diff --git a/sdk/core/core-client/CHANGELOG.md b/sdk/core/core-client/CHANGELOG.md index 04014dbf90a8..b1406daa4f9a 100644 --- a/sdk/core/core-client/CHANGELOG.md +++ b/sdk/core/core-client/CHANGELOG.md @@ -10,6 +10,8 @@ ### Other Changes +- Removed the constraints check during serialization. Please refer [#21839](https://github.com/Azure/azure-sdk-for-js/issues/21839) for further details. + ## 1.6.0 (2022-05-05) ### Features Added diff --git a/sdk/core/core-client/review/core-client.api.md b/sdk/core/core-client/review/core-client.api.md index 50051d01c7bb..6fdc58dcc1c8 100644 --- a/sdk/core/core-client/review/core-client.api.md +++ b/sdk/core/core-client/review/core-client.api.md @@ -312,6 +312,7 @@ export interface Serializer { [key: string]: any; }; serialize(mapper: Mapper, object: any, objectName?: string, options?: SerializerOptions): any; + // @deprecated validateConstraints(mapper: Mapper, value: any, objectName: string): void; } diff --git a/sdk/core/core-client/src/interfaces.ts b/sdk/core/core-client/src/interfaces.ts index eaef7967d867..8dbfa8f90079 100644 --- a/sdk/core/core-client/src/interfaces.ts +++ b/sdk/core/core-client/src/interfaces.ts @@ -378,6 +378,7 @@ export interface Serializer { * @param mapper - The definition of data models. * @param value - The value. * @param objectName - Name of the object. Used in the error messages. + * @deprecated Removing the constraints validation on client side. */ validateConstraints(mapper: Mapper, value: any, objectName: string): void; diff --git a/sdk/core/core-client/src/serializer.ts b/sdk/core/core-client/src/serializer.ts index c900e1b17f78..86a098401200 100644 --- a/sdk/core/core-client/src/serializer.ts +++ b/sdk/core/core-client/src/serializer.ts @@ -25,6 +25,9 @@ class SerializerImpl implements Serializer { public readonly isXML: boolean = false ) {} + /** + * @deprecated Removing the constraints validation on client side. + */ validateConstraints(mapper: Mapper, value: any, objectName: string): void { const failValidation = ( constraintName: keyof MapperConstraints, @@ -154,8 +157,6 @@ class SerializerImpl implements Serializer { if (object === undefined || object === null) { payload = object; } else { - // Validate Constraints if any - this.validateConstraints(mapper, object, objectName); if (mapperType.match(/^any$/i) !== null) { payload = object; } else if (mapperType.match(/^(Number|String|Boolean|Object|Stream|Uuid)$/i) !== null) { diff --git a/sdk/core/core-http/CHANGELOG.md b/sdk/core/core-http/CHANGELOG.md index 35caf2c97364..4802a232e510 100644 --- a/sdk/core/core-http/CHANGELOG.md +++ b/sdk/core/core-http/CHANGELOG.md @@ -10,6 +10,8 @@ ### Other Changes +- Removed the constraints check during serialization. Please refer [#21839](https://github.com/Azure/azure-sdk-for-js/issues/21839) for further details. + ## 2.2.5 (2022-05-05) ### Bugs Fixed diff --git a/sdk/core/core-http/review/core-http.api.md b/sdk/core/core-http/review/core-http.api.md index 3c58a4b3c93f..838198395f80 100644 --- a/sdk/core/core-http/review/core-http.api.md +++ b/sdk/core/core-http/review/core-http.api.md @@ -700,6 +700,7 @@ export class Serializer { [key: string]: any; }; serialize(mapper: Mapper, object: unknown, objectName?: string, options?: SerializerOptions): any; + // @deprecated validateConstraints(mapper: Mapper, value: unknown, objectName: string): void; } diff --git a/sdk/core/core-http/src/serializer.ts b/sdk/core/core-http/src/serializer.ts index 2e59b4a777ac..630b84016d29 100644 --- a/sdk/core/core-http/src/serializer.ts +++ b/sdk/core/core-http/src/serializer.ts @@ -30,6 +30,7 @@ export class Serializer { * @param mapper - The definition of data models. * @param value - The value. * @param objectName - Name of the object. Used in the error messages. + * @deprecated Removing the constraints validation on client side. */ validateConstraints(mapper: Mapper, value: unknown, objectName: string): void { const failValidation = ( @@ -156,8 +157,6 @@ export class Serializer { if (object == undefined) { payload = object; } else { - // Validate Constraints if any - this.validateConstraints(mapper, object, objectName); if (mapperType.match(/^any$/i) !== null) { payload = object; } else if (mapperType.match(/^(Number|String|Boolean|Object|Stream|Uuid)$/i) !== null) { diff --git a/sdk/core/core-http/src/util/xml.ts b/sdk/core/core-http/src/util/xml.ts index 9691ca1c3123..2e18dd61cb6d 100644 --- a/sdk/core/core-http/src/util/xml.ts +++ b/sdk/core/core-http/src/util/xml.ts @@ -85,7 +85,7 @@ export function parseXML(str: string, opts: SerializerOptions = {}): Promise { + xmlParser.parseString(str, (err: any, res: any) => { if (err) { reject(err); } else {