@orderly.network/hooks 1.5.0 → 1.5.1

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 (171) hide show
  1. package/esm/orderly/orderlyHooks.d.ts +1 -0
  2. package/esm/orderly/orderlyHooks.d.ts.map +1 -1
  3. package/esm/orderly/orderlyHooks.js +1 -0
  4. package/esm/orderly/orderlyHooks.js.map +1 -1
  5. package/esm/orderly/useCollateral.d.ts.map +1 -1
  6. package/esm/orderly/useCollateral.js +8 -9
  7. package/esm/orderly/useCollateral.js.map +1 -1
  8. package/esm/orderly/usePositionStream/usePositionStream.d.ts +4 -0
  9. package/esm/orderly/usePositionStream/usePositionStream.d.ts.map +1 -1
  10. package/esm/orderly/usePositionStream/usePositionStream.js +9 -1
  11. package/esm/orderly/usePositionStream/usePositionStream.js.map +1 -1
  12. package/esm/orderly/usePrivateDataObserver.d.ts.map +1 -1
  13. package/esm/orderly/usePrivateDataObserver.js +8 -2
  14. package/esm/orderly/usePrivateDataObserver.js.map +1 -1
  15. package/esm/orderly/useSymbolLeverage.d.ts +2 -0
  16. package/esm/orderly/useSymbolLeverage.d.ts.map +1 -0
  17. package/esm/orderly/useSymbolLeverage.js +31 -0
  18. package/esm/orderly/useSymbolLeverage.js.map +1 -0
  19. package/esm/orderly/useTakeProfitAndStopLoss/useTPSL.d.ts.map +1 -1
  20. package/esm/orderly/useTakeProfitAndStopLoss/useTPSL.js +2 -1
  21. package/esm/orderly/useTakeProfitAndStopLoss/useTPSL.js.map +1 -1
  22. package/esm/referral/index.d.ts +3 -0
  23. package/esm/referral/index.d.ts.map +1 -1
  24. package/esm/referral/index.js +3 -0
  25. package/esm/referral/index.js.map +1 -1
  26. package/esm/referral/useCheckReferralCode.d.ts +6 -0
  27. package/esm/referral/useCheckReferralCode.d.ts.map +1 -0
  28. package/esm/referral/useCheckReferralCode.js +18 -0
  29. package/esm/referral/useCheckReferralCode.js.map +1 -0
  30. package/esm/referral/useGetReferralCode.d.ts +6 -0
  31. package/esm/referral/useGetReferralCode.d.ts.map +1 -0
  32. package/esm/referral/useGetReferralCode.js +18 -0
  33. package/esm/referral/useGetReferralCode.js.map +1 -0
  34. package/esm/referral/useReferralInfo.d.ts +10 -0
  35. package/esm/referral/useReferralInfo.d.ts.map +1 -0
  36. package/esm/referral/useReferralInfo.js +56 -0
  37. package/esm/referral/useReferralInfo.js.map +1 -0
  38. package/esm/services/orderMerge/algoOrderMergeHandler.d.ts +1 -0
  39. package/esm/services/orderMerge/algoOrderMergeHandler.d.ts.map +1 -1
  40. package/esm/services/orderMerge/algoOrderMergeHandler.js +8 -0
  41. package/esm/services/orderMerge/algoOrderMergeHandler.js.map +1 -1
  42. package/esm/services/orderMerge/baseMergeHandler.d.ts +1 -0
  43. package/esm/services/orderMerge/baseMergeHandler.d.ts.map +1 -1
  44. package/esm/services/orderMerge/baseMergeHandler.js +1 -1
  45. package/esm/services/orderMerge/baseMergeHandler.js.map +1 -1
  46. package/esm/services/orderMerge/regularOrderMergeHandler.d.ts +1 -0
  47. package/esm/services/orderMerge/regularOrderMergeHandler.d.ts.map +1 -1
  48. package/esm/services/orderMerge/regularOrderMergeHandler.js +3 -0
  49. package/esm/services/orderMerge/regularOrderMergeHandler.js.map +1 -1
  50. package/esm/services/painter/basePaint.d.ts +5 -0
  51. package/esm/services/painter/basePaint.d.ts.map +1 -1
  52. package/esm/services/painter/basePaint.js.map +1 -1
  53. package/esm/services/painter/dataPaint.d.ts +3 -0
  54. package/esm/services/painter/dataPaint.d.ts.map +1 -1
  55. package/esm/services/painter/dataPaint.js +88 -16
  56. package/esm/services/painter/dataPaint.js.map +1 -1
  57. package/esm/services/painter/layout.config.js +1 -1
  58. package/esm/services/painter/layout.config.js.map +1 -1
  59. package/esm/services/painter/painter.d.ts.map +1 -1
  60. package/esm/services/painter/painter.js +7 -2
  61. package/esm/services/painter/painter.js.map +1 -1
  62. package/esm/services/painter/qrPaint.d.ts +8 -0
  63. package/esm/services/painter/qrPaint.d.ts.map +1 -0
  64. package/esm/services/painter/qrPaint.js +39 -0
  65. package/esm/services/painter/qrPaint.js.map +1 -0
  66. package/esm/useLocalStorage.js +2 -2
  67. package/esm/useLocalStorage.js.map +1 -1
  68. package/esm/useMediaQuery.js +7 -7
  69. package/esm/useMediaQuery.js.map +1 -1
  70. package/esm/usePoster.d.ts.map +1 -1
  71. package/esm/usePoster.js +18 -15
  72. package/esm/usePoster.js.map +1 -1
  73. package/esm/useSessionStorage.js +2 -2
  74. package/esm/useSessionStorage.js.map +1 -1
  75. package/esm/utils/index.d.ts +1 -0
  76. package/esm/utils/index.d.ts.map +1 -1
  77. package/esm/utils/index.js +1 -0
  78. package/esm/utils/index.js.map +1 -1
  79. package/esm/utils/orderEntryHelper.d.ts +1 -0
  80. package/esm/utils/orderEntryHelper.d.ts.map +1 -1
  81. package/esm/utils/orderEntryHelper.js +27 -2
  82. package/esm/utils/orderEntryHelper.js.map +1 -1
  83. package/esm/version.d.ts +1 -1
  84. package/esm/version.js +2 -2
  85. package/esm/version.js.map +1 -1
  86. package/lib/orderly/orderlyHooks.d.ts +1 -0
  87. package/lib/orderly/orderlyHooks.d.ts.map +1 -1
  88. package/lib/orderly/orderlyHooks.js +4 -0
  89. package/lib/orderly/orderlyHooks.js.map +1 -1
  90. package/lib/orderly/useCollateral.d.ts.map +1 -1
  91. package/lib/orderly/useCollateral.js +8 -9
  92. package/lib/orderly/useCollateral.js.map +1 -1
  93. package/lib/orderly/usePositionStream/usePositionStream.d.ts +4 -0
  94. package/lib/orderly/usePositionStream/usePositionStream.d.ts.map +1 -1
  95. package/lib/orderly/usePositionStream/usePositionStream.js +9 -1
  96. package/lib/orderly/usePositionStream/usePositionStream.js.map +1 -1
  97. package/lib/orderly/usePrivateDataObserver.d.ts.map +1 -1
  98. package/lib/orderly/usePrivateDataObserver.js +8 -2
  99. package/lib/orderly/usePrivateDataObserver.js.map +1 -1
  100. package/lib/orderly/useSymbolLeverage.d.ts +2 -0
  101. package/lib/orderly/useSymbolLeverage.d.ts.map +1 -0
  102. package/lib/orderly/useSymbolLeverage.js +41 -0
  103. package/lib/orderly/useSymbolLeverage.js.map +1 -0
  104. package/lib/orderly/useTakeProfitAndStopLoss/useTPSL.d.ts.map +1 -1
  105. package/lib/orderly/useTakeProfitAndStopLoss/useTPSL.js +2 -1
  106. package/lib/orderly/useTakeProfitAndStopLoss/useTPSL.js.map +1 -1
  107. package/lib/referral/index.d.ts +3 -0
  108. package/lib/referral/index.d.ts.map +1 -1
  109. package/lib/referral/index.js +12 -0
  110. package/lib/referral/index.js.map +1 -1
  111. package/lib/referral/useCheckReferralCode.d.ts +6 -0
  112. package/lib/referral/useCheckReferralCode.d.ts.map +1 -0
  113. package/lib/referral/useCheckReferralCode.js +28 -0
  114. package/lib/referral/useCheckReferralCode.js.map +1 -0
  115. package/lib/referral/useGetReferralCode.d.ts +6 -0
  116. package/lib/referral/useGetReferralCode.d.ts.map +1 -0
  117. package/lib/referral/useGetReferralCode.js +28 -0
  118. package/lib/referral/useGetReferralCode.js.map +1 -0
  119. package/lib/referral/useReferralInfo.d.ts +10 -0
  120. package/lib/referral/useReferralInfo.d.ts.map +1 -0
  121. package/lib/referral/useReferralInfo.js +66 -0
  122. package/lib/referral/useReferralInfo.js.map +1 -0
  123. package/lib/services/orderMerge/algoOrderMergeHandler.d.ts +1 -0
  124. package/lib/services/orderMerge/algoOrderMergeHandler.d.ts.map +1 -1
  125. package/lib/services/orderMerge/algoOrderMergeHandler.js +8 -0
  126. package/lib/services/orderMerge/algoOrderMergeHandler.js.map +1 -1
  127. package/lib/services/orderMerge/baseMergeHandler.d.ts +1 -0
  128. package/lib/services/orderMerge/baseMergeHandler.d.ts.map +1 -1
  129. package/lib/services/orderMerge/baseMergeHandler.js +1 -1
  130. package/lib/services/orderMerge/baseMergeHandler.js.map +1 -1
  131. package/lib/services/orderMerge/regularOrderMergeHandler.d.ts +1 -0
  132. package/lib/services/orderMerge/regularOrderMergeHandler.d.ts.map +1 -1
  133. package/lib/services/orderMerge/regularOrderMergeHandler.js +3 -0
  134. package/lib/services/orderMerge/regularOrderMergeHandler.js.map +1 -1
  135. package/lib/services/painter/basePaint.d.ts +5 -0
  136. package/lib/services/painter/basePaint.d.ts.map +1 -1
  137. package/lib/services/painter/basePaint.js.map +1 -1
  138. package/lib/services/painter/dataPaint.d.ts +3 -0
  139. package/lib/services/painter/dataPaint.d.ts.map +1 -1
  140. package/lib/services/painter/dataPaint.js +88 -16
  141. package/lib/services/painter/dataPaint.js.map +1 -1
  142. package/lib/services/painter/layout.config.js +1 -1
  143. package/lib/services/painter/layout.config.js.map +1 -1
  144. package/lib/services/painter/painter.d.ts.map +1 -1
  145. package/lib/services/painter/painter.js +7 -2
  146. package/lib/services/painter/painter.js.map +1 -1
  147. package/lib/services/painter/qrPaint.d.ts +8 -0
  148. package/lib/services/painter/qrPaint.d.ts.map +1 -0
  149. package/lib/services/painter/qrPaint.js +49 -0
  150. package/lib/services/painter/qrPaint.js.map +1 -0
  151. package/lib/useLocalStorage.js +2 -2
  152. package/lib/useLocalStorage.js.map +1 -1
  153. package/lib/useMediaQuery.js +7 -7
  154. package/lib/useMediaQuery.js.map +1 -1
  155. package/lib/usePoster.d.ts.map +1 -1
  156. package/lib/usePoster.js +18 -15
  157. package/lib/usePoster.js.map +1 -1
  158. package/lib/useSessionStorage.js +2 -2
  159. package/lib/useSessionStorage.js.map +1 -1
  160. package/lib/utils/index.d.ts +1 -0
  161. package/lib/utils/index.d.ts.map +1 -1
  162. package/lib/utils/index.js +3 -0
  163. package/lib/utils/index.js.map +1 -1
  164. package/lib/utils/orderEntryHelper.d.ts +1 -0
  165. package/lib/utils/orderEntryHelper.d.ts.map +1 -1
  166. package/lib/utils/orderEntryHelper.js +29 -2
  167. package/lib/utils/orderEntryHelper.js.map +1 -1
  168. package/lib/version.d.ts +1 -1
  169. package/lib/version.js +2 -2
  170. package/lib/version.js.map +1 -1
  171. package/package.json +10 -9
