diff --git a/.github/workflows/pr-check-annotation.yml b/.github/workflows/pr-check-annotation.yml index 1eabea7e..d8b8fdef 100644 --- a/.github/workflows/pr-check-annotation.yml +++ b/.github/workflows/pr-check-annotation.yml @@ -18,7 +18,7 @@ jobs: - name: Setup Flutter uses: subosito/flutter-action@v2 with: - flutter-version: 3.41.9 + flutter-version: 3.44.9 channel: stable cache: true - name: Check out repository code diff --git a/.github/workflows/pr-check-example.yml b/.github/workflows/pr-check-example.yml index 1e8c8907..5a4ce14a 100644 --- a/.github/workflows/pr-check-example.yml +++ b/.github/workflows/pr-check-example.yml @@ -18,7 +18,7 @@ jobs: - name: Setup Flutter uses: subosito/flutter-action@v2 with: - flutter-version: 3.41.9 + flutter-version: 3.44.9 channel: stable cache: true - name: Check out repository code diff --git a/.github/workflows/pr-check-generator-test.yml b/.github/workflows/pr-check-generator-test.yml index cdb375ff..00bb696f 100644 --- a/.github/workflows/pr-check-generator-test.yml +++ b/.github/workflows/pr-check-generator-test.yml @@ -18,7 +18,7 @@ jobs: - name: Setup Flutter uses: subosito/flutter-action@v2 with: - flutter-version: 3.41.9 + flutter-version: 3.44.9 channel: stable cache: true - name: Check out repository code diff --git a/.github/workflows/pr-check-generator.yml b/.github/workflows/pr-check-generator.yml index 18d4fb16..129bb1f1 100644 --- a/.github/workflows/pr-check-generator.yml +++ b/.github/workflows/pr-check-generator.yml @@ -18,7 +18,7 @@ jobs: - name: Setup Flutter uses: subosito/flutter-action@v2 with: - flutter-version: 3.41.9 + flutter-version: 3.44.9 channel: stable cache: true - name: Check out repository code diff --git a/packages/generator_tests/pubspec.yaml b/packages/generator_tests/pubspec.yaml index 07da7279..e0fb05ae 100644 --- a/packages/generator_tests/pubspec.yaml +++ b/packages/generator_tests/pubspec.yaml @@ -28,7 +28,7 @@ dependencies: path: ^1.8.2 build_runner: ^2.10.1 code_builder: ^4.11.0 - dart_style: ^3.1.3 + dart_style: ">=3.1.8 <3.1.9" recase: ^4.1.0 reactive_forms_annotations: path: ../reactive_forms_annotations @@ -37,7 +37,7 @@ dependencies: dev_dependencies: json_serializable: build_test: ^3.4.1 - freezed: ^3.2.0 + freezed: 3.2.6-dev.1 test: ^1.25.15 logging: ^1.3.0 reactive_forms_generator: diff --git a/packages/reactive_forms_annotations/CHANGELOG.md b/packages/reactive_forms_annotations/CHANGELOG.md index fb144573..c3db1229 100644 --- a/packages/reactive_forms_annotations/CHANGELOG.md +++ b/packages/reactive_forms_annotations/CHANGELOG.md @@ -1,3 +1,7 @@ +## [8.5.0] + +* analyzer 12 compatibility + ## [8.5.0-beta10] * analyzer 10 compatibility diff --git a/packages/reactive_forms_annotations/pubspec.yaml b/packages/reactive_forms_annotations/pubspec.yaml index c98c5e02..a53a6215 100644 --- a/packages/reactive_forms_annotations/pubspec.yaml +++ b/packages/reactive_forms_annotations/pubspec.yaml @@ -2,7 +2,7 @@ name: reactive_forms_annotations description: Annotations for reactive_forms_generator repository: https://github.com/artflutter/reactive_forms_generator -version: 8.5.0-beta10 +version: 8.5.0 environment: sdk: ">=3.8.0 <4.0.0" diff --git a/packages/reactive_forms_generator/CHANGELOG.md b/packages/reactive_forms_generator/CHANGELOG.md index 0dbc5add..7a198534 100644 --- a/packages/reactive_forms_generator/CHANGELOG.md +++ b/packages/reactive_forms_generator/CHANGELOG.md @@ -1,3 +1,7 @@ +## [8.5.0] + +* analyzer 12 compatibility + ## [8.5.0-beta10] * analyzer 10 compatibility diff --git a/packages/reactive_forms_generator/example/lib/docs/generic_status_list/generic_status_list.gform.dart b/packages/reactive_forms_generator/example/lib/docs/generic_status_list/generic_status_list.gform.dart index 1468b113..5db344df 100644 --- a/packages/reactive_forms_generator/example/lib/docs/generic_status_list/generic_status_list.gform.dart +++ b/packages/reactive_forms_generator/example/lib/docs/generic_status_list/generic_status_list.gform.dart @@ -263,9 +263,9 @@ class StatusListForm String listControlPath() => pathBuilder(listControlName); - List get _listValue => listControl.rawValue.whereType().toList(); + List get _listValue => listControl.value ?? const []; - List get _listRawValue => listControl.rawValue.whereType().toList(); + List get _listRawValue => listControl.value ?? const []; bool get containsList { try { @@ -318,11 +318,8 @@ class StatusListForm disabled: disabled, ); - FormArray get listControl => - form.control(listControlPath()) as FormArray; - - List> get listControlControls => - listControl.controls.cast>(); + FormControl> get listControl => + form.control(listControlPath()) as FormControl>; void listSetDisabled( bool disabled, { @@ -342,48 +339,6 @@ class StatusListForm } } - void addListItem( - T? value, { - List>? asyncValidators, - List>? validators, - int? asyncValidatorsDebounceTime, - bool? disabled, - ValidatorsApplyMode validatorsApplyMode = ValidatorsApplyMode.merge, - }) { - List> resultingValidators = []; - List> resultingAsyncValidators = []; - - switch (validatorsApplyMode) { - case ValidatorsApplyMode.merge: - if (validators != null) { - resultingValidators.addAll(validators); - } - if (asyncValidators != null) { - resultingAsyncValidators.addAll(asyncValidators); - } - break; - case ValidatorsApplyMode.override: - if (validators != null) { - resultingValidators = validators; - } - - if (asyncValidators != null) { - resultingAsyncValidators = asyncValidators; - } - break; - } - - listControl.add( - FormControl( - value: value, - validators: resultingValidators, - asyncValidators: resultingAsyncValidators, - asyncValidatorsDebounceTime: asyncValidatorsDebounceTime ?? 250, - disabled: disabled ?? false, - ), - ); - } - @override StatusList get model { final isValid = !currentForm.hasErrors && currentForm.errors.isEmpty; @@ -523,22 +478,13 @@ class StatusListForm static FormGroup formElements(StatusList? statusList) => FormGroup( { - listControlName: FormArray( - (statusList?.list ?? []) - .map( - (e) => FormControl( - value: e, - validators: [], - asyncValidators: [], - asyncValidatorsDebounceTime: 250, - disabled: false, - ), - ) - .toList(), + listControlName: FormControl>( + value: statusList?.list, validators: [], asyncValidators: [], asyncValidatorsDebounceTime: 250, disabled: false, + touched: false, ), }, validators: [], diff --git a/packages/reactive_forms_generator/example/lib/docs/generic_status_list/generic_status_list_output.gform.dart b/packages/reactive_forms_generator/example/lib/docs/generic_status_list/generic_status_list_output.gform.dart index 6fca6a58..094ac50c 100644 --- a/packages/reactive_forms_generator/example/lib/docs/generic_status_list/generic_status_list_output.gform.dart +++ b/packages/reactive_forms_generator/example/lib/docs/generic_status_list/generic_status_list_output.gform.dart @@ -263,9 +263,9 @@ class StatusListOForm String listControlPath() => pathBuilder(listControlName); - List get _listValue => listControl.rawValue.whereType().toList(); + List get _listValue => listControl.value ?? const []; - List get _listRawValue => listControl.rawValue.whereType().toList(); + List get _listRawValue => listControl.value ?? const []; bool get containsList { try { @@ -318,11 +318,8 @@ class StatusListOForm disabled: disabled, ); - FormArray get listControl => - form.control(listControlPath()) as FormArray; - - List> get listControlControls => - listControl.controls.cast>(); + FormControl> get listControl => + form.control(listControlPath()) as FormControl>; void listSetDisabled( bool disabled, { @@ -342,48 +339,6 @@ class StatusListOForm } } - void addListItem( - T? value, { - List>? asyncValidators, - List>? validators, - int? asyncValidatorsDebounceTime, - bool? disabled, - ValidatorsApplyMode validatorsApplyMode = ValidatorsApplyMode.merge, - }) { - List> resultingValidators = []; - List> resultingAsyncValidators = []; - - switch (validatorsApplyMode) { - case ValidatorsApplyMode.merge: - if (validators != null) { - resultingValidators.addAll(validators); - } - if (asyncValidators != null) { - resultingAsyncValidators.addAll(asyncValidators); - } - break; - case ValidatorsApplyMode.override: - if (validators != null) { - resultingValidators = validators; - } - - if (asyncValidators != null) { - resultingAsyncValidators = asyncValidators; - } - break; - } - - listControl.add( - FormControl( - value: value, - validators: resultingValidators, - asyncValidators: resultingAsyncValidators, - asyncValidatorsDebounceTime: asyncValidatorsDebounceTime ?? 250, - disabled: disabled ?? false, - ), - ); - } - @override @protected StatusListOOutput get model { @@ -524,22 +479,13 @@ class StatusListOForm static FormGroup formElements(StatusListO? statusListO) => FormGroup( { - listControlName: FormArray( - (statusListO?.list ?? []) - .map( - (e) => FormControl( - value: e, - validators: [], - asyncValidators: [], - asyncValidatorsDebounceTime: 250, - disabled: false, - ), - ) - .toList(), + listControlName: FormControl>( + value: statusListO?.list, validators: [], asyncValidators: [], asyncValidatorsDebounceTime: 250, disabled: false, + touched: false, ), }, validators: [], diff --git a/packages/reactive_forms_generator/example/pubspec.yaml b/packages/reactive_forms_generator/example/pubspec.yaml index b4d2ebf1..3c9a772b 100644 --- a/packages/reactive_forms_generator/example/pubspec.yaml +++ b/packages/reactive_forms_generator/example/pubspec.yaml @@ -31,6 +31,6 @@ dev_dependencies: flutter_test: sdk: flutter build_runner: ^2.7.0 - freezed: ^3.2.0 + freezed: 3.2.6-dev.1 json_serializable: ^6.9.5 flutter_lints: ^6.0.0 \ No newline at end of file diff --git a/packages/reactive_forms_generator/lib/src/output/rf_annotation_arguments_visitor.dart b/packages/reactive_forms_generator/lib/src/output/rf_annotation_arguments_visitor.dart index 4fdfd5e0..9ba03bf0 100644 --- a/packages/reactive_forms_generator/lib/src/output/rf_annotation_arguments_visitor.dart +++ b/packages/reactive_forms_generator/lib/src/output/rf_annotation_arguments_visitor.dart @@ -135,7 +135,6 @@ extension on ClassBodyImpl { final EmptyClassBodyImpl body => EmptyClassBodyImpl( semicolon: body.semicolon, ), - _ => this, }; } } diff --git a/packages/reactive_forms_generator/pubspec.yaml b/packages/reactive_forms_generator/pubspec.yaml index 03194820..1b9933b2 100644 --- a/packages/reactive_forms_generator/pubspec.yaml +++ b/packages/reactive_forms_generator/pubspec.yaml @@ -2,7 +2,7 @@ name: reactive_forms_generator description: Generator for reactive_forms. Generates form classes based on model. repository: https://github.com/artflutter/reactive_forms_generator -version: 8.5.0-beta10 +version: 8.5.0 environment: sdk: ">=3.8.0 <4.0.0" @@ -11,12 +11,12 @@ resolution: workspace dependencies: build: ^4.0.1 source_gen: ^4.1.2 - analyzer: ^10.0.0 + analyzer: ^12.0.0 path: ^1.8.1 build_runner: ^2.7.0 code_builder: ^4.10.1 collection: ">=1.0.0 <2.0.0" - dart_style: ^3.0.0 + dart_style: ">=3.1.8 <3.1.9" recase: ^4.1.0 dev_dependencies: diff --git a/pubspec.lock b/pubspec.lock index ace6894f..65fd9e12 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,18 +5,18 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "8d7ff3948166b8ec5da0fbb5962000926b8e02f2ed9b3e51d1738905fbd4c98d" + sha256: a49d6cf99e8d8e7a8e93668d09ced0bbdb954d0b4fccc2f5f9241c6b87fad95c url: "https://pub.dev" source: hosted - version: "93.0.0" + version: "99.0.0" analyzer: dependency: transitive description: name: analyzer - sha256: de7148ed2fcec579b19f122c1800933dfa028f6d9fd38a152b04b1516cec120b + sha256: "663efa951fb8a45e06f491223a604c93820598f20e6a99c25617a1576065e8b7" url: "https://pub.dev" source: hosted - version: "10.0.1" + version: "12.1.0" ansi_styles: dependency: transitive description: @@ -221,10 +221,10 @@ packages: dependency: transitive description: name: dart_style - sha256: "29f7ecc274a86d32920b1d9cfc7502fa87220da41ec60b55f329559d5732e2b2" + sha256: a4c1ccfee44c7e75ed80484071a5c142a385345e658fd8bd7c4b5c97e7198f98 url: "https://pub.dev" source: hosted - version: "3.1.7" + version: "3.1.8" dartz: dependency: transitive description: @@ -292,10 +292,10 @@ packages: dependency: transitive description: name: freezed - sha256: f23ea33b3863f119b58ed1b586e881a46bd28715ddcc4dbc33104524e3434131 + sha256: "8599ba37236328ff6f97269ecce875d251a367eb2929c9bbf9b811b2ce56c74e" url: "https://pub.dev" source: hosted - version: "3.2.5" + version: "3.2.6-dev.1" freezed_annotation: dependency: transitive description: @@ -388,10 +388,10 @@ packages: dependency: transitive description: name: json_serializable - sha256: "44729f5c45748e6748f6b9a57ab8f7e4336edc8ae41fc295070e3814e616a6c0" + sha256: "2c15e78e1cc6e62aadecf59f81566fd56829713d96a8c4177699e2b2e17f20db" url: "https://pub.dev" source: hosted - version: "6.13.0" + version: "6.13.2" leak_tracker: dependency: transitive description: @@ -460,10 +460,10 @@ packages: dependency: transitive description: name: meta - sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" + sha256: "1741988757a65eb6b36abe716829688cf01910bbf91c34354ff7ec1c3de2b349" url: "https://pub.dev" source: hosted - version: "1.17.0" + version: "1.18.0" mime: dependency: transitive description: @@ -721,26 +721,26 @@ packages: dependency: transitive description: name: test - sha256: "280d6d890011ca966ad08df7e8a4ddfab0fb3aa49f96ed6de56e3521347a9ae7" + sha256: "8d9ceddbab833f180fbefed08afa76d7c03513dfdba87ffcec2718b02bbcbf20" url: "https://pub.dev" source: hosted - version: "1.30.0" + version: "1.31.0" test_api: dependency: transitive description: name: test_api - sha256: "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a" + sha256: "949a932224383300f01be9221c39180316445ecb8e7547f70a41a35bf421fb9e" url: "https://pub.dev" source: hosted - version: "0.7.10" + version: "0.7.11" test_core: dependency: transitive description: name: test_core - sha256: "0381bd1585d1a924763c308100f2138205252fb90c9d4eeaf28489ee65ccde51" + sha256: "1991d4cfe85d5043241acac92962c3977c8d2f2add1ee73130c7b286417d1d34" url: "https://pub.dev" source: hosted - version: "0.6.16" + version: "0.6.17" typed_data: dependency: transitive description: