Skip to content
This repository was archived by the owner on Feb 22, 2018. It is now read-only.

Commit 88593ee

Browse files
committed
fix(transformers): fix accidental breakage due to library rename. Added tests.
1 parent 2b75836 commit 88593ee

40 files changed

+285
-188
lines changed

example/pubspec.lock

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,23 @@ packages:
1010
path: ".."
1111
relative: true
1212
source: path
13-
version: "0.9.8"
13+
version: "0.9.10"
1414
args:
1515
description: args
1616
source: hosted
17-
version: "0.10.0+1"
17+
version: "0.10.0+2"
1818
barback:
1919
description: barback
2020
source: hosted
2121
version: "0.11.1"
2222
browser:
2323
description: browser
2424
source: hosted
25-
version: "0.9.1"
25+
version: "0.10.0+1"
2626
code_transformers:
2727
description: code_transformers
2828
source: hosted
29-
version: "0.1.0"
29+
version: "0.1.1"
3030
collection:
3131
description: collection
3232
source: hosted
@@ -45,27 +45,31 @@ packages:
4545
intl:
4646
description: intl
4747
source: hosted
48-
version: "0.8.10+4"
48+
version: "0.9.8"
4949
logging:
5050
description: logging
5151
source: hosted
5252
version: "0.9.1+1"
53-
meta:
54-
description: meta
53+
matcher:
54+
description: matcher
5555
source: hosted
56-
version: "0.8.8"
56+
version: "0.10.0"
57+
mock:
58+
description: mock
59+
source: hosted
60+
version: "0.10.0"
5761
path:
5862
description: path
5963
source: hosted
60-
version: "1.0.0"
64+
version: "1.1.0"
6165
perf_api:
6266
description: perf_api
6367
source: hosted
6468
version: "0.0.8"
6569
route_hierarchical:
6670
description: route_hierarchical
6771
source: hosted
68-
version: "0.4.14"
72+
version: "0.4.15"
6973
shadow_dom:
7074
description: shadow_dom
7175
source: hosted
@@ -77,11 +81,11 @@ packages:
7781
stack_trace:
7882
description: stack_trace
7983
source: hosted
80-
version: "0.9.2"
84+
version: "0.9.3"
8185
unittest:
8286
description: unittest
8387
source: hosted
84-
version: "0.10.0"
88+
version: "0.10.1+2"
8589
utf:
8690
description: utf
8791
source: hosted

example/web/bouncing_balls.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ class MyModule extends Module {
128128
MyModule() {
129129
type(BounceController);
130130
type(BallPositionDirective);
131-
factory(ScopeStatsConfig, (i) => new ScopeStatsConfig(emit: false));
131+
factory(ScopeStatsConfig, (i) => new ScopeStatsConfig());
132132
}
133133
}
134134

lib/angular_dynamic.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ library angular.app.dynamic;
33

44
import 'package:di/dynamic_injector.dart';
55
import "package:angular/angular.dart";
6-
import "package:angular/core/module_internal.dart";
6+
import 'package:angular/core/registry.dart';
77
import "package:angular/core/parser/parser.dart" show ClosureMap;
88
import 'package:angular/change_detection/change_detection.dart';
99
import 'package:angular/change_detection/dirty_checking_change_detector_dynamic.dart';

lib/angular_static.dart

Lines changed: 5 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,17 @@ library angular.app.static;
33
import 'package:di/static_injector.dart';
44
import 'package:di/di.dart' show TypeFactory, Injector;
55
import 'package:angular/bootstrap.dart';
6-
import 'package:angular/core/module_internal.dart';
6+
import 'package:angular/core/registry.dart';
77
import 'package:angular/core/parser/parser.dart';
8+
import 'package:angular/core/parser/parser_static.dart';
89
import 'package:angular/core/parser/dynamic_parser.dart';
910
import 'package:angular/core/registry_static.dart';
1011
import 'package:angular/change_detection/change_detection.dart';
1112
import 'package:angular/change_detection/dirty_checking_change_detector_static.dart';
1213

