feat(decorators): adds decorators to be used by TS and Babel transpiled apps.

This commit is contained in:
Rado Kirov 2015-04-28 18:17:00 -07:00
parent 648c514c28
commit fb67e37339
116 changed files with 2995 additions and 1805 deletions

View File

@ -647,10 +647,13 @@ gulp.task('bundle.js.min.deps', ['bundle.js.min'], function() {
.pipe(gulp.dest('dist/bundle'));
});
var JS_DEV_DEPS = ['node_modules/zone.js/zone.js', 'node_modules/zone.js/long-stack-trace-zone.js'];
var JS_DEV_DEPS = ['node_modules/zone.js/zone.js',
'node_modules/zone.js/long-stack-trace-zone.js',
'node_modules/reflect-metadata/Reflect.js'];
gulp.task('bundle.js.dev.deps', ['bundle.js.dev'], function() {
return bundler.modify(JS_DEV_DEPS.concat(['dist/build/angular2.dev.js']), 'angular2.dev.js')
.pipe(insert.append('\nSystem.config({"paths":{"*":"*.js","angular2/*":"angular2/*"}});\n'))
.pipe(insert.append('\nzone = zone.fork(Zone.longStackTraceZone);\n'))
.pipe(gulp.dest('dist/bundle'));
});

View File

