@orderly.network/hooks 1.1.3-alpha.2 → 1.1.3-alpha.3

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 CHANGED
@@ -25,7 +25,7 @@ declare global {
25
25
  };
26
26
  }
27
27
  }
28
- declare const _default: "1.1.3-alpha.2";
28
+ declare const _default: "1.1.3-alpha.3";
29
29
 
30
30
  type useQueryOptions<T> = SWRConfiguration & {
31
31
  formatter?: (data: any) => T;
@@ -118,6 +118,15 @@ interface OrderlyConfigContextState {
118
118
  declare const OrderlyContext: react.Context<OrderlyConfigContextState>;
119
119
  declare const OrderlyProvider: react.Provider<OrderlyConfigContextState>;
120
120
 
121
+ type WsNetworkStatus = "connected" | "unstable" | "disconnected";
122
+ declare function useWsStatus(): WsNetworkStatus;
123
+
124
+ interface StatusContextState {
125
+ ws?: WsNetworkStatus;
126
+ }
127
+ declare const StatusContext: react.Context<StatusContextState>;
128
+ declare const StatusProvider: React.FC<PropsWithChildren>;
129
+
121
130
  type RequireAtLeastOne<T, R extends keyof T = keyof T> = Omit<T, R> & {
122
131
  [K in R]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<R, K>>>;
123
132
  }[R];
@@ -528,4 +537,4 @@ declare const useCrossSwap: () => any;
528
537
  /** @hidden */
529
538
  declare const useSwap: () => any;
530
539
 
531
- export { ConfigProviderProps, Favorite, FavoriteTab, MarketsType, OrderlyConfigContextState, OrderlyConfigProvider, OrderlyContext, OrderlyProvider, Recent, UseOrderEntryMetaState, WalletConnectorContext, useAccount, useAccountInfo, useAccountInstance, useBoolean, useChain, useChains, useCollateral, useConfig, useCrossSwap, useDeposit, useEventEmitter, useFundingRate, useHoldingStream, useIndexPrice, useLazyQuery, useLeverage, useLocalStorage, useMarginRatio, useMarkPrice, useMarkPricesStream, useMarketTradeStream, useMarkets, useMarketsStream, useMaxQty, useMediaQuery, useMutation, useOrderEntry, useOrderStream, useOrderbookStream, usePositionStream, usePreLoadData, usePrivateDataObserver, usePrivateInfiniteQuery, usePrivateQuery, useQuery, useSessionStorage, useSettleSubscription, useSwap, useSymbolPriceRange, useSymbolsInfo, useTickerStream, useWS, useWalletConnector, useWalletSubscription, useWithdraw, useWooCrossSwapQuery, useWooSwapQuery, _default as version };
540
+ export { ConfigProviderProps, Favorite, FavoriteTab, MarketsType, OrderlyConfigContextState, OrderlyConfigProvider, OrderlyContext, OrderlyProvider, Recent, StatusContext, StatusContextState, StatusProvider, UseOrderEntryMetaState, WalletConnectorContext, useAccount, useAccountInfo, useAccountInstance, useBoolean, useChain, useChains, useCollateral, useConfig, useCrossSwap, useDeposit, useEventEmitter, useFundingRate, useHoldingStream, useIndexPrice, useLazyQuery, useLeverage, useLocalStorage, useMarginRatio, useMarkPrice, useMarkPricesStream, useMarketTradeStream, useMarkets, useMarketsStream, useMaxQty, useMediaQuery, useMutation, useOrderEntry, useOrderStream, useOrderbookStream, usePositionStream, usePreLoadData, usePrivateDataObserver, usePrivateInfiniteQuery, usePrivateQuery, useQuery, useSessionStorage, useSettleSubscription, useSwap, useSymbolPriceRange, useSymbolsInfo, useTickerStream, useWS, useWalletConnector, useWalletSubscription, useWithdraw, useWooCrossSwapQuery, useWooSwapQuery, useWsStatus, _default as version };
package/dist/index.d.ts CHANGED
@@ -25,7 +25,7 @@ declare global {
25
25
  };
26
26
  }
27
27
  }
