Function useWebLocks

  • Returns {
        createLockTimeoutSignal: (timeoutMs: number) => AbortController;
        getHeldLocks: () => Promise<LockInfo[]>;
        getLocks: () => Promise<LockInfo[]>;
        isLockHeld: (name: string) => Promise<boolean>;
        query: () => Promise<LockManagerSnapshot>;
        requestExclusiveLock: <T>(
            name: string,
            callback: (lock: Lock) => Promise<T>,
            options?: Omit<LockOptions, "mode">,
        ) => Promise<undefined | T>;
        requestLock: <T>(
            name: string,
            callback: (lock: Lock) => Promise<T>,
            options?: LockOptions,
        ) => Promise<undefined | T>;
        requestSharedLock: <T>(
            name: string,
            callback: (lock: Lock) => Promise<T>,
            options?: Omit<LockOptions, "mode">,
        ) => Promise<undefined | T>;
        tryLock: <T>(
            name: string,
            callback: (lock: null | Lock) => Promise<T>,
            options?: Omit<LockOptions, "ifAvailable">,
        ) => Promise<T>;
        get state(): WebLocksState;
        subscribe(callback: (state: WebLocksState) => void): () => boolean;
    }

    • createLockTimeoutSignal: (timeoutMs: number) => AbortController
    • getHeldLocks: () => Promise<LockInfo[]>
    • getLocks: () => Promise<LockInfo[]>
    • isLockHeld: (name: string) => Promise<boolean>
    • query: () => Promise<LockManagerSnapshot>
    • requestExclusiveLock: <T>(
          name: string,
          callback: (lock: Lock) => Promise<T>,
          options?: Omit<LockOptions, "mode">,
      ) => Promise<undefined | T>
    • requestLock: <T>(
          name: string,
          callback: (lock: Lock) => Promise<T>,
          options?: LockOptions,
      ) => Promise<undefined | T>
    • requestSharedLock: <T>(
          name: string,
          callback: (lock: Lock) => Promise<T>,
          options?: Omit<LockOptions, "mode">,
      ) => Promise<undefined | T>
    • tryLock: <T>(
          name: string,
          callback: (lock: null | Lock) => Promise<T>,
          options?: Omit<LockOptions, "ifAvailable">,
      ) => Promise<T>
    • get state(): WebLocksState
    • subscribe:function
      • Parameters

        • callback: (state: WebLocksState) => void

        Returns () => boolean