UNPKG

@metamask/snaps-simulation

Version:

A simulation framework for MetaMask Snaps, enabling headless testing of Snaps in a controlled environment

98 lines 4.45 kB
import type { EndTraceParams, TraceRequest, TrackErrorParams, TrackEventParams } from "@metamask/snaps-sdk"; import type { PayloadAction } from "@reduxjs/toolkit"; export type TrackedEvent = TrackEventParams['event']; export type TrackedError = TrackErrorParams['error']; /** * The trackables state. */ export type TrackablesState = { /** * An array of tracked events. */ events: TrackedEvent[]; /** * An array of tracked errors. */ errors: TrackedError[]; /** * An array of performance traces. */ traces: TraceRequest[]; /** * An array of pending traces that have not yet been ended. */ pendingTraces: TraceRequest[]; }; export declare const trackablesSlice: import("@reduxjs/toolkit").Slice<TrackablesState, { trackError: (state: import("immer/dist/internal.js").WritableDraft<TrackablesState>, action: PayloadAction<TrackedError>) => void; trackEvent: (state: import("immer/dist/internal.js").WritableDraft<TrackablesState>, action: PayloadAction<TrackedEvent>) => void; startTrace: (state: import("immer/dist/internal.js").WritableDraft<TrackablesState>, action: PayloadAction<TraceRequest>) => void; endTrace: (state: import("immer/dist/internal.js").WritableDraft<TrackablesState>, action: PayloadAction<EndTraceParams>) => void; clearTrackables: (state: import("immer/dist/internal.js").WritableDraft<TrackablesState>) => void; }, "trackables">; export declare const trackError: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("@metamask/snaps-sdk").TrackableError, "trackables/trackError">, trackEvent: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ event: string; properties?: Record<string, import("@metamask/snaps-sdk").Json> | undefined; sensitiveProperties?: Record<string, import("@metamask/snaps-sdk").Json> | undefined; }, "trackables/trackEvent">, startTrace: import("@reduxjs/toolkit").ActionCreatorWithPayload<TraceRequest, "trackables/startTrace">, endTrace: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("@metamask/snaps-sdk").EndTraceRequest, "trackables/endTrace">, clearTrackables: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"trackables/clearTrackables">; /** * Get the errors from the state. * * @param state - The application state. * @returns An array of errors. */ export declare const getErrors: ((state: { mocks: import("./mocks.mjs").MocksState; notifications: import("./notifications.mjs").NotificationsState; state: import("./state.mjs").State; trackables: TrackablesState; ui: import("./ui.mjs").UiState; }) => import("@metamask/snaps-sdk").TrackableError[]) & import("reselect").OutputSelectorFields<(args_0: TrackablesState) => import("@metamask/snaps-sdk").TrackableError[], { clearCache: () => void; }> & { clearCache: () => void; }; /** * Get the events from the state. * * @param state - The application state. * @returns An array of events. */ export declare const getEvents: ((state: { mocks: import("./mocks.mjs").MocksState; notifications: import("./notifications.mjs").NotificationsState; state: import("./state.mjs").State; trackables: TrackablesState; ui: import("./ui.mjs").UiState; }) => { event: string; properties?: Record<string, import("@metamask/snaps-sdk").Json> | undefined; sensitiveProperties?: Record<string, import("@metamask/snaps-sdk").Json> | undefined; }[]) & import("reselect").OutputSelectorFields<(args_0: TrackablesState) => { event: string; properties?: Record<string, import("@metamask/snaps-sdk").Json> | undefined; sensitiveProperties?: Record<string, import("@metamask/snaps-sdk").Json> | undefined; }[], { clearCache: () => void; }> & { clearCache: () => void; }; /** * Get the traces from the state. This only includes traces that have been * ended, not pending traces. * * @param state - The application state. * @returns An array of traces. */ export declare const getTraces: ((state: { mocks: import("./mocks.mjs").MocksState; notifications: import("./notifications.mjs").NotificationsState; state: import("./state.mjs").State; trackables: TrackablesState; ui: import("./ui.mjs").UiState; }) => TraceRequest[]) & import("reselect").OutputSelectorFields<(args_0: TrackablesState) => TraceRequest[], { clearCache: () => void; }> & { clearCache: () => void; }; //# sourceMappingURL=trackables.d.mts.map