@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) • 2.85 kB
TypeScript
/**
* @module Lock
*/
import { type ILockStateMethods } from "../../lock/contracts/lock.contract.js";
/**
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
* @group Events
*/
export type LockEventBase = {
lock: ILockStateMethods;
};
/**
* The event is dispatched when a lock is aquired.
*
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
* @group Events
*/
export type AcquiredLockEvent = LockEventBase;
/**
* The event is dispatched when a lock is released.
*
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
* @group Events
*/
export type ReleasedLockEvent = LockEventBase;
/**
* The event is dispatched when a lock is forcefully released.
*
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
* @group Events
*/
export type ForceReleasedLockEvent = LockEventBase & {
hasReleased: boolean;
};
/**
* 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 FailedReleaseLockEvent = LockEventBase;
/**
* 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 FailedRefreshLockEvent = LockEventBase;
/**
* 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 UnavailableLockEvent = LockEventBase;
/**
* The event is dispatched when a lock is refreshed.
*
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
* @group Events
*/
export type RefreshedLockEvent = LockEventBase;
/**
*
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
* @group Events
*/
export type UnexpectedErrorLockEvent = LockEventBase & {
error: unknown;
};
/**
*
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
* @group Events
*/
export declare const LOCK_EVENTS: {
readonly ACQUIRED: "ACQUIRED";
readonly RELEASED: "RELEASED";
readonly FAILED_RELEASE: "FAILED_RELEASE";
readonly FAILED_REFRESH: "FAILED_REFRESH";
readonly UNAVAILABLE: "UNAVAILABLE";
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.FAILED_RELEASE]: FailedReleaseLockEvent;
[LOCK_EVENTS.FAILED_REFRESH]: FailedRefreshLockEvent;
[LOCK_EVENTS.UNAVAILABLE]: UnavailableLockEvent;
[LOCK_EVENTS.FORCE_RELEASED]: ForceReleasedLockEvent;
[LOCK_EVENTS.REFRESHED]: RefreshedLockEvent;
[LOCK_EVENTS.UNEXPECTED_ERROR]: UnexpectedErrorLockEvent;
};