UNPKG

playable

Version:

Video player based on HTML5Video

45 lines 2.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.create = exports.clearPlaybackAdapters = exports.clearAdditionalModules = exports.registerPlaybackAdapter = exports.registerModule = exports.container = void 0; var tslib_1 = require("tslib"); var dependency_container_1 = (0, tslib_1.__importDefault)(require("./dependency-container")); var player_facade_1 = (0, tslib_1.__importDefault)(require("./player-facade")); var default_modules_1 = (0, tslib_1.__importDefault)(require("./default-modules")); var default_set_1 = (0, tslib_1.__importDefault)(require("../modules/playback-engine/output/native/adapters/default-set")); var additionalModules = {}; var playbackAdapters = (0, tslib_1.__spreadArray)([], default_set_1.default, true); exports.container = dependency_container_1.default.createContainer(); exports.container.register(default_modules_1.default); var defaultModulesNames = Object.keys(default_modules_1.default); function registerModule(id, module) { additionalModules[id] = module; } exports.registerModule = registerModule; function registerPlaybackAdapter(adapter) { playbackAdapters.push(adapter); } exports.registerPlaybackAdapter = registerPlaybackAdapter; function clearAdditionalModules() { additionalModules = {}; } exports.clearAdditionalModules = clearAdditionalModules; function clearPlaybackAdapters() { playbackAdapters = (0, tslib_1.__spreadArray)([], default_set_1.default, true); } exports.clearPlaybackAdapters = clearPlaybackAdapters; function create(params, themeConfig) { if (params === void 0) { params = {}; } var scope = exports.container.createScope(); var additionalModuleNames = Object.keys(additionalModules); if (additionalModuleNames.length) { additionalModuleNames.forEach(function (moduleName) { return scope.registerClass(moduleName, additionalModules[moduleName], { lifetime: dependency_container_1.default.Lifetime.SCOPED, }); }); } scope.registerValue('availablePlaybackAdapters', playbackAdapters); return new player_facade_1.default(params, scope, defaultModulesNames, additionalModuleNames, themeConfig); } exports.create = create; //# sourceMappingURL=player-factory.js.map