rc-lib-ui 1.1.10 → 1.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +42 -6
  2. package/dist/Dashboard/Dashboard.d.ts +1 -1
  3. package/dist/Dashboard/components/ContentBox.d.ts +2 -1
  4. package/dist/Dashboard/components/DrawerToggleMenu.d.ts +2 -1
  5. package/dist/Dashboard/components/ListMemu/ListMenu.d.ts +1 -1
  6. package/dist/Dashboard/components/ListMemu/ui/ListButtonStyled.d.ts +1 -1
  7. package/dist/Dashboard/components/ListMemu/ui/RenderList.d.ts +1 -1
  8. package/dist/Dashboard/components/MuiFooter.d.ts +3 -2
  9. package/dist/Dashboard/components/MuiMenuHeader.d.ts +2 -1
  10. package/dist/NetworkAndSocket/Network/components/Detection/CustomDetection.d.ts +1 -0
  11. package/dist/NetworkAndSocket/Network/components/Detection/Detection.d.ts +2 -2
  12. package/dist/NetworkAndSocket/Network/components/index.d.ts +4 -0
  13. package/dist/NetworkAndSocket/Network/index.d.ts +3 -0
  14. package/dist/NetworkAndSocket/Network/store/network.initial.d.ts +2 -2
  15. package/dist/NetworkAndSocket/Network/store/network.store.d.ts +7 -7
  16. package/dist/NetworkAndSocket/Network/store/network.types.d.ts +5 -5
  17. package/dist/NetworkAndSocket/Socket/api/SocketApi.d.ts +57 -0
  18. package/dist/NetworkAndSocket/Socket/api/SocketApi.types.d.ts +19 -0
  19. package/dist/NetworkAndSocket/Socket/api/deps/ConfigInfoConnect/ConfigInfoConnect.d.ts +7 -0
  20. package/dist/NetworkAndSocket/Socket/api/deps/ConfigInfoConnect/ConfigInfoConnect.types.d.ts +7 -0
  21. package/dist/NetworkAndSocket/Socket/api/deps/DelaysPromise/DelaysPromise.d.ts +7 -0
  22. package/dist/NetworkAndSocket/Socket/api/deps/DelaysPromise/DelaysPromise.types.d.ts +31 -0
  23. package/dist/NetworkAndSocket/Socket/api/deps/DelaysPromise/index.d.ts +2 -0
  24. package/dist/NetworkAndSocket/Socket/api/deps/EventSubscribers/EventSubscribers.d.ts +13 -0
  25. package/dist/NetworkAndSocket/Socket/api/deps/EventSubscribers/EventSubscribers.types.d.ts +9 -0
  26. package/dist/NetworkAndSocket/Socket/api/deps/EventSubscribers/index.d.ts +2 -0
  27. package/dist/NetworkAndSocket/Socket/api/deps/NetworkControls/NetworkControls.d.ts +14 -0
  28. package/dist/NetworkAndSocket/Socket/api/deps/NetworkControls/NetworkControls.types.d.ts +19 -0
  29. package/dist/NetworkAndSocket/Socket/api/deps/NetworkControls/index.d.ts +2 -0
  30. package/dist/NetworkAndSocket/Socket/api/deps/NetworkStatusTracker/NetworkStatusTracker.d.ts +31 -0
  31. package/dist/NetworkAndSocket/Socket/api/deps/NetworkStatusTracker/NetworkStatusTracker.types.d.ts +22 -0
  32. package/dist/NetworkAndSocket/Socket/api/deps/WsApi/WsApi.d.ts +52 -0
  33. package/dist/NetworkAndSocket/Socket/api/deps/WsApi/WsApi.types.d.ts +40 -0
  34. package/dist/NetworkAndSocket/Socket/api/deps/WsApi/index.d.ts +2 -0
  35. package/dist/NetworkAndSocket/Socket/api/helpers/createRequestSocket/createRequestSocket.d.ts +2 -0
  36. package/dist/NetworkAndSocket/Socket/api/helpers/createRequestSocket/createRequestSocket.types.d.ts +5 -0
  37. package/dist/NetworkAndSocket/Socket/api/helpers/createRequestSocket/index.d.ts +2 -0
  38. package/dist/NetworkAndSocket/Socket/api/hooks/index.d.ts +0 -0
  39. package/dist/NetworkAndSocket/Socket/api/hooks/useRequestSocketApi/index.d.ts +2 -0
  40. package/dist/NetworkAndSocket/Socket/api/hooks/useRequestSocketApi/useRequestSocketApi.d.ts +10 -0
  41. package/dist/NetworkAndSocket/Socket/api/hooks/useRequestSocketApi/useRequestSocketApi.types.d.ts +6 -0
  42. package/dist/NetworkAndSocket/Socket/api/index.d.ts +2 -0
  43. package/dist/NetworkAndSocket/Socket/components/Initialization/Initialization.d.ts +10 -0
  44. package/dist/NetworkAndSocket/Socket/components/OfflineDetection/OfflineDetection.d.ts +1 -0
  45. package/dist/NetworkAndSocket/Socket/components/hooks/useNetworkStatus/useNetworkStatus.d.ts +14 -0
  46. package/dist/NetworkAndSocket/Socket/components/hooks/useNetworkStatus/useNetworkStatus.types.d.ts +15 -0
  47. package/dist/NetworkAndSocket/Socket/components/index.d.ts +12 -0
  48. package/dist/NetworkAndSocket/Socket/index.d.ts +2 -2
  49. package/dist/NetworkAndSocket/Socket/store/socket.initial.d.ts +2 -2
  50. package/dist/NetworkAndSocket/Socket/store/socket.store.d.ts +8 -8
  51. package/dist/NetworkAndSocket/Socket/store/socket.types.d.ts +6 -6
  52. package/dist/NetworkAndSocket/index.d.ts +2 -0
  53. package/dist/Preloaders/components/RotateCube/RotateCube.d.ts +4 -1
  54. package/dist/Preloaders/components/Spinner3D/Spinner3D.d.ts +1 -1
  55. package/dist/Preloaders/components/SpinnerBorder/SpinnerBorder.d.ts +2 -1
  56. package/dist/Preloaders/components/SpinnerGrow/SpinnerGrow.d.ts +2 -1
  57. package/dist/Tooltips-BD7KqgrA.js +37 -0
  58. package/dist/_helpers/index.d.ts +1 -1
  59. package/dist/dashboard.js +469 -0
  60. package/dist/index.d.ts +0 -2
  61. package/dist/index.js +19 -2163
  62. package/dist/network.js +712 -0
  63. package/dist/{index.css → preloaders.css} +1 -1
  64. package/dist/preloaders.js +1667 -0
  65. package/package.json +15 -8
  66. package/dist/NetworkAndSocket/Network/Network.d.ts +0 -7
  67. package/dist/NetworkAndSocket/Socket/InitializationSocket.d.ts +0 -6
  68. package/dist/NetworkAndSocket/Socket/InitializationSocketRTK.d.ts +0 -1
  69. package/dist/NetworkAndSocket/Socket/Socket.d.ts +0 -13
  70. package/dist/index-CCq3Ke1g.js +0 -45
  71. package/dist/socket.js +0 -551
  72. /package/dist/{socket.css → network.css} +0 -0
