All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add async expand and compile exports under
expand-value/asyncfor resolving promise-backed values. - Add a
resolveoption for customizing value resolution during property access. - Add support for nested computed bracket expressions such as
themes[config[setting]].background. - Add subpath exports for source modules, node classes, and async helpers.
- Add async examples and test coverage for nested promise resolution.
- Update build output to include all TypeScript source entries.
- Update the test suite to use
tsxwith*.test.tsfiles. - Replace the legacy ESLint configuration with a flat ESLint config.
- Tighten internal TypeScript types by replacing broad
anyusage withunknown.
- Resolve values consistently when accessing identifiers, quoted keys, symbols, numbers, ranges, and direct paths.
- Normalize expression node names for number and binary expression parsing.
- Implement bracket-notation support for nested value retrieval in
src/expression.ts. - Update
src/compile.tsto integrate changes for enhanced expression parsing. - Add corresponding tests in
test/expand-value.tsto cover new features.
- TypeScript support with full type definitions
- Symbol data type support with
Symbol.for()parsing - Number data type support including special values (
NaN,Infinity,-Infinity,-0) - Bracket notation property access (
[property]) optimization - Negative array index support
- Advanced string segmentation using
Intl.Segmenter - Enhanced error handling and validation
- Security improvements with
isSafeKeyvalidation
- Helper function improvements for better null/undefined handling
- Enhanced Unicode support with grapheme cluster handling for strings
- Enhanced
sizehelper to return1fornullvalues - Improved regular expressions for better parsing accuracy
- Enhanced method detection regex for bracket notation
- Better escape sequence handling in string parsing
- Optimized property access with direct bracket notation support
- Improved helper function resolution and context management
- Prototype pollution prevention with
__proto__,constructor, andprototypekey filtering - Proper handling of escaped characters in identifiers
- Better Unicode character boundary detection
- Improved error messages for undefined variables
- Enhanced validation for object property access
- Fixed context preservation for nested function calls