@angular-wave/angular.ts 0.7.3 → 0.7.5

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 (237) hide show
  1. package/.prettierignore +2 -1
  2. package/@types/core/exception-handler.d.ts +2 -2
  3. package/@types/core/task-tracker-factory.d.ts +2 -2
  4. package/@types/directive/channel/channel.d.ts +2 -18
  5. package/@types/directive/http/http.d.ts +3 -0
  6. package/@types/directive/script/script.d.ts +2 -2
  7. package/@types/directive/setter/setter.d.ts +2 -2
  8. package/@types/injection-tokens.d.ts +3 -0
  9. package/@types/interface.d.ts +11 -0
  10. package/@types/loader.d.ts +3 -4
  11. package/@types/router/params/param-factory.d.ts +10 -2
  12. package/@types/router/params/param.d.ts +22 -3
  13. package/@types/router/template-factory.d.ts +2 -2
  14. package/@types/router/url/url-service.d.ts +2 -2
  15. package/@types/services/http/http.d.ts +2 -2
  16. package/@types/services/http/interface.d.ts +219 -0
  17. package/@types/services/http-backend/http-backend.d.ts +26 -19
  18. package/@types/services/log/interface.d.ts +33 -0
  19. package/@types/services/log/log.d.ts +25 -0
  20. package/@types/{core → services}/pubsub/pubsub.d.ts +6 -6
  21. package/@types/services/template-cache/interface.d.ts +4 -0
  22. package/@types/services/template-cache/template-cache.d.ts +11 -0
  23. package/@types/services/template-request.d.ts +1 -1
  24. package/@types/shared/cache.d.ts +9 -0
  25. package/@types/shared/dom.d.ts +2 -2
  26. package/Makefile +2 -2
  27. package/dist/angular-ts.esm.js +168 -165
  28. package/dist/angular-ts.umd.js +168 -165
  29. package/dist/angular-ts.umd.min.js +1 -1
  30. package/docs/assets/scss/_variables_project.scss +1 -1
  31. package/docs/assets/scss/_variables_project_after_bs.scss +5 -5
  32. package/docs/assets/scss/index.scss +2 -3
  33. package/docs/content/_index.md +1 -1
  34. package/docs/content/docs/_index.md +59 -25
  35. package/docs/content/docs/directive/_index.md +4 -0
  36. package/docs/content/docs/directive/app.md +11 -0
  37. package/docs/content/docs/directive/aria.md +0 -0
  38. package/docs/content/docs/directive/blur.md +38 -0
  39. package/docs/content/docs/directive/channel.md +37 -0
  40. package/docs/content/docs/directive/class-even.md +47 -0
  41. package/docs/content/docs/directive/class-odd.md +48 -0
  42. package/docs/content/docs/directive/class.md +64 -0
  43. package/docs/content/docs/directive/click.md +38 -0
  44. package/docs/content/docs/directive/cloak.md +74 -0
  45. package/docs/content/docs/directive/copy.md +38 -0
  46. package/docs/content/docs/directive/cut.md +40 -0
  47. package/docs/content/docs/directive/dblclick.md +38 -0
  48. package/docs/content/docs/directive/focus.md +38 -0
  49. package/docs/content/docs/directive/include.md +7 -0
  50. package/docs/content/docs/directive/keydown.md +0 -0
  51. package/docs/content/docs/directive/keyup.md +0 -0
  52. package/docs/content/docs/directive/load.md +0 -0
  53. package/docs/content/docs/directive/mousedown.md +38 -0
  54. package/docs/content/docs/directive/mouseenter.md +38 -0
  55. package/docs/content/docs/directive/mouseleave.md +38 -0
  56. package/docs/content/docs/directive/mousemove.md +38 -0
  57. package/docs/content/docs/directive/mouseout.md +38 -0
  58. package/docs/content/docs/directive/mouseover.md +38 -0
  59. package/docs/content/docs/directive/mouseup.md +38 -0
  60. package/docs/content/docs/filter/_index.md +4 -0
  61. package/docs/content/docs/provider/_index.md +4 -0
  62. package/docs/content/docs/provider/eventBusProvider.md +35 -0
  63. package/docs/content/docs/provider/logProvider.md +59 -0
  64. package/docs/content/docs/provider/templateCacheProvider.md +35 -0
  65. package/docs/content/docs/service/_index.md +4 -0
  66. package/docs/content/docs/service/eventBus.md +56 -0
  67. package/docs/content/docs/service/log.md +113 -0
  68. package/docs/content/docs/service/templateCache.md +64 -0
  69. package/docs/hugo.yaml +3 -3
  70. package/docs/layouts/404.html +1 -1
  71. package/docs/layouts/partials/hooks/head-end.html +3 -0
  72. package/docs/layouts/shortcodes/showhtml.html +2 -0
  73. package/docs/layouts/shortcodes/showjs.html +2 -0
  74. package/docs/layouts/shortcodes/showraw.html +1 -0
  75. package/docs/static/examples/counter/counter-test.html +17 -0
  76. package/docs/static/examples/counter/counter.html +5 -0
  77. package/docs/static/examples/counter/counter.test.js +28 -0
  78. package/docs/static/examples/eventbus/eventbus-test.html +19 -0
  79. package/docs/static/examples/eventbus/eventbus.html +13 -0
  80. package/docs/static/examples/eventbus/eventbus.js +15 -0
  81. package/docs/static/examples/eventbus/eventbus.test.js +19 -0
  82. package/docs/static/examples/ng-blur/ng-blur.html +9 -0
  83. package/docs/static/examples/ng-channel/ng-channel-test.html +17 -0
  84. package/docs/static/examples/ng-channel/ng-channel.html +24 -0
  85. package/docs/static/examples/ng-channel/ng-channel.test.js +31 -0
  86. package/docs/static/examples/ng-class/ng-class.html +71 -0
  87. package/docs/static/examples/ng-class-even/ng-class-even.html +8 -0
  88. package/docs/static/examples/ng-class-odd/ng-class-odd.html +8 -0
  89. package/docs/static/examples/ng-click/ng-click.html +6 -0
  90. package/docs/static/examples/ng-copy/ng-copy.html +6 -0
  91. package/docs/static/examples/ng-cut/ng-cut.html +6 -0
  92. package/docs/static/examples/ng-dblclick/ng-dblclick.html +10 -0
  93. package/docs/static/examples/ng-focus/ng-focus.html +9 -0
  94. package/docs/static/examples/ng-mousedown/ng-mousedown.html +6 -0
  95. package/docs/static/examples/ng-mouseenter/ng-mouseenter.html +4 -0
  96. package/docs/static/examples/ng-mouseleave/ng-mouseleave.html +4 -0
  97. package/docs/static/examples/ng-mousemove/ng-mousemove.html +4 -0
  98. package/docs/static/examples/ng-mouseout/ng-mouseout.html +4 -0
  99. package/docs/static/examples/ng-mouseover/ng-mouseover.html +4 -0
  100. package/docs/static/examples/ng-mouseup/ng-mouseup.html +4 -0
  101. package/docs/static/typedoc/assets/hierarchy.js +1 -1
  102. package/docs/static/typedoc/assets/navigation.js +1 -1
  103. package/docs/static/typedoc/assets/search.js +1 -1
  104. package/docs/static/typedoc/classes/LogProvider.html +6 -0
  105. package/docs/static/typedoc/classes/PubSub.html +71 -0
  106. package/docs/static/typedoc/classes/PubSubProvider.html +3 -0
  107. package/docs/static/typedoc/classes/TemplateCacheProvider.html +5 -0
  108. package/docs/static/typedoc/hierarchy.html +1 -1
  109. package/docs/static/typedoc/index.html +1 -1
  110. package/docs/static/typedoc/interfaces/ChangesObject.html +1 -1
  111. package/docs/static/typedoc/interfaces/ComponentOptions.html +1 -1
  112. package/docs/static/typedoc/interfaces/Controller.html +1 -1
  113. package/docs/static/typedoc/interfaces/Directive.html +1 -1
  114. package/docs/static/typedoc/interfaces/DirectivePrePost.html +1 -1
  115. package/docs/static/typedoc/interfaces/HttpHeadersGetter.html +1 -0
  116. package/docs/static/typedoc/interfaces/HttpProviderDefaults.html +31 -0
  117. package/docs/static/typedoc/interfaces/HttpRequestConfigHeaders.html +6 -0
  118. package/docs/static/typedoc/interfaces/HttpRequestTransformer.html +1 -0
  119. package/docs/static/typedoc/interfaces/HttpResponse.html +8 -0
  120. package/docs/static/typedoc/interfaces/HttpResponseTransformer.html +1 -0
  121. package/docs/static/typedoc/interfaces/HttpService.html +38 -0
  122. package/docs/static/typedoc/interfaces/LogService.html +12 -0
  123. package/docs/static/typedoc/interfaces/NgModelController.html +1 -1
  124. package/docs/static/typedoc/interfaces/NgModelOptions.html +1 -1
  125. package/docs/static/typedoc/interfaces/Provider.html +1 -1
  126. package/docs/static/typedoc/interfaces/RequestConfig.html +48 -0
  127. package/docs/static/typedoc/interfaces/RequestShortcutConfig.html +38 -0
  128. package/docs/static/typedoc/interfaces/ServiceProvider.html +1 -1
  129. package/docs/static/typedoc/interfaces/TranscludeFunctionObject.html +1 -1
  130. package/docs/static/typedoc/types/AnnotatedFactory.html +1 -1
  131. package/docs/static/typedoc/types/CloneAttachFunction.html +1 -1
  132. package/docs/static/typedoc/types/ControllerConstructor.html +1 -1
  133. package/docs/static/typedoc/types/DirectiveCompileFn.html +1 -1
  134. package/docs/static/typedoc/types/DirectiveController.html +1 -1
  135. package/docs/static/typedoc/types/DirectiveFactory.html +1 -1
  136. package/docs/static/typedoc/types/DirectiveLinkFn.html +1 -1
  137. package/docs/static/typedoc/types/ExpandoStore.html +2 -0
  138. package/docs/static/typedoc/types/Expression.html +1 -1
  139. package/docs/static/typedoc/types/FilterFactory.html +1 -1
  140. package/docs/static/typedoc/types/FilterFn.html +1 -1
  141. package/docs/static/typedoc/types/HttpPromise.html +1 -0
  142. package/docs/static/typedoc/types/Injectable.html +1 -1
  143. package/docs/static/typedoc/types/InjectableFactory.html +1 -1
  144. package/docs/static/typedoc/types/LogCall.html +2 -0
  145. package/docs/static/typedoc/types/LogServiceFactory.html +2 -0
  146. package/docs/static/typedoc/types/OnChangesObject.html +1 -1
  147. package/docs/static/typedoc/types/SwapInsertPosition.html +1 -1
  148. package/docs/static/typedoc/types/TController.html +1 -1
  149. package/docs/static/typedoc/types/TemplateCache.html +2 -0
  150. package/docs/static/typedoc/variables/EventBus.html +1 -0
  151. package/index.html +4 -2
  152. package/package.json +3 -3
  153. package/src/animations/animate-css.js +5 -1
  154. package/src/binding.spec.js +3 -1
  155. package/src/core/compile/compile.spec.js +12 -5
  156. package/src/core/core.html +0 -1
  157. package/src/core/exception-handler.js +1 -1
  158. package/src/core/prop.spec.js +1 -0
  159. package/src/core/task-tracker-factory.js +2 -2
  160. package/src/directive/bind/bind.spec.js +1 -4
  161. package/src/directive/channel/channel.js +8 -24
  162. package/src/directive/channel/channel.spec.js +4 -2
  163. package/src/directive/class/class.js +16 -0
  164. package/src/directive/class/class.spec.js +2 -0
  165. package/src/directive/events/event.spec.js +1 -0
  166. package/src/directive/events/events.js +21 -24
  167. package/src/directive/form/form.spec.js +2 -0
  168. package/src/directive/http/http.js +4 -4
  169. package/src/directive/if/if.spec.js +2 -0
  170. package/src/directive/include/include.spec.js +1 -0
  171. package/src/directive/input/input.spec.js +1 -0
  172. package/src/directive/model/model.spec.js +3 -0
  173. package/src/directive/model-options/model-options.spec.js +2 -0
  174. package/src/directive/observe/{test.html → observe-demo.html} +0 -1
  175. package/src/directive/observe/observe.spec.js +2 -1
  176. package/src/{core/pubsub/pubsub.html → directive/on/on.html} +1 -1
  177. package/src/{core → directive/on}/on.spec.js +5 -3
  178. package/src/directive/on/on.test.js +11 -0
  179. package/src/directive/options/options.spec.js +1 -0
  180. package/src/directive/script/script.js +1 -1
  181. package/src/directive/select/select.spec.js +1 -0
  182. package/src/directive/setter/setter.js +1 -1
  183. package/src/directive/setter/setter.spec.js +2 -0
  184. package/src/directive/switch/switch.spec.js +1 -0
  185. package/src/injection-tokens.js +3 -0
  186. package/src/interface.ts +10 -0
  187. package/src/loader.js +3 -6
  188. package/src/public.js +3 -3
  189. package/src/router/directives/state-directives.spec.js +3 -1
  190. package/src/router/params/param-factory.js +6 -0
  191. package/src/router/params/param.js +22 -7
  192. package/src/router/router.html +0 -1
  193. package/src/router/router.test.js +2 -1
  194. package/src/router/services.spec.js +2 -0
  195. package/src/router/state/state-builder.js +3 -0
  196. package/src/router/state/state-builder.spec.js +2 -0
  197. package/src/router/state/state-service.js +1 -1
  198. package/src/router/state-filter.spec.js +2 -0
  199. package/src/router/template-factory.html +19 -0
  200. package/src/router/template-factory.js +3 -3
  201. package/src/router/template-factory.spec.js +1 -0
  202. package/src/router/template-factory.test.js +12 -0
  203. package/src/router/transition/transition-hook.js +1 -1
  204. package/src/router/url/url-service.js +1 -1
  205. package/src/router/view-scroll.spec.js +3 -1
  206. package/src/services/http/http.js +4 -4
  207. package/src/services/http/http.test.js +1 -1
  208. package/src/services/http/interface.ts +243 -0
  209. package/src/services/http-backend/http-backend.js +21 -11
  210. package/src/services/log/interface.ts +39 -0
  211. package/src/services/log/log.html +19 -0
  212. package/src/services/log/log.js +74 -0
  213. package/src/services/log/log.spec.js +64 -0
  214. package/src/services/log/log.test.js +11 -0
  215. package/src/services/pubsub/pubsub.html +19 -0
  216. package/src/{core → services}/pubsub/pubsub.js +6 -5
  217. package/src/{core → services}/pubsub/pubsub.spec.js +3 -3
  218. package/src/{core → services}/pubsub/pubsub.test.js +1 -1
  219. package/src/services/template-cache/interface.ts +4 -0
  220. package/src/services/template-cache/template-cache.html +22 -0
  221. package/src/services/template-cache/template-cache.js +13 -0
  222. package/src/services/template-cache/template-cache.spec.js +62 -0
  223. package/src/services/template-cache/template-cache.test.js +11 -0
  224. package/src/services/template-request.js +2 -2
  225. package/src/shared/cache.js +9 -0
  226. package/src/shared/dom.js +13 -7
  227. package/utils/express.js +7 -9
  228. package/@types/core/cache/cache-factory.d.ts +0 -22
  229. package/@types/core/cache/cache.d.ts +0 -28
  230. package/@types/services/log.d.ts +0 -53
  231. package/src/core/cache/cache-factory.js +0 -19
  232. package/src/core/cache/cache.js +0 -27
  233. package/src/directive/class/class.md +0 -90
  234. package/src/directive/cloak/cloak.md +0 -24
  235. package/src/examples/counter.html +0 -20
  236. package/src/services/log.js +0 -95
  237. package/src/services/log.md +0 -39
