UNPKG

@daiso-tech/core

Version:

The library offers flexible, framework-agnostic solutions for modern web applications, built on adaptable components that integrate seamlessly with popular frameworks like Next Js.

101 lines (100 loc) 3.96 kB
/** * @module Lock */ import { type ISerializedError, type OneOrMore } from "../../utilities/_module-exports.js"; import type { IFlexibleSerde, ISerializable } from "../../serde/contracts/_module-exports.js"; /** * * IMPORT_PATH: `"@daiso-tech/core/lock/contracts"` * @group Errors */ export declare class LockError extends Error implements ISerializable<ISerializedError> { static deserialize(serializedError: ISerializedError): LockError; constructor(message: string, cause?: unknown); serialize(): ISerializedError; } /** * * IMPORT_PATH: `"@daiso-tech/core/lock/contracts"` * @group Errors */ export declare class UnexpectedLockError extends LockError implements ISerializable<ISerializedError> { static deserialize(serializedError: ISerializedError): UnexpectedLockError; constructor(message: string, cause?: unknown); serialize(): ISerializedError; } /** * The error is thrown when an unexpected error occurs while acquiring a lock. * * IMPORT_PATH: `"@daiso-tech/core/lock/contracts"` * @group Errors */ export declare class UnableToAquireLockError extends UnexpectedLockError implements ISerializable<ISerializedError> { static deserialize(serializedError: ISerializedError): UnableToAquireLockError; constructor(message: string, cause?: unknown); serialize(): ISerializedError; } /** * The error is thrown when an unexpected error occurs while releasing a lock. * * IMPORT_PATH: `"@daiso-tech/core/lock/contracts"` * @group Errors */ export declare class UnableToReleaseLockError extends UnexpectedLockError implements ISerializable<ISerializedError> { static deserialize(serializedError: ISerializedError): UnableToReleaseLockError; constructor(message: string, cause?: unknown); serialize(): ISerializedError; } /** * The error is thrown when trying to acquire a lock that is owned by a different owner. * * IMPORT_PATH: `"@daiso-tech/core/lock/contracts"` * @group Errors */ export declare class KeyAlreadyAcquiredLockError extends LockError implements ISerializable<ISerializedError> { static deserialize(serializedError: ISerializedError): KeyAlreadyAcquiredLockError; constructor(message: string, cause?: unknown); serialize(): ISerializedError; } /** * The error is thrown when trying to release a lock that is owned by a different owner. * * IMPORT_PATH: `"@daiso-tech/core/lock/contracts"` * @group Errors */ export declare class UnownedReleaseLockError extends LockError implements ISerializable<ISerializedError> { static deserialize(serializedError: ISerializedError): UnownedReleaseLockError; constructor(message: string, cause?: unknown); serialize(): ISerializedError; } /** * The error is thrown when trying to referesh a lock that is owned by a different owner. * * IMPORT_PATH: `"@daiso-tech/core/lock/contracts"` * @group Errors */ export declare class UnownedRefreshLockError extends LockError implements ISerializable<ISerializedError> { static deserialize(serializedError: ISerializedError): UnownedRefreshLockError; constructor(message: string, cause?: unknown); serialize(): ISerializedError; } /** * * IMPORT_PATH: `"@daiso-tech/core/lock/contracts"` * @group Errors */ export declare const LOCK_ERRORS: { readonly Base: typeof LockError; readonly Unexpected: typeof UnexpectedLockError; readonly UnableToAquire: typeof UnableToAquireLockError; readonly UnableToRelease: typeof UnableToReleaseLockError; readonly KeyAlreadyAcquired: typeof KeyAlreadyAcquiredLockError; readonly UnownedRelease: typeof UnownedReleaseLockError; }; /** * The `registerLockErrorsToSerde` function registers all {@link ILock | `ILock`} related errors with `IFlexibleSerde`, ensuring they will properly be serialized and deserialized. * * IMPORT_PATH: `"@daiso-tech/core/lock/contracts"` * @group Errors */ export declare function registerLockErrorsToSerde(serde: OneOrMore<IFlexibleSerde>): void;