@angular-wave/angular.ts 0.7.8 → 0.8.1

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 (308) hide show
  1. package/@types/{loader.d.ts → angular.d.ts} +3 -3
  2. package/@types/core/di/ng-module.d.ts +61 -25
  3. package/@types/core/parse/parse.d.ts +6 -7
  4. package/@types/directive/bind/bind.d.ts +2 -1
  5. package/@types/index.d.ts +1 -1
  6. package/@types/interface.d.ts +4 -2
  7. package/@types/{public.d.ts → ng.d.ts} +2 -2
  8. package/@types/router/directives/state-directives.d.ts +2 -2
  9. package/@types/router/directives/view-directive.d.ts +1 -1
  10. package/@types/router/params/param-type.d.ts +0 -1
  11. package/@types/router/path/path-utils.d.ts +8 -11
  12. package/@types/router/{globals.d.ts → router.d.ts} +2 -2
  13. package/@types/router/state/interface.d.ts +1 -1
  14. package/@types/router/state/state-object.d.ts +1 -1
  15. package/@types/router/state/state-registry.d.ts +2 -2
  16. package/@types/router/state/state-service.d.ts +14 -16
  17. package/@types/router/state-filters.d.ts +24 -2
  18. package/@types/router/transition/transition-service.d.ts +3 -3
  19. package/@types/router/transition/transition.d.ts +16 -19
  20. package/@types/router/url/url-matcher.d.ts +3 -4
  21. package/@types/router/url/url-rule.d.ts +14 -4
  22. package/@types/router/url/url-rules.d.ts +26 -6
  23. package/@types/router/url/url-service.d.ts +28 -38
  24. package/@types/services/http/http.d.ts +48 -1
  25. package/@types/services/http-backend/http-backend.d.ts +48 -35
  26. package/@types/services/location/interface.d.ts +55 -0
  27. package/@types/services/location/location.d.ts +225 -252
  28. package/@types/shared/common.d.ts +0 -2
  29. package/@types/shared/hof.d.ts +0 -6
  30. package/@types/shared/interface.d.ts +0 -4
  31. package/@types/{router/common → shared}/queue.d.ts +2 -2
  32. package/@types/shared/url-utils/interface.d.ts +0 -1
  33. package/@types/shared/url-utils/url-utils.d.ts +0 -5
  34. package/@types/shared/utils.d.ts +29 -6
  35. package/CHANGELOG.md +0 -72
  36. package/CONTRIBUTING.md +0 -1
  37. package/DEVELOPERS.md +0 -1
  38. package/Makefile +6 -3
  39. package/TRIAGING.md +0 -1
  40. package/dist/angular-ts.esm.js +1048 -1150
  41. package/dist/angular-ts.umd.js +1048 -1150
  42. package/dist/angular-ts.umd.min.js +1 -1
  43. package/docs/assets/scss/index.scss +23 -0
  44. package/docs/content/_index.md +9 -8
  45. package/docs/content/docs/_index.md +1 -1
  46. package/docs/content/docs/directive/app.md +1 -1
  47. package/docs/content/docs/directive/bind.md +1 -1
  48. package/docs/content/docs/directive/blur.md +1 -1
  49. package/docs/content/docs/directive/channel.md +2 -2
  50. package/docs/content/docs/directive/class-even.md +1 -1
  51. package/docs/content/docs/directive/class-odd.md +1 -1
  52. package/docs/content/docs/directive/class.md +1 -1
  53. package/docs/content/docs/directive/click.md +1 -1
  54. package/docs/content/docs/directive/copy.md +1 -1
  55. package/docs/content/docs/directive/cut.md +1 -1
  56. package/docs/content/docs/directive/dblclick.md +1 -1
  57. package/docs/content/docs/directive/focus.md +1 -1
  58. package/docs/content/docs/directive/get.md +3 -3
  59. package/docs/content/docs/directive/keydown.md +1 -1
  60. package/docs/content/docs/directive/keyup.md +1 -1
  61. package/docs/content/docs/directive/load.md +1 -1
  62. package/docs/content/docs/directive/mousedown.md +1 -1
  63. package/docs/content/docs/directive/mouseenter.md +1 -1
  64. package/docs/content/docs/directive/mouseleave.md +1 -1
  65. package/docs/content/docs/directive/mousemove.md +1 -1
  66. package/docs/content/docs/directive/mouseout.md +1 -1
  67. package/docs/content/docs/directive/mouseover.md +1 -1
  68. package/docs/content/docs/directive/mouseup.md +1 -1
  69. package/docs/content/docs/directive/non-bindable.md +28 -0
  70. package/docs/content/docs/provider/locationProvider.md +26 -0
  71. package/docs/content/docs/provider/templateCacheProvider.md +2 -2
  72. package/docs/content/docs/service/location.md +57 -0
  73. package/docs/content/docs/service/url.md +5 -0
  74. package/docs/layouts/partials/hooks/head-end.html +1 -1
  75. package/docs/layouts/shortcodes/version.html +1 -0
  76. package/docs/static/examples/counter/counter-test.html +0 -4
  77. package/docs/static/examples/eventbus/eventbus-test.html +0 -4
  78. package/docs/static/examples/ng-non-bindable/ng-non-bindable-test.html +13 -0
  79. package/docs/static/examples/ng-non-bindable/ng-non-bindable.html +3 -0
  80. package/docs/static/examples/ng-non-bindable/ng-non-bindable.test.js +11 -0
  81. package/docs/static/typedoc/assets/hierarchy.js +1 -1
  82. package/docs/static/typedoc/assets/highlight.css +6 -6
  83. package/docs/static/typedoc/assets/navigation.js +1 -1
  84. package/docs/static/typedoc/assets/search.js +1 -1
  85. package/docs/static/typedoc/classes/Location.html +55 -0
  86. package/docs/static/typedoc/classes/LocationProvider.html +20 -0
  87. package/docs/static/typedoc/classes/NgModule.html +3 -3
  88. package/docs/static/typedoc/index.html +1 -1
  89. package/docs/static/typedoc/interfaces/DefaultPorts.html +5 -0
  90. package/docs/static/typedoc/interfaces/Html5Mode.html +23 -0
  91. package/docs/static/typedoc/interfaces/Provider.html +2 -1
  92. package/docs/static/typedoc/interfaces/UrlParts.html +9 -0
  93. package/docs/static/typedoc/types/AnnotatedFactory.html +1 -1
  94. package/docs/static/typedoc/types/Expression.html +1 -1
  95. package/docs/static/typedoc/types/Injectable.html +4 -1
  96. package/docs/static/typedoc/types/InjectableFactory.html +1 -4
  97. package/docs/static/typedoc/types/UrlChangeListener.html +5 -0
  98. package/docs/static/version.js +13 -0
  99. package/docs/test-results/.last-run.json +4 -0
  100. package/docs/test-results/static-examples-counter-counter-counter-example/error-context.md +50 -0
  101. package/package.json +2 -2
  102. package/src/{loader.js → angular.js} +11 -11
  103. package/src/angular.spec.js +189 -21
  104. package/src/animations/animate-css.js +17 -18
  105. package/src/animations/animate.spec.js +1 -1
  106. package/src/animations/shared.js +2 -3
  107. package/src/binding.spec.js +1 -1
  108. package/src/core/compile/compile.js +4 -7
  109. package/src/core/compile/compile.spec.js +1 -1
  110. package/src/core/controller/controller.spec.js +1 -1
  111. package/src/core/controller/controller.test.js +1 -0
  112. package/src/core/di/injector.js +7 -8
  113. package/src/core/di/injector.spec.js +2 -2
  114. package/src/core/di/injector.test.js +2 -2
  115. package/src/core/di/internal-injector.js +3 -6
  116. package/src/core/di/ng-module.js +26 -21
  117. package/src/core/filter/filter.js +1 -1
  118. package/src/core/filter/filter.spec.js +1 -1
  119. package/src/core/filter/filter.test.js +1 -0
  120. package/src/core/interpolate/interpolate.js +4 -6
  121. package/src/core/interpolate/interpolate.spec.js +1 -1
  122. package/src/core/interpolate/interpolate.test.js +1 -0
  123. package/src/core/parse/ast/ast.spec.js +1 -1
  124. package/src/core/parse/ast/ast.test.js +1 -1
  125. package/src/core/parse/lexer/lexer.spec.js +1 -1
  126. package/src/core/parse/parse.js +150 -146
  127. package/src/core/parse/parse.spec.js +46 -46
  128. package/src/core/prop.spec.js +1 -1
  129. package/src/core/root-element.spec.js +1 -1
  130. package/src/core/scope/scope.js +10 -11
  131. package/src/core/scope/scope.spec.js +3 -4
  132. package/src/directive/aria/aria.spec.js +1 -1
  133. package/src/directive/aria/aria.test.js +1 -0
  134. package/src/directive/attrs/attrs.spec.js +1 -1
  135. package/src/directive/attrs/attrs.test.js +1 -0
  136. package/src/directive/attrs/boolean.spec.js +1 -1
  137. package/src/directive/attrs/boolean.test.js +1 -0
  138. package/src/directive/attrs/element-style.spec.js +1 -1
  139. package/src/directive/attrs/element-style.test.js +1 -0
  140. package/src/directive/attrs/src.spec.js +1 -1
  141. package/src/directive/attrs/src.test.js +1 -0
  142. package/src/directive/bind/bind-html.spec.js +1 -1
  143. package/src/directive/bind/bind.js +1 -0
  144. package/src/directive/bind/bind.spec.js +1 -1
  145. package/src/directive/bind/bind.test.js +1 -0
  146. package/src/directive/channel/channel.spec.js +1 -1
  147. package/src/directive/channel/channel.test.js +1 -0
  148. package/src/directive/class/class.spec.js +1 -1
  149. package/src/directive/class/class.test.js +1 -0
  150. package/src/directive/cloak/cloak.spec.js +1 -1
  151. package/src/directive/cloak/cloak.test.js +1 -0
  152. package/src/directive/controller/controller.spec.js +1 -1
  153. package/src/directive/controller/controller.test.js +1 -0
  154. package/src/directive/events/click.spec.js +1 -1
  155. package/src/directive/events/event.spec.js +6 -6
  156. package/src/directive/events/events.test.js +1 -0
  157. package/src/directive/form/form.js +8 -5
  158. package/src/directive/form/form.spec.js +1 -1
  159. package/src/directive/form/form.test.js +1 -0
  160. package/src/directive/http/delete.spec.js +1 -1
  161. package/src/directive/http/form-test.html +18 -0
  162. package/src/directive/http/get.spec.js +1 -1
  163. package/src/directive/http/http.js +12 -3
  164. package/src/directive/http/post.spec.js +504 -9
  165. package/src/directive/http/put.spec.js +1 -1
  166. package/src/directive/if/if.spec.js +1 -1
  167. package/src/directive/include/include.spec.js +1 -1
  168. package/src/directive/init/init.spec.js +1 -1
  169. package/src/directive/init/init.test.js +1 -0
  170. package/src/directive/input/input.js +13 -15
  171. package/src/directive/input/input.spec.js +1 -2
  172. package/src/directive/input/input.test.js +1 -0
  173. package/src/directive/messages/messages.md +0 -4
  174. package/src/directive/messages/messages.spec.js +1 -1
  175. package/src/directive/messages/messages.test.js +1 -0
  176. package/src/directive/model/model.js +13 -13
  177. package/src/directive/model/model.spec.js +1 -1
  178. package/src/directive/model/model.test.js +1 -0
  179. package/src/directive/model-options/model-option.test.js +1 -0
  180. package/src/directive/model-options/model-options.js +1 -1
  181. package/src/directive/model-options/model-options.spec.js +1 -1
  182. package/src/directive/non-bindable/non-bindable.spec.js +1 -1
  183. package/src/directive/non-bindable/non-bindable.test.js +1 -0
  184. package/src/directive/observe/observe.spec.js +1 -1
  185. package/src/directive/observe/observe.test.js +1 -0
  186. package/src/directive/on/on.spec.js +1 -1
  187. package/src/directive/on/on.test.js +1 -0
  188. package/src/directive/options/options.spec.js +1 -1
  189. package/src/directive/options/options.test.js +1 -0
  190. package/src/directive/ref/href.spec.js +1 -1
  191. package/src/directive/ref/href.test.js +2 -0
  192. package/src/directive/ref/ref.spec.js +1 -1
  193. package/src/directive/repeat/repeat.js +1 -1
  194. package/src/directive/repeat/repeat.spec.js +2 -3
  195. package/src/directive/repeat/repeat.test.js +1 -0
  196. package/src/directive/script/script.spec.js +1 -1
  197. package/src/directive/script/script.test.js +1 -0
  198. package/src/directive/select/select.js +1 -1
  199. package/src/directive/select/select.spec.js +1 -1
  200. package/src/directive/select/select.test.js +1 -0
  201. package/src/directive/setter/setter.spec.js +1 -1
  202. package/src/directive/setter/setter.test.js +1 -0
  203. package/src/directive/show-hide/show-hide.spec.js +1 -1
  204. package/src/directive/show-hide/show-hide.test.js +1 -0
  205. package/src/directive/style/style.spec.js +1 -1
  206. package/src/directive/style/style.test.js +1 -0
  207. package/src/directive/switch/switch.spec.js +1 -1
  208. package/src/directive/switch/switch.test.js +1 -0
  209. package/src/directive/validators/validators.js +82 -84
  210. package/src/directive/validators/validators.spec.js +5 -4
  211. package/src/directive/validators/validators.test.js +1 -0
  212. package/src/filters/filter.spec.js +1 -1
  213. package/src/filters/filters.spec.js +1 -1
  214. package/src/filters/limit-to.js +2 -3
  215. package/src/filters/limit-to.spec.js +1 -1
  216. package/src/filters/order-by.spec.js +1 -1
  217. package/src/index.js +1 -1
  218. package/src/injection-tokens.js +7 -3
  219. package/src/interface.ts +4 -3
  220. package/src/loader.md +0 -155
  221. package/src/{public.js → ng.js} +11 -12
  222. package/src/{public.spec.js → ng.spec.js} +2 -2
  223. package/src/router/directives/state-directives.js +5 -5
  224. package/src/router/directives/state-directives.spec.js +8 -7
  225. package/src/router/directives/view-directive.js +7 -13
  226. package/src/router/directives/view-directive.spec.js +22 -23
  227. package/src/router/{common/common.html → glob/glob.html} +2 -3
  228. package/src/router/{common/common.test.js → glob/glob.test.js} +2 -1
  229. package/src/router/params/param-type.js +0 -1
  230. package/src/router/params/param.js +1 -1
  231. package/src/router/path/path-utils.js +5 -0
  232. package/src/router/router-test-hashbang.html +45 -0
  233. package/src/router/{globals.js → router.js} +2 -2
  234. package/src/router/services.spec.js +8 -9
  235. package/src/router/state/interface.ts +1 -1
  236. package/src/router/state/state-builder.js +3 -3
  237. package/src/router/state/state-builder.spec.js +1 -1
  238. package/src/router/state/state-object.js +1 -1
  239. package/src/router/state/state-registry.js +4 -4
  240. package/src/router/state/state-service.js +14 -14
  241. package/src/router/state/state.spec.js +23 -22
  242. package/src/router/state/state.test.js +1 -0
  243. package/src/router/state/views.js +1 -1
  244. package/src/router/state-filter.spec.js +1 -1
  245. package/src/router/state-filters.js +13 -9
  246. package/src/router/template-factory.js +5 -4
  247. package/src/router/template-factory.spec.js +7 -7
  248. package/src/router/transition/hook-registry.js +1 -1
  249. package/src/router/transition/transition-service.js +7 -6
  250. package/src/router/transition/transition.js +6 -6
  251. package/src/router/url/url-matcher.js +12 -14
  252. package/src/router/url/url-rule.js +8 -2
  253. package/src/router/url/url-rules.js +8 -5
  254. package/src/router/url/url-service.js +80 -76
  255. package/src/router/url/url-service.spec.js +61 -78
  256. package/src/router/url/url.test.js +1 -0
  257. package/src/router/view/view.js +4 -5
  258. package/src/router/view/view.spec.js +10 -12
  259. package/src/router/view/view.test.js +1 -0
  260. package/src/router/view-hook.spec.js +1 -1
  261. package/src/router/view-scroll.js +3 -1
  262. package/src/router/view-scroll.spec.js +12 -12
  263. package/src/services/anchor-scroll.html +2 -2
  264. package/src/services/anchor-scroll.js +5 -4
  265. package/src/services/http/http.js +9 -4
  266. package/src/services/http/http.spec.js +2 -7
  267. package/src/services/http/template-request.spec.js +1 -1
  268. package/src/services/http-backend/http-backend.js +51 -77
  269. package/src/services/http-backend/http-backend.spec.js +1 -2
  270. package/src/services/http-backend/http-backend.test.js +1 -0
  271. package/src/services/location/interface.ts +62 -0
  272. package/src/services/location/location.js +439 -519
  273. package/src/services/location/location.spec.js +915 -530
  274. package/src/services/location/location.test.js +2 -2
  275. package/src/services/log/log.spec.js +1 -1
  276. package/src/services/log/log.test.js +1 -0
  277. package/src/services/pubsub/pubsub.spec.js +1 -1
  278. package/src/services/sce/sce.js +5 -7
  279. package/src/services/sce/sce.md +2 -2
  280. package/src/services/sce/sce.spec.js +1 -1
  281. package/src/services/template-cache/template-cache.spec.js +1 -1
  282. package/src/services/template-cache/template-cache.test.js +1 -0
  283. package/src/shared/common.js +5 -10
  284. package/src/shared/common.spec.js +1 -1
  285. package/src/shared/hof.js +0 -14
  286. package/src/shared/interface.ts +0 -4
  287. package/src/{router/common → shared}/queue.js +7 -7
  288. package/src/shared/shared.html +1 -0
  289. package/src/shared/shared.test.js +1 -0
  290. package/src/shared/url-utils/interface.ts +0 -2
  291. package/src/shared/url-utils/url-utils.js +6 -30
  292. package/src/shared/url-utils/url-utils.spec.js +10 -9
  293. package/src/shared/utils.js +32 -9
  294. package/src/shared/utils.spec.js +35 -1
  295. package/src/src.html +1 -2
  296. package/typedoc.json +0 -1
  297. package/utils/express.js +27 -1
  298. package/utils/version.cjs +23 -0
  299. package/@types/router/state-provider.d.ts +0 -123
  300. package/src/directive/non-bindable/non-bindable.md +0 -17
  301. package/src/loader.spec.js +0 -169
  302. package/src/router/state-provider.js +0 -146
  303. package/src/services/location/location.md +0 -114
  304. package/src/shared/url-utils/url-utils.md +0 -46
  305. /package/@types/router/{common → glob}/glob.d.ts +0 -0
  306. /package/src/router/{common → glob}/glob.js +0 -0
  307. /package/src/router/{common → glob}/glob.spec.js +0 -0
  308. /package/src/{router/common → shared}/queue.spec.js +0 -0
