dsl-framework
Version:
Easy function chaining.
35 lines (34 loc) • 1.29 kB
JavaScript
import _parserJs from "././parser.mjs";
import _libGetArrayDataJs from "./../lib/get-array-data.mjs";
var module = {
exports: {}
};
var exports = module.exports;
/* eslint-disable block-spacing */
/* eslint-disable brace-style */
/* eslint-disable indent */
const getArrayData = _libGetArrayDataJs;
const process = parameters => (command, getProcess, defaultValue) => {
defaultValue = typeof defaultValue === 'undefined' ? false : defaultValue;
if (Array.isArray(command)) {
const commands = getArrayData(command);
return commands.map(c => process(parameters)(c, getProcess, defaultValue));
}
if (parameters) {
const doWeHaveTheCommand = parameters.command.has(command);
const returnValue = doWeHaveTheCommand ? !!parameters.command.getArguments(command) : defaultValue;
if (getProcess === 'boolean') {
return doWeHaveTheCommand;
}
if (returnValue === defaultValue) {
return returnValue;
}
const commandValue = parameters.command.get(command);
return _parserJs(commandValue, getProcess);
}
};
module.exports = exports = parameters => process(parameters);
// exports.toObject = (command, getProcess, defailtValue = false) => {
// Array.isArray(command) || (() => { command = [command] })()
// }
export default module.exports;