@picked/client 0.0.1-dev.1774244905386 → 0.0.1-dev.1774912386475

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.
Files changed (120) hide show
  1. package/dist/{api-dkMxUUe0.cjs → api-B-wGEgt8.cjs} +1 -1
  2. package/dist/{api-ENA5t36y.js → api-DwERBrAZ.js} +1 -1
  3. package/dist/cjs/form/index.js +1 -0
  4. package/dist/cjs/index.js +2 -2
  5. package/dist/cjs/plugins/create-experience/index.js +1 -1
  6. package/dist/cjs/plugins/dynamic-experiences/index.js +1 -1
  7. package/dist/cjs/plugins/experience-browser-storage/index.js +1 -1
  8. package/dist/cjs/plugins/history-browser-storage/index.js +1 -1
  9. package/dist/cjs/plugins/responses-browser-storage/index.js +1 -1
  10. package/dist/cjs/plugins/responses-indexeddb/index.js +1 -1
  11. package/dist/cjs/plugins/single-page-app/index.js +1 -1
  12. package/dist/cjs/server/index.js +1 -1
  13. package/dist/esm/form/index.js +472 -0
  14. package/dist/esm/index.js +351 -369
  15. package/dist/esm/plugins/create-experience/index.js +218 -221
  16. package/dist/esm/plugins/dynamic-experiences/index.js +6 -7
  17. package/dist/esm/plugins/experience-browser-storage/index.js +1 -1
  18. package/dist/esm/plugins/history-browser-storage/index.js +1 -1
  19. package/dist/esm/plugins/responses-browser-storage/index.js +48 -21
  20. package/dist/esm/plugins/responses-indexeddb/index.js +5 -9
  21. package/dist/esm/plugins/single-page-app/index.js +4 -4
  22. package/dist/esm/server/index.js +1 -1
  23. package/dist/experience-instance-CwwrKUI8.js +485 -0
  24. package/dist/experience-instance-DdFUcVRd.cjs +1 -0
  25. package/dist/{object-Clj5zVr1.js → object-C82v79xc.js} +2 -1
  26. package/dist/object-CUJOjanb.cjs +1 -0
  27. package/dist/rules-logic-BIkBWZmf.js +233 -0
  28. package/dist/rules-logic-DDxCiq4P.cjs +1 -0
  29. package/dist/{storage-DyxpJ0pg.js → storage-6Xk0uAxB.js} +3 -1
  30. package/dist/storage-B6lQtc4-.cjs +1 -0
  31. package/dist/types/entities/action/action.d.ts.map +1 -1
  32. package/dist/types/entities/experience/experience.d.ts +33 -5
  33. package/dist/types/entities/experience/experience.d.ts.map +1 -1
  34. package/dist/types/entities/experience-instance/experience-instance.d.ts +19 -0
  35. package/dist/types/entities/experience-instance/experience-instance.d.ts.map +1 -1
  36. package/dist/types/entities/feature/feature.d.ts.map +1 -1
  37. package/dist/types/entities/field/field.d.ts +19 -13
  38. package/dist/types/entities/field/field.d.ts.map +1 -1
  39. package/dist/types/entities/history/history.d.ts.map +1 -1
  40. package/dist/types/entities/response/response-validation.d.ts +76 -0
  41. package/dist/types/entities/response/response-validation.d.ts.map +1 -0
  42. package/dist/types/entities/response/response.d.ts +17 -13
  43. package/dist/types/entities/response/response.d.ts.map +1 -1
  44. package/dist/types/entities/step/step.d.ts +1 -3
  45. package/dist/types/entities/step/step.d.ts.map +1 -1
  46. package/dist/types/form/build-responses.d.ts +17 -0
  47. package/dist/types/form/build-responses.d.ts.map +1 -0
  48. package/dist/types/form/create-field-evaluator.d.ts +27 -0
  49. package/dist/types/form/create-field-evaluator.d.ts.map +1 -0
  50. package/dist/types/form/create-field-validation.d.ts +59 -0
  51. package/dist/types/form/create-field-validation.d.ts.map +1 -0
  52. package/dist/types/form/create-form.d.ts +97 -0
  53. package/dist/types/form/create-form.d.ts.map +1 -0
  54. package/dist/types/form/create-submit-pipeline.d.ts +70 -0
  55. package/dist/types/form/create-submit-pipeline.d.ts.map +1 -0
  56. package/dist/types/form/get-step-fields.d.ts +18 -0
  57. package/dist/types/form/get-step-fields.d.ts.map +1 -0
  58. package/dist/types/form/index.d.ts +10 -0
  59. package/dist/types/form/index.d.ts.map +1 -0
  60. package/dist/types/index.d.ts +1 -1
  61. package/dist/types/index.d.ts.map +1 -1
  62. package/dist/types/logic-engine.d.ts +12 -10
  63. package/dist/types/logic-engine.d.ts.map +1 -1
  64. package/dist/types/picked.d.ts +38 -11
  65. package/dist/types/picked.d.ts.map +1 -1
  66. package/dist/types/plugins/create-experience/create-experience.d.ts +22 -32
  67. package/dist/types/plugins/create-experience/create-experience.d.ts.map +1 -1
  68. package/dist/types/plugins/create-experience/plugin.d.ts.map +1 -1
  69. package/dist/types/plugins/create-experience/serialization.d.ts +7 -0
  70. package/dist/types/plugins/create-experience/serialization.d.ts.map +1 -0
  71. package/dist/types/plugins/dynamic-experiences/plugin.d.ts.map +1 -1
  72. package/dist/types/plugins/dynamic-experiences/types.d.ts +11 -17
  73. package/dist/types/plugins/dynamic-experiences/types.d.ts.map +1 -1
  74. package/dist/types/plugins/experience-browser-storage/plugin.d.ts +2 -1
  75. package/dist/types/plugins/experience-browser-storage/plugin.d.ts.map +1 -1
  76. package/dist/types/plugins/history-browser-storage/plugin.d.ts +1 -0
  77. package/dist/types/plugins/history-browser-storage/plugin.d.ts.map +1 -1
  78. package/dist/types/plugins/responses-browser-storage/plugin.d.ts +2 -1
  79. package/dist/types/plugins/responses-browser-storage/plugin.d.ts.map +1 -1
  80. package/dist/types/plugins/responses-indexeddb/plugin.d.ts.map +1 -1
  81. package/dist/types/plugins/single-page-app/plugin.d.ts +1 -1
  82. package/dist/types/plugins/single-page-app/plugin.d.ts.map +1 -1
  83. package/dist/types/utils/dom.d.ts +0 -3
  84. package/dist/types/utils/dom.d.ts.map +1 -1
  85. package/dist/types/utils/events.d.ts +1 -1
  86. package/dist/types/utils/events.d.ts.map +1 -1
  87. package/dist/types/utils/global-obj.d.ts +0 -1
  88. package/dist/types/utils/global-obj.d.ts.map +1 -1
  89. package/dist/types/utils/indexed-db.d.ts +2 -1
  90. package/dist/types/utils/indexed-db.d.ts.map +1 -1
  91. package/dist/types/utils/logger.d.ts.map +1 -1
  92. package/dist/types/utils/node-tree/get-next-node-from-condition.d.ts +3 -0
  93. package/dist/types/utils/node-tree/get-next-node-from-condition.d.ts.map +1 -0
  94. package/dist/types/utils/node-tree/min-max-steps-to-leaf.d.ts.map +1 -1
  95. package/dist/types/utils/node-tree/min-max-steps-to-origin.d.ts.map +1 -1
  96. package/dist/types/utils/node-tree/next-reachable-step-nodes.d.ts +8 -4
  97. package/dist/types/utils/node-tree/next-reachable-step-nodes.d.ts.map +1 -1
  98. package/dist/types/utils/nodes.d.ts +58 -9
  99. package/dist/types/utils/nodes.d.ts.map +1 -1
  100. package/dist/types/utils/object.d.ts +0 -8
  101. package/dist/types/utils/object.d.ts.map +1 -1
  102. package/dist/types/utils/picked-config.d.ts +1 -1
  103. package/dist/types/utils/picked-config.d.ts.map +1 -1
  104. package/dist/types/utils/rules-logic.d.ts +31 -0
  105. package/dist/types/utils/rules-logic.d.ts.map +1 -1
  106. package/dist/types/utils/search-params.d.ts.map +1 -1
  107. package/dist/types/utils/storage.d.ts.map +1 -1
  108. package/package.json +42 -6
  109. package/dist/experience-instance-BODAwa-_.js +0 -713
  110. package/dist/experience-instance-DImQh64e.cjs +0 -1
  111. package/dist/object-BReQiaSS.cjs +0 -1
  112. package/dist/storage-BFjb8azI.cjs +0 -1
  113. package/dist/types/entities/project/project.d.ts +0 -9
  114. package/dist/types/entities/project/project.d.ts.map +0 -1
  115. package/dist/types/utils/key.d.ts +0 -12
  116. package/dist/types/utils/key.d.ts.map +0 -1
  117. package/dist/types/utils/node-tree/get-next-node-from-conditional.d.ts +0 -3
  118. package/dist/types/utils/node-tree/get-next-node-from-conditional.d.ts.map +0 -1
  119. /package/dist/{id-CIbS4P60.cjs → id-Bv44ilEo.cjs} +0 -0
  120. /package/dist/{id-BniPxOdF.js → id-CRqy981z.js} +0 -0
