Публикации по теме 'typescript-generics'
Машинописный текст против Javascript
Введение
JavaScript изначально разрабатывался как язык интерфейса, он может работать только в веб-браузерах. Позже, в 2009 году, NodeJS представила свою среду выполнения JavaScript, чтобы JS мог работать автономно без веб-браузеров. Это был большой шаг в эволюции JS, но он не имел полноценной поддержки OOPS для таких функций, как прототипирование, типы и интерфейсы.
JS был идеальным вариантом для небольших проектов. Несмотря на то, что с помощью JS можно было делать более крупные..
Вопросы по теме 'typescript-generics'
Конструктор возврата универсального типа в TypeScript
Я изо всех сил пытаюсь определить, как написать код TypeScipt, который говорит, что этот конструктор возврата функции универсального типа. Существует множество примеров того, как передать конструктор универсального типа, но не того, как его вернуть....
3323 просмотров
schedule
23.09.2021
Как динамически построить тип из нескольких свойств?
Я изучаю расширенные типы в 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 просмотров
schedule
13.11.2021
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 просмотров
schedule
03.12.2021
Объект слияния функции Typescript по определенному пути
У меня есть функция слияния, которая объединяет объекты по определенному пути.
const merge = (src, path, newObj) => {
// this code works fine
}
Чтобы использовать эту функцию, я называю ее так:
interface IUser {
user: {...
60 просмотров
schedule
19.09.2021
Ошибка при объединении универсальных массивов машинописного текста
Я пытаюсь создать настраиваемую функцию «разбиения на части», аналогичную той, что предоставляется 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 просмотров
schedule
16.10.2021
По заданному дискриминанту получить тип свойства для соответствующего члена дискриминируемого объединения
У меня есть следующий размеченный союз, где свойство id приобретает другой тип в зависимости от значения дискриминанта:
type TableKind = 'administration' | 'data'
type AdministrationTableId = 'Modules' | 'Users' | 'Roles'
type DataTableId =...
26 просмотров
schedule
15.09.2021
Какой лучший способ вывести тип аргумента обратного вызова из типа объединения в Typescript?
Я пытаюсь написать помощника, который позволит мне подписаться на определенный тип отправленных действий в приложении React. Вот интерфейсы действий, с которыми я работаю:
enum ActionTypes {
MoveToLine = 'MOVE_TO_LINE',
MoveToColumn =...
318 просмотров
schedule
21.02.2022
Установите только определенные свойства по мере необходимости
Typescript имеет Required<T> служебный тип, который создает тип, состоящий из всех свойств T, установленных как required. Но я хочу сделать только определенные свойства по мере необходимости, а не все. Поэтому я написал свой собственный...
22 просмотров
schedule
21.02.2022
Как перебрать ответ API и присвоить значение ответа вложенному массиву в angular 8
Я пытаюсь вызвать API несколько раз в цикле, и в ответ я возвращаю идентификатор проекта обратно в массив, но значение m увеличивалось уже перед запуском второго цикла, и это вызывает ошибку TypeError: Cannot read property ' imagesnamearray 'из...
34 просмотров
schedule
19.02.2022
Универсальный тип не может вывести
Я бился головой о какой-то TS и никак не могу об этом подумать.
Я объявляю некоторую типизированную универсальную функцию:
function identity<T>(e: T): T { return e }
эту identity функцию можно вызвать так:...
20 просмотров
schedule
22.02.2022
Обобщенные типы машинописного текста: заданные ключ K и объект T, ограничивают тип T [K]
У меня есть среда, в которой определенные объекты, обладающие свойством id , истекают каждый «тик» и должны быть вызваны с помощью getObjectById . Я хотел бы реализовать метод установки для обновления свойства чего-либо путем сопоставления...
171 просмотров
schedule
02.03.2022
Типскрипт 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 просмотров
schedule
02.03.2022
Тип возвращаемого значения Generic Promise Typescript
В основном я пытаюсь реализовать функцию, которая всегда возвращает выполненное обещание того же «типа», которое я передаю функции в качестве параметра.
Поэтому, если я вызываю с логическим значением, он возвращает выполненное обещание, если я...
5317 просмотров
schedule
16.03.2022