public maskObject()

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;
  }