Skip to content

basalt / subscriptions/src / MemoryUsageStore

Class: MemoryUsageStore ​

Defined in: subscriptions/src/stores.ts:136

Usage counters: periodKey is 'lifetime' or 'YYYY-MM' for meters.

Implements ​

Constructors ​

Constructor ​

> new MemoryUsageStore(): MemoryUsageStore

Returns ​

MemoryUsageStore

Methods ​

consume() ​

> consume(billableId, feature, periodKey, amount, limit): Promise<UsageConsumeResult>

Defined in: subscriptions/src/stores.ts:160

Atomically increments by amount only if the result stays within limit. Must be atomic under concurrency so a quota is never overshot. amount must be a positive safe integer — implementations reject anything else with assertUsageAmount (a negative amount would refund quota).

Parameters ​

billableId ​

string

feature ​

string

periodKey ​

string

amount ​

number

limit ​

number

Returns ​

Promise<UsageConsumeResult>

Implementation of ​

UsageStore.consume


get() ​

> get(billableId, feature, periodKey): Promise<number>

Defined in: subscriptions/src/stores.ts:143

Parameters ​

billableId ​

string

feature ​

string

periodKey ​

string

Returns ​

Promise<number>

Implementation of ​

UsageStore.get


increment() ​

> increment(billableId, feature, periodKey, amount): Promise<number>

Defined in: subscriptions/src/stores.ts:147

Unconditional increment — used for unlimited features. Returns the new total. amount must be a positive safe integer (see assertUsageAmount).

Parameters ​

billableId ​

string

feature ​

string

periodKey ​

string

amount ​

number

Returns ​

Promise<number>

Implementation of ​

UsageStore.increment

Released under the MIT License.