Type Alias ILockBase

ILockBase: {
    acquire(): Task<boolean>;
    acquireBlocking(settings?: LockAquireBlockingSettings): Task<boolean>;
    acquireBlockingOrFail(settings?: LockAquireBlockingSettings): Task<void>;
    acquireOrFail(): Task<void>;
    forceRelease(): Task<boolean>;
    refresh(ttl?: ITimeSpan): Task<boolean>;
    refreshOrFail(ttl?: ITimeSpan): Task<void>;
    release(): Task<boolean>;
    releaseOrFail(): Task<void>;
    run<TValue = void>(
        asyncFn: AsyncLazy<TValue>,
    ): Task<Result<TValue, FailedAcquireLockError>>;
    runBlocking<TValue = void>(
        asyncFn: AsyncLazy<TValue>,
        settings?: LockAquireBlockingSettings,
    ): Task<Result<TValue, FailedAcquireLockError>>;
    runBlockingOrFail<TValue = void>(
        asyncFn: AsyncLazy<TValue>,
        settings?: LockAquireBlockingSettings,
    ): Task<TValue>;
    runOrFail<TValue = void>(asyncFn: AsyncLazy<TValue>): Task<TValue>;
}

IMPORT_PATH: "@daiso-tech/core/lock/contracts"

Type declaration