@metamask/snaps-simulation
Version:
A simulation framework for MetaMask Snaps, enabling headless testing of Snaps in a controlled environment
98 lines • 4.45 kB
text/typescript
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