From f766fc16170cd38440febdcaaeb8dd4142613b35 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 25 Jan 2021 11:53:05 +0100 Subject: [PATCH] refactor(@angular-devkit/core): deprecate flatten schema method. The flatten schema method has been deprecated without replacement. Producing a flatten schema document does not in all cases produce a schema with identical behavior to the original. See: https://json-schema.org/draft/2019-09/json-schema-core.html#rfc.appendix.B.2 --- packages/angular_devkit/core/src/json/schema/interface.ts | 5 +++++ packages/angular_devkit/core/src/json/schema/registry.ts | 3 +++ 2 files changed, 8 insertions(+) diff --git a/packages/angular_devkit/core/src/json/schema/interface.ts b/packages/angular_devkit/core/src/json/schema/interface.ts index 2e4375511a..88c644c5ce 100644 --- a/packages/angular_devkit/core/src/json/schema/interface.ts +++ b/packages/angular_devkit/core/src/json/schema/interface.ts @@ -113,6 +113,11 @@ export type PromptProvider = (definitions: Array) export interface SchemaRegistry { compile(schema: Object): Observable; + /** + * @deprecated since 11.2 without replacement. + * Producing a flatten schema document does not in all cases produce a schema with identical behavior to the original. + * See: https://json-schema.org/draft/2019-09/json-schema-core.html#rfc.appendix.B.2 + */ flatten(schema: JsonObject | string): Observable; addFormat(format: SchemaFormat): void; addSmartDefaultProvider(source: string, provider: SmartDefaultProvider): void; diff --git a/packages/angular_devkit/core/src/json/schema/registry.ts b/packages/angular_devkit/core/src/json/schema/registry.ts index 51a4ef51b1..66bf827081 100644 --- a/packages/angular_devkit/core/src/json/schema/registry.ts +++ b/packages/angular_devkit/core/src/json/schema/registry.ts @@ -239,6 +239,9 @@ export class CoreSchemaRegistry implements SchemaRegistry { * * @param schema The schema or URI to flatten. * @returns An Observable of the flattened schema object. + * @deprecated since 11.2 without replacement. + * Producing a flatten schema document does not in all cases produce a schema with identical behavior to the original. + * See: https://json-schema.org/draft/2019-09/json-schema-core.html#rfc.appendix.B.2 */ flatten(schema: JsonObject): Observable { this._ajv.removeSchema(schema);