@orderly.network/hooks 1.2.0 → 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/configProvider.d.ts +7 -1
- package/esm/configProvider.d.ts.map +1 -1
- package/esm/configProvider.js +44 -18
- package/esm/configProvider.js.map +1 -0
- package/esm/dataProvider.js +24 -19
- package/esm/dataProvider.js.map +1 -0
- package/esm/index.d.ts +1 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +4 -1
- package/esm/index.js.map +1 -0
- package/esm/middleware/signatureMiddleware.js +9 -8
- package/esm/middleware/signatureMiddleware.js.map +1 -0
- package/esm/orderly/orderbook.service.js +39 -28
- package/esm/orderly/orderbook.service.js.map +1 -0
- package/esm/orderly/orderlyHooks.d.ts +3 -0
- package/esm/orderly/orderlyHooks.d.ts.map +1 -1
- package/esm/orderly/orderlyHooks.js +2 -0
- package/esm/orderly/orderlyHooks.js.map +1 -0
- package/esm/orderly/useAccountInfo.js +3 -1
- package/esm/orderly/useAccountInfo.js.map +1 -0
- package/esm/orderly/useChain.js +16 -9
- package/esm/orderly/useChain.js.map +1 -0
- package/esm/orderly/useChains.d.ts +11 -12
- package/esm/orderly/useChains.d.ts.map +1 -1
- package/esm/orderly/useChains.js +68 -46
- package/esm/orderly/useChains.js.map +1 -0
- package/esm/orderly/useCollateral.d.ts +3 -4
- package/esm/orderly/useCollateral.d.ts.map +1 -1
- package/esm/orderly/useCollateral.js +53 -20
- package/esm/orderly/useCollateral.js.map +1 -0
- package/esm/orderly/useDeposit.js +123 -125
- package/esm/orderly/useDeposit.js.map +1 -0
- package/esm/orderly/useFundingRate.js +14 -13
- package/esm/orderly/useFundingRate.js.map +1 -0
- package/esm/orderly/useFundingRates.js +6 -4
- package/esm/orderly/useFundingRates.js.map +1 -0
- package/esm/orderly/useHoldingStream.js +19 -15
- package/esm/orderly/useHoldingStream.js.map +1 -0
- package/esm/orderly/useIndexPrice.js +7 -5
- package/esm/orderly/useIndexPrice.js.map +1 -0
- package/esm/orderly/useLeverage.js +9 -12
- package/esm/orderly/useLeverage.js.map +1 -0
- package/esm/orderly/useMarginRatio.js +27 -13
- package/esm/orderly/useMarginRatio.js.map +1 -0
- package/esm/orderly/useMarkPrice.js +13 -7
- package/esm/orderly/useMarkPrice.js.map +1 -0
- package/esm/orderly/useMarkPricesStream.d.ts +1 -1
- package/esm/orderly/useMarkPricesStream.d.ts.map +1 -1
- package/esm/orderly/useMarkPricesStream.js +9 -8
- package/esm/orderly/useMarkPricesStream.js.map +1 -0
- package/esm/orderly/useMarketTradeStream.js +33 -18
- package/esm/orderly/useMarketTradeStream.js.map +1 -0
- package/esm/orderly/useMarkets.js +144 -81
- package/esm/orderly/useMarkets.js.map +1 -0
- package/esm/orderly/useMarketsStream.js +23 -28
- package/esm/orderly/useMarketsStream.js.map +1 -0
- package/esm/orderly/useMaxQty.d.ts +6 -0
- package/esm/orderly/useMaxQty.d.ts.map +1 -1
- package/esm/orderly/useMaxQty.js +26 -18
- package/esm/orderly/useMaxQty.js.map +1 -0
- package/esm/orderly/useOpenInterest.js +7 -5
- package/esm/orderly/useOpenInterest.js.map +1 -0
- package/esm/orderly/useOrderEntry.js +182 -160
- package/esm/orderly/useOrderEntry.js.map +1 -0
- package/esm/orderly/useOrderStream.js +85 -66
- package/esm/orderly/useOrderStream.js.map +1 -0
- package/esm/orderly/useOrderbookStream.d.ts +2 -3
- package/esm/orderly/useOrderbookStream.d.ts.map +1 -1
- package/esm/orderly/useOrderbookStream.js +173 -103
- package/esm/orderly/useOrderbookStream.js.map +1 -0
- package/esm/orderly/usePositionStream.js +82 -62
- package/esm/orderly/usePositionStream.js.map +1 -0
- package/esm/orderly/usePrivateDataObserver.js +55 -48
- package/esm/orderly/usePrivateDataObserver.js.map +1 -0
- package/esm/orderly/useSettleSubscription.js +8 -6
- package/esm/orderly/useSettleSubscription.js.map +1 -0
- package/esm/orderly/useSymbolPriceRange.js +14 -8
- package/esm/orderly/useSymbolPriceRange.js.map +1 -0
- package/esm/orderly/useSymbolsInfo.js +7 -5
- package/esm/orderly/useSymbolsInfo.js.map +1 -0
- package/esm/orderly/useTickerStream.d.ts +5 -1
- package/esm/orderly/useTickerStream.d.ts.map +1 -1
- package/esm/orderly/useTickerStream.js +26 -29
- package/esm/orderly/useTickerStream.js.map +1 -0
- package/esm/orderly/useWalletSubscription.js +8 -6
- package/esm/orderly/useWalletSubscription.js.map +1 -0
- package/esm/orderly/useWithdraw.js +19 -11
- package/esm/orderly/useWithdraw.js.map +1 -0
- package/esm/orderlyContext.d.ts +8 -1
- package/esm/orderlyContext.d.ts.map +1 -1
- package/esm/orderlyContext.js +2 -1
- package/esm/orderlyContext.js.map +1 -0
- package/esm/services/dataCenter.js +10 -8
- package/esm/services/dataCenter.js.map +1 -0
- package/esm/services/painter/backgroundPaint.js +11 -14
- package/esm/services/painter/backgroundPaint.js.map +1 -0
- package/esm/services/painter/basePaint.js +5 -1
- package/esm/services/painter/basePaint.js.map +1 -0
- package/esm/services/painter/dataPaint.js +53 -50
- package/esm/services/painter/dataPaint.js.map +1 -0
- package/esm/services/painter/layout.config.js +15 -13
- package/esm/services/painter/layout.config.js.map +1 -0
- package/esm/services/painter/painter.js +14 -13
- package/esm/services/painter/painter.js.map +1 -0
- package/esm/services/painter/resource.js +6 -4
- package/esm/services/painter/resource.js.map +1 -0
- package/esm/statusProvider.js +10 -3
- package/esm/statusProvider.js.map +1 -0
- package/esm/unuse/apiPrefixMiddleware.js +18 -16
- package/esm/unuse/apiPrefixMiddleware.js.map +1 -0
- package/esm/unuse/fn.js +3 -1
- package/esm/unuse/fn.js.map +1 -0
- package/esm/unuse/useBalance.js +6 -4
- package/esm/unuse/useBalance.js.map +1 -0
- package/esm/unuse/useFetures.js +26 -18
- package/esm/unuse/useFetures.js.map +1 -0
- package/esm/unuse/useRunOnce.js +10 -7
- package/esm/unuse/useRunOnce.js.map +1 -0
- package/esm/unuse/useSyncEnd.js +5 -4
- package/esm/unuse/useSyncEnd.js.map +1 -0
- package/esm/unuse/useTokenInfo.js +7 -5
- package/esm/unuse/useTokenInfo.js.map +1 -0
- package/esm/unuse/useUnsettlementPnL.js +7 -3
- package/esm/unuse/useUnsettlementPnL.js.map +1 -0
- package/esm/useAccount.js +18 -21
- package/esm/useAccount.js.map +1 -0
- package/esm/useAccountInstance.js +6 -7
- package/esm/useAccountInstance.js.map +1 -0
- package/esm/useBoolean.js +14 -5
- package/esm/useBoolean.js.map +1 -0
- package/esm/useConfig.js +3 -1
- package/esm/useConfig.js.map +1 -0
- package/esm/useEventEmitter.js +4 -2
- package/esm/useEventEmitter.js.map +1 -0
- package/esm/useLazyQuery.js +6 -7
- package/esm/useLazyQuery.js.map +1 -0
- package/esm/useLocalStorage.js +30 -20
- package/esm/useLocalStorage.js.map +1 -0
- package/esm/useMediaQuery.js +11 -9
- package/esm/useMediaQuery.js.map +1 -0
- package/esm/useMutation.js +26 -37
- package/esm/useMutation.js.map +1 -0
- package/esm/useObserve.js +4 -4
- package/esm/useObserve.js.map +1 -0
- package/esm/useParamsCheck.js +8 -10
- package/esm/useParamsCheck.js.map +1 -0
- package/esm/usePoster.js +56 -45
- package/esm/usePoster.js.map +1 -0
- package/esm/usePreloadData.js +9 -5
- package/esm/usePreloadData.js.map +1 -0
- package/esm/usePrivateInfiniteQuery.js +15 -9
- package/esm/usePrivateInfiniteQuery.js.map +1 -0
- package/esm/usePrivateQuery.js +15 -8
- package/esm/usePrivateQuery.js.map +1 -0
- package/esm/useQuery.js +6 -5
- package/esm/useQuery.js.map +1 -0
- package/esm/useSessionStorage.js +28 -19
- package/esm/useSessionStorage.js.map +1 -0
- package/esm/useWS.js +15 -13
- package/esm/useWS.js.map +1 -0
- package/esm/useWsStatus.js +12 -12
- package/esm/useWsStatus.js.map +1 -0
- package/esm/utils/createGetter.js +8 -8
- package/esm/utils/createGetter.js.map +1 -0
- package/esm/utils/createOrder.d.ts +1 -0
- package/esm/utils/createOrder.d.ts.map +1 -1
- package/esm/utils/createOrder.js +59 -43
- package/esm/utils/createOrder.js.map +1 -0
- package/esm/utils/dev.js +6 -4
- package/esm/utils/dev.js.map +1 -0
- package/esm/utils/fetcher.js +3 -1
- package/esm/utils/fetcher.js.map +1 -0
- package/esm/utils/json.js +3 -2
- package/esm/utils/json.js.map +1 -0
- package/esm/utils/orderEntryHelper.js +92 -63
- package/esm/utils/orderEntryHelper.js.map +1 -0
- package/esm/utils/parseHolding.js +10 -6
- package/esm/utils/parseHolding.js.map +1 -0
- package/esm/utils/swr.js +114 -104
- package/esm/utils/swr.js.map +1 -0
- package/esm/version.d.ts +1 -1
- package/esm/version.js +4 -3
- package/esm/version.js.map +1 -0
- package/esm/walletConnectorContext.js +4 -2
- package/esm/walletConnectorContext.js.map +1 -0
- package/lib/configProvider.d.ts +7 -1
- package/lib/configProvider.d.ts.map +1 -1
- package/lib/configProvider.js +108 -56
- package/lib/configProvider.js.map +1 -0
- package/lib/dataProvider.js +50 -29
- package/lib/dataProvider.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +191 -88
- package/lib/index.js.map +1 -0
- package/lib/middleware/signatureMiddleware.js +22 -15
- package/lib/middleware/signatureMiddleware.js.map +1 -0
- package/lib/orderly/orderbook.service.js +59 -33
- package/lib/orderly/orderbook.service.js.map +1 -0
- package/lib/orderly/orderlyHooks.d.ts +3 -0
- package/lib/orderly/orderlyHooks.d.ts.map +1 -1
- package/lib/orderly/orderlyHooks.js +124 -57
- package/lib/orderly/orderlyHooks.js.map +1 -0
- package/lib/orderly/useAccountInfo.js +14 -6
- package/lib/orderly/useAccountInfo.js.map +1 -0
- package/lib/orderly/useChain.js +30 -17
- package/lib/orderly/useChain.js.map +1 -0
- package/lib/orderly/useChains.d.ts +11 -12
- package/lib/orderly/useChains.d.ts.map +1 -1
- package/lib/orderly/useChains.js +100 -59
- package/lib/orderly/useChains.js.map +1 -0
- package/lib/orderly/useCollateral.d.ts +3 -4
- package/lib/orderly/useCollateral.d.ts.map +1 -1
- package/lib/orderly/useCollateral.js +81 -42
- package/lib/orderly/useCollateral.js.map +1 -0
- package/lib/orderly/useDeposit.js +154 -150
- package/lib/orderly/useDeposit.js.map +1 -0
- package/lib/orderly/useFundingRate.js +29 -22
- package/lib/orderly/useFundingRate.js.map +1 -0
- package/lib/orderly/useFundingRates.js +19 -11
- package/lib/orderly/useFundingRates.js.map +1 -0
- package/lib/orderly/useHoldingStream.js +39 -27
- package/lib/orderly/useHoldingStream.js.map +1 -0
- package/lib/orderly/useIndexPrice.js +24 -14
- package/lib/orderly/useIndexPrice.js.map +1 -0
- package/lib/orderly/useLeverage.js +27 -24
- package/lib/orderly/useLeverage.js.map +1 -0
- package/lib/orderly/useMarginRatio.js +49 -29
- package/lib/orderly/useMarginRatio.js.map +1 -0
- package/lib/orderly/useMarkPrice.js +26 -15
- package/lib/orderly/useMarkPrice.js.map +1 -0
- package/lib/orderly/useMarkPricesStream.d.ts +1 -1
- package/lib/orderly/useMarkPricesStream.d.ts.map +1 -1
- package/lib/orderly/useMarkPricesStream.js +26 -17
- package/lib/orderly/useMarkPricesStream.js.map +1 -0
- package/lib/orderly/useMarketTradeStream.js +47 -26
- package/lib/orderly/useMarketTradeStream.js.map +1 -0
- package/lib/orderly/useMarkets.js +172 -95
- package/lib/orderly/useMarkets.js.map +1 -0
- package/lib/orderly/useMarketsStream.js +44 -41
- package/lib/orderly/useMarketsStream.js.map +1 -0
- package/lib/orderly/useMaxQty.d.ts +6 -0
- package/lib/orderly/useMaxQty.d.ts.map +1 -1
- package/lib/orderly/useMaxQty.js +52 -43
- package/lib/orderly/useMaxQty.js.map +1 -0
- package/lib/orderly/useOpenInterest.js +24 -14
- package/lib/orderly/useOpenInterest.js.map +1 -0
- package/lib/orderly/useOrderEntry.js +238 -210
- package/lib/orderly/useOrderEntry.js.map +1 -0
- package/lib/orderly/useOrderStream.js +111 -84
- package/lib/orderly/useOrderStream.js.map +1 -0
- package/lib/orderly/useOrderbookStream.d.ts +2 -3
- package/lib/orderly/useOrderbookStream.d.ts.map +1 -1
- package/lib/orderly/useOrderbookStream.js +227 -148
- package/lib/orderly/useOrderbookStream.js.map +1 -0
- package/lib/orderly/usePositionStream.js +134 -100
- package/lib/orderly/usePositionStream.js.map +1 -0
- package/lib/orderly/usePrivateDataObserver.js +76 -63
- package/lib/orderly/usePrivateDataObserver.js.map +1 -0
- package/lib/orderly/useSettleSubscription.js +25 -15
- package/lib/orderly/useSettleSubscription.js.map +1 -0
- package/lib/orderly/useSymbolPriceRange.js +29 -23
- package/lib/orderly/useSymbolPriceRange.js.map +1 -0
- package/lib/orderly/useSymbolsInfo.js +23 -15
- package/lib/orderly/useSymbolsInfo.js.map +1 -0
- package/lib/orderly/useTickerStream.d.ts +5 -1
- package/lib/orderly/useTickerStream.d.ts.map +1 -1
- package/lib/orderly/useTickerStream.js +51 -48
- package/lib/orderly/useTickerStream.js.map +1 -0
- package/lib/orderly/useWalletSubscription.js +25 -15
- package/lib/orderly/useWalletSubscription.js.map +1 -0
- package/lib/orderly/useWithdraw.js +36 -22
- package/lib/orderly/useWithdraw.js.map +1 -0
- package/lib/orderlyContext.d.ts +8 -1
- package/lib/orderlyContext.d.ts.map +1 -1
- package/lib/orderlyContext.js +22 -6
- package/lib/orderlyContext.js.map +1 -0
- package/lib/services/dataCenter.js +15 -11
- package/lib/services/dataCenter.js.map +1 -0
- package/lib/services/painter/backgroundPaint.js +21 -18
- package/lib/services/painter/backgroundPaint.js.map +1 -0
- package/lib/services/painter/basePaint.js +14 -4
- package/lib/services/painter/basePaint.js.map +1 -0
- package/lib/services/painter/dataPaint.js +67 -58
- package/lib/services/painter/dataPaint.js.map +1 -0
- package/lib/services/painter/layout.config.js +25 -16
- package/lib/services/painter/layout.config.js.map +1 -0
- package/lib/services/painter/painter.js +27 -20
- package/lib/services/painter/painter.js.map +1 -0
- package/lib/services/painter/resource.js +15 -7
- package/lib/services/painter/resource.js.map +1 -0
- package/lib/statusProvider.js +31 -10
- package/lib/statusProvider.js.map +1 -0
- package/lib/unuse/apiPrefixMiddleware.js +30 -22
- package/lib/unuse/apiPrefixMiddleware.js.map +1 -0
- package/lib/unuse/fn.js +14 -5
- package/lib/unuse/fn.js.map +1 -0
- package/lib/unuse/useBalance.js +23 -13
- package/lib/unuse/useBalance.js.map +1 -0
- package/lib/unuse/useFetures.js +41 -28
- package/lib/unuse/useFetures.js.map +1 -0
- package/lib/unuse/useRunOnce.js +61 -11
- package/lib/unuse/useRunOnce.js.map +1 -0
- package/lib/unuse/useSyncEnd.js +17 -10
- package/lib/unuse/useSyncEnd.js.map +1 -0
- package/lib/unuse/useTokenInfo.js +20 -12
- package/lib/unuse/useTokenInfo.js.map +1 -0
- package/lib/unuse/useUnsettlementPnL.js +21 -11
- package/lib/unuse/useUnsettlementPnL.js.map +1 -0
- package/lib/useAccount.js +32 -29
- package/lib/useAccount.js.map +1 -0
- package/lib/useAccountInstance.js +27 -20
- package/lib/useAccountInstance.js.map +1 -0
- package/lib/useBoolean.js +25 -10
- package/lib/useBoolean.js.map +1 -0
- package/lib/useConfig.js +15 -7
- package/lib/useConfig.js.map +1 -0
- package/lib/useEventEmitter.js +23 -13
- package/lib/useEventEmitter.js.map +1 -0
- package/lib/useLazyQuery.js +25 -23
- package/lib/useLazyQuery.js.map +1 -0
- package/lib/useLocalStorage.js +44 -28
- package/lib/useLocalStorage.js.map +1 -0
- package/lib/useMediaQuery.js +22 -14
- package/lib/useMediaQuery.js.map +1 -0
- package/lib/useMutation.js +47 -52
- package/lib/useMutation.js.map +1 -0
- package/lib/useObserve.js +22 -8
- package/lib/useObserve.js.map +1 -0
- package/lib/useParamsCheck.js +18 -14
- package/lib/useParamsCheck.js.map +1 -0
- package/lib/usePoster.js +80 -74
- package/lib/usePoster.js.map +1 -0
- package/lib/usePreloadData.js +21 -11
- package/lib/usePreloadData.js.map +1 -0
- package/lib/usePrivateInfiniteQuery.js +36 -22
- package/lib/usePrivateInfiniteQuery.js.map +1 -0
- package/lib/usePrivateQuery.js +35 -25
- package/lib/usePrivateQuery.js.map +1 -0
- package/lib/useQuery.js +24 -20
- package/lib/useQuery.js.map +1 -0
- package/lib/useSessionStorage.js +41 -26
- package/lib/useSessionStorage.js.map +1 -0
- package/lib/useWS.js +42 -32
- package/lib/useWS.js.map +1 -0
- package/lib/useWsStatus.js +34 -20
- package/lib/useWsStatus.js.map +1 -0
- package/lib/utils/createGetter.js +19 -14
- package/lib/utils/createGetter.js.map +1 -0
- package/lib/utils/createOrder.d.ts +1 -0
- package/lib/utils/createOrder.d.ts.map +1 -1
- package/lib/utils/createOrder.js +133 -82
- package/lib/utils/createOrder.js.map +1 -0
- package/lib/utils/dev.js +13 -9
- package/lib/utils/dev.js.map +1 -0
- package/lib/utils/fetcher.js +13 -5
- package/lib/utils/fetcher.js.map +1 -0
- package/lib/utils/json.js +12 -5
- package/lib/utils/json.js.map +1 -0
- package/lib/utils/orderEntryHelper.js +125 -82
- package/lib/utils/orderEntryHelper.js.map +1 -0
- package/lib/utils/parseHolding.js +19 -9
- package/lib/utils/parseHolding.js.map +1 -0
- package/lib/utils/swr.js +134 -111
- package/lib/utils/swr.js.map +1 -0
- package/lib/version.d.ts +1 -1
- package/lib/version.js +13 -4
- package/lib/version.js.map +1 -0
- package/lib/walletConnectorContext.js +23 -7
- package/lib/walletConnectorContext.js.map +1 -0
- package/package.json +17 -9
package/lib/useSessionStorage.js
CHANGED
|
@@ -1,30 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "useSessionStorage", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return useSessionStorage;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _react = require("react");
|
|
12
|
+
const _json = require("./utils/json");
|
|
6
13
|
function useSessionStorage(key, initialValue) {
|
|
7
14
|
// Get from session storage then
|
|
8
15
|
// parse stored json or return initialValue
|
|
9
|
-
const readValue = (0,
|
|
16
|
+
const readValue = (0, _react.useCallback)(()=>{
|
|
10
17
|
// Prevent build error "window is undefined" but keep keep working
|
|
11
18
|
if (typeof window === "undefined") {
|
|
12
19
|
return initialValue;
|
|
13
20
|
}
|
|
14
21
|
try {
|
|
15
22
|
const item = window.sessionStorage.getItem(key);
|
|
16
|
-
return item ? (0,
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
console.warn(`Error reading sessionStorage key “${key}”:`, error);
|
|
23
|
+
return item ? (0, _json.parseJSON)(item) : initialValue;
|
|
24
|
+
} catch (error) {
|
|
25
|
+
;
|
|
20
26
|
return initialValue;
|
|
21
27
|
}
|
|
22
|
-
}, [
|
|
23
|
-
|
|
24
|
-
|
|
28
|
+
}, [
|
|
29
|
+
initialValue,
|
|
30
|
+
key
|
|
31
|
+
]);
|
|
32
|
+
const [storedValue, setStoredValue] = (0, _react.useState)(readValue);
|
|
33
|
+
const setValue = (value)=>{
|
|
25
34
|
// Prevent build error "window is undefined" but keeps working
|
|
26
35
|
if (typeof window == "undefined") {
|
|
27
|
-
|
|
36
|
+
;
|
|
28
37
|
}
|
|
29
38
|
try {
|
|
30
39
|
// Allow value to be a function so we have the same API as useState
|
|
@@ -33,32 +42,38 @@ function useSessionStorage(key, initialValue) {
|
|
|
33
42
|
window.sessionStorage.setItem(key, JSON.stringify(newValue));
|
|
34
43
|
// Save state
|
|
35
44
|
setStoredValue(newValue);
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
console.warn(`Error setting sessionStorage key “${key}”:`, error);
|
|
45
|
+
// We dispatch a custom event so every useSessionStorage hook are notified
|
|
46
|
+
// window.dispatchEvent(new Event("session-storage"));
|
|
47
|
+
} catch (error) {
|
|
48
|
+
;
|
|
41
49
|
}
|
|
42
50
|
};
|
|
43
|
-
(0,
|
|
51
|
+
(0, _react.useEffect)(()=>{
|
|
44
52
|
setStoredValue(readValue());
|
|
45
|
-
|
|
53
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
46
54
|
}, []);
|
|
47
|
-
(0,
|
|
55
|
+
(0, _react.useEffect)(()=>{
|
|
48
56
|
if (typeof window == "undefined") {
|
|
49
57
|
return;
|
|
50
58
|
}
|
|
51
59
|
window.addEventListener("storage", handleStorageChange);
|
|
52
|
-
return ()
|
|
60
|
+
return ()=>{
|
|
53
61
|
window.removeEventListener("storage", handleStorageChange);
|
|
54
62
|
};
|
|
55
63
|
});
|
|
56
|
-
const handleStorageChange = (0,
|
|
64
|
+
const handleStorageChange = (0, _react.useCallback)((event)=>{
|
|
57
65
|
if (event?.key && event.key !== key) {
|
|
58
66
|
return;
|
|
59
67
|
}
|
|
60
68
|
setStoredValue(readValue());
|
|
61
|
-
}, [
|
|
62
|
-
|
|
69
|
+
}, [
|
|
70
|
+
key,
|
|
71
|
+
readValue
|
|
72
|
+
]);
|
|
73
|
+
return [
|
|
74
|
+
storedValue,
|
|
75
|
+
setValue
|
|
76
|
+
];
|
|
63
77
|
}
|
|
64
|
-
|
|
78
|
+
|
|
79
|
+
//# sourceMappingURL=useSessionStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/useSessionStorage.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from \"react\";\nimport { parseJSON } from \"./utils/json\";\n\nexport function useSessionStorage<T>(\n key: string,\n initialValue: T\n): [T, (data: any) => void] {\n // Get from session storage then\n // parse stored json or return initialValue\n const readValue = useCallback((): T => {\n // Prevent build error \"window is undefined\" but keep keep working\n if (typeof window === \"undefined\") {\n return initialValue;\n }\n\n try {\n const item = window.sessionStorage.getItem(key);\n return item ? (parseJSON(item) as T) : initialValue;\n } catch (error) {\n console.warn(`Error reading sessionStorage key “${key}”:`, error);\n return initialValue;\n }\n }, [initialValue, key]);\n const [storedValue, setStoredValue] = useState<T>(readValue);\n\n const setValue: React.Dispatch<T> = (value: any) => {\n // Prevent build error \"window is undefined\" but keeps working\n if (typeof window == \"undefined\") {\n console.warn(\n `Tried setting sessionStorage key “${key}” even though environment is not a client`\n );\n }\n\n try {\n // Allow value to be a function so we have the same API as useState\n const newValue = value instanceof Function ? value(storedValue) : value;\n\n // Save to session storage\n window.sessionStorage.setItem(key, JSON.stringify(newValue));\n\n // Save state\n setStoredValue(newValue);\n\n // We dispatch a custom event so every useSessionStorage hook are notified\n // window.dispatchEvent(new Event(\"session-storage\"));\n } catch (error) {\n console.warn(`Error setting sessionStorage key “${key}”:`, error);\n }\n };\n\n useEffect(() => {\n setStoredValue(readValue());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (typeof window == \"undefined\") {\n return;\n }\n window.addEventListener(\"storage\", handleStorageChange);\n\n return () => {\n window.removeEventListener(\"storage\", handleStorageChange);\n };\n });\n\n const handleStorageChange = useCallback(\n (event: StorageEvent | CustomEvent) => {\n if ((event as StorageEvent)?.key && (event as StorageEvent).key !== key) {\n return;\n }\n setStoredValue(readValue());\n },\n [key, readValue]\n );\n\n return [storedValue, setValue];\n}\n"],"names":["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"}
|
package/lib/useWS.js
CHANGED
|
@@ -1,59 +1,69 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "useWS", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return useWS;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _react = require("react");
|
|
12
|
+
const _core = require("@orderly.network/core");
|
|
13
|
+
const _net = require("@orderly.network/net");
|
|
14
|
+
const _useconstant = /*#__PURE__*/ _interop_require_default(require("use-constant"));
|
|
15
|
+
const _types = require("@orderly.network/types");
|
|
16
|
+
const _orderlyContext = require("./orderlyContext");
|
|
17
|
+
const _utils = require("@orderly.network/utils");
|
|
18
|
+
function _interop_require_default(obj) {
|
|
19
|
+
return obj && obj.__esModule ? obj : {
|
|
20
|
+
default: obj
|
|
21
|
+
};
|
|
22
|
+
}
|
|
14
23
|
const WS_NAME = "nativeWebsocketClient";
|
|
15
|
-
const useWS = ()
|
|
16
|
-
const { configStore } = (0,
|
|
24
|
+
const useWS = ()=>{
|
|
25
|
+
const { configStore } = (0, _react.useContext)(_orderlyContext.OrderlyContext);
|
|
17
26
|
// const prevAccountState = useRef<AccountState | null>(null);
|
|
18
|
-
const ws = (0,
|
|
19
|
-
let websocketClient =
|
|
20
|
-
const account =
|
|
27
|
+
const ws = (0, _useconstant.default)(()=>{
|
|
28
|
+
let websocketClient = _core.SimpleDI.get(WS_NAME);
|
|
29
|
+
const account = _core.SimpleDI.get(_core.Account.instanceName);
|
|
21
30
|
if (!websocketClient) {
|
|
22
|
-
websocketClient = new
|
|
31
|
+
websocketClient = new _net.WS({
|
|
23
32
|
networkId: configStore.get("networkId"),
|
|
24
33
|
publicUrl: configStore.get("publicWsUrl"),
|
|
25
34
|
privateUrl: configStore.get("privateWsUrl"),
|
|
26
|
-
onSigntureRequest: async (accountId)
|
|
35
|
+
onSigntureRequest: async (accountId)=>{
|
|
27
36
|
const signer = account.signer;
|
|
28
37
|
const timestamp = new Date().getTime();
|
|
29
38
|
const result = await signer.signText(timestamp.toString());
|
|
30
|
-
return {
|
|
31
|
-
|
|
39
|
+
return {
|
|
40
|
+
...result,
|
|
41
|
+
timestamp
|
|
42
|
+
};
|
|
43
|
+
}
|
|
32
44
|
});
|
|
33
45
|
// if user login, open the private websocket
|
|
34
|
-
if (account.stateValue.status ===
|
|
35
|
-
account.stateValue.accountId) {
|
|
46
|
+
if (account.stateValue.status === _types.AccountStatusEnum.EnableTrading && account.stateValue.accountId) {
|
|
36
47
|
websocketClient.openPrivate(account.stateValue.accountId);
|
|
37
48
|
}
|
|
38
49
|
// open the pirvate websocket when user login
|
|
39
|
-
account.on("change:status", (nextState)
|
|
40
|
-
if (nextState.status ===
|
|
41
|
-
nextState.accountId) {
|
|
50
|
+
account.on("change:status", (nextState)=>{
|
|
51
|
+
if (nextState.status === _types.AccountStatusEnum.EnableTrading && nextState.accountId) {
|
|
42
52
|
websocketClient.openPrivate(nextState.accountId);
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
53
|
+
} else {
|
|
45
54
|
websocketClient.closePrivate(1000, "switch account");
|
|
46
55
|
}
|
|
47
|
-
|
|
56
|
+
// prevAccountState.current = nextState;
|
|
48
57
|
});
|
|
49
58
|
if (typeof window !== "undefined") {
|
|
50
|
-
(0,
|
|
59
|
+
(0, _utils.getGlobalObject)()["__Orderly_WS"] = websocketClient;
|
|
51
60
|
}
|
|
52
|
-
|
|
61
|
+
_core.SimpleDI.registerByName(WS_NAME, websocketClient);
|
|
53
62
|
}
|
|
54
63
|
return websocketClient;
|
|
55
64
|
});
|
|
56
65
|
// auto open private when user login;
|
|
57
66
|
return ws;
|
|
58
67
|
};
|
|
59
|
-
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=useWS.js.map
|
package/lib/useWS.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/useWS.ts"],"sourcesContent":["import { useContext, useRef } from \"react\";\nimport { Account, AccountState, SimpleDI } from \"@orderly.network/core\";\nimport { WS } from \"@orderly.network/net\";\nimport useConstant from \"use-constant\";\nimport { AccountStatusEnum } from \"@orderly.network/types\";\nimport { OrderlyContext } from \"./orderlyContext\";\nimport { getGlobalObject } from \"@orderly.network/utils\";\n\nconst WS_NAME = \"nativeWebsocketClient\";\n\nexport const useWS = () => {\n const { configStore } = useContext(OrderlyContext);\n // const prevAccountState = useRef<AccountState | null>(null);\n\n const ws = useConstant(() => {\n let websocketClient = SimpleDI.get<WS>(WS_NAME);\n const account = SimpleDI.get<Account>(Account.instanceName);\n\n if (!websocketClient) {\n websocketClient = new WS({\n networkId: configStore.get(\"networkId\"),\n publicUrl: configStore.get(\"publicWsUrl\"),\n privateUrl: configStore.get(\"privateWsUrl\"),\n onSigntureRequest: async (accountId: string) => {\n const signer = account.signer;\n const timestamp = new Date().getTime();\n const result = await signer.signText(timestamp.toString());\n\n return { ...result, timestamp };\n },\n });\n\n // if user login, open the private websocket\n if (\n account.stateValue.status === AccountStatusEnum.EnableTrading &&\n account.stateValue.accountId\n ) {\n websocketClient.openPrivate(account.stateValue.accountId);\n }\n\n // open the pirvate websocket when user login\n account.on(\"change:status\", (nextState: AccountState) => {\n if (\n nextState.status === AccountStatusEnum.EnableTrading &&\n nextState.accountId\n ) {\n websocketClient.openPrivate(nextState.accountId);\n } else {\n websocketClient.closePrivate(1000, \"switch account\");\n }\n\n // prevAccountState.current = nextState;\n });\n\n if (typeof window !== \"undefined\") {\n (getGlobalObject() as any)[\"__Orderly_WS\"] = websocketClient;\n }\n\n SimpleDI.registerByName(WS_NAME, websocketClient);\n }\n\n return websocketClient;\n });\n\n // auto open private when user login;\n\n return ws;\n};\n"],"names":["useWS","WS_NAME","configStore","useContext","OrderlyContext","ws","useConstant","websocketClient","SimpleDI","get","account","Account","instanceName","WS","networkId","publicUrl","privateUrl","onSigntureRequest","accountId","signer","timestamp","Date","getTime","result","signText","toString","stateValue","status","AccountStatusEnum","EnableTrading","openPrivate","on","nextState","closePrivate","window","getGlobalObject","registerByName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAUaA;;;eAAAA;;;uBAVsB;sBACa;qBAC7B;oEACK;uBACU;gCACH;uBACC;;;;;;AAEhC,MAAMC,UAAU;AAET,MAAMD,QAAQ;IACnB,MAAM,EAAEE,WAAW,EAAE,GAAGC,IAAAA,iBAAU,EAACC,8BAAc;IACjD,8DAA8D;IAE9D,MAAMC,KAAKC,IAAAA,oBAAW,EAAC;QACrB,IAAIC,kBAAkBC,cAAQ,CAACC,GAAG,CAAKR;QACvC,MAAMS,UAAUF,cAAQ,CAACC,GAAG,CAAUE,aAAO,CAACC,YAAY;QAE1D,IAAI,CAACL,iBAAiB;YACpBA,kBAAkB,IAAIM,OAAE,CAAC;gBACvBC,WAAWZ,YAAYO,GAAG,CAAC;gBAC3BM,WAAWb,YAAYO,GAAG,CAAC;gBAC3BO,YAAYd,YAAYO,GAAG,CAAC;gBAC5BQ,mBAAmB,OAAOC;oBACxB,MAAMC,SAAST,QAAQS,MAAM;oBAC7B,MAAMC,YAAY,IAAIC,OAAOC,OAAO;oBACpC,MAAMC,SAAS,MAAMJ,OAAOK,QAAQ,CAACJ,UAAUK,QAAQ;oBAEvD,OAAO;wBAAE,GAAGF,MAAM;wBAAEH;oBAAU;gBAChC;YACF;YAEA,4CAA4C;YAC5C,IACEV,QAAQgB,UAAU,CAACC,MAAM,KAAKC,wBAAiB,CAACC,aAAa,IAC7DnB,QAAQgB,UAAU,CAACR,SAAS,EAC5B;gBACAX,gBAAgBuB,WAAW,CAACpB,QAAQgB,UAAU,CAACR,SAAS;YAC1D;YAEA,6CAA6C;YAC7CR,QAAQqB,EAAE,CAAC,iBAAiB,CAACC;gBAC3B,IACEA,UAAUL,MAAM,KAAKC,wBAAiB,CAACC,aAAa,IACpDG,UAAUd,SAAS,EACnB;oBACAX,gBAAgBuB,WAAW,CAACE,UAAUd,SAAS;gBACjD,OAAO;oBACLX,gBAAgB0B,YAAY,CAAC,MAAM;gBACrC;YAEA,wCAAwC;YAC1C;YAEA,IAAI,OAAOC,WAAW,aAAa;gBAChCC,IAAAA,sBAAe,GAAU,CAAC,eAAe,GAAG5B;YAC/C;YAEAC,cAAQ,CAAC4B,cAAc,CAACnC,SAASM;QACnC;QAEA,OAAOA;IACT;IAEA,qCAAqC;IAErC,OAAOF;AACT"}
|
package/lib/useWsStatus.js
CHANGED
|
@@ -1,45 +1,59 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
WsNetworkStatus: function() {
|
|
13
|
+
return WsNetworkStatus;
|
|
14
|
+
},
|
|
15
|
+
useWsStatus: function() {
|
|
16
|
+
return useWsStatus;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const _react = require("react");
|
|
20
|
+
const _useWS = require("./useWS");
|
|
6
21
|
var WsNetworkStatus;
|
|
7
|
-
(function
|
|
22
|
+
(function(WsNetworkStatus) {
|
|
8
23
|
WsNetworkStatus["Connected"] = "connected";
|
|
9
24
|
WsNetworkStatus["Unstable"] = "unstable";
|
|
10
25
|
WsNetworkStatus["Disconnected"] = "disconnected";
|
|
11
|
-
})(WsNetworkStatus || (
|
|
26
|
+
})(WsNetworkStatus || (WsNetworkStatus = {}));
|
|
12
27
|
function useWsStatus() {
|
|
13
|
-
const ws = (0,
|
|
14
|
-
const [wsStatus, setWsStatus] = (0,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
ws.on("status:change", (status) => {
|
|
20
|
-
console.log("status:change", status);
|
|
28
|
+
const ws = (0, _useWS.useWS)();
|
|
29
|
+
const [wsStatus, setWsStatus] = (0, _react.useState)(ws.client.public.readyState ? "connected" : "disconnected");
|
|
30
|
+
const connectCount = (0, _react.useRef)(0);
|
|
31
|
+
(0, _react.useEffect)(()=>{
|
|
32
|
+
ws.on("status:change", (status)=>{
|
|
33
|
+
;
|
|
21
34
|
const { type, isPrivate } = status;
|
|
22
35
|
if (!isPrivate) {
|
|
23
|
-
switch
|
|
36
|
+
switch(type){
|
|
24
37
|
case "open":
|
|
25
38
|
connectCount.current = 0;
|
|
26
|
-
setWsStatus(
|
|
39
|
+
setWsStatus("connected");
|
|
27
40
|
break;
|
|
28
41
|
case "close":
|
|
29
42
|
connectCount.current = 0;
|
|
30
|
-
setWsStatus(
|
|
43
|
+
setWsStatus("disconnected");
|
|
31
44
|
break;
|
|
32
45
|
case "reconnecting":
|
|
33
46
|
connectCount.current++;
|
|
34
47
|
if (connectCount.current >= 3) {
|
|
35
|
-
setWsStatus(
|
|
48
|
+
setWsStatus("unstable");
|
|
36
49
|
}
|
|
37
50
|
break;
|
|
38
51
|
}
|
|
39
52
|
}
|
|
40
53
|
});
|
|
41
|
-
return ()
|
|
54
|
+
return ()=>ws.off("websocket:status", ()=>{});
|
|
42
55
|
}, []);
|
|
43
56
|
return wsStatus;
|
|
44
57
|
}
|
|
45
|
-
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=useWsStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/useWsStatus.ts"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport { useWS } from \"./useWS\";\n\nexport enum WsNetworkStatus {\n Connected = \"connected\",\n Unstable = \"unstable\",\n Disconnected = \"disconnected\",\n}\n\nexport function useWsStatus() {\n const ws = useWS();\n const [wsStatus, setWsStatus] = useState<WsNetworkStatus>(\n ws.client.public.readyState\n ? WsNetworkStatus.Connected\n : WsNetworkStatus.Disconnected\n );\n\n const connectCount = useRef(0);\n\n useEffect(() => {\n ws.on(\"status:change\", (status: any) => {\n console.log(\"status:change\", status);\n\n const { type, isPrivate } = status;\n if (!isPrivate) {\n switch (type) {\n case \"open\":\n connectCount.current = 0;\n setWsStatus(WsNetworkStatus.Connected);\n break;\n case \"close\":\n connectCount.current = 0;\n setWsStatus(WsNetworkStatus.Disconnected);\n break;\n case \"reconnecting\":\n connectCount.current++;\n if (connectCount.current >= 3) {\n setWsStatus(WsNetworkStatus.Unstable);\n }\n break;\n }\n }\n });\n return () => ws.off(\"websocket:status\", () => {});\n }, []);\n\n return wsStatus;\n}\n"],"names":["useWsStatus","WsNetworkStatus","ws","useWS","wsStatus","setWsStatus","useState","client","public","readyState","connectCount","useRef","useEffect","on","status","type","isPrivate","current","off"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;;;;IASgBA,WAAW;eAAXA;;;uBAT4B;uBACtB;;UAEVC;;;;GAAAA,oBAAAA;AAML,SAASD;IACd,MAAME,KAAKC,IAAAA,YAAK;IAChB,MAAM,CAACC,UAAUC,YAAY,GAAGC,IAAAA,eAAQ,EACtCJ,GAAGK,MAAM,CAACC,MAAM,CAACC,UAAU;IAK7B,MAAMC,eAAeC,IAAAA,aAAM,EAAC;IAE5BC,IAAAA,gBAAS,EAAC;QACRV,GAAGW,EAAE,CAAC,iBAAiB,CAACC;;YAGtB,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE,GAAGF;YAC5B,IAAI,CAACE,WAAW;gBACd,OAAQD;oBACN,KAAK;wBACHL,aAAaO,OAAO,GAAG;wBACvBZ;wBACA;oBACF,KAAK;wBACHK,aAAaO,OAAO,GAAG;wBACvBZ;wBACA;oBACF,KAAK;wBACHK,aAAaO,OAAO;wBACpB,IAAIP,aAAaO,OAAO,IAAI,GAAG;4BAC7BZ;wBACF;wBACA;gBACJ;YACF;QACF;QACA,OAAO,IAAMH,GAAGgB,GAAG,CAAC,oBAAoB,KAAO;IACjD,GAAG,EAAE;IAEL,OAAOd;AACT"}
|
|
@@ -1,30 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "createGetter", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return createGetter;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _ramda = require("ramda");
|
|
6
12
|
function createGetter(data, depth = 2) {
|
|
7
13
|
return new Proxy(data || {}, {
|
|
8
|
-
get(target, property, receiver) {
|
|
14
|
+
get (target, property, receiver) {
|
|
9
15
|
if (property === "isNil") {
|
|
10
|
-
return (0,
|
|
16
|
+
return (0, _ramda.isNil)(data);
|
|
11
17
|
}
|
|
12
18
|
if (depth === 1) {
|
|
13
|
-
return (defaultValue)
|
|
14
|
-
if (!target)
|
|
15
|
-
return defaultValue;
|
|
19
|
+
return (defaultValue)=>{
|
|
20
|
+
if (!target) return defaultValue;
|
|
16
21
|
return target[property] ?? defaultValue;
|
|
17
22
|
};
|
|
18
23
|
}
|
|
19
|
-
return (key, defaultValue)
|
|
24
|
+
return (key, defaultValue)=>{
|
|
20
25
|
if (key) {
|
|
21
26
|
return target[property]?.[key] ?? defaultValue;
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
27
|
+
} else {
|
|
24
28
|
return target[property];
|
|
25
29
|
}
|
|
26
30
|
};
|
|
27
|
-
}
|
|
31
|
+
}
|
|
28
32
|
});
|
|
29
33
|
}
|
|
30
|
-
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=createGetter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/createGetter.ts"],"sourcesContent":["import { API } from \"@orderly.network/types\";\nimport { isNil } from \"ramda\";\n\ntype objectDepth = 1 | 2;\ntype propertyType<D, K, F> = D extends 1 ? K : F;\n\n// {\n// // [P in K]: (key: P, defaultValue?: T[P]) => T[K][P];\n// [P in K]: (key: P, defaultValue?: T[P]) => T[K][P];\n// }\n\n// type KeyOf<T> = keyof T;\ntype ValueOf<T> = T[keyof T];\n\n// export function createGetter<T extends Record<string, any>, K extends keyof T>(\nexport function createGetter<\n T extends any,\n K extends string = string,\n Key = keyof T\n>(\n data: Record<string, T> | null | undefined,\n depth: objectDepth = 2\n): (typeof depth extends 1\n ? { [P in K]: (defaultValue?: any) => any }\n : { [P in K]: (key?: Key, defaultValue?: ValueOf<T>) => any }) & {\n isNil: boolean;\n} {\n return new Proxy(data || {}, {\n get(\n target: any,\n property: propertyType<typeof depth, keyof T, any>,\n receiver\n ): any {\n if (property === \"isNil\") {\n return isNil(data);\n }\n if (depth === 1) {\n return (defaultValue: any) => {\n if (!target) return defaultValue;\n return target[property] ?? defaultValue;\n };\n }\n return (key?: Key, defaultValue?: any) => {\n if (key) {\n return (target as any)[property]?.[key] ?? defaultValue;\n } else {\n return target[property];\n }\n };\n },\n });\n}\n"],"names":["createGetter","data","depth","Proxy","get","target","property","receiver","isNil","defaultValue","key"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAegBA;;;eAAAA;;;uBAdM;AAcf,SAASA,aAKdC,IAA0C,EAC1CC,QAAqB,CAAC;IAMtB,OAAO,IAAIC,MAAMF,QAAQ,CAAC,GAAG;QAC3BG,KACEC,MAAW,EACXC,QAAkD,EAClDC,QAAQ;YAER,IAAID,aAAa,SAAS;gBACxB,OAAOE,IAAAA,YAAK,EAACP;YACf;YACA,IAAIC,UAAU,GAAG;gBACf,OAAO,CAACO;oBACN,IAAI,CAACJ,QAAQ,OAAOI;oBACpB,OAAOJ,MAAM,CAACC,SAAS,IAAIG;gBAC7B;YACF;YACA,OAAO,CAACC,KAAWD;gBACjB,IAAIC,KAAK;oBACP,OAAO,AAACL,MAAc,CAACC,SAAS,EAAE,CAACI,IAAI,IAAID;gBAC7C,OAAO;oBACL,OAAOJ,MAAM,CAACC,SAAS;gBACzB;YACF;QACF;IACF;AACF"}
|
|
@@ -22,6 +22,7 @@ export declare abstract class BaseOrderCreator implements OrderCreator {
|
|
|
22
22
|
baseValidate(values: OrderFormEntity, configs: ValuesDepConfig): Promise<VerifyResult>;
|
|
23
23
|
fixOrderQuantity(order: Partial<OrderEntity>, config: ValuesDepConfig): OrderEntity;
|
|
24
24
|
}
|
|
25
|
+
export declare function checkNotional(price?: string | number, qty?: string | number, minNotional?: number): string | undefined;
|
|
25
26
|
export declare class LimitOrderCreator extends BaseOrderCreator {
|
|
26
27
|
create(values: OrderEntity, config: ValuesDepConfig): OrderEntity;
|
|
27
28
|
validate(values: OrderFormEntity, config: ValuesDepConfig): Promise<VerifyResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createOrder.d.ts","sourceRoot":"","sources":["../../src/utils/createOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,GAAG,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAK1E,MAAM,MAAM,YAAY,GAAG;KACxB,CAAC,IAAI,MAAM,WAAW,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAC7D,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,WAAW,EACX,aAAa,GAAG,gBAAgB,GAAG,OAAO,CAC3C,CAAC;AAEF,KAAK,eAAe,GAAG;IAErB,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,KAAK,WAAW,CAAC;IACvE,QAAQ,EAAE,CACR,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,eAAe,KACrB,OAAO,CAAC,YAAY,CAAC,CAAC;CAC5B;AAID,8BAAsB,gBAAiB,YAAW,YAAY;IAC5D,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,GAAG,WAAW;IAC1E,QAAQ,CAAC,QAAQ,CACf,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,YAAY,CAAC;IAExB,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW;IAsBzC,YAAY,CACV,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"createOrder.d.ts","sourceRoot":"","sources":["../../src/utils/createOrder.ts"],"names":[],"mappings":"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"}
|