@@ -56,9 +56,9 @@ function useSessionStorage(key, initialValue) {
56
56
  if (typeof window == "undefined") {
57
57
  return;
58
58
  }
59
- window.addEventListener("storage", handleStorageChange);
59
+ window.addEventListener?.("storage", handleStorageChange);
60
60
  return ()=>{
61
- window.removeEventListener("storage", handleStorageChange);
61
+ window.removeEventListener?.("storage", handleStorageChange);
62
62
  };
63
63
  });
64
64
  const handleStorageChange = (0, _react.useCallback)((event)=>{
@@ -1 +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":["useSessionStorage","key","initialValue","readValue","useCallback","window","item","sessionStorage","getItem","parseJSON","error","storedValue","setStoredValue","useState","setValue","value","newValue","Function","setItem","JSON","stringify","useEffect","addEventListener","handleStorageChange","removeEventListener","event"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAGgBA;;;eAAAA;;;uBAHiC;sBACvB;AAEnB,SAASA,kBACdC,GAAW,EACXC,YAAe;IAEf,gCAAgC;IAChC,2CAA2C;IAC3C,MAAMC,YAAYC,IAAAA,kBAAW,EAAC;QAC5B,kEAAkE;QAClE,IAAI,OAAOC,WAAW,aAAa;YACjC,OAAOH;QACT;QAEA,IAAI;YACF,MAAMI,OAAOD,OAAOE,cAAc,CAACC,OAAO,CAACP;YAC3C,OAAOK,OAAQG,IAAAA,eAAS,EAACH,QAAcJ;QACzC,EAAE,OAAOQ,OAAO;;YAEd,OAAOR;QACT;IACF,GAAG;QAACA;QAAcD;KAAI;IACtB,MAAM,CAACU,aAAaC,eAAe,GAAGC,IAAAA,eAAQ,EAAIV;IAElD,MAAMW,WAA8B,CAACC;QACnC,8DAA8D;QAC9D,IAAI,OAAOV,UAAU,aAAa;;QAIlC;QAEA,IAAI;YACF,mEAAmE;YACnE,MAAMW,WAAWD,iBAAiBE,WAAWF,MAAMJ,eAAeI;YAElE,0BAA0B;YAC1BV,OAAOE,cAAc,CAACW,OAAO,CAACjB,KAAKkB,KAAKC,SAAS,CAACJ;YAElD,aAAa;YACbJ,eAAeI;QAEf,0EAA0E;QAC1E,sDAAsD;QACxD,EAAE,OAAON,OAAO;;QAEhB;IACF;IAEAW,IAAAA,gBAAS,EAAC;QACRT,eAAeT;IACf,uDAAuD;IACzD,GAAG,EAAE;IAELkB,IAAAA,gBAAS,EAAC;QACR,IAAI,OAAOhB,UAAU,aAAa;YAChC;QACF;QACAA,OAAOiB,gBAAgB,CAAC,WAAWC;QAEnC,OAAO;YACLlB,OAAOmB,mBAAmB,CAAC,WAAWD;QACxC;IACF;IAEA,MAAMA,sBAAsBnB,IAAAA,kBAAW,EACrC,CAACqB;QACC,IAAI,AAACA,OAAwBxB,OAAO,AAACwB,MAAuBxB,GAAG,KAAKA,KAAK;YACvE;QACF;QACAW,eAAeT;IACjB,GACA;QAACF;QAAKE;KAAU;IAGlB,OAAO;QAACQ;QAAaG;KAAS;AAChC"}
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":["useSessionStorage","key","initialValue","readValue","useCallback","window","item","sessionStorage","getItem","parseJSON","error","storedValue","setStoredValue","useState","setValue","value","newValue","Function","setItem","JSON","stringify","useEffect","addEventListener","handleStorageChange","removeEventListener","event"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAGgBA;;;eAAAA;;;uBAHiC;sBACvB;AAEnB,SAASA,kBACdC,GAAW,EACXC,YAAe;IAEf,gCAAgC;IAChC,2CAA2C;IAC3C,MAAMC,YAAYC,IAAAA,kBAAW,EAAC;QAC5B,kEAAkE;QAClE,IAAI,OAAOC,WAAW,aAAa;YACjC,OAAOH;QACT;QAEA,IAAI;YACF,MAAMI,OAAOD,OAAOE,cAAc,CAACC,OAAO,CAACP;YAC3C,OAAOK,OAAQG,IAAAA,eAAS,EAACH,QAAcJ;QACzC,EAAE,OAAOQ,OAAO;;YAEd,OAAOR;QACT;IACF,GAAG;QAACA;QAAcD;KAAI;IACtB,MAAM,CAACU,aAAaC,eAAe,GAAGC,IAAAA,eAAQ,EAAIV;IAElD,MAAMW,WAA8B,CAACC;QACnC,8DAA8D;QAC9D,IAAI,OAAOV,UAAU,aAAa;;QAIlC;QAEA,IAAI;YACF,mEAAmE;YACnE,MAAMW,WAAWD,iBAAiBE,WAAWF,MAAMJ,eAAeI;YAElE,0BAA0B;YAC1BV,OAAOE,cAAc,CAACW,OAAO,CAACjB,KAAKkB,KAAKC,SAAS,CAACJ;YAElD,aAAa;YACbJ,eAAeI;QAEf,0EAA0E;QAC1E,sDAAsD;QACxD,EAAE,OAAON,OAAO;;QAEhB;IACF;IAEAW,IAAAA,gBAAS,EAAC;QACRT,eAAeT;IACf,uDAAuD;IACzD,GAAG,EAAE;IAELkB,IAAAA,gBAAS,EAAC;QACR,IAAI,OAAOhB,UAAU,aAAa;YAChC;QACF;QACAA,OAAOiB,gBAAgB,GAAG,WAAWC;QAErC,OAAO;YACLlB,OAAOmB,mBAAmB,GAAG,WAAWD;QAC1C;IACF;IAEA,MAAMA,sBAAsBnB,IAAAA,kBAAW,EACrC,CAACqB;QACC,IAAI,AAACA,OAAwBxB,OAAO,AAACwB,MAAuBxB,GAAG,KAAKA,KAAK;YACvE;QACF;QACAW,eAAeT;IACjB,GACA;QAACF;QAAKE;KAAU;IAGlB,OAAO;QAACQ;QAAaG;KAAS;AAChC"}
@@ -2,4 +2,5 @@ export { findTPSLFromOrder, findTPSLFromOrders, findPositionTPSLFromOrders, } fr
2
2
  export { cleanStringStyle } from "./orderEntryHelper";
