diff options
Diffstat (limited to 'MediaBrowser.Model/Extensions/LibraryOptionsExtension.cs')
| -rw-r--r-- | MediaBrowser.Model/Extensions/LibraryOptionsExtension.cs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/MediaBrowser.Model/Extensions/LibraryOptionsExtension.cs b/MediaBrowser.Model/Extensions/LibraryOptionsExtension.cs new file mode 100644 index 000000000..b088cfb53 --- /dev/null +++ b/MediaBrowser.Model/Extensions/LibraryOptionsExtension.cs @@ -0,0 +1,34 @@ +using System; +using System.Linq; +using MediaBrowser.Model.Configuration; + +namespace MediaBrowser.Model.Extensions; + +/// <summary> +/// Extensions for <see cref="LibraryOptions"/>. +/// </summary> +public static class LibraryOptionsExtension +{ + /// <summary> + /// Get the custom tag delimiters. + /// </summary> + /// <param name="options">This LibraryOptions.</param> + /// <returns>CustomTagDelimiters in char[].</returns> + public static char[] GetCustomTagDelimiters(this LibraryOptions options) + { + ArgumentNullException.ThrowIfNull(options); + + var delimiterList = options.CustomTagDelimiters.Select<string, char?>(x => + { + var isChar = char.TryParse(x, out var c); + if (isChar) + { + return c; + } + + return null; + }).Where(x => x is not null).Select(x => x!.Value).ToList(); + delimiterList.Add('\0'); + return delimiterList.ToArray(); + } +} |
