@redwoodjs-stripe/api
Version:
API-side code for RedwoodJS-Stripe projects
33 lines (32 loc) • 720 B
JavaScript
import { rejectNils } from "./rejectNils";
const omitNilsObj = (inputs) => {
const results = {};
const keys = Object.keys(inputs);
let isEmpty = true;
for (const key of keys) {
const value = inputs[key];
if (value != null) {
const result = deepOmitNils(value);
if (result != null) {
results[key] = result;
isEmpty = false;
}
}
}
return isEmpty && keys.length > 0 ? null : results;
};
const deepOmitNils = (input) => {
if (input == null) {
return void 0;
}
if (Array.isArray(input)) {
return rejectNils(input.map(deepOmitNils));
}
if (typeof input === "object") {
return omitNilsObj(input);
}
return input;
};
export {
deepOmitNils
};