@picked/client 0.0.98-next.1 → 0.0.98-next.2
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/.tsbuildinfo +1 -1
- package/dist/{api-CONFKApU.js → api-C3VRwEmm.js} +1 -1
- package/dist/{api-BgPyneD7.cjs → api-PeY2M79y.cjs} +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/plugins/dynamic-experiences/index.js +1 -1
- package/dist/cjs/server/index.js +1 -1
- package/dist/docs/how-to/register-an-action-handler.md +19 -1
- package/dist/docs/how-to/wait-for-an-action-response.md +182 -0
- package/dist/docs/reference/dashboard/actions.mdx +5 -2
- package/dist/docs/reference/delivery-api/workspace-schema.md +3 -0
- package/dist/docs/reference/sdk/actions.md +127 -3
- package/dist/docs/reference/sdk/type-generation.md +8 -0
- package/dist/esm/index.js +514 -328
- package/dist/esm/plugins/dynamic-experiences/index.js +4 -4
- package/dist/esm/server/index.js +3 -3
- package/dist/{experience-instance-DptBuxBJ.js → experience-instance-4KUBH8Gb.js} +278 -220
- package/dist/experience-instance-C9WV52iQ.cjs +1 -0
- package/dist/{plugin-BZg0v-pk.js → plugin-DCUBvwwg.js} +96 -69
- package/dist/plugin-Dbj4RFUo.cjs +1 -0
- package/dist/{preview-unavailable-zegsv152.js → preview-unavailable-CRdiC9KU.js} +1 -1
- package/dist/{preview-unavailable-BC8sZ_nk.cjs → preview-unavailable-ChKFij_K.cjs} +1 -1
- package/dist/{provider-DHsKj_FK.js → provider-B3cWi4ev.js} +1 -1
- package/dist/{provider-reK0A8tr.cjs → provider-DtJJrz-_.cjs} +1 -1
- package/dist/types/entities/action/action.d.ts +94 -23
- package/dist/types/entities/action/action.d.ts.map +1 -1
- package/dist/types/entities/experience-instance/experience-instance.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lifecycle/rules-logic.d.ts.map +1 -1
- package/dist/types/picked.d.ts +26 -6
- package/dist/types/picked.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/index.d.ts +1 -0
- package/dist/types/plugins/dynamic-experiences/index.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/plugin.d.ts.map +1 -1
- package/dist/types/schema-registry.d.ts +10 -0
- package/dist/types/schema-registry.d.ts.map +1 -1
- package/package.json +4 -4
- package/dist/experience-instance-CQvQHCNe.cjs +0 -1
- package/dist/plugin-CuYWwfVi.cjs +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./rules-logic-VUbvWqdi.cjs");require("./logger-CSTvAyyB.cjs");const t=require("./dom-DlLH3FxV.cjs");let n=require("effector"),r=require("@withease/factories");function i(e){return e.type===`condition`}function a(e){return e.type===`step`}function o(e){return e.type===`experience`}function s(e){return e.type===`origin`}function c(e){return e.type===`action`}var l=[],u=(e,t)=>{let n=new Map;for(let t of e)n.set(t.id,t);let r=new Map,i=new Map;for(let e of t){let t=r.get(e.sourceNodeId);t?t.push(e):r.set(e.sourceNodeId,[e]);let n=i.get(e.destinationNodeId);n?n.push(e):i.set(e.destinationNodeId,[e])}return{nodeById:n,outgoingEdges:r,incomingEdges:i}},d=(e,t)=>e.outgoingEdges.get(t)??l,f=(e,t)=>e.incomingEdges.get(t)??l,p=-1,m=-1/0,h=(e,t)=>Array.from({length:e},()=>t),g=e=>Array.from({length:e},()=>!1),_=(e,t,n)=>{let r=[];for(let i of e){let e=n.get(i[t]);e!==void 0&&r.push(e)}return r},v=(e,t)=>{let n=new Map;t.forEach((e,t)=>{n.set(e,t)});let r={successors:[],predecessors:[],isLeaf:[],isOrigin:[],leaves:[],origins:[]};return t.forEach((t,i)=>{let a=d(e,t);r.successors.push(_(a,`destinationNodeId`,n)),r.predecessors.push(_(f(e,t),`sourceNodeId`,n));let o=a.length===0;r.isLeaf.push(o),o&&r.leaves.push(i);let s=e.nodeById.get(t)?.type===`origin`;r.isOrigin.push(s),s&&r.origins.push(i)}),r},y=(e,t,n)=>{let r=h(n,p),i=[...e];for(let t of e)r[t]=0;let a=0,o=0;for(;o<i.length;){let e=i[o];if(o+=1,e===void 0)continue;a+=1;let n=(r[e]??0)+1;for(let a of t[e]??[])r[a]===p&&(r[a]=n,i.push(a))}return{values:r,visits:a}},b=(e,t)=>{e.discoveryOf[t]=e.counter,e.lowLinkOf[t]=e.counter,e.counter+=1,e.stack.push(t),e.onStack[t]=!0,e.frames.push({node:t,edge:0}),e.visits+=1},x=(e,t)=>{let n=(e.successors[t.node]??[])[t.edge];if(t.edge+=1,n!==void 0){if(e.discoveryOf[n]===p){b(e,n);return}e.onStack[n]&&(e.lowLinkOf[t.node]=Math.min(e.lowLinkOf[t.node]??0,e.discoveryOf[n]??0))}},S=(e,t)=>{e.frames.pop(),e.visits+=1;let n=e.frames.at(-1);if(n&&(e.lowLinkOf[n.node]=Math.min(e.lowLinkOf[n.node]??0,e.lowLinkOf[t.node]??0)),e.lowLinkOf[t.node]!==e.discoveryOf[t.node])return;let r=[],i=e.stack.pop();for(;i!==void 0&&(e.onStack[i]=!1,e.componentOf[i]=e.members.length,r.push(i),i!==t.node);)i=e.stack.pop();e.members.push(r)},C=(e,t)=>{let n={successors:e,discoveryOf:h(t,p),lowLinkOf:h(t,p),onStack:g(t),componentOf:h(t,p),stack:[],frames:[],members:[],counter:0,visits:0};for(let r=0;r<t;r+=1)if(n.discoveryOf[r]===p)for(b(n,r);n.frames.length>0;){let t=n.frames.at(-1);if(!t)break;t.edge<(e[t.node]??[]).length?x(n,t):S(n,t)}return{componentOf:n.componentOf,members:n.members,visits:n.visits}},w=(e,t,n)=>{let r=m;for(let i of e.adjacency[t]??[]){let t=e.components.componentOf[i]??p;if(t===n)continue;let a=e.perComponent[t]??m;a!==m&&(r=Math.max(r,a+1))}return r},T=(e,t)=>{let n=m;for(let r of e.components.members[t]??[]){if(e.isTerminus[r]){n=Math.max(n,0);continue}n=Math.max(n,w(e,r,t))}return n},E=(e,t,n,r)=>{let i=n.members.length,a={adjacency:e,isTerminus:t,components:n,perComponent:h(i,m)},o=0;for(let e=0;e<i;e+=1){let t=r?i-1-e:e,s=(n.members[t]??[]).length;o+=s;let c=T(a,t);a.perComponent[t]=c===m?m:c+s-1}return{values:n.componentOf.map((e,n)=>{if(t[n])return 0;let r=a.perComponent[e]??m;return r===m?p:r}),visits:o}},D=(e,t,n)=>{let r=new Map;return e.forEach((e,i)=>{let a=t.values[i]??p,o=n.values[i]??p;r.set(e,a===p?[p,p]:[a,o])}),r},O=(e,t)=>{let n=u(e,t),r=[...n.nodeById.keys()],i=r.length,a=v(n,r),o=C(a.successors,i),s=y(a.leaves,a.predecessors,i),c=E(a.successors,a.isLeaf,o,!1),l=y(a.origins,a.successors,i),d=E(a.predecessors,a.isOrigin,o,!0);return{...n,stepsToLeaf:D(r,s,c),stepsToOrigin:D(r,l,d),nodeVisits:o.visits+s.visits+c.visits+l.visits+d.visits}},k=(e,t,n)=>{let r=1/0,i=m;for(let a of t){let t=e.get(a[n]);!t||t[0]===p||(r=Math.min(r,t[0]+1),i=Math.max(i,t[1]+1))}return r===1/0?[p,p]:[r,i]},ee=(e,t)=>{let n=e.stepsToLeaf.get(t.id);if(n)return[n[0],n[1]];let r=d(e,t.id);return r.length===0?[0,0]:k(e.stepsToLeaf,r,`destinationNodeId`)},te=(e,t)=>{let n=e.stepsToOrigin.get(t.id);return n?[n[0],n[1]]:t.type===`origin`?[0,0]:k(e.stepsToOrigin,f(e,t.id),`sourceNodeId`)},A=`conditions.`,ne=(0,n.createDomain)(`condition-results`);function j(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function M(e){if(e===void 0)return null;if(Array.isArray(e))return e.map(e=>M(e));if(j(e)){let t=Object.keys(e).sort((e,t)=>e.localeCompare(t)),n={};for(let r of t)n[r]=M(e[r]);return n}return e}function N(e){return JSON.stringify(M(e))}var P=(0,r.createFactory)(()=>{let e=ne.store({}),t=(0,n.createApi)(e,{set(e,t){return e[t.hash]===t.result?e:{...e,[t.hash]:t.result}},seed(e,t){return Object.keys(t).every(n=>e[n]===t[n])?e:{...e,...t}},clear(){return{}}});function r(e){t.set(e)}function i(e){t.seed(e)}function a(){t.clear()}function o(t){return e.getState()[t]}return{store:e,set:r,seed:i,peek:o,reset:a}});function re(){return(0,r.invoke)(P)}async function ie(t,n,r){return n==null?!0:typeof n==`boolean`?n:!e.n(n)||await e.t(t,n,r)===!0}function F(e){if(typeof e==`string`)return e;if(Array.isArray(e)&&typeof e[0]==`string`)return e[0]}function I(e){if(Array.isArray(e))return e.some(I);if(j(e)){let t=F(e.var);return t!==void 0&&(t===`actions`||t.startsWith(`actions.`))?!0:Object.values(e).some(I)}return!1}function L(e){if(Array.isArray(e))return e.flatMap(L);if(j(e)){let t=F(e.var);return[...t!==void 0&&t.startsWith(A)?[t.slice(11)]:[],...Object.values(e).flatMap(L)]}return[]}function R(e,t,n=new Set){if(I(e))return!0;for(let r of L(e)){if(n.has(r))continue;n.add(r);let e=t[r];if(e!==void 0&&R(e.logic,t,n))return!0}return!1}async function z(e,t,n){let r={};for(let t of e.conditions.listStore.getState())r[t.key]=t;let i=R(t,r),a=N(t);if(!i){let t=e.conditionResults.peek(a);if(t!==void 0)return t}let o=await ie(e,t,n?.context);return i||e.conditionResults.set({hash:a,result:o}),o}async function B(e,t,n){let r=n?.context,i=[n?.precondition,n?.condition,t.condition];for(let t of i)if(!await z(e,t,{context:r}))return!1;return!0}var V=(e,t,n,r)=>r.has(t.id)?[]:(r.add(t.id),a(t)&&!n?[t]:d(e,t.id).flatMap(t=>{let n=e.nodeById.get(t.destinationNodeId);return n?V(e,n,!1,r):[]})),ae=(e,t)=>V(e,t,!0,new Set),oe=e=>e.find(e=>e.type===`origin`)||null,H=(e,t,n)=>{if(!e)return oe(t);let r=n.find(t=>t.sourceNodeId===e.id);return r&&t.find(e=>e.id===r.destinationNodeId)||null};async function se(e,t,n,r){let i=e?`true`:`false`,a=r.find(e=>e.sourceHandle===i&&e.sourceNodeId===t);return n.find(e=>e.id===a?.destinationNodeId)}function ce(e,t,n,r){let i=r.filter(e=>e.sourceNodeId===t),a=e?`true`:`false`,o=i.find(e=>e.sourceHandle===a)??i.find(e=>e.sourceHandle==null);return n.find(e=>e.id===o?.destinationNodeId)}var U=(0,n.createDomain)(`experience-instance`),W=new WeakMap,G=(0,r.createFactory)(({client:r,experience:l,target:u,options:d,deferOpen:f,slotOpen:p})=>{let m=(0,n.createEvent)(),h=(0,n.createEvent)(),g=(0,n.createEvent)(),_=(0,n.createEvent)(),v=(0,n.createEvent)(),y=(0,n.createEvent)(),b=(0,n.createEvent)(),x=(0,n.createEvent)(),S=(0,n.createEvent)(),C=l.componentStore,w=U.store(`transitioning`),T=r.history.entriesStore.map(e=>e.filter(e=>e.experienceId===l.id)),E=T.map(e=>e.filter(e=>a(e.node))),D=T.map(e=>e.at(-1)?.node||null),O=U.store(null);(0,n.sample)({clock:[D,r.steps.listStore,y],source:{steps:r.steps.listStore,node:D},filter:({node:e})=>e!==null&&a(e),fn:({steps:e,node:t})=>t&&a(t)?e.find(e=>e.id===t.stepId)??null:null,target:O});let k=(0,n.combine)(r.steps.listStore,E,(e,t)=>{let n=t.at(-2);if(!n||!a(n.node))return null;let r=n.node;return e.find(e=>e.id===r.stepId)||null}),A=(0,n.combine)(l.nodeTreeStore,D,(e,t)=>t?ae(e,t):[]),ne=(0,n.combine)(l.nodeTreeStore,D,(e,t)=>t?te(e,t):[-1,-1]),j=(0,n.combine)(l.nodeTreeStore,D,(e,t)=>t?ee(e,t):[-1,-1]),M=U.store(!f).on(x,(e,t)=>t),N=U.store(!1),P=(0,n.createApi)(N,{open:()=>!0,close:()=>!1,toggle:e=>!e,set:(e,t)=>t}),re=(0,n.createEffect)(async()=>{r.history.back({experienceId:l.id})}),ie=(0,n.attach)({source:l.treeStore,effect:async(e,t)=>{let n=e.nodes.find(e=>a(e)&&e.stepId===t);n&&r.history.push({experienceId:l.id,node:n})}}),F=(0,n.attach)({source:l.treeStore,effect:async(e,t)=>{let n=e.steps.find(e=>e.key===t);if(!n)return;let i=e.nodes.find(e=>a(e)&&e.stepId===n.id);i&&r.history.push({experienceId:l.id,node:i})}}),I=(0,n.createEffect)(()=>void 0),L=(0,n.attach)({source:l.treeStore,effect:async({nodes:e})=>oe(e)}),R=(0,n.attach)({source:l.treeStore,effect:async({nodes:e,edges:t},n)=>{if(s(n))return H(n,e,t)}}),z=(0,n.attach)({source:{tree:l.treeStore,history:T},effect:async({tree:t,history:n},a)=>{let{nodes:o,edges:s,conditions:c}=t,l=n.at(-1),u=i(a)?c.find(e=>e.id===a.conditionId)?.logic:void 0;if(!i(a)||!u)return{next:null,startedFrom:l};try{return{next:await se(!!await e.t(r,u),a.id,o,s)??null,startedFrom:l}}catch{return`${a.id}`,{next:null,startedFrom:l}}}}),B=(0,n.attach)({source:{tree:l.treeStore,actions:r.actions.listStore,snapshot:r.stateSnapshotStore,history:T},effect:async({tree:e,actions:t,snapshot:n,history:r},i)=>{let{nodes:a,edges:o}=e,s=r.at(-1);if(!c(i))return{next:null,startedFrom:s};let l=i.actionKey;if(!l)return`${i.id}`,{next:null,startedFrom:s};let u=t.find(e=>e.key===l)?.action;if(typeof u!=`function`)return`${l}`,{next:ce(!1,i.id,a,o)??null,startedFrom:s};let d=new AbortController,f=T.watch(e=>{e.at(-1)!==s&&d.abort()}),p=!0;try{`${l}`,await u({...n,args:[],signal:d.signal},{experience:Q})}catch{d.signal.aborted||`${l}`,p=!1}finally{f()}if(d.signal.aborted)return`${l}${i.id}`,{next:null,startedFrom:s};let m=ce(p,i.id,a,o);if(!m){let e=o.some(e=>e.sourceNodeId===i.id)?`no edge for its outcome`:`no outgoing edge`;return`${i.id}${e}`,{next:null,startedFrom:s}}return`${l}${m.id}`,{next:m,startedFrom:s}}}),V=(0,n.createEvent)(),G=(0,n.createEvent)(),K=U.store(null).on(V,(e,t)=>t).on(G,(e,t)=>e===t?null:e);(0,n.sample)({clock:[z,B],source:T,fn:e=>e.at(-1)??null,target:V});let q=(0,n.createEvent)();(0,n.sample)({clock:[z.doneData,B.doneData],fn:e=>e.startedFrom??null,target:G}),(0,n.sample)({clock:[z.doneData,B.doneData],source:T,fn:(e,t)=>e.at(-1)===t.startedFrom?t.next:null,target:q});let J=(0,n.combine)(K,T,(e,t)=>e!==null&&e===t.at(-1)),Y=J.map(e=>!e),le=(0,n.createEffect)(e=>{o(e)&&r.experiences.launch({key:e.experienceKey})}),X=(0,n.attach)({source:[D,l.treeStore],effect:async([e,{nodes:t,edges:n}])=>H(e,t,n)}),Z=(0,n.attach)({source:[D,l.treeStore],effect:async([e,{nodes:t,edges:n}])=>H(e,t,n)}),ue=(0,n.attach)({source:M,effect:(e,t)=>{e&&r.history.push({experienceId:l.id,node:t})}}),de=(0,n.attach)({source:l.configStore,effect:async({initializeOpenLogic:t})=>d?.initialiseOpen===void 0?t==null?p===`rendered`:e.n(t)?!!await e.t(r,t):t:d.initialiseOpen}),fe=(0,n.combine)(C,r.frameworks.listStore,(e,t)=>{if(!e)return null;let n=t.find(t=>t.name===e.component.frameworkName);return n?{component:e,framework:n}:null},{skipVoid:!1}),Q,pe=(0,n.attach)({source:fe,effect:e=>{if(!e)return;if(!u){`${l.id}`;return}let n=t.n(u);try{e.framework.render(n,e.component.component,r,Q)}catch{}}});Q=Object.freeze({id:Math.random().toString(36).substring(7),experienceKey:l.key,experienceId:l.id,experienceName:l.name,configStore:l.configStore,target:u,componentStore:C,componentAndFrameworkStore:fe,stateStore:w,isOpenStore:N,open:P.open,close:P.close,toggleOpen:P.toggle,setOpen:P.set,treeStore:l.treeStore,currentNodeStore:D,currentStepStore:O,previousStepStore:k,nextReachableStepNodesStore:A,stepsToOriginStore:ne,stepsToLeafStore:j,goToNextStep:h,goToPreviousStep:g,goToStepById:_,goToStepByKey:v,stepsHistoryStore:E,mountFx:pe});let $=(0,n.createEvent)(),me=(0,n.createEvent)();(0,n.sample)({clock:D,filter:M,target:$}),(0,n.sample)({clock:$,filter:e=>e===null,target:L}),(0,n.sample)({clock:$,filter:e=>e!==null,target:me}),(0,n.split)({source:me,match:e=>i(e)?`condition`:a(e)?`step`:o(e)?`launchExperience`:s(e)?`origin`:c(e)?`action`:`other`,cases:{origin:R,condition:z,step:I,launchExperience:le,action:B,__:(0,n.createEvent)()}}),(0,n.sample)({clock:[R.doneData,L.doneData,Z.doneData,X.doneData,q],filter:Boolean,target:ue});let he=(0,n.sample)({clock:h,filter:Y});return(0,n.sample)({clock:he,target:Z}),(0,n.sample)({clock:he,source:O,filter:Boolean,target:S.prepend(e=>({type:`step_submit`,step:e,experience:Q}))}),(0,n.sample)({clock:Z.done,source:O,filter:Boolean,target:S.prepend(e=>({type:`step_submit_success`,step:e,experience:Q}))}),(0,n.sample)({clock:Z.fail,source:O,filter:Boolean,target:S.prepend(e=>({type:`step_submit_error`,step:e,experience:Q}))}),(0,n.sample)({clock:g,target:re}),(0,n.sample)({clock:_,filter:Y,target:ie}),(0,n.sample)({clock:v,filter:Y,target:F}),(0,n.sample)({source:(0,n.combine)([R.pending,L.pending,Z.pending,X.pending,J]),fn:e=>e.some(Boolean)?`transitioning`:`ready`,target:w}),(0,n.sample)({clock:I.doneData,source:O,filter:Boolean,target:S.prepend(e=>({type:`step_enter`,step:e,experience:Q}))}),(0,n.sample)({clock:b,target:de}),(0,n.sample)({clock:de.doneData,filter:M,fn:Boolean,target:N}),(0,n.sample)({source:D,clock:m,filter:e=>!e||s(e),target:X}),(0,n.sample)({source:N,filter:Boolean,target:m}),(0,n.sample)({source:N,filter:Boolean,target:S.prepend(()=>({type:`experience_open`,experience:Q}))}),(0,n.sample)({source:N,filter:e=>!e,target:S.prepend(()=>({type:`experience_close`,experience:Q}))}),(0,n.sample)({clock:S,filter:M,target:r.eventBus}),f?W.set(Q,e=>{e&&P.close(),x(e),e&&b()}):(0,n.sample)({clock:y,target:b}),y(),Q});function K(e){return(0,r.invoke)(G,e)}var q=(0,r.createFactory)(({client:e})=>{let r=U.store({}),i=(0,n.createEvent)(),a=(0,n.createEvent)(),o=(0,n.createEvent)(),s=(0,n.createApi)(r,{register(e,t){let n=[...e[t.experienceId]??[]];return n.push(t),{...e,[t.experienceId]:n}},unregister(e,t){let n=t.experienceId,r=e[n]?.filter(e=>e!==t);return{...e,[n]:r??[]}}}),c=(0,n.createEffect)(({experience:t,target:n,options:r})=>K({client:e,experience:t,target:n,options:r})),l=(0,n.createEffect)(e=>{s.register(e)}),u=(0,n.createEffect)(e=>{e.target&&t.o(e.target,()=>{o(e)})}),d=(0,n.createEffect)(e=>{s.unregister(e)}),f=(0,n.createEffect)(async e=>{await e.mountFx()});(0,n.sample)({clock:i,target:c}),(0,n.sample)({clock:o,target:d}),(0,n.sample)({clock:c.doneData,target:[l,u,a]}),(0,n.sample)({clock:c.doneData,target:e.eventBus.prepend(e=>({type:`experience_initialize`,experience:e}))}),(0,n.sample)({clock:a,target:f});function p(e,t,n){i({experience:e,target:t,options:n})}let m=r.map(e=>Object.values(e).flat());function h(e){return m.map(t=>t.filter(t=>t.experienceKey===e),{skipVoid:!1})}function g(e){return r.map(t=>t[e]||[],{skipVoid:!1})}let _=new Map;function v(t){return _.has(t)||(s.register(t),e.eventBus({type:`experience_initialize`,experience:t}),W.get(t)?.(!0)),_.set(t,!0),()=>{_.has(t)&&(_.set(t,!1),queueMicrotask(()=>{_.get(t)===!1&&(_.delete(t),W.get(t)?.(!1),s.unregister(t),e.eventBus({type:`experience_unmount`,experience:t}))}))}}return{spawn:p,adopt:v,getByExperienceKey:h,getByExperienceId:g,listStore:m}});function J(e){return(0,r.invoke)(q,e)}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return i}});
|
|
@@ -1,45 +1,45 @@
|
|
|
1
1
|
import "./logger-DMN6TxJJ.js";
|
|
2
|
-
import { c as e, i as t, n, t as r } from "./preview-unavailable-
|
|
3
|
-
import "./api-
|
|
2
|
+
import { c as e, i as t, n, t as r } from "./preview-unavailable-CRdiC9KU.js";
|
|
3
|
+
import "./api-C3VRwEmm.js";
|
|
4
4
|
import { attach as i } from "effector";
|
|
5
|
-
import { runAction as a } from "@picked/delivery-api-client";
|
|
5
|
+
import { runAction as a, waitForActionResponse as o } from "@picked/delivery-api-client";
|
|
6
6
|
//#region src/plugins/dynamic-experiences/hash.ts
|
|
7
|
-
function
|
|
7
|
+
function s(e) {
|
|
8
8
|
let t = 2166136261;
|
|
9
9
|
for (let n of e) t ^= n.codePointAt(0) ?? 0, t = Math.imul(t, 16777619);
|
|
10
10
|
return t >>> 0;
|
|
11
11
|
}
|
|
12
|
-
function
|
|
12
|
+
function c(e) {
|
|
13
13
|
let t = e;
|
|
14
14
|
return t ^= t >>> 16, t = Math.imul(t, 2246822507), t ^= t >>> 13, t = Math.imul(t, 3266489909), t ^= t >>> 16, t >>> 0;
|
|
15
15
|
}
|
|
16
|
-
function c(e, t) {
|
|
17
|
-
return s(o(`${e}:${t}`)) % 100;
|
|
18
|
-
}
|
|
19
16
|
function l(e, t) {
|
|
20
|
-
return t
|
|
17
|
+
return c(s(`${e}:${t}`)) % 100;
|
|
21
18
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
return (s(o(`${e}:${t}:${n}`)) + .5) / u;
|
|
19
|
+
function u(e, t) {
|
|
20
|
+
return t <= 0 ? !1 : t >= 100 || e < t;
|
|
25
21
|
}
|
|
22
|
+
var d = 4294967296;
|
|
26
23
|
function f(e, t, n) {
|
|
27
|
-
return n
|
|
24
|
+
return (c(s(`${e}:${t}:${n}`)) + .5) / d;
|
|
28
25
|
}
|
|
29
26
|
function p(e, t, n) {
|
|
27
|
+
return n.weight <= 0 ? 0 : n.weight / -Math.log(f(e, t, n.key));
|
|
28
|
+
}
|
|
29
|
+
function m(e, t, n) {
|
|
30
30
|
let r = null, i = 0;
|
|
31
31
|
for (let a of n) {
|
|
32
|
-
let n =
|
|
32
|
+
let n = p(e, t, a);
|
|
33
33
|
n <= 0 || (n > i || n === i && r !== null && a.key < r.key) && (i = n, r = a);
|
|
34
34
|
}
|
|
35
35
|
return r;
|
|
36
36
|
}
|
|
37
37
|
//#endregion
|
|
38
38
|
//#region src/plugins/dynamic-experiences/plugin.ts
|
|
39
|
-
function
|
|
39
|
+
function h(e, t) {
|
|
40
40
|
if (Array.isArray(t.conditions)) for (let n of t.conditions) e.registerCondition(n);
|
|
41
41
|
}
|
|
42
|
-
function
|
|
42
|
+
function g(e, t) {
|
|
43
43
|
e.registerExperience({
|
|
44
44
|
id: t.id,
|
|
45
45
|
key: t.key,
|
|
@@ -52,13 +52,13 @@ function h(e, t) {
|
|
|
52
52
|
componentName: t.componentName
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
|
-
function
|
|
55
|
+
function _(e) {
|
|
56
56
|
return typeof e != "object" || !e ? !1 : "id" in e && "key" in e && "type" in e && "name" in e;
|
|
57
57
|
}
|
|
58
|
-
function _(e, t) {
|
|
59
|
-
if (Array.isArray(t.fields)) for (let n of t.fields) g(n) && e.registerField(n);
|
|
60
|
-
}
|
|
61
58
|
function v(e, t) {
|
|
59
|
+
if (Array.isArray(t.fields)) for (let n of t.fields) _(n) && e.registerField(n);
|
|
60
|
+
}
|
|
61
|
+
function y(e, t) {
|
|
62
62
|
if (!Array.isArray(t.steps)) return;
|
|
63
63
|
let n = new Map(t.fields.map((e) => [e.id, e.key]));
|
|
64
64
|
for (let r of t.steps) {
|
|
@@ -85,67 +85,94 @@ function v(e, t) {
|
|
|
85
85
|
});
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
-
function
|
|
89
|
-
if (Array.isArray(t.experiences)) for (let n of t.experiences)
|
|
88
|
+
function b(e, t) {
|
|
89
|
+
if (Array.isArray(t.experiences)) for (let n of t.experiences) g(e, n);
|
|
90
90
|
}
|
|
91
|
-
function
|
|
92
|
-
|
|
91
|
+
function x(e, t, n) {
|
|
92
|
+
A(e, t, n.isPreview, n.sessionId), h(e, t), v(e, t), y(e, t), w(e, t), b(e, t);
|
|
93
93
|
}
|
|
94
|
-
|
|
94
|
+
var S = 25e3, C = 3e4;
|
|
95
|
+
function w(e, t) {
|
|
95
96
|
if (!Array.isArray(t.actions)) return;
|
|
96
|
-
let n = new Map(t.fields.map((e) => [e.id, e.key])), r = new Set(
|
|
97
|
-
for (let
|
|
98
|
-
|
|
99
|
-
|
|
97
|
+
let n = new Map(t.fields.map((e) => [e.id, e.key])), r = new Set(t.actions.map((e) => e.key)), i = /* @__PURE__ */ new Set();
|
|
98
|
+
for (let t of e.actions.listStore.getState()) t.published ? r.has(t.key) || e.actions.unregister(t.key) : i.add(t.key);
|
|
99
|
+
for (let r of t.actions) {
|
|
100
|
+
if (i.has(r.key)) {
|
|
101
|
+
`${r.key}`;
|
|
100
102
|
continue;
|
|
101
103
|
}
|
|
102
|
-
let
|
|
103
|
-
for (let e of
|
|
104
|
+
let a = [];
|
|
105
|
+
for (let e of r.fieldIds ?? []) {
|
|
104
106
|
let t = n.get(e);
|
|
105
107
|
if (t === void 0) {
|
|
106
|
-
`${
|
|
108
|
+
`${r.key}${e}`;
|
|
107
109
|
continue;
|
|
108
110
|
}
|
|
109
|
-
|
|
111
|
+
a.push(t);
|
|
110
112
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
projectId: e.projectId,
|
|
121
|
-
session: { id: e.session.store.getState().id },
|
|
122
|
-
responses: r,
|
|
123
|
-
versionId: t.versionId
|
|
124
|
-
}, s === void 0 ? void 0 : { previewToken: s })).actionRunId;
|
|
113
|
+
let o = {
|
|
114
|
+
key: r.key,
|
|
115
|
+
fieldKeys: a,
|
|
116
|
+
versionId: t.versionId
|
|
117
|
+
};
|
|
118
|
+
e.actions.register({
|
|
119
|
+
key: r.key,
|
|
120
|
+
action: async (t) => T(e, o, t),
|
|
121
|
+
published: !0
|
|
125
122
|
});
|
|
126
123
|
}
|
|
127
124
|
}
|
|
128
|
-
function
|
|
125
|
+
async function T(e, t, n) {
|
|
126
|
+
let r = Date.now() + C, i = {};
|
|
127
|
+
for (let e of t.fieldKeys) {
|
|
128
|
+
let t = n.responses.find((t) => t.fieldKey === e);
|
|
129
|
+
t?.value !== void 0 && (i[e] = t.value);
|
|
130
|
+
}
|
|
131
|
+
let s = e.session.store.getState().id, c = E(e), l = n.signal, u = await a(e.apiUrl, {
|
|
132
|
+
key: t.key,
|
|
133
|
+
projectId: e.projectId,
|
|
134
|
+
session: { id: s },
|
|
135
|
+
responses: i,
|
|
136
|
+
versionId: t.versionId
|
|
137
|
+
}, {
|
|
138
|
+
timeoutMs: Math.min(S, r - Date.now()),
|
|
139
|
+
...l ? { signal: l } : {},
|
|
140
|
+
...c === void 0 ? {} : { previewToken: c }
|
|
141
|
+
});
|
|
142
|
+
if (u.status === "succeeded") return u.response;
|
|
143
|
+
if (u.status === "no_response") return;
|
|
144
|
+
if (u.workflowRunId === null) throw Error(`Action '${t.key}' is pending with no run to wait on`);
|
|
145
|
+
let d = await o(e.apiUrl, {
|
|
146
|
+
workflowRunId: u.workflowRunId,
|
|
147
|
+
projectId: e.projectId,
|
|
148
|
+
sessionId: s
|
|
149
|
+
}, {
|
|
150
|
+
timeoutMs: Math.max(1, r - Date.now()),
|
|
151
|
+
...l ? { signal: l } : {}
|
|
152
|
+
});
|
|
153
|
+
return d.status === "succeeded" ? d.response : void 0;
|
|
154
|
+
}
|
|
155
|
+
function E(e) {
|
|
129
156
|
let t = e.searchParams[n];
|
|
130
157
|
if (t && t.length > 0) return t[0];
|
|
131
158
|
}
|
|
132
|
-
function
|
|
159
|
+
function D(e, t) {
|
|
133
160
|
return e.getProjectConfig(t === void 0 ? void 0 : { previewToken: t }).catch((e) => e instanceof r ? e : null);
|
|
134
161
|
}
|
|
135
|
-
async function
|
|
136
|
-
let i =
|
|
162
|
+
async function O(e) {
|
|
163
|
+
let i = E(e), a = await D(e, i);
|
|
137
164
|
if (!(a instanceof r)) return {
|
|
138
165
|
config: a,
|
|
139
166
|
previewToken: i
|
|
140
167
|
};
|
|
141
168
|
t(e.searchParams, n), e.previewUnavailable = !0, `${a.message}`;
|
|
142
|
-
let o = await
|
|
169
|
+
let o = await D(e, void 0);
|
|
143
170
|
return {
|
|
144
171
|
config: o instanceof r ? null : o,
|
|
145
172
|
previewToken: void 0
|
|
146
173
|
};
|
|
147
174
|
}
|
|
148
|
-
function
|
|
175
|
+
function k(t) {
|
|
149
176
|
let n = /* @__PURE__ */ new Map(), r = t.searchParams.feature;
|
|
150
177
|
if (!r) return n;
|
|
151
178
|
for (let t of r) {
|
|
@@ -154,18 +181,18 @@ function T(t) {
|
|
|
154
181
|
}
|
|
155
182
|
return n;
|
|
156
183
|
}
|
|
157
|
-
function
|
|
158
|
-
let i =
|
|
184
|
+
function A(e, t, n, r) {
|
|
185
|
+
let i = k(e);
|
|
159
186
|
for (let a of t.features) {
|
|
160
187
|
let t = i.get(a.id);
|
|
161
188
|
if (t !== void 0) {
|
|
162
|
-
|
|
189
|
+
j(e, a, t);
|
|
163
190
|
continue;
|
|
164
191
|
}
|
|
165
|
-
|
|
192
|
+
M(e, a, n, r);
|
|
166
193
|
}
|
|
167
194
|
}
|
|
168
|
-
function
|
|
195
|
+
function j(e, t, n) {
|
|
169
196
|
e.registerFeature(t.id, {
|
|
170
197
|
key: `${n}`,
|
|
171
198
|
name: t.name,
|
|
@@ -177,7 +204,7 @@ function D(e, t, n) {
|
|
|
177
204
|
decide: () => n
|
|
178
205
|
});
|
|
179
206
|
}
|
|
180
|
-
function
|
|
207
|
+
function M(e, t, n, r) {
|
|
181
208
|
let i = t.id, a = t.variants;
|
|
182
209
|
e.registerFeature(i, {
|
|
183
210
|
key: `v${t.version}`,
|
|
@@ -187,17 +214,17 @@ function O(e, t, n, r) {
|
|
|
187
214
|
storage: n ? "session" : "local",
|
|
188
215
|
valueType: t.valueType,
|
|
189
216
|
variants: a,
|
|
190
|
-
decide: () => t.valueType === "text" ? !a || a.length === 0 ? (`${i}`, !1) :
|
|
217
|
+
decide: () => t.valueType === "text" ? !a || a.length === 0 ? (`${i}`, !1) : m(r, i, a)?.value ?? !1 : u(l(r, i), t.weight)
|
|
191
218
|
});
|
|
192
219
|
}
|
|
193
|
-
function
|
|
220
|
+
function N(e, t) {
|
|
194
221
|
for (let n of [...t.references ?? [], ...t.content]) e.registerContent({
|
|
195
222
|
id: n.id,
|
|
196
223
|
contentModelKey: n.contentModelKey,
|
|
197
224
|
data: n.data
|
|
198
225
|
});
|
|
199
226
|
}
|
|
200
|
-
function
|
|
227
|
+
function P(e, t) {
|
|
201
228
|
let n = /* @__PURE__ */ new Map();
|
|
202
229
|
return (r, i) => {
|
|
203
230
|
let a = n.get(r.id);
|
|
@@ -205,7 +232,7 @@ function A(e, t) {
|
|
|
205
232
|
let o = (async () => {
|
|
206
233
|
try {
|
|
207
234
|
let n = await t(r, i);
|
|
208
|
-
return n &&
|
|
235
|
+
return n && N(e, n), n;
|
|
209
236
|
} finally {
|
|
210
237
|
n.delete(r.id);
|
|
211
238
|
}
|
|
@@ -213,18 +240,18 @@ function A(e, t) {
|
|
|
213
240
|
return n.set(r.id, o), o;
|
|
214
241
|
};
|
|
215
242
|
}
|
|
216
|
-
function
|
|
243
|
+
function F(e, t) {
|
|
217
244
|
let n = new Set(t && Array.isArray(t.experiences) ? t.experiences.map((e) => e.id) : []);
|
|
218
245
|
return (t, r) => n.has(t.id) ? e(t, r) : Promise.resolve(null);
|
|
219
246
|
}
|
|
220
|
-
function
|
|
247
|
+
function I() {
|
|
221
248
|
return {
|
|
222
249
|
name: "dynamic-experiences",
|
|
223
250
|
setup: (e) => ({ onStart: i({
|
|
224
251
|
source: e.session.store.map((e) => e.id),
|
|
225
252
|
effect: async (t) => {
|
|
226
|
-
let { config: n, previewToken: r } = await
|
|
227
|
-
if (e.contentLoader =
|
|
253
|
+
let { config: n, previewToken: r } = await O(e), i = r !== void 0, a = r === void 0 ? void 0 : { previewToken: r };
|
|
254
|
+
if (e.contentLoader = P(e, F((t) => e.getExperienceContent(t, a), n)), !n) return;
|
|
228
255
|
let o = e.seededVersionId;
|
|
229
256
|
if (o !== null && o !== n.versionId) {
|
|
230
257
|
e.versionSkew = {
|
|
@@ -233,7 +260,7 @@ function M() {
|
|
|
233
260
|
}, `${n.versionId}${o}`;
|
|
234
261
|
return;
|
|
235
262
|
}
|
|
236
|
-
e.previewEmbedderOrigins = n.previewEmbedderOrigins ?? null,
|
|
263
|
+
e.previewEmbedderOrigins = n.previewEmbedderOrigins ?? null, x(e, n, {
|
|
237
264
|
isPreview: i,
|
|
238
265
|
sessionId: t
|
|
239
266
|
});
|
|
@@ -242,4 +269,4 @@ function M() {
|
|
|
242
269
|
};
|
|
243
270
|
}
|
|
244
271
|
//#endregion
|
|
245
|
-
export {
|
|
272
|
+
export { x as n, I as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require("./logger-CSTvAyyB.cjs");const e=require("./preview-unavailable-ChKFij_K.cjs");require("./api-PeY2M79y.cjs");let t=require("effector"),n=require("@picked/delivery-api-client");function r(e){let t=2166136261;for(let n of e)t^=n.codePointAt(0)??0,t=Math.imul(t,16777619);return t>>>0}function i(e){let t=e;return t^=t>>>16,t=Math.imul(t,2246822507),t^=t>>>13,t=Math.imul(t,3266489909),t^=t>>>16,t>>>0}function a(e,t){return i(r(`${e}:${t}`))%100}function o(e,t){return t<=0?!1:t>=100||e<t}var s=4294967296;function c(e,t,n){return(i(r(`${e}:${t}:${n}`))+.5)/s}function l(e,t,n){return n.weight<=0?0:n.weight/-Math.log(c(e,t,n.key))}function u(e,t,n){let r=null,i=0;for(let a of n){let n=l(e,t,a);n<=0||(n>i||n===i&&r!==null&&a.key<r.key)&&(i=n,r=a)}return r}function d(e,t){if(Array.isArray(t.conditions))for(let n of t.conditions)e.registerCondition(n)}function f(e,t){e.registerExperience({id:t.id,key:t.key,name:t.name,targets:t.targets,nodes:t.nodes,edges:t.edges,condition:t.condition,initializeOpen:t.initializeOpen,componentName:t.componentName})}function p(e){return typeof e!=`object`||!e?!1:`id`in e&&`key`in e&&`type`in e&&`name`in e}function m(e,t){if(Array.isArray(t.fields))for(let n of t.fields)p(n)&&e.registerField(n)}function h(e,t){if(!Array.isArray(t.steps))return;let n=new Map(t.fields.map(e=>[e.id,e.key]));for(let r of t.steps){let t=[];for(let e of r.fieldIds??[]){let i=n.get(e);if(i===void 0){`${r.key}${e}`;continue}t.push(i)}let i=r.layoutContentId?e.contents.getById(r.layoutContentId):null;e.registerStep({id:r.id,key:r.key,name:r.name,fieldKeys:t,layoutName:r.layoutName,...r.layoutContentId!==void 0&&{layoutContentId:r.layoutContentId,layoutContentStore:i}})}}function g(e,t){if(Array.isArray(t.experiences))for(let n of t.experiences)f(e,n)}function _(e,t,n){E(e,t,n.isPreview,n.sessionId),d(e,t),m(e,t),h(e,t),b(e,t),g(e,t)}var v=25e3,y=3e4;function b(e,t){if(!Array.isArray(t.actions))return;let n=new Map(t.fields.map(e=>[e.id,e.key])),r=new Set(t.actions.map(e=>e.key)),i=new Set;for(let t of e.actions.listStore.getState())t.published?r.has(t.key)||e.actions.unregister(t.key):i.add(t.key);for(let r of t.actions){if(i.has(r.key)){`${r.key}`;continue}let a=[];for(let e of r.fieldIds??[]){let t=n.get(e);if(t===void 0){`${r.key}${e}`;continue}a.push(t)}let o={key:r.key,fieldKeys:a,versionId:t.versionId};e.actions.register({key:r.key,action:async t=>x(e,o,t),published:!0})}}async function x(e,t,r){let i=Date.now()+y,a={};for(let e of t.fieldKeys){let t=r.responses.find(t=>t.fieldKey===e);t?.value!==void 0&&(a[e]=t.value)}let o=e.session.store.getState().id,s=S(e),c=r.signal,l=await(0,n.runAction)(e.apiUrl,{key:t.key,projectId:e.projectId,session:{id:o},responses:a,versionId:t.versionId},{timeoutMs:Math.min(v,i-Date.now()),...c?{signal:c}:{},...s===void 0?{}:{previewToken:s}});if(l.status===`succeeded`)return l.response;if(l.status===`no_response`)return;if(l.workflowRunId===null)throw Error(`Action '${t.key}' is pending with no run to wait on`);let u=await(0,n.waitForActionResponse)(e.apiUrl,{workflowRunId:l.workflowRunId,projectId:e.projectId,sessionId:o},{timeoutMs:Math.max(1,i-Date.now()),...c?{signal:c}:{}});return u.status===`succeeded`?u.response:void 0}function S(t){let n=t.searchParams[e.n];if(n&&n.length>0)return n[0]}function C(t,n){return t.getProjectConfig(n===void 0?void 0:{previewToken:n}).catch(t=>t instanceof e.t?t:null)}async function w(t){let n=S(t),r=await C(t,n);if(!(r instanceof e.t))return{config:r,previewToken:n};e.i(t.searchParams,e.n),t.previewUnavailable=!0,`${r.message}`;let i=await C(t,void 0);return{config:i instanceof e.t?null:i,previewToken:void 0}}function T(t){let n=new Map,r=t.searchParams.feature;if(!r)return n;for(let t of r){let r=e.c(t);r&&n.set(r.id,r.bucket)}return n}function E(e,t,n,r){let i=T(e);for(let a of t.features){let t=i.get(a.id);if(t!==void 0){D(e,a,t);continue}O(e,a,n,r)}}function D(e,t,n){e.registerFeature(t.id,{key:`${n}`,name:t.name,enabled:!0,weight:t.weight,...t.valueType!==void 0&&{valueType:t.valueType},...t.variants!==void 0&&{variants:t.variants},storage:`session`,decide:()=>n})}function O(e,t,n,r){let i=t.id,s=t.variants;e.registerFeature(i,{key:`v${t.version}`,name:t.name,enabled:t.enabled,weight:t.weight,storage:n?`session`:`local`,valueType:t.valueType,variants:s,decide:()=>t.valueType===`text`?!s||s.length===0?(`${i}`,!1):u(r,i,s)?.value??!1:o(a(r,i),t.weight)})}function k(e,t){for(let n of[...t.references??[],...t.content])e.registerContent({id:n.id,contentModelKey:n.contentModelKey,data:n.data})}function A(e,t){let n=new Map;return(r,i)=>{let a=n.get(r.id);if(a)return a;let o=(async()=>{try{let n=await t(r,i);return n&&k(e,n),n}finally{n.delete(r.id)}})();return n.set(r.id,o),o}}function j(e,t){let n=new Set(t&&Array.isArray(t.experiences)?t.experiences.map(e=>e.id):[]);return(t,r)=>n.has(t.id)?e(t,r):Promise.resolve(null)}function M(){return{name:`dynamic-experiences`,setup:e=>({onStart:(0,t.attach)({source:e.session.store.map(e=>e.id),effect:async t=>{let{config:n,previewToken:r}=await w(e),i=r!==void 0,a=r===void 0?void 0:{previewToken:r};if(e.contentLoader=A(e,j(t=>e.getExperienceContent(t,a),n)),!n)return;let o=e.seededVersionId;if(o!==null&&o!==n.versionId){e.versionSkew={seeded:o,resolved:n.versionId},`${n.versionId}${o}`;return}e.previewEmbedderOrigins=n.previewEmbedderOrigins??null,_(e,n,{isPreview:i,sessionId:t})}})})}}Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return M}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./logger-CSTvAyyB.cjs"),t=require("./supports-DBzjGaWD.cjs"),n=require("./storage-DUw9UJ2h.cjs");let r=require("effector"),i=require("@withease/factories");var a=(0,r.createDomain)(`feature`);function o(e){return e?.enabled===!1}function s(e){return e===`true`||e!==`false`&&e}function c(e){let t=e.indexOf(`:`);if(t<=0)return null;let n=e.substring(0,t),r=e.substring(t+1);return r.length===0?null:{id:n,bucket:s(r)}}var l=(0,i.createFactory)(({client:t})=>{let i=a.store({}),c=a.store([]),l=(0,r.createApi)(i,{register(e,t){return{...e,[t.id]:t.feature}}}),u=(0,r.createEvent)();(0,r.sample)({clock:u,source:i,filter:(e,{id:t})=>e[t]!==void 0,fn:(e,{id:t})=>`Feature '${t}' already registered. Registering again will override the previous registration.`}).watch(t=>e.t(`warn`,t)),(0,r.sample)({clock:u,fn:({id:e,feature:t})=>Object.freeze({id:e,feature:{id:e,feature:{...t,id:e}}}),target:l.register});let d=(0,r.createEffect)(async({id:e,key:t,storage:r=`local`,enabled:i})=>{if(i===!1)return null;let a=n.t(`feature:${e}:${t}`,`global`),o=(r===`session`?n.r:n.n).get(a).text();return o?{id:e,key:t,bucket:s(o),storage:r}:null}),f=(0,r.createEffect)(e=>{if(!e)return null;let t=n.t(`feature:${e.id}:${e.key}`,`global`);(e.storage===`session`?n.r:n.n).set(t,e.bucket)}),p=new Map,m=(0,r.attach)({source:{allFeaturesStore:i,resolvedFeaturesStore:c},effect:async({allFeaturesStore:e,resolvedFeaturesStore:t},{id:n,decide:r,key:i})=>{let a=t.find(e=>e.id===n&&e.key===i);if(a)return a;let s=e[n];if(!s)throw Error(`Feature with id '${n}' not found`);if(o(s.feature))return{id:s.id,bucket:!1,key:i,storage:s.feature.storage};let c=p.get(`${n}:${i}`);if(c!==void 0){let e=await c;return{id:s.id,bucket:e,key:i,storage:s.feature.storage}}let l=r();p.set(`${n}:${i}`,l);let u=await l;return{id:s.id,bucket:u,key:i,storage:s.feature.storage}}});(0,r.sample)({clock:l.register,fn:e=>{let{id:t,feature:n}=e;return{id:t,key:n.feature.key,storage:n.feature.storage,enabled:n.feature.enabled}},target:d}),(0,r.sample)({source:i,clock:m.doneData,filter:(e,t)=>!o(e[t.id]?.feature),fn:(e,t)=>{let{id:n,bucket:r,storage:i}=t,a=e[n]?.feature.key;return a?{key:a,id:n,bucket:r,storage:i}:null},target:f});let h=(0,r.combine)({allFeaturesStore:i,resolvedFeaturesStore:c}).map(({allFeaturesStore:e,resolvedFeaturesStore:t})=>Object.values(e).map(e=>{let n=t.find(t=>t.id===e.id&&t.key===e.feature.key);return n?{id:e.id,name:e.feature.name,key:e.feature.key,enabled:e.feature.enabled,weight:e.feature.weight,valueType:e.feature.valueType,variants:e.feature.variants,getBucket:()=>({id:e.id,bucket:n.bucket}),isResolved:!0}:{id:e.id,name:e.feature.name,key:e.feature.key,enabled:e.feature.enabled,weight:e.feature.weight,valueType:e.feature.valueType,variants:e.feature.variants,getBucket:async()=>await m(e.feature),isResolved:!1}}));(0,r.sample)({clock:m.doneData,source:{resolvedFeatures:c,allFeatures:i},filter:({resolvedFeatures:e,allFeatures:t},{id:n,key:r})=>!o(t[n]?.feature)&&!e.some(e=>e.id===n&&e.key===r),fn:(e,t)=>t,target:t.eventBus.prepend(e=>({type:`feature_decide`,feature:e}))}),(0,r.sample)({clock:[d.doneData,m.doneData],source:{resolvedFeatures:c,allFeatures:i},fn:({resolvedFeatures:e,allFeatures:t},n)=>!n||o(t[n.id]?.feature)||e.some(e=>e.id===n.id&&e.key===n.key)?e:[...e,n],target:c});function g(e){return h.map(t=>t.find(t=>t.id===e),{skipVoid:!1})}let _=new Map,v=new Map,y=new Map;function b(e){let t=_.get(e);if(t)return t;let n=g(e);return _.set(e,n),n}function x(e){return i.map(t=>t[e],{skipVoid:!1})}function S(e){let t=(0,r.createStore)(async()=>void 0,{skipVoid:!1}),n=b(e),i=(0,r.attach)({source:n,effect:async e=>{if(e)return async()=>(await e.getBucket()).bucket}});return(0,r.sample)({clock:n,target:i}),(0,r.sample)({clock:i.doneData,filter:e=>e!==void 0,target:t}),i(),t}function C(e){let t=v.get(e);if(t)return t;let n=S(e);return v.set(e,n),n}function w(e){let t=C(e),n=(0,r.createStore)(void 0,{skipVoid:!1}),i=(0,r.attach)({source:t,mapParams:(e,t)=>t,effect:(0,r.createEffect)(async e=>await e())});return(0,r.sample)({clock:i.doneData,fn:t=>{if(t!==void 0)return{id:e,bucket:t}},target:n}),(0,r.sample)({clock:t,target:i}),i(),n}function T(e){let t=y.get(e);if(t)return t;let n=w(e);return y.set(e,n),n}return{register:u,getById:b,getByName:x,listStore:h,getEvokableFeature:C,getFeatureResult:T}});function u(e){return(0,i.invoke)(l,e)}var d=(e,t,n)=>{n.register({id:e,feature:t})},f=()=>`0.0.98-next.
|
|
1
|
+
const e=require("./logger-CSTvAyyB.cjs"),t=require("./supports-DBzjGaWD.cjs"),n=require("./storage-DUw9UJ2h.cjs");let r=require("effector"),i=require("@withease/factories");var a=(0,r.createDomain)(`feature`);function o(e){return e?.enabled===!1}function s(e){return e===`true`||e!==`false`&&e}function c(e){let t=e.indexOf(`:`);if(t<=0)return null;let n=e.substring(0,t),r=e.substring(t+1);return r.length===0?null:{id:n,bucket:s(r)}}var l=(0,i.createFactory)(({client:t})=>{let i=a.store({}),c=a.store([]),l=(0,r.createApi)(i,{register(e,t){return{...e,[t.id]:t.feature}}}),u=(0,r.createEvent)();(0,r.sample)({clock:u,source:i,filter:(e,{id:t})=>e[t]!==void 0,fn:(e,{id:t})=>`Feature '${t}' already registered. Registering again will override the previous registration.`}).watch(t=>e.t(`warn`,t)),(0,r.sample)({clock:u,fn:({id:e,feature:t})=>Object.freeze({id:e,feature:{id:e,feature:{...t,id:e}}}),target:l.register});let d=(0,r.createEffect)(async({id:e,key:t,storage:r=`local`,enabled:i})=>{if(i===!1)return null;let a=n.t(`feature:${e}:${t}`,`global`),o=(r===`session`?n.r:n.n).get(a).text();return o?{id:e,key:t,bucket:s(o),storage:r}:null}),f=(0,r.createEffect)(e=>{if(!e)return null;let t=n.t(`feature:${e.id}:${e.key}`,`global`);(e.storage===`session`?n.r:n.n).set(t,e.bucket)}),p=new Map,m=(0,r.attach)({source:{allFeaturesStore:i,resolvedFeaturesStore:c},effect:async({allFeaturesStore:e,resolvedFeaturesStore:t},{id:n,decide:r,key:i})=>{let a=t.find(e=>e.id===n&&e.key===i);if(a)return a;let s=e[n];if(!s)throw Error(`Feature with id '${n}' not found`);if(o(s.feature))return{id:s.id,bucket:!1,key:i,storage:s.feature.storage};let c=p.get(`${n}:${i}`);if(c!==void 0){let e=await c;return{id:s.id,bucket:e,key:i,storage:s.feature.storage}}let l=r();p.set(`${n}:${i}`,l);let u=await l;return{id:s.id,bucket:u,key:i,storage:s.feature.storage}}});(0,r.sample)({clock:l.register,fn:e=>{let{id:t,feature:n}=e;return{id:t,key:n.feature.key,storage:n.feature.storage,enabled:n.feature.enabled}},target:d}),(0,r.sample)({source:i,clock:m.doneData,filter:(e,t)=>!o(e[t.id]?.feature),fn:(e,t)=>{let{id:n,bucket:r,storage:i}=t,a=e[n]?.feature.key;return a?{key:a,id:n,bucket:r,storage:i}:null},target:f});let h=(0,r.combine)({allFeaturesStore:i,resolvedFeaturesStore:c}).map(({allFeaturesStore:e,resolvedFeaturesStore:t})=>Object.values(e).map(e=>{let n=t.find(t=>t.id===e.id&&t.key===e.feature.key);return n?{id:e.id,name:e.feature.name,key:e.feature.key,enabled:e.feature.enabled,weight:e.feature.weight,valueType:e.feature.valueType,variants:e.feature.variants,getBucket:()=>({id:e.id,bucket:n.bucket}),isResolved:!0}:{id:e.id,name:e.feature.name,key:e.feature.key,enabled:e.feature.enabled,weight:e.feature.weight,valueType:e.feature.valueType,variants:e.feature.variants,getBucket:async()=>await m(e.feature),isResolved:!1}}));(0,r.sample)({clock:m.doneData,source:{resolvedFeatures:c,allFeatures:i},filter:({resolvedFeatures:e,allFeatures:t},{id:n,key:r})=>!o(t[n]?.feature)&&!e.some(e=>e.id===n&&e.key===r),fn:(e,t)=>t,target:t.eventBus.prepend(e=>({type:`feature_decide`,feature:e}))}),(0,r.sample)({clock:[d.doneData,m.doneData],source:{resolvedFeatures:c,allFeatures:i},fn:({resolvedFeatures:e,allFeatures:t},n)=>!n||o(t[n.id]?.feature)||e.some(e=>e.id===n.id&&e.key===n.key)?e:[...e,n],target:c});function g(e){return h.map(t=>t.find(t=>t.id===e),{skipVoid:!1})}let _=new Map,v=new Map,y=new Map;function b(e){let t=_.get(e);if(t)return t;let n=g(e);return _.set(e,n),n}function x(e){return i.map(t=>t[e],{skipVoid:!1})}function S(e){let t=(0,r.createStore)(async()=>void 0,{skipVoid:!1}),n=b(e),i=(0,r.attach)({source:n,effect:async e=>{if(e)return async()=>(await e.getBucket()).bucket}});return(0,r.sample)({clock:n,target:i}),(0,r.sample)({clock:i.doneData,filter:e=>e!==void 0,target:t}),i(),t}function C(e){let t=v.get(e);if(t)return t;let n=S(e);return v.set(e,n),n}function w(e){let t=C(e),n=(0,r.createStore)(void 0,{skipVoid:!1}),i=(0,r.attach)({source:t,mapParams:(e,t)=>t,effect:(0,r.createEffect)(async e=>await e())});return(0,r.sample)({clock:i.doneData,fn:t=>{if(t!==void 0)return{id:e,bucket:t}},target:n}),(0,r.sample)({clock:t,target:i}),i(),n}function T(e){let t=y.get(e);if(t)return t;let n=w(e);return y.set(e,n),n}return{register:u,getById:b,getByName:x,listStore:h,getEvokableFeature:C,getFeatureResult:T}});function u(e){return(0,i.invoke)(l,e)}var d=(e,t,n)=>{n.register({id:e,feature:t})},f=()=>`0.0.98-next.2`;function p(){if(!t.f())return{};let e=new URLSearchParams(window.location.search),r={},i=new Set;for(let[t]of e.entries())t.startsWith(`picked-`)&&i.add(t);for(let t of i){let n=t.replace(`picked-`,``);r[n]=e.getAll(t)}let a=n.t(`s`);if(i.size>0)n.r.set(a,r);else{let e=n.r.get(a);if(e)return e.json()||{}}return r}function m(e,r){if(delete e[r],!t.f())return;let i=n.t(`s`),a=n.r.get(i).json();if(!a)return;let o=Object.fromEntries(Object.entries(a).filter(([e])=>e!==r));if(Object.keys(o).length===0){n.r.remove(i);return}n.r.set(i,o)}var h=`preview-token`;function g(){return!t.f()||!t.t()?!1:!!p()[h]?.[0]}var _=class extends Error{constructor(e){super(`The preview workspace for project "${e}" no longer exists; its published configuration is still available.`),this.name=`PreviewUnavailableError`}};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return _}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require("./logger-CSTvAyyB.cjs");const e=require("./api-
|
|
1
|
+
require("./logger-CSTvAyyB.cjs");const e=require("./api-PeY2M79y.cjs"),t=require("./registry-C1t8l3t9.cjs");function n(e,t){try{return e?.onRequest(t)??{}}catch{return{}}}function r(e,t,n){try{e.onSettled?.(t,n)}catch{}}async function i(e,t,i){let a=n(e?.(),t),o;try{let e=await i(a.headers,e=>{o=e});return r(a,e!==null,o),e}catch(e){throw r(a,!1,o),e}}var a=`bundle`,o=`api`;async function s(){try{let e=await import(`virtual:picked/data`);return t.r(e)?e:null}catch{return null}}function c(e){if(e===void 0||t.r(e))return e}function l(n){let{apiUrl:r,projectId:l,previewToken:u,signal:d,getRequestObserver:f}=n,p=!!u,m=p?o:n.mode,h=c(p?void 0:n.bundle),g=p?void 0:n.projectConfig,_=n.getContent,v={mode:m??o,manifest:null,previewUnavailable:!1},y,b,x=new Map;function S(){if(m===o)return Promise.resolve(null);if(h)return Promise.resolve(h);let e=t.t();return e?Promise.resolve(e):(y??=s(),y)}function C(e){v.mode=e?a:o,v.manifest=e?e.manifestMetadata:null}async function w(){if(g)return C(await S()),g;let t=await S();return C(t),t?t.projectConfig:m===a?null:i(f,`project-config`,(t,n)=>e.n(r,l,{...u!==void 0&&{previewToken:u},...d!==void 0&&{signal:d},...t!==void 0&&{headers:t},onResponse:e=>{v.previewUnavailable=p&&e===404,n?.(e)}}))}async function T(t,n){let o=u===void 0?void 0:{previewToken:u};if(_)return _(t,o);let s=await S();if(C(s),s)try{return await s.experienceContent(t,o)}catch{return`${t.id}`,null}if(m===a)return null;let c=n??d;return i(f,`experience-content`,(n,i)=>e.t(r,l,t.id,{...u!==void 0&&{previewToken:u},...c!==void 0&&{signal:c},...n!==void 0&&{headers:n},...i!==void 0&&{onResponse:i}}))}return{meta:v,getProjectConfig:()=>(b??=w(),b),getContent:(e,t)=>{let n=x.get(e.id);if(n)return n;let r=T(e,t?.signal).finally(()=>{x.delete(e.id)});return x.set(e.id,r),r}}}exports.createPickedDataProvider=l;
|
|
@@ -12,7 +12,17 @@ export interface ActionContext {
|
|
|
12
12
|
experience: ExperienceInstance;
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* What an action receives first: the state snapshot, the call's arguments, and, when the
|
|
16
|
+
* caller set a signal or a timeout, or an ActionNode runs the action, a signal that aborts
|
|
17
|
+
* once the caller stops waiting. An ActionNode stops waiting when the visitor leaves it.
|
|
18
|
+
*/
|
|
19
|
+
export type ActionSnapshot = StateSnapshot & {
|
|
20
|
+
args: unknown[];
|
|
21
|
+
signal?: AbortSignal;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* A named callable function that receives a state snapshot, action args, and a context, and
|
|
25
|
+
* returns or resolves to its response.
|
|
16
26
|
*
|
|
17
27
|
* `context` is an {@link ActionContext} only when the action is executed as an
|
|
18
28
|
* ActionNode in an experience flow. It is `null` for every other invocation path,
|
|
@@ -21,47 +31,108 @@ export interface ActionContext {
|
|
|
21
31
|
* validation/visibility). Rule-logic paths evaluate the action against a snapshot
|
|
22
32
|
* only and have no triggering instance.
|
|
23
33
|
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
34
|
+
* While an ActionNode's action runs, its experience ignores `goToNextStep`, `goToStepById`
|
|
35
|
+
* and `goToStepByKey`, so the action's outcome picks the branch. `goToPreviousStep` moves the
|
|
36
|
+
* visitor back, and the flow then drops the outcome. Open-state events (`open`, `close`,
|
|
37
|
+
* `toggleOpen`, `setOpen`) on `context.experience` take effect at once, and the flow still
|
|
38
|
+
* moves on when the action settles.
|
|
39
|
+
*
|
|
40
|
+
* Whatever the action returns, or resolves to, is its response: `client.actions.run`
|
|
41
|
+
* resolves to it, and a rule reading `actions.<key>` sees it when it is a logic value.
|
|
30
42
|
*
|
|
31
43
|
* When executed as an ActionNode, only a thrown error (or rejected promise) routes to
|
|
32
|
-
* the `onFail` edge. Every resolved value
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* throw on the failure case, e.g. `if (!response.ok) throw new Error(...)`. Outside a
|
|
36
|
-
* flow (manual invocation, rule logic) the return value is used directly and this
|
|
37
|
-
* branching does not apply.
|
|
44
|
+
* the `onFail` edge. Every resolved value, `false` and `undefined` included, routes to
|
|
45
|
+
* `onSuccess`. An action that maps an API response to the failure branch must therefore
|
|
46
|
+
* throw on the failure case, e.g. `if (!response.ok) throw new Error(...)`.
|
|
38
47
|
*/
|
|
39
|
-
export type Action = (snapshot:
|
|
40
|
-
|
|
41
|
-
|
|
48
|
+
export type Action = (snapshot: ActionSnapshot, context: ActionContext | null) => unknown;
|
|
49
|
+
/** How `client.actions.run` runs an action. */
|
|
50
|
+
export interface ActionRunOptions {
|
|
51
|
+
/** The arguments the action receives in its snapshot's `args`. */
|
|
52
|
+
args?: unknown[];
|
|
53
|
+
/** The experience the action runs for, handed to it as its context. */
|
|
54
|
+
experience?: ExperienceInstance;
|
|
55
|
+
/** Stops the run, rejecting with the signal's reason. */
|
|
56
|
+
signal?: AbortSignal;
|
|
57
|
+
/** The longest the run may take before it rejects with a `TimeoutError`. */
|
|
58
|
+
timeoutMs?: number;
|
|
59
|
+
}
|
|
60
|
+
/** Where the latest run a framework binding started stands. */
|
|
61
|
+
export interface ActionRunState {
|
|
62
|
+
status: 'idle' | 'running' | 'succeeded' | 'failed';
|
|
63
|
+
/** The response of the latest run, once it succeeded. */
|
|
64
|
+
response: unknown;
|
|
65
|
+
/** What the latest run threw, once it failed. */
|
|
66
|
+
error: unknown;
|
|
67
|
+
}
|
|
68
|
+
/** How one run a framework binding started ended. */
|
|
69
|
+
export type SettledActionRun = {
|
|
70
|
+
status: 'succeeded';
|
|
71
|
+
response: unknown;
|
|
72
|
+
} | {
|
|
73
|
+
status: 'failed';
|
|
74
|
+
error: unknown;
|
|
75
|
+
};
|
|
76
|
+
/** The state of the latest run a binding started, and `run` to start one. */
|
|
77
|
+
export interface ActionBinding extends ActionRunState {
|
|
78
|
+
/** Runs the action with these arguments, resolving to how the run ended; never rejects. */
|
|
79
|
+
run: (...args: unknown[]) => Promise<SettledActionRun>;
|
|
80
|
+
}
|
|
81
|
+
/** The callable action: calling it runs the action with the arguments it is called with. */
|
|
82
|
+
export type EvokableAction = (...args: unknown[]) => ReturnType<Action>;
|
|
83
|
+
/** The callable action that also carries its binding: calling it runs the action as is. */
|
|
84
|
+
export type ActionHandle = EvokableAction & ActionBinding;
|
|
85
|
+
/** The action index a client holds. */
|
|
42
86
|
export type ActionsStore = ReturnType<typeof createActionIndexFactory>;
|
|
87
|
+
/** One registered action. */
|
|
43
88
|
export interface ActionIndexItem {
|
|
44
89
|
key: string;
|
|
45
90
|
action: Action;
|
|
91
|
+
/** True when the dynamic-experiences plugin registered the action from the project config. */
|
|
92
|
+
published: boolean;
|
|
93
|
+
}
|
|
94
|
+
/** What registering an action takes. */
|
|
95
|
+
export interface ActionRegistration {
|
|
96
|
+
key: string;
|
|
97
|
+
action: Action;
|
|
98
|
+
/** Marks an action registered from the project config; a host's own action omits it. */
|
|
99
|
+
published?: boolean;
|
|
46
100
|
}
|
|
101
|
+
/** The options the per-key stores take. */
|
|
102
|
+
type PerKeyOptions = {
|
|
103
|
+
experience: ExperienceInstance;
|
|
104
|
+
} | undefined;
|
|
105
|
+
/** Gives the store built for a key and experience, building it the first time. */
|
|
106
|
+
type PerKey<T> = ((actionKey: string, options?: PerKeyOptions) => T) & {
|
|
107
|
+
/** Gives the store built for the key and experience, or `undefined` when there is none. */
|
|
108
|
+
find: (actionKey: string, options?: PerKeyOptions) => T | undefined;
|
|
109
|
+
};
|
|
47
110
|
declare const createActionIndexFactory: ({ client }: {
|
|
48
111
|
client: Picked;
|
|
49
112
|
}) => {
|
|
50
|
-
register: EventCallable<
|
|
51
|
-
|
|
52
|
-
action: Action;
|
|
53
|
-
}>;
|
|
113
|
+
register: EventCallable<ActionRegistration>;
|
|
114
|
+
unregister: EventCallable<string>;
|
|
54
115
|
getByKey: (key: string) => Store<Action | undefined>;
|
|
55
116
|
listStore: Store<ActionIndexItem[]>;
|
|
56
|
-
getEvokableAction:
|
|
117
|
+
getEvokableAction: PerKey<Store<EvokableAction>>;
|
|
118
|
+
getActionBinding: PerKey<Store<ActionHandle>>;
|
|
119
|
+
getActionResult: (actionKey: string, options?: {
|
|
120
|
+
experience: ExperienceInstance;
|
|
121
|
+
}) => Store<unknown>;
|
|
122
|
+
refreshActionResult: (actionKey: string, options?: {
|
|
123
|
+
experience: ExperienceInstance;
|
|
124
|
+
}) => void;
|
|
125
|
+
isActionResultQueued: (actionKey: string, options?: {
|
|
57
126
|
experience: ExperienceInstance;
|
|
58
|
-
}) =>
|
|
127
|
+
}) => boolean;
|
|
128
|
+
run: (key: string, options?: ActionRunOptions) => Promise<unknown>;
|
|
129
|
+
isPublished: (key: string) => boolean;
|
|
59
130
|
};
|
|
60
131
|
/**
|
|
61
132
|
* Creates an action index with lifecycle stores and registration logic.
|
|
62
133
|
*
|
|
63
134
|
* @param {object} params - Factory parameters including the client.
|
|
64
|
-
* @returns {ReturnType<typeof createActionIndexFactory>} The action index with register, getByKey, listStore, and
|
|
135
|
+
* @returns {ReturnType<typeof createActionIndexFactory>} The action index with register, unregister, getByKey, listStore, the evokable, binding and result stores, refreshActionResult, isActionResultQueued, run and isPublished.
|
|
65
136
|
* @example
|
|
66
137
|
* ```ts
|
|
67
138
|
* const actions = createActionIndex({ client })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../../src/entities/action/action.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,OAAO,
|
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../../src/entities/action/action.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experience-instance.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience-instance/experience-instance.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,OAAO,EAOL,KAAK,MAAM,EACX,KAAK,aAAa,EAGlB,KAAK,KAAK,EACX,MAAM,UAAU,CAAA;AAEjB,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAiB1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAKtD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;IAChC,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;IAC9B,sGAAsG;IACtG,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC,CAAA;IAC3C,MAAM,EAAE,WAAW,GAAG,SAAS,CAAA;IAC/B,cAAc,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAA;IACjD;;OAEG;IACH,0BAA0B,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,SAAS,EAAE,SAAS,CAAA;KAAE,GAAG,IAAI,CAAC,CAAA;IACxF,UAAU,EAAE,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC,CAAA;IAC5C,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAC3B,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IACzB,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IAC1B,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IAC/B,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAC/B,SAAS,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;IACvC,gBAAgB,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IAC9C;;;;;;;;OAQG;IACH,gBAAgB,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IAC9C,iBAAiB,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IAC/C,2BAA2B,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAA;IACpD,kBAAkB,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;IACnC,gBAAgB,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;IACjC,YAAY,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IACjC,gBAAgB,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IACrC,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACnC,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,iBAAiB,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAA;IACxC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;CACnC;AAED,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAA;AACtF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAA;CACzC;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"experience-instance.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience-instance/experience-instance.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -22,6 +22,6 @@ export type * from './utils/events';
|
|
|
22
22
|
export type * from './utils/search-params';
|
|
23
23
|
export type * from './entities/response/response';
|
|
24
24
|
export { Picked } from './picked';
|
|
25
|
-
export type { ActionKeys, ContentForStep, ContentModelKeys, ContentRecordOf, ExperienceKeys, FeatureKeys, FeatureValueFor, FieldKeys, FieldKeysForStep, FieldValueFor, KnownActionKeys, KnownExperienceKeys, KnownFeatureKeys, KnownFieldKeys, KnownStepKeys, PickedSchemaRegistry, ReferencedContent, StepContentModelsMap, StepKeys, StepLayoutContent, TypedContent, } from './schema-registry';
|
|
25
|
+
export type { ActionKeys, ContentForStep, ContentModelKeys, ContentRecordOf, ExperienceKeys, FeatureKeys, FeatureValueFor, FieldKeys, FieldKeysForStep, FieldValueFor, KnownActionKeys, KnownExperienceKeys, KnownFeatureKeys, KnownFieldKeys, KnownStepKeys, PickedSchemaRegistry, ReferencedContent, WorkflowActionKeys, StepContentModelsMap, StepKeys, StepLayoutContent, TypedContent, } from './schema-registry';
|
|
26
26
|
export { isContentOfModel, toTypedContentStore } from './typed-content';
|
|
27
27
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,4GAA4G;AAC5G,cAAc,WAAW,CAAA;AACzB,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,0BAA0B,CAAA;AAC7C,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,4BAA4B,CAAA;AAC/C,mBAAmB,8BAA8B,CAAA;AACjD,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,oCAAoC,CAAA;AACvD,mBAAmB,oDAAoD,CAAA;AACvE,mBAAmB,kCAAkC,CAAA;AACrD,mBAAmB,sBAAsB,CAAA;AACzC,mBAAmB,4BAA4B,CAAA;AAC/C,mBAAmB,wBAAwB,CAAA;AAC3C,mBAAmB,2BAA2B,CAAA;AAC9C,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,4BAA4B,CAAA;AAC/C,mBAAmB,0BAA0B,CAAA;AAC7C,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,4BAA4B,CAAA;AAC/C,mBAAmB,gBAAgB,CAAA;AACnC,mBAAmB,uBAAuB,CAAA;AAC1C,mBAAmB,8BAA8B,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,YAAY,EACV,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,WAAW,EACX,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,QAAQ,EACR,iBAAiB,EACjB,YAAY,GACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,4GAA4G;AAC5G,cAAc,WAAW,CAAA;AACzB,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,0BAA0B,CAAA;AAC7C,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,4BAA4B,CAAA;AAC/C,mBAAmB,8BAA8B,CAAA;AACjD,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,oCAAoC,CAAA;AACvD,mBAAmB,oDAAoD,CAAA;AACvE,mBAAmB,kCAAkC,CAAA;AACrD,mBAAmB,sBAAsB,CAAA;AACzC,mBAAmB,4BAA4B,CAAA;AAC/C,mBAAmB,wBAAwB,CAAA;AAC3C,mBAAmB,2BAA2B,CAAA;AAC9C,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,4BAA4B,CAAA;AAC/C,mBAAmB,0BAA0B,CAAA;AAC7C,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,4BAA4B,CAAA;AAC/C,mBAAmB,gBAAgB,CAAA;AACnC,mBAAmB,uBAAuB,CAAA;AAC1C,mBAAmB,8BAA8B,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,YAAY,EACV,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,WAAW,EACX,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,QAAQ,EACR,iBAAiB,EACjB,YAAY,GACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules-logic.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/rules-logic.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AAG9C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"rules-logic.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/rules-logic.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AAG9C,OAAO,KAAK,EAEV,WAAW,EACX,SAAS,EAGV,MAAM,iBAAiB,CAAA;AAExB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAEvC,oGAAoG;AACpG,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB;AA4KD;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,MAAM,CAAC,uBAAuB,EAAE,OAAO,EAAE,KAAK,CAAC,CAElD"}
|