@@ -0,0 +1,233 @@
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
+ startsWith: (e, t) => n(e) && n(t) && e.startsWith(t),
106
+ endsWith: (e, t) => n(e) && n(t) && e.endsWith(t),
107
+ regexp_matches(e, t) {
108
+ let i = e, a = "";
109
+ if (r(e)) {
110
+ let [t, n] = e;
111
+ i = t, a = n;
112
+ }
113
+ return !n(i) || !n(a) ? !1 : new RegExp(i, a).test(s(t));
114
+ },
115
+ throw(e) {
116
+ throw Error(s(e));
117
+ }
118
+ };
119
+ async function l(e, t) {
120
+ if (!e) return e;
121
+ if (i(e)) return l(await e, t);
122
+ if (r(e)) return Promise.all(e.map((e) => l(e, t)));
123
+ if (!a(e)) return e;
124
+ let n = d(e), o = n ? e[n] ?? [] : [];
125
+ switch (r(o) || (o = [o]), n) {
126
+ case "if":
127
+ case "?:":
128
+ for (let e = 0; e < o.length - 1; e += 2) if (await u(await l(o[e], t))) return l(o[e + 1], t);
129
+ return o.length % 2 == 1 ? l(o[o.length - 1], t) : null;
130
+ case "and": {
131
+ let e = null;
132
+ for (let n of o) if (e = await l(n, t), !await u(e)) return e;
133
+ return e;
134
+ }
135
+ case "or": {
136
+ let e = null;
137
+ for (let n of o) if (e = await l(n, t), await u(e)) return e;
138
+ return e;
139
+ }
140
+ case "map": {
141
+ let e = await l(o[0], t);
142
+ return r(e) ? await Promise.all(e.map((e) => l(o[1], e))) : [];
143
+ }
144
+ case "filter": {
145
+ let e = await l(o[0], t);
146
+ return r(e) ? (await Promise.all(e.map(async (e) => ({
147
+ item: e,
148
+ shouldInclude: await u(await l(o[1], e))
149
+ })))).filter(({ shouldInclude: e }) => e).map(({ item: e }) => e) : [];
150
+ }
151
+ case "reduce": {
152
+ let e = await l(o[0], t);
153
+ if (!r(e)) return o.length > 2 ? await l(o[2], t) : null;
154
+ let n = o[1], i = o.length > 2 ? await l(o[2], t) : null;
155
+ for (let t of e) i = await l(n, {
156
+ current: t,
157
+ accumulator: i
158
+ });
159
+ return i;
160
+ }
161
+ case "all": {
162
+ let e = await l(o[0], t);
163
+ if (!r(e) || e.length === 0) return !1;
164
+ for (let t of e) if (!await u(await l(o[1], t))) return !1;
165
+ return !0;
166
+ }
167
+ case "some": {
168
+ let e = await l(o[0], t);
169
+ if (!r(e)) return !1;
170
+ for (let t of e) if (await u(await l(o[1], t))) return !0;
171
+ return !1;
172
+ }
173
+ case "none": {
174
+ let e = await l(o[0], t);
175
+ if (!r(e)) return !0;
176
+ for (let t of e) if (await u(await l(o[1], t))) return !1;
177
+ return !0;
178
+ }
179
+ case "catch": try {
180
+ return await l(o[0], t);
181
+ } catch (e) {
182
+ return a(e) ? await l(e, t) : o[1] ? await l(o[1], e) : e instanceof Error ? e.message : e;
183
+ }
184
+ }
185
+ let s = await Promise.all(o.map((e) => l(e, t))), f = n ? c[n] : void 0;
186
+ if (!f) throw Error(`Unrecognized operation ${n}`);
187
+ return f.apply(t, s);
188
+ }
189
+ async function u(e) {
190
+ return i(e) ? u(await e) : !(Array.isArray(e) && e.length === 0) && !!e;
191
+ }
192
+ function d(e) {
193
+ return Object.keys(e)[0];
194
+ }
195
+ //#endregion
196
+ //#region src/utils/rules-logic.ts
197
+ function f(t) {
198
+ return !e(t);
199
+ }
200
+ async function p(e, t, n) {
201
+ let r = e.getStateSnapshot(), i = e.predicates.listStore.getState().reduce((e, t) => ({
202
+ ...e,
203
+ [t.name]: (...e) => t.predicate({
204
+ ...r,
205
+ args: e
206
+ })
207
+ }), {}), a = e.features.listStore.getState().reduce((e, t) => ({
208
+ ...e,
209
+ [t.id]: async () => {
210
+ let { bucket: e } = await t.getBucket();
211
+ return e;
212
+ }
213
+ }), {});
214
+ return await l(t, {
215
+ responses: e.responses.getAllStore.getState(),
216
+ location: typeof r.location == "object" ? {
217
+ hash: r.location.hash,
218
+ host: r.location.host,
219
+ hostname: r.location.hostname,
220
+ href: r.location.href,
221
+ origin: r.location.origin,
222
+ pathname: r.location.pathname,
223
+ port: r.location.port,
224
+ protocol: r.location.protocol,
225
+ search: r.location.search
226
+ } : void 0,
227
+ predicates: i,
228
+ features: a,
229
+ ...n
230
+ });
231
+ }
232
+ //#endregion
233
+ 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},startsWith:(e,t)=>n(e)&&n(t)&&e.startsWith(t),endsWith:(e,t)=>n(e)&&n(t)&&e.endsWith(t),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,{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,...n})}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return p}});
@@ -36,7 +36,9 @@ function o(e, t, r, i) {
36
36
  function s(e, n) {
37
37
  n === t && i(r(e));
38
38
  }
39
- return window.addEventListener("storage", o), n.has(e._) || n.set(e._, /* @__PURE__ */ new Set()), n.get(e._).add(s), function() {
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() {
40
42
  window.removeEventListener("storage", o);
41
43
  let t = n.get(e._);
42
44
  t && (t.delete(s), t.size === 0 && n.delete(e._));
@@ -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}});
@@ -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;;oCAIQ,MAAM,KAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAgBnG,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
+ {"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"}
@@ -88,14 +88,44 @@ declare const createExperienceIndexFactory: ({ client }: {
88
88
  strategy: "override";
89
89
  }>;
90
90
  } | undefined>;
