DefinitelyTyped/types/async-lock/async-lock-tests.ts

31 lines
858 B
TypeScript

import * as AsyncLock from "async-lock";
const lock = new AsyncLock();
lock.acquire("key", (done) => {
done();
}, (err, ret) => { /* ... */ });
lock.acquire("key", (done) => { done(); })
.then(() => { /* ... */ })
.catch(() => { /* ... */ });
lock.acquire("key", () => "stringValue")
// Check returned value's type is inherited properly
.then((str) => str.replace("s", "S"));
lock.acquire("key", async () => "stringValue")
// Check returned value's type is inherited properly
.then((str) => str.replace("s", "S"));
lock.acquire([ "key1", "key2" ], (done) => {
done();
}, (err, ret) => { /* ... */ });
lock.isBusy();
lock.isBusy('key');
const lock2 = new AsyncLock({ timeout : 5000 });
const lock3 = new AsyncLock({ maxPending : 5000 });
const lock4 = new AsyncLock({ Promise: null });
const lock5 = new AsyncLock({ skipQueue: true });