@metamask/kernel-errors
Version:
1 lines • 1.84 kB
Source Map (JSON)
{"version":3,"file":"marshalError.mjs","sourceRoot":"","sources":["../../src/marshal/marshalError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,wBAAwB;AAE9C,OAAO,EAAE,aAAa,EAAE,yBAAwB;AAEhD,OAAO,EAAE,WAAW,EAAE,iCAAgC;AAEtD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAY;IACvC,MAAM,MAAM,GAAmB;QAC7B,CAAC,aAAa,CAAC,EAAE,IAAI;QACrB,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;IAEF,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK;YACV,KAAK,CAAC,KAAK,YAAY,KAAK;gBAC1B,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC3B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACzB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC","sourcesContent":["import { getSafeJson } from '@metamask/utils';\n\nimport { ErrorSentinel } from '../constants.ts';\nimport type { MarshaledError } from '../types.ts';\nimport { isOcapError } from '../utils/isOcapError.ts';\n\n/**\n * Marshals an error into a {@link MarshaledError}.\n *\n * @param error - The error to marshal.\n * @returns The marshaled error.\n */\nexport function marshalError(error: Error): MarshaledError {\n const output: MarshaledError = {\n [ErrorSentinel]: true,\n message: error.message,\n };\n\n if (error.cause) {\n output.cause =\n error.cause instanceof Error\n ? marshalError(error.cause)\n : JSON.stringify(error.cause);\n }\n\n if (error.stack) {\n output.stack = error.stack;\n }\n\n if (isOcapError(error)) {\n output.code = error.code;\n if (error.data) {\n output.data = getSafeJson(error.data);\n }\n }\n\n return harden(output);\n}\n"]}