UNPKG

katex

Version:

Fast math typesetting for the web.

34 lines (28 loc) 785 B
/** * Small module for atom-group constants and type guard. Kept separate from * `symbols.ts` so that consumers (notably `contrib/render-a11y-string`) can * pull in `isAtom` without dragging in the ~870-line symbol tables. */ const atomList = [ "bin", "close", "inner", "open", "punct", "rel", ] as const; const nonAtomList = [ "accent-token", "mathord", "op-token", "spacing", "textord", ] as const; const Atoms: ReadonlySet<string> = new Set(atomList); export const NonAtoms: ReadonlySet<string> = new Set(nonAtomList); export type Atom = typeof atomList[number]; type NonAtom = typeof nonAtomList[number]; export type Group = Atom | NonAtom; export function isAtom(value: string): value is Atom { return Atoms.has(value); }