// Copyright © WireMock.Net
using AnyOfTypes;
using WireMock.Models;
namespace WireMock.Extensions;
///
/// Some extensions for AnyOf.
///
public static class AnyOfExtensions
{
///
/// Gets the pattern as string value.
///
/// AnyOf type
/// The string value
public static string GetPattern(this AnyOf value)
{
return value.IsFirst ? value.First : value.Second.Pattern;
}
///
/// Gets the patterns.
///
/// AnyOf types
/// string values
public static string[] GetPatterns(this AnyOf[] values)
{
return values.Select(GetPattern).ToArray();
}
///
/// Converts a string-patterns to AnyOf patterns.
///
/// The string patterns
/// The AnyOf patterns
public static AnyOf[] ToAnyOfPatterns(this IEnumerable patterns)
{
return patterns.Select(p => p.ToAnyOfPattern()).ToArray();
}
///
/// Converts a string-pattern to AnyOf pattern.
///
/// The string pattern
/// The AnyOf pattern
public static AnyOf ToAnyOfPattern(this string pattern)
{
return new AnyOf(pattern);
}
}