diff --git a/modules/angular2/src/facade/lang.ts b/modules/angular2/src/facade/lang.ts index d8b2b4ace4..ad57de55c6 100644 --- a/modules/angular2/src/facade/lang.ts +++ b/modules/angular2/src/facade/lang.ts @@ -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(expr: T): T { + return expr; +}; export function CONST() { return (target) => target; }; diff --git a/modules/angular2/test/facade/lang_spec.js b/modules/angular2/test/facade/lang_spec.js index 3e6929d05c..29ab544032 100644 --- a/modules/angular2/test/facade/lang_spec.js +++ b/modules/angular2/test/facade/lang_spec.js @@ -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]); + }) + }); + }