@polar-sh/sdk 0.32.2 → 0.32.4

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 (231) hide show
  1. package/README.md +4 -5
  2. package/bin/mcp-server.js +143 -19
  3. package/bin/mcp-server.js.map +14 -11
  4. package/dist/commonjs/funcs/benefitsList.js +1 -0
  5. package/dist/commonjs/funcs/benefitsList.js.map +1 -1
  6. package/dist/commonjs/funcs/benefitsUpdate.d.ts +1 -2
  7. package/dist/commonjs/funcs/benefitsUpdate.d.ts.map +1 -1
  8. package/dist/commonjs/funcs/benefitsUpdate.js +2 -3
  9. package/dist/commonjs/funcs/benefitsUpdate.js.map +1 -1
  10. package/dist/commonjs/hooks/types.d.ts +1 -1
  11. package/dist/commonjs/hooks/types.d.ts.map +1 -1
  12. package/dist/commonjs/lib/config.d.ts +3 -3
  13. package/dist/commonjs/lib/config.js +3 -3
  14. package/dist/commonjs/mcp-server/mcp-server.js +1 -1
  15. package/dist/commonjs/mcp-server/server.js +1 -1
  16. package/dist/commonjs/models/components/benefit.d.ts +3 -2
  17. package/dist/commonjs/models/components/benefit.d.ts.map +1 -1
  18. package/dist/commonjs/models/components/benefit.js +3 -0
  19. package/dist/commonjs/models/components/benefit.js.map +1 -1
  20. package/dist/commonjs/models/components/benefitcreate.d.ts +5 -0
  21. package/dist/commonjs/models/components/benefitcreate.d.ts.map +1 -1
  22. package/dist/commonjs/models/components/benefitcreate.js +7 -0
  23. package/dist/commonjs/models/components/benefitcreate.js.map +1 -1
  24. package/dist/commonjs/models/components/benefitlicensekeyactivationcreateproperties.d.ts +31 -0
  25. package/dist/commonjs/models/components/benefitlicensekeyactivationcreateproperties.d.ts.map +1 -0
  26. package/dist/commonjs/models/components/benefitlicensekeyactivationcreateproperties.js +70 -0
  27. package/dist/commonjs/models/components/benefitlicensekeyactivationcreateproperties.js.map +1 -0
  28. package/dist/commonjs/models/components/benefitlicensekeyscreateproperties.d.ts +3 -3
  29. package/dist/commonjs/models/components/benefitlicensekeyscreateproperties.d.ts.map +1 -1
  30. package/dist/commonjs/models/components/benefitlicensekeyscreateproperties.js +3 -5
  31. package/dist/commonjs/models/components/benefitlicensekeyscreateproperties.js.map +1 -1
  32. package/dist/commonjs/models/components/benefitmetercredit.d.ts +77 -0
  33. package/dist/commonjs/models/components/benefitmetercredit.d.ts.map +1 -0
  34. package/dist/commonjs/models/components/benefitmetercredit.js +89 -0
  35. package/dist/commonjs/models/components/benefitmetercredit.js.map +1 -0
  36. package/dist/commonjs/models/components/benefitmetercreditcreate.d.ts +48 -0
  37. package/dist/commonjs/models/components/benefitmetercreditcreate.d.ts.map +1 -0
  38. package/dist/commonjs/models/components/benefitmetercreditcreate.js +75 -0
  39. package/dist/commonjs/models/components/benefitmetercreditcreate.js.map +1 -0
  40. package/dist/commonjs/models/components/benefitmetercreditcreateproperties.d.ts +34 -0
  41. package/dist/commonjs/models/components/benefitmetercreditcreateproperties.d.ts.map +1 -0
  42. package/dist/commonjs/models/components/benefitmetercreditcreateproperties.js +70 -0
  43. package/dist/commonjs/models/components/benefitmetercreditcreateproperties.js.map +1 -0
  44. package/dist/commonjs/models/components/benefitmetercreditproperties.d.ts +34 -0
  45. package/dist/commonjs/models/components/benefitmetercreditproperties.d.ts.map +1 -0
  46. package/dist/commonjs/models/components/benefitmetercreditproperties.js +70 -0
  47. package/dist/commonjs/models/components/benefitmetercreditproperties.js.map +1 -0
  48. package/dist/commonjs/models/components/benefitmetercreditupdate.d.ts +37 -0
  49. package/dist/commonjs/models/components/benefitmetercreditupdate.d.ts.map +1 -0
  50. package/dist/commonjs/models/components/benefitmetercreditupdate.js +66 -0
  51. package/dist/commonjs/models/components/benefitmetercreditupdate.js.map +1 -0
  52. package/dist/commonjs/models/components/benefitsortproperty.d.ts +34 -0
  53. package/dist/commonjs/models/components/benefitsortproperty.d.ts.map +1 -0
  54. package/dist/commonjs/models/components/benefitsortproperty.js +52 -0
  55. package/dist/commonjs/models/components/benefitsortproperty.js.map +1 -0
  56. package/dist/commonjs/models/components/benefittype.d.ts +3 -0
  57. package/dist/commonjs/models/components/benefittype.d.ts.map +1 -1
  58. package/dist/commonjs/models/components/benefittype.js +1 -0
  59. package/dist/commonjs/models/components/benefittype.js.map +1 -1
  60. package/dist/commonjs/models/components/checkout.d.ts +12 -9
  61. package/dist/commonjs/models/components/checkout.d.ts.map +1 -1
  62. package/dist/commonjs/models/components/checkout.js +8 -8
  63. package/dist/commonjs/models/components/checkout.js.map +1 -1
  64. package/dist/commonjs/models/components/checkoutpublic.d.ts +12 -9
  65. package/dist/commonjs/models/components/checkoutpublic.d.ts.map +1 -1
  66. package/dist/commonjs/models/components/checkoutpublic.js +8 -8
  67. package/dist/commonjs/models/components/checkoutpublic.js.map +1 -1
  68. package/dist/commonjs/models/components/checkoutpublicconfirmed.d.ts +12 -9
  69. package/dist/commonjs/models/components/checkoutpublicconfirmed.d.ts.map +1 -1
  70. package/dist/commonjs/models/components/checkoutpublicconfirmed.js +8 -8
  71. package/dist/commonjs/models/components/checkoutpublicconfirmed.js.map +1 -1
  72. package/dist/commonjs/models/components/productcreate.d.ts +5 -4
  73. package/dist/commonjs/models/components/productcreate.d.ts.map +1 -1
  74. package/dist/commonjs/models/components/productcreate.js +5 -0
  75. package/dist/commonjs/models/components/productcreate.js.map +1 -1
  76. package/dist/commonjs/models/components/productpricemeteredunit.d.ts +0 -5
  77. package/dist/commonjs/models/components/productpricemeteredunit.d.ts.map +1 -1
  78. package/dist/commonjs/models/components/productpricemeteredunit.js +0 -4
  79. package/dist/commonjs/models/components/productpricemeteredunit.js.map +1 -1
  80. package/dist/commonjs/models/components/productpricemeteredunitcreate.d.ts +52 -0
  81. package/dist/commonjs/models/components/productpricemeteredunitcreate.d.ts.map +1 -0
  82. package/dist/commonjs/models/components/productpricemeteredunitcreate.js +84 -0
  83. package/dist/commonjs/models/components/productpricemeteredunitcreate.js.map +1 -0
  84. package/dist/commonjs/models/components/productupdate.d.ts +5 -4
  85. package/dist/commonjs/models/components/productupdate.d.ts.map +1 -1
  86. package/dist/commonjs/models/components/productupdate.js +5 -0
  87. package/dist/commonjs/models/components/productupdate.js.map +1 -1
  88. package/dist/commonjs/models/components/webhookbenefitgrantcycledpayload.d.ts +40 -0
  89. package/dist/commonjs/models/components/webhookbenefitgrantcycledpayload.d.ts.map +1 -0
  90. package/dist/commonjs/models/components/webhookbenefitgrantcycledpayload.js +62 -0
  91. package/dist/commonjs/models/components/webhookbenefitgrantcycledpayload.js.map +1 -0
  92. package/dist/commonjs/models/components/webhookbenefitgrantrevokedpayload.d.ts +1 -1
  93. package/dist/commonjs/models/components/webhookbenefitgrantupdatedpayload.d.ts +1 -1
  94. package/dist/commonjs/models/operations/benefitslist.d.ts +6 -0
  95. package/dist/commonjs/models/operations/benefitslist.d.ts.map +1 -1
  96. package/dist/commonjs/models/operations/benefitslist.js +3 -0
  97. package/dist/commonjs/models/operations/benefitslist.js.map +1 -1
  98. package/dist/commonjs/models/operations/benefitsupdate.d.ts +5 -4
  99. package/dist/commonjs/models/operations/benefitsupdate.d.ts.map +1 -1
  100. package/dist/commonjs/models/operations/benefitsupdate.js +5 -0
  101. package/dist/commonjs/models/operations/benefitsupdate.js.map +1 -1
  102. package/dist/esm/funcs/benefitsList.js +1 -0
  103. package/dist/esm/funcs/benefitsList.js.map +1 -1
  104. package/dist/esm/funcs/benefitsUpdate.d.ts +1 -2
  105. package/dist/esm/funcs/benefitsUpdate.d.ts.map +1 -1
  106. package/dist/esm/funcs/benefitsUpdate.js +2 -3
  107. package/dist/esm/funcs/benefitsUpdate.js.map +1 -1
  108. package/dist/esm/hooks/types.d.ts +1 -1
  109. package/dist/esm/hooks/types.d.ts.map +1 -1
  110. package/dist/esm/lib/config.d.ts +3 -3
  111. package/dist/esm/lib/config.js +3 -3
  112. package/dist/esm/mcp-server/mcp-server.js +1 -1
  113. package/dist/esm/mcp-server/server.js +1 -1
  114. package/dist/esm/models/components/benefit.d.ts +3 -2
  115. package/dist/esm/models/components/benefit.d.ts.map +1 -1
  116. package/dist/esm/models/components/benefit.js +3 -0
  117. package/dist/esm/models/components/benefit.js.map +1 -1
  118. package/dist/esm/models/components/benefitcreate.d.ts +5 -0
  119. package/dist/esm/models/components/benefitcreate.d.ts.map +1 -1
  120. package/dist/esm/models/components/benefitcreate.js +7 -0
  121. package/dist/esm/models/components/benefitcreate.js.map +1 -1
  122. package/dist/esm/models/components/benefitlicensekeyactivationcreateproperties.d.ts +31 -0
  123. package/dist/esm/models/components/benefitlicensekeyactivationcreateproperties.d.ts.map +1 -0
  124. package/dist/esm/models/components/benefitlicensekeyactivationcreateproperties.js +42 -0
  125. package/dist/esm/models/components/benefitlicensekeyactivationcreateproperties.js.map +1 -0
  126. package/dist/esm/models/components/benefitlicensekeyscreateproperties.d.ts +3 -3
  127. package/dist/esm/models/components/benefitlicensekeyscreateproperties.d.ts.map +1 -1
  128. package/dist/esm/models/components/benefitlicensekeyscreateproperties.js +3 -5
  129. package/dist/esm/models/components/benefitlicensekeyscreateproperties.js.map +1 -1
  130. package/dist/esm/models/components/benefitmetercredit.d.ts +77 -0
  131. package/dist/esm/models/components/benefitmetercredit.d.ts.map +1 -0
  132. package/dist/esm/models/components/benefitmetercredit.js +61 -0
  133. package/dist/esm/models/components/benefitmetercredit.js.map +1 -0
  134. package/dist/esm/models/components/benefitmetercreditcreate.d.ts +48 -0
  135. package/dist/esm/models/components/benefitmetercreditcreate.d.ts.map +1 -0
  136. package/dist/esm/models/components/benefitmetercreditcreate.js +47 -0
  137. package/dist/esm/models/components/benefitmetercreditcreate.js.map +1 -0
  138. package/dist/esm/models/components/benefitmetercreditcreateproperties.d.ts +34 -0
  139. package/dist/esm/models/components/benefitmetercreditcreateproperties.d.ts.map +1 -0
  140. package/dist/esm/models/components/benefitmetercreditcreateproperties.js +42 -0
  141. package/dist/esm/models/components/benefitmetercreditcreateproperties.js.map +1 -0
  142. package/dist/esm/models/components/benefitmetercreditproperties.d.ts +34 -0
  143. package/dist/esm/models/components/benefitmetercreditproperties.d.ts.map +1 -0
  144. package/dist/esm/models/components/benefitmetercreditproperties.js +42 -0
  145. package/dist/esm/models/components/benefitmetercreditproperties.js.map +1 -0
  146. package/dist/esm/models/components/benefitmetercreditupdate.d.ts +37 -0
  147. package/dist/esm/models/components/benefitmetercreditupdate.d.ts.map +1 -0
  148. package/dist/esm/models/components/benefitmetercreditupdate.js +38 -0
  149. package/dist/esm/models/components/benefitmetercreditupdate.js.map +1 -0
  150. package/dist/esm/models/components/benefitsortproperty.d.ts +34 -0
  151. package/dist/esm/models/components/benefitsortproperty.d.ts.map +1 -0
  152. package/dist/esm/models/components/benefitsortproperty.js +26 -0
  153. package/dist/esm/models/components/benefitsortproperty.js.map +1 -0
  154. package/dist/esm/models/components/benefittype.d.ts +3 -0
  155. package/dist/esm/models/components/benefittype.d.ts.map +1 -1
  156. package/dist/esm/models/components/benefittype.js +1 -0
  157. package/dist/esm/models/components/benefittype.js.map +1 -1
  158. package/dist/esm/models/components/checkout.d.ts +12 -9
  159. package/dist/esm/models/components/checkout.d.ts.map +1 -1
  160. package/dist/esm/models/components/checkout.js +8 -8
  161. package/dist/esm/models/components/checkout.js.map +1 -1
  162. package/dist/esm/models/components/checkoutpublic.d.ts +12 -9
  163. package/dist/esm/models/components/checkoutpublic.d.ts.map +1 -1
  164. package/dist/esm/models/components/checkoutpublic.js +8 -8
  165. package/dist/esm/models/components/checkoutpublic.js.map +1 -1
  166. package/dist/esm/models/components/checkoutpublicconfirmed.d.ts +12 -9
  167. package/dist/esm/models/components/checkoutpublicconfirmed.d.ts.map +1 -1
  168. package/dist/esm/models/components/checkoutpublicconfirmed.js +8 -8
  169. package/dist/esm/models/components/checkoutpublicconfirmed.js.map +1 -1
  170. package/dist/esm/models/components/productcreate.d.ts +5 -4
  171. package/dist/esm/models/components/productcreate.d.ts.map +1 -1
  172. package/dist/esm/models/components/productcreate.js +5 -0
  173. package/dist/esm/models/components/productcreate.js.map +1 -1
  174. package/dist/esm/models/components/productpricemeteredunit.d.ts +0 -5
  175. package/dist/esm/models/components/productpricemeteredunit.d.ts.map +1 -1
  176. package/dist/esm/models/components/productpricemeteredunit.js +0 -4
  177. package/dist/esm/models/components/productpricemeteredunit.js.map +1 -1
  178. package/dist/esm/models/components/productpricemeteredunitcreate.d.ts +52 -0
  179. package/dist/esm/models/components/productpricemeteredunitcreate.d.ts.map +1 -0
  180. package/dist/esm/models/components/productpricemeteredunitcreate.js +56 -0
  181. package/dist/esm/models/components/productpricemeteredunitcreate.js.map +1 -0
  182. package/dist/esm/models/components/productupdate.d.ts +5 -4
  183. package/dist/esm/models/components/productupdate.d.ts.map +1 -1
  184. package/dist/esm/models/components/productupdate.js +5 -0
  185. package/dist/esm/models/components/productupdate.js.map +1 -1
  186. package/dist/esm/models/components/webhookbenefitgrantcycledpayload.d.ts +40 -0
  187. package/dist/esm/models/components/webhookbenefitgrantcycledpayload.d.ts.map +1 -0
  188. package/dist/esm/models/components/webhookbenefitgrantcycledpayload.js +34 -0
  189. package/dist/esm/models/components/webhookbenefitgrantcycledpayload.js.map +1 -0
  190. package/dist/esm/models/components/webhookbenefitgrantrevokedpayload.d.ts +1 -1
  191. package/dist/esm/models/components/webhookbenefitgrantupdatedpayload.d.ts +1 -1
  192. package/dist/esm/models/operations/benefitslist.d.ts +6 -0
  193. package/dist/esm/models/operations/benefitslist.d.ts.map +1 -1
  194. package/dist/esm/models/operations/benefitslist.js +3 -0
  195. package/dist/esm/models/operations/benefitslist.js.map +1 -1
  196. package/dist/esm/models/operations/benefitsupdate.d.ts +5 -4
  197. package/dist/esm/models/operations/benefitsupdate.d.ts.map +1 -1
  198. package/dist/esm/models/operations/benefitsupdate.js +5 -0
  199. package/dist/esm/models/operations/benefitsupdate.js.map +1 -1
  200. package/docs/sdks/benefits/README.md +9 -7
  201. package/jsr.json +1 -1
  202. package/package.json +1 -1
  203. package/src/funcs/benefitsList.ts +1 -0
  204. package/src/funcs/benefitsUpdate.ts +1 -9
  205. package/src/hooks/types.ts +1 -1
  206. package/src/lib/config.ts +3 -3
  207. package/src/mcp-server/mcp-server.ts +1 -1
  208. package/src/mcp-server/server.ts +1 -1
  209. package/src/models/components/benefit.ts +10 -0
  210. package/src/models/components/benefitcreate.ts +20 -2
  211. package/src/models/components/benefitlicensekeyactivationcreateproperties.ts +92 -0
  212. package/src/models/components/benefitlicensekeyscreateproperties.ts +13 -11
  213. package/src/models/components/benefitmetercredit.ts +150 -0
  214. package/src/models/components/benefitmetercreditcreate.ts +105 -0
  215. package/src/models/components/benefitmetercreditcreateproperties.ts +86 -0
  216. package/src/models/components/benefitmetercreditproperties.ts +84 -0
  217. package/src/models/components/benefitmetercreditupdate.ts +85 -0
  218. package/src/models/components/benefitsortproperty.ts +35 -0
  219. package/src/models/components/benefittype.ts +1 -0
  220. package/src/models/components/checkout.ts +20 -17
  221. package/src/models/components/checkoutpublic.ts +20 -17
  222. package/src/models/components/checkoutpublicconfirmed.ts +20 -17
  223. package/src/models/components/productcreate.ts +19 -3
  224. package/src/models/components/productpricemeteredunit.ts +0 -9
  225. package/src/models/components/productpricemeteredunitcreate.ts +116 -0
  226. package/src/models/components/productupdate.ts +16 -2
  227. package/src/models/components/webhookbenefitgrantcycledpayload.ts +88 -0
  228. package/src/models/components/webhookbenefitgrantrevokedpayload.ts +1 -1
  229. package/src/models/components/webhookbenefitgrantupdatedpayload.ts +1 -1
  230. package/src/models/operations/benefitslist.ts +12 -0
  231. package/src/models/operations/benefitsupdate.ts +18 -4
@@ -0,0 +1,92 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
+
11
+ export type BenefitLicenseKeyActivationCreateProperties = {
12
+ limit: number;
13
+ enableCustomerAdmin: boolean;
14
+ };
15
+
16
+ /** @internal */
17
+ export const BenefitLicenseKeyActivationCreateProperties$inboundSchema:
18
+ z.ZodType<
19
+ BenefitLicenseKeyActivationCreateProperties,
20
+ z.ZodTypeDef,
21
+ unknown
22
+ > = z.object({
23
+ limit: z.number().int(),
24
+ enable_customer_admin: z.boolean(),
25
+ }).transform((v) => {
26
+ return remap$(v, {
27
+ "enable_customer_admin": "enableCustomerAdmin",
28
+ });
29
+ });
30
+
31
+ /** @internal */
32
+ export type BenefitLicenseKeyActivationCreateProperties$Outbound = {
33
+ limit: number;
34
+ enable_customer_admin: boolean;
35
+ };
36
+
37
+ /** @internal */
38
+ export const BenefitLicenseKeyActivationCreateProperties$outboundSchema:
39
+ z.ZodType<
40
+ BenefitLicenseKeyActivationCreateProperties$Outbound,
41
+ z.ZodTypeDef,
42
+ BenefitLicenseKeyActivationCreateProperties
43
+ > = z.object({
44
+ limit: z.number().int(),
45
+ enableCustomerAdmin: z.boolean(),
46
+ }).transform((v) => {
47
+ return remap$(v, {
48
+ enableCustomerAdmin: "enable_customer_admin",
49
+ });
50
+ });
51
+
52
+ /**
53
+ * @internal
54
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
55
+ */
56
+ export namespace BenefitLicenseKeyActivationCreateProperties$ {
57
+ /** @deprecated use `BenefitLicenseKeyActivationCreateProperties$inboundSchema` instead. */
58
+ export const inboundSchema =
59
+ BenefitLicenseKeyActivationCreateProperties$inboundSchema;
60
+ /** @deprecated use `BenefitLicenseKeyActivationCreateProperties$outboundSchema` instead. */
61
+ export const outboundSchema =
62
+ BenefitLicenseKeyActivationCreateProperties$outboundSchema;
63
+ /** @deprecated use `BenefitLicenseKeyActivationCreateProperties$Outbound` instead. */
64
+ export type Outbound = BenefitLicenseKeyActivationCreateProperties$Outbound;
65
+ }
66
+
67
+ export function benefitLicenseKeyActivationCreatePropertiesToJSON(
68
+ benefitLicenseKeyActivationCreateProperties:
69
+ BenefitLicenseKeyActivationCreateProperties,
70
+ ): string {
71
+ return JSON.stringify(
72
+ BenefitLicenseKeyActivationCreateProperties$outboundSchema.parse(
73
+ benefitLicenseKeyActivationCreateProperties,
74
+ ),
75
+ );
76
+ }
77
+
78
+ export function benefitLicenseKeyActivationCreatePropertiesFromJSON(
79
+ jsonString: string,
80
+ ): SafeParseResult<
81
+ BenefitLicenseKeyActivationCreateProperties,
82
+ SDKValidationError
83
+ > {
84
+ return safeParse(
85
+ jsonString,
86
+ (x) =>
87
+ BenefitLicenseKeyActivationCreateProperties$inboundSchema.parse(
88
+ JSON.parse(x),
89
+ ),
90
+ `Failed to parse 'BenefitLicenseKeyActivationCreateProperties' from JSON`,
91
+ );
92
+ }
@@ -8,11 +8,11 @@ import { safeParse } from "../../lib/schemas.js";
8
8
  import { Result as SafeParseResult } from "../../types/fp.js";
