@picked/client 0.0.1-dev.1772493269328 → 0.0.1-dev.1773363643396
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-D-NB7WP7.cjs → api-C7ddxkUx.cjs} +1 -1
- package/dist/{api-Cn3XwsA6.js → api-CQ_YBH_c.js} +1 -1
- 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/responses-browser-storage/index.js +1 -1
- package/dist/cjs/plugins/responses-indexeddb/index.js +1 -1
- package/dist/esm/index.js +504 -490
- package/dist/esm/plugins/create-experience/index.js +198 -202
- package/dist/esm/plugins/dynamic-experiences/index.js +66 -60
- package/dist/esm/plugins/responses-browser-storage/index.js +18 -17
- package/dist/esm/plugins/responses-indexeddb/index.js +1 -1
- package/dist/to-kebab-case-BPnCZjhB.js +6 -0
- package/dist/to-kebab-case-BsOQ8CON.cjs +1 -0
- package/dist/types/client.d.ts +13 -0
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/entities/experience/experience.d.ts +31 -17
- package/dist/types/entities/experience/experience.d.ts.map +1 -1
- package/dist/types/entities/field/field.d.ts +8 -2
- package/dist/types/entities/field/field.d.ts.map +1 -1
- package/dist/types/entities/response/response.d.ts +6 -6
- package/dist/types/entities/response/response.d.ts.map +1 -1
- package/dist/types/picked.d.ts +14 -11
- package/dist/types/picked.d.ts.map +1 -1
- package/dist/types/plugins/create-experience/create-experience.d.ts +8 -10
- package/dist/types/plugins/create-experience/create-experience.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/plugin.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/types.d.ts +3 -1
- package/dist/types/plugins/dynamic-experiences/types.d.ts.map +1 -1
- package/dist/types/plugins/responses-browser-storage/plugin.d.ts.map +1 -1
- package/dist/types/utils/to-kebab-case.d.ts +9 -0
- package/dist/types/utils/to-kebab-case.d.ts.map +1 -0
- package/package.json +67 -4
|
@@ -1,93 +1,99 @@
|
|
|
1
|
-
import { a as l } from "../../../api-
|
|
2
|
-
import { c as
|
|
1
|
+
import { a as l } from "../../../api-CQ_YBH_c.js";
|
|
2
|
+
import { c as S } from "../../../api-CQ_YBH_c.js";
|
|
3
3
|
import { l as a } from "../../../logger-C9a75KZn.js";
|
|
4
4
|
function d(e) {
|
|
5
|
-
let
|
|
6
|
-
for (let
|
|
7
|
-
|
|
8
|
-
return
|
|
5
|
+
let r = 2166136261;
|
|
6
|
+
for (let n = 0; n < e.length; n++)
|
|
7
|
+
r ^= e.charCodeAt(n), r = Math.imul(r, 16777619);
|
|
8
|
+
return r >>> 0;
|
|
9
9
|
}
|
|
10
10
|
function p(e) {
|
|
11
11
|
return d(e) % 100;
|
|
12
12
|
}
|
|
13
|
-
function g(e,
|
|
14
|
-
return
|
|
13
|
+
function g(e, r) {
|
|
14
|
+
return r <= 0 ? !1 : r >= 100 ? !0 : e < r;
|
|
15
15
|
}
|
|
16
16
|
function h(e) {
|
|
17
|
-
return typeof e != "object" || e === null || !("
|
|
17
|
+
return typeof e != "object" || e === null || !("key" in e && "name" in e && "enabled" in e && "weight" in e && "version" in e) ? !1 : typeof e.key == "string" && typeof e.name == "string" && typeof e.enabled == "boolean" && typeof e.weight == "number" && typeof e.version == "number";
|
|
18
18
|
}
|
|
19
19
|
function f(e) {
|
|
20
20
|
return typeof e != "object" || e === null || !("features" in e) || !Array.isArray(e.features) ? !1 : e.features.every(h);
|
|
21
21
|
}
|
|
22
22
|
function m(e) {
|
|
23
|
-
const
|
|
24
|
-
if (
|
|
25
|
-
return
|
|
23
|
+
const r = e.searchParams["preview-token"];
|
|
24
|
+
if (r && r.length > 0)
|
|
25
|
+
return r[0];
|
|
26
26
|
}
|
|
27
|
-
function
|
|
28
|
-
const
|
|
29
|
-
if (!
|
|
30
|
-
return
|
|
31
|
-
for (const o of
|
|
27
|
+
function y(e) {
|
|
28
|
+
const r = /* @__PURE__ */ new Set(), n = e.searchParams.feature;
|
|
29
|
+
if (!n)
|
|
30
|
+
return r;
|
|
31
|
+
for (const o of n) {
|
|
32
32
|
const t = o.indexOf(":");
|
|
33
|
-
t > 0 &&
|
|
33
|
+
t > 0 && r.add(o.substring(0, t));
|
|
34
34
|
}
|
|
35
|
-
return
|
|
35
|
+
return r;
|
|
36
36
|
}
|
|
37
|
-
function
|
|
38
|
-
const o =
|
|
37
|
+
function c(e, r, n) {
|
|
38
|
+
const o = y(e), t = e.session?.id;
|
|
39
39
|
if (!t)
|
|
40
40
|
throw new Error("Session ID is required for feature registration");
|
|
41
41
|
const i = p(t);
|
|
42
|
-
for (const s of
|
|
43
|
-
o.has(s.
|
|
42
|
+
for (const s of r.features)
|
|
43
|
+
o.has(s.key) || w(e, s, n, i);
|
|
44
44
|
}
|
|
45
|
-
function
|
|
46
|
-
e.registerFeature(
|
|
47
|
-
key: `v${
|
|
48
|
-
name:
|
|
49
|
-
storage:
|
|
50
|
-
decide: () =>
|
|
45
|
+
function w(e, r, n, o) {
|
|
46
|
+
e.registerFeature(r.key, {
|
|
47
|
+
key: `v${r.version}`,
|
|
48
|
+
name: r.name,
|
|
49
|
+
storage: n ? "session" : "local",
|
|
50
|
+
decide: () => r.enabled ? g(o, r.weight) : !1
|
|
51
51
|
});
|
|
52
52
|
}
|
|
53
|
-
function
|
|
54
|
-
if (typeof __PICKED_PROJECT_CONFIG__ > "u")
|
|
55
|
-
return;
|
|
53
|
+
function v() {
|
|
56
54
|
let e;
|
|
57
|
-
|
|
55
|
+
try {
|
|
56
|
+
e = __PICKED_PROJECT_CONFIG__;
|
|
57
|
+
} catch {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
if (e === void 0)
|
|
61
|
+
return;
|
|
62
|
+
let r;
|
|
63
|
+
if (typeof e == "string")
|
|
58
64
|
try {
|
|
59
|
-
|
|
65
|
+
r = JSON.parse(e);
|
|
60
66
|
} catch {
|
|
61
67
|
a("warn", "Build-time project config is not valid JSON");
|
|
62
68
|
return;
|
|
63
69
|
}
|
|
64
70
|
else
|
|
65
|
-
|
|
66
|
-
if (f(
|
|
67
|
-
return
|
|
71
|
+
r = e;
|
|
72
|
+
if (f(r))
|
|
73
|
+
return r;
|
|
68
74
|
a("warn", "Build-time project config has invalid shape, falling back to runtime fetch");
|
|
69
75
|
}
|
|
70
|
-
function
|
|
76
|
+
function j(e) {
|
|
71
77
|
try {
|
|
72
|
-
const
|
|
73
|
-
return
|
|
78
|
+
const r = new URL(e).hostname;
|
|
79
|
+
return r === "localhost" || r === "127.0.0.1" || r === "::1";
|
|
74
80
|
} catch {
|
|
75
81
|
return !1;
|
|
76
82
|
}
|
|
77
83
|
}
|
|
78
|
-
function
|
|
84
|
+
function k(e) {
|
|
79
85
|
if (typeof e != "object" || e === null || !("cause" in e))
|
|
80
86
|
return !1;
|
|
81
|
-
const { cause:
|
|
82
|
-
return typeof
|
|
87
|
+
const { cause: r } = e;
|
|
88
|
+
return typeof r != "object" || r === null || !("code" in r) ? !1 : r.code === "ECONNREFUSED";
|
|
83
89
|
}
|
|
84
|
-
async function
|
|
85
|
-
const o =
|
|
90
|
+
async function u(e, r, n) {
|
|
91
|
+
const o = n?.previewToken ? `projects/${r}?preview_token=${encodeURIComponent(n.previewToken)}` : `projects/${r}`;
|
|
86
92
|
let t;
|
|
87
93
|
try {
|
|
88
|
-
t = await l(e, o,
|
|
94
|
+
t = await l(e, o, n?.headers);
|
|
89
95
|
} catch (s) {
|
|
90
|
-
return
|
|
96
|
+
return j(e) && k(s) || a("warn", "Failed to fetch project config", s), null;
|
|
91
97
|
}
|
|
92
98
|
if (!t.ok)
|
|
93
99
|
return a("warn", `Project config request failed with status ${t.status.toString()}`), null;
|
|
@@ -99,33 +105,33 @@ async function c(e, n, r) {
|
|
|
99
105
|
}
|
|
100
106
|
return f(i) ? i : (a("warn", "Invalid project config response shape"), null);
|
|
101
107
|
}
|
|
102
|
-
function
|
|
108
|
+
function P(e) {
|
|
103
109
|
return {
|
|
104
110
|
name: "dynamic-experiences",
|
|
105
|
-
setup: (
|
|
106
|
-
const
|
|
111
|
+
setup: (r) => {
|
|
112
|
+
const n = e?.apiUrl ?? r.apiUrl;
|
|
107
113
|
return {
|
|
108
114
|
onStart: async () => {
|
|
109
|
-
const o = m(
|
|
115
|
+
const o = m(r);
|
|
110
116
|
if (o) {
|
|
111
|
-
const s = await
|
|
112
|
-
s &&
|
|
117
|
+
const s = await u(n, r.projectId, { previewToken: o });
|
|
118
|
+
s && c(r, s, !0);
|
|
113
119
|
return;
|
|
114
120
|
}
|
|
115
|
-
const t = e?.projectConfig ??
|
|
121
|
+
const t = e?.projectConfig ?? v();
|
|
116
122
|
if (t) {
|
|
117
|
-
|
|
123
|
+
c(r, t, !1);
|
|
118
124
|
return;
|
|
119
125
|
}
|
|
120
|
-
const i = await
|
|
121
|
-
i &&
|
|
126
|
+
const i = await u(n, r.projectId);
|
|
127
|
+
i && c(r, i, !1);
|
|
122
128
|
}
|
|
123
129
|
};
|
|
124
130
|
}
|
|
125
131
|
};
|
|
126
132
|
}
|
|
127
133
|
export {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
134
|
+
S as createClientHeaders,
|
|
135
|
+
P as dynamicExperiencesPlugin,
|
|
136
|
+
u as fetchProject
|
|
131
137
|
};
|
|
@@ -1,40 +1,41 @@
|
|
|
1
|
-
import { createEffect as i, attach as f, sample as
|
|
2
|
-
import { c as u, l as g, s as
|
|
3
|
-
|
|
1
|
+
import { createEffect as i, attach as f, sample as p } from "effector";
|
|
2
|
+
import { c as u, l as g, s as m } from "../../../storage-Co_LbKr_.js";
|
|
3
|
+
import { t as S } from "../../../to-kebab-case-BPnCZjhB.js";
|
|
4
|
+
const c = u("responses", "global"), b = (n, s) => {
|
|
4
5
|
const o = {};
|
|
5
|
-
return Object.entries(
|
|
6
|
-
!s.find((
|
|
6
|
+
return Object.entries(n).forEach(([t, a]) => {
|
|
7
|
+
!s.find((r) => (r.key ?? S(r.name)) === t)?.policies?.doNotStoreValue && (o[t] = a);
|
|
7
8
|
}), o;
|
|
8
|
-
},
|
|
9
|
-
storage:
|
|
9
|
+
}, y = ({
|
|
10
|
+
storage: n = "local"
|
|
10
11
|
} = {}) => ({
|
|
11
12
|
name: "responses-browser-storage-plugin",
|
|
12
13
|
setup: (s) => {
|
|
13
|
-
const o =
|
|
14
|
-
const e = o.get(
|
|
14
|
+
const o = n === "local" ? g : m, t = i(async () => {
|
|
15
|
+
const e = o.get(c).json();
|
|
15
16
|
if (!e)
|
|
16
17
|
return null;
|
|
17
18
|
s.responses.register(e);
|
|
18
|
-
}),
|
|
19
|
+
}), a = f({
|
|
19
20
|
source: {
|
|
20
21
|
responses: s.responses.getAllStore,
|
|
21
22
|
fields: s.fields.listStore
|
|
22
23
|
},
|
|
23
|
-
effect: ({ responses: e, fields:
|
|
24
|
-
const
|
|
25
|
-
o.set(
|
|
24
|
+
effect: ({ responses: e, fields: l }) => {
|
|
25
|
+
const r = b(e, l);
|
|
26
|
+
o.set(c, r);
|
|
26
27
|
}
|
|
27
28
|
});
|
|
28
|
-
|
|
29
|
+
p({
|
|
29
30
|
source: s.eventBus,
|
|
30
31
|
filter: (e) => e.type === "load",
|
|
31
32
|
target: t
|
|
32
|
-
}),
|
|
33
|
+
}), p({
|
|
33
34
|
source: s.responses.getAllStore,
|
|
34
|
-
target:
|
|
35
|
+
target: a
|
|
35
36
|
});
|
|
36
37
|
}
|
|
37
38
|
});
|
|
38
39
|
export {
|
|
39
|
-
|
|
40
|
+
y as responsesBrowserStoragePlugin
|
|
40
41
|
};
|
|
@@ -69,7 +69,7 @@ const l = "responses", m = { storeName: l, keyPath: "fieldId" }, I = () => ({
|
|
|
69
69
|
source: { responses: r.responses.listStore, fields: r.fields.listStore },
|
|
70
70
|
fn: ({ responses: t, fields: e }) => {
|
|
71
71
|
const s = e.filter((i) => !i.policies?.doNotStoreValue);
|
|
72
|
-
return t.filter((i) => s.some((w) => w.
|
|
72
|
+
return t.filter((i) => s.some((w) => w.key === i.fieldId));
|
|
73
73
|
},
|
|
74
74
|
target: c
|
|
75
75
|
}), d({
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function a(e){return e.toLowerCase().replace(/[^a-z0-9\s]/g,"").trim().replace(/\s+/g,"-")}exports.toKebabCase=a;
|
package/dist/types/client.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { Predicate } from './entities/predicate/predicate';
|
|
|
2
2
|
import { Action } from './entities/action/action';
|
|
3
3
|
import { Plugin } from './entities/plugin/plugin';
|
|
4
4
|
import { Feature } from './entities/feature/feature';
|
|
5
|
+
import { AdaptedComponent } from './entities/component/component';
|
|
5
6
|
import { LogicRule } from './logic-engine';
|
|
6
7
|
export interface CreateClientOptions {
|
|
7
8
|
/**
|
|
@@ -88,6 +89,18 @@ export interface CreateClientOptions {
|
|
|
88
89
|
````
|
|
89
90
|
*/
|
|
90
91
|
features?: Record<string, Feature | (() => Feature)>;
|
|
92
|
+
/**
|
|
93
|
+
* Register components for use in dynamic experiences
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```typescript
|
|
97
|
+
* components: {
|
|
98
|
+
* HeroBanner: adaptedHeroBannerComponent,
|
|
99
|
+
* ProductCard: adaptedProductCardComponent,
|
|
100
|
+
* }
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
103
|
+
components?: Record<string, AdaptedComponent>;
|
|
91
104
|
/**
|
|
92
105
|
* Evaluate a condition or boolean expression before initializing the client
|
|
93
106
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAEtC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEhC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,MAAM,EAAE,GAAG,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,EAAE,CAAA;IAEnE;;;;;;;;;;;;;;;OAeG;IAEH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAA;IAEpD;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,EAAE,SAAS,CAAA;IAExB;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAEtC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEhC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,MAAM,EAAE,GAAG,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,EAAE,CAAA;IAEnE;;;;;;;;;;;;;;;OAeG;IAEH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAA;IAEpD;;;;;;;;;;OAUG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAE7C;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,EAAE,SAAS,CAAA;IAExB;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB"}
|
|
@@ -11,7 +11,7 @@ declare const createExperienceFactory: ({ client, experience }: {
|
|
|
11
11
|
id: string;
|
|
12
12
|
configStore: import('effector').Store<{
|
|
13
13
|
name: string;
|
|
14
|
-
decisionLogic:
|
|
14
|
+
decisionLogic: LogicValue | LogicRule;
|
|
15
15
|
targetSelectors: ExperienceTarget[];
|
|
16
16
|
initializeOpenLogic: LogicValue | LogicRule;
|
|
17
17
|
}>;
|
|
@@ -33,6 +33,15 @@ declare const createExperienceFactory: ({ client, experience }: {
|
|
|
33
33
|
strategy: "override";
|
|
34
34
|
}>;
|
|
35
35
|
};
|
|
36
|
+
/**
|
|
37
|
+
* Creates an Effector store for a single experience.
|
|
38
|
+
* @param params - The client instance and experience data.
|
|
39
|
+
* @returns An experience store with config, tree, fields, and component sub-stores.
|
|
40
|
+
* @example
|
|
41
|
+
* ```typescript
|
|
42
|
+
* const store = createExperience({ client, experience })
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
36
45
|
export declare function createExperience<T extends Parameters<typeof createExperienceFactory>[0]>(params: T): ReturnType<typeof createExperienceFactory>;
|
|
37
46
|
/** Options for launching an experience. */
|
|
38
47
|
export interface LaunchExperienceOptions {
|
|
@@ -53,7 +62,7 @@ declare const createExperienceIndexFactory: ({ client }: {
|
|
|
53
62
|
id: string;
|
|
54
63
|
configStore: import('effector').Store<{
|
|
55
64
|
name: string;
|
|
56
|
-
decisionLogic:
|
|
65
|
+
decisionLogic: LogicValue | LogicRule;
|
|
57
66
|
targetSelectors: ExperienceTarget[];
|
|
58
67
|
initializeOpenLogic: LogicValue | LogicRule;
|
|
59
68
|
}>;
|
|
@@ -80,7 +89,7 @@ declare const createExperienceIndexFactory: ({ client }: {
|
|
|
80
89
|
id: string;
|
|
81
90
|
configStore: import('effector').Store<{
|
|
82
91
|
name: string;
|
|
83
|
-
decisionLogic:
|
|
92
|
+
decisionLogic: LogicValue | LogicRule;
|
|
84
93
|
targetSelectors: ExperienceTarget[];
|
|
85
94
|
initializeOpenLogic: LogicValue | LogicRule;
|
|
86
95
|
}>;
|
|
@@ -117,7 +126,7 @@ declare const createExperienceIndexFactory: ({ client }: {
|
|
|
117
126
|
id: string;
|
|
118
127
|
configStore: import('effector').Store<{
|
|
119
128
|
name: string;
|
|
120
|
-
decisionLogic:
|
|
129
|
+
decisionLogic: LogicValue | LogicRule;
|
|
121
130
|
targetSelectors: ExperienceTarget[];
|
|
122
131
|
initializeOpenLogic: LogicValue | LogicRule;
|
|
123
132
|
}>;
|
|
@@ -140,10 +149,20 @@ declare const createExperienceIndexFactory: ({ client }: {
|
|
|
140
149
|
}>;
|
|
141
150
|
}[]>;
|
|
142
151
|
};
|
|
152
|
+
/**
|
|
153
|
+
* Creates an Effector-based index for registering and retrieving experiences.
|
|
154
|
+
* @param params - The client instance.
|
|
155
|
+
* @returns An experience index with register, get, launch, and open methods.
|
|
156
|
+
* @example
|
|
157
|
+
* ```typescript
|
|
158
|
+
* const index = createExperienceIndex({ client })
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
143
161
|
export declare function createExperienceIndex<T extends Parameters<typeof createExperienceIndexFactory>[0]>(params: T): ReturnType<typeof createExperienceIndexFactory>;
|
|
144
162
|
export interface ExperienceStep {
|
|
145
163
|
id: string;
|
|
146
|
-
|
|
164
|
+
key: string;
|
|
165
|
+
name: string;
|
|
147
166
|
fieldIds: string[];
|
|
148
167
|
}
|
|
149
168
|
export type ExperienceNode = StepNode | ConditionalNode | LaunchExperienceNode | OriginNode | ActionNode;
|
|
@@ -154,17 +173,15 @@ export interface ExperienceAction {
|
|
|
154
173
|
export interface ActionNode extends BaseNode {
|
|
155
174
|
type: 'action';
|
|
156
175
|
action: string;
|
|
157
|
-
position: [number, number];
|
|
158
176
|
}
|
|
159
177
|
export interface BaseNode {
|
|
160
178
|
id: string;
|
|
161
179
|
type: string;
|
|
162
|
-
position: [number, number];
|
|
163
180
|
}
|
|
164
181
|
export interface StepNode extends BaseNode {
|
|
165
182
|
type: 'step';
|
|
166
183
|
stepId: string;
|
|
167
|
-
|
|
184
|
+
name: string;
|
|
168
185
|
}
|
|
169
186
|
export interface ConditionalNode extends BaseNode {
|
|
170
187
|
type: 'conditional';
|
|
@@ -195,13 +212,12 @@ export interface ExperienceTarget {
|
|
|
195
212
|
export interface Experience {
|
|
196
213
|
id: string;
|
|
197
214
|
name: string;
|
|
215
|
+
componentName?: string;
|
|
198
216
|
component?: AdaptedComponent;
|
|
199
217
|
conditionals: ExperienceConditional[];
|
|
200
218
|
initializeOpen?: LogicRule | LogicValue;
|
|
201
219
|
actions?: ExperienceAction[];
|
|
202
220
|
condition?: LogicRule | LogicValue;
|
|
203
|
-
/** @deprecated Use `condition` instead. This property will be removed in a future version. */
|
|
204
|
-
decide?: LogicRule;
|
|
205
221
|
edges: ExperienceEdge[];
|
|
206
222
|
nodes: ExperienceNode[];
|
|
207
223
|
fields: Field[];
|
|
@@ -210,16 +226,14 @@ export interface Experience {
|
|
|
210
226
|
}
|
|
211
227
|
export declare const setupExperience: (experience: Experience, experienceStore: ExperiencesListStore) => void;
|
|
212
228
|
/**
|
|
213
|
-
* Initializes an experience for each target that exists in the DOM
|
|
214
|
-
*
|
|
215
|
-
* @param
|
|
216
|
-
* @param experience
|
|
229
|
+
* Initializes an experience for each target that exists in the DOM.
|
|
230
|
+
* @param client - The Picked client instance.
|
|
231
|
+
* @param experience - The experience store to initialise.
|
|
217
232
|
*/
|
|
218
233
|
export declare const initialiseExperience: (client: Picked, experience: ExperienceStore, options?: LaunchExperienceOptions) => void;
|
|
219
234
|
/**
|
|
220
|
-
* Conditionally initializes experiences
|
|
221
|
-
*
|
|
222
|
-
* @param client
|
|
235
|
+
* Conditionally initializes experiences.
|
|
236
|
+
* @param client - The Picked client instance.
|
|
223
237
|
*/
|
|
224
238
|
export declare const initialiseExperiences: (client: Picked) => Promise<void>;
|
|
225
239
|
export declare const shouldInitialiseExperience: (client: Picked, experience: ExperienceStore) => Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experience.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience/experience.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"experience.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience/experience.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,8 +11,13 @@ export type JsonValue = string | number | boolean | null | {
|
|
|
11
11
|
} | JsonValue[];
|
|
12
12
|
export type FieldValue = PrimitiveFieldValue | PrimitiveFieldValue[] | JsonValue | JsonValue[];
|
|
13
13
|
export interface FieldBase<TOptionValue = PrimitiveFieldValue> {
|
|
14
|
+
/** Database row id assigned by the API. Not set on locally-defined fields. */
|
|
14
15
|
id: string;
|
|
16
|
+
/** Stable kebab-case identifier. Auto-derived from `name` via `toKebabCase` if not provided. */
|
|
17
|
+
key: string;
|
|
18
|
+
/** Human-readable name, e.g. "What Is Your First Name". */
|
|
15
19
|
name: string;
|
|
20
|
+
/** End-user facing label shown in the UI, e.g. "First name". */
|
|
16
21
|
label: string;
|
|
17
22
|
type: 'text' | 'number' | 'object' | 'boolean';
|
|
18
23
|
multiple: boolean;
|
|
@@ -78,8 +83,9 @@ export interface FieldBooleanMultiple extends FieldBase<boolean> {
|
|
|
78
83
|
export type Field = FieldTextSingular | FieldTextMultiple | FieldNumberSingular | FieldNumberMultiple | FieldObjectSingular | FieldObjectMultiple | FieldBooleanSingular | FieldBooleanMultiple;
|
|
79
84
|
declare const createFieldIndexFactory: () => {
|
|
80
85
|
register: (field: Field) => void;
|
|
81
|
-
update: (
|
|
82
|
-
|
|
86
|
+
update: (fieldKey: string, updates: Partial<Field>) => void;
|
|
87
|
+
getByKey: (key: string) => Store<Field | null>;
|
|
88
|
+
getById: (id: string) => Store<Field | null>;
|
|
83
89
|
listStore: Store<Field[]>;
|
|
84
90
|
getByName: (name: FieldBase["name"]) => Store<Field | null>;
|
|
85
91
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../src/entities/field/field.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../src/entities/field/field.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,8 +11,8 @@ declare const createResponseIndexFactory: ({ client }: {
|
|
|
11
11
|
client: Picked;
|
|
12
12
|
}) => {
|
|
13
13
|
register: {
|
|
14
|
-
(fieldId:
|
|
15
|
-
(payload: Record<
|
|
14
|
+
(fieldId: string, response: Response): void;
|
|
15
|
+
(payload: Record<string, Response>, response?: never): void;
|
|
16
16
|
};
|
|
17
17
|
clearAll: import('effector').EventCallable<void>;
|
|
18
18
|
clear: import('effector').EventCallable<string>;
|
|
@@ -31,15 +31,15 @@ declare const createResponseIndexFactory: ({ client }: {
|
|
|
31
31
|
[fieldId: string]: FieldValue;
|
|
32
32
|
}>;
|
|
33
33
|
getByFieldId: {
|
|
34
|
-
(fieldId:
|
|
35
|
-
<T extends JsonValue>(fieldId:
|
|
34
|
+
(fieldId: string): Store<FieldValue>;
|
|
35
|
+
<T extends JsonValue>(fieldId: string): Store<T | null>;
|
|
36
36
|
};
|
|
37
37
|
getByFieldName: (fieldName: Field["name"]) => Store<FieldValue>;
|
|
38
38
|
};
|
|
39
39
|
export declare function createResponseIndex<T extends Parameters<typeof createResponseIndexFactory>[0]>(params: T): ReturnType<typeof createResponseIndexFactory>;
|
|
40
|
-
export type CommitResponses = Record<
|
|
40
|
+
export type CommitResponses = Record<string, FieldValue>;
|
|
41
41
|
export interface ValidationError {
|
|
42
|
-
fieldId:
|
|
42
|
+
fieldId: string;
|
|
43
43
|
userMessage: string;
|
|
44
44
|
systemMessage: string;
|
|
45
45
|
value: FieldValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../../src/entities/response/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyD,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AAE5F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAuB,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../../src/entities/response/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyD,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AAE5F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAuB,MAAM,gBAAgB,CAAA;AA+CvF,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAInE,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAA;AAGjC,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAA;CAC5B;AAED,QAAA,MAAM,0BAA0B,eAA8B;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;;kBA+BnD,MAAM,YAAY,QAAQ,GAAG,IAAI;kBACjC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,KAAK,GAAG,IAAI;;;;gCAyOvD,eAAe,KACjC,OAAO,CAAC;QAAE,MAAM,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;8CAxNpB,eAAe,KACjC,OAAO,CAAC;QAAE,iBAAiB,EAAE,eAAe,CAAC;QAAC,gBAAgB,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;;;;;;;;;kBAmPxD,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC;SAEnC,CAAC,SAAS,SAAS,WAAW,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;;gCAuBzC,KAAK,CAAC,MAAM,CAAC;CAyChD,CAAA;AAEF,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC,CAAC,EAC5F,MAAM,EAAE,CAAC,GACR,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAE/C;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;AAExD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IAGf,WAAW,EAAE,MAAM,CAAA;IAGnB,aAAa,EAAE,MAAM,CAAA;IAGrB,KAAK,EAAE,UAAU,CAAA;CAClB"}
|
package/dist/types/picked.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Experience, LaunchExperienceOptions } from './entities/experience/experience';
|
|
2
2
|
import { Plugin, PluginConfigIndex } from './entities/plugin/plugin';
|
|
3
3
|
import { CreateClientOptions } from './client';
|
|
4
|
-
import {
|
|
4
|
+
import { AdaptedComponent } from './entities/component/component';
|
|
5
5
|
import { Framework } from './entities/framework/framework';
|
|
6
6
|
import { StateSnapshot } from './utils/state-snaphot';
|
|
7
7
|
import { Predicate } from './entities/predicate/predicate';
|
|
@@ -28,6 +28,7 @@ export declare class Picked {
|
|
|
28
28
|
readonly session?: SessionStore | null;
|
|
29
29
|
readonly precondition?: LogicRule | boolean;
|
|
30
30
|
readonly condition?: LogicRule | boolean;
|
|
31
|
+
preconditionPassed?: boolean;
|
|
31
32
|
readonly searchParams: import('./utils/search-params').PickedSearchParams;
|
|
32
33
|
readonly history: {
|
|
33
34
|
push: import('effector').EventCallable<{
|
|
@@ -69,7 +70,7 @@ export declare class Picked {
|
|
|
69
70
|
id: string;
|
|
70
71
|
configStore: import('effector').Store<{
|
|
71
72
|
name: string;
|
|
72
|
-
decisionLogic:
|
|
73
|
+
decisionLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
73
74
|
targetSelectors: import('.').ExperienceTarget[];
|
|
74
75
|
initializeOpenLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
75
76
|
}>;
|
|
@@ -95,7 +96,7 @@ export declare class Picked {
|
|
|
95
96
|
id: string;
|
|
96
97
|
configStore: import('effector').Store<{
|
|
97
98
|
name: string;
|
|
98
|
-
decisionLogic:
|
|
99
|
+
decisionLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
99
100
|
targetSelectors: import('.').ExperienceTarget[];
|
|
100
101
|
initializeOpenLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
101
102
|
}>;
|
|
@@ -129,7 +130,7 @@ export declare class Picked {
|
|
|
129
130
|
id: string;
|
|
130
131
|
configStore: import('effector').Store<{
|
|
131
132
|
name: string;
|
|
132
|
-
decisionLogic:
|
|
133
|
+
decisionLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
133
134
|
targetSelectors: import('.').ExperienceTarget[];
|
|
134
135
|
initializeOpenLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
135
136
|
}>;
|
|
@@ -175,8 +176,8 @@ export declare class Picked {
|
|
|
175
176
|
};
|
|
176
177
|
readonly responses: {
|
|
177
178
|
register: {
|
|
178
|
-
(fieldId:
|
|
179
|
-
(payload: Record<
|
|
179
|
+
(fieldId: string, response: import('.').Response): void;
|
|
180
|
+
(payload: Record<string, import('.').Response>, response?: never): void;
|
|
180
181
|
};
|
|
181
182
|
clearAll: import('effector').EventCallable<void>;
|
|
182
183
|
clear: import('effector').EventCallable<string>;
|
|
@@ -195,15 +196,16 @@ export declare class Picked {
|
|
|
195
196
|
[fieldId: string]: import('.').FieldValue;
|
|
196
197
|
}>;
|
|
197
198
|
getByFieldId: {
|
|
198
|
-
(fieldId:
|
|
199
|
-
<T extends import('.').JsonValue>(fieldId:
|
|
199
|
+
(fieldId: string): import('effector').Store<import('.').FieldValue>;
|
|
200
|
+
<T extends import('.').JsonValue>(fieldId: string): import('effector').Store<T | null>;
|
|
200
201
|
};
|
|
201
202
|
getByFieldName: (fieldName: Field["name"]) => import('effector').Store<import('.').FieldValue>;
|
|
202
203
|
};
|
|
203
204
|
readonly fields: {
|
|
204
205
|
register: (field: Field) => void;
|
|
205
|
-
update: (
|
|
206
|
-
|
|
206
|
+
update: (fieldKey: string, updates: Partial<Field>) => void;
|
|
207
|
+
getByKey: (key: string) => import('effector').Store<Field | null>;
|
|
208
|
+
getById: (id: string) => import('effector').Store<Field | null>;
|
|
207
209
|
listStore: import('effector').Store<Field[]>;
|
|
208
210
|
getByName: (name: import('.').FieldBase["name"]) => import('effector').Store<Field | null>;
|
|
209
211
|
};
|
|
@@ -216,7 +218,7 @@ export declare class Picked {
|
|
|
216
218
|
constructor(options: CreateClientOptions);
|
|
217
219
|
start: () => void;
|
|
218
220
|
registerFramework: (framework: Framework) => void;
|
|
219
|
-
registerComponent: (name:
|
|
221
|
+
registerComponent: (name: string, component: AdaptedComponent) => void;
|
|
220
222
|
registerPlugin: (plugin: Plugin) => void;
|
|
221
223
|
registerFeature: (name: string, feature: Feature) => void;
|
|
222
224
|
registerPredicate: (name: string, predicate: Predicate) => void;
|
|
@@ -234,6 +236,7 @@ export declare class Picked {
|
|
|
234
236
|
private setupFeatures;
|
|
235
237
|
private setupPredicates;
|
|
236
238
|
private setupActions;
|
|
239
|
+
private setupComponents;
|
|
237
240
|
getPluginConfig: (pluginName: string) => PluginConfigIndex[string] | Record<string, unknown>;
|
|
238
241
|
/**
|
|
239
242
|
* Interpolates a template string using values from the client's response store and/or a provided context.
|