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.
- Testing: Improved test coverage to 99.75% statement coverage and 98.5% branch coverage
- Documentation: Added comprehensive development guide to README.md
- Testing: Added edge cases for parser error handling and formula parsing
- Code Quality: Enhanced test suite with 12 additional test cases for better reliability
- Development: New test cases for
TermParserandExprParsercovering edge cases - Documentation: Complete project architecture documentation in README.md
- Testing: Comprehensive coverage for multiplication and division operator edge cases
- Core functionality for attribute path traversal
- Support for object property and array index access
- Formula parsing capabilities with mathematical expressions
- Unicode character support for international keys
- Dual module support (CommonJS and ESM)
traverse(target, path, default_value?)- Safe object path navigationupdate(target, path, value)- Update values at specific pathsis_valid(path)- Path syntax validation- Support for complex path expressions:
.property,['property'],[index] - Mixed path support:
.children.john.hobby[1].name - Dot-containing keys:
['children.john']
- Parser System: Robust BNF grammar-based parsing
- Handler Pattern: Clean separation of parsing and value operations
- Stream Processing: Efficient character-by-character parsing
- Type Safety: Full TypeScript support with strict mode
- Testing: Jest-based test suite with high coverage
- CommonJS: Built to
dist/usingtsconfig.json - ESM: Built to
dist/esm/usingtsconfig.esm.json - Both builds include TypeScript declarations and source maps
- TypeDoc documentation generation
updatemethod implementation- Enhanced path validation
- Fixed to work correctly when the key contains "."
- Improved handling of quoted property names
- Initial stable release
- Basic path traversal functionality
- Support for nested objects and arrays
- Safe object traversal without throwing errors
- Support for both dot notation and bracket notation
- Default value handling
- Added: New features
- Enhanced: Improvements to existing features
- Fixed: Bug fixes
- Technical: Internal improvements
- Documentation: Documentation updates
- Build System: Build and deployment changes