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,6 +1,9 @@
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");
6
+ require("core-js/modules/esnext.iterator.filter.js");
4
7
  require("core-js/modules/esnext.map.delete-all.js");
5
8
  require("core-js/modules/esnext.map.emplace.js");
6
9
  require("core-js/modules/esnext.map.every.js");
@@ -27,6 +30,8 @@ require("core-js/modules/esnext.iterator.find.js");
27
30
  require("core-js/modules/esnext.iterator.for-each.js");
28
31
  require("core-js/modules/esnext.iterator.map.js");
29
32
  require("core-js/modules/esnext.iterator.reduce.js");
33
+ require("core-js/modules/web.dom-collections.iterator.js");
34
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
30
35
  var _imports = require("../../imports");
31
36
  var _type = require("../../type");
32
37
  var _user = require("../../utilities/user");
@@ -36,159 +41,157 @@ var _logger = require("../../utilities/logger");
36
41
  var _error = require("../../utilities/error");
37
42
  var _validateParams = _interopRequireDefault(require("../../utilities/validate-params"));
38
43
  var _schema = require("../../schema");
39
- let _initProto, _getUserDecs, _updateUserNameDecs, _updateUserPropertiesDecs, _updateIncrementUserPropertiesDecs, _deleteUserPropertiesDecs, _getUserPropertiesByUserIdDecs, _getUserPropertiesByKeyPathDecs, _updateRemoteUserRoleDecs, _claimHostDecs, _kickOutDecs, _kickOutByUserIdsDecs, _kickOutByUserRolesDecs, _mergeAudioStreamDecs;
44
+ var _FcrUserControlImpl;
45
+ let _initProto, _getUserDecs, _updateUserNameDecs, _updateUserPropertiesDecs, _updateIncrementUserPropertiesDecs, _deleteUserPropertiesDecs, _getUserPropertiesByUserIdDecs, _getUserPropertiesByKeyPathDecs, _updateRemoteUserRoleDecs, _claimHostDecs, _kickOutDecs, _kickOutByUserIdsDecs, _kickOutByUserRolesDecs, _mergeAudioStreamDecs, _ref;
46
+ 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; }
47
+ 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; }
40
48
  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)]; } }; }
41
49
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
42
50
  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); }
43
51
  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; }
44
52
  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; }
53
+ _ref = (_getUserDecs = [_imports.bound, (0, _validateParams.default)(_schema.stringSchema)], _updateUserNameDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringSchema, _schema.stringSchema)], _updateUserPropertiesDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringKeyUnknownValueSchema, _schema.stringKeyUnknownValueSchema, _schema.stringSchema)], _updateIncrementUserPropertiesDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringKeyNumberValueSchema, _schema.stringKeyUnknownValueSchema, _schema.stringSchema)], _deleteUserPropertiesDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringArraySchema, _schema.stringKeyUnknownValueSchema, _schema.stringSchema)], _getUserPropertiesByUserIdDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _getUserPropertiesByKeyPathDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringSchema, _schema.stringSchema)], _updateRemoteUserRoleDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringSchema, _schema.fcrUserRoleSchema)], _claimHostDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _kickOutDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringSchema, _schema.fcrUserKickedOutTypeSchema)], _kickOutByUserIdsDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringArraySchema, _schema.fcrUserKickedOutTypeSchema)], _kickOutByUserRolesDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrUserRolesSchema, _schema.fcrUserKickedOutTypeSchema)], _mergeAudioStreamDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], "logger");
45
54
  /**
46
55
  * @internal
47
56
  */
48
57
  class FcrUserControlImpl {
49
- static {
50
- [_initProto] = _applyDecs(this, [[_imports.bound, 2, "getLocalUser"], [_imports.bound, 2, "getUsers"], [_imports.bound, 2, "getUserList"], [_getUserDecs, 2, "getUser"], [[_imports.bound, _imports.trace], 2, "getAllUserCount"], [_imports.bound, 2, "getWaterMarkContent"], [[_imports.bound, _imports.trace], 2, "fetchUserList"], [_updateUserNameDecs, 2, "updateUserName"], [_updateUserPropertiesDecs, 2, "updateUserProperties"], [_updateIncrementUserPropertiesDecs, 2, "updateIncrementUserProperties"], [_deleteUserPropertiesDecs, 2, "deleteUserProperties"], [[_imports.bound, _imports.trace], 2, "getUserProperties"], [_getUserPropertiesByUserIdDecs, 2, "getUserPropertiesByUserId"], [_getUserPropertiesByKeyPathDecs, 2, "getUserPropertiesByKeyPath"], [_updateRemoteUserRoleDecs, 2, "updateRemoteUserRole"], [[_imports.bound, _imports.trace], 2, "revokeHost"], [_claimHostDecs, 2, "claimHost"], [_kickOutDecs, 2, "kickOut"], [_kickOutByUserIdsDecs, 2, "kickOutByUserIds"], [_kickOutByUserRolesDecs, 2, "kickOutByUserRoles"], [_mergeAudioStreamDecs, 2, "mergeAudioStream"]], []).e;
51
- }
52
- //@internal
53
- [(_getUserDecs = [_imports.bound, (0, _validateParams.default)(_schema.stringSchema)], _updateUserNameDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringSchema, _schema.stringSchema)], _updateUserPropertiesDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringKeyUnknownValueSchema, _schema.stringKeyUnknownValueSchema, _schema.stringSchema)], _updateIncrementUserPropertiesDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringKeyNumberValueSchema, _schema.stringKeyUnknownValueSchema, _schema.stringSchema)], _deleteUserPropertiesDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringArraySchema, _schema.stringKeyUnknownValueSchema, _schema.stringSchema)], _getUserPropertiesByUserIdDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _getUserPropertiesByKeyPathDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringSchema, _schema.stringSchema)], _updateRemoteUserRoleDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringSchema, _schema.fcrUserRoleSchema)], _claimHostDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _kickOutDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringSchema, _schema.fcrUserKickedOutTypeSchema)], _kickOutByUserIdsDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringArraySchema, _schema.fcrUserKickedOutTypeSchema)], _kickOutByUserRolesDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrUserRolesSchema, _schema.fcrUserKickedOutTypeSchema)], _mergeAudioStreamDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], "logger")] = (_initProto(this), (0, _logger.createLogger)({
54
- prefix: 'FcrUserControlImpl'
55
- }));
56
- //@internal
57
- _observable = new _imports.AgoraObservable();
58
- //@internal
59
- _userMapByUserId = {};
60
- //@internal
61
- _userList = [];
62
- //@internal
63
-
64
- //@internal
65
-
66
- //@internal
67
- _sceneObserver = {
68
- onRemoteUsersJoined: (roomId, events) => {
69
- events.forEach(event => {
70
- const userProperties = this._scene.getUserPropertiesByUserId(event.userInfo.userId);
71
- this._roomCache.setUserPlatform(event.userInfo.userId, userProperties?.platform);
72
- this._roomCache.setUserAvatar(event.userInfo.userId, userProperties?.avatar);
73
- });
74
- const fcrUserEvents = events.map(e => {
75
- return {
76
- userInfo: e.userInfo && (0, _user.convertRteUserToFcrUser)(e.userInfo, this._roomCache),
77
- operatorUser: e.operatorUser && (0, _user.convertRteUserToFcrUser)(e.operatorUser, this._roomCache)
78
- };
79
- });
80
- fcrUserEvents.forEach(event => {
81
- const user = event.userInfo;
82
- const exists = user.userId in this._userMapByUserId;
83
- if (exists) {
84
- this.logger.warn(`[FcrUserControl] user joined when the user already exists, userId: ${user.userId}`);
85
- } else {
86
- this._userMapByUserId[user.userId] = user;
87
- this._userList.push(user);
88
- }
89
- });
90
- this._observable.notifyObservers('onRemoteUsersJoined', roomId, fcrUserEvents);
91
- },
92
- onRemoteUsersLeft: (roomId, events) => {
93
- const fcrUserEvents = events.map(e => {
94
- return {
95
- userInfo: e.userInfo && (0, _user.convertRteUserToFcrUser)(e.userInfo, this._roomCache),
96
- userProperties: e.userProperties,
97
- operatorUser: e.operatorUser && (0, _user.convertRteUserToFcrUser)(e.operatorUser, this._roomCache),
98
- reason: e.cause?.cmd === 5 ? _type2.FcrUserLeftReason.kickOut : _type2.FcrUserLeftReason.LeaveRoom
58
+ constructor(_scene, _api, _sharedCache) {
59
+ //@internal
60
+ (0, _defineProperty2.default)(this, _ref, (_initProto(this), (0, _logger.createLogger)({
61
+ prefix: 'FcrUserControlImpl'
62
+ })));
63
+ //@internal
64
+ (0, _defineProperty2.default)(this, "_observable", new _imports.AgoraObservable());
65
+ //@internal
66
+ (0, _defineProperty2.default)(this, "_userMapByUserId", {});
67
+ //@internal
68
+ (0, _defineProperty2.default)(this, "_userList", []);
69
+ //@internal
70
+ (0, _defineProperty2.default)(this, "_sceneObserver", {
71
+ onRemoteUsersJoined: (roomId, events) => {
72
+ events.forEach(event => {
73
+ const userProperties = this._scene.getUserPropertiesByUserId(event.userInfo.userId);
74
+ this._roomCache.setUserPlatform(event.userInfo.userId, userProperties === null || userProperties === void 0 ? void 0 : userProperties.platform);
75
+ this._roomCache.setUserAvatar(event.userInfo.userId, userProperties === null || userProperties === void 0 ? void 0 : userProperties.avatar);
76
+ });
77
+ const fcrUserEvents = events.map(e => {
78
+ return {
79
+ userInfo: e.userInfo && (0, _user.convertRteUserToFcrUser)(e.userInfo, this._roomCache),
80
+ operatorUser: e.operatorUser && (0, _user.convertRteUserToFcrUser)(e.operatorUser, this._roomCache)
81
+ };
82
+ });
83
+ fcrUserEvents.forEach(event => {
84
+ const user = event.userInfo;
85
+ const exists = user.userId in this._userMapByUserId;
86
+ if (exists) {
87
+ this.logger.warn("[FcrUserControl] user joined when the user already exists, userId: ".concat(user.userId));
88
+ } else {
89
+ this._userMapByUserId[user.userId] = user;
90
+ this._userList.push(user);
91
+ }
92
+ });
93
+ this._observable.notifyObservers('onRemoteUsersJoined', roomId, fcrUserEvents);
94
+ },
95
+ onRemoteUsersLeft: (roomId, events) => {
96
+ const fcrUserEvents = events.map(e => {
97
+ var _e$cause;
98
+ return {
99
+ userInfo: e.userInfo && (0, _user.convertRteUserToFcrUser)(e.userInfo, this._roomCache),
100
+ userProperties: e.userProperties,
101
+ operatorUser: e.operatorUser && (0, _user.convertRteUserToFcrUser)(e.operatorUser, this._roomCache),
102
+ reason: ((_e$cause = e.cause) === null || _e$cause === void 0 ? void 0 : _e$cause.cmd) === 5 ? _type2.FcrUserLeftReason.kickOut : _type2.FcrUserLeftReason.LeaveRoom
103
+ };
104
+ });
105
+ fcrUserEvents.forEach(event => {
106
+ const user = event.userInfo;
107
+ const exists = user.userId in this._userMapByUserId;
108
+ if (!exists) {
109
+ this.logger.warn("[FcrUserControl] user left when the user does not exist, userId: ".concat(user.userId));
110
+ } else {
111
+ delete this._userMapByUserId[user.userId];
112
+ const index = this._userList.findIndex(u => user.userId === u.userId);
113
+ if (index !== -1) {
114
+ this._userList.splice(index, 1);
115
+ }
116
+ }
117
+ });
118
+ events.forEach(event => {
119
+ this._roomCache.deleteUserPlatform(event.userInfo.userId);
120
+ this._roomCache.deleteUserAvatar(event.userInfo.userId);
121
+ });
122
+ this._observable.notifyObservers('onRemoteUsersLeft', roomId, fcrUserEvents);
123
+ },
124
+ onUserUpdated: (sceneId, event) => {
125
+ const fcrUserUpdatedEvent = {
126
+ modifiedUser: event.modifiedUser && (0, _user.convertRteUserToFcrUser)(event.modifiedUser, this._roomCache),
127
+ operatorUser: event.operatorUser && (0, _user.convertRteUserToFcrUser)(event.operatorUser, this._roomCache),
128
+ reason: event.reason
99
129
  };
100
- });
101
- fcrUserEvents.forEach(event => {
102
- const user = event.userInfo;
130
+ const user = fcrUserUpdatedEvent.modifiedUser;
103
131
  const exists = user.userId in this._userMapByUserId;
104
132
  if (!exists) {
105
- this.logger.warn(`[FcrUserControl] user left when the user does not exist, userId: ${user.userId}`);
133
+ this.logger.warn("[FcrUserControl] user updated when the user does not exist, userId: ".concat(user.userId));
106
134
  } else {
107
- delete this._userMapByUserId[user.userId];
135
+ this._userMapByUserId[user.userId] = user;
108
136
  const index = this._userList.findIndex(u => user.userId === u.userId);
109
137
  if (index !== -1) {
110
- this._userList.splice(index, 1);
111
- }
112
- }
113
- });
114
- events.forEach(event => {
115
- this._roomCache.deleteUserPlatform(event.userInfo.userId);
116
- this._roomCache.deleteUserAvatar(event.userInfo.userId);
117
- });
118
- this._observable.notifyObservers('onRemoteUsersLeft', roomId, fcrUserEvents);
119
- },
120
- onUserUpdated: (sceneId, event) => {
121
- const fcrUserUpdatedEvent = {
122
- modifiedUser: event.modifiedUser && (0, _user.convertRteUserToFcrUser)(event.modifiedUser, this._roomCache),
123
- operatorUser: event.operatorUser && (0, _user.convertRteUserToFcrUser)(event.operatorUser, this._roomCache),
124
- reason: event.reason
125
- };
126
- const user = fcrUserUpdatedEvent.modifiedUser;
127
- const exists = user.userId in this._userMapByUserId;
128
- if (!exists) {
129
- this.logger.warn(`[FcrUserControl] user updated when the user does not exist, userId: ${user.userId}`);
130
- } else {
131
- this._userMapByUserId[user.userId] = user;
132
- const index = this._userList.findIndex(u => user.userId === u.userId);
133
- if (index !== -1) {
134
- this._userList.splice(index, 1, user);
135
- }
136
- }
137
- this._observable.notifyObservers('onUserInfoUpdated', sceneId, fcrUserUpdatedEvent);
138
- },
139
- onAllUserCountUpdated: (sceneId, count) => {
140
- this._observable.notifyObservers('onAllUserCountUpdated', sceneId, count);
141
- },
142
- onUserPropertiesUpdated: (roomId, event) => {
143
- if (event.cause?.cmd === 5 && event.modifiedUser.userId === this._localUserId) {
144
- const {
145
- changedProperties
146
- } = event;
147
- const dirtyStateMap = {
148
- '0': _type2.FcrUserKickedOutType.Once,
149
- '1': _type2.FcrUserKickedOutType.Forever,
150
- '2': 2
151
- };
152
- const key = (0, _imports.get)(changedProperties, 'dirty.state');
153
- const type = dirtyStateMap[key];
154
- this._observable.notifyObservers('onLocalUserKickedOut', roomId, {
155
- type
156
- });
157
- }
158
- if (event.cause?.cmd === 8) {
159
- const changedProperties = {};
160
- for (const key in event.changedProperties) {
161
- if (key.startsWith('flexProps')) {
162
- changedProperties[key] = event.changedProperties[key];
138
+ this._userList.splice(index, 1, user);
163
139
  }
164
140
  }
165
- if (Object.keys(changedProperties).length > 0) {
166
- const structure = (0, _collection.convertToStructure)(changedProperties);
167
- this._observable.notifyObservers('onUserPropertiesUpdated', roomId, {
168
- ...event,
169
- changedProperties: structure['flexProps']
141
+ this._observable.notifyObservers('onUserInfoUpdated', sceneId, fcrUserUpdatedEvent);
142
+ },
143
+ onAllUserCountUpdated: (sceneId, count) => {
144
+ this._observable.notifyObservers('onAllUserCountUpdated', sceneId, count);
145
+ },
146
+ onUserPropertiesUpdated: (roomId, event) => {
147
+ var _event$cause, _event$cause2;
148
+ if (((_event$cause = event.cause) === null || _event$cause === void 0 ? void 0 : _event$cause.cmd) === 5 && event.modifiedUser.userId === this._localUserId) {
149
+ const {
150
+ changedProperties
151
+ } = event;
152
+ const dirtyStateMap = {
153
+ '0': _type2.FcrUserKickedOutType.Once,
154
+ '1': _type2.FcrUserKickedOutType.Forever,
155
+ '2': 2
156
+ };
157
+ const key = (0, _imports.get)(changedProperties, 'dirty.state');
158
+ const type = dirtyStateMap[key];
159
+ this._observable.notifyObservers('onLocalUserKickedOut', roomId, {
160
+ type
170
161
  });
171
162
  }
172
- }
173
- },
174
- onUserPropertiesDeleted: (roomId, event) => {
175
- if (event.cause?.cmd === 8) {
176
- const changedKeyPaths = [];
177
- for (const keyPath of event.changedKeyPaths) {
178
- if (keyPath.startsWith('flexProps')) {
179
- changedKeyPaths.push(keyPath);
163
+ if (((_event$cause2 = event.cause) === null || _event$cause2 === void 0 ? void 0 : _event$cause2.cmd) === 8) {
164
+ const changedProperties = {};
165
+ for (const key in event.changedProperties) {
166
+ if (key.startsWith('flexProps')) {
167
+ changedProperties[key] = event.changedProperties[key];
168
+ }
169
+ }
170
+ if (Object.keys(changedProperties).length > 0) {
171
+ const structure = (0, _collection.convertToStructure)(changedProperties);
172
+ this._observable.notifyObservers('onUserPropertiesUpdated', roomId, _objectSpread(_objectSpread({}, event), {}, {
173
+ changedProperties: structure['flexProps']
174
+ }));
180
175
  }
181
176
  }
182
- if (changedKeyPaths.length > 0) {
183
- this._observable.notifyObservers('onUserPropertiesDeleted', roomId, {
184
- ...event,
185
- changedKeyPaths
186
- });
177
+ },
178
+ onUserPropertiesDeleted: (roomId, event) => {
179
+ var _event$cause3;
180
+ if (((_event$cause3 = event.cause) === null || _event$cause3 === void 0 ? void 0 : _event$cause3.cmd) === 8) {
181
+ const changedKeyPaths = [];
182
+ for (const keyPath of event.changedKeyPaths) {
183
+ if (keyPath.startsWith('flexProps')) {
184
+ changedKeyPaths.push(keyPath);
185
+ }
186
+ }
187
+ if (changedKeyPaths.length > 0) {
188
+ this._observable.notifyObservers('onUserPropertiesDeleted', roomId, _objectSpread(_objectSpread({}, event), {}, {
189
+ changedKeyPaths
190
+ }));
191
+ }
187
192
  }
188
193
  }
189
- }
190
- };
191
- constructor(_scene, _api, _sharedCache) {
194
+ });
192
195
  this._scene = _scene;
193
196
  this._api = _api;
194
197
  this._sharedCache = _sharedCache;
@@ -196,8 +199,8 @@ class FcrUserControlImpl {
196
199
  const users = this._scene.getUsers();
197
200
  Object.keys(users).forEach(userId => {
198
201
  const userProperties = this._scene.getUserPropertiesByUserId(userId);
199
- this._roomCache.setUserAvatar(userId, userProperties?.avatar);
200
- this._roomCache.setUserPlatform(userId, userProperties?.platform);
202
+ this._roomCache.setUserAvatar(userId, userProperties === null || userProperties === void 0 ? void 0 : userProperties.avatar);
203
+ this._roomCache.setUserPlatform(userId, userProperties === null || userProperties === void 0 ? void 0 : userProperties.platform);
201
204
  });
202
205
  this._userMapByUserId = Object.keys(users).reduce((prev, userId) => {
203
206
  prev[userId] = (0, _user.convertRteUserToFcrUser)(users[userId], this._roomCache);
@@ -277,12 +280,14 @@ class FcrUserControlImpl {
277
280
  const userProperties = this._scene.getUserProperties();
278
281
  const res = {};
279
282
  for (const userId in userProperties) {
280
- res[userId] = userProperties[userId]?.['flexProps'];
283
+ var _userProperties$userI;
284
+ res[userId] = (_userProperties$userI = userProperties[userId]) === null || _userProperties$userI === void 0 ? void 0 : _userProperties$userI['flexProps'];
281
285
  }
282
286
  return res;
283
287
  }
284
288
  getUserPropertiesByUserId(userId) {
285
- return this._scene.getUserPropertiesByUserId(userId)?.['flexProps'];
289
+ var _this$_scene$getUserP;
290
+ return (_this$_scene$getUserP = this._scene.getUserPropertiesByUserId(userId)) === null || _this$_scene$getUserP === void 0 ? void 0 : _this$_scene$getUserP['flexProps'];
286
291
  }
287
292
  getUserPropertiesByKeyPath(keyPath, userId) {
288
293
  return this._scene.getUserPropertiesByKeyPath('flexProps.' + keyPath, userId);
@@ -303,7 +308,7 @@ class FcrUserControlImpl {
303
308
  roomId: this._scene.sceneId,
304
309
  localRole: _type.FcrUserRoleToStringMap[_type.FcrUserRole.HOST],
305
310
  remoteRole: _type.FcrUserRoleToStringMap[_type.FcrUserRole.PARTICIPANT],
306
- userId: originHostUser?.userId
311
+ userId: originHostUser === null || originHostUser === void 0 ? void 0 : originHostUser.userId
307
312
  }), _error.FcrErrorModuleCode.ROOM_USER, 'revoke host failed');
308
313
  }
309
314
  }
@@ -347,4 +352,6 @@ class FcrUserControlImpl {
347
352
  this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onRemoteUsersJoined', 'onRemoteUsersLeft', 'onUserInfoUpdated', 'onAllUserCountUpdated', 'onLocalUserKickedOut', 'onUserPropertiesUpdated', 'onUserPropertiesDeleted']));
348
353
  }
349
354
  }
350
- exports.FcrUserControlImpl = FcrUserControlImpl;
355
+ exports.FcrUserControlImpl = FcrUserControlImpl;
356
+ _FcrUserControlImpl = FcrUserControlImpl;
357
+ [_initProto] = _applyDecs(_FcrUserControlImpl, [[_imports.bound, 2, "getLocalUser"], [_imports.bound, 2, "getUsers"], [_imports.bound, 2, "getUserList"], [_getUserDecs, 2, "getUser"], [[_imports.bound, _imports.trace], 2, "getAllUserCount"], [_imports.bound, 2, "getWaterMarkContent"], [[_imports.bound, _imports.trace], 2, "fetchUserList"], [_updateUserNameDecs, 2, "updateUserName"], [_updateUserPropertiesDecs, 2, "updateUserProperties"], [_updateIncrementUserPropertiesDecs, 2, "updateIncrementUserProperties"], [_deleteUserPropertiesDecs, 2, "deleteUserProperties"], [[_imports.bound, _imports.trace], 2, "getUserProperties"], [_getUserPropertiesByUserIdDecs, 2, "getUserPropertiesByUserId"], [_getUserPropertiesByKeyPathDecs, 2, "getUserPropertiesByKeyPath"], [_updateRemoteUserRoleDecs, 2, "updateRemoteUserRole"], [[_imports.bound, _imports.trace], 2, "revokeHost"], [_claimHostDecs, 2, "claimHost"], [_kickOutDecs, 2, "kickOut"], [_kickOutByUserIdsDecs, 2, "kickOutByUserIds"], [_kickOutByUserRolesDecs, 2, "kickOutByUserRoles"], [_mergeAudioStreamDecs, 2, "mergeAudioStream"]], []).e;
@@ -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.FcrWaitingRoomControlImpl = 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 _ = require("..");
29
33
  var _type = require("../type");
@@ -32,25 +36,24 @@ 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, _moveToMainRoomByUserIdsDecs, _moveToMainRoomByUserRolesDecs;
39
+ var _FcrWaitingRoomControlImpl;
40
+ let _initProto, _moveToMainRoomByUserIdsDecs, _moveToMainRoomByUserRolesDecs, _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 = (_moveToMainRoomByUserIdsDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringArraySchema)], _moveToMainRoomByUserRolesDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrUserRolesSchema)], "logger");
41
47
  /**
42
48
  * @internal
43
49
  */
44
50
  class FcrWaitingRoomControlImpl extends _.FcrBaseRoomControlImpl {
45
- static {
46
- [_initProto] = _applyDecs(this, [[_moveToMainRoomByUserIdsDecs, 2, "moveToMainRoomByUserIds"], [_moveToMainRoomByUserRolesDecs, 2, "moveToMainRoomByUserRoles"]], [], 0, void 0, _.FcrBaseRoomControlImpl).e;
47
- }
48
- //@internal
49
- [(_moveToMainRoomByUserIdsDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringArraySchema)], _moveToMainRoomByUserRolesDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrUserRolesSchema)], "logger")] = (_initProto(this), (0, _logger.createLogger)({
50
- prefix: 'FcrWaitingRoomControlImpl'
51
- }));
52
51
  constructor(engine, scene, api, config, sharedCache, chatConnection, chatRoomControl) {
53
52
  super(engine, scene, api, config, _type.FcrRoomType.Waitingroom, chatConnection, sharedCache, chatRoomControl);
53
+ //@internal
54
+ (0, _defineProperty2.default)(this, _ref, (_initProto(this), (0, _logger.createLogger)({
55
+ prefix: 'FcrWaitingRoomControlImpl'
56
+ })));
54
57
  this._addLogObserver();
55
58
  }
56
59
  addObserver(observer) {
@@ -72,4 +75,6 @@ class FcrWaitingRoomControlImpl extends _.FcrBaseRoomControlImpl {
72
75
  'onRoomMessageReceived', 'onRoomPropertiesDeleted', 'onRoomPropertiesUpdated', 'onRoomStateUpdated']));
73
76
  }
74
77
  }
75
- exports.FcrWaitingRoomControlImpl = FcrWaitingRoomControlImpl;
78
+ exports.FcrWaitingRoomControlImpl = FcrWaitingRoomControlImpl;
79
+ _FcrWaitingRoomControlImpl = FcrWaitingRoomControlImpl;
80
+ [_initProto] = _applyDecs(_FcrWaitingRoomControlImpl, [[_moveToMainRoomByUserIdsDecs, 2, "moveToMainRoomByUserIds"], [_moveToMainRoomByUserRolesDecs, 2, "moveToMainRoomByUserRoles"]], [], 0, void 0, _.FcrBaseRoomControlImpl).e;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * common enums shared by whiteboard v1 and v2
3
+ */
4
+ export declare enum FcrBoardInactiveReason {
5
+ CLOSE = 1,
6
+ TIMEOUT = 2,
7
+ SEIZE = 3
8
+ }
9
+ export declare enum FcrBoardRegion {
10
+ CN = "cn-hz",
11
+ US = "us-sv",
12
+ IN = "in-mum",
13
+ SG = "sg",
14
+ GB = "gb-lon"
15
+ }
@@ -3,10 +3,21 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.FcrBoardInactiveReason = void 0;
6
+ exports.FcrBoardRegion = exports.FcrBoardInactiveReason = void 0;
7
+ /**
8
+ * common enums shared by whiteboard v1 and v2
9
+ */
7
10
  let FcrBoardInactiveReason = exports.FcrBoardInactiveReason = /*#__PURE__*/function (FcrBoardInactiveReason) {
8
11
  FcrBoardInactiveReason[FcrBoardInactiveReason["CLOSE"] = 1] = "CLOSE";
9
12
  FcrBoardInactiveReason[FcrBoardInactiveReason["TIMEOUT"] = 2] = "TIMEOUT";
10
13
  FcrBoardInactiveReason[FcrBoardInactiveReason["SEIZE"] = 3] = "SEIZE";
11
14
  return FcrBoardInactiveReason;
15
+ }({});
16
+ let FcrBoardRegion = exports.FcrBoardRegion = /*#__PURE__*/function (FcrBoardRegion) {
17
+ FcrBoardRegion["CN"] = "cn-hz";
18
+ FcrBoardRegion["US"] = "us-sv";
19
+ FcrBoardRegion["IN"] = "in-mum";
20
+ FcrBoardRegion["SG"] = "sg";
21
+ FcrBoardRegion["GB"] = "gb-lon";
22
+ return FcrBoardRegion;
12
23
  }({});
@@ -0,0 +1,38 @@
1
+ import { ColorSchema } from '../../schema';
2
+ import { FcrBoardInactiveReason, FcrBoardRegion } from './enum';
3
+ /**
4
+ * common types shared by whiteboard v1 and v2
5
+ */
6
+ export type FcrBoardPageInfo = {
7
+ showIndex: number;
8
+ count: number;
9
+ };
10
+ export type FcrColor = ColorSchema;
11
+ export type FcrBoardActiveInfo = {
12
+ isActive: true;
13
+ ownerUserId: string;
14
+ reason?: FcrBoardInactiveReason;
15
+ } | {
16
+ isActive: false;
17
+ ownerUserId: null;
18
+ reason?: FcrBoardInactiveReason;
19
+ };
20
+ export type FcrBoardExtra = {
21
+ boardAppId: string;
22
+ boardId: string;
23
+ boardRegion: FcrBoardRegion;
24
+ boardToken: string;
25
+ };
26
+ export type FcrBoardInfo = {
27
+ state: FcrBoardPropertiesState;
28
+ isActive: boolean;
29
+ ownerUserUuid: string;
30
+ extra: FcrBoardExtra & {
31
+ backgroundColor: string;
32
+ };
33
+ };
34
+ export declare enum FcrBoardPropertiesState {
35
+ ACTIVE = 1,
36
+ INACTIVE = 0,
37
+ BACKGROUND_COLOR_UPDATED = 100101
38
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FcrBoardPropertiesState = void 0;
7
+ /**
8
+ * common types shared by whiteboard v1 and v2
9
+ */
10
+ let FcrBoardPropertiesState = exports.FcrBoardPropertiesState = /*#__PURE__*/function (FcrBoardPropertiesState) {
11
+ FcrBoardPropertiesState[FcrBoardPropertiesState["ACTIVE"] = 1] = "ACTIVE";
12
+ FcrBoardPropertiesState[FcrBoardPropertiesState["INACTIVE"] = 0] = "INACTIVE";
13
+ FcrBoardPropertiesState[FcrBoardPropertiesState["BACKGROUND_COLOR_UPDATED"] = 100101] = "BACKGROUND_COLOR_UPDATED";
14
+ return FcrBoardPropertiesState;
15
+ }({});
@@ -0,0 +1,3 @@
1
+ import { FcrPermissionInfo } from '../privilege-control/type';
2
+ export declare const hasBoardWritePermission: (permissions: FcrPermissionInfo[]) => boolean;
3
+ export declare const hasAnnotationWritePermission: (permissions: FcrPermissionInfo[]) => boolean;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.hasBoardWritePermission = exports.hasAnnotationWritePermission = void 0;
7
+ require("core-js/modules/esnext.iterator.constructor.js");
8
+ require("core-js/modules/esnext.iterator.some.js");
9
+ var _type = require("../privilege-control/type");
10
+ const hasBoardWritePermission = permissions => {
11
+ return permissions.some(permission => {
12
+ var _permission$info;
13
+ return ((_permission$info = permission.info) === null || _permission$info === void 0 ? void 0 : _permission$info.action) === _type.FcrPermissionAction.BoardWrite;
14
+ });
15
+ };
16
+ exports.hasBoardWritePermission = hasBoardWritePermission;
17
+ const hasAnnotationWritePermission = permissions => {
18
+ return permissions.some(permission => {
19
+ var _permission$info2;
20
+ return ((_permission$info2 = permission.info) === null || _permission$info2 === void 0 ? void 0 : _permission$info2.action) === _type.FcrPermissionAction.AnnotationWrite;
21
+ });
22
+ };
23
+ exports.hasAnnotationWritePermission = hasAnnotationWritePermission;
@@ -0,0 +1,6 @@
1
+ import { FcrBoardSubWindow } from './type';
2
+ export declare class FcrBoardSubWindowImpl implements FcrBoardSubWindow {
3
+ private _appId;
4
+ constructor(_appId: string);
5
+ exportPdf(): Promise<ArrayBuffer>;
6
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FcrBoardSubWindowImpl = void 0;
7
+ class FcrBoardSubWindowImpl {
8
+ constructor(_appId) {
9
+ this._appId = _appId;
10
+ }
11
+ exportPdf() {
12
+ window.postMessage({
13
+ type: '@netless/_request_save_pdf_',
14
+ appId: this._appId /* windowManager.addApp 返回的值, 指定要保存哪个窗口的板书, */
15
+ });
16
+ return new Promise((resolve, reject) => {
17
+ window.addEventListener('message', event => {
18
+ if (event.data.type === '@netless/_result_save_pdf_') {
19
+ var _event$data$result;
20
+ event.data.progress === 100 && resolve((_event$data$result = event.data.result) === null || _event$data$result === void 0 ? void 0 : _event$data$result.pdf);
21
+ }
22
+ });
23
+ });
24
+ }
25
+ }
26
+ exports.FcrBoardSubWindowImpl = FcrBoardSubWindowImpl;