@shware/purchase 7.3.0 → 7.6.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.
Files changed (61) hide show
  1. package/dist/app-store/index.cjs +1 -0
  2. package/dist/app-store/index.d.cts +2 -2
  3. package/dist/app-store/index.d.mts +2 -2
  4. package/dist/app-store/index.mjs +2 -2
  5. package/dist/app-store/mapper.cjs +22 -0
  6. package/dist/app-store/mapper.cjs.map +1 -1
  7. package/dist/app-store/mapper.d.cts +17 -1
  8. package/dist/app-store/mapper.d.cts.map +1 -1
  9. package/dist/app-store/mapper.d.mts +17 -1
  10. package/dist/app-store/mapper.d.mts.map +1 -1
  11. package/dist/app-store/mapper.mjs +22 -1
  12. package/dist/app-store/mapper.mjs.map +1 -1
  13. package/dist/google-play/index.cjs +1 -0
  14. package/dist/google-play/index.d.cts +2 -2
  15. package/dist/google-play/index.d.mts +2 -2
  16. package/dist/google-play/index.mjs +2 -2
  17. package/dist/google-play/mapper.cjs +12 -0
  18. package/dist/google-play/mapper.cjs.map +1 -1
  19. package/dist/google-play/mapper.d.cts +10 -1
  20. package/dist/google-play/mapper.d.cts.map +1 -1
  21. package/dist/google-play/mapper.d.mts +10 -1
  22. package/dist/google-play/mapper.d.mts.map +1 -1
  23. package/dist/google-play/mapper.mjs +12 -1
  24. package/dist/google-play/mapper.mjs.map +1 -1
  25. package/dist/stripe/config.cjs +9 -0
  26. package/dist/stripe/config.cjs.map +1 -1
  27. package/dist/stripe/config.d.cts +6 -0
  28. package/dist/stripe/config.d.cts.map +1 -1
  29. package/dist/stripe/config.d.mts +6 -0
  30. package/dist/stripe/config.d.mts.map +1 -1
  31. package/dist/stripe/config.mjs +9 -0
  32. package/dist/stripe/config.mjs.map +1 -1
  33. package/dist/stripe/index.cjs +7 -0
  34. package/dist/stripe/index.d.cts +4 -2
  35. package/dist/stripe/index.d.mts +4 -2
  36. package/dist/stripe/index.mjs +4 -2
  37. package/dist/stripe/mapper.cjs +21 -2
  38. package/dist/stripe/mapper.cjs.map +1 -1
  39. package/dist/stripe/mapper.d.cts +9 -1
  40. package/dist/stripe/mapper.d.cts.map +1 -1
  41. package/dist/stripe/mapper.d.mts +9 -1
  42. package/dist/stripe/mapper.d.mts.map +1 -1
  43. package/dist/stripe/mapper.mjs +22 -4
  44. package/dist/stripe/mapper.mjs.map +1 -1
  45. package/dist/stripe/payment-method.cjs +34 -0
  46. package/dist/stripe/payment-method.cjs.map +1 -0
  47. package/dist/stripe/payment-method.d.cts +22 -0
  48. package/dist/stripe/payment-method.d.cts.map +1 -0
  49. package/dist/stripe/payment-method.d.mts +22 -0
  50. package/dist/stripe/payment-method.d.mts.map +1 -0
  51. package/dist/stripe/payment-method.mjs +32 -0
  52. package/dist/stripe/payment-method.mjs.map +1 -0
  53. package/dist/stripe/subscription.cjs +35 -0
  54. package/dist/stripe/subscription.cjs.map +1 -0
  55. package/dist/stripe/subscription.d.cts +33 -0
  56. package/dist/stripe/subscription.d.cts.map +1 -0
  57. package/dist/stripe/subscription.d.mts +33 -0
  58. package/dist/stripe/subscription.d.mts.map +1 -0
  59. package/dist/stripe/subscription.mjs +33 -0
  60. package/dist/stripe/subscription.mjs.map +1 -0
  61. package/package.json +1 -1
