@stripe/extensibility-sdk 1.0.1 → 1.3.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 (97) hide show
  1. package/README.md +17 -15
  2. package/dist/config-values/generate.cjs +1 -1
  3. package/dist/config-values/generate.d.ts +1 -1
  4. package/dist/config-values/generate.d.ts.map +1 -1
  5. package/dist/config-values/generate.js +1 -1
  6. package/dist/extensibility-sdk-alpha.d.ts +29 -157
  7. package/dist/extensibility-sdk-beta.d.ts +29 -157
  8. package/dist/extensibility-sdk-config-values-internal.d.ts +1 -1
  9. package/dist/extensibility-sdk-extensions-alpha.d.ts +7 -157
  10. package/dist/extensibility-sdk-extensions-beta.d.ts +7 -157
  11. package/dist/extensibility-sdk-extensions-billing-bill-discount_calculation-alpha.d.ts +631 -0
  12. package/dist/extensibility-sdk-extensions-billing-bill-discount_calculation-beta.d.ts +631 -0
  13. package/dist/extensibility-sdk-extensions-billing-bill-discount_calculation-internal.d.ts +666 -0
  14. package/dist/extensibility-sdk-extensions-billing-bill-discount_calculation-public.d.ts +631 -0
  15. package/dist/extensibility-sdk-extensions-billing-customer_balance_application-alpha.d.ts +475 -0
  16. package/dist/extensibility-sdk-extensions-billing-customer_balance_application-beta.d.ts +475 -0
  17. package/dist/extensibility-sdk-extensions-billing-customer_balance_application-internal.d.ts +510 -0
  18. package/dist/extensibility-sdk-extensions-billing-customer_balance_application-public.d.ts +475 -0
  19. package/dist/extensibility-sdk-extensions-billing-invoice_collection_options-alpha.d.ts +110 -0
  20. package/dist/extensibility-sdk-extensions-billing-invoice_collection_options-beta.d.ts +110 -0
  21. package/dist/extensibility-sdk-extensions-billing-invoice_collection_options-internal.d.ts +123 -0
  22. package/dist/extensibility-sdk-extensions-billing-invoice_collection_options-public.d.ts +110 -0
  23. package/dist/extensibility-sdk-extensions-billing-prorations-alpha.d.ts +607 -0
  24. package/dist/extensibility-sdk-extensions-billing-prorations-beta.d.ts +607 -0
  25. package/dist/extensibility-sdk-extensions-billing-prorations-internal.d.ts +642 -0
  26. package/dist/extensibility-sdk-extensions-billing-prorations-public.d.ts +607 -0
  27. package/dist/extensibility-sdk-extensions-billing-recurring_billing_item_handling-alpha.d.ts +735 -0
  28. package/dist/extensibility-sdk-extensions-billing-recurring_billing_item_handling-beta.d.ts +735 -0
  29. package/dist/extensibility-sdk-extensions-billing-recurring_billing_item_handling-internal.d.ts +772 -0
  30. package/dist/extensibility-sdk-extensions-billing-recurring_billing_item_handling-public.d.ts +735 -0
  31. package/dist/extensibility-sdk-extensions-core-workflows-custom_action-alpha.d.ts +126 -0
  32. package/dist/extensibility-sdk-extensions-core-workflows-custom_action-beta.d.ts +126 -0
  33. package/dist/extensibility-sdk-extensions-core-workflows-custom_action-internal.d.ts +140 -0
  34. package/dist/extensibility-sdk-extensions-core-workflows-custom_action-public.d.ts +126 -0
  35. package/dist/extensibility-sdk-extensions-extend-workflows-custom_action-alpha.d.ts +126 -0
  36. package/dist/extensibility-sdk-extensions-extend-workflows-custom_action-beta.d.ts +126 -0
  37. package/dist/extensibility-sdk-extensions-extend-workflows-custom_action-internal.d.ts +140 -0
  38. package/dist/extensibility-sdk-extensions-extend-workflows-custom_action-public.d.ts +126 -0
  39. package/dist/extensibility-sdk-extensions-internal.d.ts +7 -157
  40. package/dist/extensibility-sdk-extensions-public.d.ts +7 -157
  41. package/dist/extensibility-sdk-internal-internal.d.ts +2 -2
  42. package/dist/extensibility-sdk-internal.d.ts +145 -162
  43. package/dist/extensibility-sdk-public.d.ts +29 -157
  44. package/dist/extensibility-sdk-stdlib-alpha.d.ts +593 -0
  45. package/dist/extensibility-sdk-stdlib-beta.d.ts +593 -0
  46. package/dist/extensibility-sdk-stdlib-internal.d.ts +1096 -0
  47. package/dist/extensibility-sdk-stdlib-public.d.ts +593 -0
  48. package/dist/extensions/billing/bill/discount_calculation.cjs +437 -0
  49. package/dist/extensions/billing/bill/discount_calculation.d.ts +0 -20
  50. package/dist/extensions/billing/bill/discount_calculation.d.ts.map +1 -1
  51. package/dist/extensions/billing/bill/discount_calculation.js +430 -0
  52. package/dist/extensions/billing/customer_balance_application.cjs +297 -0
  53. package/dist/extensions/billing/customer_balance_application.d.ts +0 -20
  54. package/dist/extensions/billing/customer_balance_application.d.ts.map +1 -1
  55. package/dist/extensions/billing/customer_balance_application.js +284 -0
  56. package/dist/extensions/billing/invoice_collection_options.cjs +166 -0
  57. package/dist/extensions/billing/invoice_collection_options.d.ts +4 -24
  58. package/dist/extensions/billing/invoice_collection_options.d.ts.map +1 -1
  59. package/dist/extensions/billing/invoice_collection_options.js +155 -0
  60. package/dist/extensions/billing/prorations.cjs +501 -0
  61. package/dist/extensions/billing/prorations.d.ts +0 -20
  62. package/dist/extensions/billing/prorations.d.ts.map +1 -1
  63. package/dist/extensions/billing/prorations.js +492 -0
  64. package/dist/extensions/billing/recurring_billing_item_handling.cjs +639 -0
  65. package/dist/extensions/billing/recurring_billing_item_handling.d.ts +0 -30
  66. package/dist/extensions/billing/recurring_billing_item_handling.d.ts.map +1 -1
  67. package/dist/extensions/billing/recurring_billing_item_handling.js +632 -0
  68. package/dist/extensions/core/workflows/custom_action.cjs +124 -0
  69. package/dist/extensions/core/workflows/custom_action.d.ts +1 -21
  70. package/dist/extensions/core/workflows/custom_action.d.ts.map +1 -1
  71. package/dist/extensions/core/workflows/custom_action.js +111 -0
  72. package/dist/extensions/extend/workflows/custom_action.cjs +124 -0
  73. package/dist/extensions/extend/workflows/custom_action.d.ts +1 -21
  74. package/dist/extensions/extend/workflows/custom_action.d.ts.map +1 -1
  75. package/dist/extensions/extend/workflows/custom_action.js +111 -0
  76. package/dist/extensions/index.cjs +27 -265
  77. package/dist/extensions/index.js +27 -265
  78. package/dist/extensions/registry.d.ts +2 -2
  79. package/dist/extensions/registry.d.ts.map +1 -1
  80. package/dist/index.cjs +452 -2390
  81. package/dist/index.js +479 -2286
  82. package/dist/internal.cjs +22 -54
  83. package/dist/internal.js +22 -54
  84. package/dist/stdlib/generated.d.ts +1 -1
  85. package/dist/stdlib/generated.d.ts.map +1 -1
  86. package/dist/stdlib/index.cjs +2003 -0
  87. package/dist/stdlib/index.d.ts +2 -2
  88. package/dist/stdlib/index.d.ts.map +1 -1
  89. package/dist/stdlib/index.js +1943 -0
  90. package/dist/stdlib/transform-strategies.d.ts +46 -6
  91. package/dist/stdlib/transform-strategies.d.ts.map +1 -1
  92. package/dist/stdlib/types.d.ts +82 -0
  93. package/dist/stdlib/types.d.ts.map +1 -1
  94. package/dist/tsconfig.build.tsbuildinfo +1 -1
  95. package/package.json +65 -1
  96. package/dist/stdlib/extension-method.d.ts +0 -27
  97. package/dist/stdlib/extension-method.d.ts.map +0 -1
