@proofkit/fmdapi
Version:
FileMaker Data API client
20 lines (19 loc) • 741 B
TypeScript
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 {};