usage-sdk-test 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -3,3 +3,5 @@ export * from "./errors";
3
3
  export { createUsageSdk } from "./sdk/createUsageSdk";
4
4
  export type { PersistenceProvider, PersistenceInit, PersistenceStores } from "./persistence/PersistenceProvider";
5
5
  export { MemoryPersistenceProvider } from "./persistence/MemoryPersistenceProvider";
6
+ export type { PlanResolver, PlanResolverInput } from "./plans/PlanResolver";
7
+ export { MemoryPlanResolver } from "./plans/MemoryPlanResolver";
package/dist/index.js CHANGED
@@ -14,11 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.MemoryPersistenceProvider = exports.createUsageSdk = void 0;
17
+ exports.MemoryPlanResolver = exports.MemoryPersistenceProvider = exports.createUsageSdk = void 0;
18
18
  __exportStar(require("./types"), exports);
19
19
  __exportStar(require("./errors"), exports);
20
20
  var createUsageSdk_1 = require("./sdk/createUsageSdk");
21
21
  Object.defineProperty(exports, "createUsageSdk", { enumerable: true, get: function () { return createUsageSdk_1.createUsageSdk; } });
22
22
  var MemoryPersistenceProvider_1 = require("./persistence/MemoryPersistenceProvider");
23
23
  Object.defineProperty(exports, "MemoryPersistenceProvider", { enumerable: true, get: function () { return MemoryPersistenceProvider_1.MemoryPersistenceProvider; } });
24
+ var MemoryPlanResolver_1 = require("./plans/MemoryPlanResolver");
25
+ Object.defineProperty(exports, "MemoryPlanResolver", { enumerable: true, get: function () { return MemoryPlanResolver_1.MemoryPlanResolver; } });
24
26
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,2CAAyB;AACzB,uDAAsD;AAA7C,gHAAA,cAAc,OAAA;AAEvB,qFAAoF;AAA3E,sIAAA,yBAAyB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,2CAAyB;AACzB,uDAAsD;AAA7C,gHAAA,cAAc,OAAA;AAEvB,qFAAoF;AAA3E,sIAAA,yBAAyB,OAAA;AAElC,iEAAgE;AAAvD,wHAAA,kBAAkB,OAAA"}
@@ -1,4 +1,15 @@
1
1
  import type { PersistenceInit, PersistenceProvider, PersistenceStores } from "./PersistenceProvider";
2
2
  export declare class MemoryPersistenceProvider implements PersistenceProvider {
3
+ private readonly defaultPlanId?;
4
+ private readonly initialPlans?;
5
+ private planResolver;
6
+ constructor(input?: {
7
+ defaultPlanId?: string;
8
+ initialPlans?: Array<{
9
+ accountId: string;
10
+ planId: string;
11
+ }>;
12
+ });
3
13
  create(init: PersistenceInit): PersistenceStores;
14
+ setPlanId(accountId: string, planId: string): void;
4
15
  }
@@ -5,15 +5,36 @@ const MemoryPlanStore_1 = require("../providers/memory/MemoryPlanStore");
5
5
  const MemoryLedgerStore_1 = require("../providers/memory/MemoryLedgerStore");
6
6
  const MemoryLimitStore_1 = require("../providers/memory/MemoryLimitStore");
7
7
  const MemoryUsageStore_1 = require("../providers/memory/MemoryUsageStore");
