Skip to content

Support formatString interpolation (#7)#17

Merged
23min merged 1 commit intomainfrom
feature/format-string
Feb 11, 2026
Merged

Support formatString interpolation (#7)#17
23min merged 1 commit intomainfrom
feature/format-string

Conversation

@23min
Copy link
Owner

@23min 23min commented Feb 11, 2026

Summary

  • Add FormatStringResolver — processes ${expression} placeholders in v0.9 formatString FunctionCall objects
  • Wire into A2UIComponentBase.GetString() — component properties that are {"call": "formatString", "args": {"value": "..."}} objects now interpolate expressions against the data model
  • Supports absolute paths (${/user/name}), relative paths (${name} in list scope), escape (\${), and spec-compliant type coercion (null → "", numbers/bools → string, objects/arrays → JSON)

Test plan

  • 20 unit tests for FormatStringResolver covering interpolation, coercion, escaping, and edge cases
  • 2 bUnit integration tests for A2UIText with formatString FunctionCall properties
  • All 196 tests pass
  • Zero build warnings

🤖 Generated with Claude Code

Add FormatStringResolver that processes ${expression} placeholders
in v0.9 formatString FunctionCall objects. Expressions resolve
absolute (/path) and relative (name) JSON Pointer paths against
the data model with spec-compliant type coercion.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@23min 23min merged commit 7f874b9 into main Feb 11, 2026
2 checks passed
@23min 23min deleted the feature/format-string branch February 11, 2026 11:13
@23min 23min mentioned this pull request Feb 11, 2026
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant