Skip to main content

TypeAlias.DynamicFieldsType

type DynamicFieldsType<T> = Prettify<T extends [infer F, ...(infer R extends DynamicFieldDef[])] ? F["required"] extends true ? { [K in F as F["name"]]: DynamicFieldType<F> } : { [K in F as F["name"]]?: DynamicFieldType<F> } & DynamicFieldsType<R> : object>;

Type Parameters

Type Parameter
T extends readonly DynamicFieldDef[]