@corva/ui 3.19.0 → 3.19.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.
Files changed (30) hide show
  1. package/cjs-bundle/clients/index.js +1 -1
  2. package/cjs-bundle/clients/index.js.map +1 -1
  3. package/cjs-bundle/clients/subscriptions/constants.js +1 -1
  4. package/cjs-bundle/clients/subscriptions/socket-client.v2.js +1 -1
  5. package/cjs-bundle/clients/subscriptions/subscriptions-client.dummy.js +1 -1
  6. package/cjs-bundle/clients/subscriptions/subscriptions-client.factory.js +1 -1
  7. package/cjs-bundle/clients/subscriptions/subscriptions-client.js +1 -1
  8. package/cjs-bundle/clients/subscriptions.v1.js +1 -1
  9. package/cjs-bundle/clients/subscriptions.v1.js.map +1 -1
  10. package/clients/index.d.ts +2 -0
  11. package/clients/index.d.ts.map +1 -1
  12. package/clients/index.js +1 -1
  13. package/clients/index.js.map +1 -1
  14. package/clients/subscriptions/constants.d.ts.map +1 -1
  15. package/clients/subscriptions/constants.js +1 -1
  16. package/clients/subscriptions/socket-client.v2.d.ts +2 -1
  17. package/clients/subscriptions/socket-client.v2.d.ts.map +1 -1
  18. package/clients/subscriptions/socket-client.v2.js +1 -1
  19. package/clients/subscriptions/subscriptions-client.d.ts +2 -1
  20. package/clients/subscriptions/subscriptions-client.d.ts.map +1 -1
  21. package/clients/subscriptions/subscriptions-client.dummy.d.ts +2 -1
  22. package/clients/subscriptions/subscriptions-client.dummy.d.ts.map +1 -1
  23. package/clients/subscriptions/subscriptions-client.dummy.js +1 -1
  24. package/clients/subscriptions/subscriptions-client.factory.js +1 -1
  25. package/clients/subscriptions/subscriptions-client.js +1 -1
  26. package/clients/subscriptions/types.d.ts +10 -1
  27. package/clients/subscriptions/types.d.ts.map +1 -1
  28. package/clients/subscriptions.v1.js +1 -1
  29. package/clients/subscriptions.v1.js.map +1 -1
  30. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("uuid"),r=require("lodash"),n=require("./clientStorage/index.js"),o=require("./jsonApi/index.js"),i=require("./subscriptions.js"),s=require("./api/apiCore.js"),a=require("./constants.js"),c=require("./corvaUrls.js"),u=require("./subscriptions/constants.js"),p=require("./subscriptions/socket-client.v2.js"),l=require("./sso/index.js"),d=require("./utils.js");function v(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var g=v(e);function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?h(Object(r),!0).forEach((function(t){g.default(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):h(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var A={get:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return s.get(e,t,r)},getWithHeaders:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return s.getWithHeaders(e,t,r)},put:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return s.put(e,t,r,n)},patch:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return s.patch(e,t,r,n)},post:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return s.post(e,t,r)},del:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return s.del(e,t,r)}},b={get:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return s.get(e,t,f({apiUrl:a.CORVA_API_URLS.DATA_API},r))},put:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return s.put(e,t,r,f({apiUrl:a.CORVA_API_URLS.DATA_API},n))},patch:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return s.patch(e,t,r,f({apiUrl:a.CORVA_API_URLS.DATA_API},n))},post:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return s.post(e,t,f({apiUrl:a.CORVA_API_URLS.DATA_API},r))},del:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return s.del(e,t,f({apiUrl:a.CORVA_API_URLS.DATA_API},r))}};function j(){if(window.xprops){var e,r,n,o,i,s=(null===(e=window.xprops)||void 0===e||null===(r=e.app)||void 0===r||null===(n=r.app)||void 0===n?void 0:n.id)||"unknown-app-id",a=(null===(o=window.xprops)||void 0===o||null===(i=o.app)||void 0===i?void 0:i.id)||"unknown-instance-id";return"".concat(s,":").concat(a,":").concat(t.v4())}return"non-dc-app:".concat(t.v4())}var P={subscribe:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.onDataReceive,o=window[Symbol.for("socket")]||{},i=o.subscribe,s=o.unsubscribe,a=o.socket;if(!a)return console.error("Socket is not initialized!"),r.noop;var c=j(),u=f(f({},e),{},{collection:e.collection||e.dataset,appInstanceId:c}),p=n&&function(e){return e.appInstanceId===c&&n(e)};return i(u),p&&a.on("data",p),function(){p&&a.off("data",p),s(u)}}},O=u.handleSubscriptionsVersion(P,p.socketClientV2);exports.clientStorage=n,exports.jsonApi=o,exports.subscriptions=i,exports.corvaUrls=c,exports.sso=l,exports.attachHTTPHeaders=d.attachHTTPHeaders,exports.getAppKeyFromStackTrace=d.getAppKeyFromStackTrace,exports.getAuthorizationHeaders=d.getAuthorizationHeaders,exports.getAuthorizationToken=d.getAuthorizationToken,exports.corvaAPI=A,exports.corvaDataAPI=b,exports.socketClient=O;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("uuid"),n=require("lodash"),r=require("./clientStorage/index.js"),o=require("./jsonApi/index.js"),i=require("./subscriptions.js"),c=require("./api/apiCore.js"),s=require("./constants.js"),u=require("./corvaUrls.js"),a=require("./subscriptions/constants.js"),p=require("./subscriptions/socket-client.v2.js"),l=require("./sso/index.js"),d=require("./utils.js");function v(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var f=v(e);function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach((function(t){f.default(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var A={get:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return c.get(e,t,n)},getWithHeaders:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return c.getWithHeaders(e,t,n)},put:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return c.put(e,t,n,r)},patch:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return c.patch(e,t,n,r)},post:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return c.post(e,t,n)},del:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return c.del(e,t,n)}},b={get:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return c.get(e,t,h({apiUrl:s.CORVA_API_URLS.DATA_API},n))},put:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return c.put(e,t,n,h({apiUrl:s.CORVA_API_URLS.DATA_API},r))},patch:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return c.patch(e,t,n,h({apiUrl:s.CORVA_API_URLS.DATA_API},r))},post:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return c.post(e,t,h({apiUrl:s.CORVA_API_URLS.DATA_API},n))},del:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return c.del(e,t,h({apiUrl:s.CORVA_API_URLS.DATA_API},n))}};function j(){if(window.xprops){var e,n,r,o,i,c=(null===(e=window.xprops)||void 0===e||null===(n=e.app)||void 0===n||null===(r=n.app)||void 0===r?void 0:r.id)||"unknown-app-id",s=(null===(o=window.xprops)||void 0===o||null===(i=o.app)||void 0===i?void 0:i.id)||"unknown-instance-id";return"".concat(c,":").concat(s,":").concat(t.v4())}return"non-dc-app:".concat(t.v4())}var P={subscribe:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.onDataReceive,o=window[Symbol.for("socket")]||{},i=o.subscribe,c=o.unsubscribe,s=o.socket;if(!s)return console.error("Socket is not initialized!"),n.noop;var u=j(),a=h(h({},e),{},{collection:e.collection||e.dataset,appInstanceId:u}),p=r&&function(e){return e.appInstanceId===u&&r(e)};return i(a),p&&s.on("data",p),function(){p&&s.off("data",p),c(a)}},onConnectionChange:function(e){var t=(window[Symbol.for("socket")]||{}).socket;if(!t)return function(){};var n=function(){return e({status:"connected"})},r=function(t){return e({status:"disconnected",reason:t})},o=function(){return e({status:"reconnecting"})},i=function(t){return e({status:"error",reason:(null==t?void 0:t.message)||String(t)})};return t.on("connect",n),t.on("disconnect",r),t.on("reconnect",o),t.on("connect_error",i),function(){t.off("connect",n),t.off("disconnect",r),t.off("reconnect",o),t.off("connect_error",i)}}},O=a.handleSubscriptionsVersion(P,p.socketClientV2);exports.clientStorage=r,exports.jsonApi=o,exports.subscriptions=i,exports.corvaUrls=u,exports.sso=l,exports.attachHTTPHeaders=d.attachHTTPHeaders,exports.getAppKeyFromStackTrace=d.getAppKeyFromStackTrace,exports.getAuthorizationHeaders=d.getAuthorizationHeaders,exports.getAuthorizationToken=d.getAuthorizationToken,exports.corvaAPI=A,exports.corvaDataAPI=b,exports.socketClient=O;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/clients/index.js"],"sourcesContent":["import { v4 as uuidV4 } from 'uuid';\nimport { noop } from 'lodash';\n\nimport * as clientStorage from './clientStorage';\nimport * as jsonApi from './jsonApi';\nimport * as subscriptions from './subscriptions';\nimport { get, put, patch, post, del, getWithHeaders } from './api/apiCore';\nimport { CORVA_API_URLS } from './constants';\nimport * as corvaUrls from './corvaUrls';\nimport { handleSubscriptionsVersion } from './subscriptions/constants';\nimport { socketClientV2 } from './subscriptions/socket-client.v2';\n\nexport { clientStorage, jsonApi, subscriptions, corvaUrls };\nexport * as sso from './sso';\nexport * from './utils';\n\nexport const corvaAPI = {\n get: (path, queryParams = {}, requestOptions = {}) => {\n return get(path, queryParams, requestOptions);\n },\n getWithHeaders: (path, queryParams = {}, requestOptions = {}) => {\n return getWithHeaders(path, queryParams, requestOptions);\n },\n put: (path, content, queryParams = {}, requestOptions = {}) => {\n return put(path, content, queryParams, requestOptions);\n },\n patch: (path, content, queryParams = {}, requestOptions = {}) => {\n return patch(path, content, queryParams, requestOptions);\n },\n post: (path, entity, requestOptions = {}) => {\n return post(path, entity, requestOptions);\n },\n del: (path, queryParams = {}, requestOptions = {}) => {\n return del(path, queryParams, requestOptions);\n },\n};\n\nexport const corvaDataAPI = {\n get: (path, queryParams = {}, requestOptions = {}) =>\n get(path, queryParams, { apiUrl: CORVA_API_URLS.DATA_API, ...requestOptions }),\n put: (path, content, queryParams = {}, requestOptions = {}) =>\n put(path, content, queryParams, { apiUrl: CORVA_API_URLS.DATA_API, ...requestOptions }),\n patch: (path, content, queryParams = {}, requestOptions = {}) =>\n patch(path, content, queryParams, { apiUrl: CORVA_API_URLS.DATA_API, ...requestOptions }),\n post: (path, entity, requestOptions = {}) =>\n post(path, entity, { apiUrl: CORVA_API_URLS.DATA_API, ...requestOptions }),\n del: (path, queryParams = {}, requestOptions = {}) =>\n del(path, queryParams, { apiUrl: CORVA_API_URLS.DATA_API, ...requestOptions }),\n};\n\nconst SOCKET_NOT_INITIALIZED_ERROR = 'Socket is not initialized!';\n\nfunction getAppInstanceId() {\n if (window.xprops) {\n const appId = window.xprops?.app?.app?.id || 'unknown-app-id';\n const appInstanceId = window.xprops?.app?.id || 'unknown-instance-id';\n\n return `${appId}:${appInstanceId}:${uuidV4()}`;\n }\n\n return `non-dc-app:${uuidV4()}`;\n}\n\nconst socketClientV1 = {\n subscribe: (subscription, { onDataReceive } = {}) => {\n const { subscribe, unsubscribe, socket } = window[Symbol.for('socket')] || {};\n\n if (!socket) {\n console.error(SOCKET_NOT_INITIALIZED_ERROR);\n // In some environments, like PDF Dashboard Report, socket is not initialized\n // But socketClient should not throw errors to prevent apps crashing\n return noop;\n }\n const subId = getAppInstanceId();\n const subscriptionWithId = {\n ...subscription,\n // NOTE: Add ability to pass dataset (because we don't use \"collection\" in new data api)\n collection: subscription.collection || subscription.dataset,\n // NOTE: Unique id is required for subscriptions server\n appInstanceId: subId,\n };\n\n const onData =\n onDataReceive && (event => event.appInstanceId === subId && onDataReceive(event));\n\n subscribe(subscriptionWithId);\n if (onData) socket.on('data', onData);\n\n // NOTE: Return unsubscribe\n return () => {\n if (onData) socket.off('data', onData);\n unsubscribe(subscriptionWithId);\n };\n },\n};\n\nexport const socketClient = handleSubscriptionsVersion(socketClientV1, socketClientV2);\n"],"names":["corvaAPI","get","path","queryParams","arguments","length","undefined","requestOptions","getWithHeaders","put","content","patch","post","entity","del","corvaDataAPI","_objectSpread","apiUrl","CORVA_API_URLS","DATA_API","getAppInstanceId","window","xprops","_window$xprops","_window$xprops$app","_window$xprops$app$ap","_window$xprops2","_window$xprops2$app","appId","app","id","appInstanceId","concat","uuidV4","v4","socketClientV1","subscribe","subscription","_ref","onDataReceive","Symbol","for","unsubscribe","socket","console","error","noop","subId","subscriptionWithId","collection","dataset","onData","event","on","off","socketClient","handleSubscriptionsVersion","socketClientV2"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/clients/index.js"],"sourcesContent":["import { v4 as uuidV4 } from 'uuid';\nimport { noop } from 'lodash';\n\nimport * as clientStorage from './clientStorage';\nimport * as jsonApi from './jsonApi';\nimport * as subscriptions from './subscriptions';\nimport { get, put, patch, post, del, getWithHeaders } from './api/apiCore';\nimport { CORVA_API_URLS } from './constants';\nimport * as corvaUrls from './corvaUrls';\nimport { handleSubscriptionsVersion } from './subscriptions/constants';\nimport { socketClientV2 } from './subscriptions/socket-client.v2';\n\nexport { clientStorage, jsonApi, subscriptions, corvaUrls };\nexport * as sso from './sso';\nexport * from './utils';\n\nexport const corvaAPI = {\n get: (path, queryParams = {}, requestOptions = {}) => {\n return get(path, queryParams, requestOptions);\n },\n getWithHeaders: (path, queryParams = {}, requestOptions = {}) => {\n return getWithHeaders(path, queryParams, requestOptions);\n },\n put: (path, content, queryParams = {}, requestOptions = {}) => {\n return put(path, content, queryParams, requestOptions);\n },\n patch: (path, content, queryParams = {}, requestOptions = {}) => {\n return patch(path, content, queryParams, requestOptions);\n },\n post: (path, entity, requestOptions = {}) => {\n return post(path, entity, requestOptions);\n },\n del: (path, queryParams = {}, requestOptions = {}) => {\n return del(path, queryParams, requestOptions);\n },\n};\n\nexport const corvaDataAPI = {\n get: (path, queryParams = {}, requestOptions = {}) =>\n get(path, queryParams, { apiUrl: CORVA_API_URLS.DATA_API, ...requestOptions }),\n put: (path, content, queryParams = {}, requestOptions = {}) =>\n put(path, content, queryParams, { apiUrl: CORVA_API_URLS.DATA_API, ...requestOptions }),\n patch: (path, content, queryParams = {}, requestOptions = {}) =>\n patch(path, content, queryParams, { apiUrl: CORVA_API_URLS.DATA_API, ...requestOptions }),\n post: (path, entity, requestOptions = {}) =>\n post(path, entity, { apiUrl: CORVA_API_URLS.DATA_API, ...requestOptions }),\n del: (path, queryParams = {}, requestOptions = {}) =>\n del(path, queryParams, { apiUrl: CORVA_API_URLS.DATA_API, ...requestOptions }),\n};\n\nconst SOCKET_NOT_INITIALIZED_ERROR = 'Socket is not initialized!';\n\nfunction getAppInstanceId() {\n if (window.xprops) {\n const appId = window.xprops?.app?.app?.id || 'unknown-app-id';\n const appInstanceId = window.xprops?.app?.id || 'unknown-instance-id';\n\n return `${appId}:${appInstanceId}:${uuidV4()}`;\n }\n\n return `non-dc-app:${uuidV4()}`;\n}\n\nconst socketClientV1 = {\n subscribe: (subscription, { onDataReceive } = {}) => {\n const { subscribe, unsubscribe, socket } = window[Symbol.for('socket')] || {};\n\n if (!socket) {\n console.error(SOCKET_NOT_INITIALIZED_ERROR);\n // In some environments, like PDF Dashboard Report, socket is not initialized\n // But socketClient should not throw errors to prevent apps crashing\n return noop;\n }\n const subId = getAppInstanceId();\n const subscriptionWithId = {\n ...subscription,\n // NOTE: Add ability to pass dataset (because we don't use \"collection\" in new data api)\n collection: subscription.collection || subscription.dataset,\n // NOTE: Unique id is required for subscriptions server\n appInstanceId: subId,\n };\n\n const onData =\n onDataReceive && (event => event.appInstanceId === subId && onDataReceive(event));\n\n subscribe(subscriptionWithId);\n if (onData) socket.on('data', onData);\n\n // NOTE: Return unsubscribe\n return () => {\n if (onData) socket.off('data', onData);\n unsubscribe(subscriptionWithId);\n };\n },\n onConnectionChange: handler => {\n const { socket } = window[Symbol.for('socket')] || {};\n if (!socket) return () => {};\n const onConnect = () => handler({ status: 'connected' });\n const onDisconnect = reason => handler({ status: 'disconnected', reason });\n const onReconnect = () => handler({ status: 'reconnecting' });\n const onConnectError = err => handler({ status: 'error', reason: err?.message || String(err) });\n\n socket.on('connect', onConnect);\n socket.on('disconnect', onDisconnect);\n socket.on('reconnect', onReconnect);\n socket.on('connect_error', onConnectError);\n\n return () => {\n socket.off('connect', onConnect);\n socket.off('disconnect', onDisconnect);\n socket.off('reconnect', onReconnect);\n socket.off('connect_error', onConnectError);\n };\n },\n};\n\nexport const socketClient = handleSubscriptionsVersion(socketClientV1, socketClientV2);\n"],"names":["corvaAPI","get","path","queryParams","arguments","length","undefined","requestOptions","getWithHeaders","put","content","patch","post","entity","del","corvaDataAPI","_objectSpread","apiUrl","CORVA_API_URLS","DATA_API","getAppInstanceId","window","xprops","_window$xprops","_window$xprops$app","_window$xprops$app$ap","_window$xprops2","_window$xprops2$app","appId","app","id","appInstanceId","concat","uuidV4","v4","socketClientV1","subscribe","subscription","_ref","onDataReceive","Symbol","for","unsubscribe","socket","console","error","noop","subId","subscriptionWithId","collection","dataset","onData","event","on","off","onConnectionChange","handler","onConnect","status","onDisconnect","reason","onReconnect","onConnectError","err","message","String","socketClient","handleSubscriptionsVersion","socketClientV2"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("query-string"),r=require("../../utils/env.js");function t(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var s=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,s.get?s:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var s=t(e).parse(window.location.search),o=r.isDevOrQAEnv?"2":"1",n=s.subscriptions_version||localStorage.getItem("subscriptions_version")||o;r.isDevOrQAEnv&&"2"!==localStorage.getItem("subscriptions_version_forced")&&(localStorage.setItem("subscriptions_version","2"),localStorage.setItem("subscriptions_version_forced","2"));var i=function(){return"1"===n?"/":"/".concat(n)},c=process.env.REACT_APP_SUBSCRIPTIONS_URL||s.subscriptions_url||"https://subscriptions.qa.corva.ai",a="".concat(c).concat(i()),u=new RegExp("^/reports.*$");exports.IGNORED_ROUTES_REGEXP=u,exports.SUBSCRIPTIONS_URL=a,exports.getNamespace=i,exports.handleSubscriptionsVersion=function(e,r){return"1"===n?e:r};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("query-string"),r=require("../../utils/env.js");function t(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var s=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,s.get?s:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var s=t(e).parse(window.location.search),o=r.isDevOrQAEnv||r.isBetaEnv,n=o?"2":"1",i=s.subscriptions_version||localStorage.getItem("subscriptions_version")||n;o&&"2"!==localStorage.getItem("subscriptions_version_forced")&&(localStorage.setItem("subscriptions_version","2"),localStorage.setItem("subscriptions_version_forced","2"));var c=function(){return"1"===i?"/":"/".concat(i)},a=process.env.REACT_APP_SUBSCRIPTIONS_URL||s.subscriptions_url||"https://subscriptions.qa.corva.ai",u="".concat(a).concat(c()),p=new RegExp("^/reports.*$");exports.IGNORED_ROUTES_REGEXP=p,exports.SUBSCRIPTIONS_URL=u,exports.getNamespace=c,exports.handleSubscriptionsVersion=function(e,r){return"1"===i?e:r};
2
2
  //# sourceMappingURL=constants.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require('./../../ext-esm/tslib/tslib.es6.js'),t=require("./get-channel-name.js"),i=require("./subscriptions-client.factory.js"),n={subscribe:function(n,s){var r=s.onDataReceive,c=i.SubscriptionsClientFactory.init(),o=t.getChannelName(n);return c.subscribe(o,(function(t){return r(e.__assign(e.__assign({},n),{data:t}))}))},disconnect:function(){i.SubscriptionsClientFactory.init().disconnect()}};exports.socketClientV2=n;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=require('./../../ext-esm/tslib/tslib.es6.js'),e=require("./get-channel-name.js"),t=require("./subscriptions-client.factory.js"),i={subscribe:function(i,s){var r=s.onDataReceive,o=t.SubscriptionsClientFactory.init(),c=e.getChannelName(i);return o.subscribe(c,(function(e){return r(n.__assign(n.__assign({},i),{data:e}))}))},onConnectionChange:function(n){return t.SubscriptionsClientFactory.init().onConnectionChange(n)},disconnect:function(){t.SubscriptionsClientFactory.init().disconnect()}};exports.socketClientV2=i;
2
2
  //# sourceMappingURL=socket-client.v2.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=function(){function t(){}return t.prototype.subscribe=function(t,n,e){return function(){}},t.prototype.unsubscribe=function(t,n,e){},t.prototype.disconnect=function(){},t}();exports.DummySubscriptionsClient=t;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=function(){function n(){}return n.prototype.subscribe=function(n,t,o){return function(){}},n.prototype.unsubscribe=function(n,t,o){},n.prototype.disconnect=function(){},n.prototype.onConnectionChange=function(n){return function(){}},n}();exports.DummySubscriptionsClient=n;
2
2
  //# sourceMappingURL=subscriptions-client.dummy.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("socket.io-client"),e=require("./constants.js"),n=require("./subscriptions-client.js"),i=require("./subscriptions-client.dummy.js"),r=function(){function r(){}return r.init=function(){return this.instance||(this.instance=this.create()),this.instance},r.create=function(){if(e.IGNORED_ROUTES_REGEXP.test(window.location.pathname))return new i.DummySubscriptionsClient;var r=t.io(e.SUBSCRIPTIONS_URL,{transports:["websocket"],autoConnect:!0}),s=0;return r.on("connect",(function(){(s+=1,r.recovered)||1!==s&&Object.keys(r._callbacks).filter((function(t){return t.startsWith("$data#")})).map((function(t){return t.replace("$data#","")})).forEach((function(t){r.emit("subscribe",{channel:t})}))})),new n.SubscriptionsClientV2(r)},r}();exports.SubscriptionsClientFactory=r;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("socket.io-client"),e=require("./constants.js"),n=require("./subscriptions-client.js"),i=require("./subscriptions-client.dummy.js"),r=function(){function r(){}return r.init=function(){return this.instance||(this.instance=this.create()),this.instance},r.create=function(){if(e.IGNORED_ROUTES_REGEXP.test(window.location.pathname))return new i.DummySubscriptionsClient;var r=t.io(e.SUBSCRIPTIONS_URL,{transports:["websocket"],autoConnect:!0}),c=0;return r.on("connect",(function(){(c+=1,r.recovered)||1!==c&&Object.keys(r._callbacks).filter((function(t){return t.startsWith("$data#")})).map((function(t){return t.replace("$data#","")})).forEach((function(t){r.emit("subscribe",{channel:t,_current_location_href:window.top.location.href})}))})),new n.SubscriptionsClientV2(r)},r}();exports.SubscriptionsClientFactory=r;
2
2
  //# sourceMappingURL=subscriptions-client.factory.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=function(){function t(t){this._socket=t}return t.prototype.subscribe=function(t,e,n){var o=this;this._validateArgs(t,e,n),this._socket.on("data#".concat(t),e),this._emit("subscribe",t,n);var r=function(){return o.unsubscribe(t,e,n)};return Object.defineProperty(r,"name",{value:"unsubscribe_".concat(t.replace(/[^\w]/g,"_")),writable:!1}),r},t.prototype.unsubscribe=function(t,e,n){this._validateArgs(t,e,n),this._emit("unsubscribe",t,n),this._socket.off("data#".concat(t),e)},t.prototype.disconnect=function(){return this._socket.disconnect(),this._socket.removeAllListeners(),this},t.prototype._validateArgs=function(t,e,n){if("string"!=typeof t||!t)throw new Error("Channel must be a non-empty string");if("function"!=typeof e)throw new Error("onData handler must be a function");if(void 0!==n&&"function"!=typeof n)throw new Error("ack must be a function")},t.prototype._shouldEmitToServer=function(t){return 1===this._socket.listeners("data#".concat(t)).length},t.prototype._emit=function(t,e,n){if(!this._shouldEmitToServer(e))return null==n?void 0:n();n?this._socket.emitWithAck(t,{channel:e},(function(o){return o.ok?n():n(new Error("Failed to ".concat(t," to channel ").concat(e,": ").concat(o.error)))})):this._socket.emit(t,{channel:e})},t}();exports.SubscriptionsClientV2=t;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=function(){function t(t){var n=this;this._socket=t,this.onConnectionChange=function(t){var e=function(){return t({status:"connected"})},o=function(n){return t({status:"disconnected",reason:n})},r=function(){return t({status:"reconnecting"})},c=function(n){return t({status:"error",reason:(null==n?void 0:n.message)||String(n)})};return n._socket.on("connect",e),n._socket.on("disconnect",o),n._socket.on("reconnect",r),n._socket.on("connect_error",c),function(){n._socket.off("connect",e),n._socket.off("disconnect",o),n._socket.off("reconnect",r),n._socket.off("connect_error",c)}}}return t.prototype.subscribe=function(t,n,e){var o=this;this._validateArgs(t,n,e),this._socket.on("data#".concat(t),n),this._emit("subscribe",t,e);var r=function(){return o.unsubscribe(t,n,e)};return Object.defineProperty(r,"name",{value:"unsubscribe_".concat(t.replace(/[^\w]/g,"_")),writable:!1}),r},t.prototype.unsubscribe=function(t,n,e){this._validateArgs(t,n,e),this._emit("unsubscribe",t,e),this._socket.off("data#".concat(t),n)},t.prototype.disconnect=function(){return this._socket.disconnect(),this._socket.removeAllListeners(),this},t.prototype._validateArgs=function(t,n,e){if("string"!=typeof t||!t)throw new Error("Channel must be a non-empty string");if("function"!=typeof n)throw new Error("onData handler must be a function");if(void 0!==e&&"function"!=typeof e)throw new Error("ack must be a function")},t.prototype._shouldEmitToServer=function(t){return 1===this._socket.listeners("data#".concat(t)).length},t.prototype._emit=function(t,n,e){if(!this._shouldEmitToServer(n))return null==e?void 0:e();e?this._socket.emitWithAck(t,{channel:n,_current_location_href:window.top.location.href},(function(o){return o.ok?e():e(new Error("Failed to ".concat(t," to channel ").concat(n,": ").concat(o.error)))})):this._socket.emit(t,{channel:n,_current_location_href:window.top.location.href})},t}();exports.SubscriptionsClientV2=t;
2
2
  //# sourceMappingURL=subscriptions-client.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("socket.io-client"),n=require("query-string"),t=require("lodash/noop");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var c=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,c.get?c:{enumerable:!0,get:function(){return e[t]}})}})),n.default=e,Object.freeze(n)}var r=c(e),i=o(n),s=c(t),a=new RegExp("^/reports.*$"),u=i.parse(window.location.search).subscriptions_url||process.env.REACT_APP_SUBSCRIPTIONS_URL||"https://subscriptions.qa.corva.ai";function d(e){return a.test(window.location.pathname)?s.default:e}function l(e,n){return"".concat(e.appInstanceId||n,":").concat(e.companyId,":").concat(e.userId,":").concat(e.collection)}function b(e,n){return"".concat(e.appInstanceId||n,":").concat(e.companyId,":").concat(e.collection)}function f(e,n){return e.event?"".concat(e.appInstanceId||n,":").concat(e.provider,":").concat(e.collection,":").concat(e.assetId,":").concat(e.event):"".concat(e.appInstanceId||n,":").concat(e.provider,":").concat(e.collection,":").concat(e.assetId)}function p(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"userId"in e?l(e,n):"companyId"in e?b(e,n):f(e,n)}function v(){var e,n={},t=!1,c=d((function(t){if(!e)throw new Error("Not connected");var c=p(t);c in n&&(delete n[c],e.emit("unsubscribe",t))})),o=d((function(c){if(!e)throw new Error("Not connected");var o=p(c);n[o]=c,t&&e.emit("subscribe",c)})),i=d((function(){var c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=c.onDataReceive,s=void 0===i?void 0:i,a=c.onResubscribe,d=void 0===a?void 0:a,l=!1;return(e=r.default(u,{transports:["websocket"]})).on("authenticated",(function(){t=!0,Object.values(n).forEach((function(e){o(e),l&&d&&d(e)})),l=!1})),s&&e.on("data",s),e.on("reconnect",(function(){l=!0})),e}));return{connect:i,disconnect:d((function(){e&&(e.disconnect(),e=null)})),subscribe:o,unsubscribe:c}}exports.getSubscriptionId=p,exports.getSubscriptionsClient=v,exports.initializeSocketClient=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.onDataReceive,t=e.onResubscribe,c=window[Symbol.for("socket")];null!=c&&c.socket&&(console.warn("Existing socket, disconnecting."),c.disconnect());var o=v(),r=o.connect,i=o.disconnect,s=o.subscribe,a=o.unsubscribe,u=r({onDataReceive:n,onResubscribe:t});window[Symbol.for("socket")]={subscribe:s,unsubscribe:a,disconnect:i,socket:u}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("socket.io-client"),n=require("query-string"),o=require("lodash/noop");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function r(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var i=c(e),a=c(t),s=r(n),u=c(o);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function b(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){i.default(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var f=new RegExp("^/reports.*$"),d=s.parse(window.location.search).subscriptions_url||process.env.REACT_APP_SUBSCRIPTIONS_URL||"https://subscriptions.qa.corva.ai";function p(e){return f.test(window.location.pathname)?u.default:e}function v(e,t){return"".concat(e.appInstanceId||t,":").concat(e.companyId,":").concat(e.userId,":").concat(e.collection)}function w(e,t){return"".concat(e.appInstanceId||t,":").concat(e.companyId,":").concat(e.collection)}function O(e,t){return e.event?"".concat(e.appInstanceId||t,":").concat(e.provider,":").concat(e.collection,":").concat(e.assetId,":").concat(e.event):"".concat(e.appInstanceId||t,":").concat(e.provider,":").concat(e.collection,":").concat(e.assetId)}function y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"userId"in e?v(e,t):"companyId"in e?w(e,t):O(e,t)}function h(){var e,t={},n=!1,o=p((function(n){if(!e)throw new Error("Not connected");var o=y(n);o in t&&(delete t[o],e.emit("unsubscribe",b(b({},n),{},{_current_location_href:window.top.location.href})))})),c=p((function(o){if(!e)throw new Error("Not connected");var c=y(o);t[c]=o,n&&e.emit("subscribe",b(b({},o),{},{_current_location_href:window.top.location.href}))})),r=p((function(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=o.onDataReceive,i=void 0===r?void 0:r,s=o.onResubscribe,u=void 0===s?void 0:s,l=!1;return(e=a.default(d,{transports:["websocket"]})).on("authenticated",(function(){n=!0,Object.values(t).forEach((function(e){c(e),l&&u&&u(e)})),l=!1})),i&&e.on("data",i),e.on("reconnect",(function(){l=!0})),e}));return{connect:r,disconnect:p((function(){e&&(e.disconnect(),e=null)})),subscribe:c,unsubscribe:o}}exports.getSubscriptionId=y,exports.getSubscriptionsClient=h,exports.initializeSocketClient=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.onDataReceive,n=e.onResubscribe,o=window[Symbol.for("socket")];null!=o&&o.socket&&(console.warn("Existing socket, disconnecting."),o.disconnect());var c=h(),r=c.connect,i=c.disconnect,a=c.subscribe,s=c.unsubscribe,u=r({onDataReceive:t,onResubscribe:n});window[Symbol.for("socket")]={subscribe:a,unsubscribe:s,disconnect:i,socket:u}};
2
2
  //# sourceMappingURL=subscriptions.v1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions.v1.js","sources":["../../../src/clients/subscriptions.v1.js"],"sourcesContent":["import io from 'socket.io-client';\nimport * as queryString from 'query-string';\nimport noop from 'lodash/noop';\n\nconst REPORTS_ROUTE_REG_EXP = new RegExp('^/reports.*$');\n\nconst parameters = queryString.parse(window.location.search);\nconst socketUrl =\n parameters.subscriptions_url ||\n process.env.REACT_APP_SUBSCRIPTIONS_URL ||\n 'https://subscriptions.qa.corva.ai';\n\nfunction reportsDisableDecorator(func) {\n // NOTE: Disable subscription events on reports pages\n return REPORTS_ROUTE_REG_EXP.test(window.location.pathname) ? noop : func;\n}\n\nfunction getUserSubscriptionId(options, hookId) {\n return `${options.appInstanceId || hookId}:${options.companyId}:${options.userId}:${\n options.collection\n }`;\n}\n\nfunction getCompanySubscriptionId(options, hookId) {\n return `${options.appInstanceId || hookId}:${options.companyId}:${options.collection}`;\n}\n\nfunction getAssetSubscriptionId(options, hookId) {\n return options.event\n ? `${options.appInstanceId || hookId}:${options.provider}:${options.collection}:${\n options.assetId\n }:${options.event}`\n : `${options.appInstanceId || hookId}:${options.provider}:${options.collection}:${\n options.assetId\n }`;\n}\n\nexport function getSubscriptionId(options, hookId = '') {\n if ('userId' in options) return getUserSubscriptionId(options, hookId);\n else if ('companyId' in options) return getCompanySubscriptionId(options, hookId);\n return getAssetSubscriptionId(options, hookId);\n}\n\nexport function getSubscriptionsClient() {\n let socket;\n\n // NOTE: Is used in order to reset subscriptions in case of network failure\n const subscriptions = {};\n let isAuthenticated = false;\n\n const unsubscribe = reportsDisableDecorator(options => {\n if (!socket) {\n throw new Error('Not connected');\n }\n const subscriptionId = getSubscriptionId(options);\n\n if (subscriptionId in subscriptions) {\n delete subscriptions[subscriptionId];\n socket.emit('unsubscribe', options);\n }\n });\n\n const subscribe = reportsDisableDecorator(options => {\n if (!socket) {\n throw new Error('Not connected');\n }\n\n const subscriptionId = getSubscriptionId(options);\n subscriptions[subscriptionId] = options;\n\n // NOTE: Events could be:\n // 1) 'update' - fires in case of records are updated;\n // 2) 'destroy' - fires in case or records are destroyed;\n // 3) '' (empty) - fires in case of new records are created;\n if (isAuthenticated) {\n socket.emit('subscribe', options);\n }\n });\n\n const connect = reportsDisableDecorator(\n ({ onDataReceive = undefined, onResubscribe = undefined } = {}) => {\n let resubscribe = false;\n\n socket = io(socketUrl, { transports: ['websocket'] });\n // TODO: Once authentication is moved on connect, move this as well\n socket.on('authenticated', () => {\n isAuthenticated = true;\n Object.values(subscriptions).forEach(subscription => {\n subscribe(subscription);\n if (resubscribe && onResubscribe) onResubscribe(subscription);\n });\n resubscribe = false;\n });\n if (onDataReceive) socket.on('data', onDataReceive);\n\n socket.on('reconnect', () => {\n resubscribe = true;\n });\n\n return socket;\n }\n );\n\n const disconnect = reportsDisableDecorator(() => {\n if (socket) {\n socket.disconnect();\n socket = null;\n }\n });\n\n return { connect, disconnect, subscribe, unsubscribe };\n}\n\nexport const initializeSocketClient = ({ onDataReceive, onResubscribe } = {}) => {\n const existingSocket = window[Symbol.for('socket')];\n if (existingSocket?.socket) {\n console.warn('Existing socket, disconnecting.');\n existingSocket.disconnect();\n }\n const { connect, disconnect, subscribe, unsubscribe } = getSubscriptionsClient();\n const socket = connect({ onDataReceive, onResubscribe });\n window[Symbol.for('socket')] = {\n subscribe,\n unsubscribe,\n disconnect,\n socket,\n };\n};\n"],"names":["REPORTS_ROUTE_REG_EXP","RegExp","socketUrl","queryString","parse","window","location","search","subscriptions_url","process","env","REACT_APP_SUBSCRIPTIONS_URL","reportsDisableDecorator","func","test","pathname","noop","getUserSubscriptionId","options","hookId","concat","appInstanceId","companyId","userId","collection","getCompanySubscriptionId","getAssetSubscriptionId","event","provider","assetId","getSubscriptionId","getSubscriptionsClient","socket","subscriptions","isAuthenticated","unsubscribe","Error","subscriptionId","emit","subscribe","connect","_ref","arguments","length","undefined","_ref$onDataReceive","onDataReceive","_ref$onResubscribe","onResubscribe","resubscribe","io","transports","on","Object","values","forEach","subscription","disconnect","_ref2","existingSocket","Symbol","for","console","warn","_getSubscriptionsClie"],"mappings":"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"}
1
+ {"version":3,"file":"subscriptions.v1.js","sources":["../../../src/clients/subscriptions.v1.js"],"sourcesContent":["import io from 'socket.io-client';\nimport * as queryString from 'query-string';\nimport noop from 'lodash/noop';\n\nconst REPORTS_ROUTE_REG_EXP = new RegExp('^/reports.*$');\n\nconst parameters = queryString.parse(window.location.search);\nconst socketUrl =\n parameters.subscriptions_url ||\n process.env.REACT_APP_SUBSCRIPTIONS_URL ||\n 'https://subscriptions.qa.corva.ai';\n\nfunction reportsDisableDecorator(func) {\n // NOTE: Disable subscription events on reports pages\n return REPORTS_ROUTE_REG_EXP.test(window.location.pathname) ? noop : func;\n}\n\nfunction getUserSubscriptionId(options, hookId) {\n return `${options.appInstanceId || hookId}:${options.companyId}:${options.userId}:${\n options.collection\n }`;\n}\n\nfunction getCompanySubscriptionId(options, hookId) {\n return `${options.appInstanceId || hookId}:${options.companyId}:${options.collection}`;\n}\n\nfunction getAssetSubscriptionId(options, hookId) {\n return options.event\n ? `${options.appInstanceId || hookId}:${options.provider}:${options.collection}:${\n options.assetId\n }:${options.event}`\n : `${options.appInstanceId || hookId}:${options.provider}:${options.collection}:${\n options.assetId\n }`;\n}\n\nexport function getSubscriptionId(options, hookId = '') {\n if ('userId' in options) return getUserSubscriptionId(options, hookId);\n else if ('companyId' in options) return getCompanySubscriptionId(options, hookId);\n return getAssetSubscriptionId(options, hookId);\n}\n\nexport function getSubscriptionsClient() {\n let socket;\n\n // NOTE: Is used in order to reset subscriptions in case of network failure\n const subscriptions = {};\n let isAuthenticated = false;\n\n const unsubscribe = reportsDisableDecorator(options => {\n if (!socket) {\n throw new Error('Not connected');\n }\n const subscriptionId = getSubscriptionId(options);\n\n if (subscriptionId in subscriptions) {\n delete subscriptions[subscriptionId];\n socket.emit('unsubscribe', { ...options, _current_location_href: window.top.location.href });\n }\n });\n\n const subscribe = reportsDisableDecorator(options => {\n if (!socket) {\n throw new Error('Not connected');\n }\n\n const subscriptionId = getSubscriptionId(options);\n subscriptions[subscriptionId] = options;\n\n // NOTE: Events could be:\n // 1) 'update' - fires in case of records are updated;\n // 2) 'destroy' - fires in case or records are destroyed;\n // 3) '' (empty) - fires in case of new records are created;\n if (isAuthenticated) {\n socket.emit('subscribe', { ...options, _current_location_href: window.top.location.href });\n }\n });\n\n const connect = reportsDisableDecorator(\n ({ onDataReceive = undefined, onResubscribe = undefined } = {}) => {\n let resubscribe = false;\n\n socket = io(socketUrl, { transports: ['websocket'] });\n // TODO: Once authentication is moved on connect, move this as well\n socket.on('authenticated', () => {\n isAuthenticated = true;\n Object.values(subscriptions).forEach(subscription => {\n subscribe(subscription);\n if (resubscribe && onResubscribe) onResubscribe(subscription);\n });\n resubscribe = false;\n });\n if (onDataReceive) socket.on('data', onDataReceive);\n\n socket.on('reconnect', () => {\n resubscribe = true;\n });\n\n return socket;\n }\n );\n\n const disconnect = reportsDisableDecorator(() => {\n if (socket) {\n socket.disconnect();\n socket = null;\n }\n });\n\n return { connect, disconnect, subscribe, unsubscribe };\n}\n\nexport const initializeSocketClient = ({ onDataReceive, onResubscribe } = {}) => {\n const existingSocket = window[Symbol.for('socket')];\n if (existingSocket?.socket) {\n console.warn('Existing socket, disconnecting.');\n existingSocket.disconnect();\n }\n const { connect, disconnect, subscribe, unsubscribe } = getSubscriptionsClient();\n const socket = connect({ onDataReceive, onResubscribe });\n window[Symbol.for('socket')] = {\n subscribe,\n unsubscribe,\n disconnect,\n socket,\n };\n};\n"],"names":["REPORTS_ROUTE_REG_EXP","RegExp","socketUrl","queryString","parse","window","location","search","subscriptions_url","process","env","REACT_APP_SUBSCRIPTIONS_URL","reportsDisableDecorator","func","test","pathname","noop","getUserSubscriptionId","options","hookId","concat","appInstanceId","companyId","userId","collection","getCompanySubscriptionId","getAssetSubscriptionId","event","provider","assetId","getSubscriptionId","getSubscriptionsClient","socket","subscriptions","isAuthenticated","unsubscribe","Error","subscriptionId","emit","_current_location_href","top","href","subscribe","connect","_ref","arguments","length","undefined","_ref$onDataReceive","onDataReceive","_ref$onResubscribe","onResubscribe","resubscribe","io","transports","on","Object","values","forEach","subscription","disconnect","_ref2","existingSocket","Symbol","for","console","warn","_getSubscriptionsClie"],"mappings":"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"}
@@ -29,9 +29,11 @@ export const socketClient: {
29
29
  data: T;
30
30
  }) => any;
31
31
  }) => () => void;
