@angular-wave/angular.ts 0.9.3 → 0.9.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/angular.d.ts +4 -19
- package/@types/animations/animate.d.ts +2 -2
- package/@types/animations/animation.d.ts +1 -1
- package/@types/core/compile/attributes.d.ts +1 -1
- package/@types/core/compile/compile.d.ts +2 -2
- package/@types/core/controller/controller.d.ts +1 -1
- package/@types/core/controller/interface.d.ts +6 -0
- package/@types/core/di/ng-module.d.ts +27 -26
- package/@types/core/filter/filter.d.ts +5 -5
- package/@types/core/interpolate/interface.d.ts +13 -0
- package/@types/core/interpolate/interpolate.d.ts +1 -13
- package/@types/core/scope/scope.d.ts +4 -1
- package/@types/directive/http/http.d.ts +16 -16
- package/@types/directive/http/interface.d.ts +27 -0
- package/@types/directive/include/include.d.ts +4 -4
- package/@types/directive/inject/inject.d.ts +12 -0
- package/@types/directive/model/model.d.ts +1 -1
- package/@types/directive/script/script.d.ts +2 -2
- package/@types/directive/setter/setter.d.ts +4 -4
- package/@types/filters/filter.d.ts +2 -2
- package/@types/filters/filters.d.ts +2 -2
- package/@types/filters/interface.d.ts +8 -0
- package/@types/filters/limit-to.d.ts +2 -2
- package/@types/filters/order-by.d.ts +2 -2
- package/@types/interface.d.ts +105 -82
- package/@types/namespace.d.ts +76 -0
- package/@types/router/state/interface.d.ts +8 -8
- package/@types/router/state-filters.d.ts +4 -4
- package/@types/router/template-factory.d.ts +8 -8
- package/@types/router/transition/hook-builder.d.ts +5 -2
- package/@types/router/transition/hook-registry.d.ts +11 -2
- package/@types/router/transition/transition-service.d.ts +6 -2
- package/@types/router/transition/transition.d.ts +2 -2
- package/@types/router/view/view.d.ts +1 -8
- package/@types/router/view-scroll.d.ts +4 -2
- package/@types/services/{anchor-scroll.d.ts → anchor-scroll/anchor-scroll.d.ts} +2 -2
- package/@types/services/exception/exception-handler.d.ts +2 -2
- package/@types/services/exception/interface.d.ts +1 -1
- package/@types/services/http/http.d.ts +40 -2
- package/@types/services/http/interface.d.ts +11 -0
- package/@types/services/location/location.d.ts +1 -4
- package/@types/services/sce/sce.d.ts +3 -4
- package/@types/services/template-cache/template-cache.d.ts +4 -4
- package/@types/services/template-request/interface.d.ts +22 -0
- package/@types/services/{template-request.d.ts → template-request/template-request.d.ts} +4 -7
- package/@types/shared/common.d.ts +8 -69
- package/@types/shared/hof.d.ts +7 -7
- package/dist/angular-ts.esm.js +510 -570
- package/dist/angular-ts.umd.js +510 -570
- package/dist/angular-ts.umd.min.js +1 -1
- package/package.json +8 -1
- 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/@types/services/cookie-reader.d.ts +0 -4
- package/@types/services/http-backend/http-backend.d.ts +0 -58
- package/@types/services/template-cache/interface.d.ts +0 -10
- 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/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/templateCacheProvider.md +0 -100
- package/docs/content/docs/service/_index.md +0 -4
- package/docs/content/docs/service/eventBus.md +0 -56
- package/docs/content/docs/service/location.md +0 -57
- package/docs/content/docs/service/log.md +0 -113
- package/docs/content/docs/service/templateCache.md +0 -64
- package/docs/content/docs/service/url.md +0 -5
- 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/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/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/typedoc/.nojekyll +0 -1
- package/docs/static/typedoc/assets/hierarchy.js +0 -1
- package/docs/static/typedoc/assets/highlight.css +0 -78
- 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 -3
- 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/ChangesObject.html +0 -6
- package/docs/static/typedoc/interfaces/ComponentOptions.html +0 -16
- package/docs/static/typedoc/interfaces/Controller.html +0 -12
- package/docs/static/typedoc/interfaces/DefaultPorts.html +0 -5
- package/docs/static/typedoc/interfaces/Directive.html +0 -37
- package/docs/static/typedoc/interfaces/DirectivePrePost.html +0 -4
- 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/NgModelController.html +0 -30
- package/docs/static/typedoc/interfaces/NgModelOptions.html +0 -16
- package/docs/static/typedoc/interfaces/Provider.html +0 -34
- 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/TemplateCache.html +0 -7
- package/docs/static/typedoc/interfaces/TranscludeFunctionObject.html +0 -8
- package/docs/static/typedoc/interfaces/UrlParts.html +0 -9
- package/docs/static/typedoc/types/AnnotatedDirectiveFactory.html +0 -1
- package/docs/static/typedoc/types/AnnotatedFactory.html +0 -8
- package/docs/static/typedoc/types/CloneAttachFunction.html +0 -2
- package/docs/static/typedoc/types/ControllerConstructor.html +0 -2
- package/docs/static/typedoc/types/DirectiveCompileFn.html +0 -2
- package/docs/static/typedoc/types/DirectiveController.html +0 -2
- package/docs/static/typedoc/types/DirectiveFactory.html +0 -1
- package/docs/static/typedoc/types/DirectiveFactoryFn.html +0 -1
- package/docs/static/typedoc/types/DirectiveLinkFn.html +0 -2
- package/docs/static/typedoc/types/ExpandoStore.html +0 -2
- package/docs/static/typedoc/types/Expression.html +0 -6
- package/docs/static/typedoc/types/FilterFactory.html +0 -2
- package/docs/static/typedoc/types/FilterFn.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/Injectable.html +0 -4
- package/docs/static/typedoc/types/InjectableClass.html +0 -1
- package/docs/static/typedoc/types/InjectableFactory.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/OnChangesObject.html +0 -2
- package/docs/static/typedoc/types/SwapModeType.html +0 -2
- package/docs/static/typedoc/types/TController.html +0 -2
- package/docs/static/typedoc/types/UrlChangeListener.html +0 -5
- package/docs/static/typedoc/variables/EventBus.html +0 -1
- package/docs/static/typedoc/variables/SwapMode.html +0 -11
- 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 -2599
- 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 -293
- 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 -3270
- 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 -189
- package/src/core/controller/controller.spec.js +0 -334
- package/src/core/controller/controller.test.js +0 -12
- 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 -284
- package/src/core/di/ng-module.html +0 -19
- package/src/core/di/ng-module.js +0 -226
- 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/interpolate.html +0 -22
- package/src/core/interpolate/interpolate.js +0 -408
- 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 -1249
- 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 -26
- 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/post-example.html +0 -30
- package/src/directive/http/post.spec.js +0 -521
- package/src/directive/http/put.spec.js +0 -26
- 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/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.md +0 -69
- 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/json.md +0 -16
- package/src/filters/limit-to.js +0 -55
- package/src/filters/limit-to.md +0 -19
- package/src/filters/limit-to.spec.js +0 -252
- package/src/filters/order-by.js +0 -181
- package/src/filters/order-by.md +0 -83
- 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 -78
- package/src/interface.ts +0 -421
- package/src/ng.js +0 -289
- package/src/ng.spec.js +0 -33
- 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 -1937
- 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/README.md +0 -21
- 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 -257
- package/src/router/state/state-service.js +0 -699
- 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 -155
- package/src/router/template-factory.test.js +0 -12
- package/src/router/transition/hook-builder.js +0 -133
- package/src/router/transition/hook-registry.js +0 -172
- 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 -302
- package/src/router/transition/transition.js +0 -652
- 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 -274
- 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.html +0 -76
- package/src/services/anchor-scroll.js +0 -147
- package/src/services/cookie-reader.js +0 -48
- 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 -922
- package/src/services/http/http.md +0 -413
- package/src/services/http/http.spec.js +0 -3941
- package/src/services/http/http.test.js +0 -11
- package/src/services/http/interface.ts +0 -243
- package/src/services/http/template-request.spec.js +0 -220
- package/src/services/http-backend/http-backend.html +0 -22
- package/src/services/http-backend/http-backend.js +0 -158
- package/src/services/http-backend/http-backend.spec.js +0 -389
- package/src/services/http-backend/http-backend.test.js +0 -12
- 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 -847
- package/src/services/sce/sce.md +0 -300
- package/src/services/sce/sce.spec.js +0 -617
- package/src/services/sce/sce.test.js +0 -12
- package/src/services/template-cache/interface.ts +0 -10
- 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.js +0 -142
- package/src/shared/cache.js +0 -7
- package/src/shared/common.js +0 -438
- 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 -151
- 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
package/src/core/di/injector.md
DELETED
|
@@ -1,740 +0,0 @@
|
|
|
1
|
-
/\*\*
|
|
2
|
-
|
|
3
|
-
- @ngdoc function
|
|
4
|
-
- @module ng
|
|
5
|
-
- @name angular.injector
|
|
6
|
-
- @kind function
|
|
7
|
-
-
|
|
8
|
-
- @description
|
|
9
|
-
- Creates an injector object that can be used for retrieving services as well as for
|
|
10
|
-
- dependency injection (see {@link guide/di dependency injection}).
|
|
11
|
-
-
|
|
12
|
-
- @param {Array.<string|Function>} modules A list of module functions or their aliases. See
|
|
13
|
-
- {@link angular.module}. The `ng` module must be explicitly added.
|
|
14
|
-
- @param {boolean=} [strictDi=false] Whether the injector should be in strict mode, which
|
|
15
|
-
- disallows argument name annotation inference.
|
|
16
|
-
- @returns {injector} Injector object. See {@link auto.$injector $injector}.
|
|
17
|
-
-
|
|
18
|
-
- @example
|
|
19
|
-
- Typical usage
|
|
20
|
-
- ```js
|
|
21
|
-
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
- // create an injector
|
|
25
|
-
- var $injector = angular.injector(['ng']);
|
|
26
|
-
-
|
|
27
|
-
- // use the injector to kick off your application
|
|
28
|
-
- // use the type inference to auto inject arguments, or use implicit injection
|
|
29
|
-
- $injector.invoke(function($rootScope, $compile, $document) {
|
|
30
|
-
- $compile($document)($rootScope);
|
|
31
|
-
- ;
|
|
32
|
-
- });
|
|
33
|
-
- ```
|
|
34
|
-
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
-
|
|
38
|
-
- Sometimes you want to get access to the injector of a currently running AngularTS app
|
|
39
|
-
- from outside AngularTS. Perhaps, you want to inject and compile some markup after the
|
|
40
|
-
- application has been bootstrapped. You can do this using the extra `injector()` added
|
|
41
|
-
- to JQuery/jqLite elements. See {@link angular.element}.
|
|
42
|
-
-
|
|
43
|
-
- \*This is fairly rare but could be the case if a third party library is injecting the
|
|
44
|
-
- markup.\*
|
|
45
|
-
-
|
|
46
|
-
- In the following example a new block of HTML containing a `ng-controller`
|
|
47
|
-
- directive is added to the end of the document body by JQuery. We then compile and link
|
|
48
|
-
- it into the current AngularTS scope.
|
|
49
|
-
-
|
|
50
|
-
- ```js
|
|
51
|
-
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
- var $div = $('<div ng-controller="MyCtrl">{{content.label}}</div>');
|
|
55
|
-
- $(document.body).append($div);
|
|
56
|
-
-
|
|
57
|
-
- angular.element(document).injector().invoke(function($compile) {
|
|
58
|
-
- var scope = angular.element($div).scope();
|
|
59
|
-
- $compile($div)(scope);
|
|
60
|
-
- });
|
|
61
|
-
- ```
|
|
62
|
-
*/
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
/\*\*
|
|
66
|
-
|
|
67
|
-
- @ngdoc module
|
|
68
|
-
- @name auto
|
|
69
|
-
- @installation
|
|
70
|
-
- @description
|
|
71
|
-
-
|
|
72
|
-
- Implicit module which gets automatically added to each {@link auto.$injector $injector}.
|
|
73
|
-
\*/
|
|
74
|
-
|
|
75
|
-
///////////////////////////////////////
|
|
76
|
-
|
|
77
|
-
/\*\*
|
|
78
|
-
|
|
79
|
-
- @ngdoc service
|
|
80
|
-
- @name $injector
|
|
81
|
-
-
|
|
82
|
-
- @description
|
|
83
|
-
-
|
|
84
|
-
- `$injector` is used to retrieve object instances as defined by
|
|
85
|
-
- {@link auto.$provide provider}, instantiate types, invoke methods,
|
|
86
|
-
- and load modules.
|
|
87
|
-
-
|
|
88
|
-
- The following always holds true:
|
|
89
|
-
-
|
|
90
|
-
- ```js
|
|
91
|
-
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
- var $injector = angular.injector();
|
|
95
|
-
- expect($injector.get('$injector')).toBe($injector);
|
|
96
|
-
- expect($injector.invoke(function($injector) {
|
|
97
|
-
- return $injector;
|
|
98
|
-
- })).toBe($injector);
|
|
99
|
-
- ```
|
|
100
|
-
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
-
|
|
104
|
-
- ## Injection Function Annotation
|
|
105
|
-
-
|
|
106
|
-
- JavaScript does not have annotations, and annotations are needed for dependency injection. The
|
|
107
|
-
- following are all valid ways of annotating function with injection arguments and are equivalent.
|
|
108
|
-
-
|
|
109
|
-
- ```js
|
|
110
|
-
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
- // inferred (only works if code not minified/obfuscated)
|
|
114
|
-
- $injector.invoke(function(serviceA){});
|
|
115
|
-
-
|
|
116
|
-
- // annotated
|
|
117
|
-
- function explicit(serviceA) {};
|
|
118
|
-
- explicit.$inject = ['serviceA'];
|
|
119
|
-
- $injector.invoke(explicit);
|
|
120
|
-
-
|
|
121
|
-
- // inline
|
|
122
|
-
- $injector.invoke(['serviceA', function(serviceA){}]);
|
|
123
|
-
- ```
|
|
124
|
-
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
-
|
|
128
|
-
- ### Inference
|
|
129
|
-
-
|
|
130
|
-
- In JavaScript calling `toString()` on a function returns the function definition. The definition
|
|
131
|
-
- can then be parsed and the function arguments can be extracted. This method of discovering
|
|
132
|
-
- annotations is disallowed when the injector is in strict mode.
|
|
133
|
-
- _NOTE:_ This does not work with minification, and obfuscation tools since these tools change the
|
|
134
|
-
- argument names.
|
|
135
|
-
-
|
|
136
|
-
- ### `$inject` Annotation
|
|
137
|
-
- By adding an `$inject` property onto a function the injection parameters can be specified.
|
|
138
|
-
-
|
|
139
|
-
- ### Inline
|
|
140
|
-
- As an array of injection names, where the last item in the array is the function to call.
|
|
141
|
-
\*/
|
|
142
|
-
|
|
143
|
-
/\*\*
|
|
144
|
-
|
|
145
|
-
- @ngdoc property
|
|
146
|
-
- @name $injector#modules
|
|
147
|
-
- @type {Object}
|
|
148
|
-
- @description
|
|
149
|
-
- A hash containing all the modules that have been loaded into the
|
|
150
|
-
- $injector.
|
|
151
|
-
-
|
|
152
|
-
- You can use this property to find out information about a module via the
|
|
153
|
-
- {@link angular.Module#info `myModule.info(...)`} method.
|
|
154
|
-
-
|
|
155
|
-
- For example:
|
|
156
|
-
-
|
|
157
|
-
- ```
|
|
158
|
-
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
- var info = $injector.modules[].info();
|
|
162
|
-
- ```
|
|
163
|
-
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
-
|
|
167
|
-
- \*\*Do not use this property to attempt to modify the modules after the application
|
|
168
|
-
- has been bootstrapped.\*\*
|
|
169
|
-
\*/
|
|
170
|
-
|
|
171
|
-
/\*\*
|
|
172
|
-
|
|
173
|
-
- @ngdoc method
|
|
174
|
-
- @name $injector#get
|
|
175
|
-
-
|
|
176
|
-
- @description
|
|
177
|
-
- Return an instance of the service.
|
|
178
|
-
-
|
|
179
|
-
- @param {string} name The name of the instance to retrieve.
|
|
180
|
-
- @param {string=} caller An optional string to provide the origin of the function call for error messages.
|
|
181
|
-
- @return {_} The instance.
|
|
182
|
-
_/
|
|
183
|
-
|
|
184
|
-
/\*\*
|
|
185
|
-
|
|
186
|
-
- @ngdoc method
|
|
187
|
-
- @name $injector#invoke
|
|
188
|
-
-
|
|
189
|
-
- @description
|
|
190
|
-
- Invoke the method and supply the method arguments from the `$injector`.
|
|
191
|
-
-
|
|
192
|
-
- @param {Function|Array.<string|Function>} fn The injectable function to invoke. Function parameters are
|
|
193
|
-
- injected according to the {@link guide/di $inject Annotation} rules.
|
|
194
|
-
- @param {Object=} self The `this` for the invoked method.
|
|
195
|
-
- @param {Object=} locals Optional object. If preset then any argument names are read from this
|
|
196
|
-
- object first, before the `$injector` is consulted.
|
|
197
|
-
- @returns {_} the value returned by the invoked `fn` function.
|
|
198
|
-
_/
|
|
199
|
-
|
|
200
|
-
/\*\*
|
|
201
|
-
|
|
202
|
-
- @ngdoc method
|
|
203
|
-
- @name $injector#has
|
|
204
|
-
-
|
|
205
|
-
- @description
|
|
206
|
-
- Allows the user to query if the particular service exists.
|
|
207
|
-
-
|
|
208
|
-
- @param {string} name Name of the service to query.
|
|
209
|
-
- @returns {boolean} `true` if injector has given service.
|
|
210
|
-
\*/
|
|
211
|
-
|
|
212
|
-
/\*\*
|
|
213
|
-
|
|
214
|
-
- @ngdoc method
|
|
215
|
-
- @name $injector#instantiate
|
|
216
|
-
- @description
|
|
217
|
-
- Create a new instance of JS type. The method takes a constructor function, invokes the new
|
|
218
|
-
- operator, and supplies all of the arguments to the constructor function as specified by the
|
|
219
|
-
- constructor annotation.
|
|
220
|
-
-
|
|
221
|
-
- @param {Function} Type Annotated constructor function.
|
|
222
|
-
- @param {Object=} locals Optional object. If preset then any argument names are read from this
|
|
223
|
-
- object first, before the `$injector` is consulted.
|
|
224
|
-
- @returns {Object} new instance of `Type`.
|
|
225
|
-
\*/
|
|
226
|
-
|
|
227
|
-
/\*\*
|
|
228
|
-
|
|
229
|
-
- @ngdoc method
|
|
230
|
-
- @name $injector#annotate
|
|
231
|
-
-
|
|
232
|
-
- @description
|
|
233
|
-
- Returns an array of service names which the function is requesting for injection. This API is
|
|
234
|
-
- used by the injector to determine which services need to be injected into the function when the
|
|
235
|
-
- function is invoked. There are three ways in which the function can be annotated with the needed
|
|
236
|
-
- dependencies.
|
|
237
|
-
-
|
|
238
|
-
- #### Argument names
|
|
239
|
-
-
|
|
240
|
-
- The simplest form is to extract the dependencies from the arguments of the function. This is done
|
|
241
|
-
- by converting the function into a string using `toString()` method and extracting the argument
|
|
242
|
-
- names.
|
|
243
|
-
- ```js
|
|
244
|
-
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
- // Given
|
|
248
|
-
- function MyController($scope, $route) {
|
|
249
|
-
- // ...
|
|
250
|
-
- }
|
|
251
|
-
-
|
|
252
|
-
- // Then
|
|
253
|
-
- expect(annotate(MyController)).toEqual(['$scope', '$route']);
|
|
254
|
-
- ```
|
|
255
|
-
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
-
|
|
259
|
-
- You can disallow this method by using strict injection mode.
|
|
260
|
-
-
|
|
261
|
-
- This method does not work with code minification / obfuscation. For this reason the following
|
|
262
|
-
- annotation strategies are supported.
|
|
263
|
-
-
|
|
264
|
-
- #### The `$inject` property
|
|
265
|
-
-
|
|
266
|
-
- If a function has an `$inject` property and its value is an array of strings, then the strings
|
|
267
|
-
- represent names of services to be injected into the function.
|
|
268
|
-
- ```js
|
|
269
|
-
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
- // Given
|
|
273
|
-
- var MyController = function(obfuscatedScope, obfuscatedRoute) {
|
|
274
|
-
- // ...
|
|
275
|
-
- }
|
|
276
|
-
- // Define function dependencies
|
|
277
|
-
- MyController['$inject'] = ['$scope', '$route'];
|
|
278
|
-
-
|
|
279
|
-
- // Then
|
|
280
|
-
- expect(annotate(MyController)).toEqual(['$scope', '$route']);
|
|
281
|
-
- ```
|
|
282
|
-
|
|
283
|
-
```
|
|
284
|
-
|
|
285
|
-
-
|
|
286
|
-
- #### The array notation
|
|
287
|
-
-
|
|
288
|
-
- It is often desirable to inline Injected functions and that's when setting the `$inject` property
|
|
289
|
-
- is very inconvenient. In these situations using the array notation to specify the dependencies in
|
|
290
|
-
- a way that survives minification is a better choice:
|
|
291
|
-
-
|
|
292
|
-
- ```js
|
|
293
|
-
|
|
294
|
-
```
|
|
295
|
-
|
|
296
|
-
- // We wish to write this (not minification / obfuscation safe)
|
|
297
|
-
- injector.invoke(function($compile, $rootScope) {
|
|
298
|
-
- // ...
|
|
299
|
-
- });
|
|
300
|
-
-
|
|
301
|
-
- // We are forced to write break inlining
|
|
302
|
-
- var tmpFn = function(obfuscatedCompile, obfuscatedRootScope) {
|
|
303
|
-
- // ...
|
|
304
|
-
- };
|
|
305
|
-
- tmpFn.$inject = ['$compile', '$rootScope'];
|
|
306
|
-
- injector.invoke(tmpFn);
|
|
307
|
-
-
|
|
308
|
-
- // To better support inline function the inline annotation is supported
|
|
309
|
-
- injector.invoke(['$compile', '$rootScope', function(obfCompile, obfRootScope) {
|
|
310
|
-
- // ...
|
|
311
|
-
- }]);
|
|
312
|
-
-
|
|
313
|
-
- // Therefore
|
|
314
|
-
- expect(annotate(
|
|
315
|
-
- ['$compile', '$rootScope', function(obfus_$compile, obfus_$rootScope) {}])
|
|
316
|
-
- ).toEqual(['$compile', '$rootScope']);
|
|
317
|
-
- ```
|
|
318
|
-
|
|
319
|
-
```
|
|
320
|
-
|
|
321
|
-
-
|
|
322
|
-
- @param {Function|Array.<string|Function>} fn Function for which dependent service names need to
|
|
323
|
-
- be retrieved as described above.
|
|
324
|
-
-
|
|
325
|
-
- @param {boolean=} [strictDi=false] Disallow argument name annotation inference.
|
|
326
|
-
-
|
|
327
|
-
- @returns {Array.<string>} The names of the services which the function requires.
|
|
328
|
-
\*/
|
|
329
|
-
/\*\*
|
|
330
|
-
- @ngdoc method
|
|
331
|
-
- @name $injector#loadNewModules
|
|
332
|
-
-
|
|
333
|
-
- @description
|
|
334
|
-
-
|
|
335
|
-
- Add the specified modules to the current injector.
|
|
336
|
-
-
|
|
337
|
-
- This method will add each of the injectables to the injector and execute all of the config and run
|
|
338
|
-
- blocks for each module passed to the method.
|
|
339
|
-
-
|
|
340
|
-
- If a module has already been loaded into the injector then it will not be loaded again.
|
|
341
|
-
-
|
|
342
|
-
- - The application developer is responsible for loading the code containing the modules; and for
|
|
343
|
-
- ensuring that lazy scripts are not downloaded and executed more often that desired.
|
|
344
|
-
- - Previously compiled HTML will not be affected by newly loaded directives, filters and components.
|
|
345
|
-
- - Modules cannot be unloaded.
|
|
346
|
-
-
|
|
347
|
-
- You can use {@link $injector#modules `$injector.modules`} to check whether a module has been loaded
|
|
348
|
-
- into the injector, which may indicate whether the script has been executed already.
|
|
349
|
-
-
|
|
350
|
-
- @example
|
|
351
|
-
- Here is an example of loading a bundle of modules, with a utility method called `getScript`:
|
|
352
|
-
-
|
|
353
|
-
- ```javascript
|
|
354
|
-
|
|
355
|
-
```
|
|
356
|
-
|
|
357
|
-
- app.factory('loadModule', function($injector) {
|
|
358
|
-
- return function loadModule(moduleName, bundleUrl) {
|
|
359
|
-
- return getScript(bundleUrl).then(function() { $injector.loadNewModules([moduleName]); });
|
|
360
|
-
- };
|
|
361
|
-
- })
|
|
362
|
-
- ```
|
|
363
|
-
|
|
364
|
-
```
|
|
365
|
-
|
|
366
|
-
-
|
|
367
|
-
- @param {Array<String|Function|Array>=} mods an array of modules to load into the application.
|
|
368
|
-
- Each item in the array should be the name of a predefined module or a (DI annotated)
|
|
369
|
-
- function that will be invoked by the injector as a `config` block.
|
|
370
|
-
- See: {@link angular.module modules}
|
|
371
|
-
\*/
|
|
372
|
-
|
|
373
|
-
/\*\*
|
|
374
|
-
|
|
375
|
-
- @ngdoc service
|
|
376
|
-
- @name $provide
|
|
377
|
-
-
|
|
378
|
-
- @description
|
|
379
|
-
-
|
|
380
|
-
- The {@link auto.$provide $provide} service has a number of methods for registering components
|
|
381
|
-
- with the {@link auto.$injector $injector}. Many of these functions are also exposed on
|
|
382
|
-
- {@link angular.Module}.
|
|
383
|
-
-
|
|
384
|
-
- An AngularTS **service** is a singleton object created by a **service factory**. These \*\*service
|
|
385
|
-
- factories** are functions which, in turn, are created by a **service provider\*\*.
|
|
386
|
-
- The **service providers** are constructor functions. When instantiated they must contain a
|
|
387
|
-
- property called `$get`, which holds the **service factory** function.
|
|
388
|
-
-
|
|
389
|
-
- When you request a service, the {@link auto.$injector $injector} is responsible for finding the
|
|
390
|
-
- correct **service provider**, instantiating it and then calling its `$get` **service factory**
|
|
391
|
-
- function to get the instance of the **service**.
|
|
392
|
-
-
|
|
393
|
-
- Often services have no configuration options and there is no need to add methods to the service
|
|
394
|
-
- provider. The provider will be no more than a constructor function with a `$get` property. For
|
|
395
|
-
- these cases the {@link auto.$provide $provide} service has additional helper methods to register
|
|
396
|
-
- services without specifying a provider.
|
|
397
|
-
-
|
|
398
|
-
- - {@link auto.$provide#provider provider(name, provider)} - registers a **service provider** with the
|
|
399
|
-
- {@link auto.$injector $injector}
|
|
400
|
-
- - {@link auto.$provide#constant constant(name, obj)} - registers a value/object that can be accessed by
|
|
401
|
-
- providers and services.
|
|
402
|
-
- - {@link auto.$provide#value value(name, obj)} - registers a value/object that can only be accessed by
|
|
403
|
-
- services, not providers.
|
|
404
|
-
- - {@link auto.$provide#factory factory(name, fn)} - registers a service **factory function**
|
|
405
|
-
- that will be wrapped in a **service provider** object, whose `$get` property will contain the
|
|
406
|
-
- given factory function.
|
|
407
|
-
- - {@link auto.$provide#service service(name, Fn)} - registers a **constructor function**
|
|
408
|
-
- that will be wrapped in a **service provider** object, whose `$get` property will instantiate
|
|
409
|
-
- a new object using the given constructor function.
|
|
410
|
-
- - {@link auto.$provide#decorator decorator(name, decorFn)} - registers a **decorator function** that
|
|
411
|
-
- will be able to modify or replace the implementation of another service.
|
|
412
|
-
-
|
|
413
|
-
- See the individual methods for more information and examples.
|
|
414
|
-
\*/
|
|
415
|
-
|
|
416
|
-
/\*\*
|
|
417
|
-
|
|
418
|
-
- @ngdoc method
|
|
419
|
-
- @name $provide#provider
|
|
420
|
-
- @description
|
|
421
|
-
-
|
|
422
|
-
- Register a **provider function** with the {@link auto.$injector $injector}. Provider functions
|
|
423
|
-
- are constructor functions, whose instances are responsible for "providing" a factory for a
|
|
424
|
-
- service.
|
|
425
|
-
-
|
|
426
|
-
- Service provider names start with the name of the service they provide followed by `Provider`.
|
|
427
|
-
- For example, the {@link ng.$log $log} service has a provider called
|
|
428
|
-
- {@link ng.$logProvider $logProvider}.
|
|
429
|
-
-
|
|
430
|
-
- Service provider objects can have additional methods which allow configuration of the provider
|
|
431
|
-
- and its service. Importantly, you can configure what kind of service is created by the `$get`
|
|
432
|
-
- method, or how that service will act. For example, the {@link ng.$logProvider $logProvider} has a
|
|
433
|
-
- method {@link ng.$logProvider#debugEnabled debugEnabled}
|
|
434
|
-
- which lets you specify whether the {@link ng.$log $log} service will log debug messages to the
|
|
435
|
-
- console or not.
|
|
436
|
-
-
|
|
437
|
-
- It is possible to inject other providers into the provider function,
|
|
438
|
-
- but the injected provider must have been defined before the one that requires it.
|
|
439
|
-
-
|
|
440
|
-
- @param {string} name The name of the instance. NOTE: the provider will be available under `name +
|
|
441
|
-
'Provider'` key.
|
|
442
|
-
- @param {(Object|function())} provider If the provider is:
|
|
443
|
-
-
|
|
444
|
-
- - `Object`: then it should have a `$get` method. The `$get` method will be invoked using
|
|
445
|
-
- {@link auto.$injector#invoke $injector.invoke()} when an instance needs to be created.
|
|
446
|
-
- - `Constructor`: a new instance of the provider will be created using
|
|
447
|
-
- {@link auto.$injector#instantiate $injector.instantiate()}, then treated as `object`.
|
|
448
|
-
-
|
|
449
|
-
- @returns {Object} registered provider instance
|
|
450
|
-
|
|
451
|
-
- @example
|
|
452
|
-
-
|
|
453
|
-
- The following example shows how to create a simple event tracking service and register it using
|
|
454
|
-
- {@link auto.$provide#provider $provide.provider()}.
|
|
455
|
-
-
|
|
456
|
-
- ```js
|
|
457
|
-
|
|
458
|
-
```
|
|
459
|
-
|
|
460
|
-
- // Define the eventTracker provider
|
|
461
|
-
- function EventTrackerProvider() {
|
|
462
|
-
- var trackingUrl = '/track';
|
|
463
|
-
-
|
|
464
|
-
- // A provider method for configuring where the tracked events should been saved
|
|
465
|
-
- this.setTrackingUrl = function(url) {
|
|
466
|
-
- trackingUrl = url;
|
|
467
|
-
- };
|
|
468
|
-
-
|
|
469
|
-
- // The service factory function
|
|
470
|
-
- this.$get = ['$http', function($http) {
|
|
471
|
-
- var trackedEvents = {};
|
|
472
|
-
- return {
|
|
473
|
-
- // Call this to track an event
|
|
474
|
-
- event: function(event) {
|
|
475
|
-
- var count = trackedEvents[event] || 0;
|
|
476
|
-
- count += 1;
|
|
477
|
-
- trackedEvents[event] = count;
|
|
478
|
-
- return count;
|
|
479
|
-
- },
|
|
480
|
-
- // Call this to save the tracked events to the trackingUrl
|
|
481
|
-
- save: function() {
|
|
482
|
-
- $http.post(trackingUrl, trackedEvents);
|
|
483
|
-
- }
|
|
484
|
-
- };
|
|
485
|
-
- }];
|
|
486
|
-
- }
|
|
487
|
-
-
|
|
488
|
-
- describe('eventTracker', function() {
|
|
489
|
-
- var postSpy;
|
|
490
|
-
-
|
|
491
|
-
- beforeEach(module(function($provide) {
|
|
492
|
-
- // Register the eventTracker provider
|
|
493
|
-
- $provide.provider('eventTracker', EventTrackerProvider);
|
|
494
|
-
- }));
|
|
495
|
-
-
|
|
496
|
-
- beforeEach(module(function(eventTrackerProvider) {
|
|
497
|
-
- // Configure eventTracker provider
|
|
498
|
-
- eventTrackerProvider.setTrackingUrl('/custom-track');
|
|
499
|
-
- }));
|
|
500
|
-
-
|
|
501
|
-
- it('tracks events', inject(function(eventTracker) {
|
|
502
|
-
- expect(eventTracker.event('login')).toEqual(1);
|
|
503
|
-
- expect(eventTracker.event('login')).toEqual(2);
|
|
504
|
-
- }));
|
|
505
|
-
-
|
|
506
|
-
- it('saves to the tracking url', inject(function(eventTracker, $http) {
|
|
507
|
-
- postSpy = spyOn($http, 'post');
|
|
508
|
-
- eventTracker.event('login');
|
|
509
|
-
- eventTracker.save();
|
|
510
|
-
- expect(postSpy).toHaveBeenCalled();
|
|
511
|
-
- expect(postSpy.mostRecentCall.args[0]).not.toEqual('/track');
|
|
512
|
-
- expect(postSpy.mostRecentCall.args[0]).toEqual('/custom-track');
|
|
513
|
-
- expect(postSpy.mostRecentCall.args[1]).toEqual({ 'login': 1 });
|
|
514
|
-
- }));
|
|
515
|
-
- });
|
|
516
|
-
- ```
|
|
517
|
-
*/
|
|
518
|
-
```
|
|
519
|
-
|
|
520
|
-
/\*\*
|
|
521
|
-
|
|
522
|
-
- @ngdoc method
|
|
523
|
-
- @name $provide#factory
|
|
524
|
-
- @description
|
|
525
|
-
-
|
|
526
|
-
- Register a **service factory**, which will be called to return the service instance.
|
|
527
|
-
- This is short for registering a service where its provider consists of only a `$get` property,
|
|
528
|
-
- which is the given service factory function.
|
|
529
|
-
- You should use {@link auto.$provide#factory $provide.factory(getFn)} if you do not need to
|
|
530
|
-
- configure your service in a provider.
|
|
531
|
-
-
|
|
532
|
-
- @param {string} name The name of the instance.
|
|
533
|
-
- @param {Function|Array.<string|Function>} $getFn The injectable $getFn for the instance creation.
|
|
534
|
-
- Internally this is a short hand for `$provide.provider(name, {$get: $getFn})`.
|
|
535
|
-
- @returns {Object} registered provider instance
|
|
536
|
-
-
|
|
537
|
-
- @example
|
|
538
|
-
- Here is an example of registering a service
|
|
539
|
-
- ```js
|
|
540
|
-
|
|
541
|
-
```
|
|
542
|
-
|
|
543
|
-
- $provide.factory('ping', ['$http', function($http) {
|
|
544
|
-
- return function ping() {
|
|
545
|
-
- return $http.send('/ping');
|
|
546
|
-
- };
|
|
547
|
-
- }]);
|
|
548
|
-
- ```
|
|
549
|
-
|
|
550
|
-
```
|
|
551
|
-
|
|
552
|
-
- You would then inject and use this service like this:
|
|
553
|
-
- ```js
|
|
554
|
-
|
|
555
|
-
```
|
|
556
|
-
|
|
557
|
-
- someModule.controller('Ctrl', ['ping', function(ping) {
|
|
558
|
-
- ping();
|
|
559
|
-
- }]);
|
|
560
|
-
- ```
|
|
561
|
-
*/
|
|
562
|
-
```
|
|
563
|
-
|
|
564
|
-
/\*\*
|
|
565
|
-
|
|
566
|
-
- @ngdoc method
|
|
567
|
-
- @name $provide#service
|
|
568
|
-
- @description
|
|
569
|
-
-
|
|
570
|
-
- Register a **service constructor**, which will be invoked with `new` to create the service
|
|
571
|
-
- instance.
|
|
572
|
-
- This is short for registering a service where its provider's `$get` property is a factory
|
|
573
|
-
- function that returns an instance instantiated by the injector from the service constructor
|
|
574
|
-
- function.
|
|
575
|
-
-
|
|
576
|
-
- Internally it looks a bit like this:
|
|
577
|
-
-
|
|
578
|
-
- ```
|
|
579
|
-
|
|
580
|
-
```
|
|
581
|
-
|
|
582
|
-
- {
|
|
583
|
-
- $get: function() {
|
|
584
|
-
- return $injector.instantiate(constructor);
|
|
585
|
-
- }
|
|
586
|
-
- }
|
|
587
|
-
- ```
|
|
588
|
-
|
|
589
|
-
```
|
|
590
|
-
|
|
591
|
-
-
|
|
592
|
-
-
|
|
593
|
-
- You should use {@link auto.$provide#service $provide.service(class)} if you define your service
|
|
594
|
-
- as a type/class.
|
|
595
|
-
-
|
|
596
|
-
- @param {string} name The name of the instance.
|
|
597
|
-
- @param {Function|Array.<string|Function>} constructor An injectable class (constructor function)
|
|
598
|
-
- that will be instantiated.
|
|
599
|
-
- @returns {Object} registered provider instance
|
|
600
|
-
-
|
|
601
|
-
- @example
|
|
602
|
-
- Here is an example of registering a service using
|
|
603
|
-
- {@link auto.$provide#service $provide.service(class)}.
|
|
604
|
-
- ```js
|
|
605
|
-
|
|
606
|
-
```
|
|
607
|
-
|
|
608
|
-
- var Ping = function($http) {
|
|
609
|
-
- this.$http = $http;
|
|
610
|
-
- };
|
|
611
|
-
-
|
|
612
|
-
- Ping.$inject = ['$http'];
|
|
613
|
-
-
|
|
614
|
-
- Ping.prototype.send = function() {
|
|
615
|
-
- return this.$http.get('/ping');
|
|
616
|
-
- };
|
|
617
|
-
- $provide.service('ping', Ping);
|
|
618
|
-
- ```
|
|
619
|
-
|
|
620
|
-
```
|
|
621
|
-
|
|
622
|
-
- You would then inject and use this service like this:
|
|
623
|
-
- ```js
|
|
624
|
-
|
|
625
|
-
```
|
|
626
|
-
|
|
627
|
-
- someModule.controller('Ctrl', ['ping', function(ping) {
|
|
628
|
-
- ping.send();
|
|
629
|
-
- }]);
|
|
630
|
-
- ```
|
|
631
|
-
*/
|
|
632
|
-
```
|
|
633
|
-
|
|
634
|
-
/\*\*
|
|
635
|
-
|
|
636
|
-
- @ngdoc method
|
|
637
|
-
- @name $provide#value
|
|
638
|
-
- @description
|
|
639
|
-
-
|
|
640
|
-
- Register a **value service** with the {@link auto.$injector $injector}, such as a string, a
|
|
641
|
-
- number, an array, an object or a function. This is short for registering a service where its
|
|
642
|
-
- provider's `$get` property is a factory function that takes no arguments and returns the \*\*value
|
|
643
|
-
- service\*\*. That also means it is not possible to inject other services into a value service.
|
|
644
|
-
-
|
|
645
|
-
- Value services are similar to constant services, except that they cannot be injected into a
|
|
646
|
-
- module configuration function (see {@link angular.Module#config}) but they can be overridden by
|
|
647
|
-
- an AngularTS {@link auto.$provide#decorator decorator}.
|
|
648
|
-
-
|
|
649
|
-
- @param {string} name The name of the instance.
|
|
650
|
-
- @param {\*} value The value.
|
|
651
|
-
- @returns {Object} registered provider instance
|
|
652
|
-
-
|
|
653
|
-
- @example
|
|
654
|
-
- Here are some examples of creating value services.
|
|
655
|
-
- ```js
|
|
656
|
-
|
|
657
|
-
```
|
|
658
|
-
|
|
659
|
-
- $provide.value('ADMIN_USER', 'admin');
|
|
660
|
-
-
|
|
661
|
-
- $provide.value('RoleLookup', { admin: 0, writer: 1, reader: 2 });
|
|
662
|
-
-
|
|
663
|
-
- $provide.value('halfOf', function(value) {
|
|
664
|
-
- return value / 2;
|
|
665
|
-
- });
|
|
666
|
-
- ```
|
|
667
|
-
*/
|
|
668
|
-
```
|
|
669
|
-
|
|
670
|
-
/\*\*
|
|
671
|
-
|
|
672
|
-
- @ngdoc method
|
|
673
|
-
- @name $provide#constant
|
|
674
|
-
- @description
|
|
675
|
-
-
|
|
676
|
-
- Register a **constant service** with the {@link auto.$injector $injector}, such as a string,
|
|
677
|
-
- a number, an array, an object or a function. Like the {@link auto.$provide#value value}, it is not
|
|
678
|
-
- possible to inject other services into a constant.
|
|
679
|
-
-
|
|
680
|
-
- But unlike {@link auto.$provide#value value}, a constant can be
|
|
681
|
-
- injected into a module configuration function (see {@link angular.Module#config}) and it cannot
|
|
682
|
-
- be overridden by an AngularTS {@link auto.$provide#decorator decorator}.
|
|
683
|
-
-
|
|
684
|
-
- @param {string} name The name of the constant.
|
|
685
|
-
- @param {\*} value The constant value.
|
|
686
|
-
- @returns {Object} registered instance
|
|
687
|
-
-
|
|
688
|
-
- @example
|
|
689
|
-
- Here a some examples of creating constants:
|
|
690
|
-
- ```js
|
|
691
|
-
|
|
692
|
-
```
|
|
693
|
-
|
|
694
|
-
- $provide.constant('SHARD_HEIGHT', 306);
|
|
695
|
-
-
|
|
696
|
-
- $provide.constant('MY_COLOURS', ['red', 'blue', 'grey']);
|
|
697
|
-
-
|
|
698
|
-
- $provide.constant('double', function(value) {
|
|
699
|
-
- return value * 2;
|
|
700
|
-
- });
|
|
701
|
-
- ```
|
|
702
|
-
*/
|
|
703
|
-
```
|
|
704
|
-
|
|
705
|
-
/\*\*
|
|
706
|
-
|
|
707
|
-
- @ngdoc method
|
|
708
|
-
- @name $provide#decorator
|
|
709
|
-
- @description
|
|
710
|
-
-
|
|
711
|
-
- Register a **decorator function** with the {@link auto.$injector $injector}. A decorator function
|
|
712
|
-
- intercepts the creation of a service, allowing it to override or modify the behavior of the
|
|
713
|
-
- service. The return value of the decorator function may be the original service, or a new service
|
|
714
|
-
- that replaces (or wraps and delegates to) the original service.
|
|
715
|
-
-
|
|
716
|
-
- You can find out more about using decorators in the {@link guide/decorators} guide.
|
|
717
|
-
-
|
|
718
|
-
- @param {string} name The name of the service to decorate.
|
|
719
|
-
- @param {Function|Array.<string|Function>} decorator This function will be invoked when the service needs to be
|
|
720
|
-
- provided and should return the decorated service instance. The function is called using
|
|
721
|
-
- the {@link auto.$injector#invoke injector.invoke} method and is therefore fully injectable.
|
|
722
|
-
- Local injection arguments:
|
|
723
|
-
-
|
|
724
|
-
- - `$delegate` - The original service instance, which can be replaced, monkey patched, configured,
|
|
725
|
-
- decorated or delegated to.
|
|
726
|
-
-
|
|
727
|
-
- @example
|
|
728
|
-
- Here we decorate the {@link ng.$log $log} service to convert warnings to errors by intercepting
|
|
729
|
-
- calls to {@link ng.$log#error $log.warn()}.
|
|
730
|
-
- ```js
|
|
731
|
-
|
|
732
|
-
```
|
|
733
|
-
|
|
734
|
-
- $provide.decorator('$log', ['$delegate', function($delegate) {
|
|
735
|
-
- $delegate.warn = $delegate.error;
|
|
736
|
-
- return $delegate;
|
|
737
|
-
- }]);
|
|
738
|
-
- ```
|
|
739
|
-
*/
|
|
740
|
-
```
|