private static void VisitCountExpression()

in src/PSRule.Rules.Azure/Data/Policy/PolicyAssignmentVisitor.cs [1026:1061]


        private static void VisitCountExpression(PolicyAssignmentContext context, PolicyDefinition policyDefinition, JObject parent, JObject count)
        {
            // Remove from parent
            parent.RemoveProperty(PROPERTY_COUNT);

            if (count.TryGetProperty(PROPERTY_FIELD, out var field))
            {
                try
                {
                    field = ExpandField(context, TemplateVisitor.ExpandString(context, field));
                    context.EnterFieldPrefix(field);
                    parent.Add(PROPERTY_FIELD, field);
                    if (count.TryObjectProperty(PROPERTY_WHERE, out var where))
                    {
                        VisitCondition(context, policyDefinition, where);
                        if (where.TryArrayProperty(PROPERTY_ALLOF, out var allOf))
                        {
                            parent.Add(PROPERTY_ALLOF, allOf);
                        }
                        else if (where.TryArrayProperty(PROPERTY_ANYOF, out var anyOf))
                        {
                            parent.Add(PROPERTY_ANYOF, anyOf);
                        }
                        else
                        {
                            parent.Add(PROPERTY_ALLOF, new JArray(where));
                        }
                        ConvertQuantifiers(context, parent);
                    }
                }
                finally
                {
                    context.ExitFieldPrefix(field);
                }
            }
        }