infinity-forge
Version:
60 lines • 2.23 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getParams = getParams;
//@ts-nocheck
var utils_1 = require("./utils.js");
var params_list_1 = require("./params-list.js");
var defaults_1 = __importDefault(require("../core/defaults.js"));
function getParams(obj, splitEvents) {
if (obj === void 0) { obj = {}; }
if (splitEvents === void 0) { splitEvents = true; }
var params = {
on: {},
};
var events = {};
var passedParams = {};
(0, utils_1.extend)(params, defaults_1.default);
params._emitClasses = true;
params.init = false;
var rest = {};
var allowedParams = params_list_1.paramsList.map(function (key) { return key.replace(/_/, ''); });
var plainObj = Object.assign({}, obj);
Object.keys(plainObj).forEach(function (key) {
if (typeof obj[key] === 'undefined')
return;
if (allowedParams.indexOf(key) >= 0) {
if ((0, utils_1.isObject)(obj[key])) {
params[key] = {};
passedParams[key] = {};
(0, utils_1.extend)(params[key], obj[key]);
(0, utils_1.extend)(passedParams[key], obj[key]);
}
else {
params[key] = obj[key];
passedParams[key] = obj[key];
}
}
else if (key.search(/on[A-Z]/) === 0 && typeof obj[key] === 'function') {
if (splitEvents) {
events["".concat(key[2].toLowerCase()).concat(key.substr(3))] = obj[key];
}
else {
params.on["".concat(key[2].toLowerCase()).concat(key.substr(3))] = obj[key];
}
}
else {
rest[key] = obj[key];
}
});
['navigation', 'pagination', 'scrollbar'].forEach(function (key) {
if (params[key] === true)
params[key] = {};
if (params[key] === false)
delete params[key];
});
return { params: params, passedParams: passedParams, rest: rest, events: events };
}
//# sourceMappingURL=get-params.js.map