@polyester/sdk 0.3.1 → 0.4.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.
Files changed (311) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +63 -17
  3. package/dist/_virtual/_rolldown/runtime.js +15 -1
  4. package/dist/account-signer/types.d.ts.map +1 -1
  5. package/dist/account-signer/types.js +6 -3
  6. package/dist/account-signer/types.js.map +1 -1
  7. package/dist/browser-client.d.ts +4 -2
  8. package/dist/browser-client.d.ts.map +1 -1
  9. package/dist/browser-client.js +3 -4
  10. package/dist/browser-client.js.map +1 -1
  11. package/dist/catalogs/client-catalog.d.ts.map +1 -1
  12. package/dist/catalogs/client-catalog.js +11 -4
  13. package/dist/catalogs/client-catalog.js.map +1 -1
  14. package/dist/catalogs/index.js +1 -1
  15. package/dist/catalogs/readers.d.ts.map +1 -1
  16. package/dist/catalogs/readers.js +3 -1
  17. package/dist/catalogs/readers.js.map +1 -1
  18. package/dist/catalogs/snapshot-validation.js +132 -0
  19. package/dist/catalogs/snapshot-validation.js.map +1 -0
  20. package/dist/catalogs/snapshot.d.ts.map +1 -1
  21. package/dist/catalogs/snapshot.js +16 -7
  22. package/dist/catalogs/snapshot.js.map +1 -1
  23. package/dist/catalogs/zipper-supply.d.ts.map +1 -1
  24. package/dist/catalogs/zipper-supply.js +10 -7
  25. package/dist/catalogs/zipper-supply.js.map +1 -1
  26. package/dist/core-client.d.ts +24 -17
  27. package/dist/core-client.d.ts.map +1 -1
  28. package/dist/core-client.js +21 -3
  29. package/dist/core-client.js.map +1 -1
  30. package/dist/environment.d.ts.map +1 -1
  31. package/dist/environment.js +32 -1
  32. package/dist/environment.js.map +1 -1
  33. package/dist/index.js +3 -3
  34. package/dist/realtime/client.js +13 -2
  35. package/dist/realtime/client.js.map +1 -1
  36. package/dist/realtime/snapshot-then-stream.js +1 -1
  37. package/dist/realtime/snapshot-then-stream.js.map +1 -1
  38. package/dist/realtime/types.d.ts +2 -0
  39. package/dist/realtime/types.d.ts.map +1 -1
  40. package/dist/server-client.d.ts +17 -8
  41. package/dist/server-client.d.ts.map +1 -1
  42. package/dist/server-client.js +8 -11
  43. package/dist/server-client.js.map +1 -1
  44. package/dist/services/accounts/accounts.js +3 -3
  45. package/dist/services/accounts/accounts.js.map +1 -1
  46. package/dist/services/accounts/accounts.schemas.d.ts +13 -13
  47. package/dist/services/accounts/accounts.schemas.d.ts.map +1 -1
  48. package/dist/services/accounts/accounts.schemas.js +11 -11
  49. package/dist/services/accounts/accounts.schemas.js.map +1 -1
  50. package/dist/services/address-book/address-book.js +28 -28
  51. package/dist/services/address-book/address-book.js.map +1 -1
  52. package/dist/services/address-book/address-book.schemas.d.ts +751 -751
  53. package/dist/services/address-book/address-book.schemas.d.ts.map +1 -1
  54. package/dist/services/address-book/address-book.schemas.js +160 -160
  55. package/dist/services/address-book/address-book.schemas.js.map +1 -1
  56. package/dist/services/api-keys/api-keys.d.ts +6 -6
  57. package/dist/services/api-keys/api-keys.d.ts.map +1 -1
  58. package/dist/services/api-keys/api-keys.js +12 -12
  59. package/dist/services/api-keys/api-keys.js.map +1 -1
  60. package/dist/services/api-keys/api-keys.schemas.d.ts +62 -62
  61. package/dist/services/api-keys/api-keys.schemas.d.ts.map +1 -1
  62. package/dist/services/api-keys/api-keys.schemas.js +34 -34
  63. package/dist/services/api-keys/api-keys.schemas.js.map +1 -1
  64. package/dist/services/auth/auth.d.ts +46 -40
  65. package/dist/services/auth/auth.d.ts.map +1 -1
  66. package/dist/services/auth/auth.js +28 -25
  67. package/dist/services/auth/auth.js.map +1 -1
  68. package/dist/services/auth/profile/profile.d.ts +2 -2
  69. package/dist/services/auth/profile/profile.d.ts.map +1 -1
  70. package/dist/services/auth/profile/profile.js +7 -7
  71. package/dist/services/auth/profile/profile.js.map +1 -1
  72. package/dist/services/auth/profile/profile.schemas.d.ts +41 -41
  73. package/dist/services/auth/profile/profile.schemas.d.ts.map +1 -1
  74. package/dist/services/auth/profile/profile.schemas.js +27 -27
  75. package/dist/services/auth/profile/profile.schemas.js.map +1 -1
  76. package/dist/services/auth/session.d.ts +1 -1
  77. package/dist/services/auth/session.d.ts.map +1 -1
  78. package/dist/services/auth/session.js +6 -2
  79. package/dist/services/auth/session.js.map +1 -1
  80. package/dist/services/auth/session.schemas.js +17 -17
  81. package/dist/services/auth/session.schemas.js.map +1 -1
  82. package/dist/services/auth/session.types.d.ts +3 -2
  83. package/dist/services/auth/session.types.d.ts.map +1 -1
  84. package/dist/services/balances/balances.d.ts +1 -1
  85. package/dist/services/balances/balances.js +9 -9
  86. package/dist/services/balances/balances.js.map +1 -1
  87. package/dist/services/balances/balances.schemas.d.ts +95 -95
  88. package/dist/services/balances/balances.schemas.d.ts.map +1 -1
  89. package/dist/services/balances/balances.schemas.js +61 -61
  90. package/dist/services/balances/balances.schemas.js.map +1 -1
  91. package/dist/services/candles/candles.js +12 -12
  92. package/dist/services/candles/candles.js.map +1 -1
  93. package/dist/services/candles/candles.schemas.d.ts +70 -70
  94. package/dist/services/candles/candles.schemas.d.ts.map +1 -1
  95. package/dist/services/candles/candles.schemas.js +47 -48
  96. package/dist/services/candles/candles.schemas.js.map +1 -1
  97. package/dist/services/chain-analytics/chain-analytics.js +7 -7
  98. package/dist/services/chain-analytics/chain-analytics.js.map +1 -1
  99. package/dist/services/chain-analytics/chain-analytics.schemas.d.ts +68 -68
  100. package/dist/services/chain-analytics/chain-analytics.schemas.d.ts.map +1 -1
  101. package/dist/services/chain-analytics/chain-analytics.schemas.js +29 -29
  102. package/dist/services/chain-analytics/chain-analytics.schemas.js.map +1 -1
  103. package/dist/services/deposit/deposit.js +5 -5
  104. package/dist/services/deposit/deposit.js.map +1 -1
  105. package/dist/services/deposit/deposit.schemas.d.ts +17 -17
  106. package/dist/services/deposit/deposit.schemas.d.ts.map +1 -1
  107. package/dist/services/deposit/deposit.schemas.js +11 -11
  108. package/dist/services/deposit/deposit.schemas.js.map +1 -1
  109. package/dist/services/guard-signer/guard-signer.js +13 -13
  110. package/dist/services/guard-signer/guard-signer.js.map +1 -1
  111. package/dist/services/guard-signer/guard-signer.schemas.d.ts +75 -75
  112. package/dist/services/guard-signer/guard-signer.schemas.d.ts.map +1 -1
  113. package/dist/services/guard-signer/guard-signer.schemas.js +42 -42
  114. package/dist/services/guard-signer/guard-signer.schemas.js.map +1 -1
  115. package/dist/services/heatmap/heatmap.js +9 -9
  116. package/dist/services/heatmap/heatmap.js.map +1 -1
  117. package/dist/services/heatmap/heatmap.schemas.d.ts +144 -144
  118. package/dist/services/heatmap/heatmap.schemas.d.ts.map +1 -1
  119. package/dist/services/heatmap/heatmap.schemas.js +47 -47
  120. package/dist/services/heatmap/heatmap.schemas.js.map +1 -1
  121. package/dist/services/internal-transfers/internal-transfers.js +3 -3
  122. package/dist/services/internal-transfers/internal-transfers.js.map +1 -1
  123. package/dist/services/internal-transfers/internal-transfers.schemas.d.ts +53 -53
  124. package/dist/services/internal-transfers/internal-transfers.schemas.d.ts.map +1 -1
  125. package/dist/services/internal-transfers/internal-transfers.schemas.js +27 -27
  126. package/dist/services/internal-transfers/internal-transfers.schemas.js.map +1 -1
  127. package/dist/services/lifecycle/lifecycle.js +10 -10
  128. package/dist/services/lifecycle/lifecycle.js.map +1 -1
  129. package/dist/services/lifecycle/lifecycle.schemas.d.ts +614 -614
  130. package/dist/services/lifecycle/lifecycle.schemas.d.ts.map +1 -1
  131. package/dist/services/lifecycle/lifecycle.schemas.js +146 -146
  132. package/dist/services/lifecycle/lifecycle.schemas.js.map +1 -1
  133. package/dist/services/market-data/market-data.js +6 -6
  134. package/dist/services/market-data/market-data.js.map +1 -1
  135. package/dist/services/market-data/market-data.schemas.d.ts +20 -20
  136. package/dist/services/market-data/market-data.schemas.d.ts.map +1 -1
  137. package/dist/services/market-data/market-data.schemas.js +51 -55
  138. package/dist/services/market-data/market-data.schemas.js.map +1 -1
  139. package/dist/services/market-overview/market-overview.js +4 -4
  140. package/dist/services/market-overview/market-overview.js.map +1 -1
  141. package/dist/services/market-overview/market-overview.schemas.d.ts +38 -38
  142. package/dist/services/market-overview/market-overview.schemas.d.ts.map +1 -1
  143. package/dist/services/market-overview/market-overview.schemas.js +33 -33
  144. package/dist/services/market-overview/market-overview.schemas.js.map +1 -1
  145. package/dist/services/mfa/mfa.js +27 -27
  146. package/dist/services/mfa/mfa.js.map +1 -1
  147. package/dist/services/mfa/mfa.schemas.d.ts +206 -206
  148. package/dist/services/mfa/mfa.schemas.d.ts.map +1 -1
  149. package/dist/services/mfa/mfa.schemas.js +83 -83
  150. package/dist/services/mfa/mfa.schemas.js.map +1 -1
  151. package/dist/services/orderbook/orderbook.d.ts +2 -2
  152. package/dist/services/orderbook/orderbook.d.ts.map +1 -1
  153. package/dist/services/orderbook/orderbook.js +5 -5
  154. package/dist/services/orderbook/orderbook.js.map +1 -1
  155. package/dist/services/orderbook/orderbook.schemas.d.ts +22 -22
  156. package/dist/services/orderbook/orderbook.schemas.d.ts.map +1 -1
  157. package/dist/services/orderbook/orderbook.schemas.js +15 -15
  158. package/dist/services/orderbook/orderbook.schemas.js.map +1 -1
  159. package/dist/services/orders/order-errors.schemas.d.ts +18 -18
  160. package/dist/services/orders/order-errors.schemas.d.ts.map +1 -1
  161. package/dist/services/orders/order-errors.schemas.js +8 -8
  162. package/dist/services/orders/order-errors.schemas.js.map +1 -1
  163. package/dist/services/orders/orders-batch.schemas.d.ts +492 -492
  164. package/dist/services/orders/orders-batch.schemas.d.ts.map +1 -1
  165. package/dist/services/orders/orders-batch.schemas.js +118 -118
  166. package/dist/services/orders/orders-batch.schemas.js.map +1 -1
  167. package/dist/services/orders/orders-identifiers.schemas.js +5 -5
  168. package/dist/services/orders/orders-identifiers.schemas.js.map +1 -1
  169. package/dist/services/orders/orders-input.schemas.d.ts +657 -648
  170. package/dist/services/orders/orders-input.schemas.d.ts.map +1 -1
  171. package/dist/services/orders/orders-input.schemas.js +100 -96
  172. package/dist/services/orders/orders-input.schemas.js.map +1 -1
  173. package/dist/services/orders/orders-modify.schemas.d.ts +370 -351
  174. package/dist/services/orders/orders-modify.schemas.d.ts.map +1 -1
  175. package/dist/services/orders/orders-modify.schemas.js +48 -44
  176. package/dist/services/orders/orders-modify.schemas.js.map +1 -1
  177. package/dist/services/orders/orders-output.schemas.d.ts +183 -183
  178. package/dist/services/orders/orders-output.schemas.d.ts.map +1 -1
  179. package/dist/services/orders/orders-output.schemas.js +49 -49
  180. package/dist/services/orders/orders-output.schemas.js.map +1 -1
  181. package/dist/services/orders/orders-risk.schemas.d.ts +226 -226
  182. package/dist/services/orders/orders-risk.schemas.d.ts.map +1 -1
  183. package/dist/services/orders/orders-risk.schemas.js +69 -69
  184. package/dist/services/orders/orders-risk.schemas.js.map +1 -1
  185. package/dist/services/orders/orders.d.ts +8 -8
  186. package/dist/services/orders/orders.d.ts.map +1 -1
  187. package/dist/services/orders/orders.js +44 -32
  188. package/dist/services/orders/orders.js.map +1 -1
  189. package/dist/services/policies/api-key-policies/api-key-policies.d.ts +6 -6
  190. package/dist/services/policies/api-key-policies/api-key-policies.d.ts.map +1 -1
  191. package/dist/services/policies/api-key-policies/api-key-policies.js +11 -11
  192. package/dist/services/policies/api-key-policies/api-key-policies.js.map +1 -1
  193. package/dist/services/policies/api-key-policies/api-key-policies.schemas.d.ts +105 -105
  194. package/dist/services/policies/api-key-policies/api-key-policies.schemas.d.ts.map +1 -1
  195. package/dist/services/policies/api-key-policies/api-key-policies.schemas.js +49 -49
  196. package/dist/services/policies/api-key-policies/api-key-policies.schemas.js.map +1 -1
  197. package/dist/services/policies/shared.d.ts +5 -5
  198. package/dist/services/policies/shared.d.ts.map +1 -1
  199. package/dist/services/policies/shared.js +10 -10
  200. package/dist/services/policies/shared.js.map +1 -1
  201. package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts +6 -6
  202. package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts.map +1 -1
  203. package/dist/services/policies/subaccount-policies/subaccount-policies.js +13 -13
  204. package/dist/services/policies/subaccount-policies/subaccount-policies.js.map +1 -1
  205. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts +124 -124
  206. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts.map +1 -1
  207. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js +75 -75
  208. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js.map +1 -1
  209. package/dist/services/shared.js +11 -11
  210. package/dist/services/shared.js.map +1 -1
  211. package/dist/services/social-verification/social-verification.d.ts +3 -3
  212. package/dist/services/social-verification/social-verification.d.ts.map +1 -1
  213. package/dist/services/social-verification/social-verification.js +7 -7
  214. package/dist/services/social-verification/social-verification.js.map +1 -1
  215. package/dist/services/social-verification/social-verification.schemas.d.ts +54 -54
  216. package/dist/services/social-verification/social-verification.schemas.d.ts.map +1 -1
  217. package/dist/services/social-verification/social-verification.schemas.js +28 -28
  218. package/dist/services/social-verification/social-verification.schemas.js.map +1 -1
  219. package/dist/services/subaccount-resolver.js +5 -3
  220. package/dist/services/subaccount-resolver.js.map +1 -1
  221. package/dist/services/subaccounts/subaccounts.d.ts +15 -15
  222. package/dist/services/subaccounts/subaccounts.d.ts.map +1 -1
  223. package/dist/services/subaccounts/subaccounts.js +35 -35
  224. package/dist/services/subaccounts/subaccounts.js.map +1 -1
  225. package/dist/services/subaccounts/subaccounts.schemas.d.ts +135 -135
  226. package/dist/services/subaccounts/subaccounts.schemas.d.ts.map +1 -1
  227. package/dist/services/subaccounts/subaccounts.schemas.js +72 -72
  228. package/dist/services/subaccounts/subaccounts.schemas.js.map +1 -1
  229. package/dist/services/trades/trades.d.ts +2 -2
  230. package/dist/services/trades/trades.d.ts.map +1 -1
  231. package/dist/services/trades/trades.js +5 -5
  232. package/dist/services/trades/trades.js.map +1 -1
  233. package/dist/services/trades/trades.schemas.d.ts +31 -31
  234. package/dist/services/trades/trades.schemas.d.ts.map +1 -1
  235. package/dist/services/trades/trades.schemas.js +24 -24
  236. package/dist/services/trades/trades.schemas.js.map +1 -1
  237. package/dist/services/trading-withdraws/trading-withdraws.js +8 -8
  238. package/dist/services/trading-withdraws/trading-withdraws.js.map +1 -1
  239. package/dist/services/trading-withdraws/trading-withdraws.schemas.d.ts +45 -45
  240. package/dist/services/trading-withdraws/trading-withdraws.schemas.d.ts.map +1 -1
  241. package/dist/services/trading-withdraws/trading-withdraws.schemas.js +36 -36
  242. package/dist/services/trading-withdraws/trading-withdraws.schemas.js.map +1 -1
  243. package/dist/services/transfers/transfers.d.ts +1 -1
  244. package/dist/services/transfers/transfers.d.ts.map +1 -1
  245. package/dist/services/transfers/transfers.js +5 -5
  246. package/dist/services/transfers/transfers.js.map +1 -1
  247. package/dist/services/transfers/transfers.schemas.d.ts +42 -42
  248. package/dist/services/transfers/transfers.schemas.d.ts.map +1 -1
  249. package/dist/services/transfers/transfers.schemas.js +30 -30
  250. package/dist/services/transfers/transfers.schemas.js.map +1 -1
  251. package/dist/services/triggers/trigger-child-order.schemas.js +23 -23
  252. package/dist/services/triggers/trigger-child-order.schemas.js.map +1 -1
  253. package/dist/services/triggers/trigger-input.schemas.d.ts +226 -226
  254. package/dist/services/triggers/trigger-input.schemas.d.ts.map +1 -1
  255. package/dist/services/triggers/trigger-input.schemas.js +53 -53
  256. package/dist/services/triggers/trigger-input.schemas.js.map +1 -1
  257. package/dist/services/triggers/triggers-output.schemas.d.ts +210 -210
  258. package/dist/services/triggers/triggers-output.schemas.d.ts.map +1 -1
  259. package/dist/services/triggers/triggers-output.schemas.js +152 -152
  260. package/dist/services/triggers/triggers-output.schemas.js.map +1 -1
  261. package/dist/services/triggers/triggers.js +21 -21
  262. package/dist/services/triggers/triggers.js.map +1 -1
  263. package/dist/services/whiteboard/whiteboard.js +15 -15
  264. package/dist/services/whiteboard/whiteboard.js.map +1 -1
  265. package/dist/services/whiteboard/whiteboard.schemas.d.ts +379 -379
  266. package/dist/services/whiteboard/whiteboard.schemas.d.ts.map +1 -1
  267. package/dist/services/whiteboard/whiteboard.schemas.js +71 -71
  268. package/dist/services/whiteboard/whiteboard.schemas.js.map +1 -1
  269. package/dist/services/zipper/zipper.js +3 -3
  270. package/dist/services/zipper/zipper.js.map +1 -1
  271. package/dist/services/zipper/zipper.schemas.d.ts +1 -1
  272. package/dist/services/zipper/zipper.schemas.js +54 -54
  273. package/dist/services/zipper/zipper.schemas.js.map +1 -1
  274. package/dist/shared/account-scope.d.ts +6 -6
  275. package/dist/shared/account-scope.d.ts.map +1 -1
  276. package/dist/shared/account-scope.js +3 -3
  277. package/dist/shared/account-scope.js.map +1 -1
  278. package/dist/shared/connect-error-mapping.d.ts +1 -1
  279. package/dist/shared/connect-error-mapping.js +29 -3
  280. package/dist/shared/connect-error-mapping.js.map +1 -1
  281. package/dist/shared/rate-limit.schemas.d.ts +12 -12
  282. package/dist/shared/rate-limit.schemas.d.ts.map +1 -1
  283. package/dist/shared/rate-limit.schemas.js +7 -7
  284. package/dist/shared/rate-limit.schemas.js.map +1 -1
  285. package/dist/shared/schemas.js +26 -26
  286. package/dist/shared/schemas.js.map +1 -1
  287. package/dist/shared/transports.js +7 -12
  288. package/dist/shared/transports.js.map +1 -1
  289. package/dist/shared/types.d.ts +12 -0
  290. package/dist/shared/types.d.ts.map +1 -1
  291. package/dist/shared/validation.d.ts +14 -0
  292. package/dist/shared/validation.d.ts.map +1 -0
  293. package/dist/shared/validation.js +24 -0
  294. package/dist/shared/validation.js.map +1 -0
  295. package/dist/utils/connect-order-errors.js +2 -2
  296. package/dist/utils/connect-order-errors.js.map +1 -1
  297. package/dist/utils/cookies.d.ts +8 -3
  298. package/dist/utils/cookies.d.ts.map +1 -1
  299. package/dist/utils/cookies.js +7 -1
  300. package/dist/utils/cookies.js.map +1 -1
  301. package/dist/utils/event-emitter.d.ts +1 -1
  302. package/dist/utils/event-emitter.d.ts.map +1 -1
  303. package/dist/utils/event-emitter.js +4 -2
  304. package/dist/utils/event-emitter.js.map +1 -1
  305. package/dist/utils/evm.js +2 -2
  306. package/dist/utils/evm.js.map +1 -1
  307. package/dist/utils/jwt.d.ts +2 -2
  308. package/dist/utils/jwt.d.ts.map +1 -1
  309. package/dist/utils/jwt.js +2 -2
  310. package/dist/utils/jwt.js.map +1 -1
  311. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ import { parse, validation_exports } from "../../shared/validation.js";
