r37r0m0d3l/vicis

View on GitHub
src/core/omit/omitData.ts

Summary

Maintainability
A
1 hr
Test Coverage
import { IObject } from "../../interface/common/IObject";
import { IOmit } from "../../interface/config/IOmit";

import { arrayIsEmpty } from "../../util/array/is/empty";

/**
 * @name omitData
 * @param {Array.<string>} propertiesToOmit
 * @param {Object} data
 * @returns {Object}
 */
export function omitData(propertiesToOmit: IOmit, data: IObject): IObject {
  if (arrayIsEmpty(propertiesToOmit)) {
    return data;
  }
  const dataToSerialize: IObject = {};
  Object.keys(data).forEach((key) => {
    if (propertiesToOmit.includes(key)) {
      return;
    }
    dataToSerialize[key] = data[key];
  });
  return dataToSerialize;
}