@@ -1 +1,4 @@
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>Injectable | 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">Injectable</a></li></ul><h1>Type Alias Injectable</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">Injectable</span><span class="tsd-signature-symbol">:</span> <a href="AnnotatedFactory.html" class="tsd-signature-type tsd-kind-type-alias">AnnotatedFactory</a> <span class="tsd-signature-symbol">|</span> <a href="InjectableFactory.html" class="tsd-signature-type tsd-kind-type-alias">InjectableFactory</a></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>
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>Injectable | 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">Injectable</a></li></ul><h1>Type Alias Injectable</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">Injectable</span><span class="tsd-signature-symbol">:</span> <a href="AnnotatedFactory.html" class="tsd-signature-type tsd-kind-type-alias">AnnotatedFactory</a> <span class="tsd-signature-symbol">|</span> <a href="InjectableFactory.html" class="tsd-signature-type tsd-kind-type-alias">InjectableFactory</a></div><div class="tsd-comment tsd-typography"><p>A factory that can be either a standalone function or a dependency-annotated array.</p>
2
+ <p>The array form is used to support minification-safe dependency injection.
3
+ See <a href="AnnotatedFactory.html" class="tsd-kind-type-alias">AnnotatedFactory</a>.</p>
4
+ </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>
@@ -1,4 +1 @@
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>InjectableFactory | 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">InjectableFactory</a></li></ul><h1>Type Alias InjectableFactory</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">InjectableFactory</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span><span class="tsd-kind-parameter">args</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</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">any</span></div><div class="tsd-comment tsd-typography"><p>A factory that can be either a standalone function or a dependency-annotated array.</p>
2
- <p>The array form is used to support minification-safe dependency injection.
3
- See <a href="AnnotatedFactory.html" class="tsd-kind-type-alias">AnnotatedFactory</a>.</p>
4
- </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-signature-symbol">...</span><span class="tsd-kind-parameter">args</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</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-signature-symbol">...</span><span class="tsd-kind-parameter">args</span>: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4></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>
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>InjectableFactory | 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">InjectableFactory</a></li></ul><h1>Type Alias InjectableFactory</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">InjectableFactory</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span><span class="tsd-kind-parameter">args</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</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">any</span></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-signature-symbol">...</span><span class="tsd-kind-parameter">args</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</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-signature-symbol">...</span><span class="tsd-kind-parameter">args</span>: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4></li></ul></li></ul></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,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.1",
6
6
  "type": "module",
