@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
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/useMutation.ts"],"sourcesContent":["import useSWRMutation, {\n TriggerWithOptionsArgs,\n type SWRMutationConfiguration,\n TriggerWithoutArgs,\n} from \"swr/mutation\";\nimport { mutate } from \"@orderly.network/net\";\nimport {\n type MessageFactor,\n type SignedMessagePayload,\n} from \"@orderly.network/core\";\nimport { useAccountInstance } from \"./useAccountInstance\";\nimport { useConfig } from \"./useConfig\";\n\ntype HTTP_METHOD = \"POST\" | \"PUT\" | \"DELETE\";\n\nconst fetcher = (\n url: string,\n options: {\n arg: {\n data?: any;\n params?: any;\n method: HTTP_METHOD;\n signature: SignedMessagePayload;\n };\n }\n) => {\n const init: RequestInit = {\n method: options.arg.method,\n headers: {\n ...options.arg.signature,\n },\n };\n\n if (options.arg.data) {\n init.body = JSON.stringify(options.arg.data);\n }\n\n if (\n typeof options.arg.params === \"object\" &&\n Object.keys(options.arg.params).length\n ) {\n let search = new URLSearchParams(options.arg.params);\n url = `${url}?${search.toString()}`;\n }\n\n return mutate(url, init);\n};\n\n/**\n * This hook is used to execute API requests for data mutation, such as POST, DELETE, PUT, etc.\n */\nexport const useMutation = <T, E>(\n /**\n * The URL to send the request to. If the URL does not start with \"http\",\n * it will be prefixed with the API base URL.\n */\n url: string,\n /**\n * The HTTP method to use for the request. Defaults to \"POST\".\n */\n method: HTTP_METHOD = \"POST\",\n /**\n * The configuration object for the mutation.\n * @see [useSWRMutation](https://swr.vercel.app/docs/mutation#api)\n *\n * @link https://swr.vercel.app/docs/mutation#api\n */\n options?: SWRMutationConfiguration<T, E>\n) => {\n const apiBaseUrl = useConfig(\"apiBaseUrl\");\n\n let fullUrl = url;\n if (!url.startsWith(\"http\")) {\n fullUrl = `${apiBaseUrl}${url}`;\n }\n\n const account = useAccountInstance();\n const signer = account.signer;\n const { trigger, data, error, reset, isMutating } = useSWRMutation(\n fullUrl,\n // method === \"POST\" ? fetcher : deleteFetcher,\n fetcher,\n options\n );\n\n const mutation = async (\n /**\n * The data to send with the request.\n */\n data: Record<string, any> | null,\n /**\n * The query parameters to send with the request.\n */\n params?: Record<string, any>,\n options?: SWRMutationConfiguration<T, E>\n ): Promise<any> => {\n let newUrl = url;\n if (typeof params === \"object\" && Object.keys(params).length) {\n let search = new URLSearchParams(params);\n newUrl = `${url}?${search.toString()}`;\n }\n\n const payload: MessageFactor = {\n method,\n url: newUrl,\n data,\n };\n\n const signature = await signer.sign(payload);\n\n return trigger(\n {\n data,\n params,\n method,\n signature: {\n ...signature,\n \"orderly-account-id\": account.accountId,\n },\n },\n options\n );\n };\n\n return [\n mutation,\n {\n data,\n error,\n reset,\n isMutating,\n },\n ] as const;\n};\n"],"names":["useSWRMutation","mutate","useAccountInstance","useConfig","fetcher","url","options","init","method","arg","headers","signature","data","body","JSON","stringify","params","Object","keys","length","search","URLSearchParams","toString","useMutation","apiBaseUrl","fullUrl","startsWith","account","signer","trigger","error","reset","isMutating","mutation","newUrl","payload","sign","accountId"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,oBAIA,eAAe;AACtB,SAASC,MAAM,QAAQ,uBAAuB;AAK9C,SAASC,kBAAkB,QAAQ,uBAAuB;AAC1D,SAASC,SAAS,QAAQ,cAAc;AAIxC,MAAMC,UAAU,CACdC,KACAC;IASA,MAAMC,OAAoB;QACxBC,QAAQF,QAAQG,GAAG,CAACD,MAAM;QAC1BE,SAAS;YACP,GAAGJ,QAAQG,GAAG,CAACE,SAAS;QAC1B;IACF;IAEA,IAAIL,QAAQG,GAAG,CAACG,IAAI,EAAE;QACpBL,KAAKM,IAAI,GAAGC,KAAKC,SAAS,CAACT,QAAQG,GAAG,CAACG,IAAI;IAC7C;IAEA,IACE,OAAON,QAAQG,GAAG,CAACO,MAAM,KAAK,YAC9BC,OAAOC,IAAI,CAACZ,QAAQG,GAAG,CAACO,MAAM,EAAEG,MAAM,EACtC;QACA,IAAIC,SAAS,IAAIC,gBAAgBf,QAAQG,GAAG,CAACO,MAAM;QACnDX,MAAM,CAAC,EAAEA,IAAI,CAAC,EAAEe,OAAOE,QAAQ,GAAG,CAAC;IACrC;IAEA,OAAOrB,OAAOI,KAAKE;AACrB;AAEA;;CAEC,GACD,OAAO,MAAMgB,cAAc,CACzB;;;GAGC,GACDlB,KACA;;GAEC,GACDG,SAAsB,MAAM,EAC5B;;;;;GAKC,GACDF;IAEA,MAAMkB,aAAarB,UAAU;IAE7B,IAAIsB,UAAUpB;IACd,IAAI,CAACA,IAAIqB,UAAU,CAAC,SAAS;QAC3BD,UAAU,CAAC,EAAED,WAAW,EAAEnB,IAAI,CAAC;IACjC;IAEA,MAAMsB,UAAUzB;IAChB,MAAM0B,SAASD,QAAQC,MAAM;IAC7B,MAAM,EAAEC,OAAO,EAAEjB,IAAI,EAAEkB,KAAK,EAAEC,KAAK,EAAEC,UAAU,EAAE,GAAGhC,eAClDyB,SACA,+CAA+C;IAC/CrB,SACAE;IAGF,MAAM2B,WAAW,OACf;;KAEC,GACDrB,MACA;;KAEC,GACDI,QACAV;QAEA,IAAI4B,SAAS7B;QACb,IAAI,OAAOW,WAAW,YAAYC,OAAOC,IAAI,CAACF,QAAQG,MAAM,EAAE;YAC5D,IAAIC,SAAS,IAAIC,gBAAgBL;YACjCkB,SAAS,CAAC,EAAE7B,IAAI,CAAC,EAAEe,OAAOE,QAAQ,GAAG,CAAC;QACxC;QAEA,MAAMa,UAAyB;YAC7B3B;YACAH,KAAK6B;YACLtB;QACF;QAEA,MAAMD,YAAY,MAAMiB,OAAOQ,IAAI,CAACD;QAEpC,OAAON,QACL;YACEjB;YACAI;YACAR;YACAG,WAAW;gBACT,GAAGA,SAAS;gBACZ,sBAAsBgB,QAAQU,SAAS;YACzC;QACF,GACA/B;IAEJ;IAEA,OAAO;QACL2B;QACA;YACErB;YACAkB;YACAC;YACAC;QACF;KACD;AACH,EAAE"}
package/esm/useObserve.js CHANGED
@@ -1,8 +1,8 @@
1
1
  export var Subjects;
2
- (function (Subjects) {
2
+ (function(Subjects) {
3
3
  Subjects["Orders"] = "orders";
4
4
  Subjects["Positions"] = "positions";
5
5
  })(Subjects || (Subjects = {}));
6
- export const useObserve = (key, initialValue
7
- // @ts-ignore
8
- ) => { };
6
+ export const useObserve = (key, initialValue)=>{};
7
+
8
+ //# sourceMappingURL=useObserve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/useObserve.ts"],"sourcesContent":["import { useState } from \"react\";\n\nexport enum Subjects {\n Orders = \"orders\",\n Positions = \"positions\",\n}\n\nexport const useObserve = <T>(\n key: string,\n initialValue: T\n // @ts-ignore\n): [T, (value: T) => void] => {};\n"],"names":["Subjects","useObserve","key","initialValue"],"rangeMappings":";;;;;","mappings":";UAEYA;;;GAAAA,aAAAA;AAKZ,OAAO,MAAMC,aAAa,CACxBC,KACAC,gBAE6B,EAAE"}
@@ -1,14 +1,12 @@
1
1
  import { useEffect } from "react";
2
- export const useParamsCheck = (params) => {
3
- useEffect(() => {
2
+ export const useParamsCheck = (params)=>{
3
+ useEffect(()=>{
4
4
  if (!params.brokerId || params.brokerId === "orderly") {
5
- console.warn("WARNING:" +
6
- "\n" +
7
- "========================" +
8
- "\n" +
9
- "[OrderlyConfigProvider]: please provide your brokerId" +
10
- "\n" +
11
- "========================");
5
+ ;
12
6
  }
13
- }, [params.brokerId]);
7
+ }, [
8
+ params.brokerId
9
+ ]);
14
10
  };
11
+
12
+ //# sourceMappingURL=useParamsCheck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/useParamsCheck.ts"],"sourcesContent":["import { useEffect } from \"react\";\n\nexport const useParamsCheck = (params: { brokerId?: string }) => {\n useEffect(() => {\n if (!params.brokerId || params.brokerId === \"orderly\") {\n console.warn(\n \"WARNING:\" +\n \"\\n\" +\n \"========================\" +\n \"\\n\" +\n \"[OrderlyConfigProvider]: please provide your brokerId\" +\n \"\\n\" +\n \"========================\"\n );\n }\n }, [params.brokerId]);\n};\n"],"names":["useEffect","useParamsCheck","params","brokerId"],"rangeMappings":";;;;;;;;;","mappings":"AAAA,SAASA,SAAS,QAAQ,QAAQ;AAElC,OAAO,MAAMC,iBAAiB,CAACC;IAC7BF,UAAU;QACR,IAAI,CAACE,OAAOC,QAAQ,IAAID,OAAOC,QAAQ,KAAK,WAAW;;QAUvD;IACF,GAAG;QAACD,OAAOC,QAAQ;KAAC;AACtB,EAAE"}
package/esm/usePoster.js CHANGED
@@ -14,52 +14,59 @@ import { SDKError } from "@orderly.network/types";
14
14
  * profitColor: "rgb(0,181,159)",
15
15
  * ...
16
16
  * });
17
- */
18
- export const usePoster = (
19
- /**
20
- * The options to draw the poster
21
- */
22
- data, options) => {
17
+ */ export const usePoster = (/**
18
+ * The options to draw the poster
19
+ */ data, options)=>{
23
20
  const [error, setError] = useState(null);
24
- const [canCopy, setCanCopy] = useState(() => typeof navigator.clipboard !== "undefined");
21
+ const [canCopy, setCanCopy] = useState(()=>typeof navigator.clipboard !== "undefined");
25
22
  const painterRef = useRef(null);
26
23
  const [target, setTarget] = useState(null);
27
- useEffect(() => {
24
+ useEffect(()=>{
28
25
  // Create the painter instance
29
26
  if (target && !painterRef.current) {
30
27
  painterRef.current = new PosterPainter(target, {
31
28
  ratio: 1,
32
- ...options,
29
+ ...options
33
30
  });
34
- painterRef.current.draw(mergeDeepRight({ layout: DefaultLayoutConfig, fontFamily: "Manrope" }, data));
31
+ painterRef.current.draw(mergeDeepRight({
32
+ layout: DefaultLayoutConfig,
33
+ fontFamily: "Manrope"
34
+ }, data));
35
35
  }
36
- }, [target]);
37
- useEffect(() => {
36
+ }, [
37
+ target
38
+ ]);
39
+ useEffect(()=>{
38
40
  if (painterRef.current) {
39
- painterRef.current.draw(mergeDeepRight({ layout: DefaultLayoutConfig, fontFamily: "Manrope" }, data));
41
+ painterRef.current.draw(mergeDeepRight({
42
+ layout: DefaultLayoutConfig,
43
+ fontFamily: "Manrope"
44
+ }, data));
40
45
  }
41
- }, [data]);
42
- const toDataURL = (type, encoderOptions) => {
46
+ }, [
47
+ data
48
+ ]);
49
+ const toDataURL = (type, encoderOptions)=>{
43
50
  if (!target) {
44
51
  throw new SDKError("The ref must be a canvas element");
45
52
  }
46
53
  return target.toDataURL(type, encoderOptions);
47
54
  };
48
55
  /**
49
- * Converts the poster to a blob
50
- */
51
- const toBlob = useCallback((type, encoderOptions) => {
52
- return new Promise((resolve) => {
56
+ * Converts the poster to a blob
57
+ */ const toBlob = useCallback((type, encoderOptions)=>{
58
+ return new Promise((resolve)=>{
53
59
  if (!target) {
54
60
  resolve(null);
55
61
  return;
56
62
  }
57
63
  target.toBlob(resolve, type, encoderOptions);
58
64
  });
59
- }, [target]);
60
- const ref = (ref) => {
61
- if (!ref)
62
- return;
65
+ }, [
66
+ target
67
+ ]);
68
+ const ref = (ref)=>{
69
+ if (!ref) return;
63
70
  if (ref.tagName.toUpperCase() !== "CANVAS") {
64
71
  // throw new Error("The ref must be a canvas element");
65
72
  setError(new SDKError("The ref must be a canvas element"));
@@ -67,7 +74,7 @@ data, options) => {
67
74
  }
68
75
  setTarget(ref);
69
76
  };
70
- const download = useCallback((filename, type = "image/png", encoderOptions) => {
77
+ const download = useCallback((filename, type = "image/png", encoderOptions)=>{
71
78
  if (!target) {
72
79
  throw new SDKError("The ref must be a canvas element");
73
80
  }
@@ -77,47 +84,51 @@ data, options) => {
77
84
  link.href = img.src;
78
85
  link.download = filename;
79
86
  link.click();
80
- }, [target]);
81
- const copy = useCallback(() => {
87
+ }, [
88
+ target
89
+ ]);
90
+ const copy = useCallback(()=>{
82
91
  if (!target) {
83
92
  throw new SDKError("The ref must be a canvas element");
84
93
  }
85
94
  // copy image to clipboard
86
- return new Promise((resolve, reject) => {
95
+ return new Promise((resolve, reject)=>{
87
96
  if (!navigator.clipboard) {
88
97
  reject(new SDKError("Clipboard API is not supported"));
89
98
  return;
90
99
  }
91
- target.toBlob((blob) => {
100
+ target.toBlob((blob)=>{
92
101
  if (!blob) {
93
102
  reject(new SDKError("Failed to create blob"));
94
103
  return;
95
104
  }
96
- return navigator.clipboard
97
- .write([new ClipboardItem({ [blob.type]: blob })])
98
- .then(resolve, reject);
105
+ return navigator.clipboard.write([
106
+ new ClipboardItem({
107
+ [blob.type]: blob
108
+ })
109
+ ]).then(resolve, reject);
99
110
  });
100
111
  });
101
- }, [target]);
112
+ }, [
113
+ target
114
+ ]);
102
115
  return {
103
116
  error,
104
117
  ref,
105
118
  /**
106
- * Converts the poster to a data URL
107
- */
108
- toDataURL,
119
+ * Converts the poster to a data URL
120
+ */ toDataURL,
109
121
  /**
110
- * Converts the poster to a blob
111
- */
112
- toBlob,
122
+ * Converts the poster to a blob
123
+ */ toBlob,
113
124
  /**
114
- * Downloads the poster as an image
115
- */
116
- download,
125
+ * Downloads the poster as an image
126
+ */ download,
117
127
  /**
118
- * Browser if supports copy image to clipboard
119
- */
120
- canCopy,
121
- copy,
128
+ * Browser if supports copy image to clipboard
129
+ */ canCopy,
130
+ copy
122
131
  };
123
132
  };
133
+
134
+ //# sourceMappingURL=usePoster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/usePoster.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from \"react\";\nimport { mergeDeepRight } from \"ramda\";\nimport { PosterPainter } from \"./services/painter/painter\";\nimport { type DrawOptions } from \"./services/painter/basePaint\";\nimport { DefaultLayoutConfig } from \"./services/painter/layout.config\";\nimport { SDKError } from \"@orderly.network/types\";\n\n/**\n * Generates a poster image based on position information. You can set the size, background color, font color, font size, and content position of the poster.\n * @example\n * ```tsx\n * const { ref, toDataURL, toBlob, download, copy } = usePoster({\n * backgroundColor: \"#0b8c70\",\n * backgroundImg: \"/images/poster_bg.png\",\n * color: \"rgba(255, 255, 255, 0.98)\",\n * profitColor: \"rgb(0,181,159)\",\n * ...\n * });\n */\nexport const usePoster = (\n /**\n * The options to draw the poster\n */\n data: DrawOptions,\n options?: {\n /**\n * The ratio of the poster\n */\n ratio?: number;\n }\n) => {\n const [error, setError] = useState<Error | null>(null);\n const [canCopy, setCanCopy] = useState<boolean>(\n () => typeof navigator.clipboard !== \"undefined\"\n );\n\n const painterRef = useRef<PosterPainter | null>(null);\n\n const [target, setTarget] = useState<HTMLCanvasElement | null>(null);\n\n useEffect(() => {\n // Create the painter instance\n if (target && !painterRef.current) {\n painterRef.current = new PosterPainter(target, {\n ratio: 1,\n ...options,\n });\n painterRef.current.draw(\n mergeDeepRight<Partial<DrawOptions>, DrawOptions>(\n { layout: DefaultLayoutConfig, fontFamily: \"Manrope\" },\n data\n )\n );\n }\n }, [target]);\n\n useEffect(() => {\n if (painterRef.current) {\n painterRef.current.draw(\n mergeDeepRight<Partial<DrawOptions>, DrawOptions>(\n { layout: DefaultLayoutConfig, fontFamily: \"Manrope\" },\n data\n )\n );\n }\n }, [data]);\n\n const toDataURL = (type?: string, encoderOptions?: number) => {\n if (!target) {\n throw new SDKError(\"The ref must be a canvas element\");\n }\n return target.toDataURL(type, encoderOptions);\n };\n\n /**\n * Converts the poster to a blob\n */\n const toBlob = useCallback(\n (type?: string, encoderOptions?: number): Promise<Blob | null> => {\n return new Promise<Blob | null>((resolve) => {\n if (!target) {\n resolve(null);\n return;\n }\n target.toBlob(resolve, type, encoderOptions);\n });\n },\n [target]\n );\n\n const ref = (ref: HTMLCanvasElement | null) => {\n if (!ref) return;\n if (ref.tagName.toUpperCase() !== \"CANVAS\") {\n // throw new Error(\"The ref must be a canvas element\");\n setError(new SDKError(\"The ref must be a canvas element\"));\n return;\n }\n setTarget(ref);\n };\n\n const download = useCallback(\n (filename: string, type: string = \"image/png\", encoderOptions?: number) => {\n if (!target) {\n throw new SDKError(\"The ref must be a canvas element\");\n }\n const img = new Image();\n img.src = target.toDataURL(type, encoderOptions);\n const link = document.createElement(\"a\");\n link.href = img.src;\n link.download = filename;\n link.click();\n },\n [target]\n );\n\n const copy = useCallback(() => {\n if (!target) {\n throw new SDKError(\"The ref must be a canvas element\");\n }\n // copy image to clipboard\n return new Promise<void>((resolve, reject) => {\n if (!navigator.clipboard) {\n reject(new SDKError(\"Clipboard API is not supported\"));\n return;\n }\n target.toBlob((blob) => {\n if (!blob) {\n reject(new SDKError(\"Failed to create blob\"));\n return;\n }\n return navigator.clipboard\n .write([new ClipboardItem({ [blob.type]: blob })])\n .then(resolve, reject);\n });\n });\n }, [target]);\n\n return {\n error,\n ref,\n /**\n * Converts the poster to a data URL\n */\n toDataURL,\n /**\n * Converts the poster to a blob\n */\n toBlob,\n /**\n * Downloads the poster as an image\n */\n download,\n /**\n * Browser if supports copy image to clipboard\n */\n canCopy,\n copy,\n } as const;\n};\n"],"names":["useCallback","useEffect","useRef","useState","mergeDeepRight","PosterPainter","DefaultLayoutConfig","SDKError","usePoster","data","options","error","setError","canCopy","setCanCopy","navigator","clipboard","painterRef","target","setTarget","current","ratio","draw","layout","fontFamily","toDataURL","type","encoderOptions","toBlob","Promise","resolve","ref","tagName","toUpperCase","download","filename","img","Image","src","link","document","createElement","href","click","copy","reject","blob","write","ClipboardItem","then"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAQ;AACjE,SAASC,cAAc,QAAQ,QAAQ;AACvC,SAASC,aAAa,QAAQ,6BAA6B;AAE3D,SAASC,mBAAmB,QAAQ,mCAAmC;AACvE,SAASC,QAAQ,QAAQ,yBAAyB;AAElD;;;;;;;;;;;CAWC,GACD,OAAO,MAAMC,YAAY,CACvB;;GAEC,GACDC,MACAC;IAOA,MAAM,CAACC,OAAOC,SAAS,GAAGT,SAAuB;IACjD,MAAM,CAACU,SAASC,WAAW,GAAGX,SAC5B,IAAM,OAAOY,UAAUC,SAAS,KAAK;IAGvC,MAAMC,aAAaf,OAA6B;IAEhD,MAAM,CAACgB,QAAQC,UAAU,GAAGhB,SAAmC;IAE/DF,UAAU;QACR,8BAA8B;QAC9B,IAAIiB,UAAU,CAACD,WAAWG,OAAO,EAAE;YACjCH,WAAWG,OAAO,GAAG,IAAIf,cAAca,QAAQ;gBAC7CG,OAAO;gBACP,GAAGX,OAAO;YACZ;YACAO,WAAWG,OAAO,CAACE,IAAI,CACrBlB,eACE;gBAAEmB,QAAQjB;gBAAqBkB,YAAY;YAAU,GACrDf;QAGN;IACF,GAAG;QAACS;KAAO;IAEXjB,UAAU;QACR,IAAIgB,WAAWG,OAAO,EAAE;YACtBH,WAAWG,OAAO,CAACE,IAAI,CACrBlB,eACE;gBAAEmB,QAAQjB;gBAAqBkB,YAAY;YAAU,GACrDf;QAGN;IACF,GAAG;QAACA;KAAK;IAET,MAAMgB,YAAY,CAACC,MAAeC;QAChC,IAAI,CAACT,QAAQ;YACX,MAAM,IAAIX,SAAS;QACrB;QACA,OAAOW,OAAOO,SAAS,CAACC,MAAMC;IAChC;IAEA;;GAEC,GACD,MAAMC,SAAS5B,YACb,CAAC0B,MAAeC;QACd,OAAO,IAAIE,QAAqB,CAACC;YAC/B,IAAI,CAACZ,QAAQ;gBACXY,QAAQ;gBACR;YACF;YACAZ,OAAOU,MAAM,CAACE,SAASJ,MAAMC;QAC/B;IACF,GACA;QAACT;KAAO;IAGV,MAAMa,MAAM,CAACA;QACX,IAAI,CAACA,KAAK;QACV,IAAIA,IAAIC,OAAO,CAACC,WAAW,OAAO,UAAU;YAC1C,uDAAuD;YACvDrB,SAAS,IAAIL,SAAS;YACtB;QACF;QACAY,UAAUY;IACZ;IAEA,MAAMG,WAAWlC,YACf,CAACmC,UAAkBT,OAAe,WAAW,EAAEC;QAC7C,IAAI,CAACT,QAAQ;YACX,MAAM,IAAIX,SAAS;QACrB;QACA,MAAM6B,MAAM,IAAIC;QAChBD,IAAIE,GAAG,GAAGpB,OAAOO,SAAS,CAACC,MAAMC;QACjC,MAAMY,OAAOC,SAASC,aAAa,CAAC;QACpCF,KAAKG,IAAI,GAAGN,IAAIE,GAAG;QACnBC,KAAKL,QAAQ,GAAGC;QAChBI,KAAKI,KAAK;IACZ,GACA;QAACzB;KAAO;IAGV,MAAM0B,OAAO5C,YAAY;QACvB,IAAI,CAACkB,QAAQ;YACX,MAAM,IAAIX,SAAS;QACrB;QACA,0BAA0B;QAC1B,OAAO,IAAIsB,QAAc,CAACC,SAASe;YACjC,IAAI,CAAC9B,UAAUC,SAAS,EAAE;gBACxB6B,OAAO,IAAItC,SAAS;gBACpB;YACF;YACAW,OAAOU,MAAM,CAAC,CAACkB;gBACb,IAAI,CAACA,MAAM;oBACTD,OAAO,IAAItC,SAAS;oBACpB;gBACF;gBACA,OAAOQ,UAAUC,SAAS,CACvB+B,KAAK,CAAC;oBAAC,IAAIC,cAAc;wBAAE,CAACF,KAAKpB,IAAI,CAAC,EAAEoB;oBAAK;iBAAG,EAChDG,IAAI,CAACnB,SAASe;YACnB;QACF;IACF,GAAG;QAAC3B;KAAO;IAEX,OAAO;QACLP;QACAoB;QACA;;KAEC,GACDN;QACA;;KAEC,GACDG;QACA;;KAEC,GACDM;QACA;;KAEC,GACDrB;QACA+B;IACF;AACF,EAAE"}
@@ -1,14 +1,18 @@
1
1
  import { useMemo } from "react";
2
2
  import { useQuery } from ".";
3
- export const usePreLoadData = () => {
3
+ export const usePreLoadData = ()=>{
4
4
  const { error: tokenError, data: tokenData } = useQuery("https://api-evm.orderly.org/v1/public/token", {
5
- revalidateOnFocus: false,
5
+ revalidateOnFocus: false
6
6
  });
7
- const isDone = useMemo(() => {
7
+ const isDone = useMemo(()=>{
8
8
  return !!tokenData;
9
- }, [tokenData]);
9
+ }, [
10
+ tokenData
11
+ ]);
10
12
  return {
11
13
  error: tokenError,
12
- done: isDone,
14
+ done: isDone
13
15
  };
14
16
  };
17
+
18
+ //# sourceMappingURL=usePreloadData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/usePreloadData.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useQuery } from \".\";\n\nexport const usePreLoadData = () => {\n const { error: tokenError, data: tokenData } = useQuery(\n \"https://api-evm.orderly.org/v1/public/token\",\n {\n revalidateOnFocus: false,\n }\n );\n\n const isDone = useMemo(() => {\n return !!tokenData;\n }, [tokenData]);\n\n return {\n error: tokenError,\n done: isDone,\n };\n};\n"],"names":["useMemo","useQuery","usePreLoadData","error","tokenError","data","tokenData","revalidateOnFocus","isDone","done"],"rangeMappings":";;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,OAAO,QAAQ,QAAQ;AAChC,SAASC,QAAQ,QAAQ,IAAI;AAE7B,OAAO,MAAMC,iBAAiB;IAC5B,MAAM,EAAEC,OAAOC,UAAU,EAAEC,MAAMC,SAAS,EAAE,GAAGL,SAC7C,+CACA;QACEM,mBAAmB;IACrB;IAGF,MAAMC,SAASR,QAAQ;QACrB,OAAO,CAAC,CAACM;IACX,GAAG;QAACA;KAAU;IAEd,OAAO;QACLH,OAAOC;QACPK,MAAMD;IACR;AACF,EAAE"}
@@ -3,23 +3,29 @@ import { signatureMiddleware } from "./middleware/signatureMiddleware";
3
3
  import { get } from "@orderly.network/net";
4
4
  import { useAccount } from "./useAccount";
5
5
  import { AccountStatusEnum } from "@orderly.network/types";
6
- export const usePrivateInfiniteQuery = (getKey, options) => {
6
+ export const usePrivateInfiniteQuery = (getKey, options)=>{
7
7
  const { formatter, ...restOptions } = options || {};
8
8
  const account = useAccount();
9
- const middleware = Array.isArray(restOptions?.use)
10
- ? restOptions?.use ?? []
11
- : [];
12
- const result = useSWRInfinite((pageIndex, previousPageData) => {
9
+ const middleware = Array.isArray(restOptions?.use) ? restOptions?.use ?? [] : [];
10
+ const result = useSWRInfinite((pageIndex, previousPageData)=>{
13
11
  const queryKey = getKey(pageIndex, previousPageData);
14
12
  if (account.state.status < AccountStatusEnum.EnableTrading || !queryKey) {
15
13
  return null;
16
14
  }
17
- return [queryKey, account.state.accountId];
18
- }, (url, init) => {
19
- return get(url, init, formatter);
15
+ return [
16
+ queryKey,
17
+ account.state.accountId
18
+ ];
19
+ }, (url, init)=>{
20
+ return restOptions.fetcher?.(url, init) || get(url, init, formatter);
20
21
  }, {
21
22
  ...restOptions,
22
- use: [signatureMiddleware, ...middleware],
23
+ use: [
24
+ signatureMiddleware,
25
+ ...middleware
26
+ ]
23
27
  });
24
28
  return result;
25
29
  };
30
+
31
+ //# sourceMappingURL=usePrivateInfiniteQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/usePrivateInfiniteQuery.ts"],"sourcesContent":["import useSWRInfinite, {\n type SWRInfiniteKeyLoader,\n type SWRInfiniteConfiguration,\n} from \"swr/infinite\";\nimport { signatureMiddleware } from \"./middleware/signatureMiddleware\";\nimport { get } from \"@orderly.network/net\";\nimport { useAccount } from \"./useAccount\";\nimport { AccountStatusEnum } from \"@orderly.network/types\";\n\nexport const usePrivateInfiniteQuery = (\n getKey: SWRInfiniteKeyLoader,\n options?: SWRInfiniteConfiguration & {\n formatter?: (data: any) => any;\n }\n) => {\n const { formatter, ...restOptions } = options || {};\n const account = useAccount();\n\n const middleware = Array.isArray(restOptions?.use)\n ? restOptions?.use ?? []\n : [];\n\n const result = useSWRInfinite(\n (pageIndex: number, previousPageData) => {\n const queryKey = getKey(pageIndex, previousPageData);\n if (account.state.status < AccountStatusEnum.EnableTrading || !queryKey) {\n return null;\n }\n return [queryKey, account.state.accountId];\n },\n (url: string, init: RequestInit) => {\n return restOptions.fetcher?.(url, init) || get(url, init, formatter);\n },\n {\n ...restOptions,\n use: [signatureMiddleware, ...middleware],\n }\n );\n\n return result;\n};\n"],"names":["useSWRInfinite","signatureMiddleware","get","useAccount","AccountStatusEnum","usePrivateInfiniteQuery","getKey","options","formatter","restOptions","account","middleware","Array","isArray","use","result","pageIndex","previousPageData","queryKey","state","status","EnableTrading","accountId","url","init","fetcher"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,oBAGA,eAAe;AACtB,SAASC,mBAAmB,QAAQ,mCAAmC;AACvE,SAASC,GAAG,QAAQ,uBAAuB;AAC3C,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,iBAAiB,QAAQ,yBAAyB;AAE3D,OAAO,MAAMC,0BAA0B,CACrCC,QACAC;IAIA,MAAM,EAAEC,SAAS,EAAE,GAAGC,aAAa,GAAGF,WAAW,CAAC;IAClD,MAAMG,UAAUP;IAEhB,MAAMQ,aAAaC,MAAMC,OAAO,CAACJ,aAAaK,OAC1CL,aAAaK,OAAO,EAAE,GACtB,EAAE;IAEN,MAAMC,SAASf,eACb,CAACgB,WAAmBC;QAClB,MAAMC,WAAWZ,OAAOU,WAAWC;QACnC,IAAIP,QAAQS,KAAK,CAACC,MAAM,GAAGhB,kBAAkBiB,aAAa,IAAI,CAACH,UAAU;YACvE,OAAO;QACT;QACA,OAAO;YAACA;YAAUR,QAAQS,KAAK,CAACG,SAAS;SAAC;IAC5C,GACA,CAACC,KAAaC;QACZ,OAAOf,YAAYgB,OAAO,GAAGF,KAAKC,SAAStB,IAAIqB,KAAKC,MAAMhB;IAC5D,GACA;QACE,GAAGC,WAAW;QACdK,KAAK;YAACb;eAAwBU;SAAW;IAC3C;IAGF,OAAOI;AACT,EAAE"}
@@ -8,19 +8,26 @@ import { AccountStatusEnum } from "@orderly.network/types";
8
8
  * @description for private api
9
9
  * @param query
10
10
  * @param options
11
- */
12
- export const usePrivateQuery = (query, options) => {
11
+ */ export const usePrivateQuery = (query, options)=>{
13
12
  const { formatter, ...swrOptions } = options || {};
14
13
  const account = useAccount();
15
14
  const middleware = Array.isArray(options?.use) ? options?.use ?? [] : [];
16
15
  // @ts-ignore
17
- return useSWR(() => account.state.status >= AccountStatusEnum.EnableTrading
18
- ? [query, account.state.accountId]
19
- : null, (url, init) => {
20
- return fetcher(url, init, { formatter });
16
+ return useSWR(()=>account.state.status >= AccountStatusEnum.EnableTrading ? [
17
+ query,
18
+ account.state.accountId
19
+ ] : null, (url, init)=>{
20
+ return fetcher(url, init, {
21
+ formatter
22
+ });
21
23
  }, {
22
24
  ...swrOptions,
23
- use: [signatureMiddleware, ...middleware],
24
- onError: (err) => { },
25
+ use: [
26
+ signatureMiddleware,
27
+ ...middleware
28
+ ],
29
+ onError: (err)=>{}
25
30
  });
26
31
  };
32
+
33
+ //# sourceMappingURL=usePrivateQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/usePrivateQuery.ts"],"sourcesContent":["import useSWR, { SWRResponse } from \"swr\";\nimport { signatureMiddleware } from \"./middleware/signatureMiddleware\";\nimport { fetcher, useQueryOptions } from \"./utils/fetcher\";\nimport { useAccount } from \"./useAccount\";\nimport { AccountStatusEnum } from \"@orderly.network/types\";\n\n/**\n * usePrivateQuery\n * @description for private api\n * @param query\n * @param options\n */\nexport const usePrivateQuery = <T>(\n query: string,\n options?: useQueryOptions<T>\n): SWRResponse<T> => {\n const { formatter, ...swrOptions } = options || {};\n const account = useAccount();\n const middleware = Array.isArray(options?.use) ? options?.use ?? [] : [];\n\n // @ts-ignore\n return useSWR<T>(\n () =>\n account.state.status >= AccountStatusEnum.EnableTrading\n ? [query, account.state.accountId]\n : null,\n (url: string, init: RequestInit) => {\n return fetcher(url, init, { formatter });\n },\n {\n ...swrOptions,\n use: [signatureMiddleware, ...middleware],\n onError: (err) => {},\n }\n );\n};\n"],"names":["useSWR","signatureMiddleware","fetcher","useAccount","AccountStatusEnum","usePrivateQuery","query","options","formatter","swrOptions","account","middleware","Array","isArray","use","state","status","EnableTrading","accountId","url","init","onError","err"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,YAA6B,MAAM;AAC1C,SAASC,mBAAmB,QAAQ,mCAAmC;AACvE,SAASC,OAAO,QAAyB,kBAAkB;AAC3D,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,iBAAiB,QAAQ,yBAAyB;AAE3D;;;;;CAKC,GACD,OAAO,MAAMC,kBAAkB,CAC7BC,OACAC;IAEA,MAAM,EAAEC,SAAS,EAAE,GAAGC,YAAY,GAAGF,WAAW,CAAC;IACjD,MAAMG,UAAUP;IAChB,MAAMQ,aAAaC,MAAMC,OAAO,CAACN,SAASO,OAAOP,SAASO,OAAO,EAAE,GAAG,EAAE;IAExE,aAAa;IACb,OAAOd,OACL,IACEU,QAAQK,KAAK,CAACC,MAAM,IAAIZ,kBAAkBa,aAAa,GACnD;YAACX;YAAOI,QAAQK,KAAK,CAACG,SAAS;SAAC,GAChC,MACN,CAACC,KAAaC;QACZ,OAAOlB,QAAQiB,KAAKC,MAAM;YAAEZ;QAAU;IACxC,GACA;QACE,GAAGC,UAAU;QACbK,KAAK;YAACb;eAAwBU;SAAW;QACzCU,SAAS,CAACC,OAAS;IACrB;AAEJ,EAAE"}
package/esm/useQuery.js CHANGED
@@ -6,15 +6,16 @@ import { useConfig } from "./useConfig";
6
6
  * @description for public api
7
7
  * @param query
8
8
  * @param options
9
- */
10
- export const useQuery = (query, options) => {
9
+ */ export const useQuery = (query, options)=>{
11
10
  const apiBaseUrl = useConfig("apiBaseUrl");
12
11
  const { formatter, ...swrOptions } = options || {};
13
12
  if (typeof apiBaseUrl === "undefined") {
14
13
  throw new Error("please add OrderlyConfigProvider to your app");
15
14
  }
16
15
  // @ts-ignore
17
- return useSWR(query, (url, init) => fetcher(url.startsWith("http") ? url : `${apiBaseUrl}${url}`, init, {
18
- formatter,
19
- }), swrOptions);
16
+ return useSWR(query, (url, init)=>fetcher(url.startsWith("http") ? url : `${apiBaseUrl}${url}`, init, {
17
+ formatter
18
+ }), swrOptions);
20
19
  };
20
+
21
+ //# sourceMappingURL=useQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/useQuery.ts"],"sourcesContent":["import useSWR, { SWRResponse } from \"swr\";\nimport { fetcher, useQueryOptions } from \"./utils/fetcher\";\nimport { useConfig } from \"./useConfig\";\n\n/**\n * useQuery\n * @description for public api\n * @param query\n * @param options\n */\nexport const useQuery = <T>(\n query: Parameters<typeof useSWR>[\"0\"],\n options?: useQueryOptions<T>\n): SWRResponse<T> => {\n const apiBaseUrl = useConfig(\"apiBaseUrl\");\n const { formatter, ...swrOptions } = options || {};\n\n if (typeof apiBaseUrl === \"undefined\") {\n throw new Error(\"please add OrderlyConfigProvider to your app\");\n }\n\n // @ts-ignore\n return useSWR<T>(\n query,\n (url, init) =>\n fetcher(url.startsWith(\"http\") ? url : `${apiBaseUrl}${url}`, init, {\n formatter,\n }),\n swrOptions\n );\n};\n"],"names":["useSWR","fetcher","useConfig","useQuery","query","options","apiBaseUrl","formatter","swrOptions","Error","url","init","startsWith"],"rangeMappings":";;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,YAA6B,MAAM;AAC1C,SAASC,OAAO,QAAyB,kBAAkB;AAC3D,SAASC,SAAS,QAAQ,cAAc;AAExC;;;;;CAKC,GACD,OAAO,MAAMC,WAAW,CACtBC,OACAC;IAEA,MAAMC,aAAaJ,UAAU;IAC7B,MAAM,EAAEK,SAAS,EAAE,GAAGC,YAAY,GAAGH,WAAW,CAAC;IAEjD,IAAI,OAAOC,eAAe,aAAa;QACrC,MAAM,IAAIG,MAAM;IAClB;IAEA,aAAa;IACb,OAAOT,OACLI,OACA,CAACM,KAAKC,OACJV,QAAQS,IAAIE,UAAU,CAAC,UAAUF,MAAM,CAAC,EAAEJ,WAAW,EAAEI,IAAI,CAAC,EAAEC,MAAM;YAClEJ;QACF,IACFC;AAEJ,EAAE"}
@@ -3,7 +3,7 @@ import { parseJSON } from "./utils/json";
3
3
  export function useSessionStorage(key, initialValue) {
4
4
  // Get from session storage then
5
5
  // parse stored json or return initialValue
6
- const readValue = useCallback(() => {
6
+ const readValue = useCallback(()=>{
7
7
  // Prevent build error "window is undefined" but keep keep working
8
8
  if (typeof window === "undefined") {
9
9
  return initialValue;
@@ -11,17 +11,19 @@ export function useSessionStorage(key, initialValue) {
11
11
  try {
12
12
  const item = window.sessionStorage.getItem(key);
13
13
  return item ? parseJSON(item) : initialValue;
14
- }
15
- catch (error) {
16
- console.warn(`Error reading sessionStorage key “${key}”:`, error);
14
+ } catch (error) {
15
+ ;
17
16
  return initialValue;
18
17
  }
19
- }, [initialValue, key]);
18
+ }, [
19
+ initialValue,
20
+ key
21
+ ]);
20
22
  const [storedValue, setStoredValue] = useState(readValue);
21
- const setValue = (value) => {
23
+ const setValue = (value)=>{
22
24
  // Prevent build error "window is undefined" but keeps working
23
25
  if (typeof window == "undefined") {
24
- console.warn(`Tried setting sessionStorage key “${key}” even though environment is not a client`);
26
+ ;
25
27
  }
26
28
  try {
27
29
  // Allow value to be a function so we have the same API as useState
@@ -30,31 +32,38 @@ export function useSessionStorage(key, initialValue) {
30
32
  window.sessionStorage.setItem(key, JSON.stringify(newValue));
31
33
  // Save state
32
34
  setStoredValue(newValue);
33
- // We dispatch a custom event so every useSessionStorage hook are notified
34
- // window.dispatchEvent(new Event("session-storage"));
35
- }
36
- catch (error) {
37
- console.warn(`Error setting sessionStorage key “${key}”:`, error);
35
+ // We dispatch a custom event so every useSessionStorage hook are notified
36
+ // window.dispatchEvent(new Event("session-storage"));
37
+ } catch (error) {
38
+ ;
38
39
  }
39
40
  };
40
- useEffect(() => {
41
+ useEffect(()=>{
41
42
  setStoredValue(readValue());
42
- // eslint-disable-next-line react-hooks/exhaustive-deps
43
+ // eslint-disable-next-line react-hooks/exhaustive-deps
43
44
  }, []);
44
- useEffect(() => {
45
+ useEffect(()=>{
45
46
  if (typeof window == "undefined") {
46
47
  return;
47
48
  }
48
49
  window.addEventListener("storage", handleStorageChange);
49
- return () => {
50
+ return ()=>{
50
51
  window.removeEventListener("storage", handleStorageChange);
51
52
  };
52
53
  });
53
- const handleStorageChange = useCallback((event) => {
54
+ const handleStorageChange = useCallback((event)=>{
54
55
  if (event?.key && event.key !== key) {
55
56
  return;
56
57
  }
57
58
  setStoredValue(readValue());
58
- }, [key, readValue]);
59
- return [storedValue, setValue];
59
+ }, [
60
+ key,
61
+ readValue
62
+ ]);
63
+ return [
64
+ storedValue,
65
+ setValue
66
+ ];
60
67
  }
68
+
69
+ //# sourceMappingURL=useSessionStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/useSessionStorage.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from \"react\";\nimport { parseJSON } from \"./utils/json\";\n\nexport function useSessionStorage<T>(\n key: string,\n initialValue: T\n): [T, (data: any) => void] {\n // Get from session storage then\n // parse stored json or return initialValue\n const readValue = useCallback((): T => {\n // Prevent build error \"window is undefined\" but keep keep working\n if (typeof window === \"undefined\") {\n return initialValue;\n }\n\n try {\n const item = window.sessionStorage.getItem(key);\n return item ? (parseJSON(item) as T) : initialValue;\n } catch (error) {\n console.warn(`Error reading sessionStorage key “${key}”:`, error);\n return initialValue;\n }\n }, [initialValue, key]);\n const [storedValue, setStoredValue] = useState<T>(readValue);\n\n const setValue: React.Dispatch<T> = (value: any) => {\n // Prevent build error \"window is undefined\" but keeps working\n if (typeof window == \"undefined\") {\n console.warn(\n `Tried setting sessionStorage key “${key}” even though environment is not a client`\n );\n }\n\n try {\n // Allow value to be a function so we have the same API as useState\n const newValue = value instanceof Function ? value(storedValue) : value;\n\n // Save to session storage\n window.sessionStorage.setItem(key, JSON.stringify(newValue));\n\n // Save state\n setStoredValue(newValue);\n\n // We dispatch a custom event so every useSessionStorage hook are notified\n // window.dispatchEvent(new Event(\"session-storage\"));\n } catch (error) {\n console.warn(`Error setting sessionStorage key “${key}”:`, error);\n }\n };\n\n useEffect(() => {\n setStoredValue(readValue());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (typeof window == \"undefined\") {\n return;\n }\n window.addEventListener(\"storage\", handleStorageChange);\n\n return () => {\n window.removeEventListener(\"storage\", handleStorageChange);\n };\n });\n\n const handleStorageChange = useCallback(\n (event: StorageEvent | CustomEvent) => {\n if ((event as StorageEvent)?.key && (event as StorageEvent).key !== key) {\n return;\n }\n setStoredValue(readValue());\n },\n [key, readValue]\n );\n\n return [storedValue, setValue];\n}\n"],"names":["useCallback","useEffect","useState","parseJSON","useSessionStorage","key","initialValue","readValue","window","item","sessionStorage","getItem","error","storedValue","setStoredValue","setValue","value","newValue","Function","setItem","JSON","stringify","addEventListener","handleStorageChange","removeEventListener","event"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AACzD,SAASC,SAAS,QAAQ,eAAe;AAEzC,OAAO,SAASC,kBACdC,GAAW,EACXC,YAAe;IAEf,gCAAgC;IAChC,2CAA2C;IAC3C,MAAMC,YAAYP,YAAY;QAC5B,kEAAkE;QAClE,IAAI,OAAOQ,WAAW,aAAa;YACjC,OAAOF;QACT;QAEA,IAAI;YACF,MAAMG,OAAOD,OAAOE,cAAc,CAACC,OAAO,CAACN;YAC3C,OAAOI,OAAQN,UAAUM,QAAcH;QACzC,EAAE,OAAOM,OAAO;;YAEd,OAAON;QACT;IACF,GAAG;QAACA;QAAcD;KAAI;IACtB,MAAM,CAACQ,aAAaC,eAAe,GAAGZ,SAAYK;IAElD,MAAMQ,WAA8B,CAACC;QACnC,8DAA8D;QAC9D,IAAI,OAAOR,UAAU,aAAa;;QAIlC;QAEA,IAAI;YACF,mEAAmE;YACnE,MAAMS,WAAWD,iBAAiBE,WAAWF,MAAMH,eAAeG;YAElE,0BAA0B;YAC1BR,OAAOE,cAAc,CAACS,OAAO,CAACd,KAAKe,KAAKC,SAAS,CAACJ;YAElD,aAAa;YACbH,eAAeG;QAEf,0EAA0E;QAC1E,sDAAsD;QACxD,EAAE,OAAOL,OAAO;;QAEhB;IACF;IAEAX,UAAU;QACRa,eAAeP;IACf,uDAAuD;IACzD,GAAG,EAAE;IAELN,UAAU;QACR,IAAI,OAAOO,UAAU,aAAa;YAChC;QACF;QACAA,OAAOc,gBAAgB,CAAC,WAAWC;QAEnC,OAAO;YACLf,OAAOgB,mBAAmB,CAAC,WAAWD;QACxC;IACF;IAEA,MAAMA,sBAAsBvB,YAC1B,CAACyB;QACC,IAAI,AAACA,OAAwBpB,OAAO,AAACoB,MAAuBpB,GAAG,KAAKA,KAAK;YACvE;QACF;QACAS,eAAeP;IACjB,GACA;QAACF;QAAKE;KAAU;IAGlB,OAAO;QAACM;QAAaE;KAAS;AAChC"}
package/esm/useWS.js CHANGED
@@ -6,10 +6,10 @@ import { AccountStatusEnum } from "@orderly.network/types";
6
6
  import { OrderlyContext } from "./orderlyContext";
7
7
  import { getGlobalObject } from "@orderly.network/utils";
8
8
  const WS_NAME = "nativeWebsocketClient";
9
- export const useWS = () => {
9
+ export const useWS = ()=>{
10
10
  const { configStore } = useContext(OrderlyContext);
11
11
  // const prevAccountState = useRef<AccountState | null>(null);
12
- const ws = useConstant(() => {
12
+ const ws = useConstant(()=>{
13
13
  let websocketClient = SimpleDI.get(WS_NAME);
14
14
  const account = SimpleDI.get(Account.instanceName);
15
15
  if (!websocketClient) {
@@ -17,28 +17,28 @@ export const useWS = () => {
17
17
  networkId: configStore.get("networkId"),
18
18
  publicUrl: configStore.get("publicWsUrl"),
19
19
  privateUrl: configStore.get("privateWsUrl"),
20
- onSigntureRequest: async (accountId) => {
20
+ onSigntureRequest: async (accountId)=>{
21
21
  const signer = account.signer;
22
22
  const timestamp = new Date().getTime();
23
23
  const result = await signer.signText(timestamp.toString());
24
- return { ...result, timestamp };
25
- },
24
+ return {
25
+ ...result,
26
+ timestamp
27
+ };
28
+ }
26
29
  });
27
30
  // if user login, open the private websocket
28
- if (account.stateValue.status === AccountStatusEnum.EnableTrading &&
29
- account.stateValue.accountId) {
31
+ if (account.stateValue.status === AccountStatusEnum.EnableTrading && account.stateValue.accountId) {
30
32
  websocketClient.openPrivate(account.stateValue.accountId);
31
33
  }
32
34
  // open the pirvate websocket when user login
33
- account.on("change:status", (nextState) => {
34
- if (nextState.status === AccountStatusEnum.EnableTrading &&
35
- nextState.accountId) {
35
+ account.on("change:status", (nextState)=>{
36
+ if (nextState.status === AccountStatusEnum.EnableTrading && nextState.accountId) {
36
37
  websocketClient.openPrivate(nextState.accountId);
37
- }
38
- else {
38
+ } else {
39
39
  websocketClient.closePrivate(1000, "switch account");
40
40
  }
41
- // prevAccountState.current = nextState;
41
+ // prevAccountState.current = nextState;
42
42
  });
43
43
  if (typeof window !== "undefined") {
44
44
  getGlobalObject()["__Orderly_WS"] = websocketClient;
@@ -50,3 +50,5 @@ export const useWS = () => {
50
50
  // auto open private when user login;
51
51
  return ws;
52
52
  };
53
+
54
+ //# sourceMappingURL=useWS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/useWS.ts"],"sourcesContent":["import { useContext, useRef } from \"react\";\nimport { Account, AccountState, SimpleDI } from \"@orderly.network/core\";\nimport { WS } from \"@orderly.network/net\";\nimport useConstant from \"use-constant\";\nimport { AccountStatusEnum } from \"@orderly.network/types\";\nimport { OrderlyContext } from \"./orderlyContext\";\nimport { getGlobalObject } from \"@orderly.network/utils\";\n\nconst WS_NAME = \"nativeWebsocketClient\";\n\nexport const useWS = () => {\n const { configStore } = useContext(OrderlyContext);\n // const prevAccountState = useRef<AccountState | null>(null);\n\n const ws = useConstant(() => {\n let websocketClient = SimpleDI.get<WS>(WS_NAME);\n const account = SimpleDI.get<Account>(Account.instanceName);\n\n if (!websocketClient) {\n websocketClient = new WS({\n networkId: configStore.get(\"networkId\"),\n publicUrl: configStore.get(\"publicWsUrl\"),\n privateUrl: configStore.get(\"privateWsUrl\"),\n onSigntureRequest: async (accountId: string) => {\n const signer = account.signer;\n const timestamp = new Date().getTime();\n const result = await signer.signText(timestamp.toString());\n\n return { ...result, timestamp };\n },\n });\n\n // if user login, open the private websocket\n if (\n account.stateValue.status === AccountStatusEnum.EnableTrading &&\n account.stateValue.accountId\n ) {\n websocketClient.openPrivate(account.stateValue.accountId);\n }\n\n // open the pirvate websocket when user login\n account.on(\"change:status\", (nextState: AccountState) => {\n if (\n nextState.status === AccountStatusEnum.EnableTrading &&\n nextState.accountId\n ) {\n websocketClient.openPrivate(nextState.accountId);\n } else {\n websocketClient.closePrivate(1000, \"switch account\");\n }\n\n // prevAccountState.current = nextState;\n });\n\n if (typeof window !== \"undefined\") {\n (getGlobalObject() as any)[\"__Orderly_WS\"] = websocketClient;\n }\n\n SimpleDI.registerByName(WS_NAME, websocketClient);\n }\n\n return websocketClient;\n });\n\n // auto open private when user login;\n\n return ws;\n};\n"],"names":["useContext","Account","SimpleDI","WS","useConstant","AccountStatusEnum","OrderlyContext","getGlobalObject","WS_NAME","useWS","configStore","ws","websocketClient","get","account","instanceName","networkId","publicUrl","privateUrl","onSigntureRequest","accountId","signer","timestamp","Date","getTime","result","signText","toString","stateValue","status","EnableTrading","openPrivate","on","nextState","closePrivate","window","registerByName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,UAAU,QAAgB,QAAQ;AAC3C,SAASC,OAAO,EAAgBC,QAAQ,QAAQ,wBAAwB;AACxE,SAASC,EAAE,QAAQ,uBAAuB;AAC1C,OAAOC,iBAAiB,eAAe;AACvC,SAASC,iBAAiB,QAAQ,yBAAyB;AAC3D,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SAASC,eAAe,QAAQ,yBAAyB;AAEzD,MAAMC,UAAU;AAEhB,OAAO,MAAMC,QAAQ;IACnB,MAAM,EAAEC,WAAW,EAAE,GAAGV,WAAWM;IACnC,8DAA8D;IAE9D,MAAMK,KAAKP,YAAY;QACrB,IAAIQ,kBAAkBV,SAASW,GAAG,CAAKL;QACvC,MAAMM,UAAUZ,SAASW,GAAG,CAAUZ,QAAQc,YAAY;QAE1D,IAAI,CAACH,iBAAiB;YACpBA,kBAAkB,IAAIT,GAAG;gBACvBa,WAAWN,YAAYG,GAAG,CAAC;gBAC3BI,WAAWP,YAAYG,GAAG,CAAC;gBAC3BK,YAAYR,YAAYG,GAAG,CAAC;gBAC5BM,mBAAmB,OAAOC;oBACxB,MAAMC,SAASP,QAAQO,MAAM;oBAC7B,MAAMC,YAAY,IAAIC,OAAOC,OAAO;oBACpC,MAAMC,SAAS,MAAMJ,OAAOK,QAAQ,CAACJ,UAAUK,QAAQ;oBAEvD,OAAO;wBAAE,GAAGF,MAAM;wBAAEH;oBAAU;gBAChC;YACF;YAEA,4CAA4C;YAC5C,IACER,QAAQc,UAAU,CAACC,MAAM,KAAKxB,kBAAkByB,aAAa,IAC7DhB,QAAQc,UAAU,CAACR,SAAS,EAC5B;gBACAR,gBAAgBmB,WAAW,CAACjB,QAAQc,UAAU,CAACR,SAAS;YAC1D;YAEA,6CAA6C;YAC7CN,QAAQkB,EAAE,CAAC,iBAAiB,CAACC;gBAC3B,IACEA,UAAUJ,MAAM,KAAKxB,kBAAkByB,aAAa,IACpDG,UAAUb,SAAS,EACnB;oBACAR,gBAAgBmB,WAAW,CAACE,UAAUb,SAAS;gBACjD,OAAO;oBACLR,gBAAgBsB,YAAY,CAAC,MAAM;gBACrC;YAEA,wCAAwC;YAC1C;YAEA,IAAI,OAAOC,WAAW,aAAa;gBAChC5B,iBAAyB,CAAC,eAAe,GAAGK;YAC/C;YAEAV,SAASkC,cAAc,CAAC5B,SAASI;QACnC;QAEA,OAAOA;IACT;IAEA,qCAAqC;IAErC,OAAOD;AACT,EAAE"}
@@ -1,41 +1,41 @@
1
1
  import { useEffect, useRef, useState } from "react";
2
2
  import { useWS } from "./useWS";
3
3
  export var WsNetworkStatus;
4
- (function (WsNetworkStatus) {
4
+ (function(WsNetworkStatus) {
5
5
  WsNetworkStatus["Connected"] = "connected";
6
6
  WsNetworkStatus["Unstable"] = "unstable";
7
7
  WsNetworkStatus["Disconnected"] = "disconnected";
8
8
  })(WsNetworkStatus || (WsNetworkStatus = {}));
9
9
  export function useWsStatus() {
10
10
  const ws = useWS();
11
- const [wsStatus, setWsStatus] = useState(ws.client.public.readyState
12
- ? WsNetworkStatus.Connected
13
- : WsNetworkStatus.Disconnected);
11
+ const [wsStatus, setWsStatus] = useState(ws.client.public.readyState ? "connected" : "disconnected");
14
12
  const connectCount = useRef(0);
15
- useEffect(() => {
16
- ws.on("status:change", (status) => {
17
- console.log("status:change", status);
13
+ useEffect(()=>{
14
+ ws.on("status:change", (status)=>{
15
+ ;
18
16
  const { type, isPrivate } = status;
19
17
  if (!isPrivate) {
20
- switch (type) {
18
+ switch(type){
21
19
  case "open":
22
20
  connectCount.current = 0;
23
- setWsStatus(WsNetworkStatus.Connected);
21
+ setWsStatus("connected");
24
22
  break;
25
23
  case "close":
26
24
  connectCount.current = 0;
27
- setWsStatus(WsNetworkStatus.Disconnected);
25
+ setWsStatus("disconnected");
28
26
  break;
29
27
  case "reconnecting":
30
28
  connectCount.current++;
31
29
  if (connectCount.current >= 3) {
32
- setWsStatus(WsNetworkStatus.Unstable);
30
+ setWsStatus("unstable");
33
31
  }
34
32
  break;
35
33
  }
36
34
  }
37
35
  });
38
- return () => ws.off("websocket:status", () => { });
36
+ return ()=>ws.off("websocket:status", ()=>{});
39
37
  }, []);
40
38
  return wsStatus;
41
39
  }
40
+
41
+ //# sourceMappingURL=useWsStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/useWsStatus.ts"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport { useWS } from \"./useWS\";\n\nexport enum WsNetworkStatus {\n Connected = \"connected\",\n Unstable = \"unstable\",\n Disconnected = \"disconnected\",\n}\n\nexport function useWsStatus() {\n const ws = useWS();\n const [wsStatus, setWsStatus] = useState<WsNetworkStatus>(\n ws.client.public.readyState\n ? WsNetworkStatus.Connected\n : WsNetworkStatus.Disconnected\n );\n\n const connectCount = useRef(0);\n\n useEffect(() => {\n ws.on(\"status:change\", (status: any) => {\n console.log(\"status:change\", status);\n\n const { type, isPrivate } = status;\n if (!isPrivate) {\n switch (type) {\n case \"open\":\n connectCount.current = 0;\n setWsStatus(WsNetworkStatus.Connected);\n break;\n case \"close\":\n connectCount.current = 0;\n setWsStatus(WsNetworkStatus.Disconnected);\n break;\n case \"reconnecting\":\n connectCount.current++;\n if (connectCount.current >= 3) {\n setWsStatus(WsNetworkStatus.Unstable);\n }\n break;\n }\n }\n });\n return () => ws.off(\"websocket:status\", () => {});\n }, []);\n\n return wsStatus;\n}\n"],"names":["useEffect","useRef","useState","useWS","WsNetworkStatus","useWsStatus","ws","wsStatus","setWsStatus","client","public","readyState","connectCount","on","status","type","isPrivate","current","off"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAQ;AACpD,SAASC,KAAK,QAAQ,UAAU;;UAEpBC;;;;GAAAA,oBAAAA;AAMZ,OAAO,SAASC;IACd,MAAMC,KAAKH;IACX,MAAM,CAACI,UAAUC,YAAY,GAAGN,SAC9BI,GAAGG,MAAM,CAACC,MAAM,CAACC,UAAU;IAK7B,MAAMC,eAAeX,OAAO;IAE5BD,UAAU;QACRM,GAAGO,EAAE,CAAC,iBAAiB,CAACC;;YAGtB,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE,GAAGF;YAC5B,IAAI,CAACE,WAAW;gBACd,OAAQD;oBACN,KAAK;wBACHH,aAAaK,OAAO,GAAG;wBACvBT;wBACA;oBACF,KAAK;wBACHI,aAAaK,OAAO,GAAG;wBACvBT;wBACA;oBACF,KAAK;wBACHI,aAAaK,OAAO;wBACpB,IAAIL,aAAaK,OAAO,IAAI,GAAG;4BAC7BT;wBACF;wBACA;gBACJ;YACF;QACF;QACA,OAAO,IAAMF,GAAGY,GAAG,CAAC,oBAAoB,KAAO;IACjD,GAAG,EAAE;IAEL,OAAOX;AACT"}