function isCoder
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.

Examples

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);

Type Parameters

TDecoded

Parameters

value: unknown

The value to check

Return Type

value is Coder<TDecoded>

True if the value is a Coder, false otherwise

Usage

import { isCoder } from "mod.ts";