New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@metamask-previews/composable-controller

Package Overview
Dependencies
Maintainers
0
Versions
537
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@metamask-previews/composable-controller - npm Package Compare versions

Comparing version 7.0.0-preview-c081c503 to 7.0.0-preview-c1b77f05

dist/chunk-HD5NGOXX.js

6

dist/ComposableController.js

@@ -7,4 +7,4 @@ "use strict";Object.defineProperty(exports, "__esModule", {value: true});

var _chunkHD5NGOXXjs = require('./chunk-HD5NGOXX.js');
var _chunkIDXXC7GQjs = require('./chunk-IDXXC7GQ.js');

@@ -15,5 +15,3 @@

exports.ComposableController = _chunkIDXXC7GQjs.ComposableController; exports.INVALID_CONTROLLER_ERROR = _chunkIDXXC7GQjs.INVALID_CONTROLLER_ERROR; exports.controllerName = _chunkIDXXC7GQjs.controllerName; exports.default = _chunkIDXXC7GQjs.ComposableController_default; exports.isBaseController = _chunkIDXXC7GQjs.isBaseController; exports.isBaseControllerV1 = _chunkIDXXC7GQjs.isBaseControllerV1;
exports.ComposableController = _chunkHD5NGOXXjs.ComposableController; exports.controllerName = _chunkHD5NGOXXjs.controllerName; exports.default = _chunkHD5NGOXXjs.ComposableController_default; exports.isBaseController = _chunkHD5NGOXXjs.isBaseController; exports.isBaseControllerV1 = _chunkHD5NGOXXjs.isBaseControllerV1;
//# sourceMappingURL=ComposableController.js.map

@@ -5,3 +5,3 @@ "use strict";Object.defineProperty(exports, "__esModule", {value: true});

var _chunkIDXXC7GQjs = require('./chunk-IDXXC7GQ.js');
var _chunkHD5NGOXXjs = require('./chunk-HD5NGOXX.js');

@@ -11,3 +11,3 @@

exports.ComposableController = _chunkIDXXC7GQjs.ComposableController; exports.isBaseController = _chunkIDXXC7GQjs.isBaseController; exports.isBaseControllerV1 = _chunkIDXXC7GQjs.isBaseControllerV1;
exports.ComposableController = _chunkHD5NGOXXjs.ComposableController; exports.isBaseController = _chunkHD5NGOXXjs.isBaseController; exports.isBaseControllerV1 = _chunkHD5NGOXXjs.isBaseControllerV1;
//# sourceMappingURL=index.js.map

@@ -0,16 +1,6 @@

