30 lines
917 B
JavaScript
30 lines
917 B
JavaScript
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.mergeOptions = mergeOptions;
|
|
|
|
function mergeOptions(target, source) {
|
|
for (const k of Object.keys(source)) {
|
|
if (k === "parserOpts" && source.parserOpts) {
|
|
const parserOpts = source.parserOpts;
|
|
const targetObj = target.parserOpts = target.parserOpts || {};
|
|
mergeDefaultFields(targetObj, parserOpts);
|
|
} else if (k === "generatorOpts" && source.generatorOpts) {
|
|
const generatorOpts = source.generatorOpts;
|
|
const targetObj = target.generatorOpts = target.generatorOpts || {};
|
|
mergeDefaultFields(targetObj, generatorOpts);
|
|
} else {
|
|
const val = source[k];
|
|
if (val !== undefined) target[k] = val;
|
|
}
|
|
}
|
|
}
|
|
|
|
function mergeDefaultFields(target, source) {
|
|
for (const k of Object.keys(source)) {
|
|
const val = source[k];
|
|
if (val !== undefined) target[k] = val;
|
|
}
|
|
} |