@itwin/ecschema-editing 5.4.0-dev.7 → 5.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -1
- package/lib/cjs/Differencing/Errors.js.map +1 -1
- package/lib/cjs/Differencing/SchemaConflicts.js.map +1 -1
- package/lib/cjs/Differencing/SchemaDiagnosticVisitor.js.map +1 -1
- package/lib/cjs/Differencing/SchemaDifference.js.map +1 -1
- package/lib/cjs/Differencing/SchemaDifferenceValidator.js.map +1 -1
- package/lib/cjs/Differencing/SchemaDifferenceVisitor.js.map +1 -1
- package/lib/cjs/Differencing/Utils.js.map +1 -1
- package/lib/cjs/Editing/Constants.js.map +1 -1
- package/lib/cjs/Editing/CustomAttributes.js.map +1 -1
- package/lib/cjs/Editing/ECClasses.js.map +1 -1
- package/lib/cjs/Editing/Editor.js.map +1 -1
- package/lib/cjs/Editing/Entities.js.map +1 -1
- package/lib/cjs/Editing/Enumerations.js.map +1 -1
- package/lib/cjs/Editing/Exception.js.map +1 -1
- package/lib/cjs/Editing/Formats.js.map +1 -1
- package/lib/cjs/Editing/InvertedUnits.js.map +1 -1
- package/lib/cjs/Editing/KindOfQuantities.js.map +1 -1
- package/lib/cjs/Editing/Mixins.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableArrayProperty.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableCAClass.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableClass.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableConstant.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableEntityClass.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableEnumeration.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableFormat.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableInvertedUnit.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableKindOfQuantity.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableMixin.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableNavigationProperty.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutablePhenomenon.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutablePrimitiveOrEnumProperty.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableProperty.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutablePropertyCategory.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableRelationshipClass.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableSchema.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableSchemaItem.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableStructProperty.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableUnit.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableUnitSystem.js.map +1 -1
- package/lib/cjs/Editing/Phenomena.js.map +1 -1
- package/lib/cjs/Editing/Properties.js.map +1 -1
- package/lib/cjs/Editing/PropertyCategories.js.map +1 -1
- package/lib/cjs/Editing/RelationshipClasses.js.map +1 -1
- package/lib/cjs/Editing/SchemaItems.js.map +1 -1
- package/lib/cjs/Editing/Structs.js.map +1 -1
- package/lib/cjs/Editing/UnitSystems.js.map +1 -1
- package/lib/cjs/Editing/Units.js.map +1 -1
- package/lib/cjs/Merging/ClassMerger.js.map +1 -1
- package/lib/cjs/Merging/ConstantMerger.js.map +1 -1
- package/lib/cjs/Merging/CustomAttributeClassMerger.js.map +1 -1
- package/lib/cjs/Merging/CustomAttributeMerger.js.map +1 -1
- package/lib/cjs/Merging/Edits/NameMapping.js.map +1 -1
- package/lib/cjs/Merging/Edits/RenameEditHandler.js.map +1 -1
- package/lib/cjs/Merging/Edits/SchemaEdits.js.map +1 -1
- package/lib/cjs/Merging/Edits/SkipEditHandler.js.map +1 -1
- package/lib/cjs/Merging/EntityClassMerger.js.map +1 -1
- package/lib/cjs/Merging/EnumerationMerger.js.map +1 -1
- package/lib/cjs/Merging/EnumeratorMerger.js.map +1 -1
- package/lib/cjs/Merging/FormatMerger.js.map +1 -1
- package/lib/cjs/Merging/InvertedUnitMerger.js.map +1 -1
- package/lib/cjs/Merging/KindOfQuantityMerger.js.map +1 -1
- package/lib/cjs/Merging/MixinMerger.js.map +1 -1
- package/lib/cjs/Merging/PhenomenonMerger.js.map +1 -1
- package/lib/cjs/Merging/PropertyCategoryMerger.js.map +1 -1
- package/lib/cjs/Merging/PropertyMerger.js.map +1 -1
- package/lib/cjs/Merging/RelationshipClassMerger.js.map +1 -1
- package/lib/cjs/Merging/SchemaMerger.js.map +1 -1
- package/lib/cjs/Merging/SchemaMergingVisitor.js.map +1 -1
- package/lib/cjs/Merging/SchemaMergingWalker.js.map +1 -1
- package/lib/cjs/Merging/SchemaReferenceMerger.js.map +1 -1
- package/lib/cjs/Merging/StructClassMerger.js.map +1 -1
- package/lib/cjs/Merging/UnitMerger.js.map +1 -1
- package/lib/cjs/Merging/UnitSystemMerger.js.map +1 -1
- package/lib/cjs/Merging/Utils.js.map +1 -1
- package/lib/cjs/Validation/Diagnostic.js.map +1 -1
- package/lib/cjs/Validation/DiagnosticReporter.js.map +1 -1
- package/lib/cjs/Validation/ECRules.js.map +1 -1
- package/lib/cjs/Validation/LoggingDiagnosticReporter.js.map +1 -1
- package/lib/cjs/Validation/RuleSuppressionSet.js.map +1 -1
- package/lib/cjs/Validation/Rules.js.map +1 -1
- package/lib/cjs/Validation/SchemaChanges.js.map +1 -1
- package/lib/cjs/Validation/SchemaCompareDiagnostics.js.map +1 -1
- package/lib/cjs/Validation/SchemaCompareReporter.js.map +1 -1
- package/lib/cjs/Validation/SchemaCompareResultDelegate.js.map +1 -1
- package/lib/cjs/Validation/SchemaCompareVisitor.js.map +1 -1
- package/lib/cjs/Validation/SchemaComparer.js.map +1 -1
- package/lib/cjs/Validation/SchemaValidater.js.map +1 -1
- package/lib/cjs/Validation/SchemaValidationVisitor.js.map +1 -1
- package/lib/cjs/Validation/SchemaWalker.js.map +1 -1
- package/lib/cjs/ecschema-editing.js.map +1 -1
- package/lib/esm/Differencing/Errors.js.map +1 -1
- package/lib/esm/Differencing/SchemaConflicts.js.map +1 -1
- package/lib/esm/Differencing/SchemaDiagnosticVisitor.js.map +1 -1
- package/lib/esm/Differencing/SchemaDifference.js.map +1 -1
- package/lib/esm/Differencing/SchemaDifferenceValidator.js.map +1 -1
- package/lib/esm/Differencing/SchemaDifferenceVisitor.js.map +1 -1
- package/lib/esm/Differencing/Utils.js.map +1 -1
- package/lib/esm/Editing/Constants.js.map +1 -1
- package/lib/esm/Editing/CustomAttributes.js.map +1 -1
- package/lib/esm/Editing/ECClasses.js.map +1 -1
- package/lib/esm/Editing/Editor.js.map +1 -1
- package/lib/esm/Editing/Entities.js.map +1 -1
- package/lib/esm/Editing/Enumerations.js.map +1 -1
- package/lib/esm/Editing/Exception.js.map +1 -1
- package/lib/esm/Editing/Formats.js.map +1 -1
- package/lib/esm/Editing/InvertedUnits.js.map +1 -1
- package/lib/esm/Editing/KindOfQuantities.js.map +1 -1
- package/lib/esm/Editing/Mixins.js.map +1 -1
- package/lib/esm/Editing/Mutable/MutableArrayProperty.js.map +1 -1
- package/lib/esm/Editing/Mutable/MutableCAClass.js.map +1 -1
- package/lib/esm/Editing/Mutable/MutableClass.js.map +1 -1
- package/lib/esm/Editing/Mutable/MutableConstant.js.map +1 -1
- package/lib/esm/Editing/Mutable/MutableEntityClass.js.map +1 -1
- package/lib/esm/Editing/Mutable/MutableEnumeration.js.map +1 -1
- package/lib/esm/Editing/Mutable/MutableFormat.js.map +1 -1
- package/lib/esm/Editing/Mutable/MutableInvertedUnit.js.map +1 -1
- package/lib/esm/Editing/Mutable/MutableKindOfQuantity.js.map +1 -1
- package/lib/esm/Editing/Mutable/MutableMixin.js.map +1 -1
- package/lib/esm/Editing/Mutable/MutableNavigationProperty.js.map +1 -1
- package/lib/esm/Editing/Mutable/MutablePhenomenon.js.map +1 -1
- package/lib/esm/Editing/Mutable/MutablePrimitiveOrEnumProperty.js.map +1 -1
- package/lib/esm/Editing/Mutable/MutableProperty.js.map +1 -1
- package/lib/esm/Editing/Mutable/MutablePropertyCategory.js.map +1 -1
- package/lib/esm/Editing/Mutable/MutableRelationshipClass.js.map +1 -1
- package/lib/esm/Editing/Mutable/MutableSchema.js.map +1 -1
- package/lib/esm/Editing/Mutable/MutableSchemaItem.js.map +1 -1
- package/lib/esm/Editing/Mutable/MutableStructProperty.js.map +1 -1
- package/lib/esm/Editing/Mutable/MutableUnit.js.map +1 -1
- package/lib/esm/Editing/Mutable/MutableUnitSystem.js.map +1 -1
- package/lib/esm/Editing/Phenomena.js.map +1 -1
- package/lib/esm/Editing/Properties.js.map +1 -1
- package/lib/esm/Editing/PropertyCategories.js.map +1 -1
- package/lib/esm/Editing/RelationshipClasses.js.map +1 -1
- package/lib/esm/Editing/SchemaItems.js.map +1 -1
- package/lib/esm/Editing/Structs.js.map +1 -1
- package/lib/esm/Editing/UnitSystems.js.map +1 -1
- package/lib/esm/Editing/Units.js.map +1 -1
- package/lib/esm/Merging/ClassMerger.js.map +1 -1
- package/lib/esm/Merging/ConstantMerger.js.map +1 -1
- package/lib/esm/Merging/CustomAttributeClassMerger.js.map +1 -1
- package/lib/esm/Merging/CustomAttributeMerger.js.map +1 -1
- package/lib/esm/Merging/Edits/NameMapping.js.map +1 -1
- package/lib/esm/Merging/Edits/RenameEditHandler.js.map +1 -1
- package/lib/esm/Merging/Edits/SchemaEdits.js.map +1 -1
- package/lib/esm/Merging/Edits/SkipEditHandler.js.map +1 -1
- package/lib/esm/Merging/EntityClassMerger.js.map +1 -1
- package/lib/esm/Merging/EnumerationMerger.js.map +1 -1
- package/lib/esm/Merging/EnumeratorMerger.js.map +1 -1
- package/lib/esm/Merging/FormatMerger.js.map +1 -1
- package/lib/esm/Merging/InvertedUnitMerger.js.map +1 -1
- package/lib/esm/Merging/KindOfQuantityMerger.js.map +1 -1
- package/lib/esm/Merging/MixinMerger.js.map +1 -1
- package/lib/esm/Merging/PhenomenonMerger.js.map +1 -1
- package/lib/esm/Merging/PropertyCategoryMerger.js.map +1 -1
- package/lib/esm/Merging/PropertyMerger.js.map +1 -1
- package/lib/esm/Merging/RelationshipClassMerger.js.map +1 -1
- package/lib/esm/Merging/SchemaMerger.js.map +1 -1
- package/lib/esm/Merging/SchemaMergingVisitor.js.map +1 -1
- package/lib/esm/Merging/SchemaMergingWalker.js.map +1 -1
- package/lib/esm/Merging/SchemaReferenceMerger.js.map +1 -1
- package/lib/esm/Merging/StructClassMerger.js.map +1 -1
- package/lib/esm/Merging/UnitMerger.js.map +1 -1
- package/lib/esm/Merging/UnitSystemMerger.js.map +1 -1
- package/lib/esm/Merging/Utils.js.map +1 -1
- package/lib/esm/Validation/Diagnostic.js.map +1 -1
- package/lib/esm/Validation/DiagnosticReporter.js.map +1 -1
- package/lib/esm/Validation/ECRules.js.map +1 -1
- package/lib/esm/Validation/LoggingDiagnosticReporter.js.map +1 -1
- package/lib/esm/Validation/RuleSuppressionSet.js.map +1 -1
- package/lib/esm/Validation/Rules.js.map +1 -1
- package/lib/esm/Validation/SchemaChanges.js.map +1 -1
- package/lib/esm/Validation/SchemaCompareDiagnostics.js.map +1 -1
- package/lib/esm/Validation/SchemaCompareReporter.js.map +1 -1
- package/lib/esm/Validation/SchemaCompareResultDelegate.js.map +1 -1
- package/lib/esm/Validation/SchemaCompareVisitor.js.map +1 -1
- package/lib/esm/Validation/SchemaComparer.js.map +1 -1
- package/lib/esm/Validation/SchemaValidater.js.map +1 -1
- package/lib/esm/Validation/SchemaValidationVisitor.js.map +1 -1
- package/lib/esm/Validation/SchemaWalker.js.map +1 -1
- package/lib/esm/ecschema-editing.js.map +1 -1
- package/package.json +9 -9
- package/public/locales/en/ECSchemaEditing.json +26 -26
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaCompareResultDelegate.js","sourceRoot":"","sources":["../../../src/Validation/SchemaCompareResultDelegate.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Comparison\n */\n\nimport { AnyClass, AnyEnumerator, AnyProperty, Constant, CustomAttribute,\n CustomAttributeClass, CustomAttributeContainerProps, EntityClass, Enumeration, Format, InvertedUnit, KindOfQuantity,\n Mixin, OverrideFormat, Phenomenon, PropertyCategory, RelationshipClass, RelationshipConstraint,\n Schema, SchemaItem, Unit,\n} from \"@itwin/ecschema-metadata\";\nimport { AnyDiagnostic } from \"./Diagnostic\";\nimport { SchemaChanges } from \"./SchemaChanges\";\nimport { SchemaCompareDiagnostics } from \"./SchemaCompareDiagnostics\";\nimport { SchemaCompareDirection } from \"./SchemaComparer\";\nimport { ISchemaCompareReporter } from \"./SchemaCompareReporter\";\n\n/**\n * Used by the [[SchemaComparer]] to report differences found during schema comparison.\n * @internal\n */\nexport class SchemaCompareResultDelegate {\n private _schemaChangeReporters: ISchemaCompareReporter[];\n private _schemaAChanges: SchemaChanges;\n private _schemaBChanges: SchemaChanges;\n\n /**\n * Initializes a new SchemaCompareResultDelegate instance.\n * @param reporters The [[ISchemaCompareReporter]] objects to use to report schema differences.\n */\n constructor(schemaA: Schema, schemaB: Schema, ...reporters: ISchemaCompareReporter[]) {\n this._schemaChangeReporters = reporters;\n this._schemaAChanges = new SchemaChanges(schemaA);\n this._schemaBChanges = new SchemaChanges(schemaB);\n }\n\n public get schemaChangeReporters(): ISchemaCompareReporter[] {\n return this._schemaChangeReporters;\n }\n\n /**\n * Called by the SchemaComparer when the comparison is complete.\n */\n public compareComplete() {\n this.schemaChangeReporters.forEach((r) => r.report(this._schemaAChanges));\n if (this._schemaBChanges)\n this.schemaChangeReporters.forEach((r) => r.report(this._schemaBChanges));\n }\n\n /**\n * Reports differences between Schema properties.\n * @param schemaA The first Schema supplied for comparison.\n * @param propertyName The name of the property.\n * @param valueA The value from the first Schema.\n * @param valueB The value from the second Schema.\n */\n public async reportSchemaDelta(schemaA: Schema, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.SchemaDelta(schemaA, [propertyName, valueA, valueB]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports differences in the schema reference collection of two schemas.\n * @param schemaA The first Schema supplied for comparison.\n * @param referenceSchema The missing schema reference.\n */\n public async reportSchemaReferenceMissing(schemaA: Schema, referenceSchema: Schema, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.SchemaReferenceMissing(schemaA, [referenceSchema]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports differences in the schema reference collection of two schemas where the reference version differs.\n * @param schemaA The first Schema supplied for comparison.\n * @param referenceSchema The missing schema reference.\n */\n public async reportSchemaReferenceDelta(schemaA: Schema, referenceSchema: Schema, versionA: string, versionB: string, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.SchemaReferenceDelta(schemaA, [referenceSchema, versionA, versionB]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports that a given SchemaItem could not be found in the second Schema.\n * @param schemaItemA The SchemaItem from the first Schema.\n */\n public async reportSchemaItemMissing(schemaItemA: SchemaItem, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.SchemaItemMissing(schemaItemA, []);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports differences between SchemaItem properties.\n * @param schemaItemA The first SchemaItem supplied for comparison.\n * @param propertyName The name of the property.\n * @param valueA The value from the first SchemaItem.\n * @param valueB The value from the second SchemaItem.\n */\n public async reportSchemaItemDelta(schemaItemA: SchemaItem, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.SchemaItemDelta(schemaItemA, [propertyName, valueA, valueB]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports differences between ECClass properties.\n * @param classA The first ECClass supplied for comparison.\n * @param propertyName The name of the property.\n * @param valueA The value from the first ECClass.\n * @param valueB The value from the second ECClass.\n */\n public async reportClassDelta(classA: AnyClass, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.ClassDelta(classA, [propertyName, valueA, valueB]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports differences of the base class defined between two ECClass objects.\n * @param classA The first ECClass supplied for comparison.\n * @param baseClassA The base class of the first ECClass.\n * @param baseClassB The base class of the second ECClass.\n */\n public async reportBaseClassDelta(classA: AnyClass, baseClassA: AnyClass | undefined, baseClassB: AnyClass | undefined, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.BaseClassDelta(classA, [baseClassA, baseClassB]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports differences between ECProperty properties.\n * @param propertyA The first ECProperty supplied for comparison.\n * @param propertyName The name of the property.\n * @param valueA The value from the first ECProperty.\n * @param valueB The value from the second ECProperty.\n */\n public async reportPropertyDelta(propertyA: AnyProperty, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.PropertyDelta(propertyA, [propertyName, valueA, valueB]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports that an ECProperty found in the first ECClass could not be found in the second.\n * @param propertyA The ECProperty supplied for comparison.\n */\n public async reportPropertyMissing(propertyA: AnyProperty, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.PropertyMissing(propertyA, []);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports that a Mixin found in the first EntityClass could not be found in the second.\n * @param entityClassA The first EntityClass that is missing the Mixin.\n * @param mixinA The Mixin from the first EntityClass.\n */\n public async reportEntityMixinMissing(entityClassA: EntityClass, mixinA: Mixin, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.EntityMixinMissing(entityClassA, [mixinA]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports differences between Mixin properties.\n * @param mixinA The first Mixin supplied for comparison.\n * @param propertyName The name of the property.\n * @param valueA The value from the first Mixin.\n * @param valueB The value from the second Mixin.\n */\n public async reportMixinDelta(mixinA: Mixin, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.MixinDelta(mixinA, [propertyName, valueA, valueB]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports differences between RelationshipClass properties.\n * @param relationshipClassA The first RelationshipClass supplied for comparison.\n * @param propertyName The name of the property.\n * @param valueA The value from the first RelationshipClass.\n * @param valueB The value from the second RelationshipClass.\n */\n public async reportRelationshipClassDelta(relationshipClassA: RelationshipClass, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.RelationshipDelta(relationshipClassA, [propertyName, valueA, valueB]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports differences between RelationshipConstraint properties.\n * @param constraintA The first RelationshipConstraint supplied for comparison.\n * @param propertyName The name of the property.\n * @param valueA The value from the first RelationshipConstraint.\n * @param valueB The value from the second RelationshipConstraint.\n */\n public async reportRelationshipConstraintDelta(constraintA: RelationshipConstraint, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.RelationshipConstraintDelta(constraintA, [propertyName, valueA, valueB]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports that a constraint class found in the first RelationshipConstraint could not be found in the second.\n * @param constraintA The first RelationshipConstraint that is missing the class constraint.\n * @param constraintClass The constraint ECClass from the first RelationshipConstraint.\n */\n public async reportRelationshipConstraintClassMissing(constraintA: RelationshipConstraint, constraintClass: EntityClass | Mixin | RelationshipClass, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.RelationshipConstraintClassMissing(constraintA, [constraintClass]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports differences between CustomAttributeClass properties.\n * @param customAttributeA The first CustomAttributeClass supplied for comparison.\n * @param propertyName The name of the property.\n * @param valueA The value from the first CustomAttributeClass.\n * @param valueB The value from the second CustomAttributeClass.\n */\n public async reportCustomAttributeClassDelta(customAttributeA: CustomAttributeClass, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.CustomAttributeClassDelta(customAttributeA, [propertyName, valueA, valueB]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports that a CustomAttribute instance found in the first CustomAttribute container could not be found in the second.\n * @param customAttributeContainerA The first CustomAttribute container that is missing the CustomAttribute instance.\n * @param customAttribute The CustomAttribute missing.\n */\n public async reportCustomAttributeInstanceClassMissing(customAttributeContainerA: CustomAttributeContainerProps, customAttribute: CustomAttribute, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.CustomAttributeInstanceClassMissing(customAttributeContainerA, [customAttribute]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports differences between Enumeration properties.\n * @param enumerationA The first Enumeration supplied for comparison.\n * @param propertyName The name of the property.\n * @param valueA The value from the first Enumeration.\n * @param valueB The value from the second Enumeration.\n */\n public async reportEnumerationDelta(enumerationA: Enumeration, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.EnumerationDelta(enumerationA, [propertyName, valueA, valueB]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports that a enumerator found in the first Enumeration could not be found in the second.\n * @param enumerationA The first Enumeration that is missing the enumerator.\n * @param enumerator The enumerator missing from the second schema.\n */\n public async reportEnumeratorMissing(enumerationA: Enumeration, enumerator: AnyEnumerator, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.EnumeratorMissing(enumerationA, [enumerator]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports differences between enumerator properties within a given Enumeration.\n * @param enumerationA The first Enumeration supplied for comparison.\n * @param enumerator The enumerator containing differing property values.\n * @param propertyName The name of the property.\n * @param valueA The value from the first enumerator.\n * @param valueB The value from the second enumerator.\n */\n public async reportEnumeratorDelta(enumerationA: Enumeration, enumerator: AnyEnumerator, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.EnumeratorDelta(enumerationA, [enumerator, propertyName, valueA, valueB]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports differences between KindOfQuantity properties.\n * @param koqA The first KindOfQuantity supplied for comparison.\n * @param propertyName The name of the property.\n * @param valueA The value from the first KindOfQuantity.\n * @param valueB The value from the second KindOfQuantity.\n */\n public async reportKoqDelta(koqA: KindOfQuantity, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.KoqDelta(koqA, [propertyName, valueA, valueB]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports that a presentation unit found in the first KindOfQuantity could not be found in the second.\n * @param koqA The first KindOfQuantity that is missing the presentation unit.\n * @param unit The Format or OverrideFormat presentation unit missing from the second schema.\n */\n public async reportPresentationUnitMissing(koqA: KindOfQuantity, unit: Format | OverrideFormat, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.PresentationUnitMissing(koqA, [unit]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports differences between PropertyCategory properties.\n * @param categoryA The first PropertyCategory supplied for comparison.\n * @param propertyName The name of the property.\n * @param valueA The value from the first PropertyCategory.\n * @param valueB The value from the second PropertyCategory.\n */\n public async reportPropertyCategoryDelta(categoryA: PropertyCategory, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.PropertyCategoryDelta(categoryA, [propertyName, valueA, valueB]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports differences between Format properties.\n * @param formatA The first Format supplied for comparison.\n * @param propertyName The name of the property.\n * @param valueA The value from the first Format.\n * @param valueB The value from the second Format.\n */\n public async reportFormatDelta(formatA: Format, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.FormatDelta(formatA, [propertyName, valueA, valueB]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports that a unit found in the first Format could not be found in the second.\n * @param formatA The first Format that is missing the unit.\n * @param unit The Unit or InvertedUnit missing from the second schema.\n */\n public async reportFormatUnitMissing(formatA: Format, unit: [Unit | InvertedUnit, string | undefined], _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.FormatUnitMissing(formatA, unit);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports differences between overridden labels within the Units of a given Format.\n * @param formatA The first Format supplied for comparison.\n * @param unit The Unit or InvertedUnit with differing label overrides.\n * @param labelA The value from the first label.\n * @param labelB The value from the second label.\n */\n public async reportUnitLabelOverrideDelta(formatA: Format, unit: Unit | InvertedUnit, labelA: string | undefined, labelB: string | undefined, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.UnitLabelOverrideDelta(formatA, [unit, labelA, labelB]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports differences between Unit properties.\n * @param unitA The first Unit supplied for comparison.\n * @param propertyName The name of the property.\n * @param valueA The value from the first Unit.\n * @param valueB The value from the second Unit.\n */\n public async reportUnitDelta(unitA: Unit, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.UnitDelta(unitA, [propertyName, valueA, valueB]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports differences between InvertedUnit properties.\n * @param invertedUnitA The first InvertedUnit supplied for comparison.\n * @param propertyName The name of the property.\n * @param valueA The value from the first InvertedUnit.\n * @param valueB The value from the second InvertedUnit.\n */\n public async reportInvertedUnitDelta(invertedUnitA: InvertedUnit, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.InvertedUnitDelta(invertedUnitA, [propertyName, valueA, valueB]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports differences between Phenomenon properties.\n * @param phenomenonA The first Phenomenon supplied for comparison.\n * @param propertyName The name of the property.\n * @param valueA The value from the first Phenomenon.\n * @param valueB The value from the second Phenomenon.\n */\n public async reportPhenomenonDelta(phenomenonA: Phenomenon, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.PhenomenonDelta(phenomenonA, [propertyName, valueA, valueB]);\n await this.reportDiagnostic(diag);\n }\n\n /**\n * Reports differences between Constant properties.\n * @param constantA The first Constant supplied for comparison.\n * @param propertyName The name of the property.\n * @param valueA The value from the first Constant.\n * @param valueB The value from the second Constant.\n */\n public async reportConstantDelta(constantA: Constant, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\n const diag = new SchemaCompareDiagnostics.ConstantDelta(constantA, [propertyName, valueA, valueB]);\n await this.reportDiagnostic(diag);\n }\n\n private async reportDiagnostic(diagnostic: AnyDiagnostic): Promise<void> {\n if (this._schemaAChanges.schema === diagnostic.schema) {\n this._schemaAChanges.addDiagnostic(diagnostic);\n return;\n }\n if (this._schemaBChanges.schema === diagnostic.schema) {\n this._schemaBChanges.addDiagnostic(diagnostic);\n return;\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SchemaCompareResultDelegate.js","sourceRoot":"","sources":["../../../src/Validation/SchemaCompareResultDelegate.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Comparison\r\n */\r\n\r\nimport { AnyClass, AnyEnumerator, AnyProperty, Constant, CustomAttribute,\r\n CustomAttributeClass, CustomAttributeContainerProps, EntityClass, Enumeration, Format, InvertedUnit, KindOfQuantity,\r\n Mixin, OverrideFormat, Phenomenon, PropertyCategory, RelationshipClass, RelationshipConstraint,\r\n Schema, SchemaItem, Unit,\r\n} from \"@itwin/ecschema-metadata\";\r\nimport { AnyDiagnostic } from \"./Diagnostic\";\r\nimport { SchemaChanges } from \"./SchemaChanges\";\r\nimport { SchemaCompareDiagnostics } from \"./SchemaCompareDiagnostics\";\r\nimport { SchemaCompareDirection } from \"./SchemaComparer\";\r\nimport { ISchemaCompareReporter } from \"./SchemaCompareReporter\";\r\n\r\n/**\r\n * Used by the [[SchemaComparer]] to report differences found during schema comparison.\r\n * @internal\r\n */\r\nexport class SchemaCompareResultDelegate {\r\n private _schemaChangeReporters: ISchemaCompareReporter[];\r\n private _schemaAChanges: SchemaChanges;\r\n private _schemaBChanges: SchemaChanges;\r\n\r\n /**\r\n * Initializes a new SchemaCompareResultDelegate instance.\r\n * @param reporters The [[ISchemaCompareReporter]] objects to use to report schema differences.\r\n */\r\n constructor(schemaA: Schema, schemaB: Schema, ...reporters: ISchemaCompareReporter[]) {\r\n this._schemaChangeReporters = reporters;\r\n this._schemaAChanges = new SchemaChanges(schemaA);\r\n this._schemaBChanges = new SchemaChanges(schemaB);\r\n }\r\n\r\n public get schemaChangeReporters(): ISchemaCompareReporter[] {\r\n return this._schemaChangeReporters;\r\n }\r\n\r\n /**\r\n * Called by the SchemaComparer when the comparison is complete.\r\n */\r\n public compareComplete() {\r\n this.schemaChangeReporters.forEach((r) => r.report(this._schemaAChanges));\r\n if (this._schemaBChanges)\r\n this.schemaChangeReporters.forEach((r) => r.report(this._schemaBChanges));\r\n }\r\n\r\n /**\r\n * Reports differences between Schema properties.\r\n * @param schemaA The first Schema supplied for comparison.\r\n * @param propertyName The name of the property.\r\n * @param valueA The value from the first Schema.\r\n * @param valueB The value from the second Schema.\r\n */\r\n public async reportSchemaDelta(schemaA: Schema, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.SchemaDelta(schemaA, [propertyName, valueA, valueB]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports differences in the schema reference collection of two schemas.\r\n * @param schemaA The first Schema supplied for comparison.\r\n * @param referenceSchema The missing schema reference.\r\n */\r\n public async reportSchemaReferenceMissing(schemaA: Schema, referenceSchema: Schema, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.SchemaReferenceMissing(schemaA, [referenceSchema]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports differences in the schema reference collection of two schemas where the reference version differs.\r\n * @param schemaA The first Schema supplied for comparison.\r\n * @param referenceSchema The missing schema reference.\r\n */\r\n public async reportSchemaReferenceDelta(schemaA: Schema, referenceSchema: Schema, versionA: string, versionB: string, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.SchemaReferenceDelta(schemaA, [referenceSchema, versionA, versionB]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports that a given SchemaItem could not be found in the second Schema.\r\n * @param schemaItemA The SchemaItem from the first Schema.\r\n */\r\n public async reportSchemaItemMissing(schemaItemA: SchemaItem, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.SchemaItemMissing(schemaItemA, []);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports differences between SchemaItem properties.\r\n * @param schemaItemA The first SchemaItem supplied for comparison.\r\n * @param propertyName The name of the property.\r\n * @param valueA The value from the first SchemaItem.\r\n * @param valueB The value from the second SchemaItem.\r\n */\r\n public async reportSchemaItemDelta(schemaItemA: SchemaItem, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.SchemaItemDelta(schemaItemA, [propertyName, valueA, valueB]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports differences between ECClass properties.\r\n * @param classA The first ECClass supplied for comparison.\r\n * @param propertyName The name of the property.\r\n * @param valueA The value from the first ECClass.\r\n * @param valueB The value from the second ECClass.\r\n */\r\n public async reportClassDelta(classA: AnyClass, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.ClassDelta(classA, [propertyName, valueA, valueB]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports differences of the base class defined between two ECClass objects.\r\n * @param classA The first ECClass supplied for comparison.\r\n * @param baseClassA The base class of the first ECClass.\r\n * @param baseClassB The base class of the second ECClass.\r\n */\r\n public async reportBaseClassDelta(classA: AnyClass, baseClassA: AnyClass | undefined, baseClassB: AnyClass | undefined, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.BaseClassDelta(classA, [baseClassA, baseClassB]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports differences between ECProperty properties.\r\n * @param propertyA The first ECProperty supplied for comparison.\r\n * @param propertyName The name of the property.\r\n * @param valueA The value from the first ECProperty.\r\n * @param valueB The value from the second ECProperty.\r\n */\r\n public async reportPropertyDelta(propertyA: AnyProperty, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.PropertyDelta(propertyA, [propertyName, valueA, valueB]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports that an ECProperty found in the first ECClass could not be found in the second.\r\n * @param propertyA The ECProperty supplied for comparison.\r\n */\r\n public async reportPropertyMissing(propertyA: AnyProperty, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.PropertyMissing(propertyA, []);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports that a Mixin found in the first EntityClass could not be found in the second.\r\n * @param entityClassA The first EntityClass that is missing the Mixin.\r\n * @param mixinA The Mixin from the first EntityClass.\r\n */\r\n public async reportEntityMixinMissing(entityClassA: EntityClass, mixinA: Mixin, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.EntityMixinMissing(entityClassA, [mixinA]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports differences between Mixin properties.\r\n * @param mixinA The first Mixin supplied for comparison.\r\n * @param propertyName The name of the property.\r\n * @param valueA The value from the first Mixin.\r\n * @param valueB The value from the second Mixin.\r\n */\r\n public async reportMixinDelta(mixinA: Mixin, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.MixinDelta(mixinA, [propertyName, valueA, valueB]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports differences between RelationshipClass properties.\r\n * @param relationshipClassA The first RelationshipClass supplied for comparison.\r\n * @param propertyName The name of the property.\r\n * @param valueA The value from the first RelationshipClass.\r\n * @param valueB The value from the second RelationshipClass.\r\n */\r\n public async reportRelationshipClassDelta(relationshipClassA: RelationshipClass, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.RelationshipDelta(relationshipClassA, [propertyName, valueA, valueB]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports differences between RelationshipConstraint properties.\r\n * @param constraintA The first RelationshipConstraint supplied for comparison.\r\n * @param propertyName The name of the property.\r\n * @param valueA The value from the first RelationshipConstraint.\r\n * @param valueB The value from the second RelationshipConstraint.\r\n */\r\n public async reportRelationshipConstraintDelta(constraintA: RelationshipConstraint, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.RelationshipConstraintDelta(constraintA, [propertyName, valueA, valueB]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports that a constraint class found in the first RelationshipConstraint could not be found in the second.\r\n * @param constraintA The first RelationshipConstraint that is missing the class constraint.\r\n * @param constraintClass The constraint ECClass from the first RelationshipConstraint.\r\n */\r\n public async reportRelationshipConstraintClassMissing(constraintA: RelationshipConstraint, constraintClass: EntityClass | Mixin | RelationshipClass, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.RelationshipConstraintClassMissing(constraintA, [constraintClass]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports differences between CustomAttributeClass properties.\r\n * @param customAttributeA The first CustomAttributeClass supplied for comparison.\r\n * @param propertyName The name of the property.\r\n * @param valueA The value from the first CustomAttributeClass.\r\n * @param valueB The value from the second CustomAttributeClass.\r\n */\r\n public async reportCustomAttributeClassDelta(customAttributeA: CustomAttributeClass, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.CustomAttributeClassDelta(customAttributeA, [propertyName, valueA, valueB]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports that a CustomAttribute instance found in the first CustomAttribute container could not be found in the second.\r\n * @param customAttributeContainerA The first CustomAttribute container that is missing the CustomAttribute instance.\r\n * @param customAttribute The CustomAttribute missing.\r\n */\r\n public async reportCustomAttributeInstanceClassMissing(customAttributeContainerA: CustomAttributeContainerProps, customAttribute: CustomAttribute, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.CustomAttributeInstanceClassMissing(customAttributeContainerA, [customAttribute]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports differences between Enumeration properties.\r\n * @param enumerationA The first Enumeration supplied for comparison.\r\n * @param propertyName The name of the property.\r\n * @param valueA The value from the first Enumeration.\r\n * @param valueB The value from the second Enumeration.\r\n */\r\n public async reportEnumerationDelta(enumerationA: Enumeration, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.EnumerationDelta(enumerationA, [propertyName, valueA, valueB]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports that a enumerator found in the first Enumeration could not be found in the second.\r\n * @param enumerationA The first Enumeration that is missing the enumerator.\r\n * @param enumerator The enumerator missing from the second schema.\r\n */\r\n public async reportEnumeratorMissing(enumerationA: Enumeration, enumerator: AnyEnumerator, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.EnumeratorMissing(enumerationA, [enumerator]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports differences between enumerator properties within a given Enumeration.\r\n * @param enumerationA The first Enumeration supplied for comparison.\r\n * @param enumerator The enumerator containing differing property values.\r\n * @param propertyName The name of the property.\r\n * @param valueA The value from the first enumerator.\r\n * @param valueB The value from the second enumerator.\r\n */\r\n public async reportEnumeratorDelta(enumerationA: Enumeration, enumerator: AnyEnumerator, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.EnumeratorDelta(enumerationA, [enumerator, propertyName, valueA, valueB]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports differences between KindOfQuantity properties.\r\n * @param koqA The first KindOfQuantity supplied for comparison.\r\n * @param propertyName The name of the property.\r\n * @param valueA The value from the first KindOfQuantity.\r\n * @param valueB The value from the second KindOfQuantity.\r\n */\r\n public async reportKoqDelta(koqA: KindOfQuantity, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.KoqDelta(koqA, [propertyName, valueA, valueB]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports that a presentation unit found in the first KindOfQuantity could not be found in the second.\r\n * @param koqA The first KindOfQuantity that is missing the presentation unit.\r\n * @param unit The Format or OverrideFormat presentation unit missing from the second schema.\r\n */\r\n public async reportPresentationUnitMissing(koqA: KindOfQuantity, unit: Format | OverrideFormat, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.PresentationUnitMissing(koqA, [unit]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports differences between PropertyCategory properties.\r\n * @param categoryA The first PropertyCategory supplied for comparison.\r\n * @param propertyName The name of the property.\r\n * @param valueA The value from the first PropertyCategory.\r\n * @param valueB The value from the second PropertyCategory.\r\n */\r\n public async reportPropertyCategoryDelta(categoryA: PropertyCategory, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.PropertyCategoryDelta(categoryA, [propertyName, valueA, valueB]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports differences between Format properties.\r\n * @param formatA The first Format supplied for comparison.\r\n * @param propertyName The name of the property.\r\n * @param valueA The value from the first Format.\r\n * @param valueB The value from the second Format.\r\n */\r\n public async reportFormatDelta(formatA: Format, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.FormatDelta(formatA, [propertyName, valueA, valueB]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports that a unit found in the first Format could not be found in the second.\r\n * @param formatA The first Format that is missing the unit.\r\n * @param unit The Unit or InvertedUnit missing from the second schema.\r\n */\r\n public async reportFormatUnitMissing(formatA: Format, unit: [Unit | InvertedUnit, string | undefined], _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.FormatUnitMissing(formatA, unit);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports differences between overridden labels within the Units of a given Format.\r\n * @param formatA The first Format supplied for comparison.\r\n * @param unit The Unit or InvertedUnit with differing label overrides.\r\n * @param labelA The value from the first label.\r\n * @param labelB The value from the second label.\r\n */\r\n public async reportUnitLabelOverrideDelta(formatA: Format, unit: Unit | InvertedUnit, labelA: string | undefined, labelB: string | undefined, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.UnitLabelOverrideDelta(formatA, [unit, labelA, labelB]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports differences between Unit properties.\r\n * @param unitA The first Unit supplied for comparison.\r\n * @param propertyName The name of the property.\r\n * @param valueA The value from the first Unit.\r\n * @param valueB The value from the second Unit.\r\n */\r\n public async reportUnitDelta(unitA: Unit, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.UnitDelta(unitA, [propertyName, valueA, valueB]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports differences between InvertedUnit properties.\r\n * @param invertedUnitA The first InvertedUnit supplied for comparison.\r\n * @param propertyName The name of the property.\r\n * @param valueA The value from the first InvertedUnit.\r\n * @param valueB The value from the second InvertedUnit.\r\n */\r\n public async reportInvertedUnitDelta(invertedUnitA: InvertedUnit, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.InvertedUnitDelta(invertedUnitA, [propertyName, valueA, valueB]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports differences between Phenomenon properties.\r\n * @param phenomenonA The first Phenomenon supplied for comparison.\r\n * @param propertyName The name of the property.\r\n * @param valueA The value from the first Phenomenon.\r\n * @param valueB The value from the second Phenomenon.\r\n */\r\n public async reportPhenomenonDelta(phenomenonA: Phenomenon, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.PhenomenonDelta(phenomenonA, [propertyName, valueA, valueB]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n /**\r\n * Reports differences between Constant properties.\r\n * @param constantA The first Constant supplied for comparison.\r\n * @param propertyName The name of the property.\r\n * @param valueA The value from the first Constant.\r\n * @param valueB The value from the second Constant.\r\n */\r\n public async reportConstantDelta(constantA: Constant, propertyName: string, valueA: any, valueB: any, _compareDirection: SchemaCompareDirection): Promise<void> {\r\n const diag = new SchemaCompareDiagnostics.ConstantDelta(constantA, [propertyName, valueA, valueB]);\r\n await this.reportDiagnostic(diag);\r\n }\r\n\r\n private async reportDiagnostic(diagnostic: AnyDiagnostic): Promise<void> {\r\n if (this._schemaAChanges.schema === diagnostic.schema) {\r\n this._schemaAChanges.addDiagnostic(diagnostic);\r\n return;\r\n }\r\n if (this._schemaBChanges.schema === diagnostic.schema) {\r\n this._schemaBChanges.addDiagnostic(diagnostic);\r\n return;\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaCompareVisitor.js","sourceRoot":"","sources":["../../../src/Validation/SchemaCompareVisitor.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Comparison\n */\n\nimport { AnyClass, AnyProperty, Constant, CustomAttributeClass, CustomAttributeContainerProps,\n ECClass, EntityClass, Enumeration, Format, InvertedUnit, ISchemaPartVisitor, KindOfQuantity, Mixin,\n Phenomenon, Property, PropertyCategory, RelationshipClass, RelationshipConstraint, Schema, SchemaItem,\n SchemaItemType, StructClass, Unit, UnitSystem,\n} from \"@itwin/ecschema-metadata\";\nimport { ISchemaComparer } from \"./SchemaComparer\";\n\n/**\n * An ISchemaPartVisitor interface implementation that is used to compare to Schemas.\n * @internal\n */\nexport class SchemaCompareVisitor implements ISchemaPartVisitor {\n private _schemaB: Schema;\n private _schemaComparer: ISchemaComparer;\n\n /**\n * Initializes a new SchemaCompareVisitor instance.\n * @param schemaComparer The [[SchemaComparer]] to use to compare each item of the schema.\n * @param schemaToCompare The second or 'B' schema to compare against the schema being traversed (Schema A).\n */\n constructor(schemaComparer: ISchemaComparer, schemaToCompare: Schema) {\n this._schemaComparer = schemaComparer;\n this._schemaB = schemaToCompare;\n }\n\n /**\n * Called before schema traversal.\n * @param schema a Schema object.\n */\n public async visitFullSchema(schemaA: Schema) {\n this._schemaComparer.compareSchemaProps(schemaA, this._schemaB);\n }\n\n /**\n * Called for each [[SchemaItem]] instance found during schema traversal.\n * @param schemaItem a SchemaItem object.\n */\n public async visitSchemaItem(schemaItemA: SchemaItem) {\n const schemaItemB = await this._schemaComparer.resolveItem(schemaItemA, this._schemaB, SchemaItem);\n this._schemaComparer.compareSchemaItems(schemaItemA, schemaItemB);\n }\n\n /**\n * Called for each [[AnyClass]] instance found during schema traversal.\n * @param ecClass an ECClass object.\n */\n public async visitClass(classA: AnyClass): Promise<void> {\n const classB = await this._schemaComparer.resolveItem(classA, this._schemaB, ECClass);\n if (classB && classA.schemaItemType === classB.schemaItemType)\n this._schemaComparer.compareClasses(classA, classB);\n }\n\n /**\n * Called for each [[AnyProperty]] instance of an ECClass.\n * @param property an AnyProperty object.\n */\n public async visitProperty(propertyA: AnyProperty): Promise<void> {\n let propertyB: AnyProperty | undefined;\n\n const classB = await this._schemaComparer.resolveItem(propertyA.class, this._schemaB, ECClass);\n if (classB && propertyA.class.schemaItemType === classB.schemaItemType){\n propertyB = await this._schemaComparer.resolveProperty(propertyA, classB);\n this._schemaComparer.compareProperties(propertyA, propertyB);\n }\n }\n\n /**\n * Called for each [[EntityClass]] instance found during schema traversal.\n * @param entityClass an EntityClass object.\n */\n public async visitEntityClass(entityA: EntityClass): Promise<void> {\n const entityB = await this._schemaComparer.resolveItem(entityA, this._schemaB, EntityClass);\n if (entityB && entityB.schemaItemType === SchemaItemType.EntityClass)\n this._schemaComparer.compareEntityClasses(entityA, entityB);\n }\n\n /**\n * Called for each [[StructClass]] instance found during schema traversal.\n * @param structClass a StructClass object.\n */\n public async visitStructClass(_structA: StructClass): Promise<void> {\n // No comparison to make specifically on StructClasses\n }\n\n /**\n * Called for each [[Mixin]] instance found during schema traversal.\n * @param mixin a Mixin object.\n */\n public async visitMixin(mixinA: Mixin): Promise<void> {\n const mixinB = await this._schemaComparer.resolveItem(mixinA, this._schemaB, Mixin);\n if (mixinB && mixinB.schemaItemType === SchemaItemType.Mixin)\n this._schemaComparer.compareMixins(mixinA, mixinB);\n }\n\n /**\n * Called for each [[RelationshipClass]] instance found during schema traversal.\n * @param relationshipClass a RelationshipClass object.\n */\n public async visitRelationshipClass(relationshipA: RelationshipClass): Promise<void> {\n const relationshipB = await this._schemaComparer.resolveItem(relationshipA, this._schemaB, RelationshipClass);\n if (relationshipB && relationshipB.schemaItemType === SchemaItemType.RelationshipClass)\n this._schemaComparer.compareRelationshipClasses(relationshipA, relationshipB);\n }\n\n /**\n * Called for each [[RelationshipConstraint]] of each RelationshipClass found during schema traversal.\n * @param relationshipConstraint a RelationshipConstraint object.\n */\n public async visitRelationshipConstraint(constraintA: RelationshipConstraint): Promise<void> {\n let constraintB: RelationshipConstraint | undefined;\n const relationshipB = await this._schemaComparer.resolveItem(constraintA.relationshipClass, this._schemaB, RelationshipClass);\n if (relationshipB && relationshipB.schemaItemType === SchemaItemType.RelationshipClass) {\n constraintB = constraintA.isSource ? relationshipB.source : relationshipB.target;\n if (constraintB) {\n this._schemaComparer.compareRelationshipConstraints(constraintA, constraintB);\n }\n }\n }\n\n /**\n * Called for each [[CustomAttributeClass]] instance found during schema traversal.\n * @param customAttributeClass a CustomAttributeClass object.\n */\n public async visitCustomAttributeClass(customAttributeA: CustomAttributeClass): Promise<void> {\n const customAttributeB = await this._schemaComparer.resolveItem(customAttributeA, this._schemaB, CustomAttributeClass);\n if (customAttributeB && customAttributeB.schemaItemType === SchemaItemType.CustomAttributeClass)\n this._schemaComparer.compareCustomAttributeClasses(customAttributeA, customAttributeB);\n }\n\n /**\n * Called for each [[CustomAttribute]] container in the schema.\n * @param customAttributeContainer a [[CustomAttributeContainerProps]] object.\n */\n public async visitCustomAttributeContainer(containerA: CustomAttributeContainerProps): Promise<void> {\n let containerB: CustomAttributeContainerProps | undefined;\n\n if (Schema.isSchema(containerA)) {\n containerB = this._schemaB;\n } else if (ECClass.isECClass(containerA)) {\n const parent = await this._schemaComparer.resolveItem(containerA, this._schemaB, ECClass);\n containerB = parent && parent.schemaItemType === containerA.schemaItemType ? parent : undefined;\n } else if (Property.isProperty(containerA)) {\n const parent = await this._schemaComparer.resolveItem(containerA.class, this._schemaB, ECClass);\n containerB = parent && parent.schemaItemType === containerA.class.schemaItemType ? await this._schemaComparer.resolveProperty(containerA, parent) : undefined;\n } else if (RelationshipConstraint.isRelationshipConstraint(containerA)) {\n const parent = await this._schemaComparer.resolveItem(containerA.relationshipClass, this._schemaB, RelationshipClass);\n containerB = parent ? containerA.isSource ? parent.source : parent.target : undefined;\n }\n\n if (containerB)\n this._schemaComparer.compareCustomAttributeContainers(containerA, containerB);\n }\n\n /**\n * Called for each [[Enumeration]] instance found during schema traversal.\n * @param enumeration an Enumeration object.\n */\n public async visitEnumeration(enumA: Enumeration) {\n const enumB = await this._schemaComparer.resolveItem(enumA, this._schemaB, Enumeration);\n if (enumB && enumB.schemaItemType === SchemaItemType.Enumeration)\n this._schemaComparer.compareEnumerations(enumA, enumB);\n }\n\n /**\n * Called for each [[KindOfQuantity]] instance found during schema traversal.\n * @param koq a KindOfQuantity object.\n */\n public async visitKindOfQuantity(koqA: KindOfQuantity) {\n const koqB = await this._schemaComparer.resolveItem(koqA, this._schemaB, KindOfQuantity);\n if (koqB && koqB.schemaItemType === SchemaItemType.KindOfQuantity)\n this._schemaComparer.compareKindOfQuantities(koqA, koqB);\n }\n\n /**\n * Called for each [[PropertyCategory]] instance found during schema traversal.\n * @param category a PropertyCategory object.\n */\n public async visitPropertyCategory(categoryA: PropertyCategory) {\n const categoryB = await this._schemaComparer.resolveItem(categoryA, this._schemaB, PropertyCategory);\n if (categoryB && categoryB.schemaItemType === SchemaItemType.PropertyCategory)\n this._schemaComparer.comparePropertyCategories(categoryA, categoryB);\n }\n\n /**\n * Called for each [[Format]] instance found during schema traversal.\n * @param format a Format object.\n */\n public async visitFormat(formatA: Format): Promise<void> {\n const formatB = await this._schemaComparer.resolveItem(formatA, this._schemaB, Format);\n if (formatB && formatB.schemaItemType === SchemaItemType.Format)\n this._schemaComparer.compareFormats(formatA, formatB);\n }\n\n /**\n * Called for each [[Unit]] instance found during schema traversal.\n * @param unit a Unit object.\n */\n public async visitUnit(unitA: Unit): Promise<void> {\n const unitB = await this._schemaComparer.resolveItem(unitA, this._schemaB, Unit);\n if (unitB && Unit.isUnit(unitB))\n this._schemaComparer.compareUnits(unitA, unitB);\n }\n\n /**\n * Called for each [[InvertedUnit]] instance found during schema traversal.\n * @param invertedUnit an InvertedUnit object.\n */\n public async visitInvertedUnit(invertedUnitA: InvertedUnit): Promise<void> {\n const invertedUnitB = await this._schemaComparer.resolveItem(invertedUnitA, this._schemaB, InvertedUnit);\n if (invertedUnitB && invertedUnitB.schemaItemType === SchemaItemType.InvertedUnit)\n this._schemaComparer.compareInvertedUnits(invertedUnitA, invertedUnitB);\n }\n\n /**\n * Called for each [[UnitSystem]] instance found during schema traversal.\n * @param unitSystem a UnitSystem object.\n */\n public async visitUnitSystem(_unitSystemA: UnitSystem): Promise<void> {\n // No comparison to make specifically on unitSystem\n }\n\n /**\n * Called for each [[Phenomenon]] instance found during schema traversal.\n * @param phenomena a Phenomenon object.\n */\n public async visitPhenomenon(phenomenonA: Phenomenon): Promise<void> {\n const phenomenonB = await this._schemaComparer.resolveItem(phenomenonA, this._schemaB, Phenomenon);\n if (phenomenonB && phenomenonB.schemaItemType === SchemaItemType.Phenomenon)\n this._schemaComparer.comparePhenomenons(phenomenonA, phenomenonB);\n }\n\n /**\n * Called for each [[Constant]] instance found during schema traversal.\n * @param constant a Constant object.\n */\n public async visitConstant(constantA: Constant): Promise<void> {\n const constantB = await this._schemaComparer.resolveItem(constantA, this._schemaB, Constant);\n if (constantB && constantB.schemaItemType === SchemaItemType.Constant)\n this._schemaComparer.compareConstants(constantA, constantB);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SchemaCompareVisitor.js","sourceRoot":"","sources":["../../../src/Validation/SchemaCompareVisitor.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Comparison\r\n */\r\n\r\nimport { AnyClass, AnyProperty, Constant, CustomAttributeClass, CustomAttributeContainerProps,\r\n ECClass, EntityClass, Enumeration, Format, InvertedUnit, ISchemaPartVisitor, KindOfQuantity, Mixin,\r\n Phenomenon, Property, PropertyCategory, RelationshipClass, RelationshipConstraint, Schema, SchemaItem,\r\n SchemaItemType, StructClass, Unit, UnitSystem,\r\n} from \"@itwin/ecschema-metadata\";\r\nimport { ISchemaComparer } from \"./SchemaComparer\";\r\n\r\n/**\r\n * An ISchemaPartVisitor interface implementation that is used to compare to Schemas.\r\n * @internal\r\n */\r\nexport class SchemaCompareVisitor implements ISchemaPartVisitor {\r\n private _schemaB: Schema;\r\n private _schemaComparer: ISchemaComparer;\r\n\r\n /**\r\n * Initializes a new SchemaCompareVisitor instance.\r\n * @param schemaComparer The [[SchemaComparer]] to use to compare each item of the schema.\r\n * @param schemaToCompare The second or 'B' schema to compare against the schema being traversed (Schema A).\r\n */\r\n constructor(schemaComparer: ISchemaComparer, schemaToCompare: Schema) {\r\n this._schemaComparer = schemaComparer;\r\n this._schemaB = schemaToCompare;\r\n }\r\n\r\n /**\r\n * Called before schema traversal.\r\n * @param schema a Schema object.\r\n */\r\n public async visitFullSchema(schemaA: Schema) {\r\n this._schemaComparer.compareSchemaProps(schemaA, this._schemaB);\r\n }\r\n\r\n /**\r\n * Called for each [[SchemaItem]] instance found during schema traversal.\r\n * @param schemaItem a SchemaItem object.\r\n */\r\n public async visitSchemaItem(schemaItemA: SchemaItem) {\r\n const schemaItemB = await this._schemaComparer.resolveItem(schemaItemA, this._schemaB, SchemaItem);\r\n this._schemaComparer.compareSchemaItems(schemaItemA, schemaItemB);\r\n }\r\n\r\n /**\r\n * Called for each [[AnyClass]] instance found during schema traversal.\r\n * @param ecClass an ECClass object.\r\n */\r\n public async visitClass(classA: AnyClass): Promise<void> {\r\n const classB = await this._schemaComparer.resolveItem(classA, this._schemaB, ECClass);\r\n if (classB && classA.schemaItemType === classB.schemaItemType)\r\n this._schemaComparer.compareClasses(classA, classB);\r\n }\r\n\r\n /**\r\n * Called for each [[AnyProperty]] instance of an ECClass.\r\n * @param property an AnyProperty object.\r\n */\r\n public async visitProperty(propertyA: AnyProperty): Promise<void> {\r\n let propertyB: AnyProperty | undefined;\r\n\r\n const classB = await this._schemaComparer.resolveItem(propertyA.class, this._schemaB, ECClass);\r\n if (classB && propertyA.class.schemaItemType === classB.schemaItemType){\r\n propertyB = await this._schemaComparer.resolveProperty(propertyA, classB);\r\n this._schemaComparer.compareProperties(propertyA, propertyB);\r\n }\r\n }\r\n\r\n /**\r\n * Called for each [[EntityClass]] instance found during schema traversal.\r\n * @param entityClass an EntityClass object.\r\n */\r\n public async visitEntityClass(entityA: EntityClass): Promise<void> {\r\n const entityB = await this._schemaComparer.resolveItem(entityA, this._schemaB, EntityClass);\r\n if (entityB && entityB.schemaItemType === SchemaItemType.EntityClass)\r\n this._schemaComparer.compareEntityClasses(entityA, entityB);\r\n }\r\n\r\n /**\r\n * Called for each [[StructClass]] instance found during schema traversal.\r\n * @param structClass a StructClass object.\r\n */\r\n public async visitStructClass(_structA: StructClass): Promise<void> {\r\n // No comparison to make specifically on StructClasses\r\n }\r\n\r\n /**\r\n * Called for each [[Mixin]] instance found during schema traversal.\r\n * @param mixin a Mixin object.\r\n */\r\n public async visitMixin(mixinA: Mixin): Promise<void> {\r\n const mixinB = await this._schemaComparer.resolveItem(mixinA, this._schemaB, Mixin);\r\n if (mixinB && mixinB.schemaItemType === SchemaItemType.Mixin)\r\n this._schemaComparer.compareMixins(mixinA, mixinB);\r\n }\r\n\r\n /**\r\n * Called for each [[RelationshipClass]] instance found during schema traversal.\r\n * @param relationshipClass a RelationshipClass object.\r\n */\r\n public async visitRelationshipClass(relationshipA: RelationshipClass): Promise<void> {\r\n const relationshipB = await this._schemaComparer.resolveItem(relationshipA, this._schemaB, RelationshipClass);\r\n if (relationshipB && relationshipB.schemaItemType === SchemaItemType.RelationshipClass)\r\n this._schemaComparer.compareRelationshipClasses(relationshipA, relationshipB);\r\n }\r\n\r\n /**\r\n * Called for each [[RelationshipConstraint]] of each RelationshipClass found during schema traversal.\r\n * @param relationshipConstraint a RelationshipConstraint object.\r\n */\r\n public async visitRelationshipConstraint(constraintA: RelationshipConstraint): Promise<void> {\r\n let constraintB: RelationshipConstraint | undefined;\r\n const relationshipB = await this._schemaComparer.resolveItem(constraintA.relationshipClass, this._schemaB, RelationshipClass);\r\n if (relationshipB && relationshipB.schemaItemType === SchemaItemType.RelationshipClass) {\r\n constraintB = constraintA.isSource ? relationshipB.source : relationshipB.target;\r\n if (constraintB) {\r\n this._schemaComparer.compareRelationshipConstraints(constraintA, constraintB);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Called for each [[CustomAttributeClass]] instance found during schema traversal.\r\n * @param customAttributeClass a CustomAttributeClass object.\r\n */\r\n public async visitCustomAttributeClass(customAttributeA: CustomAttributeClass): Promise<void> {\r\n const customAttributeB = await this._schemaComparer.resolveItem(customAttributeA, this._schemaB, CustomAttributeClass);\r\n if (customAttributeB && customAttributeB.schemaItemType === SchemaItemType.CustomAttributeClass)\r\n this._schemaComparer.compareCustomAttributeClasses(customAttributeA, customAttributeB);\r\n }\r\n\r\n /**\r\n * Called for each [[CustomAttribute]] container in the schema.\r\n * @param customAttributeContainer a [[CustomAttributeContainerProps]] object.\r\n */\r\n public async visitCustomAttributeContainer(containerA: CustomAttributeContainerProps): Promise<void> {\r\n let containerB: CustomAttributeContainerProps | undefined;\r\n\r\n if (Schema.isSchema(containerA)) {\r\n containerB = this._schemaB;\r\n } else if (ECClass.isECClass(containerA)) {\r\n const parent = await this._schemaComparer.resolveItem(containerA, this._schemaB, ECClass);\r\n containerB = parent && parent.schemaItemType === containerA.schemaItemType ? parent : undefined;\r\n } else if (Property.isProperty(containerA)) {\r\n const parent = await this._schemaComparer.resolveItem(containerA.class, this._schemaB, ECClass);\r\n containerB = parent && parent.schemaItemType === containerA.class.schemaItemType ? await this._schemaComparer.resolveProperty(containerA, parent) : undefined;\r\n } else if (RelationshipConstraint.isRelationshipConstraint(containerA)) {\r\n const parent = await this._schemaComparer.resolveItem(containerA.relationshipClass, this._schemaB, RelationshipClass);\r\n containerB = parent ? containerA.isSource ? parent.source : parent.target : undefined;\r\n }\r\n\r\n if (containerB)\r\n this._schemaComparer.compareCustomAttributeContainers(containerA, containerB);\r\n }\r\n\r\n /**\r\n * Called for each [[Enumeration]] instance found during schema traversal.\r\n * @param enumeration an Enumeration object.\r\n */\r\n public async visitEnumeration(enumA: Enumeration) {\r\n const enumB = await this._schemaComparer.resolveItem(enumA, this._schemaB, Enumeration);\r\n if (enumB && enumB.schemaItemType === SchemaItemType.Enumeration)\r\n this._schemaComparer.compareEnumerations(enumA, enumB);\r\n }\r\n\r\n /**\r\n * Called for each [[KindOfQuantity]] instance found during schema traversal.\r\n * @param koq a KindOfQuantity object.\r\n */\r\n public async visitKindOfQuantity(koqA: KindOfQuantity) {\r\n const koqB = await this._schemaComparer.resolveItem(koqA, this._schemaB, KindOfQuantity);\r\n if (koqB && koqB.schemaItemType === SchemaItemType.KindOfQuantity)\r\n this._schemaComparer.compareKindOfQuantities(koqA, koqB);\r\n }\r\n\r\n /**\r\n * Called for each [[PropertyCategory]] instance found during schema traversal.\r\n * @param category a PropertyCategory object.\r\n */\r\n public async visitPropertyCategory(categoryA: PropertyCategory) {\r\n const categoryB = await this._schemaComparer.resolveItem(categoryA, this._schemaB, PropertyCategory);\r\n if (categoryB && categoryB.schemaItemType === SchemaItemType.PropertyCategory)\r\n this._schemaComparer.comparePropertyCategories(categoryA, categoryB);\r\n }\r\n\r\n /**\r\n * Called for each [[Format]] instance found during schema traversal.\r\n * @param format a Format object.\r\n */\r\n public async visitFormat(formatA: Format): Promise<void> {\r\n const formatB = await this._schemaComparer.resolveItem(formatA, this._schemaB, Format);\r\n if (formatB && formatB.schemaItemType === SchemaItemType.Format)\r\n this._schemaComparer.compareFormats(formatA, formatB);\r\n }\r\n\r\n /**\r\n * Called for each [[Unit]] instance found during schema traversal.\r\n * @param unit a Unit object.\r\n */\r\n public async visitUnit(unitA: Unit): Promise<void> {\r\n const unitB = await this._schemaComparer.resolveItem(unitA, this._schemaB, Unit);\r\n if (unitB && Unit.isUnit(unitB))\r\n this._schemaComparer.compareUnits(unitA, unitB);\r\n }\r\n\r\n /**\r\n * Called for each [[InvertedUnit]] instance found during schema traversal.\r\n * @param invertedUnit an InvertedUnit object.\r\n */\r\n public async visitInvertedUnit(invertedUnitA: InvertedUnit): Promise<void> {\r\n const invertedUnitB = await this._schemaComparer.resolveItem(invertedUnitA, this._schemaB, InvertedUnit);\r\n if (invertedUnitB && invertedUnitB.schemaItemType === SchemaItemType.InvertedUnit)\r\n this._schemaComparer.compareInvertedUnits(invertedUnitA, invertedUnitB);\r\n }\r\n\r\n /**\r\n * Called for each [[UnitSystem]] instance found during schema traversal.\r\n * @param unitSystem a UnitSystem object.\r\n */\r\n public async visitUnitSystem(_unitSystemA: UnitSystem): Promise<void> {\r\n // No comparison to make specifically on unitSystem\r\n }\r\n\r\n /**\r\n * Called for each [[Phenomenon]] instance found during schema traversal.\r\n * @param phenomena a Phenomenon object.\r\n */\r\n public async visitPhenomenon(phenomenonA: Phenomenon): Promise<void> {\r\n const phenomenonB = await this._schemaComparer.resolveItem(phenomenonA, this._schemaB, Phenomenon);\r\n if (phenomenonB && phenomenonB.schemaItemType === SchemaItemType.Phenomenon)\r\n this._schemaComparer.comparePhenomenons(phenomenonA, phenomenonB);\r\n }\r\n\r\n /**\r\n * Called for each [[Constant]] instance found during schema traversal.\r\n * @param constant a Constant object.\r\n */\r\n public async visitConstant(constantA: Constant): Promise<void> {\r\n const constantB = await this._schemaComparer.resolveItem(constantA, this._schemaB, Constant);\r\n if (constantB && constantB.schemaItemType === SchemaItemType.Constant)\r\n this._schemaComparer.compareConstants(constantA, constantB);\r\n }\r\n}\r\n"]}
|