Skip to main content

Class: MemoryStore

Defined in: javascript/src/stores/memory-store.ts:57

Credit store backed by in-memory dicts. Zero dependencies. Useful for unit testing and local development.

Implements

Constructors

Constructor

new MemoryStore(): MemoryStore

Returns

MemoryStore

Methods

addCredits()

addCredits(userId, amount, type?, _metadata?, expiresAt?): Promise<AddCreditsResult>

Defined in: javascript/src/stores/memory-store.ts:109

Parameters

userId

string

amount

number

type?

string = "adjustment"

_metadata?

CreditMetadata | null

expiresAt?

Date | null

Returns

Promise<AddCreditsResult>

Implementation of

CreditStore.addCredits


addTeamMember()

addTeamMember(teamId, userId, role?, spendCap?): Promise<AddTeamMemberResult>

Defined in: javascript/src/stores/memory-store.ts:630

Parameters

teamId

string

userId

string

role?

string = "member"

spendCap?

number | null

Returns

Promise<AddTeamMemberResult>

Implementation of

CreditStore.addTeamMember


aggregateStats()

aggregateStats(start, end): Promise<AggregateStats>

Defined in: javascript/src/stores/memory-store.ts:503

Parameters

start

Date

end

Date

Returns

Promise<AggregateStats>

Implementation of

CreditStore.aggregateStats


checkAllowance()

checkAllowance(userId): Promise<AllowanceResult>

Defined in: javascript/src/stores/memory-store.ts:291

Parameters

userId

string

Returns

Promise<AllowanceResult>

Implementation of

CreditStore.checkAllowance


checkFeature()

checkFeature(userId, feature): Promise<CheckFeatureResult>

Defined in: javascript/src/stores/memory-store.ts:275

Parameters

userId

string

feature

string

Returns

Promise<CheckFeatureResult>

Implementation of

CreditStore.checkFeature


checkSpendCap()

checkSpendCap(userId, model?, amount?): Promise<CapCheckResult>

Defined in: javascript/src/stores/memory-store.ts:538

Parameters

userId

string

model?

string | null

amount?

number

Returns

Promise<CapCheckResult>

Implementation of

CreditStore.checkSpendCap


createTeam()

createTeam(name, initialBalance?): Promise<CreateTeamResult>

Defined in: javascript/src/stores/memory-store.ts:604

Parameters

name

string

initialBalance?

number = 0

Returns

Promise<CreateTeamResult>

Implementation of

CreditStore.createTeam


dailySpend()

dailySpend(start, end): Promise<DailySpendRow[]>

Defined in: javascript/src/stores/memory-store.ts:723

Parameters

start

Date

end

Date

Returns

Promise<DailySpendRow[]>

Implementation of

CreditStore.dailySpend


deductCredits()

deductCredits(userId, reservationId, amount, idempotencyKey?, metadata?): Promise<DeductionResult>

Defined in: javascript/src/stores/memory-store.ts:175

Parameters

userId

string

reservationId

string

amount

number

idempotencyKey?

string | null

metadata?

CreditMetadata | null

Returns

Promise<DeductionResult>

Implementation of

CreditStore.deductCredits


deductTeam()

deductTeam(teamId, userId, amount, metadata?): Promise<TeamDeductionResult>

Defined in: javascript/src/stores/memory-store.ts:654

Parameters

teamId

string

userId

string

amount

number

metadata?

CreditMetadata | null

Returns

Promise<TeamDeductionResult>

Implementation of

CreditStore.deductTeam


getActivePricing()

getActivePricing(): Promise<PricingConfigResult | null>

Defined in: javascript/src/stores/memory-store.ts:239

Returns

Promise<PricingConfigResult | null>

Implementation of

CreditStore.getActivePricing


getBalance()

getBalance(userId): Promise<BalanceResult>

Defined in: javascript/src/stores/memory-store.ts:101

Parameters

userId

string

Returns

Promise<BalanceResult>

Implementation of

CreditStore.getBalance


