playable
Version:
Video player based on HTML5Video
42 lines • 1.94 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.resetProperty = exports.setProperty = void 0;
var tslib_1 = require("tslib");
var player_factory_1 = require("../core/player-factory");
var dependency_container_1 = (0, tslib_1.__importDefault)(require("../core/dependency-container"));
var asClass = dependency_container_1.default.asClass;
function setProperty(target, propertyKey, propertyValue) {
Reflect.defineProperty(target, propertyKey, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, Reflect.getOwnPropertyDescriptor(target.constructor.prototype, propertyKey)), { get: function () { return propertyValue; } }));
}
exports.setProperty = setProperty;
function resetProperty(target, propertyKey) {
Reflect.deleteProperty(target, propertyKey);
}
exports.resetProperty = resetProperty;
function createPlayerTestkit(config, adapters) {
if (config === void 0) { config = {}; }
if (adapters === void 0) { adapters = []; }
var scope = player_factory_1.container.createScope();
scope.registerValue('config', config);
scope.registerValue('themeConfig', null);
scope.registerValue('availablePlaybackAdapters', (0, tslib_1.__spreadArray)([], adapters, true));
return {
getModule: function (name) {
return scope.resolve(name);
},
registerModule: function (name, fn) {
scope.register(name, asClass(fn));
},
registerModuleAsSingleton: function (name, fn) {
scope.register(name, asClass(fn).scoped());
},
setConfig: function (newConfig) {
scope.registerValue('config', (0, tslib_1.__assign)({}, newConfig));
},
setPlaybackAdapters: function (newAdapters) {
scope.registerValue('availablePlaybackAdapters', (0, tslib_1.__spreadArray)([], newAdapters, true));
},
};
}
exports.default = createPlayerTestkit;
//# sourceMappingURL=index.js.map