refactor: inline parseQueryString in parseIdentifierIntoParts
This commit is contained in:
parent
8ea01fcee0
commit
7fce5b6040
|
|
@ -64,15 +64,6 @@ extension MatrixIdExtension on String {
|
||||||
MatrixIdentifierStringExtensionResults parseIdentifierIntoParts() {
|
MatrixIdentifierStringExtensionResults parseIdentifierIntoParts() {
|
||||||
const matrixUriPrefix = 'matrix:';
|
const matrixUriPrefix = 'matrix:';
|
||||||
|
|
||||||
final via = <String>{};
|
|
||||||
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
|
// check if we have a "matrix:" uri
|
||||||
if (toLowerCase().startsWith(matrixUriPrefix)) {
|
if (toLowerCase().startsWith(matrixUriPrefix)) {
|
||||||
final uri = Uri.tryParse(this);
|
final uri = Uri.tryParse(this);
|
||||||
|
|
@ -100,14 +91,12 @@ extension MatrixIdExtension on String {
|
||||||
if (identifiers.isEmpty) {
|
if (identifiers.isEmpty) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
final queryString = uri.query.isNotEmpty ? uri.query : null;
|
|
||||||
parseQueryString(queryString);
|
|
||||||
return MatrixIdentifierStringExtensionResults(
|
return MatrixIdentifierStringExtensionResults(
|
||||||
primaryIdentifier: identifiers.first,
|
primaryIdentifier: identifiers.first,
|
||||||
secondaryIdentifier: identifiers.length > 1 ? identifiers[1] : null,
|
secondaryIdentifier: identifiers.length > 1 ? identifiers[1] : null,
|
||||||
queryString: queryString,
|
queryString: uri.query.isNotEmpty ? uri.query : null,
|
||||||
via: via,
|
via: (uri.queryParametersAll['via'] ?? []).toSet(),
|
||||||
action: action,
|
action: uri.queryParameters['action'],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -133,15 +122,13 @@ extension MatrixIdExtension on String {
|
||||||
!(match.group(2)?.isValidMatrixId ?? true)) {
|
!(match.group(2)?.isValidMatrixId ?? true)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
final queryString =
|
final uri = Uri(query: match.group(3));
|
||||||
match.group(3)?.isNotEmpty ?? false ? match.group(3) : null;
|
|
||||||
parseQueryString(queryString);
|
|
||||||
return MatrixIdentifierStringExtensionResults(
|
return MatrixIdentifierStringExtensionResults(
|
||||||
primaryIdentifier: match.group(1),
|
primaryIdentifier: match.group(1),
|
||||||
secondaryIdentifier: match.group(2),
|
secondaryIdentifier: match.group(2),
|
||||||
queryString: queryString,
|
queryString: uri.query.isNotEmpty ? uri.query : null,
|
||||||
via: via,
|
via: (uri.queryParametersAll['via'] ?? []).toSet(),
|
||||||
action: action,
|
action: uri.queryParameters['action'],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue