awaitly 1.25.0 → 1.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters.cjs +2 -2
- package/dist/adapters.cjs.map +1 -1
- package/dist/adapters.d.cts +1 -1
- package/dist/adapters.d.ts +1 -1
- package/dist/adapters.js +2 -2
- package/dist/adapters.js.map +1 -1
- package/dist/batch.cjs +2 -2
- package/dist/batch.cjs.map +1 -1
- package/dist/batch.d.cts +1 -1
- package/dist/batch.d.ts +1 -1
- package/dist/batch.js +2 -2
- package/dist/batch.js.map +1 -1
- package/dist/circuit-breaker.cjs +2 -2
- package/dist/circuit-breaker.cjs.map +1 -1
- package/dist/circuit-breaker.d.cts +1 -1
- package/dist/circuit-breaker.d.ts +1 -1
- package/dist/circuit-breaker.js +2 -2
- package/dist/circuit-breaker.js.map +1 -1
- package/dist/conditional.cjs.map +1 -1
- package/dist/conditional.d.cts +3 -3
- package/dist/conditional.d.ts +3 -3
- package/dist/conditional.js.map +1 -1
- package/dist/core.cjs +2 -2
- package/dist/core.cjs.map +1 -1
- package/dist/core.d.cts +1 -1
- package/dist/core.d.ts +1 -1
- package/dist/core.js +2 -2
- package/dist/core.js.map +1 -1
- package/dist/durable.cjs +5 -5
- package/dist/durable.cjs.map +1 -1
- package/dist/durable.d.cts +4 -4
- package/dist/durable.d.ts +4 -4
- package/dist/durable.js +5 -5
- package/dist/durable.js.map +1 -1
- package/dist/fetch.cjs +2 -2
- package/dist/fetch.cjs.map +1 -1
- package/dist/fetch.d.cts +80 -129
- package/dist/fetch.d.ts +80 -129
- package/dist/fetch.js +2 -2
- package/dist/fetch.js.map +1 -1
- package/dist/{guards-DksX4K8-.d.cts → guards-C80WxKmr.d.cts} +2 -2
- package/dist/{guards-XBi0FQB3.d.ts → guards-d0e2njEc.d.ts} +2 -2
- package/dist/{hitl-CRoug2OJ.d.ts → hitl-By3ojQ6l.d.ts} +2 -2
- package/dist/{hitl-B_uLUqHO.d.cts → hitl-DDkO2PjR.d.cts} +2 -2
- package/dist/hitl.cjs +2 -2
- package/dist/hitl.cjs.map +1 -1
- package/dist/hitl.d.cts +6 -6
- package/dist/hitl.d.ts +6 -6
- package/dist/hitl.js +2 -2
- package/dist/hitl.js.map +1 -1
- package/dist/otel.d.cts +1 -1
- package/dist/otel.d.ts +1 -1
- package/dist/{persistence-entry-CmgAdRu9.d.ts → persistence-entry-Bq1dv7DQ.d.ts} +2 -2
- package/dist/{persistence-entry-CjiS9o2U.d.cts → persistence-entry-UhxTwE4Y.d.cts} +2 -2
- package/dist/persistence.d.cts +3 -3
- package/dist/persistence.d.ts +3 -3
- package/dist/policies.d.cts +1 -1
- package/dist/policies.d.ts +1 -1
- package/dist/ratelimit.cjs +2 -2
- package/dist/ratelimit.cjs.map +1 -1
- package/dist/ratelimit.d.cts +1 -1
- package/dist/ratelimit.d.ts +1 -1
- package/dist/ratelimit.js +2 -2
- package/dist/ratelimit.js.map +1 -1
- package/dist/reliability.cjs +2 -2
- package/dist/reliability.cjs.map +1 -1
- package/dist/reliability.d.cts +1 -1
- package/dist/reliability.d.ts +1 -1
- package/dist/reliability.js +2 -2
- package/dist/reliability.js.map +1 -1
- package/dist/resource.cjs +2 -2
- package/dist/resource.cjs.map +1 -1
- package/dist/resource.d.cts +1 -1
- package/dist/resource.d.ts +1 -1
- package/dist/resource.js +2 -2
- package/dist/resource.js.map +1 -1
- package/dist/retry.cjs.map +1 -1
- package/dist/retry.d.cts +1 -1
- package/dist/retry.d.ts +1 -1
- package/dist/retry.js.map +1 -1
- package/dist/{run-entry-hoMUvFwE.d.cts → run-entry-CmQnZOiG.d.cts} +1 -1
- package/dist/{run-entry-hoMUvFwE.d.ts → run-entry-CmQnZOiG.d.ts} +1 -1
- package/dist/run.cjs +2 -2
- package/dist/run.cjs.map +1 -1
- package/dist/run.d.cts +1 -1
- package/dist/run.d.ts +1 -1
- package/dist/run.js +2 -2
- package/dist/run.js.map +1 -1
- package/dist/saga.cjs +2 -2
- package/dist/saga.cjs.map +1 -1
- package/dist/saga.d.cts +1 -1
- package/dist/saga.d.ts +1 -1
- package/dist/saga.js +2 -2
- package/dist/saga.js.map +1 -1
- package/dist/singleflight.d.cts +1 -1
- package/dist/singleflight.d.ts +1 -1
- package/dist/streaming.cjs +4 -4
- package/dist/streaming.cjs.map +1 -1
- package/dist/streaming.d.cts +3 -3
- package/dist/streaming.d.ts +3 -3
- package/dist/streaming.js +4 -4
- package/dist/streaming.js.map +1 -1
- package/dist/testing.cjs +2 -2
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.d.cts +3 -3
- package/dist/testing.d.ts +3 -3
- package/dist/testing.js +3 -3
- package/dist/testing.js.map +1 -1
- package/dist/{types-WNp-awYj.d.ts → types-Cvyf-4-s.d.ts} +1 -1
- package/dist/{types-B8UDr7vk.d.cts → types-D19CDVb-.d.cts} +1 -1
- package/dist/webhook.cjs +2 -2
- package/dist/webhook.cjs.map +1 -1
- package/dist/webhook.d.cts +6 -6
- package/dist/webhook.d.ts +6 -6
- package/dist/webhook.js +2 -2
- package/dist/webhook.js.map +1 -1
- package/dist/workflow.cjs +5 -5
- package/dist/workflow.cjs.map +1 -1
- package/dist/workflow.d.cts +7 -7
- package/dist/workflow.d.ts +7 -7
- package/dist/workflow.js +5 -5
- package/dist/workflow.js.map +1 -1
- package/package.json +3 -2
package/dist/adapters.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";var ee=Object.defineProperty;var xe=Object.getOwnPropertyDescriptor;var Se=Object.getOwnPropertyNames;var be=Object.prototype.hasOwnProperty;var he=(e,o)=>{for(var w in o)ee(e,w,{get:o[w],enumerable:!0})},Ae=(e,o,w,p)=>{if(o&&typeof o=="object"||typeof o=="function")for(let C of Se(o))!be.call(e,C)&&C!==w&&ee(e,C,{get:()=>o[C],enumerable:!(p=xe(o,C))||p.enumerable});return e};var ve=e=>Ae(ee({},"__esModule",{value:!0}),e);var Fe={};he(Fe,{fromCallback:()=>Te,fromEvent:()=>fe,isEventEmitterLike:()=>ke,isEventTimeoutError:()=>we,isInvalidEmitterError:()=>de});module.exports=ve(Fe);function Pe(e){let o=e.trim().match(/^(\d+(?:\.\d+)?)\s*(ms|s|m|h|d)$/i);if(!o)return;let w=parseFloat(o[1]),p=o[2].toLowerCase();return{_tag:"Duration",millis:w*({ms:1,s:1e3,m:6e4,h:36e5,d:864e5}[p]??1)}}var Oe="UNEXPECTED_ERROR";function Ie(e){return Oe}var O=e=>({ok:!0,value:e}),P=(e,o)=>({ok:!1,error:e,...o?.cause!==void 0?{cause:o.cause}:{}});var W=Symbol.for("step_timeout_marker");function le(e){return typeof e!="object"||e===null?!1:e.type==="STEP_TIMEOUT"?!0:W in e}function _e(e){if(!(typeof e!="object"||e===null)){if(e.type==="STEP_TIMEOUT"){let o=e;return{timeoutMs:o.timeoutMs,stepName:o.stepName,stepKey:o.stepKey,attempt:o.attempt}}if(W in e)return e[W]}}var me=Symbol("early-exit");function Me(e,o){return{[me]:!0,error:e,meta:o}}function Ue(e){return typeof e=="object"&&e!==null&&e[me]===!0}var ye=Symbol("mapper-exception");function De(e){return{[ye]:!0,thrown:e}}function Ne(e){return typeof e=="object"&&e!==null&&e[ye]===!0}function ne(e,o){let{backoff:w,initialDelay:p,maxDelay:C,jitter:g}=o,b;switch(w){case"fixed":b=p;break;case"linear":b=p*e;break;case"exponential":b=p*Math.pow(2,e-1);break}if(b=Math.min(b,C),g){let R=b*.25*Math.random();b=b+R}return Math.floor(b)}function te(e){return new Promise(o=>setTimeout(o,e))}var pe=Symbol("timeout"),H=Symbol("timeout-option");function Ke(e){return typeof e=="object"&&e!==null&&e[H]===!0}async function je(e,o,w,p){let C=new AbortController,g=o.onTimeout??"error",b=()=>typeof g=="function"?g({name:w.name,key:w.key,ms:o.ms}):o.error??{type:"STEP_TIMEOUT",stepName:w.name,stepKey:w.key,timeoutMs:o.ms,attempt:w.attempt},R;p?.aborted&&C.abort(p.reason);let I;p&&!p.aborted&&(I=()=>C.abort(p.reason),p.addEventListener("abort",I,{once:!0}));let c=new Promise((m,x)=>{R=setTimeout(()=>{if(g!=="disconnect"&&C.abort(),g==="option"){x({[H]:!0,ms:o.ms});return}x({[pe]:!0,error:b()})},o.ms)}),_;o.signal?_=Promise.resolve(e(C.signal)):_=Promise.resolve(e());try{return await Promise.race([_,c])}catch(m){if(typeof m=="object"&&m!==null&&m[H]===!0)throw{[H]:!0,ms:o.ms};if(typeof m=="object"&&m!==null&&m[pe]===!0){g==="disconnect"&&_.catch(()=>{});let x=m.error;if(typeof x=="object"&&x!==null&&x.type!=="STEP_TIMEOUT"){let V={timeoutMs:o.ms,stepName:w.name,stepKey:w.key,attempt:w.attempt};W in x?x[W]=V:Object.defineProperty(x,W,{value:V,enumerable:!1,writable:!0,configurable:!1})}throw x}throw m}finally{clearTimeout(R),I&&p&&p.removeEventListener("abort",I)}}var B={backoff:"exponential",initialDelay:100,maxDelay:3e4,jitter:!0,retryOn:()=>!0,onRetry:()=>{}};async function ce(e,o){let{onError:w,onEvent:p,catchUnexpected:C,workflowId:g,workflowName:b,context:R,_workflowSignal:I}=o&&typeof o=="object"?o:{},c=g??crypto.randomUUID(),_=C??Ie,m=[],x=0,V=s=>s??`step_${++x}`,d=s=>{let M=s.context!==void 0||R===void 0?s:{...s,context:R},j=b!==void 0&&M.workflowName===void 0?{...M,workflowName:b}:M;if(j.type==="step_success"){let J=j.stepId;for(let $=m.length-1;$>=0;$--){let U=m[$];if(U.type==="race"&&!U.winnerId){U.winnerId=J;break}}}p?.(j,R)},D=Me,se=s=>Ue(s),G=(s,M)=>s,Re=s=>typeof s=="function"?!1:!!(s&&typeof s=="object"&&"ok"in s||s&&typeof s=="object"&&"then"in s&&typeof s.then=="function");try{let M=function(t){let a={};for(let[n,l]of Object.entries(t))if(typeof l=="function")a[n]=l;else if(l&&typeof l=="object"&&"fn"in l)a[n]=l.fn;else throw new TypeError(`step.parallel: operation "${n}" must be a function or { fn, errors? } object`);return a},j=function(t,a){let n=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let l=performance.now(),r=!1;m.push({scopeId:n,type:"parallel"});let i=()=>{if(r)return;r=!0;let u=m.findIndex(y=>y.scopeId===n);u!==-1&&m.splice(u,1),d({type:"scope_end",workflowId:c,scopeId:n,ts:Date.now(),durationMs:performance.now()-l})};d({type:"scope_start",workflowId:c,scopeId:n,scopeType:"parallel",name:t,ts:Date.now()});try{let u=await a();if(i(),!u.ok)throw w?.(u.error,t,R),D(u.error,{origin:"result",resultCause:u.cause});return u.value}catch(u){throw i(),u}})()},J=function(t,a){let n=Object.keys(t),l=a.name??`Parallel(${n.join(", ")})`,r=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let i=performance.now(),u=!1;m.push({scopeId:r,type:"parallel"});let y=()=>{if(u)return;u=!0;let k=m.findIndex(T=>T.scopeId===r);k!==-1&&m.splice(k,1),d({type:"scope_end",workflowId:c,scopeId:r,ts:Date.now(),durationMs:performance.now()-i})};d({type:"scope_start",workflowId:c,scopeId:r,scopeType:"parallel",name:l,ts:Date.now()});try{let k=await new Promise(E=>{if(n.length===0){E([]);return}let v=!1,A=n.length,z=new Array(n.length);for(let L=0;L<n.length;L++){let q=n[L],h=L;Promise.resolve(t[q]()).catch(N=>P({type:"PROMISE_REJECTED",cause:N},{cause:{type:"PROMISE_REJECTION",reason:N}})).then(N=>{if(!v){if(!N.ok){v=!0,E([{key:q,result:N}]);return}z[h]={key:q,result:N},A--,A===0&&E(z)}})}});y();let T={};for(let{key:E,result:v}of k){if(!v.ok)throw w?.(v.error,E,R),D(v.error,{origin:"result",resultCause:v.cause});T[E]=v.value}return T}catch(k){throw y(),k}})()};var Le=M,Ve=j,Be=J;let s=(t,a,n)=>(async()=>{if(typeof t!="string"||t.length===0)throw new Error('[awaitly] step() requires an explicit string ID as the first argument. Example: step("fetchUser", () => fetchUser(id))');let l=n??{},r=t,i=l.key??t,u=l.key??t,{description:y,retry:k,timeout:T}=l,E=V(i),v=p,A=v?performance.now():0,L=Re(a)?()=>a:a,h={attempts:Math.max(1,k?.attempts??1),backoff:k?.backoff??B.backoff,initialDelay:k?.initialDelay??B.initialDelay,maxDelay:k?.maxDelay??B.maxDelay,jitter:k?.jitter??B.jitter,retryOn:k?.retryOn??B.retryOn,onRetry:k?.onRetry??B.onRetry};p&&d({type:"step_start",workflowId:c,stepId:E,stepKey:i,name:r,description:y,ts:Date.now()});let N;for(let S=1;S<=h.attempts;S++){let Ce=v?performance.now():0;try{let f;if(T?f=await je(L,T,{name:r,key:i,attempt:S},I):f=await L(),f.ok){let F=performance.now()-A;return d({type:"step_success",workflowId:c,stepId:E,stepKey:i,name:r,description:y,ts:Date.now(),durationMs:F}),u&&d({type:"step_complete",workflowId:c,stepKey:u,name:r,description:y,ts:Date.now(),durationMs:F,result:f}),f.value}if(N=f,S<h.attempts&&h.retryOn(f.error,S)){let F=ne(S,h);d({type:"step_retry",workflowId:c,stepId:E,stepKey:i,name:r,ts:Date.now(),attempt:S+1,maxAttempts:h.attempts,delayMs:F,error:f.error}),h.onRetry(f.error,S,F),await te(F);continue}h.attempts>1&&d({type:"step_retries_exhausted",workflowId:c,stepId:E,stepKey:i,name:r,ts:Date.now(),durationMs:performance.now()-A,attempts:S,lastError:f.error});break}catch(f){let F=performance.now()-Ce;if(Ke(f)){let K=f.ms;d({type:"step_timeout",workflowId:c,stepId:E,stepKey:i,name:r,ts:Date.now(),timeoutMs:K,attempt:S}),d({type:"step_success",workflowId:c,stepId:E,stepKey:i,name:r,description:y,ts:Date.now(),durationMs:performance.now()-A}),u&&d({type:"step_complete",workflowId:c,stepKey:u,name:r,description:y,ts:Date.now(),durationMs:performance.now()-A,result:O(void 0)});return}if(se(f))throw d({type:"step_aborted",workflowId:c,stepId:E,stepKey:i,name:r,description:y,ts:Date.now(),durationMs:F}),f;if(le(f)){let K=_e(f),ge=T?.ms??K?.timeoutMs??0;if(d({type:"step_timeout",workflowId:c,stepId:E,stepKey:i,name:r,ts:Date.now(),timeoutMs:ge,attempt:S}),S<h.attempts&&h.retryOn(f,S)){let Z=ne(S,h);d({type:"step_retry",workflowId:c,stepId:E,stepKey:i,name:r,ts:Date.now(),attempt:S+1,maxAttempts:h.attempts,delayMs:Z,error:f}),h.onRetry(f,S,Z),await te(Z);continue}h.attempts>1&&d({type:"step_retries_exhausted",workflowId:c,stepId:E,stepKey:i,name:r,ts:Date.now(),durationMs:performance.now()-A,attempts:S,lastError:f});let ie=performance.now()-A;throw d({type:"step_error",workflowId:c,stepId:E,stepKey:i,name:r,description:y,ts:Date.now(),durationMs:ie,error:f}),u&&d({type:"step_complete",workflowId:c,stepKey:u,name:r,description:y,ts:Date.now(),durationMs:ie,result:P(f,{cause:f}),meta:{origin:"throw",thrown:f}}),w?.(f,r,R),D(f,{origin:"throw",thrown:f})}if(S<h.attempts&&h.retryOn(f,S)){let K=ne(S,h);d({type:"step_retry",workflowId:c,stepId:E,stepKey:i,name:r,ts:Date.now(),attempt:S+1,maxAttempts:h.attempts,delayMs:K,error:f}),h.onRetry(f,S,K),await te(K);continue}h.attempts>1&&!le(f)&&d({type:"step_retries_exhausted",workflowId:c,stepId:E,stepKey:i,name:r,ts:Date.now(),durationMs:performance.now()-A,attempts:S,lastError:f});let ae=performance.now()-A,Y;try{Y=_(f)}catch(K){throw De(K)}throw d({type:"step_error",workflowId:c,stepId:E,stepKey:i,name:r,description:y,ts:Date.now(),durationMs:ae,error:Y}),u&&d({type:"step_complete",workflowId:c,stepKey:u,name:r,description:y,ts:Date.now(),durationMs:ae,result:P(Y,{cause:f}),meta:{origin:"throw",thrown:f}}),w?.(Y,r,R),D(Y,{origin:"throw",thrown:f})}}let X=N,ue=performance.now()-A,Q=G(X.error,{origin:"result",resultCause:X.cause});throw d({type:"step_error",workflowId:c,stepId:E,stepKey:i,name:r,description:y,ts:Date.now(),durationMs:ue,error:Q}),u&&d({type:"step_complete",workflowId:c,stepKey:u,name:r,description:y,ts:Date.now(),durationMs:ue,result:X,meta:{origin:"result",resultCause:X.cause}}),w?.(Q,r,R),D(Q,{origin:"result",resultCause:X.cause})})();s.try=(t,a,n)=>{if(typeof t!="string"||t.length===0)throw new Error('[awaitly] step.try() requires an explicit string ID as the first argument. Example: step.try("parse", () => JSON.parse(str), { error: "PARSE_ERROR" })');let l=n.key??t,r=t,i=t,u="error"in n?()=>n.error:n.onError,y=p;return(async()=>{let k=y?performance.now():0;p&&d({type:"step_start",workflowId:c,stepId:i,stepKey:l,name:r,ts:Date.now()});try{let T=await a(),E=performance.now()-k;return d({type:"step_success",workflowId:c,stepId:i,stepKey:l,name:r,ts:Date.now(),durationMs:E}),l&&d({type:"step_complete",workflowId:c,stepKey:l,name:r,ts:Date.now(),durationMs:E,result:O(T)}),T}catch(T){let E=u(T),v=performance.now()-k,A=G(E,{origin:"throw",thrown:T});throw d({type:"step_error",workflowId:c,stepId:i,stepKey:l,name:r,ts:Date.now(),durationMs:v,error:A}),l&&d({type:"step_complete",workflowId:c,stepKey:l,name:r,ts:Date.now(),durationMs:v,result:P(E,{cause:T}),meta:{origin:"throw",thrown:T}}),w?.(A,r,R),D(A,{origin:"throw",thrown:T})}})()},s.fromResult=(t,a,n)=>{if(typeof t!="string"||t.length===0)throw new Error('[awaitly] step.fromResult() requires an explicit string ID as the first argument. Example: step.fromResult("callProvider", () => callProvider(input), { onError: (e) => ({ type: "FAILED" }) })');let l=n.key??t,r=t,i=t,u="error"in n?()=>n.error:n.onError,y=p;return(async()=>{let k=y?performance.now():0;p&&d({type:"step_start",workflowId:c,stepId:i,stepKey:l,name:r,ts:Date.now()});let T=await a();if(T.ok){let E=performance.now()-k;return d({type:"step_success",workflowId:c,stepId:i,stepKey:l,name:r,ts:Date.now(),durationMs:E}),l&&d({type:"step_complete",workflowId:c,stepKey:l,name:r,ts:Date.now(),durationMs:E,result:O(T.value)}),T.value}else{let E=u(T.error),v=performance.now()-k,A=G(E,{origin:"result",resultCause:T.error});throw d({type:"step_error",workflowId:c,stepId:i,stepKey:l,name:r,ts:Date.now(),durationMs:v,error:A}),l&&d({type:"step_complete",workflowId:c,stepKey:l,name:r,ts:Date.now(),durationMs:v,result:P(E,{cause:T.error}),meta:{origin:"result",resultCause:T.error}}),w?.(A,r,R),D(A,{origin:"result",resultCause:T.error})}})()},s.retry=(t,a,n)=>{if(typeof t!="string"||t.length===0)throw new Error('[awaitly] step.retry() requires an explicit string ID as the first argument. Example: step.retry("fetchData", () => fetchData(), { attempts: 3 })');return s(t,a,{key:n.key??t,retry:{attempts:n.attempts,backoff:n.backoff,initialDelay:n.initialDelay,maxDelay:n.maxDelay,jitter:n.jitter,retryOn:n.retryOn,onRetry:n.onRetry},timeout:n.timeout})},s.withTimeout=(t,a,n)=>{if(typeof t!="string"||t.length===0)throw new Error('[awaitly] step.withTimeout() requires an explicit string ID as the first argument. Example: step.withTimeout("slowOp", () => slowOp(), { ms: 5000 })');return s(t,a,{key:n.key??t,timeout:n})},s.sleep=(t,a,n)=>{if(typeof t!="string"||t.length===0)throw new Error('[awaitly] step.sleep() requires an explicit string ID as the first argument. Example: step.sleep("delay", "5s")');let l=typeof a=="string"?Pe(a):a;if(!l)throw new Error(`step.sleep: invalid duration '${a}'`);let r=l.millis,i=n?.signal;return s(t,async()=>{if(I?.aborted||i?.aborted){let u=new Error("Sleep aborted");throw u.name="AbortError",u}return new Promise((u,y)=>{let k={timeoutId:void 0},T=()=>{k.timeoutId&&clearTimeout(k.timeoutId);let E=new Error("Sleep aborted");E.name="AbortError",y(E)};I?.addEventListener("abort",T,{once:!0}),i?.addEventListener("abort",T,{once:!0}),k.timeoutId=setTimeout(()=>{I?.removeEventListener("abort",T),i?.removeEventListener("abort",T),u(O(void 0))},r)})},{key:n?.key??t,description:n?.description})},s.parallel=((...t)=>{if(typeof t[0]!="string")throw new TypeError("step.parallel(name, ...): first argument must be a string (step name). Example: step.parallel('Fetch data', { user: () => fetchUser(), posts: () => fetchPosts() })");let a=t[0],n=t[1];if(typeof n=="function")return j(a,n);if(n&&typeof n=="object"&&!Array.isArray(n)){let r=M(n);return J(r,{name:a})}throw new TypeError("step.parallel(name, ...): second argument must be a function (array form) or an object of operations (object form).")}),s.race=(t,a)=>{let n=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let l=performance.now(),r=!1,i={scopeId:n,type:"race",winnerId:void 0};m.push(i);let u=()=>{if(r)return;r=!0;let y=m.findIndex(k=>k.scopeId===n);y!==-1&&m.splice(y,1),d({type:"scope_end",workflowId:c,scopeId:n,ts:Date.now(),durationMs:performance.now()-l,winnerId:i.winnerId})};d({type:"scope_start",workflowId:c,scopeId:n,scopeType:"race",name:t,ts:Date.now()});try{let y=await a();if(u(),!y.ok)throw w?.(y.error,t,R),D(y.error,{origin:"result",resultCause:y.cause});return y.value}catch(y){throw u(),y}})()},s.allSettled=(t,a)=>{let n=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let l=performance.now(),r=!1;m.push({scopeId:n,type:"allSettled"});let i=()=>{if(r)return;r=!0;let u=m.findIndex(y=>y.scopeId===n);u!==-1&&m.splice(u,1),d({type:"scope_end",workflowId:c,scopeId:n,ts:Date.now(),durationMs:performance.now()-l})};d({type:"scope_start",workflowId:c,scopeId:n,scopeType:"allSettled",name:t,ts:Date.now()});try{let u=await a();if(i(),!u.ok)throw w?.(u.error,t,R),D(u.error,{origin:"result",resultCause:u.cause});return u.value}catch(u){throw i(),u}})()},s.if=(t,a,n)=>n(),s.label=s.if,s.branch=async(t,a)=>{let{condition:n,then:l,else:r}=a;if(n())return await l();if(r)return await r()},s.arm=(t,a)=>({fn:t,errors:a}),s.forEach=async(t,a,n)=>{let l=[],r=n.maxIterations,i=0,u="run"in n,y=Symbol.asyncIterator in a?a:(async function*(){yield*a})();for await(let k of y){if(r!==void 0&&i>=r)break;let T;u?T=await n.run(k,i):T=await n.item.handler(k,i,s),l.push(T),i++}return l},s.item=t=>({__forEachItemHandler:!0,handler:t}),s.dep=(t,a)=>a,s.run=(t,a,n)=>s(t,()=>a,n),s.andThen=(t,a,n,l)=>s(t,()=>n(a),l),s.match=async(t,a,n,l)=>s(t,async()=>{let r=await a;return r.ok?O(await n.ok(r.value)):O(await n.err(r.error,r.cause))},l),s.all=s.parallel,s.map=async(t,a,n,l)=>{let r=l?.concurrency??a.length;return s(t,()=>r>=a.length?Ee(a.map((i,u)=>n(i,u))):(async()=>{let i=[];for(let u=0;u<a.length;u+=r){let y=a.slice(u,u+r),k=await Ee(y.map((T,E)=>n(T,u+E)));if(!k.ok)return k;i.push(...k.value)}return O(i)})(),{key:l?.key})};let U=await e({step:s});if(process.env.NODE_ENV!=="production"&&U!==null&&typeof U=="object"&&"ok"in U&&typeof U.ok=="boolean"){let t=U;(t.ok===!0&&"value"in t||t.ok===!1&&"error"in t)&&console.warn(`awaitly: Workflow executor returned a Result-like object. Return raw values, not ok() or err().
|
|
1
|
+
"use strict";var ee=Object.defineProperty;var ge=Object.getOwnPropertyDescriptor;var Se=Object.getOwnPropertyNames;var be=Object.prototype.hasOwnProperty;var he=(e,o)=>{for(var w in o)ee(e,w,{get:o[w],enumerable:!0})},Ae=(e,o,w,p)=>{if(o&&typeof o=="object"||typeof o=="function")for(let C of Se(o))!be.call(e,C)&&C!==w&&ee(e,C,{get:()=>o[C],enumerable:!(p=ge(o,C))||p.enumerable});return e};var ve=e=>Ae(ee({},"__esModule",{value:!0}),e);var Fe={};he(Fe,{fromCallback:()=>Te,fromEvent:()=>fe,isEventEmitterLike:()=>ke,isEventTimeoutError:()=>we,isInvalidEmitterError:()=>de});module.exports=ve(Fe);function Pe(e){let o=e.trim().match(/^(\d+(?:\.\d+)?)\s*(ms|s|m|h|d)$/i);if(!o)return;let w=parseFloat(o[1]),p=o[2].toLowerCase();return{_tag:"Duration",millis:w*({ms:1,s:1e3,m:6e4,h:36e5,d:864e5}[p]??1)}}var Oe="UNEXPECTED_ERROR";function _e(e){return Oe}var O=e=>({ok:!0,value:e}),P=(e,o)=>({ok:!1,error:e,...o?.cause!==void 0?{cause:o.cause}:{}});var W=Symbol.for("step_timeout_marker");function le(e){return typeof e!="object"||e===null?!1:e.type==="STEP_TIMEOUT"?!0:W in e}function Ie(e){if(!(typeof e!="object"||e===null)){if(e.type==="STEP_TIMEOUT"){let o=e;return{timeoutMs:o.timeoutMs,stepName:o.stepName,stepKey:o.stepKey,attempt:o.attempt}}if(W in e)return e[W]}}var me=Symbol("early-exit");function Me(e,o){return{[me]:!0,error:e,meta:o}}function De(e){return typeof e=="object"&&e!==null&&e[me]===!0}var ye=Symbol("mapper-exception");function Ue(e){return{[ye]:!0,thrown:e}}function Ne(e){return typeof e=="object"&&e!==null&&e[ye]===!0}function ne(e,o){let{backoff:w,initialDelay:p,maxDelay:C,jitter:x}=o,b;switch(w){case"fixed":b=p;break;case"linear":b=p*e;break;case"exponential":b=p*Math.pow(2,e-1);break}if(b=Math.min(b,C),x){let R=b*.25*Math.random();b=b+R}return Math.floor(b)}function te(e){return new Promise(o=>setTimeout(o,e))}var pe=Symbol("timeout"),H=Symbol("timeout-option");function Ke(e){return typeof e=="object"&&e!==null&&e[H]===!0}async function je(e,o,w,p){let C=new AbortController,x=o.onTimeout??"error",b=()=>typeof x=="function"?x({name:w.name,key:w.key,ms:o.ms}):o.error??{type:"STEP_TIMEOUT",stepName:w.name,stepKey:w.key,timeoutMs:o.ms,attempt:w.attempt},R;p?.aborted&&C.abort(p.reason);let _;p&&!p.aborted&&(_=()=>C.abort(p.reason),p.addEventListener("abort",_,{once:!0}));let c=new Promise((m,g)=>{R=setTimeout(()=>{if(x!=="disconnect"&&C.abort(),x==="option"){g({[H]:!0,ms:o.ms});return}g({[pe]:!0,error:b()})},o.ms)}),I;o.signal?I=Promise.resolve(e(C.signal)):I=Promise.resolve(e());try{return await Promise.race([I,c])}catch(m){if(typeof m=="object"&&m!==null&&m[H]===!0)throw{[H]:!0,ms:o.ms};if(typeof m=="object"&&m!==null&&m[pe]===!0){x==="disconnect"&&I.catch(()=>{});let g=m.error;if(typeof g=="object"&&g!==null&&g.type!=="STEP_TIMEOUT"){let V={timeoutMs:o.ms,stepName:w.name,stepKey:w.key,attempt:w.attempt};W in g?g[W]=V:Object.defineProperty(g,W,{value:V,enumerable:!1,writable:!0,configurable:!1})}throw g}throw m}finally{clearTimeout(R),_&&p&&p.removeEventListener("abort",_)}}var B={backoff:"exponential",initialDelay:100,maxDelay:3e4,jitter:!0,retryOn:()=>!0,onRetry:()=>{}};async function ce(e,o){let{onError:w,onEvent:p,catchUnexpected:C,workflowId:x,workflowName:b,context:R,_workflowSignal:_}=o&&typeof o=="object"?o:{},c=x??crypto.randomUUID(),I=C??_e,m=[],g=0,V=s=>s??`step_${++g}`,d=s=>{let M=s.context!==void 0||R===void 0?s:{...s,context:R},j=b!==void 0&&M.workflowName===void 0?{...M,workflowName:b}:M;if(j.type==="step_success"){let J=j.stepId;for(let $=m.length-1;$>=0;$--){let D=m[$];if(D.type==="race"&&!D.winnerId){D.winnerId=J;break}}}p?.(j,R)},U=Me,se=s=>De(s),G=(s,M)=>s,Re=s=>typeof s=="function"?!1:!!(s&&typeof s=="object"&&"ok"in s||s&&typeof s=="object"&&"then"in s&&typeof s.then=="function");try{let M=function(t){let u={};for(let[n,l]of Object.entries(t))if(typeof l=="function")u[n]=l;else if(l&&typeof l=="object"&&"fn"in l)u[n]=l.fn;else throw new TypeError(`step.parallel: operation "${n}" must be a function or { fn, errors? } object`);return u},j=function(t,u){let n=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let l=performance.now(),r=!1;m.push({scopeId:n,type:"parallel"});let i=()=>{if(r)return;r=!0;let a=m.findIndex(y=>y.scopeId===n);a!==-1&&m.splice(a,1),d({type:"scope_end",workflowId:c,scopeId:n,ts:Date.now(),durationMs:performance.now()-l})};d({type:"scope_start",workflowId:c,scopeId:n,scopeType:"parallel",name:t,ts:Date.now()});try{let a=await u();if(i(),!a.ok)throw w?.(a.error,t,R),U(a.error,{origin:"result",resultCause:a.cause});return a.value}catch(a){throw i(),a}})()},J=function(t,u){let n=Object.keys(t),l=u.name??`Parallel(${n.join(", ")})`,r=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let i=performance.now(),a=!1;m.push({scopeId:r,type:"parallel"});let y=()=>{if(a)return;a=!0;let k=m.findIndex(T=>T.scopeId===r);k!==-1&&m.splice(k,1),d({type:"scope_end",workflowId:c,scopeId:r,ts:Date.now(),durationMs:performance.now()-i})};d({type:"scope_start",workflowId:c,scopeId:r,scopeType:"parallel",name:l,ts:Date.now()});try{let k=await new Promise(E=>{if(n.length===0){E([]);return}let v=!1,A=n.length,z=new Array(n.length);for(let L=0;L<n.length;L++){let q=n[L],h=L;Promise.resolve(t[q]()).catch(N=>P({type:"PROMISE_REJECTED",cause:N},{cause:{type:"PROMISE_REJECTION",reason:N}})).then(N=>{if(!v){if(!N.ok){v=!0,E([{key:q,result:N}]);return}z[h]={key:q,result:N},A--,A===0&&E(z)}})}});y();let T={};for(let{key:E,result:v}of k){if(!v.ok)throw w?.(v.error,E,R),U(v.error,{origin:"result",resultCause:v.cause});T[E]=v.value}return T}catch(k){throw y(),k}})()};var Le=M,Ve=j,Be=J;let s=(t,u,n)=>(async()=>{if(typeof t!="string"||t.length===0)throw new Error('[awaitly] step() requires an explicit string ID as the first argument. Example: step("fetchUser", () => fetchUser(id))');let l=n??{},r=t,i=l.key??t,a=l.key??t,{description:y,retry:k,timeout:T}=l,E=V(i),v=p,A=v?performance.now():0,L=Re(u)?()=>u:u,h={attempts:Math.max(1,k?.attempts??1),backoff:k?.backoff??B.backoff,initialDelay:k?.initialDelay??B.initialDelay,maxDelay:k?.maxDelay??B.maxDelay,jitter:k?.jitter??B.jitter,retryOn:k?.retryOn??B.retryOn,onRetry:k?.onRetry??B.onRetry};p&&d({type:"step_start",workflowId:c,stepId:E,stepKey:i,name:r,description:y,ts:Date.now()});let N;for(let S=1;S<=h.attempts;S++){let Ce=v?performance.now():0;try{let f;if(T?f=await je(L,T,{name:r,key:i,attempt:S},_):f=await L(),f.ok){let F=performance.now()-A;return d({type:"step_success",workflowId:c,stepId:E,stepKey:i,name:r,description:y,ts:Date.now(),durationMs:F}),a&&d({type:"step_complete",workflowId:c,stepKey:a,name:r,description:y,ts:Date.now(),durationMs:F,result:f}),f.value}if(N=f,S<h.attempts&&h.retryOn(f.error,S)){let F=ne(S,h);d({type:"step_retry",workflowId:c,stepId:E,stepKey:i,name:r,ts:Date.now(),attempt:S+1,maxAttempts:h.attempts,delayMs:F,error:f.error}),h.onRetry(f.error,S,F),await te(F);continue}h.attempts>1&&d({type:"step_retries_exhausted",workflowId:c,stepId:E,stepKey:i,name:r,ts:Date.now(),durationMs:performance.now()-A,attempts:S,lastError:f.error});break}catch(f){let F=performance.now()-Ce;if(Ke(f)){let K=f.ms;d({type:"step_timeout",workflowId:c,stepId:E,stepKey:i,name:r,ts:Date.now(),timeoutMs:K,attempt:S}),d({type:"step_success",workflowId:c,stepId:E,stepKey:i,name:r,description:y,ts:Date.now(),durationMs:performance.now()-A}),a&&d({type:"step_complete",workflowId:c,stepKey:a,name:r,description:y,ts:Date.now(),durationMs:performance.now()-A,result:O(void 0)});return}if(se(f))throw d({type:"step_aborted",workflowId:c,stepId:E,stepKey:i,name:r,description:y,ts:Date.now(),durationMs:F}),f;if(le(f)){let K=Ie(f),xe=T?.ms??K?.timeoutMs??0;if(d({type:"step_timeout",workflowId:c,stepId:E,stepKey:i,name:r,ts:Date.now(),timeoutMs:xe,attempt:S}),S<h.attempts&&h.retryOn(f,S)){let Z=ne(S,h);d({type:"step_retry",workflowId:c,stepId:E,stepKey:i,name:r,ts:Date.now(),attempt:S+1,maxAttempts:h.attempts,delayMs:Z,error:f}),h.onRetry(f,S,Z),await te(Z);continue}h.attempts>1&&d({type:"step_retries_exhausted",workflowId:c,stepId:E,stepKey:i,name:r,ts:Date.now(),durationMs:performance.now()-A,attempts:S,lastError:f});let ie=performance.now()-A;throw d({type:"step_error",workflowId:c,stepId:E,stepKey:i,name:r,description:y,ts:Date.now(),durationMs:ie,error:f}),a&&d({type:"step_complete",workflowId:c,stepKey:a,name:r,description:y,ts:Date.now(),durationMs:ie,result:P(f,{cause:f}),meta:{origin:"throw",thrown:f}}),w?.(f,r,R),U(f,{origin:"throw",thrown:f})}if(S<h.attempts&&h.retryOn(f,S)){let K=ne(S,h);d({type:"step_retry",workflowId:c,stepId:E,stepKey:i,name:r,ts:Date.now(),attempt:S+1,maxAttempts:h.attempts,delayMs:K,error:f}),h.onRetry(f,S,K),await te(K);continue}h.attempts>1&&!le(f)&&d({type:"step_retries_exhausted",workflowId:c,stepId:E,stepKey:i,name:r,ts:Date.now(),durationMs:performance.now()-A,attempts:S,lastError:f});let ue=performance.now()-A,Y;try{Y=I(f)}catch(K){throw Ue(K)}throw d({type:"step_error",workflowId:c,stepId:E,stepKey:i,name:r,description:y,ts:Date.now(),durationMs:ue,error:Y}),a&&d({type:"step_complete",workflowId:c,stepKey:a,name:r,description:y,ts:Date.now(),durationMs:ue,result:P(Y,{cause:f}),meta:{origin:"throw",thrown:f}}),w?.(Y,r,R),U(Y,{origin:"throw",thrown:f})}}let X=N,ae=performance.now()-A,Q=G(X.error,{origin:"result",resultCause:X.cause});throw d({type:"step_error",workflowId:c,stepId:E,stepKey:i,name:r,description:y,ts:Date.now(),durationMs:ae,error:Q}),a&&d({type:"step_complete",workflowId:c,stepKey:a,name:r,description:y,ts:Date.now(),durationMs:ae,result:X,meta:{origin:"result",resultCause:X.cause}}),w?.(Q,r,R),U(Q,{origin:"result",resultCause:X.cause})})();s.try=(t,u,n)=>{if(typeof t!="string"||t.length===0)throw new Error('[awaitly] step.try() requires an explicit string ID as the first argument. Example: step.try("parse", () => JSON.parse(str), { error: "PARSE_ERROR" })');let l=n.key??t,r=t,i=t,a="error"in n?()=>n.error:n.onError,y=p;return(async()=>{let k=y?performance.now():0;p&&d({type:"step_start",workflowId:c,stepId:i,stepKey:l,name:r,ts:Date.now()});try{let T=await u(),E=performance.now()-k;return d({type:"step_success",workflowId:c,stepId:i,stepKey:l,name:r,ts:Date.now(),durationMs:E}),l&&d({type:"step_complete",workflowId:c,stepKey:l,name:r,ts:Date.now(),durationMs:E,result:O(T)}),T}catch(T){let E=a(T),v=performance.now()-k,A=G(E,{origin:"throw",thrown:T});throw d({type:"step_error",workflowId:c,stepId:i,stepKey:l,name:r,ts:Date.now(),durationMs:v,error:A}),l&&d({type:"step_complete",workflowId:c,stepKey:l,name:r,ts:Date.now(),durationMs:v,result:P(E,{cause:T}),meta:{origin:"throw",thrown:T}}),w?.(A,r,R),U(A,{origin:"throw",thrown:T})}})()},s.fromResult=(t,u,n)=>{if(typeof t!="string"||t.length===0)throw new Error('[awaitly] step.fromResult() requires an explicit string ID as the first argument. Example: step.fromResult("callProvider", () => callProvider(input), { onError: (e) => ({ type: "FAILED" }) })');let l=n.key??t,r=t,i=t,a="error"in n?()=>n.error:n.onError,y=p;return(async()=>{let k=y?performance.now():0;p&&d({type:"step_start",workflowId:c,stepId:i,stepKey:l,name:r,ts:Date.now()});let T=await u();if(T.ok){let E=performance.now()-k;return d({type:"step_success",workflowId:c,stepId:i,stepKey:l,name:r,ts:Date.now(),durationMs:E}),l&&d({type:"step_complete",workflowId:c,stepKey:l,name:r,ts:Date.now(),durationMs:E,result:O(T.value)}),T.value}else{let E=a(T.error),v=performance.now()-k,A=G(E,{origin:"result",resultCause:T.error});throw d({type:"step_error",workflowId:c,stepId:i,stepKey:l,name:r,ts:Date.now(),durationMs:v,error:A}),l&&d({type:"step_complete",workflowId:c,stepKey:l,name:r,ts:Date.now(),durationMs:v,result:P(E,{cause:T.error}),meta:{origin:"result",resultCause:T.error}}),w?.(A,r,R),U(A,{origin:"result",resultCause:T.error})}})()},s.retry=(t,u,n)=>{if(typeof t!="string"||t.length===0)throw new Error('[awaitly] step.retry() requires an explicit string ID as the first argument. Example: step.retry("fetchData", () => fetchData(), { attempts: 3 })');return s(t,u,{key:n.key??t,retry:{attempts:n.attempts,backoff:n.backoff,initialDelay:n.initialDelay,maxDelay:n.maxDelay,jitter:n.jitter,retryOn:n.retryOn,onRetry:n.onRetry},timeout:n.timeout})},s.withTimeout=(t,u,n)=>{if(typeof t!="string"||t.length===0)throw new Error('[awaitly] step.withTimeout() requires an explicit string ID as the first argument. Example: step.withTimeout("slowOp", () => slowOp(), { ms: 5000 })');return s(t,u,{key:n.key??t,timeout:n})},s.sleep=(t,u,n)=>{if(typeof t!="string"||t.length===0)throw new Error('[awaitly] step.sleep() requires an explicit string ID as the first argument. Example: step.sleep("delay", "5s")');let l=typeof u=="string"?Pe(u):u;if(!l)throw new Error(`step.sleep: invalid duration '${u}'`);let r=l.millis,i=n?.signal;return s(t,async()=>{if(_?.aborted||i?.aborted){let a=new Error("Sleep aborted");throw a.name="AbortError",a}return new Promise((a,y)=>{let k={timeoutId:void 0},T=()=>{k.timeoutId&&clearTimeout(k.timeoutId);let E=new Error("Sleep aborted");E.name="AbortError",y(E)};_?.addEventListener("abort",T,{once:!0}),i?.addEventListener("abort",T,{once:!0}),k.timeoutId=setTimeout(()=>{_?.removeEventListener("abort",T),i?.removeEventListener("abort",T),a(O(void 0))},r)})},{key:n?.key??t,description:n?.description})},s.parallel=((...t)=>{if(typeof t[0]!="string")throw new TypeError("step.parallel(name, ...): first argument must be a string (step name). Example: step.parallel('Fetch data', { user: () => fetchUser(), posts: () => fetchPosts() })");let u=t[0],n=t[1];if(typeof n=="function")return j(u,n);if(n&&typeof n=="object"&&!Array.isArray(n)){let r=M(n);return J(r,{name:u})}throw new TypeError("step.parallel(name, ...): second argument must be a function (array form) or an object of operations (object form).")}),s.race=(t,u)=>{let n=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let l=performance.now(),r=!1,i={scopeId:n,type:"race",winnerId:void 0};m.push(i);let a=()=>{if(r)return;r=!0;let y=m.findIndex(k=>k.scopeId===n);y!==-1&&m.splice(y,1),d({type:"scope_end",workflowId:c,scopeId:n,ts:Date.now(),durationMs:performance.now()-l,winnerId:i.winnerId})};d({type:"scope_start",workflowId:c,scopeId:n,scopeType:"race",name:t,ts:Date.now()});try{let y=await u();if(a(),!y.ok)throw w?.(y.error,t,R),U(y.error,{origin:"result",resultCause:y.cause});return y.value}catch(y){throw a(),y}})()},s.allSettled=(t,u)=>{let n=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let l=performance.now(),r=!1;m.push({scopeId:n,type:"allSettled"});let i=()=>{if(r)return;r=!0;let a=m.findIndex(y=>y.scopeId===n);a!==-1&&m.splice(a,1),d({type:"scope_end",workflowId:c,scopeId:n,ts:Date.now(),durationMs:performance.now()-l})};d({type:"scope_start",workflowId:c,scopeId:n,scopeType:"allSettled",name:t,ts:Date.now()});try{let a=await u();if(i(),!a.ok)throw w?.(a.error,t,R),U(a.error,{origin:"result",resultCause:a.cause});return a.value}catch(a){throw i(),a}})()},s.if=(t,u,n)=>n(),s.label=s.if,s.branch=async(t,u)=>{let{condition:n,then:l,else:r}=u;if(n())return await l();if(r)return await r()},s.arm=(t,u)=>({fn:t,errors:u}),s.forEach=async(t,u,n)=>{let l=[],r=n.maxIterations,i=0,a="run"in n,y=Symbol.asyncIterator in u?u:(async function*(){yield*u})();for await(let k of y){if(r!==void 0&&i>=r)break;let T;a?T=await n.run(k,i):T=await n.item.handler(k,i,s),l.push(T),i++}return l},s.item=t=>({__forEachItemHandler:!0,handler:t}),s.dep=(t,u)=>u,s.run=(t,u,n)=>s(t,()=>u,n),s.andThen=(t,u,n,l)=>s(t,()=>n(u),l),s.match=async(t,u,n,l)=>s(t,async()=>{let r=await u;return r.ok?O(await n.ok(r.value)):O(await n.err(r.error,r.cause))},l),s.all=s.parallel,s.map=async(t,u,n,l)=>{let r=l?.concurrency??u.length;return s(t,()=>r>=u.length?Ee(u.map((i,a)=>n(i,a))):(async()=>{let i=[];for(let a=0;a<u.length;a+=r){let y=u.slice(a,a+r),k=await Ee(y.map((T,E)=>n(T,a+E)));if(!k.ok)return k;i.push(...k.value)}return O(i)})(),{key:l?.key})};let D=await e({step:s});if(process.env.NODE_ENV!=="production"&&D!==null&&typeof D=="object"&&"ok"in D&&typeof D.ok=="boolean"){let t=D;(t.ok===!0&&"value"in t||t.ok===!1&&"error"in t)&&console.warn(`awaitly: Workflow executor returned a Result-like object. Return raw values, not ok() or err().
|
|
2
2
|
|
|
3
3
|
Incorrect: return ok({ data });
|
|
4
4
|
Correct: return { data };
|
|
5
5
|
|
|
6
|
-
See: https://jagreehal.github.io/awaitly/guides/troubleshooting/#returning-ok-from-workflow-executor-double-wrapping`)}return O(
|
|
6
|
+
See: https://jagreehal.github.io/awaitly/guides/troubleshooting/#returning-ok-from-workflow-executor-double-wrapping`)}return O(D)}catch(s){if(Ne(s))throw s.thrown;if(se(s)){let j=s.meta.origin==="throw"?s.meta.thrown:s.meta.resultCause;return P(s.error,{cause:j})}let M=I(s);return w?.(M,"unexpected",R),P(M,{cause:s})}}ce.strict=(e,o)=>ce(e,o);async function Ee(e){return e.length===0?O([]):new Promise(o=>{let w=!1,p=e.length,C=new Array(e.length);for(let x=0;x<e.length;x++){let b=x;Promise.resolve(e[b]).catch(R=>P({type:"PROMISE_REJECTED",cause:R},{cause:{type:"PROMISE_REJECTION",reason:R}})).then(R=>{if(!w){if(!R.ok){w=!0,o(R);return}C[b]=R.value,p--,p===0&&o(O(C))}})}})}function we(e){return typeof e=="object"&&e!==null&&e.type==="EVENT_TIMEOUT"}function de(e){return typeof e=="object"&&e!==null&&e.type==="INVALID_EMITTER"}function Te(e,o){return new Promise(w=>{try{e((p,C)=>{if(p){let x=o?.onError?o.onError(p):p;w(P(x,{cause:p}))}else w(O(C))})}catch(p){let C=p instanceof Error?p:new Error(String(p)),x=o?.onError?o.onError(C):C;w(P(x,{cause:p}))}})}function re(e){return typeof e=="object"&&e!==null&&"on"in e&&"off"in e&&typeof e.on=="function"&&typeof e.off=="function"}function oe(e){return typeof e=="object"&&e!==null&&"addEventListener"in e&&"removeEventListener"in e&&typeof e.addEventListener=="function"&&typeof e.removeEventListener=="function"}function fe(e,o,w){return new Promise(p=>{let C,x=!1,b=re(e)?(m,g)=>e.on(m,g):oe(e)?(m,g)=>e.addEventListener(m,g):null,R=re(e)?(m,g)=>e.off(m,g):oe(e)?(m,g)=>e.removeEventListener(m,g):null;if(!b||!R){p(P({type:"INVALID_EMITTER",message:"Object does not have on/off or addEventListener/removeEventListener"}));return}let _=(...m)=>{x||(x=!0,I(),p(O(m[0])))},c=(...m)=>{if(x)return;x=!0,I();let g=m[0],V=w?.onError?w.onError(g):g;p(P(V,{cause:g}))},I=()=>{C&&clearTimeout(C),R(o.success,_),o.error&&R(o.error,c)};b(o.success,_),o.error&&b(o.error,c),o.timeout&&(C=setTimeout(()=>{if(x)return;x=!0,I();let m={type:"EVENT_TIMEOUT",event:o.success,timeoutMs:o.timeout};p(P(m))},o.timeout))})}function ke(e){return re(e)||oe(e)}0&&(module.exports={fromCallback,fromEvent,isEventEmitterLike,isEventTimeoutError,isInvalidEmitterError});
|
|
7
7
|
//# sourceMappingURL=adapters.cjs.map
|