livekit-client 2.5.6 → 2.5.7
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/livekit-client.e2ee.worker.js +1 -1
- package/dist/livekit-client.e2ee.worker.js.map +1 -1
- package/dist/livekit-client.e2ee.worker.mjs +624 -603
- package/dist/livekit-client.e2ee.worker.mjs.map +1 -1
- package/dist/livekit-client.esm.mjs +2123 -1948
- package/dist/livekit-client.esm.mjs.map +1 -1
- package/dist/livekit-client.umd.js +1 -1
- package/dist/livekit-client.umd.js.map +1 -1
- package/dist/src/e2ee/worker/FrameCryptor.d.ts +2 -2
- package/dist/src/e2ee/worker/FrameCryptor.d.ts.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/room/Room.d.ts +2 -1
- package/dist/src/room/Room.d.ts.map +1 -1
- package/dist/src/room/events.d.ts +2 -2
- package/dist/src/room/participant/Participant.d.ts +1 -1
- package/dist/src/room/participant/Participant.d.ts.map +1 -1
- package/dist/src/room/track/Track.d.ts +1 -1
- package/dist/src/room/track/Track.d.ts.map +1 -1
- package/dist/src/room/utils.d.ts +1 -1
- package/dist/src/room/utils.d.ts.map +1 -1
- package/dist/src/test/mocks.d.ts +1 -1
- package/dist/src/test/mocks.d.ts.map +1 -1
- package/dist/ts4.2/src/e2ee/worker/FrameCryptor.d.ts +2 -2
- package/dist/ts4.2/src/index.d.ts +2 -2
- package/dist/ts4.2/src/room/Room.d.ts +2 -1
- package/dist/ts4.2/src/room/events.d.ts +2 -2
- package/dist/ts4.2/src/room/participant/Participant.d.ts +1 -1
- package/dist/ts4.2/src/room/track/Track.d.ts +1 -1
- package/dist/ts4.2/src/room/utils.d.ts +1 -1
- package/dist/ts4.2/src/test/mocks.d.ts +1 -1
- package/package.json +10 -11
- package/src/e2ee/worker/FrameCryptor.test.ts +249 -2
- package/src/e2ee/worker/FrameCryptor.ts +3 -3
- package/src/e2ee/worker/ParticipantKeyHandler.test.ts +122 -0
- package/src/e2ee/worker/ParticipantKeyHandler.ts +1 -1
- package/src/e2ee/worker/e2ee.worker.ts +1 -1
- package/src/index.ts +2 -0
- package/src/room/Room.ts +16 -10
- package/src/room/events.ts +2 -2
- package/src/room/participant/Participant.ts +3 -2
- package/src/room/track/Track.ts +1 -1
- package/src/room/track/utils.ts +1 -1
- package/src/room/utils.ts +1 -1
- package/src/test/mocks.ts +1 -1
@@ -30,9 +30,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
30
30
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
31
31
|
};
|
32
32
|
|
33
|
-
var
|
34
|
-
|
35
|
-
var loglevel = {exports: {}};
|
33
|
+
var loglevel$1 = {exports: {}};
|
36
34
|
|
37
35
|
/*
|
38
36
|
* loglevel - https://github.com/pimterry/loglevel
|
@@ -40,315 +38,323 @@ var loglevel = {exports: {}};
|
|
40
38
|
* Copyright (c) 2013 Tim Perry
|
41
39
|
* Licensed under the MIT license.
|
42
40
|
*/
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
}
|
51
|
-
})(commonjsGlobal, function () {
|
41
|
+
var loglevel = loglevel$1.exports;
|
42
|
+
var hasRequiredLoglevel;
|
43
|
+
function requireLoglevel() {
|
44
|
+
if (hasRequiredLoglevel) return loglevel$1.exports;
|
45
|
+
hasRequiredLoglevel = 1;
|
46
|
+
(function (module) {
|
47
|
+
(function (root, definition) {
|
52
48
|
|
53
|
-
|
54
|
-
|
55
|
-
var undefinedType = "undefined";
|
56
|
-
var isIE = typeof window !== undefinedType && typeof window.navigator !== undefinedType && /Trident\/|MSIE /.test(window.navigator.userAgent);
|
57
|
-
var logMethods = ["trace", "debug", "info", "warn", "error"];
|
58
|
-
var _loggersByName = {};
|
59
|
-
var defaultLogger = null;
|
60
|
-
|
61
|
-
// Cross-browser bind equivalent that works at least back to IE6
|
62
|
-
function bindMethod(obj, methodName) {
|
63
|
-
var method = obj[methodName];
|
64
|
-
if (typeof method.bind === 'function') {
|
65
|
-
return method.bind(obj);
|
49
|
+
if (module.exports) {
|
50
|
+
module.exports = definition();
|
66
51
|
} else {
|
67
|
-
|
68
|
-
return Function.prototype.bind.call(method, obj);
|
69
|
-
} catch (e) {
|
70
|
-
// Missing bind shim or IE8 + Modernizr, fallback to wrapping
|
71
|
-
return function () {
|
72
|
-
return Function.prototype.apply.apply(method, [obj, arguments]);
|
73
|
-
};
|
74
|
-
}
|
52
|
+
root.log = definition();
|
75
53
|
}
|
76
|
-
}
|
54
|
+
})(loglevel, function () {
|
77
55
|
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
56
|
+
// Slightly dubious tricks to cut down minimized file size
|
57
|
+
var noop = function () {};
|
58
|
+
var undefinedType = "undefined";
|
59
|
+
var isIE = typeof window !== undefinedType && typeof window.navigator !== undefinedType && /Trident\/|MSIE /.test(window.navigator.userAgent);
|
60
|
+
var logMethods = ["trace", "debug", "info", "warn", "error"];
|
61
|
+
var _loggersByName = {};
|
62
|
+
var defaultLogger = null;
|
63
|
+
|
64
|
+
// Cross-browser bind equivalent that works at least back to IE6
|
65
|
+
function bindMethod(obj, methodName) {
|
66
|
+
var method = obj[methodName];
|
67
|
+
if (typeof method.bind === 'function') {
|
68
|
+
return method.bind(obj);
|
83
69
|
} else {
|
84
|
-
|
85
|
-
|
70
|
+
try {
|
71
|
+
return Function.prototype.bind.call(method, obj);
|
72
|
+
} catch (e) {
|
73
|
+
// Missing bind shim or IE8 + Modernizr, fallback to wrapping
|
74
|
+
return function () {
|
75
|
+
return Function.prototype.apply.apply(method, [obj, arguments]);
|
76
|
+
};
|
77
|
+
}
|
86
78
|
}
|
87
79
|
}
|
88
|
-
if (console.trace) console.trace();
|
89
|
-
}
|
90
80
|
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
return bindMethod(console, methodName);
|
103
|
-
} else if (console.log !== undefined) {
|
104
|
-
return bindMethod(console, 'log');
|
105
|
-
} else {
|
106
|
-
return noop;
|
81
|
+
// Trace() doesn't print the message in IE, so for that case we need to wrap it
|
82
|
+
function traceForIE() {
|
83
|
+
if (console.log) {
|
84
|
+
if (console.log.apply) {
|
85
|
+
console.log.apply(console, arguments);
|
86
|
+
} else {
|
87
|
+
// In old IE, native console methods themselves don't have apply().
|
88
|
+
Function.prototype.apply.apply(console.log, [console, arguments]);
|
89
|
+
}
|
90
|
+
}
|
91
|
+
if (console.trace) console.trace();
|
107
92
|
}
|
108
|
-
}
|
109
|
-
|
110
|
-
// These private functions always need `this` to be set properly
|
111
|
-
|
112
|
-
function replaceLoggingMethods() {
|
113
|
-
/*jshint validthis:true */
|
114
|
-
var level = this.getLevel();
|
115
93
|
|
116
|
-
//
|
117
|
-
|
118
|
-
|
119
|
-
|
94
|
+
// Build the best logging method possible for this env
|
95
|
+
// Wherever possible we want to bind, not wrap, to preserve stack traces
|
96
|
+
function realMethod(methodName) {
|
97
|
+
if (methodName === 'debug') {
|
98
|
+
methodName = 'log';
|
99
|
+
}
|
100
|
+
if (typeof console === undefinedType) {
|
101
|
+
return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives
|
102
|
+
} else if (methodName === 'trace' && isIE) {
|
103
|
+
return traceForIE;
|
104
|
+
} else if (console[methodName] !== undefined) {
|
105
|
+
return bindMethod(console, methodName);
|
106
|
+
} else if (console.log !== undefined) {
|
107
|
+
return bindMethod(console, 'log');
|
108
|
+
} else {
|
109
|
+
return noop;
|
110
|
+
}
|
120
111
|
}
|
121
112
|
|
122
|
-
//
|
123
|
-
this.log = this.debug;
|
113
|
+
// These private functions always need `this` to be set properly
|
124
114
|
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
}
|
129
|
-
}
|
115
|
+
function replaceLoggingMethods() {
|
116
|
+
/*jshint validthis:true */
|
117
|
+
var level = this.getLevel();
|
130
118
|
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
if (typeof console !== undefinedType) {
|
136
|
-
replaceLoggingMethods.call(this);
|
137
|
-
this[methodName].apply(this, arguments);
|
119
|
+
// Replace the actual methods.
|
120
|
+
for (var i = 0; i < logMethods.length; i++) {
|
121
|
+
var methodName = logMethods[i];
|
122
|
+
this[methodName] = i < level ? noop : this.methodFactory(methodName, level, this.name);
|
138
123
|
}
|
139
|
-
};
|
140
|
-
}
|
141
124
|
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
// Private instance variables.
|
150
|
-
var self = this;
|
151
|
-
/**
|
152
|
-
* The level inherited from a parent logger (or a global default). We
|
153
|
-
* cache this here rather than delegating to the parent so that it stays
|
154
|
-
* in sync with the actual logging methods that we have installed (the
|
155
|
-
* parent could change levels but we might not have rebuilt the loggers
|
156
|
-
* in this child yet).
|
157
|
-
* @type {number}
|
158
|
-
*/
|
159
|
-
var inheritedLevel;
|
160
|
-
/**
|
161
|
-
* The default level for this logger, if any. If set, this overrides
|
162
|
-
* `inheritedLevel`.
|
163
|
-
* @type {number|null}
|
164
|
-
*/
|
165
|
-
var defaultLevel;
|
166
|
-
/**
|
167
|
-
* A user-specific level for this logger. If set, this overrides
|
168
|
-
* `defaultLevel`.
|
169
|
-
* @type {number|null}
|
170
|
-
*/
|
171
|
-
var userLevel;
|
172
|
-
var storageKey = "loglevel";
|
173
|
-
if (typeof name === "string") {
|
174
|
-
storageKey += ":" + name;
|
175
|
-
} else if (typeof name === "symbol") {
|
176
|
-
storageKey = undefined;
|
125
|
+
// Define log.log as an alias for log.debug
|
126
|
+
this.log = this.debug;
|
127
|
+
|
128
|
+
// Return any important warnings.
|
129
|
+
if (typeof console === undefinedType && level < this.levels.SILENT) {
|
130
|
+
return "No console available for logging";
|
131
|
+
}
|
177
132
|
}
|
178
|
-
function persistLevelIfPossible(levelNum) {
|
179
|
-
var levelName = (logMethods[levelNum] || 'silent').toUpperCase();
|
180
|
-
if (typeof window === undefinedType || !storageKey) return;
|
181
133
|
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
134
|
+
// In old IE versions, the console isn't present until you first open it.
|
135
|
+
// We build realMethod() replacements here that regenerate logging methods
|
136
|
+
function enableLoggingWhenConsoleArrives(methodName) {
|
137
|
+
return function () {
|
138
|
+
if (typeof console !== undefinedType) {
|
139
|
+
replaceLoggingMethods.call(this);
|
140
|
+
this[methodName].apply(this, arguments);
|
141
|
+
}
|
142
|
+
};
|
143
|
+
}
|
187
144
|
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
145
|
+
// By default, we use closely bound real methods wherever possible, and
|
146
|
+
// otherwise we wait for a console to appear, and then try again.
|
147
|
+
function defaultMethodFactory(methodName, _level, _loggerName) {
|
148
|
+
/*jshint validthis:true */
|
149
|
+
return realMethod(methodName) || enableLoggingWhenConsoleArrives.apply(this, arguments);
|
192
150
|
}
|
193
|
-
function
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
151
|
+
function Logger(name, factory) {
|
152
|
+
// Private instance variables.
|
153
|
+
var self = this;
|
154
|
+
/**
|
155
|
+
* The level inherited from a parent logger (or a global default). We
|
156
|
+
* cache this here rather than delegating to the parent so that it stays
|
157
|
+
* in sync with the actual logging methods that we have installed (the
|
158
|
+
* parent could change levels but we might not have rebuilt the loggers
|
159
|
+
* in this child yet).
|
160
|
+
* @type {number}
|
161
|
+
*/
|
162
|
+
var inheritedLevel;
|
163
|
+
/**
|
164
|
+
* The default level for this logger, if any. If set, this overrides
|
165
|
+
* `inheritedLevel`.
|
166
|
+
* @type {number|null}
|
167
|
+
*/
|
168
|
+
var defaultLevel;
|
169
|
+
/**
|
170
|
+
* A user-specific level for this logger. If set, this overrides
|
171
|
+
* `defaultLevel`.
|
172
|
+
* @type {number|null}
|
173
|
+
*/
|
174
|
+
var userLevel;
|
175
|
+
var storageKey = "loglevel";
|
176
|
+
if (typeof name === "string") {
|
177
|
+
storageKey += ":" + name;
|
178
|
+
} else if (typeof name === "symbol") {
|
179
|
+
storageKey = undefined;
|
180
|
+
}
|
181
|
+
function persistLevelIfPossible(levelNum) {
|
182
|
+
var levelName = (logMethods[levelNum] || 'silent').toUpperCase();
|
183
|
+
if (typeof window === undefinedType || !storageKey) return;
|
199
184
|
|
200
|
-
|
201
|
-
if (typeof storedLevel === undefinedType) {
|
185
|
+
// Use localStorage if available
|
202
186
|
try {
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
187
|
+
window.localStorage[storageKey] = levelName;
|
188
|
+
return;
|
189
|
+
} catch (ignore) {}
|
190
|
+
|
191
|
+
// Use session cookie as fallback
|
192
|
+
try {
|
193
|
+
window.document.cookie = encodeURIComponent(storageKey) + "=" + levelName + ";";
|
209
194
|
} catch (ignore) {}
|
210
195
|
}
|
196
|
+
function getPersistedLevel() {
|
197
|
+
var storedLevel;
|
198
|
+
if (typeof window === undefinedType || !storageKey) return;
|
199
|
+
try {
|
200
|
+
storedLevel = window.localStorage[storageKey];
|
201
|
+
} catch (ignore) {}
|
202
|
+
|
203
|
+
// Fallback to cookies if local storage gives us nothing
|
204
|
+
if (typeof storedLevel === undefinedType) {
|
205
|
+
try {
|
206
|
+
var cookie = window.document.cookie;
|
207
|
+
var cookieName = encodeURIComponent(storageKey);
|
208
|
+
var location = cookie.indexOf(cookieName + "=");
|
209
|
+
if (location !== -1) {
|
210
|
+
storedLevel = /^([^;]+)/.exec(cookie.slice(location + cookieName.length + 1))[1];
|
211
|
+
}
|
212
|
+
} catch (ignore) {}
|
213
|
+
}
|
211
214
|
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
+
// If the stored level is not valid, treat it as if nothing was stored.
|
216
|
+
if (self.levels[storedLevel] === undefined) {
|
217
|
+
storedLevel = undefined;
|
218
|
+
}
|
219
|
+
return storedLevel;
|
215
220
|
}
|
216
|
-
|
217
|
-
|
218
|
-
function clearPersistedLevel() {
|
219
|
-
if (typeof window === undefinedType || !storageKey) return;
|
221
|
+
function clearPersistedLevel() {
|
222
|
+
if (typeof window === undefinedType || !storageKey) return;
|
220
223
|
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
224
|
+
// Use localStorage if available
|
225
|
+
try {
|
226
|
+
window.localStorage.removeItem(storageKey);
|
227
|
+
} catch (ignore) {}
|
225
228
|
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
}
|
231
|
-
function normalizeLevel(input) {
|
232
|
-
var level = input;
|
233
|
-
if (typeof level === "string" && self.levels[level.toUpperCase()] !== undefined) {
|
234
|
-
level = self.levels[level.toUpperCase()];
|
229
|
+
// Use session cookie as fallback
|
230
|
+
try {
|
231
|
+
window.document.cookie = encodeURIComponent(storageKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
|
232
|
+
} catch (ignore) {}
|
235
233
|
}
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
234
|
+
function normalizeLevel(input) {
|
235
|
+
var level = input;
|
236
|
+
if (typeof level === "string" && self.levels[level.toUpperCase()] !== undefined) {
|
237
|
+
level = self.levels[level.toUpperCase()];
|
238
|
+
}
|
239
|
+
if (typeof level === "number" && level >= 0 && level <= self.levels.SILENT) {
|
240
|
+
return level;
|
241
|
+
} else {
|
242
|
+
throw new TypeError("log.setLevel() called with invalid level: " + input);
|
243
|
+
}
|
244
|
+
}
|
245
|
+
|
246
|
+
/*
|
247
|
+
*
|
248
|
+
* Public logger API - see https://github.com/pimterry/loglevel for details
|
249
|
+
*
|
250
|
+
*/
|
251
|
+
|
252
|
+
self.name = name;
|
253
|
+
self.levels = {
|
254
|
+
"TRACE": 0,
|
255
|
+
"DEBUG": 1,
|
256
|
+
"INFO": 2,
|
257
|
+
"WARN": 3,
|
258
|
+
"ERROR": 4,
|
259
|
+
"SILENT": 5
|
260
|
+
};
|
261
|
+
self.methodFactory = factory || defaultMethodFactory;
|
262
|
+
self.getLevel = function () {
|
263
|
+
if (userLevel != null) {
|
264
|
+
return userLevel;
|
265
|
+
} else if (defaultLevel != null) {
|
266
|
+
return defaultLevel;
|
267
|
+
} else {
|
268
|
+
return inheritedLevel;
|
269
|
+
}
|
270
|
+
};
|
271
|
+
self.setLevel = function (level, persist) {
|
272
|
+
userLevel = normalizeLevel(level);
|
273
|
+
if (persist !== false) {
|
274
|
+
// defaults to true
|
275
|
+
persistLevelIfPossible(userLevel);
|
276
|
+
}
|
277
|
+
|
278
|
+
// NOTE: in v2, this should call rebuild(), which updates children.
|
279
|
+
return replaceLoggingMethods.call(self);
|
280
|
+
};
|
281
|
+
self.setDefaultLevel = function (level) {
|
282
|
+
defaultLevel = normalizeLevel(level);
|
283
|
+
if (!getPersistedLevel()) {
|
284
|
+
self.setLevel(level, false);
|
285
|
+
}
|
286
|
+
};
|
287
|
+
self.resetLevel = function () {
|
288
|
+
userLevel = null;
|
289
|
+
clearPersistedLevel();
|
290
|
+
replaceLoggingMethods.call(self);
|
291
|
+
};
|
292
|
+
self.enableAll = function (persist) {
|
293
|
+
self.setLevel(self.levels.TRACE, persist);
|
294
|
+
};
|
295
|
+
self.disableAll = function (persist) {
|
296
|
+
self.setLevel(self.levels.SILENT, persist);
|
297
|
+
};
|
298
|
+
self.rebuild = function () {
|
299
|
+
if (defaultLogger !== self) {
|
300
|
+
inheritedLevel = normalizeLevel(defaultLogger.getLevel());
|
301
|
+
}
|
302
|
+
replaceLoggingMethods.call(self);
|
303
|
+
if (defaultLogger === self) {
|
304
|
+
for (var childName in _loggersByName) {
|
305
|
+
_loggersByName[childName].rebuild();
|
306
|
+
}
|
307
|
+
}
|
308
|
+
};
|
309
|
+
|
310
|
+
// Initialize all the internal levels.
|
311
|
+
inheritedLevel = normalizeLevel(defaultLogger ? defaultLogger.getLevel() : "WARN");
|
312
|
+
var initialLevel = getPersistedLevel();
|
313
|
+
if (initialLevel != null) {
|
314
|
+
userLevel = normalizeLevel(initialLevel);
|
240
315
|
}
|
316
|
+
replaceLoggingMethods.call(self);
|
241
317
|
}
|
242
318
|
|
243
319
|
/*
|
244
320
|
*
|
245
|
-
*
|
321
|
+
* Top-level API
|
246
322
|
*
|
247
323
|
*/
|
248
324
|
|
249
|
-
|
250
|
-
|
251
|
-
"
|
252
|
-
|
253
|
-
"INFO": 2,
|
254
|
-
"WARN": 3,
|
255
|
-
"ERROR": 4,
|
256
|
-
"SILENT": 5
|
257
|
-
};
|
258
|
-
self.methodFactory = factory || defaultMethodFactory;
|
259
|
-
self.getLevel = function () {
|
260
|
-
if (userLevel != null) {
|
261
|
-
return userLevel;
|
262
|
-
} else if (defaultLevel != null) {
|
263
|
-
return defaultLevel;
|
264
|
-
} else {
|
265
|
-
return inheritedLevel;
|
325
|
+
defaultLogger = new Logger();
|
326
|
+
defaultLogger.getLogger = function getLogger(name) {
|
327
|
+
if (typeof name !== "symbol" && typeof name !== "string" || name === "") {
|
328
|
+
throw new TypeError("You must supply a name when creating a logger.");
|
266
329
|
}
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
if (persist !== false) {
|
271
|
-
// defaults to true
|
272
|
-
persistLevelIfPossible(userLevel);
|
330
|
+
var logger = _loggersByName[name];
|
331
|
+
if (!logger) {
|
332
|
+
logger = _loggersByName[name] = new Logger(name, defaultLogger.methodFactory);
|
273
333
|
}
|
274
|
-
|
275
|
-
// NOTE: in v2, this should call rebuild(), which updates children.
|
276
|
-
return replaceLoggingMethods.call(self);
|
334
|
+
return logger;
|
277
335
|
};
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
336
|
+
|
337
|
+
// Grab the current global log variable in case of overwrite
|
338
|
+
var _log = typeof window !== undefinedType ? window.log : undefined;
|
339
|
+
defaultLogger.noConflict = function () {
|
340
|
+
if (typeof window !== undefinedType && window.log === defaultLogger) {
|
341
|
+
window.log = _log;
|
282
342
|
}
|
343
|
+
return defaultLogger;
|
283
344
|
};
|
284
|
-
|
285
|
-
|
286
|
-
clearPersistedLevel();
|
287
|
-
replaceLoggingMethods.call(self);
|
288
|
-
};
|
289
|
-
self.enableAll = function (persist) {
|
290
|
-
self.setLevel(self.levels.TRACE, persist);
|
345
|
+
defaultLogger.getLoggers = function getLoggers() {
|
346
|
+
return _loggersByName;
|
291
347
|
};
|
292
|
-
self.disableAll = function (persist) {
|
293
|
-
self.setLevel(self.levels.SILENT, persist);
|
294
|
-
};
|
295
|
-
self.rebuild = function () {
|
296
|
-
if (defaultLogger !== self) {
|
297
|
-
inheritedLevel = normalizeLevel(defaultLogger.getLevel());
|
298
|
-
}
|
299
|
-
replaceLoggingMethods.call(self);
|
300
|
-
if (defaultLogger === self) {
|
301
|
-
for (var childName in _loggersByName) {
|
302
|
-
_loggersByName[childName].rebuild();
|
303
|
-
}
|
304
|
-
}
|
305
|
-
};
|
306
|
-
|
307
|
-
// Initialize all the internal levels.
|
308
|
-
inheritedLevel = normalizeLevel(defaultLogger ? defaultLogger.getLevel() : "WARN");
|
309
|
-
var initialLevel = getPersistedLevel();
|
310
|
-
if (initialLevel != null) {
|
311
|
-
userLevel = normalizeLevel(initialLevel);
|
312
|
-
}
|
313
|
-
replaceLoggingMethods.call(self);
|
314
|
-
}
|
315
|
-
|
316
|
-
/*
|
317
|
-
*
|
318
|
-
* Top-level API
|
319
|
-
*
|
320
|
-
*/
|
321
348
|
|
322
|
-
|
323
|
-
|
324
|
-
if (typeof name !== "symbol" && typeof name !== "string" || name === "") {
|
325
|
-
throw new TypeError("You must supply a name when creating a logger.");
|
326
|
-
}
|
327
|
-
var logger = _loggersByName[name];
|
328
|
-
if (!logger) {
|
329
|
-
logger = _loggersByName[name] = new Logger(name, defaultLogger.methodFactory);
|
330
|
-
}
|
331
|
-
return logger;
|
332
|
-
};
|
333
|
-
|
334
|
-
// Grab the current global log variable in case of overwrite
|
335
|
-
var _log = typeof window !== undefinedType ? window.log : undefined;
|
336
|
-
defaultLogger.noConflict = function () {
|
337
|
-
if (typeof window !== undefinedType && window.log === defaultLogger) {
|
338
|
-
window.log = _log;
|
339
|
-
}
|
349
|
+
// ES6 default export, for compatibility
|
350
|
+
defaultLogger['default'] = defaultLogger;
|
340
351
|
return defaultLogger;
|
341
|
-
};
|
342
|
-
|
343
|
-
|
344
|
-
|
352
|
+
});
|
353
|
+
})(loglevel$1);
|
354
|
+
return loglevel$1.exports;
|
355
|
+
}
|
345
356
|
|
346
|
-
|
347
|
-
defaultLogger['default'] = defaultLogger;
|
348
|
-
return defaultLogger;
|
349
|
-
});
|
350
|
-
})(loglevel);
|
351
|
-
var loglevelExports = loglevel.exports;
|
357
|
+
var loglevelExports = requireLoglevel();
|
352
358
|
|
353
359
|
var LogLevel;
|
354
360
|
(function (LogLevel) {
|
@@ -4008,383 +4014,390 @@ var AudioPresets;
|
|
4008
4014
|
|
4009
4015
|
var events = {exports: {}};
|
4010
4016
|
|
4011
|
-
var
|
4012
|
-
|
4013
|
-
|
4014
|
-
|
4015
|
-
var
|
4016
|
-
|
4017
|
-
|
4018
|
-
} else if (Object.getOwnPropertySymbols) {
|
4019
|
-
ReflectOwnKeys = function ReflectOwnKeys(target) {
|
4020
|
-
return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));
|
4021
|
-
};
|
4022
|
-
} else {
|
4023
|
-
ReflectOwnKeys = function ReflectOwnKeys(target) {
|
4024
|
-
return Object.getOwnPropertyNames(target);
|
4017
|
+
var hasRequiredEvents;
|
4018
|
+
function requireEvents() {
|
4019
|
+
if (hasRequiredEvents) return events.exports;
|
4020
|
+
hasRequiredEvents = 1;
|
4021
|
+
var R = typeof Reflect === 'object' ? Reflect : null;
|
4022
|
+
var ReflectApply = R && typeof R.apply === 'function' ? R.apply : function ReflectApply(target, receiver, args) {
|
4023
|
+
return Function.prototype.apply.call(target, receiver, args);
|
4025
4024
|
};
|
4026
|
-
|
4027
|
-
|
4028
|
-
|
4029
|
-
}
|
4030
|
-
|
4031
|
-
|
4032
|
-
};
|
4033
|
-
|
4034
|
-
|
4035
|
-
|
4036
|
-
|
4037
|
-
events.exports.once = once;
|
4038
|
-
|
4039
|
-
// Backwards-compat with node 0.10.x
|
4040
|
-
EventEmitter.EventEmitter = EventEmitter;
|
4041
|
-
EventEmitter.prototype._events = undefined;
|
4042
|
-
EventEmitter.prototype._eventsCount = 0;
|
4043
|
-
EventEmitter.prototype._maxListeners = undefined;
|
4044
|
-
|
4045
|
-
// By default EventEmitters will print a warning if more than 10 listeners are
|
4046
|
-
// added to it. This is a useful default which helps finding memory leaks.
|
4047
|
-
var defaultMaxListeners = 10;
|
4048
|
-
function checkListener(listener) {
|
4049
|
-
if (typeof listener !== 'function') {
|
4050
|
-
throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener);
|
4025
|
+
var ReflectOwnKeys;
|
4026
|
+
if (R && typeof R.ownKeys === 'function') {
|
4027
|
+
ReflectOwnKeys = R.ownKeys;
|
4028
|
+
} else if (Object.getOwnPropertySymbols) {
|
4029
|
+
ReflectOwnKeys = function ReflectOwnKeys(target) {
|
4030
|
+
return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));
|
4031
|
+
};
|
4032
|
+
} else {
|
4033
|
+
ReflectOwnKeys = function ReflectOwnKeys(target) {
|
4034
|
+
return Object.getOwnPropertyNames(target);
|
4035
|
+
};
|
4051
4036
|
}
|
4052
|
-
|
4053
|
-
|
4054
|
-
enumerable: true,
|
4055
|
-
get: function () {
|
4056
|
-
return defaultMaxListeners;
|
4057
|
-
},
|
4058
|
-
set: function (arg) {
|
4059
|
-
if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {
|
4060
|
-
throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + '.');
|
4061
|
-
}
|
4062
|
-
defaultMaxListeners = arg;
|
4037
|
+
function ProcessEmitWarning(warning) {
|
4038
|
+
if (console && console.warn) console.warn(warning);
|
4063
4039
|
}
|
4064
|
-
|
4065
|
-
|
4066
|
-
|
4067
|
-
|
4068
|
-
this
|
4040
|
+
var NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {
|
4041
|
+
return value !== value;
|
4042
|
+
};
|
4043
|
+
function EventEmitter() {
|
4044
|
+
EventEmitter.init.call(this);
|
4069
4045
|
}
|
4070
|
-
|
4071
|
-
|
4046
|
+
events.exports = EventEmitter;
|
4047
|
+
events.exports.once = once;
|
4072
4048
|
|
4073
|
-
//
|
4074
|
-
|
4075
|
-
EventEmitter.prototype.
|
4076
|
-
|
4077
|
-
|
4078
|
-
}
|
4079
|
-
this._maxListeners = n;
|
4080
|
-
return this;
|
4081
|
-
};
|
4082
|
-
function _getMaxListeners(that) {
|
4083
|
-
if (that._maxListeners === undefined) return EventEmitter.defaultMaxListeners;
|
4084
|
-
return that._maxListeners;
|
4085
|
-
}
|
4086
|
-
EventEmitter.prototype.getMaxListeners = function getMaxListeners() {
|
4087
|
-
return _getMaxListeners(this);
|
4088
|
-
};
|
4089
|
-
EventEmitter.prototype.emit = function emit(type) {
|
4090
|
-
var args = [];
|
4091
|
-
for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);
|
4092
|
-
var doError = type === 'error';
|
4093
|
-
var events = this._events;
|
4094
|
-
if (events !== undefined) doError = doError && events.error === undefined;else if (!doError) return false;
|
4049
|
+
// Backwards-compat with node 0.10.x
|
4050
|
+
EventEmitter.EventEmitter = EventEmitter;
|
4051
|
+
EventEmitter.prototype._events = undefined;
|
4052
|
+
EventEmitter.prototype._eventsCount = 0;
|
4053
|
+
EventEmitter.prototype._maxListeners = undefined;
|
4095
4054
|
|
4096
|
-
//
|
4097
|
-
|
4098
|
-
|
4099
|
-
|
4100
|
-
if (
|
4101
|
-
|
4102
|
-
// up in Node's output if this results in an unhandled exception.
|
4103
|
-
throw er; // Unhandled 'error' event
|
4055
|
+
// By default EventEmitters will print a warning if more than 10 listeners are
|
4056
|
+
// added to it. This is a useful default which helps finding memory leaks.
|
4057
|
+
var defaultMaxListeners = 10;
|
4058
|
+
function checkListener(listener) {
|
4059
|
+
if (typeof listener !== 'function') {
|
4060
|
+
throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener);
|
4104
4061
|
}
|
4105
|
-
// At least give some kind of context to the user
|
4106
|
-
var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));
|
4107
|
-
err.context = er;
|
4108
|
-
throw err; // Unhandled 'error' event
|
4109
|
-
}
|
4110
|
-
var handler = events[type];
|
4111
|
-
if (handler === undefined) return false;
|
4112
|
-
if (typeof handler === 'function') {
|
4113
|
-
ReflectApply(handler, this, args);
|
4114
|
-
} else {
|
4115
|
-
var len = handler.length;
|
4116
|
-
var listeners = arrayClone(handler, len);
|
4117
|
-
for (var i = 0; i < len; ++i) ReflectApply(listeners[i], this, args);
|
4118
4062
|
}
|
4119
|
-
|
4120
|
-
|
4121
|
-
function
|
4122
|
-
|
4123
|
-
|
4124
|
-
|
4125
|
-
|
4126
|
-
|
4127
|
-
|
4128
|
-
|
4129
|
-
|
4130
|
-
}
|
4131
|
-
|
4132
|
-
|
4133
|
-
|
4134
|
-
|
4063
|
+
Object.defineProperty(EventEmitter, 'defaultMaxListeners', {
|
4064
|
+
enumerable: true,
|
4065
|
+
get: function () {
|
4066
|
+
return defaultMaxListeners;
|
4067
|
+
},
|
4068
|
+
set: function (arg) {
|
4069
|
+
if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {
|
4070
|
+
throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + '.');
|
4071
|
+
}
|
4072
|
+
defaultMaxListeners = arg;
|
4073
|
+
}
|
4074
|
+
});
|
4075
|
+
EventEmitter.init = function () {
|
4076
|
+
if (this._events === undefined || this._events === Object.getPrototypeOf(this)._events) {
|
4077
|
+
this._events = Object.create(null);
|
4078
|
+
this._eventsCount = 0;
|
4079
|
+
}
|
4080
|
+
this._maxListeners = this._maxListeners || undefined;
|
4081
|
+
};
|
4135
4082
|
|
4136
|
-
|
4137
|
-
|
4138
|
-
|
4083
|
+
// Obviously not all Emitters should be limited to 10. This function allows
|
4084
|
+
// that to be increased. Set to zero for unlimited.
|
4085
|
+
EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {
|
4086
|
+
if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {
|
4087
|
+
throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + '.');
|
4139
4088
|
}
|
4140
|
-
|
4089
|
+
this._maxListeners = n;
|
4090
|
+
return this;
|
4091
|
+
};
|
4092
|
+
function _getMaxListeners(that) {
|
4093
|
+
if (that._maxListeners === undefined) return EventEmitter.defaultMaxListeners;
|
4094
|
+
return that._maxListeners;
|
4141
4095
|
}
|
4142
|
-
|
4143
|
-
|
4144
|
-
|
4145
|
-
|
4146
|
-
|
4147
|
-
|
4148
|
-
|
4149
|
-
|
4150
|
-
|
4151
|
-
|
4152
|
-
|
4096
|
+
EventEmitter.prototype.getMaxListeners = function getMaxListeners() {
|
4097
|
+
return _getMaxListeners(this);
|
4098
|
+
};
|
4099
|
+
EventEmitter.prototype.emit = function emit(type) {
|
4100
|
+
var args = [];
|
4101
|
+
for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);
|
4102
|
+
var doError = type === 'error';
|
4103
|
+
var events = this._events;
|
4104
|
+
if (events !== undefined) doError = doError && events.error === undefined;else if (!doError) return false;
|
4105
|
+
|
4106
|
+
// If there is no 'error' event listener then throw.
|
4107
|
+
if (doError) {
|
4108
|
+
var er;
|
4109
|
+
if (args.length > 0) er = args[0];
|
4110
|
+
if (er instanceof Error) {
|
4111
|
+
// Note: The comments on the `throw` lines are intentional, they show
|
4112
|
+
// up in Node's output if this results in an unhandled exception.
|
4113
|
+
throw er; // Unhandled 'error' event
|
4114
|
+
}
|
4115
|
+
// At least give some kind of context to the user
|
4116
|
+
var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));
|
4117
|
+
err.context = er;
|
4118
|
+
throw err; // Unhandled 'error' event
|
4119
|
+
}
|
4120
|
+
var handler = events[type];
|
4121
|
+
if (handler === undefined) return false;
|
4122
|
+
if (typeof handler === 'function') {
|
4123
|
+
ReflectApply(handler, this, args);
|
4153
4124
|
} else {
|
4154
|
-
|
4125
|
+
var len = handler.length;
|
4126
|
+
var listeners = arrayClone(handler, len);
|
4127
|
+
for (var i = 0; i < len; ++i) ReflectApply(listeners[i], this, args);
|
4155
4128
|
}
|
4129
|
+
return true;
|
4130
|
+
};
|
4131
|
+
function _addListener(target, type, listener, prepend) {
|
4132
|
+
var m;
|
4133
|
+
var events;
|
4134
|
+
var existing;
|
4135
|
+
checkListener(listener);
|
4136
|
+
events = target._events;
|
4137
|
+
if (events === undefined) {
|
4138
|
+
events = target._events = Object.create(null);
|
4139
|
+
target._eventsCount = 0;
|
4140
|
+
} else {
|
4141
|
+
// To avoid recursion in the case that type === "newListener"! Before
|
4142
|
+
// adding it to the listeners, first emit "newListener".
|
4143
|
+
if (events.newListener !== undefined) {
|
4144
|
+
target.emit('newListener', type, listener.listener ? listener.listener : listener);
|
4156
4145
|
|
4157
|
-
|
4158
|
-
|
4159
|
-
|
4160
|
-
|
4161
|
-
|
4162
|
-
// eslint-disable-next-line no-restricted-syntax
|
4163
|
-
var w = new Error('Possible EventEmitter memory leak detected. ' + existing.length + ' ' + String(type) + ' listeners ' + 'added. Use emitter.setMaxListeners() to ' + 'increase limit');
|
4164
|
-
w.name = 'MaxListenersExceededWarning';
|
4165
|
-
w.emitter = target;
|
4166
|
-
w.type = type;
|
4167
|
-
w.count = existing.length;
|
4168
|
-
ProcessEmitWarning(w);
|
4146
|
+
// Re-assign `events` because a newListener handler could have caused the
|
4147
|
+
// this._events to be assigned to a new object
|
4148
|
+
events = target._events;
|
4149
|
+
}
|
4150
|
+
existing = events[type];
|
4169
4151
|
}
|
4152
|
+
if (existing === undefined) {
|
4153
|
+
// Optimize the case of one listener. Don't need the extra array object.
|
4154
|
+
existing = events[type] = listener;
|
4155
|
+
++target._eventsCount;
|
4156
|
+
} else {
|
4157
|
+
if (typeof existing === 'function') {
|
4158
|
+
// Adding the second element, need to change to array.
|
4159
|
+
existing = events[type] = prepend ? [listener, existing] : [existing, listener];
|
4160
|
+
// If we've already got an array, just append.
|
4161
|
+
} else if (prepend) {
|
4162
|
+
existing.unshift(listener);
|
4163
|
+
} else {
|
4164
|
+
existing.push(listener);
|
4165
|
+
}
|
4166
|
+
|
4167
|
+
// Check for listener leak
|
4168
|
+
m = _getMaxListeners(target);
|
4169
|
+
if (m > 0 && existing.length > m && !existing.warned) {
|
4170
|
+
existing.warned = true;
|
4171
|
+
// No error code for this since it is a Warning
|
4172
|
+
// eslint-disable-next-line no-restricted-syntax
|
4173
|
+
var w = new Error('Possible EventEmitter memory leak detected. ' + existing.length + ' ' + String(type) + ' listeners ' + 'added. Use emitter.setMaxListeners() to ' + 'increase limit');
|
4174
|
+
w.name = 'MaxListenersExceededWarning';
|
4175
|
+
w.emitter = target;
|
4176
|
+
w.type = type;
|
4177
|
+
w.count = existing.length;
|
4178
|
+
ProcessEmitWarning(w);
|
4179
|
+
}
|
4180
|
+
}
|
4181
|
+
return target;
|
4170
4182
|
}
|
4171
|
-
|
4172
|
-
|
4173
|
-
|
4174
|
-
|
4175
|
-
|
4176
|
-
|
4177
|
-
|
4178
|
-
|
4179
|
-
|
4180
|
-
|
4181
|
-
|
4182
|
-
|
4183
|
-
|
4184
|
-
|
4185
|
-
return this.listener.apply(this.target, arguments);
|
4183
|
+
EventEmitter.prototype.addListener = function addListener(type, listener) {
|
4184
|
+
return _addListener(this, type, listener, false);
|
4185
|
+
};
|
4186
|
+
EventEmitter.prototype.on = EventEmitter.prototype.addListener;
|
4187
|
+
EventEmitter.prototype.prependListener = function prependListener(type, listener) {
|
4188
|
+
return _addListener(this, type, listener, true);
|
4189
|
+
};
|
4190
|
+
function onceWrapper() {
|
4191
|
+
if (!this.fired) {
|
4192
|
+
this.target.removeListener(this.type, this.wrapFn);
|
4193
|
+
this.fired = true;
|
4194
|
+
if (arguments.length === 0) return this.listener.call(this.target);
|
4195
|
+
return this.listener.apply(this.target, arguments);
|
4196
|
+
}
|
4186
4197
|
}
|
4187
|
-
|
4188
|
-
|
4189
|
-
|
4190
|
-
|
4191
|
-
|
4192
|
-
|
4193
|
-
|
4194
|
-
|
4198
|
+
function _onceWrap(target, type, listener) {
|
4199
|
+
var state = {
|
4200
|
+
fired: false,
|
4201
|
+
wrapFn: undefined,
|
4202
|
+
target: target,
|
4203
|
+
type: type,
|
4204
|
+
listener: listener
|
4205
|
+
};
|
4206
|
+
var wrapped = onceWrapper.bind(state);
|
4207
|
+
wrapped.listener = listener;
|
4208
|
+
state.wrapFn = wrapped;
|
4209
|
+
return wrapped;
|
4210
|
+
}
|
4211
|
+
EventEmitter.prototype.once = function once(type, listener) {
|
4212
|
+
checkListener(listener);
|
4213
|
+
this.on(type, _onceWrap(this, type, listener));
|
4214
|
+
return this;
|
4215
|
+
};
|
4216
|
+
EventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) {
|
4217
|
+
checkListener(listener);
|
4218
|
+
this.prependListener(type, _onceWrap(this, type, listener));
|
4219
|
+
return this;
|
4195
4220
|
};
|
4196
|
-
var wrapped = onceWrapper.bind(state);
|
4197
|
-
wrapped.listener = listener;
|
4198
|
-
state.wrapFn = wrapped;
|
4199
|
-
return wrapped;
|
4200
|
-
}
|
4201
|
-
EventEmitter.prototype.once = function once(type, listener) {
|
4202
|
-
checkListener(listener);
|
4203
|
-
this.on(type, _onceWrap(this, type, listener));
|
4204
|
-
return this;
|
4205
|
-
};
|
4206
|
-
EventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) {
|
4207
|
-
checkListener(listener);
|
4208
|
-
this.prependListener(type, _onceWrap(this, type, listener));
|
4209
|
-
return this;
|
4210
|
-
};
|
4211
4221
|
|
4212
|
-
// Emits a 'removeListener' event if and only if the listener was removed.
|
4213
|
-
EventEmitter.prototype.removeListener = function removeListener(type, listener) {
|
4214
|
-
|
4215
|
-
|
4216
|
-
|
4217
|
-
|
4218
|
-
|
4219
|
-
|
4220
|
-
|
4221
|
-
|
4222
|
-
|
4223
|
-
|
4224
|
-
}
|
4225
|
-
} else if (typeof list !== 'function') {
|
4226
|
-
position = -1;
|
4227
|
-
for (i = list.length - 1; i >= 0; i--) {
|
4228
|
-
if (list[i] === listener || list[i].listener === listener) {
|
4229
|
-
originalListener = list[i].listener;
|
4230
|
-
position = i;
|
4231
|
-
break;
|
4222
|
+
// Emits a 'removeListener' event if and only if the listener was removed.
|
4223
|
+
EventEmitter.prototype.removeListener = function removeListener(type, listener) {
|
4224
|
+
var list, events, position, i, originalListener;
|
4225
|
+
checkListener(listener);
|
4226
|
+
events = this._events;
|
4227
|
+
if (events === undefined) return this;
|
4228
|
+
list = events[type];
|
4229
|
+
if (list === undefined) return this;
|
4230
|
+
if (list === listener || list.listener === listener) {
|
4231
|
+
if (--this._eventsCount === 0) this._events = Object.create(null);else {
|
4232
|
+
delete events[type];
|
4233
|
+
if (events.removeListener) this.emit('removeListener', type, list.listener || listener);
|
4232
4234
|
}
|
4235
|
+
} else if (typeof list !== 'function') {
|
4236
|
+
position = -1;
|
4237
|
+
for (i = list.length - 1; i >= 0; i--) {
|
4238
|
+
if (list[i] === listener || list[i].listener === listener) {
|
4239
|
+
originalListener = list[i].listener;
|
4240
|
+
position = i;
|
4241
|
+
break;
|
4242
|
+
}
|
4243
|
+
}
|
4244
|
+
if (position < 0) return this;
|
4245
|
+
if (position === 0) list.shift();else {
|
4246
|
+
spliceOne(list, position);
|
4247
|
+
}
|
4248
|
+
if (list.length === 1) events[type] = list[0];
|
4249
|
+
if (events.removeListener !== undefined) this.emit('removeListener', type, originalListener || listener);
|
4233
4250
|
}
|
4234
|
-
|
4235
|
-
|
4236
|
-
|
4251
|
+
return this;
|
4252
|
+
};
|
4253
|
+
EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
|
4254
|
+
EventEmitter.prototype.removeAllListeners = function removeAllListeners(type) {
|
4255
|
+
var listeners, events, i;
|
4256
|
+
events = this._events;
|
4257
|
+
if (events === undefined) return this;
|
4258
|
+
|
4259
|
+
// not listening for removeListener, no need to emit
|
4260
|
+
if (events.removeListener === undefined) {
|
4261
|
+
if (arguments.length === 0) {
|
4262
|
+
this._events = Object.create(null);
|
4263
|
+
this._eventsCount = 0;
|
4264
|
+
} else if (events[type] !== undefined) {
|
4265
|
+
if (--this._eventsCount === 0) this._events = Object.create(null);else delete events[type];
|
4266
|
+
}
|
4267
|
+
return this;
|
4237
4268
|
}
|
4238
|
-
if (list.length === 1) events[type] = list[0];
|
4239
|
-
if (events.removeListener !== undefined) this.emit('removeListener', type, originalListener || listener);
|
4240
|
-
}
|
4241
|
-
return this;
|
4242
|
-
};
|
4243
|
-
EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
|
4244
|
-
EventEmitter.prototype.removeAllListeners = function removeAllListeners(type) {
|
4245
|
-
var listeners, events, i;
|
4246
|
-
events = this._events;
|
4247
|
-
if (events === undefined) return this;
|
4248
4269
|
|
4249
|
-
|
4250
|
-
if (events.removeListener === undefined) {
|
4270
|
+
// emit removeListener for all listeners on all events
|
4251
4271
|
if (arguments.length === 0) {
|
4272
|
+
var keys = Object.keys(events);
|
4273
|
+
var key;
|
4274
|
+
for (i = 0; i < keys.length; ++i) {
|
4275
|
+
key = keys[i];
|
4276
|
+
if (key === 'removeListener') continue;
|
4277
|
+
this.removeAllListeners(key);
|
4278
|
+
}
|
4279
|
+
this.removeAllListeners('removeListener');
|
4252
4280
|
this._events = Object.create(null);
|
4253
4281
|
this._eventsCount = 0;
|
4254
|
-
|
4255
|
-
if (--this._eventsCount === 0) this._events = Object.create(null);else delete events[type];
|
4282
|
+
return this;
|
4256
4283
|
}
|
4257
|
-
|
4258
|
-
|
4259
|
-
|
4260
|
-
|
4261
|
-
|
4262
|
-
|
4263
|
-
|
4264
|
-
|
4265
|
-
key = keys[i];
|
4266
|
-
if (key === 'removeListener') continue;
|
4267
|
-
this.removeAllListeners(key);
|
4284
|
+
listeners = events[type];
|
4285
|
+
if (typeof listeners === 'function') {
|
4286
|
+
this.removeListener(type, listeners);
|
4287
|
+
} else if (listeners !== undefined) {
|
4288
|
+
// LIFO order
|
4289
|
+
for (i = listeners.length - 1; i >= 0; i--) {
|
4290
|
+
this.removeListener(type, listeners[i]);
|
4291
|
+
}
|
4268
4292
|
}
|
4269
|
-
this.removeAllListeners('removeListener');
|
4270
|
-
this._events = Object.create(null);
|
4271
|
-
this._eventsCount = 0;
|
4272
4293
|
return this;
|
4294
|
+
};
|
4295
|
+
function _listeners(target, type, unwrap) {
|
4296
|
+
var events = target._events;
|
4297
|
+
if (events === undefined) return [];
|
4298
|
+
var evlistener = events[type];
|
4299
|
+
if (evlistener === undefined) return [];
|
4300
|
+
if (typeof evlistener === 'function') return unwrap ? [evlistener.listener || evlistener] : [evlistener];
|
4301
|
+
return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);
|
4273
4302
|
}
|
4274
|
-
listeners =
|
4275
|
-
|
4276
|
-
|
4277
|
-
|
4278
|
-
|
4279
|
-
|
4280
|
-
|
4303
|
+
EventEmitter.prototype.listeners = function listeners(type) {
|
4304
|
+
return _listeners(this, type, true);
|
4305
|
+
};
|
4306
|
+
EventEmitter.prototype.rawListeners = function rawListeners(type) {
|
4307
|
+
return _listeners(this, type, false);
|
4308
|
+
};
|
4309
|
+
EventEmitter.listenerCount = function (emitter, type) {
|
4310
|
+
if (typeof emitter.listenerCount === 'function') {
|
4311
|
+
return emitter.listenerCount(type);
|
4312
|
+
} else {
|
4313
|
+
return listenerCount.call(emitter, type);
|
4281
4314
|
}
|
4282
|
-
}
|
4283
|
-
|
4284
|
-
|
4285
|
-
|
4286
|
-
|
4287
|
-
|
4288
|
-
|
4289
|
-
|
4290
|
-
|
4291
|
-
|
4292
|
-
}
|
4293
|
-
EventEmitter.prototype.listeners = function listeners(type) {
|
4294
|
-
return _listeners(this, type, true);
|
4295
|
-
};
|
4296
|
-
EventEmitter.prototype.rawListeners = function rawListeners(type) {
|
4297
|
-
return _listeners(this, type, false);
|
4298
|
-
};
|
4299
|
-
EventEmitter.listenerCount = function (emitter, type) {
|
4300
|
-
if (typeof emitter.listenerCount === 'function') {
|
4301
|
-
return emitter.listenerCount(type);
|
4302
|
-
} else {
|
4303
|
-
return listenerCount.call(emitter, type);
|
4304
|
-
}
|
4305
|
-
};
|
4306
|
-
EventEmitter.prototype.listenerCount = listenerCount;
|
4307
|
-
function listenerCount(type) {
|
4308
|
-
var events = this._events;
|
4309
|
-
if (events !== undefined) {
|
4310
|
-
var evlistener = events[type];
|
4311
|
-
if (typeof evlistener === 'function') {
|
4312
|
-
return 1;
|
4313
|
-
} else if (evlistener !== undefined) {
|
4314
|
-
return evlistener.length;
|
4315
|
+
};
|
4316
|
+
EventEmitter.prototype.listenerCount = listenerCount;
|
4317
|
+
function listenerCount(type) {
|
4318
|
+
var events = this._events;
|
4319
|
+
if (events !== undefined) {
|
4320
|
+
var evlistener = events[type];
|
4321
|
+
if (typeof evlistener === 'function') {
|
4322
|
+
return 1;
|
4323
|
+
} else if (evlistener !== undefined) {
|
4324
|
+
return evlistener.length;
|
4325
|
+
}
|
4315
4326
|
}
|
4327
|
+
return 0;
|
4316
4328
|
}
|
4317
|
-
|
4318
|
-
|
4319
|
-
|
4320
|
-
|
4321
|
-
|
4322
|
-
|
4323
|
-
|
4324
|
-
|
4325
|
-
|
4326
|
-
|
4327
|
-
|
4328
|
-
|
4329
|
-
|
4330
|
-
|
4331
|
-
|
4332
|
-
|
4333
|
-
for (var i = 0; i < ret.length; ++i) {
|
4334
|
-
ret[i] = arr[i].listener || arr[i];
|
4335
|
-
}
|
4336
|
-
return ret;
|
4337
|
-
}
|
4338
|
-
function once(emitter, name) {
|
4339
|
-
return new Promise(function (resolve, reject) {
|
4340
|
-
function errorListener(err) {
|
4341
|
-
emitter.removeListener(name, resolver);
|
4342
|
-
reject(err);
|
4329
|
+
EventEmitter.prototype.eventNames = function eventNames() {
|
4330
|
+
return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];
|
4331
|
+
};
|
4332
|
+
function arrayClone(arr, n) {
|
4333
|
+
var copy = new Array(n);
|
4334
|
+
for (var i = 0; i < n; ++i) copy[i] = arr[i];
|
4335
|
+
return copy;
|
4336
|
+
}
|
4337
|
+
function spliceOne(list, index) {
|
4338
|
+
for (; index + 1 < list.length; index++) list[index] = list[index + 1];
|
4339
|
+
list.pop();
|
4340
|
+
}
|
4341
|
+
function unwrapListeners(arr) {
|
4342
|
+
var ret = new Array(arr.length);
|
4343
|
+
for (var i = 0; i < ret.length; ++i) {
|
4344
|
+
ret[i] = arr[i].listener || arr[i];
|
4343
4345
|
}
|
4344
|
-
|
4345
|
-
|
4346
|
-
|
4346
|
+
return ret;
|
4347
|
+
}
|
4348
|
+
function once(emitter, name) {
|
4349
|
+
return new Promise(function (resolve, reject) {
|
4350
|
+
function errorListener(err) {
|
4351
|
+
emitter.removeListener(name, resolver);
|
4352
|
+
reject(err);
|
4347
4353
|
}
|
4348
|
-
|
4349
|
-
|
4350
|
-
|
4351
|
-
|
4352
|
-
|
4353
|
-
|
4354
|
-
|
4354
|
+
function resolver() {
|
4355
|
+
if (typeof emitter.removeListener === 'function') {
|
4356
|
+
emitter.removeListener('error', errorListener);
|
4357
|
+
}
|
4358
|
+
resolve([].slice.call(arguments));
|
4359
|
+
}
|
4360
|
+
eventTargetAgnosticAddListener(emitter, name, resolver, {
|
4355
4361
|
once: true
|
4356
4362
|
});
|
4357
|
-
|
4358
|
-
|
4359
|
-
|
4360
|
-
|
4361
|
-
|
4362
|
-
|
4363
|
+
if (name !== 'error') {
|
4364
|
+
addErrorHandlerIfEventEmitter(emitter, errorListener, {
|
4365
|
+
once: true
|
4366
|
+
});
|
4367
|
+
}
|
4368
|
+
});
|
4363
4369
|
}
|
4364
|
-
|
4365
|
-
|
4366
|
-
|
4367
|
-
if (flags.once) {
|
4368
|
-
emitter.once(name, listener);
|
4369
|
-
} else {
|
4370
|
-
emitter.on(name, listener);
|
4370
|
+
function addErrorHandlerIfEventEmitter(emitter, handler, flags) {
|
4371
|
+
if (typeof emitter.on === 'function') {
|
4372
|
+
eventTargetAgnosticAddListener(emitter, 'error', handler, flags);
|
4371
4373
|
}
|
4372
|
-
}
|
4373
|
-
|
4374
|
-
|
4375
|
-
emitter.addEventListener(name, function wrapListener(arg) {
|
4376
|
-
// IE does not have builtin `{ once: true }` support so we
|
4377
|
-
// have to do it manually.
|
4374
|
+
}
|
4375
|
+
function eventTargetAgnosticAddListener(emitter, name, listener, flags) {
|
4376
|
+
if (typeof emitter.on === 'function') {
|
4378
4377
|
if (flags.once) {
|
4379
|
-
emitter.
|
4378
|
+
emitter.once(name, listener);
|
4379
|
+
} else {
|
4380
|
+
emitter.on(name, listener);
|
4380
4381
|
}
|
4381
|
-
|
4382
|
-
|
4383
|
-
|
4384
|
-
|
4382
|
+
} else if (typeof emitter.addEventListener === 'function') {
|
4383
|
+
// EventTarget does not have `error` event semantics like Node
|
4384
|
+
// EventEmitters, we do not listen for `error` events here.
|
4385
|
+
emitter.addEventListener(name, function wrapListener(arg) {
|
4386
|
+
// IE does not have builtin `{ once: true }` support so we
|
4387
|
+
// have to do it manually.
|
4388
|
+
if (flags.once) {
|
4389
|
+
emitter.removeEventListener(name, wrapListener);
|
4390
|
+
}
|
4391
|
+
listener(arg);
|
4392
|
+
});
|
4393
|
+
} else {
|
4394
|
+
throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof emitter);
|
4395
|
+
}
|
4385
4396
|
}
|
4397
|
+
return events.exports;
|
4386
4398
|
}
|
4387
|
-
|
4399
|
+
|
4400
|
+
var eventsExports = requireEvents();
|
4388
4401
|
|
4389
4402
|
/**
|
4390
4403
|
* Events are the primary way LiveKit notifies your application of changes.
|
@@ -4648,7 +4661,7 @@ var RoomEvent;
|
|
4648
4661
|
*/
|
4649
4662
|
RoomEvent["MediaDevicesError"] = "mediaDevicesError";
|
4650
4663
|
/**
|
4651
|
-
* A participant's permission has changed.
|
4664
|
+
* A participant's permission has changed.
|
4652
4665
|
* args: (prevPermissions: [[ParticipantPermission]], participant: [[Participant]])
|
4653
4666
|
*/
|
4654
4667
|
RoomEvent["ParticipantPermissionsChanged"] = "participantPermissionsChanged";
|
@@ -4829,7 +4842,7 @@ var ParticipantEvent;
|
|
4829
4842
|
/** @internal */
|
4830
4843
|
ParticipantEvent["AudioStreamAcquired"] = "audioStreamAcquired";
|
4831
4844
|
/**
|
4832
|
-
* A participant's permission has changed.
|
4845
|
+
* A participant's permission has changed.
|
4833
4846
|
* args: (prevPermissions: [[ParticipantPermission]])
|
4834
4847
|
*/
|
4835
4848
|
ParticipantEvent["ParticipantPermissionsChanged"] = "participantPermissionsChanged";
|
@@ -5477,6 +5490,14 @@ class LivekitError extends Error {
|
|
5477
5490
|
this.code = code;
|
5478
5491
|
}
|
5479
5492
|
}
|
5493
|
+
var ConnectionErrorReason;
|
5494
|
+
(function (ConnectionErrorReason) {
|
5495
|
+
ConnectionErrorReason[ConnectionErrorReason["NotAllowed"] = 0] = "NotAllowed";
|
5496
|
+
ConnectionErrorReason[ConnectionErrorReason["ServerUnreachable"] = 1] = "ServerUnreachable";
|
5497
|
+
ConnectionErrorReason[ConnectionErrorReason["InternalError"] = 2] = "InternalError";
|
5498
|
+
ConnectionErrorReason[ConnectionErrorReason["Cancelled"] = 3] = "Cancelled";
|
5499
|
+
ConnectionErrorReason[ConnectionErrorReason["LeaveRequest"] = 4] = "LeaveRequest";
|
5500
|
+
})(ConnectionErrorReason || (ConnectionErrorReason = {}));
|
5480
5501
|
var MediaDeviceFailure;
|
5481
5502
|
(function (MediaDeviceFailure) {
|
5482
5503
|
// user rejected permissions
|
@@ -6242,7 +6263,7 @@ class ParticipantKeyHandler extends eventsExports.EventEmitter {
|
|
6242
6263
|
this.decryptionFailureCount = 0;
|
6243
6264
|
this._hasValidKey = true;
|
6244
6265
|
this.currentKeyIndex = 0;
|
6245
|
-
if (keyProviderOptions.keyringSize < 1 || keyProviderOptions.keyringSize >
|
6266
|
+
if (keyProviderOptions.keyringSize < 1 || keyProviderOptions.keyringSize > 256) {
|
6246
6267
|
throw new TypeError('Keyring size needs to be between 1 and 256');
|
6247
6268
|
}
|
6248
6269
|
this.cryptoKeyRing = new Array(keyProviderOptions.keyringSize).fill(undefined);
|