UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

85 lines (80 loc) 2.35 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var tslib_es6 = require('../tslib.es6-01322ba9.js'); var types = require('../types-4940caff.js'); function parseOneReplaceConfig(config) { if (typeof config === 'string') { return { sourceName: config, sourceType: types.IImportType.ImportSpecifier, targetName: config, targetType: types.IImportType.ImportSpecifier }; } if (Array.isArray(config)) { return { sourceName: config[0], sourceType: types.IImportType.ImportSpecifier, targetName: config[1] || config[0], targetType: types.IImportType.ImportSpecifier }; } return { sourceName: config.sourceName || '', sourceType: config.sourceType || types.IImportType.ImportSpecifier, targetName: config.targetName || config.sourceName || '', targetType: config.targetType || config.sourceType || types.IImportType.ImportSpecifier }; } /** * 解析替换配置 * * @param {Array<IReplaceConfig>} configList 配置列表 * @returns {array} 处理后的配置列表 * * @example * ```ts * parseReplaceConfig([{ * source: '', * target: '', * }]) * ``` */ function parseReplaceConfig(configList) { var result = configList.reduce(function (acc, item) { var importedList = item.importedList, source = item.source, target = item.target; var newSource = Array.isArray(source) ? source : [source]; var list = importedList.map(function (item) { return tslib_es6.__assign({ source: newSource, target: target }, parseOneReplaceConfig(item)); }); if (!importedList.length) { acc.push(tslib_es6.__assign(tslib_es6.__assign({}, item), { source: newSource, sourceName: 'FAKE', targetName: 'FAKE', sourceType: types.IImportType.FAKE, targetType: types.IImportType.FAKE })); } else { acc.push.apply(acc, list); } return acc; }, []); var newResult = result.reduce(function (acc, item) { var source = item.source; var list = source.map(function (sourceItem) { return tslib_es6.__assign(tslib_es6.__assign({}, item), { source: sourceItem }); }); acc.push.apply(acc, list); return acc; }, []); return newResult; } exports.parseReplaceConfig = parseReplaceConfig;