@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.
- package/esm/orderly/orderlyHooks.d.ts +1 -0
- package/esm/orderly/orderlyHooks.d.ts.map +1 -1
- package/esm/orderly/orderlyHooks.js +1 -0
- package/esm/orderly/orderlyHooks.js.map +1 -1
- package/esm/orderly/useCollateral.d.ts.map +1 -1
- package/esm/orderly/useCollateral.js +8 -9
- package/esm/orderly/useCollateral.js.map +1 -1
- package/esm/orderly/usePositionStream/usePositionStream.d.ts +4 -0
- package/esm/orderly/usePositionStream/usePositionStream.d.ts.map +1 -1
- package/esm/orderly/usePositionStream/usePositionStream.js +9 -1
- package/esm/orderly/usePositionStream/usePositionStream.js.map +1 -1
- package/esm/orderly/usePrivateDataObserver.d.ts.map +1 -1
- package/esm/orderly/usePrivateDataObserver.js +8 -2
- package/esm/orderly/usePrivateDataObserver.js.map +1 -1
- package/esm/orderly/useSymbolLeverage.d.ts +2 -0
- package/esm/orderly/useSymbolLeverage.d.ts.map +1 -0
- package/esm/orderly/useSymbolLeverage.js +31 -0
- package/esm/orderly/useSymbolLeverage.js.map +1 -0
- package/esm/orderly/useTakeProfitAndStopLoss/useTPSL.d.ts.map +1 -1
- package/esm/orderly/useTakeProfitAndStopLoss/useTPSL.js +2 -1
- package/esm/orderly/useTakeProfitAndStopLoss/useTPSL.js.map +1 -1
- package/esm/referral/index.d.ts +3 -0
- package/esm/referral/index.d.ts.map +1 -1
- package/esm/referral/index.js +3 -0
- package/esm/referral/index.js.map +1 -1
- package/esm/referral/useCheckReferralCode.d.ts +6 -0
- package/esm/referral/useCheckReferralCode.d.ts.map +1 -0
- package/esm/referral/useCheckReferralCode.js +18 -0
- package/esm/referral/useCheckReferralCode.js.map +1 -0
- package/esm/referral/useGetReferralCode.d.ts +6 -0
- package/esm/referral/useGetReferralCode.d.ts.map +1 -0
- package/esm/referral/useGetReferralCode.js +18 -0
- package/esm/referral/useGetReferralCode.js.map +1 -0
- package/esm/referral/useReferralInfo.d.ts +10 -0
- package/esm/referral/useReferralInfo.d.ts.map +1 -0
- package/esm/referral/useReferralInfo.js +56 -0
- package/esm/referral/useReferralInfo.js.map +1 -0
- package/esm/services/orderMerge/algoOrderMergeHandler.d.ts +1 -0
- package/esm/services/orderMerge/algoOrderMergeHandler.d.ts.map +1 -1
- package/esm/services/orderMerge/algoOrderMergeHandler.js +8 -0
- package/esm/services/orderMerge/algoOrderMergeHandler.js.map +1 -1
- package/esm/services/orderMerge/baseMergeHandler.d.ts +1 -0
- package/esm/services/orderMerge/baseMergeHandler.d.ts.map +1 -1
- package/esm/services/orderMerge/baseMergeHandler.js +1 -1
- package/esm/services/orderMerge/baseMergeHandler.js.map +1 -1
- package/esm/services/orderMerge/regularOrderMergeHandler.d.ts +1 -0
- package/esm/services/orderMerge/regularOrderMergeHandler.d.ts.map +1 -1
- package/esm/services/orderMerge/regularOrderMergeHandler.js +3 -0
- package/esm/services/orderMerge/regularOrderMergeHandler.js.map +1 -1
- package/esm/services/painter/basePaint.d.ts +5 -0
- package/esm/services/painter/basePaint.d.ts.map +1 -1
- package/esm/services/painter/basePaint.js.map +1 -1
- package/esm/services/painter/dataPaint.d.ts +3 -0
- package/esm/services/painter/dataPaint.d.ts.map +1 -1
- package/esm/services/painter/dataPaint.js +88 -16
- package/esm/services/painter/dataPaint.js.map +1 -1
- package/esm/services/painter/layout.config.js +1 -1
- package/esm/services/painter/layout.config.js.map +1 -1
- package/esm/services/painter/painter.d.ts.map +1 -1
- package/esm/services/painter/painter.js +7 -2
- package/esm/services/painter/painter.js.map +1 -1
- package/esm/services/painter/qrPaint.d.ts +8 -0
- package/esm/services/painter/qrPaint.d.ts.map +1 -0
- package/esm/services/painter/qrPaint.js +39 -0
- package/esm/services/painter/qrPaint.js.map +1 -0
- package/esm/useLocalStorage.js +2 -2
- package/esm/useLocalStorage.js.map +1 -1
- package/esm/useMediaQuery.js +7 -7
- package/esm/useMediaQuery.js.map +1 -1
- package/esm/usePoster.d.ts.map +1 -1
- package/esm/usePoster.js +18 -15
- package/esm/usePoster.js.map +1 -1
- package/esm/useSessionStorage.js +2 -2
- package/esm/useSessionStorage.js.map +1 -1
- package/esm/utils/index.d.ts +1 -0
- package/esm/utils/index.d.ts.map +1 -1
- package/esm/utils/index.js +1 -0
- package/esm/utils/index.js.map +1 -1
- package/esm/utils/orderEntryHelper.d.ts +1 -0
- package/esm/utils/orderEntryHelper.d.ts.map +1 -1
- package/esm/utils/orderEntryHelper.js +27 -2
- package/esm/utils/orderEntryHelper.js.map +1 -1
- package/esm/version.d.ts +1 -1
- package/esm/version.js +2 -2
- package/esm/version.js.map +1 -1
- package/lib/orderly/orderlyHooks.d.ts +1 -0
- package/lib/orderly/orderlyHooks.d.ts.map +1 -1
- package/lib/orderly/orderlyHooks.js +4 -0
- package/lib/orderly/orderlyHooks.js.map +1 -1
- package/lib/orderly/useCollateral.d.ts.map +1 -1
- package/lib/orderly/useCollateral.js +8 -9
- package/lib/orderly/useCollateral.js.map +1 -1
- package/lib/orderly/usePositionStream/usePositionStream.d.ts +4 -0
- package/lib/orderly/usePositionStream/usePositionStream.d.ts.map +1 -1
- package/lib/orderly/usePositionStream/usePositionStream.js +9 -1
- package/lib/orderly/usePositionStream/usePositionStream.js.map +1 -1
- package/lib/orderly/usePrivateDataObserver.d.ts.map +1 -1
- package/lib/orderly/usePrivateDataObserver.js +8 -2
- package/lib/orderly/usePrivateDataObserver.js.map +1 -1
- package/lib/orderly/useSymbolLeverage.d.ts +2 -0
- package/lib/orderly/useSymbolLeverage.d.ts.map +1 -0
- package/lib/orderly/useSymbolLeverage.js +41 -0
- package/lib/orderly/useSymbolLeverage.js.map +1 -0
- package/lib/orderly/useTakeProfitAndStopLoss/useTPSL.d.ts.map +1 -1
- package/lib/orderly/useTakeProfitAndStopLoss/useTPSL.js +2 -1
- package/lib/orderly/useTakeProfitAndStopLoss/useTPSL.js.map +1 -1
- package/lib/referral/index.d.ts +3 -0
- package/lib/referral/index.d.ts.map +1 -1
- package/lib/referral/index.js +12 -0
- package/lib/referral/index.js.map +1 -1
- package/lib/referral/useCheckReferralCode.d.ts +6 -0
- package/lib/referral/useCheckReferralCode.d.ts.map +1 -0
- package/lib/referral/useCheckReferralCode.js +28 -0
- package/lib/referral/useCheckReferralCode.js.map +1 -0
- package/lib/referral/useGetReferralCode.d.ts +6 -0
- package/lib/referral/useGetReferralCode.d.ts.map +1 -0
- package/lib/referral/useGetReferralCode.js +28 -0
- package/lib/referral/useGetReferralCode.js.map +1 -0
- package/lib/referral/useReferralInfo.d.ts +10 -0
- package/lib/referral/useReferralInfo.d.ts.map +1 -0
- package/lib/referral/useReferralInfo.js +66 -0
- package/lib/referral/useReferralInfo.js.map +1 -0
- package/lib/services/orderMerge/algoOrderMergeHandler.d.ts +1 -0
- package/lib/services/orderMerge/algoOrderMergeHandler.d.ts.map +1 -1
- package/lib/services/orderMerge/algoOrderMergeHandler.js +8 -0
- package/lib/services/orderMerge/algoOrderMergeHandler.js.map +1 -1
- package/lib/services/orderMerge/baseMergeHandler.d.ts +1 -0
- package/lib/services/orderMerge/baseMergeHandler.d.ts.map +1 -1
- package/lib/services/orderMerge/baseMergeHandler.js +1 -1
- package/lib/services/orderMerge/baseMergeHandler.js.map +1 -1
- package/lib/services/orderMerge/regularOrderMergeHandler.d.ts +1 -0
- package/lib/services/orderMerge/regularOrderMergeHandler.d.ts.map +1 -1
- package/lib/services/orderMerge/regularOrderMergeHandler.js +3 -0
- package/lib/services/orderMerge/regularOrderMergeHandler.js.map +1 -1
- package/lib/services/painter/basePaint.d.ts +5 -0
- package/lib/services/painter/basePaint.d.ts.map +1 -1
- package/lib/services/painter/basePaint.js.map +1 -1
- package/lib/services/painter/dataPaint.d.ts +3 -0
- package/lib/services/painter/dataPaint.d.ts.map +1 -1
- package/lib/services/painter/dataPaint.js +88 -16
- package/lib/services/painter/dataPaint.js.map +1 -1
- package/lib/services/painter/layout.config.js +1 -1
- package/lib/services/painter/layout.config.js.map +1 -1
- package/lib/services/painter/painter.d.ts.map +1 -1
- package/lib/services/painter/painter.js +7 -2
- package/lib/services/painter/painter.js.map +1 -1
- package/lib/services/painter/qrPaint.d.ts +8 -0
- package/lib/services/painter/qrPaint.d.ts.map +1 -0
- package/lib/services/painter/qrPaint.js +49 -0
- package/lib/services/painter/qrPaint.js.map +1 -0
- package/lib/useLocalStorage.js +2 -2
- package/lib/useLocalStorage.js.map +1 -1
- package/lib/useMediaQuery.js +7 -7
- package/lib/useMediaQuery.js.map +1 -1
- package/lib/usePoster.d.ts.map +1 -1
- package/lib/usePoster.js +18 -15
- package/lib/usePoster.js.map +1 -1
- package/lib/useSessionStorage.js +2 -2
- package/lib/useSessionStorage.js.map +1 -1
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.d.ts.map +1 -1
- package/lib/utils/index.js +3 -0
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/orderEntryHelper.d.ts +1 -0
- package/lib/utils/orderEntryHelper.d.ts.map +1 -1
- package/lib/utils/orderEntryHelper.js +29 -2
- package/lib/utils/orderEntryHelper.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +2 -2
- package/lib/version.js.map +1 -1
- package/package.json +10 -9
package/lib/useSessionStorage.js
CHANGED
|
@@ -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,
|
|
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"}
|
package/lib/utils/index.d.ts
CHANGED
|
@@ -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
|
package/lib/utils/index.d.ts.map
CHANGED
|
@@ -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"}
|
package/lib/utils/index.js
CHANGED
package/lib/utils/index.js.map
CHANGED
|
@@ -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":"
|
|
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
|
|
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(
|
|
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":";;;;;;;;;;;IA2CgBA,eAAe;eAAfA;;IAfHC,gBAAgB;eAAhBA;;IAqQAC,mBAAmB;eAAnBA;;IAzMGC,uBAAuB;eAAvBA;;IAjBAC,eAAe;eAAfA;;;uBAvEuB;uBACf;AAmBxB,MAAMC,uBAA8C;IAClD;IACA;IACA;IACA;CACD;AAGM,MAAMJ,mBAAmB,CAACK;IAC/B,IAAI,OAAOA,QAAQ,UAAU;QAC3BA,MAAMA,IAAIC,QAAQ;IACpB;IACAD,MAAMA,IAAIE,OAAO,CAAC,MAAM;IACxB,4CAA4C;IAC5CF,MAAMA,IACHE,OAAO,CAAC,WAAW,IACnBA,OAAO,CAAC,KAAK,OACbA,OAAO,CAAC,OAAO,IACfA,OAAO,CAAC,OAAO;IAElB,OAAOF;AACT;AAEO,SAASN,gBAAgBS,MAAwB;IACtD,IAAI,CAACC,QAAQC,OAAOC,OAAOC,WAAWC,OAAO,GAAGL;IAEhDJ,qBAAqBU,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,IAAIX,qBAAqBY,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,SAASV,gBAAgBK,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,SAASX,wBAAwBoB,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,EAAEvB,QAAQ;IACrE;IAEAmB,MAAMK,eAAe,CAACC,KAAKC,GAAG,CAACL,SAASd,OAAOgB,OAAO;IAEtD,IAAI,CAACpB,OAAOwB,cAAc,IAAI,CAACxB,OAAOY,KAAK,EAAE;QAC3C,OAAO;YAACZ;YAAQC;YAAOC;YAAOC;YAAWC;SAAO;IAClD;IAEA,MAAMqB,WAAW;QACf,GAAGzB,MAAM;IACX;IAEA,IAAIA,OAAOwB,cAAc,EAAE;QACzB,4CAA4C;QAC5CC,SAASb,KAAK,GAAGI,MAAMU,GAAG,CAAC1B,OAAOwB,cAAc,EAAEG,IAAI,CAAC,GAAG9B,QAAQ;IACpE,OAAO,IAAIG,OAAOY,KAAK,EAAE;QACvB,qCAAqC;QACrCa,SAASD,cAAc,GAAG,IAAIP,cAAO,CAACjB,OAAOY,KAAK,EAC/CgB,GAAG,CAACZ,OACJW,IAAI,CAACvB,OAAOyB,MAAM,EAClBhC,QAAQ;IACb;IAEA,iCAAiC;IACjC,OAAO;QACL,IAAI;QACJ,eAAe;QACf,qCAAqC;QACrC,KAAK;QACL4B;QACAxB;QACAC;QACAC;QACAC;KACD;AACH;AAEA;;;;CAIC,GACD,SAAS0B,oBAAoB/B,MAAwB;IACnD,MAAM,CAACC,QAAQC,OAAOC,OAAOC,WAAWC,OAAO,GAAGL;IAElD,IAAIG,UAAU,IAAI;QAChB,OAAO;YAAC;gBAAE,GAAGF,MAAM;gBAAEY,OAAO;YAAG;YAAGX;YAAOC;YAAOC;YAAWC;SAAO;IACpE;IAEA,IAAI2B,WAAW,IAAId,cAAO,CAACf;IAC3B,MAAM8B,aAAaD,SAASZ,EAAE;IAE9B,iDAAiD;IACjD,IAAIa,aAAa5B,OAAOyB,MAAM,EAAE;QAC9BE,WAAWA,SAASV,eAAe,CAACjB,OAAOyB,MAAM;QACjD7B,OAAOwB,cAAc,GAAGO,SAASE,QAAQ;IAC3C;IAEA,+CAA+C;IAE/C,IAAI;IAEJ,IACEjC,OAAOkC,UAAU,KAAK1B,gBAAS,CAAC2B,MAAM,IACtCnC,OAAOkC,UAAU,KAAK1B,gBAAS,CAAC4B,WAAW,EAC3C;QACA,MAAMpB,QAAQb;QACdH,OAAOY,KAAK,GAAGmB,SAASL,GAAG,CAACV,OAAOW,IAAI,CAAC,GAAG9B,QAAQ;IACrD;IAEA,IACEG,OAAOkC,UAAU,KAAK1B,gBAAS,CAACC,KAAK,IACrCT,OAAOkC,UAAU,KAAK1B,gBAAS,CAACE,UAAU,EAC1C;QACA,IAAIV,OAAOW,WAAW,EAAE;YACtB,MAAMK,QAAQqB,OAAOrC,OAAOW,WAAW;YACvC,MAAMC,QAAQmB,SAASL,GAAG,CAACV;YAC3BhB,OAAOY,KAAK,GAAGA,MAAMe,IAAI,CAAC,GAAG9B,QAAQ;QACvC,OAAO;YACLG,OAAOY,KAAK,GAAG;QACjB;IACF;IAEA,8BAA8B;IAC9B,iDAAiD;IAEjD,OAAO;QACL;YACE,GAAGZ,MAAM;QAEX;QACAC;QACAC;QACAC;QACAC;KACD;AACH;AAEA;;;;CAIC,GACD,SAASkC,iBAAiBvC,MAAwB;IAChD,MAAM,CAACC,QAAQC,OAAOC,OAAOC,WAAWC,OAAO,GAAGL;IAClD,IAAIG,UAAU,IAAI;QAChB,OAAO;YAAC;gBAAE,GAAGF,MAAM;gBAAEwB,gBAAgB;YAAG;YAAGvB;YAAOC;YAAOC;YAAWC;SAAO;IAC7E;IAEA,IAAIY,QAAQb;IAEZ,IACE,AAACH,CAAAA,OAAOkC,UAAU,KAAK1B,gBAAS,CAACC,KAAK,IACpCT,OAAOkC,UAAU,KAAK1B,gBAAS,CAACE,UAAU,AAAD,KAC3C,CAAC,CAACV,OAAOW,WAAW,EACpB;QACAK,QAAQqB,OAAOrC,OAAOW,WAAW;IACnC;IACA,IAAIC,QAAQ,IAAIK,cAAO,CAACf;IACxB,MAAMqC,UAAU3B,MAAMO,EAAE;IAExB,IAAIoB,UAAUnC,OAAOgB,OAAO,EAAE;QAC5BR,QAAQA,MAAMS,eAAe,CAACjB,OAAOgB,OAAO;QAC5CpB,OAAOY,KAAK,GAAGA,MAAMf,QAAQ;IAC/B;IAEA,MAAMkC,WAAWnB,MAAMgB,GAAG,CAACZ;IAE3B,OAAO;QACL;YACE,GAAGhB,MAAM;YACTwB,gBAAgBO,SACbV,eAAe,CAACC,KAAKC,GAAG,CAACnB,OAAOyB,MAAM,EAAEE,SAASZ,EAAE,KACnDtB,QAAQ;QACb;QACAI;QACAC;QACAC;QACAC;KACD;AACH;AAEA;;;;CAIC,GACD,SAASoC,iBAAiBzC,MAAwB;IAChD,OAAOA;AACT;AAEO,MAAMP,sBAAsB,CACjCiD;IAEA,OAAQA;QACN,KAAK;YACH,OAAO/C;QACT,KAAK;YAAkB;gBACrB,OAAOoC;YACT;QACA,KAAK;YAAe;gBAClB,OAAOf;YACT;QACA,KAAK;YAAS;gBACZ,OAAOuB;YACT;QACA;YACE,OAAOE;IACX;AACF"}
|
|
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":"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"}
|
package/lib/version.d.ts
CHANGED
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.
|
|
13
|
+
window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "1.5.1";
|
|
14
14
|
}
|
|
15
|
-
const _default = "1.5.
|
|
15
|
+
const _default = "1.5.1";
|
|
16
16
|
|
|
17
17
|
//# sourceMappingURL=version.js.map
|
package/lib/version.js.map
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
35
|
+
"tsconfig": "0.3.1"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
+
"@akamfoad/qr": "^0.4.0",
|
|
38
39
|
"ramda": "^0.29.0",
|
|
39
|
-
"swr": "
|
|
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.
|
|
43
|
-
"@orderly.network/
|
|
44
|
-
"@orderly.network/types": "1.5.
|
|
45
|
-
"@orderly.network/
|
|
46
|
-
"@orderly.network/
|
|
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"
|