Browse Source

make resolveLibrary optional.

master
Herbert Poul 4 years ago
parent
commit
b4f1ea9ce4
  1. 6
      lib/src/argon2_ffi_impl.dart
  2. 4
      lib/src/argon2_ffi_noop.dart

6
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 {

4
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) {

Loading…
Cancel
Save