Вопросы по теме 'typeguards'

Машинопись Type Guards и функция жирной стрелки
Разве это не должно правильно компилироваться? Я получаю ошибку "Property 'hello' does not exist on type 'object'. "в выделенной строке. Я могу без проблем получить доступ к g.hello вне функции жирной стрелки. class Test {...
278 просмотров
schedule 28.11.2022

Typeguard для универсального типа объединения
Я создал тип объединения: type RequestParameterType = number | string | boolean | Array<number>; и у меня есть класс, который представляет собой пару ключ / значение, содержащую этот тип объединения: class RequestParameter {...
84 просмотров
schedule 04.05.2022

Предикаты типов в TypeScript
Это недостаток функции в TypeScript или что-то хорошо продуманное, что компилятор TS не может вывести (а затем сузить) тип аргумента, если логика условия заключена в отдельную функцию? Я имею в виду, что в этом случае компилятор TS выдает мне ошибку:...
970 просмотров
schedule 17.02.2023

Создание защиты типа для интерфейса со всеми необязательными свойствами
У меня есть функция makeMergedState , которая принимает либо объект, либо массив типа ICustomState . Функции содержат условные операторы в зависимости от того, является ли вход допустимым ICustomState или ICustomState []. В случае, если ввод...
1740 просмотров
schedule 19.06.2022

Как добавить охранников расширений к условным типам? Или эквивалент
Скажем, у меня есть класс с универсальным параметром. У него есть условные типы для некоторых свойств класса. Эти условные типы зависят от универсального параметра, являющегося одним из двух возможных значений перечисления. В конструкторе я передаю...
193 просмотров

Type Guard Typescript неправильно определяет параметры остальных функций
У меня есть пример Typescript с параметрами type guard и function rest: interface BaseProps { username: string; password: string; } type Props = BaseProps & ( | {isAdmin: true, adminName: string} | {isAdmin: false} ) // Doesn't...
55 просмотров
schedule 05.11.2022

Как связать типы предикатов этих типов с типами их параметров?
Вот чего я хочу добиться: function isString<T>( value: T ): value is T extends string ? T : string { return typeof value === "string"; } function isNotString<T>( value: T ): T extends string ? unknown : T { return...
74 просмотров

Почему в этом примере не работает защита типов машинописного текста?
Мой пример - это следующий код: type SomeType = { name: string, age: number, } | { xy: [number, number] } function someFunction(arg: SomeType) { if (arg.name && arg.age) { // DO STH } else if (arg.xy) {...
23 просмотров
schedule 28.07.2022