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

Re-explore scoped variants #41

Open
paarthenon opened this issue Jul 15, 2022 · 1 comment
Open

Re-explore scoped variants #41

paarthenon opened this issue Jul 15, 2022 · 1 comment
Labels
design A higher-level task that involves some systemic considerations enhancement New feature or request

Comments

@paarthenon
Copy link
Owner

paarthenon commented Jul 15, 2022

Scoped variants, while functional, were created before TS had template literal types. Now that we live in that world, there are most likely better ways to implement scoped variants and more powerful functionality we can include. Perhaps better support for arbitrary separators.

There's also a conversation to be had on what would make the best separators. Some candidates would be

  • ., probably my current favorite. It's clear and concise, but because it's so commonly used to scope things people may already be in the habit of using foo.bar.baz as a key. That would break the functionality intended to separate variant scopes, so another separator might be preferred.
  • ::, classic from C++ and more.
  • | I personally enjoy the aesthetic but more commonly used to pipeline.
  • -
  • /
@paarthenon paarthenon added enhancement New feature or request design A higher-level task that involves some systemic considerations labels Jul 15, 2022
@paarthenon
Copy link
Owner Author

As I revisit this I feel that it is worthwhile but should not prevent the release of 3.0. Please feel free to provide feedback if this is more urgent than I expect or if you would like to contribute. Until then I feel this can be introduced in future 3.X releases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design A higher-level task that involves some systemic considerations enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant