Type Alias OverrideField<Fields, Name, Builder>

OverrideField: Fields extends [infer First, ...(infer Rest)]
    ? First extends { name: Name }
        ? [{ builder: Builder; name: Name; offset: number }, ...Rest]
        : Rest extends Field[]
            ? [First, ...OverrideField<Rest, Name, Builder>]
            : never
    : never

Type Parameters