DefinitelyTyped/types/async-lock/async-lock-tests.ts
2018-02-21 14:45:37 +07:00

30 lines
808 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 });