@angular-wave/angular.ts 0.9.4 → 0.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (645) hide show
  1. package/@types/index.d.ts +1 -84
  2. package/{src/index.ts → @types/namespace.d.ts} +4 -24
  3. package/@types/router/template-factory.d.ts +2 -2
  4. package/dist/angular-ts.esm.js +3 -3
  5. package/dist/angular-ts.umd.js +3 -3
  6. package/dist/angular-ts.umd.min.js +1 -1
  7. package/package.json +8 -1
  8. package/.github/workflows/ci.yml +0 -104
  9. package/.github/workflows/gh-pages.yml +0 -75
  10. package/.husky/pre-commit +0 -5
  11. package/.prettierignore +0 -9
  12. package/CHANGELOG.md +0 -17667
  13. package/CODE_OF_CONDUCT.md +0 -3
  14. package/CONTRIBUTING.md +0 -247
  15. package/DEVELOPERS.md +0 -499
  16. package/Makefile +0 -60
  17. package/RELEASE.md +0 -86
  18. package/TRIAGING.md +0 -127
  19. package/docs/.cspell.yml +0 -8
  20. package/docs/.github/dependabot.yml +0 -14
  21. package/docs/.nvmrc +0 -1
  22. package/docs/CONTRIBUTING.md +0 -28
  23. package/docs/Dockerfile +0 -4
  24. package/docs/LICENSE +0 -201
  25. package/docs/README.md +0 -217
  26. package/docs/assets/icons/logo.svg +0 -1
  27. package/docs/assets/scss/_variables_project.scss +0 -12
  28. package/docs/assets/scss/_variables_project_after_bs.scss +0 -8
  29. package/docs/assets/scss/index.scss +0 -48
  30. package/docs/config.yaml +0 -15
  31. package/docs/content/_index.md +0 -28
  32. package/docs/content/docs/_index.md +0 -61
  33. package/docs/content/docs/directive/_index.md +0 -4
  34. package/docs/content/docs/directive/app.md +0 -11
  35. package/docs/content/docs/directive/aria.md +0 -0
  36. package/docs/content/docs/directive/bind.md +0 -72
  37. package/docs/content/docs/directive/blur.md +0 -38
  38. package/docs/content/docs/directive/channel.md +0 -37
  39. package/docs/content/docs/directive/class-even.md +0 -47
  40. package/docs/content/docs/directive/class-odd.md +0 -48
  41. package/docs/content/docs/directive/class.md +0 -64
  42. package/docs/content/docs/directive/click.md +0 -41
  43. package/docs/content/docs/directive/cloak.md +0 -74
  44. package/docs/content/docs/directive/copy.md +0 -38
  45. package/docs/content/docs/directive/cut.md +0 -40
  46. package/docs/content/docs/directive/dblclick.md +0 -41
  47. package/docs/content/docs/directive/focus.md +0 -38
  48. package/docs/content/docs/directive/get.md +0 -203
  49. package/docs/content/docs/directive/include.md +0 -7
  50. package/docs/content/docs/directive/keydown.md +0 -38
  51. package/docs/content/docs/directive/keyup.md +0 -38
  52. package/docs/content/docs/directive/load.md +0 -43
  53. package/docs/content/docs/directive/mousedown.md +0 -38
  54. package/docs/content/docs/directive/mouseenter.md +0 -38
  55. package/docs/content/docs/directive/mouseleave.md +0 -38
  56. package/docs/content/docs/directive/mousemove.md +0 -38
  57. package/docs/content/docs/directive/mouseout.md +0 -38
  58. package/docs/content/docs/directive/mouseover.md +0 -38
  59. package/docs/content/docs/directive/mouseup.md +0 -38
  60. package/docs/content/docs/directive/non-bindable.md +0 -28
  61. package/docs/content/docs/filter/_index.md +0 -4
  62. package/docs/content/docs/filter/filter.md +0 -78
  63. package/docs/content/docs/filter/json.md +0 -19
  64. package/docs/content/docs/filter/limit-to.md +0 -30
  65. package/docs/content/docs/filter/order-by.md +0 -123
  66. package/docs/content/docs/provider/_index.md +0 -4
  67. package/docs/content/docs/provider/eventBusProvider.md +0 -35
  68. package/docs/content/docs/provider/locationProvider.md +0 -26
  69. package/docs/content/docs/provider/logProvider.md +0 -59
  70. package/docs/content/docs/provider/sceProvider.md +0 -194
  71. package/docs/content/docs/provider/templateCacheProvider.md +0 -100
  72. package/docs/content/docs/provider/templateRequestProvider.md +0 -5
  73. package/docs/content/docs/service/_index.md +0 -4
  74. package/docs/content/docs/service/compile.md +0 -5
  75. package/docs/content/docs/service/controller.md +0 -5
  76. package/docs/content/docs/service/eventBus.md +0 -56
  77. package/docs/content/docs/service/http.md +0 -161
  78. package/docs/content/docs/service/interpolation.md +0 -5
  79. package/docs/content/docs/service/location.md +0 -57
  80. package/docs/content/docs/service/log.md +0 -113
  81. package/docs/content/docs/service/parse.md +0 -5
  82. package/docs/content/docs/service/rootElement.md +0 -5
  83. package/docs/content/docs/service/rootScope.md +0 -5
  84. package/docs/content/docs/service/sce.md +0 -194
  85. package/docs/content/docs/service/templateCache.md +0 -64
  86. package/docs/content/docs/service/templateRequest.md +0 -5
  87. package/docs/content/docs/service/url.md +0 -5
  88. package/docs/content/docs/values/_index.md +0 -4
  89. package/docs/content/docs/values/document.md +0 -29
  90. package/docs/content/docs/values/window.md +0 -29
  91. package/docs/docker-compose.yaml +0 -12
  92. package/docs/docsy.work +0 -5
  93. package/docs/docsy.work.sum +0 -0
  94. package/docs/go.mod +0 -5
  95. package/docs/go.sum +0 -6
  96. package/docs/hugo-disabled.toml +0 -220
  97. package/docs/hugo.yaml +0 -200
  98. package/docs/layouts/404.html +0 -13
  99. package/docs/layouts/_markup/render-heading.html +0 -1
  100. package/docs/layouts/partials/hooks/head-end.html +0 -3
  101. package/docs/layouts/shortcodes/showcss.html +0 -2
  102. package/docs/layouts/shortcodes/showhtml.html +0 -2
  103. package/docs/layouts/shortcodes/showjs.html +0 -2
  104. package/docs/layouts/shortcodes/showraw.html +0 -1
  105. package/docs/layouts/shortcodes/version.html +0 -1
  106. package/docs/package-lock.json +0 -2293
  107. package/docs/package.json +0 -53
  108. package/docs/static/examples/counter/counter-test.html +0 -13
  109. package/docs/static/examples/counter/counter.html +0 -5
  110. package/docs/static/examples/counter/counter.test.js +0 -28
  111. package/docs/static/examples/document/document.html +0 -3
  112. package/docs/static/examples/eventbus/eventbus-test.html +0 -15
  113. package/docs/static/examples/eventbus/eventbus.html +0 -13
  114. package/docs/static/examples/eventbus/eventbus.js +0 -15
  115. package/docs/static/examples/eventbus/eventbus.test.js +0 -19
  116. package/docs/static/examples/i18n/i18n.html +0 -77
  117. package/docs/static/examples/ng-bind/ng-bind.html +0 -9
  118. package/docs/static/examples/ng-blur/ng-blur.html +0 -9
  119. package/docs/static/examples/ng-channel/ng-channel-test.html +0 -17
  120. package/docs/static/examples/ng-channel/ng-channel.html +0 -24
  121. package/docs/static/examples/ng-channel/ng-channel.test.js +0 -31
  122. package/docs/static/examples/ng-class/ng-class.html +0 -71
  123. package/docs/static/examples/ng-class-even/ng-class-even.html +0 -8
  124. package/docs/static/examples/ng-class-odd/ng-class-odd.html +0 -8
  125. package/docs/static/examples/ng-click/ng-click.html +0 -6
  126. package/docs/static/examples/ng-copy/ng-copy.html +0 -6
  127. package/docs/static/examples/ng-cut/ng-cut.html +0 -6
  128. package/docs/static/examples/ng-dblclick/ng-dblclick.html +0 -10
  129. package/docs/static/examples/ng-focus/ng-focus.html +0 -9
  130. package/docs/static/examples/ng-keydown/ng-keydown.html +0 -9
  131. package/docs/static/examples/ng-keyup/ng-keyup.html +0 -9
  132. package/docs/static/examples/ng-load/ng-load.html +0 -8
  133. package/docs/static/examples/ng-mousedown/ng-mousedown.html +0 -6
  134. package/docs/static/examples/ng-mouseenter/ng-mouseenter.html +0 -4
  135. package/docs/static/examples/ng-mouseleave/ng-mouseleave.html +0 -4
  136. package/docs/static/examples/ng-mousemove/ng-mousemove.html +0 -4
  137. package/docs/static/examples/ng-mouseout/ng-mouseout.html +0 -4
  138. package/docs/static/examples/ng-mouseover/ng-mouseover.html +0 -4
  139. package/docs/static/examples/ng-mouseup/ng-mouseup.html +0 -4
  140. package/docs/static/examples/ng-non-bindable/ng-non-bindable-test.html +0 -13
  141. package/docs/static/examples/ng-non-bindable/ng-non-bindable.html +0 -3
  142. package/docs/static/examples/ng-non-bindable/ng-non-bindable.test.js +0 -11
  143. package/docs/static/examples/window/window.html +0 -4
  144. package/docs/static/typedoc/.nojekyll +0 -1
  145. package/docs/static/typedoc/assets/hierarchy.js +0 -1
  146. package/docs/static/typedoc/assets/highlight.css +0 -29
  147. package/docs/static/typedoc/assets/icons.js +0 -18
  148. package/docs/static/typedoc/assets/icons.svg +0 -1
  149. package/docs/static/typedoc/assets/main.js +0 -60
  150. package/docs/static/typedoc/assets/navigation.js +0 -1
  151. package/docs/static/typedoc/assets/search.js +0 -1
  152. package/docs/static/typedoc/assets/style.css +0 -1633
  153. package/docs/static/typedoc/classes/Location.html +0 -55
  154. package/docs/static/typedoc/classes/LocationProvider.html +0 -20
  155. package/docs/static/typedoc/classes/LogProvider.html +0 -6
  156. package/docs/static/typedoc/classes/PubSub.html +0 -71
  157. package/docs/static/typedoc/classes/PubSubProvider.html +0 -4
  158. package/docs/static/typedoc/classes/TemplateCacheProvider.html +0 -5
  159. package/docs/static/typedoc/hierarchy.html +0 -1
  160. package/docs/static/typedoc/index.html +0 -1
  161. package/docs/static/typedoc/interfaces/DefaultPorts.html +0 -5
  162. package/docs/static/typedoc/interfaces/Html5Mode.html +0 -23
  163. package/docs/static/typedoc/interfaces/HttpHeadersGetter.html +0 -1
  164. package/docs/static/typedoc/interfaces/HttpProviderDefaults.html +0 -31
  165. package/docs/static/typedoc/interfaces/HttpRequestConfigHeaders.html +0 -6
  166. package/docs/static/typedoc/interfaces/HttpRequestTransformer.html +0 -1
  167. package/docs/static/typedoc/interfaces/HttpResponse.html +0 -7
  168. package/docs/static/typedoc/interfaces/HttpResponseTransformer.html +0 -1
  169. package/docs/static/typedoc/interfaces/HttpService.html +0 -38
  170. package/docs/static/typedoc/interfaces/LogService.html +0 -12
  171. package/docs/static/typedoc/interfaces/RequestConfig.html +0 -48
  172. package/docs/static/typedoc/interfaces/RequestShortcutConfig.html +0 -38
  173. package/docs/static/typedoc/interfaces/ServiceProvider.html +0 -5
  174. package/docs/static/typedoc/interfaces/UrlParts.html +0 -9
  175. package/docs/static/typedoc/types/HttpParamSerializer.html +0 -2
  176. package/docs/static/typedoc/types/HttpParams.html +0 -2
  177. package/docs/static/typedoc/types/HttpPromise.html +0 -1
  178. package/docs/static/typedoc/types/HttpResponseStatus.html +0 -1
  179. package/docs/static/typedoc/types/LogCall.html +0 -2
  180. package/docs/static/typedoc/types/LogServiceFactory.html +0 -2
  181. package/docs/static/typedoc/types/UrlChangeListener.html +0 -5
  182. package/docs/static/typedoc/variables/EventBus.html +0 -1
  183. package/docs/static/version.js +0 -13
  184. package/docs/test-results/.last-run.json +0 -4
  185. package/docs/test-results/static-examples-counter-counter-counter-example/error-context.md +0 -50
  186. package/eslint.config.js +0 -26
  187. package/images/android-chrome-192x192.png +0 -0
  188. package/images/android-chrome-512x512.png +0 -0
  189. package/images/apple-touch-icon.png +0 -0
  190. package/images/favicon-16x16.png +0 -0
  191. package/images/favicon-32x32.png +0 -0
  192. package/images/favicon.ico +0 -0
  193. package/images/site.webmanifest +0 -19
  194. package/index.html +0 -86
  195. package/legacy.d.ts +0 -1678
  196. package/playwright.config.ts +0 -81
  197. package/public/jasmine/boot0.js +0 -66
  198. package/public/jasmine/boot1.js +0 -134
  199. package/public/jasmine/jasmine-html.js +0 -970
  200. package/public/jasmine/jasmine.css +0 -323
  201. package/public/jasmine/jasmine.js +0 -11406
  202. package/public/public/README.md +0 -1
  203. package/public/public/circle.html +0 -1
  204. package/public/public/jasmine-helper.css +0 -9
  205. package/public/public/my_child_directive.html +0 -1
  206. package/public/public/my_directive.html +0 -1
  207. package/public/public/my_other_directive.html +0 -1
  208. package/public/public/test.html +0 -1
  209. package/rollup.config.js +0 -51
  210. package/src/angular.js +0 -286
  211. package/src/angular.spec.js +0 -1191
  212. package/src/animations/animate-cache.js +0 -80
  213. package/src/animations/animate-children-directive.js +0 -32
  214. package/src/animations/animate-children-directive.md +0 -80
  215. package/src/animations/animate-css-driver.js +0 -284
  216. package/src/animations/animate-css.html +0 -58
  217. package/src/animations/animate-css.js +0 -915
  218. package/src/animations/animate-css.md +0 -263
  219. package/src/animations/animate-js-driver.js +0 -60
  220. package/src/animations/animate-js.html +0 -47
  221. package/src/animations/animate-js.js +0 -371
  222. package/src/animations/animate-queue.js +0 -859
  223. package/src/animations/animate-runner.js +0 -193
  224. package/src/animations/animate-swap.js +0 -33
  225. package/src/animations/animate-swap.md +0 -88
  226. package/src/animations/animate.html +0 -19
  227. package/src/animations/animate.js +0 -546
  228. package/src/animations/animate.md +0 -933
  229. package/src/animations/animate.spec.js +0 -490
  230. package/src/animations/animation.js +0 -519
  231. package/src/animations/animations.test.js +0 -10
  232. package/src/animations/interface.ts +0 -19
  233. package/src/animations/raf-scheduler.html +0 -19
  234. package/src/animations/raf-scheduler.js +0 -92
  235. package/src/animations/raf-scheduler.spec.js +0 -98
  236. package/src/animations/shared.js +0 -341
  237. package/src/binding.html +0 -19
  238. package/src/binding.spec.js +0 -474
  239. package/src/binding.test.js +0 -10
  240. package/src/core/compile/attributes.js +0 -337
  241. package/src/core/compile/compile.html +0 -19
  242. package/src/core/compile/compile.js +0 -3271
  243. package/src/core/compile/compile.md +0 -1128
  244. package/src/core/compile/compile.spec.js +0 -15574
  245. package/src/core/compile/compile.test.js +0 -12
  246. package/src/core/controller/controller.html +0 -22
  247. package/src/core/controller/controller.js +0 -193
  248. package/src/core/controller/controller.spec.js +0 -334
  249. package/src/core/controller/controller.test.js +0 -12
  250. package/src/core/controller/interface.ts +0 -6
  251. package/src/core/core.html +0 -20
  252. package/src/core/core.test.js +0 -12
  253. package/src/core/di/injector.html +0 -19
  254. package/src/core/di/injector.js +0 -307
  255. package/src/core/di/injector.md +0 -740
  256. package/src/core/di/injector.spec.js +0 -2310
  257. package/src/core/di/injector.test.js +0 -12
  258. package/src/core/di/internal-injector.js +0 -286
  259. package/src/core/di/ng-module.html +0 -19
  260. package/src/core/di/ng-module.js +0 -229
  261. package/src/core/di/ng-module.spec.js +0 -263
  262. package/src/core/di/ng-module.test.js +0 -12
  263. package/src/core/filter/filter.html +0 -19
  264. package/src/core/filter/filter.js +0 -55
  265. package/src/core/filter/filter.md +0 -132
  266. package/src/core/filter/filter.spec.js +0 -149
  267. package/src/core/filter/filter.test.js +0 -12
  268. package/src/core/interpolate/interface.ts +0 -14
  269. package/src/core/interpolate/interpolate.html +0 -22
  270. package/src/core/interpolate/interpolate.js +0 -410
  271. package/src/core/interpolate/interpolate.spec.js +0 -601
  272. package/src/core/interpolate/interpolate.test.js +0 -12
  273. package/src/core/parse/ast/ast-node.ts +0 -81
  274. package/src/core/parse/ast/ast.html +0 -19
  275. package/src/core/parse/ast/ast.js +0 -574
  276. package/src/core/parse/ast/ast.spec.js +0 -1453
  277. package/src/core/parse/ast/ast.test.js +0 -10
  278. package/src/core/parse/ast-type.js +0 -23
  279. package/src/core/parse/interface.ts +0 -84
  280. package/src/core/parse/interpreter.js +0 -915
  281. package/src/core/parse/lexer/lexer.html +0 -19
  282. package/src/core/parse/lexer/lexer.js +0 -338
  283. package/src/core/parse/lexer/lexer.spec.js +0 -303
  284. package/src/core/parse/lexer/lexer.test.js +0 -10
  285. package/src/core/parse/lexer/token.ts +0 -22
  286. package/src/core/parse/parse.html +0 -19
  287. package/src/core/parse/parse.js +0 -337
  288. package/src/core/parse/parse.md +0 -57
  289. package/src/core/parse/parse.spec.js +0 -2107
  290. package/src/core/parse/parse.test.js +0 -10
  291. package/src/core/parse/parser/parser.html +0 -19
  292. package/src/core/parse/parser/parser.js +0 -64
  293. package/src/core/parse/parser/parser.spec.js +0 -8
  294. package/src/core/parse/parser/parser.test.js +0 -10
  295. package/src/core/prop.spec.js +0 -775
  296. package/src/core/root-element.spec.js +0 -14
  297. package/src/core/sanitize/interface.ts +0 -10
  298. package/src/core/sanitize/sanitize-uri.js +0 -75
  299. package/src/core/sanitize/sanitize-uri.spec.js +0 -249
  300. package/src/core/sanitize/sanitize-uri.test.js +0 -12
  301. package/src/core/sanitize/sanitize.html +0 -22
  302. package/src/core/scope/scope.html +0 -19
  303. package/src/core/scope/scope.js +0 -1252
  304. package/src/core/scope/scope.spec.js +0 -3000
  305. package/src/core/scope/scope.test.js +0 -12
  306. package/src/directive/aria/aria.html +0 -19
  307. package/src/directive/aria/aria.js +0 -382
  308. package/src/directive/aria/aria.md +0 -145
  309. package/src/directive/aria/aria.spec.js +0 -1241
  310. package/src/directive/aria/aria.test.js +0 -12
  311. package/src/directive/attrs/attrs.html +0 -19
  312. package/src/directive/attrs/attrs.js +0 -106
  313. package/src/directive/attrs/attrs.md +0 -224
  314. package/src/directive/attrs/attrs.spec.js +0 -71
  315. package/src/directive/attrs/attrs.test.js +0 -12
  316. package/src/directive/attrs/boolean.html +0 -19
  317. package/src/directive/attrs/boolean.spec.js +0 -137
  318. package/src/directive/attrs/boolean.test.js +0 -12
  319. package/src/directive/attrs/element-style.html +0 -22
  320. package/src/directive/attrs/element-style.spec.js +0 -85
  321. package/src/directive/attrs/element-style.test.js +0 -12
  322. package/src/directive/attrs/src.html +0 -19
  323. package/src/directive/attrs/src.spec.js +0 -163
  324. package/src/directive/attrs/src.test.js +0 -12
  325. package/src/directive/bind/bind-html.spec.js +0 -36
  326. package/src/directive/bind/bind.html +0 -20
  327. package/src/directive/bind/bind.js +0 -78
  328. package/src/directive/bind/bind.md +0 -142
  329. package/src/directive/bind/bind.spec.js +0 -314
  330. package/src/directive/bind/bind.test.js +0 -12
  331. package/src/directive/channel/channel.html +0 -19
  332. package/src/directive/channel/channel.js +0 -30
  333. package/src/directive/channel/channel.spec.js +0 -67
  334. package/src/directive/channel/channel.test.js +0 -10
  335. package/src/directive/class/class-test.html +0 -23
  336. package/src/directive/class/class.html +0 -19
  337. package/src/directive/class/class.js +0 -184
  338. package/src/directive/class/class.spec.js +0 -704
  339. package/src/directive/class/class.test.js +0 -12
  340. package/src/directive/cloak/cloak.html +0 -19
  341. package/src/directive/cloak/cloak.js +0 -11
  342. package/src/directive/cloak/cloak.spec.js +0 -44
  343. package/src/directive/cloak/cloak.test.js +0 -12
  344. package/src/directive/controller/controller.html +0 -22
  345. package/src/directive/controller/controller.js +0 -11
  346. package/src/directive/controller/controller.md +0 -46
  347. package/src/directive/controller/controller.spec.js +0 -175
  348. package/src/directive/controller/controller.test.js +0 -12
  349. package/src/directive/events/click.spec.js +0 -35
  350. package/src/directive/events/event.spec.js +0 -267
  351. package/src/directive/events/events-test.html +0 -36
  352. package/src/directive/events/events.html +0 -20
  353. package/src/directive/events/events.js +0 -65
  354. package/src/directive/events/events.md +0 -125
  355. package/src/directive/events/events.test.js +0 -12
  356. package/src/directive/form/form.html +0 -19
  357. package/src/directive/form/form.js +0 -669
  358. package/src/directive/form/form.spec.js +0 -1515
  359. package/src/directive/form/form.test.js +0 -12
  360. package/src/directive/http/delete.spec.js +0 -23
  361. package/src/directive/http/form-router-test.html +0 -44
  362. package/src/directive/http/form-test.html +0 -18
  363. package/src/directive/http/get.spec.js +0 -488
  364. package/src/directive/http/http.html +0 -22
  365. package/src/directive/http/http.js +0 -342
  366. package/src/directive/http/http.test.js +0 -12
  367. package/src/directive/http/interface.ts +0 -36
  368. package/src/directive/http/post-example.html +0 -30
  369. package/src/directive/http/post.spec.js +0 -521
  370. package/src/directive/http/put.spec.js +0 -23
  371. package/src/directive/if/if-animate-css.html +0 -57
  372. package/src/directive/if/if-animate-svg.html +0 -25
  373. package/src/directive/if/if.html +0 -19
  374. package/src/directive/if/if.js +0 -72
  375. package/src/directive/if/if.md +0 -76
  376. package/src/directive/if/if.spec.js +0 -293
  377. package/src/directive/if/if.test.js +0 -114
  378. package/src/directive/include/include.html +0 -19
  379. package/src/directive/include/include.js +0 -151
  380. package/src/directive/include/include.md +0 -87
  381. package/src/directive/include/include.spec.js +0 -734
  382. package/src/directive/include/include.test.js +0 -12
  383. package/src/directive/init/init.html +0 -19
  384. package/src/directive/init/init.js +0 -22
  385. package/src/directive/init/init.md +0 -41
  386. package/src/directive/init/init.spec.js +0 -68
  387. package/src/directive/init/init.test.js +0 -12
  388. package/src/directive/inject/inject.html +0 -19
  389. package/src/directive/inject/inject.js +0 -35
  390. package/src/directive/inject/inject.spec.js +0 -108
  391. package/src/directive/inject/inject.test.js +0 -12
  392. package/src/directive/input/input-example.html +0 -15
  393. package/src/directive/input/input.html +0 -19
  394. package/src/directive/input/input.js +0 -1078
  395. package/src/directive/input/input.md +0 -706
  396. package/src/directive/input/input.spec.js +0 -3700
  397. package/src/directive/input/input.test.js +0 -12
  398. package/src/directive/messages/messages.html +0 -22
  399. package/src/directive/messages/messages.js +0 -349
  400. package/src/directive/messages/messages.md +0 -543
  401. package/src/directive/messages/messages.spec.js +0 -1083
  402. package/src/directive/messages/messages.test.js +0 -12
  403. package/src/directive/model/change.md +0 -25
  404. package/src/directive/model/model.html +0 -19
  405. package/src/directive/model/model.js +0 -1170
  406. package/src/directive/model/model.spec.js +0 -1976
  407. package/src/directive/model/model.test.js +0 -12
  408. package/src/directive/model-options/model-option.test.js +0 -12
  409. package/src/directive/model-options/model-options.html +0 -22
  410. package/src/directive/model-options/model-options.js +0 -142
  411. package/src/directive/model-options/model-options.md +0 -407
  412. package/src/directive/model-options/model-options.spec.js +0 -1022
  413. package/src/directive/non-bindable/non-bindable.html +0 -22
  414. package/src/directive/non-bindable/non-bindable.js +0 -9
  415. package/src/directive/non-bindable/non-bindable.spec.js +0 -59
  416. package/src/directive/non-bindable/non-bindable.test.js +0 -12
  417. package/src/directive/observe/observe-demo.html +0 -184
  418. package/src/directive/observe/observe.html +0 -19
  419. package/src/directive/observe/observe.js +0 -41
  420. package/src/directive/observe/observe.spec.js +0 -106
  421. package/src/directive/observe/observe.test.js +0 -10
  422. package/src/directive/on/on.html +0 -19
  423. package/src/directive/on/on.spec.js +0 -215
  424. package/src/directive/on/on.test.js +0 -12
  425. package/src/directive/options/options-example.html +0 -17
  426. package/src/directive/options/options.html +0 -22
  427. package/src/directive/options/options.js +0 -542
  428. package/src/directive/options/options.md +0 -179
  429. package/src/directive/options/options.spec.js +0 -3554
  430. package/src/directive/options/options.test.js +0 -12
  431. package/src/directive/ref/href.html +0 -19
  432. package/src/directive/ref/href.spec.js +0 -141
  433. package/src/directive/ref/href.test.js +0 -19
  434. package/src/directive/ref/ref.html +0 -19
  435. package/src/directive/ref/ref.js +0 -89
  436. package/src/directive/ref/ref.spec.js +0 -546
  437. package/src/directive/repeat/repeat.html +0 -19
  438. package/src/directive/repeat/repeat.js +0 -333
  439. package/src/directive/repeat/repeat.md +0 -330
  440. package/src/directive/repeat/repeat.spec.js +0 -1209
  441. package/src/directive/repeat/repeat.test.js +0 -12
  442. package/src/directive/script/script.html +0 -19
  443. package/src/directive/script/script.js +0 -17
  444. package/src/directive/script/script.md +0 -11
  445. package/src/directive/script/script.spec.js +0 -47
  446. package/src/directive/script/script.test.js +0 -12
  447. package/src/directive/select/select.html +0 -19
  448. package/src/directive/select/select.js +0 -594
  449. package/src/directive/select/select.md +0 -74
  450. package/src/directive/select/select.spec.js +0 -2566
  451. package/src/directive/select/select.test.js +0 -12
  452. package/src/directive/setter/setter.html +0 -19
  453. package/src/directive/setter/setter.js +0 -59
  454. package/src/directive/setter/setter.spec.js +0 -100
  455. package/src/directive/setter/setter.test.js +0 -12
  456. package/src/directive/show-hide/show-hide.html +0 -22
  457. package/src/directive/show-hide/show-hide.js +0 -65
  458. package/src/directive/show-hide/show-hide.md +0 -255
  459. package/src/directive/show-hide/show-hide.spec.js +0 -268
  460. package/src/directive/show-hide/show-hide.test.js +0 -12
  461. package/src/directive/style/style.html +0 -19
  462. package/src/directive/style/style.js +0 -27
  463. package/src/directive/style/style.md +0 -23
  464. package/src/directive/style/style.spec.js +0 -183
  465. package/src/directive/style/style.test.js +0 -12
  466. package/src/directive/switch/switch.html +0 -19
  467. package/src/directive/switch/switch.js +0 -133
  468. package/src/directive/switch/switch.md +0 -66
  469. package/src/directive/switch/switch.spec.js +0 -509
  470. package/src/directive/switch/switch.test.js +0 -12
  471. package/src/directive/transclude/transclude.js +0 -122
  472. package/src/directive/validators/validators.html +0 -22
  473. package/src/directive/validators/validators.js +0 -346
  474. package/src/directive/validators/validators.spec.js +0 -740
  475. package/src/directive/validators/validators.test.js +0 -12
  476. package/src/filters/filter.js +0 -213
  477. package/src/filters/filter.spec.js +0 -719
  478. package/src/filters/filters.html +0 -22
  479. package/src/filters/filters.js +0 -239
  480. package/src/filters/filters.spec.js +0 -36
  481. package/src/filters/filters.test.js +0 -12
  482. package/src/filters/interface.ts +0 -9
  483. package/src/filters/limit-to.js +0 -55
  484. package/src/filters/limit-to.spec.js +0 -252
  485. package/src/filters/order-by.js +0 -181
  486. package/src/filters/order-by.spec.js +0 -883
  487. package/src/index.js +0 -6
  488. package/src/index.spec.js +0 -11
  489. package/src/injection-tokens.js +0 -81
  490. package/src/interface.ts +0 -430
  491. package/src/ng.js +0 -291
  492. package/src/ng.spec.js +0 -45
  493. package/src/router/common/trace.js +0 -240
  494. package/src/router/directives/component-example.html +0 -37
  495. package/src/router/directives/state-directives.html +0 -22
  496. package/src/router/directives/state-directives.js +0 -393
  497. package/src/router/directives/state-directives.md +0 -435
  498. package/src/router/directives/state-directives.spec.js +0 -1091
  499. package/src/router/directives/state-directives.test.js +0 -10
  500. package/src/router/directives/view-directive.js +0 -489
  501. package/src/router/directives/view-directive.spec.js +0 -1921
  502. package/src/router/directives/view-directive.test.js +0 -10
  503. package/src/router/directives/view-directives.html +0 -22
  504. package/src/router/glob/glob.html +0 -19
  505. package/src/router/glob/glob.js +0 -102
  506. package/src/router/glob/glob.spec.js +0 -108
  507. package/src/router/glob/glob.test.js +0 -12
  508. package/src/router/hooks/core-resolvables.js +0 -38
  509. package/src/router/hooks/ignored-transition.js +0 -25
  510. package/src/router/hooks/invalid-transition.js +0 -14
  511. package/src/router/hooks/lazy-load.js +0 -104
  512. package/src/router/hooks/on-enter-exit-retain.js +0 -55
  513. package/src/router/hooks/redirect-to.js +0 -38
  514. package/src/router/hooks/resolve.js +0 -57
  515. package/src/router/hooks/update-globals.js +0 -34
  516. package/src/router/hooks/url.js +0 -34
  517. package/src/router/hooks/views.js +0 -41
  518. package/src/router/params/interface.ts +0 -626
  519. package/src/router/params/param-factory.js +0 -23
  520. package/src/router/params/param-type.js +0 -133
  521. package/src/router/params/param-types.js +0 -153
  522. package/src/router/params/param.js +0 -243
  523. package/src/router/params/state-params.js +0 -36
  524. package/src/router/path/path-node.js +0 -78
  525. package/src/router/path/path-utils.js +0 -207
  526. package/src/router/resolve/interface.ts +0 -208
  527. package/src/router/resolve/resolvable.js +0 -123
  528. package/src/router/resolve/resolve-context.js +0 -190
  529. package/src/router/router-test-hashbang.html +0 -45
  530. package/src/router/router-test.html +0 -41
  531. package/src/router/router.html +0 -22
  532. package/src/router/router.js +0 -54
  533. package/src/router/router.test.js +0 -12
  534. package/src/router/services.spec.js +0 -52
  535. package/src/router/state/interface.ts +0 -1007
  536. package/src/router/state/state-builder.js +0 -376
  537. package/src/router/state/state-builder.spec.js +0 -86
  538. package/src/router/state/state-matcher.js +0 -64
  539. package/src/router/state/state-object.js +0 -118
  540. package/src/router/state/state-queue-manager.js +0 -95
  541. package/src/router/state/state-registry.js +0 -262
  542. package/src/router/state/state-service.js +0 -687
  543. package/src/router/state/state.html +0 -23
  544. package/src/router/state/state.spec.js +0 -1002
  545. package/src/router/state/state.test.js +0 -12
  546. package/src/router/state/target-state.js +0 -162
  547. package/src/router/state/views.js +0 -195
  548. package/src/router/state-filter.spec.js +0 -139
  549. package/src/router/state-filters.js +0 -46
  550. package/src/router/template-factory.html +0 -19
  551. package/src/router/template-factory.js +0 -249
  552. package/src/router/template-factory.spec.js +0 -146
  553. package/src/router/template-factory.test.js +0 -12
  554. package/src/router/transition/hook-builder.js +0 -137
  555. package/src/router/transition/hook-registry.js +0 -181
  556. package/src/router/transition/interface.js +0 -18
  557. package/src/router/transition/interface.ts +0 -922
  558. package/src/router/transition/reject-factory.js +0 -122
  559. package/src/router/transition/transition-event-type.js +0 -26
  560. package/src/router/transition/transition-hook.js +0 -199
  561. package/src/router/transition/transition-service.js +0 -297
  562. package/src/router/transition/transition.js +0 -653
  563. package/src/router/url/url-config.js +0 -155
  564. package/src/router/url/url-matcher.js +0 -532
  565. package/src/router/url/url-rule.js +0 -231
  566. package/src/router/url/url-rules.js +0 -350
  567. package/src/router/url/url-service.js +0 -446
  568. package/src/router/url/url-service.spec.js +0 -1288
  569. package/src/router/url/url.html +0 -19
  570. package/src/router/url/url.test.js +0 -12
  571. package/src/router/view/interface.ts +0 -51
  572. package/src/router/view/view.html +0 -19
  573. package/src/router/view/view.js +0 -262
  574. package/src/router/view/view.spec.js +0 -100
  575. package/src/router/view/view.test.js +0 -12
  576. package/src/router/view-hook.spec.js +0 -215
  577. package/src/router/view-scroll.js +0 -33
  578. package/src/router/view-scroll.spec.js +0 -72
  579. package/src/services/anchor-scroll/anchor-scroll.html +0 -76
  580. package/src/services/anchor-scroll/anchor-scroll.js +0 -147
  581. package/src/services/exception/exception-handler.js +0 -75
  582. package/src/services/exception/interface.ts +0 -7
  583. package/src/services/http/http.html +0 -23
  584. package/src/services/http/http.js +0 -1109
  585. package/src/services/http/http.spec.js +0 -4320
  586. package/src/services/http/http.test.js +0 -11
  587. package/src/services/http/interface.ts +0 -256
  588. package/src/services/http/template-request.spec.js +0 -220
  589. package/src/services/location/interface.ts +0 -70
  590. package/src/services/location/location.html +0 -22
  591. package/src/services/location/location.js +0 -1006
  592. package/src/services/location/location.spec.js +0 -3792
  593. package/src/services/location/location.test.js +0 -12
  594. package/src/services/log/interface.ts +0 -39
  595. package/src/services/log/log.html +0 -19
  596. package/src/services/log/log.js +0 -74
  597. package/src/services/log/log.spec.js +0 -64
  598. package/src/services/log/log.test.js +0 -12
  599. package/src/services/pubsub/pubsub.html +0 -19
  600. package/src/services/pubsub/pubsub.js +0 -349
  601. package/src/services/pubsub/pubsub.spec.js +0 -400
  602. package/src/services/pubsub/pubsub.test.js +0 -12
  603. package/src/services/sce/sce.html +0 -19
  604. package/src/services/sce/sce.js +0 -852
  605. package/src/services/sce/sce.spec.js +0 -617
  606. package/src/services/sce/sce.test.js +0 -12
  607. package/src/services/template-cache/template-cache.html +0 -22
  608. package/src/services/template-cache/template-cache.js +0 -15
  609. package/src/services/template-cache/template-cache.spec.js +0 -134
  610. package/src/services/template-cache/template-cache.test.js +0 -12
  611. package/src/services/template-request/interface.ts +0 -23
  612. package/src/services/template-request/template-request.js +0 -142
  613. package/src/shared/cache.js +0 -7
  614. package/src/shared/common.js +0 -365
  615. package/src/shared/common.spec.js +0 -294
  616. package/src/shared/constants.js +0 -21
  617. package/src/shared/dom.js +0 -716
  618. package/src/shared/hof.js +0 -157
  619. package/src/shared/hof.spec.js +0 -60
  620. package/src/shared/interface.ts +0 -21
  621. package/src/shared/min-err.spec.js +0 -178
  622. package/src/shared/noderef.js +0 -225
  623. package/src/shared/predicates.js +0 -34
  624. package/src/shared/queue.js +0 -105
  625. package/src/shared/queue.spec.js +0 -80
  626. package/src/shared/shared.html +0 -24
  627. package/src/shared/shared.test.js +0 -12
  628. package/src/shared/strings.js +0 -142
  629. package/src/shared/strings.spec.js +0 -40
  630. package/src/shared/test-utils.js +0 -47
  631. package/src/shared/url-utils/interface.ts +0 -54
  632. package/src/shared/url-utils/url-utils.html +0 -22
  633. package/src/shared/url-utils/url-utils.js +0 -122
  634. package/src/shared/url-utils/url-utils.spec.js +0 -148
  635. package/src/shared/url-utils/url-utils.test.js +0 -12
  636. package/src/shared/utils.js +0 -1255
  637. package/src/shared/utils.spec.js +0 -178
  638. package/src/src.html +0 -21
  639. package/src/src.test.js +0 -10
  640. package/tsconfig.json +0 -19
  641. package/tsconfig.types.json +0 -14
  642. package/typedoc.json +0 -8
  643. package/utils/express.js +0 -203
  644. package/utils/version.cjs +0 -23
  645. package/vite.config.js +0 -14
