]>
git.wh0rd.org - tt-rss.git/blob - lib/dojo/request/registry.js.uncompressed.js
1 define("dojo/request/registry", [
6 ], function(require
, array
, fallbackProvider
, util
){
9 function request(url
, options
){
10 var matchers
= providers
.slice(0),
14 while(matcher
=matchers
[i
++]){
15 if(matcher(url
, options
)){
16 return matcher
.request
.call(null, url
, options
);
20 return fallbackProvider
.apply(null, arguments
);
23 function createMatcher(match
, provider
){
29 matcher = function(url
){
30 return match
.test(url
);
32 }else if(match
.apply
&& match
.call
){
34 return match
.apply(null, arguments
);
37 matcher = function(url
){
42 matcher
.request
= provider
;
44 // If only one argument was passed, assume it is a provider function
45 // to apply unconditionally to all URLs
50 matcher
.request
= match
;
56 request
.register = function(url
, provider
, first
){
57 var matcher
= createMatcher(url
, provider
);
58 providers
[(first
? 'unshift' : 'push')](matcher
);
63 if(~(idx
= array
.indexOf(providers
, matcher
))){
64 providers
.splice(idx
, 1);
70 request
.load = function(id
, parentRequire
, loaded
, config
){
72 // if there's an id, load and set the fallback provider
73 require([id
], function(fallback
){
74 fallbackProvider
= fallback
;
82 util
.addCommonMethods(request
);