import { FLimit } from "../f_limit.js"; export interface FInternalLimitTokenDeferred { weight: FLimit.Weight; resolve: (value?: T) => void; reject: (err: any) => void; promise: Promise; } export namespace FInternalLimitTokenDeferred { export function create(weight: FLimit.Weight): FInternalLimitTokenDeferred { const deferred: any = { weight }; deferred.promise = new Promise((r, j) => { deferred.resolve = r; deferred.reject = j; }); return deferred; } }