14+
export 'package:angular/core/parser/parser_static.dart' show
15+
StaticClosureMap;
16+
1317
class _StaticApplication extends Application {
1418
final Map<Type, TypeFactory> typeFactories;
1519

@@ -29,44 +33,6 @@ class _StaticApplication extends Application {
2933
new StaticInjector(modules: modules, typeFactories: typeFactories);
3034
}
3135

32-
class StaticClosureMap extends ClosureMap {
33-
final Map<String, Getter> getters;
34-
final Map<String, Setter> setters;
35-
final Map<String, Symbol> symbols;
36-
37-
StaticClosureMap(this.getters, this.setters, this.symbols);
38-
39-
Getter lookupGetter(String name) {
40-
Getter getter = getters[name];
41-
if (getter == null) throw "No getter for '$name'.";
42-
return getter;
43-
}
44-
45-
Setter lookupSetter(String name) {
46-
Setter setter = setters[name];
47-
if (setter == null) throw "No setter for '$name'.";
48-
return setter;
49-
}
50-
51-
MethodClosure lookupFunction(String name, CallArguments arguments) {
52-
var fn = lookupGetter(name);
53-
return (o, posArgs, namedArgs) {
54-
var sNamedArgs = {};
55-
namedArgs.forEach((name, value) => sNamedArgs[symbols[name]] = value);
56-
if (o is Map) {
57-
var fn = o[name];
58-
if (fn is Function) {
59-
return Function.apply(fn, posArgs, sNamedArgs);
60-
} else {
61-
throw "Property '$name' is not of type function.";
62-
}
63-
} else {
64-
return Function.apply(fn(o), posArgs, sNamedArgs);
65-
}
66-
};
67-
}
68-
}
69-
7036
Application staticApplication(
7137
Map<Type, TypeFactory> typeFactories,
7238
Map<Type, Object> metadata,

lib/animate/module.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ library angular.animate;
101101
import 'dart:async';
102102
import 'dart:html' as dom;
103103

104+
import 'package:angular/core/annotation.dart';
104105
import 'package:angular/core/module_internal.dart';
105106
import 'package:angular/core_dom/module_internal.dart';
106107
import 'package:angular/core_dom/dom_util.dart' as util;

lib/bootstrap.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import 'package:di/di.dart';
77
import 'package:angular/angular.dart';
88
import 'package:angular/perf/module.dart';
99
import 'package:angular/core/module_internal.dart';
10+
import 'package:angular/core/registry.dart';
1011
import 'package:angular/core_dom/module_internal.dart';
1112
import 'package:angular/directive/module.dart';
1213
import 'package:angular/filter/module.dart';

lib/core/directive.dart renamed to lib/core/annotation.dart

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,14 @@
1-
part of angular.core_internal;
1+
library angular.core.annotation;
2+
3+
import "package:di/di.dart" show Visibility, Injector;
4+
5+
/**
6+
* An annotation when applied to a class indicates that the class (service) will
7+
* be instantiated by di injector.
8+
*/
9+
class NgInjectableService {
10+
const NgInjectableService();
11+
}
212

313
abstract class NgAnnotation {
414
/**
@@ -469,3 +479,37 @@ abstract class NgDetachAware {
469479
void detach();
470480
}
471481

482+
483+
/**
484+
* Use @[NgFilter] annotation to register a new filter. A filter is a class
485+
* with a [call] method (a callable function).
486+
*
487+
* Usage:
488+
*
489+
* // Declaration
490+
* @NgFilter(name:'myFilter')
491+
* class MyFilter {
492+
* call(valueToFilter, optArg1, optArg2) {
493+
* return ...;
494+
* }
495+
* }
496+
*
497+
*
498+
* // Registration
499+
* var module = ...;
500+
* module.type(MyFilter);
501+
*
502+
*
503+
* <!-- Usage -->
504+
* <span>{{something | myFilter:arg1:arg2}}</span>
505+
*/
506+
class NgFilter {
507+
final String name;
508+
509+
const NgFilter({this.name});
510+
511+
int get hashCode => name.hashCode;
512+
bool operator==(other) => name == other.name;
513+
514+
toString() => 'NgFilter: $name';
515+
}

lib/core/filter.dart

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,5 @@
11
part of angular.core_internal;
22

3-
/**
4-
* Use @[NgFilter] annotation to register a new filter. A filter is a class
5-
* with a [call] method (a callable function).
6-
*
7-
* Usage:
8-
*
9-
* // Declaration
10-
* @NgFilter(name:'myFilter')
11-
* class MyFilter {
12-
* call(valueToFilter, optArg1, optArg2) {
13-
* return ...;
14-
* }
15-
* }
16-
*
17-
*
18-
* // Registration
19-
* var module = ...;
20-
* module.type(MyFilter);
21-
*
22-
*
23-
* <!-- Usage -->
24-
* <span>{{something | myFilter:arg1:arg2}}</span>
25-
*/
26-
class NgFilter {
27-
final String name;
28-
29-
const NgFilter({this.name});
30-
31-
int get hashCode => name.hashCode;
32-
bool operator==(other) => name == other.name;
33-
34-
toString() => 'NgFilter: $name';
35-
}
363

374
/**
385
* Registry of filters at runtime.

lib/core/module.dart

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,19 @@
11
library angular.core;
22

3-
export "package:angular/core/service.dart";
3+
4+
export "package:angular/core/annotation.dart" show
5+
NgAttachAware,
6+
NgAttr,
7+
NgComponent,
8+
NgController,
9+
NgDetachAware,
10+
NgDirective,
11+
NgFilter,
12+
NgInjectableService,
13+
NgOneWay,
14+
NgOneWayOneTime,
15+
NgTwoWay;
16+
417
export "package:angular/core_dom/module_internal.dart" show
518
Animation,
619
AnimationResult,
@@ -32,18 +45,7 @@ export "package:angular/core/module_internal.dart" show
3245
CacheStats,
3346
ExceptionHandler,
3447
Interpolate,
35-
NgAttachAware,
36-
NgAttr,
3748
NgCallback,
38-
NgComponent,
39-
NgController,
40-
NgDetachAware,
41-
NgDirective,
42-
NgFilter,
43-
NgInjectableService,
44-
NgOneWay,
45-
NgOneWayOneTime,
46-
NgTwoWay,
4749
NgZone,
4850
PrototypeMap,
4951
RootScope,

lib/core/module_internal.dart

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,20 @@ import 'package:angular/core/parser/parser.dart';
1111
import 'package:angular/core/parser/lexer.dart';
1212
import 'package:angular/utils.dart';
1313

14-
import 'package:angular/core/service.dart';
15-
export 'package:angular/core/service.dart';
14+
import 'package:angular/core/annotation.dart';
1615

1716
import 'package:angular/change_detection/watch_group.dart';
1817
export 'package:angular/change_detection/watch_group.dart';
1918
import 'package:angular/change_detection/change_detection.dart';
2019
import 'package:angular/change_detection/dirty_checking_change_detector.dart';
2120
import 'package:angular/core/parser/utils.dart';
2221
import 'package:angular/core/parser/syntax.dart';
22+
import 'package:angular/core/registry.dart';
2323

2424
part "cache.dart";
25-
part "directive.dart";
2625
part "exception_handler.dart";
2726
part "filter.dart";
2827
part "interpolate.dart";
29-
part "registry.dart";
3028
part "scope.dart";
3129
part "zone.dart";
3230

0 commit comments

Comments
 (0)