fcr-core 3.8.0-alpha → 3.8.1-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 (60) hide show
  1. package/lib/chat-connection/index.js +26 -40
  2. package/lib/engine/index.js +72 -66
  3. package/lib/imports.js +0 -1
  4. package/lib/media-control/desktop.js +13 -18
  5. package/lib/media-control/mobile.js +13 -18
  6. package/lib/monitor-control/index.js +5 -10
  7. package/lib/peer-session/index.js +39 -47
  8. package/lib/plugins/chatroom.js +213 -229
  9. package/lib/room-control/ability-control/index.js +9 -14
  10. package/lib/room-control/group-control/index.js +16 -21
  11. package/lib/room-control/helpers/validation-helper.js +1 -1
  12. package/lib/room-control/index.js +36 -53
  13. package/lib/room-control/interpreter-control/index.js +34 -47
  14. package/lib/room-control/interpreter-control/room.js +4 -6
  15. package/lib/room-control/join-before-host-waitingroom-control/index.js +4 -6
  16. package/lib/room-control/mainroom-control/index.js +27 -35
  17. package/lib/room-control/privilege-control/helper.js +5 -8
  18. package/lib/room-control/privilege-control/index.js +19 -26
  19. package/lib/room-control/room-connector-control/index.js +19 -28
  20. package/lib/room-control/room-control-factory.js +1 -2
  21. package/lib/room-control/room-session/index.js +39 -46
  22. package/lib/room-control/shared-cache.js +29 -36
  23. package/lib/room-control/sharing-control/index.d.ts +1 -1
  24. package/lib/room-control/sharing-control/index.js +34 -42
  25. package/lib/room-control/stream-control/index.js +191 -195
  26. package/lib/room-control/stream-control/type.d.ts +1 -1
  27. package/lib/room-control/stt-control/de-compress-gzip.js +0 -10
  28. package/lib/room-control/stt-control/index.js +95 -98
  29. package/lib/room-control/stt-control/type.d.ts +1 -1
  30. package/lib/room-control/user-control/index.js +136 -143
  31. package/lib/room-control/waitingroom-control/index.js +9 -14
  32. package/lib/room-control/whiteboard-control/utils.js +2 -4
  33. package/lib/room-control/whiteboard-control-v1/board-subwindow.js +1 -2
  34. package/lib/room-control/whiteboard-control-v1/board-window.js +88 -99
  35. package/lib/room-control/whiteboard-control-v1/factory.js +4 -7
  36. package/lib/room-control/whiteboard-control-v1/index.js +28 -40
  37. package/lib/room-control/whiteboard-control-v1/mount-manager.js +2 -4
  38. package/lib/room-control/whiteboard-control-v1/utils.js +14 -17
  39. package/lib/room-control/whiteboard-control-v2/annotation-control/control.js +4 -6
  40. package/lib/room-control/whiteboard-control-v2/annotation-control/factory.js +5 -10
  41. package/lib/room-control/whiteboard-control-v2/base/index.js +34 -41
  42. package/lib/room-control/whiteboard-control-v2/base/main-window.js +24 -29
  43. package/lib/room-control/whiteboard-control-v2/utils.js +6 -7
  44. package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.d.ts +0 -1
  45. package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.js +23 -34
  46. package/lib/room-control/whiteboard-control-v2/whiteboard-control/factory.js +7 -14
  47. package/lib/room-router/index.js +47 -53
  48. package/lib/room-router/type.d.ts +2 -2
  49. package/lib/service/api.js +227 -250
  50. package/lib/utilities/collection.js +2 -3
  51. package/lib/utilities/error-helpers.js +27 -34
  52. package/lib/utilities/error.js +8 -9
  53. package/lib/utilities/join-helper.js +25 -32
  54. package/lib/utilities/logger.js +3 -6
  55. package/lib/utilities/parameters.js +4 -8
  56. package/lib/utilities/retry-helpers.js +0 -1
  57. package/lib/utilities/stream.js +11 -16
  58. package/lib/utilities/user.js +3 -4
  59. package/lib/utilities/validate-params.js +1 -2
  60. package/package.json +5 -6
@@ -5,9 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.iterateSet = exports.iterateMap = exports.convertToStructure = void 0;
7
7
  require("core-js/modules/es.array.push.js");
8
- require("core-js/modules/web.dom-collections.iterator.js");
9
8
  const iterateMap = (map, processors) => {
10
- const onFilter = (processors === null || processors === void 0 ? void 0 : processors.onFilter) || (() => true);
9
+ const onFilter = processors?.onFilter || (() => true);
11
10
  const {
12
11
  onMap,
13
12
  onReduce
@@ -27,7 +26,7 @@ const iterateMap = (map, processors) => {
27
26
  };
28
27
  exports.iterateMap = iterateMap;
29
28
  const iterateSet = (map, processors) => {
30
- const onFilter = (processors === null || processors === void 0 ? void 0 : processors.onFilter) || (() => true);
29
+ const onFilter = processors?.onFilter || (() => true);
31
30
  const {
32
31
  onMap,
33
32
  onReduce
@@ -1,18 +1,11 @@
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 _error = require("./error");
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; } /**
8
+ /**
16
9
  * 通用错误处理辅助工具
17
10
  *
18
11
  * 提供统一的错误创建和处理机制,支持实例化配置
@@ -42,14 +35,14 @@ let ControllerType = exports.ControllerType = /*#__PURE__*/function (ControllerT
42
35
  * 错误处理助手类 - 支持实例化配置
43
36
  */
44
37
  class FcrErrorHelper {
45
- constructor() {
46
- let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
47
- this.config = _objectSpread({
38
+ constructor(config = {}) {
39
+ this.config = {
48
40
  defaultModuleCode: _error.FcrErrorModuleCode.ROOM,
49
41
  enableDetailedMessages: true,
50
42
  logPrefix: 'FCR',
51
- autoLog: false
52
- }, config);
43
+ autoLog: false,
44
+ ...config
45
+ };
53
46
  }
54
47
  /**
55
48
  * 生成控制器未初始化错误
@@ -58,11 +51,11 @@ class FcrErrorHelper {
58
51
  * @returns FcrError
59
52
  */
60
53
  createControllerNotInitializedError(controllerType, moduleCode) {
61
- const module = moduleCode !== null && moduleCode !== void 0 ? moduleCode : this.config.defaultModuleCode;
62
- 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");
54
+ const module = moduleCode ?? this.config.defaultModuleCode;
55
+ const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] The ${controllerType} controller is not initialized, please join the room first` : `${controllerType} controller not initialized`;
63
56
  const error = (0, _error.generateFcrCoreClientErrorNew)(module, _error.FcrErrorCode.NOT_JOINED_ROOM, message);
64
57
  if (this.config.autoLog) {
65
- console.error("".concat(this.config.logPrefix, ": ").concat(message));
58
+ console.error(`${this.config.logPrefix}: ${message}`);
66
59
  }
67
60
  return error;
68
61
  }
@@ -75,11 +68,11 @@ class FcrErrorHelper {
75
68
  * @returns FcrError
76
69
  */
77
70
  createOperationConflictError(operation, reason, moduleCode) {
78
- const module = moduleCode !== null && moduleCode !== void 0 ? moduleCode : this.config.defaultModuleCode;
79
- const message = this.config.enableDetailedMessages ? "[".concat(this.config.logPrefix, "] Failed to ").concat(operation, ": ").concat(reason) : "".concat(operation, " failed: ").concat(reason);
71
+ const module = moduleCode ?? this.config.defaultModuleCode;
72
+ const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] Failed to ${operation}: ${reason}` : `${operation} failed: ${reason}`;
80
73
  const error = (0, _error.generateFcrCoreClientErrorNew)(module, _error.FcrErrorCode.JOIN_CONFLICT, message);
81
74
  if (this.config.autoLog) {
82
- console.error("".concat(this.config.logPrefix, ": ").concat(message));
75
+ console.error(`${this.config.logPrefix}: ${message}`);
83
76
  }
84
77
  return error;
85
78
  }
@@ -91,11 +84,11 @@ class FcrErrorHelper {
91
84
  * @returns FcrError
92
85
  */
93
86
  createOperationCanceledError(operation, moduleCode) {
94
- const module = moduleCode !== null && moduleCode !== void 0 ? moduleCode : this.config.defaultModuleCode;
95
- const message = this.config.enableDetailedMessages ? "[".concat(this.config.logPrefix, "] ").concat(operation, " operation has been cancelled") : "".concat(operation, " cancelled");
87
+ const module = moduleCode ?? this.config.defaultModuleCode;
88
+ const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] ${operation} operation has been cancelled` : `${operation} cancelled`;
96
89
  const error = (0, _error.generateFcrCoreClientErrorNew)(module, _error.FcrErrorCode.NOT_JOINED_ROOM, message);
97
90
  if (this.config.autoLog) {
98
- console.error("".concat(this.config.logPrefix, ": ").concat(message));
91
+ console.error(`${this.config.logPrefix}: ${message}`);
99
92
  }
100
93
  return error;
101
94
  }
@@ -107,11 +100,11 @@ class FcrErrorHelper {
107
100
  * @returns FcrError
108
101
  */
109
102
  createSendMessageError(originalError, moduleCode) {
110
- const module = moduleCode !== null && moduleCode !== void 0 ? moduleCode : this.config.defaultModuleCode;
111
- const message = this.config.enableDetailedMessages ? "[".concat(this.config.logPrefix, "] Send message failed: ").concat(originalError.message) : 'send message failed';
103
+ const module = moduleCode ?? this.config.defaultModuleCode;
104
+ const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] Send message failed: ${originalError.message}` : 'send message failed';
112
105
  const error = (0, _error.generateFcrCoreClientErrorNew)(module, _error.FcrErrorCode.UNDEFINED_ERROR, message);
113
106
  if (this.config.autoLog) {
114
- console.error("".concat(this.config.logPrefix, ": ").concat(message), originalError);
107
+ console.error(`${this.config.logPrefix}: ${message}`, originalError);
115
108
  }
116
109
  return error;
117
110
  }
@@ -124,11 +117,11 @@ class FcrErrorHelper {
124
117
  * @returns FcrError
125
118
  */
126
119
  createOperationError(operation, originalError, moduleCode) {
127
- const module = moduleCode !== null && moduleCode !== void 0 ? moduleCode : this.config.defaultModuleCode;
128
- const message = this.config.enableDetailedMessages ? "[".concat(this.config.logPrefix, "] ").concat(operation, " failed").concat(originalError ? ": ".concat(originalError.message) : '') : "".concat(operation, " failed");
120
+ const module = moduleCode ?? this.config.defaultModuleCode;
121
+ const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] ${operation} failed${originalError ? `: ${originalError.message}` : ''}` : `${operation} failed`;
129
122
  const error = (0, _error.generateFcrCoreClientErrorNew)(module, _error.FcrErrorCode.NOT_JOINED_ROOM, message);
130
123
  if (this.config.autoLog) {
131
- console.error("".concat(this.config.logPrefix, ": ").concat(message), originalError);
124
+ console.error(`${this.config.logPrefix}: ${message}`, originalError);
132
125
  }
133
126
  return error;
134
127
  }
@@ -140,11 +133,11 @@ class FcrErrorHelper {
140
133
  * @returns FcrError
141
134
  */
142
135
  createNetworkError(message, moduleCode) {
143
- const module = moduleCode !== null && moduleCode !== void 0 ? moduleCode : this.config.defaultModuleCode;
144
- const formattedMessage = this.config.enableDetailedMessages ? "[".concat(this.config.logPrefix, "] Network error: ").concat(message) : message;
136
+ const module = moduleCode ?? this.config.defaultModuleCode;
137
+ const formattedMessage = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] Network error: ${message}` : message;
145
138
  const error = (0, _error.generateFcrCoreClientErrorNew)(module, _error.FcrErrorCode.LOCAL_HTTP_REQUEST_FAILED, formattedMessage);
146
139
  if (this.config.autoLog) {
147
- console.error("".concat(this.config.logPrefix, ": ").concat(formattedMessage));
140
+ console.error(`${this.config.logPrefix}: ${formattedMessage}`);
148
141
  }
149
142
  return error;
150
143
  }
@@ -157,11 +150,11 @@ class FcrErrorHelper {
157
150
  * @returns FcrError
158
151
  */
159
152
  createInvalidParamsError(paramName, reason, moduleCode) {
160
- const module = moduleCode !== null && moduleCode !== void 0 ? moduleCode : this.config.defaultModuleCode;
161
- const message = this.config.enableDetailedMessages ? "[".concat(this.config.logPrefix, "] Invalid parameter '").concat(paramName, "': ").concat(reason) : "Invalid parameter '".concat(paramName, "': ").concat(reason);
153
+ const module = moduleCode ?? this.config.defaultModuleCode;
154
+ const message = this.config.enableDetailedMessages ? `[${this.config.logPrefix}] Invalid parameter '${paramName}': ${reason}` : `Invalid parameter '${paramName}': ${reason}`;
162
155
  const error = (0, _error.generateFcrCoreClientErrorNew)(module, _error.FcrErrorCode.INVALID_PARAMS, message);
163
156
  if (this.config.autoLog) {
164
- console.error("".concat(this.config.logPrefix, ": ").concat(message));
157
+ console.error(`${this.config.logPrefix}: ${message}`);
165
158
  }
166
159
  return error;
167
160
  }
@@ -55,9 +55,9 @@ const generateFcrCoreClientError = (module, code, message, origin) => {
55
55
  const errorType = (0, _imports.padEnd)(String(FcrErrorCodeType.CLIENT), 3, '0'); // 如:'100'
56
56
  const moduleCode = (0, _imports.padStart)(String(module), 3, '0'); // 如:'020'
57
57
  const errorCode = (0, _imports.padStart)(String(code), 3, '0'); // 如:'001'
58
- const fullErrorCode = Number("".concat(errorType).concat(moduleCode).concat(errorCode)); // 如:'100020001'
58
+ const fullErrorCode = Number(`${errorType}${moduleCode}${errorCode}`); // 如:'100020001'
59
59
 
60
- const errorMessage = "domain: RTE-CLIENT, info: ".concat(message);
60
+ const errorMessage = `domain: RTE-CLIENT, info: ${message}`;
61
61
  return new _imports.FcrError({
62
62
  code: fullErrorCode,
63
63
  message: errorMessage
@@ -65,7 +65,7 @@ const generateFcrCoreClientError = (module, code, message, origin) => {
65
65
  };
66
66
  exports.generateFcrCoreClientError = generateFcrCoreClientError;
67
67
  const generateFcrCoreServerError = (code, message, origin) => {
68
- const errorCode = Number("".concat(FcrErrorCodeType.SERVER).concat((0, _imports.padStart)(String(code), 8, '0')));
68
+ const errorCode = Number(`${FcrErrorCodeType.SERVER}${(0, _imports.padStart)(String(code), 8, '0')}`);
69
69
  const error = new _imports.FcrError({
70
70
  message: message,
71
71
  code: errorCode
@@ -80,11 +80,10 @@ const handleRequestError = async (action, errorModuleCode, errorMessage) => {
80
80
  return await action();
81
81
  } catch (e) {
82
82
  if (e instanceof _imports.AgoraRestfulClientError) {
83
- var _e$serviceCode;
84
- throw generateFcrCoreServerError((_e$serviceCode = e.serviceCode) !== null && _e$serviceCode !== void 0 ? _e$serviceCode : -1, e.message, e);
83
+ throw generateFcrCoreServerError(e.serviceCode ?? -1, e.message, e);
85
84
  }
86
85
  const error = e;
87
- throw generateFcrCoreClientError(errorModuleCode, FcrErrorCode.UNDEFINED_ERROR, errorMessage !== null && errorMessage !== void 0 ? errorMessage : error.message, error);
86
+ throw generateFcrCoreClientError(errorModuleCode, FcrErrorCode.UNDEFINED_ERROR, errorMessage ?? error.message, error);
88
87
  }
89
88
  };
90
89
 
@@ -105,9 +104,9 @@ const generateFcrCoreClientErrorNew = (module, code, message) => {
105
104
  const errorType = (0, _imports.padEnd)(String(FcrErrorCodeType.CLIENT), 3, '0'); // 如:'100'
106
105
  const moduleCode = (0, _imports.padStart)(String(module), 3, '0'); // 如:'020'
107
106
  const errorCode = (0, _imports.padStart)(String(code), 3, '0'); // 如:'001'
108
- const fullErrorCode = Number("".concat(errorType).concat(moduleCode).concat(errorCode)); // 如:'100020001'
107
+ const fullErrorCode = Number(`${errorType}${moduleCode}${errorCode}`); // 如:'100020001'
109
108
 
110
- const errorMessage = "domain: RTE-CLIENT, info: ".concat(message);
109
+ const errorMessage = `domain: RTE-CLIENT, info: ${message}`;
111
110
  return new _imports.FcrError({
112
111
  code: fullErrorCode,
113
112
  message: errorMessage
@@ -115,7 +114,7 @@ const generateFcrCoreClientErrorNew = (module, code, message) => {
115
114
  };
116
115
  exports.generateFcrCoreClientErrorNew = generateFcrCoreClientErrorNew;
117
116
  const generateFcrCoreServerErrorNew = (code, message) => {
118
- const errorCode = Number("".concat(FcrErrorCodeType.SERVER).concat((0, _imports.padStart)(String(code), 8, '0')));
117
+ const errorCode = Number(`${FcrErrorCodeType.SERVER}${(0, _imports.padStart)(String(code), 8, '0')}`);
119
118
  const error = new _imports.FcrError({
120
119
  message: message,
121
120
  code: errorCode
@@ -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';
@@ -166,12 +160,11 @@ class FcrJoinHelper {
166
160
  }
167
161
  }, [], {
168
162
  retriesMax: _constants.ROOM_CONTROL_CONSTANTS.MAX_JOIN_ATTEMPTS
169
- }).fail(async _ref => {
170
- let {
171
- error,
172
- timeFn: waitBeforeRetry,
173
- currentRetry: attemptCount
174
- } = _ref;
163
+ }).fail(async ({
164
+ error,
165
+ timeFn: waitBeforeRetry,
166
+ currentRetry: attemptCount
167
+ }) => {
175
168
  return handleJoinRetryFailure(error, waitBeforeRetry, attemptCount, _retryHelpers.canRetryJoinError, onJoinAborted, 'join room via CheckIn');
176
169
  }).exec();
177
170
  }
@@ -16,18 +16,15 @@ exports.getLogger = getLogger;
16
16
  const createLogger = opts => {
17
17
  return (0, _imports.createLogger)({
18
18
  label: 'fcr-core',
19
- prefix: "".concat(opts.prefix, "@").concat((0, _imports.randomString)(5))
19
+ prefix: `${opts.prefix}@${(0, _imports.randomString)(5)}`
20
20
  });
21
21
  };
22
22
  exports.createLogger = createLogger;
23
23
  const generateLogObserver = (logger, callbackMethods) => {
24
24
  const observer = {};
25
25
  callbackMethods.forEach(method => {
26
- observer[method] = function () {
27
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
28
- args[_key] = arguments[_key];
29
- }
30
- logger.info("[API Callback] ".concat(method, " [parameters: ").concat((0, _imports.serializeArgs)(args), "]"));
26
+ observer[method] = (...args) => {
27
+ logger.info(`[API Callback] ${method} [parameters: ${(0, _imports.serializeArgs)(args)}]`);
31
28
  };
32
29
  });
33
30
  return observer;
@@ -11,23 +11,19 @@ const isTrueValue = value => {
11
11
  };
12
12
  exports.isTrueValue = isTrueValue;
13
13
  const getCoreIpList = parameters => {
14
- var _parameters$core;
15
- return parameters === null || parameters === void 0 || (_parameters$core = parameters.core) === null || _parameters$core === void 0 ? void 0 : _parameters$core.coreIpList;
14
+ return parameters?.core?.coreIpList;
16
15
  };
17
16
  exports.getCoreIpList = getCoreIpList;
18
17
  const getEasemobChatIpList = parameters => {
19
- var _parameters$core2;
20
- return parameters === null || parameters === void 0 || (_parameters$core2 = parameters.core) === null || _parameters$core2 === void 0 ? void 0 : _parameters$core2.easemobChatIpList;
18
+ return parameters?.core?.easemobChatIpList;
21
19
  };
22
20
  exports.getEasemobChatIpList = getEasemobChatIpList;
23
21
  const getEasemobRestIpList = parameters => {
24
- var _parameters$core3;
25
- return parameters === null || parameters === void 0 || (_parameters$core3 = parameters.core) === null || _parameters$core3 === void 0 ? void 0 : _parameters$core3.easemobRestIpList;
22
+ return parameters?.core?.easemobRestIpList;
26
23
  };
27
24
  exports.getEasemobRestIpList = getEasemobRestIpList;
28
25
  const isEndpointRegionDisabled = parameters => {
29
- var _parameters$core4;
30
- return isTrueValue(parameters === null || parameters === void 0 || (_parameters$core4 = parameters.core) === null || _parameters$core4 === void 0 ? void 0 : _parameters$core4.disableEndpointRegion);
26
+ return isTrueValue(parameters?.core?.disableEndpointRegion);
31
27
  };
32
28
  exports.isEndpointRegionDisabled = isEndpointRegionDisabled;
33
29
  const getRtcPresetParameters = () => {
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.ROOM_NON_RETRYABLE_ERRORS = exports.ROOM_JOIN_NON_RETRYABLE_ERRORS = void 0;
7
7
  exports.canRetryError = canRetryError;
8
8
  exports.canRetryJoinError = canRetryJoinError;
9
- require("core-js/modules/web.dom-collections.iterator.js");
10
9
  var _imports = require("../imports");
11
10
  /**
12
11
  * 通用重试辅助工具
@@ -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;
@@ -4,11 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- require("core-js/modules/es.error.cause.js");
8
7
  var _imports = require("../imports");
9
8
  var _error = require("./error");
10
9
  var _default = exports.default = (0, _imports.validateParams)(error => {
11
- const message = "invalid params: ".concat(error.message);
10
+ const message = `invalid params: ${error.message}`;
12
11
  const fcrErrorModuleCode = '00';
13
12
  return (0, _error.generateFcrCoreClientError)(fcrErrorModuleCode, _error.FcrErrorCode.INVALID_PARAMS, message, new Error(message));
14
13
  });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "fcr-core",
3
3
  "description": "Core APIs for building online scenes",
4
- "version": "3.8.0-alpha",
4
+ "version": "3.8.1-alpha",
5
5
  "module": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
7
7
  "files": [
@@ -17,7 +17,6 @@
17
17
  "author": "agora.io",
18
18
  "license": "MIT",
19
19
  "scripts": {
20
- "prepare": "husky",
21
20
  "build": "agora-tc-transpile",
22
21
  "build:docs": "run-s build:docs:types build:split:i18n build:link-plugin build:en-docs build:cn-docs build:docs:generate",
23
22
  "build:link-plugin": "sh build-doc/theme/install.sh",
@@ -40,7 +39,7 @@
40
39
  "@types/lodash": "^4.14.168",
41
40
  "@types/sinon": "^17.0.2",
42
41
  "@types/uuid": "^8.3.0",
43
- "agora-toolchain": "3.8.0-alpha",
42
+ "agora-toolchain": "3.8.1-alpha",
44
43
  "core-js": "^3.33.3",
45
44
  "decomment": "^0.9.5",
46
45
  "husky": "^9.0.11",
@@ -60,8 +59,8 @@
60
59
  "@netless/video-js-plugin": "^0.3.8",
61
60
  "@netless/white-snapshot": "^0.4.2",
62
61
  "@netless/window-manager": "^1.0.7-beta.6",
63
- "agora-foundation": "3.8.0-alpha",
64
- "agora-rte-sdk": "3.8.0-alpha",
62
+ "agora-foundation": "3.8.1-alpha",
63
+ "agora-rte-sdk": "3.8.1-alpha",
65
64
  "await-to-js": "^3.0.0",
66
65
  "dayjs": "^1.10.4",
67
66
  "easemob-websdk": "4.13.0",
@@ -92,4 +91,4 @@
92
91
  "lint-staged": {
93
92
  "*.{ts,tsx,html,css}": "prettier --write"
94
93
  }
95
- }
94
+ }