Skip to main content

FormControlsProxy

type FormControlsProxy<T> = { [K in keyof T]-?: NonNullable<T[K]> extends ReadonlyArray<infer U> ? IsGroupObject<U> extends true ? FormArrayProxy<U & object> : FieldNode<T[K]> : IsGroupObject<NonNullable<T[K]>> extends true ? FormProxy<NonNullable<T[K]>> : FieldNode<T[K]> };

Defined in: core/types/form-proxy.ts:76

Мапит тип модели данных T на правильные типы узлов формы

Рекурсивно определяет типы узлов на основе структуры данных:

  • T[K] extends Array<infer U> где U - объект → FormArrayProxy<U>
  • T[K] extends Array<infer U> где U - примитив → FieldNode<T[K]> (массив как обычное поле)
  • T[K] extends objectFormProxy<T[K]> (вложенная форма с типизацией)
  • T[K] примитив → FieldNode<T[K]> (простое поле)

Использует NonNullable для правильной обработки опциональных полей

Type Parameters

T

T

Тип модели данных формы