Documentation
Preparing search index...
@mysten/bcs
BcsEnum
Class BcsEnum<T, Name>
Type Parameters
T
extends
Record
<
string
,
BcsType
<
any
>
|
null
>
const
Name
extends
string
=
string
Hierarchy (
View Summary
)
BcsType
<
EnumOutputShape
<
{
[
K
in
keyof
T
]
:
T
[
K
]
extends
BcsType
<
infer
U
,
any
>
?
U
:
true
}
,
>
,
EnumInputShape
<
{
[
K
in
keyof
T
]
:
T
[
K
]
extends
BcsType
<
any
,
infer
U
,
any
>
?
U
:
boolean
|
object
|
null
}
,
>
,
Name
,
>
BcsEnum
Index
Constructors
constructor
Properties
_
codec
_
validated
Write
$infer
Input
$infer
Type
name
serialized
Size
to
Bytes
validate
Methods
from
Base58
from
Base64
from
Hex
parse
read
serialize
to
Base58
to
Base64
to
Hex
transform
write
Constructors
constructor
new
BcsEnum
<
T
extends
Record
<
string
,
BcsType
<
any
,
any
,
string
>
|
null
>
,
const
Name
extends
string
=
string
,
>
(
__namedParameters
:
BcsEnumOptions
<
T
,
Name
>
&
{
decoder
?:
{
buildEnumDecoder
:
(
variantKeys
:
string
[]
,
variantReaders
:
((
()
=>
unknown
)
|
null
)
[]
,
enumName
?:
string
,
)
=>
()
=>
unknown
;
buildFixedArrayDecoder
:
(
len
:
number
,
elemReader
:
()
=>
unknown
,
kind
?:
string
,
)
=>
()
=>
unknown
;
buildMapDecoder
:
(
keyReader
:
()
=>
unknown
,
valueReader
:
()
=>
unknown
,
)
=>
()
=>
unknown
;
buildOptionDecoder
:
(
innerReader
:
()
=>
unknown
,
)
=>
{
decode
:
()
=>
unknown
;
parse
:
(
bytes
:
Uint8Array
)
=>
unknown
}
;
buildStructDecoder
:
(
keys
:
string
[]
,
readers
:
(
()
=>
unknown
)
[]
,
)
=>
()
=>
unknown
;
buildTupleDecoder
:
(
readers
:
(
()
=>
unknown
)
[]
)
=>
()
=>
unknown
;
buildVectorDecoder
:
(
elemReader
:
()
=>
unknown
,
kind
?:
string
,
)
=>
()
=>
unknown
;
bulkDecodeBool
:
(
n
:
number
)
=>
boolean
[]
;
bulkDecodeU16
:
(
n
:
number
)
=>
number
[]
;
bulkDecodeU32
:
(
n
:
number
)
=>
number
[]
;
bulkDecodeU64
:
(
n
:
number
)
=>
string
[]
;
bulkDecodeU8
:
(
n
:
number
)
=>
number
[]
;
decodeBool
:
()
=>
boolean
;
decodeByteVector
:
()
=>
Uint8Array
;
decodeFixedBytes
:
(
size
:
number
)
=>
Uint8Array
;
decodeString
:
()
=>
string
;
decodeU128
:
()
=>
string
;
decodeU16
:
()
=>
number
;
decodeU256
:
()
=>
string
;
decodeU32
:
()
=>
number
;
decodeU64
:
()
=>
string
;
decodeU8
:
()
=>
number
;
init
:
(
data
:
Uint8Array
)
=>
void
;
readUleb
:
()
=>
number
;
get
data
()
:
Uint8Array
<
ArrayBufferLike
>
;
get
offset
()
:
number
;
set
offset
(
v
:
number
)
:
void
;
restore
(
s
:
{
d
:
Uint8Array
;
o
:
number
}
)
:
void
;
save
()
:
{
d
:
Uint8Array
;
o
:
number
}
;
}
;
encoder
?:
{
buildEnumEncoder
:
(
variantKeys
:
string
[]
,
variantWriters
:
((
(
v
:
unknown
)
=>
void
)
|
null
)
[]
,
)
=>
(
v
:
unknown
)
=>
void
;
buildFixedArrayEncoder
:
(
len
:
number
,
elemWriter
:
(
v
:
unknown
)
=>
void
,
kind
?:
string
,
)
=>
(
v
:
unknown
)
=>
void
;
buildMapEncoder
:
(
keyWriter
:
(
v
:
unknown
)
=>
void
,
valueWriter
:
(
v
:
unknown
)
=>
void
,
)
=>
(
v
:
unknown
)
=>
void
;
buildOptionEncoder
:
(
innerWriter
:
(
v
:
unknown
)
=>
void
,
)
=>
(
v
:
unknown
)
=>
void
;
buildStructEncoder
:
(
keys
:
string
[]
,
writers
:
(
(
v
:
unknown
)
=>
void
)
[]
,
)
=>
(
v
:
unknown
)
=>
void
;
buildTupleEncoder
:
(
writers
:
(
(
v
:
unknown
)
=>
void
)
[]
,
)
=>
(
v
:
unknown
)
=>
void
;
buildVectorEncoder
:
(
elemWriter
:
(
v
:
unknown
)
=>
void
,
kind
?:
string
,
)
=>
(
v
:
unknown
)
=>
void
;
bulkEncodeBool
:
(
a
:
boolean
[]
)
=>
void
;
bulkEncodeU16
:
(
a
:
number
[]
)
=>
void
;
bulkEncodeU32
:
(
a
:
number
[]
)
=>
void
;
bulkEncodeU64
:
(
a
:
(
string
|
number
|
bigint
)
[]
)
=>
void
;
bulkEncodeU8
:
(
a
:
Uint8Array
<
ArrayBufferLike
>
|
number
[]
)
=>
void
;
encodeBool
:
(
v
:
boolean
)
=>
void
;
encodeByteVector
:
(
v
:
Iterable
<
number
>
)
=>
void
;
encodeFixedBytes
:
(
v
:
Iterable
<
number
>
,
size
:
number
)
=>
void
;
encodeString
:
(
v
:
string
)
=>
void
;
encodeU128
:
(
v
:
string
|
number
|
bigint
)
=>
void
;
encodeU16
:
(
v
:
number
)
=>
void
;
encodeU256
:
(
v
:
string
|
number
|
bigint
)
=>
void
;
encodeU32
:
(
v
:
number
)
=>
void
;
encodeU64
:
(
v
:
string
|
number
|
bigint
)
=>
void
;
encodeU8
:
(
v
:
number
)
=>
void
;
ensure
:
(
n
:
number
)
=>
void
;
fastSerialize
:
(
writeFn
:
(
value
:
unknown
)
=>
void
,
value
:
unknown
,
sizeLimit
?:
number
,
)
=>
Uint8Array
<
ArrayBuffer
>
;
getEncodeResult
:
()
=>
Uint8Array
<
ArrayBuffer
>
;
initEncode
:
()
=>
void
;
writeRawBytes
:
(
bytes
:
Uint8Array
)
=>
void
;
writeUleb
:
(
n
:
number
)
=>
void
;
get
offset
()
:
number
;
set
offset
(
v
:
number
)
:
void
;
}
;
}
,
)
:
BcsEnum
<
T
,
Name
>
Type Parameters
T
extends
Record
<
string
,
BcsType
<
any
,
any
,
string
>
|
null
>
const
Name
extends
string
=
string
Parameters
__namedParameters
:
BcsEnumOptions
<
T
,
Name
>
&
{
decoder
?:
{
buildEnumDecoder
:
(
variantKeys
:
string
[]
,
variantReaders
:
((
()
=>
unknown
)
|
null
)
[]
,
enumName
?:
string
,
)
=>
()
=>
unknown
;
buildFixedArrayDecoder
:
(
len
:
number
,
elemReader
:
()
=>
unknown
,
kind
?:
string
,
)
=>
()
=>
unknown
;
buildMapDecoder
:
(
keyReader
:
()
=>
unknown
,
valueReader
:
()
=>
unknown
,
)
=>
()
=>
unknown
;
buildOptionDecoder
:
(
innerReader
:
()
=>
unknown
,
)
=>
{
decode
:
()
=>
unknown
;
parse
:
(
bytes
:
Uint8Array
)
=>
unknown
}
;
buildStructDecoder
:
(
keys
:
string
[]
,
readers
:
(
()
=>
unknown
)
[]
,
)
=>
()
=>
unknown
;
buildTupleDecoder
:
(
readers
:
(
()
=>
unknown
)
[]
)
=>
()
=>
unknown
;
buildVectorDecoder
:
(
elemReader
:
()
=>
unknown
,
kind
?:
string
,
)
=>
()
=>
unknown
;
bulkDecodeBool
:
(
n
:
number
)
=>
boolean
[]
;
bulkDecodeU16
:
(
n
:
number
)
=>
number
[]
;
bulkDecodeU32
:
(
n
:
number
)
=>
number
[]
;
bulkDecodeU64
:
(
n
:
number
)
=>
string
[]
;
bulkDecodeU8
:
(
n
:
number
)
=>
number
[]
;
decodeBool
:
()
=>
boolean
;
decodeByteVector
:
()
=>
Uint8Array
;
decodeFixedBytes
:
(
size
:
number
)
=>
Uint8Array
;
decodeString
:
()
=>
string
;
decodeU128
:
()
=>
string
;
decodeU16
:
()
=>
number
;
decodeU256
:
()
=>
string
;
decodeU32
:
()
=>
number
;
decodeU64
:
()
=>
string
;
decodeU8
:
()
=>
number
;
init
:
(
data
:
Uint8Array
)
=>
void
;
readUleb
:
()
=>
number
;
get
data
()
:
Uint8Array
<
ArrayBufferLike
>
;
get
offset
()
:
number
;
set
offset
(
v
:
number
)
:
void
;
restore
(
s
:
{
d
:
Uint8Array
;
o
:
number
}
)
:
void
;
save
()
:
{
d
:
Uint8Array
;
o
:
number
}
;
}
;
encoder
?:
{
buildEnumEncoder
:
(
variantKeys
:
string
[]
,
variantWriters
:
((
(
v
:
unknown
)
=>
void
)
|
null
)
[]
,
)
=>
(
v
:
unknown
)
=>
void
;
buildFixedArrayEncoder
:
(
len
:
number
,
elemWriter
:
(
v
:
unknown
)
=>
void
,
kind
?:
string
,
)
=>
(
v
:
unknown
)
=>
void
;
buildMapEncoder
:
(
keyWriter
:
(
v
:
unknown
)
=>
void
,
valueWriter
:
(
v
:
unknown
)
=>
void
,
)
=>
(
v
:
unknown
)
=>
void
;
buildOptionEncoder
:
(
innerWriter
:
(
v
:
unknown
)
=>
void
,
)
=>
(
v
:
unknown
)
=>
void
;
buildStructEncoder
:
(
keys
:
string
[]
,
writers
:
(
(
v
:
unknown
)
=>
void
)
[]
,
)
=>
(
v
:
unknown
)
=>
void
;
buildTupleEncoder
:
(
writers
:
(
(
v
:
unknown
)
=>
void
)
[]
,
)
=>
(
v
:
unknown
)
=>
void
;
buildVectorEncoder
:
(
elemWriter
:
(
v
:
unknown
)
=>
void
,
kind
?:
string
,
)
=>
(
v
:
unknown
)
=>
void
;
bulkEncodeBool
:
(
a
:
boolean
[]
)
=>
void
;
bulkEncodeU16
:
(
a
:
number
[]
)
=>
void
;
bulkEncodeU32
:
(
a
:
number
[]
)
=>
void
;
bulkEncodeU64
:
(
a
:
(
string
|
number
|
bigint
)
[]
)
=>
void
;
bulkEncodeU8
:
(
a
:
Uint8Array
<
ArrayBufferLike
>
|
number
[]
)
=>
void
;
encodeBool
:
(
v
:
boolean
)
=>
void
;
encodeByteVector
:
(
v
:
Iterable
<
number
>
)
=>
void
;
encodeFixedBytes
:
(
v
:
Iterable
<
number
>
,
size
:
number
)
=>
void
;
encodeString
:
(
v
:
string
)
=>
void
;
encodeU128
:
(
v
:
string
|
number
|
bigint
)
=>
void
;
encodeU16
:
(
v
:
number
)
=>
void
;
encodeU256
:
(
v
:
string
|
number
|
bigint
)
=>
void
;
encodeU32
:
(
v
:
number
)
=>
void
;
encodeU64
:
(
v
:
string
|
number
|
bigint
)
=>
void
;
encodeU8
:
(
v
:
number
)
=>
void
;
ensure
:
(
n
:
number
)
=>
void
;
fastSerialize
:
(
writeFn
:
(
value
:
unknown
)
=>
void
,
value
:
unknown
,
sizeLimit
?:
number
,
)
=>
Uint8Array
<
ArrayBuffer
>
;
getEncodeResult
:
()
=>
Uint8Array
<
ArrayBuffer
>
;
initEncode
:
()
=>
void
;
writeRawBytes
:
(
bytes
:
Uint8Array
)
=>
void
;
writeUleb
:
(
n
:
number
)
=>
void
;
get
offset
()
:
number
;
set
offset
(
v
:
number
)
:
void
;
}
;
}
Returns
BcsEnum
<
T
,
Name
>
Properties
_
codec
_codec
:
{
kind
?:
string
;
read
:
()
=>
EnumOutputShape
;
write
:
(
value
:
EnumInputShape
)
=>
void
;
}
_
validated
Write
_validatedWrite
:
(
value
:
EnumInputShape
)
=>
void
$infer
Input
$inferInput
:
EnumInputShape
$infer
Type
$inferType
:
EnumOutputShape
name
name
:
Name
serialized
Size
serializedSize
:
(
value
:
EnumInputShape
,
options
?:
BcsWriterOptions
,
)
=>
number
|
null
to
Bytes
toBytes
:
(
value
:
EnumInputShape
,
options
?:
BcsWriterOptions
,
)
=>
Uint8Array
<
ArrayBuffer
>
validate
validate
:
(
value
:
EnumInputShape
)
=>
void
Methods
from
Base58
fromBase58
(
b58
:
string
,
)
:
EnumOutputShape
<
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
U
,
any
,
string
>
?
U
:
true
}
,
Extract
<
keyof
T
,
string
>
,
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
U
,
any
,
string
>
?
U
:
true
}
[
keyof
T
]
extends
Type
?
Type
extends
BcsType
<
U
,
U
,
string
>
?
U
:
never
:
never
,
>
Parameters
b58
:
string
Returns
EnumOutputShape
<
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
U
,
any
,
string
>
?
U
:
true
}
,
Extract
<
keyof
T
,
string
>
,
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
U
,
any
,
string
>
?
U
:
true
}
[
keyof
T
]
extends
Type
?
Type
extends
BcsType
<
U
,
U
,
string
>
?
U
:
never
:
never
,
>
from
Base64
fromBase64
(
b64
:
string
,
)
:
EnumOutputShape
<
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
U
,
any
,
string
>
?
U
:
true
}
,
Extract
<
keyof
T
,
string
>
,
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
U
,
any
,
string
>
?
U
:
true
}
[
keyof
T
]
extends
Type
?
Type
extends
BcsType
<
U
,
U
,
string
>
?
U
:
never
:
never
,
>
Parameters
b64
:
string
Returns
EnumOutputShape
<
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
U
,
any
,
string
>
?
U
:
true
}
,
Extract
<
keyof
T
,
string
>
,
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
U
,
any
,
string
>
?
U
:
true
}
[
keyof
T
]
extends
Type
?
Type
extends
BcsType
<
U
,
U
,
string
>
?
U
:
never
:
never
,
>
from
Hex
fromHex
(
hex
:
string
,
)
:
EnumOutputShape
<
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
U
,
any
,
string
>
?
U
:
true
}
,
Extract
<
keyof
T
,
string
>
,
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
U
,
any
,
string
>
?
U
:
true
}
[
keyof
T
]
extends
Type
?
Type
extends
BcsType
<
U
,
U
,
string
>
?
U
:
never
:
never
,
>
Parameters
hex
:
string
Returns
EnumOutputShape
<
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
U
,
any
,
string
>
?
U
:
true
}
,
Extract
<
keyof
T
,
string
>
,
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
U
,
any
,
string
>
?
U
:
true
}
[
keyof
T
]
extends
Type
?
Type
extends
BcsType
<
U
,
U
,
string
>
?
U
:
never
:
never
,
>
parse
parse
(
bytes
:
Uint8Array
)
:
EnumOutputShape
Parameters
bytes
:
Uint8Array
Returns
EnumOutputShape
read
read
(
reader
:
BcsReader
)
:
EnumOutputShape
Parameters
reader
:
BcsReader
Returns
EnumOutputShape
Deprecated
Use
parse
instead.
serialize
serialize
(
value
:
EnumInputShape
,
options
?:
BcsWriterOptions
,
)
:
SerializedBcs
<
EnumOutputShape
<
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
U
,
any
,
string
>
?
U
:
true
}
,
Extract
<
keyof
T
,
string
>
,
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
U
,
any
,
string
>
?
U
:
true
}
[
keyof
T
]
extends
Type
?
Type
extends
BcsType
<
U
,
U
,
string
>
?
U
:
never
:
never
,
>
,
EnumInputShape
<
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
any
,
U
,
any
>
?
U
:
boolean
|
object
|
null
}
,
>
,
>
Parameters
value
:
EnumInputShape
Optional
options
:
BcsWriterOptions
Returns
SerializedBcs
<
EnumOutputShape
<
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
U
,
any
,
string
>
?
U
:
true
}
,
Extract
<
keyof
T
,
string
>
,
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
U
,
any
,
string
>
?
U
:
true
}
[
keyof
T
]
extends
Type
?
Type
extends
BcsType
<
U
,
U
,
string
>
?
U
:
never
:
never
,
>
,
EnumInputShape
<
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
any
,
U
,
any
>
?
U
:
boolean
|
object
|
null
}
,
>
,
>
to
Base58
toBase58
(
value
:
EnumInputShape
)
:
string
Parameters
value
:
EnumInputShape
Returns
string
to
Base64
toBase64
(
value
:
EnumInputShape
)
:
string
Parameters
value
:
EnumInputShape
Returns
string
to
Hex
toHex
(
value
:
EnumInputShape
)
:
string
Parameters
value
:
EnumInputShape
Returns
string
transform
transform
<
T2
=
EnumOutputShape
<
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
U
,
any
,
string
>
?
U
:
true
}
,
Extract
<
keyof
T
,
string
>
,
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
U
,
any
,
string
>
?
U
:
true
}
[
keyof
T
]
extends
Type
?
Type
extends
BcsType
<
U
,
U
,
string
>
?
U
:
never
:
never
,
>
,
Input2
=
EnumInputShape
<
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
any
,
U
,
any
>
?
U
:
boolean
|
object
|
null
}
,
>
,
NewName
extends
string
=
Name
,
>
(
__namedParameters
:
{
input
?:
(
val
:
Input2
)
=>
EnumInputShape
;
output
?:
(
value
:
EnumOutputShape
)
=>
T2
;
}
&
BcsTypeOptions
<
T2
,
Input2
,
NewName
>
,
)
:
BcsType
<
T2
,
Input2
,
NewName
>
Type Parameters
T2
=
EnumOutputShape
<
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
U
,
any
,
string
>
?
U
:
true
}
,
Extract
<
keyof
T
,
string
>
,
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
U
,
any
,
string
>
?
U
:
true
}
[
keyof
T
]
extends
Type
?
Type
extends
BcsType
<
U
,
U
,
string
>
?
U
:
never
:
never
,
>
Input2
=
EnumInputShape
<
{
[
K
in
string
|
number
|
symbol
]
:
T
[
K
]
extends
BcsType
<
any
,
U
,
any
>
?
U
:
boolean
|
object
|
null
}
,
>
NewName
extends
string
=
Name
Parameters
__namedParameters
:
{
input
?:
(
val
:
Input2
)
=>
EnumInputShape
;
output
?:
(
value
:
EnumOutputShape
)
=>
T2
;
}
&
BcsTypeOptions
<
T2
,
Input2
,
NewName
>
Returns
BcsType
<
T2
,
Input2
,
NewName
>
write
write
(
value
:
EnumInputShape
,
_writer
?:
BcsWriter
)
:
void
Parameters
value
:
EnumInputShape
Optional
_writer
:
BcsWriter
Returns
void
Deprecated
Use
toBytes
or
serialize
instead.
Settings
Member Visibility
Protected
Inherited
External
Theme
OS
Light
Dark
On This Page
Constructors
constructor
Properties
_
codec
_
validated
Write
$infer
Input
$infer
Type
name
serialized
Size
to
Bytes
validate
Methods
from
Base58
from
Base64
from
Hex
parse
read
serialize
to
Base58
to
Base64
to
Hex
transform
write
Documentation
Loading...
Deprecated
Use parse instead.