Вопросы по теме 'mapped-types'

Машинопись: сопоставленный тип с модификаторами свойств исключения изменений
При использовании сопоставленного типа «Минус», похоже, удаляются модификаторы из свойств. Я думаю, что это вызвано типом исключения, но я не уверен, почему. Я ожидал, что Минус просто удалит ключи U из T без изменения модификаторов свойств T....
279 просмотров
schedule 19.09.2021

По заданному дискриминанту получить тип свойства для соответствующего члена дискриминируемого объединения
У меня есть следующий размеченный союз, где свойство id приобретает другой тип в зависимости от значения дискриминанта: type TableKind = 'administration' | 'data' type AdministrationTableId = 'Modules' | 'Users' | 'Roles' type DataTableId =...
26 просмотров

Определение типа для свойств объекта, которые являются строками. Различия между универсальными и явными типами
Ссылка на игровую площадку Я хочу определить функцию searchText , которая принимает массив объектов, которые необходимо отфильтровать, массив свойств объекта, по которым будет выполняться поиск, и строковое значение, которое будет искать. В...
31 просмотров

Как в TypeScript получить ключи типа объекта, значения которого относятся к данному типу?
Я пытался создать тип, состоящий из ключей типа T , значения которых являются строками. В псевдокоде это будет keyof T where T[P] is a string . Единственный способ, которым я могу это сделать, - это два шага: // a mapped type that filters...
12259 просмотров

Условно подать заявку? модификатор в сопоставленном типе для каждого свойства
Из документов 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 просмотров

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 просмотров

Общие данные по ключу объекта
Это код, который у меня есть: 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 просмотров

Пропустить свойство только для чтения при типе сопоставления
Я не могу найти способ отказаться от реквизита только для чтения при сопоставлении типа с другим. Сценарий: type SimplePOJO = { first_name: string; readonly last_name: string; year: number; } type Mapper<T extends SimplePOJO> =...
79 просмотров
schedule 04.02.2024