@picked/client 0.0.82 → 0.0.83-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-B_ewYO43.js → api-DqBJhsaz.js} +1 -1
- package/dist/{api-D8G-8HVZ.cjs → api-lXnAqLoj.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/esm/index.js +417 -416
- package/dist/esm/plugins/dynamic-experiences/index.js +2 -2
- package/dist/esm/server/index.js +13 -13
- package/dist/{experience-instance-DGk11d8a.js → experience-instance-BibCf-8y.js} +299 -154
- package/dist/experience-instance-CMfjyLaI.cjs +1 -0
- package/dist/{plugin-DPZ8aMJt.cjs → plugin-K7326WFb.cjs} +1 -1
- package/dist/{plugin-WesBxGtC.js → plugin-WtyPGoxi.js} +2 -2
- package/dist/{provider-BR2HOdya.js → provider-Bv6_St9B.js} +1 -1
- package/dist/{provider-DFoze53Z.cjs → provider-DB9w0dEw.cjs} +1 -1
- package/dist/types/entities/experience/experience.d.ts +8 -0
- package/dist/types/entities/experience/experience.d.ts.map +1 -1
- package/dist/types/entities/experience-instance/experience-instance.d.ts.map +1 -1
- package/dist/types/utils/node-tree/min-max-steps-to-leaf.d.ts +16 -6
- package/dist/types/utils/node-tree/min-max-steps-to-leaf.d.ts.map +1 -1
- package/dist/types/utils/node-tree/min-max-steps-to-origin.d.ts +18 -7
- package/dist/types/utils/node-tree/min-max-steps-to-origin.d.ts.map +1 -1
- package/dist/types/utils/node-tree/next-reachable-step-nodes.d.ts +30 -6
- package/dist/types/utils/node-tree/next-reachable-step-nodes.d.ts.map +1 -1
- package/dist/types/utils/node-tree/node-adjacency.d.ts +50 -0
- package/dist/types/utils/node-tree/node-adjacency.d.ts.map +1 -0
- package/dist/types/utils/node-tree/node-tree-index.d.ts +57 -0
- package/dist/types/utils/node-tree/node-tree-index.d.ts.map +1 -0
- package/dist/{version-BZ7EkVfb.js → version-DSu8zrH_.js} +1 -1
- package/dist/{version-F-XKx24-.cjs → version-SYU8CWbk.cjs} +1 -1
- package/package.json +3 -3
- package/dist/experience-instance-Dej3P1sE.cjs +0 -1
package/dist/esm/index.js
CHANGED
|
@@ -3,16 +3,16 @@ import { n as t, t as n } from "../rules-logic-HesIUCu6.js";
|
|
|
3
3
|
import { t as r } from "../logger-DMN6TxJJ.js";
|
|
4
4
|
import { a as i, c as a, d as o, f as s, i as c, l, m as u, n as d, o as f, p, r as m, s as h, t as g, u as _ } from "../supports-CO9bJGNl.js";
|
|
5
5
|
import { a as v, i as y, r as ee, s as b, t as x } from "../dom-BqcToNL0.js";
|
|
6
|
-
import {
|
|
7
|
-
import { i as
|
|
8
|
-
import { i as
|
|
9
|
-
import { t as
|
|
10
|
-
import { n as
|
|
11
|
-
import { attach as
|
|
12
|
-
import { createFactory as
|
|
6
|
+
import { d as S, l as C, n as w, r as te, u as T } from "../experience-instance-BibCf-8y.js";
|
|
7
|
+
import { i as ne, n as E, r as D, t as O } from "../storage-1MW3-_As.js";
|
|
8
|
+
import { i as re, n as ie, r as ae, t as oe } from "../version-DSu8zrH_.js";
|
|
9
|
+
import { t as se } from "../id-Bo4RBeOs.js";
|
|
10
|
+
import { n as ce, r as le, t as ue } from "../inert-script-report-B_bMPRzp.js";
|
|
11
|
+
import { attach as k, combine as A, createApi as j, createDomain as M, createEffect as N, createEvent as P, createStore as F, is as de, sample as I } from "effector";
|
|
12
|
+
import { createFactory as L, invoke as R } from "@withease/factories";
|
|
13
13
|
//#region src/entities/experience/experience.ts
|
|
14
|
-
var
|
|
15
|
-
let i =
|
|
14
|
+
var z = M("experience"), fe = L(({ client: e, experience: r }) => {
|
|
15
|
+
let i = z.store(r), a = j(i, { merge(e, t) {
|
|
16
16
|
return {
|
|
17
17
|
...e,
|
|
18
18
|
...t.experience
|
|
@@ -22,34 +22,34 @@ var B = N("experience"), ue = R(({ client: e, experience: r }) => {
|
|
|
22
22
|
decisionLogic: e.condition,
|
|
23
23
|
targetSelectors: e.targets,
|
|
24
24
|
initializeOpenLogic: e.initializeOpen
|
|
25
|
-
})), s =
|
|
26
|
-
let r = e.nodes.filter(
|
|
25
|
+
})), s = A(i, e.components.listStore, (e, t) => (e.componentName ? t.find((t) => t.name === e.componentName) : void 0) || t.find((t) => t.name === `experience:${e.id}`) || t.find((e) => e.name === "experience"), { skipVoid: !1 }), c = A(i, e.steps.indexStore, e.conditions.indexStore, (e, t, n) => {
|
|
26
|
+
let r = e.nodes.filter(S).map((e) => t[e.stepId]).filter((e) => e !== void 0), i = e.nodes.filter(T).map((e) => n[e.conditionId]).filter((e) => e !== void 0);
|
|
27
27
|
return {
|
|
28
28
|
steps: r,
|
|
29
29
|
nodes: e.nodes,
|
|
30
30
|
edges: e.edges,
|
|
31
31
|
conditions: i
|
|
32
32
|
};
|
|
33
|
-
}), l = r.actions ?? [],
|
|
33
|
+
}), l = i.map((e) => C(e.nodes, e.edges)), u = r.actions ?? [], d, f = k({
|
|
34
34
|
source: o,
|
|
35
35
|
effect: (t, n) => {
|
|
36
36
|
let i = y(t.targetSelectors, r.id);
|
|
37
37
|
i.forEach(({ elements: e }) => e.forEach((e) => b(e, r.id))), x(i, r.id, r.key).forEach((t) => {
|
|
38
|
-
n ? e.experienceInstances.spawn(
|
|
38
|
+
n ? e.experienceInstances.spawn(d, t, n) : e.experienceInstances.spawn(d, t);
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
|
-
}),
|
|
41
|
+
}), p = A({
|
|
42
42
|
preconditionPassed: e.preconditionPassedStore,
|
|
43
43
|
isUser: e.session.store.map((e) => e.isUser, { skipVoid: !1 }),
|
|
44
44
|
config: o
|
|
45
|
-
}),
|
|
46
|
-
source:
|
|
45
|
+
}), m = k({
|
|
46
|
+
source: p,
|
|
47
47
|
effect: async ({ preconditionPassed: i, isUser: a, config: o }) => {
|
|
48
48
|
if (!i || !a) return !1;
|
|
49
49
|
let { decisionLogic: s, targetSelectors: c } = o;
|
|
50
50
|
return c.length === 0 || y(c, r.id).length < 1 ? !1 : s === void 0 || !t(s) || await n(e, s) === !0;
|
|
51
51
|
}
|
|
52
|
-
}),
|
|
52
|
+
}), h = N(async () => {
|
|
53
53
|
if (!e.contentLoader) return !0;
|
|
54
54
|
try {
|
|
55
55
|
await e.contentLoader({
|
|
@@ -60,60 +60,61 @@ var B = N("experience"), ue = R(({ client: e, experience: r }) => {
|
|
|
60
60
|
`${r.id}`;
|
|
61
61
|
}
|
|
62
62
|
return !0;
|
|
63
|
-
}),
|
|
64
|
-
return
|
|
65
|
-
clock:
|
|
66
|
-
target:
|
|
67
|
-
}),
|
|
68
|
-
clock:
|
|
69
|
-
source:
|
|
63
|
+
}), g = P(), _ = P(), v = z.createStore(void 0, { skipVoid: !1 }).on(g, (e, t) => t).on(_, (e, t) => t);
|
|
64
|
+
return I({
|
|
65
|
+
clock: g,
|
|
66
|
+
target: m
|
|
67
|
+
}), I({
|
|
68
|
+
clock: m.doneData,
|
|
69
|
+
source: v,
|
|
70
70
|
filter: (e, t) => t,
|
|
71
71
|
fn: (e) => e,
|
|
72
|
-
target:
|
|
73
|
-
}),
|
|
74
|
-
clock:
|
|
72
|
+
target: f
|
|
73
|
+
}), I({
|
|
74
|
+
clock: m.doneData,
|
|
75
75
|
filter: Boolean,
|
|
76
|
-
target:
|
|
77
|
-
}),
|
|
78
|
-
clock:
|
|
79
|
-
source:
|
|
76
|
+
target: h
|
|
77
|
+
}), I({
|
|
78
|
+
clock: _,
|
|
79
|
+
source: v,
|
|
80
80
|
fn: (e) => e,
|
|
81
|
-
target:
|
|
82
|
-
}),
|
|
83
|
-
clock:
|
|
84
|
-
target:
|
|
85
|
-
}),
|
|
81
|
+
target: f
|
|
82
|
+
}), I({
|
|
83
|
+
clock: _,
|
|
84
|
+
target: h
|
|
85
|
+
}), d = {
|
|
86
86
|
id: r.id,
|
|
87
87
|
key: r.key,
|
|
88
88
|
name: r.name,
|
|
89
89
|
configStore: o,
|
|
90
90
|
treeStore: c,
|
|
91
|
+
nodeTreeStore: l,
|
|
91
92
|
componentStore: s,
|
|
92
|
-
actions:
|
|
93
|
+
actions: u,
|
|
93
94
|
merge: a.merge,
|
|
94
|
-
initialiseFx:
|
|
95
|
-
shouldInitialiseFx:
|
|
96
|
-
initialiseRequested:
|
|
97
|
-
initialiseDirectly:
|
|
98
|
-
prepareExperienceContentFx:
|
|
99
|
-
},
|
|
95
|
+
initialiseFx: f,
|
|
96
|
+
shouldInitialiseFx: m,
|
|
97
|
+
initialiseRequested: g,
|
|
98
|
+
initialiseDirectly: _,
|
|
99
|
+
prepareExperienceContentFx: h
|
|
100
|
+
}, d;
|
|
100
101
|
});
|
|
101
|
-
function
|
|
102
|
-
return
|
|
102
|
+
function pe(e) {
|
|
103
|
+
return R(fe, e);
|
|
103
104
|
}
|
|
104
|
-
var
|
|
105
|
-
let t =
|
|
105
|
+
var me = L(({ client: e }) => {
|
|
106
|
+
let t = z.store({}), n = j(t, { register(e, t) {
|
|
106
107
|
return {
|
|
107
108
|
...e,
|
|
108
109
|
[t.id]: t
|
|
109
110
|
};
|
|
110
|
-
} }), r =
|
|
111
|
-
n.register(
|
|
111
|
+
} }), r = P(), i = N((t) => {
|
|
112
|
+
n.register(pe({
|
|
112
113
|
client: e,
|
|
113
114
|
experience: t
|
|
114
115
|
}));
|
|
115
116
|
});
|
|
116
|
-
|
|
117
|
+
I({
|
|
117
118
|
clock: r,
|
|
118
119
|
source: t,
|
|
119
120
|
filter: (e, t) => e[t.id] !== void 0,
|
|
@@ -126,7 +127,7 @@ var fe = R(({ client: e }) => {
|
|
|
126
127
|
experience: t,
|
|
127
128
|
strategy: "override"
|
|
128
129
|
});
|
|
129
|
-
}),
|
|
130
|
+
}), I({
|
|
130
131
|
clock: r,
|
|
131
132
|
source: t,
|
|
132
133
|
filter: (e, t) => e[t.id] === void 0,
|
|
@@ -140,7 +141,7 @@ var fe = R(({ client: e }) => {
|
|
|
140
141
|
function s(e) {
|
|
141
142
|
return t.map((t) => Object.values(t).find((t) => t.key === e) ?? t[e], { skipVoid: !1 });
|
|
142
143
|
}
|
|
143
|
-
let c =
|
|
144
|
+
let c = k({
|
|
144
145
|
source: t,
|
|
145
146
|
effect: (e, t) => {
|
|
146
147
|
let n = "key" in t ? Object.values(e).find((e) => e.key === t.key) : e[t.id];
|
|
@@ -158,7 +159,7 @@ var fe = R(({ client: e }) => {
|
|
|
158
159
|
getById: o,
|
|
159
160
|
getByKey: s,
|
|
160
161
|
launch: c,
|
|
161
|
-
open:
|
|
162
|
+
open: k({
|
|
162
163
|
source: {
|
|
163
164
|
experiences: t,
|
|
164
165
|
instances: e.experienceInstances.listStore
|
|
@@ -186,7 +187,7 @@ var fe = R(({ client: e }) => {
|
|
|
186
187
|
}
|
|
187
188
|
}),
|
|
188
189
|
listStore: a,
|
|
189
|
-
initialiseExperiencesFx:
|
|
190
|
+
initialiseExperiencesFx: k({
|
|
190
191
|
source: a,
|
|
191
192
|
effect: (e) => {
|
|
192
193
|
for (let t of e) t.initialiseRequested(void 0);
|
|
@@ -194,48 +195,48 @@ var fe = R(({ client: e }) => {
|
|
|
194
195
|
})
|
|
195
196
|
};
|
|
196
197
|
});
|
|
197
|
-
function
|
|
198
|
-
return
|
|
198
|
+
function he(e) {
|
|
199
|
+
return R(me, e);
|
|
199
200
|
}
|
|
200
|
-
var
|
|
201
|
+
var ge = async (e) => {
|
|
201
202
|
await e.experiences.initialiseExperiencesFx();
|
|
202
203
|
};
|
|
203
204
|
//#endregion
|
|
204
205
|
//#region src/entities/plugin/plugin.ts
|
|
205
|
-
function
|
|
206
|
-
return
|
|
206
|
+
function _e(e) {
|
|
207
|
+
return N(async () => {
|
|
207
208
|
await e();
|
|
208
209
|
});
|
|
209
210
|
}
|
|
210
|
-
var
|
|
211
|
+
var ve = (e, t, n) => {
|
|
211
212
|
let r = t.name, i = t.setup(e), a = n[r] ?? {};
|
|
212
213
|
n[r] = Object.freeze({
|
|
213
214
|
...a,
|
|
214
215
|
...i
|
|
215
216
|
});
|
|
216
|
-
},
|
|
217
|
+
}, ye = M("component"), be = L(({ client: e, component: t, name: n }) => ({
|
|
217
218
|
name: n,
|
|
218
219
|
component: t,
|
|
219
220
|
frameworkStore: e.frameworks.getByName(t.frameworkName)
|
|
220
221
|
}));
|
|
221
|
-
function
|
|
222
|
-
return
|
|
222
|
+
function xe(e) {
|
|
223
|
+
return R(be, e);
|
|
223
224
|
}
|
|
224
|
-
var
|
|
225
|
-
let t =
|
|
225
|
+
var Se = L(({ client: e }) => {
|
|
226
|
+
let t = ye.store({}), n = j(t, { register(e, t) {
|
|
226
227
|
return {
|
|
227
228
|
...e,
|
|
228
229
|
[t.name]: t
|
|
229
230
|
};
|
|
230
|
-
} }), i =
|
|
231
|
-
|
|
231
|
+
} }), i = P();
|
|
232
|
+
I({
|
|
232
233
|
clock: i,
|
|
233
234
|
source: t,
|
|
234
235
|
filter: (e, { name: t }) => e[t] !== void 0,
|
|
235
236
|
fn: (e, { name: t }) => `Component '${t}' already registered. Registering again will override the previous registration.`
|
|
236
|
-
}).watch((e) => /* @__PURE__ */ r("warn", e)),
|
|
237
|
+
}).watch((e) => /* @__PURE__ */ r("warn", e)), I({
|
|
237
238
|
clock: i,
|
|
238
|
-
fn: ({ name: t, component: n }) =>
|
|
239
|
+
fn: ({ name: t, component: n }) => xe({
|
|
239
240
|
client: e,
|
|
240
241
|
name: t,
|
|
241
242
|
component: n
|
|
@@ -252,27 +253,27 @@ var be = R(({ client: e }) => {
|
|
|
252
253
|
listStore: a
|
|
253
254
|
};
|
|
254
255
|
});
|
|
255
|
-
function
|
|
256
|
-
return
|
|
256
|
+
function Ce(e) {
|
|
257
|
+
return R(Se, e);
|
|
257
258
|
}
|
|
258
|
-
var
|
|
259
|
+
var we = (e, t, n) => {
|
|
259
260
|
n.register({
|
|
260
261
|
name: e,
|
|
261
262
|
component: t
|
|
262
263
|
});
|
|
263
|
-
},
|
|
264
|
-
let t =
|
|
264
|
+
}, Te = M("framework"), Ee = L((e) => {
|
|
265
|
+
let t = Te.store({}), n = j(t, { register(e, t) {
|
|
265
266
|
return {
|
|
266
267
|
...e,
|
|
267
268
|
[t.name]: t.framework
|
|
268
269
|
};
|
|
269
|
-
} }), i =
|
|
270
|
-
|
|
270
|
+
} }), i = P();
|
|
271
|
+
I({
|
|
271
272
|
clock: i,
|
|
272
273
|
source: t,
|
|
273
274
|
filter: (e, { name: t }) => e[t] !== void 0,
|
|
274
275
|
fn: (e, { name: t }) => `Framework '${t}' already registered. Registering again will override the previous registration.`
|
|
275
|
-
}).watch((e) => /* @__PURE__ */ r("warn", e)),
|
|
276
|
+
}).watch((e) => /* @__PURE__ */ r("warn", e)), I({
|
|
276
277
|
clock: i,
|
|
277
278
|
target: n.register
|
|
278
279
|
});
|
|
@@ -286,106 +287,106 @@ var Se = (e, t, n) => {
|
|
|
286
287
|
listStore: a
|
|
287
288
|
};
|
|
288
289
|
});
|
|
289
|
-
function
|
|
290
|
-
return
|
|
290
|
+
function De(e) {
|
|
291
|
+
return R(Ee, e);
|
|
291
292
|
}
|
|
292
|
-
var
|
|
293
|
+
var Oe = (e, t) => {
|
|
293
294
|
t.register({
|
|
294
295
|
name: e.name,
|
|
295
296
|
framework: e
|
|
296
297
|
});
|
|
297
|
-
},
|
|
298
|
+
}, ke = L(({ client: e }) => {
|
|
298
299
|
let t = "window" in globalThis, n = {
|
|
299
300
|
location: t ? globalThis.location : void 0,
|
|
300
301
|
document: t ? globalThis.document : void 0,
|
|
301
302
|
sessionStorage: t ? globalThis.sessionStorage : void 0,
|
|
302
303
|
localStorage: t ? globalThis.localStorage : void 0
|
|
303
304
|
};
|
|
304
|
-
return
|
|
305
|
+
return A(e.responses.listStore, e.fields.listStore, (t, r) => Object.freeze({
|
|
305
306
|
client: e,
|
|
306
307
|
responses: t,
|
|
307
308
|
fields: r,
|
|
308
309
|
...n
|
|
309
310
|
}));
|
|
310
311
|
});
|
|
311
|
-
function
|
|
312
|
-
return
|
|
312
|
+
function Ae(e) {
|
|
313
|
+
return R(ke, e);
|
|
313
314
|
}
|
|
314
315
|
//#endregion
|
|
315
316
|
//#region src/logic-engine.ts
|
|
316
|
-
function
|
|
317
|
+
function je(e) {
|
|
317
318
|
return typeof e == "number" && !isNaN(e);
|
|
318
319
|
}
|
|
319
|
-
function
|
|
320
|
+
function B(e) {
|
|
320
321
|
return typeof e == "string";
|
|
321
322
|
}
|
|
322
|
-
function
|
|
323
|
+
function V(e) {
|
|
323
324
|
return Array.isArray(e);
|
|
324
325
|
}
|
|
325
|
-
function
|
|
326
|
+
function Me(e) {
|
|
326
327
|
return e instanceof Promise;
|
|
327
328
|
}
|
|
328
|
-
function
|
|
329
|
+
function Ne(e) {
|
|
329
330
|
return typeof e == "object" && !!e && !Array.isArray(e) && Object.keys(e).length === 1;
|
|
330
331
|
}
|
|
331
|
-
function
|
|
332
|
-
if (
|
|
332
|
+
function H(e) {
|
|
333
|
+
if (je(e)) return e;
|
|
333
334
|
let t = parseFloat(`${e}`);
|
|
334
335
|
return isNaN(t) ? 0 : t;
|
|
335
336
|
}
|
|
336
|
-
function
|
|
337
|
+
function U(e) {
|
|
337
338
|
return `${e}`;
|
|
338
339
|
}
|
|
339
|
-
var
|
|
340
|
+
var Pe = {
|
|
340
341
|
"==": (e, t) => e == t,
|
|
341
342
|
"===": (e, t) => e === t,
|
|
342
343
|
"!=": (e, t) => e != t,
|
|
343
344
|
"!==": (e, t) => e !== t,
|
|
344
|
-
">": (e, t) =>
|
|
345
|
-
">=": (e, t) =>
|
|
345
|
+
">": (e, t) => H(e) > H(t),
|
|
346
|
+
">=": (e, t) => H(e) >= H(t),
|
|
346
347
|
"<": (e, t, n) => {
|
|
347
|
-
let r =
|
|
348
|
+
let r = H(e), i = H(t);
|
|
348
349
|
if (n === void 0) return r < i;
|
|
349
|
-
let a =
|
|
350
|
+
let a = H(n);
|
|
350
351
|
return r < i && i < a;
|
|
351
352
|
},
|
|
352
353
|
"<=": (e, t, n) => {
|
|
353
|
-
let r =
|
|
354
|
+
let r = H(e), i = H(t);
|
|
354
355
|
if (n === void 0) return r <= i;
|
|
355
|
-
let a =
|
|
356
|
+
let a = H(n);
|
|
356
357
|
return r <= i && i <= a;
|
|
357
358
|
},
|
|
358
|
-
"!!": async (e) => await
|
|
359
|
-
"!": async (e) => !await
|
|
360
|
-
"%": (e, t) =>
|
|
359
|
+
"!!": async (e) => await G(e),
|
|
360
|
+
"!": async (e) => !await G(e),
|
|
361
|
+
"%": (e, t) => H(e) % H(t),
|
|
361
362
|
log: (e) => (console.log(e), e),
|
|
362
|
-
in: (e, t) => t ?
|
|
363
|
-
cat: (...e) => e.map(
|
|
363
|
+
in: (e, t) => t ? B(t) ? t.indexOf(U(e)) !== -1 : V(t) ? t.includes(e) : !1 : !1,
|
|
364
|
+
cat: (...e) => e.map(U).join(""),
|
|
364
365
|
substr: (e, t, n) => {
|
|
365
|
-
let r =
|
|
366
|
+
let r = U(e), i = H(t);
|
|
366
367
|
if (n === void 0) return r.substr(i);
|
|
367
|
-
let a =
|
|
368
|
+
let a = H(n);
|
|
368
369
|
if (a < 0) {
|
|
369
370
|
let e = r.substr(i);
|
|
370
371
|
return e.substr(0, e.length + a);
|
|
371
372
|
}
|
|
372
373
|
return r.substr(i, a);
|
|
373
374
|
},
|
|
374
|
-
"+": (...e) => e.reduce((e, t) =>
|
|
375
|
-
"*": (...e) => e.reduce((e, t) =>
|
|
375
|
+
"+": (...e) => e.reduce((e, t) => H(e) + H(t), 0),
|
|
376
|
+
"*": (...e) => e.reduce((e, t) => H(e) * H(t), 1),
|
|
376
377
|
"-": (e, t) => {
|
|
377
|
-
let n =
|
|
378
|
-
return t === void 0 ? -n : n -
|
|
378
|
+
let n = H(e);
|
|
379
|
+
return t === void 0 ? -n : n - H(t);
|
|
379
380
|
},
|
|
380
|
-
"/": (e, t) =>
|
|
381
|
-
min: (...e) => Math.min(...e.map(
|
|
382
|
-
max: (...e) => Math.max(...e.map(
|
|
383
|
-
merge: (...e) => e.reduce((e, t) =>
|
|
381
|
+
"/": (e, t) => H(e) / H(t),
|
|
382
|
+
min: (...e) => Math.min(...e.map(H)),
|
|
383
|
+
max: (...e) => Math.max(...e.map(H)),
|
|
384
|
+
merge: (...e) => e.reduce((e, t) => V(t) ? e.concat(t) : e.concat([t]), []),
|
|
384
385
|
var(e, t) {
|
|
385
386
|
let n = arguments.length > 1 ? t : null;
|
|
386
387
|
if (e === "" || e === "." || e == null) return this;
|
|
387
388
|
if (typeof e == "number" && Array.isArray(this)) return e >= 0 && e < this.length ? this[e] : n;
|
|
388
|
-
let r =
|
|
389
|
+
let r = U(e);
|
|
389
390
|
if (r === "" || r === ".") return this;
|
|
390
391
|
let i = r.split("."), a = this;
|
|
391
392
|
for (let e of i) {
|
|
@@ -398,126 +399,126 @@ var Me = {
|
|
|
398
399
|
return a === void 0 ? n : a;
|
|
399
400
|
},
|
|
400
401
|
async missing(...e) {
|
|
401
|
-
let t =
|
|
402
|
+
let t = V(e[0]) ? e[0] : e, n = [];
|
|
402
403
|
for (let e of t) {
|
|
403
|
-
let t = await
|
|
404
|
+
let t = await W({ var: e }, this);
|
|
404
405
|
(t === null || t === "") && n.push(`${e}`);
|
|
405
406
|
}
|
|
406
407
|
return n;
|
|
407
408
|
},
|
|
408
409
|
async missing_some(e, t) {
|
|
409
|
-
let n = await
|
|
410
|
-
if (!
|
|
411
|
-
let r = n.filter(
|
|
412
|
-
return t.filter(
|
|
410
|
+
let n = await W({ missing: t }, this);
|
|
411
|
+
if (!V(n) || !V(t)) return [];
|
|
412
|
+
let r = n.filter(B);
|
|
413
|
+
return t.filter(B).length - r.length >= H(e) ? [] : r;
|
|
413
414
|
},
|
|
414
415
|
invoke(...e) {
|
|
415
416
|
let [t, ...n] = e;
|
|
416
417
|
return typeof t == "function" ? Reflect.apply(t, null, n) : null;
|
|
417
418
|
},
|
|
418
|
-
startsWith: (e, t) =>
|
|
419
|
-
endsWith: (e, t) =>
|
|
419
|
+
startsWith: (e, t) => B(e) && B(t) && e.startsWith(t),
|
|
420
|
+
endsWith: (e, t) => B(e) && B(t) && e.endsWith(t),
|
|
420
421
|
regexp_matches(e, t) {
|
|
421
422
|
let n = e, r = "";
|
|
422
|
-
if (
|
|
423
|
+
if (V(e)) {
|
|
423
424
|
let [t, i] = e;
|
|
424
425
|
n = t, r = i;
|
|
425
426
|
}
|
|
426
|
-
return !
|
|
427
|
+
return !B(n) || !B(r) ? !1 : new RegExp(n, r).test(U(t));
|
|
427
428
|
},
|
|
428
429
|
throw(e) {
|
|
429
|
-
throw Error(
|
|
430
|
+
throw Error(U(e));
|
|
430
431
|
}
|
|
431
432
|
};
|
|
432
|
-
async function
|
|
433
|
+
async function W(e, t) {
|
|
433
434
|
if (!e) return e;
|
|
434
|
-
if (
|
|
435
|
-
if (
|
|
436
|
-
if (!
|
|
437
|
-
let n =
|
|
438
|
-
switch (
|
|
435
|
+
if (Me(e)) return W(await e, t);
|
|
436
|
+
if (V(e)) return Promise.all(e.map((e) => W(e, t)));
|
|
437
|
+
if (!Ne(e)) return e;
|
|
438
|
+
let n = Fe(e), r = n ? e[n] ?? [] : [];
|
|
439
|
+
switch (V(r) || (r = [r]), n) {
|
|
439
440
|
case "if":
|
|
440
441
|
case "?:":
|
|
441
|
-
for (let e = 0; e < r.length - 1; e += 2) if (await
|
|
442
|
-
return r.length % 2 == 1 ?
|
|
442
|
+
for (let e = 0; e < r.length - 1; e += 2) if (await G(await W(r[e], t))) return W(r[e + 1], t);
|
|
443
|
+
return r.length % 2 == 1 ? W(r[r.length - 1], t) : null;
|
|
443
444
|
case "and": {
|
|
444
445
|
let e = null;
|
|
445
|
-
for (let n of r) if (e = await
|
|
446
|
+
for (let n of r) if (e = await W(n, t), !await G(e)) return e;
|
|
446
447
|
return e;
|
|
447
448
|
}
|
|
448
449
|
case "or": {
|
|
449
450
|
let e = null;
|
|
450
|
-
for (let n of r) if (e = await
|
|
451
|
+
for (let n of r) if (e = await W(n, t), await G(e)) return e;
|
|
451
452
|
return e;
|
|
452
453
|
}
|
|
453
454
|
case "map": {
|
|
454
|
-
let e = await
|
|
455
|
-
return
|
|
455
|
+
let e = await W(r[0], t);
|
|
456
|
+
return V(e) ? await Promise.all(e.map((e) => W(r[1], e))) : [];
|
|
456
457
|
}
|
|
457
458
|
case "filter": {
|
|
458
|
-
let e = await
|
|
459
|
-
return
|
|
459
|
+
let e = await W(r[0], t);
|
|
460
|
+
return V(e) ? (await Promise.all(e.map(async (e) => ({
|
|
460
461
|
item: e,
|
|
461
|
-
shouldInclude: await
|
|
462
|
+
shouldInclude: await G(await W(r[1], e))
|
|
462
463
|
})))).filter(({ shouldInclude: e }) => e).map(({ item: e }) => e) : [];
|
|
463
464
|
}
|
|
464
465
|
case "reduce": {
|
|
465
|
-
let e = await
|
|
466
|
-
if (!
|
|
467
|
-
let n = r[1], i = r.length > 2 ? await
|
|
468
|
-
for (let t of e) i = await
|
|
466
|
+
let e = await W(r[0], t);
|
|
467
|
+
if (!V(e)) return r.length > 2 ? await W(r[2], t) : null;
|
|
468
|
+
let n = r[1], i = r.length > 2 ? await W(r[2], t) : null;
|
|
469
|
+
for (let t of e) i = await W(n, {
|
|
469
470
|
current: t,
|
|
470
471
|
accumulator: i
|
|
471
472
|
});
|
|
472
473
|
return i;
|
|
473
474
|
}
|
|
474
475
|
case "all": {
|
|
475
|
-
let e = await
|
|
476
|
-
if (!
|
|
477
|
-
for (let t of e) if (!await
|
|
476
|
+
let e = await W(r[0], t);
|
|
477
|
+
if (!V(e) || e.length === 0) return !1;
|
|
478
|
+
for (let t of e) if (!await G(await W(r[1], t))) return !1;
|
|
478
479
|
return !0;
|
|
479
480
|
}
|
|
480
481
|
case "some": {
|
|
481
|
-
let e = await
|
|
482
|
-
if (!
|
|
483
|
-
for (let t of e) if (await
|
|
482
|
+
let e = await W(r[0], t);
|
|
483
|
+
if (!V(e)) return !1;
|
|
484
|
+
for (let t of e) if (await G(await W(r[1], t))) return !0;
|
|
484
485
|
return !1;
|
|
485
486
|
}
|
|
486
487
|
case "none": {
|
|
487
|
-
let e = await
|
|
488
|
-
if (!
|
|
489
|
-
for (let t of e) if (await
|
|
488
|
+
let e = await W(r[0], t);
|
|
489
|
+
if (!V(e)) return !0;
|
|
490
|
+
for (let t of e) if (await G(await W(r[1], t))) return !1;
|
|
490
491
|
return !0;
|
|
491
492
|
}
|
|
492
493
|
case "catch": try {
|
|
493
|
-
return await
|
|
494
|
+
return await W(r[0], t);
|
|
494
495
|
} catch (e) {
|
|
495
|
-
return
|
|
496
|
+
return Ne(e) ? await W(e, t) : r[1] ? await W(r[1], e) : e instanceof Error ? e.message : e;
|
|
496
497
|
}
|
|
497
498
|
}
|
|
498
|
-
let i = await Promise.all(r.map((e) =>
|
|
499
|
+
let i = await Promise.all(r.map((e) => W(e, t))), a = n ? Pe[n] : void 0;
|
|
499
500
|
if (!a) throw Error(`Unrecognized operation ${n}`);
|
|
500
501
|
return a.apply(t, i);
|
|
501
502
|
}
|
|
502
|
-
async function
|
|
503
|
-
return
|
|
503
|
+
async function G(e) {
|
|
504
|
+
return Me(e) ? G(await e) : !(Array.isArray(e) && e.length === 0) && !!e;
|
|
504
505
|
}
|
|
505
|
-
function
|
|
506
|
+
function Fe(e) {
|
|
506
507
|
return Object.keys(e)[0];
|
|
507
508
|
}
|
|
508
509
|
//#endregion
|
|
509
510
|
//#region src/lifecycle/rules-logic.ts
|
|
510
|
-
function
|
|
511
|
+
function Ie(e, t, n) {
|
|
511
512
|
return new Proxy(Object.create(null), { get(r, i) {
|
|
512
513
|
if (typeof i != "string") return;
|
|
513
514
|
let a = e.find((e) => e.key === i);
|
|
514
|
-
if (a !== void 0) return async () => !n.has(i) && await
|
|
515
|
+
if (a !== void 0) return async () => !n.has(i) && await W(a.logic, {
|
|
515
516
|
...t,
|
|
516
|
-
conditions:
|
|
517
|
+
conditions: Ie(e, t, new Set(n).add(i))
|
|
517
518
|
}) === !0;
|
|
518
519
|
} });
|
|
519
520
|
}
|
|
520
|
-
var
|
|
521
|
+
var Le = L(({ client: e }) => k({
|
|
521
522
|
source: {
|
|
522
523
|
stateSnapshot: e.stateSnapshotStore,
|
|
523
524
|
predicates: e.predicates.listStore,
|
|
@@ -554,130 +555,130 @@ var Fe = R(({ client: e }) => A({
|
|
|
554
555
|
features: u,
|
|
555
556
|
...s
|
|
556
557
|
};
|
|
557
|
-
return await
|
|
558
|
+
return await W(o, {
|
|
558
559
|
...d,
|
|
559
|
-
conditions:
|
|
560
|
+
conditions: Ie(a, d, /* @__PURE__ */ new Set())
|
|
560
561
|
});
|
|
561
562
|
}
|
|
562
563
|
}));
|
|
563
|
-
function
|
|
564
|
-
return
|
|
564
|
+
function Re(e) {
|
|
565
|
+
return R(Le, e);
|
|
565
566
|
}
|
|
566
567
|
//#endregion
|
|
567
568
|
//#region src/lifecycle/lifecycle.ts
|
|
568
|
-
var
|
|
569
|
-
let t =
|
|
569
|
+
var K = M("lifecycle"), ze = L(({ client: e }) => {
|
|
570
|
+
let t = K.store(!1), r = F(void 0, {
|
|
570
571
|
skipVoid: !1,
|
|
571
|
-
domain:
|
|
572
|
-
}), i =
|
|
572
|
+
domain: K
|
|
573
|
+
}), i = F(void 0, {
|
|
573
574
|
skipVoid: !1,
|
|
574
|
-
domain:
|
|
575
|
-
}), a =
|
|
575
|
+
domain: K
|
|
576
|
+
}), a = K.store("idle"), o = K.store([]), s = F(void 0, {
|
|
576
577
|
skipVoid: !1,
|
|
577
|
-
domain:
|
|
578
|
-
}), l =
|
|
578
|
+
domain: K
|
|
579
|
+
}), l = F(void 0, {
|
|
579
580
|
skipVoid: !1,
|
|
580
|
-
domain:
|
|
581
|
-
}), u =
|
|
581
|
+
domain: K
|
|
582
|
+
}), u = P(), d = P(), f = P(), p = P(), m = P(), h = P();
|
|
582
583
|
o.on(p, (e, t) => [...e, t]), s.on(m, (e, t) => t), l.on(h, (e, t) => t), t.on(d, () => !0);
|
|
583
|
-
let g =
|
|
584
|
+
let g = N(async () => {
|
|
584
585
|
await ee();
|
|
585
|
-
}), _ =
|
|
586
|
-
await
|
|
587
|
-
}), v =
|
|
586
|
+
}), _ = N(async () => {
|
|
587
|
+
await ge(e);
|
|
588
|
+
}), v = k({ effect: _ }), y = k({
|
|
588
589
|
source: o,
|
|
589
590
|
effect: async (e) => {
|
|
590
591
|
for (let t of e) await t();
|
|
591
592
|
}
|
|
592
|
-
}), b =
|
|
593
|
+
}), b = k({
|
|
593
594
|
source: s,
|
|
594
595
|
effect: async (t) => t === void 0 ? !0 : typeof t == "boolean" ? t : await n(e, t) === !0
|
|
595
|
-
}), x =
|
|
596
|
+
}), x = k({
|
|
596
597
|
source: l,
|
|
597
598
|
effect: async (t) => t === void 0 ? !0 : typeof t == "boolean" ? t : await n(e, t) === !0
|
|
598
|
-
}), S =
|
|
599
|
+
}), S = I({
|
|
599
600
|
clock: u,
|
|
600
601
|
source: a,
|
|
601
602
|
filter: (e) => e === "idle" && c(),
|
|
602
603
|
fn: () => void 0
|
|
603
604
|
});
|
|
604
|
-
|
|
605
|
+
I({
|
|
605
606
|
clock: S,
|
|
606
607
|
fn: () => "starting",
|
|
607
608
|
target: a
|
|
608
|
-
}), S.watch(e.performance.markBegin), d.watch(e.performance.measure),
|
|
609
|
+
}), S.watch(e.performance.markBegin), d.watch(e.performance.measure), I({
|
|
609
610
|
clock: S,
|
|
610
611
|
target: y
|
|
611
|
-
}),
|
|
612
|
+
}), I({
|
|
612
613
|
clock: S,
|
|
613
614
|
target: g
|
|
614
|
-
}),
|
|
615
|
+
}), I({
|
|
615
616
|
clock: y.done,
|
|
616
617
|
target: b
|
|
617
|
-
}),
|
|
618
|
+
}), I({
|
|
618
619
|
clock: b.doneData,
|
|
619
620
|
target: r
|
|
620
|
-
}),
|
|
621
|
+
}), I({
|
|
621
622
|
clock: x.doneData,
|
|
622
623
|
target: i
|
|
623
|
-
}),
|
|
624
|
+
}), I({
|
|
624
625
|
clock: b.doneData,
|
|
625
626
|
filter: (e) => e,
|
|
626
627
|
target: x
|
|
627
|
-
}),
|
|
628
|
+
}), I({
|
|
628
629
|
clock: x.doneData,
|
|
629
630
|
target: e.session.setIsUser
|
|
630
|
-
}),
|
|
631
|
+
}), I({
|
|
631
632
|
clock: x.doneData,
|
|
632
633
|
fn: (e) => ({
|
|
633
634
|
type: "user_decide",
|
|
634
635
|
value: e
|
|
635
636
|
}),
|
|
636
637
|
target: e.eventBus
|
|
637
|
-
}),
|
|
638
|
+
}), I({
|
|
638
639
|
clock: b.doneData,
|
|
639
640
|
filter: (e) => !e,
|
|
640
641
|
fn: () => void 0,
|
|
641
642
|
target: f
|
|
642
|
-
}),
|
|
643
|
+
}), I({
|
|
643
644
|
clock: x.doneData,
|
|
644
645
|
fn: () => void 0,
|
|
645
646
|
target: f
|
|
646
|
-
}),
|
|
647
|
+
}), I({
|
|
647
648
|
clock: f,
|
|
648
649
|
fn: () => ({ type: "initialize" }),
|
|
649
650
|
target: e.eventBus
|
|
650
651
|
});
|
|
651
|
-
let C =
|
|
652
|
-
|
|
652
|
+
let C = F(!1).on(g.done, () => !0), w = F(!1).on(f, () => !0), te = F(!1).on(v.done, () => !0), T = A(r, i, (e, t) => e === !0 && t === !0);
|
|
653
|
+
I({
|
|
653
654
|
clock: f,
|
|
654
|
-
source:
|
|
655
|
+
source: T,
|
|
655
656
|
filter: (e) => e,
|
|
656
657
|
fn: () => void 0,
|
|
657
658
|
target: _
|
|
658
659
|
});
|
|
659
|
-
let
|
|
660
|
-
|
|
661
|
-
clock:
|
|
660
|
+
let ne = A(C, w, T, (e, t, n) => e && t && n);
|
|
661
|
+
I({
|
|
662
|
+
clock: ne,
|
|
662
663
|
filter: (e) => e,
|
|
663
664
|
fn: () => void 0,
|
|
664
665
|
target: v
|
|
665
666
|
});
|
|
666
|
-
let
|
|
667
|
-
return
|
|
668
|
-
clock:
|
|
667
|
+
let E = A(C, w, T, te, (e, t, n, r) => e && t && (!n || r));
|
|
668
|
+
return I({
|
|
669
|
+
clock: E,
|
|
669
670
|
filter: (e) => e,
|
|
670
671
|
fn: () => void 0,
|
|
671
672
|
target: d
|
|
672
|
-
}),
|
|
673
|
+
}), I({
|
|
673
674
|
clock: d,
|
|
674
675
|
fn: () => "ready",
|
|
675
676
|
target: a
|
|
676
|
-
}),
|
|
677
|
+
}), I({
|
|
677
678
|
clock: d,
|
|
678
679
|
fn: () => ({ type: "ready" }),
|
|
679
680
|
target: e.eventBus
|
|
680
|
-
}),
|
|
681
|
+
}), I({
|
|
681
682
|
clock: d,
|
|
682
683
|
source: e.session.store,
|
|
683
684
|
fn: ({ id: e, isUser: t, identifiers: n }) => ({
|
|
@@ -687,7 +688,7 @@ var q = N("lifecycle"), Le = R(({ client: e }) => {
|
|
|
687
688
|
identifiers: n
|
|
688
689
|
}),
|
|
689
690
|
target: e.eventBus
|
|
690
|
-
}),
|
|
691
|
+
}), I({
|
|
691
692
|
clock: [
|
|
692
693
|
y.fail,
|
|
693
694
|
b.fail,
|
|
@@ -709,13 +710,13 @@ var q = N("lifecycle"), Le = R(({ client: e }) => {
|
|
|
709
710
|
setCondition: h
|
|
710
711
|
};
|
|
711
712
|
});
|
|
712
|
-
function
|
|
713
|
-
return
|
|
713
|
+
function Be(e) {
|
|
714
|
+
return R(ze, e);
|
|
714
715
|
}
|
|
715
716
|
//#endregion
|
|
716
717
|
//#region src/entities/predicate/predicate.ts
|
|
717
|
-
var
|
|
718
|
-
let t =
|
|
718
|
+
var Ve = M("predicate"), He = L(({ client: e }) => {
|
|
719
|
+
let t = Ve.store({}), n = j(t, { register(e, t) {
|
|
719
720
|
return {
|
|
720
721
|
...e,
|
|
721
722
|
[t.name]: {
|
|
@@ -723,13 +724,13 @@ var ze = N("predicate"), Be = R(({ client: e }) => {
|
|
|
723
724
|
predicate: t.predicate
|
|
724
725
|
}
|
|
725
726
|
};
|
|
726
|
-
} }), i =
|
|
727
|
-
|
|
727
|
+
} }), i = P();
|
|
728
|
+
I({
|
|
728
729
|
clock: i,
|
|
729
730
|
source: t,
|
|
730
731
|
filter: (e, { name: t }) => e[t] !== void 0,
|
|
731
732
|
fn: (e, { name: t }) => `Predicate '${t}' already registered. Registering again will override the previous registration.`
|
|
732
|
-
}).watch((e) => /* @__PURE__ */ r("warn", e)),
|
|
733
|
+
}).watch((e) => /* @__PURE__ */ r("warn", e)), I({
|
|
733
734
|
clock: i,
|
|
734
735
|
fn: ({ name: e, predicate: t }) => Object.freeze({
|
|
735
736
|
name: e,
|
|
@@ -742,7 +743,7 @@ var ze = N("predicate"), Be = R(({ client: e }) => {
|
|
|
742
743
|
return t.map((t) => t[e]?.predicate, { skipVoid: !1 });
|
|
743
744
|
}
|
|
744
745
|
function s(t) {
|
|
745
|
-
let n =
|
|
746
|
+
let n = F(() => void 0, { skipVoid: !1 }), r = k({
|
|
746
747
|
source: {
|
|
747
748
|
predicate: o(t),
|
|
748
749
|
snapshot: e.stateSnapshotStore
|
|
@@ -754,13 +755,13 @@ var ze = N("predicate"), Be = R(({ client: e }) => {
|
|
|
754
755
|
});
|
|
755
756
|
}
|
|
756
757
|
});
|
|
757
|
-
return
|
|
758
|
+
return I({
|
|
758
759
|
source: {
|
|
759
760
|
responses: e.responses.listStore,
|
|
760
761
|
fields: e.fields.listStore
|
|
761
762
|
},
|
|
762
763
|
target: r
|
|
763
|
-
}),
|
|
764
|
+
}), I({
|
|
764
765
|
clock: r.doneData,
|
|
765
766
|
filter: (e) => e !== void 0,
|
|
766
767
|
target: n
|
|
@@ -773,26 +774,26 @@ var ze = N("predicate"), Be = R(({ client: e }) => {
|
|
|
773
774
|
getEvokablePredicate: s
|
|
774
775
|
};
|
|
775
776
|
});
|
|
776
|
-
function
|
|
777
|
-
return
|
|
777
|
+
function Ue(e) {
|
|
778
|
+
return R(He, e);
|
|
778
779
|
}
|
|
779
|
-
var
|
|
780
|
+
var We = (e, t, n) => {
|
|
780
781
|
n.register({
|
|
781
782
|
name: e,
|
|
782
783
|
predicate: t
|
|
783
784
|
});
|
|
784
|
-
},
|
|
785
|
-
function
|
|
785
|
+
}, q = M("history");
|
|
786
|
+
function Ge(e, t) {
|
|
786
787
|
return {
|
|
787
|
-
id:
|
|
788
|
+
id: se(`history-entry-${Date.now()}-${Math.random()}}`),
|
|
788
789
|
node: t,
|
|
789
790
|
at: Date.now(),
|
|
790
791
|
experienceId: e
|
|
791
792
|
};
|
|
792
793
|
}
|
|
793
|
-
var
|
|
794
|
-
let e =
|
|
795
|
-
e.on(t, (e, t) => ({ entries: [...e.entries,
|
|
794
|
+
var Ke = L(() => {
|
|
795
|
+
let e = q.store({ entries: [] }), t = q.event(), n = q.event(), r = q.event(), i = q.event();
|
|
796
|
+
e.on(t, (e, t) => ({ entries: [...e.entries, Ge(t.experienceId, t.node)] })), e.on(n, (e, t) => ({ entries: [...e.entries.slice(0, -1), Ge(t.experienceId, t.node)] })), e.on(i, (e, t) => t);
|
|
796
797
|
function a(e, t) {
|
|
797
798
|
let n = {
|
|
798
799
|
lastStepIndex: -1,
|
|
@@ -800,7 +801,7 @@ var We = R(() => {
|
|
|
800
801
|
};
|
|
801
802
|
for (let r = e.length - 1; r >= 0; r--) {
|
|
802
803
|
let i = e[r], a = i?.node;
|
|
803
|
-
if (!(!a || !
|
|
804
|
+
if (!(!a || !S(a)) && !(t && i.experienceId !== t)) if (n.lastStepIndex === -1) n.lastStepIndex = r;
|
|
804
805
|
else {
|
|
805
806
|
n.secondLastStepIndex = r;
|
|
806
807
|
break;
|
|
@@ -822,22 +823,22 @@ var We = R(() => {
|
|
|
822
823
|
entriesStore: e.map((e) => e.entries)
|
|
823
824
|
};
|
|
824
825
|
});
|
|
825
|
-
function
|
|
826
|
-
return
|
|
826
|
+
function qe() {
|
|
827
|
+
return R(Ke);
|
|
827
828
|
}
|
|
828
829
|
//#endregion
|
|
829
830
|
//#region src/utils/events.ts
|
|
830
|
-
var
|
|
831
|
-
let t =
|
|
831
|
+
var Je = 0, Ye = (e) => {
|
|
832
|
+
let t = F([]);
|
|
832
833
|
return t.on(e, (e, t) => [...e, {
|
|
833
|
-
id:
|
|
834
|
+
id: Je++,
|
|
834
835
|
at: /* @__PURE__ */ new Date(),
|
|
835
836
|
payload: t
|
|
836
837
|
}]), t;
|
|
837
838
|
};
|
|
838
839
|
//#endregion
|
|
839
840
|
//#region src/entities/field/policies.ts
|
|
840
|
-
function
|
|
841
|
+
function Xe(e) {
|
|
841
842
|
let { doNotTrackValue: t, doNotStoreValue: n } = e ?? {}, r = e?.trackValue ?? t === !1, i = e?.storeValue ?? n === !1;
|
|
842
843
|
return {
|
|
843
844
|
trackValue: r,
|
|
@@ -848,10 +849,10 @@ function Je(e) {
|
|
|
848
849
|
}
|
|
849
850
|
//#endregion
|
|
850
851
|
//#region src/entities/field/field.ts
|
|
851
|
-
var
|
|
852
|
-
let e =
|
|
852
|
+
var Ze = M("field"), Qe = L(() => {
|
|
853
|
+
let e = Ze.store({}), t = j(e, {
|
|
853
854
|
register(e, t) {
|
|
854
|
-
let n = Object.assign({}, t.field, { policies:
|
|
855
|
+
let n = Object.assign({}, t.field, { policies: Xe(t.field.policies) });
|
|
855
856
|
return {
|
|
856
857
|
...e,
|
|
857
858
|
[n.id]: n
|
|
@@ -863,7 +864,7 @@ var Ye = N("field"), Xe = R(() => {
|
|
|
863
864
|
let r = Object.assign({}, n, t.updates);
|
|
864
865
|
return {
|
|
865
866
|
...e,
|
|
866
|
-
[n.id]: Object.assign({}, r, { policies:
|
|
867
|
+
[n.id]: Object.assign({}, r, { policies: Xe(r.policies) })
|
|
867
868
|
};
|
|
868
869
|
}
|
|
869
870
|
});
|
|
@@ -900,13 +901,13 @@ var Ye = N("field"), Xe = R(() => {
|
|
|
900
901
|
getByName: c
|
|
901
902
|
};
|
|
902
903
|
});
|
|
903
|
-
function
|
|
904
|
-
return
|
|
904
|
+
function $e() {
|
|
905
|
+
return R(Qe);
|
|
905
906
|
}
|
|
906
907
|
//#endregion
|
|
907
908
|
//#region src/entities/step/step.ts
|
|
908
|
-
var
|
|
909
|
-
let e =
|
|
909
|
+
var et = M("step"), tt = L(() => {
|
|
910
|
+
let e = et.store({}), t = j(e, { register(e, t) {
|
|
910
911
|
return {
|
|
911
912
|
...e,
|
|
912
913
|
[t.step.id]: t.step
|
|
@@ -930,16 +931,16 @@ var Qe = N("step"), $e = R(() => {
|
|
|
930
931
|
indexStore: e
|
|
931
932
|
};
|
|
932
933
|
});
|
|
933
|
-
function
|
|
934
|
-
return
|
|
934
|
+
function nt() {
|
|
935
|
+
return R(tt);
|
|
935
936
|
}
|
|
936
|
-
function
|
|
937
|
+
function rt(e, t) {
|
|
937
938
|
t.register(e);
|
|
938
939
|
}
|
|
939
940
|
//#endregion
|
|
940
941
|
//#region src/entities/content/content.ts
|
|
941
|
-
var
|
|
942
|
-
let e =
|
|
942
|
+
var it = M("content"), at = L(() => {
|
|
943
|
+
let e = it.store({}), t = j(e, {
|
|
943
944
|
register(e, t) {
|
|
944
945
|
return {
|
|
945
946
|
...e,
|
|
@@ -980,16 +981,16 @@ var nt = N("content"), rt = R(() => {
|
|
|
980
981
|
indexStore: e
|
|
981
982
|
};
|
|
982
983
|
});
|
|
983
|
-
function
|
|
984
|
-
return
|
|
984
|
+
function ot() {
|
|
985
|
+
return R(at);
|
|
985
986
|
}
|
|
986
|
-
function
|
|
987
|
+
function st(e, t) {
|
|
987
988
|
t.register(e);
|
|
988
989
|
}
|
|
989
990
|
//#endregion
|
|
990
991
|
//#region src/entities/action/action.ts
|
|
991
|
-
var
|
|
992
|
-
let t =
|
|
992
|
+
var ct = M("action"), lt = L(({ client: e }) => {
|
|
993
|
+
let t = ct.store({}), n = j(t, { register(e, t) {
|
|
993
994
|
return {
|
|
994
995
|
...e,
|
|
995
996
|
[t.key]: {
|
|
@@ -997,13 +998,13 @@ var ot = N("action"), st = R(({ client: e }) => {
|
|
|
997
998
|
action: t.action
|
|
998
999
|
}
|
|
999
1000
|
};
|
|
1000
|
-
} }), i =
|
|
1001
|
-
|
|
1001
|
+
} }), i = P();
|
|
1002
|
+
I({
|
|
1002
1003
|
clock: i,
|
|
1003
1004
|
source: t,
|
|
1004
1005
|
filter: (e, { key: t }) => e[t] !== void 0,
|
|
1005
1006
|
fn: (e, { key: t }) => `Action '${t}' already registered. Registering again will override the previous registration.`
|
|
1006
|
-
}).watch((e) => /* @__PURE__ */ r("warn", e)),
|
|
1007
|
+
}).watch((e) => /* @__PURE__ */ r("warn", e)), I({
|
|
1007
1008
|
clock: i,
|
|
1008
1009
|
fn: ({ key: e, action: t }) => Object.freeze({
|
|
1009
1010
|
key: e,
|
|
@@ -1016,7 +1017,7 @@ var ot = N("action"), st = R(({ client: e }) => {
|
|
|
1016
1017
|
return t.map((t) => t[e]?.action, { skipVoid: !1 });
|
|
1017
1018
|
}
|
|
1018
1019
|
function s(t, n) {
|
|
1019
|
-
let r =
|
|
1020
|
+
let r = F(() => void 0, { skipVoid: !1 }), i = n ? { experience: n.experience } : null, a = k({
|
|
1020
1021
|
source: {
|
|
1021
1022
|
action: o(t),
|
|
1022
1023
|
snapshot: e.stateSnapshotStore
|
|
@@ -1028,13 +1029,13 @@ var ot = N("action"), st = R(({ client: e }) => {
|
|
|
1028
1029
|
}, i);
|
|
1029
1030
|
}
|
|
1030
1031
|
});
|
|
1031
|
-
return
|
|
1032
|
+
return I({
|
|
1032
1033
|
source: {
|
|
1033
1034
|
responses: e.responses.listStore,
|
|
1034
1035
|
fields: e.fields.listStore
|
|
1035
1036
|
},
|
|
1036
1037
|
target: a
|
|
1037
|
-
}),
|
|
1038
|
+
}), I({
|
|
1038
1039
|
clock: a.doneData,
|
|
1039
1040
|
filter: (e) => e !== void 0,
|
|
1040
1041
|
target: r
|
|
@@ -1047,10 +1048,10 @@ var ot = N("action"), st = R(({ client: e }) => {
|
|
|
1047
1048
|
getEvokableAction: s
|
|
1048
1049
|
};
|
|
1049
1050
|
});
|
|
1050
|
-
function
|
|
1051
|
-
return
|
|
1051
|
+
function ut(e) {
|
|
1052
|
+
return R(lt, e);
|
|
1052
1053
|
}
|
|
1053
|
-
var
|
|
1054
|
+
var dt = (e, t, n) => {
|
|
1054
1055
|
n.register({
|
|
1055
1056
|
key: e,
|
|
1056
1057
|
action: t
|
|
@@ -1058,7 +1059,7 @@ var lt = (e, t, n) => {
|
|
|
1058
1059
|
};
|
|
1059
1060
|
//#endregion
|
|
1060
1061
|
//#region src/entities/response/response-validation.ts
|
|
1061
|
-
function
|
|
1062
|
+
function J(e, t, n, r) {
|
|
1062
1063
|
return {
|
|
1063
1064
|
fieldKey: e.key,
|
|
1064
1065
|
userMessage: n,
|
|
@@ -1066,62 +1067,62 @@ function Y(e, t, n, r) {
|
|
|
1066
1067
|
value: t
|
|
1067
1068
|
};
|
|
1068
1069
|
}
|
|
1069
|
-
function
|
|
1070
|
+
function Y(e) {
|
|
1070
1071
|
return e === null || e === "" || Array.isArray(e) && !e.length;
|
|
1071
1072
|
}
|
|
1072
|
-
function
|
|
1073
|
+
function ft(e) {
|
|
1073
1074
|
return typeof e == "string" || typeof e == "number" || typeof e == "boolean" || e === null;
|
|
1074
1075
|
}
|
|
1075
|
-
function
|
|
1076
|
+
function pt(e) {
|
|
1076
1077
|
try {
|
|
1077
1078
|
return JSON.stringify(e), !0;
|
|
1078
1079
|
} catch {
|
|
1079
1080
|
return !1;
|
|
1080
1081
|
}
|
|
1081
1082
|
}
|
|
1082
|
-
function
|
|
1083
|
+
function mt(e, t) {
|
|
1083
1084
|
return t.find((t) => t.key === e) ?? null;
|
|
1084
1085
|
}
|
|
1085
|
-
function
|
|
1086
|
+
function ht(e, t) {
|
|
1086
1087
|
return e.multiple && (typeof t == "string" || typeof t == "number" || typeof t == "boolean") ? [t] : t;
|
|
1087
1088
|
}
|
|
1088
|
-
function
|
|
1089
|
-
if (e.type !== "object" ||
|
|
1089
|
+
function gt(e, t) {
|
|
1090
|
+
if (e.type !== "object" || Y(t)) return null;
|
|
1090
1091
|
if (e.multiple) {
|
|
1091
|
-
if (!Array.isArray(t)) return
|
|
1092
|
+
if (!Array.isArray(t)) return J(e, t, "This field expects multiple values", "Field expects an array of objects.");
|
|
1092
1093
|
for (let n of t) {
|
|
1093
|
-
if (typeof n != "object" || !n) return
|
|
1094
|
-
if (!
|
|
1094
|
+
if (typeof n != "object" || !n) return J(e, t, "This field expects object values", "Field expects an array of objects, but received non-object value.");
|
|
1095
|
+
if (!pt(n)) return J(e, t, "This field contains non-serializable data", "Field value contains non-JSON-serializable data (functions, circular references, etc.).");
|
|
1095
1096
|
}
|
|
1096
1097
|
return null;
|
|
1097
1098
|
}
|
|
1098
|
-
return Array.isArray(t) ?
|
|
1099
|
+
return Array.isArray(t) ? J(e, t, "This field expects a single value", "Field expects a single object, not an array.") : typeof t != "object" || !t ? J(e, t, "This field expects an object value", "Field expects an object value.") : pt(t) ? null : J(e, t, "This field contains non-serializable data", "Field value contains non-JSON-serializable data (functions, circular references, etc.).");
|
|
1099
1100
|
}
|
|
1100
|
-
function
|
|
1101
|
-
if (
|
|
1101
|
+
function _t(e, t) {
|
|
1102
|
+
if (Y(t) || !Array.isArray(e.options) || e.options.length === 0) return null;
|
|
1102
1103
|
let n = Array.isArray(t) ? t : [t];
|
|
1103
1104
|
if (e.type === "object") {
|
|
1104
1105
|
let r = new Set(e.options.map((e) => JSON.stringify(e.value)));
|
|
1105
|
-
return n.every((e) => r.has(JSON.stringify(e))) ? null :
|
|
1106
|
+
return n.every((e) => r.has(JSON.stringify(e))) ? null : J(e, t, "This field expects a valid option", "Field expects a valid option from the defined choices.");
|
|
1106
1107
|
}
|
|
1107
1108
|
let r = e.options.map((e) => e.value);
|
|
1108
|
-
return n.every((e) => !
|
|
1109
|
+
return n.every((e) => !ft(e) || e === null ? !1 : r.includes(e)) ? null : J(e, t, "This field expects a valid option", `Field expects a valid option. Valid options are: ${r.join(", ")}`);
|
|
1109
1110
|
}
|
|
1110
|
-
async function
|
|
1111
|
-
if (n.validation && !e(n.validation) && !
|
|
1111
|
+
async function vt(t, n, r, i) {
|
|
1112
|
+
if (n.validation && !e(n.validation) && !Y(r)) {
|
|
1112
1113
|
let e = i ? {
|
|
1113
1114
|
$input: r,
|
|
1114
1115
|
responses: i
|
|
1115
1116
|
} : { $input: r }, a = await t(n.validation, e);
|
|
1116
|
-
if (typeof a == "string") return
|
|
1117
|
-
if (a === !1) return
|
|
1117
|
+
if (typeof a == "string") return J(n, r, a, `Field validation resulted in an error: ${a}.`);
|
|
1118
|
+
if (a === !1) return J(n, r, "This field is invalid", "Field validation resulted in an unspecified error.");
|
|
1118
1119
|
}
|
|
1119
|
-
return n.required &&
|
|
1120
|
+
return n.required && Y(r) ? J(n, r, "This field is required", "Field is required.") : !n.multiple && Array.isArray(r) && r.length > 1 ? J(n, r, "This field expects a single response", "Field expects a single response.") : null;
|
|
1120
1121
|
}
|
|
1121
1122
|
//#endregion
|
|
1122
1123
|
//#region src/entities/response/response.ts
|
|
1123
|
-
var
|
|
1124
|
-
let t =
|
|
1124
|
+
var yt = M("response"), bt = L(({ client: e }) => {
|
|
1125
|
+
let t = yt.store({}), r = P(), i = P(), a = j(t, {
|
|
1125
1126
|
register(e, t) {
|
|
1126
1127
|
return {
|
|
1127
1128
|
...e,
|
|
@@ -1150,7 +1151,7 @@ var _t = N("response"), vt = R(({ client: e }) => {
|
|
|
1150
1151
|
});
|
|
1151
1152
|
} else a.registerBatch(e);
|
|
1152
1153
|
}
|
|
1153
|
-
let s = (t, r) => n(e, t, r), c =
|
|
1154
|
+
let s = (t, r) => n(e, t, r), c = k({
|
|
1154
1155
|
source: {
|
|
1155
1156
|
allFields: e.fields.listStore,
|
|
1156
1157
|
existingResponses: t
|
|
@@ -1160,7 +1161,7 @@ var _t = N("response"), vt = R(({ client: e }) => {
|
|
|
1160
1161
|
...t,
|
|
1161
1162
|
...n
|
|
1162
1163
|
}, o = Object.entries(n), c = await Promise.allSettled(o.map(async ([t, n]) => {
|
|
1163
|
-
let o =
|
|
1164
|
+
let o = mt(t, e);
|
|
1164
1165
|
if (!o) {
|
|
1165
1166
|
r.push({
|
|
1166
1167
|
fieldKey: t,
|
|
@@ -1170,17 +1171,17 @@ var _t = N("response"), vt = R(({ client: e }) => {
|
|
|
1170
1171
|
});
|
|
1171
1172
|
return;
|
|
1172
1173
|
}
|
|
1173
|
-
let c =
|
|
1174
|
+
let c = ht(o, n), l = await vt(s, o, c, a);
|
|
1174
1175
|
if (l) {
|
|
1175
1176
|
r.push(l);
|
|
1176
1177
|
return;
|
|
1177
1178
|
}
|
|
1178
|
-
let u =
|
|
1179
|
+
let u = gt(o, c);
|
|
1179
1180
|
if (u) {
|
|
1180
1181
|
r.push(u);
|
|
1181
1182
|
return;
|
|
1182
1183
|
}
|
|
1183
|
-
let d =
|
|
1184
|
+
let d = _t(o, c);
|
|
1184
1185
|
if (d) {
|
|
1185
1186
|
r.push(d);
|
|
1186
1187
|
return;
|
|
@@ -1208,7 +1209,7 @@ var _t = N("response"), vt = R(({ client: e }) => {
|
|
|
1208
1209
|
async function l(e) {
|
|
1209
1210
|
return c(e);
|
|
1210
1211
|
}
|
|
1211
|
-
let u =
|
|
1212
|
+
let u = k({
|
|
1212
1213
|
source: t,
|
|
1213
1214
|
effect: async (e, t) => {
|
|
1214
1215
|
let { responsesToCommit: n, validationErrors: r } = await c(t);
|
|
@@ -1223,7 +1224,7 @@ var _t = N("response"), vt = R(({ client: e }) => {
|
|
|
1223
1224
|
value: t
|
|
1224
1225
|
})));
|
|
1225
1226
|
function m(e) {
|
|
1226
|
-
return
|
|
1227
|
+
return A({
|
|
1227
1228
|
f: e,
|
|
1228
1229
|
s: t
|
|
1229
1230
|
}, ({ f: e, s: t }) => {
|
|
@@ -1240,10 +1241,10 @@ var _t = N("response"), vt = R(({ client: e }) => {
|
|
|
1240
1241
|
function _(t) {
|
|
1241
1242
|
return m(e.fields.getByName(t));
|
|
1242
1243
|
}
|
|
1243
|
-
return
|
|
1244
|
+
return I({
|
|
1244
1245
|
clock: r,
|
|
1245
1246
|
target: a.clearAll
|
|
1246
|
-
}),
|
|
1247
|
+
}), I({
|
|
1247
1248
|
clock: i,
|
|
1248
1249
|
target: a.clear
|
|
1249
1250
|
}), {
|
|
@@ -1259,13 +1260,13 @@ var _t = N("response"), vt = R(({ client: e }) => {
|
|
|
1259
1260
|
getByFieldName: _
|
|
1260
1261
|
};
|
|
1261
1262
|
});
|
|
1262
|
-
function
|
|
1263
|
-
return
|
|
1263
|
+
function xt(e) {
|
|
1264
|
+
return R(bt, e);
|
|
1264
1265
|
}
|
|
1265
1266
|
//#endregion
|
|
1266
1267
|
//#region src/entities/condition/condition.ts
|
|
1267
|
-
var
|
|
1268
|
-
let e =
|
|
1268
|
+
var St = M("condition"), Ct = L(() => {
|
|
1269
|
+
let e = St.store({}), t = j(e, { register(e, t) {
|
|
1269
1270
|
return {
|
|
1270
1271
|
...e,
|
|
1271
1272
|
[t.condition.id]: t.condition
|
|
@@ -1289,12 +1290,12 @@ var bt = N("condition"), xt = R(() => {
|
|
|
1289
1290
|
indexStore: e
|
|
1290
1291
|
};
|
|
1291
1292
|
});
|
|
1292
|
-
function
|
|
1293
|
-
return
|
|
1293
|
+
function wt() {
|
|
1294
|
+
return R(Ct);
|
|
1294
1295
|
}
|
|
1295
1296
|
//#endregion
|
|
1296
1297
|
//#region src/utils/api-url.ts
|
|
1297
|
-
function
|
|
1298
|
+
function Tt() {
|
|
1298
1299
|
if (c()) {
|
|
1299
1300
|
let e = [
|
|
1300
1301
|
document.currentScript,
|
|
@@ -1309,7 +1310,7 @@ function Ct() {
|
|
|
1309
1310
|
}
|
|
1310
1311
|
//#endregion
|
|
1311
1312
|
//#region src/utils/search-params.ts
|
|
1312
|
-
function
|
|
1313
|
+
function Et() {
|
|
1313
1314
|
if (!s()) return {};
|
|
1314
1315
|
let e = new URLSearchParams(window.location.search), t = {}, n = /* @__PURE__ */ new Set();
|
|
1315
1316
|
for (let [t] of e.entries()) t.startsWith("picked-") && n.add(t);
|
|
@@ -1317,35 +1318,35 @@ function wt() {
|
|
|
1317
1318
|
let n = r.replace("picked-", "");
|
|
1318
1319
|
t[n] = e.getAll(r);
|
|
1319
1320
|
}
|
|
1320
|
-
let r =
|
|
1321
|
-
if (n.size > 0)
|
|
1321
|
+
let r = O("s");
|
|
1322
|
+
if (n.size > 0) D.set(r, t);
|
|
1322
1323
|
else {
|
|
1323
|
-
let e =
|
|
1324
|
+
let e = D.get(r);
|
|
1324
1325
|
if (e) return e.json() || {};
|
|
1325
1326
|
}
|
|
1326
1327
|
return t;
|
|
1327
1328
|
}
|
|
1328
1329
|
//#endregion
|
|
1329
1330
|
//#region src/utils/user-timing.ts
|
|
1330
|
-
var
|
|
1331
|
-
function
|
|
1331
|
+
var Dt = "picked:start:begin", Ot = "picked:start";
|
|
1332
|
+
function kt() {
|
|
1332
1333
|
try {
|
|
1333
1334
|
return s() && !!p.window && "performance" in p;
|
|
1334
1335
|
} catch {
|
|
1335
1336
|
return !1;
|
|
1336
1337
|
}
|
|
1337
1338
|
}
|
|
1338
|
-
function
|
|
1339
|
+
function At() {
|
|
1339
1340
|
let e = null, t = null;
|
|
1340
1341
|
return {
|
|
1341
1342
|
markBegin: () => {
|
|
1342
|
-
if (
|
|
1343
|
-
e = performance.mark(
|
|
1343
|
+
if (kt()) try {
|
|
1344
|
+
e = performance.mark(Dt).startTime;
|
|
1344
1345
|
} catch {}
|
|
1345
1346
|
},
|
|
1346
1347
|
measure: () => {
|
|
1347
|
-
if (!(!
|
|
1348
|
-
t = performance.measure(
|
|
1348
|
+
if (!(!kt() || e === null)) try {
|
|
1349
|
+
t = performance.measure(Ot, { start: e });
|
|
1349
1350
|
} catch {}
|
|
1350
1351
|
},
|
|
1351
1352
|
get startMeasure() {
|
|
@@ -1355,7 +1356,7 @@ function Ot() {
|
|
|
1355
1356
|
}
|
|
1356
1357
|
//#endregion
|
|
1357
1358
|
//#region src/utils/client-telemetry.ts
|
|
1358
|
-
function
|
|
1359
|
+
function jt() {
|
|
1359
1360
|
let e = null;
|
|
1360
1361
|
return {
|
|
1361
1362
|
observeDeliveryAPIRequests: (t) => {
|
|
@@ -1368,13 +1369,13 @@ function kt() {
|
|
|
1368
1369
|
}
|
|
1369
1370
|
//#endregion
|
|
1370
1371
|
//#region src/entities/session/session.ts
|
|
1371
|
-
var
|
|
1372
|
-
function
|
|
1372
|
+
var Mt = O("session", "global");
|
|
1373
|
+
function Nt() {
|
|
1373
1374
|
return m() ? crypto.randomUUID() : `${Date.now().toString(36)}-${Math.random().toString(36).substring(2, 15)}-${Math.random().toString(36).substring(2, 15)}-${Math.random().toString(36).substring(2, 15)}`;
|
|
1374
1375
|
}
|
|
1375
|
-
function
|
|
1376
|
+
function Pt() {
|
|
1376
1377
|
if (!h()) return null;
|
|
1377
|
-
let e =
|
|
1378
|
+
let e = E.get(Mt);
|
|
1378
1379
|
if (!e.isSet()) return null;
|
|
1379
1380
|
try {
|
|
1380
1381
|
return e.json();
|
|
@@ -1382,10 +1383,10 @@ function Mt() {
|
|
|
1382
1383
|
return null;
|
|
1383
1384
|
}
|
|
1384
1385
|
}
|
|
1385
|
-
var
|
|
1386
|
-
let e =
|
|
1386
|
+
var Ft = L(() => {
|
|
1387
|
+
let e = Pt(), t = { id: e?.id ?? Nt() };
|
|
1387
1388
|
e?.isUser !== void 0 && (t.isUser = e.isUser), e?.identifiers && Object.keys(e.identifiers).length > 0 && (t.identifiers = e.identifiers);
|
|
1388
|
-
let n =
|
|
1389
|
+
let n = F(t), r = j(n, {
|
|
1389
1390
|
setIsUser: (e, t) => ({
|
|
1390
1391
|
...e,
|
|
1391
1392
|
isUser: t
|
|
@@ -1405,15 +1406,15 @@ var Nt = R(() => {
|
|
|
1405
1406
|
let i = { id: e.id };
|
|
1406
1407
|
return e.isUser !== void 0 && (i.isUser = e.isUser), Object.keys(r).length > 0 && (i.identifiers = r), i;
|
|
1407
1408
|
}
|
|
1408
|
-
}), i =
|
|
1409
|
+
}), i = k({
|
|
1409
1410
|
source: n,
|
|
1410
1411
|
effect: (e) => {
|
|
1411
1412
|
if (h()) try {
|
|
1412
|
-
|
|
1413
|
+
E.get(Mt).set(e);
|
|
1413
1414
|
} catch {}
|
|
1414
1415
|
}
|
|
1415
1416
|
});
|
|
1416
|
-
return
|
|
1417
|
+
return I({
|
|
1417
1418
|
source: n,
|
|
1418
1419
|
target: i
|
|
1419
1420
|
}), {
|
|
@@ -1423,39 +1424,39 @@ var Nt = R(() => {
|
|
|
1423
1424
|
removeIdentifier: r.removeIdentifier
|
|
1424
1425
|
};
|
|
1425
1426
|
});
|
|
1426
|
-
function
|
|
1427
|
-
return
|
|
1427
|
+
function It() {
|
|
1428
|
+
return R(Ft, void 0);
|
|
1428
1429
|
}
|
|
1429
1430
|
//#endregion
|
|
1430
1431
|
//#region src/utils/picked-config.ts
|
|
1431
|
-
function
|
|
1432
|
+
function Lt() {
|
|
1432
1433
|
if (s()) return globalThis.window.pickedConfig;
|
|
1433
1434
|
}
|
|
1434
|
-
function
|
|
1435
|
-
if (s()) return
|
|
1435
|
+
function Rt() {
|
|
1436
|
+
if (s()) return Lt()?.projectId;
|
|
1436
1437
|
}
|
|
1437
|
-
function
|
|
1438
|
+
function zt() {
|
|
1438
1439
|
if (!c()) return;
|
|
1439
1440
|
let e = document.getElementById("picked_script") || document.querySelector("script#picked") || document.getElementById("cvly");
|
|
1440
1441
|
if (e) return e.dataset.projectid || e.getAttribute("project-id") || void 0;
|
|
1441
1442
|
}
|
|
1442
|
-
function
|
|
1443
|
+
function Bt(e) {
|
|
1443
1444
|
if (e.projectId) return e.projectId;
|
|
1444
|
-
let t =
|
|
1445
|
+
let t = Rt();
|
|
1445
1446
|
if (t) return t;
|
|
1446
|
-
let n =
|
|
1447
|
+
let n = zt();
|
|
1447
1448
|
if (n) return n;
|
|
1448
1449
|
throw Error("projectId is required. You can provide it via one of:\n (1) createClient({ projectId }) options;\n (2) window.pickedConfig = { projectId };\n (3) a <script> tag with id 'picked_script', 'picked', or 'cvly' that includes a data-projectid (or project-id) attribute.");
|
|
1449
1450
|
}
|
|
1450
1451
|
//#endregion
|
|
1451
1452
|
//#region src/utils/render-string.ts
|
|
1452
|
-
function
|
|
1453
|
+
function X(e) {
|
|
1453
1454
|
return e == null || e === "" || Number.isNaN(e);
|
|
1454
1455
|
}
|
|
1455
|
-
var
|
|
1456
|
-
default: (e, t) =>
|
|
1457
|
-
append: (e, t) => t && !
|
|
1458
|
-
prepend: (e, t) => t && !
|
|
1456
|
+
var Vt = {
|
|
1457
|
+
default: (e, t) => X(e) ? String(t ?? "") : String(e),
|
|
1458
|
+
append: (e, t) => t && !X(e) ? `${e} ${t}` : e,
|
|
1459
|
+
prepend: (e, t) => t && !X(e) ? `${t} ${e}` : e,
|
|
1459
1460
|
upper: (e) => typeof e == "string" ? e.toUpperCase() : e,
|
|
1460
1461
|
lower: (e) => typeof e == "string" ? e.toLowerCase() : e,
|
|
1461
1462
|
capitalize: (e) => typeof e == "string" ? e.charAt(0).toUpperCase() + e.slice(1) : e,
|
|
@@ -1473,24 +1474,24 @@ var zt = {
|
|
|
1473
1474
|
return e instanceof Set ? t.format(Array.from(e).map(String)) : e;
|
|
1474
1475
|
}
|
|
1475
1476
|
};
|
|
1476
|
-
function
|
|
1477
|
+
function Ht(e) {
|
|
1477
1478
|
return typeof e == "object" && !!e;
|
|
1478
1479
|
}
|
|
1479
|
-
function
|
|
1480
|
+
function Ut(e, t) {
|
|
1480
1481
|
let n = t;
|
|
1481
|
-
for (let t of e.split(".")) if (
|
|
1482
|
+
for (let t of e.split(".")) if (Ht(n) && t in n) n = n[t];
|
|
1482
1483
|
else return;
|
|
1483
1484
|
return typeof n == "function" ? n() : n;
|
|
1484
1485
|
}
|
|
1485
|
-
function
|
|
1486
|
-
let n = e.split("|").map((e) => e.trim()), r =
|
|
1486
|
+
function Wt(e, t) {
|
|
1487
|
+
let n = e.split("|").map((e) => e.trim()), r = Ut(n.shift() ?? "", t);
|
|
1487
1488
|
for (let e of n) {
|
|
1488
|
-
let [t, ...n] = e.split(":"), i = t?.trim() ?? "", a = n.join(":").trim().replaceAll(/(?:^['"]|['"]$)/g, ""), o =
|
|
1489
|
+
let [t, ...n] = e.split(":"), i = t?.trim() ?? "", a = n.join(":").trim().replaceAll(/(?:^['"]|['"]$)/g, ""), o = Vt[i];
|
|
1489
1490
|
o && (r = o(r, a));
|
|
1490
1491
|
}
|
|
1491
|
-
return
|
|
1492
|
+
return X(r) ? "" : typeof r == "object" ? JSON.stringify(r) : String(r);
|
|
1492
1493
|
}
|
|
1493
|
-
function
|
|
1494
|
+
function Gt(e, t) {
|
|
1494
1495
|
let n = "", r = 0;
|
|
1495
1496
|
for (; r < e.length;) if (e[r] === "{" && e[r + 1] === "{") {
|
|
1496
1497
|
r += 2;
|
|
@@ -1502,19 +1503,19 @@ function Ut(e, t) {
|
|
|
1502
1503
|
}
|
|
1503
1504
|
i += e[r++];
|
|
1504
1505
|
}
|
|
1505
|
-
n +=
|
|
1506
|
+
n += Wt(i.trim(), t);
|
|
1506
1507
|
} else n += e[r++];
|
|
1507
1508
|
return n;
|
|
1508
1509
|
}
|
|
1509
1510
|
//#endregion
|
|
1510
1511
|
//#region src/utils/preview-session.ts
|
|
1511
|
-
var
|
|
1512
|
-
function
|
|
1513
|
-
return !s() || !g() ? !1 : !!
|
|
1512
|
+
var Kt = "preview-token";
|
|
1513
|
+
function qt() {
|
|
1514
|
+
return !s() || !g() ? !1 : !!Et()[Kt]?.[0];
|
|
1514
1515
|
}
|
|
1515
1516
|
//#endregion
|
|
1516
1517
|
//#region src/picked.ts
|
|
1517
|
-
var
|
|
1518
|
+
var Jt = class {
|
|
1518
1519
|
static logger = r;
|
|
1519
1520
|
options;
|
|
1520
1521
|
dataSource = null;
|
|
@@ -1523,60 +1524,60 @@ var Kt = class {
|
|
|
1523
1524
|
contentLoader;
|
|
1524
1525
|
previewEmbedderOrigins = null;
|
|
1525
1526
|
plugins = {};
|
|
1526
|
-
telemetry =
|
|
1527
|
+
telemetry = jt();
|
|
1527
1528
|
dataProviders = /* @__PURE__ */ new Map();
|
|
1528
|
-
eventBus =
|
|
1529
|
+
eventBus = P();
|
|
1529
1530
|
events;
|
|
1530
1531
|
projectId;
|
|
1531
1532
|
apiUrl;
|
|
1532
1533
|
dashboardUrl;
|
|
1533
1534
|
documentationSiteUrl;
|
|
1534
|
-
session =
|
|
1535
|
-
performance =
|
|
1536
|
-
searchParams =
|
|
1537
|
-
history =
|
|
1538
|
-
components =
|
|
1539
|
-
experienceInstances =
|
|
1540
|
-
experiences =
|
|
1541
|
-
frameworks =
|
|
1542
|
-
predicates =
|
|
1543
|
-
features =
|
|
1544
|
-
conditions =
|
|
1545
|
-
fields =
|
|
1546
|
-
responses =
|
|
1547
|
-
steps =
|
|
1548
|
-
contents =
|
|
1549
|
-
actions =
|
|
1550
|
-
conditionResults =
|
|
1551
|
-
stateSnapshotStore =
|
|
1552
|
-
evaluateRuleLogicFx =
|
|
1535
|
+
session = It();
|
|
1536
|
+
performance = At();
|
|
1537
|
+
searchParams = Et();
|
|
1538
|
+
history = qe();
|
|
1539
|
+
components = Ce({ client: this });
|
|
1540
|
+
experienceInstances = w({ client: this });
|
|
1541
|
+
experiences = he({ client: this });
|
|
1542
|
+
frameworks = De({ client: this });
|
|
1543
|
+
predicates = Ue({ client: this });
|
|
1544
|
+
features = ie({ client: this });
|
|
1545
|
+
conditions = wt();
|
|
1546
|
+
fields = $e();
|
|
1547
|
+
responses = xt({ client: this });
|
|
1548
|
+
steps = nt();
|
|
1549
|
+
contents = ot();
|
|
1550
|
+
actions = ut({ client: this });
|
|
1551
|
+
conditionResults = te();
|
|
1552
|
+
stateSnapshotStore = Ae({ client: this });
|
|
1553
|
+
evaluateRuleLogicFx = Re({ client: this });
|
|
1553
1554
|
start;
|
|
1554
1555
|
readyStore;
|
|
1555
1556
|
preconditionPassedStore;
|
|
1556
1557
|
conditionPassedStore;
|
|
1557
1558
|
lifecycleStageStore;
|
|
1558
|
-
lifecycle =
|
|
1559
|
-
renderStringFx =
|
|
1559
|
+
lifecycle = Be({ client: this });
|
|
1560
|
+
renderStringFx = k({
|
|
1560
1561
|
source: this.responses.listStore,
|
|
1561
1562
|
effect: (e, { template: t, context: n }) => {
|
|
1562
1563
|
let r = {};
|
|
1563
1564
|
for (let t of e) r[t.fieldKey] = t.value;
|
|
1564
|
-
return
|
|
1565
|
+
return Gt(t, {
|
|
1565
1566
|
...n,
|
|
1566
1567
|
responses: r
|
|
1567
1568
|
});
|
|
1568
1569
|
}
|
|
1569
1570
|
});
|
|
1570
1571
|
constructor(e) {
|
|
1571
|
-
this.events =
|
|
1572
|
+
this.events = Ye(this.eventBus), this.projectId = Bt(e), this.options = Object.freeze(e), this.apiUrl = e.apiUrl || Tt(), this.dashboardUrl = e.dashboardUrl ?? "https://dashboard.picked.app", this.documentationSiteUrl = e.documentationSiteUrl ?? "https://docs.picked.app", this.start = this.lifecycle.start, this.readyStore = this.lifecycle.readyStore, this.preconditionPassedStore = this.lifecycle.preconditionPassedStore, this.conditionPassedStore = this.lifecycle.conditionPassedStore, this.lifecycleStageStore = this.lifecycle.lifecycleStageStore, this.setupPlugins(), this.setupFeatures(), this.setupPredicates(), this.setupActions(), this.setupFields(), this.setupComponents(), this.lifecycle.setPrecondition(e.precondition), this.lifecycle.setCondition(e.condition), this.eventBus({
|
|
1572
1573
|
type: "load",
|
|
1573
|
-
version:
|
|
1574
|
+
version: oe()
|
|
1574
1575
|
}), this.maybeStartPreviewChannel();
|
|
1575
1576
|
}
|
|
1576
1577
|
dataProviderFor(e) {
|
|
1577
1578
|
let t = e ?? "", n = this.dataProviders.get(t);
|
|
1578
1579
|
if (n) return n;
|
|
1579
|
-
let r = import("../provider-
|
|
1580
|
+
let r = import("../provider-Bv6_St9B.js").then((t) => t.createPickedDataProvider({
|
|
1580
1581
|
apiUrl: this.apiUrl,
|
|
1581
1582
|
projectId: this.projectId,
|
|
1582
1583
|
getRequestObserver: () => this.telemetry.deliveryAPIRequestObserver,
|
|
@@ -1593,24 +1594,24 @@ var Kt = class {
|
|
|
1593
1594
|
return (await this.dataProviderFor(t?.previewToken)).getContent(e, t?.signal === void 0 ? void 0 : { signal: t.signal });
|
|
1594
1595
|
}
|
|
1595
1596
|
maybeStartPreviewChannel() {
|
|
1596
|
-
|
|
1597
|
+
qt() && import("../preview-channel-CSr96XAo.js").then((e) => e.initPreviewChannel(this)).catch(() => void 0);
|
|
1597
1598
|
}
|
|
1598
1599
|
registerFramework = (e) => {
|
|
1599
|
-
|
|
1600
|
+
Oe(e, this.frameworks);
|
|
1600
1601
|
};
|
|
1601
1602
|
registerComponent = (e, t) => {
|
|
1602
|
-
|
|
1603
|
+
we(e, t, this.components);
|
|
1603
1604
|
};
|
|
1604
1605
|
registerPlugin = (e) => {
|
|
1605
|
-
|
|
1606
|
+
ve(this, e, this.plugins);
|
|
1606
1607
|
let t = this.plugins[e.name];
|
|
1607
1608
|
t?.onStart && this.lifecycle.registerPluginStartHook(t.onStart);
|
|
1608
1609
|
};
|
|
1609
1610
|
registerFeature = (e, t) => {
|
|
1610
|
-
|
|
1611
|
+
re(e, t, this.features);
|
|
1611
1612
|
};
|
|
1612
1613
|
registerPredicate = (e, t) => {
|
|
1613
|
-
|
|
1614
|
+
We(e, t, this.predicates);
|
|
1614
1615
|
};
|
|
1615
1616
|
registerCondition = (e) => {
|
|
1616
1617
|
this.conditions.register(e);
|
|
@@ -1619,19 +1620,19 @@ var Kt = class {
|
|
|
1619
1620
|
this.fields.register(e);
|
|
1620
1621
|
};
|
|
1621
1622
|
registerStep = (e) => {
|
|
1622
|
-
|
|
1623
|
+
rt(e, this.steps);
|
|
1623
1624
|
};
|
|
1624
1625
|
registerContent = (e) => {
|
|
1625
|
-
|
|
1626
|
+
st(e, this.contents);
|
|
1626
1627
|
};
|
|
1627
1628
|
patchContent = (e, t) => {
|
|
1628
1629
|
this.contents.patch(e, t);
|
|
1629
1630
|
};
|
|
1630
1631
|
registerAction = (e, t) => {
|
|
1631
|
-
|
|
1632
|
+
dt(e, t, this.actions);
|
|
1632
1633
|
};
|
|
1633
1634
|
registerExperience = (e) => {
|
|
1634
|
-
e.component &&
|
|
1635
|
+
e.component && we(`experience:${e.id}`, e.component, this.components), this.experiences.register(e);
|
|
1635
1636
|
};
|
|
1636
1637
|
launchExperienceById = async (e, t) => {
|
|
1637
1638
|
this.experiences.launch({
|
|
@@ -1674,7 +1675,7 @@ var Kt = class {
|
|
|
1674
1675
|
this.registerFeature(e, n);
|
|
1675
1676
|
}), this.searchParams.feature && this.searchParams.feature.forEach((e) => {
|
|
1676
1677
|
try {
|
|
1677
|
-
let t =
|
|
1678
|
+
let t = ae(e);
|
|
1678
1679
|
if (!t) return;
|
|
1679
1680
|
let { id: n, bucket: r } = t;
|
|
1680
1681
|
this.registerFeature(n, {
|
|
@@ -1724,8 +1725,8 @@ var Kt = class {
|
|
|
1724
1725
|
});
|
|
1725
1726
|
}
|
|
1726
1727
|
getPluginConfig = (e) => this.plugins[e] ?? {};
|
|
1727
|
-
},
|
|
1728
|
-
async function
|
|
1728
|
+
}, Yt = "application/picked-javascript", Xt = "application/picked-module", Zt = "data-picked-hydrated";
|
|
1729
|
+
async function Qt(e) {
|
|
1729
1730
|
if (!("document" in globalThis)) return;
|
|
1730
1731
|
let t = "application/picked-module", n = "data-picked-hydrated";
|
|
1731
1732
|
function r(e) {
|
|
@@ -1754,42 +1755,42 @@ async function Xt(e) {
|
|
|
1754
1755
|
a && await a;
|
|
1755
1756
|
}
|
|
1756
1757
|
}
|
|
1757
|
-
function
|
|
1758
|
-
return `<script>(${
|
|
1758
|
+
function $t() {
|
|
1759
|
+
return `<script>(${Qt.toString()})(document)<\/script>`;
|
|
1759
1760
|
}
|
|
1760
1761
|
//#endregion
|
|
1761
1762
|
//#region src/utils/html-asset-value.ts
|
|
1762
|
-
function
|
|
1763
|
+
function en(e) {
|
|
1763
1764
|
return typeof e == "object" && !!e && "id" in e && typeof e.id == "string" && "content" in e && (typeof e.content == "string" || e.content === null);
|
|
1764
1765
|
}
|
|
1765
1766
|
//#endregion
|
|
1766
1767
|
//#region src/entities/component/lazyComponent.ts
|
|
1767
|
-
function
|
|
1768
|
+
function tn(e) {
|
|
1768
1769
|
return {
|
|
1769
1770
|
$$type: "lazy-component",
|
|
1770
1771
|
load: e
|
|
1771
1772
|
};
|
|
1772
1773
|
}
|
|
1773
|
-
function
|
|
1774
|
+
function nn(e) {
|
|
1774
1775
|
return typeof e == "object" && !!e && "$$type" in e && e.$$type === "lazy-component";
|
|
1775
1776
|
}
|
|
1776
1777
|
//#endregion
|
|
1777
1778
|
//#region src/entities/content/reference.ts
|
|
1778
|
-
function
|
|
1779
|
+
function Z(e) {
|
|
1779
1780
|
return typeof e == "object" && !!e && !Array.isArray(e) && "contentEntryId" in e && typeof e.contentEntryId == "string";
|
|
1780
1781
|
}
|
|
1781
|
-
function
|
|
1782
|
-
return
|
|
1782
|
+
function Q(e) {
|
|
1783
|
+
return Z(e) ? e.contentEntryId : null;
|
|
1783
1784
|
}
|
|
1784
|
-
function
|
|
1785
|
+
function $(e) {
|
|
1785
1786
|
let t = Array.isArray(e) ? e : [e], n = [];
|
|
1786
|
-
for (let e of t)
|
|
1787
|
+
for (let e of t) Z(e) && n.push(e.contentEntryId);
|
|
1787
1788
|
return n;
|
|
1788
1789
|
}
|
|
1789
|
-
function
|
|
1790
|
+
function rn(e, t) {
|
|
1790
1791
|
return t === null ? null : e[t] ?? null;
|
|
1791
1792
|
}
|
|
1792
|
-
function
|
|
1793
|
+
function an(e, t) {
|
|
1793
1794
|
let n = [];
|
|
1794
1795
|
for (let r of t) {
|
|
1795
1796
|
let t = e[r];
|
|
@@ -1797,29 +1798,29 @@ function rn(e, t) {
|
|
|
1797
1798
|
}
|
|
1798
1799
|
return n;
|
|
1799
1800
|
}
|
|
1800
|
-
function an(e, t) {
|
|
1801
|
-
if (le.store(t)) return j(t, e.indexStore, (e, t) => nn(t, $(e)));
|
|
1802
|
-
let n = $(t);
|
|
1803
|
-
return e.indexStore.map((e) => nn(e, n), { skipVoid: !1 });
|
|
1804
|
-
}
|
|
1805
1801
|
function on(e, t) {
|
|
1806
|
-
if (
|
|
1807
|
-
let n =
|
|
1802
|
+
if (de.store(t)) return A(t, e.indexStore, (e, t) => rn(t, Q(e)));
|
|
1803
|
+
let n = Q(t);
|
|
1808
1804
|
return e.indexStore.map((e) => rn(e, n), { skipVoid: !1 });
|
|
1809
1805
|
}
|
|
1806
|
+
function sn(e, t) {
|
|
1807
|
+
if (de.store(t)) return A(t, e.indexStore, (e, t) => an(t, $(e)));
|
|
1808
|
+
let n = $(t);
|
|
1809
|
+
return e.indexStore.map((e) => an(e, n), { skipVoid: !1 });
|
|
1810
|
+
}
|
|
1810
1811
|
//#endregion
|
|
1811
1812
|
//#region src/exports.ts
|
|
1812
|
-
var
|
|
1813
|
-
let t = new
|
|
1813
|
+
var cn = (e) => {
|
|
1814
|
+
let t = new Jt(e);
|
|
1814
1815
|
return u(t), t;
|
|
1815
1816
|
};
|
|
1816
1817
|
//#endregion
|
|
1817
1818
|
//#region src/typed-content.ts
|
|
1818
|
-
function
|
|
1819
|
+
function ln(e) {
|
|
1819
1820
|
return typeof e.data == "object";
|
|
1820
1821
|
}
|
|
1821
|
-
function
|
|
1822
|
-
return e.map((e) => !e || !
|
|
1822
|
+
function un(e) {
|
|
1823
|
+
return e.map((e) => !e || !ln(e) ? null : e, { skipVoid: !1 });
|
|
1823
1824
|
}
|
|
1824
1825
|
//#endregion
|
|
1825
|
-
export {
|
|
1826
|
+
export { Zt as PICKED_HYDRATED_ATTR, Xt as PICKED_MODULE_SCRIPT_TYPE, Yt as PICKED_SCRIPT_TYPE, Kt as PREVIEW_TOKEN_PARAM, Jt as Picked, $t as buildRehydrateBootstrap, cn as createClient, _e as createPluginEffect, O as createStorageKey, on as deriveReference, sn as deriveReferences, n as evaluateRuleLogic, Lt as getPickedConfig, Z as isContentReference, en as isHtmlAssetValue, g as isInsideIframe, nn as isLazyLoader, v as isPickedRoot, qt as isPreviewSession, tn as lazyComponent, E as localStore, ue as onInertScriptSubtrees, Q as readReferenceId, $ as readReferenceIds, Qt as rehydrateScripts, ce as reportInertScriptSubtrees, le as resetInertScriptReport, D as sessionStore, ne as subscribe, d as supportsCookies, m as supportsCryptoRandomUUID, c as supportsDocument, i as supportsHistory, f as supportsIntersectionObserver, h as supportsLocalStorage, a as supportsLocation, l as supportsSessionStorage, _ as supportsShadowRoot, o as supportsWebComponents, s as supportsWindow, un as toTypedContentStore };
|