From 1dc571145f40f60759c945d4f027dd8a427d4bf7 Mon Sep 17 00:00:00 2001 From: Crystal YU Date: Thu, 15 Aug 2024 16:13:27 +0800 Subject: [PATCH] Emit decorator list (#3905) Fix https://github.com/microsoft/typespec/issues/4031 When we specify the allowed-emit-decorators in emitter, TCGC will help to emit out decoration information for each item (client, property, operation), e.g final-state-var, our .NET input-Model need to contain this information. This PR will - emit decorators to all kind of models, operations and operations - add reference resolve strategy in TypeSpecInputDecoratorInfoConverter to support parse by reference --- .../emitter/src/lib/client-model-builder.ts | 1 + .../emitter/src/lib/converter.ts | 13 + .../emitter/src/lib/operation-converter.ts | 2 + .../emitter/src/type/input-client.ts | 2 + .../emitter/src/type/input-enum-type-value.ts | 3 + .../emitter/src/type/input-model-property.ts | 2 + .../emitter/src/type/input-operation.ts | 2 + .../emitter/src/type/input-parameter.ts | 2 + .../test/Unit/emit-decorator-list.test.ts | 163 ++ .../emitter/test/Unit/utils/test-util.ts | 11 +- .../test/InputLibraryVisitorTests.cs | 4 +- .../src/InputTypes/InputClient.cs | 1 + .../src/InputTypes/InputEnumTypeValue.cs | 3 + .../src/InputTypes/InputModelProperty.cs | 4 +- .../src/InputTypes/InputNullableType.cs | 2 - .../src/InputTypes/InputOperation.cs | 1 + .../src/InputTypes/InputParameter.cs | 3 + .../src/InputTypes/InputType.cs | 11 +- .../TypeSpecInputArrayTypeConverter.cs | 10 +- .../TypeSpecInputClientConverter.cs | 5 +- .../TypeSpecInputDateTimeTypeConverter.cs | 7 +- .../TypeSpecInputDecoratorInfoConverter.cs | 16 +- .../TypeSpecInputDictionaryTypeConverter.cs | 10 +- .../TypeSpecInputDurationTypeConverter.cs | 7 +- .../TypeSpecInputEnumTypeConverter.cs | 9 +- .../TypeSpecInputEnumTypeValueConverter.cs | 13 +- .../TypeSpecInputLiteralTypeConverter.cs | 10 +- .../TypeSpecInputModelPropertyConverter.cs | 4 +- .../TypeSpecInputNullableTypeConverter.cs | 10 +- .../TypeSpecInputOperationConverter.cs | 5 +- .../TypeSpecInputParameterConverter.cs | 10 +- .../TypeSpecInputPrimitiveTypeConverter.cs | 10 +- .../TypeSpecInputUnionTypeConverter.cs | 5 +- .../Serialization/TypeSpecSerialization.cs | 2 + .../test/Providers/EnumProviderTests.cs | 2 +- .../Providers/ModelFactoryProviderTests.cs | 2 +- .../authentication/api-key/tspCodeModel.json | 24 +- .../http/custom/tspCodeModel.json | 24 +- .../authentication/oauth2/tspCodeModel.json | 24 +- .../authentication/union/tspCodeModel.json | 9 +- .../http/client/naming/tspCodeModel.json | 192 ++- .../structure/multi-client/tspCodeModel.json | 42 +- .../http/encode/bytes/tspCodeModel.json | 408 +++-- .../http/payload/xml/tspCodeModel.json | 1332 ++++++++++------- .../Unbranded-TypeSpec/tspCodeModel.json | 972 ++++++++---- 45 files changed, 2253 insertions(+), 1141 deletions(-) create mode 100644 packages/http-client-csharp/emitter/test/Unit/emit-decorator-list.test.ts diff --git a/packages/http-client-csharp/emitter/src/lib/client-model-builder.ts b/packages/http-client-csharp/emitter/src/lib/client-model-builder.ts index a93a6f2735..ad73391168 100644 --- a/packages/http-client-csharp/emitter/src/lib/client-model-builder.ts +++ b/packages/http-client-csharp/emitter/src/lib/client-model-builder.ts @@ -102,6 +102,7 @@ export function createModel(sdkContext: SdkContext): CodeMode Protocol: {}, Parent: parentNames.length > 0 ? parentNames[parentNames.length - 1] : undefined, Parameters: clientParameters, + Decorators: client.decorators, }; } diff --git a/packages/http-client-csharp/emitter/src/lib/converter.ts b/packages/http-client-csharp/emitter/src/lib/converter.ts index d7c5a80e3a..a27971f9ac 100644 --- a/packages/http-client-csharp/emitter/src/lib/converter.ts +++ b/packages/http-client-csharp/emitter/src/lib/converter.ts @@ -171,6 +171,7 @@ export function fromSdkModelType( flattenedNamePrefixes.length > 0 ? flattenedNamePrefixes.concat(property.name) : undefined, + Decorators: property.decorators, }; return [modelProperty]; @@ -213,6 +214,7 @@ export function fromSdkEnumType( Description: enumType.description, IsExtensible: enumType.isFixed ? false : true, Usage: enumType.usage, + Decorators: enumType.decorators, }; if (addToCollection) enums.set(enumName, newInputEnumType); inputEnumType = newInputEnumType; @@ -228,6 +230,7 @@ function fromSdkDateTimeType(dateTimeType: SdkDateTimeType): InputDateTimeType { WireType: fromSdkBuiltInType(dateTimeType.wireType), CrossLanguageDefinitionId: dateTimeType.crossLanguageDefinitionId, BaseType: dateTimeType.baseType ? fromSdkDateTimeType(dateTimeType.baseType) : undefined, + Decorators: dateTimeType.decorators, }; } @@ -239,6 +242,7 @@ function fromSdkDurationType(durationType: SdkDurationType): InputDurationType { WireType: fromSdkBuiltInType(durationType.wireType), CrossLanguageDefinitionId: durationType.crossLanguageDefinitionId, BaseType: durationType.baseType ? fromSdkDurationType(durationType.baseType) : undefined, + Decorators: durationType.decorators, }; } @@ -248,6 +252,7 @@ function fromTupleType(tupleType: SdkTupleType): InputPrimitiveType { Kind: "any", Name: "tuple", CrossLanguageDefinitionId: "", + Decorators: tupleType.decorators, }; } @@ -258,6 +263,7 @@ function fromSdkBuiltInType(builtInType: SdkBuiltInType): InputPrimitiveType { Encode: builtInType.encode !== builtInType.kind ? builtInType.encode : undefined, // In TCGC this is required, and when there is no encoding, it just has the same value as kind, we could remove this when TCGC decides to simplify CrossLanguageDefinitionId: builtInType.crossLanguageDefinitionId, BaseType: builtInType.baseType ? fromSdkBuiltInType(builtInType.baseType) : undefined, + Decorators: builtInType.decorators, }; } @@ -277,6 +283,7 @@ function fromUnionType( Kind: "union", Name: union.name, VariantTypes: variantTypes, + Decorators: union.decorators, }; } @@ -296,6 +303,7 @@ function fromSdkConstantType( // we might keep constant as-is, instead of creating an enum for it. convertConstantToEnum(constantType, enums, literalTypeContext), Value: constantType.value, + Decorators: constantType.decorators, }; function convertConstantToEnum( @@ -325,6 +333,7 @@ function fromSdkConstantType( Description: `The ${enumName}`, // TODO -- what should we put here? IsExtensible: true, Usage: literalTypeContext.Usage, + Decorators: constantType.decorators, }; enums.set(enumName, enumType); return enumType; @@ -344,6 +353,7 @@ function fromSdkEnumValueTypeToConstantType( ? fromSdkBuiltInType(enumValueType.valueType as SdkBuiltInType) // TODO: TCGC fix : fromSdkEnumType(enumValueType.enumType, context, enums), Value: enumValueType.value, + Decorators: enumValueType.decorators, }; } @@ -352,6 +362,7 @@ function fromSdkEnumValueType(enumValueType: SdkEnumValueType): InputEnumTypeVal Name: enumValueType.name, Value: enumValueType.value, Description: enumValueType.description, + Decorators: enumValueType.decorators, }; } @@ -365,6 +376,7 @@ function fromSdkDictionaryType( Kind: "dict", KeyType: fromSdkType(dictionaryType.keyType, context, models, enums), ValueType: fromSdkType(dictionaryType.valueType, context, models, enums), + Decorators: dictionaryType.decorators, }; } @@ -379,6 +391,7 @@ function fromSdkArrayType( Name: arrayType.name, ValueType: fromSdkType(arrayType.valueType, context, models, enums), CrossLanguageDefinitionId: arrayType.crossLanguageDefinitionId, + Decorators: arrayType.decorators, }; } diff --git a/packages/http-client-csharp/emitter/src/lib/operation-converter.ts b/packages/http-client-csharp/emitter/src/lib/operation-converter.ts index 84485f3b81..25e00e3735 100644 --- a/packages/http-client-csharp/emitter/src/lib/operation-converter.ts +++ b/packages/http-client-csharp/emitter/src/lib/operation-converter.ts @@ -100,6 +100,7 @@ export function fromSdkServiceMethod( GenerateProtocolMethod: shouldGenerateProtocol(sdkContext, method.operation.__raw.operation), GenerateConvenienceMethod: generateConvenience, CrossLanguageDefinitionId: method.crossLanguageDefintionId, + Decorators: method.decorators, }; } @@ -203,6 +204,7 @@ function fromSdkHttpOperationParameter( IsRequired: !p.optional, Kind: getParameterKind(p, parameterType, rootApiVersions.length > 0), DefaultValue: getParameterDefaultValue(p.clientDefaultValue, parameterType), + Decorators: p.decorators, } as InputParameter; } diff --git a/packages/http-client-csharp/emitter/src/type/input-client.ts b/packages/http-client-csharp/emitter/src/type/input-client.ts index a1e61b6b87..df4a22358b 100644 --- a/packages/http-client-csharp/emitter/src/type/input-client.ts +++ b/packages/http-client-csharp/emitter/src/type/input-client.ts @@ -1,6 +1,7 @@ // 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 { InputOperation } from "./input-operation.js"; import { InputParameter } from "./input-parameter.js"; import { Protocols } from "./protocols.js"; @@ -12,4 +13,5 @@ export interface InputClient { Protocol?: Protocols; Parent?: string; Parameters?: InputParameter[]; + Decorators?: DecoratorInfo[]; } diff --git a/packages/http-client-csharp/emitter/src/type/input-enum-type-value.ts b/packages/http-client-csharp/emitter/src/type/input-enum-type-value.ts index a8bccb8463..a163803f75 100644 --- a/packages/http-client-csharp/emitter/src/type/input-enum-type-value.ts +++ b/packages/http-client-csharp/emitter/src/type/input-enum-type-value.ts @@ -1,8 +1,11 @@ // 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"; + export interface InputEnumTypeValue { Name: string; Value: any; Description?: string; + Decorators?: DecoratorInfo[]; } 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 index e23d18c58d..b96c73bb56 100644 --- a/packages/http-client-csharp/emitter/src/type/input-model-property.ts +++ b/packages/http-client-csharp/emitter/src/type/input-model-property.ts @@ -1,6 +1,7 @@ // 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 { @@ -12,4 +13,5 @@ export interface InputModelProperty { IsReadOnly: boolean; IsDiscriminator?: boolean; FlattenedNames?: string[]; + Decorators?: DecoratorInfo[]; } diff --git a/packages/http-client-csharp/emitter/src/type/input-operation.ts b/packages/http-client-csharp/emitter/src/type/input-operation.ts index 14e88b82b8..1637e47046 100644 --- a/packages/http-client-csharp/emitter/src/type/input-operation.ts +++ b/packages/http-client-csharp/emitter/src/type/input-operation.ts @@ -1,6 +1,7 @@ // 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 { BodyMediaType } from "./body-media-type.js"; import { InputParameter } from "./input-parameter.js"; import { OperationLongRunning } from "./operation-long-running.js"; @@ -35,4 +36,5 @@ export interface InputOperation { GenerateProtocolMethod: boolean; GenerateConvenienceMethod: boolean; CrossLanguageDefinitionId: string; + Decorators?: DecoratorInfo[]; } diff --git a/packages/http-client-csharp/emitter/src/type/input-parameter.ts b/packages/http-client-csharp/emitter/src/type/input-parameter.ts index 5a5660fb4e..ff130bdcfe 100644 --- a/packages/http-client-csharp/emitter/src/type/input-parameter.ts +++ b/packages/http-client-csharp/emitter/src/type/input-parameter.ts @@ -1,6 +1,7 @@ // 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 { InputConstant } from "./input-constant.js"; import { InputOperationParameterKind } from "./input-operation-parameter-kind.js"; import { InputType } from "./input-type.js"; @@ -27,4 +28,5 @@ export interface InputParameter { Explode: boolean; ArraySerializationDelimiter?: string; HeaderCollectionPrefix?: string; + Decorators?: DecoratorInfo[]; } diff --git a/packages/http-client-csharp/emitter/test/Unit/emit-decorator-list.test.ts b/packages/http-client-csharp/emitter/test/Unit/emit-decorator-list.test.ts new file mode 100644 index 0000000000..3e7a86f424 --- /dev/null +++ b/packages/http-client-csharp/emitter/test/Unit/emit-decorator-list.test.ts @@ -0,0 +1,163 @@ +import { TestHost } from "@typespec/compiler/testing"; +import { deepStrictEqual, strictEqual } from "assert"; +import { beforeEach, describe, it } from "vitest"; +import { createModel } from "../../src/lib/client-model-builder.js"; +import { + createEmitterContext, + createEmitterTestHost, + createNetSdkContext, + typeSpecCompile, +} from "./utils/test-util.js"; + +describe("Test emitting decorator list", () => { + let runner: TestHost; + + beforeEach(async () => { + runner = await createEmitterTestHost(); + }); + + it("emit decorator list on a client", async () => { + const program = await typeSpecCompile( + ` + @clientName("CsharpBookClient") + interface BookClient { + op test(): void; + } + `, + runner, + { IsTCGCNeeded: true, IsXmlNeeded: true } + ); + const context = createEmitterContext(program); + const sdkContext = await createNetSdkContext(context, { + additionalDecorators: ["Azure\\.ClientGenerator\\.Core\\.@clientName"], + }); + const root = createModel(sdkContext); + const clients = root.Clients; + strictEqual(clients.length, 2); + deepStrictEqual(clients[1].Decorators, [ + { + name: "Azure.ClientGenerator.Core.@clientName", + arguments: { + rename: "CsharpBookClient", + }, + }, + ]); + }); + + it("emit decorator list on a operation", async () => { + const program = await typeSpecCompile( + ` + model Book { + content: string; + } + @clientName("ClientTestOperation") + op test(): Book; + `, + runner, + { IsTCGCNeeded: true, IsXmlNeeded: true } + ); + const context = createEmitterContext(program); + const sdkContext = await createNetSdkContext(context, { + additionalDecorators: ["Azure\\.ClientGenerator\\.Core\\.@clientName"], + }); + const root = createModel(sdkContext); + const operations = root.Clients[0].Operations; + strictEqual(operations.length, 1); + deepStrictEqual(operations[0].Decorators, [ + { + name: "Azure.ClientGenerator.Core.@clientName", + arguments: { + rename: "ClientTestOperation", + }, + }, + ]); + }); + + it("emit decorator list on a model", async () => { + const program = await typeSpecCompile( + ` + @clientName("ClientBook") + model Book { + content: string; + } + + op test(): Book; + `, + runner, + { IsTCGCNeeded: true, IsXmlNeeded: true } + ); + const context = createEmitterContext(program); + const sdkContext = await createNetSdkContext(context, { + additionalDecorators: ["Azure\\.ClientGenerator\\.Core\\.@clientName"], + }); + const root = createModel(sdkContext); + const models = root.Models; + strictEqual(models.length, 1); + deepStrictEqual(models[0].Decorators, [ + { + name: "Azure.ClientGenerator.Core.@clientName", + arguments: { + rename: "ClientBook", + }, + }, + ]); + }); + + it("emit decorator list on a model property", async () => { + const program = await typeSpecCompile( + ` + model Book { + @clientName("ClientContent") + content: string; + } + + op test(): Book; + `, + runner, + { IsTCGCNeeded: true, IsXmlNeeded: true } + ); + const context = createEmitterContext(program); + const sdkContext = await createNetSdkContext(context, { + additionalDecorators: ["Azure\\.ClientGenerator\\.Core\\.@clientName"], + }); + const root = createModel(sdkContext); + const models = root.Models; + strictEqual(models.length, 1); + deepStrictEqual(models[0].Properties[0].Decorators, [ + { + name: "Azure.ClientGenerator.Core.@clientName", + arguments: { + rename: "ClientContent", + }, + }, + ]); + }); + + it("emit decorator list on a parameter", async () => { + const program = await typeSpecCompile( + ` + @clientName("ClientTestOperation") + op test(@clientName("ClientId") @header id: string): void; + `, + runner, + { IsTCGCNeeded: true, IsXmlNeeded: true } + ); + const context = createEmitterContext(program); + const sdkContext = await createNetSdkContext(context, { + additionalDecorators: ["Azure\\.ClientGenerator\\.Core\\.@clientName"], + }); + const root = createModel(sdkContext); + const operations = root.Clients[0].Operations; + strictEqual(operations.length, 1); + const idParameters = operations[0].Parameters.filter((p) => p.Name === "ClientId"); + strictEqual(idParameters.length, 1); + deepStrictEqual(idParameters[0].Decorators, [ + { + name: "Azure.ClientGenerator.Core.@clientName", + arguments: { + rename: "ClientId", + }, + }, + ]); + }); +}); diff --git a/packages/http-client-csharp/emitter/test/Unit/utils/test-util.ts b/packages/http-client-csharp/emitter/test/Unit/utils/test-util.ts index 2cb2fec426..0d9a185c10 100644 --- a/packages/http-client-csharp/emitter/test/Unit/utils/test-util.ts +++ b/packages/http-client-csharp/emitter/test/Unit/utils/test-util.ts @@ -1,5 +1,9 @@ import { AzureCoreTestLibrary } from "@azure-tools/typespec-azure-core/testing"; -import { createSdkContext, SdkContext } from "@azure-tools/typespec-client-generator-core"; +import { + createSdkContext, + CreateSdkContextOptions, + SdkContext, +} from "@azure-tools/typespec-client-generator-core"; import { SdkTestLibrary } from "@azure-tools/typespec-client-generator-core/testing"; import { CompilerOptions, @@ -131,8 +135,9 @@ export function navigateModels( /* We always need to pass in the emitter name now that it is required so making a helper to do this. */ export async function createNetSdkContext( - program: EmitContext + program: EmitContext, + sdkContextOptions: CreateSdkContextOptions = {} ): Promise> { Logger.initialize(program.program, LoggerLevel.INFO); - return await createSdkContext(program, "@typespec/http-client-csharp"); + return await createSdkContext(program, "@typespec/http-client-csharp", sdkContextOptions); } diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.ClientModel/test/InputLibraryVisitorTests.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.ClientModel/test/InputLibraryVisitorTests.cs index 841e2a8ef2..d446d20b4d 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.ClientModel/test/InputLibraryVisitorTests.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.ClientModel/test/InputLibraryVisitorTests.cs @@ -41,7 +41,7 @@ public void PreVisitsMethods() new InputLiteralType(new InputPrimitiveType(InputPrimitiveTypeKind.String, "foo", "bar"), "bar"), RequestLocation.Header, null, InputOperationParameterKind.Method, true, false, true, false, false, false, false, null, null); - var inputOperation = new InputOperation("testoperation", "name", "desc", null, null, [param], new[] {new OperationResponse([200], new InputLiteralType(InputPrimitiveType.Any, "foo"), BodyMediaType.Json, [], false, [] )}, + var inputOperation = new InputOperation("testoperation", "name", "desc", null, null, [param], new[] { new OperationResponse([200], new InputLiteralType(InputPrimitiveType.Any, "foo"), BodyMediaType.Json, [], false, []) }, "GET", BodyMediaType.Json, "http://example.com", "baz", null, null, true, null, null, true, true, "foo"); var inputClient = new InputClient( "fooClient", @@ -53,7 +53,7 @@ public void PreVisitsMethods() "test library", new List(), new List(), - new List {inputModel}, + new List { inputModel }, new List { new InputClient( diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputClient.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputClient.cs index 5efefb080d..38d90dbf1c 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputClient.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputClient.cs @@ -27,6 +27,7 @@ public InputClient() : this(string.Empty, string.Empty, Array.Empty Operations { get; internal set; } public IReadOnlyList Parameters { get; internal set; } public string? Parent { get; internal set; } + public IReadOnlyList Decorators { get; internal set; } = new List(); public string Key { diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputEnumTypeValue.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputEnumTypeValue.cs index 20864f29ce..fa004346dd 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputEnumTypeValue.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputEnumTypeValue.cs @@ -1,6 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. +using System.Collections.Generic; + namespace Microsoft.Generator.CSharp.Input { public class InputEnumTypeValue @@ -15,6 +17,7 @@ public InputEnumTypeValue(string name, object value, string? description) public string Name { get; } public object Value { get; } public string? Description { get; } + public IReadOnlyList Decorators { get; internal set; } = new List(); public virtual string GetJsonValueString() => GetValueString(); public string GetValueString() => Value.ToString() ?? string.Empty; 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 32891685f9..d60570bd71 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 @@ -1,7 +1,6 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -using System; using System.Collections.Generic; namespace Microsoft.Generator.CSharp.Input @@ -17,7 +16,7 @@ public InputModelProperty(string name, string serializedName, string description IsRequired = isRequired; IsReadOnly = isReadOnly; IsDiscriminator = isDiscriminator; - FlattenedNames = flattenedNames ?? Array.Empty(); + FlattenedNames = flattenedNames ?? []; } public string Name { get; } @@ -28,5 +27,6 @@ public InputModelProperty(string name, string serializedName, string description public bool IsReadOnly { get; } public bool IsDiscriminator { get; } public IReadOnlyList FlattenedNames { get; } + public IReadOnlyList Decorators { get; internal set; } = new List(); } } diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputNullableType.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputNullableType.cs index c8c0387501..8e564a3c8b 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputNullableType.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputNullableType.cs @@ -1,8 +1,6 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -using Microsoft.Generator.CSharp.Input; - namespace Microsoft.Generator.CSharp.Input { public sealed class InputNullableType : InputType diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputOperation.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputOperation.cs index ec3686971b..ab2510036c 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputOperation.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputOperation.cs @@ -94,6 +94,7 @@ public InputOperation() : this( public bool GenerateProtocolMethod { get; internal set; } public bool GenerateConvenienceMethod { get; internal set; } public string CrossLanguageDefinitionId { get; internal set; } + public IReadOnlyList Decorators { get; internal set; } = new List(); private IReadOnlyDictionary? _examples; internal IReadOnlyDictionary Examples => _examples ??= EnsureExamples(); diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputParameter.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputParameter.cs index 2cf23e001d..305bf310b5 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputParameter.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputParameter.cs @@ -1,6 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. +using System.Collections.Generic; + namespace Microsoft.Generator.CSharp.Input { public sealed class InputParameter @@ -57,5 +59,6 @@ public InputParameter( public bool Explode { get; } public string? ArraySerializationDelimiter { get; } public string? HeaderCollectionPrefix { get; } + public IReadOnlyList Decorators { get; internal set; } = new List(); } } diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputType.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputType.cs index 5515a6cab4..347aa08d40 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputType.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/InputType.cs @@ -20,7 +20,6 @@ protected InputType(string name) } public string Name { get; internal set; } - public IReadOnlyList Decorators { get; internal set; } = new List(); internal InputType GetCollectionEquivalent(InputType inputType) @@ -31,12 +30,18 @@ internal InputType GetCollectionEquivalent(InputType inputType) return new InputArrayType( listType.Name, listType.CrossLanguageDefinitionId, - listType.ValueType.GetCollectionEquivalent(inputType)); + listType.ValueType.GetCollectionEquivalent(inputType)) + { + Decorators = listType.Decorators + }; case InputDictionaryType dictionaryType: return new InputDictionaryType( dictionaryType.Name, dictionaryType.KeyType, - dictionaryType.ValueType.GetCollectionEquivalent(inputType)); + dictionaryType.ValueType.GetCollectionEquivalent(inputType)) + { + Decorators = dictionaryType.Decorators + }; default: return inputType; } diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputArrayTypeConverter.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputArrayTypeConverter.cs index 85cc57c09a..d7112dcd4f 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputArrayTypeConverter.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputArrayTypeConverter.cs @@ -2,6 +2,7 @@ // Licensed under the MIT License. using System; +using System.Collections.Generic; using System.Text.Json; using System.Text.Json.Serialization; @@ -27,12 +28,14 @@ public static InputArrayType CreateListType(ref Utf8JsonReader reader, string? i var isFirstProperty = id == null; string? crossLanguageDefinitionId = null; InputType? valueType = null; + IReadOnlyList? decorators = null; while (reader.TokenType != JsonTokenType.EndObject) { var isKnownProperty = reader.TryReadReferenceId(ref isFirstProperty, ref id) || reader.TryReadString(nameof(InputArrayType.Name), ref name) || reader.TryReadString(nameof(InputArrayType.CrossLanguageDefinitionId), ref crossLanguageDefinitionId) - || reader.TryReadWithConverter(nameof(InputArrayType.ValueType), options, ref valueType); + || reader.TryReadWithConverter(nameof(InputArrayType.ValueType), options, ref valueType) + || reader.TryReadWithConverter(nameof(InputArrayType.Decorators), options, ref decorators); if (!isKnownProperty) { @@ -41,7 +44,10 @@ public static InputArrayType CreateListType(ref Utf8JsonReader reader, string? i } valueType = valueType ?? throw new JsonException("List must have element type"); - var listType = new InputArrayType(name ?? "Array", crossLanguageDefinitionId ?? string.Empty, valueType); + var listType = new InputArrayType(name ?? "Array", crossLanguageDefinitionId ?? string.Empty, valueType) + { + Decorators = decorators ?? [] + }; if (id != null) { resolver.AddReference(id, listType); diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputClientConverter.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputClientConverter.cs index b07b606049..7df4c4b773 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputClientConverter.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputClientConverter.cs @@ -38,6 +38,7 @@ public override void Write(Utf8JsonWriter writer, InputClient value, JsonSeriali string? description = null; IReadOnlyList? operations = null; IReadOnlyList? parameters = null; + IReadOnlyList? decorators = null; string? parent = null; while (reader.TokenType != JsonTokenType.EndObject) @@ -46,7 +47,8 @@ public override void Write(Utf8JsonWriter writer, InputClient value, JsonSeriali || reader.TryReadString(nameof(InputClient.Description), ref description) || reader.TryReadWithConverter(nameof(InputClient.Operations), options, ref operations) || reader.TryReadWithConverter(nameof(InputClient.Parameters), options, ref parameters) - || reader.TryReadString(nameof(InputClient.Parent), ref parent); + || reader.TryReadString(nameof(InputClient.Parent), ref parent) + || reader.TryReadWithConverter(nameof(InputClient.Decorators), options, ref decorators); if (!isKnownProperty) { @@ -59,6 +61,7 @@ public override void Write(Utf8JsonWriter writer, InputClient value, JsonSeriali client.Operations = operations ?? Array.Empty(); client.Parameters = parameters ?? Array.Empty(); client.Parent = parent; + client.Decorators = decorators ?? []; return client; } diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputDateTimeTypeConverter.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputDateTimeTypeConverter.cs index 904ab3e1a4..37949a95f0 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputDateTimeTypeConverter.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputDateTimeTypeConverter.cs @@ -2,6 +2,7 @@ // Licensed under the MIT License. using System; +using System.Collections.Generic; using System.Text.Json; using System.Text.Json.Serialization; @@ -27,6 +28,7 @@ public static InputDateTimeType CreateDateTimeType(ref Utf8JsonReader reader, st string? crossLanguageDefinitionId = null; string? encode = null; InputType? type = null; + IReadOnlyList? decorators = null; InputDateTimeType? baseType = null; while (reader.TokenType != JsonTokenType.EndObject) @@ -36,7 +38,8 @@ public static InputDateTimeType CreateDateTimeType(ref Utf8JsonReader reader, st || reader.TryReadString(nameof(InputDateTimeType.CrossLanguageDefinitionId), ref crossLanguageDefinitionId) || reader.TryReadString(nameof(InputDateTimeType.Encode), ref encode) || reader.TryReadWithConverter(nameof(InputDateTimeType.WireType), options, ref type) - || reader.TryReadWithConverter(nameof(InputDateTimeType.BaseType), options, ref baseType); + || reader.TryReadWithConverter(nameof(InputDateTimeType.BaseType), options, ref baseType) + || reader.TryReadWithConverter(nameof(InputDateTimeType.Decorators), options, ref decorators); if (!isKnownProperty) { @@ -54,7 +57,7 @@ public static InputDateTimeType CreateDateTimeType(ref Utf8JsonReader reader, st encode = encode ?? throw new JsonException("DateTime type must have encoding"); var dateTimeType = Enum.TryParse(encode, ignoreCase: true, out var encodeKind) - ? new InputDateTimeType(encodeKind, name, crossLanguageDefinitionId, wireType, baseType) + ? new InputDateTimeType(encodeKind, name, crossLanguageDefinitionId, wireType, baseType) { Decorators = decorators ?? [] } : throw new JsonException($"Encoding of DateTime type {encode} is unknown."); if (id != null) diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputDecoratorInfoConverter.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputDecoratorInfoConverter.cs index 5d02035ae3..40ed250998 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputDecoratorInfoConverter.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputDecoratorInfoConverter.cs @@ -19,12 +19,16 @@ public TypeSpecInputDecoratorInfoConverter(TypeSpecReferenceHandler referenceHan } public override InputDecoratorInfo? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + => reader.ReadReferenceAndResolve(_referenceHandler.CurrentResolver) ?? CreateDecoratorInfo(ref reader, null, options, _referenceHandler.CurrentResolver); + + public override void Write(Utf8JsonWriter writer, InputDecoratorInfo value, JsonSerializerOptions options) + => throw new NotSupportedException("Writing not supported"); + + private static InputDecoratorInfo? CreateDecoratorInfo(ref Utf8JsonReader reader, string? id, JsonSerializerOptions options, ReferenceResolver resolver) { - bool isFirstProperty = true; - string? id = null; + var isFirstProperty = id == null; string? name = null; IReadOnlyDictionary? arguments = null; - reader.Read(); while (reader.TokenType != JsonTokenType.EndObject) { var isKnownProperty = reader.TryReadReferenceId(ref isFirstProperty, ref id) @@ -37,17 +41,13 @@ public TypeSpecInputDecoratorInfoConverter(TypeSpecReferenceHandler referenceHan } } reader.Read(); - var decoratorInfo = new InputDecoratorInfo(name ?? throw new JsonException("InputDecoratorInfo must have name"), arguments); if (id != null) { - _referenceHandler.CurrentResolver.AddReference(id, decoratorInfo); + resolver.AddReference(id, decoratorInfo); } return decoratorInfo; } - - public override void Write(Utf8JsonWriter writer, InputDecoratorInfo value, JsonSerializerOptions options) - => throw new NotSupportedException("Writing not supported"); } } diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputDictionaryTypeConverter.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputDictionaryTypeConverter.cs index 6838d0b645..f069547711 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputDictionaryTypeConverter.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputDictionaryTypeConverter.cs @@ -2,6 +2,7 @@ // Licensed under the MIT License. using System; +using System.Collections.Generic; using System.Text.Json; using System.Text.Json.Serialization; @@ -27,11 +28,13 @@ public static InputDictionaryType CreateDictionaryType(ref Utf8JsonReader reader var isFirstProperty = id == null; InputType? keyType = null; InputType? valueType = null; + IReadOnlyList? decorators = null; while (reader.TokenType != JsonTokenType.EndObject) { var isKnownProperty = reader.TryReadReferenceId(ref isFirstProperty, ref id) || reader.TryReadWithConverter(nameof(InputDictionaryType.KeyType), options, ref keyType) - || reader.TryReadWithConverter(nameof(InputDictionaryType.ValueType), options, ref valueType); + || reader.TryReadWithConverter(nameof(InputDictionaryType.ValueType), options, ref valueType) + || reader.TryReadWithConverter(nameof(InputDictionaryType.Decorators), options, ref decorators); if (!isKnownProperty) { @@ -42,7 +45,10 @@ public static InputDictionaryType CreateDictionaryType(ref Utf8JsonReader reader keyType = keyType ?? throw new JsonException("Dictionary must have key type"); valueType = valueType ?? throw new JsonException("Dictionary must have value type"); - var dictType = new InputDictionaryType("Dictionary", keyType, valueType); + var dictType = new InputDictionaryType("Dictionary", keyType, valueType) + { + Decorators = decorators ?? [], + }; if (id != null) { resolver.AddReference(id, dictType); diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputDurationTypeConverter.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputDurationTypeConverter.cs index d195afa049..277c55901c 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputDurationTypeConverter.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputDurationTypeConverter.cs @@ -2,6 +2,7 @@ // Licensed under the MIT License. using System; +using System.Collections.Generic; using System.Text.Json; using System.Text.Json.Serialization; @@ -27,6 +28,7 @@ public static InputDurationType CreateDurationType(ref Utf8JsonReader reader, st string? crossLanguageDefinitionId = null; string? encode = null; InputType? type = null; + IReadOnlyList? decorators = null; InputDurationType? baseType = null; while (reader.TokenType != JsonTokenType.EndObject) @@ -36,7 +38,8 @@ public static InputDurationType CreateDurationType(ref Utf8JsonReader reader, st || reader.TryReadString(nameof(InputDurationType.CrossLanguageDefinitionId), ref crossLanguageDefinitionId) || reader.TryReadString(nameof(InputDurationType.Encode), ref encode) || reader.TryReadWithConverter(nameof(InputDurationType.WireType), options, ref type) - || reader.TryReadWithConverter(nameof(InputDurationType.BaseType), options, ref baseType); + || reader.TryReadWithConverter(nameof(InputDurationType.BaseType), options, ref baseType) + || reader.TryReadWithConverter(nameof(InputDurationType.Decorators), options, ref decorators); if (!isKnownProperty) { @@ -54,7 +57,7 @@ public static InputDurationType CreateDurationType(ref Utf8JsonReader reader, st encode = encode ?? throw new JsonException("Duration type must have encoding"); var dateTimeType = Enum.TryParse(encode, ignoreCase: true, out var encodeKind) - ? new InputDurationType(encodeKind, name, crossLanguageDefinitionId, wireType, baseType) + ? new InputDurationType(encodeKind, name, crossLanguageDefinitionId, wireType, baseType) { Decorators = decorators ?? [] } : throw new JsonException($"Encoding of Duration type {encode} is unknown."); if (id != null) diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputEnumTypeConverter.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputEnumTypeConverter.cs index 4896f91d5f..9d3511ea85 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputEnumTypeConverter.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputEnumTypeConverter.cs @@ -35,6 +35,7 @@ public static InputEnumType CreateEnumType(ref Utf8JsonReader reader, string? id bool isExtendable = false; InputType? valueType = null; IReadOnlyList? values = null; + IReadOnlyList? decorators = null; while (reader.TokenType != JsonTokenType.EndObject) { var isKnownProperty = reader.TryReadReferenceId(ref isFirstProperty, ref id) @@ -46,7 +47,8 @@ public static InputEnumType CreateEnumType(ref Utf8JsonReader reader, string? id || reader.TryReadString(nameof(InputEnumType.Usage), ref usageString) || reader.TryReadBoolean(nameof(InputEnumType.IsExtensible), ref isExtendable) || reader.TryReadWithConverter(nameof(InputEnumType.ValueType), options, ref valueType) - || reader.TryReadWithConverter(nameof(InputEnumType.Values), options, ref values); + || reader.TryReadWithConverter(nameof(InputEnumType.Values), options, ref values) + || reader.TryReadWithConverter(nameof(InputEnumType.Decorators), options, ref decorators); if (!isKnownProperty) { @@ -76,7 +78,10 @@ public static InputEnumType CreateEnumType(ref Utf8JsonReader reader, string? id throw new JsonException("The ValueType of an EnumType must be a primitive type."); } - var enumType = new InputEnumType(name, crossLanguageDefinitionId ?? string.Empty, accessibility, deprecated, description!, usage, inputValueType, NormalizeValues(values, inputValueType), isExtendable); + var enumType = new InputEnumType(name, crossLanguageDefinitionId ?? string.Empty, accessibility, deprecated, description!, usage, inputValueType, NormalizeValues(values, inputValueType), isExtendable) + { + Decorators = decorators ?? [] + }; if (id != null) { resolver.AddReference(id, enumType); diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputEnumTypeValueConverter.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputEnumTypeValueConverter.cs index 1b25637540..0135844404 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputEnumTypeValueConverter.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputEnumTypeValueConverter.cs @@ -1,7 +1,8 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. +// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. using System; +using System.Collections.Generic; using System.Text.Json; using System.Text.Json.Serialization; @@ -17,22 +18,24 @@ public TypeSpecInputEnumTypeValueConverter(TypeSpecReferenceHandler referenceHan } public override InputEnumTypeValue Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) - => reader.ReadReferenceAndResolve(_referenceHandler.CurrentResolver) ?? CreateEnumTypeValue(ref reader, null, null, _referenceHandler.CurrentResolver); + => reader.ReadReferenceAndResolve(_referenceHandler.CurrentResolver) ?? CreateEnumTypeValue(ref reader, null, null, options, _referenceHandler.CurrentResolver); public override void Write(Utf8JsonWriter writer, InputEnumTypeValue value, JsonSerializerOptions options) => throw new NotSupportedException("Writing not supported"); - public static InputEnumTypeValue CreateEnumTypeValue(ref Utf8JsonReader reader, string? id, string? name, ReferenceResolver resolver) + public static InputEnumTypeValue CreateEnumTypeValue(ref Utf8JsonReader reader, string? id, string? name, JsonSerializerOptions options, ReferenceResolver resolver) { var isFirstProperty = id == null; object? value = null; string? description = null; + IReadOnlyList? decorators = null; while (reader.TokenType != JsonTokenType.EndObject) { var isKnownProperty = reader.TryReadReferenceId(ref isFirstProperty, ref id) || reader.TryReadString(nameof(InputEnumTypeValue.Name), ref name) || reader.TryReadEnumValue(nameof(InputEnumTypeValue.Value), ref value) - || reader.TryReadString(nameof(InputEnumTypeValue.Description), ref description); + || reader.TryReadString(nameof(InputEnumTypeValue.Description), ref description) + || reader.TryReadWithConverter(nameof(InputEnumTypeValue.Decorators), options, ref decorators); if (!isKnownProperty) { @@ -44,7 +47,7 @@ public static InputEnumTypeValue CreateEnumTypeValue(ref Utf8JsonReader reader, value = value ?? throw new JsonException("EnumValue must have value"); - var enumValue = new InputEnumTypeValue(name, value, description); + var enumValue = new InputEnumTypeValue(name, value, description) { Decorators = decorators ?? [] }; if (id != null) { resolver.AddReference(id, enumValue); diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputLiteralTypeConverter.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputLiteralTypeConverter.cs index 9f866fecc7..b97fa52869 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputLiteralTypeConverter.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputLiteralTypeConverter.cs @@ -2,6 +2,7 @@ // Licensed under the MIT License. using System; +using System.Collections.Generic; using System.Text.Json; using System.Text.Json.Serialization; @@ -26,11 +27,13 @@ public static InputLiteralType CreateInputLiteralType(ref Utf8JsonReader reader, var isFirstProperty = id == null && name == null; object? value = null; InputType? type = null; + IReadOnlyList? decorators = null; while (reader.TokenType != JsonTokenType.EndObject) { var isKnownProperty = reader.TryReadReferenceId(ref isFirstProperty, ref id) - || reader.TryReadWithConverter(nameof(InputLiteralType.ValueType), options, ref type); + || reader.TryReadWithConverter(nameof(InputLiteralType.ValueType), options, ref type) + || reader.TryReadWithConverter(nameof(InputLiteralType.Decorators), options, ref decorators); if (isKnownProperty) { @@ -51,7 +54,10 @@ public static InputLiteralType CreateInputLiteralType(ref Utf8JsonReader reader, value = value ?? throw new JsonException("InputConstant must have value"); - var literalType = new InputLiteralType(type, value); + var literalType = new InputLiteralType(type, value) + { + Decorators = decorators ?? [] + }; if (id != null) { 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 6798277326..38a2f883b1 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 @@ -32,6 +32,7 @@ private static InputModelProperty ReadInputModelProperty(ref Utf8JsonReader read bool isReadOnly = false; bool isRequired = false; bool isDiscriminator = false; + IReadOnlyList? decorators = null; IReadOnlyList? flattenedNames = null; while (reader.TokenType != JsonTokenType.EndObject) @@ -44,6 +45,7 @@ private static InputModelProperty ReadInputModelProperty(ref Utf8JsonReader read || 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); if (!isKnownProperty) @@ -58,7 +60,7 @@ private static InputModelProperty ReadInputModelProperty(ref Utf8JsonReader read // 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); + var property = new InputModelProperty(name, serializedName ?? name, description, propertyType, isRequired, isReadOnly, isDiscriminator, flattenedNames) { Decorators = decorators ?? [] }; if (id != null) { resolver.AddReference(id, property); diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputNullableTypeConverter.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputNullableTypeConverter.cs index e1f175a00d..747e6a1805 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputNullableTypeConverter.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputNullableTypeConverter.cs @@ -2,6 +2,7 @@ // Licensed under the MIT License. using System; +using System.Collections.Generic; using System.Text.Json; using System.Text.Json.Serialization; @@ -25,11 +26,13 @@ public static InputNullableType CreateNullableType(ref Utf8JsonReader reader, st { var isFirstProperty = id == null && name == null; InputType? valueType = null; + IReadOnlyList? decorators = null; while (reader.TokenType != JsonTokenType.EndObject) { var isKnownProperty = reader.TryReadReferenceId(ref isFirstProperty, ref id) || reader.TryReadString(nameof(InputNullableType.Name), ref name) - || reader.TryReadWithConverter(nameof(InputNullableType.Type), options, ref valueType); + || reader.TryReadWithConverter(nameof(InputNullableType.Type), options, ref valueType) + || reader.TryReadWithConverter(nameof(InputNullableType.Decorators), options, ref decorators); if (!isKnownProperty) { @@ -39,7 +42,10 @@ public static InputNullableType CreateNullableType(ref Utf8JsonReader reader, st valueType = valueType ?? throw new JsonException("InputNullableType must have value type"); - var nullableType = new InputNullableType(valueType); + var nullableType = new InputNullableType(valueType) + { + Decorators = decorators ?? [], + }; if (id != null) { resolver.AddReference(id, nullableType); diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputOperationConverter.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputOperationConverter.cs index f2500e591f..091a871e17 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputOperationConverter.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputOperationConverter.cs @@ -55,6 +55,7 @@ public override void Write(Utf8JsonWriter writer, InputOperation value, JsonSeri bool generateProtocolMethod = false; bool generateConvenienceMethod = false; string? crossLanguageDefinitionId = null; + IReadOnlyList? decorators = null; while (reader.TokenType != JsonTokenType.EndObject) { @@ -76,7 +77,8 @@ public override void Write(Utf8JsonWriter writer, InputOperation value, JsonSeri || reader.TryReadWithConverter(nameof(InputOperation.Paging), options, ref paging) || reader.TryReadBoolean(nameof(InputOperation.GenerateProtocolMethod), ref generateProtocolMethod) || reader.TryReadBoolean(nameof(InputOperation.GenerateConvenienceMethod), ref generateConvenienceMethod) - || reader.TryReadString(nameof(InputOperation.CrossLanguageDefinitionId), ref crossLanguageDefinitionId); + || reader.TryReadString(nameof(InputOperation.CrossLanguageDefinitionId), ref crossLanguageDefinitionId) + || reader.TryReadWithConverter(nameof(InputOperation.Decorators), options, ref decorators); if (!isKnownProperty) { @@ -103,6 +105,7 @@ public override void Write(Utf8JsonWriter writer, InputOperation value, JsonSeri operation.GenerateProtocolMethod = generateProtocolMethod; operation.GenerateConvenienceMethod = generateConvenienceMethod; operation.CrossLanguageDefinitionId = crossLanguageDefinitionId ?? throw new JsonException("InputOperation must have CrossLanguageDefinitionId"); + operation.Decorators = decorators ?? []; return operation; } diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputParameterConverter.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputParameterConverter.cs index 0acdef31f5..d62ba135c9 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputParameterConverter.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputParameterConverter.cs @@ -2,6 +2,7 @@ // Licensed under the MIT License. using System; +using System.Collections.Generic; using System.Text.Json; using System.Text.Json.Serialization; @@ -43,6 +44,7 @@ public static InputParameter CreateInputParameter(ref Utf8JsonReader reader, str bool explode = false; string? arraySerializationDelimiter = null; string? headerCollectionPrefix = null; + IReadOnlyList? decorators = null; while (reader.TokenType != JsonTokenType.EndObject) { var isKnownProperty = reader.TryReadReferenceId(ref isFirstProperty, ref id) @@ -61,7 +63,8 @@ public static InputParameter CreateInputParameter(ref Utf8JsonReader reader, str || reader.TryReadBoolean(nameof(InputParameter.SkipUrlEncoding), ref skipUrlEncoding) || reader.TryReadBoolean(nameof(InputParameter.Explode), ref explode) || reader.TryReadString(nameof(InputParameter.ArraySerializationDelimiter), ref arraySerializationDelimiter) - || reader.TryReadString(nameof(InputParameter.HeaderCollectionPrefix), ref headerCollectionPrefix); + || reader.TryReadString(nameof(InputParameter.HeaderCollectionPrefix), ref headerCollectionPrefix) + || reader.TryReadWithConverter(nameof(InputParameter.Decorators), options, ref decorators); if (!isKnownProperty) { @@ -106,7 +109,10 @@ public static InputParameter CreateInputParameter(ref Utf8JsonReader reader, str skipUrlEncoding: skipUrlEncoding, explode: explode, arraySerializationDelimiter: arraySerializationDelimiter, - headerCollectionPrefix: headerCollectionPrefix); + headerCollectionPrefix: headerCollectionPrefix) + { + Decorators = decorators ?? [] + }; if (id != null) { diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputPrimitiveTypeConverter.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputPrimitiveTypeConverter.cs index 0cfe43492d..81430aa502 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputPrimitiveTypeConverter.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputPrimitiveTypeConverter.cs @@ -2,6 +2,7 @@ // Licensed under the MIT License. using System; +using System.Collections.Generic; using System.Text.Json; using System.Text.Json.Serialization; @@ -28,6 +29,7 @@ public static InputPrimitiveType CreatePrimitiveType(ref Utf8JsonReader reader, string? crossLanguageDefinitionId = null; string? encode = null; InputPrimitiveType? baseType = null; + IReadOnlyList? decorators = null; while (reader.TokenType != JsonTokenType.EndObject) { var isKnownProperty = reader.TryReadReferenceId(ref isFirstProperty, ref id) @@ -35,7 +37,8 @@ public static InputPrimitiveType CreatePrimitiveType(ref Utf8JsonReader reader, || reader.TryReadString(nameof(InputPrimitiveType.Name), ref name) || reader.TryReadString(nameof(InputPrimitiveType.CrossLanguageDefinitionId), ref crossLanguageDefinitionId) || reader.TryReadString(nameof(InputPrimitiveType.Encode), ref encode) - || reader.TryReadWithConverter(nameof(InputPrimitiveType.BaseType), options, ref baseType); + || reader.TryReadWithConverter(nameof(InputPrimitiveType.BaseType), options, ref baseType) + || reader.TryReadWithConverter(nameof(InputPrimitiveType.Decorators), options, ref decorators); if (!isKnownProperty) { @@ -52,7 +55,10 @@ public static InputPrimitiveType CreatePrimitiveType(ref Utf8JsonReader reader, throw new JsonException($"Unknown primitive type kind: {kind}"); } - var primitiveType = new InputPrimitiveType(primitiveTypeKind, name, crossLanguageDefinitionId, encode, baseType); + var primitiveType = new InputPrimitiveType(primitiveTypeKind, name, crossLanguageDefinitionId, encode, baseType) + { + Decorators = decorators ?? [] + }; if (id != null) { resolver.AddReference(id, primitiveType); diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputUnionTypeConverter.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputUnionTypeConverter.cs index 3a12d56e1c..2738b739ac 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputUnionTypeConverter.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecInputUnionTypeConverter.cs @@ -36,10 +36,12 @@ public static InputUnionType CreateInputUnionType(ref Utf8JsonReader reader, str resolver.AddReference(id, union); IReadOnlyList? variantTypes = null; + IReadOnlyList? decorators = null; while (reader.TokenType != JsonTokenType.EndObject) { var isKnownProperty = reader.TryReadString(nameof(InputUnionType.Name), ref name) - || reader.TryReadWithConverter(nameof(InputUnionType.VariantTypes), options, ref variantTypes); + || reader.TryReadWithConverter(nameof(InputUnionType.VariantTypes), options, ref variantTypes) + || reader.TryReadWithConverter(nameof(InputUnionType.Decorators), options, ref decorators); if (!isKnownProperty) { @@ -53,6 +55,7 @@ public static InputUnionType CreateInputUnionType(ref Utf8JsonReader reader, str throw new JsonException("Union must have a least one union type"); } union.VariantTypes = variantTypes; + union.Decorators = decorators ?? []; return union; } } diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecSerialization.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecSerialization.cs index 157abd4ad1..268c3ab1df 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecSerialization.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp.Input/src/InputTypes/Serialization/TypeSpecSerialization.cs @@ -3,6 +3,7 @@ using System.Text.Json; using System.Text.Json.Serialization; +using AutoRest.CSharp.Common.Input; namespace Microsoft.Generator.CSharp.Input { @@ -39,6 +40,7 @@ public static class TypeSpecSerialization new TypeSpecInputDateTimeTypeConverter(referenceHandler), new TypeSpecInputDurationTypeConverter(referenceHandler), new TypeSpecInputAuthConverter(referenceHandler), + new TypeSpecInputDecoratorInfoConverter(referenceHandler), } }; diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp/test/Providers/EnumProviderTests.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp/test/Providers/EnumProviderTests.cs index a6dff57837..4fba038692 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp/test/Providers/EnumProviderTests.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp/test/Providers/EnumProviderTests.cs @@ -78,7 +78,7 @@ public void BuildEnumType_ValidateStringBasedFixedEnum() public void BuildEnumType_ValidateApiVersionEnum() { MockHelpers.LoadMockPlugin(createCSharpTypeCore: (inputType) => typeof(string)); - + string[] apiVersions = ["2024-07-16", "2024-07-17"]; var input = new InputEnumType("mockInputEnum", "mockNamespace", "public", null, "The mock enum", InputModelTypeUsage.ApiVersionEnum, InputPrimitiveType.String, [new InputEnumTypeValue(apiVersions[0], 1, null), new InputEnumTypeValue(apiVersions[1], 2, null)], false); var enumType = EnumProvider.Create(input); diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp/test/Providers/ModelFactoryProviderTests.cs b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp/test/Providers/ModelFactoryProviderTests.cs index 50332a2a14..cde85bb99b 100644 --- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp/test/Providers/ModelFactoryProviderTests.cs +++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp/test/Providers/ModelFactoryProviderTests.cs @@ -41,7 +41,7 @@ public void ListParamShape() Assert.IsNotNull(model, "Null ModelProvider found"); var method = modelFactory.Methods.FirstOrDefault(m => m.Signature.Name == model!.Name); Assert.IsNotNull(method); - foreach(var property in model!.Properties.Where(p => p.Type.IsList)) + foreach (var property in model!.Properties.Where(p => p.Type.IsList)) { var parameter = method!.Signature.Parameters.FirstOrDefault(p => p.Name == property.Name.ToVariableName()); Assert.IsNotNull(parameter); 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 b645d03efd..fbf61cce07 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 @@ -21,10 +21,12 @@ "$id": "4", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] } @@ -91,7 +93,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Authentication.ApiKey.valid" + "CrossLanguageDefinitionId": "Authentication.ApiKey.valid", + "Decorators": [] }, { "$id": "12", @@ -114,9 +117,11 @@ "$id": "15", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -124,7 +129,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ @@ -145,7 +151,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Authentication.ApiKey.invalid" + "CrossLanguageDefinitionId": "Authentication.ApiKey.invalid", + "Decorators": [] } ], "Protocol": { @@ -155,7 +162,8 @@ { "$ref": "7" } - ] + ], + "Decorators": [] } ], "Auth": { 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 92b813aca8..b4f61bc075 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 @@ -21,10 +21,12 @@ "$id": "4", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] } @@ -91,7 +93,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Authentication.Http.Custom.valid" + "CrossLanguageDefinitionId": "Authentication.Http.Custom.valid", + "Decorators": [] }, { "$id": "12", @@ -114,9 +117,11 @@ "$id": "15", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -124,7 +129,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ @@ -145,7 +151,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Authentication.Http.Custom.invalid" + "CrossLanguageDefinitionId": "Authentication.Http.Custom.invalid", + "Decorators": [] } ], "Protocol": { @@ -155,7 +162,8 @@ { "$ref": "7" } - ] + ], + "Decorators": [] } ], "Auth": { 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 dd0b3828e0..8fd3fd5942 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 @@ -21,10 +21,12 @@ "$id": "4", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] } @@ -91,7 +93,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Authentication.OAuth2.valid" + "CrossLanguageDefinitionId": "Authentication.OAuth2.valid", + "Decorators": [] }, { "$id": "12", @@ -114,9 +117,11 @@ "$id": "15", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -124,7 +129,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ @@ -145,7 +151,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Authentication.OAuth2.invalid" + "CrossLanguageDefinitionId": "Authentication.OAuth2.invalid", + "Decorators": [] } ], "Protocol": { @@ -155,7 +162,8 @@ { "$ref": "7" } - ] + ], + "Decorators": [] } ], "Auth": { diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/authentication/union/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/authentication/union/tspCodeModel.json index a559467086..45f12c08ad 100644 --- a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/authentication/union/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/authentication/union/tspCodeModel.json @@ -66,7 +66,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Authentication.Union.validKey" + "CrossLanguageDefinitionId": "Authentication.Union.validKey", + "Decorators": [] }, { "$id": "9", @@ -97,7 +98,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Authentication.Union.validToken" + "CrossLanguageDefinitionId": "Authentication.Union.validToken", + "Decorators": [] } ], "Protocol": { @@ -107,7 +109,8 @@ { "$ref": "4" } - ] + ], + "Decorators": [] } ], "Auth": { 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 8905113976..af6d594e47 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 @@ -12,17 +12,20 @@ "$id": "3", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "Values": [ { "$id": "4", "Name": "EnumValue1", - "Value": "value1" + "Value": "value1", + "Decorators": [] } ], "IsExtensible": true, - "Usage": "Input,Json" + "Usage": "Input,Json", + "Decorators": [] }, { "$id": "5", @@ -33,22 +36,26 @@ "$id": "6", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "Values": [ { "$id": "7", "Name": "ClientEnumValue1", - "Value": "value1" + "Value": "value1", + "Decorators": [] }, { "$id": "8", "Name": "ClientEnumValue2", - "Value": "value2" + "Value": "value2", + "Decorators": [] } ], "IsExtensible": true, - "Usage": "Input,Json" + "Usage": "Input,Json", + "Decorators": [] } ], "Models": [ @@ -69,10 +76,12 @@ "$id": "11", "Kind": "boolean", "Name": "boolean", - "CrossLanguageDefinitionId": "TypeSpec.boolean" + "CrossLanguageDefinitionId": "TypeSpec.boolean", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] }, @@ -93,10 +102,12 @@ "$id": "14", "Kind": "boolean", "Name": "boolean", - "CrossLanguageDefinitionId": "TypeSpec.boolean" + "CrossLanguageDefinitionId": "TypeSpec.boolean", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] }, @@ -117,10 +128,12 @@ "$id": "17", "Kind": "boolean", "Name": "boolean", - "CrossLanguageDefinitionId": "TypeSpec.boolean" + "CrossLanguageDefinitionId": "TypeSpec.boolean", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] }, @@ -141,10 +154,12 @@ "$id": "20", "Kind": "boolean", "Name": "boolean", - "CrossLanguageDefinitionId": "TypeSpec.boolean" + "CrossLanguageDefinitionId": "TypeSpec.boolean", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] }, @@ -165,10 +180,12 @@ "$id": "23", "Kind": "boolean", "Name": "boolean", - "CrossLanguageDefinitionId": "TypeSpec.boolean" + "CrossLanguageDefinitionId": "TypeSpec.boolean", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] } @@ -234,7 +251,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Client.Naming.operation" + "CrossLanguageDefinitionId": "Client.Naming.operation", + "Decorators": [] }, { "$id": "31", @@ -253,7 +271,8 @@ "$id": "33", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "Location": "Query", "IsApiVersion": false, @@ -261,7 +280,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -282,7 +302,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Client.Naming.parameter" + "CrossLanguageDefinitionId": "Client.Naming.parameter", + "Decorators": [] }, { "$id": "35", @@ -305,9 +326,11 @@ "$id": "38", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -315,7 +338,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "39", @@ -330,7 +354,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -354,7 +379,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Client.Naming.Property.client" + "CrossLanguageDefinitionId": "Client.Naming.Property.client", + "Decorators": [] }, { "$id": "41", @@ -377,9 +403,11 @@ "$id": "44", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -387,7 +415,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "45", @@ -402,7 +431,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -426,7 +456,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Client.Naming.Property.language" + "CrossLanguageDefinitionId": "Client.Naming.Property.language", + "Decorators": [] }, { "$id": "47", @@ -449,9 +480,11 @@ "$id": "50", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -459,7 +492,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "51", @@ -474,7 +508,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -498,7 +533,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Client.Naming.Property.compatibleWithEncodedName" + "CrossLanguageDefinitionId": "Client.Naming.Property.compatibleWithEncodedName", + "Decorators": [] }, { "$id": "53", @@ -517,7 +553,8 @@ "$id": "55", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -525,7 +562,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -546,7 +584,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Client.Naming.Header.request" + "CrossLanguageDefinitionId": "Client.Naming.Header.request", + "Decorators": [] }, { "$id": "57", @@ -574,7 +613,8 @@ "$id": "60", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] } } ], @@ -588,7 +628,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Client.Naming.Header.response" + "CrossLanguageDefinitionId": "Client.Naming.Header.response", + "Decorators": [] } ], "Protocol": { @@ -598,7 +639,8 @@ { "$ref": "26" } - ] + ], + "Decorators": [] }, { "$id": "62", @@ -652,9 +694,11 @@ "$id": "70", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -662,7 +706,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "71", @@ -677,7 +722,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -701,7 +747,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Client.Naming.Model.client" + "CrossLanguageDefinitionId": "Client.Naming.Model.client", + "Decorators": [] }, { "$id": "73", @@ -724,9 +771,11 @@ "$id": "76", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -734,7 +783,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "77", @@ -749,7 +799,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -773,7 +824,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Client.Naming.Model.language" + "CrossLanguageDefinitionId": "Client.Naming.Model.language", + "Decorators": [] } ], "Protocol": { @@ -784,7 +836,8 @@ { "$ref": "64" } - ] + ], + "Decorators": [] }, { "$id": "80", @@ -838,9 +891,11 @@ "$id": "88", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -848,7 +903,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "89", @@ -863,7 +919,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -887,7 +944,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Client.Naming.UnionEnum.unionEnumName" + "CrossLanguageDefinitionId": "Client.Naming.UnionEnum.unionEnumName", + "Decorators": [] }, { "$id": "91", @@ -910,9 +968,11 @@ "$id": "94", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -920,7 +980,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "95", @@ -935,7 +996,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -959,7 +1021,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Client.Naming.UnionEnum.unionEnumMemberName" + "CrossLanguageDefinitionId": "Client.Naming.UnionEnum.unionEnumMemberName", + "Decorators": [] } ], "Protocol": { @@ -970,7 +1033,8 @@ { "$ref": "82" } - ] + ], + "Decorators": [] } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/client/structure/multi-client/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/client/structure/multi-client/tspCodeModel.json index fada116d69..76eaab3b56 100644 --- a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/client/structure/multi-client/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/client/structure/multi-client/tspCodeModel.json @@ -12,32 +12,38 @@ "$id": "3", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "Values": [ { "$id": "4", "Name": "Default", - "Value": "default" + "Value": "default", + "Decorators": [] }, { "$id": "5", "Name": "MultiClient", - "Value": "multi-client" + "Value": "multi-client", + "Decorators": [] }, { "$id": "6", "Name": "RenamedOperation", - "Value": "renamed-operation" + "Value": "renamed-operation", + "Decorators": [] }, { "$id": "7", "Name": "TwoOperationGroup", - "Value": "two-operation-group" + "Value": "two-operation-group", + "Decorators": [] } ], "IsExtensible": false, - "Usage": "Input" + "Usage": "Input", + "Decorators": [] } ], "Models": [], @@ -110,7 +116,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Client.Structure.MultiClient.ClientA.renamedOne" + "CrossLanguageDefinitionId": "Client.Structure.MultiClient.ClientA.renamedOne", + "Decorators": [] }, { "$id": "14", @@ -143,7 +150,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Client.Structure.MultiClient.ClientA.renamedThree" + "CrossLanguageDefinitionId": "Client.Structure.MultiClient.ClientA.renamedThree", + "Decorators": [] }, { "$id": "16", @@ -176,7 +184,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Client.Structure.MultiClient.ClientA.renamedFive" + "CrossLanguageDefinitionId": "Client.Structure.MultiClient.ClientA.renamedFive", + "Decorators": [] } ], "Protocol": { @@ -189,7 +198,8 @@ { "$ref": "12" } - ] + ], + "Decorators": [] }, { "$id": "19", @@ -259,7 +269,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Client.Structure.MultiClient.ClientB.renamedTwo" + "CrossLanguageDefinitionId": "Client.Structure.MultiClient.ClientB.renamedTwo", + "Decorators": [] }, { "$id": "25", @@ -292,7 +303,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Client.Structure.MultiClient.ClientB.renamedFour" + "CrossLanguageDefinitionId": "Client.Structure.MultiClient.ClientB.renamedFour", + "Decorators": [] }, { "$id": "27", @@ -325,7 +337,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Client.Structure.MultiClient.ClientB.renamedSix" + "CrossLanguageDefinitionId": "Client.Structure.MultiClient.ClientB.renamedSix", + "Decorators": [] } ], "Protocol": { @@ -338,7 +351,8 @@ { "$ref": "23" } - ] + ], + "Decorators": [] } ] } 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 e25fe03fb9..b56dc3ab0a 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 @@ -22,10 +22,12 @@ "Kind": "bytes", "Name": "bytes", "Encode": "base64", - "CrossLanguageDefinitionId": "TypeSpec.bytes" + "CrossLanguageDefinitionId": "TypeSpec.bytes", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] }, @@ -47,10 +49,12 @@ "Kind": "bytes", "Name": "bytes", "Encode": "base64", - "CrossLanguageDefinitionId": "TypeSpec.bytes" + "CrossLanguageDefinitionId": "TypeSpec.bytes", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] }, @@ -72,10 +76,12 @@ "Kind": "bytes", "Name": "bytes", "Encode": "base64url", - "CrossLanguageDefinitionId": "TypeSpec.bytes" + "CrossLanguageDefinitionId": "TypeSpec.bytes", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] }, @@ -107,13 +113,17 @@ "Kind": "bytes", "Name": "bytes", "Encode": "base64", - "CrossLanguageDefinitionId": "TypeSpec.bytes" - } + "CrossLanguageDefinitionId": "TypeSpec.bytes", + "Decorators": [] + }, + "Decorators": [] }, - "CrossLanguageDefinitionId": "TypeSpec.Array" + "CrossLanguageDefinitionId": "TypeSpec.Array", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] } @@ -158,7 +168,8 @@ "Value": "http://localhost:3000" } } - ] + ], + "Decorators": [] }, { "$id": "22", @@ -209,7 +220,8 @@ "Kind": "bytes", "Name": "bytes", "Encode": "base64", - "CrossLanguageDefinitionId": "TypeSpec.bytes" + "CrossLanguageDefinitionId": "TypeSpec.bytes", + "Decorators": [] }, "Location": "Query", "IsApiVersion": false, @@ -217,7 +229,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -238,7 +251,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Encode.Bytes.Query.default" + "CrossLanguageDefinitionId": "Encode.Bytes.Query.default", + "Decorators": [] }, { "$id": "31", @@ -258,7 +272,8 @@ "Kind": "bytes", "Name": "bytes", "Encode": "base64", - "CrossLanguageDefinitionId": "TypeSpec.bytes" + "CrossLanguageDefinitionId": "TypeSpec.bytes", + "Decorators": [] }, "Location": "Query", "IsApiVersion": false, @@ -266,7 +281,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -287,7 +303,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Encode.Bytes.Query.base64" + "CrossLanguageDefinitionId": "Encode.Bytes.Query.base64", + "Decorators": [] }, { "$id": "35", @@ -307,7 +324,8 @@ "Kind": "bytes", "Name": "bytes", "Encode": "base64url", - "CrossLanguageDefinitionId": "TypeSpec.bytes" + "CrossLanguageDefinitionId": "TypeSpec.bytes", + "Decorators": [] }, "Location": "Query", "IsApiVersion": false, @@ -315,7 +333,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -336,7 +355,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Encode.Bytes.Query.base64url" + "CrossLanguageDefinitionId": "Encode.Bytes.Query.base64url", + "Decorators": [] }, { "$id": "39", @@ -366,10 +386,13 @@ "Kind": "bytes", "Name": "bytes", "Encode": "base64", - "CrossLanguageDefinitionId": "TypeSpec.bytes" - } + "CrossLanguageDefinitionId": "TypeSpec.bytes", + "Decorators": [] + }, + "Decorators": [] }, - "CrossLanguageDefinitionId": "TypeSpec.Array" + "CrossLanguageDefinitionId": "TypeSpec.Array", + "Decorators": [] }, "Location": "Query", "IsApiVersion": false, @@ -378,7 +401,8 @@ "Explode": false, "ArraySerializationDelimiter": ",", "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -399,7 +423,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Encode.Bytes.Query.base64urlArray" + "CrossLanguageDefinitionId": "Encode.Bytes.Query.base64urlArray", + "Decorators": [] } ], "Protocol": { @@ -410,7 +435,8 @@ { "$ref": "24" } - ] + ], + "Decorators": [] }, { "$id": "46", @@ -464,9 +490,11 @@ "$id": "54", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -474,7 +502,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "55", @@ -487,9 +516,11 @@ "$id": "57", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -497,7 +528,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "58", @@ -512,7 +544,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -542,7 +575,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Encode.Bytes.Property.default" + "CrossLanguageDefinitionId": "Encode.Bytes.Property.default", + "Decorators": [] }, { "$id": "60", @@ -565,9 +599,11 @@ "$id": "63", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -575,7 +611,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "64", @@ -588,9 +625,11 @@ "$id": "66", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -598,7 +637,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "67", @@ -613,7 +653,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -643,7 +684,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Encode.Bytes.Property.base64" + "CrossLanguageDefinitionId": "Encode.Bytes.Property.base64", + "Decorators": [] }, { "$id": "69", @@ -666,9 +708,11 @@ "$id": "72", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -676,7 +720,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "73", @@ -689,9 +734,11 @@ "$id": "75", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -699,7 +746,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "76", @@ -714,7 +762,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -744,7 +793,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Encode.Bytes.Property.base64url" + "CrossLanguageDefinitionId": "Encode.Bytes.Property.base64url", + "Decorators": [] }, { "$id": "78", @@ -767,9 +817,11 @@ "$id": "81", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -777,7 +829,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "82", @@ -790,9 +843,11 @@ "$id": "84", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -800,7 +855,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "85", @@ -815,7 +871,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -845,7 +902,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Encode.Bytes.Property.base64urlArray" + "CrossLanguageDefinitionId": "Encode.Bytes.Property.base64urlArray", + "Decorators": [] } ], "Protocol": { @@ -856,7 +914,8 @@ { "$ref": "48" } - ] + ], + "Decorators": [] }, { "$id": "88", @@ -907,7 +966,8 @@ "Kind": "bytes", "Name": "bytes", "Encode": "base64", - "CrossLanguageDefinitionId": "TypeSpec.bytes" + "CrossLanguageDefinitionId": "TypeSpec.bytes", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -915,7 +975,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -936,7 +997,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Encode.Bytes.Header.default" + "CrossLanguageDefinitionId": "Encode.Bytes.Header.default", + "Decorators": [] }, { "$id": "97", @@ -956,7 +1018,8 @@ "Kind": "bytes", "Name": "bytes", "Encode": "base64", - "CrossLanguageDefinitionId": "TypeSpec.bytes" + "CrossLanguageDefinitionId": "TypeSpec.bytes", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -964,7 +1027,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -985,7 +1049,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Encode.Bytes.Header.base64" + "CrossLanguageDefinitionId": "Encode.Bytes.Header.base64", + "Decorators": [] }, { "$id": "101", @@ -1005,7 +1070,8 @@ "Kind": "bytes", "Name": "bytes", "Encode": "base64url", - "CrossLanguageDefinitionId": "TypeSpec.bytes" + "CrossLanguageDefinitionId": "TypeSpec.bytes", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1013,7 +1079,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -1034,7 +1101,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Encode.Bytes.Header.base64url" + "CrossLanguageDefinitionId": "Encode.Bytes.Header.base64url", + "Decorators": [] }, { "$id": "105", @@ -1064,10 +1132,13 @@ "Kind": "bytes", "Name": "bytes", "Encode": "base64", - "CrossLanguageDefinitionId": "TypeSpec.bytes" - } + "CrossLanguageDefinitionId": "TypeSpec.bytes", + "Decorators": [] + }, + "Decorators": [] }, - "CrossLanguageDefinitionId": "TypeSpec.Array" + "CrossLanguageDefinitionId": "TypeSpec.Array", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1076,7 +1147,8 @@ "Explode": false, "ArraySerializationDelimiter": ",", "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -1097,7 +1169,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Encode.Bytes.Header.base64urlArray" + "CrossLanguageDefinitionId": "Encode.Bytes.Header.base64urlArray", + "Decorators": [] } ], "Protocol": { @@ -1108,7 +1181,8 @@ { "$ref": "90" } - ] + ], + "Decorators": [] }, { "$id": "112", @@ -1162,9 +1236,11 @@ "$id": "120", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1172,7 +1248,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "121", @@ -1183,7 +1260,8 @@ "Kind": "bytes", "Name": "bytes", "Encode": "base64", - "CrossLanguageDefinitionId": "TypeSpec.bytes" + "CrossLanguageDefinitionId": "TypeSpec.bytes", + "Decorators": [] }, "Location": "Body", "IsApiVersion": false, @@ -1191,7 +1269,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -1215,7 +1294,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Encode.Bytes.RequestBody.default" + "CrossLanguageDefinitionId": "Encode.Bytes.RequestBody.default", + "Decorators": [] }, { "$id": "124", @@ -1237,9 +1317,11 @@ "$id": "127", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/octet-stream" + "Value": "application/octet-stream", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1247,7 +1329,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "128", @@ -1258,7 +1341,8 @@ "Kind": "bytes", "Name": "bytes", "Encode": "base64", - "CrossLanguageDefinitionId": "TypeSpec.bytes" + "CrossLanguageDefinitionId": "TypeSpec.bytes", + "Decorators": [] }, "Location": "Body", "IsApiVersion": false, @@ -1266,7 +1350,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -1290,7 +1375,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Encode.Bytes.RequestBody.octetStream" + "CrossLanguageDefinitionId": "Encode.Bytes.RequestBody.octetStream", + "Decorators": [] }, { "$id": "131", @@ -1312,9 +1398,11 @@ "$id": "134", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "image/png" + "Value": "image/png", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1322,7 +1410,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "135", @@ -1333,7 +1422,8 @@ "Kind": "bytes", "Name": "bytes", "Encode": "base64", - "CrossLanguageDefinitionId": "TypeSpec.bytes" + "CrossLanguageDefinitionId": "TypeSpec.bytes", + "Decorators": [] }, "Location": "Body", "IsApiVersion": false, @@ -1341,7 +1431,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -1365,7 +1456,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Encode.Bytes.RequestBody.customContentType" + "CrossLanguageDefinitionId": "Encode.Bytes.RequestBody.customContentType", + "Decorators": [] }, { "$id": "138", @@ -1388,9 +1480,11 @@ "$id": "141", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1398,7 +1492,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "142", @@ -1409,7 +1504,8 @@ "Kind": "bytes", "Name": "bytes", "Encode": "base64", - "CrossLanguageDefinitionId": "TypeSpec.bytes" + "CrossLanguageDefinitionId": "TypeSpec.bytes", + "Decorators": [] }, "Location": "Body", "IsApiVersion": false, @@ -1417,7 +1513,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -1441,7 +1538,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Encode.Bytes.RequestBody.base64" + "CrossLanguageDefinitionId": "Encode.Bytes.RequestBody.base64", + "Decorators": [] }, { "$id": "145", @@ -1464,9 +1562,11 @@ "$id": "148", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1474,7 +1574,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "149", @@ -1485,7 +1586,8 @@ "Kind": "bytes", "Name": "bytes", "Encode": "base64url", - "CrossLanguageDefinitionId": "TypeSpec.bytes" + "CrossLanguageDefinitionId": "TypeSpec.bytes", + "Decorators": [] }, "Location": "Body", "IsApiVersion": false, @@ -1493,7 +1595,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -1517,7 +1620,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Encode.Bytes.RequestBody.base64url" + "CrossLanguageDefinitionId": "Encode.Bytes.RequestBody.base64url", + "Decorators": [] } ], "Protocol": { @@ -1528,7 +1632,8 @@ { "$ref": "114" } - ] + ], + "Decorators": [] }, { "$id": "153", @@ -1581,9 +1686,11 @@ "$id": "161", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1591,7 +1698,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ @@ -1605,7 +1713,8 @@ "Kind": "bytes", "Name": "bytes", "Encode": "base64", - "CrossLanguageDefinitionId": "TypeSpec.bytes" + "CrossLanguageDefinitionId": "TypeSpec.bytes", + "Decorators": [] }, "BodyMediaType": "Json", "Headers": [], @@ -1622,7 +1731,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Encode.Bytes.ResponseBody.default" + "CrossLanguageDefinitionId": "Encode.Bytes.ResponseBody.default", + "Decorators": [] }, { "$id": "164", @@ -1644,9 +1754,11 @@ "$id": "167", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/octet-stream" + "Value": "application/octet-stream", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1654,7 +1766,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ @@ -1668,7 +1781,8 @@ "Kind": "bytes", "Name": "bytes", "Encode": "base64", - "CrossLanguageDefinitionId": "TypeSpec.bytes" + "CrossLanguageDefinitionId": "TypeSpec.bytes", + "Decorators": [] }, "BodyMediaType": "Json", "Headers": [ @@ -1683,9 +1797,11 @@ "$id": "172", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/octet-stream" + "Value": "application/octet-stream", + "Decorators": [] } } ], @@ -1702,7 +1818,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Encode.Bytes.ResponseBody.octetStream" + "CrossLanguageDefinitionId": "Encode.Bytes.ResponseBody.octetStream", + "Decorators": [] }, { "$id": "173", @@ -1724,9 +1841,11 @@ "$id": "176", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "image/png" + "Value": "image/png", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1734,7 +1853,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ @@ -1748,7 +1868,8 @@ "Kind": "bytes", "Name": "bytes", "Encode": "base64", - "CrossLanguageDefinitionId": "TypeSpec.bytes" + "CrossLanguageDefinitionId": "TypeSpec.bytes", + "Decorators": [] }, "BodyMediaType": "Json", "Headers": [ @@ -1763,9 +1884,11 @@ "$id": "181", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "image/png" + "Value": "image/png", + "Decorators": [] } } ], @@ -1782,7 +1905,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Encode.Bytes.ResponseBody.customContentType" + "CrossLanguageDefinitionId": "Encode.Bytes.ResponseBody.customContentType", + "Decorators": [] }, { "$id": "182", @@ -1804,9 +1928,11 @@ "$id": "185", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1814,7 +1940,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ @@ -1828,7 +1955,8 @@ "Kind": "bytes", "Name": "bytes", "Encode": "base64", - "CrossLanguageDefinitionId": "TypeSpec.bytes" + "CrossLanguageDefinitionId": "TypeSpec.bytes", + "Decorators": [] }, "BodyMediaType": "Json", "Headers": [], @@ -1845,7 +1973,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Encode.Bytes.ResponseBody.base64" + "CrossLanguageDefinitionId": "Encode.Bytes.ResponseBody.base64", + "Decorators": [] }, { "$id": "188", @@ -1867,9 +1996,11 @@ "$id": "191", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1877,7 +2008,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ @@ -1897,8 +2029,10 @@ "Kind": "bytes", "Name": "bytes", "Encode": "base64", - "CrossLanguageDefinitionId": "TypeSpec.bytes" - } + "CrossLanguageDefinitionId": "TypeSpec.bytes", + "Decorators": [] + }, + "Decorators": [] }, "BodyMediaType": "Json", "Headers": [], @@ -1915,7 +2049,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Encode.Bytes.ResponseBody.base64url" + "CrossLanguageDefinitionId": "Encode.Bytes.ResponseBody.base64url", + "Decorators": [] } ], "Protocol": { @@ -1926,7 +2061,8 @@ { "$ref": "155" } - ] + ], + "Decorators": [] } ] } 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 655b5abd7c..65db89eacb 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 @@ -36,10 +36,12 @@ "$id": "6", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "7", @@ -50,15 +52,18 @@ "$id": "8", "Kind": "int32", "Name": "int32", - "CrossLanguageDefinitionId": "TypeSpec.int32" + "CrossLanguageDefinitionId": "TypeSpec.int32", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "9", @@ -73,12 +78,15 @@ "$id": "11", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "CrossLanguageDefinitionId": "TypeSpec.Array" + "CrossLanguageDefinitionId": "TypeSpec.Array", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] }, @@ -106,17 +114,21 @@ "$id": "15", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "ValueType": { "$id": "16", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" - } + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] + }, + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] }, @@ -138,29 +150,49 @@ "$id": "19", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [ + { + "$id": "20", + "name": "TypeSpec.Xml.@attribute", + "arguments": { + "$id": "21" + } + } + ] }, { - "$id": "20", + "$id": "22", "Name": "content", "SerializedName": "content", "Description": "", "Type": { - "$id": "21", + "$id": "23", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [ + { + "$id": "24", + "name": "TypeSpec.Xml.@unwrapped", + "arguments": { + "$id": "25" + } + } + ] } ] }, { - "$id": "22", + "$id": "26", "Kind": "model", "Name": "ModelWithEmptyArray", "CrossLanguageDefinitionId": "Payload.Xml.ModelWithEmptyArray", @@ -169,26 +201,28 @@ "Decorators": [], "Properties": [ { - "$id": "23", + "$id": "27", "Name": "items", "SerializedName": "items", "Description": "", "Type": { - "$id": "24", + "$id": "28", "Kind": "array", "Name": "ArraySimpleModel", "ValueType": { "$ref": "4" }, - "CrossLanguageDefinitionId": "TypeSpec.Array" + "CrossLanguageDefinitionId": "TypeSpec.Array", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] }, { - "$id": "25", + "$id": "29", "Kind": "model", "Name": "ModelWithRenamedFields", "CrossLanguageDefinitionId": "Payload.Xml.ModelWithRenamedFields", @@ -196,17 +230,17 @@ "Description": "Contains fields of the same type that have different XML representation.", "Decorators": [ { - "$id": "26", + "$id": "30", "name": "TypeSpec.Xml.@name", "arguments": { - "$id": "27", + "$id": "31", "name": "ModelWithRenamedFieldsSrc" } } ], "Properties": [ { - "$id": "28", + "$id": "32", "Name": "inputData", "SerializedName": "inputData", "Description": "", @@ -214,10 +248,20 @@ "$ref": "4" }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [ + { + "$id": "33", + "name": "TypeSpec.Xml.@name", + "arguments": { + "$id": "34", + "name": "InputData" + } + } + ] }, { - "$id": "29", + "$id": "35", "Name": "outputData", "SerializedName": "outputData", "Description": "", @@ -225,12 +269,22 @@ "$ref": "4" }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [ + { + "$id": "36", + "name": "TypeSpec.Xml.@name", + "arguments": { + "$id": "37", + "name": "OutputData" + } + } + ] } ] }, { - "$id": "30", + "$id": "38", "Kind": "model", "Name": "ModelWithRenamedArrays", "CrossLanguageDefinitionId": "Payload.Xml.ModelWithRenamedArrays", @@ -239,49 +293,80 @@ "Decorators": [], "Properties": [ { - "$id": "31", + "$id": "39", "Name": "colors", "SerializedName": "colors", "Description": "", "Type": { - "$id": "32", + "$id": "40", "Kind": "array", "Name": "Array", "ValueType": { - "$id": "33", + "$id": "41", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "CrossLanguageDefinitionId": "TypeSpec.Array" + "CrossLanguageDefinitionId": "TypeSpec.Array", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [ + { + "$id": "42", + "name": "TypeSpec.Xml.@unwrapped", + "arguments": { + "$id": "43" + } + }, + { + "$id": "44", + "name": "TypeSpec.Xml.@name", + "arguments": { + "$id": "45", + "name": "Colors" + } + } + ] }, { - "$id": "34", + "$id": "46", "Name": "counts", "SerializedName": "counts", "Description": "", "Type": { - "$id": "35", + "$id": "47", "Kind": "array", "Name": "Array", "ValueType": { - "$id": "36", + "$id": "48", "Kind": "int32", "Name": "int32", - "CrossLanguageDefinitionId": "TypeSpec.int32" + "CrossLanguageDefinitionId": "TypeSpec.int32", + "Decorators": [] }, - "CrossLanguageDefinitionId": "TypeSpec.Array" + "CrossLanguageDefinitionId": "TypeSpec.Array", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [ + { + "$id": "49", + "name": "TypeSpec.Xml.@name", + "arguments": { + "$id": "50", + "name": "Counts" + } + } + ] } ] }, { - "$id": "37", + "$id": "51", "Kind": "model", "Name": "ModelWithUnwrappedArray", "CrossLanguageDefinitionId": "Payload.Xml.ModelWithUnwrappedArray", @@ -290,49 +375,63 @@ "Decorators": [], "Properties": [ { - "$id": "38", + "$id": "52", "Name": "colors", "SerializedName": "colors", "Description": "", "Type": { - "$id": "39", + "$id": "53", "Kind": "array", "Name": "Array", "ValueType": { - "$id": "40", + "$id": "54", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "CrossLanguageDefinitionId": "TypeSpec.Array" + "CrossLanguageDefinitionId": "TypeSpec.Array", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [ + { + "$id": "55", + "name": "TypeSpec.Xml.@unwrapped", + "arguments": { + "$id": "56" + } + } + ] }, { - "$id": "41", + "$id": "57", "Name": "counts", "SerializedName": "counts", "Description": "", "Type": { - "$id": "42", + "$id": "58", "Kind": "array", "Name": "Array", "ValueType": { - "$id": "43", + "$id": "59", "Kind": "int32", "Name": "int32", - "CrossLanguageDefinitionId": "TypeSpec.int32" + "CrossLanguageDefinitionId": "TypeSpec.int32", + "Decorators": [] }, - "CrossLanguageDefinitionId": "TypeSpec.Array" + "CrossLanguageDefinitionId": "TypeSpec.Array", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] }, { - "$id": "44", + "$id": "60", "Kind": "model", "Name": "ModelWithAttributes", "CrossLanguageDefinitionId": "Payload.Xml.ModelWithAttributes", @@ -341,51 +440,73 @@ "Decorators": [], "Properties": [ { - "$id": "45", + "$id": "61", "Name": "id1", "SerializedName": "id1", "Description": "", "Type": { - "$id": "46", + "$id": "62", "Kind": "int32", "Name": "int32", - "CrossLanguageDefinitionId": "TypeSpec.int32" + "CrossLanguageDefinitionId": "TypeSpec.int32", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [ + { + "$id": "63", + "name": "TypeSpec.Xml.@attribute", + "arguments": { + "$id": "64" + } + } + ] }, { - "$id": "47", + "$id": "65", "Name": "id2", "SerializedName": "id2", "Description": "", "Type": { - "$id": "48", + "$id": "66", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [ + { + "$id": "67", + "name": "TypeSpec.Xml.@attribute", + "arguments": { + "$id": "68" + } + } + ] }, { - "$id": "49", + "$id": "69", "Name": "enabled", "SerializedName": "enabled", "Description": "", "Type": { - "$id": "50", + "$id": "70", "Kind": "boolean", "Name": "boolean", - "CrossLanguageDefinitionId": "TypeSpec.boolean" + "CrossLanguageDefinitionId": "TypeSpec.boolean", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] }, { - "$id": "51", + "$id": "71", "Kind": "model", "Name": "ModelWithOptionalField", "CrossLanguageDefinitionId": "Payload.Xml.ModelWithOptionalField", @@ -394,37 +515,41 @@ "Decorators": [], "Properties": [ { - "$id": "52", + "$id": "72", "Name": "item", "SerializedName": "item", "Description": "", "Type": { - "$id": "53", + "$id": "73", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { - "$id": "54", + "$id": "74", "Name": "value", "SerializedName": "value", "Description": "", "Type": { - "$id": "55", + "$id": "75", "Kind": "int32", "Name": "int32", - "CrossLanguageDefinitionId": "TypeSpec.int32" + "CrossLanguageDefinitionId": "TypeSpec.int32", + "Decorators": [] }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] }, { - "$id": "56", + "$id": "76", "Kind": "model", "Name": "ModelWithArrayOfModel", "CrossLanguageDefinitionId": "Payload.Xml.ModelWithArrayOfModel", @@ -433,26 +558,28 @@ "Decorators": [], "Properties": [ { - "$id": "57", + "$id": "77", "Name": "items", "SerializedName": "items", "Description": "", "Type": { - "$id": "58", + "$id": "78", "Kind": "array", "Name": "ArraySimpleModel", "ValueType": { "$ref": "4" }, - "CrossLanguageDefinitionId": "TypeSpec.Array" + "CrossLanguageDefinitionId": "TypeSpec.Array", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] }, { - "$id": "59", + "$id": "79", "Kind": "model", "Name": "ModelWithSimpleArrays", "CrossLanguageDefinitionId": "Payload.Xml.ModelWithSimpleArrays", @@ -461,64 +588,70 @@ "Decorators": [], "Properties": [ { - "$id": "60", + "$id": "80", "Name": "colors", "SerializedName": "colors", "Description": "", "Type": { - "$id": "61", + "$id": "81", "Kind": "array", "Name": "Array", "ValueType": { - "$id": "62", + "$id": "82", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "CrossLanguageDefinitionId": "TypeSpec.Array" + "CrossLanguageDefinitionId": "TypeSpec.Array", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { - "$id": "63", + "$id": "83", "Name": "counts", "SerializedName": "counts", "Description": "", "Type": { - "$id": "64", + "$id": "84", "Kind": "array", "Name": "Array", "ValueType": { - "$id": "65", + "$id": "85", "Kind": "int32", "Name": "int32", - "CrossLanguageDefinitionId": "TypeSpec.int32" + "CrossLanguageDefinitionId": "TypeSpec.int32", + "Decorators": [] }, - "CrossLanguageDefinitionId": "TypeSpec.Array" + "CrossLanguageDefinitionId": "TypeSpec.Array", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] } ], "Clients": [ { - "$id": "66", + "$id": "86", "Name": "XmlClient", "Description": "Sends and receives bodies in XML format.", "Operations": [], "Protocol": { - "$id": "67" + "$id": "87" }, "Parameters": [ { - "$id": "68", + "$id": "88", "Name": "endpoint", "NameInRequest": "endpoint", "Type": { - "$id": "69", + "$id": "89", "Kind": "url", "Name": "url", "CrossLanguageDefinitionId": "TypeSpec.url" @@ -533,9 +666,9 @@ "Explode": false, "Kind": "Client", "DefaultValue": { - "$id": "70", + "$id": "90", "Type": { - "$id": "71", + "$id": "91", "Kind": "string", "Name": "string", "CrossLanguageDefinitionId": "TypeSpec.string" @@ -543,25 +676,26 @@ "Value": "http://localhost:3000" } } - ] + ], + "Decorators": [] }, { - "$id": "72", + "$id": "92", "Name": "SimpleModelValue", "Description": "Operations for the SimpleModel type.", "Operations": [ { - "$id": "73", + "$id": "93", "Name": "get", "ResourceName": "SimpleModelValue", "Accessibility": "public", "Parameters": [ { - "$id": "74", + "$id": "94", "Name": "endpoint", "NameInRequest": "endpoint", "Type": { - "$id": "75", + "$id": "95", "Kind": "url", "Name": "url", "CrossLanguageDefinitionId": "TypeSpec.url" @@ -576,9 +710,9 @@ "Explode": false, "Kind": "Client", "DefaultValue": { - "$id": "76", + "$id": "96", "Type": { - "$id": "77", + "$id": "97", "Kind": "string", "Name": "string", "CrossLanguageDefinitionId": "TypeSpec.string" @@ -587,19 +721,21 @@ } }, { - "$id": "78", + "$id": "98", "Name": "accept", "NameInRequest": "Accept", "Type": { - "$id": "79", + "$id": "99", "Kind": "constant", "ValueType": { - "$id": "80", + "$id": "100", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -607,12 +743,13 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ { - "$id": "81", + "$id": "101", "StatusCodes": [ 200 ], @@ -622,19 +759,21 @@ "BodyMediaType": "Json", "Headers": [ { - "$id": "82", + "$id": "102", "Name": "contentType", "NameInResponse": "content-type", "Type": { - "$id": "83", + "$id": "103", "Kind": "constant", "ValueType": { - "$id": "84", + "$id": "104", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] } } ], @@ -651,31 +790,34 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.SimpleModelValue.get" + "CrossLanguageDefinitionId": "Payload.Xml.SimpleModelValue.get", + "Decorators": [] }, { - "$id": "85", + "$id": "105", "Name": "put", "ResourceName": "SimpleModelValue", "Accessibility": "public", "Parameters": [ { - "$ref": "74" + "$ref": "94" }, { - "$id": "86", + "$id": "106", "Name": "contentType", "NameInRequest": "Content-Type", "Type": { - "$id": "87", + "$id": "107", "Kind": "constant", "ValueType": { - "$id": "88", + "$id": "108", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -683,10 +825,11 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { - "$id": "89", + "$id": "109", "Name": "input", "NameInRequest": "input", "Type": { @@ -698,12 +841,13 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ { - "$id": "90", + "$id": "110", "StatusCodes": [ 204 ], @@ -722,36 +866,38 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.SimpleModelValue.put" + "CrossLanguageDefinitionId": "Payload.Xml.SimpleModelValue.put", + "Decorators": [] } ], "Protocol": { - "$id": "91" + "$id": "111" }, "Parent": "XmlClient", "Parameters": [ { - "$ref": "74" + "$ref": "94" } - ] + ], + "Decorators": [] }, { - "$id": "92", + "$id": "112", "Name": "ModelWithSimpleArraysValue", "Description": "Operations for the ModelWithSimpleArrays type.", "Operations": [ { - "$id": "93", + "$id": "113", "Name": "get", "ResourceName": "ModelWithSimpleArraysValue", "Accessibility": "public", "Parameters": [ { - "$id": "94", + "$id": "114", "Name": "endpoint", "NameInRequest": "endpoint", "Type": { - "$id": "95", + "$id": "115", "Kind": "url", "Name": "url", "CrossLanguageDefinitionId": "TypeSpec.url" @@ -766,9 +912,9 @@ "Explode": false, "Kind": "Client", "DefaultValue": { - "$id": "96", + "$id": "116", "Type": { - "$id": "97", + "$id": "117", "Kind": "string", "Name": "string", "CrossLanguageDefinitionId": "TypeSpec.string" @@ -777,19 +923,21 @@ } }, { - "$id": "98", + "$id": "118", "Name": "accept", "NameInRequest": "Accept", "Type": { - "$id": "99", + "$id": "119", "Kind": "constant", "ValueType": { - "$id": "100", + "$id": "120", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -797,34 +945,37 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ { - "$id": "101", + "$id": "121", "StatusCodes": [ 200 ], "BodyType": { - "$ref": "59" + "$ref": "79" }, "BodyMediaType": "Json", "Headers": [ { - "$id": "102", + "$id": "122", "Name": "contentType", "NameInResponse": "content-type", "Type": { - "$id": "103", + "$id": "123", "Kind": "constant", "ValueType": { - "$id": "104", + "$id": "124", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] } } ], @@ -841,31 +992,34 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.ModelWithSimpleArraysValue.get" + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithSimpleArraysValue.get", + "Decorators": [] }, { - "$id": "105", + "$id": "125", "Name": "put", "ResourceName": "ModelWithSimpleArraysValue", "Accessibility": "public", "Parameters": [ { - "$ref": "94" + "$ref": "114" }, { - "$id": "106", + "$id": "126", "Name": "contentType", "NameInRequest": "Content-Type", "Type": { - "$id": "107", + "$id": "127", "Kind": "constant", "ValueType": { - "$id": "108", + "$id": "128", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -873,14 +1027,15 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { - "$id": "109", + "$id": "129", "Name": "input", "NameInRequest": "input", "Type": { - "$ref": "59" + "$ref": "79" }, "Location": "Body", "IsApiVersion": false, @@ -888,12 +1043,13 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ { - "$id": "110", + "$id": "130", "StatusCodes": [ 204 ], @@ -912,36 +1068,38 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.ModelWithSimpleArraysValue.put" + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithSimpleArraysValue.put", + "Decorators": [] } ], "Protocol": { - "$id": "111" + "$id": "131" }, "Parent": "XmlClient", "Parameters": [ { - "$ref": "94" + "$ref": "114" } - ] + ], + "Decorators": [] }, { - "$id": "112", + "$id": "132", "Name": "ModelWithArrayOfModelValue", "Description": "Operations for the ModelWithArrayOfModel type.", "Operations": [ { - "$id": "113", + "$id": "133", "Name": "get", "ResourceName": "ModelWithArrayOfModelValue", "Accessibility": "public", "Parameters": [ { - "$id": "114", + "$id": "134", "Name": "endpoint", "NameInRequest": "endpoint", "Type": { - "$id": "115", + "$id": "135", "Kind": "url", "Name": "url", "CrossLanguageDefinitionId": "TypeSpec.url" @@ -956,9 +1114,9 @@ "Explode": false, "Kind": "Client", "DefaultValue": { - "$id": "116", + "$id": "136", "Type": { - "$id": "117", + "$id": "137", "Kind": "string", "Name": "string", "CrossLanguageDefinitionId": "TypeSpec.string" @@ -967,19 +1125,21 @@ } }, { - "$id": "118", + "$id": "138", "Name": "accept", "NameInRequest": "Accept", "Type": { - "$id": "119", + "$id": "139", "Kind": "constant", "ValueType": { - "$id": "120", + "$id": "140", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -987,34 +1147,37 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ { - "$id": "121", + "$id": "141", "StatusCodes": [ 200 ], "BodyType": { - "$ref": "56" + "$ref": "76" }, "BodyMediaType": "Json", "Headers": [ { - "$id": "122", + "$id": "142", "Name": "contentType", "NameInResponse": "content-type", "Type": { - "$id": "123", + "$id": "143", "Kind": "constant", "ValueType": { - "$id": "124", + "$id": "144", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] } } ], @@ -1031,31 +1194,34 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.ModelWithArrayOfModelValue.get" + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithArrayOfModelValue.get", + "Decorators": [] }, { - "$id": "125", + "$id": "145", "Name": "put", "ResourceName": "ModelWithArrayOfModelValue", "Accessibility": "public", "Parameters": [ { - "$ref": "114" + "$ref": "134" }, { - "$id": "126", + "$id": "146", "Name": "contentType", "NameInRequest": "Content-Type", "Type": { - "$id": "127", + "$id": "147", "Kind": "constant", "ValueType": { - "$id": "128", + "$id": "148", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1063,14 +1229,15 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { - "$id": "129", + "$id": "149", "Name": "input", "NameInRequest": "input", "Type": { - "$ref": "56" + "$ref": "76" }, "Location": "Body", "IsApiVersion": false, @@ -1078,12 +1245,13 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ { - "$id": "130", + "$id": "150", "StatusCodes": [ 204 ], @@ -1102,36 +1270,38 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.ModelWithArrayOfModelValue.put" + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithArrayOfModelValue.put", + "Decorators": [] } ], "Protocol": { - "$id": "131" + "$id": "151" }, "Parent": "XmlClient", "Parameters": [ { - "$ref": "114" + "$ref": "134" } - ] + ], + "Decorators": [] }, { - "$id": "132", + "$id": "152", "Name": "ModelWithOptionalFieldValue", "Description": "Operations for the ModelWithOptionalField type.", "Operations": [ { - "$id": "133", + "$id": "153", "Name": "get", "ResourceName": "ModelWithOptionalFieldValue", "Accessibility": "public", "Parameters": [ { - "$id": "134", + "$id": "154", "Name": "endpoint", "NameInRequest": "endpoint", "Type": { - "$id": "135", + "$id": "155", "Kind": "url", "Name": "url", "CrossLanguageDefinitionId": "TypeSpec.url" @@ -1146,9 +1316,9 @@ "Explode": false, "Kind": "Client", "DefaultValue": { - "$id": "136", + "$id": "156", "Type": { - "$id": "137", + "$id": "157", "Kind": "string", "Name": "string", "CrossLanguageDefinitionId": "TypeSpec.string" @@ -1157,19 +1327,21 @@ } }, { - "$id": "138", + "$id": "158", "Name": "accept", "NameInRequest": "Accept", "Type": { - "$id": "139", + "$id": "159", "Kind": "constant", "ValueType": { - "$id": "140", + "$id": "160", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1177,34 +1349,37 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ { - "$id": "141", + "$id": "161", "StatusCodes": [ 200 ], "BodyType": { - "$ref": "51" + "$ref": "71" }, "BodyMediaType": "Json", "Headers": [ { - "$id": "142", + "$id": "162", "Name": "contentType", "NameInResponse": "content-type", "Type": { - "$id": "143", + "$id": "163", "Kind": "constant", "ValueType": { - "$id": "144", + "$id": "164", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] } } ], @@ -1221,31 +1396,34 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.ModelWithOptionalFieldValue.get" + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithOptionalFieldValue.get", + "Decorators": [] }, { - "$id": "145", + "$id": "165", "Name": "put", "ResourceName": "ModelWithOptionalFieldValue", "Accessibility": "public", "Parameters": [ { - "$ref": "134" + "$ref": "154" }, { - "$id": "146", + "$id": "166", "Name": "contentType", "NameInRequest": "Content-Type", "Type": { - "$id": "147", + "$id": "167", "Kind": "constant", "ValueType": { - "$id": "148", + "$id": "168", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1253,14 +1431,15 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { - "$id": "149", + "$id": "169", "Name": "input", "NameInRequest": "input", "Type": { - "$ref": "51" + "$ref": "71" }, "Location": "Body", "IsApiVersion": false, @@ -1268,12 +1447,13 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ { - "$id": "150", + "$id": "170", "StatusCodes": [ 204 ], @@ -1292,36 +1472,38 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.ModelWithOptionalFieldValue.put" + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithOptionalFieldValue.put", + "Decorators": [] } ], "Protocol": { - "$id": "151" + "$id": "171" }, "Parent": "XmlClient", "Parameters": [ { - "$ref": "134" + "$ref": "154" } - ] + ], + "Decorators": [] }, { - "$id": "152", + "$id": "172", "Name": "ModelWithAttributesValue", "Description": "Operations for the ModelWithAttributes type.", "Operations": [ { - "$id": "153", + "$id": "173", "Name": "get", "ResourceName": "ModelWithAttributesValue", "Accessibility": "public", "Parameters": [ { - "$id": "154", + "$id": "174", "Name": "endpoint", "NameInRequest": "endpoint", "Type": { - "$id": "155", + "$id": "175", "Kind": "url", "Name": "url", "CrossLanguageDefinitionId": "TypeSpec.url" @@ -1336,9 +1518,9 @@ "Explode": false, "Kind": "Client", "DefaultValue": { - "$id": "156", + "$id": "176", "Type": { - "$id": "157", + "$id": "177", "Kind": "string", "Name": "string", "CrossLanguageDefinitionId": "TypeSpec.string" @@ -1347,19 +1529,21 @@ } }, { - "$id": "158", + "$id": "178", "Name": "accept", "NameInRequest": "Accept", "Type": { - "$id": "159", + "$id": "179", "Kind": "constant", "ValueType": { - "$id": "160", + "$id": "180", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1367,34 +1551,37 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ { - "$id": "161", + "$id": "181", "StatusCodes": [ 200 ], "BodyType": { - "$ref": "44" + "$ref": "60" }, "BodyMediaType": "Json", "Headers": [ { - "$id": "162", + "$id": "182", "Name": "contentType", "NameInResponse": "content-type", "Type": { - "$id": "163", + "$id": "183", "Kind": "constant", "ValueType": { - "$id": "164", + "$id": "184", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] } } ], @@ -1411,31 +1598,34 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.ModelWithAttributesValue.get" + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithAttributesValue.get", + "Decorators": [] }, { - "$id": "165", + "$id": "185", "Name": "put", "ResourceName": "ModelWithAttributesValue", "Accessibility": "public", "Parameters": [ { - "$ref": "154" + "$ref": "174" }, { - "$id": "166", + "$id": "186", "Name": "contentType", "NameInRequest": "Content-Type", "Type": { - "$id": "167", + "$id": "187", "Kind": "constant", "ValueType": { - "$id": "168", + "$id": "188", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1443,14 +1633,15 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { - "$id": "169", + "$id": "189", "Name": "input", "NameInRequest": "input", "Type": { - "$ref": "44" + "$ref": "60" }, "Location": "Body", "IsApiVersion": false, @@ -1458,12 +1649,13 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ { - "$id": "170", + "$id": "190", "StatusCodes": [ 204 ], @@ -1482,36 +1674,38 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.ModelWithAttributesValue.put" + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithAttributesValue.put", + "Decorators": [] } ], "Protocol": { - "$id": "171" + "$id": "191" }, "Parent": "XmlClient", "Parameters": [ { - "$ref": "154" + "$ref": "174" } - ] + ], + "Decorators": [] }, { - "$id": "172", + "$id": "192", "Name": "ModelWithUnwrappedArrayValue", "Description": "Operations for the ModelWithUnwrappedArray type.", "Operations": [ { - "$id": "173", + "$id": "193", "Name": "get", "ResourceName": "ModelWithUnwrappedArrayValue", "Accessibility": "public", "Parameters": [ { - "$id": "174", + "$id": "194", "Name": "endpoint", "NameInRequest": "endpoint", "Type": { - "$id": "175", + "$id": "195", "Kind": "url", "Name": "url", "CrossLanguageDefinitionId": "TypeSpec.url" @@ -1526,9 +1720,9 @@ "Explode": false, "Kind": "Client", "DefaultValue": { - "$id": "176", + "$id": "196", "Type": { - "$id": "177", + "$id": "197", "Kind": "string", "Name": "string", "CrossLanguageDefinitionId": "TypeSpec.string" @@ -1537,19 +1731,21 @@ } }, { - "$id": "178", + "$id": "198", "Name": "accept", "NameInRequest": "Accept", "Type": { - "$id": "179", + "$id": "199", "Kind": "constant", "ValueType": { - "$id": "180", + "$id": "200", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1557,34 +1753,37 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ { - "$id": "181", + "$id": "201", "StatusCodes": [ 200 ], "BodyType": { - "$ref": "37" + "$ref": "51" }, "BodyMediaType": "Json", "Headers": [ { - "$id": "182", + "$id": "202", "Name": "contentType", "NameInResponse": "content-type", "Type": { - "$id": "183", + "$id": "203", "Kind": "constant", "ValueType": { - "$id": "184", + "$id": "204", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] } } ], @@ -1601,31 +1800,34 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.ModelWithUnwrappedArrayValue.get" + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithUnwrappedArrayValue.get", + "Decorators": [] }, { - "$id": "185", + "$id": "205", "Name": "put", "ResourceName": "ModelWithUnwrappedArrayValue", "Accessibility": "public", "Parameters": [ { - "$ref": "174" + "$ref": "194" }, { - "$id": "186", + "$id": "206", "Name": "contentType", "NameInRequest": "Content-Type", "Type": { - "$id": "187", + "$id": "207", "Kind": "constant", "ValueType": { - "$id": "188", + "$id": "208", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1633,14 +1835,15 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { - "$id": "189", + "$id": "209", "Name": "input", "NameInRequest": "input", "Type": { - "$ref": "37" + "$ref": "51" }, "Location": "Body", "IsApiVersion": false, @@ -1648,12 +1851,13 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ { - "$id": "190", + "$id": "210", "StatusCodes": [ 204 ], @@ -1672,36 +1876,38 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.ModelWithUnwrappedArrayValue.put" + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithUnwrappedArrayValue.put", + "Decorators": [] } ], "Protocol": { - "$id": "191" + "$id": "211" }, "Parent": "XmlClient", "Parameters": [ { - "$ref": "174" + "$ref": "194" } - ] + ], + "Decorators": [] }, { - "$id": "192", + "$id": "212", "Name": "ModelWithRenamedArraysValue", "Description": "Operations for the ModelWithRenamedArrays type.", "Operations": [ { - "$id": "193", + "$id": "213", "Name": "get", "ResourceName": "ModelWithRenamedArraysValue", "Accessibility": "public", "Parameters": [ { - "$id": "194", + "$id": "214", "Name": "endpoint", "NameInRequest": "endpoint", "Type": { - "$id": "195", + "$id": "215", "Kind": "url", "Name": "url", "CrossLanguageDefinitionId": "TypeSpec.url" @@ -1716,9 +1922,9 @@ "Explode": false, "Kind": "Client", "DefaultValue": { - "$id": "196", + "$id": "216", "Type": { - "$id": "197", + "$id": "217", "Kind": "string", "Name": "string", "CrossLanguageDefinitionId": "TypeSpec.string" @@ -1727,19 +1933,21 @@ } }, { - "$id": "198", + "$id": "218", "Name": "accept", "NameInRequest": "Accept", "Type": { - "$id": "199", + "$id": "219", "Kind": "constant", "ValueType": { - "$id": "200", + "$id": "220", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1747,34 +1955,37 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ { - "$id": "201", + "$id": "221", "StatusCodes": [ 200 ], "BodyType": { - "$ref": "30" + "$ref": "38" }, "BodyMediaType": "Json", "Headers": [ { - "$id": "202", + "$id": "222", "Name": "contentType", "NameInResponse": "content-type", "Type": { - "$id": "203", + "$id": "223", "Kind": "constant", "ValueType": { - "$id": "204", + "$id": "224", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] } } ], @@ -1791,31 +2002,34 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.ModelWithRenamedArraysValue.get" + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithRenamedArraysValue.get", + "Decorators": [] }, { - "$id": "205", + "$id": "225", "Name": "put", "ResourceName": "ModelWithRenamedArraysValue", "Accessibility": "public", "Parameters": [ { - "$ref": "194" + "$ref": "214" }, { - "$id": "206", + "$id": "226", "Name": "contentType", "NameInRequest": "Content-Type", "Type": { - "$id": "207", + "$id": "227", "Kind": "constant", "ValueType": { - "$id": "208", + "$id": "228", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1823,14 +2037,15 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { - "$id": "209", + "$id": "229", "Name": "input", "NameInRequest": "input", "Type": { - "$ref": "30" + "$ref": "38" }, "Location": "Body", "IsApiVersion": false, @@ -1838,12 +2053,13 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ { - "$id": "210", + "$id": "230", "StatusCodes": [ 204 ], @@ -1862,36 +2078,38 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.ModelWithRenamedArraysValue.put" + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithRenamedArraysValue.put", + "Decorators": [] } ], "Protocol": { - "$id": "211" + "$id": "231" }, "Parent": "XmlClient", "Parameters": [ { - "$ref": "194" + "$ref": "214" } - ] + ], + "Decorators": [] }, { - "$id": "212", + "$id": "232", "Name": "ModelWithRenamedFieldsValue", "Description": "Operations for the ModelWithRenamedFields type.", "Operations": [ { - "$id": "213", + "$id": "233", "Name": "get", "ResourceName": "ModelWithRenamedFieldsValue", "Accessibility": "public", "Parameters": [ { - "$id": "214", + "$id": "234", "Name": "endpoint", "NameInRequest": "endpoint", "Type": { - "$id": "215", + "$id": "235", "Kind": "url", "Name": "url", "CrossLanguageDefinitionId": "TypeSpec.url" @@ -1906,9 +2124,9 @@ "Explode": false, "Kind": "Client", "DefaultValue": { - "$id": "216", + "$id": "236", "Type": { - "$id": "217", + "$id": "237", "Kind": "string", "Name": "string", "CrossLanguageDefinitionId": "TypeSpec.string" @@ -1917,19 +2135,21 @@ } }, { - "$id": "218", + "$id": "238", "Name": "accept", "NameInRequest": "Accept", "Type": { - "$id": "219", + "$id": "239", "Kind": "constant", "ValueType": { - "$id": "220", + "$id": "240", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1937,34 +2157,37 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ { - "$id": "221", + "$id": "241", "StatusCodes": [ 200 ], "BodyType": { - "$ref": "25" + "$ref": "29" }, "BodyMediaType": "Json", "Headers": [ { - "$id": "222", + "$id": "242", "Name": "contentType", "NameInResponse": "content-type", "Type": { - "$id": "223", + "$id": "243", "Kind": "constant", "ValueType": { - "$id": "224", + "$id": "244", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] } } ], @@ -1981,31 +2204,34 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.ModelWithRenamedFieldsValue.get" + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithRenamedFieldsValue.get", + "Decorators": [] }, { - "$id": "225", + "$id": "245", "Name": "put", "ResourceName": "ModelWithRenamedFieldsValue", "Accessibility": "public", "Parameters": [ { - "$ref": "214" + "$ref": "234" }, { - "$id": "226", + "$id": "246", "Name": "contentType", "NameInRequest": "Content-Type", "Type": { - "$id": "227", + "$id": "247", "Kind": "constant", "ValueType": { - "$id": "228", + "$id": "248", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2013,14 +2239,15 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { - "$id": "229", + "$id": "249", "Name": "input", "NameInRequest": "input", "Type": { - "$ref": "25" + "$ref": "29" }, "Location": "Body", "IsApiVersion": false, @@ -2028,12 +2255,13 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ { - "$id": "230", + "$id": "250", "StatusCodes": [ 204 ], @@ -2052,36 +2280,38 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.ModelWithRenamedFieldsValue.put" + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithRenamedFieldsValue.put", + "Decorators": [] } ], "Protocol": { - "$id": "231" + "$id": "251" }, "Parent": "XmlClient", "Parameters": [ { - "$ref": "214" + "$ref": "234" } - ] + ], + "Decorators": [] }, { - "$id": "232", + "$id": "252", "Name": "ModelWithEmptyArrayValue", "Description": "Operations for the ModelWithEmptyArray type.", "Operations": [ { - "$id": "233", + "$id": "253", "Name": "get", "ResourceName": "ModelWithEmptyArrayValue", "Accessibility": "public", "Parameters": [ { - "$id": "234", + "$id": "254", "Name": "endpoint", "NameInRequest": "endpoint", "Type": { - "$id": "235", + "$id": "255", "Kind": "url", "Name": "url", "CrossLanguageDefinitionId": "TypeSpec.url" @@ -2096,9 +2326,9 @@ "Explode": false, "Kind": "Client", "DefaultValue": { - "$id": "236", + "$id": "256", "Type": { - "$id": "237", + "$id": "257", "Kind": "string", "Name": "string", "CrossLanguageDefinitionId": "TypeSpec.string" @@ -2107,19 +2337,21 @@ } }, { - "$id": "238", + "$id": "258", "Name": "accept", "NameInRequest": "Accept", "Type": { - "$id": "239", + "$id": "259", "Kind": "constant", "ValueType": { - "$id": "240", + "$id": "260", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2127,34 +2359,37 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ { - "$id": "241", + "$id": "261", "StatusCodes": [ 200 ], "BodyType": { - "$ref": "22" + "$ref": "26" }, "BodyMediaType": "Json", "Headers": [ { - "$id": "242", + "$id": "262", "Name": "contentType", "NameInResponse": "content-type", "Type": { - "$id": "243", + "$id": "263", "Kind": "constant", "ValueType": { - "$id": "244", + "$id": "264", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] } } ], @@ -2171,31 +2406,34 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.ModelWithEmptyArrayValue.get" + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithEmptyArrayValue.get", + "Decorators": [] }, { - "$id": "245", + "$id": "265", "Name": "put", "ResourceName": "ModelWithEmptyArrayValue", "Accessibility": "public", "Parameters": [ { - "$ref": "234" + "$ref": "254" }, { - "$id": "246", + "$id": "266", "Name": "contentType", "NameInRequest": "Content-Type", "Type": { - "$id": "247", + "$id": "267", "Kind": "constant", "ValueType": { - "$id": "248", + "$id": "268", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2203,14 +2441,15 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { - "$id": "249", + "$id": "269", "Name": "input", "NameInRequest": "input", "Type": { - "$ref": "22" + "$ref": "26" }, "Location": "Body", "IsApiVersion": false, @@ -2218,12 +2457,13 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ { - "$id": "250", + "$id": "270", "StatusCodes": [ 204 ], @@ -2242,36 +2482,38 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.ModelWithEmptyArrayValue.put" + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithEmptyArrayValue.put", + "Decorators": [] } ], "Protocol": { - "$id": "251" + "$id": "271" }, "Parent": "XmlClient", "Parameters": [ { - "$ref": "234" + "$ref": "254" } - ] + ], + "Decorators": [] }, { - "$id": "252", + "$id": "272", "Name": "ModelWithTextValue", "Description": "Operations for the ModelWithText type.", "Operations": [ { - "$id": "253", + "$id": "273", "Name": "get", "ResourceName": "ModelWithTextValue", "Accessibility": "public", "Parameters": [ { - "$id": "254", + "$id": "274", "Name": "endpoint", "NameInRequest": "endpoint", "Type": { - "$id": "255", + "$id": "275", "Kind": "url", "Name": "url", "CrossLanguageDefinitionId": "TypeSpec.url" @@ -2286,9 +2528,9 @@ "Explode": false, "Kind": "Client", "DefaultValue": { - "$id": "256", + "$id": "276", "Type": { - "$id": "257", + "$id": "277", "Kind": "string", "Name": "string", "CrossLanguageDefinitionId": "TypeSpec.string" @@ -2297,19 +2539,21 @@ } }, { - "$id": "258", + "$id": "278", "Name": "accept", "NameInRequest": "Accept", "Type": { - "$id": "259", + "$id": "279", "Kind": "constant", "ValueType": { - "$id": "260", + "$id": "280", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2317,12 +2561,13 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ { - "$id": "261", + "$id": "281", "StatusCodes": [ 200 ], @@ -2332,19 +2577,21 @@ "BodyMediaType": "Json", "Headers": [ { - "$id": "262", + "$id": "282", "Name": "contentType", "NameInResponse": "content-type", "Type": { - "$id": "263", + "$id": "283", "Kind": "constant", "ValueType": { - "$id": "264", + "$id": "284", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] } } ], @@ -2361,31 +2608,34 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.ModelWithTextValue.get" + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithTextValue.get", + "Decorators": [] }, { - "$id": "265", + "$id": "285", "Name": "put", "ResourceName": "ModelWithTextValue", "Accessibility": "public", "Parameters": [ { - "$ref": "254" + "$ref": "274" }, { - "$id": "266", + "$id": "286", "Name": "contentType", "NameInRequest": "Content-Type", "Type": { - "$id": "267", + "$id": "287", "Kind": "constant", "ValueType": { - "$id": "268", + "$id": "288", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2393,10 +2643,11 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { - "$id": "269", + "$id": "289", "Name": "input", "NameInRequest": "input", "Type": { @@ -2408,12 +2659,13 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ { - "$id": "270", + "$id": "290", "StatusCodes": [ 204 ], @@ -2432,36 +2684,38 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.ModelWithTextValue.put" + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithTextValue.put", + "Decorators": [] } ], "Protocol": { - "$id": "271" + "$id": "291" }, "Parent": "XmlClient", "Parameters": [ { - "$ref": "254" + "$ref": "274" } - ] + ], + "Decorators": [] }, { - "$id": "272", + "$id": "292", "Name": "ModelWithDictionaryValue", "Description": "Operations for the ModelWithDictionary type.", "Operations": [ { - "$id": "273", + "$id": "293", "Name": "get", "ResourceName": "ModelWithDictionaryValue", "Accessibility": "public", "Parameters": [ { - "$id": "274", + "$id": "294", "Name": "endpoint", "NameInRequest": "endpoint", "Type": { - "$id": "275", + "$id": "295", "Kind": "url", "Name": "url", "CrossLanguageDefinitionId": "TypeSpec.url" @@ -2476,9 +2730,9 @@ "Explode": false, "Kind": "Client", "DefaultValue": { - "$id": "276", + "$id": "296", "Type": { - "$id": "277", + "$id": "297", "Kind": "string", "Name": "string", "CrossLanguageDefinitionId": "TypeSpec.string" @@ -2487,19 +2741,21 @@ } }, { - "$id": "278", + "$id": "298", "Name": "accept", "NameInRequest": "Accept", "Type": { - "$id": "279", + "$id": "299", "Kind": "constant", "ValueType": { - "$id": "280", + "$id": "300", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2507,12 +2763,13 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ { - "$id": "281", + "$id": "301", "StatusCodes": [ 200 ], @@ -2522,19 +2779,21 @@ "BodyMediaType": "Json", "Headers": [ { - "$id": "282", + "$id": "302", "Name": "contentType", "NameInResponse": "content-type", "Type": { - "$id": "283", + "$id": "303", "Kind": "constant", "ValueType": { - "$id": "284", + "$id": "304", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] } } ], @@ -2551,31 +2810,34 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.ModelWithDictionaryValue.get" + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithDictionaryValue.get", + "Decorators": [] }, { - "$id": "285", + "$id": "305", "Name": "put", "ResourceName": "ModelWithDictionaryValue", "Accessibility": "public", "Parameters": [ { - "$ref": "274" + "$ref": "294" }, { - "$id": "286", + "$id": "306", "Name": "contentType", "NameInRequest": "Content-Type", "Type": { - "$id": "287", + "$id": "307", "Kind": "constant", "ValueType": { - "$id": "288", + "$id": "308", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2583,10 +2845,11 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { - "$id": "289", + "$id": "309", "Name": "input", "NameInRequest": "input", "Type": { @@ -2598,12 +2861,13 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ { - "$id": "290", + "$id": "310", "StatusCodes": [ 204 ], @@ -2622,36 +2886,38 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.ModelWithDictionaryValue.put" + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithDictionaryValue.put", + "Decorators": [] } ], "Protocol": { - "$id": "291" + "$id": "311" }, "Parent": "XmlClient", "Parameters": [ { - "$ref": "274" + "$ref": "294" } - ] + ], + "Decorators": [] }, { - "$id": "292", + "$id": "312", "Name": "ModelWithEncodedNamesValue", "Description": "Operations for the ModelWithEncodedNames type.", "Operations": [ { - "$id": "293", + "$id": "313", "Name": "get", "ResourceName": "ModelWithEncodedNamesValue", "Accessibility": "public", "Parameters": [ { - "$id": "294", + "$id": "314", "Name": "endpoint", "NameInRequest": "endpoint", "Type": { - "$id": "295", + "$id": "315", "Kind": "url", "Name": "url", "CrossLanguageDefinitionId": "TypeSpec.url" @@ -2666,9 +2932,9 @@ "Explode": false, "Kind": "Client", "DefaultValue": { - "$id": "296", + "$id": "316", "Type": { - "$id": "297", + "$id": "317", "Kind": "string", "Name": "string", "CrossLanguageDefinitionId": "TypeSpec.string" @@ -2677,19 +2943,21 @@ } }, { - "$id": "298", + "$id": "318", "Name": "accept", "NameInRequest": "Accept", "Type": { - "$id": "299", + "$id": "319", "Kind": "constant", "ValueType": { - "$id": "300", + "$id": "320", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2697,12 +2965,13 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ { - "$id": "301", + "$id": "321", "StatusCodes": [ 200 ], @@ -2712,19 +2981,21 @@ "BodyMediaType": "Json", "Headers": [ { - "$id": "302", + "$id": "322", "Name": "contentType", "NameInResponse": "content-type", "Type": { - "$id": "303", + "$id": "323", "Kind": "constant", "ValueType": { - "$id": "304", + "$id": "324", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] } } ], @@ -2741,31 +3012,34 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.ModelWithEncodedNamesValue.get" + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithEncodedNamesValue.get", + "Decorators": [] }, { - "$id": "305", + "$id": "325", "Name": "put", "ResourceName": "ModelWithEncodedNamesValue", "Accessibility": "public", "Parameters": [ { - "$ref": "294" + "$ref": "314" }, { - "$id": "306", + "$id": "326", "Name": "contentType", "NameInRequest": "Content-Type", "Type": { - "$id": "307", + "$id": "327", "Kind": "constant", "ValueType": { - "$id": "308", + "$id": "328", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/xml" + "Value": "application/xml", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2773,10 +3047,11 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { - "$id": "309", + "$id": "329", "Name": "input", "NameInRequest": "input", "Type": { @@ -2788,12 +3063,13 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ { - "$id": "310", + "$id": "330", "StatusCodes": [ 204 ], @@ -2812,18 +3088,20 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "Payload.Xml.ModelWithEncodedNamesValue.put" + "CrossLanguageDefinitionId": "Payload.Xml.ModelWithEncodedNamesValue.put", + "Decorators": [] } ], "Protocol": { - "$id": "311" + "$id": "331" }, "Parent": "XmlClient", "Parameters": [ { - "$ref": "294" + "$ref": "314" } - ] + ], + "Decorators": [] } ] } 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 b232c3b546..83a9b21983 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 @@ -14,7 +14,8 @@ "$id": "3", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "Values": [ { @@ -27,7 +28,8 @@ "CrossLanguageDefinitionId": "", "Description": "The Thing_requiredLiteralString", "IsExtensible": true, - "Usage": "Input,Output,Json" + "Usage": "Input,Output,Json", + "Decorators": [] }, { "$id": "5", @@ -37,7 +39,8 @@ "$id": "6", "Kind": "int32", "Name": "int32", - "CrossLanguageDefinitionId": "TypeSpec.int32" + "CrossLanguageDefinitionId": "TypeSpec.int32", + "Decorators": [] }, "Values": [ { @@ -50,7 +53,8 @@ "CrossLanguageDefinitionId": "", "Description": "The Thing_requiredLiteralInt", "IsExtensible": true, - "Usage": "Input,Output,Json" + "Usage": "Input,Output,Json", + "Decorators": [] }, { "$id": "8", @@ -60,7 +64,8 @@ "$id": "9", "Kind": "float32", "Name": "float32", - "CrossLanguageDefinitionId": "TypeSpec.float32" + "CrossLanguageDefinitionId": "TypeSpec.float32", + "Decorators": [] }, "Values": [ { @@ -73,7 +78,8 @@ "CrossLanguageDefinitionId": "", "Description": "The Thing_requiredLiteralFloat", "IsExtensible": true, - "Usage": "Input,Output,Json" + "Usage": "Input,Output,Json", + "Decorators": [] }, { "$id": "11", @@ -83,7 +89,8 @@ "$id": "12", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "Values": [ { @@ -96,7 +103,8 @@ "CrossLanguageDefinitionId": "", "Description": "The Thing_optionalLiteralString", "IsExtensible": true, - "Usage": "Input,Output,Json" + "Usage": "Input,Output,Json", + "Decorators": [] }, { "$id": "14", @@ -106,7 +114,8 @@ "$id": "15", "Kind": "int32", "Name": "int32", - "CrossLanguageDefinitionId": "TypeSpec.int32" + "CrossLanguageDefinitionId": "TypeSpec.int32", + "Decorators": [] }, "Values": [ { @@ -119,7 +128,8 @@ "CrossLanguageDefinitionId": "", "Description": "The Thing_optionalLiteralInt", "IsExtensible": true, - "Usage": "Input,Output,Json" + "Usage": "Input,Output,Json", + "Decorators": [] }, { "$id": "17", @@ -129,7 +139,8 @@ "$id": "18", "Kind": "float32", "Name": "float32", - "CrossLanguageDefinitionId": "TypeSpec.float32" + "CrossLanguageDefinitionId": "TypeSpec.float32", + "Decorators": [] }, "Values": [ { @@ -142,7 +153,8 @@ "CrossLanguageDefinitionId": "", "Description": "The Thing_optionalLiteralFloat", "IsExtensible": true, - "Usage": "Input,Output,Json" + "Usage": "Input,Output,Json", + "Decorators": [] }, { "$id": "20", @@ -153,28 +165,33 @@ "$id": "21", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "Values": [ { "$id": "22", "Name": "One", - "Value": "1" + "Value": "1", + "Decorators": [] }, { "$id": "23", "Name": "Two", - "Value": "2" + "Value": "2", + "Decorators": [] }, { "$id": "24", "Name": "Four", - "Value": "4" + "Value": "4", + "Decorators": [] } ], "Description": "Simple enum", "IsExtensible": false, - "Usage": "Input,Output,Json" + "Usage": "Input,Output,Json", + "Decorators": [] }, { "$id": "25", @@ -185,28 +202,33 @@ "$id": "26", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "Values": [ { "$id": "27", "Name": "One", - "Value": "1" + "Value": "1", + "Decorators": [] }, { "$id": "28", "Name": "Two", - "Value": "2" + "Value": "2", + "Decorators": [] }, { "$id": "29", "Name": "Four", - "Value": "4" + "Value": "4", + "Decorators": [] } ], "Description": "Extensible enum", "IsExtensible": true, - "Usage": "Input,Output,Json" + "Usage": "Input,Output,Json", + "Decorators": [] }, { "$id": "30", @@ -217,28 +239,33 @@ "$id": "31", "Kind": "int32", "Name": "int32", - "CrossLanguageDefinitionId": "TypeSpec.int32" + "CrossLanguageDefinitionId": "TypeSpec.int32", + "Decorators": [] }, "Values": [ { "$id": "32", "Name": "One", - "Value": 1 + "Value": 1, + "Decorators": [] }, { "$id": "33", "Name": "Two", - "Value": 2 + "Value": 2, + "Decorators": [] }, { "$id": "34", "Name": "Four", - "Value": 4 + "Value": 4, + "Decorators": [] } ], "Description": "Int based extensible enum", "IsExtensible": true, - "Usage": "Input,Output,Json" + "Usage": "Input,Output,Json", + "Decorators": [] }, { "$id": "35", @@ -249,28 +276,33 @@ "$id": "36", "Kind": "float32", "Name": "float32", - "CrossLanguageDefinitionId": "TypeSpec.float32" + "CrossLanguageDefinitionId": "TypeSpec.float32", + "Decorators": [] }, "Values": [ { "$id": "37", "Name": "OneDotOne", - "Value": 1.1 + "Value": 1.1, + "Decorators": [] }, { "$id": "38", "Name": "TwoDotTwo", - "Value": 2.2 + "Value": 2.2, + "Decorators": [] }, { "$id": "39", "Name": "FourDotFour", - "Value": 4.4 + "Value": 4.4, + "Decorators": [] } ], "Description": "Float based extensible enum", "IsExtensible": true, - "Usage": "Input,Output,Json" + "Usage": "Input,Output,Json", + "Decorators": [] }, { "$id": "40", @@ -281,28 +313,33 @@ "$id": "41", "Kind": "float32", "Name": "float32", - "CrossLanguageDefinitionId": "TypeSpec.float32" + "CrossLanguageDefinitionId": "TypeSpec.float32", + "Decorators": [] }, "Values": [ { "$id": "42", "Name": "One", - "Value": 1 + "Value": 1, + "Decorators": [] }, { "$id": "43", "Name": "Two", - "Value": 2 + "Value": 2, + "Decorators": [] }, { "$id": "44", "Name": "Four", - "Value": 4 + "Value": 4, + "Decorators": [] } ], "Description": "float fixed enum", "IsExtensible": true, - "Usage": "Input,Output,Json" + "Usage": "Input,Output,Json", + "Decorators": [] }, { "$id": "45", @@ -313,28 +350,33 @@ "$id": "46", "Kind": "float32", "Name": "float32", - "CrossLanguageDefinitionId": "TypeSpec.float32" + "CrossLanguageDefinitionId": "TypeSpec.float32", + "Decorators": [] }, "Values": [ { "$id": "47", "Name": "OneDotOne", - "Value": 1.1 + "Value": 1.1, + "Decorators": [] }, { "$id": "48", "Name": "TwoDotTwo", - "Value": 2.2 + "Value": 2.2, + "Decorators": [] }, { "$id": "49", "Name": "FourDotFour", - "Value": 4.4 + "Value": 4.4, + "Decorators": [] } ], "Description": "float fixed enum", "IsExtensible": false, - "Usage": "Input,Output,Json" + "Usage": "Input,Output,Json", + "Decorators": [] }, { "$id": "50", @@ -345,28 +387,33 @@ "$id": "51", "Kind": "int32", "Name": "int32", - "CrossLanguageDefinitionId": "TypeSpec.int32" + "CrossLanguageDefinitionId": "TypeSpec.int32", + "Decorators": [] }, "Values": [ { "$id": "52", "Name": "One", - "Value": 1 + "Value": 1, + "Decorators": [] }, { "$id": "53", "Name": "Two", - "Value": 2 + "Value": 2, + "Decorators": [] }, { "$id": "54", "Name": "Four", - "Value": 4 + "Value": 4, + "Decorators": [] } ], "Description": "float fixed enum", "IsExtensible": false, - "Usage": "Input,Output,Json" + "Usage": "Input,Output,Json", + "Decorators": [] }, { "$id": "55", @@ -377,28 +424,33 @@ "$id": "56", "Kind": "int32", "Name": "int32", - "CrossLanguageDefinitionId": "TypeSpec.int32" + "CrossLanguageDefinitionId": "TypeSpec.int32", + "Decorators": [] }, "Values": [ { "$id": "57", "Name": "One", - "Value": 1 + "Value": 1, + "Decorators": [] }, { "$id": "58", "Name": "Two", - "Value": 2 + "Value": 2, + "Decorators": [] }, { "$id": "59", "Name": "Four", - "Value": 4 + "Value": 4, + "Decorators": [] } ], "Description": "int fixed enum", "IsExtensible": false, - "Usage": "Input,Output,Json" + "Usage": "Input,Output,Json", + "Decorators": [] }, { "$id": "60", @@ -408,7 +460,8 @@ "$id": "61", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "Values": [ { @@ -421,7 +474,8 @@ "CrossLanguageDefinitionId": "", "Description": "The AnonymousBodyRequest_requiredLiteralString", "IsExtensible": true, - "Usage": "Spread,Json" + "Usage": "Spread,Json", + "Decorators": [] }, { "$id": "63", @@ -431,7 +485,8 @@ "$id": "64", "Kind": "int32", "Name": "int32", - "CrossLanguageDefinitionId": "TypeSpec.int32" + "CrossLanguageDefinitionId": "TypeSpec.int32", + "Decorators": [] }, "Values": [ { @@ -444,7 +499,8 @@ "CrossLanguageDefinitionId": "", "Description": "The AnonymousBodyRequest_requiredLiteralInt", "IsExtensible": true, - "Usage": "Spread,Json" + "Usage": "Spread,Json", + "Decorators": [] }, { "$id": "66", @@ -454,7 +510,8 @@ "$id": "67", "Kind": "float32", "Name": "float32", - "CrossLanguageDefinitionId": "TypeSpec.float32" + "CrossLanguageDefinitionId": "TypeSpec.float32", + "Decorators": [] }, "Values": [ { @@ -467,7 +524,8 @@ "CrossLanguageDefinitionId": "", "Description": "The AnonymousBodyRequest_requiredLiteralFloat", "IsExtensible": true, - "Usage": "Spread,Json" + "Usage": "Spread,Json", + "Decorators": [] }, { "$id": "69", @@ -477,7 +535,8 @@ "$id": "70", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "Values": [ { @@ -490,7 +549,8 @@ "CrossLanguageDefinitionId": "", "Description": "The AnonymousBodyRequest_optionalLiteralString", "IsExtensible": true, - "Usage": "Spread,Json" + "Usage": "Spread,Json", + "Decorators": [] }, { "$id": "72", @@ -500,7 +560,8 @@ "$id": "73", "Kind": "int32", "Name": "int32", - "CrossLanguageDefinitionId": "TypeSpec.int32" + "CrossLanguageDefinitionId": "TypeSpec.int32", + "Decorators": [] }, "Values": [ { @@ -513,7 +574,8 @@ "CrossLanguageDefinitionId": "", "Description": "The AnonymousBodyRequest_optionalLiteralInt", "IsExtensible": true, - "Usage": "Spread,Json" + "Usage": "Spread,Json", + "Decorators": [] }, { "$id": "75", @@ -523,7 +585,8 @@ "$id": "76", "Kind": "float32", "Name": "float32", - "CrossLanguageDefinitionId": "TypeSpec.float32" + "CrossLanguageDefinitionId": "TypeSpec.float32", + "Decorators": [] }, "Values": [ { @@ -536,7 +599,8 @@ "CrossLanguageDefinitionId": "", "Description": "The AnonymousBodyRequest_optionalLiteralFloat", "IsExtensible": true, - "Usage": "Spread,Json" + "Usage": "Spread,Json", + "Decorators": [] }, { "$id": "78", @@ -547,22 +611,26 @@ "$id": "79", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "Values": [ { "$id": "80", "Name": "2024-07-16-preview", - "Value": "2024-07-16-preview" + "Value": "2024-07-16-preview", + "Decorators": [] }, { "$id": "81", "Name": "2024-08-16-preview", - "Value": "2024-08-16-preview" + "Value": "2024-08-16-preview", + "Decorators": [] } ], "IsExtensible": false, - "Usage": "ApiVersionEnum" + "Usage": "ApiVersionEnum", + "Decorators": [] } ], "Models": [ @@ -584,10 +652,12 @@ "$id": "84", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "85", @@ -603,7 +673,8 @@ "$id": "87", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, { "$id": "88", @@ -613,20 +684,25 @@ "$id": "89", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "CrossLanguageDefinitionId": "TypeSpec.Array" + "CrossLanguageDefinitionId": "TypeSpec.Array", + "Decorators": [] }, { "$id": "90", "Kind": "int32", "Name": "int32", - "CrossLanguageDefinitionId": "TypeSpec.int32" + "CrossLanguageDefinitionId": "TypeSpec.int32", + "Decorators": [] } - ] + ], + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "91", @@ -639,10 +715,12 @@ "ValueType": { "$ref": "2" }, - "Value": "accept" + "Value": "accept", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "93", @@ -655,10 +733,12 @@ "ValueType": { "$ref": "5" }, - "Value": 123 + "Value": 123, + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "95", @@ -671,10 +751,12 @@ "ValueType": { "$ref": "8" }, - "Value": 1.23 + "Value": 1.23, + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "97", @@ -688,12 +770,15 @@ "$id": "99", "Kind": "boolean", "Name": "boolean", - "CrossLanguageDefinitionId": "TypeSpec.boolean" + "CrossLanguageDefinitionId": "TypeSpec.boolean", + "Decorators": [] }, - "Value": false + "Value": false, + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "100", @@ -706,10 +791,12 @@ "ValueType": { "$ref": "11" }, - "Value": "reject" + "Value": "reject", + "Decorators": [] }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "102", @@ -722,10 +809,12 @@ "ValueType": { "$ref": "14" }, - "Value": 456 + "Value": 456, + "Decorators": [] }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "104", @@ -738,10 +827,12 @@ "ValueType": { "$ref": "17" }, - "Value": 4.56 + "Value": 4.56, + "Decorators": [] }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "106", @@ -755,12 +846,15 @@ "$id": "108", "Kind": "boolean", "Name": "boolean", - "CrossLanguageDefinitionId": "TypeSpec.boolean" + "CrossLanguageDefinitionId": "TypeSpec.boolean", + "Decorators": [] }, - "Value": true + "Value": true, + "Decorators": [] }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "109", @@ -771,10 +865,12 @@ "$id": "110", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "111", @@ -792,13 +888,16 @@ "$id": "114", "Kind": "int32", "Name": "int32", - "CrossLanguageDefinitionId": "TypeSpec.int32" + "CrossLanguageDefinitionId": "TypeSpec.int32", + "Decorators": [] }, - "CrossLanguageDefinitionId": "TypeSpec.Array" + "CrossLanguageDefinitionId": "TypeSpec.Array", + "Decorators": [] } }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "115", @@ -816,13 +915,16 @@ "$id": "118", "Kind": "int32", "Name": "int32", - "CrossLanguageDefinitionId": "TypeSpec.int32" + "CrossLanguageDefinitionId": "TypeSpec.int32", + "Decorators": [] }, - "CrossLanguageDefinitionId": "TypeSpec.Array" + "CrossLanguageDefinitionId": "TypeSpec.Array", + "Decorators": [] } }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] }, @@ -844,10 +946,12 @@ "$id": "121", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "122", @@ -858,10 +962,12 @@ "$id": "123", "Kind": "int32", "Name": "int32", - "CrossLanguageDefinitionId": "TypeSpec.int32" + "CrossLanguageDefinitionId": "TypeSpec.int32", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "124", @@ -875,10 +981,12 @@ "ValueType": { "$ref": "20" }, - "CrossLanguageDefinitionId": "TypeSpec.Array" + "CrossLanguageDefinitionId": "TypeSpec.Array", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "126", @@ -892,14 +1000,17 @@ "$id": "128", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "ValueType": { "$ref": "25" - } + }, + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "129", @@ -910,7 +1021,8 @@ "$ref": "82" }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "130", @@ -921,7 +1033,8 @@ "$ref": "30" }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "131", @@ -935,10 +1048,12 @@ "ValueType": { "$ref": "30" }, - "CrossLanguageDefinitionId": "TypeSpec.Array" + "CrossLanguageDefinitionId": "TypeSpec.Array", + "Decorators": [] }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "133", @@ -949,7 +1064,8 @@ "$ref": "35" }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "134", @@ -960,7 +1076,8 @@ "$ref": "40" }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "135", @@ -974,10 +1091,12 @@ "ValueType": { "$ref": "35" }, - "CrossLanguageDefinitionId": "TypeSpec.Array" + "CrossLanguageDefinitionId": "TypeSpec.Array", + "Decorators": [] }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "137", @@ -988,7 +1107,8 @@ "$ref": "45" }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "138", @@ -999,7 +1119,8 @@ "$ref": "50" }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "139", @@ -1013,10 +1134,12 @@ "ValueType": { "$ref": "45" }, - "CrossLanguageDefinitionId": "TypeSpec.Array" + "CrossLanguageDefinitionId": "TypeSpec.Array", + "Decorators": [] }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "141", @@ -1027,7 +1150,8 @@ "$ref": "55" }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "142", @@ -1041,10 +1165,12 @@ "ValueType": { "$ref": "55" }, - "CrossLanguageDefinitionId": "TypeSpec.Array" + "CrossLanguageDefinitionId": "TypeSpec.Array", + "Decorators": [] }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "144", @@ -1055,7 +1181,8 @@ "$ref": "20" }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "145", @@ -1066,10 +1193,12 @@ "$id": "146", "Kind": "any", "Name": "unknown", - "CrossLanguageDefinitionId": "" + "CrossLanguageDefinitionId": "", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "147", @@ -1080,10 +1209,12 @@ "$id": "148", "Kind": "any", "Name": "unknown", - "CrossLanguageDefinitionId": "" + "CrossLanguageDefinitionId": "", + "Decorators": [] }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "149", @@ -1097,17 +1228,21 @@ "$id": "151", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "ValueType": { "$id": "152", "Kind": "any", "Name": "unknown", - "CrossLanguageDefinitionId": "" - } + "CrossLanguageDefinitionId": "", + "Decorators": [] + }, + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "153", @@ -1121,17 +1256,21 @@ "$id": "155", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "ValueType": { "$id": "156", "Kind": "any", "Name": "unknown", - "CrossLanguageDefinitionId": "" - } + "CrossLanguageDefinitionId": "", + "Decorators": [] + }, + "Decorators": [] }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "157", @@ -1145,17 +1284,21 @@ "$id": "159", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "ValueType": { "$id": "160", "Kind": "any", "Name": "unknown", - "CrossLanguageDefinitionId": "" - } + "CrossLanguageDefinitionId": "", + "Decorators": [] + }, + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": true + "IsReadOnly": true, + "Decorators": [] }, { "$id": "161", @@ -1169,17 +1312,21 @@ "$id": "163", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "ValueType": { "$id": "164", "Kind": "any", "Name": "unknown", - "CrossLanguageDefinitionId": "" - } + "CrossLanguageDefinitionId": "", + "Decorators": [] + }, + "Decorators": [] }, "IsRequired": false, - "IsReadOnly": true + "IsReadOnly": true, + "Decorators": [] }, { "$id": "165", @@ -1207,11 +1354,13 @@ "$id": "169", "Kind": "int32", "Name": "int32", - "CrossLanguageDefinitionId": "TypeSpec.int32" + "CrossLanguageDefinitionId": "TypeSpec.int32", + "Decorators": [] } }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "170", @@ -1226,7 +1375,8 @@ } }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "172", @@ -1241,12 +1391,14 @@ } }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "174", @@ -1258,10 +1410,12 @@ "Kind": "bytes", "Name": "bytes", "Encode": "base64", - "CrossLanguageDefinitionId": "TypeSpec.bytes" + "CrossLanguageDefinitionId": "TypeSpec.bytes", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] }, @@ -1285,10 +1439,12 @@ "$id": "178", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "179", @@ -1304,7 +1460,8 @@ "$id": "181", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, { "$id": "182", @@ -1314,20 +1471,25 @@ "$id": "183", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "CrossLanguageDefinitionId": "TypeSpec.Array" + "CrossLanguageDefinitionId": "TypeSpec.Array", + "Decorators": [] }, { "$id": "184", "Kind": "int32", "Name": "int32", - "CrossLanguageDefinitionId": "TypeSpec.int32" + "CrossLanguageDefinitionId": "TypeSpec.int32", + "Decorators": [] } - ] + ], + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "185", @@ -1340,10 +1502,12 @@ "ValueType": { "$ref": "60" }, - "Value": "accept" + "Value": "accept", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "187", @@ -1356,10 +1520,12 @@ "ValueType": { "$ref": "63" }, - "Value": 123 + "Value": 123, + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "189", @@ -1372,10 +1538,12 @@ "ValueType": { "$ref": "66" }, - "Value": 1.23 + "Value": 1.23, + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "191", @@ -1389,12 +1557,15 @@ "$id": "193", "Kind": "boolean", "Name": "boolean", - "CrossLanguageDefinitionId": "TypeSpec.boolean" + "CrossLanguageDefinitionId": "TypeSpec.boolean", + "Decorators": [] }, - "Value": false + "Value": false, + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "194", @@ -1407,10 +1578,12 @@ "ValueType": { "$ref": "69" }, - "Value": "reject" + "Value": "reject", + "Decorators": [] }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "196", @@ -1423,10 +1596,12 @@ "ValueType": { "$ref": "72" }, - "Value": 456 + "Value": 456, + "Decorators": [] }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "198", @@ -1439,10 +1614,12 @@ "ValueType": { "$ref": "75" }, - "Value": 4.56 + "Value": 4.56, + "Decorators": [] }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "200", @@ -1456,12 +1633,15 @@ "$id": "202", "Kind": "boolean", "Name": "boolean", - "CrossLanguageDefinitionId": "TypeSpec.boolean" + "CrossLanguageDefinitionId": "TypeSpec.boolean", + "Decorators": [] }, - "Value": true + "Value": true, + "Decorators": [] }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "203", @@ -1472,10 +1652,12 @@ "$id": "204", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "205", @@ -1493,13 +1675,16 @@ "$id": "208", "Kind": "int32", "Name": "int32", - "CrossLanguageDefinitionId": "TypeSpec.int32" + "CrossLanguageDefinitionId": "TypeSpec.int32", + "Decorators": [] }, - "CrossLanguageDefinitionId": "TypeSpec.Array" + "CrossLanguageDefinitionId": "TypeSpec.Array", + "Decorators": [] } }, "IsRequired": false, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] }, { "$id": "209", @@ -1517,13 +1702,16 @@ "$id": "212", "Kind": "int32", "Name": "int32", - "CrossLanguageDefinitionId": "TypeSpec.int32" + "CrossLanguageDefinitionId": "TypeSpec.int32", + "Decorators": [] }, - "CrossLanguageDefinitionId": "TypeSpec.Array" + "CrossLanguageDefinitionId": "TypeSpec.Array", + "Decorators": [] } }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] }, @@ -1544,10 +1732,12 @@ "$id": "215", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] }, @@ -1569,10 +1759,12 @@ "$id": "218", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] }, @@ -1593,10 +1785,12 @@ "$id": "221", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] }, @@ -1618,10 +1812,12 @@ "$id": "224", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "IsRequired": true, - "IsReadOnly": false + "IsReadOnly": false, + "Decorators": [] } ] }, @@ -1676,7 +1872,8 @@ "$id": "231", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1684,7 +1881,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] }, { "$id": "232", @@ -1694,7 +1892,8 @@ "$id": "233", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "Location": "Query", "IsApiVersion": false, @@ -1702,7 +1901,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] }, { "$id": "234", @@ -1712,7 +1912,8 @@ "$id": "235", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "Location": "Query", "IsApiVersion": false, @@ -1720,7 +1921,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": false, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] }, { "$id": "236", @@ -1733,9 +1935,11 @@ "$id": "238", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1743,7 +1947,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ @@ -1770,7 +1975,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "UnbrandedTypeSpec.sayHi" + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.sayHi", + "Decorators": [] }, { "$id": "240", @@ -1790,7 +1996,8 @@ "$id": "242", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1798,7 +2005,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] }, { "$id": "243", @@ -1811,9 +2019,11 @@ "$id": "245", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "text/plain" + "Value": "text/plain", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1821,7 +2031,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "246", @@ -1831,7 +2042,8 @@ "$id": "247", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "Location": "Path", "IsApiVersion": false, @@ -1839,7 +2051,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] }, { "$id": "248", @@ -1852,9 +2065,11 @@ "$id": "250", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1862,7 +2077,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "251", @@ -1877,7 +2093,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -1907,7 +2124,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "UnbrandedTypeSpec.helloAgain" + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.helloAgain", + "Decorators": [] }, { "$id": "253", @@ -1927,7 +2145,8 @@ "$id": "255", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1935,7 +2154,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] }, { "$id": "256", @@ -1945,7 +2165,8 @@ "$id": "257", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "Location": "Path", "IsApiVersion": false, @@ -1953,7 +2174,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] }, { "$id": "258", @@ -1967,9 +2189,11 @@ "$id": "260", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -1977,7 +2201,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "261", @@ -1990,9 +2215,11 @@ "$id": "263", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2000,7 +2227,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "264", @@ -2015,7 +2243,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -2045,7 +2274,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": false, - "CrossLanguageDefinitionId": "UnbrandedTypeSpec.noContentType" + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.noContentType", + "Decorators": [] }, { "$id": "266", @@ -2068,9 +2298,11 @@ "$id": "269", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2078,7 +2310,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ @@ -2105,7 +2338,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "UnbrandedTypeSpec.helloDemo2" + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.helloDemo2", + "Decorators": [] }, { "$id": "271", @@ -2129,9 +2363,11 @@ "$id": "274", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2139,7 +2375,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "275", @@ -2152,9 +2389,11 @@ "$id": "277", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2162,7 +2401,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "278", @@ -2177,7 +2417,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -2207,7 +2448,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "UnbrandedTypeSpec.createLiteral" + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.createLiteral", + "Decorators": [] }, { "$id": "280", @@ -2230,9 +2472,11 @@ "$id": "283", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "test" + "Value": "test", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2240,7 +2484,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "284", @@ -2253,9 +2498,11 @@ "$id": "286", "Kind": "int32", "Name": "int32", - "CrossLanguageDefinitionId": "TypeSpec.int32" + "CrossLanguageDefinitionId": "TypeSpec.int32", + "Decorators": [] }, - "Value": 123 + "Value": 123, + "Decorators": [] }, "Location": "Path", "IsApiVersion": false, @@ -2263,7 +2510,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "287", @@ -2276,9 +2524,11 @@ "$id": "289", "Kind": "boolean", "Name": "boolean", - "CrossLanguageDefinitionId": "TypeSpec.boolean" + "CrossLanguageDefinitionId": "TypeSpec.boolean", + "Decorators": [] }, - "Value": true + "Value": true, + "Decorators": [] }, "Location": "Query", "IsApiVersion": false, @@ -2286,7 +2536,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "290", @@ -2299,9 +2550,11 @@ "$id": "292", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2309,7 +2562,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ @@ -2336,7 +2590,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "UnbrandedTypeSpec.helloLiteral" + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.helloLiteral", + "Decorators": [] }, { "$id": "294", @@ -2361,9 +2616,11 @@ "$id": "297", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "CrossLanguageDefinitionId": "TypeSpec.utcDateTime" + "CrossLanguageDefinitionId": "TypeSpec.utcDateTime", + "Decorators": [] }, "Location": "Path", "IsApiVersion": false, @@ -2371,7 +2628,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] }, { "$id": "298", @@ -2384,9 +2642,11 @@ "$id": "300", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2394,7 +2654,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ @@ -2421,7 +2682,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "UnbrandedTypeSpec.topAction" + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.topAction", + "Decorators": [] }, { "$id": "302", @@ -2444,9 +2706,11 @@ "$id": "305", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2454,7 +2718,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ @@ -2481,7 +2746,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": false, - "CrossLanguageDefinitionId": "UnbrandedTypeSpec.topAction2" + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.topAction2", + "Decorators": [] }, { "$id": "307", @@ -2505,9 +2771,11 @@ "$id": "310", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2515,7 +2783,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "311", @@ -2528,9 +2797,11 @@ "$id": "313", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2538,7 +2809,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "314", @@ -2553,7 +2825,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -2583,7 +2856,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": false, - "CrossLanguageDefinitionId": "UnbrandedTypeSpec.patchAction" + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.patchAction", + "Decorators": [] }, { "$id": "316", @@ -2607,9 +2881,11 @@ "$id": "319", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2617,7 +2893,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "320", @@ -2630,9 +2907,11 @@ "$id": "322", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2640,7 +2919,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "323", @@ -2655,7 +2935,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Spread" + "Kind": "Spread", + "Decorators": [] } ], "Responses": [ @@ -2685,7 +2966,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "UnbrandedTypeSpec.anonymousBody" + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.anonymousBody", + "Decorators": [] }, { "$id": "325", @@ -2709,9 +2991,11 @@ "$id": "328", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2719,7 +3003,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "329", @@ -2732,9 +3017,11 @@ "$id": "331", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2742,7 +3029,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "332", @@ -2757,7 +3045,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Spread" + "Kind": "Spread", + "Decorators": [] } ], "Responses": [ @@ -2787,7 +3076,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "UnbrandedTypeSpec.friendlyModel" + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.friendlyModel", + "Decorators": [] }, { "$id": "334", @@ -2811,9 +3101,11 @@ "$id": "337", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "CrossLanguageDefinitionId": "TypeSpec.utcDateTime" + "CrossLanguageDefinitionId": "TypeSpec.utcDateTime", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2821,7 +3113,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": false, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -2842,7 +3135,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "UnbrandedTypeSpec.addTimeHeader" + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.addTimeHeader", + "Decorators": [] }, { "$id": "339", @@ -2866,9 +3160,11 @@ "$id": "342", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2876,7 +3172,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "343", @@ -2889,9 +3186,11 @@ "$id": "345", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2899,7 +3198,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "346", @@ -2914,7 +3214,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Spread" + "Kind": "Spread", + "Decorators": [] } ], "Responses": [ @@ -2944,7 +3245,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "UnbrandedTypeSpec.projectedNameModel" + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.projectedNameModel", + "Decorators": [] }, { "$id": "348", @@ -2967,9 +3269,11 @@ "$id": "351", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -2977,7 +3281,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] } ], "Responses": [ @@ -3004,7 +3309,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "UnbrandedTypeSpec.returnsAnonymousModel" + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.returnsAnonymousModel", + "Decorators": [] }, { "$id": "353", @@ -3024,7 +3330,8 @@ "$id": "355", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -3032,7 +3339,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -3048,9 +3356,11 @@ "$id": "358", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "Sunday" + "Value": "Sunday", + "Decorators": [] }, "BodyMediaType": "Json", "Headers": [], @@ -3074,7 +3384,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "UnbrandedTypeSpec.getUnknownValue" + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.getUnknownValue", + "Decorators": [] }, { "$id": "359", @@ -3098,9 +3409,11 @@ "$id": "362", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -3108,7 +3421,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "363", @@ -3121,9 +3435,11 @@ "$id": "365", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, - "Value": "application/json" + "Value": "application/json", + "Decorators": [] }, "Location": "Header", "IsApiVersion": false, @@ -3131,7 +3447,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Constant" + "Kind": "Constant", + "Decorators": [] }, { "$id": "366", @@ -3146,7 +3463,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -3176,7 +3494,8 @@ "BufferResponse": true, "GenerateProtocolMethod": false, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "UnbrandedTypeSpec.internalProtocol" + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.internalProtocol", + "Decorators": [] }, { "$id": "368", @@ -3207,7 +3526,8 @@ "BufferResponse": true, "GenerateProtocolMethod": false, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "UnbrandedTypeSpec.stillConvenient" + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.stillConvenient", + "Decorators": [] }, { "$id": "370", @@ -3227,7 +3547,8 @@ "$id": "372", "Kind": "string", "Name": "string", - "CrossLanguageDefinitionId": "TypeSpec.string" + "CrossLanguageDefinitionId": "TypeSpec.string", + "Decorators": [] }, "Location": "Path", "IsApiVersion": false, @@ -3235,7 +3556,8 @@ "IsEndpoint": false, "Explode": false, "IsRequired": true, - "Kind": "Method" + "Kind": "Method", + "Decorators": [] } ], "Responses": [ @@ -3256,7 +3578,8 @@ "BufferResponse": true, "GenerateProtocolMethod": true, "GenerateConvenienceMethod": true, - "CrossLanguageDefinitionId": "UnbrandedTypeSpec.headAsBoolean" + "CrossLanguageDefinitionId": "UnbrandedTypeSpec.headAsBoolean", + "Decorators": [] } ], "Protocol": { @@ -3266,7 +3589,8 @@ { "$ref": "228" } - ] + ], + "Decorators": [] } ], "Auth": {