modern-treasury 2.0.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +135 -0
- package/LICENSE +7 -0
- package/README.md +273 -0
- package/_shims/fetch.js +1 -1
- package/_shims/formdata.node.d.ts +1 -0
- package/core.d.ts +19 -11
- package/core.d.ts.map +1 -1
- package/core.js +122 -72
- package/core.js.map +1 -1
- package/core.mjs +112 -32
- package/core.mjs.map +1 -1
- package/error.d.ts +5 -0
- package/error.d.ts.map +1 -1
- package/error.js +20 -3
- package/error.js.map +1 -1
- package/error.mjs +18 -3
- package/error.mjs.map +1 -1
- package/index.d.mts +17 -8
- package/index.d.ts +17 -8
- package/index.d.ts.map +1 -1
- package/index.js +36 -20
- package/index.js.map +1 -1
- package/index.mjs +35 -20
- package/index.mjs.map +1 -1
- package/package.json +5 -5
- package/resources/account-collection-flows.d.ts +11 -11
- package/resources/account-collection-flows.d.ts.map +1 -1
- package/resources/account-collection-flows.js +4 -4
- package/resources/account-collection-flows.mjs +2 -2
- package/resources/account-details.d.ts.map +1 -1
- package/resources/connections.d.ts.map +1 -1
- package/resources/counterparties.d.ts.map +1 -1
- package/resources/documents.d.ts +2 -5
- package/resources/documents.d.ts.map +1 -1
- package/resources/documents.js +1 -7
- package/resources/documents.js.map +1 -1
- package/resources/documents.mjs +1 -7
- package/resources/documents.mjs.map +1 -1
- package/resources/events.d.ts.map +1 -1
- package/resources/expected-payments.d.ts.map +1 -1
- package/resources/external-accounts.d.ts.map +1 -1
- package/resources/incoming-payment-details.d.ts.map +1 -1
- package/resources/index.d.ts +2 -2
- package/resources/index.js +3 -3
- package/resources/index.mjs +1 -1
- package/resources/internal-accounts/balance-reports.d.ts.map +1 -1
- package/resources/internal-accounts/internal-accounts.d.ts +5 -4
- package/resources/internal-accounts/internal-accounts.d.ts.map +1 -1
- package/resources/internal-accounts/internal-accounts.js.map +1 -1
- package/resources/internal-accounts/internal-accounts.mjs.map +1 -1
- package/resources/invoices/invoices.d.ts +102 -5
- package/resources/invoices/invoices.d.ts.map +1 -1
- package/resources/invoices/invoices.js.map +1 -1
- package/resources/invoices/invoices.mjs.map +1 -1
- package/resources/invoices/line-items.d.ts +41 -0
- package/resources/invoices/line-items.d.ts.map +1 -1
- package/resources/invoices/line-items.js.map +1 -1
- package/resources/invoices/line-items.mjs.map +1 -1
- package/resources/ledger-account-categories.d.ts.map +1 -1
- package/resources/ledger-account-payouts.d.ts.map +1 -1
- package/resources/ledger-account-statements.d.ts.map +1 -1
- package/resources/ledger-accounts.d.ts +23 -16
- package/resources/ledger-accounts.d.ts.map +1 -1
- package/resources/ledger-accounts.js.map +1 -1
- package/resources/ledger-accounts.mjs.map +1 -1
- package/resources/ledger-entries.d.ts.map +1 -1
- package/resources/ledger-event-handlers.d.ts +4 -0
- package/resources/ledger-event-handlers.d.ts.map +1 -1
- package/resources/ledger-event-handlers.js.map +1 -1
- package/resources/ledger-event-handlers.mjs.map +1 -1
- package/resources/ledger-transactions/ledger-transactions.d.ts +8 -3
- package/resources/ledger-transactions/ledger-transactions.d.ts.map +1 -1
- package/resources/ledger-transactions/ledger-transactions.js.map +1 -1
- package/resources/ledger-transactions/ledger-transactions.mjs.map +1 -1
- package/resources/ledger-transactions/versions.d.ts.map +1 -1
- package/resources/ledgerable-events.d.ts +0 -16
- package/resources/ledgerable-events.d.ts.map +1 -1
- package/resources/ledgerable-events.js.map +1 -1
- package/resources/ledgerable-events.mjs.map +1 -1
- package/resources/ledgers.d.ts.map +1 -1
- package/resources/line-items.d.ts.map +1 -1
- package/resources/paper-items.d.ts.map +1 -1
- package/resources/payment-flows.d.ts.map +1 -1
- package/resources/payment-orders/payment-orders.d.ts +32 -6
- package/resources/payment-orders/payment-orders.d.ts.map +1 -1
- package/resources/payment-orders/payment-orders.js.map +1 -1
- package/resources/payment-orders/payment-orders.mjs.map +1 -1
- package/resources/payment-orders/reversals.d.ts +8 -3
- package/resources/payment-orders/reversals.d.ts.map +1 -1
- package/resources/payment-orders/reversals.js.map +1 -1
- package/resources/payment-orders/reversals.mjs.map +1 -1
- package/resources/payment-references.d.ts.map +1 -1
- package/resources/returns.d.ts.map +1 -1
- package/resources/routing-details.d.ts.map +1 -1
- package/resources/top-level.d.ts.map +1 -1
- package/resources/transactions/line-items.d.ts.map +1 -1
- package/resources/transactions/transactions.d.ts.map +1 -1
- package/resources/transactions/transactions.js.map +1 -1
- package/resources/validations.d.ts.map +1 -1
- package/resources/virtual-accounts.d.ts +59 -3
- package/resources/virtual-accounts.d.ts.map +1 -1
- package/resources/virtual-accounts.js +1 -4
- package/resources/virtual-accounts.js.map +1 -1
- package/resources/virtual-accounts.mjs +1 -4
- package/resources/virtual-accounts.mjs.map +1 -1
- package/src/_shims/fetch.deno.ts +23 -0
- package/src/_shims/fetch.js +1 -1
- package/src/_shims/fileFromPath.node.ts +1 -1
- package/src/_shims/fileFromPath.ts +1 -1
- package/src/_shims/formdata.deno.ts +16 -0
- package/src/_shims/formdata.node.d.ts +1 -0
- package/src/_shims/getMultipartRequestOptions.node.ts +1 -1
- package/src/_shims/getMultipartRequestOptions.ts +1 -1
- package/src/core.ts +123 -34
- package/src/error.ts +19 -1
- package/src/index.ts +47 -28
- package/src/resources/account-collection-flows.ts +19 -19
- 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 +9 -18
- 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 +2 -2
- package/src/resources/internal-accounts/balance-reports.ts +6 -6
- package/src/resources/internal-accounts/internal-accounts.ts +15 -14
- package/src/resources/invoices/invoices.ts +121 -13
- package/src/resources/invoices/line-items.ts +51 -6
- 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 +29 -21
- package/src/resources/ledger-entries.ts +5 -5
- package/src/resources/ledger-event-handlers.ts +10 -5
- package/src/resources/ledger-transactions/ledger-transactions.ts +15 -9
- package/src/resources/ledger-transactions/versions.ts +5 -5
- package/src/resources/ledgerable-events.ts +3 -23
- 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/payment-orders.ts +45 -15
- package/src/resources/payment-orders/reversals.ts +14 -8
- 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/line-items.ts +5 -5
- package/src/resources/transactions/transactions.ts +6 -6
- package/src/resources/validations.ts +3 -3
- package/src/resources/virtual-accounts.ts +72 -14
- package/src/resources/webhooks.ts +3 -3
- package/src/uploads.ts +16 -14
- package/src/version.ts +1 -1
- package/uploads.d.ts +6 -5
- package/uploads.d.ts.map +1 -1
- package/uploads.js +4 -3
- package/uploads.js.map +1 -1
- package/uploads.mjs +4 -3
- package/uploads.mjs.map +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
- package/src/streaming.ts +0 -204
- package/streaming.d.ts +0 -14
- package/streaming.d.ts.map +0 -1
- package/streaming.js +0 -155
- package/streaming.js.map +0 -1
- package/streaming.mjs +0 -151
- package/streaming.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing-details.d.ts","sourceRoot":"","sources":["../src/resources/routing-details.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,MAAM,MAAM,kCAAkC,CAAC;AAC3D,OAAO,KAAK,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"routing-details.d.ts","sourceRoot":"","sources":["../src/resources/routing-details.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,MAAM,MAAM,kCAAkC,CAAC;AAC3D,OAAO,KAAK,GAAG,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE9D,qBAAa,cAAe,SAAQ,WAAW;IAC7C;;OAEG;IACH,MAAM,CACJ,YAAY,EAAE,mBAAmB,EACjC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,yBAAyB,EACjC,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,GAC5B,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAS3C;;OAEG;IACH,QAAQ,CACN,YAAY,EAAE,MAAM,CAAC,YAAY,EACjC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,GAC5B,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAI3C;;OAEG;IACH,IAAI,CACF,YAAY,EAAE,MAAM,CAAC,YAAY,EACjC,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,uBAAuB,EAC/B,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,GAC5B,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;IACvC,IAAI,CACF,YAAY,EAAE,MAAM,CAAC,YAAY,EACjC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,GAC5B,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;IAgBvC;;OAEG;IACH,GAAG,CACD,YAAY,EAAE,mBAAmB,EACjC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,GAC5B,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;CAMnC;AAED,qBAAa,kBAAmB,SAAQ,IAAI,CAAC,aAAa,CAAC;CAAG;AAE9D,KAAK,mBAAmB,GAAG,kBAAkB,CAAC;AAE9C,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IAEX,YAAY,EAAE,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC;IAE/C;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB,UAAU,EAAE,MAAM,CAAC;IAEnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,YAAY,EACR,KAAK,GACL,SAAS,GACT,MAAM,GACN,MAAM,GACN,MAAM,GACN,OAAO,GACP,cAAc,GACd,KAAK,GACL,SAAS,GACT,OAAO,GACP,MAAM,GACN,aAAa,GACb,KAAK,GACL,KAAK,GACL,MAAM,GACN,QAAQ,GACR,MAAM,GACN,IAAI,CAAC;IAET;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,mBAAmB,EACf,KAAK,GACL,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,OAAO,GACP,OAAO,GACP,cAAc,GACd,SAAS,GACT,gBAAgB,GAChB,OAAO,CAAC;IAEZ,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,yBAAiB,aAAa,CAAC;IAC7B,UAAiB,WAAW;QAC1B,EAAE,EAAE,MAAM,CAAC;QAEX;;WAEG;QACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAEvB,UAAU,EAAE,MAAM,CAAC;QAEnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAErB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAErB;;;WAGG;QACH,SAAS,EAAE,OAAO,CAAC;QAEnB;;WAEG;QACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAExB,MAAM,EAAE,MAAM,CAAC;QAEf;;WAEG;QACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAE3B;;WAEG;QACH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAEtB,UAAU,EAAE,MAAM,CAAC;KACpB;CACF;AAED,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,mBAAmB,EACf,KAAK,GACL,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,OAAO,GACP,OAAO,GACP,cAAc,GACd,SAAS,GACT,gBAAgB,GAChB,OAAO,CAAC;IAEZ;;;OAGG;IACH,YAAY,CAAC,EACT,KAAK,GACL,SAAS,GACT,MAAM,GACN,MAAM,GACN,MAAM,GACN,OAAO,GACP,cAAc,GACd,KAAK,GACL,SAAS,GACT,OAAO,GACP,MAAM,GACN,aAAa,GACb,KAAK,GACL,KAAK,GACL,MAAM,GACN,QAAQ,GACR,MAAM,GACN,IAAI,CAAC;IAET;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAwB,SAAQ,UAAU;CAAG;AAE9D,yBAAiB,cAAc,CAAC;IAC9B,MAAM,QAAQ,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;IAChD,KAAY,kBAAkB,GAAG,mBAAmB,CAAC;IACrD,MAAM,QAAQ,yBAAyB,GAAG,GAAG,CAAC,yBAAyB,CAAC;IACxE,MAAM,QAAQ,uBAAuB,GAAG,GAAG,CAAC,uBAAuB,CAAC;CACrE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"top-level.d.ts","sourceRoot":"","sources":["../src/resources/top-level.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"top-level.d.ts","sourceRoot":"","sources":["../src/resources/top-level.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,SAAS,CAAC;AAE/B,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,yBAAiB,QAAQ,CAAC;IACxB,MAAM,QAAQ,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;CAC/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line-items.d.ts","sourceRoot":"","sources":["../../src/resources/transactions/line-items.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"line-items.d.ts","sourceRoot":"","sources":["../../src/resources/transactions/line-items.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,GAAG,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE9D,qBAAa,SAAU,SAAQ,WAAW;IACxC;;OAEG;IACH,IAAI,CACF,aAAa,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,kBAAkB,EAC1B,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,GAC5B,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC;IAC7C,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC;CAcvG;AAED,qBAAa,wBAAyB,SAAQ,IAAI,CAAC,mBAAmB,CAAC;CAAG;AAE1E,KAAK,yBAAyB,GAAG,wBAAwB,CAAC;AAE1D,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B;;;OAGG;IACH,iBAAiB,EACb,yBAAyB,GACzB,YAAY,GACZ,eAAe,GACf,uBAAuB,GACvB,QAAQ,GACR,UAAU,GACV,IAAI,CAAC;IAET;;;OAGG;IACH,IAAI,EAAE,aAAa,GAAG,WAAW,CAAC;IAElC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,IAAI,CAAC,EAAE,aAAa,GAAG,WAAW,GAAG,IAAI,CAAC;CAC3C;AAED,yBAAiB,SAAS,CAAC;IACzB,MAAM,QAAQ,mBAAmB,GAAG,GAAG,CAAC,mBAAmB,CAAC;IAC5D,KAAY,wBAAwB,GAAG,yBAAyB,CAAC;IACjE,MAAM,QAAQ,kBAAkB,GAAG,GAAG,CAAC,kBAAkB,CAAC;CAC3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../src/resources/transactions/transactions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,MAAM,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../src/resources/transactions/transactions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../src/resources/transactions/transactions.ts"],"names":[],"mappings":";AAAA,qDAAqD;;;;;;;;;;;;;;;;;;;;;;;;;;AAGrD,uDAAuD;AACvD,+CAAwD;AAExD,gDAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../src/resources/transactions/transactions.ts"],"names":[],"mappings":";AAAA,qDAAqD;;;;;;;;;;;;;;;;;;;;;;;;;;AAGrD,uDAAuD;AACvD,+CAAwD;AAExD,gDAAyC;AACzC,gDAA+B;AAC/B,2DAA8D;AAE9D,MAAa,YAAa,SAAQ,sBAAW;IAA7C;;QACE,cAAS,GAAc,IAAI,sBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IA2CpD,CAAC;IAzCC;;OAEG;IACH,QAAQ,CAAC,EAAU,EAAE,OAA6B;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAWD,MAAM,CACJ,EAAU,EACV,OAAsD,EAAE,EACxD,OAA6B;QAE7B,IAAI,IAAA,uBAAgB,EAAC,IAAI,CAAC,EAAE;YAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;SAClC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IAOD,IAAI,CACF,QAAqD,EAAE,EACvD,OAA6B;QAE7B,IAAI,IAAA,uBAAgB,EAAC,KAAK,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;SAC7B;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACvF,CAAC;CACF;AA5CD,oCA4CC;AAED,MAAa,gBAAiB,SAAQ,iBAAiB;CAAG;AAA1D,4CAA0D;AA0N1D,WAAiB,YAAY;IAMb,sBAAS,GAAG,GAAG,CAAC,SAAS,CAAC;IAE1B,qCAAwB,GAAG,GAAG,CAAC,wBAAwB,CAAC;AAExE,CAAC,EAVgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAU5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../src/resources/validations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../src/resources/validations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,GAAG,MAAM,SAAS,CAAC;AAE/B,qBAAa,WAAY,SAAQ,WAAW;IAC1C;;;OAGG;IACH,qBAAqB,CACnB,KAAK,EAAE,qCAAqC,EAC5C,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,GAC5B,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;CAGzD;AAED,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,YAAY,CAAC,EAAE,0BAA0B,CAAC,WAAW,CAAC;IAEtD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,cAAc,GAAG,SAAS,GAAG,OAAO,CAAC;IAEzF;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEpC;;;OAGG;IACH,uBAAuB,CAAC,EAAE,KAAK,CAC3B,KAAK,GACL,SAAS,GACT,MAAM,GACN,MAAM,GACN,MAAM,GACN,OAAO,GACP,cAAc,GACd,KAAK,GACL,SAAS,GACT,OAAO,GACP,MAAM,GACN,aAAa,GACb,KAAK,GACL,KAAK,GACL,MAAM,GACN,QAAQ,GACR,MAAM,CACT,CAAC;CACH;AAED,yBAAiB,0BAA0B,CAAC;IAC1C;;OAEG;IACH,UAAiB,WAAW;QAC1B;;WAEG;QACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAExB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAEtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAEtB;;WAEG;QACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAEzB;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAE5B;;WAEG;QACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB;CACF;AAED,MAAM,WAAW,qCAAqC;IACpD;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,mBAAmB,EACf,KAAK,GACL,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,OAAO,GACP,OAAO,GACP,cAAc,GACd,SAAS,GACT,gBAAgB,GAChB,OAAO,CAAC;CACb;AAED,yBAAiB,WAAW,CAAC;IAC3B,MAAM,QAAQ,0BAA0B,GAAG,GAAG,CAAC,0BAA0B,CAAC;IAC1E,MAAM,QAAQ,qCAAqC,GAAG,GAAG,CAAC,qCAAqC,CAAC;CACjG"}
|
|
@@ -15,7 +15,7 @@ export declare class VirtualAccounts extends APIResource {
|
|
|
15
15
|
/**
|
|
16
16
|
* get virtual_account
|
|
17
17
|
*/
|
|
18
|
-
retrieve(id: string, options?: Core.RequestOptions): Promise<Core.APIResponse<
|
|
18
|
+
retrieve(id: string, options?: Core.RequestOptions): Promise<Core.APIResponse<VirtualAccount>>;
|
|
19
19
|
/**
|
|
20
20
|
* update virtual_account
|
|
21
21
|
*/
|
|
@@ -107,7 +107,7 @@ export interface VirtualAccountCreateParams {
|
|
|
107
107
|
/**
|
|
108
108
|
* Body param: An array of account detail objects.
|
|
109
109
|
*/
|
|
110
|
-
account_details?: Array<
|
|
110
|
+
account_details?: Array<VirtualAccountCreateParams.AccountDetail>;
|
|
111
111
|
/**
|
|
112
112
|
* Body param: The ID of the counterparty that the virtual account belongs to.
|
|
113
113
|
*/
|
|
@@ -136,13 +136,69 @@ export interface VirtualAccountCreateParams {
|
|
|
136
136
|
/**
|
|
137
137
|
* Body param: An array of routing detail objects.
|
|
138
138
|
*/
|
|
139
|
-
routing_details?: Array<
|
|
139
|
+
routing_details?: Array<VirtualAccountCreateParams.RoutingDetail>;
|
|
140
140
|
/**
|
|
141
141
|
* Header param: This key should be something unique, preferably something like an
|
|
142
142
|
* UUID.
|
|
143
143
|
*/
|
|
144
144
|
'Idempotency-Key'?: string;
|
|
145
145
|
}
|
|
146
|
+
export declare namespace VirtualAccountCreateParams {
|
|
147
|
+
interface AccountDetail {
|
|
148
|
+
/**
|
|
149
|
+
* The account number for the bank account.
|
|
150
|
+
*/
|
|
151
|
+
account_number: string;
|
|
152
|
+
/**
|
|
153
|
+
* One of `iban`, `clabe`, `wallet_address`, or `other`. Use `other` if the bank
|
|
154
|
+
* account number is in a generic format.
|
|
155
|
+
*/
|
|
156
|
+
account_number_type?: 'clabe' | 'iban' | 'other' | 'pan' | 'wallet_address';
|
|
157
|
+
}
|
|
158
|
+
interface RoutingDetail {
|
|
159
|
+
/**
|
|
160
|
+
* The routing number of the bank.
|
|
161
|
+
*/
|
|
162
|
+
routing_number: string;
|
|
163
|
+
/**
|
|
164
|
+
* One of `aba`, `swift`, `ca_cpa`, `au_bsb`, `gb_sort_code`, `in_ifsc`, `cnaps`.
|
|
165
|
+
*/
|
|
166
|
+
routing_number_type:
|
|
167
|
+
| 'aba'
|
|
168
|
+
| 'au_bsb'
|
|
169
|
+
| 'br_codigo'
|
|
170
|
+
| 'ca_cpa'
|
|
171
|
+
| 'chips'
|
|
172
|
+
| 'cnaps'
|
|
173
|
+
| 'gb_sort_code'
|
|
174
|
+
| 'in_ifsc'
|
|
175
|
+
| 'my_branch_code'
|
|
176
|
+
| 'swift';
|
|
177
|
+
/**
|
|
178
|
+
* If the routing detail is to be used for a specific payment type this field will
|
|
179
|
+
* be populated, otherwise null.
|
|
180
|
+
*/
|
|
181
|
+
payment_type?:
|
|
182
|
+
| 'ach'
|
|
183
|
+
| 'au_becs'
|
|
184
|
+
| 'bacs'
|
|
185
|
+
| 'book'
|
|
186
|
+
| 'card'
|
|
187
|
+
| 'check'
|
|
188
|
+
| 'cross_border'
|
|
189
|
+
| 'eft'
|
|
190
|
+
| 'interac'
|
|
191
|
+
| 'masav'
|
|
192
|
+
| 'neft'
|
|
193
|
+
| 'provxchange'
|
|
194
|
+
| 'rtp'
|
|
195
|
+
| 'sen'
|
|
196
|
+
| 'sepa'
|
|
197
|
+
| 'signet'
|
|
198
|
+
| 'wire'
|
|
199
|
+
| null;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
146
202
|
export interface VirtualAccountUpdateParams {
|
|
147
203
|
counterparty_id?: string;
|
|
148
204
|
metadata?: Record<string, string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtual-accounts.d.ts","sourceRoot":"","sources":["../src/resources/virtual-accounts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,cAAc,MAAM,2CAA2C,CAAC;AAC5E,OAAO,KAAK,cAAc,MAAM,2CAA2C,CAAC;AAC5E,OAAO,KAAK,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"virtual-accounts.d.ts","sourceRoot":"","sources":["../src/resources/virtual-accounts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,cAAc,MAAM,2CAA2C,CAAC;AAC5E,OAAO,KAAK,cAAc,MAAM,2CAA2C,CAAC;AAC5E,OAAO,KAAK,GAAG,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE9D,qBAAa,eAAgB,SAAQ,WAAW;IAC9C;;OAEG;IACH,MAAM,CACJ,MAAM,EAAE,0BAA0B,EAClC,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,GAC5B,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAS5C;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAI9F;;OAEG;IACH,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,IAAI,CAAC,EAAE,0BAA0B,EACjC,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,GAC5B,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAY5F;;OAEG;IACH,IAAI,CACF,KAAK,CAAC,EAAE,wBAAwB,EAChC,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,GAC5B,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC;IACxC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC;IAW1E;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;CAG1F;AAED,qBAAa,mBAAoB,SAAQ,IAAI,CAAC,cAAc,CAAC;CAAG;AAEhE,KAAK,oBAAoB,GAAG,mBAAmB,CAAC;AAEhD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,eAAe,EAAE,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IAErD;;OAEG;IACH,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IAExC;;;;OAIG;IACH,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvC;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,eAAe,EAAE,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IAErD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,0BAA0B,CAAC,aAAa,CAAC,CAAC;IAElE;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAElC;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,0BAA0B,CAAC,aAAa,CAAC,CAAC;IAElE;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,yBAAiB,0BAA0B,CAAC;IAC1C,UAAiB,aAAa;QAC5B;;WAEG;QACH,cAAc,EAAE,MAAM,CAAC;QAEvB;;;WAGG;QACH,mBAAmB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,gBAAgB,CAAC;KAC7E;IAED,UAAiB,aAAa;QAC5B;;WAEG;QACH,cAAc,EAAE,MAAM,CAAC;QAEvB;;WAEG;QACH,mBAAmB,EACf,KAAK,GACL,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,OAAO,GACP,OAAO,GACP,cAAc,GACd,SAAS,GACT,gBAAgB,GAChB,OAAO,CAAC;QAEZ;;;WAGG;QACH,YAAY,CAAC,EACT,KAAK,GACL,SAAS,GACT,MAAM,GACN,MAAM,GACN,MAAM,GACN,OAAO,GACP,cAAc,GACd,KAAK,GACL,SAAS,GACT,OAAO,GACP,MAAM,GACN,aAAa,GACb,KAAK,GACL,KAAK,GACL,MAAM,GACN,QAAQ,GACR,MAAM,GACN,IAAI,CAAC;KACV;CACF;AAED,MAAM,WAAW,0BAA0B;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAElC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,wBAAyB,SAAQ,UAAU;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,yBAAiB,eAAe,CAAC;IAC/B,MAAM,QAAQ,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;IAClD,KAAY,mBAAmB,GAAG,oBAAoB,CAAC;IACvD,MAAM,QAAQ,0BAA0B,GAAG,GAAG,CAAC,0BAA0B,CAAC;IAC1E,MAAM,QAAQ,0BAA0B,GAAG,GAAG,CAAC,0BAA0B,CAAC;IAC1E,MAAM,QAAQ,wBAAwB,GAAG,GAAG,CAAC,wBAAwB,CAAC;CACvE"}
|
|
@@ -24,10 +24,7 @@ class VirtualAccounts extends resource_1.APIResource {
|
|
|
24
24
|
* get virtual_account
|
|
25
25
|
*/
|
|
26
26
|
retrieve(id, options) {
|
|
27
|
-
return this.get(`/api/virtual_accounts/${id}`,
|
|
28
|
-
...options,
|
|
29
|
-
headers: { Accept: '', ...(options === null || options === void 0 ? void 0 : options.headers) },
|
|
30
|
-
});
|
|
27
|
+
return this.get(`/api/virtual_accounts/${id}`, options);
|
|
31
28
|
}
|
|
32
29
|
update(id, body = {}, options) {
|
|
33
30
|
if ((0, core_1.isRequestOptions)(body)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtual-accounts.js","sourceRoot":"","sources":["../src/resources/virtual-accounts.ts"],"names":[],"mappings":";AAAA,qDAAqD;;;AAGrD,uDAAuD;AACvD,+CAAwD;AAIxD,2DAA8D;AAE9D,MAAa,eAAgB,SAAQ,sBAAW;IAC9C;;OAEG;IACH,MAAM,CACJ,MAAkC,EAClC,OAA6B;QAE7B,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACxC,IAAI;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,EAAE,iBAAiB,EAAE,cAAc,IAAI,EAAE,EAAE,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE;SAC1E,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,EAAU,EAAE,OAA6B;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"virtual-accounts.js","sourceRoot":"","sources":["../src/resources/virtual-accounts.ts"],"names":[],"mappings":";AAAA,qDAAqD;;;AAGrD,uDAAuD;AACvD,+CAAwD;AAIxD,2DAA8D;AAE9D,MAAa,eAAgB,SAAQ,sBAAW;IAC9C;;OAEG;IACH,MAAM,CACJ,MAAkC,EAClC,OAA6B;QAE7B,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACxC,IAAI;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,EAAE,iBAAiB,EAAE,cAAc,IAAI,EAAE,EAAE,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE;SAC1E,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,EAAU,EAAE,OAA6B;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAWD,MAAM,CACJ,EAAU,EACV,OAAyD,EAAE,EAC3D,OAA6B;QAE7B,IAAI,IAAA,uBAAgB,EAAC,IAAI,CAAC,EAAE;YAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;SAClC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;IAUD,IAAI,CACF,QAAwD,EAAE,EAC1D,OAA6B;QAE7B,IAAI,IAAA,uBAAgB,EAAC,KAAK,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;SAC7B;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,EAAU,EAAE,OAA6B;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;CACF;AAnED,0CAmEC;AAED,MAAa,mBAAoB,SAAQ,iBAAoB;CAAG;AAAhE,kDAAgE;AAsNhE,WAAiB,eAAe;AAMhC,CAAC,EANgB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAM/B"}
|
|
@@ -21,10 +21,7 @@ export class VirtualAccounts extends APIResource {
|
|
|
21
21
|
* get virtual_account
|
|
22
22
|
*/
|
|
23
23
|
retrieve(id, options) {
|
|
24
|
-
return this.get(`/api/virtual_accounts/${id}`,
|
|
25
|
-
...options,
|
|
26
|
-
headers: { Accept: '', ...(options === null || options === void 0 ? void 0 : options.headers) },
|
|
27
|
-
});
|
|
24
|
+
return this.get(`/api/virtual_accounts/${id}`, options);
|
|
28
25
|
}
|
|
29
26
|
update(id, body = {}, options) {
|
|
30
27
|
if (isRequestOptions(body)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtual-accounts.mjs","sourceRoot":"","sources":["../src/resources/virtual-accounts.ts"],"names":[],"mappings":"AAAA,qDAAqD;OAG9C,EAAE,WAAW,EAAE,MAAM,0BAA0B;OAC/C,EAAE,gBAAgB,EAAE,MAAM,sBAAsB;OAIhD,EAAE,IAAI,EAAc,MAAM,4BAA4B;AAE7D,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAC9C;;OAEG;IACH,MAAM,CACJ,MAAkC,EAClC,OAA6B;QAE7B,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACxC,IAAI;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,EAAE,iBAAiB,EAAE,cAAc,IAAI,EAAE,EAAE,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE;SAC1E,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,EAAU,EAAE,OAA6B;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"virtual-accounts.mjs","sourceRoot":"","sources":["../src/resources/virtual-accounts.ts"],"names":[],"mappings":"AAAA,qDAAqD;OAG9C,EAAE,WAAW,EAAE,MAAM,0BAA0B;OAC/C,EAAE,gBAAgB,EAAE,MAAM,sBAAsB;OAIhD,EAAE,IAAI,EAAc,MAAM,4BAA4B;AAE7D,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAC9C;;OAEG;IACH,MAAM,CACJ,MAAkC,EAClC,OAA6B;QAE7B,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACxC,IAAI;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,EAAE,iBAAiB,EAAE,cAAc,IAAI,EAAE,EAAE,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE;SAC1E,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,EAAU,EAAE,OAA6B;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAWD,MAAM,CACJ,EAAU,EACV,OAAyD,EAAE,EAC3D,OAA6B;QAE7B,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE;YAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;SAClC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;IAUD,IAAI,CACF,QAAwD,EAAE,EAC1D,OAA6B;QAE7B,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;SAC7B;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,EAAU,EAAE,OAA6B;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,IAAoB;CAAG;AAsNhE,WAAiB,eAAe;AAMhC,CAAC,EANgB,eAAe,KAAf,eAAe,QAM/B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const _fetch = fetch;
|
|
2
|
+
const _Request = Request;
|
|
3
|
+
type _RequestInfo = RequestInfo;
|
|
4
|
+
type _RequestInit = RequestInit;
|
|
5
|
+
const _Response = Response;
|
|
6
|
+
type _ResponseInit = ResponseInit;
|
|
7
|
+
type _BodyInit = BodyInit;
|
|
8
|
+
const _Headers = Headers;
|
|
9
|
+
type _HeadersInit = HeadersInit;
|
|
10
|
+
|
|
11
|
+
export const isPolyfilled = false;
|
|
12
|
+
|
|
13
|
+
export {
|
|
14
|
+
_fetch as fetch,
|
|
15
|
+
_Request as Request,
|
|
16
|
+
type _RequestInfo as RequestInfo,
|
|
17
|
+
type _RequestInit as RequestInit,
|
|
18
|
+
_Response as Response,
|
|
19
|
+
type _ResponseInit as ResponseInit,
|
|
20
|
+
type _BodyInit as BodyInit,
|
|
21
|
+
_Headers as Headers,
|
|
22
|
+
type _HeadersInit as HeadersInit,
|
|
23
|
+
};
|
package/src/_shims/fetch.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
import { fileFromPath as _fileFromPath } from 'formdata-node/file-from-path';
|
|
6
|
-
import type { File, FilePropertyBag } from './formdata.node';
|
|
6
|
+
import type { File, FilePropertyBag } from './formdata.node.js';
|
|
7
7
|
|
|
8
8
|
export type FileFromPathOptions = Omit<FilePropertyBag, 'lastModified'>;
|
|
9
9
|
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
type _BlobPropertyBag = BlobPropertyBag;
|
|
2
|
+
type _FilePropertyBag = FilePropertyBag;
|
|
3
|
+
|
|
4
|
+
const _FormData = FormData;
|
|
5
|
+
const _File = File;
|
|
6
|
+
const _Blob = Blob;
|
|
7
|
+
|
|
8
|
+
export const isPolyfilled = false;
|
|
9
|
+
|
|
10
|
+
export {
|
|
11
|
+
_FormData as FormData,
|
|
12
|
+
_File as File,
|
|
13
|
+
_Blob as Blob,
|
|
14
|
+
type _BlobPropertyBag as BlobPropertyBag,
|
|
15
|
+
type _FilePropertyBag as FilePropertyBag,
|
|
16
|
+
};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Disclaimer: modules in _shims aren't intended to be imported by SDK users.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { FormData } from './formdata.node';
|
|
5
|
+
import { FormData } from './formdata.node.js';
|
|
6
6
|
import type { RequestOptions } from '../core';
|
|
7
7
|
import { Readable } from 'node:stream';
|
|
8
8
|
import { FormDataEncoder } from 'form-data-encoder';
|
package/src/core.ts
CHANGED
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
import * as qs from 'qs';
|
|
2
1
|
import { VERSION } from './version';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import type
|
|
6
|
-
import { getDefaultAgent, type Agent } from 'modern-treasury/_shims/agent';
|
|
2
|
+
import { APIError, APIConnectionError, APIConnectionTimeoutError, APIUserAbortError } from './error';
|
|
3
|
+
import type { Readable } from './_shims/node-readable';
|
|
4
|
+
import { getDefaultAgent, type Agent } from './_shims/agent';
|
|
7
5
|
import {
|
|
8
6
|
fetch,
|
|
9
7
|
isPolyfilled as fetchIsPolyfilled,
|
|
10
8
|
type RequestInfo,
|
|
11
9
|
type RequestInit,
|
|
12
10
|
type Response,
|
|
13
|
-
} from '
|
|
11
|
+
} from './_shims/fetch.js';
|
|
14
12
|
import { isMultipartBody } from './uploads';
|
|
15
13
|
export {
|
|
16
14
|
maybeMultipartFormRequestOptions,
|
|
@@ -21,7 +19,7 @@ export {
|
|
|
21
19
|
|
|
22
20
|
const MAX_RETRIES = 2;
|
|
23
21
|
|
|
24
|
-
type Fetch = (url: RequestInfo, init?: RequestInit) => Promise<Response>;
|
|
22
|
+
export type Fetch = (url: RequestInfo, init?: RequestInit) => Promise<Response>;
|
|
25
23
|
|
|
26
24
|
export abstract class APIClient {
|
|
27
25
|
baseURL: string;
|
|
@@ -37,18 +35,20 @@ export abstract class APIClient {
|
|
|
37
35
|
maxRetries,
|
|
38
36
|
timeout = 60 * 1000, // 60s
|
|
39
37
|
httpAgent,
|
|
38
|
+
fetch: overridenFetch,
|
|
40
39
|
}: {
|
|
41
40
|
baseURL: string;
|
|
42
41
|
maxRetries?: number | undefined;
|
|
43
42
|
timeout: number | undefined;
|
|
44
43
|
httpAgent: Agent | undefined;
|
|
44
|
+
fetch: Fetch | undefined;
|
|
45
45
|
}) {
|
|
46
46
|
this.baseURL = baseURL;
|
|
47
47
|
this.maxRetries = validatePositiveInteger('maxRetries', maxRetries ?? MAX_RETRIES);
|
|
48
48
|
this.timeout = validatePositiveInteger('timeout', timeout);
|
|
49
49
|
this.httpAgent = httpAgent;
|
|
50
50
|
|
|
51
|
-
this.fetch = fetch;
|
|
51
|
+
this.fetch = overridenFetch ?? fetch;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
protected authHeaders(): Headers {
|
|
@@ -80,18 +80,6 @@ export abstract class APIClient {
|
|
|
80
80
|
*/
|
|
81
81
|
protected validateHeaders(headers: Headers, customHeaders: Headers) {}
|
|
82
82
|
|
|
83
|
-
/**
|
|
84
|
-
* Override this to add your own qs.stringify options, for example:
|
|
85
|
-
*
|
|
86
|
-
* {
|
|
87
|
-
* ...super.qsOptions(),
|
|
88
|
-
* strictNullHandling: true,
|
|
89
|
-
* }
|
|
90
|
-
*/
|
|
91
|
-
protected qsOptions(): qs.IStringifyOptions | undefined {
|
|
92
|
-
return {};
|
|
93
|
-
}
|
|
94
|
-
|
|
95
83
|
protected defaultIdempotencyKey(): string {
|
|
96
84
|
return `stainless-node-retry-${uuid4()}`;
|
|
97
85
|
}
|
|
@@ -120,6 +108,22 @@ export abstract class APIClient {
|
|
|
120
108
|
return this.requestAPIList(Page, { method: 'get', path, ...opts });
|
|
121
109
|
}
|
|
122
110
|
|
|
111
|
+
private calculateContentLength(body: unknown): string | null {
|
|
112
|
+
if (typeof body === 'string') {
|
|
113
|
+
if (typeof Buffer !== 'undefined') {
|
|
114
|
+
return Buffer.byteLength(body, 'utf8').toString();
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
if (typeof TextEncoder !== 'undefined') {
|
|
118
|
+
const encoder = new TextEncoder();
|
|
119
|
+
const encoded = encoder.encode(body);
|
|
120
|
+
return encoded.length.toString();
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
|
|
123
127
|
buildRequest<Req extends {}>(
|
|
124
128
|
options: FinalRequestOptions<Req>,
|
|
125
129
|
): { req: RequestInit; url: string; timeout: number } {
|
|
@@ -129,12 +133,20 @@ export abstract class APIClient {
|
|
|
129
133
|
isMultipartBody(options.body) ? options.body.body
|
|
130
134
|
: options.body ? JSON.stringify(options.body, null, 2)
|
|
131
135
|
: null;
|
|
132
|
-
const contentLength =
|
|
136
|
+
const contentLength = this.calculateContentLength(body);
|
|
133
137
|
|
|
134
138
|
const url = this.buildURL(path!, query);
|
|
135
|
-
|
|
139
|
+
if ('timeout' in options) validatePositiveInteger('timeout', options.timeout);
|
|
136
140
|
const timeout = options.timeout ?? this.timeout;
|
|
137
|
-
|
|
141
|
+
const httpAgent = options.httpAgent ?? this.httpAgent ?? getDefaultAgent(url);
|
|
142
|
+
const minAgentTimeout = timeout + 1000;
|
|
143
|
+
if ((httpAgent as any)?.options && minAgentTimeout > ((httpAgent as any).options.timeout ?? 0)) {
|
|
144
|
+
// Allow any given request to bump our agent active socket timeout.
|
|
145
|
+
// This may seem strange, but leaking active sockets should be rare and not particularly problematic,
|
|
146
|
+
// and without mutating agent we would need to create more of them.
|
|
147
|
+
// This tradeoff optimizes for performance.
|
|
148
|
+
(httpAgent as any).options.timeout = minAgentTimeout;
|
|
149
|
+
}
|
|
138
150
|
|
|
139
151
|
if (this.idempotencyHeader && method !== 'get') {
|
|
140
152
|
if (!options.idempotencyKey) options.idempotencyKey = this.defaultIdempotencyKey();
|
|
@@ -159,6 +171,9 @@ export abstract class APIClient {
|
|
|
159
171
|
...(body && { body: body as any }),
|
|
160
172
|
headers: reqHeaders,
|
|
161
173
|
...(httpAgent && { agent: httpAgent }),
|
|
174
|
+
// @ts-ignore node-fetch uses a custom AbortSignal type that is
|
|
175
|
+
// not compatible with standard web types
|
|
176
|
+
signal: options.signal ?? null,
|
|
162
177
|
};
|
|
163
178
|
|
|
164
179
|
this.validateHeaders(reqHeaders, headers);
|
|
@@ -192,12 +207,23 @@ export abstract class APIClient {
|
|
|
192
207
|
|
|
193
208
|
this.debug('request', url, options, req.headers);
|
|
194
209
|
|
|
210
|
+
if (options.signal?.aborted) {
|
|
211
|
+
throw new APIUserAbortError();
|
|
212
|
+
}
|
|
213
|
+
|
|
195
214
|
const controller = new AbortController();
|
|
196
215
|
const response = await this.fetchWithTimeout(url, req, timeout, controller).catch(castToError);
|
|
197
216
|
|
|
198
217
|
if (response instanceof Error) {
|
|
199
|
-
if (
|
|
200
|
-
|
|
218
|
+
if (options.signal?.aborted) {
|
|
219
|
+
throw new APIUserAbortError();
|
|
220
|
+
}
|
|
221
|
+
if (retriesRemaining) {
|
|
222
|
+
return this.retryRequest(options, retriesRemaining);
|
|
223
|
+
}
|
|
224
|
+
if (response.name === 'AbortError') {
|
|
225
|
+
throw new APIConnectionTimeoutError();
|
|
226
|
+
}
|
|
201
227
|
throw new APIConnectionError({ cause: response });
|
|
202
228
|
}
|
|
203
229
|
|
|
@@ -218,12 +244,6 @@ export abstract class APIClient {
|
|
|
218
244
|
throw err;
|
|
219
245
|
}
|
|
220
246
|
|
|
221
|
-
if (options.stream) {
|
|
222
|
-
// Note: there is an invariant here that isn't represented in the type system
|
|
223
|
-
// that if you set `stream: true` the response type must also be `Stream<T>`
|
|
224
|
-
return new Stream<Rsp>(response, controller) as any;
|
|
225
|
-
}
|
|
226
|
-
|
|
227
247
|
const contentType = response.headers.get('content-type');
|
|
228
248
|
if (contentType?.includes('application/json')) {
|
|
229
249
|
const json = await response.json();
|
|
@@ -268,12 +288,29 @@ export abstract class APIClient {
|
|
|
268
288
|
}
|
|
269
289
|
|
|
270
290
|
if (query) {
|
|
271
|
-
url.search =
|
|
291
|
+
url.search = this.stringifyQuery(query);
|
|
272
292
|
}
|
|
273
293
|
|
|
274
294
|
return url.toString();
|
|
275
295
|
}
|
|
276
296
|
|
|
297
|
+
protected stringifyQuery(query: Record<string, unknown>): string {
|
|
298
|
+
return Object.entries(query)
|
|
299
|
+
.filter(([_, value]) => typeof value !== 'undefined')
|
|
300
|
+
.map(([key, value]) => {
|
|
301
|
+
if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
|
|
302
|
+
return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
|
|
303
|
+
}
|
|
304
|
+
if (value === null) {
|
|
305
|
+
return `${encodeURIComponent(key)}=`;
|
|
306
|
+
}
|
|
307
|
+
throw new Error(
|
|
308
|
+
`Cannot stringify type ${typeof value}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`,
|
|
309
|
+
);
|
|
310
|
+
})
|
|
311
|
+
.join('&');
|
|
312
|
+
}
|
|
313
|
+
|
|
277
314
|
async fetchWithTimeout(
|
|
278
315
|
url: RequestInfo,
|
|
279
316
|
init: RequestInit | undefined,
|
|
@@ -537,6 +574,7 @@ export type RequestOptions<Req extends {} = Record<string, unknown> | Readable>
|
|
|
537
574
|
stream?: boolean | undefined;
|
|
538
575
|
timeout?: number;
|
|
539
576
|
httpAgent?: Agent;
|
|
577
|
+
signal?: AbortSignal | undefined | null;
|
|
540
578
|
idempotencyKey?: string;
|
|
541
579
|
};
|
|
542
580
|
|
|
@@ -554,6 +592,7 @@ const requestOptionsKeys: KeysEnum<RequestOptions> = {
|
|
|
554
592
|
stream: true,
|
|
555
593
|
timeout: true,
|
|
556
594
|
httpAgent: true,
|
|
595
|
+
signal: true,
|
|
557
596
|
idempotencyKey: true,
|
|
558
597
|
};
|
|
559
598
|
|
|
@@ -698,8 +737,8 @@ const isAbsoluteURL = (url: string): boolean => {
|
|
|
698
737
|
|
|
699
738
|
const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
700
739
|
|
|
701
|
-
const validatePositiveInteger = (name: string, n:
|
|
702
|
-
if (!Number.isInteger(n)) {
|
|
740
|
+
const validatePositiveInteger = (name: string, n: unknown): number => {
|
|
741
|
+
if (typeof n !== 'number' || !Number.isInteger(n)) {
|
|
703
742
|
throw new Error(`${name} must be an integer`);
|
|
704
743
|
}
|
|
705
744
|
if (n < 0) {
|
|
@@ -718,6 +757,19 @@ export const ensurePresent = <T>(value: T | null | undefined): T => {
|
|
|
718
757
|
return value;
|
|
719
758
|
};
|
|
720
759
|
|
|
760
|
+
/**
|
|
761
|
+
* Read an environment variable.
|
|
762
|
+
*
|
|
763
|
+
* Will return an empty string if the environment variable doesn't exist or cannot be accessed.
|
|
764
|
+
*/
|
|
765
|
+
export const readEnv = (env: string): string | undefined => {
|
|
766
|
+
if (typeof process === 'undefined') {
|
|
767
|
+
return undefined;
|
|
768
|
+
}
|
|
769
|
+
|
|
770
|
+
return process.env[env] ?? undefined;
|
|
771
|
+
};
|
|
772
|
+
|
|
721
773
|
export const coerceInteger = (value: unknown): number => {
|
|
722
774
|
if (typeof value === 'number') return Math.round(value);
|
|
723
775
|
if (typeof value === 'string') return parseInt(value, 10);
|
|
@@ -738,6 +790,27 @@ export const coerceBoolean = (value: unknown): boolean => {
|
|
|
738
790
|
return Boolean(value);
|
|
739
791
|
};
|
|
740
792
|
|
|
793
|
+
export const maybeCoerceInteger = (value: unknown): number | undefined => {
|
|
794
|
+
if (value === undefined) {
|
|
795
|
+
return undefined;
|
|
796
|
+
}
|
|
797
|
+
return coerceInteger(value);
|
|
798
|
+
};
|
|
799
|
+
|
|
800
|
+
export const maybeCoerceFloat = (value: unknown): number | undefined => {
|
|
801
|
+
if (value === undefined) {
|
|
802
|
+
return undefined;
|
|
803
|
+
}
|
|
804
|
+
return coerceFloat(value);
|
|
805
|
+
};
|
|
806
|
+
|
|
807
|
+
export const maybeCoerceBoolean = (value: unknown): boolean | undefined => {
|
|
808
|
+
if (value === undefined) {
|
|
809
|
+
return undefined;
|
|
810
|
+
}
|
|
811
|
+
return coerceBoolean(value);
|
|
812
|
+
};
|
|
813
|
+
|
|
741
814
|
// https://stackoverflow.com/a/34491287
|
|
742
815
|
export function isEmptyObj(obj: Object | null | undefined): boolean {
|
|
743
816
|
if (!obj) return true;
|
|
@@ -781,3 +854,19 @@ export const getHeader = (headers: HeadersLike, key: string): string | null | un
|
|
|
781
854
|
}
|
|
782
855
|
return value;
|
|
783
856
|
};
|
|
857
|
+
|
|
858
|
+
/**
|
|
859
|
+
* Encodes a string to Base64 format.
|
|
860
|
+
*/
|
|
861
|
+
export const toBase64 = (str: string | null | undefined): string => {
|
|
862
|
+
if (!str) return '';
|
|
863
|
+
if (typeof Buffer !== 'undefined') {
|
|
864
|
+
return Buffer.from(str).toString('base64');
|
|
865
|
+
}
|
|
866
|
+
|
|
867
|
+
if (typeof btoa !== 'undefined') {
|
|
868
|
+
return btoa(str);
|
|
869
|
+
}
|
|
870
|
+
|
|
871
|
+
throw new Error('Cannot generate b64 string; Expected `Buffer` or `btoa` to be defined');
|
|
872
|
+
};
|
package/src/error.ts
CHANGED
|
@@ -13,12 +13,22 @@ export class APIError extends Error {
|
|
|
13
13
|
message: string | undefined,
|
|
14
14
|
headers: Headers | undefined,
|
|
15
15
|
) {
|
|
16
|
-
super(
|
|
16
|
+
super(APIError.makeMessage(error, message));
|
|
17
17
|
this.status = status;
|
|
18
18
|
this.headers = headers;
|
|
19
19
|
this.error = error;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
+
private static makeMessage(error: any, message: string | undefined) {
|
|
23
|
+
return (
|
|
24
|
+
error?.message ?
|
|
25
|
+
typeof error.message === 'string' ? error.message
|
|
26
|
+
: JSON.stringify(error.message)
|
|
27
|
+
: error ? JSON.stringify(error)
|
|
28
|
+
: message || 'Unknown error occurred'
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
|
|
22
32
|
static generate(
|
|
23
33
|
status: number | undefined,
|
|
24
34
|
errorResponse: Object | undefined,
|
|
@@ -67,6 +77,14 @@ export class APIError extends Error {
|
|
|
67
77
|
}
|
|
68
78
|
}
|
|
69
79
|
|
|
80
|
+
export class APIUserAbortError extends APIError {
|
|
81
|
+
override readonly status: undefined = undefined;
|
|
82
|
+
|
|
83
|
+
constructor({ message }: { message?: string } = {}) {
|
|
84
|
+
super(undefined, undefined, message || 'Request was aborted.', undefined);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
70
88
|
export class APIConnectionError extends APIError {
|
|
71
89
|
override readonly status: undefined = undefined;
|
|
72
90
|
|