diff --git a/lib/src/argon2_ffi_impl.dart b/lib/src/argon2_ffi_impl.dart index dcc3b9f..7fe257a 100644 --- a/lib/src/argon2_ffi_impl.dart +++ b/lib/src/argon2_ffi_impl.dart @@ -129,8 +129,7 @@ class Argon2FfiFlutter extends Argon2Base { int addIt(int x, int y) => _nativeAdd(x, y); DynamicLibrary _loadLib() { - final resolveLibrary = this.resolveLibrary as String Function(String?)? ?? - defaultResolveLibrary as String Function(String?); + final resolveLibrary = this.resolveLibrary ?? defaultResolveLibrary; if (!Argon2.resolveLibraryForceDynamic && (Platform.isIOS || Platform.isMacOS)) { @@ -148,6 +147,9 @@ class Argon2FfiFlutter extends Argon2Base { 'Unsupported Operating System ${Platform.operatingSystem}')))[1] as String?; _logger.finest('resolving $libraryName'); + if (libraryName == null) { + return DynamicLibrary.executable(); + } final path = resolveLibrary(libraryName); _logger.finest('DynamicLibrary.open($path)'); try { diff --git a/lib/src/argon2_ffi_noop.dart b/lib/src/argon2_ffi_noop.dart index c588e48..4caeee8 100644 --- a/lib/src/argon2_ffi_noop.dart +++ b/lib/src/argon2_ffi_noop.dart @@ -2,9 +2,11 @@ import 'dart:typed_data'; import 'package:argon2_ffi_base/src/argon2_ffi_base.dart'; +/// This is a dummy implementation for compilation, on flutter the one +/// from `argon2_ffi_impl.dart` is used. class Argon2FfiFlutter extends Argon2 { // ignore: avoid_unused_constructor_parameters - Argon2FfiFlutter({required ResolveLibrary resolveLibrary}); + Argon2FfiFlutter({ResolveLibrary? resolveLibrary}); @override Uint8List argon2(Argon2Arguments args) {