Type Alias: DicomValue
DicomValue = {
kind:"empty"; } | {kind:"text";value:string;warnings?: readonlyDicomParseWarning[]; } | {kind:"strings";values: readonlystring[];warnings?: readonlyDicomParseWarning[]; } | {kind:"personName";values: readonlyPersonName[];warnings?: readonlyDicomParseWarning[]; } | {kind:"numbers";values: readonlynumber[]; } | {kind:"bigints";values: readonlybigint[]; } | {kind:"attributeTags";values: readonlyTag[]; } | {kind:"decimalString";values: readonly (number|null)[];warnings?: readonlyDicomParseWarning[]; } | {kind:"integerString";values: readonly (number|null)[];warnings?: readonlyDicomParseWarning[]; } | {kind:"dates";values: readonlyDicomDate[];warnings?: readonlyDicomParseWarning[]; } | {kind:"times";values: readonlyDicomTime[];warnings?: readonlyDicomParseWarning[]; } | {kind:"dateTimes";values: readonlyDicomDateTime[];warnings?: readonlyDicomParseWarning[]; } | {bytes:Buffer;kind:"binary"; } | {items: readonlyItem[];kind:"sequence"; }
The lazily-decoded value of an Element, as a discriminated union
on kind. See the module doc for the VR → kind mapping. Narrow on kind
(the switch-exhaustiveness-check lint rule keeps consumers honest).
Example
import { parseDicom } from "@cosyte/dicom";
const ds = parseDicom(buf);
const v = ds.get("00100010")?.value; // Patient's Name (PN)
if (v?.kind === "personName") {
console.log(v.values[0]?.alphabetic.familyName);
}