@metamask-previews/composable-controller 9.0.0-preview-367cb1da → 9.0.0-preview-cf09c0a

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.
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
+ };
7
+ var _ComposableController_instances, _ComposableController_updateChildController;
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ComposableController = exports.INVALID_CONTROLLER_ERROR = exports.controllerName = void 0;
10
+ const base_controller_1 = require("@metamask/base-controller");
11
+ exports.controllerName = 'ComposableController';
12
+ exports.INVALID_CONTROLLER_ERROR = 'Invalid controller: controller must have a `messagingSystem` or be a class inheriting from `BaseControllerV1`.';
13
+ /**
14
+ * Controller that composes multiple child controllers and maintains up-to-date composed state.
15
+ *
16
+ * @template ComposableControllerState - A type object containing the names and state types of the child controllers.
17
+ * @template ChildControllers - A union type of the child controllers being used to instantiate the {@link ComposableController}.
18
+ */
19
+ class ComposableController extends base_controller_1.BaseController {
20
+ /**
21
+ * Creates a ComposableController instance.
22
+ *
23
+ * @param options - Initial options used to configure this controller
24
+ * @param options.controllers - List of child controller instances to compose.
25
+ * @param options.messenger - A restricted controller messenger.
26
+ */
27
+ constructor({ controllers, messenger, }) {
28
+ if (messenger === undefined) {
29
+ throw new Error(`Messaging system is required`);
30
+ }
31
+ super({
32
+ name: exports.controllerName,
33
+ metadata: controllers.reduce((metadata, controller) => ({
34
+ ...metadata,
35
+ [controller.name]: (0, base_controller_1.isBaseController)(controller)
36
+ ? controller.metadata
37
+ : { persist: true, anonymous: true },
38
+ }), {}),
39
+ state: controllers.reduce((state, controller) => {
40
+ return { ...state, [controller.name]: controller.state };
41
+ }, {}),
42
+ messenger,
43
+ });
44
+ _ComposableController_instances.add(this);
45
+ controllers.forEach((controller) => __classPrivateFieldGet(this, _ComposableController_instances, "m", _ComposableController_updateChildController).call(this, controller));
46
+ }
47
+ }
48
+ exports.ComposableController = ComposableController;
49
+ _ComposableController_instances = new WeakSet(), _ComposableController_updateChildController = function _ComposableController_updateChildController(controller) {
50
+ const { name } = controller;
51
+ if (!(0, base_controller_1.isBaseController)(controller) && !(0, base_controller_1.isBaseControllerV1)(controller)) {
52
+ // False negative. `name` is a string type.
53
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
54
+ throw new Error(`${name} - ${exports.INVALID_CONTROLLER_ERROR}`);
55
+ }
56
+ try {
57
+ this.messagingSystem.subscribe(
58
+ // False negative. `name` is a string type.
59
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
60
+ `${name}:stateChange`, (childState) => {
61
+ this.update((state) => {
62
+ Object.assign(state, { [name]: childState });
63
+ });
64
+ });
65
+ }
66
+ catch (error) {
67
+ // False negative. `name` is a string type.
68
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
69
+ console.error(`${name} - ${String(error)}`);
70
+ }
71
+ if ((0, base_controller_1.isBaseControllerV1)(controller)) {
72
+ controller.subscribe((childState) => {
73
+ this.update((state) => {
74
+ Object.assign(state, { [name]: childState });
75
+ });
76
+ });
77
+ }
78
+ };
79
+ exports.default = ComposableController;
80
+ //# sourceMappingURL=ComposableController.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposableController.cjs","sourceRoot":"","sources":["../src/ComposableController.ts"],"names":[],"mappings":";;;;;;;;;AASA,+DAImC;AAGtB,QAAA,cAAc,GAAG,sBAAsB,CAAC;AAExC,QAAA,wBAAwB,GACnC,gHAAgH,CAAC;AAyGnH;;;;;GAKG;AACH,MAAa,oBAGX,SAAQ,gCAIT;IACC;;;;;;OAMG;IAEH,YAAY,EACV,WAAW,EACX,SAAS,GAIV;QACC,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QAED,KAAK,CAAC;YACJ,IAAI,EAAE,sBAAc;YACpB,QAAQ,EAAE,WAAW,CAAC,MAAM,CAC1B,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;gBACzB,GAAG,QAAQ;gBACX,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAA,kCAAgB,EAAC,UAAU,CAAC;oBAC7C,CAAC,CAAC,UAAU,CAAC,QAAQ;oBACrB,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;aACvC,CAAC,EACF,EAAW,CACZ;YACD,KAAK,EAAE,WAAW,CAAC,MAAM,CACvB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;gBACpB,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;YAC3D,CAAC,EACD,EAAW,CACZ;YACD,SAAS;SACV,CAAC,CAAC;;QAEH,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACjC,uBAAA,IAAI,oFAAuB,MAA3B,IAAI,EAAwB,UAAU,CAAC,CACxC,CAAC;IACJ,CAAC;CAsCF;AAxFD,oDAwFC;oJA/BwB,UAA8B;IACnD,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;IAC5B,IAAI,CAAC,IAAA,kCAAgB,EAAC,UAAU,CAAC,IAAI,CAAC,IAAA,oCAAkB,EAAC,UAAU,CAAC,EAAE;QACpE,2CAA2C;QAC3C,4EAA4E;QAC5E,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,MAAM,gCAAwB,EAAE,CAAC,CAAC;KAC1D;IACD,IAAI;QACF,IAAI,CAAC,eAAe,CAAC,SAAS;QAC5B,2CAA2C;QAC3C,4EAA4E;QAC5E,GAAG,IAAI,cAAc,EACrB,CAAC,UAA2C,EAAE,EAAE;YAC9C,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBACpB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;KACH;IAAC,OAAO,KAAc,EAAE;QACvB,2CAA2C;QAC3C,4EAA4E;QAC5E,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KAC7C;IACD,IAAI,IAAA,oCAAkB,EAAC,UAAU,CAAC,EAAE;QAClC,UAAU,CAAC,SAAS,CAAC,CAAC,UAA6B,EAAE,EAAE;YACrD,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBACpB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AAGH,kBAAe,oBAAoB,CAAC","sourcesContent":["import type {\n RestrictedControllerMessenger,\n StateConstraint,\n StateConstraintV1,\n StateMetadata,\n ControllerStateChangeEvent,\n LegacyControllerStateConstraint,\n ControllerInstance,\n} from '@metamask/base-controller';\nimport {\n BaseController,\n isBaseController,\n isBaseControllerV1,\n} from '@metamask/base-controller';\nimport type { Patch } from 'immer';\n\nexport const controllerName = 'ComposableController';\n\nexport const INVALID_CONTROLLER_ERROR =\n 'Invalid controller: controller must have a `messagingSystem` or be a class inheriting from `BaseControllerV1`.';\n\n/**\n * A universal supertype for the composable controller state object.\n *\n * This type is only intended to be used for disabling the generic constraint on the `ControllerState` type argument in the `BaseController` type as a temporary solution for ensuring compatibility with BaseControllerV1 child controllers.\n * Note that it is unsuitable for general use as a type constraint.\n */\n// TODO: Replace with `ComposableControllerStateConstraint` once BaseControllerV2 migrations are completed for all controllers.\ntype LegacyComposableControllerStateConstraint = {\n // `any` is used here to disable the generic constraint on the `ControllerState` type argument in the `BaseController` type,\n // enabling composable controller state types with BaseControllerV1 state objects to be.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [name: string]: Record<string, any>;\n};\n\n/**\n * The narrowest supertype for the composable controller state object.\n * This is also a widest subtype of the 'LegacyComposableControllerStateConstraint' type.\n */\n// TODO: Replace with `{ [name: string]: StateConstraint }` once BaseControllerV2 migrations are completed for all controllers.\nexport type ComposableControllerStateConstraint = {\n [name: string]: LegacyControllerStateConstraint;\n};\n\n/**\n * A `stateChange` event for any controller instance that extends from either `BaseControllerV1` or `BaseControllerV2`.\n */\n// TODO: Replace all instances with `ControllerStateChangeEvent` once `BaseControllerV2` migrations are completed for all controllers.\ntype LegacyControllerStateChangeEvent<\n ControllerName extends string,\n ControllerState extends StateConstraintV1,\n> = {\n type: `${ControllerName}:stateChange`;\n payload: [ControllerState, Patch[]];\n};\n\n/**\n * The `stateChange` event type for the {@link ComposableControllerMessenger}.\n *\n * @template ComposableControllerState - A type object that maps controller names to their state types.\n */\nexport type ComposableControllerStateChangeEvent<\n ComposableControllerState extends ComposableControllerStateConstraint,\n> = LegacyControllerStateChangeEvent<\n typeof controllerName,\n ComposableControllerState\n>;\n\n/**\n * A union type of internal event types available to the {@link ComposableControllerMessenger}.\n *\n * @template ComposableControllerState - A type object that maps controller names to their state types.\n */\nexport type ComposableControllerEvents<\n ComposableControllerState extends ComposableControllerStateConstraint,\n> = ComposableControllerStateChangeEvent<ComposableControllerState>;\n\n/**\n * A utility type that extracts controllers from the {@link ComposableControllerState} type,\n * and derives a union type of all of their corresponding `stateChange` events.\n *\n * This type can handle both `BaseController` and `BaseControllerV1` controller instances.\n *\n * @template ComposableControllerState - A type object that maps controller names to their state types.\n */\nexport type ChildControllerStateChangeEvents<\n ComposableControllerState extends ComposableControllerStateConstraint,\n> = ComposableControllerState extends Record<\n infer ControllerName extends string,\n infer ControllerState\n>\n ? ControllerState extends StateConstraint\n ? ControllerStateChangeEvent<ControllerName, ControllerState>\n : // TODO: Remove this conditional branch once `BaseControllerV2` migrations are completed for all controllers.\n ControllerState extends StateConstraintV1\n ? LegacyControllerStateChangeEvent<ControllerName, ControllerState>\n : never\n : never;\n\n/**\n * A union type of external event types available to the {@link ComposableControllerMessenger}.\n *\n * @template ComposableControllerState - A type object that maps controller names to their state types.\n */\nexport type AllowedEvents<\n ComposableControllerState extends ComposableControllerStateConstraint,\n> = ChildControllerStateChangeEvents<ComposableControllerState>;\n\n/**\n * The messenger of the {@link ComposableController}.\n *\n * @template ComposableControllerState - A type object that maps controller names to their state types.\n */\nexport type ComposableControllerMessenger<\n ComposableControllerState extends ComposableControllerStateConstraint,\n> = RestrictedControllerMessenger<\n typeof controllerName,\n never,\n | ComposableControllerEvents<ComposableControllerState>\n | AllowedEvents<ComposableControllerState>,\n never,\n AllowedEvents<ComposableControllerState>['type']\n>;\n\n/**\n * Controller that composes multiple child controllers and maintains up-to-date composed state.\n *\n * @template ComposableControllerState - A type object containing the names and state types of the child controllers.\n * @template ChildControllers - A union type of the child controllers being used to instantiate the {@link ComposableController}.\n */\nexport class ComposableController<\n ComposableControllerState extends LegacyComposableControllerStateConstraint,\n ChildControllers extends ControllerInstance,\n> extends BaseController<\n typeof controllerName,\n ComposableControllerState,\n ComposableControllerMessenger<ComposableControllerState>\n> {\n /**\n * Creates a ComposableController instance.\n *\n * @param options - Initial options used to configure this controller\n * @param options.controllers - List of child controller instances to compose.\n * @param options.messenger - A restricted controller messenger.\n */\n\n constructor({\n controllers,\n messenger,\n }: {\n controllers: ChildControllers[];\n messenger: ComposableControllerMessenger<ComposableControllerState>;\n }) {\n if (messenger === undefined) {\n throw new Error(`Messaging system is required`);\n }\n\n super({\n name: controllerName,\n metadata: controllers.reduce<StateMetadata<ComposableControllerState>>(\n (metadata, controller) => ({\n ...metadata,\n [controller.name]: isBaseController(controller)\n ? controller.metadata\n : { persist: true, anonymous: true },\n }),\n {} as never,\n ),\n state: controllers.reduce<ComposableControllerState>(\n (state, controller) => {\n return { ...state, [controller.name]: controller.state };\n },\n {} as never,\n ),\n messenger,\n });\n\n controllers.forEach((controller) =>\n this.#updateChildController(controller),\n );\n }\n\n /**\n * Constructor helper that subscribes to child controller state changes.\n *\n * @param controller - Controller instance to update\n */\n #updateChildController(controller: ControllerInstance): void {\n const { name } = controller;\n if (!isBaseController(controller) && !isBaseControllerV1(controller)) {\n // False negative. `name` is a string type.\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n throw new Error(`${name} - ${INVALID_CONTROLLER_ERROR}`);\n }\n try {\n this.messagingSystem.subscribe(\n // False negative. `name` is a string type.\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n `${name}:stateChange`,\n (childState: LegacyControllerStateConstraint) => {\n this.update((state) => {\n Object.assign(state, { [name]: childState });\n });\n },\n );\n } catch (error: unknown) {\n // False negative. `name` is a string type.\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n console.error(`${name} - ${String(error)}`);\n }\n if (isBaseControllerV1(controller)) {\n controller.subscribe((childState: StateConstraintV1) => {\n this.update((state) => {\n Object.assign(state, { [name]: childState });\n });\n });\n }\n }\n}\n\nexport default ComposableController;\n"]}
@@ -1,6 +1,6 @@
1
- import type { RestrictedControllerMessenger, StateConstraint, StateConstraintV1, ControllerStateChangeEvent, LegacyControllerStateConstraint, ControllerInstance } from '@metamask/base-controller';
2
- import { BaseController } from '@metamask/base-controller';
3
- import type { Patch } from 'immer';
1
+ import type { RestrictedControllerMessenger, StateConstraint, StateConstraintV1, ControllerStateChangeEvent, LegacyControllerStateConstraint, ControllerInstance } from "@metamask/base-controller";
2
+ import { BaseController } from "@metamask/base-controller";
3
+ import type { Patch } from "immer";
4
4
  export declare const controllerName = "ComposableController";
5
5
  export declare const INVALID_CONTROLLER_ERROR = "Invalid controller: controller must have a `messagingSystem` or be a class inheriting from `BaseControllerV1`.";
