Skip to content

basalt / subscriptions/src / UsageStore

Interface: UsageStore ​

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

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

Methods ​

consume() ​

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

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

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>


get() ​

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

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

Parameters ​

billableId ​

string

feature ​

string

periodKey ​

string

Returns ​

Promise<number>


increment() ​

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

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

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>

Released under the MIT License.