dsl-toolkit/dsl-toolkit

View on GitHub
packages/dsl-framework/src/core/command-parser/get-more-kind.js

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
/* eslint-disable block-spacing */
/* eslint-disable brace-style */

const getArrayData = require('../lib/get-array-data')
const { extractCallbackData } = require('./extractCallbackData')

module.exports = (baseObject) => {
  return (kind) => function () {
    const commands = getArrayData(arguments)

    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)})}}