@angular-wave/angular.ts 0.7.8 → 0.8.0

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 (285) hide show
  1. package/@types/core/parse/parse.d.ts +6 -7
  2. package/@types/directive/bind/bind.d.ts +2 -1
  3. package/@types/index.d.ts +1 -1
  4. package/@types/interface.d.ts +3 -1
  5. package/@types/{public.d.ts → ng.d.ts} +2 -2
  6. package/@types/router/globals.d.ts +1 -1
  7. package/@types/router/path/path-utils.d.ts +8 -11
  8. package/@types/router/state/interface.d.ts +1 -1
  9. package/@types/router/state/state-object.d.ts +1 -1
  10. package/@types/router/state/state-service.d.ts +8 -7
  11. package/@types/router/state-filters.d.ts +24 -2
  12. package/@types/router/transition/transition.d.ts +12 -15
  13. package/@types/router/url/url-matcher.d.ts +3 -3
  14. package/@types/router/url/url-rule.d.ts +1 -0
  15. package/@types/router/url/url-rules.d.ts +26 -6
  16. package/@types/router/url/url-service.d.ts +28 -38
  17. package/@types/services/http/http.d.ts +48 -1
  18. package/@types/services/http-backend/http-backend.d.ts +48 -35
  19. package/@types/services/location/interface.d.ts +55 -0
  20. package/@types/services/location/location.d.ts +225 -252
  21. package/@types/shared/common.d.ts +0 -2
  22. package/@types/shared/interface.d.ts +0 -4
  23. package/@types/{router/common → shared}/queue.d.ts +2 -2
  24. package/@types/shared/url-utils/interface.d.ts +0 -1
  25. package/@types/shared/url-utils/url-utils.d.ts +0 -5
  26. package/@types/shared/utils.d.ts +29 -6
  27. package/Makefile +6 -3
  28. package/dist/angular-ts.esm.js +960 -1062
  29. package/dist/angular-ts.umd.js +960 -1062
  30. package/dist/angular-ts.umd.min.js +1 -1
  31. package/docs/assets/scss/index.scss +23 -0
  32. package/docs/content/_index.md +9 -8
  33. package/docs/content/docs/_index.md +1 -1
  34. package/docs/content/docs/directive/app.md +1 -1
  35. package/docs/content/docs/directive/bind.md +1 -1
  36. package/docs/content/docs/directive/blur.md +1 -1
  37. package/docs/content/docs/directive/channel.md +2 -2
  38. package/docs/content/docs/directive/class-even.md +1 -1
  39. package/docs/content/docs/directive/class-odd.md +1 -1
  40. package/docs/content/docs/directive/class.md +1 -1
  41. package/docs/content/docs/directive/click.md +1 -1
  42. package/docs/content/docs/directive/copy.md +1 -1
  43. package/docs/content/docs/directive/cut.md +1 -1
  44. package/docs/content/docs/directive/dblclick.md +1 -1
  45. package/docs/content/docs/directive/focus.md +1 -1
  46. package/docs/content/docs/directive/get.md +3 -3
  47. package/docs/content/docs/directive/keydown.md +1 -1
  48. package/docs/content/docs/directive/keyup.md +1 -1
  49. package/docs/content/docs/directive/load.md +1 -1
  50. package/docs/content/docs/directive/mousedown.md +1 -1
  51. package/docs/content/docs/directive/mouseenter.md +1 -1
  52. package/docs/content/docs/directive/mouseleave.md +1 -1
  53. package/docs/content/docs/directive/mousemove.md +1 -1
  54. package/docs/content/docs/directive/mouseout.md +1 -1
  55. package/docs/content/docs/directive/mouseover.md +1 -1
  56. package/docs/content/docs/directive/mouseup.md +1 -1
  57. package/docs/content/docs/directive/non-bindable.md +28 -0
  58. package/docs/content/docs/provider/locationProvider.md +26 -0
  59. package/docs/content/docs/provider/templateCacheProvider.md +2 -2
  60. package/docs/content/docs/service/location.md +57 -0
  61. package/docs/content/docs/service/url.md +5 -0
  62. package/docs/layouts/partials/hooks/head-end.html +1 -1
  63. package/docs/layouts/shortcodes/version.html +1 -0
  64. package/docs/static/examples/counter/counter-test.html +0 -4
  65. package/docs/static/examples/eventbus/eventbus-test.html +0 -4
  66. package/docs/static/examples/ng-non-bindable/ng-non-bindable-test.html +13 -0
  67. package/docs/static/examples/ng-non-bindable/ng-non-bindable.html +3 -0
  68. package/docs/static/examples/ng-non-bindable/ng-non-bindable.test.js +11 -0
  69. package/docs/static/typedoc/assets/highlight.css +6 -6
  70. package/docs/static/typedoc/assets/navigation.js +1 -1
  71. package/docs/static/typedoc/assets/search.js +1 -1
  72. package/docs/static/typedoc/classes/Location.html +55 -0
  73. package/docs/static/typedoc/classes/LocationProvider.html +20 -0
  74. package/docs/static/typedoc/index.html +1 -1
  75. package/docs/static/typedoc/interfaces/DefaultPorts.html +5 -0
  76. package/docs/static/typedoc/interfaces/Html5Mode.html +23 -0
  77. package/docs/static/typedoc/interfaces/Provider.html +2 -1
  78. package/docs/static/typedoc/interfaces/UrlParts.html +9 -0
  79. package/docs/static/typedoc/types/AnnotatedFactory.html +1 -1
  80. package/docs/static/typedoc/types/Expression.html +1 -1
  81. package/docs/static/typedoc/types/UrlChangeListener.html +5 -0
  82. package/docs/static/version.js +13 -0
  83. package/docs/test-results/.last-run.json +4 -0
  84. package/docs/test-results/static-examples-counter-counter-counter-example/error-context.md +50 -0
  85. package/package.json +1 -1
  86. package/src/{loader.js → angular.js} +1 -1
  87. package/src/angular.spec.js +189 -21
  88. package/src/animations/animate-css.js +17 -18
  89. package/src/animations/animate.spec.js +1 -1
  90. package/src/animations/shared.js +2 -3
  91. package/src/binding.spec.js +1 -1
  92. package/src/core/compile/compile.js +4 -7
  93. package/src/core/compile/compile.spec.js +1 -1
  94. package/src/core/controller/controller.spec.js +1 -1
  95. package/src/core/controller/controller.test.js +1 -0
  96. package/src/core/di/injector.js +7 -8
  97. package/src/core/di/injector.spec.js +2 -2
  98. package/src/core/di/injector.test.js +2 -2
  99. package/src/core/di/internal-injector.js +3 -6
  100. package/src/core/filter/filter.js +1 -1
  101. package/src/core/filter/filter.spec.js +1 -1
  102. package/src/core/filter/filter.test.js +1 -0
  103. package/src/core/interpolate/interpolate.js +4 -6
  104. package/src/core/interpolate/interpolate.spec.js +1 -1
  105. package/src/core/interpolate/interpolate.test.js +1 -0
  106. package/src/core/parse/ast/ast.spec.js +1 -1
  107. package/src/core/parse/ast/ast.test.js +1 -1
  108. package/src/core/parse/lexer/lexer.spec.js +1 -1
  109. package/src/core/parse/parse.js +150 -146
  110. package/src/core/parse/parse.spec.js +17 -16
  111. package/src/core/prop.spec.js +1 -1
  112. package/src/core/root-element.spec.js +1 -1
  113. package/src/core/scope/scope.js +10 -11
  114. package/src/core/scope/scope.spec.js +3 -4
  115. package/src/directive/aria/aria.spec.js +1 -1
  116. package/src/directive/aria/aria.test.js +1 -0
  117. package/src/directive/attrs/attrs.spec.js +1 -1
  118. package/src/directive/attrs/attrs.test.js +1 -0
  119. package/src/directive/attrs/boolean.spec.js +1 -1
  120. package/src/directive/attrs/boolean.test.js +1 -0
  121. package/src/directive/attrs/element-style.spec.js +1 -1
  122. package/src/directive/attrs/element-style.test.js +1 -0
  123. package/src/directive/attrs/src.spec.js +1 -1
  124. package/src/directive/attrs/src.test.js +1 -0
  125. package/src/directive/bind/bind-html.spec.js +1 -1
  126. package/src/directive/bind/bind.js +1 -0
  127. package/src/directive/bind/bind.spec.js +1 -1
  128. package/src/directive/bind/bind.test.js +1 -0
  129. package/src/directive/channel/channel.spec.js +1 -1
  130. package/src/directive/channel/channel.test.js +1 -0
  131. package/src/directive/class/class.spec.js +1 -1
  132. package/src/directive/class/class.test.js +1 -0
  133. package/src/directive/cloak/cloak.spec.js +1 -1
  134. package/src/directive/cloak/cloak.test.js +1 -0
  135. package/src/directive/controller/controller.spec.js +1 -1
  136. package/src/directive/controller/controller.test.js +1 -0
  137. package/src/directive/events/click.spec.js +1 -1
  138. package/src/directive/events/event.spec.js +1 -1
  139. package/src/directive/events/events.test.js +1 -0
  140. package/src/directive/form/form.js +8 -5
  141. package/src/directive/form/form.spec.js +1 -1
  142. package/src/directive/form/form.test.js +1 -0
  143. package/src/directive/http/delete.spec.js +1 -1
  144. package/src/directive/http/form-test.html +18 -0
  145. package/src/directive/http/get.spec.js +1 -1
  146. package/src/directive/http/http.js +12 -3
  147. package/src/directive/http/post.spec.js +504 -9
  148. package/src/directive/http/put.spec.js +1 -1
  149. package/src/directive/if/if.spec.js +1 -1
  150. package/src/directive/include/include.spec.js +1 -1
  151. package/src/directive/init/init.spec.js +1 -1
  152. package/src/directive/init/init.test.js +1 -0
  153. package/src/directive/input/input.js +13 -15
  154. package/src/directive/input/input.spec.js +1 -2
  155. package/src/directive/input/input.test.js +1 -0
  156. package/src/directive/messages/messages.spec.js +1 -1
  157. package/src/directive/messages/messages.test.js +1 -0
  158. package/src/directive/model/model.js +13 -13
  159. package/src/directive/model/model.spec.js +1 -1
  160. package/src/directive/model/model.test.js +1 -0
  161. package/src/directive/model-options/model-option.test.js +1 -0
  162. package/src/directive/model-options/model-options.js +1 -1
  163. package/src/directive/model-options/model-options.spec.js +1 -1
  164. package/src/directive/non-bindable/non-bindable.spec.js +1 -1
  165. package/src/directive/non-bindable/non-bindable.test.js +1 -0
  166. package/src/directive/observe/observe.spec.js +1 -1
  167. package/src/directive/observe/observe.test.js +1 -0
  168. package/src/directive/on/on.spec.js +1 -1
  169. package/src/directive/on/on.test.js +1 -0
  170. package/src/directive/options/options.spec.js +1 -1
  171. package/src/directive/options/options.test.js +1 -0
  172. package/src/directive/ref/href.spec.js +1 -1
  173. package/src/directive/ref/href.test.js +2 -0
  174. package/src/directive/ref/ref.spec.js +1 -1
  175. package/src/directive/repeat/repeat.spec.js +2 -3
  176. package/src/directive/repeat/repeat.test.js +1 -0
  177. package/src/directive/script/script.spec.js +1 -1
  178. package/src/directive/script/script.test.js +1 -0
  179. package/src/directive/select/select.js +1 -1
  180. package/src/directive/select/select.spec.js +1 -1
  181. package/src/directive/select/select.test.js +1 -0
  182. package/src/directive/setter/setter.spec.js +1 -1
  183. package/src/directive/setter/setter.test.js +1 -0
  184. package/src/directive/show-hide/show-hide.spec.js +1 -1
  185. package/src/directive/show-hide/show-hide.test.js +1 -0
  186. package/src/directive/style/style.spec.js +1 -1
  187. package/src/directive/style/style.test.js +1 -0
  188. package/src/directive/switch/switch.spec.js +1 -1
  189. package/src/directive/switch/switch.test.js +1 -0
  190. package/src/directive/validators/validators.js +82 -84
  191. package/src/directive/validators/validators.spec.js +5 -4
  192. package/src/directive/validators/validators.test.js +1 -0
  193. package/src/filters/filter.spec.js +1 -1
  194. package/src/filters/filters.spec.js +1 -1
  195. package/src/filters/limit-to.js +2 -3
  196. package/src/filters/limit-to.spec.js +1 -1
  197. package/src/filters/order-by.spec.js +1 -1
  198. package/src/index.js +1 -1
  199. package/src/injection-tokens.js +5 -1
  200. package/src/interface.ts +3 -1
  201. package/src/loader.md +0 -155
  202. package/src/{public.js → ng.js} +7 -8
  203. package/src/{public.spec.js → ng.spec.js} +1 -1
  204. package/src/router/directives/state-directives.spec.js +8 -7
  205. package/src/router/directives/view-directive.js +2 -8
  206. package/src/router/directives/view-directive.spec.js +8 -9
  207. package/src/router/{common/common.html → glob/glob.html} +2 -3
  208. package/src/router/{common/common.test.js → glob/glob.test.js} +2 -1
  209. package/src/router/globals.js +1 -1
  210. package/src/router/path/path-utils.js +5 -0
  211. package/src/router/router-test-hashbang.html +45 -0
  212. package/src/router/services.spec.js +5 -6
  213. package/src/router/state/interface.ts +1 -1
  214. package/src/router/state/state-builder.js +3 -3
  215. package/src/router/state/state-builder.spec.js +1 -1
  216. package/src/router/state/state-object.js +1 -1
  217. package/src/router/state/state-registry.js +2 -2
  218. package/src/router/state/state-service.js +13 -10
  219. package/src/router/state/state.spec.js +23 -22
  220. package/src/router/state/state.test.js +1 -0
  221. package/src/router/state/views.js +1 -1
  222. package/src/router/state-filter.spec.js +1 -1
  223. package/src/router/state-filters.js +13 -9
  224. package/src/router/template-factory.js +5 -4
  225. package/src/router/template-factory.spec.js +1 -1
  226. package/src/router/transition/hook-registry.js +1 -1
  227. package/src/router/transition/transition-service.js +6 -5
  228. package/src/router/transition/transition.js +4 -4
  229. package/src/router/url/url-matcher.js +3 -3
  230. package/src/router/url/url-rule.js +1 -0
  231. package/src/router/url/url-rules.js +8 -5
  232. package/src/router/url/url-service.js +77 -76
  233. package/src/router/url/url-service.spec.js +55 -39
  234. package/src/router/url/url.test.js +1 -0
  235. package/src/router/view/view.js +4 -5
  236. package/src/router/view/view.spec.js +10 -12
  237. package/src/router/view/view.test.js +1 -0
  238. package/src/router/view-hook.spec.js +1 -1
  239. package/src/router/view-scroll.spec.js +1 -1
  240. package/src/services/anchor-scroll.html +2 -2
  241. package/src/services/anchor-scroll.js +5 -4
  242. package/src/services/http/http.js +9 -4
  243. package/src/services/http/http.spec.js +2 -7
  244. package/src/services/http/template-request.spec.js +1 -1
  245. package/src/services/http-backend/http-backend.js +51 -77
  246. package/src/services/http-backend/http-backend.spec.js +1 -2
  247. package/src/services/http-backend/http-backend.test.js +1 -0
  248. package/src/services/location/interface.ts +62 -0
  249. package/src/services/location/location.js +433 -520
  250. package/src/services/location/location.spec.js +909 -530
  251. package/src/services/location/location.test.js +2 -2
  252. package/src/services/log/log.spec.js +1 -1
  253. package/src/services/log/log.test.js +1 -0
  254. package/src/services/pubsub/pubsub.spec.js +1 -1
  255. package/src/services/sce/sce.js +5 -7
  256. package/src/services/sce/sce.md +2 -2
  257. package/src/services/sce/sce.spec.js +1 -1
  258. package/src/services/template-cache/template-cache.spec.js +1 -1
  259. package/src/services/template-cache/template-cache.test.js +1 -0
  260. package/src/shared/common.js +0 -5
  261. package/src/shared/common.spec.js +1 -1
  262. package/src/shared/interface.ts +0 -4
  263. package/src/{router/common → shared}/queue.js +7 -7
  264. package/src/shared/shared.html +1 -0
  265. package/src/shared/shared.test.js +1 -0
  266. package/src/shared/url-utils/interface.ts +0 -2
  267. package/src/shared/url-utils/url-utils.js +6 -30
  268. package/src/shared/url-utils/url-utils.spec.js +10 -9
  269. package/src/shared/utils.js +32 -9
  270. package/src/shared/utils.spec.js +35 -1
  271. package/src/src.html +1 -2
  272. package/typedoc.json +0 -1
  273. package/utils/express.js +27 -1
  274. package/utils/version.cjs +23 -0
  275. package/@types/router/state-provider.d.ts +0 -123
  276. package/src/directive/non-bindable/non-bindable.md +0 -17
  277. package/src/loader.spec.js +0 -169
  278. package/src/router/state-provider.js +0 -146
  279. package/src/services/location/location.md +0 -114
  280. package/src/shared/url-utils/url-utils.md +0 -46
  281. /package/@types/{loader.d.ts → angular.d.ts} +0 -0
  282. /package/@types/router/{common → glob}/glob.d.ts +0 -0
  283. /package/src/router/{common → glob}/glob.js +0 -0
  284. /package/src/router/{common → glob}/glob.spec.js +0 -0
  285. /package/src/{router/common → shared}/queue.spec.js +0 -0
