export function trimAllStringInObjectOrArray()

in source/lambda/lib/utils.ts [101:134]


export function trimAllStringInObjectOrArray(obj: any) {
  if (typeof obj !== 'object') {
    throw new LambdaError({
      message: 'Invalid object',
      name: 'UtilsInvalidObject',
      statusCode: 400
    });
  }

  let trimedObject: any;
  if (!Array.isArray(obj)) {
    trimedObject = {};
  } else {
    trimedObject = [];
  }

  for (let key in obj) {
    if (typeof obj[key] === 'object') {
      trimedObject[key] = trimAllStringInObjectOrArray(obj[key]);
    } else if (typeof obj[key] === 'string') {
      const trimedStr = obj[key].trim();

      if (Array.isArray(obj)) {
        trimedObject.push(trimedStr);
      } else {
        trimedObject[key] = trimedStr;
      }
    } else {
      trimedObject[key] = obj[key];
    }
  }

  return trimedObject;
}