createDecoder
Call Signature
createDecoder<
TTo
,TSize
>(decoder
):FixedSizeDecoder
<TTo
,TSize
>
通过使用提供的 read
函数填充缺失的 decode
函数来创建一个 Decoder
。
此实用程序不是手动实现 decode
,而是利用现有的 read
函数和大小属性来生成完整的解码器。提供的 decode
方法将从给定偏移量的 Uint8Array
中读取并返回解码后的值。
如果提供了 fixedSize
属性,则将创建一个 FixedSizeDecoder,否则将创建一个 VariableSizeDecoder。
Type Parameters
Type Parameter | Description |
---|---|
TTo | 解码值的类型。 |
TSize extends number | 编码值的固定大小(以字节为单位)(对于固定大小的解码器)。 |
Parameters
Parameter | Type | Description |
---|---|---|
decoder | Omit <FixedSizeDecoder <TTo , TSize >, "decode" > | 一个实现了 read 但未实现 decode 的解码器对象。 - 如果解码器具有 fixedSize 属性,则将其视为 FixedSizeDecoder。 - 否则,它被视为 VariableSizeDecoder。 |
Returns
FixedSizeDecoder
<TTo
, TSize
>
一个功能齐全的 Decoder
,同时具有 read
和 decode
方法。
Examples
创建自定义的固定大小解码器。
创建自定义的可变大小解码器:
Remarks
请注意,虽然 createDecoder
对于定义更复杂的解码器很有用,但更常见的是使用 @solana/codecs
包的各种助手和原语将解码器组合在一起。
以下是一些使用 codec 原语而不是 createDecoder
的替代示例。
See
- Decoder
- FixedSizeDecoder
- VariableSizeDecoder
- getStructDecoder
- getU32Decoder
- getUtf8Decoder
- addDecoderSizePrefix
Call Signature
createDecoder<
TTo
>(decoder
):VariableSizeDecoder
<TTo
>
通过使用提供的 read
函数填充缺失的 decode
函数来创建一个 Decoder
。
此实用程序不是手动实现 decode
,而是利用现有的 read
函数和大小属性来生成完整的解码器。提供的 decode
方法将从给定偏移量的 Uint8Array
中读取并返回解码后的值。
如果提供了 fixedSize
属性,则将创建一个 FixedSizeDecoder,否则将创建一个 VariableSizeDecoder。
Type Parameters
Type Parameter | Description |
---|---|
TTo | 解码值的类型。 |
Parameters
Parameter | Type | Description |
---|---|---|
decoder | Omit <VariableSizeDecoder <TTo >, "decode" > | 一个实现了 read 但未实现 decode 的解码器对象。 - 如果解码器具有 fixedSize 属性,则将其视为 FixedSizeDecoder。 - 否则,它被视为 VariableSizeDecoder。 |
Returns
VariableSizeDecoder
<TTo
>
一个功能齐全的 Decoder
,同时具有 read
和 decode
方法。
Examples
创建自定义的固定大小解码器。
创建自定义的可变大小解码器:
Remarks
请注意,虽然 createDecoder
对于定义更复杂的解码器很有用,但更常见的是使用 @solana/codecs
包的各种助手和原语将解码器组合在一起。
以下是一些使用 codec 原语而不是 createDecoder
的替代示例。
See
- Decoder
- FixedSizeDecoder
- VariableSizeDecoder
- getStructDecoder
- getU32Decoder
- getUtf8Decoder
- addDecoderSizePrefix
Call Signature
createDecoder<
TTo
>(decoder
):Decoder
<TTo
>
通过使用提供的 read
函数填充缺失的 decode
函数来创建一个 Decoder
。
此实用程序不是手动实现 decode
,而是利用现有的 read
函数和大小属性来生成完整的解码器。提供的 decode
方法将从给定偏移量的 Uint8Array
中读取并返回解码后的值。
如果提供了 fixedSize
属性,则将创建一个 FixedSizeDecoder,否则将创建一个 VariableSizeDecoder。
Type Parameters
Type Parameter | Description |
---|---|
TTo | 解码值的类型。 |
Parameters
Parameter | Type | Description |
---|---|---|
decoder | Omit <FixedSizeDecoder <TTo , number >, "decode" > | Omit <VariableSizeDecoder <TTo >, "decode" > | 一个实现了 read 但未实现 decode 的解码器对象。 - 如果解码器具有 fixedSize 属性,则将其视为 FixedSizeDecoder。 - 否则,它被视为 VariableSizeDecoder。 |
Returns
Decoder
<TTo
>
一个功能齐全的 Decoder
,同时具有 read
和 decode
方法。
Examples
创建自定义的固定大小解码器。
创建自定义的可变大小解码器:
Remarks
请注意,虽然 createDecoder
对于定义更复杂的解码器很有用,但更常见的是使用 @solana/codecs
包的各种助手和原语将解码器组合在一起。
以下是一些使用 codec 原语而不是 createDecoder
的替代示例。