feat(transloco): support nested array of scopes#650
Open
dmitry-stepanenko wants to merge 1 commit intojsverse:masterfrom
Open
feat(transloco): support nested array of scopes#650dmitry-stepanenko wants to merge 1 commit intojsverse:masterfrom
dmitry-stepanenko wants to merge 1 commit intojsverse:masterfrom
Conversation
|
|
| type ScopeResolverParams = { | ||
| inline: string | undefined; | ||
| provider: MaybeArray<TranslocoScope>; | ||
| provider: TranslocoScope; |
Author
There was a problem hiding this comment.
I believe this was done unintentionally, scope resolver is not able to process array of scopes. There's no compilation error only because of isScopeObject type guard, that is also not supposed to handle array of scopes
| "inlineSources": true, | ||
| "types": [], | ||
| "lib": ["dom", "es2018"] | ||
| "lib": ["dom", "es2019"] |
Author
There was a problem hiding this comment.
to be able to use Array.prototype.flat()
Author
|
@shaharkazaz will you be able to look at this? An issue on our side appears to be quite serious. Appreciated in advance 🙏 |
c068fa2 to
d2ade9f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Checklist
Please check if your PR fulfills the following requirements:
PR Type
What kind of change does this PR introduce?
What is the current behavior?
Right now transloco is able to resolve only 1-level array of scopes. This works fine with straightforward approach when using
{ provide: TRANSLOCO_SCOPE, useValue: scope, multi: true }. However, it might be needed to pass an array of scopes within single provider.What is the new behavior?
This change allows to use the following syntax
In my scenario there's a big amount of scopes that we're using. They're provided either as component or module providers. And there's a limitation related to Angular's injection hierarchy: it resolves ElementInjectors before ModuleInjectors and if TRANSLOCO_SCOPE is provided on the ElementInjector level, it won't grab module injectors at all. To overcome this I want to grab all parent scopes and provide them explicitly
This approach requires transloco to be able to work with nested arrays of scopes. This PR does not introduce any changes to existing behavior, only enhances it so that it is possible to provide arrays under
TRANSLOCO_SCOPEDoes this PR introduce a breaking change?
Setting
yesas there's a change toMaybeArrayinterface, that might not be compatible with all implementationsOther information