@picked/client 0.0.1-dev.1773807602703 → 0.0.1-dev.1774224866171
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/api-WKe5XBeR.cjs +1 -0
- package/dist/api-ZK-H-MlI.js +37 -0
- package/dist/cjs/form/index.js +1 -0
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/plugins/create-experience/index.js +1 -1
- package/dist/cjs/plugins/dynamic-experiences/index.js +1 -1
- package/dist/cjs/plugins/experience-browser-storage/index.js +1 -1
- package/dist/cjs/plugins/history-browser-storage/index.js +1 -1
- package/dist/cjs/plugins/responses-browser-storage/index.js +1 -1
- package/dist/cjs/plugins/responses-indexeddb/index.js +1 -1
- package/dist/cjs/plugins/single-page-app/index.js +1 -1
- package/dist/cjs/plugins/web-components/index.js +1 -1
- package/dist/cjs/plugins/window-object/index.js +1 -1
- package/dist/cjs/server/index.js +1 -1
- package/dist/esm/form/index.js +428 -0
- package/dist/esm/index.js +1138 -1291
- package/dist/esm/plugins/create-experience/index.js +424 -509
- package/dist/esm/plugins/dynamic-experiences/index.js +120 -204
- package/dist/esm/plugins/experience-browser-storage/index.js +32 -37
- package/dist/esm/plugins/history-browser-storage/index.js +23 -25
- package/dist/esm/plugins/responses-browser-storage/index.js +36 -39
- package/dist/esm/plugins/responses-indexeddb/index.js +77 -80
- package/dist/esm/plugins/single-page-app/index.js +31 -35
- package/dist/esm/plugins/web-components/index.js +18 -20
- package/dist/esm/plugins/window-object/index.js +9 -9
- package/dist/esm/server/index.js +95 -89
- package/dist/experience-instance-DZiAwXph.js +481 -0
- package/dist/experience-instance-Ddk4Jktn.cjs +1 -0
- package/dist/id-Bv44ilEo.cjs +1 -0
- package/dist/id-CRqy981z.js +4 -0
- package/dist/logger-6z_gb4rA.js +4 -0
- package/dist/logger-fbvQC40v.cjs +1 -0
- package/dist/object-C82v79xc.js +25 -0
- package/dist/object-CUJOjanb.cjs +1 -0
- package/dist/rules-logic-B7vJrWyO.js +231 -0
- package/dist/rules-logic-CXr4wXcG.cjs +1 -0
- package/dist/storage-6Xk0uAxB.js +103 -0
- package/dist/storage-B6lQtc4-.cjs +1 -0
- package/dist/supports-0XIfd4-R.js +85 -0
- package/dist/supports-Dsjg-82e.cjs +1 -0
- package/dist/types/entities/action/action.d.ts.map +1 -1
- package/dist/types/entities/experience/experience.d.ts +31 -48
- package/dist/types/entities/experience/experience.d.ts.map +1 -1
- package/dist/types/entities/experience-instance/experience-instance.d.ts +2 -2
- package/dist/types/entities/experience-instance/experience-instance.d.ts.map +1 -1
- package/dist/types/entities/feature/feature.d.ts.map +1 -1
- package/dist/types/entities/field/field.d.ts +12 -17
- package/dist/types/entities/field/field.d.ts.map +1 -1
- package/dist/types/entities/history/history.d.ts.map +1 -1
- package/dist/types/entities/response/response.d.ts +7 -9
- package/dist/types/entities/response/response.d.ts.map +1 -1
- package/dist/types/form/build-responses.d.ts +14 -0
- package/dist/types/form/build-responses.d.ts.map +1 -0
- package/dist/types/form/create-field-evaluator.d.ts +19 -0
- package/dist/types/form/create-field-evaluator.d.ts.map +1 -0
- package/dist/types/form/create-field-validation.d.ts +44 -0
- package/dist/types/form/create-field-validation.d.ts.map +1 -0
- package/dist/types/form/create-form.d.ts +66 -0
- package/dist/types/form/create-form.d.ts.map +1 -0
- package/dist/types/form/create-submit-pipeline.d.ts +58 -0
- package/dist/types/form/create-submit-pipeline.d.ts.map +1 -0
- package/dist/types/form/get-step-fields.d.ts +5 -0
- package/dist/types/form/get-step-fields.d.ts.map +1 -0
- package/dist/types/form/index.d.ts +10 -0
- package/dist/types/form/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/logic-engine.d.ts +2 -8
- package/dist/types/logic-engine.d.ts.map +1 -1
- package/dist/types/picked.d.ts +23 -42
- package/dist/types/picked.d.ts.map +1 -1
- package/dist/types/plugins/create-experience/create-experience.d.ts +37 -70
- package/dist/types/plugins/create-experience/create-experience.d.ts.map +1 -1
- package/dist/types/plugins/create-experience/index.d.ts +1 -1
- package/dist/types/plugins/create-experience/index.d.ts.map +1 -1
- package/dist/types/plugins/create-experience/plugin.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/plugin.d.ts +5 -20
- package/dist/types/plugins/dynamic-experiences/plugin.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/types.d.ts +0 -46
- package/dist/types/plugins/dynamic-experiences/types.d.ts.map +1 -1
- package/dist/types/plugins/experience-browser-storage/plugin.d.ts +2 -1
- package/dist/types/plugins/experience-browser-storage/plugin.d.ts.map +1 -1
- package/dist/types/plugins/history-browser-storage/plugin.d.ts +1 -0
- package/dist/types/plugins/history-browser-storage/plugin.d.ts.map +1 -1
- package/dist/types/plugins/responses-browser-storage/plugin.d.ts +2 -1
- package/dist/types/plugins/responses-browser-storage/plugin.d.ts.map +1 -1
- package/dist/types/plugins/responses-indexeddb/plugin.d.ts.map +1 -1
- package/dist/types/plugins/single-page-app/plugin.d.ts +1 -1
- package/dist/types/plugins/single-page-app/plugin.d.ts.map +1 -1
- package/dist/types/utils/dom.d.ts +0 -3
- package/dist/types/utils/dom.d.ts.map +1 -1
- package/dist/types/utils/events.d.ts +2 -2
- package/dist/types/utils/events.d.ts.map +1 -1
- package/dist/types/utils/global-obj.d.ts +0 -1
- package/dist/types/utils/global-obj.d.ts.map +1 -1
- package/dist/types/utils/indexed-db.d.ts +2 -1
- package/dist/types/utils/indexed-db.d.ts.map +1 -1
- package/dist/types/utils/logger.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/types/utils/node-tree/next-reachable-step-nodes.d.ts +3 -3
- package/dist/types/utils/node-tree/next-reachable-step-nodes.d.ts.map +1 -1
- package/dist/types/utils/nodes.d.ts +2 -7
- package/dist/types/utils/nodes.d.ts.map +1 -1
- package/dist/types/utils/object.d.ts +0 -8
- package/dist/types/utils/object.d.ts.map +1 -1
- package/dist/types/utils/picked-config.d.ts +1 -1
- package/dist/types/utils/picked-config.d.ts.map +1 -1
- package/dist/types/utils/search-params.d.ts.map +1 -1
- package/dist/types/utils/storage.d.ts.map +1 -1
- package/package.json +18 -8
- package/dist/api-GlH9T8_1.js +0 -32
- package/dist/api-GvmToTw0.cjs +0 -1
- package/dist/experience-instance-CxiOyYPf.cjs +0 -1
- package/dist/experience-instance-DCknHRkX.js +0 -804
- package/dist/id-BKIWbSTy.cjs +0 -1
- package/dist/id-BW-g3y32.js +0 -6
- package/dist/logger-BsmHUUw1.cjs +0 -1
- package/dist/logger-C9a75KZn.js +0 -5
- package/dist/nodes-DQt4TfuO.js +0 -26
- package/dist/nodes-DsL8kMSX.cjs +0 -1
- package/dist/object-BbFTsGh3.cjs +0 -1
- package/dist/object-JwZ58NOH.js +0 -28
- package/dist/storage-Be5xWNPC.cjs +0 -1
- package/dist/storage-Co_LbKr_.js +0 -239
- package/dist/supports-8YT4QKI7.js +0 -95
- package/dist/supports-YvpQZxbh.cjs +0 -1
- package/dist/types/entities/condition/condition.d.ts +0 -17
- package/dist/types/entities/condition/condition.d.ts.map +0 -1
- package/dist/types/entities/project/project.d.ts +0 -9
- package/dist/types/entities/project/project.d.ts.map +0 -1
- package/dist/types/entities/step/step.d.ts +0 -20
- package/dist/types/entities/step/step.d.ts.map +0 -1
- package/dist/types/utils/key.d.ts +0 -12
- package/dist/types/utils/key.d.ts.map +0 -1
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { t as e } from "./object-C82v79xc.js";
|
|
2
|
+
//#region src/logic-engine.ts
|
|
3
|
+
function t(e) {
|
|
4
|
+
return typeof e == "number" && !isNaN(e);
|
|
5
|
+
}
|
|
6
|
+
function n(e) {
|
|
7
|
+
return typeof e == "string";
|
|
8
|
+
}
|
|
9
|
+
function r(e) {
|
|
10
|
+
return Array.isArray(e);
|
|
11
|
+
}
|
|
12
|
+
function i(e) {
|
|
13
|
+
return e instanceof Promise;
|
|
14
|
+
}
|
|
15
|
+
function a(e) {
|
|
16
|
+
return typeof e == "object" && !!e && !Array.isArray(e) && Object.keys(e).length === 1;
|
|
17
|
+
}
|
|
18
|
+
function o(e) {
|
|
19
|
+
if (t(e)) return e;
|
|
20
|
+
let n = parseFloat(`${e}`);
|
|
21
|
+
return isNaN(n) ? 0 : n;
|
|
22
|
+
}
|
|
23
|
+
function s(e) {
|
|
24
|
+
return `${e}`;
|
|
25
|
+
}
|
|
26
|
+
var c = {
|
|
27
|
+
"==": (e, t) => e == t,
|
|
28
|
+
"===": (e, t) => e === t,
|
|
29
|
+
"!=": (e, t) => e != t,
|
|
30
|
+
"!==": (e, t) => e !== t,
|
|
31
|
+
">": (e, t) => o(e) > o(t),
|
|
32
|
+
">=": (e, t) => o(e) >= o(t),
|
|
33
|
+
"<": (e, t, n) => {
|
|
34
|
+
let r = o(e), i = o(t);
|
|
35
|
+
if (n === void 0) return r < i;
|
|
36
|
+
let a = o(n);
|
|
37
|
+
return r < i && i < a;
|
|
38
|
+
},
|
|
39
|
+
"<=": (e, t, n) => {
|
|
40
|
+
let r = o(e), i = o(t);
|
|
41
|
+
if (n === void 0) return r <= i;
|
|
42
|
+
let a = o(n);
|
|
43
|
+
return r <= i && i <= a;
|
|
44
|
+
},
|
|
45
|
+
"!!": async (e) => await u(e),
|
|
46
|
+
"!": async (e) => !await u(e),
|
|
47
|
+
"%": (e, t) => o(e) % o(t),
|
|
48
|
+
log: (e) => (console.log(e), e),
|
|
49
|
+
in: (e, t) => t ? n(t) ? t.indexOf(s(e)) !== -1 : r(t) ? t.includes(e) : !1 : !1,
|
|
50
|
+
cat: (...e) => e.map(s).join(""),
|
|
51
|
+
substr: (e, t, n) => {
|
|
52
|
+
let r = s(e), i = o(t);
|
|
53
|
+
if (n === void 0) return r.substr(i);
|
|
54
|
+
let a = o(n);
|
|
55
|
+
if (a < 0) {
|
|
56
|
+
let e = r.substr(i);
|
|
57
|
+
return e.substr(0, e.length + a);
|
|
58
|
+
}
|
|
59
|
+
return r.substr(i, a);
|
|
60
|
+
},
|
|
61
|
+
"+": (...e) => e.reduce((e, t) => o(e) + o(t), 0),
|
|
62
|
+
"*": (...e) => e.reduce((e, t) => o(e) * o(t), 1),
|
|
63
|
+
"-": (e, t) => {
|
|
64
|
+
let n = o(e);
|
|
65
|
+
return t === void 0 ? -n : n - o(t);
|
|
66
|
+
},
|
|
67
|
+
"/": (e, t) => o(e) / o(t),
|
|
68
|
+
min: (...e) => Math.min(...e.map(o)),
|
|
69
|
+
max: (...e) => Math.max(...e.map(o)),
|
|
70
|
+
merge: (...e) => e.reduce((e, t) => r(t) ? e.concat(t) : e.concat([t]), []),
|
|
71
|
+
var(e, t) {
|
|
72
|
+
let n = arguments.length > 1 ? t : null;
|
|
73
|
+
if (e === "" || e === "." || e == null) return this;
|
|
74
|
+
if (typeof e == "number" && Array.isArray(this)) return e >= 0 && e < this.length ? this[e] : n;
|
|
75
|
+
let r = s(e);
|
|
76
|
+
if (r === "" || r === ".") return this;
|
|
77
|
+
let i = r.split("."), a = this;
|
|
78
|
+
for (let e of i) {
|
|
79
|
+
if (a == null) return n;
|
|
80
|
+
if (Array.isArray(a)) {
|
|
81
|
+
let t = parseInt(e, 10);
|
|
82
|
+
a = isNaN(t) ? a[e] : a[t];
|
|
83
|
+
} else a = a[e];
|
|
84
|
+
}
|
|
85
|
+
return a === void 0 ? n : a;
|
|
86
|
+
},
|
|
87
|
+
async missing(...e) {
|
|
88
|
+
let t = r(e[0]) ? e[0] : e, n = [];
|
|
89
|
+
for (let e of t) {
|
|
90
|
+
let t = await l({ var: e }, this);
|
|
91
|
+
(t === null || t === "") && n.push(`${e}`);
|
|
92
|
+
}
|
|
93
|
+
return n;
|
|
94
|
+
},
|
|
95
|
+
async missing_some(e, t) {
|
|
96
|
+
let i = await l({ missing: t }, this);
|
|
97
|
+
if (!r(i) || !r(t)) return [];
|
|
98
|
+
let a = i.filter(n);
|
|
99
|
+
return t.filter(n).length - a.length >= o(e) ? [] : a;
|
|
100
|
+
},
|
|
101
|
+
invoke(...e) {
|
|
102
|
+
let [t, ...n] = e;
|
|
103
|
+
return typeof t == "function" ? Reflect.apply(t, null, n) : null;
|
|
104
|
+
},
|
|
105
|
+
regexp_matches(e, t) {
|
|
106
|
+
let i = e, a = "";
|
|
107
|
+
if (r(e)) {
|
|
108
|
+
let [t, n] = e;
|
|
109
|
+
i = t, a = n;
|
|
110
|
+
}
|
|
111
|
+
return !n(i) || !n(a) ? !1 : new RegExp(i, a).test(s(t));
|
|
112
|
+
},
|
|
113
|
+
throw(e) {
|
|
114
|
+
throw Error(s(e));
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
async function l(e, t) {
|
|
118
|
+
if (!e) return e;
|
|
119
|
+
if (i(e)) return l(await e, t);
|
|
120
|
+
if (r(e)) return Promise.all(e.map((e) => l(e, t)));
|
|
121
|
+
if (!a(e)) return e;
|
|
122
|
+
let n = d(e), o = n ? e[n] ?? [] : [];
|
|
123
|
+
switch (r(o) || (o = [o]), n) {
|
|
124
|
+
case "if":
|
|
125
|
+
case "?:":
|
|
126
|
+
for (let e = 0; e < o.length - 1; e += 2) if (await u(await l(o[e], t))) return l(o[e + 1], t);
|
|
127
|
+
return o.length % 2 == 1 ? l(o[o.length - 1], t) : null;
|
|
128
|
+
case "and": {
|
|
129
|
+
let e = null;
|
|
130
|
+
for (let n of o) if (e = await l(n, t), !await u(e)) return e;
|
|
131
|
+
return e;
|
|
132
|
+
}
|
|
133
|
+
case "or": {
|
|
134
|
+
let e = null;
|
|
135
|
+
for (let n of o) if (e = await l(n, t), await u(e)) return e;
|
|
136
|
+
return e;
|
|
137
|
+
}
|
|
138
|
+
case "map": {
|
|
139
|
+
let e = await l(o[0], t);
|
|
140
|
+
return r(e) ? await Promise.all(e.map((e) => l(o[1], e))) : [];
|
|
141
|
+
}
|
|
142
|
+
case "filter": {
|
|
143
|
+
let e = await l(o[0], t);
|
|
144
|
+
return r(e) ? (await Promise.all(e.map(async (e) => ({
|
|
145
|
+
item: e,
|
|
146
|
+
shouldInclude: await u(await l(o[1], e))
|
|
147
|
+
})))).filter(({ shouldInclude: e }) => e).map(({ item: e }) => e) : [];
|
|
148
|
+
}
|
|
149
|
+
case "reduce": {
|
|
150
|
+
let e = await l(o[0], t);
|
|
151
|
+
if (!r(e)) return o.length > 2 ? await l(o[2], t) : null;
|
|
152
|
+
let n = o[1], i = o.length > 2 ? await l(o[2], t) : null;
|
|
153
|
+
for (let t of e) i = await l(n, {
|
|
154
|
+
current: t,
|
|
155
|
+
accumulator: i
|
|
156
|
+
});
|
|
157
|
+
return i;
|
|
158
|
+
}
|
|
159
|
+
case "all": {
|
|
160
|
+
let e = await l(o[0], t);
|
|
161
|
+
if (!r(e) || e.length === 0) return !1;
|
|
162
|
+
for (let t of e) if (!await u(await l(o[1], t))) return !1;
|
|
163
|
+
return !0;
|
|
164
|
+
}
|
|
165
|
+
case "some": {
|
|
166
|
+
let e = await l(o[0], t);
|
|
167
|
+
if (!r(e)) return !1;
|
|
168
|
+
for (let t of e) if (await u(await l(o[1], t))) return !0;
|
|
169
|
+
return !1;
|
|
170
|
+
}
|
|
171
|
+
case "none": {
|
|
172
|
+
let e = await l(o[0], t);
|
|
173
|
+
if (!r(e)) return !0;
|
|
174
|
+
for (let t of e) if (await u(await l(o[1], t))) return !1;
|
|
175
|
+
return !0;
|
|
176
|
+
}
|
|
177
|
+
case "catch": try {
|
|
178
|
+
return await l(o[0], t);
|
|
179
|
+
} catch (e) {
|
|
180
|
+
return a(e) ? await l(e, t) : o[1] ? await l(o[1], e) : e instanceof Error ? e.message : e;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
let s = await Promise.all(o.map((e) => l(e, t))), f = n ? c[n] : void 0;
|
|
184
|
+
if (!f) throw Error(`Unrecognized operation ${n}`);
|
|
185
|
+
return f.apply(t, s);
|
|
186
|
+
}
|
|
187
|
+
async function u(e) {
|
|
188
|
+
return i(e) ? u(await e) : !(Array.isArray(e) && e.length === 0) && !!e;
|
|
189
|
+
}
|
|
190
|
+
function d(e) {
|
|
191
|
+
return Object.keys(e)[0];
|
|
192
|
+
}
|
|
193
|
+
//#endregion
|
|
194
|
+
//#region src/utils/rules-logic.ts
|
|
195
|
+
function f(t) {
|
|
196
|
+
return !e(t);
|
|
197
|
+
}
|
|
198
|
+
async function p(e, t, n) {
|
|
199
|
+
let r = e.getStateSnapshot(), i = e.predicates.listStore.getState().reduce((e, t) => ({
|
|
200
|
+
...e,
|
|
201
|
+
[t.name]: (...e) => t.predicate({
|
|
202
|
+
...r,
|
|
203
|
+
args: e
|
|
204
|
+
})
|
|
205
|
+
}), {}), a = e.features.listStore.getState().reduce((e, t) => ({
|
|
206
|
+
...e,
|
|
207
|
+
[t.id]: async () => {
|
|
208
|
+
let { bucket: e } = await t.getBucket();
|
|
209
|
+
return e;
|
|
210
|
+
}
|
|
211
|
+
}), {});
|
|
212
|
+
return await l(t, {
|
|
213
|
+
...n,
|
|
214
|
+
responses: e.responses.getAllStore.getState(),
|
|
215
|
+
location: typeof r.location == "object" ? {
|
|
216
|
+
hash: r.location.hash,
|
|
217
|
+
host: r.location.host,
|
|
218
|
+
hostname: r.location.hostname,
|
|
219
|
+
href: r.location.href,
|
|
220
|
+
origin: r.location.origin,
|
|
221
|
+
pathname: r.location.pathname,
|
|
222
|
+
port: r.location.port,
|
|
223
|
+
protocol: r.location.protocol,
|
|
224
|
+
search: r.location.search
|
|
225
|
+
} : void 0,
|
|
226
|
+
predicates: i,
|
|
227
|
+
features: a
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
//#endregion
|
|
231
|
+
export { f as n, p as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./object-CUJOjanb.cjs`);function t(e){return typeof e==`number`&&!isNaN(e)}function n(e){return typeof e==`string`}function r(e){return Array.isArray(e)}function i(e){return e instanceof Promise}function a(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.keys(e).length===1}function o(e){if(t(e))return e;let n=parseFloat(`${e}`);return isNaN(n)?0:n}function s(e){return`${e}`}var c={"==":(e,t)=>e==t,"===":(e,t)=>e===t,"!=":(e,t)=>e!=t,"!==":(e,t)=>e!==t,">":(e,t)=>o(e)>o(t),">=":(e,t)=>o(e)>=o(t),"<":(e,t,n)=>{let r=o(e),i=o(t);if(n===void 0)return r<i;let a=o(n);return r<i&&i<a},"<=":(e,t,n)=>{let r=o(e),i=o(t);if(n===void 0)return r<=i;let a=o(n);return r<=i&&i<=a},"!!":async e=>await u(e),"!":async e=>!await u(e),"%":(e,t)=>o(e)%o(t),log:e=>(console.log(e),e),in:(e,t)=>t?n(t)?t.indexOf(s(e))!==-1:r(t)?t.includes(e):!1:!1,cat:(...e)=>e.map(s).join(``),substr:(e,t,n)=>{let r=s(e),i=o(t);if(n===void 0)return r.substr(i);let a=o(n);if(a<0){let e=r.substr(i);return e.substr(0,e.length+a)}return r.substr(i,a)},"+":(...e)=>e.reduce((e,t)=>o(e)+o(t),0),"*":(...e)=>e.reduce((e,t)=>o(e)*o(t),1),"-":(e,t)=>{let n=o(e);return t===void 0?-n:n-o(t)},"/":(e,t)=>o(e)/o(t),min:(...e)=>Math.min(...e.map(o)),max:(...e)=>Math.max(...e.map(o)),merge:(...e)=>e.reduce((e,t)=>r(t)?e.concat(t):e.concat([t]),[]),var(e,t){let n=arguments.length>1?t:null;if(e===``||e===`.`||e==null)return this;if(typeof e==`number`&&Array.isArray(this))return e>=0&&e<this.length?this[e]:n;let r=s(e);if(r===``||r===`.`)return this;let i=r.split(`.`),a=this;for(let e of i){if(a==null)return n;if(Array.isArray(a)){let t=parseInt(e,10);a=isNaN(t)?a[e]:a[t]}else a=a[e]}return a===void 0?n:a},async missing(...e){let t=r(e[0])?e[0]:e,n=[];for(let e of t){let t=await l({var:e},this);(t===null||t===``)&&n.push(`${e}`)}return n},async missing_some(e,t){let i=await l({missing:t},this);if(!r(i)||!r(t))return[];let a=i.filter(n);return t.filter(n).length-a.length>=o(e)?[]:a},invoke(...e){let[t,...n]=e;return typeof t==`function`?Reflect.apply(t,null,n):null},regexp_matches(e,t){let i=e,a=``;if(r(e)){let[t,n]=e;i=t,a=n}return!n(i)||!n(a)?!1:new RegExp(i,a).test(s(t))},throw(e){throw Error(s(e))}};async function l(e,t){if(!e)return e;if(i(e))return l(await e,t);if(r(e))return Promise.all(e.map(e=>l(e,t)));if(!a(e))return e;let n=d(e),o=n?e[n]??[]:[];switch(r(o)||(o=[o]),n){case`if`:case`?:`:for(let e=0;e<o.length-1;e+=2)if(await u(await l(o[e],t)))return l(o[e+1],t);return o.length%2==1?l(o[o.length-1],t):null;case`and`:{let e=null;for(let n of o)if(e=await l(n,t),!await u(e))return e;return e}case`or`:{let e=null;for(let n of o)if(e=await l(n,t),await u(e))return e;return e}case`map`:{let e=await l(o[0],t);return r(e)?await Promise.all(e.map(e=>l(o[1],e))):[]}case`filter`:{let e=await l(o[0],t);return r(e)?(await Promise.all(e.map(async e=>({item:e,shouldInclude:await u(await l(o[1],e))})))).filter(({shouldInclude:e})=>e).map(({item:e})=>e):[]}case`reduce`:{let e=await l(o[0],t);if(!r(e))return o.length>2?await l(o[2],t):null;let n=o[1],i=o.length>2?await l(o[2],t):null;for(let t of e)i=await l(n,{current:t,accumulator:i});return i}case`all`:{let e=await l(o[0],t);if(!r(e)||e.length===0)return!1;for(let t of e)if(!await u(await l(o[1],t)))return!1;return!0}case`some`:{let e=await l(o[0],t);if(!r(e))return!1;for(let t of e)if(await u(await l(o[1],t)))return!0;return!1}case`none`:{let e=await l(o[0],t);if(!r(e))return!0;for(let t of e)if(await u(await l(o[1],t)))return!1;return!0}case`catch`:try{return await l(o[0],t)}catch(e){return a(e)?await l(e,t):o[1]?await l(o[1],e):e instanceof Error?e.message:e}}let s=await Promise.all(o.map(e=>l(e,t))),f=n?c[n]:void 0;if(!f)throw Error(`Unrecognized operation ${n}`);return f.apply(t,s)}async function u(e){return i(e)?u(await e):!(Array.isArray(e)&&e.length===0)&&!!e}function d(e){return Object.keys(e)[0]}function f(t){return!e.t(t)}async function p(e,t,n){let r=e.getStateSnapshot(),i=e.predicates.listStore.getState().reduce((e,t)=>({...e,[t.name]:(...e)=>t.predicate({...r,args:e})}),{}),a=e.features.listStore.getState().reduce((e,t)=>({...e,[t.id]:async()=>{let{bucket:e}=await t.getBucket();return e}}),{});return await l(t,{...n,responses:e.responses.getAllStore.getState(),location:typeof r.location==`object`?{hash:r.location.hash,host:r.location.host,hostname:r.location.hostname,href:r.location.href,origin:r.location.origin,pathname:r.location.pathname,port:r.location.port,protocol:r.location.protocol,search:r.location.search}:void 0,predicates:i,features:a})}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return p}});
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
//#region src/utils/storage.ts
|
|
2
|
+
var e = (e) => btoa([...e].map((e) => String.fromCharCode(e.charCodeAt(0) ^ 7)).join("")).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
3
|
+
function t(t, n = "global", r) {
|
|
4
|
+
let i = "pckd";
|
|
5
|
+
if (n === "experience") {
|
|
6
|
+
if (!r) throw Error("Experience instance is required to scope storage to an experience");
|
|
7
|
+
i = `${i}:${r.experienceId}`;
|
|
8
|
+
}
|
|
9
|
+
return {
|
|
10
|
+
_: `${i}:${e(t)}`,
|
|
11
|
+
scope: n
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
var n = /* @__PURE__ */ new Map();
|
|
15
|
+
function r(e, t) {
|
|
16
|
+
let r = n.get(e._);
|
|
17
|
+
r && r.forEach((n) => n(e, t));
|
|
18
|
+
}
|
|
19
|
+
function i(e, t, n, i) {
|
|
20
|
+
let a = n === "local" ? localStorage : sessionStorage, o = typeof t == "string" ? t : JSON.stringify(t);
|
|
21
|
+
if (a.setItem(e._, o), typeof i == "number") {
|
|
22
|
+
let t = new Date(Date.now() + i).toISOString();
|
|
23
|
+
a.setItem(`${e._}:expires-at`, t);
|
|
24
|
+
}
|
|
25
|
+
r(e, n);
|
|
26
|
+
}
|
|
27
|
+
function a(e, t) {
|
|
28
|
+
let n = t === "local" ? localStorage : sessionStorage;
|
|
29
|
+
n.removeItem(e._), n.removeItem(`${e._}:expires-at`), r(e, t);
|
|
30
|
+
}
|
|
31
|
+
function o(e, t, r, i) {
|
|
32
|
+
let a = t === "local" ? localStorage : sessionStorage;
|
|
33
|
+
function o(t) {
|
|
34
|
+
t.storageArea === a && t.key === e._ && i(r(e));
|
|
35
|
+
}
|
|
36
|
+
function s(e, n) {
|
|
37
|
+
n === t && i(r(e));
|
|
38
|
+
}
|
|
39
|
+
window.addEventListener("storage", o), n.has(e._) || n.set(e._, /* @__PURE__ */ new Set());
|
|
40
|
+
let c = n.get(e._);
|
|
41
|
+
return c && c.add(s), function() {
|
|
42
|
+
window.removeEventListener("storage", o);
|
|
43
|
+
let t = n.get(e._);
|
|
44
|
+
t && (t.delete(s), t.size === 0 && n.delete(e._));
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
function s(e, t) {
|
|
48
|
+
let n = t === "local" ? localStorage : sessionStorage, r = n.getItem(e._), c = n.getItem(`${e._}:expires-at`), l = (n, r) => i(e, n, t, r), u = () => a(e, t), d = (n) => o(e, t, (e) => s(e, t), n);
|
|
49
|
+
return c && /* @__PURE__ */ new Date() > new Date(c) ? (a(e, t), {
|
|
50
|
+
isSet: () => !1,
|
|
51
|
+
text: () => null,
|
|
52
|
+
json: () => null,
|
|
53
|
+
boolean: () => null,
|
|
54
|
+
set: l,
|
|
55
|
+
remove: u,
|
|
56
|
+
subscribe: d
|
|
57
|
+
}) : {
|
|
58
|
+
isSet() {
|
|
59
|
+
return r !== null;
|
|
60
|
+
},
|
|
61
|
+
text() {
|
|
62
|
+
return r;
|
|
63
|
+
},
|
|
64
|
+
json() {
|
|
65
|
+
return r ? JSON.parse(r) : null;
|
|
66
|
+
},
|
|
67
|
+
boolean() {
|
|
68
|
+
return r ? r === "true" : null;
|
|
69
|
+
},
|
|
70
|
+
set: l,
|
|
71
|
+
remove: u,
|
|
72
|
+
subscribe: d
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
var c = {
|
|
76
|
+
get(e) {
|
|
77
|
+
return s(e, "session");
|
|
78
|
+
},
|
|
79
|
+
set(e, t, n) {
|
|
80
|
+
i(e, t, "session", n);
|
|
81
|
+
},
|
|
82
|
+
remove(e) {
|
|
83
|
+
a(e, "session");
|
|
84
|
+
},
|
|
85
|
+
subscribe(e, t) {
|
|
86
|
+
return o(e, "session", this.get, t);
|
|
87
|
+
}
|
|
88
|
+
}, l = {
|
|
89
|
+
get(e) {
|
|
90
|
+
return s(e, "local");
|
|
91
|
+
},
|
|
92
|
+
set(e, t, n) {
|
|
93
|
+
i(e, t, "local", n);
|
|
94
|
+
},
|
|
95
|
+
remove(e) {
|
|
96
|
+
a(e, "local");
|
|
97
|
+
},
|
|
98
|
+
subscribe(e, t) {
|
|
99
|
+
return o(e, "local", this.get, t);
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
//#endregion
|
|
103
|
+
export { o as i, l as n, c as r, t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=e=>btoa([...e].map(e=>String.fromCharCode(e.charCodeAt(0)^7)).join(``)).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``);function t(t,n=`global`,r){let i=`pckd`;if(n===`experience`){if(!r)throw Error(`Experience instance is required to scope storage to an experience`);i=`${i}:${r.experienceId}`}return{_:`${i}:${e(t)}`,scope:n}}var n=new Map;function r(e,t){let r=n.get(e._);r&&r.forEach(n=>n(e,t))}function i(e,t,n,i){let a=n===`local`?localStorage:sessionStorage,o=typeof t==`string`?t:JSON.stringify(t);if(a.setItem(e._,o),typeof i==`number`){let t=new Date(Date.now()+i).toISOString();a.setItem(`${e._}:expires-at`,t)}r(e,n)}function a(e,t){let n=t===`local`?localStorage:sessionStorage;n.removeItem(e._),n.removeItem(`${e._}:expires-at`),r(e,t)}function o(e,t,r,i){let a=t===`local`?localStorage:sessionStorage;function o(t){t.storageArea===a&&t.key===e._&&i(r(e))}function s(e,n){n===t&&i(r(e))}window.addEventListener(`storage`,o),n.has(e._)||n.set(e._,new Set);let c=n.get(e._);return c&&c.add(s),function(){window.removeEventListener(`storage`,o);let t=n.get(e._);t&&(t.delete(s),t.size===0&&n.delete(e._))}}function s(e,t){let n=t===`local`?localStorage:sessionStorage,r=n.getItem(e._),c=n.getItem(`${e._}:expires-at`),l=(n,r)=>i(e,n,t,r),u=()=>a(e,t),d=n=>o(e,t,e=>s(e,t),n);return c&&new Date>new Date(c)?(a(e,t),{isSet:()=>!1,text:()=>null,json:()=>null,boolean:()=>null,set:l,remove:u,subscribe:d}):{isSet(){return r!==null},text(){return r},json(){return r?JSON.parse(r):null},boolean(){return r?r===`true`:null},set:l,remove:u,subscribe:d}}var c={get(e){return s(e,`session`)},set(e,t,n){i(e,t,`session`,n)},remove(e){a(e,`session`)},subscribe(e,t){return o(e,`session`,this.get,t)}},l={get(e){return s(e,`local`)},set(e,t,n){i(e,t,`local`,n)},remove(e){a(e,`local`)},subscribe(e,t){return o(e,`local`,this.get,t)}};Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
//#region src/utils/global-obj.ts
|
|
2
|
+
var e = Symbol("Picked"), t = globalThis, n = (n) => {
|
|
3
|
+
t[e] = n;
|
|
4
|
+
};
|
|
5
|
+
//#endregion
|
|
6
|
+
//#region src/utils/supports.ts
|
|
7
|
+
function r() {
|
|
8
|
+
try {
|
|
9
|
+
return "location" in t && !!t.location;
|
|
10
|
+
} catch {
|
|
11
|
+
return !1;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
function i() {
|
|
15
|
+
try {
|
|
16
|
+
return "history" in t && !!t.history;
|
|
17
|
+
} catch {
|
|
18
|
+
return !1;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function a() {
|
|
22
|
+
try {
|
|
23
|
+
return "localStorage" in t && !!t.localStorage;
|
|
24
|
+
} catch {
|
|
25
|
+
return !1;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function o() {
|
|
29
|
+
try {
|
|
30
|
+
return "sessionStorage" in t && !!t.sessionStorage;
|
|
31
|
+
} catch {
|
|
32
|
+
return !1;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function s() {
|
|
36
|
+
try {
|
|
37
|
+
return "document" in t && "cookie" in t.document;
|
|
38
|
+
} catch {
|
|
39
|
+
return !1;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function c() {
|
|
43
|
+
try {
|
|
44
|
+
return "document" in t && "createElement" in t.document && "attachShadow" in t.document.createElement("div");
|
|
45
|
+
} catch {
|
|
46
|
+
return !1;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function l() {
|
|
50
|
+
try {
|
|
51
|
+
return "window" in t;
|
|
52
|
+
} catch {
|
|
53
|
+
return !1;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function u() {
|
|
57
|
+
try {
|
|
58
|
+
return "document" in t;
|
|
59
|
+
} catch {
|
|
60
|
+
return !1;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function d() {
|
|
64
|
+
try {
|
|
65
|
+
return "IntersectionObserver" in t;
|
|
66
|
+
} catch {
|
|
67
|
+
return !1;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
function f() {
|
|
71
|
+
try {
|
|
72
|
+
return "customElements" in t && !!t.customElements;
|
|
73
|
+
} catch {
|
|
74
|
+
return !1;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
function p() {
|
|
78
|
+
try {
|
|
79
|
+
return "crypto" in t && "randomUUID" in t.crypto;
|
|
80
|
+
} catch {
|
|
81
|
+
return !1;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//#endregion
|
|
85
|
+
export { d as a, o as c, l as d, t as f, i, c as l, p as n, a as o, n as p, u as r, r as s, s as t, f as u };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Symbol(`Picked`),t=globalThis,n=n=>{t[e]=n};function r(){try{return`location`in t&&!!t.location}catch{return!1}}function i(){try{return`history`in t&&!!t.history}catch{return!1}}function a(){try{return`localStorage`in t&&!!t.localStorage}catch{return!1}}function o(){try{return`sessionStorage`in t&&!!t.sessionStorage}catch{return!1}}function s(){try{return`document`in t&&`cookie`in t.document}catch{return!1}}function c(){try{return`document`in t&&`createElement`in t.document&&`attachShadow`in t.document.createElement(`div`)}catch{return!1}}function l(){try{return`window`in t}catch{return!1}}function u(){try{return`document`in t}catch{return!1}}function d(){try{return`IntersectionObserver`in t}catch{return!1}}function f(){try{return`customElements`in t&&!!t.customElements}catch{return!1}}function p(){try{return`crypto`in t&&`randomUUID`in t.crypto}catch{return!1}}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return f}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../../src/entities/action/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AAG9D,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,IAAI,CAAA;AACnD,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAItE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf;AAED,QAAA,MAAM,wBAAwB;qBAiBJ,MAAM,UAAU,MAAM,KAAG,IAAI;sBAQ5B,MAAM;;
|
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../../src/entities/action/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AAG9D,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,IAAI,CAAA;AACnD,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAItE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf;AAED,QAAA,MAAM,wBAAwB;qBAiBJ,MAAM,UAAU,MAAM,KAAG,IAAI;sBAQ5B,MAAM;;oCAKjB,MAAM,KACjB,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAgBtD,CAAA;AAEF,wBAAgB,iBAAiB,IAAI,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAE/E;AAED,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,SAAS,YAAY,KAAG,IAEjF,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AdaptedComponent } from '../component/component';
|
|
2
2
|
import { Picked } from '../../picked';
|
|
3
3
|
import { LogicRule, LogicValue } from '../../logic-engine';
|
|
4
|
+
import { Field } from '../field/field';
|
|
4
5
|
export type ExperiencesListStore = ReturnType<typeof createExperienceIndex>;
|
|
5
6
|
export type ExperienceStore = ReturnType<typeof createExperience>;
|
|
6
7
|
declare const createExperienceFactory: ({ client, experience }: {
|
|
@@ -8,8 +9,6 @@ declare const createExperienceFactory: ({ client, experience }: {
|
|
|
8
9
|
experience: Experience;
|
|
9
10
|
}) => {
|
|
10
11
|
id: string;
|
|
11
|
-
key: string | undefined;
|
|
12
|
-
name: string;
|
|
13
12
|
configStore: import('effector').Store<{
|
|
14
13
|
name: string;
|
|
15
14
|
decisionLogic: LogicValue | LogicRule;
|
|
@@ -17,11 +16,12 @@ declare const createExperienceFactory: ({ client, experience }: {
|
|
|
17
16
|
initializeOpenLogic: LogicValue | LogicRule;
|
|
18
17
|
}>;
|
|
19
18
|
treeStore: import('effector').Store<{
|
|
20
|
-
steps:
|
|
19
|
+
steps: ExperienceStep[];
|
|
21
20
|
nodes: ExperienceNode[];
|
|
22
21
|
edges: ExperienceEdge[];
|
|
23
|
-
|
|
22
|
+
conditionals: ExperienceConditional[];
|
|
24
23
|
}>;
|
|
24
|
+
fieldsStore: import('effector').Store<Field[]>;
|
|
25
25
|
componentStore: import('effector').Store<{
|
|
26
26
|
name: string;
|
|
27
27
|
component: AdaptedComponent<string, unknown>;
|
|
@@ -35,7 +35,6 @@ declare const createExperienceFactory: ({ client, experience }: {
|
|
|
35
35
|
};
|
|
36
36
|
/**
|
|
37
37
|
* Creates an Effector store for a single experience.
|
|
38
|
-
*
|
|
39
38
|
* @param params - The client instance and experience data.
|
|
40
39
|
* @returns An experience store with config, tree, fields, and component sub-stores.
|
|
41
40
|
* @example
|
|
@@ -58,11 +57,9 @@ declare const createExperienceIndexFactory: ({ client }: {
|
|
|
58
57
|
}) => {
|
|
59
58
|
/** Registers an experience in the index. If an experience with the same ID already exists, it is merged. */
|
|
60
59
|
register: (experience: Experience) => void;
|
|
61
|
-
/** Returns a derived store for an experience by its ID
|
|
62
|
-
get: (
|
|
60
|
+
/** Returns a derived store for an experience by its ID. The store value is `undefined` when no match exists. */
|
|
61
|
+
get: (id: Experience["id"]) => import('effector').Store<{
|
|
63
62
|
id: string;
|
|
64
|
-
key: string | undefined;
|
|
65
|
-
name: string;
|
|
66
63
|
configStore: import('effector').Store<{
|
|
67
64
|
name: string;
|
|
68
65
|
decisionLogic: LogicValue | LogicRule;
|
|
@@ -70,11 +67,12 @@ declare const createExperienceIndexFactory: ({ client }: {
|
|
|
70
67
|
initializeOpenLogic: LogicValue | LogicRule;
|
|
71
68
|
}>;
|
|
72
69
|
treeStore: import('effector').Store<{
|
|
73
|
-
steps:
|
|
70
|
+
steps: ExperienceStep[];
|
|
74
71
|
nodes: ExperienceNode[];
|
|
75
72
|
edges: ExperienceEdge[];
|
|
76
|
-
|
|
73
|
+
conditionals: ExperienceConditional[];
|
|
77
74
|
}>;
|
|
75
|
+
fieldsStore: import('effector').Store<Field[]>;
|
|
78
76
|
componentStore: import('effector').Store<{
|
|
79
77
|
name: string;
|
|
80
78
|
component: AdaptedComponent<string, unknown>;
|
|
@@ -87,10 +85,8 @@ declare const createExperienceIndexFactory: ({ client }: {
|
|
|
87
85
|
}>;
|
|
88
86
|
} | undefined>;
|
|
89
87
|
/** @deprecated Use `experiences.get(id)` instead. */
|
|
90
|
-
getById: (
|
|
88
|
+
getById: (id: Experience["id"]) => import('effector').Store<{
|
|
91
89
|
id: string;
|
|
92
|
-
key: string | undefined;
|
|
93
|
-
name: string;
|
|
94
90
|
configStore: import('effector').Store<{
|
|
95
91
|
name: string;
|
|
96
92
|
decisionLogic: LogicValue | LogicRule;
|
|
@@ -98,11 +94,12 @@ declare const createExperienceIndexFactory: ({ client }: {
|
|
|
98
94
|
initializeOpenLogic: LogicValue | LogicRule;
|
|
99
95
|
}>;
|
|
100
96
|
treeStore: import('effector').Store<{
|
|
101
|
-
steps:
|
|
97
|
+
steps: ExperienceStep[];
|
|
102
98
|
nodes: ExperienceNode[];
|
|
103
99
|
edges: ExperienceEdge[];
|
|
104
|
-
|
|
100
|
+
conditionals: ExperienceConditional[];
|
|
105
101
|
}>;
|
|
102
|
+
fieldsStore: import('effector').Store<Field[]>;
|
|
106
103
|
componentStore: import('effector').Store<{
|
|
107
104
|
name: string;
|
|
108
105
|
component: AdaptedComponent<string, unknown>;
|
|
@@ -114,7 +111,7 @@ declare const createExperienceIndexFactory: ({ client }: {
|
|
|
114
111
|
strategy: "override";
|
|
115
112
|
}>;
|
|
116
113
|
} | undefined>;
|
|
117
|
-
/** Effector effect that launches an experience by ID
|
|
114
|
+
/** Effector effect that launches an experience by ID, creating instances for each DOM target. */
|
|
118
115
|
launch: import('effector').Effect<{
|
|
119
116
|
id: string;
|
|
120
117
|
options?: LaunchExperienceOptions;
|
|
@@ -127,8 +124,6 @@ declare const createExperienceIndexFactory: ({ client }: {
|
|
|
127
124
|
/** Derived store containing all registered experiences as an array. */
|
|
128
125
|
listStore: import('effector').Store<{
|
|
129
126
|
id: string;
|
|
130
|
-
key: string | undefined;
|
|
131
|
-
name: string;
|
|
132
127
|
configStore: import('effector').Store<{
|
|
133
128
|
name: string;
|
|
134
129
|
decisionLogic: LogicValue | LogicRule;
|
|
@@ -136,11 +131,12 @@ declare const createExperienceIndexFactory: ({ client }: {
|
|
|
136
131
|
initializeOpenLogic: LogicValue | LogicRule;
|
|
137
132
|
}>;
|
|
138
133
|
treeStore: import('effector').Store<{
|
|
139
|
-
steps:
|
|
134
|
+
steps: ExperienceStep[];
|
|
140
135
|
nodes: ExperienceNode[];
|
|
141
136
|
edges: ExperienceEdge[];
|
|
142
|
-
|
|
137
|
+
conditionals: ExperienceConditional[];
|
|
143
138
|
}>;
|
|
139
|
+
fieldsStore: import('effector').Store<Field[]>;
|
|
144
140
|
componentStore: import('effector').Store<{
|
|
145
141
|
name: string;
|
|
146
142
|
component: AdaptedComponent<string, unknown>;
|
|
@@ -155,7 +151,6 @@ declare const createExperienceIndexFactory: ({ client }: {
|
|
|
155
151
|
};
|
|
156
152
|
/**
|
|
157
153
|
* Creates an Effector-based index for registering and retrieving experiences.
|
|
158
|
-
*
|
|
159
154
|
* @param params - The client instance.
|
|
160
155
|
* @returns An experience index with register, get, launch, and open methods.
|
|
161
156
|
* @example
|
|
@@ -164,7 +159,12 @@ declare const createExperienceIndexFactory: ({ client }: {
|
|
|
164
159
|
* ```
|
|
165
160
|
*/
|
|
166
161
|
export declare function createExperienceIndex<T extends Parameters<typeof createExperienceIndexFactory>[0]>(params: T): ReturnType<typeof createExperienceIndexFactory>;
|
|
167
|
-
export
|
|
162
|
+
export interface ExperienceStep {
|
|
163
|
+
id: string;
|
|
164
|
+
label: string;
|
|
165
|
+
fieldIds: string[];
|
|
166
|
+
}
|
|
167
|
+
export type ExperienceNode = StepNode | ConditionalNode | LaunchExperienceNode | OriginNode | ActionNode;
|
|
168
168
|
export interface ExperienceAction {
|
|
169
169
|
id: string;
|
|
170
170
|
action: string;
|
|
@@ -179,21 +179,13 @@ export interface BaseNode {
|
|
|
179
179
|
}
|
|
180
180
|
export interface StepNode extends BaseNode {
|
|
181
181
|
type: 'step';
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
stepId?: string;
|
|
185
|
-
name?: string;
|
|
186
|
-
/** @deprecated Use `name` instead. Populated for backwards compatibility. */
|
|
187
|
-
label?: string;
|
|
182
|
+
stepId: string;
|
|
183
|
+
label: string;
|
|
188
184
|
}
|
|
189
|
-
export interface
|
|
185
|
+
export interface ConditionalNode extends BaseNode {
|
|
190
186
|
type: 'conditional';
|
|
191
|
-
|
|
192
|
-
/** @deprecated Use `conditionId` instead. */
|
|
193
|
-
conditionalId?: string;
|
|
187
|
+
conditionalId: string;
|
|
194
188
|
}
|
|
195
|
-
/** @deprecated Use {@link ConditionNode} instead. */
|
|
196
|
-
export type ConditionalNode = ConditionNode;
|
|
197
189
|
export interface LaunchExperienceNode extends BaseNode {
|
|
198
190
|
type: 'experience';
|
|
199
191
|
experienceId: string;
|
|
@@ -207,48 +199,39 @@ export interface ExperienceEdge {
|
|
|
207
199
|
destinationNodeId: string;
|
|
208
200
|
sourceNodeHandle?: string;
|
|
209
201
|
}
|
|
210
|
-
export interface
|
|
202
|
+
export interface ExperienceConditional {
|
|
211
203
|
id: string;
|
|
212
204
|
label?: string;
|
|
213
205
|
condition: LogicRule;
|
|
214
206
|
}
|
|
215
|
-
/** @deprecated Use {@link ExperienceCondition} instead. */
|
|
216
|
-
export type ExperienceConditional = ExperienceCondition;
|
|
217
207
|
export interface ExperienceTarget {
|
|
218
208
|
selector: string;
|
|
219
209
|
placement: 'replace' | 'append' | 'prepend' | 'before' | 'after';
|
|
220
210
|
}
|
|
221
211
|
export interface Experience {
|
|
222
212
|
id: string;
|
|
223
|
-
key?: string;
|
|
224
213
|
name: string;
|
|
225
214
|
componentName?: string;
|
|
226
215
|
component?: AdaptedComponent;
|
|
227
|
-
|
|
228
|
-
conditions?: ExperienceCondition[];
|
|
229
|
-
/** @deprecated Use `conditions` instead. */
|
|
230
|
-
conditionals?: ExperienceCondition[];
|
|
216
|
+
conditionals: ExperienceConditional[];
|
|
231
217
|
initializeOpen?: LogicRule | LogicValue;
|
|
232
218
|
actions?: ExperienceAction[];
|
|
233
|
-
/** Decision logic that controls whether this experience is initialised. */
|
|
234
219
|
condition?: LogicRule | LogicValue;
|
|
235
220
|
edges: ExperienceEdge[];
|
|
236
221
|
nodes: ExperienceNode[];
|
|
237
|
-
|
|
238
|
-
steps:
|
|
222
|
+
fields: Field[];
|
|
223
|
+
steps: ExperienceStep[];
|
|
239
224
|
targets: ExperienceTarget[];
|
|
240
225
|
}
|
|
241
226
|
export declare const setupExperience: (experience: Experience, experienceStore: ExperiencesListStore) => void;
|
|
242
227
|
/**
|
|
243
228
|
* Initializes an experience for each target that exists in the DOM.
|
|
244
|
-
*
|
|
245
229
|
* @param client - The Picked client instance.
|
|
246
230
|
* @param experience - The experience store to initialise.
|
|
247
231
|
*/
|
|
248
232
|
export declare const initialiseExperience: (client: Picked, experience: ExperienceStore, options?: LaunchExperienceOptions) => void;
|
|
249
233
|
/**
|
|
250
234
|
* Conditionally initializes experiences.
|
|
251
|
-
*
|
|
252
235
|
* @param client - The Picked client instance.
|
|
253
236
|
*/
|
|
254
237
|
export declare const initialiseExperiences: (client: Picked) => Promise<void>;
|