Scale JS / @scale-codec/definition-runtime / Variant
Interface: Variant<E, Tag, Content>
@scale-codec/definition-runtime.Variant
Type parameters
| Name | Type |
|---|---|
E | extends EnumRecord |
Tag | extends string |
Content | extends [] | [any] = [] |
Table of contents
Properties
Properties
[enumTags]
• [enumTags]: E
Defined in
as
• Readonly as: <T>(tag: T) => [T, Content] extends [Tag, [C]] ? C : never
Type declaration
▸ <T>(tag): [T, Content] extends [Tag, [C]] ? C : never
Type parameters
| Name | Type |
|---|---|
T | extends string | number | symbol |
Parameters
| Name | Type |
|---|---|
tag | T |
Returns
[T, Content] extends [Tag, [C]] ? C : never
Defined in
content
• Readonly content: Content extends [C] ? C : undefined
Defined in
tag
• Readonly tag: Tag
Defined in
unit
• Readonly unit: Content extends [] ? true : false