package/README.md CHANGED
@@ -1,9 +1,10 @@
1
1
  <h1 align="center">rc-ui-lib</h1>
2
2
 
3
- #### Preloaders
3
+
4
+ <h3 align="center">Preloaders</h3>
4
5
 
5
6
  ```tsx
6
- import { Preloaders } from "rc-lib-ui";
7
+ import { Preloaders } from "rc-lib-ui/preloaders";
7
8
 
8
9
  export const App = () => {
9
10
  //SpinnerGrow | SpinnerBorder | Spinner3D | Ball | Time | Cube | RotateCube
@@ -18,12 +19,13 @@ export const App = () => {
18
19
  };
19
20
  ```
20
21
 
21
- ---
22
22
 
23
- #### Dashboard
23
+
24
+ ___
25
+ <h3 align="center">Dashboard</h3>
24
26
 
25
27
  ```tsx
26
- import { Dashboard } from "rc-lib-ui";
28
+ import { Dashboard } from "rc-lib-ui/dashboard";
27
29
 
28
30
  const listMen = [
29
31
  {
@@ -137,4 +139,38 @@ export const App = () => {
137
139
  }
138
140
  ```
139
141
 
140
- ---
142
+ ___
143
+
144
+ <h3 align="center">Socket Components</h3>
145
+
146
+
147
+ ```tsx
148
+ import { Socket } from "rc-lib-ui/socket";
149
+
150
+ <Socket.Initialization
151
+ onMount={() => {
152
+ dispatch(InitSocketEvents())
153
+ }}
154
+ isNetwork={!!isNetwork}
155
+ typeNetwork={typeNetwork}
156
+ init={{
157
+ url: process.env.REACT_APP_URL_WS as string,
158
+ timeReConnect: 10000,
159
+ isReConnectNetworkOnline: true,
160
+
161
+ }}
162
+ />
163
+
164
+ // Отображение состояния сокета
165
+ <Socket.ConnectDetection/>
166
+ <Socket.OfflineDetection
167
+ isNetwork={!!isNetwork}
168
+ children={({isDisableConnectSocket}) => {
169
+ const titleOffline = 'Оффлайн';
170
+ return isDisableConnectSocket ? `Режим ${titleOffline}` : titleOffline
171
+ }}
172
+ />
173
+ //Воздействие на сокет
174
+ <Socket.ReConnectButton/>,
175
+
176
+ ```
@@ -1,5 +1,5 @@
1
- import { default as React, ReactNode } from 'react';
2
1
  import { SxProps, Theme } from '@mui/material';
