Type alias ObjectToSnake<T>
ObjectToSnake<T>: T extends undefined ? undefined : T extends null ? null : T extends (infer ArrayType)[] ? ArrayType extends object ? ObjectToSnake<ArrayType>[] : ArrayType[] : T extends Buffer ? Buffer : { [K in keyof T as ToSnake<K>]: T[K] extends (infer ArrayType)[] | undefined | null ? ArrayType extends object ? ObjectToSnake<ArrayType>[] : ArrayType[] : T[K] extends object | undefined | null ? ObjectToSnake<T[K]> : T[K] }
Type Parameters
-
T extends object | undefined | null