pin_lock 0.0.4 copy "pin_lock: ^0.0.4" to clipboard
pin_lock: ^0.0.4 copied to clipboard

A full solution to local authentication: it contains authentication logic and tracks authentication-relevant data, while providing an interface for app-specific UI implementatin.

17
likes
90/ 160
pub points
62%
popularity

We analyzed this package 6 days ago, and awarded it 90 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: MIT.

OK
Provide documentation
20 / 20trigger folding of the section

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

148 out of 189 API elements (78.3 %) have documentation comments.

Some symbols that are missing documentation: pin_lock, pin_lock.AuthenticationSetupWidget.bloc, pin_lock.Authenticator, pin_lock.Authenticator.Authenticator, pin_lock.Available.

10/10 points: Package has an example

failed
Platform support
20 / 20trigger folding of the section

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

  • ✓ Android

  • ✓ iOS

These platforms are not supported:

Package does not support platform `Windows`.

Because:

  • package:pin_lock/pin_lock.dart that declares support for platforms: Android, iOS.
Package does not support platform `Linux`.

Because:

  • package:pin_lock/pin_lock.dart that declares support for platforms: Android, iOS.
Package does not support platform `macOS`.

Because:

  • package:pin_lock/pin_lock.dart that declares support for platforms: Android, iOS.
Package does not support platform `Web`.

Because:

  • package:pin_lock/pin_lock.dart that declares support for platforms: Android, iOS.

These issues are present but do not affect the score, because they may not originate in your package:

Package does not support platform `Android`.

Because:

  • package:pin_lock/pin_lock.dart that imports:
  • package:pin_lock/src/entities/authenticator_impl.dart that imports:
  • package:local_auth/local_auth.dart that imports:
  • package:local_auth/src/local_auth.dart that imports:
  • package:local_auth_windows/local_auth_windows.dart that declares support for platforms: Windows.
Package does not support platform `iOS`.

Because:

  • package:pin_lock/pin_lock.dart that imports:
  • package:pin_lock/src/entities/authenticator_impl.dart that imports:
  • package:local_auth/local_auth.dart that imports:
  • package:local_auth/src/local_auth.dart that imports:
  • package:local_auth_windows/local_auth_windows.dart that declares support for platforms: Windows.

0/0 points: WASM compatibility

Unable to detect compatibility with runtime wasm, and this package will not be rewarded full points in a future version of the scoring model.

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

failed
Pass static analysis
0 / 50trigger folding of the section

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

Found 6 issues. Showing the first 2:

ERROR: The name 'LockState' is defined in the libraries 'package:flutter/src/widgets/shortcuts.dart' and 'package:pin_lock/src/entities/lock_state.dart'.

lib/src/entities/authenticator.dart:15:16

   ╷
15 │   /// Emits a [LockState] event every time the state is changed
   │                ^^^^^^^^^
   ╵

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

ERROR: The name 'LockState' is defined in the libraries 'package:flutter/src/widgets/shortcuts.dart' and 'package:pin_lock/src/entities/lock_state.dart'.

lib/src/entities/authenticator.dart:16:10

   ╷
16 │   Stream<LockState> get lockState;
   │          ^^^^^^^^^
   ╵

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

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

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

Package Constraint Compatible Latest
crypto ^3.0.1 3.0.6 3.0.6
dartz ^0.10.1 0.10.1 0.10.1
equatable ^2.0.3 2.0.5 2.0.5
flutter flutter 0.0.0 0.0.0
flutter_bloc ^8.0.1 8.1.6 8.1.6
local_auth ^2.1.3 2.3.0 2.3.0
shared_preferences ^2.0.5 2.3.3 2.3.3
Transitive dependencies
Package Constraint Compatible Latest
bloc - 8.1.4 8.1.4
characters - 1.3.0 1.3.1
clock - 1.1.2 1.1.2
collection - 1.18.0 1.19.1
ffi - 2.1.3 2.1.3
file - 7.0.1 7.0.1
flutter_plugin_android_lifecycle - 2.0.23 2.0.23
flutter_web_plugins - 0.0.0 0.0.0
intl - 0.19.0 0.20.0
local_auth_android - 1.0.46 1.0.46
local_auth_darwin - 1.4.1 1.4.1
local_auth_platform_interface - 1.0.10 1.0.10
local_auth_windows - 1.0.11 1.0.11
material_color_utilities - 0.11.1 0.12.0
meta - 1.15.0 1.16.0
nested - 1.0.0 1.0.0
path - 1.9.1 1.9.1
path_provider_linux - 2.2.1 2.2.1
path_provider_platform_interface - 2.1.2 2.1.2
path_provider_windows - 2.3.0 2.3.0
platform - 3.1.6 3.1.6
plugin_platform_interface - 2.1.8 2.1.8
provider - 6.1.2 6.1.2
shared_preferences_android - 2.3.3 2.3.3
shared_preferences_foundation - 2.5.3 2.5.3
shared_preferences_linux - 2.4.1 2.4.1
shared_preferences_platform_interface - 2.4.1 2.4.1
shared_preferences_web - 2.4.2 2.4.2
shared_preferences_windows - 2.4.1 2.4.1
sky_engine - 0.0.99 0.0.99
typed_data - 1.4.0 1.4.0
vector_math - 2.1.4 2.1.4
web - 1.1.0 1.1.0
xdg_directories - 1.1.0 1.1.0

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

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 4 errors:

  • AMBIGUOUS_IMPORT - lib/src/entities/authenticator.dart:15:16 - The name 'LockState' is defined in the libraries 'package:flutter/src/widgets/shortcuts.dart' and 'package:pin_lock/src/entities/lock_state.dart'.
  • AMBIGUOUS_IMPORT - lib/src/entities/authenticator.dart:16:10 - The name 'LockState' is defined in the libraries 'package:flutter/src/widgets/shortcuts.dart' and 'package:pin_lock/src/entities/lock_state.dart'.
  • AMBIGUOUS_IMPORT - lib/src/entities/authenticator_impl.dart:41:10 - The name 'LockState' is defined in the libraries 'package:flutter/src/widgets/shortcuts.dart' and 'package:pin_lock/src/entities/lock_state.dart (via package:pin_lock/pin_lock.dart)'.

Run flutter pub downgrade and then flutter 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.15, Flutter 3.24.4, Dart 3.5.4.

Check the analysis log for details.

17
likes
90
pub points
62%
popularity

Publisher

verified publisherdutchcodingcompany.com

A full solution to local authentication: it contains authentication logic and tracks authentication-relevant data, while providing an interface for app-specific UI implementatin.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

crypto, dartz, equatable, flutter, flutter_bloc, local_auth, shared_preferences

More

Packages that depend on pin_lock