Type Utils
Preparing search index...
V1
Struct
Type Alias Struct<T, U>
Struct
:
U
extends
PrimitiveType
?
T
extends
"enum"
?
BaseStruct
<
"enum"
,
U
>
:
T
extends
"primitive"
?
BaseStruct
<
"primitive"
,
PrimitiveType
>
:
T
extends
"union"
?
Spread
<
[
BaseStruct
<
"union"
,
U
>
,
{
tree
:
V1
.
Struct
<
U
extends
PrimitiveType
?
GetPrimitiveTag
<
(...)
>
:
"object"
,
U
,
>
[]
;
}
,
]
,
>
:
T
extends
"intersection"
?
Spread
<
[
BaseStruct
<
"intersection"
,
U
>
,
{
tree
:
V1
.
Struct
<
(...)
extends
(...)
?
(...)
:
(...)
,
U
>
[]
}
,
]
,
>
:
T
extends
"any"
?
BaseStruct
<
"any"
,
any
>
:
T
extends
"undefined"
?
BaseStruct
<
"undefined"
,
undefined
>
:
T
extends
"null"
?
BaseStruct
<
"null"
,
null
>
:
U
extends
boolean
?
BaseStruct
<
"boolean"
,
boolean
>
:
BaseStruct
<
(...)
,
(...)
>
&
{
tree
?:
...
}
:
U
extends
(
infer
V
)
[]
?
Spread
<
[
BaseStruct
<
"object"
,
U
>
,
{
entries
:
V1
.
Struct
<
V
extends
PrimitiveType
?
GetPrimitiveTag
<
V
>
:
"object"
,
V
,
>
;
}
,
]
,
>
:
U
extends
Function
?
BaseStruct
<
"function"
,
U
>
:
U
extends
object
?
V1
.
ObjectStruct
<
U
>
:
never
Type Parameters
T
extends
Generics
.
BaseTypes
U
Settings
Member Visibility
Inherited
External
Theme
OS
Light
Dark
Type Utils
Loading...