'use strict'; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } /** * Licensed Materials - Property of IBM * IBM Cognos Products: BI Cloud (C) Copyright IBM Corp. 2014, 2019 * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ define(['underscore', './YoutubeVideoLoader', './EmbedMediaLoader'], function (_, YoutubeVideoLoader, EmbedMediaLoader) { var loaders = [new YoutubeVideoLoader('youtube'), new EmbedMediaLoader('embedMedia')]; var loaderMap = {}; _.each(loaders, function (loader) { loaderMap[loader.type] = loader; }); var MediaResolver = function () { function MediaResolver() { _classCallCheck(this, MediaResolver); } MediaResolver.loadFromUrl = function loadFromUrl(url) { var media = null; _.find(loaders, function (loader) { media = loader.tryToLoad(url); return media; }); return media; }; MediaResolver.loadFromModel = function loadFromModel(model) { if (model.mediaType && loaderMap[model.mediaType]) { return loaderMap[model.mediaType].tryToLoad(model.mediaLink); } else { return MediaResolver.loadFromUrl(model.mediaLink); } }; return MediaResolver; }(); return MediaResolver; }); //# sourceMappingURL=MediaResolver.js.map