Skip to main content

FormNodeControls

type FormNodeControls<T> = { [K in keyof T]: NonNullable<T[K]> extends (infer U)[] ? U extends FormFields ? ArrayNodeWithControls<U> : FieldNode<T[K]> : NonNullable<T[K]> extends FormFields ? NonNullable<T[K]> extends Date | File | Blob ? FieldNode<T[K]> : GroupNodeWithControls<NonNullable<T[K]>> : FieldNode<T[K]> };

Defined in: core/types/group-node-proxy.ts:58

ΠœΠ°ΠΏΠΈΡ‚ Ρ‚ΠΈΠΏ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… T Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΡƒΠ·Π»ΠΎΠ² Ρ„ΠΎΡ€ΠΌΡ‹

РСкурсивно опрСдСляСт Ρ‚ΠΈΠΏΡ‹ ΡƒΠ·Π»ΠΎΠ² Π½Π° основС структуры Π΄Π°Π½Π½Ρ‹Ρ…:

  • T[K] extends Array<infer U> Π³Π΄Π΅ U - ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β†’ ArrayNodeWithControls<U>
  • T[K] extends Array<infer U> Π³Π΄Π΅ U - ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ² β†’ FieldNode<T[K]> (массив ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅)
  • T[K] extends object β†’ GroupNodeWithControls<T[K]> (влоТСнная Ρ„ΠΎΡ€ΠΌΠ° с Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ)
  • T[K] ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ² β†’ FieldNode<T[K]> (простоС ΠΏΠΎΠ»Π΅)

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ NonNullable для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ

Type Parameters​

T​

T

Π’ΠΈΠΏ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΡ‹