2
+ import { default as React, ReactNode } from 'react';
3
3
  import { ListMenuProps } from './components/ListMemu/ListMenu';
4
4
  import { MuiHeaderProps } from './components/MuiHeader';
5
5
  import { MuiMenuProps } from './components/MuiMenu';
@@ -1,3 +1,4 @@
1
+ import { default as React } from 'react';
1
2
  export interface ContentBoxProps {
2
3
  }
3
- export declare const ContentBox: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & ContentBoxProps, import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLElement>, HTMLElement>, {}>;
4
+ export declare const ContentBox: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & ContentBoxProps, React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, {}>;
@@ -1 +1,2 @@
1
- export declare const DrawerToggleMenu: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1
+ import { default as React } from 'react';
2
+ export declare const DrawerToggleMenu: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -1,5 +1,5 @@
1
- import { CSSObject, SxProps, Theme } from '@mui/material';
2
1
  import { default as React, ReactNode } from 'react';
2
+ import { CSSObject, SxProps, Theme } from '@mui/material';
3
3
  import { ListButtonProps } from './ui/ListButton';
4
4
  import { ListTextProps } from './ui/ListText';
5
5
  import { RenderIconProps } from './ui/RenderIcon';
@@ -3,7 +3,7 @@ export interface ListButtonStyledProps {
3
3
  }
4
4
  export declare const ListButtonStyled: import('@emotion/styled').StyledComponent<import('@mui/material').ListItemButtonOwnProps & Omit<import('@mui/material').ButtonBaseOwnProps, "classes"> & import('@mui/material/OverridableComponent').CommonProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