@@ -1,4 +1,4 @@
1
- /* Version: 0.7.3 - July 4, 2025 23:40:52 */
1
+ /* Version: 0.7.5 - July 12, 2025 01:24:07 */
2
2
  const VALID_CLASS = "ng-valid";
3
3
  const INVALID_CLASS = "ng-invalid";
4
4
  const PRISTINE_CLASS = "ng-pristine";
@@ -1130,36 +1130,29 @@ function hasOwn(obj, key) {
1130
1130
  return Object.prototype.hasOwnProperty.call(obj, key);
1131
1131
  }
1132
1132
 
1133
- /**
1134
- * @typedef {Object} ExpandoStore
1135
- * @property {!Object<string, any>} data
1136
- *
1137
- */
1138
-
1139
- const EXPANDO = "ng";
1140
-
1141
1133
  /**
1142
1134
  * Expando cache for adding properties to DOM nodes with JavaScript.
1143
1135
  * This used to be an Object in JQLite decorator, but swapped out for a Map
1144
1136
  * for performance reasons and convenience methods. A proxy is available for
1145
1137
  * additional logic handling.
1146
1138
  *
1147
- * @type {Map<number, ExpandoStore>}
1139
+ * @type {Map<number, import('../interface.ts').ExpandoStore>}
1148
1140
  */