91
+ /** @deprecated Use `experiences.get(key)` instead. */
92
+ getById: (key: string) => import('effector').Store<{
93
+ id: string;
94
+ key: string;
95
+ name: string;
96
+ configStore: import('effector').Store<{
97
+ name: string;
98
+ decisionLogic: LogicValue | LogicRule;
99
+ targetSelectors: ExperienceTarget[];
100
+ initializeOpenLogic: LogicValue | LogicRule;
101
+ }>;
102
+ treeStore: import('effector').Store<{
103
+ steps: ExperienceStep[];
104
+ nodes: ExperienceNode[];
105
+ edges: ExperienceEdge[];
106
+ conditions: Condition[];
107
+ }>;
108
+ componentStore: import('effector').Store<{
109
+ name: string;
110
+ component: AdaptedComponent<string, unknown>;
111
+ frameworkStore: import('effector').Store<import('../..').Framework | undefined>;
112
+ } | undefined>;
113
+ actions: ExperienceAction[];
114
+ merge: import('effector').EventCallable<{
115
+ experience: Partial<Experience>;
116
+ strategy: "override";
117
+ }>;
118
+ } | undefined>;
91
119
  /** Effector effect that launches an experience by its key. */
92
120
  launch: import('effector').Effect<{
93
- key: string;
121
+ key?: string;
122
+ id?: string;
94
123
  options?: LaunchExperienceOptions;
95
124
  }, void, Error>;
