Microsoft.Azure.WebJobs.Script.ScriptHost.ParseFunctionMetadata C# (CSharp) Method

ParseFunctionMetadata() private static method

private static ParseFunctionMetadata ( string functionName, Newtonsoft.Json.Linq.JObject configMetadata ) : FunctionMetadata
functionName string
configMetadata Newtonsoft.Json.Linq.JObject
return Microsoft.Azure.WebJobs.Script.Description.FunctionMetadata
        private static FunctionMetadata ParseFunctionMetadata(string functionName, JObject configMetadata)
        {
            FunctionMetadata functionMetadata = new FunctionMetadata
            {
                Name = functionName
            };

            JValue triggerDisabledValue = null;
            JArray bindingArray = (JArray)configMetadata["bindings"];
            if (bindingArray == null || bindingArray.Count == 0)
            {
                throw new FormatException("At least one binding must be declared.");
            }

            if (bindingArray != null)
            {
                foreach (JObject binding in bindingArray)
                {
                    BindingMetadata bindingMetadata = BindingMetadata.Create(binding);
                    functionMetadata.Bindings.Add(bindingMetadata);
                    if (bindingMetadata.IsTrigger)
                    {
                        triggerDisabledValue = (JValue)binding["disabled"];
                    }
                }
            }

            // A function can be disabled at the trigger or function level
            if (IsDisabled(triggerDisabledValue) ||
                IsDisabled((JValue)configMetadata["disabled"]))
            {
                functionMetadata.IsDisabled = true;
            }

            JToken value = null;
            if (configMetadata.TryGetValue("excluded", StringComparison.OrdinalIgnoreCase, out value) &&
                value.Type == JTokenType.Boolean)
            {
                functionMetadata.IsExcluded = (bool)value;
            }

            return functionMetadata;
        }