rehive 4.2.0 → 4.2.2

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 (272) hide show
  1. package/README.md +17 -0
  2. package/dist/admin.d.mts +614 -116
  3. package/dist/admin.d.ts +614 -116
  4. package/dist/admin.js +1 -1
  5. package/dist/admin.mjs +1 -1
  6. package/dist/auth.d.mts +2 -2
  7. package/dist/auth.d.ts +2 -2
  8. package/dist/auth.js +1 -1
  9. package/dist/auth.mjs +1 -1
  10. package/dist/chunk-647XG2KN.js +1 -0
  11. package/dist/{chunk-PCR54D6A.mjs → chunk-A53KSFBA.mjs} +1 -1
  12. package/dist/chunk-BAUHEOL5.mjs +1 -0
  13. package/dist/chunk-CRNPJD3E.js +6 -0
  14. package/dist/{chunk-ERD2XKSM.js → chunk-HXAEBUQM.js} +1 -1
  15. package/dist/chunk-IJBXROTB.mjs +6 -0
  16. package/dist/chunk-TAABJLJG.mjs +6 -0
  17. package/dist/chunk-Y33FT632.js +6 -0
  18. package/dist/{create-api-client-ADSlg8HX.d.ts → create-api-client-DzUaFuXN.d.ts} +1 -1
  19. package/dist/{create-api-client-B4Q01gHp.d.mts → create-api-client-JpNvOfh9.d.mts} +1 -1
  20. package/dist/{create-auth-CT_IFt3T.d.mts → create-auth-D-3te_Jw.d.mts} +111 -55
  21. package/dist/{create-auth-CT_IFt3T.d.ts → create-auth-D-3te_Jw.d.ts} +111 -55
  22. package/dist/extensions/alchemy.d.mts +175 -41
  23. package/dist/extensions/alchemy.d.ts +175 -41
  24. package/dist/extensions/alchemy.js +5 -6
  25. package/dist/extensions/alchemy.mjs +5 -6
  26. package/dist/extensions/app.d.mts +11 -10
  27. package/dist/extensions/app.d.ts +11 -10
  28. package/dist/extensions/app.js +5 -6
  29. package/dist/extensions/app.mjs +5 -6
  30. package/dist/extensions/billing.d.mts +11 -10
  31. package/dist/extensions/billing.d.ts +11 -10
  32. package/dist/extensions/billing.js +5 -6
  33. package/dist/extensions/billing.mjs +5 -6
  34. package/dist/extensions/bridge.d.mts +537 -38
  35. package/dist/extensions/bridge.d.ts +537 -38
  36. package/dist/extensions/bridge.js +5 -6
  37. package/dist/extensions/bridge.mjs +5 -6
  38. package/dist/extensions/builder.d.mts +8 -7
  39. package/dist/extensions/builder.d.ts +8 -7
  40. package/dist/extensions/builder.js +5 -6
  41. package/dist/extensions/builder.mjs +5 -6
  42. package/dist/extensions/business.d.mts +99 -63
  43. package/dist/extensions/business.d.ts +99 -63
  44. package/dist/extensions/business.js +5 -6
  45. package/dist/extensions/business.mjs +5 -6
  46. package/dist/extensions/conversion.d.mts +10 -9
  47. package/dist/extensions/conversion.d.ts +10 -9
  48. package/dist/extensions/conversion.js +5 -6
  49. package/dist/extensions/conversion.mjs +5 -6
  50. package/dist/extensions/mass-send.d.mts +8 -7
  51. package/dist/extensions/mass-send.d.ts +8 -7
  52. package/dist/extensions/mass-send.js +5 -6
  53. package/dist/extensions/mass-send.mjs +5 -6
  54. package/dist/extensions/notifications.d.mts +16 -15
  55. package/dist/extensions/notifications.d.ts +16 -15
  56. package/dist/extensions/notifications.js +5 -6
  57. package/dist/extensions/notifications.mjs +5 -6
  58. package/dist/extensions/payment-requests.d.mts +15 -10
  59. package/dist/extensions/payment-requests.d.ts +15 -10
  60. package/dist/extensions/payment-requests.js +5 -6
  61. package/dist/extensions/payment-requests.mjs +5 -6
  62. package/dist/extensions/products.d.mts +43 -42
  63. package/dist/extensions/products.d.ts +43 -42
  64. package/dist/extensions/products.js +5 -6
  65. package/dist/extensions/products.mjs +5 -6
  66. package/dist/extensions/rain.d.mts +22 -21
  67. package/dist/extensions/rain.d.ts +22 -21
  68. package/dist/extensions/rain.js +5 -6
  69. package/dist/extensions/rain.mjs +5 -6
  70. package/dist/extensions/rewards.d.mts +8 -7
  71. package/dist/extensions/rewards.d.ts +8 -7
  72. package/dist/extensions/rewards.js +5 -6
  73. package/dist/extensions/rewards.mjs +5 -6
  74. package/dist/extensions/stellar-testnet.d.mts +16 -15
  75. package/dist/extensions/stellar-testnet.d.ts +16 -15
  76. package/dist/extensions/stellar-testnet.js +5 -6
  77. package/dist/extensions/stellar-testnet.mjs +5 -6
  78. package/dist/extensions/stellar.d.mts +16 -15
  79. package/dist/extensions/stellar.d.ts +16 -15
  80. package/dist/extensions/stellar.js +5 -6
  81. package/dist/extensions/stellar.mjs +5 -6
  82. package/dist/index.d.mts +2 -2
  83. package/dist/index.d.ts +2 -2
  84. package/dist/index.js +1 -1
  85. package/dist/index.mjs +1 -1
  86. package/dist/react.d.mts +2 -2
  87. package/dist/react.d.ts +2 -2
  88. package/dist/react.js +1 -1
  89. package/dist/react.mjs +1 -1
  90. package/dist/user.d.mts +21 -10
  91. package/dist/user.d.ts +21 -10
  92. package/dist/user.js +1 -1
  93. package/dist/user.mjs +1 -1
  94. package/package.json +3 -3
  95. package/src/auth/create-auth.ts +16 -9
  96. package/src/extensions/alchemy/openapi-ts/client/client.gen.ts +17 -7
  97. package/src/extensions/alchemy/openapi-ts/client/types.gen.ts +2 -1
  98. package/src/extensions/alchemy/openapi-ts/client/utils.gen.ts +1 -1
  99. package/src/extensions/alchemy/openapi-ts/core/bodySerializer.gen.ts +6 -8
  100. package/src/extensions/alchemy/openapi-ts/core/params.gen.ts +1 -1
  101. package/src/extensions/alchemy/openapi-ts/core/serverSentEvents.gen.ts +4 -5
  102. package/src/extensions/alchemy/openapi-ts/core/types.gen.ts +1 -1
  103. package/src/extensions/alchemy/openapi-ts/core/utils.gen.ts +1 -1
  104. package/src/extensions/alchemy/openapi-ts/index.ts +2 -2
  105. package/src/extensions/alchemy/openapi-ts/sdk.gen.ts +44 -2
  106. package/src/extensions/alchemy/openapi-ts/types.gen.ts +177 -34
  107. package/src/extensions/app/openapi-ts/client/client.gen.ts +17 -7
  108. package/src/extensions/app/openapi-ts/client/types.gen.ts +2 -1
  109. package/src/extensions/app/openapi-ts/client/utils.gen.ts +1 -1
  110. package/src/extensions/app/openapi-ts/core/bodySerializer.gen.ts +6 -8
  111. package/src/extensions/app/openapi-ts/core/params.gen.ts +1 -1
  112. package/src/extensions/app/openapi-ts/core/serverSentEvents.gen.ts +4 -5
  113. package/src/extensions/app/openapi-ts/core/types.gen.ts +1 -1
  114. package/src/extensions/app/openapi-ts/core/utils.gen.ts +1 -1
  115. package/src/extensions/app/openapi-ts/sdk.gen.ts +1 -1
  116. package/src/extensions/app/openapi-ts/types.gen.ts +3 -3
  117. package/src/extensions/billing/openapi-ts/client/client.gen.ts +17 -7
  118. package/src/extensions/billing/openapi-ts/client/types.gen.ts +2 -1
  119. package/src/extensions/billing/openapi-ts/client/utils.gen.ts +1 -1
  120. package/src/extensions/billing/openapi-ts/core/bodySerializer.gen.ts +6 -8
  121. package/src/extensions/billing/openapi-ts/core/params.gen.ts +1 -1
  122. package/src/extensions/billing/openapi-ts/core/serverSentEvents.gen.ts +4 -5
  123. package/src/extensions/billing/openapi-ts/core/types.gen.ts +1 -1
  124. package/src/extensions/billing/openapi-ts/core/utils.gen.ts +1 -1
  125. package/src/extensions/billing/openapi-ts/sdk.gen.ts +1 -1
  126. package/src/extensions/billing/openapi-ts/types.gen.ts +3 -3
  127. package/src/extensions/bridge/openapi-ts/client/client.gen.ts +17 -7
  128. package/src/extensions/bridge/openapi-ts/client/types.gen.ts +2 -1
  129. package/src/extensions/bridge/openapi-ts/client/utils.gen.ts +1 -1
  130. package/src/extensions/bridge/openapi-ts/core/bodySerializer.gen.ts +6 -8
  131. package/src/extensions/bridge/openapi-ts/core/params.gen.ts +1 -1
  132. package/src/extensions/bridge/openapi-ts/core/serverSentEvents.gen.ts +4 -5
  133. package/src/extensions/bridge/openapi-ts/core/types.gen.ts +1 -1
  134. package/src/extensions/bridge/openapi-ts/core/utils.gen.ts +1 -1
  135. package/src/extensions/bridge/openapi-ts/index.ts +2 -2
  136. package/src/extensions/bridge/openapi-ts/sdk.gen.ts +90 -2
  137. package/src/extensions/bridge/openapi-ts/types.gen.ts +572 -29
  138. package/src/extensions/builder/openapi-ts/client/client.gen.ts +17 -7
  139. package/src/extensions/builder/openapi-ts/client/types.gen.ts +2 -1
  140. package/src/extensions/builder/openapi-ts/client/utils.gen.ts +1 -1
  141. package/src/extensions/builder/openapi-ts/core/bodySerializer.gen.ts +6 -8
  142. package/src/extensions/builder/openapi-ts/core/params.gen.ts +1 -1
  143. package/src/extensions/builder/openapi-ts/core/serverSentEvents.gen.ts +4 -5
  144. package/src/extensions/builder/openapi-ts/core/types.gen.ts +1 -1
  145. package/src/extensions/builder/openapi-ts/core/utils.gen.ts +1 -1
  146. package/src/extensions/builder/openapi-ts/sdk.gen.ts +1 -1
  147. package/src/extensions/business/openapi-ts/client/client.gen.ts +17 -7
  148. package/src/extensions/business/openapi-ts/client/types.gen.ts +2 -1
  149. package/src/extensions/business/openapi-ts/client/utils.gen.ts +1 -1
  150. package/src/extensions/business/openapi-ts/core/bodySerializer.gen.ts +6 -8
  151. package/src/extensions/business/openapi-ts/core/params.gen.ts +1 -1
  152. package/src/extensions/business/openapi-ts/core/serverSentEvents.gen.ts +4 -5
  153. package/src/extensions/business/openapi-ts/core/types.gen.ts +1 -1
  154. package/src/extensions/business/openapi-ts/core/utils.gen.ts +1 -1
  155. package/src/extensions/business/openapi-ts/sdk.gen.ts +1 -1
  156. package/src/extensions/business/openapi-ts/types.gen.ts +91 -56
  157. package/src/extensions/conversion/openapi-ts/client/client.gen.ts +17 -7
  158. package/src/extensions/conversion/openapi-ts/client/types.gen.ts +2 -1
  159. package/src/extensions/conversion/openapi-ts/client/utils.gen.ts +1 -1
  160. package/src/extensions/conversion/openapi-ts/core/bodySerializer.gen.ts +6 -8
  161. package/src/extensions/conversion/openapi-ts/core/params.gen.ts +1 -1
  162. package/src/extensions/conversion/openapi-ts/core/serverSentEvents.gen.ts +4 -5
  163. package/src/extensions/conversion/openapi-ts/core/types.gen.ts +1 -1
  164. package/src/extensions/conversion/openapi-ts/core/utils.gen.ts +1 -1
  165. package/src/extensions/conversion/openapi-ts/sdk.gen.ts +1 -1
  166. package/src/extensions/conversion/openapi-ts/types.gen.ts +2 -2
  167. package/src/extensions/mass-send/openapi-ts/client/client.gen.ts +17 -7
  168. package/src/extensions/mass-send/openapi-ts/client/types.gen.ts +2 -1
  169. package/src/extensions/mass-send/openapi-ts/client/utils.gen.ts +1 -1
  170. package/src/extensions/mass-send/openapi-ts/core/bodySerializer.gen.ts +6 -8
  171. package/src/extensions/mass-send/openapi-ts/core/params.gen.ts +1 -1
  172. package/src/extensions/mass-send/openapi-ts/core/serverSentEvents.gen.ts +4 -5
  173. package/src/extensions/mass-send/openapi-ts/core/types.gen.ts +1 -1
  174. package/src/extensions/mass-send/openapi-ts/core/utils.gen.ts +1 -1
  175. package/src/extensions/mass-send/openapi-ts/sdk.gen.ts +1 -1
  176. package/src/extensions/notifications/openapi-ts/client/client.gen.ts +17 -7
  177. package/src/extensions/notifications/openapi-ts/client/types.gen.ts +2 -1
  178. package/src/extensions/notifications/openapi-ts/client/utils.gen.ts +1 -1
  179. package/src/extensions/notifications/openapi-ts/core/bodySerializer.gen.ts +6 -8
  180. package/src/extensions/notifications/openapi-ts/core/params.gen.ts +1 -1
  181. package/src/extensions/notifications/openapi-ts/core/serverSentEvents.gen.ts +4 -5
  182. package/src/extensions/notifications/openapi-ts/core/types.gen.ts +1 -1
  183. package/src/extensions/notifications/openapi-ts/core/utils.gen.ts +1 -1
  184. package/src/extensions/notifications/openapi-ts/sdk.gen.ts +1 -1
  185. package/src/extensions/notifications/openapi-ts/types.gen.ts +8 -8
  186. package/src/extensions/payment-requests/openapi-ts/client/client.gen.ts +17 -7
  187. package/src/extensions/payment-requests/openapi-ts/client/types.gen.ts +2 -1
  188. package/src/extensions/payment-requests/openapi-ts/client/utils.gen.ts +1 -1
  189. package/src/extensions/payment-requests/openapi-ts/core/bodySerializer.gen.ts +6 -8
  190. package/src/extensions/payment-requests/openapi-ts/core/params.gen.ts +1 -1
  191. package/src/extensions/payment-requests/openapi-ts/core/serverSentEvents.gen.ts +4 -5
  192. package/src/extensions/payment-requests/openapi-ts/core/types.gen.ts +1 -1
  193. package/src/extensions/payment-requests/openapi-ts/core/utils.gen.ts +1 -1
  194. package/src/extensions/payment-requests/openapi-ts/sdk.gen.ts +1 -1
  195. package/src/extensions/payment-requests/openapi-ts/types.gen.ts +7 -3
  196. package/src/extensions/products/openapi-ts/client/client.gen.ts +17 -7
  197. package/src/extensions/products/openapi-ts/client/types.gen.ts +2 -1
  198. package/src/extensions/products/openapi-ts/client/utils.gen.ts +1 -1
  199. package/src/extensions/products/openapi-ts/core/bodySerializer.gen.ts +6 -8
  200. package/src/extensions/products/openapi-ts/core/params.gen.ts +1 -1
  201. package/src/extensions/products/openapi-ts/core/serverSentEvents.gen.ts +4 -5
  202. package/src/extensions/products/openapi-ts/core/types.gen.ts +1 -1
  203. package/src/extensions/products/openapi-ts/core/utils.gen.ts +1 -1
  204. package/src/extensions/products/openapi-ts/sdk.gen.ts +1 -1
  205. package/src/extensions/products/openapi-ts/types.gen.ts +35 -35
  206. package/src/extensions/rain/openapi-ts/client/client.gen.ts +17 -7
  207. package/src/extensions/rain/openapi-ts/client/types.gen.ts +2 -1
  208. package/src/extensions/rain/openapi-ts/client/utils.gen.ts +1 -1
  209. package/src/extensions/rain/openapi-ts/core/bodySerializer.gen.ts +6 -8
  210. package/src/extensions/rain/openapi-ts/core/params.gen.ts +1 -1
  211. package/src/extensions/rain/openapi-ts/core/serverSentEvents.gen.ts +4 -5
  212. package/src/extensions/rain/openapi-ts/core/types.gen.ts +1 -1
  213. package/src/extensions/rain/openapi-ts/core/utils.gen.ts +1 -1
  214. package/src/extensions/rain/openapi-ts/sdk.gen.ts +1 -1
  215. package/src/extensions/rain/openapi-ts/types.gen.ts +14 -14
  216. package/src/extensions/rewards/openapi-ts/client/client.gen.ts +17 -7
  217. package/src/extensions/rewards/openapi-ts/client/types.gen.ts +2 -1
  218. package/src/extensions/rewards/openapi-ts/client/utils.gen.ts +1 -1
  219. package/src/extensions/rewards/openapi-ts/core/bodySerializer.gen.ts +6 -8
  220. package/src/extensions/rewards/openapi-ts/core/params.gen.ts +1 -1
  221. package/src/extensions/rewards/openapi-ts/core/serverSentEvents.gen.ts +4 -5
  222. package/src/extensions/rewards/openapi-ts/core/types.gen.ts +1 -1
  223. package/src/extensions/rewards/openapi-ts/core/utils.gen.ts +1 -1
  224. package/src/extensions/rewards/openapi-ts/sdk.gen.ts +1 -1
  225. package/src/extensions/stellar/openapi-ts/client/client.gen.ts +17 -7
  226. package/src/extensions/stellar/openapi-ts/client/types.gen.ts +2 -1
  227. package/src/extensions/stellar/openapi-ts/client/utils.gen.ts +1 -1
  228. package/src/extensions/stellar/openapi-ts/core/bodySerializer.gen.ts +6 -8
  229. package/src/extensions/stellar/openapi-ts/core/params.gen.ts +1 -1
  230. package/src/extensions/stellar/openapi-ts/core/serverSentEvents.gen.ts +4 -5
  231. package/src/extensions/stellar/openapi-ts/core/types.gen.ts +1 -1
  232. package/src/extensions/stellar/openapi-ts/core/utils.gen.ts +1 -1
  233. package/src/extensions/stellar/openapi-ts/sdk.gen.ts +1 -1
  234. package/src/extensions/stellar/openapi-ts/types.gen.ts +8 -8
  235. package/src/extensions/stellar-testnet/openapi-ts/client/client.gen.ts +17 -7
  236. package/src/extensions/stellar-testnet/openapi-ts/client/types.gen.ts +2 -1
  237. package/src/extensions/stellar-testnet/openapi-ts/client/utils.gen.ts +1 -1
  238. package/src/extensions/stellar-testnet/openapi-ts/core/bodySerializer.gen.ts +6 -8
  239. package/src/extensions/stellar-testnet/openapi-ts/core/params.gen.ts +1 -1
  240. package/src/extensions/stellar-testnet/openapi-ts/core/serverSentEvents.gen.ts +4 -5
  241. package/src/extensions/stellar-testnet/openapi-ts/core/types.gen.ts +1 -1
  242. package/src/extensions/stellar-testnet/openapi-ts/core/utils.gen.ts +1 -1
  243. package/src/extensions/stellar-testnet/openapi-ts/sdk.gen.ts +1 -1
  244. package/src/extensions/stellar-testnet/openapi-ts/types.gen.ts +8 -8
  245. package/src/platform/admin/openapi-ts/client/client.gen.ts +17 -7
  246. package/src/platform/admin/openapi-ts/client/types.gen.ts +2 -1
  247. package/src/platform/admin/openapi-ts/client/utils.gen.ts +1 -1
  248. package/src/platform/admin/openapi-ts/core/bodySerializer.gen.ts +6 -8
  249. package/src/platform/admin/openapi-ts/core/params.gen.ts +1 -1
  250. package/src/platform/admin/openapi-ts/core/serverSentEvents.gen.ts +4 -5
  251. package/src/platform/admin/openapi-ts/core/types.gen.ts +1 -1
  252. package/src/platform/admin/openapi-ts/core/utils.gen.ts +1 -1
  253. package/src/platform/admin/openapi-ts/index.ts +2 -2
  254. package/src/platform/admin/openapi-ts/sdk.gen.ts +54 -12
  255. package/src/platform/admin/openapi-ts/types.gen.ts +623 -107
  256. package/src/platform/user/openapi-ts/client/client.gen.ts +17 -7
  257. package/src/platform/user/openapi-ts/client/types.gen.ts +2 -1
  258. package/src/platform/user/openapi-ts/client/utils.gen.ts +1 -1
  259. package/src/platform/user/openapi-ts/core/bodySerializer.gen.ts +6 -8
  260. package/src/platform/user/openapi-ts/core/params.gen.ts +1 -1
  261. package/src/platform/user/openapi-ts/core/serverSentEvents.gen.ts +4 -5
  262. package/src/platform/user/openapi-ts/core/types.gen.ts +1 -1
  263. package/src/platform/user/openapi-ts/core/utils.gen.ts +1 -1
  264. package/src/platform/user/openapi-ts/index.ts +2 -2
  265. package/src/platform/user/openapi-ts/sdk.gen.ts +30 -4
  266. package/src/platform/user/openapi-ts/types.gen.ts +116 -52
  267. package/dist/chunk-7USVOK77.js +0 -7
  268. package/dist/chunk-G3M5QMRX.js +0 -1
  269. package/dist/chunk-HSPTEN45.mjs +0 -1
  270. package/dist/chunk-HWXE5WBF.js +0 -7
  271. package/dist/chunk-MUN3POSM.mjs +0 -7
  272. package/dist/chunk-ZUZHOLAX.mjs +0 -7