9
9
  import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
10
  import {
11
- BenefitLicenseKeyActivationProperties,
12
- BenefitLicenseKeyActivationProperties$inboundSchema,
13
- BenefitLicenseKeyActivationProperties$Outbound,
14
- BenefitLicenseKeyActivationProperties$outboundSchema,
15
- } from "./benefitlicensekeyactivationproperties.js";
11
+ BenefitLicenseKeyActivationCreateProperties,
12
+ BenefitLicenseKeyActivationCreateProperties$inboundSchema,
13
+ BenefitLicenseKeyActivationCreateProperties$Outbound,
14
+ BenefitLicenseKeyActivationCreateProperties$outboundSchema,
15
+ } from "./benefitlicensekeyactivationcreateproperties.js";
16
16
  import {
17
17
  BenefitLicenseKeyExpirationProperties,
18
18
  BenefitLicenseKeyExpirationProperties$inboundSchema,
@@ -23,7 +23,7 @@ import {
23
23
  export type BenefitLicenseKeysCreateProperties = {
24
24
  prefix?: string | null | undefined;
25
25
  expires?: BenefitLicenseKeyExpirationProperties | null | undefined;
26
- activations?: BenefitLicenseKeyActivationProperties | null | undefined;
26
+ activations?: BenefitLicenseKeyActivationCreateProperties | null | undefined;
27
27
  limitUsage?: number | null | undefined;
28
28
  };
29
29
 
@@ -36,8 +36,9 @@ export const BenefitLicenseKeysCreateProperties$inboundSchema: z.ZodType<
36
36
  prefix: z.nullable(z.string()).optional(),
37
37
  expires: z.nullable(BenefitLicenseKeyExpirationProperties$inboundSchema)
38
38
  .optional(),
39
- activations: z.nullable(BenefitLicenseKeyActivationProperties$inboundSchema)
40
- .optional(),
39
+ activations: z.nullable(
40
+ BenefitLicenseKeyActivationCreateProperties$inboundSchema,
41
+ ).optional(),
41
42
  limit_usage: z.nullable(z.number().int()).optional(),
42
43
  }).transform((v) => {
43
44
  return remap$(v, {
@@ -50,7 +51,7 @@ export type BenefitLicenseKeysCreateProperties$Outbound = {
50
51
  prefix?: string | null | undefined;
51
52
  expires?: BenefitLicenseKeyExpirationProperties$Outbound | null | undefined;
52
53
  activations?:
53
- | BenefitLicenseKeyActivationProperties$Outbound
54
+ | BenefitLicenseKeyActivationCreateProperties$Outbound
54
55
  | null
55
56
  | undefined;
56
57
  limit_usage?: number | null | undefined;
@@ -65,8 +66,9 @@ export const BenefitLicenseKeysCreateProperties$outboundSchema: z.ZodType<
65
66
  prefix: z.nullable(z.string()).optional(),
66
67
  expires: z.nullable(BenefitLicenseKeyExpirationProperties$outboundSchema)
67
68
  .optional(),
68
- activations: z.nullable(BenefitLicenseKeyActivationProperties$outboundSchema)
69
- .optional(),
69
+ activations: z.nullable(
70
+ BenefitLicenseKeyActivationCreateProperties$outboundSchema,
71
+ ).optional(),
70
72
  limitUsage: z.nullable(z.number().int()).optional(),
71
73
  }).transform((v) => {
72
74
  return remap$(v, {
@@ -0,0 +1,150 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
+ import {
11
+ BenefitMeterCreditProperties,
12
+ BenefitMeterCreditProperties$inboundSchema,
13
+ BenefitMeterCreditProperties$Outbound,
14
+ BenefitMeterCreditProperties$outboundSchema,
15
+ } from "./benefitmetercreditproperties.js";
16
+
17
+ /**
18
+ * A benefit of type `meter_unit`.
19
+ *
20
+ * @remarks
21
+ *
22
+ * Use it to grant a number of units on a specific meter.
23
+ */
24
+ export type BenefitMeterCredit = {
25
+ /**
26
+ * Creation timestamp of the object.
27
+ */
28
+ createdAt: Date;
29
+ /**
30
+ * Last modification timestamp of the object.
31
+ */
32
+ modifiedAt: Date | null;
33
+ /**
34
+ * The ID of the benefit.
35
+ */
36
+ id: string;
37
+ type?: "meter_credit" | undefined;
38
+ /**
39
+ * The description of the benefit.
40
+ */
41
+ description: string;
42
+ /**
43
+ * Whether the benefit is selectable when creating a product.
44
+ */
45
+ selectable: boolean;
46
+ /**
47
+ * Whether the benefit is deletable.
48
+ */
49
+ deletable: boolean;
50
+ /**
51
+ * The ID of the organization owning the benefit.
52
+ */
53
+ organizationId: string;
54
+ /**
55
+ * Properties for a benefit of type `meter_unit`.
56
+ */
57
+ properties: BenefitMeterCreditProperties;
58
+ };
59
+
60
+ /** @internal */
61
+ export const BenefitMeterCredit$inboundSchema: z.ZodType<
62
+ BenefitMeterCredit,
63
+ z.ZodTypeDef,
64
+ unknown
65
+ > = z.object({
66
+ created_at: z.string().datetime({ offset: true }).transform(v => new Date(v)),
67
+ modified_at: z.nullable(
68
+ z.string().datetime({ offset: true }).transform(v => new Date(v)),
69
+ ),
70
+ id: z.string(),
71
+ type: z.literal("meter_credit").optional(),
72
+ description: z.string(),
73
+ selectable: z.boolean(),
74
+ deletable: z.boolean(),
75
+ organization_id: z.string(),
76
+ properties: BenefitMeterCreditProperties$inboundSchema,
77
+ }).transform((v) => {
78
+ return remap$(v, {
79
+ "created_at": "createdAt",
80
+ "modified_at": "modifiedAt",
81
+ "organization_id": "organizationId",
82
+ });
83
+ });
84
+
85
+ /** @internal */
86
+ export type BenefitMeterCredit$Outbound = {
87
+ created_at: string;
88
+ modified_at: string | null;
89
+ id: string;
90
+ type: "meter_credit";
91
+ description: string;
92
+ selectable: boolean;
93
+ deletable: boolean;
94
+ organization_id: string;
95
+ properties: BenefitMeterCreditProperties$Outbound;
96
+ };
97
+
98
+ /** @internal */
99
+ export const BenefitMeterCredit$outboundSchema: z.ZodType<
100
+ BenefitMeterCredit$Outbound,
101
+ z.ZodTypeDef,
102
+ BenefitMeterCredit
103
+ > = z.object({
104
+ createdAt: z.date().transform(v => v.toISOString()),
105
+ modifiedAt: z.nullable(z.date().transform(v => v.toISOString())),
106
+ id: z.string(),
107
+ type: z.literal("meter_credit").default("meter_credit" as const),
108
+ description: z.string(),
109
+ selectable: z.boolean(),
110
+ deletable: z.boolean(),
111
+ organizationId: z.string(),
112
+ properties: BenefitMeterCreditProperties$outboundSchema,
113
+ }).transform((v) => {
114
+ return remap$(v, {
115
+ createdAt: "created_at",
116
+ modifiedAt: "modified_at",
117
+ organizationId: "organization_id",
118
+ });
119
+ });
120
+
121
+ /**
122
+ * @internal
123
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
124
+ */
125
+ export namespace BenefitMeterCredit$ {
126
+ /** @deprecated use `BenefitMeterCredit$inboundSchema` instead. */
127
+ export const inboundSchema = BenefitMeterCredit$inboundSchema;
128
+ /** @deprecated use `BenefitMeterCredit$outboundSchema` instead. */
129
+ export const outboundSchema = BenefitMeterCredit$outboundSchema;
130
+ /** @deprecated use `BenefitMeterCredit$Outbound` instead. */
131
+ export type Outbound = BenefitMeterCredit$Outbound;
132
+ }
133
+
134
+ export function benefitMeterCreditToJSON(
135
+ benefitMeterCredit: BenefitMeterCredit,
136
+ ): string {
137
+ return JSON.stringify(
138
+ BenefitMeterCredit$outboundSchema.parse(benefitMeterCredit),
139
+ );
140
+ }
141
+
142
+ export function benefitMeterCreditFromJSON(
143
+ jsonString: string,
144
+ ): SafeParseResult<BenefitMeterCredit, SDKValidationError> {
145
+ return safeParse(
146
+ jsonString,
147
+ (x) => BenefitMeterCredit$inboundSchema.parse(JSON.parse(x)),
148
+ `Failed to parse 'BenefitMeterCredit' from JSON`,
149
+ );
150
+ }
@@ -0,0 +1,105 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
+ import {
11
+ BenefitMeterCreditCreateProperties,
12
+ BenefitMeterCreditCreateProperties$inboundSchema,
13
+ BenefitMeterCreditCreateProperties$Outbound,
14
+ BenefitMeterCreditCreateProperties$outboundSchema,
15
+ } from "./benefitmetercreditcreateproperties.js";
16
+
17
+ /**
18
+ * Schema to create a benefit of type `meter_unit`.
19
+ */
20
+ export type BenefitMeterCreditCreate = {
21
+ type?: "meter_credit" | undefined;
22
+ /**
23
+ * The description of the benefit. Will be displayed on products having this benefit.
24
+ */
25
+ description: string;
26
+ /**
27
+ * The ID of the organization owning the benefit. **Required unless you use an organization token.**
28
+ */
29
+ organizationId?: string | null | undefined;
30
+ /**
31
+ * Properties for creating a benefit of type `meter_unit`.
32
+ */
33
+ properties: BenefitMeterCreditCreateProperties;
34
+ };
35
+
36
+ /** @internal */
37
+ export const BenefitMeterCreditCreate$inboundSchema: z.ZodType<
38
+ BenefitMeterCreditCreate,
39
+ z.ZodTypeDef,
40
+ unknown
41
+ > = z.object({
42
+ type: z.literal("meter_credit").optional(),
43
+ description: z.string(),
44
+ organization_id: z.nullable(z.string()).optional(),
45
+ properties: BenefitMeterCreditCreateProperties$inboundSchema,
46
+ }).transform((v) => {
47
+ return remap$(v, {
48
+ "organization_id": "organizationId",
49
+ });
50
+ });
51
+
52
+ /** @internal */
53
+ export type BenefitMeterCreditCreate$Outbound = {
54
+ type: "meter_credit";
55
+ description: string;
56
+ organization_id?: string | null | undefined;
57
+ properties: BenefitMeterCreditCreateProperties$Outbound;
58
+ };
59
+
60
+ /** @internal */
61
+ export const BenefitMeterCreditCreate$outboundSchema: z.ZodType<
62
+ BenefitMeterCreditCreate$Outbound,
63
+ z.ZodTypeDef,
64
+ BenefitMeterCreditCreate
65
+ > = z.object({
66
+ type: z.literal("meter_credit").default("meter_credit" as const),
67
+ description: z.string(),
68
+ organizationId: z.nullable(z.string()).optional(),
69
+ properties: BenefitMeterCreditCreateProperties$outboundSchema,
70
+ }).transform((v) => {
71
+ return remap$(v, {
72
+ organizationId: "organization_id",
73
+ });
74
+ });
75
+
76
+ /**
77
+ * @internal
78
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
79
+ */
80
+ export namespace BenefitMeterCreditCreate$ {
81
+ /** @deprecated use `BenefitMeterCreditCreate$inboundSchema` instead. */
82
+ export const inboundSchema = BenefitMeterCreditCreate$inboundSchema;
83
+ /** @deprecated use `BenefitMeterCreditCreate$outboundSchema` instead. */
84
+ export const outboundSchema = BenefitMeterCreditCreate$outboundSchema;
85
+ /** @deprecated use `BenefitMeterCreditCreate$Outbound` instead. */
86
+ export type Outbound = BenefitMeterCreditCreate$Outbound;
87
+ }
88
+
89
+ export function benefitMeterCreditCreateToJSON(
90
+ benefitMeterCreditCreate: BenefitMeterCreditCreate,
91
+ ): string {
92
+ return JSON.stringify(
93
+ BenefitMeterCreditCreate$outboundSchema.parse(benefitMeterCreditCreate),
94
+ );
95
+ }
96
+
97
+ export function benefitMeterCreditCreateFromJSON(
98
+ jsonString: string,
99
+ ): SafeParseResult<BenefitMeterCreditCreate, SDKValidationError> {
100
+ return safeParse(
101
+ jsonString,
102
+ (x) => BenefitMeterCreditCreate$inboundSchema.parse(JSON.parse(x)),
103
+ `Failed to parse 'BenefitMeterCreditCreate' from JSON`,
104
+ );
105
+ }
@@ -0,0 +1,86 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
+
11
+ /**
12
+ * Properties for creating a benefit of type `meter_unit`.
13
+ */
14
+ export type BenefitMeterCreditCreateProperties = {
15
+ unit: number;
16
+ meterId: string;
17
+ };
18
+
19
+ /** @internal */
20
+ export const BenefitMeterCreditCreateProperties$inboundSchema: z.ZodType<
21
+ BenefitMeterCreditCreateProperties,
22
+ z.ZodTypeDef,
23
+ unknown
24
+ > = z.object({
25
+ unit: z.number().int(),
26
+ meter_id: z.string(),
27
+ }).transform((v) => {
28
+ return remap$(v, {
29
+ "meter_id": "meterId",
30
+ });
31
+ });
32
+
33
+ /** @internal */
34
+ export type BenefitMeterCreditCreateProperties$Outbound = {
35
+ unit: number;
36
+ meter_id: string;
37
+ };
38
+
39
+ /** @internal */
40
+ export const BenefitMeterCreditCreateProperties$outboundSchema: z.ZodType<
41
+ BenefitMeterCreditCreateProperties$Outbound,
42
+ z.ZodTypeDef,
43
+ BenefitMeterCreditCreateProperties
44
+ > = z.object({
45
+ unit: z.number().int(),
46
+ meterId: z.string(),
47
+ }).transform((v) => {
48
+ return remap$(v, {
49
+ meterId: "meter_id",
50
+ });
51
+ });
52
+
53
+ /**
54
+ * @internal
55
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
56
+ */
57
+ export namespace BenefitMeterCreditCreateProperties$ {
58
+ /** @deprecated use `BenefitMeterCreditCreateProperties$inboundSchema` instead. */
59
+ export const inboundSchema = BenefitMeterCreditCreateProperties$inboundSchema;
60
+ /** @deprecated use `BenefitMeterCreditCreateProperties$outboundSchema` instead. */
61
+ export const outboundSchema =
62
+ BenefitMeterCreditCreateProperties$outboundSchema;
63
+ /** @deprecated use `BenefitMeterCreditCreateProperties$Outbound` instead. */
64
+ export type Outbound = BenefitMeterCreditCreateProperties$Outbound;
65
+ }
66
+
67
+ export function benefitMeterCreditCreatePropertiesToJSON(
68
+ benefitMeterCreditCreateProperties: BenefitMeterCreditCreateProperties,
69
+ ): string {
70
+ return JSON.stringify(
71
+ BenefitMeterCreditCreateProperties$outboundSchema.parse(
72
+ benefitMeterCreditCreateProperties,
73
+ ),
74
+ );
75
+ }
76
+
77
+ export function benefitMeterCreditCreatePropertiesFromJSON(
78
+ jsonString: string,
79
+ ): SafeParseResult<BenefitMeterCreditCreateProperties, SDKValidationError> {
80
+ return safeParse(
81
+ jsonString,
82
+ (x) =>
83
+ BenefitMeterCreditCreateProperties$inboundSchema.parse(JSON.parse(x)),
84
+ `Failed to parse 'BenefitMeterCreditCreateProperties' from JSON`,
85
+ );
86
+ }
@@ -0,0 +1,84 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
+
11
+ /**
12
+ * Properties for a benefit of type `meter_unit`.
13
+ */
14
+ export type BenefitMeterCreditProperties = {
15
+ unit: number;
16
+ meterId: string;
17
+ };
18
+
19
+ /** @internal */
20
+ export const BenefitMeterCreditProperties$inboundSchema: z.ZodType<
21
+ BenefitMeterCreditProperties,
22
+ z.ZodTypeDef,
23
+ unknown
24
+ > = z.object({
25
+ unit: z.number().int(),
26
+ meter_id: z.string(),
27
+ }).transform((v) => {
28
+ return remap$(v, {
29
+ "meter_id": "meterId",
30
+ });
31
+ });
32
+
33
+ /** @internal */
34
+ export type BenefitMeterCreditProperties$Outbound = {
35
+ unit: number;
36
+ meter_id: string;
37
+ };
38
+
39
+ /** @internal */
40
+ export const BenefitMeterCreditProperties$outboundSchema: z.ZodType<
41
+ BenefitMeterCreditProperties$Outbound,
42
+ z.ZodTypeDef,
43
+ BenefitMeterCreditProperties
44
+ > = z.object({
45
+ unit: z.number().int(),
46
+ meterId: z.string(),
47
+ }).transform((v) => {
48
+ return remap$(v, {
49
+ meterId: "meter_id",
50
+ });
51
+ });
52
+
53
+ /**
54
+ * @internal
55
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
56
+ */
57
+ export namespace BenefitMeterCreditProperties$ {
58
+ /** @deprecated use `BenefitMeterCreditProperties$inboundSchema` instead. */
59
+ export const inboundSchema = BenefitMeterCreditProperties$inboundSchema;
60
+ /** @deprecated use `BenefitMeterCreditProperties$outboundSchema` instead. */
61
+ export const outboundSchema = BenefitMeterCreditProperties$outboundSchema;
62
+ /** @deprecated use `BenefitMeterCreditProperties$Outbound` instead. */
63
+ export type Outbound = BenefitMeterCreditProperties$Outbound;
64
+ }
65
+
66
+ export function benefitMeterCreditPropertiesToJSON(
67
+ benefitMeterCreditProperties: BenefitMeterCreditProperties,
68
+ ): string {
69
+ return JSON.stringify(
70
+ BenefitMeterCreditProperties$outboundSchema.parse(
71
+ benefitMeterCreditProperties,
72
+ ),
73
+ );
74
+ }
75
+
76
+ export function benefitMeterCreditPropertiesFromJSON(
77
+ jsonString: string,
78
+ ): SafeParseResult<BenefitMeterCreditProperties, SDKValidationError> {
79
+ return safeParse(
80
+ jsonString,
81
+ (x) => BenefitMeterCreditProperties$inboundSchema.parse(JSON.parse(x)),
82
+ `Failed to parse 'BenefitMeterCreditProperties' from JSON`,
83
+ );
84
+ }
@@ -0,0 +1,85 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { safeParse } from "../../lib/schemas.js";
7
+ import { Result as SafeParseResult } from "../../types/fp.js";
8
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
9
+ import {
10
+ BenefitMeterCreditCreateProperties,
11
+ BenefitMeterCreditCreateProperties$inboundSchema,
12
+ BenefitMeterCreditCreateProperties$Outbound,
13
+ BenefitMeterCreditCreateProperties$outboundSchema,
14
+ } from "./benefitmetercreditcreateproperties.js";
15
+
16
+ export type BenefitMeterCreditUpdate = {
17
+ /**
18
+ * The description of the benefit. Will be displayed on products having this benefit.
19
+ */
20
+ description?: string | null | undefined;
21
+ type?: "meter_credit" | undefined;
22
+ properties?: BenefitMeterCreditCreateProperties | null | undefined;
23
+ };
24
+
25
+ /** @internal */
26
+ export const BenefitMeterCreditUpdate$inboundSchema: z.ZodType<
27
+ BenefitMeterCreditUpdate,
28
+ z.ZodTypeDef,
29
+ unknown
30
+ > = z.object({
31
+ description: z.nullable(z.string()).optional(),
32
+ type: z.literal("meter_credit").optional(),
33
+ properties: z.nullable(BenefitMeterCreditCreateProperties$inboundSchema)
34
+ .optional(),
35
+ });
36
+
37
+ /** @internal */
38
+ export type BenefitMeterCreditUpdate$Outbound = {
39
+ description?: string | null | undefined;
40
+ type: "meter_credit";
41
+ properties?: BenefitMeterCreditCreateProperties$Outbound | null | undefined;
42
+ };
43
+
44
+ /** @internal */
45
+ export const BenefitMeterCreditUpdate$outboundSchema: z.ZodType<
46
+ BenefitMeterCreditUpdate$Outbound,
47
+ z.ZodTypeDef,
48
+ BenefitMeterCreditUpdate
49
+ > = z.object({
50
+ description: z.nullable(z.string()).optional(),
51
+ type: z.literal("meter_credit").default("meter_credit" as const),
52
+ properties: z.nullable(BenefitMeterCreditCreateProperties$outboundSchema)
53
+ .optional(),
54
+ });
55
+
56
+ /**
57
+ * @internal
58
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
59
+ */
60
+ export namespace BenefitMeterCreditUpdate$ {
61
+ /** @deprecated use `BenefitMeterCreditUpdate$inboundSchema` instead. */
62
+ export const inboundSchema = BenefitMeterCreditUpdate$inboundSchema;
63
+ /** @deprecated use `BenefitMeterCreditUpdate$outboundSchema` instead. */
64
+ export const outboundSchema = BenefitMeterCreditUpdate$outboundSchema;
65
+ /** @deprecated use `BenefitMeterCreditUpdate$Outbound` instead. */
66
+ export type Outbound = BenefitMeterCreditUpdate$Outbound;
67
+ }
68
+
69
+ export function benefitMeterCreditUpdateToJSON(
70
+ benefitMeterCreditUpdate: BenefitMeterCreditUpdate,
71
+ ): string {
72
+ return JSON.stringify(
73
+ BenefitMeterCreditUpdate$outboundSchema.parse(benefitMeterCreditUpdate),
74
+ );
75
+ }
76
+
77
+ export function benefitMeterCreditUpdateFromJSON(
78
+ jsonString: string,
79
+ ): SafeParseResult<BenefitMeterCreditUpdate, SDKValidationError> {
80
+ return safeParse(
81
+ jsonString,
82
+ (x) => BenefitMeterCreditUpdate$inboundSchema.parse(JSON.parse(x)),
83
+ `Failed to parse 'BenefitMeterCreditUpdate' from JSON`,
84
+ );
85
+ }
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { ClosedEnum } from "../../types/enums.js";
7
+
8
+ export const BenefitSortProperty = {
9
+ CreatedAt: "created_at",
10
+ MinusCreatedAt: "-created_at",
11
+ Description: "description",
12
+ MinusDescription: "-description",
13
+ } as const;
14
+ export type BenefitSortProperty = ClosedEnum<typeof BenefitSortProperty>;
15
+
16
+ /** @internal */
17
+ export const BenefitSortProperty$inboundSchema: z.ZodNativeEnum<
18
+ typeof BenefitSortProperty
19
+ > = z.nativeEnum(BenefitSortProperty);
20
+
21
+ /** @internal */
22
+ export const BenefitSortProperty$outboundSchema: z.ZodNativeEnum<
23
+ typeof BenefitSortProperty
24
+ > = BenefitSortProperty$inboundSchema;
25
+
26
+ /**
27
+ * @internal
28
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
29
+ */
30
+ export namespace BenefitSortProperty$ {
31
+ /** @deprecated use `BenefitSortProperty$inboundSchema` instead. */
32
+ export const inboundSchema = BenefitSortProperty$inboundSchema;
33
+ /** @deprecated use `BenefitSortProperty$outboundSchema` instead. */
34
+ export const outboundSchema = BenefitSortProperty$outboundSchema;
35
+ }