All files / string trimParams.ts

94.74% Statements 18/19
87.5% Branches 14/16
100% Functions 3/3
94.44% Lines 17/18

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 341x 1x           1x 10x 1x     9x 9x 2x 3x       9x 9x 17x 17x 8x   17x 4x     9x        
import * as R from 'ramda';
import { getClass } from '../_internal/getClass';
 
interface ObjectInterface {
  [propName: string]: any
}
 
export const trimParams = (object: any): unknown => {
  if (typeof object === 'string') {
    return R.trim(object)
  }
 
  Eif (getClass(object) === 'array' || getClass(object) === 'object') {
    if (Array.isArray(object)) {
      object.forEach((newParams: any) => {
        trimParams(newParams);
      })
    }
 
    Eif (typeof object !== null) {
      Object.keys(object as ObjectInterface).map((key: string) => {
        const newValue = (object as ObjectInterface)[key];
        if (typeof newValue === 'string') {
          object[key] = R.trim(newValue);
        }
        if (getClass(newValue) === 'object' || getClass(newValue) === 'array') {
          trimParams(newValue);
        }
      });
      return object;
    }
  }
  return object;
}