'use strict'; /** * Licensed Materials - Property of IBM * IBM Cognos Products: BI Cloud (C) Copyright IBM Corp. 2018 * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ define(['require'], function (require) { /** * DO NOT MOVE THIS FILE * This loader does dynamic requires based on relative paths. It must be located under dashboard-common/, * all paths it requires are relative to dashboard-common/[module] */ return { _require: require, /** * Loads a module relative to dashboard common. DONT MOVE THIS FILE * * @param {string[]} modules - array of modules to load * * @return {Promise} Promise to be resolved or rejected with the loaded modules */ load: function load(modules) { if (!Array.isArray(modules)) { throw new Error('modules must be an array'); } modules.forEach(function (element, index) { if (element.indexOf('text!') !== -1) { modules[index] = element.replace('text!', 'text!./'); } else { modules[index] = './' + element; } }); var promises = []; var deferreds = []; modules.forEach(function () { var dfd = {}; var promise = new Promise(function (resolve, reject) { dfd.resolve = resolve; dfd.reject = reject; }); deferreds.push(dfd); promises.push(promise); }); this._require(modules, function () { for (var i = 0; i < arguments.length; i++) { deferreds[i].resolve(arguments[i]); } }, function (err) { deferreds[0].reject(err); }); return Promise.all(promises); }, /** * Loads a module relative to dashboard common. DONT MOVE THIS FILE * Note: Same as calling `load` * * @param {string[]} modules - array of modules to load * * @return {Promise} Promise to be resolved or rejected with the loaded modules */ loadModules: function loadModules(modules) { return this.load(modules); } }; }); //# sourceMappingURL=DynamicFileLoader.js.map