@upbit-official/upbit-sdk 0.9.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/LICENSE +201 -0
- package/README.md +390 -0
- package/api-promise.d.mts +2 -0
- package/api-promise.d.mts.map +1 -0
- package/api-promise.d.ts +2 -0
- package/api-promise.d.ts.map +1 -0
- package/api-promise.js +6 -0
- package/api-promise.js.map +1 -0
- package/api-promise.mjs +2 -0
- package/api-promise.mjs.map +1 -0
- package/client.d.mts +261 -0
- package/client.d.mts.map +1 -0
- package/client.d.ts +261 -0
- package/client.d.ts.map +1 -0
- package/client.js +557 -0
- package/client.js.map +1 -0
- package/client.mjs +553 -0
- package/client.mjs.map +1 -0
- package/core/EventEmitter.d.mts +56 -0
- package/core/EventEmitter.d.mts.map +1 -0
- package/core/EventEmitter.d.ts +56 -0
- package/core/EventEmitter.d.ts.map +1 -0
- package/core/EventEmitter.js +93 -0
- package/core/EventEmitter.js.map +1 -0
- package/core/EventEmitter.mjs +88 -0
- package/core/EventEmitter.mjs.map +1 -0
- package/core/api-promise.d.mts +46 -0
- package/core/api-promise.d.mts.map +1 -0
- package/core/api-promise.d.ts +46 -0
- package/core/api-promise.d.ts.map +1 -0
- package/core/api-promise.js +73 -0
- package/core/api-promise.js.map +1 -0
- package/core/api-promise.mjs +69 -0
- package/core/api-promise.mjs.map +1 -0
- package/core/error.d.mts +51 -0
- package/core/error.d.mts.map +1 -0
- package/core/error.d.ts +51 -0
- package/core/error.d.ts.map +1 -0
- package/core/error.js +150 -0
- package/core/error.js.map +1 -0
- package/core/error.mjs +133 -0
- package/core/error.mjs.map +1 -0
- package/core/pagination.d.mts +63 -0
- package/core/pagination.d.mts.map +1 -0
- package/core/pagination.d.ts +63 -0
- package/core/pagination.d.ts.map +1 -0
- package/core/pagination.js +125 -0
- package/core/pagination.js.map +1 -0
- package/core/pagination.mjs +118 -0
- package/core/pagination.mjs.map +1 -0
- package/core/resource.d.mts +6 -0
- package/core/resource.d.mts.map +1 -0
- package/core/resource.d.ts +6 -0
- package/core/resource.d.ts.map +1 -0
- package/core/resource.js +10 -0
- package/core/resource.js.map +1 -0
- package/core/resource.mjs +6 -0
- package/core/resource.mjs.map +1 -0
- package/core/uploads.d.mts +3 -0
- package/core/uploads.d.mts.map +1 -0
- package/core/uploads.d.ts +3 -0
- package/core/uploads.d.ts.map +1 -0
- package/core/uploads.js +6 -0
- package/core/uploads.js.map +1 -0
- package/core/uploads.mjs +2 -0
- package/core/uploads.mjs.map +1 -0
- package/error.d.mts +2 -0
- package/error.d.mts.map +1 -0
- package/error.d.ts +2 -0
- package/error.d.ts.map +1 -0
- package/error.js +6 -0
- package/error.js.map +1 -0
- package/error.mjs +2 -0
- package/error.mjs.map +1 -0
- package/index.d.mts +8 -0
- package/index.d.mts.map +1 -0
- package/index.d.ts +8 -0
- package/index.d.ts.map +1 -0
- package/index.js +36 -0
- package/index.js.map +1 -0
- package/index.mjs +8 -0
- package/index.mjs.map +1 -0
- package/internal/builtin-types.d.mts +73 -0
- package/internal/builtin-types.d.mts.map +1 -0
- package/internal/builtin-types.d.ts +73 -0
- package/internal/builtin-types.d.ts.map +1 -0
- package/internal/builtin-types.js +3 -0
- package/internal/builtin-types.js.map +1 -0
- package/internal/builtin-types.mjs +2 -0
- package/internal/builtin-types.mjs.map +1 -0
- package/internal/errors.d.mts +3 -0
- package/internal/errors.d.mts.map +1 -0
- package/internal/errors.d.ts +3 -0
- package/internal/errors.d.ts.map +1 -0
- package/internal/errors.js +40 -0
- package/internal/errors.js.map +1 -0
- package/internal/errors.mjs +35 -0
- package/internal/errors.mjs.map +1 -0
- package/internal/headers.d.mts +20 -0
- package/internal/headers.d.mts.map +1 -0
- package/internal/headers.d.ts +20 -0
- package/internal/headers.d.ts.map +1 -0
- package/internal/headers.js +78 -0
- package/internal/headers.js.map +1 -0
- package/internal/headers.mjs +73 -0
- package/internal/headers.mjs.map +1 -0
- package/internal/parse.d.mts +12 -0
- package/internal/parse.d.mts.map +1 -0
- package/internal/parse.d.ts +12 -0
- package/internal/parse.d.ts.map +1 -0
- package/internal/parse.js +40 -0
- package/internal/parse.js.map +1 -0
- package/internal/parse.mjs +37 -0
- package/internal/parse.mjs.map +1 -0
- package/internal/qs/formats.d.mts +7 -0
- package/internal/qs/formats.d.mts.map +1 -0
- package/internal/qs/formats.d.ts +7 -0
- package/internal/qs/formats.d.ts.map +1 -0
- package/internal/qs/formats.js +13 -0
- package/internal/qs/formats.js.map +1 -0
- package/internal/qs/formats.mjs +9 -0
- package/internal/qs/formats.mjs.map +1 -0
- package/internal/qs/index.d.mts +10 -0
- package/internal/qs/index.d.mts.map +1 -0
- package/internal/qs/index.d.ts +10 -0
- package/internal/qs/index.d.ts.map +1 -0
- package/internal/qs/index.js +14 -0
- package/internal/qs/index.js.map +1 -0
- package/internal/qs/index.mjs +10 -0
- package/internal/qs/index.mjs.map +1 -0
- package/internal/qs/stringify.d.mts +3 -0
- package/internal/qs/stringify.d.mts.map +1 -0
- package/internal/qs/stringify.d.ts +3 -0
- package/internal/qs/stringify.d.ts.map +1 -0
- package/internal/qs/stringify.js +277 -0
- package/internal/qs/stringify.js.map +1 -0
- package/internal/qs/stringify.mjs +274 -0
- package/internal/qs/stringify.mjs.map +1 -0
- package/internal/qs/types.d.mts +57 -0
- package/internal/qs/types.d.mts.map +1 -0
- package/internal/qs/types.d.ts +57 -0
- package/internal/qs/types.d.ts.map +1 -0
- package/internal/qs/types.js +3 -0
- package/internal/qs/types.js.map +1 -0
- package/internal/qs/types.mjs +2 -0
- package/internal/qs/types.mjs.map +1 -0
- package/internal/qs/utils.d.mts +15 -0
- package/internal/qs/utils.d.mts.map +1 -0
- package/internal/qs/utils.d.ts +15 -0
- package/internal/qs/utils.d.ts.map +1 -0
- package/internal/qs/utils.js +230 -0
- package/internal/qs/utils.js.map +1 -0
- package/internal/qs/utils.mjs +217 -0
- package/internal/qs/utils.mjs.map +1 -0
- package/internal/request-options.d.mts +78 -0
- package/internal/request-options.d.mts.map +1 -0
- package/internal/request-options.d.ts +78 -0
- package/internal/request-options.d.ts.map +1 -0
- package/internal/request-options.js +13 -0
- package/internal/request-options.js.map +1 -0
- package/internal/request-options.mjs +9 -0
- package/internal/request-options.mjs.map +1 -0
- package/internal/shim-types.d.mts +17 -0
- package/internal/shim-types.d.mts.map +1 -0
- package/internal/shim-types.d.ts +17 -0
- package/internal/shim-types.d.ts.map +1 -0
- package/internal/shim-types.js +9 -0
- package/internal/shim-types.js.map +1 -0
- package/internal/shim-types.mjs +8 -0
- package/internal/shim-types.mjs.map +1 -0
- package/internal/shims.d.mts +26 -0
- package/internal/shims.d.mts.map +1 -0
- package/internal/shims.d.ts +26 -0
- package/internal/shims.d.ts.map +1 -0
- package/internal/shims.js +97 -0
- package/internal/shims.js.map +1 -0
- package/internal/shims.mjs +90 -0
- package/internal/shims.mjs.map +1 -0
- package/internal/to-file.d.mts +45 -0
- package/internal/to-file.d.mts.map +1 -0
- package/internal/to-file.d.ts +45 -0
- package/internal/to-file.d.ts.map +1 -0
- package/internal/to-file.js +91 -0
- package/internal/to-file.js.map +1 -0
- package/internal/to-file.mjs +88 -0
- package/internal/to-file.mjs.map +1 -0
- package/internal/tslib.js +81 -0
- package/internal/tslib.mjs +17 -0
- package/internal/types.d.mts +69 -0
- package/internal/types.d.mts.map +1 -0
- package/internal/types.d.ts +69 -0
- package/internal/types.d.ts.map +1 -0
- package/internal/types.js +3 -0
- package/internal/types.js.map +1 -0
- package/internal/types.mjs +2 -0
- package/internal/types.mjs.map +1 -0
- package/internal/uploads.d.mts +42 -0
- package/internal/uploads.d.mts.map +1 -0
- package/internal/uploads.d.ts +42 -0
- package/internal/uploads.d.ts.map +1 -0
- package/internal/uploads.js +141 -0
- package/internal/uploads.js.map +1 -0
- package/internal/uploads.mjs +131 -0
- package/internal/uploads.mjs.map +1 -0
- package/internal/utils/base64.d.mts +3 -0
- package/internal/utils/base64.d.mts.map +1 -0
- package/internal/utils/base64.d.ts +3 -0
- package/internal/utils/base64.d.ts.map +1 -0
- package/internal/utils/base64.js +37 -0
- package/internal/utils/base64.js.map +1 -0
- package/internal/utils/base64.mjs +32 -0
- package/internal/utils/base64.mjs.map +1 -0
- package/internal/utils/bytes.d.mts +4 -0
- package/internal/utils/bytes.d.mts.map +1 -0
- package/internal/utils/bytes.d.ts +4 -0
- package/internal/utils/bytes.d.ts.map +1 -0
- package/internal/utils/bytes.js +31 -0
- package/internal/utils/bytes.js.map +1 -0
- package/internal/utils/bytes.mjs +26 -0
- package/internal/utils/bytes.mjs.map +1 -0
- package/internal/utils/env.d.mts +9 -0
- package/internal/utils/env.d.mts.map +1 -0
- package/internal/utils/env.d.ts +9 -0
- package/internal/utils/env.d.ts.map +1 -0
- package/internal/utils/env.js +21 -0
- package/internal/utils/env.js.map +1 -0
- package/internal/utils/env.mjs +17 -0
- package/internal/utils/env.mjs.map +1 -0
- package/internal/utils/log.d.mts +37 -0
- package/internal/utils/log.d.mts.map +1 -0
- package/internal/utils/log.d.ts +37 -0
- package/internal/utils/log.d.ts.map +1 -0
- package/internal/utils/log.js +84 -0
- package/internal/utils/log.js.map +1 -0
- package/internal/utils/log.mjs +78 -0
- package/internal/utils/log.mjs.map +1 -0
- package/internal/utils/path.d.mts +15 -0
- package/internal/utils/path.d.mts.map +1 -0
- package/internal/utils/path.d.ts +15 -0
- package/internal/utils/path.d.ts.map +1 -0
- package/internal/utils/path.js +79 -0
- package/internal/utils/path.js.map +1 -0
- package/internal/utils/path.mjs +74 -0
- package/internal/utils/path.mjs.map +1 -0
- package/internal/utils/query.d.mts +2 -0
- package/internal/utils/query.d.mts.map +1 -0
- package/internal/utils/query.d.ts +2 -0
- package/internal/utils/query.d.ts.map +1 -0
- package/internal/utils/query.js +9 -0
- package/internal/utils/query.js.map +1 -0
- package/internal/utils/query.mjs +5 -0
- package/internal/utils/query.mjs.map +1 -0
- package/internal/utils/sleep.d.mts +2 -0
- package/internal/utils/sleep.d.mts.map +1 -0
- package/internal/utils/sleep.d.ts +2 -0
- package/internal/utils/sleep.d.ts.map +1 -0
- package/internal/utils/sleep.js +6 -0
- package/internal/utils/sleep.js.map +1 -0
- package/internal/utils/sleep.mjs +2 -0
- package/internal/utils/sleep.mjs.map +1 -0
- package/internal/utils/uuid.d.mts +5 -0
- package/internal/utils/uuid.d.mts.map +1 -0
- package/internal/utils/uuid.d.ts +5 -0
- package/internal/utils/uuid.d.ts.map +1 -0
- package/internal/utils/uuid.js +21 -0
- package/internal/utils/uuid.js.map +1 -0
- package/internal/utils/uuid.mjs +17 -0
- package/internal/utils/uuid.mjs.map +1 -0
- package/internal/utils/values.d.mts +18 -0
- package/internal/utils/values.d.mts.map +1 -0
- package/internal/utils/values.d.ts +18 -0
- package/internal/utils/values.d.ts.map +1 -0
- package/internal/utils/values.js +111 -0
- package/internal/utils/values.js.map +1 -0
- package/internal/utils/values.mjs +93 -0
- package/internal/utils/values.mjs.map +1 -0
- package/internal/utils.d.mts +8 -0
- package/internal/utils.d.mts.map +1 -0
- package/internal/utils.d.ts +8 -0
- package/internal/utils.d.ts.map +1 -0
- package/internal/utils.js +11 -0
- package/internal/utils.js.map +1 -0
- package/internal/utils.mjs +8 -0
- package/internal/utils.mjs.map +1 -0
- package/internal/ws.d.mts +31 -0
- package/internal/ws.d.mts.map +1 -0
- package/internal/ws.d.ts +31 -0
- package/internal/ws.d.ts.map +1 -0
- package/internal/ws.js +39 -0
- package/internal/ws.js.map +1 -0
- package/internal/ws.mjs +36 -0
- package/internal/ws.mjs.map +1 -0
- package/lib/index.d.mts +5 -0
- package/lib/index.d.mts.map +1 -0
- package/lib/index.d.ts +5 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +11 -0
- package/lib/index.js.map +1 -0
- package/lib/index.mjs +4 -0
- package/lib/index.mjs.map +1 -0
- package/lib/jsonParseFloat.d.mts +16 -0
- package/lib/jsonParseFloat.d.mts.map +1 -0
- package/lib/jsonParseFloat.d.ts +16 -0
- package/lib/jsonParseFloat.d.ts.map +1 -0
- package/lib/jsonParseFloat.js +77 -0
- package/lib/jsonParseFloat.js.map +1 -0
- package/lib/jsonParseFloat.mjs +74 -0
- package/lib/jsonParseFloat.mjs.map +1 -0
- package/lib/jwtAuth.d.mts +7 -0
- package/lib/jwtAuth.d.mts.map +1 -0
- package/lib/jwtAuth.d.ts +7 -0
- package/lib/jwtAuth.d.ts.map +1 -0
- package/lib/jwtAuth.js +33 -0
- package/lib/jwtAuth.js.map +1 -0
- package/lib/jwtAuth.mjs +30 -0
- package/lib/jwtAuth.mjs.map +1 -0
- package/lib/ws.d.mts +95 -0
- package/lib/ws.d.mts.map +1 -0
- package/lib/ws.d.ts +95 -0
- package/lib/ws.d.ts.map +1 -0
- package/lib/ws.js +229 -0
- package/lib/ws.js.map +1 -0
- package/lib/ws.mjs +223 -0
- package/lib/ws.mjs.map +1 -0
- package/package.json +169 -0
- package/pagination.d.mts +2 -0
- package/pagination.d.mts.map +1 -0
- package/pagination.d.ts +2 -0
- package/pagination.d.ts.map +1 -0
- package/pagination.js +6 -0
- package/pagination.js.map +1 -0
- package/pagination.mjs +2 -0
- package/pagination.mjs.map +1 -0
- package/resource.d.mts +2 -0
- package/resource.d.mts.map +1 -0
- package/resource.d.ts +2 -0
- package/resource.d.ts.map +1 -0
- package/resource.js +6 -0
- package/resource.js.map +1 -0
- package/resource.mjs +2 -0
- package/resource.mjs.map +1 -0
- package/resources/accounts.d.mts +48 -0
- package/resources/accounts.d.mts.map +1 -0
- package/resources/accounts.d.ts +48 -0
- package/resources/accounts.d.ts.map +1 -0
- package/resources/accounts.js +19 -0
- package/resources/accounts.js.map +1 -0
- package/resources/accounts.mjs +15 -0
- package/resources/accounts.mjs.map +1 -0
- package/resources/api-keys.d.mts +33 -0
- package/resources/api-keys.d.mts.map +1 -0
- package/resources/api-keys.d.ts +33 -0
- package/resources/api-keys.d.ts.map +1 -0
- package/resources/api-keys.js +19 -0
- package/resources/api-keys.js.map +1 -0
- package/resources/api-keys.mjs +15 -0
- package/resources/api-keys.mjs.map +1 -0
- package/resources/candles.d.mts +310 -0
- package/resources/candles.d.mts.map +1 -0
- package/resources/candles.d.ts +310 -0
- package/resources/candles.d.ts.map +1 -0
- package/resources/candles.js +117 -0
- package/resources/candles.js.map +1 -0
- package/resources/candles.mjs +113 -0
- package/resources/candles.mjs.map +1 -0
- package/resources/deposits.d.mts +373 -0
- package/resources/deposits.d.mts.map +1 -0
- package/resources/deposits.d.ts +373 -0
- package/resources/deposits.d.ts.map +1 -0
- package/resources/deposits.js +139 -0
- package/resources/deposits.js.map +1 -0
- package/resources/deposits.mjs +135 -0
- package/resources/deposits.mjs.map +1 -0
- package/resources/index.d.mts +15 -0
- package/resources/index.d.mts.map +1 -0
- package/resources/index.d.ts +15 -0
- package/resources/index.d.ts.map +1 -0
- package/resources/index.js +32 -0
- package/resources/index.js.map +1 -0
- package/resources/index.mjs +15 -0
- package/resources/index.mjs.map +1 -0
- package/resources/orderbooks.d.mts +134 -0
- package/resources/orderbooks.d.mts.map +1 -0
- package/resources/orderbooks.d.ts +134 -0
- package/resources/orderbooks.d.ts.map +1 -0
- package/resources/orderbooks.js +31 -0
- package/resources/orderbooks.js.map +1 -0
- package/resources/orderbooks.mjs +27 -0
- package/resources/orderbooks.mjs.map +1 -0
- package/resources/orders.d.mts +886 -0
- package/resources/orders.d.mts.map +1 -0
- package/resources/orders.d.ts +886 -0
- package/resources/orders.d.ts.map +1 -0
- package/resources/orders.js +250 -0
- package/resources/orders.js.map +1 -0
- package/resources/orders.mjs +246 -0
- package/resources/orders.mjs.map +1 -0
- package/resources/tickers.d.mts +184 -0
- package/resources/tickers.d.mts.map +1 -0
- package/resources/tickers.d.ts +184 -0
- package/resources/tickers.d.ts.map +1 -0
- package/resources/tickers.js +30 -0
- package/resources/tickers.js.map +1 -0
- package/resources/tickers.mjs +26 -0
- package/resources/tickers.mjs.map +1 -0
- package/resources/trades.d.mts +107 -0
- package/resources/trades.d.mts.map +1 -0
- package/resources/trades.d.ts +107 -0
- package/resources/trades.d.ts.map +1 -0
- package/resources/trades.js +19 -0
- package/resources/trades.js.map +1 -0
- package/resources/trades.mjs +15 -0
- package/resources/trades.mjs.map +1 -0
- package/resources/trading-pairs.d.mts +96 -0
- package/resources/trading-pairs.d.mts.map +1 -0
- package/resources/trading-pairs.d.ts +96 -0
- package/resources/trading-pairs.d.ts.map +1 -0
- package/resources/trading-pairs.js +19 -0
- package/resources/trading-pairs.js.map +1 -0
- package/resources/trading-pairs.mjs +15 -0
- package/resources/trading-pairs.mjs.map +1 -0
- package/resources/travel-rule.d.mts +139 -0
- package/resources/travel-rule.d.mts.map +1 -0
- package/resources/travel-rule.d.ts +139 -0
- package/resources/travel-rule.d.ts.map +1 -0
- package/resources/travel-rule.js +68 -0
- package/resources/travel-rule.js.map +1 -0
- package/resources/travel-rule.mjs +64 -0
- package/resources/travel-rule.mjs.map +1 -0
- package/resources/wallet-status.d.mts +74 -0
- package/resources/wallet-status.d.mts.map +1 -0
- package/resources/wallet-status.d.ts +74 -0
- package/resources/wallet-status.d.ts.map +1 -0
- package/resources/wallet-status.js +19 -0
- package/resources/wallet-status.js.map +1 -0
- package/resources/wallet-status.mjs +15 -0
- package/resources/wallet-status.mjs.map +1 -0
- package/resources/withdraws.d.mts +599 -0
- package/resources/withdraws.d.mts.map +1 -0
- package/resources/withdraws.d.ts +599 -0
- package/resources/withdraws.d.ts.map +1 -0
- package/resources/withdraws.js +139 -0
- package/resources/withdraws.js.map +1 -0
- package/resources/withdraws.mjs +135 -0
- package/resources/withdraws.mjs.map +1 -0
- package/resources/ws-private/index.d.mts +3 -0
- package/resources/ws-private/index.d.mts.map +1 -0
- package/resources/ws-private/index.d.ts +3 -0
- package/resources/ws-private/index.d.ts.map +1 -0
- package/resources/ws-private/index.js +6 -0
- package/resources/ws-private/index.js.map +1 -0
- package/resources/ws-private/index.mjs +2 -0
- package/resources/ws-private/index.mjs.map +1 -0
- package/resources/ws-private/internal-base.d.mts +58 -0
- package/resources/ws-private/internal-base.d.mts.map +1 -0
- package/resources/ws-private/internal-base.d.ts +58 -0
- package/resources/ws-private/internal-base.d.ts.map +1 -0
- package/resources/ws-private/internal-base.js +51 -0
- package/resources/ws-private/internal-base.js.map +1 -0
- package/resources/ws-private/internal-base.mjs +45 -0
- package/resources/ws-private/internal-base.mjs.map +1 -0
- package/resources/ws-private/ws-private.d.mts +224 -0
- package/resources/ws-private/ws-private.d.mts.map +1 -0
- package/resources/ws-private/ws-private.d.ts +224 -0
- package/resources/ws-private/ws-private.d.ts.map +1 -0
- package/resources/ws-private/ws-private.js +8 -0
- package/resources/ws-private/ws-private.js.map +1 -0
- package/resources/ws-private/ws-private.mjs +4 -0
- package/resources/ws-private/ws-private.mjs.map +1 -0
- package/resources/ws-private/ws.d.mts +85 -0
- package/resources/ws-private/ws.d.mts.map +1 -0
- package/resources/ws-private/ws.d.ts +85 -0
- package/resources/ws-private/ws.d.ts.map +1 -0
- package/resources/ws-private/ws.js +433 -0
- package/resources/ws-private/ws.js.map +1 -0
- package/resources/ws-private/ws.mjs +428 -0
- package/resources/ws-private/ws.mjs.map +1 -0
- package/resources/ws-private.d.mts +2 -0
- package/resources/ws-private.d.mts.map +1 -0
- package/resources/ws-private.d.ts +2 -0
- package/resources/ws-private.d.ts.map +1 -0
- package/resources/ws-private.js +5 -0
- package/resources/ws-private.js.map +1 -0
- package/resources/ws-private.mjs +2 -0
- package/resources/ws-private.mjs.map +1 -0
- package/resources/ws-public/index.d.mts +3 -0
- package/resources/ws-public/index.d.mts.map +1 -0
- package/resources/ws-public/index.d.ts +3 -0
- package/resources/ws-public/index.d.ts.map +1 -0
- package/resources/ws-public/index.js +6 -0
- package/resources/ws-public/index.js.map +1 -0
- package/resources/ws-public/index.mjs +2 -0
- package/resources/ws-public/index.mjs.map +1 -0
- package/resources/ws-public/internal-base.d.mts +58 -0
- package/resources/ws-public/internal-base.d.mts.map +1 -0
- package/resources/ws-public/internal-base.d.ts +58 -0
- package/resources/ws-public/internal-base.d.ts.map +1 -0
- package/resources/ws-public/internal-base.js +51 -0
- package/resources/ws-public/internal-base.js.map +1 -0
- package/resources/ws-public/internal-base.mjs +45 -0
- package/resources/ws-public/internal-base.mjs.map +1 -0
- package/resources/ws-public/ws-public.d.mts +427 -0
- package/resources/ws-public/ws-public.d.mts.map +1 -0
- package/resources/ws-public/ws-public.d.ts +427 -0
- package/resources/ws-public/ws-public.d.ts.map +1 -0
- package/resources/ws-public/ws-public.js +8 -0
- package/resources/ws-public/ws-public.js.map +1 -0
- package/resources/ws-public/ws-public.mjs +4 -0
- package/resources/ws-public/ws-public.mjs.map +1 -0
- package/resources/ws-public/ws.d.mts +85 -0
- package/resources/ws-public/ws.d.mts.map +1 -0
- package/resources/ws-public/ws.d.ts +85 -0
- package/resources/ws-public/ws.d.ts.map +1 -0
- package/resources/ws-public/ws.js +428 -0
- package/resources/ws-public/ws.js.map +1 -0
- package/resources/ws-public/ws.mjs +423 -0
- package/resources/ws-public/ws.mjs.map +1 -0
- package/resources/ws-public.d.mts +2 -0
- package/resources/ws-public.d.mts.map +1 -0
- package/resources/ws-public.d.ts +2 -0
- package/resources/ws-public.d.ts.map +1 -0
- package/resources/ws-public.js +5 -0
- package/resources/ws-public.js.map +1 -0
- package/resources/ws-public.mjs +2 -0
- package/resources/ws-public.mjs.map +1 -0
- package/resources.d.mts +2 -0
- package/resources.d.mts.map +1 -0
- package/resources.d.ts +2 -0
- package/resources.d.ts.map +1 -0
- package/resources.js +5 -0
- package/resources.js.map +1 -0
- package/resources.mjs +2 -0
- package/resources.mjs.map +1 -0
- package/src/api-promise.ts +2 -0
- package/src/client.ts +1112 -0
- package/src/core/EventEmitter.ts +114 -0
- package/src/core/README.md +3 -0
- package/src/core/api-promise.ts +91 -0
- package/src/core/error.ts +182 -0
- package/src/core/pagination.ts +195 -0
- package/src/core/resource.ts +10 -0
- package/src/core/uploads.ts +2 -0
- package/src/error.ts +2 -0
- package/src/index.ts +24 -0
- package/src/internal/README.md +3 -0
- package/src/internal/builtin-types.ts +92 -0
- package/src/internal/errors.ts +32 -0
- package/src/internal/headers.ts +96 -0
- package/src/internal/parse.ts +56 -0
- package/src/internal/qs/LICENSE.md +13 -0
- package/src/internal/qs/README.md +3 -0
- package/src/internal/qs/formats.ts +10 -0
- package/src/internal/qs/index.ts +13 -0
- package/src/internal/qs/stringify.ts +385 -0
- package/src/internal/qs/types.ts +71 -0
- package/src/internal/qs/utils.ts +265 -0
- package/src/internal/request-options.ts +92 -0
- package/src/internal/shim-types.ts +25 -0
- package/src/internal/shims.ts +106 -0
- package/src/internal/to-file.ts +154 -0
- package/src/internal/types.ts +94 -0
- package/src/internal/uploads.ts +187 -0
- package/src/internal/utils/base64.ts +39 -0
- package/src/internal/utils/bytes.ts +32 -0
- package/src/internal/utils/env.ts +17 -0
- package/src/internal/utils/log.ts +125 -0
- package/src/internal/utils/path.ts +88 -0
- package/src/internal/utils/query.ts +6 -0
- package/src/internal/utils/sleep.ts +2 -0
- package/src/internal/utils/uuid.ts +19 -0
- package/src/internal/utils/values.ts +104 -0
- package/src/internal/utils.ts +8 -0
- package/src/internal/ws.ts +68 -0
- package/src/lib/index.ts +4 -0
- package/src/lib/jsonParseFloat.ts +73 -0
- package/src/lib/jwtAuth.ts +39 -0
- package/src/lib/ws.ts +282 -0
- package/src/pagination.ts +2 -0
- package/src/resource.ts +2 -0
- package/src/resources/accounts.ts +59 -0
- package/src/resources/api-keys.ts +40 -0
- package/src/resources/candles.ts +392 -0
- package/src/resources/deposits.ts +484 -0
- package/src/resources/index.ts +102 -0
- package/src/resources/orderbooks.ts +170 -0
- package/src/resources/orders.ts +1102 -0
- package/src/resources/tickers.ts +233 -0
- package/src/resources/trades.ts +127 -0
- package/src/resources/trading-pairs.ts +120 -0
- package/src/resources/travel-rule.ts +181 -0
- package/src/resources/wallet-status.ts +87 -0
- package/src/resources/withdraws.ts +734 -0
- package/src/resources/ws-private/index.ts +3 -0
- package/src/resources/ws-private/internal-base.ts +99 -0
- package/src/resources/ws-private/ws-private.ts +283 -0
- package/src/resources/ws-private/ws.ts +529 -0
- package/src/resources/ws-private.ts +2 -0
- package/src/resources/ws-public/index.ts +3 -0
- package/src/resources/ws-public/internal-base.ts +99 -0
- package/src/resources/ws-public/ws-public.ts +561 -0
- package/src/resources/ws-public/ws.ts +525 -0
- package/src/resources/ws-public.ts +2 -0
- package/src/resources.ts +1 -0
- package/src/tsconfig.json +11 -0
- package/src/uploads.ts +2 -0
- package/src/version.ts +1 -0
- package/uploads.d.mts +2 -0
- package/uploads.d.mts.map +1 -0
- package/uploads.d.ts +2 -0
- package/uploads.d.ts.map +1 -0
- package/uploads.js +6 -0
- package/uploads.js.map +1 -0
- package/uploads.mjs +2 -0
- package/uploads.mjs.map +1 -0
- package/version.d.mts +2 -0
- package/version.d.mts.map +1 -0
- package/version.d.ts +2 -0
- package/version.d.ts.map +1 -0
- package/version.js +5 -0
- package/version.js.map +1 -0
- package/version.mjs +2 -0
- package/version.mjs.map +1 -0
package/core/error.js
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InternalServerError = exports.RateLimitPenaltyError = exports.RateLimitError = exports.UnprocessableEntityError = exports.ConflictError = exports.NotFoundError = exports.PermissionDeniedError = exports.AuthenticationError = exports.BadRequestError = exports.APIConnectionTimeoutError = exports.APIConnectionError = exports.APIUserAbortError = exports.APIError = exports.UpbitError = void 0;
|
|
4
|
+
const errors_1 = require("../internal/errors.js");
|
|
5
|
+
class UpbitError extends Error {
|
|
6
|
+
}
|
|
7
|
+
exports.UpbitError = UpbitError;
|
|
8
|
+
class APIError extends UpbitError {
|
|
9
|
+
constructor(status, error, message, headers, name) {
|
|
10
|
+
super(`${APIError.makeMessage(status, error, message, name ?? null)}`);
|
|
11
|
+
this.status = status;
|
|
12
|
+
this.headers = headers;
|
|
13
|
+
this.error = error;
|
|
14
|
+
this.name = name ?? '';
|
|
15
|
+
}
|
|
16
|
+
static makeMessage(status, error, message, name) {
|
|
17
|
+
const errorBody = error && typeof error === 'object' && !Array.isArray(error) && Object.keys(error).length > 0 ?
|
|
18
|
+
error
|
|
19
|
+
: undefined;
|
|
20
|
+
const msg = message ??
|
|
21
|
+
(errorBody?.message ?
|
|
22
|
+
typeof errorBody.message === 'string' ?
|
|
23
|
+
errorBody.message
|
|
24
|
+
: JSON.stringify(errorBody.message)
|
|
25
|
+
: errorBody ? JSON.stringify(errorBody)
|
|
26
|
+
: undefined);
|
|
27
|
+
if (status && msg) {
|
|
28
|
+
return name ? `${status} [${name}] ${msg}` : `${status} ${msg}`;
|
|
29
|
+
}
|
|
30
|
+
if (status) {
|
|
31
|
+
return `${status} status code (no body)`;
|
|
32
|
+
}
|
|
33
|
+
if (msg) {
|
|
34
|
+
return msg;
|
|
35
|
+
}
|
|
36
|
+
return '(no status code or body)';
|
|
37
|
+
}
|
|
38
|
+
static parseErrorBody(error) {
|
|
39
|
+
if (!error || typeof error !== 'object' || Array.isArray(error)) {
|
|
40
|
+
return { message: null, name: null };
|
|
41
|
+
}
|
|
42
|
+
// Shape B: {"error": {"name": "...", "message": "..."}}
|
|
43
|
+
const nested = error['error'];
|
|
44
|
+
if (nested != null && typeof nested === 'object' && !Array.isArray(nested)) {
|
|
45
|
+
const rawName = nested['name'];
|
|
46
|
+
const rawMessage = nested['message'];
|
|
47
|
+
return {
|
|
48
|
+
message: rawMessage != null ? String(rawMessage) : null,
|
|
49
|
+
name: rawName != null ? String(rawName) : null,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
// Shape A: {"name": "...", "message": "..."}
|
|
53
|
+
const rawName = error['name'];
|
|
54
|
+
if (rawName != null) {
|
|
55
|
+
const rawMessage = error['message'];
|
|
56
|
+
return {
|
|
57
|
+
message: rawMessage != null ? String(rawMessage) : null,
|
|
58
|
+
name: String(rawName),
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
return { message: null, name: null };
|
|
62
|
+
}
|
|
63
|
+
static generate(status, errorResponse, message, headers) {
|
|
64
|
+
if (!status || !headers) {
|
|
65
|
+
return new APIConnectionError({ message, cause: (0, errors_1.castToError)(errorResponse) });
|
|
66
|
+
}
|
|
67
|
+
const error = errorResponse;
|
|
68
|
+
const { name: errorName, message: parsedMessage } = APIError.parseErrorBody(error);
|
|
69
|
+
const resolvedMessage = parsedMessage ?? message;
|
|
70
|
+
if (status === 400) {
|
|
71
|
+
return new BadRequestError(status, error, resolvedMessage, headers, errorName);
|
|
72
|
+
}
|
|
73
|
+
if (status === 401) {
|
|
74
|
+
return new AuthenticationError(status, error, resolvedMessage, headers, errorName);
|
|
75
|
+
}
|
|
76
|
+
if (status === 403) {
|
|
77
|
+
return new PermissionDeniedError(status, error, resolvedMessage, headers, errorName);
|
|
78
|
+
}
|
|
79
|
+
if (status === 404) {
|
|
80
|
+
return new NotFoundError(status, error, resolvedMessage, headers, errorName);
|
|
81
|
+
}
|
|
82
|
+
if (status === 409) {
|
|
83
|
+
return new ConflictError(status, error, resolvedMessage, headers, errorName);
|
|
84
|
+
}
|
|
85
|
+
if (status === 418) {
|
|
86
|
+
return new RateLimitPenaltyError(status, error, resolvedMessage, headers, errorName);
|
|
87
|
+
}
|
|
88
|
+
if (status === 422) {
|
|
89
|
+
return new UnprocessableEntityError(status, error, resolvedMessage, headers, errorName);
|
|
90
|
+
}
|
|
91
|
+
if (status === 429) {
|
|
92
|
+
return new RateLimitError(status, error, resolvedMessage, headers, errorName);
|
|
93
|
+
}
|
|
94
|
+
if (status >= 500) {
|
|
95
|
+
return new InternalServerError(status, error, resolvedMessage, headers, errorName);
|
|
96
|
+
}
|
|
97
|
+
return new APIError(status, error, resolvedMessage, headers, errorName);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.APIError = APIError;
|
|
101
|
+
class APIUserAbortError extends APIError {
|
|
102
|
+
constructor({ message } = {}) {
|
|
103
|
+
super(undefined, undefined, message || 'Request was aborted.', undefined);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
exports.APIUserAbortError = APIUserAbortError;
|
|
107
|
+
class APIConnectionError extends APIError {
|
|
108
|
+
constructor({ message, cause }) {
|
|
109
|
+
super(undefined, undefined, message || 'Connection error.', undefined);
|
|
110
|
+
// in some environments the 'cause' property is already declared
|
|
111
|
+
// @ts-ignore
|
|
112
|
+
if (cause)
|
|
113
|
+
this.cause = cause;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
exports.APIConnectionError = APIConnectionError;
|
|
117
|
+
class APIConnectionTimeoutError extends APIConnectionError {
|
|
118
|
+
constructor({ message } = {}) {
|
|
119
|
+
super({ message: message ?? 'Request timed out.' });
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
exports.APIConnectionTimeoutError = APIConnectionTimeoutError;
|
|
123
|
+
class BadRequestError extends APIError {
|
|
124
|
+
}
|
|
125
|
+
exports.BadRequestError = BadRequestError;
|
|
126
|
+
class AuthenticationError extends APIError {
|
|
127
|
+
}
|
|
128
|
+
exports.AuthenticationError = AuthenticationError;
|
|
129
|
+
class PermissionDeniedError extends APIError {
|
|
130
|
+
}
|
|
131
|
+
exports.PermissionDeniedError = PermissionDeniedError;
|
|
132
|
+
class NotFoundError extends APIError {
|
|
133
|
+
}
|
|
134
|
+
exports.NotFoundError = NotFoundError;
|
|
135
|
+
class ConflictError extends APIError {
|
|
136
|
+
}
|
|
137
|
+
exports.ConflictError = ConflictError;
|
|
138
|
+
class UnprocessableEntityError extends APIError {
|
|
139
|
+
}
|
|
140
|
+
exports.UnprocessableEntityError = UnprocessableEntityError;
|
|
141
|
+
class RateLimitError extends APIError {
|
|
142
|
+
}
|
|
143
|
+
exports.RateLimitError = RateLimitError;
|
|
144
|
+
class RateLimitPenaltyError extends APIError {
|
|
145
|
+
}
|
|
146
|
+
exports.RateLimitPenaltyError = RateLimitPenaltyError;
|
|
147
|
+
class InternalServerError extends APIError {
|
|
148
|
+
}
|
|
149
|
+
exports.InternalServerError = InternalServerError;
|
|
150
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../src/core/error.ts"],"names":[],"mappings":"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"}
|
package/core/error.mjs
ADDED
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { castToError } from "../internal/errors.mjs";
|
|
2
|
+
export class UpbitError extends Error {
|
|
3
|
+
}
|
|
4
|
+
export class APIError extends UpbitError {
|
|
5
|
+
constructor(status, error, message, headers, name) {
|
|
6
|
+
super(`${APIError.makeMessage(status, error, message, name ?? null)}`);
|
|
7
|
+
this.status = status;
|
|
8
|
+
this.headers = headers;
|
|
9
|
+
this.error = error;
|
|
10
|
+
this.name = name ?? '';
|
|
11
|
+
}
|
|
12
|
+
static makeMessage(status, error, message, name) {
|
|
13
|
+
const errorBody = error && typeof error === 'object' && !Array.isArray(error) && Object.keys(error).length > 0 ?
|
|
14
|
+
error
|
|
15
|
+
: undefined;
|
|
16
|
+
const msg = message ??
|
|
17
|
+
(errorBody?.message ?
|
|
18
|
+
typeof errorBody.message === 'string' ?
|
|
19
|
+
errorBody.message
|
|
20
|
+
: JSON.stringify(errorBody.message)
|
|
21
|
+
: errorBody ? JSON.stringify(errorBody)
|
|
22
|
+
: undefined);
|
|
23
|
+
if (status && msg) {
|
|
24
|
+
return name ? `${status} [${name}] ${msg}` : `${status} ${msg}`;
|
|
25
|
+
}
|
|
26
|
+
if (status) {
|
|
27
|
+
return `${status} status code (no body)`;
|
|
28
|
+
}
|
|
29
|
+
if (msg) {
|
|
30
|
+
return msg;
|
|
31
|
+
}
|
|
32
|
+
return '(no status code or body)';
|
|
33
|
+
}
|
|
34
|
+
static parseErrorBody(error) {
|
|
35
|
+
if (!error || typeof error !== 'object' || Array.isArray(error)) {
|
|
36
|
+
return { message: null, name: null };
|
|
37
|
+
}
|
|
38
|
+
// Shape B: {"error": {"name": "...", "message": "..."}}
|
|
39
|
+
const nested = error['error'];
|
|
40
|
+
if (nested != null && typeof nested === 'object' && !Array.isArray(nested)) {
|
|
41
|
+
const rawName = nested['name'];
|
|
42
|
+
const rawMessage = nested['message'];
|
|
43
|
+
return {
|
|
44
|
+
message: rawMessage != null ? String(rawMessage) : null,
|
|
45
|
+
name: rawName != null ? String(rawName) : null,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
// Shape A: {"name": "...", "message": "..."}
|
|
49
|
+
const rawName = error['name'];
|
|
50
|
+
if (rawName != null) {
|
|
51
|
+
const rawMessage = error['message'];
|
|
52
|
+
return {
|
|
53
|
+
message: rawMessage != null ? String(rawMessage) : null,
|
|
54
|
+
name: String(rawName),
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
return { message: null, name: null };
|
|
58
|
+
}
|
|
59
|
+
static generate(status, errorResponse, message, headers) {
|
|
60
|
+
if (!status || !headers) {
|
|
61
|
+
return new APIConnectionError({ message, cause: castToError(errorResponse) });
|
|
62
|
+
}
|
|
63
|
+
const error = errorResponse;
|
|
64
|
+
const { name: errorName, message: parsedMessage } = APIError.parseErrorBody(error);
|
|
65
|
+
const resolvedMessage = parsedMessage ?? message;
|
|
66
|
+
if (status === 400) {
|
|
67
|
+
return new BadRequestError(status, error, resolvedMessage, headers, errorName);
|
|
68
|
+
}
|
|
69
|
+
if (status === 401) {
|
|
70
|
+
return new AuthenticationError(status, error, resolvedMessage, headers, errorName);
|
|
71
|
+
}
|
|
72
|
+
if (status === 403) {
|
|
73
|
+
return new PermissionDeniedError(status, error, resolvedMessage, headers, errorName);
|
|
74
|
+
}
|
|
75
|
+
if (status === 404) {
|
|
76
|
+
return new NotFoundError(status, error, resolvedMessage, headers, errorName);
|
|
77
|
+
}
|
|
78
|
+
if (status === 409) {
|
|
79
|
+
return new ConflictError(status, error, resolvedMessage, headers, errorName);
|
|
80
|
+
}
|
|
81
|
+
if (status === 418) {
|
|
82
|
+
return new RateLimitPenaltyError(status, error, resolvedMessage, headers, errorName);
|
|
83
|
+
}
|
|
84
|
+
if (status === 422) {
|
|
85
|
+
return new UnprocessableEntityError(status, error, resolvedMessage, headers, errorName);
|
|
86
|
+
}
|
|
87
|
+
if (status === 429) {
|
|
88
|
+
return new RateLimitError(status, error, resolvedMessage, headers, errorName);
|
|
89
|
+
}
|
|
90
|
+
if (status >= 500) {
|
|
91
|
+
return new InternalServerError(status, error, resolvedMessage, headers, errorName);
|
|
92
|
+
}
|
|
93
|
+
return new APIError(status, error, resolvedMessage, headers, errorName);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
export class APIUserAbortError extends APIError {
|
|
97
|
+
constructor({ message } = {}) {
|
|
98
|
+
super(undefined, undefined, message || 'Request was aborted.', undefined);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
export class APIConnectionError extends APIError {
|
|
102
|
+
constructor({ message, cause }) {
|
|
103
|
+
super(undefined, undefined, message || 'Connection error.', undefined);
|
|
104
|
+
// in some environments the 'cause' property is already declared
|
|
105
|
+
// @ts-ignore
|
|
106
|
+
if (cause)
|
|
107
|
+
this.cause = cause;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
export class APIConnectionTimeoutError extends APIConnectionError {
|
|
111
|
+
constructor({ message } = {}) {
|
|
112
|
+
super({ message: message ?? 'Request timed out.' });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
export class BadRequestError extends APIError {
|
|
116
|
+
}
|
|
117
|
+
export class AuthenticationError extends APIError {
|
|
118
|
+
}
|
|
119
|
+
export class PermissionDeniedError extends APIError {
|
|
120
|
+
}
|
|
121
|
+
export class NotFoundError extends APIError {
|
|
122
|
+
}
|
|
123
|
+
export class ConflictError extends APIError {
|
|
124
|
+
}
|
|
125
|
+
export class UnprocessableEntityError extends APIError {
|
|
126
|
+
}
|
|
127
|
+
export class RateLimitError extends APIError {
|
|
128
|
+
}
|
|
129
|
+
export class RateLimitPenaltyError extends APIError {
|
|
130
|
+
}
|
|
131
|
+
export class InternalServerError extends APIError {
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=error.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.mjs","sourceRoot":"","sources":["../src/core/error.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { FinalRequestOptions } from "../internal/request-options.mjs";
|
|
2
|
+
import { type Upbit } from "../client.mjs";
|
|
3
|
+
import { APIPromise } from "./api-promise.mjs";
|
|
4
|
+
import { type APIResponseProps } from "../internal/parse.mjs";
|
|
5
|
+
export type PageRequestOptions = Pick<FinalRequestOptions, 'query' | 'headers' | 'body' | 'path' | 'method'>;
|
|
6
|
+
export declare abstract class AbstractPage<Item> implements AsyncIterable<Item> {
|
|
7
|
+
#private;
|
|
8
|
+
protected options: FinalRequestOptions;
|
|
9
|
+
protected response: Response;
|
|
10
|
+
protected body: unknown;
|
|
11
|
+
constructor(client: Upbit, response: Response, body: unknown, options: FinalRequestOptions);
|
|
12
|
+
abstract nextPageRequestOptions(): PageRequestOptions | null;
|
|
13
|
+
abstract getPaginatedItems(): Item[];
|
|
14
|
+
hasNextPage(): boolean;
|
|
15
|
+
getNextPage(): Promise<this>;
|
|
16
|
+
iterPages(): AsyncGenerator<this>;
|
|
17
|
+
[Symbol.asyncIterator](): AsyncGenerator<Item>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* This subclass of Promise will resolve to an instantiated Page once the request completes.
|
|
21
|
+
*
|
|
22
|
+
* It also implements AsyncIterable to allow auto-paginating iteration on an unawaited list call, eg:
|
|
23
|
+
*
|
|
24
|
+
* for await (const item of client.items.list()) {
|
|
25
|
+
* console.log(item)
|
|
26
|
+
* }
|
|
27
|
+
*/
|
|
28
|
+
export declare class PagePromise<PageClass extends AbstractPage<Item>, Item = ReturnType<PageClass['getPaginatedItems']>[number]> extends APIPromise<PageClass> implements AsyncIterable<Item> {
|
|
29
|
+
constructor(client: Upbit, request: Promise<APIResponseProps>, Page: new (...args: ConstructorParameters<typeof AbstractPage>) => PageClass);
|
|
30
|
+
/**
|
|
31
|
+
* Allow auto-paginating iteration on an unawaited list call, eg:
|
|
32
|
+
*
|
|
33
|
+
* for await (const item of client.items.list()) {
|
|
34
|
+
* console.log(item)
|
|
35
|
+
* }
|
|
36
|
+
*/
|
|
37
|
+
[Symbol.asyncIterator](): AsyncGenerator<Item>;
|
|
38
|
+
}
|
|
39
|
+
export type PageNumberPageResponse<Item> = Item[];
|
|
40
|
+
export interface PageNumberPageParams {
|
|
41
|
+
page?: number;
|
|
42
|
+
limit?: number;
|
|
43
|
+
}
|
|
44
|
+
export declare class PageNumberPage<Item> extends AbstractPage<Item> {
|
|
45
|
+
items: Array<Item>;
|
|
46
|
+
constructor(client: Upbit, response: Response, body: PageNumberPageResponse<Item>, options: FinalRequestOptions);
|
|
47
|
+
getPaginatedItems(): Item[];
|
|
48
|
+
nextPageRequestOptions(): PageRequestOptions | null;
|
|
49
|
+
}
|
|
50
|
+
export type UuidCursorIDPageResponse<Item> = Item[];
|
|
51
|
+
export interface UuidCursorIDPageParams {
|
|
52
|
+
to?: string;
|
|
53
|
+
limit?: number;
|
|
54
|
+
}
|
|
55
|
+
export declare class UuidCursorIDPage<Item extends {
|
|
56
|
+
uuid: string;
|
|
57
|
+
}> extends AbstractPage<Item> {
|
|
58
|
+
items: Array<Item>;
|
|
59
|
+
constructor(client: Upbit, response: Response, body: UuidCursorIDPageResponse<Item>, options: FinalRequestOptions);
|
|
60
|
+
getPaginatedItems(): Item[];
|
|
61
|
+
nextPageRequestOptions(): PageRequestOptions | null;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=pagination.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.d.mts","sourceRoot":"","sources":["../src/core/pagination.ts"],"names":[],"mappings":"OAEO,EAAE,mBAAmB,EAAE;OAEvB,EAAE,KAAK,KAAK,EAAE;OACd,EAAE,UAAU,EAAE;OACd,EAAE,KAAK,gBAAgB,EAAE;AAGhC,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;AAE7G,8BAAsB,YAAY,CAAC,IAAI,CAAE,YAAW,aAAa,CAAC,IAAI,CAAC;;IAErE,SAAS,CAAC,OAAO,EAAE,mBAAmB,CAAC;IAEvC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC;gBAEZ,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB;IAO1F,QAAQ,CAAC,sBAAsB,IAAI,kBAAkB,GAAG,IAAI;IAE5D,QAAQ,CAAC,iBAAiB,IAAI,IAAI,EAAE;IAEpC,WAAW,IAAI,OAAO;IAMhB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,SAAS,IAAI,cAAc,CAAC,IAAI,CAAC;IASjC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC;CAOtD;AAED;;;;;;;;GAQG;AACH,qBAAa,WAAW,CACpB,SAAS,SAAS,YAAY,CAAC,IAAI,CAAC,EACpC,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAE3D,SAAQ,UAAU,CAAC,SAAS,CAC5B,YAAW,aAAa,CAAC,IAAI,CAAC;gBAG5B,MAAM,EAAE,KAAK,EACb,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAClC,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,qBAAqB,CAAC,OAAO,YAAY,CAAC,KAAK,SAAS;IAU9E;;;;;;OAMG;IACI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC;CAMtD;AAED,MAAM,MAAM,sBAAsB,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,cAAc,CAAC,IAAI,CAAE,SAAQ,YAAY,CAAC,IAAI,CAAC;IAC1D,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAGjB,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAClC,OAAO,EAAE,mBAAmB;IAO9B,iBAAiB,IAAI,IAAI,EAAE;IAI3B,sBAAsB,IAAI,kBAAkB,GAAG,IAAI;CAiBpD;AAED,MAAM,MAAM,wBAAwB,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;AAEpD,MAAM,WAAW,sBAAsB;IACrC,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,gBAAgB,CAAC,IAAI,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAE,SAAQ,YAAY,CAAC,IAAI,CAAC;IACrF,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAGjB,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,wBAAwB,CAAC,IAAI,CAAC,EACpC,OAAO,EAAE,mBAAmB;IAO9B,iBAAiB,IAAI,IAAI,EAAE;IAI3B,sBAAsB,IAAI,kBAAkB,GAAG,IAAI;CAepD"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { FinalRequestOptions } from "../internal/request-options.js";
|
|
2
|
+
import { type Upbit } from "../client.js";
|
|
3
|
+
import { APIPromise } from "./api-promise.js";
|
|
4
|
+
import { type APIResponseProps } from "../internal/parse.js";
|
|
5
|
+
export type PageRequestOptions = Pick<FinalRequestOptions, 'query' | 'headers' | 'body' | 'path' | 'method'>;
|
|
6
|
+
export declare abstract class AbstractPage<Item> implements AsyncIterable<Item> {
|
|
7
|
+
#private;
|
|
8
|
+
protected options: FinalRequestOptions;
|
|
9
|
+
protected response: Response;
|
|
10
|
+
protected body: unknown;
|
|
11
|
+
constructor(client: Upbit, response: Response, body: unknown, options: FinalRequestOptions);
|
|
12
|
+
abstract nextPageRequestOptions(): PageRequestOptions | null;
|
|
13
|
+
abstract getPaginatedItems(): Item[];
|
|
14
|
+
hasNextPage(): boolean;
|
|
15
|
+
getNextPage(): Promise<this>;
|
|
16
|
+
iterPages(): AsyncGenerator<this>;
|
|
17
|
+
[Symbol.asyncIterator](): AsyncGenerator<Item>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* This subclass of Promise will resolve to an instantiated Page once the request completes.
|
|
21
|
+
*
|
|
22
|
+
* It also implements AsyncIterable to allow auto-paginating iteration on an unawaited list call, eg:
|
|
23
|
+
*
|
|
24
|
+
* for await (const item of client.items.list()) {
|
|
25
|
+
* console.log(item)
|
|
26
|
+
* }
|
|
27
|
+
*/
|
|
28
|
+
export declare class PagePromise<PageClass extends AbstractPage<Item>, Item = ReturnType<PageClass['getPaginatedItems']>[number]> extends APIPromise<PageClass> implements AsyncIterable<Item> {
|
|
29
|
+
constructor(client: Upbit, request: Promise<APIResponseProps>, Page: new (...args: ConstructorParameters<typeof AbstractPage>) => PageClass);
|
|
30
|
+
/**
|
|
31
|
+
* Allow auto-paginating iteration on an unawaited list call, eg:
|
|
32
|
+
*
|
|
33
|
+
* for await (const item of client.items.list()) {
|
|
34
|
+
* console.log(item)
|
|
35
|
+
* }
|
|
36
|
+
*/
|
|
37
|
+
[Symbol.asyncIterator](): AsyncGenerator<Item>;
|
|
38
|
+
}
|
|
39
|
+
export type PageNumberPageResponse<Item> = Item[];
|
|
40
|
+
export interface PageNumberPageParams {
|
|
41
|
+
page?: number;
|
|
42
|
+
limit?: number;
|
|
43
|
+
}
|
|
44
|
+
export declare class PageNumberPage<Item> extends AbstractPage<Item> {
|
|
45
|
+
items: Array<Item>;
|
|
46
|
+
constructor(client: Upbit, response: Response, body: PageNumberPageResponse<Item>, options: FinalRequestOptions);
|
|
47
|
+
getPaginatedItems(): Item[];
|
|
48
|
+
nextPageRequestOptions(): PageRequestOptions | null;
|
|
49
|
+
}
|
|
50
|
+
export type UuidCursorIDPageResponse<Item> = Item[];
|
|
51
|
+
export interface UuidCursorIDPageParams {
|
|
52
|
+
to?: string;
|
|
53
|
+
limit?: number;
|
|
54
|
+
}
|
|
55
|
+
export declare class UuidCursorIDPage<Item extends {
|
|
56
|
+
uuid: string;
|
|
57
|
+
}> extends AbstractPage<Item> {
|
|
58
|
+
items: Array<Item>;
|
|
59
|
+
constructor(client: Upbit, response: Response, body: UuidCursorIDPageResponse<Item>, options: FinalRequestOptions);
|
|
60
|
+
getPaginatedItems(): Item[];
|
|
61
|
+
nextPageRequestOptions(): PageRequestOptions | null;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=pagination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../src/core/pagination.ts"],"names":[],"mappings":"OAEO,EAAE,mBAAmB,EAAE;OAEvB,EAAE,KAAK,KAAK,EAAE;OACd,EAAE,UAAU,EAAE;OACd,EAAE,KAAK,gBAAgB,EAAE;AAGhC,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;AAE7G,8BAAsB,YAAY,CAAC,IAAI,CAAE,YAAW,aAAa,CAAC,IAAI,CAAC;;IAErE,SAAS,CAAC,OAAO,EAAE,mBAAmB,CAAC;IAEvC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC;gBAEZ,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB;IAO1F,QAAQ,CAAC,sBAAsB,IAAI,kBAAkB,GAAG,IAAI;IAE5D,QAAQ,CAAC,iBAAiB,IAAI,IAAI,EAAE;IAEpC,WAAW,IAAI,OAAO;IAMhB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,SAAS,IAAI,cAAc,CAAC,IAAI,CAAC;IASjC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC;CAOtD;AAED;;;;;;;;GAQG;AACH,qBAAa,WAAW,CACpB,SAAS,SAAS,YAAY,CAAC,IAAI,CAAC,EACpC,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAE3D,SAAQ,UAAU,CAAC,SAAS,CAC5B,YAAW,aAAa,CAAC,IAAI,CAAC;gBAG5B,MAAM,EAAE,KAAK,EACb,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAClC,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,qBAAqB,CAAC,OAAO,YAAY,CAAC,KAAK,SAAS;IAU9E;;;;;;OAMG;IACI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC;CAMtD;AAED,MAAM,MAAM,sBAAsB,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,cAAc,CAAC,IAAI,CAAE,SAAQ,YAAY,CAAC,IAAI,CAAC;IAC1D,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAGjB,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAClC,OAAO,EAAE,mBAAmB;IAO9B,iBAAiB,IAAI,IAAI,EAAE;IAI3B,sBAAsB,IAAI,kBAAkB,GAAG,IAAI;CAiBpD;AAED,MAAM,MAAM,wBAAwB,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;AAEpD,MAAM,WAAW,sBAAsB;IACrC,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,gBAAgB,CAAC,IAAI,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAE,SAAQ,YAAY,CAAC,IAAI,CAAC;IACrF,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAGjB,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,wBAAwB,CAAC,IAAI,CAAC,EACpC,OAAO,EAAE,mBAAmB;IAO9B,iBAAiB,IAAI,IAAI,EAAE;IAI3B,sBAAsB,IAAI,kBAAkB,GAAG,IAAI;CAepD"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _AbstractPage_client;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.UuidCursorIDPage = exports.PageNumberPage = exports.PagePromise = exports.AbstractPage = void 0;
|
|
5
|
+
const tslib_1 = require("../internal/tslib.js");
|
|
6
|
+
const error_1 = require("./error.js");
|
|
7
|
+
const parse_1 = require("../internal/parse.js");
|
|
8
|
+
const api_promise_1 = require("./api-promise.js");
|
|
9
|
+
const values_1 = require("../internal/utils/values.js");
|
|
10
|
+
class AbstractPage {
|
|
11
|
+
constructor(client, response, body, options) {
|
|
12
|
+
_AbstractPage_client.set(this, void 0);
|
|
13
|
+
tslib_1.__classPrivateFieldSet(this, _AbstractPage_client, client, "f");
|
|
14
|
+
this.options = options;
|
|
15
|
+
this.response = response;
|
|
16
|
+
this.body = body;
|
|
17
|
+
}
|
|
18
|
+
hasNextPage() {
|
|
19
|
+
const items = this.getPaginatedItems();
|
|
20
|
+
if (!items.length)
|
|
21
|
+
return false;
|
|
22
|
+
return this.nextPageRequestOptions() != null;
|
|
23
|
+
}
|
|
24
|
+
async getNextPage() {
|
|
25
|
+
const nextOptions = this.nextPageRequestOptions();
|
|
26
|
+
if (!nextOptions) {
|
|
27
|
+
throw new error_1.UpbitError('No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.');
|
|
28
|
+
}
|
|
29
|
+
return await tslib_1.__classPrivateFieldGet(this, _AbstractPage_client, "f").requestAPIList(this.constructor, nextOptions);
|
|
30
|
+
}
|
|
31
|
+
async *iterPages() {
|
|
32
|
+
let page = this;
|
|
33
|
+
yield page;
|
|
34
|
+
while (page.hasNextPage()) {
|
|
35
|
+
page = await page.getNextPage();
|
|
36
|
+
yield page;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
async *[(_AbstractPage_client = new WeakMap(), Symbol.asyncIterator)]() {
|
|
40
|
+
for await (const page of this.iterPages()) {
|
|
41
|
+
for (const item of page.getPaginatedItems()) {
|
|
42
|
+
yield item;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.AbstractPage = AbstractPage;
|
|
48
|
+
/**
|
|
49
|
+
* This subclass of Promise will resolve to an instantiated Page once the request completes.
|
|
50
|
+
*
|
|
51
|
+
* It also implements AsyncIterable to allow auto-paginating iteration on an unawaited list call, eg:
|
|
52
|
+
*
|
|
53
|
+
* for await (const item of client.items.list()) {
|
|
54
|
+
* console.log(item)
|
|
55
|
+
* }
|
|
56
|
+
*/
|
|
57
|
+
class PagePromise extends api_promise_1.APIPromise {
|
|
58
|
+
constructor(client, request, Page) {
|
|
59
|
+
super(client, request, async (client, props) => new Page(client, props.response, await (0, parse_1.defaultParseResponse)(client, props), props.options));
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Allow auto-paginating iteration on an unawaited list call, eg:
|
|
63
|
+
*
|
|
64
|
+
* for await (const item of client.items.list()) {
|
|
65
|
+
* console.log(item)
|
|
66
|
+
* }
|
|
67
|
+
*/
|
|
68
|
+
async *[Symbol.asyncIterator]() {
|
|
69
|
+
const page = await this;
|
|
70
|
+
for await (const item of page) {
|
|
71
|
+
yield item;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.PagePromise = PagePromise;
|
|
76
|
+
class PageNumberPage extends AbstractPage {
|
|
77
|
+
constructor(client, response, body, options) {
|
|
78
|
+
super(client, response, body, options);
|
|
79
|
+
this.items = body || [];
|
|
80
|
+
}
|
|
81
|
+
getPaginatedItems() {
|
|
82
|
+
return this.items ?? [];
|
|
83
|
+
}
|
|
84
|
+
nextPageRequestOptions() {
|
|
85
|
+
const query = this.options.query;
|
|
86
|
+
const currentPage = query?.page ?? 1;
|
|
87
|
+
const limit = query?.limit;
|
|
88
|
+
if (limit !== undefined && this.getPaginatedItems().length < limit) {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
...this.options,
|
|
93
|
+
query: {
|
|
94
|
+
...(0, values_1.maybeObj)(this.options.query),
|
|
95
|
+
page: currentPage + 1,
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.PageNumberPage = PageNumberPage;
|
|
101
|
+
class UuidCursorIDPage extends AbstractPage {
|
|
102
|
+
constructor(client, response, body, options) {
|
|
103
|
+
super(client, response, body, options);
|
|
104
|
+
this.items = body || [];
|
|
105
|
+
}
|
|
106
|
+
getPaginatedItems() {
|
|
107
|
+
return this.items ?? [];
|
|
108
|
+
}
|
|
109
|
+
nextPageRequestOptions() {
|
|
110
|
+
const items = this.getPaginatedItems();
|
|
111
|
+
const uuid = items[items.length - 1]?.uuid;
|
|
112
|
+
if (!uuid) {
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
return {
|
|
116
|
+
...this.options,
|
|
117
|
+
query: {
|
|
118
|
+
...(0, values_1.maybeObj)(this.options.query),
|
|
119
|
+
to: uuid,
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
exports.UuidCursorIDPage = UuidCursorIDPage;
|
|
125
|
+
//# sourceMappingURL=pagination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../src/core/pagination.ts"],"names":[],"mappings":"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"}
|