39 lines
901 B
JavaScript
39 lines
901 B
JavaScript
|
/*
|
||
|
Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
|
||
|
Available via Academic Free License >= 2.1 OR the modified BSD license.
|
||
|
see: http://dojotoolkit.org/license for details
|
||
|
*/
|
||
|
|
||
|
//>>built
|
||
|
define("dojo/AdapterRegistry",["./_base/kernel","./_base/lang"],function(_1,_2){
|
||
|
var _3=_1.AdapterRegistry=function(_4){
|
||
|
this.pairs=[];
|
||
|
this.returnWrappers=_4||false;
|
||
|
};
|
||
|
_2.extend(_3,{register:function(_5,_6,_7,_8,_9){
|
||
|
this.pairs[((_9)?"unshift":"push")]([_5,_6,_7,_8]);
|
||
|
},match:function(){
|
||
|
for(var i=0;i<this.pairs.length;i++){
|
||
|
var _a=this.pairs[i];
|
||
|
if(_a[1].apply(this,arguments)){
|
||
|
if((_a[3])||(this.returnWrappers)){
|
||
|
return _a[2];
|
||
|
}else{
|
||
|
return _a[2].apply(this,arguments);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
throw new Error("No match found");
|
||
|
},unregister:function(_b){
|
||
|
for(var i=0;i<this.pairs.length;i++){
|
||
|
var _c=this.pairs[i];
|
||
|
if(_c[0]==_b){
|
||
|
this.pairs.splice(i,1);
|
||
|
return true;
|
||
|
}
|
||
|
}
|
||
|
return false;
|
||
|
}});
|
||
|
return _3;
|
||
|
});
|