UNPKG

idempotency-redis

Version:
119 lines (118 loc) 5.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IdempotentExecutorUnknownError = exports.IdempotentExecutorNonErrorWrapperError = exports.IdempotentExecutorCallbackError = exports.IdempotentExecutorCacheError = exports.IdempotentExecutorSerializationError = exports.IdempotentExecutorCriticalError = exports.IdempotentExecutorErrorBase = void 0; /** * The base error class for idempotent operations. */ class IdempotentExecutorErrorBase extends Error { /** * Constructs an instance of IdempotentExecutorErrorBase. * @param message The error message describing what went wrong. * @param idempotencyKey The unique key used to identify and enforce idempotency for an operation. * @param cause (Optional) The underlying error or reason for this error, if any. */ constructor(message, idempotencyKey, cause) { super(message); this.idempotencyKey = idempotencyKey; this.cause = cause; this.name = 'IdempotentExecutorErrorBase'; } } exports.IdempotentExecutorErrorBase = IdempotentExecutorErrorBase; /** * Represents a critical error related to idempotent operations, potentially leading to non-idempotent executions. */ class IdempotentExecutorCriticalError extends IdempotentExecutorErrorBase { /** * Constructs an instance of IdempotentExecutorCriticalError. * This error class should be used for critical issues that might lead to non-idempotent executions. * @param message The error message describing the critical issue. * @param idempotencyKey The unique key used to identify and enforce idempotency for an operation. * @param cause (Optional) The underlying error or reason for this critical error, if any. */ constructor(message, idempotencyKey, cause) { super(`Possibly non-idempotent execution: ${message}`, idempotencyKey, cause); this.name = 'IdempotentExecutorCriticalError'; } } exports.IdempotentExecutorCriticalError = IdempotentExecutorCriticalError; /** * Represents an error related to serialization issues during idempotent operations. */ class IdempotentExecutorSerializationError extends IdempotentExecutorErrorBase { /** * Constructs an instance of IdempotentExecutorSerializationError. * This error class should be used for issues related to serialization during idempotent operations. * @param message The error message describing the serialization issue. * @param idempotencyKey The unique key used to identify and enforce idempotency for an operation. * @param cause (Optional) The underlying error or reason for this serialization error, if any. */ constructor(message, idempotencyKey, cause) { super(message, idempotencyKey, cause); this.name = 'IdempotentExecutorSerializationError'; } } exports.IdempotentExecutorSerializationError = IdempotentExecutorSerializationError; /** * Represents an error related to cache issues during idempotent operations. */ class IdempotentExecutorCacheError extends IdempotentExecutorErrorBase { /** * Constructs an instance of IdempotentExecutorCacheError. * This error class should be used for issues related to caching during idempotent operations. * @param message The error message describing the cache issue. * @param idempotencyKey The unique key used to identify and enforce idempotency for an operation. * @param cause (Optional) The underlying error or reason for this cache error, if any. */ constructor(message, idempotencyKey, cause) { super(message, idempotencyKey, cause); this.name = 'IdempotentExecutorCacheError'; } } exports.IdempotentExecutorCacheError = IdempotentExecutorCacheError; /** * Represents an error related to callback issues during idempotent operations. */ class IdempotentExecutorCallbackError extends IdempotentExecutorErrorBase { /** * Constructs an instance of IdempotentExecutorCallbackError. * This error class should be used for issues related to executing user-provided * callback functions during idempotent operations. * @param message The error message describing the callback issue. * @param idempotencyKey The unique key used to identify and enforce idempotency for an operation. * @param cause (Optional) The underlying error or reason for this callback error, if any. */ constructor(message, idempotencyKey, callback, cause) { super(message, idempotencyKey, cause); this.callback = callback; this.name = 'IdempotentExecutorCallbackError'; } } exports.IdempotentExecutorCallbackError = IdempotentExecutorCallbackError; /** * Represents a wrapper around non-error objects thrown by the action function. */ class IdempotentExecutorNonErrorWrapperError extends IdempotentExecutorErrorBase { constructor(message, idempotencyKey, cause) { super(message, idempotencyKey, cause); this.name = 'IdempotentExecutorNonErrorWrapperError'; } } exports.IdempotentExecutorNonErrorWrapperError = IdempotentExecutorNonErrorWrapperError; /** * Represents an error related to executor issues during idempotent operations. */ class IdempotentExecutorUnknownError extends IdempotentExecutorErrorBase { /** * Constructs an instance of IdempotentExecutorUnknownError. * This error class should be used for unknown issues during idempotent operations. * @param message The error message describing the unknown issue. * @param idempotencyKey The unique key used to identify and enforce idempotency for an operation. * @param cause (Optional) The underlying error or reason for this unknown error, if any. */ constructor(message, idempotencyKey, cause) { super(message, idempotencyKey, cause); this.name = 'IdempotentExecutorUnknownError'; } } exports.IdempotentExecutorUnknownError = IdempotentExecutorUnknownError;