@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.
- package/@types/index.d.ts +1 -84
- package/{src/index.ts → @types/namespace.d.ts} +4 -24
- package/@types/router/template-factory.d.ts +2 -2
- package/dist/angular-ts.esm.js +3 -3
- package/dist/angular-ts.umd.js +3 -3
- package/dist/angular-ts.umd.min.js +1 -1
- package/package.json +9 -2
- package/.github/workflows/ci.yml +0 -104
- package/.github/workflows/gh-pages.yml +0 -75
- package/.husky/pre-commit +0 -5
- package/.prettierignore +0 -9
- package/CHANGELOG.md +0 -17667
- package/CODE_OF_CONDUCT.md +0 -3
- package/CONTRIBUTING.md +0 -247
- package/DEVELOPERS.md +0 -499
- package/Makefile +0 -60
- package/RELEASE.md +0 -86
- package/TRIAGING.md +0 -127
- package/docs/.cspell.yml +0 -8
- package/docs/.github/dependabot.yml +0 -14
- package/docs/.nvmrc +0 -1
- package/docs/CONTRIBUTING.md +0 -28
- package/docs/Dockerfile +0 -4
- package/docs/LICENSE +0 -201
- package/docs/README.md +0 -217
- package/docs/assets/icons/logo.svg +0 -1
- package/docs/assets/scss/_variables_project.scss +0 -12
- package/docs/assets/scss/_variables_project_after_bs.scss +0 -8
- package/docs/assets/scss/index.scss +0 -48
- package/docs/config.yaml +0 -15
- package/docs/content/_index.md +0 -28
- package/docs/content/docs/_index.md +0 -61
- package/docs/content/docs/directive/_index.md +0 -4
- package/docs/content/docs/directive/app.md +0 -11
- package/docs/content/docs/directive/aria.md +0 -0
- package/docs/content/docs/directive/bind.md +0 -72
- package/docs/content/docs/directive/blur.md +0 -38
- package/docs/content/docs/directive/channel.md +0 -37
- package/docs/content/docs/directive/class-even.md +0 -47
- package/docs/content/docs/directive/class-odd.md +0 -48
- package/docs/content/docs/directive/class.md +0 -64
- package/docs/content/docs/directive/click.md +0 -41
- package/docs/content/docs/directive/cloak.md +0 -74
- package/docs/content/docs/directive/copy.md +0 -38
- package/docs/content/docs/directive/cut.md +0 -40
- package/docs/content/docs/directive/dblclick.md +0 -41
- package/docs/content/docs/directive/focus.md +0 -38
- package/docs/content/docs/directive/get.md +0 -203
- package/docs/content/docs/directive/include.md +0 -7
- package/docs/content/docs/directive/keydown.md +0 -38
- package/docs/content/docs/directive/keyup.md +0 -38
- package/docs/content/docs/directive/load.md +0 -43
- package/docs/content/docs/directive/mousedown.md +0 -38
- package/docs/content/docs/directive/mouseenter.md +0 -38
- package/docs/content/docs/directive/mouseleave.md +0 -38
- package/docs/content/docs/directive/mousemove.md +0 -38
- package/docs/content/docs/directive/mouseout.md +0 -38
- package/docs/content/docs/directive/mouseover.md +0 -38
- package/docs/content/docs/directive/mouseup.md +0 -38
- package/docs/content/docs/directive/non-bindable.md +0 -28
- package/docs/content/docs/filter/_index.md +0 -4
- package/docs/content/docs/filter/filter.md +0 -78
- package/docs/content/docs/filter/json.md +0 -19
- package/docs/content/docs/filter/limit-to.md +0 -30
- package/docs/content/docs/filter/order-by.md +0 -123
- package/docs/content/docs/provider/_index.md +0 -4
- package/docs/content/docs/provider/eventBusProvider.md +0 -35
- package/docs/content/docs/provider/locationProvider.md +0 -26
- package/docs/content/docs/provider/logProvider.md +0 -59
- package/docs/content/docs/provider/sceProvider.md +0 -194
- package/docs/content/docs/provider/templateCacheProvider.md +0 -100
- package/docs/content/docs/provider/templateRequestProvider.md +0 -5
- package/docs/content/docs/service/_index.md +0 -4
- package/docs/content/docs/service/compile.md +0 -5
- package/docs/content/docs/service/controller.md +0 -5
- package/docs/content/docs/service/eventBus.md +0 -56
- package/docs/content/docs/service/http.md +0 -161
- package/docs/content/docs/service/interpolation.md +0 -5
- package/docs/content/docs/service/location.md +0 -57
- package/docs/content/docs/service/log.md +0 -113
- package/docs/content/docs/service/parse.md +0 -5
- package/docs/content/docs/service/rootElement.md +0 -5
- package/docs/content/docs/service/rootScope.md +0 -5
- package/docs/content/docs/service/sce.md +0 -194
- package/docs/content/docs/service/templateCache.md +0 -64
- package/docs/content/docs/service/templateRequest.md +0 -5
- package/docs/content/docs/service/url.md +0 -5
- package/docs/content/docs/values/_index.md +0 -4
- package/docs/content/docs/values/document.md +0 -29
- package/docs/content/docs/values/window.md +0 -29
- package/docs/docker-compose.yaml +0 -12
- package/docs/docsy.work +0 -5
- package/docs/docsy.work.sum +0 -0
- package/docs/go.mod +0 -5
- package/docs/go.sum +0 -6
- package/docs/hugo-disabled.toml +0 -220
- package/docs/hugo.yaml +0 -200
- package/docs/layouts/404.html +0 -13
- package/docs/layouts/_markup/render-heading.html +0 -1
- package/docs/layouts/partials/hooks/head-end.html +0 -3
- package/docs/layouts/shortcodes/showcss.html +0 -2
- package/docs/layouts/shortcodes/showhtml.html +0 -2
- package/docs/layouts/shortcodes/showjs.html +0 -2
- package/docs/layouts/shortcodes/showraw.html +0 -1
- package/docs/layouts/shortcodes/version.html +0 -1
- package/docs/package-lock.json +0 -2293
- package/docs/package.json +0 -53
- package/docs/static/examples/counter/counter-test.html +0 -13
- package/docs/static/examples/counter/counter.html +0 -5
- package/docs/static/examples/counter/counter.test.js +0 -28
- package/docs/static/examples/document/document.html +0 -3
- package/docs/static/examples/eventbus/eventbus-test.html +0 -15
- package/docs/static/examples/eventbus/eventbus.html +0 -13
- package/docs/static/examples/eventbus/eventbus.js +0 -15
- package/docs/static/examples/eventbus/eventbus.test.js +0 -19
- package/docs/static/examples/i18n/i18n.html +0 -77
- package/docs/static/examples/ng-bind/ng-bind.html +0 -9
- package/docs/static/examples/ng-blur/ng-blur.html +0 -9
- package/docs/static/examples/ng-channel/ng-channel-test.html +0 -17
- package/docs/static/examples/ng-channel/ng-channel.html +0 -24
- package/docs/static/examples/ng-channel/ng-channel.test.js +0 -31
- package/docs/static/examples/ng-class/ng-class.html +0 -71
- package/docs/static/examples/ng-class-even/ng-class-even.html +0 -8
- package/docs/static/examples/ng-class-odd/ng-class-odd.html +0 -8
- package/docs/static/examples/ng-click/ng-click.html +0 -6
- package/docs/static/examples/ng-copy/ng-copy.html +0 -6
- package/docs/static/examples/ng-cut/ng-cut.html +0 -6
- package/docs/static/examples/ng-dblclick/ng-dblclick.html +0 -10
- package/docs/static/examples/ng-focus/ng-focus.html +0 -9
- package/docs/static/examples/ng-keydown/ng-keydown.html +0 -9
- package/docs/static/examples/ng-keyup/ng-keyup.html +0 -9
- package/docs/static/examples/ng-load/ng-load.html +0 -8
- package/docs/static/examples/ng-mousedown/ng-mousedown.html +0 -6
- package/docs/static/examples/ng-mouseenter/ng-mouseenter.html +0 -4
- package/docs/static/examples/ng-mouseleave/ng-mouseleave.html +0 -4
- package/docs/static/examples/ng-mousemove/ng-mousemove.html +0 -4
- package/docs/static/examples/ng-mouseout/ng-mouseout.html +0 -4
- package/docs/static/examples/ng-mouseover/ng-mouseover.html +0 -4
- package/docs/static/examples/ng-mouseup/ng-mouseup.html +0 -4
- package/docs/static/examples/ng-non-bindable/ng-non-bindable-test.html +0 -13
- package/docs/static/examples/ng-non-bindable/ng-non-bindable.html +0 -3
- package/docs/static/examples/ng-non-bindable/ng-non-bindable.test.js +0 -11
- package/docs/static/examples/window/window.html +0 -4
- package/docs/static/typedoc/.nojekyll +0 -1
- package/docs/static/typedoc/assets/hierarchy.js +0 -1
- package/docs/static/typedoc/assets/highlight.css +0 -29
- package/docs/static/typedoc/assets/icons.js +0 -18
- package/docs/static/typedoc/assets/icons.svg +0 -1
- package/docs/static/typedoc/assets/main.js +0 -60
- package/docs/static/typedoc/assets/navigation.js +0 -1
- package/docs/static/typedoc/assets/search.js +0 -1
- package/docs/static/typedoc/assets/style.css +0 -1633
- package/docs/static/typedoc/classes/Location.html +0 -55
- package/docs/static/typedoc/classes/LocationProvider.html +0 -20
- package/docs/static/typedoc/classes/LogProvider.html +0 -6
- package/docs/static/typedoc/classes/PubSub.html +0 -71
- package/docs/static/typedoc/classes/PubSubProvider.html +0 -4
- package/docs/static/typedoc/classes/TemplateCacheProvider.html +0 -5
- package/docs/static/typedoc/hierarchy.html +0 -1
- package/docs/static/typedoc/index.html +0 -1
- package/docs/static/typedoc/interfaces/DefaultPorts.html +0 -5
- package/docs/static/typedoc/interfaces/Html5Mode.html +0 -23
- package/docs/static/typedoc/interfaces/HttpHeadersGetter.html +0 -1
- package/docs/static/typedoc/interfaces/HttpProviderDefaults.html +0 -31
- package/docs/static/typedoc/interfaces/HttpRequestConfigHeaders.html +0 -6
- package/docs/static/typedoc/interfaces/HttpRequestTransformer.html +0 -1
- package/docs/static/typedoc/interfaces/HttpResponse.html +0 -7
- package/docs/static/typedoc/interfaces/HttpResponseTransformer.html +0 -1
- package/docs/static/typedoc/interfaces/HttpService.html +0 -38
- package/docs/static/typedoc/interfaces/LogService.html +0 -12
- package/docs/static/typedoc/interfaces/RequestConfig.html +0 -48
- package/docs/static/typedoc/interfaces/RequestShortcutConfig.html +0 -38
- package/docs/static/typedoc/interfaces/ServiceProvider.html +0 -5
- package/docs/static/typedoc/interfaces/UrlParts.html +0 -9
- package/docs/static/typedoc/types/HttpParamSerializer.html +0 -2
- package/docs/static/typedoc/types/HttpParams.html +0 -2
- package/docs/static/typedoc/types/HttpPromise.html +0 -1
- package/docs/static/typedoc/types/HttpResponseStatus.html +0 -1
- package/docs/static/typedoc/types/LogCall.html +0 -2
- package/docs/static/typedoc/types/LogServiceFactory.html +0 -2
- package/docs/static/typedoc/types/UrlChangeListener.html +0 -5
- package/docs/static/typedoc/variables/EventBus.html +0 -1
- package/docs/static/version.js +0 -13
- package/docs/test-results/.last-run.json +0 -4
- package/docs/test-results/static-examples-counter-counter-counter-example/error-context.md +0 -50
- package/eslint.config.js +0 -26
- package/images/android-chrome-192x192.png +0 -0
- package/images/android-chrome-512x512.png +0 -0
- package/images/apple-touch-icon.png +0 -0
- package/images/favicon-16x16.png +0 -0
- package/images/favicon-32x32.png +0 -0
- package/images/favicon.ico +0 -0
- package/images/site.webmanifest +0 -19
- package/index.html +0 -86
- package/legacy.d.ts +0 -1678
- package/playwright.config.ts +0 -81
- package/public/jasmine/boot0.js +0 -66
- package/public/jasmine/boot1.js +0 -134
- package/public/jasmine/jasmine-html.js +0 -970
- package/public/jasmine/jasmine.css +0 -323
- package/public/jasmine/jasmine.js +0 -11406
- package/public/public/README.md +0 -1
- package/public/public/circle.html +0 -1
- package/public/public/jasmine-helper.css +0 -9
- package/public/public/my_child_directive.html +0 -1
- package/public/public/my_directive.html +0 -1
- package/public/public/my_other_directive.html +0 -1
- package/public/public/test.html +0 -1
- package/rollup.config.js +0 -51
- package/src/angular.js +0 -286
- package/src/angular.spec.js +0 -1191
- package/src/animations/animate-cache.js +0 -80
- package/src/animations/animate-children-directive.js +0 -32
- package/src/animations/animate-children-directive.md +0 -80
- package/src/animations/animate-css-driver.js +0 -284
- package/src/animations/animate-css.html +0 -58
- package/src/animations/animate-css.js +0 -915
- package/src/animations/animate-css.md +0 -263
- package/src/animations/animate-js-driver.js +0 -60
- package/src/animations/animate-js.html +0 -47
- package/src/animations/animate-js.js +0 -371
- package/src/animations/animate-queue.js +0 -859
- package/src/animations/animate-runner.js +0 -193
- package/src/animations/animate-swap.js +0 -33
- package/src/animations/animate-swap.md +0 -88
- package/src/animations/animate.html +0 -19
- package/src/animations/animate.js +0 -546
- package/src/animations/animate.md +0 -933
- package/src/animations/animate.spec.js +0 -490
- package/src/animations/animation.js +0 -519
- package/src/animations/animations.test.js +0 -10
- package/src/animations/interface.ts +0 -19
- package/src/animations/raf-scheduler.html +0 -19
- package/src/animations/raf-scheduler.js +0 -92
- package/src/animations/raf-scheduler.spec.js +0 -98
- package/src/animations/shared.js +0 -341
- package/src/binding.html +0 -19
- package/src/binding.spec.js +0 -474
- package/src/binding.test.js +0 -10
- package/src/core/compile/attributes.js +0 -337
- package/src/core/compile/compile.html +0 -19
- package/src/core/compile/compile.js +0 -3271
- package/src/core/compile/compile.md +0 -1128
- package/src/core/compile/compile.spec.js +0 -15574
- package/src/core/compile/compile.test.js +0 -12
- package/src/core/controller/controller.html +0 -22
- package/src/core/controller/controller.js +0 -193
- package/src/core/controller/controller.spec.js +0 -334
- package/src/core/controller/controller.test.js +0 -12
- package/src/core/controller/interface.ts +0 -6
- package/src/core/core.html +0 -20
- package/src/core/core.test.js +0 -12
- package/src/core/di/injector.html +0 -19
- package/src/core/di/injector.js +0 -307
- package/src/core/di/injector.md +0 -740
- package/src/core/di/injector.spec.js +0 -2310
- package/src/core/di/injector.test.js +0 -12
- package/src/core/di/internal-injector.js +0 -286
- package/src/core/di/ng-module.html +0 -19
- package/src/core/di/ng-module.js +0 -229
- package/src/core/di/ng-module.spec.js +0 -263
- package/src/core/di/ng-module.test.js +0 -12
- package/src/core/filter/filter.html +0 -19
- package/src/core/filter/filter.js +0 -55
- package/src/core/filter/filter.md +0 -132
- package/src/core/filter/filter.spec.js +0 -149
- package/src/core/filter/filter.test.js +0 -12
- package/src/core/interpolate/interface.ts +0 -14
- package/src/core/interpolate/interpolate.html +0 -22
- package/src/core/interpolate/interpolate.js +0 -410
- package/src/core/interpolate/interpolate.spec.js +0 -601
- package/src/core/interpolate/interpolate.test.js +0 -12
- package/src/core/parse/ast/ast-node.ts +0 -81
- package/src/core/parse/ast/ast.html +0 -19
- package/src/core/parse/ast/ast.js +0 -574
- package/src/core/parse/ast/ast.spec.js +0 -1453
- package/src/core/parse/ast/ast.test.js +0 -10
- package/src/core/parse/ast-type.js +0 -23
- package/src/core/parse/interface.ts +0 -84
- package/src/core/parse/interpreter.js +0 -915
- package/src/core/parse/lexer/lexer.html +0 -19
- package/src/core/parse/lexer/lexer.js +0 -338
- package/src/core/parse/lexer/lexer.spec.js +0 -303
- package/src/core/parse/lexer/lexer.test.js +0 -10
- package/src/core/parse/lexer/token.ts +0 -22
- package/src/core/parse/parse.html +0 -19
- package/src/core/parse/parse.js +0 -337
- package/src/core/parse/parse.md +0 -57
- package/src/core/parse/parse.spec.js +0 -2107
- package/src/core/parse/parse.test.js +0 -10
- package/src/core/parse/parser/parser.html +0 -19
- package/src/core/parse/parser/parser.js +0 -64
- package/src/core/parse/parser/parser.spec.js +0 -8
- package/src/core/parse/parser/parser.test.js +0 -10
- package/src/core/prop.spec.js +0 -775
- package/src/core/root-element.spec.js +0 -14
- package/src/core/sanitize/interface.ts +0 -10
- package/src/core/sanitize/sanitize-uri.js +0 -75
- package/src/core/sanitize/sanitize-uri.spec.js +0 -249
- package/src/core/sanitize/sanitize-uri.test.js +0 -12
- package/src/core/sanitize/sanitize.html +0 -22
- package/src/core/scope/scope.html +0 -19
- package/src/core/scope/scope.js +0 -1252
- package/src/core/scope/scope.spec.js +0 -3000
- package/src/core/scope/scope.test.js +0 -12
- package/src/directive/aria/aria.html +0 -19
- package/src/directive/aria/aria.js +0 -382
- package/src/directive/aria/aria.md +0 -145
- package/src/directive/aria/aria.spec.js +0 -1241
- package/src/directive/aria/aria.test.js +0 -12
- package/src/directive/attrs/attrs.html +0 -19
- package/src/directive/attrs/attrs.js +0 -106
- package/src/directive/attrs/attrs.md +0 -224
- package/src/directive/attrs/attrs.spec.js +0 -71
- package/src/directive/attrs/attrs.test.js +0 -12
- package/src/directive/attrs/boolean.html +0 -19
- package/src/directive/attrs/boolean.spec.js +0 -137
- package/src/directive/attrs/boolean.test.js +0 -12
- package/src/directive/attrs/element-style.html +0 -22
- package/src/directive/attrs/element-style.spec.js +0 -85
- package/src/directive/attrs/element-style.test.js +0 -12
- package/src/directive/attrs/src.html +0 -19
- package/src/directive/attrs/src.spec.js +0 -163
- package/src/directive/attrs/src.test.js +0 -12
- package/src/directive/bind/bind-html.spec.js +0 -36
- package/src/directive/bind/bind.html +0 -20
- package/src/directive/bind/bind.js +0 -78
- package/src/directive/bind/bind.md +0 -142
- package/src/directive/bind/bind.spec.js +0 -314
- package/src/directive/bind/bind.test.js +0 -12
- package/src/directive/channel/channel.html +0 -19
- package/src/directive/channel/channel.js +0 -30
- package/src/directive/channel/channel.spec.js +0 -67
- package/src/directive/channel/channel.test.js +0 -10
- package/src/directive/class/class-test.html +0 -23
- package/src/directive/class/class.html +0 -19
- package/src/directive/class/class.js +0 -184
- package/src/directive/class/class.spec.js +0 -704
- package/src/directive/class/class.test.js +0 -12
- package/src/directive/cloak/cloak.html +0 -19
- package/src/directive/cloak/cloak.js +0 -11
- package/src/directive/cloak/cloak.spec.js +0 -44
- package/src/directive/cloak/cloak.test.js +0 -12
- package/src/directive/controller/controller.html +0 -22
- package/src/directive/controller/controller.js +0 -11
- package/src/directive/controller/controller.md +0 -46
- package/src/directive/controller/controller.spec.js +0 -175
- package/src/directive/controller/controller.test.js +0 -12
- package/src/directive/events/click.spec.js +0 -35
- package/src/directive/events/event.spec.js +0 -267
- package/src/directive/events/events-test.html +0 -36
- package/src/directive/events/events.html +0 -20
- package/src/directive/events/events.js +0 -65
- package/src/directive/events/events.md +0 -125
- package/src/directive/events/events.test.js +0 -12
- package/src/directive/form/form.html +0 -19
- package/src/directive/form/form.js +0 -669
- package/src/directive/form/form.spec.js +0 -1515
- package/src/directive/form/form.test.js +0 -12
- package/src/directive/http/delete.spec.js +0 -23
- package/src/directive/http/form-router-test.html +0 -44
- package/src/directive/http/form-test.html +0 -18
- package/src/directive/http/get.spec.js +0 -488
- package/src/directive/http/http.html +0 -22
- package/src/directive/http/http.js +0 -342
- package/src/directive/http/http.test.js +0 -12
- package/src/directive/http/interface.ts +0 -36
- package/src/directive/http/post-example.html +0 -30
- package/src/directive/http/post.spec.js +0 -521
- package/src/directive/http/put.spec.js +0 -23
- package/src/directive/if/if-animate-css.html +0 -57
- package/src/directive/if/if-animate-svg.html +0 -25
- package/src/directive/if/if.html +0 -19
- package/src/directive/if/if.js +0 -72
- package/src/directive/if/if.md +0 -76
- package/src/directive/if/if.spec.js +0 -293
- package/src/directive/if/if.test.js +0 -114
- package/src/directive/include/include.html +0 -19
- package/src/directive/include/include.js +0 -151
- package/src/directive/include/include.md +0 -87
- package/src/directive/include/include.spec.js +0 -734
- package/src/directive/include/include.test.js +0 -12
- package/src/directive/init/init.html +0 -19
- package/src/directive/init/init.js +0 -22
- package/src/directive/init/init.md +0 -41
- package/src/directive/init/init.spec.js +0 -68
- package/src/directive/init/init.test.js +0 -12
- package/src/directive/inject/inject.html +0 -19
- package/src/directive/inject/inject.js +0 -35
- package/src/directive/inject/inject.spec.js +0 -108
- package/src/directive/inject/inject.test.js +0 -12
- package/src/directive/input/input-example.html +0 -15
- package/src/directive/input/input.html +0 -19
- package/src/directive/input/input.js +0 -1078
- package/src/directive/input/input.md +0 -706
- package/src/directive/input/input.spec.js +0 -3700
- package/src/directive/input/input.test.js +0 -12
- package/src/directive/messages/messages.html +0 -22
- package/src/directive/messages/messages.js +0 -349
- package/src/directive/messages/messages.md +0 -543
- package/src/directive/messages/messages.spec.js +0 -1083
- package/src/directive/messages/messages.test.js +0 -12
- package/src/directive/model/change.md +0 -25
- package/src/directive/model/model.html +0 -19
- package/src/directive/model/model.js +0 -1170
- package/src/directive/model/model.spec.js +0 -1976
- package/src/directive/model/model.test.js +0 -12
- package/src/directive/model-options/model-option.test.js +0 -12
- package/src/directive/model-options/model-options.html +0 -22
- package/src/directive/model-options/model-options.js +0 -142
- package/src/directive/model-options/model-options.md +0 -407
- package/src/directive/model-options/model-options.spec.js +0 -1022
- package/src/directive/non-bindable/non-bindable.html +0 -22
- package/src/directive/non-bindable/non-bindable.js +0 -9
- package/src/directive/non-bindable/non-bindable.spec.js +0 -59
- package/src/directive/non-bindable/non-bindable.test.js +0 -12
- package/src/directive/observe/observe-demo.html +0 -184
- package/src/directive/observe/observe.html +0 -19
- package/src/directive/observe/observe.js +0 -41
- package/src/directive/observe/observe.spec.js +0 -106
- package/src/directive/observe/observe.test.js +0 -10
- package/src/directive/on/on.html +0 -19
- package/src/directive/on/on.spec.js +0 -215
- package/src/directive/on/on.test.js +0 -12
- package/src/directive/options/options-example.html +0 -17
- package/src/directive/options/options.html +0 -22
- package/src/directive/options/options.js +0 -542
- package/src/directive/options/options.md +0 -179
- package/src/directive/options/options.spec.js +0 -3554
- package/src/directive/options/options.test.js +0 -12
- package/src/directive/ref/href.html +0 -19
- package/src/directive/ref/href.spec.js +0 -141
- package/src/directive/ref/href.test.js +0 -19
- package/src/directive/ref/ref.html +0 -19
- package/src/directive/ref/ref.js +0 -89
- package/src/directive/ref/ref.spec.js +0 -546
- package/src/directive/repeat/repeat.html +0 -19
- package/src/directive/repeat/repeat.js +0 -333
- package/src/directive/repeat/repeat.md +0 -330
- package/src/directive/repeat/repeat.spec.js +0 -1209
- package/src/directive/repeat/repeat.test.js +0 -12
- package/src/directive/script/script.html +0 -19
- package/src/directive/script/script.js +0 -17
- package/src/directive/script/script.md +0 -11
- package/src/directive/script/script.spec.js +0 -47
- package/src/directive/script/script.test.js +0 -12
- package/src/directive/select/select.html +0 -19
- package/src/directive/select/select.js +0 -594
- package/src/directive/select/select.md +0 -74
- package/src/directive/select/select.spec.js +0 -2566
- package/src/directive/select/select.test.js +0 -12
- package/src/directive/setter/setter.html +0 -19
- package/src/directive/setter/setter.js +0 -59
- package/src/directive/setter/setter.spec.js +0 -100
- package/src/directive/setter/setter.test.js +0 -12
- package/src/directive/show-hide/show-hide.html +0 -22
- package/src/directive/show-hide/show-hide.js +0 -65
- package/src/directive/show-hide/show-hide.md +0 -255
- package/src/directive/show-hide/show-hide.spec.js +0 -268
- package/src/directive/show-hide/show-hide.test.js +0 -12
- package/src/directive/style/style.html +0 -19
- package/src/directive/style/style.js +0 -27
- package/src/directive/style/style.md +0 -23
- package/src/directive/style/style.spec.js +0 -183
- package/src/directive/style/style.test.js +0 -12
- package/src/directive/switch/switch.html +0 -19
- package/src/directive/switch/switch.js +0 -133
- package/src/directive/switch/switch.md +0 -66
- package/src/directive/switch/switch.spec.js +0 -509
- package/src/directive/switch/switch.test.js +0 -12
- package/src/directive/transclude/transclude.js +0 -122
- package/src/directive/validators/validators.html +0 -22
- package/src/directive/validators/validators.js +0 -346
- package/src/directive/validators/validators.spec.js +0 -740
- package/src/directive/validators/validators.test.js +0 -12
- package/src/filters/filter.js +0 -213
- package/src/filters/filter.spec.js +0 -719
- package/src/filters/filters.html +0 -22
- package/src/filters/filters.js +0 -239
- package/src/filters/filters.spec.js +0 -36
- package/src/filters/filters.test.js +0 -12
- package/src/filters/interface.ts +0 -9
- package/src/filters/limit-to.js +0 -55
- package/src/filters/limit-to.spec.js +0 -252
- package/src/filters/order-by.js +0 -181
- package/src/filters/order-by.spec.js +0 -883
- package/src/index.js +0 -6
- package/src/index.spec.js +0 -11
- package/src/injection-tokens.js +0 -81
- package/src/interface.ts +0 -430
- package/src/ng.js +0 -291
- package/src/ng.spec.js +0 -45
- package/src/router/common/trace.js +0 -240
- package/src/router/directives/component-example.html +0 -37
- package/src/router/directives/state-directives.html +0 -22
- package/src/router/directives/state-directives.js +0 -393
- package/src/router/directives/state-directives.md +0 -435
- package/src/router/directives/state-directives.spec.js +0 -1091
- package/src/router/directives/state-directives.test.js +0 -10
- package/src/router/directives/view-directive.js +0 -489
- package/src/router/directives/view-directive.spec.js +0 -1921
- package/src/router/directives/view-directive.test.js +0 -10
- package/src/router/directives/view-directives.html +0 -22
- package/src/router/glob/glob.html +0 -19
- package/src/router/glob/glob.js +0 -102
- package/src/router/glob/glob.spec.js +0 -108
- package/src/router/glob/glob.test.js +0 -12
- package/src/router/hooks/core-resolvables.js +0 -38
- package/src/router/hooks/ignored-transition.js +0 -25
- package/src/router/hooks/invalid-transition.js +0 -14
- package/src/router/hooks/lazy-load.js +0 -104
- package/src/router/hooks/on-enter-exit-retain.js +0 -55
- package/src/router/hooks/redirect-to.js +0 -38
- package/src/router/hooks/resolve.js +0 -57
- package/src/router/hooks/update-globals.js +0 -34
- package/src/router/hooks/url.js +0 -34
- package/src/router/hooks/views.js +0 -41
- package/src/router/params/interface.ts +0 -626
- package/src/router/params/param-factory.js +0 -23
- package/src/router/params/param-type.js +0 -133
- package/src/router/params/param-types.js +0 -153
- package/src/router/params/param.js +0 -243
- package/src/router/params/state-params.js +0 -36
- package/src/router/path/path-node.js +0 -78
- package/src/router/path/path-utils.js +0 -207
- package/src/router/resolve/interface.ts +0 -208
- package/src/router/resolve/resolvable.js +0 -123
- package/src/router/resolve/resolve-context.js +0 -190
- package/src/router/router-test-hashbang.html +0 -45
- package/src/router/router-test.html +0 -41
- package/src/router/router.html +0 -22
- package/src/router/router.js +0 -54
- package/src/router/router.test.js +0 -12
- package/src/router/services.spec.js +0 -52
- package/src/router/state/interface.ts +0 -1007
- package/src/router/state/state-builder.js +0 -376
- package/src/router/state/state-builder.spec.js +0 -86
- package/src/router/state/state-matcher.js +0 -64
- package/src/router/state/state-object.js +0 -118
- package/src/router/state/state-queue-manager.js +0 -95
- package/src/router/state/state-registry.js +0 -262
- package/src/router/state/state-service.js +0 -687
- package/src/router/state/state.html +0 -23
- package/src/router/state/state.spec.js +0 -1002
- package/src/router/state/state.test.js +0 -12
- package/src/router/state/target-state.js +0 -162
- package/src/router/state/views.js +0 -195
- package/src/router/state-filter.spec.js +0 -139
- package/src/router/state-filters.js +0 -46
- package/src/router/template-factory.html +0 -19
- package/src/router/template-factory.js +0 -249
- package/src/router/template-factory.spec.js +0 -146
- package/src/router/template-factory.test.js +0 -12
- package/src/router/transition/hook-builder.js +0 -137
- package/src/router/transition/hook-registry.js +0 -181
- package/src/router/transition/interface.js +0 -18
- package/src/router/transition/interface.ts +0 -922
- package/src/router/transition/reject-factory.js +0 -122
- package/src/router/transition/transition-event-type.js +0 -26
- package/src/router/transition/transition-hook.js +0 -199
- package/src/router/transition/transition-service.js +0 -297
- package/src/router/transition/transition.js +0 -653
- package/src/router/url/url-config.js +0 -155
- package/src/router/url/url-matcher.js +0 -532
- package/src/router/url/url-rule.js +0 -231
- package/src/router/url/url-rules.js +0 -350
- package/src/router/url/url-service.js +0 -446
- package/src/router/url/url-service.spec.js +0 -1288
- package/src/router/url/url.html +0 -19
- package/src/router/url/url.test.js +0 -12
- package/src/router/view/interface.ts +0 -51
- package/src/router/view/view.html +0 -19
- package/src/router/view/view.js +0 -262
- package/src/router/view/view.spec.js +0 -100
- package/src/router/view/view.test.js +0 -12
- package/src/router/view-hook.spec.js +0 -215
- package/src/router/view-scroll.js +0 -33
- package/src/router/view-scroll.spec.js +0 -72
- package/src/services/anchor-scroll/anchor-scroll.html +0 -76
- package/src/services/anchor-scroll/anchor-scroll.js +0 -147
- package/src/services/exception/exception-handler.js +0 -75
- package/src/services/exception/interface.ts +0 -7
- package/src/services/http/http.html +0 -23
- package/src/services/http/http.js +0 -1109
- package/src/services/http/http.spec.js +0 -4320
- package/src/services/http/http.test.js +0 -11
- package/src/services/http/interface.ts +0 -256
- package/src/services/http/template-request.spec.js +0 -220
- package/src/services/location/interface.ts +0 -70
- package/src/services/location/location.html +0 -22
- package/src/services/location/location.js +0 -1006
- package/src/services/location/location.spec.js +0 -3792
- package/src/services/location/location.test.js +0 -12
- package/src/services/log/interface.ts +0 -39
- package/src/services/log/log.html +0 -19
- package/src/services/log/log.js +0 -74
- package/src/services/log/log.spec.js +0 -64
- package/src/services/log/log.test.js +0 -12
- package/src/services/pubsub/pubsub.html +0 -19
- package/src/services/pubsub/pubsub.js +0 -349
- package/src/services/pubsub/pubsub.spec.js +0 -400
- package/src/services/pubsub/pubsub.test.js +0 -12
- package/src/services/sce/sce.html +0 -19
- package/src/services/sce/sce.js +0 -852
- package/src/services/sce/sce.spec.js +0 -617
- package/src/services/sce/sce.test.js +0 -12
- package/src/services/template-cache/template-cache.html +0 -22
- package/src/services/template-cache/template-cache.js +0 -15
- package/src/services/template-cache/template-cache.spec.js +0 -134
- package/src/services/template-cache/template-cache.test.js +0 -12
- package/src/services/template-request/interface.ts +0 -23
- package/src/services/template-request/template-request.js +0 -142
- package/src/shared/cache.js +0 -7
- package/src/shared/common.js +0 -365
- package/src/shared/common.spec.js +0 -294
- package/src/shared/constants.js +0 -21
- package/src/shared/dom.js +0 -716
- package/src/shared/hof.js +0 -157
- package/src/shared/hof.spec.js +0 -60
- package/src/shared/interface.ts +0 -21
- package/src/shared/min-err.spec.js +0 -178
- package/src/shared/noderef.js +0 -225
- package/src/shared/predicates.js +0 -34
- package/src/shared/queue.js +0 -105
- package/src/shared/queue.spec.js +0 -80
- package/src/shared/shared.html +0 -24
- package/src/shared/shared.test.js +0 -12
- package/src/shared/strings.js +0 -142
- package/src/shared/strings.spec.js +0 -40
- package/src/shared/test-utils.js +0 -47
- package/src/shared/url-utils/interface.ts +0 -54
- package/src/shared/url-utils/url-utils.html +0 -22
- package/src/shared/url-utils/url-utils.js +0 -122
- package/src/shared/url-utils/url-utils.spec.js +0 -148
- package/src/shared/url-utils/url-utils.test.js +0 -12
- package/src/shared/utils.js +0 -1255
- package/src/shared/utils.spec.js +0 -178
- package/src/src.html +0 -21
- package/src/src.test.js +0 -10
- package/tsconfig.json +0 -19
- package/tsconfig.types.json +0 -14
- package/typedoc.json +0 -8
- package/utils/express.js +0 -203
- package/utils/version.cjs +0 -23
- package/vite.config.js +0 -14
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { silentRejection } from "../../shared/common.js";
|
|
2
|
-
import { stringify } from "../../shared/strings.js";
|
|
3
|
-
import { is } from "../../shared/hof.js";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* An object for Transition Rejection reasons.
|
|
7
|
-
* @enum {number}
|
|
8
|
-
*/
|
|
9
|
-
export const RejectType = {
|
|
10
|
-
/**
|
|
11
|
-
* A new transition superseded this one.
|
|
12
|
-
*
|
|
13
|
-
* While this transition was running, a new transition started.
|
|
14
|
-
* This transition is cancelled because it was superseded by a new transition.
|
|
15
|
-
* @type {number}
|
|
16
|
-
*/
|
|
17
|
-
SUPERSEDED: 2,
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* The transition was aborted.
|
|
21
|
-
*
|
|
22
|
-
* The transition was aborted by a hook which returned `false`.
|
|
23
|
-
* @type {number}
|
|
24
|
-
*/
|
|
25
|
-
ABORTED: 3,
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* The transition was invalid.
|
|
29
|
-
*
|
|
30
|
-
* The transition was never started because it was invalid.
|
|
31
|
-
* @type {number}
|
|
32
|
-
*/
|
|
33
|
-
INVALID: 4,
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* The transition was ignored.
|
|
37
|
-
*
|
|
38
|
-
* The transition was ignored because it would have no effect.
|
|
39
|
-
* Either:
|
|
40
|
-
* - The transition is targeting the current state and parameter values.
|
|
41
|
-
* - The transition is targeting the same state and parameter values as the currently running transition.
|
|
42
|
-
* @type {number}
|
|
43
|
-
*/
|
|
44
|
-
IGNORED: 5,
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* The transition errored.
|
|
48
|
-
*
|
|
49
|
-
* This generally means a hook threw an error or returned a rejected promise.
|
|
50
|
-
* @type {number}
|
|
51
|
-
*/
|
|
52
|
-
ERROR: 6,
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
let id = 0;
|
|
56
|
-
export class Rejection {
|
|
57
|
-
/** Returns a Rejection due to transition superseded */
|
|
58
|
-
static superseded(detail, options) {
|
|
59
|
-
const message =
|
|
60
|
-
"The transition has been superseded by a different transition";
|
|
61
|
-
const rejection = new Rejection(RejectType.SUPERSEDED, message, detail);
|
|
62
|
-
if (options && options.redirected) {
|
|
63
|
-
rejection.redirected = true;
|
|
64
|
-
}
|
|
65
|
-
return rejection;
|
|
66
|
-
}
|
|
67
|
-
/** Returns a Rejection due to redirected transition */
|
|
68
|
-
static redirected(detail) {
|
|
69
|
-
return Rejection.superseded(detail, { redirected: true });
|
|
70
|
-
}
|
|
71
|
-
/** Returns a Rejection due to invalid transition */
|
|
72
|
-
static invalid(detail) {
|
|
73
|
-
const message = "This transition is invalid";
|
|
74
|
-
return new Rejection(RejectType.INVALID, message, detail);
|
|
75
|
-
}
|
|
76
|
-
/** Returns a Rejection due to ignored transition */
|
|
77
|
-
static ignored(detail) {
|
|
78
|
-
const message = "The transition was ignored";
|
|
79
|
-
return new Rejection(RejectType.IGNORED, message, detail);
|
|
80
|
-
}
|
|
81
|
-
/** Returns a Rejection due to aborted transition */
|
|
82
|
-
static aborted(detail) {
|
|
83
|
-
const message = "The transition has been aborted";
|
|
84
|
-
return new Rejection(RejectType.ABORTED, message, detail);
|
|
85
|
-
}
|
|
86
|
-
/** Returns a Rejection due to aborted transition */
|
|
87
|
-
static errored(detail) {
|
|
88
|
-
const message = "The transition errored";
|
|
89
|
-
return new Rejection(RejectType.ERROR, message, detail);
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Returns a Rejection
|
|
93
|
-
*
|
|
94
|
-
* Normalizes a value as a Rejection.
|
|
95
|
-
* If the value is already a Rejection, returns it.
|
|
96
|
-
* Otherwise, wraps and returns the value as a Rejection (Rejection type: ERROR).
|
|
97
|
-
*
|
|
98
|
-
* @returns `detail` if it is already a `Rejection`, else returns an ERROR Rejection.
|
|
99
|
-
*/
|
|
100
|
-
static normalize(detail) {
|
|
101
|
-
return is(Rejection)(detail) ? detail : Rejection.errored(detail);
|
|
102
|
-
}
|
|
103
|
-
constructor(type, message, detail) {
|
|
104
|
-
this.$id = id++;
|
|
105
|
-
this.type = type;
|
|
106
|
-
this.message = message;
|
|
107
|
-
this.detail = detail;
|
|
108
|
-
this.redirected = false;
|
|
109
|
-
}
|
|
110
|
-
toString() {
|
|
111
|
-
const detailString = (d) =>
|
|
112
|
-
d && d.toString !== Object.prototype.toString
|
|
113
|
-
? d.toString()
|
|
114
|
-
: stringify(d);
|
|
115
|
-
const detail = detailString(this.detail);
|
|
116
|
-
const { $id, type, message } = this;
|
|
117
|
-
return `Transition Rejection($id: ${$id} type: ${type}, message: ${message}, detail: ${detail})`;
|
|
118
|
-
}
|
|
119
|
-
toPromise() {
|
|
120
|
-
return Object.assign(silentRejection(this), { _transitionRejection: this });
|
|
121
|
-
}
|
|
122
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { TransitionHook } from "./transition-hook.js";
|
|
2
|
-
/**
|
|
3
|
-
* This class defines a type of hook, such as `onBefore` or `onEnter`.
|
|
4
|
-
* Plugins can define custom hook types, such as sticky states does for `onInactive`.
|
|
5
|
-
*/
|
|
6
|
-
export class TransitionEventType {
|
|
7
|
-
constructor(
|
|
8
|
-
name,
|
|
9
|
-
hookPhase,
|
|
10
|
-
hookOrder,
|
|
11
|
-
criteriaMatchPath,
|
|
12
|
-
reverseSort = false,
|
|
13
|
-
getResultHandler = TransitionHook.HANDLE_RESULT,
|
|
14
|
-
getErrorHandler = TransitionHook.REJECT_ERROR,
|
|
15
|
-
synchronous = false,
|
|
16
|
-
) {
|
|
17
|
-
this.name = name;
|
|
18
|
-
this.hookPhase = hookPhase;
|
|
19
|
-
this.hookOrder = hookOrder;
|
|
20
|
-
this.criteriaMatchPath = criteriaMatchPath;
|
|
21
|
-
this.reverseSort = reverseSort;
|
|
22
|
-
this.getResultHandler = getResultHandler;
|
|
23
|
-
this.getErrorHandler = getErrorHandler;
|
|
24
|
-
this.synchronous = synchronous;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
import { TransitionHookPhase } from "./interface.js";
|
|
2
|
-
import { defaults, silentRejection } from "../../shared/common.js";
|
|
3
|
-
import { fnToString, maxLength } from "../../shared/strings.js";
|
|
4
|
-
import { isPromise } from "../../shared/predicates.js";
|
|
5
|
-
import { parse } from "../../shared/hof.js";
|
|
6
|
-
import { trace } from "../common/trace.js";
|
|
7
|
-
import { Rejection } from "./reject-factory.js";
|
|
8
|
-
import { TargetState } from "../state/target-state.js";
|
|
9
|
-
import { EventBus } from "../../services/pubsub/pubsub.js";
|
|
10
|
-
|
|
11
|
-
const defaultOptions = {
|
|
12
|
-
current: () => {},
|
|
13
|
-
transition: null,
|
|
14
|
-
traceData: {},
|
|
15
|
-
bind: null,
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export class TransitionHook {
|
|
19
|
-
/**
|
|
20
|
-
* Chains together an array of TransitionHooks.
|
|
21
|
-
*
|
|
22
|
-
* Given a list of [[TransitionHook]] objects, chains them together.
|
|
23
|
-
* Each hook is invoked after the previous one completes.
|
|
24
|
-
*
|
|
25
|
-
* #### Example:
|
|
26
|
-
* ```js
|
|
27
|
-
* var hooks: TransitionHook[] = getHooks();
|
|
28
|
-
* let promise: Promise<any> = TransitionHook.chain(hooks);
|
|
29
|
-
*
|
|
30
|
-
* promise.then(handleSuccess, handleError);
|
|
31
|
-
* ```
|
|
32
|
-
*
|
|
33
|
-
* @param hooks the list of hooks to chain together
|
|
34
|
-
* @param waitFor if provided, the chain is `.then()`'ed off this promise
|
|
35
|
-
* @returns a `Promise` for sequentially invoking the hooks (in order)
|
|
36
|
-
*/
|
|
37
|
-
static chain(hooks, waitFor) {
|
|
38
|
-
// Chain the next hook off the previous
|
|
39
|
-
const createHookChainR = (prev, nextHook) =>
|
|
40
|
-
prev.then(() => nextHook.invokeHook());
|
|
41
|
-
return hooks.reduce(createHookChainR, waitFor || Promise.resolve());
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Invokes all the provided TransitionHooks, in order.
|
|
46
|
-
* Each hook's return value is checked.
|
|
47
|
-
* If any hook returns a promise, then the rest of the hooks are chained off that promise, and the promise is returned.
|
|
48
|
-
* If no hook returns a promise, then all hooks are processed synchronously.
|
|
49
|
-
*
|
|
50
|
-
* @param hooks the list of TransitionHooks to invoke
|
|
51
|
-
* @param doneCallback a callback that is invoked after all the hooks have successfully completed
|
|
52
|
-
*
|
|
53
|
-
* @returns a promise for the async result, or the result of the callback
|
|
54
|
-
*/
|
|
55
|
-
static invokeHooks(hooks, doneCallback) {
|
|
56
|
-
for (let idx = 0; idx < hooks.length; idx++) {
|
|
57
|
-
const hookResult = hooks[idx].invokeHook();
|
|
58
|
-
if (isPromise(hookResult)) {
|
|
59
|
-
const remainingHooks = hooks.slice(idx + 1);
|
|
60
|
-
return TransitionHook.chain(remainingHooks, hookResult).then(() => {
|
|
61
|
-
doneCallback();
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return doneCallback();
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Run all TransitionHooks, ignoring their return value.
|
|
70
|
-
*/
|
|
71
|
-
static runAllHooks(hooks) {
|
|
72
|
-
hooks.forEach((hook) => hook.invokeHook());
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
constructor(transition, stateContext, registeredHook, options) {
|
|
76
|
-
this.transition = transition;
|
|
77
|
-
this.stateContext = stateContext;
|
|
78
|
-
this.registeredHook = registeredHook;
|
|
79
|
-
this.options = options;
|
|
80
|
-
this.isSuperseded = () =>
|
|
81
|
-
this.type.hookPhase === TransitionHookPhase.RUN &&
|
|
82
|
-
!this.options.transition.isActive();
|
|
83
|
-
this.options = defaults(options, defaultOptions);
|
|
84
|
-
this.type = registeredHook.eventType;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
logError(err) {
|
|
88
|
-
EventBus.publish("$stateService:defaultErrorHandler", err);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
invokeHook() {
|
|
92
|
-
const hook = this.registeredHook;
|
|
93
|
-
if (hook._deregistered) return;
|
|
94
|
-
const notCurrent = this.getNotCurrentRejection();
|
|
95
|
-
if (notCurrent) return notCurrent;
|
|
96
|
-
const options = this.options;
|
|
97
|
-
trace.traceHookInvocation(this, this.transition, options);
|
|
98
|
-
const invokeCallback = () =>
|
|
99
|
-
hook.callback.call(options.bind, this.transition, this.stateContext);
|
|
100
|
-
const normalizeErr = (err) => Rejection.normalize(err).toPromise();
|
|
101
|
-
const handleError = (err) => hook.eventType.getErrorHandler(this)(err);
|
|
102
|
-
const handleResult = (result) =>
|
|
103
|
-
hook.eventType.getResultHandler(this)(result);
|
|
104
|
-
try {
|
|
105
|
-
const result = invokeCallback();
|
|
106
|
-
if (!this.type.synchronous && isPromise(result)) {
|
|
107
|
-
return result.catch(normalizeErr).then(handleResult, handleError);
|
|
108
|
-
} else {
|
|
109
|
-
return handleResult(result);
|
|
110
|
-
}
|
|
111
|
-
} catch (err) {
|
|
112
|
-
// If callback throws (synchronously)
|
|
113
|
-
return handleError(Rejection.normalize(err));
|
|
114
|
-
} finally {
|
|
115
|
-
if (hook.invokeLimit && ++hook.invokeCount >= hook.invokeLimit) {
|
|
116
|
-
hook.deregister();
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* This method handles the return value of a Transition Hook.
|
|
122
|
-
*
|
|
123
|
-
* A hook can return false (cancel), a TargetState (redirect),
|
|
124
|
-
* or a promise (which may later resolve to false or a redirect)
|
|
125
|
-
*
|
|
126
|
-
* This also handles "transition superseded" -- when a new transition
|
|
127
|
-
* was started while the hook was still running
|
|
128
|
-
*/
|
|
129
|
-
handleHookResult(result) {
|
|
130
|
-
const notCurrent = this.getNotCurrentRejection();
|
|
131
|
-
if (notCurrent) return notCurrent;
|
|
132
|
-
// Hook returned a promise
|
|
133
|
-
if (isPromise(result)) {
|
|
134
|
-
// Wait for the promise, then reprocess with the resulting value
|
|
135
|
-
return result.then((val) => this.handleHookResult(val));
|
|
136
|
-
}
|
|
137
|
-
trace.traceHookResult(result, this.transition);
|
|
138
|
-
// Hook returned false
|
|
139
|
-
if (result === false) {
|
|
140
|
-
// Abort this Transition
|
|
141
|
-
return Rejection.aborted("Hook aborted transition").toPromise();
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
// hook returned a TargetState
|
|
145
|
-
if (result instanceof TargetState) {
|
|
146
|
-
// Halt the current Transition and redirect (a new Transition) to the TargetState.
|
|
147
|
-
return Rejection.redirected(result).toPromise();
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Return a Rejection promise if the transition is no longer current due
|
|
152
|
-
* a new transition has started and superseded this one.
|
|
153
|
-
*/
|
|
154
|
-
getNotCurrentRejection() {
|
|
155
|
-
if (this.transition._aborted) {
|
|
156
|
-
return Rejection.aborted().toPromise();
|
|
157
|
-
}
|
|
158
|
-
// This transition is no longer current.
|
|
159
|
-
// Another transition started while this hook was still running.
|
|
160
|
-
if (this.isSuperseded()) {
|
|
161
|
-
// Abort this transition
|
|
162
|
-
return Rejection.superseded(this.options.current()).toPromise();
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
toString() {
|
|
166
|
-
const { options, registeredHook } = this;
|
|
167
|
-
const event = parse("traceData.hookType")(options) || "internal",
|
|
168
|
-
context =
|
|
169
|
-
parse("traceData.context.state.name")(options) ||
|
|
170
|
-
parse("traceData.context")(options) ||
|
|
171
|
-
"unknown",
|
|
172
|
-
name = fnToString(registeredHook.callback);
|
|
173
|
-
return `${event} context: ${context}, ${maxLength(200, name)}`;
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* These GetResultHandler(s) are used by [[invokeHook]] below
|
|
178
|
-
* Each HookType chooses a GetResultHandler (See: [[TransitionService._defineCoreEvents]])
|
|
179
|
-
*/
|
|
180
|
-
TransitionHook.HANDLE_RESULT = (hook) => (result) =>
|
|
181
|
-
hook.handleHookResult(result);
|
|
182
|
-
/**
|
|
183
|
-
* If the result is a promise rejection, log it.
|
|
184
|
-
* Otherwise, ignore the result.
|
|
185
|
-
*/
|
|
186
|
-
TransitionHook.LOG_REJECTED_RESULT = (hook) => (result) => {
|
|
187
|
-
isPromise(result) &&
|
|
188
|
-
result.catch((err) => hook.logError(Rejection.normalize(err)));
|
|
189
|
-
return undefined;
|
|
190
|
-
};
|
|
191
|
-
/**
|
|
192
|
-
* These GetErrorHandler(s) are used by [[invokeHook]] below
|
|
193
|
-
* Each HookType chooses a GetErrorHandler (See: [[TransitionService._defineCoreEvents]])
|
|
194
|
-
*/
|
|
195
|
-
TransitionHook.LOG_ERROR = (hook) => (error) => hook.logError(error);
|
|
196
|
-
TransitionHook.REJECT_ERROR = () => (error) => silentRejection(error);
|
|
197
|
-
TransitionHook.THROW_ERROR = () => (error) => {
|
|
198
|
-
throw error;
|
|
199
|
-
};
|
|
@@ -1,297 +0,0 @@
|
|
|
1
|
-
import { TransitionHookScope, TransitionHookPhase } from "./interface.js";
|
|
2
|
-
import { Transition } from "./transition.js";
|
|
3
|
-
import { makeEvent } from "./hook-registry.js";
|
|
4
|
-
import {
|
|
5
|
-
registerAddCoreResolvables,
|
|
6
|
-
treeChangesCleanup,
|
|
7
|
-
} from "../hooks/core-resolvables.js";
|
|
8
|
-
import {
|
|
9
|
-
registerOnExitHook,
|
|
10
|
-
registerOnRetainHook,
|
|
11
|
-
registerOnEnterHook,
|
|
12
|
-
} from "../hooks/on-enter-exit-retain.js";
|
|
13
|
-
import {
|
|
14
|
-
registerEagerResolvePath,
|
|
15
|
-
registerLazyResolveState,
|
|
16
|
-
registerResolveRemaining,
|
|
17
|
-
} from "../hooks/resolve.js";
|
|
18
|
-
import {
|
|
19
|
-
registerActivateViews,
|
|
20
|
-
registerLoadEnteringViews,
|
|
21
|
-
} from "../hooks/views.js";
|
|
22
|
-
import { registerUpdateGlobalState } from "../hooks/update-globals.js";
|
|
23
|
-
|
|
24
|
-
import { registerLazyLoadHook } from "../hooks/lazy-load.js";
|
|
25
|
-
import { TransitionEventType } from "./transition-event-type.js";
|
|
26
|
-
import { TransitionHook } from "./transition-hook.js";
|
|
27
|
-
import { isDefined } from "../../shared/utils.js";
|
|
28
|
-
import { registerIgnoredTransitionHook } from "../hooks/ignored-transition.js";
|
|
29
|
-
import { registerInvalidTransitionHook } from "../hooks/invalid-transition.js";
|
|
30
|
-
import { registerRedirectToHook } from "../hooks/redirect-to.js";
|
|
31
|
-
import { registerUpdateUrl } from "../hooks/url.js";
|
|
32
|
-
import { $injectTokens as $t, provider } from "../../injection-tokens.js";
|
|
33
|
-
/**
|
|
34
|
-
* The default [[Transition]] options.
|
|
35
|
-
*
|
|
36
|
-
* Include this object when applying custom defaults:
|
|
37
|
-
* let reloadOpts = { reload: true, notify: true }
|
|
38
|
-
* let options = defaults(theirOpts, customDefaults, defaultOptions);
|
|
39
|
-
*/
|
|
40
|
-
export let defaultTransOpts = {
|
|
41
|
-
location: true,
|
|
42
|
-
relative: null,
|
|
43
|
-
inherit: false,
|
|
44
|
-
notify: true,
|
|
45
|
-
reload: false,
|
|
46
|
-
supercede: true,
|
|
47
|
-
custom: {},
|
|
48
|
-
current: () => null,
|
|
49
|
-
source: "unknown",
|
|
50
|
-
};
|
|
51
|
-
/**
|
|
52
|
-
* This class provides services related to Transitions.
|
|
53
|
-
*
|
|
54
|
-
* - Most importantly, it allows global Transition Hooks to be registered.
|
|
55
|
-
* - It allows the default transition error handler to be set.
|
|
56
|
-
* - It also has a factory function for creating new [[Transition]] objects, (used internally by the [[StateService]]).
|
|
57
|
-
*
|
|
58
|
-
* At bootstrap, [[UIRouter]] creates a single instance (singleton) of this class.
|
|
59
|
-
*
|
|
60
|
-
* This API is located at `router.transitionService` ([[UIRouter.transitionService]])
|
|
61
|
-
*/
|
|
62
|
-
export class TransitionProvider {
|
|
63
|
-
/* @ignore */ static $inject = provider([$t.$router, $t.$view]);
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* @param {import('../router.js').Router} globals
|
|
67
|
-
* @param viewService
|
|
68
|
-
*/
|
|
69
|
-
constructor(globals, viewService) {
|
|
70
|
-
this._transitionCount = 0;
|
|
71
|
-
/** The transition hook types, such as `onEnter`, `onStart`, etc */
|
|
72
|
-
this._eventTypes = [];
|
|
73
|
-
/** @internal The registered transition hooks */
|
|
74
|
-
this._registeredHooks = {};
|
|
75
|
-
/** The paths on a criteria object */
|
|
76
|
-
this._criteriaPaths = {};
|
|
77
|
-
this.globals = globals;
|
|
78
|
-
this.$view = viewService;
|
|
79
|
-
this._deregisterHookFns = {};
|
|
80
|
-
this._defineCorePaths();
|
|
81
|
-
this._defineCoreEvents();
|
|
82
|
-
this._registerCoreTransitionHooks();
|
|
83
|
-
globals.successfulTransitions.onEvict(treeChangesCleanup);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
$get = [
|
|
87
|
-
$t.$state,
|
|
88
|
-
$t.$url,
|
|
89
|
-
$t.$stateRegistry,
|
|
90
|
-
$t.$view,
|
|
91
|
-
(stateService, urlService, stateRegistry, viewService) => {
|
|
92
|
-
// Lazy load state trees
|
|
93
|
-
this._deregisterHookFns.lazyLoad = registerLazyLoadHook(
|
|
94
|
-
this,
|
|
95
|
-
stateService,
|
|
96
|
-
urlService,
|
|
97
|
-
stateRegistry,
|
|
98
|
-
);
|
|
99
|
-
|
|
100
|
-
// After globals.current is updated at priority: 10000
|
|
101
|
-
this._deregisterHookFns.updateUrl = registerUpdateUrl(
|
|
102
|
-
this,
|
|
103
|
-
stateService,
|
|
104
|
-
urlService,
|
|
105
|
-
);
|
|
106
|
-
|
|
107
|
-
// Wire up redirectTo hook
|
|
108
|
-
this._deregisterHookFns.redirectTo = registerRedirectToHook(
|
|
109
|
-
this,
|
|
110
|
-
stateService,
|
|
111
|
-
);
|
|
112
|
-
|
|
113
|
-
this._deregisterHookFns.activateViews = registerActivateViews(
|
|
114
|
-
this,
|
|
115
|
-
viewService,
|
|
116
|
-
);
|
|
117
|
-
return this;
|
|
118
|
-
},
|
|
119
|
-
];
|
|
120
|
-
/**
|
|
121
|
-
* Registers a [[TransitionHookFn]], called *while a transition is being constructed*.
|
|
122
|
-
*
|
|
123
|
-
* Registers a transition lifecycle hook, which is invoked during transition construction.
|
|
124
|
-
*
|
|
125
|
-
* This low level hook should only be used by plugins.
|
|
126
|
-
* This can be a useful time for plugins to add resolves or mutate the transition as needed.
|
|
127
|
-
* The Sticky States plugin uses this hook to modify the treechanges.
|
|
128
|
-
*
|
|
129
|
-
* ### Lifecycle
|
|
130
|
-
*
|
|
131
|
-
* `onCreate` hooks are invoked *while a transition is being constructed*.
|
|
132
|
-
*
|
|
133
|
-
* ### Return value
|
|
134
|
-
*
|
|
135
|
-
* The hook's return value is ignored
|
|
136
|
-
*
|
|
137
|
-
* @internal
|
|
138
|
-
* @param criteria defines which Transitions the Hook should be invoked for.
|
|
139
|
-
* @param callback the hook function which will be invoked.
|
|
140
|
-
* @param options the registration options
|
|
141
|
-
* @returns a function which deregisters the hook.
|
|
142
|
-
*/
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Creates a new [[Transition]] object
|
|
146
|
-
*
|
|
147
|
-
* This is a factory function for creating new Transition objects.
|
|
148
|
-
* It is used internally by the [[StateService]] and should generally not be called by application code.
|
|
149
|
-
*
|
|
150
|
-
* @internal
|
|
151
|
-
* @param fromPath the path to the current state (the from state)
|
|
152
|
-
* @param targetState the target state (destination)
|
|
153
|
-
* @returns a Transition
|
|
154
|
-
*/
|
|
155
|
-
create(fromPath, targetState) {
|
|
156
|
-
return new Transition(fromPath, targetState, this, this.globals);
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
_defineCoreEvents() {
|
|
160
|
-
const Phase = TransitionHookPhase;
|
|
161
|
-
const TH = TransitionHook;
|
|
162
|
-
const paths = this._criteriaPaths;
|
|
163
|
-
const NORMAL_SORT = false,
|
|
164
|
-
REVERSE_SORT = true;
|
|
165
|
-
const SYNCHRONOUS = true;
|
|
166
|
-
this._defineEvent(
|
|
167
|
-
"onCreate",
|
|
168
|
-
Phase.CREATE,
|
|
169
|
-
0,
|
|
170
|
-
paths.to,
|
|
171
|
-
NORMAL_SORT,
|
|
172
|
-
TH.LOG_REJECTED_RESULT,
|
|
173
|
-
TH.THROW_ERROR,
|
|
174
|
-
SYNCHRONOUS,
|
|
175
|
-
);
|
|
176
|
-
this._defineEvent("onBefore", Phase.BEFORE, 0, paths.to);
|
|
177
|
-
this._defineEvent("onStart", Phase.RUN, 0, paths.to);
|
|
178
|
-
this._defineEvent("onExit", Phase.RUN, 100, paths.exiting, REVERSE_SORT);
|
|
179
|
-
this._defineEvent("onRetain", Phase.RUN, 200, paths.retained);
|
|
180
|
-
this._defineEvent("onEnter", Phase.RUN, 300, paths.entering);
|
|
181
|
-
this._defineEvent("onFinish", Phase.RUN, 400, paths.to);
|
|
182
|
-
this._defineEvent(
|
|
183
|
-
"onSuccess",
|
|
184
|
-
Phase.SUCCESS,
|
|
185
|
-
0,
|
|
186
|
-
paths.to,
|
|
187
|
-
NORMAL_SORT,
|
|
188
|
-
TH.LOG_REJECTED_RESULT,
|
|
189
|
-
TH.LOG_ERROR,
|
|
190
|
-
SYNCHRONOUS,
|
|
191
|
-
);
|
|
192
|
-
this._defineEvent(
|
|
193
|
-
"onError",
|
|
194
|
-
Phase.ERROR,
|
|
195
|
-
0,
|
|
196
|
-
paths.to,
|
|
197
|
-
NORMAL_SORT,
|
|
198
|
-
TH.LOG_REJECTED_RESULT,
|
|
199
|
-
TH.LOG_ERROR,
|
|
200
|
-
SYNCHRONOUS,
|
|
201
|
-
);
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
_defineCorePaths() {
|
|
205
|
-
const { STATE, TRANSITION } = TransitionHookScope;
|
|
206
|
-
this._definePathType("to", TRANSITION);
|
|
207
|
-
this._definePathType("from", TRANSITION);
|
|
208
|
-
this._definePathType("exiting", STATE);
|
|
209
|
-
this._definePathType("retained", STATE);
|
|
210
|
-
this._definePathType("entering", STATE);
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
_defineEvent(
|
|
214
|
-
name,
|
|
215
|
-
hookPhase,
|
|
216
|
-
hookOrder,
|
|
217
|
-
criteriaMatchPath,
|
|
218
|
-
reverseSort = false,
|
|
219
|
-
getResultHandler = TransitionHook.HANDLE_RESULT,
|
|
220
|
-
getErrorHandler = TransitionHook.REJECT_ERROR,
|
|
221
|
-
synchronous = false,
|
|
222
|
-
) {
|
|
223
|
-
const eventType = new TransitionEventType(
|
|
224
|
-
name,
|
|
225
|
-
hookPhase,
|
|
226
|
-
hookOrder,
|
|
227
|
-
criteriaMatchPath,
|
|
228
|
-
reverseSort,
|
|
229
|
-
getResultHandler,
|
|
230
|
-
getErrorHandler,
|
|
231
|
-
synchronous,
|
|
232
|
-
);
|
|
233
|
-
this._eventTypes.push(eventType);
|
|
234
|
-
makeEvent(this, this, eventType);
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
/**
|
|
238
|
-
* @param {TransitionHookPhase} [phase]
|
|
239
|
-
* @return {any[]}
|
|
240
|
-
*/
|
|
241
|
-
_getEvents(phase) {
|
|
242
|
-
const transitionHookTypes = isDefined(phase)
|
|
243
|
-
? this._eventTypes.filter((type) => type.hookPhase === phase)
|
|
244
|
-
: this._eventTypes.slice();
|
|
245
|
-
return transitionHookTypes.sort((l, r) => {
|
|
246
|
-
const cmpByPhase = l.hookPhase - r.hookPhase;
|
|
247
|
-
return cmpByPhase === 0 ? l.hookOrder - r.hookOrder : cmpByPhase;
|
|
248
|
-
});
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* Adds a Path to be used as a criterion against a TreeChanges path
|
|
252
|
-
*
|
|
253
|
-
* For example: the `exiting` path in [[HookMatchCriteria]] is a STATE scoped path.
|
|
254
|
-
* It was defined by calling `defineTreeChangesCriterion('exiting', TransitionHookScope.STATE)`
|
|
255
|
-
* Each state in the exiting path is checked against the criteria and returned as part of the match.
|
|
256
|
-
*
|
|
257
|
-
* Another example: the `to` path in [[HookMatchCriteria]] is a TRANSITION scoped path.
|
|
258
|
-
* It was defined by calling `defineTreeChangesCriterion('to', TransitionHookScope.TRANSITION)`
|
|
259
|
-
* Only the tail of the `to` path is checked against the criteria and returned as part of the match.
|
|
260
|
-
*
|
|
261
|
-
* @internal
|
|
262
|
-
*/
|
|
263
|
-
_definePathType(name, hookScope) {
|
|
264
|
-
this._criteriaPaths[name] = { name, scope: hookScope };
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
_getPathTypes() {
|
|
268
|
-
return this._criteriaPaths;
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
getHooks(hookName) {
|
|
272
|
-
return this._registeredHooks[hookName];
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
_registerCoreTransitionHooks() {
|
|
276
|
-
const fns = this._deregisterHookFns;
|
|
277
|
-
fns.addCoreResolves = registerAddCoreResolvables(this);
|
|
278
|
-
fns.ignored = registerIgnoredTransitionHook(this);
|
|
279
|
-
fns.invalid = registerInvalidTransitionHook(this);
|
|
280
|
-
|
|
281
|
-
// Wire up onExit/Retain/Enter state hooks
|
|
282
|
-
fns.onExit = registerOnExitHook(this);
|
|
283
|
-
fns.onRetain = registerOnRetainHook(this);
|
|
284
|
-
fns.onEnter = registerOnEnterHook(this);
|
|
285
|
-
// Wire up Resolve hooks
|
|
286
|
-
fns.eagerResolve = registerEagerResolvePath(this);
|
|
287
|
-
fns.lazyResolve = registerLazyResolveState(this);
|
|
288
|
-
fns.resolveAll = registerResolveRemaining(this);
|
|
289
|
-
// Wire up the View management hooks
|
|
290
|
-
fns.loadViews = registerLoadEnteringViews(this);
|
|
291
|
-
|
|
292
|
-
// Updates global state after a transition
|
|
293
|
-
fns.updateGlobals = registerUpdateGlobalState(this);
|
|
294
|
-
// Lazy load state trees
|
|
295
|
-
fns.lazyLoad = registerLazyLoadHook(this);
|
|
296
|
-
}
|
|
297
|
-
}
|