summaryrefslogtreecommitdiff
path: root/src/StardewModdingAPI.Toolkit/Utilities
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2018-08-18 14:44:18 -0400
committerJesse Plamondon-Willard <github@jplamondonw.com>2018-08-18 14:44:18 -0400
commitf9eb16489fcf3f4c486df5f96a94edf16cf19a09 (patch)
tree8ee581968ae378682a91869e08e76ad32c064b61 /src/StardewModdingAPI.Toolkit/Utilities
parentc916cc5a1023ab81df89458ecb679405081f54c6 (diff)
downloadSMAPI-f9eb16489fcf3f4c486df5f96a94edf16cf19a09.tar.gz
SMAPI-f9eb16489fcf3f4c486df5f96a94edf16cf19a09.tar.bz2
SMAPI-f9eb16489fcf3f4c486df5f96a94edf16cf19a09.zip
refactor some methods for reuse (#468)
Diffstat (limited to 'src/StardewModdingAPI.Toolkit/Utilities')
-rw-r--r--src/StardewModdingAPI.Toolkit/Utilities/PathUtilities.cs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/StardewModdingAPI.Toolkit/Utilities/PathUtilities.cs b/src/StardewModdingAPI.Toolkit/Utilities/PathUtilities.cs
index 2e74e7d9..b959f9b5 100644
--- a/src/StardewModdingAPI.Toolkit/Utilities/PathUtilities.cs
+++ b/src/StardewModdingAPI.Toolkit/Utilities/PathUtilities.cs
@@ -2,6 +2,7 @@ using System;
using System.Diagnostics.Contracts;
using System.IO;
using System.Linq;
+using System.Text.RegularExpressions;
namespace StardewModdingAPI.Toolkit.Utilities
{
@@ -61,5 +62,12 @@ namespace StardewModdingAPI.Toolkit.Utilities
relative = "./";
return relative;
}
+
+ /// <summary>Get whether a string is a valid 'slug', containing only basic characters that are safe in all contexts (e.g. filenames, URLs, etc).</summary>
+ /// <param name="str">The string to check.</param>
+ public static bool IsSlug(string str)
+ {
+ return !Regex.IsMatch(str, "[^a-z0-9_.-]", RegexOptions.IgnoreCase);
+ }
}
}