|
|
@@ -347,18 +347,20 @@ function annotate(fn, strictDi, name) { |
|
|
* these cases the {@link auto.$provide $provide} service has additional helper methods to register |
|
|
* services without specifying a provider. |
|
|
* |
|
|
* * {@link auto.$provide#provider provider(provider)} - registers a **service provider** with the |
|
|
* * {@link auto.$provide#provider provider(name, provider)} - registers a **service provider** with the |
|
|
* {@link auto.$injector $injector} |
|
|
* * {@link auto.$provide#constant constant(obj)} - registers a value/object that can be accessed by |
|
|
* * {@link auto.$provide#constant constant(name, obj)} - registers a value/object that can be accessed by |
|
|
* providers and services. |
|
|
* * {@link auto.$provide#value value(obj)} - registers a value/object that can only be accessed by |
|
|
* * {@link auto.$provide#value value(name, obj)} - registers a value/object that can only be accessed by |
|
|
* services, not providers. |
|
|
* * {@link auto.$provide#factory factory(fn)} - registers a service **factory function**, `fn`, |
|
|
* * {@link auto.$provide#factory factory(name, fn)} - registers a service **factory function** |
|
|
* that will be wrapped in a **service provider** object, whose `$get` property will contain the |
|
|
* given factory function. |
|
|
* * {@link auto.$provide#service service(class)} - registers a **constructor function**, `class` |
|
|
* * {@link auto.$provide#service service(name, Fn)} - registers a **constructor function** |
|
|
* that will be wrapped in a **service provider** object, whose `$get` property will instantiate |
|
|
* a new object using the given constructor function. |
|
|
* * {@link auto.$provide#decorator decorator(name, decorFn)} - registers a **decorator function** that |
|
|
* will be able to modify or replace the implementation of another service. |
|
|
* |
|
|
* See the individual methods for more information and examples. |
|
|
*/ |
|
|
@@ -615,18 +617,20 @@ function annotate(fn, strictDi, name) { |
|
|
* @name $provide#decorator |
|
|
* @description |
|
|
* |
|
|
* Register a **service decorator** with the {@link auto.$injector $injector}. A service decorator |
|
|
* Register a **decorator function** with the {@link auto.$injector $injector}. A decorator function |
|
|
* intercepts the creation of a service, allowing it to override or modify the behavior of the |
|
|
* service. The object returned by the decorator may be the original service, or a new service |
|
|
* object which replaces or wraps and delegates to the original service. |
|
|
* service. The return value of the decorator function may be the original service, or a new service |
|
|
* that replaces (or wraps and delegates to) the original service. |
|
|
* |
|
|
* You can find out more about using decorators in the {@link guide/decorators} guide. |
|
|
* |
|
|
* @param {string} name The name of the service to decorate. |
|
|
* @param {Function|Array.<string|Function>} decorator This function will be invoked when the service needs to be |
|
|
* instantiated and should return the decorated service instance. The function is called using |
|
|
* provided and should return the decorated service instance. The function is called using |
|
|
* the {@link auto.$injector#invoke injector.invoke} method and is therefore fully injectable. |
|
|
* Local injection arguments: |
|
|
* |
|
|
* * `$delegate` - The original service instance, which can be monkey patched, configured, |
|
|
* * `$delegate` - The original service instance, which can be replaced, monkey patched, configured, |
|
|
* decorated or delegated to. |
|
|
* |
|
|
* @example |
|
|
|