@ndustrial/contxt-sdk 5.6.1 → 5.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/esm/bus/channels.js +1 -2
  2. package/esm/bus/channels.js.map +1 -1
  3. package/esm/bus/webSocketConnection.js +1 -2
  4. package/esm/bus/webSocketConnection.js.map +1 -1
  5. package/esm/config/index.js +20 -18
  6. package/esm/config/index.js.map +1 -1
  7. package/esm/coordinator/applications.js +2 -2
  8. package/esm/coordinator/applications.js.map +1 -1
  9. package/esm/coordinator/consent.js +1 -2
  10. package/esm/coordinator/consent.js.map +1 -1
  11. package/esm/coordinator/edgeNodes.js +1 -2
  12. package/esm/coordinator/edgeNodes.js.map +1 -1
  13. package/esm/coordinator/organizations.js +2 -2
  14. package/esm/coordinator/organizations.js.map +1 -1
  15. package/esm/coordinator/permissions.js +1 -2
  16. package/esm/coordinator/permissions.js.map +1 -1
  17. package/esm/coordinator/roles.js +2 -4
  18. package/esm/coordinator/roles.js.map +1 -1
  19. package/esm/coordinator/users.js +57 -96
  20. package/esm/coordinator/users.js.map +1 -1
  21. package/esm/events/index.js +5 -10
  22. package/esm/events/index.js.map +1 -1
  23. package/esm/files/index.js +9 -9
  24. package/esm/files/index.js.map +1 -1
  25. package/esm/index.js +14 -15
  26. package/esm/index.js.map +1 -1
  27. package/esm/nionic/index.js +13 -16
  28. package/esm/nionic/index.js.map +1 -1
  29. package/esm/request.js +40 -30
  30. package/esm/request.js.map +1 -1
  31. package/esm/sessionTypes/auth0WebAuth.js +9 -9
  32. package/esm/sessionTypes/auth0WebAuth.js.map +1 -1
  33. package/esm/sessionTypes/index.js +3 -12
  34. package/esm/sessionTypes/index.js.map +1 -1
  35. package/esm/sessionTypes/machineAuth.js +3 -2
  36. package/esm/sessionTypes/machineAuth.js.map +1 -1
  37. package/esm/utils/events/formatEventUpdateToServer.js +1 -2
  38. package/esm/utils/events/formatEventUpdateToServer.js.map +1 -1
  39. package/esm/utils/iot/formatOutputFieldDataFromServer.js +1 -2
  40. package/esm/utils/iot/formatOutputFieldDataFromServer.js.map +1 -1
  41. package/esm/utils/iot/parseOutputFieldNextPageUrlMetadata.js +2 -0
  42. package/esm/utils/iot/parseOutputFieldNextPageUrlMetadata.js.map +1 -1
  43. package/esm/utils/objects/createCaseChangeFn.js +2 -4
  44. package/esm/utils/objects/createCaseChangeFn.js.map +1 -1
  45. package/esm/utils/pagination/formatPaginatedDataFromServer.js +2 -3
  46. package/esm/utils/pagination/formatPaginatedDataFromServer.js.map +1 -1
  47. package/esm/utils/url/stringifyParams.js +2 -2
  48. package/esm/utils/url/stringifyParams.js.map +1 -1
  49. package/lib/bus/channels.js +1 -2
  50. package/lib/bus/channels.js.map +1 -1
  51. package/lib/bus/webSocketConnection.js +1 -2
  52. package/lib/bus/webSocketConnection.js.map +1 -1
  53. package/lib/config/index.js +20 -18
  54. package/lib/config/index.js.map +1 -1
  55. package/lib/coordinator/applications.js +2 -2
  56. package/lib/coordinator/applications.js.map +1 -1
  57. package/lib/coordinator/consent.js +1 -2
  58. package/lib/coordinator/consent.js.map +1 -1
  59. package/lib/coordinator/edgeNodes.js +1 -2
  60. package/lib/coordinator/edgeNodes.js.map +1 -1
  61. package/lib/coordinator/organizations.js +2 -2
  62. package/lib/coordinator/organizations.js.map +1 -1
  63. package/lib/coordinator/permissions.js +1 -2
  64. package/lib/coordinator/permissions.js.map +1 -1
  65. package/lib/coordinator/roles.js +2 -4
  66. package/lib/coordinator/roles.js.map +1 -1
  67. package/lib/coordinator/users.js +57 -96
  68. package/lib/coordinator/users.js.map +1 -1
  69. package/lib/events/index.js +5 -10
  70. package/lib/events/index.js.map +1 -1
  71. package/lib/files/index.js +9 -9
  72. package/lib/files/index.js.map +1 -1
  73. package/lib/index.js +14 -15
  74. package/lib/index.js.map +1 -1
  75. package/lib/nionic/index.js +13 -16
  76. package/lib/nionic/index.js.map +1 -1
  77. package/lib/request.js +40 -30
  78. package/lib/request.js.map +1 -1
  79. package/lib/sessionTypes/auth0WebAuth.js +9 -9
  80. package/lib/sessionTypes/auth0WebAuth.js.map +1 -1
  81. package/lib/sessionTypes/index.js +3 -12
  82. package/lib/sessionTypes/index.js.map +1 -1
  83. package/lib/sessionTypes/machineAuth.js +3 -2
  84. package/lib/sessionTypes/machineAuth.js.map +1 -1
  85. package/lib/utils/events/formatEventUpdateToServer.js +1 -2
  86. package/lib/utils/events/formatEventUpdateToServer.js.map +1 -1
  87. package/lib/utils/iot/formatOutputFieldDataFromServer.js +1 -2
  88. package/lib/utils/iot/formatOutputFieldDataFromServer.js.map +1 -1
  89. package/lib/utils/iot/parseOutputFieldNextPageUrlMetadata.js +2 -0
  90. package/lib/utils/iot/parseOutputFieldNextPageUrlMetadata.js.map +1 -1
  91. package/lib/utils/objects/createCaseChangeFn.js +2 -4
  92. package/lib/utils/objects/createCaseChangeFn.js.map +1 -1
  93. package/lib/utils/pagination/formatPaginatedDataFromServer.js +2 -3
  94. package/lib/utils/pagination/formatPaginatedDataFromServer.js.map +1 -1
  95. package/lib/utils/url/stringifyParams.js +2 -2
  96. package/lib/utils/url/stringifyParams.js.map +1 -1
  97. package/package.json +6 -6
  98. package/src/coordinator/users.js +1 -1