3
3
  export { getPositionBySymbol } from "./swr";
4
4
  export { priceToPnl } from "../orderly/useTakeProfitAndStopLoss/utils";
5
+ export { formatNumber } from "./orderEntryHelper";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -21,6 +21,9 @@ _export(exports, {
21
21
  findTPSLFromOrders: function() {
22
22
  return _utils.findTPSLFromOrders;
23
23
  },
24
+ formatNumber: function() {
25
+ return _orderEntryHelper.formatNumber;
26
+ },
24
27
  getPositionBySymbol: function() {
25
28
  return _swr.getPositionBySymbol;
26
29
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/index.ts"],"sourcesContent":["export {\n findTPSLFromOrder,\n findTPSLFromOrders,\n findPositionTPSLFromOrders,\n} from \"../orderly/usePositionStream/utils\";\n\nexport { cleanStringStyle } from \"./orderEntryHelper\";\n\nexport { getPositionBySymbol } from \"./swr\";\n\nexport { priceToPnl } from \"../orderly/useTakeProfitAndStopLoss/utils\";\n"],"names":["cleanStringStyle","findPositionTPSLFromOrders","findTPSLFromOrder","findTPSLFromOrders","getPositionBySymbol","priceToPnl"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAMSA,gBAAgB;eAAhBA,kCAAgB;;IAHvBC,0BAA0B;eAA1BA,iCAA0B;;IAF1BC,iBAAiB;eAAjBA,wBAAiB;;IACjBC,kBAAkB;eAAlBA,yBAAkB;;IAMXC,mBAAmB;eAAnBA,wBAAmB;;IAEnBC,UAAU;eAAVA,kBAAU;;;uBANZ;kCAE0B;qBAEG;wBAET"}
1
+ {"version":3,"sources":["../../src/utils/index.ts"],"sourcesContent":["export {\n findTPSLFromOrder,\n findTPSLFromOrders,\n findPositionTPSLFromOrders,\n} from \"../orderly/usePositionStream/utils\";\n\nexport { cleanStringStyle } from \"./orderEntryHelper\";\n\nexport { getPositionBySymbol } from \"./swr\";\n\nexport { priceToPnl } from \"../orderly/useTakeProfitAndStopLoss/utils\";\nexport { formatNumber } from \"./orderEntryHelper\";\n"],"names":["cleanStringStyle","findPositionTPSLFromOrders","findTPSLFromOrder","findTPSLFromOrders","formatNumber","getPositionBySymbol","priceToPnl"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAMSA,gBAAgB;eAAhBA,kCAAgB;;IAHvBC,0BAA0B;eAA1BA,iCAA0B;;IAF1BC,iBAAiB;eAAjBA,wBAAiB;;IACjBC,kBAAkB;eAAlBA,yBAAkB;;IASXC,YAAY;eAAZA,8BAAY;;IAHZC,mBAAmB;eAAnBA,wBAAmB;;IAEnBC,UAAU;eAAVA,kBAAU;;;uBANZ;kCAE0B;qBAEG;wBAET"}
@@ -21,5 +21,6 @@ export declare function orderTypeHandle(inputs: orderEntryInputs): orderEntryInp
21
21
  */
22
22
  export declare function orderEntityFormatHandle(baseTick: number, quoteTick: number): (inputs: orderEntryInputs) => orderEntryInputs;
23
23
  export declare const getCalculateHandler: (fieldName: string) => orderEntryInputHandle;
24
+ export declare function formatNumber(qty?: string | number, dp?: number | string): string | undefined;
24
25
  export {};
25
26
  //# sourceMappingURL=orderEntryHelper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"orderEntryHelper.d.ts","sourceRoot":"","sources":["../../src/utils/orderEntryHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAa,MAAM,wBAAwB,CAAC;AAGhE,MAAM,MAAM,cAAc,GAAG,MAAM,WAAW,GAAG,MAAM,CAAC;AAGxD,KAAK,gBAAgB,GAAG;IACtB,OAAO,CAAC,WAAW,CAAC;IAEpB,MAAM,WAAW;IACjB,GAAG;IACH,MAAM;IACN;QACE,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB;CACF,CAAC;AAEF,KAAK,qBAAqB,GAAG,CAAC,MAAM,EAAE,gBAAgB,KAAK,gBAAgB,CAAC;AAU5E,eAAO,MAAM,gBAAgB,QAAS,MAAM,GAAG,MAAM,KAAG,MAavD,CAAC;AAEF,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CA0B1E;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAU1E;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kDA8B1E;AA2KD,eAAO,MAAM,mBAAmB,cACnB,MAAM,KAChB,qBAgBF,CAAC"}
1
+ {"version":3,"file":"orderEntryHelper.d.ts","sourceRoot":"","sources":["../../src/utils/orderEntryHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAa,MAAM,wBAAwB,CAAC;AAGhE,MAAM,MAAM,cAAc,GAAG,MAAM,WAAW,GAAG,MAAM,CAAC;AAGxD,KAAK,gBAAgB,GAAG;IACtB,OAAO,CAAC,WAAW,CAAC;IAEpB,MAAM,WAAW;IACjB,GAAG;IACH,MAAM;IACN;QACE,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB;CACF,CAAC;AAEF,KAAK,qBAAqB,GAAG,CAAC,MAAM,EAAE,gBAAgB,KAAK,gBAAgB,CAAC;AAU5E,eAAO,MAAM,gBAAgB,QAAS,MAAM,GAAG,MAAM,KAAG,MAavD,CAAC;AAEF,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CA0B1E;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAU1E;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kDA8B1E;AA2KD,eAAO,MAAM,mBAAmB,cACnB,MAAM,KAChB,qBAgBF,CAAC;AAGF,wBAAgB,YAAY,CAC1B,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GACnB,MAAM,GAAG,SAAS,CAwCpB"}
@@ -15,6 +15,9 @@ _export(exports, {
15
15
  cleanStringStyle: function() {
16
16
  return cleanStringStyle;
17
17
  },
18
+ formatNumber: function() {
19
+ return formatNumber;
20
+ },
18
21
  getCalculateHandler: function() {
19
22
  return getCalculateHandler;
20
23
  },
@@ -35,7 +38,7 @@ const needNumberOnlyFields = [
35
38
  ];
36
39
  const cleanStringStyle = (str)=>{
37
40
  if (typeof str !== "string") {
38
- str = str.toString();
41
+ str = `${str}`;
39
42
  }
40
43
  str = str.replace(/,/g, "");
41
44
  // clear extra character expect number and .
@@ -205,7 +208,7 @@ function orderEntityFormatHandle(baseTick, quoteTick) {
205
208
  if (values.order_price) {
206
209
  const price = Number(values.order_price);
207
210
  const total = quantity.mul(price);
208
- values.total = total.todp(2).toString();
211
+ values.total = total.todp(config.quoteDP).toString();
209
212
  } else {
210
213
  values.total = "";
211
214
  }
@@ -289,5 +292,29 @@ const getCalculateHandler = (fieldName)=>{
289
292
  return otherInputHandle;
290
293
  }
291
294
  };
295
+ function formatNumber(qty, dp) {
296
+ if (typeof qty === "undefined") return qty;
297
+ if (typeof dp === "undefined") return `${qty}`;
298
+ // console.log("qty", qty, "dp", dp);
299
+ const _qty = `${qty}`.replace(/,/g, "");
300
+ try {
301
+ const _dp = new _utils.Decimal(dp);
302
+ const _qtyDecimal = new _utils.Decimal(_qty);
303
+ if (_dp.lessThan(1)) {
304
+ if (`${_qty}`.endsWith(".")) return `${_qty}`;
305
+ const numStr = dp.toString();
306
+ const decimalIndex = numStr.indexOf(".");
307
+ const digitsAfterDecimal = decimalIndex === -1 ? 0 : numStr.length - decimalIndex - 1;
308
+ const result = _qtyDecimal.toDecimalPlaces(digitsAfterDecimal, _utils.Decimal.ROUND_DOWN).toString();
309
+ return result;
310
+ }
311
+ if (_qtyDecimal.lessThan(_dp)) {
312
+ return _qty;
313
+ }
314
+ return _qtyDecimal.dividedBy(_dp).toDecimalPlaces(0, _utils.Decimal.ROUND_DOWN).mul(dp).toString();
315
+ } catch (e) {
316
+ return undefined;
317
+ }
318
+ }
292
319
 
293
320
  //# sourceMappingURL=orderEntryHelper.js.map
@@ -1 +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":["baseInputHandle","cleanStringStyle","getCalculateHandler","orderEntityFormatHandle","orderTypeHandle","needNumberOnlyFields","str","toString","replace","inputs","values","input","value","markPrice","config","forEach","field","includes","OrderType","LIMIT","STOP_LIMIT","order_price","total","baseTick","quoteTick","priceInputHandle","price","Decimal","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","fieldName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
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}`;\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(config.quoteDP).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\n//** format number */\nexport function formatNumber(\n qty?: string | number,\n dp?: number | string\n): string | undefined {\n if (typeof qty === \"undefined\") return qty;\n if (typeof dp === \"undefined\") return `${qty}`;\n\n // console.log(\"qty\", qty, \"dp\", dp);\n \n const _qty = `${qty}`.replace(/,/g, \"\");\n \n \n try {\n const _dp = new Decimal(dp);\n const _qtyDecimal = new Decimal(_qty);\n \n if (_dp.lessThan(1)) {\n if (`${_qty}`.endsWith(\".\")) return `${_qty}`;\n \n const numStr = dp.toString();\n const decimalIndex = numStr.indexOf(\".\");\n const digitsAfterDecimal =\n decimalIndex === -1 ? 0 : numStr.length - decimalIndex - 1;\n\n const result = _qtyDecimal\n .toDecimalPlaces(digitsAfterDecimal, Decimal.ROUND_DOWN)\n .toString();\n\n return result;\n }\n\n if (_qtyDecimal.lessThan(_dp)) {\n return _qty;\n }\n\n return _qtyDecimal\n .dividedBy(_dp)\n .toDecimalPlaces(0, Decimal.ROUND_DOWN)\n .mul(dp)\n .toString();\n } catch (e) { \n return undefined;\n }\n}\n"],"names":["baseInputHandle","cleanStringStyle","formatNumber","getCalculateHandler","orderEntityFormatHandle","orderTypeHandle","needNumberOnlyFields","str","replace","inputs","values","input","value","markPrice","config","forEach","field","includes","OrderType","LIMIT","STOP_LIMIT","order_price","total","baseTick","quoteTick","priceInputHandle","price","Decimal","priceDP","dp","quoteDP","toDecimalPlaces","toString","Math","min","order_quantity","newValue","mul","todp","div","baseDP","quantityInputHandle","quantity","quantityDP","toNumber","order_type","MARKET","STOP_MARKET","Number","totalInputHandle","totalDP","otherInputHandle","fieldName","qty","_qty","_dp","_qtyDecimal","lessThan","endsWith","numStr","decimalIndex","indexOf","digitsAfterDecimal","length","result","ROUND_DOWN","dividedBy","e","undefined"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IA2CgBA,eAAe;eAAfA;;IAfHC,gBAAgB;eAAhBA;;IA0RGC,YAAY;eAAZA;;IArBHC,mBAAmB;eAAnBA;;IAzMGC,uBAAuB;eAAvBA;;IAjBAC,eAAe;eAAfA;;;uBAvEuB;uBACf;AAmBxB,MAAMC,uBAA8C;IAClD;IACA;IACA;IACA;CACD;AAGM,MAAML,mBAAmB,CAACM;IAC/B,IAAI,OAAOA,QAAQ,UAAU;QAC3BA,MAAM,CAAC,EAAEA,IAAI,CAAC;IAChB;IACAA,MAAMA,IAAIC,OAAO,CAAC,MAAM;IACxB,4CAA4C;IAC5CD,MAAMA,IACHC,OAAO,CAAC,WAAW,IACnBA,OAAO,CAAC,KAAK,OACbA,OAAO,CAAC,OAAO,IACfA,OAAO,CAAC,OAAO;IAElB,OAAOD;AACT;AAEO,SAASP,gBAAgBS,MAAwB;IACtD,IAAI,CAACC,QAAQC,OAAOC,OAAOC,WAAWC,OAAO,GAAGL;IAEhDH,qBAAqBS,OAAO,CAAC,CAACC;QAC5B,IAAI,OAAON,MAAM,CAACM,MAAM,KAAK,aAAa;YACxC,aAAa;YACbN,MAAM,CAACM,MAAM,GAAGf,iBAAiBS,MAAM,CAACM,MAAM;QAChD;IACF;IAEA,IAAIV,qBAAqBW,QAAQ,CAACN,QAAQ;QACxCC,QAAQX,iBAAiBW;IAC3B;IAEA,OAAO;QACL;YACE,GAAGF,MAAM;YACT,CAACC,MAAM,EAAEC;QACX;QACAD;QACAC;QACAC;QACAC;KACD;AAED,8CAA8C;AAChD;AAEO,SAAST,gBAAgBI,MAAwB;IACtD,MAAM,CAACC,QAAQC,OAAOC,OAAOC,WAAWC,OAAO,GAAGL;IAElD,IAAIG,UAAUM,gBAAS,CAACC,KAAK,IAAIP,UAAUM,gBAAS,CAACE,UAAU,EAAE;QAC/D,IAAIV,OAAOW,WAAW,KAAK,IAAI;YAC7BX,OAAOY,KAAK,GAAG;QACjB;IACF;IAEA,OAAO;QAACZ;QAAQC;QAAOC;QAAOC;QAAWC;KAAO;AAClD;AAOO,SAASV,wBAAwBmB,QAAgB,EAAEC,SAAiB;IACzE,OAAO,SAAUf,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,SAASW,iBAAiBhB,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,MAAMY,QAAQ,IAAIC,cAAO,CAACf;IAC1B,MAAMgB,UAAUF,MAAMG,EAAE;IAExB,IAAID,UAAUd,OAAOgB,OAAO,EAAE;QAC5BpB,OAAOW,WAAW,GAAGK,MAAMK,eAAe,CAACjB,OAAOgB,OAAO,EAAEE,QAAQ;IACrE;IAEAN,MAAMK,eAAe,CAACE,KAAKC,GAAG,CAACN,SAASd,OAAOgB,OAAO;IAEtD,IAAI,CAACpB,OAAOyB,cAAc,IAAI,CAACzB,OAAOY,KAAK,EAAE;QAC3C,OAAO;YAACZ;YAAQC;YAAOC;YAAOC;YAAWC;SAAO;IAClD;IAEA,MAAMsB,WAAW;QACf,GAAG1B,MAAM;IACX;IAEA,IAAIA,OAAOyB,cAAc,EAAE;QACzB,4CAA4C;QAC5CC,SAASd,KAAK,GAAGI,MAAMW,GAAG,CAAC3B,OAAOyB,cAAc,EAAEG,IAAI,CAAC,GAAGN,QAAQ;IACpE,OAAO,IAAItB,OAAOY,KAAK,EAAE;QACvB,qCAAqC;QACrCc,SAASD,cAAc,GAAG,IAAIR,cAAO,CAACjB,OAAOY,KAAK,EAC/CiB,GAAG,CAACb,OACJY,IAAI,CAACxB,OAAO0B,MAAM,EAClBR,QAAQ;IACb;IAEA,iCAAiC;IACjC,OAAO;QACL,IAAI;QACJ,eAAe;QACf,qCAAqC;QACrC,KAAK;QACLI;QACAzB;QACAC;QACAC;QACAC;KACD;AACH;AAEA;;;;CAIC,GACD,SAAS2B,oBAAoBhC,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,IAAI4B,WAAW,IAAIf,cAAO,CAACf;IAC3B,MAAM+B,aAAaD,SAASb,EAAE;IAE9B,iDAAiD;IACjD,IAAIc,aAAa7B,OAAO0B,MAAM,EAAE;QAC9BE,WAAWA,SAASX,eAAe,CAACjB,OAAO0B,MAAM;QACjD9B,OAAOyB,cAAc,GAAGO,SAASE,QAAQ;IAC3C;IAEA,+CAA+C;IAE/C,IAAI;IAEJ,IACElC,OAAOmC,UAAU,KAAK3B,gBAAS,CAAC4B,MAAM,IACtCpC,OAAOmC,UAAU,KAAK3B,gBAAS,CAAC6B,WAAW,EAC3C;QACA,MAAMrB,QAAQb;QACdH,OAAOY,KAAK,GAAGoB,SAASL,GAAG,CAACX,OAAOY,IAAI,CAAC,GAAGN,QAAQ;IACrD;IAEA,IACEtB,OAAOmC,UAAU,KAAK3B,gBAAS,CAACC,KAAK,IACrCT,OAAOmC,UAAU,KAAK3B,gBAAS,CAACE,UAAU,EAC1C;QACA,IAAIV,OAAOW,WAAW,EAAE;YACtB,MAAMK,QAAQsB,OAAOtC,OAAOW,WAAW;YACvC,MAAMC,QAAQoB,SAASL,GAAG,CAACX;YAC3BhB,OAAOY,KAAK,GAAGA,MAAMgB,IAAI,CAACxB,OAAOgB,OAAO,EAAEE,QAAQ;QACpD,OAAO;YACLtB,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,SAASmC,iBAAiBxC,MAAwB;IAChD,MAAM,CAACC,QAAQC,OAAOC,OAAOC,WAAWC,OAAO,GAAGL;IAClD,IAAIG,UAAU,IAAI;QAChB,OAAO;YAAC;gBAAE,GAAGF,MAAM;gBAAEyB,gBAAgB;YAAG;YAAGxB;YAAOC;YAAOC;YAAWC;SAAO;IAC7E;IAEA,IAAIY,QAAQb;IAEZ,IACE,AAACH,CAAAA,OAAOmC,UAAU,KAAK3B,gBAAS,CAACC,KAAK,IACpCT,OAAOmC,UAAU,KAAK3B,gBAAS,CAACE,UAAU,AAAD,KAC3C,CAAC,CAACV,OAAOW,WAAW,EACpB;QACAK,QAAQsB,OAAOtC,OAAOW,WAAW;IACnC;IACA,IAAIC,QAAQ,IAAIK,cAAO,CAACf;IACxB,MAAMsC,UAAU5B,MAAMO,EAAE;IAExB,IAAIqB,UAAUpC,OAAOgB,OAAO,EAAE;QAC5BR,QAAQA,MAAMS,eAAe,CAACjB,OAAOgB,OAAO;QAC5CpB,OAAOY,KAAK,GAAGA,MAAMU,QAAQ;IAC/B;IAEA,MAAMU,WAAWpB,MAAMiB,GAAG,CAACb;IAE3B,OAAO;QACL;YACE,GAAGhB,MAAM;YACTyB,gBAAgBO,SACbX,eAAe,CAACE,KAAKC,GAAG,CAACpB,OAAO0B,MAAM,EAAEE,SAASb,EAAE,KACnDG,QAAQ;QACb;QACArB;QACAC;QACAC;QACAC;KACD;AACH;AAEA;;;;CAIC,GACD,SAASqC,iBAAiB1C,MAAwB;IAChD,OAAOA;AACT;AAEO,MAAMN,sBAAsB,CACjCiD;IAEA,OAAQA;QACN,KAAK;YACH,OAAO/C;QACT,KAAK;YAAkB;gBACrB,OAAOoC;YACT;QACA,KAAK;YAAe;gBAClB,OAAOhB;YACT;QACA,KAAK;YAAS;gBACZ,OAAOwB;YACT;QACA;YACE,OAAOE;IACX;AACF;AAGO,SAASjD,aACdmD,GAAqB,EACrBxB,EAAoB;IAEpB,IAAI,OAAOwB,QAAQ,aAAa,OAAOA;IACvC,IAAI,OAAOxB,OAAO,aAAa,OAAO,CAAC,EAAEwB,IAAI,CAAC;IAE9C,qCAAqC;IAErC,MAAMC,OAAO,CAAC,EAAED,IAAI,CAAC,CAAC7C,OAAO,CAAC,MAAM;IAGpC,IAAI;QACF,MAAM+C,MAAM,IAAI5B,cAAO,CAACE;QACxB,MAAM2B,cAAc,IAAI7B,cAAO,CAAC2B;QAEhC,IAAIC,IAAIE,QAAQ,CAAC,IAAI;YACnB,IAAI,CAAC,EAAEH,KAAK,CAAC,CAACI,QAAQ,CAAC,MAAM,OAAO,CAAC,EAAEJ,KAAK,CAAC;YAE7C,MAAMK,SAAS9B,GAAGG,QAAQ;YAC1B,MAAM4B,eAAeD,OAAOE,OAAO,CAAC;YACpC,MAAMC,qBACJF,iBAAiB,CAAC,IAAI,IAAID,OAAOI,MAAM,GAAGH,eAAe;YAE3D,MAAMI,SAASR,YACZzB,eAAe,CAAC+B,oBAAoBnC,cAAO,CAACsC,UAAU,EACtDjC,QAAQ;YAEX,OAAOgC;QACT;QAEA,IAAIR,YAAYC,QAAQ,CAACF,MAAM;YAC7B,OAAOD;QACT;QAEA,OAAOE,YACJU,SAAS,CAACX,KACVxB,eAAe,CAAC,GAAGJ,cAAO,CAACsC,UAAU,EACrC5B,GAAG,CAACR,IACJG,QAAQ;IACb,EAAE,OAAOmC,GAAG;QACV,OAAOC;IACT;AACF"}
package/lib/version.d.ts CHANGED
@@ -5,6 +5,6 @@ declare global {
5
5
  };
6
6
  }
7
7
  }
8
- declare const _default: "1.5.0";
8
+ declare const _default: "1.5.1";
9
9
  export default _default;
10
10
  //# sourceMappingURL=version.d.ts.map
package/lib/version.js CHANGED
@@ -10,8 +10,8 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  if (typeof window !== 'undefined') {
12
12
  window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};
13
- window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "1.5.0";
13
+ window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "1.5.1";
14
14
  }
15
- const _default = "1.5.0";
15
+ const _default = "1.5.1";
16
16
 
17
17
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/version.ts"],"sourcesContent":["\ndeclare global {\n interface Window {\n __ORDERLY_VERSION__?: {\n [key: string]: string;\n };\n }\n}\nif(typeof window !== 'undefined') {\n window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};\n window.__ORDERLY_VERSION__[\"@orderly.network/hooks\"] = \"1.5.0\";\n};\n\nexport default \"1.5.0\";\n"],"names":["window","__ORDERLY_VERSION__"],"rangeMappings":";;;;;;;;;;;;;;","mappings":";;;;+BAaA;;;eAAA;;;AALA,IAAG,OAAOA,WAAW,aAAa;IAC9BA,OAAOC,mBAAmB,GAAGD,OAAOC,mBAAmB,IAAI,CAAC;IAC5DD,OAAOC,mBAAmB,CAAC,yBAAyB,GAAG;AAC3D;MAEA,WAAe"}
1
+ {"version":3,"sources":["../src/version.ts"],"sourcesContent":["\ndeclare global {\n interface Window {\n __ORDERLY_VERSION__?: {\n [key: string]: string;\n };\n }\n}\nif(typeof window !== 'undefined') {\n window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};\n window.__ORDERLY_VERSION__[\"@orderly.network/hooks\"] = \"1.5.1\";\n};\n\nexport default \"1.5.1\";\n"],"names":["window","__ORDERLY_VERSION__"],"rangeMappings":";;;;;;;;;;;;;;","mappings":";;;;+BAaA;;;eAAA;;;AALA,IAAG,OAAOA,WAAW,aAAa;IAC9BA,OAAOC,mBAAmB,GAAGD,OAAOC,mBAAmB,IAAI,CAAC;IAC5DD,OAAOC,mBAAmB,CAAC,yBAAyB,GAAG;AAC3D;MAEA,WAAe"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orderly.network/hooks",
3
- "version": "1.5.0",
3
+ "version": "1.5.1",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "esm/index.js",
@@ -20,8 +20,8 @@
20
20
  "@swc/cli": "^0.3.12",
21
21
  "@swc/core": "^1.4.12",
22
22
  "@swc/plugin-remove-console": "^1.5.121",
23
- "@testing-library/react-hooks": "^8.0.1",
24
23
  "@testing-library/react": "^14.2.1",
24
+ "@testing-library/react-hooks": "^8.0.1",
25
25
  "@types/jest": "^29.5.3",
26
26
  "@types/ramda": "^0.29.3",
27
27
  "@types/react": "^18.2.38",
@@ -32,18 +32,19 @@
32
32
  "tsup": "^7.1.0",
33
33
  "typedoc": "^0.24.8",
34
34
  "typescript": "^5.1.6",
35
- "tsconfig": "0.3.0"
35
+ "tsconfig": "0.3.1"
36
36
  },
37
37
  "dependencies": {
38
+ "@akamfoad/qr": "^0.4.0",
38
39
  "ramda": "^0.29.0",
39
- "swr": "^2.2.4",
40
+ "swr": "2.2.4",
40
41
  "use-constant": "^1.1.1",
41
42
  "use-debounce": "^9.0.4",
42
- "@orderly.network/core": "1.5.0",
43
- "@orderly.network/utils": "1.5.0",
44
- "@orderly.network/types": "1.5.0",
45
- "@orderly.network/net": "1.5.0",
46
- "@orderly.network/perp": "3.3.0"
43
+ "@orderly.network/core": "1.5.1",
44
+ "@orderly.network/net": "1.5.1",
45
+ "@orderly.network/types": "1.5.1",
46
+ "@orderly.network/perp": "3.3.1",
47
+ "@orderly.network/utils": "1.5.1"
47
48
  },
48
49
  "publishConfig": {
49
50
  "access": "public"