UNPKG

@metamask/keyring-snap-sdk

Version:
32 lines 1.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isSnapError = isSnapError; exports.isSerializedSnapError = isSerializedSnapError; const snaps_sdk_1 = require("@metamask/snaps-sdk"); const utils_1 = require("@metamask/utils"); // These were extracted from snaps-utils but should be eventually be made available in snaps-sdk to reduce duplication. /** * Check if an object is a `SnapError`. * * @param error - The object to check. * @returns Whether the object is a `SnapError`. */ function isSnapError(error) { if ((0, utils_1.isObject)(error) && 'serialize' in error && typeof error.serialize === 'function') { const serialized = error.serialize(); return (0, utils_1.isJsonRpcError)(serialized) && isSerializedSnapError(serialized); } return false; } /** * Check if a JSON-RPC error is a `SnapError`. * * @param error - The object to check. * @returns Whether the object is a `SnapError`. */ function isSerializedSnapError(error) { return error.code === snaps_sdk_1.SNAP_ERROR_CODE && error.message === snaps_sdk_1.SNAP_ERROR_MESSAGE; } //# sourceMappingURL=errors.cjs.map