dsl-framework
Version:
Easy function chaining.
27 lines (26 loc) • 844 B
JavaScript
import { extractCallbackData } from "././extractCallbackData.mjs";
import _libGetArrayDataJs from "./../lib/get-array-data.mjs";
var module = {
exports: {}
};
var exports = module.exports;
/* eslint-disable block-spacing */
/* eslint-disable brace-style */
const getArrayData = _libGetArrayDataJs;
module.exports = baseObject => {
return kind => function (...args) {
const commands = getArrayData(args);
const {
baseKindArguments,
trueCaseFunction,
falseCaseFunction
} = extractCallbackData(...commands);
return baseKindArguments.map(command => {
const actualCommand = [...command];
trueCaseFunction && actualCommand.push(trueCaseFunction);
falseCaseFunction && actualCommand.push(falseCaseFunction);
return baseObject[kind](command);
});
};
};
export default module.exports;