@webex/plugin-meetings 3.0.0-beta.15 → 3.0.0-beta.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/dist/common/browser-detection.js +1 -21
  2. package/dist/common/browser-detection.js.map +1 -1
  3. package/dist/common/collection.js +5 -20
  4. package/dist/common/collection.js.map +1 -1
  5. package/dist/common/config.js +0 -7
  6. package/dist/common/config.js.map +1 -1
  7. package/dist/common/errors/captcha-error.js +0 -21
  8. package/dist/common/errors/captcha-error.js.map +1 -1
  9. package/dist/common/errors/intent-to-join.js +0 -21
  10. package/dist/common/errors/intent-to-join.js.map +1 -1
  11. package/dist/common/errors/join-meeting.js +0 -21
  12. package/dist/common/errors/join-meeting.js.map +1 -1
  13. package/dist/common/errors/media.js +0 -21
  14. package/dist/common/errors/media.js.map +1 -1
  15. package/dist/common/errors/parameter.js +0 -28
  16. package/dist/common/errors/parameter.js.map +1 -1
  17. package/dist/common/errors/password-error.js +0 -21
  18. package/dist/common/errors/password-error.js.map +1 -1
  19. package/dist/common/errors/permission.js +0 -21
  20. package/dist/common/errors/permission.js.map +1 -1
  21. package/dist/common/errors/reconnection-in-progress.js +0 -17
  22. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  23. package/dist/common/errors/reconnection.js +0 -21
  24. package/dist/common/errors/reconnection.js.map +1 -1
  25. package/dist/common/errors/stats.js +0 -21
  26. package/dist/common/errors/stats.js.map +1 -1
  27. package/dist/common/errors/webex-errors.js +6 -41
  28. package/dist/common/errors/webex-errors.js.map +1 -1
  29. package/dist/common/errors/webex-meetings-error.js +1 -24
  30. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  31. package/dist/common/events/events-scope.js +0 -22
  32. package/dist/common/events/events-scope.js.map +1 -1
  33. package/dist/common/events/events.js +0 -23
  34. package/dist/common/events/events.js.map +1 -1
  35. package/dist/common/events/trigger-proxy.js +0 -12
  36. package/dist/common/events/trigger-proxy.js.map +1 -1
  37. package/dist/common/events/util.js +0 -15
  38. package/dist/common/events/util.js.map +1 -1
  39. package/dist/common/logs/logger-config.js +0 -4
  40. package/dist/common/logs/logger-config.js.map +1 -1
  41. package/dist/common/logs/logger-proxy.js +1 -8
  42. package/dist/common/logs/logger-proxy.js.map +1 -1
  43. package/dist/common/logs/request.js +35 -61
  44. package/dist/common/logs/request.js.map +1 -1
  45. package/dist/common/queue.js +4 -14
  46. package/dist/common/queue.js.map +1 -1
  47. package/dist/config.js +1 -5
  48. package/dist/config.js.map +1 -1
  49. package/dist/constants.js +45 -40
  50. package/dist/constants.js.map +1 -1
  51. package/dist/index.js +1 -17
  52. package/dist/index.js.map +1 -1
  53. package/dist/locus-info/controlsUtils.js +10 -28
  54. package/dist/locus-info/controlsUtils.js.map +1 -1
  55. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  56. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  57. package/dist/locus-info/fullState.js +0 -15
  58. package/dist/locus-info/fullState.js.map +1 -1
  59. package/dist/locus-info/hostUtils.js +4 -12
  60. package/dist/locus-info/hostUtils.js.map +1 -1
  61. package/dist/locus-info/index.js +90 -185
  62. package/dist/locus-info/index.js.map +1 -1
  63. package/dist/locus-info/infoUtils.js +0 -38
  64. package/dist/locus-info/infoUtils.js.map +1 -1
  65. package/dist/locus-info/mediaSharesUtils.js +12 -38
  66. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  67. package/dist/locus-info/parser.js +88 -125
  68. package/dist/locus-info/parser.js.map +1 -1
  69. package/dist/locus-info/selfUtils.js +15 -81
  70. package/dist/locus-info/selfUtils.js.map +1 -1
  71. package/dist/media/index.js +43 -97
  72. package/dist/media/index.js.map +1 -1
  73. package/dist/media/internal-media-core-wrapper.js +0 -4
  74. package/dist/media/internal-media-core-wrapper.js.map +1 -1
  75. package/dist/media/properties.js +64 -110
  76. package/dist/media/properties.js.map +1 -1
  77. package/dist/media/util.js +1 -8
  78. package/dist/media/util.js.map +1 -1
  79. package/dist/mediaQualityMetrics/config.js +10 -12
  80. package/dist/mediaQualityMetrics/config.js.map +1 -1
  81. package/dist/meeting/effectsState.js +119 -191
  82. package/dist/meeting/effectsState.js.map +1 -1
  83. package/dist/meeting/in-meeting-actions.js +0 -13
  84. package/dist/meeting/in-meeting-actions.js.map +1 -1
  85. package/dist/meeting/index.js +729 -1504
  86. package/dist/meeting/index.js.map +1 -1
  87. package/dist/meeting/muteState.js +30 -77
  88. package/dist/meeting/muteState.js.map +1 -1
  89. package/dist/meeting/request.js +160 -230
  90. package/dist/meeting/request.js.map +1 -1
  91. package/dist/meeting/request.type.js +0 -1
  92. package/dist/meeting/state.js +16 -26
  93. package/dist/meeting/state.js.map +1 -1
  94. package/dist/meeting/util.js +19 -158
  95. package/dist/meeting/util.js.map +1 -1
  96. package/dist/meeting-info/collection.js +3 -25
  97. package/dist/meeting-info/collection.js.map +1 -1
  98. package/dist/meeting-info/index.js +8 -31
  99. package/dist/meeting-info/index.js.map +1 -1
  100. package/dist/meeting-info/meeting-info-v2.js +131 -220
  101. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  102. package/dist/meeting-info/request.js +1 -16
  103. package/dist/meeting-info/request.js.map +1 -1
  104. package/dist/meeting-info/util.js +98 -183
  105. package/dist/meeting-info/util.js.map +1 -1
  106. package/dist/meeting-info/utilv2.js +137 -228
  107. package/dist/meeting-info/utilv2.js.map +1 -1
  108. package/dist/meetings/collection.js +3 -21
  109. package/dist/meetings/collection.js.map +1 -1
  110. package/dist/meetings/index.js +202 -335
  111. package/dist/meetings/index.js.map +1 -1
  112. package/dist/meetings/request.js +5 -28
  113. package/dist/meetings/request.js.map +1 -1
  114. package/dist/meetings/util.js +85 -141
  115. package/dist/meetings/util.js.map +1 -1
  116. package/dist/member/index.js +18 -58
  117. package/dist/member/index.js.map +1 -1
  118. package/dist/member/util.js +17 -68
  119. package/dist/member/util.js.map +1 -1
  120. package/dist/members/collection.js +2 -12
  121. package/dist/members/collection.js.map +1 -1
  122. package/dist/members/index.js +29 -151
  123. package/dist/members/index.js.map +1 -1
  124. package/dist/members/request.js +21 -56
  125. package/dist/members/request.js.map +1 -1
  126. package/dist/members/util.js +9 -38
  127. package/dist/members/util.js.map +1 -1
  128. package/dist/metrics/config.js +0 -2
  129. package/dist/metrics/config.js.map +1 -1
  130. package/dist/metrics/constants.js +1 -2
  131. package/dist/metrics/constants.js.map +1 -1
  132. package/dist/metrics/index.js +30 -121
  133. package/dist/metrics/index.js.map +1 -1
  134. package/dist/multistream/mediaRequestManager.js +12 -28
  135. package/dist/multistream/mediaRequestManager.js.map +1 -1
  136. package/dist/multistream/multistreamMedia.js +11 -22
  137. package/dist/multistream/multistreamMedia.js.map +1 -1
  138. package/dist/multistream/receiveSlot.js +7 -47
  139. package/dist/multistream/receiveSlot.js.map +1 -1
  140. package/dist/multistream/receiveSlotManager.js +37 -78
  141. package/dist/multistream/receiveSlotManager.js.map +1 -1
  142. package/dist/multistream/remoteMedia.js +11 -56
  143. package/dist/multistream/remoteMedia.js.map +1 -1
  144. package/dist/multistream/remoteMediaGroup.js +6 -40
  145. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  146. package/dist/multistream/remoteMediaManager.js +221 -380
  147. package/dist/multistream/remoteMediaManager.js.map +1 -1
  148. package/dist/networkQualityMonitor/index.js +20 -49
  149. package/dist/networkQualityMonitor/index.js.map +1 -1
  150. package/dist/personal-meeting-room/index.js +3 -38
  151. package/dist/personal-meeting-room/index.js.map +1 -1
  152. package/dist/personal-meeting-room/request.js +2 -33
  153. package/dist/personal-meeting-room/request.js.map +1 -1
  154. package/dist/personal-meeting-room/util.js +0 -13
  155. package/dist/personal-meeting-room/util.js.map +1 -1
  156. package/dist/reachability/index.js +100 -166
  157. package/dist/reachability/index.js.map +1 -1
  158. package/dist/reachability/request.js +2 -18
  159. package/dist/reachability/request.js.map +1 -1
  160. package/dist/reactions/reactions.js +0 -2
  161. package/dist/reactions/reactions.js.map +1 -1
  162. package/dist/reactions/reactions.type.js +0 -6
  163. package/dist/reactions/reactions.type.js.map +1 -1
  164. package/dist/reconnection-manager/index.js +290 -455
  165. package/dist/reconnection-manager/index.js.map +1 -1
  166. package/dist/roap/index.js +13 -48
  167. package/dist/roap/index.js.map +1 -1
  168. package/dist/roap/request.js +13 -55
  169. package/dist/roap/request.js.map +1 -1
  170. package/dist/roap/turnDiscovery.js +10 -52
  171. package/dist/roap/turnDiscovery.js.map +1 -1
  172. package/dist/statsAnalyzer/global.js +0 -2
  173. package/dist/statsAnalyzer/global.js.map +1 -1
  174. package/dist/statsAnalyzer/index.js +66 -174
  175. package/dist/statsAnalyzer/index.js.map +1 -1
  176. package/dist/statsAnalyzer/mqaUtil.js +54 -53
  177. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  178. package/dist/transcription/index.js +9 -44
  179. package/dist/transcription/index.js.map +1 -1
  180. package/package.json +18 -18
  181. package/test/integration/spec/journey.js +1 -1
  182. package/test/integration/spec/space-meeting.js +1 -1
  183. package/test/integration/spec/transcription.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["ControlsUtils","parse","controls","parsedControls","record","modifiedBy","getId","paused","recording","lastModified","meta","meetingContainer","meetingContainerUrl","transcribe","transcribing","caption","entryExitTone","enabled","mode","getControls","oldControls","newControls","previous","current","updates","hasRecordingPausedChanged","hasRecordingChanged","hasMeetingContainerChanged","hasTranscribeChanged","hasEntryExitToneChanged"],"sources":["controlsUtils.ts"],"sourcesContent":["import {isEqual} from 'lodash';\n\nconst ControlsUtils: any = {};\n\n/**\n * Controls\n * @typedef {Object} LocusControls\n * @property {Object} record\n * @property {Boolean} record.recording\n * @property {Object} record.meta\n * @property {String} record.meta.modifiedBy\n */\n\n/**\n * parse the relevant host values that we care about: id\n * @param {LocusControls} controls\n * @returns {Object} parsedObject - parsed host or null if host was undefined\n * @returns {String} parsedObject.recordingId\n */\nControlsUtils.parse = (controls: any) => {\n const parsedControls = {...controls};\n\n if (controls && controls.record) {\n parsedControls.record = {\n modifiedBy: ControlsUtils.getId(controls),\n paused: controls.record.paused ? controls.record.paused : false,\n recording: controls.record.recording,\n lastModified: controls.record.meta.lastModified,\n };\n }\n\n if (controls && controls.meetingContainer) {\n parsedControls.meetingContainer = {\n meetingContainerUrl: controls.meetingContainer.meetingContainerUrl,\n };\n }\n\n if (controls && controls.transcribe) {\n parsedControls.transcribe = {\n transcribing: controls.transcribe.transcribing,\n caption: controls.transcribe.caption,\n };\n }\n\n if (controls && controls.entryExitTone) {\n parsedControls.entryExitTone = controls.entryExitTone.enabled\n ? controls.entryExitTone.mode\n : null;\n }\n\n return parsedControls;\n};\n\n/**\n * parses and returns previous state vs current state and triggers the changes.\n * @param {LocusControls} oldControls previous state\n * @param {LocusControls} newControls current state\n * @returns {Object} combination of state plus the changes\n */\nControlsUtils.getControls = (oldControls: any, newControls: any) => {\n const previous = ControlsUtils.parse(oldControls);\n const current = ControlsUtils.parse(newControls);\n\n return {\n previous,\n current,\n updates: {\n hasRecordingPausedChanged:\n current?.record &&\n !isEqual(previous?.record?.paused, current.record.paused) &&\n (previous?.record?.recording || current?.record?.recording), // see comments directly below\n\n hasRecordingChanged:\n current?.record &&\n !isEqual(previous?.record?.recording, current?.record?.recording) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.record?.recording || current?.record?.recording), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasMeetingContainerChanged:\n current?.meetingContainer &&\n !isEqual(\n previous?.meetingContainer?.meetingContainerUrl,\n current?.meetingContainer?.meetingContainerUrl\n ),\n\n hasTranscribeChanged:\n current?.transcribe &&\n !isEqual(previous?.transcribe?.transcribing, current?.transcribe?.transcribing) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.transcribe?.transcribing || current?.transcribe?.transcribing), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasEntryExitToneChanged: !!(\n newControls.entryExitTone &&\n !isEqual(previous?.entryExitTone, current?.entryExitTone) &&\n (previous?.entryExitTone || current?.entryExitTone)\n ),\n },\n };\n};\n\n/**\n * Extract the id from the record controls object\n * @param {LocusControls} controls\n * @returns {String|null}\n */\nControlsUtils.getId = (controls: any) => {\n if (controls.record.meta) {\n return controls.record.meta.modifiedBy;\n }\n\n return null;\n};\n\nexport default ControlsUtils;\n"],"mappings":"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"}
1
+ {"version":3,"names":["ControlsUtils","parse","controls","parsedControls","record","modifiedBy","getId","paused","recording","lastModified","meta","meetingContainer","meetingContainerUrl","transcribe","transcribing","caption","entryExitTone","enabled","mode","getControls","oldControls","newControls","previous","current","updates","hasRecordingPausedChanged","hasRecordingChanged","hasMeetingContainerChanged","hasTranscribeChanged","hasEntryExitToneChanged"],"sources":["controlsUtils.ts"],"sourcesContent":["import {isEqual} from 'lodash';\n\nconst ControlsUtils: any = {};\n\n/**\n * Controls\n * @typedef {Object} LocusControls\n * @property {Object} record\n * @property {Boolean} record.recording\n * @property {Object} record.meta\n * @property {String} record.meta.modifiedBy\n */\n\n/**\n * parse the relevant host values that we care about: id\n * @param {LocusControls} controls\n * @returns {Object} parsedObject - parsed host or null if host was undefined\n * @returns {String} parsedObject.recordingId\n */\nControlsUtils.parse = (controls: any) => {\n const parsedControls = {...controls};\n\n if (controls && controls.record) {\n parsedControls.record = {\n modifiedBy: ControlsUtils.getId(controls),\n paused: controls.record.paused ? controls.record.paused : false,\n recording: controls.record.recording,\n lastModified: controls.record.meta.lastModified,\n };\n }\n\n if (controls && controls.meetingContainer) {\n parsedControls.meetingContainer = {\n meetingContainerUrl: controls.meetingContainer.meetingContainerUrl,\n };\n }\n\n if (controls && controls.transcribe) {\n parsedControls.transcribe = {\n transcribing: controls.transcribe.transcribing,\n caption: controls.transcribe.caption,\n };\n }\n\n if (controls && controls.entryExitTone) {\n parsedControls.entryExitTone = controls.entryExitTone.enabled\n ? controls.entryExitTone.mode\n : null;\n }\n\n return parsedControls;\n};\n\n/**\n * parses and returns previous state vs current state and triggers the changes.\n * @param {LocusControls} oldControls previous state\n * @param {LocusControls} newControls current state\n * @returns {Object} combination of state plus the changes\n */\nControlsUtils.getControls = (oldControls: any, newControls: any) => {\n const previous = ControlsUtils.parse(oldControls);\n const current = ControlsUtils.parse(newControls);\n\n return {\n previous,\n current,\n updates: {\n hasRecordingPausedChanged:\n current?.record &&\n !isEqual(previous?.record?.paused, current.record.paused) &&\n (previous?.record?.recording || current?.record?.recording), // see comments directly below\n\n hasRecordingChanged:\n current?.record &&\n !isEqual(previous?.record?.recording, current?.record?.recording) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.record?.recording || current?.record?.recording), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasMeetingContainerChanged:\n current?.meetingContainer &&\n !isEqual(\n previous?.meetingContainer?.meetingContainerUrl,\n current?.meetingContainer?.meetingContainerUrl\n ),\n\n hasTranscribeChanged:\n current?.transcribe &&\n !isEqual(previous?.transcribe?.transcribing, current?.transcribe?.transcribing) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.transcribe?.transcribing || current?.transcribe?.transcribing), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasEntryExitToneChanged: !!(\n newControls.entryExitTone &&\n !isEqual(previous?.entryExitTone, current?.entryExitTone) &&\n (previous?.entryExitTone || current?.entryExitTone)\n ),\n },\n };\n};\n\n/**\n * Extract the id from the record controls object\n * @param {LocusControls} controls\n * @returns {String|null}\n */\nControlsUtils.getId = (controls: any) => {\n if (controls.record.meta) {\n return controls.record.meta.modifiedBy;\n }\n\n return null;\n};\n\nexport default ControlsUtils;\n"],"mappings":"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"}
@@ -1,55 +1,39 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
4
-
5
4
  var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
6
-
7
5
  var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
8
-
9
6
  var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
10
-
11
7
  var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
12
-
13
8
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
14
-
15
9
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
16
-
17
10
  _Object$defineProperty(exports, "__esModule", {
18
11
  value: true
19
12
  });
20
-
21
13
  exports.default = void 0;
22
-
23
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
24
-
25
15
  var _constants = require("../constants");
26
-
27
16
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
28
-
29
17
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
30
-
31
18
  var EmbeddedAppsUtils = {};
32
19
  var SLIDO_REGEX = /.sli.do\//;
20
+
33
21
  /**
34
22
  * Parse the relevant values that we care about
35
23
  * @param {Object} embeddedApp - raw embedded app object
36
24
  * @returns {Object} parsedObject - parsed embedded app object
37
25
  */
38
-
39
26
  EmbeddedAppsUtils.parseApp = function (embeddedApp) {
40
27
  var _parsedApp$instanceIn;
41
-
42
28
  var parsedApp = _objectSpread({}, embeddedApp);
43
-
44
29
  parsedApp.type = _constants.EMBEDDED_APP_TYPES.OTHER;
45
30
  var url = (_parsedApp$instanceIn = parsedApp.instanceInfo) === null || _parsedApp$instanceIn === void 0 ? void 0 : _parsedApp$instanceIn.appInstanceUrl;
46
-
47
31
  if (url && url.match(SLIDO_REGEX)) {
48
32
  parsedApp.type = _constants.EMBEDDED_APP_TYPES.SLIDO;
49
33
  }
50
-
51
34
  return parsedApp;
52
35
  };
36
+
53
37
  /**
54
38
  * Determines if two embedded apps arrays are similar.
55
39
  * NOTE: This is a simple test for performance reasons.
@@ -57,36 +41,29 @@ EmbeddedAppsUtils.parseApp = function (embeddedApp) {
57
41
  * @param {any[]} apps2 - an array of apps
58
42
  * @returns {boolean} true if the arrays are different
59
43
  */
60
-
61
-
62
44
  EmbeddedAppsUtils.areSimilar = function (apps1, apps2) {
63
45
  if (!apps1 || !apps2) {
64
46
  return apps1 === apps2;
65
47
  }
66
-
67
48
  if ((apps1 === null || apps1 === void 0 ? void 0 : apps1.length) !== (apps2 === null || apps2 === void 0 ? void 0 : apps2.length)) {
68
49
  return false;
69
50
  }
70
-
71
51
  for (var i = 0; i < apps1.length; i += 1) {
72
52
  if (apps1[i].state !== apps2[i].state) {
73
53
  return false;
74
54
  }
75
55
  }
76
-
77
56
  return true;
78
57
  };
58
+
79
59
  /**
80
60
  * Parse the array of embedded apps
81
61
  * @param {array} embeddedApps
82
62
  * @returns {array} result - new array of parsed embedded app objects
83
63
  */
84
-
85
-
86
64
  EmbeddedAppsUtils.parse = function (embeddedApps) {
87
65
  return embeddedApps && embeddedApps.map(EmbeddedAppsUtils.parseApp);
88
66
  };
89
-
90
67
  var _default = EmbeddedAppsUtils;
91
68
  exports.default = _default;
92
69
  //# sourceMappingURL=embeddedAppsUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["EmbeddedAppsUtils","SLIDO_REGEX","parseApp","embeddedApp","parsedApp","type","EMBEDDED_APP_TYPES","OTHER","url","instanceInfo","appInstanceUrl","match","SLIDO","areSimilar","apps1","apps2","length","i","state","parse","embeddedApps","map"],"sources":["embeddedAppsUtils.ts"],"sourcesContent":["import {EMBEDDED_APP_TYPES} from '../constants';\n\nconst EmbeddedAppsUtils: any = {};\nconst SLIDO_REGEX = /.sli.do\\//;\n\n/**\n * Parse the relevant values that we care about\n * @param {Object} embeddedApp - raw embedded app object\n * @returns {Object} parsedObject - parsed embedded app object\n */\nEmbeddedAppsUtils.parseApp = (embeddedApp: object) => {\n const parsedApp: any = {...embeddedApp};\n\n parsedApp.type = EMBEDDED_APP_TYPES.OTHER;\n const url = parsedApp.instanceInfo?.appInstanceUrl;\n\n if (url && url.match(SLIDO_REGEX)) {\n parsedApp.type = EMBEDDED_APP_TYPES.SLIDO;\n }\n\n return parsedApp;\n};\n\n/**\n * Determines if two embedded apps arrays are similar.\n * NOTE: This is a simple test for performance reasons.\n * @param {any[]} apps1 - an array of apps\n * @param {any[]} apps2 - an array of apps\n * @returns {boolean} true if the arrays are different\n */\nEmbeddedAppsUtils.areSimilar = (apps1: any[], apps2: any[]) => {\n if (!apps1 || !apps2) {\n return apps1 === apps2;\n }\n\n if (apps1?.length !== apps2?.length) {\n return false;\n }\n\n for (let i = 0; i < apps1.length; i += 1) {\n if (apps1[i].state !== apps2[i].state) {\n return false;\n }\n }\n\n return true;\n};\n\n/**\n * Parse the array of embedded apps\n * @param {array} embeddedApps\n * @returns {array} result - new array of parsed embedded app objects\n */\nEmbeddedAppsUtils.parse = (embeddedApps: Array<any>) =>\n embeddedApps && embeddedApps.map(EmbeddedAppsUtils.parseApp);\n\nexport default EmbeddedAppsUtils;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;AAEA,IAAMA,iBAAsB,GAAG,EAA/B;AACA,IAAMC,WAAW,GAAG,WAApB;AAEA;AACA;AACA;AACA;AACA;;AACAD,iBAAiB,CAACE,QAAlB,GAA6B,UAACC,WAAD,EAAyB;EAAA;;EACpD,IAAMC,SAAc,qBAAOD,WAAP,CAApB;;EAEAC,SAAS,CAACC,IAAV,GAAiBC,6BAAA,CAAmBC,KAApC;EACA,IAAMC,GAAG,4BAAGJ,SAAS,CAACK,YAAb,0DAAG,sBAAwBC,cAApC;;EAEA,IAAIF,GAAG,IAAIA,GAAG,CAACG,KAAJ,CAAUV,WAAV,CAAX,EAAmC;IACjCG,SAAS,CAACC,IAAV,GAAiBC,6BAAA,CAAmBM,KAApC;EACD;;EAED,OAAOR,SAAP;AACD,CAXD;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACAJ,iBAAiB,CAACa,UAAlB,GAA+B,UAACC,KAAD,EAAeC,KAAf,EAAgC;EAC7D,IAAI,CAACD,KAAD,IAAU,CAACC,KAAf,EAAsB;IACpB,OAAOD,KAAK,KAAKC,KAAjB;EACD;;EAED,IAAI,CAAAD,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEE,MAAP,OAAkBD,KAAlB,aAAkBA,KAAlB,uBAAkBA,KAAK,CAAEC,MAAzB,CAAJ,EAAqC;IACnC,OAAO,KAAP;EACD;;EAED,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,KAAK,CAACE,MAA1B,EAAkCC,CAAC,IAAI,CAAvC,EAA0C;IACxC,IAAIH,KAAK,CAACG,CAAD,CAAL,CAASC,KAAT,KAAmBH,KAAK,CAACE,CAAD,CAAL,CAASC,KAAhC,EAAuC;MACrC,OAAO,KAAP;IACD;EACF;;EAED,OAAO,IAAP;AACD,CAhBD;AAkBA;AACA;AACA;AACA;AACA;;;AACAlB,iBAAiB,CAACmB,KAAlB,GAA0B,UAACC,YAAD;EAAA,OACxBA,YAAY,IAAIA,YAAY,CAACC,GAAb,CAAiBrB,iBAAiB,CAACE,QAAnC,CADQ;AAAA,CAA1B;;eAGeF,iB"}
1
+ {"version":3,"names":["EmbeddedAppsUtils","SLIDO_REGEX","parseApp","embeddedApp","parsedApp","type","EMBEDDED_APP_TYPES","OTHER","url","instanceInfo","appInstanceUrl","match","SLIDO","areSimilar","apps1","apps2","length","i","state","parse","embeddedApps","map"],"sources":["embeddedAppsUtils.ts"],"sourcesContent":["import {EMBEDDED_APP_TYPES} from '../constants';\n\nconst EmbeddedAppsUtils: any = {};\nconst SLIDO_REGEX = /.sli.do\\//;\n\n/**\n * Parse the relevant values that we care about\n * @param {Object} embeddedApp - raw embedded app object\n * @returns {Object} parsedObject - parsed embedded app object\n */\nEmbeddedAppsUtils.parseApp = (embeddedApp: object) => {\n const parsedApp: any = {...embeddedApp};\n\n parsedApp.type = EMBEDDED_APP_TYPES.OTHER;\n const url = parsedApp.instanceInfo?.appInstanceUrl;\n\n if (url && url.match(SLIDO_REGEX)) {\n parsedApp.type = EMBEDDED_APP_TYPES.SLIDO;\n }\n\n return parsedApp;\n};\n\n/**\n * Determines if two embedded apps arrays are similar.\n * NOTE: This is a simple test for performance reasons.\n * @param {any[]} apps1 - an array of apps\n * @param {any[]} apps2 - an array of apps\n * @returns {boolean} true if the arrays are different\n */\nEmbeddedAppsUtils.areSimilar = (apps1: any[], apps2: any[]) => {\n if (!apps1 || !apps2) {\n return apps1 === apps2;\n }\n\n if (apps1?.length !== apps2?.length) {\n return false;\n }\n\n for (let i = 0; i < apps1.length; i += 1) {\n if (apps1[i].state !== apps2[i].state) {\n return false;\n }\n }\n\n return true;\n};\n\n/**\n * Parse the array of embedded apps\n * @param {array} embeddedApps\n * @returns {array} result - new array of parsed embedded app objects\n */\nEmbeddedAppsUtils.parse = (embeddedApps: Array<any>) =>\n embeddedApps && embeddedApps.map(EmbeddedAppsUtils.parseApp);\n\nexport default EmbeddedAppsUtils;\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAgD;AAAA;AAEhD,IAAMA,iBAAsB,GAAG,CAAC,CAAC;AACjC,IAAMC,WAAW,GAAG,WAAW;;AAE/B;AACA;AACA;AACA;AACA;AACAD,iBAAiB,CAACE,QAAQ,GAAG,UAACC,WAAmB,EAAK;EAAA;EACpD,IAAMC,SAAc,qBAAOD,WAAW,CAAC;EAEvCC,SAAS,CAACC,IAAI,GAAGC,6BAAkB,CAACC,KAAK;EACzC,IAAMC,GAAG,4BAAGJ,SAAS,CAACK,YAAY,0DAAtB,sBAAwBC,cAAc;EAElD,IAAIF,GAAG,IAAIA,GAAG,CAACG,KAAK,CAACV,WAAW,CAAC,EAAE;IACjCG,SAAS,CAACC,IAAI,GAAGC,6BAAkB,CAACM,KAAK;EAC3C;EAEA,OAAOR,SAAS;AAClB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACAJ,iBAAiB,CAACa,UAAU,GAAG,UAACC,KAAY,EAAEC,KAAY,EAAK;EAC7D,IAAI,CAACD,KAAK,IAAI,CAACC,KAAK,EAAE;IACpB,OAAOD,KAAK,KAAKC,KAAK;EACxB;EAEA,IAAI,CAAAD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEE,MAAM,OAAKD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEC,MAAM,GAAE;IACnC,OAAO,KAAK;EACd;EAEA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,KAAK,CAACE,MAAM,EAAEC,CAAC,IAAI,CAAC,EAAE;IACxC,IAAIH,KAAK,CAACG,CAAC,CAAC,CAACC,KAAK,KAAKH,KAAK,CAACE,CAAC,CAAC,CAACC,KAAK,EAAE;MACrC,OAAO,KAAK;IACd;EACF;EAEA,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA;AACAlB,iBAAiB,CAACmB,KAAK,GAAG,UAACC,YAAwB;EAAA,OACjDA,YAAY,IAAIA,YAAY,CAACC,GAAG,CAACrB,iBAAiB,CAACE,QAAQ,CAAC;AAAA;AAAC,eAEhDF,iBAAiB;AAAA"}
@@ -1,17 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  _Object$defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
-
9
7
  exports.default = void 0;
10
-
11
8
  var _constants = require("../constants");
12
-
13
9
  var FullState = {};
14
-
15
10
  FullState.parse = function (fullState) {
16
11
  return {
17
12
  type: fullState.type || _constants.FULL_STATE.UNKNOWN,
@@ -19,7 +14,6 @@ FullState.parse = function (fullState) {
19
14
  locked: fullState.locked
20
15
  };
21
16
  };
22
-
23
17
  FullState.getFullState = function (oldFullState, newFullState) {
24
18
  var previous = oldFullState && FullState.parse(oldFullState);
25
19
  var current = newFullState && FullState.parse(newFullState);
@@ -34,39 +28,30 @@ FullState.getFullState = function (oldFullState, newFullState) {
34
28
  }
35
29
  };
36
30
  };
37
-
38
31
  FullState.isMeetingEnded = function (previous, current) {
39
32
  if (current.state === _constants.FULL_STATE.INACTIVE && previous && (previous.state === _constants.FULL_STATE.ACTIVE || previous.state === _constants.FULL_STATE.INITIALIZING || previous.state === _constants.FULL_STATE.TERMINATING)) {
40
33
  return true;
41
34
  }
42
-
43
35
  return false;
44
36
  };
45
-
46
37
  FullState.isMeetingTerminating = function (previous, current) {
47
38
  if (current.state === _constants.FULL_STATE.TERMINATING && previous && (previous.state === _constants.FULL_STATE.ACTIVE || previous.state === _constants.FULL_STATE.INITIALIZING)) {
48
39
  return true;
49
40
  }
50
-
51
41
  return false;
52
42
  };
53
-
54
43
  FullState.isTypeChanged = function (previous, current) {
55
44
  if (!previous || current.type !== previous.type) {
56
45
  return current && current.type;
57
46
  }
58
-
59
47
  return null;
60
48
  };
61
-
62
49
  FullState.meetingStateChange = function (previous, current) {
63
50
  if (!previous || current.meetingState !== previous.meetingState) {
64
51
  return current && current.meetingState;
65
52
  }
66
-
67
53
  return null;
68
54
  };
69
-
70
55
  var _default = FullState;
71
56
  exports.default = _default;
72
57
  //# sourceMappingURL=fullState.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["FullState","parse","fullState","type","FULL_STATE","UNKNOWN","meetingState","state","locked","getFullState","oldFullState","newFullState","previous","current","updates","isMeetingEnded","isMeetingTerminating","meetingTypeChangedTo","isTypeChanged","meetingStateChangedTo","meetingStateChange","INACTIVE","ACTIVE","INITIALIZING","TERMINATING"],"sources":["fullState.ts"],"sourcesContent":["import {FULL_STATE} from '../constants';\n\nconst FullState: any = {};\n\nFullState.parse = (fullState) => ({\n type: fullState.type || FULL_STATE.UNKNOWN,\n meetingState: fullState.state,\n locked: fullState.locked,\n});\n\nFullState.getFullState = (oldFullState, newFullState) => {\n const previous = oldFullState && FullState.parse(oldFullState);\n const current = newFullState && FullState.parse(newFullState);\n\n return {\n previous,\n current,\n updates: {\n isMeetingEnded: FullState.isMeetingEnded(previous, current),\n isMeetingTerminating: FullState.isMeetingTerminating(previous, current),\n meetingTypeChangedTo: FullState.isTypeChanged(previous, current),\n meetingStateChangedTo: FullState.meetingStateChange(previous, current),\n },\n };\n};\n\nFullState.isMeetingEnded = (previous, current) => {\n if (\n current.state === FULL_STATE.INACTIVE &&\n previous &&\n (previous.state === FULL_STATE.ACTIVE ||\n previous.state === FULL_STATE.INITIALIZING ||\n previous.state === FULL_STATE.TERMINATING)\n ) {\n return true;\n }\n\n return false;\n};\n\nFullState.isMeetingTerminating = (previous, current) => {\n if (\n current.state === FULL_STATE.TERMINATING &&\n previous &&\n (previous.state === FULL_STATE.ACTIVE || previous.state === FULL_STATE.INITIALIZING)\n ) {\n return true;\n }\n\n return false;\n};\n\nFullState.isTypeChanged = (previous, current) => {\n if (!previous || current.type !== previous.type) {\n return current && current.type;\n }\n\n return null;\n};\n\nFullState.meetingStateChange = (previous, current) => {\n if (!previous || current.meetingState !== previous.meetingState) {\n return current && current.meetingState;\n }\n\n return null;\n};\n\nexport default FullState;\n"],"mappings":";;;;;;;;;;AAAA;;AAEA,IAAMA,SAAc,GAAG,EAAvB;;AAEAA,SAAS,CAACC,KAAV,GAAkB,UAACC,SAAD;EAAA,OAAgB;IAChCC,IAAI,EAAED,SAAS,CAACC,IAAV,IAAkBC,qBAAA,CAAWC,OADH;IAEhCC,YAAY,EAAEJ,SAAS,CAACK,KAFQ;IAGhCC,MAAM,EAAEN,SAAS,CAACM;EAHc,CAAhB;AAAA,CAAlB;;AAMAR,SAAS,CAACS,YAAV,GAAyB,UAACC,YAAD,EAAeC,YAAf,EAAgC;EACvD,IAAMC,QAAQ,GAAGF,YAAY,IAAIV,SAAS,CAACC,KAAV,CAAgBS,YAAhB,CAAjC;EACA,IAAMG,OAAO,GAAGF,YAAY,IAAIX,SAAS,CAACC,KAAV,CAAgBU,YAAhB,CAAhC;EAEA,OAAO;IACLC,QAAQ,EAARA,QADK;IAELC,OAAO,EAAPA,OAFK;IAGLC,OAAO,EAAE;MACPC,cAAc,EAAEf,SAAS,CAACe,cAAV,CAAyBH,QAAzB,EAAmCC,OAAnC,CADT;MAEPG,oBAAoB,EAAEhB,SAAS,CAACgB,oBAAV,CAA+BJ,QAA/B,EAAyCC,OAAzC,CAFf;MAGPI,oBAAoB,EAAEjB,SAAS,CAACkB,aAAV,CAAwBN,QAAxB,EAAkCC,OAAlC,CAHf;MAIPM,qBAAqB,EAAEnB,SAAS,CAACoB,kBAAV,CAA6BR,QAA7B,EAAuCC,OAAvC;IAJhB;EAHJ,CAAP;AAUD,CAdD;;AAgBAb,SAAS,CAACe,cAAV,GAA2B,UAACH,QAAD,EAAWC,OAAX,EAAuB;EAChD,IACEA,OAAO,CAACN,KAAR,KAAkBH,qBAAA,CAAWiB,QAA7B,IACAT,QADA,KAECA,QAAQ,CAACL,KAAT,KAAmBH,qBAAA,CAAWkB,MAA9B,IACCV,QAAQ,CAACL,KAAT,KAAmBH,qBAAA,CAAWmB,YAD/B,IAECX,QAAQ,CAACL,KAAT,KAAmBH,qBAAA,CAAWoB,WAJhC,CADF,EAME;IACA,OAAO,IAAP;EACD;;EAED,OAAO,KAAP;AACD,CAZD;;AAcAxB,SAAS,CAACgB,oBAAV,GAAiC,UAACJ,QAAD,EAAWC,OAAX,EAAuB;EACtD,IACEA,OAAO,CAACN,KAAR,KAAkBH,qBAAA,CAAWoB,WAA7B,IACAZ,QADA,KAECA,QAAQ,CAACL,KAAT,KAAmBH,qBAAA,CAAWkB,MAA9B,IAAwCV,QAAQ,CAACL,KAAT,KAAmBH,qBAAA,CAAWmB,YAFvE,CADF,EAIE;IACA,OAAO,IAAP;EACD;;EAED,OAAO,KAAP;AACD,CAVD;;AAYAvB,SAAS,CAACkB,aAAV,GAA0B,UAACN,QAAD,EAAWC,OAAX,EAAuB;EAC/C,IAAI,CAACD,QAAD,IAAaC,OAAO,CAACV,IAAR,KAAiBS,QAAQ,CAACT,IAA3C,EAAiD;IAC/C,OAAOU,OAAO,IAAIA,OAAO,CAACV,IAA1B;EACD;;EAED,OAAO,IAAP;AACD,CAND;;AAQAH,SAAS,CAACoB,kBAAV,GAA+B,UAACR,QAAD,EAAWC,OAAX,EAAuB;EACpD,IAAI,CAACD,QAAD,IAAaC,OAAO,CAACP,YAAR,KAAyBM,QAAQ,CAACN,YAAnD,EAAiE;IAC/D,OAAOO,OAAO,IAAIA,OAAO,CAACP,YAA1B;EACD;;EAED,OAAO,IAAP;AACD,CAND;;eAQeN,S"}
1
+ {"version":3,"names":["FullState","parse","fullState","type","FULL_STATE","UNKNOWN","meetingState","state","locked","getFullState","oldFullState","newFullState","previous","current","updates","isMeetingEnded","isMeetingTerminating","meetingTypeChangedTo","isTypeChanged","meetingStateChangedTo","meetingStateChange","INACTIVE","ACTIVE","INITIALIZING","TERMINATING"],"sources":["fullState.ts"],"sourcesContent":["import {FULL_STATE} from '../constants';\n\nconst FullState: any = {};\n\nFullState.parse = (fullState) => ({\n type: fullState.type || FULL_STATE.UNKNOWN,\n meetingState: fullState.state,\n locked: fullState.locked,\n});\n\nFullState.getFullState = (oldFullState, newFullState) => {\n const previous = oldFullState && FullState.parse(oldFullState);\n const current = newFullState && FullState.parse(newFullState);\n\n return {\n previous,\n current,\n updates: {\n isMeetingEnded: FullState.isMeetingEnded(previous, current),\n isMeetingTerminating: FullState.isMeetingTerminating(previous, current),\n meetingTypeChangedTo: FullState.isTypeChanged(previous, current),\n meetingStateChangedTo: FullState.meetingStateChange(previous, current),\n },\n };\n};\n\nFullState.isMeetingEnded = (previous, current) => {\n if (\n current.state === FULL_STATE.INACTIVE &&\n previous &&\n (previous.state === FULL_STATE.ACTIVE ||\n previous.state === FULL_STATE.INITIALIZING ||\n previous.state === FULL_STATE.TERMINATING)\n ) {\n return true;\n }\n\n return false;\n};\n\nFullState.isMeetingTerminating = (previous, current) => {\n if (\n current.state === FULL_STATE.TERMINATING &&\n previous &&\n (previous.state === FULL_STATE.ACTIVE || previous.state === FULL_STATE.INITIALIZING)\n ) {\n return true;\n }\n\n return false;\n};\n\nFullState.isTypeChanged = (previous, current) => {\n if (!previous || current.type !== previous.type) {\n return current && current.type;\n }\n\n return null;\n};\n\nFullState.meetingStateChange = (previous, current) => {\n if (!previous || current.meetingState !== previous.meetingState) {\n return current && current.meetingState;\n }\n\n return null;\n};\n\nexport default FullState;\n"],"mappings":";;;;;;;AAAA;AAEA,IAAMA,SAAc,GAAG,CAAC,CAAC;AAEzBA,SAAS,CAACC,KAAK,GAAG,UAACC,SAAS;EAAA,OAAM;IAChCC,IAAI,EAAED,SAAS,CAACC,IAAI,IAAIC,qBAAU,CAACC,OAAO;IAC1CC,YAAY,EAAEJ,SAAS,CAACK,KAAK;IAC7BC,MAAM,EAAEN,SAAS,CAACM;EACpB,CAAC;AAAA,CAAC;AAEFR,SAAS,CAACS,YAAY,GAAG,UAACC,YAAY,EAAEC,YAAY,EAAK;EACvD,IAAMC,QAAQ,GAAGF,YAAY,IAAIV,SAAS,CAACC,KAAK,CAACS,YAAY,CAAC;EAC9D,IAAMG,OAAO,GAAGF,YAAY,IAAIX,SAAS,CAACC,KAAK,CAACU,YAAY,CAAC;EAE7D,OAAO;IACLC,QAAQ,EAARA,QAAQ;IACRC,OAAO,EAAPA,OAAO;IACPC,OAAO,EAAE;MACPC,cAAc,EAAEf,SAAS,CAACe,cAAc,CAACH,QAAQ,EAAEC,OAAO,CAAC;MAC3DG,oBAAoB,EAAEhB,SAAS,CAACgB,oBAAoB,CAACJ,QAAQ,EAAEC,OAAO,CAAC;MACvEI,oBAAoB,EAAEjB,SAAS,CAACkB,aAAa,CAACN,QAAQ,EAAEC,OAAO,CAAC;MAChEM,qBAAqB,EAAEnB,SAAS,CAACoB,kBAAkB,CAACR,QAAQ,EAAEC,OAAO;IACvE;EACF,CAAC;AACH,CAAC;AAEDb,SAAS,CAACe,cAAc,GAAG,UAACH,QAAQ,EAAEC,OAAO,EAAK;EAChD,IACEA,OAAO,CAACN,KAAK,KAAKH,qBAAU,CAACiB,QAAQ,IACrCT,QAAQ,KACPA,QAAQ,CAACL,KAAK,KAAKH,qBAAU,CAACkB,MAAM,IACnCV,QAAQ,CAACL,KAAK,KAAKH,qBAAU,CAACmB,YAAY,IAC1CX,QAAQ,CAACL,KAAK,KAAKH,qBAAU,CAACoB,WAAW,CAAC,EAC5C;IACA,OAAO,IAAI;EACb;EAEA,OAAO,KAAK;AACd,CAAC;AAEDxB,SAAS,CAACgB,oBAAoB,GAAG,UAACJ,QAAQ,EAAEC,OAAO,EAAK;EACtD,IACEA,OAAO,CAACN,KAAK,KAAKH,qBAAU,CAACoB,WAAW,IACxCZ,QAAQ,KACPA,QAAQ,CAACL,KAAK,KAAKH,qBAAU,CAACkB,MAAM,IAAIV,QAAQ,CAACL,KAAK,KAAKH,qBAAU,CAACmB,YAAY,CAAC,EACpF;IACA,OAAO,IAAI;EACb;EAEA,OAAO,KAAK;AACd,CAAC;AAEDvB,SAAS,CAACkB,aAAa,GAAG,UAACN,QAAQ,EAAEC,OAAO,EAAK;EAC/C,IAAI,CAACD,QAAQ,IAAIC,OAAO,CAACV,IAAI,KAAKS,QAAQ,CAACT,IAAI,EAAE;IAC/C,OAAOU,OAAO,IAAIA,OAAO,CAACV,IAAI;EAChC;EAEA,OAAO,IAAI;AACb,CAAC;AAEDH,SAAS,CAACoB,kBAAkB,GAAG,UAACR,QAAQ,EAAEC,OAAO,EAAK;EACpD,IAAI,CAACD,QAAQ,IAAIC,OAAO,CAACP,YAAY,KAAKM,QAAQ,CAACN,YAAY,EAAE;IAC/D,OAAOO,OAAO,IAAIA,OAAO,CAACP,YAAY;EACxC;EAEA,OAAO,IAAI;AACb,CAAC;AAAC,eAEaN,SAAS;AAAA"}
@@ -1,28 +1,26 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  _Object$defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
-
9
7
  exports.default = void 0;
10
8
  var HostUtils = {};
9
+
11
10
  /**
12
11
  * parse the relevant host values that we care about: id
13
12
  * @param {Object} host
14
13
  * @returns {Object} parsed host or null if host was undefined
15
14
  */
16
-
17
15
  HostUtils.parse = function (host) {
18
16
  if (host) {
19
17
  return {
20
18
  hostId: HostUtils.getId(host)
21
19
  };
22
20
  }
23
-
24
21
  return null;
25
22
  };
23
+
26
24
  /**
27
25
  * get the previous and current host values parsed, as well as the boolean updates
28
26
  * @param {Object} oldHost
@@ -30,8 +28,6 @@ HostUtils.parse = function (host) {
30
28
  * @returns {Object}
31
29
  * previous: {Object} old host, current: {Object} new host, updates: {isNewHost: {boolean}} boolean update values
32
30
  */
33
-
34
-
35
31
  HostUtils.getHosts = function (oldHost, newHost) {
36
32
  var previous = oldHost && HostUtils.parse(oldHost);
37
33
  var current = newHost && HostUtils.parse(newHost);
@@ -43,32 +39,28 @@ HostUtils.getHosts = function (oldHost, newHost) {
43
39
  }
44
40
  };
45
41
  };
42
+
46
43
  /**
47
44
  * determine by id if 2 hosts are different
48
45
  * @param {String} previousId
49
46
  * @param {String} currentId
50
47
  * @returns {Boolean}
51
48
  */
52
-
53
-
54
49
  HostUtils.isDifferentHosts = function (previousId, currentId) {
55
50
  return previousId !== currentId;
56
51
  };
52
+
57
53
  /**
58
54
  * Extract the id from the host object
59
55
  * @param {Object} host
60
56
  * @returns {String}
61
57
  */
62
-
63
-
64
58
  HostUtils.getId = function (host) {
65
59
  if (!host) {
66
60
  return null;
67
61
  }
68
-
69
62
  return host.id;
70
63
  };
71
-
72
64
  var _default = HostUtils;
73
65
  exports.default = _default;
74
66
  //# sourceMappingURL=hostUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["HostUtils","parse","host","hostId","getId","getHosts","oldHost","newHost","previous","current","updates","isNewHost","isDifferentHosts","previousId","currentId","id"],"sources":["hostUtils.ts"],"sourcesContent":["const HostUtils: any = {};\n\n/**\n * parse the relevant host values that we care about: id\n * @param {Object} host\n * @returns {Object} parsed host or null if host was undefined\n */\nHostUtils.parse = (host: object) => {\n if (host) {\n return {\n hostId: HostUtils.getId(host),\n };\n }\n\n return null;\n};\n\n/**\n * get the previous and current host values parsed, as well as the boolean updates\n * @param {Object} oldHost\n * @param {Object} newHost\n * @returns {Object}\n * previous: {Object} old host, current: {Object} new host, updates: {isNewHost: {boolean}} boolean update values\n */\nHostUtils.getHosts = (oldHost: object, newHost: object) => {\n const previous = oldHost && HostUtils.parse(oldHost);\n const current = newHost && HostUtils.parse(newHost);\n\n return {\n previous,\n current,\n updates: {\n isNewHost:\n previous && current ? HostUtils.isDifferentHosts(previous.hostId, current.hostId) : true,\n },\n };\n};\n\n/**\n * determine by id if 2 hosts are different\n * @param {String} previousId\n * @param {String} currentId\n * @returns {Boolean}\n */\nHostUtils.isDifferentHosts = (previousId: string, currentId: string) => previousId !== currentId;\n\n/**\n * Extract the id from the host object\n * @param {Object} host\n * @returns {String}\n */\nHostUtils.getId = (host: any) => {\n if (!host) {\n return null;\n }\n\n return host.id;\n};\n\nexport default HostUtils;\n"],"mappings":";;;;;;;;;AAAA,IAAMA,SAAc,GAAG,EAAvB;AAEA;AACA;AACA;AACA;AACA;;AACAA,SAAS,CAACC,KAAV,GAAkB,UAACC,IAAD,EAAkB;EAClC,IAAIA,IAAJ,EAAU;IACR,OAAO;MACLC,MAAM,EAAEH,SAAS,CAACI,KAAV,CAAgBF,IAAhB;IADH,CAAP;EAGD;;EAED,OAAO,IAAP;AACD,CARD;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACAF,SAAS,CAACK,QAAV,GAAqB,UAACC,OAAD,EAAkBC,OAAlB,EAAsC;EACzD,IAAMC,QAAQ,GAAGF,OAAO,IAAIN,SAAS,CAACC,KAAV,CAAgBK,OAAhB,CAA5B;EACA,IAAMG,OAAO,GAAGF,OAAO,IAAIP,SAAS,CAACC,KAAV,CAAgBM,OAAhB,CAA3B;EAEA,OAAO;IACLC,QAAQ,EAARA,QADK;IAELC,OAAO,EAAPA,OAFK;IAGLC,OAAO,EAAE;MACPC,SAAS,EACPH,QAAQ,IAAIC,OAAZ,GAAsBT,SAAS,CAACY,gBAAV,CAA2BJ,QAAQ,CAACL,MAApC,EAA4CM,OAAO,CAACN,MAApD,CAAtB,GAAoF;IAF/E;EAHJ,CAAP;AAQD,CAZD;AAcA;AACA;AACA;AACA;AACA;AACA;;;AACAH,SAAS,CAACY,gBAAV,GAA6B,UAACC,UAAD,EAAqBC,SAArB;EAAA,OAA2CD,UAAU,KAAKC,SAA1D;AAAA,CAA7B;AAEA;AACA;AACA;AACA;AACA;;;AACAd,SAAS,CAACI,KAAV,GAAkB,UAACF,IAAD,EAAe;EAC/B,IAAI,CAACA,IAAL,EAAW;IACT,OAAO,IAAP;EACD;;EAED,OAAOA,IAAI,CAACa,EAAZ;AACD,CAND;;eAQef,S"}
