agora-rte-sdk 2.8.20 → 2.8.21
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.
- package/dist/index.js +1 -1
- package/lib/core/media/control.d.ts +2 -1
- package/lib/core/media/control.js +5 -0
- package/lib/core/rtc/adapter/base.d.ts +1 -0
- package/lib/core/rtc/adapter/electron/index.d.ts +1 -0
- package/lib/core/rtc/adapter/electron/index.js +6 -0
- package/lib/core/rtc/adapter/web/index.d.ts +1 -0
- package/lib/core/rtc/adapter/web/index.js +6 -0
- package/lib/core/rtc/index.d.ts +1 -0
- package/lib/core/rtc/index.js +8 -3
- package/package.json +1 -1
- package/lib/core/decorator/handlers/log-handler.d.ts +0 -2
- package/lib/core/decorator/handlers/log-handler.js +0 -34
- package/lib/core/decorator/log/log-serializer.d.ts +0 -7
- package/lib/core/decorator/log/log-serializer.js +0 -38
- package/lib/core/decorator/utils.d.ts +0 -2
- package/lib/core/decorator/utils.js +0 -19
- package/lib/core/utils/decorator.d.ts +0 -2
- package/lib/core/utils/decorator.js +0 -65
|
@@ -14,7 +14,8 @@ export declare enum AgoraMediaControlEventType {
|
|
|
14
14
|
localAudioPlaybackVolumeIndicator = "start-test-audio-playback-volume-indicator",
|
|
15
15
|
audioPlaybackStateChanged = "audio-playback-state-changed",
|
|
16
16
|
localAudioFrame = "local-audio-frame",
|
|
17
|
-
localTrackBeforeDestroy = "local-track-before-destroy"
|
|
17
|
+
localTrackBeforeDestroy = "local-track-before-destroy",
|
|
18
|
+
videoAutoPlayFailed = "video-auto-play-failed"
|
|
18
19
|
}
|
|
19
20
|
export declare class AgoraMediaControl extends AGEventEmitter {
|
|
20
21
|
camera?: AgoraRteCameraVideoTrack;
|
|
@@ -32,6 +32,7 @@ exports.AgoraMediaControlEventType = AgoraMediaControlEventType;
|
|
|
32
32
|
AgoraMediaControlEventType["audioPlaybackStateChanged"] = "audio-playback-state-changed";
|
|
33
33
|
AgoraMediaControlEventType["localAudioFrame"] = "local-audio-frame";
|
|
34
34
|
AgoraMediaControlEventType["localTrackBeforeDestroy"] = "local-track-before-destroy";
|
|
35
|
+
AgoraMediaControlEventType["videoAutoPlayFailed"] = "video-auto-play-failed";
|
|
35
36
|
})(AgoraMediaControlEventType || (exports.AgoraMediaControlEventType = AgoraMediaControlEventType = {}));
|
|
36
37
|
var AgoraMediaControl = /*#__PURE__*/function (_AGEventEmitter) {
|
|
37
38
|
(0, _inherits2["default"])(AgoraMediaControl, _AGEventEmitter);
|
|
@@ -52,6 +53,10 @@ var AgoraMediaControl = /*#__PURE__*/function (_AGEventEmitter) {
|
|
|
52
53
|
key: "_addEventListener",
|
|
53
54
|
value: function _addEventListener(rtc) {
|
|
54
55
|
var _this2 = this;
|
|
56
|
+
//视频自动播放失败
|
|
57
|
+
rtc.onAutoPlayFailed(function () {
|
|
58
|
+
_this2.emit(AgoraMediaControlEventType.videoAutoPlayFailed);
|
|
59
|
+
});
|
|
55
60
|
// 本地摄像头列表变更
|
|
56
61
|
rtc.getVideoDeviceManager().onLocalCameraListChanged(function () {
|
|
57
62
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
@@ -71,6 +71,7 @@ export declare abstract class RtcAdapterBase extends AGEventEmitter {
|
|
|
71
71
|
audioDeviceName?: string;
|
|
72
72
|
}): number;
|
|
73
73
|
abstract stopScreenCapture(): number;
|
|
74
|
+
abstract onAutoplayFailed(cb: () => void): number;
|
|
74
75
|
abstract onLocalAudioPlaybackTestVolumeChanged(cb: LocalAudioPlaybackVolumeIndicatorEvent): number;
|
|
75
76
|
abstract onLocalVideoTrackStateChanged(cb: LocalVideoTrackStateEvent): number;
|
|
76
77
|
abstract onLocalAudioTrackStateChanged(cb: LocalAudioTrackStateEvent): number;
|
|
@@ -65,6 +65,7 @@ export declare class RtcAdapterElectron extends RtcAdapterBase {
|
|
|
65
65
|
audioDeviceName?: string;
|
|
66
66
|
}): number;
|
|
67
67
|
stopScreenCapture(): number;
|
|
68
|
+
onAutoplayFailed(): number;
|
|
68
69
|
onLocalAudioPlaybackTestVolumeChanged(cb: LocalAudioPlaybackVolumeIndicatorEvent): number;
|
|
69
70
|
onLocalVideoTrackStateChanged(cb: LocalVideoTrackStateEvent): number;
|
|
70
71
|
onLocalAudioTrackStateChanged(cb: LocalAudioTrackStateEvent): number;
|
|
@@ -349,6 +349,12 @@ var RtcAdapterElectron = (_dec = _log.Log.attach({
|
|
|
349
349
|
this._screenEventBus.emit(_control.AgoraMediaControlEventType.trackStateChanged, _type.AgoraRteMediaSourceState.stopped, _track.AgoraRteVideoSourceType.ScreenShare);
|
|
350
350
|
return 0;
|
|
351
351
|
}
|
|
352
|
+
}, {
|
|
353
|
+
key: "onAutoplayFailed",
|
|
354
|
+
value: function onAutoplayFailed() {
|
|
355
|
+
this.logger.warn("electron platform does not support onAutoplayFailed");
|
|
356
|
+
return 0;
|
|
357
|
+
}
|
|
352
358
|
}, {
|
|
353
359
|
key: "onLocalAudioPlaybackTestVolumeChanged",
|
|
354
360
|
value: function onLocalAudioPlaybackTestVolumeChanged(cb) {
|
|
@@ -56,6 +56,7 @@ export declare class RtcAdapterWeb extends RtcAdapterBase {
|
|
|
56
56
|
withAudio?: boolean;
|
|
57
57
|
}): number;
|
|
58
58
|
stopScreenCapture(): number;
|
|
59
|
+
onAutoplayFailed(cb: () => void): number;
|
|
59
60
|
onLocalAudioPlaybackTestVolumeChanged(cb: LocalAudioPlaybackVolumeIndicatorEvent): number;
|
|
60
61
|
onLocalVideoTrackStateChanged(cb: LocalVideoTrackStateEvent): number;
|
|
61
62
|
onLocalAudioTrackStateChanged(cb: LocalAudioTrackStateEvent): number;
|
|
@@ -268,6 +268,12 @@ var RtcAdapterWeb = (_dec = _log.Log.attach({
|
|
|
268
268
|
this.screenThread.run();
|
|
269
269
|
return 0;
|
|
270
270
|
}
|
|
271
|
+
}, {
|
|
272
|
+
key: "onAutoplayFailed",
|
|
273
|
+
value: function onAutoplayFailed(cb) {
|
|
274
|
+
_agoraRtcSdkNg["default"].onAutoplayFailed = cb;
|
|
275
|
+
return 0;
|
|
276
|
+
}
|
|
271
277
|
}, {
|
|
272
278
|
key: "onLocalAudioPlaybackTestVolumeChanged",
|
|
273
279
|
value: function onLocalAudioPlaybackTestVolumeChanged(cb) {
|
package/lib/core/rtc/index.d.ts
CHANGED
|
@@ -36,6 +36,7 @@ export declare class AGRtcManager {
|
|
|
36
36
|
stopAudioPlaybackDeviceTest(): number;
|
|
37
37
|
setAudioFrameCallback(): number;
|
|
38
38
|
stopAudioFrameCallback(): number;
|
|
39
|
+
onAutoPlayFailed(cb: () => void): number;
|
|
39
40
|
onLocalCameraListChanged(cb: (addNewDevice: boolean, newDevices: AGRtcDeviceInfo[], allDevices: AGRtcDeviceInfo[]) => void): number;
|
|
40
41
|
onLocalRecordingDeviceListChanged(cb: (addNewDevice: boolean, newDevices: AGRtcDeviceInfo[], allDevices: AGRtcDeviceInfo[]) => void): number;
|
|
41
42
|
onLocalPlaybackListChanged(cb: (addNewDevice: boolean, newDevices: AGRtcDeviceInfo[], allDevices: AGRtcDeviceInfo[]) => void): number;
|
package/lib/core/rtc/index.js
CHANGED
|
@@ -32,8 +32,8 @@ var _configs = require("../../configs");
|
|
|
32
32
|
var _decorator = require("../decorator");
|
|
33
33
|
var _adapter = require("./adapter");
|
|
34
34
|
var _channel = require("./channel");
|
|
35
|
-
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _class, _class2;
|
|
36
|
-
var AGRtcManager = (_dec = _decorator.Log.attach(), _dec2 = _decorator.Log.silence, _dec3 = _decorator.Log.silence, _dec4 = _decorator.Log.silence, _dec5 = _decorator.Log.silence, _dec6 = _decorator.Log.silence, _dec7 = _decorator.Log.silence, _dec8 = _decorator.Log.silence, _dec9 = _decorator.Log.silence, _dec10 = _decorator.Log.silence, _dec11 = _decorator.Log.silence, _dec(_class = (_class2 = /*#__PURE__*/function () {
|
|
35
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _class, _class2;
|
|
36
|
+
var AGRtcManager = (_dec = _decorator.Log.attach(), _dec2 = _decorator.Log.silence, _dec3 = _decorator.Log.silence, _dec4 = _decorator.Log.silence, _dec5 = _decorator.Log.silence, _dec6 = _decorator.Log.silence, _dec7 = _decorator.Log.silence, _dec8 = _decorator.Log.silence, _dec9 = _decorator.Log.silence, _dec10 = _decorator.Log.silence, _dec11 = _decorator.Log.silence, _dec12 = _decorator.Log.silence, _dec(_class = (_class2 = /*#__PURE__*/function () {
|
|
37
37
|
//DO NOT convert _adapter to detail type
|
|
38
38
|
|
|
39
39
|
function AGRtcManager(configs) {
|
|
@@ -161,6 +161,11 @@ var AGRtcManager = (_dec = _decorator.Log.attach(), _dec2 = _decorator.Log.silen
|
|
|
161
161
|
value: function stopAudioFrameCallback() {
|
|
162
162
|
return this._adapter.stopAudioFrameCallback();
|
|
163
163
|
}
|
|
164
|
+
}, {
|
|
165
|
+
key: "onAutoPlayFailed",
|
|
166
|
+
value: function onAutoPlayFailed(cb) {
|
|
167
|
+
return this._adapter.onAutoplayFailed(cb);
|
|
168
|
+
}
|
|
164
169
|
}, {
|
|
165
170
|
key: "onLocalCameraListChanged",
|
|
166
171
|
value: function onLocalCameraListChanged(cb) {
|
|
@@ -243,5 +248,5 @@ var AGRtcManager = (_dec = _decorator.Log.attach(), _dec2 = _decorator.Log.silen
|
|
|
243
248
|
}
|
|
244
249
|
}]);
|
|
245
250
|
return AGRtcManager;
|
|
246
|
-
}(), ((0, _applyDecoratedDescriptor2["default"])(_class2.prototype, "getRtcChannel", [_dec2], Object.getOwnPropertyDescriptor(_class2.prototype, "getRtcChannel"), _class2.prototype), (0, _applyDecoratedDescriptor2["default"])(_class2.prototype, "getVideoDeviceManager", [_dec3], Object.getOwnPropertyDescriptor(_class2.prototype, "getVideoDeviceManager"), _class2.prototype), (0, _applyDecoratedDescriptor2["default"])(_class2.prototype, "getAudioDeviceManager", [_dec4], Object.getOwnPropertyDescriptor(_class2.prototype, "getAudioDeviceManager"), _class2.prototype), (0, _applyDecoratedDescriptor2["default"])(_class2.prototype, "onLocalScreenShareTrackStateChanged", [_dec5], Object.getOwnPropertyDescriptor(_class2.prototype, "onLocalScreenShareTrackStateChanged"), _class2.prototype), (0, _applyDecoratedDescriptor2["default"])(_class2.prototype, "
|
|
251
|
+
}(), ((0, _applyDecoratedDescriptor2["default"])(_class2.prototype, "getRtcChannel", [_dec2], Object.getOwnPropertyDescriptor(_class2.prototype, "getRtcChannel"), _class2.prototype), (0, _applyDecoratedDescriptor2["default"])(_class2.prototype, "getVideoDeviceManager", [_dec3], Object.getOwnPropertyDescriptor(_class2.prototype, "getVideoDeviceManager"), _class2.prototype), (0, _applyDecoratedDescriptor2["default"])(_class2.prototype, "getAudioDeviceManager", [_dec4], Object.getOwnPropertyDescriptor(_class2.prototype, "getAudioDeviceManager"), _class2.prototype), (0, _applyDecoratedDescriptor2["default"])(_class2.prototype, "onLocalScreenShareTrackStateChanged", [_dec5], Object.getOwnPropertyDescriptor(_class2.prototype, "onLocalScreenShareTrackStateChanged"), _class2.prototype), (0, _applyDecoratedDescriptor2["default"])(_class2.prototype, "onAutoPlayFailed", [_dec6], Object.getOwnPropertyDescriptor(_class2.prototype, "onAutoPlayFailed"), _class2.prototype), (0, _applyDecoratedDescriptor2["default"])(_class2.prototype, "onLocalCameraListChanged", [_dec7], Object.getOwnPropertyDescriptor(_class2.prototype, "onLocalCameraListChanged"), _class2.prototype), (0, _applyDecoratedDescriptor2["default"])(_class2.prototype, "onLocalRecordingDeviceListChanged", [_dec8], Object.getOwnPropertyDescriptor(_class2.prototype, "onLocalRecordingDeviceListChanged"), _class2.prototype), (0, _applyDecoratedDescriptor2["default"])(_class2.prototype, "onLocalPlaybackListChanged", [_dec9], Object.getOwnPropertyDescriptor(_class2.prototype, "onLocalPlaybackListChanged"), _class2.prototype), (0, _applyDecoratedDescriptor2["default"])(_class2.prototype, "onLocalVideoTrackStateChanged", [_dec10], Object.getOwnPropertyDescriptor(_class2.prototype, "onLocalVideoTrackStateChanged"), _class2.prototype), (0, _applyDecoratedDescriptor2["default"])(_class2.prototype, "onLocalAudioTrackStateChanged", [_dec11], Object.getOwnPropertyDescriptor(_class2.prototype, "onLocalAudioTrackStateChanged"), _class2.prototype), (0, _applyDecoratedDescriptor2["default"])(_class2.prototype, "onLocalAudioVolume", [_dec12], Object.getOwnPropertyDescriptor(_class2.prototype, "onLocalAudioVolume"), _class2.prototype)), _class2)) || _class);
|
|
247
252
|
exports.AGRtcManager = AGRtcManager;
|
package/package.json
CHANGED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("core-js/modules/es.object.define-property.js");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.createLogHandler = void 0;
|
|
8
|
-
require("core-js/modules/es.date.to-string.js");
|
|
9
|
-
require("core-js/modules/es.array.concat.js");
|
|
10
|
-
var _logger = require("../../logger");
|
|
11
|
-
var _type = require("../type");
|
|
12
|
-
var noop = function noop() {};
|
|
13
|
-
var createLogHandler = function createLogHandler(level) {
|
|
14
|
-
var log = _logger.Logger[level] || noop;
|
|
15
|
-
return function (evt) {
|
|
16
|
-
if (evt.type === _type.InvocationEventType.pre) {
|
|
17
|
-
var _evt$arguments;
|
|
18
|
-
evt.context.start = new Date().getTime();
|
|
19
|
-
var message = ["[".concat(evt["class"], "] >>> [").concat(evt.method, "]")];
|
|
20
|
-
((_evt$arguments = evt.arguments) === null || _evt$arguments === void 0 ? void 0 : _evt$arguments.length) && message.push(', args:', evt.arguments);
|
|
21
|
-
//@ts-ignore
|
|
22
|
-
log.apply(void 0, message);
|
|
23
|
-
} else {
|
|
24
|
-
var elapsed = new Date().getTime() - evt.context.start;
|
|
25
|
-
var _message = ["[".concat(evt["class"], "] <<< [").concat(evt.method, "]")];
|
|
26
|
-
evt["return"] && _message.push(', return:', evt["return"]);
|
|
27
|
-
evt.error && _message.push(', err:', evt.error);
|
|
28
|
-
_message.push(", Time elapsed: ".concat(elapsed, "ms"));
|
|
29
|
-
//@ts-ignore
|
|
30
|
-
log.apply(void 0, _message);
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
exports.createLogHandler = createLogHandler;
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("core-js/modules/es.object.define-property.js");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.serialize = exports.addSerializer = void 0;
|
|
8
|
-
require("core-js/modules/es.function.name.js");
|
|
9
|
-
require("core-js/modules/es.array.find.js");
|
|
10
|
-
require("core-js/modules/es.regexp.exec.js");
|
|
11
|
-
require("core-js/modules/es.string.match.js");
|
|
12
|
-
var serializers = [];
|
|
13
|
-
var fileSerializer = {
|
|
14
|
-
match: function match(obj) {
|
|
15
|
-
return obj instanceof File;
|
|
16
|
-
},
|
|
17
|
-
serialize: function serialize(file) {
|
|
18
|
-
return JSON.stringify({
|
|
19
|
-
filename: file.name,
|
|
20
|
-
size: file.size
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
serializers.push(fileSerializer);
|
|
25
|
-
var addSerializer = function addSerializer(serializer) {
|
|
26
|
-
serializers.push(serializer);
|
|
27
|
-
};
|
|
28
|
-
exports.addSerializer = addSerializer;
|
|
29
|
-
var serialize = function serialize(data) {
|
|
30
|
-
var serializer = serializers.find(function (serializer) {
|
|
31
|
-
return serializer.match(data);
|
|
32
|
-
});
|
|
33
|
-
if (serializer) {
|
|
34
|
-
return serializer.serialize(data);
|
|
35
|
-
}
|
|
36
|
-
return data;
|
|
37
|
-
};
|
|
38
|
-
exports.serialize = serialize;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("core-js/modules/es.object.define-property.js");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.isIgnoredMethod = exports.addIgnoredMethodsToPrototype = void 0;
|
|
8
|
-
require("core-js/modules/es.array.concat.js");
|
|
9
|
-
require("core-js/modules/es.array.index-of.js");
|
|
10
|
-
var addIgnoredMethodsToPrototype = function addIgnoredMethodsToPrototype(prototype, ignoredMethods) {
|
|
11
|
-
var methods = prototype.__$$ignoreMethods || [];
|
|
12
|
-
methods = methods.concat(ignoredMethods);
|
|
13
|
-
prototype.__$$ignoreMethods = methods;
|
|
14
|
-
};
|
|
15
|
-
exports.addIgnoredMethodsToPrototype = addIgnoredMethodsToPrototype;
|
|
16
|
-
var isIgnoredMethod = function isIgnoredMethod(prototype, method) {
|
|
17
|
-
return prototype.__$$ignoreMethods && prototype.__$$ignoreMethods.indexOf(method) > -1;
|
|
18
|
-
};
|
|
19
|
-
exports.isIgnoredMethod = isIgnoredMethod;
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("core-js/modules/es.object.keys.js");
|
|
4
|
-
require("core-js/modules/es.symbol.js");
|
|
5
|
-
require("core-js/modules/es.array.filter.js");
|
|
6
|
-
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
7
|
-
require("core-js/modules/es.array.for-each.js");
|
|
8
|
-
require("core-js/modules/web.dom-collections.for-each.js");
|
|
9
|
-
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
10
|
-
require("core-js/modules/es.object.define-properties.js");
|
|
11
|
-
require("core-js/modules/es.object.define-property.js");
|
|
12
|
-
require("core-js/modules/es.array.slice.js");
|
|
13
|
-
require("core-js/modules/es.object.to-string.js");
|
|
14
|
-
require("core-js/modules/es.function.name.js");
|
|
15
|
-
require("core-js/modules/es.array.from.js");
|
|
16
|
-
require("core-js/modules/es.string.iterator.js");
|
|
17
|
-
require("core-js/modules/es.symbol.description.js");
|
|
18
|
-
require("core-js/modules/es.symbol.iterator.js");
|
|
19
|
-
require("core-js/modules/es.array.iterator.js");
|
|
20
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
21
|
-
require("core-js/modules/es.array.is-array.js");
|
|
22
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
23
|
-
Object.defineProperty(exports, "__esModule", {
|
|
24
|
-
value: true
|
|
25
|
-
});
|
|
26
|
-
exports.deepFreeze = deepFreeze;
|
|
27
|
-
exports.immutable = immutable;
|
|
28
|
-
require("core-js/modules/es.object.get-own-property-names.js");
|
|
29
|
-
require("core-js/modules/es.object.freeze.js");
|
|
30
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
31
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
32
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
33
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
34
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
35
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
36
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
37
|
-
function immutable(target, propertyKey, descriptor) {
|
|
38
|
-
var original = descriptor.get;
|
|
39
|
-
// @ts-ignore
|
|
40
|
-
descriptor.get = function (value) {
|
|
41
|
-
var res = original.call(this, _objectSpread({}, value));
|
|
42
|
-
return deepFreeze(res);
|
|
43
|
-
};
|
|
44
|
-
return descriptor;
|
|
45
|
-
}
|
|
46
|
-
function deepFreeze(object) {
|
|
47
|
-
if (!object) return;
|
|
48
|
-
var propNames = Object.getOwnPropertyNames(object);
|
|
49
|
-
var _iterator = _createForOfIteratorHelper(propNames),
|
|
50
|
-
_step;
|
|
51
|
-
try {
|
|
52
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
53
|
-
var name = _step.value;
|
|
54
|
-
var value = object[name];
|
|
55
|
-
if (value && (0, _typeof2["default"])(value) === 'object') {
|
|
56
|
-
deepFreeze(value);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
} catch (err) {
|
|
60
|
-
_iterator.e(err);
|
|
61
|
-
} finally {
|
|
62
|
-
_iterator.f();
|
|
63
|
-
}
|
|
64
|
-
return Object.freeze(object);
|
|
65
|
-
}
|