From 157fed51cc3916efdf97819b3602a5e6d24a1726 Mon Sep 17 00:00:00 2001 From: Sebastian Podjasek Date: Fri, 1 Sep 2023 13:04:57 +0200 Subject: [PATCH] feat: allow delta to be null in sequence matcher --- packages/dart_zxcvbn/lib/src/matcher/sequence.dart | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/packages/dart_zxcvbn/lib/src/matcher/sequence.dart b/packages/dart_zxcvbn/lib/src/matcher/sequence.dart index ebdfa26..38a6fb6 100644 --- a/packages/dart_zxcvbn/lib/src/matcher/sequence.dart +++ b/packages/dart_zxcvbn/lib/src/matcher/sequence.dart @@ -68,8 +68,6 @@ class SequenceMatcher extends Matcher { } } - if (lastDelta == null) throw Exception('lastDelta is null'); - update( i: i, j: passwordLength - 1, @@ -84,12 +82,12 @@ class SequenceMatcher extends Matcher { void update({ required int i, required int j, - required int delta, + required int? delta, required String password, required List result, }) { - if (j - i > 1 || delta.abs() == 1) { - final int absoluteDelta = delta.abs(); + if (j - i > 1 || delta?.abs() == 1) { + final int absoluteDelta = delta?.abs() ?? 0; if (absoluteDelta > 0 && absoluteDelta <= maxDelta) { final token = password.substring(i, j + 1); final (sequenceName, sequenceSpace) = getSequence(token); @@ -100,7 +98,7 @@ class SequenceMatcher extends Matcher { token: token, sequenceName: sequenceName, sequenceSpace: sequenceSpace, - ascending: delta > 0, + ascending: delta != null ? delta > 0 : false, )); } }