Tobias Bosch 2b34c88b69 refactor(view_compiler): codegen DI and Queries
BREAKING CHANGE:
- Renderer:
  * renderComponent method is removed form `Renderer`, only present on `RootRenderer`
  * Renderer.setDebugInfo is removed. Renderer.createElement / createText / createTemplateAnchor
    now take the DebugInfo directly.
- Query semantics:
  * Queries don't work with dynamically loaded components.
  * e.g. for router-outlet: loaded components can't be queries via @ViewQuery,
    but router-outlet emits an event `activate` now that emits the activated component
- Exception classes and the context inside changed (renamed fields)
- DebugElement.attributes is an Object and not a Map in JS any more
- ChangeDetectorGenConfig was renamed into CompilerConfig
- AppViewManager.createEmbeddedViewInContainer / AppViewManager.createHostViewInContainer
  are removed, use the methods in ViewContainerRef instead
- Change detection order changed:
  * 1. dirty check component inputs
  * 2. dirty check content children
  * 3. update render nodes

Closes #6301
Closes #6567
2016-04-13 14:43:48 -07:00

46 lines
938 B
TypeScript

/**
* @module
* @description
* The `di` module provides dependency injection container services.
*/
export {
InjectMetadata,
OptionalMetadata,
InjectableMetadata,
SelfMetadata,
HostMetadata,
SkipSelfMetadata,
DependencyMetadata
} from './di/metadata';
// we have to reexport * because Dart and TS export two different sets of types
export * from './di/decorators';
export {forwardRef, resolveForwardRef, ForwardRefFn} from './di/forward_ref';
export {Injector} from './di/injector';
export {
Binding,
ProviderBuilder,
ResolvedBinding,
ResolvedFactory,
Dependency,
bind,
Provider,
ResolvedProvider,
provide
} from './di/provider';
export {Key} from './di/key';
export {
NoProviderError,
AbstractProviderError,
CyclicDependencyError,
InstantiationError,
InvalidProviderError,
NoAnnotationError,
OutOfBoundsError
} from './di/exceptions';
export {OpaqueToken} from './di/opaque_token';