solana-framework
Version:
solana-framework is solana uni-tools for typescript
18 lines (14 loc) • 500 B
text/typescript
import * as beet from '@metaplex-foundation/beet';
const NONE_BYTE_SIZE = beet.coptionNone('').byteSize;
export function tryReadOption<T>(
optionBeet: beet.FixableBeet<T, Partial<T>>,
buf: Buffer,
offset: number,
): [T | null, number, boolean] {
if (buf.subarray(offset).length == 0) {
return [null, NONE_BYTE_SIZE, true];
}
const fixed = optionBeet.toFixedFromData(buf, offset);
const value = fixed.read(buf, offset);
return [value, fixed.byteSize, false];
}