function factChunk
factChunk(): Coder<FactChunk>

Creates a coder for fact chunks.

Encodes and decodes fact chunk structures with:

  • 4-byte chunk ID ("fact")
  • 4-byte chunk size (always 4)
  • 4-byte sample length

Examples

Basic fact chunk encoding and decoding

import { assertEquals } from "@std/assert";
import { factChunk } from "@binstruct/wav";

const factCoder = factChunk();
const testFact = {
  chunkId: "fact",
  chunkSize: 4,
  sampleLength: 44100
};

const buffer = new Uint8Array(100);
const bytesWritten = factCoder.encode(testFact, buffer);
const [decoded, bytesRead] = factCoder.decode(buffer);

assertEquals(bytesRead, 12);
assertEquals(bytesWritten, 12);
assertEquals(decoded.chunkId, "fact");
assertEquals(decoded.chunkSize, 4);
assertEquals(decoded.sampleLength, 44100);

Return Type

Coder<FactChunk>

A coder that can encode/decode FactChunk objects

Usage

import { factChunk } from ".";