feat(vscode): add useUnionTypes setting #4348
Open
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.
Status
READY
Breaking Changes
NO
Description
Adds a new
useUnionTypes
setting to bothnewBlocTemplate
andnewCubitTemplate
. Defaults totrue
to backwards compatibility. When turned off, state classes will be generated as a single freezed class rather than using unions.Also brings support for the existing
useSealedClasses
to freezed state generation. I'm happy to remove this from the change set if you'd prefer not changing two things in the same PR but it did seem harmless enough...Example class generated with the setting as
true
(the default)Example class generated with the setting as
false
This is useful if you prefer states that can rely solely on the
copyWith
generated from freezed to emit state changes. For example:No need for an initial state here and for changes we can just use
emit(state.copyWith( count: state.count + 1 ))
.Or if you prefer to maintain existing data between states:
Here, we can trigger loading without emitting a
TodoState.loading()
which would lost our currentdata
withemit(state.copyWith( loading: true ))
.Type of Change