From 6585b98c648662f419e4c23819f064214138d6bd Mon Sep 17 00:00:00 2001 From: AllyW Date: Thu, 6 Feb 2025 13:55:30 +0800 Subject: [PATCH] split integer and float for literal value --- src/typespec-aaz/src/convertor.ts | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/src/typespec-aaz/src/convertor.ts b/src/typespec-aaz/src/convertor.ts index b90c9577..bb9327f5 100644 --- a/src/typespec-aaz/src/convertor.ts +++ b/src/typespec-aaz/src/convertor.ts @@ -583,7 +583,7 @@ function convert2CMDSchemaBase(context: AAZSchemaEmitterContext, type: Type): CM case "Number": case "String": case "Boolean": - schema = convertLiteral2CMDSchemaBase(type); + schema = convertLiteral2CMDSchemaBase(context, type); break; // case "Tuple": default: @@ -1208,15 +1208,24 @@ function isAzureResourceOverall(context: AAZSchemaEmitterContext, model: Model): return !!isResource; } -function convertLiteral2CMDSchemaBase(type: Type): CMDStringSchemaBase | CMDIntegerSchemaBase | CMDBooleanSchemaBase | undefined { +function convertLiteral2CMDSchemaBase(context: AAZSchemaEmitterContext, type: Type): CMDStringSchemaBase | CMDIntegerSchemaBase | CMDFloatSchemaBase | CMDBooleanSchemaBase | undefined { switch (type.kind) { case "Number": - return { - type: "integer", - enum: { - items: [{value: type.value}] - } - }; + if (type.numericValue.isInteger) { + return { + type: "integer", + enum: { + items: [{value: type.value}] + } + }; + } else { + return { + type: "float", + enum: { + items: [{value: type.value}] + } + }; + } case "String": return { type: "string",