32
+ onConnectionChange: (handler: import("./subscriptions/types").OnConnectionChange) => () => void;
32
33
  disconnect: () => void;
33
34
  } | {
34
35
  subscribe: (subscription: any, { onDataReceive }?: {}) => (...args: any[]) => void;
36
+ onConnectionChange: (handler: any) => () => void;
35
37
  };
36
38
  import * as clientStorage from './clientStorage';
37
39
  import * as jsonApi from './jsonApi';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/clients/index.js"],"names":[],"mappings":";;;IAiBO,6EAEJ;IACe;;;OAEf;IACI,2FAEJ;IACM,6FAEN;IACK,yEAEL;IACI,6EAEJ;;;IAII,sFAC2E;;IAC3E,oGACoF;;IAClF,sGACoF;;IACrF,kFACsE;;IACvE,sFAC2E;;;AAiDlF;;;;;;;;;EAAuF;+BA7FxD,iBAAiB;yBACvB,WAAW;+BACL,iBAAiB;2BAGrB,aAAa"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/clients/index.js"],"names":[],"mappings":";;;IAiBO,6EAEJ;IACe;;;OAEf;IACI,2FAEJ;IACM,6FAEN;IACK,yEAEL;IACI,6EAEJ;;;IAII,sFAC2E;;IAC3E,oGACoF;;IAClF,sGACoF;;IACrF,kFACsE;;IACvE,sFAC2E;;;AAqElF;;;;;;;;;;;EAAuF;+BAjHxD,iBAAiB;yBACvB,WAAW;+BACL,iBAAiB;2BAGrB,aAAa"}
