Публикации по теме 'union-types'


Преобразование типа объединения в тип пересечения
Погружаясь в мир TypeScript, мы сталкиваемся с различными расширенными утилитами для работы с типами. Двумя наиболее распространенными и универсальными конструкциями типов в TypeScript являются типы Union и Intersection. Но что, если вы хотите преобразовать тип Union в тип Intersection? Давайте изучим эту тему. Понимание типов объединения и пересечения Прежде чем погрузиться в трансформацию, важно понять суть обоих типов: Типы объединения позволяют объекту быть одним из..

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

Типы союзов не применяются?
Разве это не должно потерпеть неудачу? class Animal { } class Person { } type MyUnion = Number | Person; var list: Array<MyUnion> = [ "aaa", 2, new Animal() ]; // Shouldn't this fail? var x: MyUnion = "jjj"; // Shouldn't this fail?...
85 просмотров

Тип объединения соответствия шаблону в Scala.js
Используя Scala.js, если у меня есть x: String | Int , как мне проверить его фактический тип? x match { ... } не компилируется.
297 просмотров
schedule 10.12.2022

Невозможно сузить простой тип объединения TypeScript с неопределенным свойством
У меня есть два объединенных типа, у одного есть свойство, а у другого нет. Я предположил, что проверка существования этого свойства позволит мне сузить его, но это не работает. Я создал репродукция этой игровой площадки . Этот другой очень...
1150 просмотров

Могут ли вложенные операторы switch быть исчерпывающими в TypeScript?
Похоже, следующий код не выполняет проверку типов в TypeScript. interface A { type: 'a', number: Number } interface B { type: 'b', number: Number } type Letter = A | B interface One { type: 'one' } interface Two { type:...
969 просмотров

Проблема с типами объединения и условными типами
У меня есть следующие объявления типов: class MyGeneric<T> { } type ReplaceType<T> = T extends Function ? T : MyGeneric<T> | T; ReplaceType<T> должен преобразоваться в MyGeneric<T> | T или T , в зависимости...
249 просмотров

Не удается раскрыть UnionType
У меня есть два модуля elm, пытающихся совместно использовать тип объединения, поскольку я пытаюсь реорганизовать свое приложение, как описано здесь https://www.elm-tutorial.org/en-v01/02-elm-arch/07-composing-2.html , но я продолжаю получать...
54 просмотров
schedule 14.10.2022

Вложенные встроенные фрагменты в graphql
Учитывая тип объединения graphql union SearchResult = Human | Droid | Starship и следующий запрос graphql: { search(text: "an") { ... on Human { ... on SearchResult { ... on Droid { appearsIn }...
859 просмотров
schedule 12.08.2022

Получить тип объединения из наблюдаемого значения массива во время выполнения
У меня есть код Typescript со следующим определением типа: export type MeasurementContext = 'height' | 'speed' | 'temperature'; Я хотел бы получить этот список измерений из запроса конфигурации на сервер во время выполнения, а не из...
25 просмотров
schedule 24.04.2023

Возможны ли рекурсивные типы массивов при распознавании объединений?
Я только начинаю открывать для себя TypeScript и проверяю пределы. Я ищу способ сделать интерфейс в виде полей в зависимости от значения одного из его свойств. Например: type type RecursiveArray<T> = T | RecursiveArray<T>[]; type...
198 просмотров

Тип поля класса на основе универсального
Представьте себе следующий код ( детская площадка ): type AvailableTypes = { 'array': Array<any>; 'string': string; 'object': object; } class Wrapper<T extends keyof AvailableTypes> { // Is either array, string or...
89 просмотров
schedule 08.05.2023

Проверка типа выдает ошибку для выражения union test-expression
Мой вопрос касается следующей программы. open System // Types type Car (brand: string) = member _.Brand = brand type BMW () = inherit Car "BMW" type Pet = | Cat | Dog [<EntryPoint>] let main argv = // Match subtype of...
57 просмотров
schedule 03.02.2023

как установить переменные-члены typescript, которые неизвестны в конструкторе
Я изучаю Typescript и хочу знать, как правильно определять переменные-члены класса. На данный момент я объявляю их в классе над конструктором, но чтобы убедиться, что они созданы в конструкторе (или я получаю предупреждение), я объявляю их как...
604 просмотров

Преобразование ключей типа в объединение с необязательными параметрами
Есть ли способ преобразовать тип Screens в тип ScreensNew ? Что я хочу сделать, так это: Преобразовать все ключи первого уровня в строки (например, keyof ) Оставьте остальные параметры как есть (уберите undefined) Затем создайте тип...
39 просмотров

Ограничить параметр как некое конечное объединение литеральных значений, когда используются подмешивания
Мне нужен способ ограничить параметр универсальной функции объединением буквальных значений, то есть 'foo' , 'foo' | 'bar' , 42 и т. Д. Должны быть разрешены string или number не должны string & SomethingElse или number &...
28 просмотров

Ковариация между 3 типами в Scala
Я пытаюсь выяснить, есть ли способ найти тип W2 , который является супертипом двух типов W и E . В моем решении E представляет ошибки, а W представляет предупреждения. То, что я пытаюсь выполнить, - это метод or , который, если this...
92 просмотров
schedule 25.07.2023

Сужение типов не работает должным образом с общими ограничениями
У меня есть ситуация, когда общий тип ограничен типом объединения, но я считаю, что это не приводит к тому, что сужение типа работает должным образом. Приведенный ниже фрагмент кода показывает, что происходит. function somefunc<T extends string...
104 просмотров