diff --git a/SabreTools.Filter/FilterObject.cs b/SabreTools.Filter/FilterObject.cs
index 2c6505b0..fa57542e 100644
--- a/SabreTools.Filter/FilterObject.cs
+++ b/SabreTools.Filter/FilterObject.cs
@@ -61,52 +61,6 @@ namespace SabreTools.Filter
this.Operation = operation;
}
- ///
- /// Derive an operation from the input string, if possible
- ///
- private static Operation GetOperation(string? operation)
- {
- return operation?.ToLowerInvariant() switch
- {
- "=" => Operation.Equals,
- "==" => Operation.Equals,
- ":" => Operation.Equals,
- "::" => Operation.Equals,
-
- "!" => Operation.NotEquals,
- "!=" => Operation.NotEquals,
- "!:" => Operation.NotEquals,
-
- ">" => Operation.GreaterThan,
- ">=" => Operation.GreaterThanOrEqual,
-
- "<" => Operation.LessThan,
- "<=" => Operation.LessThanOrEqual,
-
- _ => Operation.NONE,
- };
- }
-
- ///
- /// Derive a key, operation, and value from the input string, if possible
- ///
- private static (string?, Operation, string?) SplitFilterString(string? filterString)
- {
- if (filterString == null)
- return (null, Operation.NONE, null);
-
- // Split the string using regex
- var match = Regex.Match(filterString, @"^(?[a-zA-Z.]+)(?[=!:><]{1,2})(?.*)$");
- if (!match.Success)
- return (null, Operation.NONE, null);
-
- string itemField = match.Groups["itemField"].Value;
- Operation operation = GetOperation(match.Groups["operation"].Value);
- string value = match.Groups["value"].Value;
-
- return (itemField, operation, value);
- }
-
#region Matching
///
@@ -270,5 +224,55 @@ namespace SabreTools.Filter
}
#endregion
+
+ #region Helpers
+
+ ///
+ /// Derive an operation from the input string, if possible
+ ///
+ private static Operation GetOperation(string? operation)
+ {
+ return operation?.ToLowerInvariant() switch
+ {
+ "=" => Operation.Equals,
+ "==" => Operation.Equals,
+ ":" => Operation.Equals,
+ "::" => Operation.Equals,
+
+ "!" => Operation.NotEquals,
+ "!=" => Operation.NotEquals,
+ "!:" => Operation.NotEquals,
+
+ ">" => Operation.GreaterThan,
+ ">=" => Operation.GreaterThanOrEqual,
+
+ "<" => Operation.LessThan,
+ "<=" => Operation.LessThanOrEqual,
+
+ _ => Operation.NONE,
+ };
+ }
+
+ ///
+ /// Derive a key, operation, and value from the input string, if possible
+ ///
+ private static (string?, Operation, string?) SplitFilterString(string? filterString)
+ {
+ if (filterString == null)
+ return (null, Operation.NONE, null);
+
+ // Split the string using regex
+ var match = Regex.Match(filterString, @"^(?[a-zA-Z.]+)(?[=!:><]{1,2})(?.*)$");
+ if (!match.Success)
+ return (null, Operation.NONE, null);
+
+ string itemField = match.Groups["itemField"].Value;
+ Operation operation = GetOperation(match.Groups["operation"].Value);
+ string value = match.Groups["value"].Value;
+
+ return (itemField, operation, value);
+ }
+
+ #endregion
}
}
\ No newline at end of file
diff --git a/SabreTools.Filter/FilterParser.cs b/SabreTools.Filter/FilterParser.cs
index c6a74a6f..eeaaf700 100644
--- a/SabreTools.Filter/FilterParser.cs
+++ b/SabreTools.Filter/FilterParser.cs
@@ -7,7 +7,7 @@ using SabreTools.Models.Internal;
namespace SabreTools.Filter
{
- public static class FilterParser
+ internal static class FilterParser
{
///
/// Parse a filter ID string into the item name and field name, if possible