@picked/client 0.0.1-dev.1773807602703 → 0.0.1-dev.1773878362211
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-GlH9T8_1.js → api-4YC7Dkcf.js} +1 -1
- package/dist/{api-GvmToTw0.cjs → api-dQTozK5u.cjs} +1 -1
- 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/server/index.js +1 -1
- package/dist/esm/form/index.js +393 -0
- package/dist/esm/index.js +684 -771
- package/dist/esm/plugins/create-experience/index.js +284 -360
- package/dist/esm/plugins/dynamic-experiences/index.js +78 -145
- package/dist/esm/plugins/experience-browser-storage/index.js +1 -1
- package/dist/esm/plugins/history-browser-storage/index.js +1 -1
- package/dist/esm/plugins/responses-browser-storage/index.js +1 -1
- package/dist/esm/plugins/responses-indexeddb/index.js +51 -46
- package/dist/esm/plugins/single-page-app/index.js +24 -24
- package/dist/esm/server/index.js +1 -1
- package/dist/experience-instance-Bd4kkjE6.js +559 -0
- package/dist/experience-instance-UAZPiG2b.cjs +1 -0
- package/dist/{object-JwZ58NOH.js → object-CJssU1Pm.js} +1 -1
- package/dist/object-mwaxtjLG.cjs +1 -0
- package/dist/rules-logic-CZfip-Wl.js +265 -0
- package/dist/rules-logic-Cgia6n5p.cjs +1 -0
- package/dist/storage-58NoTSsc.cjs +1 -0
- package/dist/{storage-Co_LbKr_.js → storage-B2d81EOI.js} +35 -30
- 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/project/project.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 +56 -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 -2
- 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 -41
- package/dist/types/picked.d.ts.map +1 -1
- package/dist/types/plugins/create-experience/create-experience.d.ts +41 -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 +2 -1
- 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 +27 -3
- package/dist/experience-instance-CxiOyYPf.cjs +0 -1
- package/dist/experience-instance-DCknHRkX.js +0 -804
- package/dist/nodes-DQt4TfuO.js +0 -26
- package/dist/nodes-DsL8kMSX.cjs +0 -1
- package/dist/object-BbFTsGh3.cjs +0 -1
- package/dist/storage-Be5xWNPC.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/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,9 +8,7 @@ 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 {
|
|
@@ -31,7 +29,7 @@ export declare class Picked {
|
|
|
31
29
|
readonly precondition?: LogicRule | boolean;
|
|
32
30
|
readonly condition?: LogicRule | boolean;
|
|
33
31
|
preconditionPassed?: boolean;
|
|
34
|
-
readonly searchParams: import('
|
|
32
|
+
readonly searchParams: import('.').PickedSearchParams;
|
|
35
33
|
readonly history: {
|
|
36
34
|
push: import('effector').EventCallable<{
|
|
37
35
|
experienceId: string;
|
|
@@ -68,10 +66,8 @@ export declare class Picked {
|
|
|
68
66
|
};
|
|
69
67
|
readonly experiences: {
|
|
70
68
|
register: (experience: Experience) => void;
|
|
71
|
-
get: (
|
|
69
|
+
get: (id: Experience["id"]) => import('effector').Store<{
|
|
72
70
|
id: string;
|
|
73
|
-
key: string | undefined;
|
|
74
|
-
name: string;
|
|
75
71
|
configStore: import('effector').Store<{
|
|
76
72
|
name: string;
|
|
77
73
|
decisionLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
@@ -79,11 +75,12 @@ export declare class Picked {
|
|
|
79
75
|
initializeOpenLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
80
76
|
}>;
|
|
81
77
|
treeStore: import('effector').Store<{
|
|
82
|
-
steps:
|
|
78
|
+
steps: import('.').ExperienceStep[];
|
|
83
79
|
nodes: import('.').ExperienceNode[];
|
|
84
80
|
edges: import('.').ExperienceEdge[];
|
|
85
|
-
|
|
81
|
+
conditionals: import('.').ExperienceConditional[];
|
|
86
82
|
}>;
|
|
83
|
+
fieldsStore: import('effector').Store<Field[]>;
|
|
87
84
|
componentStore: import('effector').Store<{
|
|
88
85
|
name: string;
|
|
89
86
|
component: AdaptedComponent<string, unknown>;
|
|
@@ -95,10 +92,8 @@ export declare class Picked {
|
|
|
95
92
|
strategy: "override";
|
|
96
93
|
}>;
|
|
97
94
|
} | undefined>;
|
|
98
|
-
getById: (
|
|
95
|
+
getById: (id: Experience["id"]) => import('effector').Store<{
|
|
99
96
|
id: string;
|
|
100
|
-
key: string | undefined;
|
|
101
|
-
name: string;
|
|
102
97
|
configStore: import('effector').Store<{
|
|
103
98
|
name: string;
|
|
104
99
|
decisionLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
@@ -106,11 +101,12 @@ export declare class Picked {
|
|
|
106
101
|
initializeOpenLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
107
102
|
}>;
|
|
108
103
|
treeStore: import('effector').Store<{
|
|
109
|
-
steps:
|
|
104
|
+
steps: import('.').ExperienceStep[];
|
|
110
105
|
nodes: import('.').ExperienceNode[];
|
|
111
106
|
edges: import('.').ExperienceEdge[];
|
|
112
|
-
|
|
107
|
+
conditionals: import('.').ExperienceConditional[];
|
|
113
108
|
}>;
|
|
109
|
+
fieldsStore: import('effector').Store<Field[]>;
|
|
114
110
|
componentStore: import('effector').Store<{
|
|
115
111
|
name: string;
|
|
116
112
|
component: AdaptedComponent<string, unknown>;
|
|
@@ -132,8 +128,6 @@ export declare class Picked {
|
|
|
132
128
|
}, void, Error>;
|
|
133
129
|
listStore: import('effector').Store<{
|
|
134
130
|
id: string;
|
|
135
|
-
key: string | undefined;
|
|
136
|
-
name: string;
|
|
137
131
|
configStore: import('effector').Store<{
|
|
138
132
|
name: string;
|
|
139
133
|
decisionLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
@@ -141,11 +135,12 @@ export declare class Picked {
|
|
|
141
135
|
initializeOpenLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
142
136
|
}>;
|
|
143
137
|
treeStore: import('effector').Store<{
|
|
144
|
-
steps:
|
|
138
|
+
steps: import('.').ExperienceStep[];
|
|
145
139
|
nodes: import('.').ExperienceNode[];
|
|
146
140
|
edges: import('.').ExperienceEdge[];
|
|
147
|
-
|
|
141
|
+
conditionals: import('.').ExperienceConditional[];
|
|
148
142
|
}>;
|
|
143
|
+
fieldsStore: import('effector').Store<Field[]>;
|
|
149
144
|
componentStore: import('effector').Store<{
|
|
150
145
|
name: string;
|
|
151
146
|
component: AdaptedComponent<string, unknown>;
|
|
@@ -179,20 +174,6 @@ export declare class Picked {
|
|
|
179
174
|
listStore: import('effector').Store<import('.').FeatureBucket[]>;
|
|
180
175
|
getEvokableFeature: (featureName: string) => import('effector').Store<() => Promise<boolean | string | undefined>>;
|
|
181
176
|
};
|
|
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
177
|
readonly responses: {
|
|
197
178
|
register: {
|
|
198
179
|
(fieldId: Field["id"], response: import('.').Response): void;
|
|
@@ -209,20 +190,23 @@ export declare class Picked {
|
|
|
209
190
|
}>;
|
|
210
191
|
listStore: import('effector').Store<{
|
|
211
192
|
fieldId: string;
|
|
212
|
-
|
|
213
|
-
value: import('.').FieldValue;
|
|
193
|
+
value: import('.').FieldValue | undefined;
|
|
214
194
|
}[]>;
|
|
215
195
|
getAllStore: import('effector').Store<{
|
|
216
196
|
[fieldId: string]: import('.').FieldValue;
|
|
217
197
|
}>;
|
|
218
|
-
getByFieldId:
|
|
219
|
-
|
|
198
|
+
getByFieldId: {
|
|
199
|
+
(fieldId: Field["id"]): import('effector').Store<import('.').FieldValue>;
|
|
200
|
+
<T extends import('.').JsonValue>(fieldId: Field["id"]): import('effector').Store<T | null>;
|
|
201
|
+
};
|
|
220
202
|
getByFieldName: (fieldName: Field["name"]) => import('effector').Store<import('.').FieldValue>;
|
|
221
203
|
};
|
|
222
|
-
readonly
|
|
223
|
-
register: (
|
|
224
|
-
|
|
225
|
-
|
|
204
|
+
readonly fields: {
|
|
205
|
+
register: (field: Field) => void;
|
|
206
|
+
update: (fieldId: import('.').FieldBase["id"], updates: Partial<Field>) => void;
|
|
207
|
+
getById: (id: import('.').FieldBase["id"]) => import('effector').Store<Field | null>;
|
|
208
|
+
listStore: import('effector').Store<Field[]>;
|
|
209
|
+
getByName: (name: import('.').FieldBase["name"]) => import('effector').Store<Field | null>;
|
|
226
210
|
};
|
|
227
211
|
readonly actions: {
|
|
228
212
|
register: (name: string, action: Action) => void;
|
|
@@ -237,9 +221,7 @@ export declare class Picked {
|
|
|
237
221
|
registerPlugin: (plugin: Plugin) => void;
|
|
238
222
|
registerFeature: (name: string, feature: Feature) => void;
|
|
239
223
|
registerPredicate: (name: string, predicate: Predicate) => void;
|
|
240
|
-
registerCondition: (condition: Condition) => void;
|
|
241
224
|
registerField: (field: Field) => void;
|
|
242
|
-
registerStep: (step: ExperienceStep) => void;
|
|
243
225
|
registerAction: (name: string, action: Action) => void;
|
|
244
226
|
registerExperience: (experience: Experience) => void;
|
|
245
227
|
getStateSnapshot: () => StateSnapshot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picked.d.ts","sourceRoot":"","sources":["../../src/picked.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,UAAU,EAEf,KAAK,uBAAuB,EAE7B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,iBAAiB,EAAe,MAAM,0BAA0B,CAAA;AAC3F,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAEL,KAAK,SAAS,EAEf,MAAM,gCAAgC,CAAA;AAGvC,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAE/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAKzD,OAAO,EAAsB,KAAK,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAEnD,OAAO,KAAK,EAAE,
|
|
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
|
-
|
|
186
|
-
node: SerializableNode | null;
|
|
187
|
-
}) => SerializableCondition;
|
|
188
|
-
/** @deprecated Use `addCondition` instead. */
|
|
189
|
-
addConditional: (conditionOptions: CreateConditionOptions | SerializableCondition, after?: {
|
|
160
|
+
addConditional: (conditionalOptions: CreateConditionalOptions | SerializableConditional, after?: {
|
|
190
161
|
node: SerializableNode | null;
|
|
191
|
-
}) =>
|
|
162
|
+
}) => SerializableConditional;
|
|
192
163
|
addExperience: (experience: SerializableExperience, after?: {
|
|
193
164
|
node: SerializableNode | null;
|
|
194
165
|
}) => SerializableExperience;
|
|
@@ -201,25 +172,25 @@ 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;
|
|
176
|
+
/**
|
|
177
|
+
* Alias for `condition`. When both are provided, `decide` takes precedence.
|
|
178
|
+
*/
|
|
179
|
+
decide?: LogicRule | LogicValue;
|
|
206
180
|
initializeOpen?: LogicRule | LogicValue;
|
|
207
181
|
targets: ExperienceTarget[];
|
|
208
182
|
component?: AdaptedComponent;
|
|
209
183
|
}
|
|
210
|
-
export type OrphanStep = Omit<SerializableStep, 'nextStep' | '
|
|
184
|
+
export type OrphanStep = Omit<SerializableStep, 'nextStep' | 'nextConditional' | 'addNextExperience' | 'node' | 'serialize' | 'addField' | 'experience'> & {
|
|
211
185
|
addField: (fieldOrFieldOptions: CreateFieldOptions | SerializableField) => void;
|
|
212
186
|
};
|
|
213
187
|
export declare const createStep: (stepOptions: CreateStepOptions) => OrphanStep;
|
|
214
188
|
export declare const bindExperienceStep: (stepOptions: CreateStepOptions | OrphanStep, experience: SerializableExperience) => SerializableStep;
|
|
215
189
|
export declare const createNode: (nodeOptions: CreateNodeOptions, experience: SerializableExperience) => SerializableNode;
|
|
216
190
|
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>;
|
|
191
|
+
export declare const createConditional: (conditionalOptions: CreateConditionalOptions, experience: SerializableExperience) => SerializableConditional;
|
|
220
192
|
/**
|
|
221
193
|
* Creates a field with optional generic type parameter for object field type safety.
|
|
222
|
-
*
|
|
223
194
|
* @template T - The type of the object field value (only applicable for type: 'object')
|
|
224
195
|
* @param fieldOptions - The field configuration options
|
|
225
196
|
* @returns A serializable field with type information
|
|
@@ -233,6 +204,6 @@ export declare function createConditional(...args: Parameters<typeof createCondi
|
|
|
233
204
|
* const typedField = createField<MyData>({ type: 'object', ... })
|
|
234
205
|
* ```
|
|
235
206
|
*/
|
|
236
|
-
export declare const createField: <T extends JsonValue = JsonValue>(fieldOptions: CreateFieldOptions) => SerializableField<T>;
|
|
207
|
+
export declare const createField: <T extends JsonValue = JsonValue>(fieldOptions: CreateFieldOptions<T>) => SerializableField<T>;
|
|
237
208
|
export declare const createExperience: (experience: CreateExperienceOptions) => SerializableExperience;
|
|
238
209
|
//# 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,6 +1,7 @@
|
|
|
1
1
|
import { Plugin } from '../../entities/plugin/plugin';
|
|
2
|
-
|
|
2
|
+
interface HistoryBrowserStoragePlugin {
|
|
3
3
|
storage?: 'local' | 'session';
|
|
4
4
|
}
|
|
5
5
|
export declare const historyBrowserStoragePlugin: ({ storage, }?: HistoryBrowserStoragePlugin) => Plugin;
|
|
6
|
+
export {};
|
|
6
7
|
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -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,
|
|
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,UAAU,2BAA2B;IACnC,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"}
|