7
7
  "main": "dist/angular-ts.esm.js",
8
8
  "module": "dist/angular-ts.esm.js",
@@ -17,7 +17,7 @@
17
17
  "AngularTS"
18
18
  ],
19
19
  "engines": {
20
- "node": ">=18.18.2"
20
+ "node": ">=24.0.0"
21
21
  },
22
22
  "scripts": {
23
23
  "serve": "npm-run-all --parallel dev express",
@@ -15,10 +15,10 @@ 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
- import { $injectTokens } from "./injection-tokens.js";
21
+ import { $injectTokens as $t } from "./injection-tokens.js";
22
22
 
23
23
  const ngMinErr = minErr("ng");
24
24
  const $injectorMinErr = minErr("$injector");
@@ -52,9 +52,9 @@ export class Angular {
52
52
  this.getInjector = getInjector;
53
53
  this.getScope = getScope;
54
54
  this.errorHandlingConfig = errorHandlingConfig;
55
+ this.$t = $t;
55
56
 
56
57
  window["angular"] = this;
57
- this.$injectTokens = $injectTokens;
58
58
  registerNgModule(this);
59
59
  }
60
60
 
@@ -131,14 +131,14 @@ export class Angular {
131
131
 
132
132
  const injector = createInjector(this.bootsrappedModules, config.strictDi);
133
133
  injector.invoke([
134
- "$rootScope",
135
- "$rootElement",
136
- "$compile",
137
- "$injector",
134
+ $t.$rootScope,
135
+ $t.$rootElement,
136
+ $t.$compile,
137
+ $t.$injector,
138
138
  /**
139
139
  * @param {import('./core/scope/scope.js').Scope} scope
140
140
  * @param {Element} el
141
- * @param {*} compile
141
+ * @param {import("./core/compile/compile.js").CompileFn} compile
142
142
  * @param {import("./core/di/internal-injector.js").InjectorService} $injector
143
143
  */
144
144
  (scope, el, compile, $injector) => {
@@ -161,7 +161,7 @@ export class Angular {
161
161
  }
162
162
 
163
163
  $injector
164
- .get("$stateRegistry")
164
+ .get($t.$stateRegistry)
165
165
  .get()
166
166
  .map((x) => x.$$state().resolvables)
167
167
  .reduce(unnestR, [])
@@ -266,7 +266,7 @@ export class Angular {
266
266
  * @param {string} name The name of the module to create or retrieve.
267
267
  * @param {Array.<string>} [requires] If specified then new module is being created. If
268
268
  * unspecified then the module is being retrieved for further configuration.
269
- * @param {Array<any>|Function} [configFn] Optional configuration function for the module that gets
269
+ * @param {import("./interface.js").Injectable} [configFn] Optional configuration function for the module that gets
270
270
  * passed to {@link NgModule.config NgModule.config()}.
271
271
  * @returns {NgModule} A newly registered module.
272
272
  */
@@ -283,7 +283,7 @@ export class Angular {
283
283
  name,
284
284
  );
285
285
  }
286
- return new NgModule(name, requires, /** @type {Function} */ (configFn));
286
+ return new NgModule(name, requires, configFn);
287
287
  });
288
288
  }
289
289
  }
@@ -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", () => {