@picked/client 0.0.62-next.2 → 0.0.62-next.4
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-Cfb-8mqu.js → api-D-_eTc_P.js} +1 -1
- package/dist/{api-C-Q9t21v.cjs → api-EHKlffsC.cjs} +1 -1
- package/dist/cjs/form/index.js +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/plugins/create-experience/index.js +1 -1
- package/dist/cjs/plugins/dom-observer/index.js +1 -0
- 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/single-page-app/index.js +1 -1
- package/dist/cjs/plugins/web-components/index.js +1 -1
- package/dist/cjs/server/index.js +1 -1
- package/dist/dom-C3C6Fmwz.cjs +1 -0
- package/dist/dom-DGePXPpM.js +84 -0
- package/dist/esm/form/index.js +1 -1
- package/dist/esm/index.js +948 -469
- package/dist/esm/plugins/create-experience/index.js +1 -1
- package/dist/esm/plugins/dom-observer/index.js +87 -0
- package/dist/esm/plugins/dynamic-experiences/index.js +51 -49
- package/dist/esm/plugins/experience-browser-storage/index.js +9 -6
- 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/single-page-app/index.js +1 -1
- package/dist/esm/plugins/web-components/index.js +1 -1
- package/dist/esm/server/index.js +23 -13
- package/dist/experience-instance-DImym3m_.js +419 -0
- package/dist/experience-instance-DygAdzbn.cjs +1 -0
- package/dist/rules-logic-D_CVBuv7.js +13 -0
- package/dist/rules-logic-H6P8xwHF.cjs +1 -0
- package/dist/types/entities/action/action.d.ts +6 -3
- package/dist/types/entities/action/action.d.ts.map +1 -1
- package/dist/types/entities/component/component.d.ts +39 -2
- package/dist/types/entities/component/component.d.ts.map +1 -1
- package/dist/types/entities/experience/experience.d.ts +49 -113
- package/dist/types/entities/experience/experience.d.ts.map +1 -1
- package/dist/types/entities/experience-instance/experience-instance.d.ts +17 -2
- package/dist/types/entities/experience-instance/experience-instance.d.ts.map +1 -1
- package/dist/types/entities/feature/feature.d.ts +26 -2
- package/dist/types/entities/feature/feature.d.ts.map +1 -1
- package/dist/types/entities/field/field.d.ts.map +1 -1
- package/dist/types/entities/framework/framework.d.ts +24 -3
- package/dist/types/entities/framework/framework.d.ts.map +1 -1
- package/dist/types/entities/plugin/plugin.d.ts +32 -1
- package/dist/types/entities/plugin/plugin.d.ts.map +1 -1
- package/dist/types/entities/predicate/predicate.d.ts +24 -3
- package/dist/types/entities/predicate/predicate.d.ts.map +1 -1
- package/dist/types/entities/session/session.d.ts +45 -0
- package/dist/types/entities/session/session.d.ts.map +1 -0
- package/dist/types/exports.d.ts +8 -4
- package/dist/types/exports.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lifecycle/lifecycle.d.ts +47 -0
- package/dist/types/lifecycle/lifecycle.d.ts.map +1 -0
- package/dist/types/lifecycle/rules-logic.d.ts +24 -0
- package/dist/types/lifecycle/rules-logic.d.ts.map +1 -0
- package/dist/types/lifecycle/state-snapshot.d.ts +37 -0
- package/dist/types/lifecycle/state-snapshot.d.ts.map +1 -0
- package/dist/types/logic-engine.d.ts +1 -1
- package/dist/types/logic-engine.d.ts.map +1 -1
- package/dist/types/picked.d.ts +102 -186
- package/dist/types/picked.d.ts.map +1 -1
- package/dist/types/plugins/dom-observer/index.d.ts +3 -0
- package/dist/types/plugins/dom-observer/index.d.ts.map +1 -0
- package/dist/types/plugins/dom-observer/plugin.d.ts +50 -0
- package/dist/types/plugins/dom-observer/plugin.d.ts.map +1 -0
- package/dist/types/plugins/dynamic-experiences/plugin.d.ts.map +1 -1
- package/dist/types/plugins/experience-browser-storage/plugin.d.ts.map +1 -1
- package/dist/types/plugins/web-components/plugin.d.ts.map +1 -1
- package/dist/types/server/index.d.ts +7 -0
- package/dist/types/server/index.d.ts.map +1 -1
- package/dist/types/utils/events.d.ts +1 -1
- package/dist/types/utils/events.d.ts.map +1 -1
- package/dist/types/utils/rules-logic.d.ts +4 -9
- package/dist/types/utils/rules-logic.d.ts.map +1 -1
- package/package.json +12 -2
- package/dist/experience-instance-DC2gKwA6.cjs +0 -1
- package/dist/experience-instance-DJaNc5Ob.js +0 -486
- package/dist/rules-logic-BTIxfrJJ.js +0 -240
- package/dist/rules-logic-DNLOv90w.cjs +0 -1
- package/dist/types/utils/state-snaphot.d.ts +0 -26
- package/dist/types/utils/state-snaphot.d.ts.map +0 -1
- package/dist/types/utils/user-session.d.ts +0 -12
- package/dist/types/utils/user-session.d.ts.map +0 -1
- /package/dist/{id-Bv44ilEo.cjs → id-Cg7fVl1O.cjs} +0 -0
- /package/dist/{id-CRqy981z.js → id-n2yrHvNo.js} +0 -0
- /package/dist/{object-C82v79xc.js → object-DvUDOytC.js} +0 -0
- /package/dist/{object-CUJOjanb.cjs → object-ThO1DEyl.cjs} +0 -0
- /package/dist/{storage-B6lQtc4-.cjs → storage-BXSlLTRa.cjs} +0 -0
- /package/dist/{storage-6Xk0uAxB.js → storage-hOHCCXvP.js} +0 -0
package/dist/types/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export type * from './entities/framework/framework';
|
|
|
13
13
|
export type * from './entities/history/history';
|
|
14
14
|
export type * from './entities/plugin/plugin';
|
|
15
15
|
export type * from './entities/predicate/predicate';
|
|
16
|
-
export type * from './
|
|
16
|
+
export type * from './lifecycle/state-snapshot';
|
|
17
17
|
export type * from './utils/events';
|
|
18
18
|
export type * from './utils/search-params';
|
|
19
19
|
export type * from './entities/response/response';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,0BAA0B,CAAA;AAC7C,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,oCAAoC,CAAA;AACvD,mBAAmB,oDAAoD,CAAA;AACvE,mBAAmB,kCAAkC,CAAA;AACrD,mBAAmB,sBAAsB,CAAA;AACzC,mBAAmB,4BAA4B,CAAA;AAC/C,mBAAmB,wBAAwB,CAAA;AAC3C,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,4BAA4B,CAAA;AAC/C,mBAAmB,0BAA0B,CAAA;AAC7C,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,0BAA0B,CAAA;AAC7C,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,oCAAoC,CAAA;AACvD,mBAAmB,oDAAoD,CAAA;AACvE,mBAAmB,kCAAkC,CAAA;AACrD,mBAAmB,sBAAsB,CAAA;AACzC,mBAAmB,4BAA4B,CAAA;AAC/C,mBAAmB,wBAAwB,CAAA;AAC3C,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,4BAA4B,CAAA;AAC/C,mBAAmB,0BAA0B,CAAA;AAC7C,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,4BAA4B,CAAA;AAC/C,mBAAmB,gBAAgB,CAAA;AACnC,mBAAmB,uBAAuB,CAAA;AAC1C,mBAAmB,8BAA8B,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Effect, EventCallable, StoreWritable } from 'effector';
|
|
2
|
+
import { Picked } from '../picked';
|
|
3
|
+
import { LogicRule } from '../logic-engine';
|
|
4
|
+
/** Discrete stages of the SDK lifecycle. */
|
|
5
|
+
export type LifecycleStage = 'idle' | 'starting' | 'ready' | 'failed';
|
|
6
|
+
/** A logic-engine gate rule, a literal boolean override, or `undefined` to indicate no gate is configured. */
|
|
7
|
+
type GateConfig = LogicRule | boolean | undefined;
|
|
8
|
+
/** Public effector units exposed by the lifecycle module. */
|
|
9
|
+
interface Lifecycle {
|
|
10
|
+
/** Public trigger — fires the start chain. `await allSettled(start, { scope })` resolves once the chain has fully settled. */
|
|
11
|
+
start: EventCallable<void>;
|
|
12
|
+
/** Reactive store of the readiness flag. */
|
|
13
|
+
readyStore: StoreWritable<boolean>;
|
|
14
|
+
/** Reactive store of the precondition-gate result (`undefined` until `start` is fired). */
|
|
15
|
+
preconditionPassedStore: StoreWritable<boolean | undefined>;
|
|
16
|
+
/** Reactive store of the condition-gate result (`undefined` until `start` is fired). */
|
|
17
|
+
conditionPassedStore: StoreWritable<boolean | undefined>;
|
|
18
|
+
/** Reactive store of the current lifecycle stage. */
|
|
19
|
+
lifecycleStageStore: StoreWritable<LifecycleStage>;
|
|
20
|
+
/** Event — registers a plugin onStart hook effect. */
|
|
21
|
+
registerPluginStartHook: EventCallable<Effect<void, void, Error>>;
|
|
22
|
+
/** Event — sets the precondition gate rule (called once during construction). */
|
|
23
|
+
setPrecondition: EventCallable<GateConfig>;
|
|
24
|
+
/** Event — sets the condition gate rule (called once during construction). */
|
|
25
|
+
setCondition: EventCallable<GateConfig>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Creates the lifecycle module for a Picked client. Owns the start chain as an effector
|
|
29
|
+
* event graph: `start` triggers a fan-out of effects (ping, plugin hooks, domInteractive)
|
|
30
|
+
* whose `.done` events drive the next phases via `sample`.
|
|
31
|
+
*
|
|
32
|
+
* @param {object} params - Factory params.
|
|
33
|
+
* @param {Picked} params.client - The Picked client instance.
|
|
34
|
+
* @returns {Lifecycle} The lifecycle module exposing public events and read-only reactive stores.
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* const lifecycle = createLifecycle({ client })
|
|
38
|
+
* lifecycle.setPrecondition(myRule)
|
|
39
|
+
* lifecycle.start()
|
|
40
|
+
* await allSettled(lifecycle.start, { scope })
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare function createLifecycle(params: {
|
|
44
|
+
client: Picked;
|
|
45
|
+
}): Lifecycle;
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/lifecycle.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,OAAO,EAOL,KAAK,MAAM,EACX,KAAK,aAAa,EAElB,KAAK,aAAa,EACnB,MAAM,UAAU,CAAA;AAEjB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAOhD,4CAA4C;AAC5C,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAA;AAErE,8GAA8G;AAC9G,KAAK,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;AAEjD,6DAA6D;AAC7D,UAAU,SAAS;IACjB,8HAA8H;IAC9H,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IAE1B,4CAA4C;IAC5C,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAClC,2FAA2F;IAC3F,uBAAuB,EAAE,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC,CAAA;IAC3D,wFAAwF;IACxF,oBAAoB,EAAE,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC,CAAA;IACxD,qDAAqD;IACrD,mBAAmB,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IAElD,sDAAsD;IACtD,uBAAuB,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IAEjE,iFAAiF;IACjF,eAAe,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;IAC1C,8EAA8E;IAC9E,YAAY,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;CACxC;AAqOD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAErE"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Effect } from 'effector';
|
|
2
|
+
import { LogicObject, LogicRule } from '../logic-engine';
|
|
3
|
+
import { Picked } from '../picked';
|
|
4
|
+
/** Parameters for `evaluateRuleLogicFx` — the rule to evaluate and an optional context override. */
|
|
5
|
+
export interface EvaluateRuleLogicParams {
|
|
6
|
+
rule: LogicRule;
|
|
7
|
+
context?: LogicObject;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Creates an effector effect that evaluates a json-logic rule against the client's reactive state. The effect uses `attach({ source })` so all reads are scope-aware and reactive — no `.getState()` calls.
|
|
11
|
+
*
|
|
12
|
+
* @param {object} params - Factory params.
|
|
13
|
+
* @param {Picked} params.client - The Picked client instance whose stores back the evaluation context.
|
|
14
|
+
* @returns {Effect<EvaluateRuleLogicParams, unknown, Error>} An effect that evaluates a rule and resolves to the result.
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* const evaluateRuleLogicFx = createEvaluateRuleLogicFx({ client })
|
|
18
|
+
* const result = await evaluateRuleLogicFx({ rule: someRule, context: { extra: 'data' } })
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare function createEvaluateRuleLogicFx(params: {
|
|
22
|
+
client: Picked;
|
|
23
|
+
}): Effect<EvaluateRuleLogicParams, unknown, Error>;
|
|
24
|
+
//# sourceMappingURL=rules-logic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules-logic.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/rules-logic.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AAE9C,OAAO,KAAK,EAAgB,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAEvC,oGAAoG;AACpG,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB;AAuED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,MAAM,CAAC,uBAAuB,EAAE,OAAO,EAAE,KAAK,CAAC,CAElD"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Store } from 'effector';
|
|
2
|
+
import { Picked } from '../picked';
|
|
3
|
+
import { Field, FieldValue } from '../entities/field/field';
|
|
4
|
+
/** Immutable snapshot of the current client state, suitable for passing to user-supplied predicates, actions, and rule evaluators. */
|
|
5
|
+
export interface StateSnapshot {
|
|
6
|
+
client: Picked;
|
|
7
|
+
location?: Window['location'];
|
|
8
|
+
document?: Window['document'];
|
|
9
|
+
sessionStorage?: Window['sessionStorage'];
|
|
10
|
+
localStorage?: Window['localStorage'];
|
|
11
|
+
responses: {
|
|
12
|
+
fieldKey: string;
|
|
13
|
+
value: FieldValue | undefined;
|
|
14
|
+
}[];
|
|
15
|
+
fields: Field[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Creates a reactive store that always reflects the current client state — responses, fields, browser globals, and the client reference.
|
|
19
|
+
*
|
|
20
|
+
* Consumers reading the snapshot inside an effect should use `attach({ source: stateSnapshotStore })` rather than `.getState()` so reads remain scope-aware and reactive.
|
|
21
|
+
*
|
|
22
|
+
* @param {object} params - Factory params.
|
|
23
|
+
* @param {Picked} params.client - The Picked client instance to derive the snapshot from.
|
|
24
|
+
* @returns {Store<StateSnapshot>} A derived store of the current state snapshot.
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* const stateSnapshotStore = createStateSnapshotStore({ client })
|
|
28
|
+
* const evaluateFx = attach({
|
|
29
|
+
* source: stateSnapshotStore,
|
|
30
|
+
* effect: (snapshot, rule) => evaluate(snapshot, rule),
|
|
31
|
+
* })
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function createStateSnapshotStore(params: {
|
|
35
|
+
client: Picked;
|
|
36
|
+
}): Store<StateSnapshot>;
|
|
37
|
+
//# sourceMappingURL=state-snapshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-snapshot.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/state-snapshot.ts"],"names":[],"mappings":"AAAA,gIAAgI;AAChI,OAAO,EAAW,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AAE9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEhE,sIAAsI;AACtI,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAA;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAA;IACrC,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM,CAAA;QAChB,KAAK,EAAE,UAAU,GAAG,SAAS,CAAA;KAC9B,EAAE,CAAA;IACH,MAAM,EAAE,KAAK,EAAE,CAAA;CAChB;AA0BD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,aAAa,CAAC,CAEzF"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* For the original implementation, see https://github.com/jwadhams/json-logic-js.
|
|
5
5
|
*/
|
|
6
6
|
export type SyncLogicValue = string | number | boolean | null | undefined | LogicArray | LogicObject;
|
|
7
|
-
export type LogicValue = SyncLogicValue | (() => LogicValue) | (() => Promise<SyncLogicValue>) | Promise<SyncLogicValue>;
|
|
7
|
+
export type LogicValue = SyncLogicValue | ((...args: unknown[]) => LogicValue) | ((...args: unknown[]) => Promise<SyncLogicValue>) | Promise<SyncLogicValue>;
|
|
8
8
|
export interface LogicObject {
|
|
9
9
|
[key: string]: LogicValue;
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logic-engine.d.ts","sourceRoot":"","sources":["../../src/logic-engine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,CAAA;AAEpG,MAAM,MAAM,UAAU,GAClB,cAAc,GACd,CAAC,
|
|
1
|
+
{"version":3,"file":"logic-engine.d.ts","sourceRoot":"","sources":["../../src/logic-engine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,CAAA;AAEpG,MAAM,MAAM,UAAU,GAClB,cAAc,GACd,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAC,GACpC,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC,GACjD,OAAO,CAAC,cAAc,CAAC,CAAA;AAE3B,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;CAC1B;AAED,KAAK,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAA;AAEnC,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,SAAS,GACT,SAAS,EAAE,GACX,cAAc,EAAE,CAAA;AAEpB,MAAM,WAAW,SAAS;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,cAAc,EAAE,CAAA;CACjD;AAED,MAAM,MAAM,YAAY,GACpB;IACE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;CAC1B,GACD,UAAU,CAAA;AAuSd;;;;;;;GAOG;AAEH,wBAAsB,KAAK,CACzB,KAAK,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,EAC3C,IAAI,CAAC,EAAE,YAAY,GAClB,OAAO,CAAC,UAAU,CAAC,CAmJrB"}
|
package/dist/types/picked.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import { Effect, EventCallable, Store, StoreWritable } from 'effector';
|
|
1
2
|
import { Experience, LaunchExperienceOptions } from './entities/experience/experience';
|
|
2
3
|
import { Plugin, PluginConfigIndex } from './entities/plugin/plugin';
|
|
3
4
|
import { CreateClientOptions } from './client';
|
|
4
5
|
import { AdaptedComponent } from './entities/component/component';
|
|
5
6
|
import { Framework } from './entities/framework/framework';
|
|
6
|
-
import { StateSnapshot } from './
|
|
7
|
+
import { StateSnapshot } from './lifecycle/state-snapshot';
|
|
8
|
+
import { EvaluateRuleLogicParams } from './lifecycle/rules-logic';
|
|
9
|
+
import { LifecycleStage } from './lifecycle/lifecycle';
|
|
7
10
|
import { Predicate } from './entities/predicate/predicate';
|
|
8
11
|
import { Feature } from './entities/feature/feature';
|
|
9
12
|
import { EventBusPayload, EventHistoryStore } from './utils/events';
|
|
@@ -11,204 +14,133 @@ import { Field } from './entities/field/field';
|
|
|
11
14
|
import { ExperienceStep } from './entities/step/step';
|
|
12
15
|
import { Action } from './entities/action/action';
|
|
13
16
|
import { Condition } from './entities/condition/condition';
|
|
14
|
-
import {
|
|
15
|
-
import { LogicRule } from './logic-engine';
|
|
17
|
+
import { SessionEntity } from './entities/session/session';
|
|
16
18
|
export declare class Picked {
|
|
17
19
|
static readonly logger: (level: "log" | "warn" | "info" | "error", ...args: Parameters<Console["log"]>) => void;
|
|
18
20
|
private readonly options;
|
|
19
|
-
isReady: boolean;
|
|
20
21
|
private readonly plugins;
|
|
21
|
-
|
|
22
|
-
readonly eventBus: import('effector').EventCallable<EventBusPayload>;
|
|
22
|
+
readonly eventBus: EventCallable<EventBusPayload>;
|
|
23
23
|
readonly events: EventHistoryStore;
|
|
24
24
|
readonly projectId: string;
|
|
25
25
|
readonly apiUrl: string;
|
|
26
26
|
readonly dashboardUrl: string;
|
|
27
27
|
readonly documentationSiteUrl: string;
|
|
28
|
-
readonly session
|
|
29
|
-
readonly precondition?: LogicRule | boolean;
|
|
30
|
-
readonly condition?: LogicRule | boolean;
|
|
31
|
-
preconditionPassed?: boolean;
|
|
28
|
+
readonly session: SessionEntity;
|
|
32
29
|
readonly searchParams: import('.').PickedSearchParams;
|
|
33
30
|
readonly history: {
|
|
34
|
-
push:
|
|
31
|
+
push: EventCallable<{
|
|
35
32
|
experienceId: string;
|
|
36
33
|
node: import('.').ExperienceNode;
|
|
37
34
|
}>;
|
|
38
|
-
replace:
|
|
35
|
+
replace: EventCallable<{
|
|
39
36
|
experienceId: string;
|
|
40
37
|
node: import('.').ExperienceNode;
|
|
41
38
|
}>;
|
|
42
|
-
back:
|
|
39
|
+
back: EventCallable<{
|
|
43
40
|
experienceId?: string;
|
|
44
41
|
}>;
|
|
45
|
-
restore:
|
|
42
|
+
restore: EventCallable<{
|
|
46
43
|
entries: import('.').HistoryEntry[];
|
|
47
44
|
}>;
|
|
48
|
-
entriesStore:
|
|
45
|
+
entriesStore: Store<import('.').HistoryEntry[]>;
|
|
49
46
|
};
|
|
50
47
|
readonly components: {
|
|
51
|
-
register:
|
|
52
|
-
|
|
48
|
+
register: EventCallable<{
|
|
49
|
+
name: string;
|
|
50
|
+
component: AdaptedComponent;
|
|
51
|
+
}>;
|
|
52
|
+
getByName: (name: string) => Store<{
|
|
53
53
|
name: string;
|
|
54
54
|
component: AdaptedComponent;
|
|
55
55
|
} | undefined>;
|
|
56
|
-
listStore:
|
|
56
|
+
listStore: Store<{
|
|
57
57
|
name: string;
|
|
58
58
|
component: AdaptedComponent<string, unknown>;
|
|
59
|
-
frameworkStore:
|
|
59
|
+
frameworkStore: Store<Framework | undefined>;
|
|
60
60
|
}[]>;
|
|
61
61
|
};
|
|
62
62
|
readonly experienceInstances: {
|
|
63
63
|
spawn: (experience: import('.').ExperienceStore, target: HTMLElement, options?: LaunchExperienceOptions) => void;
|
|
64
|
-
getByExperienceKey: (key: Experience["key"]) =>
|
|
65
|
-
getByExperienceId: (id: Experience["id"]) =>
|
|
66
|
-
listStore:
|
|
64
|
+
getByExperienceKey: (key: Experience["key"]) => Store<import('.').ExperienceInstance[]>;
|
|
65
|
+
getByExperienceId: (id: Experience["id"]) => Store<import('.').ExperienceInstance[]>;
|
|
66
|
+
listStore: Store<import('.').ExperienceInstance[]>;
|
|
67
67
|
};
|
|
68
68
|
readonly experiences: {
|
|
69
|
-
register:
|
|
70
|
-
get: (id: Experience["id"]) => import('
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
configStore: import('effector').Store<{
|
|
75
|
-
name: string;
|
|
76
|
-
decisionLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
77
|
-
targetSelectors: import('.').ExperienceTarget[];
|
|
78
|
-
initializeOpenLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
79
|
-
}>;
|
|
80
|
-
treeStore: import('effector').Store<{
|
|
81
|
-
steps: ExperienceStep[];
|
|
82
|
-
nodes: import('.').ExperienceNode[];
|
|
83
|
-
edges: import('.').ExperienceEdge[];
|
|
84
|
-
conditions: Condition[];
|
|
85
|
-
}>;
|
|
86
|
-
componentStore: import('effector').Store<{
|
|
87
|
-
name: string;
|
|
88
|
-
component: AdaptedComponent<string, unknown>;
|
|
89
|
-
frameworkStore: import('effector').Store<Framework | undefined>;
|
|
90
|
-
} | undefined>;
|
|
91
|
-
actions: import('.').ExperienceAction[];
|
|
92
|
-
merge: import('effector').EventCallable<{
|
|
93
|
-
experience: Partial<Experience>;
|
|
94
|
-
strategy: "override";
|
|
95
|
-
}>;
|
|
96
|
-
} | undefined>;
|
|
97
|
-
getById: (id: Experience["id"]) => import('effector').Store<{
|
|
98
|
-
id: string;
|
|
99
|
-
key: string;
|
|
100
|
-
name: string;
|
|
101
|
-
configStore: import('effector').Store<{
|
|
102
|
-
name: string;
|
|
103
|
-
decisionLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
104
|
-
targetSelectors: import('.').ExperienceTarget[];
|
|
105
|
-
initializeOpenLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
106
|
-
}>;
|
|
107
|
-
treeStore: import('effector').Store<{
|
|
108
|
-
steps: ExperienceStep[];
|
|
109
|
-
nodes: import('.').ExperienceNode[];
|
|
110
|
-
edges: import('.').ExperienceEdge[];
|
|
111
|
-
conditions: Condition[];
|
|
112
|
-
}>;
|
|
113
|
-
componentStore: import('effector').Store<{
|
|
114
|
-
name: string;
|
|
115
|
-
component: AdaptedComponent<string, unknown>;
|
|
116
|
-
frameworkStore: import('effector').Store<Framework | undefined>;
|
|
117
|
-
} | undefined>;
|
|
118
|
-
actions: import('.').ExperienceAction[];
|
|
119
|
-
merge: import('effector').EventCallable<{
|
|
120
|
-
experience: Partial<Experience>;
|
|
121
|
-
strategy: "override";
|
|
122
|
-
}>;
|
|
123
|
-
} | undefined>;
|
|
124
|
-
getByKey: (key: Experience["key"]) => import('effector').Store<import('.').ExperienceStore | undefined>;
|
|
125
|
-
launch: import('effector').Effect<{
|
|
69
|
+
register: EventCallable<Experience>;
|
|
70
|
+
get: (id: Experience["id"]) => Store<import('.').ExperienceStore | undefined>;
|
|
71
|
+
getById: (id: Experience["id"]) => Store<import('.').ExperienceStore | undefined>;
|
|
72
|
+
getByKey: (key: Experience["key"]) => Store<import('.').ExperienceStore | undefined>;
|
|
73
|
+
launch: Effect<{
|
|
126
74
|
key: string;
|
|
127
75
|
options?: LaunchExperienceOptions;
|
|
128
76
|
} | {
|
|
129
77
|
id: string;
|
|
130
78
|
options?: LaunchExperienceOptions;
|
|
131
79
|
}, void, Error>;
|
|
132
|
-
open:
|
|
80
|
+
open: Effect<{
|
|
133
81
|
key: string;
|
|
134
82
|
options?: import('./exports').OpenExperienceOptions;
|
|
135
83
|
} | {
|
|
136
84
|
id: string;
|
|
137
85
|
options?: import('./exports').OpenExperienceOptions;
|
|
138
86
|
}, void, Error>;
|
|
139
|
-
listStore: import('
|
|
140
|
-
|
|
141
|
-
key: string;
|
|
142
|
-
name: string;
|
|
143
|
-
configStore: import('effector').Store<{
|
|
144
|
-
name: string;
|
|
145
|
-
decisionLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
146
|
-
targetSelectors: import('.').ExperienceTarget[];
|
|
147
|
-
initializeOpenLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
148
|
-
}>;
|
|
149
|
-
treeStore: import('effector').Store<{
|
|
150
|
-
steps: ExperienceStep[];
|
|
151
|
-
nodes: import('.').ExperienceNode[];
|
|
152
|
-
edges: import('.').ExperienceEdge[];
|
|
153
|
-
conditions: Condition[];
|
|
154
|
-
}>;
|
|
155
|
-
componentStore: import('effector').Store<{
|
|
156
|
-
name: string;
|
|
157
|
-
component: AdaptedComponent<string, unknown>;
|
|
158
|
-
frameworkStore: import('effector').Store<Framework | undefined>;
|
|
159
|
-
} | undefined>;
|
|
160
|
-
actions: import('.').ExperienceAction[];
|
|
161
|
-
merge: import('effector').EventCallable<{
|
|
162
|
-
experience: Partial<Experience>;
|
|
163
|
-
strategy: "override";
|
|
164
|
-
}>;
|
|
165
|
-
}[]>;
|
|
87
|
+
listStore: Store<import('.').ExperienceStore[]>;
|
|
88
|
+
initialiseExperiencesFx: Effect<void, void, Error>;
|
|
166
89
|
};
|
|
167
90
|
readonly frameworks: {
|
|
168
|
-
register:
|
|
169
|
-
|
|
170
|
-
|
|
91
|
+
register: EventCallable<{
|
|
92
|
+
name: string;
|
|
93
|
+
framework: Framework;
|
|
94
|
+
}>;
|
|
95
|
+
getByName: (name: string) => Store<Framework | undefined>;
|
|
96
|
+
listStore: Store<Framework[]>;
|
|
171
97
|
};
|
|
172
98
|
readonly predicates: {
|
|
173
|
-
register:
|
|
174
|
-
|
|
175
|
-
|
|
99
|
+
register: EventCallable<{
|
|
100
|
+
name: string;
|
|
101
|
+
predicate: Predicate;
|
|
102
|
+
}>;
|
|
103
|
+
getByName: (name: string) => Store<Predicate | undefined>;
|
|
104
|
+
listStore: Store<{
|
|
176
105
|
name: string;
|
|
177
106
|
predicate: Predicate;
|
|
178
107
|
}[]>;
|
|
179
|
-
getEvokablePredicate: (predicateName: string) =>
|
|
108
|
+
getEvokablePredicate: (predicateName: string) => Store<() => ReturnType<Predicate>>;
|
|
180
109
|
};
|
|
181
110
|
readonly features: {
|
|
182
|
-
register:
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
111
|
+
register: EventCallable<{
|
|
112
|
+
id: string;
|
|
113
|
+
feature: Feature;
|
|
114
|
+
}>;
|
|
115
|
+
getById: (id: string) => Store<import('.').FeatureBucket | undefined>;
|
|
116
|
+
getByName: (name: string) => Store<import('.').FeatureIndexItem | undefined>;
|
|
117
|
+
listStore: Store<import('.').FeatureBucket[]>;
|
|
118
|
+
getEvokableFeature: (featureName: string) => Store<() => Promise<boolean | string | undefined>>;
|
|
187
119
|
};
|
|
188
120
|
readonly conditions: {
|
|
189
121
|
register: (condition: Condition) => void;
|
|
190
|
-
getById: (id: Condition["id"]) =>
|
|
191
|
-
getByKey: (key: Condition["key"]) =>
|
|
192
|
-
listStore:
|
|
193
|
-
indexStore:
|
|
122
|
+
getById: (id: Condition["id"]) => Store<Condition | null>;
|
|
123
|
+
getByKey: (key: Condition["key"]) => Store<Condition | null>;
|
|
124
|
+
listStore: Store<Condition[]>;
|
|
125
|
+
indexStore: StoreWritable<{
|
|
194
126
|
[id: string]: Condition;
|
|
195
127
|
}>;
|
|
196
128
|
};
|
|
197
129
|
readonly fields: {
|
|
198
130
|
register: (field: Field) => void;
|
|
199
131
|
update: (key: import('.').FieldBase["key"], updates: Partial<Field>) => void;
|
|
200
|
-
getById: (id: import('.').FieldBase["id"]) =>
|
|
201
|
-
getByKey: (key: import('.').FieldBase["key"]) =>
|
|
202
|
-
listStore:
|
|
203
|
-
getByName: (name: import('.').FieldBase["name"]) =>
|
|
132
|
+
getById: (id: import('.').FieldBase["id"]) => Store<Field | null>;
|
|
133
|
+
getByKey: (key: import('.').FieldBase["key"]) => Store<Field | null>;
|
|
134
|
+
listStore: Store<Field[]>;
|
|
135
|
+
getByName: (name: import('.').FieldBase["name"]) => Store<Field | null>;
|
|
204
136
|
};
|
|
205
137
|
readonly responses: {
|
|
206
138
|
register: {
|
|
207
139
|
(fieldKey: Field["key"], response: import('.').Response): void;
|
|
208
140
|
(payload: Record<Field["key"], import('.').Response>, response?: never): void;
|
|
209
141
|
};
|
|
210
|
-
clearAll:
|
|
211
|
-
clear:
|
|
142
|
+
clearAll: EventCallable<void>;
|
|
143
|
+
clear: EventCallable<string>;
|
|
212
144
|
commit: (responsesToCommit: import('.').CommitResponses) => Promise<{
|
|
213
145
|
errors: import('.').ValidationError[];
|
|
214
146
|
}>;
|
|
@@ -216,36 +148,63 @@ export declare class Picked {
|
|
|
216
148
|
responsesToCommit: import('.').CommitResponses;
|
|
217
149
|
validationErrors: import('.').ValidationError[];
|
|
218
150
|
}>;
|
|
219
|
-
listStore:
|
|
151
|
+
listStore: Store<{
|
|
220
152
|
fieldKey: string;
|
|
221
153
|
value: import('.').FieldValue;
|
|
222
154
|
}[]>;
|
|
223
|
-
getAllStore:
|
|
155
|
+
getAllStore: Store<{
|
|
224
156
|
[fieldKey: string]: import('.').FieldValue;
|
|
225
157
|
}>;
|
|
226
|
-
getByFieldId: (id: Field["id"]) =>
|
|
227
|
-
getByFieldKey: (key: Field["key"]) =>
|
|
228
|
-
getByFieldName: (fieldName: Field["name"]) =>
|
|
158
|
+
getByFieldId: (id: Field["id"]) => Store<import('.').FieldValue>;
|
|
159
|
+
getByFieldKey: (key: Field["key"]) => Store<import('.').FieldValue>;
|
|
160
|
+
getByFieldName: (fieldName: Field["name"]) => Store<import('.').FieldValue>;
|
|
229
161
|
};
|
|
230
162
|
readonly steps: {
|
|
231
163
|
register: (step: ExperienceStep) => void;
|
|
232
|
-
getById: (id: ExperienceStep["id"]) =>
|
|
233
|
-
getByKey: (key: ExperienceStep["key"]) =>
|
|
234
|
-
listStore:
|
|
235
|
-
indexStore:
|
|
164
|
+
getById: (id: ExperienceStep["id"]) => Store<ExperienceStep | null>;
|
|
165
|
+
getByKey: (key: ExperienceStep["key"]) => Store<ExperienceStep | null>;
|
|
166
|
+
listStore: Store<ExperienceStep[]>;
|
|
167
|
+
indexStore: StoreWritable<{
|
|
236
168
|
[id: string]: ExperienceStep;
|
|
237
169
|
}>;
|
|
238
170
|
};
|
|
239
171
|
readonly actions: {
|
|
240
|
-
register:
|
|
241
|
-
|
|
242
|
-
|
|
172
|
+
register: EventCallable<{
|
|
173
|
+
key: string;
|
|
174
|
+
action: Action;
|
|
175
|
+
}>;
|
|
176
|
+
getByKey: (key: string) => Store<Action | undefined>;
|
|
177
|
+
listStore: Store<import('.').ActionIndexItem[]>;
|
|
243
178
|
getEvokableAction: (actionKey: string, options?: {
|
|
244
179
|
experience: import('.').ExperienceInstance;
|
|
245
|
-
}) =>
|
|
180
|
+
}) => Store<() => ReturnType<Action>>;
|
|
246
181
|
};
|
|
182
|
+
readonly stateSnapshotStore: Store<StateSnapshot>;
|
|
183
|
+
readonly evaluateRuleLogicFx: Effect<EvaluateRuleLogicParams, unknown, Error>;
|
|
184
|
+
/** Public trigger — fires the start chain. `await allSettled(client.start, { scope })` resolves once the chain has fully settled. */
|
|
185
|
+
readonly start: EventCallable<void>;
|
|
186
|
+
/** Reactive store of the readiness flag. */
|
|
187
|
+
readonly readyStore: StoreWritable<boolean>;
|
|
188
|
+
/** Reactive store of the precondition-gate result (`undefined` until `start` is fired). */
|
|
189
|
+
readonly preconditionPassedStore: StoreWritable<boolean | undefined>;
|
|
190
|
+
/** Reactive store of the condition-gate result (`undefined` until `start` is fired). */
|
|
191
|
+
readonly conditionPassedStore: StoreWritable<boolean | undefined>;
|
|
192
|
+
/** Reactive store of the current lifecycle stage. */
|
|
193
|
+
readonly lifecycleStageStore: StoreWritable<LifecycleStage>;
|
|
194
|
+
private readonly lifecycle;
|
|
195
|
+
/**
|
|
196
|
+
* Effect that interpolates a template string against the latest responses plus a caller-supplied context. Source is `responses.listStore` so renders are scope-aware and pick up the latest committed responses without `.getState()`.
|
|
197
|
+
*
|
|
198
|
+
* @example
|
|
199
|
+
* ```typescript
|
|
200
|
+
* const greeting = await client.renderStringFx({ template: 'Hi {{name}}', context: { name: 'Mae' } })
|
|
201
|
+
* ```
|
|
202
|
+
*/
|
|
203
|
+
readonly renderStringFx: Effect<{
|
|
204
|
+
template: string;
|
|
205
|
+
context?: Record<string, unknown>;
|
|
206
|
+
}, string, Error>;
|
|
247
207
|
constructor(options: CreateClientOptions);
|
|
248
|
-
start: () => void;
|
|
249
208
|
registerFramework: (framework: Framework) => void;
|
|
250
209
|
registerComponent: (name: string, component: AdaptedComponent) => void;
|
|
251
210
|
registerPlugin: (plugin: Plugin) => void;
|
|
@@ -256,7 +215,6 @@ export declare class Picked {
|
|
|
256
215
|
registerStep: (step: ExperienceStep) => void;
|
|
257
216
|
registerAction: (key: string, action: Action) => void;
|
|
258
217
|
registerExperience: (experience: Experience) => void;
|
|
259
|
-
getStateSnapshot: () => StateSnapshot;
|
|
260
218
|
/**
|
|
261
219
|
* Launches an experience by ID.
|
|
262
220
|
*
|
|
@@ -299,53 +257,11 @@ export declare class Picked {
|
|
|
299
257
|
* ```
|
|
300
258
|
*/
|
|
301
259
|
openExperienceByKey: (experienceKey: string) => Promise<void>;
|
|
302
|
-
private runPluginStartHooks;
|
|
303
|
-
private evaluateGate;
|
|
304
260
|
private setupPlugins;
|
|
305
261
|
private setupFeatures;
|
|
306
262
|
private setupPredicates;
|
|
307
263
|
private setupActions;
|
|
308
264
|
private setupComponents;
|
|
309
265
|
getPluginConfig: (pluginName: string) => PluginConfigIndex[string] | Record<string, unknown>;
|
|
310
|
-
/**
|
|
311
|
-
* Interpolates a template string using values from the client's response store and/or a provided context.
|
|
312
|
-
* Supports dot-notation, modifiers, and executing functions found in the context.
|
|
313
|
-
*
|
|
314
|
-
* Sources:
|
|
315
|
-
* - responses.*: Loaded automatically from the client's internal response store by fieldId (e.g. {{ responses.email }}).
|
|
316
|
-
* - Context: Any non-responses.* key must be supplied in the context; nested dot-notation is supported.
|
|
317
|
-
* - Functions: If a context value is a function, it is invoked and its result is rendered.
|
|
318
|
-
*
|
|
319
|
-
* Placeholders:
|
|
320
|
-
* - {{ key | modifier: arg | modifier2: arg2 }} with modifiers applied left-to-right.
|
|
321
|
-
*
|
|
322
|
-
* Modifiers:
|
|
323
|
-
* - default: Use the argument when the value is null, undefined, NaN, or empty string; otherwise return the value as a string.
|
|
324
|
-
* - append: Append the argument (space-separated) when the value is non-empty.
|
|
325
|
-
* - prepend: Prepend the argument (space-separated) when the value is non-empty.
|
|
326
|
-
* - upper: Uppercase string values.
|
|
327
|
-
* - lower: Lowercase string values.
|
|
328
|
-
* - capitalize: Capitalize the first letter of string values.
|
|
329
|
-
* - list: Format Arrays, Maps, and Sets via Intl.ListFormat (Maps render as key: value pairs).
|
|
330
|
-
*
|
|
331
|
-
* Behavior:
|
|
332
|
-
* - Empty values (null, undefined, empty string, NaN) render as empty. Numeric 0 renders as "0", boolean false renders as "false", and boolean true renders as "true".
|
|
333
|
-
* - Objects and arrays are JSON-stringified; Maps/Sets serialize to {} unless the list modifier is used.
|
|
334
|
-
* - Unknown modifiers are ignored.
|
|
335
|
-
*
|
|
336
|
-
* @param template Template containing placeholders.
|
|
337
|
-
* @param context Optional data for interpolation. Non-responses.* keys belong here; function values are executed.
|
|
338
|
-
* @returns Interpolated string.
|
|
339
|
-
* @example
|
|
340
|
-
* renderString("Hello {{ name | default: 'Guest' | capitalize }}! Email: {{ responses.email | lower }}.", { name: "ALICE" })
|
|
341
|
-
* // => "Hello Alice! Email: alice@example.com."
|
|
342
|
-
* @example
|
|
343
|
-
* renderString("User: {{ getName | capitalize }}", { getName: () => "alice" })
|
|
344
|
-
* // => "User: Alice"
|
|
345
|
-
* @example
|
|
346
|
-
* renderString("Fruits: {{ fruits | list }}", { fruits: ["apple", "banana", "cherry"] })
|
|
347
|
-
* // => "Fruits: apple, banana, and cherry"
|
|
348
|
-
*/
|
|
349
|
-
renderString: (template: string, context?: Record<string, unknown>) => string;
|
|
350
266
|
}
|
|
351
267
|
//# sourceMappingURL=picked.d.ts.map
|
|
@@ -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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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/dom-observer/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA"}
|