@@ -80,7 +80,7 @@ export interface Config {
80
80
  requestValidator?: (data: unknown) => Promise<unknown>;
81
81
  /**
82
82
  * A function transforming response data before it's returned. This is useful
83
- * for post-processing data, e.g. converting ISO strings into Date objects.
83
+ * for post-processing data, e.g., converting ISO strings into Date objects.
84
84
  */
85
85
  responseTransformer?: (data: unknown) => Promise<unknown>;
86
86
  /**
@@ -126,7 +126,7 @@ export function getValidRequestBody(options: {
126
126
  return hasSerializedBody ? options.serializedBody : null;
127
127
  }
128
128
 
129
- // not all clients implement a serializedBody property (i.e. client-axios)
129
+ // not all clients implement a serializedBody property (i.e., client-axios)
130
130
  return options.body !== '' ? options.body : null;
131
131
  }
132
132
 
@@ -4,7 +4,7 @@ import type { Client, Options as Options2, TDataShape } from './client';
4
4
  import { client } from './client.gen';
5
5
  import type { ActivateCreateData, ActivateCreateResponses, AdminCompanyPartialUpdateData, AdminCompanyPartialUpdateResponses, AdminCompanyRetrieveData, AdminCompanyRetrieveResponses, AdminCompanyUpdateData, AdminCompanyUpdateResponses, AdminConversionPairsCreateData, AdminConversionPairsCreateResponses, AdminConversionPairsDestroyData, AdminConversionPairsDestroyResponses, AdminConversionPairsListData, AdminConversionPairsListResponses, AdminConversionPairsPartialUpdateData, AdminConversionPairsPartialUpdateResponses, AdminConversionPairsRetrieveData, AdminConversionPairsRetrieveResponses, AdminConversionPairsUpdateData, AdminConversionPairsUpdateResponses, AdminConversionsCreateData, AdminConversionsCreateResponses, AdminConversionsListData, AdminConversionsListResponses, AdminConversionsPartialUpdateData, AdminConversionsPartialUpdateResponses, AdminConversionsRetrieveData, AdminConversionsRetrieveResponses, AdminConversionsUpdateData, AdminConversionsUpdateResponses, AdminCurrenciesCreateData, AdminCurrenciesCreateResponses, AdminCurrenciesListData, AdminCurrenciesListResponses, AdminCurrenciesPartialUpdateData, AdminCurrenciesPartialUpdateResponses, AdminCurrenciesRetrieveData, AdminCurrenciesRetrieveResponses, AdminCurrenciesUpdateData, AdminCurrenciesUpdateResponses, AdminIntegrationsCreateData, AdminIntegrationsCreateResponses, AdminIntegrationsDestroyData, AdminIntegrationsDestroyResponses, AdminIntegrationsListData, AdminIntegrationsListResponses, AdminIntegrationsPartialUpdateData, AdminIntegrationsPartialUpdateResponses, AdminIntegrationsRetrieveData, AdminIntegrationsRetrieveResponses, AdminIntegrationsUpdateData, AdminIntegrationsUpdateResponses, AdminIntegrationsWebhooksCreateData, AdminIntegrationsWebhooksCreateResponses, AdminIntegrationsWebhooksDestroyData, AdminIntegrationsWebhooksDestroyResponses, AdminIntegrationsWebhooksListData, AdminIntegrationsWebhooksListResponses, AdminIntegrationsWebhooksPartialUpdateData, AdminIntegrationsWebhooksPartialUpdateResponses, AdminIntegrationsWebhooksRetrieveData, AdminIntegrationsWebhooksRetrieveResponses, AdminIntegrationsWebhooksUpdateData, AdminIntegrationsWebhooksUpdateResponses, AdminRatePairsCreateData, AdminRatePairsCreateResponses, AdminRatePairsDestroyData, AdminRatePairsDestroyResponses, AdminRatePairsListData, AdminRatePairsListResponses, AdminRatePairsPartialUpdateData, AdminRatePairsPartialUpdateResponses, AdminRatePairsRetrieveData, AdminRatePairsRetrieveResponses, AdminRatePairsUpdateData, AdminRatePairsUpdateResponses, AdminUsersListData, AdminUsersListResponses, AdminUsersPartialUpdateData, AdminUsersPartialUpdateResponses, AdminUsersRetrieveData, AdminUsersRetrieveResponses, AdminUsersUpdateData, AdminUsersUpdateResponses, DeactivateCreateData, DeactivateCreateResponses, UserConversionPairsListData, UserConversionPairsListResponses, UserConversionPairsRetrieveData, UserConversionPairsRetrieveResponses, UserConversionsCreateData, UserConversionsCreateResponses, UserConversionsListData, UserConversionsListResponses, UserConversionsPartialUpdateData, UserConversionsPartialUpdateResponses, UserConversionsRetrieveData, UserConversionsRetrieveResponses, UserConversionsUpdateData, UserConversionsUpdateResponses, UserCurrenciesListData, UserCurrenciesListResponses, UserCurrenciesRetrieveData, UserCurrenciesRetrieveResponses, UserRatesListData, UserRatesListResponses, UserRatesRetrieveData, UserRatesRetrieveResponses, UserRatesSnapshotRetrieveData, UserRatesSnapshotRetrieveResponses, UserRatesSnapshotsListData, UserRatesSnapshotsListResponses, UserSettingsPartialUpdateData, UserSettingsPartialUpdateResponses, UserSettingsRetrieveData, UserSettingsRetrieveResponses, UserSettingsUpdateData, UserSettingsUpdateResponses, WebhookCreateData, WebhookCreateResponses } from './types.gen';
6
6
 
7
- export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options2<TData, ThrowOnError> & {
7
+ export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean, TResponse = unknown> = Options2<TData, ThrowOnError, TResponse> & {
8
8
  /**
9
9
  * You can provide a client instance returned by `createClient()` instead of
10
10
  * individual options. This might be also useful if you want to implement a
@@ -134,7 +134,7 @@ export type AdminCreateConversion = {
134
134
  * * `complete` - Complete
135
135
  * * `failed` - Failed
136
136
  */
137
- status: 'quoted' | 'pending' | 'complete' | 'failed';
137
+ readonly status: 'quoted' | 'pending' | 'complete' | 'failed';
138
138
  readonly collection: string | null;
139
139
  readonly txns: Array<string>;
140
140
  metadata?: {
@@ -771,7 +771,7 @@ export type UserCreateConversion = {
771
771
  * * `complete` - Complete
772
772
  * * `failed` - Failed
773
773
  */
774
- status: 'quoted' | 'pending' | 'complete' | 'failed';
774
+ readonly status: 'quoted' | 'pending' | 'complete' | 'failed';
775
775
  readonly collection: string | null;
776
776
  readonly txns: Array<string>;
777
777
  metadata?: {
@@ -31,13 +31,20 @@ export const createClient = (config: Config = {}): Client => {
31
31
 
32
32
  const interceptors = createInterceptors<Request, Response, unknown, ResolvedRequestOptions>();
33
33
 
34
- const beforeRequest = async (options: RequestOptions) => {
34
+ const beforeRequest = async <
35
+ TData = unknown,
36
+ TResponseStyle extends 'data' | 'fields' = 'fields',
37
+ ThrowOnError extends boolean = boolean,
38
+ Url extends string = string,
39
+ >(
40
+ options: RequestOptions<TData, TResponseStyle, ThrowOnError, Url>,
41
+ ) => {
35
42
  const opts = {
36
43
  ..._config,
37
44
  ...options,
38
45
  fetch: options.fetch ?? _config.fetch ?? globalThis.fetch,
39
46
  headers: mergeHeaders(_config.headers, options.headers),
40
- serializedBody: undefined,
47
+ serializedBody: undefined as string | undefined,
41
48
  };
42
49
 
43
50
  if (opts.security) {
@@ -52,7 +59,7 @@ export const createClient = (config: Config = {}): Client => {
52
59
  }
53
60
 
54
61
  if (opts.body !== undefined && opts.bodySerializer) {
55
- opts.serializedBody = opts.bodySerializer(opts.body);
62
+ opts.serializedBody = opts.bodySerializer(opts.body) as string | undefined;
56
63
  }
57
64
 
58
65
  // remove Content-Type header if body is empty to avoid sending invalid requests
@@ -60,13 +67,14 @@ export const createClient = (config: Config = {}): Client => {
60
67
  opts.headers.delete('Content-Type');
61
68
  }
62
69
 
63
- const url = buildUrl(opts);
70
+ const resolvedOpts = opts as typeof opts &
71
+ ResolvedRequestOptions<TResponseStyle, ThrowOnError, Url>;
72
+ const url = buildUrl(resolvedOpts);
64
73
 
65
- return { opts, url };
74
+ return { opts: resolvedOpts, url };
66
75
  };
67
76
 
68
77
  const request: Client['request'] = async (options) => {
69
- // @ts-expect-error
70
78
  const { opts, url } = await beforeRequest(options);
71
79
  const requestInit: ReqInit = {
72
80
  redirect: 'follow',
@@ -258,8 +266,10 @@ export const createClient = (config: Config = {}): Client => {
258
266
  });
259
267
  };
260
268
 
269
+ const _buildUrl: Client['buildUrl'] = (options) => buildUrl({ ..._config, ...options });
270
+
261
271
  return {
262
- buildUrl,
272
+ buildUrl: _buildUrl,
263
273
  connect: makeMethodFn('CONNECT'),
264
274
  delete: makeMethodFn('DELETE'),
265
275
  get: makeMethodFn('GET'),
@@ -93,6 +93,7 @@ export interface ResolvedRequestOptions<
93
93
  ThrowOnError extends boolean = boolean,
94
94
  Url extends string = string,
95
95
  > extends RequestOptions<unknown, TResponseStyle, ThrowOnError, Url> {
96
+ headers: Headers;
96
97
  serializedBody?: string;
97
98
  }
98
99
 
@@ -152,7 +153,7 @@ type SseFn = <
152
153
  ThrowOnError extends boolean = false,
153
154
  TResponseStyle extends ResponseStyle = 'data',
154
155
  >(
155
- options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, 'method'>,
156
+ options: Omit<RequestOptions<never, TResponseStyle, ThrowOnError>, 'method'>,
156
157
  ) => Promise<ServerSentEventsResult<TData, TError>>;
157
158
 
158
159
  type RequestFn = <
@@ -204,7 +204,7 @@ export const mergeHeaders = (
204
204
  mergedHeaders.append(key, v as string);
205
205
  }
206
206
  } else if (value !== undefined) {
207
- // assume object headers are meant to be JSON stringified, i.e. their
207
+ // assume object headers are meant to be JSON stringified, i.e., their
208
208
  // content value in OpenAPI specification is 'application/json'
209
209
  mergedHeaders.set(
210
210
  key,
@@ -4,7 +4,7 @@ import type { ArrayStyle, ObjectStyle, SerializerOptions } from './pathSerialize
4
4
 
5
5
  export type QuerySerializer = (query: Record<string, unknown>) => string;
6
6
 
7
- export type BodySerializer = (body: any) => any;
7
+ export type BodySerializer = (body: unknown) => unknown;
8
8
 
9
9
  type QuerySerializerOptionsObject = {
10
10
  allowReserved?: boolean;
@@ -39,12 +39,10 @@ const serializeUrlSearchParamsPair = (data: URLSearchParams, key: string, value:
39
39
  };
40
40
 
41
41
  export const formDataBodySerializer = {
42
- bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(
43
- body: T,
44
- ): FormData => {
42
+ bodySerializer: (body: unknown): FormData => {
45
43
  const data = new FormData();
46
44
 
47
- Object.entries(body).forEach(([key, value]) => {
45
+ Object.entries(body as Record<string, unknown>).forEach(([key, value]) => {
48
46
  if (value === undefined || value === null) {
49
47
  return;
50
48
  }
@@ -60,15 +58,15 @@ export const formDataBodySerializer = {
60
58
  };
61
59
 
62
60
  export const jsonBodySerializer = {
63
- bodySerializer: <T>(body: T): string =>
61
+ bodySerializer: (body: unknown): string =>
64
62
  JSON.stringify(body, (_key, value) => (typeof value === 'bigint' ? value.toString() : value)),
65
63
  };
66
64
 
67
65
  export const urlSearchParamsBodySerializer = {
68
- bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(body: T): string => {
66
+ bodySerializer: (body: unknown): string => {
69
67
  const data = new URLSearchParams();
70
68
 
71
- Object.entries(body).forEach(([key, value]) => {
69
+ Object.entries(body as Record<string, unknown>).forEach(([key, value]) => {
72
70
  if (value === undefined || value === null) {
73
71
  return;
74
72
  }
@@ -96,7 +96,7 @@ interface Params {
96
96
 
97
97
  const stripEmptySlots = (params: Params) => {
98
98
  for (const [slot, value] of Object.entries(params)) {
99
- if (value && typeof value === 'object' && !Object.keys(value).length) {
99
+ if (value && typeof value === 'object' && !Array.isArray(value) && !Object.keys(value).length) {
100
100
  delete params[slot as Slot];
101
101
  }
102
102
  }
@@ -79,7 +79,7 @@ export type ServerSentEventsResult<TData = unknown, TReturn = void, TNext = unkn
79
79
  >;
80
80
  };
81
81
 
82
- export const createSseClient = <TData = unknown>({
82
+ export function createSseClient<TData = unknown>({
83
83
  onRequest,
84
84
  onSseError,
85
85
  onSseEvent,
@@ -91,7 +91,7 @@ export const createSseClient = <TData = unknown>({
91
91
  sseSleepFn,
92
92
  url,
93
93
  ...options
94
- }: ServerSentEventsOptions): ServerSentEventsResult<TData> => {
94
+ }: ServerSentEventsOptions): ServerSentEventsResult<TData> {
95
95
  let lastEventId: string | undefined;
96
96
 
97
97
  const sleep = sseSleepFn ?? ((ms: number) => new Promise((resolve) => setTimeout(resolve, ms)));
@@ -155,8 +155,7 @@ export const createSseClient = <TData = unknown>({
155
155
  const { done, value } = await reader.read();
156
156
  if (done) break;
157
157
  buffer += value;
158
- // Normalize line endings: CRLF -> LF, then CR -> LF
159
- buffer = buffer.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
158
+ buffer = buffer.replace(/\r\n?/g, '\n'); // normalize line endings
160
159
 
161
160
  const chunks = buffer.split('\n\n');
162
161
  buffer = chunks.pop() ?? '';
@@ -240,4 +239,4 @@ export const createSseClient = <TData = unknown>({
240
239
  const stream = createStream();
241
240
 
242
241
  return { stream };
243
- };
242
+ }
@@ -80,7 +80,7 @@ export interface Config {
80
80
  requestValidator?: (data: unknown) => Promise<unknown>;
81
81
  /**
82
82
  * A function transforming response data before it's returned. This is useful
83
- * for post-processing data, e.g. converting ISO strings into Date objects.
83
+ * for post-processing data, e.g., converting ISO strings into Date objects.
84
84
  */
85
85
  responseTransformer?: (data: unknown) => Promise<unknown>;
86
86
  /**
@@ -126,7 +126,7 @@ export function getValidRequestBody(options: {
126
126
  return hasSerializedBody ? options.serializedBody : null;
127
127
  }
128
128
 
129
- // not all clients implement a serializedBody property (i.e. client-axios)
129
+ // not all clients implement a serializedBody property (i.e., client-axios)
130
130
  return options.body !== '' ? options.body : null;
131
131
  }
132
132
 
@@ -4,7 +4,7 @@ import type { Client, Options as Options2, TDataShape } from './client';
4
4
  import { client } from './client.gen';
5
5
  import type { ActivateCreateData, ActivateCreateResponses, AdminCompanyPartialUpdateData, AdminCompanyPartialUpdateResponses, AdminCompanyRetrieveData, AdminCompanyRetrieveResponses, AdminCompanyUpdateData, AdminCompanyUpdateResponses, AdminTransactionUpdateBatchesCreateData, AdminTransactionUpdateBatchesCreateResponses, AdminTransactionUpdateBatchesListData, AdminTransactionUpdateBatchesListResponses, AdminTransactionUpdateBatchesPartialUpdateData, AdminTransactionUpdateBatchesPartialUpdateResponses, AdminTransactionUpdateBatchesRetrieveData, AdminTransactionUpdateBatchesRetrieveResponses, AdminTransactionUpdateBatchesRowsListData, AdminTransactionUpdateBatchesRowsListResponses, AdminTransactionUpdateBatchesUpdateData, AdminTransactionUpdateBatchesUpdateResponses, AdminUploadsCreateData, AdminUploadsCreateResponses, AdminUploadsListData, AdminUploadsListResponses, AdminUploadsPartialUpdateData, AdminUploadsPartialUpdateResponses, AdminUploadsRetrieveData, AdminUploadsRetrieveResponses, AdminUploadsTransactionsListData, AdminUploadsTransactionsListResponses, AdminUploadsUpdateData, AdminUploadsUpdateResponses, DeactivateCreateData, DeactivateCreateResponses, UploadsCreateData, UploadsCreateResponses, UploadsListData, UploadsListResponses, UploadsPartialUpdateData, UploadsPartialUpdateResponses, UploadsRetrieveData, UploadsRetrieveResponses, UploadsTransactionsListData, UploadsTransactionsListResponses, UploadsUpdateData, UploadsUpdateResponses, WebhookCreateData, WebhookCreateResponses } from './types.gen';
6
6
 
7
- export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options2<TData, ThrowOnError> & {
7
+ export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean, TResponse = unknown> = Options2<TData, ThrowOnError, TResponse> & {
8
8
  /**
9
9
  * You can provide a client instance returned by `createClient()` instead of
10
10
  * individual options. This might be also useful if you want to implement a
@@ -31,13 +31,20 @@ export const createClient = (config: Config = {}): Client => {
31
31
 
32
32
  const interceptors = createInterceptors<Request, Response, unknown, ResolvedRequestOptions>();
33
33
 
34
- const beforeRequest = async (options: RequestOptions) => {
34
+ const beforeRequest = async <
35
+ TData = unknown,
36
+ TResponseStyle extends 'data' | 'fields' = 'fields',
37
+ ThrowOnError extends boolean = boolean,
38
+ Url extends string = string,
39
+ >(
40
+ options: RequestOptions<TData, TResponseStyle, ThrowOnError, Url>,
41
+ ) => {
35
42
  const opts = {
36
43
  ..._config,
37
44
  ...options,
38
45
  fetch: options.fetch ?? _config.fetch ?? globalThis.fetch,
39
46
  headers: mergeHeaders(_config.headers, options.headers),
40
- serializedBody: undefined,
47
+ serializedBody: undefined as string | undefined,
41
48
  };
42
49
 
43
50
  if (opts.security) {
@@ -52,7 +59,7 @@ export const createClient = (config: Config = {}): Client => {
52
59
  }
53
60
 
54
61
  if (opts.body !== undefined && opts.bodySerializer) {
55
- opts.serializedBody = opts.bodySerializer(opts.body);
62
+ opts.serializedBody = opts.bodySerializer(opts.body) as string | undefined;
56
63
  }
57
64
 
58
65
  // remove Content-Type header if body is empty to avoid sending invalid requests
@@ -60,13 +67,14 @@ export const createClient = (config: Config = {}): Client => {
60
67
  opts.headers.delete('Content-Type');
61
68
  }
62
69
 
63
- const url = buildUrl(opts);
70
+ const resolvedOpts = opts as typeof opts &
71
+ ResolvedRequestOptions<TResponseStyle, ThrowOnError, Url>;
72
+ const url = buildUrl(resolvedOpts);
64
73
 
65
- return { opts, url };
74
+ return { opts: resolvedOpts, url };
66
75
  };
67
76
 
68
77
  const request: Client['request'] = async (options) => {
69
- // @ts-expect-error
70
78
  const { opts, url } = await beforeRequest(options);
71
79
  const requestInit: ReqInit = {
72
80
  redirect: 'follow',
@@ -258,8 +266,10 @@ export const createClient = (config: Config = {}): Client => {
258
266
  });
259
267
  };
260
268
 
269
+ const _buildUrl: Client['buildUrl'] = (options) => buildUrl({ ..._config, ...options });
270
+
261
271
  return {
262
- buildUrl,
272
+ buildUrl: _buildUrl,
263
273
  connect: makeMethodFn('CONNECT'),
264
274
  delete: makeMethodFn('DELETE'),
265
275
  get: makeMethodFn('GET'),
@@ -93,6 +93,7 @@ export interface ResolvedRequestOptions<
93
93
  ThrowOnError extends boolean = boolean,
94
94
  Url extends string = string,
95
95
  > extends RequestOptions<unknown, TResponseStyle, ThrowOnError, Url> {
96
+ headers: Headers;
96
97
  serializedBody?: string;
97
98
  }
98
99
 
@@ -152,7 +153,7 @@ type SseFn = <
152
153
  ThrowOnError extends boolean = false,
153
154
  TResponseStyle extends ResponseStyle = 'data',
154
155
  >(
155
- options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, 'method'>,
156
+ options: Omit<RequestOptions<never, TResponseStyle, ThrowOnError>, 'method'>,
156
157
  ) => Promise<ServerSentEventsResult<TData, TError>>;
157
158
 
158
159
  type RequestFn = <
@@ -204,7 +204,7 @@ export const mergeHeaders = (
204
204
  mergedHeaders.append(key, v as string);
205
205
  }
206
206
  } else if (value !== undefined) {
207
- // assume object headers are meant to be JSON stringified, i.e. their
207
+ // assume object headers are meant to be JSON stringified, i.e., their
208
208
  // content value in OpenAPI specification is 'application/json'
209
209
  mergedHeaders.set(
210
210
  key,
@@ -4,7 +4,7 @@ import type { ArrayStyle, ObjectStyle, SerializerOptions } from './pathSerialize
4
4
 
5
5
  export type QuerySerializer = (query: Record<string, unknown>) => string;
6
6
 
7
- export type BodySerializer = (body: any) => any;
7
+ export type BodySerializer = (body: unknown) => unknown;
8
8
 
9
9
  type QuerySerializerOptionsObject = {
10
10
  allowReserved?: boolean;
@@ -39,12 +39,10 @@ const serializeUrlSearchParamsPair = (data: URLSearchParams, key: string, value:
39
39
  };
40
40
 
41
41
  export const formDataBodySerializer = {
42
- bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(
43
- body: T,
44
- ): FormData => {
42
+ bodySerializer: (body: unknown): FormData => {
45
43
  const data = new FormData();
46
44
 
47
- Object.entries(body).forEach(([key, value]) => {
45
+ Object.entries(body as Record<string, unknown>).forEach(([key, value]) => {
48
46
  if (value === undefined || value === null) {
49
47
  return;
50
48
  }
@@ -60,15 +58,15 @@ export const formDataBodySerializer = {
60
58
  };
61
59
 
62
60
  export const jsonBodySerializer = {
63
- bodySerializer: <T>(body: T): string =>
61
+ bodySerializer: (body: unknown): string =>
64
62
  JSON.stringify(body, (_key, value) => (typeof value === 'bigint' ? value.toString() : value)),
65
63
  };
66
64
 
67
65
  export const urlSearchParamsBodySerializer = {
68
- bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(body: T): string => {
66
+ bodySerializer: (body: unknown): string => {
69
67
  const data = new URLSearchParams();
70
68
 
71
- Object.entries(body).forEach(([key, value]) => {
69
+ Object.entries(body as Record<string, unknown>).forEach(([key, value]) => {
72
70
  if (value === undefined || value === null) {
73
71
  return;
74
72
  }
@@ -96,7 +96,7 @@ interface Params {
96
96
 
97
97
  const stripEmptySlots = (params: Params) => {
98
98
  for (const [slot, value] of Object.entries(params)) {
99
- if (value && typeof value === 'object' && !Object.keys(value).length) {
99
+ if (value && typeof value === 'object' && !Array.isArray(value) && !Object.keys(value).length) {
100
100
  delete params[slot as Slot];
101
101
  }
102
102
  }
@@ -79,7 +79,7 @@ export type ServerSentEventsResult<TData = unknown, TReturn = void, TNext = unkn
79
79
  >;
80
80
  };
81
81
 
82
- export const createSseClient = <TData = unknown>({
82
+ export function createSseClient<TData = unknown>({
83
83
  onRequest,
84
84
  onSseError,
85
85
  onSseEvent,
@@ -91,7 +91,7 @@ export const createSseClient = <TData = unknown>({
91
91
  sseSleepFn,
92
92
  url,
93
93
  ...options
94
- }: ServerSentEventsOptions): ServerSentEventsResult<TData> => {
94
+ }: ServerSentEventsOptions): ServerSentEventsResult<TData> {
95
95
  let lastEventId: string | undefined;
96
96
 
97
97
  const sleep = sseSleepFn ?? ((ms: number) => new Promise((resolve) => setTimeout(resolve, ms)));
@@ -155,8 +155,7 @@ export const createSseClient = <TData = unknown>({
155
155
  const { done, value } = await reader.read();
156
156
  if (done) break;
157
157
  buffer += value;
158
- // Normalize line endings: CRLF -> LF, then CR -> LF
159
- buffer = buffer.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
158
+ buffer = buffer.replace(/\r\n?/g, '\n'); // normalize line endings
160
159
 
161
160
  const chunks = buffer.split('\n\n');
162
161
  buffer = chunks.pop() ?? '';
@@ -240,4 +239,4 @@ export const createSseClient = <TData = unknown>({
240
239
  const stream = createStream();
241
240
 
242
241
  return { stream };
243
- };
242
+ }
@@ -80,7 +80,7 @@ export interface Config {
80
80
  requestValidator?: (data: unknown) => Promise<unknown>;
81
81
  /**
82
82
  * A function transforming response data before it's returned. This is useful
83
- * for post-processing data, e.g. converting ISO strings into Date objects.
83
+ * for post-processing data, e.g., converting ISO strings into Date objects.
84
84
  */
85
85
  responseTransformer?: (data: unknown) => Promise<unknown>;
86
86
  /**
@@ -126,7 +126,7 @@ export function getValidRequestBody(options: {
126
126
  return hasSerializedBody ? options.serializedBody : null;
127
127
  }
128
128
 
129
- // not all clients implement a serializedBody property (i.e. client-axios)
129
+ // not all clients implement a serializedBody property (i.e., client-axios)
130
130
  return options.body !== '' ? options.body : null;
131
131
  }
132
132
 
@@ -4,7 +4,7 @@ import type { Client, Options as Options2, TDataShape } from './client';
4
4
  import { client } from './client.gen';
5
5
  import type { ActivateCreateData, ActivateCreateResponses, AdminCompanyPartialUpdateData, AdminCompanyPartialUpdateResponses, AdminCompanyRetrieveData, AdminCompanyRetrieveResponses, AdminCompanyUpdateData, AdminCompanyUpdateResponses, AdminCredentialsCreateData, AdminCredentialsCreateResponses, AdminCredentialsDestroyData, AdminCredentialsDestroyResponses, AdminCredentialsListData, AdminCredentialsListResponses, AdminCredentialsPartialUpdateData, AdminCredentialsPartialUpdateResponses, AdminCredentialsRetrieveData, AdminCredentialsRetrieveResponses, AdminCredentialsUpdateData, AdminCredentialsUpdateResponses, AdminLayoutsCreateData, AdminLayoutsCreateResponses, AdminLayoutsDestroyData, AdminLayoutsDestroyResponses, AdminLayoutsListData, AdminLayoutsListResponses, AdminLayoutsPartialUpdateData, AdminLayoutsPartialUpdateResponses, AdminLayoutsRetrieveData, AdminLayoutsRetrieveResponses, AdminLayoutsUpdateData, AdminLayoutsUpdateResponses, AdminLayoutTemplatesListData, AdminLayoutTemplatesListResponses, AdminLayoutTemplatesRetrieveData, AdminLayoutTemplatesRetrieveResponses, AdminLogsListData, AdminLogsListResponses, AdminLogsRetrieveData, AdminLogsRetrieveResponses, AdminLogsSendCreateData, AdminLogsSendCreateResponses, AdminNotificationsCreateData, AdminNotificationsCreateResponses, AdminNotificationsDestroyData, AdminNotificationsDestroyResponses, AdminNotificationsListData, AdminNotificationsListResponses, AdminNotificationsPartialUpdateData, AdminNotificationsPartialUpdateResponses, AdminNotificationsRetrieveData, AdminNotificationsRetrieveResponses, AdminNotificationsTriggerCreateData, AdminNotificationsTriggerCreateResponses, AdminNotificationsUpdateData, AdminNotificationsUpdateResponses, AdminTemplatesListData, AdminTemplatesListResponses, AdminTemplatesRetrieveData, AdminTemplatesRetrieveResponses, AdminWebhookCreateData, AdminWebhookCreateResponses, DeactivateCreateData, DeactivateCreateResponses, UserLogsListData, UserLogsListResponses, UserLogsPartialUpdateData, UserLogsPartialUpdateResponses, UserLogsRetrieveData, UserLogsRetrieveResponses, UserLogsUpdateData, UserLogsUpdateResponses, UserNotificationsListData, UserNotificationsListResponses, UserNotificationsPartialUpdateData, UserNotificationsPartialUpdateResponses, UserNotificationsRetrieveData, UserNotificationsRetrieveResponses, UserNotificationsUpdateData, UserNotificationsUpdateResponses, WebhookCreateData, WebhookCreateResponses } from './types.gen';
6
6
 
7
- export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options2<TData, ThrowOnError> & {
7
+ export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean, TResponse = unknown> = Options2<TData, ThrowOnError, TResponse> & {
8
8
  /**
9
9
  * You can provide a client instance returned by `createClient()` instead of
10
10
  * individual options. This might be also useful if you want to implement a
@@ -35,7 +35,7 @@ export type AdminCompany = {
35
35
  * * `test` - Test
36
36
  * * `production` - Production
37
37
  */
38
- mode: 'test' | 'production';
38
+ readonly mode: 'test' | 'production';
39
39
  quotas: Quotas;
40
40
  bimi_selector_header?: string | null;
41
41
  name?: string | null;
@@ -117,7 +117,7 @@ export type AdminLog = {
117
117
  * * `push` - push
118
118
  * * `system` - system
119
119
  */
120
- type: 'email' | 'sms' | 'push' | 'system';
120
+ readonly type: 'email' | 'sms' | 'push' | 'system';
121
121
  readonly user: string | null;
122
122
  recipient: string;
123
123
  readonly text_message: string | null;
@@ -153,7 +153,7 @@ export type AdminNotification = {
153
153
  * * `push` - push
154
154
  * * `system` - system
155
155
  */
156
- type: 'email' | 'sms' | 'push' | 'system';
156
+ readonly type: 'email' | 'sms' | 'push' | 'system';
157
157
  template?: AdminReducedTemplate | null;
158
158
  name: string;
159
159
  subject?: string | null;
@@ -246,7 +246,7 @@ export type AdminTriggerNotification = {
246
246
  * * `completed` - completed
247
247
  * * `failed` - failed
248
248
  */
249
- status: 'pending' | 'processing' | 'completed' | 'failed';
249
+ readonly status: 'pending' | 'processing' | 'completed' | 'failed';
250
250
  };
251
251
 
252
252
  /**
@@ -274,7 +274,7 @@ export type LayoutTemplate = {
274
274
  * * `push` - push
275
275
  * * `system` - system
276
276
  */
277
- type: 'email' | 'sms' | 'push' | 'system';
277
+ readonly type: 'email' | 'sms' | 'push' | 'system';
278
278
  readonly html_layout: string | null;
279
279
  readonly text_layout: string | null;
280
280
  readonly sms_layout: string | null;
@@ -425,7 +425,7 @@ export type PatchedAdminCompany = {
425
425
  * * `test` - Test
426
426
  * * `production` - Production
427
427
  */
428
- mode?: 'test' | 'production';
428
+ readonly mode?: 'test' | 'production';
429
429
  quotas?: Quotas;
430
430
  bimi_selector_header?: string | null;
431
431
  name?: string | null;
@@ -522,7 +522,7 @@ export type PatchedUserLog = {
522
522
  * * `push` - push
523
523
  * * `system` - system
524
524
  */
525
- type?: 'email' | 'sms' | 'push' | 'system';
525
+ readonly type?: 'email' | 'sms' | 'push' | 'system';
526
526
  readonly subject?: string | null;
527
527
  readonly text_message?: string | null;
528
528
  readonly html_message?: string | null;
@@ -586,7 +586,7 @@ export type UserLog = {
586
586
  * * `push` - push
587
587
  * * `system` - system
588
588
  */
589
- type: 'email' | 'sms' | 'push' | 'system';
589
+ readonly type: 'email' | 'sms' | 'push' | 'system';
590
590
  readonly subject: string | null;
591
591
  readonly text_message: string | null;
592
592
  readonly html_message: string | null;
@@ -31,13 +31,20 @@ export const createClient = (config: Config = {}): Client => {
31
31
 
32
32
  const interceptors = createInterceptors<Request, Response, unknown, ResolvedRequestOptions>();
33
33
 
34
- const beforeRequest = async (options: RequestOptions) => {
34
+ const beforeRequest = async <
35
+ TData = unknown,
36
+ TResponseStyle extends 'data' | 'fields' = 'fields',
37
+ ThrowOnError extends boolean = boolean,
38
+ Url extends string = string,
39
+ >(
40
+ options: RequestOptions<TData, TResponseStyle, ThrowOnError, Url>,
41
+ ) => {
35
42
  const opts = {
36
43
  ..._config,
37
44
  ...options,
38
45
  fetch: options.fetch ?? _config.fetch ?? globalThis.fetch,
39
46
  headers: mergeHeaders(_config.headers, options.headers),
40
- serializedBody: undefined,
47
+ serializedBody: undefined as string | undefined,
41
48
  };
42
49
 
43
50
  if (opts.security) {
@@ -52,7 +59,7 @@ export const createClient = (config: Config = {}): Client => {
52
59
  }
53
60
 
54
61
  if (opts.body !== undefined && opts.bodySerializer) {
55
- opts.serializedBody = opts.bodySerializer(opts.body);
62
+ opts.serializedBody = opts.bodySerializer(opts.body) as string | undefined;
56
63
  }
57
64
 
58
65
  // remove Content-Type header if body is empty to avoid sending invalid requests
@@ -60,13 +67,14 @@ export const createClient = (config: Config = {}): Client => {
60
67
  opts.headers.delete('Content-Type');
61
68
  }
62
69
 
63
- const url = buildUrl(opts);
70
+ const resolvedOpts = opts as typeof opts &
71
+ ResolvedRequestOptions<TResponseStyle, ThrowOnError, Url>;
72
+ const url = buildUrl(resolvedOpts);
64
73
 
65
- return { opts, url };
74
+ return { opts: resolvedOpts, url };
66
75
  };
67
76
 
68
77
  const request: Client['request'] = async (options) => {
69
- // @ts-expect-error
70
78
  const { opts, url } = await beforeRequest(options);
71
79
  const requestInit: ReqInit = {
72
80
  redirect: 'follow',
@@ -258,8 +266,10 @@ export const createClient = (config: Config = {}): Client => {
258
266
  });
259
267
  };
260
268
 
269
+ const _buildUrl: Client['buildUrl'] = (options) => buildUrl({ ..._config, ...options });
270
+
261
271
  return {
262
- buildUrl,
272
+ buildUrl: _buildUrl,
263
273
  connect: makeMethodFn('CONNECT'),
264
274
  delete: makeMethodFn('DELETE'),
265
275
  get: makeMethodFn('GET'),
@@ -93,6 +93,7 @@ export interface ResolvedRequestOptions<
93
93
  ThrowOnError extends boolean = boolean,
94
94
  Url extends string = string,
95
95
  > extends RequestOptions<unknown, TResponseStyle, ThrowOnError, Url> {
96
+ headers: Headers;
96
97
  serializedBody?: string;
97
98
  }
98
99
 
@@ -152,7 +153,7 @@ type SseFn = <
152
153
  ThrowOnError extends boolean = false,
153
154
  TResponseStyle extends ResponseStyle = 'data',
154
155
  >(
155
- options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, 'method'>,
156
+ options: Omit<RequestOptions<never, TResponseStyle, ThrowOnError>, 'method'>,
156
157
  ) => Promise<ServerSentEventsResult<TData, TError>>;
157
158
 
158
159
  type RequestFn = <
@@ -204,7 +204,7 @@ export const mergeHeaders = (
204
204
  mergedHeaders.append(key, v as string);
205
205
  }
206
206
  } else if (value !== undefined) {
207
- // assume object headers are meant to be JSON stringified, i.e. their
207
+ // assume object headers are meant to be JSON stringified, i.e., their
208
208
  // content value in OpenAPI specification is 'application/json'
209
209
  mergedHeaders.set(
210
210
  key,