import{decorate as o,emplace as p}from"../internal/index.js";functioni(n,a){returno(n,a,e=>{const r=newMap;returnfunction(...c){const l=p(r,this,()=>({call:null}));if(l.call)return l.call;const t=e.apply(this,c);return l.call=t,t.finally(()=>{l.call=null}),t}})}export{i as mutex};