Variable: FATAL_CODES
constFATAL_CODES:object
Stable string codes for every Tier-3 fatal the parser may throw. Consumers
narrow on err.code to react to specific structural or safety failures.
Each code is its own value (key === value) so the set survives
Object.values(...) into a snapshot tripwire. Renaming a code is a
breaking change.
Type Declaration
ELEMENT_DEPTH_LIMIT_EXCEEDED
readonlyELEMENT_DEPTH_LIMIT_EXCEEDED:"ELEMENT_DEPTH_LIMIT_EXCEEDED"="ELEMENT_DEPTH_LIMIT_EXCEEDED"
ENTITY_EXPANSION_LIMIT
readonlyENTITY_EXPANSION_LIMIT:"ENTITY_EXPANSION_LIMIT"="ENTITY_EXPANSION_LIMIT"
INPUT_SIZE_LIMIT_EXCEEDED
readonlyINPUT_SIZE_LIMIT_EXCEEDED:"INPUT_SIZE_LIMIT_EXCEEDED"="INPUT_SIZE_LIMIT_EXCEEDED"
NODE_COUNT_LIMIT_EXCEEDED
readonlyNODE_COUNT_LIMIT_EXCEEDED:"NODE_COUNT_LIMIT_EXCEEDED"="NODE_COUNT_LIMIT_EXCEEDED"
NOT_A_CLINICAL_DOCUMENT
readonlyNOT_A_CLINICAL_DOCUMENT:"NOT_A_CLINICAL_DOCUMENT"="NOT_A_CLINICAL_DOCUMENT"
NOT_WELL_FORMED_XML
readonlyNOT_WELL_FORMED_XML:"NOT_WELL_FORMED_XML"="NOT_WELL_FORMED_XML"
XXE_OR_DTD_PRESENT
readonlyXXE_OR_DTD_PRESENT:"XXE_OR_DTD_PRESENT"="XXE_OR_DTD_PRESENT"
Example
import { parseCcda, FATAL_CODES, CcdaParseError } from "@cosyte/ccda";
try {
parseCcda(hostileXml);
} catch (err) {
if (err instanceof CcdaParseError && err.code === FATAL_CODES.XXE_OR_DTD_PRESENT) {
// reject the document, it declared a DTD / external entity
}
}