@metamask/snaps-simulation
Version:
A simulation framework for MetaMask Snaps, enabling headless testing of Snaps in a controlled environment
1 lines • 1.78 kB
Source Map (JSON)
{"version":3,"file":"start-trace.mjs","sourceRoot":"","sources":["../../../src/methods/hooks/start-trace.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,2BAA2B;AAGzC,OAAO,EAAE,UAAU,EAAE,8BAAoB;AAEzC;;;;;;GAMG;AACH,QAAQ,CAAC,CAAC,wBAAwB,CAAC,KAAuB;IACxD,MAAM,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7B,OAAO;QACL,yDAAyD;QACzD,QAAQ,EAAE,eAAe;QACzB,OAAO,EAAE,cAAc;QACvB,wDAAwD;KACzD,CAAC;AACJ,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 { StartTraceParams } from '@metamask/snaps-sdk';\nimport type { SagaIterator } from 'redux-saga';\nimport { put } from 'redux-saga/effects';\n\nimport type { RunSagaFunction } from '../../store';\nimport { startTrace } from '../../store';\n\n/**\n * Start a performance trace.\n *\n * @param event - The performance trace to start.\n * @returns `null`.\n * @yields Adds the pending trace to the store.\n */\nfunction* startTraceImplementation(event: StartTraceParams): SagaIterator {\n yield put(startTrace(event));\n return {\n /* eslint-disable @typescript-eslint/naming-convention */\n _traceId: 'test-trace-id',\n _spanId: 'test-span-id',\n /* eslint-enable @typescript-eslint/naming-convention */\n };\n}\n\n/**\n * Get a method that can be used to start a performance trace.\n *\n * @param runSaga - A function to run a saga outside the usual Redux flow.\n * @returns A method that can be used to start a performance trace.\n */\nexport function getStartTraceImplementation(runSaga: RunSagaFunction) {\n return (...args: Parameters<typeof startTraceImplementation>) => {\n return runSaga(startTraceImplementation, ...args).result();\n };\n}\n"]}