UNPKG

create-nx-workspace

Version:

Smart Repos · Fast Builds

36 lines (35 loc) 1.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.unparse = unparse; const flat_1 = require("flat"); function unparse(options) { const unparsed = []; for (const key of Object.keys(options)) { const value = options[key]; unparseOption(key, value, unparsed); } return unparsed; } function unparseOption(key, value, unparsed) { if (value === true) { unparsed.push(`--${key}`); } else if (value === false) { unparsed.push(`--no-${key}`); } else if (Array.isArray(value)) { value.forEach((item) => unparseOption(key, item, unparsed)); } else if (Object.prototype.toString.call(value) === '[object Object]') { const flattened = (0, flat_1.flatten)(value, { safe: true }); for (const flattenedKey in flattened) { unparseOption(`${key}.${flattenedKey}`, flattened[flattenedKey], unparsed); } } else if (typeof value === 'string' && value.includes(' ')) { unparsed.push(`--${key}="${value}"`); } else if (value != null) { unparsed.push(`--${key}=${value}`); } }