@@ -1633,8 +1633,7 @@ class Channels {
1633
1633
  * .then((channel) => console.log(channel))
1634
1634
  * .catch((err) => console.log(err));
1635
1635
  */
1636
- create() {
1637
- let channel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (cov_2e7hik51vz().b[0][0]++, {});
1636
+ create(channel = (cov_2e7hik51vz().b[0][0]++, {})) {
1638
1637
  cov_2e7hik51vz().f[1]++;
1639
1638
  const requiredFields = (cov_2e7hik51vz().s[3]++, ['name', 'organizationId', 'serviceId']);
1640
1639
  cov_2e7hik51vz().s[4]++;
@@ -1 +1 @@
1
- {"version":3,"file":"channels.js","names":["_lodash","_interopRequireDefault","require","_objects","e","__esModule","default","cov_2e7hik51vz","path","hash","global","Function","gcv","coverageData","statementMap","start","line","column","end","fnMap","name","decl","loc","branchMap","type","locations","undefined","s","f","b","_coverageSchema","coverage","actualCoverage","Channels","constructor","sdk","request","baseUrl","_baseUrl","_request","_sdk","create","channel","arguments","length","requiredFields","i","field","Promise","reject","Error","post","organizationId","serviceId","ObjectUtils","toSnakeCase","then","response","toCamelCase","delete","channelId","errorMsg","get","update","isPlainObject","put","peek","subscription","messagePos","params","_default","exports"],"sources":["bus/channels.js"],"sourcesContent":["import isPlainObject from 'lodash.isplainobject';\nimport ObjectUtils from '../utils/objects';\n\n/**\n * @typedef {Object} MessageBusChannel\n * @property {string} id UUID formatted ID\n * @property {string} name\n * @property {string} organizationId UUID of the organization to which the channel belongs\n * @property {string} serviceId\n */\n\n/**\n * Module that provides access to message bus channels\n *\n * @typicalname contxtSdk.bus.channels\n */\nclass Channels {\n /**\n * @param {Object} sdk An instance of the SDK so the module can communicate with other modules\n * @param {Object} request An instance of the request module tied to this module's audience.\n * @param {string} baseUrl The base URL provided by the parent module\n */\n constructor(sdk, request, baseUrl) {\n this._baseUrl = baseUrl;\n this._request = request;\n this._sdk = sdk;\n }\n\n /**\n * Creates a new message bus channel\n *\n * API Endpoint: '/organizations/:organizationId/services/:serviceId/channels'\n * Method: POST\n *\n * @param {Object} channel\n * @param {string} channel.name\n * @param {string} channel.organizationId UUID corresponding with an organization\n * @param {string} channel.serviceId ID of a service\n *\n * @returns {Promise}\n * @fulfill {MessageBusChannel} Information about the new channel\n * @reject {Error}\n *\n * @example\n * contxtSdk.bus.channels\n * .create({\n * name: 'Channel 46',\n * organizationId: '28cc036c-d87f-4f06-bd30-1e78c2701064',\n * serviceId: 'abc123service'\n * })\n * .then((channel) => console.log(channel))\n * .catch((err) => console.log(err));\n */\n create(channel = {}) {\n const requiredFields = ['name', 'organizationId', 'serviceId'];\n\n for (let i = 0; requiredFields.length > i; i++) {\n const field = requiredFields[i];\n\n if (!channel[field]) {\n return Promise.reject(\n new Error(\n `A ${field} is required to create a new message bus channel.`\n )\n );\n }\n }\n\n return this._request\n .post(\n `${this._baseUrl}/organizations/${channel.organizationId}/services/${\n channel.serviceId\n }/channels`,\n ObjectUtils.toSnakeCase(channel)\n )\n .then((response) => ObjectUtils.toCamelCase(response));\n }\n\n /**\n * Deletes a message bus channel\n *\n * API Endpoint: '/organizations/:organizationId/services/:serviceId/channels/:channelId'\n * Method: DELETE\n *\n * @param {string} organizationId UUID of the organization\n * @param {string} serviceId ID of the service\n * @param {string} channelId UUID of the channel\n *\n * @returns {Promise}\n * @fulfill {undefined}\n * @reject {Error}\n *\n * @example\n * contxtSdk.bus.channels\n * .delete(\n * '875afddd-091c-4385-bc21-0edf38804d27',\n * 'ab123service',\n * '175afdec-291c-4385-bc21-0edf38804d21'\n * );\n */\n delete(organizationId, serviceId, channelId) {\n let errorMsg;\n\n if (!organizationId) {\n errorMsg =\n 'An organizationId is required to delete a message bus channel.';\n } else if (!serviceId) {\n errorMsg = 'A serviceId is required to delete a message bus channel.';\n } else if (!channelId) {\n errorMsg = 'A channelId is required to delete a message bus channel.';\n }\n\n if (errorMsg) {\n return Promise.reject(new Error(errorMsg));\n }\n\n return this._request.delete(\n `${\n this._baseUrl\n }/organizations/${organizationId}/services/${serviceId}/channels/${channelId}`\n );\n }\n\n /**\n * Gets information about a message bus channel\n *\n * API Endpoint: '/organizations/:organizationId/services/:serviceId/channels/:channelId'\n * Method: GET\n *\n * @param {string} organizationId UUID of the organization\n * @param {string} serviceId ID of the service\n * @param {string} channelId UUID of the channel\n *\n * @returns {Promise}\n * @fulfill {MessageBusChannel} Information about an event\n * @reject {Error}\n *\n * @example\n * contxtSdk.bus.channels\n * .get(\n * '875afddd-091c-4385-bc21-0edf38804d27',\n * 'ab123service',\n * '175afdec-291c-4385-bc21-0edf38804d21'\n * )\n * .then((channel) => console.log(channel))\n * .catch((err) => console.log(err));\n */\n get(organizationId, serviceId, channelId) {\n let errorMsg;\n\n if (!organizationId) {\n errorMsg = 'An organizationId is required to get a message bus channel.';\n } else if (!serviceId) {\n errorMsg = 'A serviceId is required to get a message bus channel.';\n } else if (!channelId) {\n errorMsg = 'A channelId is required to get a message bus channel.';\n }\n\n if (errorMsg) {\n return Promise.reject(new Error(errorMsg));\n }\n\n return this._request\n .get(\n `${\n this._baseUrl\n }/organizations/${organizationId}/services/${serviceId}/channels/${channelId}`\n )\n .then((response) => ObjectUtils.toCamelCase(response));\n }\n\n /**\n * Updates a message bus channel\n *\n * API Endpoint: '/organizations/:organizationId/services/:serviceId/channels/:channelId'\n * Method: PUT\n *\n * @param {string} organizationId UUID of the organization\n * @param {string} serviceId ID of the service\n * @param {string} channelId UUID of the channel to update\n * @param {Object} update An object containing the updated data for the channel\n * @param {string} [update.name]\n *\n * @returns {Promise}\n * @fulfill {undefined}\n * @reject {Error}\n *\n * @example\n * contxtSdk.bus.channels\n * .update(\n * '875afddd-091c-4385-bc21-0edf38804d27',\n * 'ab123service',\n * '175afdec-291c-4385-bc21-0edf38804d21'\n * { name: 'An Updated Channel Name' }\n * );\n */\n update(organizationId, serviceId, channelId, update) {\n let errorMsg;\n\n if (!organizationId) {\n errorMsg =\n 'An organizationId is required to delete a message bus channel.';\n } else if (!serviceId) {\n errorMsg = 'A serviceId is required to delete a message bus channel.';\n } else if (!channelId) {\n errorMsg = 'A channelId is required to delete a message bus channel.';\n }\n\n if (errorMsg) {\n return Promise.reject(new Error(errorMsg));\n }\n\n if (!update) {\n return Promise.reject(\n new Error('An update is required to update a message bus channel.')\n );\n }\n\n if (!isPlainObject(update)) {\n return Promise.reject(\n new Error(\n 'The message bus channel update must be a well-formed object with the data you wish to update.'\n )\n );\n }\n\n return this._request.put(\n `${\n this._baseUrl\n }/organizations/${organizationId}/services/${serviceId}/channels/${channelId}`,\n ObjectUtils.toSnakeCase(update)\n );\n }\n\n /**\n * Peeks messages from a channel subscription\n *\n * API Endpoint: '/organizations/:organizationId/services/:serviceId/channels/:channelId/peek/:subscription'\n * Method: GET\n *\n * @param {string} organizationId UUID of the organization\n * @param {string} serviceId ID of the service\n * @param {string} channelId UUID of the channel\n * @param {string} subscription name of the subscription\n * @param {number} messagePos the number of messages to peek\n *\n * @returns {Promise}\n * @fulfill {MessageBusChannel} Information about an event\n * @reject {Error}\n *\n * @example\n * contxtSdk.bus.channels\n * .peek(\n * '875afddd-091c-4385-bc21-0edf38804d27',\n * 'ab123service',\n * '175afdec-291c-4385-bc21-0edf38804d21',\n * 'test-subscription'\n * )\n * .then((channel) => console.log(channel))\n * .catch((err) => console.log(err));\n */\n peek(organizationId, serviceId, channelId, subscription, messagePos) {\n let errorMsg;\n\n if (!organizationId) {\n errorMsg = 'An organizationId is required to peek a message bus channel subscription.';\n } else if (!serviceId) {\n errorMsg = 'A serviceId is required to peek a message bus channel subscription.';\n } else if (!channelId) {\n errorMsg = 'A channelId is required to peek a message bus channel subscription.';\n } else if (!subscription) {\n errorMsg = 'A subscription name is required to peek a message bus channel subscription.';\n }\n\n if (errorMsg) {\n return Promise.reject(new Error(errorMsg));\n }\n\n return this._request\n .get(\n `${\n this._baseUrl\n }/organizations/${organizationId}/services/${serviceId}/channels/${channelId}/peek/${subscription}`,\n { params: { messagePos } }\n )\n .then((response) => ObjectUtils.toCamelCase(response));\n }\n}\n\nexport default Channels;\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AAA2C,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,eAAA;EAAA,IAAAC,IAAA;EAAA,IAAAC,IAAA;EAAA,IAAAC,MAAA,OAAAC,QAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,YAAA;IAAAL,IAAA;IAAAM,YAAA;MAAA;QAAAC,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;U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","ignoreList":[]}
1
+ {"version":3,"file":"channels.js","names":["_lodash","_interopRequireDefault","require","_objects","e","__esModule","default","cov_2e7hik51vz","path","hash","global","Function","gcv","coverageData","statementMap","start","line","column","end","fnMap","name","decl","loc","branchMap","type","locations","undefined","s","f","b","_coverageSchema","coverage","actualCoverage","Channels","constructor","sdk","request","baseUrl","_baseUrl","_request","_sdk","create","channel","requiredFields","i","length","field","Promise","reject","Error","post","organizationId","serviceId","ObjectUtils","toSnakeCase","then","response","toCamelCase","delete","channelId","errorMsg","get","update","isPlainObject","put","peek","subscription","messagePos","params","_default","exports"],"sources":["bus/channels.js"],"sourcesContent":["import isPlainObject from 'lodash.isplainobject';\nimport ObjectUtils from '../utils/objects';\n\n/**\n * @typedef {Object} MessageBusChannel\n * @property {string} id UUID formatted ID\n * @property {string} name\n * @property {string} organizationId UUID of the organization to which the channel belongs\n * @property {string} serviceId\n */\n\n/**\n * Module that provides access to message bus channels\n *\n * @typicalname contxtSdk.bus.channels\n */\nclass Channels {\n /**\n * @param {Object} sdk An instance of the SDK so the module can communicate with other modules\n * @param {Object} request An instance of the request module tied to this module's audience.\n * @param {string} baseUrl The base URL provided by the parent module\n */\n constructor(sdk, request, baseUrl) {\n this._baseUrl = baseUrl;\n this._request = request;\n this._sdk = sdk;\n }\n\n /**\n * Creates a new message bus channel\n *\n * API Endpoint: '/organizations/:organizationId/services/:serviceId/channels'\n * Method: POST\n *\n * @param {Object} channel\n * @param {string} channel.name\n * @param {string} channel.organizationId UUID corresponding with an organization\n * @param {string} channel.serviceId ID of a service\n *\n * @returns {Promise}\n * @fulfill {MessageBusChannel} Information about the new channel\n * @reject {Error}\n *\n * @example\n * contxtSdk.bus.channels\n * .create({\n * name: 'Channel 46',\n * organizationId: '28cc036c-d87f-4f06-bd30-1e78c2701064',\n * serviceId: 'abc123service'\n * })\n * .then((channel) => console.log(channel))\n * .catch((err) => console.log(err));\n */\n create(channel = {}) {\n const requiredFields = ['name', 'organizationId', 'serviceId'];\n\n for (let i = 0; requiredFields.length > i; i++) {\n const field = requiredFields[i];\n\n if (!channel[field]) {\n return Promise.reject(\n new Error(\n `A ${field} is required to create a new message bus channel.`\n )\n );\n }\n }\n\n return this._request\n .post(\n `${this._baseUrl}/organizations/${channel.organizationId}/services/${\n channel.serviceId\n }/channels`,\n ObjectUtils.toSnakeCase(channel)\n )\n .then((response) => ObjectUtils.toCamelCase(response));\n }\n\n /**\n * Deletes a message bus channel\n *\n * API Endpoint: '/organizations/:organizationId/services/:serviceId/channels/:channelId'\n * Method: DELETE\n *\n * @param {string} organizationId UUID of the organization\n * @param {string} serviceId ID of the service\n * @param {string} channelId UUID of the channel\n *\n * @returns {Promise}\n * @fulfill {undefined}\n * @reject {Error}\n *\n * @example\n * contxtSdk.bus.channels\n * .delete(\n * '875afddd-091c-4385-bc21-0edf38804d27',\n * 'ab123service',\n * '175afdec-291c-4385-bc21-0edf38804d21'\n * );\n */\n delete(organizationId, serviceId, channelId) {\n let errorMsg;\n\n if (!organizationId) {\n errorMsg =\n 'An organizationId is required to delete a message bus channel.';\n } else if (!serviceId) {\n errorMsg = 'A serviceId is required to delete a message bus channel.';\n } else if (!channelId) {\n errorMsg = 'A channelId is required to delete a message bus channel.';\n }\n\n if (errorMsg) {\n return Promise.reject(new Error(errorMsg));\n }\n\n return this._request.delete(\n `${\n this._baseUrl\n }/organizations/${organizationId}/services/${serviceId}/channels/${channelId}`\n );\n }\n\n /**\n * Gets information about a message bus channel\n *\n * API Endpoint: '/organizations/:organizationId/services/:serviceId/channels/:channelId'\n * Method: GET\n *\n * @param {string} organizationId UUID of the organization\n * @param {string} serviceId ID of the service\n * @param {string} channelId UUID of the channel\n *\n * @returns {Promise}\n * @fulfill {MessageBusChannel} Information about an event\n * @reject {Error}\n *\n * @example\n * contxtSdk.bus.channels\n * .get(\n * '875afddd-091c-4385-bc21-0edf38804d27',\n * 'ab123service',\n * '175afdec-291c-4385-bc21-0edf38804d21'\n * )\n * .then((channel) => console.log(channel))\n * .catch((err) => console.log(err));\n */\n get(organizationId, serviceId, channelId) {\n let errorMsg;\n\n if (!organizationId) {\n errorMsg = 'An organizationId is required to get a message bus channel.';\n } else if (!serviceId) {\n errorMsg = 'A serviceId is required to get a message bus channel.';\n } else if (!channelId) {\n errorMsg = 'A channelId is required to get a message bus channel.';\n }\n\n if (errorMsg) {\n return Promise.reject(new Error(errorMsg));\n }\n\n return this._request\n .get(\n `${\n this._baseUrl\n }/organizations/${organizationId}/services/${serviceId}/channels/${channelId}`\n )\n .then((response) => ObjectUtils.toCamelCase(response));\n }\n\n /**\n * Updates a message bus channel\n *\n * API Endpoint: '/organizations/:organizationId/services/:serviceId/channels/:channelId'\n * Method: PUT\n *\n * @param {string} organizationId UUID of the organization\n * @param {string} serviceId ID of the service\n * @param {string} channelId UUID of the channel to update\n * @param {Object} update An object containing the updated data for the channel\n * @param {string} [update.name]\n *\n * @returns {Promise}\n * @fulfill {undefined}\n * @reject {Error}\n *\n * @example\n * contxtSdk.bus.channels\n * .update(\n * '875afddd-091c-4385-bc21-0edf38804d27',\n * 'ab123service',\n * '175afdec-291c-4385-bc21-0edf38804d21'\n * { name: 'An Updated Channel Name' }\n * );\n */\n update(organizationId, serviceId, channelId, update) {\n let errorMsg;\n\n if (!organizationId) {\n errorMsg =\n 'An organizationId is required to delete a message bus channel.';\n } else if (!serviceId) {\n errorMsg = 'A serviceId is required to delete a message bus channel.';\n } else if (!channelId) {\n errorMsg = 'A channelId is required to delete a message bus channel.';\n }\n\n if (errorMsg) {\n return Promise.reject(new Error(errorMsg));\n }\n\n if (!update) {\n return Promise.reject(\n new Error('An update is required to update a message bus channel.')\n );\n }\n\n if (!isPlainObject(update)) {\n return Promise.reject(\n new Error(\n 'The message bus channel update must be a well-formed object with the data you wish to update.'\n )\n );\n }\n\n return this._request.put(\n `${\n this._baseUrl\n }/organizations/${organizationId}/services/${serviceId}/channels/${channelId}`,\n ObjectUtils.toSnakeCase(update)\n );\n }\n\n /**\n * Peeks messages from a channel subscription\n *\n * API Endpoint: '/organizations/:organizationId/services/:serviceId/channels/:channelId/peek/:subscription'\n * Method: GET\n *\n * @param {string} organizationId UUID of the organization\n * @param {string} serviceId ID of the service\n * @param {string} channelId UUID of the channel\n * @param {string} subscription name of the subscription\n * @param {number} messagePos the number of messages to peek\n *\n * @returns {Promise}\n * @fulfill {MessageBusChannel} Information about an event\n * @reject {Error}\n *\n * @example\n * contxtSdk.bus.channels\n * .peek(\n * '875afddd-091c-4385-bc21-0edf38804d27',\n * 'ab123service',\n * '175afdec-291c-4385-bc21-0edf38804d21',\n * 'test-subscription'\n * )\n * .then((channel) => console.log(channel))\n * .catch((err) => console.log(err));\n */\n peek(organizationId, serviceId, channelId, subscription, messagePos) {\n let errorMsg;\n\n if (!organizationId) {\n errorMsg = 'An organizationId is required to peek a message bus channel subscription.';\n } else if (!serviceId) {\n errorMsg = 'A serviceId is required to peek a message bus channel subscription.';\n } else if (!channelId) {\n errorMsg = 'A channelId is required to peek a message bus channel subscription.';\n } else if (!subscription) {\n errorMsg = 'A subscription name is required to peek a message bus channel subscription.';\n }\n\n if (errorMsg) {\n return Promise.reject(new Error(errorMsg));\n }\n\n return this._request\n .get(\n `${\n this._baseUrl\n }/organizations/${organizationId}/services/${serviceId}/channels/${channelId}/peek/${subscription}`,\n { params: { messagePos } }\n )\n .then((response) => ObjectUtils.toCamelCase(response));\n }\n}\n\nexport default Channels;\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AAA2C,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,eAAA;EAAA,IAAAC,IAAA;EAAA,IAAAC,IAAA;EAAA,IAAAC,MAAA,OAAAC,QAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,YAAA;IAAAL,IAAA;IAAAM,YAAA;MAAA;QAAAC,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;U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","ignoreList":[]}
@@ -2091,8 +2091,7 @@ class WebSocketConnection {
2091
2091
  * @param {string} organizationId UUID corresponding with an organization
2092
2092
  * @param {boolean} autoAcknowledge Whether the messages should be ACK'd explicitly or not
2093
2093
  */
2094
- constructor(webSocket, organizationId) {
2095
- let autoAcknowledge = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : (cov_2fh0o593ie().b[0][0]++, true);
2094
+ constructor(webSocket, organizationId, autoAcknowledge = (cov_2fh0o593ie().b[0][0]++, true)) {
2096
2095
  /**
2097
2096
  * Handles WebSocket errors.
2098
2097
  * The `ws` library also closes the socket when an error occurs.
@@ -1 +1 @@
1
- {"version":3,"file":"webSocketConnection.js","names":["_uuid","require","_lodash","_interopRequireDefault","e","__esModule","default","cov_2fh0o593ie","path","hash","global","Function","gcv","coverageData","statementMap","start","line","column","end","fnMap","name","decl","loc","branchMap","type","locations","undefined","s","f","b","_coverageSchema","coverage","actualCoverage","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","WebSocketConnection","constructor","webSocket","organizationId","autoAcknowledge","arguments","length","error","_messageHandlers","console","log","message","messageData","JSON","parse","data","err","Error","id","_organizationId","_webSocket","_autoAck","addEventListener","_onError","onmessage","_onMessage","authorize","token","Promise","reject","_isConnected","_registerSingleMessageHandler","close","publish","serviceClientId","channel","service_id","subscribe","group","handler","errorHandler","params","then","result","subscription","subscriptionMessage","resolve","ack","once","_acknowledge","body","res","throwable","acknowledgedMessageId","message_id","method","messageId","uuid","send","stringify","jsonrpc","readyState","OPEN","_default","exports"],"sources":["bus/webSocketConnection.js"],"sourcesContent":["import { v4 as uuid } from 'uuid';\nimport once from 'lodash.once';\n\n/**\n * The WebSocket Error Event\n *\n * @typedef {Object} WebSocketError\n * @property {string} type The event type\n */\n\n/**\n * The WebSocket Message Event\n *\n * @typedef {Object} WebSocketMessage\n * @property {Object} data The data sent by the message emitter\n * @property {string} origin A USVString representing the origin of the message emitter\n * @property {string} lastEventId A DOMString representing a unique ID for the event\n * @property {Object} source A MessageEventSource (which can be a WindowProxy, MessagePort, or ServiceWorker object) representing the message emitter\n * @property {Array} ports MessagePort objects representing the ports associated with the channel the message is being sent through (where appropriate, e.g. in channel messaging or when sending a message to a shared worker)\n */\n\n/**\n * Module that wraps the websocket connection to the message bus to provide the\n * developer with a specific set of functionality. This is for Node\n * environments. Documentation for browser environments is found under\n * `BrowserWebSocketConnection`.\n */\nclass WebSocketConnection {\n /**\n * @param {WebSocket} webSocket A WebSocket connection to the message bus\n * @param {string} organizationId UUID corresponding with an organization\n * @param {boolean} autoAcknowledge Whether the messages should be ACK'd explicitly or not\n */\n constructor(webSocket, organizationId, autoAcknowledge = true) {\n this._messageHandlers = {};\n this._organizationId = organizationId;\n this._webSocket = webSocket;\n this._autoAck = autoAcknowledge;\n\n if (this._webSocket) {\n this._webSocket.addEventListener(\"error\", this._onError);\n this._webSocket.onmessage = this._onMessage;\n }\n }\n\n /**\n * Sends a message to the message bus to authorize a channel\n *\n * @param {string} token JSON Web Signature containing the channel and actions needed for authorization\n *\n * @returns {Promise}\n * @fulfill\n * @reject {error} The error event from the WebSocket or the error message from the message bus\n *\n * @example\n * contxtSdk.bus.connect('4f0e51c6-728b-4892-9863-6d002e61204d')\n * .then((webSocket) => {\n * webSocket.authorize(token).then(() => {\n * console.log(\"authorization successful\")\n * })\n * .catch((authError) => {\n * console.log(authError)\n * });\n * })\n * });\n */\n authorize(token) {\n if (!token) {\n return Promise.reject(new Error('A token is required for authorization'));\n }\n\n if (!this._isConnected()) {\n return Promise.reject(new Error('WebSocket connection not open'));\n }\n\n return this._registerSingleMessageHandler('Authorize', { token });\n }\n\n /**\n * Closes the websocket connection\n *\n * @example\n * contxtSdk.bus.connect('4f0e51c6-728b-4892-9863-6d002e61204d')\n * .then((webSocket) => {\n * webSocket.close()\n * })\n * .catch((errorEvent) => {\n * console.log(errorEvent);\n * });\n */\n close() {\n this._webSocket.close();\n }\n\n /**\n * Handles WebSocket errors.\n * The `ws` library also closes the socket when an error occurs.\n * Since the socket connection closes, the jsonRpcId and message handlers are cleared\n *\n * @param {WebSocketError} error The error event thrown\n *\n * @private\n */\n _onError = (error) => {\n this._messageHandlers = {};\n\n console.log('Message Bus WebSocket Error: ', error);\n };\n\n /**\n * Handles messages sent from the Message Bus WebSocket connection.\n *\n * @param {WebSocketMessage} message The message event recieved over the WebSocket connection\n *\n * @private\n */\n _onMessage = (message) => {\n let messageData;\n\n try {\n messageData = JSON.parse(message.data);\n } catch (err) {\n throw new Error('Invalid JSON in message');\n }\n\n if (this._messageHandlers[messageData.id]) {\n this._messageHandlers[messageData.id](messageData);\n }\n };\n\n /**\n * Publishes a message to a specific channel on the message bus\n *\n * @param {string} serviceClientId Client ID of the message bus service\n * @param {string} channel Message bus channel the message is being sent to\n * @param {Any} message Message being sent to the message bus. Must be valid JSON.\n *\n * @returns {Promise}\n * @fulfill\n * @reject {error} The error event from the WebSocket or the error message from the message bus\n *\n * @example\n * contxtSdk.bus.connect('4f0e51c6-728b-4892-9863-6d002e61204d')\n * .then((webSocket) => {\n * webSocket.publish('GCXd2bwE9fgvqxygrx2J7TkDJ3ef', 'feed:1', {\"example\": 1}).then(() => {\n * console.log(\"publish successful\")\n * })\n * .catch((error) => {\n * console.log(error)\n * });\n * });\n */\n publish(serviceClientId, channel, message) {\n if (!serviceClientId) {\n return Promise.reject(\n new Error('A service client id is required for publishing')\n );\n }\n\n if (!channel) {\n return Promise.reject(new Error('A channel is required for publishing'));\n }\n\n if (!message) {\n return Promise.reject(new Error('A message is required for publishing'));\n }\n\n if (!this._isConnected()) {\n return Promise.reject(new Error('WebSocket connection not open'));\n }\n\n return this._registerSingleMessageHandler('Publish', {\n service_id: serviceClientId,\n channel,\n message\n });\n }\n\n /**\n * Subscribes to a specific channel on the message bus and handles messages as they are received. When the handler is\n * called, the message is automatically acknowledged after the message completes except whenever an Error is thrown.\n * The user can also programmatically control when the message is acknowledged by calling `ack` at any time.\n *\n * @param {string} serviceClientId Client ID of the message bus service\n * @param {string} channel Message bus channel the message is being sent to\n * @param {string} [group] A unique identifier for the subscriber that can be shared between connections\n * @param {function} handler A function that gets invoked with every received message\n * @param {function} errorHandler A function that gets invoked with every error\n *\n * @example\n * contxtSdk.bus.connect('4f0e51c6-728b-4892-9863-6d002e61204d')\n * .then((webSocket) => {\n * webSocket.subscribe('GCXd2bwE9fgvqxygrx2J7TkDJ3ef', 'feed:1', 'test-sub', (message) => {\n * console.log('Message received: ', message);\n * }, (error) => {\n * console.log('Error received: ', error);\n * });\n * });\n *\n * @example\n * contxtSdk.bus.connect('4f0e51c6-728b-4892-9863-6d002e61204d')\n * .then((webSocket) => {\n * webSocket.subscribe('GCXd2bwE9fgvqxygrx2J7TkDJ3ef', 'feed:1', 'test-sub', (message, ack) => {\n * console.log('Message received: ', message);\n *\n * ack();\n * }, (error) => {\n * console.log('Error received: ', error);\n * });\n * });\n *\n * @example\n * contxtSdk.bus.connect('4f0e51c6-728b-4892-9863-6d002e61204d')\n * .then((webSocket) => {\n * webSocket.subscribe('GCXd2bwE9fgvqxygrx2J7TkDJ3ef', 'feed:1', (message) => {\n * return db.save(message);\n * }, (error) => {\n * console.log('Error received: ', error);\n * });\n * });\n *\n * @example\n * contxtSdk.bus.connect('4f0e51c6-728b-4892-9863-6d002e61204d')\n * .then((webSocket) => {\n * webSocket.subscribe('GCXd2bwE9fgvqxygrx2J7TkDJ3ef', 'feed:1', (message, ack) => {\n * return db.save(message)\n * .then(ack)\n * .then(() => {\n * // additional processing\n * });\n * }, (error) => {\n * console.log('Error received: ', error);\n * });\n * });\n */\n subscribe(serviceClientId, channel, group, handler, errorHandler) {\n if (typeof group === 'function') {\n errorHandler = handler;\n handler = group;\n group = null;\n }\n\n if (!serviceClientId) {\n return Promise.reject(\n new Error('A service client id is required for subscribing')\n );\n }\n\n if (!channel) {\n return Promise.reject(new Error('A channel is required for subscribing'));\n }\n\n if (!handler) {\n return Promise.reject(\n new Error('A message handler is required for subscribing')\n );\n }\n\n if (!errorHandler) {\n return Promise.reject(\n new Error('An error handler is required for subscribing')\n );\n }\n\n if (!this._isConnected()) {\n return Promise.reject(new Error('WebSocket connection not open'));\n }\n\n const params = {\n service_id: serviceClientId,\n channel\n };\n\n if (group) {\n params.group = group;\n }\n\n return this._registerSingleMessageHandler('Subscribe', params).then(\n (result) => {\n this._messageHandlers[result.subscription] = (subscriptionMessage) => {\n return new Promise((resolve, reject) => {\n const error = subscriptionMessage.error;\n const result = subscriptionMessage.result;\n\n if (error) {\n return resolve(errorHandler(error));\n }\n\n try {\n const ack = once(() => {\n return this._acknowledge(result.id);\n });\n\n return resolve(\n Promise.resolve(handler(result.body, ack)).then((res) => {\n if (this._autoAck) {\n return ack().then(() => res);\n }\n\n return res;\n })\n );\n } catch (throwable) {\n return reject(throwable);\n }\n });\n };\n\n return result;\n }\n );\n }\n\n /**\n * Acknowledges a Message ID has been received and processed\n *\n * @returns {Promise}\n * @param acknowledgedMessageId {string} The Message ID that has been received\n * @fulfill\n * @reject {error} The error event from the WebSocket or the error message from the message bus\n *\n * @private\n */\n _acknowledge(acknowledgedMessageId) {\n if (!this._isConnected()) {\n return Promise.reject(new Error('WebSocket connection not open'));\n }\n\n return this._registerSingleMessageHandler('Acknowledge', {\n message_id: acknowledgedMessageId\n });\n }\n\n /**\n * Registers a JSON RPC message handler that expects only one response.\n *\n * @returns {Promise}\n * @fulfill\n * @reject {error} The error event from the WebSocket or the error message from the message bus\n *\n * @private\n */\n _registerSingleMessageHandler(method, params) {\n return new Promise((resolve, reject) => {\n const messageId = uuid();\n\n this._messageHandlers[messageId] = (message) => {\n const error = message.error;\n delete this._messageHandlers[messageId];\n\n if (error) {\n return reject(error);\n }\n\n return resolve(message.result);\n };\n\n this._webSocket.send(\n JSON.stringify({\n jsonrpc: '2.0',\n method: `MessageBus.${method}`,\n params,\n id: messageId\n })\n );\n });\n }\n\n /**\n * Checks whether the current WebSocket is connected to the Message Bus service.\n *\n * @returns {boolean} Whether the WebSocket is connected to the Message Bus service\n *\n * @private\n */\n _isConnected() {\n return (\n this._webSocket && this._webSocket.readyState === this._webSocket.OPEN\n );\n }\n}\n\nexport default WebSocketConnection;\n"],"mappings":";;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA+B,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,eAAA;EAAA,IAAAC,IAAA;EAAA,IAAAC,IAAA;EAAA,IAAAC,MAAA,OAAAC,QAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,YAAA;IAAAL,IAAA;IAAAM,YAAA;MAAA;QAAAC,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MA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","ignoreList":[]}
1
+ {"version":3,"file":"webSocketConnection.js","names":["_uuid","require","_lodash","_interopRequireDefault","e","__esModule","default","cov_2fh0o593ie","path","hash","global","Function","gcv","coverageData","statementMap","start","line","column","end","fnMap","name","decl","loc","branchMap","type","locations","undefined","s","f","b","_coverageSchema","coverage","actualCoverage","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","WebSocketConnection","constructor","webSocket","organizationId","autoAcknowledge","error","_messageHandlers","console","log","message","messageData","JSON","parse","data","err","Error","id","_organizationId","_webSocket","_autoAck","addEventListener","_onError","onmessage","_onMessage","authorize","token","Promise","reject","_isConnected","_registerSingleMessageHandler","close","publish","serviceClientId","channel","service_id","subscribe","group","handler","errorHandler","params","then","result","subscription","subscriptionMessage","resolve","ack","once","_acknowledge","body","res","throwable","acknowledgedMessageId","message_id","method","messageId","uuid","send","stringify","jsonrpc","readyState","OPEN","_default","exports"],"sources":["bus/webSocketConnection.js"],"sourcesContent":["import { v4 as uuid } from 'uuid';\nimport once from 'lodash.once';\n\n/**\n * The WebSocket Error Event\n *\n * @typedef {Object} WebSocketError\n * @property {string} type The event type\n */\n\n/**\n * The WebSocket Message Event\n *\n * @typedef {Object} WebSocketMessage\n * @property {Object} data The data sent by the message emitter\n * @property {string} origin A USVString representing the origin of the message emitter\n * @property {string} lastEventId A DOMString representing a unique ID for the event\n * @property {Object} source A MessageEventSource (which can be a WindowProxy, MessagePort, or ServiceWorker object) representing the message emitter\n * @property {Array} ports MessagePort objects representing the ports associated with the channel the message is being sent through (where appropriate, e.g. in channel messaging or when sending a message to a shared worker)\n */\n\n/**\n * Module that wraps the websocket connection to the message bus to provide the\n * developer with a specific set of functionality. This is for Node\n * environments. Documentation for browser environments is found under\n * `BrowserWebSocketConnection`.\n */\nclass WebSocketConnection {\n /**\n * @param {WebSocket} webSocket A WebSocket connection to the message bus\n * @param {string} organizationId UUID corresponding with an organization\n * @param {boolean} autoAcknowledge Whether the messages should be ACK'd explicitly or not\n */\n constructor(webSocket, organizationId, autoAcknowledge = true) {\n this._messageHandlers = {};\n this._organizationId = organizationId;\n this._webSocket = webSocket;\n this._autoAck = autoAcknowledge;\n\n if (this._webSocket) {\n this._webSocket.addEventListener(\"error\", this._onError);\n this._webSocket.onmessage = this._onMessage;\n }\n }\n\n /**\n * Sends a message to the message bus to authorize a channel\n *\n * @param {string} token JSON Web Signature containing the channel and actions needed for authorization\n *\n * @returns {Promise}\n * @fulfill\n * @reject {error} The error event from the WebSocket or the error message from the message bus\n *\n * @example\n * contxtSdk.bus.connect('4f0e51c6-728b-4892-9863-6d002e61204d')\n * .then((webSocket) => {\n * webSocket.authorize(token).then(() => {\n * console.log(\"authorization successful\")\n * })\n * .catch((authError) => {\n * console.log(authError)\n * });\n * })\n * });\n */\n authorize(token) {\n if (!token) {\n return Promise.reject(new Error('A token is required for authorization'));\n }\n\n if (!this._isConnected()) {\n return Promise.reject(new Error('WebSocket connection not open'));\n }\n\n return this._registerSingleMessageHandler('Authorize', { token });\n }\n\n /**\n * Closes the websocket connection\n *\n * @example\n * contxtSdk.bus.connect('4f0e51c6-728b-4892-9863-6d002e61204d')\n * .then((webSocket) => {\n * webSocket.close()\n * })\n * .catch((errorEvent) => {\n * console.log(errorEvent);\n * });\n */\n close() {\n this._webSocket.close();\n }\n\n /**\n * Handles WebSocket errors.\n * The `ws` library also closes the socket when an error occurs.\n * Since the socket connection closes, the jsonRpcId and message handlers are cleared\n *\n * @param {WebSocketError} error The error event thrown\n *\n * @private\n */\n _onError = (error) => {\n this._messageHandlers = {};\n\n console.log('Message Bus WebSocket Error: ', error);\n };\n\n /**\n * Handles messages sent from the Message Bus WebSocket connection.\n *\n * @param {WebSocketMessage} message The message event recieved over the WebSocket connection\n *\n * @private\n */\n _onMessage = (message) => {\n let messageData;\n\n try {\n messageData = JSON.parse(message.data);\n } catch (err) {\n throw new Error('Invalid JSON in message');\n }\n\n if (this._messageHandlers[messageData.id]) {\n this._messageHandlers[messageData.id](messageData);\n }\n };\n\n /**\n * Publishes a message to a specific channel on the message bus\n *\n * @param {string} serviceClientId Client ID of the message bus service\n * @param {string} channel Message bus channel the message is being sent to\n * @param {Any} message Message being sent to the message bus. Must be valid JSON.\n *\n * @returns {Promise}\n * @fulfill\n * @reject {error} The error event from the WebSocket or the error message from the message bus\n *\n * @example\n * contxtSdk.bus.connect('4f0e51c6-728b-4892-9863-6d002e61204d')\n * .then((webSocket) => {\n * webSocket.publish('GCXd2bwE9fgvqxygrx2J7TkDJ3ef', 'feed:1', {\"example\": 1}).then(() => {\n * console.log(\"publish successful\")\n * })\n * .catch((error) => {\n * console.log(error)\n * });\n * });\n */\n publish(serviceClientId, channel, message) {\n if (!serviceClientId) {\n return Promise.reject(\n new Error('A service client id is required for publishing')\n );\n }\n\n if (!channel) {\n return Promise.reject(new Error('A channel is required for publishing'));\n }\n\n if (!message) {\n return Promise.reject(new Error('A message is required for publishing'));\n }\n\n if (!this._isConnected()) {\n return Promise.reject(new Error('WebSocket connection not open'));\n }\n\n return this._registerSingleMessageHandler('Publish', {\n service_id: serviceClientId,\n channel,\n message\n });\n }\n\n /**\n * Subscribes to a specific channel on the message bus and handles messages as they are received. When the handler is\n * called, the message is automatically acknowledged after the message completes except whenever an Error is thrown.\n * The user can also programmatically control when the message is acknowledged by calling `ack` at any time.\n *\n * @param {string} serviceClientId Client ID of the message bus service\n * @param {string} channel Message bus channel the message is being sent to\n * @param {string} [group] A unique identifier for the subscriber that can be shared between connections\n * @param {function} handler A function that gets invoked with every received message\n * @param {function} errorHandler A function that gets invoked with every error\n *\n * @example\n * contxtSdk.bus.connect('4f0e51c6-728b-4892-9863-6d002e61204d')\n * .then((webSocket) => {\n * webSocket.subscribe('GCXd2bwE9fgvqxygrx2J7TkDJ3ef', 'feed:1', 'test-sub', (message) => {\n * console.log('Message received: ', message);\n * }, (error) => {\n * console.log('Error received: ', error);\n * });\n * });\n *\n * @example\n * contxtSdk.bus.connect('4f0e51c6-728b-4892-9863-6d002e61204d')\n * .then((webSocket) => {\n * webSocket.subscribe('GCXd2bwE9fgvqxygrx2J7TkDJ3ef', 'feed:1', 'test-sub', (message, ack) => {\n * console.log('Message received: ', message);\n *\n * ack();\n * }, (error) => {\n * console.log('Error received: ', error);\n * });\n * });\n *\n * @example\n * contxtSdk.bus.connect('4f0e51c6-728b-4892-9863-6d002e61204d')\n * .then((webSocket) => {\n * webSocket.subscribe('GCXd2bwE9fgvqxygrx2J7TkDJ3ef', 'feed:1', (message) => {\n * return db.save(message);\n * }, (error) => {\n * console.log('Error received: ', error);\n * });\n * });\n *\n * @example\n * contxtSdk.bus.connect('4f0e51c6-728b-4892-9863-6d002e61204d')\n * .then((webSocket) => {\n * webSocket.subscribe('GCXd2bwE9fgvqxygrx2J7TkDJ3ef', 'feed:1', (message, ack) => {\n * return db.save(message)\n * .then(ack)\n * .then(() => {\n * // additional processing\n * });\n * }, (error) => {\n * console.log('Error received: ', error);\n * });\n * });\n */\n subscribe(serviceClientId, channel, group, handler, errorHandler) {\n if (typeof group === 'function') {\n errorHandler = handler;\n handler = group;\n group = null;\n }\n\n if (!serviceClientId) {\n return Promise.reject(\n new Error('A service client id is required for subscribing')\n );\n }\n\n if (!channel) {\n return Promise.reject(new Error('A channel is required for subscribing'));\n }\n\n if (!handler) {\n return Promise.reject(\n new Error('A message handler is required for subscribing')\n );\n }\n\n if (!errorHandler) {\n return Promise.reject(\n new Error('An error handler is required for subscribing')\n );\n }\n\n if (!this._isConnected()) {\n return Promise.reject(new Error('WebSocket connection not open'));\n }\n\n const params = {\n service_id: serviceClientId,\n channel\n };\n\n if (group) {\n params.group = group;\n }\n\n return this._registerSingleMessageHandler('Subscribe', params).then(\n (result) => {\n this._messageHandlers[result.subscription] = (subscriptionMessage) => {\n return new Promise((resolve, reject) => {\n const error = subscriptionMessage.error;\n const result = subscriptionMessage.result;\n\n if (error) {\n return resolve(errorHandler(error));\n }\n\n try {\n const ack = once(() => {\n return this._acknowledge(result.id);\n });\n\n return resolve(\n Promise.resolve(handler(result.body, ack)).then((res) => {\n if (this._autoAck) {\n return ack().then(() => res);\n }\n\n return res;\n })\n );\n } catch (throwable) {\n return reject(throwable);\n }\n });\n };\n\n return result;\n }\n );\n }\n\n /**\n * Acknowledges a Message ID has been received and processed\n *\n * @returns {Promise}\n * @param acknowledgedMessageId {string} The Message ID that has been received\n * @fulfill\n * @reject {error} The error event from the WebSocket or the error message from the message bus\n *\n * @private\n */\n _acknowledge(acknowledgedMessageId) {\n if (!this._isConnected()) {\n return Promise.reject(new Error('WebSocket connection not open'));\n }\n\n return this._registerSingleMessageHandler('Acknowledge', {\n message_id: acknowledgedMessageId\n });\n }\n\n /**\n * Registers a JSON RPC message handler that expects only one response.\n *\n * @returns {Promise}\n * @fulfill\n * @reject {error} The error event from the WebSocket or the error message from the message bus\n *\n * @private\n */\n _registerSingleMessageHandler(method, params) {\n return new Promise((resolve, reject) => {\n const messageId = uuid();\n\n this._messageHandlers[messageId] = (message) => {\n const error = message.error;\n delete this._messageHandlers[messageId];\n\n if (error) {\n return reject(error);\n }\n\n return resolve(message.result);\n };\n\n this._webSocket.send(\n JSON.stringify({\n jsonrpc: '2.0',\n method: `MessageBus.${method}`,\n params,\n id: messageId\n })\n );\n });\n }\n\n /**\n * Checks whether the current WebSocket is connected to the Message Bus service.\n *\n * @returns {boolean} Whether the WebSocket is connected to the Message Bus service\n *\n * @private\n */\n _isConnected() {\n return (\n this._webSocket && this._webSocket.readyState === this._webSocket.OPEN\n );\n }\n}\n\nexport default WebSocketConnection;\n"],"mappings":";;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA+B,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,eAAA;EAAA,IAAAC,IAAA;EAAA,IAAAC,IAAA;EAAA,IAAAC,MAAA,OAAAC,QAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,YAAA;IAAAL,IAAA;IAAAM,YAAA;MAAA;QAAAC,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MA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","ignoreList":[]}
@@ -1514,9 +1514,10 @@ class Config {
1514
1514
  cov_1n1bb4mnsz().s[6]++;
1515
1515
  this.bus = _objectSpread(_objectSpread({}, _defaults.default.bus), userConfig.bus);
1516
1516
  }
1517
- addDynamicAudience(audienceName, _ref) {
1518
- let clientId = _ref.clientId,
1519
- host = _ref.host;
1517
+ addDynamicAudience(audienceName, {
1518
+ clientId,
1519
+ host
1520
+ }) {
1520
1521
  cov_1n1bb4mnsz().f[1]++;
1521
1522
  cov_1n1bb4mnsz().s[7]++;
1522
1523
  if ((cov_1n1bb4mnsz().b[1][0]++, !clientId) || (cov_1n1bb4mnsz().b[1][1]++, !host)) {
@@ -1633,16 +1634,15 @@ class Config {
1633
1634
  *
1634
1635
  * @private
1635
1636
  */
1636
- _getAudiences() {
1637
- let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (cov_1n1bb4mnsz().b[9][0]++, {});
1637
+ _getAudiences(options = (cov_1n1bb4mnsz().b[9][0]++, {})) {
1638
1638
  cov_1n1bb4mnsz().f[5]++;
1639
- const _ref2 = (cov_1n1bb4mnsz().s[29]++, options),
1640
- _ref2$customModuleCon = _ref2.customModuleConfigs,
1641
- customModuleConfigs = _ref2$customModuleCon === void 0 ? (cov_1n1bb4mnsz().b[10][0]++, {}) : _ref2$customModuleCon,
1642
- _ref2$env = _ref2.env,
1643
- env = _ref2$env === void 0 ? (cov_1n1bb4mnsz().b[11][0]++, 'production') : _ref2$env,
1644
- _ref2$externalModules = _ref2.externalModules,
1645
- externalModules = _ref2$externalModules === void 0 ? (cov_1n1bb4mnsz().b[12][0]++, {}) : _ref2$externalModules;
1639
+ const _ref = (cov_1n1bb4mnsz().s[29]++, options),
1640
+ _ref$customModuleConf = _ref.customModuleConfigs,
1641
+ customModuleConfigs = _ref$customModuleConf === void 0 ? (cov_1n1bb4mnsz().b[10][0]++, {}) : _ref$customModuleConf,
1642
+ _ref$env = _ref.env,
1643
+ env = _ref$env === void 0 ? (cov_1n1bb4mnsz().b[11][0]++, 'production') : _ref$env,
1644
+ _ref$externalModules = _ref.externalModules,
1645
+ externalModules = _ref$externalModules === void 0 ? (cov_1n1bb4mnsz().b[12][0]++, {}) : _ref$externalModules;
1646
1646
  cov_1n1bb4mnsz().s[30]++;
1647
1647
  return _objectSpread(_objectSpread({}, this._getInternalAudiences({
1648
1648
  customModuleConfigs,
@@ -1665,8 +1665,9 @@ class Config {
1665
1665
  *
1666
1666
  * @private
1667
1667
  */
1668
- _getExternalAudiences(_ref3) {
1669
- let externalModules = _ref3.externalModules;
1668
+ _getExternalAudiences({
1669
+ externalModules
1670
+ }) {
1670
1671
  cov_1n1bb4mnsz().f[6]++;
1671
1672
  cov_1n1bb4mnsz().s[31]++;
1672
1673
  return Object.keys(externalModules).reduce((memo, key) => {
@@ -1707,10 +1708,11 @@ class Config {
1707
1708
  *
1708
1709
  * @private
1709
1710
  */
1710
- _getInternalAudiences(_ref4) {
1711
- let audiences = _ref4.audiences,
1712
- customModuleConfigs = _ref4.customModuleConfigs,
1713
- env = _ref4.env;
1711
+ _getInternalAudiences({
1712
+ audiences,
1713
+ customModuleConfigs,
1714
+ env
1715
+ }) {
1714
1716
  cov_1n1bb4mnsz().f[8]++;
1715
1717
  cov_1n1bb4mnsz().s[40]++;
1716
1718
  return Object.keys(audiences).reduce((memo, key) => {