feat(lang): support const expressions in TS/JS and Dart

Closes #1796
This commit is contained in:
Pawel Kozlowski 2015-05-10 13:26:33 +02:00
parent e8ad0d1776
commit 4665726f48
2 changed files with 14 additions and 1 deletions

View File

@ -40,6 +40,11 @@ if (assertionsEnabled_) {
}
export {int};
// This function is needed only to properly support Dart's const expressions
// see https://github.com/angular/ts2dart/pull/151 for more info
export function CONST_EXPR<T>(expr: T): T {
return expr;
};
export function CONST() {
return (target) => target;
};

View File

@ -1,7 +1,7 @@
import {describe, it, expect, beforeEach, ddescribe, iit, xit, el} from 'angular2/test_lib';
import {ListWrapper} from 'angular2/src/facade/collection';
import {isPresent, RegExpWrapper, RegExpMatcherWrapper} from 'angular2/src/facade/lang';
import {isPresent, RegExpWrapper, RegExpMatcherWrapper, CONST_EXPR} from 'angular2/src/facade/lang';
export function main() {
describe('RegExp', () => {
@ -21,4 +21,12 @@ export function main() {
expect(indexes).toEqual([1, 4, 8, 9]);
})
});
describe('const', () => {
it('should support const expressions both in TS and Dart', () => {
const numbers = CONST_EXPR([1, 2, 3]);
expect(numbers).toEqual([1, 2, 3]);
})
});
}