@@ -0,0 +1,5 @@
1
+ <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>UrlChangeListener | AngularTS</title><meta name="description" content="Documentation for AngularTS"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">AngularTS</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">UrlChangeListener</a></li></ul><h1>Type Alias UrlChangeListener</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">UrlChangeListener</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">url</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">state</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">History</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;state&quot;</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">void</span></div><div class="tsd-comment tsd-typography"><p>A callback function that gets called when the browser URL or state changes.</p>
2
+ </div><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures"><li class="tsd-signature" id="__type"><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">url</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">state</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">History</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;state&quot;</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">url</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The new URL after the change (with trailing <code>#</code> removed).</p>
3
+ </div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">state</span>: <span class="tsd-signature-type">History</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;state&quot;</span><span class="tsd-signature-symbol">]</span></span><div class="tsd-comment tsd-typography"><p>The new history state associated with the URL (<code>history.state</code>).</p>
4
+ </div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><p>void</p>
5
+ <div class="tsd-comment tsd-typography"></div></li></ul></li></ul></div><div class="tsd-comment tsd-typography"></div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html">AngularTS</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
@@ -0,0 +1,13 @@
1
+ /* Version: 0.7.8 - July 17, 2025 11:49:51 */
2
+ // File for DOCsy to update doc version
3
+ window.VERSION = '0.7.8';
4
+ const script = document.createElement('script');
5
+ script.src =
6
+ 'https://cdn.jsdelivr.net/npm/@angular-wave/angular.ts@' +
7
+ window.VERSION +
8
+ '/dist/angular-ts.umd.js';
9
+ script.type = 'text/javascript';
10
+ document.head.appendChild(script);
11
+ script.onload = function () {
12
+ window.dispatchEvent(new CustomEvent('AngularLoaded'));
13
+ };
@@ -0,0 +1,4 @@
1
+ {
2
+ "status": "failed",
3
+ "failedTests": ["2485d21468e45bffec19-2815e718a12bfa567b1e"]
4
+ }
@@ -0,0 +1,50 @@
1
+ # Test info
2
+
3
+ - Name: counter example
4
+ - Location:
5
+ /home/anatoly/Applications/angular.ts/docs/static/examples/counter/counter.test.js:5:5
6
+
7
+ # Error details
8
+
9
+ ```
10
+ Error: page.goto: Protocol error (Page.navigate): Cannot navigate to invalid URL
11
+ Call log:
12
+ - navigating to "docs/static/examples/counter/counter-test.html", waiting until "load"
13
+
14
+ at /home/anatoly/Applications/angular.ts/docs/static/examples/counter/counter.test.js:6:14
15
+ ```
16
+
17
+ # Test source
18
+
19
+ ```ts
20
+ 1 | import { test, expect } from '@playwright/test';
21
+ 2 |
22
+ 3 | const TEST_URL = 'docs/static/examples/counter/counter-test.html';
23
+ 4 |
24
+ 5 | test('counter example', async ({ page }) => {
25
+ > 6 | await page.goto(TEST_URL);
26
+ | ^ Error: page.goto: Protocol error (Page.navigate): Cannot navigate to invalid URL
27
+ 7 | await page.content();
28
+ 8 |
29
+ 9 | // Locate the button
30
+ 10 | const counterButton = page.locator('button');
31
+ 11 |
32
+ 12 | // Verify initial count
33
+ 13 | await expect(counterButton).toHaveText('Count is: 0');
34
+ 14 |
35
+ 15 | // Click once
36
+ 16 | await counterButton.click();
37
+ 17 | await expect(counterButton).toHaveText('Count is: 1');
38
+ 18 |
39
+ 19 | // Click again
40
+ 20 | await counterButton.click();
41
+ 21 | await expect(counterButton).toHaveText('Count is: 2');
42
+ 22 |
43
+ 23 | // Click three more times
44
+ 24 | await counterButton.click();
45
+ 25 | await counterButton.click();
46
+ 26 | await counterButton.click();
47
+ 27 | await expect(counterButton).toHaveText('Count is: 5');
48
+ 28 | });
49
+ 29 |
50
+ ```
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@angular-wave/angular.ts",
3
3
  "description": "A modern, optimized and type-safe version of AngularJS",
