UNPKG

sharec-schema

Version:

Utilities for configuration files merge

28 lines (21 loc) 723 B
// @ts-check const flow = require('lodash.flow') const { trimEOF, linesToLists } = require('../helpers') const listMergeAtom = require('./listMerge') const primitiveAtom = require('./primitive') /** * @typedef {import('../').SchemaParams<string>} SchemaLinesParams */ /** * Creates list of unique values from lists-params * @param {SchemaLinesParams} params * @returns {string} */ function linesMergeAtom(params) { const { current, upcoming } = params if (current === undefined && upcoming) return upcoming if (current && upcoming === undefined) return current const result = listMergeAtom(primitiveAtom)(flow(trimEOF, linesToLists)(params)) return result.join('\n') } module.exports = linesMergeAtom