Перейти к основному содержимому

ModelValue

type ModelValue<V> = IncludesNull<V> extends true ? V : NonNullable<V> extends ReadonlyArray<infer U> ? ModelArray<U> : NonNullable<V> extends Opaque ? V : NonNullable<V> extends object ? FormModel<NonNullable<V>> : V;

Defined in: model/types.ts:102

Значение поля в value-доступе модели:

  • массив → ModelArray
  • спец-объект (Date/File/Blob) → как есть
  • объект → под-модель FormModel (value-доступ + .$-сигналы + API get/set/patch/…); промоутится рантаймом (makeFormModel); сигналы идентичны model.$.<path>
  • примитив → значение
  • тип с null (File[] | null, Address | null) → значение как есть, без фасада: поле, которое бывает null, начинают с null, а такое поле в рантайме — лист (значение целиком). Контейнер, созданный из [] или {}, стал бы фасадом — nullable-контейнер начинают с null.

Type Parameters​

V​

V