28
- declare const _default: "1.1.3-alpha.2";
28
+ declare const _default: "1.1.3-alpha.3";
29
29
 
30
30
  type useQueryOptions<T> = SWRConfiguration & {
31
31
  formatter?: (data: any) => T;
@@ -118,6 +118,15 @@ interface OrderlyConfigContextState {
118
118
  declare const OrderlyContext: react.Context<OrderlyConfigContextState>;
119
119
  declare const OrderlyProvider: react.Provider<OrderlyConfigContextState>;
120
120
 
121
+ type WsNetworkStatus = "connected" | "unstable" | "disconnected";
122
+ declare function useWsStatus(): WsNetworkStatus;
123
+
124
+ interface StatusContextState {
125
+ ws?: WsNetworkStatus;
126
+ }
127
+ declare const StatusContext: react.Context<StatusContextState>;
128
+ declare const StatusProvider: React.FC<PropsWithChildren>;
129
+
121
130
  type RequireAtLeastOne<T, R extends keyof T = keyof T> = Omit<T, R> & {
122
131
  [K in R]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<R, K>>>;
123
132
  }[R];
@@ -528,4 +537,4 @@ declare const useCrossSwap: () => any;
528
537
  /** @hidden */
529
538
  declare const useSwap: () => any;
530
539
 
531
- export { ConfigProviderProps, Favorite, FavoriteTab, MarketsType, OrderlyConfigContextState, OrderlyConfigProvider, OrderlyContext, OrderlyProvider, Recent, UseOrderEntryMetaState, WalletConnectorContext, useAccount, useAccountInfo, useAccountInstance, useBoolean, useChain, useChains, useCollateral, useConfig, useCrossSwap, useDeposit, useEventEmitter, useFundingRate, useHoldingStream, useIndexPrice, useLazyQuery, useLeverage, useLocalStorage, useMarginRatio, useMarkPrice, useMarkPricesStream, useMarketTradeStream, useMarkets, useMarketsStream, useMaxQty, useMediaQuery, useMutation, useOrderEntry, useOrderStream, useOrderbookStream, usePositionStream, usePreLoadData, usePrivateDataObserver, usePrivateInfiniteQuery, usePrivateQuery, useQuery, useSessionStorage, useSettleSubscription, useSwap, useSymbolPriceRange, useSymbolsInfo, useTickerStream, useWS, useWalletConnector, useWalletSubscription, useWithdraw, useWooCrossSwapQuery, useWooSwapQuery, _default as version };
540
+ export { ConfigProviderProps, Favorite, FavoriteTab, MarketsType, OrderlyConfigContextState, OrderlyConfigProvider, OrderlyContext, OrderlyProvider, Recent, StatusContext, StatusContextState, StatusProvider, UseOrderEntryMetaState, WalletConnectorContext, useAccount, useAccountInfo, useAccountInstance, useBoolean, useChain, useChains, useCollateral, useConfig, useCrossSwap, useDeposit, useEventEmitter, useFundingRate, useHoldingStream, useIndexPrice, useLazyQuery, useLeverage, useLocalStorage, useMarginRatio, useMarkPrice, useMarkPricesStream, useMarketTradeStream, useMarkets, useMarketsStream, useMaxQty, useMediaQuery, useMutation, useOrderEntry, useOrderStream, useOrderbookStream, usePositionStream, usePreLoadData, usePrivateDataObserver, usePrivateInfiniteQuery, usePrivateQuery, useQuery, useSessionStorage, useSettleSubscription, useSwap, useSymbolPriceRange, useSymbolsInfo, useTickerStream, useWS, useWalletConnector, useWalletSubscription, useWithdraw, useWooCrossSwapQuery, useWooSwapQuery, useWsStatus, _default as version };
package/dist/index.js CHANGED
@@ -8,8 +8,8 @@ var useConstant4 = require('use-constant');
8
8
  var core = require('@orderly.network/core');
9
9
  var types = require('@orderly.network/types');
10
10
  var useSWRInfinite = require('swr/infinite');
11
- var useDebounce = require('use-debounce');
12
11
  var jsxRuntime = require('react/jsx-runtime');
12
+ var useDebounce = require('use-debounce');
13
13
  var utils = require('@orderly.network/utils');
14
14
  var useSWRSubscription = require('swr/subscription');
15
15
  var ramda = require('ramda');
@@ -28,9 +28,9 @@ var useSWRSubscription__default = /*#__PURE__*/_interopDefault(useSWRSubscriptio
28
28
  // src/version.ts
29
29
  if (typeof window !== "undefined") {
30
30
  window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};
31
- window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "1.1.3-alpha.2";
31
+ window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "1.1.3-alpha.3";
32
32
  }
33
- var version_default = "1.1.3-alpha.2";
33
+ var version_default = "1.1.3-alpha.3";
34
34
  var fetcher = (url, init = {}, queryOptions) => net.get(url, init, queryOptions?.formatter);
35
35
  var OrderlyContext = React.createContext({
36
36
  // configStore: new MemoryConfigStore(),
@@ -457,6 +457,44 @@ var useWS = () => {
457
457
  });
458
458
  return ws;
459
459
  };
460
+ function useWsStatus() {
461
+ const ws = useWS();
462
+ const [wsStatus, setWsStatus] = React.useState(
463
+ ws.client.public.readyState ? "connected" : "disconnected"
464
+ );
465
+ const connectCount = React.useRef(0);
466
+ React.useEffect(() => {
467
+ ws.on("status:change", (status) => {
468
+ const { type, isPrivate } = status;
469
+ if (!isPrivate) {
470
+ switch (type) {
471
+ case "open":
472
+ connectCount.current = 0;
473
+ setWsStatus("connected");
474
+ break;
475
+ case "close":
476
+ connectCount.current = 0;
477
+ setWsStatus("disconnected");
478
+ break;
479
+ case "reconnecting":
480
+ connectCount.current++;
481
+ if (connectCount.current >= 2) {
482
+ setWsStatus("unstable");
483
+ }
484
+ break;
485
+ }
486
+ }
487
+ });
488
+ return () => ws.off("websocket:status", () => {
489
+ });
490
+ }, []);
491
+ return wsStatus;
492
+ }
493
+ var StatusContext = React.createContext({});
494
+ var StatusProvider = (props) => {
495
+ const wsStatus = useWsStatus();
496
+ return /* @__PURE__ */ jsxRuntime.jsx(StatusContext.Provider, { value: { ws: wsStatus }, children: props.children });
497
+ };
460
498
  var usePrivateDataObserver = (options) => {
461
499
  const ws = useWS();
462
500
  const { mutate: mutate2 } = useSWR.useSWRConfig();
@@ -632,7 +670,7 @@ var OrderlyConfigProvider = (props) => {
632
670
  enableSwapDeposit
633
671
  // apiBaseUrl,
634
672
  },
635
- children: /* @__PURE__ */ jsxRuntime.jsx(DataCenterProvider, { children: props.children })
673
+ children: /* @__PURE__ */ jsxRuntime.jsx(StatusProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(DataCenterProvider, { children: props.children }) })
636
674
  }
637
675
  );
638
676
  };
@@ -5201,6 +5239,8 @@ exports.MarketsType = MarketsType;
5201
5239
  exports.OrderlyConfigProvider = OrderlyConfigProvider;
5202
5240
  exports.OrderlyContext = OrderlyContext;
5203
5241
  exports.OrderlyProvider = OrderlyProvider;
5242
+ exports.StatusContext = StatusContext;
5243
+ exports.StatusProvider = StatusProvider;
5204
5244
  exports.WalletConnectorContext = WalletConnectorContext;
5205
5245
  exports.useAccount = useAccount;
5206
5246
  exports.useAccountInfo = useAccountInfo;
@@ -5249,6 +5289,7 @@ exports.useWalletSubscription = useWalletSubscription;
5249
5289
  exports.useWithdraw = useWithdraw;
5250
5290
  exports.useWooCrossSwapQuery = useWooCrossSwapQuery;
5251
5291
  exports.useWooSwapQuery = useWooSwapQuery;
5292
+ exports.useWsStatus = useWsStatus;
5252
5293
  exports.version = version_default;
5253
5294
  Object.keys(useDebounce).forEach(function (k) {
5254
5295
  if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {