UNPKG

aws-crt

Version:

NodeJS/browser bindings to the aws-c-* libraries

57 lines 1.7 kB
"use strict"; /** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.CrtError = void 0; const binding_1 = __importDefault(require("./binding")); const util_1 = require("util"); /** * Represents an error encountered in native code. Can also be used to convert a numeric error code into * a human-readable string. * * @module aws-crt * @category System */ class CrtError extends Error { /** @var error - The original error. Most often an error_code, but possibly some other context */ constructor(error) { super(extract_message(error)); this.error = error; this.error_code = extract_code(error); this.error_name = extract_name(error); } } exports.CrtError = CrtError; function extract_message(error) { if (util_1.isNumber(error)) { return binding_1.default.error_code_to_string(error); } else if (error instanceof CrtError) { return error.message; } return error.toString(); } function extract_code(error) { if (util_1.isNumber(error)) { return error; } else if (error instanceof CrtError) { return error.error_code; } return undefined; } function extract_name(error) { if (util_1.isNumber(error)) { return binding_1.default.error_code_to_name(error); } else if (error instanceof CrtError) { return error.error_name; } return undefined; } //# sourceMappingURL=error.js.map