96
125
  /** Effector effect that opens an experience's existing instances, or launches it with `initialiseOpen` if none exist. */
97
126
  open: import('effector').Effect<{
98
- key: string;
127
+ key?: string;
128
+ id?: string;
99
129
  options?: OpenExperienceOptions;
100
130
  }, void, Error>;
101
131
  /** Derived store containing all registered experiences as an array. */
@@ -153,9 +183,7 @@ export interface BaseNode {
153
183
  }
154
184
  export interface StepNode extends BaseNode {
155
185
  type: 'step';
156
- stepKey: string;
157
- /** @deprecated Use `stepKey` instead. Populated for backwards compatibility. */
158
- stepId?: string;
186
+ stepId: string;
159
187
  name?: string;
160
188
  /** @deprecated Use `name` instead. Populated for backwards compatibility. */
161
189
  label?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"experience.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience/experience.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAG1C,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAI/D,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAC3E,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAIjE,QAAA,MAAM,uBAAuB,2BACF;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;oBAIjB,OAAO,CAAC,UAAU,CAAC;kBAAY,UAAU;;CAiF5F,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC,CAAC,EACtF,MAAM,EAAE,CAAC,GACR,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAE5C;AAED,2CAA2C;AAC3C,MAAM,WAAW,uBAAuB;IACtC,iFAAiF;IACjF,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,iGAAiG;IACjG,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,2GAA2G;AAC3G,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAA;AAEnF,QAAA,MAAM,4BAA4B,eAA8B;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;IA0H9E,4GAA4G;2BA1FhF,UAAU,KAAG,IAAI;IA4F7C,iHAAiH;eA5DjG,MAAM;;;;;;;;;;;;;;;;;;;;;;;wBA9K0B,OAAO,CAAC,UAAU,CAAC;sBAAY,UAAU;;;IA4OzF,8DAA8D;;aA/CnC,MAAM;kBAAY,uBAAuB;;IAiDpE,yHAAyH;;aAtB9F,MAAM;kBAAY,qBAAqB;;IAwBlE,uEAAuE;;;;;;;;;;;;;;;;;;;;;;;;wBAhPvB,OAAO,CAAC,UAAU,CAAC;sBAAY,UAAU;;;CAmP3F,CAAA;AAEF;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAChG,MAAM,EAAE,CAAC,GACR,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAEjD;AAED,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,aAAa,GACb,oBAAoB,GACpB,UAAU,GACV,UAAU,CAAA;AACd,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;CAEf;AAED,MAAM,WAAW,UAAW,SAAQ,QAAQ;IAC1C,IAAI,EAAE,QAAQ,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,QAAS,SAAQ,QAAQ;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,IAAI,EAAE,WAAW,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,oBAAqB,SAAQ,QAAQ;IACpD,IAAI,EAAE,YAAY,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,UAAW,SAAQ,QAAQ;IAC1C,IAAI,EAAE,QAAQ,CAAA;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAA;CACjE;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,gBAAgB,CAAA;IAC5B,cAAc,CAAC,EAAE,SAAS,GAAG,UAAU,CAAA;IACvC,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B,2EAA2E;IAC3E,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,CAAA;IAClC,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,OAAO,EAAE,gBAAgB,EAAE,CAAA;CAC5B;AAED;;;;;GAKG;AAEH,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,MAAM,EACd,YAAY,eAAe,EAC3B,UAAU,uBAAuB,SAkBlC,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAAU,QAAQ,MAAM,kBASzD,CAAA;AAmBD,eAAO,MAAM,0BAA0B,GACrC,QAAQ,MAAM,EACd,YAAY,eAAe,KAC1B,OAAO,CAAC,OAAO,CAiCjB,CAAA"}
