chayns-components
Version:
A set of beautiful React components for developing chayns® applications.
40 lines (38 loc) • 1.22 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = loadOptionalDependency;
var _loadScript = _interopRequireDefault(require("./loadScript"));
var _loadStyle = _interopRequireDefault(require("./loadStyle"));
function loadOptionalDependency(module, windowModule, jsArray, cssArray, returnPromise) {
if (returnPromise === void 0) {
returnPromise = true;
}
let emojione = null;
try {
// eslint-disable-next-line global-require,import/no-dynamic-require
emojione = require(module);
} catch (ex) {
emojione = window[windowModule];
}
if (emojione) {
if (returnPromise) {
return Promise.resolve(emojione);
}
return emojione;
}
const loadArray = [];
if (!emojione) {
for (let i = 0, z = jsArray.length; i < z; i += 1) {
loadArray.push((0, _loadScript.default)(jsArray[i], jsArray[i]));
}
for (let i = 0, z = cssArray.length; i < z; i += 1) {
loadArray.push((0, _loadStyle.default)(cssArray[i], cssArray[i]));
}
}
if (returnPromise) {
return Promise.all(loadArray);
}
return emojione;
}
//# sourceMappingURL=loadOptionalDependency.js.map