@rksan/mock-media-devices
Version:
WebAPI window.navigator.mediaDevices のモック
185 lines (184 loc) • 9.29 kB
JavaScript
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
if (kind === "m") throw new TypeError("Private method is not writable");
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
};
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var _MockMediaStreamTrack_contentHint, _MockMediaStreamTrack_enabled, _MockMediaStreamTrack_id, _MockMediaStreamTrack_kind, _MockMediaStreamTrack_label, _MockMediaStreamTrack_muted, _MockMediaStreamTrack_readyState, _MockMediaStreamTrack_constraints, _MockMediaStreamTrack_settings, _MockMediaStreamTrack_events;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MockMediaStreamTrack = void 0;
const utils_1 = require("../utils");
const factory = __importStar(require("../factory"));
//---------
// classes
//---------
class MockMediaStreamTrack {
constructor(kind, constrains) {
_MockMediaStreamTrack_contentHint.set(this, void 0);
_MockMediaStreamTrack_enabled.set(this, void 0);
_MockMediaStreamTrack_id.set(this, void 0);
_MockMediaStreamTrack_kind.set(this, void 0);
_MockMediaStreamTrack_label.set(this, void 0);
_MockMediaStreamTrack_muted.set(this, void 0);
_MockMediaStreamTrack_readyState.set(this, void 0);
_MockMediaStreamTrack_constraints.set(this, void 0);
_MockMediaStreamTrack_settings.set(this, void 0);
_MockMediaStreamTrack_events.set(this, void 0);
if (constrains) {
__classPrivateFieldSet(this, _MockMediaStreamTrack_constraints, constrains, "f");
}
else {
__classPrivateFieldSet(this, _MockMediaStreamTrack_constraints, factory.createMediaTrackConstraints(kind), "f");
}
__classPrivateFieldSet(this, _MockMediaStreamTrack_settings, factory.createMediaTrackSettings(kind, __classPrivateFieldGet(this, _MockMediaStreamTrack_constraints, "f")), "f");
__classPrivateFieldSet(this, _MockMediaStreamTrack_contentHint, "", "f");
__classPrivateFieldSet(this, _MockMediaStreamTrack_enabled, true, "f");
__classPrivateFieldSet(this, _MockMediaStreamTrack_id, __classPrivateFieldGet(this, _MockMediaStreamTrack_settings, "f").deviceId || (0, utils_1.getUUID)(), "f");
__classPrivateFieldSet(this, _MockMediaStreamTrack_kind, kind, "f");
__classPrivateFieldSet(this, _MockMediaStreamTrack_label, `mock-${kind}-stram-track`, "f");
__classPrivateFieldSet(this, _MockMediaStreamTrack_muted, false, "f");
__classPrivateFieldSet(this, _MockMediaStreamTrack_readyState, "live", "f");
__classPrivateFieldSet(this, _MockMediaStreamTrack_events, {
ended: [],
mute: [],
overconstrained: [],
unmute: [],
}, "f");
}
get contentHint() {
return __classPrivateFieldGet(this, _MockMediaStreamTrack_contentHint, "f");
}
set contentHint(val) {
__classPrivateFieldSet(this, _MockMediaStreamTrack_contentHint, val, "f");
}
get enabled() {
return __classPrivateFieldGet(this, _MockMediaStreamTrack_enabled, "f");
}
set enabled(val) {
__classPrivateFieldSet(this, _MockMediaStreamTrack_enabled, val, "f");
}
get id() {
return __classPrivateFieldGet(this, _MockMediaStreamTrack_id, "f");
}
get kind() {
return __classPrivateFieldGet(this, _MockMediaStreamTrack_kind, "f");
}
get label() {
return __classPrivateFieldGet(this, _MockMediaStreamTrack_label, "f");
}
get muted() {
return __classPrivateFieldGet(this, _MockMediaStreamTrack_muted, "f");
}
get readyState() {
return __classPrivateFieldGet(this, _MockMediaStreamTrack_readyState, "f");
}
applyConstraints(options) {
return new Promise((resolve) => {
if (options) {
switch (__classPrivateFieldGet(this, _MockMediaStreamTrack_kind, "f")) {
case "video": {
if (typeof options.video === "object")
__classPrivateFieldSet(this, _MockMediaStreamTrack_constraints, options.video, "f");
break;
}
case "audio": {
if (typeof options.audio === "object")
__classPrivateFieldSet(this, _MockMediaStreamTrack_constraints, options.audio, "f");
break;
}
}
__classPrivateFieldSet(this, _MockMediaStreamTrack_settings, factory.createMediaTrackSettings(__classPrivateFieldGet(this, _MockMediaStreamTrack_kind, "f"), __classPrivateFieldGet(this, _MockMediaStreamTrack_constraints, "f")), "f");
}
return resolve();
});
}
clone() {
return (0, utils_1.deepClone)(this);
}
getCapabilities() {
return {};
}
getSettings() {
return __classPrivateFieldGet(this, _MockMediaStreamTrack_settings, "f");
}
stop() {
__classPrivateFieldSet(this, _MockMediaStreamTrack_readyState, "ended", "f");
__classPrivateFieldSet(this, _MockMediaStreamTrack_enabled, false, "f");
}
addEventListener(type, callback, options) {
if (callback)
__classPrivateFieldGet(this, _MockMediaStreamTrack_events, "f")[type].push(callback);
if (options)
console.log(options);
}
dispatchEvent(event) {
let callbacks;
switch (event.type) {
case "ended":
callbacks = __classPrivateFieldGet(this, _MockMediaStreamTrack_events, "f").ended;
break;
case "mute":
callbacks = __classPrivateFieldGet(this, _MockMediaStreamTrack_events, "f").mute;
break;
case "overconstrained":
callbacks = __classPrivateFieldGet(this, _MockMediaStreamTrack_events, "f").overconstrained;
break;
case "unmute":
callbacks = __classPrivateFieldGet(this, _MockMediaStreamTrack_events, "f").unmute;
break;
default:
callbacks = undefined;
break;
}
if (callbacks) {
callbacks.map((callback) => {
if (typeof callback === "function") {
callback(event);
}
else {
const obj = callback;
obj.handleEvent(event);
}
});
return true;
}
return false;
}
removeEventListener(type, callback, options) {
const ary = __classPrivateFieldGet(this, _MockMediaStreamTrack_events, "f")[type].filter((cb) => cb !== callback);
__classPrivateFieldGet(this, _MockMediaStreamTrack_events, "f")[type] = ary;
if (options)
console.log(options);
}
}
exports.MockMediaStreamTrack = MockMediaStreamTrack;
_MockMediaStreamTrack_contentHint = new WeakMap(), _MockMediaStreamTrack_enabled = new WeakMap(), _MockMediaStreamTrack_id = new WeakMap(), _MockMediaStreamTrack_kind = new WeakMap(), _MockMediaStreamTrack_label = new WeakMap(), _MockMediaStreamTrack_muted = new WeakMap(), _MockMediaStreamTrack_readyState = new WeakMap(), _MockMediaStreamTrack_constraints = new WeakMap(), _MockMediaStreamTrack_settings = new WeakMap(), _MockMediaStreamTrack_events = new WeakMap();