in lib/apiScenario/dataMasker.ts [79:107]
public maskObject(obj: any, addMaskedValue = false): any {
const mask = (obj: any) => {
for (const k in obj) {
if (obj.hasOwnProperty(k) && obj[k] !== null) {
if (obj[k].constructor === Object) {
mask(obj[k]);
} else if (obj[k].constructor === Array) {
mask(obj[k]);
} else if (typeof obj[k] === "string") {
if (this.maybeSecretKey(k)) {
if (addMaskedValue) {
this.maskValues.push(obj[k]);
}
obj[k] = this.opts.maskValue(obj[k]);
}
if (this.maybeSecretValue(obj[k])) {
if (addMaskedValue) {
this.maskValues.push(obj[k]);
}
obj[k] = this.opts.maskValue(obj[k]);
}
}
}
}
};
const ret = cloneDeep(obj);
mask(ret);
return ret;
}