Skip to content

rulvar API reference


rulvar API reference / @rulvar/rulvar / KeyedLimiter

Class: KeyedLimiter

Defined in: packages/core/dist/index.d.ts

Constructors

Constructor

ts
new KeyedLimiter(caps?): KeyedLimiter;

Defined in: packages/core/dist/index.d.ts

Parameters

ParameterType
caps?Record<string, number>

Returns

KeyedLimiter

Methods

pending()

ts
pending(key): number;

Defined in: packages/core/dist/index.d.ts

Queue depth for one key (0 for unlimited keys); telemetry only.

Parameters

ParameterType
keystring

Returns

number


withSlot()

ts
withSlot<T>(
   key, 
   fn, 
onQueued?): Promise<T>;

Defined in: packages/core/dist/index.d.ts

Runs fn under the key's semaphore; keys without a configured cap run unlimited (no queueing, no overhead).

Type Parameters

Type Parameter
T

Parameters

ParameterType
keystring
fn() => Promise&lt;T&gt;
onQueued?() => void

Returns

Promise&lt;T&gt;