41 lines
950 B
JavaScript
41 lines
950 B
JavaScript
//>>built
|
|
define(["dijit","dojo","dojox"],function(_1,_2,_3){
|
|
_2.provide("dojox.lang.aspect.memoizer");
|
|
(function(){
|
|
var _4=_3.lang.aspect;
|
|
var _5={around:function(_6){
|
|
var _7=_4.getContext(),_8=_7.joinPoint,_9=_7.instance,t,u,_a;
|
|
if((t=_9.__memoizerCache)&&(t=t[_8.targetName])&&(_6 in t)){
|
|
return t[_6];
|
|
}
|
|
var _a=_4.proceed.apply(null,arguments);
|
|
if(!(t=_9.__memoizerCache)){
|
|
t=_9.__memoizerCache={};
|
|
}
|
|
if(!(u=t[_8.targetName])){
|
|
u=t[_8.targetName]={};
|
|
}
|
|
return u[_6]=_a;
|
|
}};
|
|
var _b=function(_c){
|
|
return {around:function(){
|
|
var _d=_4.getContext(),_e=_d.joinPoint,_f=_d.instance,t,u,ret,key=_c.apply(_f,arguments);
|
|
if((t=_f.__memoizerCache)&&(t=t[_e.targetName])&&(key in t)){
|
|
return t[key];
|
|
}
|
|
var ret=_4.proceed.apply(null,arguments);
|
|
if(!(t=_f.__memoizerCache)){
|
|
t=_f.__memoizerCache={};
|
|
}
|
|
if(!(u=t[_e.targetName])){
|
|
u=t[_e.targetName]={};
|
|
}
|
|
return u[key]=ret;
|
|
}};
|
|
};
|
|
_4.memoizer=function(_10){
|
|
return arguments.length==0?_5:_b(_10);
|
|
};
|
|
})();
|
|
});
|