1
2
  import { toConnectCallOptions } from "../../shared/request-options.js";
2
3
  import { publicationHandlerErrorContext } from "../../shared/subscription-errors.js";
3
4
  import { CandlePointSchema, MarketDataService } from "../../gen/marketdata/v1/marketdata_pb.js";
@@ -5,10 +6,9 @@ import { createReadyGate } from "../../shared/decimal-surface.js";
5
6
  import { TimeframeCodec } from "./candles.codecs.js";
6
7
  import { CandlePointSchema as CandlePointSchema$1, ListCandlesInputSchema, TimeframeSchema, createCandleColumnarIntSchema, createCandleColumnarSchema, createCandleRowIntSchema, createCandleRowSchema } from "./candles.schemas.js";
7
8
  import { createClient } from "@connectrpc/connect";
8
- import * as v from "valibot";
9
9
  //#region src/services/candles/candles.ts
10
- const SubscribeCandlesParamsSchema = v.object({
11
- symbolId: v.pipe(v.number(), v.integer(), v.gtValue(0)),
10
+ const SubscribeCandlesParamsSchema = validation_exports.object({
11
+ symbolId: validation_exports.pipe(validation_exports.number(), validation_exports.integer(), validation_exports.gtValue(0)),
12
12
  timeframe: TimeframeSchema
13
13
  });
14
14
  /**
@@ -35,10 +35,10 @@ var CandlesService = class {
35
35
  * Returns OHLCV candles for a symbol/timeframe request, mapped into row objects with symbol id and timeframe. The proto response is newest-first and may include incomplete/reference data depending on input flags.
36
36
  */
37
37
  async list(input, options) {
38
- const validatedInput = v.parse(ListCandlesInputSchema, input);
38
+ const validatedInput = parse(ListCandlesInputSchema, input);
39
39
  await this.#scales.ready();
40
40
  const res = await this.#client.getCandles(validatedInput, toConnectCallOptions(options));
41
- return v.parse(v.optional(v.array(CandlePointSchema$1), []), res.candles).map((c) => v.parse(this.#rowSchema, {
41
+ return parse(validation_exports.optional(validation_exports.array(CandlePointSchema$1), []), res.candles).map((c) => parse(this.#rowSchema, {
42
42
  ...c,
43
43
  symbolId: res.symbolId,
44
44
  timeframe: res.timeframe
@@ -48,19 +48,19 @@ var CandlesService = class {
48
48
  * Returns candle data in chart-friendly column arrays ordered oldest-first by bucket start time. This preserves decimal-string SDK formatting from the columnar schema.
49
49
  */
50
50
  async listColumnar(input, options) {
51
- const validatedInput = v.parse(ListCandlesInputSchema, input);
51
+ const validatedInput = parse(ListCandlesInputSchema, input);
52
52
  await this.#scales.ready();
53
53
  const res = await this.#client.getCandlesColumns(validatedInput, toConnectCallOptions(options));
54
- return v.parse(this.#columnarSchema, res);
54
+ return parse(this.#columnarSchema, res);
55
55
  }
56
56
  /**
57
57
  * Returns the same columnar candle series keyed by numeric bucket-start seconds (`tsSec`) instead of `time`.
58
58
  */
59
59
  async listColumnarInts(input, options) {
60
- const validatedInput = v.parse(ListCandlesInputSchema, input);
60
+ const validatedInput = parse(ListCandlesInputSchema, input);
61
61
  await this.#scales.ready();
62
62
  const res = await this.#client.getCandlesColumns(validatedInput, toConnectCallOptions(options));
63
- return v.parse(this.#columnarIntSchema, res);
63
+ return parse(this.#columnarIntSchema, res);
64
64
  }
65
65
  /**
66
66
  * Subscribes to live candle updates on public:spot:market:candles:{timeframe}:{symbolId}:proto and emits row-form candles.
@@ -75,7 +75,7 @@ var CandlesService = class {
75
75
  return this.#subscribeWithSchema(input, this.#rowIntSchema);
76
76
  }
77
77
  #subscribeWithSchema(input, schema) {
78
- const params = v.parse(SubscribeCandlesParamsSchema, {
78
+ const params = parse(SubscribeCandlesParamsSchema, {
79
79
  symbolId: input.symbolId,
80
80
  timeframe: input.timeframe
81
81
  });
@@ -87,8 +87,8 @@ var CandlesService = class {
87
87
  schema: CandlePointSchema,
88
88
  onPublication: (data) => {
89
89
  gate.run(() => {
90
- const point = v.parse(CandlePointSchema$1, data);
91
- const candle = v.parse(schema, {
90
+ const point = parse(CandlePointSchema$1, data);
91
+ const candle = parse(schema, {
92
92
  ...point,
93
93
  symbolId: params.symbolId,
94
94
  timeframe: protoTimeframe
@@ -1 +1 @@
1
- {"version":3,"file":"candles.js","names":["#client","Proto.MarketDataService","#realtime","#scales","#rowSchema","#rowIntSchema","#columnarSchema","#columnarIntSchema","CandlePointSchema","#subscribeWithSchema","Proto.CandlePointSchema"],"sources":["../../../src/services/candles/candles.ts"],"sourcesContent":["import { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport { publicationHandlerErrorContext } from \"../../shared/subscription-errors.js\";\nimport * as Proto from \"../../gen/marketdata/v1/marketdata_pb.js\";\nimport * as v from \"valibot\";\nimport type { PolyesterRealtime } from \"../../realtime/types.js\";\nimport type { BaseSubscribeInput } from \"../../shared/types.js\";\nimport {\n toConnectCallOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport { createReadyGate, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport {\n type CandleColumnar,\n createCandleRowSchema,\n createCandleRowIntSchema,\n createCandleColumnarSchema,\n createCandleColumnarIntSchema,\n CandlePointSchema,\n TimeframeSchema,\n type Candle,\n type CandleInt,\n type Timeframe,\n type CandleColumnarInt,\n type GetCandlesInput,\n type GetCandlesColumnsInput,\n ListCandlesInputSchema,\n} from \"./candles.schemas.js\";\nimport { TimeframeCodec } from \"./candles.codecs.js\";\n\ninterface SubscribeCandlesInput extends BaseSubscribeInput<Candle> {\n symbolId: number;\n timeframe: Timeframe;\n}\n\ninterface SubscribeCandlesIntsInput extends BaseSubscribeInput<CandleInt> {\n symbolId: number;\n timeframe: Timeframe;\n}\n\nconst SubscribeCandlesParamsSchema = v.object({\n symbolId: v.pipe(v.number(), v.integer(), v.gtValue(0)),\n timeframe: TimeframeSchema,\n});\n\n/**\n * Reads and streams public spot OHLCV candle data in row and columnar formats.\n */\nexport class CandlesService {\n #client: Client<typeof Proto.MarketDataService>;\n #realtime: PolyesterRealtime;\n #scales: SdkScales;\n #rowSchema: ReturnType<typeof createCandleRowSchema>;\n #rowIntSchema: ReturnType<typeof createCandleRowIntSchema>;\n #columnarSchema: ReturnType<typeof createCandleColumnarSchema>;\n #columnarIntSchema: ReturnType<typeof createCandleColumnarIntSchema>;\n\n constructor(transport: Transport, realtime: PolyesterRealtime, scales: SdkScales) {\n this.#client = createClient(Proto.MarketDataService, transport);\n this.#realtime = realtime;\n this.#scales = scales;\n this.#rowSchema = createCandleRowSchema(scales);\n this.#rowIntSchema = createCandleRowIntSchema(scales);\n this.#columnarSchema = createCandleColumnarSchema(scales);\n this.#columnarIntSchema = createCandleColumnarIntSchema(scales);\n }\n\n /**\n * Returns OHLCV candles for a symbol/timeframe request, mapped into row objects with symbol id and timeframe. The proto response is newest-first and may include incomplete/reference data depending on input flags.\n */\n async list(input: GetCandlesInput, options?: PolyesterRequestOptions): Promise<Candle[]> {\n const validatedInput = v.parse(ListCandlesInputSchema, input);\n await this.#scales.ready();\n const res = await this.#client.getCandles(validatedInput, toConnectCallOptions(options));\n const candles = v.parse(v.optional(v.array(CandlePointSchema), []), res.candles);\n return candles.map((c) =>\n v.parse(this.#rowSchema, {\n ...c,\n symbolId: res.symbolId,\n timeframe: res.timeframe,\n }),\n );\n }\n\n /**\n * Returns candle data in chart-friendly column arrays ordered oldest-first by bucket start time. This preserves decimal-string SDK formatting from the columnar schema.\n */\n async listColumnar(\n input: GetCandlesColumnsInput,\n options?: PolyesterRequestOptions,\n ): Promise<CandleColumnar> {\n const validatedInput = v.parse(ListCandlesInputSchema, input);\n await this.#scales.ready();\n const res = await this.#client.getCandlesColumns(\n validatedInput,\n toConnectCallOptions(options),\n );\n return v.parse(this.#columnarSchema, res);\n }\n\n /**\n * Returns the same columnar candle series keyed by numeric bucket-start seconds (`tsSec`) instead of `time`.\n */\n async listColumnarInts(\n input: GetCandlesColumnsInput,\n options?: PolyesterRequestOptions,\n ): Promise<CandleColumnarInt> {\n const validatedInput = v.parse(ListCandlesInputSchema, input);\n await this.#scales.ready();\n const res = await this.#client.getCandlesColumns(\n validatedInput,\n toConnectCallOptions(options),\n );\n return v.parse(this.#columnarIntSchema, res);\n }\n\n /**\n * Subscribes to live candle updates on public:spot:market:candles:{timeframe}:{symbolId}:proto and emits row-form candles.\n */\n subscribe(input: SubscribeCandlesInput): () => void {\n return this.#subscribeWithSchema(input, this.#rowSchema);\n }\n\n /**\n * Subscribes to the same live candle channel as subscribe and emits row candles parsed through the row-int schema.\n */\n subscribeInts(input: SubscribeCandlesIntsInput): () => void {\n return this.#subscribeWithSchema(input, this.#rowIntSchema);\n }\n\n #subscribeWithSchema(\n input: SubscribeCandlesInput | SubscribeCandlesIntsInput,\n schema: ReturnType<typeof createCandleRowSchema>,\n ): () => void {\n const params = v.parse(SubscribeCandlesParamsSchema, {\n symbolId: input.symbolId,\n timeframe: input.timeframe,\n });\n const protoTimeframe = TimeframeCodec.inputToProto[params.timeframe];\n const channel = `public:spot:market:candles:${params.timeframe}:${params.symbolId}:proto`;\n const gate = createReadyGate(\n () => this.#scales.ready(),\n (error) => input.onError?.(publicationHandlerErrorContext(channel, error)),\n );\n return this.#realtime.connectProtoChannel({\n channel,\n schema: Proto.CandlePointSchema,\n onPublication: (data) => {\n gate.run(() => {\n const point = v.parse(CandlePointSchema, data);\n const candle = v.parse(schema, {\n ...point,\n symbolId: params.symbolId,\n timeframe: protoTimeframe,\n });\n input.onEvent(candle);\n });\n },\n onConnected: input.onOpen,\n onDisconnected: input.onClose,\n onError: input.onError,\n });\n }\n}\n"],"mappings":";;;;;;;;;AAuCA,MAAM,+BAA+B,EAAE,OAAO;CAC1C,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,QAAQ,CAAC,CAAC;CACtD,WAAW;AACf,CAAC;;;;AAKD,IAAa,iBAAb,MAA4B;CACxB;CACA;CACA;CACA;CACA;CACA;CACA;CAEA,YAAY,WAAsB,UAA6B,QAAmB;EAC9E,KAAKA,UAAU,aAAaC,mBAAyB,SAAS;EAC9D,KAAKC,YAAY;EACjB,KAAKC,UAAU;EACf,KAAKC,aAAa,sBAAsB,MAAM;EAC9C,KAAKC,gBAAgB,yBAAyB,MAAM;EACpD,KAAKC,kBAAkB,2BAA2B,MAAM;EACxD,KAAKC,qBAAqB,8BAA8B,MAAM;CAClE;;;;CAKA,MAAM,KAAK,OAAwB,SAAsD;EACrF,MAAM,iBAAiB,EAAE,MAAM,wBAAwB,KAAK;EAC5D,MAAM,KAAKJ,QAAQ,MAAM;EACzB,MAAM,MAAM,MAAM,KAAKH,QAAQ,WAAW,gBAAgB,qBAAqB,OAAO,CAAC;EAEvF,OADgB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAMQ,mBAAiB,GAAG,CAAC,CAAC,GAAG,IAAI,OAC3D,CAAC,CAAC,KAAK,MAChB,EAAE,MAAM,KAAKJ,YAAY;GACrB,GAAG;GACH,UAAU,IAAI;GACd,WAAW,IAAI;EACnB,CAAC,CACL;CACJ;;;;CAKA,MAAM,aACF,OACA,SACuB;EACvB,MAAM,iBAAiB,EAAE,MAAM,wBAAwB,KAAK;EAC5D,MAAM,KAAKD,QAAQ,MAAM;EACzB,MAAM,MAAM,MAAM,KAAKH,QAAQ,kBAC3B,gBACA,qBAAqB,OAAO,CAChC;EACA,OAAO,EAAE,MAAM,KAAKM,iBAAiB,GAAG;CAC5C;;;;CAKA,MAAM,iBACF,OACA,SAC0B;EAC1B,MAAM,iBAAiB,EAAE,MAAM,wBAAwB,KAAK;EAC5D,MAAM,KAAKH,QAAQ,MAAM;EACzB,MAAM,MAAM,MAAM,KAAKH,QAAQ,kBAC3B,gBACA,qBAAqB,OAAO,CAChC;EACA,OAAO,EAAE,MAAM,KAAKO,oBAAoB,GAAG;CAC/C;;;;CAKA,UAAU,OAA0C;EAChD,OAAO,KAAKE,qBAAqB,OAAO,KAAKL,UAAU;CAC3D;;;;CAKA,cAAc,OAA8C;EACxD,OAAO,KAAKK,qBAAqB,OAAO,KAAKJ,aAAa;CAC9D;CAEA,qBACI,OACA,QACU;EACV,MAAM,SAAS,EAAE,MAAM,8BAA8B;GACjD,UAAU,MAAM;GAChB,WAAW,MAAM;EACrB,CAAC;EACD,MAAM,iBAAiB,eAAe,aAAa,OAAO;EAC1D,MAAM,UAAU,8BAA8B,OAAO,UAAU,GAAG,OAAO,SAAS;EAClF,MAAM,OAAO,sBACH,KAAKF,QAAQ,MAAM,IACxB,UAAU,MAAM,UAAU,+BAA+B,SAAS,KAAK,CAAC,CAC7E;EACA,OAAO,KAAKD,UAAU,oBAAoB;GACtC;GACA,QAAQQ;GACR,gBAAgB,SAAS;IACrB,KAAK,UAAU;KACX,MAAM,QAAQ,EAAE,MAAMF,qBAAmB,IAAI;KAC7C,MAAM,SAAS,EAAE,MAAM,QAAQ;MAC3B,GAAG;MACH,UAAU,OAAO;MACjB,WAAW;KACf,CAAC;KACD,MAAM,QAAQ,MAAM;IACxB,CAAC;GACL;GACA,aAAa,MAAM;GACnB,gBAAgB,MAAM;GACtB,SAAS,MAAM;EACnB,CAAC;CACL;AACJ"}
1
+ {"version":3,"file":"candles.js","names":["v","#client","Proto.MarketDataService","#realtime","#scales","#rowSchema","#rowIntSchema","#columnarSchema","#columnarIntSchema","v.parse","CandlePointSchema","#subscribeWithSchema","Proto.CandlePointSchema"],"sources":["../../../src/services/candles/candles.ts"],"sourcesContent":["import { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport { publicationHandlerErrorContext } from \"../../shared/subscription-errors.js\";\nimport * as Proto from \"../../gen/marketdata/v1/marketdata_pb.js\";\nimport * as v from \"../../shared/validation.js\";\nimport type { PolyesterRealtime } from \"../../realtime/types.js\";\nimport type { BaseSubscribeInput } from \"../../shared/types.js\";\nimport {\n toConnectCallOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport { createReadyGate, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport {\n type CandleColumnar,\n createCandleRowSchema,\n createCandleRowIntSchema,\n createCandleColumnarSchema,\n createCandleColumnarIntSchema,\n CandlePointSchema,\n TimeframeSchema,\n type Candle,\n type CandleInt,\n type Timeframe,\n type CandleColumnarInt,\n type GetCandlesInput,\n type GetCandlesColumnsInput,\n ListCandlesInputSchema,\n} from \"./candles.schemas.js\";\nimport { TimeframeCodec } from \"./candles.codecs.js\";\n\ninterface SubscribeCandlesInput extends BaseSubscribeInput<Candle> {\n symbolId: number;\n timeframe: Timeframe;\n}\n\ninterface SubscribeCandlesIntsInput extends BaseSubscribeInput<CandleInt> {\n symbolId: number;\n timeframe: Timeframe;\n}\n\nconst SubscribeCandlesParamsSchema = v.object({\n symbolId: v.pipe(v.number(), v.integer(), v.gtValue(0)),\n timeframe: TimeframeSchema,\n});\n\n/**\n * Reads and streams public spot OHLCV candle data in row and columnar formats.\n */\nexport class CandlesService {\n #client: Client<typeof Proto.MarketDataService>;\n #realtime: PolyesterRealtime;\n #scales: SdkScales;\n #rowSchema: ReturnType<typeof createCandleRowSchema>;\n #rowIntSchema: ReturnType<typeof createCandleRowIntSchema>;\n #columnarSchema: ReturnType<typeof createCandleColumnarSchema>;\n #columnarIntSchema: ReturnType<typeof createCandleColumnarIntSchema>;\n\n constructor(transport: Transport, realtime: PolyesterRealtime, scales: SdkScales) {\n this.#client = createClient(Proto.MarketDataService, transport);\n this.#realtime = realtime;\n this.#scales = scales;\n this.#rowSchema = createCandleRowSchema(scales);\n this.#rowIntSchema = createCandleRowIntSchema(scales);\n this.#columnarSchema = createCandleColumnarSchema(scales);\n this.#columnarIntSchema = createCandleColumnarIntSchema(scales);\n }\n\n /**\n * Returns OHLCV candles for a symbol/timeframe request, mapped into row objects with symbol id and timeframe. The proto response is newest-first and may include incomplete/reference data depending on input flags.\n */\n async list(input: GetCandlesInput, options?: PolyesterRequestOptions): Promise<Candle[]> {\n const validatedInput = v.parse(ListCandlesInputSchema, input);\n await this.#scales.ready();\n const res = await this.#client.getCandles(validatedInput, toConnectCallOptions(options));\n const candles = v.parse(v.optional(v.array(CandlePointSchema), []), res.candles);\n return candles.map((c) =>\n v.parse(this.#rowSchema, {\n ...c,\n symbolId: res.symbolId,\n timeframe: res.timeframe,\n }),\n );\n }\n\n /**\n * Returns candle data in chart-friendly column arrays ordered oldest-first by bucket start time. This preserves decimal-string SDK formatting from the columnar schema.\n */\n async listColumnar(\n input: GetCandlesColumnsInput,\n options?: PolyesterRequestOptions,\n ): Promise<CandleColumnar> {\n const validatedInput = v.parse(ListCandlesInputSchema, input);\n await this.#scales.ready();\n const res = await this.#client.getCandlesColumns(\n validatedInput,\n toConnectCallOptions(options),\n );\n return v.parse(this.#columnarSchema, res);\n }\n\n /**\n * Returns the same columnar candle series keyed by numeric bucket-start seconds (`tsSec`) instead of `time`.\n */\n async listColumnarInts(\n input: GetCandlesColumnsInput,\n options?: PolyesterRequestOptions,\n ): Promise<CandleColumnarInt> {\n const validatedInput = v.parse(ListCandlesInputSchema, input);\n await this.#scales.ready();\n const res = await this.#client.getCandlesColumns(\n validatedInput,\n toConnectCallOptions(options),\n );\n return v.parse(this.#columnarIntSchema, res);\n }\n\n /**\n * Subscribes to live candle updates on public:spot:market:candles:{timeframe}:{symbolId}:proto and emits row-form candles.\n */\n subscribe(input: SubscribeCandlesInput): () => void {\n return this.#subscribeWithSchema(input, this.#rowSchema);\n }\n\n /**\n * Subscribes to the same live candle channel as subscribe and emits row candles parsed through the row-int schema.\n */\n subscribeInts(input: SubscribeCandlesIntsInput): () => void {\n return this.#subscribeWithSchema(input, this.#rowIntSchema);\n }\n\n #subscribeWithSchema(\n input: SubscribeCandlesInput | SubscribeCandlesIntsInput,\n schema: ReturnType<typeof createCandleRowSchema>,\n ): () => void {\n const params = v.parse(SubscribeCandlesParamsSchema, {\n symbolId: input.symbolId,\n timeframe: input.timeframe,\n });\n const protoTimeframe = TimeframeCodec.inputToProto[params.timeframe];\n const channel = `public:spot:market:candles:${params.timeframe}:${params.symbolId}:proto`;\n const gate = createReadyGate(\n () => this.#scales.ready(),\n (error) => input.onError?.(publicationHandlerErrorContext(channel, error)),\n );\n return this.#realtime.connectProtoChannel({\n channel,\n schema: Proto.CandlePointSchema,\n onPublication: (data) => {\n gate.run(() => {\n const point = v.parse(CandlePointSchema, data);\n const candle = v.parse(schema, {\n ...point,\n symbolId: params.symbolId,\n timeframe: protoTimeframe,\n });\n input.onEvent(candle);\n });\n },\n onConnected: input.onOpen,\n onDisconnected: input.onClose,\n onError: input.onError,\n });\n }\n}\n"],"mappings":";;;;;;;;;AAuCA,MAAM,+BAA+BA,mBAAE,OAAO;CAC1C,UAAUA,mBAAE,KAAKA,mBAAE,OAAO,GAAGA,mBAAE,QAAQ,GAAGA,mBAAE,QAAQ,CAAC,CAAC;CACtD,WAAW;AACf,CAAC;;;;AAKD,IAAa,iBAAb,MAA4B;CACxB;CACA;CACA;CACA;CACA;CACA;CACA;CAEA,YAAY,WAAsB,UAA6B,QAAmB;EAC9E,KAAKC,UAAU,aAAaC,mBAAyB,SAAS;EAC9D,KAAKC,YAAY;EACjB,KAAKC,UAAU;EACf,KAAKC,aAAa,sBAAsB,MAAM;EAC9C,KAAKC,gBAAgB,yBAAyB,MAAM;EACpD,KAAKC,kBAAkB,2BAA2B,MAAM;EACxD,KAAKC,qBAAqB,8BAA8B,MAAM;CAClE;;;;CAKA,MAAM,KAAK,OAAwB,SAAsD;EACrF,MAAM,iBAAiBC,MAAQ,wBAAwB,KAAK;EAC5D,MAAM,KAAKL,QAAQ,MAAM;EACzB,MAAM,MAAM,MAAM,KAAKH,QAAQ,WAAW,gBAAgB,qBAAqB,OAAO,CAAC;EAEvF,OADgBQ,MAAQT,mBAAE,SAASA,mBAAE,MAAMU,mBAAiB,GAAG,CAAC,CAAC,GAAG,IAAI,OAC3D,CAAC,CAAC,KAAK,MAChBD,MAAQ,KAAKJ,YAAY;GACrB,GAAG;GACH,UAAU,IAAI;GACd,WAAW,IAAI;EACnB,CAAC,CACL;CACJ;;;;CAKA,MAAM,aACF,OACA,SACuB;EACvB,MAAM,iBAAiBI,MAAQ,wBAAwB,KAAK;EAC5D,MAAM,KAAKL,QAAQ,MAAM;EACzB,MAAM,MAAM,MAAM,KAAKH,QAAQ,kBAC3B,gBACA,qBAAqB,OAAO,CAChC;EACA,OAAOQ,MAAQ,KAAKF,iBAAiB,GAAG;CAC5C;;;;CAKA,MAAM,iBACF,OACA,SAC0B;EAC1B,MAAM,iBAAiBE,MAAQ,wBAAwB,KAAK;EAC5D,MAAM,KAAKL,QAAQ,MAAM;EACzB,MAAM,MAAM,MAAM,KAAKH,QAAQ,kBAC3B,gBACA,qBAAqB,OAAO,CAChC;EACA,OAAOQ,MAAQ,KAAKD,oBAAoB,GAAG;CAC/C;;;;CAKA,UAAU,OAA0C;EAChD,OAAO,KAAKG,qBAAqB,OAAO,KAAKN,UAAU;CAC3D;;;;CAKA,cAAc,OAA8C;EACxD,OAAO,KAAKM,qBAAqB,OAAO,KAAKL,aAAa;CAC9D;CAEA,qBACI,OACA,QACU;EACV,MAAM,SAASG,MAAQ,8BAA8B;GACjD,UAAU,MAAM;GAChB,WAAW,MAAM;EACrB,CAAC;EACD,MAAM,iBAAiB,eAAe,aAAa,OAAO;EAC1D,MAAM,UAAU,8BAA8B,OAAO,UAAU,GAAG,OAAO,SAAS;EAClF,MAAM,OAAO,sBACH,KAAKL,QAAQ,MAAM,IACxB,UAAU,MAAM,UAAU,+BAA+B,SAAS,KAAK,CAAC,CAC7E;EACA,OAAO,KAAKD,UAAU,oBAAoB;GACtC;GACA,QAAQS;GACR,gBAAgB,SAAS;IACrB,KAAK,UAAU;KACX,MAAM,QAAQH,MAAQC,qBAAmB,IAAI;KAC7C,MAAM,SAASD,MAAQ,QAAQ;MAC3B,GAAG;MACH,UAAU,OAAO;MACjB,WAAW;KACf,CAAC;KACD,MAAM,QAAQ,MAAM;IACxB,CAAC;GACL;GACA,aAAa,MAAM;GACnB,gBAAgB,MAAM;GACtB,SAAS,MAAM;EACnB,CAAC;CACL;AACJ"}
@@ -1,27 +1,27 @@
1
+ import { validation_d_exports } from "../../shared/validation.js";
1
2
  import { Timeframe as Timeframe$1 } from "../../gen/marketdata/v1/marketdata_pb.js";
2
3
  import { DecodedEnum } from "../../utils/types.js";
3
4
  import { SdkScales } from "../../shared/decimal-surface.js";
4
- import * as v from "valibot";
5
5
  //#region src/services/candles/candles.schemas.d.ts
6
- declare const TimeframeSchema: v.PicklistSchema<readonly ["1s", "1m", "5m", "15m", "30m", "1h", "4h", "12h", "1d", "1w", "1mo"], undefined>;
7
- type Timeframe = v.InferOutput<typeof TimeframeSchema>;
6
+ declare const TimeframeSchema: validation_d_exports.PicklistSchema<readonly ["1s", "1m", "5m", "15m", "30m", "1h", "4h", "12h", "1d", "1w", "1mo"], undefined>;
7
+ type Timeframe = validation_d_exports.InferOutput<typeof TimeframeSchema>;
8
8
  type TimestampInit = {
9
9
  seconds: bigint;
10
10
  nanos: number;
11
11
  };
12
- declare function createCandleRowSchema(scales: SdkScales): v.SchemaWithPipe<readonly [v.ObjectSchema<{
13
- readonly symbolId: v.NumberSchema<undefined>;
14
- readonly timeframe: v.SchemaWithPipe<readonly [v.EnumSchema<typeof Timeframe$1, undefined>, v.TransformAction<Timeframe$1, DecodedEnum<"1d" | "1s" | "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "12h" | "1w" | "1mo">>]>;
15
- readonly tsSec: v.BigintSchema<undefined>;
16
- readonly open: v.BigintSchema<undefined>;
17
- readonly high: v.BigintSchema<undefined>;
18
- readonly low: v.BigintSchema<undefined>;
19
- readonly close: v.BigintSchema<undefined>;
20
- readonly volume: v.BigintSchema<undefined>;
21
- readonly isClosed: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
22
- }, undefined>, v.TransformAction<{
12
+ declare function createCandleRowSchema(scales: SdkScales): validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
13
+ readonly symbolId: validation_d_exports.NumberSchema<undefined>;
14
+ readonly timeframe: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.EnumSchema<typeof Timeframe$1, undefined>, validation_d_exports.TransformAction<Timeframe$1, DecodedEnum<"1d" | "1h" | "1w" | "1m" | "1s" | "5m" | "15m" | "30m" | "4h" | "12h" | "1mo">>]>;
15
+ readonly tsSec: validation_d_exports.BigintSchema<undefined>;
16
+ readonly open: validation_d_exports.BigintSchema<undefined>;
17
+ readonly high: validation_d_exports.BigintSchema<undefined>;
18
+ readonly low: validation_d_exports.BigintSchema<undefined>;
19
+ readonly close: validation_d_exports.BigintSchema<undefined>;
20
+ readonly volume: validation_d_exports.BigintSchema<undefined>;
21
+ readonly isClosed: validation_d_exports.OptionalSchema<validation_d_exports.BooleanSchema<undefined>, false>;
22
+ }, undefined>, validation_d_exports.TransformAction<{
23
23
  symbolId: number;
24
- timeframe: DecodedEnum<"1d" | "1s" | "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "12h" | "1w" | "1mo">;
24
+ timeframe: DecodedEnum<"1d" | "1h" | "1w" | "1m" | "1s" | "5m" | "15m" | "30m" | "4h" | "12h" | "1mo">;
25
25
  tsSec: bigint;
26
26
  open: bigint;
27
27
  high: bigint;
@@ -31,7 +31,7 @@ declare function createCandleRowSchema(scales: SdkScales): v.SchemaWithPipe<read
31
31
  isClosed: boolean;
32
32
  }, {
33
33
  symbolId: number;
34
- timeframe: DecodedEnum<"1d" | "1s" | "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "12h" | "1w" | "1mo">;
34
+ timeframe: DecodedEnum<"1d" | "1h" | "1w" | "1m" | "1s" | "5m" | "15m" | "30m" | "4h" | "12h" | "1mo">;
35
35
  time: number;
36
36
  open: string;
37
37
  high: string;
@@ -41,25 +41,25 @@ declare function createCandleRowSchema(scales: SdkScales): v.SchemaWithPipe<read
41
41
  isClosed: boolean;
42
42
  }>]>;
43
43
  declare const createCandleRowIntSchema: typeof createCandleRowSchema;
44
- declare function createCandleColumnarSchema(scales: SdkScales): v.SchemaWithPipe<readonly [v.ObjectSchema<{
45
- readonly symbolId: v.NumberSchema<undefined>;
46
- readonly timeframe: v.SchemaWithPipe<readonly [v.EnumSchema<typeof Timeframe$1, undefined>, v.TransformAction<Timeframe$1, DecodedEnum<"1d" | "1s" | "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "12h" | "1w" | "1mo">>]>;
47
- readonly tsSec: v.ArraySchema<v.BigintSchema<undefined>, undefined>;
48
- readonly open: v.ArraySchema<v.BigintSchema<undefined>, undefined>;
49
- readonly high: v.ArraySchema<v.BigintSchema<undefined>, undefined>;
50
- readonly low: v.ArraySchema<v.BigintSchema<undefined>, undefined>;
51
- readonly close: v.ArraySchema<v.BigintSchema<undefined>, undefined>;
52
- readonly volume: v.ArraySchema<v.BigintSchema<undefined>, undefined>;
53
- readonly referenceTsSec: v.OptionalSchema<v.ArraySchema<v.BigintSchema<undefined>, undefined>, readonly []>;
54
- readonly referenceOpen: v.OptionalSchema<v.ArraySchema<v.BigintSchema<undefined>, undefined>, readonly []>;
55
- readonly referenceHigh: v.OptionalSchema<v.ArraySchema<v.BigintSchema<undefined>, undefined>, readonly []>;
56
- readonly referenceLow: v.OptionalSchema<v.ArraySchema<v.BigintSchema<undefined>, undefined>, readonly []>;
57
- readonly referenceClose: v.OptionalSchema<v.ArraySchema<v.BigintSchema<undefined>, undefined>, readonly []>;
58
- readonly referenceVolume: v.OptionalSchema<v.ArraySchema<v.BigintSchema<undefined>, undefined>, readonly []>;
59
- readonly nextPageToken: v.OptionalSchema<v.StringSchema<undefined>, "">;
60
- }, undefined>, v.TransformAction<{
44
+ declare function createCandleColumnarSchema(scales: SdkScales): validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
45
+ readonly symbolId: validation_d_exports.NumberSchema<undefined>;
46
+ readonly timeframe: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.EnumSchema<typeof Timeframe$1, undefined>, validation_d_exports.TransformAction<Timeframe$1, DecodedEnum<"1d" | "1h" | "1w" | "1m" | "1s" | "5m" | "15m" | "30m" | "4h" | "12h" | "1mo">>]>;
47
+ readonly tsSec: validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>;
48
+ readonly open: validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>;
49
+ readonly high: validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>;
50
+ readonly low: validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>;
51
+ readonly close: validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>;
52
+ readonly volume: validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>;
53
+ readonly referenceTsSec: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>, readonly []>;
54
+ readonly referenceOpen: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>, readonly []>;
55
+ readonly referenceHigh: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>, readonly []>;
56
+ readonly referenceLow: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>, readonly []>;
57
+ readonly referenceClose: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>, readonly []>;
58
+ readonly referenceVolume: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>, readonly []>;
59
+ readonly nextPageToken: validation_d_exports.OptionalSchema<validation_d_exports.StringSchema<undefined>, "">;
60
+ }, undefined>, validation_d_exports.TransformAction<{
61
61
  symbolId: number;
62
- timeframe: DecodedEnum<"1d" | "1s" | "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "12h" | "1w" | "1mo">;
62
+ timeframe: DecodedEnum<"1d" | "1h" | "1w" | "1m" | "1s" | "5m" | "15m" | "30m" | "4h" | "12h" | "1mo">;
63
63
  tsSec: bigint[];
64
64
  open: bigint[];
65
65
  high: bigint[];
@@ -75,7 +75,7 @@ declare function createCandleColumnarSchema(scales: SdkScales): v.SchemaWithPipe
75
75
  nextPageToken: string;
76
76
  }, {
77
77
  symbolId: number;
78
- timeframe: DecodedEnum<"1d" | "1s" | "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "12h" | "1w" | "1mo">;
78
+ timeframe: DecodedEnum<"1d" | "1h" | "1w" | "1m" | "1s" | "5m" | "15m" | "30m" | "4h" | "12h" | "1mo">;
79
79
  time: number[];
80
80
  open: string[];
81
81
  high: string[];
@@ -92,25 +92,25 @@ declare function createCandleColumnarSchema(scales: SdkScales): v.SchemaWithPipe
92
92
  volume: string[];
93
93
  } | null;
94
94
  }>]>;
95
- declare function createCandleColumnarIntSchema(scales: SdkScales): v.SchemaWithPipe<readonly [v.ObjectSchema<{
96
- readonly symbolId: v.NumberSchema<undefined>;
97
- readonly timeframe: v.SchemaWithPipe<readonly [v.EnumSchema<typeof Timeframe$1, undefined>, v.TransformAction<Timeframe$1, DecodedEnum<"1d" | "1s" | "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "12h" | "1w" | "1mo">>]>;
98
- readonly tsSec: v.ArraySchema<v.BigintSchema<undefined>, undefined>;
99
- readonly open: v.ArraySchema<v.BigintSchema<undefined>, undefined>;
100
- readonly high: v.ArraySchema<v.BigintSchema<undefined>, undefined>;
101
- readonly low: v.ArraySchema<v.BigintSchema<undefined>, undefined>;
102
- readonly close: v.ArraySchema<v.BigintSchema<undefined>, undefined>;
103
- readonly volume: v.ArraySchema<v.BigintSchema<undefined>, undefined>;
104
- readonly referenceTsSec: v.OptionalSchema<v.ArraySchema<v.BigintSchema<undefined>, undefined>, readonly []>;
105
- readonly referenceOpen: v.OptionalSchema<v.ArraySchema<v.BigintSchema<undefined>, undefined>, readonly []>;
106
- readonly referenceHigh: v.OptionalSchema<v.ArraySchema<v.BigintSchema<undefined>, undefined>, readonly []>;
107
- readonly referenceLow: v.OptionalSchema<v.ArraySchema<v.BigintSchema<undefined>, undefined>, readonly []>;
108
- readonly referenceClose: v.OptionalSchema<v.ArraySchema<v.BigintSchema<undefined>, undefined>, readonly []>;
109
- readonly referenceVolume: v.OptionalSchema<v.ArraySchema<v.BigintSchema<undefined>, undefined>, readonly []>;
110
- readonly nextPageToken: v.OptionalSchema<v.StringSchema<undefined>, "">;
111
- }, undefined>, v.TransformAction<{
95
+ declare function createCandleColumnarIntSchema(scales: SdkScales): validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
96
+ readonly symbolId: validation_d_exports.NumberSchema<undefined>;
97
+ readonly timeframe: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.EnumSchema<typeof Timeframe$1, undefined>, validation_d_exports.TransformAction<Timeframe$1, DecodedEnum<"1d" | "1h" | "1w" | "1m" | "1s" | "5m" | "15m" | "30m" | "4h" | "12h" | "1mo">>]>;
98
+ readonly tsSec: validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>;
99
+ readonly open: validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>;
100
+ readonly high: validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>;
101
+ readonly low: validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>;
102
+ readonly close: validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>;
103
+ readonly volume: validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>;
104
+ readonly referenceTsSec: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>, readonly []>;
105
+ readonly referenceOpen: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>, readonly []>;
106
+ readonly referenceHigh: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>, readonly []>;
107
+ readonly referenceLow: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>, readonly []>;
108
+ readonly referenceClose: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>, readonly []>;
109
+ readonly referenceVolume: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>, readonly []>;
110
+ readonly nextPageToken: validation_d_exports.OptionalSchema<validation_d_exports.StringSchema<undefined>, "">;
111
+ }, undefined>, validation_d_exports.TransformAction<{
112
112
  symbolId: number;
113
- timeframe: DecodedEnum<"1d" | "1s" | "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "12h" | "1w" | "1mo">;
113
+ timeframe: DecodedEnum<"1d" | "1h" | "1w" | "1m" | "1s" | "5m" | "15m" | "30m" | "4h" | "12h" | "1mo">;
114
114
  tsSec: bigint[];
115
115
  open: bigint[];
116
116
  high: bigint[];
@@ -126,7 +126,7 @@ declare function createCandleColumnarIntSchema(scales: SdkScales): v.SchemaWithP
126
126
  nextPageToken: string;
127
127
  }, {
128
128
  symbolId: number;
129
- timeframe: DecodedEnum<"1d" | "1s" | "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "12h" | "1w" | "1mo">;
129
+ timeframe: DecodedEnum<"1d" | "1h" | "1w" | "1m" | "1s" | "5m" | "15m" | "30m" | "4h" | "12h" | "1mo">;
130
130
  tsSec: number[];
131
131
  open: string[];
132
132
  high: string[];
@@ -143,20 +143,20 @@ declare function createCandleColumnarIntSchema(scales: SdkScales): v.SchemaWithP
143
143
  volume: string[];
144
144
  } | null;
145
145
  }>]>;
146
- type Candle = v.InferOutput<ReturnType<typeof createCandleRowSchema>>;
147
- type CandleInt = v.InferOutput<ReturnType<typeof createCandleRowIntSchema>>;
148
- type CandleColumnar = v.InferOutput<ReturnType<typeof createCandleColumnarSchema>>;
149
- type CandleColumnarInt = v.InferOutput<ReturnType<typeof createCandleColumnarIntSchema>>;
150
- declare function createListCandlesInputSchema(): v.SchemaWithPipe<readonly [v.ObjectSchema<{
151
- readonly symbolId: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.GtValueAction<number, 0, undefined>]>;
152
- readonly timeframe: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["1s", "1m", "5m", "15m", "30m", "1h", "4h", "12h", "1d", "1w", "1mo"], undefined>, v.TransformAction<"1d" | "1s" | "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "12h" | "1w" | "1mo", Timeframe$1.SEC_1 | Timeframe$1.MIN_1 | Timeframe$1.MIN_5 | Timeframe$1.MIN_15 | Timeframe$1.MIN_30 | Timeframe$1.HOUR_1 | Timeframe$1.HOUR_4 | Timeframe$1.DAY_1 | Timeframe$1.HOUR_12 | Timeframe$1.WEEK_1 | Timeframe$1.MONTH_1>]>;
153
- readonly limit: v.SchemaWithPipe<readonly [v.OptionalSchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, v.TransformAction<string | number | undefined, number | undefined>]>;
154
- readonly includeIncomplete: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
155
- readonly includeReference: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
156
- readonly startTsSec: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, number, undefined>, v.TransformAction<number, bigint>]>, undefined>;
157
- readonly endTsSec: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, number, undefined>, v.TransformAction<number, bigint>]>, undefined>;
158
- readonly pageToken: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction]>, "">;
159
- }, undefined>, v.TransformAction<{
146
+ type Candle = validation_d_exports.InferOutput<ReturnType<typeof createCandleRowSchema>>;
147
+ type CandleInt = validation_d_exports.InferOutput<ReturnType<typeof createCandleRowIntSchema>>;
148
+ type CandleColumnar = validation_d_exports.InferOutput<ReturnType<typeof createCandleColumnarSchema>>;
149
+ type CandleColumnarInt = validation_d_exports.InferOutput<ReturnType<typeof createCandleColumnarIntSchema>>;
150
+ declare function createListCandlesInputSchema(): validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
151
+ readonly symbolId: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.NumberSchema<undefined>, validation_d_exports.IntegerAction<number, undefined>, validation_d_exports.GtValueAction<number, 0, undefined>]>;
152
+ readonly timeframe: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.PicklistSchema<readonly ["1s", "1m", "5m", "15m", "30m", "1h", "4h", "12h", "1d", "1w", "1mo"], undefined>, validation_d_exports.TransformAction<"1d" | "1h" | "1w" | "1m" | "1s" | "5m" | "15m" | "30m" | "4h" | "12h" | "1mo", Timeframe$1.SEC_1 | Timeframe$1.MIN_1 | Timeframe$1.MIN_5 | Timeframe$1.MIN_15 | Timeframe$1.MIN_30 | Timeframe$1.HOUR_1 | Timeframe$1.HOUR_4 | Timeframe$1.DAY_1 | Timeframe$1.HOUR_12 | Timeframe$1.WEEK_1 | Timeframe$1.MONTH_1>]>;
153
+ readonly limit: validation_d_exports.OptionalSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.NumberSchema<undefined>, validation_d_exports.IntegerAction<number, undefined>, validation_d_exports.GtValueAction<number, 0, undefined>, validation_d_exports.MaxValueAction<number, 10000, undefined>]>, undefined>;
154
+ readonly includeIncomplete: validation_d_exports.OptionalSchema<validation_d_exports.BooleanSchema<undefined>, false>;
155
+ readonly includeReference: validation_d_exports.OptionalSchema<validation_d_exports.BooleanSchema<undefined>, false>;
156
+ readonly startTsSec: validation_d_exports.OptionalSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.NumberSchema<undefined>, validation_d_exports.IntegerAction<number, undefined>, validation_d_exports.MinValueAction<number, 0, undefined>, validation_d_exports.MaxValueAction<number, number, undefined>, validation_d_exports.TransformAction<number, bigint>]>, undefined>;
157
+ readonly endTsSec: validation_d_exports.OptionalSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.NumberSchema<undefined>, validation_d_exports.IntegerAction<number, undefined>, validation_d_exports.MinValueAction<number, 0, undefined>, validation_d_exports.MaxValueAction<number, number, undefined>, validation_d_exports.TransformAction<number, bigint>]>, undefined>;
158
+ readonly pageToken: validation_d_exports.OptionalSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction]>, "">;
159
+ }, undefined>, validation_d_exports.TransformAction<{
160
160
  symbolId: number;
161
161
  timeframe: Timeframe$1.SEC_1 | Timeframe$1.MIN_1 | Timeframe$1.MIN_5 | Timeframe$1.MIN_15 | Timeframe$1.MIN_30 | Timeframe$1.HOUR_1 | Timeframe$1.HOUR_4 | Timeframe$1.DAY_1 | Timeframe$1.HOUR_12 | Timeframe$1.WEEK_1 | Timeframe$1.MONTH_1;
162
162
  limit?: number | undefined;
@@ -175,8 +175,8 @@ declare function createListCandlesInputSchema(): v.SchemaWithPipe<readonly [v.Ob
175
175
  endTime: TimestampInit | undefined;
176
176
  pageToken: string;
177
177
  }>]>;
178
- type GetCandlesInput = v.InferInput<ReturnType<typeof createListCandlesInputSchema>>;
179
- type GetCandlesColumnsInput = v.InferInput<ReturnType<typeof createListCandlesInputSchema>>;
178
+ type GetCandlesInput = validation_d_exports.InferInput<ReturnType<typeof createListCandlesInputSchema>>;
179
+ type GetCandlesColumnsInput = validation_d_exports.InferInput<ReturnType<typeof createListCandlesInputSchema>>;
180
180
  //#endregion
181
181
  export { Candle, CandleColumnar, CandleColumnarInt, CandleInt, GetCandlesColumnsInput, GetCandlesInput, Timeframe, TimeframeSchema, createCandleColumnarIntSchema, createCandleColumnarSchema, createCandleRowIntSchema, createCandleRowSchema, createListCandlesInputSchema };
182
182
  //# sourceMappingURL=candles.schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"candles.schemas.d.ts","names":[],"sources":["../../../src/services/candles/candles.schemas.ts"],"mappings":";;;;;cASa,iBAAe,EAAA;KAEhB,YAAY,EAAE,mBAAmB;KAuBxC;EAAkB;EAAiB;;iBAqBxB,sBAAsB,QAAQ,YAAS,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoB1C,iCAAwB;iBAqCrB,2BAA2B,QAAQ,YAAS,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiC5C,8BAA8B,QAAQ,YAAS,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiCnD,SAAS,EAAE,YAAY,kBAAkB;KAGzC,YAAY,EAAE,YAAY,kBAAkB;KAC5C,iBAAiB,EAAE,YAAY,kBAAkB;KAGjD,oBAAoB,EAAE,YAAY,kBAAkB;iBAyBhD,gCAA4B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAIhC,kBAAkB,EAAE,WAAW,kBAAkB;KAEjD,yBAAyB,EAAE,WAAW,kBAAkB"}
1
+ {"version":3,"file":"candles.schemas.d.ts","names":[],"sources":["../../../src/services/candles/candles.schemas.ts"],"mappings":";;;;;cAQa,iBAAe,qBAAA;KAEhB,YAAY,qBAAE,mBAAmB;KAsBxC;EAAkB;EAAiB;;iBAqBxB,sBAAsB,QAAQ,YAAS,qBAAA,yBAAA,qBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoB1C,iCAAwB;iBAqCrB,2BAA2B,QAAQ,YAAS,qBAAA,yBAAA,qBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiC5C,8BAA8B,QAAQ,YAAS,qBAAA,yBAAA,qBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiCnD,SAAS,qBAAE,YAAY,kBAAkB;KAGzC,YAAY,qBAAE,YAAY,kBAAkB;KAC5C,iBAAiB,qBAAE,YAAY,kBAAkB;KAGjD,oBAAoB,qBAAE,YAAY,kBAAkB;iBAyBhD,gCAA4B,qBAAA,yBAAA,qBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAIhC,kBAAkB,qBAAE,WAAW,kBAAkB;KAEjD,yBAAyB,qBAAE,WAAW,kBAAkB"}
@@ -1,37 +1,36 @@
1
+ import { validation_exports } from "../../shared/validation.js";
1
2
  import { requiredEnumLabel } from "../../shared/proto-enum-codec.js";
2
- import { parseOptionalPositiveIntLike } from "../../utils/numbers.js";
3
3
  import { OptionalTimestampSecondsInputSchema } from "../../shared/schemas.js";
4
4
  import { Timeframe } from "../../gen/marketdata/v1/marketdata_pb.js";
5
5
  import { scaledToDecimalOutput } from "../../shared/decimal-surface.js";
6
6
  import { TIMEFRAMES, TimeframeCodec } from "./candles.codecs.js";
7
- import * as v from "valibot";
8
7
  //#region src/services/candles/candles.schemas.ts
9
- const TimeframeSchema = v.picklist(TIMEFRAMES);
8
+ const TimeframeSchema = validation_exports.picklist(TIMEFRAMES);
10
9
  function timeframeFromProto(value, schemaName) {
11
10
  return requiredEnumLabel(TimeframeCodec.protoToOutput, value, `CandlesService.${schemaName}`, "timeframe");
12
11
  }
13
- const TimeframeInputSchema = v.pipe(TimeframeSchema, v.transform((value) => TimeframeCodec.inputToProto[value]));
14
- const OptionalPositiveNumberSchema = v.pipe(v.optional(v.union([v.string(), v.number()])), v.transform((value) => parseOptionalPositiveIntLike(value)));
15
- const OptionalBooleanSchema = v.optional(v.boolean(), false);
12
+ const TimeframeInputSchema = validation_exports.pipe(TimeframeSchema, validation_exports.transform((value) => TimeframeCodec.inputToProto[value]));
13
+ const OptionalPositiveNumberSchema = validation_exports.optional(validation_exports.pipe(validation_exports.number(), validation_exports.integer(), validation_exports.gtValue(0), validation_exports.maxValue(1e4)));
14
+ const OptionalBooleanSchema = validation_exports.optional(validation_exports.boolean(), false);
16
15
  function timestampFromTsSec(tsSec) {
17
16
  return {
18
17
  seconds: tsSec,
19
18
  nanos: 0
20
19
  };
21
20
  }
22
- const CandleRowRawSchema = v.object({
23
- symbolId: v.number(),
24
- timeframe: v.pipe(v.enum(Timeframe), v.transform((v) => timeframeFromProto(v, "CandleRowSchema"))),
25
- tsSec: v.bigint(),
26
- open: v.bigint(),
27
- high: v.bigint(),
28
- low: v.bigint(),
29
- close: v.bigint(),
30
- volume: v.bigint(),
31
- isClosed: v.optional(v.boolean(), false)
21
+ const CandleRowRawSchema = validation_exports.object({
22
+ symbolId: validation_exports.number(),
23
+ timeframe: validation_exports.pipe(validation_exports.enum(Timeframe), validation_exports.transform((v) => timeframeFromProto(v, "CandleRowSchema"))),
24
+ tsSec: validation_exports.bigint(),
25
+ open: validation_exports.bigint(),
26
+ high: validation_exports.bigint(),
27
+ low: validation_exports.bigint(),
28
+ close: validation_exports.bigint(),
29
+ volume: validation_exports.bigint(),
30
+ isClosed: validation_exports.optional(validation_exports.boolean(), false)
32
31
  });
33
32
  function createCandleRowSchema(scales) {
34
- return v.pipe(CandleRowRawSchema, v.transform((data) => {
33
+ return validation_exports.pipe(CandleRowRawSchema, validation_exports.transform((data) => {
35
34
  const priceScale = scales.price();
36
35
  return {
37
36
  symbolId: data.symbolId,
@@ -47,37 +46,37 @@ function createCandleRowSchema(scales) {
47
46
  }));
48
47
  }
49
48
  const createCandleRowIntSchema = createCandleRowSchema;
50
- const CandlePointSchema = v.object({
51
- tsSec: v.bigint(),
52
- open: v.bigint(),
53
- high: v.bigint(),
54
- low: v.bigint(),
55
- close: v.bigint(),
56
- volume: v.bigint(),
57
- isClosed: v.optional(v.boolean(), false)
49
+ const CandlePointSchema = validation_exports.object({
50
+ tsSec: validation_exports.bigint(),
51
+ open: validation_exports.bigint(),
52
+ high: validation_exports.bigint(),
53
+ low: validation_exports.bigint(),
54
+ close: validation_exports.bigint(),
55
+ volume: validation_exports.bigint(),
56
+ isClosed: validation_exports.optional(validation_exports.boolean(), false)
58
57
  });
59
- const CandleColumnarRawSchema = v.object({
60
- symbolId: v.number(),
61
- timeframe: v.pipe(v.enum(Timeframe), v.transform((v) => timeframeFromProto(v, "CandleColumnarSchema"))),
62
- tsSec: v.array(v.bigint()),
63
- open: v.array(v.bigint()),
64
- high: v.array(v.bigint()),
65
- low: v.array(v.bigint()),
66
- close: v.array(v.bigint()),
67
- volume: v.array(v.bigint()),
68
- referenceTsSec: v.optional(v.array(v.bigint()), []),
69
- referenceOpen: v.optional(v.array(v.bigint()), []),
70
- referenceHigh: v.optional(v.array(v.bigint()), []),
71
- referenceLow: v.optional(v.array(v.bigint()), []),
72
- referenceClose: v.optional(v.array(v.bigint()), []),
73
- referenceVolume: v.optional(v.array(v.bigint()), []),
74
- nextPageToken: v.optional(v.string(), "")
58
+ const CandleColumnarRawSchema = validation_exports.object({
59
+ symbolId: validation_exports.number(),
60
+ timeframe: validation_exports.pipe(validation_exports.enum(Timeframe), validation_exports.transform((v) => timeframeFromProto(v, "CandleColumnarSchema"))),
61
+ tsSec: validation_exports.array(validation_exports.bigint()),
62
+ open: validation_exports.array(validation_exports.bigint()),
63
+ high: validation_exports.array(validation_exports.bigint()),
64
+ low: validation_exports.array(validation_exports.bigint()),
65
+ close: validation_exports.array(validation_exports.bigint()),
66
+ volume: validation_exports.array(validation_exports.bigint()),
67
+ referenceTsSec: validation_exports.optional(validation_exports.array(validation_exports.bigint()), []),
68
+ referenceOpen: validation_exports.optional(validation_exports.array(validation_exports.bigint()), []),
69
+ referenceHigh: validation_exports.optional(validation_exports.array(validation_exports.bigint()), []),
70
+ referenceLow: validation_exports.optional(validation_exports.array(validation_exports.bigint()), []),
71
+ referenceClose: validation_exports.optional(validation_exports.array(validation_exports.bigint()), []),
72
+ referenceVolume: validation_exports.optional(validation_exports.array(validation_exports.bigint()), []),
73
+ nextPageToken: validation_exports.optional(validation_exports.string(), "")
75
74
  });
76
75
  function scaledArrayToDecimal(values, scale) {
77
76
  return values.map((value) => scaledToDecimalOutput(value, scale));
78
77
  }
79
78
  function createCandleColumnarSchema(scales) {
80
- return v.pipe(CandleColumnarRawSchema, v.transform((d) => {
79
+ return validation_exports.pipe(CandleColumnarRawSchema, validation_exports.transform((d) => {
81
80
  const priceScale = scales.price();
82
81
  const volumeScale = scales.baseQty(d.symbolId);
83
82
  const referenceTsSec = d.referenceTsSec ?? [];
@@ -104,7 +103,7 @@ function createCandleColumnarSchema(scales) {
104
103
  }));
105
104
  }
106
105
  function createCandleColumnarIntSchema(scales) {
107
- return v.pipe(CandleColumnarRawSchema, v.transform((d) => {
106
+ return validation_exports.pipe(CandleColumnarRawSchema, validation_exports.transform((d) => {
108
107
  const priceScale = scales.price();
109
108
  const volumeScale = scales.baseQty(d.symbolId);
110
109
  const referenceTsSec = d.referenceTsSec ?? [];
@@ -129,16 +128,16 @@ function createCandleColumnarIntSchema(scales) {
129
128
  };
130
129
  }));
131
130
  }
132
- const ListCandlesInputSchema = v.pipe(v.object({
133
- symbolId: v.pipe(v.number(), v.integer(), v.gtValue(0)),
131
+ const ListCandlesInputSchema = validation_exports.pipe(validation_exports.object({
132
+ symbolId: validation_exports.pipe(validation_exports.number(), validation_exports.integer(), validation_exports.gtValue(0)),
134
133
  timeframe: TimeframeInputSchema,
135
134
  limit: OptionalPositiveNumberSchema,
136
- includeIncomplete: v.optional(v.boolean(), false),
135
+ includeIncomplete: validation_exports.optional(validation_exports.boolean(), false),
137
136
  includeReference: OptionalBooleanSchema,
138
137
  startTsSec: OptionalTimestampSecondsInputSchema,
139
138
  endTsSec: OptionalTimestampSecondsInputSchema,
140
- pageToken: v.optional(v.pipe(v.string(), v.trim()), "")
141
- }), v.transform((d) => ({
139
+ pageToken: validation_exports.optional(validation_exports.pipe(validation_exports.string(), validation_exports.trim()), "")
140
+ }), validation_exports.transform((d) => ({
142
141
  symbolId: d.symbolId,
143
142
  timeframe: d.timeframe,
144
143
  limit: d.limit,
@@ -1 +1 @@
1
- {"version":3,"file":"candles.schemas.js","names":["Proto.Timeframe"],"sources":["../../../src/services/candles/candles.schemas.ts"],"sourcesContent":["import * as Proto from \"../../gen/marketdata/v1/marketdata_pb.js\";\nimport * as v from \"valibot\";\nimport { parseOptionalPositiveIntLike } from \"../../utils/numbers.js\";\nimport type { DecodedEnum } from \"../../utils/types.js\";\nimport { OptionalTimestampSecondsInputSchema } from \"../../shared/schemas.js\";\nimport { requiredEnumLabel } from \"../../shared/proto-enum-codec.js\";\nimport { scaledToDecimalOutput, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport { TIMEFRAMES, TimeframeCodec } from \"./candles.codecs.js\";\n\nexport const TimeframeSchema = v.picklist(TIMEFRAMES);\n\nexport type Timeframe = v.InferOutput<typeof TimeframeSchema>;\n\nfunction timeframeFromProto(value: Proto.Timeframe, schemaName: string): DecodedEnum<Timeframe> {\n return requiredEnumLabel(\n TimeframeCodec.protoToOutput,\n value,\n `CandlesService.${schemaName}`,\n \"timeframe\",\n );\n}\n\nconst TimeframeInputSchema = v.pipe(\n TimeframeSchema,\n v.transform((value) => TimeframeCodec.inputToProto[value]),\n);\n\nconst OptionalPositiveNumberSchema = v.pipe(\n v.optional(v.union([v.string(), v.number()])),\n v.transform((value) => parseOptionalPositiveIntLike(value)),\n);\n\nconst OptionalBooleanSchema = v.optional(v.boolean(), false);\n\ntype TimestampInit = { seconds: bigint; nanos: number };\n\nfunction timestampFromTsSec(tsSec: bigint): TimestampInit {\n return { seconds: tsSec, nanos: 0 };\n}\n\nconst CandleRowRawSchema = v.object({\n symbolId: v.number(),\n timeframe: v.pipe(\n v.enum(Proto.Timeframe),\n v.transform((v) => timeframeFromProto(v, \"CandleRowSchema\")),\n ),\n tsSec: v.bigint(),\n open: v.bigint(),\n high: v.bigint(),\n low: v.bigint(),\n close: v.bigint(),\n volume: v.bigint(),\n isClosed: v.optional(v.boolean(), false),\n});\n\nexport function createCandleRowSchema(scales: SdkScales) {\n return v.pipe(\n CandleRowRawSchema,\n v.transform((data) => {\n const priceScale = scales.price();\n return {\n symbolId: data.symbolId,\n timeframe: data.timeframe,\n time: Number(data.tsSec),\n open: scaledToDecimalOutput(data.open, priceScale),\n high: scaledToDecimalOutput(data.high, priceScale),\n low: scaledToDecimalOutput(data.low, priceScale),\n close: scaledToDecimalOutput(data.close, priceScale),\n volume: scaledToDecimalOutput(data.volume, scales.baseQty(data.symbolId)),\n isClosed: data.isClosed,\n };\n }),\n );\n}\n\nexport const createCandleRowIntSchema = createCandleRowSchema;\n\nexport const CandlePointSchema = v.object({\n tsSec: v.bigint(),\n open: v.bigint(),\n high: v.bigint(),\n low: v.bigint(),\n close: v.bigint(),\n volume: v.bigint(),\n isClosed: v.optional(v.boolean(), false),\n});\n\nconst CandleColumnarRawSchema = v.object({\n symbolId: v.number(),\n timeframe: v.pipe(\n v.enum(Proto.Timeframe),\n v.transform((v) => timeframeFromProto(v, \"CandleColumnarSchema\")),\n ),\n tsSec: v.array(v.bigint()),\n open: v.array(v.bigint()),\n high: v.array(v.bigint()),\n low: v.array(v.bigint()),\n close: v.array(v.bigint()),\n volume: v.array(v.bigint()),\n referenceTsSec: v.optional(v.array(v.bigint()), []),\n referenceOpen: v.optional(v.array(v.bigint()), []),\n referenceHigh: v.optional(v.array(v.bigint()), []),\n referenceLow: v.optional(v.array(v.bigint()), []),\n referenceClose: v.optional(v.array(v.bigint()), []),\n referenceVolume: v.optional(v.array(v.bigint()), []),\n nextPageToken: v.optional(v.string(), \"\"),\n});\n\nfunction scaledArrayToDecimal(values: bigint[], scale: number): string[] {\n return values.map((value) => scaledToDecimalOutput(value, scale));\n}\n\nexport function createCandleColumnarSchema(scales: SdkScales) {\n return v.pipe(\n CandleColumnarRawSchema,\n v.transform((d) => {\n const priceScale = scales.price();\n const volumeScale = scales.baseQty(d.symbolId);\n const referenceTsSec = d.referenceTsSec ?? [];\n const hasReference = referenceTsSec.length > 0;\n return {\n symbolId: d.symbolId,\n timeframe: d.timeframe,\n time: d.tsSec.map((t) => Number(t)),\n open: scaledArrayToDecimal(d.open, priceScale),\n high: scaledArrayToDecimal(d.high, priceScale),\n low: scaledArrayToDecimal(d.low, priceScale),\n close: scaledArrayToDecimal(d.close, priceScale),\n volume: scaledArrayToDecimal(d.volume, volumeScale),\n nextPageToken: d.nextPageToken,\n reference: hasReference\n ? {\n time: referenceTsSec.map((t) => Number(t)),\n open: scaledArrayToDecimal(d.referenceOpen ?? [], priceScale),\n high: scaledArrayToDecimal(d.referenceHigh ?? [], priceScale),\n low: scaledArrayToDecimal(d.referenceLow ?? [], priceScale),\n close: scaledArrayToDecimal(d.referenceClose ?? [], priceScale),\n volume: scaledArrayToDecimal(d.referenceVolume ?? [], volumeScale),\n }\n : null,\n };\n }),\n );\n}\n\nexport function createCandleColumnarIntSchema(scales: SdkScales) {\n return v.pipe(\n CandleColumnarRawSchema,\n v.transform((d) => {\n const priceScale = scales.price();\n const volumeScale = scales.baseQty(d.symbolId);\n const referenceTsSec = d.referenceTsSec ?? [];\n return {\n symbolId: d.symbolId,\n timeframe: d.timeframe,\n tsSec: d.tsSec.map((t) => Number(t)),\n open: scaledArrayToDecimal(d.open, priceScale),\n high: scaledArrayToDecimal(d.high, priceScale),\n low: scaledArrayToDecimal(d.low, priceScale),\n close: scaledArrayToDecimal(d.close, priceScale),\n volume: scaledArrayToDecimal(d.volume, volumeScale),\n nextPageToken: d.nextPageToken,\n reference:\n referenceTsSec.length > 0\n ? {\n tsSec: referenceTsSec.map((t) => Number(t)),\n open: scaledArrayToDecimal(d.referenceOpen ?? [], priceScale),\n high: scaledArrayToDecimal(d.referenceHigh ?? [], priceScale),\n low: scaledArrayToDecimal(d.referenceLow ?? [], priceScale),\n close: scaledArrayToDecimal(d.referenceClose ?? [], priceScale),\n volume: scaledArrayToDecimal(d.referenceVolume ?? [], volumeScale),\n }\n : null,\n };\n }),\n );\n}\n\nexport type Candle = v.InferOutput<ReturnType<typeof createCandleRowSchema>>;\nexport type CandleInput = v.InferInput<ReturnType<typeof createCandleRowSchema>>;\nexport type CandleIntInput = v.InferInput<ReturnType<typeof createCandleRowIntSchema>>;\nexport type CandleInt = v.InferOutput<ReturnType<typeof createCandleRowIntSchema>>;\nexport type CandleColumnar = v.InferOutput<ReturnType<typeof createCandleColumnarSchema>>;\nexport type CandleColumnarInput = v.InferInput<ReturnType<typeof createCandleColumnarSchema>>;\nexport type CandleColumnarIntInput = v.InferInput<ReturnType<typeof createCandleColumnarIntSchema>>;\nexport type CandleColumnarInt = v.InferOutput<ReturnType<typeof createCandleColumnarIntSchema>>;\n\nexport const ListCandlesInputSchema = v.pipe(\n v.object({\n symbolId: v.pipe(v.number(), v.integer(), v.gtValue(0)),\n timeframe: TimeframeInputSchema,\n limit: OptionalPositiveNumberSchema,\n includeIncomplete: v.optional(v.boolean(), false),\n includeReference: OptionalBooleanSchema,\n startTsSec: OptionalTimestampSecondsInputSchema,\n endTsSec: OptionalTimestampSecondsInputSchema,\n pageToken: v.optional(v.pipe(v.string(), v.trim()), \"\"),\n }),\n v.transform((d) => ({\n symbolId: d.symbolId,\n timeframe: d.timeframe,\n limit: d.limit,\n includeIncomplete: d.includeIncomplete,\n includeReference: d.includeReference,\n startTime: d.startTsSec != null ? timestampFromTsSec(d.startTsSec) : undefined,\n endTime: d.endTsSec != null ? timestampFromTsSec(d.endTsSec) : undefined,\n pageToken: d.pageToken,\n })),\n);\n\nexport function createListCandlesInputSchema() {\n return ListCandlesInputSchema;\n}\n\nexport type GetCandlesInput = v.InferInput<ReturnType<typeof createListCandlesInputSchema>>;\nexport const createGetCandlesColumnsInputSchema = createListCandlesInputSchema;\nexport type GetCandlesColumnsInput = v.InferInput<ReturnType<typeof createListCandlesInputSchema>>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"candles.schemas.js","names":["v","Proto.Timeframe"],"sources":["../../../src/services/candles/candles.schemas.ts"],"sourcesContent":["import * as Proto from \"../../gen/marketdata/v1/marketdata_pb.js\";\nimport * as v from \"../../shared/validation.js\";\nimport type { DecodedEnum } from \"../../utils/types.js\";\nimport { OptionalTimestampSecondsInputSchema } from \"../../shared/schemas.js\";\nimport { requiredEnumLabel } from \"../../shared/proto-enum-codec.js\";\nimport { scaledToDecimalOutput, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport { TIMEFRAMES, TimeframeCodec } from \"./candles.codecs.js\";\n\nexport const TimeframeSchema = v.picklist(TIMEFRAMES);\n\nexport type Timeframe = v.InferOutput<typeof TimeframeSchema>;\n\nfunction timeframeFromProto(value: Proto.Timeframe, schemaName: string): DecodedEnum<Timeframe> {\n return requiredEnumLabel(\n TimeframeCodec.protoToOutput,\n value,\n `CandlesService.${schemaName}`,\n \"timeframe\",\n );\n}\n\nconst TimeframeInputSchema = v.pipe(\n TimeframeSchema,\n v.transform((value) => TimeframeCodec.inputToProto[value]),\n);\n\nconst OptionalPositiveNumberSchema = v.optional(\n v.pipe(v.number(), v.integer(), v.gtValue(0), v.maxValue(10_000)),\n);\n\nconst OptionalBooleanSchema = v.optional(v.boolean(), false);\n\ntype TimestampInit = { seconds: bigint; nanos: number };\n\nfunction timestampFromTsSec(tsSec: bigint): TimestampInit {\n return { seconds: tsSec, nanos: 0 };\n}\n\nconst CandleRowRawSchema = v.object({\n symbolId: v.number(),\n timeframe: v.pipe(\n v.enum(Proto.Timeframe),\n v.transform((v) => timeframeFromProto(v, \"CandleRowSchema\")),\n ),\n tsSec: v.bigint(),\n open: v.bigint(),\n high: v.bigint(),\n low: v.bigint(),\n close: v.bigint(),\n volume: v.bigint(),\n isClosed: v.optional(v.boolean(), false),\n});\n\nexport function createCandleRowSchema(scales: SdkScales) {\n return v.pipe(\n CandleRowRawSchema,\n v.transform((data) => {\n const priceScale = scales.price();\n return {\n symbolId: data.symbolId,\n timeframe: data.timeframe,\n time: Number(data.tsSec),\n open: scaledToDecimalOutput(data.open, priceScale),\n high: scaledToDecimalOutput(data.high, priceScale),\n low: scaledToDecimalOutput(data.low, priceScale),\n close: scaledToDecimalOutput(data.close, priceScale),\n volume: scaledToDecimalOutput(data.volume, scales.baseQty(data.symbolId)),\n isClosed: data.isClosed,\n };\n }),\n );\n}\n\nexport const createCandleRowIntSchema = createCandleRowSchema;\n\nexport const CandlePointSchema = v.object({\n tsSec: v.bigint(),\n open: v.bigint(),\n high: v.bigint(),\n low: v.bigint(),\n close: v.bigint(),\n volume: v.bigint(),\n isClosed: v.optional(v.boolean(), false),\n});\n\nconst CandleColumnarRawSchema = v.object({\n symbolId: v.number(),\n timeframe: v.pipe(\n v.enum(Proto.Timeframe),\n v.transform((v) => timeframeFromProto(v, \"CandleColumnarSchema\")),\n ),\n tsSec: v.array(v.bigint()),\n open: v.array(v.bigint()),\n high: v.array(v.bigint()),\n low: v.array(v.bigint()),\n close: v.array(v.bigint()),\n volume: v.array(v.bigint()),\n referenceTsSec: v.optional(v.array(v.bigint()), []),\n referenceOpen: v.optional(v.array(v.bigint()), []),\n referenceHigh: v.optional(v.array(v.bigint()), []),\n referenceLow: v.optional(v.array(v.bigint()), []),\n referenceClose: v.optional(v.array(v.bigint()), []),\n referenceVolume: v.optional(v.array(v.bigint()), []),\n nextPageToken: v.optional(v.string(), \"\"),\n});\n\nfunction scaledArrayToDecimal(values: bigint[], scale: number): string[] {\n return values.map((value) => scaledToDecimalOutput(value, scale));\n}\n\nexport function createCandleColumnarSchema(scales: SdkScales) {\n return v.pipe(\n CandleColumnarRawSchema,\n v.transform((d) => {\n const priceScale = scales.price();\n const volumeScale = scales.baseQty(d.symbolId);\n const referenceTsSec = d.referenceTsSec ?? [];\n const hasReference = referenceTsSec.length > 0;\n return {\n symbolId: d.symbolId,\n timeframe: d.timeframe,\n time: d.tsSec.map((t) => Number(t)),\n open: scaledArrayToDecimal(d.open, priceScale),\n high: scaledArrayToDecimal(d.high, priceScale),\n low: scaledArrayToDecimal(d.low, priceScale),\n close: scaledArrayToDecimal(d.close, priceScale),\n volume: scaledArrayToDecimal(d.volume, volumeScale),\n nextPageToken: d.nextPageToken,\n reference: hasReference\n ? {\n time: referenceTsSec.map((t) => Number(t)),\n open: scaledArrayToDecimal(d.referenceOpen ?? [], priceScale),\n high: scaledArrayToDecimal(d.referenceHigh ?? [], priceScale),\n low: scaledArrayToDecimal(d.referenceLow ?? [], priceScale),\n close: scaledArrayToDecimal(d.referenceClose ?? [], priceScale),\n volume: scaledArrayToDecimal(d.referenceVolume ?? [], volumeScale),\n }\n : null,\n };\n }),\n );\n}\n\nexport function createCandleColumnarIntSchema(scales: SdkScales) {\n return v.pipe(\n CandleColumnarRawSchema,\n v.transform((d) => {\n const priceScale = scales.price();\n const volumeScale = scales.baseQty(d.symbolId);\n const referenceTsSec = d.referenceTsSec ?? [];\n return {\n symbolId: d.symbolId,\n timeframe: d.timeframe,\n tsSec: d.tsSec.map((t) => Number(t)),\n open: scaledArrayToDecimal(d.open, priceScale),\n high: scaledArrayToDecimal(d.high, priceScale),\n low: scaledArrayToDecimal(d.low, priceScale),\n close: scaledArrayToDecimal(d.close, priceScale),\n volume: scaledArrayToDecimal(d.volume, volumeScale),\n nextPageToken: d.nextPageToken,\n reference:\n referenceTsSec.length > 0\n ? {\n tsSec: referenceTsSec.map((t) => Number(t)),\n open: scaledArrayToDecimal(d.referenceOpen ?? [], priceScale),\n high: scaledArrayToDecimal(d.referenceHigh ?? [], priceScale),\n low: scaledArrayToDecimal(d.referenceLow ?? [], priceScale),\n close: scaledArrayToDecimal(d.referenceClose ?? [], priceScale),\n volume: scaledArrayToDecimal(d.referenceVolume ?? [], volumeScale),\n }\n : null,\n };\n }),\n );\n}\n\nexport type Candle = v.InferOutput<ReturnType<typeof createCandleRowSchema>>;\nexport type CandleInput = v.InferInput<ReturnType<typeof createCandleRowSchema>>;\nexport type CandleIntInput = v.InferInput<ReturnType<typeof createCandleRowIntSchema>>;\nexport type CandleInt = v.InferOutput<ReturnType<typeof createCandleRowIntSchema>>;\nexport type CandleColumnar = v.InferOutput<ReturnType<typeof createCandleColumnarSchema>>;\nexport type CandleColumnarInput = v.InferInput<ReturnType<typeof createCandleColumnarSchema>>;\nexport type CandleColumnarIntInput = v.InferInput<ReturnType<typeof createCandleColumnarIntSchema>>;\nexport type CandleColumnarInt = v.InferOutput<ReturnType<typeof createCandleColumnarIntSchema>>;\n\nexport const ListCandlesInputSchema = v.pipe(\n v.object({\n symbolId: v.pipe(v.number(), v.integer(), v.gtValue(0)),\n timeframe: TimeframeInputSchema,\n limit: OptionalPositiveNumberSchema,\n includeIncomplete: v.optional(v.boolean(), false),\n includeReference: OptionalBooleanSchema,\n startTsSec: OptionalTimestampSecondsInputSchema,\n endTsSec: OptionalTimestampSecondsInputSchema,\n pageToken: v.optional(v.pipe(v.string(), v.trim()), \"\"),\n }),\n v.transform((d) => ({\n symbolId: d.symbolId,\n timeframe: d.timeframe,\n limit: d.limit,\n includeIncomplete: d.includeIncomplete,\n includeReference: d.includeReference,\n startTime: d.startTsSec != null ? timestampFromTsSec(d.startTsSec) : undefined,\n endTime: d.endTsSec != null ? timestampFromTsSec(d.endTsSec) : undefined,\n pageToken: d.pageToken,\n })),\n);\n\nexport function createListCandlesInputSchema() {\n return ListCandlesInputSchema;\n}\n\nexport type GetCandlesInput = v.InferInput<ReturnType<typeof createListCandlesInputSchema>>;\nexport const createGetCandlesColumnsInputSchema = createListCandlesInputSchema;\nexport type GetCandlesColumnsInput = v.InferInput<ReturnType<typeof createListCandlesInputSchema>>;\n"],"mappings":"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"}