flexible_json_serializable 1.0.5 copy "flexible_json_serializable: ^1.0.5" to clipboard
flexible_json_serializable: ^1.0.5 copied to clipboard

Base on json_serializable package Automatically generate code for converting to and from JSON by annotating Dart classes.

4
likes
120/ 160
pub points
71
downloads

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

OK
Follow Dart file conventions
30 / 30trigger folding of the section

10/10 points: Provide a valid pubspec.yaml

5/5 points: Provide a valid README.md

5/5 points: Provide a valid CHANGELOG.md

10/10 points: Use an OSI-approved license

Detected license: BSD-3-Clause.

OK
Provide documentation
20 / 20trigger folding of the section

10/10 points: 20% or more of the public API has dartdoc comments

53 out of 122 API elements (43.4 %) have documentation comments.

Some symbols that are missing documentation: json_serializable, json_serializable.JsonEnumGenerator, json_serializable.JsonEnumGenerator.JsonEnumGenerator, json_serializable.JsonEnumGenerator.throwOnUnresolved, json_serializable.JsonEnumGenerator.typeChecker.

10/10 points: Package has an example

failed
Platform support
20 / 20trigger folding of the section

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:flexible_json_serializable/builder.dart that imports:
  • package:flexible_json_serializable/src/json_part_builder.dart that imports:
  • package:flexible_json_serializable/src/settings.dart that imports:
  • package:flexible_json_serializable/src/type_helpers/value_helper.dart that imports:
  • package:flexible_json_serializable/src/utils.dart that imports:
  • package:flexible_json_serializable/src/shared_checkers.dart that imports:
  • package:source_helper/source_helper.dart that imports:
  • package:source_helper/src/dart_type_extension.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:flexible_json_serializable/builder.dart that imports:
  • package:flexible_json_serializable/src/json_part_builder.dart that imports:
  • package:flexible_json_serializable/src/settings.dart that imports:
  • package:flexible_json_serializable/src/type_helpers/value_helper.dart that imports:
  • package:flexible_json_serializable/src/utils.dart that imports:
  • package:flexible_json_serializable/src/shared_checkers.dart that imports:
  • package:source_helper/source_helper.dart that imports:
  • package:source_helper/src/dart_type_extension.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:flexible_json_serializable/builder.dart that imports:
  • package:flexible_json_serializable/src/json_part_builder.dart that imports:
  • package:flexible_json_serializable/src/settings.dart that imports:
  • package:flexible_json_serializable/src/type_helpers/value_helper.dart that imports:
  • package:flexible_json_serializable/src/utils.dart that imports:
  • package:flexible_json_serializable/src/type_helpers/config_types.dart that imports:
  • package:analyzer/dart/constant/value.dart that imports:
  • package:analyzer/dart/element/type.dart that imports:
  • package:analyzer/src/dart/element/type.dart that imports:
  • package:analyzer/src/dart/element/type_system.dart that imports:
  • package:analyzer/src/generated/inference_log.dart that imports:
  • package:analyzer/src/generated/resolver.dart that imports:
  • package:analyzer/src/util/ast_data_extractor.dart that imports:
  • package:analyzer/dart/element/element.dart that imports:
  • package:analyzer/src/generated/utilities_dart.dart that imports:
  • package:analyzer/src/dart/element/element.dart that imports:
  • package:analyzer/src/utilities/extensions/element.dart that imports:
  • package:analyzer/src/dart/element/member.dart that imports:
  • package:analyzer/src/generated/engine.dart that imports:
  • package:analyzer/error/listener.dart that imports:
  • package:analyzer/dart/ast/ast.dart that imports:
  • package:analyzer/src/dart/ast/ast.dart that imports:
  • package:analyzer/src/dart/resolver/typed_literal_resolver.dart that imports:
  • package:analyzer/src/dart/element/type_schema.dart that imports:
  • package:analyzer/src/dart/element/type_visitor.dart that imports:
  • package:analyzer/src/summary2/record_type_builder.dart that imports:
  • package:analyzer/src/dart/ast/extensions.dart that imports:
  • package:analyzer/dart/element/element2.dart that imports:
  • package:analyzer/dart/analysis/session.dart that imports:
  • package:analyzer/file_system/file_system.dart that imports:
  • package:watcher/watcher.dart that imports:
  • package:watcher/src/file_watcher/polling.dart that imports:
  • package:watcher/src/stat.dart that imports:
  • dart:io

0/0 points: WASM compatibility

Package not compatible with runtime wasm

