@orderly.network/hooks 0.0.27 → 0.0.28
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/dist/index.d.mts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +55 -19
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +55 -20
- package/dist/index.mjs.map +1 -1
- package/package.json +7 -7
package/dist/index.d.mts
CHANGED
|
@@ -97,6 +97,8 @@ declare const useEventEmitter: (channel?: string) => EventEmitter<string | symbo
|
|
|
97
97
|
|
|
98
98
|
declare function useSessionStorage<T>(key: string, initialValue: T): [T, (data: any) => void];
|
|
99
99
|
|
|
100
|
+
declare function useLocalStorage<T>(key: string, initialValue: T): [T, any];
|
|
101
|
+
|
|
100
102
|
type useRunOnceProps = {
|
|
101
103
|
fn: () => any;
|
|
102
104
|
sessionKey?: string;
|
|
@@ -324,4 +326,4 @@ declare namespace index {
|
|
|
324
326
|
};
|
|
325
327
|
}
|
|
326
328
|
|
|
327
|
-
export { AppStateErrors, DataSourceProvider, OrderStatus, OrderlyAppConfig, OrderlyContext, OrderlyContextState, OrderlyProvider, index as apis, useAccount, useAccountInfo, useAccountInstance, useAppState, useBalance, useChains, useCollateral, useEventEmitter, useExecutionReport, useFetures, useFundingRate, useHolding, useLeverage, useMarginRatio, useMarkPrice, useMarkPricesStream, useMarketTradeStream, useMarketsStream, useMaxQty, useMutation, useOrderEntry, useOrderStream, useOrderbookStream, usePositionStream, usePreLoadData, usePrivateDataObserver, usePrivateObserve, usePrivateQuery, useQuery, useRunOnce, useSessionStorage, useSymbolsInfo, useTickerStream, useTokenInfo, useTopicObserve, useTradingView, useWS };
|
|
329
|
+
export { AppStateErrors, DataSourceProvider, OrderStatus, OrderlyAppConfig, OrderlyContext, OrderlyContextState, OrderlyProvider, index as apis, useAccount, useAccountInfo, useAccountInstance, useAppState, useBalance, useChains, useCollateral, useEventEmitter, useExecutionReport, useFetures, useFundingRate, useHolding, useLeverage, useLocalStorage, useMarginRatio, useMarkPrice, useMarkPricesStream, useMarketTradeStream, useMarketsStream, useMaxQty, useMutation, useOrderEntry, useOrderStream, useOrderbookStream, usePositionStream, usePreLoadData, usePrivateDataObserver, usePrivateObserve, usePrivateQuery, useQuery, useRunOnce, useSessionStorage, useSymbolsInfo, useTickerStream, useTokenInfo, useTopicObserve, useTradingView, useWS };
|
package/dist/index.d.ts
CHANGED
|
@@ -97,6 +97,8 @@ declare const useEventEmitter: (channel?: string) => EventEmitter<string | symbo
|
|
|
97
97
|
|
|
98
98
|
declare function useSessionStorage<T>(key: string, initialValue: T): [T, (data: any) => void];
|
|
99
99
|
|
|
100
|
+
declare function useLocalStorage<T>(key: string, initialValue: T): [T, any];
|
|
101
|
+
|
|
100
102
|
type useRunOnceProps = {
|
|
101
103
|
fn: () => any;
|
|
102
104
|
sessionKey?: string;
|
|
@@ -324,4 +326,4 @@ declare namespace index {
|
|
|
324
326
|
};
|
|
325
327
|
}
|
|
326
328
|
|
|
327
|
-
export { AppStateErrors, DataSourceProvider, OrderStatus, OrderlyAppConfig, OrderlyContext, OrderlyContextState, OrderlyProvider, index as apis, useAccount, useAccountInfo, useAccountInstance, useAppState, useBalance, useChains, useCollateral, useEventEmitter, useExecutionReport, useFetures, useFundingRate, useHolding, useLeverage, useMarginRatio, useMarkPrice, useMarkPricesStream, useMarketTradeStream, useMarketsStream, useMaxQty, useMutation, useOrderEntry, useOrderStream, useOrderbookStream, usePositionStream, usePreLoadData, usePrivateDataObserver, usePrivateObserve, usePrivateQuery, useQuery, useRunOnce, useSessionStorage, useSymbolsInfo, useTickerStream, useTokenInfo, useTopicObserve, useTradingView, useWS };
|
|
329
|
+
export { AppStateErrors, DataSourceProvider, OrderStatus, OrderlyAppConfig, OrderlyContext, OrderlyContextState, OrderlyProvider, index as apis, useAccount, useAccountInfo, useAccountInstance, useAppState, useBalance, useChains, useCollateral, useEventEmitter, useExecutionReport, useFetures, useFundingRate, useHolding, useLeverage, useLocalStorage, useMarginRatio, useMarkPrice, useMarkPricesStream, useMarketTradeStream, useMarketsStream, useMaxQty, useMutation, useOrderEntry, useOrderStream, useOrderbookStream, usePositionStream, usePreLoadData, usePrivateDataObserver, usePrivateObserve, usePrivateQuery, useQuery, useRunOnce, useSessionStorage, useSymbolsInfo, useTickerStream, useTokenInfo, useTopicObserve, useTradingView, useWS };
|
package/dist/index.js
CHANGED
|
@@ -350,6 +350,18 @@ var useEventEmitter = (channel) => {
|
|
|
350
350
|
return ee;
|
|
351
351
|
});
|
|
352
352
|
};
|
|
353
|
+
|
|
354
|
+
// src/utils/json.ts
|
|
355
|
+
function parseJSON(value) {
|
|
356
|
+
try {
|
|
357
|
+
return value === "undefined" ? void 0 : JSON.parse(value != null ? value : "");
|
|
358
|
+
} catch (e) {
|
|
359
|
+
console.log("parsing error on", { value });
|
|
360
|
+
return void 0;
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
// src/useSessionStorage.ts
|
|
353
365
|
function useSessionStorage(key, initialValue) {
|
|
354
366
|
const readValue = React2.useCallback(() => {
|
|
355
367
|
if (typeof window === "undefined") {
|
|
@@ -401,13 +413,42 @@ function useSessionStorage(key, initialValue) {
|
|
|
401
413
|
);
|
|
402
414
|
return [storedValue, setValue];
|
|
403
415
|
}
|
|
404
|
-
function
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
416
|
+
function useLocalStorage(key, initialValue) {
|
|
417
|
+
const readValue = React2.useCallback(() => {
|
|
418
|
+
if (typeof window === "undefined") {
|
|
419
|
+
return initialValue;
|
|
420
|
+
}
|
|
421
|
+
try {
|
|
422
|
+
const item = window.localStorage.getItem(key);
|
|
423
|
+
return item ? parseJSON(item) : initialValue;
|
|
424
|
+
} catch (error) {
|
|
425
|
+
console.warn(`Error reading localStorage key \u201C${key}\u201D:`, error);
|
|
426
|
+
return initialValue;
|
|
427
|
+
}
|
|
428
|
+
}, [initialValue, key]);
|
|
429
|
+
const [storedValue, setStoredValue] = React2.useState(readValue);
|
|
430
|
+
const setValue = React2.useCallback(
|
|
431
|
+
(value) => {
|
|
432
|
+
if (typeof window === "undefined") {
|
|
433
|
+
console.warn(
|
|
434
|
+
`Tried setting localStorage key \u201C${key}\u201D even though environment is not a client`
|
|
435
|
+
);
|
|
436
|
+
}
|
|
437
|
+
try {
|
|
438
|
+
const newValue = value instanceof Function ? value(storedValue) : value;
|
|
439
|
+
window.localStorage.setItem(key, JSON.stringify(newValue));
|
|
440
|
+
setStoredValue(() => newValue);
|
|
441
|
+
} catch (error) {
|
|
442
|
+
console.warn(`Error setting localStorage key \u201C${key}\u201D:`, error);
|
|
443
|
+
}
|
|
444
|
+
},
|
|
445
|
+
[storedValue]
|
|
446
|
+
);
|
|
447
|
+
console.log("storedValue", storedValue);
|
|
448
|
+
React2.useEffect(() => {
|
|
449
|
+
setStoredValue(readValue());
|
|
450
|
+
}, []);
|
|
451
|
+
return [storedValue, setValue];
|
|
411
452
|
}
|
|
412
453
|
var useRunOnce = ({ fn, sessionKey }) => {
|
|
413
454
|
const triggered = React2.useRef(false);
|
|
@@ -586,8 +627,6 @@ var useSymbolsInfo = () => {
|
|
|
586
627
|
});
|
|
587
628
|
return createGetter(data);
|
|
588
629
|
};
|
|
589
|
-
|
|
590
|
-
// src/orderly/useOrderbookStream.ts
|
|
591
630
|
var paddingFn = (len) => Array(len).fill([Number.NaN, Number.NaN, Number.NaN]);
|
|
592
631
|
var asksSortFn = (a, b) => a[0] - b[0];
|
|
593
632
|
var bidsSortFn = (a, b) => b[0] - a[0];
|
|
@@ -605,13 +644,13 @@ var reduceItems = (depth, level, data, asks = false) => {
|
|
|
605
644
|
continue;
|
|
606
645
|
let priceKey;
|
|
607
646
|
if (asks) {
|
|
608
|
-
priceKey = Math.ceil(price / depth)
|
|
647
|
+
priceKey = new utils.Decimal(Math.ceil(price / depth)).mul(depth).toNumber();
|
|
609
648
|
} else {
|
|
610
|
-
priceKey = Math.floor(price / depth)
|
|
649
|
+
priceKey = new utils.Decimal(Math.floor(price / depth)).mul(depth).toNumber();
|
|
611
650
|
}
|
|
612
651
|
if (prices.has(priceKey)) {
|
|
613
652
|
const item = prices.get(priceKey);
|
|
614
|
-
const itemPrice = item[1]
|
|
653
|
+
const itemPrice = new utils.Decimal(item[1]).add(quantity).toNumber();
|
|
615
654
|
prices.set(priceKey, [priceKey, itemPrice]);
|
|
616
655
|
} else {
|
|
617
656
|
prices.set(priceKey, [priceKey, quantity]);
|
|
@@ -623,11 +662,8 @@ var reduceItems = (depth, level, data, asks = false) => {
|
|
|
623
662
|
const [price, quantity] = newData[i];
|
|
624
663
|
if (isNaN(price) || isNaN(quantity))
|
|
625
664
|
continue;
|
|
626
|
-
result.
|
|
627
|
-
|
|
628
|
-
quantity,
|
|
629
|
-
quantity + (result.length > 0 ? result[result.length - 1][2] : 0)
|
|
630
|
-
]);
|
|
665
|
+
const newQuantity = new utils.Decimal(quantity).add(result.length > 0 ? result[result.length - 1][2] : 0).toNumber();
|
|
666
|
+
result.push([price, quantity, newQuantity]);
|
|
631
667
|
if (i + 1 >= level) {
|
|
632
668
|
break;
|
|
633
669
|
}
|
|
@@ -826,10 +862,9 @@ function priceInputHandle(inputs) {
|
|
|
826
862
|
return [values, input, value, markPrice, config];
|
|
827
863
|
}
|
|
828
864
|
const total = price.mul(values.order_quantity);
|
|
829
|
-
const quantityDP = total.dp();
|
|
830
865
|
return [
|
|
831
866
|
__spreadProps(__spreadValues({}, values), {
|
|
832
|
-
total: total.todp(
|
|
867
|
+
total: total.todp(2).toString()
|
|
833
868
|
}),
|
|
834
869
|
input,
|
|
835
870
|
value,
|
|
@@ -1969,6 +2004,7 @@ exports.useFetures = useFetures;
|
|
|
1969
2004
|
exports.useFundingRate = useFundingRate;
|
|
1970
2005
|
exports.useHolding = useHolding;
|
|
1971
2006
|
exports.useLeverage = useLeverage;
|
|
2007
|
+
exports.useLocalStorage = useLocalStorage;
|
|
1972
2008
|
exports.useMarginRatio = useMarginRatio;
|
|
1973
2009
|
exports.useMarkPrice = useMarkPrice;
|
|
1974
2010
|
exports.useMarkPricesStream = useMarkPricesStream;
|