v5.11.0
Minor Changes
- #222
221d3b7Thanks @DylanPiercey! - Replace TypeScript enums with erasable const modules so the source runs directly under node's type stripping. The publicTagType,ErrorCode, andValidityvalues keep their runtime shape and values, and their types are now the equivalent literal unions. Constant values remain fully inlined in the published bundles.
Patch Changes
-
#223
3c95d7fThanks @DylanPiercey! - Speed up expression parsing by skipping work that provably cannot match. An
identifier/number character is never whitespace, never a terminator (no
shouldTerminateimplementation matches a word character), and is not handled
by the expression switch, so it now takes a fast path that just advances the
position. The unary/binary operator keyword scans also bail out immediately when
the surrounding character cannot start or end a keyword. This improves
steady-state parsing throughput with no behavior change. -
#220
85c8973Thanks @DylanPiercey! - Refactor parser to allow individual states to process multiple characters. This allows for eager scanning, simplifies things some, and improves performance by about 30% in realworld tempaltes.