From 7fce5b60409152016db986662d68a7c0fd56f1e9 Mon Sep 17 00:00:00 2001 From: Lukas Lihotzki Date: Wed, 22 Sep 2021 17:52:23 +0200 Subject: [PATCH] refactor: inline parseQueryString in parseIdentifierIntoParts --- lib/src/utils/matrix_id_string_extension.dart | 27 +++++-------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/lib/src/utils/matrix_id_string_extension.dart b/lib/src/utils/matrix_id_string_extension.dart index cf654d27..dbbbe78e 100644 --- a/lib/src/utils/matrix_id_string_extension.dart +++ b/lib/src/utils/matrix_id_string_extension.dart @@ -64,15 +64,6 @@ extension MatrixIdExtension on String { MatrixIdentifierStringExtensionResults parseIdentifierIntoParts() { const matrixUriPrefix = 'matrix:'; - final via = {}; - String action; - final parseQueryString = (String qs) { - if (qs == null) return; - final uri = Uri(query: qs); - via = (uri.queryParametersAll['via'] ?? []).toSet(); - action = uri.queryParameters['action']; - }; - // check if we have a "matrix:" uri if (toLowerCase().startsWith(matrixUriPrefix)) { final uri = Uri.tryParse(this); @@ -100,14 +91,12 @@ extension MatrixIdExtension on String { if (identifiers.isEmpty) { return null; } - final queryString = uri.query.isNotEmpty ? uri.query : null; - parseQueryString(queryString); return MatrixIdentifierStringExtensionResults( primaryIdentifier: identifiers.first, secondaryIdentifier: identifiers.length > 1 ? identifiers[1] : null, - queryString: queryString, - via: via, - action: action, + queryString: uri.query.isNotEmpty ? uri.query : null, + via: (uri.queryParametersAll['via'] ?? []).toSet(), + action: uri.queryParameters['action'], ); } @@ -133,15 +122,13 @@ extension MatrixIdExtension on String { !(match.group(2)?.isValidMatrixId ?? true)) { return null; } - final queryString = - match.group(3)?.isNotEmpty ?? false ? match.group(3) : null; - parseQueryString(queryString); + final uri = Uri(query: match.group(3)); return MatrixIdentifierStringExtensionResults( primaryIdentifier: match.group(1), secondaryIdentifier: match.group(2), - queryString: queryString, - via: via, - action: action, + queryString: uri.query.isNotEmpty ? uri.query : null, + via: (uri.queryParametersAll['via'] ?? []).toSet(), + action: uri.queryParameters['action'], ); } }