reflectable 4.0.12 copy "reflectable: ^4.0.12" to clipboard
reflectable: ^4.0.12 copied to clipboard

Reflection support based on code generation, using 'capabilities' to specify which operations to support, on which objects.

171
likes
150/ 160
pub points
95%
popularity

We analyzed this package 15 hours ago, and awarded it 150 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

209 out of 246 API elements (85.0 %) have documentation comments.

Some symbols that are missing documentation: reflectable.capability.GlobalQuantifyCapability.classNamePattern, reflectable.capability.GlobalQuantifyMetaCapability.metadataType, reflectable.capability.ImportAttachedCapability.reflector, reflectable.capability.MetadataQuantifiedCapability.metadataType, reflectable.capability.NamePatternCapability.namePattern.

10/10 points: Package has an example

OK
Platform support
20 / 20trigger folding of the section

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

  • ✓ Android

  • ✓ iOS

  • ✓ Windows

  • ✓ Linux

  • ✓ macOS

  • ✓ Web

0/0 points: WASM compatibility

This package is compatible with runtime wasm, and will be rewarded additional 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 15 issues. Showing the first 2:

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

lib/src/builder_implementation.dart:724:21

    ╷
724 │         constructor.enclosingElement.name == 'List' &&
    │                     ^^^^^^^^^^^^^^^^
    ╵

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

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

lib/src/builder_implementation.dart:1294:17

     ╷
1294 │     if (element.enclosingElement is InterfaceElement) {
     │                 ^^^^^^^^^^^^^^^^
     ╵

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

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

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

Package Constraint Compatible Latest
analyzer ^6.8.0 6.11.0 7.0.0
build ^2.4.0 2.4.1 2.4.1
build_config ^1.1.0 1.1.1 1.1.1
build_resolvers ^2.4.0 2.4.2 2.4.2
build_runner ^2.4.0 2.4.13 2.4.13
build_runner_core ^7.2.0 7.3.2 7.3.2
dart_style ^2.3.0 2.3.7 3.0.0
glob ^2.1.0 2.1.2 2.1.2
logging ^1.2.0 1.3.0 1.3.0
package_config ^2.1.0 2.1.0 2.1.0
path ^1.9.0 1.9.1 1.9.1
source_span ^1.10.0 1.10.0 1.10.0
Transitive dependencies
Package Constraint Compatible Latest
_fe_analyzer_shared - 76.0.0 77.0.0
_macros - 0.3.3 0.3.3
args - 2.6.0 2.6.0
async - 2.12.0 2.12.0
boolean_selector - 2.1.2 2.1.2
build_daemon - 4.0.2 4.0.2
built_collection - 5.1.1 5.1.1
built_value - 8.9.2 8.9.2
checked_yaml - 2.0.3 2.0.3
code_builder - 4.10.1 4.10.1
collection - 1.19.1 1.19.1
convert - 3.1.2 3.1.2
crypto - 3.0.6 3.0.6
file - 7.0.1 7.0.1
fixnum - 1.1.1 1.1.1
frontend_server_client - 4.0.0 4.0.0
graphs - 2.3.2 2.3.2
http_multi_server - 3.2.1 3.2.1
http_parser - 4.1.1 4.1.1
io - 1.0.4 1.0.4
js - 0.7.1 0.7.1
json_annotation - 4.9.0 4.9.0
macros - 0.1.3-main.0 0.1.3-main.0
matcher - 0.12.17 0.12.17
meta - 1.16.0 1.16.0
mime - 2.0.0 2.0.0
pool - 1.5.1 1.5.1
pub_semver - 2.1.4 2.1.4
pubspec_parse - 1.3.0 1.3.0
shelf - 1.4.2 1.4.2
shelf_web_socket - 2.0.1 2.0.1
stack_trace - 1.12.0 1.12.0
stream_channel - 2.1.2 2.1.2
stream_transform - 2.1.0 2.1.0
string_scanner - 1.4.0 1.4.0
term_glyph - 1.2.1 1.2.1
test_api - 0.7.4 0.7.4
timing - 1.0.1 1.0.1
typed_data - 1.4.0 1.4.0
watcher - 1.1.0 1.1.0
web - 1.1.0 1.1.0
web_socket - 0.1.6 0.1.6
web_socket_channel - 3.0.1 3.0.1
yaml - 3.1.2 3.1.2

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

The constraint `^6.8.0` on analyzer does not support the stable version `7.0.0`, that was published 14 days ago.

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

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

The constraint `^2.3.0` on dart_style does not support the stable version `3.0.0`, that was published 2 days ago.

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

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

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

20/20 points: Compatible with dependency constraint lower bounds

pub downgrade does not expose any static analysis error.

Analyzed with Pana 0.22.16, Dart 3.6.0-334.4.beta.

Check the analysis log for details.

171
likes
150
pub points
95%
popularity

Publisher

unverified uploader

Reflection support based on code generation, using 'capabilities' to specify which operations to support, on which objects.

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

analyzer, build, build_config, build_resolvers, build_runner, build_runner_core, dart_style, glob, logging, package_config, path, source_span

More

Packages that depend on reflectable