6
6
  /**
@@ -80,4 +80,4 @@ export declare class ComposableController<ComposableControllerState extends Lega
80
80
  });
81
81
  }
82
82
  export default ComposableController;
83
- //# sourceMappingURL=ComposableController.d.ts.map
83
+ //# sourceMappingURL=ComposableController.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposableController.d.cts","sourceRoot":"","sources":["../src/ComposableController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,eAAe,EACf,iBAAiB,EAEjB,0BAA0B,EAC1B,+BAA+B,EAC/B,kBAAkB,EACnB,kCAAkC;AACnC,OAAO,EACL,cAAc,EAGf,kCAAkC;AACnC,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc;AAEnC,eAAO,MAAM,cAAc,yBAAyB,CAAC;AAErD,eAAO,MAAM,wBAAwB,mHAC6E,CAAC;AAEnH;;;;;GAKG;AAEH,KAAK,yCAAyC,GAAG;IAI/C,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACrC,CAAC;AAEF;;;GAGG;AAEH,MAAM,MAAM,mCAAmC,GAAG;IAChD,CAAC,IAAI,EAAE,MAAM,GAAG,+BAA+B,CAAC;CACjD,CAAC;AAEF;;GAEG;AAEH,KAAK,gCAAgC,CACnC,cAAc,SAAS,MAAM,EAC7B,eAAe,SAAS,iBAAiB,IACvC;IACF,IAAI,EAAE,GAAG,cAAc,cAAc,CAAC;IACtC,OAAO,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;CACrC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,oCAAoC,CAC9C,yBAAyB,SAAS,mCAAmC,IACnE,gCAAgC,CAClC,OAAO,cAAc,EACrB,yBAAyB,CAC1B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,CACpC,yBAAyB,SAAS,mCAAmC,IACnE,oCAAoC,CAAC,yBAAyB,CAAC,CAAC;AAEpE;;;;;;;GAOG;AACH,MAAM,MAAM,gCAAgC,CAC1C,yBAAyB,SAAS,mCAAmC,IACnE,yBAAyB,SAAS,MAAM,CAC1C,MAAM,cAAc,SAAS,MAAM,EACnC,MAAM,eAAe,CACtB,GACG,eAAe,SAAS,eAAe,GACrC,0BAA0B,CAAC,cAAc,EAAE,eAAe,CAAC,GAE7D,eAAe,SAAS,iBAAiB,GACvC,gCAAgC,CAAC,cAAc,EAAE,eAAe,CAAC,GACjE,KAAK,GACP,KAAK,CAAC;AAEV;;;;GAIG;AACH,MAAM,MAAM,aAAa,CACvB,yBAAyB,SAAS,mCAAmC,IACnE,gCAAgC,CAAC,yBAAyB,CAAC,CAAC;AAEhE;;;;GAIG;AACH,MAAM,MAAM,6BAA6B,CACvC,yBAAyB,SAAS,mCAAmC,IACnE,6BAA6B,CAC/B,OAAO,cAAc,EACrB,KAAK,EACH,0BAA0B,CAAC,yBAAyB,CAAC,GACrD,aAAa,CAAC,yBAAyB,CAAC,EAC1C,KAAK,EACL,aAAa,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,CACjD,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,oBAAoB,CAC/B,yBAAyB,SAAS,yCAAyC,EAC3E,gBAAgB,SAAS,kBAAkB,CAC3C,SAAQ,cAAc,CACtB,OAAO,cAAc,EACrB,yBAAyB,EACzB,6BAA6B,CAAC,yBAAyB,CAAC,CACzD;;IACC;;;;;;OAMG;gBAES,EACV,WAAW,EACX,SAAS,GACV,EAAE;QACD,WAAW,EAAE,gBAAgB,EAAE,CAAC;QAChC,SAAS,EAAE,6BAA6B,CAAC,yBAAyB,CAAC,CAAC;KACrE;CAkEF;AAED,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,83 @@
1
+ import type { RestrictedControllerMessenger, StateConstraint, StateConstraintV1, ControllerStateChangeEvent, LegacyControllerStateConstraint, ControllerInstance } from "@metamask/base-controller";
2
+ import { BaseController } from "@metamask/base-controller";
3
+ import type { Patch } from "immer";
4
+ export declare const controllerName = "ComposableController";
5
+ export declare const INVALID_CONTROLLER_ERROR = "Invalid controller: controller must have a `messagingSystem` or be a class inheriting from `BaseControllerV1`.";
6
+ /**
7
+ * A universal supertype for the composable controller state object.
8
+ *
9
+ * This type is only intended to be used for disabling the generic constraint on the `ControllerState` type argument in the `BaseController` type as a temporary solution for ensuring compatibility with BaseControllerV1 child controllers.
10
+ * Note that it is unsuitable for general use as a type constraint.
11
+ */
12
+ type LegacyComposableControllerStateConstraint = {
13
+ [name: string]: Record<string, any>;
14
+ };
15
+ /**
16
+ * The narrowest supertype for the composable controller state object.
17
+ * This is also a widest subtype of the 'LegacyComposableControllerStateConstraint' type.
18
+ */
19
+ export type ComposableControllerStateConstraint = {
20
+ [name: string]: LegacyControllerStateConstraint;
21
+ };
22
+ /**
23
+ * A `stateChange` event for any controller instance that extends from either `BaseControllerV1` or `BaseControllerV2`.
24
+ */
25
+ type LegacyControllerStateChangeEvent<ControllerName extends string, ControllerState extends StateConstraintV1> = {
26
+ type: `${ControllerName}:stateChange`;
27
+ payload: [ControllerState, Patch[]];
28
+ };
29
+ /**
30
+ * The `stateChange` event type for the {@link ComposableControllerMessenger}.
31
+ *
32
+ * @template ComposableControllerState - A type object that maps controller names to their state types.
33
+ */
34
+ export type ComposableControllerStateChangeEvent<ComposableControllerState extends ComposableControllerStateConstraint> = LegacyControllerStateChangeEvent<typeof controllerName, ComposableControllerState>;
35
+ /**
36
+ * A union type of internal event types available to the {@link ComposableControllerMessenger}.
37
+ *
38
+ * @template ComposableControllerState - A type object that maps controller names to their state types.
39
+ */
40
+ export type ComposableControllerEvents<ComposableControllerState extends ComposableControllerStateConstraint> = ComposableControllerStateChangeEvent<ComposableControllerState>;
41
+ /**
42
+ * A utility type that extracts controllers from the {@link ComposableControllerState} type,
43
+ * and derives a union type of all of their corresponding `stateChange` events.
44
+ *
45
+ * This type can handle both `BaseController` and `BaseControllerV1` controller instances.
46
+ *
47
+ * @template ComposableControllerState - A type object that maps controller names to their state types.
48
+ */
49
+ export type ChildControllerStateChangeEvents<ComposableControllerState extends ComposableControllerStateConstraint> = ComposableControllerState extends Record<infer ControllerName extends string, infer ControllerState> ? ControllerState extends StateConstraint ? ControllerStateChangeEvent<ControllerName, ControllerState> : ControllerState extends StateConstraintV1 ? LegacyControllerStateChangeEvent<ControllerName, ControllerState> : never : never;
50
+ /**
51
+ * A union type of external event types available to the {@link ComposableControllerMessenger}.
52
+ *
53
+ * @template ComposableControllerState - A type object that maps controller names to their state types.
54
+ */
55
+ export type AllowedEvents<ComposableControllerState extends ComposableControllerStateConstraint> = ChildControllerStateChangeEvents<ComposableControllerState>;
56
+ /**
57
+ * The messenger of the {@link ComposableController}.
58
+ *
59
+ * @template ComposableControllerState - A type object that maps controller names to their state types.
60
+ */
61
+ export type ComposableControllerMessenger<ComposableControllerState extends ComposableControllerStateConstraint> = RestrictedControllerMessenger<typeof controllerName, never, ComposableControllerEvents<ComposableControllerState> | AllowedEvents<ComposableControllerState>, never, AllowedEvents<ComposableControllerState>['type']>;
62
+ /**
63
+ * Controller that composes multiple child controllers and maintains up-to-date composed state.
64
+ *
65
+ * @template ComposableControllerState - A type object containing the names and state types of the child controllers.
66
+ * @template ChildControllers - A union type of the child controllers being used to instantiate the {@link ComposableController}.
67
+ */
68
+ export declare class ComposableController<ComposableControllerState extends LegacyComposableControllerStateConstraint, ChildControllers extends ControllerInstance> extends BaseController<typeof controllerName, ComposableControllerState, ComposableControllerMessenger<ComposableControllerState>> {
69
+ #private;
70
+ /**
71
+ * Creates a ComposableController instance.
72
+ *
73
+ * @param options - Initial options used to configure this controller
74
+ * @param options.controllers - List of child controller instances to compose.
75
+ * @param options.messenger - A restricted controller messenger.
76
+ */
77
+ constructor({ controllers, messenger, }: {
78
+ controllers: ChildControllers[];
79
+ messenger: ComposableControllerMessenger<ComposableControllerState>;
80
+ });
81
+ }
82
+ export default ComposableController;
83
+ //# sourceMappingURL=ComposableController.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposableController.d.mts","sourceRoot":"","sources":["../src/ComposableController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,eAAe,EACf,iBAAiB,EAEjB,0BAA0B,EAC1B,+BAA+B,EAC/B,kBAAkB,EACnB,kCAAkC;AACnC,OAAO,EACL,cAAc,EAGf,kCAAkC;AACnC,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc;AAEnC,eAAO,MAAM,cAAc,yBAAyB,CAAC;AAErD,eAAO,MAAM,wBAAwB,mHAC6E,CAAC;AAEnH;;;;;GAKG;AAEH,KAAK,yCAAyC,GAAG;IAI/C,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACrC,CAAC;AAEF;;;GAGG;AAEH,MAAM,MAAM,mCAAmC,GAAG;IAChD,CAAC,IAAI,EAAE,MAAM,GAAG,+BAA+B,CAAC;CACjD,CAAC;AAEF;;GAEG;AAEH,KAAK,gCAAgC,CACnC,cAAc,SAAS,MAAM,EAC7B,eAAe,SAAS,iBAAiB,IACvC;IACF,IAAI,EAAE,GAAG,cAAc,cAAc,CAAC;IACtC,OAAO,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;CACrC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,oCAAoC,CAC9C,yBAAyB,SAAS,mCAAmC,IACnE,gCAAgC,CAClC,OAAO,cAAc,EACrB,yBAAyB,CAC1B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,CACpC,yBAAyB,SAAS,mCAAmC,IACnE,oCAAoC,CAAC,yBAAyB,CAAC,CAAC;AAEpE;;;;;;;GAOG;AACH,MAAM,MAAM,gCAAgC,CAC1C,yBAAyB,SAAS,mCAAmC,IACnE,yBAAyB,SAAS,MAAM,CAC1C,MAAM,cAAc,SAAS,MAAM,EACnC,MAAM,eAAe,CACtB,GACG,eAAe,SAAS,eAAe,GACrC,0BAA0B,CAAC,cAAc,EAAE,eAAe,CAAC,GAE7D,eAAe,SAAS,iBAAiB,GACvC,gCAAgC,CAAC,cAAc,EAAE,eAAe,CAAC,GACjE,KAAK,GACP,KAAK,CAAC;AAEV;;;;GAIG;AACH,MAAM,MAAM,aAAa,CACvB,yBAAyB,SAAS,mCAAmC,IACnE,gCAAgC,CAAC,yBAAyB,CAAC,CAAC;AAEhE;;;;GAIG;AACH,MAAM,MAAM,6BAA6B,CACvC,yBAAyB,SAAS,mCAAmC,IACnE,6BAA6B,CAC/B,OAAO,cAAc,EACrB,KAAK,EACH,0BAA0B,CAAC,yBAAyB,CAAC,GACrD,aAAa,CAAC,yBAAyB,CAAC,EAC1C,KAAK,EACL,aAAa,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,CACjD,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,oBAAoB,CAC/B,yBAAyB,SAAS,yCAAyC,EAC3E,gBAAgB,SAAS,kBAAkB,CAC3C,SAAQ,cAAc,CACtB,OAAO,cAAc,EACrB,yBAAyB,EACzB,6BAA6B,CAAC,yBAAyB,CAAC,CACzD;;IACC;;;;;;OAMG;gBAES,EACV,WAAW,EACX,SAAS,GACV,EAAE;QACD,WAAW,EAAE,gBAAgB,EAAE,CAAC;QAChC,SAAS,EAAE,6BAA6B,CAAC,yBAAyB,CAAC,CAAC;KACrE;CAkEF;AAED,eAAe,oBAAoB,CAAC"}
@@ -1,13 +1,76 @@
1
- import {
2
- ComposableController,
3
- ComposableController_default,
4
- INVALID_CONTROLLER_ERROR,
5
- controllerName
6
- } from "./chunk-JXHGHET3.mjs";
7
- export {
8
- ComposableController,
9
- INVALID_CONTROLLER_ERROR,
10
- controllerName,
11
- ComposableController_default as default
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
5
  };
