UNPKG

@metamask/snaps-simulation

Version:

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

1 lines 1.49 kB
{"version":3,"file":"track-event.mjs","sourceRoot":"","sources":["../../../src/methods/hooks/track-event.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,2BAA2B;AAGzC,OAAO,EAAE,UAAU,EAAE,8BAAoB;AAEzC;;;;;;GAMG;AACH,QAAQ,CAAC,CAAC,wBAAwB,CAChC,KAAgC;IAEhC,MAAM,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7B,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAwB;IAClE,OAAO,CAAC,GAAG,IAAiD,EAAE,EAAE;QAC9D,OAAO,OAAO,CAAC,wBAAwB,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7D,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import type { TrackEventParams } from '@metamask/snaps-sdk';\nimport type { SagaIterator } from 'redux-saga';\nimport { put } from 'redux-saga/effects';\n\nimport type { RunSagaFunction } from '../../store';\nimport { trackEvent } from '../../store';\n\n/**\n * Track an event.\n *\n * @param event - The event to track.\n * @returns `null`.\n * @yields Adds the event to the store.\n */\nfunction* trackEventImplementation(\n event: TrackEventParams['event'],\n): SagaIterator {\n yield put(trackEvent(event));\n return null;\n}\n\n/**\n * Get a method that can be used to track an event.\n *\n * @param runSaga - A function to run a saga outside the usual Redux flow.\n * @returns A method that can be used to track an event.\n */\nexport function getTrackEventImplementation(runSaga: RunSagaFunction) {\n return (...args: Parameters<typeof trackEventImplementation>) => {\n return runSaga(trackEventImplementation, ...args).result();\n };\n}\n"]}