@angular-wave/angular.ts 0.4.3 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/dist/angular-ts.umd.js +10 -0
  2. package/index.html +74 -3
  3. package/package.json +1 -1
  4. package/src/angular.spec.js +0 -5
  5. package/src/animations/animate-css.js +5 -13
  6. package/src/animations/animate-queue.js +22 -21
  7. package/src/animations/animate-runner.js +4 -8
  8. package/src/animations/animate.md +1 -1
  9. package/src/animations/animate.spec.js +0 -21
  10. package/src/animations/animation.js +1 -1
  11. package/src/binding.spec.js +0 -1
  12. package/src/core/cache/cache.js +2 -29
  13. package/src/core/compile/compile.js +26 -27
  14. package/src/core/compile/compile.spec.js +17 -266
  15. package/src/core/compile/compile.test.js +1 -1
  16. package/src/core/controller/controller.js +2 -0
  17. package/src/core/di/injector.md +1 -1
  18. package/src/core/di/injector.spec.js +0 -2
  19. package/src/core/di/internal-injector.js +2 -1
  20. package/src/core/interpolate/interpolate.js +16 -3
  21. package/src/core/interpolate/interpolate.spec.js +70 -16
  22. package/src/core/interval/interval.test.js +1 -1
  23. package/src/core/location/location.js +0 -2
  24. package/src/core/location/location.spec.js +27 -27
  25. package/src/core/{scope/scope.html → model/model.html} +1 -1
  26. package/src/core/model/model.js +944 -0
  27. package/src/core/model/model.spec.js +3012 -0
  28. package/src/core/on.spec.js +0 -7
  29. package/src/core/parse/interpreter.js +10 -7
  30. package/src/core/parse/parse.js +26 -5
  31. package/src/core/parse/parse.spec.js +95 -91
  32. package/src/core/prop.spec.js +4 -60
  33. package/src/core/sce/sce.spec.js +0 -8
  34. package/src/core/scope/scope.js +61 -30
  35. package/src/core/scope/scope.spec.js +25 -1960
  36. package/src/directive/aria/aria.js +3 -6
  37. package/src/directive/aria/aria.spec.js +0 -87
  38. package/src/directive/attrs/attrs.spec.js +0 -5
  39. package/src/directive/attrs/boolean.spec.js +0 -15
  40. package/src/directive/attrs/element-style.spec.js +0 -8
  41. package/src/directive/attrs/src.spec.js +0 -7
  42. package/src/directive/bind/bind.spec.js +0 -33
  43. package/src/directive/bind/bing-html.spec.js +0 -3
  44. package/src/{core/q/q.html → directive/channel/channel.html} +1 -1
  45. package/src/directive/channel/channel.js +29 -0
  46. package/src/directive/channel/channel.spec.js +52 -0
  47. package/src/directive/{list/list.test.js → channel/channel.test.js} +2 -4
  48. package/src/directive/class/class.js +3 -3
  49. package/src/directive/class/class.spec.js +9 -75
  50. package/src/directive/controller/controller.spec.js +0 -13
  51. package/src/directive/events/click.spec.js +0 -3
  52. package/src/directive/events/event.spec.js +0 -6
  53. package/src/directive/form/form.js +2 -3
  54. package/src/directive/form/form.spec.js +0 -65
  55. package/src/directive/if/if.spec.js +0 -4
  56. package/src/directive/include/include.spec.js +8 -59
  57. package/src/directive/init/init.js +6 -2
  58. package/src/directive/init/init.spec.js +0 -2
  59. package/src/directive/input/input.spec.js +0 -136
  60. package/src/directive/messages/messages.spec.js +4 -35
  61. package/src/directive/model/model.js +18 -25
  62. package/src/directive/model/model.spec.js +2 -49
  63. package/src/directive/model-options/model-options.spec.js +0 -6
  64. package/src/directive/non-bindable/non-bindable.spec.js +0 -1
  65. package/src/directive/observe/observe.js +0 -1
  66. package/src/directive/observe/observe.spec.js +0 -1
  67. package/src/directive/options/options.spec.js +0 -34
  68. package/src/directive/ref/href.spec.js +0 -15
  69. package/src/directive/repeat/repeat.spec.js +8 -135
  70. package/src/directive/script/script.spec.js +0 -2
  71. package/src/directive/select/select.js +3 -3
  72. package/src/directive/select/select.spec.js +0 -96
  73. package/src/directive/show-hide/show-hide.js +2 -2
  74. package/src/directive/show-hide/show-hide.spec.js +8 -19
  75. package/src/directive/style/style.spec.js +0 -7
  76. package/src/directive/switch/switch.spec.js +5 -5
  77. package/src/directive/validators/validators.spec.js +0 -1
  78. package/src/loader.js +0 -1
  79. package/src/public.js +75 -80
  80. package/src/router/common/coreservices.js +0 -2
  81. package/src/router/directives/state-directives.js +6 -14
  82. package/src/router/directives/state-directives.spec.js +0 -83
  83. package/src/router/directives/view-directive.js +4 -13
  84. package/src/router/directives/view-directive.spec.js +25 -71
  85. package/src/router/hooks/lazy-load.js +2 -2
  86. package/src/router/hooks/views.js +3 -5
  87. package/src/router/resolve/resolvable.js +3 -6
  88. package/src/router/resolve/resolve-context.js +2 -2
  89. package/src/router/state/state-service.js +4 -4
  90. package/src/router/state/state.spec.js +2 -5
  91. package/src/router/state/views.js +7 -10
  92. package/src/router/template-factory.js +3 -6
  93. package/src/router/template-factory.spec.js +0 -4
  94. package/src/router/transition/transition-hook.js +1 -1
  95. package/src/router/transition/transition.js +1 -1
  96. package/src/router/view-hook.spec.js +2 -2
  97. package/src/router/view-scroll.js +4 -6
  98. package/src/services/http/http.js +6 -9
  99. package/src/services/http/http.spec.js +30 -31
  100. package/src/services/http/template-request.spec.js +0 -10
  101. package/src/services/http-backend/http-backend.spec.js +3 -3
  102. package/src/services/template-request.js +2 -4
  103. package/src/shared/common.js +1 -2
  104. package/src/shared/jqlite/jqlite.js +0 -3
  105. package/types/core/cache/cache.d.ts +1 -1
  106. package/types/core/model/model.d.ts +204 -0
  107. package/types/core/parse/parse.d.ts +26 -0
  108. package/types/core/scope/scope.d.ts +22 -21
  109. package/types/directive/channel/channel.d.ts +11 -0
  110. package/src/core/interval/interval-factory.js +0 -50
  111. package/src/core/interval/interval.html +0 -18
  112. package/src/core/interval/interval.js +0 -77
  113. package/src/core/interval/interval.md +0 -123
  114. package/src/core/interval/interval.spec.js +0 -280
  115. package/src/core/q/q.js +0 -472
  116. package/src/core/q/q.md +0 -211
  117. package/src/core/q/q.spec.js +0 -2748
  118. package/src/core/q/q.test.js +0 -12
  119. package/src/core/scope/scope.test.js +0 -12
  120. package/src/core/timeout/timeout.html +0 -18
  121. package/src/core/timeout/timeout.js +0 -109
  122. package/src/core/timeout/timeout.spec.js +0 -354
  123. package/src/core/timeout/timout.test.js +0 -12
  124. package/src/directive/list/list.html +0 -18
  125. package/src/directive/list/list.js +0 -46
  126. package/src/directive/list/list.md +0 -22
  127. package/src/directive/list/list.spec.js +0 -172
  128. package/types/directive/list/list.d.ts +0 -4
