Публикации по теме '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 просмотров
schedule
27.04.2023
Тип объединения соответствия шаблону в Scala.js
Используя Scala.js, если у меня есть x: String | Int , как мне проверить его фактический тип? x match { ... } не компилируется.
297 просмотров
schedule
10.12.2022
Невозможно сузить простой тип объединения TypeScript с неопределенным свойством
У меня есть два объединенных типа, у одного есть свойство, а у другого нет. Я предположил, что проверка существования этого свойства позволит мне сузить его, но это не работает.
Я создал репродукция этой игровой площадки . Этот другой очень...
1150 просмотров
schedule
30.06.2022
Могут ли вложенные операторы 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 просмотров
schedule
09.08.2022
Проблема с типами объединения и условными типами
У меня есть следующие объявления типов:
class MyGeneric<T> { }
type ReplaceType<T> = T extends Function ? T : MyGeneric<T> | T;
ReplaceType<T> должен преобразоваться в MyGeneric<T> | T или T , в зависимости...
249 просмотров
schedule
05.06.2023
Не удается раскрыть 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 просмотров
schedule
16.06.2023
Тип поля класса на основе универсального
Представьте себе следующий код ( детская площадка ):
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 просмотров
schedule
20.02.2023
Преобразование ключей типа в объединение с необязательными параметрами
Есть ли способ преобразовать тип Screens в тип ScreensNew ?
Что я хочу сделать, так это:
Преобразовать все ключи первого уровня в строки (например, keyof )
Оставьте остальные параметры как есть (уберите undefined)
Затем создайте тип...
39 просмотров
schedule
27.04.2023
Ограничить параметр как некое конечное объединение литеральных значений, когда используются подмешивания
Мне нужен способ ограничить параметр универсальной функции объединением буквальных значений, то есть
'foo' , 'foo' | 'bar' , 42 и т. Д. Должны быть разрешены
string или number не должны
string & SomethingElse или number &...
28 просмотров
schedule
23.11.2022
Ковариация между 3 типами в Scala
Я пытаюсь выяснить, есть ли способ найти тип W2 , который является супертипом двух типов W и E . В моем решении E представляет ошибки, а W представляет предупреждения. То, что я пытаюсь выполнить, - это метод or , который, если this...
92 просмотров
schedule
25.07.2023
Сужение типов не работает должным образом с общими ограничениями
У меня есть ситуация, когда общий тип ограничен типом объединения, но я считаю, что это не приводит к тому, что сужение типа работает должным образом. Приведенный ниже фрагмент кода показывает, что происходит.
function somefunc<T extends string...
104 просмотров
schedule
03.08.2023