Because:

  • package:flexible_json_serializable/builder.dart that imports:
  • package:flexible_json_serializable/src/json_part_builder.dart that imports:
  • package:flexible_json_serializable/src/settings.dart that imports:
  • package:flexible_json_serializable/src/type_helpers/value_helper.dart that imports:
  • package:flexible_json_serializable/src/utils.dart that imports:
  • package:flexible_json_serializable/src/type_helpers/config_types.dart that imports:
  • package:analyzer/dart/constant/value.dart that imports:
  • package:analyzer/dart/element/type.dart that imports:
  • package:analyzer/src/dart/element/type.dart that imports:
  • package:analyzer/src/dart/element/type_system.dart that imports:
  • package:analyzer/src/generated/inference_log.dart that imports:
  • package:analyzer/src/generated/resolver.dart that imports:
  • package:analyzer/src/util/ast_data_extractor.dart that imports:
  • package:analyzer/dart/element/element.dart that imports:
  • package:analyzer/src/generated/utilities_dart.dart that imports:
  • package:analyzer/src/dart/element/element.dart that imports:
  • package:analyzer/src/utilities/extensions/element.dart that imports:
  • package:analyzer/src/dart/element/member.dart that imports:
  • package:analyzer/src/generated/engine.dart that imports:
  • package:analyzer/error/listener.dart that imports:
  • package:analyzer/dart/ast/ast.dart that imports:
  • package:analyzer/src/dart/ast/ast.dart that imports:
  • package:analyzer/src/dart/resolver/typed_literal_resolver.dart that imports:
  • package:analyzer/src/dart/element/type_schema.dart that imports:
  • package:analyzer/src/dart/element/type_visitor.dart that imports:
  • package:analyzer/src/summary2/record_type_builder.dart that imports:
  • package:analyzer/src/dart/ast/extensions.dart that imports:
  • package:analyzer/dart/element/element2.dart that imports:
  • package:analyzer/dart/analysis/session.dart that imports:
  • package:analyzer/file_system/file_system.dart that imports:
  • package:watcher/watcher.dart that imports:
  • package:watcher/src/file_watcher/polling.dart that imports:
  • package:watcher/src/stat.dart that imports:
  • dart:io

This package is not compatible with runtime wasm, and will not be rewarded full points in a future version of the scoring model.

See https://dart.dev/web/wasm for details.

partial
Pass static analysis
40 / 50trigger folding of the section

40/50 points: code has no errors, warnings, lints, or formatting issues

Found 10 issues. Showing the first 2:

INFO: 'enclosingElement' is deprecated and shouldn't be used. Use enclosingElement3 instead.

lib/src/field_helpers.dart:40:10

   ╷
40 │       (a.enclosingElement as InterfaceElement).thisType,
   │          ^^^^^^^^^^^^^^^^
   ╵

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

INFO: 'enclosingElement' is deprecated and shouldn't be used. Use enclosingElement3 instead.

lib/src/field_helpers.dart:43:31

   ╷
43 │     if (!checkerA.isExactly(b.enclosingElement)) {
   │                               ^^^^^^^^^^^^^^^^
   ╵

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

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

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

Package Constraint Compatible Latest
analyzer >=5.12.0 <7.0.0 6.11.0 7.1.0
async ^2.8.0 2.12.0 2.12.0
build ^2.0.0 2.4.2 2.4.2
build_config >=0.4.4 <2.0.0 1.1.2 1.1.2
collection ^1.14.0 1.19.1 1.19.1
json_annotation >=4.9.0 <4.10.0 4.9.0 4.9.0
meta ^1.3.0 1.16.0 1.16.0
path ^1.8.0 1.9.1 1.9.1
pub_semver ^2.0.0 2.1.5 2.1.5
pubspec_parse ^1.0.0 1.4.0 1.4.0
source_gen ^1.3.2 1.5.0 2.0.0
source_helper ^1.3.0 1.3.5 1.3.5
Transitive dependencies
Package Constraint Compatible Latest
_fe_analyzer_shared - 76.0.0 78.0.0
_macros - 0.3.3 0.3.3
args - 2.6.0 2.6.0
checked_yaml - 2.0.3 2.0.3
convert - 3.1.2 3.1.2
crypto - 3.0.6 3.0.6
dart_style - 2.3.7 3.0.1
file - 7.0.1 7.0.1
glob - 2.1.2 2.1.2
logging - 1.3.0 1.3.0
macros - 0.1.3-main.0 0.1.3-main.0
package_config - 2.1.1 2.1.1
source_span - 1.10.1 1.10.1
string_scanner - 1.4.1 1.4.1
term_glyph - 1.2.2 1.2.2
typed_data - 1.4.0 1.4.0
watcher - 1.1.1 1.1.1
yaml - 3.1.3 3.1.3

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

The constraint `>=5.12.0 <7.0.0` on analyzer does not support the stable version `7.0.0`.

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

The constraint `^1.3.2` on source_gen does not support the stable version `2.0.0`, that was published 3 days ago.

When source_gen is 30 days old, this package will no longer be awarded points in this category.

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

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

0/20 points: Compatible with dependency constraint lower bounds

downgrade analysis failed failed with 5 errors:

  • UNDEFINED_METHOD - lib/src/decode_helper.dart:66:20 - The method 'lookUpSetter' isn't defined for the type 'AugmentedClassElement'.
  • UNDEFINED_GETTER - lib/src/field_helpers.dart:91:16 - The getter 'variable2' isn't defined for the type 'PropertyAccessorElement'.
  • UNDEFINED_GETTER - lib/src/field_helpers.dart:92:26 - The getter 'variable2' isn't defined for the type 'PropertyAccessorElement'.

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.22.17, Dart 3.6.0.

Check the analysis log for details.

4
likes
120
points
71
downloads

Publisher

unverified uploader

Weekly Downloads

Base on json_serializable package Automatically generate code for converting to and from JSON by annotating Dart classes.

Repository (GitHub)
View/report issues

Topics

#json #build-runner #json-serializable #codegen

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

analyzer, async, build, build_config, collection, json_annotation, meta, path, pub_semver, pubspec_parse, source_gen, source_helper

More

Packages that depend on flexible_json_serializable