@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
package/dist/types/picked.d.ts
CHANGED
|
@@ -8,16 +8,13 @@ import { Predicate } from './entities/predicate/predicate';
|
|
|
8
8
|
import { Feature } from './entities/feature/feature';
|
|
9
9
|
import { EventBusPayload, EventHistoryStore } from './utils/events';
|
|
10
10
|
import { Field } from './entities/field/field';
|
|
11
|
-
import { ExperienceStep } from './entities/step/step';
|
|
12
11
|
import { Action } from './entities/action/action';
|
|
13
|
-
import { Condition } from './entities/condition/condition';
|
|
14
12
|
import { SessionStore } from './utils/user-session';
|
|
15
13
|
import { LogicRule } from './logic-engine';
|
|
16
14
|
export declare class Picked {
|
|
17
15
|
static readonly logger: (level: "log" | "warn" | "info" | "error", ...args: Parameters<Console["log"]>) => void;
|
|
18
16
|
private readonly options;
|
|
19
17
|
isReady: boolean;
|
|
20
|
-
private project?;
|
|
21
18
|
private readonly plugins;
|
|
22
19
|
private readonly pluginStartHooks;
|
|
23
20
|
readonly eventBus: import('effector').EventCallable<EventBusPayload>;
|
|
@@ -31,7 +28,7 @@ export declare class Picked {
|
|
|
31
28
|
readonly precondition?: LogicRule | boolean;
|
|
32
29
|
readonly condition?: LogicRule | boolean;
|
|
33
30
|
preconditionPassed?: boolean;
|
|
34
|
-
readonly searchParams: import('
|
|
31
|
+
readonly searchParams: import('.').PickedSearchParams;
|
|
35
32
|
readonly history: {
|
|
36
33
|
push: import('effector').EventCallable<{
|
|
37
34
|
experienceId: string;
|
|
@@ -68,10 +65,8 @@ export declare class Picked {
|
|
|
68
65
|
};
|
|
69
66
|
readonly experiences: {
|
|
70
67
|
register: (experience: Experience) => void;
|
|
71
|
-
get: (
|
|
68
|
+
get: (id: Experience["id"]) => import('effector').Store<{
|
|
72
69
|
id: string;
|
|
73
|
-
key: string | undefined;
|
|
74
|
-
name: string;
|
|
75
70
|
configStore: import('effector').Store<{
|
|
76
71
|
name: string;
|
|
77
72
|
decisionLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
@@ -79,11 +74,12 @@ export declare class Picked {
|
|
|
79
74
|
initializeOpenLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
80
75
|
}>;
|
|
81
76
|
treeStore: import('effector').Store<{
|
|
82
|
-
steps:
|
|
77
|
+
steps: import('.').ExperienceStep[];
|
|
83
78
|
nodes: import('.').ExperienceNode[];
|
|
84
79
|
edges: import('.').ExperienceEdge[];
|
|
85
|
-
|
|
80
|
+
conditionals: import('.').ExperienceConditional[];
|
|
86
81
|
}>;
|
|
82
|
+
fieldsStore: import('effector').Store<Field[]>;
|
|
87
83
|
componentStore: import('effector').Store<{
|
|
88
84
|
name: string;
|
|
89
85
|
component: AdaptedComponent<string, unknown>;
|
|
@@ -95,10 +91,8 @@ export declare class Picked {
|
|
|
95
91
|
strategy: "override";
|
|
96
92
|
}>;
|
|
97
93
|
} | undefined>;
|
|
98
|
-
getById: (
|
|
94
|
+
getById: (id: Experience["id"]) => import('effector').Store<{
|
|
99
95
|
id: string;
|
|
100
|
-
key: string | undefined;
|
|
101
|
-
name: string;
|
|
102
96
|
configStore: import('effector').Store<{
|
|
103
97
|
name: string;
|
|
104
98
|
decisionLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
@@ -106,11 +100,12 @@ export declare class Picked {
|
|
|
106
100
|
initializeOpenLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
107
101
|
}>;
|
|
108
102
|
treeStore: import('effector').Store<{
|
|
109
|
-
steps:
|
|
103
|
+
steps: import('.').ExperienceStep[];
|
|
110
104
|
nodes: import('.').ExperienceNode[];
|
|
111
105
|
edges: import('.').ExperienceEdge[];
|
|
112
|
-
|
|
106
|
+
conditionals: import('.').ExperienceConditional[];
|
|
113
107
|
}>;
|
|
108
|
+
fieldsStore: import('effector').Store<Field[]>;
|
|
114
109
|
componentStore: import('effector').Store<{
|
|
115
110
|
name: string;
|
|
116
111
|
component: AdaptedComponent<string, unknown>;
|
|
@@ -132,8 +127,6 @@ export declare class Picked {
|
|
|
132
127
|
}, void, Error>;
|
|
133
128
|
listStore: import('effector').Store<{
|
|
134
129
|
id: string;
|
|
135
|
-
key: string | undefined;
|
|
136
|
-
name: string;
|
|
137
130
|
configStore: import('effector').Store<{
|
|
138
131
|
name: string;
|
|
139
132
|
decisionLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
@@ -141,11 +134,12 @@ export declare class Picked {
|
|
|
141
134
|
initializeOpenLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
142
135
|
}>;
|
|
143
136
|
treeStore: import('effector').Store<{
|
|
144
|
-
steps:
|
|
137
|
+
steps: import('.').ExperienceStep[];
|
|
145
138
|
nodes: import('.').ExperienceNode[];
|
|
146
139
|
edges: import('.').ExperienceEdge[];
|
|
147
|
-
|
|
140
|
+
conditionals: import('.').ExperienceConditional[];
|
|
148
141
|
}>;
|
|
142
|
+
fieldsStore: import('effector').Store<Field[]>;
|
|
149
143
|
componentStore: import('effector').Store<{
|
|
150
144
|
name: string;
|
|
151
145
|
component: AdaptedComponent<string, unknown>;
|
|
@@ -179,20 +173,6 @@ export declare class Picked {
|
|
|
179
173
|
listStore: import('effector').Store<import('.').FeatureBucket[]>;
|
|
180
174
|
getEvokableFeature: (featureName: string) => import('effector').Store<() => Promise<boolean | string | undefined>>;
|
|
181
175
|
};
|
|
182
|
-
readonly conditions: {
|
|
183
|
-
register: (condition: Condition) => void;
|
|
184
|
-
getById: (id: Condition["id"]) => import('effector').Store<Condition | null>;
|
|
185
|
-
getByKey: (key: Condition["key"]) => import('effector').Store<Condition | null>;
|
|
186
|
-
listStore: import('effector').Store<Condition[]>;
|
|
187
|
-
};
|
|
188
|
-
readonly fields: {
|
|
189
|
-
register: (field: Field) => void;
|
|
190
|
-
update: (fieldKeyOrId: import('.').FieldBase["key"], updates: Partial<Field>) => void;
|
|
191
|
-
getById: (id: import('.').FieldBase["id"]) => import('effector').Store<Field | null>;
|
|
192
|
-
getByKey: (key: import('.').FieldBase["key"]) => import('effector').Store<Field | null>;
|
|
193
|
-
listStore: import('effector').Store<Field[]>;
|
|
194
|
-
getByName: (name: import('.').FieldBase["name"]) => import('effector').Store<Field | null>;
|
|
195
|
-
};
|
|
196
176
|
readonly responses: {
|
|
197
177
|
register: {
|
|
198
178
|
(fieldId: Field["id"], response: import('.').Response): void;
|
|
@@ -209,20 +189,23 @@ export declare class Picked {
|
|
|
209
189
|
}>;
|
|
210
190
|
listStore: import('effector').Store<{
|
|
211
191
|
fieldId: string;
|
|
212
|
-
|
|
213
|
-
value: import('.').FieldValue;
|
|
192
|
+
value: import('.').FieldValue | undefined;
|
|
214
193
|
}[]>;
|
|
215
194
|
getAllStore: import('effector').Store<{
|
|
216
195
|
[fieldId: string]: import('.').FieldValue;
|
|
217
196
|
}>;
|
|
218
|
-
getByFieldId:
|
|
219
|
-
|
|
197
|
+
getByFieldId: {
|
|
198
|
+
(fieldId: Field["id"]): import('effector').Store<import('.').FieldValue>;
|
|
199
|
+
<T extends import('.').JsonValue>(fieldId: Field["id"]): import('effector').Store<T | null>;
|
|
200
|
+
};
|
|
220
201
|
getByFieldName: (fieldName: Field["name"]) => import('effector').Store<import('.').FieldValue>;
|
|
221
202
|
};
|
|
222
|
-
readonly
|
|
223
|
-
register: (
|
|
224
|
-
|
|
225
|
-
|
|
203
|
+
readonly fields: {
|
|
204
|
+
register: (field: Field) => void;
|
|
205
|
+
update: (fieldId: import('.').FieldBase["id"], updates: Partial<Field>) => void;
|
|
206
|
+
getById: (id: import('.').FieldBase["id"]) => import('effector').Store<Field | null>;
|
|
207
|
+
listStore: import('effector').Store<Field[]>;
|
|
208
|
+
getByName: (name: import('.').FieldBase["name"]) => import('effector').Store<Field | null>;
|
|
226
209
|
};
|
|
227
210
|
readonly actions: {
|
|
228
211
|
register: (name: string, action: Action) => void;
|
|
@@ -237,9 +220,7 @@ export declare class Picked {
|
|
|
237
220
|
registerPlugin: (plugin: Plugin) => void;
|
|
238
221
|
registerFeature: (name: string, feature: Feature) => void;
|
|
239
222
|
registerPredicate: (name: string, predicate: Predicate) => void;
|
|
240
|
-
registerCondition: (condition: Condition) => void;
|
|
241
223
|
registerField: (field: Field) => void;
|
|
242
|
-
registerStep: (step: ExperienceStep) => void;
|
|
243
224
|
registerAction: (name: string, action: Action) => void;
|
|
244
225
|
registerExperience: (experience: Experience) => void;
|
|
245
226
|
getStateSnapshot: () => StateSnapshot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picked.d.ts","sourceRoot":"","sources":["../../src/picked.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"picked.d.ts","sourceRoot":"","sources":["../../src/picked.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +1,29 @@
|
|
|
1
|
-
import { ActionNode, Experience,
|
|
2
|
-
import { ExperienceStep } from '../../entities/step/step';
|
|
1
|
+
import { ActionNode, Experience, ExperienceConditional, ExperienceEdge, ExperienceNode, ExperienceStep, ExperienceTarget } from '../../entities/experience/experience';
|
|
3
2
|
import { AdaptedComponent } from '../../entities/component/component';
|
|
4
3
|
import { LogicRule, LogicValue } from '../../logic-engine';
|
|
5
|
-
import { Field,
|
|
4
|
+
import { Field, JsonValue, FieldOptionValue, FieldOption, FieldOptionArray } from '../../entities/field/field';
|
|
6
5
|
import { Serialized } from './serialization';
|
|
6
|
+
export type { FieldOptionValue, FieldOption, FieldOptionArray };
|
|
7
7
|
export interface Nodeable {
|
|
8
8
|
node: SerializableNode | null;
|
|
9
9
|
}
|
|
10
10
|
export interface SerializableStep extends Nodeable {
|
|
11
11
|
id: string;
|
|
12
|
-
name: string;
|
|
13
|
-
key: string;
|
|
14
|
-
/** @deprecated Use `name` instead. */
|
|
15
12
|
label: string;
|
|
16
13
|
fields: SerializableField[];
|
|
17
14
|
experience: SerializableExperience;
|
|
18
15
|
nextStep: (stepOptions: CreateStepOptions | SerializableStep) => SerializableStep;
|
|
19
|
-
|
|
20
|
-
/** @deprecated Use `nextCondition` instead. */
|
|
21
|
-
nextConditional: (conditionOptions: CreateConditionOptions | SerializableCondition) => SerializableCondition;
|
|
16
|
+
nextConditional: (conditionalOptions: CreateConditionalOptions | SerializableConditional) => SerializableConditional;
|
|
22
17
|
addNextExperience: (experience: SerializableExperience) => SerializableExperience;
|
|
23
18
|
addField: (fieldOptions: CreateFieldOptions | SerializableField) => SerializableField;
|
|
24
19
|
serialize: () => Serialized<ExperienceStep>;
|
|
25
20
|
}
|
|
26
21
|
export interface CreateStepOptions {
|
|
27
22
|
id?: string;
|
|
28
|
-
|
|
29
|
-
key?: string;
|
|
30
|
-
/** @deprecated Use `name` instead. */
|
|
31
|
-
label?: string;
|
|
23
|
+
label: string;
|
|
32
24
|
fields?: SerializableField[];
|
|
33
25
|
}
|
|
34
|
-
export type SerializableNode = SerializableStepNode |
|
|
26
|
+
export type SerializableNode = SerializableStepNode | SerializableConditionalNode | SerializableLaunchExperienceNode | SerializableOriginNode | SerializableActionNode;
|
|
35
27
|
export interface SerializableActionNode extends SerializableBaseNode {
|
|
36
28
|
type: 'action';
|
|
37
29
|
action: string;
|
|
@@ -53,12 +45,10 @@ export interface SerializableStepNode extends SerializableBaseNode {
|
|
|
53
45
|
type: 'step';
|
|
54
46
|
connectedStep: SerializableStep;
|
|
55
47
|
}
|
|
56
|
-
export interface
|
|
48
|
+
export interface SerializableConditionalNode extends SerializableBaseNode {
|
|
57
49
|
type: 'conditional';
|
|
58
|
-
|
|
50
|
+
connectedConditional: SerializableConditional;
|
|
59
51
|
}
|
|
60
|
-
/** @deprecated Use {@link SerializableConditionNode} instead. */
|
|
61
|
-
export type SerializableConditionalNode = SerializableConditionNode;
|
|
62
52
|
export interface SerializableLaunchExperienceNode extends SerializableBaseNode {
|
|
63
53
|
type: 'experience';
|
|
64
54
|
connectedExperience: SerializableExperience;
|
|
@@ -70,7 +60,7 @@ export type CreateNodeOptions = {
|
|
|
70
60
|
step: SerializableStep;
|
|
71
61
|
type: 'step';
|
|
72
62
|
} | {
|
|
73
|
-
conditional:
|
|
63
|
+
conditional: SerializableConditional;
|
|
74
64
|
type: 'conditional';
|
|
75
65
|
} | {
|
|
76
66
|
type: 'origin';
|
|
@@ -94,81 +84,68 @@ export interface CreateEdgeOptions {
|
|
|
94
84
|
sourceNodeHandle: 'true' | 'false' | null;
|
|
95
85
|
destinationNode: SerializableNode;
|
|
96
86
|
}
|
|
97
|
-
export interface
|
|
87
|
+
export interface SerializableConditional extends Nodeable {
|
|
98
88
|
id: string;
|
|
99
89
|
label?: string;
|
|
100
90
|
condition: LogicRule;
|
|
101
91
|
experience: SerializableExperience;
|
|
102
92
|
addTrue: (nodeable: Nodeable) => undefined;
|
|
103
93
|
addFalse: (nodeable: Nodeable) => undefined;
|
|
104
|
-
serialize: () => Serialized<
|
|
94
|
+
serialize: () => Serialized<ExperienceConditional>;
|
|
105
95
|
}
|
|
106
|
-
|
|
107
|
-
export type SerializableConditional = SerializableCondition;
|
|
108
|
-
export interface CreateConditionOptions {
|
|
96
|
+
export interface CreateConditionalOptions {
|
|
109
97
|
condition: LogicRule;
|
|
110
98
|
label?: string;
|
|
111
99
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
* The internal `id` is derived from `key` when not explicitly set.
|
|
118
|
-
*/
|
|
119
|
-
id?: string;
|
|
120
|
-
key?: string;
|
|
121
|
-
defaultValue?: string | number | boolean | object | null | string[] | number[] | boolean[] | object[];
|
|
100
|
+
export interface CreateFieldOptions<T extends JsonValue = JsonValue> {
|
|
101
|
+
id: string;
|
|
102
|
+
name: string;
|
|
103
|
+
type: 'text' | 'number' | 'boolean' | 'object';
|
|
104
|
+
label: string;
|
|
122
105
|
placeholder?: string;
|
|
123
106
|
description?: string;
|
|
124
107
|
helpText?: string;
|
|
108
|
+
defaultValue?: T | T[] | null;
|
|
109
|
+
multiple: boolean;
|
|
125
110
|
validation?: LogicRule;
|
|
111
|
+
condition?: LogicRule;
|
|
112
|
+
required: boolean;
|
|
113
|
+
options?: FieldOptionArray<JsonValue>;
|
|
126
114
|
policies?: {
|
|
127
115
|
doNotTrackValue?: boolean;
|
|
128
116
|
doNotStoreValue?: boolean;
|
|
129
117
|
};
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
export type SerializableField<T extends JsonValue = JsonValue> = {
|
|
118
|
+
}
|
|
119
|
+
export interface SerializableField<T extends JsonValue = JsonValue> {
|
|
133
120
|
id: string;
|
|
134
|
-
key: string;
|
|
135
121
|
name: string;
|
|
122
|
+
type: 'text' | 'number' | 'boolean' | 'object';
|
|
136
123
|
label: string;
|
|
137
|
-
type: 'text' | 'number' | 'object' | 'boolean';
|
|
138
|
-
multiple: boolean;
|
|
139
|
-
required: boolean;
|
|
140
|
-
defaultValue: string | number | boolean | object | null | string[] | number[] | boolean[] | object[];
|
|
141
124
|
placeholder?: string;
|
|
142
125
|
description?: string;
|
|
143
126
|
helpText?: string;
|
|
144
|
-
|
|
127
|
+
defaultValue?: JsonValue | JsonValue[] | null;
|
|
128
|
+
multiple: boolean;
|
|
129
|
+
validation?: LogicRule;
|
|
145
130
|
condition?: LogicRule;
|
|
131
|
+
required: boolean;
|
|
132
|
+
options: FieldOptionArray<JsonValue> | null;
|
|
146
133
|
policies?: {
|
|
147
134
|
doNotTrackValue?: boolean;
|
|
148
135
|
doNotStoreValue?: boolean;
|
|
149
136
|
};
|
|
150
|
-
options: {
|
|
151
|
-
id: string;
|
|
152
|
-
label: string;
|
|
153
|
-
description?: string;
|
|
154
|
-
value: JsonValue;
|
|
155
|
-
condition?: LogicRule;
|
|
156
|
-
}[] | null;
|
|
157
137
|
/**
|
|
158
138
|
* Phantom type property for TypeScript type inference.
|
|
159
139
|
* This property never exists at runtime but enables type-safe field value access.
|
|
160
|
-
*
|
|
161
140
|
* @internal
|
|
162
141
|
*/
|
|
163
142
|
__fieldType?: T;
|
|
164
|
-
} & {
|
|
165
143
|
serialize: () => Serialized<Field>;
|
|
166
|
-
}
|
|
144
|
+
}
|
|
167
145
|
export interface SerializableExperience {
|
|
168
146
|
id: string;
|
|
169
147
|
component?: AdaptedComponent;
|
|
170
148
|
name: string;
|
|
171
|
-
/** Decision logic that controls whether this experience is initialised. */
|
|
172
149
|
condition?: LogicRule | LogicValue;
|
|
173
150
|
initializeOpen?: LogicRule | LogicValue;
|
|
174
151
|
targets: ExperienceTarget[];
|
|
@@ -176,19 +153,13 @@ export interface SerializableExperience {
|
|
|
176
153
|
nodes: SerializableNode[];
|
|
177
154
|
edges: SerializableEdge[];
|
|
178
155
|
fields: SerializableField[];
|
|
179
|
-
|
|
180
|
-
/** @deprecated Use `conditions` instead. */
|
|
181
|
-
conditionals: SerializableCondition[];
|
|
156
|
+
conditionals: SerializableConditional[];
|
|
182
157
|
addStep: (stepOptions: CreateStepOptions | SerializableStep | OrphanStep, after?: {
|
|
183
158
|
node: SerializableNode | null;
|
|
184
159
|
}) => SerializableStep;
|
|
185
|
-
|
|
160
|
+
addConditional: (conditionalOptions: CreateConditionalOptions | SerializableConditional, after?: {
|
|
186
161
|
node: SerializableNode | null;
|
|
187
|
-
}) =>
|
|
188
|
-
/** @deprecated Use `addCondition` instead. */
|
|
189
|
-
addConditional: (conditionOptions: CreateConditionOptions | SerializableCondition, after?: {
|
|
190
|
-
node: SerializableNode | null;
|
|
191
|
-
}) => SerializableCondition;
|
|
162
|
+
}) => SerializableConditional;
|
|
192
163
|
addExperience: (experience: SerializableExperience, after?: {
|
|
193
164
|
node: SerializableNode | null;
|
|
194
165
|
}) => SerializableExperience;
|
|
@@ -201,25 +172,21 @@ export interface SerializableExperience {
|
|
|
201
172
|
export interface CreateExperienceOptions {
|
|
202
173
|
id: string;
|
|
203
174
|
name: string;
|
|
204
|
-
/** Decision logic that controls whether this experience is initialised. */
|
|
205
175
|
condition?: LogicRule | LogicValue;
|
|
206
176
|
initializeOpen?: LogicRule | LogicValue;
|
|
207
177
|
targets: ExperienceTarget[];
|
|
208
178
|
component?: AdaptedComponent;
|
|
209
179
|
}
|
|
210
|
-
export type OrphanStep = Omit<SerializableStep, 'nextStep' | '
|
|
180
|
+
export type OrphanStep = Omit<SerializableStep, 'nextStep' | 'nextConditional' | 'addNextExperience' | 'node' | 'serialize' | 'addField' | 'experience'> & {
|
|
211
181
|
addField: (fieldOrFieldOptions: CreateFieldOptions | SerializableField) => void;
|
|
212
182
|
};
|
|
213
183
|
export declare const createStep: (stepOptions: CreateStepOptions) => OrphanStep;
|
|
214
184
|
export declare const bindExperienceStep: (stepOptions: CreateStepOptions | OrphanStep, experience: SerializableExperience) => SerializableStep;
|
|
215
185
|
export declare const createNode: (nodeOptions: CreateNodeOptions, experience: SerializableExperience) => SerializableNode;
|
|
216
186
|
export declare const createEdge: (edgeOptions: CreateEdgeOptions, experience: SerializableExperience) => SerializableEdge;
|
|
217
|
-
export declare const
|
|
218
|
-
/** @deprecated Use `createCondition` instead. */
|
|
219
|
-
export declare function createConditional(...args: Parameters<typeof createCondition>): ReturnType<typeof createCondition>;
|
|
187
|
+
export declare const createConditional: (conditionalOptions: CreateConditionalOptions, experience: SerializableExperience) => SerializableConditional;
|
|
220
188
|
/**
|
|
221
189
|
* Creates a field with optional generic type parameter for object field type safety.
|
|
222
|
-
*
|
|
223
190
|
* @template T - The type of the object field value (only applicable for type: 'object')
|
|
224
191
|
* @param fieldOptions - The field configuration options
|
|
225
192
|
* @returns A serializable field with type information
|
|
@@ -233,6 +200,6 @@ export declare function createConditional(...args: Parameters<typeof createCondi
|
|
|
233
200
|
* const typedField = createField<MyData>({ type: 'object', ... })
|
|
234
201
|
* ```
|
|
235
202
|
*/
|
|
236
|
-
export declare const createField: <T extends JsonValue = JsonValue>(fieldOptions: CreateFieldOptions) => SerializableField<T>;
|
|
203
|
+
export declare const createField: <T extends JsonValue = JsonValue>(fieldOptions: CreateFieldOptions<T>) => SerializableField<T>;
|
|
237
204
|
export declare const createExperience: (experience: CreateExperienceOptions) => SerializableExperience;
|
|
238
205
|
//# sourceMappingURL=create-experience.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-experience.d.ts","sourceRoot":"","sources":["../../../../src/plugins/create-experience/create-experience.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAEV,UAAU,EACV,
|
|
1
|
+
{"version":3,"file":"create-experience.d.ts","sourceRoot":"","sources":["../../../../src/plugins/create-experience/create-experience.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { createExperiencePlugin } from './plugin';
|
|
2
2
|
export type * from './plugin';
|
|
3
3
|
export type * from './create-experience';
|
|
4
|
-
export {
|
|
4
|
+
export { createConditional, createEdge, createExperience, createNode, createField, createStep, } from './create-experience';
|
|
5
5
|
export { serialization } from './serialization';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/create-experience/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AACjD,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,qBAAqB,CAAA;AACxC,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/create-experience/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AACjD,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,qBAAqB,CAAA;AACxC,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,UAAU,GACX,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/create-experience/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAG1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAGjE,UAAU,6BAA6B;IACrC,WAAW,EAAE,sBAAsB,EAAE,CAAA;CACtC;AAED,eAAO,MAAM,sBAAsB,GAAI,SAAS,6BAA6B,KAAG,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/create-experience/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAG1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAGjE,UAAU,6BAA6B;IACrC,WAAW,EAAE,sBAAsB,EAAE,CAAA;CACtC;AAED,eAAO,MAAM,sBAAsB,GAAI,SAAS,6BAA6B,KAAG,MAmB/E,CAAA"}
|
|
@@ -1,28 +1,13 @@
|
|
|
1
1
|
import { Plugin } from '../../entities/plugin/plugin';
|
|
2
2
|
import { DynamicExperiencesPluginOptions, FetchProjectOptions, ProjectConfig } from './types';
|
|
3
|
-
/**
|
|
4
|
-
* Fetches the project configuration from the Picked REST API.
|
|
5
|
-
*
|
|
6
|
-
* Returns `null` on network failure, non-OK responses, or invalid JSON shape.
|
|
7
|
-
* Connection-refused errors from local URLs are suppressed silently.
|
|
8
|
-
* @param apiUrl - Base URL for the Picked API.
|
|
9
|
-
* @param projectId - Project ID to fetch config for.
|
|
10
|
-
* @param options - Optional headers and preview token.
|
|
11
|
-
* @returns Validated project config, or `null` on any failure.
|
|
12
|
-
* @example
|
|
13
|
-
* ```typescript
|
|
14
|
-
* const config = await fetchProject('https://api.picked.app', 'proj_123')
|
|
15
|
-
* ```
|
|
16
|
-
*/
|
|
17
3
|
export declare function fetchProject(apiUrl: string, projectId: string, options?: FetchProjectOptions): Promise<ProjectConfig | null>;
|
|
18
4
|
/**
|
|
19
|
-
* Plugin that fetches
|
|
20
|
-
*
|
|
5
|
+
* Plugin that fetches feature configuration from the Picked REST API
|
|
6
|
+
* and registers features with deterministic bucket allocation.
|
|
7
|
+
*
|
|
8
|
+
* Features are fetched during the `onStart` hook, before experience
|
|
9
|
+
* initialization. Search param feature overrides take precedence.
|
|
21
10
|
*
|
|
22
|
-
* Features are fetched during the `onStart` hook, before experience initialisation.
|
|
23
|
-
* Search param feature overrides take precedence over API-provided values.
|
|
24
|
-
* @param options - Optional plugin configuration.
|
|
25
|
-
* @returns A configured Picked plugin.
|
|
26
11
|
* @example
|
|
27
12
|
* ```typescript
|
|
28
13
|
* import { dynamicExperiencesPlugin } from '@picked/client/plugins/dynamic-experiences'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/dynamic-experiences/plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/dynamic-experiences/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAK1D,OAAO,KAAK,EACV,+BAA+B,EAC/B,mBAAmB,EACnB,aAAa,EAEd,MAAM,SAAS,CAAA;AA8JhB,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAmC/B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,+BAA+B,GAAG,MAAM,CAoC1F"}
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
import { ExperienceStep } from '../../entities/step/step';
|
|
2
|
-
import { Field } from '../../entities/field/field';
|
|
3
|
-
import { ExperienceEdge, ExperienceNode, ExperienceAction, ExperienceTarget } from '../../entities/experience/experience';
|
|
4
|
-
import { Condition } from '../../entities/condition/condition';
|
|
5
|
-
import { LogicRule, LogicValue } from '../../logic-engine';
|
|
6
1
|
export interface ProjectConfigFeature {
|
|
7
2
|
id: string;
|
|
8
3
|
name: string;
|
|
@@ -10,49 +5,8 @@ export interface ProjectConfigFeature {
|
|
|
10
5
|
weight: number;
|
|
11
6
|
version: number;
|
|
12
7
|
}
|
|
13
|
-
export type ProjectConfigNode = ExperienceNode;
|
|
14
|
-
/**
|
|
15
|
-
* An experience payload as returned by the API.
|
|
16
|
-
* Steps are referenced by ID only; the full step definitions live in the
|
|
17
|
-
* top-level `steps` array of ProjectConfig.
|
|
18
|
-
* Conditions are referenced by nodes via `conditionalId`; the full condition
|
|
19
|
-
* definitions live in the top-level `conditions` array of ProjectConfig.
|
|
20
|
-
*/
|
|
21
|
-
export interface ProjectConfigExperience {
|
|
22
|
-
id: string;
|
|
23
|
-
key?: string;
|
|
24
|
-
name: string;
|
|
25
|
-
/** Optional name of a pre-registered component to associate with this experience. */
|
|
26
|
-
componentName?: string;
|
|
27
|
-
/** IDs of features that gate this experience. */
|
|
28
|
-
featureIds?: string[];
|
|
29
|
-
nodes: ProjectConfigNode[];
|
|
30
|
-
edges: ExperienceEdge[];
|
|
31
|
-
actions?: ExperienceAction[];
|
|
32
|
-
/** Decision logic that controls whether this experience is initialised. */
|
|
33
|
-
condition?: LogicRule | LogicValue;
|
|
34
|
-
/** Logic that controls the initial open state of the experience. */
|
|
35
|
-
initializeOpen?: LogicRule | LogicValue;
|
|
36
|
-
/** DOM targets this experience mounts into. */
|
|
37
|
-
targets?: ExperienceTarget[];
|
|
38
|
-
}
|
|
39
8
|
export interface ProjectConfig {
|
|
40
|
-
id?: string;
|
|
41
|
-
title?: string;
|
|
42
|
-
status?: string;
|
|
43
|
-
versionId?: string;
|
|
44
|
-
workspaceId?: string;
|
|
45
9
|
features: ProjectConfigFeature[];
|
|
46
|
-
/** Experience definitions with steps and conditions referenced by ID. */
|
|
47
|
-
experiences?: ProjectConfigExperience[];
|
|
48
|
-
/** Global step definitions shared across experiences. */
|
|
49
|
-
steps?: ExperienceStep[];
|
|
50
|
-
/** Global field definitions shared across steps. */
|
|
51
|
-
fields?: Field[];
|
|
52
|
-
/** Global condition definitions referenced by experience flow nodes. */
|
|
53
|
-
conditions?: Condition[];
|
|
54
|
-
/** Action definitions (properties to be documented in future scope). */
|
|
55
|
-
actions?: unknown[];
|
|
56
10
|
}
|
|
57
11
|
export interface DynamicExperiencesPluginOptions {
|
|
58
12
|
apiUrl?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/plugins/dynamic-experiences/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/plugins/dynamic-experiences/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,oBAAoB,EAAE,CAAA;CACjC;AAED,MAAM,WAAW,+BAA+B;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Plugin } from '../../entities/plugin/plugin';
|
|
2
|
-
|
|
2
|
+
interface ExperienceBrowserStoragePlugin {
|
|
3
3
|
storage?: 'local' | 'session';
|
|
4
4
|
}
|
|
5
5
|
export declare const experienceBrowserStoragePlugin: ({ storage, }?: ExperienceBrowserStoragePlugin) => Plugin;
|
|
6
|
+
export {};
|
|
6
7
|
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/experience-browser-storage/plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAK1D,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/experience-browser-storage/plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAK1D,UAAU,8BAA8B;IACtC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B;AAED,eAAO,MAAM,8BAA8B,GAAI,eAE5C,8BAAmC,KAAG,MA6CxC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/history-browser-storage/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAK1D,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B;AAED,eAAO,MAAM,2BAA2B,GAAI,eAEzC,2BAAgC,KAAG,MA4BrC,CAAA"}
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/history-browser-storage/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAK1D,cAAc;AACd,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B;AAED,eAAO,MAAM,2BAA2B,GAAI,eAEzC,2BAAgC,KAAG,MA4BrC,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Plugin } from '../../entities/plugin/plugin';
|
|
2
|
-
|
|
2
|
+
interface ResponsesBrowserStoragePlugin {
|
|
3
3
|
storage?: 'local' | 'session';
|
|
4
4
|
}
|
|
5
5
|
export declare const responsesBrowserStoragePlugin: ({ storage, }?: ResponsesBrowserStoragePlugin) => Plugin;
|
|
6
|
+
export {};
|
|
6
7
|
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/responses-browser-storage/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAK1D,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/responses-browser-storage/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAK1D,UAAU,6BAA6B;IACrC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B;AAkBD,eAAO,MAAM,6BAA6B,GAAI,eAE3C,6BAAkC,KAAG,MAsCvC,CAAA"}
|