From ad635d920e7694c2375fc44c88d88a02a001705e Mon Sep 17 00:00:00 2001 From: Dapeng Zhang Date: Thu, 5 Sep 2024 14:20:02 +0800 Subject: [PATCH] Align the structure of model property (#4319) Fixes https://github.com/Azure/autorest.csharp/issues/4793 --- .../http-client-csharp/emitter/src/emitter.ts | 5 - .../emitter/src/lib/converter.ts | 16 +- .../emitter/src/lib/example-converter.ts | 1 - .../emitter/src/type/input-examples.ts | 1 - .../emitter/src/type/input-model-property.ts | 17 - .../emitter/src/type/input-type.ts | 13 +- ...or-list.test.ts => decorator-list.test.ts} | 0 .../emitter/test/Unit/model-type.test.ts | 18 +- .../src/InputTypes/InputModelProperty.cs | 4 +- .../TypeSpecInputModelPropertyConverter.cs | 23 +- .../src/Providers/PropertyProvider.cs | 2 +- .../src/TypeFactory.cs | 16 +- .../authentication/api-key/tspCodeModel.json | 10 +- .../http/custom/tspCodeModel.json | 10 +- .../authentication/oauth2/tspCodeModel.json | 10 +- .../http/client/naming/tspCodeModel.json | 45 +- .../http/encode/bytes/tspCodeModel.json | 40 +- .../http/encode/datetime/tspCodeModel.json | 50 +- .../http/encode/duration/tspCodeModel.json | 60 +- .../http/parameters/basic/tspCodeModel.json | 20 +- .../http/payload/xml/tspCodeModel.json | 220 +++++--- .../http/type/array/tspCodeModel.json | 19 +- .../http/type/dictionary/tspCodeModel.json | 19 +- .../enum-discriminator/tspCodeModel.json | 58 +- .../single-discriminator/tspCodeModel.json | 126 +++-- .../http/type/model/usage/tspCodeModel.json | 30 +- .../type/property/nullable/tspCodeModel.json | 135 +++-- .../property/optionality/tspCodeModel.json | 153 ++++-- .../property/value-types/tspCodeModel.json | 261 ++++++--- .../http/type/union/tspCodeModel.json | 337 +++++++----- .../Unbranded-TypeSpec/tspCodeModel.json | 513 ++++++++++++------ 31 files changed, 1400 insertions(+), 832 deletions(-) delete mode 100644 packages/http-client-csharp/emitter/src/type/input-model-property.ts rename packages/http-client-csharp/emitter/test/Unit/{emit-decorator-list.test.ts => decorator-list.test.ts} (100%) diff --git a/packages/http-client-csharp/emitter/src/emitter.ts b/packages/http-client-csharp/emitter/src/emitter.ts index e3e44d5d38..dbae3d75a1 100644 --- a/packages/http-client-csharp/emitter/src/emitter.ts +++ b/packages/http-client-csharp/emitter/src/emitter.ts @@ -238,11 +238,6 @@ function transformJSONProperties(this: any, key: string, value: any): any { } } - // omit the `rawExample` property from the examples - if (key === "rawExample") { - return undefined; - } - return value; } diff --git a/packages/http-client-csharp/emitter/src/lib/converter.ts b/packages/http-client-csharp/emitter/src/lib/converter.ts index 140092a38a..0733a8af19 100644 --- a/packages/http-client-csharp/emitter/src/lib/converter.ts +++ b/packages/http-client-csharp/emitter/src/lib/converter.ts @@ -22,7 +22,6 @@ import { } from "@azure-tools/typespec-client-generator-core"; import { Model } from "@typespec/compiler"; import { InputEnumTypeValue } from "../type/input-enum-type-value.js"; -import { InputModelProperty } from "../type/input-model-property.js"; import { InputArrayType, InputDateTimeType, @@ -30,6 +29,7 @@ import { InputDurationType, InputEnumType, InputLiteralType, + InputModelProperty, InputModelType, InputPrimitiveType, InputType, @@ -181,26 +181,26 @@ export function fromSdkModelType( const serializedName = property.serializedName; literalTypeContext.PropertyName = serializedName; - const isRequired = !property.optional; - const isDiscriminator = property.discriminator; const modelProperty: InputModelProperty = { + Kind: property.kind, Name: property.name, SerializedName: serializedName, - Description: property.description ?? (isDiscriminator ? "Discriminator" : ""), + Description: property.description, Type: fromSdkType( property.type, context, typeMap, - isDiscriminator ? undefined : literalTypeContext // this is a workaround because the type of discriminator property in derived models is always literal and we wrap literal into enums, which leads to a lot of extra enum types, adding this check to avoid them + property.discriminator ? undefined : literalTypeContext // this is a workaround because the type of discriminator property in derived models is always literal and we wrap literal into enums, which leads to a lot of extra enum types, adding this check to avoid them ), - IsRequired: isRequired, - IsReadOnly: isReadOnly(property), - IsDiscriminator: isDiscriminator === true ? true : undefined, + Optional: property.optional, + ReadOnly: isReadOnly(property), // TODO -- we might pass the visibility through and then check if there is only read to know if this is readonly + Discriminator: property.discriminator, FlattenedNames: flattenedNamePrefixes.length > 0 ? flattenedNamePrefixes.concat(property.name) : undefined, Decorators: property.decorators, + CrossLanguageDefinitionId: property.crossLanguageDefinitionId, }; return [modelProperty]; diff --git a/packages/http-client-csharp/emitter/src/lib/example-converter.ts b/packages/http-client-csharp/emitter/src/lib/example-converter.ts index 3d834d4aa6..a9fe7ae24c 100644 --- a/packages/http-client-csharp/emitter/src/lib/example-converter.ts +++ b/packages/http-client-csharp/emitter/src/lib/example-converter.ts @@ -63,7 +63,6 @@ export function fromSdkHttpExamples( name: example.name, description: example.description, filePath: example.filePath, - rawExample: example.rawExample, parameters: example.parameters.map((p) => fromSdkParameterExample(p)), responses: fromSdkOperationResponses(example.responses), }; diff --git a/packages/http-client-csharp/emitter/src/type/input-examples.ts b/packages/http-client-csharp/emitter/src/type/input-examples.ts index 719c19caf6..5ff25eea1c 100644 --- a/packages/http-client-csharp/emitter/src/type/input-examples.ts +++ b/packages/http-client-csharp/emitter/src/type/input-examples.ts @@ -19,7 +19,6 @@ interface InputExampleBase { name: string; description: string; filePath: string; - rawExample: any; } export interface InputHttpOperationExample extends InputExampleBase { diff --git a/packages/http-client-csharp/emitter/src/type/input-model-property.ts b/packages/http-client-csharp/emitter/src/type/input-model-property.ts deleted file mode 100644 index b96c73bb56..0000000000 --- a/packages/http-client-csharp/emitter/src/type/input-model-property.ts +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. - -import { DecoratorInfo } from "@azure-tools/typespec-client-generator-core"; -import { InputType } from "./input-type.js"; - -export interface InputModelProperty { - Name: string; - SerializedName: string; - Description: string; - Type: InputType; - IsRequired: boolean; - IsReadOnly: boolean; - IsDiscriminator?: boolean; - FlattenedNames?: string[]; - Decorators?: DecoratorInfo[]; -} diff --git a/packages/http-client-csharp/emitter/src/type/input-type.ts b/packages/http-client-csharp/emitter/src/type/input-type.ts index 0df51010d5..ad8bad340a 100644 --- a/packages/http-client-csharp/emitter/src/type/input-type.ts +++ b/packages/http-client-csharp/emitter/src/type/input-type.ts @@ -9,7 +9,6 @@ import { } from "@azure-tools/typespec-client-generator-core"; import { DateTimeKnownEncoding, DurationKnownEncoding } from "@typespec/compiler"; import { InputEnumTypeValue } from "./input-enum-type-value.js"; -import { InputModelProperty } from "./input-model-property.js"; interface InputTypeBase { Kind: string; @@ -99,6 +98,18 @@ export interface InputModelType extends InputTypeBase { BaseModel?: InputModelType; } +export interface InputModelProperty extends InputTypeBase { + Kind: "property"; + Name: string; + SerializedName: string; + Type: InputType; + Optional: boolean; + ReadOnly: boolean; + Discriminator: boolean; + CrossLanguageDefinitionId: string; + FlattenedNames?: string[]; // TODO -- remove this when we are ready to move the flatten handling from emitter to the generator +} + export function isInputModelType(type: InputType): type is InputModelType { return type.Kind === "model"; } diff --git a/packages/http-client-csharp/emitter/test/Unit/emit-decorator-list.test.ts b/packages/http-client-csharp/emitter/test/Unit/decorator-list.test.ts similarity index 100% rename from packages/http-client-csharp/emitter/test/Unit/emit-decorator-list.test.ts rename to packages/http-client-csharp/emitter/test/Unit/decorator-list.test.ts diff --git a/packages/http-client-csharp/emitter/test/Unit/model-type.test.ts b/packages/http-client-csharp/emitter/test/Unit/model-type.test.ts index 12d45f9c8d..0fcf45d224 100644 --- a/packages/http-client-csharp/emitter/test/Unit/model-type.test.ts +++ b/packages/http-client-csharp/emitter/test/Unit/model-type.test.ts @@ -63,9 +63,9 @@ op test(@body input: Pet): Pet; strictEqual(discriminatorProperty?.Name, "kind"); strictEqual(discriminatorProperty.SerializedName, "kind"); strictEqual(discriminatorProperty.Type.Kind, "string"); - strictEqual(discriminatorProperty.IsRequired, true); - strictEqual(discriminatorProperty.IsReadOnly, false); - strictEqual(discriminatorProperty.IsDiscriminator, true); + strictEqual(discriminatorProperty.Optional, false); + strictEqual(discriminatorProperty.ReadOnly, false); + strictEqual(discriminatorProperty.Discriminator, true); strictEqual(discriminatorProperty.FlattenedNames, undefined); // assert we will NOT have a DiscriminatorProperty on the derived models assert( @@ -146,9 +146,9 @@ op test(@body input: Pet): Pet; strictEqual(discriminatorProperty.Type.Kind, "enum"); strictEqual(discriminatorProperty.Type.Name, "PetKind"); strictEqual(discriminatorProperty.Type.ValueType.Kind, "string"); - strictEqual(discriminatorProperty.IsRequired, true); - strictEqual(discriminatorProperty.IsReadOnly, false); - strictEqual(discriminatorProperty.IsDiscriminator, true); + strictEqual(discriminatorProperty.Optional, false); + strictEqual(discriminatorProperty.ReadOnly, false); + strictEqual(discriminatorProperty.Discriminator, true); strictEqual(discriminatorProperty.FlattenedNames, undefined); // verify derived model Cat @@ -239,9 +239,9 @@ op test(@body input: Pet): Pet; strictEqual(discriminatorProperty.Type.Kind, "enum"); strictEqual(discriminatorProperty.Type.Name, "PetKind"); strictEqual(discriminatorProperty.Type.ValueType.Kind, "string"); - strictEqual(discriminatorProperty.IsRequired, true); - strictEqual(discriminatorProperty.IsReadOnly, false); - strictEqual(discriminatorProperty.IsDiscriminator, true); + strictEqual(discriminatorProperty.Optional, false); + strictEqual(discriminatorProperty.ReadOnly, false); + strictEqual(discriminatorProperty.Discriminator, true); strictEqual(discriminatorProperty.FlattenedNames, undefined); // verify derived model Cat diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputModelProperty.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputModelProperty.cs index 481b61edc4..13e42ef9c7 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputModelProperty.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputModelProperty.cs @@ -7,7 +7,7 @@ namespace Microsoft.Generator.CSharp.Input { public class InputModelProperty { - public InputModelProperty(string name, string serializedName, string description, InputType type, bool isRequired, bool isReadOnly, bool isDiscriminator, IReadOnlyList? flattenedNames = null) + public InputModelProperty(string name, string serializedName, string? description, InputType type, bool isRequired, bool isReadOnly, bool isDiscriminator, IReadOnlyList? flattenedNames = null) { Name = name; SerializedName = serializedName; @@ -21,7 +21,7 @@ public InputModelProperty(string name, string serializedName, string description public string Name { get; } public string SerializedName { get; } - public string Description { get; } + public string? Description { get; } public InputType Type { get; } public bool IsRequired { get; } public bool IsReadOnly { get; } diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputModelPropertyConverter.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputModelPropertyConverter.cs index 38a2f883b1..af5577e9e4 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputModelPropertyConverter.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputModelPropertyConverter.cs @@ -30,7 +30,7 @@ private static InputModelProperty ReadInputModelProperty(ref Utf8JsonReader read string? description = null; InputType? propertyType = null; bool isReadOnly = false; - bool isRequired = false; + bool isOptional = false; bool isDiscriminator = false; IReadOnlyList? decorators = null; IReadOnlyList? flattenedNames = null; @@ -38,15 +38,15 @@ private static InputModelProperty ReadInputModelProperty(ref Utf8JsonReader read while (reader.TokenType != JsonTokenType.EndObject) { var isKnownProperty = reader.TryReadReferenceId(ref isFirstProperty, ref id) - || reader.TryReadString(nameof(InputModelProperty.Name), ref name) - || reader.TryReadString(nameof(InputModelProperty.SerializedName), ref serializedName) - || reader.TryReadString(nameof(InputModelProperty.Description), ref description) - || reader.TryReadWithConverter(nameof(InputModelProperty.Type), options, ref propertyType) - || reader.TryReadBoolean(nameof(InputModelProperty.IsReadOnly), ref isReadOnly) - || reader.TryReadBoolean(nameof(InputModelProperty.IsRequired), ref isRequired) - || reader.TryReadBoolean(nameof(InputModelProperty.IsDiscriminator), ref isDiscriminator) - || reader.TryReadWithConverter(nameof(InputModelProperty.Decorators), options, ref decorators) - || reader.TryReadWithConverter(nameof(InputModelProperty.FlattenedNames), options, ref flattenedNames); + || reader.TryReadString("Name", ref name) + || reader.TryReadString("SerializedName", ref serializedName) + || reader.TryReadString("Description", ref description) + || reader.TryReadWithConverter("Type", options, ref propertyType) + || reader.TryReadBoolean("ReadOnly", ref isReadOnly) + || reader.TryReadBoolean("Optional", ref isOptional) + || reader.TryReadBoolean("Discriminator", ref isDiscriminator) + || reader.TryReadWithConverter("Decorators", options, ref decorators) + || reader.TryReadWithConverter("FlattenNames", options, ref flattenedNames); if (!isKnownProperty) { @@ -55,12 +55,11 @@ private static InputModelProperty ReadInputModelProperty(ref Utf8JsonReader read } name = name ?? throw new JsonException($"{nameof(InputModelProperty)} must have a name."); - description = description ?? throw new JsonException($"{nameof(InputModelProperty)} must have a description."); // TO-DO: Implement as part of autorest output classes migration https://github.com/Azure/autorest.csharp/issues/4198 // description = BuilderHelpers.EscapeXmlDocDescription(description); propertyType = propertyType ?? throw new JsonException($"{nameof(InputModelProperty)} must have a property type."); - var property = new InputModelProperty(name, serializedName ?? name, description, propertyType, isRequired, isReadOnly, isDiscriminator, flattenedNames) { Decorators = decorators ?? [] }; + var property = new InputModelProperty(name, serializedName ?? name, description, propertyType, !isOptional, isReadOnly, isDiscriminator, flattenedNames) { Decorators = decorators ?? [] }; if (id != null) { resolver.AddReference(id, property); diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp/src/Providers/PropertyProvider.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp/src/Providers/PropertyProvider.cs index 4c9575b4da..9bac3cb18b 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp/src/Providers/PropertyProvider.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp/src/Providers/PropertyProvider.cs @@ -84,7 +84,7 @@ private PropertyProvider(InputModelProperty inputProperty, CSharpType propertyTy EnclosingType = enclosingType; IsDiscriminator = inputProperty.IsDiscriminator; - InitializeParameter(Name, FormattableStringHelpers.FromString(inputProperty.Description), Type); + InitializeParameter(Name, FormattableStringHelpers.FromString(inputProperty.Description) ?? FormattableStringHelpers.Empty, Type); } public PropertyProvider( diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp/src/TypeFactory.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp/src/TypeFactory.cs index 4d081265ed..7be4ae1762 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp/src/TypeFactory.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp/src/TypeFactory.cs @@ -249,18 +249,16 @@ protected virtual ParameterProvider CreateParameterCore(InputParameter parameter /// An instance of . private PropertyProvider? CreatePropertyProviderCore(InputModelProperty property, TypeProvider enclosingType) { + PropertyProvider.TryCreate(property, enclosingType, out var propertyProvider); + if (Visitors.Count == 0) { - PropertyProvider.TryCreate(property, enclosingType, out var propertyProvider); - if (Visitors.Count == 0) - { - return propertyProvider; - } - foreach (var visitor in Visitors) - { - propertyProvider = visitor.Visit(property, propertyProvider); - } return propertyProvider; } + foreach (var visitor in Visitors) + { + propertyProvider = visitor.Visit(property, propertyProvider); + } + return propertyProvider; } /// diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/authentication/api-key/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/authentication/api-key/tspCodeModel.json index 28b63a079e..4ab8539484 100644 --- a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/authentication/api-key/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/authentication/api-key/tspCodeModel.json @@ -14,9 +14,9 @@ "Properties": [ { "$id": "3", + "Kind": "property", "Name": "error", "SerializedName": "error", - "Description": "", "Type": { "$id": "4", "Kind": "string", @@ -24,9 +24,11 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Authentication.ApiKey.InvalidAuth.error" } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/authentication/http/custom/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/authentication/http/custom/tspCodeModel.json index 45b4382a7f..edfbc1b0ea 100644 --- a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/authentication/http/custom/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/authentication/http/custom/tspCodeModel.json @@ -14,9 +14,9 @@ "Properties": [ { "$id": "3", + "Kind": "property", "Name": "error", "SerializedName": "error", - "Description": "", "Type": { "$id": "4", "Kind": "string", @@ -24,9 +24,11 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Authentication.Http.Custom.InvalidAuth.error" } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/authentication/oauth2/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/authentication/oauth2/tspCodeModel.json index cc00215295..04e1614c47 100644 --- a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/authentication/oauth2/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/authentication/oauth2/tspCodeModel.json @@ -14,9 +14,9 @@ "Properties": [ { "$id": "3", + "Kind": "property", "Name": "error", "SerializedName": "error", - "Description": "", "Type": { "$id": "4", "Kind": "string", @@ -24,9 +24,11 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Authentication.OAuth2.InvalidAuth.error" } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/client/naming/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/client/naming/tspCodeModel.json index 439aee12a6..189552f020 100644 --- a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/client/naming/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/client/naming/tspCodeModel.json @@ -69,6 +69,7 @@ "Properties": [ { "$id": "10", + "Kind": "property", "Name": "clientName", "SerializedName": "defaultName", "Description": "Pass in true", @@ -79,9 +80,11 @@ "CrossLanguageDefinitionId": "TypeSpec.boolean", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Client.Naming.Property.ClientNameModel.defaultName" } ] }, @@ -95,6 +98,7 @@ "Properties": [ { "$id": "13", + "Kind": "property", "Name": "CSName", "SerializedName": "defaultName", "Description": "Pass in true", @@ -105,9 +109,11 @@ "CrossLanguageDefinitionId": "TypeSpec.boolean", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Client.Naming.Property.LanguageClientNameModel.defaultName" } ] }, @@ -121,6 +127,7 @@ "Properties": [ { "$id": "16", + "Kind": "property", "Name": "clientName", "SerializedName": "wireName", "Description": "Pass in true", @@ -131,9 +138,11 @@ "CrossLanguageDefinitionId": "TypeSpec.boolean", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Client.Naming.Property.ClientNameAndJsonEncodedNameModel.defaultName" } ] }, @@ -147,6 +156,7 @@ "Properties": [ { "$id": "19", + "Kind": "property", "Name": "defaultName", "SerializedName": "defaultName", "Description": "Pass in true", @@ -157,9 +167,11 @@ "CrossLanguageDefinitionId": "TypeSpec.boolean", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Client.Naming.Model.ModelWithClientClientName.defaultName" } ] }, @@ -173,6 +185,7 @@ "Properties": [ { "$id": "22", + "Kind": "property", "Name": "defaultName", "SerializedName": "defaultName", "Description": "Pass in true", @@ -183,9 +196,11 @@ "CrossLanguageDefinitionId": "TypeSpec.boolean", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Client.Naming.Model.ModelWithLanguageClientName.defaultName" } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/bytes/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/bytes/tspCodeModel.json index e1bec71d6d..d880e10cb5 100644 --- a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/bytes/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/bytes/tspCodeModel.json @@ -14,9 +14,9 @@ "Properties": [ { "$id": "3", + "Kind": "property", "Name": "value", "SerializedName": "value", - "Description": "", "Type": { "$id": "4", "Kind": "bytes", @@ -25,9 +25,11 @@ "CrossLanguageDefinitionId": "TypeSpec.bytes", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Encode.Bytes.DefaultBytesProperty.value" } ] }, @@ -41,9 +43,9 @@ "Properties": [ { "$id": "6", + "Kind": "property", "Name": "value", "SerializedName": "value", - "Description": "", "Type": { "$id": "7", "Kind": "bytes", @@ -52,9 +54,11 @@ "CrossLanguageDefinitionId": "TypeSpec.bytes", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Encode.Bytes.Base64BytesProperty.value" } ] }, @@ -68,9 +72,9 @@ "Properties": [ { "$id": "9", + "Kind": "property", "Name": "value", "SerializedName": "value", - "Description": "", "Type": { "$id": "10", "Kind": "bytes", @@ -79,9 +83,11 @@ "CrossLanguageDefinitionId": "TypeSpec.bytes", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Encode.Bytes.Base64urlBytesProperty.value" } ] }, @@ -95,9 +101,9 @@ "Properties": [ { "$id": "12", + "Kind": "property", "Name": "value", "SerializedName": "value", - "Description": "", "Type": { "$id": "13", "Kind": "array", @@ -121,9 +127,11 @@ "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Encode.Bytes.Base64urlArrayBytesProperty.value" } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/tspCodeModel.json index 391710fc7a..9fb7fd286e 100644 --- a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/tspCodeModel.json @@ -14,9 +14,9 @@ "Properties": [ { "$id": "3", + "Kind": "property", "Name": "value", "SerializedName": "value", - "Description": "", "Type": { "$id": "4", "Kind": "utcDateTime", @@ -32,9 +32,11 @@ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Encode.Datetime.DefaultDatetimeProperty.value" } ] }, @@ -48,9 +50,9 @@ "Properties": [ { "$id": "7", + "Kind": "property", "Name": "value", "SerializedName": "value", - "Description": "", "Type": { "$id": "8", "Kind": "utcDateTime", @@ -66,9 +68,11 @@ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Encode.Datetime.Rfc3339DatetimeProperty.value" } ] }, @@ -82,9 +86,9 @@ "Properties": [ { "$id": "11", + "Kind": "property", "Name": "value", "SerializedName": "value", - "Description": "", "Type": { "$id": "12", "Kind": "utcDateTime", @@ -100,9 +104,11 @@ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Encode.Datetime.Rfc7231DatetimeProperty.value" } ] }, @@ -116,9 +122,9 @@ "Properties": [ { "$id": "15", + "Kind": "property", "Name": "value", "SerializedName": "value", - "Description": "", "Type": { "$id": "16", "Kind": "utcDateTime", @@ -134,9 +140,11 @@ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Encode.Datetime.UnixTimestampDatetimeProperty.value" } ] }, @@ -150,9 +158,9 @@ "Properties": [ { "$id": "19", + "Kind": "property", "Name": "value", "SerializedName": "value", - "Description": "", "Type": { "$id": "20", "Kind": "array", @@ -190,9 +198,11 @@ "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Encode.Datetime.UnixTimestampArrayDatetimeProperty.value" } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/duration/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/duration/tspCodeModel.json index 6a99a4b434..1c43536312 100644 --- a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/duration/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/duration/tspCodeModel.json @@ -14,9 +14,9 @@ "Properties": [ { "$id": "3", + "Kind": "property", "Name": "value", "SerializedName": "value", - "Description": "", "Type": { "$id": "4", "Kind": "duration", @@ -32,9 +32,11 @@ "CrossLanguageDefinitionId": "TypeSpec.duration", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Encode.Duration.Property.DefaultDurationProperty.value" } ] }, @@ -48,9 +50,9 @@ "Properties": [ { "$id": "7", + "Kind": "property", "Name": "value", "SerializedName": "value", - "Description": "", "Type": { "$id": "8", "Kind": "duration", @@ -66,9 +68,11 @@ "CrossLanguageDefinitionId": "TypeSpec.duration", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Encode.Duration.Property.ISO8601DurationProperty.value" } ] }, @@ -82,9 +86,9 @@ "Properties": [ { "$id": "11", + "Kind": "property", "Name": "value", "SerializedName": "value", - "Description": "", "Type": { "$id": "12", "Kind": "duration", @@ -100,9 +104,11 @@ "CrossLanguageDefinitionId": "TypeSpec.duration", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Encode.Duration.Property.Int32SecondsDurationProperty.value" } ] }, @@ -116,9 +122,9 @@ "Properties": [ { "$id": "15", + "Kind": "property", "Name": "value", "SerializedName": "value", - "Description": "", "Type": { "$id": "16", "Kind": "duration", @@ -134,9 +140,11 @@ "CrossLanguageDefinitionId": "TypeSpec.duration", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Encode.Duration.Property.FloatSecondsDurationProperty.value" } ] }, @@ -150,9 +158,9 @@ "Properties": [ { "$id": "19", + "Kind": "property", "Name": "value", "SerializedName": "value", - "Description": "", "Type": { "$id": "20", "Kind": "duration", @@ -168,9 +176,11 @@ "CrossLanguageDefinitionId": "TypeSpec.duration", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Encode.Duration.Property.Float64SecondsDurationProperty.value" } ] }, @@ -184,9 +194,9 @@ "Properties": [ { "$id": "23", + "Kind": "property", "Name": "value", "SerializedName": "value", - "Description": "", "Type": { "$id": "24", "Kind": "array", @@ -224,9 +234,11 @@ "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Encode.Duration.Property.FloatSecondsDurationArrayProperty.value" } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/parameters/basic/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/parameters/basic/tspCodeModel.json index cbffd9dabe..884064cf95 100644 --- a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/parameters/basic/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/parameters/basic/tspCodeModel.json @@ -14,9 +14,9 @@ "Properties": [ { "$id": "3", + "Kind": "property", "Name": "name", "SerializedName": "name", - "Description": "", "Type": { "$id": "4", "Kind": "string", @@ -24,9 +24,11 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Parameters.Basic.ImplicitBody.simple.Request.anonymous.name" } ] }, @@ -41,9 +43,9 @@ "Properties": [ { "$id": "6", + "Kind": "property", "Name": "name", "SerializedName": "name", - "Description": "", "Type": { "$id": "7", "Kind": "string", @@ -51,9 +53,11 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Parameters.Basic.ExplicitBody.User.name" } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/payload/xml/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/payload/xml/tspCodeModel.json index bbc983020b..2ad49df130 100644 --- a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/payload/xml/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/payload/xml/tspCodeModel.json @@ -15,9 +15,9 @@ "Properties": [ { "$id": "3", + "Kind": "property", "Name": "modelData", "SerializedName": "modelData", - "Description": "", "Type": { "$id": "4", "Kind": "model", @@ -29,9 +29,9 @@ "Properties": [ { "$id": "5", + "Kind": "property", "Name": "name", "SerializedName": "name", - "Description": "", "Type": { "$id": "6", "Kind": "string", @@ -39,15 +39,17 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Payload.Xml.SimpleModel.name" }, { "$id": "7", + "Kind": "property", "Name": "age", "SerializedName": "age", - "Description": "", "Type": { "$id": "8", "Kind": "int32", @@ -55,21 +57,25 @@ "CrossLanguageDefinitionId": "TypeSpec.int32", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Payload.Xml.SimpleModel.age" } ] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithEncodedNames.modelData" }, { "$id": "9", + "Kind": "property", "Name": "colors", "SerializedName": "colors", - "Description": "", "Type": { "$id": "10", "Kind": "array", @@ -84,9 +90,11 @@ "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithEncodedNames.colors" } ] }, @@ -104,9 +112,9 @@ "Properties": [ { "$id": "13", + "Kind": "property", "Name": "metadata", "SerializedName": "metadata", - "Description": "", "Type": { "$id": "14", "Kind": "dict", @@ -126,9 +134,11 @@ }, "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithDictionary.metadata" } ] }, @@ -143,9 +153,9 @@ "Properties": [ { "$id": "18", + "Kind": "property", "Name": "language", "SerializedName": "language", - "Description": "", "Type": { "$id": "19", "Kind": "string", @@ -153,8 +163,9 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, + "Optional": false, + "ReadOnly": false, + "Discriminator": false, "Decorators": [ { "$id": "20", @@ -163,13 +174,14 @@ "$id": "21" } } - ] + ], + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithText.language" }, { "$id": "22", + "Kind": "property", "Name": "content", "SerializedName": "content", - "Description": "", "Type": { "$id": "23", "Kind": "string", @@ -177,8 +189,9 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, + "Optional": false, + "ReadOnly": false, + "Discriminator": false, "Decorators": [ { "$id": "24", @@ -187,7 +200,8 @@ "$id": "25" } } - ] + ], + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithText.content" } ] }, @@ -202,9 +216,9 @@ "Properties": [ { "$id": "27", + "Kind": "property", "Name": "items", "SerializedName": "items", - "Description": "", "Type": { "$id": "28", "Kind": "array", @@ -215,9 +229,11 @@ "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithEmptyArray.items" } ] }, @@ -241,14 +257,15 @@ "Properties": [ { "$id": "32", + "Kind": "property", "Name": "inputData", "SerializedName": "inputData", - "Description": "", "Type": { "$ref": "4" }, - "IsRequired": true, - "IsReadOnly": false, + "Optional": false, + "ReadOnly": false, + "Discriminator": false, "Decorators": [ { "$id": "33", @@ -258,18 +275,20 @@ "name": "InputData" } } - ] + ], + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithRenamedFields.inputData" }, { "$id": "35", + "Kind": "property", "Name": "outputData", "SerializedName": "outputData", - "Description": "", "Type": { "$ref": "4" }, - "IsRequired": true, - "IsReadOnly": false, + "Optional": false, + "ReadOnly": false, + "Discriminator": false, "Decorators": [ { "$id": "36", @@ -279,7 +298,8 @@ "name": "OutputData" } } - ] + ], + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithRenamedFields.outputData" } ] }, @@ -294,9 +314,9 @@ "Properties": [ { "$id": "39", + "Kind": "property", "Name": "colors", "SerializedName": "colors", - "Description": "", "Type": { "$id": "40", "Kind": "array", @@ -311,8 +331,9 @@ "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, + "Optional": false, + "ReadOnly": false, + "Discriminator": false, "Decorators": [ { "$id": "42", @@ -329,13 +350,14 @@ "name": "Colors" } } - ] + ], + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithRenamedArrays.colors" }, { "$id": "46", + "Kind": "property", "Name": "counts", "SerializedName": "counts", - "Description": "", "Type": { "$id": "47", "Kind": "array", @@ -350,8 +372,9 @@ "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, + "Optional": false, + "ReadOnly": false, + "Discriminator": false, "Decorators": [ { "$id": "49", @@ -361,7 +384,8 @@ "name": "Counts" } } - ] + ], + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithRenamedArrays.counts" } ] }, @@ -376,9 +400,9 @@ "Properties": [ { "$id": "52", + "Kind": "property", "Name": "colors", "SerializedName": "colors", - "Description": "", "Type": { "$id": "53", "Kind": "array", @@ -393,8 +417,9 @@ "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, + "Optional": false, + "ReadOnly": false, + "Discriminator": false, "Decorators": [ { "$id": "55", @@ -403,13 +428,14 @@ "$id": "56" } } - ] + ], + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithUnwrappedArray.colors" }, { "$id": "57", + "Kind": "property", "Name": "counts", "SerializedName": "counts", - "Description": "", "Type": { "$id": "58", "Kind": "array", @@ -424,9 +450,11 @@ "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithUnwrappedArray.counts" } ] }, @@ -441,9 +469,9 @@ "Properties": [ { "$id": "61", + "Kind": "property", "Name": "id1", "SerializedName": "id1", - "Description": "", "Type": { "$id": "62", "Kind": "int32", @@ -451,8 +479,9 @@ "CrossLanguageDefinitionId": "TypeSpec.int32", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, + "Optional": false, + "ReadOnly": false, + "Discriminator": false, "Decorators": [ { "$id": "63", @@ -461,13 +490,14 @@ "$id": "64" } } - ] + ], + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithAttributes.id1" }, { "$id": "65", + "Kind": "property", "Name": "id2", "SerializedName": "id2", - "Description": "", "Type": { "$id": "66", "Kind": "string", @@ -475,8 +505,9 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, + "Optional": false, + "ReadOnly": false, + "Discriminator": false, "Decorators": [ { "$id": "67", @@ -485,13 +516,14 @@ "$id": "68" } } - ] + ], + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithAttributes.id2" }, { "$id": "69", + "Kind": "property", "Name": "enabled", "SerializedName": "enabled", - "Description": "", "Type": { "$id": "70", "Kind": "boolean", @@ -499,9 +531,11 @@ "CrossLanguageDefinitionId": "TypeSpec.boolean", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithAttributes.enabled" } ] }, @@ -516,9 +550,9 @@ "Properties": [ { "$id": "72", + "Kind": "property", "Name": "item", "SerializedName": "item", - "Description": "", "Type": { "$id": "73", "Kind": "string", @@ -526,15 +560,17 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithOptionalField.item" }, { "$id": "74", + "Kind": "property", "Name": "value", "SerializedName": "value", - "Description": "", "Type": { "$id": "75", "Kind": "int32", @@ -542,9 +578,11 @@ "CrossLanguageDefinitionId": "TypeSpec.int32", "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithOptionalField.value" } ] }, @@ -559,9 +597,9 @@ "Properties": [ { "$id": "77", + "Kind": "property", "Name": "items", "SerializedName": "items", - "Description": "", "Type": { "$id": "78", "Kind": "array", @@ -572,9 +610,11 @@ "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithArrayOfModel.items" } ] }, @@ -589,9 +629,9 @@ "Properties": [ { "$id": "80", + "Kind": "property", "Name": "colors", "SerializedName": "colors", - "Description": "", "Type": { "$id": "81", "Kind": "array", @@ -606,15 +646,17 @@ "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithSimpleArrays.colors" }, { "$id": "83", + "Kind": "property", "Name": "counts", "SerializedName": "counts", - "Description": "", "Type": { "$id": "84", "Kind": "array", @@ -629,9 +671,11 @@ "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithSimpleArrays.counts" } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/array/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/array/tspCodeModel.json index 99d5cb57e2..d88460b3d2 100644 --- a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/array/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/array/tspCodeModel.json @@ -15,6 +15,7 @@ "Properties": [ { "$id": "3", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Required string property", @@ -25,15 +26,17 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Array.InnerModel.property" }, { "$id": "5", + "Kind": "property", "Name": "children", "SerializedName": "children", - "Description": "", "Type": { "$id": "6", "Kind": "array", @@ -44,9 +47,11 @@ "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Array.InnerModel.children" } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/dictionary/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/dictionary/tspCodeModel.json index 617f5fd8e6..eec64bf122 100644 --- a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/dictionary/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/dictionary/tspCodeModel.json @@ -15,6 +15,7 @@ "Properties": [ { "$id": "3", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Required string property", @@ -25,15 +26,17 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Dictionary.InnerModel.property" }, { "$id": "5", + "Kind": "property", "Name": "children", "SerializedName": "children", - "Description": "", "Type": { "$id": "6", "Kind": "dict", @@ -49,9 +52,11 @@ }, "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Dictionary.InnerModel.children" } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/model/inheritance/enum-discriminator/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/model/inheritance/enum-discriminator/tspCodeModel.json index edc40b09e7..eab2f3c987 100644 --- a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/model/inheritance/enum-discriminator/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/model/inheritance/enum-discriminator/tspCodeModel.json @@ -67,16 +67,18 @@ "Decorators": [], "DiscriminatorProperty": { "$id": "9", + "Kind": "property", "Name": "kind", "SerializedName": "kind", "Description": "discriminator property", "Type": { "$ref": "2" }, - "IsRequired": true, - "IsReadOnly": false, - "IsDiscriminator": true, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": true, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Model.Inheritance.EnumDiscriminator.Dog.kind" }, "Properties": [ { @@ -84,6 +86,7 @@ }, { "$id": "10", + "Kind": "property", "Name": "weight", "SerializedName": "weight", "Description": "Weight of the dog", @@ -94,9 +97,11 @@ "CrossLanguageDefinitionId": "TypeSpec.int32", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Model.Inheritance.EnumDiscriminator.Dog.weight" } ], "DiscriminatedSubtypes": { @@ -116,6 +121,7 @@ "Properties": [ { "$id": "14", + "Kind": "property", "Name": "kind", "SerializedName": "kind", "Description": "discriminator property", @@ -132,10 +138,11 @@ "Value": "golden", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "IsDiscriminator": true, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": true, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Model.Inheritance.EnumDiscriminator.Golden.kind" } ] } @@ -154,16 +161,18 @@ "Decorators": [], "DiscriminatorProperty": { "$id": "18", + "Kind": "property", "Name": "kind", "SerializedName": "kind", "Description": "discriminator property", "Type": { "$ref": "5" }, - "IsRequired": true, - "IsReadOnly": false, - "IsDiscriminator": true, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": true, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Model.Inheritance.EnumDiscriminator.Snake.kind" }, "Properties": [ { @@ -171,6 +180,7 @@ }, { "$id": "19", + "Kind": "property", "Name": "length", "SerializedName": "length", "Description": "Length of the snake", @@ -181,9 +191,11 @@ "CrossLanguageDefinitionId": "TypeSpec.int32", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Model.Inheritance.EnumDiscriminator.Snake.length" } ], "DiscriminatedSubtypes": { @@ -203,6 +215,7 @@ "Properties": [ { "$id": "23", + "Kind": "property", "Name": "kind", "SerializedName": "kind", "Description": "discriminator property", @@ -219,10 +232,11 @@ "Value": "cobra", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "IsDiscriminator": true, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": true, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Model.Inheritance.EnumDiscriminator.Cobra.kind" } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/model/inheritance/single-discriminator/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/model/inheritance/single-discriminator/tspCodeModel.json index 67e6041020..af32a9ad66 100644 --- a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/model/inheritance/single-discriminator/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/model/inheritance/single-discriminator/tspCodeModel.json @@ -14,9 +14,9 @@ "Decorators": [], "DiscriminatorProperty": { "$id": "3", + "Kind": "property", "Name": "kind", "SerializedName": "kind", - "Description": "Discriminator", "Type": { "$id": "4", "Kind": "string", @@ -24,10 +24,11 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "IsDiscriminator": true, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": true, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Model.Inheritance.SingleDiscriminator.Bird.kind" }, "Properties": [ { @@ -35,9 +36,9 @@ }, { "$id": "5", + "Kind": "property", "Name": "wingspan", "SerializedName": "wingspan", - "Description": "", "Type": { "$id": "6", "Kind": "int32", @@ -45,9 +46,11 @@ "CrossLanguageDefinitionId": "TypeSpec.int32", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Model.Inheritance.SingleDiscriminator.Bird.wingspan" } ], "DiscriminatedSubtypes": { @@ -67,9 +70,9 @@ "Properties": [ { "$id": "9", + "Kind": "property", "Name": "kind", "SerializedName": "kind", - "Description": "Discriminator", "Type": { "$id": "10", "Kind": "constant", @@ -83,10 +86,11 @@ "Value": "seagull", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "IsDiscriminator": true, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": true, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Model.Inheritance.SingleDiscriminator.SeaGull.kind" } ] }, @@ -105,9 +109,9 @@ "Properties": [ { "$id": "13", + "Kind": "property", "Name": "kind", "SerializedName": "kind", - "Description": "Discriminator", "Type": { "$id": "14", "Kind": "constant", @@ -121,10 +125,11 @@ "Value": "sparrow", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "IsDiscriminator": true, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": true, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Model.Inheritance.SingleDiscriminator.Sparrow.kind" } ] }, @@ -143,9 +148,9 @@ "Properties": [ { "$id": "17", + "Kind": "property", "Name": "kind", "SerializedName": "kind", - "Description": "Discriminator", "Type": { "$id": "18", "Kind": "constant", @@ -159,10 +164,11 @@ "Value": "goose", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "IsDiscriminator": true, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": true, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Model.Inheritance.SingleDiscriminator.Goose.kind" } ] }, @@ -181,9 +187,9 @@ "Properties": [ { "$id": "21", + "Kind": "property", "Name": "kind", "SerializedName": "kind", - "Description": "Discriminator", "Type": { "$id": "22", "Kind": "constant", @@ -197,16 +203,17 @@ "Value": "eagle", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "IsDiscriminator": true, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": true, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Model.Inheritance.SingleDiscriminator.Eagle.kind" }, { "$id": "24", + "Kind": "property", "Name": "friends", "SerializedName": "friends", - "Description": "", "Type": { "$id": "25", "Kind": "array", @@ -217,15 +224,17 @@ "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Model.Inheritance.SingleDiscriminator.Eagle.friends" }, { "$id": "26", + "Kind": "property", "Name": "hate", "SerializedName": "hate", - "Description": "", "Type": { "$id": "27", "Kind": "dict", @@ -241,21 +250,25 @@ }, "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Model.Inheritance.SingleDiscriminator.Eagle.hate" }, { "$id": "29", + "Kind": "property", "Name": "partner", "SerializedName": "partner", - "Description": "", "Type": { "$ref": "2" }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Model.Inheritance.SingleDiscriminator.Eagle.partner" } ] } @@ -283,6 +296,7 @@ "Decorators": [], "DiscriminatorProperty": { "$id": "31", + "Kind": "property", "Name": "kind", "SerializedName": "kind", "Description": "Discriminator property for Dinosaur.", @@ -293,10 +307,11 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "IsDiscriminator": true, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": true, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Model.Inheritance.SingleDiscriminator.Dinosaur.kind" }, "Properties": [ { @@ -304,9 +319,9 @@ }, { "$id": "33", + "Kind": "property", "Name": "size", "SerializedName": "size", - "Description": "", "Type": { "$id": "34", "Kind": "int32", @@ -314,9 +329,11 @@ "CrossLanguageDefinitionId": "TypeSpec.int32", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Model.Inheritance.SingleDiscriminator.Dinosaur.size" } ], "DiscriminatedSubtypes": { @@ -336,9 +353,9 @@ "Properties": [ { "$id": "37", + "Kind": "property", "Name": "kind", "SerializedName": "kind", - "Description": "Discriminator", "Type": { "$id": "38", "Kind": "constant", @@ -352,10 +369,11 @@ "Value": "t-rex", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "IsDiscriminator": true, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": true, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Model.Inheritance.SingleDiscriminator.TRex.kind" } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/model/usage/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/model/usage/tspCodeModel.json index e61c2432ef..dc14f61cfe 100644 --- a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/model/usage/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/model/usage/tspCodeModel.json @@ -15,9 +15,9 @@ "Properties": [ { "$id": "3", + "Kind": "property", "Name": "requiredProp", "SerializedName": "requiredProp", - "Description": "", "Type": { "$id": "4", "Kind": "string", @@ -25,9 +25,11 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Model.Usage.InputRecord.requiredProp" } ] }, @@ -42,9 +44,9 @@ "Properties": [ { "$id": "6", + "Kind": "property", "Name": "requiredProp", "SerializedName": "requiredProp", - "Description": "", "Type": { "$id": "7", "Kind": "string", @@ -52,9 +54,11 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Model.Usage.OutputRecord.requiredProp" } ] }, @@ -69,9 +73,9 @@ "Properties": [ { "$id": "9", + "Kind": "property", "Name": "requiredProp", "SerializedName": "requiredProp", - "Description": "", "Type": { "$id": "10", "Kind": "string", @@ -79,9 +83,11 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Model.Usage.InputOutputRecord.requiredProp" } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/property/nullable/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/property/nullable/tspCodeModel.json index d760c2a5b3..ae52e63199 100644 --- a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/property/nullable/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/property/nullable/tspCodeModel.json @@ -15,6 +15,7 @@ "Properties": [ { "$id": "3", + "Kind": "property", "Name": "requiredProperty", "SerializedName": "requiredProperty", "Description": "Required property", @@ -25,12 +26,15 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Nullable.CollectionsStringProperty.requiredProperty" }, { "$id": "5", + "Kind": "property", "Name": "nullableProperty", "SerializedName": "nullableProperty", "Description": "Property", @@ -52,9 +56,11 @@ "Decorators": [] } }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Nullable.CollectionsStringProperty.nullableProperty" } ] }, @@ -69,6 +75,7 @@ "Properties": [ { "$id": "10", + "Kind": "property", "Name": "requiredProperty", "SerializedName": "requiredProperty", "Description": "Required property", @@ -79,12 +86,15 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Nullable.CollectionsModelProperty.requiredProperty" }, { "$id": "12", + "Kind": "property", "Name": "nullableProperty", "SerializedName": "nullableProperty", "Description": "Property", @@ -106,6 +116,7 @@ "Properties": [ { "$id": "16", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Inner model property", @@ -116,9 +127,11 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Nullable.InnerModel.property" } ] }, @@ -126,9 +139,11 @@ "Decorators": [] } }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Nullable.CollectionsModelProperty.nullableProperty" } ] }, @@ -146,6 +161,7 @@ "Properties": [ { "$id": "19", + "Kind": "property", "Name": "requiredProperty", "SerializedName": "requiredProperty", "Description": "Required property", @@ -156,12 +172,15 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Nullable.CollectionsByteProperty.requiredProperty" }, { "$id": "21", + "Kind": "property", "Name": "nullableProperty", "SerializedName": "nullableProperty", "Description": "Property", @@ -184,9 +203,11 @@ "Decorators": [] } }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Nullable.CollectionsByteProperty.nullableProperty" } ] }, @@ -201,6 +222,7 @@ "Properties": [ { "$id": "26", + "Kind": "property", "Name": "requiredProperty", "SerializedName": "requiredProperty", "Description": "Required property", @@ -211,12 +233,15 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Nullable.DurationProperty.requiredProperty" }, { "$id": "28", + "Kind": "property", "Name": "nullableProperty", "SerializedName": "nullableProperty", "Description": "Property", @@ -239,9 +264,11 @@ "Decorators": [] } }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Nullable.DurationProperty.nullableProperty" } ] }, @@ -256,6 +283,7 @@ "Properties": [ { "$id": "33", + "Kind": "property", "Name": "requiredProperty", "SerializedName": "requiredProperty", "Description": "Required property", @@ -266,12 +294,15 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Nullable.DatetimeProperty.requiredProperty" }, { "$id": "35", + "Kind": "property", "Name": "nullableProperty", "SerializedName": "nullableProperty", "Description": "Property", @@ -294,9 +325,11 @@ "Decorators": [] } }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Nullable.DatetimeProperty.nullableProperty" } ] }, @@ -311,6 +344,7 @@ "Properties": [ { "$id": "40", + "Kind": "property", "Name": "requiredProperty", "SerializedName": "requiredProperty", "Description": "Required property", @@ -321,12 +355,15 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Nullable.BytesProperty.requiredProperty" }, { "$id": "42", + "Kind": "property", "Name": "nullableProperty", "SerializedName": "nullableProperty", "Description": "Property", @@ -342,9 +379,11 @@ "Decorators": [] } }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Nullable.BytesProperty.nullableProperty" } ] }, @@ -359,6 +398,7 @@ "Properties": [ { "$id": "46", + "Kind": "property", "Name": "requiredProperty", "SerializedName": "requiredProperty", "Description": "Required property", @@ -369,12 +409,15 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Nullable.StringProperty.requiredProperty" }, { "$id": "48", + "Kind": "property", "Name": "nullableProperty", "SerializedName": "nullableProperty", "Description": "Property", @@ -389,9 +432,11 @@ "Decorators": [] } }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Nullable.StringProperty.nullableProperty" } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/property/optionality/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/property/optionality/tspCodeModel.json index ad92f6f637..637e2234e9 100644 --- a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/property/optionality/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/property/optionality/tspCodeModel.json @@ -181,6 +181,7 @@ "Properties": [ { "$id": "24", + "Kind": "property", "Name": "optionalProperty", "SerializedName": "optionalProperty", "Description": "optional string property", @@ -191,12 +192,15 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Optional.RequiredAndOptionalProperty.optionalProperty" }, { "$id": "26", + "Kind": "property", "Name": "requiredProperty", "SerializedName": "requiredProperty", "Description": "required int property", @@ -207,9 +211,11 @@ "CrossLanguageDefinitionId": "TypeSpec.int32", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Optional.RequiredAndOptionalProperty.requiredProperty" } ] }, @@ -224,15 +230,18 @@ "Properties": [ { "$id": "29", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", "Type": { "$ref": "2" }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Optional.UnionFloatLiteralProperty.property" } ] }, @@ -247,15 +256,18 @@ "Properties": [ { "$id": "31", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", "Type": { "$ref": "6" }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Optional.UnionIntLiteralProperty.property" } ] }, @@ -270,15 +282,18 @@ "Properties": [ { "$id": "33", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", "Type": { "$ref": "10" }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Optional.UnionStringLiteralProperty.property" } ] }, @@ -293,6 +308,7 @@ "Properties": [ { "$id": "35", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -309,9 +325,11 @@ "Value": true, "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Optional.BooleanLiteralProperty.property" } ] }, @@ -326,6 +344,7 @@ "Properties": [ { "$id": "39", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -338,9 +357,11 @@ "Value": 1.25, "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Optional.FloatLiteralProperty.property" } ] }, @@ -355,6 +376,7 @@ "Properties": [ { "$id": "42", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -367,9 +389,11 @@ "Value": 1, "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Optional.IntLiteralProperty.property" } ] }, @@ -384,6 +408,7 @@ "Properties": [ { "$id": "45", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -396,9 +421,11 @@ "Value": "hello", "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Optional.StringLiteralProperty.property" } ] }, @@ -413,6 +440,7 @@ "Properties": [ { "$id": "48", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -431,6 +459,7 @@ "Properties": [ { "$id": "51", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -441,18 +470,22 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Optional.StringProperty.property" } ] }, "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Optional.CollectionsModelProperty.property" } ] }, @@ -470,6 +503,7 @@ "Properties": [ { "$id": "54", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -488,9 +522,11 @@ "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Optional.CollectionsByteProperty.property" } ] }, @@ -505,6 +541,7 @@ "Properties": [ { "$id": "58", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -515,9 +552,11 @@ "CrossLanguageDefinitionId": "TypeSpec.plainTime", "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Optional.PlainTimeProperty.property" } ] }, @@ -532,6 +571,7 @@ "Properties": [ { "$id": "61", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -542,9 +582,11 @@ "CrossLanguageDefinitionId": "TypeSpec.plainDate", "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Optional.PlainDateProperty.property" } ] }, @@ -559,6 +601,7 @@ "Properties": [ { "$id": "64", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -577,9 +620,11 @@ "CrossLanguageDefinitionId": "TypeSpec.duration", "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Optional.DurationProperty.property" } ] }, @@ -594,6 +639,7 @@ "Properties": [ { "$id": "68", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -612,9 +658,11 @@ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime", "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Optional.DatetimeProperty.property" } ] }, @@ -629,6 +677,7 @@ "Properties": [ { "$id": "72", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -640,9 +689,11 @@ "CrossLanguageDefinitionId": "TypeSpec.bytes", "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.Optional.BytesProperty.property" } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/property/value-types/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/property/value-types/tspCodeModel.json index 018ece3545..7499f3cfe3 100644 --- a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/property/value-types/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/property/value-types/tspCodeModel.json @@ -271,6 +271,7 @@ "Properties": [ { "$id": "35", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -283,9 +284,11 @@ "Value": "value2", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.UnionEnumValueProperty.property" } ] }, @@ -300,15 +303,18 @@ "Properties": [ { "$id": "38", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", "Type": { "$ref": "5" }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.UnionFloatLiteralProperty.property" } ] }, @@ -323,15 +329,18 @@ "Properties": [ { "$id": "40", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", "Type": { "$ref": "9" }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.UnionIntLiteralProperty.property" } ] }, @@ -346,15 +355,18 @@ "Properties": [ { "$id": "42", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", "Type": { "$ref": "13" }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.UnionStringLiteralProperty.property" } ] }, @@ -369,6 +381,7 @@ "Properties": [ { "$id": "44", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -385,9 +398,11 @@ "Value": true, "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.BooleanLiteralProperty.property" } ] }, @@ -402,6 +417,7 @@ "Properties": [ { "$id": "48", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -414,9 +430,11 @@ "Value": 43.125, "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.FloatLiteralProperty.property" } ] }, @@ -431,6 +449,7 @@ "Properties": [ { "$id": "51", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -443,9 +462,11 @@ "Value": 42, "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.IntLiteralProperty.property" } ] }, @@ -460,6 +481,7 @@ "Properties": [ { "$id": "54", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -472,9 +494,11 @@ "Value": "hello", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.StringLiteralProperty.property" } ] }, @@ -489,6 +513,7 @@ "Properties": [ { "$id": "57", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -499,9 +524,11 @@ "CrossLanguageDefinitionId": "", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.UnknownArrayProperty.property" } ] }, @@ -516,6 +543,7 @@ "Properties": [ { "$id": "60", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -526,9 +554,11 @@ "CrossLanguageDefinitionId": "", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.UnknownDictProperty.property" } ] }, @@ -543,6 +573,7 @@ "Properties": [ { "$id": "63", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -553,9 +584,11 @@ "CrossLanguageDefinitionId": "", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.UnknownIntProperty.property" } ] }, @@ -570,6 +603,7 @@ "Properties": [ { "$id": "66", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -580,9 +614,11 @@ "CrossLanguageDefinitionId": "", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.UnknownStringProperty.property" } ] }, @@ -607,6 +643,7 @@ "Properties": [ { "$id": "70", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -629,9 +666,11 @@ }, "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.DictionaryStringProperty.property" } ] }, @@ -646,6 +685,7 @@ "Properties": [ { "$id": "75", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -664,6 +704,7 @@ "Properties": [ { "$id": "78", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Required string property", @@ -674,18 +715,22 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.InnerModel.property" } ] }, "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.CollectionsModelProperty.property" } ] }, @@ -703,6 +748,7 @@ "Properties": [ { "$id": "81", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -720,9 +766,11 @@ "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.CollectionsIntProperty.property" } ] }, @@ -737,6 +785,7 @@ "Properties": [ { "$id": "85", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -754,9 +803,11 @@ "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.CollectionsStringProperty.property" } ] }, @@ -771,15 +822,18 @@ "Properties": [ { "$id": "89", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", "Type": { "$ref": "77" }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.ModelProperty.property" } ] }, @@ -794,15 +848,18 @@ "Properties": [ { "$id": "91", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", "Type": { "$ref": "26" }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.ExtensibleEnumProperty.property" } ] }, @@ -817,15 +874,18 @@ "Properties": [ { "$id": "93", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", "Type": { "$ref": "30" }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.EnumProperty.property" } ] }, @@ -840,6 +900,7 @@ "Properties": [ { "$id": "95", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -858,9 +919,11 @@ "CrossLanguageDefinitionId": "TypeSpec.duration", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.DurationProperty.property" } ] }, @@ -875,6 +938,7 @@ "Properties": [ { "$id": "99", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -893,9 +957,11 @@ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.DatetimeProperty.property" } ] }, @@ -910,6 +976,7 @@ "Properties": [ { "$id": "103", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -920,9 +987,11 @@ "CrossLanguageDefinitionId": "TypeSpec.decimal128", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.Decimal128Property.property" } ] }, @@ -937,6 +1006,7 @@ "Properties": [ { "$id": "106", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -947,9 +1017,11 @@ "CrossLanguageDefinitionId": "TypeSpec.decimal", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.DecimalProperty.property" } ] }, @@ -964,6 +1036,7 @@ "Properties": [ { "$id": "109", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -974,9 +1047,11 @@ "CrossLanguageDefinitionId": "TypeSpec.float32", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.FloatProperty.property" } ] }, @@ -991,6 +1066,7 @@ "Properties": [ { "$id": "112", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -1001,9 +1077,11 @@ "CrossLanguageDefinitionId": "TypeSpec.int32", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.IntProperty.property" } ] }, @@ -1018,6 +1096,7 @@ "Properties": [ { "$id": "115", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -1029,9 +1108,11 @@ "CrossLanguageDefinitionId": "TypeSpec.bytes", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.BytesProperty.property" } ] }, @@ -1046,6 +1127,7 @@ "Properties": [ { "$id": "118", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -1056,9 +1138,11 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.StringProperty.property" } ] }, @@ -1073,6 +1157,7 @@ "Properties": [ { "$id": "121", + "Kind": "property", "Name": "property", "SerializedName": "property", "Description": "Property", @@ -1083,9 +1168,11 @@ "CrossLanguageDefinitionId": "TypeSpec.boolean", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Property.ValueTypes.BooleanProperty.property" } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/union/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/union/tspCodeModel.json index 3661914223..df8a3adfa3 100644 --- a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/union/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/type/union/tspCodeModel.json @@ -255,9 +255,9 @@ "Properties": [ { "$id": "36", + "Kind": "property", "Name": "prop", "SerializedName": "prop", - "Description": "", "Type": { "$id": "37", "Kind": "model", @@ -268,6 +268,7 @@ "Properties": [ { "$id": "38", + "Kind": "property", "Name": "model", "SerializedName": "model", "Description": "This should be receive/send the Cat variant", @@ -286,9 +287,9 @@ "Properties": [ { "$id": "41", + "Kind": "property", "Name": "name", "SerializedName": "name", - "Description": "", "Type": { "$id": "42", "Kind": "string", @@ -296,9 +297,11 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.Cat.name" } ] }, @@ -332,12 +335,15 @@ ], "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.MixedTypesCases.model" }, { "$id": "47", + "Kind": "property", "Name": "literal", "SerializedName": "literal", "Description": "This should be receive/send the \"a\" variant", @@ -379,12 +385,15 @@ ], "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.MixedTypesCases.literal" }, { "$id": "53", + "Kind": "property", "Name": "int", "SerializedName": "int", "Description": "This should be receive/send the int variant", @@ -426,12 +435,15 @@ ], "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.MixedTypesCases.int" }, { "$id": "59", + "Kind": "property", "Name": "boolean", "SerializedName": "boolean", "Description": "This should be receive/send the boolean variant", @@ -473,12 +485,15 @@ ], "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.MixedTypesCases.boolean" }, { "$id": "65", + "Kind": "property", "Name": "array", "SerializedName": "array", "Description": "This should be receive/send 4 element with Cat, \"a\", int, and boolean", @@ -527,15 +542,19 @@ "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.MixedTypesCases.array" } ] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.get.Response.anonymous.prop" } ] }, @@ -555,15 +574,17 @@ "Properties": [ { "$id": "73", + "Kind": "property", "Name": "prop", "SerializedName": "prop", - "Description": "", "Type": { "$ref": "37" }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.send.Request.anonymous.prop" } ] }, @@ -577,9 +598,9 @@ "Properties": [ { "$id": "75", + "Kind": "property", "Name": "prop", "SerializedName": "prop", - "Description": "", "Type": { "$id": "76", "Kind": "model", @@ -590,6 +611,7 @@ "Properties": [ { "$id": "77", + "Kind": "property", "Name": "stringLiteral", "SerializedName": "stringLiteral", "Description": "This should be receive/send the \"a\" variant", @@ -653,12 +675,15 @@ ], "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.MixedLiteralsCases.stringLiteral" }, { "$id": "87", + "Kind": "property", "Name": "intLiteral", "SerializedName": "intLiteral", "Description": "This should be receive/send the 2 variant", @@ -722,12 +747,15 @@ ], "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.MixedLiteralsCases.intLiteral" }, { "$id": "97", + "Kind": "property", "Name": "floatLiteral", "SerializedName": "floatLiteral", "Description": "This should be receive/send the 3.3 variant", @@ -791,12 +819,15 @@ ], "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.MixedLiteralsCases.floatLiteral" }, { "$id": "107", + "Kind": "property", "Name": "booleanLiteral", "SerializedName": "booleanLiteral", "Description": "This should be receive/send the true variant", @@ -860,15 +891,19 @@ ], "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.MixedLiteralsCases.booleanLiteral" } ] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.get.Response.anonymous.prop" } ] }, @@ -885,15 +920,17 @@ "Properties": [ { "$id": "118", + "Kind": "property", "Name": "prop", "SerializedName": "prop", - "Description": "", "Type": { "$ref": "76" }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.send.Request.anonymous.prop" } ] }, @@ -907,9 +944,9 @@ "Properties": [ { "$id": "120", + "Kind": "property", "Name": "prop", "SerializedName": "prop", - "Description": "", "Type": { "$id": "121", "Kind": "model", @@ -920,6 +957,7 @@ "Properties": [ { "$id": "122", + "Kind": "property", "Name": "string", "SerializedName": "string", "Description": "This should be receive/send the string variant", @@ -952,12 +990,15 @@ ], "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.StringAndArrayCases.string" }, { "$id": "127", + "Kind": "property", "Name": "array", "SerializedName": "array", "Description": "This should be receive/send the array variant", @@ -990,15 +1031,19 @@ ], "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.StringAndArrayCases.array" } ] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.get.Response.anonymous.prop" } ] }, @@ -1015,15 +1060,17 @@ "Properties": [ { "$id": "133", + "Kind": "property", "Name": "prop", "SerializedName": "prop", - "Description": "", "Type": { "$ref": "121" }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.send.Request.anonymous.prop" } ] }, @@ -1037,9 +1084,9 @@ "Properties": [ { "$id": "135", + "Kind": "property", "Name": "prop", "SerializedName": "prop", - "Description": "", "Type": { "$id": "136", "Kind": "model", @@ -1050,33 +1097,41 @@ "Properties": [ { "$id": "137", + "Kind": "property", "Name": "lr", "SerializedName": "lr", "Description": "This should be receive/send the left variant", "Type": { "$ref": "2" }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.EnumsOnlyCases.lr" }, { "$id": "138", + "Kind": "property", "Name": "ud", "SerializedName": "ud", "Description": "This should be receive/send the up variant", "Type": { "$ref": "8" }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.EnumsOnlyCases.ud" } ] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.get.Response.anonymous.prop" } ] }, @@ -1093,15 +1148,17 @@ "Properties": [ { "$id": "140", + "Kind": "property", "Name": "prop", "SerializedName": "prop", - "Description": "", "Type": { "$ref": "136" }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.send.Request.anonymous.prop" } ] }, @@ -1115,9 +1172,9 @@ "Properties": [ { "$id": "142", + "Kind": "property", "Name": "prop", "SerializedName": "prop", - "Description": "", "Type": { "$id": "143", "Kind": "union", @@ -1136,9 +1193,9 @@ "Properties": [ { "$id": "145", + "Kind": "property", "Name": "bark", "SerializedName": "bark", - "Description": "", "Type": { "$id": "146", "Kind": "string", @@ -1146,18 +1203,22 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.Dog.bark" } ] } ], "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.get.Response.anonymous.prop" } ] }, @@ -1174,9 +1235,9 @@ "Properties": [ { "$id": "148", + "Kind": "property", "Name": "prop", "SerializedName": "prop", - "Description": "", "Type": { "$id": "149", "Kind": "union", @@ -1191,9 +1252,11 @@ ], "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.send.Request.anonymous.prop" } ] }, @@ -1207,15 +1270,17 @@ "Properties": [ { "$id": "151", + "Kind": "property", "Name": "prop", "SerializedName": "prop", - "Description": "", "Type": { "$ref": "12" }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.get.Response.anonymous.prop" } ] }, @@ -1229,15 +1294,17 @@ "Properties": [ { "$id": "153", + "Kind": "property", "Name": "prop", "SerializedName": "prop", - "Description": "", "Type": { "$ref": "12" }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.send.Request.anonymous.prop" } ] }, @@ -1251,15 +1318,17 @@ "Properties": [ { "$id": "155", + "Kind": "property", "Name": "prop", "SerializedName": "prop", - "Description": "", "Type": { "$ref": "17" }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.get.Response.anonymous.prop" } ] }, @@ -1273,15 +1342,17 @@ "Properties": [ { "$id": "157", + "Kind": "property", "Name": "prop", "SerializedName": "prop", - "Description": "", "Type": { "$ref": "17" }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.send.Request.anonymous.prop" } ] }, @@ -1295,15 +1366,17 @@ "Properties": [ { "$id": "159", + "Kind": "property", "Name": "prop", "SerializedName": "prop", - "Description": "", "Type": { "$ref": "22" }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.get.Response.anonymous.prop" } ] }, @@ -1317,15 +1390,17 @@ "Properties": [ { "$id": "161", + "Kind": "property", "Name": "prop", "SerializedName": "prop", - "Description": "", "Type": { "$ref": "22" }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.send.Request.anonymous.prop" } ] }, @@ -1339,15 +1414,17 @@ "Properties": [ { "$id": "163", + "Kind": "property", "Name": "prop", "SerializedName": "prop", - "Description": "", "Type": { "$ref": "26" }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.get.Response.anonymous.prop" } ] }, @@ -1361,15 +1438,17 @@ "Properties": [ { "$id": "165", + "Kind": "property", "Name": "prop", "SerializedName": "prop", - "Description": "", "Type": { "$ref": "26" }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.send.Request.anonymous.prop" } ] }, @@ -1383,15 +1462,17 @@ "Properties": [ { "$id": "167", + "Kind": "property", "Name": "prop", "SerializedName": "prop", - "Description": "", "Type": { "$ref": "30" }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.get.Response.anonymous.prop" } ] }, @@ -1405,15 +1486,17 @@ "Properties": [ { "$id": "169", + "Kind": "property", "Name": "prop", "SerializedName": "prop", - "Description": "", "Type": { "$ref": "30" }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "Type.Union.send.Request.anonymous.prop" } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Unbranded-TypeSpec/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Local/Unbranded-TypeSpec/tspCodeModel.json index a5a31703de..c0ce00b32f 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Unbranded-TypeSpec/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Local/Unbranded-TypeSpec/tspCodeModel.json @@ -645,6 +645,7 @@ "Properties": [ { "$id": "83", + "Kind": "property", "Name": "name", "SerializedName": "name", "Description": "name of the Thing", @@ -655,12 +656,15 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.Thing.name" }, { "$id": "85", + "Kind": "property", "Name": "requiredUnion", "SerializedName": "requiredUnion", "Description": "required Union", @@ -700,12 +704,15 @@ ], "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.Thing.requiredUnion" }, { "$id": "91", + "Kind": "property", "Name": "requiredLiteralString", "SerializedName": "requiredLiteralString", "Description": "required literal string", @@ -718,12 +725,15 @@ "Value": "accept", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.Thing.requiredLiteralString" }, { "$id": "93", + "Kind": "property", "Name": "requiredLiteralInt", "SerializedName": "requiredLiteralInt", "Description": "required literal int", @@ -736,12 +746,15 @@ "Value": 123, "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.Thing.requiredLiteralInt" }, { "$id": "95", + "Kind": "property", "Name": "requiredLiteralFloat", "SerializedName": "requiredLiteralFloat", "Description": "required literal float", @@ -754,12 +767,15 @@ "Value": 1.23, "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.Thing.requiredLiteralFloat" }, { "$id": "97", + "Kind": "property", "Name": "requiredLiteralBool", "SerializedName": "requiredLiteralBool", "Description": "required literal bool", @@ -776,12 +792,15 @@ "Value": false, "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.Thing.requiredLiteralBool" }, { "$id": "100", + "Kind": "property", "Name": "optionalLiteralString", "SerializedName": "optionalLiteralString", "Description": "optional literal string", @@ -794,12 +813,15 @@ "Value": "reject", "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.Thing.optionalLiteralString" }, { "$id": "102", + "Kind": "property", "Name": "optionalLiteralInt", "SerializedName": "optionalLiteralInt", "Description": "optional literal int", @@ -812,12 +834,15 @@ "Value": 456, "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.Thing.optionalLiteralInt" }, { "$id": "104", + "Kind": "property", "Name": "optionalLiteralFloat", "SerializedName": "optionalLiteralFloat", "Description": "optional literal float", @@ -830,12 +855,15 @@ "Value": 4.56, "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.Thing.optionalLiteralFloat" }, { "$id": "106", + "Kind": "property", "Name": "optionalLiteralBool", "SerializedName": "optionalLiteralBool", "Description": "optional literal bool", @@ -852,12 +880,15 @@ "Value": true, "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.Thing.optionalLiteralBool" }, { "$id": "109", + "Kind": "property", "Name": "requiredBadDescription", "SerializedName": "requiredBadDescription", "Description": "description with xml <|endoftext|>", @@ -868,12 +899,15 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.Thing.requiredBadDescription" }, { "$id": "111", + "Kind": "property", "Name": "optionalNullableList", "SerializedName": "optionalNullableList", "Description": "optional nullable collection", @@ -895,12 +929,15 @@ "Decorators": [] } }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.Thing.optionalNullableList" }, { "$id": "115", + "Kind": "property", "Name": "requiredNullableList", "SerializedName": "requiredNullableList", "Description": "required nullable collection", @@ -922,9 +959,11 @@ "Decorators": [] } }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.Thing.requiredNullableList" } ] }, @@ -939,6 +978,7 @@ "Properties": [ { "$id": "120", + "Kind": "property", "Name": "requiredString", "SerializedName": "requiredString", "Description": "Required string, illustrating a reference type property.", @@ -949,12 +989,15 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.requiredString" }, { "$id": "122", + "Kind": "property", "Name": "requiredInt", "SerializedName": "requiredInt", "Description": "Required int, illustrating a value type property.", @@ -966,12 +1009,15 @@ "CrossLanguageDefinitionId": "TypeSpec.int32", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.requiredInt" }, { "$id": "124", + "Kind": "property", "Name": "requiredCollection", "SerializedName": "requiredCollection", "Description": "Required collection of enums", @@ -985,12 +1031,15 @@ "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.requiredCollection" }, { "$id": "126", + "Kind": "property", "Name": "requiredDictionary", "SerializedName": "requiredDictionary", "Description": "Required dictionary of enums", @@ -1009,36 +1058,45 @@ }, "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.requiredDictionary" }, { "$id": "129", + "Kind": "property", "Name": "requiredModel", "SerializedName": "requiredModel", "Description": "Required model", "Type": { "$ref": "82" }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.requiredModel" }, { "$id": "130", + "Kind": "property", "Name": "intExtensibleEnum", "SerializedName": "intExtensibleEnum", "Description": "this is an int based extensible enum", "Type": { "$ref": "30" }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.intExtensibleEnum" }, { "$id": "131", + "Kind": "property", "Name": "intExtensibleEnumCollection", "SerializedName": "intExtensibleEnumCollection", "Description": "this is a collection of int based extensible enum", @@ -1052,36 +1110,45 @@ "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.intExtensibleEnumCollection" }, { "$id": "133", + "Kind": "property", "Name": "floatExtensibleEnum", "SerializedName": "floatExtensibleEnum", "Description": "this is a float based extensible enum", "Type": { "$ref": "35" }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.floatExtensibleEnum" }, { "$id": "134", + "Kind": "property", "Name": "floatExtensibleEnumWithIntValue", "SerializedName": "floatExtensibleEnumWithIntValue", "Description": "this is a float based extensible enum", "Type": { "$ref": "40" }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.floatExtensibleEnumWithIntValue" }, { "$id": "135", + "Kind": "property", "Name": "floatExtensibleEnumCollection", "SerializedName": "floatExtensibleEnumCollection", "Description": "this is a collection of float based extensible enum", @@ -1095,36 +1162,45 @@ "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.floatExtensibleEnumCollection" }, { "$id": "137", + "Kind": "property", "Name": "floatFixedEnum", "SerializedName": "floatFixedEnum", "Description": "this is a float based fixed enum", "Type": { "$ref": "45" }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.floatFixedEnum" }, { "$id": "138", + "Kind": "property", "Name": "floatFixedEnumWithIntValue", "SerializedName": "floatFixedEnumWithIntValue", "Description": "this is a float based fixed enum", "Type": { "$ref": "50" }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.floatFixedEnumWithIntValue" }, { "$id": "139", + "Kind": "property", "Name": "floatFixedEnumCollection", "SerializedName": "floatFixedEnumCollection", "Description": "this is a collection of float based fixed enum", @@ -1138,24 +1214,30 @@ "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.floatFixedEnumCollection" }, { "$id": "141", + "Kind": "property", "Name": "intFixedEnum", "SerializedName": "intFixedEnum", "Description": "this is a int based fixed enum", "Type": { "$ref": "55" }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.intFixedEnum" }, { "$id": "142", + "Kind": "property", "Name": "intFixedEnumCollection", "SerializedName": "intFixedEnumCollection", "Description": "this is a collection of int based fixed enum", @@ -1169,24 +1251,30 @@ "CrossLanguageDefinitionId": "TypeSpec.Array", "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.intFixedEnumCollection" }, { "$id": "144", + "Kind": "property", "Name": "stringFixedEnum", "SerializedName": "stringFixedEnum", "Description": "this is a string based fixed enum", "Type": { "$ref": "20" }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.stringFixedEnum" }, { "$id": "145", + "Kind": "property", "Name": "requiredUnknown", "SerializedName": "requiredUnknown", "Description": "required unknown", @@ -1197,12 +1285,15 @@ "CrossLanguageDefinitionId": "", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.requiredUnknown" }, { "$id": "147", + "Kind": "property", "Name": "optionalUnknown", "SerializedName": "optionalUnknown", "Description": "optional unknown", @@ -1213,12 +1304,15 @@ "CrossLanguageDefinitionId": "", "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.optionalUnknown" }, { "$id": "149", + "Kind": "property", "Name": "requiredRecordUnknown", "SerializedName": "requiredRecordUnknown", "Description": "required record of unknown", @@ -1241,12 +1335,15 @@ }, "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.requiredRecordUnknown" }, { "$id": "153", + "Kind": "property", "Name": "optionalRecordUnknown", "SerializedName": "optionalRecordUnknown", "Description": "optional record of unknown", @@ -1269,12 +1366,15 @@ }, "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.optionalRecordUnknown" }, { "$id": "157", + "Kind": "property", "Name": "readOnlyRequiredRecordUnknown", "SerializedName": "readOnlyRequiredRecordUnknown", "Description": "required readonly record of unknown", @@ -1297,12 +1397,15 @@ }, "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": true, - "Decorators": [] + "Optional": false, + "ReadOnly": true, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.readOnlyRequiredRecordUnknown" }, { "$id": "161", + "Kind": "property", "Name": "readOnlyOptionalRecordUnknown", "SerializedName": "readOnlyOptionalRecordUnknown", "Description": "optional readonly record of unknown", @@ -1325,12 +1428,15 @@ }, "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": true, - "Decorators": [] + "Optional": true, + "ReadOnly": true, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.readOnlyOptionalRecordUnknown" }, { "$id": "165", + "Kind": "property", "Name": "modelWithRequiredNullable", "SerializedName": "modelWithRequiredNullable", "Description": "this is a model with required nullable properties", @@ -1345,6 +1451,7 @@ "Properties": [ { "$id": "167", + "Kind": "property", "Name": "requiredNullablePrimitive", "SerializedName": "requiredNullablePrimitive", "Description": "required nullable primitive type", @@ -1359,12 +1466,15 @@ "Decorators": [] } }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.ModelWithRequiredNullableProperties.requiredNullablePrimitive" }, { "$id": "170", + "Kind": "property", "Name": "requiredExtensibleEnum", "SerializedName": "requiredExtensibleEnum", "Description": "required nullable extensible enum type", @@ -1375,12 +1485,15 @@ "$ref": "25" } }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.ModelWithRequiredNullableProperties.requiredExtensibleEnum" }, { "$id": "172", + "Kind": "property", "Name": "requiredFixedEnum", "SerializedName": "requiredFixedEnum", "Description": "required nullable fixed enum type", @@ -1391,18 +1504,23 @@ "$ref": "20" } }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.ModelWithRequiredNullableProperties.requiredFixedEnum" } ] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.modelWithRequiredNullable" }, { "$id": "174", + "Kind": "property", "Name": "requiredBytes", "SerializedName": "requiredBytes", "Description": "Required bytes", @@ -1414,9 +1532,11 @@ "CrossLanguageDefinitionId": "TypeSpec.bytes", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.RoundTripModel.requiredBytes" } ] }, @@ -1433,6 +1553,7 @@ "Properties": [ { "$id": "177", + "Kind": "property", "Name": "name", "SerializedName": "name", "Description": "name of the Thing", @@ -1443,12 +1564,15 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.anonymousBody.Request.anonymous.name" }, { "$id": "179", + "Kind": "property", "Name": "requiredUnion", "SerializedName": "requiredUnion", "Description": "required Union", @@ -1488,12 +1612,15 @@ ], "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.anonymousBody.Request.anonymous.requiredUnion" }, { "$id": "185", + "Kind": "property", "Name": "requiredLiteralString", "SerializedName": "requiredLiteralString", "Description": "required literal string", @@ -1506,12 +1633,15 @@ "Value": "accept", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.anonymousBody.Request.anonymous.requiredLiteralString" }, { "$id": "187", + "Kind": "property", "Name": "requiredLiteralInt", "SerializedName": "requiredLiteralInt", "Description": "required literal int", @@ -1524,12 +1654,15 @@ "Value": 123, "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.anonymousBody.Request.anonymous.requiredLiteralInt" }, { "$id": "189", + "Kind": "property", "Name": "requiredLiteralFloat", "SerializedName": "requiredLiteralFloat", "Description": "required literal float", @@ -1542,12 +1675,15 @@ "Value": 1.23, "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.anonymousBody.Request.anonymous.requiredLiteralFloat" }, { "$id": "191", + "Kind": "property", "Name": "requiredLiteralBool", "SerializedName": "requiredLiteralBool", "Description": "required literal bool", @@ -1564,12 +1700,15 @@ "Value": false, "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.anonymousBody.Request.anonymous.requiredLiteralBool" }, { "$id": "194", + "Kind": "property", "Name": "optionalLiteralString", "SerializedName": "optionalLiteralString", "Description": "optional literal string", @@ -1582,12 +1721,15 @@ "Value": "reject", "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.anonymousBody.Request.anonymous.optionalLiteralString" }, { "$id": "196", + "Kind": "property", "Name": "optionalLiteralInt", "SerializedName": "optionalLiteralInt", "Description": "optional literal int", @@ -1600,12 +1742,15 @@ "Value": 456, "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.anonymousBody.Request.anonymous.optionalLiteralInt" }, { "$id": "198", + "Kind": "property", "Name": "optionalLiteralFloat", "SerializedName": "optionalLiteralFloat", "Description": "optional literal float", @@ -1618,12 +1763,15 @@ "Value": 4.56, "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.anonymousBody.Request.anonymous.optionalLiteralFloat" }, { "$id": "200", + "Kind": "property", "Name": "optionalLiteralBool", "SerializedName": "optionalLiteralBool", "Description": "optional literal bool", @@ -1640,12 +1788,15 @@ "Value": true, "Decorators": [] }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.anonymousBody.Request.anonymous.optionalLiteralBool" }, { "$id": "203", + "Kind": "property", "Name": "requiredBadDescription", "SerializedName": "requiredBadDescription", "Description": "description with xml <|endoftext|>", @@ -1656,12 +1807,15 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.anonymousBody.Request.anonymous.requiredBadDescription" }, { "$id": "205", + "Kind": "property", "Name": "optionalNullableList", "SerializedName": "optionalNullableList", "Description": "optional nullable collection", @@ -1683,12 +1837,15 @@ "Decorators": [] } }, - "IsRequired": false, - "IsReadOnly": false, - "Decorators": [] + "Optional": true, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.anonymousBody.Request.anonymous.optionalNullableList" }, { "$id": "209", + "Kind": "property", "Name": "requiredNullableList", "SerializedName": "requiredNullableList", "Description": "required nullable collection", @@ -1710,9 +1867,11 @@ "Decorators": [] } }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.anonymousBody.Request.anonymous.requiredNullableList" } ] }, @@ -1726,6 +1885,7 @@ "Properties": [ { "$id": "214", + "Kind": "property", "Name": "name", "SerializedName": "name", "Description": "name of the NotFriend", @@ -1736,9 +1896,11 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.friendlyModel.Request.anonymous.name" } ] }, @@ -1753,6 +1915,7 @@ "Properties": [ { "$id": "217", + "Kind": "property", "Name": "name", "SerializedName": "name", "Description": "name of the NotFriend", @@ -1763,9 +1926,11 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.NotFriend.name" } ] }, @@ -1779,6 +1944,7 @@ "Properties": [ { "$id": "220", + "Kind": "property", "Name": "name", "SerializedName": "name", "Description": "name of the ModelWithProjectedName", @@ -1789,9 +1955,11 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.projectedNameModel.Request.anonymous.name" } ] }, @@ -1806,6 +1974,7 @@ "Properties": [ { "$id": "223", + "Kind": "property", "Name": "name", "SerializedName": "name", "Description": "name of the ModelWithProjectedName", @@ -1816,9 +1985,11 @@ "CrossLanguageDefinitionId": "TypeSpec.string", "Decorators": [] }, - "IsRequired": true, - "IsReadOnly": false, - "Decorators": [] + "Optional": false, + "ReadOnly": false, + "Discriminator": false, + "Decorators": [], + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.ModelWithProjectedName.name" } ] },