UNPKG

mmjs-core

Version:
2 lines (1 loc) 604 B
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("@enhances/with-resolvers");function a(i){const s=new Map;return(...n)=>{const t=JSON.stringify(n);let e=s.get(t);e||(e={resolves:[],rejects:[],status:"finally"},s.set(t,e));const{resolve:l,reject:c,promise:o}=Promise.withResolvers();return e.resolves.push(l),e.rejects.push(c),e.status==="requesting"||(e.status="requesting",i(...n).then(r=>{e.resolves.forEach(u=>u(r)),e.resolves=[]}).catch(r=>{e.rejects.forEach(u=>u(r)),e.rejects=[]}).finally(()=>{e.status="finally",s.delete(t)})),o}}exports.useMergeRequest=a;