@ndustrial/contxt-sdk 5.6.1 → 5.6.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.
- package/esm/bus/channels.js +1 -2
- package/esm/bus/channels.js.map +1 -1
- package/esm/bus/webSocketConnection.js +1 -2
- package/esm/bus/webSocketConnection.js.map +1 -1
- package/esm/config/index.js +20 -18
- package/esm/config/index.js.map +1 -1
- package/esm/coordinator/applications.js +2 -2
- package/esm/coordinator/applications.js.map +1 -1
- package/esm/coordinator/consent.js +1 -2
- package/esm/coordinator/consent.js.map +1 -1
- package/esm/coordinator/edgeNodes.js +1 -2
- package/esm/coordinator/edgeNodes.js.map +1 -1
- package/esm/coordinator/organizations.js +2 -2
- package/esm/coordinator/organizations.js.map +1 -1
- package/esm/coordinator/permissions.js +1 -2
- package/esm/coordinator/permissions.js.map +1 -1
- package/esm/coordinator/roles.js +2 -4
- package/esm/coordinator/roles.js.map +1 -1
- package/esm/coordinator/users.js +57 -96
- package/esm/coordinator/users.js.map +1 -1
- package/esm/events/index.js +5 -10
- package/esm/events/index.js.map +1 -1
- package/esm/files/index.js +9 -9
- package/esm/files/index.js.map +1 -1
- package/esm/index.js +14 -15
- package/esm/index.js.map +1 -1
- package/esm/nionic/index.js +13 -16
- package/esm/nionic/index.js.map +1 -1
- package/esm/request.js +40 -30
- package/esm/request.js.map +1 -1
- package/esm/sessionTypes/auth0WebAuth.js +9 -9
- package/esm/sessionTypes/auth0WebAuth.js.map +1 -1
- package/esm/sessionTypes/index.js +3 -12
- package/esm/sessionTypes/index.js.map +1 -1
- package/esm/sessionTypes/machineAuth.js +3 -2
- package/esm/sessionTypes/machineAuth.js.map +1 -1
- package/esm/utils/events/formatEventUpdateToServer.js +1 -2
- package/esm/utils/events/formatEventUpdateToServer.js.map +1 -1
- package/esm/utils/iot/formatOutputFieldDataFromServer.js +1 -2
- package/esm/utils/iot/formatOutputFieldDataFromServer.js.map +1 -1
- package/esm/utils/iot/parseOutputFieldNextPageUrlMetadata.js +2 -0
- package/esm/utils/iot/parseOutputFieldNextPageUrlMetadata.js.map +1 -1
- package/esm/utils/objects/createCaseChangeFn.js +2 -4
- package/esm/utils/objects/createCaseChangeFn.js.map +1 -1
- package/esm/utils/pagination/formatPaginatedDataFromServer.js +2 -3
- package/esm/utils/pagination/formatPaginatedDataFromServer.js.map +1 -1
- package/esm/utils/url/stringifyParams.js +2 -2
- package/esm/utils/url/stringifyParams.js.map +1 -1
- package/lib/bus/channels.js +1 -2
- package/lib/bus/channels.js.map +1 -1
- package/lib/bus/webSocketConnection.js +1 -2
- package/lib/bus/webSocketConnection.js.map +1 -1
- package/lib/config/index.js +20 -18
- package/lib/config/index.js.map +1 -1
- package/lib/coordinator/applications.js +2 -2
- package/lib/coordinator/applications.js.map +1 -1
- package/lib/coordinator/consent.js +1 -2
- package/lib/coordinator/consent.js.map +1 -1
- package/lib/coordinator/edgeNodes.js +1 -2
- package/lib/coordinator/edgeNodes.js.map +1 -1
- package/lib/coordinator/organizations.js +2 -2
- package/lib/coordinator/organizations.js.map +1 -1
- package/lib/coordinator/permissions.js +1 -2
- package/lib/coordinator/permissions.js.map +1 -1
- package/lib/coordinator/roles.js +2 -4
- package/lib/coordinator/roles.js.map +1 -1
- package/lib/coordinator/users.js +57 -96
- package/lib/coordinator/users.js.map +1 -1
- package/lib/events/index.js +5 -10
- package/lib/events/index.js.map +1 -1
- package/lib/files/index.js +9 -9
- package/lib/files/index.js.map +1 -1
- package/lib/index.js +14 -15
- package/lib/index.js.map +1 -1
- package/lib/nionic/index.js +13 -16
- package/lib/nionic/index.js.map +1 -1
- package/lib/request.js +40 -30
- package/lib/request.js.map +1 -1
- package/lib/sessionTypes/auth0WebAuth.js +9 -9
- package/lib/sessionTypes/auth0WebAuth.js.map +1 -1
- package/lib/sessionTypes/index.js +3 -12
- package/lib/sessionTypes/index.js.map +1 -1
- package/lib/sessionTypes/machineAuth.js +3 -2
- package/lib/sessionTypes/machineAuth.js.map +1 -1
- package/lib/utils/events/formatEventUpdateToServer.js +1 -2
- package/lib/utils/events/formatEventUpdateToServer.js.map +1 -1
- package/lib/utils/iot/formatOutputFieldDataFromServer.js +1 -2
- package/lib/utils/iot/formatOutputFieldDataFromServer.js.map +1 -1
- package/lib/utils/iot/parseOutputFieldNextPageUrlMetadata.js +2 -0
- package/lib/utils/iot/parseOutputFieldNextPageUrlMetadata.js.map +1 -1
- package/lib/utils/objects/createCaseChangeFn.js +2 -4
- package/lib/utils/objects/createCaseChangeFn.js.map +1 -1
- package/lib/utils/pagination/formatPaginatedDataFromServer.js +2 -3
- package/lib/utils/pagination/formatPaginatedDataFromServer.js.map +1 -1
- package/lib/utils/url/stringifyParams.js +2 -2
- package/lib/utils/url/stringifyParams.js.map +1 -1
- package/package.json +6 -6
- package/src/coordinator/users.js +1 -1
package/lib/bus/channels.js.map
CHANGED
|
@@ -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,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;IAAA;IAAAE,KAAA;MAAA;QAAAC,IAAA;QAAAC,IAAA;UAAAN,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAK,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAD,IAAA;MAAA;MAAA;QAAAI,IAAA;QAAAC,IAAA;UAAAN,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAK,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAD,IAAA;MAAA;MAAA;QAAAI,IAAA;QAAAC,IAAA;UAAAN,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAK,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAD,IAAA;MAAA;MAAA;QAAAI,IAAA;QAAAC,IAAA;UAAAN,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAK,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAD,IAAA;MAAA;MAAA;QAAAI,IAAA;QAAAC,IAAA;UAAAN,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAK,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAD,IAAA;MAAA;MAAA;QAAAI,IAAA;QAAAC,IAAA;UAAAN,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAK,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAD,IAAA;MAAA;MAAA;QAAAI,IAAA;QAAAC,IAAA;UAAAN,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAK,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAD,IAAA;MAAA;MAAA;QAAAI,IAAA;QAAAC,IAAA;UAAAN,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAK,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAD,IAAA;MAAA;MAAA;QAAAI,IAAA;QAAAC,IAAA;UAAAN,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAK,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAD,IAAA;MAAA;MAAA;QAAAI,IAAA;QAAAC,IAAA;UAAAN,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAK,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAD,IAAA;MAAA;MAAA;QAAAI,IAAA;QAAAC,IAAA;UAAAN,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAK,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAD,IAAA;MAAA;MAAA;QAAAI,IAAA;QAAAC,IAAA;UAAAN,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAK,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAD,IAAA;MAAA;MAAA;QAAAI,IAAA;QAAAC,IAAA;UAAAN,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAK,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAD,IAAA;MAAA;MAAA;QAAAI,IAAA;QAAAC,IAAA;UAAAN,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAK,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAD,IAAA;MAAA;MAAA;QAAAI,IAAA;QAAAC,IAAA;UAAAN,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAK,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAD,IAAA;MAAA;MAAA;QAAAI,IAAA;QAAAC,IAAA;UAAAN,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAK,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAD,IAAA;MAAA;MAAA;QAAAI,IAAA;QAAAC,IAAA;UAAAN,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAK,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAD,IAAA;MAAA;MAAA;QAAAI,IAAA;QAAAC,IAAA;UAAAN,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAK,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAD,IAAA;MAAA;IAAA;IAAAO,SAAA;MAAA;QAAAD,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAO,IAAA;QAAAC,SAAA;UAAAV,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAD,IAAA;MAAA;MAAA;QAAAM,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAO,IAAA;QAAAC,SAAA;UAAAV,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;UAAAF,KAAA;YAAAC,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;UAAAR,GAAA;YAAAF,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;QAAA;QAAAV,IAAA;MAAA;MAAA;QAAAM,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAO,IAAA;QAAAC,SAAA;UAAAV,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;UAAAF,KAAA;YAAAC,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;UAAAR,GAAA;YAAAF,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;QAAA;QAAAV,IAAA;MAAA;MAAA;QAAAM,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAO,IAAA;QAAAC,SAAA;UAAAV,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;UAAAF,KAAA;YAAAC,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;UAAAR,GAAA;YAAAF,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;QAAA;QAAAV,IAAA;MAAA;MAAA;QAAAM,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAO,IAAA;QAAAC,SAAA;UAAAV,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;UAAAF,KAAA;YAAAC,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;UAAAR,GAAA;YAAAF,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;QAAA;QAAAV,IAAA;MAAA;MAAA;QAAAM,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAO,IAAA;QAAAC,SAAA;UAAAV,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;UAAAF,KAAA;YAAAC,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;UAAAR,GAAA;YAAAF,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;QAAA;QAAAV,IAAA;MAAA;MAAA;QAAAM,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAO,IAAA;QAAAC,SAAA;UAAAV,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;UAAAF,KAAA;YAAAC,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;UAAAR,GAAA;YAAAF,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;QAAA;QAAAV,IAAA;MAAA;MAAA;QAAAM,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAO,IAAA;QAAAC,SAAA;UAAAV,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;UAAAF,KAAA;YAAAC,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;UAAAR,GAAA;YAAAF,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;QAAA;QAAAV,IAAA;MAAA;MAAA;QAAAM,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAO,IAAA;QAAAC,SAAA;UAAAV,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;UAAAF,KAAA;YAAAC,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;UAAAR,GAAA;YAAAF,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;QAAA;QAAAV,IAAA;MAAA;MAAA;QAAAM,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAO,IAAA;QAAAC,SAAA;UAAAV,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;UAAAF,KAAA;YAAAC,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;UAAAR,GAAA;YAAAF,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;QAAA;QAAAV,IAAA;MAAA;MAAA;QAAAM,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAO,IAAA;QAAAC,SAAA;UAAAV,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;UAAAF,KAAA;YAAAC,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;UAAAR,GAAA;YAAAF,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;QAAA;QAAAV,IAAA;MAAA;MAAA;QAAAM,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAO,IAAA;QAAAC,SAAA;UAAAV,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;UAAAF,KAAA;YAAAC,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;UAAAR,GAAA;YAAAF,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;QAAA;QAAAV,IAAA;MAAA;MAAA;QAAAM,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAO,IAAA;QAAAC,SAAA;UAAAV,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;UAAAF,KAAA;YAAAC,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;UAAAR,GAAA;YAAAF,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;QAAA;QAAAV,IAAA;MAAA;MAAA;QAAAM,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAO,IAAA;QAAAC,SAAA;UAAAV,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;UAAAF,KAAA;YAAAC,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;UAAAR,GAAA;YAAAF,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;QAAA;QAAAV,IAAA;MAAA;MAAA;QAAAM,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAO,IAAA;QAAAC,SAAA;UAAAV,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;UAAAF,KAAA;YAAAC,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;UAAAR,GAAA;YAAAF,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;QAAA;QAAAV,IAAA;MAAA;MAAA;QAAAM,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAO,IAAA;QAAAC,SAAA;UAAAV,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;UAAAF,KAAA;YAAAC,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;UAAAR,GAAA;YAAAF,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;QAAA;QAAAV,IAAA;MAAA;MAAA;QAAAM,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAO,IAAA;QAAAC,SAAA;UAAAV,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;UAAAF,KAAA;YAAAC,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;UAAAR,GAAA;YAAAF,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;QAAA;QAAAV,IAAA;MAAA;MAAA;QAAAM,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAO,IAAA;QAAAC,SAAA;UAAAV,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;UAAAF,KAAA;YAAAC,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;UAAAR,GAAA;YAAAF,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;QAAA;QAAAV,IAAA;MAAA;MAAA;QAAAM,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAO,IAAA;QAAAC,SAAA;UAAAV,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;UAAAF,KAAA;YAAAC,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;UAAAR,GAAA;YAAAF,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;QAAA;QAAAV,IAAA;MAAA;MAAA;QAAAM,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAO,IAAA;QAAAC,SAAA;UAAAV,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;UAAAF,KAAA;YAAAC,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;UAAAR,GAAA;YAAAF,IAAA,EAAAU,SAAA;YAAAT,MAAA,EAAAS;UAAA;QAAA;QAAAV,IAAA;MAAA;MAAA;QAAAM,GAAA;UAAAP,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAO,IAAA;QAAAC,SAAA;UAAAV,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;UAAAF,KAAA;YAAAC,IAAA;YAAAC,MAAA;UAAA;UAAAC,GAAA;YAAAF,IAAA;YAAAC,MAAA;UAAA;QAAA;QAAAD,IAAA;MAAA;IAAA;IAAAW,CAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;IAAA;IAAAC,CAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;IAAA;IAAAC,CAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;IAAA;IAAAC,eAAA;IAAArB,IAAA;EAAA;EAAA,IAAAsB,QAAA,GAAArB,MAAA,CAAAE,GAAA,MAAAF,MAAA,CAAAE,GAAA;EAAA,KAAAmB,QAAA,CAAAvB,IAAA,KAAAuB,QAAA,CAAAvB,IAAA,EAAAC,IAAA,KAAAA,IAAA;IAAAsB,QAAA,CAAAvB,IAAA,IAAAK,YAAA;EAAA;EAAA,IAAAmB,cAAA,GAAAD,QAAA,CAAAvB,IAAA;EAAA;IAcnB;IAAAD,cAAA,YAAAA,CAAA;MAAA,OAAAyB,cAAA;IAAA;EAAA;EAAA,OAAAA,cAAA;AAAA;AAAAzB,cAAA;AAAA,SAAA0B,gBAAA7B,CAAA,EAAA8B,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAA9B,CAAA,GAAAiC,MAAA,CAAAC,cAAA,CAAAlC,CAAA,EAAA8B,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAtC,CAAA,CAAA8B,CAAA,IAAAC,CAAA,EAAA/B,CAAA;AAAA,SAAAgC,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAA/B,CAAA,GAAA+B,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAA1C,CAAA,QAAAuC,CAAA,GAAAvC,CAAA,CAAA2C,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAZZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMgB,mBAAmB,CAAC;EACxB;AACF;AACA;AACA;AACA;EACEC,WAAWA,CAACC,SAAS,EAAEC,cAAc,EAA0B;IAAA,IAAxBC,eAAe,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA9B,SAAA,GAAA8B,SAAA,OAAAjD,cAAA,GAAAsB,CAAA,UAAG,IAAI;IA6D7D;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IAREI,eAAA,oBAAA1B,cAAA,GAAAoB,CAAA,QASY+B,KAAK,IAAK;MAAAnD,cAAA,GAAAqB,CAAA;MAAArB,cAAA,GAAAoB,CAAA;MACpB,IAAI,CAACgC,gBAAgB,GAAG,CAAC,CAAC;MAACpD,cAAA,GAAAoB,CAAA;MAE3BiC,OAAO,CAACC,GAAG,CAAC,+BAA+B,EAAEH,KAAK,CAAC;IACrD,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;IANEzB,eAAA,sBAAA1B,cAAA,GAAAoB,CAAA,QAOcmC,OAAO,IAAK;MAAAvD,cAAA,GAAAqB,CAAA;MACxB,IAAImC,WAAW;MAACxD,cAAA,GAAAoB,CAAA;MAEhB,IAAI;QAAApB,cAAA,GAAAoB,CAAA;QACFoC,WAAW,GAAGC,IAAI,CAACC,KAAK,CAACH,OAAO,CAACI,IAAI,CAAC;MACxC,CAAC,CAAC,OAAOC,GAAG,EAAE;QAAA5D,cAAA,GAAAoB,CAAA;QACZ,MAAM,IAAIyC,KAAK,CAAC,yBAAyB,CAAC;MAC5C;MAAC7D,cAAA,GAAAoB,CAAA;MAED,IAAI,IAAI,CAACgC,gBAAgB,CAACI,WAAW,CAACM,EAAE,CAAC,EAAE;QAAA9D,cAAA,GAAAsB,CAAA;QAAAtB,cAAA,GAAAoB,CAAA;QACzC,IAAI,CAACgC,gBAAgB,CAACI,WAAW,CAACM,EAAE,CAAC,CAACN,WAAW,CAAC;MACpD,CAAC;QAAAxD,cAAA,GAAAsB,CAAA;MAAA;IACH,CAAC;IAAAtB,cAAA,GAAAqB,CAAA;IAAArB,cAAA,GAAAoB,CAAA;IA9FC,IAAI,CAACgC,gBAAgB,GAAG,CAAC,CAAC;IAACpD,cAAA,GAAAoB,CAAA;IAC3B,IAAI,CAAC2C,eAAe,GAAGhB,cAAc;IAAC/C,cAAA,GAAAoB,CAAA;IACtC,IAAI,CAAC4C,UAAU,GAAGlB,SAAS;IAAC9C,cAAA,GAAAoB,CAAA;IAC5B,IAAI,CAAC6C,QAAQ,GAAGjB,eAAe;IAAChD,cAAA,GAAAoB,CAAA;IAEhC,IAAI,IAAI,CAAC4C,UAAU,EAAE;MAAAhE,cAAA,GAAAsB,CAAA;MAAAtB,cAAA,GAAAoB,CAAA;MACnB,IAAI,CAAC4C,UAAU,CAACE,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAACC,QAAQ,CAAC;MAACnE,cAAA,GAAAoB,CAAA;MACzD,IAAI,CAAC4C,UAAU,CAACI,SAAS,GAAG,IAAI,CAACC,UAAU;IAC7C,CAAC;MAAArE,cAAA,GAAAsB,CAAA;IAAA;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEgD,SAASA,CAACC,KAAK,EAAE;IAAAvE,cAAA,GAAAqB,CAAA;IAAArB,cAAA,GAAAoB,CAAA;IACf,IAAI,CAACmD,KAAK,EAAE;MAAAvE,cAAA,GAAAsB,CAAA;MAAAtB,cAAA,GAAAoB,CAAA;MACV,OAAOoD,OAAO,CAACC,MAAM,CAAC,IAAIZ,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3E,CAAC;MAAA7D,cAAA,GAAAsB,CAAA;IAAA;IAAAtB,cAAA,GAAAoB,CAAA;IAED,IAAI,CAAC,IAAI,CAACsD,YAAY,CAAC,CAAC,EAAE;MAAA1E,cAAA,GAAAsB,CAAA;MAAAtB,cAAA,GAAAoB,CAAA;MACxB,OAAOoD,OAAO,CAACC,MAAM,CAAC,IAAIZ,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnE,CAAC;MAAA7D,cAAA,GAAAsB,CAAA;IAAA;IAAAtB,cAAA,GAAAoB,CAAA;IAED,OAAO,IAAI,CAACuD,6BAA6B,CAAC,WAAW,EAAE;MAAEJ;IAAM,CAAC,CAAC;EACnE;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEK,KAAKA,CAAA,EAAG;IAAA5E,cAAA,GAAAqB,CAAA;IAAArB,cAAA,GAAAoB,CAAA;IACN,IAAI,CAAC4C,UAAU,CAACY,KAAK,CAAC,CAAC;EACzB;EAsCA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,OAAOA,CAACC,eAAe,EAAEC,OAAO,EAAExB,OAAO,EAAE;IAAAvD,cAAA,GAAAqB,CAAA;IAAArB,cAAA,GAAAoB,CAAA;IACzC,IAAI,CAAC0D,eAAe,EAAE;MAAA9E,cAAA,GAAAsB,CAAA;MAAAtB,cAAA,GAAAoB,CAAA;MACpB,OAAOoD,OAAO,CAACC,MAAM,CACnB,IAAIZ,KAAK,CAAC,gDAAgD,CAC5D,CAAC;IACH,CAAC;MAAA7D,cAAA,GAAAsB,CAAA;IAAA;IAAAtB,cAAA,GAAAoB,CAAA;IAED,IAAI,CAAC2D,OAAO,EAAE;MAAA/E,cAAA,GAAAsB,CAAA;MAAAtB,cAAA,GAAAoB,CAAA;MACZ,OAAOoD,OAAO,CAACC,MAAM,CAAC,IAAIZ,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1E,CAAC;MAAA7D,cAAA,GAAAsB,CAAA;IAAA;IAAAtB,cAAA,GAAAoB,CAAA;IAED,IAAI,CAACmC,OAAO,EAAE;MAAAvD,cAAA,GAAAsB,CAAA;MAAAtB,cAAA,GAAAoB,CAAA;MACZ,OAAOoD,OAAO,CAACC,MAAM,CAAC,IAAIZ,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1E,CAAC;MAAA7D,cAAA,GAAAsB,CAAA;IAAA;IAAAtB,cAAA,GAAAoB,CAAA;IAED,IAAI,CAAC,IAAI,CAACsD,YAAY,CAAC,CAAC,EAAE;MAAA1E,cAAA,GAAAsB,CAAA;MAAAtB,cAAA,GAAAoB,CAAA;MACxB,OAAOoD,OAAO,CAACC,MAAM,CAAC,IAAIZ,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnE,CAAC;MAAA7D,cAAA,GAAAsB,CAAA;IAAA;IAAAtB,cAAA,GAAAoB,CAAA;IAED,OAAO,IAAI,CAACuD,6BAA6B,CAAC,SAAS,EAAE;MACnDK,UAAU,EAAEF,eAAe;MAC3BC,OAAO;MACPxB;IACF,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE0B,SAASA,CAACH,eAAe,EAAEC,OAAO,EAAEG,KAAK,EAAEC,OAAO,EAAEC,YAAY,EAAE;IAAApF,cAAA,GAAAqB,CAAA;IAAArB,cAAA,GAAAoB,CAAA;IAChE,IAAI,OAAO8D,KAAK,KAAK,UAAU,EAAE;MAAAlF,cAAA,GAAAsB,CAAA;MAAAtB,cAAA,GAAAoB,CAAA;MAC/BgE,YAAY,GAAGD,OAAO;MAACnF,cAAA,GAAAoB,CAAA;MACvB+D,OAAO,GAAGD,KAAK;MAAClF,cAAA,GAAAoB,CAAA;MAChB8D,KAAK,GAAG,IAAI;IACd,CAAC;MAAAlF,cAAA,GAAAsB,CAAA;IAAA;IAAAtB,cAAA,GAAAoB,CAAA;IAED,IAAI,CAAC0D,eAAe,EAAE;MAAA9E,cAAA,GAAAsB,CAAA;MAAAtB,cAAA,GAAAoB,CAAA;MACpB,OAAOoD,OAAO,CAACC,MAAM,CACnB,IAAIZ,KAAK,CAAC,iDAAiD,CAC7D,CAAC;IACH,CAAC;MAAA7D,cAAA,GAAAsB,CAAA;IAAA;IAAAtB,cAAA,GAAAoB,CAAA;IAED,IAAI,CAAC2D,OAAO,EAAE;MAAA/E,cAAA,GAAAsB,CAAA;MAAAtB,cAAA,GAAAoB,CAAA;MACZ,OAAOoD,OAAO,CAACC,MAAM,CAAC,IAAIZ,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3E,CAAC;MAAA7D,cAAA,GAAAsB,CAAA;IAAA;IAAAtB,cAAA,GAAAoB,CAAA;IAED,IAAI,CAAC+D,OAAO,EAAE;MAAAnF,cAAA,GAAAsB,CAAA;MAAAtB,cAAA,GAAAoB,CAAA;MACZ,OAAOoD,OAAO,CAACC,MAAM,CACnB,IAAIZ,KAAK,CAAC,+CAA+C,CAC3D,CAAC;IACH,CAAC;MAAA7D,cAAA,GAAAsB,CAAA;IAAA;IAAAtB,cAAA,GAAAoB,CAAA;IAED,IAAI,CAACgE,YAAY,EAAE;MAAApF,cAAA,GAAAsB,CAAA;MAAAtB,cAAA,GAAAoB,CAAA;MACjB,OAAOoD,OAAO,CAACC,MAAM,CACnB,IAAIZ,KAAK,CAAC,8CAA8C,CAC1D,CAAC;IACH,CAAC;MAAA7D,cAAA,GAAAsB,CAAA;IAAA;IAAAtB,cAAA,GAAAoB,CAAA;IAED,IAAI,CAAC,IAAI,CAACsD,YAAY,CAAC,CAAC,EAAE;MAAA1E,cAAA,GAAAsB,CAAA;MAAAtB,cAAA,GAAAoB,CAAA;MACxB,OAAOoD,OAAO,CAACC,MAAM,CAAC,IAAIZ,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnE,CAAC;MAAA7D,cAAA,GAAAsB,CAAA;IAAA;IAED,MAAM+D,MAAM,IAAArF,cAAA,GAAAoB,CAAA,QAAG;MACb4D,UAAU,EAAEF,eAAe;MAC3BC;IACF,CAAC;IAAC/E,cAAA,GAAAoB,CAAA;IAEF,IAAI8D,KAAK,EAAE;MAAAlF,cAAA,GAAAsB,CAAA;MAAAtB,cAAA,GAAAoB,CAAA;MACTiE,MAAM,CAACH,KAAK,GAAGA,KAAK;IACtB,CAAC;MAAAlF,cAAA,GAAAsB,CAAA;IAAA;IAAAtB,cAAA,GAAAoB,CAAA;IAED,OAAO,IAAI,CAACuD,6BAA6B,CAAC,WAAW,EAAEU,MAAM,CAAC,CAACC,IAAI,CAChEC,MAAM,IAAK;MAAAvF,cAAA,GAAAqB,CAAA;MAAArB,cAAA,GAAAoB,CAAA;MACV,IAAI,CAACgC,gBAAgB,CAACmC,MAAM,CAACC,YAAY,CAAC,GAAIC,mBAAmB,IAAK;QAAAzF,cAAA,GAAAqB,CAAA;QAAArB,cAAA,GAAAoB,CAAA;QACpE,OAAO,IAAIoD,OAAO,CAAC,CAACkB,OAAO,EAAEjB,MAAM,KAAK;UAAAzE,cAAA,GAAAqB,CAAA;UACtC,MAAM8B,KAAK,IAAAnD,cAAA,GAAAoB,CAAA,QAAGqE,mBAAmB,CAACtC,KAAK;UACvC,MAAMoC,MAAM,IAAAvF,cAAA,GAAAoB,CAAA,QAAGqE,mBAAmB,CAACF,MAAM;UAACvF,cAAA,GAAAoB,CAAA;UAE1C,IAAI+B,KAAK,EAAE;YAAAnD,cAAA,GAAAsB,CAAA;YAAAtB,cAAA,GAAAoB,CAAA;YACT,OAAOsE,OAAO,CAACN,YAAY,CAACjC,KAAK,CAAC,CAAC;UACrC,CAAC;YAAAnD,cAAA,GAAAsB,CAAA;UAAA;UAAAtB,cAAA,GAAAoB,CAAA;UAED,IAAI;YACF,MAAMuE,GAAG,IAAA3F,cAAA,GAAAoB,CAAA,QAAG,IAAAwE,eAAI,EAAC,MAAM;cAAA5F,cAAA,GAAAqB,CAAA;cAAArB,cAAA,GAAAoB,CAAA;cACrB,OAAO,IAAI,CAACyE,YAAY,CAACN,MAAM,CAACzB,EAAE,CAAC;YACrC,CAAC,CAAC;YAAC9D,cAAA,GAAAoB,CAAA;YAEH,OAAOsE,OAAO,CACZlB,OAAO,CAACkB,OAAO,CAACP,OAAO,CAACI,MAAM,CAACO,IAAI,EAAEH,GAAG,CAAC,CAAC,CAACL,IAAI,CAAES,GAAG,IAAK;cAAA/F,cAAA,GAAAqB,CAAA;cAAArB,cAAA,GAAAoB,CAAA;cACvD,IAAI,IAAI,CAAC6C,QAAQ,EAAE;gBAAAjE,cAAA,GAAAsB,CAAA;gBAAAtB,cAAA,GAAAoB,CAAA;gBACjB,OAAOuE,GAAG,CAAC,CAAC,CAACL,IAAI,CAAC,MAAMS;kBAAAA,wBAAA;kBAAAA,wBAAA;kBAAAA,MAAA,CAAAA,GAAG;gBAAD,CAAC,CAAC;cAC9B,CAAC;gBAAA/F,cAAA,GAAAsB,CAAA;cAAA;cAAAtB,cAAA,GAAAoB,CAAA;cAED,OAAO2E,GAAG;YACZ,CAAC,CACH,CAAC;UACH,CAAC,CAAC,OAAOC,SAAS,EAAE;YAAAhG,cAAA,GAAAoB,CAAA;YAClB,OAAOqD,MAAM,CAACuB,SAAS,CAAC;UAC1B;QACF,CAAC,CAAC;MACJ,CAAC;MAAChG,cAAA,GAAAoB,CAAA;MAEF,OAAOmE,MAAM;IACf,CACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEM,YAAYA,CAACI,qBAAqB,EAAE;IAAAjG,cAAA,GAAAqB,CAAA;IAAArB,cAAA,GAAAoB,CAAA;IAClC,IAAI,CAAC,IAAI,CAACsD,YAAY,CAAC,CAAC,EAAE;MAAA1E,cAAA,GAAAsB,CAAA;MAAAtB,cAAA,GAAAoB,CAAA;MACxB,OAAOoD,OAAO,CAACC,MAAM,CAAC,IAAIZ,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnE,CAAC;MAAA7D,cAAA,GAAAsB,CAAA;IAAA;IAAAtB,cAAA,GAAAoB,CAAA;IAED,OAAO,IAAI,CAACuD,6BAA6B,CAAC,aAAa,EAAE;MACvDuB,UAAU,EAAED;IACd,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEtB,6BAA6BA,CAACwB,MAAM,EAAEd,MAAM,EAAE;IAAArF,cAAA,GAAAqB,CAAA;IAAArB,cAAA,GAAAoB,CAAA;IAC5C,OAAO,IAAIoD,OAAO,CAAC,CAACkB,OAAO,EAAEjB,MAAM,KAAK;MAAAzE,cAAA,GAAAqB,CAAA;MACtC,MAAM+E,SAAS,IAAApG,cAAA,GAAAoB,CAAA,QAAG,IAAAiF,QAAI,EAAC,CAAC;MAACrG,cAAA,GAAAoB,CAAA;MAEzB,IAAI,CAACgC,gBAAgB,CAACgD,SAAS,CAAC,GAAI7C,OAAO,IAAK;QAAAvD,cAAA,GAAAqB,CAAA;QAC9C,MAAM8B,KAAK,IAAAnD,cAAA,GAAAoB,CAAA,QAAGmC,OAAO,CAACJ,KAAK;QAACnD,cAAA,GAAAoB,CAAA;QAC5B,OAAO,IAAI,CAACgC,gBAAgB,CAACgD,SAAS,CAAC;QAACpG,cAAA,GAAAoB,CAAA;QAExC,IAAI+B,KAAK,EAAE;UAAAnD,cAAA,GAAAsB,CAAA;UAAAtB,cAAA,GAAAoB,CAAA;UACT,OAAOqD,MAAM,CAACtB,KAAK,CAAC;QACtB,CAAC;UAAAnD,cAAA,GAAAsB,CAAA;QAAA;QAAAtB,cAAA,GAAAoB,CAAA;QAED,OAAOsE,OAAO,CAACnC,OAAO,CAACgC,MAAM,CAAC;MAChC,CAAC;MAACvF,cAAA,GAAAoB,CAAA;MAEF,IAAI,CAAC4C,UAAU,CAACsC,IAAI,CAClB7C,IAAI,CAAC8C,SAAS,CAAC;QACbC,OAAO,EAAE,KAAK;QACdL,MAAM,EAAE,cAAcA,MAAM,EAAE;QAC9Bd,MAAM;QACNvB,EAAE,EAAEsC;MACN,CAAC,CACH,CAAC;IACH,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE1B,YAAYA,CAAA,EAAG;IAAA1E,cAAA,GAAAqB,CAAA;IAAArB,cAAA,GAAAoB,CAAA;IACb,OACE,CAAApB,cAAA,GAAAsB,CAAA,eAAI,CAAC0C,UAAU,MAAAhE,cAAA,GAAAsB,CAAA,WAAI,IAAI,CAAC0C,UAAU,CAACyC,UAAU,KAAK,IAAI,CAACzC,UAAU,CAAC0C,IAAI;EAE1E;AACF;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA7G,OAAA,GAEc6C,mBAAmB","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":[]}
|
package/lib/config/index.js
CHANGED
|
@@ -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,
|
|
1518
|
-
|
|
1519
|
-
|
|
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
|
|
1640
|
-
|
|
1641
|
-
customModuleConfigs =
|
|
1642
|
-
|
|
1643
|
-
env =
|
|
1644
|
-
|
|
1645
|
-
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(
|
|
1669
|
-
|
|
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(
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
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) => {
|
package/lib/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_audiences","_interopRequireDefault","require","_defaults","e","__esModule","default","cov_1n1bb4mnsz","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","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","Config","constructor","userConfig","externalModules","assign","_dynamicAudienceNames","_replacedAudiences","audiences","_getAudiences","customModuleConfigs","auth","env","defaultConfigs","interceptors","bus","addDynamicAudience","audienceName","_ref","clientId","host","Error","indexOf","removeDynamicAudience","_getAudienceFromCustomConfig","config","audience","webSocket","options","_ref2","_ref2$customModuleCon","_ref2$env","_ref2$externalModules","_getInternalAudiences","defaultAudiences","_getExternalAudiences","_ref3","reduce","memo","key","hasClientId","hasHost","_ref4","customModuleConfig","moduleAudiences","_default","exports"],"sources":["config/index.js"],"sourcesContent":["import defaultAudiences from './audiences';\nimport defaultConfigs from './defaults';\n\n/**\n * A single audience used for authenticating and communicating with an individual API.\n *\n * @typedef {Object} Audience\n * @param {string} config.clientId Client Id provided by Auth0 for the environment you are\n * trying to communicate with\n * @param {string} config.host Hostname for the API that corresponds with the clientId provided\n * @param {string} [config.webSocket] WebSocket URL for the API that corresponds with the clientId provided\n */\n\n/**\n * A custom audience that will override the configuration of an individual module. Consists of\n * either a reference to an environment that already exists or a clientId and host for a\n * custom environment.\n *\n * @typedef {Object} CustomAudience\n * @param {string} [config.clientId] Client Id provided by Auth0 for the environment you are\n * trying to communicate with\n * @param {string} [config.env] The SDK provided environment name you are trying to reach\n * @param {string} [config.host] Hostname for the API that corresponds with the clientId provided\n * @param {string} [config.webSocket] WebSocket URL for the API that corresponds with the clientId provided\n */\n\n/**\n * An object of audiences that corresponds to all the different environments available for a\n * single module.\n *\n * @typedef {Object.<string, Audience>} Environments\n */\n\n/**\n * An external module to be integrated into the SDK as a first class citizen. Includes information\n * for authenticating and communicating with an individual API and the external module itself.\n *\n * @typedef {Object} ExternalModule\n * @param {string} config.clientId Client Id provided by Auth0 for the environment you are\n * trying to communicate with. Can be a `null` value if the value is not needed. Some SessionType\n * adapters (currently, just the MachineAuth adapter) require a value other than `null` if the\n * built-in `request` module is used since they acquire contxt tokens based on a single clientId.\n * @param {string} config.host Hostname for the API that corresponds with the clientId provided.\n * Can be a `null` value if the value is not needed.\n * @param {function} config.module The module that will be decorated into the SDK\n */\n\n/**\n * An object of interceptors that get called on every request or response.\n * More information at {@link https://github.com/axios/axios#interceptors axios Interceptors}\n *\n * @typedef {Object} AxiosInterceptor\n * @param {function} interceptor.fulfilled A function that is run on every successful request or\n * response\n * @param {function} interceptor.rejected A function that is run on every failed request or response\n */\n\n/**\n * User provided configuration options\n *\n * @typedef {Object} UserConfig\n * @property {Object} auth User assigned configurations specific for their authentication methods\n * @property {string} [auth.authorizationPath] Path Auth0WebAuth process should redirect to after a\n * successful sign in attempt\n * @property {string} auth.clientId Client Id provided by Auth0 for this application\n * @property {string} [auth.clientSecret] Client secret provided by Auth0 for this application. This\n * is optional for the auth0WebAuth SessionType, but required for the machineAuth SessionType\n * @property {string} [auth.domain] Auth0 domain for this application. This is an optional configuration\n * that defaults to the production Auth0 tenant\n * @property {Object.<string, CustomAudience>} [auth.customModuleConfigs] Custom environment setups\n * for individual modules. Requires clientId/host or env\n * @property {string} [auth.env = 'production'] The environment that every module should use for\n * their clientId and host\n * @property {function} [auth.onAuthenticate = (auth0WebAuthSessionInfo) => handleSuccessfulAuth(auth0WebAuthSessionInfo); ] An optional\n * hook for handling a successful authentication request or overriding returned values.\n * @property {function} [auth.onRedirect = (pathname) => { window.location = pathname; }] A redirect\n * method used for navigating through Auth0 callbacks in Web applications\n * @property {number} [auth.tokenExpiresAtBufferMs = 300000] The time (in milliseconds) before a\n * token truly expires that we consider it expired (i.e. the token's expiresAt - this = calculated\n * expiresAt). Defaults to 5 minutes.\n * @property {Object} [interceptors] Axios interceptors that can transform requests and responses.\n * More information at {@link https://github.com/axios/axios#interceptors axios Interceptors}\n * @property {AxiosInterceptor[]} [interceptors.request] Interceptors that act on every request\n * @property {AxiosInterceptor[]} [intercepotrs.response] Intereptors that act on every response\n */\n\n/**\n * Module that merges user assigned configurations with default configurations.\n *\n * @typicalname contxtSdk.config\n */\nclass Config {\n /**\n * @param {UserConfig} userConfig The user provided configuration options\n * @param {Object.<string, ExternalModule>} [externalModules] User provided external modules that should be treated as\n * first class citizens\n */\n constructor(userConfig, externalModules) {\n Object.assign(this, userConfig);\n\n this._dynamicAudienceNames = [];\n this._replacedAudiences = {};\n\n this.audiences = this._getAudiences({\n externalModules,\n customModuleConfigs: userConfig.auth.customModuleConfigs,\n env: userConfig.auth.env\n });\n\n this.auth = {\n ...defaultConfigs.auth,\n ...userConfig.auth\n };\n\n this.interceptors = {\n ...defaultConfigs.interceptors,\n ...userConfig.interceptors\n };\n\n this.bus = {\n ...defaultConfigs.bus,\n ...userConfig.bus\n };\n }\n\n addDynamicAudience(audienceName, { clientId, host }) {\n if (!clientId || !host) {\n throw new Error(\n 'A dynamic audience must contain `clientId` and `host` properties'\n );\n }\n\n if (this._dynamicAudienceNames.indexOf(audienceName) > -1) {\n throw new Error(\n `A dynamic audience of the name \\`${audienceName}\\` already exists. This problem can be rectified by using a different name for the audience.`\n );\n }\n\n this._dynamicAudienceNames = [...this._dynamicAudienceNames, audienceName];\n\n if (this.audiences[audienceName]) {\n this._replacedAudiences[audienceName] = this.audiences[audienceName];\n }\n\n this.audiences[audienceName] = {\n clientId,\n host\n };\n }\n\n removeDynamicAudience(audienceName) {\n if (this._dynamicAudienceNames.indexOf(audienceName) === -1) {\n throw new Error('There is no dynamic audience to remove.');\n }\n\n this.audiences[audienceName] = this._replacedAudiences[audienceName];\n\n delete this._replacedAudiences[audienceName];\n this._dynamicAudienceNames = this._dynamicAudienceNames.filter(\n (name) => name !== audienceName\n );\n }\n\n /**\n * Parses a custom module configuration for a valid environment/audience. Requires either a\n * clientId and host, or an environment that matches a default audience/environment.\n *\n * @param {CustomAudience} config A custom audience configuration to parse\n * @param {Object.<string, Audience>} audiences An object with keys for environment names and values of Audience information\n *\n * @returns {Audience}\n * @throws {Error}\n *\n * @private\n */\n _getAudienceFromCustomConfig(config, audiences) {\n if (config.clientId && config.host) {\n const audience = {\n clientId: config.clientId,\n host: config.host\n };\n\n if (config.webSocket) {\n audience.webSocket = config.webSocket;\n }\n\n return audience;\n } else if (config.env) {\n return audiences[config.env];\n } else {\n throw new Error(\n 'Custom module configurations must either contain a `host` and `clientId` or specify a specific target environment via the `env` property'\n );\n }\n }\n\n /**\n * Reconciles the main environment with custom environments and external modules.\n *\n * @param {Object} options\n * @param {Object.<string, CustomAudience>} [options.customModuleConfigs = {}] Any custom\n * configurations for internal modules\n * @param {string} [options.env = 'production'] The base environment for any\n * non-overridden modules\n * @param {Object.<string, ExternalModule>} [options.externalModules = {}] An object of external\n * modules from which to build a set of audiences\n *\n * @returns {Object.<string, Audience>}\n *\n * @private\n */\n _getAudiences(options = {}) {\n const {\n customModuleConfigs = {},\n env = 'production',\n externalModules = {}\n } = options;\n\n return {\n ...this._getInternalAudiences({\n customModuleConfigs,\n env,\n audiences: defaultAudiences\n }),\n ...this._getExternalAudiences({ externalModules })\n };\n }\n\n /**\n * Builds up the audiences for external modules.\n *\n * @param {Object}\n * @param {Object.<string, ExternalModule>} externalModules An object of external modules from\n * which to build a set of audiences\n *\n * @returns {Object.<string, Audience>}\n * @throws {Error}\n *\n * @private\n */\n _getExternalAudiences({ externalModules }) {\n return Object.keys(externalModules).reduce((memo, key) => {\n const clientId = externalModules[key].clientId;\n const host = externalModules[key].host;\n const hasClientId = !!clientId || clientId === null;\n const hasHost = !!host || host === null;\n\n if (!(hasClientId && hasHost)) {\n throw new Error(\n 'External modules must contain `clientId` and `host` properties'\n );\n }\n\n memo[key] = {\n clientId,\n host\n };\n\n return memo;\n }, {});\n }\n\n /**\n * Reconciles the main environment with custom environments to build up audiences for\n * internal modules.\n *\n * @param {Object.<string, Environments>} audiences All possible audiences/environments for\n * internal modules\n * @param {Object.<string, CustomAudience>} customModuleConfigs Any custom configurations for\n * internal modules\n * @param {string} env The base environment for any non-overridden modules\n *\n * @returns {Object.<string, Audience>}\n *\n * @private\n */\n _getInternalAudiences({ audiences, customModuleConfigs, env }) {\n return Object.keys(audiences).reduce((memo, key) => {\n const customModuleConfig = customModuleConfigs[key];\n const moduleAudiences = audiences[key];\n\n if (customModuleConfig) {\n memo[key] = this._getAudienceFromCustomConfig(\n customModuleConfig,\n moduleAudiences\n );\n } else {\n memo[key] = moduleAudiences[env];\n }\n\n return memo;\n }, {});\n }\n}\n\nexport default Config;\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAwC,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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_audiences","_interopRequireDefault","require","_defaults","e","__esModule","default","cov_1n1bb4mnsz","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","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","Config","constructor","userConfig","externalModules","assign","_dynamicAudienceNames","_replacedAudiences","audiences","_getAudiences","customModuleConfigs","auth","env","defaultConfigs","interceptors","bus","addDynamicAudience","audienceName","clientId","host","Error","indexOf","removeDynamicAudience","_getAudienceFromCustomConfig","config","audience","webSocket","options","_ref","_ref$customModuleConf","_ref$env","_ref$externalModules","_getInternalAudiences","defaultAudiences","_getExternalAudiences","reduce","memo","key","hasClientId","hasHost","customModuleConfig","moduleAudiences","_default","exports"],"sources":["config/index.js"],"sourcesContent":["import defaultAudiences from './audiences';\nimport defaultConfigs from './defaults';\n\n/**\n * A single audience used for authenticating and communicating with an individual API.\n *\n * @typedef {Object} Audience\n * @param {string} config.clientId Client Id provided by Auth0 for the environment you are\n * trying to communicate with\n * @param {string} config.host Hostname for the API that corresponds with the clientId provided\n * @param {string} [config.webSocket] WebSocket URL for the API that corresponds with the clientId provided\n */\n\n/**\n * A custom audience that will override the configuration of an individual module. Consists of\n * either a reference to an environment that already exists or a clientId and host for a\n * custom environment.\n *\n * @typedef {Object} CustomAudience\n * @param {string} [config.clientId] Client Id provided by Auth0 for the environment you are\n * trying to communicate with\n * @param {string} [config.env] The SDK provided environment name you are trying to reach\n * @param {string} [config.host] Hostname for the API that corresponds with the clientId provided\n * @param {string} [config.webSocket] WebSocket URL for the API that corresponds with the clientId provided\n */\n\n/**\n * An object of audiences that corresponds to all the different environments available for a\n * single module.\n *\n * @typedef {Object.<string, Audience>} Environments\n */\n\n/**\n * An external module to be integrated into the SDK as a first class citizen. Includes information\n * for authenticating and communicating with an individual API and the external module itself.\n *\n * @typedef {Object} ExternalModule\n * @param {string} config.clientId Client Id provided by Auth0 for the environment you are\n * trying to communicate with. Can be a `null` value if the value is not needed. Some SessionType\n * adapters (currently, just the MachineAuth adapter) require a value other than `null` if the\n * built-in `request` module is used since they acquire contxt tokens based on a single clientId.\n * @param {string} config.host Hostname for the API that corresponds with the clientId provided.\n * Can be a `null` value if the value is not needed.\n * @param {function} config.module The module that will be decorated into the SDK\n */\n\n/**\n * An object of interceptors that get called on every request or response.\n * More information at {@link https://github.com/axios/axios#interceptors axios Interceptors}\n *\n * @typedef {Object} AxiosInterceptor\n * @param {function} interceptor.fulfilled A function that is run on every successful request or\n * response\n * @param {function} interceptor.rejected A function that is run on every failed request or response\n */\n\n/**\n * User provided configuration options\n *\n * @typedef {Object} UserConfig\n * @property {Object} auth User assigned configurations specific for their authentication methods\n * @property {string} [auth.authorizationPath] Path Auth0WebAuth process should redirect to after a\n * successful sign in attempt\n * @property {string} auth.clientId Client Id provided by Auth0 for this application\n * @property {string} [auth.clientSecret] Client secret provided by Auth0 for this application. This\n * is optional for the auth0WebAuth SessionType, but required for the machineAuth SessionType\n * @property {string} [auth.domain] Auth0 domain for this application. This is an optional configuration\n * that defaults to the production Auth0 tenant\n * @property {Object.<string, CustomAudience>} [auth.customModuleConfigs] Custom environment setups\n * for individual modules. Requires clientId/host or env\n * @property {string} [auth.env = 'production'] The environment that every module should use for\n * their clientId and host\n * @property {function} [auth.onAuthenticate = (auth0WebAuthSessionInfo) => handleSuccessfulAuth(auth0WebAuthSessionInfo); ] An optional\n * hook for handling a successful authentication request or overriding returned values.\n * @property {function} [auth.onRedirect = (pathname) => { window.location = pathname; }] A redirect\n * method used for navigating through Auth0 callbacks in Web applications\n * @property {number} [auth.tokenExpiresAtBufferMs = 300000] The time (in milliseconds) before a\n * token truly expires that we consider it expired (i.e. the token's expiresAt - this = calculated\n * expiresAt). Defaults to 5 minutes.\n * @property {Object} [interceptors] Axios interceptors that can transform requests and responses.\n * More information at {@link https://github.com/axios/axios#interceptors axios Interceptors}\n * @property {AxiosInterceptor[]} [interceptors.request] Interceptors that act on every request\n * @property {AxiosInterceptor[]} [intercepotrs.response] Intereptors that act on every response\n */\n\n/**\n * Module that merges user assigned configurations with default configurations.\n *\n * @typicalname contxtSdk.config\n */\nclass Config {\n /**\n * @param {UserConfig} userConfig The user provided configuration options\n * @param {Object.<string, ExternalModule>} [externalModules] User provided external modules that should be treated as\n * first class citizens\n */\n constructor(userConfig, externalModules) {\n Object.assign(this, userConfig);\n\n this._dynamicAudienceNames = [];\n this._replacedAudiences = {};\n\n this.audiences = this._getAudiences({\n externalModules,\n customModuleConfigs: userConfig.auth.customModuleConfigs,\n env: userConfig.auth.env\n });\n\n this.auth = {\n ...defaultConfigs.auth,\n ...userConfig.auth\n };\n\n this.interceptors = {\n ...defaultConfigs.interceptors,\n ...userConfig.interceptors\n };\n\n this.bus = {\n ...defaultConfigs.bus,\n ...userConfig.bus\n };\n }\n\n addDynamicAudience(audienceName, { clientId, host }) {\n if (!clientId || !host) {\n throw new Error(\n 'A dynamic audience must contain `clientId` and `host` properties'\n );\n }\n\n if (this._dynamicAudienceNames.indexOf(audienceName) > -1) {\n throw new Error(\n `A dynamic audience of the name \\`${audienceName}\\` already exists. This problem can be rectified by using a different name for the audience.`\n );\n }\n\n this._dynamicAudienceNames = [...this._dynamicAudienceNames, audienceName];\n\n if (this.audiences[audienceName]) {\n this._replacedAudiences[audienceName] = this.audiences[audienceName];\n }\n\n this.audiences[audienceName] = {\n clientId,\n host\n };\n }\n\n removeDynamicAudience(audienceName) {\n if (this._dynamicAudienceNames.indexOf(audienceName) === -1) {\n throw new Error('There is no dynamic audience to remove.');\n }\n\n this.audiences[audienceName] = this._replacedAudiences[audienceName];\n\n delete this._replacedAudiences[audienceName];\n this._dynamicAudienceNames = this._dynamicAudienceNames.filter(\n (name) => name !== audienceName\n );\n }\n\n /**\n * Parses a custom module configuration for a valid environment/audience. Requires either a\n * clientId and host, or an environment that matches a default audience/environment.\n *\n * @param {CustomAudience} config A custom audience configuration to parse\n * @param {Object.<string, Audience>} audiences An object with keys for environment names and values of Audience information\n *\n * @returns {Audience}\n * @throws {Error}\n *\n * @private\n */\n _getAudienceFromCustomConfig(config, audiences) {\n if (config.clientId && config.host) {\n const audience = {\n clientId: config.clientId,\n host: config.host\n };\n\n if (config.webSocket) {\n audience.webSocket = config.webSocket;\n }\n\n return audience;\n } else if (config.env) {\n return audiences[config.env];\n } else {\n throw new Error(\n 'Custom module configurations must either contain a `host` and `clientId` or specify a specific target environment via the `env` property'\n );\n }\n }\n\n /**\n * Reconciles the main environment with custom environments and external modules.\n *\n * @param {Object} options\n * @param {Object.<string, CustomAudience>} [options.customModuleConfigs = {}] Any custom\n * configurations for internal modules\n * @param {string} [options.env = 'production'] The base environment for any\n * non-overridden modules\n * @param {Object.<string, ExternalModule>} [options.externalModules = {}] An object of external\n * modules from which to build a set of audiences\n *\n * @returns {Object.<string, Audience>}\n *\n * @private\n */\n _getAudiences(options = {}) {\n const {\n customModuleConfigs = {},\n env = 'production',\n externalModules = {}\n } = options;\n\n return {\n ...this._getInternalAudiences({\n customModuleConfigs,\n env,\n audiences: defaultAudiences\n }),\n ...this._getExternalAudiences({ externalModules })\n };\n }\n\n /**\n * Builds up the audiences for external modules.\n *\n * @param {Object}\n * @param {Object.<string, ExternalModule>} externalModules An object of external modules from\n * which to build a set of audiences\n *\n * @returns {Object.<string, Audience>}\n * @throws {Error}\n *\n * @private\n */\n _getExternalAudiences({ externalModules }) {\n return Object.keys(externalModules).reduce((memo, key) => {\n const clientId = externalModules[key].clientId;\n const host = externalModules[key].host;\n const hasClientId = !!clientId || clientId === null;\n const hasHost = !!host || host === null;\n\n if (!(hasClientId && hasHost)) {\n throw new Error(\n 'External modules must contain `clientId` and `host` properties'\n );\n }\n\n memo[key] = {\n clientId,\n host\n };\n\n return memo;\n }, {});\n }\n\n /**\n * Reconciles the main environment with custom environments to build up audiences for\n * internal modules.\n *\n * @param {Object.<string, Environments>} audiences All possible audiences/environments for\n * internal modules\n * @param {Object.<string, CustomAudience>} customModuleConfigs Any custom configurations for\n * internal modules\n * @param {string} env The base environment for any non-overridden modules\n *\n * @returns {Object.<string, Audience>}\n *\n * @private\n */\n _getInternalAudiences({ audiences, customModuleConfigs, env }) {\n return Object.keys(audiences).reduce((memo, key) => {\n const customModuleConfig = customModuleConfigs[key];\n const moduleAudiences = audiences[key];\n\n if (customModuleConfig) {\n memo[key] = this._getAudienceFromCustomConfig(\n customModuleConfig,\n moduleAudiences\n );\n } else {\n memo[key] = moduleAudiences[env];\n }\n\n return memo;\n }, {});\n }\n}\n\nexport default Config;\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAwC,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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","ignoreList":[]}
|