diff options
| author | Misko Hevery | 2012-02-22 13:28:42 -0800 |
|---|---|---|
| committer | Misko Hevery | 2012-02-22 13:28:42 -0800 |
| commit | 80edcadb1dd418dcf5adf85704c6693940c8bb28 (patch) | |
| tree | 5741696b48468a3387b6763559bff6b2be0a150b /src/Injector.js | |
| parent | c27a56f4da9bf89e471ac6597c135e2f19814f17 (diff) | |
| download | angular.js-80edcadb1dd418dcf5adf85704c6693940c8bb28.tar.bz2 | |
feat($provide): added constant
Diffstat (limited to 'src/Injector.js')
| -rw-r--r-- | src/Injector.js | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/src/Injector.js b/src/Injector.js index c24cbb51..c45e7dd0 100644 --- a/src/Injector.js +++ b/src/Injector.js @@ -246,14 +246,29 @@ function inferInjectionArgs(fn) { * A short hand for configuring services if the `$get` method is a constant. * * @param {string} name The name of the instance. NOTE: the provider will be available under `name + 'Provide'` key. - * @param {function()} value The $getFn for the instance creation. Internally this is a short hand for - * `$provide.service(name, {$get:function(){ return value; }})`. + * @param {*} value The value. * @returns {Object} registered provider instance */ /** * @ngdoc method + * @name angular.module.AUTO.$provide#constant + * @methodOf angular.module.AUTO.$provide + * @description + * + * A constant value, but unlike {@link angular.module.AUTO.$provide#value value} it can be injected + * into configuration function (other modules) and it is not interceptable by + * {@link angular.module.AUTO.$provide#decorator decorator}. + * + * @param {string} name The name of the constant. + * @param {*} value The constant value. + * @returns {Object} registered instance + */ + + +/** + * @ngdoc method * @name angular.module.AUTO.$provide#decorator * @methodOf angular.module.AUTO.$provide * @description @@ -282,6 +297,7 @@ function createInjector(modulesToLoad) { service: supportObject(service), factory: supportObject(factory), value: supportObject(value), + constant: supportObject(constant), decorator: decorator } }, @@ -328,6 +344,11 @@ function createInjector(modulesToLoad) { function value(name, value) { return factory(name, valueFn(value)); } + function constant(name, value) { + providerCache[name] = value; + instanceCache[name] = value; + } + function decorator(serviceName, decorFn) { var origProvider = providerInjector.get(serviceName + providerSuffix), orig$get = origProvider.$get; |
