@orderly.network/hooks 1.2.0 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. package/esm/configProvider.d.ts +7 -1
  2. package/esm/configProvider.d.ts.map +1 -1
  3. package/esm/configProvider.js +44 -18
  4. package/esm/configProvider.js.map +1 -0
  5. package/esm/dataProvider.js +24 -19
  6. package/esm/dataProvider.js.map +1 -0
  7. package/esm/index.d.ts +1 -0
  8. package/esm/index.d.ts.map +1 -1
  9. package/esm/index.js +4 -1
  10. package/esm/index.js.map +1 -0
  11. package/esm/middleware/signatureMiddleware.js +9 -8
  12. package/esm/middleware/signatureMiddleware.js.map +1 -0
  13. package/esm/orderly/orderbook.service.js +39 -28
  14. package/esm/orderly/orderbook.service.js.map +1 -0
  15. package/esm/orderly/orderlyHooks.d.ts +3 -0
  16. package/esm/orderly/orderlyHooks.d.ts.map +1 -1
  17. package/esm/orderly/orderlyHooks.js +2 -0
  18. package/esm/orderly/orderlyHooks.js.map +1 -0
  19. package/esm/orderly/useAccountInfo.js +3 -1
  20. package/esm/orderly/useAccountInfo.js.map +1 -0
  21. package/esm/orderly/useChain.js +16 -9
  22. package/esm/orderly/useChain.js.map +1 -0
  23. package/esm/orderly/useChains.d.ts +11 -12
  24. package/esm/orderly/useChains.d.ts.map +1 -1
  25. package/esm/orderly/useChains.js +68 -46
  26. package/esm/orderly/useChains.js.map +1 -0
  27. package/esm/orderly/useCollateral.d.ts +3 -4
  28. package/esm/orderly/useCollateral.d.ts.map +1 -1
  29. package/esm/orderly/useCollateral.js +53 -20
  30. package/esm/orderly/useCollateral.js.map +1 -0
  31. package/esm/orderly/useDeposit.js +123 -125
  32. package/esm/orderly/useDeposit.js.map +1 -0
  33. package/esm/orderly/useFundingRate.js +14 -13
  34. package/esm/orderly/useFundingRate.js.map +1 -0
  35. package/esm/orderly/useFundingRates.js +6 -4
  36. package/esm/orderly/useFundingRates.js.map +1 -0
  37. package/esm/orderly/useHoldingStream.js +19 -15
  38. package/esm/orderly/useHoldingStream.js.map +1 -0
  39. package/esm/orderly/useIndexPrice.js +7 -5
  40. package/esm/orderly/useIndexPrice.js.map +1 -0
  41. package/esm/orderly/useLeverage.js +9 -12
  42. package/esm/orderly/useLeverage.js.map +1 -0
  43. package/esm/orderly/useMarginRatio.js +27 -13
  44. package/esm/orderly/useMarginRatio.js.map +1 -0
  45. package/esm/orderly/useMarkPrice.js +13 -7
  46. package/esm/orderly/useMarkPrice.js.map +1 -0
  47. package/esm/orderly/useMarkPricesStream.d.ts +1 -1
  48. package/esm/orderly/useMarkPricesStream.d.ts.map +1 -1
  49. package/esm/orderly/useMarkPricesStream.js +9 -8
  50. package/esm/orderly/useMarkPricesStream.js.map +1 -0
  51. package/esm/orderly/useMarketTradeStream.js +33 -18
  52. package/esm/orderly/useMarketTradeStream.js.map +1 -0
  53. package/esm/orderly/useMarkets.js +144 -81
  54. package/esm/orderly/useMarkets.js.map +1 -0
  55. package/esm/orderly/useMarketsStream.js +23 -28
  56. package/esm/orderly/useMarketsStream.js.map +1 -0
  57. package/esm/orderly/useMaxQty.d.ts +6 -0
  58. package/esm/orderly/useMaxQty.d.ts.map +1 -1
  59. package/esm/orderly/useMaxQty.js +26 -18
  60. package/esm/orderly/useMaxQty.js.map +1 -0
  61. package/esm/orderly/useOpenInterest.js +7 -5
  62. package/esm/orderly/useOpenInterest.js.map +1 -0
  63. package/esm/orderly/useOrderEntry.js +182 -160
  64. package/esm/orderly/useOrderEntry.js.map +1 -0
  65. package/esm/orderly/useOrderStream.js +85 -66
  66. package/esm/orderly/useOrderStream.js.map +1 -0
  67. package/esm/orderly/useOrderbookStream.d.ts +2 -3
  68. package/esm/orderly/useOrderbookStream.d.ts.map +1 -1
  69. package/esm/orderly/useOrderbookStream.js +173 -103
  70. package/esm/orderly/useOrderbookStream.js.map +1 -0
  71. package/esm/orderly/usePositionStream.js +82 -62
  72. package/esm/orderly/usePositionStream.js.map +1 -0
  73. package/esm/orderly/usePrivateDataObserver.js +55 -48
  74. package/esm/orderly/usePrivateDataObserver.js.map +1 -0
  75. package/esm/orderly/useSettleSubscription.js +8 -6
  76. package/esm/orderly/useSettleSubscription.js.map +1 -0
  77. package/esm/orderly/useSymbolPriceRange.js +14 -8
  78. package/esm/orderly/useSymbolPriceRange.js.map +1 -0
  79. package/esm/orderly/useSymbolsInfo.js +7 -5
  80. package/esm/orderly/useSymbolsInfo.js.map +1 -0
  81. package/esm/orderly/useTickerStream.d.ts +5 -1
  82. package/esm/orderly/useTickerStream.d.ts.map +1 -1
  83. package/esm/orderly/useTickerStream.js +26 -29
  84. package/esm/orderly/useTickerStream.js.map +1 -0
  85. package/esm/orderly/useWalletSubscription.js +8 -6
  86. package/esm/orderly/useWalletSubscription.js.map +1 -0
  87. package/esm/orderly/useWithdraw.js +19 -11
  88. package/esm/orderly/useWithdraw.js.map +1 -0
  89. package/esm/orderlyContext.d.ts +8 -1
  90. package/esm/orderlyContext.d.ts.map +1 -1
  91. package/esm/orderlyContext.js +2 -1
  92. package/esm/orderlyContext.js.map +1 -0
  93. package/esm/services/dataCenter.js +10 -8
  94. package/esm/services/dataCenter.js.map +1 -0
  95. package/esm/services/painter/backgroundPaint.js +11 -14
  96. package/esm/services/painter/backgroundPaint.js.map +1 -0
  97. package/esm/services/painter/basePaint.js +5 -1
  98. package/esm/services/painter/basePaint.js.map +1 -0
  99. package/esm/services/painter/dataPaint.js +53 -50
  100. package/esm/services/painter/dataPaint.js.map +1 -0
  101. package/esm/services/painter/layout.config.js +15 -13
  102. package/esm/services/painter/layout.config.js.map +1 -0
  103. package/esm/services/painter/painter.js +14 -13
  104. package/esm/services/painter/painter.js.map +1 -0
  105. package/esm/services/painter/resource.js +6 -4
  106. package/esm/services/painter/resource.js.map +1 -0
  107. package/esm/statusProvider.js +10 -3
  108. package/esm/statusProvider.js.map +1 -0
  109. package/esm/unuse/apiPrefixMiddleware.js +18 -16
  110. package/esm/unuse/apiPrefixMiddleware.js.map +1 -0
  111. package/esm/unuse/fn.js +3 -1
  112. package/esm/unuse/fn.js.map +1 -0
  113. package/esm/unuse/useBalance.js +6 -4
  114. package/esm/unuse/useBalance.js.map +1 -0
  115. package/esm/unuse/useFetures.js +26 -18
  116. package/esm/unuse/useFetures.js.map +1 -0
  117. package/esm/unuse/useRunOnce.js +10 -7
  118. package/esm/unuse/useRunOnce.js.map +1 -0
  119. package/esm/unuse/useSyncEnd.js +5 -4
  120. package/esm/unuse/useSyncEnd.js.map +1 -0
  121. package/esm/unuse/useTokenInfo.js +7 -5
  122. package/esm/unuse/useTokenInfo.js.map +1 -0
  123. package/esm/unuse/useUnsettlementPnL.js +7 -3
  124. package/esm/unuse/useUnsettlementPnL.js.map +1 -0
  125. package/esm/useAccount.js +18 -21
  126. package/esm/useAccount.js.map +1 -0
  127. package/esm/useAccountInstance.js +6 -7
  128. package/esm/useAccountInstance.js.map +1 -0
  129. package/esm/useBoolean.js +14 -5
  130. package/esm/useBoolean.js.map +1 -0
  131. package/esm/useConfig.js +3 -1
  132. package/esm/useConfig.js.map +1 -0
  133. package/esm/useEventEmitter.js +4 -2
  134. package/esm/useEventEmitter.js.map +1 -0
  135. package/esm/useLazyQuery.js +6 -7
  136. package/esm/useLazyQuery.js.map +1 -0
  137. package/esm/useLocalStorage.js +30 -20
  138. package/esm/useLocalStorage.js.map +1 -0
  139. package/esm/useMediaQuery.js +11 -9
  140. package/esm/useMediaQuery.js.map +1 -0
  141. package/esm/useMutation.js +26 -37
  142. package/esm/useMutation.js.map +1 -0
  143. package/esm/useObserve.js +4 -4
  144. package/esm/useObserve.js.map +1 -0
  145. package/esm/useParamsCheck.js +8 -10
  146. package/esm/useParamsCheck.js.map +1 -0
  147. package/esm/usePoster.js +56 -45
  148. package/esm/usePoster.js.map +1 -0
  149. package/esm/usePreloadData.js +9 -5
  150. package/esm/usePreloadData.js.map +1 -0
  151. package/esm/usePrivateInfiniteQuery.js +15 -9
  152. package/esm/usePrivateInfiniteQuery.js.map +1 -0
  153. package/esm/usePrivateQuery.js +15 -8
  154. package/esm/usePrivateQuery.js.map +1 -0
  155. package/esm/useQuery.js +6 -5
  156. package/esm/useQuery.js.map +1 -0
  157. package/esm/useSessionStorage.js +28 -19
  158. package/esm/useSessionStorage.js.map +1 -0
  159. package/esm/useWS.js +15 -13
  160. package/esm/useWS.js.map +1 -0
  161. package/esm/useWsStatus.js +12 -12
  162. package/esm/useWsStatus.js.map +1 -0
  163. package/esm/utils/createGetter.js +8 -8
  164. package/esm/utils/createGetter.js.map +1 -0
  165. package/esm/utils/createOrder.d.ts +1 -0
  166. package/esm/utils/createOrder.d.ts.map +1 -1
  167. package/esm/utils/createOrder.js +59 -43
  168. package/esm/utils/createOrder.js.map +1 -0
  169. package/esm/utils/dev.js +6 -4
  170. package/esm/utils/dev.js.map +1 -0
  171. package/esm/utils/fetcher.js +3 -1
  172. package/esm/utils/fetcher.js.map +1 -0
  173. package/esm/utils/json.js +3 -2
  174. package/esm/utils/json.js.map +1 -0
  175. package/esm/utils/orderEntryHelper.js +92 -63
  176. package/esm/utils/orderEntryHelper.js.map +1 -0
  177. package/esm/utils/parseHolding.js +10 -6
  178. package/esm/utils/parseHolding.js.map +1 -0
  179. package/esm/utils/swr.js +114 -104
  180. package/esm/utils/swr.js.map +1 -0
  181. package/esm/version.d.ts +1 -1
  182. package/esm/version.js +4 -3
  183. package/esm/version.js.map +1 -0
  184. package/esm/walletConnectorContext.js +4 -2
  185. package/esm/walletConnectorContext.js.map +1 -0
  186. package/lib/configProvider.d.ts +7 -1
  187. package/lib/configProvider.d.ts.map +1 -1
  188. package/lib/configProvider.js +108 -56
  189. package/lib/configProvider.js.map +1 -0
  190. package/lib/dataProvider.js +50 -29
  191. package/lib/dataProvider.js.map +1 -0
  192. package/lib/index.d.ts +1 -0
  193. package/lib/index.d.ts.map +1 -1
  194. package/lib/index.js +191 -88
  195. package/lib/index.js.map +1 -0
  196. package/lib/middleware/signatureMiddleware.js +22 -15
  197. package/lib/middleware/signatureMiddleware.js.map +1 -0
  198. package/lib/orderly/orderbook.service.js +59 -33
  199. package/lib/orderly/orderbook.service.js.map +1 -0
  200. package/lib/orderly/orderlyHooks.d.ts +3 -0
  201. package/lib/orderly/orderlyHooks.d.ts.map +1 -1
  202. package/lib/orderly/orderlyHooks.js +124 -57
  203. package/lib/orderly/orderlyHooks.js.map +1 -0
  204. package/lib/orderly/useAccountInfo.js +14 -6
  205. package/lib/orderly/useAccountInfo.js.map +1 -0
  206. package/lib/orderly/useChain.js +30 -17
  207. package/lib/orderly/useChain.js.map +1 -0
  208. package/lib/orderly/useChains.d.ts +11 -12
  209. package/lib/orderly/useChains.d.ts.map +1 -1
  210. package/lib/orderly/useChains.js +100 -59
  211. package/lib/orderly/useChains.js.map +1 -0
  212. package/lib/orderly/useCollateral.d.ts +3 -4
  213. package/lib/orderly/useCollateral.d.ts.map +1 -1
  214. package/lib/orderly/useCollateral.js +81 -42
  215. package/lib/orderly/useCollateral.js.map +1 -0
  216. package/lib/orderly/useDeposit.js +154 -150
  217. package/lib/orderly/useDeposit.js.map +1 -0
  218. package/lib/orderly/useFundingRate.js +29 -22
  219. package/lib/orderly/useFundingRate.js.map +1 -0
  220. package/lib/orderly/useFundingRates.js +19 -11
  221. package/lib/orderly/useFundingRates.js.map +1 -0
  222. package/lib/orderly/useHoldingStream.js +39 -27
  223. package/lib/orderly/useHoldingStream.js.map +1 -0
  224. package/lib/orderly/useIndexPrice.js +24 -14
  225. package/lib/orderly/useIndexPrice.js.map +1 -0
  226. package/lib/orderly/useLeverage.js +27 -24
  227. package/lib/orderly/useLeverage.js.map +1 -0
  228. package/lib/orderly/useMarginRatio.js +49 -29
  229. package/lib/orderly/useMarginRatio.js.map +1 -0
  230. package/lib/orderly/useMarkPrice.js +26 -15
  231. package/lib/orderly/useMarkPrice.js.map +1 -0
  232. package/lib/orderly/useMarkPricesStream.d.ts +1 -1
  233. package/lib/orderly/useMarkPricesStream.d.ts.map +1 -1
  234. package/lib/orderly/useMarkPricesStream.js +26 -17
  235. package/lib/orderly/useMarkPricesStream.js.map +1 -0
  236. package/lib/orderly/useMarketTradeStream.js +47 -26
  237. package/lib/orderly/useMarketTradeStream.js.map +1 -0
  238. package/lib/orderly/useMarkets.js +172 -95
  239. package/lib/orderly/useMarkets.js.map +1 -0
  240. package/lib/orderly/useMarketsStream.js +44 -41
  241. package/lib/orderly/useMarketsStream.js.map +1 -0
  242. package/lib/orderly/useMaxQty.d.ts +6 -0
  243. package/lib/orderly/useMaxQty.d.ts.map +1 -1
  244. package/lib/orderly/useMaxQty.js +52 -43
  245. package/lib/orderly/useMaxQty.js.map +1 -0
  246. package/lib/orderly/useOpenInterest.js +24 -14
  247. package/lib/orderly/useOpenInterest.js.map +1 -0
  248. package/lib/orderly/useOrderEntry.js +238 -210
  249. package/lib/orderly/useOrderEntry.js.map +1 -0
  250. package/lib/orderly/useOrderStream.js +111 -84
  251. package/lib/orderly/useOrderStream.js.map +1 -0
  252. package/lib/orderly/useOrderbookStream.d.ts +2 -3
  253. package/lib/orderly/useOrderbookStream.d.ts.map +1 -1
  254. package/lib/orderly/useOrderbookStream.js +227 -148
  255. package/lib/orderly/useOrderbookStream.js.map +1 -0
  256. package/lib/orderly/usePositionStream.js +134 -100
  257. package/lib/orderly/usePositionStream.js.map +1 -0
  258. package/lib/orderly/usePrivateDataObserver.js +76 -63
  259. package/lib/orderly/usePrivateDataObserver.js.map +1 -0
  260. package/lib/orderly/useSettleSubscription.js +25 -15
  261. package/lib/orderly/useSettleSubscription.js.map +1 -0
  262. package/lib/orderly/useSymbolPriceRange.js +29 -23
  263. package/lib/orderly/useSymbolPriceRange.js.map +1 -0
  264. package/lib/orderly/useSymbolsInfo.js +23 -15
  265. package/lib/orderly/useSymbolsInfo.js.map +1 -0
  266. package/lib/orderly/useTickerStream.d.ts +5 -1
  267. package/lib/orderly/useTickerStream.d.ts.map +1 -1
  268. package/lib/orderly/useTickerStream.js +51 -48
  269. package/lib/orderly/useTickerStream.js.map +1 -0
  270. package/lib/orderly/useWalletSubscription.js +25 -15
  271. package/lib/orderly/useWalletSubscription.js.map +1 -0
  272. package/lib/orderly/useWithdraw.js +36 -22
  273. package/lib/orderly/useWithdraw.js.map +1 -0
  274. package/lib/orderlyContext.d.ts +8 -1
  275. package/lib/orderlyContext.d.ts.map +1 -1
  276. package/lib/orderlyContext.js +22 -6
  277. package/lib/orderlyContext.js.map +1 -0
  278. package/lib/services/dataCenter.js +15 -11
  279. package/lib/services/dataCenter.js.map +1 -0
  280. package/lib/services/painter/backgroundPaint.js +21 -18
  281. package/lib/services/painter/backgroundPaint.js.map +1 -0
  282. package/lib/services/painter/basePaint.js +14 -4
  283. package/lib/services/painter/basePaint.js.map +1 -0
  284. package/lib/services/painter/dataPaint.js +67 -58
  285. package/lib/services/painter/dataPaint.js.map +1 -0
  286. package/lib/services/painter/layout.config.js +25 -16
  287. package/lib/services/painter/layout.config.js.map +1 -0
  288. package/lib/services/painter/painter.js +27 -20
  289. package/lib/services/painter/painter.js.map +1 -0
  290. package/lib/services/painter/resource.js +15 -7
  291. package/lib/services/painter/resource.js.map +1 -0
  292. package/lib/statusProvider.js +31 -10
  293. package/lib/statusProvider.js.map +1 -0
  294. package/lib/unuse/apiPrefixMiddleware.js +30 -22
  295. package/lib/unuse/apiPrefixMiddleware.js.map +1 -0
  296. package/lib/unuse/fn.js +14 -5
  297. package/lib/unuse/fn.js.map +1 -0
  298. package/lib/unuse/useBalance.js +23 -13
  299. package/lib/unuse/useBalance.js.map +1 -0
  300. package/lib/unuse/useFetures.js +41 -28
  301. package/lib/unuse/useFetures.js.map +1 -0
  302. package/lib/unuse/useRunOnce.js +61 -11
  303. package/lib/unuse/useRunOnce.js.map +1 -0
  304. package/lib/unuse/useSyncEnd.js +17 -10
  305. package/lib/unuse/useSyncEnd.js.map +1 -0
  306. package/lib/unuse/useTokenInfo.js +20 -12
  307. package/lib/unuse/useTokenInfo.js.map +1 -0
  308. package/lib/unuse/useUnsettlementPnL.js +21 -11
  309. package/lib/unuse/useUnsettlementPnL.js.map +1 -0
  310. package/lib/useAccount.js +32 -29
  311. package/lib/useAccount.js.map +1 -0
  312. package/lib/useAccountInstance.js +27 -20
  313. package/lib/useAccountInstance.js.map +1 -0
  314. package/lib/useBoolean.js +25 -10
  315. package/lib/useBoolean.js.map +1 -0
  316. package/lib/useConfig.js +15 -7
  317. package/lib/useConfig.js.map +1 -0
  318. package/lib/useEventEmitter.js +23 -13
  319. package/lib/useEventEmitter.js.map +1 -0
  320. package/lib/useLazyQuery.js +25 -23
  321. package/lib/useLazyQuery.js.map +1 -0
  322. package/lib/useLocalStorage.js +44 -28
  323. package/lib/useLocalStorage.js.map +1 -0
  324. package/lib/useMediaQuery.js +22 -14
  325. package/lib/useMediaQuery.js.map +1 -0
  326. package/lib/useMutation.js +47 -52
  327. package/lib/useMutation.js.map +1 -0
  328. package/lib/useObserve.js +22 -8
  329. package/lib/useObserve.js.map +1 -0
  330. package/lib/useParamsCheck.js +18 -14
  331. package/lib/useParamsCheck.js.map +1 -0
  332. package/lib/usePoster.js +80 -74
  333. package/lib/usePoster.js.map +1 -0
  334. package/lib/usePreloadData.js +21 -11
  335. package/lib/usePreloadData.js.map +1 -0
  336. package/lib/usePrivateInfiniteQuery.js +36 -22
  337. package/lib/usePrivateInfiniteQuery.js.map +1 -0
  338. package/lib/usePrivateQuery.js +35 -25
  339. package/lib/usePrivateQuery.js.map +1 -0
  340. package/lib/useQuery.js +24 -20
  341. package/lib/useQuery.js.map +1 -0
  342. package/lib/useSessionStorage.js +41 -26
  343. package/lib/useSessionStorage.js.map +1 -0
  344. package/lib/useWS.js +42 -32
  345. package/lib/useWS.js.map +1 -0
  346. package/lib/useWsStatus.js +34 -20
  347. package/lib/useWsStatus.js.map +1 -0
  348. package/lib/utils/createGetter.js +19 -14
  349. package/lib/utils/createGetter.js.map +1 -0
  350. package/lib/utils/createOrder.d.ts +1 -0
  351. package/lib/utils/createOrder.d.ts.map +1 -1
  352. package/lib/utils/createOrder.js +133 -82
  353. package/lib/utils/createOrder.js.map +1 -0
  354. package/lib/utils/dev.js +13 -9
  355. package/lib/utils/dev.js.map +1 -0
  356. package/lib/utils/fetcher.js +13 -5
  357. package/lib/utils/fetcher.js.map +1 -0
  358. package/lib/utils/json.js +12 -5
  359. package/lib/utils/json.js.map +1 -0
  360. package/lib/utils/orderEntryHelper.js +125 -82
  361. package/lib/utils/orderEntryHelper.js.map +1 -0
  362. package/lib/utils/parseHolding.js +19 -9
  363. package/lib/utils/parseHolding.js.map +1 -0
  364. package/lib/utils/swr.js +134 -111
  365. package/lib/utils/swr.js.map +1 -0
  366. package/lib/version.d.ts +1 -1
  367. package/lib/version.js +13 -4
  368. package/lib/version.js.map +1 -0
  369. package/lib/walletConnectorContext.js +23 -7
  370. package/lib/walletConnectorContext.js.map +1 -0
  371. package/package.json +17 -9
@@ -4,25 +4,21 @@ const needNumberOnlyFields = [
4
4
  "order_quantity",
5
5
  "order_price",
6
6
  "trigger_price",
7
- "total",
7
+ "total"
8
8
  ];
9
9
  /// only save number
10
- export const cleanStringStyle = (str) => {
10
+ export const cleanStringStyle = (str)=>{
11
11
  if (typeof str !== "string") {
12
12
  str = str.toString();
13
13
  }
14
14
  str = str.replace(/,/g, "");
15
15
  // clear extra character expect number and .
16
- str = str
17
- .replace(/[^\d.]/g, "")
18
- .replace(".", "$#$")
19
- .replace(/\./g, "")
20
- .replace("$#$", ".");
16
+ str = str.replace(/[^\d.]/g, "").replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
21
17
  return str;
22
18
  };
23
19
  export function baseInputHandle(inputs) {
24
20
  let [values, input, value, markPrice, config] = inputs;
25
- needNumberOnlyFields.forEach((field) => {
21
+ needNumberOnlyFields.forEach((field)=>{
26
22
  if (typeof values[field] !== "undefined") {
27
23
  // @ts-ignore
28
24
  values[field] = cleanStringStyle(values[field]);
@@ -34,14 +30,14 @@ export function baseInputHandle(inputs) {
34
30
  return [
35
31
  {
36
32
  ...values,
37
- [input]: value,
33
+ [input]: value
38
34
  },
39
35
  input,
40
36
  value,
41
37
  markPrice,
42
- config,
38
+ config
43
39
  ];
44
- // return [values, input, value, markPrice];
40
+ // return [values, input, value, markPrice];
45
41
  }
46
42
  export function orderTypeHandle(inputs) {
47
43
  const [values, input, value, markPrice, config] = inputs;
@@ -50,15 +46,20 @@ export function orderTypeHandle(inputs) {
50
46
  values.total = "";
51
47
  }
52
48
  }
53
- return [values, input, value, markPrice, config];
49
+ return [
50
+ values,
51
+ input,
52
+ value,
53
+ markPrice,
54
+ config
55
+ ];
54
56
  }
55
57
  /**
56
58
  * digital precision processing
57
59
  * @param inputs
58
60
  * @returns
59
- */
60
- export function orderEntityFormatHandle(baseTick, quoteTick) {
61
- return function (inputs) {
61
+ */ export function orderEntityFormatHandle(baseTick, quoteTick) {
62
+ return function(inputs) {
62
63
  const [values, input, value, markPrice, config] = inputs;
63
64
  // TODO: formatting only deals with the thousandths and so on
64
65
  // if (!!values.order_quantity) {
@@ -81,18 +82,32 @@ export function orderEntityFormatHandle(baseTick, quoteTick) {
81
82
  // values.total = new Decimal(values.total).toFixed(quoteTick);
82
83
  // }
83
84
  // }
84
- return [values, input, value, markPrice, config];
85
+ return [
86
+ values,
87
+ input,
88
+ value,
89
+ markPrice,
90
+ config
91
+ ];
85
92
  };
86
93
  }
87
94
  /**
88
95
  * price input handle
89
96
  * @param inputs
90
97
  * @returns
91
- */
92
- function priceInputHandle(inputs) {
98
+ */ function priceInputHandle(inputs) {
93
99
  const [values, input, value, markPrice, config] = inputs;
94
100
  if (value === "") {
95
- return [{ ...values, total: "" }, input, value, markPrice, config];
101
+ return [
102
+ {
103
+ ...values,
104
+ total: ""
105
+ },
106
+ input,
107
+ value,
108
+ markPrice,
109
+ config
110
+ ];
96
111
  }
97
112
  // when entering the price, total also needs to be linked
98
113
  const price = new Decimal(value);
@@ -102,21 +117,23 @@ function priceInputHandle(inputs) {
102
117
  }
103
118
  price.toDecimalPlaces(Math.min(priceDP, config.quoteDP));
104
119
  if (!values.order_quantity && !values.total) {
105
- return [values, input, value, markPrice, config];
120
+ return [
121
+ values,
122
+ input,
123
+ value,
124
+ markPrice,
125
+ config
126
+ ];
106
127
  }
107
128
  const newValue = {
108
- ...values,
129
+ ...values
109
130
  };
110
131
  if (values.order_quantity) {
111
132
  // total = price.mul(values.order_quantity);
112
133
  newValue.total = price.mul(values.order_quantity).todp(2).toString();
113
- }
114
- else if (values.total) {
134
+ } else if (values.total) {
115
135
  // total = new Decimal(values.total);
116
- newValue.order_quantity = new Decimal(values.total)
117
- .div(price)
118
- .todp(config.baseDP)
119
- .toString();
136
+ newValue.order_quantity = new Decimal(values.total).div(price).todp(config.baseDP).toString();
120
137
  }
121
138
  // const quantityDP = total.dp();
122
139
  return [
@@ -128,18 +145,26 @@ function priceInputHandle(inputs) {
128
145
  input,
129
146
  value,
130
147
  markPrice,
131
- config,
148
+ config
132
149
  ];
133
150
  }
134
151
  /**
135
152
  * quantity input handle
136
153
  * @param inputs
137
154
  * @returns
138
- */
139
- function quantityInputHandle(inputs) {
155
+ */ function quantityInputHandle(inputs) {
140
156
  const [values, input, value, markPrice, config] = inputs;
141
157
  if (value === "") {
142
- return [{ ...values, total: "" }, input, value, markPrice, config];
158
+ return [
159
+ {
160
+ ...values,
161
+ total: ""
162
+ },
163
+ input,
164
+ value,
165
+ markPrice,
166
+ config
167
+ ];
143
168
  }
144
169
  let quantity = new Decimal(value);
145
170
  const quantityDP = quantity.dp();
@@ -150,19 +175,16 @@ function quantityInputHandle(inputs) {
150
175
  }
151
176
  // if(values.order_type === OrderType.MARKET) {
152
177
  // }
153
- if (values.order_type === OrderType.MARKET ||
154
- values.order_type === OrderType.STOP_MARKET) {
178
+ if (values.order_type === OrderType.MARKET || values.order_type === OrderType.STOP_MARKET) {
155
179
  const price = markPrice;
156
180
  values.total = quantity.mul(price).todp(2).toString();
157
181
  }
158
- if (values.order_type === OrderType.LIMIT ||
159
- values.order_type === OrderType.STOP_LIMIT) {
182
+ if (values.order_type === OrderType.LIMIT || values.order_type === OrderType.STOP_LIMIT) {
160
183
  if (values.order_price) {
161
184
  const price = Number(values.order_price);
162
185
  const total = quantity.mul(price);
163
186
  values.total = total.todp(2).toString();
164
- }
165
- else {
187
+ } else {
166
188
  values.total = "";
167
189
  }
168
190
  }
@@ -170,29 +192,34 @@ function quantityInputHandle(inputs) {
170
192
  // total.todp(Math.min(config.quoteDP, totalDP));
171
193
  return [
172
194
  {
173
- ...values,
174
- // total: total.todp(2).toNumber(),
195
+ ...values
175
196
  },
176
197
  input,
177
198
  value,
178
199
  markPrice,
179
- config,
200
+ config
180
201
  ];
181
202
  }
182
203
  /**
183
204
  * total input handle
184
205
  * @param inputs
185
206
  * @returns
186
- */
187
- function totalInputHandle(inputs) {
207
+ */ function totalInputHandle(inputs) {
188
208
  const [values, input, value, markPrice, config] = inputs;
189
209
  if (value === "") {
190
- return [{ ...values, order_quantity: "" }, input, value, markPrice, config];
210
+ return [
211
+ {
212
+ ...values,
213
+ order_quantity: ""
214
+ },
215
+ input,
216
+ value,
217
+ markPrice,
218
+ config
219
+ ];
191
220
  }
192
221
  let price = markPrice;
193
- if ((values.order_type === OrderType.LIMIT ||
194
- values.order_type === OrderType.STOP_LIMIT) &&
195
- !!values.order_price) {
222
+ if ((values.order_type === OrderType.LIMIT || values.order_type === OrderType.STOP_LIMIT) && !!values.order_price) {
196
223
  price = Number(values.order_price);
197
224
  }
198
225
  let total = new Decimal(value);
@@ -205,38 +232,40 @@ function totalInputHandle(inputs) {
205
232
  return [
206
233
  {
207
234
  ...values,
208
- order_quantity: quantity
209
- .toDecimalPlaces(Math.min(config.baseDP, quantity.dp()))
210
- .toString(),
235
+ order_quantity: quantity.toDecimalPlaces(Math.min(config.baseDP, quantity.dp())).toString()
211
236
  },
212
237
  input,
213
238
  value,
214
239
  markPrice,
215
- config,
240
+ config
216
241
  ];
217
242
  }
218
243
  /**
219
244
  * other input handle
220
245
  * @param inputs
221
246
  * @returns
222
- */
223
- function otherInputHandle(inputs) {
247
+ */ function otherInputHandle(inputs) {
224
248
  return inputs;
225
249
  }
226
- export const getCalculateHandler = (fieldName) => {
227
- switch (fieldName) {
250
+ export const getCalculateHandler = (fieldName)=>{
251
+ switch(fieldName){
228
252
  case "order_type":
229
253
  return orderTypeHandle;
230
- case "order_quantity": {
231
- return quantityInputHandle;
232
- }
233
- case "order_price": {
234
- return priceInputHandle;
235
- }
236
- case "total": {
237
- return totalInputHandle;
238
- }
254
+ case "order_quantity":
255
+ {
256
+ return quantityInputHandle;
257
+ }
258
+ case "order_price":
259
+ {
260
+ return priceInputHandle;
261
+ }
262
+ case "total":
263
+ {
264
+ return totalInputHandle;
265
+ }
239
266
  default:
240
267
  return otherInputHandle;
241
268
  }
242
269
  };
270
+
271
+ //# sourceMappingURL=orderEntryHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/orderEntryHelper.ts"],"sourcesContent":["import { OrderEntity, OrderType } from \"@orderly.network/types\";\nimport { Decimal } from \"@orderly.network/utils\";\n\nexport type OrderEntityKey = keyof OrderEntity & string;\n\n// index 3: markPrice\ntype orderEntryInputs = [\n Partial<OrderEntity>,\n // to update field\n keyof OrderEntity,\n any,\n number,\n {\n baseDP: number;\n quoteDP: number;\n }\n];\n\ntype orderEntryInputHandle = (inputs: orderEntryInputs) => orderEntryInputs;\n\nconst needNumberOnlyFields: (keyof OrderEntity)[] = [\n \"order_quantity\",\n \"order_price\",\n \"trigger_price\",\n \"total\",\n];\n\n/// only save number\nexport const cleanStringStyle = (str: string | number): string => {\n if (typeof str !== \"string\") {\n str = str.toString();\n }\n str = str.replace(/,/g, \"\");\n // clear extra character expect number and .\n str = str\n .replace(/[^\\d.]/g, \"\")\n .replace(\".\", \"$#$\")\n .replace(/\\./g, \"\")\n .replace(\"$#$\", \".\");\n\n return str;\n};\n\nexport function baseInputHandle(inputs: orderEntryInputs): orderEntryInputs {\n let [values, input, value, markPrice, config] = inputs;\n\n needNumberOnlyFields.forEach((field) => {\n if (typeof values[field] !== \"undefined\") {\n // @ts-ignore\n values[field] = cleanStringStyle(values[field] as string);\n }\n });\n\n if (needNumberOnlyFields.includes(input)) {\n value = cleanStringStyle(value);\n }\n\n return [\n {\n ...values,\n [input]: value,\n },\n input,\n value,\n markPrice,\n config,\n ];\n\n // return [values, input, value, markPrice];\n}\n\nexport function orderTypeHandle(inputs: orderEntryInputs): orderEntryInputs {\n const [values, input, value, markPrice, config] = inputs;\n\n if (value === OrderType.LIMIT || value === OrderType.STOP_LIMIT) {\n if (values.order_price === \"\") {\n values.total = \"\";\n }\n }\n\n return [values, input, value, markPrice, config];\n}\n\n/**\n * digital precision processing\n * @param inputs\n * @returns\n */\nexport function orderEntityFormatHandle(baseTick: number, quoteTick: number) {\n return function (inputs: orderEntryInputs): orderEntryInputs {\n const [values, input, value, markPrice, config] = inputs;\n\n // TODO: formatting only deals with the thousandths and so on\n // if (!!values.order_quantity) {\n //\n // const d = new Decimal(values.order_quantity);\n // const dp = d.dp();\n // if (dp > quoteTick) {\n // values.order_quantity = d.toDecimalPlaces(baseTick).toNumber();\n // }\n // }\n\n // if (!!values.order_price && values.order_type === OrderType.LIMIT) {\n // const sd = new Decimal(values.order_price).sd(false);\n // if (sd > quoteTick) {\n // values.order_price = new Decimal(values.order_price).toFixed(quoteTick);\n // }\n // }\n\n // if (!!values.total) {\n // const sd = new Decimal(values.total).sd(false);\n // if (sd > quoteTick) {\n // values.total = new Decimal(values.total).toFixed(quoteTick);\n // }\n // }\n\n return [values, input, value, markPrice, config];\n };\n}\n\n/**\n * price input handle\n * @param inputs\n * @returns\n */\nfunction priceInputHandle(inputs: orderEntryInputs): orderEntryInputs {\n const [values, input, value, markPrice, config] = inputs;\n\n if (value === \"\") {\n return [{ ...values, total: \"\" }, input, value, markPrice, config];\n }\n\n // when entering the price, total also needs to be linked\n const price = new Decimal(value);\n const priceDP = price.dp();\n\n if (priceDP > config.quoteDP) {\n values.order_price = price.toDecimalPlaces(config.quoteDP).toString();\n }\n\n price.toDecimalPlaces(Math.min(priceDP, config.quoteDP));\n\n if (!values.order_quantity && !values.total) {\n return [values, input, value, markPrice, config];\n }\n\n const newValue = {\n ...values,\n };\n\n if (values.order_quantity) {\n // total = price.mul(values.order_quantity);\n newValue.total = price.mul(values.order_quantity).todp(2).toString();\n } else if (values.total) {\n // total = new Decimal(values.total);\n newValue.order_quantity = new Decimal(values.total)\n .div(price)\n .todp(config.baseDP)\n .toString();\n }\n\n // const quantityDP = total.dp();\n return [\n // {\n // ...values,\n // total: total.todp(2).toString(),\n // },\n newValue,\n input,\n value,\n markPrice,\n config,\n ];\n}\n\n/**\n * quantity input handle\n * @param inputs\n * @returns\n */\nfunction quantityInputHandle(inputs: orderEntryInputs): orderEntryInputs {\n const [values, input, value, markPrice, config] = inputs;\n\n if (value === \"\") {\n return [{ ...values, total: \"\" }, input, value, markPrice, config];\n }\n\n let quantity = new Decimal(value);\n const quantityDP = quantity.dp();\n\n // check the length for precision and recalculate\n if (quantityDP > config.baseDP) {\n quantity = quantity.toDecimalPlaces(config.baseDP);\n values.order_quantity = quantity.toNumber();\n }\n\n // if(values.order_type === OrderType.MARKET) {\n\n // }\n\n if (\n values.order_type === OrderType.MARKET ||\n values.order_type === OrderType.STOP_MARKET\n ) {\n const price = markPrice;\n values.total = quantity.mul(price).todp(2).toString();\n }\n\n if (\n values.order_type === OrderType.LIMIT ||\n values.order_type === OrderType.STOP_LIMIT\n ) {\n if (values.order_price) {\n const price = Number(values.order_price);\n const total = quantity.mul(price);\n values.total = total.todp(2).toString();\n } else {\n values.total = \"\";\n }\n }\n\n // const totalDP = total.dp();\n // total.todp(Math.min(config.quoteDP, totalDP));\n\n return [\n {\n ...values,\n // total: total.todp(2).toNumber(),\n },\n input,\n value,\n markPrice,\n config,\n ];\n}\n\n/**\n * total input handle\n * @param inputs\n * @returns\n */\nfunction totalInputHandle(inputs: orderEntryInputs): orderEntryInputs {\n const [values, input, value, markPrice, config] = inputs;\n if (value === \"\") {\n return [{ ...values, order_quantity: \"\" }, input, value, markPrice, config];\n }\n\n let price = markPrice;\n\n if (\n (values.order_type === OrderType.LIMIT ||\n values.order_type === OrderType.STOP_LIMIT) &&\n !!values.order_price\n ) {\n price = Number(values.order_price);\n }\n let total = new Decimal(value);\n const totalDP = total.dp();\n\n if (totalDP > config.quoteDP) {\n total = total.toDecimalPlaces(config.quoteDP);\n values.total = total.toString();\n }\n\n const quantity = total.div(price);\n\n return [\n {\n ...values,\n order_quantity: quantity\n .toDecimalPlaces(Math.min(config.baseDP, quantity.dp()))\n .toString(),\n },\n input,\n value,\n markPrice,\n config,\n ];\n}\n\n/**\n * other input handle\n * @param inputs\n * @returns\n */\nfunction otherInputHandle(inputs: orderEntryInputs): orderEntryInputs {\n return inputs;\n}\n\nexport const getCalculateHandler = (\n fieldName: string\n): orderEntryInputHandle => {\n switch (fieldName) {\n case \"order_type\":\n return orderTypeHandle;\n case \"order_quantity\": {\n return quantityInputHandle;\n }\n case \"order_price\": {\n return priceInputHandle;\n }\n case \"total\": {\n return totalInputHandle;\n }\n default:\n return otherInputHandle;\n }\n};\n"],"names":["OrderType","Decimal","needNumberOnlyFields","cleanStringStyle","str","toString","replace","baseInputHandle","inputs","values","input","value","markPrice","config","forEach","field","includes","orderTypeHandle","LIMIT","STOP_LIMIT","order_price","total","orderEntityFormatHandle","baseTick","quoteTick","priceInputHandle","price","priceDP","dp","quoteDP","toDecimalPlaces","Math","min","order_quantity","newValue","mul","todp","div","baseDP","quantityInputHandle","quantity","quantityDP","toNumber","order_type","MARKET","STOP_MARKET","Number","totalInputHandle","totalDP","otherInputHandle","getCalculateHandler","fieldName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAAsBA,SAAS,QAAQ,yBAAyB;AAChE,SAASC,OAAO,QAAQ,yBAAyB;AAmBjD,MAAMC,uBAA8C;IAClD;IACA;IACA;IACA;CACD;AAED,oBAAoB;AACpB,OAAO,MAAMC,mBAAmB,CAACC;IAC/B,IAAI,OAAOA,QAAQ,UAAU;QAC3BA,MAAMA,IAAIC,QAAQ;IACpB;IACAD,MAAMA,IAAIE,OAAO,CAAC,MAAM;IACxB,4CAA4C;IAC5CF,MAAMA,IACHE,OAAO,CAAC,WAAW,IACnBA,OAAO,CAAC,KAAK,OACbA,OAAO,CAAC,OAAO,IACfA,OAAO,CAAC,OAAO;IAElB,OAAOF;AACT,EAAE;AAEF,OAAO,SAASG,gBAAgBC,MAAwB;IACtD,IAAI,CAACC,QAAQC,OAAOC,OAAOC,WAAWC,OAAO,GAAGL;IAEhDN,qBAAqBY,OAAO,CAAC,CAACC;QAC5B,IAAI,OAAON,MAAM,CAACM,MAAM,KAAK,aAAa;YACxC,aAAa;YACbN,MAAM,CAACM,MAAM,GAAGZ,iBAAiBM,MAAM,CAACM,MAAM;QAChD;IACF;IAEA,IAAIb,qBAAqBc,QAAQ,CAACN,QAAQ;QACxCC,QAAQR,iBAAiBQ;IAC3B;IAEA,OAAO;QACL;YACE,GAAGF,MAAM;YACT,CAACC,MAAM,EAAEC;QACX;QACAD;QACAC;QACAC;QACAC;KACD;AAED,8CAA8C;AAChD;AAEA,OAAO,SAASI,gBAAgBT,MAAwB;IACtD,MAAM,CAACC,QAAQC,OAAOC,OAAOC,WAAWC,OAAO,GAAGL;IAElD,IAAIG,UAAUX,UAAUkB,KAAK,IAAIP,UAAUX,UAAUmB,UAAU,EAAE;QAC/D,IAAIV,OAAOW,WAAW,KAAK,IAAI;YAC7BX,OAAOY,KAAK,GAAG;QACjB;IACF;IAEA,OAAO;QAACZ;QAAQC;QAAOC;QAAOC;QAAWC;KAAO;AAClD;AAEA;;;;CAIC,GACD,OAAO,SAASS,wBAAwBC,QAAgB,EAAEC,SAAiB;IACzE,OAAO,SAAUhB,MAAwB;QACvC,MAAM,CAACC,QAAQC,OAAOC,OAAOC,WAAWC,OAAO,GAAGL;QAElD,6DAA6D;QAC7D,iCAAiC;QACjC,EAAE;QACF,kDAAkD;QAClD,uBAAuB;QACvB,0BAA0B;QAC1B,sEAAsE;QACtE,MAAM;QACN,IAAI;QAEJ,uEAAuE;QACvE,0DAA0D;QAC1D,0BAA0B;QAC1B,+EAA+E;QAC/E,MAAM;QACN,IAAI;QAEJ,wBAAwB;QACxB,oDAAoD;QACpD,0BAA0B;QAC1B,mEAAmE;QACnE,MAAM;QACN,IAAI;QAEJ,OAAO;YAACC;YAAQC;YAAOC;YAAOC;YAAWC;SAAO;IAClD;AACF;AAEA;;;;CAIC,GACD,SAASY,iBAAiBjB,MAAwB;IAChD,MAAM,CAACC,QAAQC,OAAOC,OAAOC,WAAWC,OAAO,GAAGL;IAElD,IAAIG,UAAU,IAAI;QAChB,OAAO;YAAC;gBAAE,GAAGF,MAAM;gBAAEY,OAAO;YAAG;YAAGX;YAAOC;YAAOC;YAAWC;SAAO;IACpE;IAEA,yDAAyD;IACzD,MAAMa,QAAQ,IAAIzB,QAAQU;IAC1B,MAAMgB,UAAUD,MAAME,EAAE;IAExB,IAAID,UAAUd,OAAOgB,OAAO,EAAE;QAC5BpB,OAAOW,WAAW,GAAGM,MAAMI,eAAe,CAACjB,OAAOgB,OAAO,EAAExB,QAAQ;IACrE;IAEAqB,MAAMI,eAAe,CAACC,KAAKC,GAAG,CAACL,SAASd,OAAOgB,OAAO;IAEtD,IAAI,CAACpB,OAAOwB,cAAc,IAAI,CAACxB,OAAOY,KAAK,EAAE;QAC3C,OAAO;YAACZ;YAAQC;YAAOC;YAAOC;YAAWC;SAAO;IAClD;IAEA,MAAMqB,WAAW;QACf,GAAGzB,MAAM;IACX;IAEA,IAAIA,OAAOwB,cAAc,EAAE;QACzB,4CAA4C;QAC5CC,SAASb,KAAK,GAAGK,MAAMS,GAAG,CAAC1B,OAAOwB,cAAc,EAAEG,IAAI,CAAC,GAAG/B,QAAQ;IACpE,OAAO,IAAII,OAAOY,KAAK,EAAE;QACvB,qCAAqC;QACrCa,SAASD,cAAc,GAAG,IAAIhC,QAAQQ,OAAOY,KAAK,EAC/CgB,GAAG,CAACX,OACJU,IAAI,CAACvB,OAAOyB,MAAM,EAClBjC,QAAQ;IACb;IAEA,iCAAiC;IACjC,OAAO;QACL,IAAI;QACJ,eAAe;QACf,qCAAqC;QACrC,KAAK;QACL6B;QACAxB;QACAC;QACAC;QACAC;KACD;AACH;AAEA;;;;CAIC,GACD,SAAS0B,oBAAoB/B,MAAwB;IACnD,MAAM,CAACC,QAAQC,OAAOC,OAAOC,WAAWC,OAAO,GAAGL;IAElD,IAAIG,UAAU,IAAI;QAChB,OAAO;YAAC;gBAAE,GAAGF,MAAM;gBAAEY,OAAO;YAAG;YAAGX;YAAOC;YAAOC;YAAWC;SAAO;IACpE;IAEA,IAAI2B,WAAW,IAAIvC,QAAQU;IAC3B,MAAM8B,aAAaD,SAASZ,EAAE;IAE9B,iDAAiD;IACjD,IAAIa,aAAa5B,OAAOyB,MAAM,EAAE;QAC9BE,WAAWA,SAASV,eAAe,CAACjB,OAAOyB,MAAM;QACjD7B,OAAOwB,cAAc,GAAGO,SAASE,QAAQ;IAC3C;IAEA,+CAA+C;IAE/C,IAAI;IAEJ,IACEjC,OAAOkC,UAAU,KAAK3C,UAAU4C,MAAM,IACtCnC,OAAOkC,UAAU,KAAK3C,UAAU6C,WAAW,EAC3C;QACA,MAAMnB,QAAQd;QACdH,OAAOY,KAAK,GAAGmB,SAASL,GAAG,CAACT,OAAOU,IAAI,CAAC,GAAG/B,QAAQ;IACrD;IAEA,IACEI,OAAOkC,UAAU,KAAK3C,UAAUkB,KAAK,IACrCT,OAAOkC,UAAU,KAAK3C,UAAUmB,UAAU,EAC1C;QACA,IAAIV,OAAOW,WAAW,EAAE;YACtB,MAAMM,QAAQoB,OAAOrC,OAAOW,WAAW;YACvC,MAAMC,QAAQmB,SAASL,GAAG,CAACT;YAC3BjB,OAAOY,KAAK,GAAGA,MAAMe,IAAI,CAAC,GAAG/B,QAAQ;QACvC,OAAO;YACLI,OAAOY,KAAK,GAAG;QACjB;IACF;IAEA,8BAA8B;IAC9B,iDAAiD;IAEjD,OAAO;QACL;YACE,GAAGZ,MAAM;QAEX;QACAC;QACAC;QACAC;QACAC;KACD;AACH;AAEA;;;;CAIC,GACD,SAASkC,iBAAiBvC,MAAwB;IAChD,MAAM,CAACC,QAAQC,OAAOC,OAAOC,WAAWC,OAAO,GAAGL;IAClD,IAAIG,UAAU,IAAI;QAChB,OAAO;YAAC;gBAAE,GAAGF,MAAM;gBAAEwB,gBAAgB;YAAG;YAAGvB;YAAOC;YAAOC;YAAWC;SAAO;IAC7E;IAEA,IAAIa,QAAQd;IAEZ,IACE,AAACH,CAAAA,OAAOkC,UAAU,KAAK3C,UAAUkB,KAAK,IACpCT,OAAOkC,UAAU,KAAK3C,UAAUmB,UAAU,AAAD,KAC3C,CAAC,CAACV,OAAOW,WAAW,EACpB;QACAM,QAAQoB,OAAOrC,OAAOW,WAAW;IACnC;IACA,IAAIC,QAAQ,IAAIpB,QAAQU;IACxB,MAAMqC,UAAU3B,MAAMO,EAAE;IAExB,IAAIoB,UAAUnC,OAAOgB,OAAO,EAAE;QAC5BR,QAAQA,MAAMS,eAAe,CAACjB,OAAOgB,OAAO;QAC5CpB,OAAOY,KAAK,GAAGA,MAAMhB,QAAQ;IAC/B;IAEA,MAAMmC,WAAWnB,MAAMgB,GAAG,CAACX;IAE3B,OAAO;QACL;YACE,GAAGjB,MAAM;YACTwB,gBAAgBO,SACbV,eAAe,CAACC,KAAKC,GAAG,CAACnB,OAAOyB,MAAM,EAAEE,SAASZ,EAAE,KACnDvB,QAAQ;QACb;QACAK;QACAC;QACAC;QACAC;KACD;AACH;AAEA;;;;CAIC,GACD,SAASoC,iBAAiBzC,MAAwB;IAChD,OAAOA;AACT;AAEA,OAAO,MAAM0C,sBAAsB,CACjCC;IAEA,OAAQA;QACN,KAAK;YACH,OAAOlC;QACT,KAAK;YAAkB;gBACrB,OAAOsB;YACT;QACA,KAAK;YAAe;gBAClB,OAAOd;YACT;QACA,KAAK;YAAS;gBACZ,OAAOsB;YACT;QACA;YACE,OAAOE;IACX;AACF,EAAE"}
@@ -1,21 +1,25 @@
1
- export const parseHolding = (holding, markPrices) => {
1
+ export const parseHolding = (holding, markPrices)=>{
2
2
  // if (!holding || !markPrices) {
3
3
  // return [zero, zero];
4
4
  // }
5
5
  const nonUSDC = [];
6
6
  let USDC_holding = 0;
7
- holding.forEach((item) => {
7
+ holding.forEach((item)=>{
8
8
  if (item.token === "USDC") {
9
9
  USDC_holding = item.holding;
10
- }
11
- else {
10
+ } else {
12
11
  nonUSDC.push({
13
12
  holding: item.holding,
14
13
  markPrice: markPrices[item.token] ?? 0,
15
14
  // markPrice: 0,
16
- discount: 0,
15
+ discount: 0
17
16
  });
18
17
  }
19
18
  });
20
- return [USDC_holding, nonUSDC];
19
+ return [
20
+ USDC_holding,
21
+ nonUSDC
22
+ ];
21
23
  };
24
+
25
+ //# sourceMappingURL=parseHolding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/parseHolding.ts"],"sourcesContent":["import { API } from \"@orderly.network/types\";\n\ntype NonUSDCHolding = {\n holding: number;\n markPrice: number;\n // margin replacement rate, default 0\n discount: number;\n};\n\nexport const parseHolding = (\n holding: API.Holding[],\n markPrices: Record<string, number>\n): [number, NonUSDCHolding[]] => {\n // if (!holding || !markPrices) {\n // return [zero, zero];\n // }\n const nonUSDC: NonUSDCHolding[] = [];\n\n let USDC_holding = 0;\n\n holding.forEach((item) => {\n if (item.token === \"USDC\") {\n USDC_holding = item.holding;\n } else {\n nonUSDC.push({\n holding: item.holding,\n markPrice: markPrices[item.token] ?? 0,\n // markPrice: 0,\n discount: 0,\n });\n }\n });\n\n return [USDC_holding, nonUSDC];\n};\n"],"names":["parseHolding","holding","markPrices","nonUSDC","USDC_holding","forEach","item","token","push","markPrice","discount"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":"AASA,OAAO,MAAMA,eAAe,CAC1BC,SACAC;IAEA,iCAAiC;IACjC,2BAA2B;IAC3B,MAAM;IACN,MAAMC,UAA4B,EAAE;IAEpC,IAAIC,eAAe;IAEnBH,QAAQI,OAAO,CAAC,CAACC;QACf,IAAIA,KAAKC,KAAK,KAAK,QAAQ;YACzBH,eAAeE,KAAKL,OAAO;QAC7B,OAAO;YACLE,QAAQK,IAAI,CAAC;gBACXP,SAASK,KAAKL,OAAO;gBACrBQ,WAAWP,UAAU,CAACI,KAAKC,KAAK,CAAC,IAAI;gBACrC,gBAAgB;gBAChBG,UAAU;YACZ;QACF;IACF;IAEA,OAAO;QAACN;QAAcD;KAAQ;AAChC,EAAE"}
package/esm/utils/swr.js CHANGED
@@ -1,27 +1,35 @@
1
1
  import { camelCaseToUnderscoreCase } from "@orderly.network/utils";
2
2
  import { lensIndex, over } from "ramda";
3
- export const generateKeyFun = (args) => (pageIndex, previousPageData) => {
4
- // reached the end
5
- if (previousPageData && !previousPageData.rows?.length)
6
- return null;
7
- const { status, symbol, side, size = 100 } = args;
8
- const search = new URLSearchParams([
9
- ["size", size.toString()],
10
- ["page", `${pageIndex + 1}`],
11
- ["source_type", "ALL"],
12
- ]);
13
- if (status) {
14
- search.set(`status`, status);
15
- }
16
- if (symbol) {
17
- search.set(`symbol`, symbol);
18
- }
19
- if (side) {
20
- search.set(`side`, side);
21
- }
22
- return `/v1/orders?${search.toString()}`;
23
- };
24
- export const updateOrdersHandler = (key, updatedOrder, orders) => {
3
+ export const generateKeyFun = (args)=>(pageIndex, previousPageData)=>{
4
+ // reached the end
5
+ if (previousPageData && !previousPageData.rows?.length) return null;
6
+ const { status, symbol, side, size = 100 } = args;
7
+ const search = new URLSearchParams([
8
+ [
9
+ "size",
10
+ size.toString()
11
+ ],
12
+ [
13
+ "page",
14
+ `${pageIndex + 1}`
15
+ ],
16
+ [
17
+ "source_type",
18
+ "ALL"
19
+ ]
20
+ ]);
21
+ if (status) {
22
+ search.set(`status`, status);
23
+ }
24
+ if (symbol) {
25
+ search.set(`symbol`, symbol);
26
+ }
27
+ if (side) {
28
+ search.set(`side`, side);
29
+ }
30
+ return `/v1/orders?${search.toString()}`;
31
+ };
32
+ export const updateOrdersHandler = (key, updatedOrder, orders)=>{
25
33
  if (!orders) {
26
34
  return;
27
35
  }
@@ -31,9 +39,7 @@ export const updateOrdersHandler = (key, updatedOrder, orders) => {
31
39
  let formattedOrder = {
32
40
  ...underscoreOrder,
33
41
  updated_time: updatedOrder.timestamp,
34
- type: typeof underscoreOrder.type === 'string' ? updatedOrder.type.replace("_ORDER", "") : updatedOrder.type,
35
- //@ts-ignore
36
- // visible_quantity: updatedOrder.visibleQuantity || updatedOrder.visible,
42
+ type: typeof underscoreOrder.type === 'string' ? updatedOrder.type.replace("_ORDER", "") : updatedOrder.type
37
43
  };
38
44
  if (typeof formattedOrder.visible_quantity === "undefined") {
39
45
  // check visible field;
@@ -54,125 +60,124 @@ export const updateOrdersHandler = (key, updatedOrder, orders) => {
54
60
  // @ts-ignore
55
61
  formattedOrder = newObj;
56
62
  }
57
- }
58
- else {
59
- // formattedOrder.created_time = updatedOrder.timestamp;
63
+ } else {
64
+ // formattedOrder.created_time = updatedOrder.timestamp;
60
65
  }
61
66
  // const index = lensIndex(0);
62
- const orderId = updatedOrder.orderId ||
63
- updatedOrder.algoOrderId;
67
+ const orderId = updatedOrder.orderId || updatedOrder.algoOrderId;
64
68
  const isExisting = orderIsExisting(orders, orderId);
65
- const status = updatedOrder.status ||
66
- updatedOrder.rootAlgoStatus;
67
- switch (status) {
68
- case "NEW": {
69
- // chceck if the order is already in the list
70
- if (isExisting ||
71
- key.startsWith("orders:CANCELLED") ||
72
- key.startsWith("orders:FILLED") ||
73
- key.startsWith("orders:REJECTED")) {
74
- return orders;
75
- }
76
- return insertOrders(orders, formattedOrder);
77
- }
78
- case "CANCELLED": {
79
- if (key.startsWith("orders:FILLED") ||
80
- key.startsWith("orders:REJECTED")) {
81
- return orders;
82
- }
83
- if (key.startsWith("orders:NEW") || key.startsWith("orders:INCOMPLETE")) {
84
- return removeOrderIfExisting(orders, orderId);
85
- }
86
- if (key.startsWith("orders:CANCELLED")) {
69
+ const status = updatedOrder.status || updatedOrder.rootAlgoStatus;
70
+ switch(status){
71
+ case "NEW":
72
+ {
73
+ // chceck if the order is already in the list
74
+ if (isExisting || key.startsWith("orders:CANCELLED") || key.startsWith("orders:FILLED") || key.startsWith("orders:REJECTED")) {
75
+ return orders;
76
+ }
87
77
  return insertOrders(orders, formattedOrder);
88
78
  }
89
- return updateOrders(orders, formattedOrder);
90
- }
79
+ case "CANCELLED":
80
+ {
81
+ if (key.startsWith("orders:FILLED") || key.startsWith("orders:REJECTED")) {
82
+ return orders;
83
+ }
84
+ if (key.startsWith("orders:NEW") || key.startsWith("orders:INCOMPLETE")) {
85
+ return removeOrderIfExisting(orders, orderId);
86
+ }
87
+ if (key.startsWith("orders:CANCELLED")) {
88
+ return insertOrders(orders, formattedOrder);
89
+ }
90
+ return updateOrders(orders, formattedOrder);
91
+ }
91
92
  case "REPLACED":
92
93
  return updateOrders(orders, formattedOrder);
93
- case "FILLED": {
94
- if (isExisting) {
95
- // for new list, remove the order if it exists
96
- if (key.startsWith("orders:INCOMPLETE") ||
97
- key.startsWith("orders:NEW")) {
98
- // if fullfilled, remove from the list
99
- if (updatedOrder.totalExecutedQuantity === updatedOrder.quantity) {
100
- return removeOrderIfExisting(orders, orderId);
94
+ case "FILLED":
95
+ {
96
+ if (isExisting) {
97
+ // for new list, remove the order if it exists
98
+ if (key.startsWith("orders:INCOMPLETE") || key.startsWith("orders:NEW")) {
99
+ // if fullfilled, remove from the list
100
+ if (updatedOrder.totalExecutedQuantity === updatedOrder.quantity) {
101
+ return removeOrderIfExisting(orders, orderId);
102
+ }
103
+ // update
104
+ return updateOrders(orders, formattedOrder);
101
105
  }
102
- // update
103
- return updateOrders(orders, formattedOrder);
104
- }
105
- }
106
- else {
107
- // for filled list, insert the order if it doesn't exist
108
- if (key.startsWith("orders:CANCELLED") ||
109
- key.startsWith("orders:INCOMPLETE") ||
110
- key.startsWith("orders:NEW")) {
111
- return orders;
106
+ } else {
107
+ // for filled list, insert the order if it doesn't exist
108
+ if (key.startsWith("orders:CANCELLED") || key.startsWith("orders:INCOMPLETE") || key.startsWith("orders:NEW")) {
109
+ return orders;
110
+ }
111
+ // if filled/history list:
112
+ return insertOrders(orders, formattedOrder);
112
113
  }
113
- // if filled/history list:
114
- return insertOrders(orders, formattedOrder);
115
114
  }
116
- }
117
115
  default:
118
116
  return orders;
119
117
  }
120
118
  };
121
119
  function updateOrders(orders, formattedOrder) {
122
- return orders.map((item) => {
120
+ return orders.map((item)=>{
123
121
  return {
124
122
  // ...item,
125
123
  meta: item.meta,
126
- rows: item.rows.map((order) => {
124
+ rows: item.rows.map((order)=>{
127
125
  const isAlgoOrder = "algo_order_id" in order;
128
- if (isAlgoOrder &&
129
- formattedOrder?.algo_order_id === order?.algo_order_id) {
130
- return { ...order, ...formattedOrder };
126
+ if (isAlgoOrder && formattedOrder?.algo_order_id === order?.algo_order_id) {
127
+ return {
128
+ ...order,
129
+ ...formattedOrder
130
+ };
131
131
  }
132
132
  if (!isAlgoOrder && formattedOrder?.order_id === order?.order_id) {
133
- return { ...order, ...formattedOrder };
133
+ return {
134
+ ...order,
135
+ ...formattedOrder
136
+ };
134
137
  }
135
138
  return order;
136
- }),
139
+ })
137
140
  };
138
141
  });
139
142
  }
140
143
  function insertOrders(orders, formattedOrder) {
141
144
  const index = lensIndex(0);
142
- return over(index, (item) => ({
143
- meta: {
144
- ...item.meta,
145
- total: item.meta.total + 1,
146
- },
147
- rows: [formattedOrder, ...item.rows],
148
- }), orders);
145
+ return over(index, (item)=>({
146
+ meta: {
147
+ ...item.meta,
148
+ total: item.meta.total + 1
149
+ },
150
+ rows: [
151
+ formattedOrder,
152
+ ...item.rows
153
+ ]
154
+ }), orders);
149
155
  }
150
156
  function removeOrderIfExisting(orders, orderId) {
151
157
  const isExisting = orderIsExisting(orders, orderId);
152
- if (!isExisting)
153
- return orders;
154
- return orders.map((item) => {
158
+ if (!isExisting) return orders;
159
+ return orders.map((item)=>{
155
160
  return {
156
- meta: { ...item.meta, total: item.meta.total - 1 },
157
- rows: item.rows.filter((order) => {
161
+ meta: {
162
+ ...item.meta,
163
+ total: item.meta.total - 1
164
+ },
165
+ rows: item.rows.filter((order)=>{
158
166
  const isAlgoOrder = "algo_order_id" in order;
159
- return isAlgoOrder
160
- ? order.algo_order_id !== orderId
161
- : order.order_id !== orderId;
162
- }),
167
+ return isAlgoOrder ? order.algo_order_id !== orderId : order.order_id !== orderId;
168
+ })
163
169
  };
164
170
  });
165
171
  }
166
172
  function findOrderIndex(orders, orderId) {
167
173
  let index = 0;
168
174
  let index2;
169
- for (let idx = 0; idx < orders.length; idx++) {
175
+ for(let idx = 0; idx < orders.length; idx++){
170
176
  index = idx;
171
177
  const item = orders[idx];
172
- for (let idx2 = 0; idx2 < item.rows.length; idx2++) {
178
+ for(let idx2 = 0; idx2 < item.rows.length; idx2++){
173
179
  const element = item.rows[idx2];
174
- if (element.algo_order_id === orderId ||
175
- element.order_id === orderId) {
180
+ if (element.algo_order_id === orderId || element.order_id === orderId) {
176
181
  index2 = idx2;
177
182
  break;
178
183
  }
@@ -181,15 +186,20 @@ function findOrderIndex(orders, orderId) {
181
186
  if (typeof index2 === "undefined") {
182
187
  return;
183
188
  }
184
- return [index, index2];
189
+ return [
190
+ index,
191
+ index2
192
+ ];
185
193
  }
186
194
  function orderIsExisting(orders, orderId) {
187
195
  const index = findOrderIndex(orders, orderId);
188
196
  return Array.isArray(index);
189
197
  }
190
198
  function object2underscore(obj) {
191
- return Object.keys(obj).reduce((acc, key) => {
199
+ return Object.keys(obj).reduce((acc, key)=>{
192
200
  acc[camelCaseToUnderscoreCase(key)] = obj[key];
193
201
  return acc;
194
202
  }, {});
195
203
  }
204
+
205
+ //# sourceMappingURL=swr.js.map