parent
eb3586d777
commit
b2c66949b2
|
@ -1,4 +1,11 @@
|
||||||
import {Type, isPresent, global, stringify, BaseException} from 'angular2/src/facade/lang';
|
import {
|
||||||
|
Type,
|
||||||
|
isPresent,
|
||||||
|
isFunction,
|
||||||
|
global,
|
||||||
|
stringify,
|
||||||
|
BaseException
|
||||||
|
} from 'angular2/src/facade/lang';
|
||||||
import {List, ListWrapper} from 'angular2/src/facade/collection';
|
import {List, ListWrapper} from 'angular2/src/facade/collection';
|
||||||
import {GetterFn, SetterFn, MethodFn} from './types';
|
import {GetterFn, SetterFn, MethodFn} from './types';
|
||||||
import {PlatformReflectionCapabilities} from 'platform_reflection_capabilities';
|
import {PlatformReflectionCapabilities} from 'platform_reflection_capabilities';
|
||||||
|
@ -118,7 +125,11 @@ export class ReflectionCapabilities implements PlatformReflectionCapabilities {
|
||||||
annotations(typeOfFunc): List<any> {
|
annotations(typeOfFunc): List<any> {
|
||||||
// Prefer the direct API.
|
// Prefer the direct API.
|
||||||
if (isPresent(typeOfFunc.annotations)) {
|
if (isPresent(typeOfFunc.annotations)) {
|
||||||
return typeOfFunc.annotations;
|
var annotations = typeOfFunc.annotations;
|
||||||
|
if (isFunction(annotations) && annotations.annotations) {
|
||||||
|
annotations = annotations.annotations;
|
||||||
|
}
|
||||||
|
return annotations;
|
||||||
}
|
}
|
||||||
if (isPresent(this._reflect) && isPresent(this._reflect.getMetadata)) {
|
if (isPresent(this._reflect) && isPresent(this._reflect.getMetadata)) {
|
||||||
var annotations = this._reflect.getMetadata('annotations', typeOfFunc);
|
var annotations = this._reflect.getMetadata('annotations', typeOfFunc);
|
||||||
|
|
|
@ -11,6 +11,7 @@ import {
|
||||||
} from 'angular2/test_lib';
|
} from 'angular2/test_lib';
|
||||||
|
|
||||||
import {Component, View, Directive} from 'angular2/angular2';
|
import {Component, View, Directive} from 'angular2/angular2';
|
||||||
|
import {reflector} from 'angular2/src/reflection/reflection';
|
||||||
|
|
||||||
export function main() {
|
export function main() {
|
||||||
describe('es5 decorators', () => {
|
describe('es5 decorators', () => {
|
||||||
|
@ -24,5 +25,12 @@ export function main() {
|
||||||
Component({}).View({}).View({}).Class({constructor: function() { this.works = true; }});
|
Component({}).View({}).View({}).Class({constructor: function() { this.works = true; }});
|
||||||
expect(new MyComponent().works).toEqual(true);
|
expect(new MyComponent().works).toEqual(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should create type in ES5', () => {
|
||||||
|
function MyComponent(){};
|
||||||
|
var as;
|
||||||
|
(<any>MyComponent).annotations = as = Component({}).View({});
|
||||||
|
expect(reflector.annotations(MyComponent)).toEqual(as.annotations);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue