fcr-core 3.10.5 → 3.10.6

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 (127) hide show
  1. package/lib/engine/index.js +108 -102
  2. package/lib/imports.js +0 -1
  3. package/lib/index.d.ts +1 -1
  4. package/lib/media-control/desktop.js +13 -22
  5. package/lib/media-control/mobile.js +13 -22
  6. package/lib/monitor-control/index.js +7 -17
  7. package/lib/peer-session/index.js +121 -120
  8. package/lib/plugins/chat/chatroom.js +96 -119
  9. package/lib/plugins/chat/connector.js +48 -69
  10. package/lib/remote-control/index.js +216 -194
  11. package/lib/room-control/ability-control/index.js +10 -20
  12. package/lib/room-control/application-control/index.js +75 -82
  13. package/lib/room-control/group-control/index.js +30 -31
  14. package/lib/room-control/helpers/board-init-info-helper.js +10 -16
  15. package/lib/room-control/helpers/validation-helper.js +1 -1
  16. package/lib/room-control/index.js +51 -70
  17. package/lib/room-control/infinity-room-control/index.js +19 -27
  18. package/lib/room-control/interpreter-control/index.js +65 -77
  19. package/lib/room-control/interpreter-control/room.js +4 -6
  20. package/lib/room-control/join-before-host-waitingroom-control/index.js +4 -6
  21. package/lib/room-control/mainroom-control/index.js +25 -37
  22. package/lib/room-control/privilege-control/helper.js +13 -28
  23. package/lib/room-control/privilege-control/index.js +28 -36
  24. package/lib/room-control/room-connector-control/index.js +47 -52
  25. package/lib/room-control/room-control-factory.js +12 -10
  26. package/lib/room-control/room-session/index.js +74 -77
  27. package/lib/room-control/shared-cache.js +56 -63
  28. package/lib/room-control/sharing-control/index.js +57 -65
  29. package/lib/room-control/stream-control/index.js +238 -203
  30. package/lib/room-control/stream-control/type.d.ts +11 -1
  31. package/lib/room-control/stt-control/de-compress-gzip.js +0 -10
  32. package/lib/room-control/stt-control/index.js +86 -93
  33. package/lib/room-control/user-control/index.js +155 -162
  34. package/lib/room-control/waitingroom-control/index.js +9 -18
  35. package/lib/room-control/whiteboard-control/utils.js +2 -4
  36. package/lib/room-control/whiteboard-control-v1/board-subwindow.js +1 -2
  37. package/lib/room-control/whiteboard-control-v1/board-window.js +103 -120
  38. package/lib/room-control/whiteboard-control-v1/factory.js +4 -7
  39. package/lib/room-control/whiteboard-control-v1/index.js +67 -80
  40. package/lib/room-control/whiteboard-control-v1/mount-manager.js +2 -4
  41. package/lib/room-control/whiteboard-control-v1/utils.js +14 -17
  42. package/lib/room-control/whiteboard-control-v2/annotation-control/control.js +10 -14
  43. package/lib/room-control/whiteboard-control-v2/annotation-control/factory.js +8 -17
  44. package/lib/room-control/whiteboard-control-v2/base/index.js +53 -61
  45. package/lib/room-control/whiteboard-control-v2/base/main-window.js +30 -39
  46. package/lib/room-control/whiteboard-control-v2/utils.js +10 -10
  47. package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.js +33 -45
  48. package/lib/room-control/whiteboard-control-v2/whiteboard-control/factory.js +11 -27
  49. package/lib/room-control/widget-control/index.js +33 -43
  50. package/lib/room-router/index.js +58 -66
  51. package/lib/service/api.js +548 -446
  52. package/lib/struct.js +2 -5
  53. package/lib/type.d.ts +1 -1
  54. package/lib/utilities/abortable-retry.js +0 -3
  55. package/lib/utilities/collection.js +11 -15
  56. package/lib/utilities/error-helpers.js +27 -34
  57. package/lib/utilities/error.js +3 -4
  58. package/lib/utilities/join-helper.js +31 -37
  59. package/lib/utilities/logger.js +5 -8
  60. package/lib/utilities/parameters.js +10 -21
  61. package/lib/utilities/retry-helpers.js +0 -1
  62. package/lib/utilities/stream.js +11 -16
  63. package/lib/utilities/user.js +3 -4
  64. package/lib/utilities/validate-params.js +1 -1
  65. package/lib/utilities/video-encoder-config.js +5 -10
  66. package/lib-es/engine/index.js +108 -102
  67. package/lib-es/media-control/desktop.js +13 -22
  68. package/lib-es/media-control/mobile.js +13 -22
  69. package/lib-es/monitor-control/index.js +7 -16
  70. package/lib-es/peer-session/index.js +121 -120
  71. package/lib-es/plugins/chat/chatroom.js +95 -118
  72. package/lib-es/plugins/chat/connector.js +47 -67
  73. package/lib-es/remote-control/index.js +216 -194
  74. package/lib-es/room-control/ability-control/index.js +10 -19
  75. package/lib-es/room-control/application-control/index.js +75 -81
  76. package/lib-es/room-control/group-control/index.js +30 -31
  77. package/lib-es/room-control/helpers/board-init-info-helper.js +10 -15
  78. package/lib-es/room-control/helpers/validation-helper.js +1 -1
  79. package/lib-es/room-control/index.js +51 -69
  80. package/lib-es/room-control/infinity-room-control/index.js +19 -26
  81. package/lib-es/room-control/interpreter-control/index.js +65 -77
  82. package/lib-es/room-control/interpreter-control/room.js +4 -5
  83. package/lib-es/room-control/join-before-host-waitingroom-control/index.js +4 -5
  84. package/lib-es/room-control/mainroom-control/index.js +25 -37
  85. package/lib-es/room-control/privilege-control/helper.js +13 -27
  86. package/lib-es/room-control/privilege-control/index.js +28 -36
  87. package/lib-es/room-control/room-connector-control/index.js +47 -52
  88. package/lib-es/room-control/room-control-factory.js +12 -10
  89. package/lib-es/room-control/room-session/index.js +74 -77
  90. package/lib-es/room-control/shared-cache.js +56 -62
  91. package/lib-es/room-control/sharing-control/index.js +57 -64
  92. package/lib-es/room-control/stream-control/index.js +240 -205
  93. package/lib-es/room-control/stt-control/de-compress-gzip.js +0 -10
  94. package/lib-es/room-control/stt-control/index.js +86 -93
  95. package/lib-es/room-control/user-control/index.js +155 -162
  96. package/lib-es/room-control/waitingroom-control/index.js +9 -18
  97. package/lib-es/room-control/whiteboard-control/utils.js +2 -4
  98. package/lib-es/room-control/whiteboard-control-v1/board-subwindow.js +1 -2
  99. package/lib-es/room-control/whiteboard-control-v1/board-window.js +103 -120
  100. package/lib-es/room-control/whiteboard-control-v1/factory.js +4 -6
  101. package/lib-es/room-control/whiteboard-control-v1/index.js +67 -80
  102. package/lib-es/room-control/whiteboard-control-v1/mount-manager.js +2 -3
  103. package/lib-es/room-control/whiteboard-control-v1/utils.js +14 -17
  104. package/lib-es/room-control/whiteboard-control-v2/annotation-control/control.js +10 -13
  105. package/lib-es/room-control/whiteboard-control-v2/annotation-control/factory.js +8 -16
  106. package/lib-es/room-control/whiteboard-control-v2/base/index.js +53 -60
  107. package/lib-es/room-control/whiteboard-control-v2/base/main-window.js +30 -39
  108. package/lib-es/room-control/whiteboard-control-v2/utils.js +10 -10
  109. package/lib-es/room-control/whiteboard-control-v2/whiteboard-control/control.js +33 -45
  110. package/lib-es/room-control/whiteboard-control-v2/whiteboard-control/factory.js +11 -26
  111. package/lib-es/room-control/widget-control/index.js +33 -42
  112. package/lib-es/room-router/index.js +58 -66
  113. package/lib-es/service/api.js +548 -445
  114. package/lib-es/struct.js +2 -4
  115. package/lib-es/utilities/abortable-retry.js +0 -3
  116. package/lib-es/utilities/collection.js +11 -14
  117. package/lib-es/utilities/error-helpers.js +26 -33
  118. package/lib-es/utilities/error.js +3 -4
  119. package/lib-es/utilities/join-helper.js +29 -36
  120. package/lib-es/utilities/logger.js +5 -7
  121. package/lib-es/utilities/parameters.js +10 -21
  122. package/lib-es/utilities/retry-helpers.js +0 -1
  123. package/lib-es/utilities/stream.js +11 -15
  124. package/lib-es/utilities/user.js +3 -4
  125. package/lib-es/utilities/validate-params.js +1 -1
  126. package/lib-es/utilities/video-encoder-config.js +5 -10
  127. package/package.json +4 -4
package/lib/struct.js CHANGED
@@ -1,17 +1,15 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.FcrCoreEngineConfig = void 0;
8
- require("core-js/modules/es.array.unshift.js");
9
- require("core-js/modules/web.dom-collections.iterator.js");
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
7
  var _dualVideoStreamConfig = require("./utilities/dual-video-stream-config");
12
8
  var _parameters = require("./utilities/parameters");
13
9
  /** 引擎配置类 */
14
10
  class FcrCoreEngineConfig {
11
+ __json_serializable__ = true;
12
+
15
13
  /** 应用唯一标识 */
16
14
 
17
15
  /** 身份验证令牌 */
@@ -27,7 +25,6 @@ class FcrCoreEngineConfig {
27
25
  /** 额外参数配置 */
28
26
 
29
27
  constructor(params) {
30
- (0, _defineProperty2.default)(this, "__json_serializable__", true);
31
28
  this.appId = params.appId;
32
29
  this.token = params.token;
33
30
  this.userId = params.userId;
package/lib/type.d.ts CHANGED
@@ -31,7 +31,7 @@ export type { FcrIPConnectorSession, FcrIPConnectorSessionParams, FcrPhoneConnec
31
31
  export type { FcrRoomSession, FcrRoomSessionControl, FcrRoomSessionObserver, FcrRoomSessionParams, } from './room-control/room-session/type';
32
32
  export { FcrScreenSharingState, FcrWhiteboardState } from './room-control/sharing-control/type';
33
33
  export type { FcrSharingControl, FcrSharingObserver } from './room-control/sharing-control/type';
34
- export type { FcrDimensions, FcrLocalAudioStats, FcrLocalStreamCreateConfig, FcrLocalVideoStats, FcrRemoteAudioStats, FcrRemoteVideoStats, FcrSize, FcrSnapshotInfo, FcrStreamControl, FcrStreamCreateConfig, FcrStreamEvent, FcrStreamObserver, FcrUpdateStreamPrivilege, FcrUpdateStreamPrivilegeScope, } from './room-control/stream-control/type';
34
+ export type { FcrDimensions, FcrLocalAudioStats, FcrLocalStreamCreateConfig, FcrLocalVideoStats, FcrRemoteAudioStats, FcrRemoteVideoStats, FcrSize, FcrSnapshotInfo, FcrBatchResult, FcrStreamControl, FcrStreamCreateConfig, FcrStreamEvent, FcrStreamObserver, FcrStreamUpdateResultDetail, FcrUpdateStreamPrivilege, FcrUpdateStreamPrivilegeScope, } from './room-control/stream-control/type';
35
35
  export { FcrUserKickedOutType, FcrUserLeftReason, FcrUserRole, } from './room-control/user-control/type';
36
36
  export type { FcrUserControl, FcrUserJoinedEvent, FcrUserKickedOutEvent, FcrUserLeftEvent, FcrUserObserver, FcrUserPageParams, FcrUserPageResponse, FcrUserPropertiesDeletedEvent, FcrUserPropertiesUpdatedEvent, FcrUserUpdatedEvent, } from './room-control/user-control/type';
37
37
  export type { FcrAnnotationConfig, FcrAnnotationControl, } from './room-control/whiteboard-control-v2/annotation-control/type';
@@ -4,10 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.abortableRetry = void 0;
7
- require("core-js/modules/es.regexp.exec.js");
8
- require("core-js/modules/web.dom-exception.constructor.js");
9
7
  require("core-js/modules/web.dom-exception.stack.js");
10
- require("core-js/modules/web.dom-exception.to-string-tag.js");
11
8
  var _imports = require("../imports");
12
9
  /**
13
10
  * Creates an abortable retry operation that can be cancelled at any time.
@@ -1,24 +1,19 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.iterateSet = exports.iterateMap = exports.convertToStructure = void 0;
8
7
  require("core-js/modules/es.array.push.js");
9
- require("core-js/modules/web.dom-collections.iterator.js");
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
8
  const iterateMap = (map, processors) => {
12
- const onFilter = (processors === null || processors === void 0 ? void 0 : processors.onFilter) || (() => true);
13
- const _ref = processors || {},
14
- onMap = _ref.onMap,
15
- onReduce = _ref.onReduce;
9
+ const onFilter = processors?.onFilter || (() => true);
10
+ const {
11
+ onMap,
12
+ onReduce
13
+ } = processors || {};
16
14
  const list = [];
17
15
  let prev = undefined;
18
- for (const _ref2 of map.entries()) {
19
- var _ref3 = (0, _slicedToArray2.default)(_ref2, 2);
20
- const k = _ref3[0];
21
- const v = _ref3[1];
16
+ for (const [k, v] of map.entries()) {
22
17
  if (onFilter(k, v)) {
23
18
  if (onMap) list.push(onMap(k, v));
24
19
  if (onReduce) prev = onReduce(prev, k, v);
@@ -31,10 +26,11 @@ const iterateMap = (map, processors) => {
31
26
  };
32
27
  exports.iterateMap = iterateMap;
33
28
  const iterateSet = (map, processors) => {
34
- const onFilter = (processors === null || processors === void 0 ? void 0 : processors.onFilter) || (() => true);
35
- const _ref4 = processors || {},
36
- onMap = _ref4.onMap,
37
- onReduce = _ref4.onReduce;
29
+ const onFilter = processors?.onFilter || (() => true);
30
+ const {
31
+ onMap,
32
+ onReduce
33
+ } = processors || {};
38
34
  const list = [];
39
35
  let prev = undefined;
40
36
  for (const item of map.values()) {
@@ -1,19 +1,12 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.array.push.js");
4
- require("core-js/modules/esnext.iterator.constructor.js");
5
- require("core-js/modules/esnext.iterator.filter.js");
6
- require("core-js/modules/esnext.iterator.for-each.js");
7
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
8
3
  Object.defineProperty(exports, "__esModule", {
9
4
  value: true
10
5
  });
11
6
  exports.roomControlErrorHelper = exports.liveStreamingErrorHelper = exports.engineErrorHelper = exports.defaultErrorHelper = exports.FcrErrorHelper = exports.ControllerType = void 0;
12
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
7
  var _imports = require("../imports");
14
8
  var _error = require("./error");
15
- 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; }
16
- 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; } /**
9
+ /**
17
10
  * 通用错误处理辅助工具
18
11
  *
19
12
  * 提供统一的错误创建和处理机制,支持实例化配置
@@ -46,14 +39,14 @@ let ControllerType = exports.ControllerType = /*#__PURE__*/function (ControllerT
46
39
  * 错误处理助手类 - 支持实例化配置
47
40
  */
48
41
  class FcrErrorHelper {
49
- constructor() {
50
- let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
51
- this.config = _objectSpread({
42
+ constructor(config = {}) {
43
+ this.config = {
52
44
  defaultModuleCode: _imports.ErrorModuleCode.FCR_ROOM,
53
45
  enableDetailedMessages: true,
54
46
  logPrefix: 'FCR',
55
- autoLog: false
56
- }, config);
47
+ autoLog: false,
48
+ ...config
49
+ };
57
50
  }
58
51
  /**
59
52
  * 生成控制器未初始化错误
@@ -62,11 +55,11 @@ class FcrErrorHelper {
62
55
  * @returns FcrError
63
56
  */
64
57
  createControllerNotInitializedError(controllerType, moduleCode) {
65
- const module = moduleCode !== null && moduleCode !== void 0 ? moduleCode : this.config.defaultModuleCode;
66
- const message = this.config.enableDetailedMessages ? "[".concat(this.config.logPrefix, "] The ").concat(controllerType, " controller is not initialized, please join the room first") : "".concat(controllerType, " controller not initialized");
58
+ const module = moduleCode ?? this.config.defaultModuleCode;
59
+ const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] The ${controllerType} controller is not initialized, please join the room first` : `${controllerType} controller not initialized`;
67
60
  const error = (0, _error.generateFcrCoreClientError)(module, _imports.DetailErrorCode.NOT_JOINED_ROOM, message);
68
61
  if (this.config.autoLog) {
69
- console.error("".concat(this.config.logPrefix, ": ").concat(message));
62
+ console.error(`${this.config.logPrefix}: ${message}`);
70
63
  }
71
64
  return error;
72
65
  }
@@ -79,11 +72,11 @@ class FcrErrorHelper {
79
72
  * @returns FcrError
80
73
  */
81
74
  createOperationConflictError(operation, reason, moduleCode) {
82
- const module = moduleCode !== null && moduleCode !== void 0 ? moduleCode : this.config.defaultModuleCode;
83
- const message = this.config.enableDetailedMessages ? "[".concat(this.config.logPrefix, "] Failed to ").concat(operation, ": ").concat(reason) : "".concat(operation, " failed: ").concat(reason);
75
+ const module = moduleCode ?? this.config.defaultModuleCode;
76
+ const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] Failed to ${operation}: ${reason}` : `${operation} failed: ${reason}`;
84
77
  const error = (0, _error.generateFcrCoreClientError)(module, _imports.DetailErrorCode.JOIN_CONFLICT, message);
85
78
  if (this.config.autoLog) {
86
- console.error("".concat(this.config.logPrefix, ": ").concat(message));
79
+ console.error(`${this.config.logPrefix}: ${message}`);
87
80
  }
88
81
  return error;
89
82
  }
@@ -95,11 +88,11 @@ class FcrErrorHelper {
95
88
  * @returns FcrError
96
89
  */
97
90
  createOperationCanceledError(operation, moduleCode) {
98
- const module = moduleCode !== null && moduleCode !== void 0 ? moduleCode : this.config.defaultModuleCode;
99
- const message = this.config.enableDetailedMessages ? "[".concat(this.config.logPrefix, "] ").concat(operation, " operation has been cancelled") : "".concat(operation, " cancelled");
91
+ const module = moduleCode ?? this.config.defaultModuleCode;
92
+ const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] ${operation} operation has been cancelled` : `${operation} cancelled`;
100
93
  const error = (0, _error.generateFcrCoreClientError)(module, _imports.DetailErrorCode.NOT_JOINED_ROOM, message);
101
94
  if (this.config.autoLog) {
102
- console.error("".concat(this.config.logPrefix, ": ").concat(message));
95
+ console.error(`${this.config.logPrefix}: ${message}`);
103
96
  }
104
97
  return error;
105
98
  }
@@ -111,11 +104,11 @@ class FcrErrorHelper {
111
104
  * @returns FcrError
112
105
  */
113
106
  createSendMessageError(originalError, moduleCode) {
114
- const module = moduleCode !== null && moduleCode !== void 0 ? moduleCode : this.config.defaultModuleCode;
115
- const message = this.config.enableDetailedMessages ? "[".concat(this.config.logPrefix, "] Send message failed: ").concat(originalError.message) : 'send message failed';
107
+ const module = moduleCode ?? this.config.defaultModuleCode;
108
+ const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] Send message failed: ${originalError.message}` : 'send message failed';
116
109
  const error = (0, _error.generateFcrCoreClientError)(module, _imports.DetailErrorCode.UNDEFINED_ERROR, message);
117
110
  if (this.config.autoLog) {
118
- console.error("".concat(this.config.logPrefix, ": ").concat(message), originalError);
111
+ console.error(`${this.config.logPrefix}: ${message}`, originalError);
119
112
  }
120
113
  return error;
121
114
  }
@@ -128,11 +121,11 @@ class FcrErrorHelper {
128
121
  * @returns FcrError
129
122
  */
130
123
  createOperationError(operation, originalError, moduleCode) {
131
- const module = moduleCode !== null && moduleCode !== void 0 ? moduleCode : this.config.defaultModuleCode;
132
- const message = this.config.enableDetailedMessages ? "[".concat(this.config.logPrefix, "] ").concat(operation, " failed").concat(originalError ? ": ".concat(originalError.message) : '') : "".concat(operation, " failed");
124
+ const module = moduleCode ?? this.config.defaultModuleCode;
125
+ const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] ${operation} failed${originalError ? `: ${originalError.message}` : ''}` : `${operation} failed`;
133
126
  const error = (0, _error.generateFcrCoreClientError)(module, _imports.DetailErrorCode.NOT_JOINED_ROOM, message);
134
127
  if (this.config.autoLog) {
135
- console.error("".concat(this.config.logPrefix, ": ").concat(message), originalError);
128
+ console.error(`${this.config.logPrefix}: ${message}`, originalError);
136
129
  }
137
130
  return error;
138
131
  }
@@ -144,11 +137,11 @@ class FcrErrorHelper {
144
137
  * @returns FcrError
145
138
  */
146
139
  createNetworkError(message, moduleCode) {
147
- const module = moduleCode !== null && moduleCode !== void 0 ? moduleCode : this.config.defaultModuleCode;
148
- const formattedMessage = this.config.enableDetailedMessages ? "[".concat(this.config.logPrefix, "] Network error: ").concat(message) : message;
140
+ const module = moduleCode ?? this.config.defaultModuleCode;
141
+ const formattedMessage = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] Network error: ${message}` : message;
149
142
  const error = (0, _error.generateFcrCoreClientError)(module, _imports.DetailErrorCode.LOCAL_HTTP_REQUEST_FAILED, formattedMessage);
150
143
  if (this.config.autoLog) {
151
- console.error("".concat(this.config.logPrefix, ": ").concat(formattedMessage));
144
+ console.error(`${this.config.logPrefix}: ${formattedMessage}`);
152
145
  }
153
146
  return error;
154
147
  }
@@ -161,11 +154,11 @@ class FcrErrorHelper {
161
154
  * @returns FcrError
162
155
  */
163
156
  createInvalidParamsError(paramName, reason, moduleCode) {
164
- const module = moduleCode !== null && moduleCode !== void 0 ? moduleCode : this.config.defaultModuleCode;
165
- const message = this.config.enableDetailedMessages ? "[".concat(this.config.logPrefix, "] Invalid parameter '").concat(paramName, "': ").concat(reason) : "Invalid parameter '".concat(paramName, "': ").concat(reason);
157
+ const module = moduleCode ?? this.config.defaultModuleCode;
158
+ const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] Invalid parameter '${paramName}': ${reason}` : `Invalid parameter '${paramName}': ${reason}`;
166
159
  const error = (0, _error.generateFcrCoreClientError)(module, _imports.DetailErrorCode.INVALID_PARAMS, message);
167
160
  if (this.config.autoLog) {
168
- console.error("".concat(this.config.logPrefix, ": ").concat(message));
161
+ console.error(`${this.config.logPrefix}: ${message}`);
169
162
  }
170
163
  return error;
171
164
  }
@@ -32,7 +32,7 @@ const generateFcrCoreClientError = (module, code, message, cause) => {
32
32
  };
33
33
  exports.generateFcrCoreClientError = generateFcrCoreClientError;
34
34
  const generateFcrCoreServerError = (code, message) => {
35
- const errorCode = Number("".concat(_imports.ErrorServiceType.FCR_SERVER).concat((0, _imports.padStart)(String(code), 8, '0')));
35
+ const errorCode = Number(`${_imports.ErrorServiceType.FCR_SERVER}${(0, _imports.padStart)(String(code), 8, '0')}`);
36
36
  const error = new _imports.FcrError({
37
37
  message: message,
38
38
  code: errorCode
@@ -47,11 +47,10 @@ const handleRequestError = async (action, errorModuleCode, errorMessage) => {
47
47
  return await action();
48
48
  } catch (e) {
49
49
  if (e instanceof _imports.AgoraRestfulClientError) {
50
- var _e$serviceCode;
51
- throw generateFcrCoreServerError((_e$serviceCode = e.serviceCode) !== null && _e$serviceCode !== void 0 ? _e$serviceCode : -1, e.message);
50
+ throw generateFcrCoreServerError(e.serviceCode ?? -1, e.message);
52
51
  }
53
52
  const error = e;
54
- throw generateFcrCoreClientError(errorModuleCode, _imports.DetailErrorCode.UNDEFINED_ERROR, errorMessage !== null && errorMessage !== void 0 ? errorMessage : error.message);
53
+ throw generateFcrCoreClientError(errorModuleCode, _imports.DetailErrorCode.UNDEFINED_ERROR, errorMessage ?? error.message);
55
54
  }
56
55
  };
57
56
 
@@ -1,29 +1,23 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.array.push.js");
4
- require("core-js/modules/esnext.iterator.filter.js");
5
- require("core-js/modules/esnext.iterator.for-each.js");
6
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
7
3
  Object.defineProperty(exports, "__esModule", {
8
4
  value: true
9
5
  });
10
6
  exports.FcrJoinHelper = void 0;
11
7
  exports.handleJoinRetryFailure = handleJoinRetryFailure;
12
- require("core-js/modules/es.regexp.exec.js");
13
8
  require("core-js/modules/esnext.iterator.constructor.js");
14
9
  require("core-js/modules/esnext.iterator.map.js");
15
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
10
  var _imports = require("../imports");
17
11
  var _type = require("../type");
18
12
  var _retryHelpers = require("./retry-helpers");
19
13
  var _error = require("./error");
20
14
  var _constants = require("../room-control/helpers/constants");
21
- 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; }
22
- 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; } /**
15
+ /**
23
16
  * 房间加入辅助工具
24
17
  *
25
18
  * 提供房间控制相关的加入逻辑和参数构建,统一处理 room-control 和 room-router 中的公共逻辑
26
19
  */
20
+
27
21
  /**
28
22
  * 通用的加入房间重试失败处理器
29
23
  * @param error 错误对象
@@ -34,15 +28,14 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
34
28
  * @param logPrefix 日志前缀
35
29
  * @returns 是否继续重试
36
30
  */
37
- async function handleJoinRetryFailure(error, waitBeforeRetry, attemptCount, canRetryFn, onAborted) {
38
- let logPrefix = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 'join room';
39
- onAborted === null || onAborted === void 0 || onAborted();
31
+ async function handleJoinRetryFailure(error, waitBeforeRetry, attemptCount, canRetryFn, onAborted, logPrefix = 'join room') {
32
+ onAborted?.();
40
33
  if (!canRetryFn(error)) {
41
34
  throw error;
42
35
  }
43
36
 
44
37
  // 记录重试信息
45
- console.warn("Retry attempt ".concat(attemptCount + 1, " to ").concat(logPrefix, ": ").concat(error.message));
38
+ console.warn(`Retry attempt ${attemptCount + 1} to ${logPrefix}: ${error.message}`);
46
39
  await waitBeforeRetry();
47
40
  return true;
48
41
  }
@@ -73,31 +66,33 @@ class FcrJoinHelper {
73
66
  * @returns CheckIn参数对象
74
67
  */
75
68
  static buildCheckInParams(options, userId, roomId, extraParams) {
76
- var _options$platform, _options$createStream;
77
- return _objectSpread(_objectSpread({
69
+ return {
78
70
  userName: options.userName,
79
71
  userId,
80
72
  userRole: _type.FcrUserRoleToStringMap[options.userRole],
81
73
  userProperties: options.userProperties,
82
74
  roomId,
83
- platform: (_options$platform = options.platform) !== null && _options$platform !== void 0 ? _options$platform : (0, _imports.getPlatform)(),
84
- streams: (_options$createStream = options.createStreamConfigs) === null || _options$createStream === void 0 ? void 0 : _options$createStream.map(s => _objectSpread(_objectSpread({
75
+ platform: options.platform ?? (0, _imports.getPlatform)(),
76
+ streams: options.createStreamConfigs?.map(s => ({
85
77
  videoSourceUuid: s.videoSourceId,
86
78
  audioSourceUuid: s.audioSourceId,
87
- streamName: s.streamName
88
- }, (0, _imports.convertStreamTypeToPublishState)(s.streamType)), {}, {
79
+ streamName: s.streamName,
80
+ ...(0, _imports.convertStreamTypeToPublishState)(s.streamType),
89
81
  videoSourceType: s.videoSourceType,
90
82
  audioSourceType: s.audioSourceType,
91
83
  audioSourceState: s.audioSourceState,
92
84
  videoSourceState: s.videoSourceState
93
85
  })),
94
86
  version: (0, _imports.getVersion)(),
95
- password: options.password
96
- }, (extraParams === null || extraParams === void 0 ? void 0 : extraParams.bypass) !== undefined && {
97
- bypass: extraParams.bypass
98
- }), (extraParams === null || extraParams === void 0 ? void 0 : extraParams.avatar) !== undefined && {
99
- avatar: extraParams.avatar
100
- });
87
+ password: options.password,
88
+ // 只有在提供了额外参数时才添加
89
+ ...(extraParams?.bypass !== undefined && {
90
+ bypass: extraParams.bypass
91
+ }),
92
+ ...(extraParams?.avatar !== undefined && {
93
+ avatar: extraParams.avatar
94
+ })
95
+ };
101
96
  }
102
97
 
103
98
  /**
@@ -122,8 +117,7 @@ class FcrJoinHelper {
122
117
  * @param useInternalApi 是否使用 checkInInternal API(默认 true)
123
118
  * @returns CheckIn响应数据
124
119
  */
125
- async performCheckIn(options, extraParams) {
126
- let useInternalApi = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
120
+ async performCheckIn(options, extraParams, useInternalApi = true) {
127
121
  const checkInParams = this._buildCheckInParams(options, extraParams);
128
122
  const apiCall = useInternalApi ? () => this._api.checkInInternal(checkInParams) : () => this._api.checkIn(checkInParams);
129
123
  const errorMessage = useInternalApi ? 'check in internal failed' : 'check in failed';
@@ -146,11 +140,11 @@ class FcrJoinHelper {
146
140
  */
147
141
  async joinWithCheckIn(options, onJoinAborted) {
148
142
  await (0, _imports.retryAttempt)(async () => {
149
- var _options$roomToken;
150
143
  // 1. 执行 CheckIn(单次调用,无内部重试)
151
- const _await$this$performCh = await this.performCheckIn(options),
152
- data = _await$this$performCh.data,
153
- ts = _await$this$performCh.ts;
144
+ const {
145
+ data,
146
+ ts
147
+ } = await this.performCheckIn(options);
154
148
 
155
149
  // 2. 检查是否中止
156
150
  if (onJoinAborted) {
@@ -158,7 +152,7 @@ class FcrJoinHelper {
158
152
  }
159
153
 
160
154
  // 3. 使用 CheckIn 结果加入房间
161
- await this._joinScene(options.streamLatency, options.streamEncryptionConfig, data, ts, (_options$roomToken = options.roomToken) !== null && _options$roomToken !== void 0 ? _options$roomToken : '', undefined);
155
+ await this._joinScene(options.streamLatency, options.streamEncryptionConfig, data, ts, options.roomToken ?? '', undefined);
162
156
 
163
157
  // 4. 再次检查是否中止
164
158
  if (onJoinAborted) {
@@ -166,10 +160,11 @@ class FcrJoinHelper {
166
160
  }
167
161
  }, [], {
168
162
  retriesMax: _constants.ROOM_CONTROL_CONSTANTS.MAX_JOIN_ATTEMPTS
169
- }).fail(async _ref => {
170
- let error = _ref.error,
171
- waitBeforeRetry = _ref.timeFn,
172
- attemptCount = _ref.currentRetry;
163
+ }).fail(async ({
164
+ error,
165
+ timeFn: waitBeforeRetry,
166
+ currentRetry: attemptCount
167
+ }) => {
173
168
  return handleJoinRetryFailure(error, waitBeforeRetry, attemptCount, _retryHelpers.canRetryJoinError, onJoinAborted, 'join room via CheckIn');
174
169
  }).exec();
175
170
  }
@@ -225,8 +220,7 @@ class FcrJoinHelper {
225
220
  * @private
226
221
  */
227
222
  async _joinWithSnapshot(options, onJoinAborted) {
228
- var _options$roomToken2;
229
- await this._joinScene(options.streamLatency || _type.FcrStreamLatencyLevel.ULTRA_LOW, options.streamEncryptionConfig, options.snapshot, options.timestamp, (_options$roomToken2 = options.roomToken) !== null && _options$roomToken2 !== void 0 ? _options$roomToken2 : '', onJoinAborted);
223
+ await this._joinScene(options.streamLatency || _type.FcrStreamLatencyLevel.ULTRA_LOW, options.streamEncryptionConfig, options.snapshot, options.timestamp, options.roomToken ?? '', onJoinAborted);
230
224
  }
231
225
  }
232
226
  exports.FcrJoinHelper = FcrJoinHelper;
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.getLogger = exports.generateLogObserver = exports.createLogger = exports.FcrCoreLoggerManagerHolder = void 0;
8
- require("core-js/modules/es.error.cause.js");
9
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
7
  var _imports = require("../imports");
11
8
  class FcrCoreLoggerManagerHolder {
9
+ static instance = null;
10
+ static isDestroying = false;
11
+ static label = 'fcr-core';
12
12
  static initialize(opts) {
13
13
  if (this.instance && !this.isDestroying) {
14
- console.warn("".concat(this.label, " LoggerManager is already initialized. Reinitializing..."));
14
+ console.warn(`${this.label} LoggerManager is already initialized. Reinitializing...`);
15
15
  }
16
16
  this.destroy();
17
17
  this.instance = new _imports.LoggerManager({
@@ -21,7 +21,7 @@ class FcrCoreLoggerManagerHolder {
21
21
  }
22
22
  static getInstance() {
23
23
  if (!this.instance) {
24
- throw new Error("LoggerManager is not initialized. Call ".concat(this.label, " LoggerManager.initialize() first."));
24
+ throw new Error(`LoggerManager is not initialized. Call ${this.label} LoggerManager.initialize() first.`);
25
25
  }
26
26
  return this.instance;
27
27
  }
@@ -50,9 +50,6 @@ class FcrCoreLoggerManagerHolder {
50
50
  }
51
51
  }
52
52
  exports.FcrCoreLoggerManagerHolder = FcrCoreLoggerManagerHolder;
53
- (0, _defineProperty2.default)(FcrCoreLoggerManagerHolder, "instance", null);
54
- (0, _defineProperty2.default)(FcrCoreLoggerManagerHolder, "isDestroying", false);
55
- (0, _defineProperty2.default)(FcrCoreLoggerManagerHolder, "label", 'fcr-core');
56
53
  const getLogger = exports.getLogger = FcrCoreLoggerManagerHolder.getLogger.bind(FcrCoreLoggerManagerHolder);
57
54
  const createLogger = exports.createLogger = FcrCoreLoggerManagerHolder.createLogger.bind(FcrCoreLoggerManagerHolder);
58
55
  const generateLogObserver = exports.generateLogObserver = FcrCoreLoggerManagerHolder.generateLogObserver.bind(FcrCoreLoggerManagerHolder);
@@ -28,7 +28,6 @@ require("core-js/modules/esnext.set.symmetric-difference.v2.js");
28
28
  require("core-js/modules/esnext.set.symmetric-difference.js");
29
29
  require("core-js/modules/esnext.set.union.v2.js");
30
30
  require("core-js/modules/esnext.set.union.js");
31
- require("core-js/modules/web.dom-collections.iterator.js");
32
31
  var _imports = require("../imports");
33
32
  const DEFAULT_LOG_FILE_SIZE = 512;
34
33
  /** RTC preset parameters configuration mapping table */
@@ -114,57 +113,48 @@ const isTrueValue = value => {
114
113
  };
115
114
  exports.isTrueValue = isTrueValue;
116
115
  const getCoreIpList = parameters => {
117
- var _parameters$core;
118
- return parameters === null || parameters === void 0 || (_parameters$core = parameters.core) === null || _parameters$core === void 0 ? void 0 : _parameters$core.coreIpList;
116
+ return parameters?.core?.coreIpList;
119
117
  };
120
118
  exports.getCoreIpList = getCoreIpList;
121
119
  const getEasemobChatIpList = parameters => {
122
- var _parameters$core2;
123
- return parameters === null || parameters === void 0 || (_parameters$core2 = parameters.core) === null || _parameters$core2 === void 0 ? void 0 : _parameters$core2.easemobChatIpList;
120
+ return parameters?.core?.easemobChatIpList;
124
121
  };
125
122
  exports.getEasemobChatIpList = getEasemobChatIpList;
126
123
  const getEasemobRestIpList = parameters => {
127
- var _parameters$core3;
128
- return parameters === null || parameters === void 0 || (_parameters$core3 = parameters.core) === null || _parameters$core3 === void 0 ? void 0 : _parameters$core3.easemobRestIpList;
124
+ return parameters?.core?.easemobRestIpList;
129
125
  };
130
126
  exports.getEasemobRestIpList = getEasemobRestIpList;
131
127
  const getScribbleForgeIpList = parameters => {
132
- var _parameters$core4;
133
- return parameters === null || parameters === void 0 || (_parameters$core4 = parameters.core) === null || _parameters$core4 === void 0 ? void 0 : _parameters$core4.scribbleForgeIpList;
128
+ return parameters?.core?.scribbleForgeIpList;
134
129
  };
135
130
  exports.getScribbleForgeIpList = getScribbleForgeIpList;
136
131
  const isEndpointRegionDisabled = parameters => {
137
- var _parameters$core5;
138
- return isTrueValue(parameters === null || parameters === void 0 || (_parameters$core5 = parameters.core) === null || _parameters$core5 === void 0 ? void 0 : _parameters$core5.disableEndpointRegion);
132
+ return isTrueValue(parameters?.core?.disableEndpointRegion);
139
133
  };
140
134
  exports.isEndpointRegionDisabled = isEndpointRegionDisabled;
141
135
  const getNeedLogUpload = parameters => {
142
- var _parameters$core6;
143
- if ((0, _imports.isBoolean)(parameters === null || parameters === void 0 || (_parameters$core6 = parameters.core) === null || _parameters$core6 === void 0 ? void 0 : _parameters$core6.needLogUpload)) {
136
+ if ((0, _imports.isBoolean)(parameters?.core?.needLogUpload)) {
144
137
  return parameters.core.needLogUpload;
145
138
  }
146
139
  return true;
147
140
  };
148
141
  exports.getNeedLogUpload = getNeedLogUpload;
149
142
  const getCoreLogFileSize = parameters => {
150
- var _parameters$core7;
151
- if (!(0, _imports.isNumber)(parameters === null || parameters === void 0 || (_parameters$core7 = parameters.core) === null || _parameters$core7 === void 0 ? void 0 : _parameters$core7.coreLogFileSize)) {
143
+ if (!(0, _imports.isNumber)(parameters?.core?.coreLogFileSize)) {
152
144
  return DEFAULT_LOG_FILE_SIZE;
153
145
  }
154
146
  return parameters.core.coreLogFileSize;
155
147
  };
156
148
  exports.getCoreLogFileSize = getCoreLogFileSize;
157
149
  const getEasemobLogFileSize = parameters => {
158
- var _parameters$core8;
159
- if (!(0, _imports.isNumber)(parameters === null || parameters === void 0 || (_parameters$core8 = parameters.core) === null || _parameters$core8 === void 0 ? void 0 : _parameters$core8.easemobLogFileSize)) {
150
+ if (!(0, _imports.isNumber)(parameters?.core?.easemobLogFileSize)) {
160
151
  return DEFAULT_LOG_FILE_SIZE;
161
152
  }
162
153
  return parameters.core.easemobLogFileSize;
163
154
  };
164
155
  exports.getEasemobLogFileSize = getEasemobLogFileSize;
165
156
  const getNetlessLogFileSize = parameters => {
166
- var _parameters$core9;
167
- if (!(0, _imports.isNumber)(parameters === null || parameters === void 0 || (_parameters$core9 = parameters.core) === null || _parameters$core9 === void 0 ? void 0 : _parameters$core9.netlessLogFileSize)) {
157
+ if (!(0, _imports.isNumber)(parameters?.core?.netlessLogFileSize)) {
168
158
  return DEFAULT_LOG_FILE_SIZE;
169
159
  }
170
160
  return parameters.core.netlessLogFileSize;
@@ -173,9 +163,8 @@ const getNetlessLogFileSize = parameters => {
173
163
  exports.getNetlessLogFileSize = getNetlessLogFileSize;
174
164
  const DESKTOP_PLATFORMS = new Set([_imports.FcrApplicationPlatform.WINDOWS, _imports.FcrApplicationPlatform.MACOS]);
175
165
  const getRtcPresetParameters = () => {
176
- var _RTC_PRESET_PARAMS_MA;
177
166
  const platform = (0, _imports.getPlatform)();
178
- const platformParams = (_RTC_PRESET_PARAMS_MA = RTC_PRESET_PARAMS_MAP[platform]) !== null && _RTC_PRESET_PARAMS_MA !== void 0 ? _RTC_PRESET_PARAMS_MA : [];
167
+ const platformParams = RTC_PRESET_PARAMS_MAP[platform] ?? [];
179
168
  const electronParams = ELECTRON_PLATFORMS.has(platform) ? ELECTRON_COMMON_PARAMS : [];
180
169
  const harmonyOrElectronParams = HARMONY_OR_ELECTRON_PLATFORMS.has(platform) ? HARMONY_OR_ELECTRON_COMMON_PARAMS : [];
181
170
  return [...platformParams, ...electronParams, ...harmonyOrElectronParams].map(p => JSON.stringify(p));
@@ -7,7 +7,6 @@ exports.ROOM_NON_RETRYABLE_ERRORS = exports.ROOM_JOIN_NON_RETRYABLE_ERRORS = voi
7
7
  exports.canRetryError = canRetryError;
8
8
  exports.canRetryJoinError = canRetryJoinError;
9
9
  require("core-js/modules/es.array.includes.js");
10
- require("core-js/modules/web.dom-collections.iterator.js");
11
10
  var _imports = require("../imports");
12
11
  /**
13
12
  * 通用重试辅助工具
@@ -1,31 +1,26 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.array.push.js");
4
- require("core-js/modules/esnext.iterator.filter.js");
5
- require("core-js/modules/esnext.iterator.for-each.js");
6
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
7
3
  Object.defineProperty(exports, "__esModule", {
8
4
  value: true
9
5
  });
10
6
  exports.getStreamsJoinConfig = exports.getStreamJoinConfig = void 0;
11
7
  require("core-js/modules/esnext.iterator.constructor.js");
12
8
  require("core-js/modules/esnext.iterator.map.js");
13
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
- 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; }
15
- 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; }
16
9
  const getStreamJoinConfig = stream => {
17
- return _objectSpread(_objectSpread({}, stream), {}, {
18
- videoSourceUuid: stream === null || stream === void 0 ? void 0 : stream.videoSourceId,
19
- audioSourceUuid: stream === null || stream === void 0 ? void 0 : stream.audioSourceId
20
- });
10
+ return {
11
+ ...stream,
12
+ videoSourceUuid: stream?.videoSourceId,
13
+ audioSourceUuid: stream?.audioSourceId
14
+ };
21
15
  };
22
16
  exports.getStreamJoinConfig = getStreamJoinConfig;
23
17
  const getStreamsJoinConfig = streams => {
24
- return streams === null || streams === void 0 ? void 0 : streams.map(stream => {
25
- return _objectSpread(_objectSpread({}, stream), {}, {
26
- videoSourceUuid: stream === null || stream === void 0 ? void 0 : stream.videoSourceId,
27
- audioSourceUuid: stream === null || stream === void 0 ? void 0 : stream.audioSourceId
28
- });
18
+ return streams?.map(stream => {
19
+ return {
20
+ ...stream,
21
+ videoSourceUuid: stream?.videoSourceId,
22
+ audioSourceUuid: stream?.audioSourceId
23
+ };
29
24
  });
30
25
  };
31
26
  exports.getStreamsJoinConfig = getStreamsJoinConfig;
@@ -7,13 +7,12 @@ exports.convertStringPrivilegeRoleToFcrPrivilegeRole = exports.convertRteUserToF
7
7
  var _type = require("../type");
8
8
  var _type2 = require("../room-control/privilege-control/type");
9
9
  const convertRteUserToFcrUser = (user, cache) => {
10
- var _cache$getUserPlatfor, _cache$getUserAvatar;
11
10
  const userRole = _type.FcrUserStringToRoleMap[user.userRole];
12
11
  if (!userRole) {
13
12
  return undefined;
14
13
  }
15
- let platform = (_cache$getUserPlatfor = cache.getUserPlatform(user.userId)) !== null && _cache$getUserPlatfor !== void 0 ? _cache$getUserPlatfor : _type.FcrPlatform.UNSUPPORTED;
16
- const avatar = (_cache$getUserAvatar = cache.getUserAvatar(user.userId)) !== null && _cache$getUserAvatar !== void 0 ? _cache$getUserAvatar : '';
14
+ let platform = cache.getUserPlatform(user.userId) ?? _type.FcrPlatform.UNSUPPORTED;
15
+ const avatar = cache.getUserAvatar(user.userId) ?? '';
17
16
  const isValidPlatform = platform in _type.FcrPlatform;
18
17
  platform = isValidPlatform ? platform : _type.FcrPlatform.UNSUPPORTED;
19
18
  return {
@@ -27,7 +26,7 @@ const convertRteUserToFcrUser = (user, cache) => {
27
26
  };
28
27
  exports.convertRteUserToFcrUser = convertRteUserToFcrUser;
29
28
  const checkFcrUserRole = user => {
30
- if (!(user !== null && user !== void 0 && user.userRole)) return;
29
+ if (!user?.userRole) return;
31
30
  return user;
32
31
  };
33
32
  exports.checkFcrUserRole = checkFcrUserRole;