Type Alias InferFieldDef<F>

InferFieldDef: F extends ArrayFieldDef
    ? InferFieldDef<F["items"]>[]
    : F extends ObjectFieldDef
        ? InferObjectSchema<F["fields"]>
        : F extends EnumFieldDef
            ? F["values"][number]
            : F extends PrimitiveFieldDef ? PrimitiveTypeMap[F["type"]] : never

Infers the TypeScript type of a single FieldDef.

Used internally by InferObjectSchema and for recursive array item inference.

Resolution order:

  1. ArrayFieldDefArray<InferFieldDef<items>>
  2. ObjectFieldDefInferObjectSchema<fields>
  3. EnumFieldDefvalues[number] (string literal union)
  4. PrimitiveFieldDefPrimitiveTypeMap[type]

Type Parameters