@ -19,6 +19,7 @@ module.exports = function(config) {
'node_modules/systemjs/lib/extension-register.js',
'node_modules/systemjs/lib/extension-cjs.js',
'node_modules/rx/dist/rx.all.js',
'node_modules/reflect-metadata/Reflect.js',
'node_modules/zone.js/zone.js',
'node_modules/zone.js/long-stack-trace-zone.js',

View File

@ -9,3 +9,4 @@
*
*/
export * from './src/core/annotations/annotations';
export * from './src/core/decorators/decorators';

View File

@ -21,4 +21,5 @@ interface Window {
assert: typeof assert;
NaN: typeof NaN;
gc(): void;
Reflect: any;
}

View File

@ -0,0 +1,8 @@
/**
* This indirection is needed for TS compilation path.
* See comment in annotations.es6.
*/
library angular2.core.annotations.annotations;
export "../annotations_impl/annotations.dart";

View File

@ -0,0 +1,13 @@
/**
* This indirection is needed to free up Component, etc symbols in the public API
* to be used by the decorator versions of these annotations.
*/
export {
Component as ComponentAnnotation,
Decorator as DecoratorAnnotation,
Directive as DirectiveAnnotation,
DynamicComponent as DynamicComponentAnnotation,
Viewport as ViewportAnnotation,
onDestroy, onChange, onAllChangesDone
} from '../annotations_impl/annotations';

View File

@ -0,0 +1,3 @@
library angular2.core.annotations.di;
export "../annotations_impl/di.dart";

View File

@ -0,0 +1,4 @@
export {
Query as QueryAnnotation,
Attribute as AttributeAnnotation,
} from '../annotations_impl/di';

View File

@ -0,0 +1,3 @@
library angular2.core.annotations.view;
export "../annotations_impl/view.dart";

View File

@ -0,0 +1,3 @@
export {
View as ViewAnnotation,
} from '../annotations_impl/view';

View File

@ -0,0 +1,3 @@
library angular2.core.annotations.visibility;
export "../annotations_impl/visibility.dart";

View File

@ -0,0 +1,4 @@
export {
Ancestor as AncestorAnnotation,
Parent as ParentAnnotation,
} from '../annotations_impl/visibility';

View File

@ -1,6 +1,6 @@
library angular2.src.core.compiler.base_query_list;
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.dart';
import 'dart:collection';
/**

View File

@ -1,5 +1,5 @@
import {List, MapWrapper, ListWrapper} from 'angular2/src/facade/collection';
import {Directive} from 'angular2/src/core/annotations/annotations';
import {Directive} from 'angular2/src/core/annotations_impl/annotations';
/**
* Injectable Objects that contains a live list of child directives in the light Dom of a directive.

View File

@ -4,12 +4,12 @@ import {Promise, PromiseWrapper} from 'angular2/src/facade/async';
import {List, ListWrapper, Map, MapWrapper} from 'angular2/src/facade/collection';
import {DirectiveMetadataReader} from './directive_metadata_reader';
import {Component, Viewport, DynamicComponent, Decorator} from '../annotations/annotations';
import {Component, Viewport, DynamicComponent, Decorator} from '../annotations_impl/annotations';
import {AppProtoView} from './view';
import {ProtoViewRef} from './view_ref';
import {DirectiveBinding} from './element_injector';
import {TemplateResolver} from './template_resolver';
import {View} from '../annotations/view';
import {View} from '../annotations_impl/view';
import {ComponentUrlMapper} from './component_url_mapper';
import {ProtoViewFactory} from './proto_view_factory';
import {UrlResolver} from 'angular2/src/services/url_resolver';

View File

@ -1,6 +1,6 @@
import {Type} from 'angular2/src/facade/lang';
import {List} from 'angular2/src/facade/collection';
import {Directive} from 'angular2/src/core/annotations/annotations'
import {Directive} from 'angular2/src/core/annotations_impl/annotations'
import {ResolvedBinding} from 'angular2/di';
/**

View File

@ -1,6 +1,6 @@
import {Injectable, Injector} from 'angular2/di';
import {Type, isPresent, BaseException, stringify} from 'angular2/src/facade/lang';
import {Directive, Component} from '../annotations/annotations';
import {Directive, Component} from '../annotations_impl/annotations';
import {DirectiveMetadata} from './directive_metadata';
import {reflector} from 'angular2/src/reflection/reflection';

View File

@ -4,14 +4,14 @@ import {Math} from 'angular2/src/facade/math';
import {List, ListWrapper, MapWrapper} from 'angular2/src/facade/collection';
import {Injector, Key, Dependency, bind, Binding, ResolvedBinding, NoBindingError,
AbstractBindingError, CyclicDependencyError} from 'angular2/di';
import {Parent, Ancestor} from 'angular2/src/core/annotations/visibility';
import {Attribute, Query} from 'angular2/src/core/annotations/di';
import {Parent, Ancestor} from 'angular2/src/core/annotations_impl/visibility';
import {Attribute, Query} from 'angular2/src/core/annotations_impl/di';
import * as viewModule from './view';
import * as avmModule from './view_manager';
import {ViewContainerRef} from './view_container_ref';
import {ElementRef} from './element_ref';
import {ProtoViewRef, ViewRef} from './view_ref';
import {Directive, Component, onChange, onDestroy, onAllChangesDone} from 'angular2/src/core/annotations/annotations';
import {Directive, Component, onChange, onDestroy, onAllChangesDone} from 'angular2/src/core/annotations_impl/annotations';
import {ChangeDetector, ChangeDetectorRef} from 'angular2/change_detection';
import {QueryList} from './query_list';
import {reflector} from 'angular2/src/reflection/reflection';

View File

@ -4,7 +4,7 @@ import {isPresent, isBlank} from 'angular2/src/facade/lang';
import {reflector} from 'angular2/src/reflection/reflection';
import {ChangeDetection, DirectiveIndex} from 'angular2/change_detection';
import {Component, Viewport, DynamicComponent} from '../annotations/annotations';
import {Component, Viewport, DynamicComponent} from '../annotations_impl/annotations';
import * as renderApi from 'angular2/src/render/api';
import {AppProtoView} from './view';

View File

@ -1,5 +1,5 @@
import {Injectable} from 'angular2/di';
import {View} from 'angular2/src/core/annotations/view';
import {View} from 'angular2/src/core/annotations_impl/view';
import {Type, stringify, isBlank, BaseException} from 'angular2/src/facade/lang';
import {Map, MapWrapper, List, ListWrapper} from 'angular2/src/facade/collection';

View File

@ -0,0 +1,3 @@
library angular2.core.decorators;
/* This file is empty because, Dart does not have decorators. */

View File

@ -0,0 +1,40 @@
import {
ComponentAnnotation,
DecoratorAnnotation,
DynamicComponentAnnotation,
ViewportAnnotation} from '../annotations/annotations';
import {ViewAnnotation} from '../annotations/view';
import {AncestorAnnotation, ParentAnnotation} from '../annotations/visibility';
import {AttributeAnnotation, QueryAnnotation} from '../annotations/di';
function makeDecorator(annotationCls) {
return function(...args) {
if (!(window.Reflect && !window.Reflect.getMetadata)) throw 'reflect-metadata shim is required';
var annotationInstance = new annotationCls(...args);
var Reflect = window.Reflect;
return function(cls) {
var annotations = Reflect.getMetadata('annotations', cls);
annotations = annotations || [];
annotations.push(annotationInstance);
Reflect.defineMetadata('annotations', annotations, cls);
return cls;
}
}
}
/* from annotations */
export var Component = makeDecorator(ComponentAnnotation);
export var Decorator = makeDecorator(DecoratorAnnotation);
export var DynamicComponent = makeDecorator(DynamicComponentAnnotation);
export var Viewport = makeDecorator(ViewportAnnotation);
/* from di */
export var Attribute = makeDecorator(AttributeAnnotation);
export var Query = makeDecorator(QueryAnnotation);
/* from view */
export var View = makeDecorator(ViewAnnotation);
/* from visiblity */
export var Ancestor = makeDecorator(AncestorAnnotation);
export var Parent = makeDecorator(ParentAnnotation);

View File

@ -1,4 +1,4 @@
import {Decorator} from 'angular2/src/core/annotations/annotations';
import {Decorator} from 'angular2/src/core/annotations_impl/annotations';
import {isPresent} from 'angular2/src/facade/lang';
import {DOM} from 'angular2/src/dom/dom_adapter';
import {ElementRef} from 'angular2/src/core/compiler/element_ref';

View File

@ -1,4 +1,4 @@
import {Viewport} from 'angular2/src/core/annotations/annotations';
import {Viewport} from 'angular2/src/core/annotations_impl/annotations';
import {ViewContainerRef} from 'angular2/src/core/compiler/view_container_ref';
import {ViewRef} from 'angular2/src/core/compiler/view_ref';
import {isPresent, isBlank} from 'angular2/src/facade/lang';

View File

@ -1,4 +1,4 @@
import {Viewport} from 'angular2/src/core/annotations/annotations';
import {Viewport} from 'angular2/src/core/annotations_impl/annotations';
import {ViewContainerRef} from 'angular2/src/core/compiler/view_container_ref';
import {isBlank} from 'angular2/src/facade/lang';

View File

@ -1,4 +1,4 @@
import {Decorator} from 'angular2/src/core/annotations/annotations';
import {Decorator} from 'angular2/src/core/annotations_impl/annotations';
/**
* The `NonBindable` directive tells Angular not to compile or bind the contents of the current

View File

@ -1,8 +1,8 @@
import {Decorator, Viewport} from 'angular2/src/core/annotations/annotations';
import {Decorator, Viewport} from 'angular2/src/core/annotations_impl/annotations';
import {ViewContainerRef} from 'angular2/src/core/compiler/view_container_ref';
import {isPresent, isBlank, normalizeBlank} from 'angular2/src/facade/lang';
import {ListWrapper, List, MapWrapper, Map} from 'angular2/src/facade/collection';
import {Parent} from 'angular2/src/core/annotations/visibility';
import {Parent} from 'angular2/src/core/annotations_impl/visibility';
/**
* The `Switch` directive is used to conditionally swap DOM structure on your template based on a

View File

@ -1,5 +1,5 @@
import {Decorator, onChange} from 'angular2/src/core/annotations/annotations';
import {Ancestor} from 'angular2/src/core/annotations/visibility';
import {Decorator, onChange} from 'angular2/src/core/annotations_impl/annotations';
import {Ancestor} from 'angular2/src/core/annotations_impl/visibility';
import {ElementRef} from 'angular2/src/core/compiler/element_ref';
import {Optional} from 'angular2/di';
import {Renderer} from 'angular2/src/render/api';

View File

@ -1,4 +1,5 @@
import {Decorator} from 'angular2/src/core/annotations/annotations';
import {Decorator} from 'angular2/src/core/annotations_impl/annotations';
import {Validators} from './validators';
import {ControlDirective} from './directives';
@ -9,4 +10,4 @@ export class RequiredValidatorDirective {
constructor(c:ControlDirective) {
c.validator = Validators.compose([c.validator, Validators.required]);
}
}
}

View File

@ -1,7 +1,7 @@
import {Map, MapWrapper, ListWrapper} from 'angular2/src/facade/collection';
import {Type, isPresent, BaseException, stringify, isBlank} from 'angular2/src/facade/lang';
import {View} from 'angular2/src/core/annotations/view';
import {View} from 'angular2/src/core/annotations_impl/view';
import {TemplateResolver} from 'angular2/src/core/compiler/template_resolver';
export class MockTemplateResolver extends TemplateResolver {

View File

@ -33,13 +33,30 @@ export class ReflectionCapabilities {
}
parameters(typeOfFunc):List<List> {
return isPresent(typeOfFunc.parameters) ?
typeOfFunc.parameters :
ListWrapper.createFixedSize(typeOfFunc.length);
// Prefer the direct API.
if (isPresent(typeOfFunc.parameters)) {
return typeOfFunc.parameters;
}
if (isPresent(window.Reflect) && isPresent(window.Reflect.getMetadata)) {
var paramtypes = window.Reflect.getMetadata('design:paramtypes', typeOfFunc);
if (isPresent(paramtypes)) {
// TODO(rado): add parameter annotations here.
return paramtypes.map((p) => [p]);
}
}
return ListWrapper.createFixedSize(typeOfFunc.length);
}
annotations(typeOfFunc):List {
return isPresent(typeOfFunc.annotations) ? typeOfFunc.annotations : [];
// Prefer the direct API.
if (isPresent(typeOfFunc.annotations)) {
return typeOfFunc.annotations;
}
if (isPresent(window.Reflect) && isPresent(window.Reflect.getMetadata)) {
var annotations = window.Reflect.getMetadata('annotations', typeOfFunc);
if (isPresent(annotations)) return annotations;
}
return [];
}
getter(name:string):GetterFn {
@ -56,4 +73,4 @@ export class ReflectionCapabilities {
`if (!${method}) throw new Error('"${name}" is undefined');` +
`return ${method}.apply(o, args);`);
}
}
}

View File

@ -1,4 +1,4 @@
import {Type, isPresent} from 'angular2/src/facade/lang';
import {Type, isPresent, global} from 'angular2/src/facade/lang';
import {List, ListWrapper} from 'angular2/src/facade/collection';
import {GetterFn, SetterFn, MethodFn} from './types';
@ -46,12 +46,30 @@ export class ReflectionCapabilities {
}
parameters(typeOfFunc): List<List<any>> {
return isPresent(typeOfFunc.parameters) ? typeOfFunc.parameters :
ListWrapper.createFixedSize(typeOfFunc.length);
// Prefer the direct API.
if (isPresent(typeOfFunc.parameters)) {
return typeOfFunc.parameters;
}
if (isPresent(global.Reflect) && isPresent(global.Reflect.getMetadata)) {
var paramtypes = global.Reflect.getMetadata('design:paramtypes', typeOfFunc);
if (isPresent(paramtypes)) {
// TODO(rado): add parameter annotations here.
return paramtypes.map((p) => [p]);
}
}
return ListWrapper.createFixedSize(typeOfFunc.length);
}
annotations(typeOfFunc): List<any> {
return isPresent(typeOfFunc.annotations) ? typeOfFunc.annotations : [];
// Prefer the direct API.
if (isPresent(typeOfFunc.annotations)) {
return typeOfFunc.annotations;
}
if (isPresent(global.Reflect) && isPresent(global.Reflect.getMetadata)) {
var annotations = global.Reflect.getMetadata('annotations', typeOfFunc);
if (isPresent(annotations)) return annotations;
}
return [];
}
getter(name: string): GetterFn { return new Function('o', 'return o.' + name + ';'); }

View File

@ -1,4 +1,4 @@
import {Decorator} from 'angular2/annotations';
import {Decorator} from 'angular2/src/core/annotations_impl/annotations';
import {ElementRef} from 'angular2/core';
import {isPresent} from 'angular2/src/facade/lang';

View File

@ -1,6 +1,6 @@
import {Promise, PromiseWrapper} from 'angular2/src/facade/async';
import {Decorator} from 'angular2/annotations';
import {Decorator} from 'angular2/src/core/annotations_impl/annotations';
import {Compiler, ViewContainerRef} from 'angular2/core';
import {Injector, bind} from 'angular2/di';

View File

@ -5,7 +5,7 @@ import {Promise} from 'angular2/src/facade/async';
import {isBlank} from 'angular2/src/facade/lang';
import {List} from 'angular2/src/facade/collection';
import {View} from 'angular2/src/core/annotations/view';
import {View} from 'angular2/src/core/annotations_impl/view';
import {TemplateResolver} from 'angular2/src/core/compiler/template_resolver';
import {AppView} from 'angular2/src/core/compiler/view';

View File

@ -1,5 +1,5 @@
import {ddescribe, describe, it, iit, expect, beforeEach} from 'angular2/test_lib';
import {Directive, onChange} from 'angular2/src/core/annotations/annotations';
import {Directive, onChange} from 'angular2/src/core/annotations_impl/annotations';
class DummyDirective extends Directive {
constructor({lifecycle} = {}) { super({lifecycle: lifecycle}); }

View File

@ -12,12 +12,12 @@ import {
} from 'angular2/test_lib';
import {bootstrap} from 'angular2/src/core/application';
import {appDocumentToken, appElementToken} from 'angular2/src/core/application_tokens';
import {Component, Decorator} from 'angular2/src/core/annotations/annotations';
import {Component, Decorator} from 'angular2/src/core/annotations_impl/annotations';
import {DOM} from 'angular2/src/dom/dom_adapter';
import {ListWrapper} from 'angular2/src/facade/collection';
import {PromiseWrapper} from 'angular2/src/facade/async';
import {bind, Inject} from 'angular2/di';
import {View} from 'angular2/src/core/annotations/view';
import {View} from 'angular2/src/core/annotations_impl/view';
import {LifeCycle} from 'angular2/src/core/life_cycle/life_cycle';
import {Testability, TestabilityRegistry} from 'angular2/src/core/testability/testability';

View File

@ -21,9 +21,9 @@ import {Compiler, CompilerCache} from 'angular2/src/core/compiler/compiler';
import {AppProtoView} from 'angular2/src/core/compiler/view';
import {ElementBinder} from 'angular2/src/core/compiler/element_binder';
import {DirectiveMetadataReader} from 'angular2/src/core/compiler/directive_metadata_reader';
import {Component, DynamicComponent, Viewport, Decorator} from 'angular2/src/core/annotations/annotations';
import {Attribute} from 'angular2/src/core/annotations/di';
import {View} from 'angular2/src/core/annotations/view';
import {Component, DynamicComponent, Viewport, Decorator} from 'angular2/src/core/annotations_impl/annotations';
import {Attribute} from 'angular2/src/core/annotations_impl/di';
import {View} from 'angular2/src/core/annotations_impl/view';
import {internalProtoView} from 'angular2/src/core/compiler/view_ref';
import {DirectiveBinding} from 'angular2/src/core/compiler/element_injector';
import {TemplateResolver} from 'angular2/src/core/compiler/template_resolver';

View File

@ -2,7 +2,7 @@ import {isPresent} from 'angular2/src/facade/lang';
import {ListWrapper} from 'angular2/src/facade/collection';
import {ddescribe, describe, it, iit, expect, beforeEach} from 'angular2/test_lib';
import {DirectiveMetadataReader} from 'angular2/src/core/compiler/directive_metadata_reader';
import {Decorator, Component, Viewport} from 'angular2/src/core/annotations/annotations';
import {Decorator, Component, Viewport} from 'angular2/src/core/annotations_impl/annotations';
import {DirectiveMetadata} from 'angular2/src/core/compiler/directive_metadata';
import {Injectable, Injector} from 'angular2/di';

View File

@ -16,8 +16,8 @@ import {
import {TestBed} from 'angular2/src/test_lib/test_bed';
import {Decorator, Component, Viewport, DynamicComponent} from 'angular2/src/core/annotations/annotations';
import {View} from 'angular2/src/core/annotations/view';
import {Decorator, Component, Viewport, DynamicComponent} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
import {DynamicComponentLoader} from 'angular2/src/core/compiler/dynamic_component_loader';
import {ElementRef} from 'angular2/src/core/compiler/element_ref';
import {If} from 'angular2/src/directives/if';
@ -304,4 +304,4 @@ class MyComp {
constructor() {
this.ctxBoolProp = false;
}
}
}

View File

@ -3,15 +3,14 @@ import {isBlank, isPresent, IMPLEMENTS} from 'angular2/src/facade/lang';
import {ListWrapper, MapWrapper, List, StringMapWrapper, iterateListLike} from 'angular2/src/facade/collection';
import {ProtoElementInjector, PreBuiltObjects, DirectiveBinding, TreeNode}
from 'angular2/src/core/compiler/element_injector';
import {Parent, Ancestor} from 'angular2/src/core/annotations/visibility';
import {Attribute, Query} from 'angular2/src/core/annotations/di';
import {onDestroy} from 'angular2/src/core/annotations/annotations';
import {Parent, Ancestor} from 'angular2/src/core/annotations_impl/visibility';
import {Attribute, Query} from 'angular2/src/core/annotations_impl/di';
import {Directive, onDestroy} from 'angular2/src/core/annotations_impl/annotations';
import {Optional, Injector, Inject, bind} from 'angular2/di';
import {AppProtoView, AppView} from 'angular2/src/core/compiler/view';
import {ViewContainerRef} from 'angular2/src/core/compiler/view_container_ref';
import {ProtoViewRef} from 'angular2/src/core/compiler/view_ref';
import {ElementRef} from 'angular2/src/core/compiler/element_ref';
import {Directive} from 'angular2/src/core/annotations/annotations';
import {DynamicChangeDetector, ChangeDetectorRef, Parser, Lexer} from 'angular2/change_detection';
import {ViewRef, Renderer} from 'angular2/src/render/api';
import {QueryList} from 'angular2/src/core/compiler/query_list';

View File

@ -24,10 +24,10 @@ import {Injector, bind} from 'angular2/di';
import {PipeRegistry, defaultPipeRegistry,
ChangeDetection, DynamicChangeDetection, Pipe, ChangeDetectorRef, ON_PUSH} from 'angular2/change_detection';
import {Decorator, Component, Viewport, DynamicComponent} from 'angular2/src/core/annotations/annotations';
import {View} from 'angular2/src/core/annotations/view';
import {Parent, Ancestor} from 'angular2/src/core/annotations/visibility';
import {Attribute} from 'angular2/src/core/annotations/di';
import {Decorator, Component, Viewport, DynamicComponent} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
import {Parent, Ancestor} from 'angular2/src/core/annotations_impl/visibility';
import {Attribute} from 'angular2/src/core/annotations_impl/di';
import {If} from 'angular2/src/directives/if';

View File

@ -15,9 +15,12 @@ import {
import {TestBed} from 'angular2/src/test_lib/test_bed';
import {QueryList} from 'angular2/src/core/compiler/query_list';
import {Query} from 'angular2/src/core/annotations/di';
import {Query} from 'angular2/src/core/annotations_impl/di';
import {Decorator, Component, View, If, For} from 'angular2/angular2';
import {If, For} from 'angular2/angular2';
import {Component, Decorator} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
import {BrowserDomAdapter} from 'angular2/src/dom/browser_adapter';

View File

@ -25,7 +25,7 @@ import {Renderer, RenderViewRef, RenderProtoViewRef, RenderViewContainerRef} fro
import {ElementBinder} from 'angular2/src/core/compiler/element_binder';
import {DirectiveBinding, ElementInjector} from 'angular2/src/core/compiler/element_injector';
import {DirectiveMetadataReader} from 'angular2/src/core/compiler/directive_metadata_reader';
import {Component} from 'angular2/src/core/annotations/annotations';
import {Component} from 'angular2/src/core/annotations_impl/annotations';
import {AppViewManager} from 'angular2/src/core/compiler/view_manager';
import {AppViewManagerUtils} from 'angular2/src/core/compiler/view_manager_utils';
import {AppViewPool} from 'angular2/src/core/compiler/view_pool';

View File

@ -24,7 +24,7 @@ import {ChangeDetector} from 'angular2/change_detection';
import {ElementBinder} from 'angular2/src/core/compiler/element_binder';
import {DirectiveBinding, ElementInjector, ElementRef} from 'angular2/src/core/compiler/element_injector';
import {DirectiveMetadataReader} from 'angular2/src/core/compiler/directive_metadata_reader';
import {Component} from 'angular2/src/core/annotations/annotations';
import {Component} from 'angular2/src/core/annotations_impl/annotations';
import {AppViewManagerUtils} from 'angular2/src/core/compiler/view_manager_utils';
export function main() {

View File

@ -15,8 +15,8 @@ import {
import {StringMapWrapper} from 'angular2/src/facade/collection';
import {View} from 'angular2/src/core/annotations/view';
import {Component} from 'angular2/src/core/annotations/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
import {Component} from 'angular2/src/core/annotations_impl/annotations';
import {TestBed} from 'angular2/src/test_lib/test_bed';

View File

@ -15,8 +15,8 @@ import {
import {DOM} from 'angular2/src/dom/dom_adapter';
import {ListWrapper} from 'angular2/src/facade/collection';
import {Component} from 'angular2/src/core/annotations/annotations';
import {View} from 'angular2/src/core/annotations/view';
import {Component} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
import {For} from 'angular2/src/directives/for';

View File

@ -16,8 +16,8 @@ import {DOM} from 'angular2/src/dom/dom_adapter';
import {TestBed} from 'angular2/src/test_lib/test_bed';
import {Component} from 'angular2/src/core/annotations/annotations';
import {View} from 'angular2/src/core/annotations/view';
import {Component} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
import {If} from 'angular2/src/directives/if';

View File

@ -12,8 +12,8 @@ import {
} from 'angular2/test_lib';
import {DOM} from 'angular2/src/dom/dom_adapter';
import {Decorator, Component} from 'angular2/src/core/annotations/annotations';
import {View} from 'angular2/src/core/annotations/view';
import {Decorator, Component} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
import {ElementRef} from 'angular2/src/core/compiler/element_ref';

View File

@ -12,8 +12,8 @@ import {
} from 'angular2/test_lib';
import {DOM} from 'angular2/src/dom/dom_adapter';
import {Component} from 'angular2/src/core/annotations/annotations';
import {View} from 'angular2/src/core/annotations/view';
import {Component} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
import {Switch, SwitchWhen, SwitchDefault} from 'angular2/src/directives/switch';

View File

@ -16,7 +16,8 @@ import {DOM} from 'angular2/src/dom/dom_adapter';
import {Inject} from 'angular2/di';
import {Component, Decorator, View} from 'angular2/angular2';
import {Component, Decorator} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
import {TestBed} from 'angular2/src/test_lib/test_bed';
@ -25,7 +26,7 @@ import {ControlGroupDirective, ControlDirective, Control, ControlGroup, Required
export function main() {
describe("integration tests", () => {
it("should initialize DOM elements with the given form object",
inject([TestBed, AsyncTestCompleter], (tb, async) => {
var ctx = new MyComp(new ControlGroup({

View File

@ -10,8 +10,8 @@ import {
import {MockTemplateResolver} from 'angular2/src/mock/template_resolver_mock';
import {Component} from 'angular2/src/core/annotations/annotations';
import {View} from 'angular2/src/core/annotations/view';
import {Component} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
import {isBlank} from 'angular2/src/facade/lang';

View File

@ -16,8 +16,8 @@ import {
import {TestBed} from 'angular2/test';
import {Injector, bind} from 'angular2/di';
import {Component, Viewport} from 'angular2/annotations';
import {View} from 'angular2/src/core/annotations/view';
import {Component, Viewport} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
import {RootRouter} from 'angular2/src/router/router';
import {Pipeline} from 'angular2/src/router/pipeline';

View File

@ -1,7 +1,7 @@
library bar.ng_deps.dart;
import 'bar.dart';
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.dart';
var _visited = false;
void initReflector(reflector) {

View File

@ -1,7 +1,7 @@
library bar.ng_deps.dart;
import 'bar.dart';
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.dart';
var _visited = false;
void initReflector(reflector) {

View File

@ -1,6 +1,6 @@
library dinner.soup.ng_deps.dart;
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.dart';
import 'soup.dart';
var _visited = false;

View File

@ -1,6 +1,6 @@
library dinner.soup.ng_deps.dart;
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.dart';
import 'soup.dart';
var _visited = false;

View File

@ -1,7 +1,7 @@
library bar.ng_deps.dart;
import 'bar.dart';
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.dart';
export 'foo.dart';
var _visited = false;

View File

@ -1,7 +1,7 @@
library bar.ng_deps.dart;
import 'bar.dart';
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.dart';
export 'foo.dart';
import 'foo.ng_deps.dart' as i0;

View File

@ -1,7 +1,7 @@
library foo.ng_deps.dart;
import 'foo.dart';
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.dart';
var _visited = false;
void initReflector(reflector) {

View File

@ -1,7 +1,7 @@
library foo.ng_deps.dart;
import 'foo.dart';
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.dart';
var _visited = false;
void initReflector(reflector) {

View File

@ -1,7 +1,7 @@
library bar.ng_deps.dart;
import 'bar.dart';
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.dart';
import 'foo.dart' as dep;
var _visited = false;

View File

@ -1,7 +1,7 @@
library bar.ng_deps.dart;
import 'bar.dart';
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.dart';
import 'foo.dart' as dep;
import 'foo.ng_deps.dart' as i0;

View File

@ -1,7 +1,7 @@
library foo.ng_deps.dart;
import 'foo.dart';
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.dart';
var _visited = false;
void initReflector(reflector) {

View File

@ -1,7 +1,7 @@
library foo.ng_deps.dart;
import 'foo.dart';
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.dart';
var _visited = false;
void initReflector(reflector) {

View File

@ -1,7 +1,7 @@
library dinner.soup.ng_deps.dart;
import 'soup.dart';
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.dart';
var _visited = false;
void initReflector(reflector) {

View File

@ -1,6 +1,6 @@
library dinner.soup;
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.dart';
@Component(selector: '[soup]')
class SoupComponent {

View File

@ -38,8 +38,8 @@ void allTests() {
* every test.
*/
var commonInputs = {
'angular2|lib/src/core/annotations/annotations.dart':
'../../../lib/src/core/annotations/annotations.dart',
'angular2|lib/src/core/annotations_impl/annotations.dart':
'../../../lib/src/core/annotations_impl/annotations.dart',
'angular2|lib/src/core/application.dart': '../common/application.dart',
'angular2|lib/src/reflection/reflection_capabilities.dart':
'../common/reflection_capabilities.dart',
@ -96,8 +96,8 @@ void allTests() {
inputs: {
'a|web/index.dart': 'two_annotations_files/index.dart',
'a|web/bar.dart': 'two_annotations_files/bar.dart',
'angular2|lib/src/core/annotations/view.dart':
'../../../lib/src/core/annotations/view.dart'
'angular2|lib/src/core/annotations_impl/view.dart':
'../../../lib/src/core/annotations_impl/view.dart'
},
outputs: {
'a|web/bar.ng_deps.dart':

View File

@ -1,6 +1,6 @@
library bar;
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.dart';
import 'foo.dart';
@Component(componentServices: const [MyContext])

View File

@ -1,8 +1,8 @@
library bar.ng_deps.dart;
import 'bar.dart';
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations/annotations.ng_deps.dart' as i0;
import 'package:angular2/src/core/annotations_impl/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.ng_deps.dart' as i0;
import 'foo.dart';
import 'foo.ng_deps.dart' as i1;

View File

@ -1,6 +1,6 @@
library bar;
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.dart';
@Component(selector: '[soup]')
class MyComponent {

View File

@ -1,8 +1,8 @@
library bar.ng_deps.dart;
import 'bar.dart';
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations/annotations.ng_deps.dart' as i0;
import 'package:angular2/src/core/annotations_impl/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.ng_deps.dart' as i0;
var _visited = false;
void initReflector(reflector) {

View File

@ -1,6 +1,6 @@
library bar;
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.dart';
@Component(selector: '[soup]')
class MyComponent {}

View File

@ -1,8 +1,8 @@
library bar.ng_deps.dart;
import 'bar.dart';
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations/annotations.ng_deps.dart' as i0;
import 'package:angular2/src/core/annotations_impl/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.ng_deps.dart' as i0;
var _visited = false;
void initReflector(reflector) {

View File

@ -1,7 +1,7 @@
library bar;
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations/view.dart';
import 'package:angular2/src/core/annotations_impl/annotations.dart';
import 'package:angular2/src/core/annotations_impl/view.dart';
@Component(selector: '[soup]')
@View(template: 'Salad')

View File

@ -1,10 +1,10 @@
library bar.ng_deps.dart;
import 'bar.dart';
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations/annotations.ng_deps.dart' as i0;
import 'package:angular2/src/core/annotations/view.dart';
import 'package:angular2/src/core/annotations/view.ng_deps.dart' as i1;
import 'package:angular2/src/core/annotations_impl/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.ng_deps.dart' as i0;
import 'package:angular2/src/core/annotations_impl/view.dart';
import 'package:angular2/src/core/annotations_impl/view.ng_deps.dart' as i1;
var _visited = false;
void initReflector(reflector) {

View File

@ -1,6 +1,6 @@
library bar;
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.dart';
import 'foo.dart' as prefix;
@Component(selector: prefix.preDefinedSelector)

View File

@ -1,8 +1,8 @@
library bar.ng_deps.dart;
import 'bar.dart';
import 'package:angular2/src/core/annotations/annotations.dart';
import 'package:angular2/src/core/annotations/annotations.ng_deps.dart' as i0;
import 'package:angular2/src/core/annotations_impl/annotations.dart';
import 'package:angular2/src/core/annotations_impl/annotations.ng_deps.dart' as i0;
import 'foo.dart' as prefix;
import 'foo.ng_deps.dart' as i1;

View File

@ -1,5 +1,5 @@
import {Component, View} from 'angular2/angular2';
import {onChange} from 'angular2/src/core/annotations/annotations';
import {Component, onChange} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
import {isPresent} from 'angular2/src/facade/lang';

View File

@ -1,4 +1,6 @@
import {Component, View, Attribute} from 'angular2/angular2';
import {Component} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
import {Attribute} from 'angular2/src/core/annotations_impl/di';
import {isPresent} from 'angular2/src/facade/lang';
import {KEY_SPACE} from 'angular2_material/src/core/constants'
import {KeyboardEvent} from 'angular2/src/facade/browser';

View File

@ -1,5 +1,6 @@
import {Component, View, onAllChangesDone, Parent} from 'angular2/angular2';
import {onDestroy, onChange} from 'angular2/src/core/annotations/annotations';
import {Component, onDestroy, onChange, onAllChangesDone} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
import {Parent} from 'angular2/src/core/annotations_impl/visibility';
import {ListWrapper} from 'angular2/src/facade/collection';
import {isPresent, isString, NumberWrapper, stringify} from 'angular2/src/facade/lang';

View File

@ -1,4 +1,4 @@
import {Decorator} from 'angular2/angular2';
import {Decorator} from 'angular2/src/core/annotations_impl/annotations';
@Decorator({
selector: 'md-input-container input'

View File

@ -1,4 +1,5 @@
import {Component, View} from 'angular2/angular2';
import {Component} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
@Component({
selector: 'md-progress-circular'

View File

@ -1,4 +1,6 @@
import {Component, View, Attribute, onChange} from 'angular2/angular2';
import {Component, onChange} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
import {Attribute} from 'angular2/src/core/annotations_impl/di';
import {isPresent, isBlank} from 'angular2/src/facade/lang';
import {Math} from 'angular2/src/facade/math';

View File

@ -1,7 +1,9 @@
import {Component, View, Parent, Ancestor, Attribute} from 'angular2/angular2';
import {Component, onChange} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
import {Parent, Ancestor} from 'angular2/src/core/annotations_impl/visibility';
import {Attribute} from 'angular2/src/core/annotations_impl/di';
import {Optional} from 'angular2/src/di/annotations';
import {MdRadioDispatcher} from 'angular2_material/src/components/radio/radio_dispatcher'
import {onChange} from 'angular2/src/core/annotations/annotations';
import {isPresent, StringWrapper, NumberWrapper} from 'angular2/src/facade/lang';
import {ObservableWrapper, EventEmitter} from 'angular2/src/facade/async';
import {ListWrapper} from 'angular2/src/facade/collection';

View File

@ -1,4 +1,6 @@
import {Component, View, Attribute} from 'angular2/angular2';
import {Component} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
import {Attribute} from 'angular2/src/core/annotations_impl/di';
import {isPresent} from 'angular2/src/facade/lang';
import {KEY_SPACE} from 'angular2_material/src/core/constants'
import {KeyboardEvent} from 'angular2/src/facade/browser';

View File

@ -9,9 +9,9 @@ import {Parser, Lexer, DynamicChangeDetection} from 'angular2/change_detection';
import {Compiler, CompilerCache} from 'angular2/src/core/compiler/compiler';
import {DirectiveMetadataReader} from 'angular2/src/core/compiler/directive_metadata_reader';
import {Component} from 'angular2/src/core/annotations/annotations';
import {Decorator} from 'angular2/src/core/annotations/annotations';
import {View} from 'angular2/src/core/annotations/view';
import {Component} from 'angular2/src/core/annotations_impl/annotations';
import {Decorator} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
import {TemplateLoader} from 'angular2/src/render/dom/compiler/template_loader';
import {TemplateResolver} from 'angular2/src/core/compiler/template_resolver';
import {UrlResolver} from 'angular2/src/services/url_resolver';

View File

@ -1,12 +1,8 @@
import {
bootstrap,
Component,
Decorator,
View,
DynamicComponentLoader,
ElementRef,
DynamicComponent
} from 'angular2/angular2';
ElementRef
} from 'angular2/angular2';
import {LifeCycle} from 'angular2/src/core/life_cycle/life_cycle';
import {List, ListWrapper} from 'angular2/src/facade/collection';
import {reflector} from 'angular2/src/reflection/reflection';
@ -14,6 +10,11 @@ import {ReflectionCapabilities} from 'angular2/src/reflection/reflection_capabil
import {getIntParameter, bindAction} from 'angular2/src/test_lib/benchmark_util';
import {If, For} from 'angular2/directives';
// TODO(radokirov): Once the application is transpiled by TS instead of Traceur,
// add those imports back into 'angular2/angular2';
import {Component, Decorator, DynamicComponent} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
var testList = null;
export function main() {

View File

@ -1,4 +1,9 @@
import {bootstrap, Component, View} from 'angular2/angular2';
import {bootstrap} from 'angular2/angular2';
// TODO(radokirov): Once the application is transpiled by TS instead of Traceur,
// add those imports back into 'angular2/angular2';
import {Component, Decorator, DynamicComponent} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
import {LifeCycle} from 'angular2/src/core/life_cycle/life_cycle';

View File

@ -1,6 +1,5 @@
import {int, isPresent} from 'angular2/src/facade/lang';
import {getIntParameter, bindAction} from 'angular2/src/test_lib/benchmark_util';
import {Component, View} from 'angular2/angular2';
import {PromiseWrapper} from 'angular2/src/facade/async';
import {ListWrapper} from 'angular2/src/facade/collection';
import {ScrollAreaComponent} from './scroll_area';
@ -8,6 +7,10 @@ import {If, For} from 'angular2/directives';
import {DOM} from 'angular2/src/dom/dom_adapter';
import {document} from 'angular2/src/facade/browser';
// TODO(radokirov): Once the application is transpiled by TS instead of Traceur,
// add those imports back into 'angular2/angular2';
import {Component, Decorator, DynamicComponent} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
@Component({selector: 'scroll-app'})
@View({

View File

@ -1,9 +1,13 @@
import {Component, View} from 'angular2/angular2';
import {ListWrapper, MapWrapper} from 'angular2/src/facade/collection';
import {Company, Opportunity, Offering, Account, CustomDate, STATUS_LIST}
from './common';
import {For} from 'angular2/directives';
// TODO(radokirov): Once the application is transpiled by TS instead of Traceur,
// add those imports back into 'angular2/angular2';
import {Component, Decorator, DynamicComponent} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
export class HasStyle {
style:Map;

View File

@ -1,7 +1,11 @@
import {Component, View} from 'angular2/angular2';
import {ListWrapper, MapWrapper} from 'angular2/src/facade/collection';
import {Math} from 'angular2/src/facade/math';
// TODO(radokirov): Once the application is transpiled by TS instead of Traceur,
// add those imports back into 'angular2/angular2';
import {Component, Decorator, DynamicComponent} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
import {Offering, ITEMS, ITEM_HEIGHT, VISIBLE_ITEMS, VIEW_PORT_HEIGHT,
ROW_WIDTH, HEIGHT} from './common';
import {generateOfferings} from './random_data';

View File

@ -1,9 +1,13 @@
import {Component, View} from 'angular2/angular2';
import {ListWrapper, MapWrapper} from 'angular2/src/facade/collection';
import {CompanyNameComponent, OpportunityNameComponent,
OfferingNameComponent, StageButtonsComponent, AccountCellComponent,
FormattedCellComponent} from './cells';
// TODO(radokirov): Once the application is transpiled by TS instead of Traceur,
// add those imports back into 'angular2/angular2';
import {Component, Decorator, DynamicComponent} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
import {Offering, ITEM_HEIGHT, COMPANY_NAME_WIDTH, OPPORTUNITY_NAME_WIDTH,
OFFERING_NAME_WIDTH, ACCOUNT_CELL_WIDTH, BASE_POINTS_WIDTH,
KICKER_POINTS_WIDTH, STAGE_BUTTONS_WIDTH, BUNDLES_WIDTH, DUE_DATE_WIDTH,

View File

@ -1,6 +1,11 @@
import {bootstrap, Component, Decorator, View, If, For, EventEmitter} from 'angular2/angular2';
import {bootstrap, If, For, EventEmitter} from 'angular2/angular2';
import {FormBuilder, Validators, FormDirectives, ControlGroup} from 'angular2/forms';
// TODO(radokirov): Once the application is transpiled by TS instead of Traceur,
// add those imports back into 'angular2/angular2';
import {Component, Decorator} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
// HeaderFields renders the bound header control group. It can used as follows:
//
// <survey-header [header]="header"></survey-header>

View File

@ -1,7 +1,12 @@
import {bootstrap, Component, View} from 'angular2/angular2';
import {bootstrap} from 'angular2/angular2';
import {reflector} from 'angular2/src/reflection/reflection';
import {ReflectionCapabilities} from 'angular2/src/reflection/reflection_capabilities';
// TODO(radokirov): Once the application is transpiled by TS instead of Traceur,
// add those imports back into 'angular2/angular2';
import {Component} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
@Component({selector: 'gestures-app'})
@View({templateUrl: 'template.html'})
class GesturesCmp {

View File

@ -1,6 +1,12 @@
import {Component, Decorator, View, ElementRef} from 'angular2/angular2';
import {ElementRef} from 'angular2/angular2';
import {Injectable} from 'angular2/di';
// TODO(radokirov): Once the application is transpiled by TS instead of Traceur,
// add those imports back into 'angular2/angular2';
import {Component, Decorator} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
// Angular 2.0 supports 3 basic types of directives:
// - Component - the basic building blocks of Angular 2.0 apps. Backed by
// ShadowDom.(http://www.html5rocks.com/en/tutorials/webcomponents/shadowdom/)

Some files were not shown because too many files have changed in this diff Show More