in src/PSRule.Rules.Azure/Data/Template/ExpressionHelpers.cs [628:659]
internal static object UnionArray(object[] o)
{
if (o == null || o.Length == 0)
return Array.Empty<object>();
var result = new List<object>();
for (var i = 0; i < o.Length; i++)
{
if (!IsArray(o[i]))
continue;
if (o[i] is JArray jArray && jArray.Count > 0)
{
for (var j = 0; j < jArray.Count; j++)
{
var element = GetBaseObject(jArray[j]);
if (element != null && !result.Contains(element))
result.Add(element);
}
}
else if (o[i] is Array array && array.Length > 0)
{
for (var j = 0; j < array.Length; j++)
{
var element = array.GetValue(j);
if (!result.Contains(element))
result.Add(element);
}
}
}
return result.ToArray();
}