in src/PSRule.Rules.Azure/Data/Template/Functions.cs [614:643]
internal static object Max(ITemplateContext context, object[] args)
{
if (CountArgs(args) == 0)
throw ArgumentsOutOfRange(nameof(Max), args);
long? result = null;
for (var i = 0; i < args.Length; i++)
{
if (ExpressionHelpers.TryLong(args[i], out var value))
{
result = !result.HasValue || value > result ? value : result;
}
// Enumerate array arg
else if (TryJArray(args[i], out var array))
{
for (var j = 0; j < array.Count; j++)
{
if (ExpressionHelpers.TryLong(array[j], out value))
{
result = !result.HasValue || value > result ? value : result;
}
else
throw ArgumentFormatInvalid(nameof(Max));
}
}
else
throw ArgumentFormatInvalid(nameof(Max));
}
return result;
}