1149
1141
  const Cache = new Map();
1150
1142
 
1151
- /**
1152
- * Key for storing scope data, attached to an element
1153
- */
1154
- const SCOPE_KEY = "$scope";
1143
+ /** @type {number} */
1144
+ let jqId = 1;
1155
1145
 
1156
1146
  /**
1157
1147
  * Key for storing isolate scope data, attached to an element
1158
1148
  */
1159
1149
  const ISOLATE_SCOPE_KEY = "$isolateScope";
1150
+ const EXPANDO = "ng";
1160
1151
 
1161
- /** @type {number} */
1162
- let jqId = 1;
1152
+ /**
1153
+ * Key for storing scope data, attached to an element
1154
+ */
1155
+ const SCOPE_KEY = "$scope";
1163
1156
 
1164
1157
  const DASH_LOWERCASE_REGEXP = /-([a-z])/g;
1165
1158
  const UNDERSCORE_LOWERCASE_REGEXP = /_([a-z])/g;
@@ -1260,7 +1253,7 @@ function removeElementData(element, name) {
1260
1253
  *
1261
1254
  * @param {Element} element
1262
1255
  * @param {boolean} [createIfNecessary=false]
1263
- * @returns {import("../core/cache/cache.js").ExpandoStore}
1256
+ * @returns {import("../interface.ts").ExpandoStore}
1264
1257
  */
1265
1258
  function getExpando(element, createIfNecessary = false) {
1266
1259
  let expandoId = element[EXPANDO];
@@ -1705,6 +1698,9 @@ function extractElementNode$1(element) {
1705
1698
  * angular.$injectTokens.$animate,
1706
1699
  * angular.$injectTokens.$templateRequest,
1707
1700
  * ];
1701
+ *
1702
+ * function myDirective($animate, $templateRequest) { ... }
1703
+ *
1708
1704
  * ```
1709
1705
  * @type Readonly<Record<string, string>>
1710
1706
  */
@@ -3966,31 +3962,28 @@ function SceProvider() {
3966
3962
  */
3967
3963
  const ngEventDirectives = {};
3968
3964
 
3969
- "click copy cut dblclick focus blur keydown keyup keypress load mouseover mousein mouseout mouseleave paste submit touchstart touchend touchmove"
3965
+ "click copy cut dblclick focus blur keydown keyup keypress load mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup paste submit touchstart touchend touchmove"
3970
3966
  .split(" ")
3971
- .forEach(
3972
- /** @param { string } eventName */
3973
- (eventName) => {
3974
- const directiveName = directiveNormalize(`ng-${eventName}`);
3975
- ngEventDirectives[directiveName] = [
3976
- "$parse",
3977
- "$exceptionHandler",
3978
- /**
3979
- * @param {import("../../core/parse/interface.ts").ParseService} $parse
3980
- * @param {import('../../core/exception-handler.js').ErrorHandler} $exceptionHandler
3981
- * @returns
3982
- */
3983
- ($parse, $exceptionHandler) => {
3984
- return createEventDirective(
3985
- $parse,
3986
- $exceptionHandler,
3987
- directiveName,
3988
- eventName,
3989
- );
3990
- },
3991
- ];
3992
- },
3993
- );
3967
+ .forEach((eventName) => {
3968
+ const directiveName = directiveNormalize(`ng-${eventName}`);
3969
+ ngEventDirectives[directiveName] = [
3970
+ "$parse",
3971
+ "$exceptionHandler",
3972
+ /**
3973
+ * @param {import("../../core/parse/interface.ts").ParseService} $parse
3974
+ * @param {import('../../core/exception-handler.js').ErrorHandler} $exceptionHandler
3975
+ * @returns
3976
+ */
3977
+ ($parse, $exceptionHandler) => {
3978
+ return createEventDirective(
3979
+ $parse,
3980
+ $exceptionHandler,
3981
+ directiveName,
3982
+ eventName,
3983
+ );
3984
+ },
3985
+ ];
3986
+ });
3994
3987
 
3995
3988
  /**
3996
3989
  *
@@ -10615,7 +10608,7 @@ function ngValueDirective() {
10615
10608
  scriptDirective.$inject = ["$templateCache"];
10616
10609
 
10617
10610
  /**
10618
- * @param {import('../../core/cache/cache-factory').TemplateCache} $templateCache
10611
+ * @param {import('../../services/template-cache/interface.ts').TemplateCache} $templateCache
10619
10612
  * @returns {import('../../interface.ts').Directive}
10620
10613
  */
10621
10614
  function scriptDirective($templateCache) {
@@ -11276,6 +11269,8 @@ function ngBindHtmlDirective($parse) {
11276
11269
  }
11277
11270
 
11278
11271
  /**
11272
+ * @param {string} name
11273
+ * @param {boolean|number} selector
11279
11274
  * @returns {() => import("../../interface.ts").Directive}
11280
11275
  */
11281
11276
  function classDirective(name, selector) {
@@ -11291,6 +11286,7 @@ function classDirective(name, selector) {
11291
11286
  link(scope, element, attr) {
11292
11287
  let classCounts = getCacheData(element, "$classCounts");
11293
11288
  let oldModulo = true;
11289
+ /** @type {string|undefined} */
11294
11290
  let oldClassString;
11295
11291
 
11296
11292
  if (!classCounts) {
@@ -11309,6 +11305,9 @@ function classDirective(name, selector) {
11309
11305
  ngClassWatchAction(toClassString(val));
11310
11306
  });
11311
11307
 
11308
+ /**
11309
+ * @param {string} classString
11310
+ */
11312
11311
  function addClasses(classString) {
11313
11312
  classString = digestClassCounts(split(classString), 1);
11314
11313
  if (hasAnimate(element)) {
@@ -11322,6 +11321,9 @@ function classDirective(name, selector) {
11322
11321
  }
11323
11322
  }
11324
11323
 
11324
+ /**
11325
+ * @param {string} classString
11326
+ */
11325
11327
  function removeClasses(classString) {
11326
11328
  classString = digestClassCounts(split(classString), -1);
11327
11329
  if (hasAnimate(element)) {
@@ -11335,6 +11337,10 @@ function classDirective(name, selector) {
11335
11337
  }
11336
11338
  }
11337
11339
 
11340
+ /**
11341
+ * @param {string} oldClassString
11342
+ * @param {string} newClassString
11343
+ */
11338
11344
  function updateClasses(oldClassString, newClassString) {
11339
11345
  const oldClassArray = split(oldClassString);
11340
11346
  const newClassArray = split(newClassString);
@@ -11385,6 +11391,9 @@ function classDirective(name, selector) {
11385
11391
  oldModulo = newModulo;
11386
11392
  }
11387
11393
 
11394
+ /**
11395
+ * @param {string} newClassString
11396
+ */
11388
11397
  function ngClassWatchAction(newClassString) {
11389
11398
  if (oldModulo === selector) {
11390
11399
  updateClasses(oldClassString, newClassString);
@@ -14868,23 +14877,17 @@ class AnimateRunner {
14868
14877
  }
14869
14878
 
14870
14879
  /**
14871
- * A cache for maping template names to their respective content.
14872
- *
14873
- * @typedef {Map<string, string>} TemplateCache
14874
- */
14875
-
14876
- /**
14877
- * Service responsible for providing a cache for templates.
14878
- *
14879
- * @class TemplateCacheProvider
14880
- * @description Provides an instance of a template cache that can be used to store and retrieve template content.
14880
+ * Provides an instance of a cache that can be used to store and retrieve template content.
14881
14881
  */
14882
14882
  class TemplateCacheProvider {
14883
+ constructor() {
14884
+ /** @type {import('./interface.ts').TemplateCache} */
14885
+ this.cache = new Map();
14886
+ }
14883
14887
  /**
14884
- * @description Returns a new instance of a `TemplateCache`, which is a Map used to store templates.
14885
- * @returns {TemplateCache} A new instance of the template cache (Map object).
14888
+ * @returns {import('./interface.ts').TemplateCache}
14886
14889
  */
14887
- $get = () => new Map();
14890
+ $get = () => this.cache;
14888
14891
  }
14889
14892
 
14890
14893
  /**
@@ -14931,7 +14934,7 @@ class TemplateCacheProvider {
14931
14934
  * @see {@link angular.ErrorHandler AngularTS ErrorHandler}
14932
14935
  */
14933
14936
 
14934
- /** @typedef {import('../services/log.js').LogService} LogService */
14937
+ /** @typedef {import('../services/log/interface.ts').LogService} LogService */
14935
14938
 
14936
14939
  /** @typedef {import("./error-handler.ts").ErrorHandler} ErrorHandler */
14937
14940
 
@@ -18497,8 +18500,8 @@ function HttpProvider() {
18497
18500
  *
18498
18501
  * @param {*} $browser
18499
18502
  * @param {*} $httpBackend
18500
- * @param {*} $rootScope
18501
- * @param {import("../../core/di/internal-injector").InjectorService} $injector
18503
+ * @param {import("../../core/scope/scope.js").Scope} $rootScope
18504
+ * @param {import("../../core/di/internal-injector.js").InjectorService} $injector
18502
18505
  * @param {*} $sce
18503
18506
  * @returns
18504
18507
  */
@@ -18936,9 +18939,9 @@ function HttpProvider() {
18936
18939
  Object.entries(eventHandlers).forEach(([key, eventHandler]) => {
18937
18940
  applyHandlers[key] = function (event) {
18938
18941
  if (useApplyAsync) {
18939
- setTimeout(() => $rootScope.$apply(callEventHandler));
18942
+ setTimeout(() => callEventHandler());
18940
18943
  } else {
18941
- $rootScope.$apply(callEventHandler);
18944
+ callEventHandler();
18942
18945
  }
18943
18946
 
18944
18947
  function callEventHandler() {
@@ -19046,17 +19049,27 @@ function HttpProvider() {
19046
19049
  * {@link ng.$http $http}.
19047
19050
  *
19048
19051
  */
19049
- function HttpBackendProvider() {
19050
- this.$get = [
19051
- "$browser",
19052
- /**
19053
- * @param {import('../browser.js').Browser} $browser
19054
- * @returns
19055
- */
19056
- function ($browser) {
19057
- return createHttpBackend($browser);
19058
- },
19059
- ];
19052
+ /**
19053
+ * HTTP backend used by the {@link ng.$http service} that delegates to
19054
+ * XMLHttpRequest object and deals with browser incompatibilities.
19055
+ *
19056
+ * You should never need to use this service directly, instead use the higher-level abstractions:
19057
+ * {@link ng.$http $http}.
19058
+ *
19059
+ */
19060
+ class HttpBackendProvider {
19061
+ constructor() {
19062
+ this.$get = [
19063
+ "$browser",
19064
+ /**
19065
+ * @param {import('../browser.js').Browser} $browser
19066
+ * @returns
19067
+ */
19068
+ function ($browser) {
19069
+ return createHttpBackend($browser);
19070
+ },
19071
+ ];
19072
+ }
19060
19073
  }
19061
19074
 
19062
19075
  /**
@@ -20190,57 +20203,27 @@ function urlsEqual(a, b) {
20190
20203
  return a === b || urlResolve(a).href === urlResolve(b).href;
20191
20204
  }
20192
20205
 
20193
- ///////////////////////////////////////////////////////////////////////////
20194
- // LogService
20195
- // see http://docs.angularjs.org/api/ng/service/$log
20196
- // see http://docs.angularjs.org/api/ng/provider/$logProvider
20197
- ///////////////////////////////////////////////////////////////////////////
20198
-
20199
- /**
20200
- * @typedef {(...args: any[]) => void} LogCall
20201
- */
20202
-
20203
- /**
20204
- * @typedef {Object} LogService
20205
- * @property {LogCall} debug - Log a debug messages
20206
- * @property {LogCall} error - Log a error message
20207
- * @property {LogCall} info - Log a info message
20208
- * @property {LogCall} log - Log a general message
20209
- * @property {LogCall} warn - Log a warning message
20210
- */
20211
-
20212
- /**
20213
- * @type {LogService}
20214
- */
20215
- let LogService = {
20216
- debug: undefined,
20217
- error: undefined,
20218
- info: undefined,
20219
- log: undefined,
20220
- warn: undefined,
20221
- };
20222
-
20223
20206
  /**
20224
- * @type {LogProvider}
20225
- * Use the `$logProvider` to configure how the application logs messages
20207
+ * Configuration provider for `$log` service
20226
20208
  */
20227
20209
  class LogProvider {
20210
+ /** @private */
20228
20211
  constructor() {
20229
- this.debug = true;
20212
+ /** @type {boolean} */
20213
+ this.debug = false;
20214
+ /** @private @type {import("./interface.ts").LogServiceFactory | null} */
20215
+ this._override = null;
20230
20216
  }
20231
20217
 
20232
20218
  /**
20233
- * @param {boolean=} flag enable or disable debug level messages
20234
- * @returns {*} current value if used as getter or itself (chaining) if used as setter
20219
+ * Override the default {@link LogService} implemenation
20220
+ * @param {import("./interface.ts").LogServiceFactory} fn
20235
20221
  */
20236
- debugEnabled(flag) {
20237
- if (typeof flag !== "undefined") {
20238
- this.debug = flag;
20239
- return this;
20240
- }
20241
- return this.debug;
20222
+ setLogger(fn) {
20223
+ this._override = fn;
20242
20224
  }
20243
20225
 
20226
+ /** @private */
20244
20227
  formatError(arg) {
20245
20228
  if (isError(arg)) {
20246
20229
  if (arg.stack) {
@@ -20255,6 +20238,10 @@ class LogProvider {
20255
20238
  return arg;
20256
20239
  }
20257
20240
 
20241
+ /**
20242
+ * @private
20243
+ * @param {string} type
20244
+ */
20258
20245
  consoleLog(type) {
20259
20246
  const console = window.console || {};
20260
20247
  const logFn = console[type] || console.log || (() => {});
@@ -20265,8 +20252,14 @@ class LogProvider {
20265
20252
  };
20266
20253
  }
20267
20254
 
20255
+ /**
20256
+ * @returns {import("./interface.ts").LogService}
20257
+ */
20268
20258
  $get() {
20269
- LogService = {
20259
+ if (this._override) {
20260
+ return this._override();
20261
+ }
20262
+ return {
20270
20263
  log: this.consoleLog("log"),
20271
20264
  info: this.consoleLog("info"),
20272
20265
  warn: this.consoleLog("warn"),
@@ -20280,7 +20273,6 @@ class LogProvider {
20280
20273
  };
20281
20274
  })(),
20282
20275
  };
20283
- return LogService;
20284
20276
  }
20285
20277
  }
20286
20278
 
@@ -21535,7 +21527,7 @@ class TaskTrackerFactoryProvider {
21535
21527
  /**
21536
21528
  * Creates a new `TaskTracker` instance.
21537
21529
  *
21538
- * @param {import('../services/log.js').LogService} log - The logging service.
21530
+ * @param {import('../services/log/interface.ts').LogService} log - The logging service.
21539
21531
  * @returns {TaskTracker} A new `TaskTracker` instance.
21540
21532
  */
21541
21533
  (log) => new TaskTracker(log),
@@ -21550,7 +21542,7 @@ class TaskTrackerFactoryProvider {
21550
21542
  */
21551
21543
  class TaskTracker {
21552
21544
  /**
21553
- * @param {import('../services/log.js').LogService} log - The logging service.
21545
+ * @param {import('../services/log/interface.ts').LogService} log - The logging service.
21554
21546
  */
21555
21547
  constructor(log) {
21556
21548
  /** @private */
@@ -21728,8 +21720,8 @@ function TemplateRequestProvider() {
21728
21720
  /**
21729
21721
  *
21730
21722
  * @param {import('../core/exception-handler.js').ErrorHandler} $exceptionHandler
21731
- * @param {import('../core/cache/cache-factory.js').TemplateCache} $templateCache
21732
- * @param {*} $http
21723
+ * @param {import('../services/template-cache/interface.ts').TemplateCache} $templateCache
21724
+ * @param {import("interface.ts").HttpService} $http
21733
21725
  * @param {*} $sce
21734
21726
  * @returns
21735
21727
  */
@@ -27660,12 +27652,15 @@ const isShorthand = (cfg) =>
27660
27652
  Object.prototype.hasOwnProperty.bind(cfg || {}),
27661
27653
  ).length === 0;
27662
27654
 
27663
- let DefType;
27664
- (function (DefType) {
27665
- DefType[(DefType["PATH"] = 0)] = "PATH";
27666
- DefType[(DefType["SEARCH"] = 1)] = "SEARCH";
27667
- DefType[(DefType["CONFIG"] = 2)] = "CONFIG";
27668
- })(DefType || (DefType = {}));
27655
+ /**
27656
+ * @private
27657
+ * @enum {number}
27658
+ */
27659
+ const DefType = {
27660
+ PATH: 0,
27661
+ SEARCH: 1,
27662
+ CONFIG: 2,
27663
+ };
27669
27664
 
27670
27665
  function getParamDeclaration(paramName, location, state) {
27671
27666
  const noReloadOnSearch =
@@ -27678,6 +27673,7 @@ function getParamDeclaration(paramName, location, state) {
27678
27673
  );
27679
27674
  return Object.assign(defaultConfig, paramConfig);
27680
27675
  }
27676
+
27681
27677
  function unwrapShorthand(cfg) {
27682
27678
  cfg = isShorthand(cfg) ? { value: cfg } : cfg;
27683
27679
  getStaticDefaultValue["__cacheable"] = true;
@@ -27687,6 +27683,7 @@ function unwrapShorthand(cfg) {
27687
27683
  const $$fn = isInjectable(cfg.value) ? cfg.value : getStaticDefaultValue;
27688
27684
  return Object.assign(cfg, { $$fn });
27689
27685
  }
27686
+
27690
27687
  function getType(cfg, urlType, location, id, paramTypes) {
27691
27688
  if (cfg.type && urlType && urlType.name !== "string")
27692
27689
  throw new Error(`Param '${id}' has two type configurations.`);
@@ -27711,6 +27708,7 @@ function getType(cfg, urlType, location, id, paramTypes) {
27711
27708
  }
27712
27709
  return cfg.type instanceof ParamType ? cfg.type : paramTypes.type(cfg.type);
27713
27710
  }
27711
+
27714
27712
  /** returns false, true, or the squash value to indicate the "default parameter url squash policy". */
27715
27713
  function getSquashPolicy(config, isOptional, defaultPolicy) {
27716
27714
  const squash = config.squash;
@@ -27721,6 +27719,7 @@ function getSquashPolicy(config, isOptional, defaultPolicy) {
27721
27719
  `Invalid squash policy: '${squash}'. Valid policies: false, true, or arbitrary string`,
27722
27720
  );
27723
27721
  }
27722
+
27724
27723
  function getReplace(config, arrayMode, isOptional, squash) {
27725
27724
  const defaultPolicy = [
27726
27725
  { from: "", to: isOptional || arrayMode ? undefined : "" },
@@ -27734,7 +27733,16 @@ function getReplace(config, arrayMode, isOptional, squash) {
27734
27733
  (item) => configuredKeys.indexOf(item.from) === -1,
27735
27734
  ).concat(replace);
27736
27735
  }
27736
+
27737
27737
  class Param {
27738
+ /**
27739
+ *
27740
+ * @param {*} id
27741
+ * @param {*} type
27742
+ * @param {DefType} location
27743
+ * @param {import("../url/url-config.js").UrlConfigProvider} urlConfig
27744
+ * @param {*} state
27745
+ */
27738
27746
  constructor(id, type, location, urlConfig, state) {
27739
27747
  const config = getParamDeclaration(id, location, state);
27740
27748
  type = getType(config, type, location, id, urlConfig.paramTypes);
@@ -28951,9 +28959,10 @@ class Rejection {
28951
28959
 
28952
28960
  /**
28953
28961
  * Configurable provider for an injectable event bus
28954
- * @implements {ServiceProvider}
28962
+ * @extends {ServiceProvider}
28955
28963
  */
28956
28964
  class PubSubProvider {
28965
+ /** @private */
28957
28966
  constructor() {
28958
28967
  /**
28959
28968
  * @type {PubSub}
@@ -29017,7 +29026,7 @@ class PubSub {
29017
29026
  * representation minimizes the number of object allocations and has been
29018
29027
  * shown to be faster than an array of objects with three key-value pairs or
29019
29028
  * three parallel arrays, especially on IE.) Once a subscription is removed
29020
- * via {@link #unsubscribe} or {@link #unsubscribeByKey}, the three
29029
+ * via {@link unsubscribe} or {@link unsubscribeByKey}, the three
29021
29030
  * corresponding array elements are deleted, and never reused. This means the
29022
29031
  * total number of subscriptions during the lifetime of the pubsub channel is
29023
29032
  * limited by the maximum length of a JavaScript array to (2^32 - 1) / 3 =
@@ -29047,7 +29056,7 @@ class PubSub {
29047
29056
  * is specified. Subscribing the same function to the same topic multiple
29048
29057
  * times will result in multiple function invocations while publishing.
29049
29058
  * Returns a subscription key that can be used to unsubscribe the function from
29050
- * the topic via {@link #unsubscribeByKey}.
29059
+ * the topic via {@link unsubscribeByKey}.
29051
29060
  *
29052
29061
  * @param {string} topic Topic to subscribe to.
29053
29062
  * @param {Function} fn Function to be invoked when a message is published to
@@ -29082,7 +29091,7 @@ class PubSub {
29082
29091
  * method on the given `opt_context` object, or in the global scope if
29083
29092
  * no context is specified, and is then unsubscribed. Returns a subscription
29084
29093
  * key that can be used to unsubscribe the function from the topic via
29085
- * {@link #unsubscribeByKey}.
29094
+ * {@link unsubscribeByKey}.
29086
29095
  *
29087
29096
  * @param {string} topic Topic to subscribe to.
29088
29097
  * @param {Function} fn Function to be invoked once and then unsubscribed when
@@ -29155,7 +29164,7 @@ class PubSub {
29155
29164
  }
29156
29165
 
29157
29166
  /**
29158
- * Removes a subscription based on the key returned by {@link #subscribe}.
29167
+ * Removes a subscription based on the key returned by {@link subscribe}.
29159
29168
  * No-op if no matching subscription is found. Returns a Boolean indicating
29160
29169
  * whether a subscription was removed.
29161
29170
  *
@@ -32061,8 +32070,8 @@ class TemplateFactoryProvider {
32061
32070
  "$templateRequest",
32062
32071
  "$injector",
32063
32072
  /**
32064
- * @param {any} $http
32065
- * @param {import("../core/cache/cache-factory.js").TemplateCache} $templateCache
32073
+ * @param {import("interface.ts").HttpService} $http
32074
+ * @param {import("../services/template-cache/interface.ts").TemplateCache} $templateCache
32066
32075
  * @param {any} $templateRequest
32067
32076
  * @param {import("../core/di/internal-injector.js").InjectorService} $injector
32068
32077
  * @returns
@@ -32161,7 +32170,7 @@ class TemplateFactoryProvider {
32161
32170
  if (url == null) return null;
32162
32171
  if (this._useHttp) {
32163
32172
  return this.$http
32164
- .get(url, {
32173
+ .get(/** @type {string} */ (url), {
32165
32174
  cache: this.$templateCache,
32166
32175
  headers: { Accept: "text/html" },
32167
32176
  })
@@ -33473,7 +33482,13 @@ class UrlRules {
33473
33482
  }
33474
33483
 
33475
33484
  class ParamFactory {
33485
+ /**
33486
+ * @param {import("../url/url-config.js").UrlConfigProvider} urlServiceConfig
33487
+ */
33476
33488
  constructor(urlServiceConfig) {
33489
+ /**
33490
+ * @type {import("../url/url-config.js").UrlConfigProvider}
33491
+ */
33477
33492
  this.urlServiceConfig = urlServiceConfig;
33478
33493
  }
33479
33494
 
@@ -33527,7 +33542,7 @@ class UrlService {
33527
33542
  * The nested [[UrlConfig]] API to configure the URL and retrieve URL information
33528
33543
  *
33529
33544
  * See: [[UrlConfig]] for details
33530
- * @type {import("./url-config").UrlConfigProvider}
33545
+ * @type {import("./url-config.js").UrlConfigProvider}
33531
33546
  */
33532
33547
  this.config = urlConfigProvider;
33533
33548
 
@@ -34042,6 +34057,9 @@ function getNavigableBuilder(isRoot) {
34042
34057
  };
34043
34058
  }
34044
34059
 
34060
+ /**
34061
+ * @param {import("../params/param-factory.js").ParamFactory} paramFactory
34062
+ */
34045
34063
  function getParamsBuilder(paramFactory) {
34046
34064
  return function (state) {
34047
34065
  const makeConfigParam = (_config, id) =>
@@ -35555,38 +35573,22 @@ function registerControllerCallbacks(
35555
35573
 
35556
35574
  ngChannelDirective.$inject = [$injectTokens.$eventBus];
35557
35575
  /**
35558
- * Dynamically updates an element's content based on events published on a specified channel.
35559
- * If data is sent via `$eventBus` on the specified `ngChannel`, the directive attempts to update the element's content accordingly,
35560
- * either by directly setting the inner HTML or merging the scope's data if the element contains a template.
35561
- *
35562
- * If the element has a template and incoming data is an object, the directive will merge all key/value pairs onto the scope,
35563
- * allowing Angular expressions (`{{ yourModel }}`) to be evaluated and rendered.
35564
- *
35565
- * When the scope is destroyed, the directive automatically unsubscribes from the channel.
35566
- * Example:
35567
- *
35568
- * HTML:
35569
- * <div ng-channel="userChannel">Hello {{ user.firstName }} {{ user.lastName }}</div>
35570
- *
35571
- * JavaScript:
35572
- * angular.$eventBus.publish('userChannel', { user: { firstName: 'John', lastName: 'Smith' } });
35573
- *
35574
- * @param {import("../../core/pubsub/pubsub.js").PubSub} $eventBus
35576
+ * @param {import("../../services/pubsub/pubsub.js").PubSub} $eventBus
35575
35577
  * @returns {import("../../interface.ts").Directive}
35576
35578
  */
35577
35579
  function ngChannelDirective($eventBus) {
35578
35580
  return {
35579
35581
  link: (scope, element, attrs) => {
35580
- const hasTemplate = element.childNodes.length > 0;
35581
35582
  const channel = attrs["ngChannel"];
35583
+ const hasTemplateContent = element.childNodes.length > 0;
35582
35584
 
35583
- const key = $eventBus.subscribe(channel, (val) => {
35584
- if (!hasTemplate) {
35585
- element.innerHTML = val;
35586
- } else {
35587
- if (isObject(val)) {
35588
- scope.$merge(val);
35585
+ const key = $eventBus.subscribe(channel, (value) => {
35586
+ if (hasTemplateContent) {
35587
+ if (isObject(value)) {
35588
+ scope.$merge(value);
35589
35589
  }
35590
+ } else {
35591
+ element.innerHTML = value;
35590
35592
  }
35591
35593
  });
35592
35594
 
@@ -35600,7 +35602,7 @@ function ngChannelDirective($eventBus) {
35600
35602
  ngSetterDirective.$inject = ["$parse", "$log"];
35601
35603
  /**
35602
35604
  * @param {import('../../core/parse/interface.ts').ParseService} $parse
35603
- * @param {import('../../services/log.js').LogService} $log
35605
+ * @param {import('../../services/log/interface.ts').LogService} $log
35604
35606
  * @returns {import('../../interface.ts').Directive}
35605
35607
  */
35606
35608
  function ngSetterDirective($parse, $log) {
@@ -35675,6 +35677,10 @@ const ngDeleteDirective = defineDirective("delete");
35675
35677
  const ngPostDirective = defineDirective("post");
35676
35678
  const ngPutDirective = defineDirective("put");
35677
35679
 
35680
+ /**
35681
+ * @typedef {"click" | "change" | "submit"} EventType
35682
+ */
35683
+
35678
35684
  /**
35679
35685
  * Selects DOM event to listen for based on the element type.
35680
35686
  *
@@ -35783,9 +35789,9 @@ function handleSwapResponse(html, swap, target, scope, $compile) {
35783
35789
  */
35784
35790
  function createHttpDirective(method, attrName) {
35785
35791
  /**
35786
- * @param {{ [key: string]: Function }} $http
35792
+ * @param {import("interface.ts").HttpService} $http
35787
35793
  * @param {import("../../core/compile/compile.js").CompileFn} $compile
35788
- * @param {import("../../services/log.js").LogService} $log
35794
+ * @param {import("../../services/log/interface.ts").LogService} $log
35789
35795
  * @returns {import('../../interface.ts').Directive}
35790
35796
  */
35791
35797
  return function ($http, $compile, $log) {
@@ -36074,18 +36080,15 @@ const modules = {};
36074
36080
 
36075
36081
  class Angular {
36076
36082
  constructor() {
36077
- Cache.clear(); // a ensure new instance of angular gets a clean cache
36078
-
36079
- /** @type {Map<number, import("./core/cache/cache.js").ExpandoStore>} */
36080
36083
  this.$cache = Cache;
36081
36084
 
36082
- /** @type {import('./core/pubsub/pubsub.js').PubSub} */
36085
+ /** @type {import('./services/pubsub/pubsub.js').PubSub} */
36083
36086
  this.$eventBus = EventBus;
36084
36087
 
36085
36088
  /**
36086
36089
  * @type {string} `version` from `package.json`
36087
36090
  */
36088
- this.version = "0.7.3"; //inserted via rollup plugin
36091
+ this.version = "0.7.5"; //inserted via rollup plugin
36089
36092
 
36090
36093
  /** @type {!Array<string|any>} */
36091
36094
  this.bootsrappedModules = [];