X Tutup
Skip to content

Commit 393f703

Browse files
committed
fix: export top-level pipe factories as const
Also appComponent(Ref|Type)Token Related to #1485
1 parent 7a7b3a6 commit 393f703

File tree

9 files changed

+35
-17
lines changed

9 files changed

+35
-17
lines changed

modules/angular2/src/change_detection/change_detection.ts

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,59 +14,67 @@ import {NullPipeFactory} from './pipes/null_pipe';
1414
import {ChangeDetection, ProtoChangeDetector, ChangeDetectorDefinition} from './interfaces';
1515
import {Inject, Injectable, OpaqueToken, Optional} from 'angular2/di';
1616
import {List, StringMap, StringMapWrapper} from 'angular2/src/facade/collection';
17-
import {CONST_EXPR, isPresent, BaseException} from 'angular2/src/facade/lang';
17+
import {CONST, CONST_EXPR, isPresent, BaseException} from 'angular2/src/facade/lang';
1818

1919
/**
2020
* Structural diffing for `Object`s and `Map`s.
2121
*
2222
* @exportedAs angular2/pipes
2323
*/
24-
export var keyValDiff: List<PipeFactory> = [new KeyValueChangesFactory(), new NullPipeFactory()];
24+
export const keyValDiff: List<PipeFactory> =
25+
CONST_EXPR([CONST_EXPR(new KeyValueChangesFactory()), CONST_EXPR(new NullPipeFactory())]);
2526

2627
/**
2728
* Structural diffing for `Iterable` types such as `Array`s.
2829
*
2930
* @exportedAs angular2/pipes
3031
*/
31-
export var iterableDiff: List<PipeFactory> = [new IterableChangesFactory(), new NullPipeFactory()];
32+
export const iterableDiff: List<PipeFactory> =
33+
CONST_EXPR([CONST_EXPR(new IterableChangesFactory()), CONST_EXPR(new NullPipeFactory())]);
3234

3335
/**
3436
* Async binding to such types as Observable.
3537
*
3638
* @exportedAs angular2/pipes
3739
*/
38-
export var async: List<PipeFactory> =
39-
[new ObservablePipeFactory(), new PromisePipeFactory(), new NullPipeFactory()];
40+
export const async: List<PipeFactory> = CONST_EXPR([
41+
CONST_EXPR(new ObservablePipeFactory()),
42+
CONST_EXPR(new PromisePipeFactory()),
43+
CONST_EXPR(new NullPipeFactory())
44+
]);
4045

4146
/**
4247
* Uppercase text transform.
4348
*
4449
* @exportedAs angular2/pipes
4550
*/
46-
export var uppercase: List<PipeFactory> = [new UpperCaseFactory(), new NullPipeFactory()];
51+
export const uppercase: List<PipeFactory> =
52+
CONST_EXPR([CONST_EXPR(new UpperCaseFactory()), CONST_EXPR(new NullPipeFactory())]);
4753

4854
/**
4955
* Lowercase text transform.
5056
*
5157
* @exportedAs angular2/pipes
5258
*/
53-
export var lowercase: List<PipeFactory> = [new LowerCaseFactory(), new NullPipeFactory()];
59+
export const lowercase: List<PipeFactory> =
60+
CONST_EXPR([CONST_EXPR(new LowerCaseFactory()), CONST_EXPR(new NullPipeFactory())]);
5461

5562
/**
5663
* Json stringify transform.
5764
*
5865
* @exportedAs angular2/pipes
5966
*/
60-
export var json: List<PipeFactory | Pipe> = [new JsonPipe(), new NullPipeFactory()];
67+
export const json: List<PipeFactory | Pipe> =
68+
CONST_EXPR([CONST_EXPR(new JsonPipe()), CONST_EXPR(new NullPipeFactory())]);
6169

62-
export var defaultPipes = {
70+
export const defaultPipes = CONST_EXPR({
6371
"iterableDiff": iterableDiff,
6472
"keyValDiff": keyValDiff,
6573
"async": async,
6674
"uppercase": uppercase,
6775
"lowercase": lowercase,
6876
"json": json
69-
};
77+
});
7078

7179
/**
7280
* Map from {@link ChangeDetectorDefinition#id} to a factory method which takes a
@@ -137,6 +145,7 @@ export class DynamicChangeDetection extends ChangeDetection {
137145
* @exportedAs angular2/change_detection
138146
*/
139147
@Injectable()
148+
@CONST()
140149
export class JitChangeDetection extends ChangeDetection {
141150
constructor(public registry: PipeRegistry) { super(); }
142151

@@ -147,4 +156,4 @@ export class JitChangeDetection extends ChangeDetection {
147156
}
148157
}
149158

