Skip to content
Snippets Groups Projects
Commit 44b3bc33 authored by Ajay Nishad's avatar Ajay Nishad
Browse files

feat: add the remove empty object keys sanitization

parent ddcee14f
No related branches found
No related tags found
No related merge requests found
......@@ -2,8 +2,12 @@ import fs from "fs";
import path from "path";
import appRootPath from 'app-root-path';
import jsonata from 'jsonata';
import { removeEmptyObjectKeys } from './utils'
export const map = (data: any, action?: string) => {
export const map = async (data: any, action?: string) => {
const expression = jsonata(fs.readFileSync(path.join(appRootPath.toString(), `/mappings/${action}.jsonata`), "utf8"));
return expression.evaluate(data);
let mapped = await expression.evaluate(data);
mapped = removeEmptyObjectKeys(mapped);
return mapped;
};
export function removeEmptyObjectKeys(obj: any) {
for (const key in obj) {
if (typeof obj[key] === 'object' && obj[key] !== null) {
removeEmptyObjectKeys(obj[key]);
if (Object.keys(obj[key]).length === 0) {
delete obj[key];
}
}
}
return obj;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment