isCoder<TDecoded>(value: unknown): value is Coder<TDecoded>
Type guard to check if a value is a Coder.
This function verifies that a value is a Coder by checking for the kCoderKind brand symbol that every coder factory stamps on its coders.
Example 1
Example 1
import { assertEquals } from "@std/assert"; import { isCoder, u16le, u32be } from "@hertzg/binstruct"; // Check valid coders const validCoder = u16le(); assertEquals(isCoder(validCoder), true); const anotherCoder = u32be(); assertEquals(isCoder(anotherCoder), true); // Check invalid values assertEquals(isCoder(null), false); assertEquals(isCoder(undefined), false); assertEquals(isCoder(42), false); assertEquals(isCoder("string"), false); assertEquals(isCoder({ encode: "not a function" }), false); assertEquals(isCoder({ decode: () => {} }), false);