150-
export var defaultPipeRegistry: PipeRegistry = new PipeRegistry(defaultPipes);
159+
export const defaultPipeRegistry: PipeRegistry = CONST_EXPR(new PipeRegistry(defaultPipes));

modules/angular2/src/change_detection/interfaces.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import {List} from 'angular2/src/facade/collection';
2+
import {CONST} from 'angular2/src/facade/lang';
23
import {Locals} from './parser/locals';
34
import {BindingRecord} from './binding_record';
45
import {DirectiveRecord} from './directive_record';
@@ -29,6 +30,7 @@ import {DirectiveRecord} from './directive_record';
2930
* ```
3031
* @exportedAs angular2/change_detection
3132
*/
33+
@CONST()
3234
export class ChangeDetection {
3335
createProtoChangeDetector(definition: ChangeDetectorDefinition): ProtoChangeDetector {
3436
return null;

modules/angular2/src/change_detection/pipes/json_pipe.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {isBlank, isPresent, Json} from 'angular2/src/facade/lang';
1+
import {isBlank, isPresent, Json, CONST} from 'angular2/src/facade/lang';
22
import {Pipe, BasePipe, PipeFactory} from './pipe';
33

44
/**
@@ -26,6 +26,7 @@ import {Pipe, BasePipe, PipeFactory} from './pipe';
2626
*
2727
* @exportedAs angular2/pipes
2828
*/
29+
@CONST()
2930
export class JsonPipe extends BasePipe {
3031
transform(value): string { return Json.stringify(value); }
3132

modules/angular2/src/change_detection/pipes/lowercase_pipe.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {isString, StringWrapper} from 'angular2/src/facade/lang';
1+
import {isString, StringWrapper, CONST} from 'angular2/src/facade/lang';
22
import {Pipe} from './pipe';
33

44
/**
@@ -43,6 +43,7 @@ export class LowerCasePipe implements Pipe {
4343
/**
4444
* @exportedAs angular2/pipes
4545
*/
46+
@CONST()
4647
export class LowerCaseFactory {
4748
supports(str): boolean { return isString(str); }
4849

modules/angular2/src/change_detection/pipes/pipe.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ export interface Pipe {
7070
* }
7171
* ```
7272
*/
73+
@CONST()
7374
export class BasePipe implements Pipe {
7475
supports(obj): boolean { return true; }
7576
onDestroy(): void {}

modules/angular2/src/change_detection/pipes/pipe_registry.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {Injectable} from 'angular2/src/di/decorators';
55
import {ChangeDetectorRef} from '../change_detector_ref';
66

77
@Injectable()
8+
@CONST()
89
export class PipeRegistry {
910
constructor(public config) {}
1011

modules/angular2/src/change_detection/pipes/promise_pipe.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {Promise, PromiseWrapper} from 'angular2/src/facade/async';
2-
import {isBlank, isPresent, isPromise} from 'angular2/src/facade/lang';
2+
import {isBlank, isPresent, isPromise, CONST} from 'angular2/src/facade/lang';
33
import {Pipe, WrappedValue} from './pipe';
44
import {ChangeDetectorRef} from '../change_detector_ref';
55

@@ -80,6 +80,7 @@ export class PromisePipe implements Pipe {
8080
*
8181
* @exportedAs angular2/pipes
8282
*/
83+
@CONST()
8384
export class PromisePipeFactory {
8485
supports(promise): boolean { return isPromise(promise); }
8586

modules/angular2/src/change_detection/pipes/uppercase_pipe.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {isString, StringWrapper} from 'angular2/src/facade/lang';
1+
import {isString, StringWrapper, CONST} from 'angular2/src/facade/lang';
22
import {Pipe} from './pipe';
33

44
/**
@@ -43,6 +43,7 @@ export class UpperCasePipe implements Pipe {
4343
/**
4444
* @exportedAs angular2/pipes
4545
*/
46+
@CONST()
4647
export class UpperCaseFactory {
4748
supports(str): boolean { return isString(str); }
4849

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import {OpaqueToken} from 'angular2/di';
2+
import {CONST_EXPR} from 'angular2/src/facade/lang';
23

3-
export var appComponentRefToken: OpaqueToken = new OpaqueToken('ComponentRef');
4-
export var appComponentTypeToken: OpaqueToken = new OpaqueToken('RootComponent');
4+
export const appComponentRefToken: OpaqueToken = CONST_EXPR(new OpaqueToken('ComponentRef'));
5+
export const appComponentTypeToken: OpaqueToken = CONST_EXPR(new OpaqueToken('RootComponent'));

0 commit comments

Comments
 (0)
X Tutup