1
+ {"version":3,"file":"experience.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience/experience.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { Picked } from '../../picked';
5
5
  import { HistoryEntry } from '../history/history';
6
6
  export interface ExperienceInstance {
7
7
  id: string;
8
+ experienceKey: Experience['key'];
8
9
  experienceId: Experience['id'];
9
10
  configStore: ExperienceStore['configStore'];
10
11
  target: HTMLElement | undefined;
@@ -38,6 +39,15 @@ declare const createExperienceInstanceFactory: ({ client, experience, target, op
38
39
  target?: HTMLElement;
39
40
  options?: LaunchExperienceOptions;
40
41
  }) => Readonly<ExperienceInstance>;
42
+ /**
43
+ * Creates an experience instance with lifecycle stores and navigation logic.
44
+ *
45
+ * @param params - Factory parameters including the client and experience store.
46
+ * @example
47
+ * ```typescript
48
+ * const instance = createExperienceInstance({ client, experience })
49
+ * ```
50
+ */
41
51
  export declare function createExperienceInstance<T extends Parameters<typeof createExperienceInstanceFactory>[0]>(params: T): ReturnType<typeof createExperienceInstanceFactory>;
42
52
  declare const createExperienceInstanceIndexFactory: ({ client }: {
43
53
  client: Picked;
@@ -46,6 +56,15 @@ declare const createExperienceInstanceIndexFactory: ({ client }: {
46
56
  getByExperienceId: (id: Experience["id"]) => Store<ExperienceInstance[]>;
47
57
  listStore: Store<ExperienceInstance[]>;
48
58
  };
59
+ /**
60
+ * Creates an index that tracks all experience instances keyed by experience ID.
61
+ *
62
+ * @param params - Factory parameters including the client.
63
+ * @example
64
+ * ```typescript
65
+ * const index = createExperienceInstanceIndex({ client })
66
+ * ```
67
+ */
49
68
  export declare function createExperienceInstanceIndex<T extends Parameters<typeof createExperienceInstanceIndexFactory>[0]>(params: T): ReturnType<typeof createExperienceInstanceIndexFactory>;
50
69
  export {};
51
70
  //# sourceMappingURL=experience-instance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"experience-instance.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience-instance/experience-instance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"experience-instance.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience-instance/experience-instance.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../../../../src/entities/feature/feature.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,KAAK,EACX,MAAM,UAAU,CAAA;AAEjB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAI1C,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACnE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAExE,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,OAAO,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,OAAO,GAAG,MAAM,CAAA;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAChE,UAAU,EAAE,KAAK,CAAA;IACjB,SAAS,EAAE,MAAM,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC,CAAA;CACnE;AAED,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D,UAAU,EAAE,IAAI,CAAA;IAChB,SAAS,EAAE,MAAM;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAA;CAC1D;AAED,MAAM,MAAM,aAAa,GAAG,uBAAuB,GAAG,qBAAqB,CAAA;AAK3E,QAAA,MAAM,yBAAyB,eAA8B;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;mBAgBvD,MAAM,WAAW,OAAO,KAAG,IAAI;kBAwMhC,MAAM;sBAOF,MAAM;;sCAKhB,MAAM,KAClB,KAAK,CAAC,MAAM,OAAO,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;CA2CrD,CAAA;AAEF,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC,CAAC,EAC1F,MAAM,EAAE,CAAC,GACR,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAE9C;AAED,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,SAAS,OAAO,EAAE,UAAU,aAAa,SAEnF,CAAA"}
1
+ {"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../../../../src/entities/feature/feature.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,KAAK,EACX,MAAM,UAAU,CAAA;AAEjB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAI1C,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACnE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAExE,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,OAAO,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,OAAO,GAAG,MAAM,CAAA;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAChE,UAAU,EAAE,KAAK,CAAA;IACjB,SAAS,EAAE,MAAM,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC,CAAA;CACnE;AAED,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D,UAAU,EAAE,IAAI,CAAA;IAChB,SAAS,EAAE,MAAM;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAA;CAC1D;AAED,MAAM,MAAM,aAAa,GAAG,uBAAuB,GAAG,qBAAqB,CAAA;AAK3E,QAAA,MAAM,yBAAyB,eAA8B;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;mBAgBvD,MAAM,WAAW,OAAO,KAAG,IAAI;kBAwMhC,MAAM;sBAOF,MAAM;;sCAKhB,MAAM,KAClB,KAAK,CAAC,MAAM,OAAO,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;CA4CrD,CAAA;AAEF,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC,CAAC,EAC1F,MAAM,EAAE,CAAC,GACR,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAE9C;AAED,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,SAAS,OAAO,EAAE,UAAU,aAAa,SAEnF,CAAA"}
@@ -2,6 +2,15 @@ import { Store } from 'effector';
2
2
  import { LogicRule } from '../../logic-engine';
3
3
  export type FieldsStore = ReturnType<typeof createFieldIndex>;
4
4
  export type PrimitiveFieldValue = string | number | boolean | null;
5
+ export type FieldOptionValue = string | number | boolean;
6
+ export interface FieldOption<T = FieldOptionValue> {
7
+ id: string;
8
+ label: string;
9
+ description?: string;
10
+ value: T;
11
+ condition?: LogicRule;
12
+ }
13
+ export type FieldOptionArray<T = FieldOptionValue> = FieldOption<T>[];
5
14
  /**
6
15
  * JSON-serializable value type for object fields.
7
16
  * Recursively defines all valid JSON-serializable structures.
@@ -10,9 +19,9 @@ export type JsonValue = string | number | boolean | null | {
10
19
  [key: string]: JsonValue;
11
20
  } | JsonValue[];
12
21
  export type FieldValue = PrimitiveFieldValue | PrimitiveFieldValue[] | JsonValue | JsonValue[];
13
- export interface FieldBase<TOptionValue = PrimitiveFieldValue> {
22
+ export interface FieldBase<TOptionValue = JsonValue> {
14
23
  id: string;
15
- /** Stable kebab-case identifier used for lookups across API versions. */
24
+ /** Stable identifier used for lookups across API versions. */
16
25
  key: string;
17
26
  name: string;
18
27
  label: string;
@@ -21,8 +30,6 @@ export interface FieldBase<TOptionValue = PrimitiveFieldValue> {
21
30
  required: boolean;
22
31
  defaultValue?: FieldValue;
23
32
  condition?: LogicRule;
24
- /** References a global condition by key. Takes precedence over inline `condition`. */
25
- conditionKey?: string;
26
33
  placeholder?: string;
27
34
  description?: string;
28
35
  helpText?: string;
@@ -31,13 +38,7 @@ export interface FieldBase<TOptionValue = PrimitiveFieldValue> {
31
38
  doNotTrackValue?: boolean;
32
39
  doNotStoreValue?: boolean;
33
40
  };
34
- options?: {
35
- id: string;
36
- label: string;
37
- description?: string;
38
- value: TOptionValue;
39
- condition?: LogicRule;
40
- }[] | null;
41
+ options?: FieldOptionArray<TOptionValue> | null;
41
42
  }
42
43
  export interface FieldTextSingular extends FieldBase<string> {
43
44
  type: 'text';
@@ -82,16 +83,21 @@ export interface FieldBooleanMultiple extends FieldBase<boolean> {
82
83
  export type Field = FieldTextSingular | FieldTextMultiple | FieldNumberSingular | FieldNumberMultiple | FieldObjectSingular | FieldObjectMultiple | FieldBooleanSingular | FieldBooleanMultiple;
83
84
  declare const createFieldIndexFactory: () => {
84
85
  register: (field: Field) => void;
85
- update: (fieldKeyOrId: FieldBase["key"], updates: Partial<Field>) => void;
86
+ update: (fieldKeyOrId: string, updates: Partial<Field>) => void;
86
87
  getById: (id: FieldBase["id"]) => Store<Field | null>;
87
88
  getByKey: (key: FieldBase["key"]) => Store<Field | null>;
88
89
  listStore: Store<Field[]>;
89
90
  getByName: (name: FieldBase["name"]) => Store<Field | null>;
90
91
  };
91
92
  /**
93
+ * Creates an Effector-based index for registering and retrieving fields.
92
94
  *
95
+ * @returns {FieldsStore} A field index with register, update, get, and list methods.
96
+ * @example
97
+ * ```typescript
98
+ * const fields = createFieldIndex()
99
+ * ```
93
100
  */
94
101
  export declare function createFieldIndex(): ReturnType<typeof createFieldIndexFactory>;
95
- export declare const setupField: (field: Field, fields: FieldsStore) => void;
96
102
  export {};
97
103
  //# sourceMappingURL=field.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../src/entities/field/field.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEnD,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAI7D,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;AAElE;;;GAGG;AACH,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC5B,SAAS,EAAE,CAAA;AAEf,MAAM,MAAM,UAAU,GAAG,mBAAmB,GAAG,mBAAmB,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAA;AAE9F,MAAM,WAAW,SAAS,CAAC,YAAY,GAAG,mBAAmB;IAC3D,EAAE,EAAE,MAAM,CAAA;IACV,yEAAyE;IACzE,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;IAC9C,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,CAAC,EAAE,UAAU,CAAA;IACzB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,sFAAsF;IACtF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,QAAQ,CAAC,EAAE;QACT,eAAe,CAAC,EAAE,OAAO,CAAA;QACzB,eAAe,CAAC,EAAE,OAAO,CAAA;KAC1B,CAAA;IACD,OAAO,CAAC,EACJ;QACE,EAAE,EAAE,MAAM,CAAA;QACV,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,KAAK,EAAE,YAAY,CAAA;QACnB,SAAS,CAAC,EAAE,SAAS,CAAA;KACtB,EAAE,GACH,IAAI,CAAA;CACT;AAED,MAAM,WAAW,iBAAkB,SAAQ,SAAS,CAAC,MAAM,CAAC;IAC1D,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,KAAK,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,iBAAkB,SAAQ,SAAS,CAAC,MAAM,CAAC;IAC1D,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,IAAI,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB;AAED,MAAM,WAAW,mBAAoB,SAAQ,SAAS,CAAC,MAAM,CAAC;IAC5D,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,KAAK,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,mBAAoB,SAAQ,SAAS,CAAC,MAAM,CAAC;IAC5D,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,IAAI,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB;AAED,MAAM,WAAW,mBAAoB,SAAQ,SAAS,CAAC,SAAS,CAAC;IAC/D,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,KAAK,CAAA;IACf,YAAY,CAAC,EAAE,SAAS,CAAA;CACzB;AAED,MAAM,WAAW,mBAAoB,SAAQ,SAAS,CAAC,SAAS,CAAC;IAC/D,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,IAAI,CAAA;IACd,YAAY,CAAC,EAAE,SAAS,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,oBAAqB,SAAQ,SAAS,CAAC,OAAO,CAAC;IAC9D,IAAI,EAAE,SAAS,CAAA;IACf,QAAQ,EAAE,KAAK,CAAA;IACf,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,oBAAqB,SAAQ,SAAS,CAAC,OAAO,CAAC;IAC9D,IAAI,EAAE,SAAS,CAAA;IACf,QAAQ,EAAE,IAAI,CAAA;IACd,YAAY,CAAC,EAAE,OAAO,EAAE,CAAA;CACzB;AAED,MAAM,MAAM,KAAK,GACb,iBAAiB,GACjB,iBAAiB,GACjB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,oBAAoB,GACpB,oBAAoB,CAAA;AAGxB,QAAA,MAAM,uBAAuB;sBAkBF,KAAK,KAAG,IAAI;2BAaP,SAAS,CAAC,KAAK,CAAC,WAAW,OAAO,CAAC,KAAK,CAAC,KAAG,IAAI;kBA6BzD,SAAS,CAAC,IAAI,CAAC,KAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;oBAQnC,SAAS,CAAC,KAAK,CAAC,KAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;;sBAQpC,SAAS,CAAC,MAAM,CAAC,KAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;CAahE,CAAA;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAE7E;AAED,eAAO,MAAM,UAAU,GAAI,OAAO,KAAK,EAAE,QAAQ,WAAW,KAAG,IAE9D,CAAA"}
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../src/entities/field/field.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../../src/entities/history/history.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAM9D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,cAAc,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;CACrB;AA2FD,wBAAgB,aAAa;;sBA1EsB,MAAM;cAAQ,cAAc;;;sBACzB,MAAM;cAAQ,cAAc;;;uBAC9B,MAAM;;;iBACT,YAAY,EAAE;;;EAyE9D"}
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../../src/entities/history/history.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAM9D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,cAAc,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;CACrB;AA4FD,wBAAgB,aAAa;;sBA3EsB,MAAM;cAAQ,cAAc;;;sBACzB,MAAM;cAAQ,cAAc;;;uBAC9B,MAAM;;;iBACT,YAAY,EAAE;;;EA0E9D"}
@@ -0,0 +1,76 @@
1
+ import { Field, FieldValue } from '../field/field';
2
+ import { LogicObject, LogicRule } from '../../logic-engine';
3
+ export interface ValidationError {
4
+ fieldKey: Field['key'];
5
+ /** @deprecated Use `fieldKey` instead. */
6
+ fieldId?: Field['id'];
7
+ userMessage: string;
8
+ systemMessage: string;
9
+ value: FieldValue;
10
+ }
11
+ /** Callback signature for evaluating rule-based validation logic. */
12
+ type RuleEvaluator = (logic: LogicRule, context?: LogicObject) => Promise<unknown>;
13
+ /**
14
+ * Resolves a field from an array by id or key.
15
+ *
16
+ * @param inputKey - The field id or key to look up.
17
+ * @param allFields - All registered fields.
18
+ * @returns The matching field, or null if not found.
19
+ * @example
20
+ * ```typescript
21
+ * resolveField('email', allFields) // Field | null
22
+ * ```
23
+ */
24
+ export declare function resolveField(inputKey: string, allFields: Field[]): Field | null;
25
+ /**
26
+ * Coerces a scalar value into a single-element array when the field expects multiple values.
27
+ *
28
+ * @param field - The field definition.
29
+ * @param value - The response value to coerce.
30
+ * @returns The original or coerced value.
31
+ * @example
32
+ * ```typescript
33
+ * coerceToArray(multipleField, 'hello') // ['hello']
34
+ * ```
35
+ */
36
+ export declare function coerceToArray(field: Field, value: FieldValue): FieldValue;
37
+ /**
38
+ * Validates that an object field value has the correct shape and is JSON-serializable.
39
+ *
40
+ * @param field - The field definition.
41
+ * @param value - The response value to validate.
42
+ * @returns A validation error if the value is invalid, or null if valid.
43
+ * @example
44
+ * ```typescript
45
+ * getObjectValueError(objectField, { key: 'val' }) // null
46
+ * ```
47
+ */
48
+ export declare function getObjectValueError(field: Field, value: FieldValue): ValidationError | null;
49
+ /**
50
+ * Validates that a response value matches one of the field's allowed options.
51
+ *
52
+ * @param field - The field definition with options.
53
+ * @param value - The response value to validate.
54
+ * @returns A validation error if the value is not a valid option, or null if valid.
55
+ * @example
56
+ * ```typescript
57
+ * getOptionsError(fieldWithOptions, 'valid-option') // null
58
+ * ```
59
+ */
60
+ export declare function getOptionsError(field: Field, value: FieldValue): ValidationError | null;
61
+ /**
62
+ * Runs field-level validation including rule-based validation, required checks, and multiplicity checks.
63
+ *
64
+ * @param evaluateRule - Callback to evaluate rule-based validation logic.
65
+ * @param field - The field definition.
66
+ * @param value - The response value to validate.
67
+ * @param responses - All current responses for cross-field validation.
68
+ * @returns A validation error if the field fails validation, or null if valid.
69
+ * @example
70
+ * ```typescript
71
+ * await getFieldValidationError(evaluate, field, 'hello') // null
72
+ * ```
73
+ */
74
+ export declare function getFieldValidationError(evaluateRule: RuleEvaluator, field: Field, value: FieldValue, responses?: Record<string, FieldValue>): Promise<ValidationError | null>;
75
+ export {};
76
+ //# sourceMappingURL=response-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-validation.d.ts","sourceRoot":"","sources":["../../../../src/entities/response/response-validation.ts"],"names":[],"mappings":"AAAA,0GAA0G;AAC1G,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAuB,MAAM,gBAAgB,CAAA;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAGhE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IACtB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,UAAU,CAAA;CAClB;AAED,qEAAqE;AACrE,KAAK,aAAa,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AA+ElF;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,IAAI,CAI/E;AAED;;;;;;;;;;GAUG;AAEH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,GAAG,UAAU,CASzE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,GAAG,eAAe,GAAG,IAAI,CAgE3F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,GAAG,eAAe,GAAG,IAAI,CAsCvF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,aAAa,EAC3B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,UAAU,EACjB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GACrC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAsCjC"}
@@ -1,6 +1,8 @@
1
1
  import { Store } from 'effector';
2
2
  import { Picked } from '../../picked';
3
3
  import { Field, FieldValue } from '../field/field';
4
+ import { ValidationError } from './response-validation';
5
+ export type { ValidationError } from './response-validation';
4
6
  export type ResponsesStore = ReturnType<typeof createResponseIndex>;
5
7
  export type Response = FieldValue;
6
8
  export interface ResponseListItem {
@@ -13,8 +15,8 @@ declare const createResponseIndexFactory: ({ client }: {
13
15
  client: Picked;
14
16
  }) => {
15
17
  register: {
16
- (fieldId: Field["id"], response: Response): void;
17
- (payload: Record<Field["id"], Response>, response?: never): void;
18
+ (fieldKey: Field["key"], response: Response): void;
19
+ (payload: Record<Field["key"], Response>, response?: never): void;
18
20
  };
19
21
  clearAll: import('effector').EventCallable<void>;
20
22
  clear: import('effector').EventCallable<string>;
@@ -31,21 +33,23 @@ declare const createResponseIndexFactory: ({ client }: {
31
33
  value: FieldValue;
32
34
  }[]>;
33
35
  getAllStore: Store<{
34
- [fieldId: string]: FieldValue;
36
+ [fieldKey: string]: FieldValue;
35
37
  }>;
36
- getAllByKeyStore: Store<Record<string, FieldValue>>;
37
- getByFieldId: (fieldId: Field["id"]) => Store<FieldValue>;
38
+ getByFieldId: (fieldIdOrKey: string) => Store<FieldValue>;
38
39
  getByFieldKey: (key: Field["key"]) => Store<FieldValue>;
39
40
  getByFieldName: (fieldName: Field["name"]) => Store<FieldValue>;
40
41
  };
42
+ /**
43
+ * Creates a response index instance bound to the given client.
44
+ *
45
+ * @param params - Configuration including the Picked client instance.
46
+ * @returns The response index with register, commit, and lookup methods.
47
+ * @example
48
+ * ```typescript
49
+ * const responses = createResponseIndex({ client })
50
+ * ```
51
+ */
41
52
  export declare function createResponseIndex<T extends Parameters<typeof createResponseIndexFactory>[0]>(params: T): ReturnType<typeof createResponseIndexFactory>;
42
- /** Record keyed by either field `id` or field `key`. Normalized to `field.id` internally on commit. */
53
+ /** Record keyed by field `key`. */
43
54
  export type CommitResponses = Record<string, FieldValue>;
44
- export interface ValidationError {
45
- fieldId: Field['id'];
46
- userMessage: string;
47
- systemMessage: string;
48
- value: FieldValue;
49
- }
50
- export {};
51
55
  //# sourceMappingURL=response.d.ts.map