@redwoodjs-stripe/api
Version:
API-side code for RedwoodJS-Stripe projects
9 lines (8 loc) • 533 B
TypeScript
import type { NonNil } from "./omitNils";
export type DeepOmitNilsObj<Inputs> = {
[K in keyof Inputs]: DeepOmitNilsProp<Inputs[K]>;
};
type DeepOmitNilsProp<Value> = Value extends null ? undefined : Value extends undefined ? undefined : DeepOmitNils<Value>;
export type DeepOmitNils<Input> = Input extends Array<infer Item> ? Array<NonNil<DeepOmitNils<Item>>> : Input extends object ? DeepOmitNilsObj<Input> : NonNil<Input>;
export declare const deepOmitNils: <Input>(input: Input) => undefined | DeepOmitNils<Input>;
export {};