import { BaseController, BaseControllerV1 } from '@metamask/base-controller';
import type { ActionConstraint, BaseConfig, BaseState, EventConstraint, RestrictedControllerMessenger, StateConstraint, ControllerStateChangeEvent } from '@metamask/base-controller';
import { BaseController, BaseControllerV1 } from '@metamask/base-controller';
import type { PublicInterface } from '@metamask/utils';
import type { Patch } from 'immer';
export declare const controllerName = "ComposableController";
export declare const INVALID_CONTROLLER_ERROR = "Invalid controller: controller must have a `messagingSystem` or be a class inheriting from `BaseControllerV1`.";
/**
* A universal supertype for the `BaseControllerV1` state object.
*/
type ConfigConstraintV1 = BaseConfig & object;
/**
* A universal supertype for the `BaseControllerV1` state object.
*/
type StateConstraintV1 = BaseState & object;
/**
* A universal subtype of all controller instances that extend from `BaseControllerV1`.

@@ -22,3 +12,3 @@ * Any `BaseControllerV1` instance can be assigned to this type.

*/
type BaseControllerV1Instance = PublicInterface<BaseControllerV1<ConfigConstraintV1, StateConstraintV1>>;
export type BaseControllerV1Instance = BaseControllerV1<any, any>;
/**

@@ -33,4 +23,5 @@ * A universal subtype of all controller instances that extend from `BaseController` (formerly `BaseControllerV2`).

*/
type BaseControllerInstance = Omit<PublicInterface<BaseController<string, StateConstraint, RestrictedControllerMessengerConstraint>>, 'metadata'> & {
metadata: Record<string, unknown>;
export type BaseControllerInstance = {
name: string;
state: StateConstraint;
};

@@ -44,10 +35,7 @@ /**

*/
type ControllerInstance = BaseControllerV1Instance | BaseControllerInstance;
export type ControllerInstance = BaseControllerV1Instance | BaseControllerInstance;
/**
* The narrowest supertype of all `RestrictedControllerMessenger` instances.
*
* @template ControllerName - Name of the controller.
* Optionally can be used to narrow the type to a specific controller.
*/
export type RestrictedControllerMessengerConstraint<ControllerName extends string = string> = RestrictedControllerMessenger<ControllerName, ActionConstraint, EventConstraint, string, string>;
export type RestrictedControllerMessengerConstraint = RestrictedControllerMessenger<string, ActionConstraint, EventConstraint, string, string>;
/**

@@ -58,3 +46,3 @@ * Determines if the given controller is an instance of `BaseControllerV1`

*/
export declare function isBaseControllerV1(controller: ControllerInstance): controller is BaseControllerV1Instance;
export declare function isBaseControllerV1(controller: ControllerInstance): controller is BaseControllerV1<BaseConfig & Record<string, unknown>, BaseState & Record<string, unknown>>;
/**

@@ -65,7 +53,7 @@ * Determines if the given controller is an instance of `BaseController`

*/
export declare function isBaseController(controller: ControllerInstance): controller is BaseControllerInstance;
export declare function isBaseController(controller: ControllerInstance): controller is BaseController<string, StateConstraint, RestrictedControllerMessengerConstraint>;
/**
* A universal supertype for the controller state object, encompassing both `BaseControllerV1` and `BaseControllerV2` state.
*/
export type LegacyControllerStateConstraint = StateConstraintV1 | StateConstraint;
export type LegacyControllerStateConstraint = BaseState | StateConstraint;
/**

@@ -88,48 +76,22 @@ * A universal supertype for the composable controller state object.

/**
* A `stateChange` event for any controller instance that extends from either `BaseControllerV1` or `BaseControllerV2`.
* A controller state change event for any controller instance that extends from either `BaseControllerV1` or `BaseControllerV2`.
*/
type LegacyControllerStateChangeEvent<ControllerName extends string, ControllerState extends StateConstraintV1> = {
type LegacyControllerStateChangeEvent<ControllerName extends string, ControllerState extends LegacyControllerStateConstraint> = {
type: `${ControllerName}:stateChange`;
payload: [ControllerState, Patch[]];
};
/**
* The `stateChange` event type for the {@link ComposableControllerMessenger}.
*
* @template ComposableControllerState - A type object that maps controller names to their state types.
*/
export type ComposableControllerStateChangeEvent<ComposableControllerState extends ComposableControllerStateConstraint> = LegacyControllerStateChangeEvent<typeof controllerName, ComposableControllerState>;
/**
* A union type of internal event types available to the {@link ComposableControllerMessenger}.
*
* @template ComposableControllerState - A type object that maps controller names to their state types.
*/
export type ComposableControllerEvents<ComposableControllerState extends ComposableControllerStateConstraint> = ComposableControllerStateChangeEvent<ComposableControllerState>;
/**
* A utility type that extracts controllers from the {@link ComposableControllerState} type,
* and derives a union type of all of their corresponding `stateChange` events.
*
* This type can handle both `BaseController` and `BaseControllerV1` controller instances.
*
* @template ComposableControllerState - A type object that maps controller names to their state types.
*/
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;
/**
* A union type of external event types available to the {@link ComposableControllerMessenger}.
*
* @template ComposableControllerState - A type object that maps controller names to their state types.
*/
type ChildControllerStateChangeEvents<ComposableControllerState extends ComposableControllerStateConstraint> = ComposableControllerState extends Record<infer ControllerName extends string, infer ControllerState> ? ControllerState extends StateConstraint ? ControllerStateChangeEvent<ControllerName, ControllerState> : ControllerState extends Record<string, unknown> ? LegacyControllerStateChangeEvent<ControllerName, ControllerState> : never : never;
type AllowedEvents<ComposableControllerState extends ComposableControllerStateConstraint> = ChildControllerStateChangeEvents<ComposableControllerState>;
/**
* The messenger of the {@link ComposableController}.
*
* @template ComposableControllerState - A type object that maps controller names to their state types.
*/
export type ComposableControllerMessenger<ComposableControllerState extends ComposableControllerStateConstraint> = RestrictedControllerMessenger<typeof controllerName, never, ComposableControllerEvents<ComposableControllerState> | AllowedEvents<ComposableControllerState>, never, AllowedEvents<ComposableControllerState>['type']>;
type GetChildControllers<ComposableControllerState, ControllerName extends keyof ComposableControllerState = keyof ComposableControllerState> = ControllerName extends string ? ComposableControllerState[ControllerName] extends StateConstraint ? {
name: ControllerName;
state: ComposableControllerState[ControllerName];
} : BaseControllerV1<BaseConfig & Record<string, unknown>, BaseState & ComposableControllerState[ControllerName]> : never;
/**
* Controller that composes multiple child controllers and maintains up-to-date composed state.
*
* @template ComposableControllerState - A type object containing the names and state types of the child controllers.
* @template ChildControllers - A union type of the child controllers being used to instantiate the {@link ComposableController}.
* Controller that can be used to compose multiple controllers together.
* @template ChildControllerState - The composed state of the child controllers that are being used to instantiate the composable controller.
*/
export declare class ComposableController<ComposableControllerState extends LegacyComposableControllerStateConstraint, ChildControllers extends ControllerInstance> extends BaseController<typeof controllerName, ComposableControllerState, ComposableControllerMessenger<ComposableControllerState>> {
export declare class ComposableController<ComposableControllerState extends LegacyComposableControllerStateConstraint, ChildControllers extends ControllerInstance = GetChildControllers<ComposableControllerState>> extends BaseController<typeof controllerName, ComposableControllerState, ComposableControllerMessenger<ComposableControllerState>> {
#private;

@@ -136,0 +98,0 @@ /**

{
"name": "@metamask-previews/composable-controller",
"version": "7.0.0-preview-c081c503",
"version": "7.0.0-preview-c1b77f05",
"description": "Consolidates the state from multiple controllers into one",

@@ -49,3 +49,2 @@ "keywords": [

"@metamask/json-rpc-engine": "^9.0.2",
"@metamask/utils": "^9.1.0",
"@types/jest": "^27.4.1",

@@ -59,3 +58,3 @@ "deepmerge": "^4.2.2",

"typedoc-plugin-missing-exports": "^2.0.0",
"typescript": "~5.0.4"
"typescript": "~5.2.2"
},

@@ -62,0 +61,0 @@ "engines": {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc