Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More power to BeamState; types and notifiers #614

Open
slovnicki opened this issue Apr 26, 2023 · 0 comments
Open

More power to BeamState; types and notifiers #614

slovnicki opened this issue Apr 26, 2023 · 0 comments
Assignees
Labels
enhancement New feature or request proposal An idea
Milestone

Comments

@slovnicki
Copy link
Owner

This is a work in progress proposal and will be updated with implementation details

For more details about where this is coming from, visit v2 Roadmap Discussion or v2 Roadmap Wiki.
This issue will be separated into multiple issues when implementation details become clearer;

  • BeamState as a notifier by default
  • Typed beam parameters

Motivation

The goal of Router API was to have declarative routing which is guided by state instead of imperative calls. But, in practice, most developers want completely imperative routing and some scenarios require it. Beamer can be used in both ways, where simple imperative API (Beamer.beamTo*) is default, but we have the ability to create our own states whose change will guide the beaming. We will keep the current imperative high-level API, but will rework the internals slightly so the changes on BeamStates guide beaming directly, instead of BeamState being (by default) just a collection of current routing parameters. Another thing that would be nice to have is strong types on the routing parameter, such as being able to declare that the :id in route should be an integer.

@slovnicki slovnicki added enhancement New feature or request proposal An idea labels Apr 26, 2023
@slovnicki slovnicki added this to the v2 milestone Apr 26, 2023
@slovnicki slovnicki self-assigned this Apr 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request proposal An idea
Projects
None yet
Development

No branches or pull requests

1 participant