modern-treasury 2.6.0 → 2.7.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/CHANGELOG.md +33 -0
- package/README.md +8 -4
- package/_shims/MultipartBody.d.ts +9 -0
- package/_shims/MultipartBody.d.ts.map +1 -0
- package/_shims/MultipartBody.js +16 -0
- package/_shims/MultipartBody.js.map +1 -0
- package/_shims/MultipartBody.mjs +12 -0
- package/_shims/MultipartBody.mjs.map +1 -0
- package/_shims/README.md +46 -0
- package/{src/_shims/ReadableStream-node.ts → _shims/auto/runtime-bun.d.ts} +2 -3
- package/_shims/auto/runtime-bun.d.ts.map +1 -0
- package/_shims/auto/runtime-bun.js +21 -0
- package/_shims/auto/runtime-bun.js.map +1 -0
- package/_shims/auto/runtime-bun.mjs +2 -0
- package/_shims/auto/runtime-bun.mjs.map +1 -0
- package/_shims/auto/runtime-node.d.ts +5 -0
- package/_shims/auto/runtime-node.d.ts.map +1 -0
- package/_shims/auto/runtime-node.js +21 -0
- package/_shims/auto/runtime-node.js.map +1 -0
- package/_shims/auto/runtime-node.mjs +2 -0
- package/_shims/auto/runtime-node.mjs.map +1 -0
- package/_shims/auto/runtime.d.ts +5 -0
- package/_shims/auto/runtime.d.ts.map +1 -0
- package/_shims/auto/runtime.js +21 -0
- package/_shims/auto/runtime.js.map +1 -0
- package/_shims/auto/runtime.mjs +2 -0
- package/_shims/auto/runtime.mjs.map +1 -0
- package/_shims/auto/types-node.d.ts +5 -0
- package/_shims/auto/types-node.d.ts.map +1 -0
- package/_shims/auto/types-node.js +21 -0
- package/_shims/auto/types-node.js.map +1 -0
- package/_shims/auto/types-node.mjs +2 -0
- package/_shims/auto/types-node.mjs.map +1 -0
- package/_shims/auto/types.d.ts +99 -0
- package/_shims/{ReadableStream.js → auto/types.js} +0 -2
- package/{src/_shims/ReadableStream.js → _shims/auto/types.mjs} +0 -2
- package/_shims/bun-runtime.d.ts +6 -0
- package/_shims/bun-runtime.d.ts.map +1 -0
- package/_shims/bun-runtime.js +14 -0
- package/_shims/bun-runtime.js.map +1 -0
- package/_shims/bun-runtime.mjs +10 -0
- package/_shims/bun-runtime.mjs.map +1 -0
- package/_shims/index.d.ts +79 -0
- package/_shims/index.js +13 -0
- package/_shims/index.mjs +7 -0
- package/_shims/manual-types.d.ts +12 -0
- package/_shims/manual-types.js +3 -0
- package/_shims/manual-types.mjs +3 -0
- package/_shims/node-runtime.d.ts +3 -0
- package/_shims/node-runtime.d.ts.map +1 -0
- package/_shims/node-runtime.js +87 -0
- package/_shims/node-runtime.js.map +1 -0
- package/_shims/node-runtime.mjs +54 -0
- package/_shims/node-runtime.mjs.map +1 -0
- package/_shims/node-types.d.ts +42 -0
- package/_shims/node-types.js +3 -0
- package/_shims/node-types.mjs +3 -0
- package/_shims/registry.d.ts +35 -0
- package/_shims/registry.d.ts.map +1 -0
- package/_shims/registry.js +39 -0
- package/_shims/registry.js.map +1 -0
- package/_shims/registry.mjs +35 -0
- package/_shims/registry.mjs.map +1 -0
- package/_shims/web-runtime.d.ts +5 -0
- package/_shims/web-runtime.d.ts.map +1 -0
- package/_shims/web-runtime.js +70 -0
- package/_shims/web-runtime.js.map +1 -0
- package/_shims/web-runtime.mjs +63 -0
- package/_shims/web-runtime.mjs.map +1 -0
- package/_shims/web-types.d.ts +82 -0
- package/_shims/web-types.js +3 -0
- package/_shims/web-types.mjs +3 -0
- package/core.d.ts +170 -223
- package/core.d.ts.map +1 -1
- package/core.js +678 -731
- package/core.js.map +1 -1
- package/core.mjs +672 -682
- package/core.mjs.map +1 -1
- package/error.d.ts +32 -32
- package/error.d.ts.map +1 -1
- package/error.js +95 -106
- package/error.js.map +1 -1
- package/error.mjs +91 -91
- package/error.mjs.map +1 -1
- package/index.d.mts +323 -333
- package/index.d.ts +323 -333
- package/index.d.ts.map +1 -1
- package/index.js +190 -243
- package/index.js.map +1 -1
- package/index.mjs +167 -190
- package/index.mjs.map +1 -1
- package/package.json +32 -58
- package/pagination.d.ts +11 -11
- package/pagination.js +30 -26
- package/pagination.mjs +28 -24
- package/resource.d.ts +10 -10
- package/resource.js +12 -12
- package/resource.mjs +10 -10
- package/resources/account-collection-flows.d.ts +71 -116
- package/resources/account-collection-flows.js +52 -62
- package/resources/account-collection-flows.js.map +1 -1
- package/resources/account-collection-flows.mjs +47 -55
- package/resources/account-collection-flows.mjs.map +1 -1
- package/resources/account-details.d.ts +59 -81
- package/resources/account-details.js +47 -50
- package/resources/account-details.js.map +1 -1
- package/resources/account-details.mjs +42 -45
- package/resources/account-details.mjs.map +1 -1
- package/resources/connections.d.ts +42 -44
- package/resources/connections.js +15 -13
- package/resources/connections.mjs +10 -8
- package/resources/counterparties.d.ts +400 -466
- package/resources/counterparties.js +63 -71
- package/resources/counterparties.js.map +1 -1
- package/resources/counterparties.mjs +58 -66
- package/resources/counterparties.mjs.map +1 -1
- package/resources/documents.d.ts +88 -120
- package/resources/documents.js +36 -42
- package/resources/documents.js.map +1 -1
- package/resources/documents.mjs +30 -36
- package/resources/documents.mjs.map +1 -1
- package/resources/events.d.ts +56 -55
- package/resources/events.js +21 -19
- package/resources/events.mjs +16 -14
- package/resources/expected-payments.d.ts +321 -373
- package/resources/expected-payments.js +46 -51
- package/resources/expected-payments.js.map +1 -1
- package/resources/expected-payments.mjs +41 -44
- package/resources/expected-payments.mjs.map +1 -1
- package/resources/external-accounts.d.ts +295 -373
- package/resources/external-accounts.js +76 -91
- package/resources/external-accounts.js.map +1 -1
- package/resources/external-accounts.mjs +71 -84
- package/resources/external-accounts.mjs.map +1 -1
- package/resources/incoming-payment-details.d.ts +200 -222
- package/resources/incoming-payment-details.js +42 -47
- package/resources/incoming-payment-details.js.map +1 -1
- package/resources/incoming-payment-details.mjs +37 -40
- package/resources/incoming-payment-details.mjs.map +1 -1
- package/resources/index.d.ts +35 -212
- package/resources/index.js +111 -484
- package/resources/index.mjs +34 -37
- package/resources/internal-accounts/balance-reports.d.ts +74 -113
- package/resources/internal-accounts/balance-reports.js +21 -23
- package/resources/internal-accounts/balance-reports.mjs +16 -18
- package/resources/internal-accounts/index.d.ts +3 -15
- package/resources/internal-accounts/index.js +10 -34
- package/resources/internal-accounts/index.mjs +3 -3
- package/resources/internal-accounts/internal-accounts.d.ts +203 -233
- package/resources/internal-accounts/internal-accounts.js +65 -86
- package/resources/internal-accounts/internal-accounts.js.map +1 -1
- package/resources/internal-accounts/internal-accounts.mjs +41 -45
- package/resources/internal-accounts/internal-accounts.mjs.map +1 -1
- package/resources/invoices/index.d.ts +3 -17
- package/resources/invoices/index.js +9 -29
- package/resources/invoices/index.mjs +3 -3
- package/resources/invoices/invoices.d.ts +509 -549
- package/resources/invoices/invoices.js +74 -95
- package/resources/invoices/invoices.js.map +1 -1
- package/resources/invoices/invoices.mjs +50 -54
- package/resources/invoices/invoices.mjs.map +1 -1
- package/resources/invoices/line-items.d.ts +119 -133
- package/resources/invoices/line-items.js +49 -52
- package/resources/invoices/line-items.js.map +1 -1
- package/resources/invoices/line-items.mjs +44 -47
- package/resources/invoices/line-items.mjs.map +1 -1
- package/resources/ledger-account-balance-monitors.d.ts +213 -224
- package/resources/ledger-account-balance-monitors.js +49 -55
- package/resources/ledger-account-balance-monitors.js.map +1 -1
- package/resources/ledger-account-balance-monitors.mjs +44 -49
- package/resources/ledger-account-balance-monitors.mjs.map +1 -1
- package/resources/ledger-account-categories.d.ts +255 -276
- package/resources/ledger-account-categories.js +84 -89
- package/resources/ledger-account-categories.js.map +1 -1
- package/resources/ledger-account-categories.mjs +79 -82
- package/resources/ledger-account-categories.mjs.map +1 -1
- package/resources/ledger-account-payouts.d.ts +151 -160
- package/resources/ledger-account-payouts.js +45 -50
- package/resources/ledger-account-payouts.js.map +1 -1
- package/resources/ledger-account-payouts.mjs +40 -43
- package/resources/ledger-account-payouts.mjs.map +1 -1
- package/resources/ledger-account-statements.d.ts +455 -461
- package/resources/ledger-account-statements.js +26 -32
- package/resources/ledger-account-statements.js.map +1 -1
- package/resources/ledger-account-statements.mjs +23 -27
- package/resources/ledger-account-statements.mjs.map +1 -1
- package/resources/ledger-accounts.d.ts +347 -357
- package/resources/ledger-accounts.js +45 -48
- package/resources/ledger-accounts.js.map +1 -1
- package/resources/ledger-accounts.mjs +40 -43
- package/resources/ledger-accounts.mjs.map +1 -1
- package/resources/ledger-entries.d.ts +244 -250
- package/resources/ledger-entries.js +20 -18
- package/resources/ledger-entries.mjs +15 -13
- package/resources/ledger-event-handlers.d.ts +369 -376
- package/resources/ledger-event-handlers.js +44 -49
- package/resources/ledger-event-handlers.js.map +1 -1
- package/resources/ledger-event-handlers.mjs +39 -42
- package/resources/ledger-event-handlers.mjs.map +1 -1
- package/resources/ledger-transactions/index.d.ts +3 -16
- package/resources/ledger-transactions/index.js +10 -34
- package/resources/ledger-transactions/index.mjs +3 -3
- package/resources/ledger-transactions/ledger-transactions.d.ts +335 -389
- package/resources/ledger-transactions/ledger-transactions.js +70 -91
- package/resources/ledger-transactions/ledger-transactions.js.map +1 -1
- package/resources/ledger-transactions/ledger-transactions.mjs +46 -50
- package/resources/ledger-transactions/ledger-transactions.mjs.map +1 -1
- package/resources/ledger-transactions/versions.d.ts +199 -214
- package/resources/ledger-transactions/versions.js +18 -16
- package/resources/ledger-transactions/versions.mjs +13 -11
- package/resources/ledgerable-events.d.ts +96 -99
- package/resources/ledgerable-events.js +27 -33
- package/resources/ledgerable-events.js.map +1 -1
- package/resources/ledgerable-events.mjs +24 -28
- package/resources/ledgerable-events.mjs.map +1 -1
- package/resources/ledgers.d.ts +98 -97
- package/resources/ledgers.js +46 -49
- package/resources/ledgers.js.map +1 -1
- package/resources/ledgers.mjs +41 -44
- package/resources/ledgers.mjs.map +1 -1
- package/resources/line-items.d.ts +78 -101
- package/resources/line-items.js +29 -27
- package/resources/line-items.mjs +24 -22
- package/resources/paper-items.d.ts +91 -93
- package/resources/paper-items.js +21 -19
- package/resources/paper-items.mjs +16 -14
- package/resources/payment-flows.d.ts +132 -138
- package/resources/payment-flows.js +49 -57
- package/resources/payment-flows.js.map +1 -1
- package/resources/payment-flows.mjs +44 -52
- package/resources/payment-flows.mjs.map +1 -1
- package/resources/payment-orders/index.d.ts +3 -13
- package/resources/payment-orders/index.js +9 -29
- package/resources/payment-orders/index.mjs +3 -3
- package/resources/payment-orders/payment-orders.d.ts +1416 -1696
- package/resources/payment-orders/payment-orders.js +80 -109
- package/resources/payment-orders/payment-orders.js.map +1 -1
- package/resources/payment-orders/payment-orders.mjs +55 -67
- package/resources/payment-orders/payment-orders.mjs.map +1 -1
- package/resources/payment-orders/reversals.d.ts +153 -183
- package/resources/payment-orders/reversals.js +38 -41
- package/resources/payment-orders/reversals.js.map +1 -1
- package/resources/payment-orders/reversals.mjs +33 -36
- package/resources/payment-orders/reversals.mjs.map +1 -1
- package/resources/payment-references.d.ts +61 -118
- package/resources/payment-references.js +26 -26
- package/resources/payment-references.mjs +21 -19
- package/resources/returns.d.ts +167 -324
- package/resources/returns.js +35 -38
- package/resources/returns.js.map +1 -1
- package/resources/returns.mjs +30 -33
- package/resources/returns.mjs.map +1 -1
- package/resources/routing-details.d.ts +83 -173
- package/resources/routing-details.js +47 -50
- package/resources/routing-details.js.map +1 -1
- package/resources/routing-details.mjs +42 -45
- package/resources/routing-details.mjs.map +1 -1
- package/resources/shared.d.ts +4 -194
- package/resources/shared.js +3 -3
- package/resources/shared.mjs +1 -1
- package/resources/top-level.d.ts +4 -4
- package/resources/top-level.js +5 -4
- package/resources/top-level.mjs +3 -2
- package/resources/transactions/index.d.ts +3 -14
- package/resources/transactions/index.js +10 -34
- package/resources/transactions/index.mjs +3 -3
- package/resources/transactions/line-items.d.ts +69 -78
- package/resources/transactions/line-items.js +21 -19
- package/resources/transactions/line-items.mjs +16 -14
- package/resources/transactions/transactions.d.ts +163 -211
- package/resources/transactions/transactions.js +51 -67
- package/resources/transactions/transactions.mjs +27 -26
- package/resources/validations.d.ts +67 -111
- package/resources/validations.js +13 -12
- package/resources/validations.mjs +10 -9
- package/resources/virtual-accounts.d.ts +161 -201
- package/resources/virtual-accounts.js +46 -51
- package/resources/virtual-accounts.js.map +1 -1
- package/resources/virtual-accounts.mjs +41 -44
- package/resources/virtual-accounts.mjs.map +1 -1
- package/resources/webhooks.d.ts +21 -28
- package/resources/webhooks.js +35 -37
- package/resources/webhooks.js.map +1 -1
- package/resources/webhooks.mjs +30 -31
- package/resources/webhooks.mjs.map +1 -1
- package/shims/node.d.ts +29 -0
- package/shims/node.d.ts.map +1 -0
- package/shims/node.js +31 -0
- package/shims/node.js.map +1 -0
- package/shims/node.mjs +5 -0
- package/shims/node.mjs.map +1 -0
- package/shims/web.d.ts +26 -0
- package/shims/web.d.ts.map +1 -0
- package/shims/web.js +31 -0
- package/shims/web.js.map +1 -0
- package/shims/web.mjs +5 -0
- package/shims/web.mjs.map +1 -0
- package/src/_shims/MultipartBody.ts +9 -0
- package/src/_shims/README.md +46 -0
- package/src/_shims/auto/runtime-bun.ts +4 -0
- package/src/_shims/auto/runtime-node.ts +4 -0
- package/src/_shims/auto/runtime.ts +4 -0
- package/src/_shims/auto/types-node.ts +4 -0
- package/src/_shims/auto/types.d.ts +99 -0
- package/src/_shims/auto/types.js +3 -0
- package/src/_shims/auto/types.mjs +3 -0
- package/src/_shims/bun-runtime.ts +14 -0
- package/src/_shims/index.d.ts +79 -0
- package/src/_shims/index.js +13 -0
- package/src/_shims/index.mjs +7 -0
- package/src/_shims/manual-types.d.ts +12 -0
- package/src/_shims/manual-types.js +3 -0
- package/src/_shims/manual-types.mjs +3 -0
- package/src/_shims/node-runtime.ts +79 -0
- package/src/_shims/node-types.d.ts +42 -0
- package/src/_shims/node-types.js +3 -0
- package/src/_shims/node-types.mjs +3 -0
- package/src/_shims/registry.ts +64 -0
- package/src/_shims/web-runtime.ts +91 -0
- package/src/_shims/web-types.d.ts +82 -0
- package/src/_shims/web-types.js +3 -0
- package/src/_shims/web-types.mjs +3 -0
- package/src/core.ts +72 -43
- package/src/error.ts +4 -2
- package/src/index.ts +10 -8
- package/src/pagination.ts +1 -1
- package/src/resource.ts +1 -1
- package/src/resources/account-collection-flows.ts +5 -5
- package/src/resources/account-details.ts +6 -6
- package/src/resources/connections.ts +5 -5
- package/src/resources/counterparties.ts +8 -8
- package/src/resources/documents.ts +6 -6
- package/src/resources/events.ts +5 -5
- package/src/resources/expected-payments.ts +6 -6
- package/src/resources/external-accounts.ts +8 -8
- package/src/resources/incoming-payment-details.ts +7 -7
- package/src/resources/index.ts +34 -40
- package/src/resources/internal-accounts/balance-reports.ts +6 -6
- package/src/resources/internal-accounts/index.ts +2 -2
- package/src/resources/internal-accounts/internal-accounts.ts +10 -10
- package/src/resources/invoices/index.ts +2 -2
- package/src/resources/invoices/invoices.ts +8 -8
- package/src/resources/invoices/line-items.ts +5 -5
- package/src/resources/ledger-account-balance-monitors.ts +5 -5
- package/src/resources/ledger-account-categories.ts +5 -5
- package/src/resources/ledger-account-payouts.ts +5 -5
- package/src/resources/ledger-account-statements.ts +3 -3
- package/src/resources/ledger-accounts.ts +5 -5
- package/src/resources/ledger-entries.ts +5 -5
- package/src/resources/ledger-event-handlers.ts +5 -5
- package/src/resources/ledger-transactions/index.ts +2 -2
- package/src/resources/ledger-transactions/ledger-transactions.ts +7 -7
- package/src/resources/ledger-transactions/versions.ts +5 -5
- package/src/resources/ledgerable-events.ts +3 -3
- package/src/resources/ledgers.ts +5 -5
- package/src/resources/line-items.ts +5 -5
- package/src/resources/paper-items.ts +6 -6
- package/src/resources/payment-flows.ts +5 -5
- package/src/resources/payment-orders/index.ts +2 -2
- package/src/resources/payment-orders/payment-orders.ts +10 -10
- package/src/resources/payment-orders/reversals.ts +5 -5
- package/src/resources/payment-references.ts +5 -5
- package/src/resources/returns.ts +6 -6
- package/src/resources/routing-details.ts +6 -6
- package/src/resources/top-level.ts +1 -1
- package/src/resources/transactions/index.ts +2 -7
- package/src/resources/transactions/line-items.ts +5 -5
- package/src/resources/transactions/transactions.ts +7 -7
- package/src/resources/validations.ts +3 -3
- package/src/resources/virtual-accounts.ts +7 -7
- package/src/resources/webhooks.ts +3 -3
- package/src/shims/node.ts +50 -0
- package/src/shims/web.ts +50 -0
- package/src/uploads.ts +12 -16
- package/src/version.ts +1 -1
- package/uploads.d.ts +23 -39
- package/uploads.d.ts.map +1 -1
- package/uploads.js +111 -157
- package/uploads.js.map +1 -1
- package/uploads.mjs +107 -133
- package/uploads.mjs.map +1 -1
- package/version.d.ts +2 -2
- package/version.js +4 -4
- package/version.mjs +2 -2
- package/_shims/ReadableStream-node.d.ts +0 -6
- package/_shims/ReadableStream-node.d.ts.map +0 -1
- package/_shims/ReadableStream-node.js +0 -14
- package/_shims/ReadableStream-node.js.map +0 -1
- package/_shims/ReadableStream-node.mjs +0 -3
- package/_shims/ReadableStream-node.mjs.map +0 -1
- package/_shims/ReadableStream.d.ts +0 -38
- package/_shims/ReadableStream.mjs +0 -7
- package/_shims/agent-node.d.ts +0 -7
- package/_shims/agent-node.d.ts.map +0 -1
- package/_shims/agent-node.js +0 -28
- package/_shims/agent-node.js.map +0 -1
- package/_shims/agent-node.mjs +0 -16
- package/_shims/agent-node.mjs.map +0 -1
- package/_shims/agent.d.ts +0 -9
- package/_shims/agent.d.ts.map +0 -1
- package/_shims/agent.js +0 -14
- package/_shims/agent.js.map +0 -1
- package/_shims/agent.mjs +0 -10
- package/_shims/agent.mjs.map +0 -1
- package/_shims/fetch-node.d.ts +0 -64
- package/_shims/fetch-node.js +0 -12
- package/_shims/fetch-node.mjs +0 -14
- package/_shims/fetch.d.ts +0 -60
- package/_shims/fetch.js +0 -13
- package/_shims/fetch.mjs +0 -15
- package/_shims/fileFromPath-node.d.ts +0 -17
- package/_shims/fileFromPath-node.d.ts.map +0 -1
- package/_shims/fileFromPath-node.js +0 -17
- package/_shims/fileFromPath-node.js.map +0 -1
- package/_shims/fileFromPath-node.mjs +0 -13
- package/_shims/fileFromPath-node.mjs.map +0 -1
- package/_shims/fileFromPath.d.ts +0 -22
- package/_shims/fileFromPath.d.ts.map +0 -1
- package/_shims/fileFromPath.js +0 -16
- package/_shims/fileFromPath.js.map +0 -1
- package/_shims/fileFromPath.mjs +0 -12
- package/_shims/fileFromPath.mjs.map +0 -1
- package/_shims/form-data-node.d.ts +0 -45
- package/_shims/form-data-node.js +0 -11
- package/_shims/form-data-node.mjs +0 -9
- package/_shims/form-data.d.ts +0 -43
- package/_shims/form-data.js +0 -17
- package/_shims/form-data.mjs +0 -20
- package/_shims/getMultipartRequestOptions-node.d.ts +0 -10
- package/_shims/getMultipartRequestOptions-node.d.ts.map +0 -1
- package/_shims/getMultipartRequestOptions-node.js +0 -22
- package/_shims/getMultipartRequestOptions-node.js.map +0 -1
- package/_shims/getMultipartRequestOptions-node.mjs +0 -18
- package/_shims/getMultipartRequestOptions-node.mjs.map +0 -1
- package/_shims/getMultipartRequestOptions.d.ts +0 -10
- package/_shims/getMultipartRequestOptions.d.ts.map +0 -1
- package/_shims/getMultipartRequestOptions.js +0 -12
- package/_shims/getMultipartRequestOptions.js.map +0 -1
- package/_shims/getMultipartRequestOptions.mjs +0 -8
- package/_shims/getMultipartRequestOptions.mjs.map +0 -1
- package/_shims/node-readable-node.d.ts +0 -8
- package/_shims/node-readable-node.d.ts.map +0 -1
- package/_shims/node-readable-node.js +0 -9
- package/_shims/node-readable-node.js.map +0 -1
- package/_shims/node-readable-node.mjs +0 -5
- package/_shims/node-readable-node.mjs.map +0 -1
- package/_shims/node-readable.d.ts +0 -23
- package/_shims/node-readable.d.ts.map +0 -1
- package/_shims/node-readable.js +0 -11
- package/_shims/node-readable.js.map +0 -1
- package/_shims/node-readable.mjs +0 -7
- package/_shims/node-readable.mjs.map +0 -1
- package/src/_shims/ReadableStream.d.ts +0 -38
- package/src/_shims/ReadableStream.mjs +0 -7
- package/src/_shims/agent-node.ts +0 -22
- package/src/_shims/agent.ts +0 -12
- package/src/_shims/fetch-node.d.ts +0 -64
- package/src/_shims/fetch-node.js +0 -12
- package/src/_shims/fetch-node.mjs +0 -14
- package/src/_shims/fetch.d.ts +0 -60
- package/src/_shims/fetch.js +0 -13
- package/src/_shims/fetch.mjs +0 -15
- package/src/_shims/fileFromPath-node.ts +0 -29
- package/src/_shims/fileFromPath.ts +0 -29
- package/src/_shims/form-data-node.d.ts +0 -45
- package/src/_shims/form-data-node.js +0 -11
- package/src/_shims/form-data-node.mjs +0 -9
- package/src/_shims/form-data.d.ts +0 -43
- package/src/_shims/form-data.js +0 -17
- package/src/_shims/form-data.mjs +0 -20
- package/src/_shims/getMultipartRequestOptions-node.ts +0 -25
- package/src/_shims/getMultipartRequestOptions.ts +0 -14
- package/src/_shims/node-readable-node.ts +0 -10
- package/src/_shims/node-readable.ts +0 -30
package/uploads.js
CHANGED
|
@@ -1,59 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports,
|
|
3
|
-
exports.createForm =
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
exports.isFileLike =
|
|
12
|
-
exports.isResponseLike =
|
|
13
|
-
exports.fileFromPath =
|
|
14
|
-
void 0;
|
|
15
|
-
const form_data_1 = require('modern-treasury/_shims/form-data');
|
|
16
|
-
const getMultipartRequestOptions_1 = require('modern-treasury/_shims/getMultipartRequestOptions');
|
|
17
|
-
const fileFromPath_1 = require('modern-treasury/_shims/fileFromPath');
|
|
18
|
-
Object.defineProperty(exports, 'fileFromPath', {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function () {
|
|
21
|
-
return fileFromPath_1.fileFromPath;
|
|
22
|
-
},
|
|
23
|
-
});
|
|
24
|
-
const node_readable_1 = require('modern-treasury/_shims/node-readable');
|
|
25
|
-
const isResponseLike = (value) =>
|
|
26
|
-
value != null &&
|
|
27
|
-
typeof value === 'object' &&
|
|
28
|
-
typeof value.url === 'string' &&
|
|
29
|
-
typeof value.blob === 'function';
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createForm = exports.multipartFormRequestOptions = exports.maybeMultipartFormRequestOptions = exports.isMultipartBody = exports.toFile = exports.isUploadable = exports.isBlobLike = exports.isFileLike = exports.isResponseLike = exports.fileFromPath = void 0;
|
|
4
|
+
const index_1 = require("./_shims/index.js");
|
|
5
|
+
var index_2 = require("./_shims/index.js");
|
|
6
|
+
Object.defineProperty(exports, "fileFromPath", { enumerable: true, get: function () { return index_2.fileFromPath; } });
|
|
7
|
+
const isResponseLike = (value) => value != null &&
|
|
8
|
+
typeof value === 'object' &&
|
|
9
|
+
typeof value.url === 'string' &&
|
|
10
|
+
typeof value.blob === 'function';
|
|
30
11
|
exports.isResponseLike = isResponseLike;
|
|
31
|
-
const isFileLike = (value) =>
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
(0, exports.isBlobLike)(value);
|
|
12
|
+
const isFileLike = (value) => value != null &&
|
|
13
|
+
typeof value === 'object' &&
|
|
14
|
+
typeof value.name === 'string' &&
|
|
15
|
+
typeof value.lastModified === 'number' &&
|
|
16
|
+
(0, exports.isBlobLike)(value);
|
|
37
17
|
exports.isFileLike = isFileLike;
|
|
38
18
|
/**
|
|
39
19
|
* The BlobLike type omits arrayBuffer() because @types/node-fetch@^2.6.4 lacks it; but this check
|
|
40
20
|
* adds the arrayBuffer() method type because it is available and used at runtime
|
|
41
21
|
*/
|
|
42
|
-
const isBlobLike = (value) =>
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
typeof value.arrayBuffer === 'function';
|
|
22
|
+
const isBlobLike = (value) => value != null &&
|
|
23
|
+
typeof value === 'object' &&
|
|
24
|
+
typeof value.size === 'number' &&
|
|
25
|
+
typeof value.type === 'string' &&
|
|
26
|
+
typeof value.text === 'function' &&
|
|
27
|
+
typeof value.slice === 'function' &&
|
|
28
|
+
typeof value.arrayBuffer === 'function';
|
|
50
29
|
exports.isBlobLike = isBlobLike;
|
|
51
30
|
const isUploadable = (value) => {
|
|
52
|
-
|
|
53
|
-
(0, exports.isFileLike)(value) ||
|
|
54
|
-
(0, exports.isResponseLike)(value) ||
|
|
55
|
-
(0, node_readable_1.isFsReadStream)(value)
|
|
56
|
-
);
|
|
31
|
+
return (0, exports.isFileLike)(value) || (0, exports.isResponseLike)(value) || (0, index_1.isFsReadStream)(value);
|
|
57
32
|
};
|
|
58
33
|
exports.isUploadable = isUploadable;
|
|
59
34
|
/**
|
|
@@ -66,143 +41,122 @@ exports.isUploadable = isUploadable;
|
|
|
66
41
|
* @returns a {@link File} with the given properties
|
|
67
42
|
*/
|
|
68
43
|
async function toFile(value, name, options = {}) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
(name =
|
|
76
|
-
(_a = new URL(value.url).pathname.split(/[\\/]/).pop()) !== null && _a !== void 0 ?
|
|
77
|
-
_a
|
|
78
|
-
: 'unknown_file');
|
|
79
|
-
return new form_data_1.File([blob], name, options);
|
|
80
|
-
}
|
|
81
|
-
const bits = await getBytes(value);
|
|
82
|
-
name || (name = (_b = getName(value)) !== null && _b !== void 0 ? _b : 'unknown_file');
|
|
83
|
-
if (!options.type) {
|
|
84
|
-
const type = (_c = bits[0]) === null || _c === void 0 ? void 0 : _c.type;
|
|
85
|
-
if (typeof type === 'string') {
|
|
86
|
-
options = { ...options, type };
|
|
44
|
+
// If it's a promise, resolve it.
|
|
45
|
+
value = await value;
|
|
46
|
+
if ((0, exports.isResponseLike)(value)) {
|
|
47
|
+
const blob = await value.blob();
|
|
48
|
+
name || (name = new URL(value.url).pathname.split(/[\\/]/).pop() ?? 'unknown_file');
|
|
49
|
+
return new index_1.File([blob], name, options);
|
|
87
50
|
}
|
|
88
|
-
|
|
89
|
-
|
|
51
|
+
const bits = await getBytes(value);
|
|
52
|
+
name || (name = getName(value) ?? 'unknown_file');
|
|
53
|
+
if (!options.type) {
|
|
54
|
+
const type = bits[0]?.type;
|
|
55
|
+
if (typeof type === 'string') {
|
|
56
|
+
options = { ...options, type };
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return new index_1.File(bits, name, options);
|
|
90
60
|
}
|
|
91
61
|
exports.toFile = toFile;
|
|
92
62
|
async function getBytes(value) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
parts.push(chunk); // TODO, consider validating?
|
|
63
|
+
let parts = [];
|
|
64
|
+
if (typeof value === 'string' ||
|
|
65
|
+
ArrayBuffer.isView(value) || // includes Uint8Array, Buffer, etc.
|
|
66
|
+
value instanceof ArrayBuffer) {
|
|
67
|
+
parts.push(value);
|
|
68
|
+
}
|
|
69
|
+
else if ((0, exports.isBlobLike)(value)) {
|
|
70
|
+
parts.push(await value.arrayBuffer());
|
|
71
|
+
}
|
|
72
|
+
else if (isAsyncIterableIterator(value) // includes Readable, ReadableStream, etc.
|
|
73
|
+
) {
|
|
74
|
+
for await (const chunk of value) {
|
|
75
|
+
parts.push(chunk); // TODO, consider validating?
|
|
76
|
+
}
|
|
108
77
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
void 0
|
|
114
|
-
: _a.name
|
|
115
|
-
}; props: ${propsForError(value)}`,
|
|
116
|
-
);
|
|
117
|
-
}
|
|
118
|
-
return parts;
|
|
78
|
+
else {
|
|
79
|
+
throw new Error(`Unexpected data type: ${typeof value}; constructor: ${value?.constructor?.name}; props: ${propsForError(value)}`);
|
|
80
|
+
}
|
|
81
|
+
return parts;
|
|
119
82
|
}
|
|
120
83
|
function propsForError(value) {
|
|
121
|
-
|
|
122
|
-
|
|
84
|
+
const props = Object.getOwnPropertyNames(value);
|
|
85
|
+
return `[${props.map((p) => `"${p}"`).join(', ')}]`;
|
|
123
86
|
}
|
|
124
87
|
function getName(value) {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
// For fs.ReadStream
|
|
130
|
-
((_a = getStringFromMaybeBuffer(value.path)) === null || _a === void 0 ? void 0 : _a.split(/[\\/]/).pop())
|
|
131
|
-
);
|
|
88
|
+
return (getStringFromMaybeBuffer(value.name) ||
|
|
89
|
+
getStringFromMaybeBuffer(value.filename) ||
|
|
90
|
+
// For fs.ReadStream
|
|
91
|
+
getStringFromMaybeBuffer(value.path)?.split(/[\\/]/).pop());
|
|
132
92
|
}
|
|
133
93
|
const getStringFromMaybeBuffer = (x) => {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
94
|
+
if (typeof x === 'string')
|
|
95
|
+
return x;
|
|
96
|
+
if (typeof Buffer !== 'undefined' && x instanceof Buffer)
|
|
97
|
+
return String(x);
|
|
98
|
+
return undefined;
|
|
137
99
|
};
|
|
138
|
-
const isAsyncIterableIterator = (value) =>
|
|
139
|
-
|
|
140
|
-
class MultipartBody {
|
|
141
|
-
constructor(body) {
|
|
142
|
-
this.body = body;
|
|
143
|
-
}
|
|
144
|
-
get [Symbol.toStringTag]() {
|
|
145
|
-
return 'MultipartBody';
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
exports.MultipartBody = MultipartBody;
|
|
149
|
-
const isMultipartBody = (body) =>
|
|
150
|
-
body && typeof body === 'object' && body.body && body[Symbol.toStringTag] === 'MultipartBody';
|
|
100
|
+
const isAsyncIterableIterator = (value) => value != null && typeof value === 'object' && typeof value[Symbol.asyncIterator] === 'function';
|
|
101
|
+
const isMultipartBody = (body) => body && typeof body === 'object' && body.body && body[Symbol.toStringTag] === 'MultipartBody';
|
|
151
102
|
exports.isMultipartBody = isMultipartBody;
|
|
152
103
|
/**
|
|
153
104
|
* Returns a multipart/form-data request if any part of the given request body contains a File / Blob value.
|
|
154
105
|
* Otherwise returns the request as is.
|
|
155
106
|
*/
|
|
156
107
|
const maybeMultipartFormRequestOptions = async (opts) => {
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
108
|
+
if (!hasUploadableValue(opts.body))
|
|
109
|
+
return opts;
|
|
110
|
+
const form = await (0, exports.createForm)(opts.body);
|
|
111
|
+
return (0, index_1.getMultipartRequestOptions)(form, opts);
|
|
160
112
|
};
|
|
161
113
|
exports.maybeMultipartFormRequestOptions = maybeMultipartFormRequestOptions;
|
|
162
114
|
const multipartFormRequestOptions = async (opts) => {
|
|
163
|
-
|
|
164
|
-
|
|
115
|
+
const form = await (0, exports.createForm)(opts.body);
|
|
116
|
+
return (0, index_1.getMultipartRequestOptions)(form, opts);
|
|
165
117
|
};
|
|
166
118
|
exports.multipartFormRequestOptions = multipartFormRequestOptions;
|
|
167
119
|
const createForm = async (body) => {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
120
|
+
const form = new index_1.FormData();
|
|
121
|
+
await Promise.all(Object.entries(body || {}).map(([key, value]) => addFormValue(form, key, value)));
|
|
122
|
+
return form;
|
|
171
123
|
};
|
|
172
124
|
exports.createForm = createForm;
|
|
173
125
|
const hasUploadableValue = (value) => {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
126
|
+
if ((0, exports.isUploadable)(value))
|
|
127
|
+
return true;
|
|
128
|
+
if (Array.isArray(value))
|
|
129
|
+
return value.some(hasUploadableValue);
|
|
130
|
+
if (value && typeof value === 'object') {
|
|
131
|
+
for (const k in value) {
|
|
132
|
+
if (hasUploadableValue(value[k]))
|
|
133
|
+
return true;
|
|
134
|
+
}
|
|
179
135
|
}
|
|
180
|
-
|
|
181
|
-
return false;
|
|
136
|
+
return false;
|
|
182
137
|
};
|
|
183
138
|
const addFormValue = async (form, key, value) => {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
}
|
|
139
|
+
if (value === undefined)
|
|
140
|
+
return;
|
|
141
|
+
if (value == null) {
|
|
142
|
+
throw new TypeError(`Received null for "${key}"; to pass null in FormData, you must use the string 'null'`);
|
|
143
|
+
}
|
|
144
|
+
// TODO: make nested formats configurable
|
|
145
|
+
if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
|
|
146
|
+
form.append(key, String(value));
|
|
147
|
+
}
|
|
148
|
+
else if ((0, exports.isUploadable)(value)) {
|
|
149
|
+
const file = await toFile(value);
|
|
150
|
+
form.append(key, file);
|
|
151
|
+
}
|
|
152
|
+
else if (Array.isArray(value)) {
|
|
153
|
+
await Promise.all(value.map((entry) => addFormValue(form, key + '[]', entry)));
|
|
154
|
+
}
|
|
155
|
+
else if (typeof value === 'object') {
|
|
156
|
+
await Promise.all(Object.entries(value).map(([name, prop]) => addFormValue(form, `${key}[${name}]`, prop)));
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${value} instead`);
|
|
160
|
+
}
|
|
207
161
|
};
|
|
208
|
-
//# sourceMappingURL=uploads.js.map
|
|
162
|
+
//# sourceMappingURL=uploads.js.map
|
package/uploads.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploads.js","sourceRoot":"","sources":["src/uploads.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"uploads.js","sourceRoot":"","sources":["src/uploads.ts"],"names":[],"mappings":"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"}
|
package/uploads.mjs
CHANGED
|
@@ -1,33 +1,27 @@
|
|
|
1
|
-
import { FormData, File } from
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
value != null &&
|
|
13
|
-
typeof value === 'object' &&
|
|
14
|
-
typeof value.name === 'string' &&
|
|
15
|
-
typeof value.lastModified === 'number' &&
|
|
16
|
-
isBlobLike(value);
|
|
1
|
+
import { FormData, File, getMultipartRequestOptions, isFsReadStream, } from "./_shims/index.mjs";
|
|
2
|
+
export { fileFromPath } from "./_shims/index.mjs";
|
|
3
|
+
export const isResponseLike = (value) => value != null &&
|
|
4
|
+
typeof value === 'object' &&
|
|
5
|
+
typeof value.url === 'string' &&
|
|
6
|
+
typeof value.blob === 'function';
|
|
7
|
+
export const isFileLike = (value) => value != null &&
|
|
8
|
+
typeof value === 'object' &&
|
|
9
|
+
typeof value.name === 'string' &&
|
|
10
|
+
typeof value.lastModified === 'number' &&
|
|
11
|
+
isBlobLike(value);
|
|
17
12
|
/**
|
|
18
13
|
* The BlobLike type omits arrayBuffer() because @types/node-fetch@^2.6.4 lacks it; but this check
|
|
19
14
|
* adds the arrayBuffer() method type because it is available and used at runtime
|
|
20
15
|
*/
|
|
21
|
-
export const isBlobLike = (value) =>
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
typeof value.arrayBuffer === 'function';
|
|
16
|
+
export const isBlobLike = (value) => value != null &&
|
|
17
|
+
typeof value === 'object' &&
|
|
18
|
+
typeof value.size === 'number' &&
|
|
19
|
+
typeof value.type === 'string' &&
|
|
20
|
+
typeof value.text === 'function' &&
|
|
21
|
+
typeof value.slice === 'function' &&
|
|
22
|
+
typeof value.arrayBuffer === 'function';
|
|
29
23
|
export const isUploadable = (value) => {
|
|
30
|
-
|
|
24
|
+
return isFileLike(value) || isResponseLike(value) || isFsReadStream(value);
|
|
31
25
|
};
|
|
32
26
|
/**
|
|
33
27
|
* Helper for creating a {@link File} to pass to an SDK upload method from a variety of different data formats
|
|
@@ -39,137 +33,117 @@ export const isUploadable = (value) => {
|
|
|
39
33
|
* @returns a {@link File} with the given properties
|
|
40
34
|
*/
|
|
41
35
|
export async function toFile(value, name, options = {}) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
(name =
|
|
49
|
-
(_a = new URL(value.url).pathname.split(/[\\/]/).pop()) !== null && _a !== void 0 ?
|
|
50
|
-
_a
|
|
51
|
-
: 'unknown_file');
|
|
52
|
-
return new File([blob], name, options);
|
|
53
|
-
}
|
|
54
|
-
const bits = await getBytes(value);
|
|
55
|
-
name || (name = (_b = getName(value)) !== null && _b !== void 0 ? _b : 'unknown_file');
|
|
56
|
-
if (!options.type) {
|
|
57
|
-
const type = (_c = bits[0]) === null || _c === void 0 ? void 0 : _c.type;
|
|
58
|
-
if (typeof type === 'string') {
|
|
59
|
-
options = { ...options, type };
|
|
36
|
+
// If it's a promise, resolve it.
|
|
37
|
+
value = await value;
|
|
38
|
+
if (isResponseLike(value)) {
|
|
39
|
+
const blob = await value.blob();
|
|
40
|
+
name || (name = new URL(value.url).pathname.split(/[\\/]/).pop() ?? 'unknown_file');
|
|
41
|
+
return new File([blob], name, options);
|
|
60
42
|
}
|
|
61
|
-
|
|
62
|
-
|
|
43
|
+
const bits = await getBytes(value);
|
|
44
|
+
name || (name = getName(value) ?? 'unknown_file');
|
|
45
|
+
if (!options.type) {
|
|
46
|
+
const type = bits[0]?.type;
|
|
47
|
+
if (typeof type === 'string') {
|
|
48
|
+
options = { ...options, type };
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return new File(bits, name, options);
|
|
63
52
|
}
|
|
64
53
|
async function getBytes(value) {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
parts.push(chunk); // TODO, consider validating?
|
|
54
|
+
let parts = [];
|
|
55
|
+
if (typeof value === 'string' ||
|
|
56
|
+
ArrayBuffer.isView(value) || // includes Uint8Array, Buffer, etc.
|
|
57
|
+
value instanceof ArrayBuffer) {
|
|
58
|
+
parts.push(value);
|
|
59
|
+
}
|
|
60
|
+
else if (isBlobLike(value)) {
|
|
61
|
+
parts.push(await value.arrayBuffer());
|
|
62
|
+
}
|
|
63
|
+
else if (isAsyncIterableIterator(value) // includes Readable, ReadableStream, etc.
|
|
64
|
+
) {
|
|
65
|
+
for await (const chunk of value) {
|
|
66
|
+
parts.push(chunk); // TODO, consider validating?
|
|
67
|
+
}
|
|
80
68
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
void 0
|
|
86
|
-
: _a.name
|
|
87
|
-
}; props: ${propsForError(value)}`,
|
|
88
|
-
);
|
|
89
|
-
}
|
|
90
|
-
return parts;
|
|
69
|
+
else {
|
|
70
|
+
throw new Error(`Unexpected data type: ${typeof value}; constructor: ${value?.constructor?.name}; props: ${propsForError(value)}`);
|
|
71
|
+
}
|
|
72
|
+
return parts;
|
|
91
73
|
}
|
|
92
74
|
function propsForError(value) {
|
|
93
|
-
|
|
94
|
-
|
|
75
|
+
const props = Object.getOwnPropertyNames(value);
|
|
76
|
+
return `[${props.map((p) => `"${p}"`).join(', ')}]`;
|
|
95
77
|
}
|
|
96
78
|
function getName(value) {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
// For fs.ReadStream
|
|
102
|
-
((_a = getStringFromMaybeBuffer(value.path)) === null || _a === void 0 ? void 0 : _a.split(/[\\/]/).pop())
|
|
103
|
-
);
|
|
79
|
+
return (getStringFromMaybeBuffer(value.name) ||
|
|
80
|
+
getStringFromMaybeBuffer(value.filename) ||
|
|
81
|
+
// For fs.ReadStream
|
|
82
|
+
getStringFromMaybeBuffer(value.path)?.split(/[\\/]/).pop());
|
|
104
83
|
}
|
|
105
84
|
const getStringFromMaybeBuffer = (x) => {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
85
|
+
if (typeof x === 'string')
|
|
86
|
+
return x;
|
|
87
|
+
if (typeof Buffer !== 'undefined' && x instanceof Buffer)
|
|
88
|
+
return String(x);
|
|
89
|
+
return undefined;
|
|
109
90
|
};
|
|
110
|
-
const isAsyncIterableIterator = (value) =>
|
|
111
|
-
|
|
112
|
-
export class MultipartBody {
|
|
113
|
-
constructor(body) {
|
|
114
|
-
this.body = body;
|
|
115
|
-
}
|
|
116
|
-
get [Symbol.toStringTag]() {
|
|
117
|
-
return 'MultipartBody';
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
export const isMultipartBody = (body) =>
|
|
121
|
-
body && typeof body === 'object' && body.body && body[Symbol.toStringTag] === 'MultipartBody';
|
|
91
|
+
const isAsyncIterableIterator = (value) => value != null && typeof value === 'object' && typeof value[Symbol.asyncIterator] === 'function';
|
|
92
|
+
export const isMultipartBody = (body) => body && typeof body === 'object' && body.body && body[Symbol.toStringTag] === 'MultipartBody';
|
|
122
93
|
/**
|
|
123
94
|
* Returns a multipart/form-data request if any part of the given request body contains a File / Blob value.
|
|
124
95
|
* Otherwise returns the request as is.
|
|
125
96
|
*/
|
|
126
97
|
export const maybeMultipartFormRequestOptions = async (opts) => {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
98
|
+
if (!hasUploadableValue(opts.body))
|
|
99
|
+
return opts;
|
|
100
|
+
const form = await createForm(opts.body);
|
|
101
|
+
return getMultipartRequestOptions(form, opts);
|
|
130
102
|
};
|
|
131
103
|
export const multipartFormRequestOptions = async (opts) => {
|
|
132
|
-
|
|
133
|
-
|
|
104
|
+
const form = await createForm(opts.body);
|
|
105
|
+
return getMultipartRequestOptions(form, opts);
|
|
134
106
|
};
|
|
135
107
|
export const createForm = async (body) => {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
108
|
+
const form = new FormData();
|
|
109
|
+
await Promise.all(Object.entries(body || {}).map(([key, value]) => addFormValue(form, key, value)));
|
|
110
|
+
return form;
|
|
139
111
|
};
|
|
140
112
|
const hasUploadableValue = (value) => {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
113
|
+
if (isUploadable(value))
|
|
114
|
+
return true;
|
|
115
|
+
if (Array.isArray(value))
|
|
116
|
+
return value.some(hasUploadableValue);
|
|
117
|
+
if (value && typeof value === 'object') {
|
|
118
|
+
for (const k in value) {
|
|
119
|
+
if (hasUploadableValue(value[k]))
|
|
120
|
+
return true;
|
|
121
|
+
}
|
|
146
122
|
}
|
|
147
|
-
|
|
148
|
-
return false;
|
|
123
|
+
return false;
|
|
149
124
|
};
|
|
150
125
|
const addFormValue = async (form, key, value) => {
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
}
|
|
126
|
+
if (value === undefined)
|
|
127
|
+
return;
|
|
128
|
+
if (value == null) {
|
|
129
|
+
throw new TypeError(`Received null for "${key}"; to pass null in FormData, you must use the string 'null'`);
|
|
130
|
+
}
|
|
131
|
+
// TODO: make nested formats configurable
|
|
132
|
+
if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
|
|
133
|
+
form.append(key, String(value));
|
|
134
|
+
}
|
|
135
|
+
else if (isUploadable(value)) {
|
|
136
|
+
const file = await toFile(value);
|
|
137
|
+
form.append(key, file);
|
|
138
|
+
}
|
|
139
|
+
else if (Array.isArray(value)) {
|
|
140
|
+
await Promise.all(value.map((entry) => addFormValue(form, key + '[]', entry)));
|
|
141
|
+
}
|
|
142
|
+
else if (typeof value === 'object') {
|
|
143
|
+
await Promise.all(Object.entries(value).map(([name, prop]) => addFormValue(form, `${key}[${name}]`, prop)));
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${value} instead`);
|
|
147
|
+
}
|
|
174
148
|
};
|
|
175
|
-
//# sourceMappingURL=uploads.mjs.map
|
|
149
|
+
//# sourceMappingURL=uploads.mjs.map
|