@@ -0,0 +1,430 @@
1
+ // src/extensions/billing/bill/discount_calculation.ts
2
+ import {
3
+ _ProtoEnum,
4
+ _ProtoWireToType,
5
+ _ShapeDescriptor,
6
+ _TypeToProtoWire,
7
+ _UnionDescriptor,
8
+ _apply,
9
+ _configAppContextFromContext,
10
+ _identity,
11
+ _isPromiseLike,
12
+ _required,
13
+ _translateArray,
14
+ _translateDateTime,
15
+ _translateDecimal,
16
+ _translateEnum,
17
+ _translateMap,
18
+ _translateShape,
19
+ _translateUnion
20
+ } from "@stripe/extensibility-sdk/stdlib";
21
+ var DiscountCalculation;
22
+ ((DiscountCalculation2) => {
23
+ const billingReasonEnumValues = new _ProtoEnum({
24
+ BILLING_REASON_AUTOMATIC_PENDING_INVOICE_ITEM_INVOICE: "automatic_pending_invoice_item_invoice",
25
+ BILLING_REASON_MANUAL: "manual",
26
+ BILLING_REASON_SUBSCRIPTION: "subscription",
27
+ BILLING_REASON_SUBSCRIPTION_CREATE: "subscription_create",
28
+ BILLING_REASON_SUBSCRIPTION_CYCLE: "subscription_cycle",
29
+ BILLING_REASON_SUBSCRIPTION_CANCEL: "subscription_cancel",
30
+ BILLING_REASON_SUBSCRIPTION_THRESHOLD: "subscription_threshold",
31
+ BILLING_REASON_SUBSCRIPTION_TRIAL_ENDED: "subscription_trial_ended",
32
+ BILLING_REASON_SUBSCRIPTION_UPDATE: "subscription_update",
33
+ BILLING_REASON_UPCOMING: "upcoming",
34
+ BILLING_REASON_QUOTE_ACCEPT: "quote_accept"
35
+ });
36
+ const pricingTierModeEnumValues = new _ProtoEnum({
37
+ PRICING_TIER_MODE_GRADUATED: "graduated",
38
+ PRICING_TIER_MODE_VOLUME: "volume"
39
+ });
40
+ const priceTypeEnumValues = new _ProtoEnum({
41
+ PRICE_TYPE_ONE_TIME: "one_time",
42
+ PRICE_TYPE_RECURRING: "recurring"
43
+ });
44
+ const pricingSchemeEnumValues = new _ProtoEnum({
45
+ PRICING_SCHEME_PER_UNIT: "per_unit",
46
+ PRICING_SCHEME_TIERED: "tiered"
47
+ });
48
+ const usageTypeEnumValues = new _ProtoEnum({
49
+ USAGE_TYPE_LICENSED: "licensed",
50
+ USAGE_TYPE_METERED: "metered"
51
+ });
52
+ const recurringPriceIntervalEnumValues = new _ProtoEnum({
53
+ RECURRING_PRICE_INTERVAL_DAY: "day",
54
+ RECURRING_PRICE_INTERVAL_WEEK: "week",
55
+ RECURRING_PRICE_INTERVAL_MONTH: "month",
56
+ RECURRING_PRICE_INTERVAL_YEAR: "year"
57
+ });
58
+ const currencyEnumValues = new _ProtoEnum({
59
+ CURRENCY_AED: "aed",
60
+ CURRENCY_AFN: "afn",
61
+ CURRENCY_ALL: "all",
62
+ CURRENCY_AMD: "amd",
63
+ CURRENCY_ANG: "ang",
64
+ CURRENCY_AOA: "aoa",
65
+ CURRENCY_APT: "apt",
66
+ CURRENCY_ARB: "arb",
67
+ CURRENCY_ARS: "ars",
68
+ CURRENCY_AUD: "aud",
69
+ CURRENCY_AVAX: "avax",
70
+ CURRENCY_AWG: "awg",
71
+ CURRENCY_AZN: "azn",
72
+ CURRENCY_BAM: "bam",
73
+ CURRENCY_BBD: "bbd",
74
+ CURRENCY_BDT: "bdt",
75
+ CURRENCY_BGN: "bgn",
76
+ CURRENCY_BHD: "bhd",
77
+ CURRENCY_BIF: "bif",
78
+ CURRENCY_BMD: "bmd",
79
+ CURRENCY_BNB: "bnb",
80
+ CURRENCY_BND: "bnd",
81
+ CURRENCY_BOB: "bob",
82
+ CURRENCY_BOV: "bov",
83
+ CURRENCY_BRL: "brl",
84
+ CURRENCY_BSD: "bsd",
85
+ CURRENCY_BTC: "btc",
86
+ CURRENCY_BTN: "btn",
87
+ CURRENCY_BUIDL: "buidl",
88
+ CURRENCY_BWP: "bwp",
89
+ CURRENCY_BYN: "byn",
90
+ CURRENCY_BYR: "byr",
91
+ CURRENCY_BZD: "bzd",
92
+ CURRENCY_CAD: "cad",
93
+ CURRENCY_CDF: "cdf",
94
+ CURRENCY_CELO: "celo",
95
+ CURRENCY_CHE: "che",
96
+ CURRENCY_CHF: "chf",
97
+ CURRENCY_CHW: "chw",
98
+ CURRENCY_CLF: "clf",
99
+ CURRENCY_CLP: "clp",
100
+ CURRENCY_CNY: "cny",
101
+ CURRENCY_COP: "cop",
102
+ CURRENCY_COU: "cou",
103
+ CURRENCY_CRC: "crc",
104
+ CURRENCY_CUC: "cuc",
105
+ CURRENCY_CUP: "cup",
106
+ CURRENCY_CVE: "cve",
107
+ CURRENCY_CZK: "czk",
108
+ CURRENCY_DAI: "dai",
109
+ CURRENCY_DJF: "djf",
110
+ CURRENCY_DKK: "dkk",
111
+ CURRENCY_DOP: "dop",
112
+ CURRENCY_DZD: "dzd",
113
+ CURRENCY_EEK: "eek",
114
+ CURRENCY_EGP: "egp",
115
+ CURRENCY_ERN: "ern",
116
+ CURRENCY_ETB: "etb",
117
+ CURRENCY_ETH: "eth",
118
+ CURRENCY_EUR: "eur",
119
+ CURRENCY_EURC: "eurc",
120
+ CURRENCY_FJD: "fjd",
121
+ CURRENCY_FKP: "fkp",
122
+ CURRENCY_FRXUSD: "frxusd",
123
+ CURRENCY_GBP: "gbp",
124
+ CURRENCY_GEL: "gel",
125
+ CURRENCY_GHC: "ghc",
126
+ CURRENCY_GHS: "ghs",
127
+ CURRENCY_GIP: "gip",
128
+ CURRENCY_GMD: "gmd",
129
+ CURRENCY_GNF: "gnf",
130
+ CURRENCY_GTQ: "gtq",
131
+ CURRENCY_GYD: "gyd",
132
+ CURRENCY_HKD: "hkd",
133
+ CURRENCY_HNL: "hnl",
134
+ CURRENCY_HRK: "hrk",
135
+ CURRENCY_HTG: "htg",
136
+ CURRENCY_HUF: "huf",
137
+ CURRENCY_HYPE: "hype",
138
+ CURRENCY_IDR: "idr",
139
+ CURRENCY_ILS: "ils",
140
+ CURRENCY_INR: "inr",
141
+ CURRENCY_IQD: "iqd",
142
+ CURRENCY_IRR: "irr",
143
+ CURRENCY_ISK: "isk",
144
+ CURRENCY_JMD: "jmd",
145
+ CURRENCY_JOD: "jod",
146
+ CURRENCY_JPY: "jpy",
147
+ CURRENCY_KES: "kes",
148
+ CURRENCY_KGS: "kgs",
149
+ CURRENCY_KHR: "khr",
150
+ CURRENCY_KMF: "kmf",
151
+ CURRENCY_KPW: "kpw",
152
+ CURRENCY_KRW: "krw",
153
+ CURRENCY_KWD: "kwd",
154
+ CURRENCY_KYD: "kyd",
155
+ CURRENCY_KZT: "kzt",
156
+ CURRENCY_LAK: "lak",
157
+ CURRENCY_LBP: "lbp",
158
+ CURRENCY_LKR: "lkr",
159
+ CURRENCY_LRD: "lrd",
160
+ CURRENCY_LSL: "lsl",
161
+ CURRENCY_LTL: "ltl",
162
+ CURRENCY_LVL: "lvl",
163
+ CURRENCY_LYD: "lyd",
164
+ CURRENCY_LZD: "lzd",
165
+ CURRENCY_M: "m",
166
+ CURRENCY_MAD: "mad",
167
+ CURRENCY_MDL: "mdl",
168
+ CURRENCY_MGA: "mga",
169
+ CURRENCY_MKD: "mkd",
170
+ CURRENCY_MMK: "mmk",
171
+ CURRENCY_MNT: "mnt",
172
+ CURRENCY_MON: "mon",
173
+ CURRENCY_MOP: "mop",
174
+ CURRENCY_MRO: "mro",
175
+ CURRENCY_MRU: "mru",
176
+ CURRENCY_MUR: "mur",
177
+ CURRENCY_MVR: "mvr",
178
+ CURRENCY_MWK: "mwk",
179
+ CURRENCY_MXN: "mxn",
180
+ CURRENCY_MXV: "mxv",
181
+ CURRENCY_MYR: "myr",
182
+ CURRENCY_MZN: "mzn",
183
+ CURRENCY_NAD: "nad",
184
+ CURRENCY_NGN: "ngn",
185
+ CURRENCY_NIO: "nio",
186
+ CURRENCY_NOK: "nok",
187
+ CURRENCY_NPR: "npr",
188
+ CURRENCY_NZD: "nzd",
189
+ CURRENCY_OMR: "omr",
190
+ CURRENCY_ORD: "ord",
191
+ CURRENCY_PAB: "pab",
192
+ CURRENCY_PEN: "pen",
193
+ CURRENCY_PGK: "pgk",
194
+ CURRENCY_PHP: "php",
195
+ CURRENCY_PKR: "pkr",
196
+ CURRENCY_PLN: "pln",
197
+ CURRENCY_POL: "pol",
198
+ CURRENCY_PYG: "pyg",
199
+ CURRENCY_PYUSD: "pyusd",
200
+ CURRENCY_QAR: "qar",
201
+ CURRENCY_RD: "rd",
202
+ CURRENCY_RE: "re",
203
+ CURRENCY_RON: "ron",
204
+ CURRENCY_RSD: "rsd",
205
+ CURRENCY_RUB: "rub",
206
+ CURRENCY_RWF: "rwf",
207
+ CURRENCY_SAR: "sar",
208
+ CURRENCY_SBD: "sbd",
209
+ CURRENCY_SCR: "scr",
210
+ CURRENCY_SDG: "sdg",
211
+ CURRENCY_SEK: "sek",
212
+ CURRENCY_SGD: "sgd",
213
+ CURRENCY_SHP: "shp",
214
+ CURRENCY_SLE: "sle",
215
+ CURRENCY_SLL: "sll",
216
+ CURRENCY_SOL: "sol",
217
+ CURRENCY_SOS: "sos",
218
+ CURRENCY_SRD: "srd",
219
+ CURRENCY_SSP: "ssp",
220
+ CURRENCY_STD: "std",
221
+ CURRENCY_STN: "stn",
222
+ CURRENCY_SUI: "sui",
223
+ CURRENCY_SVC: "svc",
224
+ CURRENCY_SYP: "syp",
225
+ CURRENCY_SZL: "szl",
226
+ CURRENCY_THB: "thb",
227
+ CURRENCY_TJS: "tjs",
228
+ CURRENCY_TMT: "tmt",
229
+ CURRENCY_TND: "tnd",
230
+ CURRENCY_TOP: "top",
231
+ CURRENCY_TRX: "trx",
232
+ CURRENCY_TRY: "try",
233
+ CURRENCY_TTD: "ttd",
234
+ CURRENCY_TWD: "twd",
235
+ CURRENCY_TZS: "tzs",
236
+ CURRENCY_UAH: "uah",
237
+ CURRENCY_UGX: "ugx",
238
+ CURRENCY_USD: "usd",
239
+ CURRENCY_USDB: "usdb",
240
+ CURRENCY_USDC: "usdc",
241
+ CURRENCY_USDG: "usdg",
242
+ CURRENCY_USDSUI: "usdsui",
243
+ CURRENCY_USDP: "usdp",
244
+ CURRENCY_USDT: "usdt",
245
+ CURRENCY_USN: "usn",
246
+ CURRENCY_USTB: "ustb",
247
+ CURRENCY_UYI: "uyi",
248
+ CURRENCY_UYU: "uyu",
249
+ CURRENCY_UZS: "uzs",
250
+ CURRENCY_VEF: "vef",
251
+ CURRENCY_VES: "ves",
252
+ CURRENCY_VND: "vnd",
253
+ CURRENCY_VUV: "vuv",
254
+ CURRENCY_WST: "wst",
255
+ CURRENCY_XAF: "xaf",
256
+ CURRENCY_XCD: "xcd",
257
+ CURRENCY_XCG: "xcg",
258
+ CURRENCY_XEUR: "xeur",
259
+ CURRENCY_XLM: "xlm",
260
+ CURRENCY_XOF: "xof",
261
+ CURRENCY_XPF: "xpf",
262
+ CURRENCY_XPL: "xpl",
263
+ CURRENCY_XUSD: "xusd",
264
+ CURRENCY_OPEN_USD: "open_usd",
265
+ CURRENCY_YER: "yer",
266
+ CURRENCY_ZAR: "zar",
267
+ CURRENCY_ZMK: "zmk",
268
+ CURRENCY_ZMW: "zmw",
269
+ CURRENCY_ZWD: "zwd",
270
+ CURRENCY_ZWG: "zwg",
271
+ CURRENCY_ZWL: "zwl"
272
+ });
273
+ const DiscountResultDescriptor = new _ShapeDescriptor(
274
+ "DiscountResult",
275
+ [
276
+ {
277
+ type: "discount",
278
+ transform: _required(_translateShape(() => DiscountDescriptor))
279
+ }
280
+ ]
281
+ );
282
+ const DiscountDescriptor = new _ShapeDescriptor("Discount", [
283
+ {
284
+ type: "amount",
285
+ transform: _required(_translateShape(() => MonetaryAmountDescriptor))
286
+ }
287
+ ]);
288
+ const DiscountableItemDescriptor = new _ShapeDescriptor(
289
+ "DiscountableItem",
290
+ [
291
+ {
292
+ type: "lineItems",
293
+ transform: _required(
294
+ _translateArray(_translateShape(() => DiscountableLineItemDescriptor))
295
+ )
296
+ },
297
+ {
298
+ type: "grossAmount",
299
+ transform: _required(_translateShape(() => MonetaryAmountDescriptor))
300
+ },
301
+ { type: "customer", transform: _translateShape(() => CustomerDescriptor) },
302
+ { type: "billingReason", transform: _translateEnum(billingReasonEnumValues) },
303
+ { type: "subscription", transform: _translateShape(() => SubscriptionDescriptor) }
304
+ ]
305
+ );
306
+ const SubscriptionDescriptor = new _ShapeDescriptor(
307
+ "Subscription",
308
+ [
309
+ { type: "id", transform: _required() },
310
+ { type: "billingCycleAnchor", transform: _identity },
311
+ {
312
+ type: "billingCycleAnchorConfig",
313
+ transform: _translateShape(() => BillingCycleAnchorConfigDescriptor)
314
+ },
315
+ { type: "metadata", transform: _required(_translateMap(_identity, _identity)) }
316
+ ]
317
+ );
318
+ const BillingCycleAnchorConfigDescriptor = new _ShapeDescriptor("BillingCycleAnchorConfig", [
319
+ { type: "month", transform: _required() },
320
+ { type: "dayOfMonth", transform: _required() },
321
+ { type: "hour", transform: _required() },
322
+ { type: "minute", transform: _required() },
323
+ { type: "second", transform: _required() }
324
+ ]);
325
+ const CustomerDescriptor = new _ShapeDescriptor("Customer", [
326
+ { type: "id", transform: _required() },
327
+ { type: "metadata", transform: _required(_translateMap(_identity, _identity)) }
328
+ ]);
329
+ const DiscountableLineItemDescriptor = new _ShapeDescriptor(
330
+ "DiscountableLineItem",
331
+ [
332
+ {
333
+ type: "subtotal",
334
+ transform: _required(_translateShape(() => MonetaryAmountDescriptor))
335
+ },
336
+ { type: "quantity", transform: _translateDecimal },
337
+ {
338
+ type: "period",
339
+ transform: _required(_translateUnion(() => AnyTimeRangeDescriptor))
340
+ },
341
+ { type: "price", transform: _translateShape(() => PriceDescriptor) }
342
+ ]
343
+ );
344
+ const PriceDescriptor = new _ShapeDescriptor("Price", [
345
+ { type: "id", transform: _required() },
346
+ { type: "product", transform: _translateShape(() => ProductDescriptor) },
347
+ { type: "recurring", transform: _translateShape(() => RecurringPriceDescriptor) },
348
+ { type: "billingScheme", transform: _translateEnum(pricingSchemeEnumValues) },
349
+ {
350
+ type: "tiers",
351
+ transform: _required(_translateArray(_translateShape(() => PriceTierDescriptor)))
352
+ },
353
+ { type: "type", transform: _translateEnum(priceTypeEnumValues) },
354
+ { type: "tiersMode", transform: _translateEnum(pricingTierModeEnumValues) },
355
+ { type: "metadata", transform: _required(_translateMap(_identity, _identity)) },
356
+ { type: "unitAmount", transform: _translateDecimal }
357
+ ]);
358
+ const PriceTierDescriptor = new _ShapeDescriptor(
359
+ "PriceTier",
360
+ [
361
+ { type: "flatAmount", transform: _translateDecimal },
362
+ { type: "unitAmount", transform: _translateDecimal },
363
+ { type: "upTo", transform: _translateDecimal }
364
+ ]
365
+ );
366
+ const RecurringPriceDescriptor = new _ShapeDescriptor(
367
+ "RecurringPrice",
368
+ [
369
+ {
370
+ type: "interval",
371
+ transform: _required(_translateEnum(recurringPriceIntervalEnumValues))
372
+ },
373
+ { type: "intervalCount", transform: _required() },
374
+ { type: "usageType", transform: _translateEnum(usageTypeEnumValues) },
375
+ { type: "meter", transform: _identity }
376
+ ]
377
+ );
378
+ const ProductDescriptor = new _ShapeDescriptor("Product", [
379
+ { type: "id", transform: _required() },
380
+ { type: "name", transform: _required() },
381
+ { type: "metadata", transform: _required(_translateMap(_identity, _identity)) }
382
+ ]);
383
+ const MonetaryAmountDescriptor = new _ShapeDescriptor("MonetaryAmount", [
384
+ { type: "amount", transform: _required(_translateDecimal) },
385
+ { type: "currency", transform: _required(_translateEnum(currencyEnumValues)) }
386
+ ]);
387
+ const AnyTimeRangeDescriptor = new _UnionDescriptor(
388
+ "AnyTimeRange",
389
+ "value",
390
+ [
391
+ {
392
+ wireKey: "oneTime",
393
+ typeKey: "oneTime",
394
+ shape: [{ type: "at", transform: _required(_translateDateTime) }]
395
+ },
396
+ {
397
+ wireKey: "timeRange",
398
+ typeKey: "timeRange",
399
+ shape: [
400
+ { type: "startDate", transform: _required(_translateDateTime) },
401
+ { type: "endDate", transform: _required(_translateDateTime) }
402
+ ]
403
+ }
404
+ ]
405
+ );
406
+ function $platformWrapComputeDiscounts(configTransformer) {
407
+ return (cls, wireArgs, wireConfig, ctx) => {
408
+ const instance = new cls();
409
+ const request = _apply(
410
+ DiscountableItemDescriptor,
411
+ _ProtoWireToType,
412
+ wireArgs
413
+ );
414
+ const config = configTransformer !== void 0 ? configTransformer(wireConfig, _configAppContextFromContext(ctx)) : wireConfig;
415
+ const result = instance.computeDiscounts(request, config, ctx);
416
+ if (_isPromiseLike(result)) {
417
+ return Promise.resolve(result).then((r) => {
418
+ const typedR = r;
419
+ return _apply(DiscountResultDescriptor, _TypeToProtoWire, typedR);
420
+ });
421
+ }
422
+ const typedResult = result;
423
+ return _apply(DiscountResultDescriptor, _TypeToProtoWire, typedResult);
424
+ };
425
+ }
426
+ DiscountCalculation2.$platformWrapComputeDiscounts = $platformWrapComputeDiscounts;
427
+ })(DiscountCalculation || (DiscountCalculation = {}));
428
+ export {
429
+ DiscountCalculation
430
+ };