Size: a a a

TypeScript — русскоговорящее сообщество

2020 April 22

ВВ

Вячеслав Волков in TypeScript — русскоговорящее сообщество
И вот ошибка какая - Type '{ required: boolean; type: StringConstructor; }' is not assignable to type 'SchemaTypeOpts<unknown> & { required: true; }'.   Type '{ required: boolean; type: StringConstructor; }' is not assignable to type '{ required: true; }'.     Types of property 'required' are incompatible.       Type 'boolean' is not assignable to type 'true’.
источник

ВВ

Вячеслав Волков in TypeScript — русскоговорящее сообщество
источник

ВВ

Вячеслав Волков in TypeScript — русскоговорящее сообщество
Залил в сэндбокс, чтобы понятно было в чем трабл
источник

VK

Vladimir Kurchatkin in TypeScript — русскоговорящее сообщество
Вячеслав Волков
Залил в сэндбокс, чтобы понятно было в чем трабл
Замени true на true as const
источник

ВВ

Вячеслав Волков in TypeScript — русскоговорящее сообщество
Vladimir Kurchatkin
Замени true на true as const
ну так это мне каждый раз придется писать as const, как-то хотелось бы избежать этого
источник

VK

Vladimir Kurchatkin in TypeScript — русскоговорящее сообщество
Вообще конечно странный код какой-то. Если у атрибута required false, то его тип можно не указывать в схеме? Похоже на бред
источник

ВВ

Вячеслав Волков in TypeScript — русскоговорящее сообщество
Vladimir Kurchatkin
Вообще конечно странный код какой-то. Если у атрибута required false, то его тип можно не указывать в схеме? Похоже на бред
нет) вы как-то не так его поняли. не забывайте что конечный результат еще может эксендиться, там как раз есть указания на тип
источник

AB

Artyom Burkan in TypeScript — русскоговорящее сообщество
Вячеслав Волков
Залил в сэндбокс, чтобы понятно было в чем трабл
Первый раз вижу такую, типизацию, что хочется без неё))
источник

ВВ

Вячеслав Волков in TypeScript — русскоговорящее сообщество
Artyom Burkan
Первый раз вижу такую, типизацию, что хочется без неё))
что с ней не так?
источник

AB

Artyom Burkan in TypeScript — русскоговорящее сообщество
Вячеслав Волков
что с ней не так?
Я вообще не понимаю, что там написано.
Пытаюсь понять:

type IsRequired<T> = Extract<T, null> extends undefined ? true : false;
Extract<T, null> должен расширять false? Это вообще как?
источник

ВВ

Вячеслав Волков in TypeScript — русскоговорящее сообщество
Эта часть проверяет на то, есть ли null в типе T
источник

AB

Artyom Burkan in TypeScript — русскоговорящее сообщество
Вячеслав Волков
что с ней не так?
Её вообще не возможно прочитать
источник

ВВ

Вячеслав Волков in TypeScript — русскоговорящее сообщество
Неужели каждую типизацию можно написать так, что ее любой с ходу прочитает?
источник

ВВ

Вячеслав Волков in TypeScript — русскоговорящее сообщество
допустим я переименую тип IsRequired на CantBeNullable. Я не слишком силен в ts, пытался понять как можно узнать что объект может быть null (не undefined)
источник

AB

Artyom Burkan in TypeScript — русскоговорящее сообщество
Вячеслав Волков
Неужели каждую типизацию можно написать так, что ее любой с ходу прочитает?
Да
источник

ВВ

Вячеслав Волков in TypeScript — русскоговорящее сообщество
без помощи комментариев?
источник

AB

Artyom Burkan in TypeScript — русскоговорящее сообщество
Вячеслав Волков
без помощи комментариев?
ЕслиПравильноИменноватьПеременныеТоКомментарииНужныРедко
источник

VM

Vasiliy Mazhekin in TypeScript — русскоговорящее сообщество
Вячеслав Волков
Неужели каждую типизацию можно написать так, что ее любой с ходу прочитает?
также как обычный текст, можно написать так что ничего не понятно, и можно писать так чтобы поняли
источник

AB

Artyom Burkan in TypeScript — русскоговорящее сообщество
Вячеслав Волков
без помощи комментариев?
type IsRequired<T> = Extract<T, null> extends undefined ? true : false;

Как эта конструкция называется? Первый раз вижу
источник

E

Evgen in TypeScript — русскоговорящее сообщество
Вячеслав Волков
Неужели каждую типизацию можно написать так, что ее любой с ходу прочитает?
Я бы сказал НУЖНО
источник