smartstruct_generator 1.4.0 copy "smartstruct_generator: ^1.4.0" to clipboard
smartstruct_generator: ^1.4.0 copied to clipboard

smartstruct - A dart bean mapper annotation processor - the easy nullsafe way!

90/ 160
pub points
1.45k
downloads

We analyzed this package 2 days ago, and awarded it 90 pub points (of a possible 160):

Passed report section
Follow Dart file conventions
30 / 30trigger folding of the section

Passed check 10/10 points: Provide a valid pubspec.yaml

Passed check 5/5 points: Provide a valid README.md

Passed check 5/5 points: Provide a valid CHANGELOG.md

Passed check 10/10 points: Use an OSI-approved license

Detected license: BSD-3-Clause.

Failed report section
Provide documentation
0 / 20trigger folding of the section

Partially passed check 0/10 points: 20% or more of the public API has dartdoc comments

10 out of 73 API elements (13.7 %) have documentation comments.

Providing good documentation for libraries, classes, functions, and other API elements improves code readability and helps developers find and use your API. Document at least 20% of the public API elements.

To highlight public API members missing documentation consider enabling the public_member_api_docs lint.

Some symbols that are missing documentation: NestMapping, NestMapping.NestMapping, NestMapping.NestMapping.NestMapping.new, NestMapping.NestMapping.input, NestMapping.NestMapping.inputNullable.

Failed check 0/10 points: Package has an example

No example found.

See package layout guidelines on how to add an example.

Passed report section
Platform support
20 / 20trigger folding of the section

Passed check 20/20 points: Supports 3 of 6 possible platforms (iOS, Android, Web, Windows, macOS, Linux)

  • ✓ Windows

  • ✓ Linux

  • ✓ macOS

These platforms are not supported:

Package not compatible with platform Android

Because:

  • package:smartstruct_generator/code_builders/class_builder.dart that imports:
  • package:smartstruct_generator/code_builders/parameter_copy.dart that imports:
  • package:source_gen/source_gen.dart that imports:
  • package:source_gen/src/type_checker.dart that imports:
  • dart:mirrors
Package not compatible with platform iOS

Because:

  • package:smartstruct_generator/code_builders/class_builder.dart that imports:
  • package:smartstruct_generator/code_builders/parameter_copy.dart that imports:
  • package:source_gen/source_gen.dart that imports:
  • package:source_gen/src/type_checker.dart that imports:
  • dart:mirrors
Package not compatible with platform Web

Because:

  • package:smartstruct_generator/code_builders/assignment_builder.dart that imports:
  • package:smartstruct_generator/models/source_assignment.dart that imports:
  • package:smartstruct_generator/models/RefChain.dart that imports:
  • package:analyzer/dart/element/type.dart that imports:
  • package:analyzer/src/dart/element/type.dart that imports:
  • package:analyzer/src/generated/utilities_dart.dart that imports:
  • package:analyzer/src/dart/element/element.dart that imports:
  • package:analyzer/src/summary2/reference.dart that imports:
  • package:analyzer/dart/element/element.dart that imports:
  • package:analyzer/src/task/api/model.dart that imports:
  • package:analyzer/src/generated/source.dart that imports:
  • package:analyzer/src/generated/engine.dart that imports:
  • package:analyzer/error/listener.dart that imports:
  • package:analyzer/error/error.dart that imports:
  • package:analyzer/src/error/error_code_values.g.dart that imports:
  • package:analyzer/src/generated/parser.dart that imports:
  • package:analyzer/src/fasta/ast_builder.dart that imports:
  • package:analyzer/src/dart/ast/extensions.dart that imports:
  • package:analyzer/src/dart/ast/ast.dart that imports:
  • package:analyzer/src/generated/resolver.dart that imports:
  • package:analyzer/src/generated/static_type_analyzer.dart that imports:
  • package:analyzer/src/dart/resolver/invocation_inference_helper.dart that imports:
  • package:analyzer/src/dart/resolver/invocation_inferrer.dart that imports:
  • package:analyzer/src/dart/element/type_system.dart that imports:
  • package:analyzer/src/dart/element/well_bounded.dart that imports:
  • package:analyzer/src/dart/element/type_algebra.dart that imports:
  • package:analyzer/src/summary2/record_type_builder.dart that imports:
  • package:analyzer/src/dart/element/type_visitor.dart that imports:
  • package:analyzer/src/summary2/named_type_builder.dart that imports:
  • package:analyzer/src/summary2/link.dart that imports:
  • package:analyzer/src/summary2/top_level_inference.dart that imports:
  • package:analyzer/src/task/strong_mode.dart that imports:
  • package:analyzer/src/dart/element/inheritance_manager3.dart that imports:
  • package:analyzer/src/dart/element/member.dart that imports:
  • package:analyzer/dart/analysis/session.dart that imports:
  • package:analyzer/file_system/file_system.dart that imports:
  • package:analyzer/src/file_system/file_system.dart that imports:
  • package:analyzer/src/util/uri.dart that imports:
  • package:analyzer/src/summary/package_bundle_reader.dart that imports:
  • dart:io
Failed report section
Pass static analysis
30 / 50trigger folding of the section

Failed check 30/50 points: code has no errors, warnings, lints, or formatting issues

Found 31 issues. Showing the first 2:

WARNING: The value of the local variable 'fieldClazz' isn't used.

lib/code_builders/method_builder.dart:205:17

    ╷
205 │           final fieldClazz = f.type.element2 as ClassElement;
    │                 ^^^^^^^^^^
    ╵

To reproduce make sure you are using the lints_core and run dart analyze lib/code_builders/method_builder.dart

WARNING: The declaration '_findMatchingSourceClazzInMapping' isn't referenced.

lib/code_builders/method_builder.dart:260:20

    ╷
260 │ List<List<String>> _findMatchingSourceClazzInMapping(
    │                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ╵

To reproduce make sure you are using the lints_core and run dart analyze lib/code_builders/method_builder.dart

Failed report section
Support up-to-date dependencies
10 / 40trigger folding of the section

Failed check 0/10 points: All of the package dependencies are supported in the latest version

Package Constraint Compatible Latest Notes
analyzer >=5.0.0 <6.0.0 5.13.0 10.0.0
build ^2.3.1 2.4.1 4.0.3
code_builder ^4.4.0 4.11.1 4.11.1
path ^1.8.1 1.9.1 1.9.1
smartstruct ^1.4.0 1.4.0 1.4.0
source_gen ^1.2.1 1.5.0 4.1.1
Transitive dependencies
Package Constraint Compatible Latest Notes
_fe_analyzer_shared - 61.0.0 93.0.0
args - 2.7.0 2.7.0
async - 2.13.0 2.13.0
boolean_selector - 2.1.2 2.1.2
built_collection - 5.1.1 5.1.1
built_value - 8.12.1 8.12.1
collection - 1.19.1 1.19.1
convert - 3.1.2 3.1.2
crypto - 3.0.7 3.0.7
dart_style - 2.3.2 3.1.3
file - 7.0.1 7.0.1
fixnum - 1.1.1 1.1.1
glob - 2.1.3 2.1.3
logging - 1.3.0 1.3.0
matcher - 0.12.18 0.12.18
meta - 1.17.0 1.17.0
package_config - 2.2.0 2.2.0
pub_semver - 2.2.0 2.2.0
source_span - 1.10.1 1.10.1
stack_trace - 1.12.1 1.12.1
stream_channel - 2.1.4 2.1.4
string_scanner - 1.4.1 1.4.1
term_glyph - 1.2.2 1.2.2
test_api - 0.7.9 0.7.9
typed_data - 1.4.0 1.4.0
watcher - 1.2.1 1.2.1
yaml - 3.1.3 3.1.3

To reproduce run dart pub outdated --no-dev-dependencies --up-to-date --no-dependency-overrides.

Found 3 issues. Showing the first 2:

The constraint `>=5.0.0 <6.0.0` on analyzer does not support the stable version `6.0.0`.

Try running dart pub upgrade --major-versions analyzer to update the constraint.

The constraint `^2.3.1` on build does not support the stable version `3.0.0`.

Try running dart pub upgrade --major-versions build to update the constraint.

Passed check 10/10 points: Package supports latest stable Dart and Flutter SDKs

Failed check 0/20 points: Compatible with dependency constraint lower bounds

downgrade analysis failed failed with 7 errors:

  • UNDEFINED_GETTER - lib/code_builders/method_builder.dart:134:21 - The getter 'element' isn't defined for the type 'InterfaceType'.
  • UNCHECKED_USE_OF_NULLABLE_VALUE - lib/code_builders/method_builder.dart:137:53 - The property 'accessors' can't be unconditionally accessed because the receiver can be 'null'.
  • RETURN_OF_INVALID_TYPE_FROM_CLOSURE - lib/code_builders/method_builder.dart:137:78 - The returned type 'Object?' isn't returnable from a 'Iterable<_>' function, as required by the closure's context.

Run dart pub downgrade and then dart analyze to reproduce the above problem.

You may run dart pub upgrade --tighten to update your dependency constraints, see dart.dev/go/downgrade-testing for details.

Analyzed with Pana 0.23.5, Dart 3.10.7.

Check the analysis log for details.

Weekly downloads

Display as:
By versions:
2
likes
90
points
1.45k
downloads

Publisher

unverified uploader

Weekly Downloads

smartstruct - A dart bean mapper annotation processor - the easy nullsafe way!

Repository (GitHub)
View/report issues
Contributing

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

analyzer, build, code_builder, path, smartstruct, source_gen

More

Packages that depend on smartstruct_generator