internal static bool TryJArray()

in src/PSRule.Rules.Azure/Data/Template/ExpressionHelpers.cs [592:621]


    internal static bool TryJArray(object o, out JArray value)
    {
        value = null;
        if (o is Array array)
        {
            value = new JArray(array.OfType<object>());
            return true;
        }
        else if (o is JArray jArray)
        {
            value = jArray;
            return true;
        }
        else if (o is IEnumerable<string>)
        {
            value = new JArray(GetStringArray(o));
            return true;
        }
        else if (o is IEnumerable<long> or IEnumerable<int>)
        {
            value = new JArray(GetLongArray(o));
            return true;
        }
        else if (o is Mock.MockUnknownObject mockObject && mockObject.Count == 0 && mockObject.TryMutateTo(TypePrimitive.Array, out var replaced) && replaced is JArray jArrayMock)
        {
            value = jArrayMock;
            return true;
        }
        return false;
    }