lowercaseMapKeys()

in functions/src/project.ts [428:451]


  lowercaseMapKeys(obj: any) {
    if (obj && obj.constructor === Array) {
      // Array, convert each member
      const newArr: any[] = [];
      obj.forEach((item: any) => {
        newArr.push(this.lowercaseMapKeys(item));
      });

      return newArr;
    } else if (obj && obj.constructor === Object) {
      // JSON object, convert each member.
      const newObj: any = {};
      Object.keys(obj).forEach((key: string) => {
        const val = obj[key];
        const lowerKey = key.toLowerCase();

        newObj[lowerKey] = this.lowercaseMapKeys(val);
      });

      return newObj;
    }

    return obj;
  }