@angular-wave/angular.ts 0.7.7 → 0.7.8

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 (157) hide show
  1. package/@types/animations/raf-scheduler.d.ts +2 -2
  2. package/@types/animations/shared.d.ts +0 -1
  3. package/@types/core/compile/attributes.d.ts +3 -3
  4. package/@types/core/compile/compile.d.ts +1 -1
  5. package/@types/core/di/injector.d.ts +0 -1
  6. package/@types/core/di/internal-injector.d.ts +1 -0
  7. package/@types/core/di/ng-module.d.ts +5 -0
  8. package/@types/core/filter/filter.d.ts +11 -13
  9. package/@types/core/sanitize/sanitize-uri.d.ts +3 -6
  10. package/@types/core/scope/scope.d.ts +1 -1
  11. package/@types/directive/attrs/attrs.d.ts +7 -1
  12. package/@types/directive/events/events.d.ts +9 -3
  13. package/@types/directive/http/http.d.ts +6 -2
  14. package/@types/directive/include/include.d.ts +2 -2
  15. package/@types/directive/input/input.d.ts +2 -12
  16. package/@types/directive/messages/messages.d.ts +9 -48
  17. package/@types/directive/model/model.d.ts +3 -3
  18. package/@types/directive/options/options.d.ts +13 -20
  19. package/@types/directive/switch/switch.d.ts +1 -0
  20. package/@types/directive/transclude/transclude.d.ts +10 -6
  21. package/@types/interface.d.ts +54 -18
  22. package/@types/router/common/glob.d.ts +5 -1
  23. package/@types/router/directives/view-directive.d.ts +2 -19
  24. package/@types/router/globals.d.ts +1 -2
  25. package/@types/router/state/state-registry.d.ts +1 -2
  26. package/@types/router/url/url-service.d.ts +7 -9
  27. package/@types/services/anchor-scroll.d.ts +1 -1
  28. package/@types/{core → services/exception}/exception-handler.d.ts +4 -4
  29. package/@types/{core/error-handler.d.ts → services/exception/interface.d.ts} +1 -1
  30. package/@types/services/http/http.d.ts +0 -2
  31. package/@types/services/http/interface.d.ts +2 -2
  32. package/@types/services/http-backend/http-backend.d.ts +13 -21
  33. package/@types/services/location/interface.d.ts +8 -0
  34. package/@types/{core → services}/location/location.d.ts +52 -12
  35. package/@types/{core → services}/sce/sce.d.ts +1 -1
  36. package/@types/services/template-cache/interface.d.ts +8 -2
  37. package/@types/services/template-cache/template-cache.d.ts +1 -1
  38. package/@types/services/template-request.d.ts +1 -1
  39. package/@types/shared/cache.d.ts +0 -2
  40. package/@types/shared/dom.d.ts +6 -0
  41. package/@types/shared/test-utils.d.ts +1 -0
  42. package/@types/shared/url-utils/interface.d.ts +47 -0
  43. package/@types/{core → shared}/url-utils/url-utils.d.ts +26 -13
  44. package/@types/shared/utils.d.ts +15 -0
  45. package/Makefile +3 -2
  46. package/dist/angular-ts.esm.js +982 -1190
  47. package/dist/angular-ts.umd.js +982 -1190
  48. package/dist/angular-ts.umd.min.js +1 -1
  49. package/docs/content/docs/directive/bind.md +9 -7
  50. package/docs/content/docs/directive/get.md +203 -0
  51. package/docs/content/docs/provider/templateCacheProvider.md +66 -1
  52. package/docs/content/docs/service/templateCache.md +2 -2
  53. package/docs/layouts/partials/hooks/head-end.html +1 -1
  54. package/docs/layouts/shortcodes/showcss.html +2 -0
  55. package/docs/static/examples/ng-bind/ng-bind.html +2 -2
  56. package/docs/static/typedoc/assets/hierarchy.js +1 -1
  57. package/docs/static/typedoc/assets/navigation.js +1 -1
  58. package/docs/static/typedoc/assets/search.js +1 -1
  59. package/docs/static/typedoc/classes/NgModule.html +32 -0
  60. package/docs/static/typedoc/classes/TemplateCacheProvider.html +1 -1
  61. package/docs/static/typedoc/hierarchy.html +1 -1
  62. package/docs/static/typedoc/index.html +1 -1
  63. package/docs/static/typedoc/interfaces/Directive.html +5 -4
  64. package/docs/static/typedoc/interfaces/HttpProviderDefaults.html +1 -1
  65. package/docs/static/typedoc/interfaces/HttpResponse.html +2 -3
  66. package/docs/static/typedoc/interfaces/Provider.html +15 -10
  67. package/docs/static/typedoc/interfaces/RequestConfig.html +1 -1
  68. package/docs/static/typedoc/interfaces/RequestShortcutConfig.html +1 -1
  69. package/docs/static/typedoc/interfaces/TemplateCache.html +7 -0
  70. package/docs/static/typedoc/types/AnnotatedDirectiveFactory.html +1 -0
  71. package/docs/static/typedoc/types/DirectiveFactory.html +1 -2
  72. package/docs/static/typedoc/types/DirectiveFactoryFn.html +1 -0
  73. package/docs/static/typedoc/types/HttpResponseStatus.html +1 -0
  74. package/docs/static/typedoc/types/{TemplateCache.html → SwapModeType.html} +1 -1
  75. package/docs/static/typedoc/variables/SwapMode.html +11 -0
  76. package/legacy.d.ts +0 -10
  77. package/package.json +1 -3
  78. package/src/animations/animate-children-directive.js +2 -2
  79. package/src/animations/raf-scheduler.js +1 -1
  80. package/src/animations/shared.js +0 -9
  81. package/src/core/compile/attributes.js +1 -1
  82. package/src/core/compile/compile.js +3 -3
  83. package/src/core/di/injector.js +4 -17
  84. package/src/core/di/internal-injector.js +4 -1
  85. package/src/core/di/ng-module.js +12 -27
  86. package/src/core/filter/filter.js +28 -28
  87. package/src/core/parse/interpreter.js +32 -38
  88. package/src/core/sanitize/sanitize-uri.js +3 -3
  89. package/src/core/scope/scope.js +2 -2
  90. package/src/directive/attrs/attrs.js +7 -4
  91. package/src/directive/events/events.js +6 -2
  92. package/src/directive/http/delete.spec.js +2 -0
  93. package/src/directive/http/get.spec.js +280 -3
  94. package/src/directive/http/http.js +100 -12
  95. package/src/directive/http/http.test.js +2 -2
  96. package/src/directive/http/post.spec.js +2 -0
  97. package/src/directive/http/put.spec.js +2 -0
  98. package/src/directive/include/include.js +7 -7
  99. package/src/directive/input/input.js +6 -28
  100. package/src/directive/messages/messages.js +4 -0
  101. package/src/directive/model/model.js +1 -1
  102. package/src/directive/options/options.js +454 -464
  103. package/src/directive/setter/setter.js +12 -14
  104. package/src/directive/setter/setter.spec.js +39 -16
  105. package/src/directive/switch/switch.js +1 -0
  106. package/src/directive/transclude/transclude.js +87 -89
  107. package/src/injection-tokens.js +1 -1
  108. package/src/interface.ts +68 -19
  109. package/src/loader.js +4 -9
  110. package/src/public.js +9 -15
  111. package/src/router/common/glob.js +5 -0
  112. package/src/router/directives/state-directives.spec.js +1 -1
  113. package/src/router/directives/view-directive.js +9 -1
  114. package/src/router/globals.js +0 -1
  115. package/src/router/state/state-registry.js +0 -1
  116. package/src/router/state-filters.js +2 -2
  117. package/src/router/url/url-service.js +5 -9
  118. package/src/services/anchor-scroll.html +0 -7
  119. package/src/services/anchor-scroll.js +1 -1
  120. package/src/{core → services/exception}/exception-handler.js +2 -2
  121. package/src/{core/error-handler.ts → services/exception/interface.ts} +1 -1
  122. package/src/services/http/http.js +2 -13
  123. package/src/services/http/interface.ts +2 -2
  124. package/src/services/http-backend/http-backend.js +4 -14
  125. package/src/services/http-backend/http-backend.spec.js +1 -4
  126. package/src/services/location/interface.ts +8 -0
  127. package/src/{core → services}/location/location.html +4 -1
  128. package/src/{core → services}/location/location.js +128 -26
  129. package/src/{core → services}/location/location.spec.js +2 -2
  130. package/src/{core → services}/location/location.test.js +1 -1
  131. package/src/{core → services}/sce/sce.html +1 -1
  132. package/src/{core → services}/sce/sce.js +9 -3
  133. package/src/{core → services}/sce/sce.spec.js +2 -3
  134. package/src/{core → services}/sce/sce.test.js +1 -1
  135. package/src/services/template-cache/interface.ts +8 -2
  136. package/src/services/template-cache/template-cache.js +3 -1
  137. package/src/services/template-cache/template-cache.spec.js +72 -0
  138. package/src/services/template-request.js +2 -1
  139. package/src/shared/cache.js +0 -2
  140. package/src/shared/dom.js +10 -0
  141. package/src/shared/test-utils.js +1 -0
  142. package/src/shared/url-utils/interface.ts +56 -0
  143. package/src/{core → shared}/url-utils/url-utils.html +4 -1
  144. package/src/{core → shared}/url-utils/url-utils.js +26 -23
  145. package/src/{core → shared}/url-utils/url-utils.spec.js +0 -8
  146. package/src/{core → shared}/url-utils/url-utils.test.js +1 -1
  147. package/src/shared/utils.js +28 -0
  148. package/utils/express.js +9 -1
  149. package/@types/core/task-tracker-factory.d.ts +0 -76
  150. package/@types/services/browser.d.ts +0 -101
  151. package/docs/static/typedoc/types/SwapInsertPosition.html +0 -2
  152. package/jsdoc.json +0 -22
  153. package/src/core/task-tracker-factory.js +0 -145
  154. package/src/services/browser.js +0 -212
  155. /package/src/{core → services}/location/location.md +0 -0
  156. /package/src/{core → services}/sce/sce.md +0 -0
  157. /package/src/{core → shared}/url-utils/url-utils.md +0 -0