package/clients/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import t from"@babel/runtime/helpers/defineProperty";import{v4 as r}from"uuid";import{noop as o}from"lodash";import*as n from"./clientStorage/index.js";export{n as clientStorage};import*as e from"./jsonApi/index.js";export{e as jsonApi};import*as i from"./subscriptions.js";export{i as subscriptions};import{get as a,getWithHeaders as c,put as p,patch as s,post as u,del as l}from"./api/apiCore.js";import{CORVA_API_URLS as d}from"./constants.js";import*as v from"./corvaUrls.js";export{v as corvaUrls};import{handleSubscriptionsVersion as f}from"./subscriptions/constants.js";import{socketClientV2 as g}from"./subscriptions/socket-client.v2.js";import*as h from"./sso/index.js";export{h as sso};export{attachHTTPHeaders,getAppKeyFromStackTrace,getAuthorizationHeaders,getAuthorizationToken}from"./utils.js";function m(t,r){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),o.push.apply(o,n)}return o}function b(r){for(var o=1;o<arguments.length;o++){var n=null!=arguments[o]?arguments[o]:{};o%2?m(Object(n),!0).forEach((function(o){t(r,o,n[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):m(Object(n)).forEach((function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(n,t))}))}return r}var j={get:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return a(t,r,o)},getWithHeaders:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return c(t,r,o)},put:function(t,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return p(t,r,o,n)},patch:function(t,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return s(t,r,o,n)},post:function(t,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return u(t,r,o)},del:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return l(t,r,o)}},A={get:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return a(t,r,b({apiUrl:d.DATA_API},o))},put:function(t,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return p(t,r,o,b({apiUrl:d.DATA_API},n))},patch:function(t,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return s(t,r,o,b({apiUrl:d.DATA_API},n))},post:function(t,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return u(t,r,b({apiUrl:d.DATA_API},o))},del:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return l(t,r,b({apiUrl:d.DATA_API},o))}};function O(){if(window.xprops){var t,o,n,e,i,a=(null===(t=window.xprops)||void 0===t||null===(o=t.app)||void 0===o||null===(n=o.app)||void 0===n?void 0:n.id)||"unknown-app-id",c=(null===(e=window.xprops)||void 0===e||null===(i=e.app)||void 0===i?void 0:i.id)||"unknown-instance-id";return"".concat(a,":").concat(c,":").concat(r())}return"non-dc-app:".concat(r())}var w=f({subscribe:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=r.onDataReceive,e=window[Symbol.for("socket")]||{},i=e.subscribe,a=e.unsubscribe,c=e.socket;if(!c)return console.error("Socket is not initialized!"),o;var p=O(),s=b(b({},t),{},{collection:t.collection||t.dataset,appInstanceId:p}),u=n&&function(t){return t.appInstanceId===p&&n(t)};return i(s),u&&c.on("data",u),function(){u&&c.off("data",u),a(s)}}},g);export{j as corvaAPI,A as corvaDataAPI,w as socketClient};
1
+ import n from"@babel/runtime/helpers/defineProperty";import{v4 as t}from"uuid";import{noop as o}from"lodash";import*as r from"./clientStorage/index.js";export{r as clientStorage};import*as e from"./jsonApi/index.js";export{e as jsonApi};import*as i from"./subscriptions.js";export{i as subscriptions};import{get as c,getWithHeaders as s,put as a,patch as u,post as p,del as l}from"./api/apiCore.js";import{CORVA_API_URLS as d}from"./constants.js";import*as f from"./corvaUrls.js";export{f as corvaUrls};import{handleSubscriptionsVersion as v}from"./subscriptions/constants.js";import{socketClientV2 as g}from"./subscriptions/socket-client.v2.js";import*as h from"./sso/index.js";export{h as sso};export{attachHTTPHeaders,getAppKeyFromStackTrace,getAuthorizationHeaders,getAuthorizationToken}from"./utils.js";function m(n,t){var o=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),o.push.apply(o,r)}return o}function b(t){for(var o=1;o<arguments.length;o++){var r=null!=arguments[o]?arguments[o]:{};o%2?m(Object(r),!0).forEach((function(o){n(t,o,r[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):m(Object(r)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))}))}return t}var j={get:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return c(n,t,o)},getWithHeaders:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return s(n,t,o)},put:function(n,t){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return a(n,t,o,r)},patch:function(n,t){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return u(n,t,o,r)},post:function(n,t){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return p(n,t,o)},del:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return l(n,t,o)}},A={get:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return c(n,t,b({apiUrl:d.DATA_API},o))},put:function(n,t){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return a(n,t,o,b({apiUrl:d.DATA_API},r))},patch:function(n,t){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return u(n,t,o,b({apiUrl:d.DATA_API},r))},post:function(n,t){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return p(n,t,b({apiUrl:d.DATA_API},o))},del:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return l(n,t,b({apiUrl:d.DATA_API},o))}};function w(){if(window.xprops){var n,o,r,e,i,c=(null===(n=window.xprops)||void 0===n||null===(o=n.app)||void 0===o||null===(r=o.app)||void 0===r?void 0:r.id)||"unknown-app-id",s=(null===(e=window.xprops)||void 0===e||null===(i=e.app)||void 0===i?void 0:i.id)||"unknown-instance-id";return"".concat(c,":").concat(s,":").concat(t())}return"non-dc-app:".concat(t())}var O=v({subscribe:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.onDataReceive,e=window[Symbol.for("socket")]||{},i=e.subscribe,c=e.unsubscribe,s=e.socket;if(!s)return console.error("Socket is not initialized!"),o;var a=w(),u=b(b({},n),{},{collection:n.collection||n.dataset,appInstanceId:a}),p=r&&function(n){return n.appInstanceId===a&&r(n)};return i(u),p&&s.on("data",p),function(){p&&s.off("data",p),c(u)}},onConnectionChange:function(n){var t=(window[Symbol.for("socket")]||{}).socket;if(!t)return function(){};var o=function(){return n({status:"connected"})},r=function(t){return n({status:"disconnected",reason:t})},e=function(){return n({status:"reconnecting"})},i=function(t){return n({status:"error",reason:(null==t?void 0:t.message)||String(t)})};return t.on("connect",o),t.on("disconnect",r),t.on("reconnect",e),t.on("connect_error",i),function(){t.off("connect",o),t.off("disconnect",r),t.off("reconnect",e),t.off("connect_error",i)}}},g);export{j as corvaAPI,A as corvaDataAPI,O as socketClient};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/clients/index.js"],"sourcesContent":["import { v4 as uuidV4 } from 'uuid';\nimport { noop } from 'lodash';\n\nimport * as clientStorage from './clientStorage';\nimport * as jsonApi from './jsonApi';\nimport * as subscriptions from './subscriptions';\nimport { get, put, patch, post, del, getWithHeaders } from './api/apiCore';\nimport { CORVA_API_URLS } from './constants';\nimport * as corvaUrls from './corvaUrls';\nimport { handleSubscriptionsVersion } from './subscriptions/constants';\nimport { socketClientV2 } from './subscriptions/socket-client.v2';\n\nexport { clientStorage, jsonApi, subscriptions, corvaUrls };\nexport * as sso from './sso';\nexport * from './utils';\n\nexport const corvaAPI = {\n get: (path, queryParams = {}, requestOptions = {}) => {\n return get(path, queryParams, requestOptions);\n },\n getWithHeaders: (path, queryParams = {}, requestOptions = {}) => {\n return getWithHeaders(path, queryParams, requestOptions);\n },\n put: (path, content, queryParams = {}, requestOptions = {}) => {\n return put(path, content, queryParams, requestOptions);\n },\n patch: (path, content, queryParams = {}, requestOptions = {}) => {\n return patch(path, content, queryParams, requestOptions);\n },\n post: (path, entity, requestOptions = {}) => {\n return post(path, entity, requestOptions);\n },\n del: (path, queryParams = {}, requestOptions = {}) => {\n return del(path, queryParams, requestOptions);\n },\n};\n\nexport const corvaDataAPI = {\n get: (path, queryParams = {}, requestOptions = {}) =>\n get(path, queryParams, { apiUrl: CORVA_API_URLS.DATA_API, ...requestOptions }),\n put: (path, content, queryParams = {}, requestOptions = {}) =>\n put(path, content, queryParams, { apiUrl: CORVA_API_URLS.DATA_API, ...requestOptions }),\n patch: (path, content, queryParams = {}, requestOptions = {}) =>\n patch(path, content, queryParams, { apiUrl: CORVA_API_URLS.DATA_API, ...requestOptions }),\n post: (path, entity, requestOptions = {}) =>\n post(path, entity, { apiUrl: CORVA_API_URLS.DATA_API, ...requestOptions }),\n del: (path, queryParams = {}, requestOptions = {}) =>\n del(path, queryParams, { apiUrl: CORVA_API_URLS.DATA_API, ...requestOptions }),\n};\n\nconst SOCKET_NOT_INITIALIZED_ERROR = 'Socket is not initialized!';\n\nfunction getAppInstanceId() {\n if (window.xprops) {\n const appId = window.xprops?.app?.app?.id || 'unknown-app-id';\n const appInstanceId = window.xprops?.app?.id || 'unknown-instance-id';\n\n return `${appId}:${appInstanceId}:${uuidV4()}`;\n }\n\n return `non-dc-app:${uuidV4()}`;\n}\n\nconst socketClientV1 = {\n subscribe: (subscription, { onDataReceive } = {}) => {\n const { subscribe, unsubscribe, socket } = window[Symbol.for('socket')] || {};\n\n if (!socket) {\n console.error(SOCKET_NOT_INITIALIZED_ERROR);\n // In some environments, like PDF Dashboard Report, socket is not initialized\n // But socketClient should not throw errors to prevent apps crashing\n return noop;\n }\n const subId = getAppInstanceId();\n const subscriptionWithId = {\n ...subscription,\n // NOTE: Add ability to pass dataset (because we don't use \"collection\" in new data api)\n collection: subscription.collection || subscription.dataset,\n // NOTE: Unique id is required for subscriptions server\n appInstanceId: subId,\n };\n\n const onData =\n onDataReceive && (event => event.appInstanceId === subId && onDataReceive(event));\n\n subscribe(subscriptionWithId);\n if (onData) socket.on('data', onData);\n\n // NOTE: Return unsubscribe\n return () => {\n if (onData) socket.off('data', onData);\n unsubscribe(subscriptionWithId);\n };\n },\n};\n\nexport const socketClient = handleSubscriptionsVersion(socketClientV1, socketClientV2);\n"],"names":["corvaAPI","get","path","queryParams","arguments","length","undefined","requestOptions","getWithHeaders","put","content","patch","post","entity","del","corvaDataAPI","_objectSpread","apiUrl","CORVA_API_URLS","DATA_API","getAppInstanceId","window","xprops","_window$xprops","_window$xprops$app","_window$xprops$app$ap","_window$xprops2","_window$xprops2$app","appId","app","id","appInstanceId","concat","uuidV4","socketClient","handleSubscriptionsVersion","subscribe","subscription","_ref","onDataReceive","Symbol","for","unsubscribe","socket","console","error","noop","subId","subscriptionWithId","collection","dataset","onData","event","on","off","socketClientV2"],"mappings":"u2CAgBO,IAAMA,EAAW,CACtBC,IAAK,SAACC,GAAgD,IAA1CC,EAAcC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAIG,EAAiBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAC7C,OAAOH,EAAIC,EAAMC,EAAaI,EAC/B,EACDC,eAAgB,SAACN,GAAgD,IAA1CC,EAAcC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAIG,EAAiBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EACxD,OAAOI,EAAeN,EAAMC,EAAaI,EAC1C,EACDE,IAAK,SAACP,EAAMQ,GAAmD,IAA1CP,EAAcC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAIG,EAAiBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EACtD,OAAOK,EAAIP,EAAMQ,EAASP,EAAaI,EACxC,EACDI,MAAO,SAACT,EAAMQ,GAAmD,IAA1CP,EAAcC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAIG,EAAiBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EACxD,OAAOO,EAAMT,EAAMQ,EAASP,EAAaI,EAC1C,EACDK,KAAM,SAACV,EAAMW,GAAgC,IAAxBN,EAAiBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EACpC,OAAOQ,EAAKV,EAAMW,EAAQN,EAC3B,EACDO,IAAK,SAACZ,GAAgD,IAA1CC,EAAcC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAIG,EAAiBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAC7C,OAAOU,EAAIZ,EAAMC,EAAaI,EAChC,GAGWQ,EAAe,CAC1Bd,IAAK,SAACC,GAAI,IAAEC,EAAcC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAIG,EAAiBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAE,OAC/CH,EAAIC,EAAMC,EAAWa,EAAA,CAAIC,OAAQC,EAAeC,UAAaZ,GAAiB,EAChFE,IAAK,SAACP,EAAMQ,GAAO,IAAEP,EAAcC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAIG,EAAiBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAE,OACxDK,EAAIP,EAAMQ,EAASP,EAAWa,EAAA,CAAIC,OAAQC,EAAeC,UAAaZ,GAAiB,EACzFI,MAAO,SAACT,EAAMQ,GAAO,IAAEP,EAAcC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAIG,EAAiBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAE,OAC1DO,EAAMT,EAAMQ,EAASP,EAAWa,EAAA,CAAIC,OAAQC,EAAeC,UAAaZ,GAAiB,EAC3FK,KAAM,SAACV,EAAMW,GAAM,IAAEN,EAAiBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAE,OACtCQ,EAAKV,EAAMW,EAAMG,EAAA,CAAIC,OAAQC,EAAeC,UAAaZ,GAAiB,EAC5EO,IAAK,SAACZ,GAAI,IAAEC,EAAcC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAIG,EAAiBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAE,OAC/CU,EAAIZ,EAAMC,EAAWa,EAAA,CAAIC,OAAQC,EAAeC,UAAaZ,GAAiB,GAKlF,SAASa,IACP,GAAIC,OAAOC,OAAQ,CAAA,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACXC,GAAQ,QAAAL,EAAAF,OAAOC,cAAP,IAAAC,GAAkB,QAAlBC,EAAAD,EAAeM,WAAG,IAAAL,GAAK,QAALC,EAAlBD,EAAoBK,WAAG,IAAAJ,OAAvB,EAAAA,EAAyBK,KAAM,iBACvCC,GAAgB,QAAAV,EAAAA,OAAOC,cAAP,IAAAI,GAAkB,QAAlBC,EAAAD,EAAeG,WAAG,IAAAF,OAAlB,EAAAA,EAAoBG,KAAM,sBAEhD,MAAA,GAAAE,OAAUJ,EAAK,KAAAI,OAAID,EAAa,KAAAC,OAAIC,IACtC,CAEA,MAAA,cAAAD,OAAqBC,IACvB,CAEA,IAiCaC,EAAeC,EAjCL,CACrBC,UAAW,SAACC,GAAyC,IAAAC,EAAAlC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAP,CAAE,EAApBmC,IAAAA,cACiBlB,EAAAA,OAAOmB,OAAOC,IAAI,YAAc,CAAE,EAArEL,IAAAA,UAAWM,IAAAA,YAAaC,IAAAA,OAEhC,IAAKA,EAIH,OAHAC,QAAQC,MAlBuB,8BAqBxBC,EAET,IAAMC,EAAQ3B,IACR4B,SACDX,GAAY,GAAA,CAEfY,WAAYZ,EAAaY,YAAcZ,EAAaa,QAEpDnB,cAAegB,IAGXI,EACJZ,GAAkB,SAAAa,GAAK,OAAIA,EAAMrB,gBAAkBgB,GAASR,EAAca,IAM5E,OAJAhB,EAAUY,GACNG,GAAQR,EAAOU,GAAG,OAAQF,GAGvB,WACDA,GAAQR,EAAOW,IAAI,OAAQH,GAC/BT,EAAYM,GAEhB,GAGqEO"}
1
+ {"version":3,"file":"index.js","sources":["../../src/clients/index.js"],"sourcesContent":["import { v4 as uuidV4 } from 'uuid';\nimport { noop } from 'lodash';\n\nimport * as clientStorage from './clientStorage';\nimport * as jsonApi from './jsonApi';\nimport * as subscriptions from './subscriptions';\nimport { get, put, patch, post, del, getWithHeaders } from './api/apiCore';\nimport { CORVA_API_URLS } from './constants';\nimport * as corvaUrls from './corvaUrls';\nimport { handleSubscriptionsVersion } from './subscriptions/constants';\nimport { socketClientV2 } from './subscriptions/socket-client.v2';\n\nexport { clientStorage, jsonApi, subscriptions, corvaUrls };\nexport * as sso from './sso';\nexport * from './utils';\n\nexport const corvaAPI = {\n get: (path, queryParams = {}, requestOptions = {}) => {\n return get(path, queryParams, requestOptions);\n },\n getWithHeaders: (path, queryParams = {}, requestOptions = {}) => {\n return getWithHeaders(path, queryParams, requestOptions);\n },\n put: (path, content, queryParams = {}, requestOptions = {}) => {\n return put(path, content, queryParams, requestOptions);\n },\n patch: (path, content, queryParams = {}, requestOptions = {}) => {\n return patch(path, content, queryParams, requestOptions);\n },\n post: (path, entity, requestOptions = {}) => {\n return post(path, entity, requestOptions);\n },\n del: (path, queryParams = {}, requestOptions = {}) => {\n return del(path, queryParams, requestOptions);\n },\n};\n\nexport const corvaDataAPI = {\n get: (path, queryParams = {}, requestOptions = {}) =>\n get(path, queryParams, { apiUrl: CORVA_API_URLS.DATA_API, ...requestOptions }),\n put: (path, content, queryParams = {}, requestOptions = {}) =>\n put(path, content, queryParams, { apiUrl: CORVA_API_URLS.DATA_API, ...requestOptions }),\n patch: (path, content, queryParams = {}, requestOptions = {}) =>\n patch(path, content, queryParams, { apiUrl: CORVA_API_URLS.DATA_API, ...requestOptions }),\n post: (path, entity, requestOptions = {}) =>\n post(path, entity, { apiUrl: CORVA_API_URLS.DATA_API, ...requestOptions }),\n del: (path, queryParams = {}, requestOptions = {}) =>\n del(path, queryParams, { apiUrl: CORVA_API_URLS.DATA_API, ...requestOptions }),\n};\n\nconst SOCKET_NOT_INITIALIZED_ERROR = 'Socket is not initialized!';\n\nfunction getAppInstanceId() {\n if (window.xprops) {\n const appId = window.xprops?.app?.app?.id || 'unknown-app-id';\n const appInstanceId = window.xprops?.app?.id || 'unknown-instance-id';\n\n return `${appId}:${appInstanceId}:${uuidV4()}`;\n }\n\n return `non-dc-app:${uuidV4()}`;\n}\n\nconst socketClientV1 = {\n subscribe: (subscription, { onDataReceive } = {}) => {\n const { subscribe, unsubscribe, socket } = window[Symbol.for('socket')] || {};\n\n if (!socket) {\n console.error(SOCKET_NOT_INITIALIZED_ERROR);\n // In some environments, like PDF Dashboard Report, socket is not initialized\n // But socketClient should not throw errors to prevent apps crashing\n return noop;\n }\n const subId = getAppInstanceId();\n const subscriptionWithId = {\n ...subscription,\n // NOTE: Add ability to pass dataset (because we don't use \"collection\" in new data api)\n collection: subscription.collection || subscription.dataset,\n // NOTE: Unique id is required for subscriptions server\n appInstanceId: subId,\n };\n\n const onData =\n onDataReceive && (event => event.appInstanceId === subId && onDataReceive(event));\n\n subscribe(subscriptionWithId);\n if (onData) socket.on('data', onData);\n\n // NOTE: Return unsubscribe\n return () => {\n if (onData) socket.off('data', onData);\n unsubscribe(subscriptionWithId);\n };\n },\n onConnectionChange: handler => {\n const { socket } = window[Symbol.for('socket')] || {};\n if (!socket) return () => {};\n const onConnect = () => handler({ status: 'connected' });\n const onDisconnect = reason => handler({ status: 'disconnected', reason });\n const onReconnect = () => handler({ status: 'reconnecting' });\n const onConnectError = err => handler({ status: 'error', reason: err?.message || String(err) });\n\n socket.on('connect', onConnect);\n socket.on('disconnect', onDisconnect);\n socket.on('reconnect', onReconnect);\n socket.on('connect_error', onConnectError);\n\n return () => {\n socket.off('connect', onConnect);\n socket.off('disconnect', onDisconnect);\n socket.off('reconnect', onReconnect);\n socket.off('connect_error', onConnectError);\n };\n },\n};\n\nexport const socketClient = handleSubscriptionsVersion(socketClientV1, socketClientV2);\n"],"names":["corvaAPI","get","path","queryParams","arguments","length","undefined","requestOptions","getWithHeaders","put","content","patch","post","entity","del","corvaDataAPI","_objectSpread","apiUrl","CORVA_API_URLS","DATA_API","getAppInstanceId","window","xprops","_window$xprops","_window$xprops$app","_window$xprops$app$ap","_window$xprops2","_window$xprops2$app","appId","app","id","appInstanceId","concat","uuidV4","socketClient","handleSubscriptionsVersion","subscribe","subscription","_ref","onDataReceive","Symbol","for","unsubscribe","socket","console","error","noop","subId","subscriptionWithId","collection","dataset","onData","event","on","off","onConnectionChange","handler","onConnect","status","onDisconnect","reason","onReconnect","onConnectError","err","message","String","socketClientV2"],"mappings":"u2CAgBO,IAAMA,EAAW,CACtBC,IAAK,SAACC,GAAgD,IAA1CC,EAAcC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAIG,EAAiBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAC7C,OAAOH,EAAIC,EAAMC,EAAaI,EAC/B,EACDC,eAAgB,SAACN,GAAgD,IAA1CC,EAAcC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAIG,EAAiBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EACxD,OAAOI,EAAeN,EAAMC,EAAaI,EAC1C,EACDE,IAAK,SAACP,EAAMQ,GAAmD,IAA1CP,EAAcC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAIG,EAAiBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EACtD,OAAOK,EAAIP,EAAMQ,EAASP,EAAaI,EACxC,EACDI,MAAO,SAACT,EAAMQ,GAAmD,IAA1CP,EAAcC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAIG,EAAiBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EACxD,OAAOO,EAAMT,EAAMQ,EAASP,EAAaI,EAC1C,EACDK,KAAM,SAACV,EAAMW,GAAgC,IAAxBN,EAAiBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EACpC,OAAOQ,EAAKV,EAAMW,EAAQN,EAC3B,EACDO,IAAK,SAACZ,GAAgD,IAA1CC,EAAcC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAIG,EAAiBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAC7C,OAAOU,EAAIZ,EAAMC,EAAaI,EAChC,GAGWQ,EAAe,CAC1Bd,IAAK,SAACC,GAAI,IAAEC,EAAcC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAIG,EAAiBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAE,OAC/CH,EAAIC,EAAMC,EAAWa,EAAA,CAAIC,OAAQC,EAAeC,UAAaZ,GAAiB,EAChFE,IAAK,SAACP,EAAMQ,GAAO,IAAEP,EAAcC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAIG,EAAiBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAE,OACxDK,EAAIP,EAAMQ,EAASP,EAAWa,EAAA,CAAIC,OAAQC,EAAeC,UAAaZ,GAAiB,EACzFI,MAAO,SAACT,EAAMQ,GAAO,IAAEP,EAAcC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAIG,EAAiBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAE,OAC1DO,EAAMT,EAAMQ,EAASP,EAAWa,EAAA,CAAIC,OAAQC,EAAeC,UAAaZ,GAAiB,EAC3FK,KAAM,SAACV,EAAMW,GAAM,IAAEN,EAAiBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAE,OACtCQ,EAAKV,EAAMW,EAAMG,EAAA,CAAIC,OAAQC,EAAeC,UAAaZ,GAAiB,EAC5EO,IAAK,SAACZ,GAAI,IAAEC,EAAcC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAIG,EAAiBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAAE,OAC/CU,EAAIZ,EAAMC,EAAWa,EAAA,CAAIC,OAAQC,EAAeC,UAAaZ,GAAiB,GAKlF,SAASa,IACP,GAAIC,OAAOC,OAAQ,CAAA,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACXC,GAAQ,QAAAL,EAAAF,OAAOC,cAAP,IAAAC,GAAkB,QAAlBC,EAAAD,EAAeM,WAAG,IAAAL,GAAK,QAALC,EAAlBD,EAAoBK,WAAG,IAAAJ,OAAvB,EAAAA,EAAyBK,KAAM,iBACvCC,GAAgB,QAAAV,EAAAA,OAAOC,cAAP,IAAAI,GAAkB,QAAlBC,EAAAD,EAAeG,WAAG,IAAAF,OAAlB,EAAAA,EAAoBG,KAAM,sBAEhD,MAAA,GAAAE,OAAUJ,EAAK,KAAAI,OAAID,EAAa,KAAAC,OAAIC,IACtC,CAEA,MAAA,cAAAD,OAAqBC,IACvB,CAEA,IAqDaC,EAAeC,EArDL,CACrBC,UAAW,SAACC,GAAyC,IAAAC,EAAAlC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAP,CAAE,EAApBmC,IAAAA,cACiBlB,EAAAA,OAAOmB,OAAOC,IAAI,YAAc,CAAE,EAArEL,IAAAA,UAAWM,IAAAA,YAAaC,IAAAA,OAEhC,IAAKA,EAIH,OAHAC,QAAQC,MAlBuB,8BAqBxBC,EAET,IAAMC,EAAQ3B,IACR4B,SACDX,GAAY,GAAA,CAEfY,WAAYZ,EAAaY,YAAcZ,EAAaa,QAEpDnB,cAAegB,IAGXI,EACJZ,GAAkB,SAAAa,GAAK,OAAIA,EAAMrB,gBAAkBgB,GAASR,EAAca,IAM5E,OAJAhB,EAAUY,GACNG,GAAQR,EAAOU,GAAG,OAAQF,GAGvB,WACDA,GAAQR,EAAOW,IAAI,OAAQH,GAC/BT,EAAYM,GAEf,EACDO,mBAAoB,SAAAC,GAClB,IAAQb,GAAWtB,OAAOmB,OAAOC,IAAI,YAAc,CAAE,GAA7CE,OACR,IAAKA,EAAQ,OAAO,aACpB,IAAMc,EAAY,WAAH,OAASD,EAAQ,CAAEE,OAAQ,aAAc,EAClDC,EAAe,SAAAC,GAAM,OAAIJ,EAAQ,CAAEE,OAAQ,eAAgBE,OAAAA,GAAS,EACpEC,EAAc,WAAH,OAASL,EAAQ,CAAEE,OAAQ,gBAAiB,EACvDI,EAAiB,SAAAC,GAAG,OAAIP,EAAQ,CAAEE,OAAQ,QAASE,QAAQG,aAAG,EAAHA,EAAKC,UAAWC,OAAOF,IAAO,EAO/F,OALApB,EAAOU,GAAG,UAAWI,GACrBd,EAAOU,GAAG,aAAcM,GACxBhB,EAAOU,GAAG,YAAaQ,GACvBlB,EAAOU,GAAG,gBAAiBS,GAEpB,WACLnB,EAAOW,IAAI,UAAWG,GACtBd,EAAOW,IAAI,aAAcK,GACzBhB,EAAOW,IAAI,YAAaO,GACxBlB,EAAOW,IAAI,gBAAiBQ,GAEhC,GAGqEI"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/clients/subscriptions/constants.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,0BAA0B,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAMhE,CAAC;AAEF,eAAO,MAAM,YAAY,cAMxB,CAAC;AAOF,eAAO,MAAM,iBAAiB,QAA4B,CAAC;AAC3D,eAAO,MAAM,qBAAqB,QAA6B,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/clients/subscriptions/constants.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,0BAA0B,GAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAMhE,CAAC;AAEF,eAAO,MAAM,YAAY,cAMxB,CAAC;AAOF,eAAO,MAAM,iBAAiB,QAA4B,CAAC;AAC3D,eAAO,MAAM,qBAAqB,QAA6B,CAAC"}
@@ -1,2 +1,2 @@
1
- import*as o from"query-string";import{isDevOrQAEnv as r}from"../../utils/env.js";var s=o.parse(window.location.search),t=r?"2":"1",e=s.subscriptions_version||localStorage.getItem("subscriptions_version")||t;r&&"2"!==localStorage.getItem("subscriptions_version_forced")&&(localStorage.setItem("subscriptions_version","2"),localStorage.setItem("subscriptions_version_forced","2"));var i=function(o,r){return"1"===e?o:r},n=function(){return"1"===e?"/":"/".concat(e)},c=process.env.REACT_APP_SUBSCRIPTIONS_URL||s.subscriptions_url||"https://subscriptions.qa.corva.ai",a="".concat(c).concat(n()),p=new RegExp("^/reports.*$");export{p as IGNORED_ROUTES_REGEXP,a as SUBSCRIPTIONS_URL,n as getNamespace,i as handleSubscriptionsVersion};
1
+ import*as o from"query-string";import{isDevOrQAEnv as r,isBetaEnv as s}from"../../utils/env.js";var t=o.parse(window.location.search),e=r||s,i=e?"2":"1",n=t.subscriptions_version||localStorage.getItem("subscriptions_version")||i;e&&"2"!==localStorage.getItem("subscriptions_version_forced")&&(localStorage.setItem("subscriptions_version","2"),localStorage.setItem("subscriptions_version_forced","2"));var c=function(o,r){return"1"===n?o:r},a=function(){return"1"===n?"/":"/".concat(n)},p=process.env.REACT_APP_SUBSCRIPTIONS_URL||t.subscriptions_url||"https://subscriptions.qa.corva.ai",u="".concat(p).concat(a()),l=new RegExp("^/reports.*$");export{l as IGNORED_ROUTES_REGEXP,u as SUBSCRIPTIONS_URL,a as getNamespace,c as handleSubscriptionsVersion};
2
2
  //# sourceMappingURL=constants.js.map
@@ -1,10 +1,11 @@
1
- import { SubscribeOptions } from "./types";
1
+ import { SubscribeOptions, OnConnectionChange } from './types';
2
2
  export declare const socketClientV2: {
3
3
  subscribe: <O extends SubscribeOptions = SubscribeOptions, T = Record<string, any>>(subscription: O, { onDataReceive }: {
4
4
  onDataReceive: (data: O & {
5
5
  data: T;
6
6
  }) => any;
7
7
  }) => () => void;
8
+ onConnectionChange: (handler: OnConnectionChange) => () => void;
8
9
  disconnect: () => void;
9
10
  };
10
11
  //# sourceMappingURL=socket-client.v2.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"socket-client.v2.d.ts","sourceRoot":"","sources":["../../../src/clients/subscriptions/socket-client.v2.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,cAAc;gBACb,CAAC,SAAS,gBAAgB,qBAAqB,CAAC,sCAAsC,CAAC,qBAAqB;QAAE,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG;YAAE,IAAI,EAAE,CAAC,CAAA;SAAE,KAAK,GAAG,CAAA;KAAE;;CAW1K,CAAC"}
1
+ {"version":3,"file":"socket-client.v2.d.ts","sourceRoot":"","sources":["../../../src/clients/subscriptions/socket-client.v2.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE/D,eAAO,MAAM,cAAc;gBACb,CAAC,SAAS,gBAAgB,qBAAqB,CAAC,sCAC5C,CAAC,qBACI;QAAE,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG;YAAE,IAAI,EAAE,CAAC,CAAA;SAAE,KAAK,GAAG,CAAA;KAAE;kCAOxC,kBAAkB;;CASjD,CAAC"}
@@ -1,2 +1,2 @@
1
- import{__assign as n}from'./../../ext-esm/tslib/tslib.es6.js';import{getChannelName as t}from"./get-channel-name.js";import{SubscriptionsClientFactory as i}from"./subscriptions-client.factory.js";var e={subscribe:function(e,o){var r=o.onDataReceive,s=i.init(),c=t(e);return s.subscribe(c,(function(t){return r(n(n({},e),{data:t}))}))},disconnect:function(){i.init().disconnect()}};export{e as socketClientV2};
1
+ import{__assign as n}from'./../../ext-esm/tslib/tslib.es6.js';import{getChannelName as t}from"./get-channel-name.js";import{SubscriptionsClientFactory as i}from"./subscriptions-client.factory.js";var o={subscribe:function(o,e){var r=e.onDataReceive,c=i.init(),s=t(o);return c.subscribe(s,(function(t){return r(n(n({},o),{data:t}))}))},onConnectionChange:function(n){return i.init().onConnectionChange(n)},disconnect:function(){i.init().disconnect()}};export{o as socketClientV2};
2
2
  //# sourceMappingURL=socket-client.v2.js.map
@@ -1,11 +1,12 @@
1
1
  import { Socket } from "socket.io-client";
2
- import { SubcriptionsClient, SubscriptionsClientV2Events, SubscriptionsClientV2ServerEvents, AcknowledgeCb, OnDataReceive } from "./types";
2
+ import { SubcriptionsClient, SubscriptionsClientV2Events, SubscriptionsClientV2ServerEvents, AcknowledgeCb, OnDataReceive, OnConnectionChange } from "./types";
3
3
  export declare class SubscriptionsClientV2 implements SubcriptionsClient {
4
4
  private readonly _socket;
5
5
  constructor(_socket: Socket<SubscriptionsClientV2Events, SubscriptionsClientV2ServerEvents>);
6
6
  subscribe<T>(channel: string, onData: OnDataReceive<T>, ack?: AcknowledgeCb): () => void;
7
7
  unsubscribe<T>(channel: string, onData: OnDataReceive<T>, ack?: AcknowledgeCb): void;
8
8
  disconnect(): this;
9
+ onConnectionChange: (handler: OnConnectionChange) => () => void;
9
10
  private _validateArgs;
10
11
  private _shouldEmitToServer;
11
12
  private _emit;
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions-client.d.ts","sourceRoot":"","sources":["../../../src/clients/subscriptions/subscriptions-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,iCAAiC,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE3I,qBAAa,qBAAsB,YAAW,kBAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM,CAAC,2BAA2B,EAAE,iCAAiC,CAAC;IAE5G,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa;IAiB3E,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa;IAQ7E,UAAU;IAOV,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,KAAK;CAmBd"}
1
+ {"version":3,"file":"subscriptions-client.d.ts","sourceRoot":"","sources":["../../../src/clients/subscriptions/subscriptions-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,iCAAiC,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE/J,qBAAa,qBAAsB,YAAW,kBAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM,CAAC,2BAA2B,EAAE,iCAAiC,CAAC;IAE5G,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa;IAiB3E,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa;IAQ7E,UAAU;IAOV,kBAAkB,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,MAAM,IAAI,CAmB9D;IAED,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,KAAK;CAmBd"}
@@ -1,7 +1,8 @@
1
- import { AcknowledgeCb, OnDataReceive, SubcriptionsClient } from "./types";
1
+ import { AcknowledgeCb, OnConnectionChange, OnDataReceive, SubcriptionsClient } from "./types";
2
2
  export declare class DummySubscriptionsClient implements SubcriptionsClient {
3
3
  subscribe<T>(channel: string, onData: OnDataReceive<T>, ack?: AcknowledgeCb): () => void;
4
4
  unsubscribe<T>(channel: string, onData: OnDataReceive<T>, ack?: AcknowledgeCb): void;
5
5
  disconnect(): void;
6
+ onConnectionChange(handler: OnConnectionChange): () => void;
6
7
  }
7
8
  //# sourceMappingURL=subscriptions-client.dummy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions-client.dummy.d.ts","sourceRoot":"","sources":["../../../src/clients/subscriptions/subscriptions-client.dummy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE3E,qBAAa,wBAAyB,YAAW,kBAAkB;IACjE,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,MAAM,IAAI;IAIxF,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI;IAIpF,UAAU,IAAI,IAAI;CAGnB"}
1
+ {"version":3,"file":"subscriptions-client.dummy.d.ts","sourceRoot":"","sources":["../../../src/clients/subscriptions/subscriptions-client.dummy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE/F,qBAAa,wBAAyB,YAAW,kBAAkB;IACjE,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,MAAM,IAAI;IAIxF,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI;IAIpF,UAAU,IAAI,IAAI;IAIlB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,IAAI;CAI5D"}
@@ -1,2 +1,2 @@
1
- var n=function(){function n(){}return n.prototype.subscribe=function(n,t,o){return function(){}},n.prototype.unsubscribe=function(n,t,o){},n.prototype.disconnect=function(){},n}();export{n as DummySubscriptionsClient};
1
+ var n=function(){function n(){}return n.prototype.subscribe=function(n,t,o){return function(){}},n.prototype.unsubscribe=function(n,t,o){},n.prototype.disconnect=function(){},n.prototype.onConnectionChange=function(n){return function(){}},n}();export{n as DummySubscriptionsClient};
2
2
  //# sourceMappingURL=subscriptions-client.dummy.js.map
@@ -1,2 +1,2 @@
1
- import{io as t}from"socket.io-client";import{IGNORED_ROUTES_REGEXP as n,SUBSCRIPTIONS_URL as e}from"./constants.js";import{SubscriptionsClientV2 as i}from"./subscriptions-client.js";import{DummySubscriptionsClient as r}from"./subscriptions-client.dummy.js";var c=function(){function c(){}return c.init=function(){return this.instance||(this.instance=this.create()),this.instance},c.create=function(){if(n.test(window.location.pathname))return new r;var c=t(e,{transports:["websocket"],autoConnect:!0}),o=0;return c.on("connect",(function(){(o+=1,c.recovered)||1!==o&&Object.keys(c._callbacks).filter((function(t){return t.startsWith("$data#")})).map((function(t){return t.replace("$data#","")})).forEach((function(t){c.emit("subscribe",{channel:t})}))})),new i(c)},c}();export{c as SubscriptionsClientFactory};
1
+ import{io as t}from"socket.io-client";import{IGNORED_ROUTES_REGEXP as n,SUBSCRIPTIONS_URL as e}from"./constants.js";import{SubscriptionsClientV2 as r}from"./subscriptions-client.js";import{DummySubscriptionsClient as i}from"./subscriptions-client.dummy.js";var o=function(){function o(){}return o.init=function(){return this.instance||(this.instance=this.create()),this.instance},o.create=function(){if(n.test(window.location.pathname))return new i;var o=t(e,{transports:["websocket"],autoConnect:!0}),c=0;return o.on("connect",(function(){(c+=1,o.recovered)||1!==c&&Object.keys(o._callbacks).filter((function(t){return t.startsWith("$data#")})).map((function(t){return t.replace("$data#","")})).forEach((function(t){o.emit("subscribe",{channel:t,_current_location_href:window.top.location.href})}))})),new r(o)},o}();export{o as SubscriptionsClientFactory};
2
2
  //# sourceMappingURL=subscriptions-client.factory.js.map
@@ -1,2 +1,2 @@
1
- var t=function(){function t(t){this._socket=t}return t.prototype.subscribe=function(t,e,n){var o=this;this._validateArgs(t,e,n),this._socket.on("data#".concat(t),e),this._emit("subscribe",t,n);var r=function(){return o.unsubscribe(t,e,n)};return Object.defineProperty(r,"name",{value:"unsubscribe_".concat(t.replace(/[^\w]/g,"_")),writable:!1}),r},t.prototype.unsubscribe=function(t,e,n){this._validateArgs(t,e,n),this._emit("unsubscribe",t,n),this._socket.off("data#".concat(t),e)},t.prototype.disconnect=function(){return this._socket.disconnect(),this._socket.removeAllListeners(),this},t.prototype._validateArgs=function(t,e,n){if("string"!=typeof t||!t)throw new Error("Channel must be a non-empty string");if("function"!=typeof e)throw new Error("onData handler must be a function");if(void 0!==n&&"function"!=typeof n)throw new Error("ack must be a function")},t.prototype._shouldEmitToServer=function(t){return 1===this._socket.listeners("data#".concat(t)).length},t.prototype._emit=function(t,e,n){if(!this._shouldEmitToServer(e))return null==n?void 0:n();n?this._socket.emitWithAck(t,{channel:e},(function(o){return o.ok?n():n(new Error("Failed to ".concat(t," to channel ").concat(e,": ").concat(o.error)))})):this._socket.emit(t,{channel:e})},t}();export{t as SubscriptionsClientV2};
1
+ var t=function(){function t(t){var n=this;this._socket=t,this.onConnectionChange=function(t){var o=function(){return t({status:"connected"})},e=function(n){return t({status:"disconnected",reason:n})},r=function(){return t({status:"reconnecting"})},c=function(n){return t({status:"error",reason:(null==n?void 0:n.message)||String(n)})};return n._socket.on("connect",o),n._socket.on("disconnect",e),n._socket.on("reconnect",r),n._socket.on("connect_error",c),function(){n._socket.off("connect",o),n._socket.off("disconnect",e),n._socket.off("reconnect",r),n._socket.off("connect_error",c)}}}return t.prototype.subscribe=function(t,n,o){var e=this;this._validateArgs(t,n,o),this._socket.on("data#".concat(t),n),this._emit("subscribe",t,o);var r=function(){return e.unsubscribe(t,n,o)};return Object.defineProperty(r,"name",{value:"unsubscribe_".concat(t.replace(/[^\w]/g,"_")),writable:!1}),r},t.prototype.unsubscribe=function(t,n,o){this._validateArgs(t,n,o),this._emit("unsubscribe",t,o),this._socket.off("data#".concat(t),n)},t.prototype.disconnect=function(){return this._socket.disconnect(),this._socket.removeAllListeners(),this},t.prototype._validateArgs=function(t,n,o){if("string"!=typeof t||!t)throw new Error("Channel must be a non-empty string");if("function"!=typeof n)throw new Error("onData handler must be a function");if(void 0!==o&&"function"!=typeof o)throw new Error("ack must be a function")},t.prototype._shouldEmitToServer=function(t){return 1===this._socket.listeners("data#".concat(t)).length},t.prototype._emit=function(t,n,o){if(!this._shouldEmitToServer(n))return null==o?void 0:o();o?this._socket.emitWithAck(t,{channel:n,_current_location_href:window.top.location.href},(function(e){return e.ok?o():o(new Error("Failed to ".concat(t," to channel ").concat(n,": ").concat(e.error)))})):this._socket.emit(t,{channel:n,_current_location_href:window.top.location.href})},t}();export{t as SubscriptionsClientV2};
2
2
  //# sourceMappingURL=subscriptions-client.js.map
@@ -1,4 +1,4 @@
1
- export type CollectionEvent = "" | 'update' | 'destroy';
1
+ export type CollectionEvent = '' | 'update' | 'destroy';
2
2
  export interface SubscribeOptions {
3
3
  companyId?: number;
4
4
  userId?: number;
@@ -24,14 +24,23 @@ export interface SubscriptionsClientV2Events {
24
24
  export interface SubscriptionsClientV2ServerEvents {
25
25
  subscribe: (opts: {
26
26
  channel: string;
27
+ _current_location_href?: string;
27
28
  }, ack?: AcknowledgeCb) => void;
28
29
  unsubscribe: (opts: {
29
30
  channel: string;
31
+ _current_location_href?: string;
30
32
  }, ack?: AcknowledgeCb) => void;
31
33
  }
32
34
  export interface SubcriptionsClient {
33
35
  subscribe<T>(channel: string, onData: OnDataReceive<T>, ack?: AcknowledgeCb): () => void;
34
36
  unsubscribe<T>(channel: string, onData: OnDataReceive<T>, ack?: AcknowledgeCb): void;
35
37
  disconnect(): void;
38
+ onConnectionChange(handler: OnConnectionChange): () => void;
36
39
  }
40
+ export type ConnectionStatus = 'connected' | 'disconnected' | 'reconnecting' | 'error';
41
+ export type ConnectionChange = {
42
+ status: ConnectionStatus;
43
+ reason?: string;
44
+ };
45
+ export type OnConnectionChange = (change: ConnectionChange) => void;
37
46
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/clients/subscriptions/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,EAAE,GAAG,QAAQ,GAAG,SAAS,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC1C,CAAC,KAAK,EAAE,QAAQ,MAAM,EAAE,GAAG,GAAG,CAAC;CAChC;AAED,MAAM,WAAW,iCAAiC;IAChD,SAAS,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IACpE,WAAW,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;CACvE;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,MAAM,IAAI,CAAC;IACzF,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrF,UAAU,IAAI,IAAI,CAAC;CACpB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/clients/subscriptions/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,EAAE,GAAG,QAAQ,GAAG,SAAS,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC1C,CAAC,KAAK,EAAE,QAAQ,MAAM,EAAE,GAAG,GAAG,CAAC;CAChC;AAED,MAAM,WAAW,iCAAiC;IAChD,SAAS,EAAE,CACT,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,sBAAsB,CAAC,EAAE,MAAM,CAAA;KAAE,EAC1D,GAAG,CAAC,EAAE,aAAa,KAChB,IAAI,CAAC;IACV,WAAW,EAAE,CACX,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,sBAAsB,CAAC,EAAE,MAAM,CAAA;KAAE,EAC1D,GAAG,CAAC,EAAE,aAAa,KAChB,IAAI,CAAC;CACX;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,MAAM,IAAI,CAAC;IACzF,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrF,UAAU,IAAI,IAAI,CAAC;IACnB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,IAAI,CAAC;CAC7D;AAED,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,cAAc,GAAG,cAAc,GAAG,OAAO,CAAC;AACvF,MAAM,MAAM,gBAAgB,GAAG;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7E,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC"}
@@ -1,2 +1,2 @@
1
- import n from"socket.io-client";import*as c from"query-string";import o from"lodash/noop";var t=new RegExp("^/reports.*$"),e=c.parse(window.location.search).subscriptions_url||process.env.REACT_APP_SUBSCRIPTIONS_URL||"https://subscriptions.qa.corva.ai";function i(n){return t.test(window.location.pathname)?o:n}function r(n,c){return"".concat(n.appInstanceId||c,":").concat(n.companyId,":").concat(n.userId,":").concat(n.collection)}function s(n,c){return"".concat(n.appInstanceId||c,":").concat(n.companyId,":").concat(n.collection)}function a(n,c){return n.event?"".concat(n.appInstanceId||c,":").concat(n.provider,":").concat(n.collection,":").concat(n.assetId,":").concat(n.event):"".concat(n.appInstanceId||c,":").concat(n.provider,":").concat(n.collection,":").concat(n.assetId)}function u(n){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"userId"in n?r(n,c):"companyId"in n?s(n,c):a(n,c)}function d(){var c,o={},t=!1,r=i((function(n){if(!c)throw new Error("Not connected");var t=u(n);t in o&&(delete o[t],c.emit("unsubscribe",n))})),s=i((function(n){if(!c)throw new Error("Not connected");var e=u(n);o[e]=n,t&&c.emit("subscribe",n)})),a=i((function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=i.onDataReceive,a=void 0===r?void 0:r,u=i.onResubscribe,d=void 0===u?void 0:u,b=!1;return(c=n(e,{transports:["websocket"]})).on("authenticated",(function(){t=!0,Object.values(o).forEach((function(n){s(n),b&&d&&d(n)})),b=!1})),a&&c.on("data",a),c.on("reconnect",(function(){b=!0})),c}));return{connect:a,disconnect:i((function(){c&&(c.disconnect(),c=null)})),subscribe:s,unsubscribe:r}}var b=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},c=n.onDataReceive,o=n.onResubscribe,t=window[Symbol.for("socket")];null!=t&&t.socket&&(console.warn("Existing socket, disconnecting."),t.disconnect());var e=d(),i=e.connect,r=e.disconnect,s=e.subscribe,a=e.unsubscribe,u=i({onDataReceive:c,onResubscribe:o});window[Symbol.for("socket")]={subscribe:s,unsubscribe:a,disconnect:r,socket:u}};export{u as getSubscriptionId,d as getSubscriptionsClient,b as initializeSocketClient};
1
+ import n from"@babel/runtime/helpers/defineProperty";import t from"socket.io-client";import*as e from"query-string";import o from"lodash/noop";function c(n,t){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),e.push.apply(e,o)}return e}function r(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?c(Object(o),!0).forEach((function(e){n(t,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):c(Object(o)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(o,n))}))}return t}var i=new RegExp("^/reports.*$"),s=e.parse(window.location.search).subscriptions_url||process.env.REACT_APP_SUBSCRIPTIONS_URL||"https://subscriptions.qa.corva.ai";function a(n){return i.test(window.location.pathname)?o:n}function u(n,t){return"".concat(n.appInstanceId||t,":").concat(n.companyId,":").concat(n.userId,":").concat(n.collection)}function p(n,t){return"".concat(n.appInstanceId||t,":").concat(n.companyId,":").concat(n.collection)}function b(n,t){return n.event?"".concat(n.appInstanceId||t,":").concat(n.provider,":").concat(n.collection,":").concat(n.assetId,":").concat(n.event):"".concat(n.appInstanceId||t,":").concat(n.provider,":").concat(n.collection,":").concat(n.assetId)}function d(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"userId"in n?u(n,t):"companyId"in n?p(n,t):b(n,t)}function f(){var n,e={},o=!1,c=a((function(t){if(!n)throw new Error("Not connected");var o=d(t);o in e&&(delete e[o],n.emit("unsubscribe",r(r({},t),{},{_current_location_href:window.top.location.href})))})),i=a((function(t){if(!n)throw new Error("Not connected");var c=d(t);e[c]=t,o&&n.emit("subscribe",r(r({},t),{},{_current_location_href:window.top.location.href}))})),u=a((function(){var c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=c.onDataReceive,a=void 0===r?void 0:r,u=c.onResubscribe,p=void 0===u?void 0:u,b=!1;return(n=t(s,{transports:["websocket"]})).on("authenticated",(function(){o=!0,Object.values(e).forEach((function(n){i(n),b&&p&&p(n)})),b=!1})),a&&n.on("data",a),n.on("reconnect",(function(){b=!0})),n}));return{connect:u,disconnect:a((function(){n&&(n.disconnect(),n=null)})),subscribe:i,unsubscribe:c}}var l=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=n.onDataReceive,e=n.onResubscribe,o=window[Symbol.for("socket")];null!=o&&o.socket&&(console.warn("Existing socket, disconnecting."),o.disconnect());var c=f(),r=c.connect,i=c.disconnect,s=c.subscribe,a=c.unsubscribe,u=r({onDataReceive:t,onResubscribe:e});window[Symbol.for("socket")]={subscribe:s,unsubscribe:a,disconnect:i,socket:u}};export{d as getSubscriptionId,f as getSubscriptionsClient,l as initializeSocketClient};
2
2
  //# sourceMappingURL=subscriptions.v1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions.v1.js","sources":["../../src/clients/subscriptions.v1.js"],"sourcesContent":["import io from 'socket.io-client';\nimport * as queryString from 'query-string';\nimport noop from 'lodash/noop';\n\nconst REPORTS_ROUTE_REG_EXP = new RegExp('^/reports.*$');\n\nconst parameters = queryString.parse(window.location.search);\nconst socketUrl =\n parameters.subscriptions_url ||\n process.env.REACT_APP_SUBSCRIPTIONS_URL ||\n 'https://subscriptions.qa.corva.ai';\n\nfunction reportsDisableDecorator(func) {\n // NOTE: Disable subscription events on reports pages\n return REPORTS_ROUTE_REG_EXP.test(window.location.pathname) ? noop : func;\n}\n\nfunction getUserSubscriptionId(options, hookId) {\n return `${options.appInstanceId || hookId}:${options.companyId}:${options.userId}:${\n options.collection\n }`;\n}\n\nfunction getCompanySubscriptionId(options, hookId) {\n return `${options.appInstanceId || hookId}:${options.companyId}:${options.collection}`;\n}\n\nfunction getAssetSubscriptionId(options, hookId) {\n return options.event\n ? `${options.appInstanceId || hookId}:${options.provider}:${options.collection}:${\n options.assetId\n }:${options.event}`\n : `${options.appInstanceId || hookId}:${options.provider}:${options.collection}:${\n options.assetId\n }`;\n}\n\nexport function getSubscriptionId(options, hookId = '') {\n if ('userId' in options) return getUserSubscriptionId(options, hookId);\n else if ('companyId' in options) return getCompanySubscriptionId(options, hookId);\n return getAssetSubscriptionId(options, hookId);\n}\n\nexport function getSubscriptionsClient() {\n let socket;\n\n // NOTE: Is used in order to reset subscriptions in case of network failure\n const subscriptions = {};\n let isAuthenticated = false;\n\n const unsubscribe = reportsDisableDecorator(options => {\n if (!socket) {\n throw new Error('Not connected');\n }\n const subscriptionId = getSubscriptionId(options);\n\n if (subscriptionId in subscriptions) {\n delete subscriptions[subscriptionId];\n socket.emit('unsubscribe', options);\n }\n });\n\n const subscribe = reportsDisableDecorator(options => {\n if (!socket) {\n throw new Error('Not connected');\n }\n\n const subscriptionId = getSubscriptionId(options);\n subscriptions[subscriptionId] = options;\n\n // NOTE: Events could be:\n // 1) 'update' - fires in case of records are updated;\n // 2) 'destroy' - fires in case or records are destroyed;\n // 3) '' (empty) - fires in case of new records are created;\n if (isAuthenticated) {\n socket.emit('subscribe', options);\n }\n });\n\n const connect = reportsDisableDecorator(\n ({ onDataReceive = undefined, onResubscribe = undefined } = {}) => {\n let resubscribe = false;\n\n socket = io(socketUrl, { transports: ['websocket'] });\n // TODO: Once authentication is moved on connect, move this as well\n socket.on('authenticated', () => {\n isAuthenticated = true;\n Object.values(subscriptions).forEach(subscription => {\n subscribe(subscription);\n if (resubscribe && onResubscribe) onResubscribe(subscription);\n });\n resubscribe = false;\n });\n if (onDataReceive) socket.on('data', onDataReceive);\n\n socket.on('reconnect', () => {\n resubscribe = true;\n });\n\n return socket;\n }\n );\n\n const disconnect = reportsDisableDecorator(() => {\n if (socket) {\n socket.disconnect();\n socket = null;\n }\n });\n\n return { connect, disconnect, subscribe, unsubscribe };\n}\n\nexport const initializeSocketClient = ({ onDataReceive, onResubscribe } = {}) => {\n const existingSocket = window[Symbol.for('socket')];\n if (existingSocket?.socket) {\n console.warn('Existing socket, disconnecting.');\n existingSocket.disconnect();\n }\n const { connect, disconnect, subscribe, unsubscribe } = getSubscriptionsClient();\n const socket = connect({ onDataReceive, onResubscribe });\n window[Symbol.for('socket')] = {\n subscribe,\n unsubscribe,\n disconnect,\n socket,\n };\n};\n"],"names":["REPORTS_ROUTE_REG_EXP","RegExp","socketUrl","queryString","parse","window","location","search","subscriptions_url","process","env","REACT_APP_SUBSCRIPTIONS_URL","reportsDisableDecorator","func","test","pathname","noop","getUserSubscriptionId","options","hookId","concat","appInstanceId","companyId","userId","collection","getCompanySubscriptionId","getAssetSubscriptionId","event","provider","assetId","getSubscriptionId","getSubscriptionsClient","socket","subscriptions","isAuthenticated","unsubscribe","Error","subscriptionId","emit","subscribe","connect","_ref","arguments","length","undefined","_ref$onDataReceive","onDataReceive","_ref$onResubscribe","onResubscribe","resubscribe","io","transports","on","Object","values","forEach","subscription","disconnect","initializeSocketClient","_ref2","existingSocket","Symbol","for","console","warn","_getSubscriptionsClie"],"mappings":"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"}
1
+ {"version":3,"file":"subscriptions.v1.js","sources":["../../src/clients/subscriptions.v1.js"],"sourcesContent":["import io from 'socket.io-client';\nimport * as queryString from 'query-string';\nimport noop from 'lodash/noop';\n\nconst REPORTS_ROUTE_REG_EXP = new RegExp('^/reports.*$');\n\nconst parameters = queryString.parse(window.location.search);\nconst socketUrl =\n parameters.subscriptions_url ||\n process.env.REACT_APP_SUBSCRIPTIONS_URL ||\n 'https://subscriptions.qa.corva.ai';\n\nfunction reportsDisableDecorator(func) {\n // NOTE: Disable subscription events on reports pages\n return REPORTS_ROUTE_REG_EXP.test(window.location.pathname) ? noop : func;\n}\n\nfunction getUserSubscriptionId(options, hookId) {\n return `${options.appInstanceId || hookId}:${options.companyId}:${options.userId}:${\n options.collection\n }`;\n}\n\nfunction getCompanySubscriptionId(options, hookId) {\n return `${options.appInstanceId || hookId}:${options.companyId}:${options.collection}`;\n}\n\nfunction getAssetSubscriptionId(options, hookId) {\n return options.event\n ? `${options.appInstanceId || hookId}:${options.provider}:${options.collection}:${\n options.assetId\n }:${options.event}`\n : `${options.appInstanceId || hookId}:${options.provider}:${options.collection}:${\n options.assetId\n }`;\n}\n\nexport function getSubscriptionId(options, hookId = '') {\n if ('userId' in options) return getUserSubscriptionId(options, hookId);\n else if ('companyId' in options) return getCompanySubscriptionId(options, hookId);\n return getAssetSubscriptionId(options, hookId);\n}\n\nexport function getSubscriptionsClient() {\n let socket;\n\n // NOTE: Is used in order to reset subscriptions in case of network failure\n const subscriptions = {};\n let isAuthenticated = false;\n\n const unsubscribe = reportsDisableDecorator(options => {\n if (!socket) {\n throw new Error('Not connected');\n }\n const subscriptionId = getSubscriptionId(options);\n\n if (subscriptionId in subscriptions) {\n delete subscriptions[subscriptionId];\n socket.emit('unsubscribe', { ...options, _current_location_href: window.top.location.href });\n }\n });\n\n const subscribe = reportsDisableDecorator(options => {\n if (!socket) {\n throw new Error('Not connected');\n }\n\n const subscriptionId = getSubscriptionId(options);\n subscriptions[subscriptionId] = options;\n\n // NOTE: Events could be:\n // 1) 'update' - fires in case of records are updated;\n // 2) 'destroy' - fires in case or records are destroyed;\n // 3) '' (empty) - fires in case of new records are created;\n if (isAuthenticated) {\n socket.emit('subscribe', { ...options, _current_location_href: window.top.location.href });\n }\n });\n\n const connect = reportsDisableDecorator(\n ({ onDataReceive = undefined, onResubscribe = undefined } = {}) => {\n let resubscribe = false;\n\n socket = io(socketUrl, { transports: ['websocket'] });\n // TODO: Once authentication is moved on connect, move this as well\n socket.on('authenticated', () => {\n isAuthenticated = true;\n Object.values(subscriptions).forEach(subscription => {\n subscribe(subscription);\n if (resubscribe && onResubscribe) onResubscribe(subscription);\n });\n resubscribe = false;\n });\n if (onDataReceive) socket.on('data', onDataReceive);\n\n socket.on('reconnect', () => {\n resubscribe = true;\n });\n\n return socket;\n }\n );\n\n const disconnect = reportsDisableDecorator(() => {\n if (socket) {\n socket.disconnect();\n socket = null;\n }\n });\n\n return { connect, disconnect, subscribe, unsubscribe };\n}\n\nexport const initializeSocketClient = ({ onDataReceive, onResubscribe } = {}) => {\n const existingSocket = window[Symbol.for('socket')];\n if (existingSocket?.socket) {\n console.warn('Existing socket, disconnecting.');\n existingSocket.disconnect();\n }\n const { connect, disconnect, subscribe, unsubscribe } = getSubscriptionsClient();\n const socket = connect({ onDataReceive, onResubscribe });\n window[Symbol.for('socket')] = {\n subscribe,\n unsubscribe,\n disconnect,\n socket,\n };\n};\n"],"names":["REPORTS_ROUTE_REG_EXP","RegExp","socketUrl","queryString","parse","window","location","search","subscriptions_url","process","env","REACT_APP_SUBSCRIPTIONS_URL","reportsDisableDecorator","func","test","pathname","noop","getUserSubscriptionId","options","hookId","concat","appInstanceId","companyId","userId","collection","getCompanySubscriptionId","getAssetSubscriptionId","event","provider","assetId","getSubscriptionId","getSubscriptionsClient","socket","subscriptions","isAuthenticated","unsubscribe","Error","subscriptionId","emit","_current_location_href","top","href","subscribe","connect","_ref","arguments","length","undefined","_ref$onDataReceive","onDataReceive","_ref$onResubscribe","onResubscribe","resubscribe","io","transports","on","Object","values","forEach","subscription","disconnect","initializeSocketClient","_ref2","existingSocket","Symbol","for","console","warn","_getSubscriptionsClie"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@corva/ui",
3
- "version": "3.19.0",
3
+ "version": "3.19.2",
4
4
  "description": "Shared components/utils for Corva ui projects",
5
5
  "keywords": [
6
6
  "corva-ui"