in src/PSRule.Rules.Azure/Data/Template/TemplateVisitor.cs [811:841]
public object GetValue()
{
ResolveProperty(_Context, _Value, PROPERTY_VALUE);
// Handle basic types.
if (_Value.TryValueProperty(out var value) && _Type.Type == TypePrimitive.String && value.Type == JTokenType.String)
{
return _Value;
}
else if (value != null && _Type.Type == TypePrimitive.Bool && value.Type == JTokenType.Boolean)
{
return _Value;
}
else if (value != null && _Type.Type == TypePrimitive.Int && value.Type == JTokenType.Integer)
{
return _Value;
}
else if (value != null && _Type.Type == TypePrimitive.Array && _Type.ItemType == TypePrimitive.String && value.Type == JTokenType.Array)
{
return _Value;
}
else if (value != null && _Type.Type == TypePrimitive.Array && _Type.ItemType == TypePrimitive.Bool && value.Type == JTokenType.Array)
{
return _Value;
}
else if (value != null && _Type.Type == TypePrimitive.Array && _Type.ItemType == TypePrimitive.Int && value.Type == JTokenType.Array)
{
return _Value;
}
return new MockObject(_Value);
}