private static void ReadBoundAttributeParameter(BoundAttributeParameterDescriptorBuilder builder, JObject parameter, JsonSerializer serializer)
        {
            var descriptorKind = parameter[nameof(BoundAttributeParameterDescriptor.Kind)].Value <string>();
            var name           = parameter[nameof(BoundAttributeParameterDescriptor.Name)].Value <string>();
            var typeName       = parameter[nameof(BoundAttributeParameterDescriptor.TypeName)].Value <string>();
            var isEnum         = parameter[nameof(BoundAttributeParameterDescriptor.IsEnum)].Value <bool>();
            var documentation  = parameter[nameof(BoundAttributeParameterDescriptor.Documentation)].Value <string>();
            var diagnostics    = parameter[nameof(BoundAttributeParameterDescriptor.Diagnostics)].Value <JArray>();
            var metadata       = parameter[nameof(BoundAttributeParameterDescriptor.Metadata)].Value <JObject>();

            builder.Name          = name;
            builder.TypeName      = typeName;
            builder.Documentation = documentation;

            if (isEnum)
            {
                builder.IsEnum = true;
            }

            foreach (var diagnostic in diagnostics)
            {
                var diagnosticReader = diagnostic.CreateReader();
                var diagnosticObject = serializer.Deserialize <RazorDiagnostic>(diagnosticReader);
                builder.Diagnostics.Add(diagnosticObject);
            }

            var metadataReader = metadata.CreateReader();
            var metadataValue  = serializer.Deserialize <Dictionary <string, string> >(metadataReader);

            foreach (var item in metadataValue)
            {
                builder.Metadata[item.Key] = item.Value;
            }
        }
Ejemplo n.º 2
0
    private static void ReadBoundAttributeParameter(BoundAttributeParameterDescriptorBuilder builder, JObject parameter, JsonSerializer serializer)
    {
        parameter["Kind"].Value <string>();
        string  name          = parameter["Name"].Value <string>();
        string  typeName      = parameter["TypeName"].Value <string>();
        bool    num           = parameter["IsEnum"].Value <bool>();
        string  documentation = parameter["Documentation"].Value <string>();
        JArray  jArray        = parameter["Diagnostics"].Value <JArray>();
        JObject jObject       = parameter["Metadata"].Value <JObject>();

        builder.Name          = name;
        builder.TypeName      = typeName;
        builder.Documentation = documentation;
        if (num)
        {
            builder.IsEnum = true;
        }
        foreach (JToken item2 in jArray)
        {
            JsonReader      reader = item2.CreateReader();
            RazorDiagnostic item   = serializer.Deserialize <RazorDiagnostic>(reader);
            builder.Diagnostics.Add(item);
        }
        JsonReader reader2 = jObject.CreateReader();

        foreach (KeyValuePair <string, string> item3 in serializer.Deserialize <Dictionary <string, string> >(reader2))
        {
            builder.Metadata[item3.Key] = item3.Value;
        }
    }
Ejemplo n.º 3
0
    public static string GetPropertyName(this BoundAttributeParameterDescriptorBuilder builder)
    {
        if (builder == null)
        {
            throw new ArgumentNullException(nameof(builder));
        }

        if (builder.Metadata.TryGetValue(TagHelperMetadata.Common.PropertyName, out var value))
        {
            return(value);
        }

        return(null);
    }
Ejemplo n.º 4
0
    public static void SetPropertyName(this BoundAttributeParameterDescriptorBuilder builder, string propertyName)
    {
        if (builder == null)
        {
            throw new ArgumentNullException(nameof(builder));
        }

        if (propertyName == null)
        {
            throw new ArgumentNullException(nameof(propertyName));
        }

        builder.Metadata[TagHelperMetadata.Common.PropertyName] = propertyName;
    }