@@ -387,8 +387,6 @@ describe("ngOptions", () => {
387
387
  "ng-model": "selected",
388
388
  "ng-options": "option.id as option.display for option in values",
389
389
  });
390
- scope.$digest();
391
-
392
390
  const options = element.find("option");
393
391
  expect(options.length).toEqual(2);
394
392
  expect(options.eq(0)).toEqualOption("FF0000", "red");
@@ -400,8 +398,6 @@ describe("ngOptions", () => {
400
398
  expect(options.eq(0)[0].selected).toBe(true);
401
399
 
402
400
  scope.selected = "0000FF";
403
- scope.$digest();
404
-
405
401
  expect(options.eq(1)[0].getAttribute("selected")).toBe("selected");
406
402
  expect(options.eq(1).attr("selected")).toBe("selected");
407
403
  expect(options.eq(1)[0].selected).toBe(true);
@@ -438,7 +434,6 @@ describe("ngOptions", () => {
438
434
  { id: 0, label: "x" },
439
435
  { id: 1, label: "y" },
440
436
  ];
441
- scope.$digest();
442
437
  const options = element.find("option");
443
438
  expect(options.length).toEqual(2);
444
439
  expect(options.eq(0)).toEqualOption(0, "x");
@@ -612,8 +607,6 @@ describe("ngOptions", () => {
612
607
  scope.array.other = "do not watch";
613
608
  scope.array.fn = function () {};
614
609
  scope.selected = "b";
615
- scope.$digest();
616
-
617
610
  expect(scope.createLabel).toHaveBeenCalledWith("a");
618
611
  expect(scope.createLabel).toHaveBeenCalledWith("b");
619
612
  expect(scope.createLabel).toHaveBeenCalledWith("c");
@@ -635,8 +628,6 @@ describe("ngOptions", () => {
635
628
  $property: "invisible",
636
629
  };
637
630
  scope.selected = "regularProperty";
638
- scope.$digest();
639
-
640
631
  expect(scope.createLabel).toHaveBeenCalledWith("regularProperty");
641
632
  expect(scope.createLabel).not.toHaveBeenCalledWith("$$private");
642
633
  expect(scope.createLabel).not.toHaveBeenCalledWith("$property");
@@ -688,8 +679,6 @@ describe("ngOptions", () => {
688
679
  expect(optionToSelect.text()).toBe("B");
689
680
 
690
681
  optionToSelect[0].selected = true;
691
- scope.$digest();
692
-
693
682
  expect(optionToSelect[0].selected).toBe(true);
694
683
  expect(scope.selected).toBe(scope.values[0]);
695
684
  });
@@ -782,7 +771,6 @@ describe("ngOptions", () => {
782
771
 
783
772
  // Change the scope but the options should not change
784
773
  scope.arr = ["w", "x", "y", "z"];
785
- scope.$digest();
786
774
  options = element.find("option");
787
775
  expect(options.length).toEqual(4);
788
776
  expect(options.eq(0)).toEqualUnknownOption();
@@ -811,30 +799,23 @@ describe("ngOptions", () => {
811
799
  expect(options[2].selected).not.toBe(true);
812
800
 
813
801
  scope.selected = scope.values[0];
814
- scope.$digest();
815
-
816
802
  expect(options[0].selected).not.toBe(true);
817
803
  expect(options[1].selected).toBe(true);
818
804
  expect(options[2].selected).not.toBe(true);
819
805
 
820
806
  scope.selected = scope.values[1];
821
- scope.$digest();
822
-
823
807
  expect(options[0].selected).not.toBe(true);
824
808
  expect(options[1].selected).not.toBe(true);
825
809
  expect(options[2].selected).toBe(true);
826
810
 
827
811
  // This will select the empty option
828
812
  scope.selected = null;
829
- scope.$digest();
830
-
831
813
  expect(options[0].selected).toBe(true);
832
814
  expect(options[1].selected).not.toBe(true);
833
815
  expect(options[2].selected).not.toBe(true);
834
816
 
835
817
  // This will add and select the unknown option
836
818
  scope.selected = "unmatched value";
837
- scope.$digest();
838
819
  options = element.find("option");
839
820
 
840
821
  expect(options[0].selected).toBe(true);
@@ -844,7 +825,6 @@ describe("ngOptions", () => {
844
825
 
845
826
  // Back to matched value
846
827
  scope.selected = scope.values[1];
847
- scope.$digest();
848
828
  options = element.find("option");
849
829
 
850
830
  expect(options[0].selected).not.toBe(true);
@@ -1530,7 +1510,6 @@ describe("ngOptions", () => {
1530
1510
  expect(scope.selected).toEqual(scope.arr[1]);
1531
1511
 
1532
1512
  scope.selected = {};
1533
- scope.$digest();
1534
1513
  expect(options[0].selected).toBeTrue();
1535
1514
  expect(options[1].selected).not.toBeTrue();
1536
1515
  expect(options[2].selected).not.toBeTrue();
@@ -1868,8 +1847,6 @@ describe("ngOptions", () => {
1868
1847
  { cls: "one", name: "Beta" },
1869
1848
  { cls: "two", name: "Gamma" },
1870
1849
  ];
1871
- scope.$digest();
1872
-
1873
1850
  optgroups = element.find("optgroup");
1874
1851
  expect(optgroups.length).toBe(2);
1875
1852
 
@@ -1895,8 +1872,6 @@ describe("ngOptions", () => {
1895
1872
  { cls: "two", name: "Delta" },
1896
1873
  { cls: "three", name: "Epsilon" },
1897
1874
  );
1898
- scope.$digest();
1899
-
1900
1875
  optgroups = element.find("optgroup");
1901
1876
  expect(optgroups.length).toBe(3);
1902
1877
 
@@ -2354,8 +2329,6 @@ describe("ngOptions", () => {
2354
2329
  expect(element[0].value).toBe("?");
2355
2330
 
2356
2331
  scope.selected = undefined;
2357
- scope.$digest();
2358
-
2359
2332
  expect(element[0].value).toBe("");
2360
2333
  });
2361
2334
 
@@ -2614,7 +2587,6 @@ describe("ngOptions", () => {
2614
2587
  createSingleSelect(true);
2615
2588
  // ensure the first option (the blank option) is selected
2616
2589
  expect(element[0].selectedIndex).toEqual(0);
2617
- scope.$digest();
2618
2590
  // ensure the option has not changed following the digest
2619
2591
  expect(element[0].selectedIndex).toEqual(0);
2620
2592
  });
@@ -2765,7 +2737,6 @@ describe("ngOptions", () => {
2765
2737
  element = $compile(
2766
2738
  '<custom-select ng-model="value" options="options"></custom-select>',
2767
2739
  )(scope);
2768
- scope.$digest();
2769
2740
  }).not.toThrow();
2770
2741
 
2771
2742
  dealoc(element);
@@ -2940,7 +2911,6 @@ describe("ngOptions", () => {
2940
2911
  scope.values = { 0: "A", 1: "B" };
2941
2912
 
2942
2913
  scope.selected = ["1"];
2943
- scope.$digest();
2944
2914
  expect(element.find("option")[1].selected).toBe(true);
2945
2915
 
2946
2916
  element.find("option")[0].selected = true;
@@ -3428,7 +3398,6 @@ describe("ngOptions", () => {
3428
3398
  });
3429
3399
 
3430
3400
  it("should fail validation when $asyncValidators fail", () => {
3431
- let $q = injector.get("$q");
3432
3401
  let defer;
3433
3402
  createSelect({
3434
3403
  name: "select",
@@ -3447,14 +3416,12 @@ describe("ngOptions", () => {
3447
3416
  expect(element).toEqualSelectValue("third");
3448
3417
 
3449
3418
  defer.reject();
3450
- scope.$digest();
3451
3419
  expect(scope.form.select.$pending).toBeUndefined();
3452
3420
  expect(scope.value).toBeUndefined();
3453
3421
  expect(element).toEqualSelectValue("third");
3454
3422
  });
3455
3423
 
3456
3424
  it("should pass validation when $asyncValidators pass", () => {
3457
- let $q = injector.get("$q");
3458
3425
  let defer;
3459
3426
  createSelect({
3460
3427
  name: "select",
@@ -3473,7 +3440,6 @@ describe("ngOptions", () => {
3473
3440
  expect(element).toEqualSelectValue("third");
3474
3441
 
3475
3442
  defer.resolve();
3476
- scope.$digest();
3477
3443
  expect(scope.form.select.$pending).toBeUndefined();
3478
3444
  expect(scope.value).toBe("third");
3479
3445
  expect(element).toEqualSelectValue("third");
@@ -29,7 +29,6 @@ describe("ngHref", () => {
29
29
 
30
30
  it("should interpolate the expression and bind to href", () => {
31
31
  element = $compile('<a ng-href="some/{{id}}"></div>')($rootScope);
32
- $rootScope.$digest();
33
32
  expect(element.attr("href")).toEqual("some/");
34
33
 
35
34
  $rootScope.$apply(() => {
@@ -42,31 +41,25 @@ describe("ngHref", () => {
42
41
  element = $compile('<a ng-href="{{url}}" rel="{{rel}}"></a>')($rootScope);
43
42
  $rootScope.url = "http://server";
44
43
  $rootScope.rel = "REL";
45
- $rootScope.$digest();
46
44
  expect(element.attr("href")).toEqual("http://server");
47
45
  expect(element.attr("rel")).toEqual("REL");
48
46
  });
49
47
 
50
48
  it("should bind href even if no interpolation", () => {
51
49
  element = $compile('<a ng-href="http://server"></a>')($rootScope);
52
- $rootScope.$digest();
53
50
  expect(element.attr("href")).toEqual("http://server");
54
51
  });
55
52
 
56
53
  it("should not set the href if ng-href is empty", () => {
57
54
  $rootScope.url = null;
58
55
  element = $compile('<a ng-href="{{url}}">')($rootScope);
59
- $rootScope.$digest();
60
56
  expect(element.attr("href")).toEqual(undefined);
61
57
  });
62
58
 
63
59
  it("should remove the href if ng-href changes to empty", () => {
64
60
  $rootScope.url = "http://www.google.com/";
65
61
  element = $compile('<a ng-href="{{url}}">')($rootScope);
66
- $rootScope.$digest();
67
-
68
62
  $rootScope.url = null;
69
- $rootScope.$digest();
70
63
  expect(element.attr("href")).toEqual(undefined);
71
64
  });
72
65
 
@@ -74,26 +67,22 @@ describe("ngHref", () => {
74
67
  /* eslint no-script-url: "off" */
75
68
  $rootScope.imageUrl = "javascript:alert(1);";
76
69
  element = $compile('<a ng-href="{{imageUrl}}">')($rootScope);
77
- $rootScope.$digest();
78
70
  expect(element.attr("href")).toBe("unsafe:javascript:alert(1);");
79
71
  });
80
72
 
81
73
  it("should sanitize non-interpolated url", () => {
82
74
  element = $compile('<a ng-href="javascript:alert(1);">')($rootScope);
83
- $rootScope.$digest();
84
75
  expect(element.attr("href")).toBe("unsafe:javascript:alert(1);");
85
76
  });
86
77
 
87
78
  it("should bind numbers", () => {
88
79
  element = $compile('<a ng-href="{{1234}}"></a>')($rootScope);
89
- $rootScope.$digest();
90
80
  expect(element.attr("href")).toEqual("1234");
91
81
  });
92
82
 
93
83
  it("should bind and sanitize the result of a (custom) toString() function", () => {
94
84
  $rootScope.value = {};
95
85
  element = $compile('<a ng-href="{{value}}"></a>')($rootScope);
96
- $rootScope.$digest();
97
86
  expect(element.attr("href")).toEqual("[object Object]");
98
87
 
99
88
  function SafeClass() {}
@@ -103,7 +92,6 @@ describe("ngHref", () => {
103
92
  };
104
93
 
105
94
  $rootScope.value = new SafeClass();
106
- $rootScope.$digest();
107
95
  expect(element.attr("href")).toEqual("custom value");
108
96
 
109
97
  function UnsafeClass() {}
@@ -113,7 +101,6 @@ describe("ngHref", () => {
113
101
  };
114
102
 
115
103
  $rootScope.value = new UnsafeClass();
116
- $rootScope.$digest();
117
104
  expect(element.attr("href")).toEqual("unsafe:javascript:alert(1);");
118
105
  });
119
106
 
@@ -124,7 +111,6 @@ describe("ngHref", () => {
124
111
  $rootScope,
125
112
  );
126
113
  const child = element.children("a");
127
- $rootScope.$digest();
128
114
  expect(child.attr("xlink:href")).toEqual("some/");
129
115
 
130
116
  $rootScope.$apply(() => {
@@ -138,7 +124,6 @@ describe("ngHref", () => {
138
124
  $rootScope,
139
125
  );
140
126
  const child = element.children("a");
141
- $rootScope.$digest();
142
127
  expect(child.attr("xlink:href")).toEqual("http://server");
143
128
  });
144
129
  });