8
+ const MemoryPlanResolver_1 = require("../plans/MemoryPlanResolver");
8
9
  class MemoryPersistenceProvider {
10
+ defaultPlanId;
11
+ initialPlans;
12
+ planResolver = null;
13
+ constructor(input) {
14
+ this.defaultPlanId = input?.defaultPlanId;
15
+ this.initialPlans = input?.initialPlans;
16
+ }
9
17
  create(init) {
18
+ if (!this.planResolver) {
19
+ this.planResolver = new MemoryPlanResolver_1.MemoryPlanResolver({
20
+ defaultPlanId: this.defaultPlanId ?? init.plans[0]?.planId ?? "default",
21
+ initial: this.initialPlans ?? [],
22
+ });
23
+ }
10
24
  return {
11
25
  planStore: new MemoryPlanStore_1.MemoryPlanStore(init.plans),
12
26
  ledgerStore: new MemoryLedgerStore_1.MemoryLedgerStore(init.initialBalances),
13
27
  limitStore: new MemoryLimitStore_1.MemoryLimitStore(),
14
28
  usageStore: new MemoryUsageStore_1.MemoryUsageStore(),
29
+ planResolver: this.planResolver,
15
30
  };
16
31
  }
32
+ setPlanId(accountId, planId) {
33
+ if (!this.planResolver) {
34
+ throw new Error("MemoryPersistenceProvider.create() must be called before setPlanId()");
35
+ }
36
+ this.planResolver.setPlanId(accountId, planId);
37
+ }
17
38
  }
18
39
  exports.MemoryPersistenceProvider = MemoryPersistenceProvider;
19
40
  //# sourceMappingURL=MemoryPersistenceProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryPersistenceProvider.js","sourceRoot":"","sources":["../../src/persistence/MemoryPersistenceProvider.ts"],"names":[],"mappings":";;;AACA,yEAAsE;AACtE,6EAA0E;AAC1E,2EAAwE;AACxE,2EAAwE;AAExE,MAAa,yBAAyB;IACpC,MAAM,CAAC,IAAqB;QAC1B,OAAO;YACL,SAAS,EAAE,IAAI,iCAAe,CAAC,IAAI,CAAC,KAAK,CAAC;YAC1C,WAAW,EAAE,IAAI,qCAAiB,CAAC,IAAI,CAAC,eAAe,CAAC;YACxD,UAAU,EAAE,IAAI,mCAAgB,EAAE;YAClC,UAAU,EAAE,IAAI,mCAAgB,EAAE;SACnC,CAAC;IACJ,CAAC;CACF;AATD,8DASC"}
1
+ {"version":3,"file":"MemoryPersistenceProvider.js","sourceRoot":"","sources":["../../src/persistence/MemoryPersistenceProvider.ts"],"names":[],"mappings":";;;AACA,yEAAsE;AACtE,6EAA0E;AAC1E,2EAAwE;AACxE,2EAAwE;AACxE,oEAAiE;AAEjE,MAAa,yBAAyB;IACnB,aAAa,CAAU;IACvB,YAAY,CAAgD;IACrE,YAAY,GAA8B,IAAI,CAAC;IAEvD,YAAY,KAA+F;QACzG,IAAI,CAAC,aAAa,GAAG,KAAK,EAAE,aAAa,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,KAAK,EAAE,YAAY,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,IAAqB;QAC1B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,IAAI,uCAAkB,CAAC;gBACzC,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,SAAS;gBACvE,OAAO,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE;aACjC,CAAC,CAAC;QACL,CAAC;QACD,OAAO;YACL,SAAS,EAAE,IAAI,iCAAe,CAAC,IAAI,CAAC,KAAK,CAAC;YAC1C,WAAW,EAAE,IAAI,qCAAiB,CAAC,IAAI,CAAC,eAAe,CAAC;YACxD,UAAU,EAAE,IAAI,mCAAgB,EAAE;YAClC,UAAU,EAAE,IAAI,mCAAgB,EAAE;YAClC,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,SAAiB,EAAE,MAAc;QACzC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;CACF;AAhCD,8DAgCC"}
@@ -4,6 +4,7 @@ import type { LedgerStore } from "../stores/LedgerStore";
4
4
  import type { LimitStore } from "../stores/LimitStore";
5
5
  import type { UsageStore } from "../stores/UsageStore";
6
6
  import type { Money } from "../types";
