internal static KeyPhraseExtractionSkill DeserializeKeyPhraseExtractionSkill(JsonElement element) { KeyPhraseExtractionSkillLanguage?defaultLanguageCode = default; int? maxKeyPhraseCount = default; string odatatype = default; string name = default; string description = default; string context = default; IList <InputFieldMappingEntry> inputs = default; IList <OutputFieldMappingEntry> outputs = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("defaultLanguageCode")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } defaultLanguageCode = new KeyPhraseExtractionSkillLanguage(property.Value.GetString()); continue; } if (property.NameEquals("maxKeyPhraseCount")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } maxKeyPhraseCount = property.Value.GetInt32(); continue; } if (property.NameEquals("@odata.type")) { odatatype = property.Value.GetString(); continue; } if (property.NameEquals("name")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } name = property.Value.GetString(); continue; } if (property.NameEquals("description")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } description = property.Value.GetString(); continue; } if (property.NameEquals("context")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } context = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { List <InputFieldMappingEntry> array = new List <InputFieldMappingEntry>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(InputFieldMappingEntry.DeserializeInputFieldMappingEntry(item)); } inputs = array; continue; } if (property.NameEquals("outputs")) { List <OutputFieldMappingEntry> array = new List <OutputFieldMappingEntry>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(OutputFieldMappingEntry.DeserializeOutputFieldMappingEntry(item)); } outputs = array; continue; } } return(new KeyPhraseExtractionSkill(defaultLanguageCode, maxKeyPhraseCount, odatatype, name, description, context, inputs, outputs)); }
internal static MergeSkill DeserializeMergeSkill(JsonElement element) { MergeSkill result = new MergeSkill(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("insertPreTag")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.InsertPreTag = property.Value.GetString(); continue; } if (property.NameEquals("insertPostTag")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.InsertPostTag = property.Value.GetString(); continue; } if (property.NameEquals("@odata.type")) { result.ODataType = property.Value.GetString(); continue; } if (property.NameEquals("name")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Name = property.Value.GetString(); continue; } if (property.NameEquals("description")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Description = property.Value.GetString(); continue; } if (property.NameEquals("context")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Context = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { foreach (var item in property.Value.EnumerateArray()) { result.Inputs.Add(InputFieldMappingEntry.DeserializeInputFieldMappingEntry(item)); } continue; } if (property.NameEquals("outputs")) { foreach (var item in property.Value.EnumerateArray()) { result.Outputs.Add(OutputFieldMappingEntry.DeserializeOutputFieldMappingEntry(item)); } continue; } } return(result); }
internal static WebApiSkill DeserializeWebApiSkill(JsonElement element) { string uri = default; IDictionary <string, string> httpHeaders = default; string httpMethod = default; TimeSpan?timeout = default; int? batchSize = default; int? degreeOfParallelism = default; string odataType = default; string name = default; string description = default; string context = default; IList <InputFieldMappingEntry> inputs = default; IList <OutputFieldMappingEntry> outputs = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("uri")) { uri = property.Value.GetString(); continue; } if (property.NameEquals("httpHeaders")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } Dictionary <string, string> dictionary = new Dictionary <string, string>(); foreach (var property0 in property.Value.EnumerateObject()) { if (property0.Value.ValueKind == JsonValueKind.Null) { dictionary.Add(property0.Name, null); } else { dictionary.Add(property0.Name, property0.Value.GetString()); } } httpHeaders = dictionary; continue; } if (property.NameEquals("httpMethod")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } httpMethod = property.Value.GetString(); continue; } if (property.NameEquals("timeout")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } timeout = property.Value.GetTimeSpan("P"); continue; } if (property.NameEquals("batchSize")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } batchSize = property.Value.GetInt32(); continue; } if (property.NameEquals("degreeOfParallelism")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } degreeOfParallelism = property.Value.GetInt32(); continue; } if (property.NameEquals("@odata.type")) { odataType = property.Value.GetString(); continue; } if (property.NameEquals("name")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } name = property.Value.GetString(); continue; } if (property.NameEquals("description")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } description = property.Value.GetString(); continue; } if (property.NameEquals("context")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } context = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { List <InputFieldMappingEntry> array = new List <InputFieldMappingEntry>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(InputFieldMappingEntry.DeserializeInputFieldMappingEntry(item)); } } inputs = array; continue; } if (property.NameEquals("outputs")) { List <OutputFieldMappingEntry> array = new List <OutputFieldMappingEntry>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(OutputFieldMappingEntry.DeserializeOutputFieldMappingEntry(item)); } } outputs = array; continue; } } return(new WebApiSkill(odataType, name, description, context, inputs, outputs, uri, httpHeaders, httpMethod, timeout, batchSize, degreeOfParallelism)); }
internal static TextTranslationSkill DeserializeTextTranslationSkill(JsonElement element) { TextTranslationSkillLanguage defaultToLanguageCode = default; TextTranslationSkillLanguage?defaultFromLanguageCode = default; TextTranslationSkillLanguage?suggestedFrom = default; string odataType = default; string name = default; string description = default; string context = default; IList <InputFieldMappingEntry> inputs = default; IList <OutputFieldMappingEntry> outputs = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("defaultToLanguageCode")) { defaultToLanguageCode = new TextTranslationSkillLanguage(property.Value.GetString()); continue; } if (property.NameEquals("defaultFromLanguageCode")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } defaultFromLanguageCode = new TextTranslationSkillLanguage(property.Value.GetString()); continue; } if (property.NameEquals("suggestedFrom")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } suggestedFrom = new TextTranslationSkillLanguage(property.Value.GetString()); continue; } if (property.NameEquals("@odata.type")) { odataType = property.Value.GetString(); continue; } if (property.NameEquals("name")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } name = property.Value.GetString(); continue; } if (property.NameEquals("description")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } description = property.Value.GetString(); continue; } if (property.NameEquals("context")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } context = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { List <InputFieldMappingEntry> array = new List <InputFieldMappingEntry>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(InputFieldMappingEntry.DeserializeInputFieldMappingEntry(item)); } } inputs = array; continue; } if (property.NameEquals("outputs")) { List <OutputFieldMappingEntry> array = new List <OutputFieldMappingEntry>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(OutputFieldMappingEntry.DeserializeOutputFieldMappingEntry(item)); } } outputs = array; continue; } } return(new TextTranslationSkill(odataType, name, description, context, inputs, outputs, defaultToLanguageCode, defaultFromLanguageCode, suggestedFrom)); }
internal static WebApiSkill DeserializeWebApiSkill(JsonElement element) { WebApiSkill result = new WebApiSkill(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("uri")) { result.Uri = property.Value.GetString(); continue; } if (property.NameEquals("httpHeaders")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.HttpHeaders = new Dictionary <string, string>(); foreach (var property0 in property.Value.EnumerateObject()) { result.HttpHeaders.Add(property0.Name, property0.Value.GetString()); } continue; } if (property.NameEquals("httpMethod")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.HttpMethod = property.Value.GetString(); continue; } if (property.NameEquals("timeout")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Timeout = property.Value.GetTimeSpan("P"); continue; } if (property.NameEquals("batchSize")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.BatchSize = property.Value.GetInt32(); continue; } if (property.NameEquals("degreeOfParallelism")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.DegreeOfParallelism = property.Value.GetInt32(); continue; } if (property.NameEquals("@odata.type")) { result.ODataType = property.Value.GetString(); continue; } if (property.NameEquals("name")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Name = property.Value.GetString(); continue; } if (property.NameEquals("description")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Description = property.Value.GetString(); continue; } if (property.NameEquals("context")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Context = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { foreach (var item in property.Value.EnumerateArray()) { result.Inputs.Add(InputFieldMappingEntry.DeserializeInputFieldMappingEntry(item)); } continue; } if (property.NameEquals("outputs")) { foreach (var item in property.Value.EnumerateArray()) { result.Outputs.Add(OutputFieldMappingEntry.DeserializeOutputFieldMappingEntry(item)); } continue; } } return(result); }
internal static ImageAnalysisSkill DeserializeImageAnalysisSkill(JsonElement element) { ImageAnalysisSkill result = new ImageAnalysisSkill(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("defaultLanguageCode")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.DefaultLanguageCode = new ImageAnalysisSkillLanguage(property.Value.GetString()); continue; } if (property.NameEquals("visualFeatures")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.VisualFeatures = new List <VisualFeature>(); foreach (var item in property.Value.EnumerateArray()) { result.VisualFeatures.Add(item.GetString().ToVisualFeature()); } continue; } if (property.NameEquals("details")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Details = new List <ImageDetail>(); foreach (var item in property.Value.EnumerateArray()) { result.Details.Add(item.GetString().ToImageDetail()); } continue; } if (property.NameEquals("@odata.type")) { result.ODataType = property.Value.GetString(); continue; } if (property.NameEquals("name")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Name = property.Value.GetString(); continue; } if (property.NameEquals("description")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Description = property.Value.GetString(); continue; } if (property.NameEquals("context")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Context = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { foreach (var item in property.Value.EnumerateArray()) { result.Inputs.Add(InputFieldMappingEntry.DeserializeInputFieldMappingEntry(item)); } continue; } if (property.NameEquals("outputs")) { foreach (var item in property.Value.EnumerateArray()) { result.Outputs.Add(OutputFieldMappingEntry.DeserializeOutputFieldMappingEntry(item)); } continue; } } return(result); }
internal static ShaperSkill DeserializeShaperSkill(JsonElement element) { string odatatype = default; string name = default; string description = default; string context = default; IList <InputFieldMappingEntry> inputs = default; IList <OutputFieldMappingEntry> outputs = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("@odata.type")) { odatatype = property.Value.GetString(); continue; } if (property.NameEquals("name")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } name = property.Value.GetString(); continue; } if (property.NameEquals("description")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } description = property.Value.GetString(); continue; } if (property.NameEquals("context")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } context = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { List <InputFieldMappingEntry> array = new List <InputFieldMappingEntry>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(InputFieldMappingEntry.DeserializeInputFieldMappingEntry(item)); } inputs = array; continue; } if (property.NameEquals("outputs")) { List <OutputFieldMappingEntry> array = new List <OutputFieldMappingEntry>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(OutputFieldMappingEntry.DeserializeOutputFieldMappingEntry(item)); } outputs = array; continue; } } return(new ShaperSkill(odatatype, name, description, context, inputs, outputs)); }
internal static EntityRecognitionSkill DeserializeEntityRecognitionSkill(JsonElement element) { IList <EntityCategory> categories = default; EntityRecognitionSkillLanguage?defaultLanguageCode = default; bool? includeTypelessEntities = default; double?minimumPrecision = default; string odatatype = default; string name = default; string description = default; string context = default; IList <InputFieldMappingEntry> inputs = default; IList <OutputFieldMappingEntry> outputs = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("categories")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } List <EntityCategory> array = new List <EntityCategory>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString().ToEntityCategory()); } categories = array; continue; } if (property.NameEquals("defaultLanguageCode")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } defaultLanguageCode = new EntityRecognitionSkillLanguage(property.Value.GetString()); continue; } if (property.NameEquals("includeTypelessEntities")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } includeTypelessEntities = property.Value.GetBoolean(); continue; } if (property.NameEquals("minimumPrecision")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } minimumPrecision = property.Value.GetDouble(); continue; } if (property.NameEquals("@odata.type")) { odatatype = property.Value.GetString(); continue; } if (property.NameEquals("name")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } name = property.Value.GetString(); continue; } if (property.NameEquals("description")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } description = property.Value.GetString(); continue; } if (property.NameEquals("context")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } context = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { List <InputFieldMappingEntry> array = new List <InputFieldMappingEntry>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(InputFieldMappingEntry.DeserializeInputFieldMappingEntry(item)); } inputs = array; continue; } if (property.NameEquals("outputs")) { List <OutputFieldMappingEntry> array = new List <OutputFieldMappingEntry>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(OutputFieldMappingEntry.DeserializeOutputFieldMappingEntry(item)); } outputs = array; continue; } } return(new EntityRecognitionSkill(odatatype, name, description, context, inputs, outputs, categories, defaultLanguageCode, includeTypelessEntities, minimumPrecision)); }
internal static OcrSkill DeserializeOcrSkill(JsonElement element) { OcrSkill result = new OcrSkill(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("textExtractionAlgorithm")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.TextExtractionAlgorithm = property.Value.GetString().ToTextExtractionAlgorithm(); continue; } if (property.NameEquals("defaultLanguageCode")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.DefaultLanguageCode = new OcrSkillLanguage(property.Value.GetString()); continue; } if (property.NameEquals("detectOrientation")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.ShouldDetectOrientation = property.Value.GetBoolean(); continue; } if (property.NameEquals("@odata.type")) { result.ODataType = property.Value.GetString(); continue; } if (property.NameEquals("name")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Name = property.Value.GetString(); continue; } if (property.NameEquals("description")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Description = property.Value.GetString(); continue; } if (property.NameEquals("context")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Context = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { foreach (var item in property.Value.EnumerateArray()) { result.Inputs.Add(InputFieldMappingEntry.DeserializeInputFieldMappingEntry(item)); } continue; } if (property.NameEquals("outputs")) { foreach (var item in property.Value.EnumerateArray()) { result.Outputs.Add(OutputFieldMappingEntry.DeserializeOutputFieldMappingEntry(item)); } continue; } } return(result); }
internal static OcrSkill DeserializeOcrSkill(JsonElement element) { TextExtractionAlgorithm?textExtractionAlgorithm = default; OcrSkillLanguage? defaultLanguageCode = default; bool? detectOrientation = default; string odataType = default; string name = default; string description = default; string context = default; IList <InputFieldMappingEntry> inputs = default; IList <OutputFieldMappingEntry> outputs = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("textExtractionAlgorithm")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } textExtractionAlgorithm = property.Value.GetString().ToTextExtractionAlgorithm(); continue; } if (property.NameEquals("defaultLanguageCode")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } defaultLanguageCode = new OcrSkillLanguage(property.Value.GetString()); continue; } if (property.NameEquals("detectOrientation")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } detectOrientation = property.Value.GetBoolean(); continue; } if (property.NameEquals("@odata.type")) { odataType = property.Value.GetString(); continue; } if (property.NameEquals("name")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } name = property.Value.GetString(); continue; } if (property.NameEquals("description")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } description = property.Value.GetString(); continue; } if (property.NameEquals("context")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } context = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { List <InputFieldMappingEntry> array = new List <InputFieldMappingEntry>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(InputFieldMappingEntry.DeserializeInputFieldMappingEntry(item)); } } inputs = array; continue; } if (property.NameEquals("outputs")) { List <OutputFieldMappingEntry> array = new List <OutputFieldMappingEntry>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(OutputFieldMappingEntry.DeserializeOutputFieldMappingEntry(item)); } } outputs = array; continue; } } return(new OcrSkill(odataType, name, description, context, inputs, outputs, textExtractionAlgorithm, defaultLanguageCode, detectOrientation)); }
internal static ImageAnalysisSkill DeserializeImageAnalysisSkill(JsonElement element) { ImageAnalysisSkillLanguage?defaultLanguageCode = default; IList <VisualFeature> visualFeatures = default; IList <ImageDetail> details = default; string odatatype = default; string name = default; string description = default; string context = default; IList <InputFieldMappingEntry> inputs = default; IList <OutputFieldMappingEntry> outputs = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("defaultLanguageCode")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } defaultLanguageCode = new ImageAnalysisSkillLanguage(property.Value.GetString()); continue; } if (property.NameEquals("visualFeatures")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } List <VisualFeature> array = new List <VisualFeature>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString().ToVisualFeature()); } visualFeatures = array; continue; } if (property.NameEquals("details")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } List <ImageDetail> array = new List <ImageDetail>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString().ToImageDetail()); } details = array; continue; } if (property.NameEquals("@odata.type")) { odatatype = property.Value.GetString(); continue; } if (property.NameEquals("name")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } name = property.Value.GetString(); continue; } if (property.NameEquals("description")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } description = property.Value.GetString(); continue; } if (property.NameEquals("context")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } context = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { List <InputFieldMappingEntry> array = new List <InputFieldMappingEntry>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(InputFieldMappingEntry.DeserializeInputFieldMappingEntry(item)); } inputs = array; continue; } if (property.NameEquals("outputs")) { List <OutputFieldMappingEntry> array = new List <OutputFieldMappingEntry>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(OutputFieldMappingEntry.DeserializeOutputFieldMappingEntry(item)); } outputs = array; continue; } } return(new ImageAnalysisSkill(defaultLanguageCode, visualFeatures, details, odatatype, name, description, context, inputs, outputs)); }
internal static Skill DeserializeSkill(JsonElement element) { if (element.TryGetProperty("@odata.type", out JsonElement discriminator)) { switch (discriminator.GetString()) { case "#Microsoft.Skills.Custom.WebApiSkill": return(WebApiSkill.DeserializeWebApiSkill(element)); case "#Microsoft.Skills.Text.EntityRecognitionSkill": return(EntityRecognitionSkill.DeserializeEntityRecognitionSkill(element)); case "#Microsoft.Skills.Text.KeyPhraseExtractionSkill": return(KeyPhraseExtractionSkill.DeserializeKeyPhraseExtractionSkill(element)); case "#Microsoft.Skills.Text.LanguageDetectionSkill": return(LanguageDetectionSkill.DeserializeLanguageDetectionSkill(element)); case "#Microsoft.Skills.Text.MergeSkill": return(MergeSkill.DeserializeMergeSkill(element)); case "#Microsoft.Skills.Text.SentimentSkill": return(SentimentSkill.DeserializeSentimentSkill(element)); case "#Microsoft.Skills.Text.SplitSkill": return(SplitSkill.DeserializeSplitSkill(element)); case "#Microsoft.Skills.Text.TranslationSkill": return(TextTranslationSkill.DeserializeTextTranslationSkill(element)); case "#Microsoft.Skills.Util.ConditionalSkill": return(ConditionalSkill.DeserializeConditionalSkill(element)); case "#Microsoft.Skills.Util.ShaperSkill": return(ShaperSkill.DeserializeShaperSkill(element)); case "#Microsoft.Skills.Vision.ImageAnalysisSkill": return(ImageAnalysisSkill.DeserializeImageAnalysisSkill(element)); case "#Microsoft.Skills.Vision.OcrSkill": return(OcrSkill.DeserializeOcrSkill(element)); } } Skill result = new Skill(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("@odata.type")) { result.ODataType = property.Value.GetString(); continue; } if (property.NameEquals("name")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Name = property.Value.GetString(); continue; } if (property.NameEquals("description")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Description = property.Value.GetString(); continue; } if (property.NameEquals("context")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Context = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { foreach (var item in property.Value.EnumerateArray()) { result.Inputs.Add(InputFieldMappingEntry.DeserializeInputFieldMappingEntry(item)); } continue; } if (property.NameEquals("outputs")) { foreach (var item in property.Value.EnumerateArray()) { result.Outputs.Add(OutputFieldMappingEntry.DeserializeOutputFieldMappingEntry(item)); } continue; } } return(result); }
internal static Skill DeserializeSkill(JsonElement element) { if (element.TryGetProperty("@odata.type", out JsonElement discriminator)) { switch (discriminator.GetString()) { case "#Microsoft.Skills.Custom.WebApiSkill": return(WebApiSkill.DeserializeWebApiSkill(element)); case "#Microsoft.Skills.Text.EntityRecognitionSkill": return(EntityRecognitionSkill.DeserializeEntityRecognitionSkill(element)); case "#Microsoft.Skills.Text.KeyPhraseExtractionSkill": return(KeyPhraseExtractionSkill.DeserializeKeyPhraseExtractionSkill(element)); case "#Microsoft.Skills.Text.LanguageDetectionSkill": return(LanguageDetectionSkill.DeserializeLanguageDetectionSkill(element)); case "#Microsoft.Skills.Text.MergeSkill": return(MergeSkill.DeserializeMergeSkill(element)); case "#Microsoft.Skills.Text.SentimentSkill": return(SentimentSkill.DeserializeSentimentSkill(element)); case "#Microsoft.Skills.Text.SplitSkill": return(SplitSkill.DeserializeSplitSkill(element)); case "#Microsoft.Skills.Text.TranslationSkill": return(TextTranslationSkill.DeserializeTextTranslationSkill(element)); case "#Microsoft.Skills.Util.ConditionalSkill": return(ConditionalSkill.DeserializeConditionalSkill(element)); case "#Microsoft.Skills.Util.ShaperSkill": return(ShaperSkill.DeserializeShaperSkill(element)); case "#Microsoft.Skills.Vision.ImageAnalysisSkill": return(ImageAnalysisSkill.DeserializeImageAnalysisSkill(element)); case "#Microsoft.Skills.Vision.OcrSkill": return(OcrSkill.DeserializeOcrSkill(element)); } } string odataType = default; string name = default; string description = default; string context = default; IList <InputFieldMappingEntry> inputs = default; IList <OutputFieldMappingEntry> outputs = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("@odata.type")) { odataType = property.Value.GetString(); continue; } if (property.NameEquals("name")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } name = property.Value.GetString(); continue; } if (property.NameEquals("description")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } description = property.Value.GetString(); continue; } if (property.NameEquals("context")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } context = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { List <InputFieldMappingEntry> array = new List <InputFieldMappingEntry>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(InputFieldMappingEntry.DeserializeInputFieldMappingEntry(item)); } } inputs = array; continue; } if (property.NameEquals("outputs")) { List <OutputFieldMappingEntry> array = new List <OutputFieldMappingEntry>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(OutputFieldMappingEntry.DeserializeOutputFieldMappingEntry(item)); } } outputs = array; continue; } } return(new Skill(odataType, name, description, context, inputs, outputs)); }
internal static SplitSkill DeserializeSplitSkill(JsonElement element) { SplitSkill result = new SplitSkill(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("defaultLanguageCode")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.DefaultLanguageCode = new SplitSkillLanguage(property.Value.GetString()); continue; } if (property.NameEquals("textSplitMode")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.TextSplitMode = property.Value.GetString().ToTextSplitMode(); continue; } if (property.NameEquals("maximumPageLength")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.MaximumPageLength = property.Value.GetInt32(); continue; } if (property.NameEquals("@odata.type")) { result.ODataType = property.Value.GetString(); continue; } if (property.NameEquals("name")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Name = property.Value.GetString(); continue; } if (property.NameEquals("description")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Description = property.Value.GetString(); continue; } if (property.NameEquals("context")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Context = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { foreach (var item in property.Value.EnumerateArray()) { result.Inputs.Add(InputFieldMappingEntry.DeserializeInputFieldMappingEntry(item)); } continue; } if (property.NameEquals("outputs")) { foreach (var item in property.Value.EnumerateArray()) { result.Outputs.Add(OutputFieldMappingEntry.DeserializeOutputFieldMappingEntry(item)); } continue; } } return(result); }
internal static TextTranslationSkill DeserializeTextTranslationSkill(JsonElement element) { TextTranslationSkill result = new TextTranslationSkill(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("defaultToLanguageCode")) { result.DefaultToLanguageCode = new TextTranslationSkillLanguage(property.Value.GetString()); continue; } if (property.NameEquals("defaultFromLanguageCode")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.DefaultFromLanguageCode = new TextTranslationSkillLanguage(property.Value.GetString()); continue; } if (property.NameEquals("suggestedFrom")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.SuggestedFrom = new TextTranslationSkillLanguage(property.Value.GetString()); continue; } if (property.NameEquals("@odata.type")) { result.ODataType = property.Value.GetString(); continue; } if (property.NameEquals("name")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Name = property.Value.GetString(); continue; } if (property.NameEquals("description")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Description = property.Value.GetString(); continue; } if (property.NameEquals("context")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Context = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { foreach (var item in property.Value.EnumerateArray()) { result.Inputs.Add(InputFieldMappingEntry.DeserializeInputFieldMappingEntry(item)); } continue; } if (property.NameEquals("outputs")) { foreach (var item in property.Value.EnumerateArray()) { result.Outputs.Add(OutputFieldMappingEntry.DeserializeOutputFieldMappingEntry(item)); } continue; } } return(result); }
internal static EntityRecognitionSkill DeserializeEntityRecognitionSkill(JsonElement element) { EntityRecognitionSkill result = new EntityRecognitionSkill(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("categories")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Categories = new List <EntityCategory>(); foreach (var item in property.Value.EnumerateArray()) { result.Categories.Add(item.GetString().ToEntityCategory()); } continue; } if (property.NameEquals("defaultLanguageCode")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.DefaultLanguageCode = new EntityRecognitionSkillLanguage(property.Value.GetString()); continue; } if (property.NameEquals("includeTypelessEntities")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.IncludeTypelessEntities = property.Value.GetBoolean(); continue; } if (property.NameEquals("minimumPrecision")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.MinimumPrecision = property.Value.GetDouble(); continue; } if (property.NameEquals("@odata.type")) { result.ODataType = property.Value.GetString(); continue; } if (property.NameEquals("name")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Name = property.Value.GetString(); continue; } if (property.NameEquals("description")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Description = property.Value.GetString(); continue; } if (property.NameEquals("context")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } result.Context = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { foreach (var item in property.Value.EnumerateArray()) { result.Inputs.Add(InputFieldMappingEntry.DeserializeInputFieldMappingEntry(item)); } continue; } if (property.NameEquals("outputs")) { foreach (var item in property.Value.EnumerateArray()) { result.Outputs.Add(OutputFieldMappingEntry.DeserializeOutputFieldMappingEntry(item)); } continue; } } return(result); }