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.

117 lines (116 loc) 2.97 kB
/** * @module Lock */ import type { TimeSpan } from "../../utilities/_module-exports.js"; /** * The event is dispatched when a lock is aquired. * * IMPORT_PATH: `"@daiso-tech/core/lock/contracts"` * @group Events */ export type AcquiredLockEvent = { key: string; owner: string; ttl: TimeSpan | null; }; /** * The event is dispatched when a lock is released. * * IMPORT_PATH: `"@daiso-tech/core/lock/contracts"` * @group Events */ export type ReleasedLockEvent = { key: string; owner: string; }; /** * The event is dispatched when a lock is forcefully released. * * IMPORT_PATH: `"@daiso-tech/core/lock/contracts"` * @group Events */ export type ForceReleasedLockEvent = { key: string; }; /** * The event is dispatched when trying to release a lock that is owned by a different owner. * * IMPORT_PATH: `"@daiso-tech/core/lock/contracts"` * @group Events */ export type UnownedReleaseTryLockEvent = { key: string; owner: string; }; /** * The event is dispatched when trying to refefresh a lock that is owned by a different owner. * * IMPORT_PATH: `"@daiso-tech/core/lock/contracts"` * @group Events */ export type UnownedRefreshTryLockEvent = { key: string; owner: string; }; /** * The event is dispatched when trying to acquire a lock that is owned by a different owner. * * IMPORT_PATH: `"@daiso-tech/core/lock/contracts"` * @group Events */ export type NotAvailableLockEvent = { key: string; owner: string; }; /** * The event is dispatched when a lock is refreshed. * * IMPORT_PATH: `"@daiso-tech/core/lock/contracts"` * @group Events */ export type RefreshedLockEvent = { key: string; owner: string; ttl: TimeSpan; }; /** * * IMPORT_PATH: `"@daiso-tech/core/lock/contracts"` * @group Events */ export type UnexpectedErrorLockEvent = { key: string; owner: string; ttl: TimeSpan | null; error: unknown; }; /** * * IMPORT_PATH: `"@daiso-tech/core/lock/contracts"` * @group Events */ export declare const LOCK_EVENTS: { readonly ACQUIRED: "ACQUIRED"; readonly RELEASED: "RELEASED"; readonly UNOWNED_RELEASE_TRY: "UNOWNED_RELEASE_TRY"; readonly UNOWNED_REFRESH_TRY: "UNOWNED_REFRESH_TRY"; readonly NOT_AVAILABLE: "NOT_AVAILABLE"; readonly FORCE_RELEASED: "FORCE_RELEASED"; readonly REFRESHED: "REFRESHED"; readonly UNEXPECTED_ERROR: "UNEXPECTED_ERROR"; }; /** * * IMPORT_PATH: `"@daiso-tech/core/lock/contracts"` * @group Events */ export type LockEventMap = { [LOCK_EVENTS.ACQUIRED]: AcquiredLockEvent; [LOCK_EVENTS.RELEASED]: ReleasedLockEvent; [LOCK_EVENTS.UNOWNED_RELEASE_TRY]: UnownedReleaseTryLockEvent; [LOCK_EVENTS.UNOWNED_REFRESH_TRY]: UnownedRefreshTryLockEvent; [LOCK_EVENTS.NOT_AVAILABLE]: NotAvailableLockEvent; [LOCK_EVENTS.FORCE_RELEASED]: ForceReleasedLockEvent; [LOCK_EVENTS.REFRESHED]: RefreshedLockEvent; [LOCK_EVENTS.UNEXPECTED_ERROR]: UnexpectedErrorLockEvent; };