4
4
  "license": "MIT",
5
- "version": "0.7.8",
5
+ "version": "0.8.0",
6
6
  "type": "module",
7
7
  "main": "dist/angular-ts.esm.js",
8
8
  "module": "dist/angular-ts.esm.js",
@@ -15,7 +15,7 @@ import {
15
15
  import { Cache } from "./shared/cache.js";
16
16
  import { annotate, createInjector } from "./core/di/injector.js";
17
17
  import { NgModule } from "./core/di/ng-module.js";
18
- import { registerNgModule } from "./public.js";
18
+ import { registerNgModule } from "./ng.js";
19
19
  import { unnestR } from "./shared/common.js";
20
20
  import { EventBus } from "./services/pubsub/pubsub.js";
21
21
  import { $injectTokens } from "./injection-tokens.js";
@@ -1,29 +1,29 @@
1
1
  import {
2
- lowercase,
3
- uppercase,
2
+ encodeUriQuery,
3
+ encodeUriSegment,
4
+ equals,
4
5
  extend,
5
- isDefined,
6
+ fromJson,
7
+ getNodeName,
8
+ hashKey,
9
+ isArrayLike,
6
10
  isDate,
7
- isRegExp,
11
+ isDefined,
8
12
  isElement,
9
- shallowCopy,
10
- equals,
11
- isWindow,
12
- hashKey,
13
- toKeyValue,
14
- parseKeyValue,
15
13
  isError,
16
- isArrayLike,
17
- encodeUriSegment,
18
- encodeUriQuery,
19
- toJson,
20
- fromJson,
14
+ isRegExp,
15
+ isWindow,
16
+ lowercase,
21
17
  nextUid,
22
- getNodeName,
18
+ parseKeyValue,
19
+ shallowCopy,
23
20
  snakeCase,
21
+ toJson,
22
+ toKeyValue,
23
+ uppercase,
24
24
  } from "./shared/utils.js";
25
25
  import { createElementFromHTML, dealoc, startingTag } from "./shared/dom.js";
26
- import { Angular } from "./loader.js";
26
+ import { Angular } from "./angular.js";
27
27
  import { createInjector } from "./core/di/injector.js";
28
28
  import { wait } from "./shared/test-utils.js";
29
29
 
@@ -594,15 +594,16 @@ describe("angular", () => {
594
594
 
595
595
  it("should look for ngApp directive using querySelectorAll", () => {
596
596
  window.angular.module("ABC", []);
597
- const appElement = createElementFromHTML('<div ng-app="ABC"></div>');
598
- element.querySelector["[ng-app]"] = appElement;
597
+ element.querySelector["[ng-app]"] = createElementFromHTML(
598
+ '<div ng-app="ABC"></div>',
599
+ );
599
600
  window.angular.init(element);
600
601
  expect(bootstrapSpy).toHaveBeenCalled();
601
602
  });
602
603
 
603
604
  it("should bootstrap anonymously", () => {
604
- const appElement = createElementFromHTML("<div ng-app></div>");
605
- element.querySelector["[ng-app]"] = appElement;
605
+ element.querySelector["[ng-app]"] =
606
+ createElementFromHTML("<div ng-app></div>");
606
607
  window.angular.init(element);
607
608
  expect(bootstrapSpy).toHaveBeenCalled();
608
609
  });
@@ -1021,3 +1022,170 @@ describe("angular", () => {
1021
1022
  });
1022
1023
  });
1023
1024
  });