6
+ var _ComposableController_instances, _ComposableController_updateChildController;
7
+ import { BaseController, isBaseController, isBaseControllerV1 } from "@metamask/base-controller";
8
+ export const controllerName = 'ComposableController';
9
+ export const INVALID_CONTROLLER_ERROR = 'Invalid controller: controller must have a `messagingSystem` or be a class inheriting from `BaseControllerV1`.';
10
+ /**
11
+ * Controller that composes multiple child controllers and maintains up-to-date composed state.
12
+ *
13
+ * @template ComposableControllerState - A type object containing the names and state types of the child controllers.
14
+ * @template ChildControllers - A union type of the child controllers being used to instantiate the {@link ComposableController}.
15
+ */
16
+ export class ComposableController extends BaseController {
17
+ /**
18
+ * Creates a ComposableController instance.
19
+ *
20
+ * @param options - Initial options used to configure this controller
21
+ * @param options.controllers - List of child controller instances to compose.
22
+ * @param options.messenger - A restricted controller messenger.
23
+ */
24
+ constructor({ controllers, messenger, }) {
25
+ if (messenger === undefined) {
26
+ throw new Error(`Messaging system is required`);
27
+ }
28
+ super({
29
+ name: controllerName,
30
+ metadata: controllers.reduce((metadata, controller) => ({
31
+ ...metadata,
32
+ [controller.name]: isBaseController(controller)
33
+ ? controller.metadata
34
+ : { persist: true, anonymous: true },
35
+ }), {}),
36
+ state: controllers.reduce((state, controller) => {
37
+ return { ...state, [controller.name]: controller.state };
38
+ }, {}),
39
+ messenger,
40
+ });
41
+ _ComposableController_instances.add(this);
42
+ controllers.forEach((controller) => __classPrivateFieldGet(this, _ComposableController_instances, "m", _ComposableController_updateChildController).call(this, controller));
43
+ }
44
+ }
45
+ _ComposableController_instances = new WeakSet(), _ComposableController_updateChildController = function _ComposableController_updateChildController(controller) {
46
+ const { name } = controller;
47
+ if (!isBaseController(controller) && !isBaseControllerV1(controller)) {
48
+ // False negative. `name` is a string type.
49
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
50
+ throw new Error(`${name} - ${INVALID_CONTROLLER_ERROR}`);
51
+ }
52
+ try {
53
+ this.messagingSystem.subscribe(
54
+ // False negative. `name` is a string type.
55
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
56
+ `${name}:stateChange`, (childState) => {
57
+ this.update((state) => {
58
+ Object.assign(state, { [name]: childState });
59
+ });
60
+ });
61
+ }
62
+ catch (error) {
63
+ // False negative. `name` is a string type.
64
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
65
+ console.error(`${name} - ${String(error)}`);
66
+ }
67
+ if (isBaseControllerV1(controller)) {
68
+ controller.subscribe((childState) => {
69
+ this.update((state) => {
70
+ Object.assign(state, { [name]: childState });
71
+ });
72
+ });
73
+ }
74
+ };
75
+ export default ComposableController;
13
76
  //# sourceMappingURL=ComposableController.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"file":"ComposableController.mjs","sourceRoot":"","sources":["../src/ComposableController.ts"],"names":[],"mappings":";;;;;;AASA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EACnB,kCAAkC;AAGnC,MAAM,CAAC,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAErD,MAAM,CAAC,MAAM,wBAAwB,GACnC,gHAAgH,CAAC;AAyGnH;;;;;GAKG;AACH,MAAM,OAAO,oBAGX,SAAQ,cAIT;IACC;;;;;;OAMG;IAEH,YAAY,EACV,WAAW,EACX,SAAS,GAIV;QACC,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QAED,KAAK,CAAC;YACJ,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,WAAW,CAAC,MAAM,CAC1B,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;gBACzB,GAAG,QAAQ;gBACX,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC;oBAC7C,CAAC,CAAC,UAAU,CAAC,QAAQ;oBACrB,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;aACvC,CAAC,EACF,EAAW,CACZ;YACD,KAAK,EAAE,WAAW,CAAC,MAAM,CACvB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;gBACpB,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;YAC3D,CAAC,EACD,EAAW,CACZ;YACD,SAAS;SACV,CAAC,CAAC;;QAEH,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACjC,uBAAA,IAAI,oFAAuB,MAA3B,IAAI,EAAwB,UAAU,CAAC,CACxC,CAAC;IACJ,CAAC;CAsCF;oJA/BwB,UAA8B;IACnD,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;IAC5B,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE;QACpE,2CAA2C;QAC3C,4EAA4E;QAC5E,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,MAAM,wBAAwB,EAAE,CAAC,CAAC;KAC1D;IACD,IAAI;QACF,IAAI,CAAC,eAAe,CAAC,SAAS;QAC5B,2CAA2C;QAC3C,4EAA4E;QAC5E,GAAG,IAAI,cAAc,EACrB,CAAC,UAA2C,EAAE,EAAE;YAC9C,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBACpB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;KACH;IAAC,OAAO,KAAc,EAAE;QACvB,2CAA2C;QAC3C,4EAA4E;QAC5E,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KAC7C;IACD,IAAI,kBAAkB,CAAC,UAAU,CAAC,EAAE;QAClC,UAAU,CAAC,SAAS,CAAC,CAAC,UAA6B,EAAE,EAAE;YACrD,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBACpB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AAGH,eAAe,oBAAoB,CAAC","sourcesContent":["import type {\n RestrictedControllerMessenger,\n StateConstraint,\n StateConstraintV1,\n StateMetadata,\n ControllerStateChangeEvent,\n LegacyControllerStateConstraint,\n ControllerInstance,\n} from '@metamask/base-controller';\nimport {\n BaseController,\n isBaseController,\n isBaseControllerV1,\n} from '@metamask/base-controller';\nimport type { Patch } from 'immer';\n\nexport const controllerName = 'ComposableController';\n\nexport const INVALID_CONTROLLER_ERROR =\n 'Invalid controller: controller must have a `messagingSystem` or be a class inheriting from `BaseControllerV1`.';\n\n/**\n * A universal supertype for the composable controller state object.\n *\n * This type is only intended to be used for disabling the generic constraint on the `ControllerState` type argument in the `BaseController` type as a temporary solution for ensuring compatibility with BaseControllerV1 child controllers.\n * Note that it is unsuitable for general use as a type constraint.\n */\n// TODO: Replace with `ComposableControllerStateConstraint` once BaseControllerV2 migrations are completed for all controllers.\ntype LegacyComposableControllerStateConstraint = {\n // `any` is used here to disable the generic constraint on the `ControllerState` type argument in the `BaseController` type,\n // enabling composable controller state types with BaseControllerV1 state objects to be.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [name: string]: Record<string, any>;\n};\n\n/**\n * The narrowest supertype for the composable controller state object.\n * This is also a widest subtype of the 'LegacyComposableControllerStateConstraint' type.\n */\n// TODO: Replace with `{ [name: string]: StateConstraint }` once BaseControllerV2 migrations are completed for all controllers.\nexport type ComposableControllerStateConstraint = {\n [name: string]: LegacyControllerStateConstraint;\n};\n\n/**\n * A `stateChange` event for any controller instance that extends from either `BaseControllerV1` or `BaseControllerV2`.\n */\n// TODO: Replace all instances with `ControllerStateChangeEvent` once `BaseControllerV2` migrations are completed for all controllers.\ntype LegacyControllerStateChangeEvent<\n ControllerName extends string,\n ControllerState extends StateConstraintV1,\n> = {\n type: `${ControllerName}:stateChange`;\n payload: [ControllerState, Patch[]];\n};\n\n/**\n * The `stateChange` event type for the {@link ComposableControllerMessenger}.\n *\n * @template ComposableControllerState - A type object that maps controller names to their state types.\n */\nexport type ComposableControllerStateChangeEvent<\n ComposableControllerState extends ComposableControllerStateConstraint,\n> = LegacyControllerStateChangeEvent<\n typeof controllerName,\n ComposableControllerState\n>;\n\n/**\n * A union type of internal event types available to the {@link ComposableControllerMessenger}.\n *\n * @template ComposableControllerState - A type object that maps controller names to their state types.\n */\nexport type ComposableControllerEvents<\n ComposableControllerState extends ComposableControllerStateConstraint,\n> = ComposableControllerStateChangeEvent<ComposableControllerState>;\n\n/**\n * A utility type that extracts controllers from the {@link ComposableControllerState} type,\n * and derives a union type of all of their corresponding `stateChange` events.\n *\n * This type can handle both `BaseController` and `BaseControllerV1` controller instances.\n *\n * @template ComposableControllerState - A type object that maps controller names to their state types.\n */\nexport type ChildControllerStateChangeEvents<\n ComposableControllerState extends ComposableControllerStateConstraint,\n> = ComposableControllerState extends Record<\n infer ControllerName extends string,\n infer ControllerState\n>\n ? ControllerState extends StateConstraint\n ? ControllerStateChangeEvent<ControllerName, ControllerState>\n : // TODO: Remove this conditional branch once `BaseControllerV2` migrations are completed for all controllers.\n ControllerState extends StateConstraintV1\n ? LegacyControllerStateChangeEvent<ControllerName, ControllerState>\n : never\n : never;\n\n/**\n * A union type of external event types available to the {@link ComposableControllerMessenger}.\n *\n * @template ComposableControllerState - A type object that maps controller names to their state types.\n */\nexport type AllowedEvents<\n ComposableControllerState extends ComposableControllerStateConstraint,\n> = ChildControllerStateChangeEvents<ComposableControllerState>;\n\n/**\n * The messenger of the {@link ComposableController}.\n *\n * @template ComposableControllerState - A type object that maps controller names to their state types.\n */\nexport type ComposableControllerMessenger<\n ComposableControllerState extends ComposableControllerStateConstraint,\n> = RestrictedControllerMessenger<\n typeof controllerName,\n never,\n | ComposableControllerEvents<ComposableControllerState>\n | AllowedEvents<ComposableControllerState>,\n never,\n AllowedEvents<ComposableControllerState>['type']\n>;\n\n/**\n * Controller that composes multiple child controllers and maintains up-to-date composed state.\n *\n * @template ComposableControllerState - A type object containing the names and state types of the child controllers.\n * @template ChildControllers - A union type of the child controllers being used to instantiate the {@link ComposableController}.\n */\nexport class ComposableController<\n ComposableControllerState extends LegacyComposableControllerStateConstraint,\n ChildControllers extends ControllerInstance,\n> extends BaseController<\n typeof controllerName,\n ComposableControllerState,\n ComposableControllerMessenger<ComposableControllerState>\n> {\n /**\n * Creates a ComposableController instance.\n *\n * @param options - Initial options used to configure this controller\n * @param options.controllers - List of child controller instances to compose.\n * @param options.messenger - A restricted controller messenger.\n */\n\n constructor({\n controllers,\n messenger,\n }: {\n controllers: ChildControllers[];\n messenger: ComposableControllerMessenger<ComposableControllerState>;\n }) {\n if (messenger === undefined) {\n throw new Error(`Messaging system is required`);\n }\n\n super({\n name: controllerName,\n metadata: controllers.reduce<StateMetadata<ComposableControllerState>>(\n (metadata, controller) => ({\n ...metadata,\n [controller.name]: isBaseController(controller)\n ? controller.metadata\n : { persist: true, anonymous: true },\n }),\n {} as never,\n ),\n state: controllers.reduce<ComposableControllerState>(\n (state, controller) => {\n return { ...state, [controller.name]: controller.state };\n },\n {} as never,\n ),\n messenger,\n });\n\n controllers.forEach((controller) =>\n this.#updateChildController(controller),\n );\n }\n\n /**\n * Constructor helper that subscribes to child controller state changes.\n *\n * @param controller - Controller instance to update\n */\n #updateChildController(controller: ControllerInstance): void {\n const { name } = controller;\n if (!isBaseController(controller) && !isBaseControllerV1(controller)) {\n // False negative. `name` is a string type.\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n throw new Error(`${name} - ${INVALID_CONTROLLER_ERROR}`);\n }\n try {\n this.messagingSystem.subscribe(\n // False negative. `name` is a string type.\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n `${name}:stateChange`,\n (childState: LegacyControllerStateConstraint) => {\n this.update((state) => {\n Object.assign(state, { [name]: childState });\n });\n },\n );\n } catch (error: unknown) {\n // False negative. `name` is a string type.\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n console.error(`${name} - ${String(error)}`);\n }\n if (isBaseControllerV1(controller)) {\n controller.subscribe((childState: StateConstraintV1) => {\n this.update((state) => {\n Object.assign(state, { [name]: childState });\n });\n });\n }\n }\n}\n\nexport default ComposableController;\n"]}
package/dist/index.cjs ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ComposableController = void 0;
4
+ var ComposableController_1 = require("./ComposableController.cjs");
5
+ Object.defineProperty(exports, "ComposableController", { enumerable: true, get: function () { return ComposableController_1.ComposableController; } });
6
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAMA,mEAA8D;AAArD,4HAAA,oBAAoB,OAAA","sourcesContent":["export type {\n ComposableControllerStateConstraint,\n ComposableControllerStateChangeEvent,\n ComposableControllerEvents,\n ComposableControllerMessenger,\n} from './ComposableController';\nexport { ComposableController } from './ComposableController';\n"]}
@@ -0,0 +1,3 @@
1
+ export type { ComposableControllerStateConstraint, ComposableControllerStateChangeEvent, ComposableControllerEvents, ComposableControllerMessenger, } from "./ComposableController.cjs";
2
+ export { ComposableController } from "./ComposableController.cjs";
3
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,mCAAmC,EACnC,oCAAoC,EACpC,0BAA0B,EAC1B,6BAA6B,GAC9B,mCAA+B;AAChC,OAAO,EAAE,oBAAoB,EAAE,mCAA+B"}
@@ -0,0 +1,3 @@
1
+ export type { ComposableControllerStateConstraint, ComposableControllerStateChangeEvent, ComposableControllerEvents, ComposableControllerMessenger, } from "./ComposableController.mjs";
2
+ export { ComposableController } from "./ComposableController.mjs";
3
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,mCAAmC,EACnC,oCAAoC,EACpC,0BAA0B,EAC1B,6BAA6B,GAC9B,mCAA+B;AAChC,OAAO,EAAE,oBAAoB,EAAE,mCAA+B"}
package/dist/index.mjs CHANGED
@@ -1,7 +1,2 @@
1
- import {
2
- ComposableController
3
- } from "./chunk-JXHGHET3.mjs";
4
- export {
5
- ComposableController
6
- };
1
+ export { ComposableController } from "./ComposableController.mjs";
7
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,mCAA+B","sourcesContent":["export type {\n ComposableControllerStateConstraint,\n ComposableControllerStateChangeEvent,\n ComposableControllerEvents,\n ComposableControllerMessenger,\n} from './ComposableController';\nexport { ComposableController } from './ComposableController';\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask-previews/composable-controller",
3
- "version": "9.0.0-preview-367cb1da",
3
+ "version": "9.0.0-preview-cf09c0a",
4
4
  "description": "Consolidates the state from multiple controllers into one",
