@freemework/common
Version:
Common library of the Freemework Project.
20 lines (17 loc) • 503 B
text/typescript
import { FLimit } from "../f_limit.js";
export interface FInternalLimitTokenDeferred<T = any> {
weight: FLimit.Weight;
resolve: (value?: T) => void;
reject: (err: any) => void;
promise: Promise<T>;
}
export namespace FInternalLimitTokenDeferred {
export function create<T>(weight: FLimit.Weight): FInternalLimitTokenDeferred<T> {
const deferred: any = { weight };
deferred.promise = new Promise<void>((r, j) => {
deferred.resolve = r;
deferred.reject = j;
});
return deferred;
}
}