@angular-wave/angular.ts 0.7.8 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/{loader.d.ts → angular.d.ts} +3 -3
- package/@types/core/di/ng-module.d.ts +61 -25
- package/@types/core/parse/parse.d.ts +6 -7
- package/@types/directive/bind/bind.d.ts +2 -1
- package/@types/index.d.ts +1 -1
- package/@types/interface.d.ts +4 -2
- package/@types/{public.d.ts → ng.d.ts} +2 -2
- package/@types/router/directives/state-directives.d.ts +2 -2
- package/@types/router/directives/view-directive.d.ts +1 -1
- package/@types/router/params/param-type.d.ts +0 -1
- package/@types/router/path/path-utils.d.ts +8 -11
- package/@types/router/{globals.d.ts → router.d.ts} +2 -2
- package/@types/router/state/interface.d.ts +1 -1
- package/@types/router/state/state-object.d.ts +1 -1
- package/@types/router/state/state-registry.d.ts +2 -2
- package/@types/router/state/state-service.d.ts +14 -16
- package/@types/router/state-filters.d.ts +24 -2
- package/@types/router/transition/transition-service.d.ts +3 -3
- package/@types/router/transition/transition.d.ts +16 -19
- package/@types/router/url/url-matcher.d.ts +3 -4
- package/@types/router/url/url-rule.d.ts +14 -4
- package/@types/router/url/url-rules.d.ts +26 -6
- package/@types/router/url/url-service.d.ts +28 -38
- package/@types/services/http/http.d.ts +48 -1
- package/@types/services/http-backend/http-backend.d.ts +48 -35
- package/@types/services/location/interface.d.ts +55 -0
- package/@types/services/location/location.d.ts +225 -252
- package/@types/shared/common.d.ts +0 -2
- package/@types/shared/hof.d.ts +0 -6
- package/@types/shared/interface.d.ts +0 -4
- package/@types/{router/common → shared}/queue.d.ts +2 -2
- package/@types/shared/url-utils/interface.d.ts +0 -1
- package/@types/shared/url-utils/url-utils.d.ts +0 -5
- package/@types/shared/utils.d.ts +29 -6
- package/CHANGELOG.md +0 -72
- package/CONTRIBUTING.md +0 -1
- package/DEVELOPERS.md +0 -1
- package/Makefile +6 -3
- package/TRIAGING.md +0 -1
- package/dist/angular-ts.esm.js +1048 -1150
- package/dist/angular-ts.umd.js +1048 -1150
- package/dist/angular-ts.umd.min.js +1 -1
- package/docs/assets/scss/index.scss +23 -0
- package/docs/content/_index.md +9 -8
- package/docs/content/docs/_index.md +1 -1
- package/docs/content/docs/directive/app.md +1 -1
- package/docs/content/docs/directive/bind.md +1 -1
- package/docs/content/docs/directive/blur.md +1 -1
- package/docs/content/docs/directive/channel.md +2 -2
- package/docs/content/docs/directive/class-even.md +1 -1
- package/docs/content/docs/directive/class-odd.md +1 -1
- package/docs/content/docs/directive/class.md +1 -1
- package/docs/content/docs/directive/click.md +1 -1
- package/docs/content/docs/directive/copy.md +1 -1
- package/docs/content/docs/directive/cut.md +1 -1
- package/docs/content/docs/directive/dblclick.md +1 -1
- package/docs/content/docs/directive/focus.md +1 -1
- package/docs/content/docs/directive/get.md +3 -3
- package/docs/content/docs/directive/keydown.md +1 -1
- package/docs/content/docs/directive/keyup.md +1 -1
- package/docs/content/docs/directive/load.md +1 -1
- package/docs/content/docs/directive/mousedown.md +1 -1
- package/docs/content/docs/directive/mouseenter.md +1 -1
- package/docs/content/docs/directive/mouseleave.md +1 -1
- package/docs/content/docs/directive/mousemove.md +1 -1
- package/docs/content/docs/directive/mouseout.md +1 -1
- package/docs/content/docs/directive/mouseover.md +1 -1
- package/docs/content/docs/directive/mouseup.md +1 -1
- package/docs/content/docs/directive/non-bindable.md +28 -0
- package/docs/content/docs/provider/locationProvider.md +26 -0
- package/docs/content/docs/provider/templateCacheProvider.md +2 -2
- package/docs/content/docs/service/location.md +57 -0
- package/docs/content/docs/service/url.md +5 -0
- package/docs/layouts/partials/hooks/head-end.html +1 -1
- package/docs/layouts/shortcodes/version.html +1 -0
- package/docs/static/examples/counter/counter-test.html +0 -4
- package/docs/static/examples/eventbus/eventbus-test.html +0 -4
- package/docs/static/examples/ng-non-bindable/ng-non-bindable-test.html +13 -0
- package/docs/static/examples/ng-non-bindable/ng-non-bindable.html +3 -0
- package/docs/static/examples/ng-non-bindable/ng-non-bindable.test.js +11 -0
- package/docs/static/typedoc/assets/hierarchy.js +1 -1
- package/docs/static/typedoc/assets/highlight.css +6 -6
- package/docs/static/typedoc/assets/navigation.js +1 -1
- package/docs/static/typedoc/assets/search.js +1 -1
- package/docs/static/typedoc/classes/Location.html +55 -0
- package/docs/static/typedoc/classes/LocationProvider.html +20 -0
- package/docs/static/typedoc/classes/NgModule.html +3 -3
- package/docs/static/typedoc/index.html +1 -1
- package/docs/static/typedoc/interfaces/DefaultPorts.html +5 -0
- package/docs/static/typedoc/interfaces/Html5Mode.html +23 -0
- package/docs/static/typedoc/interfaces/Provider.html +2 -1
- package/docs/static/typedoc/interfaces/UrlParts.html +9 -0
- package/docs/static/typedoc/types/AnnotatedFactory.html +1 -1
- package/docs/static/typedoc/types/Expression.html +1 -1
- package/docs/static/typedoc/types/Injectable.html +4 -1
- package/docs/static/typedoc/types/InjectableFactory.html +1 -4
- package/docs/static/typedoc/types/UrlChangeListener.html +5 -0
- package/docs/static/version.js +13 -0
- package/docs/test-results/.last-run.json +4 -0
- package/docs/test-results/static-examples-counter-counter-counter-example/error-context.md +50 -0
- package/package.json +2 -2
- package/src/{loader.js → angular.js} +11 -11
- package/src/angular.spec.js +189 -21
- package/src/animations/animate-css.js +17 -18
- package/src/animations/animate.spec.js +1 -1
- package/src/animations/shared.js +2 -3
- package/src/binding.spec.js +1 -1
- package/src/core/compile/compile.js +4 -7
- package/src/core/compile/compile.spec.js +1 -1
- package/src/core/controller/controller.spec.js +1 -1
- package/src/core/controller/controller.test.js +1 -0
- package/src/core/di/injector.js +7 -8
- package/src/core/di/injector.spec.js +2 -2
- package/src/core/di/injector.test.js +2 -2
- package/src/core/di/internal-injector.js +3 -6
- package/src/core/di/ng-module.js +26 -21
- package/src/core/filter/filter.js +1 -1
- package/src/core/filter/filter.spec.js +1 -1
- package/src/core/filter/filter.test.js +1 -0
- package/src/core/interpolate/interpolate.js +4 -6
- package/src/core/interpolate/interpolate.spec.js +1 -1
- package/src/core/interpolate/interpolate.test.js +1 -0
- package/src/core/parse/ast/ast.spec.js +1 -1
- package/src/core/parse/ast/ast.test.js +1 -1
- package/src/core/parse/lexer/lexer.spec.js +1 -1
- package/src/core/parse/parse.js +150 -146
- package/src/core/parse/parse.spec.js +46 -46
- package/src/core/prop.spec.js +1 -1
- package/src/core/root-element.spec.js +1 -1
- package/src/core/scope/scope.js +10 -11
- package/src/core/scope/scope.spec.js +3 -4
- package/src/directive/aria/aria.spec.js +1 -1
- package/src/directive/aria/aria.test.js +1 -0
- package/src/directive/attrs/attrs.spec.js +1 -1
- package/src/directive/attrs/attrs.test.js +1 -0
- package/src/directive/attrs/boolean.spec.js +1 -1
- package/src/directive/attrs/boolean.test.js +1 -0
- package/src/directive/attrs/element-style.spec.js +1 -1
- package/src/directive/attrs/element-style.test.js +1 -0
- package/src/directive/attrs/src.spec.js +1 -1
- package/src/directive/attrs/src.test.js +1 -0
- package/src/directive/bind/bind-html.spec.js +1 -1
- package/src/directive/bind/bind.js +1 -0
- package/src/directive/bind/bind.spec.js +1 -1
- package/src/directive/bind/bind.test.js +1 -0
- package/src/directive/channel/channel.spec.js +1 -1
- package/src/directive/channel/channel.test.js +1 -0
- package/src/directive/class/class.spec.js +1 -1
- package/src/directive/class/class.test.js +1 -0
- package/src/directive/cloak/cloak.spec.js +1 -1
- package/src/directive/cloak/cloak.test.js +1 -0
- package/src/directive/controller/controller.spec.js +1 -1
- package/src/directive/controller/controller.test.js +1 -0
- package/src/directive/events/click.spec.js +1 -1
- package/src/directive/events/event.spec.js +6 -6
- package/src/directive/events/events.test.js +1 -0
- package/src/directive/form/form.js +8 -5
- package/src/directive/form/form.spec.js +1 -1
- package/src/directive/form/form.test.js +1 -0
- package/src/directive/http/delete.spec.js +1 -1
- package/src/directive/http/form-test.html +18 -0
- package/src/directive/http/get.spec.js +1 -1
- package/src/directive/http/http.js +12 -3
- package/src/directive/http/post.spec.js +504 -9
- package/src/directive/http/put.spec.js +1 -1
- package/src/directive/if/if.spec.js +1 -1
- package/src/directive/include/include.spec.js +1 -1
- package/src/directive/init/init.spec.js +1 -1
- package/src/directive/init/init.test.js +1 -0
- package/src/directive/input/input.js +13 -15
- package/src/directive/input/input.spec.js +1 -2
- package/src/directive/input/input.test.js +1 -0
- package/src/directive/messages/messages.md +0 -4
- package/src/directive/messages/messages.spec.js +1 -1
- package/src/directive/messages/messages.test.js +1 -0
- package/src/directive/model/model.js +13 -13
- package/src/directive/model/model.spec.js +1 -1
- package/src/directive/model/model.test.js +1 -0
- package/src/directive/model-options/model-option.test.js +1 -0
- package/src/directive/model-options/model-options.js +1 -1
- package/src/directive/model-options/model-options.spec.js +1 -1
- package/src/directive/non-bindable/non-bindable.spec.js +1 -1
- package/src/directive/non-bindable/non-bindable.test.js +1 -0
- package/src/directive/observe/observe.spec.js +1 -1
- package/src/directive/observe/observe.test.js +1 -0
- package/src/directive/on/on.spec.js +1 -1
- package/src/directive/on/on.test.js +1 -0
- package/src/directive/options/options.spec.js +1 -1
- package/src/directive/options/options.test.js +1 -0
- package/src/directive/ref/href.spec.js +1 -1
- package/src/directive/ref/href.test.js +2 -0
- package/src/directive/ref/ref.spec.js +1 -1
- package/src/directive/repeat/repeat.js +1 -1
- package/src/directive/repeat/repeat.spec.js +2 -3
- package/src/directive/repeat/repeat.test.js +1 -0
- package/src/directive/script/script.spec.js +1 -1
- package/src/directive/script/script.test.js +1 -0
- package/src/directive/select/select.js +1 -1
- package/src/directive/select/select.spec.js +1 -1
- package/src/directive/select/select.test.js +1 -0
- package/src/directive/setter/setter.spec.js +1 -1
- package/src/directive/setter/setter.test.js +1 -0
- package/src/directive/show-hide/show-hide.spec.js +1 -1
- package/src/directive/show-hide/show-hide.test.js +1 -0
- package/src/directive/style/style.spec.js +1 -1
- package/src/directive/style/style.test.js +1 -0
- package/src/directive/switch/switch.spec.js +1 -1
- package/src/directive/switch/switch.test.js +1 -0
- package/src/directive/validators/validators.js +82 -84
- package/src/directive/validators/validators.spec.js +5 -4
- package/src/directive/validators/validators.test.js +1 -0
- package/src/filters/filter.spec.js +1 -1
- package/src/filters/filters.spec.js +1 -1
- package/src/filters/limit-to.js +2 -3
- package/src/filters/limit-to.spec.js +1 -1
- package/src/filters/order-by.spec.js +1 -1
- package/src/index.js +1 -1
- package/src/injection-tokens.js +7 -3
- package/src/interface.ts +4 -3
- package/src/loader.md +0 -155
- package/src/{public.js → ng.js} +11 -12
- package/src/{public.spec.js → ng.spec.js} +2 -2
- package/src/router/directives/state-directives.js +5 -5
- package/src/router/directives/state-directives.spec.js +8 -7
- package/src/router/directives/view-directive.js +7 -13
- package/src/router/directives/view-directive.spec.js +22 -23
- package/src/router/{common/common.html → glob/glob.html} +2 -3
- package/src/router/{common/common.test.js → glob/glob.test.js} +2 -1
- package/src/router/params/param-type.js +0 -1
- package/src/router/params/param.js +1 -1
- package/src/router/path/path-utils.js +5 -0
- package/src/router/router-test-hashbang.html +45 -0
- package/src/router/{globals.js → router.js} +2 -2
- package/src/router/services.spec.js +8 -9
- package/src/router/state/interface.ts +1 -1
- package/src/router/state/state-builder.js +3 -3
- package/src/router/state/state-builder.spec.js +1 -1
- package/src/router/state/state-object.js +1 -1
- package/src/router/state/state-registry.js +4 -4
- package/src/router/state/state-service.js +14 -14
- package/src/router/state/state.spec.js +23 -22
- package/src/router/state/state.test.js +1 -0
- package/src/router/state/views.js +1 -1
- package/src/router/state-filter.spec.js +1 -1
- package/src/router/state-filters.js +13 -9
- package/src/router/template-factory.js +5 -4
- package/src/router/template-factory.spec.js +7 -7
- package/src/router/transition/hook-registry.js +1 -1
- package/src/router/transition/transition-service.js +7 -6
- package/src/router/transition/transition.js +6 -6
- package/src/router/url/url-matcher.js +12 -14
- package/src/router/url/url-rule.js +8 -2
- package/src/router/url/url-rules.js +8 -5
- package/src/router/url/url-service.js +80 -76
- package/src/router/url/url-service.spec.js +61 -78
- package/src/router/url/url.test.js +1 -0
- package/src/router/view/view.js +4 -5
- package/src/router/view/view.spec.js +10 -12
- package/src/router/view/view.test.js +1 -0
- package/src/router/view-hook.spec.js +1 -1
- package/src/router/view-scroll.js +3 -1
- package/src/router/view-scroll.spec.js +12 -12
- package/src/services/anchor-scroll.html +2 -2
- package/src/services/anchor-scroll.js +5 -4
- package/src/services/http/http.js +9 -4
- package/src/services/http/http.spec.js +2 -7
- package/src/services/http/template-request.spec.js +1 -1
- package/src/services/http-backend/http-backend.js +51 -77
- package/src/services/http-backend/http-backend.spec.js +1 -2
- package/src/services/http-backend/http-backend.test.js +1 -0
- package/src/services/location/interface.ts +62 -0
- package/src/services/location/location.js +439 -519
- package/src/services/location/location.spec.js +915 -530
- package/src/services/location/location.test.js +2 -2
- package/src/services/log/log.spec.js +1 -1
- package/src/services/log/log.test.js +1 -0
- package/src/services/pubsub/pubsub.spec.js +1 -1
- package/src/services/sce/sce.js +5 -7
- package/src/services/sce/sce.md +2 -2
- package/src/services/sce/sce.spec.js +1 -1
- package/src/services/template-cache/template-cache.spec.js +1 -1
- package/src/services/template-cache/template-cache.test.js +1 -0
- package/src/shared/common.js +5 -10
- package/src/shared/common.spec.js +1 -1
- package/src/shared/hof.js +0 -14
- package/src/shared/interface.ts +0 -4
- package/src/{router/common → shared}/queue.js +7 -7
- package/src/shared/shared.html +1 -0
- package/src/shared/shared.test.js +1 -0
- package/src/shared/url-utils/interface.ts +0 -2
- package/src/shared/url-utils/url-utils.js +6 -30
- package/src/shared/url-utils/url-utils.spec.js +10 -9
- package/src/shared/utils.js +32 -9
- package/src/shared/utils.spec.js +35 -1
- package/src/src.html +1 -2
- package/typedoc.json +0 -1
- package/utils/express.js +27 -1
- package/utils/version.cjs +23 -0
- package/@types/router/state-provider.d.ts +0 -123
- package/src/directive/non-bindable/non-bindable.md +0 -17
- package/src/loader.spec.js +0 -169
- package/src/router/state-provider.js +0 -146
- package/src/services/location/location.md +0 -114
- package/src/shared/url-utils/url-utils.md +0 -46
- /package/@types/router/{common → glob}/glob.d.ts +0 -0
- /package/src/router/{common → glob}/glob.js +0 -0
- /package/src/router/{common → glob}/glob.spec.js +0 -0
- /package/src/{router/common → shared}/queue.spec.js +0 -0
|
@@ -1 +1,4 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Injectable | AngularTS</title><meta name="description" content="Documentation for AngularTS"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">AngularTS</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">Injectable</a></li></ul><h1>Type Alias Injectable</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">Injectable</span><span class="tsd-signature-symbol">:</span> <a href="AnnotatedFactory.html" class="tsd-signature-type tsd-kind-type-alias">AnnotatedFactory</a> <span class="tsd-signature-symbol">|</span> <a href="InjectableFactory.html" class="tsd-signature-type tsd-kind-type-alias">InjectableFactory</a></div
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Injectable | AngularTS</title><meta name="description" content="Documentation for AngularTS"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">AngularTS</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">Injectable</a></li></ul><h1>Type Alias Injectable</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">Injectable</span><span class="tsd-signature-symbol">:</span> <a href="AnnotatedFactory.html" class="tsd-signature-type tsd-kind-type-alias">AnnotatedFactory</a> <span class="tsd-signature-symbol">|</span> <a href="InjectableFactory.html" class="tsd-signature-type tsd-kind-type-alias">InjectableFactory</a></div><div class="tsd-comment tsd-typography"><p>A factory that can be either a standalone function or a dependency-annotated array.</p>
|
|
2
|
+
<p>The array form is used to support minification-safe dependency injection.
|
|
3
|
+
See <a href="AnnotatedFactory.html" class="tsd-kind-type-alias">AnnotatedFactory</a>.</p>
|
|
4
|
+
</div><div class="tsd-comment tsd-typography"></div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html">AngularTS</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -1,4 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>InjectableFactory | AngularTS</title><meta name="description" content="Documentation for AngularTS"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">AngularTS</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">InjectableFactory</a></li></ul><h1>Type Alias InjectableFactory</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">InjectableFactory</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span><span class="tsd-kind-parameter">args</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">any</span></div><div class="tsd-
|
|
2
|
-
<p>The array form is used to support minification-safe dependency injection.
|
|
3
|
-
See <a href="AnnotatedFactory.html" class="tsd-kind-type-alias">AnnotatedFactory</a>.</p>
|
|
4
|
-
</div><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures"><li class="tsd-signature" id="__type"><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span><span class="tsd-kind-parameter">args</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-signature-symbol">...</span><span class="tsd-kind-parameter">args</span>: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4></li></ul></li></ul></div><div class="tsd-comment tsd-typography"></div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html">AngularTS</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>InjectableFactory | AngularTS</title><meta name="description" content="Documentation for AngularTS"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">AngularTS</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">InjectableFactory</a></li></ul><h1>Type Alias InjectableFactory</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">InjectableFactory</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span><span class="tsd-kind-parameter">args</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">any</span></div><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures"><li class="tsd-signature" id="__type"><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span><span class="tsd-kind-parameter">args</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-signature-symbol">...</span><span class="tsd-kind-parameter">args</span>: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4></li></ul></li></ul></div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html">AngularTS</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>UrlChangeListener | AngularTS</title><meta name="description" content="Documentation for AngularTS"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">AngularTS</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">UrlChangeListener</a></li></ul><h1>Type Alias UrlChangeListener</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">UrlChangeListener</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">url</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">state</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">History</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">"state"</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span></div><div class="tsd-comment tsd-typography"><p>A callback function that gets called when the browser URL or state changes.</p>
|
|
2
|
+
</div><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures"><li class="tsd-signature" id="__type"><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">url</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">state</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">History</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">"state"</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">url</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The new URL after the change (with trailing <code>#</code> removed).</p>
|
|
3
|
+
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">state</span>: <span class="tsd-signature-type">History</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">"state"</span><span class="tsd-signature-symbol">]</span></span><div class="tsd-comment tsd-typography"><p>The new history state associated with the URL (<code>history.state</code>).</p>
|
|
4
|
+
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><p>void</p>
|
|
5
|
+
<div class="tsd-comment tsd-typography"></div></li></ul></li></ul></div><div class="tsd-comment tsd-typography"></div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html">AngularTS</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/* Version: 0.7.8 - July 17, 2025 11:49:51 */
|
|
2
|
+
// File for DOCsy to update doc version
|
|
3
|
+
window.VERSION = '0.7.8';
|
|
4
|
+
const script = document.createElement('script');
|
|
5
|
+
script.src =
|
|
6
|
+
'https://cdn.jsdelivr.net/npm/@angular-wave/angular.ts@' +
|
|
7
|
+
window.VERSION +
|
|
8
|
+
'/dist/angular-ts.umd.js';
|
|
9
|
+
script.type = 'text/javascript';
|
|
10
|
+
document.head.appendChild(script);
|
|
11
|
+
script.onload = function () {
|
|
12
|
+
window.dispatchEvent(new CustomEvent('AngularLoaded'));
|
|
13
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Test info
|
|
2
|
+
|
|
3
|
+
- Name: counter example
|
|
4
|
+
- Location:
|
|
5
|
+
/home/anatoly/Applications/angular.ts/docs/static/examples/counter/counter.test.js:5:5
|
|
6
|
+
|
|
7
|
+
# Error details
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
Error: page.goto: Protocol error (Page.navigate): Cannot navigate to invalid URL
|
|
11
|
+
Call log:
|
|
12
|
+
- navigating to "docs/static/examples/counter/counter-test.html", waiting until "load"
|
|
13
|
+
|
|
14
|
+
at /home/anatoly/Applications/angular.ts/docs/static/examples/counter/counter.test.js:6:14
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
# Test source
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
1 | import { test, expect } from '@playwright/test';
|
|
21
|
+
2 |
|
|
22
|
+
3 | const TEST_URL = 'docs/static/examples/counter/counter-test.html';
|
|
23
|
+
4 |
|
|
24
|
+
5 | test('counter example', async ({ page }) => {
|
|
25
|
+
> 6 | await page.goto(TEST_URL);
|
|
26
|
+
| ^ Error: page.goto: Protocol error (Page.navigate): Cannot navigate to invalid URL
|
|
27
|
+
7 | await page.content();
|
|
28
|
+
8 |
|
|
29
|
+
9 | // Locate the button
|
|
30
|
+
10 | const counterButton = page.locator('button');
|
|
31
|
+
11 |
|
|
32
|
+
12 | // Verify initial count
|
|
33
|
+
13 | await expect(counterButton).toHaveText('Count is: 0');
|
|
34
|
+
14 |
|
|
35
|
+
15 | // Click once
|
|
36
|
+
16 | await counterButton.click();
|
|
37
|
+
17 | await expect(counterButton).toHaveText('Count is: 1');
|
|
38
|
+
18 |
|
|
39
|
+
19 | // Click again
|
|
40
|
+
20 | await counterButton.click();
|
|
41
|
+
21 | await expect(counterButton).toHaveText('Count is: 2');
|
|
42
|
+
22 |
|
|
43
|
+
23 | // Click three more times
|
|
44
|
+
24 | await counterButton.click();
|
|
45
|
+
25 | await counterButton.click();
|
|
46
|
+
26 | await counterButton.click();
|
|
47
|
+
27 | await expect(counterButton).toHaveText('Count is: 5');
|
|
48
|
+
28 | });
|
|
49
|
+
29 |
|
|
50
|
+
```
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@angular-wave/angular.ts",
|
|
3
3
|
"description": "A modern, optimized and type-safe version of AngularJS",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.8.1",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "dist/angular-ts.esm.js",
|
|
8
8
|
"module": "dist/angular-ts.esm.js",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"AngularTS"
|
|
18
18
|
],
|
|
19
19
|
"engines": {
|
|
20
|
-
"node": ">=
|
|
20
|
+
"node": ">=24.0.0"
|
|
21
21
|
},
|
|
22
22
|
"scripts": {
|
|
23
23
|
"serve": "npm-run-all --parallel dev express",
|
|
@@ -15,10 +15,10 @@ import {
|
|
|
15
15
|
import { Cache } from "./shared/cache.js";
|
|
16
16
|
import { annotate, createInjector } from "./core/di/injector.js";
|
|
17
17
|
import { NgModule } from "./core/di/ng-module.js";
|
|
18
|
-
import { registerNgModule } from "./
|
|
18
|
+
import { registerNgModule } from "./ng.js";
|
|
19
19
|
import { unnestR } from "./shared/common.js";
|
|
20
20
|
import { EventBus } from "./services/pubsub/pubsub.js";
|
|
21
|
-
import { $injectTokens } from "./injection-tokens.js";
|
|
21
|
+
import { $injectTokens as $t } from "./injection-tokens.js";
|
|
22
22
|
|
|
23
23
|
const ngMinErr = minErr("ng");
|
|
24
24
|
const $injectorMinErr = minErr("$injector");
|
|
@@ -52,9 +52,9 @@ export class Angular {
|
|
|
52
52
|
this.getInjector = getInjector;
|
|
53
53
|
this.getScope = getScope;
|
|
54
54
|
this.errorHandlingConfig = errorHandlingConfig;
|
|
55
|
+
this.$t = $t;
|
|
55
56
|
|
|
56
57
|
window["angular"] = this;
|
|
57
|
-
this.$injectTokens = $injectTokens;
|
|
58
58
|
registerNgModule(this);
|
|
59
59
|
}
|
|
60
60
|
|
|
@@ -131,14 +131,14 @@ export class Angular {
|
|
|
131
131
|
|
|
132
132
|
const injector = createInjector(this.bootsrappedModules, config.strictDi);
|
|
133
133
|
injector.invoke([
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
134
|
+
$t.$rootScope,
|
|
135
|
+
$t.$rootElement,
|
|
136
|
+
$t.$compile,
|
|
137
|
+
$t.$injector,
|
|
138
138
|
/**
|
|
139
139
|
* @param {import('./core/scope/scope.js').Scope} scope
|
|
140
140
|
* @param {Element} el
|
|
141
|
-
* @param {
|
|
141
|
+
* @param {import("./core/compile/compile.js").CompileFn} compile
|
|
142
142
|
* @param {import("./core/di/internal-injector.js").InjectorService} $injector
|
|
143
143
|
*/
|
|
144
144
|
(scope, el, compile, $injector) => {
|
|
@@ -161,7 +161,7 @@ export class Angular {
|
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
$injector
|
|
164
|
-
.get(
|
|
164
|
+
.get($t.$stateRegistry)
|
|
165
165
|
.get()
|
|
166
166
|
.map((x) => x.$$state().resolvables)
|
|
167
167
|
.reduce(unnestR, [])
|
|
@@ -266,7 +266,7 @@ export class Angular {
|
|
|
266
266
|
* @param {string} name The name of the module to create or retrieve.
|
|
267
267
|
* @param {Array.<string>} [requires] If specified then new module is being created. If
|
|
268
268
|
* unspecified then the module is being retrieved for further configuration.
|
|
269
|
-
* @param {
|
|
269
|
+
* @param {import("./interface.js").Injectable} [configFn] Optional configuration function for the module that gets
|
|
270
270
|
* passed to {@link NgModule.config NgModule.config()}.
|
|
271
271
|
* @returns {NgModule} A newly registered module.
|
|
272
272
|
*/
|
|
@@ -283,7 +283,7 @@ export class Angular {
|
|
|
283
283
|
name,
|
|
284
284
|
);
|
|
285
285
|
}
|
|
286
|
-
return new NgModule(name, requires,
|
|
286
|
+
return new NgModule(name, requires, configFn);
|
|
287
287
|
});
|
|
288
288
|
}
|
|
289
289
|
}
|
package/src/angular.spec.js
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
encodeUriQuery,
|
|
3
|
+
encodeUriSegment,
|
|
4
|
+
equals,
|
|
4
5
|
extend,
|
|
5
|
-
|
|
6
|
+
fromJson,
|
|
7
|
+
getNodeName,
|
|
8
|
+
hashKey,
|
|
9
|
+
isArrayLike,
|
|
6
10
|
isDate,
|
|
7
|
-
|
|
11
|
+
isDefined,
|
|
8
12
|
isElement,
|
|
9
|
-
shallowCopy,
|
|
10
|
-
equals,
|
|
11
|
-
isWindow,
|
|
12
|
-
hashKey,
|
|
13
|
-
toKeyValue,
|
|
14
|
-
parseKeyValue,
|
|
15
13
|
isError,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
toJson,
|
|
20
|
-
fromJson,
|
|
14
|
+
isRegExp,
|
|
15
|
+
isWindow,
|
|
16
|
+
lowercase,
|
|
21
17
|
nextUid,
|
|
22
|
-
|
|
18
|
+
parseKeyValue,
|
|
19
|
+
shallowCopy,
|
|
23
20
|
snakeCase,
|
|
21
|
+
toJson,
|
|
22
|
+
toKeyValue,
|
|
23
|
+
uppercase,
|
|
24
24
|
} from "./shared/utils.js";
|
|
25
25
|
import { createElementFromHTML, dealoc, startingTag } from "./shared/dom.js";
|
|
26
|
-
import { Angular } from "./
|
|
26
|
+
import { Angular } from "./angular.js";
|
|
27
27
|
import { createInjector } from "./core/di/injector.js";
|
|
28
28
|
import { wait } from "./shared/test-utils.js";
|
|
29
29
|
|
|
@@ -594,15 +594,16 @@ describe("angular", () => {
|
|
|
594
594
|
|
|
595
595
|
it("should look for ngApp directive using querySelectorAll", () => {
|
|
596
596
|
window.angular.module("ABC", []);
|
|
597
|
-
|
|
598
|
-
|
|
597
|
+
element.querySelector["[ng-app]"] = createElementFromHTML(
|
|
598
|
+
'<div ng-app="ABC"></div>',
|
|
599
|
+
);
|
|
599
600
|
window.angular.init(element);
|
|
600
601
|
expect(bootstrapSpy).toHaveBeenCalled();
|
|
601
602
|
});
|
|
602
603
|
|
|
603
604
|
it("should bootstrap anonymously", () => {
|
|
604
|
-
|
|
605
|
-
|
|
605
|
+
element.querySelector["[ng-app]"] =
|
|
606
|
+
createElementFromHTML("<div ng-app></div>");
|
|
606
607
|
window.angular.init(element);
|
|
607
608
|
expect(bootstrapSpy).toHaveBeenCalled();
|
|
608
609
|
});
|
|
@@ -1021,3 +1022,170 @@ describe("angular", () => {
|
|
|
1021
1022
|
});
|
|
1022
1023
|
});
|
|
1023
1024
|
});
|
|
1025
|
+
|
|
1026
|
+
describe("module loader", () => {
|
|
1027
|
+
let angular;
|
|
1028
|
+
beforeEach(() => {
|
|
1029
|
+
angular = window.angular = new Angular();
|
|
1030
|
+
});
|
|
1031
|
+
|
|
1032
|
+
it("allows registering a module", () => {
|
|
1033
|
+
const myModule = angular.module("myModule", []);
|
|
1034
|
+
expect(myModule).toBeDefined();
|
|
1035
|
+
expect(myModule.name).toEqual("myModule");
|
|
1036
|
+
});
|
|
1037
|
+
|
|
1038
|
+
it("allows getting a module", () => {
|
|
1039
|
+
const myModule = angular.module("myModule", []);
|
|
1040
|
+
const gotModule = angular.module("myModule");
|
|
1041
|
+
expect(gotModule).toBeDefined();
|
|
1042
|
+
expect(gotModule).toBe(myModule);
|
|
1043
|
+
});
|
|
1044
|
+
|
|
1045
|
+
it("throws when trying to get a nonexistent module", () => {
|
|
1046
|
+
expect(() => {
|
|
1047
|
+
angular.module("nonexistent");
|
|
1048
|
+
}).toThrow();
|
|
1049
|
+
});
|
|
1050
|
+
|
|
1051
|
+
it("does not allow a module to be called hasOwnProperty", () => {
|
|
1052
|
+
expect(() => {
|
|
1053
|
+
angular.module("hasOwnProperty", []);
|
|
1054
|
+
}).toThrow();
|
|
1055
|
+
});
|
|
1056
|
+
|
|
1057
|
+
it("attaches the requires array to the registered module", () => {
|
|
1058
|
+
const myModule = angular.module("myModule", ["myOtherModule"]);
|
|
1059
|
+
expect(myModule.requires).toEqual(["myOtherModule"]);
|
|
1060
|
+
});
|
|
1061
|
+
|
|
1062
|
+
it("replaces a module when registered with same name again", () => {
|
|
1063
|
+
const myModule = angular.module("myModule", []);
|
|
1064
|
+
const myNewModule = angular.module("myModule", []);
|
|
1065
|
+
expect(myNewModule).not.toBe(myModule);
|
|
1066
|
+
});
|
|
1067
|
+
|
|
1068
|
+
it("should record calls", () => {
|
|
1069
|
+
const otherModule = angular.module("other", []);
|
|
1070
|
+
otherModule.config("otherInit");
|
|
1071
|
+
|
|
1072
|
+
const myModule = angular.module("my", ["other"], "config");
|
|
1073
|
+
|
|
1074
|
+
expect(
|
|
1075
|
+
myModule
|
|
1076
|
+
.decorator("dk", "dv")
|
|
1077
|
+
.provider("sk", "sv")
|
|
1078
|
+
.factory("fk", "fv")
|
|
1079
|
+
.service("a", "aa")
|
|
1080
|
+
.value("k", "v")
|
|
1081
|
+
.filter("f", "ff")
|
|
1082
|
+
.directive("d", "dd")
|
|
1083
|
+
.component("c", "cc")
|
|
1084
|
+
.controller("ctrl", "ccc")
|
|
1085
|
+
.config("init2")
|
|
1086
|
+
.constant("abc", 123)
|
|
1087
|
+
.run("runBlock"),
|
|
1088
|
+
).toBe(myModule);
|
|
1089
|
+
|
|
1090
|
+
expect(myModule.requires).toEqual(["other"]);
|
|
1091
|
+
expect(myModule.invokeQueue).toEqual([
|
|
1092
|
+
["$provide", "constant", jasmine.objectContaining(["abc", 123])],
|
|
1093
|
+
["$provide", "provider", jasmine.objectContaining(["sk", "sv"])],
|
|
1094
|
+
["$provide", "factory", jasmine.objectContaining(["fk", "fv"])],
|
|
1095
|
+
["$provide", "service", jasmine.objectContaining(["a", "aa"])],
|
|
1096
|
+
["$provide", "value", jasmine.objectContaining(["k", "v"])],
|
|
1097
|
+
["$filterProvider", "register", jasmine.objectContaining(["f", "ff"])],
|
|
1098
|
+
["$compileProvider", "directive", jasmine.objectContaining(["d", "dd"])],
|
|
1099
|
+
["$compileProvider", "component", jasmine.objectContaining(["c", "cc"])],
|
|
1100
|
+
[
|
|
1101
|
+
"$controllerProvider",
|
|
1102
|
+
"register",
|
|
1103
|
+
jasmine.objectContaining(["ctrl", "ccc"]),
|
|
1104
|
+
],
|
|
1105
|
+
]);
|
|
1106
|
+
expect(myModule.configBlocks).toEqual([
|
|
1107
|
+
["$injector", "invoke", jasmine.objectContaining(["config"])],
|
|
1108
|
+
["$provide", "decorator", jasmine.objectContaining(["dk", "dv"])],
|
|
1109
|
+
["$injector", "invoke", jasmine.objectContaining(["init2"])],
|
|
1110
|
+
]);
|
|
1111
|
+
expect(myModule.runBlocks).toEqual(["runBlock"]);
|
|
1112
|
+
});
|
|
1113
|
+
|
|
1114
|
+
it("should not throw error when `module.decorator` is declared before provider that it decorates", () => {
|
|
1115
|
+
angular
|
|
1116
|
+
.module("theModule", [])
|
|
1117
|
+
.decorator("theProvider", ($delegate) => $delegate)
|
|
1118
|
+
.factory("theProvider", () => ({}));
|
|
1119
|
+
|
|
1120
|
+
expect(() => {
|
|
1121
|
+
createInjector(["theModule"]);
|
|
1122
|
+
}).not.toThrow();
|
|
1123
|
+
});
|
|
1124
|
+
|
|
1125
|
+
it("should run decorators in order of declaration, even when mixed with provider.decorator", () => {
|
|
1126
|
+
let log = "";
|
|
1127
|
+
|
|
1128
|
+
angular
|
|
1129
|
+
.module("theModule", [])
|
|
1130
|
+
.factory("theProvider", () => ({ api: "provider" }))
|
|
1131
|
+
.decorator("theProvider", ($delegate) => {
|
|
1132
|
+
$delegate.api += "-first";
|
|
1133
|
+
return $delegate;
|
|
1134
|
+
})
|
|
1135
|
+
.config(($provide) => {
|
|
1136
|
+
$provide.decorator("theProvider", ($delegate) => {
|
|
1137
|
+
$delegate.api += "-second";
|
|
1138
|
+
return $delegate;
|
|
1139
|
+
});
|
|
1140
|
+
})
|
|
1141
|
+
.decorator("theProvider", ($delegate) => {
|
|
1142
|
+
$delegate.api += "-third";
|
|
1143
|
+
return $delegate;
|
|
1144
|
+
})
|
|
1145
|
+
.run((theProvider) => {
|
|
1146
|
+
log = theProvider.api;
|
|
1147
|
+
});
|
|
1148
|
+
|
|
1149
|
+
createInjector(["theModule"]);
|
|
1150
|
+
expect(log).toBe("provider-first-second-third");
|
|
1151
|
+
});
|
|
1152
|
+
|
|
1153
|
+
it("should decorate the last declared provider if multiple have been declared", () => {
|
|
1154
|
+
let log = "";
|
|
1155
|
+
|
|
1156
|
+
angular
|
|
1157
|
+
.module("theModule", [])
|
|
1158
|
+
.factory("theProvider", () => ({
|
|
1159
|
+
api: "firstProvider",
|
|
1160
|
+
}))
|
|
1161
|
+
.decorator("theProvider", ($delegate) => {
|
|
1162
|
+
$delegate.api += "-decorator";
|
|
1163
|
+
return $delegate;
|
|
1164
|
+
})
|
|
1165
|
+
.factory("theProvider", () => ({
|
|
1166
|
+
api: "secondProvider",
|
|
1167
|
+
}))
|
|
1168
|
+
.run((theProvider) => {
|
|
1169
|
+
log = theProvider.api;
|
|
1170
|
+
});
|
|
1171
|
+
|
|
1172
|
+
createInjector(["theModule"]);
|
|
1173
|
+
expect(log).toBe("secondProvider-decorator");
|
|
1174
|
+
});
|
|
1175
|
+
|
|
1176
|
+
it("should allow module redefinition", () => {
|
|
1177
|
+
expect(angular.module("a", [])).not.toBe(angular.module("a", []));
|
|
1178
|
+
});
|
|
1179
|
+
|
|
1180
|
+
it("should complain of no module", () => {
|
|
1181
|
+
expect(() => {
|
|
1182
|
+
angular.module("dontExist");
|
|
1183
|
+
}).toThrow();
|
|
1184
|
+
});
|
|
1185
|
+
|
|
1186
|
+
it('should complain if a module is called "hasOwnProperty', () => {
|
|
1187
|
+
expect(() => {
|
|
1188
|
+
angular.module("hasOwnProperty", []);
|
|
1189
|
+
}).toThrow();
|
|
1190
|
+
});
|
|
1191
|
+
});
|
|
@@ -5,33 +5,33 @@ import {
|
|
|
5
5
|
} from "../shared/dom.js";
|
|
6
6
|
import { isDefined } from "../shared/utils.js";
|
|
7
7
|
import {
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
ACTIVE_CLASS_SUFFIX,
|
|
9
|
+
ADD_CLASS_SUFFIX,
|
|
10
10
|
ANIMATION_DELAY_PROP,
|
|
11
|
-
TRANSITION_PROP,
|
|
12
|
-
PROPERTY_KEY,
|
|
13
11
|
ANIMATION_DURATION_PROP,
|
|
14
12
|
ANIMATION_ITERATION_COUNT_KEY,
|
|
15
13
|
ANIMATION_PROP,
|
|
16
|
-
|
|
14
|
+
ANIMATIONEND_EVENT,
|
|
17
15
|
applyAnimationClassesFactory,
|
|
18
|
-
pendClasses,
|
|
19
|
-
prepareAnimationOptions,
|
|
20
|
-
packageStyles,
|
|
21
|
-
EVENT_CLASS_PREFIX,
|
|
22
|
-
ADD_CLASS_SUFFIX,
|
|
23
|
-
REMOVE_CLASS_SUFFIX,
|
|
24
|
-
applyInlineStyle,
|
|
25
|
-
SAFE_FAST_FORWARD_DURATION_VALUE,
|
|
26
|
-
ACTIVE_CLASS_SUFFIX,
|
|
27
16
|
applyAnimationFromStyles,
|
|
28
17
|
applyAnimationStyles,
|
|
18
|
+
applyAnimationToStyles,
|
|
19
|
+
applyInlineStyle,
|
|
29
20
|
blockKeyframeAnimations,
|
|
21
|
+
DURATION_KEY,
|
|
22
|
+
EVENT_CLASS_PREFIX,
|
|
23
|
+
packageStyles,
|
|
24
|
+
pendClasses,
|
|
25
|
+
prepareAnimationOptions,
|
|
26
|
+
PROPERTY_KEY,
|
|
27
|
+
REMOVE_CLASS_SUFFIX,
|
|
30
28
|
removeFromArray,
|
|
29
|
+
SAFE_FAST_FORWARD_DURATION_VALUE,
|
|
31
30
|
TIMING_KEY,
|
|
31
|
+
TRANSITION_DELAY_PROP,
|
|
32
|
+
TRANSITION_DURATION_PROP,
|
|
33
|
+
TRANSITION_PROP,
|
|
32
34
|
TRANSITIONEND_EVENT,
|
|
33
|
-
ANIMATIONEND_EVENT,
|
|
34
|
-
applyAnimationToStyles,
|
|
35
35
|
} from "./shared.js";
|
|
36
36
|
|
|
37
37
|
const ANIMATE_TIMER_KEY = "$$animateCss";
|
|
@@ -771,8 +771,7 @@ export function AnimateCssProvider() {
|
|
|
771
771
|
|
|
772
772
|
temporaryStyles.forEach((entry) => {
|
|
773
773
|
const key = entry[0];
|
|
774
|
-
|
|
775
|
-
node.style[key] = value;
|
|
774
|
+
node.style[key] = entry[1];
|
|
776
775
|
});
|
|
777
776
|
|
|
778
777
|
applyAnimationClasses(element, options);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { dealoc } from "../../shared/dom.js";
|
|
2
|
-
import { Angular } from "../../
|
|
2
|
+
import { Angular } from "../../angular.js";
|
|
3
3
|
import { isObject } from "../../shared/utils.js";
|
|
4
4
|
import { isFunction } from "../../shared/utils.js";
|
|
5
5
|
import { createInjector } from "../di/injector.js";
|
package/src/animations/shared.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isString, minErr
|
|
1
|
+
import { extend, isString, minErr } from "../shared/utils.js";
|
|
2
2
|
import { ASTType } from "../core/parse/ast-type.js";
|
|
3
3
|
|
|
4
4
|
export const ADD_CLASS_SUFFIX = "-add";
|
|
@@ -331,8 +331,7 @@ export function blockKeyframeAnimations(node, applyBlock) {
|
|
|
331
331
|
|
|
332
332
|
export function applyInlineStyle(node, styleTuple) {
|
|
333
333
|
const prop = styleTuple[0];
|
|
334
|
-
|
|
335
|
-
node.style[prop] = value;
|
|
334
|
+
node.style[prop] = styleTuple[1];
|
|
336
335
|
}
|
|
337
336
|
|
|
338
337
|
export function concatWithSpace(a, b) {
|
package/src/binding.spec.js
CHANGED