feat: v0.1.0 - simplify form APIs, support Dart 3.13 + analyzer 13.x - #12
Open
jeroen-meijer wants to merge 16 commits into
Open
feat: v0.1.0 - simplify form APIs, support Dart 3.13 + analyzer 13.x#12jeroen-meijer wants to merge 16 commits into
jeroen-meijer wants to merge 16 commits into
Conversation
Remove FormBody/FormErrors generics, add @fieldrequired annotation, support redirecting factories with auto-wrapping via GenericFormField, and replace Equatable with explicit operator==/hashCode.
jeroen-meijer
marked this pull request as draft
August 6, 2026 11:00
jeroen-meijer
marked this pull request as ready for review
August 6, 2026 12:00
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.
Note
I no longer have push access to this repo. The branch now lives at jeroen-meijer/shape@feat/v0.1.0.
Description
This PR reworks the
shapeandshape_generatorAPIs for v0.1.0, cutting form boilerplate while keeping generated behavior explicit and tested.API changes
FormBodyandFormErrorsgeneric type parameters from the public APISimpleFormField<T, E>and@FieldRequired()for required validation on optional paramsGenericFormFieldwrapping for plain params in the generatorEquatablefrom the generated/public API path; generateoperator ==andhashCodeinsteadshape_generatorshape,shape_generator, and example packageDart 3.13 / analyzer upgrade
>=3.13.0across all packagesshape_generator:analyzerbumped to>=13.3.0 <15.0.0,buildto^4.0.8NamedExpressiontoNamedArgumentAPI (name.label.nametoname.lexeme,expressiontoargumentExpression)ConstructorDeclarationnode for those)test,build_runner,build