{"version":3,"file":"errors.mjs","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,4BAA4B;AAE1E,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,wBAAwB;AAE3D,uHAAuH;AACvH;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IACE,QAAQ,CAAC,KAAK,CAAC;QACf,WAAW,IAAI,KAAK;QACpB,OAAO,KAAK,CAAC,SAAS,KAAK,UAAU,EACrC,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACrC,OAAO,cAAc,CAAC,UAAU,CAAC,IAAI,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAmB;IAEnB,OAAO,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,OAAO,KAAK,kBAAkB,CAAC;AAChF,CAAC","sourcesContent":["import type { SerializedSnapError, SnapError } from '@metamask/snaps-sdk';\nimport { SNAP_ERROR_CODE, SNAP_ERROR_MESSAGE } from '@metamask/snaps-sdk';\nimport type { JsonRpcError } from '@metamask/utils';\nimport { isJsonRpcError, isObject } from '@metamask/utils';\n\n// These were extracted from snaps-utils but should be eventually be made available in snaps-sdk to reduce duplication.\n/**\n * Check if an object is a `SnapError`.\n *\n * @param error - The object to check.\n * @returns Whether the object is a `SnapError`.\n */\nexport function isSnapError(error: unknown): error is SnapError {\n  if (\n    isObject(error) &&\n    'serialize' in error &&\n    typeof error.serialize === 'function'\n  ) {\n    const serialized = error.serialize();\n    return isJsonRpcError(serialized) && isSerializedSnapError(serialized);\n  }\n\n  return false;\n}\n\n/**\n * Check if a JSON-RPC error is a `SnapError`.\n *\n * @param error - The object to check.\n * @returns Whether the object is a `SnapError`.\n */\nexport function isSerializedSnapError(\n  error: JsonRpcError,\n): error is SerializedSnapError {\n  return error.code === SNAP_ERROR_CODE && error.message === SNAP_ERROR_MESSAGE;\n}\n"]}