Skip to content

basalt / subscriptions-sqlite/src / SqliteUsageStore

Class: SqliteUsageStore ​

Defined in: subscriptions-sqlite/src/index.ts:223

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

Implements ​

Constructors ​

Constructor ​

> new SqliteUsageStore(db): SqliteUsageStore

Defined in: subscriptions-sqlite/src/index.ts:224

Parameters ​

db ​

DatabaseSync

Returns ​

SqliteUsageStore

Methods ​

consume() ​

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

Defined in: subscriptions-sqlite/src/index.ts:246

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-sqlite/src/index.ts:226

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-sqlite/src/index.ts:233

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.