|
@@ -555,7 +555,7 @@ export namespace ParamDefinition {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
- function normalizeParam(p: Any, value: any, defaultIfUndefined: boolean, prune: boolean): any {
|
|
|
+ function normalizeParam(p: Any, value: any, defaultIfUndefined: boolean): any {
|
|
|
if (value === void 0 || value === null) {
|
|
|
return defaultIfUndefined ? p.defaultValue : void 0;
|
|
|
}
|
|
@@ -568,13 +568,13 @@ export namespace ParamDefinition {
|
|
|
if (p.type === 'value') {
|
|
|
return value;
|
|
|
} else if (p.type === 'group') {
|
|
|
- const ret = prune ? Object.create(null) : { ...value };
|
|
|
+ const ret = Object.create(null);
|
|
|
for (const key of Object.keys(p.params)) {
|
|
|
const param = p.params[key];
|
|
|
if (value[key] === void 0) {
|
|
|
if (defaultIfUndefined) ret[key] = param.defaultValue;
|
|
|
} else {
|
|
|
- ret[key] = normalizeParam(param, value[key], defaultIfUndefined, prune);
|
|
|
+ ret[key] = normalizeParam(param, value[key], defaultIfUndefined);
|
|
|
}
|
|
|
}
|
|
|
return ret;
|
|
@@ -594,7 +594,7 @@ export namespace ParamDefinition {
|
|
|
const param = p.map(v.name);
|
|
|
return {
|
|
|
name: v.name,
|
|
|
- params: normalizeParam(param, v.params, defaultIfUndefined, prune)
|
|
|
+ params: normalizeParam(param, v.params, defaultIfUndefined)
|
|
|
};
|
|
|
} else if (p.type === 'select') {
|
|
|
if (!selectHasOption(p, value)) return p.defaultValue;
|
|
@@ -606,7 +606,7 @@ export namespace ParamDefinition {
|
|
|
return ret;
|
|
|
} else if (p.type === 'object-list') {
|
|
|
if (!Array.isArray(value)) return p.defaultValue;
|
|
|
- return value.map(v => normalizeParams(p.element, v, defaultIfUndefined ? 'all' : 'skip', prune));
|
|
|
+ return value.map(v => normalizeParams(p.element, v, defaultIfUndefined ? 'all' : 'skip'));
|
|
|
}
|
|
|
|
|
|
// TODO: validate/normalize all param types "properly"??
|
|
@@ -614,18 +614,18 @@ export namespace ParamDefinition {
|
|
|
return value;
|
|
|
}
|
|
|
|
|
|
- export function normalizeParams(p: Params, value: any, defaultIfUndefined: 'all' | 'children' | 'skip', prune: boolean) {
|
|
|
+ export function normalizeParams(p: Params, value: any, defaultIfUndefined: 'all' | 'children' | 'skip') {
|
|
|
if (typeof value !== 'object' || value === null) {
|
|
|
return defaultIfUndefined ? getDefaultValues(p) : value;
|
|
|
}
|
|
|
|
|
|
- const ret = prune ? Object.create(null) : { ...value };
|
|
|
+ const ret = Object.create(null);
|
|
|
for (const key of Object.keys(p)) {
|
|
|
const param = p[key];
|
|
|
if (value[key] === void 0) {
|
|
|
if (defaultIfUndefined === 'all') ret[key] = param.defaultValue;
|
|
|
} else {
|
|
|
- ret[key] = normalizeParam(param, value[key], defaultIfUndefined !== 'skip', prune);
|
|
|
+ ret[key] = normalizeParam(param, value[key], defaultIfUndefined !== 'skip');
|
|
|
}
|
|
|
}
|
|
|
return ret;
|