UNPKG

@aws-lambda-powertools/idempotency

Version:

The idempotency package for the Powertools for AWS Lambda (TypeScript) library. It provides options to make your Lambda functions idempotent and safe to retry.

112 lines (111 loc) 4.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IdempotencyKeyError = exports.IdempotencyPersistenceConsistencyError = exports.IdempotencyPersistenceLayerError = exports.IdempotencyInconsistentStateError = exports.IdempotencyValidationError = exports.IdempotencyInvalidStatusError = exports.IdempotencyAlreadyInProgressError = exports.IdempotencyItemNotFoundError = exports.IdempotencyItemAlreadyExistsError = exports.IdempotencyUnknownError = void 0; /** * Base error for idempotency errors. * * Generally this error should not be thrown directly unless you are throwing a generic and unknown error. */ class IdempotencyUnknownError extends Error { constructor(message, options) { super(message, options); this.name = 'IdempotencyUnknownError'; } } exports.IdempotencyUnknownError = IdempotencyUnknownError; /** * Item attempting to be inserted into persistence store already exists and is not expired */ class IdempotencyItemAlreadyExistsError extends IdempotencyUnknownError { existingRecord; constructor(message, existingRecord, options) { super(message, options); this.name = 'IdempotencyItemAlreadyExistsError'; this.existingRecord = existingRecord; } } exports.IdempotencyItemAlreadyExistsError = IdempotencyItemAlreadyExistsError; /** * Item does not exist in persistence store */ class IdempotencyItemNotFoundError extends IdempotencyUnknownError { constructor(message, options) { super(message, options); this.name = 'IdempotencyItemNotFoundError'; } } exports.IdempotencyItemNotFoundError = IdempotencyItemNotFoundError; /** * Execution with idempotency key is already in progress */ class IdempotencyAlreadyInProgressError extends IdempotencyUnknownError { existingRecord; constructor(message, existingRecord, options) { super(message, options); this.name = 'IdempotencyAlreadyInProgressError'; this.existingRecord = existingRecord; } } exports.IdempotencyAlreadyInProgressError = IdempotencyAlreadyInProgressError; /** * An invalid status was provided */ class IdempotencyInvalidStatusError extends IdempotencyUnknownError { constructor(message, options) { super(message, options); this.name = 'IdempotencyInvalidStatusError'; } } exports.IdempotencyInvalidStatusError = IdempotencyInvalidStatusError; /** * Payload does not match stored idempotency record */ class IdempotencyValidationError extends IdempotencyUnknownError { existingRecord; constructor(message, existingRecord, options) { super(message, options); this.name = 'IdempotencyValidationError'; this.existingRecord = existingRecord; } } exports.IdempotencyValidationError = IdempotencyValidationError; /** * State is inconsistent across multiple requests to persistence store */ class IdempotencyInconsistentStateError extends IdempotencyUnknownError { constructor(message, options) { super(message, options); this.name = 'IdempotencyInconsistentStateError'; } } exports.IdempotencyInconsistentStateError = IdempotencyInconsistentStateError; /** * Unrecoverable error from the data store */ class IdempotencyPersistenceLayerError extends IdempotencyUnknownError { constructor(message, options) { super(message, options); this.name = 'IdempotencyPersistenceLayerError'; } } exports.IdempotencyPersistenceLayerError = IdempotencyPersistenceLayerError; /** * Payload does not contain an idempotent key */ class IdempotencyKeyError extends IdempotencyUnknownError { constructor(message, options) { super(message, options); this.name = 'IdempotencyKeyError'; } } exports.IdempotencyKeyError = IdempotencyKeyError; /** * Error with the persistence layer's consistency, needs to be removed */ class IdempotencyPersistenceConsistencyError extends IdempotencyUnknownError { constructor(message, options) { super(message, options); this.name = 'IdempotencyPersistenceConsistencyError'; } } exports.IdempotencyPersistenceConsistencyError = IdempotencyPersistenceConsistencyError;