1025
+
1026
+ describe("module loader", () => {
1027
+ let angular;
1028
+ beforeEach(() => {
1029
+ angular = window.angular = new Angular();
1030
+ });
1031
+
1032
+ it("allows registering a module", () => {
1033
+ const myModule = angular.module("myModule", []);
1034
+ expect(myModule).toBeDefined();
1035
+ expect(myModule.name).toEqual("myModule");
1036
+ });
1037
+
1038
+ it("allows getting a module", () => {
1039
+ const myModule = angular.module("myModule", []);
1040
+ const gotModule = angular.module("myModule");
1041
+ expect(gotModule).toBeDefined();
1042
+ expect(gotModule).toBe(myModule);
1043
+ });
1044
+
1045
+ it("throws when trying to get a nonexistent module", () => {
1046
+ expect(() => {
1047
+ angular.module("nonexistent");
1048
+ }).toThrow();
1049
+ });
1050
+
1051
+ it("does not allow a module to be called hasOwnProperty", () => {
1052
+ expect(() => {
1053
+ angular.module("hasOwnProperty", []);
1054
+ }).toThrow();
1055
+ });
1056
+
1057
+ it("attaches the requires array to the registered module", () => {
1058
+ const myModule = angular.module("myModule", ["myOtherModule"]);
1059
+ expect(myModule.requires).toEqual(["myOtherModule"]);
1060
+ });
1061
+
1062
+ it("replaces a module when registered with same name again", () => {
1063
+ const myModule = angular.module("myModule", []);
1064
+ const myNewModule = angular.module("myModule", []);
1065
+ expect(myNewModule).not.toBe(myModule);
1066
+ });
1067
+
1068
+ it("should record calls", () => {
1069
+ const otherModule = angular.module("other", []);
1070
+ otherModule.config("otherInit");
1071
+
1072
+ const myModule = angular.module("my", ["other"], "config");
1073
+
1074
+ expect(
1075
+ myModule
1076
+ .decorator("dk", "dv")
1077
+ .provider("sk", "sv")
1078
+ .factory("fk", "fv")
1079
+ .service("a", "aa")
1080
+ .value("k", "v")
1081
+ .filter("f", "ff")
1082
+ .directive("d", "dd")
1083
+ .component("c", "cc")
1084
+ .controller("ctrl", "ccc")
1085
+ .config("init2")
1086
+ .constant("abc", 123)
1087
+ .run("runBlock"),
1088
+ ).toBe(myModule);
1089
+
1090
+ expect(myModule.requires).toEqual(["other"]);
1091
+ expect(myModule.invokeQueue).toEqual([
1092
+ ["$provide", "constant", jasmine.objectContaining(["abc", 123])],
1093
+ ["$provide", "provider", jasmine.objectContaining(["sk", "sv"])],
1094
+ ["$provide", "factory", jasmine.objectContaining(["fk", "fv"])],
1095
+ ["$provide", "service", jasmine.objectContaining(["a", "aa"])],
1096
+ ["$provide", "value", jasmine.objectContaining(["k", "v"])],
1097
+ ["$filterProvider", "register", jasmine.objectContaining(["f", "ff"])],
1098
+ ["$compileProvider", "directive", jasmine.objectContaining(["d", "dd"])],
1099
+ ["$compileProvider", "component", jasmine.objectContaining(["c", "cc"])],
1100
+ [
1101
+ "$controllerProvider",
1102
+ "register",
1103
+ jasmine.objectContaining(["ctrl", "ccc"]),
1104
+ ],
1105
+ ]);
1106
+ expect(myModule.configBlocks).toEqual([
1107
+ ["$injector", "invoke", jasmine.objectContaining(["config"])],
1108
+ ["$provide", "decorator", jasmine.objectContaining(["dk", "dv"])],
1109
+ ["$injector", "invoke", jasmine.objectContaining(["init2"])],
1110
+ ]);
1111
+ expect(myModule.runBlocks).toEqual(["runBlock"]);
1112
+ });
1113
+
1114
+ it("should not throw error when `module.decorator` is declared before provider that it decorates", () => {
1115
+ angular
1116
+ .module("theModule", [])
1117
+ .decorator("theProvider", ($delegate) => $delegate)
1118
+ .factory("theProvider", () => ({}));
1119
+
1120
+ expect(() => {
1121
+ createInjector(["theModule"]);
1122
+ }).not.toThrow();
1123
+ });
1124
+
1125
+ it("should run decorators in order of declaration, even when mixed with provider.decorator", () => {
1126
+ let log = "";
1127
+
1128
+ angular
1129
+ .module("theModule", [])
1130
+ .factory("theProvider", () => ({ api: "provider" }))
1131
+ .decorator("theProvider", ($delegate) => {
1132
+ $delegate.api += "-first";
1133
+ return $delegate;
1134
+ })
1135
+ .config(($provide) => {
1136
+ $provide.decorator("theProvider", ($delegate) => {
1137
+ $delegate.api += "-second";
1138
+ return $delegate;
1139
+ });
1140
+ })
1141
+ .decorator("theProvider", ($delegate) => {
1142
+ $delegate.api += "-third";
1143
+ return $delegate;
1144
+ })
1145
+ .run((theProvider) => {
1146
+ log = theProvider.api;
1147
+ });
1148
+
1149
+ createInjector(["theModule"]);
1150
+ expect(log).toBe("provider-first-second-third");
1151
+ });
1152
+
1153
+ it("should decorate the last declared provider if multiple have been declared", () => {
1154
+ let log = "";
1155
+
1156
+ angular
1157
+ .module("theModule", [])
1158
+ .factory("theProvider", () => ({
1159
+ api: "firstProvider",
1160
+ }))
1161
+ .decorator("theProvider", ($delegate) => {
1162
+ $delegate.api += "-decorator";
1163
+ return $delegate;
1164
+ })
1165
+ .factory("theProvider", () => ({
1166
+ api: "secondProvider",
1167
+ }))
1168
+ .run((theProvider) => {
1169
+ log = theProvider.api;
1170
+ });
1171
+
1172
+ createInjector(["theModule"]);
1173
+ expect(log).toBe("secondProvider-decorator");
1174
+ });
1175
+
1176
+ it("should allow module redefinition", () => {
1177
+ expect(angular.module("a", [])).not.toBe(angular.module("a", []));
1178
+ });
1179
+
1180
+ it("should complain of no module", () => {
1181
+ expect(() => {
1182
+ angular.module("dontExist");
1183
+ }).toThrow();
1184
+ });
1185
+
1186
+ it('should complain if a module is called "hasOwnProperty', () => {
1187
+ expect(() => {
1188
+ angular.module("hasOwnProperty", []);
1189
+ }).toThrow();
1190
+ });
1191
+ });
@@ -5,33 +5,33 @@ import {
5
5
  } from "../shared/dom.js";
