From 73306a31e3e38ee7f79c54a98d2560c183bd9b29 Mon Sep 17 00:00:00 2001 From: Herbert Poul Date: Sun, 7 Mar 2021 10:18:53 +0000 Subject: [PATCH] null safety migration --- CHANGELOG.md | 4 ++++ lib/src/argon2_ffi_impl.dart | 15 ++++++++------- lib/src/argon2_ffi_noop.dart | 2 +- pubspec.lock | 2 +- pubspec.yaml | 4 ++-- 5 files changed, 16 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bc03d5b..2ec8c92 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.0 + +* Nullsafety migration + ## 0.1.4+6 * Linux: Also search lib/ sub directory for libargon.so file. diff --git a/lib/src/argon2_ffi_impl.dart b/lib/src/argon2_ffi_impl.dart index dcbe60d..dcc3b9f 100644 --- a/lib/src/argon2_ffi_impl.dart +++ b/lib/src/argon2_ffi_impl.dart @@ -120,16 +120,17 @@ class Argon2FfiFlutter extends Argon2Base { return name; }; - final ResolveLibrary resolveLibrary; + final ResolveLibrary? resolveLibrary; - int Function(int x, int y) _nativeAdd; + late int Function(int x, int y) _nativeAdd; @override - Argon2Hash argon2hash; + late Argon2Hash argon2hash; int addIt(int x, int y) => _nativeAdd(x, y); DynamicLibrary _loadLib() { - final resolveLibrary = this.resolveLibrary ?? defaultResolveLibrary; + final resolveLibrary = this.resolveLibrary as String Function(String?)? ?? + defaultResolveLibrary as String Function(String?); if (!Argon2.resolveLibraryForceDynamic && (Platform.isIOS || Platform.isMacOS)) { @@ -143,9 +144,9 @@ class Argon2FfiFlutter extends Argon2Base { [Platform.isIOS, null], // only supports static linking. ]; final libraryName = libraryNames.firstWhere((element) => element[0] == true, - orElse: () => throw StateError( - 'Unsupported Operating System ${Platform.operatingSystem}'))[1] - as String; + orElse: (() => throw StateError( + 'Unsupported Operating System ${Platform.operatingSystem}')))[1] + as String?; _logger.finest('resolving $libraryName'); final path = resolveLibrary(libraryName); _logger.finest('DynamicLibrary.open($path)'); diff --git a/lib/src/argon2_ffi_noop.dart b/lib/src/argon2_ffi_noop.dart index 45d1e5c..c588e48 100644 --- a/lib/src/argon2_ffi_noop.dart +++ b/lib/src/argon2_ffi_noop.dart @@ -4,7 +4,7 @@ import 'package:argon2_ffi_base/src/argon2_ffi_base.dart'; class Argon2FfiFlutter extends Argon2 { // ignore: avoid_unused_constructor_parameters - Argon2FfiFlutter({ResolveLibrary resolveLibrary}); + Argon2FfiFlutter({required ResolveLibrary resolveLibrary}); @override Uint8List argon2(Argon2Arguments args) { diff --git a/pubspec.lock b/pubspec.lock index 1d66400..429c181 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -30,4 +30,4 @@ packages: source: hosted version: "1.11.0" sdks: - dart: ">=2.12.0-259.9.beta <3.0.0" + dart: ">=2.12.0 <3.0.0" diff --git a/pubspec.yaml b/pubspec.yaml index d5547a9..96cfd90 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,10 +1,10 @@ name: argon2_ffi_base description: Base package defining the interface for an Argon2 implementation. -version: 0.1.4+6 +version: 1.0.0 homepage: https://github.com/authpass/argon2_ffi_base environment: - sdk: ">=2.7.0 <3.0.0" + sdk: '>=2.12.0 <3.0.0' dependencies: ffi: ^1.0.0