internal bool TryParameterDefault()

in src/PSRule.Rules.Azure/Data/Template/TemplateVisitor.cs [557:608]


        internal bool TryParameterDefault(string parameterName, ParameterType type, out JToken value)
        {
            value = default;
            if (ParameterDefaults == null)
                return false;

            switch (type.Type)
            {
                case TypePrimitive.String:
                case TypePrimitive.SecureString:
                    if (ParameterDefaults.TryGetString(parameterName, out var s))
                    {
                        value = new JValue(s);
                        return true;
                    }
                    break;

                case TypePrimitive.Bool:
                    if (ParameterDefaults.TryGetBool(parameterName, out var b))
                    {
                        value = new JValue(b);
                        return true;
                    }
                    break;

                case TypePrimitive.Int:
                    if (ParameterDefaults.TryGetLong(parameterName, out var i))
                    {
                        value = new JValue(i);
                        return true;
                    }
                    break;

                case TypePrimitive.Array:
                    if (ParameterDefaults.TryGetArray(parameterName, out var a))
                    {
                        value = a;
                        return true;
                    }
                    break;

                case TypePrimitive.Object:
                case TypePrimitive.SecureObject:
                    if (ParameterDefaults.TryGetObject(parameterName, out var o))
                    {
                        value = o;
                        return true;
                    }
                    break;
            }
            return false;
        }