@@ -1,10 +1,15 @@
1
- import { $injectTokens } from "../../injection-tokens.js";
1
+ import { $injectTokens as $t } from "../../injection-tokens.js";
2
2
  import { isFunction, isString, assert } from "../../shared/utils.js";
3
3
 
4
+ /** @private */
4
5
  export const INJECTOR_LITERAL = "$injector";
6
+ /** @private */
5
7
  export const COMPILE_LITERAL = "$compileProvider";
8
+ /** @private */
6
9
  export const ANIMATION_LITERAL = "$animateProvider";
10
+ /** @private */
7
11
  export const FILTER_LITERAL = "$filterProvider";
12
+ /** @private */
8
13
  export const CONTROLLER_LITERAL = "$controllerProvider";
9
14
 
10
15
  /**
@@ -61,7 +66,7 @@ export class NgModule {
61
66
  * @returns {NgModule}
62
67
  */
63
68
  value(name, object) {
64
- this.invokeQueue.push([$injectTokens.$provide, "value", [name, object]]);
69
+ this.invokeQueue.push([$t.$provide, "value", [name, object]]);
65
70
  return this;
66
71
  }
67
72
 
@@ -71,11 +76,7 @@ export class NgModule {
71
76
  * @returns {NgModule}
72
77
  */
73
78
  constant(name, object) {
74
- this.invokeQueue.unshift([
75
- $injectTokens.$provide,
76
- "constant",
77
- [name, object],
78
- ]);
79
+ this.invokeQueue.unshift([$t.$provide, "constant", [name, object]]);
79
80
  return this;
80
81
  }
81
82
 
@@ -120,11 +121,7 @@ export class NgModule {
120
121
  if (providerFunction && isFunction(providerFunction)) {
121
122
  providerFunction.$$moduleName = name;
122
123
  }
123
- this.invokeQueue.push([
124
- $injectTokens.$provide,
125
- "factory",
126
- [name, providerFunction],
127
- ]);
124
+ this.invokeQueue.push([$t.$provide, "factory", [name, providerFunction]]);
128
125
  return this;
129
126
  }
130
127
 
@@ -137,11 +134,7 @@ export class NgModule {
137
134
  if (serviceFunction && isFunction(serviceFunction)) {
138
135
  serviceFunction.$$moduleName = name;
139
136
  }
140
- this.invokeQueue.push([
141
- $injectTokens.$provide,
142
- "service",
143
- [name, serviceFunction],
144
- ]);
137
+ this.invokeQueue.push([$t.$provide, "service", [name, serviceFunction]]);
145
138
  return this;
146
139
  }
147
140
 
@@ -154,11 +147,7 @@ export class NgModule {
154
147
  if (providerType && isFunction(providerType)) {
155
148
  providerType.$$moduleName = name;
156
149
  }
157
- this.invokeQueue.push([
158
- $injectTokens.$provide,
159
- "provider",
160
- [name, providerType],
161
- ]);
150
+ this.invokeQueue.push([$t.$provide, "provider", [name, providerType]]);
162
151
  return this;
163
152
  }
164
153
 
@@ -171,11 +160,7 @@ export class NgModule {
171
160
  if (decorFn && isFunction(decorFn)) {
172
161
  decorFn.$$moduleName = name;
173
162
  }
174
- this.configBlocks.push([
175
- $injectTokens.$provide,
176
- "decorator",
177
- [name, decorFn],
178
- ]);
163
+ this.configBlocks.push([$t.$provide, "decorator", [name, decorFn]]);
179
164
  return this;
180
165
  }
181
166
 
@@ -1,3 +1,4 @@
1
+ import { $injectTokens as $t } from "../../injection-tokens.js";
1
2
  import { isObject } from "../../shared/utils.js";
2
3
  import { filterFilter } from "../../filters/filter.js";
3
4
  import { jsonFilter } from "../../filters/filters.js";
@@ -8,48 +9,47 @@ import {
8
9
  $IsStateFilter,
9
10
  } from "../../router/state-filters.js";
10
11
 
11
- FilterProvider.$inject = ["$provide"];
12
+ const SUFFIX = "Filter";
12
13
 
13
- /**
14
- * @param {import('../../interface.ts').Provider} $provide
15
- */
16
- export function FilterProvider($provide) {
17
- const suffix = "Filter";
14
+ export class FilterProvider {
15
+ static $inject = [$t.$provide];
16
+
17
+ /**
18
+ * @param {import('../../interface.ts').Provider} $provide
19
+ */
20
+ constructor($provide) {
21
+ this.$provide = $provide;
22
+ this.register({
23
+ filter: filterFilter,
24
+ json: jsonFilter,
25
+ limitTo: limitToFilter,
26
+ orderBy: orderByFilter,
27
+ isState: $IsStateFilter,
28
+ includedByState: $IncludedByStateFilter,
29
+ });
30
+ }
18
31
 
19
32
  /**
20
33
  * @param {string|Record<string, import('../../interface.ts').FilterFactory>} name
21
- * @param {import('../../interface.ts').FilterFactory} factory
22
- * @return {import('../../interface.ts').ServiceProvider}
34
+ * @param {import('../../interface.ts').FilterFactory} [factory]
35
+ * @return {import('../../interface.ts').Provider}
23
36
  */
24
- function register(name, factory) {
37
+ register(name, factory) {
25
38
  if (isObject(name)) {
26
39
  const filters = {};
27
40
  Object.entries(name).forEach(([key, filter]) => {
28
- filters[key] = register(key, filter);
41
+ filters[key] = this.register(key, filter);
29
42
  });
30
43
  }
31
- return $provide.factory(name + suffix, factory);
44
+ return this.$provide.factory(name + SUFFIX, factory);
32
45
  }
33
46
 
34
- this.register = register;
35
-
36
- this.$get = [
37
- "$injector",
47
+ $get = [
48
+ $t.$injector,
38
49
  /**
39
50
  * @param {import("../../core/di/internal-injector.js").InjectorService} $injector
40
- * @returns
51
+ * @returns {import('../../interface.ts').FilterFn}
41
52
  */
42
- function ($injector) {
43
- return function (name) {
44
- return $injector.get(name + suffix);
45
- };
46
- },
53
+ ($injector) => (/** @type {string} */ name) => $injector.get(name + SUFFIX),
47
54
  ];
48
-
49
- register("filter", filterFilter);
50
- register("json", jsonFilter);
51
- register("limitTo", limitToFilter);
52
- register("orderBy", orderByFilter);
53
- register("isState", $IsStateFilter);
54
- register("includedByState", $IncludedByStateFilter);
55
55
  }
@@ -137,7 +137,7 @@ export class ASTInterpreter {
137
137
  if (ast.filter) right = this.$filter(ast.callee.name);
138
138
  if (!ast.filter) right = this.recurse(ast.callee, true);
139
139
  return ast.filter
140
- ? function (scope, locals, assign) {
140
+ ? (scope, locals, assign) => {
141
141
  const values = [];
142
142
  for (let i = 0; i < args.length; ++i) {
143
143
  const res = args[i](scope, locals, assign);
@@ -150,7 +150,7 @@ export class ASTInterpreter {
150
150
  ? { context: undefined, name: undefined, value }
151
151
  : value;
152
152
  }
153
- : function (scope, locals, assign) {
153
+ : (scope, locals, assign) => {
154
154
  const rhs = right(scope, locals, assign);
155
155
  let value;
156
156
  if (rhs.value != null && isFunction(rhs.value)) {
@@ -166,7 +166,7 @@ export class ASTInterpreter {
166
166
  case ASTType.AssignmentExpression:
167
167
  left = this.recurse(ast.left, true, 1);
168
168
  right = this.recurse(ast.right);
169
- return function (scope, locals, assign) {
169
+ return (scope, locals, assign) => {
170
170
  const lhs = left(scope, locals, assign);
171
171
  const rhs = right(scope, locals, assign);
172
172
  lhs.context[lhs.name] = rhs;
@@ -177,7 +177,7 @@ export class ASTInterpreter {
177
177
  ast.elements.forEach((expr) => {
178
178
  args.push(self.recurse(expr));
179
179
  });
180
- return function (scope, locals, assign) {
180
+ return (scope, locals, assign) => {
181
181
  const value = [];
182
182
  for (let i = 0; i < args.length; ++i) {
183
183
  value.push(args[i](scope, locals, assign));
@@ -204,7 +204,7 @@ export class ASTInterpreter {
204
204
  });
205
205
  }
206
206
  });
207
- return function (scope, locals, assign) {
207
+ return (scope, locals, assign) => {
208
208
  const value = {};
209
209
  for (let i = 0; i < args.length; ++i) {
210
210
  if (args[i].computed) {
@@ -220,17 +220,12 @@ export class ASTInterpreter {
220
220
  return context ? { value } : value;
221
221
  };
222
222
  case ASTType.ThisExpression:
223
- return function (scope) {
224
- return context ? { value: scope } : scope;
225
- };
223
+ return (scope) => (context ? { value: scope } : scope);
226
224
  case ASTType.LocalsExpression:
227
- return function (scope, locals) {
228
- return context ? { value: locals } : locals;
229
- };
225
+ return (scope, locals) => (context ? { value: locals } : locals);
230
226
  case ASTType.NGValueParameter:
231
- return function (scope, locals, assign) {
232
- return context ? { value: assign } : assign;
233
- };
227
+ return (scope, locals, assign) =>
228
+ context ? { value: assign } : assign;
234
229
  }
235
230
  }
236
231
 
@@ -241,7 +236,7 @@ export class ASTInterpreter {
241
236
  * @returns {function} The unary plus function.
242
237
  */
243
238
  "unary+"(argument, context) {
244
- return function (scope, locals, assign) {
239
+ return (scope, locals, assign) => {
245
240
  let arg = argument(scope, locals, assign);
246
241
  if (isDefined(arg)) {
247
242
  arg = +arg;
@@ -259,7 +254,7 @@ export class ASTInterpreter {
259
254
  * @returns {function} The unary minus function.
260
255
  */
261
256
  "unary-"(argument, context) {
262
- return function (scope, locals, assign) {
257
+ return (scope, locals, assign) => {
263
258
  let arg = argument(scope, locals, assign);
264
259
  if (isDefined(arg)) {
265
260
  arg = -arg;
@@ -277,7 +272,7 @@ export class ASTInterpreter {
277
272
  * @returns {function} The unary negation function.
278
273
  */
279
274
  "unary!"(argument, context) {
280
- return function (scope, locals, assign) {
275
+ return (scope, locals, assign) => {
281
276
  const arg = !argument(scope, locals, assign);
282
277
  return context ? { value: arg } : arg;
283
278
  };
@@ -291,7 +286,7 @@ export class ASTInterpreter {
291
286
  * @returns {function} The binary plus function.
292
287
  */
293
288
  "binary+"(left, right, context) {
294
- return function (scope, locals, assign) {
289
+ return (scope, locals, assign) => {
295
290
  const lhs = left(scope, locals, assign);
296
291
  const rhs = right(scope, locals, assign);
297
292
  const arg = plusFn(lhs, rhs);
@@ -307,7 +302,7 @@ export class ASTInterpreter {
307
302
  * @returns {function} The binary minus function.
308
303
  */
309
304
  "binary-"(left, right, context) {
310
- return function (scope, locals, assign) {
305
+ return (scope, locals, assign) => {
311
306
  const lhs = left(scope, locals, assign);
312
307
  const rhs = right(scope, locals, assign);
313
308
  const arg = (isDefined(lhs) ? lhs : 0) - (isDefined(rhs) ? rhs : 0);
@@ -323,14 +318,14 @@ export class ASTInterpreter {
323
318
  * @returns {function} The binary multiplication function.
324
319
  */
325
320
  "binary*"(left, right, context) {
326
- return function (scope, locals, assign) {
321
+ return (scope, locals, assign) => {
327
322
  const arg = left(scope, locals, assign) * right(scope, locals, assign);
328
323
  return context ? { value: arg } : arg;
329
324
  };
330
325
  }
331
326
 
332
327
  "binary/"(left, right, context) {
333
- return function (scope, locals, assign) {
328
+ return (scope, locals, assign) => {
334
329
  const arg = left(scope, locals, assign) / right(scope, locals, assign);
335
330
  return context ? { value: arg } : arg;
336
331
  };
@@ -344,7 +339,7 @@ export class ASTInterpreter {
344
339
  * @returns {function} The binary division function.
345
340
  */
346
341
  "binary%"(left, right, context) {
347
- return function (scope, locals, assign) {
342
+ return (scope, locals, assign) => {
348
343
  const arg = left(scope, locals, assign) % right(scope, locals, assign);
349
344
  return context ? { value: arg } : arg;
350
345
  };
@@ -358,7 +353,7 @@ export class ASTInterpreter {
358
353
  * @returns {function} The binary strict equality function.
359
354
  */
360
355
  "binary==="(left, right, context) {
361
- return function (scope, locals, assign) {
356
+ return (scope, locals, assign) => {
362
357
  const arg = left(scope, locals, assign) === right(scope, locals, assign);
363
358
  return context ? { value: arg } : arg;
364
359
  };
@@ -372,7 +367,7 @@ export class ASTInterpreter {
372
367
  * @returns {function} The binary strict inequality function.
373
368
  */
374
369
  "binary!=="(left, right, context) {
375
- return function (scope, locals, assign) {
370
+ return (scope, locals, assign) => {
376
371
  const arg = left(scope, locals, assign) !== right(scope, locals, assign);
377
372
  return context ? { value: arg } : arg;
378
373
  };
@@ -386,7 +381,7 @@ export class ASTInterpreter {
386
381
  * @returns {function} The binary equality function.
387
382
  */
388
383
  "binary=="(left, right, context) {
389
- return function (scope, locals, assign) {
384
+ return (scope, locals, assign) => {
390
385
  const arg = left(scope, locals, assign) == right(scope, locals, assign);
391
386
  return context ? { value: arg } : arg;
392
387
  };
@@ -400,7 +395,7 @@ export class ASTInterpreter {
400
395
  * @returns {function} The binary inequality function.
401
396
  */
402
397
  "binary!="(left, right, context) {
403
- return function (scope, locals, assign) {
398
+ return (scope, locals, assign) => {
404
399
  const arg = left(scope, locals, assign) != right(scope, locals, assign);
405
400
  return context ? { value: arg } : arg;
406
401
  };
@@ -414,7 +409,7 @@ export class ASTInterpreter {
414
409
  * @returns {function} The binary less-than function.
415
410
  */
416
411
  "binary<"(left, right, context) {
417
- return function (scope, locals, assign) {
412
+ return (scope, locals, assign) => {
418
413
  const arg = left(scope, locals, assign) < right(scope, locals, assign);
419
414
  return context ? { value: arg } : arg;
420
415
  };
@@ -428,7 +423,7 @@ export class ASTInterpreter {
428
423
  * @returns {function} The binary greater-than function.
429
424
  */
430
425
  "binary>"(left, right, context) {
431
- return function (scope, locals, assign) {
426
+ return (scope, locals, assign) => {
432
427
  const arg = left(scope, locals, assign) > right(scope, locals, assign);
433
428
  return context ? { value: arg } : arg;
434
429
  };
@@ -442,7 +437,7 @@ export class ASTInterpreter {
442
437
  * @returns {function} The binary less-than-or-equal-to function.
443
438
  */
444
439
  "binary<="(left, right, context) {
445
- return function (scope, locals, assign) {
440
+ return (scope, locals, assign) => {
446
441
  const arg = left(scope, locals, assign) <= right(scope, locals, assign);
447
442
  return context ? { value: arg } : arg;
448
443
  };
@@ -456,7 +451,7 @@ export class ASTInterpreter {
456
451
  * @returns {function} The binary greater-than-or-equal-to function.
457
452
  */
458
453
  "binary>="(left, right, context) {
459
- return function (scope, locals, assign) {
454
+ return (scope, locals, assign) => {
460
455
  const arg = left(scope, locals, assign) >= right(scope, locals, assign);
461
456
  return context ? { value: arg } : arg;
462
457
  };
@@ -483,7 +478,7 @@ export class ASTInterpreter {
483
478
  * @returns {function} The binary logical OR function.
484
479
  */
485
480
  "binary||"(left, right, context) {
486
- return function (scope, locals, assign) {
481
+ return (scope, locals, assign) => {
487
482
  const arg = left(scope, locals, assign) || right(scope, locals, assign);
488
483
  return context ? { value: arg } : arg;
489
484
  };
@@ -498,7 +493,7 @@ export class ASTInterpreter {
498
493
  * @returns {function} The ternary conditional function.
499
494
  */
500
495
  "ternary?:"(test, alternate, consequent, context) {
501
- return function (scope, locals, assign) {
496
+ return (scope, locals, assign) => {
502
497
  const arg = test(scope, locals, assign)
503
498
  ? alternate(scope, locals, assign)
504
499
  : consequent(scope, locals, assign);
@@ -513,9 +508,8 @@ export class ASTInterpreter {
513
508
  * @returns {import("./interface.ts").CompiledExpressionFunction} The function returning the literal value.
514
509
  */
515
510
  value(value, context) {
516
- return function () {
517
- return context ? { context: undefined, name: undefined, value } : value;
518
- };
511
+ return () =>
512
+ context ? { context: undefined, name: undefined, value } : value;
519
513
  }
520
514
 
521
515
  /**
@@ -526,7 +520,7 @@ export class ASTInterpreter {
526
520
  * @returns {import("./interface.ts").CompiledExpressionFunction} The function returning the identifier value.
527
521
  */
528
522
  identifier(name, context, create) {
529
- return function (scope, locals) {
523
+ return (scope, locals) => {
530
524
  const base = locals && name in locals ? locals : scope;
531
525
  if (create && create !== 1 && base && base[name] == null) {
532
526
  base[name] = {};
@@ -551,7 +545,7 @@ export class ASTInterpreter {
551
545
  * @returns {function} The function returning the computed member value.
552
546
  */
553
547
  computedMember(left, right, context, create) {
554
- return function (scope, locals, assign) {
548
+ return (scope, locals, assign) => {
555
549
  const lhs = left(scope, locals, assign);
556
550
  let rhs;
557
551
  let value;
@@ -581,7 +575,7 @@ export class ASTInterpreter {
581
575
  * @returns {function} The function returning the non-computed member value.
582
576
  */
583
577
  nonComputedMember(left, right, context, create) {
584
- return function (scope, locals, assign) {
578
+ return (scope, locals, assign) => {
585
579
  const lhs = left(scope, locals, assign);
586
580
  if (create && create !== 1) {
587
581
  if (lhs && lhs[right] == null) {
@@ -1,7 +1,7 @@
1
1
  import { isDefined } from "../../shared/utils.js";
2
- import { urlResolve } from "../url-utils/url-utils.js";
2
+ import { urlResolve } from "../../shared/url-utils/url-utils.js";
3
3
 
4
- /** @typedef {import('../../interface.ts').ServiceProvider} ServiceProvider } */
4
+ /** @typedef {import('../../interface.ts').ServiceProvider} ServiceProvider */
5
5
 
6
6
  /**
7
7
  * Private service to sanitize uris for links and images. Used by $compile.
@@ -53,7 +53,7 @@ export class SanitizeUriProvider {
53
53
  }
54
54
 
55
55
  /**
56
- * @returns {import("./interface.js").SanitizerFn} Sanitizer function.
56
+ * @returns {import("./interface").SanitizerFn}
57
57
  */
58
58
  $get() {
59
59
  return (uri, isMediaUrl) => {
@@ -29,7 +29,7 @@ export function nextId() {
29
29
  */
30
30
  let $parse;
31
31
 
32
- /**@type {import('../exception-handler.js').ErrorHandler} */
32
+ /**@type {import('../../services/exception/exception-handler.js').ErrorHandler} */
33
33
  let $exceptionHandler;
34
34
 
35
35
  /**
@@ -55,7 +55,7 @@ export class RootScopeProvider {
55
55
  "$exceptionHandler",
56
56
  "$parse",
57
57
  /**
58
- * @param {import('../exception-handler.js').ErrorHandler} exceptionHandler
58
+ * @param {import('../../services/exception/exception-handler.js').ErrorHandler} exceptionHandler
59
59
  * @param {import('../parse/interface.ts').ParseService} parse
60
60
  */
61
61
  (exceptionHandler, parse) => {
@@ -5,6 +5,9 @@ import { $injectTokens } from "../../injection-tokens.js";
5
5
 
6
6
  export const REGEX_STRING_REGEXP = /^\/(.+)\/([a-z]*)$/;
7
7
 
8
+ /**
9
+ * @type {Record<string, import("../../interface.js").DirectiveFactory>}
10
+ */
8
11
  export const ngAttributeAliasDirectives = {};
9
12
 
10
13
  // boolean attrs are evaluated
@@ -47,10 +50,10 @@ Object.entries(ALIASED_ATTR).forEach(([ngAttr]) => {
47
50
  link(scope, element, attr) {
48
51
  // special case ngPattern when a literal regular expression value
49
52
  // is used as the expression (this way we don't have to watch anything).
50
- if (ngAttr === "ngPattern" && attr.ngPattern.charAt(0) === "/") {
51
- const match = attr.ngPattern.match(REGEX_STRING_REGEXP);
53
+ if (ngAttr === "ngPattern" && attr["ngPattern"].charAt(0) === "/") {
54
+ const match = attr["ngPattern"].match(REGEX_STRING_REGEXP);
52
55
  if (match) {
53
- attr.$set("ngPattern", new RegExp(match[1], match[2]));
56
+ attr.$set("ngPattern", new RegExp(match[1], match[2]).toString());
54
57
  return;
55
58
  }
56
59
  }
@@ -76,7 +79,7 @@ Object.entries(ALIASED_ATTR).forEach(([ngAttr]) => {
76
79
 
77
80
  if (
78
81
  attrName === "href" &&
79
- toString.call(element.href) === "[object SVGAnimatedString]"
82
+ toString.call(element["href"]) === "[object SVGAnimatedString]"
80
83
  ) {
81
84
  name = "xlinkHref";
82
85
  attr.$attr[name] = "href";
@@ -4,6 +4,10 @@ import { directiveNormalize } from "../../shared/utils.js";
4
4
  * A collection of directives that allows creation of custom event handlers that are defined as
5
5
  * AngularTS expressions and are compiled and executed within the current scope.
6
6
  */
7
+
8
+ /**
9
+ * @type {Record<string, import("../../interface.js").DirectiveFactory>}
10
+ */
7
11
  export const ngEventDirectives = {};
8
12
 
9
13
  "click copy cut dblclick focus blur keydown keyup load mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup paste submit touchstart touchend touchmove"
@@ -15,7 +19,7 @@ export const ngEventDirectives = {};
15
19
  "$exceptionHandler",
16
20
  /**
17
21
  * @param {import("../../core/parse/interface.ts").ParseService} $parse
18
- * @param {import('../../core/exception-handler.js').ErrorHandler} $exceptionHandler
22
+ * @param {import('../../services/exception/exception-handler.js').ErrorHandler} $exceptionHandler
19
23
  * @returns
20
24
  */
21
25
  ($parse, $exceptionHandler) => {
@@ -32,7 +36,7 @@ export const ngEventDirectives = {};
32
36
  /**
33
37
  *
34
38
  * @param {import("../../core/parse/interface.ts").ParseService} $parse
35
- * @param {import('../../core/exception-handler.js').ErrorHandler} $exceptionHandler
39
+ * @param {import('../../services/exception/exception-handler.js').ErrorHandler} $exceptionHandler
36
40
  * @param {string} directiveName
37
41
  * @param {string} eventName
38
42
  * @returns {import("../../interface.ts").Directive}
@@ -1,4 +1,5 @@
1
1
  import { Angular } from "../../loader.js";
2
+ import { dealoc } from "../../shared/dom.js";
2
3
  // import { browserTrigger, wait } from "../../shared/test-utils.js";
3
4
 
4
5
  describe("ngDelete", () => {
@@ -6,6 +7,7 @@ describe("ngDelete", () => {
6
7
 
7
8
  beforeEach(() => {
8
9
  el = document.getElementById("app");
10
+ dealoc(el);
9
11
  el.innerHTML = "";
10
12
  let angular = new Angular();
11
13
  angular.module("default", []);