@webiny/app-websockets 6.3.0 → 6.4.0-beta.0
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/WebsocketsContextProvider.js +119 -142
- package/WebsocketsContextProvider.js.map +1 -1
- package/domain/WebsocketsAction.js +17 -24
- package/domain/WebsocketsAction.js.map +1 -1
- package/domain/WebsocketsActions.js +52 -73
- package/domain/WebsocketsActions.js.map +1 -1
- package/domain/WebsocketsConnection.js +72 -102
- package/domain/WebsocketsConnection.js.map +1 -1
- package/domain/WebsocketsManager.js +33 -34
- package/domain/WebsocketsManager.js.map +1 -1
- package/domain/WebsocketsSubscriptionManager.js +57 -64
- package/domain/WebsocketsSubscriptionManager.js.map +1 -1
- package/domain/abstractions/IWebsocketsAction.js +0 -3
- package/domain/abstractions/IWebsocketsActions.js +0 -3
- package/domain/abstractions/IWebsocketsConnection.js +7 -6
- package/domain/abstractions/IWebsocketsConnection.js.map +1 -1
- package/domain/abstractions/IWebsocketsManager.js +0 -3
- package/domain/abstractions/IWebsocketsSubscriptionManager.js +0 -3
- package/domain/abstractions/types.js +19 -18
- package/domain/abstractions/types.js.map +1 -1
- package/domain/index.js +0 -2
- package/domain/types.js +0 -2
- package/hooks/index.js +0 -2
- package/hooks/useWebsockets.js +5 -6
- package/hooks/useWebsockets.js.map +1 -1
- package/index.js +9 -12
- package/index.js.map +1 -1
- package/package.json +6 -6
- package/types.js +0 -3
- package/utils/getUrl.js +4 -3
- package/utils/getUrl.js.map +1 -1
- package/domain/abstractions/IWebsocketsAction.js.map +0 -1
- package/domain/abstractions/IWebsocketsActions.js.map +0 -1
- package/domain/abstractions/IWebsocketsManager.js.map +0 -1
- package/domain/abstractions/IWebsocketsSubscriptionManager.js.map +0 -1
- package/domain/index.js.map +0 -1
- package/domain/types.js.map +0 -1
- package/hooks/index.js.map +0 -1
- package/types.js.map +0 -1
package/hooks/useWebsockets.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { useContext } from "react";
|
|
2
2
|
import { WebsocketsContext } from "../WebsocketsContextProvider.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
return context;
|
|
3
|
+
const useWebsockets = ()=>{
|
|
4
|
+
const context = useContext(WebsocketsContext);
|
|
5
|
+
if (!context) throw new Error("useWebsockets must be used within a SocketsProvider");
|
|
6
|
+
return context;
|
|
9
7
|
};
|
|
8
|
+
export { useWebsockets };
|
|
10
9
|
|
|
11
10
|
//# sourceMappingURL=useWebsockets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"hooks/useWebsockets.js","sources":["../../src/hooks/useWebsockets.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport { WebsocketsContext } from \"~/WebsocketsContextProvider.js\";\nimport type { IWebsocketsContext } from \"~/types.js\";\n\nexport const useWebsockets = (): IWebsocketsContext => {\n const context = useContext(WebsocketsContext);\n if (!context) {\n throw new Error(\"useWebsockets must be used within a SocketsProvider\");\n }\n return context;\n};\n"],"names":["useWebsockets","context","useContext","WebsocketsContext","Error"],"mappings":";;AAIO,MAAMA,gBAAgB;IACzB,MAAMC,UAAUC,WAAWC;IAC3B,IAAI,CAACF,SACD,MAAM,IAAIG,MAAM;IAEpB,OAAOH;AACX"}
|
package/index.js
CHANGED
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
import
|
|
1
|
+
import react from "react";
|
|
2
2
|
import { Provider } from "@webiny/app";
|
|
3
3
|
import { WebsocketsContextProvider } from "./WebsocketsContextProvider.js";
|
|
4
|
-
const WebsocketsHoc = Component => {
|
|
5
|
-
return function WebsocketsProvider(props) {
|
|
6
|
-
return /*#__PURE__*/React.createElement(WebsocketsContextProvider, null, /*#__PURE__*/React.createElement(Component, props));
|
|
7
|
-
};
|
|
8
|
-
};
|
|
9
|
-
const WebsocketsExtension = () => {
|
|
10
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Provider, {
|
|
11
|
-
hoc: WebsocketsHoc
|
|
12
|
-
}));
|
|
13
|
-
};
|
|
14
|
-
export const Websockets = /*#__PURE__*/React.memo(WebsocketsExtension);
|
|
15
4
|
export * from "./types.js";
|
|
16
5
|
export * from "./hooks/index.js";
|
|
6
|
+
const WebsocketsHoc = (Component)=>function(props) {
|
|
7
|
+
return /*#__PURE__*/ react.createElement(WebsocketsContextProvider, null, /*#__PURE__*/ react.createElement(Component, props));
|
|
8
|
+
};
|
|
9
|
+
const WebsocketsExtension = ()=>/*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(Provider, {
|
|
10
|
+
hoc: WebsocketsHoc
|
|
11
|
+
}));
|
|
12
|
+
const Websockets = /*#__PURE__*/ react.memo(WebsocketsExtension);
|
|
13
|
+
export { Websockets };
|
|
17
14
|
|
|
18
15
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.tsx"],"sourcesContent":["import React from \"react\";\nimport { Provider } from \"@webiny/app\";\nimport { WebsocketsContextProvider } from \"~/WebsocketsContextProvider.js\";\n\nexport interface WebsocketsProviderProps {\n children: React.ReactNode;\n}\n\nconst WebsocketsHoc = (Component: React.ComponentType<React.PropsWithChildren>) => {\n return function WebsocketsProvider(props: WebsocketsProviderProps) {\n return (\n <WebsocketsContextProvider>\n <Component {...props} />\n </WebsocketsContextProvider>\n );\n };\n};\n\nconst WebsocketsExtension = () => {\n return (\n <>\n <Provider hoc={WebsocketsHoc} />\n </>\n );\n};\n\nexport const Websockets = React.memo(WebsocketsExtension);\n\nexport * from \"./types.js\";\nexport * from \"./hooks/index.js\";\n"],"names":["WebsocketsHoc","Component","props","WebsocketsContextProvider","WebsocketsExtension","Provider","Websockets","React"],"mappings":";;;;;AAQA,MAAMA,gBAAgB,CAACC,YACZ,SAA4BC,KAA8B;QAC7D,OAAO,WAAP,GACI,oBAACC,2BAAyBA,MAAAA,WAAAA,GACtB,oBAACF,WAAcC;IAG3B;AAGJ,MAAME,sBAAsB,IACjB,WAAP,GACI,wDACI,oBAACC,UAAQA;QAAC,KAAKL;;AAKpB,MAAMM,aAAa,WAAHA,GAAGC,MAAAA,IAAU,CAACH"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/app-websockets",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.4.0-beta.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./index.js",
|
|
@@ -17,14 +17,14 @@
|
|
|
17
17
|
],
|
|
18
18
|
"license": "MIT",
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@webiny/app": "6.
|
|
21
|
-
"@webiny/app-admin": "6.
|
|
22
|
-
"@webiny/utils": "6.
|
|
20
|
+
"@webiny/app": "6.4.0-beta.0",
|
|
21
|
+
"@webiny/app-admin": "6.4.0-beta.0",
|
|
22
|
+
"@webiny/utils": "6.4.0-beta.0",
|
|
23
23
|
"react": "18.3.1",
|
|
24
24
|
"react-dom": "18.3.1"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@webiny/build-tools": "6.
|
|
27
|
+
"@webiny/build-tools": "6.4.0-beta.0",
|
|
28
28
|
"rimraf": "6.1.3",
|
|
29
29
|
"typescript": "6.0.3"
|
|
30
30
|
},
|
|
@@ -32,5 +32,5 @@
|
|
|
32
32
|
"access": "public",
|
|
33
33
|
"directory": "dist"
|
|
34
34
|
},
|
|
35
|
-
"gitHead": "
|
|
35
|
+
"gitHead": "a545d7529828af07d08d49c3da1bcb967483b9ce"
|
|
36
36
|
}
|
package/types.js
CHANGED
package/utils/getUrl.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
const getUrl = ()=>{
|
|
2
|
+
const websocketApiUrl = process.env.REACT_APP_WEBSOCKET_URL;
|
|
3
|
+
return websocketApiUrl && "undefined" !== websocketApiUrl ? websocketApiUrl : void 0;
|
|
4
4
|
};
|
|
5
|
+
export { getUrl };
|
|
5
6
|
|
|
6
7
|
//# sourceMappingURL=getUrl.js.map
|
package/utils/getUrl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"utils/getUrl.js","sources":["../../src/utils/getUrl.ts"],"sourcesContent":["export const getUrl = (): string | undefined => {\n const websocketApiUrl = process.env.REACT_APP_WEBSOCKET_URL;\n\n return !websocketApiUrl || websocketApiUrl === \"undefined\" ? undefined : websocketApiUrl;\n};\n"],"names":["getUrl","websocketApiUrl","process","undefined"],"mappings":"AAAO,MAAMA,SAAS;IAClB,MAAMC,kBAAkBC,QAAQ,GAAG,CAAC,uBAAuB;IAE3D,OAAO,AAACD,mBAAmBA,AAAoB,gBAApBA,kBAA8CA,kBAAZE;AACjE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["IWebsocketsAction.ts"],"sourcesContent":["import type { IGenericData } from \"./types.js\";\n\nexport interface IWebsocketActionOnResponse<R extends IGenericData = IGenericData> {\n (response: R | null): R | null;\n}\n\nexport interface IWebsocketsActionsTriggerParams<\n T extends IGenericData = IGenericData,\n R extends IGenericData = IGenericData\n> {\n data?: T;\n /**\n * Does this action expect some response from the server?\n * If defined, the response will be passed to this function.\n */\n onResponse?: IWebsocketActionOnResponse<R>;\n /**\n * How long to wait for the response?\n * In milliseconds.\n */\n timeout?: number;\n}\n\nexport interface IWebsocketsAction<\n T extends IGenericData = IGenericData,\n R extends IGenericData = IGenericData\n> {\n /**\n * Trigger the action - send data to the server via Websockets.\n * If onResponse is defined the method will wait for the response.\n * If onResponse is not defined, the method will return null immediately.\n */\n trigger(params?: IWebsocketsActionsTriggerParams<T, R>): Promise<R | null>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["IWebsocketsActions.ts"],"sourcesContent":["import type { IWebsocketsManager } from \"./IWebsocketsManager.js\";\nimport type { IGenericData } from \"./types.js\";\n\nexport interface IWebsocketsActionsRunParams<T extends IGenericData = IGenericData> {\n action: string;\n data?: T;\n timeout?: number;\n}\n\nexport interface IWebsocketsActions {\n manager: IWebsocketsManager;\n run<T extends IGenericData = IGenericData, R extends IGenericData = IGenericData>(\n params: IWebsocketsActionsRunParams<T>\n ): Promise<R | null>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["IWebsocketsManager.ts"],"sourcesContent":["import type {\n IWebsocketsSubscription,\n IWebsocketsSubscriptionCallback\n} from \"./IWebsocketsSubscriptionManager.js\";\nimport type {\n IGenericData,\n IWebsocketsManagerCloseEvent,\n IWebsocketsManagerErrorEvent,\n IWebsocketsManagerMessageEvent,\n IWebsocketsManagerOpenEvent,\n WebsocketsCloseCode\n} from \"./types.js\";\n\nexport interface IWebsocketManagerSendData<\n T extends IGenericData = IGenericData\n> extends IGenericData {\n /**\n * A user token, which will identify the user sending the message.\n */\n token: string;\n /**\n * Current tenant.\n */\n tenant: string;\n /**\n * A unique message ID - generated on the UI side.\n * TODO implement waiting for the message response.\n */\n messageId?: string;\n /**\n * Action being fired on the API side.\n */\n action: string;\n /**\n * Data being sent to the API. Must be an object.\n */\n data: T;\n}\n\nexport interface IWebsocketsManager {\n isConnected(): boolean;\n isClosed(): boolean;\n\n connect(): Promise<void>;\n close(code: WebsocketsCloseCode, reason: string): Promise<boolean>;\n send<T extends IWebsocketManagerSendData = IWebsocketManagerSendData>(data: T): void;\n\n onOpen(\n cb: IWebsocketsSubscriptionCallback<IWebsocketsManagerOpenEvent>\n ): IWebsocketsSubscription<IWebsocketsManagerOpenEvent>;\n\n onClose(\n cb: IWebsocketsSubscriptionCallback<IWebsocketsManagerCloseEvent>\n ): IWebsocketsSubscription<IWebsocketsManagerCloseEvent>;\n\n onError(\n cb: IWebsocketsSubscriptionCallback<IWebsocketsManagerErrorEvent>\n ): IWebsocketsSubscription<IWebsocketsManagerErrorEvent>;\n\n onMessage<T extends IGenericData = IGenericData>(\n cb: IWebsocketsSubscriptionCallback<IWebsocketsManagerMessageEvent<T>>\n ): IWebsocketsSubscription<IWebsocketsManagerMessageEvent<T>>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["IWebsocketsSubscriptionManager.ts"],"sourcesContent":["import type { GenericRecord } from \"@webiny/app/types.js\";\nimport type {\n IGenericData,\n IWebsocketsManagerCloseEvent,\n IWebsocketsManagerErrorEvent,\n IWebsocketsManagerMessageEvent,\n IWebsocketsManagerOpenEvent\n} from \"./types.js\";\n\nexport type IWebsocketManagerEvent = \"open\" | \"close\" | \"error\" | \"message\";\n\nexport interface IWebsocketsSubscriptionCallback<T> {\n (data: T): Promise<void> | void;\n}\n\nexport interface IWebsocketsSubscription<T> {\n cb: IWebsocketsSubscriptionCallback<T>;\n id: string;\n /**\n * Remove the subscription on the message.\n */\n off: () => void;\n}\n\nexport interface IWebsocketsSubscriptionManagerSubscriptions<\n T extends IGenericData = IGenericData\n> {\n open: GenericRecord<string, IWebsocketsSubscription<IWebsocketsManagerOpenEvent>>;\n close: GenericRecord<string, IWebsocketsSubscription<IWebsocketsManagerCloseEvent>>;\n error: GenericRecord<string, IWebsocketsSubscription<IWebsocketsManagerErrorEvent>>;\n message: GenericRecord<string, IWebsocketsSubscription<T>>;\n}\n\nexport interface IWebsocketsSubscriptionManager {\n onOpen(\n cb: IWebsocketsSubscriptionCallback<IWebsocketsManagerOpenEvent>\n ): IWebsocketsSubscription<IWebsocketsManagerOpenEvent>;\n\n onClose(\n cb: IWebsocketsSubscriptionCallback<IWebsocketsManagerCloseEvent>\n ): IWebsocketsSubscription<IWebsocketsManagerCloseEvent>;\n\n onError(\n cb: IWebsocketsSubscriptionCallback<IWebsocketsManagerErrorEvent>\n ): IWebsocketsSubscription<IWebsocketsManagerErrorEvent>;\n\n onMessage<T extends IGenericData = IGenericData>(\n cb: IWebsocketsSubscriptionCallback<IWebsocketsManagerMessageEvent<T>>\n ): IWebsocketsSubscription<IWebsocketsManagerMessageEvent<T>>;\n\n triggerOnOpen(event: IWebsocketsManagerOpenEvent): Promise<void>;\n triggerOnClose(event: IWebsocketsManagerCloseEvent): Promise<void>;\n triggerOnError(event: IWebsocketsManagerErrorEvent): Promise<void>;\n triggerOnMessage(event: IWebsocketsManagerMessageEvent<string>): Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
|
package/domain/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./WebsocketsAction.js\";\nexport * from \"./WebsocketsActions.js\";\nexport * from \"./WebsocketsConnection.js\";\nexport * from \"./WebsocketsManager.js\";\nexport * from \"./WebsocketsSubscriptionManager.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA","ignoreList":[]}
|
package/domain/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["export type * from \"./abstractions/IWebsocketsAction.js\";\nexport type * from \"./abstractions/IWebsocketsActions.js\";\nexport * from \"./abstractions/IWebsocketsConnection.js\";\nexport type * from \"./abstractions/IWebsocketsManager.js\";\nexport type * from \"./abstractions/IWebsocketsSubscriptionManager.js\";\n\nexport * from \"./abstractions/types.js\";\n"],"mappings":"AAEA;AAIA","ignoreList":[]}
|
package/hooks/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./useWebsockets.js\";\n"],"mappings":"AAAA","ignoreList":[]}
|
package/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {\n IGenericData,\n IWebsocketsAction,\n IWebsocketsManagerCloseEvent,\n IWebsocketsManagerErrorEvent,\n IWebsocketsManagerMessageEvent,\n IWebsocketsSubscription\n} from \"~/domain/types.js\";\n\nexport * from \"./domain/types.js\";\n\nexport interface IWebsocketsContextSendCallable {\n <T extends IGenericData = IGenericData>(action: string, data?: T, timeout?: number): void;\n}\n\nexport interface IWebsocketsContextCreateActionCallable<\n T extends IGenericData = IGenericData,\n R extends IGenericData = IGenericData\n> {\n (name: string): IWebsocketsAction<T, R>;\n}\n\nexport interface ISocketsContextOnMessageCallable {\n <T extends IncomingGenericData = IncomingGenericData>(\n action: string,\n cb: (data: T) => void\n ): IWebsocketsSubscription<IWebsocketsManagerMessageEvent<T>>;\n}\n\nexport interface ISocketsContextOnErrorCallable {\n (\n cb: (data: IWebsocketsManagerErrorEvent) => void\n ): IWebsocketsSubscription<IWebsocketsManagerErrorEvent>;\n}\n\nexport interface ISocketsContextOnCloseCallable {\n (\n cb: (data: IWebsocketsManagerCloseEvent) => void\n ): IWebsocketsSubscription<IWebsocketsManagerCloseEvent>;\n}\n\nexport interface IWebsocketsContext {\n send: IWebsocketsContextSendCallable;\n createAction: IWebsocketsContextCreateActionCallable;\n onMessage: ISocketsContextOnMessageCallable;\n onError: ISocketsContextOnErrorCallable;\n onClose: ISocketsContextOnCloseCallable;\n}\n\nexport interface IncomingGenericData extends IGenericData {\n action: string;\n}\n"],"mappings":"AASA;AAAkC","ignoreList":[]}
|