@antelopejs/interface-subscriptions 0.0.1 → 0.1.0

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/README.md CHANGED
@@ -1,7 +1,11 @@
1
1
  # @antelopejs/interface-subscriptions
2
2
 
3
- [![npm version](https://img.shields.io/npm/v/@antelopejs/interface-subscriptions.svg)](https://www.npmjs.com/package/@antelopejs/interface-subscriptions)
4
- [![license](https://img.shields.io/npm/l/@antelopejs/interface-subscriptions.svg)](./LICENSE)
3
+ <div align="center">
4
+ <a href="https://www.npmjs.com/package/@antelopejs/interface-subscriptions"><img alt="npm" src="https://img.shields.io/npm/v/@antelopejs/interface-subscriptions?style=for-the-badge&labelColor=000000&color=000000"></a>
5
+ <a href="./LICENSE"><img alt="License" src="https://img.shields.io/npm/l/@antelopejs/interface-subscriptions?style=for-the-badge&labelColor=000000&color=000000"></a>
6
+ <a href="https://discord.gg/sjK28QHrA7"><img alt="Discord" src="https://img.shields.io/badge/Discord-18181B?logo=discord&style=for-the-badge&color=000000"></a>
7
+ <a href="./docs/1.introduction.md"><img alt="Docs" src="https://img.shields.io/badge/Docs-18181B?style=for-the-badge&color=000000"></a>
8
+ </div>
5
9
 
6
10
  Provider-agnostic subscriptions for AntelopeJS. Bill a saved payment method
7
11
  every period — with trials, a billing anchor, cancellation now or at period end,
@@ -152,7 +156,7 @@ events by `event.id` as described in [Events](./docs/3.events.md).
152
156
  | Package | Range |
153
157
  | ------------------------------- | ---------------- |
154
158
  | `@antelopejs/interface-core` | `>=0.0.5 <1.0.0` |
155
- | `@antelopejs/interface-payment` | `>=0.0.1 <1.0.0` |
159
+ | `@antelopejs/interface-payment` | `>=0.0.2 <1.0.0` |
156
160
 
157
161
  These are the peer requirements in `package.json`. Development uses the same
158
162
  payment-interface semver range. Check your implementing module's requirements
@@ -167,7 +171,7 @@ too. `@antelopejs/core` 1.16.0 is a development test runner, not a runtime peer.
167
171
  - **A declined renewal is a status, not an exception.** Only a declined _first_
168
172
  period rejects, with `SubscriptionPaymentError`, and creates nothing.
169
173
  - **`past_due` is portable to report; the retry policy is not.**
170
- - **`vendorData` is a read-only echo.** No request accepts it.
174
+ - **`vendorData` is a read-only echo of JSON values.** No request accepts it.
171
175
  - **An optional trailing `provider`** selects the payment account, as in the
172
176
  payment interface.
173
177
 
@@ -183,7 +187,7 @@ too. `@antelopejs/core` 1.16.0 is a development test runner, not a runtime peer.
183
187
 
184
188
  ## Development
185
189
 
186
- Install the published payment interface from npm using the frozen lockfile:
190
+ Use Node.js 24 and pnpm 10.6.5. Install the published payment interface from npm using the frozen lockfile:
187
191
 
188
192
  ```bash
189
193
  pnpm install --frozen-lockfile
@@ -211,6 +215,10 @@ every renewal path and is the executable specification for the rest.
211
215
  | `ANTELOPE_SUBSCRIPTIONS_TEST_EVENTS` | Set when events can reach the test process. A native provider delivers them by webhook, which usually cannot. |
212
216
  | `ANTELOPE_PAYMENT_TEST_CURRENCY` | ISO-4217 code to run against. Defaults to `EUR`. |
213
217
 
218
+ ## Contributing
219
+
220
+ Read [CONTRIBUTING.md](./CONTRIBUTING.md) and run the [development checks](#development) before opening a pull request. Local contract tests do not require provider credentials; the provider conformance suite is a separate integration check.
221
+
214
222
  ## License
215
223
 
216
- Apache-2.0
224
+ [Apache-2.0](./LICENSE)
@@ -60,6 +60,7 @@ describe(`cancelling (${support_1.CHARGEABLE})`, function () {
60
60
  await (0, index_1.CancelSubscription)(subscription.id, (0, support_1.key)(), "now");
61
61
  for (const timing of ["now", "period_end"]) {
62
62
  const error = await (0, support_1.rejectsWith)((0, index_1.CancelSubscription)(subscription.id, (0, support_1.key)(), timing), index_1.InvalidSubscriptionStateError, `cancel ${timing} after the end`);
63
+ strict_1.default.ok(error instanceof index_1.InvalidSubscriptionStateError);
63
64
  strict_1.default.equal(error.status, "canceled");
64
65
  }
65
66
  });
@@ -91,15 +92,15 @@ describe(`changing the payment method (${support_1.CHARGEABLE})`, function () {
91
92
  const payer = await (0, support_1.newPayer)();
92
93
  const subscription = await (0, support_1.subscribe)(payer);
93
94
  await (0, index_1.CancelSubscription)(subscription.id, (0, support_1.key)(), "now");
94
- await (0, support_1.rejectsWith)((0, index_1.UpdateSubscriptionPaymentMethod)(subscription.id, payer.paymentMethod, (0, support_1.key)()), index_1.InvalidSubscriptionStateError, "update after the end");
95
+ await strict_1.default.rejects((0, index_1.UpdateSubscriptionPaymentMethod)(subscription.id, payer.paymentMethod, (0, support_1.key)()), index_1.InvalidSubscriptionStateError, "update after the end");
95
96
  });
96
97
  });
97
98
  describe("unknown subscriptions", function () {
98
99
  this.timeout(support_1.SUITE_TIMEOUT);
99
100
  it("raises SubscriptionNotFoundError for every call on an unknown id", async () => {
100
- await (0, support_1.rejectsWith)((0, index_1.GetSubscription)(support_1.ABSENT_ID), index_1.SubscriptionNotFoundError, "get");
101
- await (0, support_1.rejectsWith)((0, index_1.CancelSubscription)(support_1.ABSENT_ID, (0, support_1.key)(), "now"), index_1.SubscriptionNotFoundError, "cancel");
102
- await (0, support_1.rejectsWith)((0, index_1.UpdateSubscriptionPaymentMethod)(support_1.ABSENT_ID, "pm_absent", (0, support_1.key)()), index_1.SubscriptionNotFoundError, "update");
101
+ await strict_1.default.rejects((0, index_1.GetSubscription)(support_1.ABSENT_ID), index_1.SubscriptionNotFoundError, "get");
102
+ await strict_1.default.rejects((0, index_1.CancelSubscription)(support_1.ABSENT_ID, (0, support_1.key)(), "now"), index_1.SubscriptionNotFoundError, "cancel");
103
+ await strict_1.default.rejects((0, index_1.UpdateSubscriptionPaymentMethod)(support_1.ABSENT_ID, "pm_absent", (0, support_1.key)()), index_1.SubscriptionNotFoundError, "update");
103
104
  });
104
105
  });
105
106
  describe(`requests outside the contract (${support_1.CHARGEABLE})`, function () {
@@ -128,16 +129,16 @@ describe(`requests outside the contract (${support_1.CHARGEABLE})`, function ()
128
129
  for (const [label, overrides] of Object.entries(INVALID)) {
129
130
  it(`refuses ${label}`, async () => {
130
131
  const payer = await (0, support_1.newPayer)();
131
- await (0, support_1.rejectsWith)((0, index_1.CreateSubscription)((0, support_1.monthly)(payer, overrides(Date.now())), (0, support_1.key)()), index_1.InvalidSubscriptionRequestError, label);
132
+ await strict_1.default.rejects((0, index_1.CreateSubscription)((0, support_1.monthly)(payer, overrides(Date.now())), (0, support_1.key)()), index_1.InvalidSubscriptionRequestError, label);
132
133
  });
133
134
  }
134
135
  it("refuses a customer that does not exist, as a request, not a missing subscription", async () => {
135
136
  const payer = await (0, support_1.newPayer)();
136
- await (0, support_1.rejectsWith)((0, index_1.CreateSubscription)((0, support_1.monthly)(payer, { customer: ABSENT_CUSTOMER }), (0, support_1.key)()), index_1.InvalidSubscriptionRequestError, "unknown customer");
137
+ await strict_1.default.rejects((0, index_1.CreateSubscription)((0, support_1.monthly)(payer, { customer: ABSENT_CUSTOMER }), (0, support_1.key)()), index_1.InvalidSubscriptionRequestError, "unknown customer");
137
138
  });
138
139
  it("refuses a payment method that does not exist", async () => {
139
140
  const payer = await (0, support_1.newPayer)();
140
- await (0, support_1.rejectsWith)((0, index_1.CreateSubscription)((0, support_1.monthly)(payer, { paymentMethod: ABSENT_METHOD }), (0, support_1.key)()), index_1.InvalidSubscriptionRequestError, "unknown method");
141
+ await strict_1.default.rejects((0, index_1.CreateSubscription)((0, support_1.monthly)(payer, { paymentMethod: ABSENT_METHOD }), (0, support_1.key)()), index_1.InvalidSubscriptionRequestError, "unknown method");
141
142
  });
142
143
  it("refuses to switch to a method that does not exist, and the subscription stays", async () => {
143
144
  const subscription = await (0, support_1.subscribe)(await (0, support_1.newPayer)());
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions-changes.test.js","sourceRoot":"","sources":["../../src/tests/subscriptions-changes.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscriptions-changes.test.js","sourceRoot":"","sources":["../../src/tests/subscriptions-changes.test.ts"],"names":[],"mappings":"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"}
@@ -89,7 +89,7 @@ describe(`reading subscriptions back (${support_1.CHARGEABLE})`, function () {
89
89
  strict_1.default.equal(read.currentPeriodStart, created.currentPeriodStart);
90
90
  strict_1.default.equal(read.currentPeriodEnd, created.currentPeriodEnd);
91
91
  strict_1.default.equal(read.latestPayment, created.latestPayment);
92
- (0, support_1.assertSubscriptionShape)(read, (0, support_1.monthly)(payer, { reference: created.reference }));
92
+ (0, support_1.assertSubscriptionContract)(read, (0, support_1.monthly)(payer, { reference: created.reference }));
93
93
  });
94
94
  it("lists a customer's subscriptions newest first, and no one else's", async () => {
95
95
  const payer = await (0, support_1.newPayer)();
@@ -118,6 +118,7 @@ describe(`a declined first period (${support_1.DECLINES_LATER})`, function () {
118
118
  it("refuses the subscription and says which payment was declined", async () => {
119
119
  const payer = await (0, support_1.newPayer)(support_1.TEST_METHOD_DECLINES_LATER);
120
120
  const error = await (0, support_1.rejectsWith)((0, index_1.CreateSubscription)((0, support_1.monthly)(payer), (0, support_1.key)()), index_1.SubscriptionPaymentError, "a declined first period");
121
+ strict_1.default.ok(error instanceof index_1.SubscriptionPaymentError);
121
122
  const payment = error.payment;
122
123
  strict_1.default.ok(REFUSED_PAYMENT_STATUSES.includes(payment.status), `a declined first charge cannot be ${payment.status}`);
123
124
  strict_1.default.equal(payment.failure !== undefined, payment.status === "failed", "a failed payment says why");
@@ -130,6 +131,8 @@ describe(`a declined first period (${support_1.DECLINES_LATER})`, function () {
130
131
  const idempotencyKey = (0, support_1.key)();
131
132
  const first = await (0, support_1.rejectsWith)((0, index_1.CreateSubscription)(request, idempotencyKey), index_1.SubscriptionPaymentError, "first attempt");
132
133
  const replay = await (0, support_1.rejectsWith)((0, index_1.CreateSubscription)(request, idempotencyKey), index_1.SubscriptionPaymentError, "replay");
134
+ strict_1.default.ok(first instanceof index_1.SubscriptionPaymentError);
135
+ strict_1.default.ok(replay instanceof index_1.SubscriptionPaymentError);
133
136
  strict_1.default.equal(replay.payment.id, first.payment.id, "a replay must not charge again");
134
137
  });
135
138
  it("still starts a trial, since a trial charges nothing", async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions.test.js","sourceRoot":"","sources":["../../src/tests/subscriptions.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscriptions.test.js","sourceRoot":"","sources":["../../src/tests/subscriptions.test.ts"],"names":[],"mappings":"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"}
@@ -51,7 +51,7 @@ export declare function assertEpochMillis(value: number, label: string, horizon?
51
51
  /**
52
52
  * Asserts the invariants every subscription holds, whatever its state.
53
53
  */
54
- export declare function assertSubscriptionShape(subscription: Subscription, request: SubscriptionRequest): void;
54
+ export declare function assertSubscriptionContract(subscription: Subscription, request: SubscriptionRequest): void;
55
55
  /**
56
56
  * Polls until the payment leaves `pending`, the only status an off-session
57
57
  * charge can sit in.
@@ -9,7 +9,7 @@ exports.amount = amount;
9
9
  exports.key = key;
10
10
  exports.reference = reference;
11
11
  exports.assertEpochMillis = assertEpochMillis;
12
- exports.assertSubscriptionShape = assertSubscriptionShape;
12
+ exports.assertSubscriptionContract = assertSubscriptionContract;
13
13
  exports.settledPayment = settledPayment;
14
14
  exports.newPayer = newPayer;
15
15
  exports.saveMethod = saveMethod;
@@ -89,10 +89,13 @@ function assertEpochMillis(value, label, horizon = CLOCK_SKEW_ALLOWANCE) {
89
89
  strict_1.default.ok(value > EPOCH_MILLIS_FLOOR, `${label} is ${value}, which is not epoch milliseconds (seconds, perhaps?)`);
90
90
  strict_1.default.ok(value < Date.now() + horizon, `${label} is ${value}, further ahead than expected`);
91
91
  }
92
+ function isBoolean(value) {
93
+ return typeof value === "boolean";
94
+ }
92
95
  /**
93
96
  * Asserts the invariants every subscription holds, whatever its state.
94
97
  */
95
- function assertSubscriptionShape(subscription, request) {
98
+ function assertSubscriptionContract(subscription, request) {
96
99
  strict_1.default.ok(subscription.id.length > 0, "subscription id must be non-empty");
97
100
  strict_1.default.ok(index_1.SUBSCRIPTION_STATUSES.includes(subscription.status), `status ${subscription.status} is outside the contract`);
98
101
  strict_1.default.equal(subscription.reference, request.reference);
@@ -100,7 +103,7 @@ function assertSubscriptionShape(subscription, request) {
100
103
  strict_1.default.equal(subscription.interval, request.interval);
101
104
  strict_1.default.equal(subscription.intervalCount, request.intervalCount ?? 1);
102
105
  strict_1.default.deepEqual(subscription.amount, request.amount);
103
- strict_1.default.equal(typeof subscription.cancelAtPeriodEnd, "boolean");
106
+ strict_1.default.ok(isBoolean(subscription.cancelAtPeriodEnd), "cancelAtPeriodEnd must be a boolean");
104
107
  assertEpochMillis(subscription.createdAt, "createdAt");
105
108
  assertEpochMillis(subscription.currentPeriodStart, "currentPeriodStart");
106
109
  assertEpochMillis(subscription.currentPeriodEnd, "currentPeriodEnd", 400 * exports.DAY_MS);
@@ -166,7 +169,7 @@ function monthly(payer, overrides = {}) {
166
169
  async function subscribe(payer, overrides = {}) {
167
170
  const request = monthly(payer, overrides);
168
171
  const subscription = await (0, index_1.CreateSubscription)(request, key());
169
- assertSubscriptionShape(subscription, request);
172
+ assertSubscriptionContract(subscription, request);
170
173
  return subscription;
171
174
  }
172
175
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"support.js","sourceRoot":"","sources":["../../src/tests/support.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"support.js","sourceRoot":"","sources":["../../src/tests/support.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,22 @@
1
1
  import type { Amount } from "@antelopejs/interface-payment";
2
+ /**
3
+ * A value JSON can represent: a string, number, boolean, `null`, an array of
4
+ * JSON values, or a {@link JsonObject}. `Date`, `Buffer`, functions and class
5
+ * instances are not JSON values; convert them first (for example
6
+ * `date.toISOString()`). A read-only array is not assignable either; spread it
7
+ * into a mutable one. The type cannot exclude `NaN` and `Infinity`, which
8
+ * `JSON.stringify` writes as `null`.
9
+ */
10
+ export type JsonValue = string | number | boolean | null | JsonValue[] | JsonObject;
11
+ /**
12
+ * String keys mapped to JSON values. A key whose value is `undefined` is
13
+ * accepted so an optional field can be passed as is; `JSON.stringify` drops
14
+ * it. An object typed as an `interface` is not assignable (it has no index
15
+ * signature); declare it with a `type` alias or spread it into a literal.
16
+ */
17
+ export type JsonObject = {
18
+ [key: string]: JsonValue | undefined;
19
+ };
2
20
  /**
3
21
  * Every value {@link SubscriptionInterval} can take.
4
22
  */
@@ -121,13 +139,15 @@ export interface Subscription {
121
139
  metadata?: Record<string, string>;
122
140
  /**
123
141
  * What the provider said about this subscription, verbatim, for logs and
124
- * support tickets.
142
+ * support tickets. Every value is JSON-serializable: it is meant to be
143
+ * logged or stored, so a `Date`, `Buffer`, class instance or function has no
144
+ * place in it.
125
145
  *
126
146
  * Read-only. Nothing a caller does with this object reaches the provider, and
127
147
  * no request type accepts it: provider-specific behaviour belongs in the
128
148
  * provider's own interface, where the coupling is visible.
129
149
  */
130
- vendorData?: Readonly<Record<string, unknown>>;
150
+ vendorData?: Readonly<JsonObject>;
131
151
  }
132
152
  /**
133
153
  * Parameters for {@link CreateSubscription}.
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AA+DA,oEAIC;AAjED;;GAEG;AACU,QAAA,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC;IAClD,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;CACE,CAAC,CAAC;AAYZ;;;;;GAKG;AACU,QAAA,wBAAwB,GAAG,GAAG,CAAC;AAE5C;;GAEG;AACU,QAAA,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IACjD,UAAU;IACV,QAAQ;IACR,UAAU;IACV,UAAU;CACF,CAAC,CAAC;AAmBZ;;;;;GAKG;AACH,SAAgB,4BAA4B,CAC1C,MAA0B;IAE1B,OAAO,MAAM,KAAK,UAAU,CAAC;AAC/B,CAAC;AAED;;GAEG;AACU,QAAA,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC;IACpD,WAAW;IACX,gBAAgB;CACR,CAAC,CAAC;AAQZ;;GAEG;AACU,QAAA,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;IAChD,KAAK;IACL,YAAY;CACJ,CAAC,CAAC;AAqHZ;;GAEG;AACU,QAAA,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC;IACpD,sBAAsB;IACtB,gCAAgC;IAChC,6BAA6B;IAC7B,uBAAuB;CACf,CAAC,CAAC;AAiDZ;;;;;;;GAOG;AACU,QAAA,yBAAyB,GAAG,sBAAsB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAuFA,oEAIC;AAjED;;GAEG;AACU,QAAA,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC;IAClD,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;CACE,CAAC,CAAC;AAYZ;;;;;GAKG;AACU,QAAA,wBAAwB,GAAG,GAAG,CAAC;AAE5C;;GAEG;AACU,QAAA,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IACjD,UAAU;IACV,QAAQ;IACR,UAAU;IACV,UAAU;CACF,CAAC,CAAC;AAmBZ;;;;;GAKG;AACH,SAAgB,4BAA4B,CAC1C,MAA0B;IAE1B,OAAO,MAAM,KAAK,UAAU,CAAC;AAC/B,CAAC;AAED;;GAEG;AACU,QAAA,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC;IACpD,WAAW;IACX,gBAAgB;CACR,CAAC,CAAC;AAQZ;;GAEG;AACU,QAAA,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;IAChD,KAAK;IACL,YAAY;CACJ,CAAC,CAAC;AAuHZ;;GAEG;AACU,QAAA,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC;IACpD,sBAAsB;IACtB,gCAAgC;IAChC,6BAA6B;IAC7B,uBAAuB;CACf,CAAC,CAAC;AAiDZ;;;;;;;GAOG;AACU,QAAA,yBAAyB,GAAG,sBAAsB,CAAC"}
@@ -4,7 +4,7 @@ exports.ValidateSubscriptionRequest = ValidateSubscriptionRequest;
4
4
  const errors_1 = require("./errors");
5
5
  const types_1 = require("./types");
6
6
  function positiveInteger(value) {
7
- return typeof value === "number" && Number.isInteger(value) && value > 0;
7
+ return value !== undefined && Number.isInteger(value) && value > 0;
8
8
  }
9
9
  function validTime(value, now) {
10
10
  return (value === undefined ||
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":";;AAmEA,kEAMC;AAzED,qCAA2D;AAC3D,mCAA2E;AAI3E,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,SAAS,CAAC,KAAyB,EAAE,GAAY;IACxD,OAAO,CACL,KAAK,KAAK,SAAS;QACnB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,CAC/D,CAAC;AACJ,CAAC;AAED,MAAM,KAAK,GAAW;IACpB,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sCAAsC;IACxE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC;IACpE,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,2BAA2B;IACjE,CAAC,OAAO,EAAE,EAAE,CACV,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;QACpC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,kDAAkD;IACxD,CAAC,OAAO,EAAE,EAAE,CACV,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;QAC/C,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,oDAAoD;IAC1D,CAAC,OAAO,EAAE,EAAE,CACV,8BAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC/C,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,2BAA2B,8BAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IACpE,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,aAAa,KAAK,SAAS;QACnC,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC;QACpC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,0CAA0C;IAChD,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;QACnE,CAAC,CAAC,mDAAmD;QACrD,CAAC,CAAC,SAAS;IACf,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CACf,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;QAC9B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,mDAAmD;IACzD,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CACf,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;QACnC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,wDAAwD;CAC/D,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,SAAgB,2BAA2B,CACzC,OAA4B,EAC5B,GAAY;IAEZ,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtE,IAAI,OAAO;QAAE,MAAM,IAAI,wCAA+B,CAAC,OAAO,CAAC,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":";;AAmEA,kEAMC;AAzED,qCAA2D;AAC3D,mCAA2E;AAI3E,SAAS,eAAe,CAAC,KAAyB;IAChD,OAAO,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,SAAS,CAAC,KAAyB,EAAE,GAAY;IACxD,OAAO,CACL,KAAK,KAAK,SAAS;QACnB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,CAC/D,CAAC;AACJ,CAAC;AAED,MAAM,KAAK,GAAW;IACpB,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sCAAsC;IACxE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC;IACpE,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,2BAA2B;IACjE,CAAC,OAAO,EAAE,EAAE,CACV,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;QACpC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,kDAAkD;IACxD,CAAC,OAAO,EAAE,EAAE,CACV,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;QAC/C,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,oDAAoD;IAC1D,CAAC,OAAO,EAAE,EAAE,CACV,8BAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC/C,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,2BAA2B,8BAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IACpE,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,aAAa,KAAK,SAAS;QACnC,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC;QACpC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,0CAA0C;IAChD,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;QACnE,CAAC,CAAC,mDAAmD;QACrD,CAAC,CAAC,SAAS;IACf,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CACf,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;QAC9B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,mDAAmD;IACzD,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CACf,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;QACnC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,wDAAwD;CAC/D,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,SAAgB,2BAA2B,CACzC,OAA4B,EAC5B,GAAY;IAEZ,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtE,IAAI,OAAO;QAAE,MAAM,IAAI,wCAA+B,CAAC,OAAO,CAAC,CAAC;AAClE,CAAC"}
@@ -37,7 +37,13 @@ What it must do that the provider will not do for it:
37
37
  the same deliveries.
38
38
  - **Mark charges** with `SUBSCRIPTION_METADATA_KEY` when it normalises the
39
39
  underlying payments, so a consumer can tell them from one-off payments.
40
- - **Echo, never accept, `vendorData`.**
40
+ - **Echo, never accept, `vendorData`.** It is a `JsonObject`: put in it
41
+ strings, numbers, booleans, `null`, arrays and plain objects, not a `Date`,
42
+ a `Buffer` or a function. A value typed as an `interface` (a provider SDK
43
+ object, for instance) and a `readonly` array are rejected by the compiler:
44
+ build the object from a `type` alias or a literal, and spread a read-only
45
+ array into a mutable one. `NaN` and `Infinity` compile but serialize to
46
+ `null`.
41
47
 
42
48
  ## Fallback: the merchant fires renewals
43
49
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antelopejs/interface-subscriptions",
3
- "version": "0.0.1",
3
+ "version": "0.1.0",
4
4
  "description": "Provider-agnostic AntelopeJS subscriptions interface: recurring billing of a saved payment method, with trials, cancellation and normalised lifecycle events",
5
5
  "keywords": [
6
6
  "antelopejs",
@@ -38,28 +38,39 @@
38
38
  },
39
39
  "publishConfig": {
40
40
  "access": "public",
41
- "provenance": false
41
+ "provenance": true
42
42
  },
43
43
  "scripts": {
44
- "build": "rimraf dist && tsc",
44
+ "build": "rimraf dist && tsc -p tsconfig.build.json",
45
45
  "test": "pnpm build && ajs module test .",
46
46
  "format": "oxfmt .",
47
47
  "lint:fix": "oxlint --fix",
48
48
  "lint": "oxlint",
49
49
  "prepack": "pnpm run build",
50
- "release": "pnpm run lint && pnpm run prepack && release-it",
50
+ "release": "pnpm run lint && pnpm run test && pnpm run prepack && release-it",
51
51
  "format:check": "oxfmt --check .",
52
- "knip": "knip"
52
+ "knip": "knip",
53
+ "prepare": "if git rev-parse --is-inside-work-tree >/dev/null 2>&1 && command -v lefthook >/dev/null 2>&1; then lefthook install; fi",
54
+ "checks": "antelopejs-checks",
55
+ "size": "antelopejs-check-size",
56
+ "ratchet": "antelopejs-ratchet",
57
+ "sync": "antelopejs-sync",
58
+ "ratchet:update": "antelopejs-ratchet --update",
59
+ "sync:check": "antelopejs-sync --check",
60
+ "typecheck": "tsc --noEmit",
61
+ "suppressions": "antelopejs-suppressions",
62
+ "suppressions:update": "antelopejs-suppressions --update"
53
63
  },
54
64
  "devDependencies": {
55
65
  "@antelopejs/core": "1.16.0",
56
66
  "@antelopejs/interface-core": ">=0.0.5 <1.0.0",
57
- "@antelopejs/interface-payment": ">=0.0.1 <1.0.0",
58
- "@antelopejs/tooling-configs": "^0.0.8",
67
+ "@antelopejs/interface-payment": ">=0.0.2 <1.0.0",
68
+ "@antelopejs/tooling-configs": "^0.2.11",
59
69
  "@types/mocha": "^10.0.10",
60
70
  "@types/node": "^22.19.15",
61
71
  "eslint-plugin-perfectionist": "^5.11.0",
62
72
  "knip": "^6.34.0",
73
+ "lefthook": "^2.2.2",
63
74
  "oxfmt": "^0.66.0",
64
75
  "oxlint": "1.81.0",
65
76
  "oxlint-tsgolint": "^7.0.2001",
@@ -70,7 +81,7 @@
70
81
  },
71
82
  "peerDependencies": {
72
83
  "@antelopejs/interface-core": ">=0.0.5 <1.0.0",
73
- "@antelopejs/interface-payment": ">=0.0.1 <1.0.0"
84
+ "@antelopejs/interface-payment": ">=0.0.2 <1.0.0"
74
85
  },
75
86
  "packageManager": "pnpm@10.6.5",
76
87
  "antelopeJs": {