UNPKG

@proofkit/fmdapi

Version:
20 lines (19 loc) 741 B
import { S, L, U } from 'ts-toolbelt'; type TransformedFields<T extends Record<string, any>> = U.Merge<{ [Field in keyof T]: { [Key in Field extends string ? L.Last<S.Split<Field, "::">> : Field]: T[Field]; }; }[keyof T]>; export declare function removeFMTableNames<T extends Record<string, any>>(obj: T): TransformedFields<T>; export type InferZodPortals<T extends Record<string, any>> = { [K in keyof T]: T[K] extends { _def: any; parse: (...args: any[]) => any; } ? ReturnType<T[K]["parse"]> : T[K] extends { _def: any; safeParse: (...args: any[]) => any; } ? T[K] extends { parse: (...args: any[]) => any; } ? ReturnType<T[K]["parse"]> : any : never; }; export {};