Skip to content

fix: Use String type for Style.bind return value#23888

Merged
Legioth merged 1 commit intomainfrom
use-string-type-for-style-binding
Mar 16, 2026
Merged

fix: Use String type for Style.bind return value#23888
Legioth merged 1 commit intomainfrom
use-string-type-for-style-binding

Conversation

@mshabarov
Copy link
Contributor

Change Style.bind(String, Signal) return type from SignalBinding<?> to SignalBinding since the method always accepts a Signal and we always know the value type is String.

This provides better type safety and eliminates the need for casts when using the binding's onChange callbacks.

Changes:

  • Style.bind: return SignalBinding instead of SignalBinding<?>
  • BasicElementStyle.bind: update implementation
  • ImmutableEmptyStyle.bind: update implementation
  • AbstractPropertyMap.bindSignal: make generic with type parameter
  • StyleBindTest: update tests to use typed BindingContext
  • StyleBindTest: add test to verify typed return value

🤖 Generated with Claude Code

Change Style.bind(String, Signal<String>) return type from
SignalBinding<?> to SignalBinding<String> since the method
always accepts a Signal<String> and we always know the value
type is String.

This provides better type safety and eliminates the need for
casts when using the binding's onChange callbacks.

Changes:
- Style.bind: return SignalBinding<String> instead of SignalBinding<?>
- BasicElementStyle.bind: update implementation
- ImmutableEmptyStyle.bind: update implementation
- AbstractPropertyMap.bindSignal: make generic with type parameter <T>
- StyleBindTest: update tests to use typed BindingContext<String>
- StyleBindTest: add test to verify typed return value

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@sonarqubecloud
Copy link

@github-actions
Copy link

Test Results

 1 384 files   1 384 suites   1h 25m 12s ⏱️
 9 909 tests  9 838 ✅ 71 💤 0 ❌
10 382 runs  10 302 ✅ 80 💤 0 ❌

Results for commit 555e7e0.

@Legioth Legioth merged commit 50aba91 into main Mar 16, 2026
51 of 52 checks passed
@Legioth Legioth deleted the use-string-type-for-style-binding branch March 16, 2026 10:54
vaadin-bot pushed a commit that referenced this pull request Mar 16, 2026
Change `Style.bind(String, Signal<String>)` return type from
`SignalBinding<?>` to `SignalBinding<String>` since the method
always accepts a `Signal<String>` and we always know the value
type is String.

This provides better type safety and eliminates the need for
casts when using the binding's `onChange` callbacks.
mshabarov added a commit that referenced this pull request Mar 16, 2026
Change `Style.bind(String, Signal<String>)` return type from
`SignalBinding<?>` to `SignalBinding<String>` since the method
always accepts a `Signal<String>` and we always know the value
type is String.

This provides better type safety and eliminates the need for
casts when using the binding's `onChange` callbacks.

Co-authored-by: Mikhail Shabarov <61410877+mshabarov@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants