{"version":3,"sources":["../src/func/noReentry.ts"],"names":["noReentry","fn","options","running","args"],"mappings":";;;;AAMO,SAASA,EAAUC,CAAYC,CAAAA,CAAAA,CAA6B,CAC/D,IAAIC,CAAAA,CAAU,MACd,OAAO,eAAA,GAA4BC,CAAY,CAAA,CAC3C,GAAGD,CAAS,CAAA,CACR,GAAGD,CAAS,EAAA,OAAA,CAAS,OACrB,MAAM,IAAI,KAAM,CAAA,WAAW,CAC/B,CACAC,CAAAA,CAAU,KACV,GAAG,CACC,OAAO,MAAMF,CAAAA,CAAG,KAAM,CAAA,IAAA,CAAMG,CAAI,CACpC,CAAA,OAAC,CACGD,CAAU,CAAA,MACd,CACJ,CACJ","file":"chunk-3AEV2F5L.mjs","sourcesContent":["/**\n * 不可重入\n * @param fn \n * @param options \n * @returns \n */\nexport function noReentry(fn:Function,options?:{silence?:boolean}) {\n    let running = false\n    return async function (this:any,...args:any[]) {\n        if(running) {\n            if(options?.silence) return\n            throw new Error(\"noReentry\")\n        }\n        running = true\n        try{\n            return await fn.apply(this, args);            \n        }finally{\n            running = false\n        }         \n    }\n}\n"]}