6
6
  import { isDefined } from "../shared/utils.js";
7
7
  import {
8
- TRANSITION_DURATION_PROP,
9
- TRANSITION_DELAY_PROP,
8
+ ACTIVE_CLASS_SUFFIX,
9
+ ADD_CLASS_SUFFIX,
10
10
  ANIMATION_DELAY_PROP,
11
- TRANSITION_PROP,
12
- PROPERTY_KEY,
13
11
  ANIMATION_DURATION_PROP,
14
12
  ANIMATION_ITERATION_COUNT_KEY,
15
13
  ANIMATION_PROP,
16
- DURATION_KEY,
14
+ ANIMATIONEND_EVENT,
17
15
  applyAnimationClassesFactory,
18
- pendClasses,
19
- prepareAnimationOptions,
20
- packageStyles,
21
- EVENT_CLASS_PREFIX,
22
- ADD_CLASS_SUFFIX,
23
- REMOVE_CLASS_SUFFIX,
24
- applyInlineStyle,
25
- SAFE_FAST_FORWARD_DURATION_VALUE,
26
- ACTIVE_CLASS_SUFFIX,
27
16
  applyAnimationFromStyles,
28
17
  applyAnimationStyles,
18
+ applyAnimationToStyles,
19
+ applyInlineStyle,
29
20
  blockKeyframeAnimations,
21
+ DURATION_KEY,
22
+ EVENT_CLASS_PREFIX,
23
+ packageStyles,
24
+ pendClasses,
25
+ prepareAnimationOptions,
26
+ PROPERTY_KEY,
27
+ REMOVE_CLASS_SUFFIX,
30
28
  removeFromArray,
29
+ SAFE_FAST_FORWARD_DURATION_VALUE,
31
30
  TIMING_KEY,
31
+ TRANSITION_DELAY_PROP,
32
+ TRANSITION_DURATION_PROP,
33
+ TRANSITION_PROP,
32
34
  TRANSITIONEND_EVENT,
33
- ANIMATIONEND_EVENT,
34
- applyAnimationToStyles,
35
35
  } from "./shared.js";