5
5
  ref?: ((instance: HTMLDivElement | null) => void | import('react').DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import('react').DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import('react').RefObject<HTMLDivElement> | null | undefined;
6
- }, "alignItems" | "sx" | "children" | "style" | "autoFocus" | "className" | "tabIndex" | "disabled" | "action" | "selected" | "dense" | "classes" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableGutters" | "divider"> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & ListButtonStyledProps, {}, {}>;
6
+ }, "className" | "style" | "classes" | "alignItems" | "children" | "sx" | "autoFocus" | "tabIndex" | "dense" | "disabled" | "action" | "selected" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableGutters" | "divider"> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & ListButtonStyledProps, {}, {}>;
7
7
  export declare const defaultState: {
8
8
  minHeight: number;
9
9
  height: number;
@@ -3,4 +3,4 @@ export interface RenderListProps {
3
3
  }
4
4
  export declare const RenderList: import('@emotion/styled').StyledComponent<import('@mui/material').ListOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & {
5
5
  ref?: ((instance: HTMLUListElement | null) => void | import('react').DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import('react').DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import('react').RefObject<HTMLUListElement> | null | undefined;
6
- }, "sx" | "children" | "style" | "className" | "dense" | "classes" | "disablePadding" | "subheader"> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & RenderListProps, {}, {}>;
6
+ }, "className" | "style" | "classes" | "children" | "sx" | "dense" | "disablePadding" | "subheader"> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & RenderListProps, {}, {}>;
@@ -1,5 +1,6 @@
1
+ import { default as React } from 'react';
1
2
  export interface MuiFooterProps {
2
3
  }
3
- export declare const MuiFooter: import('@emotion/styled').StyledComponent<import('@mui/system').BoxOwnProps<import('@mui/material').Theme> & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
4
- ref?: ((instance: HTMLDivElement | null) => void | import('react').DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import('react').DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import('react').RefObject<HTMLDivElement> | null | undefined;
4
+ export declare const MuiFooter: import('@emotion/styled').StyledComponent<import('@mui/system').BoxOwnProps<import('@mui/material').Theme> & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
5
+ ref?: ((instance: HTMLDivElement | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | React.RefObject<HTMLDivElement> | null | undefined;
5
6
  }, keyof import('@mui/system').BoxOwnProps<import('@mui/material').Theme>> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & MuiFooterProps, {}, {}>;
@@ -1,3 +1,4 @@
1
+ import { default as React } from 'react';
1
2
  export interface MuiMenuHeaderProps {
2
3
  }
3
- export declare const MuiMenuHeader: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & MuiMenuHeaderProps, import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
4
+ export declare const MuiMenuHeader: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & MuiMenuHeaderProps, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -0,0 +1 @@
1
+ export declare const CustomDetection: () => import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,8 @@
1
1
  import { default as React } from 'react';
2
- import { InitialStateProps } from '../../store/network.types';
2
+ import { InitialStatePropsNetwork } from '../../store/network.types';
3
3
  export interface DetectionProps extends Pick<React.HTMLAttributes<HTMLDivElement>, 'className'> {
4
4
  profile?: 'min-bottom';
5
- getStatus?: (props: InitialStateProps['infoNetwork']) => void;
5
+ getStatus?: (props: InitialStatePropsNetwork['infoNetwork']) => void;
6
6
  children?: React.ReactNode;
7
7
  }
8
8
  export declare const Detection: React.NamedExoticComponent<DetectionProps>;
@@ -0,0 +1,4 @@
1
+ export declare const Network: {
2
+ Render: import('react').NamedExoticComponent<import('./Render/Render').NetworkWatcherRenderProps>;
3
+ Detection: () => import("react/jsx-runtime").JSX.Element;
4
+ };
@@ -0,0 +1,3 @@
1
+ export * from './components';
2
+ export * from './store/network.store';
3
+ export * from './store/network.types';
@@ -1,4 +1,4 @@
1
- import { InitialStateProps } from './network.types';
2
- declare const initialState: InitialStateProps;
1
+ import { InitialStatePropsNetwork } from './network.types';
2
+ declare const initialState: InitialStatePropsNetwork;
3
3
  declare const defaultInitialState: typeof initialState;
4
4
  export { defaultInitialState, initialState };
@@ -1,16 +1,16 @@
1
- import { InitialStateProps, NetworkActions } from './network.types';
2
- export declare const storeNetwork: import('zustand').UseBoundStore<import('zustand').StoreApi<InitialStateProps>>;
1
+ import { InitialStatePropsNetwork, NetworkActions } from './network.types';
2
+ export declare const storeNetwork: import('zustand').UseBoundStore<import('zustand').StoreApi<InitialStatePropsNetwork>>;
3
3
  export declare const networkActions: NetworkActions;
4
4
  export declare const networkSelectors: {
5
- getNetworkStatus: (state: InitialStateProps) => boolean | null;
6
- getTypeNetwork: (state: InitialStateProps) => string;
7
- getInfoNetworkStatus: (state: InitialStateProps) => {
5
+ getNetworkStatus: (state: InitialStatePropsNetwork) => boolean | null;
6
+ getTypeNetwork: (state: InitialStatePropsNetwork) => string;
7
+ getInfoNetworkStatus: (state: InitialStatePropsNetwork) => {
8
8
  online: "" | "active";
9
9
  offline: "" | "active";
10
- action: "" | "online" | "offline";
10
+ action: "" | "offline" | "online";
11
11
  status: null | boolean;
12
12
  titleOnline: string;
13
13
  titleOffline: string;
14
14
  };
15
15
  };
16
- export declare const useNetworkSelector: <TSelected>(selector: (state: InitialStateProps) => TSelected) => TSelected;
16
+ export declare const useNetworkSelector: <TSelected>(selector: (state: InitialStatePropsNetwork) => TSelected) => TSelected;
@@ -1,6 +1,6 @@
1
1
  type NetworkActive_OR = '' | 'active';
2
2
  type NetworkKey_OR = '' | 'online' | 'offline';
3
- interface InitialStateProps {
3
+ interface InitialStatePropsNetwork {
4
4
  isNetwork: boolean | null;
5
5
  typeNetwork: string;
6
6
  infoNetwork: {
@@ -14,8 +14,8 @@ interface InitialStateProps {
14
14
  }
15
15
  interface NetworkActions {
16
16
  resetState: () => void;
17
- setTypeNetwork: (payload: Pick<InitialStateProps, 'typeNetwork'>) => void;
18
- setNetworkStatus: (payload: Pick<InitialStateProps, 'isNetwork'>) => void;
19
- setInfoNetworkStatus: (payload: Pick<InitialStateProps, 'infoNetwork'>) => void;
17
+ setTypeNetwork: (payload: Pick<InitialStatePropsNetwork, 'typeNetwork'>) => void;
18
+ setNetworkStatus: (payload: Pick<InitialStatePropsNetwork, 'isNetwork'>) => void;
19
+ setInfoNetworkStatus: (payload: Pick<InitialStatePropsNetwork, 'infoNetwork'>) => void;
20
20
  }
21
- export { type InitialStateProps, type NetworkActions };
21
+ export { type InitialStatePropsNetwork, type NetworkActions };
@@ -0,0 +1,57 @@
1
+ import { NetworkInfo } from './deps/NetworkControls';
2
+ import { WsApi_Options_P } from './deps/WsApi';
3
+ import { WsApi_Events } from './deps/WsApi/WsApi.types';
4
+ import { SocketApi_Options_P, SocketApi_StateProps_P, SocketApiOptionsRequest } from './SocketApi.types';
5
+ interface SocketApi_Events {
6
+ timeOffReConnect(info: {
7
+ status: boolean;
8
+ msg: string;
9
+ }): void;
10
+ reConnect(status: boolean): void;
11
+ network(info: NetworkInfo): void;
12
+ }
13
+ type CommonEvents = SocketApi_Events & WsApi_Events;
14
+ export declare class SocketApi {
15
+ #private;
16
+ private static state;
17
+ private static options;
18
+ private static wsApi;
19
+ private static delay;
20
+ private static networkTicker;
21
+ private static events;
22
+ private static saveID;
23
+ private static stateDefault;
24
+ private static copyState;
25
+ private static setState;
26
+ private static resetState;
27
+ private static setOptions;
28
+ private static setStatusReConnect;
29
+ private static setInfoConnect;
30
+ private static online;
31
+ private static offline;
32
+ private static splitOptions;
33
+ static getState: () => SocketApi_StateProps_P;
34
+ static on: <K extends keyof CommonEvents>(name: K, cb: CommonEvents[K]) => void;
35
+ static off: typeof SocketApi.wsApi.events.subscribe & typeof SocketApi.events.subscribe;
36
+ static getRequestSave: () => {
37
+ requestAction: string;
38
+ requestTime: number;
39
+ payload: {
40
+ action: string;
41
+ [key: string]: any;
42
+ };
43
+ reqId: string;
44
+ cb: any;
45
+ }[];
46
+ static getStatusSocket: () => import('./deps/WsApi').WsApiE_StatusConnect_OR;
47
+ static close: () => void;
48
+ private static setNetworkStatus;
49
+ static init: (options: WsApi_Options_P & SocketApi_Options_P) => void;
50
+ static connect(): Promise<void>;
51
+ static disconnect(): void;
52
+ static send<P = any, Data = any>(payload: P, cb?: (data: Data) => void): void;
53
+ static stopReConnect(status?: boolean): void;
54
+ static socketReConnect: () => void;
55
+ static request<P = any, Data = any>(keyRequest: string, payload: P, options?: SocketApiOptionsRequest): Promise<Data>;
56
+ }
57
+ export {};
@@ -0,0 +1,19 @@
1
+ import { WsApiE_StatusConnect_OR } from './deps/WsApi';
2
+ import { WsApi_Response } from './deps/WsApi/WsApi.types';
3
+ export interface SocketApi_Options_P {
4
+ isReConnectNetworkOnline?: boolean;
5
+ listUrlsCheckConnectNetwork?: string[];
6
+ }
7
+ type SocketApi_StateProps_OR = 'isDisconnect' | 'isActiveReConnect' | 'isOfflineSocket' | 'isReady' | 'isGotWasFirstConnection' | 'isStartCheckNetwork';
8
+ export type SocketApi_StateProps_P = Record<SocketApi_StateProps_OR, boolean>;
9
+ export type SocketApi_StatusConnect_OR = WsApiE_StatusConnect_OR;
10
+ export interface SocketRequest {
11
+ action: string;
12
+ [key: string]: any;
13
+ }
14
+ export type SocketResponse<P = any, Data = any> = WsApi_Response<P, Data>;
15
+ export interface SocketApiOptionsRequest {
16
+ timeout?: number;
17
+ signal?: AbortSignal;
18
+ }
19
+ export {};
@@ -0,0 +1,7 @@
1
+ import { ConfigInfoConnectI, OptionsConditionReConnect } from './ConfigInfoConnect.types';
2
+ export declare class ConfigInfoConnect implements ConfigInfoConnectI {
3
+ options: {
4
+ stop: boolean;
5
+ };
6
+ setConditionReConnect: (options: Partial<OptionsConditionReConnect>) => void;
7
+ }
@@ -0,0 +1,7 @@
1
+ export interface OptionsConditionReConnect {
2
+ stop: boolean;
3
+ }
4
+ export interface ConfigInfoConnectI {
5
+ options: OptionsConditionReConnect;
6
+ setConditionReConnect(options: Partial<OptionsConditionReConnect>): void;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { DelaysPromiseProps } from './DelaysPromise.types';
2
+ export declare class DelaysPromise {
3
+ private defaultProps;
4
+ startActionEvery: DelaysPromiseProps['startActionEvery'];
5
+ oneOf: DelaysPromiseProps['oneOf'];
6
+ oneOfPromise: DelaysPromiseProps['oneOfPromise'];
7
+ }
@@ -0,0 +1,31 @@
1
+ export interface ControlAction {
2
+ stop(status?: boolean): void;
3
+ getIsActiveEvent(): boolean;
4
+ }
5
+ interface StartActionEveryConfigI {
6
+ interval: number;
7
+ cutoffTime?: number;
8
+ countAction?: number;
9
+ watchIdInterval?(id: number | null): void;
10
+ controlAction?(control: ControlAction): void;
11
+ }
12
+ interface OneOfPromiseReject {
13
+ status: boolean;
14
+ msg: string;
15
+ }
16
+ export interface DelaysPromiseProps {
17
+ startActionEvery: (cb: () => boolean, config: StartActionEveryConfigI) => {
18
+ stop: ControlAction['stop'];
19
+ promise: Promise<{
20
+ status: boolean;
21
+ msg: string;
22
+ }>;
23
+ };
24
+ oneOf: <T = any>(watchPromise: () => Promise<T>, potentialCaseCB: () => void, config: {
25
+ second: number;
26
+ }) => void;
27
+ oneOfPromise: <T = any>(watchPromise: () => Promise<any>, cbPotentialReject: (p: OneOfPromiseReject) => OneOfPromiseReject, config: {
28
+ second: number;
29
+ }) => Promise<T>;
30
+ }
31
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './DelaysPromise';
2
+ export type { DelaysPromiseProps, ControlAction } from './DelaysPromise.types';
@@ -0,0 +1,13 @@
1
+ import { EventSubscribersProps } from './EventSubscribers.types';
2
+ export declare class EventSubscribers<EventsProps extends {
3
+ [K in keyof EventsProps]: (...args: any[]) => any;
4
+ }> {
5
+ private subscribersEvents;
6
+ constructor(eventsRegister: (keyof EventsProps)[]);
7
+ getListNameEvents: () => string[];
8
+ getSubscribers: () => { [K in keyof EventsProps]?: EventsProps[K][] | undefined; };
9
+ subscribe: EventSubscribersProps<EventsProps>['subscribe'];
10
+ unsubscribe: EventSubscribersProps<EventsProps>['unsubscribe'];
11
+ publish: EventSubscribersProps<EventsProps>['publish'];
12
+ resetSubscribers: EventSubscribersProps<EventsProps>['resetSubscribers'];
13
+ }
@@ -0,0 +1,9 @@
1
+ export interface EventSubscribersProps<EventsProps> {
2
+ getSubscribers: () => {
3
+ [K in keyof EventsProps]?: EventsProps[K][];
4
+ };
5
+ subscribe: <K extends keyof EventsProps>(name: K, cb: EventsProps[K]) => void;
6
+ unsubscribe: <K extends keyof EventsProps>(name: K, cb: EventsProps[K]) => void;
7
+ publish: <K extends keyof EventsProps>(name: K, data: EventsProps[K] extends (...args: any[]) => any ? Parameters<EventsProps[K]>[0] : any) => void;
8
+ resetSubscribers: () => void;
9
+ }
@@ -0,0 +1,2 @@
1
+ export * from './EventSubscribers';
2
+ export * from './EventSubscribers.types';
@@ -0,0 +1,14 @@
1
+ import { OnStatusChange } from '../NetworkStatusTracker/NetworkStatusTracker.types';
2
+ import { NetworkControlsConfigProps, NetworkControlsStateProps, NetworkMonitorCallback, NetworkMonitorCallbackInterval } from './NetworkControls.types';
3
+ export declare class NetworkControls {
4
+ private networkTicker;
5
+ private state;
6
+ private config;
7
+ private setState;
8
+ getState(): NetworkControlsStateProps;
9
+ private saveCallback;
10
+ constructor(listUrlsCheckConnection: string[]);
11
+ getNetworkStatus(onStatusChange?: OnStatusChange): void;
12
+ motitorNetwirk(cbInterval: NetworkMonitorCallbackInterval, cb: NetworkMonitorCallback, options?: NetworkControlsConfigProps): Promise<void>;
13
+ stopMotitorNetwirk(): void;
14
+ }
@@ -0,0 +1,19 @@
1
+ export type NetworkStatus = 'unknown' | 'none' | 'wifi' | '2g' | '3g' | '4g';
2
+ export interface NetworkInfo {
3
+ isNetwork: boolean;
4
+ typeNetwork: string;
5
+ }
6
+ export interface NetworkControlsStateProps extends NetworkInfo {
7
+ isActiveDelay: boolean;
8
+ }
9
+ export interface NetworkControlsConfigProps {
10
+ interval?: number;
11
+ isAutoStop?: boolean;
12
+ }
13
+ export type NetworkMonitorCallback = (info: NetworkInfo) => void;
14
+ interface NetworkMonitorCallbackIntervalConfig {
15
+ reset: () => void;
16
+ sendNetworkInfo: NetworkMonitorCallback;
17
+ }
18
+ export type NetworkMonitorCallbackInterval = (config: NetworkMonitorCallbackIntervalConfig) => void;
19
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './NetworkControls';
2
+ export * from './NetworkControls.types';
@@ -0,0 +1,31 @@
1
+ import { NetworkStatusInfoTracker, NetworkStatusConfig, OnStatusChange, NetworkConstructorConfig } from './NetworkStatusTracker.types';
2
+ export declare class NetworkStatusTracker {
3
+ private networkInfo;
4
+ private listUrls;
5
+ private state;
6
+ private setState;
7
+ private getState;
8
+ constructor(listUrls: string[]);
9
+ private getFetchOptions;
10
+ private getConnection;
11
+ private getIsNetwork;
12
+ private getTypeNetwork;
13
+ private updateState;
14
+ private controllersEvents;
15
+ private getControllersEvents;
16
+ private setControllersEvents;
17
+ startEvents(onStatusChange: OnStatusChange): void;
18
+ stopEvents(): void;
19
+ private requestByUrls;
20
+ private checkConnection;
21
+ private controllersFetching;
22
+ private getControllersMonitoring;
23
+ private setControllersMonitoring;
24
+ private startFetching;
25
+ stopFetching(): void;
26
+ checkStatus(onStatusChange?: OnStatusChange, config?: NetworkConstructorConfig): Promise<NetworkStatusInfoTracker>;
27
+ fetchingNetwork(onStatusChange: OnStatusChange, config: Required<NetworkStatusConfig>): {
28
+ stop: () => void;
29
+ };
30
+ getCurrentState(): NetworkStatusInfoTracker;
31
+ }
@@ -0,0 +1,22 @@
1
+ export interface NetworkInfoConnection {
2
+ downlink?: number;
3
+ effectiveType?: string;
4
+ rtt?: number;
5
+ saveData?: boolean;
6
+ type?: string;
7
+ }
8
+ export interface NetworkStatusInfoTracker {
9
+ isNetwork: boolean;
10
+ typeNetwork: string;
11
+ }
12
+ export interface NetworkStatusConfig {
13
+ interval?: number;
14
+ }
15
+ export interface NetworkConstructorConfig {
16
+ timeout?: number;
17
+ }
18
+ export type OnStatusChange = (info: NetworkStatusInfoTracker) => void;
19
+ export interface NetworkItemListTracker {
20
+ keyNameSystem: string;
21
+ getInfo: () => NetworkStatusInfoTracker;
22
+ }
@@ -0,0 +1,52 @@
1
+ import { EventSubscribers } from '../EventSubscribers/EventSubscribers';
2
+ import { WsApi_Events, WsApi_Options_P, WsApi_StateProps, WsApiE_StatusConnect_OR } from './WsApi.types';
3
+ export declare class WsApi {
4
+ private options;
5
+ private state;
6
+ private initOptions;
7
+ events: EventSubscribers<WsApi_Events>;
8
+ private stateDefault;
9
+ private resetState;
10
+ private setState;
11
+ private eventListener;
12
+ private openHandler;
13
+ private closeHandler;
14
+ private msgHandler;
15
+ private errHandler;
16
+ private copyState;
17
+ private filterSaveItemsByResponse;
18
+ private errorInitSocket;
19
+ private setStatus;
20
+ getState: () => WsApi_StateProps;
21
+ getSocket: () => WebSocket | null;
22
+ getStatusSocket: () => WsApiE_StatusConnect_OR;
23
+ getRequestSave: () => {
24
+ requestAction: string;
25
+ requestTime: number;
26
+ payload: {
27
+ action: string;
28
+ [key: string]: any;
29
+ };
30
+ reqId: string;
31
+ cb: any;
32
+ }[];
33
+ getOptions: () => WsApi_Options_P;
34
+ init: (options: typeof this.options) => void;
35
+ getIsInitWS: () => boolean;
36
+ connect(): void;
37
+ close(): void;
38
+ disconnect(): void;
39
+ send(data: any): void;
40
+ setRequestSave(reqInfo: (typeof this.state.arrSaveReq)[number]): void;
41
+ private getItemsRequestSaveByAction;
42
+ findDataRequestByAction: (action: string) => {
43
+ requestAction: string;
44
+ requestTime: number;
45
+ payload: {
46
+ action: string;
47
+ [key: string]: any;
48
+ };
49
+ reqId: string;
50
+ cb: any;
51
+ };
52
+ }
@@ -0,0 +1,40 @@
1
+ export interface WsApi_Options_P {
2
+ url: string;
3
+ timeReConnect: number;
4
+ numberOfRepit?: number;
5
+ }
6
+ export type WsApiE_StatusConnect_OR = "pending" | "ready" | "error" | "close" | "disconnect";
7
+ export interface WsApi_Events {
8
+ status(status: WsApiE_StatusConnect_OR): void;
9
+ msg(message: any): void;
10
+ error(error: {
11
+ readyState: number;
12
+ arrSaveReq: WsApi_StateProps['arrSaveReq'];
13
+ }): void;
14
+ }
15
+ export interface WsApi_RequestMeta<P> {
16
+ requestAction: string;
17
+ requestTime: number;
18
+ payload: P;
19
+ reqId: string;
20
+ }
21
+ export type WsApi_Response<P, D> = D & {
22
+ request: WsApi_RequestMeta<P>;
23
+ };
24
+ export interface WsApi_SaveRequest_P<P, D> extends WsApi_RequestMeta<P> {
25
+ cb: (response: WsApi_Response<P, D>) => void;
26
+ }
27
+ export interface WsApi_StateProps {
28
+ statusConnect: WsApiE_StatusConnect_OR;
29
+ ws: null | WebSocket;
30
+ arrSaveReq: {
31
+ requestAction: string;
32
+ requestTime: number;
33
+ payload: {
34
+ action: string;
35
+ [key: string]: any;
36
+ };
37
+ reqId: string;
38
+ cb: any;
39
+ }[];
40
+ }
@@ -0,0 +1,2 @@
1
+ export * from './WsApi';
2
+ export type { WsApiE_StatusConnect_OR, WsApi_Options_P, } from './WsApi.types';
@@ -0,0 +1,2 @@
1
+ import { CreateRequestSocketProps } from './createRequestSocket.types';
2
+ export declare const createRequestSocket: <ResponseSocket = any>(cb: (data: ResponseSocket) => void, { payload, socketAction, signal }: CreateRequestSocketProps) => void;
@@ -0,0 +1,5 @@
1
+ export interface CreateRequestSocketProps<D = any> {
2
+ payload: D;
3
+ socketAction: string;
4
+ signal?: AbortSignal;
5
+ }
@@ -0,0 +1,2 @@
1
+ export * from './createRequestSocket';
2
+ export * from './createRequestSocket.types';
@@ -0,0 +1,2 @@
1
+ export * from './useRequestSocketApi';
2
+ export * from './useRequestSocketApi.types';
@@ -0,0 +1,10 @@
1
+ import { UseRequestSocketOptions } from './useRequestSocketApi.types';
2
+ export declare const useRequestSocketApi: <P = any, Data = any>(keyRequest: string, payload: P, options?: UseRequestSocketOptions<Data>) => {
3
+ data: Data | null;
4
+ error: Error | null;
5
+ isLoading: boolean;
6
+ isError: boolean;
7
+ isSuccess: boolean;
8
+ refetch: () => Promise<void>;
9
+ abort: () => void;
10
+ };
@@ -0,0 +1,6 @@
1
+ export interface UseRequestSocketOptions<Data = any> {
2
+ skip?: boolean;
3
+ timeout?: number;
4
+ onSuccess?: (data: Data) => void;
5
+ onError?: (error: Error) => void;
6
+ }
@@ -0,0 +1,2 @@
1
+ export * from './SocketApi';
2
+ export { type SocketApi_StateProps_P, type SocketApi_StatusConnect_OR } from './SocketApi.types';