@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
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
type EventListener<Events, EventType extends keyof Events> = Events[EventType];
|
|
2
|
+
export type EventParameters<Events, EventType extends keyof Events> = {
|
|
3
|
+
[Event in EventType]: EventListener<Events, EventType> extends (...args: infer P) => any ? P : never;
|
|
4
|
+
}[EventType];
|
|
5
|
+
export declare class EventEmitter<EventTypes extends Record<string, (...args: any) => any>> {
|
|
6
|
+
#private;
|
|
7
|
+
/**
|
|
8
|
+
* Adds the listener function to the end of the listeners array for the event.
|
|
9
|
+
* No checks are made to see if the listener has already been added. Multiple calls passing
|
|
10
|
+
* the same combination of event and listener will result in the listener being added, and
|
|
11
|
+
* called, multiple times.
|
|
12
|
+
* @returns this, so that calls can be chained
|
|
13
|
+
*/
|
|
14
|
+
on<Event extends keyof EventTypes>(event: Event, listener: EventListener<EventTypes, Event>): this;
|
|
15
|
+
/**
|
|
16
|
+
* Removes the specified listener from the listener array for the event.
|
|
17
|
+
* off() will remove, at most, one instance of a listener from the listener array. If any single
|
|
18
|
+
* listener has been added multiple times to the listener array for the specified event, then
|
|
19
|
+
* off() must be called multiple times to remove each instance.
|
|
20
|
+
* @returns this, so that calls can be chained
|
|
21
|
+
*/
|
|
22
|
+
off<Event extends keyof EventTypes>(event: Event, listener: EventListener<EventTypes, Event>): this;
|
|
23
|
+
/**
|
|
24
|
+
* Adds a one-time listener function for the event. The next time the event is triggered,
|
|
25
|
+
* this listener is removed and then invoked.
|
|
26
|
+
* @returns this, so that calls can be chained
|
|
27
|
+
*/
|
|
28
|
+
once<Event extends keyof EventTypes>(event: Event, listener: EventListener<EventTypes, Event>): this;
|
|
29
|
+
/**
|
|
30
|
+
* This is similar to `.once()`, but returns a Promise that resolves the next time
|
|
31
|
+
* the event is triggered, instead of calling a listener callback.
|
|
32
|
+
* @returns a Promise that resolves the next time given event is triggered,
|
|
33
|
+
* or rejects if an error is emitted. (If you request the 'error' event,
|
|
34
|
+
* returns a promise that resolves with the error).
|
|
35
|
+
*
|
|
36
|
+
* Example:
|
|
37
|
+
*
|
|
38
|
+
* const message = await stream.emitted('message') // rejects if the stream errors
|
|
39
|
+
*/
|
|
40
|
+
emitted<Event extends keyof EventTypes>(event: Event): Promise<EventParameters<EventTypes, Event> extends [infer Param] ? Param : EventParameters<EventTypes, Event> extends [] ? void : EventParameters<EventTypes, Event>>;
|
|
41
|
+
protected _emit<Event extends keyof EventTypes>(this: EventEmitter<EventTypes>, event: Event, ...args: EventParameters<EventTypes, Event>): void;
|
|
42
|
+
protected _hasListener(event: keyof EventTypes): boolean;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* An EventEmitter variant that exposes `_emit()` publicly.
|
|
46
|
+
*
|
|
47
|
+
* The base {@link EventEmitter} keeps `_emit` protected so that consumers
|
|
48
|
+
* can only listen, not dispatch. When you need a separate emitter instance
|
|
49
|
+
* that your own code can emit on, without exposing emit on the
|
|
50
|
+
* consumer-facing emitter, use this class.
|
|
51
|
+
*/
|
|
52
|
+
export declare class InternalEventEmitter<EventTypes extends Record<string, (...args: any) => any>> extends EventEmitter<EventTypes> {
|
|
53
|
+
_emit<Event extends keyof EventTypes>(event: Event, ...args: EventParameters<EventTypes, Event>): void;
|
|
54
|
+
}
|
|
55
|
+
export {};
|
|
56
|
+
//# sourceMappingURL=EventEmitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventEmitter.d.ts","sourceRoot":"","sources":["../src/core/EventEmitter.ts"],"names":[],"mappings":"AAAA,KAAK,aAAa,CAAC,MAAM,EAAE,SAAS,SAAS,MAAM,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;AAO/E,MAAM,MAAM,eAAe,CAAC,MAAM,EAAE,SAAS,SAAS,MAAM,MAAM,IAAI;KACnE,KAAK,IAAI,SAAS,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK;CACrG,CAAC,SAAS,CAAC,CAAC;AAEb,qBAAa,YAAY,CAAC,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;;IAKhF;;;;;;OAMG;IACH,EAAE,CAAC,KAAK,SAAS,MAAM,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,IAAI;IAOlG;;;;;;OAMG;IACH,GAAG,CAAC,KAAK,SAAS,MAAM,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,IAAI;IAQnG;;;;OAIG;IACH,IAAI,CAAC,KAAK,SAAS,MAAM,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,IAAI;IAOpG;;;;;;;;;;OAUG;IACH,OAAO,CAAC,KAAK,SAAS,MAAM,UAAU,EACpC,KAAK,EAAE,KAAK,GACX,OAAO,CACR,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,GAAG,KAAK,GAC9D,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,GACpD,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CACrC;IAOD,SAAS,CAAC,KAAK,CAAC,KAAK,SAAS,MAAM,UAAU,EAC5C,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC,EAC9B,KAAK,EAAE,KAAK,EACZ,GAAG,IAAI,EAAE,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC;IAS7C,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,UAAU,GAAG,OAAO;CAIzD;AAED;;;;;;;GAOG;AACH,qBAAa,oBAAoB,CAC/B,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC,CACxD,SAAQ,YAAY,CAAC,UAAU,CAAC;IACvB,KAAK,CAAC,KAAK,SAAS,MAAM,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC;CAGzG"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _EventEmitter_listeners;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.InternalEventEmitter = exports.EventEmitter = void 0;
|
|
5
|
+
const tslib_1 = require("../internal/tslib.js");
|
|
6
|
+
class EventEmitter {
|
|
7
|
+
constructor() {
|
|
8
|
+
_EventEmitter_listeners.set(this, {});
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Adds the listener function to the end of the listeners array for the event.
|
|
12
|
+
* No checks are made to see if the listener has already been added. Multiple calls passing
|
|
13
|
+
* the same combination of event and listener will result in the listener being added, and
|
|
14
|
+
* called, multiple times.
|
|
15
|
+
* @returns this, so that calls can be chained
|
|
16
|
+
*/
|
|
17
|
+
on(event, listener) {
|
|
18
|
+
const listeners = tslib_1.__classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event] || (tslib_1.__classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event] = []);
|
|
19
|
+
listeners.push({ listener });
|
|
20
|
+
return this;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Removes the specified listener from the listener array for the event.
|
|
24
|
+
* off() will remove, at most, one instance of a listener from the listener array. If any single
|
|
25
|
+
* listener has been added multiple times to the listener array for the specified event, then
|
|
26
|
+
* off() must be called multiple times to remove each instance.
|
|
27
|
+
* @returns this, so that calls can be chained
|
|
28
|
+
*/
|
|
29
|
+
off(event, listener) {
|
|
30
|
+
const listeners = tslib_1.__classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event];
|
|
31
|
+
if (!listeners)
|
|
32
|
+
return this;
|
|
33
|
+
const index = listeners.findIndex((l) => l.listener === listener);
|
|
34
|
+
if (index >= 0)
|
|
35
|
+
listeners.splice(index, 1);
|
|
36
|
+
return this;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Adds a one-time listener function for the event. The next time the event is triggered,
|
|
40
|
+
* this listener is removed and then invoked.
|
|
41
|
+
* @returns this, so that calls can be chained
|
|
42
|
+
*/
|
|
43
|
+
once(event, listener) {
|
|
44
|
+
const listeners = tslib_1.__classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event] || (tslib_1.__classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event] = []);
|
|
45
|
+
listeners.push({ listener, once: true });
|
|
46
|
+
return this;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* This is similar to `.once()`, but returns a Promise that resolves the next time
|
|
50
|
+
* the event is triggered, instead of calling a listener callback.
|
|
51
|
+
* @returns a Promise that resolves the next time given event is triggered,
|
|
52
|
+
* or rejects if an error is emitted. (If you request the 'error' event,
|
|
53
|
+
* returns a promise that resolves with the error).
|
|
54
|
+
*
|
|
55
|
+
* Example:
|
|
56
|
+
*
|
|
57
|
+
* const message = await stream.emitted('message') // rejects if the stream errors
|
|
58
|
+
*/
|
|
59
|
+
emitted(event) {
|
|
60
|
+
return new Promise((resolve, reject) => {
|
|
61
|
+
// TODO: handle errors
|
|
62
|
+
this.once(event, resolve);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
_emit(event, ...args) {
|
|
66
|
+
const listeners = tslib_1.__classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event];
|
|
67
|
+
if (listeners) {
|
|
68
|
+
tslib_1.__classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event] = listeners.filter((l) => !l.once);
|
|
69
|
+
listeners.forEach(({ listener }) => listener(...args));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
_hasListener(event) {
|
|
73
|
+
const listeners = tslib_1.__classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event];
|
|
74
|
+
return listeners && listeners.length > 0;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
exports.EventEmitter = EventEmitter;
|
|
78
|
+
_EventEmitter_listeners = new WeakMap();
|
|
79
|
+
/**
|
|
80
|
+
* An EventEmitter variant that exposes `_emit()` publicly.
|
|
81
|
+
*
|
|
82
|
+
* The base {@link EventEmitter} keeps `_emit` protected so that consumers
|
|
83
|
+
* can only listen, not dispatch. When you need a separate emitter instance
|
|
84
|
+
* that your own code can emit on, without exposing emit on the
|
|
85
|
+
* consumer-facing emitter, use this class.
|
|
86
|
+
*/
|
|
87
|
+
class InternalEventEmitter extends EventEmitter {
|
|
88
|
+
_emit(event, ...args) {
|
|
89
|
+
super._emit(event, ...args);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.InternalEventEmitter = InternalEventEmitter;
|
|
93
|
+
//# sourceMappingURL=EventEmitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventEmitter.js","sourceRoot":"","sources":["../src/core/EventEmitter.ts"],"names":[],"mappings":";;;;;AAWA,MAAa,YAAY;IAAzB;QACE,kCAEI,EAAE,EAAC;IAmFT,CAAC;IAjFC;;;;;;OAMG;IACH,EAAE,CAAiC,KAAY,EAAE,QAA0C;QACzF,MAAM,SAAS,GACb,+BAAA,IAAI,+BAAW,CAAC,KAAK,CAAC,IAAI,CAAC,+BAAA,IAAI,+BAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1D,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,GAAG,CAAiC,KAAY,EAAE,QAA0C;QAC1F,MAAM,SAAS,GAAG,+BAAA,IAAI,+BAAW,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC5B,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QAClE,IAAI,KAAK,IAAI,CAAC;YAAE,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAiC,KAAY,EAAE,QAA0C;QAC3F,MAAM,SAAS,GACb,+BAAA,IAAI,+BAAW,CAAC,KAAK,CAAC,IAAI,CAAC,+BAAA,IAAI,+BAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1D,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;OAUG;IACH,OAAO,CACL,KAAY;QAMZ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,sBAAsB;YACtB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAc,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAES,KAAK,CAEb,KAAY,EACZ,GAAG,IAAwC;QAE3C,MAAM,SAAS,GAAkD,+BAAA,IAAI,+BAAW,CAAC,KAAK,CAAC,CAAC;QACxF,IAAI,SAAS,EAAE,CAAC;YACd,+BAAA,IAAI,+BAAW,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAQ,CAAC;YACjE,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAI,IAAY,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAES,YAAY,CAAC,KAAuB;QAC5C,MAAM,SAAS,GAAG,+BAAA,IAAI,+BAAW,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3C,CAAC;CACF;AAtFD,oCAsFC;;AAED;;;;;;;GAOG;AACH,MAAa,oBAEX,SAAQ,YAAwB;IACvB,KAAK,CAAiC,KAAY,EAAE,GAAG,IAAwC;QACtG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;CACF;AAND,oDAMC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
var _EventEmitter_listeners;
|
|
2
|
+
import { __classPrivateFieldGet } from "../internal/tslib.mjs";
|
|
3
|
+
export class EventEmitter {
|
|
4
|
+
constructor() {
|
|
5
|
+
_EventEmitter_listeners.set(this, {});
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Adds the listener function to the end of the listeners array for the event.
|
|
9
|
+
* No checks are made to see if the listener has already been added. Multiple calls passing
|
|
10
|
+
* the same combination of event and listener will result in the listener being added, and
|
|
11
|
+
* called, multiple times.
|
|
12
|
+
* @returns this, so that calls can be chained
|
|
13
|
+
*/
|
|
14
|
+
on(event, listener) {
|
|
15
|
+
const listeners = __classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event] || (__classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event] = []);
|
|
16
|
+
listeners.push({ listener });
|
|
17
|
+
return this;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Removes the specified listener from the listener array for the event.
|
|
21
|
+
* off() will remove, at most, one instance of a listener from the listener array. If any single
|
|
22
|
+
* listener has been added multiple times to the listener array for the specified event, then
|
|
23
|
+
* off() must be called multiple times to remove each instance.
|
|
24
|
+
* @returns this, so that calls can be chained
|
|
25
|
+
*/
|
|
26
|
+
off(event, listener) {
|
|
27
|
+
const listeners = __classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event];
|
|
28
|
+
if (!listeners)
|
|
29
|
+
return this;
|
|
30
|
+
const index = listeners.findIndex((l) => l.listener === listener);
|
|
31
|
+
if (index >= 0)
|
|
32
|
+
listeners.splice(index, 1);
|
|
33
|
+
return this;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Adds a one-time listener function for the event. The next time the event is triggered,
|
|
37
|
+
* this listener is removed and then invoked.
|
|
38
|
+
* @returns this, so that calls can be chained
|
|
39
|
+
*/
|
|
40
|
+
once(event, listener) {
|
|
41
|
+
const listeners = __classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event] || (__classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event] = []);
|
|
42
|
+
listeners.push({ listener, once: true });
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* This is similar to `.once()`, but returns a Promise that resolves the next time
|
|
47
|
+
* the event is triggered, instead of calling a listener callback.
|
|
48
|
+
* @returns a Promise that resolves the next time given event is triggered,
|
|
49
|
+
* or rejects if an error is emitted. (If you request the 'error' event,
|
|
50
|
+
* returns a promise that resolves with the error).
|
|
51
|
+
*
|
|
52
|
+
* Example:
|
|
53
|
+
*
|
|
54
|
+
* const message = await stream.emitted('message') // rejects if the stream errors
|
|
55
|
+
*/
|
|
56
|
+
emitted(event) {
|
|
57
|
+
return new Promise((resolve, reject) => {
|
|
58
|
+
// TODO: handle errors
|
|
59
|
+
this.once(event, resolve);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
_emit(event, ...args) {
|
|
63
|
+
const listeners = __classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event];
|
|
64
|
+
if (listeners) {
|
|
65
|
+
__classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event] = listeners.filter((l) => !l.once);
|
|
66
|
+
listeners.forEach(({ listener }) => listener(...args));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
_hasListener(event) {
|
|
70
|
+
const listeners = __classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event];
|
|
71
|
+
return listeners && listeners.length > 0;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
_EventEmitter_listeners = new WeakMap();
|
|
75
|
+
/**
|
|
76
|
+
* An EventEmitter variant that exposes `_emit()` publicly.
|
|
77
|
+
*
|
|
78
|
+
* The base {@link EventEmitter} keeps `_emit` protected so that consumers
|
|
79
|
+
* can only listen, not dispatch. When you need a separate emitter instance
|
|
80
|
+
* that your own code can emit on, without exposing emit on the
|
|
81
|
+
* consumer-facing emitter, use this class.
|
|
82
|
+
*/
|
|
83
|
+
export class InternalEventEmitter extends EventEmitter {
|
|
84
|
+
_emit(event, ...args) {
|
|
85
|
+
super._emit(event, ...args);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=EventEmitter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventEmitter.mjs","sourceRoot":"","sources":["../src/core/EventEmitter.ts"],"names":[],"mappings":";;AAWA,MAAM,OAAO,YAAY;IAAzB;QACE,kCAEI,EAAE,EAAC;IAmFT,CAAC;IAjFC;;;;;;OAMG;IACH,EAAE,CAAiC,KAAY,EAAE,QAA0C;QACzF,MAAM,SAAS,GACb,uBAAA,IAAI,+BAAW,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAA,IAAI,+BAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1D,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,GAAG,CAAiC,KAAY,EAAE,QAA0C;QAC1F,MAAM,SAAS,GAAG,uBAAA,IAAI,+BAAW,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC5B,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QAClE,IAAI,KAAK,IAAI,CAAC;YAAE,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAiC,KAAY,EAAE,QAA0C;QAC3F,MAAM,SAAS,GACb,uBAAA,IAAI,+BAAW,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAA,IAAI,+BAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1D,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;OAUG;IACH,OAAO,CACL,KAAY;QAMZ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,sBAAsB;YACtB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAc,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAES,KAAK,CAEb,KAAY,EACZ,GAAG,IAAwC;QAE3C,MAAM,SAAS,GAAkD,uBAAA,IAAI,+BAAW,CAAC,KAAK,CAAC,CAAC;QACxF,IAAI,SAAS,EAAE,CAAC;YACd,uBAAA,IAAI,+BAAW,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAQ,CAAC;YACjE,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAI,IAAY,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAES,YAAY,CAAC,KAAuB;QAC5C,MAAM,SAAS,GAAG,uBAAA,IAAI,+BAAW,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3C,CAAC;CACF;;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,oBAEX,SAAQ,YAAwB;IACvB,KAAK,CAAiC,KAAY,EAAE,GAAG,IAAwC;QACtG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;CACF"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { type Upbit } from "../client.mjs";
|
|
2
|
+
import { type PromiseOrValue } from "../internal/types.mjs";
|
|
3
|
+
import { APIResponseProps } from "../internal/parse.mjs";
|
|
4
|
+
/**
|
|
5
|
+
* A subclass of `Promise` providing additional helper methods
|
|
6
|
+
* for interacting with the SDK.
|
|
7
|
+
*/
|
|
8
|
+
export declare class APIPromise<T> extends Promise<T> {
|
|
9
|
+
#private;
|
|
10
|
+
private responsePromise;
|
|
11
|
+
private parseResponse;
|
|
12
|
+
private parsedPromise;
|
|
13
|
+
constructor(client: Upbit, responsePromise: Promise<APIResponseProps>, parseResponse?: (client: Upbit, props: APIResponseProps) => PromiseOrValue<T>);
|
|
14
|
+
_thenUnwrap<U>(transform: (data: T, props: APIResponseProps) => U): APIPromise<U>;
|
|
15
|
+
/**
|
|
16
|
+
* Gets the raw `Response` instance instead of parsing the response
|
|
17
|
+
* data.
|
|
18
|
+
*
|
|
19
|
+
* If you want to parse the response body but still get the `Response`
|
|
20
|
+
* instance, you can use {@link withResponse()}.
|
|
21
|
+
*
|
|
22
|
+
* Getting the wrong TypeScript type for `Response`?
|
|
23
|
+
* Try setting `"moduleResolution": "NodeNext"` or add `"lib": ["DOM"]`
|
|
24
|
+
* to your `tsconfig.json`.
|
|
25
|
+
*/
|
|
26
|
+
asResponse(): Promise<Response>;
|
|
27
|
+
/**
|
|
28
|
+
* Gets the parsed response data and the raw `Response` instance.
|
|
29
|
+
*
|
|
30
|
+
* If you just want to get the raw `Response` instance without parsing it,
|
|
31
|
+
* you can use {@link asResponse()}.
|
|
32
|
+
*
|
|
33
|
+
* Getting the wrong TypeScript type for `Response`?
|
|
34
|
+
* Try setting `"moduleResolution": "NodeNext"` or add `"lib": ["DOM"]`
|
|
35
|
+
* to your `tsconfig.json`.
|
|
36
|
+
*/
|
|
37
|
+
withResponse(): Promise<{
|
|
38
|
+
data: T;
|
|
39
|
+
response: Response;
|
|
40
|
+
}>;
|
|
41
|
+
private parse;
|
|
42
|
+
then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;
|
|
43
|
+
catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): Promise<T | TResult>;
|
|
44
|
+
finally(onfinally?: (() => void) | undefined | null): Promise<T>;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=api-promise.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-promise.d.mts","sourceRoot":"","sources":["../src/core/api-promise.ts"],"names":[],"mappings":"OACO,EAAE,KAAK,KAAK,EAAE;OAEd,EAAE,KAAK,cAAc,EAAE;OACvB,EAAE,gBAAgB,EAAwB;AAEjD;;;GAGG;AACH,qBAAa,UAAU,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;;IAMzC,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,aAAa;IANvB,OAAO,CAAC,aAAa,CAAyB;gBAI5C,MAAM,EAAE,KAAK,EACL,eAAe,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAC1C,aAAa,GAAE,CACrB,MAAM,EAAE,KAAK,EACb,KAAK,EAAE,gBAAgB,KACpB,cAAc,CAAC,CAAC,CAAwB;IAW/C,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,gBAAgB,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAMjF;;;;;;;;;;OAUG;IACH,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC;IAI/B;;;;;;;;;OASG;IACG,YAAY,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE,CAAC;IAK9D,OAAO,CAAC,KAAK;IAOJ,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EAC1C,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,EACjF,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAClF,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAItB,KAAK,CAAC,OAAO,GAAG,KAAK,EAC5B,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAChF,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC;IAId,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;CAG1E"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { type Upbit } from "../client.js";
|
|
2
|
+
import { type PromiseOrValue } from "../internal/types.js";
|
|
3
|
+
import { APIResponseProps } from "../internal/parse.js";
|
|
4
|
+
/**
|
|
5
|
+
* A subclass of `Promise` providing additional helper methods
|
|
6
|
+
* for interacting with the SDK.
|
|
7
|
+
*/
|
|
8
|
+
export declare class APIPromise<T> extends Promise<T> {
|
|
9
|
+
#private;
|
|
10
|
+
private responsePromise;
|
|
11
|
+
private parseResponse;
|
|
12
|
+
private parsedPromise;
|
|
13
|
+
constructor(client: Upbit, responsePromise: Promise<APIResponseProps>, parseResponse?: (client: Upbit, props: APIResponseProps) => PromiseOrValue<T>);
|
|
14
|
+
_thenUnwrap<U>(transform: (data: T, props: APIResponseProps) => U): APIPromise<U>;
|
|
15
|
+
/**
|
|
16
|
+
* Gets the raw `Response` instance instead of parsing the response
|
|
17
|
+
* data.
|
|
18
|
+
*
|
|
19
|
+
* If you want to parse the response body but still get the `Response`
|
|
20
|
+
* instance, you can use {@link withResponse()}.
|
|
21
|
+
*
|
|
22
|
+
* Getting the wrong TypeScript type for `Response`?
|
|
23
|
+
* Try setting `"moduleResolution": "NodeNext"` or add `"lib": ["DOM"]`
|
|
24
|
+
* to your `tsconfig.json`.
|
|
25
|
+
*/
|
|
26
|
+
asResponse(): Promise<Response>;
|
|
27
|
+
/**
|
|
28
|
+
* Gets the parsed response data and the raw `Response` instance.
|
|
29
|
+
*
|
|
30
|
+
* If you just want to get the raw `Response` instance without parsing it,
|
|
31
|
+
* you can use {@link asResponse()}.
|
|
32
|
+
*
|
|
33
|
+
* Getting the wrong TypeScript type for `Response`?
|
|
34
|
+
* Try setting `"moduleResolution": "NodeNext"` or add `"lib": ["DOM"]`
|
|
35
|
+
* to your `tsconfig.json`.
|
|
36
|
+
*/
|
|
37
|
+
withResponse(): Promise<{
|
|
38
|
+
data: T;
|
|
39
|
+
response: Response;
|
|
40
|
+
}>;
|
|
41
|
+
private parse;
|
|
42
|
+
then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;
|
|
43
|
+
catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): Promise<T | TResult>;
|
|
44
|
+
finally(onfinally?: (() => void) | undefined | null): Promise<T>;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=api-promise.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-promise.d.ts","sourceRoot":"","sources":["../src/core/api-promise.ts"],"names":[],"mappings":"OACO,EAAE,KAAK,KAAK,EAAE;OAEd,EAAE,KAAK,cAAc,EAAE;OACvB,EAAE,gBAAgB,EAAwB;AAEjD;;;GAGG;AACH,qBAAa,UAAU,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;;IAMzC,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,aAAa;IANvB,OAAO,CAAC,aAAa,CAAyB;gBAI5C,MAAM,EAAE,KAAK,EACL,eAAe,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAC1C,aAAa,GAAE,CACrB,MAAM,EAAE,KAAK,EACb,KAAK,EAAE,gBAAgB,KACpB,cAAc,CAAC,CAAC,CAAwB;IAW/C,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,gBAAgB,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAMjF;;;;;;;;;;OAUG;IACH,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC;IAI/B;;;;;;;;;OASG;IACG,YAAY,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE,CAAC;IAK9D,OAAO,CAAC,KAAK;IAOJ,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EAC1C,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,EACjF,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAClF,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAItB,KAAK,CAAC,OAAO,GAAG,KAAK,EAC5B,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAChF,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC;IAId,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;CAG1E"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _APIPromise_client;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.APIPromise = void 0;
|
|
5
|
+
const tslib_1 = require("../internal/tslib.js");
|
|
6
|
+
const parse_1 = require("../internal/parse.js");
|
|
7
|
+
/**
|
|
8
|
+
* A subclass of `Promise` providing additional helper methods
|
|
9
|
+
* for interacting with the SDK.
|
|
10
|
+
*/
|
|
11
|
+
class APIPromise extends Promise {
|
|
12
|
+
constructor(client, responsePromise, parseResponse = parse_1.defaultParseResponse) {
|
|
13
|
+
super((resolve) => {
|
|
14
|
+
// this is maybe a bit weird but this has to be a no-op to not implicitly
|
|
15
|
+
// parse the response body; instead .then, .catch, .finally are overridden
|
|
16
|
+
// to parse the response
|
|
17
|
+
resolve(null);
|
|
18
|
+
});
|
|
19
|
+
this.responsePromise = responsePromise;
|
|
20
|
+
this.parseResponse = parseResponse;
|
|
21
|
+
_APIPromise_client.set(this, void 0);
|
|
22
|
+
tslib_1.__classPrivateFieldSet(this, _APIPromise_client, client, "f");
|
|
23
|
+
}
|
|
24
|
+
_thenUnwrap(transform) {
|
|
25
|
+
return new APIPromise(tslib_1.__classPrivateFieldGet(this, _APIPromise_client, "f"), this.responsePromise, async (client, props) => transform(await this.parseResponse(client, props), props));
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Gets the raw `Response` instance instead of parsing the response
|
|
29
|
+
* data.
|
|
30
|
+
*
|
|
31
|
+
* If you want to parse the response body but still get the `Response`
|
|
32
|
+
* instance, you can use {@link withResponse()}.
|
|
33
|
+
*
|
|
34
|
+
* Getting the wrong TypeScript type for `Response`?
|
|
35
|
+
* Try setting `"moduleResolution": "NodeNext"` or add `"lib": ["DOM"]`
|
|
36
|
+
* to your `tsconfig.json`.
|
|
37
|
+
*/
|
|
38
|
+
asResponse() {
|
|
39
|
+
return this.responsePromise.then((p) => p.response);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Gets the parsed response data and the raw `Response` instance.
|
|
43
|
+
*
|
|
44
|
+
* If you just want to get the raw `Response` instance without parsing it,
|
|
45
|
+
* you can use {@link asResponse()}.
|
|
46
|
+
*
|
|
47
|
+
* Getting the wrong TypeScript type for `Response`?
|
|
48
|
+
* Try setting `"moduleResolution": "NodeNext"` or add `"lib": ["DOM"]`
|
|
49
|
+
* to your `tsconfig.json`.
|
|
50
|
+
*/
|
|
51
|
+
async withResponse() {
|
|
52
|
+
const [data, response] = await Promise.all([this.parse(), this.asResponse()]);
|
|
53
|
+
return { data, response };
|
|
54
|
+
}
|
|
55
|
+
parse() {
|
|
56
|
+
if (!this.parsedPromise) {
|
|
57
|
+
this.parsedPromise = this.responsePromise.then((data) => this.parseResponse(tslib_1.__classPrivateFieldGet(this, _APIPromise_client, "f"), data));
|
|
58
|
+
}
|
|
59
|
+
return this.parsedPromise;
|
|
60
|
+
}
|
|
61
|
+
then(onfulfilled, onrejected) {
|
|
62
|
+
return this.parse().then(onfulfilled, onrejected);
|
|
63
|
+
}
|
|
64
|
+
catch(onrejected) {
|
|
65
|
+
return this.parse().catch(onrejected);
|
|
66
|
+
}
|
|
67
|
+
finally(onfinally) {
|
|
68
|
+
return this.parse().finally(onfinally);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.APIPromise = APIPromise;
|
|
72
|
+
_APIPromise_client = new WeakMap();
|
|
73
|
+
//# sourceMappingURL=api-promise.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-promise.js","sourceRoot":"","sources":["../src/core/api-promise.ts"],"names":[],"mappings":";;;;;AAIA,gDAA2E;AAE3E;;;GAGG;AACH,MAAa,UAAc,SAAQ,OAAU;IAI3C,YACE,MAAa,EACL,eAA0C,EAC1C,gBAGiB,4BAAoB;QAE7C,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE;YAChB,yEAAyE;YACzE,0EAA0E;YAC1E,wBAAwB;YACxB,OAAO,CAAC,IAAW,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAXK,oBAAe,GAAf,eAAe,CAA2B;QAC1C,kBAAa,GAAb,aAAa,CAGwB;QAR/C,qCAAe;QAgBb,+BAAA,IAAI,sBAAW,MAAM,MAAA,CAAC;IACxB,CAAC;IAED,WAAW,CAAI,SAAkD;QAC/D,OAAO,IAAI,UAAU,CAAC,+BAAA,IAAI,0BAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAChF,SAAS,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAC1D,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC9E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAEO,KAAK;QACX,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,+BAAA,IAAI,0BAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QACnG,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEQ,IAAI,CACX,WAAiF,EACjF,UAAmF;QAEnF,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAEQ,KAAK,CACZ,UAAiF;QAEjF,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAEQ,OAAO,CAAC,SAA2C;QAC1D,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;CACF;AAhFD,gCAgFC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
var _APIPromise_client;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "../internal/tslib.mjs";
|
|
3
|
+
import { defaultParseResponse } from "../internal/parse.mjs";
|
|
4
|
+
/**
|
|
5
|
+
* A subclass of `Promise` providing additional helper methods
|
|
6
|
+
* for interacting with the SDK.
|
|
7
|
+
*/
|
|
8
|
+
export class APIPromise extends Promise {
|
|
9
|
+
constructor(client, responsePromise, parseResponse = defaultParseResponse) {
|
|
10
|
+
super((resolve) => {
|
|
11
|
+
// this is maybe a bit weird but this has to be a no-op to not implicitly
|
|
12
|
+
// parse the response body; instead .then, .catch, .finally are overridden
|
|
13
|
+
// to parse the response
|
|
14
|
+
resolve(null);
|
|
15
|
+
});
|
|
16
|
+
this.responsePromise = responsePromise;
|
|
17
|
+
this.parseResponse = parseResponse;
|
|
18
|
+
_APIPromise_client.set(this, void 0);
|
|
19
|
+
__classPrivateFieldSet(this, _APIPromise_client, client, "f");
|
|
20
|
+
}
|
|
21
|
+
_thenUnwrap(transform) {
|
|
22
|
+
return new APIPromise(__classPrivateFieldGet(this, _APIPromise_client, "f"), this.responsePromise, async (client, props) => transform(await this.parseResponse(client, props), props));
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Gets the raw `Response` instance instead of parsing the response
|
|
26
|
+
* data.
|
|
27
|
+
*
|
|
28
|
+
* If you want to parse the response body but still get the `Response`
|
|
29
|
+
* instance, you can use {@link withResponse()}.
|
|
30
|
+
*
|
|
31
|
+
* Getting the wrong TypeScript type for `Response`?
|
|
32
|
+
* Try setting `"moduleResolution": "NodeNext"` or add `"lib": ["DOM"]`
|
|
33
|
+
* to your `tsconfig.json`.
|
|
34
|
+
*/
|
|
35
|
+
asResponse() {
|
|
36
|
+
return this.responsePromise.then((p) => p.response);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Gets the parsed response data and the raw `Response` instance.
|
|
40
|
+
*
|
|
41
|
+
* If you just want to get the raw `Response` instance without parsing it,
|
|
42
|
+
* you can use {@link asResponse()}.
|
|
43
|
+
*
|
|
44
|
+
* Getting the wrong TypeScript type for `Response`?
|
|
45
|
+
* Try setting `"moduleResolution": "NodeNext"` or add `"lib": ["DOM"]`
|
|
46
|
+
* to your `tsconfig.json`.
|
|
47
|
+
*/
|
|
48
|
+
async withResponse() {
|
|
49
|
+
const [data, response] = await Promise.all([this.parse(), this.asResponse()]);
|
|
50
|
+
return { data, response };
|
|
51
|
+
}
|
|
52
|
+
parse() {
|
|
53
|
+
if (!this.parsedPromise) {
|
|
54
|
+
this.parsedPromise = this.responsePromise.then((data) => this.parseResponse(__classPrivateFieldGet(this, _APIPromise_client, "f"), data));
|
|
55
|
+
}
|
|
56
|
+
return this.parsedPromise;
|
|
57
|
+
}
|
|
58
|
+
then(onfulfilled, onrejected) {
|
|
59
|
+
return this.parse().then(onfulfilled, onrejected);
|
|
60
|
+
}
|
|
61
|
+
catch(onrejected) {
|
|
62
|
+
return this.parse().catch(onrejected);
|
|
63
|
+
}
|
|
64
|
+
finally(onfinally) {
|
|
65
|
+
return this.parse().finally(onfinally);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
_APIPromise_client = new WeakMap();
|
|
69
|
+
//# sourceMappingURL=api-promise.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-promise.mjs","sourceRoot":"","sources":["../src/core/api-promise.ts"],"names":[],"mappings":";;OAIO,EAAoB,oBAAoB,EAAE;AAEjD;;;GAGG;AACH,MAAM,OAAO,UAAc,SAAQ,OAAU;IAI3C,YACE,MAAa,EACL,eAA0C,EAC1C,gBAGiB,oBAAoB;QAE7C,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE;YAChB,yEAAyE;YACzE,0EAA0E;YAC1E,wBAAwB;YACxB,OAAO,CAAC,IAAW,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAXK,oBAAe,GAAf,eAAe,CAA2B;QAC1C,kBAAa,GAAb,aAAa,CAGwB;QAR/C,qCAAe;QAgBb,uBAAA,IAAI,sBAAW,MAAM,MAAA,CAAC;IACxB,CAAC;IAED,WAAW,CAAI,SAAkD;QAC/D,OAAO,IAAI,UAAU,CAAC,uBAAA,IAAI,0BAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAChF,SAAS,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAC1D,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC9E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAEO,KAAK;QACX,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,uBAAA,IAAI,0BAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QACnG,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEQ,IAAI,CACX,WAAiF,EACjF,UAAmF;QAEnF,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAEQ,KAAK,CACZ,UAAiF;QAEjF,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAEQ,OAAO,CAAC,SAA2C;QAC1D,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;CACF"}
|
package/core/error.d.mts
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export declare class UpbitError extends Error {
|
|
2
|
+
}
|
|
3
|
+
export declare class APIError<TStatus extends number | undefined = number | undefined, THeaders extends Headers | undefined = Headers | undefined, TError extends Object | undefined = Object | undefined> extends UpbitError {
|
|
4
|
+
/** HTTP status for the response that caused the error */
|
|
5
|
+
readonly status: TStatus;
|
|
6
|
+
/** HTTP headers for the response that caused the error */
|
|
7
|
+
readonly headers: THeaders;
|
|
8
|
+
/** JSON body of the response that caused the error */
|
|
9
|
+
readonly error: TError;
|
|
10
|
+
/** Upbit API error name (e.g. "not_found", "invalid_query_payload") */
|
|
11
|
+
readonly name: string;
|
|
12
|
+
constructor(status: TStatus, error: TError, message: string | undefined, headers: THeaders, name?: string | null);
|
|
13
|
+
private static makeMessage;
|
|
14
|
+
private static parseErrorBody;
|
|
15
|
+
static generate(status: number | undefined, errorResponse: Object | undefined, message: string | undefined, headers: Headers | undefined): APIError;
|
|
16
|
+
}
|
|
17
|
+
export declare class APIUserAbortError extends APIError<undefined, undefined, undefined> {
|
|
18
|
+
constructor({ message }?: {
|
|
19
|
+
message?: string;
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
export declare class APIConnectionError extends APIError<undefined, undefined, undefined> {
|
|
23
|
+
constructor({ message, cause }: {
|
|
24
|
+
message?: string | undefined;
|
|
25
|
+
cause?: Error | undefined;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
export declare class APIConnectionTimeoutError extends APIConnectionError {
|
|
29
|
+
constructor({ message }?: {
|
|
30
|
+
message?: string;
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
export declare class BadRequestError extends APIError<400, Headers> {
|
|
34
|
+
}
|
|
35
|
+
export declare class AuthenticationError extends APIError<401, Headers> {
|
|
36
|
+
}
|
|
37
|
+
export declare class PermissionDeniedError extends APIError<403, Headers> {
|
|
38
|
+
}
|
|
39
|
+
export declare class NotFoundError extends APIError<404, Headers> {
|
|
40
|
+
}
|
|
41
|
+
export declare class ConflictError extends APIError<409, Headers> {
|
|
42
|
+
}
|
|
43
|
+
export declare class UnprocessableEntityError extends APIError<422, Headers> {
|
|
44
|
+
}
|
|
45
|
+
export declare class RateLimitError extends APIError<429, Headers> {
|
|
46
|
+
}
|
|
47
|
+
export declare class RateLimitPenaltyError extends APIError<418, Headers> {
|
|
48
|
+
}
|
|
49
|
+
export declare class InternalServerError extends APIError<number, Headers> {
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=error.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.mts","sourceRoot":"","sources":["../src/core/error.ts"],"names":[],"mappings":"AAGA,qBAAa,UAAW,SAAQ,KAAK;CAAG;AAExC,qBAAa,QAAQ,CACnB,OAAO,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,EACvD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,EAC1D,MAAM,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CACtD,SAAQ,UAAU;IAClB,yDAAyD;IACzD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,SAAkB,IAAI,EAAE,MAAM,CAAC;gBAG7B,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,QAAQ,EACjB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAStB,OAAO,CAAC,MAAM,CAAC,WAAW;IA+B1B,OAAO,CAAC,MAAM,CAAC,cAAc;IA0B7B,MAAM,CAAC,QAAQ,CACb,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,OAAO,GAAG,SAAS,GAC3B,QAAQ;CA+CZ;AAED,qBAAa,iBAAkB,SAAQ,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;gBAClE,EAAE,OAAO,EAAE,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO;CAGnD;AAED,qBAAa,kBAAmB,SAAQ,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;gBACnE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;KAAE;CAM5F;AAED,qBAAa,yBAA0B,SAAQ,kBAAkB;gBACnD,EAAE,OAAO,EAAE,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO;CAGnD;AAED,qBAAa,eAAgB,SAAQ,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CAAG;AAE9D,qBAAa,mBAAoB,SAAQ,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CAAG;AAElE,qBAAa,qBAAsB,SAAQ,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CAAG;AAEpE,qBAAa,aAAc,SAAQ,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CAAG;AAE5D,qBAAa,aAAc,SAAQ,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CAAG;AAE5D,qBAAa,wBAAyB,SAAQ,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CAAG;AAEvE,qBAAa,cAAe,SAAQ,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CAAG;AAE7D,qBAAa,qBAAsB,SAAQ,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CAAG;AAEpE,qBAAa,mBAAoB,SAAQ,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAAG"}
|
package/core/error.d.ts
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export declare class UpbitError extends Error {
|
|
2
|
+
}
|
|
3
|
+
export declare class APIError<TStatus extends number | undefined = number | undefined, THeaders extends Headers | undefined = Headers | undefined, TError extends Object | undefined = Object | undefined> extends UpbitError {
|
|
4
|
+
/** HTTP status for the response that caused the error */
|
|
5
|
+
readonly status: TStatus;
|
|
6
|
+
/** HTTP headers for the response that caused the error */
|
|
7
|
+
readonly headers: THeaders;
|
|
8
|
+
/** JSON body of the response that caused the error */
|
|
9
|
+
readonly error: TError;
|
|
10
|
+
/** Upbit API error name (e.g. "not_found", "invalid_query_payload") */
|
|
11
|
+
readonly name: string;
|
|
12
|
+
constructor(status: TStatus, error: TError, message: string | undefined, headers: THeaders, name?: string | null);
|
|
13
|
+
private static makeMessage;
|
|
14
|
+
private static parseErrorBody;
|
|
15
|
+
static generate(status: number | undefined, errorResponse: Object | undefined, message: string | undefined, headers: Headers | undefined): APIError;
|
|
16
|
+
}
|
|
17
|
+
export declare class APIUserAbortError extends APIError<undefined, undefined, undefined> {
|
|
18
|
+
constructor({ message }?: {
|
|
19
|
+
message?: string;
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
export declare class APIConnectionError extends APIError<undefined, undefined, undefined> {
|
|
23
|
+
constructor({ message, cause }: {
|
|
24
|
+
message?: string | undefined;
|
|
25
|
+
cause?: Error | undefined;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
export declare class APIConnectionTimeoutError extends APIConnectionError {
|
|
29
|
+
constructor({ message }?: {
|
|
30
|
+
message?: string;
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
export declare class BadRequestError extends APIError<400, Headers> {
|
|
34
|
+
}
|
|
35
|
+
export declare class AuthenticationError extends APIError<401, Headers> {
|
|
36
|
+
}
|
|
37
|
+
export declare class PermissionDeniedError extends APIError<403, Headers> {
|
|
38
|
+
}
|
|
39
|
+
export declare class NotFoundError extends APIError<404, Headers> {
|
|
40
|
+
}
|
|
41
|
+
export declare class ConflictError extends APIError<409, Headers> {
|
|
42
|
+
}
|
|
43
|
+
export declare class UnprocessableEntityError extends APIError<422, Headers> {
|
|
44
|
+
}
|
|
45
|
+
export declare class RateLimitError extends APIError<429, Headers> {
|
|
46
|
+
}
|
|
47
|
+
export declare class RateLimitPenaltyError extends APIError<418, Headers> {
|
|
48
|
+
}
|
|
49
|
+
export declare class InternalServerError extends APIError<number, Headers> {
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/core/error.ts"],"names":[],"mappings":"AAGA,qBAAa,UAAW,SAAQ,KAAK;CAAG;AAExC,qBAAa,QAAQ,CACnB,OAAO,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,EACvD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,EAC1D,MAAM,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CACtD,SAAQ,UAAU;IAClB,yDAAyD;IACzD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,SAAkB,IAAI,EAAE,MAAM,CAAC;gBAG7B,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,QAAQ,EACjB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAStB,OAAO,CAAC,MAAM,CAAC,WAAW;IA+B1B,OAAO,CAAC,MAAM,CAAC,cAAc;IA0B7B,MAAM,CAAC,QAAQ,CACb,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,OAAO,GAAG,SAAS,GAC3B,QAAQ;CA+CZ;AAED,qBAAa,iBAAkB,SAAQ,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;gBAClE,EAAE,OAAO,EAAE,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO;CAGnD;AAED,qBAAa,kBAAmB,SAAQ,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;gBACnE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;KAAE;CAM5F;AAED,qBAAa,yBAA0B,SAAQ,kBAAkB;gBACnD,EAAE,OAAO,EAAE,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO;CAGnD;AAED,qBAAa,eAAgB,SAAQ,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CAAG;AAE9D,qBAAa,mBAAoB,SAAQ,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CAAG;AAElE,qBAAa,qBAAsB,SAAQ,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CAAG;AAEpE,qBAAa,aAAc,SAAQ,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CAAG;AAE5D,qBAAa,aAAc,SAAQ,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CAAG;AAE5D,qBAAa,wBAAyB,SAAQ,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CAAG;AAEvE,qBAAa,cAAe,SAAQ,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CAAG;AAE7D,qBAAa,qBAAsB,SAAQ,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CAAG;AAEpE,qBAAa,mBAAoB,SAAQ,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAAG"}
|