@shware/purchase 0.0.5 → 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/dist/stripe/index.cjs +6 -2
- package/dist/stripe/index.cjs.map +1 -1
- package/dist/stripe/index.d.cts +2 -2
- package/dist/stripe/index.d.ts +2 -2
- package/dist/stripe/index.mjs +10 -2
- package/dist/stripe/index.mjs.map +1 -1
- package/dist/stripe/mapper.cjs +32 -2
- package/dist/stripe/mapper.cjs.map +1 -1
- package/dist/stripe/mapper.d.cts +4 -1
- package/dist/stripe/mapper.d.ts +4 -1
- package/dist/stripe/mapper.mjs +28 -1
- package/dist/stripe/mapper.mjs.map +1 -1
- package/dist/stripe/types.cjs.map +1 -1
- package/dist/stripe/types.d.cts +7 -2
- package/dist/stripe/types.d.ts +7 -2
- package/package.json +1 -1
package/dist/stripe/index.cjs
CHANGED
|
@@ -25,7 +25,9 @@ __export(stripe_exports, {
|
|
|
25
25
|
checkoutSessionSchema: () => import_schema.checkoutSessionSchema,
|
|
26
26
|
mapCheckoutSession: () => import_mapper.mapCheckoutSession,
|
|
27
27
|
mapStatus: () => import_mapper.mapStatus,
|
|
28
|
-
mapTime: () => import_mapper.mapTime
|
|
28
|
+
mapTime: () => import_mapper.mapTime,
|
|
29
|
+
minorUnits: () => import_mapper.minorUnits,
|
|
30
|
+
price: () => import_mapper.price
|
|
29
31
|
});
|
|
30
32
|
module.exports = __toCommonJS(stripe_exports);
|
|
31
33
|
var import_mapper = require("./mapper.cjs");
|
|
@@ -38,6 +40,8 @@ var import_metadata = require("./metadata.cjs");
|
|
|
38
40
|
checkoutSessionSchema,
|
|
39
41
|
mapCheckoutSession,
|
|
40
42
|
mapStatus,
|
|
41
|
-
mapTime
|
|
43
|
+
mapTime,
|
|
44
|
+
minorUnits,
|
|
45
|
+
price
|
|
42
46
|
});
|
|
43
47
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/stripe/index.ts"],"sourcesContent":["export {
|
|
1
|
+
{"version":3,"sources":["../../src/stripe/index.ts"],"sourcesContent":["export {\n mapTime,\n mapStatus,\n mapCheckoutSession,\n minorUnits,\n price,\n type CheckoutSession,\n} from './mapper';\nexport {\n cancellationDetailsSchema,\n checkoutSessionSchema,\n type CancellationDetails,\n} from './schema';\nexport type { ProductId, PriceId, Config, CreateCheckoutSessionDTO } from './types';\nexport { METADATA_KEYS } from './metadata';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAOO;AACP,oBAIO;AAEP,sBAA8B;","names":[]}
|
package/dist/stripe/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { CheckoutSession, mapCheckoutSession, mapStatus, mapTime } from './mapper.cjs';
|
|
1
|
+
export { CheckoutSession, mapCheckoutSession, mapStatus, mapTime, minorUnits, price } from './mapper.cjs';
|
|
2
2
|
export { CancellationDetails, cancellationDetailsSchema, checkoutSessionSchema } from './schema.cjs';
|
|
3
|
-
export { Config, PriceId, ProductId } from './types.cjs';
|
|
3
|
+
export { Config, CreateCheckoutSessionDTO, PriceId, ProductId } from './types.cjs';
|
|
4
4
|
export { METADATA_KEYS } from './metadata.cjs';
|
|
5
5
|
import 'stripe';
|
|
6
6
|
import '../subscription/index.cjs';
|
package/dist/stripe/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { CheckoutSession, mapCheckoutSession, mapStatus, mapTime } from './mapper.js';
|
|
1
|
+
export { CheckoutSession, mapCheckoutSession, mapStatus, mapTime, minorUnits, price } from './mapper.js';
|
|
2
2
|
export { CancellationDetails, cancellationDetailsSchema, checkoutSessionSchema } from './schema.js';
|
|
3
|
-
export { Config, PriceId, ProductId } from './types.js';
|
|
3
|
+
export { Config, CreateCheckoutSessionDTO, PriceId, ProductId } from './types.js';
|
|
4
4
|
export { METADATA_KEYS } from './metadata.js';
|
|
5
5
|
import 'stripe';
|
|
6
6
|
import '../subscription/index.js';
|
package/dist/stripe/index.mjs
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
// src/stripe/index.ts
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
mapTime,
|
|
4
|
+
mapStatus,
|
|
5
|
+
mapCheckoutSession,
|
|
6
|
+
minorUnits,
|
|
7
|
+
price
|
|
8
|
+
} from "./mapper.mjs";
|
|
3
9
|
import {
|
|
4
10
|
cancellationDetailsSchema,
|
|
5
11
|
checkoutSessionSchema
|
|
@@ -11,6 +17,8 @@ export {
|
|
|
11
17
|
checkoutSessionSchema,
|
|
12
18
|
mapCheckoutSession,
|
|
13
19
|
mapStatus,
|
|
14
|
-
mapTime
|
|
20
|
+
mapTime,
|
|
21
|
+
minorUnits,
|
|
22
|
+
price
|
|
15
23
|
};
|
|
16
24
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/stripe/index.ts"],"sourcesContent":["export {
|
|
1
|
+
{"version":3,"sources":["../../src/stripe/index.ts"],"sourcesContent":["export {\n mapTime,\n mapStatus,\n mapCheckoutSession,\n minorUnits,\n price,\n type CheckoutSession,\n} from './mapper';\nexport {\n cancellationDetailsSchema,\n checkoutSessionSchema,\n type CancellationDetails,\n} from './schema';\nexport type { ProductId, PriceId, Config, CreateCheckoutSessionDTO } from './types';\nexport { METADATA_KEYS } from './metadata';\n"],"mappings":";AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AAEP,SAAS,qBAAqB;","names":[]}
|
package/dist/stripe/mapper.cjs
CHANGED
|
@@ -20,9 +20,12 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/stripe/mapper.ts
|
|
21
21
|
var mapper_exports = {};
|
|
22
22
|
__export(mapper_exports, {
|
|
23
|
+
ZERO_DECIMAL_CURRENCIES: () => ZERO_DECIMAL_CURRENCIES,
|
|
23
24
|
mapCheckoutSession: () => mapCheckoutSession,
|
|
24
25
|
mapStatus: () => mapStatus,
|
|
25
|
-
mapTime: () => mapTime
|
|
26
|
+
mapTime: () => mapTime,
|
|
27
|
+
minorUnits: () => minorUnits,
|
|
28
|
+
price: () => price
|
|
26
29
|
});
|
|
27
30
|
module.exports = __toCommonJS(mapper_exports);
|
|
28
31
|
var import_subscription = require("../subscription/index.cjs");
|
|
@@ -76,10 +79,37 @@ function mapStatus(status) {
|
|
|
76
79
|
}
|
|
77
80
|
}
|
|
78
81
|
}
|
|
82
|
+
var ZERO_DECIMAL_CURRENCIES = [
|
|
83
|
+
"BIF",
|
|
84
|
+
"CLP",
|
|
85
|
+
"DJF",
|
|
86
|
+
"GNF",
|
|
87
|
+
"JPY",
|
|
88
|
+
"KMF",
|
|
89
|
+
"KRW",
|
|
90
|
+
"MGA",
|
|
91
|
+
"PYG",
|
|
92
|
+
"RWF",
|
|
93
|
+
"UGX",
|
|
94
|
+
"VND",
|
|
95
|
+
"VUV",
|
|
96
|
+
"XAF",
|
|
97
|
+
"XOF",
|
|
98
|
+
"XPF"
|
|
99
|
+
];
|
|
100
|
+
function minorUnits(currency) {
|
|
101
|
+
return ZERO_DECIMAL_CURRENCIES.includes(currency.toUpperCase()) ? 1 : 100;
|
|
102
|
+
}
|
|
103
|
+
function price(value, currency) {
|
|
104
|
+
return value / minorUnits(currency);
|
|
105
|
+
}
|
|
79
106
|
// Annotate the CommonJS export names for ESM import in node:
|
|
80
107
|
0 && (module.exports = {
|
|
108
|
+
ZERO_DECIMAL_CURRENCIES,
|
|
81
109
|
mapCheckoutSession,
|
|
82
110
|
mapStatus,
|
|
83
|
-
mapTime
|
|
111
|
+
mapTime,
|
|
112
|
+
minorUnits,
|
|
113
|
+
price
|
|
84
114
|
});
|
|
85
115
|
//# sourceMappingURL=mapper.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/stripe/mapper.ts"],"sourcesContent":["import type Stripe from 'stripe';\nimport { SubscriptionStatus } from '../subscription/index';\n\nexport function mapTime<T extends number | null>(\n stripeTimestampSeconds: T\n): T extends number ? string : null {\n if (!stripeTimestampSeconds) return null as T extends number ? string : null;\n return new Date(stripeTimestampSeconds * 1000).toISOString() as T extends number ? string : null;\n}\n\nexport function mapCheckoutSession(session: Stripe.Checkout.Session) {\n return {\n id: session.id,\n url: session.url,\n livemode: session.livemode,\n expires_at: session.expires_at,\n payment_status: session.payment_status,\n currency: session.currency,\n amount_total: session.amount_total,\n line_items:\n session.line_items?.data.map((item) => ({\n id: item.id,\n currency: item.currency,\n quantity: item.quantity,\n description: item.description,\n amount_tax: item.amount_tax,\n amount_total: item.amount_total,\n amount_subtotal: item.amount_subtotal,\n amount_discount: item.amount_discount,\n price: item.price ? { id: item.price.id } : null,\n })) ?? [],\n };\n}\n\nexport type CheckoutSession = ReturnType<typeof mapCheckoutSession>;\n\nexport function mapStatus(status: Stripe.Subscription.Status): SubscriptionStatus {\n switch (status) {\n case 'active':\n return SubscriptionStatus.ACTIVE;\n case 'canceled':\n return SubscriptionStatus.CANCELED;\n case 'incomplete':\n return SubscriptionStatus.INCOMPLETE;\n case 'incomplete_expired':\n return SubscriptionStatus.INCOMPLETE_EXPIRED;\n case 'past_due':\n return SubscriptionStatus.PAST_DUE;\n case 'paused':\n return SubscriptionStatus.PAUSED;\n case 'trialing':\n return SubscriptionStatus.TRIALING;\n case 'unpaid':\n return SubscriptionStatus.UNPAID;\n default: {\n console.error(`Invalid stripe status: ${status}`);\n throw new Error(`Invalid stripe status: ${status}`);\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,0BAAmC;AAE5B,SAAS,QACd,wBACkC;AAClC,MAAI,CAAC,uBAAwB,QAAO;AACpC,SAAO,IAAI,KAAK,yBAAyB,GAAI,EAAE,YAAY;AAC7D;AAEO,SAAS,mBAAmB,SAAkC;AACnE,SAAO;AAAA,IACL,IAAI,QAAQ;AAAA,IACZ,KAAK,QAAQ;AAAA,IACb,UAAU,QAAQ;AAAA,IAClB,YAAY,QAAQ;AAAA,IACpB,gBAAgB,QAAQ;AAAA,IACxB,UAAU,QAAQ;AAAA,IAClB,cAAc,QAAQ;AAAA,IACtB,YACE,QAAQ,YAAY,KAAK,IAAI,CAAC,UAAU;AAAA,MACtC,IAAI,KAAK;AAAA,MACT,UAAU,KAAK;AAAA,MACf,UAAU,KAAK;AAAA,MACf,aAAa,KAAK;AAAA,MAClB,YAAY,KAAK;AAAA,MACjB,cAAc,KAAK;AAAA,MACnB,iBAAiB,KAAK;AAAA,MACtB,iBAAiB,KAAK;AAAA,MACtB,OAAO,KAAK,QAAQ,EAAE,IAAI,KAAK,MAAM,GAAG,IAAI;AAAA,IAC9C,EAAE,KAAK,CAAC;AAAA,EACZ;AACF;AAIO,SAAS,UAAU,QAAwD;AAChF,UAAQ,QAAQ;AAAA,IACd,KAAK;AACH,aAAO,uCAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,uCAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,uCAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,uCAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,uCAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,uCAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,uCAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,uCAAmB;AAAA,IAC5B,SAAS;AACP,cAAQ,MAAM,0BAA0B,MAAM,EAAE;AAChD,YAAM,IAAI,MAAM,0BAA0B,MAAM,EAAE;AAAA,IACpD;AAAA,EACF;AACF;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/stripe/mapper.ts"],"sourcesContent":["import type Stripe from 'stripe';\nimport { SubscriptionStatus } from '../subscription/index';\n\nexport function mapTime<T extends number | null>(\n stripeTimestampSeconds: T\n): T extends number ? string : null {\n if (!stripeTimestampSeconds) return null as T extends number ? string : null;\n return new Date(stripeTimestampSeconds * 1000).toISOString() as T extends number ? string : null;\n}\n\nexport function mapCheckoutSession(session: Stripe.Checkout.Session) {\n return {\n id: session.id,\n url: session.url,\n livemode: session.livemode,\n expires_at: session.expires_at,\n payment_status: session.payment_status,\n currency: session.currency,\n amount_total: session.amount_total,\n line_items:\n session.line_items?.data.map((item) => ({\n id: item.id,\n currency: item.currency,\n quantity: item.quantity,\n description: item.description,\n amount_tax: item.amount_tax,\n amount_total: item.amount_total,\n amount_subtotal: item.amount_subtotal,\n amount_discount: item.amount_discount,\n price: item.price ? { id: item.price.id } : null,\n })) ?? [],\n };\n}\n\nexport type CheckoutSession = ReturnType<typeof mapCheckoutSession>;\n\nexport function mapStatus(status: Stripe.Subscription.Status): SubscriptionStatus {\n switch (status) {\n case 'active':\n return SubscriptionStatus.ACTIVE;\n case 'canceled':\n return SubscriptionStatus.CANCELED;\n case 'incomplete':\n return SubscriptionStatus.INCOMPLETE;\n case 'incomplete_expired':\n return SubscriptionStatus.INCOMPLETE_EXPIRED;\n case 'past_due':\n return SubscriptionStatus.PAST_DUE;\n case 'paused':\n return SubscriptionStatus.PAUSED;\n case 'trialing':\n return SubscriptionStatus.TRIALING;\n case 'unpaid':\n return SubscriptionStatus.UNPAID;\n default: {\n console.error(`Invalid stripe status: ${status}`);\n throw new Error(`Invalid stripe status: ${status}`);\n }\n }\n}\n\nexport const ZERO_DECIMAL_CURRENCIES = [\n 'BIF',\n 'CLP',\n 'DJF',\n 'GNF',\n 'JPY',\n 'KMF',\n 'KRW',\n 'MGA',\n 'PYG',\n 'RWF',\n 'UGX',\n 'VND',\n 'VUV',\n 'XAF',\n 'XOF',\n 'XPF',\n];\n\nexport function minorUnits(currency: string) {\n return ZERO_DECIMAL_CURRENCIES.includes(currency.toUpperCase()) ? 1 : 100;\n}\n\nexport function price(value: number, currency: string) {\n return value / minorUnits(currency);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,0BAAmC;AAE5B,SAAS,QACd,wBACkC;AAClC,MAAI,CAAC,uBAAwB,QAAO;AACpC,SAAO,IAAI,KAAK,yBAAyB,GAAI,EAAE,YAAY;AAC7D;AAEO,SAAS,mBAAmB,SAAkC;AACnE,SAAO;AAAA,IACL,IAAI,QAAQ;AAAA,IACZ,KAAK,QAAQ;AAAA,IACb,UAAU,QAAQ;AAAA,IAClB,YAAY,QAAQ;AAAA,IACpB,gBAAgB,QAAQ;AAAA,IACxB,UAAU,QAAQ;AAAA,IAClB,cAAc,QAAQ;AAAA,IACtB,YACE,QAAQ,YAAY,KAAK,IAAI,CAAC,UAAU;AAAA,MACtC,IAAI,KAAK;AAAA,MACT,UAAU,KAAK;AAAA,MACf,UAAU,KAAK;AAAA,MACf,aAAa,KAAK;AAAA,MAClB,YAAY,KAAK;AAAA,MACjB,cAAc,KAAK;AAAA,MACnB,iBAAiB,KAAK;AAAA,MACtB,iBAAiB,KAAK;AAAA,MACtB,OAAO,KAAK,QAAQ,EAAE,IAAI,KAAK,MAAM,GAAG,IAAI;AAAA,IAC9C,EAAE,KAAK,CAAC;AAAA,EACZ;AACF;AAIO,SAAS,UAAU,QAAwD;AAChF,UAAQ,QAAQ;AAAA,IACd,KAAK;AACH,aAAO,uCAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,uCAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,uCAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,uCAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,uCAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,uCAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,uCAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,uCAAmB;AAAA,IAC5B,SAAS;AACP,cAAQ,MAAM,0BAA0B,MAAM,EAAE;AAChD,YAAM,IAAI,MAAM,0BAA0B,MAAM,EAAE;AAAA,IACpD;AAAA,EACF;AACF;AAEO,IAAM,0BAA0B;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,WAAW,UAAkB;AAC3C,SAAO,wBAAwB,SAAS,SAAS,YAAY,CAAC,IAAI,IAAI;AACxE;AAEO,SAAS,MAAM,OAAe,UAAkB;AACrD,SAAO,QAAQ,WAAW,QAAQ;AACpC;","names":[]}
|
package/dist/stripe/mapper.d.cts
CHANGED
|
@@ -26,5 +26,8 @@ declare function mapCheckoutSession(session: Stripe.Checkout.Session): {
|
|
|
26
26
|
};
|
|
27
27
|
type CheckoutSession = ReturnType<typeof mapCheckoutSession>;
|
|
28
28
|
declare function mapStatus(status: Stripe.Subscription.Status): SubscriptionStatus;
|
|
29
|
+
declare const ZERO_DECIMAL_CURRENCIES: string[];
|
|
30
|
+
declare function minorUnits(currency: string): 1 | 100;
|
|
31
|
+
declare function price(value: number, currency: string): number;
|
|
29
32
|
|
|
30
|
-
export { type CheckoutSession, mapCheckoutSession, mapStatus, mapTime };
|
|
33
|
+
export { type CheckoutSession, ZERO_DECIMAL_CURRENCIES, mapCheckoutSession, mapStatus, mapTime, minorUnits, price };
|
package/dist/stripe/mapper.d.ts
CHANGED
|
@@ -26,5 +26,8 @@ declare function mapCheckoutSession(session: Stripe.Checkout.Session): {
|
|
|
26
26
|
};
|
|
27
27
|
type CheckoutSession = ReturnType<typeof mapCheckoutSession>;
|
|
28
28
|
declare function mapStatus(status: Stripe.Subscription.Status): SubscriptionStatus;
|
|
29
|
+
declare const ZERO_DECIMAL_CURRENCIES: string[];
|
|
30
|
+
declare function minorUnits(currency: string): 1 | 100;
|
|
31
|
+
declare function price(value: number, currency: string): number;
|
|
29
32
|
|
|
30
|
-
export { type CheckoutSession, mapCheckoutSession, mapStatus, mapTime };
|
|
33
|
+
export { type CheckoutSession, ZERO_DECIMAL_CURRENCIES, mapCheckoutSession, mapStatus, mapTime, minorUnits, price };
|
package/dist/stripe/mapper.mjs
CHANGED
|
@@ -50,9 +50,36 @@ function mapStatus(status) {
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
+
var ZERO_DECIMAL_CURRENCIES = [
|
|
54
|
+
"BIF",
|
|
55
|
+
"CLP",
|
|
56
|
+
"DJF",
|
|
57
|
+
"GNF",
|
|
58
|
+
"JPY",
|
|
59
|
+
"KMF",
|
|
60
|
+
"KRW",
|
|
61
|
+
"MGA",
|
|
62
|
+
"PYG",
|
|
63
|
+
"RWF",
|
|
64
|
+
"UGX",
|
|
65
|
+
"VND",
|
|
66
|
+
"VUV",
|
|
67
|
+
"XAF",
|
|
68
|
+
"XOF",
|
|
69
|
+
"XPF"
|
|
70
|
+
];
|
|
71
|
+
function minorUnits(currency) {
|
|
72
|
+
return ZERO_DECIMAL_CURRENCIES.includes(currency.toUpperCase()) ? 1 : 100;
|
|
73
|
+
}
|
|
74
|
+
function price(value, currency) {
|
|
75
|
+
return value / minorUnits(currency);
|
|
76
|
+
}
|
|
53
77
|
export {
|
|
78
|
+
ZERO_DECIMAL_CURRENCIES,
|
|
54
79
|
mapCheckoutSession,
|
|
55
80
|
mapStatus,
|
|
56
|
-
mapTime
|
|
81
|
+
mapTime,
|
|
82
|
+
minorUnits,
|
|
83
|
+
price
|
|
57
84
|
};
|
|
58
85
|
//# sourceMappingURL=mapper.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/stripe/mapper.ts"],"sourcesContent":["import type Stripe from 'stripe';\nimport { SubscriptionStatus } from '../subscription/index';\n\nexport function mapTime<T extends number | null>(\n stripeTimestampSeconds: T\n): T extends number ? string : null {\n if (!stripeTimestampSeconds) return null as T extends number ? string : null;\n return new Date(stripeTimestampSeconds * 1000).toISOString() as T extends number ? string : null;\n}\n\nexport function mapCheckoutSession(session: Stripe.Checkout.Session) {\n return {\n id: session.id,\n url: session.url,\n livemode: session.livemode,\n expires_at: session.expires_at,\n payment_status: session.payment_status,\n currency: session.currency,\n amount_total: session.amount_total,\n line_items:\n session.line_items?.data.map((item) => ({\n id: item.id,\n currency: item.currency,\n quantity: item.quantity,\n description: item.description,\n amount_tax: item.amount_tax,\n amount_total: item.amount_total,\n amount_subtotal: item.amount_subtotal,\n amount_discount: item.amount_discount,\n price: item.price ? { id: item.price.id } : null,\n })) ?? [],\n };\n}\n\nexport type CheckoutSession = ReturnType<typeof mapCheckoutSession>;\n\nexport function mapStatus(status: Stripe.Subscription.Status): SubscriptionStatus {\n switch (status) {\n case 'active':\n return SubscriptionStatus.ACTIVE;\n case 'canceled':\n return SubscriptionStatus.CANCELED;\n case 'incomplete':\n return SubscriptionStatus.INCOMPLETE;\n case 'incomplete_expired':\n return SubscriptionStatus.INCOMPLETE_EXPIRED;\n case 'past_due':\n return SubscriptionStatus.PAST_DUE;\n case 'paused':\n return SubscriptionStatus.PAUSED;\n case 'trialing':\n return SubscriptionStatus.TRIALING;\n case 'unpaid':\n return SubscriptionStatus.UNPAID;\n default: {\n console.error(`Invalid stripe status: ${status}`);\n throw new Error(`Invalid stripe status: ${status}`);\n }\n }\n}\n"],"mappings":";AACA,SAAS,0BAA0B;AAE5B,SAAS,QACd,wBACkC;AAClC,MAAI,CAAC,uBAAwB,QAAO;AACpC,SAAO,IAAI,KAAK,yBAAyB,GAAI,EAAE,YAAY;AAC7D;AAEO,SAAS,mBAAmB,SAAkC;AACnE,SAAO;AAAA,IACL,IAAI,QAAQ;AAAA,IACZ,KAAK,QAAQ;AAAA,IACb,UAAU,QAAQ;AAAA,IAClB,YAAY,QAAQ;AAAA,IACpB,gBAAgB,QAAQ;AAAA,IACxB,UAAU,QAAQ;AAAA,IAClB,cAAc,QAAQ;AAAA,IACtB,YACE,QAAQ,YAAY,KAAK,IAAI,CAAC,UAAU;AAAA,MACtC,IAAI,KAAK;AAAA,MACT,UAAU,KAAK;AAAA,MACf,UAAU,KAAK;AAAA,MACf,aAAa,KAAK;AAAA,MAClB,YAAY,KAAK;AAAA,MACjB,cAAc,KAAK;AAAA,MACnB,iBAAiB,KAAK;AAAA,MACtB,iBAAiB,KAAK;AAAA,MACtB,OAAO,KAAK,QAAQ,EAAE,IAAI,KAAK,MAAM,GAAG,IAAI;AAAA,IAC9C,EAAE,KAAK,CAAC;AAAA,EACZ;AACF;AAIO,SAAS,UAAU,QAAwD;AAChF,UAAQ,QAAQ;AAAA,IACd,KAAK;AACH,aAAO,mBAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,mBAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,mBAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,mBAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,mBAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,mBAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,mBAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,mBAAmB;AAAA,IAC5B,SAAS;AACP,cAAQ,MAAM,0BAA0B,MAAM,EAAE;AAChD,YAAM,IAAI,MAAM,0BAA0B,MAAM,EAAE;AAAA,IACpD;AAAA,EACF;AACF;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/stripe/mapper.ts"],"sourcesContent":["import type Stripe from 'stripe';\nimport { SubscriptionStatus } from '../subscription/index';\n\nexport function mapTime<T extends number | null>(\n stripeTimestampSeconds: T\n): T extends number ? string : null {\n if (!stripeTimestampSeconds) return null as T extends number ? string : null;\n return new Date(stripeTimestampSeconds * 1000).toISOString() as T extends number ? string : null;\n}\n\nexport function mapCheckoutSession(session: Stripe.Checkout.Session) {\n return {\n id: session.id,\n url: session.url,\n livemode: session.livemode,\n expires_at: session.expires_at,\n payment_status: session.payment_status,\n currency: session.currency,\n amount_total: session.amount_total,\n line_items:\n session.line_items?.data.map((item) => ({\n id: item.id,\n currency: item.currency,\n quantity: item.quantity,\n description: item.description,\n amount_tax: item.amount_tax,\n amount_total: item.amount_total,\n amount_subtotal: item.amount_subtotal,\n amount_discount: item.amount_discount,\n price: item.price ? { id: item.price.id } : null,\n })) ?? [],\n };\n}\n\nexport type CheckoutSession = ReturnType<typeof mapCheckoutSession>;\n\nexport function mapStatus(status: Stripe.Subscription.Status): SubscriptionStatus {\n switch (status) {\n case 'active':\n return SubscriptionStatus.ACTIVE;\n case 'canceled':\n return SubscriptionStatus.CANCELED;\n case 'incomplete':\n return SubscriptionStatus.INCOMPLETE;\n case 'incomplete_expired':\n return SubscriptionStatus.INCOMPLETE_EXPIRED;\n case 'past_due':\n return SubscriptionStatus.PAST_DUE;\n case 'paused':\n return SubscriptionStatus.PAUSED;\n case 'trialing':\n return SubscriptionStatus.TRIALING;\n case 'unpaid':\n return SubscriptionStatus.UNPAID;\n default: {\n console.error(`Invalid stripe status: ${status}`);\n throw new Error(`Invalid stripe status: ${status}`);\n }\n }\n}\n\nexport const ZERO_DECIMAL_CURRENCIES = [\n 'BIF',\n 'CLP',\n 'DJF',\n 'GNF',\n 'JPY',\n 'KMF',\n 'KRW',\n 'MGA',\n 'PYG',\n 'RWF',\n 'UGX',\n 'VND',\n 'VUV',\n 'XAF',\n 'XOF',\n 'XPF',\n];\n\nexport function minorUnits(currency: string) {\n return ZERO_DECIMAL_CURRENCIES.includes(currency.toUpperCase()) ? 1 : 100;\n}\n\nexport function price(value: number, currency: string) {\n return value / minorUnits(currency);\n}\n"],"mappings":";AACA,SAAS,0BAA0B;AAE5B,SAAS,QACd,wBACkC;AAClC,MAAI,CAAC,uBAAwB,QAAO;AACpC,SAAO,IAAI,KAAK,yBAAyB,GAAI,EAAE,YAAY;AAC7D;AAEO,SAAS,mBAAmB,SAAkC;AACnE,SAAO;AAAA,IACL,IAAI,QAAQ;AAAA,IACZ,KAAK,QAAQ;AAAA,IACb,UAAU,QAAQ;AAAA,IAClB,YAAY,QAAQ;AAAA,IACpB,gBAAgB,QAAQ;AAAA,IACxB,UAAU,QAAQ;AAAA,IAClB,cAAc,QAAQ;AAAA,IACtB,YACE,QAAQ,YAAY,KAAK,IAAI,CAAC,UAAU;AAAA,MACtC,IAAI,KAAK;AAAA,MACT,UAAU,KAAK;AAAA,MACf,UAAU,KAAK;AAAA,MACf,aAAa,KAAK;AAAA,MAClB,YAAY,KAAK;AAAA,MACjB,cAAc,KAAK;AAAA,MACnB,iBAAiB,KAAK;AAAA,MACtB,iBAAiB,KAAK;AAAA,MACtB,OAAO,KAAK,QAAQ,EAAE,IAAI,KAAK,MAAM,GAAG,IAAI;AAAA,IAC9C,EAAE,KAAK,CAAC;AAAA,EACZ;AACF;AAIO,SAAS,UAAU,QAAwD;AAChF,UAAQ,QAAQ;AAAA,IACd,KAAK;AACH,aAAO,mBAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,mBAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,mBAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,mBAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,mBAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,mBAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,mBAAmB;AAAA,IAC5B,KAAK;AACH,aAAO,mBAAmB;AAAA,IAC5B,SAAS;AACP,cAAQ,MAAM,0BAA0B,MAAM,EAAE;AAChD,YAAM,IAAI,MAAM,0BAA0B,MAAM,EAAE;AAAA,IACpD;AAAA,EACF;AACF;AAEO,IAAM,0BAA0B;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,WAAW,UAAkB;AAC3C,SAAO,wBAAwB,SAAS,SAAS,YAAY,CAAC,IAAI,IAAI;AACxE;AAEO,SAAS,MAAM,OAAe,UAAkB;AACrD,SAAO,QAAQ,WAAW,QAAQ;AACpC;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/stripe/types.ts"],"sourcesContent":["export type ProductId = Lowercase<string>;\nexport type PriceId = `price_${string}`;\n\nexport interface Config {\n returnUrl: string;\n cancelUrl: string;\n successUrl: `${string}
|
|
1
|
+
{"version":3,"sources":["../../src/stripe/types.ts"],"sourcesContent":["export type ProductId = Lowercase<string>;\nexport type PriceId = `price_${string}`;\n\nexport interface Config {\n returnUrl: string;\n cancelUrl: string;\n successUrl: `${string}session_id={CHECKOUT_SESSION_ID}${string}`;\n allowPromotionCodes: boolean;\n payments: Record<ProductId, PriceId>;\n subscriptions: Record<ProductId, PriceId>;\n}\n\nexport interface CreateCheckoutSessionDTO {\n productId: string;\n cancelUrl?: string;\n successUrl?: `${string}session_id={CHECKOUT_SESSION_ID}${string}`;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
package/dist/stripe/types.d.cts
CHANGED
|
@@ -3,10 +3,15 @@ type PriceId = `price_${string}`;
|
|
|
3
3
|
interface Config {
|
|
4
4
|
returnUrl: string;
|
|
5
5
|
cancelUrl: string;
|
|
6
|
-
successUrl: `${string}
|
|
6
|
+
successUrl: `${string}session_id={CHECKOUT_SESSION_ID}${string}`;
|
|
7
7
|
allowPromotionCodes: boolean;
|
|
8
8
|
payments: Record<ProductId, PriceId>;
|
|
9
9
|
subscriptions: Record<ProductId, PriceId>;
|
|
10
10
|
}
|
|
11
|
+
interface CreateCheckoutSessionDTO {
|
|
12
|
+
productId: string;
|
|
13
|
+
cancelUrl?: string;
|
|
14
|
+
successUrl?: `${string}session_id={CHECKOUT_SESSION_ID}${string}`;
|
|
15
|
+
}
|
|
11
16
|
|
|
12
|
-
export type { Config, PriceId, ProductId };
|
|
17
|
+
export type { Config, CreateCheckoutSessionDTO, PriceId, ProductId };
|
package/dist/stripe/types.d.ts
CHANGED
|
@@ -3,10 +3,15 @@ type PriceId = `price_${string}`;
|
|
|
3
3
|
interface Config {
|
|
4
4
|
returnUrl: string;
|
|
5
5
|
cancelUrl: string;
|
|
6
|
-
successUrl: `${string}
|
|
6
|
+
successUrl: `${string}session_id={CHECKOUT_SESSION_ID}${string}`;
|
|
7
7
|
allowPromotionCodes: boolean;
|
|
8
8
|
payments: Record<ProductId, PriceId>;
|
|
9
9
|
subscriptions: Record<ProductId, PriceId>;
|
|
10
10
|
}
|
|
11
|
+
interface CreateCheckoutSessionDTO {
|
|
12
|
+
productId: string;
|
|
13
|
+
cancelUrl?: string;
|
|
14
|
+
successUrl?: `${string}session_id={CHECKOUT_SESSION_ID}${string}`;
|
|
15
|
+
}
|
|
11
16
|
|
|
12
|
-
export type { Config, PriceId, ProductId };
|
|
17
|
+
export type { Config, CreateCheckoutSessionDTO, PriceId, ProductId };
|