fcr-core 3.7.9-alpha → 3.8.0-alpha

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 (130) hide show
  1. package/lib/chat-connection/index.d.ts +1 -1
  2. package/lib/chat-connection/index.js +41 -26
  3. package/lib/engine/index.js +72 -78
  4. package/lib/imports.d.ts +7 -2
  5. package/lib/imports.js +26 -4
  6. package/lib/index.d.ts +2 -2
  7. package/lib/index.js +12 -0
  8. package/lib/media-control/desktop.js +22 -17
  9. package/lib/media-control/mobile.js +38 -33
  10. package/lib/media-control/type.d.ts +8 -0
  11. package/lib/monitor-control/index.js +10 -5
  12. package/lib/peer-session/index.js +48 -39
  13. package/lib/plugins/chatroom.js +237 -205
  14. package/lib/room-control/ability-control/index.js +14 -9
  15. package/lib/room-control/ability-control/type.d.ts +4 -1
  16. package/lib/room-control/ability-control/type.js +3 -0
  17. package/lib/room-control/group-control/index.js +21 -16
  18. package/lib/room-control/helpers/constants.d.ts +4 -0
  19. package/lib/room-control/helpers/constants.js +5 -1
  20. package/lib/room-control/helpers/validation-helper.js +1 -1
  21. package/lib/room-control/index.js +66 -38
  22. package/lib/room-control/interpreter-control/index.js +49 -38
  23. package/lib/room-control/interpreter-control/room.js +6 -4
  24. package/lib/room-control/join-before-host-waitingroom-control/index.js +6 -4
  25. package/lib/room-control/mainroom-control/index.js +90 -17
  26. package/lib/room-control/privilege-control/helper.js +8 -5
  27. package/lib/room-control/privilege-control/index.js +66 -19
  28. package/lib/room-control/privilege-control/type.d.ts +57 -10
  29. package/lib/room-control/privilege-control/type.js +17 -0
  30. package/lib/room-control/room-connector-control/index.js +28 -19
  31. package/lib/room-control/room-control-factory.js +3 -2
  32. package/lib/room-control/room-session/index.js +68 -49
  33. package/lib/room-control/room-session/type.d.ts +2 -2
  34. package/lib/room-control/shared-cache.js +36 -29
  35. package/lib/room-control/sharing-control/index.d.ts +5 -5
  36. package/lib/room-control/sharing-control/index.js +81 -43
  37. package/lib/room-control/sharing-control/type.d.ts +9 -5
  38. package/lib/room-control/sharing-control/type.js +6 -1
  39. package/lib/room-control/stream-control/index.d.ts +8 -1
  40. package/lib/room-control/stream-control/index.js +310 -199
  41. package/lib/room-control/stream-control/type.d.ts +6 -0
  42. package/lib/room-control/stt-control/de-compress-gzip.d.ts +1 -0
  43. package/lib/room-control/stt-control/de-compress-gzip.js +49 -0
  44. package/lib/room-control/stt-control/index.d.ts +1 -0
  45. package/lib/room-control/stt-control/index.js +353 -0
  46. package/lib/room-control/stt-control/type.d.ts +142 -0
  47. package/lib/room-control/stt-control/type.js +16 -0
  48. package/lib/room-control/type.d.ts +15 -0
  49. package/lib/room-control/type.js +13 -1
  50. package/lib/room-control/user-control/index.js +143 -136
  51. package/lib/room-control/waitingroom-control/index.js +14 -9
  52. package/lib/room-control/whiteboard-control/enum.d.ts +15 -0
  53. package/lib/room-control/whiteboard-control/{types.js → enum.js} +12 -1
  54. package/lib/room-control/whiteboard-control/type.d.ts +38 -0
  55. package/lib/room-control/whiteboard-control/type.js +15 -0
  56. package/lib/room-control/whiteboard-control/utils.d.ts +3 -0
  57. package/lib/room-control/whiteboard-control/utils.js +23 -0
  58. package/lib/room-control/whiteboard-control-v1/board-subwindow.d.ts +6 -0
  59. package/lib/room-control/whiteboard-control-v1/board-subwindow.js +26 -0
  60. package/lib/room-control/whiteboard-control-v1/board-window.d.ts +58 -0
  61. package/lib/room-control/whiteboard-control-v1/board-window.js +571 -0
  62. package/lib/room-control/{whiteboard-control/enums.d.ts → whiteboard-control-v1/enum.d.ts} +3 -17
  63. package/lib/room-control/{whiteboard-control/enums.js → whiteboard-control-v1/enum.js} +3 -20
  64. package/lib/room-control/whiteboard-control-v1/factory.d.ts +9 -0
  65. package/lib/room-control/whiteboard-control-v1/factory.js +22 -0
  66. package/lib/room-control/whiteboard-control-v1/index.d.ts +1 -0
  67. package/lib/room-control/whiteboard-control-v1/index.js +440 -0
  68. package/lib/room-control/whiteboard-control-v1/mount-manager.d.ts +4 -0
  69. package/lib/room-control/whiteboard-control-v1/mount-manager.js +15 -0
  70. package/lib/room-control/whiteboard-control-v1/type.d.ts +300 -0
  71. package/lib/room-control/whiteboard-control-v1/type.js +13 -0
  72. package/lib/room-control/whiteboard-control-v1/utils.d.ts +53 -0
  73. package/lib/room-control/whiteboard-control-v1/utils.js +290 -0
  74. package/lib/room-control/whiteboard-control-v2/annotation-control/control.d.ts +17 -31
  75. package/lib/room-control/whiteboard-control-v2/annotation-control/control.js +42 -228
  76. package/lib/room-control/whiteboard-control-v2/annotation-control/factory.d.ts +10 -0
  77. package/lib/room-control/whiteboard-control-v2/annotation-control/factory.js +48 -0
  78. package/lib/room-control/whiteboard-control-v2/annotation-control/type.d.ts +11 -19
  79. package/lib/room-control/whiteboard-control-v2/annotation-control/type.js +1 -3
  80. package/lib/room-control/whiteboard-control-v2/base/index.d.ts +42 -0
  81. package/lib/room-control/whiteboard-control-v2/base/index.js +317 -0
  82. package/lib/room-control/whiteboard-control-v2/{main-window.d.ts → base/main-window.d.ts} +6 -4
  83. package/lib/room-control/whiteboard-control-v2/{main-window.js → base/main-window.js} +54 -36
  84. package/lib/room-control/whiteboard-control-v2/constant.d.ts +6 -0
  85. package/lib/room-control/whiteboard-control-v2/constant.js +15 -0
  86. package/lib/room-control/whiteboard-control-v2/enum.d.ts +26 -0
  87. package/lib/room-control/whiteboard-control-v2/enum.js +34 -0
  88. package/lib/room-control/{whiteboard-control/types.d.ts → whiteboard-control-v2/type.d.ts} +51 -165
  89. package/lib/room-control/whiteboard-control-v2/type.js +5 -0
  90. package/lib/room-control/whiteboard-control-v2/utils.d.ts +5 -4
  91. package/lib/room-control/whiteboard-control-v2/utils.js +29 -27
  92. package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.d.ts +34 -33
  93. package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.js +131 -187
  94. package/lib/room-control/whiteboard-control-v2/whiteboard-control/factory.d.ts +11 -0
  95. package/lib/room-control/whiteboard-control-v2/{annotation-control/index.js → whiteboard-control/factory.js} +40 -38
  96. package/lib/room-control/whiteboard-control-v2/whiteboard-control/type.d.ts +18 -30
  97. package/lib/room-control/whiteboard-control-v2/whiteboard-control/type.js +1 -9
  98. package/lib/room-router/index.js +56 -42
  99. package/lib/schema.d.ts +23 -9
  100. package/lib/schema.js +10 -4
  101. package/lib/service/api.d.ts +75 -19
  102. package/lib/service/api.js +401 -208
  103. package/lib/type.d.ts +15 -2
  104. package/lib/type.js +13 -0
  105. package/lib/utilities/collection.js +3 -2
  106. package/lib/utilities/error-helpers.d.ts +2 -1
  107. package/lib/utilities/error-helpers.js +35 -27
  108. package/lib/utilities/error.d.ts +1 -0
  109. package/lib/utilities/error.js +10 -8
  110. package/lib/utilities/join-helper.js +32 -25
  111. package/lib/utilities/logger.d.ts +2 -2
  112. package/lib/utilities/logger.js +6 -3
  113. package/lib/utilities/parameters.js +8 -4
  114. package/lib/utilities/retry-helpers.js +1 -0
  115. package/lib/utilities/shared-storage.d.ts +3 -1
  116. package/lib/utilities/shared-storage.js +10 -1
  117. package/lib/utilities/storage.js +1 -0
  118. package/lib/utilities/stream.js +16 -11
  119. package/lib/utilities/user.js +4 -3
  120. package/lib/utilities/validate-params.js +2 -1
  121. package/package.json +11 -5
  122. package/lib/room-control/whiteboard-control-v2/annotation-control/index.d.ts +0 -19
  123. package/lib/room-control/whiteboard-control-v2/annotation-control/privilege-control.d.ts +0 -36
  124. package/lib/room-control/whiteboard-control-v2/annotation-control/privilege-control.js +0 -252
  125. package/lib/room-control/whiteboard-control-v2/index.d.ts +0 -38
  126. package/lib/room-control/whiteboard-control-v2/index.js +0 -274
  127. package/lib/room-control/whiteboard-control-v2/whiteboard-control/index.d.ts +0 -17
  128. package/lib/room-control/whiteboard-control-v2/whiteboard-control/index.js +0 -30
  129. package/lib/room-control/whiteboard-control-v2/whiteboard-control/privilege-control.d.ts +0 -36
  130. package/lib/room-control/whiteboard-control-v2/whiteboard-control/privilege-control.js +0 -240
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.symbol.description.js");
4
+ require("core-js/modules/es.error.cause.js");
3
5
  require("core-js/modules/esnext.function.metadata.js");
4
6
  require("core-js/modules/esnext.symbol.metadata.js");
5
7
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -25,30 +27,29 @@ require("core-js/modules/esnext.map.merge.js");
25
27
  require("core-js/modules/esnext.map.reduce.js");
26
28
  require("core-js/modules/esnext.map.some.js");
27
29
  require("core-js/modules/esnext.map.update.js");
30
+ require("core-js/modules/web.dom-collections.iterator.js");
31
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
28
32
  var _imports = require("../../imports");
29
33
  var _user = require("../../utilities/user");
30
34
  var _logger = require("../../utilities/logger");
31
35
  var _error = require("../../utilities/error");
32
36
  var _validateParams = _interopRequireDefault(require("../../utilities/validate-params"));
33
37
  var _schema = require("../../schema");
34
- let _initProto, _getGroupUserListDecs, _addGroupsDecs, _updateGroupsDecs, _deleteGroupsDecs, _addUsersDecs, _removeUsersDecs, _moveUsersDecs;
38
+ var _FcrGroupControl;
39
+ let _initProto, _getGroupUserListDecs, _addGroupsDecs, _updateGroupsDecs, _deleteGroupsDecs, _addUsersDecs, _removeUsersDecs, _moveUsersDecs, _ref;
35
40
  function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function (e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O.static = l, O.private = f, f ? 2 === o ? k = function (e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function (e) { return e[n]; }, (o < 2 || 4 === o) && (F = function (e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == typeof P && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol.for("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol.for("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function (t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
36
41
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
37
42
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
38
43
  function _setFunctionName(e, t, n) { "symbol" == typeof t && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
39
44
  function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? typeof e : "null")); return e; }
45
+ _ref = (_getGroupUserListDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _addGroupsDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrGroupCreateConfigArraySchema)], _updateGroupsDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrGroupUpdateOptionsArraySchema)], _deleteGroupsDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringArraySchema)], _addUsersDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringArraySchema, _schema.stringSchema)], _removeUsersDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringArraySchema, _schema.stringSchema)], _moveUsersDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringArraySchema, _schema.stringSchema, _schema.stringSchema)], "logger");
40
46
  class FcrGroupControl {
41
- static {
42
- [_initProto] = _applyDecs(this, [[_imports.trace, 2, "getGroupList"], [_getGroupUserListDecs, 2, "getGroupUserList"], [_addGroupsDecs, 2, "addGroups"], [_updateGroupsDecs, 2, "updateGroups"], [_deleteGroupsDecs, 2, "deleteGroups"], [_imports.trace, 2, "deleteAllGroups"], [_addUsersDecs, 2, "addUsers"], [_removeUsersDecs, 2, "removeUsers"], [_moveUsersDecs, 2, "moveUsers"]], []).e;
43
- }
44
- //@internal
45
- [(_getGroupUserListDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _addGroupsDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrGroupCreateConfigArraySchema)], _updateGroupsDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrGroupUpdateOptionsArraySchema)], _deleteGroupsDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringArraySchema)], _addUsersDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringArraySchema, _schema.stringSchema)], _removeUsersDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringArraySchema, _schema.stringSchema)], _moveUsersDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringArraySchema, _schema.stringSchema, _schema.stringSchema)], "logger")] = (_initProto(this), (0, _logger.createLogger)({
46
- prefix: 'FcrGroupControl'
47
- }));
48
- //@internal
49
-
50
- _observable = new _imports.AgoraObservable();
51
47
  constructor(_engine, _scene, _api, _sharedCache) {
48
+ //@internal
49
+ (0, _defineProperty2.default)(this, _ref, (_initProto(this), (0, _logger.createLogger)({
50
+ prefix: 'FcrGroupControl'
51
+ })));
52
+ (0, _defineProperty2.default)(this, "_observable", new _imports.AgoraObservable());
52
53
  this._engine = _engine;
53
54
  this._scene = _scene;
54
55
  this._api = _api;
@@ -60,7 +61,8 @@ class FcrGroupControl {
60
61
  _addSceneObserver() {
61
62
  const observer = {
62
63
  onScenePropertiesUpdated: (sceneId, event) => {
63
- if (event.cause?.cmd === 11) {
64
+ var _event$cause;
65
+ if (((_event$cause = event.cause) === null || _event$cause === void 0 ? void 0 : _event$cause.cmd) === 11) {
64
66
  const data = event.cause.data;
65
67
  const changedProperties = event.changedProperties;
66
68
  const groupDetails = changedProperties.groups.details;
@@ -88,7 +90,8 @@ class FcrGroupControl {
88
90
  this._observable.notifyObservers('onGroupsUpdated', groupEvents);
89
91
  }
90
92
  if (data.actionType === 4) {
91
- data.changeGroups?.forEach(group => {
93
+ var _data$changeGroups, _data$changeGroups2, _data$changeGroups3;
94
+ (_data$changeGroups = data.changeGroups) === null || _data$changeGroups === void 0 || _data$changeGroups.forEach(group => {
92
95
  const {
93
96
  removeUsers,
94
97
  groupUuid
@@ -109,7 +112,7 @@ class FcrGroupControl {
109
112
  }
110
113
  });
111
114
  const toGroupMap = new Map();
112
- data.changeGroups?.forEach(group => {
115
+ (_data$changeGroups2 = data.changeGroups) === null || _data$changeGroups2 === void 0 || _data$changeGroups2.forEach(group => {
113
116
  const {
114
117
  removeUsers
115
118
  } = group;
@@ -152,7 +155,7 @@ class FcrGroupControl {
152
155
  };
153
156
  }));
154
157
  });
155
- data.changeGroups?.forEach(group => {
158
+ (_data$changeGroups3 = data.changeGroups) === null || _data$changeGroups3 === void 0 || _data$changeGroups3.forEach(group => {
156
159
  const {
157
160
  addUsers,
158
161
  groupUuid
@@ -259,4 +262,6 @@ class FcrGroupControl {
259
262
  this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onGroupsAdded', 'onGroupsUpdated', 'onGroupsRemoved', 'onUserListAddedToGroup', 'onUserListRemovedFromGroup', 'onUserListMoveToGroup']));
260
263
  }
261
264
  }
262
- exports.FcrGroupControl = FcrGroupControl;
265
+ exports.FcrGroupControl = FcrGroupControl;
266
+ _FcrGroupControl = FcrGroupControl;
267
+ [_initProto] = _applyDecs(_FcrGroupControl, [[_imports.trace, 2, "getGroupList"], [_getGroupUserListDecs, 2, "getGroupUserList"], [_addGroupsDecs, 2, "addGroups"], [_updateGroupsDecs, 2, "updateGroups"], [_deleteGroupsDecs, 2, "deleteGroups"], [_imports.trace, 2, "deleteAllGroups"], [_addUsersDecs, 2, "addUsers"], [_removeUsersDecs, 2, "removeUsers"], [_moveUsersDecs, 2, "moveUsers"]], []).e;
@@ -44,6 +44,10 @@ export declare const ROOM_MESSAGE_COMMANDS: {
44
44
  readonly LIVE_STREAMING_UPDATE: 700;
45
45
  /** 用户被踢出命令 */
46
46
  readonly USER_KICK_OUT: 5;
47
+ /** 房间会话请求命令 */
48
+ readonly ROOM_SESSION_REQUEST: 1001;
49
+ /** 房间会话接受命令 */
50
+ readonly ROOM_SESSION_ACCEPT: 1002;
47
51
  };
48
52
  /**
49
53
  * 录制状态值
@@ -52,7 +52,11 @@ const ROOM_MESSAGE_COMMANDS = exports.ROOM_MESSAGE_COMMANDS = {
52
52
  /** 直播状态更新命令 */
53
53
  LIVE_STREAMING_UPDATE: 700,
54
54
  /** 用户被踢出命令 */
55
- USER_KICK_OUT: 5
55
+ USER_KICK_OUT: 5,
56
+ /** 房间会话请求命令 */
57
+ ROOM_SESSION_REQUEST: 1001,
58
+ /** 房间会话接受命令 */
59
+ ROOM_SESSION_ACCEPT: 1002
56
60
  };
57
61
 
58
62
  /**
@@ -33,7 +33,7 @@ function validateControllerInitialized(controller, controllerType) {
33
33
  */
34
34
  function validateRoomJoined(joinRoomSuccess, operation) {
35
35
  if (!joinRoomSuccess) {
36
- throw _errorHelpers.roomControlErrorHelper.createOperationError(`${operation}, please join room first`);
36
+ throw _errorHelpers.roomControlErrorHelper.createOperationError("".concat(operation, ", please join room first"));
37
37
  }
38
38
  }
39
39
 
@@ -1,7 +1,12 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.symbol.description.js");
4
+ require("core-js/modules/es.error.cause.js");
3
5
  require("core-js/modules/es.array.push.js");
4
6
  require("core-js/modules/esnext.function.metadata.js");
7
+ require("core-js/modules/esnext.iterator.constructor.js");
8
+ require("core-js/modules/esnext.iterator.filter.js");
9
+ require("core-js/modules/esnext.iterator.for-each.js");
5
10
  require("core-js/modules/esnext.map.delete-all.js");
6
11
  require("core-js/modules/esnext.map.emplace.js");
7
12
  require("core-js/modules/esnext.map.every.js");
@@ -17,10 +22,13 @@ require("core-js/modules/esnext.map.reduce.js");
17
22
  require("core-js/modules/esnext.map.some.js");
18
23
  require("core-js/modules/esnext.map.update.js");
19
24
  require("core-js/modules/esnext.symbol.metadata.js");
25
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
20
26
  Object.defineProperty(exports, "__esModule", {
21
27
  value: true
22
28
  });
23
29
  exports.FcrSubRoomControlImpl = exports.FcrBaseRoomControlImpl = void 0;
30
+ require("core-js/modules/web.dom-collections.iterator.js");
31
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
24
32
  var _imports = require("../imports");
25
33
  var _type = require("../type");
26
34
  var _type2 = require("./type");
@@ -37,6 +45,8 @@ var _logger = require("../utilities/logger");
37
45
  var _2 = require("..");
38
46
  var _helpers = require("./helpers");
39
47
  var _errorHelpers = require("../utilities/error-helpers");
48
+ var _sttControl = require("./stt-control");
49
+ var _FcrBaseRoomControlImpl;
40
50
  let _initProto; // Core SDK imports
41
51
  // Service and API imports
42
52
  // Type definitions
@@ -45,6 +55,8 @@ let _initProto; // Core SDK imports
45
55
  // Error handling and utilities
46
56
  // Core state
47
57
  // Helpers and utilities
58
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
59
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
48
60
  function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function (e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O.static = l, O.private = f, f ? 2 === o ? k = function (e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function (e) { return e[n]; }, (o < 2 || 4 === o) && (F = function (e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == typeof P && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol.for("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol.for("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function (t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
49
61
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
50
62
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -59,18 +71,15 @@ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side
59
71
  * @internal
60
72
  */
61
73
  class FcrBaseRoomControlImpl {
62
- static {
63
- [_initProto] = _applyDecs(this, [[_imports.trace, 2, "getSyncTimestamp"], [_imports.trace, 2, "getRoomInfo"], [_imports.trace, 2, "getRoomSchedule"], [_imports.trace, 2, "join"], [_imports.trace, 2, "leave"], [_imports.trace, 2, "start"], [_imports.trace, 2, "end"], [_imports.trace, 2, "close"], [_imports.trace, 2, "getRoomState"], [_imports.trace, 2, "getRoomProperties"], [_imports.trace, 2, "getRoomPropertiesByKeyPath"], [_imports.trace, 2, "updateRoomProperties"], [_imports.trace, 2, "updateIncrementRoomProperties"], [_imports.trace, 2, "deleteRoomProperties"], [_imports.trace, 2, "startCloudRecording"], [_imports.trace, 2, "pauseCloudRecording"], [_imports.trace, 2, "resumeCloudRecording"], [_imports.trace, 2, "stopCloudRecording"], [_imports.trace, 2, "getLiveStreamingState"], [_imports.trace, 2, "getLiveStreamingConfig"], [_imports.trace, 2, "startLiveStreaming"], [_imports.trace, 2, "updateLiveStreamingLayout"], [_imports.trace, 2, "stopLiveStreaming"], [_imports.trace, 2, "getCloudRecordingState"], [_imports.trace, 2, "sendRoomMessage"]], []).e;
64
- }
65
- //@internal
66
- logger = (_initProto(this), (0, _logger.createLogger)({
67
- prefix: 'FcrBaseRoomControlImpl'
68
- }));
69
- _observable = new _imports.AgoraObservable();
70
- _joinRoomSuccess = false;
71
- _joining = false;
72
- _joinState = _helpers.ROOM_CONTROL_CONSTANTS.JOIN_STATE.CANCELED;
73
74
  constructor(_engine, _scene, _api, _config, _roomType, _chatConnection, _sharedCache, _chatRoomControl) {
75
+ //@internal
76
+ (0, _defineProperty2.default)(this, "logger", (_initProto(this), (0, _logger.createLogger)({
77
+ prefix: 'FcrBaseRoomControlImpl'
78
+ })));
79
+ (0, _defineProperty2.default)(this, "_observable", new _imports.AgoraObservable());
80
+ (0, _defineProperty2.default)(this, "_joinRoomSuccess", false);
81
+ (0, _defineProperty2.default)(this, "_joining", false);
82
+ (0, _defineProperty2.default)(this, "_joinState", _helpers.ROOM_CONTROL_CONSTANTS.JOIN_STATE.CANCELED);
74
83
  this._engine = _engine;
75
84
  this._scene = _scene;
76
85
  this._api = _api;
@@ -94,8 +103,9 @@ class FcrBaseRoomControlImpl {
94
103
  };
95
104
  this._sceneObserver = {
96
105
  onJoinSceneSuccess: (sceneId, localUser) => {
106
+ var _this$_chatRoomContro;
97
107
  this._joinRoomSuccess = true;
98
- this._chatRoomControl?.join();
108
+ (_this$_chatRoomContro = this._chatRoomControl) === null || _this$_chatRoomContro === void 0 || _this$_chatRoomContro.join();
99
109
  this._userControl = new _userControl.FcrUserControlImpl(this._scene, this._api, this._sharedCache);
100
110
  this._streamControl = new _streamControl.FcrStreamControlImpl(this._engine, this._scene, this._api, this._sharedCache);
101
111
  this._roomSessionControl = new _roomSession.FcrRoomSessionControlImpl(this, this._api, localUser.getLocalUserId());
@@ -108,6 +118,7 @@ class FcrBaseRoomControlImpl {
108
118
  this.logger.info('[whiteboard]: join scene success, start create sharing control');
109
119
  this.sharingControl = new _sharingControl.FcrSharingControlImpl(this._scene, this._api, this._engine, this._privilegeControl, this._streamControl, this._sharedCache, this._userControl);
110
120
  }
121
+ this._sttControl = new _sttControl.FcrSttControlImpl(this._scene, this._api, this._sharedCache);
111
122
  this._observable.notifyObservers('onJoinRoomSuccess', sceneId);
112
123
  },
113
124
  // onJoinSceneFailure: (sceneId, error) => {
@@ -126,22 +137,25 @@ class FcrBaseRoomControlImpl {
126
137
  this._observable.notifyObservers('onRoomMessageReceived', sceneId, message);
127
138
  const payload = message.payload;
128
139
  if (message.cmd === _helpers.ROOM_MESSAGE_COMMANDS.ROOM_ROUTE_SWITCH) {
129
- const localUserRole = this._userControl?.getLocalUser().userRole;
140
+ var _this$_userControl;
141
+ const localUserRole = (_this$_userControl = this._userControl) === null || _this$_userControl === void 0 ? void 0 : _this$_userControl.getLocalUser().userRole;
130
142
  if (localUserRole && payload.targetRoles.includes(_type.FcrUserRoleToStringMap[localUserRole])) {
143
+ var _this$_userControl2;
131
144
  this._observable.notifyObservers('onRoomRouteSwitched', {
132
145
  targetRouting: {
133
146
  roomId: payload.toRoom.roomUuid,
134
147
  roomType: payload.toRoom.roomType,
135
148
  isJoined: false
136
149
  },
137
- operatorUser: this._userControl?.getUser(message.senderId)
150
+ operatorUser: (_this$_userControl2 = this._userControl) === null || _this$_userControl2 === void 0 ? void 0 : _this$_userControl2.getUser(message.senderId)
138
151
  });
139
152
  this.leave();
140
153
  }
141
154
  }
142
155
  },
143
156
  onScenePropertiesUpdated: async (sceneId, event) => {
144
- if (event.cause?.cmd === _helpers.ROOM_MESSAGE_COMMANDS.CLOUD_RECORDING) {
157
+ var _event$cause, _event$cause2, _event$cause3, _event$cause4;
158
+ if (((_event$cause = event.cause) === null || _event$cause === void 0 ? void 0 : _event$cause.cmd) === _helpers.ROOM_MESSAGE_COMMANDS.CLOUD_RECORDING) {
145
159
  const {
146
160
  state,
147
161
  ready,
@@ -150,7 +164,7 @@ class FcrBaseRoomControlImpl {
150
164
  const recordState = this._formatRecordingState(state, ready, onhold);
151
165
  this._observable.notifyObservers('onCloudRecordingStateUpdated', sceneId, recordState);
152
166
  }
153
- if (event.cause?.cmd === _helpers.ROOM_MESSAGE_COMMANDS.ROOM_STATE_UPDATE) {
167
+ if (((_event$cause2 = event.cause) === null || _event$cause2 === void 0 ? void 0 : _event$cause2.cmd) === _helpers.ROOM_MESSAGE_COMMANDS.ROOM_STATE_UPDATE) {
154
168
  const schedule = event.changedProperties.schedule;
155
169
  if (schedule.state === _helpers.ROOM_STATE_VALUES.ENDED) {
156
170
  this._joinState = _helpers.ROOM_CONTROL_CONSTANTS.JOIN_STATE.CANCELED;
@@ -158,7 +172,7 @@ class FcrBaseRoomControlImpl {
158
172
  }
159
173
  this._observable.notifyObservers('onRoomStateUpdated', sceneId, schedule.state);
160
174
  }
161
- if (event.cause?.cmd === _helpers.ROOM_MESSAGE_COMMANDS.ROOM_PROPERTIES_UPDATE) {
175
+ if (((_event$cause3 = event.cause) === null || _event$cause3 === void 0 ? void 0 : _event$cause3.cmd) === _helpers.ROOM_MESSAGE_COMMANDS.ROOM_PROPERTIES_UPDATE) {
162
176
  const changedProperties = {};
163
177
  for (const key in event.changedProperties) {
164
178
  if (key.startsWith('flexProps')) {
@@ -167,17 +181,17 @@ class FcrBaseRoomControlImpl {
167
181
  }
168
182
  if (Object.keys(changedProperties).length > 0) {
169
183
  const structure = (0, _collection.convertToStructure)(changedProperties);
170
- this._observable.notifyObservers('onRoomPropertiesUpdated', sceneId, {
171
- ...event,
184
+ this._observable.notifyObservers('onRoomPropertiesUpdated', sceneId, _objectSpread(_objectSpread({}, event), {}, {
172
185
  changedProperties: structure['flexProps']
173
- });
186
+ }));
174
187
  }
175
188
  }
176
- if (event.cause?.cmd === _helpers.ROOM_MESSAGE_COMMANDS.LIVE_STREAMING_UPDATE) {
189
+ if (((_event$cause4 = event.cause) === null || _event$cause4 === void 0 ? void 0 : _event$cause4.cmd) === _helpers.ROOM_MESSAGE_COMMANDS.LIVE_STREAMING_UPDATE) {
190
+ var _event$cause5;
177
191
  let liveStreamingState = _type.FcrLiveStreamingState.STOPPED;
178
192
  let state = this._scene.getScenePropertiesByKeyPath('live.state');
179
193
  let pageUrl = this._scene.getScenePropertiesByKeyPath('live.pageUrl');
180
- const reason = event.cause?.data?.reason;
194
+ const reason = (_event$cause5 = event.cause) === null || _event$cause5 === void 0 || (_event$cause5 = _event$cause5.data) === null || _event$cause5 === void 0 ? void 0 : _event$cause5.reason;
181
195
  if (state === _helpers.LIVE_STREAMING_STATE_VALUES.STARTED) {
182
196
  liveStreamingState = _type.FcrLiveStreamingState.STARTED;
183
197
  }
@@ -188,7 +202,8 @@ class FcrBaseRoomControlImpl {
188
202
  }
189
203
  },
190
204
  onScenePropertiesDeleted: (sceneId, event) => {
191
- if (event.cause?.cmd === _helpers.ROOM_MESSAGE_COMMANDS.ROOM_PROPERTIES_UPDATE) {
205
+ var _event$cause6;
206
+ if (((_event$cause6 = event.cause) === null || _event$cause6 === void 0 ? void 0 : _event$cause6.cmd) === _helpers.ROOM_MESSAGE_COMMANDS.ROOM_PROPERTIES_UPDATE) {
192
207
  this._observable.notifyObservers('onRoomPropertiesDeleted', sceneId, event);
193
208
  }
194
209
  },
@@ -199,13 +214,25 @@ class FcrBaseRoomControlImpl {
199
214
  this._observable.notifyObservers('onNetworkStatsUpdated', sceneId, stats);
200
215
  },
201
216
  onUserPropertiesUpdated: (_, event) => {
202
- if (event.cause?.cmd === _helpers.ROOM_MESSAGE_COMMANDS.USER_KICK_OUT && event.modifiedUser.userId === this._scene.localUser.getLocalUserId()) {
217
+ var _event$cause7;
218
+ if (((_event$cause7 = event.cause) === null || _event$cause7 === void 0 ? void 0 : _event$cause7.cmd) === _helpers.ROOM_MESSAGE_COMMANDS.USER_KICK_OUT && event.modifiedUser.userId === this._scene.localUser.getLocalUserId()) {
203
219
  this._joinState = _helpers.ROOM_CONTROL_CONSTANTS.JOIN_STATE.CANCELED;
204
220
  this._cleanup();
205
221
  }
206
222
  }
207
223
  };
208
224
  }
225
+
226
+ /**
227
+ * 获取字幕控制器
228
+ * @returns 字幕控制器实例
229
+ * @throws {FcrError} 如果控制器未初始化
230
+ */
231
+ // @trace
232
+ getSttControl() {
233
+ (0, _helpers.validateControllerInitialized)(this._sttControl, _errorHelpers.ControllerType.STT);
234
+ return this._sttControl;
235
+ }
209
236
  /**
210
237
  * 获取屏幕共享控制器
211
238
  * @returns 屏幕共享控制器实例
@@ -290,16 +317,17 @@ class FcrBaseRoomControlImpl {
290
317
  * @returns 房间信息,如果未加入房间则返回 undefined
291
318
  */
292
319
  getRoomInfo() {
320
+ var _userProperties$info, _passwordInfo$payload;
293
321
  const sceneInfo = this._scene.getSceneInfo();
294
322
  const passwordInfo = this._scene.getScenePropertiesByKeyPath('security.password');
295
323
  const userProperties = this._scene.getUserPropertiesByUserId(this._scene.localUser.getLocalUserId());
296
- const shareLink = userProperties?.info?.shareLink;
324
+ const shareLink = userProperties === null || userProperties === void 0 || (_userProperties$info = userProperties.info) === null || _userProperties$info === void 0 ? void 0 : _userProperties$info.shareLink;
297
325
  const label = this._scene.getScenePropertiesByKeyPath('label');
298
326
  return sceneInfo ? {
299
327
  roomId: sceneInfo.sceneId,
300
328
  roomName: sceneInfo.sceneName,
301
329
  roomType: this._roomType,
302
- password: passwordInfo?.payload?.text,
330
+ password: passwordInfo === null || passwordInfo === void 0 || (_passwordInfo$payload = passwordInfo.payload) === null || _passwordInfo$payload === void 0 ? void 0 : _passwordInfo$payload.text,
303
331
  inviteLink: shareLink,
304
332
  label
305
333
  } : void 0;
@@ -312,13 +340,13 @@ class FcrBaseRoomControlImpl {
312
340
  * @throws {FcrError} 如果未加入房间
313
341
  */
314
342
  getRoomSchedule() {
343
+ var _schedule$duration, _schedule$startTime;
315
344
  (0, _helpers.validateRoomJoined)(this._joinRoomSuccess, 'get schedule info');
316
345
  const schedule = this._scene.getScenePropertiesByKeyPath('schedule');
317
- return {
318
- ...schedule,
319
- duration: schedule.duration ?? 0,
320
- startTime: Math.floor((schedule.startTime ?? 0) / 1000)
321
- };
346
+ return _objectSpread(_objectSpread({}, schedule), {}, {
347
+ duration: (_schedule$duration = schedule.duration) !== null && _schedule$duration !== void 0 ? _schedule$duration : 0,
348
+ startTime: Math.floor(((_schedule$startTime = schedule.startTime) !== null && _schedule$startTime !== void 0 ? _schedule$startTime : 0) / 1000)
349
+ });
322
350
  }
323
351
  /**
324
352
  * 加入房间
@@ -403,7 +431,7 @@ class FcrBaseRoomControlImpl {
403
431
  async _handleRobotUserSetup(options) {
404
432
  if (options.userRole === _type.FcrUserRole.ROBOT) {
405
433
  const res = (0, _error.handleRequestError)(() => this._api.setCloudRecordingReady(this._scene.sceneId), _error.FcrErrorModuleCode.ROOM, 'set cloud recording ready failed');
406
- this.logger.info(`set cloud recording ready, response: ${(0, _imports.jsonstring)(res)}`);
434
+ this.logger.info("set cloud recording ready, response: ".concat((0, _imports.jsonstring)(res)));
407
435
  }
408
436
  }
409
437
 
@@ -412,7 +440,7 @@ class FcrBaseRoomControlImpl {
412
440
  * @private
413
441
  */
414
442
  _handleJoinFailure(error) {
415
- this.logger.error(`加入房间失败: ${error.message}`);
443
+ this.logger.error("failed to join room: ".concat(error.message));
416
444
  this._observable.notifyObservers('onJoinRoomFailure', this._scene.sceneId, error);
417
445
  }
418
446
 
@@ -552,11 +580,9 @@ class FcrBaseRoomControlImpl {
552
580
  this._scene.removeObserver(this._sceneObserver);
553
581
  this._engine.removeObserver(this._engineObserver);
554
582
  try {
555
- return await Promise.all([
556
- // @ts-ignore
557
- this._chatRoomControl?.leave(),
558
- // this._whiteboardControl?.close(),
559
- this._scene.leave()]);
583
+ var _this$_chatRoomContro2, _this$sharingControl, _this$sharingControl2;
584
+ return await Promise.all([// @ts-ignore
585
+ (_this$_chatRoomContro2 = this._chatRoomControl) === null || _this$_chatRoomContro2 === void 0 ? void 0 : _this$_chatRoomContro2.leave(), (_this$sharingControl = this.sharingControl) === null || _this$sharingControl === void 0 ? void 0 : _this$sharingControl.getBoardControl().close(), (_this$sharingControl2 = this.sharingControl) === null || _this$sharingControl2 === void 0 ? void 0 : _this$sharingControl2.getAnnotationControl().close(), this._scene.leave()]);
560
586
  } finally {
561
587
  this._joinRoomSuccess = false;
562
588
  }
@@ -593,5 +619,7 @@ class FcrBaseRoomControlImpl {
593
619
  * @internal
594
620
  */
595
621
  exports.FcrBaseRoomControlImpl = FcrBaseRoomControlImpl;
622
+ _FcrBaseRoomControlImpl = FcrBaseRoomControlImpl;
623
+ [_initProto] = _applyDecs(_FcrBaseRoomControlImpl, [[_imports.trace, 2, "getSyncTimestamp"], [_imports.trace, 2, "getRoomInfo"], [_imports.trace, 2, "getRoomSchedule"], [_imports.trace, 2, "join"], [_imports.trace, 2, "leave"], [_imports.trace, 2, "start"], [_imports.trace, 2, "end"], [_imports.trace, 2, "close"], [_imports.trace, 2, "getRoomState"], [_imports.trace, 2, "getRoomProperties"], [_imports.trace, 2, "getRoomPropertiesByKeyPath"], [_imports.trace, 2, "updateRoomProperties"], [_imports.trace, 2, "updateIncrementRoomProperties"], [_imports.trace, 2, "deleteRoomProperties"], [_imports.trace, 2, "startCloudRecording"], [_imports.trace, 2, "pauseCloudRecording"], [_imports.trace, 2, "resumeCloudRecording"], [_imports.trace, 2, "stopCloudRecording"], [_imports.trace, 2, "getLiveStreamingState"], [_imports.trace, 2, "getLiveStreamingConfig"], [_imports.trace, 2, "startLiveStreaming"], [_imports.trace, 2, "updateLiveStreamingLayout"], [_imports.trace, 2, "stopLiveStreaming"], [_imports.trace, 2, "getCloudRecordingState"], [_imports.trace, 2, "sendRoomMessage"]], []).e;
596
624
  class FcrSubRoomControlImpl extends FcrBaseRoomControlImpl {}
597
625
  exports.FcrSubRoomControlImpl = FcrSubRoomControlImpl;
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.symbol.description.js");
4
+ require("core-js/modules/es.error.cause.js");
3
5
  require("core-js/modules/es.array.push.js");
4
6
  require("core-js/modules/esnext.function.metadata.js");
5
7
  require("core-js/modules/esnext.map.delete-all.js");
@@ -24,6 +26,8 @@ Object.defineProperty(exports, "__esModule", {
24
26
  exports.FcrInterpreterControlImpl = void 0;
25
27
  require("core-js/modules/esnext.iterator.constructor.js");
26
28
  require("core-js/modules/esnext.iterator.map.js");
29
+ require("core-js/modules/web.dom-collections.iterator.js");
30
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
31
  var _imports = require("../../imports");
28
32
  var _room = require("./room");
29
33
  var _types = require("./types");
@@ -32,26 +36,25 @@ var _logger = require("../../utilities/logger");
32
36
  var _error = require("../../utilities/error");
33
37
  var _validateParams = _interopRequireDefault(require("../../utilities/validate-params"));
34
38
  var _schema = require("../../schema");
35
- let _initProto, _createRoomControlDecs, _setInterpreterUsersDecs;
39
+ var _FcrInterpreterControlImpl;
40
+ let _initProto, _createRoomControlDecs, _setInterpreterUsersDecs, _ref;
36
41
  function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function (e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O.static = l, O.private = f, f ? 2 === o ? k = function (e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function (e) { return e[n]; }, (o < 2 || 4 === o) && (F = function (e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == typeof P && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol.for("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol.for("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function (t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
37
42
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
38
43
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
39
44
  function _setFunctionName(e, t, n) { "symbol" == typeof t && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
40
45
  function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? typeof e : "null")); return e; }
46
+ _ref = (_createRoomControlDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _setInterpreterUsersDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrInterpreterUsersParamsArraySchema)], "logger");
41
47
  /**
42
48
  * @internal
43
49
  */
44
50
  class FcrInterpreterControlImpl {
45
- static {
46
- [_initProto] = _applyDecs(this, [[_createRoomControlDecs, 2, "createRoomControl"], [_setInterpreterUsersDecs, 2, "setInterpreterUsers"], [_imports.trace, 2, "close"], [_imports.trace, 2, "getState"], [_imports.trace, 2, "getInterpreterRoomList"], [_imports.trace, 2, "getInterpreterLanguageList"]], []).e;
47
- }
48
- //@internal
49
- [(_createRoomControlDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _setInterpreterUsersDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrInterpreterUsersParamsArraySchema)], "logger")] = (_initProto(this), (0, _logger.createLogger)({
50
- prefix: 'FcrInterpreterControlImpl'
51
- }));
52
- _observable = new _imports.AgoraObservable();
53
- _interpreterUserList = null;
54
51
  constructor(_api, _scene, _config, _engine, _chatConnection, _sharedCache) {
52
+ //@internal
53
+ (0, _defineProperty2.default)(this, _ref, (_initProto(this), (0, _logger.createLogger)({
54
+ prefix: 'FcrInterpreterControlImpl'
55
+ })));
56
+ (0, _defineProperty2.default)(this, "_observable", new _imports.AgoraObservable());
57
+ (0, _defineProperty2.default)(this, "_interpreterUserList", null);
55
58
  this._api = _api;
56
59
  this._scene = _scene;
57
60
  this._config = _config;
@@ -61,6 +64,7 @@ class FcrInterpreterControlImpl {
61
64
  this._roomCache = _sharedCache.getRoomCache(this._scene.sceneId);
62
65
  this._roomId = this._scene.sceneId;
63
66
  this._addInterpreterObservers();
67
+ this._addLogObserver();
64
68
  }
65
69
  createRoomControl(roomId) {
66
70
  return new _room.FcrInterpreterRoomControlImpl(this._engine, this._engine.createScene({
@@ -71,11 +75,12 @@ class FcrInterpreterControlImpl {
71
75
  await (0, _error.handleRequestError)(() => this._api.openInterpreter({
72
76
  roomId: this._roomId,
73
77
  data: {
74
- interpreters: params.map(({
75
- userId: userUuid,
76
- sourceLanguage,
77
- targetLanguage
78
- }) => {
78
+ interpreters: params.map(_ref2 => {
79
+ let {
80
+ userId: userUuid,
81
+ sourceLanguage,
82
+ targetLanguage
83
+ } = _ref2;
79
84
  return {
80
85
  userUuid,
81
86
  languagePair: [sourceLanguage, targetLanguage]
@@ -97,13 +102,16 @@ class FcrInterpreterControlImpl {
97
102
  }
98
103
  getInterpreterRoomList() {
99
104
  const rooms = this._scene.getScenePropertiesByKeyPath('interpreter.rooms') || [];
100
- return rooms.length > 0 ? rooms.map(({
101
- roomUuid,
102
- language
103
- }) => ({
104
- roomId: roomUuid,
105
- language
106
- })) : null;
105
+ return rooms.length > 0 ? rooms.map(_ref3 => {
106
+ let {
107
+ roomUuid,
108
+ language
109
+ } = _ref3;
110
+ return {
111
+ roomId: roomUuid,
112
+ language
113
+ };
114
+ }) : null;
107
115
  }
108
116
  _setInterpreterUserList() {
109
117
  const interpreter = this._scene.getScenePropertiesByKeyPath('interpreter');
@@ -112,16 +120,19 @@ class FcrInterpreterControlImpl {
112
120
  } = interpreter || {
113
121
  translates: []
114
122
  };
115
- const results = translates.map(({
116
- userUuid: userId,
117
- userName,
118
- languagePair: [sourceLanguage, targetLanguage]
119
- }) => ({
120
- userId,
121
- userName,
122
- sourceLanguage,
123
- targetLanguage
124
- }));
123
+ const results = translates.map(_ref4 => {
124
+ let {
125
+ userUuid: userId,
126
+ userName,
127
+ languagePair: [sourceLanguage, targetLanguage]
128
+ } = _ref4;
129
+ return {
130
+ userId,
131
+ userName,
132
+ sourceLanguage,
133
+ targetLanguage
134
+ };
135
+ });
125
136
  this._interpreterUserList = results.length > 0 ? results : null;
126
137
  }
127
138
  getInterpreterUserList() {
@@ -140,7 +151,8 @@ class FcrInterpreterControlImpl {
140
151
  _addInterpreterObservers() {
141
152
  this._scene.addObserver({
142
153
  onScenePropertiesUpdated: (_, event) => {
143
- if (event.cause?.cmd === 800) {
154
+ var _event$cause;
155
+ if (((_event$cause = event.cause) === null || _event$cause === void 0 ? void 0 : _event$cause.cmd) === 800) {
144
156
  const actionType = (0, _imports.get)(event.cause.data, 'actionType');
145
157
  let operatorUser;
146
158
  if (event.operatorUser) {
@@ -168,10 +180,9 @@ class FcrInterpreterControlImpl {
168
180
  });
169
181
  }
170
182
  _addLogObserver() {
171
- this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onCloudRecordingStateUpdated', 'onJoinRoomFailure', 'onJoinRoomSuccess', 'onLiveStreamingStateUpdated',
172
- // 'onNetworkQualityUpdated',
173
- // 'onNetworkStatsUpdated',
174
- 'onRoomMessageReceived', 'onRoomPropertiesDeleted', 'onRoomPropertiesUpdated', 'onRoomStateUpdated', 'onInterpreterStateUpdated', 'onInterpreterUsersUpdated', 'onInterpreterRoomListUpdated']));
183
+ this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onInterpreterStateUpdated', 'onInterpreterUsersUpdated', 'onInterpreterRoomListUpdated']));
175
184
  }
176
185
  }
177
- exports.FcrInterpreterControlImpl = FcrInterpreterControlImpl;
186
+ exports.FcrInterpreterControlImpl = FcrInterpreterControlImpl;
187
+ _FcrInterpreterControlImpl = FcrInterpreterControlImpl;
188
+ [_initProto] = _applyDecs(_FcrInterpreterControlImpl, [[_createRoomControlDecs, 2, "createRoomControl"], [_setInterpreterUsersDecs, 2, "setInterpreterUsers"], [_imports.trace, 2, "close"], [_imports.trace, 2, "getState"], [_imports.trace, 2, "getInterpreterRoomList"], [_imports.trace, 2, "getInterpreterLanguageList"]], []).e;
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.FcrInterpreterRoomControlImpl = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
9
  var _ = require("..");
8
10
  var _type = require("../type");
9
11
  var _logger = require("../../utilities/logger");
@@ -11,12 +13,12 @@ var _logger = require("../../utilities/logger");
11
13
  * @internal
12
14
  */
13
15
  class FcrInterpreterRoomControlImpl extends _.FcrBaseRoomControlImpl {
14
- //@internal
15
- logger = (0, _logger.createLogger)({
16
- prefix: 'FcrInterpreterRoomControlImpl'
17
- });
18
16
  constructor(_engine, _scene, _api, _config, _sharedCache, _chatConnection, chatRoomControl) {
19
17
  super(_engine, _scene, _api, _config, _type.FcrRoomType.Interpreterroom, _chatConnection, _sharedCache, chatRoomControl);
18
+ //@internal
19
+ (0, _defineProperty2.default)(this, "logger", (0, _logger.createLogger)({
20
+ prefix: 'FcrInterpreterRoomControlImpl'
21
+ }));
20
22
  this._engine = _engine;
21
23
  this._scene = _scene;
22
24
  this._api = _api;