Публикации по теме 'typescript-generics'


Машинописный текст против Javascript
Введение JavaScript изначально разрабатывался как язык интерфейса, он может работать только в веб-браузерах. Позже, в 2009 году, NodeJS представила свою среду выполнения JavaScript, чтобы JS мог работать автономно без веб-браузеров. Это был большой шаг в эволюции JS, но он не имел полноценной поддержки OOPS для таких функций, как прототипирование, типы и интерфейсы. JS был идеальным вариантом для небольших проектов. Несмотря на то, что с помощью JS можно было делать более крупные..

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

Конструктор возврата универсального типа в TypeScript
Я изо всех сил пытаюсь определить, как написать код TypeScipt, который говорит, что этот конструктор возврата функции универсального типа. Существует множество примеров того, как передать конструктор универсального типа, но не того, как его вернуть....
3323 просмотров

Как динамически построить тип из нескольких свойств?
Я изучаю расширенные типы в Typescript, пока что у меня есть type x , который принимает общий аргумент props extends string . Если значение для props равно name | age | email , это создает следующий тип: { name: "name", age: "age",...
40 просмотров
schedule 10.10.2021

Типовой сценарий несовместим с возвращаемым типом
У меня проблема с обобщениями машинописного текста: function isString(a: any): a is string { return typeof a === 'string' } function concat<T extends string | number>(a: T, b: T): T { if (isString(a) && isString(b)) {...
279 просмотров

React + Typescript: динамический класс на основе Prop
У меня есть компонент, в котором я передаю опору под названием HtmlTag , и, исходя из ее значения, я хотел бы расширить интерфейс опоры с помощью правильной базы реквизитов на теге html. Я пробовал создать тип, который действует как карта, а затем...
1311 просмотров
schedule 19.09.2021

Машинопись - постепенное расширение типа объекта
Я пытаюсь добиться с помощью TS следующего: let m: Extendable m.add('one', 1) // m now has '.one' field m.add('two', 2) // 'm' now has '.one' and '.two' fields Я знаком с возвратом расширенных типов в TS через: function extend<T,...
484 просмотров
schedule 09.09.2021

TypeScript преобразовывает тип Tuple кортежа в Tuple (сглаживает Tuple)
у меня есть это Type T = Params<[Tuple1, Tuple2]> // eg [[string], [number]] Как из него сделать (сплющить) Type Flatten<T> = Params<[string, number]>
664 просмотров

Объект слияния функции Typescript по определенному пути
У меня есть функция слияния, которая объединяет объекты по определенному пути. const merge = (src, path, newObj) => { // this code works fine } Чтобы использовать эту функцию, я называю ее так: interface IUser { user: {...
60 просмотров

Ошибка при объединении универсальных массивов машинописного текста
Я пытаюсь создать настраиваемую функцию «разбиения на части», аналогичную той, что предоставляется lodash, но у меня возникли проблемы с универсальными шаблонами и массивами. Это код функции: function chunk<T>(arr: T[], chunkSize: number,...
61 просмотров
schedule 25.10.2021

Определите параметры типа с помощью статических членов
Я пытаюсь создать несколько служебных классов для своего веб-сервиса RESTful, чтобы уменьшить количество шаблонного кода. Вот упрощенный пример моих служебных классов: class Model { public static async findAll(options: any) { return...
39 просмотров
schedule 05.10.2021

Условное выражение машинописного текста равно нулю
Я хотел бы создать функцию, которая принимает аргумент, который обычно является объектом, но может иметь значение null / undefined, и условно возвращать тип, если он не равен null, в противном случае - null. function objOrNull<T>(t: T): T...
100 просмотров
schedule 15.10.2021

Альтернативы универсальному типу с параметрами универсального типа в TypeScript
Предположим, у меня есть два типа общих функций, которые различаются только типом возвращаемого значения. Один имеет тип возврата T , другой T[] : type F1 = <T>(t: T) => T type F2 = <T>(t: T) => T[] Мне было интересно, как...
47 просмотров

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

Какой лучший способ вывести тип аргумента обратного вызова из типа объединения в Typescript?
Я пытаюсь написать помощника, который позволит мне подписаться на определенный тип отправленных действий в приложении React. Вот интерфейсы действий, с которыми я работаю: enum ActionTypes { MoveToLine = 'MOVE_TO_LINE', MoveToColumn =...
318 просмотров

Установите только определенные свойства по мере необходимости
Typescript имеет Required<T> служебный тип, который создает тип, состоящий из всех свойств T, установленных как required. Но я хочу сделать только определенные свойства по мере необходимости, а не все. Поэтому я написал свой собственный...
22 просмотров
schedule 21.02.2022

Как перебрать ответ API и присвоить значение ответа вложенному массиву в angular 8
Я пытаюсь вызвать API несколько раз в цикле, и в ответ я возвращаю идентификатор проекта обратно в массив, но значение m увеличивалось уже перед запуском второго цикла, и это вызывает ошибку TypeError: Cannot read property ' imagesnamearray 'из...
34 просмотров

Универсальный тип не может вывести
Я бился головой о какой-то TS и никак не могу об этом подумать. Я объявляю некоторую типизированную универсальную функцию: function identity<T>(e: T): T { return e } эту identity функцию можно вызвать так:...
20 просмотров
schedule 22.02.2022

Обобщенные типы машинописного текста: заданные ключ K и объект T, ограничивают тип T [K]
У меня есть среда, в которой определенные объекты, обладающие свойством id , истекают каждый «тик» и должны быть вызваны с помощью getObjectById . Я хотел бы реализовать метод установки для обновления свойства чего-либо путем сопоставления...
171 просмотров

Типскрипт InstanceType ‹T› ведет себя не так, как я мог бы представить
У меня есть следующий код: class Factory<K, T extends new (...p: any) => any> { add(key: K, fn: (...p: ConstructorParameters<T>) => InstanceType<T>) { } } class Foo { constructor(a: number) { } } class Boo...
35 просмотров
schedule 01.03.2022

Машинопись - передать универсальный код функции
Я изо всех сил пытаюсь понять, как передать общий тип, который требует параметра функции только для того, чтобы функция предоставляла параметр. Ниже приведен надуманный пример, иллюстрирующий то, что я пытаюсь сделать. interface...
16 просмотров

Тип возвращаемого значения Generic Promise Typescript
В основном я пытаюсь реализовать функцию, которая всегда возвращает выполненное обещание того же «типа», которое я передаю функции в качестве параметра. Поэтому, если я вызываю с логическим значением, он возвращает выполненное обещание, если я...
5317 просмотров