UNPKG

vesh-cli

Version:

码农村nodejs版本VESH框架脚手架搭建器

1 lines 1.16 kB
!function(i){i.collection={},i.collection.Pool=function(a,t,s){var e=this,n={data:[],have:[],use:{},KEY:"_____poolid",addUse:function(e){e&&(i.isValid(e[n.KEY])||(e[n.KEY]=i.random()),n.use[e[n.KEY]]=e)},delUse:function(e){e&&i.isValid(e[n.KEY])&&i.isValid(n.use[e[n.KEY]])&&delete n.use[e[n.KEY]]}};s=i.getValue(s,10),n.clearer=new function(){var s=this,e=null;s.start=function(){e=window.setTimeout(function(){var e=0<n.have.length?n.have[0].endDate:null;if(i.isValid(e)&&0<(new Date).diff("ms",e))s.start();else{for(;0<n.have.length;){var a=n.have.shift();a.dispose&&(a.dispose(),a=null)}for(var t in n.data=[],n.use)n.data.push(n.use[t]);s.start()}},500)},s.stop=function(){e&&window.clearTimeout(e),e=null}},n.clearer.start(),e.getValue=function(){var e=n.have.pop();return e?(e=e.value,n.addUse(e),e):n.data.length<a?(e=t(),n.addUse(e),n.data.push(e),e):null},e.setValue=function(e){n.delUse(e),i.isValid(e)&&i.isValid(e[n.KEY])&&n.have.push({endDate:(new Date).add("s",s),value:e})},e.dispose=function(){for(n.clearer.stop();0<n.have.length;){var e=n.have.shift();e.dispose&&(e.dispose(),e=null)}for(var a in n.data=[],use)n.data.push(use[a])}}}(VJ,jQuery);