internal static object First()

in src/PSRule.Rules.Azure/Data/Template/Functions.cs [377:392]


    internal static object First(ITemplateContext context, object[] args)
    {
        if (args == null || args.Length != 1)
            throw ArgumentsOutOfRange(nameof(First), args);

        if (args[0] is IMock mock && mock.BaseType != TypePrimitive.String && mock is JToken token)
            return token.First;
        else if (args[0] is Array avalue)
            return avalue.Length > 0 ? avalue.GetValue(0) : null;
        else if (args[0] is JArray jArray)
            return jArray.Count > 0 ? jArray.First : null;
        else if (ExpressionHelpers.TryString(args[0], out var svalue))
            return new string(svalue[0], 1);

        return null;
    }