getTeamBalance()

getTeamBalance(teamId): Promise<TeamBalanceResult>

Defined in: javascript/src/stores/memory-store.ts:617

Parameters

teamId

string

Returns

Promise<TeamBalanceResult>

Implementation of

CreditStore.getTeamBalance


getTeamMembers()

getTeamMembers(teamId): Promise<TeamMember[]>

Defined in: javascript/src/stores/memory-store.ts:648

Parameters

teamId

string

Returns

Promise<TeamMember[]>

Implementation of

CreditStore.getTeamMembers


getUserPlan()

getUserPlan(userId): Promise<GetUserPlanResult>

Defined in: javascript/src/stores/memory-store.ts:263

Parameters

userId

string

Returns

Promise<GetUserPlanResult>

Implementation of

CreditStore.getUserPlan


incrementUsageWindow()

incrementUsageWindow(userId, planId, amount): Promise<void>

Defined in: javascript/src/stores/memory-store.ts:317

Parameters

userId

string

planId

string

amount

number

Returns

Promise<void>

Implementation of

CreditStore.incrementUsageWindow


refundCredits()

refundCredits(transactionId, amount?, reason?, _metadata?): Promise<RefundResult>

Defined in: javascript/src/stores/memory-store.ts:332

Parameters

transactionId

string

amount?

number

reason?

string

_metadata?

CreditMetadata | null

Returns

Promise<RefundResult>

Implementation of

CreditStore.refundCredits


reserveCredits()

reserveCredits(userId, amount, operationType, _metadata?, minBalance?): Promise<ReserveResult>

Defined in: javascript/src/stores/memory-store.ts:144

Parameters

userId

string

amount

number

operationType

string

_metadata?

CreditMetadata | null

minBalance?

number = 5

Returns

Promise<ReserveResult>

Implementation of

CreditStore.reserveCredits


setActivePricing()

setActivePricing(config, _label?): Promise<string>

Defined in: javascript/src/stores/memory-store.ts:248

Parameters

config

PricingConfigData

_label?

string | null

Returns

Promise<string>

Implementation of

CreditStore.setActivePricing


setSpendCap()

setSpendCap(cap): void

Defined in: javascript/src/stores/memory-store.ts:534

Configure a spend cap (MemoryStore-only helper for testing).

Parameters

cap

SpendCap

Returns

void


setup()

setup(_databaseUrl?): Promise<SetupResult>

Defined in: javascript/src/stores/memory-store.ts:82

Parameters

_databaseUrl?

string | null

Returns

Promise<SetupResult>

Implementation of

CreditStore.setup


setUserPlan()

setUserPlan(userId, planId): Promise<SetUserPlanResult>

Defined in: javascript/src/stores/memory-store.ts:286

Parameters

userId

string

planId

string

Returns

Promise<SetUserPlanResult>

Implementation of

CreditStore.setUserPlan


spendByModel()

spendByModel(start, end): Promise<SpendByModelRow[]>

Defined in: javascript/src/stores/memory-store.ts:479

Parameters

start

Date

end

Date

Returns

Promise<SpendByModelRow[]>

Implementation of

CreditStore.spendByModel


spendByUser()

spendByUser(start, end): Promise<SpendByUserRow[]>

Defined in: javascript/src/stores/memory-store.ts:463

Parameters

start

Date

end

Date

Returns

Promise<SpendByUserRow[]>

Implementation of

CreditStore.spendByUser


sweepExpiredCredits()

sweepExpiredCredits(dryRun?): Promise<SweepResult>

Defined in: javascript/src/stores/memory-store.ts:397

Parameters

dryRun?

boolean = false

Returns

Promise<SweepResult>

Implementation of

CreditStore.sweepExpiredCredits


topUsers()

topUsers(limit, start, end): Promise<TopUserRow[]>

Defined in: javascript/src/stores/memory-store.ts:496

Parameters

limit

number

start

Date

end

Date

Returns

Promise<TopUserRow[]>

Implementation of

CreditStore.topUsers