@@ -0,0 +1,22 @@
1
+ import { Stripe } from "stripe";
2
+ //#region src/stripe/payment-method.d.ts
3
+ /**
4
+ * Reusable payment methods whose outcome arrives days after the charge is attempted: Stripe's
5
+ * "payment methods with delayed notification" (https://docs.stripe.com/payments/payment-methods#payment-notification).
6
+ * A charge to one sits in `processing` until the bank answers, and can still fail then.
7
+ *
8
+ * Only types that can be saved and charged again (a subscription's or customer's default) are
9
+ * listed: the bank debits. One-off vouchers and transfers (Boleto, OXXO, Konbini, bank transfers)
10
+ * also notify late, but never come back as a saved payment method. A deny-list, so instant methods
11
+ * (cards, wallets, Link, PayPal, ...) need no entry; a delayed type Stripe adds later has to be
12
+ * added here.
13
+ */
14
+ export declare const DELAYED_NOTIFICATION_PAYMENT_METHOD_TYPES: ReadonlySet<Stripe.PaymentMethod.Type>;
15
+ /**
16
+ * Whether a charge to this payment method type is only known to have succeeded days later. Flows
17
+ * that need the money now (a Stripe pending update, which supports no such method and expires
18
+ * after ~23 hours) should refuse it up front rather than report a late failure.
19
+ */
20
+ export declare function hasDelayedNotification(type: Stripe.PaymentMethod.Type): boolean;
21
+ //#endregion
22
+ //# sourceMappingURL=payment-method.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-method.d.mts","names":[],"sources":["../../src/stripe/payment-method.ts"],"mappings":";;;;;;;;;;;;;qBAaa,2CAA2C,YAAY,OAAO,cAAc;;;;;;wBAezE,uBAAuB,MAAM,OAAO,cAAc"}
@@ -0,0 +1,32 @@
1
+ //#region src/stripe/payment-method.ts
2
+ /**
3
+ * Reusable payment methods whose outcome arrives days after the charge is attempted: Stripe's
4
+ * "payment methods with delayed notification" (https://docs.stripe.com/payments/payment-methods#payment-notification).
5
+ * A charge to one sits in `processing` until the bank answers, and can still fail then.
6
+ *
7
+ * Only types that can be saved and charged again (a subscription's or customer's default) are
8
+ * listed: the bank debits. One-off vouchers and transfers (Boleto, OXXO, Konbini, bank transfers)
9
+ * also notify late, but never come back as a saved payment method. A deny-list, so instant methods
10
+ * (cards, wallets, Link, PayPal, ...) need no entry; a delayed type Stripe adds later has to be
11
+ * added here.
12
+ */
13
+ const DELAYED_NOTIFICATION_PAYMENT_METHOD_TYPES = /* @__PURE__ */ new Set([
14
+ "sepa_debit",
15
+ "us_bank_account",
16
+ "bacs_debit",
17
+ "au_becs_debit",
18
+ "acss_debit",
19
+ "nz_bank_account"
20
+ ]);
21
+ /**
22
+ * Whether a charge to this payment method type is only known to have succeeded days later. Flows
23
+ * that need the money now (a Stripe pending update, which supports no such method and expires
24
+ * after ~23 hours) should refuse it up front rather than report a late failure.
25
+ */
26
+ function hasDelayedNotification(type) {
27
+ return DELAYED_NOTIFICATION_PAYMENT_METHOD_TYPES.has(type);
28
+ }
29
+ //#endregion
30
+ export { DELAYED_NOTIFICATION_PAYMENT_METHOD_TYPES, hasDelayedNotification };
31
+
32
+ //# sourceMappingURL=payment-method.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-method.mjs","names":[],"sources":["../../src/stripe/payment-method.ts"],"sourcesContent":["import type { Stripe } from 'stripe';\n\n/**\n * Reusable payment methods whose outcome arrives days after the charge is attempted: Stripe's\n * \"payment methods with delayed notification\" (https://docs.stripe.com/payments/payment-methods#payment-notification).\n * A charge to one sits in `processing` until the bank answers, and can still fail then.\n *\n * Only types that can be saved and charged again (a subscription's or customer's default) are\n * listed: the bank debits. One-off vouchers and transfers (Boleto, OXXO, Konbini, bank transfers)\n * also notify late, but never come back as a saved payment method. A deny-list, so instant methods\n * (cards, wallets, Link, PayPal, ...) need no entry; a delayed type Stripe adds later has to be\n * added here.\n */\nexport const DELAYED_NOTIFICATION_PAYMENT_METHOD_TYPES: ReadonlySet<Stripe.PaymentMethod.Type> =\n new Set([\n 'sepa_debit',\n 'us_bank_account',\n 'bacs_debit',\n 'au_becs_debit',\n 'acss_debit',\n 'nz_bank_account',\n ]);\n\n/**\n * Whether a charge to this payment method type is only known to have succeeded days later. Flows\n * that need the money now (a Stripe pending update, which supports no such method and expires\n * after ~23 hours) should refuse it up front rather than report a late failure.\n */\nexport function hasDelayedNotification(type: Stripe.PaymentMethod.Type): boolean {\n return DELAYED_NOTIFICATION_PAYMENT_METHOD_TYPES.has(type);\n}\n"],"mappings":";;;;;;;;;;;;AAaA,MAAa,4DACX,IAAI,IAAI;CACN;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;;;;;;AAOH,SAAgB,uBAAuB,MAA0C;CAC/E,OAAO,0CAA0C,IAAI,IAAI;AAC3D"}
@@ -0,0 +1,35 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_stripe_mapper = require("./mapper.cjs");
3
+ //#region src/stripe/subscription.ts
4
+ /**
5
+ * The plan's list price, which is what "$X / month" promises. The latest invoice is deliberately
6
+ * not used: after an upgrade it is the prorated difference, and after a coupon the discounted
7
+ * amount, both of which belong in the invoice history rather than on the plan. Null for a tiered or
8
+ * custom-amount price, which has no flat unit amount.
9
+ */
10
+ function mapListPrice({ items }) {
11
+ const item = items.data.at(0);
12
+ const price = item?.price;
13
+ if (!price || price.unit_amount === null) return null;
14
+ return require_stripe_mapper.money(price.unit_amount * (item.quantity ?? 1), price.currency);
15
+ }
16
+ function mapSubscription(sub) {
17
+ const periodEnd = sub.items.data.at(0)?.current_period_end ?? null;
18
+ return {
19
+ status: require_stripe_mapper.mapSubscriptionStatus(sub.status),
20
+ autoRenewEnabled: sub.status !== "canceled" && !sub.cancel_at_period_end && sub.cancel_at === null,
21
+ price: mapListPrice(sub),
22
+ startedAt: require_stripe_mapper.mapTime(sub.start_date),
23
+ createdAt: require_stripe_mapper.mapTime(sub.created),
24
+ renewalAt: sub.status === "paused" ? null : require_stripe_mapper.mapTime(periodEnd),
25
+ trialStart: require_stripe_mapper.mapTime(sub.trial_start),
26
+ trialEnd: require_stripe_mapper.mapTime(sub.trial_end),
27
+ canceledAt: require_stripe_mapper.mapTime(sub.canceled_at),
28
+ cancellationDetails: require_stripe_mapper.mapCancellationDetails(sub)
29
+ };
30
+ }
31
+ //#endregion
32
+ exports.mapListPrice = mapListPrice;
33
+ exports.mapSubscription = mapSubscription;
34
+
35
+ //# sourceMappingURL=subscription.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.cjs","names":["money","mapSubscriptionStatus","mapTime","mapCancellationDetails"],"sources":["../../src/stripe/subscription.ts"],"sourcesContent":["import type { Stripe } from 'stripe';\nimport type { CancellationDetails, SubscriptionStatus } from '../subscription/index';\nimport {\n type Money,\n mapCancellationDetails,\n mapSubscriptionStatus,\n mapTime,\n money,\n} from './mapper';\n\n/**\n * A Stripe subscription in the platform-neutral shape a subscription row stores. What it leaves out\n * is the app's: who the user is and which plan the product means (both from the subscription's\n * metadata and the app's config), the row id, and when the row was written.\n */\nexport interface StripeSubscriptionState {\n status: SubscriptionStatus;\n autoRenewEnabled: boolean;\n /** see {@link mapListPrice}; null for a price without a flat amount */\n price: Money | null;\n startedAt: string;\n createdAt: string;\n /** null while paused: a paused subscription has no date it comes back on */\n renewalAt: string | null;\n trialStart: string | null;\n trialEnd: string | null;\n canceledAt: string | null;\n cancellationDetails: CancellationDetails | null;\n}\n\n/**\n * The plan's list price, which is what \"$X / month\" promises. The latest invoice is deliberately\n * not used: after an upgrade it is the prorated difference, and after a coupon the discounted\n * amount, both of which belong in the invoice history rather than on the plan. Null for a tiered or\n * custom-amount price, which has no flat unit amount.\n */\nexport function mapListPrice({ items }: Pick<Stripe.Subscription, 'items'>): Money | null {\n const item = items.data.at(0);\n const price = item?.price;\n if (!price || price.unit_amount === null) return null;\n return money(price.unit_amount * (item.quantity ?? 1), price.currency);\n}\n\nexport function mapSubscription(sub: Stripe.Subscription): StripeSubscriptionState {\n const periodEnd = sub.items.data.at(0)?.current_period_end ?? null;\n return {\n status: mapSubscriptionStatus(sub.status),\n autoRenewEnabled:\n sub.status !== 'canceled' && !sub.cancel_at_period_end && sub.cancel_at === null,\n price: mapListPrice(sub),\n startedAt: mapTime(sub.start_date),\n createdAt: mapTime(sub.created),\n // A paused subscription (trial ended without a card, failed payment, or an explicit pause;\n // `status_details.paused` says which) stays paused until it is resumed, so the period end it\n // still reports is not a renewal.\n renewalAt: sub.status === 'paused' ? null : mapTime(periodEnd),\n trialStart: mapTime(sub.trial_start),\n trialEnd: mapTime(sub.trial_end),\n canceledAt: mapTime(sub.canceled_at),\n cancellationDetails: mapCancellationDetails(sub),\n };\n}\n"],"mappings":";;;;;;;;;AAoCA,SAAgB,aAAa,EAAE,SAA2D;CACxF,MAAM,OAAO,MAAM,KAAK,GAAG,CAAC;CAC5B,MAAM,QAAQ,MAAM;CACpB,IAAI,CAAC,SAAS,MAAM,gBAAgB,MAAM,OAAO;CACjD,OAAOA,sBAAAA,MAAM,MAAM,eAAe,KAAK,YAAY,IAAI,MAAM,QAAQ;AACvE;AAEA,SAAgB,gBAAgB,KAAmD;CACjF,MAAM,YAAY,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,sBAAsB;CAC9D,OAAO;EACL,QAAQC,sBAAAA,sBAAsB,IAAI,MAAM;EACxC,kBACE,IAAI,WAAW,cAAc,CAAC,IAAI,wBAAwB,IAAI,cAAc;EAC9E,OAAO,aAAa,GAAG;EACvB,WAAWC,sBAAAA,QAAQ,IAAI,UAAU;EACjC,WAAWA,sBAAAA,QAAQ,IAAI,OAAO;EAI9B,WAAW,IAAI,WAAW,WAAW,OAAOA,sBAAAA,QAAQ,SAAS;EAC7D,YAAYA,sBAAAA,QAAQ,IAAI,WAAW;EACnC,UAAUA,sBAAAA,QAAQ,IAAI,SAAS;EAC/B,YAAYA,sBAAAA,QAAQ,IAAI,WAAW;EACnC,qBAAqBC,sBAAAA,uBAAuB,GAAG;CACjD;AACF"}
@@ -0,0 +1,33 @@
1
+ import { CancellationDetails, SubscriptionStatus } from "../subscription/index.cjs";
2
+ import { Money } from "./mapper.cjs";
3
+ import { Stripe } from "stripe";
4
+ //#region src/stripe/subscription.d.ts
5
+ /**
6
+ * A Stripe subscription in the platform-neutral shape a subscription row stores. What it leaves out
7
+ * is the app's: who the user is and which plan the product means (both from the subscription's
8
+ * metadata and the app's config), the row id, and when the row was written.
9
+ */
10
+ export interface StripeSubscriptionState {
11
+ status: SubscriptionStatus;
12
+ autoRenewEnabled: boolean;
13
+ /** see {@link mapListPrice}; null for a price without a flat amount */
14
+ price: Money | null;
15
+ startedAt: string;
16
+ createdAt: string;
17
+ /** null while paused: a paused subscription has no date it comes back on */
18
+ renewalAt: string | null;
19
+ trialStart: string | null;
20
+ trialEnd: string | null;
21
+ canceledAt: string | null;
22
+ cancellationDetails: CancellationDetails | null;
23
+ }
24
+ /**
25
+ * The plan's list price, which is what "$X / month" promises. The latest invoice is deliberately
26
+ * not used: after an upgrade it is the prorated difference, and after a coupon the discounted
27
+ * amount, both of which belong in the invoice history rather than on the plan. Null for a tiered or
28
+ * custom-amount price, which has no flat unit amount.
29
+ */
30
+ export declare function mapListPrice({ items }: Pick<Stripe.Subscription, 'items'>): Money | null;
31
+ export declare function mapSubscription(sub: Stripe.Subscription): StripeSubscriptionState;
32
+ //#endregion
33
+ //# sourceMappingURL=subscription.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.d.cts","names":[],"sources":["../../src/stripe/subscription.ts"],"mappings":";;;;;;;;;iBAeiB;EACf,QAAQ;EACR;;EAEA,OAAO;EACP;EACA;;EAEA;EACA;EACA;EACA;EACA,qBAAqB;;;;;;;;wBASP,eAAe,SAAS,KAAK,OAAO,yBAAyB;wBAO7D,gBAAgB,KAAK,OAAO,eAAe"}
@@ -0,0 +1,33 @@
1
+ import { CancellationDetails, SubscriptionStatus } from "../subscription/index.mjs";
2
+ import { Money } from "./mapper.mjs";
3
+ import { Stripe } from "stripe";
4
+ //#region src/stripe/subscription.d.ts
5
+ /**
6
+ * A Stripe subscription in the platform-neutral shape a subscription row stores. What it leaves out
7
+ * is the app's: who the user is and which plan the product means (both from the subscription's
8
+ * metadata and the app's config), the row id, and when the row was written.
9
+ */
10
+ export interface StripeSubscriptionState {
11
+ status: SubscriptionStatus;
12
+ autoRenewEnabled: boolean;
13
+ /** see {@link mapListPrice}; null for a price without a flat amount */
14
+ price: Money | null;
15
+ startedAt: string;
16
+ createdAt: string;
17
+ /** null while paused: a paused subscription has no date it comes back on */
18
+ renewalAt: string | null;
19
+ trialStart: string | null;
20
+ trialEnd: string | null;
21
+ canceledAt: string | null;
22
+ cancellationDetails: CancellationDetails | null;
23
+ }
24
+ /**
25
+ * The plan's list price, which is what "$X / month" promises. The latest invoice is deliberately
26
+ * not used: after an upgrade it is the prorated difference, and after a coupon the discounted
27
+ * amount, both of which belong in the invoice history rather than on the plan. Null for a tiered or
28
+ * custom-amount price, which has no flat unit amount.
29
+ */
30
+ export declare function mapListPrice({ items }: Pick<Stripe.Subscription, 'items'>): Money | null;
31
+ export declare function mapSubscription(sub: Stripe.Subscription): StripeSubscriptionState;
32
+ //#endregion
33
+ //# sourceMappingURL=subscription.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.d.mts","names":[],"sources":["../../src/stripe/subscription.ts"],"mappings":";;;;;;;;;iBAeiB;EACf,QAAQ;EACR;;EAEA,OAAO;EACP;EACA;;EAEA;EACA;EACA;EACA;EACA,qBAAqB;;;;;;;;wBASP,eAAe,SAAS,KAAK,OAAO,yBAAyB;wBAO7D,gBAAgB,KAAK,OAAO,eAAe"}
@@ -0,0 +1,33 @@
1
+ import { mapCancellationDetails, mapSubscriptionStatus, mapTime, money } from "./mapper.mjs";
2
+ //#region src/stripe/subscription.ts
3
+ /**
4
+ * The plan's list price, which is what "$X / month" promises. The latest invoice is deliberately
5
+ * not used: after an upgrade it is the prorated difference, and after a coupon the discounted
6
+ * amount, both of which belong in the invoice history rather than on the plan. Null for a tiered or
7
+ * custom-amount price, which has no flat unit amount.
8
+ */
9
+ function mapListPrice({ items }) {
10
+ const item = items.data.at(0);
11
+ const price = item?.price;
12
+ if (!price || price.unit_amount === null) return null;
13
+ return money(price.unit_amount * (item.quantity ?? 1), price.currency);
14
+ }
15
+ function mapSubscription(sub) {
16
+ const periodEnd = sub.items.data.at(0)?.current_period_end ?? null;
17
+ return {
18
+ status: mapSubscriptionStatus(sub.status),
19
+ autoRenewEnabled: sub.status !== "canceled" && !sub.cancel_at_period_end && sub.cancel_at === null,
20
+ price: mapListPrice(sub),
21
+ startedAt: mapTime(sub.start_date),
22
+ createdAt: mapTime(sub.created),
23
+ renewalAt: sub.status === "paused" ? null : mapTime(periodEnd),
24
+ trialStart: mapTime(sub.trial_start),
25
+ trialEnd: mapTime(sub.trial_end),
26
+ canceledAt: mapTime(sub.canceled_at),
27
+ cancellationDetails: mapCancellationDetails(sub)
28
+ };
29
+ }
30
+ //#endregion
31
+ export { mapListPrice, mapSubscription };
32
+
33
+ //# sourceMappingURL=subscription.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.mjs","names":[],"sources":["../../src/stripe/subscription.ts"],"sourcesContent":["import type { Stripe } from 'stripe';\nimport type { CancellationDetails, SubscriptionStatus } from '../subscription/index';\nimport {\n type Money,\n mapCancellationDetails,\n mapSubscriptionStatus,\n mapTime,\n money,\n} from './mapper';\n\n/**\n * A Stripe subscription in the platform-neutral shape a subscription row stores. What it leaves out\n * is the app's: who the user is and which plan the product means (both from the subscription's\n * metadata and the app's config), the row id, and when the row was written.\n */\nexport interface StripeSubscriptionState {\n status: SubscriptionStatus;\n autoRenewEnabled: boolean;\n /** see {@link mapListPrice}; null for a price without a flat amount */\n price: Money | null;\n startedAt: string;\n createdAt: string;\n /** null while paused: a paused subscription has no date it comes back on */\n renewalAt: string | null;\n trialStart: string | null;\n trialEnd: string | null;\n canceledAt: string | null;\n cancellationDetails: CancellationDetails | null;\n}\n\n/**\n * The plan's list price, which is what \"$X / month\" promises. The latest invoice is deliberately\n * not used: after an upgrade it is the prorated difference, and after a coupon the discounted\n * amount, both of which belong in the invoice history rather than on the plan. Null for a tiered or\n * custom-amount price, which has no flat unit amount.\n */\nexport function mapListPrice({ items }: Pick<Stripe.Subscription, 'items'>): Money | null {\n const item = items.data.at(0);\n const price = item?.price;\n if (!price || price.unit_amount === null) return null;\n return money(price.unit_amount * (item.quantity ?? 1), price.currency);\n}\n\nexport function mapSubscription(sub: Stripe.Subscription): StripeSubscriptionState {\n const periodEnd = sub.items.data.at(0)?.current_period_end ?? null;\n return {\n status: mapSubscriptionStatus(sub.status),\n autoRenewEnabled:\n sub.status !== 'canceled' && !sub.cancel_at_period_end && sub.cancel_at === null,\n price: mapListPrice(sub),\n startedAt: mapTime(sub.start_date),\n createdAt: mapTime(sub.created),\n // A paused subscription (trial ended without a card, failed payment, or an explicit pause;\n // `status_details.paused` says which) stays paused until it is resumed, so the period end it\n // still reports is not a renewal.\n renewalAt: sub.status === 'paused' ? null : mapTime(periodEnd),\n trialStart: mapTime(sub.trial_start),\n trialEnd: mapTime(sub.trial_end),\n canceledAt: mapTime(sub.canceled_at),\n cancellationDetails: mapCancellationDetails(sub),\n };\n}\n"],"mappings":";;;;;;;;AAoCA,SAAgB,aAAa,EAAE,SAA2D;CACxF,MAAM,OAAO,MAAM,KAAK,GAAG,CAAC;CAC5B,MAAM,QAAQ,MAAM;CACpB,IAAI,CAAC,SAAS,MAAM,gBAAgB,MAAM,OAAO;CACjD,OAAO,MAAM,MAAM,eAAe,KAAK,YAAY,IAAI,MAAM,QAAQ;AACvE;AAEA,SAAgB,gBAAgB,KAAmD;CACjF,MAAM,YAAY,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,sBAAsB;CAC9D,OAAO;EACL,QAAQ,sBAAsB,IAAI,MAAM;EACxC,kBACE,IAAI,WAAW,cAAc,CAAC,IAAI,wBAAwB,IAAI,cAAc;EAC9E,OAAO,aAAa,GAAG;EACvB,WAAW,QAAQ,IAAI,UAAU;EACjC,WAAW,QAAQ,IAAI,OAAO;EAI9B,WAAW,IAAI,WAAW,WAAW,OAAO,QAAQ,SAAS;EAC7D,YAAY,QAAQ,IAAI,WAAW;EACnC,UAAU,QAAQ,IAAI,SAAS;EAC/B,YAAY,QAAQ,IAAI,WAAW;EACnC,qBAAqB,uBAAuB,GAAG;CACjD;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shware/purchase",
3
- "version": "7.3.0",
3
+ "version": "7.6.0",
4
4
  "private": false,
5
5
  "repository": {
6
6
  "type": "git",