Core buffers
@webbuf/rw
Read and write buffers, optimized with Rust/WASM
Install
npm install @webbuf/rw Usage
import { BufWriter } from "@webbuf/rw";
import { U8, U16BE, U32BE, U64BE } from "@webbuf/numbers";
import { FixedBuf } from "@webbuf/fixedbuf";
const writer = new BufWriter();
// Write numbers
writer.writeU8(new U8(255));
writer.writeU16BE(new U16BE(1000));
writer.writeU32BE(new U32BE(123456));
writer.writeU64BE(new U64BE(0x123456789abcdef0n));
// Write fixed buffers
const hash = FixedBuf.fromRandom<32>(32);
writer.writeFixed(hash);
// Write variable-length data
writer.writeVarIntU64BE(new U64BE(1000n));
// Get result
const buf = writer.toBuf(); API reference (2 exports)
Classes
BufReader
classconstructor(buf: WebBuf): BufReader
buf: WebBuf
pos: number
eof(): boolean
read(len: number): WebBuf
readFixed<N extends number>(len: N): FixedBuf<N>
readRemainder(): WebBuf
readU8(): U8
readU16BE(): U16BE
readU32BE(): U32BE
readU64BE(): U64BE
readU128BE(): U128BE
readU256BE(): U256BE
readVarIntBEBuf(): WebBuf
readVarIntU64BE(): U64BE BufWriter
classconstructor(bufs?: WebBuf[]): BufWriter
static varIntU64BEBuf(bn: U64BE): WebBuf
bufs: WebBuf[]
getLength(): number
toBuf(): WebBuf
write(buf: WebBuf): BufWriter
writeU8(u8: U8): BufWriter
writeU16BE(u16: U16BE): BufWriter
writeU32BE(u32: U32BE): BufWriter
writeU64BE(u64: U64BE): BufWriter
writeU128BE(u128: U128BE): BufWriter
writeU256BE(u256: U256BE): BufWriter
writeVarIntU64BE(u64: U64BE): BufWriter