Function: detectFraming()
detectFraming(
bytes,options?):DetectFramingResult
Detect whether an ASTM byte stream is framed or raw from its leading byte.
- Leading
STX(0x02) orENQ(0x05) ⇒"framed". - A leading bare record letter (
H/P/O/R/C/Q/M/S/L) ⇒"raw". - Anything else (including an empty stream) is ambiguous ⇒ defaults to
"framed"and emits oneASTM_LTP_AMBIGUOUS_TRANSPORTwarning.
An override short-circuits all of the above, returning the forced mode with no
warning.
Parameters
bytes
Uint8Array
The stream to inspect (only the leading byte is read).
options?
DetectFramingOptions = {}
Detection options; an override forces the result.
Returns
The decided framing, whether it was defaulted, and any warning.
Example
import { detectFraming } from "@cosyte/astm";
detectFraming(new Uint8Array([0x02])).framing; // "framed" (STX)
detectFraming(new Uint8Array([0x48])).framing; // "raw" (leading "H")
detectFraming(new Uint8Array([0x2a])).framing; // "framed" (ambiguous → defaulted, + warning)
detectFraming(new Uint8Array([0x48]), { override: "framed" }).framing; // "framed" (forced)