Adds qualified functions (JSON.stringify, Math.pow, etc.)#33
Merged
Conversation
Implements namespaced function calls like JSON.stringify() and Math.pow() for SCXML compatibility. Includes complete lexer and parser support for qualified identifiers, plus comprehensive JSONFunctions and MathFunctions modules. Key features: - Qualified identifier tokenization (JSON.stringify, Math.pow, etc.) - Parser support for namespace.function() syntax - JSONFunctions module with stringify/parse methods - MathFunctions module with pow, sqrt, abs, floor, ceil, round, min, max, random - Comprehensive test coverage (69 new tests) - Thread-safe function registration via evaluator options - Full SCXML specification compliance 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Fixes minor formatting issues in documentation including missing newlines and consistent section spacing. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Removes abs/max/min from SystemFunctions (now in MathFunctions) and resolves all Credo warnings: implicit try blocks, consistent variable naming, and proper module aliases in tests. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Codecov Report❌ Patch coverage is
🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements namespace.function() syntax for SCXML compatibility. Adds JSONFunctions
module with stringify/parse and MathFunctions module with complete mathematical
operations (pow, sqrt, abs, floor, ceil, round, min, max, random). Functions are
automatically available in all evaluations without explicit registration.
Key features:
This captures the main functional change (qualified functions for SCXML compatibility)
while highlighting the key user-facing features and the architectural improvement of
separating function concerns.
Co-Authored-By: Claude noreply@anthropic.com