@@ -1,653 +0,0 @@
1
- import { trace } from "../common/trace.js";
2
- import { stringify } from "../../shared/strings.js";
3
- import {
4
- map,
5
- find,
6
- tail,
7
- omit,
8
- arrayTuples,
9
- unnestR,
10
- anyTrueR,
11
- } from "../../shared/common.js";
12
- import { isUndefined, isObject, assert } from "../../shared/utils.js";
13
- import { propEq, val, is } from "../../shared/hof.js";
14
- import { TransitionHookPhase } from "./interface.js"; // has or is using
15
- import { TransitionHook } from "./transition-hook.js";
16
- import { matchState, makeEvent } from "./hook-registry.js";
17
- import { HookBuilder } from "./hook-builder.js";
18
- import { PathUtils } from "../path/path-utils.js";
19
- import { Param } from "../params/param.js";
20
- import { Resolvable } from "../resolve/resolvable.js";
21
- import { ResolveContext } from "../resolve/resolve-context.js";
22
- import { Rejection } from "./reject-factory.js";
23
-
24
- /** @typedef {import('./interface.ts').IHookRegistry} IHookRegistry */
25
-
26
- /**
27
- * Represents a transition between two states.
28
- *
29
- * When navigating to a state, we are transitioning **from** the current state **to** the new state.
30
- *
31
- * This object contains all contextual information about the to/from states, parameters, resolves.
32
- * It has information about all states being entered and exited as a result of the transition.
33
- * @implements {IHookRegistry}
34
- */
35
- export class Transition {
36
- /**
37
- * Creates a new Transition object.
38
- *
39
- * If the target state is not valid, an error is thrown.
40
- *
41
- * @param {Array<import('../path/path-node.js').PathNode>} fromPath The path of [[PathNode]]s from which the transition is leaving. The last node in the `fromPath`
42
- * encapsulates the "from state".
43
- * @param {import('../state/target-state.js').TargetState} targetState The target state and parameters being transitioned to (also, the transition options)
44
- * @param {import('../transition/transition-service.js').TransitionProvider} transitionService The [[TransitionService]] instance
45
- * @param {import('../router.js').Router} globals
46
- */
47
- constructor(fromPath, targetState, transitionService, globals) {
48
- /**
49
- * @type {import('../router.js').Router}
50
- */
51
- this.globals = globals;
52
- this.transitionService = transitionService;
53
- this._deferred = Promise.withResolvers();
54
- /**
55
- * This promise is resolved or rejected based on the outcome of the Transition.
56
- *
57
- * When the transition is successful, the promise is resolved
58
- * When the transition is unsuccessful, the promise is rejected with the [[Rejection]] or javascript error
59
- */
60
- this.promise = this._deferred.promise;
61
- /** @internal Holds the hook registration functions such as those passed to Transition.onStart() */
62
- this._registeredHooks = {};
63
-
64
- this._hookBuilder = new HookBuilder(this);
65
- /** Checks if this transition is currently active/running. */
66
- this.isActive = () => this.globals.transition === this;
67
- this._targetState = targetState;
68
- if (!targetState.valid()) {
69
- throw new Error(targetState.error());
70
- }
71
- // current() is assumed to come from targetState.options, but provide a naive implementation otherwise.
72
- this._options = Object.assign(
73
- { current: val(this) },
74
- targetState.options(),
75
- );
76
- this.$id = transitionService._transitionCount++;
77
- const toPath = PathUtils.buildToPath(fromPath, targetState);
78
- this._treeChanges = PathUtils.treeChanges(
79
- fromPath,
80
- toPath,
81
- this._options.reloadState,
82
- );
83
- this.createTransitionHookRegFns();
84
- const onCreateHooks = this._hookBuilder.buildHooksForPhase(
85
- TransitionHookPhase.CREATE,
86
- );
87
- TransitionHook.invokeHooks(onCreateHooks, () => null);
88
- this.applyViewConfigs();
89
- this.onStart = undefined;
90
- this.onBefore = undefined;
91
- this.onSuccess = undefined;
92
- this.onEnter = undefined;
93
- this.onRetain = undefined;
94
- this.onExit = undefined;
95
- this.onFinish = undefined;
96
- this.onError = undefined;
97
- }
98
-
99
- /**
100
- * Creates the transition-level hook registration functions
101
- * (which can then be used to register hooks)
102
- */
103
- createTransitionHookRegFns() {
104
- this.transitionService
105
- ._getEvents()
106
- .filter((type) => type.hookPhase !== TransitionHookPhase.CREATE)
107
- .forEach((type) => makeEvent(this, this.transitionService, type));
108
- }
109
-
110
- getHooks(hookName) {
111
- return this._registeredHooks[hookName];
112
- }
113
-
114
- applyViewConfigs() {
115
- const enteringStates = this._treeChanges.entering.map((node) => node.state);
116
- PathUtils.applyViewConfigs(
117
- this.transitionService.$view,
118
- this._treeChanges.to,
119
- enteringStates,
120
- );
121
- }
122
- /**
123
- * @returns {import('../state/state-object.js').StateObject} the internal from [State] object
124
- */
125
- $from() {
126
- return tail(this._treeChanges.from).state;
127
- }
128
- /**
129
- * @returns {import('../state/state-object.js').StateObject} the internal to [State] object
130
- */
131
- $to() {
132
- return tail(this._treeChanges.to).state;
133
- }
134
- /**
135
- * Returns the "from state"
136
- *
137
- * Returns the state that the transition is coming *from*.
138
- *
139
- * @returns The state declaration object for the Transition's ("from state").
140
- */
141
- from() {
142
- return this.$from().self;
143
- }
144
- /**
145
- * Returns the "to state"
146
- *
147
- * Returns the state that the transition is going *to*.
148
- *
149
- * @returns The state declaration object for the Transition's target state ("to state").
150
- */
151
- to() {
152
- return this.$to().self;
153
- }
154
- /**
155
- * Gets the Target State
156
- *
157
- * A transition's [[TargetState]] encapsulates the [[to]] state, the [[params]], and the [[options]] as a single object.
158
- *
159
- * @returns the [[TargetState]] of this Transition
160
- */
161
- targetState() {
162
- return this._targetState;
163
- }
164
- /**
165
- * Determines whether two transitions are equivalent.
166
- * @deprecated
167
- */
168
- is(compare) {
169
- if (compare instanceof Transition) {
170
- // TODO: Also compare parameters
171
- return this.is({ to: compare.$to().name, from: compare.$from().name });
172
- }
173
- return !(
174
- (compare.to && !matchState(this.$to(), compare.to, this)) ||
175
- (compare.from && !matchState(this.$from(), compare.from, this))
176
- );
177
- }
178
- params(pathname = "to") {
179
- return Object.freeze(
180
- this._treeChanges[pathname]
181
- .map((x) => x.paramValues)
182
- .reduce((acc, obj) => ({ ...acc, ...obj }), {}),
183
- );
184
- }
185
-
186
- /**
187
- * Gets all available resolve tokens (keys)
188
- *
189
- * This method can be used in conjunction with [[injector]] to inspect the resolve values
190
- * available to the Transition.
191
- *
192
- * This returns all the tokens defined on [[StateDeclaration.resolve]] blocks, for the states
193
- * in the Transition's [[TreeChanges.to]] path.
194
- *
195
- * #### Example:
196
- * This example logs all resolve values
197
- * ```js
198
- * let tokens = trans.getResolveTokens();
199
- * tokens.forEach(token => console.log(token + " = " + trans.injector().get(token)));
200
- * ```
201
- *
202
- * #### Example:
203
- * This example creates promises for each resolve value.
204
- * This triggers fetches of resolves (if any have not yet been fetched).
205
- * When all promises have all settled, it logs the resolve values.
206
- * ```js
207
- * let tokens = trans.getResolveTokens();
208
- * let promise = tokens.map(token => trans.injector().getAsync(token));
209
- * Promise.all(promises).then(values => console.log("Resolved values: " + values));
210
- * ```
211
- *
212
- * Note: Angular 1 users whould use `$q.all()`
213
- *
214
- * @param pathname resolve context's path name (e.g., `to` or `from`)
215
- *
216
- * @returns an array of resolve tokens (keys)
217
- */
218
- getResolveTokens(pathname = "to") {
219
- return new ResolveContext(this._treeChanges[pathname]).getTokens();
220
- }
221
-
222
- /**
223
- * Dynamically adds a new [[Resolvable]] (i.e., [[StateDeclaration.resolve]]) to this transition.
224
- *
225
- * Allows a transition hook to dynamically add a Resolvable to this Transition.
226
- *
227
- * Use the [[Transition.injector]] to retrieve the resolved data in subsequent hooks ([[UIInjector.get]]).
228
- *
229
- * If a `state` argument is provided, the Resolvable is processed when that state is being entered.
230
- * If no `state` is provided then the root state is used.
231
- * If the given `state` has already been entered, the Resolvable is processed when any child state is entered.
232
- * If no child states will be entered, the Resolvable is processed during the `onFinish` phase of the Transition.
233
- *
234
- * The `state` argument also scopes the resolved data.
235
- * The resolved data is available from the injector for that `state` and any children states.
236
- *
237
- * #### Example:
238
- * ```js
239
- * transitionService.onBefore({}, transition => {
240
- * transition.addResolvable({
241
- * token: 'myResolve',
242
- * deps: ['MyService'],
243
- * resolveFn: myService => myService.getData()
244
- * });
245
- * });
246
- * ```
247
- *
248
- * @param resolvable a [[ResolvableLiteral]] object (or a [[Resolvable]])
249
- * @param state the state in the "to path" which should receive the new resolve (otherwise, the root state)
250
- */
251
- addResolvable(resolvable, state) {
252
- if (state === void 0) {
253
- state = "";
254
- }
255
- resolvable = is(Resolvable)(resolvable)
256
- ? resolvable
257
- : new Resolvable(resolvable);
258
- const stateName = typeof state === "string" ? state : state.name;
259
- const topath = this._treeChanges.to;
260
- const targetNode = find(topath, (node) => {
261
- return node.state.name === stateName;
262
- });
263
- assert(!!targetNode, `targetNode not found ${stateName}`);
264
- const resolveContext = new ResolveContext(topath);
265
- resolveContext.addResolvables(
266
- [resolvable],
267
- /** @type {import("../path/path-node.js").PathNode} */ (targetNode).state,
268
- );
269
- }
270
- /**
271
- * Gets the transition from which this transition was redirected.
272
- *
273
- * If the current transition is a redirect, this method returns the transition that was redirected.
274
- *
275
- * #### Example:
276
- * ```js
277
- * let transitionA = $state.go('A').transition
278
- * transitionA.onStart({}, () => $state.target('B'));
279
- * $transitions.onSuccess({ to: 'B' }, (trans) => {
280
- * trans.to().name === 'B'; // true
281
- * trans.redirectedFrom() === transitionA; // true
282
- * });
283
- * ```
284
- *
285
- * @returns The previous Transition, or null if this Transition is not the result of a redirection
286
- */
287
- redirectedFrom() {
288
- return this._options.redirectedFrom || null;
289
- }
290
- /**
291
- * Gets the original transition in a redirect chain
292
- *
293
- * A transition might belong to a long chain of multiple redirects.
294
- * This method walks the [[redirectedFrom]] chain back to the original (first) transition in the chain.
295
- *
296
- * #### Example:
297
- * ```js
298
- * // states
299
- * registry.register({ name: 'A', redirectTo: 'B' });
300
- * registry.register({ name: 'B', redirectTo: 'C' });
301
- * registry.register({ name: 'C', redirectTo: 'D' });
302
- * registry.register({ name: 'D' });
303
- *
304
- * let transitionA = $state.go('A').transition
305
- *
306
- * $transitions.onSuccess({ to: 'D' }, (trans) => {
307
- * trans.to().name === 'D'; // true
308
- * trans.redirectedFrom().to().name === 'C'; // true
309
- * trans.originalTransition() === transitionA; // true
310
- * trans.originalTransition().to().name === 'A'; // true
311
- * });
312
- * ```
313
- *
314
- * @returns The original Transition that started a redirect chain
315
- */
316
- originalTransition() {
317
- const rf = this.redirectedFrom();
318
- return (rf && rf.originalTransition()) || this;
319
- }
320
- /**
321
- * Get the transition options
322
- *
323
- * @returns the options for this Transition.
324
- */
325
- options() {
326
- return this._options;
327
- }
328
- /**
329
- * Gets the states being entered.
330
- *
331
- * @returns an array of states that will be entered during this transition.
332
- */
333
- entering() {
334
- return map(this._treeChanges.entering, (x) => x.state).map((x) => x.self);
335
- }
336
- /**
337
- * Gets the states being exited.
338
- *
339
- * @returns an array of states that will be exited during this transition.
340
- */
341
- exiting() {
342
- return map(this._treeChanges.exiting, (x) => x.state)
343
- .map((x) => x.self)
344
- .reverse();
345
- }
346
- /**
347
- * Gets the states being retained.
348
- *
349
- * @returns an array of states that are already entered from a previous Transition, that will not be
350
- * exited during this Transition
351
- */
352
- retained() {
353
- return map(this._treeChanges.retained, (x) => x.state).map((x) => x.self);
354
- }
355
- /**
356
- * Get the [[ViewConfig]]s associated with this Transition
357
- *
358
- * Each state can define one or more views (template/controller), which are encapsulated as `ViewConfig` objects.
359
- * This method fetches the `ViewConfigs` for a given path in the Transition (e.g., "to" or "entering").
360
- *
361
- * @param pathname the name of the path to fetch views for:
362
- * (`'to'`, `'from'`, `'entering'`, `'exiting'`, `'retained'`)
363
- * @param state If provided, only returns the `ViewConfig`s for a single state in the path
364
- *
365
- * @returns a list of ViewConfig objects for the given path.
366
- */
367
- views(pathname = "entering", state) {
368
- let path = this._treeChanges[pathname];
369
- path = !state ? path : path.filter(propEq("state", state));
370
- return path.map((x) => x.views).reduce(unnestR, []);
371
- }
372
- treeChanges(pathname) {
373
- return pathname ? this._treeChanges[pathname] : this._treeChanges;
374
- }
375
- /**
376
- * Creates a new transition that is a redirection of the current one.
377
- *
378
- * This transition can be returned from a [[TransitionService]] hook to
379
- * redirect a transition to a new state and/or set of parameters.
380
- *
381
- * @internal
382
- *
383
- * @returns Returns a new [[Transition]] instance.
384
- */
385
- redirect(targetState) {
386
- let redirects = 1,
387
- trans = this;
388
- while ((trans = trans.redirectedFrom()) != null) {
389
- if (++redirects > 20)
390
- throw new Error(`Too many consecutive Transition redirects (20+)`);
391
- }
392
- const redirectOpts = { redirectedFrom: this, source: "redirect" };
393
- // If the original transition was caused by URL sync, then use { location: 'replace' }
394
- // on the new transition (unless the target state explicitly specifies location: false).
395
- // This causes the original url to be replaced with the url for the redirect target
396
- // so the original url disappears from the browser history.
397
- if (
398
- this.options().source === "url" &&
399
- targetState.options().location !== false
400
- ) {
401
- redirectOpts.location = "replace";
402
- }
403
- const newOptions = Object.assign(
404
- {},
405
- this.options(),
406
- targetState.options(),
407
- redirectOpts,
408
- );
409
- targetState = targetState.withOptions(newOptions, true);
410
- const newTransition = this.transitionService.create(
411
- this._treeChanges.from,
412
- targetState,
413
- );
414
- const originalEnteringNodes = this._treeChanges.entering;
415
- const redirectEnteringNodes = newTransition._treeChanges.entering;
416
- // --- Re-use resolve data from original transition ---
417
- // When redirecting from a parent state to a child state where the parent parameter values haven't changed
418
- // (because of the redirect), the resolves fetched by the original transition are still valid in the
419
- // redirected transition.
420
- //
421
- // This allows you to define a redirect on a parent state which depends on an async resolve value.
422
- // You can wait for the resolve, then redirect to a child state based on the result.
423
- // The redirected transition does not have to re-fetch the resolve.
424
- // ---------------------------------------------------------
425
- const nodeIsReloading = (reloadState) => (node) => {
426
- return reloadState && node.state.includes[reloadState.name];
427
- };
428
- // Find any "entering" nodes in the redirect path that match the original path and aren't being reloaded
429
- const matchingEnteringNodes = PathUtils.matching(
430
- redirectEnteringNodes,
431
- originalEnteringNodes,
432
- PathUtils.nonDynamicParams,
433
- ).filter((x) => !nodeIsReloading(targetState.options().reloadState)(x));
434
- // Use the existing (possibly pre-resolved) resolvables for the matching entering nodes.
435
- matchingEnteringNodes.forEach((node, idx) => {
436
- node.resolvables = originalEnteringNodes[idx].resolvables;
437
- });
438
- return newTransition;
439
- }
440
- /** @internal If a transition doesn't exit/enter any states, returns any [[Param]] whose value changed */
441
- _changedParams() {
442
- const tc = this._treeChanges;
443
- /** Return undefined if it's not a "dynamic" transition, for the following reasons */
444
- // If user explicitly wants a reload
445
- if (this._options.reload) return undefined;
446
- // If any states are exiting or entering
447
- if (tc.exiting.length || tc.entering.length) return undefined;
448
- // If to/from path lengths differ
449
- if (tc.to.length !== tc.from.length) return undefined;
450
- // If the to/from paths are different
451
- const pathsDiffer = arrayTuples(tc.to, tc.from)
452
- .map((tuple) => tuple[0].state !== tuple[1].state)
453
- .reduce(anyTrueR, false);
454
- if (pathsDiffer) return undefined;
455
- // Find any parameter values that differ
456
- const nodeSchemas = tc.to.map((node) => node.paramSchema);
457
- const [toValues, fromValues] = [tc.to, tc.from].map((path) =>
458
- path.map((x) => x.paramValues),
459
- );
460
- const tuples = arrayTuples(nodeSchemas, toValues, fromValues);
461
- return tuples
462
- .map(([schema, toVals, fromVals]) =>
463
- Param.changed(schema, toVals, fromVals),
464
- )
465
- .reduce(unnestR, []);
466
- }
467
- /**
468
- * Returns true if the transition is dynamic.
469
- *
470
- * A transition is dynamic if no states are entered nor exited, but at least one dynamic parameter has changed.
471
- *
472
- * @returns true if the Transition is dynamic
473
- */
474
- dynamic() {
475
- const changes = this._changedParams();
476
- return !changes
477
- ? false
478
- : changes.map((x) => x.dynamic).reduce(anyTrueR, false);
479
- }
480
- /**
481
- * Returns true if the transition is ignored.
482
- *
483
- * A transition is ignored if no states are entered nor exited, and no parameter values have changed.
484
- *
485
- * @returns true if the Transition is ignored.
486
- */
487
- ignored() {
488
- return !!this._ignoredReason();
489
- }
490
-
491
- _ignoredReason() {
492
- const pending = this.globals.transition;
493
- const reloadState = this._options.reloadState;
494
- const same = (pathA, pathB) => {
495
- if (pathA.length !== pathB.length) return false;
496
- const matching = PathUtils.matching(pathA, pathB);
497
- return (
498
- pathA.length ===
499
- matching.filter(
500
- (node) => !reloadState || !node.state.includes[reloadState.name],
501
- ).length
502
- );
503
- };
504
- const newTC = this._treeChanges;
505
- const pendTC = pending && pending._treeChanges;
506
- if (
507
- pendTC &&
508
- same(pendTC.to, newTC.to) &&
509
- same(pendTC.exiting, newTC.exiting)
510
- )
511
- return "SameAsPending";
512
- if (
513
- newTC.exiting.length === 0 &&
514
- newTC.entering.length === 0 &&
515
- same(newTC.from, newTC.to)
516
- )
517
- return "SameAsCurrent";
518
- }
519
-
520
- /**
521
- * Runs the transition
522
- *
523
- * This method is generally called from the [[StateService.transitionTo]]
524
- *
525
- * @internal
526
- *
527
- * @returns {Promise} a promise for a successful transition.
528
- */
529
- run() {
530
- // Gets transition hooks array for the given phase
531
- const getHooksFor = (phase) => this._hookBuilder.buildHooksForPhase(phase);
532
- // When the chain is complete, then resolve or reject the deferred
533
- const transitionSuccess = () => {
534
- trace.traceSuccess(this.$to(), this);
535
- this.success = true;
536
- this._deferred.resolve(this.to());
537
- const hooks = this._hookBuilder.buildHooksForPhase(
538
- TransitionHookPhase.SUCCESS,
539
- );
540
- hooks.forEach((hook) => {
541
- hook.invokeHook();
542
- });
543
- };
544
-
545
- const transitionError = (reason) => {
546
- trace.traceError(reason, this);
547
- this.success = false;
548
- this._deferred.reject(reason);
549
- this._error = reason;
550
- const hooks = getHooksFor(TransitionHookPhase.ERROR);
551
- hooks.forEach((hook) => hook.invokeHook());
552
- };
553
-
554
- const runTransition = () => {
555
- // Wait to build the RUN hook chain until the BEFORE hooks are done
556
- // This allows a BEFORE hook to dynamically add additional RUN hooks via the Transition object.
557
- const allRunHooks = getHooksFor(TransitionHookPhase.RUN);
558
- const resolved = Promise.resolve();
559
- return TransitionHook.invokeHooks(allRunHooks, () => resolved);
560
- };
561
- const startTransition = () => {
562
- const globals = this.globals;
563
- globals.lastStartedTransitionId = this.$id;
564
- globals.transition = this;
565
- globals.transitionHistory.enqueue(this);
566
- trace.traceTransitionStart(this);
567
- return Promise.resolve();
568
- };
569
- const allBeforeHooks = getHooksFor(TransitionHookPhase.BEFORE);
570
- TransitionHook.invokeHooks(allBeforeHooks, startTransition)
571
- .then(runTransition)
572
- .then(transitionSuccess, transitionError);
573
- return this.promise;
574
- }
575
- /**
576
- * Checks if the Transition is valid
577
- *
578
- * @returns true if the Transition is valid
579
- */
580
- valid() {
581
- return !this.error() || this.success !== undefined;
582
- }
583
- /**
584
- * Aborts this transition
585
- *
586
- * Imperative API to abort a Transition.
587
- * This only applies to Transitions that are not yet complete.
588
- */
589
- abort() {
590
- // Do not set flag if the transition is already complete
591
- if (isUndefined(this.success)) {
592
- this._aborted = true;
593
- }
594
- }
595
- /**
596
- * The Transition error reason.
597
- *
598
- * If the transition is invalid (and could not be run), returns the reason the transition is invalid.
599
- * If the transition was valid and ran, but was not successful, returns the reason the transition failed.
600
- *
601
- * @returns a transition rejection explaining why the transition is invalid, or the reason the transition failed.
602
- */
603
- error() {
604
- const state = this.$to();
605
- if (state.self.abstract) {
606
- return Rejection.invalid(
607
- `Cannot transition to abstract state '${state.name}'`,
608
- );
609
- }
610
- const paramDefs = state.parameters();
611
- const values = this.params();
612
- const invalidParams = paramDefs.filter(
613
- (param) => !param.validates(values[param.id]),
614
- );
615
- if (invalidParams.length) {
616
- const invalidValues = invalidParams
617
- .map((param) => `[${param.id}:${stringify(values[param.id])}]`)
618
- .join(", ");
619
- const detail = `The following parameter values are not valid for state '${state.name}': ${invalidValues}`;
620
- return Rejection.invalid(detail);
621
- }
622
- if (this.success === false) return this._error;
623
- }
624
- /**
625
- * A string representation of the Transition
626
- *
627
- * @returns A string representation of the Transition
628
- */
629
- toString() {
630
- const fromStateOrName = this.from();
631
- const toStateOrName = this.to();
632
- const avoidEmptyHash = (params) =>
633
- params["#"] !== null && params["#"] !== undefined
634
- ? params
635
- : omit(params, ["#"]);
636
- // (X) means the to state is invalid.
637
- const id = this.$id,
638
- from = isObject(fromStateOrName) ? fromStateOrName.name : fromStateOrName,
639
- fromParams = stringify(
640
- avoidEmptyHash(
641
- this._treeChanges.from
642
- .map((x) => x.paramValues)
643
- .reduce((acc, obj) => ({ ...acc, ...obj }), {}),
644
- ),
645
- ),
646
- toValid = this.valid() ? "" : "(X) ",
647
- to = isObject(toStateOrName) ? toStateOrName.name : toStateOrName,
648
- toParams = stringify(avoidEmptyHash(this.params()));
649
- return `Transition#${id}( '${from}'${fromParams} -> ${toValid}'${to}'${toParams} )`;
650
- }
651
- }
652
-
653
- Transition.diToken = Transition;