Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
Pan Shao committed Feb 8, 2025
1 parent c3c12aa commit ce3cc77
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 19 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { ChoiceSchema, isObjectSchema, Schema, SealedChoiceSchema } from "@autorest/codemodel";
import { ChoiceSchema, isObjectSchema, Schema, SchemaType, SealedChoiceSchema } from "@autorest/codemodel";
import { getArmCommonTypeVersion } from "../autorest-session";
import { isArraySchema, isChoiceSchema, isDictionarySchema, isSealedChoiceSchema, isUuidSchema } from "./schemas";
import { isArraySchema, isChoiceSchema, isDictionarySchema, isSealedChoiceSchema } from "./schemas";

// TO-DO: we might need a isReadonly
interface LibraryPropertyBase {
Expand All @@ -11,7 +11,7 @@ interface LibraryPropertyBase {

interface LibraryPrimitiveProperty extends LibraryPropertyBase {
type: "primitive";
schema: (schema: Schema) => boolean;
typeName: string;
}

interface LibraryNonPrimitiveProperty extends LibraryPropertyBase {
Expand Down Expand Up @@ -70,7 +70,7 @@ export function isEquivalent(schema: Schema, expected: LibraryType): boolean {
if ((property.required ?? false) !== expectedProperty.required) return false;

if (expectedProperty.type === "primitive") {
if (!expectedProperty.schema(property.schema)) return false;
if (expectedProperty.typeName !== property.schema.type) return false;
} else {
if (!isEquivalent(property.schema, expectedProperty.schema())) return false;
}
Expand Down Expand Up @@ -117,20 +117,20 @@ export const skuLibraryType: LibraryObjectType = {
name: "sku",
type: "object",
properties: {
name: { serializedName: "name", required: true, type: "primitive", schema: (schema) => schema.type === "string" },
name: { serializedName: "name", required: true, type: "primitive", typeName: SchemaType.String },
tier: { serializedName: "tier", required: false, type: "nonPrimitive", schema: () => skuTierLibraryType },
size: { serializedName: "size", required: false, type: "primitive", schema: (schema) => schema.type === "string" },
size: { serializedName: "size", required: false, type: "primitive", typeName: SchemaType.String },
family: {
serializedName: "family",
required: false,
type: "primitive",
schema: (schema) => schema.type === "string",
typeName: SchemaType.String,
},
capacity: {
serializedName: "capacity",
required: false,
type: "primitive",
schema: (schema) => schema.type === "integer",
typeName: SchemaType.Integer,
},
},
};
Expand All @@ -155,38 +155,38 @@ export const extendedLocationLibraryType: LibraryObjectType = {
type: "nonPrimitive",
schema: () => extendedLocationTypeLibraryType,
},
name: { serializedName: "name", required: true, type: "primitive", schema: (schema) => schema.type === "string" },
name: { serializedName: "name", required: true, type: "primitive", typeName: SchemaType.String },
},
};

export const planLibraryType: LibraryObjectType = {
name: "plan",
type: "object",
properties: {
name: { serializedName: "name", required: true, type: "primitive", schema: (schema) => schema.type === "string" },
name: { serializedName: "name", required: true, type: "primitive", typeName: SchemaType.String },
publisher: {
serializedName: "publisher",
required: true,
type: "primitive",
schema: (schema) => schema.type === "string",
typeName: "string",
},
product: {
serializedName: "product",
required: true,
type: "primitive",
schema: (schema) => schema.type === "string",
typeName: "string",
},
promotionCode: {
serializedName: "promotionCode",
required: false,
type: "primitive",
schema: (schema) => schema.type === "string",
typeName: "string",
},
version: {
serializedName: "version",
required: false,
type: "primitive",
schema: (schema) => schema.type === "string",
typeName: "string",
},
},
};
Expand Down Expand Up @@ -219,17 +219,17 @@ const userAssignedIdentityLibraryType: LibraryObjectType = {
name: "userAssignedIdentity",
type: "object",
properties: {
principalId: { serializedName: "principalId", required: false, type: "primitive", schema: isUuidSchema },
clientId: { serializedName: "clientId", required: false, type: "primitive", schema: isUuidSchema },
principalId: { serializedName: "principalId", required: false, type: "primitive", typeName: SchemaType.Uuid },
clientId: { serializedName: "clientId", required: false, type: "primitive", typeName: SchemaType.Uuid },
},
};

export const managedServiceIdentityLibraryType: LibraryObjectType = {
name: "managedServiceIdentity",
type: "object",
properties: {
principalId: { serializedName: "principalId", required: false, type: "primitive", schema: isUuidSchema },
tenantId: { serializedName: "tenantId", required: false, type: "primitive", schema: isUuidSchema },
principalId: { serializedName: "principalId", required: false, type: "primitive", typeName: SchemaType.Uuid },
tenantId: { serializedName: "tenantId", required: false, type: "primitive", typeName: SchemaType.Uuid },
type: {
serializedName: "type",
required: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ export enum SuppressionCode {
ArmDeleteOperationResponseCodes = "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes",
ArmResourceInvalidEnvelopeProperty = "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property",
ArmNoRecord = "@azure-tools/typespec-azure-resource-manager/arm-no-record",
ArmResourceInterfaceRequiresDecorator = "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator"
ArmResourceInterfaceRequiresDecorator = "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator",
}

export function generateSuppressionForNoEnum(): string {
Expand Down

0 comments on commit ce3cc77

Please sign in to comment.