5
5
  "keywords": [
6
6
  "MetaMask",
@@ -18,19 +18,24 @@
18
18
  "sideEffects": false,
19
19
  "exports": {
20
20
  ".": {
21
- "import": "./dist/index.mjs",
22
- "require": "./dist/index.js",
23
- "types": "./dist/types/index.d.ts"
21
+ "import": {
22
+ "types": "./dist/index.d.mts",
23
+ "default": "./dist/index.mjs"
24
+ },
25
+ "require": {
26
+ "types": "./dist/index.d.cts",
27
+ "default": "./dist/index.cjs"
28
+ }
24
29
  },
25
30
  "./package.json": "./package.json"
26
31
  },
27
- "main": "./dist/index.js",
28
- "types": "./dist/types/index.d.ts",
32
+ "main": "./dist/index.cjs",
33
+ "types": "./dist/index.d.cts",
29
34
  "files": [
30
35
  "dist/"
31
36
  ],
32
37
  "scripts": {
33
- "build": "tsup --config ../../tsup.config.ts --tsconfig ./tsconfig.build.json --clean",
38
+ "build": "ts-bridge --project tsconfig.build.json --verbose --clean --no-references",
34
39
  "build:docs": "typedoc",
35
40
  "changelog:update": "../../scripts/update-changelog.sh @metamask/composable-controller",
36
41
  "changelog:validate": "../../scripts/validate-changelog.sh @metamask/composable-controller",
@@ -1,13 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
-
4
-
5
-
6
- var _chunkND5SDYPOjs = require('./chunk-ND5SDYPO.js');
7
-
8
-
9
-
10
-
11
-
12
- exports.ComposableController = _chunkND5SDYPOjs.ComposableController; exports.INVALID_CONTROLLER_ERROR = _chunkND5SDYPOjs.INVALID_CONTROLLER_ERROR; exports.controllerName = _chunkND5SDYPOjs.controllerName; exports.default = _chunkND5SDYPOjs.ComposableController_default;
13
- //# sourceMappingURL=ComposableController.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,103 +0,0 @@
1
- var __accessCheck = (obj, member, msg) => {
2
- if (!member.has(obj))
3
- throw TypeError("Cannot " + msg);
4
- };
5
- var __privateAdd = (obj, member, value) => {
6
- if (member.has(obj))
7
- throw TypeError("Cannot add the same private member more than once");
8
- member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
9
- };
10
- var __privateMethod = (obj, member, method) => {
11
- __accessCheck(obj, member, "access private method");
12
- return method;
13
- };
14
-
15
- // src/ComposableController.ts
16
- import {
17
- BaseController,
18
- isBaseController,
19
- isBaseControllerV1
20
- } from "@metamask/base-controller";
21
- var controllerName = "ComposableController";
22
- var INVALID_CONTROLLER_ERROR = "Invalid controller: controller must have a `messagingSystem` or be a class inheriting from `BaseControllerV1`.";
23
- var _updateChildController, updateChildController_fn;
24
- var ComposableController = class extends BaseController {
25
- /**
26
- * Creates a ComposableController instance.
27
- *
28
- * @param options - Initial options used to configure this controller
29
- * @param options.controllers - List of child controller instances to compose.
30
- * @param options.messenger - A restricted controller messenger.
31
- */
32
- constructor({
33
- controllers,
34
- messenger
35
- }) {
36
- if (messenger === void 0) {
37
- throw new Error(`Messaging system is required`);
38
- }
39
- super({
40
- name: controllerName,
41
- metadata: controllers.reduce(
42
- (metadata, controller) => ({
43
- ...metadata,
44
- [controller.name]: isBaseController(controller) ? controller.metadata : { persist: true, anonymous: true }
45
- }),
46
- {}
47
- ),
48
- state: controllers.reduce(
49
- (state, controller) => {
50
- return { ...state, [controller.name]: controller.state };
51
- },
52
- {}
53
- ),
54
- messenger
55
- });
56
- /**
57
- * Constructor helper that subscribes to child controller state changes.
58
- *
59
- * @param controller - Controller instance to update
60
- */
61
- __privateAdd(this, _updateChildController);
62
- controllers.forEach(
63
- (controller) => __privateMethod(this, _updateChildController, updateChildController_fn).call(this, controller)
64
- );
65
- }
66
- };
67
- _updateChildController = new WeakSet();
68
- updateChildController_fn = function(controller) {
69
- const { name } = controller;
70
- if (!isBaseController(controller) && !isBaseControllerV1(controller)) {
71
- throw new Error(`${name} - ${INVALID_CONTROLLER_ERROR}`);
72
- }
73
- try {
74
- this.messagingSystem.subscribe(
75
- // False negative. `name` is a string type.
76
- // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
77
- `${name}:stateChange`,
78
- (childState) => {
79
- this.update((state) => {
80
- Object.assign(state, { [name]: childState });
81
- });
82
- }
83
- );
84
- } catch (error) {
85
- console.error(`${name} - ${String(error)}`);
86
- }
87
- if (isBaseControllerV1(controller)) {
88
- controller.subscribe((childState) => {
89
- this.update((state) => {
90
- Object.assign(state, { [name]: childState });
91
- });
92
- });
93
- }
94
- };
95
- var ComposableController_default = ComposableController;
96
-
97
- export {
98
- controllerName,
99
- INVALID_CONTROLLER_ERROR,
100
- ComposableController,
101
- ComposableController_default
102
- };
103
- //# sourceMappingURL=chunk-JXHGHET3.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ComposableController.ts"],"sourcesContent":["import type {\n RestrictedControllerMessenger,\n StateConstraint,\n StateConstraintV1,\n StateMetadata,\n ControllerStateChangeEvent,\n LegacyControllerStateConstraint,\n ControllerInstance,\n} from '@metamask/base-controller';\nimport {\n BaseController,\n isBaseController,\n isBaseControllerV1,\n} from '@metamask/base-controller';\nimport type { Patch } from 'immer';\n\nexport const controllerName = 'ComposableController';\n\nexport const INVALID_CONTROLLER_ERROR =\n 'Invalid controller: controller must have a `messagingSystem` or be a class inheriting from `BaseControllerV1`.';\n\n/**\n * A universal supertype for the composable controller state object.\n *\n * This type is only intended to be used for disabling the generic constraint on the `ControllerState` type argument in the `BaseController` type as a temporary solution for ensuring compatibility with BaseControllerV1 child controllers.\n * Note that it is unsuitable for general use as a type constraint.\n */\n// TODO: Replace with `ComposableControllerStateConstraint` once BaseControllerV2 migrations are completed for all controllers.\ntype LegacyComposableControllerStateConstraint = {\n // `any` is used here to disable the generic constraint on the `ControllerState` type argument in the `BaseController` type,\n // enabling composable controller state types with BaseControllerV1 state objects to be.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [name: string]: Record<string, any>;\n};\n\n/**\n * The narrowest supertype for the composable controller state object.\n * This is also a widest subtype of the 'LegacyComposableControllerStateConstraint' type.\n */\n// TODO: Replace with `{ [name: string]: StateConstraint }` once BaseControllerV2 migrations are completed for all controllers.\nexport type ComposableControllerStateConstraint = {\n [name: string]: LegacyControllerStateConstraint;\n};\n\n/**\n * A `stateChange` event for any controller instance that extends from either `BaseControllerV1` or `BaseControllerV2`.\n */\n// TODO: Replace all instances with `ControllerStateChangeEvent` once `BaseControllerV2` migrations are completed for all controllers.\ntype LegacyControllerStateChangeEvent<\n ControllerName extends string,\n ControllerState extends StateConstraintV1,\n> = {\n type: `${ControllerName}:stateChange`;\n payload: [ControllerState, Patch[]];\n};\n\n/**\n * The `stateChange` event type for the {@link ComposableControllerMessenger}.\n *\n * @template ComposableControllerState - A type object that maps controller names to their state types.\n */\nexport type ComposableControllerStateChangeEvent<\n ComposableControllerState extends ComposableControllerStateConstraint,\n> = LegacyControllerStateChangeEvent<\n typeof controllerName,\n ComposableControllerState\n>;\n\n/**\n * A union type of internal event types available to the {@link ComposableControllerMessenger}.\n *\n * @template ComposableControllerState - A type object that maps controller names to their state types.\n */\nexport type ComposableControllerEvents<\n ComposableControllerState extends ComposableControllerStateConstraint,\n> = ComposableControllerStateChangeEvent<ComposableControllerState>;\n\n/**\n * A utility type that extracts controllers from the {@link ComposableControllerState} type,\n * and derives a union type of all of their corresponding `stateChange` events.\n *\n * This type can handle both `BaseController` and `BaseControllerV1` controller instances.\n *\n * @template ComposableControllerState - A type object that maps controller names to their state types.\n */\nexport type ChildControllerStateChangeEvents<\n ComposableControllerState extends ComposableControllerStateConstraint,\n> = ComposableControllerState extends Record<\n infer ControllerName extends string,\n infer ControllerState\n>\n ? ControllerState extends StateConstraint\n ? ControllerStateChangeEvent<ControllerName, ControllerState>\n : // TODO: Remove this conditional branch once `BaseControllerV2` migrations are completed for all controllers.\n ControllerState extends StateConstraintV1\n ? LegacyControllerStateChangeEvent<ControllerName, ControllerState>\n : never\n : never;\n\n/**\n * A union type of external event types available to the {@link ComposableControllerMessenger}.\n *\n * @template ComposableControllerState - A type object that maps controller names to their state types.\n */\nexport type AllowedEvents<\n ComposableControllerState extends ComposableControllerStateConstraint,\n> = ChildControllerStateChangeEvents<ComposableControllerState>;\n\n/**\n * The messenger of the {@link ComposableController}.\n *\n * @template ComposableControllerState - A type object that maps controller names to their state types.\n */\nexport type ComposableControllerMessenger<\n ComposableControllerState extends ComposableControllerStateConstraint,\n> = RestrictedControllerMessenger<\n typeof controllerName,\n never,\n | ComposableControllerEvents<ComposableControllerState>\n | AllowedEvents<ComposableControllerState>,\n never,\n AllowedEvents<ComposableControllerState>['type']\n>;\n\n/**\n * Controller that composes multiple child controllers and maintains up-to-date composed state.\n *\n * @template ComposableControllerState - A type object containing the names and state types of the child controllers.\n * @template ChildControllers - A union type of the child controllers being used to instantiate the {@link ComposableController}.\n */\nexport class ComposableController<\n ComposableControllerState extends LegacyComposableControllerStateConstraint,\n ChildControllers extends ControllerInstance,\n> extends BaseController<\n typeof controllerName,\n ComposableControllerState,\n ComposableControllerMessenger<ComposableControllerState>\n> {\n /**\n * Creates a ComposableController instance.\n *\n * @param options - Initial options used to configure this controller\n * @param options.controllers - List of child controller instances to compose.\n * @param options.messenger - A restricted controller messenger.\n */\n\n constructor({\n controllers,\n messenger,\n }: {\n controllers: ChildControllers[];\n messenger: ComposableControllerMessenger<ComposableControllerState>;\n }) {\n if (messenger === undefined) {\n throw new Error(`Messaging system is required`);\n }\n\n super({\n name: controllerName,\n metadata: controllers.reduce<StateMetadata<ComposableControllerState>>(\n (metadata, controller) => ({\n ...metadata,\n [controller.name]: isBaseController(controller)\n ? controller.metadata\n : { persist: true, anonymous: true },\n }),\n {} as never,\n ),\n state: controllers.reduce<ComposableControllerState>(\n (state, controller) => {\n return { ...state, [controller.name]: controller.state };\n },\n {} as never,\n ),\n messenger,\n });\n\n controllers.forEach((controller) =>\n this.#updateChildController(controller),\n );\n }\n\n /**\n * Constructor helper that subscribes to child controller state changes.\n *\n * @param controller - Controller instance to update\n */\n #updateChildController(controller: ControllerInstance): void {\n const { name } = controller;\n if (!isBaseController(controller) && !isBaseControllerV1(controller)) {\n // False negative. `name` is a string type.\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n throw new Error(`${name} - ${INVALID_CONTROLLER_ERROR}`);\n }\n try {\n this.messagingSystem.subscribe(\n // False negative. `name` is a string type.\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n `${name}:stateChange`,\n (childState: LegacyControllerStateConstraint) => {\n this.update((state) => {\n Object.assign(state, { [name]: childState });\n });\n },\n );\n } catch (error: unknown) {\n // False negative. `name` is a string type.\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n console.error(`${name} - ${String(error)}`);\n }\n if (isBaseControllerV1(controller)) {\n controller.subscribe((childState: StateConstraintV1) => {\n this.update((state) => {\n Object.assign(state, { [name]: childState });\n });\n });\n }\n }\n}\n\nexport default ComposableController;\n"],"mappings":";;;;;;;;;;;;;;;AASA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGA,IAAM,iBAAiB;AAEvB,IAAM,2BACX;AAnBF;AAkIO,IAAM,uBAAN,cAGG,eAIR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,YAAY;AAAA,IACV;AAAA,IACA;AAAA,EACF,GAGG;AACD,QAAI,cAAc,QAAW;AAC3B,YAAM,IAAI,MAAM,8BAA8B;AAAA,IAChD;AAEA,UAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU,YAAY;AAAA,QACpB,CAAC,UAAU,gBAAgB;AAAA,UACzB,GAAG;AAAA,UACH,CAAC,WAAW,IAAI,GAAG,iBAAiB,UAAU,IAC1C,WAAW,WACX,EAAE,SAAS,MAAM,WAAW,KAAK;AAAA,QACvC;AAAA,QACA,CAAC;AAAA,MACH;AAAA,MACA,OAAO,YAAY;AAAA,QACjB,CAAC,OAAO,eAAe;AACrB,iBAAO,EAAE,GAAG,OAAO,CAAC,WAAW,IAAI,GAAG,WAAW,MAAM;AAAA,QACzD;AAAA,QACA,CAAC;AAAA,MACH;AAAA,MACA;AAAA,IACF,CAAC;AAYH;AAAA;AAAA;AAAA;AAAA;AAAA;AAVE,gBAAY;AAAA,MAAQ,CAAC,eACnB,sBAAK,kDAAL,WAA4B;AAAA,IAC9B;AAAA,EACF;AAsCF;AA/BE;AAAA,2BAAsB,SAAC,YAAsC;AAC3D,QAAM,EAAE,KAAK,IAAI;AACjB,MAAI,CAAC,iBAAiB,UAAU,KAAK,CAAC,mBAAmB,UAAU,GAAG;AAGpE,UAAM,IAAI,MAAM,GAAG,IAAI,MAAM,wBAAwB,EAAE;AAAA,EACzD;AACA,MAAI;AACF,SAAK,gBAAgB;AAAA;AAAA;AAAA,MAGnB,GAAG,IAAI;AAAA,MACP,CAAC,eAAgD;AAC/C,aAAK,OAAO,CAAC,UAAU;AACrB,iBAAO,OAAO,OAAO,EAAE,CAAC,IAAI,GAAG,WAAW,CAAC;AAAA,QAC7C,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF,SAAS,OAAgB;AAGvB,YAAQ,MAAM,GAAG,IAAI,MAAM,OAAO,KAAK,CAAC,EAAE;AAAA,EAC5C;AACA,MAAI,mBAAmB,UAAU,GAAG;AAClC,eAAW,UAAU,CAAC,eAAkC;AACtD,WAAK,OAAO,CAAC,UAAU;AACrB,eAAO,OAAO,OAAO,EAAE,CAAC,IAAI,GAAG,WAAW,CAAC;AAAA,MAC7C,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAGF,IAAO,+BAAQ;","names":[]}
@@ -1,103 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var __accessCheck = (obj, member, msg) => {
2
- if (!member.has(obj))
3
- throw TypeError("Cannot " + msg);
4
- };
5
- var __privateAdd = (obj, member, value) => {
6
- if (member.has(obj))
7
- throw TypeError("Cannot add the same private member more than once");
8
- member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
9
- };
10
- var __privateMethod = (obj, member, method) => {
11
- __accessCheck(obj, member, "access private method");
12
- return method;
13
- };
14
-
15
- // src/ComposableController.ts
16
-
17
-
18
-
19
-
20
- var _basecontroller = require('@metamask/base-controller');
21
- var controllerName = "ComposableController";
22
- var INVALID_CONTROLLER_ERROR = "Invalid controller: controller must have a `messagingSystem` or be a class inheriting from `BaseControllerV1`.";
23
- var _updateChildController, updateChildController_fn;
24
- var ComposableController = class extends _basecontroller.BaseController {
25
- /**
26
- * Creates a ComposableController instance.
27
- *
28
- * @param options - Initial options used to configure this controller
29
- * @param options.controllers - List of child controller instances to compose.
30
- * @param options.messenger - A restricted controller messenger.
31
- */
32
- constructor({
33
- controllers,
34
- messenger
35
- }) {
36
- if (messenger === void 0) {
37
- throw new Error(`Messaging system is required`);
38
- }
39
- super({
40
- name: controllerName,
41
- metadata: controllers.reduce(
42
- (metadata, controller) => ({
43
- ...metadata,
44
- [controller.name]: _basecontroller.isBaseController.call(void 0, controller) ? controller.metadata : { persist: true, anonymous: true }
45
- }),
46
- {}
47
- ),
48
- state: controllers.reduce(
49
- (state, controller) => {
50
- return { ...state, [controller.name]: controller.state };
51
- },
52
- {}
53
- ),
54
- messenger
55
- });
56
- /**
57
- * Constructor helper that subscribes to child controller state changes.
58
- *
59
- * @param controller - Controller instance to update
60
- */
61
- __privateAdd(this, _updateChildController);
62
- controllers.forEach(
63
- (controller) => __privateMethod(this, _updateChildController, updateChildController_fn).call(this, controller)
64
- );
65
- }
66
- };
67
- _updateChildController = new WeakSet();
68
- updateChildController_fn = function(controller) {
69
- const { name } = controller;
70
- if (!_basecontroller.isBaseController.call(void 0, controller) && !_basecontroller.isBaseControllerV1.call(void 0, controller)) {
71
- throw new Error(`${name} - ${INVALID_CONTROLLER_ERROR}`);
72
- }
73
- try {
74
- this.messagingSystem.subscribe(
75
- // False negative. `name` is a string type.
76
- // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
77
- `${name}:stateChange`,
78
- (childState) => {
79
- this.update((state) => {
80
- Object.assign(state, { [name]: childState });
81
- });
82
- }
83
- );
84
- } catch (error) {
85
- console.error(`${name} - ${String(error)}`);
86
- }
87
- if (_basecontroller.isBaseControllerV1.call(void 0, controller)) {
88
- controller.subscribe((childState) => {
89
- this.update((state) => {
90
- Object.assign(state, { [name]: childState });
91
- });
92
- });
93
- }
94
- };
95
- var ComposableController_default = ComposableController;
96
-
97
-
98
-
99
-
100
-
101
-
102
- exports.controllerName = controllerName; exports.INVALID_CONTROLLER_ERROR = INVALID_CONTROLLER_ERROR; exports.ComposableController = ComposableController; exports.ComposableController_default = ComposableController_default;
103
- //# sourceMappingURL=chunk-ND5SDYPO.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ComposableController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AASA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGA,IAAM,iBAAiB;AAEvB,IAAM,2BACX;AAnBF;AAkIO,IAAM,uBAAN,cAGG,eAIR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,YAAY;AAAA,IACV;AAAA,IACA;AAAA,EACF,GAGG;AACD,QAAI,cAAc,QAAW;AAC3B,YAAM,IAAI,MAAM,8BAA8B;AAAA,IAChD;AAEA,UAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU,YAAY;AAAA,QACpB,CAAC,UAAU,gBAAgB;AAAA,UACzB,GAAG;AAAA,UACH,CAAC,WAAW,IAAI,GAAG,iBAAiB,UAAU,IAC1C,WAAW,WACX,EAAE,SAAS,MAAM,WAAW,KAAK;AAAA,QACvC;AAAA,QACA,CAAC;AAAA,MACH;AAAA,MACA,OAAO,YAAY;AAAA,QACjB,CAAC,OAAO,eAAe;AACrB,iBAAO,EAAE,GAAG,OAAO,CAAC,WAAW,IAAI,GAAG,WAAW,MAAM;AAAA,QACzD;AAAA,QACA,CAAC;AAAA,MACH;AAAA,MACA;AAAA,IACF,CAAC;AAYH;AAAA;AAAA;AAAA;AAAA;AAAA;AAVE,gBAAY;AAAA,MAAQ,CAAC,eACnB,sBAAK,kDAAL,WAA4B;AAAA,IAC9B;AAAA,EACF;AAsCF;AA/BE;AAAA,2BAAsB,SAAC,YAAsC;AAC3D,QAAM,EAAE,KAAK,IAAI;AACjB,MAAI,CAAC,iBAAiB,UAAU,KAAK,CAAC,mBAAmB,UAAU,GAAG;AAGpE,UAAM,IAAI,MAAM,GAAG,IAAI,MAAM,wBAAwB,EAAE;AAAA,EACzD;AACA,MAAI;AACF,SAAK,gBAAgB;AAAA;AAAA;AAAA,MAGnB,GAAG,IAAI;AAAA,MACP,CAAC,eAAgD;AAC/C,aAAK,OAAO,CAAC,UAAU;AACrB,iBAAO,OAAO,OAAO,EAAE,CAAC,IAAI,GAAG,WAAW,CAAC;AAAA,QAC7C,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF,SAAS,OAAgB;AAGvB,YAAQ,MAAM,GAAG,IAAI,MAAM,OAAO,KAAK,CAAC,EAAE;AAAA,EAC5C;AACA,MAAI,mBAAmB,UAAU,GAAG;AAClC,eAAW,UAAU,CAAC,eAAkC;AACtD,WAAK,OAAO,CAAC,UAAU;AACrB,eAAO,OAAO,OAAO,EAAE,CAAC,IAAI,GAAG,WAAW,CAAC;AAAA,MAC7C,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAGF,IAAO,+BAAQ","sourcesContent":["import type {\n RestrictedControllerMessenger,\n StateConstraint,\n StateConstraintV1,\n StateMetadata,\n ControllerStateChangeEvent,\n LegacyControllerStateConstraint,\n ControllerInstance,\n} from '@metamask/base-controller';\nimport {\n BaseController,\n isBaseController,\n isBaseControllerV1,\n} from '@metamask/base-controller';\nimport type { Patch } from 'immer';\n\nexport const controllerName = 'ComposableController';\n\nexport const INVALID_CONTROLLER_ERROR =\n 'Invalid controller: controller must have a `messagingSystem` or be a class inheriting from `BaseControllerV1`.';\n\n/**\n * A universal supertype for the composable controller state object.\n *\n * This type is only intended to be used for disabling the generic constraint on the `ControllerState` type argument in the `BaseController` type as a temporary solution for ensuring compatibility with BaseControllerV1 child controllers.\n * Note that it is unsuitable for general use as a type constraint.\n */\n// TODO: Replace with `ComposableControllerStateConstraint` once BaseControllerV2 migrations are completed for all controllers.\ntype LegacyComposableControllerStateConstraint = {\n // `any` is used here to disable the generic constraint on the `ControllerState` type argument in the `BaseController` type,\n // enabling composable controller state types with BaseControllerV1 state objects to be.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [name: string]: Record<string, any>;\n};\n\n/**\n * The narrowest supertype for the composable controller state object.\n * This is also a widest subtype of the 'LegacyComposableControllerStateConstraint' type.\n */\n// TODO: Replace with `{ [name: string]: StateConstraint }` once BaseControllerV2 migrations are completed for all controllers.\nexport type ComposableControllerStateConstraint = {\n [name: string]: LegacyControllerStateConstraint;\n};\n\n/**\n * A `stateChange` event for any controller instance that extends from either `BaseControllerV1` or `BaseControllerV2`.\n */\n// TODO: Replace all instances with `ControllerStateChangeEvent` once `BaseControllerV2` migrations are completed for all controllers.\ntype LegacyControllerStateChangeEvent<\n ControllerName extends string,\n ControllerState extends StateConstraintV1,\n> = {\n type: `${ControllerName}:stateChange`;\n payload: [ControllerState, Patch[]];\n};\n\n/**\n * The `stateChange` event type for the {@link ComposableControllerMessenger}.\n *\n * @template ComposableControllerState - A type object that maps controller names to their state types.\n */\nexport type ComposableControllerStateChangeEvent<\n ComposableControllerState extends ComposableControllerStateConstraint,\n> = LegacyControllerStateChangeEvent<\n typeof controllerName,\n ComposableControllerState\n>;\n\n/**\n * A union type of internal event types available to the {@link ComposableControllerMessenger}.\n *\n * @template ComposableControllerState - A type object that maps controller names to their state types.\n */\nexport type ComposableControllerEvents<\n ComposableControllerState extends ComposableControllerStateConstraint,\n> = ComposableControllerStateChangeEvent<ComposableControllerState>;\n\n/**\n * A utility type that extracts controllers from the {@link ComposableControllerState} type,\n * and derives a union type of all of their corresponding `stateChange` events.\n *\n * This type can handle both `BaseController` and `BaseControllerV1` controller instances.\n *\n * @template ComposableControllerState - A type object that maps controller names to their state types.\n */\nexport type ChildControllerStateChangeEvents<\n ComposableControllerState extends ComposableControllerStateConstraint,\n> = ComposableControllerState extends Record<\n infer ControllerName extends string,\n infer ControllerState\n>\n ? ControllerState extends StateConstraint\n ? ControllerStateChangeEvent<ControllerName, ControllerState>\n : // TODO: Remove this conditional branch once `BaseControllerV2` migrations are completed for all controllers.\n ControllerState extends StateConstraintV1\n ? LegacyControllerStateChangeEvent<ControllerName, ControllerState>\n : never\n : never;\n\n/**\n * A union type of external event types available to the {@link ComposableControllerMessenger}.\n *\n * @template ComposableControllerState - A type object that maps controller names to their state types.\n */\nexport type AllowedEvents<\n ComposableControllerState extends ComposableControllerStateConstraint,\n> = ChildControllerStateChangeEvents<ComposableControllerState>;\n\n/**\n * The messenger of the {@link ComposableController}.\n *\n * @template ComposableControllerState - A type object that maps controller names to their state types.\n */\nexport type ComposableControllerMessenger<\n ComposableControllerState extends ComposableControllerStateConstraint,\n> = RestrictedControllerMessenger<\n typeof controllerName,\n never,\n | ComposableControllerEvents<ComposableControllerState>\n | AllowedEvents<ComposableControllerState>,\n never,\n AllowedEvents<ComposableControllerState>['type']\n>;\n\n/**\n * Controller that composes multiple child controllers and maintains up-to-date composed state.\n *\n * @template ComposableControllerState - A type object containing the names and state types of the child controllers.\n * @template ChildControllers - A union type of the child controllers being used to instantiate the {@link ComposableController}.\n */\nexport class ComposableController<\n ComposableControllerState extends LegacyComposableControllerStateConstraint,\n ChildControllers extends ControllerInstance,\n> extends BaseController<\n typeof controllerName,\n ComposableControllerState,\n ComposableControllerMessenger<ComposableControllerState>\n> {\n /**\n * Creates a ComposableController instance.\n *\n * @param options - Initial options used to configure this controller\n * @param options.controllers - List of child controller instances to compose.\n * @param options.messenger - A restricted controller messenger.\n */\n\n constructor({\n controllers,\n messenger,\n }: {\n controllers: ChildControllers[];\n messenger: ComposableControllerMessenger<ComposableControllerState>;\n }) {\n if (messenger === undefined) {\n throw new Error(`Messaging system is required`);\n }\n\n super({\n name: controllerName,\n metadata: controllers.reduce<StateMetadata<ComposableControllerState>>(\n (metadata, controller) => ({\n ...metadata,\n [controller.name]: isBaseController(controller)\n ? controller.metadata\n : { persist: true, anonymous: true },\n }),\n {} as never,\n ),\n state: controllers.reduce<ComposableControllerState>(\n (state, controller) => {\n return { ...state, [controller.name]: controller.state };\n },\n {} as never,\n ),\n messenger,\n });\n\n controllers.forEach((controller) =>\n this.#updateChildController(controller),\n );\n }\n\n /**\n * Constructor helper that subscribes to child controller state changes.\n *\n * @param controller - Controller instance to update\n */\n #updateChildController(controller: ControllerInstance): void {\n const { name } = controller;\n if (!isBaseController(controller) && !isBaseControllerV1(controller)) {\n // False negative. `name` is a string type.\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n throw new Error(`${name} - ${INVALID_CONTROLLER_ERROR}`);\n }\n try {\n this.messagingSystem.subscribe(\n // False negative. `name` is a string type.\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n `${name}:stateChange`,\n (childState: LegacyControllerStateConstraint) => {\n this.update((state) => {\n Object.assign(state, { [name]: childState });\n });\n },\n );\n } catch (error: unknown) {\n // False negative. `name` is a string type.\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n console.error(`${name} - ${String(error)}`);\n }\n if (isBaseControllerV1(controller)) {\n controller.subscribe((childState: StateConstraintV1) => {\n this.update((state) => {\n Object.assign(state, { [name]: childState });\n });\n });\n }\n }\n}\n\nexport default ComposableController;\n"]}
package/dist/index.js DELETED
@@ -1,7 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
- var _chunkND5SDYPOjs = require('./chunk-ND5SDYPO.js');
4
-
5
-
6
- exports.ComposableController = _chunkND5SDYPOjs.ComposableController;
7
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../types/eth-ens-namehash.d.ts","../../../types/ethereum-ens-network-map.d.ts","../../../types/ethjs-query.d.ts","../../../types/global.d.ts","../../../types/single-call-balance-checker-abi.d.ts","../../../types/@metamask/contract-metadata.d.ts","../../../types/@metamask/eth-hd-keyring.d.ts","../../../types/@metamask/eth-simple-keyring.d.ts","../../../types/@metamask/ethjs-provider-http.d.ts","../../../types/@metamask/ethjs-unit.d.ts","../../../types/@metamask/metamask-eth-abis.d.ts","../../../types/eth-json-rpc-infura/src/createProvider.d.ts","../../../types/eth-phishing-detect/src/config.json.d.ts","../../../types/eth-phishing-detect/src/detector.d.ts","../../../node_modules/@metamask/superstruct/dist/error.d.cts","../../../node_modules/@metamask/superstruct/dist/utils.d.cts","../../../node_modules/@metamask/superstruct/dist/struct.d.cts","../../../node_modules/@metamask/superstruct/dist/structs/coercions.d.cts","../../../node_modules/@metamask/superstruct/dist/structs/refinements.d.cts","../../../node_modules/@metamask/superstruct/dist/structs/types.d.cts","../../../node_modules/@metamask/superstruct/dist/structs/utilities.d.cts","../../../node_modules/@metamask/superstruct/dist/index.d.cts","../../../node_modules/@metamask/utils/dist/assert.d.cts","../../../node_modules/@metamask/utils/dist/base64.d.cts","../../../node_modules/@metamask/utils/dist/hex.d.cts","../../../node_modules/@metamask/utils/dist/bytes.d.cts","../../../node_modules/@metamask/utils/dist/caip-types.d.cts","../../../node_modules/@metamask/utils/dist/checksum.d.cts","../../../node_modules/@metamask/utils/dist/coercers.d.cts","../../../node_modules/@metamask/utils/dist/collections.d.cts","../../../node_modules/@metamask/utils/dist/encryption-types.d.cts","../../../node_modules/@metamask/utils/dist/errors.d.cts","../../../node_modules/@metamask/utils/dist/json.d.cts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@ethereumjs/common/dist/enums.d.ts","../../../node_modules/@ethereumjs/common/dist/types.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/@ethereumjs/util/dist/constants.d.ts","../../../node_modules/@ethereumjs/util/dist/units.d.ts","../../../node_modules/@ethereumjs/util/dist/address.d.ts","../../../node_modules/@ethereumjs/util/dist/bytes.d.ts","../../../node_modules/@ethereumjs/util/dist/types.d.ts","../../../node_modules/@ethereumjs/util/dist/account.d.ts","../../../node_modules/@ethereumjs/util/dist/withdrawal.d.ts","../../../node_modules/@ethereumjs/util/dist/signature.d.ts","../../../node_modules/@ethereumjs/util/dist/encoding.d.ts","../../../node_modules/@ethereumjs/util/dist/asyncEventEmitter.d.ts","../../../node_modules/@ethereumjs/util/dist/internal.d.ts","../../../node_modules/@ethereumjs/util/dist/lock.d.ts","../../../node_modules/@ethereumjs/util/dist/provider.d.ts","../../../node_modules/@ethereumjs/util/dist/index.d.ts","../../../node_modules/@ethereumjs/common/dist/common.d.ts","../../../node_modules/@ethereumjs/common/dist/utils.d.ts","../../../node_modules/@ethereumjs/common/dist/index.d.ts","../../../node_modules/@ethereumjs/tx/dist/eip2930Transaction.d.ts","../../../node_modules/@ethereumjs/tx/dist/legacyTransaction.d.ts","../../../node_modules/@ethereumjs/tx/dist/types.d.ts","../../../node_modules/@ethereumjs/tx/dist/baseTransaction.d.ts","../../../node_modules/@ethereumjs/tx/dist/eip1559Transaction.d.ts","../../../node_modules/@ethereumjs/tx/dist/transactionFactory.d.ts","../../../node_modules/@ethereumjs/tx/dist/index.d.ts","../../../node_modules/@metamask/utils/dist/keyring.d.cts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@metamask/utils/dist/logging.d.cts","../../../node_modules/@metamask/utils/dist/misc.d.cts","../../../node_modules/@metamask/utils/dist/number.d.cts","../../../node_modules/@metamask/utils/dist/opaque.d.cts","../../../node_modules/@metamask/utils/dist/promise.d.cts","../../../node_modules/@metamask/utils/dist/time.d.cts","../../../node_modules/@metamask/utils/dist/transaction-types.d.cts","../../../node_modules/@metamask/utils/dist/versions.d.cts","../../../node_modules/@metamask/utils/dist/index.d.cts","../../../node_modules/immer/dist/utils/env.d.ts","../../../node_modules/immer/dist/utils/errors.d.ts","../../../node_modules/immer/dist/types/types-external.d.ts","../../../node_modules/immer/dist/types/types-internal.d.ts","../../../node_modules/immer/dist/utils/common.d.ts","../../../node_modules/immer/dist/utils/plugins.d.ts","../../../node_modules/immer/dist/core/scope.d.ts","../../../node_modules/immer/dist/core/finalize.d.ts","../../../node_modules/immer/dist/core/proxy.d.ts","../../../node_modules/immer/dist/core/immerClass.d.ts","../../../node_modules/immer/dist/core/current.d.ts","../../../node_modules/immer/dist/internal.d.ts","../../../node_modules/immer/dist/plugins/es5.d.ts","../../../node_modules/immer/dist/plugins/patches.d.ts","../../../node_modules/immer/dist/plugins/mapset.d.ts","../../../node_modules/immer/dist/plugins/all.d.ts","../../../node_modules/immer/dist/immer.d.ts","../../base-controller/dist/types/RestrictedControllerMessenger.d.ts","../../base-controller/dist/types/ControllerMessenger.d.ts","../../base-controller/dist/types/BaseControllerV2.d.ts","../../base-controller/dist/types/BaseControllerV1.d.ts","../../base-controller/dist/types/index.d.ts","../src/ComposableController.ts","../src/index.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/bn.js/index.d.ts","../../../node_modules/@types/deep-freeze-strict/index.d.ts","../../../node_modules/@types/eslint/helpers.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/eslint/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/jest-diff/build/cleanupSemantic.d.ts","../../../node_modules/pretty-format/build/types.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/types.d.ts","../../../node_modules/jest-diff/build/diffLines.d.ts","../../../node_modules/jest-diff/build/printDiffs.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/jest-when/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/pbkdf2/index.d.ts","../../../node_modules/@types/prettier/index.d.ts","../../../node_modules/@types/punycode/index.d.ts","../../../node_modules/@types/readable-stream/node_modules/safe-buffer/index.d.ts","../../../node_modules/@types/readable-stream/index.d.ts","../../../node_modules/@types/secp256k1/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/@types/uuid/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"2ac9cdcfb8f8875c18d14ec5796a8b029c426f73ad6dc3ffb580c228b58d1c44","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"0075fa5ceda385bcdf3488e37786b5a33be730e8bc4aa3cf1e78c63891752ce8","affectsGlobalScope":true,"impliedFormat":1},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true,"impliedFormat":1},{"version":"09226e53d1cfda217317074a97724da3e71e2c545e18774484b61562afc53cd2","affectsGlobalScope":true,"impliedFormat":1},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b41361862022eb72fcc8a7f34680ac842aca802cf4bc1f915e8c620c9ce4331","affectsGlobalScope":true,"impliedFormat":1},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true,"impliedFormat":1},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true,"impliedFormat":1},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true,"impliedFormat":1},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true,"impliedFormat":1},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true,"impliedFormat":1},{"version":"f35a831e4f0fe3b3697f4a0fe0e3caa7624c92b78afbecaf142c0f93abfaf379","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"70bbfaec021ac4a0c805374225b55d70887f987df8b8dd7711d79464bb7b4385","impliedFormat":1},{"version":"869089d60b67219f63e6aca810284c89bae1b384b5cbc7ce64e53d82ad223ed5","impliedFormat":1},{"version":"fe8f00e1ffe6c8069f2568844debb342a661980c30e52b132f002b93f66de47e","impliedFormat":1},{"version":"f31113ac9492fdd6e78bf6151b338c92e5b1837be426ef4aa0648ce82d13b518","affectsGlobalScope":true,"impliedFormat":1},{"version":"62a0875a0397b35a2364f1d401c0ce17975dfa4d47bf6844de858ae04da349f9","impliedFormat":1},{"version":"ee7491d0318d1fafcba97d5b72b450eb52671570f7a4ecd9e8898d40eaae9472","impliedFormat":1},{"version":"e3e7d217d89b380c1f34395eadc9289542851b0f0a64007dfe1fb7cf7423d24e","impliedFormat":1},{"version":"fd79909e93b4d50fd0ed9f3d39ddf8ba0653290bac25c295aac49f6befbd081b","impliedFormat":1},{"version":"345a9cc2945406f53051cd0e9b51f82e1e53929848eab046fdda91ee8aa7da31","impliedFormat":1},{"version":"9debe2de883da37a914e5e784a7be54c201b8f1d783822ad6f443ff409a5ea21","impliedFormat":1},{"version":"dee5d5c5440cda1f3668f11809a5503c30db0476ad117dd450f7ba5a45300e8f","impliedFormat":1},{"version":"f5e396c1424c391078c866d6f84afe0b4d2f7f85a160b9c756cd63b5b1775d93","impliedFormat":1},{"version":"5caa6f4fff16066d377d4e254f6c34c16540da3809cd66cd626a303bc33c419f","impliedFormat":1},{"version":"730d055528bdf12c8524870bb33d237991be9084c57634e56e5d8075f6605e02","impliedFormat":1},{"version":"c26b7050e19f8f555605db02f6cfae645ec7928d2dd6f428790e01a163795f97","impliedFormat":1},{"version":"df877ab086035627f1d36150d33204d3d7d097b67a41b8d31f621afd32b618ba","impliedFormat":1},{"version":"30a340292b28c797f55fe80ccab953d6ff310165a5c871717a0ff7ba474b05c6","impliedFormat":1},{"version":"d2e0607a2ea008ec9f4cf46954e8e21c94bd42373bdb780ed8f27d8deab90907","impliedFormat":1},{"version":"8a6e0aeb87d2ec01563a82b20f98e0a740d81d8e600286fb378b39c1cf0905b4","impliedFormat":1},{"version":"d645973bd03c1b0b0d2817ffcfc6346c7e6ce94df7cf6a46087d27a347eb6f73","impliedFormat":1},{"version":"17ae0674c777ae1c8f912c247b0195604494b417d8da457ac6dfec8907a180c1","impliedFormat":1},{"version":"4cb8668d4cdad969d15718ffed6a75a68ffa026b3d4208a37a5842dc3f8aee9f","impliedFormat":1},{"version":"8e775a861341ec44847ac043ab2b60edc18dafc6b895acbb5f5628b465c61f62","impliedFormat":1},{"version":"69896bb78fcf1307b0f592839c8f1a7f6977bc4d55ec1fb2db046c8c7c0c25ae","impliedFormat":1},{"version":"c8ef51808d56e538840e26043483eab15df31026cf2b3fd47a279b0eec01fa69","impliedFormat":1},{"version":"11f688c9704ffff4c6dd7b9892d379b5f36f4e7408833168fe491181e5e049fe","impliedFormat":1},{"version":"05f81de0826c2631a7fce8bdbce6a79773ab397a122670c19564c8246b43a45a","impliedFormat":1},{"version":"70dbd132cafd25ff48f589e4adc467eefe258f640a651b3846fe9218e0ee2fe3","impliedFormat":1},{"version":"457b8e22ca4672e962ec7b55ab0cc5d68cfcdd8cf4ffba250df9e6c1eb0540a5","impliedFormat":1},{"version":"30e81e0d15a6cca02397e1aa517166e03ce0a28f0e6d53e25440ef22b31f64ab","impliedFormat":1},{"version":"d85503a3b889c475f2a56348c44d7c2aba42e5a7587fa06bbc46ccdd4258bd94","impliedFormat":1},{"version":"3442bd24d7d746b3a79f2bc44d8456f58ea4d841dbf6eced8c41607e980287c0","impliedFormat":1},{"version":"57540a291cb6fbd3b75616d3db9cf2b27a5f6b96733774ccac542432b86b8daa","impliedFormat":1},{"version":"3e0d35597ff6c5142082e60814fa39c8a2077a58d8a6a262e619afb5f855f6ba","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"056097110efd16869ec118cedb44ecbac9a019576eee808d61304ca6d5cb2cbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"f51b4042a3ac86f1f707500a9768f88d0b0c1fc3f3e45a73333283dea720cdc6","impliedFormat":1},{"version":"4e77922a2627fe9a0cc6c96adddc7cc5b3c0666b2581b812582380714cd4492a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3dca3e952c8df3d5f78c55e53b6bb735bebf323ec6bae656c503e892cd4eb78d","impliedFormat":1},{"version":"661a11d16ad2e3543a77c53bcd4017ee9a450f47ab7def3ab493a86eae4d550c","impliedFormat":1},{"version":"8cdc646cec7819581ef343b83855b1bfe4fe674f2c84f4fb8dc90d82fb56bd3a","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"a847ac812e3f49e72601b1462faa1f80984b3e606190f548f4dfe9f0c8ef35cf","impliedFormat":1},{"version":"6c39d4dbdb372b364442854e42d8c473e2ec67badb226745af17ed5ac41ce6f5","impliedFormat":1},{"version":"7693b90b3075deaccafd5efb467bf9f2b747a3075be888652ef73e64396d8628","impliedFormat":1},{"version":"1bcc1e650cb04a29b65ef9227290792476ea416b5c342ce025417727618ecf6f","impliedFormat":1},{"version":"988b518a683e0203d1a4aa56dce733814299e0869d87da5899b098baa08fb40f","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4a3399b36463f19d8b5654caee162eb9def18c1ba3f735ba3c06413ab0b72a5","impliedFormat":1},{"version":"f7f13beb30daef3fabb51734f79aa39a876569b528364871ef91a5e01b9733d2","affectsGlobalScope":true,"impliedFormat":1},{"version":"171d02c5040b15102025d9e6357cc884e36c232a7e491c6be6259d85e9ac8437","impliedFormat":1},{"version":"addacad25729b8ba7c3f8cdd74a3afa191dbdd46e4efcc7b7db2ec4f8f0b9f71","impliedFormat":1},{"version":"aaa36a3ede6e754b88ad45ac785de8563f1808937e4a133f13fe36e22dac0593","impliedFormat":1},{"version":"bb6d313b87960df2630a8dd9119751723e3600038e5ca123ccaf9a15f47e9eaa","impliedFormat":1},{"version":"7e4217814fc7349400fa44f24d53f0932b6b0b70b21ea9024225f634afa998a1","impliedFormat":1},{"version":"43ec77c369473e92e2ecebf0554a0fdaa9c256644a6070f28228dfcceec77351","impliedFormat":1},{"version":"2dc06aeb1e2a47b03dfbe68952956fc9b82afed9a921424f91b9ba00e1d3205a","affectsGlobalScope":true,"impliedFormat":1},{"version":"d2388edcfda2b2f9a9762b196387b95e0b688f6c3e21ff8a86c6a7518f8ce0a8","impliedFormat":1},{"version":"4be60abb12ee8573738f06e47e3fe99436669d4b3546f0ae7a9a59b93fba3951","impliedFormat":1},{"version":"dd67d2b5e4e8a182a38de8e69fb736945eaa4588e0909c14e01a14bd3cc1fd1e","impliedFormat":1},{"version":"c161a5c9072c8807a3369d940ab0b9d2d98ed406c080afa6063ebc7ee20eb44d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0d09f4b48899d342b5d6cd846f95f969a401933b0dcd375a8a7e45832328bb86","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc6ef5733d4ea6d2e06310a32dffd2c16418b467c5033d49cecc4f3a25de7497","impliedFormat":1},{"version":"94768454c3348b6ebe48e45fbad8c92e2bb7af4a35243edbe2b90823d0bd7f9a","impliedFormat":1},{"version":"0be79b3ff0f16b6c2f9bc8c4cc7097ea417d8d67f8267f7e1eec8e32b548c2ff","impliedFormat":1},{"version":"88e485c93a1443952cb336167d49b82c33f6c0ca598608c943dc44f724f13e72","impliedFormat":1},{"version":"1ad9ae9e496d80dfb5cd49c7958aca4d48647599f2599d2ca1c67a72c23c7899","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"6e191fea1db6e9e4fa828259cf489e820ec9170effff57fb081a2f3295db4722","impliedFormat":1},{"version":"aed943465fbce1efe49ee16b5ea409050f15cd8eaf116f6fadb64ef0772e7d95","impliedFormat":1},{"version":"70d08483a67bf7050dbedace398ef3fee9f436fcd60517c97c4c1e22e3c6f3e8","impliedFormat":1},{"version":"f71188f97c9f7d309798ec02a56dd3bf50a4e4d079b3480f275ac13719953898","impliedFormat":1},{"version":"e933de8143e1d12dd51d89b398760fd5a9081896be366dad88a922d0b29f3c69","affectsGlobalScope":true,"impliedFormat":1},{"version":"4e228e78c1e9b0a75c70588d59288f63a6258e8b1fe4a67b0c53fe03461421d9","impliedFormat":1},{"version":"c92436ab2b0f306458fefa7121f81edd53c9b4bb3bb92d8b1cf6c9a2355e944b","impliedFormat":1},{"version":"8e1f7c597c91a204847ea79b8f225ebe2e817278959b41afaabc5a297dfe802b","impliedFormat":1},{"version":"875c46cfd441e361416221859dc40617936fbbbe77c4b842b66b6a1fd74f2368","impliedFormat":1},{"version":"a05e2d784c9be7051c4ac87a407c66d2106e23490c18c038bbd0712bde7602fd","affectsGlobalScope":true,"impliedFormat":1},{"version":"9f045c02a95c50d245e35aae2c070ac0a804f13c7a810f49f4b296361da133a7","affectsGlobalScope":true,"impliedFormat":1},{"version":"cf434b5c04792f62d6f4bdd5e2c8673f36e638e910333c172614d5def9b17f98","impliedFormat":1},{"version":"1d65d4798df9c2df008884035c41d3e67731f29db5ecb64cd7378797c7c53a2f","impliedFormat":1},{"version":"0faee6b555890a1cb106e2adc5d3ffd89545b1da894d474e9d436596d654998f","impliedFormat":1},{"version":"129f54f0e0b0dbf88d6578d627c54bd8599ecbdd9743b6788320d26e49fc5485","impliedFormat":1},{"version":"867f95abf1df444aab146b19847391fc2f922a55f6a970a27ed8226766cee29f","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0297b09e607bec9698cac7cf55463d6731406efb1161ee4d448293b47397c84","impliedFormat":1},{"version":"f9623ef5cecfa8ae05c1a3bb8cf81c0c723ec124e46f71e3104ef665fe74ad10","impliedFormat":1},{"version":"809a57de65ca328f47f4639ba1a8a4348af2c9f91a060e77bdd3dd92dd71b492","impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"016990463a717488f46aeba06125b987d0d7c77dc09d27d47ea2760f1af7f4da","impliedFormat":1},{"version":"692c448209a6699a345b5318ae2fc0612ee95c52812f0abf81dc902260ce572f","impliedFormat":1},{"version":"6ba92d2209defae5551c58f024665ad2fd965f03dd80e17b1bb1cee57ebd706a","impliedFormat":1},{"version":"d50fc26add4a7d835a29482544e4605558f3706fe14e191b1009ce70f76dadf0","impliedFormat":1},{"version":"39eb436d0226a590cc35f84b7bffae0fd613e2c4c83124be83969726df8cf269","impliedFormat":1},{"version":"e7dbb1423e552557b09a125be1c6772c94c169677146e3eaee95e6d1fc6851c8","impliedFormat":1},{"version":"aa184f01f3f0b540bddf441dc658bd472a59d519da188a2f048acb365e8ca77a","impliedFormat":1},{"version":"49798c9e2d9624bbc01cdf8371171b64a4eead49fef2853b69fe1bc2e7c75207","impliedFormat":1},{"version":"c7fb2b8c48f3a20faad1673b23366f24992afaf7d3854190e51d72e0dcad5bc8","impliedFormat":1},{"version":"c0a48e69d2a824fcf1fdd6ec59604e280c56998ac7a7e3a8514823db1de68cdd","impliedFormat":1},{"version":"4e78c87355f7e4fd9524d7582a14bf72771aeee33acb73a848de8bf2e44d8831","impliedFormat":1},{"version":"ff00f23ec0c6c986df2778657ef18073548634b31757bd496902cd00c183ae96","impliedFormat":1},{"version":"6c3351c0361b6fa16a3379508e2c4114cba7ad6d6bfcc0d5b2fb9f02aa2f83c4","impliedFormat":1},{"version":"69071e42231f3b87f71b076904875bdef914f01c3017eb6a39a33694e437b5e0","impliedFormat":1},{"version":"dee490d4ee8b309fcba02b3c49ab263b4a40946c1cd29e7b12e08b48c70cd9a2","impliedFormat":1},{"version":"7ddda341b1ad729e8da34de6378d9d1b3f64a7bef3a4a8fcdf4261c9a9c68ccb","impliedFormat":1},{"version":"174f185e6b6399ea73366bff1e454c5e54bef9b0804a57bef7f5009d1f21b9ad","impliedFormat":1},{"version":"e0d39ecd8a0627a45b9fece85425d5d048e2d0cf23d4c444d9594147605ca4bf","impliedFormat":1},{"version":"10b3b799f9675ebe2785104b5ac69a898accc5d32f86cda152fa646a2c3cdfc2","impliedFormat":1},{"version":"41ca098760de99ca2cc5de79e73e0b837e2661767e5772a983bc535ba4d86690","impliedFormat":1},{"version":"f78570ffe02941be6f7ad1b8a54642a1d6069d16cdbbb75bfe1cdf81610f0c69","impliedFormat":1},{"version":"c0a90b05dc7d2a78b2f90c9e2b1d464887ee23a71799acba659b0359785d07de","impliedFormat":1},{"version":"0557cef4f85111361244bad1e684ce9cadb326e582f78ad70d31c93ddb0d99f3","impliedFormat":1},{"version":"bf5413a1e4c9a2127b83ff92b52f9b3f344f91841ffb95a8a78eec6059730caf","impliedFormat":1},{"version":"c7d64c42ea284a34e9aa757537f7a37d79b07a04d409b1bea51f5a8ddda45e25","impliedFormat":1},{"version":"68cc8d6fcc2f270d7108f02f3ebc59480a54615be3e09a47e14527f349e9d53e","impliedFormat":1},{"version":"3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","impliedFormat":1},{"version":"04e90044c2e8fd4b0938a4d3f9d8e1efee7fd77ced068e4e6f0eea1102735e40","impliedFormat":1},{"version":"4ff91243ea4afd0a59dfe0704d069bcb4e23b413ba821667669102fe3ca78c78","impliedFormat":1},{"version":"b16327ee01357bc4b698d8d464e0050585d17357420f2b4d184c96abf6373990","impliedFormat":1},{"version":"e247271d2e5f60a37056511587b7c3df27f9abcf0a5ea95ed8cee786cef48478","impliedFormat":1},{"version":"01dfb59624113bd88e1059623cecd7943c845b09c4394acea0aa439786d13edb","impliedFormat":1},{"version":"fe81fb714ee64eb7219b1cabad2fcad57bbd38f9474a583d718c8eb82b6241e0","impliedFormat":1},{"version":"9bdfb026298a0a75c054478fdd19b0de4b1bf7dfbfff84781b0f1da25d81c6b4","impliedFormat":1},{"version":"3c332d20a736ef5b8e760ac9100f4fdd0022534d51e4f0f29d40eea9c15ecd86","impliedFormat":1},{"version":"6c1a41c6039219da236aba5ca487585e9e98958c885023f1d39c066b48949734","impliedFormat":1},{"version":"3f425f99f8dbc920370d86c5b7ebff7b2a710fd991b012559d35f9e4adee1661","impliedFormat":1},{"version":"1ad191863b99a80efa56eab1a724da76641fa0a31333dbdb1dca4e6bd182309a","impliedFormat":1},{"version":"2270cf0bacf7d694e3047c8fa13873b7025e6ddfa0f7b63acee44c1e9927bcc0","impliedFormat":1},{"version":"8ffc8385762a724b7eebfa8317152bfba4512168d6d906f1a9698a9a6038b47b","impliedFormat":1},{"version":"cfff1509be4fd735a305637de296711313d8660644b766c4e6b603baf7149b12","impliedFormat":1},{"version":"4535531d0b0bba5cfb0917f13f9d4a50cea4239895de55c02b0f6bc3f3eb646d","impliedFormat":1},{"version":"797ed7a333103aa45a7cebfaf9a04454b59a22a7faf2e9f5a743d9ee44cd8024","impliedFormat":1},{"version":"3cb7cceea4cf68d02e5eba1f412ef0706ba60fbefd8a9c5f3a839bfa35857967","impliedFormat":1},{"version":"3042247c61fa9d67ff654424d9864e2dc7b9ff080540b960cbcdba18002a375a","impliedFormat":1},{"version":"3e0b0c20c7c314d9278c0b6b08b8d84f4552fb4acbb641ddc33deb35dc54f723","impliedFormat":1},{"version":"2d3b3589a50def08e636031988f1344d7c26f1b6bbf3b0e0078922a6770d9bb1","impliedFormat":1},{"version":"92e8887e25fd27cacf0bd6b84d388536ff843d46e2eee88a1659369a19bf6453","impliedFormat":1},{"version":"08f2ee0e58420657f003cb53c801e3bbb08de2d0a3f4cb77ea8cf6f3675f3722","impliedFormat":1},{"version":"2ab874598ce7f5b3f693ce4e2de5647944845c50396b147f8a5f7c7d06dc0bc7","impliedFormat":1},{"version":"fc02a0675473c0fe3f528753abb9328a04122f4204856202b26c1ebaa35fb9e5","impliedFormat":1},{"version":"110afe66c4206c0a14e9777d421db05c1b77fbe1736c4bcde21cb98daa147116","impliedFormat":1},{"version":"a623ad0abc212091a2307c131f1c7711f5d38e3f8c1ddb1c3bc9c0eec212d213","impliedFormat":1},{"version":"39dbe5db5a67ad38a2a2dc840ca8158cc83cbc29e7cb4c3936099b1ae24889cf","impliedFormat":1},{"version":"bbf6b7a072488c5c4a68499e9e0c1af81ca51f51484d4b04961e2df855362675","impliedFormat":1},{"version":"e6e0f28c0149a76f6aa35f2640ac4ff9badfd08cb49475972e8a8c0dd109c1c0","impliedFormat":1},{"version":"a3c3378cb2e8113142c571eb3558e3639adab4d3fa7e5120b5dba770ae49c296","impliedFormat":1},{"version":"765d50f37d1ce20a5cb820cdb96b86a9e5f877a16f328beb4a1c446a6fc66736","impliedFormat":1},{"version":"f7ad43d8015cd930026e95c808c6c99777a10c568df5fad9d165e78ab9869925","signature":"39e36bfebc550c175e257347eb0c556d09063441d5bb4d1790697357831248a9","impliedFormat":1},{"version":"025558750fe5d6151d0848660b5759cfe8744ddbe41d81b67c40f99d6286f8fe","signature":"1fa1f22aa57687b321a303fa21759143d9aa1e43deeaade0d4cee0d43a807068","impliedFormat":1},{"version":"e74998d5cefc2f29d583c10b99c1478fb810f1e46fbb06535bfb0bbba3c84aa5","impliedFormat":1},{"version":"2c8e55457aaf4902941dfdba4061935922e8ee6e120539c9801cd7b400fae050","impliedFormat":1},{"version":"43d058146b002d075f5d0033a6870321048297f1658eb0db559ba028383803a6","impliedFormat":1},{"version":"670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","impliedFormat":1},{"version":"9e0cf651e8e2c5b9bebbabdff2f7c6f8cedd91b1d9afcc0a854cdff053a88f1b","impliedFormat":1},{"version":"069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","impliedFormat":1},{"version":"8aceb205dcc6f814ad99635baf1e40b6e01d06d3fe27b72fd766c6d0b8c0c600","impliedFormat":1},{"version":"8c95f96ccd4be0674944077aec1e4f2cccd515ca06d4327562dd017250e7d3fc","impliedFormat":1},{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true,"impliedFormat":1},{"version":"ee7d8894904b465b072be0d2e4b45cf6b887cdba16a467645c4e200982ece7ea","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"dd0c1b380ba3437adedef134b2e48869449b1db0b07b2a229069309ce7b9dd39","impliedFormat":1},{"version":"afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","impliedFormat":1},{"version":"035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","impliedFormat":1},{"version":"a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","impliedFormat":1},{"version":"5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","impliedFormat":1},{"version":"462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","impliedFormat":1},{"version":"5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","impliedFormat":1},{"version":"7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","impliedFormat":1},{"version":"dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","impliedFormat":1},{"version":"1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","impliedFormat":1},{"version":"8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","impliedFormat":1},{"version":"7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73","impliedFormat":1},{"version":"ccfd8774cd9b929f63ff7dcf657977eb0652e3547f1fcac1b3a1dc5db22d4d58","affectsGlobalScope":true,"impliedFormat":1},{"version":"d92dc90fecd2552db74d8dc3c6fb4db9145b2aa0efe2c127236ba035969068d4","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"ff81bffa4ecfceae2e86b5920c3fcb250b66b1d6ed72944dffdf58123be2481b","impliedFormat":1},{"version":"458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","impliedFormat":1},{"version":"da2b6356b84a40111aaecb18304ea4e4fcb43d70efb1c13ca7d7a906445ee0d3","impliedFormat":1},{"version":"187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","impliedFormat":1},{"version":"aa2c18a1b5a086bbcaae10a4efba409cc95ba7287d8cf8f2591b53704fea3dea","impliedFormat":1},{"version":"6f294731b495c65ecf46a5694f0082954b961cf05463bea823f8014098eaffa0","impliedFormat":1},{"version":"0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","impliedFormat":1},{"version":"00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","impliedFormat":1},{"version":"bdf0ed7d9ebae6175a5d1b4ec4065d07f8099379370a804b1faff05004dc387d","impliedFormat":1},{"version":"3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","impliedFormat":1},{"version":"b03afe4bec768ae333582915146f48b161e567a81b5ebc31c4d78af089770ac9","impliedFormat":1},{"version":"df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","impliedFormat":1},{"version":"4f6a12044ee6f458db11964153830abbc499e73d065c51c329ec97407f4b13dd","impliedFormat":1},{"version":"8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","impliedFormat":1},{"version":"916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","impliedFormat":1},{"version":"254d9fb8c872d73d34594be8a200fd7311dbfa10a4116bfc465fba408052f2b3","impliedFormat":1},{"version":"d88a5e779faf033be3d52142a04fbe1cb96009868e3bbdd296b2bc6c59e06c0e","impliedFormat":1},{"version":"2ccea88888048bbfcacbc9531a5596ea48a3e7dcd0a25f531a81bb717903ba4f","impliedFormat":1},{"version":"5e379df3d61561c2ed7789b5995b9ba2143bbba21a905e2381e16efe7d1fa424","impliedFormat":1},{"version":"f07a137bbe2de7a122c37bfea00e761975fb264c49f18003d398d71b3fb35a5f","impliedFormat":1},{"version":"d8f7109e14f20eb735225a62fd3f8366da1a8349e90331cdad57f4b04caf6c5a","impliedFormat":1},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","impliedFormat":1},{"version":"7d2a0ba1297be385a89b5515b88cd31b4a1eeef5236f710166dc1b36b1741e1b","impliedFormat":1},{"version":"9d92b037978bb9525bc4b673ebddd443277542e010c0aef019c03a170ccdaa73","impliedFormat":1},{"version":"ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","impliedFormat":1},{"version":"fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e","impliedFormat":1},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"ae271d475b632ce7b03fea6d9cf6da72439e57a109672671cbc79f54e1386938","impliedFormat":1}],"root":[[46,59],193,194],"options":{"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"inlineSources":true,"module":100,"outDir":"./types","rootDir":"../src","sourceMap":true,"strict":true,"target":7},"fileIdsList":[[195],[95,131,132,133,148],[132,133,149,150],[131,132],[131,148,151,154],[131,151,154,155],[152,153,154,156,157],[131,154],[131,148,151,152,153,156],[131,139],[131],[95,131],[83,131],[135,136,137,138,139,140,141,142,143,144,145,146,147],[131,137,138],[131,137,139],[60,61,62,63,64,65,66],[60,61],[62],[61,62],[60,62],[67],[70],[67,70],[68,69,70,71,72,73,74,75,76,77,78,159,162,163,164,165,166,167,168,169],[67,68],[70,76,78,158],[161],[70,71],[67,165],[195,196,197,198,199],[195,197],[160],[203,204,205],[96,131],[208],[209],[220],[214,219],[223,225,226,227,228,229,230,231,232,233,234,235],[223,224,226,227,228,229,230,231,232,233,234,235],[224,225,226,227,228,229,230,231,232,233,234,235],[223,224,225,227,228,229,230,231,232,233,234,235],[223,224,225,226,228,229,230,231,232,233,234,235],[223,224,225,226,227,229,230,231,232,233,234,235],[223,224,225,226,227,228,230,231,232,233,234,235],[223,224,225,226,227,228,229,231,232,233,234,235],[223,224,225,226,227,228,229,230,232,233,234,235],[223,224,225,226,227,228,229,230,231,233,234,235],[223,224,225,226,227,228,229,230,231,232,234,235],[223,224,225,226,227,228,229,230,231,232,233,235],[223,224,225,226,227,228,229,230,231,232,233,234],[79],[82],[83,88,115],[84,95,96,103,112,123],[84,85,95,103],[86,124],[87,88,96,104],[88,112,120],[89,91,95,103],[90],[91,92],[95],[94,95],[82,95],[95,96,97,112,123],[95,96,97,112],[95,98,103,112,123],[95,96,98,99,103,112,120,123],[98,100,112,120,123],[79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130],[95,101],[102,123,128],[91,95,103,112],[104],[105],[82,106],[107,122,128],[108],[109],[95,110],[110,111,124,126],[83,95,112,113,114],[83,112,114],[112,113],[115],[116],[95,118,119],[118,119],[88,103,112,120],[121],[103,122],[83,98,109,123],[88,124],[112,125],[126],[127],[83,88,95,97,106,112,123,126,128],[112,129],[131,241],[244,283],[244,268,283],[283],[244],[244,269,283],[244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282],[269,283],[284],[288],[182],[182,183,184,185,186],[171,172,173,174,175,176,177,178,179,180,181],[212,215],[212,215,216,217],[214],[211,218],[213],[170,190],[170,187,188,189,191],[188],[189],[188,189,190,191],[187,192],[193]],"referencedMap":[[197,1],[149,2],[151,3],[133,4],[155,5],[156,6],[152,6],[158,7],[153,6],[157,8],[154,9],[140,10],[137,11],[144,12],[138,10],[135,13],[148,14],[142,11],[139,15],[141,16],[67,17],[62,18],[63,19],[64,19],[65,20],[66,20],[61,21],[68,22],[69,22],[71,23],[72,22],[73,22],[74,24],[70,22],[170,25],[78,26],[159,27],[162,28],[164,23],[168,29],[169,30],[200,31],[196,1],[198,32],[199,1],[201,11],[161,33],[206,34],[207,35],[209,36],[210,37],[221,38],[220,39],[224,40],[225,41],[223,42],[226,43],[227,44],[228,45],[229,46],[230,47],[231,48],[232,49],[233,50],[234,51],[235,52],[79,53],[80,53],[82,54],[83,55],[84,56],[85,57],[86,58],[87,59],[88,60],[89,61],[90,62],[91,63],[92,63],[93,64],[94,65],[95,66],[96,67],[97,68],[98,69],[99,70],[100,71],[131,72],[101,73],[102,74],[103,75],[104,76],[105,77],[106,78],[107,79],[108,80],[109,81],[110,82],[111,83],[112,84],[114,85],[113,86],[115,87],[116,88],[118,89],[119,90],[120,91],[121,92],[122,93],[123,94],[124,95],[125,96],[126,97],[127,98],[128,99],[129,100],[238,11],[242,101],[243,11],[268,102],[269,103],[244,104],[247,104],[266,102],[267,102],[257,102],[256,105],[254,102],[249,102],[262,102],[260,102],[264,102],[248,102],[261,102],[265,102],[250,102],[251,102],[263,102],[245,102],[252,102],[253,102],[255,102],[259,102],[270,106],[258,102],[246,102],[283,107],[277,106],[279,108],[278,106],[271,106],[272,106],[274,106],[276,106],[280,108],[281,108],[273,108],[275,108],[285,109],[289,110],[178,111],[180,111],[179,111],[177,111],[187,112],[182,113],[173,111],[174,111],[175,111],[176,111],[216,114],[218,115],[217,114],[215,116],[219,117],[214,118],[191,119],[190,120],[189,121],[188,122],[192,123],[193,124],[194,125]],"exportedModulesMap":[[197,1],[149,2],[151,3],[133,4],[155,5],[156,6],[152,6],[158,7],[153,6],[157,8],[154,9],[140,10],[137,11],[144,12],[138,10],[135,13],[148,14],[142,11],[139,15],[141,16],[67,17],[62,18],[63,19],[64,19],[65,20],[66,20],[61,21],[68,22],[69,22],[71,23],[72,22],[73,22],[74,24],[70,22],[170,25],[78,26],[159,27],[162,28],[164,23],[168,29],[169,30],[200,31],[196,1],[198,32],[199,1],[201,11],[161,33],[206,34],[207,35],[209,36],[210,37],[221,38],[220,39],[224,40],[225,41],[223,42],[226,43],[227,44],[228,45],[229,46],[230,47],[231,48],[232,49],[233,50],[234,51],[235,52],[79,53],[80,53],[82,54],[83,55],[84,56],[85,57],[86,58],[87,59],[88,60],[89,61],[90,62],[91,63],[92,63],[93,64],[94,65],[95,66],[96,67],[97,68],[98,69],[99,70],[100,71],[131,72],[101,73],[102,74],[103,75],[104,76],[105,77],[106,78],[107,79],[108,80],[109,81],[110,82],[111,83],[112,84],[114,85],[113,86],[115,87],[116,88],[118,89],[119,90],[120,91],[121,92],[122,93],[123,94],[124,95],[125,96],[126,97],[127,98],[128,99],[129,100],[238,11],[242,101],[243,11],[268,102],[269,103],[244,104],[247,104],[266,102],[267,102],[257,102],[256,105],[254,102],[249,102],[262,102],[260,102],[264,102],[248,102],[261,102],[265,102],[250,102],[251,102],[263,102],[245,102],[252,102],[253,102],[255,102],[259,102],[270,106],[258,102],[246,102],[283,107],[277,106],[279,108],[278,106],[271,106],[272,106],[274,106],[276,106],[280,108],[281,108],[273,108],[275,108],[285,109],[289,110],[178,111],[180,111],[179,111],[177,111],[187,112],[182,113],[173,111],[174,111],[175,111],[176,111],[216,114],[218,115],[217,114],[215,116],[219,117],[214,118],[191,119],[190,120],[189,121],[188,122],[192,123],[193,124],[194,125]],"semanticDiagnosticsPerFile":[197,195,149,132,151,133,150,155,156,152,158,153,157,154,140,137,144,138,135,143,148,145,146,147,142,139,136,141,60,67,62,63,64,65,66,61,68,69,71,72,73,74,75,76,77,70,170,78,159,162,163,164,165,166,167,168,169,200,196,198,199,201,161,202,203,206,204,207,208,209,210,221,220,205,222,224,225,223,226,227,228,229,230,231,232,233,234,235,236,160,79,80,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,81,130,98,99,100,131,101,102,103,104,105,106,107,108,109,110,111,112,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,237,238,239,240,242,241,243,268,269,244,247,266,267,257,256,254,249,262,260,264,248,261,265,250,251,263,245,252,253,255,259,270,258,246,283,282,277,279,278,271,272,274,276,280,281,273,275,285,284,286,287,288,289,134,211,181,178,180,179,177,187,182,186,183,185,184,173,174,175,171,172,176,212,216,218,217,215,219,214,213,44,45,8,10,9,2,11,12,13,14,15,16,17,18,3,4,19,23,20,21,22,24,25,26,5,27,28,29,30,6,34,31,32,33,35,7,36,41,42,37,38,39,40,1,43,191,190,189,188,192,193,194,51,52,53,54,55,56,46,57,58,59,47,48,49,50],"latestChangedDtsFile":"./types/index.d.ts"},"version":"5.2.2"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ComposableController.d.ts","sourceRoot":"","sources":["../../src/ComposableController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,eAAe,EACf,iBAAiB,EAEjB,0BAA0B,EAC1B,+BAA+B,EAC/B,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,cAAc,EAGf,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAEnC,eAAO,MAAM,cAAc,yBAAyB,CAAC;AAErD,eAAO,MAAM,wBAAwB,mHAC6E,CAAC;AAEnH;;;;;GAKG;AAEH,KAAK,yCAAyC,GAAG;IAI/C,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACrC,CAAC;AAEF;;;GAGG;AAEH,MAAM,MAAM,mCAAmC,GAAG;IAChD,CAAC,IAAI,EAAE,MAAM,GAAG,+BAA+B,CAAC;CACjD,CAAC;AAEF;;GAEG;AAEH,KAAK,gCAAgC,CACnC,cAAc,SAAS,MAAM,EAC7B,eAAe,SAAS,iBAAiB,IACvC;IACF,IAAI,EAAE,GAAG,cAAc,cAAc,CAAC;IACtC,OAAO,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;CACrC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,oCAAoC,CAC9C,yBAAyB,SAAS,mCAAmC,IACnE,gCAAgC,CAClC,OAAO,cAAc,EACrB,yBAAyB,CAC1B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,CACpC,yBAAyB,SAAS,mCAAmC,IACnE,oCAAoC,CAAC,yBAAyB,CAAC,CAAC;AAEpE;;;;;;;GAOG;AACH,MAAM,MAAM,gCAAgC,CAC1C,yBAAyB,SAAS,mCAAmC,IACnE,yBAAyB,SAAS,MAAM,CAC1C,MAAM,cAAc,SAAS,MAAM,EACnC,MAAM,eAAe,CACtB,GACG,eAAe,SAAS,eAAe,GACrC,0BAA0B,CAAC,cAAc,EAAE,eAAe,CAAC,GAE7D,eAAe,SAAS,iBAAiB,GACvC,gCAAgC,CAAC,cAAc,EAAE,eAAe,CAAC,GACjE,KAAK,GACP,KAAK,CAAC;AAEV;;;;GAIG;AACH,MAAM,MAAM,aAAa,CACvB,yBAAyB,SAAS,mCAAmC,IACnE,gCAAgC,CAAC,yBAAyB,CAAC,CAAC;AAEhE;;;;GAIG;AACH,MAAM,MAAM,6BAA6B,CACvC,yBAAyB,SAAS,mCAAmC,IACnE,6BAA6B,CAC/B,OAAO,cAAc,EACrB,KAAK,EACH,0BAA0B,CAAC,yBAAyB,CAAC,GACrD,aAAa,CAAC,yBAAyB,CAAC,EAC1C,KAAK,EACL,aAAa,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,CACjD,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,oBAAoB,CAC/B,yBAAyB,SAAS,yCAAyC,EAC3E,gBAAgB,SAAS,kBAAkB,CAC3C,SAAQ,cAAc,CACtB,OAAO,cAAc,EACrB,yBAAyB,EACzB,6BAA6B,CAAC,yBAAyB,CAAC,CACzD;;IACC;;;;;;OAMG;gBAES,EACV,WAAW,EACX,SAAS,GACV,EAAE;QACD,WAAW,EAAE,gBAAgB,EAAE,CAAC;QAChC,SAAS,EAAE,6BAA6B,CAAC,yBAAyB,CAAC,CAAC;KACrE;CAkEF;AAED,eAAe,oBAAoB,CAAC"}
@@ -1,3 +0,0 @@
1
- export type { ComposableControllerStateConstraint, ComposableControllerStateChangeEvent, ComposableControllerEvents, ComposableControllerMessenger, } from './ComposableController';
2
- export { ComposableController } from './ComposableController';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,mCAAmC,EACnC,oCAAoC,EACpC,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}