Вопросы по теме 'typescript-generics'

Как предоставить сервис, использующий дженерики в Angular4?
Я заметил, что в моем проекте много сервисов преобразователя , которые, несмотря на при работе с разными сущностями и репозиториями размещается один и тот же код. Поэтому я взял на себя задачу свести их к единому сервису преобразователя,...
2251 просмотров

Типизированный интерфейс общего значения ключа в машинописном тексте
У меня есть следующий пример объекта: let foo: Foo = { 'key1': { default: 'foo', fn: (val:string) => val }, 'key2': { default: 42, fn: (val:number) => val }, // this should throw an error, because type of default and fn don't match...
19100 просмотров

Как применить общий тип для внутренней функции в машинописном тексте
Я пытаюсь написать общую функцию в машинописном тексте, которая в основном выполняет фильтр из массива. Вот эквивалентная функция в javascript const filterByProp = function (prop, value) { return function (item) { return item[prop]...
2550 просмотров
schedule 02.12.2023

TypeScript: аннотировать общий класс ES5
У меня есть следующий код в файле с именем storage.ts . Его цель — служить устройством хранения для нескольких частей моего API. interface ICache<T> { [key: string]: T } declare class Cacher<T> { constructor (initialCache:...
183 просмотров

Как ограничить keyof T только строковыми ключами?
Я пытаюсь расширить существующий интерфейс: type ColDef = { field: string; } так что я ограничу значения полей только фактическими свойствами указанного типа: interface TypeSafeColDef<T> extends ColDef { field: keyof T } но...
1630 просмотров
schedule 13.12.2022

Как я могу вызвать универсальную функцию только с одним универсальным параметром, когда второй нужен на лету?
У меня есть общая функция с двумя параметрами. Второй основан на значении первого параметра. Код работает только с одной переменной типа , но когда я добавляю другую, не могу вызвать функцию. Это работает отлично: type Event<T> = T...
40 просмотров

Сравнение типов дженериков Typescript не работает
У меня проблемы со сравнением дочернего элемента с универсальным типом T и возвратом массива только этих типизированных дочерних элементов. Логика проста, у меня есть массив дочерних элементов с разными элементами, унаследованными от типа Test. Мне...
16 просмотров

noImplicitAny не работает с универсальной функцией более высокого порядка
В приведенном ниже фрагменте машинописный текст не выдает ошибок, хотя есть аргумент, неявно набранный как any . declare function constrainedHOF<T extends (...args: any[]) => any>(callback: T): T; // x is implicitly any, but typescript...
85 просмотров
schedule 02.10.2022

Утилита Typescript generics Parameters не читает параметры перегруженной функции
Есть ли способ получить объединение кортежей перегруженной функции? Допустим, это моя перегруженная функция: function foo(a: string, b: number): boolean; function foo(a: number, b: string): boolean; function foo(a: any, b: any) { return true;...
146 просмотров
schedule 20.10.2022

TypeScript: можно ли безопасно получить доступ к вложенным свойствам объекта с учетом массива ключей? Можно ли это сделать безопасным по типу и компонуемым способом?
Я хотел бы написать функцию, которая получает значение от объекта, заданного массивом ключей свойств. Это выглядело бы примерно так: function getValue<O, K extends ObjKeys<O>>(obj: O, keys: K): ObjVal<O,K> { let out = obj;...
323 просмотров
schedule 02.12.2022

Разрешить динамический тип одного свойства на основе значения другого строкового свойства
Привет, я не уверен, возможно это или нет, но если это невозможно, предложите мне несколько альтернативных способов добиться этого. Я хочу установить тип свойства объекта в интерфейсе, в котором объект может иметь любые свойства, но должен иметь...
27 просмотров

Typescript перегружает необязательный параметр в двух функциях
У меня есть функция распознавателя, которая может иметь необязательный второй параметр с именем otherParams. Я хотел бы, чтобы Typescript проверял, вызывается ли функция, возвращаемая из createResourceThunk, с параметром otherParams, если он...
36 просмотров
schedule 25.03.2024

TypeScript: вывести тип реализации абстрактного метода
Я хотел бы иметь базовый класс со свойством, тип которого определяется из возвращаемого значения метода, а этот метод реализуется дочерними классами. Итак, базовый класс может быть таким: abstract class MyBase<T> { protected myProperty:...
84 просмотров

Определите тип обратного вызова TypeScript и укажите значение обратного вызова по умолчанию.
У меня возникли проблемы с предоставлением значения обратного вызова по умолчанию И отслеживанием возвращаемого типа этого обратного вызова В следующем случае a и b оба имеют тип any , но я бы хотел, чтобы они имели возвращаемый тип того, что...
57 просмотров
schedule 13.11.2023

Как создать функцию, которая динамически возвращает тип Promise
Я нахожусь в сценарии, когда я знаю, какие данные будут возвращены при выборке в API, У меня есть следующая функция const fetchingData = async (url: string, options?: Object): Promise<any> => { const res = await fetch(url, options);...
52 просмотров

Аргумент типа 'T' не может быть назначен параметру типа 'string'
Я реорганизую код JS в TS (на самом деле jsx / tsx), и у меня возникла проблема с функциями. Чтобы упростить проблему ... предположим, я получил эту функцию checkIt , которая может принимать строку или число в качестве параметра и возвращать...
42 просмотров

Как правильно ввести общий компонент функции реакции в TypeScript
В следующем Машинопись площадка пример Я попытался обобщить функциональный компонент Element в GenericElement компонент, но TypeScript жалуется на синтаксис. Как правильно ввести общий компонент функции реакции в TypeScript, используя подход...
124 просмотров
schedule 04.03.2024