RequiredFieldValue<TValue>: TValue extends infer TScalarValue extends NonNullable<ScalarFieldValue>
    ? TScalarValue
    : TValue extends infer TCompositeValue extends NonNullable<CompositeFieldValue>
        ? TCompositeValue extends (infer TArrayItem)[]
            ? NonNullableRecord<TArrayItem>[]
            : NonNullableRecord<TCompositeValue>
        : never

Type Parameters