1
+ {"version":3,"names":["HostUtils","parse","host","hostId","getId","getHosts","oldHost","newHost","previous","current","updates","isNewHost","isDifferentHosts","previousId","currentId","id"],"sources":["hostUtils.ts"],"sourcesContent":["const HostUtils: any = {};\n\n/**\n * parse the relevant host values that we care about: id\n * @param {Object} host\n * @returns {Object} parsed host or null if host was undefined\n */\nHostUtils.parse = (host: object) => {\n if (host) {\n return {\n hostId: HostUtils.getId(host),\n };\n }\n\n return null;\n};\n\n/**\n * get the previous and current host values parsed, as well as the boolean updates\n * @param {Object} oldHost\n * @param {Object} newHost\n * @returns {Object}\n * previous: {Object} old host, current: {Object} new host, updates: {isNewHost: {boolean}} boolean update values\n */\nHostUtils.getHosts = (oldHost: object, newHost: object) => {\n const previous = oldHost && HostUtils.parse(oldHost);\n const current = newHost && HostUtils.parse(newHost);\n\n return {\n previous,\n current,\n updates: {\n isNewHost:\n previous && current ? HostUtils.isDifferentHosts(previous.hostId, current.hostId) : true,\n },\n };\n};\n\n/**\n * determine by id if 2 hosts are different\n * @param {String} previousId\n * @param {String} currentId\n * @returns {Boolean}\n */\nHostUtils.isDifferentHosts = (previousId: string, currentId: string) => previousId !== currentId;\n\n/**\n * Extract the id from the host object\n * @param {Object} host\n * @returns {String}\n */\nHostUtils.getId = (host: any) => {\n if (!host) {\n return null;\n }\n\n return host.id;\n};\n\nexport default HostUtils;\n"],"mappings":";;;;;;;AAAA,IAAMA,SAAc,GAAG,CAAC,CAAC;;AAEzB;AACA;AACA;AACA;AACA;AACAA,SAAS,CAACC,KAAK,GAAG,UAACC,IAAY,EAAK;EAClC,IAAIA,IAAI,EAAE;IACR,OAAO;MACLC,MAAM,EAAEH,SAAS,CAACI,KAAK,CAACF,IAAI;IAC9B,CAAC;EACH;EAEA,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACAF,SAAS,CAACK,QAAQ,GAAG,UAACC,OAAe,EAAEC,OAAe,EAAK;EACzD,IAAMC,QAAQ,GAAGF,OAAO,IAAIN,SAAS,CAACC,KAAK,CAACK,OAAO,CAAC;EACpD,IAAMG,OAAO,GAAGF,OAAO,IAAIP,SAAS,CAACC,KAAK,CAACM,OAAO,CAAC;EAEnD,OAAO;IACLC,QAAQ,EAARA,QAAQ;IACRC,OAAO,EAAPA,OAAO;IACPC,OAAO,EAAE;MACPC,SAAS,EACPH,QAAQ,IAAIC,OAAO,GAAGT,SAAS,CAACY,gBAAgB,CAACJ,QAAQ,CAACL,MAAM,EAAEM,OAAO,CAACN,MAAM,CAAC,GAAG;IACxF;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACAH,SAAS,CAACY,gBAAgB,GAAG,UAACC,UAAkB,EAAEC,SAAiB;EAAA,OAAKD,UAAU,KAAKC,SAAS;AAAA;;AAEhG;AACA;AACA;AACA;AACA;AACAd,SAAS,CAACI,KAAK,GAAG,UAACF,IAAS,EAAK;EAC/B,IAAI,CAACA,IAAI,EAAE;IACT,OAAO,IAAI;EACb;EAEA,OAAOA,IAAI,CAACa,EAAE;AAChB,CAAC;AAAC,eAEaf,SAAS;AAAA"}