7
+ import type { PlanResolver } from "../plans/PlanResolver";
7
8
  export type PersistenceInit = {
8
9
  plans: PricePlan[];
9
10
  initialBalances?: Array<{
@@ -16,6 +17,7 @@ export type PersistenceStores = {
16
17
  ledgerStore: LedgerStore;
17
18
  limitStore: LimitStore;
18
19
  usageStore: UsageStore;
20
+ planResolver: PlanResolver;
19
21
  };
20
22
  export interface PersistenceProvider {
21
23
  create(init: PersistenceInit): PersistenceStores;
@@ -0,0 +1,14 @@
1
+ import type { PlanResolver, PlanResolverInput } from "./PlanResolver";
2
+ export declare class MemoryPlanResolver implements PlanResolver {
3
+ private readonly map;
4
+ private readonly defaultPlanId;
5
+ constructor(input: {
6
+ defaultPlanId: string;
7
+ initial?: Array<{
8
+ accountId: string;
9
+ planId: string;
10
+ }>;
11
+ });
12
+ resolvePlanId(input: PlanResolverInput): Promise<string>;
13
+ setPlanId(accountId: string, planId: string): void;
14
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MemoryPlanResolver = void 0;
4
+ class MemoryPlanResolver {
5
+ map = new Map();
6
+ defaultPlanId;
7
+ constructor(input) {
8
+ this.defaultPlanId = input.defaultPlanId;
9
+ for (const it of input.initial ?? [])
10
+ this.map.set(it.accountId, it.planId);
11
+ }
12
+ async resolvePlanId(input) {
13
+ return this.map.get(input.accountId) ?? this.defaultPlanId;
14
+ }
15
+ setPlanId(accountId, planId) {
16
+ this.map.set(accountId, planId);
17
+ }
18
+ }
19
+ exports.MemoryPlanResolver = MemoryPlanResolver;
20
+ //# sourceMappingURL=MemoryPlanResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryPlanResolver.js","sourceRoot":"","sources":["../../src/plans/MemoryPlanResolver.ts"],"names":[],"mappings":";;;AAEA,MAAa,kBAAkB;IACZ,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChC,aAAa,CAAS;IAEvC,YAAY,KAAwF;QAClG,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QACzC,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAwB;QAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC;IAC7D,CAAC;IAED,SAAS,CAAC,SAAiB,EAAE,MAAc;QACzC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;CACF;AAhBD,gDAgBC"}
@@ -0,0 +1,6 @@
1
+ export type PlanResolverInput = {
2
+ accountId: string;
3
+ };
4
+ export interface PlanResolver {
5
+ resolvePlanId(input: PlanResolverInput): Promise<string>;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=PlanResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlanResolver.js","sourceRoot":"","sources":["../../src/plans/PlanResolver.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import type { PlanResolver, PlanResolverInput } from "./PlanResolver";
2
+ export declare class StaticPlanResolver implements PlanResolver {
3
+ private readonly planId;
4
+ constructor(planId: string);
5
+ resolvePlanId(_input: PlanResolverInput): Promise<string>;
6
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StaticPlanResolver = void 0;
4
+ class StaticPlanResolver {
5
+ planId;
6
+ constructor(planId) {
7
+ this.planId = planId;
8
+ }
9
+ async resolvePlanId(_input) {
10
+ return this.planId;
11
+ }
12
+ }
13
+ exports.StaticPlanResolver = StaticPlanResolver;
14
+ //# sourceMappingURL=StaticPlanResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaticPlanResolver.js","sourceRoot":"","sources":["../../src/plans/StaticPlanResolver.ts"],"names":[],"mappings":";;;AAEA,MAAa,kBAAkB;IACA;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,KAAK,CAAC,aAAa,CAAC,MAAyB;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAND,gDAMC"}
@@ -36,5 +36,10 @@ export declare class UsageSdk {
36
36
  fromMs?: number;
37
37
  toMs?: number;
38
38
  }): Promise<Money>;
39
+ getUsageRecords(input: {
40
+ accountId: string;
41
+ fromMs?: number;
42
+ toMs?: number;
43
+ }): Promise<import("../types").UsageRecord[]>;
39
44
  enforce(input: EnforceInput): Promise<EnforceResult>;
40
45
  }
@@ -68,6 +68,9 @@ class UsageSdk {
68
68
  }
69
69
  return { currency: input.currency, amountMinor: sum };
70
70
  }
71
+ async getUsageRecords(input) {
72
+ return this.deps.usageStore.list(input);
73
+ }
71
74
  async enforce(input) {
72
75
  try {
73
76
  if (!input.idempotencyKey)
@@ -1 +1 @@
1
- {"version":3,"file":"UsageSdk.js","sourceRoot":"","sources":["../../src/sdk/UsageSdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UsageSdk.js","sourceRoot":"","sources":["../../src/sdk/UsageSdk.ts"],"names":[],"mappings":"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"}
@@ -38,4 +38,12 @@ export declare const createUsageSdk: (input: CreateUsageSdkInput) => {
38
38
  fromMs?: number;
39
39
  toMs?: number;
40
40
  }) => Promise<Money>;
41
+ getUsageRecords: (input: {
42
+ accountId: string;
43
+ fromMs?: number;
44
+ toMs?: number;
45
+ }) => Promise<import("../types").UsageRecord[]>;
46
+ getPlanId: (input: {
47
+ accountId: string;
48
+ }) => Promise<string>;
41
49
  };
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createUsageSdk = void 0;
4
4
  const UsageSdk_1 = require("./UsageSdk");
5
5
  const createUsageSdk = (input) => {
6
- const { planStore, ledgerStore, limitStore, usageStore } = input.persistence.create({
6
+ const { planStore, ledgerStore, limitStore, usageStore, planResolver } = input.persistence.create({
7
7
  plans: input.plans,
8
8
  initialBalances: input.initialBalances,
9
9
  });
@@ -18,6 +18,8 @@ const createUsageSdk = (input) => {
18
18
  consumeRpm: sdk.consumeRpm.bind(sdk),
19
19
  grant: sdk.grant.bind(sdk),
20
20
  getUsageCostSum: sdk.getUsageCostSum.bind(sdk),
21
+ getUsageRecords: sdk.getUsageRecords.bind(sdk),
22
+ getPlanId: async (input) => planResolver.resolvePlanId(input),
21
23
  };
22
24
  };
23
25
  exports.createUsageSdk = createUsageSdk;
@@ -1 +1 @@
1
- {"version":3,"file":"createUsageSdk.js","sourceRoot":"","sources":["../../src/sdk/createUsageSdk.ts"],"names":[],"mappings":";;;AACA,yCAAsC;AAa/B,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,EAAE;IAC3D,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;QAClF,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,eAAe,EAAE,KAAK,CAAC,eAAe;KACvC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,IAAI,mBAAQ,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;IAE7E,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QAC1B,OAAO,EAAE,KAAK,EAAE,YAA+C,EAAE,EAAE,CACjE,GAAG,CAAC,OAAO,CAAC;YACV,GAAG,YAAY;YACf,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,KAAK,CAAC,aAAa;SACnD,CAAC;QACJ,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;QACpC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;QACpC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QAC1B,eAAe,EAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;KAC/C,CAAC;AACJ,CAAC,CAAC;AApBW,QAAA,cAAc,kBAoBzB"}
1
+ {"version":3,"file":"createUsageSdk.js","sourceRoot":"","sources":["../../src/sdk/createUsageSdk.ts"],"names":[],"mappings":";;;AACA,yCAAsC;AAa/B,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,EAAE;IAC3D,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;QAChG,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,eAAe,EAAE,KAAK,CAAC,eAAe;KACvC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,IAAI,mBAAQ,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;IAE7E,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QAC1B,OAAO,EAAE,KAAK,EAAE,YAA+C,EAAE,EAAE,CACjE,GAAG,CAAC,OAAO,CAAC;YACV,GAAG,YAAY;YACf,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,KAAK,CAAC,aAAa;SACnD,CAAC;QACJ,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;QACpC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;QACpC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QAC1B,eAAe,EAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9C,eAAe,EAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9C,SAAS,EAAE,KAAK,EAAE,KAA4B,EAAE,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC;KACrF,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,cAAc,kBAsBzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "usage-sdk-test",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "private": false,
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",