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.
- package/README.md +17 -0
- package/dist/admin.d.mts +614 -116
- package/dist/admin.d.ts +614 -116
- package/dist/admin.js +1 -1
- package/dist/admin.mjs +1 -1
- package/dist/auth.d.mts +2 -2
- package/dist/auth.d.ts +2 -2
- package/dist/auth.js +1 -1
- package/dist/auth.mjs +1 -1
- package/dist/chunk-647XG2KN.js +1 -0
- package/dist/{chunk-PCR54D6A.mjs → chunk-A53KSFBA.mjs} +1 -1
- package/dist/chunk-BAUHEOL5.mjs +1 -0
- package/dist/chunk-CRNPJD3E.js +6 -0
- package/dist/{chunk-ERD2XKSM.js → chunk-HXAEBUQM.js} +1 -1
- package/dist/chunk-IJBXROTB.mjs +6 -0
- package/dist/chunk-TAABJLJG.mjs +6 -0
- package/dist/chunk-Y33FT632.js +6 -0
- package/dist/{create-api-client-ADSlg8HX.d.ts → create-api-client-DzUaFuXN.d.ts} +1 -1
- package/dist/{create-api-client-B4Q01gHp.d.mts → create-api-client-JpNvOfh9.d.mts} +1 -1
- package/dist/{create-auth-CT_IFt3T.d.mts → create-auth-D-3te_Jw.d.mts} +111 -55
- package/dist/{create-auth-CT_IFt3T.d.ts → create-auth-D-3te_Jw.d.ts} +111 -55
- package/dist/extensions/alchemy.d.mts +175 -41
- package/dist/extensions/alchemy.d.ts +175 -41
- package/dist/extensions/alchemy.js +5 -6
- package/dist/extensions/alchemy.mjs +5 -6
- package/dist/extensions/app.d.mts +11 -10
- package/dist/extensions/app.d.ts +11 -10
- package/dist/extensions/app.js +5 -6
- package/dist/extensions/app.mjs +5 -6
- package/dist/extensions/billing.d.mts +11 -10
- package/dist/extensions/billing.d.ts +11 -10
- package/dist/extensions/billing.js +5 -6
- package/dist/extensions/billing.mjs +5 -6
- package/dist/extensions/bridge.d.mts +537 -38
- package/dist/extensions/bridge.d.ts +537 -38
- package/dist/extensions/bridge.js +5 -6
- package/dist/extensions/bridge.mjs +5 -6
- package/dist/extensions/builder.d.mts +8 -7
- package/dist/extensions/builder.d.ts +8 -7
- package/dist/extensions/builder.js +5 -6
- package/dist/extensions/builder.mjs +5 -6
- package/dist/extensions/business.d.mts +99 -63
- package/dist/extensions/business.d.ts +99 -63
- package/dist/extensions/business.js +5 -6
- package/dist/extensions/business.mjs +5 -6
- package/dist/extensions/conversion.d.mts +10 -9
- package/dist/extensions/conversion.d.ts +10 -9
- package/dist/extensions/conversion.js +5 -6
- package/dist/extensions/conversion.mjs +5 -6
- package/dist/extensions/mass-send.d.mts +8 -7
- package/dist/extensions/mass-send.d.ts +8 -7
- package/dist/extensions/mass-send.js +5 -6
- package/dist/extensions/mass-send.mjs +5 -6
- package/dist/extensions/notifications.d.mts +16 -15
- package/dist/extensions/notifications.d.ts +16 -15
- package/dist/extensions/notifications.js +5 -6
- package/dist/extensions/notifications.mjs +5 -6
- package/dist/extensions/payment-requests.d.mts +15 -10
- package/dist/extensions/payment-requests.d.ts +15 -10
- package/dist/extensions/payment-requests.js +5 -6
- package/dist/extensions/payment-requests.mjs +5 -6
- package/dist/extensions/products.d.mts +43 -42
- package/dist/extensions/products.d.ts +43 -42
- package/dist/extensions/products.js +5 -6
- package/dist/extensions/products.mjs +5 -6
- package/dist/extensions/rain.d.mts +22 -21
- package/dist/extensions/rain.d.ts +22 -21
- package/dist/extensions/rain.js +5 -6
- package/dist/extensions/rain.mjs +5 -6
- package/dist/extensions/rewards.d.mts +8 -7
- package/dist/extensions/rewards.d.ts +8 -7
- package/dist/extensions/rewards.js +5 -6
- package/dist/extensions/rewards.mjs +5 -6
- package/dist/extensions/stellar-testnet.d.mts +16 -15
- package/dist/extensions/stellar-testnet.d.ts +16 -15
- package/dist/extensions/stellar-testnet.js +5 -6
- package/dist/extensions/stellar-testnet.mjs +5 -6
- package/dist/extensions/stellar.d.mts +16 -15
- package/dist/extensions/stellar.d.ts +16 -15
- package/dist/extensions/stellar.js +5 -6
- package/dist/extensions/stellar.mjs +5 -6
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/react.d.mts +2 -2
- package/dist/react.d.ts +2 -2
- package/dist/react.js +1 -1
- package/dist/react.mjs +1 -1
- package/dist/user.d.mts +21 -10
- package/dist/user.d.ts +21 -10
- package/dist/user.js +1 -1
- package/dist/user.mjs +1 -1
- package/package.json +3 -3
- package/src/auth/create-auth.ts +16 -9
- package/src/extensions/alchemy/openapi-ts/client/client.gen.ts +17 -7
- package/src/extensions/alchemy/openapi-ts/client/types.gen.ts +2 -1
- package/src/extensions/alchemy/openapi-ts/client/utils.gen.ts +1 -1
- package/src/extensions/alchemy/openapi-ts/core/bodySerializer.gen.ts +6 -8
- package/src/extensions/alchemy/openapi-ts/core/params.gen.ts +1 -1
- package/src/extensions/alchemy/openapi-ts/core/serverSentEvents.gen.ts +4 -5
- package/src/extensions/alchemy/openapi-ts/core/types.gen.ts +1 -1
- package/src/extensions/alchemy/openapi-ts/core/utils.gen.ts +1 -1
- package/src/extensions/alchemy/openapi-ts/index.ts +2 -2
- package/src/extensions/alchemy/openapi-ts/sdk.gen.ts +44 -2
- package/src/extensions/alchemy/openapi-ts/types.gen.ts +177 -34
- package/src/extensions/app/openapi-ts/client/client.gen.ts +17 -7
- package/src/extensions/app/openapi-ts/client/types.gen.ts +2 -1
- package/src/extensions/app/openapi-ts/client/utils.gen.ts +1 -1
- package/src/extensions/app/openapi-ts/core/bodySerializer.gen.ts +6 -8
- package/src/extensions/app/openapi-ts/core/params.gen.ts +1 -1
- package/src/extensions/app/openapi-ts/core/serverSentEvents.gen.ts +4 -5
- package/src/extensions/app/openapi-ts/core/types.gen.ts +1 -1
- package/src/extensions/app/openapi-ts/core/utils.gen.ts +1 -1
- package/src/extensions/app/openapi-ts/sdk.gen.ts +1 -1
- package/src/extensions/app/openapi-ts/types.gen.ts +3 -3
- package/src/extensions/billing/openapi-ts/client/client.gen.ts +17 -7
- package/src/extensions/billing/openapi-ts/client/types.gen.ts +2 -1
- package/src/extensions/billing/openapi-ts/client/utils.gen.ts +1 -1
- package/src/extensions/billing/openapi-ts/core/bodySerializer.gen.ts +6 -8
- package/src/extensions/billing/openapi-ts/core/params.gen.ts +1 -1
- package/src/extensions/billing/openapi-ts/core/serverSentEvents.gen.ts +4 -5
- package/src/extensions/billing/openapi-ts/core/types.gen.ts +1 -1
- package/src/extensions/billing/openapi-ts/core/utils.gen.ts +1 -1
- package/src/extensions/billing/openapi-ts/sdk.gen.ts +1 -1
- package/src/extensions/billing/openapi-ts/types.gen.ts +3 -3
- package/src/extensions/bridge/openapi-ts/client/client.gen.ts +17 -7
- package/src/extensions/bridge/openapi-ts/client/types.gen.ts +2 -1
- package/src/extensions/bridge/openapi-ts/client/utils.gen.ts +1 -1
- package/src/extensions/bridge/openapi-ts/core/bodySerializer.gen.ts +6 -8
- package/src/extensions/bridge/openapi-ts/core/params.gen.ts +1 -1
- package/src/extensions/bridge/openapi-ts/core/serverSentEvents.gen.ts +4 -5
- package/src/extensions/bridge/openapi-ts/core/types.gen.ts +1 -1
- package/src/extensions/bridge/openapi-ts/core/utils.gen.ts +1 -1
- package/src/extensions/bridge/openapi-ts/index.ts +2 -2
- package/src/extensions/bridge/openapi-ts/sdk.gen.ts +90 -2
- package/src/extensions/bridge/openapi-ts/types.gen.ts +572 -29
- package/src/extensions/builder/openapi-ts/client/client.gen.ts +17 -7
- package/src/extensions/builder/openapi-ts/client/types.gen.ts +2 -1
- package/src/extensions/builder/openapi-ts/client/utils.gen.ts +1 -1
- package/src/extensions/builder/openapi-ts/core/bodySerializer.gen.ts +6 -8
- package/src/extensions/builder/openapi-ts/core/params.gen.ts +1 -1
- package/src/extensions/builder/openapi-ts/core/serverSentEvents.gen.ts +4 -5
- package/src/extensions/builder/openapi-ts/core/types.gen.ts +1 -1
- package/src/extensions/builder/openapi-ts/core/utils.gen.ts +1 -1
- package/src/extensions/builder/openapi-ts/sdk.gen.ts +1 -1
- package/src/extensions/business/openapi-ts/client/client.gen.ts +17 -7
- package/src/extensions/business/openapi-ts/client/types.gen.ts +2 -1
- package/src/extensions/business/openapi-ts/client/utils.gen.ts +1 -1
- package/src/extensions/business/openapi-ts/core/bodySerializer.gen.ts +6 -8
- package/src/extensions/business/openapi-ts/core/params.gen.ts +1 -1
- package/src/extensions/business/openapi-ts/core/serverSentEvents.gen.ts +4 -5
- package/src/extensions/business/openapi-ts/core/types.gen.ts +1 -1
- package/src/extensions/business/openapi-ts/core/utils.gen.ts +1 -1
- package/src/extensions/business/openapi-ts/sdk.gen.ts +1 -1
- package/src/extensions/business/openapi-ts/types.gen.ts +91 -56
- package/src/extensions/conversion/openapi-ts/client/client.gen.ts +17 -7
- package/src/extensions/conversion/openapi-ts/client/types.gen.ts +2 -1
- package/src/extensions/conversion/openapi-ts/client/utils.gen.ts +1 -1
- package/src/extensions/conversion/openapi-ts/core/bodySerializer.gen.ts +6 -8
- package/src/extensions/conversion/openapi-ts/core/params.gen.ts +1 -1
- package/src/extensions/conversion/openapi-ts/core/serverSentEvents.gen.ts +4 -5
- package/src/extensions/conversion/openapi-ts/core/types.gen.ts +1 -1
- package/src/extensions/conversion/openapi-ts/core/utils.gen.ts +1 -1
- package/src/extensions/conversion/openapi-ts/sdk.gen.ts +1 -1
- package/src/extensions/conversion/openapi-ts/types.gen.ts +2 -2
- package/src/extensions/mass-send/openapi-ts/client/client.gen.ts +17 -7
- package/src/extensions/mass-send/openapi-ts/client/types.gen.ts +2 -1
- package/src/extensions/mass-send/openapi-ts/client/utils.gen.ts +1 -1
- package/src/extensions/mass-send/openapi-ts/core/bodySerializer.gen.ts +6 -8
- package/src/extensions/mass-send/openapi-ts/core/params.gen.ts +1 -1
- package/src/extensions/mass-send/openapi-ts/core/serverSentEvents.gen.ts +4 -5
- package/src/extensions/mass-send/openapi-ts/core/types.gen.ts +1 -1
- package/src/extensions/mass-send/openapi-ts/core/utils.gen.ts +1 -1
- package/src/extensions/mass-send/openapi-ts/sdk.gen.ts +1 -1
- package/src/extensions/notifications/openapi-ts/client/client.gen.ts +17 -7
- package/src/extensions/notifications/openapi-ts/client/types.gen.ts +2 -1
- package/src/extensions/notifications/openapi-ts/client/utils.gen.ts +1 -1
- package/src/extensions/notifications/openapi-ts/core/bodySerializer.gen.ts +6 -8
- package/src/extensions/notifications/openapi-ts/core/params.gen.ts +1 -1
- package/src/extensions/notifications/openapi-ts/core/serverSentEvents.gen.ts +4 -5
- package/src/extensions/notifications/openapi-ts/core/types.gen.ts +1 -1
- package/src/extensions/notifications/openapi-ts/core/utils.gen.ts +1 -1
- package/src/extensions/notifications/openapi-ts/sdk.gen.ts +1 -1
- package/src/extensions/notifications/openapi-ts/types.gen.ts +8 -8
- package/src/extensions/payment-requests/openapi-ts/client/client.gen.ts +17 -7
- package/src/extensions/payment-requests/openapi-ts/client/types.gen.ts +2 -1
- package/src/extensions/payment-requests/openapi-ts/client/utils.gen.ts +1 -1
- package/src/extensions/payment-requests/openapi-ts/core/bodySerializer.gen.ts +6 -8
- package/src/extensions/payment-requests/openapi-ts/core/params.gen.ts +1 -1
- package/src/extensions/payment-requests/openapi-ts/core/serverSentEvents.gen.ts +4 -5
- package/src/extensions/payment-requests/openapi-ts/core/types.gen.ts +1 -1
- package/src/extensions/payment-requests/openapi-ts/core/utils.gen.ts +1 -1
- package/src/extensions/payment-requests/openapi-ts/sdk.gen.ts +1 -1
- package/src/extensions/payment-requests/openapi-ts/types.gen.ts +7 -3
- package/src/extensions/products/openapi-ts/client/client.gen.ts +17 -7
- package/src/extensions/products/openapi-ts/client/types.gen.ts +2 -1
- package/src/extensions/products/openapi-ts/client/utils.gen.ts +1 -1
- package/src/extensions/products/openapi-ts/core/bodySerializer.gen.ts +6 -8
- package/src/extensions/products/openapi-ts/core/params.gen.ts +1 -1
- package/src/extensions/products/openapi-ts/core/serverSentEvents.gen.ts +4 -5
- package/src/extensions/products/openapi-ts/core/types.gen.ts +1 -1
- package/src/extensions/products/openapi-ts/core/utils.gen.ts +1 -1
- package/src/extensions/products/openapi-ts/sdk.gen.ts +1 -1
- package/src/extensions/products/openapi-ts/types.gen.ts +35 -35
- package/src/extensions/rain/openapi-ts/client/client.gen.ts +17 -7
- package/src/extensions/rain/openapi-ts/client/types.gen.ts +2 -1
- package/src/extensions/rain/openapi-ts/client/utils.gen.ts +1 -1
- package/src/extensions/rain/openapi-ts/core/bodySerializer.gen.ts +6 -8
- package/src/extensions/rain/openapi-ts/core/params.gen.ts +1 -1
- package/src/extensions/rain/openapi-ts/core/serverSentEvents.gen.ts +4 -5
- package/src/extensions/rain/openapi-ts/core/types.gen.ts +1 -1
- package/src/extensions/rain/openapi-ts/core/utils.gen.ts +1 -1
- package/src/extensions/rain/openapi-ts/sdk.gen.ts +1 -1
- package/src/extensions/rain/openapi-ts/types.gen.ts +14 -14
- package/src/extensions/rewards/openapi-ts/client/client.gen.ts +17 -7
- package/src/extensions/rewards/openapi-ts/client/types.gen.ts +2 -1
- package/src/extensions/rewards/openapi-ts/client/utils.gen.ts +1 -1
- package/src/extensions/rewards/openapi-ts/core/bodySerializer.gen.ts +6 -8
- package/src/extensions/rewards/openapi-ts/core/params.gen.ts +1 -1
- package/src/extensions/rewards/openapi-ts/core/serverSentEvents.gen.ts +4 -5
- package/src/extensions/rewards/openapi-ts/core/types.gen.ts +1 -1
- package/src/extensions/rewards/openapi-ts/core/utils.gen.ts +1 -1
- package/src/extensions/rewards/openapi-ts/sdk.gen.ts +1 -1
- package/src/extensions/stellar/openapi-ts/client/client.gen.ts +17 -7
- package/src/extensions/stellar/openapi-ts/client/types.gen.ts +2 -1
- package/src/extensions/stellar/openapi-ts/client/utils.gen.ts +1 -1
- package/src/extensions/stellar/openapi-ts/core/bodySerializer.gen.ts +6 -8
- package/src/extensions/stellar/openapi-ts/core/params.gen.ts +1 -1
- package/src/extensions/stellar/openapi-ts/core/serverSentEvents.gen.ts +4 -5
- package/src/extensions/stellar/openapi-ts/core/types.gen.ts +1 -1
- package/src/extensions/stellar/openapi-ts/core/utils.gen.ts +1 -1
- package/src/extensions/stellar/openapi-ts/sdk.gen.ts +1 -1
- package/src/extensions/stellar/openapi-ts/types.gen.ts +8 -8
- package/src/extensions/stellar-testnet/openapi-ts/client/client.gen.ts +17 -7
- package/src/extensions/stellar-testnet/openapi-ts/client/types.gen.ts +2 -1
- package/src/extensions/stellar-testnet/openapi-ts/client/utils.gen.ts +1 -1
- package/src/extensions/stellar-testnet/openapi-ts/core/bodySerializer.gen.ts +6 -8
- package/src/extensions/stellar-testnet/openapi-ts/core/params.gen.ts +1 -1
- package/src/extensions/stellar-testnet/openapi-ts/core/serverSentEvents.gen.ts +4 -5
- package/src/extensions/stellar-testnet/openapi-ts/core/types.gen.ts +1 -1
- package/src/extensions/stellar-testnet/openapi-ts/core/utils.gen.ts +1 -1
- package/src/extensions/stellar-testnet/openapi-ts/sdk.gen.ts +1 -1
- package/src/extensions/stellar-testnet/openapi-ts/types.gen.ts +8 -8
- package/src/platform/admin/openapi-ts/client/client.gen.ts +17 -7
- package/src/platform/admin/openapi-ts/client/types.gen.ts +2 -1
- package/src/platform/admin/openapi-ts/client/utils.gen.ts +1 -1
- package/src/platform/admin/openapi-ts/core/bodySerializer.gen.ts +6 -8
- package/src/platform/admin/openapi-ts/core/params.gen.ts +1 -1
- package/src/platform/admin/openapi-ts/core/serverSentEvents.gen.ts +4 -5
- package/src/platform/admin/openapi-ts/core/types.gen.ts +1 -1
- package/src/platform/admin/openapi-ts/core/utils.gen.ts +1 -1
- package/src/platform/admin/openapi-ts/index.ts +2 -2
- package/src/platform/admin/openapi-ts/sdk.gen.ts +54 -12
- package/src/platform/admin/openapi-ts/types.gen.ts +623 -107
- package/src/platform/user/openapi-ts/client/client.gen.ts +17 -7
- package/src/platform/user/openapi-ts/client/types.gen.ts +2 -1
- package/src/platform/user/openapi-ts/client/utils.gen.ts +1 -1
- package/src/platform/user/openapi-ts/core/bodySerializer.gen.ts +6 -8
- package/src/platform/user/openapi-ts/core/params.gen.ts +1 -1
- package/src/platform/user/openapi-ts/core/serverSentEvents.gen.ts +4 -5
- package/src/platform/user/openapi-ts/core/types.gen.ts +1 -1
- package/src/platform/user/openapi-ts/core/utils.gen.ts +1 -1
- package/src/platform/user/openapi-ts/index.ts +2 -2
- package/src/platform/user/openapi-ts/sdk.gen.ts +30 -4
- package/src/platform/user/openapi-ts/types.gen.ts +116 -52
- package/dist/chunk-7USVOK77.js +0 -7
- package/dist/chunk-G3M5QMRX.js +0 -1
- package/dist/chunk-HSPTEN45.mjs +0 -1
- package/dist/chunk-HWXE5WBF.js +0 -7
- package/dist/chunk-MUN3POSM.mjs +0 -7
- 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
|
|
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
|
|
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
|
|
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
|
|
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<
|
|
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
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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<
|
|
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
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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<
|
|
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
|
|
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,
|