Вопросы по теме 'mapped-types'
Машинопись: сопоставленный тип с модификаторами свойств исключения изменений
При использовании сопоставленного типа «Минус», похоже, удаляются модификаторы из свойств. Я думаю, что это вызвано типом исключения, но я не уверен, почему.
Я ожидал, что Минус просто удалит ключи U из T без изменения модификаторов свойств T....
279 просмотров
schedule
19.09.2021
По заданному дискриминанту получить тип свойства для соответствующего члена дискриминируемого объединения
У меня есть следующий размеченный союз, где свойство id приобретает другой тип в зависимости от значения дискриминанта:
type TableKind = 'administration' | 'data'
type AdministrationTableId = 'Modules' | 'Users' | 'Roles'
type DataTableId =...
26 просмотров
schedule
15.09.2021
Определение типа для свойств объекта, которые являются строками. Различия между универсальными и явными типами
Ссылка на игровую площадку
Я хочу определить функцию searchText , которая принимает массив объектов, которые необходимо отфильтровать, массив свойств объекта, по которым будет выполняться поиск, и строковое значение, которое будет искать. В...
31 просмотров
schedule
11.03.2022
Как в TypeScript получить ключи типа объекта, значения которого относятся к данному типу?
Я пытался создать тип, состоящий из ключей типа T , значения которых являются строками. В псевдокоде это будет keyof T where T[P] is a string .
Единственный способ, которым я могу это сделать, - это два шага:
// a mapped type that filters...
12259 просмотров
schedule
22.05.2022
Условно подать заявку? модификатор в сопоставленном типе для каждого свойства
Из документов TypeScript:
// Removes 'optional' attributes from a type's properties
type Concrete<Type> = {
[Property in keyof Type]-?: Type[Property];
};
type MaybeUser = {
id: string;
name?: string;
age?: number;
};
Я знаю, что...
36 просмотров
schedule
29.05.2022
Сопоставленные типы: удаление необязательного модификатора
Учитывая этот код:
interface Foo{
one?: string;
two?: string;
}
type Foo2 = {
[P in keyof Foo]: number;
}
Я ожидал бы, что тип Foo2 будет { one: number; two: number; } Однако вместо этого, похоже, сохраняется необязательный...
4831 просмотров
schedule
04.06.2022
Вывод общего типа «этот»
Следуя этому вопросу, теперь я пытаюсь создать функции с явным этот параметр типа, расширяющего интерфейс IModel :
// interface for Model class
interface IModel {
state: {}
}
// based on answer to this question...
46 просмотров
schedule
10.08.2022
Интерфейс не может расширить сопоставленный тип в условном типе
While debugging my program, I noticed that the following example yields a compile error ( детская площадка ).
type Foo = {key: string};
interface Bar {key: string};
type Baz = Foo extends Record<string, unknown>? any: never;
type Qux = Bar...
48 просмотров
schedule
23.08.2022
Typescript: сопоставленные типы с интерфейсом
При попытке использовать сопоставленные типы с интерфейсом я получаю странную ошибку, которая заставляет меня думать, что их вообще невозможно использовать вместе.
См. идентичные объявления типов и интерфейсов:
type AllWorks<T> = {
[K...
1724 просмотров
schedule
03.10.2022
Типы TypeScript
Я борюсь с тем, как сильно напечатать некоторые функции с помощью TypeScript.
По сути, у меня есть функция, которая принимает карту ключ / значение DataProviders и возвращает карту ключ / значение данных, возвращаемых от каждого. Вот упрощенная...
1450 просмотров
schedule
22.07.2023
Можно ли сопоставить тип записи с типом функции, используя сопоставленные условные типы?
Учитывая следующий тип в Typescript
type MyType = {
foo: int,
bar: string
}
могу ли я определить сопоставление (предпочтительно с использованием сопоставленных условных типов), чтобы получить
type MyTypeFn = (foo: int, bar:...
130 просмотров
schedule
04.07.2023
Создание типа обработчика динамических событий
Я хочу, чтобы все, что расширяет мой класс компонентов, могло иметь обработчики событий с проверкой типа, используя имя метода для определения типа обрабатываемого события.
class UIEvent { }
class MouseInput extends UIEvent { }
class KeyboardInput...
97 просмотров
schedule
18.09.2023
Как мы можем сделать аргумент необязательным, только если сопоставленный с ним тип не определен?
Например, если у нас есть следующий код,
type Events = {
SOME_EVENT: number
OTHER_EVENT: string
ANOTHER_EVENT: undefined
}
interface EventEmitter<EventTypes> {
on<K extends keyof EventTypes>(s: K, listener: (v:...
53 просмотров
schedule
04.04.2023
Общие данные по ключу объекта
Это код, который у меня есть:
type Bucket = {
[key:string]:Map<string,{data:any}>
}
Теперь я пытаюсь создать type , который позволил бы мне иметь custom данные по ключам. Как вы можете видеть в приведенном ниже коде, я бы очень...
59 просмотров
schedule
29.10.2022
Применить ReturnType к типу объединения
TypeScript не может использовать ReturnType для типов объединения?
type NumberParser = (input: string) => number | DiplomacyError;
type StringParser = (input: string) => string | DiplomacyError;
type Parser = NumberParser | StringParser;...
43 просмотров
schedule
19.01.2023
Пропустить свойство только для чтения при типе сопоставления
Я не могу найти способ отказаться от реквизита только для чтения при сопоставлении типа с другим.
Сценарий:
type SimplePOJO = {
first_name: string;
readonly last_name: string;
year: number;
}
type Mapper<T extends SimplePOJO> =...
79 просмотров
schedule
04.02.2024