Skip to content

feat: support dynamic attribute handler for component patches - #1

Merged
rickytan merged 5 commits into
mainfrom
feat/attr-handler
Aug 11, 2026
Merged

feat: support dynamic attribute handler for component patches#1
rickytan merged 5 commits into
mainfrom
feat/attr-handler

Conversation

@rickytan

Copy link
Copy Markdown
Owner

Allow attr()/attrs() to accept a function that is invoked on each render with bound to the current component instance proxy, returning the value to apply. Falls back to static JSON arguments when a non-function value is passed.

Allow attr()/attrs() to accept a function that is invoked on each render
with  bound to the current component instance proxy, returning the
value to apply. Falls back to static JSON arguments when a non-function
value is passed.
- Rewrite fixit.test.mjs: remove internal spec/structure asserts, verify
  observable behavior (return values, this-binding, origin delegation,
  dynamic attr handler re-evaluation, fail-closed on throw/clear)
- Expand patch.js demo: add setInterval+clearInterval, multi-level console,
  dynamic attr handler (fontColor/fontSize as functions), reorganize by
  capability with comments
…on, attr handler

- Extract shared test runtime mock into _runtime.mjs (reused by fixit + perf tests)
- 4 perf scenarios with 20% degradation gate: property access, method call,
  origin delegation, attr handler resolution
- All scenarios run ~8-11% degradation, well within the 20% threshold
@rickytan
rickytan merged commit 2a69c3a into main Aug 11, 2026
1 check passed
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