UNPKG

@known-as-bmf/hookable

Version:
3 lines (2 loc) 612 B
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=e=>r=>{const t=Symbol();e.set(t,r((()=>{e.delete(t)})))};exports.createHookable=function(r){const t=new Map,o=new Map,n=new Map,s=new Map;return Object.assign(((...e)=>{const a=Array.from(t.values()).reduce(((e,r)=>r(...e)),e);o.forEach((e=>e(...a)));const c=r(...a),u=Array.from(n.values()).reduce(((e,r)=>r(e)),c);return s.forEach((e=>e(u))),u}),{transformInput:e(t),enter:e(o),transformOutput:e(n),leave:e(s)})},exports.every=e=>()=>(...r)=>e(...r),exports.once=e=>r=>(...t)=>(r(),e(...t)); //# sourceMappingURL=index.cjs.min.js.map