refactor($provide) Rename service -> provider

It registers a provider class, so this makes more sense.

Breaks Rename $provide.service -> $provide.provider
This commit is contained in:
Vojta Jina 2012-03-08 15:59:32 -08:00
parent e0c9551fd7
commit 00d4427388
9 changed files with 31 additions and 31 deletions

View file

@ -86,7 +86,7 @@ angular.module('ngdocs.directives', [], function($compileProvider) {
var modules = [ var modules = [
function($provide) { function($provide) {
$provide.value('$browser', $browser); $provide.value('$browser', $browser);
$provide.service('$location', function() { $provide.provider('$location', function() {
this.$get = function() { this.$get = function() {
return $location; return $location;
}; };

View file

@ -55,12 +55,12 @@ function publishExternalAPI(angular){
try { try {
angularModule('ngLocale'); angularModule('ngLocale');
} catch (e) { } catch (e) {
angularModule('ngLocale', []).service('$locale', $LocaleProvider); angularModule('ngLocale', []).provider('$locale', $LocaleProvider);
} }
angularModule('ng', ['ngLocale'], ['$provide', angularModule('ng', ['ngLocale'], ['$provide',
function ngModule($provide) { function ngModule($provide) {
$provide.service('$compile', $CompileProvider). $provide.provider('$compile', $CompileProvider).
directive({ directive({
a: htmlAnchorDirective, a: htmlAnchorDirective,
input: inputDirective, input: inputDirective,
@ -105,7 +105,7 @@ function publishExternalAPI(angular){
}). }).
directive(ngAttributeAliasDirectives). directive(ngAttributeAliasDirectives).
directive(ngEventDirectives); directive(ngEventDirectives);
$provide.service({ $provide.provider({
$anchorScroll: $AnchorScrollProvider, $anchorScroll: $AnchorScrollProvider,
$browser: $BrowserProvider, $browser: $BrowserProvider,
$cacheFactory: $CacheFactoryProvider, $cacheFactory: $CacheFactoryProvider,

View file

@ -183,7 +183,7 @@ function inferInjectionArgs(fn) {
* describe('Greeter', function(){ * describe('Greeter', function(){
* *
* beforeEach(module(function($provide) { * beforeEach(module(function($provide) {
* $provide.service('greet', GreetProvider); * $provide.provider('greet', GreetProvider);
* }); * });
* *
* it('should greet', inject(function(greet) { * it('should greet', inject(function(greet) {
@ -205,7 +205,7 @@ function inferInjectionArgs(fn) {
/** /**
* @ngdoc method * @ngdoc method
* @name angular.module.AUTO.$provide#service * @name angular.module.AUTO.$provide#provider
* @methodOf angular.module.AUTO.$provide * @methodOf angular.module.AUTO.$provide
* @description * @description
* *
@ -232,7 +232,7 @@ function inferInjectionArgs(fn) {
* *
* @param {string} name The name of the instance. NOTE: the provider will be available under `name + 'Provider'` key. * @param {string} name The name of the instance. NOTE: the provider will be available under `name + 'Provider'` key.
* @param {function()} $getFn The $getFn for the instance creation. Internally this is a short hand for * @param {function()} $getFn The $getFn for the instance creation. Internally this is a short hand for
* `$provide.service(name, {$get:$getFn})`. * `$provide.provider(name, {$get: $getFn})`.
* @returns {Object} registered provider instance * @returns {Object} registered provider instance
*/ */
@ -294,7 +294,7 @@ function createInjector(modulesToLoad) {
loadedModules = new HashMap(), loadedModules = new HashMap(),
providerCache = { providerCache = {
$provide: { $provide: {
service: supportObject(service), provider: supportObject(provider),
factory: supportObject(factory), factory: supportObject(factory),
value: supportObject(value), value: supportObject(value),
constant: supportObject(constant), constant: supportObject(constant),
@ -330,17 +330,17 @@ function createInjector(modulesToLoad) {
} }
} }
function service(name, provider) { function provider(name, provider_) {
if (isFunction(provider)){ if (isFunction(provider_)) {
provider = providerInjector.instantiate(provider); provider_ = providerInjector.instantiate(provider_);
} }
if (!provider.$get) { if (!provider_.$get) {
throw Error('Provider ' + name + ' must define $get factory method.'); throw Error('Provider ' + name + ' must define $get factory method.');
} }
return providerCache[name + providerSuffix] = provider; return providerCache[name + providerSuffix] = provider_;
} }
function factory(name, factoryFn) { return service(name, { $get:factoryFn }); } function factory(name, factoryFn) { return provider(name, { $get: factoryFn }); }
function value(name, value) { return factory(name, valueFn(value)); } function value(name, value) { return factory(name, valueFn(value)); }

View file

@ -1271,7 +1271,7 @@ function MockXhr() {
* The `ngMock` is an angular module which is used with `ng` module and adds unit-test configuration as well as useful * The `ngMock` is an angular module which is used with `ng` module and adds unit-test configuration as well as useful
* mocks to the {@link angular.module.AUTO.$injector $injector}. * mocks to the {@link angular.module.AUTO.$injector $injector}.
*/ */
angular.module('ngMock', ['ng']).service({ angular.module('ngMock', ['ng']).provider({
$browser: angular.mock.$BrowserProvider, $browser: angular.mock.$BrowserProvider,
$exceptionHandler: angular.mock.$ExceptionHandlerProvider, $exceptionHandler: angular.mock.$ExceptionHandlerProvider,
$log: angular.mock.$LogProvider, $log: angular.mock.$LogProvider,

View file

@ -109,14 +109,14 @@ function setupModuleLoader(window) {
/** /**
* @ngdoc method * @ngdoc method
* @name angular.Module#service * @name angular.Module#provider
* @methodOf angular.Module * @methodOf angular.Module
* @param {string} name service name * @param {string} name service name
* @param {Function} providerType Construction function for creating new instance of the service. * @param {Function} providerType Construction function for creating new instance of the service.
* @description * @description
* See {@link angular.module.AUTO.$provide#service $provide.service()}. * See {@link angular.module.AUTO.$provide#provider $provide.provider()}.
*/ */
service: invokeLater('$provide', 'service'), provider: invokeLater('$provide', 'provider'),
/** /**
* @ngdoc method * @ngdoc method

View file

@ -180,7 +180,7 @@ describe('injector', function() {
var injector = createInjector([function($provide) { var injector = createInjector([function($provide) {
$provide.value('value', 'value;'); $provide.value('value', 'value;');
$provide.factory('fn', valueFn('function;')); $provide.factory('fn', valueFn('function;'));
$provide.service('service', function() { $provide.provider('service', function() {
this.$get = valueFn('service;'); this.$get = valueFn('service;');
}); });
}, function(valueProvider, fnProvider, serviceProvider) { }, function(valueProvider, fnProvider, serviceProvider) {
@ -315,31 +315,31 @@ describe('injector', function() {
}); });
describe('service', function() { describe('provider', function() {
it('should configure $provide service object', function() { it('should configure $provide provider object', function() {
expect(createInjector([function($provide) { expect(createInjector([function($provide) {
$provide.service('value', { $provide.provider('value', {
$get: valueFn('abc') $get: valueFn('abc')
}); });
}]).get('value')).toEqual('abc'); }]).get('value')).toEqual('abc');
}); });
it('should configure $provide service type', function() { it('should configure $provide provider type', function() {
function Type() {}; function Type() {};
Type.prototype.$get = function() { Type.prototype.$get = function() {
expect(this instanceof Type).toBe(true); expect(this instanceof Type).toBe(true);
return 'abc'; return 'abc';
}; };
expect(createInjector([function($provide) { expect(createInjector([function($provide) {
$provide.service('value', Type); $provide.provider('value', Type);
}]).get('value')).toEqual('abc'); }]).get('value')).toEqual('abc');
}); });
it('should configure a set of services', function() { it('should configure a set of providers', function() {
expect(createInjector([function($provide) { expect(createInjector([function($provide) {
$provide.service({value: valueFn({$get:Array})}); $provide.provider({value: valueFn({$get:Array})});
}]).get('value')).toEqual([]); }]).get('value')).toEqual([]);
}); });
}); });

View file

@ -32,7 +32,7 @@ describe('module loader', function() {
var myModule = window.angular.module('my', ['other'], 'config'); var myModule = window.angular.module('my', ['other'], 'config');
expect(myModule. expect(myModule.
service('sk', 'sv'). provider('sk', 'sv').
factory('fk', 'fv'). factory('fk', 'fv').
value('k', 'v'). value('k', 'v').
filter('f', 'ff'). filter('f', 'ff').
@ -45,7 +45,7 @@ describe('module loader', function() {
expect(myModule._invokeQueue).toEqual([ expect(myModule._invokeQueue).toEqual([
['$provide', 'constant', ['abc', 123] ], ['$provide', 'constant', ['abc', 123] ],
['$injector', 'invoke', ['config'] ], ['$injector', 'invoke', ['config'] ],
['$provide', 'service', ['sk', 'sv'] ], ['$provide', 'provider', ['sk', 'sv'] ],
['$provide', 'factory', ['fk', 'fv'] ], ['$provide', 'factory', ['fk', 'fv'] ],
['$provide', 'value', ['k', 'v'] ], ['$provide', 'value', ['k', 'v'] ],
['$filterProvider', 'register', ['f', 'ff'] ], ['$filterProvider', 'register', ['f', 'ff'] ],

View file

@ -3,7 +3,7 @@
describe('$exceptionHandler', function() { describe('$exceptionHandler', function() {
it('should log errors with single argument', function() { it('should log errors with single argument', function() {
module(function($provide){ module(function($provide){
$provide.service('$exceptionHandler', $ExceptionHandlerProvider); $provide.provider('$exceptionHandler', $ExceptionHandlerProvider);
}); });
inject(function($log, $exceptionHandler) { inject(function($log, $exceptionHandler) {
$exceptionHandler('myError'); $exceptionHandler('myError');
@ -14,7 +14,7 @@ describe('$exceptionHandler', function() {
it('should log errors with multiple arguments', function() { it('should log errors with multiple arguments', function() {
module(function($provide){ module(function($provide){
$provide.service('$exceptionHandler', $ExceptionHandlerProvider); $provide.provider('$exceptionHandler', $ExceptionHandlerProvider);
}); });
inject(function($log, $exceptionHandler) { inject(function($log, $exceptionHandler) {
$exceptionHandler('myError', 'comment'); $exceptionHandler('myError', 'comment');

View file

@ -12,7 +12,7 @@ describe('$log', function() {
beforeEach(module(function($provide){ beforeEach(module(function($provide){
$window = {}; $window = {};
logger = ''; logger = '';
$provide.service('$log', $LogProvider); $provide.provider('$log', $LogProvider);
$provide.value('$exceptionHandler', angular.mock.rethrow); $provide.value('$exceptionHandler', angular.mock.rethrow);
$provide.value('$window', $window); $provide.value('$window', $window);
})); }));