36
36
 
37
37
  const ANIMATE_TIMER_KEY = "$$animateCss";
@@ -771,8 +771,7 @@ export function AnimateCssProvider() {
771
771
 
772
772
  temporaryStyles.forEach((entry) => {
773
773
  const key = entry[0];
774
- const value = entry[1];
775
- node.style[key] = value;
774
+ node.style[key] = entry[1];
776
775
  });
777
776
 
778
777
  applyAnimationClasses(element, options);
@@ -1,5 +1,5 @@
1
1
  import { dealoc } from "../../shared/dom.js";
2
- import { Angular } from "../../loader.js";
2
+ import { Angular } from "../../angular.js";
3
3
  import { isObject } from "../../shared/utils.js";
4
4
  import { isFunction } from "../../shared/utils.js";
5
5
  import { createInjector } from "../di/injector.js";
@@ -1,4 +1,4 @@
1
- import { isString, minErr, extend } from "../shared/utils.js";
1
+ import { extend, isString, minErr } from "../shared/utils.js";
2
2
  import { ASTType } from "../core/parse/ast-type.js";
3
3
 
4
4
  export const ADD_CLASS_SUFFIX = "-add";
@@ -331,8 +331,7 @@ export function blockKeyframeAnimations(node, applyBlock) {
331
331
 
332
332
  export function applyInlineStyle(node, styleTuple) {
333
333
  const prop = styleTuple[0];
334
- const value = styleTuple[1];
335
- node.style[prop] = value;
334
+ node.style[prop] = styleTuple[1];
336
335
  }
337
336
 
338
337
  export function concatWithSpace(a, b) {
@@ -1,5 +1,5 @@
1
1
  import { createElementFromHTML, dealoc } from "./shared/dom.js";
2
- import { Angular } from "./loader.js";
2
+ import { Angular } from "./angular.js";
3
3
  import { browserTrigger, wait } from "./shared/test-utils.js";
4
4
 
5
5
  describe("binding", () => {
@@ -139,7 +139,7 @@ const EVENT_HANDLER_ATTR_REGEXP = /^(on[a-z]+|formaction)$/;
139
139
  export const DirectiveSuffix = "Directive";
140
140
 
141
141
  export class CompileProvider {
142
- static $inject = ["$provide", "$$sanitizeUriProvider"];
142
+ /* @ignore */ static $inject = ["$provide", "$$sanitizeUriProvider"];
143
143
 
144
144
  /**
145
145
  * @param {import('../../interface.js').Provider} $provide
@@ -1216,8 +1216,7 @@ export class CompileProvider {
1216
1216
  // Null out all of these references for garbage collection
1217
1217
  compileNodes = transcludeFn = previousCompileContext = null;
1218
1218
  }
1219
- const linked = compiled.apply(this, arguments);
1220
- return linked;
1219
+ return compiled.apply(this, arguments);
1221
1220
  };
1222
1221
  }
1223
1222
 
@@ -1561,14 +1560,13 @@ export class CompileProvider {
1561
1560
  // * `undefined` - a slot that was not declared (i.e. invalid)
1562
1561
  const slotTranscludeFn = boundTranscludeFn.$$slots[slotName];
1563
1562
  if (slotTranscludeFn) {
1564
- const slotTranscludeRes = slotTranscludeFn(
1563
+ return slotTranscludeFn(
1565
1564
  scope,
1566
1565
  cloneAttachFn,
1567
1566
  transcludeControllers,
1568
1567
  futureParentElement,
1569
1568
  scopeToChild,
1570
1569
  );
1571
- return slotTranscludeRes;
1572
1570
  }
1573
1571
 
1574
1572
  if (isUndefined(slotTranscludeFn)) {
@@ -1581,14 +1579,13 @@ export class CompileProvider {
1581
1579
  );
1582
1580
  }
1583
1581
  } else {
1584
- const boundTranscludeRes = boundTranscludeFn(
1582
+ return boundTranscludeFn(
1585
1583
  scope,
1586
1584
  cloneAttachFn,
1587
1585
  transcludeControllers,
1588
1586
  futureParentElement,
1589
1587
  scopeToChild,
1590
1588
  );
1591
- return boundTranscludeRes;
1592
1589
  }
1593
1590
  }
1594
1591
  };
@@ -1,4 +1,4 @@
1
- import { Angular } from "../../loader.js";
1
+ import { Angular } from "../../angular.js";
2
2
  import { createInjector } from "../di/injector.js";
3
3
  import {
4
4
  dealoc,
@@ -1,4 +1,4 @@
1
- import { Angular } from "../../loader.js";
1
+ import { Angular } from "../../angular.js";
2
2
  import { createInjector } from "../di/injector.js";
3
3
 
4
4
  describe("$controller", () => {
@@ -5,6 +5,7 @@ const TEST_URL = "src/core/controller/controller.html";
5
5
  test("unit tests contain no errors", async ({ page }) => {
6
6
  await page.goto(TEST_URL);
7
7
  await page.content();
8
+ await page.waitForTimeout(1000);
8
9
  await expect(page.locator(".jasmine-overall-result")).toHaveText(
9
10
  /0 failures/,
10
11
  );
@@ -1,16 +1,16 @@
1
1
  import {
2
+ assert,
3
+ assertArg,
2
4
  assertArgFn,
3
- minErr,
5
+ assertNotHasOwnProperty,
4
6
  isFunction,
7
+ isObject,
5
8
  isString,
6
9
  isUndefined,
7
- assertArg,
8
- assertNotHasOwnProperty,
9
- isObject,
10
- assert,
10
+ minErr,
11
11
  } from "../../shared/utils.js";
12
12
  import { INJECTOR_LITERAL } from "./ng-module.js";
13
- import { ProviderInjector, InjectorService } from "./internal-injector.js";
13
+ import { InjectorService, ProviderInjector } from "./internal-injector.js";
14
14
 
15
15
  const ARROW_ARG = /^([^(]+?)=>/;
16
16
  const FN_ARGS = /^[^(]*\(\s*([^)]*)\)/m;
@@ -252,8 +252,7 @@ function stringifyFn(fn) {
252
252
  */
253
253
  function extractArgs(fn) {
254
254
  const fnText = stringifyFn(fn).replace(STRIP_COMMENTS, "");
255
- const args = fnText.match(ARROW_ARG) || fnText.match(FN_ARGS);
256
- return args;
255
+ return fnText.match(ARROW_ARG) || fnText.match(FN_ARGS);
257
256
  }
258
257
 
259
258
  /**
@@ -1,4 +1,4 @@
1
- import { Angular } from "../../loader.js";
1
+ import { Angular } from "../../angular.js";
2
2
  import { createInjector, annotate } from "./injector.js";
3
3
  import { extend } from "../../shared/utils.js";
4
4
 
@@ -296,7 +296,7 @@ describe("injector.modules", () => {
296
296
  module.constant("b", 2);
297
297
  const injector = createInjector(["myModule"]);
298
298
  class Foo {
299
- static $inject = ["a", "b"];
299
+ /* @ignore */ static $inject = ["a", "b"];
300
300
  constructor(a, b) {
301
301
  this.c = a + b;
302
302
  }
@@ -1,11 +1,11 @@
1
1
  import { test, expect } from "@playwright/test";
2
2
 
3
- const TEST_URL = "src/core/di/injector.html";
3
+ const TEST_URL = "src/core/di/injector.html?random=false";
4
4
 
5
5
  test("unit tests contain no errors", async ({ page }) => {
6
6
  await page.goto(TEST_URL);
7
7
  await page.content();
8
- await page.waitForTimeout(5000);
8
+ await page.waitForTimeout(1000);
9
9
  await expect(page.locator(".jasmine-overall-result")).toHaveText(
10
10
  /0 failures/,
11
11
  );
@@ -109,8 +109,7 @@ class AbstractInjector {
109
109
 
110
110
  if (isClass(/** @type {Function} */ (fn))) {
111
111
  args.unshift(null);
112
- const res = new (Function.prototype.bind.apply(fn, args))();
113
- return res;
112
+ return new (Function.prototype.bind.apply(fn, args))();
114
113
  } else {
115
114
  return /** @type {Function} */ (fn).apply(self, args);
116
115
  }
@@ -199,8 +198,7 @@ export class InjectorService extends AbstractInjector {
199
198
  */
200
199
  factory(serviceName) {
201
200
  const provider = this.providerInjector.get(serviceName + providerSuffix);
202
- const res = this.invoke(provider.$get, provider, undefined, serviceName);
203
- return res;
201
+ return this.invoke(provider.$get, provider, undefined, serviceName);
204
202
  }
205
203
 
206
204
  /**
@@ -234,8 +232,7 @@ function stringifyFn(fn) {
234
232
  */
235
233
  function extractArgs(fn) {
236
234
  const fnText = stringifyFn(fn).replace(STRIP_COMMENTS, "");
237
- const args = fnText.match(ARROW_ARG) || fnText.match(FN_ARGS);
238
- return args;
235
+ return fnText.match(ARROW_ARG) || fnText.match(FN_ARGS);
239
236
  }
240
237
 
241
238
  /**
@@ -12,7 +12,7 @@ import {
12
12
  const SUFFIX = "Filter";
13
13
 
14
14
  export class FilterProvider {
15
- static $inject = [$t.$provide];
15
+ /* @ignore */ static $inject = [$t.$provide];
16
16
 
17
17
  /**
18
18
  * @param {import('../../interface.ts').Provider} $provide
@@ -1,4 +1,4 @@
1
- import { Angular } from "../../loader.js";
1
+ import { Angular } from "../../angular.js";
2
2
  import { createInjector } from "../di/injector.js";
3
3
 
4
4
  describe("filter", function () {
@@ -5,6 +5,7 @@ const TEST_URL = "src/core/filter/filter.html";
5
5
  test("unit tests contain no errors", async ({ page }) => {
6
6
  await page.goto(TEST_URL);
7
7
  await page.content();
8
+ await page.waitForTimeout(1000);
8
9
  await expect(page.locator(".jasmine-overall-result")).toHaveText(
9
10
  /0 failures/,
10
11
  );