/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/sas@3.0.4/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
/*!
  *Version: 3.0.4
  *Author: Du Wei
  *Repository: https://github.com/hezedu/sas
  *Released: MIT
*/
var realType=Object.prototype.toString;function sas(t,s,e){var i;if("object"!=typeof s){switch(arguments.length){case 2:e=s;break;case 3:i=s}s={}}else i=s.iterator;new Main(t,i,e,s)}function Main(t,s,e,i){this.tasks=t,this.result=i.context||{},this.tasksCount=0,this.tasksCbCount=0,this.error=null,this.end=e,this.iterator=s,this.process=i.process,this.processInterval=i.processInterval||1e3,this.init()}function I(t,s,e,i,r){this.index=s,this._count=e,this._root=r,this._parents=arguments}Main.prototype.init=function(){var t=[1,0];this.dis(this.tasks,t[1],t),this._process()},Main.prototype.dis=function(t,s,e,i){var r;if(!this.error)switch(realType.call(t)){case"[object Function]":this.forFn(t,s,e,i);break;case"[object Object]":var n=Object.keys(t),o=n.length;r=[o,0];for(var a=0;a<o;a++){var h=n[a];this.dis(t[h],h,r,arguments)}break;case"[object Array]":r=[t.length,0],this.dis(t[0],r[1],r,arguments);break;default:this.iterator?this.forFn(this.iterator(t),s,e,i):(e[1]++,this.nextTick(t,s,e,i))}},Main.prototype.forFn=function(t,s,e,i){this.tasksCount++;var r=null,n=this;t.length>1&&(r=new I(t,s,e,i,this.tasks)),t.call(this.result,(function(r,o){if(n.tasksCbCount++,n.error||e[0]===e[1])return;if(r)switch(r){case"$reload":return o=o||t,n.dis(o,s,e,i);case"$up":e[1]=e[0];break;default:return n.error=r,void n._end()}else e[1]++;"$"===t.name[0]&&(n.result[t.name.substr(1)]=o);n.nextTick(t,s,e,i)}),r)},Main.prototype.nextTick=function(t,s,e,i){e[0]===e[1]?i?(i[2][1]++,this.nextTick.apply(this,i)):this._end():"number"==typeof s&&this.dis(i[0][e[1]],e[1],e,i)},Main.prototype._process=function(){if(this.process){var t=this;t._t=setInterval((function(){t.process(t.tasksCount,t.tasksCbCount)}),t.processInterval)}},Main.prototype._end=function(){this.process&&(clearInterval(this._t),this.process(this.tasksCount,this.tasksCbCount)),this.end&&this.end(this.error,this.result)},I.prototype.indexs=function(){for(var t=this._parents,s=[];t[3];)s.splice(0,0,t[1]),t=t[3];return s},I.prototype.upperIndex=function(t){t=t||1;for(var s=this._parents;t>0&&s[0]!==this._root;)s=s[3],t--;if(0===t)return s[1]},module.exports=sas;
//# sourceMappingURL=/sm/5944a72705eb57623eaa112a7fef5ce47693429be5a03696c2ac0502edb17a25.map