UNPKG

@hashgraph/solo

Version:

An opinionated CLI tool to deploy and manage private Hedera Networks.

82 lines 2.39 kB
/** * SPDX-License-Identifier: Apache-2.0 */ export class SoloError extends Error { meta; /** * Create a custom error object * * error metadata will include the `cause` * * @param message error message * @param cause source error (if any) * @param meta additional metadata (if any) */ constructor(message, cause = {}, meta = {}) { super(message); this.meta = meta; this.name = this.constructor.name; Error.captureStackTrace(this, this.constructor); if (cause) { this.cause = cause; if (cause instanceof Error) { this.stack += `\nCaused by: ${this.cause.stack}`; } } } } export class ResourceNotFoundError extends SoloError { /** * Create a custom error for resource not found scenario * * error metadata will include `resource` * * @param message - error message * @param resource - name of the resource * @param cause - source error (if any) */ constructor(message, resource, cause = {}) { super(message, cause, { resource }); } } export class MissingArgumentError extends SoloError { /** * Create a custom error for missing argument scenario * * @param message - error message * @param cause - source error (if any) */ constructor(message, cause = {}) { super(message, cause); } } export class IllegalArgumentError extends SoloError { /** * Create a custom error for illegal argument scenario * * error metadata will include `value` * * @param message - error message * @param value - value of the invalid argument * @param cause - source error (if any) */ constructor(message, value = '', cause = {}) { super(message, cause, { value }); } } export class DataValidationError extends SoloError { /** * Create a custom error for data validation error scenario * * error metadata will include `expected` and `found` values. * * @param message - error message * @param expected - expected value * @param found - value found * @param [cause] - source error (if any) */ constructor(message, expected, found, cause = {}) { super(message, cause, { expected, found }); } } //# sourceMappingURL=errors.js.map