@angular-wave/angular.ts 0.9.4 → 0.9.6

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 +9 -2
  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,207 +0,0 @@
1
- import { find, pick, omit, unnestR, arrayTuples } from "../../shared/common.js";
2
- import { propEq } from "../../shared/hof.js";
3
- import { TargetState } from "../state/target-state.js";
4
- import { PathNode } from "./path-node.js";
5
- /**
6
- * This class contains functions which convert TargetStates, Nodes and paths from one type to another.
7
- */
8
- export class PathUtils {
9
- static buildPath(targetState) {
10
- const toParams = targetState.params();
11
- return targetState
12
- .$state()
13
- .path.map((state) => new PathNode(state).applyRawParams(toParams));
14
- }
15
- /** Given a fromPath: PathNode[] and a TargetState, builds a toPath: PathNode[] */
16
- static buildToPath(fromPath, targetState) {
17
- const toPath = PathUtils.buildPath(targetState);
18
- if (targetState.options().inherit) {
19
- return PathUtils.inheritParams(
20
- fromPath,
21
- toPath,
22
- Object.keys(targetState.params()),
23
- );
24
- }
25
- return toPath;
26
- }
27
- /**
28
- * Creates ViewConfig objects and adds to nodes.
29
- *
30
- * On each [[PathNode]], creates ViewConfig objects from the views: property of the node's state
31
- */
32
- static applyViewConfigs($view, path, states) {
33
- // Only apply the viewConfigs to the nodes for the given states
34
- path
35
- .filter((node) => states.includes(node.state))
36
- .forEach((node) => {
37
- const viewDecls = Object.values(node.state.views || {});
38
- const subPath = PathUtils.subPath(path, (n) => n === node);
39
- const viewConfigs = viewDecls.map((view) => {
40
- return $view.createViewConfig(subPath, view);
41
- });
42
- node.views = viewConfigs.reduce(unnestR, []);
43
- });
44
- }
45
- /**
46
- * Given a fromPath and a toPath, returns a new to path which inherits parameters from the fromPath
47
- *
48
- * For a parameter in a node to be inherited from the from path:
49
- * - The toPath's node must have a matching node in the fromPath (by state).
50
- * - The parameter name must not be found in the toKeys parameter array.
51
- *
52
- * Note: the keys provided in toKeys are intended to be those param keys explicitly specified by some
53
- * caller, for instance, $state.transitionTo(..., toParams). If a key was found in toParams,
54
- * it is not inherited from the fromPath.
55
- */
56
- static inheritParams(fromPath, toPath, toKeys = []) {
57
- function nodeParamVals(path, state) {
58
- /** @type {PathNode} */
59
- const node = find(path, propEq("state", state));
60
- return Object.assign({}, node && node.paramValues);
61
- }
62
- const noInherit = fromPath
63
- .map((node) => node.paramSchema)
64
- .reduce(unnestR, [])
65
- .filter((param) => !param.inherit)
66
- .map((x) => x.id);
67
- /**
68
- * Given an [[PathNode]] "toNode", return a new [[PathNode]] with param values inherited from the
69
- * matching node in fromPath. Only inherit keys that aren't found in "toKeys" from the node in "fromPath""
70
- */
71
- function makeInheritedParamsNode(toNode) {
72
- // All param values for the node (may include default key/vals, when key was not found in toParams)
73
- let toParamVals = Object.assign({}, toNode && toNode.paramValues);
74
- // limited to only those keys found in toParams
75
- const incomingParamVals = pick(toParamVals, toKeys);
76
- toParamVals = omit(toParamVals, toKeys);
77
- const fromParamVals = omit(
78
- nodeParamVals(fromPath, toNode.state) || {},
79
- noInherit,
80
- );
81
- // extend toParamVals with any fromParamVals, then override any of those those with incomingParamVals
82
- const ownParamVals = Object.assign(
83
- toParamVals,
84
- fromParamVals,
85
- incomingParamVals,
86
- );
87
- return new PathNode(toNode.state).applyRawParams(ownParamVals);
88
- }
89
- // The param keys specified by the incoming toParams
90
- return toPath.map(makeInheritedParamsNode);
91
- }
92
-
93
- /**
94
- * Computes the tree changes (entering, exiting) between a fromPath and toPath.
95
- * @param {PathNode[]} fromPath
96
- * @param {PathNode[]} toPath
97
- * @param {boolean} [reloadState]
98
- * @returns {import("../transition/interface.js").TreeChanges}
99
- */
100
- static treeChanges(fromPath, toPath, reloadState) {
101
- const max = Math.min(fromPath.length, toPath.length);
102
- let keep = 0;
103
- const nodesMatch = (node1, node2) =>
104
- node1.equals(node2, PathUtils.nonDynamicParams);
105
- while (
106
- keep < max &&
107
- fromPath[keep].state !== reloadState &&
108
- nodesMatch(fromPath[keep], toPath[keep])
109
- ) {
110
- keep++;
111
- }
112
- /** Given a retained node, return a new node which uses the to node's param values */
113
- function applyToParams(retainedNode, idx) {
114
- const cloned = retainedNode.clone();
115
- cloned.paramValues = toPath[idx].paramValues;
116
- return cloned;
117
- }
118
- let from, retained, exiting, entering, to;
119
- from = fromPath;
120
- retained = from.slice(0, keep);
121
- exiting = from.slice(keep);
122
- // Create a new retained path (with shallow copies of nodes) which have the params of the toPath mapped
123
- const retainedWithToParams = retained.map(applyToParams);
124
- entering = toPath.slice(keep);
125
- to = retainedWithToParams.concat(entering);
126
- return { from, to, retained, retainedWithToParams, exiting, entering };
127
- }
128
- /**
129
- * Returns a new path which is: the subpath of the first path which matches the second path.
130
- *
131
- * The new path starts from root and contains any nodes that match the nodes in the second path.
132
- * It stops before the first non-matching node.
133
- *
134
- * Nodes are compared using their state property and their parameter values.
135
- * If a `paramsFn` is provided, only the [[Param]] returned by the function will be considered when comparing nodes.
136
- *
137
- * @param pathA the first path
138
- * @param pathB the second path
139
- * @param paramsFn a function which returns the parameters to consider when comparing
140
- *
141
- * @returns an array of PathNodes from the first path which match the nodes in the second path
142
- */
143
- static matching(pathA, pathB, paramsFn) {
144
- let done = false;
145
- const tuples = arrayTuples(pathA, pathB);
146
- return tuples.reduce((matching, [nodeA, nodeB]) => {
147
- done = done || !nodeA.equals(nodeB, paramsFn);
148
- return done ? matching : matching.concat(nodeA);
149
- }, []);
150
- }
151
- /**
152
- * Returns true if two paths are identical.
153
- *
154
- * @param pathA
155
- * @param pathB
156
- * @param paramsFn a function which returns the parameters to consider when comparing
157
- * @returns true if the the states and parameter values for both paths are identical
158
- */
159
- static equals(pathA, pathB, paramsFn) {
160
- return (
161
- pathA.length === pathB.length &&
162
- PathUtils.matching(pathA, pathB, paramsFn).length === pathA.length
163
- );
164
- }
165
- /**
166
- * Return a subpath of a path, which stops at the first matching node
167
- *
168
- * Given an array of nodes, returns a subset of the array starting from the first node,
169
- * stopping when the first node matches the predicate.
170
- *
171
- * @param path a path of [[PathNode]]s
172
- * @param predicate a [[Predicate]] fn that matches [[PathNode]]s
173
- * @returns a subpath up to the matching node, or undefined if no match is found
174
- */
175
- static subPath(path, predicate) {
176
- const node = find(path, predicate);
177
- const elementIdx = path.indexOf(node);
178
- return elementIdx === -1 ? undefined : path.slice(0, elementIdx + 1);
179
- }
180
-
181
- static nonDynamicParams(node) {
182
- return node.state
183
- .parameters({ inherit: false })
184
- .filter((param) => !param.dynamic);
185
- }
186
-
187
- /** Gets the raw parameter values from a path */
188
- static paramValues(path) {
189
- return path.reduce((acc, node) => Object.assign(acc, node.paramValues), {});
190
- }
191
- }
192
-
193
- /** Given a PathNode[], create an TargetState
194
- * @param {import("../state/state-registry.js").StateRegistryProvider} registry
195
- * @param {Array<PathNode>} path
196
- * @returns
197
- */
198
- export function makeTargetState(registry, path) {
199
- return new TargetState(
200
- registry,
201
- path.at(-1).state,
202
- path
203
- .map((x) => x.paramValues)
204
- .reduce((acc, obj) => ({ ...acc, ...obj }), {}),
205
- {},
206
- );
207
- }
@@ -1,208 +0,0 @@
1
- /**
2
- * # The Resolve subsystem
3
- *
4
- * This subsystem is an asynchronous, hierarchical Dependency Injection system.
5
- *
6
- * Typically, resolve is configured on a state using a [[StateDeclaration.resolve]] declaration.
7
- *
8
- * @packageDocumentation
9
- */
10
- /**
11
- * An interface which is similar to an Angular 2 `Provider`
12
- */
13
- export interface ProviderLike {
14
- provide: any;
15
- useClass?: any;
16
- useFactory?: Function;
17
- useValue?: any;
18
- useExisting?: any;
19
- deps?: any[];
20
- }
21
-
22
- /**
23
- * A plain object used to describe a [[Resolvable]]
24
- *
25
- * These objects may be used in the [[StateDeclaration.resolve]] array to declare
26
- * async data that the state or substates require.
27
- *
28
- * #### Example:
29
- * ```js
30
- *
31
- * var state = {
32
- * name: 'main',
33
- * resolve: [
34
- * { token: 'myData', deps: [MyDataApi], resolveFn: (myDataApi) => myDataApi.getData() },
35
- * ],
36
- * }
37
- * ```
38
- */
39
- export interface ResolvableLiteral {
40
- /**
41
- * A Dependency Injection token
42
- *
43
- * This Resolvable's DI token.
44
- * The Resolvable will be injectable elsewhere using the token.
45
- */
46
- token: any;
47
-
48
- /**
49
- * A function which fetches the Resolvable's data
50
- *
51
- * A function which returns one of:
52
- *
53
- * - The resolved value (synchronously)
54
- * - A promise for the resolved value
55
- * - An Observable of the resolved value(s)
56
- *
57
- * This function will be provided the dependencies listed in [[deps]] as its arguments.
58
- * The resolve system will asynchronously fetch the dependencies before invoking this function.
59
- */
60
- resolveFn: Function;
61
-
62
- /**
63
- * Defines the Resolve Policy
64
- *
65
- * A policy that defines when to invoke the resolve,
66
- * and whether to wait for async and unwrap the data
67
- */
68
- policy?: ResolvePolicy;
69
-
70
- /**
71
- * The Dependency Injection tokens
72
- *
73
- * This is an array of Dependency Injection tokens for the dependencies of the [[resolveFn]].
74
- *
75
- * The DI tokens are references to other `Resolvables`, or to other
76
- * services from the native DI system.
77
- */
78
- deps?: any[];
79
-
80
- /** Pre-resolved data. */
81
- data?: any;
82
- }
83
-
84
- /**
85
- * Defines how a resolve is processed during a transition
86
- *
87
- * This object is the [[StateDeclaration.resolvePolicy]] property.
88
- *
89
- * #### Example:
90
- * ```js
91
- * // Fetched when the resolve's state is being entered.
92
- * // Wait for the promise to resolve.
93
- * var policy1 = { when: "LAZY", async: "WAIT" }
94
- *
95
- * // Fetched when the Transition is starting.
96
- * // Do not wait for the returned promise to resolve.
97
- * // Inject the raw promise/value
98
- * var policy2 = { when: "EAGER", async: "NOWAIT" }
99
- * ```
100
- *
101
- * The policy for a given Resolvable is merged from three sources (highest priority first):
102
- *
103
- * - 1) Individual resolve definition
104
- * - 2) State definition
105
- * - 3) Global default
106
- *
107
- * #### Example:
108
- * ```js
109
- * // Wait for an Observable to emit one item.
110
- * // Since `wait` is not specified, it uses the `wait`
111
- * // policy defined on the state, or the global default
112
- * // if no `wait` policy is defined on the state
113
- * import { RXWAIT } from '@uirouter/rx';
114
- *
115
- * var myResolvablePolicy = { async: RXWAIT }
116
- * ```
117
- */
118
- export interface ResolvePolicy {
119
- /**
120
- * Defines when a Resolvable is resolved (fetched) during a transition
121
- *
122
- * - `LAZY` (default)
123
- * - Resolved as the resolve's state is being entered
124
- * - `EAGER`
125
- * - Resolved as the transition is starting
126
- *
127
- * #### Example:
128
- * Resolves for `main` and `main.home` are fetched when each state is entered.
129
- * All of `main` resolves are processed before fetching `main.home` resolves.
130
- * ```js
131
- * var state = {
132
- * name: 'main',
133
- * resolve: mainResolves, // defined elsewhere
134
- * resolvePolicy: { when: 'LAZY' }, // default
135
- * }
136
- *
137
- * var state = {
138
- * name: 'main.home',
139
- * resolve: homeResolves, // defined elsewhere
140
- * resolvePolicy: { when: 'LAZY' }, // default
141
- * }
142
- * ```
143
- *
144
- * #### Example:
145
- * Resolves for `main` and `main.home` are fetched at the same time when the transition starts.
146
- * This happens earlier in the lifecycle than when states are entered.
147
- * All of the `main` and `main.home` resolves are fetched as soon as possible.
148
- * ```js
149
- * var mainState = {
150
- * name: 'main',
151
- * resolve: mainResolves, // defined elsewhere
152
- * resolvePolicy: { when: 'EAGER' },
153
- * }
154
- *
155
- * var homeState = {
156
- * name: 'main.home',
157
- * resolve: homeResolves, // defined elsewhere
158
- * resolvePolicy: { when: 'EAGER' },
159
- * }
160
- * ```
161
- */
162
- when?: PolicyWhen;
163
-
164
- /**
165
- * Determines the unwrapping behavior of asynchronous resolve values.
166
- *
167
- * - `WAIT` (default)
168
- * - If a promise is returned from the resolveFn, wait for the promise before proceeding
169
- * - The unwrapped value from the promise
170
- * - `NOWAIT`
171
- * - If a promise is returned from the resolve, do not wait for the promise.
172
- * - Any other value returned is wrapped in a promise.
173
- * - The promise will not be unwrapped.
174
- * - The promise itself will be provided when the resolve is injected or bound elsewhere.
175
- * - {@link CustomAsyncPolicy}
176
- * - You can define a custom function that will be called with the resolveFn value.
177
- * - This function must return a promise.
178
- * - The transition will wait for this promise before proceeding
179
- *
180
- * NOTE: The previous `RXWAIT` policy has become a CustomAsyncPolicy function exported in `@uirouter/rx` package.
181
- *
182
- * #### Example:
183
- * The `Transition` will not wait for the resolve promise(s) from `main` to settle before continuing.
184
- * Resolves for `main` will be provided to components wrapped in a `Promise`.
185
- *
186
- * The `Transition` will wait for the `main.home` resolve promises.
187
- * Resolved values will be unwrapped before being provided to components.
188
- * ```js
189
- * var mainState = {
190
- * name: 'main',
191
- * resolve: mainResolves, // defined elsewhere
192
- * resolvePolicy: { async: 'NOWAIT' },
193
- * }
194
- * var homeState = {
195
- * name: 'main.home',
196
- * resolve: homeResolves, // defined elsewhere
197
- * resolvePolicy: { async: 'WAIT' }, // default
198
- * }
199
- * ```
200
- */
201
- async?: PolicyAsync;
202
- }
203
-
204
- export type PolicyWhen = "LAZY" | "EAGER";
205
- export type PolicyAsync = "WAIT" | "NOWAIT" | CustomAsyncPolicy;
206
- export interface CustomAsyncPolicy {
207
- (data: any): Promise<any>;
208
- }
@@ -1,123 +0,0 @@
1
- import {
2
- assert,
3
- isFunction,
4
- isObject,
5
- isNullOrUndefined,
6
- hasOwn,
7
- } from "../../shared/utils.js";
8
- import { trace } from "../common/trace.js";
9
- import { stringify } from "../../shared/strings.js";
10
-
11
- // TODO: explicitly make this user configurable
12
- export let defaultResolvePolicy = {
13
- when: "LAZY",
14
- async: "WAIT",
15
- };
16
- /**
17
- * The basic building block for the resolve system.
18
- *
19
- * Resolvables encapsulate a state's resolve's resolveFn, the resolveFn's declared dependencies, the wrapped (.promise),
20
- * and the unwrapped-when-complete (.data) result of the resolveFn.
21
- *
22
- * Resolvable.get() either retrieves the Resolvable's existing promise, or else invokes resolve() (which invokes the
23
- * resolveFn) and returns the resulting promise.
24
- *
25
- * Resolvable.get() and Resolvable.resolve() both execute within a context path, which is passed as the first
26
- * parameter to those fns.
27
- */
28
- export class Resolvable {
29
- constructor(arg1, resolveFn, deps, policy, data) {
30
- this.resolved = false;
31
- this.promise = undefined;
32
- if (arg1 instanceof Resolvable) {
33
- Object.assign(this, arg1);
34
- } else if (isFunction(resolveFn)) {
35
- assert(!isNullOrUndefined(arg1), "token argument is required");
36
- this.token = arg1;
37
- this.policy = policy;
38
- this.resolveFn = resolveFn;
39
- this.deps = deps || [];
40
- this.data = data;
41
- this.resolved = data !== undefined;
42
- this.promise = this.resolved ? Promise.resolve(this.data) : undefined;
43
- } else if (
44
- isObject(arg1) &&
45
- arg1.token &&
46
- (hasOwn(arg1, "resolveFn") || hasOwn(arg1, "data"))
47
- ) {
48
- this.token = arg1.token;
49
- this.resolveFn = arg1.resolveFn;
50
- this.deps = arg1.deps;
51
- this.policy = arg1.policy;
52
- this.data = arg1.data;
53
- }
54
- }
55
-
56
- getPolicy(state) {
57
- const thisPolicy = this.policy || {};
58
- const statePolicy = (state && state.resolvePolicy) || {};
59
- return {
60
- when: thisPolicy.when || statePolicy.when || defaultResolvePolicy.when,
61
- async:
62
- thisPolicy.async || statePolicy.async || defaultResolvePolicy.async,
63
- };
64
- }
65
-
66
- /**
67
- * Asynchronously resolve this Resolvable's data
68
- *
69
- * Given a ResolveContext that this Resolvable is found in:
70
- * Wait for this Resolvable's dependencies, then invoke this Resolvable's function
71
- * and update the Resolvable's state
72
- */
73
- resolve(resolveContext, trans) {
74
- // Gets all dependencies from ResolveContext and wait for them to be resolved
75
- const getResolvableDependencies = () =>
76
- Promise.all(
77
- resolveContext
78
- .getDependencies(this)
79
- .map((resolvable) => resolvable.get(resolveContext, trans)),
80
- );
81
- // Invokes the resolve function passing the resolved dependencies as arguments
82
- const invokeResolveFn = (resolvedDeps) =>
83
- this.resolveFn.apply(null, resolvedDeps);
84
- const node = resolveContext.findNode(this);
85
- const state = node && node.state;
86
- const asyncPolicy = this.getPolicy(state).async;
87
- const customAsyncPolicy = isFunction(asyncPolicy) ? asyncPolicy : (x) => x;
88
- // After the final value has been resolved, update the state of the Resolvable
89
- const applyResolvedValue = (resolvedValue) => {
90
- this.data = resolvedValue;
91
- this.resolved = true;
92
- this.resolveFn = null;
93
- trace.traceResolvableResolved(this, trans);
94
- return this.data;
95
- };
96
- // Sets the promise property first, then getsResolvableDependencies in the context of the promise chain. Always waits one tick.
97
- this.promise = Promise.resolve()
98
- .then(getResolvableDependencies)
99
- .then(invokeResolveFn)
100
- .then(customAsyncPolicy)
101
- .then(applyResolvedValue);
102
- return this.promise;
103
- }
104
- /**
105
- * Gets a promise for this Resolvable's data.
106
- *
107
- * Fetches the data and returns a promise.
108
- * Returns the existing promise if it has already been fetched once.
109
- */
110
- get(resolveContext, trans) {
111
- return this.promise || this.resolve(resolveContext, trans);
112
- }
113
-
114
- toString() {
115
- return `Resolvable(token: ${stringify(this.token)}, requires: [${this.deps.map(stringify)}])`;
116
- }
117
-
118
- clone() {
119
- return new Resolvable(this);
120
- }
121
- }
122
- Resolvable.fromData = (token, data) =>
123
- new Resolvable(token, () => data, null, null, data);