@itwin/ecschema-editing 5.0.0-dev.90 → 5.0.0-dev.93
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/lib/cjs/Validation/DiagnosticReporter.js +1 -1
- package/lib/cjs/Validation/DiagnosticReporter.js.map +1 -1
- package/lib/esm/Differencing/Errors.d.ts +19 -0
- package/lib/esm/Differencing/Errors.d.ts.map +1 -0
- package/lib/esm/Differencing/Errors.js +26 -0
- package/lib/esm/Differencing/Errors.js.map +1 -0
- package/lib/esm/Differencing/SchemaConflicts.d.ts +84 -0
- package/lib/esm/Differencing/SchemaConflicts.d.ts.map +1 -0
- package/lib/esm/Differencing/SchemaConflicts.js +60 -0
- package/lib/esm/Differencing/SchemaConflicts.js.map +1 -0
- package/lib/esm/Differencing/SchemaDiagnosticVisitor.d.ts +41 -0
- package/lib/esm/Differencing/SchemaDiagnosticVisitor.d.ts.map +1 -0
- package/lib/esm/Differencing/SchemaDiagnosticVisitor.js +443 -0
- package/lib/esm/Differencing/SchemaDiagnosticVisitor.js.map +1 -0
- package/lib/esm/Differencing/SchemaDifference.d.ts +357 -0
- package/lib/esm/Differencing/SchemaDifference.d.ts.map +1 -0
- package/lib/esm/Differencing/SchemaDifference.js +106 -0
- package/lib/esm/Differencing/SchemaDifference.js.map +1 -0
- package/lib/esm/Differencing/SchemaDifferenceValidator.d.ts +18 -0
- package/lib/esm/Differencing/SchemaDifferenceValidator.d.ts.map +1 -0
- package/lib/esm/Differencing/SchemaDifferenceValidator.js +521 -0
- package/lib/esm/Differencing/SchemaDifferenceValidator.js.map +1 -0
- package/lib/esm/Differencing/SchemaDifferenceVisitor.d.ts +32 -0
- package/lib/esm/Differencing/SchemaDifferenceVisitor.d.ts.map +1 -0
- package/lib/esm/Differencing/SchemaDifferenceVisitor.js +88 -0
- package/lib/esm/Differencing/SchemaDifferenceVisitor.js.map +1 -0
- package/lib/esm/Differencing/Utils.d.ts +110 -0
- package/lib/esm/Differencing/Utils.d.ts.map +1 -0
- package/lib/esm/Differencing/Utils.js +161 -0
- package/lib/esm/Differencing/Utils.js.map +1 -0
- package/lib/esm/Editing/Constants.d.ts +22 -0
- package/lib/esm/Editing/Constants.d.ts.map +1 -0
- package/lib/esm/Editing/Constants.js +55 -0
- package/lib/esm/Editing/Constants.js.map +1 -0
- package/lib/esm/Editing/CustomAttributes.d.ts +22 -0
- package/lib/esm/Editing/CustomAttributes.d.ts.map +1 -0
- package/lib/esm/Editing/CustomAttributes.js +49 -0
- package/lib/esm/Editing/CustomAttributes.js.map +1 -0
- package/lib/esm/Editing/ECClasses.d.ts +86 -0
- package/lib/esm/Editing/ECClasses.d.ts.map +1 -0
- package/lib/esm/Editing/ECClasses.js +294 -0
- package/lib/esm/Editing/ECClasses.js.map +1 -0
- package/lib/esm/Editing/Editor.d.ts +117 -0
- package/lib/esm/Editing/Editor.d.ts.map +1 -0
- package/lib/esm/Editing/Editor.js +264 -0
- package/lib/esm/Editing/Editor.js.map +1 -0
- package/lib/esm/Editing/Entities.d.ts +38 -0
- package/lib/esm/Editing/Entities.d.ts.map +1 -0
- package/lib/esm/Editing/Entities.js +126 -0
- package/lib/esm/Editing/Entities.js.map +1 -0
- package/lib/esm/Editing/Enumerations.d.ts +25 -0
- package/lib/esm/Editing/Enumerations.d.ts.map +1 -0
- package/lib/esm/Editing/Enumerations.js +90 -0
- package/lib/esm/Editing/Enumerations.js.map +1 -0
- package/lib/esm/Editing/Exception.d.ts +358 -0
- package/lib/esm/Editing/Exception.d.ts.map +1 -0
- package/lib/esm/Editing/Exception.js +471 -0
- package/lib/esm/Editing/Exception.js.map +1 -0
- package/lib/esm/Editing/Formats.d.ts +23 -0
- package/lib/esm/Editing/Formats.d.ts.map +1 -0
- package/lib/esm/Editing/Formats.js +62 -0
- package/lib/esm/Editing/Formats.js.map +1 -0
- package/lib/esm/Editing/InvertedUnits.d.ts +19 -0
- package/lib/esm/Editing/InvertedUnits.d.ts.map +1 -0
- package/lib/esm/Editing/InvertedUnits.js +68 -0
- package/lib/esm/Editing/InvertedUnits.js.map +1 -0
- package/lib/esm/Editing/KindOfQuantities.d.ts +30 -0
- package/lib/esm/Editing/KindOfQuantities.d.ts.map +1 -0
- package/lib/esm/Editing/KindOfQuantities.js +92 -0
- package/lib/esm/Editing/KindOfQuantities.js.map +1 -0
- package/lib/esm/Editing/Mixins.d.ts +35 -0
- package/lib/esm/Editing/Mixins.d.ts.map +1 -0
- package/lib/esm/Editing/Mixins.js +90 -0
- package/lib/esm/Editing/Mixins.js.map +1 -0
- package/lib/esm/Editing/Mutable/MutableArrayProperty.d.ts +10 -0
- package/lib/esm/Editing/Mutable/MutableArrayProperty.d.ts.map +1 -0
- package/lib/esm/Editing/Mutable/MutableArrayProperty.js +12 -0
- package/lib/esm/Editing/Mutable/MutableArrayProperty.js.map +1 -0
- package/lib/esm/Editing/Mutable/MutableCAClass.d.ts +10 -0
- package/lib/esm/Editing/Mutable/MutableCAClass.d.ts.map +1 -0
- package/lib/esm/Editing/Mutable/MutableCAClass.js +12 -0
- package/lib/esm/Editing/Mutable/MutableCAClass.js.map +1 -0
- package/lib/esm/Editing/Mutable/MutableClass.d.ts +39 -0
- package/lib/esm/Editing/Mutable/MutableClass.d.ts.map +1 -0
- package/lib/esm/Editing/Mutable/MutableClass.js +18 -0
- package/lib/esm/Editing/Mutable/MutableClass.js.map +1 -0
- package/lib/esm/Editing/Mutable/MutableConstant.d.ts +14 -0
- package/lib/esm/Editing/Mutable/MutableConstant.d.ts.map +1 -0
- package/lib/esm/Editing/Mutable/MutableConstant.js +12 -0
- package/lib/esm/Editing/Mutable/MutableConstant.js.map +1 -0
- package/lib/esm/Editing/Mutable/MutableEntityClass.d.ts +12 -0
- package/lib/esm/Editing/Mutable/MutableEntityClass.d.ts.map +1 -0
- package/lib/esm/Editing/Mutable/MutableEntityClass.js +12 -0
- package/lib/esm/Editing/Mutable/MutableEntityClass.js.map +1 -0
- package/lib/esm/Editing/Mutable/MutableEnumeration.d.ts +11 -0
- package/lib/esm/Editing/Mutable/MutableEnumeration.d.ts.map +1 -0
- package/lib/esm/Editing/Mutable/MutableEnumeration.js +11 -0
- package/lib/esm/Editing/Mutable/MutableEnumeration.js.map +1 -0
- package/lib/esm/Editing/Mutable/MutableFormat.d.ts +26 -0
- package/lib/esm/Editing/Mutable/MutableFormat.d.ts.map +1 -0
- package/lib/esm/Editing/Mutable/MutableFormat.js +12 -0
- package/lib/esm/Editing/Mutable/MutableFormat.js.map +1 -0
- package/lib/esm/Editing/Mutable/MutableInvertedUnit.d.ts +11 -0
- package/lib/esm/Editing/Mutable/MutableInvertedUnit.d.ts.map +1 -0
- package/lib/esm/Editing/Mutable/MutableInvertedUnit.js +12 -0
- package/lib/esm/Editing/Mutable/MutableInvertedUnit.js.map +1 -0
- package/lib/esm/Editing/Mutable/MutableKindOfQuantity.d.ts +14 -0
- package/lib/esm/Editing/Mutable/MutableKindOfQuantity.d.ts.map +1 -0
- package/lib/esm/Editing/Mutable/MutableKindOfQuantity.js +12 -0
- package/lib/esm/Editing/Mutable/MutableKindOfQuantity.js.map +1 -0
- package/lib/esm/Editing/Mutable/MutableMixin.d.ts +12 -0
- package/lib/esm/Editing/Mutable/MutableMixin.d.ts.map +1 -0
- package/lib/esm/Editing/Mutable/MutableMixin.js +12 -0
- package/lib/esm/Editing/Mutable/MutableMixin.js.map +1 -0
- package/lib/esm/Editing/Mutable/MutableNavigationProperty.d.ts +8 -0
- package/lib/esm/Editing/Mutable/MutableNavigationProperty.d.ts.map +1 -0
- package/lib/esm/Editing/Mutable/MutableNavigationProperty.js +12 -0
- package/lib/esm/Editing/Mutable/MutableNavigationProperty.js.map +1 -0
- package/lib/esm/Editing/Mutable/MutablePhenomenon.d.ts +11 -0
- package/lib/esm/Editing/Mutable/MutablePhenomenon.d.ts.map +1 -0
- package/lib/esm/Editing/Mutable/MutablePhenomenon.js +12 -0
- package/lib/esm/Editing/Mutable/MutablePhenomenon.js.map +1 -0
- package/lib/esm/Editing/Mutable/MutablePrimitiveOrEnumProperty.d.ts +13 -0
- package/lib/esm/Editing/Mutable/MutablePrimitiveOrEnumProperty.d.ts.map +1 -0
- package/lib/esm/Editing/Mutable/MutablePrimitiveOrEnumProperty.js +12 -0
- package/lib/esm/Editing/Mutable/MutablePrimitiveOrEnumProperty.js.map +1 -0
- package/lib/esm/Editing/Mutable/MutableProperty.d.ts +16 -0
- package/lib/esm/Editing/Mutable/MutableProperty.d.ts.map +1 -0
- package/lib/esm/Editing/Mutable/MutableProperty.js +12 -0
- package/lib/esm/Editing/Mutable/MutableProperty.js.map +1 -0
- package/lib/esm/Editing/Mutable/MutablePropertyCategory.d.ts +11 -0
- package/lib/esm/Editing/Mutable/MutablePropertyCategory.d.ts.map +1 -0
- package/lib/esm/Editing/Mutable/MutablePropertyCategory.js +12 -0
- package/lib/esm/Editing/Mutable/MutablePropertyCategory.js.map +1 -0
- package/lib/esm/Editing/Mutable/MutableRelationshipClass.d.ts +30 -0
- package/lib/esm/Editing/Mutable/MutableRelationshipClass.d.ts.map +1 -0
- package/lib/esm/Editing/Mutable/MutableRelationshipClass.js +20 -0
- package/lib/esm/Editing/Mutable/MutableRelationshipClass.js.map +1 -0
- package/lib/esm/Editing/Mutable/MutableSchema.d.ts +51 -0
- package/lib/esm/Editing/Mutable/MutableSchema.d.ts.map +1 -0
- package/lib/esm/Editing/Mutable/MutableSchema.js +14 -0
- package/lib/esm/Editing/Mutable/MutableSchema.js.map +1 -0
- package/lib/esm/Editing/Mutable/MutableSchemaItem.d.ts +11 -0
- package/lib/esm/Editing/Mutable/MutableSchemaItem.d.ts.map +1 -0
- package/lib/esm/Editing/Mutable/MutableSchemaItem.js +12 -0
- package/lib/esm/Editing/Mutable/MutableSchemaItem.js.map +1 -0
- package/lib/esm/Editing/Mutable/MutableStructProperty.d.ts +8 -0
- package/lib/esm/Editing/Mutable/MutableStructProperty.d.ts.map +1 -0
- package/lib/esm/Editing/Mutable/MutableStructProperty.js +12 -0
- package/lib/esm/Editing/Mutable/MutableStructProperty.js.map +1 -0
- package/lib/esm/Editing/Mutable/MutableUnit.d.ts +12 -0
- package/lib/esm/Editing/Mutable/MutableUnit.d.ts.map +1 -0
- package/lib/esm/Editing/Mutable/MutableUnit.js +12 -0
- package/lib/esm/Editing/Mutable/MutableUnit.js.map +1 -0
- package/lib/esm/Editing/Mutable/MutableUnitSystem.d.ts +10 -0
- package/lib/esm/Editing/Mutable/MutableUnitSystem.d.ts.map +1 -0
- package/lib/esm/Editing/Mutable/MutableUnitSystem.js +12 -0
- package/lib/esm/Editing/Mutable/MutableUnitSystem.js.map +1 -0
- package/lib/esm/Editing/Phenomena.d.ts +17 -0
- package/lib/esm/Editing/Phenomena.d.ts.map +1 -0
- package/lib/esm/Editing/Phenomena.js +44 -0
- package/lib/esm/Editing/Phenomena.js.map +1 -0
- package/lib/esm/Editing/Properties.d.ts +206 -0
- package/lib/esm/Editing/Properties.d.ts.map +1 -0
- package/lib/esm/Editing/Properties.js +415 -0
- package/lib/esm/Editing/Properties.js.map +1 -0
- package/lib/esm/Editing/PropertyCategories.d.ts +18 -0
- package/lib/esm/Editing/PropertyCategories.d.ts.map +1 -0
- package/lib/esm/Editing/PropertyCategories.js +54 -0
- package/lib/esm/Editing/PropertyCategories.js.map +1 -0
- package/lib/esm/Editing/RelationshipClasses.d.ts +69 -0
- package/lib/esm/Editing/RelationshipClasses.d.ts.map +1 -0
- package/lib/esm/Editing/RelationshipClasses.js +236 -0
- package/lib/esm/Editing/RelationshipClasses.js.map +1 -0
- package/lib/esm/Editing/SchemaItems.d.ts +42 -0
- package/lib/esm/Editing/SchemaItems.d.ts.map +1 -0
- package/lib/esm/Editing/SchemaItems.js +104 -0
- package/lib/esm/Editing/SchemaItems.js.map +1 -0
- package/lib/esm/Editing/Structs.d.ts +21 -0
- package/lib/esm/Editing/Structs.d.ts.map +1 -0
- package/lib/esm/Editing/Structs.js +47 -0
- package/lib/esm/Editing/Structs.js.map +1 -0
- package/lib/esm/Editing/UnitSystems.d.ts +17 -0
- package/lib/esm/Editing/UnitSystems.d.ts.map +1 -0
- package/lib/esm/Editing/UnitSystems.js +43 -0
- package/lib/esm/Editing/UnitSystems.js.map +1 -0
- package/lib/esm/Editing/Units.d.ts +17 -0
- package/lib/esm/Editing/Units.d.ts.map +1 -0
- package/lib/esm/Editing/Units.js +49 -0
- package/lib/esm/Editing/Units.js.map +1 -0
- package/lib/esm/Merging/ClassMerger.d.ts +9 -0
- package/lib/esm/Merging/ClassMerger.d.ts.map +1 -0
- package/lib/esm/Merging/ClassMerger.js +66 -0
- package/lib/esm/Merging/ClassMerger.js.map +1 -0
- package/lib/esm/Merging/ConstantMerger.d.ts +14 -0
- package/lib/esm/Merging/ConstantMerger.d.ts.map +1 -0
- package/lib/esm/Merging/ConstantMerger.js +64 -0
- package/lib/esm/Merging/ConstantMerger.js.map +1 -0
- package/lib/esm/Merging/CustomAttributeClassMerger.d.ts +14 -0
- package/lib/esm/Merging/CustomAttributeClassMerger.d.ts.map +1 -0
- package/lib/esm/Merging/CustomAttributeClassMerger.js +36 -0
- package/lib/esm/Merging/CustomAttributeClassMerger.js.map +1 -0
- package/lib/esm/Merging/CustomAttributeMerger.d.ts +19 -0
- package/lib/esm/Merging/CustomAttributeMerger.d.ts.map +1 -0
- package/lib/esm/Merging/CustomAttributeMerger.js +66 -0
- package/lib/esm/Merging/CustomAttributeMerger.js.map +1 -0
- package/lib/esm/Merging/Edits/NameMapping.d.ts +22 -0
- package/lib/esm/Merging/Edits/NameMapping.d.ts.map +1 -0
- package/lib/esm/Merging/Edits/NameMapping.js +49 -0
- package/lib/esm/Merging/Edits/NameMapping.js.map +1 -0
- package/lib/esm/Merging/Edits/RenameEditHandler.d.ts +14 -0
- package/lib/esm/Merging/Edits/RenameEditHandler.d.ts.map +1 -0
- package/lib/esm/Merging/Edits/RenameEditHandler.js +62 -0
- package/lib/esm/Merging/Edits/RenameEditHandler.js.map +1 -0
- package/lib/esm/Merging/Edits/SchemaEdits.d.ts +81 -0
- package/lib/esm/Merging/Edits/SchemaEdits.d.ts.map +1 -0
- package/lib/esm/Merging/Edits/SchemaEdits.js +112 -0
- package/lib/esm/Merging/Edits/SchemaEdits.js.map +1 -0
- package/lib/esm/Merging/Edits/SkipEditHandler.d.ts +14 -0
- package/lib/esm/Merging/Edits/SkipEditHandler.d.ts.map +1 -0
- package/lib/esm/Merging/Edits/SkipEditHandler.js +60 -0
- package/lib/esm/Merging/Edits/SkipEditHandler.js.map +1 -0
- package/lib/esm/Merging/EntityClassMerger.d.ts +19 -0
- package/lib/esm/Merging/EntityClassMerger.d.ts.map +1 -0
- package/lib/esm/Merging/EntityClassMerger.js +39 -0
- package/lib/esm/Merging/EntityClassMerger.js.map +1 -0
- package/lib/esm/Merging/EnumerationMerger.d.ts +14 -0
- package/lib/esm/Merging/EnumerationMerger.d.ts.map +1 -0
- package/lib/esm/Merging/EnumerationMerger.js +48 -0
- package/lib/esm/Merging/EnumerationMerger.js.map +1 -0
- package/lib/esm/Merging/EnumeratorMerger.d.ts +14 -0
- package/lib/esm/Merging/EnumeratorMerger.d.ts.map +1 -0
- package/lib/esm/Merging/EnumeratorMerger.js +36 -0
- package/lib/esm/Merging/EnumeratorMerger.js.map +1 -0
- package/lib/esm/Merging/FormatMerger.d.ts +24 -0
- package/lib/esm/Merging/FormatMerger.d.ts.map +1 -0
- package/lib/esm/Merging/FormatMerger.js +137 -0
- package/lib/esm/Merging/FormatMerger.js.map +1 -0
- package/lib/esm/Merging/InvertedUnitMerger.d.ts +14 -0
- package/lib/esm/Merging/InvertedUnitMerger.d.ts.map +1 -0
- package/lib/esm/Merging/InvertedUnitMerger.js +41 -0
- package/lib/esm/Merging/InvertedUnitMerger.js.map +1 -0
- package/lib/esm/Merging/KindOfQuantityMerger.d.ts +19 -0
- package/lib/esm/Merging/KindOfQuantityMerger.d.ts.map +1 -0
- package/lib/esm/Merging/KindOfQuantityMerger.js +89 -0
- package/lib/esm/Merging/KindOfQuantityMerger.js.map +1 -0
- package/lib/esm/Merging/MixinMerger.d.ts +14 -0
- package/lib/esm/Merging/MixinMerger.d.ts.map +1 -0
- package/lib/esm/Merging/MixinMerger.js +33 -0
- package/lib/esm/Merging/MixinMerger.js.map +1 -0
- package/lib/esm/Merging/PhenomenonMerger.d.ts +14 -0
- package/lib/esm/Merging/PhenomenonMerger.d.ts.map +1 -0
- package/lib/esm/Merging/PhenomenonMerger.js +36 -0
- package/lib/esm/Merging/PhenomenonMerger.js.map +1 -0
- package/lib/esm/Merging/PropertyCategoryMerger.d.ts +14 -0
- package/lib/esm/Merging/PropertyCategoryMerger.d.ts.map +1 -0
- package/lib/esm/Merging/PropertyCategoryMerger.js +31 -0
- package/lib/esm/Merging/PropertyCategoryMerger.js.map +1 -0
- package/lib/esm/Merging/PropertyMerger.d.ts +12 -0
- package/lib/esm/Merging/PropertyMerger.d.ts.map +1 -0
- package/lib/esm/Merging/PropertyMerger.js +228 -0
- package/lib/esm/Merging/PropertyMerger.js.map +1 -0
- package/lib/esm/Merging/RelationshipClassMerger.d.ts +27 -0
- package/lib/esm/Merging/RelationshipClassMerger.d.ts.map +1 -0
- package/lib/esm/Merging/RelationshipClassMerger.js +136 -0
- package/lib/esm/Merging/RelationshipClassMerger.js.map +1 -0
- package/lib/esm/Merging/SchemaMerger.d.ts +49 -0
- package/lib/esm/Merging/SchemaMerger.d.ts.map +1 -0
- package/lib/esm/Merging/SchemaMerger.js +117 -0
- package/lib/esm/Merging/SchemaMerger.js.map +1 -0
- package/lib/esm/Merging/SchemaMergingVisitor.d.ts +149 -0
- package/lib/esm/Merging/SchemaMergingVisitor.d.ts.map +1 -0
- package/lib/esm/Merging/SchemaMergingVisitor.js +339 -0
- package/lib/esm/Merging/SchemaMergingVisitor.js.map +1 -0
- package/lib/esm/Merging/SchemaMergingWalker.d.ts +19 -0
- package/lib/esm/Merging/SchemaMergingWalker.d.ts.map +1 -0
- package/lib/esm/Merging/SchemaMergingWalker.js +61 -0
- package/lib/esm/Merging/SchemaMergingWalker.js.map +1 -0
- package/lib/esm/Merging/SchemaReferenceMerger.d.ts +13 -0
- package/lib/esm/Merging/SchemaReferenceMerger.d.ts.map +1 -0
- package/lib/esm/Merging/SchemaReferenceMerger.js +57 -0
- package/lib/esm/Merging/SchemaReferenceMerger.js.map +1 -0
- package/lib/esm/Merging/StructClassMerger.d.ts +14 -0
- package/lib/esm/Merging/StructClassMerger.d.ts.map +1 -0
- package/lib/esm/Merging/StructClassMerger.js +20 -0
- package/lib/esm/Merging/StructClassMerger.js.map +1 -0
- package/lib/esm/Merging/UnitMerger.d.ts +14 -0
- package/lib/esm/Merging/UnitMerger.d.ts.map +1 -0
- package/lib/esm/Merging/UnitMerger.js +58 -0
- package/lib/esm/Merging/UnitMerger.js.map +1 -0
- package/lib/esm/Merging/UnitSystemMerger.d.ts +14 -0
- package/lib/esm/Merging/UnitSystemMerger.d.ts.map +1 -0
- package/lib/esm/Merging/UnitSystemMerger.js +24 -0
- package/lib/esm/Merging/UnitSystemMerger.js.map +1 -0
- package/lib/esm/Merging/Utils.d.ts +34 -0
- package/lib/esm/Merging/Utils.d.ts.map +1 -0
- package/lib/esm/Merging/Utils.js +90 -0
- package/lib/esm/Merging/Utils.js.map +1 -0
- package/lib/esm/Validation/Diagnostic.d.ts +322 -0
- package/lib/esm/Validation/Diagnostic.d.ts.map +1 -0
- package/lib/esm/Validation/Diagnostic.js +295 -0
- package/lib/esm/Validation/Diagnostic.js.map +1 -0
- package/lib/esm/Validation/DiagnosticReporter.d.ts +97 -0
- package/lib/esm/Validation/DiagnosticReporter.d.ts.map +1 -0
- package/lib/esm/Validation/DiagnosticReporter.js +105 -0
- package/lib/esm/Validation/DiagnosticReporter.js.map +1 -0
- package/lib/esm/Validation/ECRules.d.ts +454 -0
- package/lib/esm/Validation/ECRules.d.ts.map +1 -0
- package/lib/esm/Validation/ECRules.js +578 -0
- package/lib/esm/Validation/ECRules.js.map +1 -0
- package/lib/esm/Validation/LoggingDiagnosticReporter.d.ts +14 -0
- package/lib/esm/Validation/LoggingDiagnosticReporter.d.ts.map +1 -0
- package/lib/esm/Validation/LoggingDiagnosticReporter.js +37 -0
- package/lib/esm/Validation/LoggingDiagnosticReporter.js.map +1 -0
- package/lib/esm/Validation/RuleSuppressionSet.d.ts +60 -0
- package/lib/esm/Validation/RuleSuppressionSet.d.ts.map +1 -0
- package/lib/esm/Validation/RuleSuppressionSet.js +9 -0
- package/lib/esm/Validation/RuleSuppressionSet.js.map +1 -0
- package/lib/esm/Validation/Rules.d.ts +65 -0
- package/lib/esm/Validation/Rules.d.ts.map +1 -0
- package/lib/esm/Validation/Rules.js +9 -0
- package/lib/esm/Validation/Rules.js.map +1 -0
- package/lib/esm/Validation/SchemaChanges.d.ts +640 -0
- package/lib/esm/Validation/SchemaChanges.d.ts.map +1 -0
- package/lib/esm/Validation/SchemaChanges.js +1141 -0
- package/lib/esm/Validation/SchemaChanges.js.map +1 -0
- package/lib/esm/Validation/SchemaCompareDiagnostics.d.ts +423 -0
- package/lib/esm/Validation/SchemaCompareDiagnostics.d.ts.map +1 -0
- package/lib/esm/Validation/SchemaCompareDiagnostics.js +109 -0
- package/lib/esm/Validation/SchemaCompareDiagnostics.js.map +1 -0
- package/lib/esm/Validation/SchemaCompareReporter.d.ts +12 -0
- package/lib/esm/Validation/SchemaCompareReporter.d.ts.map +1 -0
- package/lib/esm/Validation/SchemaCompareReporter.js +9 -0
- package/lib/esm/Validation/SchemaCompareReporter.js.map +1 -0
- package/lib/esm/Validation/SchemaCompareResultDelegate.d.ts +237 -0
- package/lib/esm/Validation/SchemaCompareResultDelegate.d.ts.map +1 -0
- package/lib/esm/Validation/SchemaCompareResultDelegate.js +346 -0
- package/lib/esm/Validation/SchemaCompareResultDelegate.js.map +1 -0
- package/lib/esm/Validation/SchemaCompareVisitor.d.ts +120 -0
- package/lib/esm/Validation/SchemaCompareVisitor.d.ts.map +1 -0
- package/lib/esm/Validation/SchemaCompareVisitor.js +222 -0
- package/lib/esm/Validation/SchemaCompareVisitor.js.map +1 -0
- package/lib/esm/Validation/SchemaComparer.d.ts +211 -0
- package/lib/esm/Validation/SchemaComparer.d.ts.map +1 -0
- package/lib/esm/Validation/SchemaComparer.js +770 -0
- package/lib/esm/Validation/SchemaComparer.js.map +1 -0
- package/lib/esm/Validation/SchemaValidater.d.ts +20 -0
- package/lib/esm/Validation/SchemaValidater.d.ts.map +1 -0
- package/lib/esm/Validation/SchemaValidater.js +55 -0
- package/lib/esm/Validation/SchemaValidater.js.map +1 -0
- package/lib/esm/Validation/SchemaValidationVisitor.d.ts +171 -0
- package/lib/esm/Validation/SchemaValidationVisitor.d.ts.map +1 -0
- package/lib/esm/Validation/SchemaValidationVisitor.js +488 -0
- package/lib/esm/Validation/SchemaValidationVisitor.js.map +1 -0
- package/lib/esm/Validation/SchemaWalker.d.ts +23 -0
- package/lib/esm/Validation/SchemaWalker.d.ts.map +1 -0
- package/lib/esm/Validation/SchemaWalker.js +50 -0
- package/lib/esm/Validation/SchemaWalker.js.map +1 -0
- package/lib/esm/ecschema-editing.d.ts +49 -0
- package/lib/esm/ecschema-editing.d.ts.map +1 -0
- package/lib/esm/ecschema-editing.js +52 -0
- package/lib/esm/ecschema-editing.js.map +1 -0
- package/package.json +12 -10
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
/** @packageDocumentation
|
|
6
|
+
* @module Comparison
|
|
7
|
+
*/
|
|
8
|
+
import { Constant, CustomAttributeClass, ECClass, EntityClass, Enumeration, Format, InvertedUnit, KindOfQuantity, Mixin, Phenomenon, Property, PropertyCategory, RelationshipClass, RelationshipConstraint, Schema, SchemaItem, SchemaItemType, Unit, } from "@itwin/ecschema-metadata";
|
|
9
|
+
/**
|
|
10
|
+
* An ISchemaPartVisitor interface implementation that is used to compare to Schemas.
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
export class SchemaCompareVisitor {
|
|
14
|
+
_schemaB;
|
|
15
|
+
_schemaComparer;
|
|
16
|
+
/**
|
|
17
|
+
* Initializes a new SchemaCompareVisitor instance.
|
|
18
|
+
* @param schemaComparer The [[SchemaComparer]] to use to compare each item of the schema.
|
|
19
|
+
* @param schemaToCompare The second or 'B' schema to compare against the schema being traversed (Schema A).
|
|
20
|
+
*/
|
|
21
|
+
constructor(schemaComparer, schemaToCompare) {
|
|
22
|
+
this._schemaComparer = schemaComparer;
|
|
23
|
+
this._schemaB = schemaToCompare;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Called before schema traversal.
|
|
27
|
+
* @param schema a Schema object.
|
|
28
|
+
*/
|
|
29
|
+
async visitFullSchema(schemaA) {
|
|
30
|
+
this._schemaComparer.compareSchemaProps(schemaA, this._schemaB);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Called for each [[SchemaItem]] instance found during schema traversal.
|
|
34
|
+
* @param schemaItem a SchemaItem object.
|
|
35
|
+
*/
|
|
36
|
+
async visitSchemaItem(schemaItemA) {
|
|
37
|
+
const schemaItemB = await this._schemaComparer.resolveItem(schemaItemA, this._schemaB, SchemaItem);
|
|
38
|
+
this._schemaComparer.compareSchemaItems(schemaItemA, schemaItemB);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Called for each [[AnyClass]] instance found during schema traversal.
|
|
42
|
+
* @param ecClass an ECClass object.
|
|
43
|
+
*/
|
|
44
|
+
async visitClass(classA) {
|
|
45
|
+
const classB = await this._schemaComparer.resolveItem(classA, this._schemaB, ECClass);
|
|
46
|
+
if (classB && classA.schemaItemType === classB.schemaItemType)
|
|
47
|
+
this._schemaComparer.compareClasses(classA, classB);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Called for each [[AnyProperty]] instance of an ECClass.
|
|
51
|
+
* @param property an AnyProperty object.
|
|
52
|
+
*/
|
|
53
|
+
async visitProperty(propertyA) {
|
|
54
|
+
let propertyB;
|
|
55
|
+
const classB = await this._schemaComparer.resolveItem(propertyA.class, this._schemaB, ECClass);
|
|
56
|
+
if (classB && propertyA.class.schemaItemType === classB.schemaItemType) {
|
|
57
|
+
propertyB = await this._schemaComparer.resolveProperty(propertyA, classB);
|
|
58
|
+
this._schemaComparer.compareProperties(propertyA, propertyB);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Called for each [[EntityClass]] instance found during schema traversal.
|
|
63
|
+
* @param entityClass an EntityClass object.
|
|
64
|
+
*/
|
|
65
|
+
async visitEntityClass(entityA) {
|
|
66
|
+
const entityB = await this._schemaComparer.resolveItem(entityA, this._schemaB, EntityClass);
|
|
67
|
+
if (entityB && entityB.schemaItemType === SchemaItemType.EntityClass)
|
|
68
|
+
this._schemaComparer.compareEntityClasses(entityA, entityB);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Called for each [[StructClass]] instance found during schema traversal.
|
|
72
|
+
* @param structClass a StructClass object.
|
|
73
|
+
*/
|
|
74
|
+
async visitStructClass(_structA) {
|
|
75
|
+
// No comparison to make specifically on StructClasses
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Called for each [[Mixin]] instance found during schema traversal.
|
|
79
|
+
* @param mixin a Mixin object.
|
|
80
|
+
*/
|
|
81
|
+
async visitMixin(mixinA) {
|
|
82
|
+
const mixinB = await this._schemaComparer.resolveItem(mixinA, this._schemaB, Mixin);
|
|
83
|
+
if (mixinB && mixinB.schemaItemType === SchemaItemType.Mixin)
|
|
84
|
+
this._schemaComparer.compareMixins(mixinA, mixinB);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Called for each [[RelationshipClass]] instance found during schema traversal.
|
|
88
|
+
* @param relationshipClass a RelationshipClass object.
|
|
89
|
+
*/
|
|
90
|
+
async visitRelationshipClass(relationshipA) {
|
|
91
|
+
const relationshipB = await this._schemaComparer.resolveItem(relationshipA, this._schemaB, RelationshipClass);
|
|
92
|
+
if (relationshipB && relationshipB.schemaItemType === SchemaItemType.RelationshipClass)
|
|
93
|
+
this._schemaComparer.compareRelationshipClasses(relationshipA, relationshipB);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Called for each [[RelationshipConstraint]] of each RelationshipClass found during schema traversal.
|
|
97
|
+
* @param relationshipConstraint a RelationshipConstraint object.
|
|
98
|
+
*/
|
|
99
|
+
async visitRelationshipConstraint(constraintA) {
|
|
100
|
+
let constraintB;
|
|
101
|
+
const relationshipB = await this._schemaComparer.resolveItem(constraintA.relationshipClass, this._schemaB, RelationshipClass);
|
|
102
|
+
if (relationshipB && relationshipB.schemaItemType === SchemaItemType.RelationshipClass) {
|
|
103
|
+
constraintB = constraintA.isSource ? relationshipB.source : relationshipB.target;
|
|
104
|
+
if (constraintB) {
|
|
105
|
+
this._schemaComparer.compareRelationshipConstraints(constraintA, constraintB);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Called for each [[CustomAttributeClass]] instance found during schema traversal.
|
|
111
|
+
* @param customAttributeClass a CustomAttributeClass object.
|
|
112
|
+
*/
|
|
113
|
+
async visitCustomAttributeClass(customAttributeA) {
|
|
114
|
+
const customAttributeB = await this._schemaComparer.resolveItem(customAttributeA, this._schemaB, CustomAttributeClass);
|
|
115
|
+
if (customAttributeB && customAttributeB.schemaItemType === SchemaItemType.CustomAttributeClass)
|
|
116
|
+
this._schemaComparer.compareCustomAttributeClasses(customAttributeA, customAttributeB);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Called for each [[CustomAttribute]] container in the schema.
|
|
120
|
+
* @param customAttributeContainer a [[CustomAttributeContainerProps]] object.
|
|
121
|
+
*/
|
|
122
|
+
async visitCustomAttributeContainer(containerA) {
|
|
123
|
+
let containerB;
|
|
124
|
+
if (Schema.isSchema(containerA)) {
|
|
125
|
+
containerB = this._schemaB;
|
|
126
|
+
}
|
|
127
|
+
else if (ECClass.isECClass(containerA)) {
|
|
128
|
+
const parent = await this._schemaComparer.resolveItem(containerA, this._schemaB, ECClass);
|
|
129
|
+
containerB = parent && parent.schemaItemType === containerA.schemaItemType ? parent : undefined;
|
|
130
|
+
}
|
|
131
|
+
else if (Property.isProperty(containerA)) {
|
|
132
|
+
const parent = await this._schemaComparer.resolveItem(containerA.class, this._schemaB, ECClass);
|
|
133
|
+
containerB = parent && parent.schemaItemType === containerA.class.schemaItemType ? await this._schemaComparer.resolveProperty(containerA, parent) : undefined;
|
|
134
|
+
}
|
|
135
|
+
else if (RelationshipConstraint.isRelationshipConstraint(containerA)) {
|
|
136
|
+
const parent = await this._schemaComparer.resolveItem(containerA.relationshipClass, this._schemaB, RelationshipClass);
|
|
137
|
+
containerB = parent ? containerA.isSource ? parent.source : parent.target : undefined;
|
|
138
|
+
}
|
|
139
|
+
if (containerB)
|
|
140
|
+
this._schemaComparer.compareCustomAttributeContainers(containerA, containerB);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Called for each [[Enumeration]] instance found during schema traversal.
|
|
144
|
+
* @param enumeration an Enumeration object.
|
|
145
|
+
*/
|
|
146
|
+
async visitEnumeration(enumA) {
|
|
147
|
+
const enumB = await this._schemaComparer.resolveItem(enumA, this._schemaB, Enumeration);
|
|
148
|
+
if (enumB && enumB.schemaItemType === SchemaItemType.Enumeration)
|
|
149
|
+
this._schemaComparer.compareEnumerations(enumA, enumB);
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Called for each [[KindOfQuantity]] instance found during schema traversal.
|
|
153
|
+
* @param koq a KindOfQuantity object.
|
|
154
|
+
*/
|
|
155
|
+
async visitKindOfQuantity(koqA) {
|
|
156
|
+
const koqB = await this._schemaComparer.resolveItem(koqA, this._schemaB, KindOfQuantity);
|
|
157
|
+
if (koqB && koqB.schemaItemType === SchemaItemType.KindOfQuantity)
|
|
158
|
+
this._schemaComparer.compareKindOfQuantities(koqA, koqB);
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Called for each [[PropertyCategory]] instance found during schema traversal.
|
|
162
|
+
* @param category a PropertyCategory object.
|
|
163
|
+
*/
|
|
164
|
+
async visitPropertyCategory(categoryA) {
|
|
165
|
+
const categoryB = await this._schemaComparer.resolveItem(categoryA, this._schemaB, PropertyCategory);
|
|
166
|
+
if (categoryB && categoryB.schemaItemType === SchemaItemType.PropertyCategory)
|
|
167
|
+
this._schemaComparer.comparePropertyCategories(categoryA, categoryB);
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Called for each [[Format]] instance found during schema traversal.
|
|
171
|
+
* @param format a Format object.
|
|
172
|
+
*/
|
|
173
|
+
async visitFormat(formatA) {
|
|
174
|
+
const formatB = await this._schemaComparer.resolveItem(formatA, this._schemaB, Format);
|
|
175
|
+
if (formatB && formatB.schemaItemType === SchemaItemType.Format)
|
|
176
|
+
this._schemaComparer.compareFormats(formatA, formatB);
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Called for each [[Unit]] instance found during schema traversal.
|
|
180
|
+
* @param unit a Unit object.
|
|
181
|
+
*/
|
|
182
|
+
async visitUnit(unitA) {
|
|
183
|
+
const unitB = await this._schemaComparer.resolveItem(unitA, this._schemaB, Unit);
|
|
184
|
+
if (unitB && Unit.isUnit(unitB))
|
|
185
|
+
this._schemaComparer.compareUnits(unitA, unitB);
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Called for each [[InvertedUnit]] instance found during schema traversal.
|
|
189
|
+
* @param invertedUnit an InvertedUnit object.
|
|
190
|
+
*/
|
|
191
|
+
async visitInvertedUnit(invertedUnitA) {
|
|
192
|
+
const invertedUnitB = await this._schemaComparer.resolveItem(invertedUnitA, this._schemaB, InvertedUnit);
|
|
193
|
+
if (invertedUnitB && invertedUnitB.schemaItemType === SchemaItemType.InvertedUnit)
|
|
194
|
+
this._schemaComparer.compareInvertedUnits(invertedUnitA, invertedUnitB);
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Called for each [[UnitSystem]] instance found during schema traversal.
|
|
198
|
+
* @param unitSystem a UnitSystem object.
|
|
199
|
+
*/
|
|
200
|
+
async visitUnitSystem(_unitSystemA) {
|
|
201
|
+
// No comparison to make specifically on unitSystem
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Called for each [[Phenomenon]] instance found during schema traversal.
|
|
205
|
+
* @param phenomena a Phenomenon object.
|
|
206
|
+
*/
|
|
207
|
+
async visitPhenomenon(phenomenonA) {
|
|
208
|
+
const phenomenonB = await this._schemaComparer.resolveItem(phenomenonA, this._schemaB, Phenomenon);
|
|
209
|
+
if (phenomenonB && phenomenonB.schemaItemType === SchemaItemType.Phenomenon)
|
|
210
|
+
this._schemaComparer.comparePhenomenons(phenomenonA, phenomenonB);
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Called for each [[Constant]] instance found during schema traversal.
|
|
214
|
+
* @param constant a Constant object.
|
|
215
|
+
*/
|
|
216
|
+
async visitConstant(constantA) {
|
|
217
|
+
const constantB = await this._schemaComparer.resolveItem(constantA, this._schemaB, Constant);
|
|
218
|
+
if (constantB && constantB.schemaItemType === SchemaItemType.Constant)
|
|
219
|
+
this._schemaComparer.compareConstants(constantA, constantB);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
//# sourceMappingURL=SchemaCompareVisitor.js.map
|
|
@@ -0,0 +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"]}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Comparison
|
|
3
|
+
*/
|
|
4
|
+
import { AnyClass, AnyProperty, Constant, CustomAttributeClass, CustomAttributeContainerProps, ECClass, EntityClass, Enumeration, Format, InvertedUnit, KindOfQuantity, Mixin, Phenomenon, PropertyCategory, RelationshipClass, RelationshipConstraint, Schema, SchemaItem, SchemaItemKey, Unit } from "@itwin/ecschema-metadata";
|
|
5
|
+
import { ISchemaCompareReporter } from "./SchemaCompareReporter";
|
|
6
|
+
/**
|
|
7
|
+
* Enum that identifies if Schema A is being iterated (Forward) or
|
|
8
|
+
* Schema B is being iterated (Backward);
|
|
9
|
+
* @alpha
|
|
10
|
+
*/
|
|
11
|
+
export declare enum SchemaCompareDirection {
|
|
12
|
+
Forward = 0,
|
|
13
|
+
Backward = 1
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Interface for comparing EC Schemas.
|
|
17
|
+
* @alpha
|
|
18
|
+
*/
|
|
19
|
+
export interface ISchemaComparer {
|
|
20
|
+
compareSchemas(schemaA: Schema, schemaB: Schema): void;
|
|
21
|
+
compareSchemaProps(schemaA: Schema, schemaB: Schema): void;
|
|
22
|
+
compareSchemaItems(schemaItemA: SchemaItem, schemaItemB: SchemaItem | undefined): void;
|
|
23
|
+
compareClasses(classA: AnyClass, classB: AnyClass): void;
|
|
24
|
+
compareProperties(propertyA: AnyProperty, propertyB: AnyProperty | undefined): void;
|
|
25
|
+
compareEntityClasses(entityA: EntityClass, entityB: EntityClass): void;
|
|
26
|
+
compareMixins(mixinA: Mixin, mixinB: Mixin): void;
|
|
27
|
+
compareRelationshipClasses(relationshipClassA: RelationshipClass, relationshipClassB: RelationshipClass): void;
|
|
28
|
+
compareRelationshipConstraints(relationshipConstraintA: RelationshipConstraint, relationshipConstraintB: RelationshipConstraint): void;
|
|
29
|
+
compareCustomAttributeClasses(customAttributeClassA: CustomAttributeClass, customAttributeClassB: CustomAttributeClass): void;
|
|
30
|
+
compareCustomAttributeContainers(containerA: CustomAttributeContainerProps, containerB: CustomAttributeContainerProps): void;
|
|
31
|
+
compareEnumerations(enumA: Enumeration, enumB: Enumeration): void;
|
|
32
|
+
compareKindOfQuantities(koqA: KindOfQuantity, koqB: KindOfQuantity): void;
|
|
33
|
+
comparePropertyCategories(categoryA: PropertyCategory, categoryB: PropertyCategory): void;
|
|
34
|
+
compareFormats(formatA: Format, formatB: Format): void;
|
|
35
|
+
compareUnits(unitA: Unit, unitB: Unit): void;
|
|
36
|
+
compareInvertedUnits(invertedUnitA: InvertedUnit, invertedUnitB: InvertedUnit): void;
|
|
37
|
+
comparePhenomenons(phenomenonA: Phenomenon, phenomenonB: Phenomenon): void;
|
|
38
|
+
compareConstants(constantA: Constant, constantB: Constant): void;
|
|
39
|
+
/** @internal */
|
|
40
|
+
resolveItem<TItem extends typeof SchemaItem>(item: SchemaItem, lookupSchema: Schema, itemConstructor: TItem): Promise<InstanceType<TItem> | undefined>;
|
|
41
|
+
/** @internal */
|
|
42
|
+
resolveProperty(propertyA: AnyProperty, ecClass: ECClass): Promise<AnyProperty | undefined>;
|
|
43
|
+
/** @internal */
|
|
44
|
+
areEqualByName(itemKeyA?: Readonly<SchemaItemKey> | SchemaItem, itemKeyB?: Readonly<SchemaItemKey> | SchemaItem): boolean;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Compares EC Schemas and reports differences using the [[IDiagnosticReporter]] objects
|
|
48
|
+
* specified.
|
|
49
|
+
* @alpha
|
|
50
|
+
*/
|
|
51
|
+
export declare class SchemaComparer {
|
|
52
|
+
private _compareDirection;
|
|
53
|
+
private _reporter;
|
|
54
|
+
private _reporters;
|
|
55
|
+
/**
|
|
56
|
+
* Initializes a new SchemaComparer instance.
|
|
57
|
+
* @param reporters The [[IDiagnosticReporter]] object(s) to use to report the results.
|
|
58
|
+
*/
|
|
59
|
+
constructor(...reporters: ISchemaCompareReporter[]);
|
|
60
|
+
/**
|
|
61
|
+
* Resolves a schema Item from the given lookup schema.
|
|
62
|
+
* @internal
|
|
63
|
+
*/
|
|
64
|
+
resolveItem<TItem extends typeof SchemaItem>(item: SchemaItem, lookupSchema: Schema, itemConstructor: TItem): Promise<InstanceType<TItem> | undefined>;
|
|
65
|
+
/**
|
|
66
|
+
* Resolves a property from a class.
|
|
67
|
+
* @internal
|
|
68
|
+
*/
|
|
69
|
+
resolveProperty(propertyA: AnyProperty, ecClass: ECClass): Promise<AnyProperty | undefined>;
|
|
70
|
+
/**
|
|
71
|
+
* Compares two schema items to determine if they are the same by name.
|
|
72
|
+
* @internal
|
|
73
|
+
*/
|
|
74
|
+
areEqualByName(itemKeyA?: Readonly<SchemaItemKey> | SchemaItem, itemKeyB?: Readonly<SchemaItemKey> | SchemaItem): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Compares two schemas to identify differences.
|
|
77
|
+
* @param schemaA The first Schema.
|
|
78
|
+
* @param schemaB The second Schema.
|
|
79
|
+
*/
|
|
80
|
+
compareSchemas(schemaA: Schema, schemaB: Schema): Promise<void>;
|
|
81
|
+
/**
|
|
82
|
+
* Compares two schemas to identify differences between property values.
|
|
83
|
+
* @param schemaA The first Schema.
|
|
84
|
+
* @param schemaB The second Schema.
|
|
85
|
+
*/
|
|
86
|
+
compareSchemaProps(schemaA: Schema, schemaB: Schema): Promise<void>;
|
|
87
|
+
/**
|
|
88
|
+
* Compares two SchemaItems to identify differences between property values.
|
|
89
|
+
* @param schemaItemA The first SchemaItem.
|
|
90
|
+
* @param schemaItemB The second SchemaItem.
|
|
91
|
+
*/
|
|
92
|
+
compareSchemaItems(schemaItemA: SchemaItem, schemaItemB: SchemaItem | undefined): Promise<void>;
|
|
93
|
+
/**
|
|
94
|
+
* Compares two ECClasses to identify differences between property values.
|
|
95
|
+
* @param classA The first ECClass.
|
|
96
|
+
* @param classB The second ECClass.
|
|
97
|
+
*/
|
|
98
|
+
compareClasses(classA: AnyClass, classB: AnyClass): Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* Compares two ECProperties to identify differences between property values.
|
|
101
|
+
* @param propertyA The first ECProperty.
|
|
102
|
+
* @param propertyB The second ECProperty.
|
|
103
|
+
*/
|
|
104
|
+
compareProperties(propertyA: AnyProperty, propertyB: AnyProperty | undefined): Promise<void>;
|
|
105
|
+
/**
|
|
106
|
+
* Compares two EntityClass objects to identify differences between property values.
|
|
107
|
+
* @param entityA
|
|
108
|
+
* @param entityB
|
|
109
|
+
*/
|
|
110
|
+
compareEntityClasses(entityA: EntityClass, entityB: EntityClass): Promise<void>;
|
|
111
|
+
/**
|
|
112
|
+
* Compares two Mixin objects to identify differences between property values.
|
|
113
|
+
* @param mixinA
|
|
114
|
+
* @param mixinB
|
|
115
|
+
*/
|
|
116
|
+
compareMixins(mixinA: Mixin, mixinB: Mixin): Promise<void>;
|
|
117
|
+
/**
|
|
118
|
+
* Compares two RelationshipClass objects to identify differences between property values.
|
|
119
|
+
* @param relationshipA
|
|
120
|
+
* @param relationshipB
|
|
121
|
+
*/
|
|
122
|
+
compareRelationshipClasses(relationshipA: RelationshipClass, relationshipB: RelationshipClass): Promise<void>;
|
|
123
|
+
/**
|
|
124
|
+
* Compares two RelationshipConstraint objects to identify differences between property values.
|
|
125
|
+
* @param relationshipConstraintA
|
|
126
|
+
* @param relationshipConstraintB
|
|
127
|
+
*/
|
|
128
|
+
compareRelationshipConstraints(constraintA: RelationshipConstraint, constraintB: RelationshipConstraint): Promise<void>;
|
|
129
|
+
/**
|
|
130
|
+
* Compares two CustomAttributeClass objects to identify differences between property values.
|
|
131
|
+
* @param customAttributeClassA
|
|
132
|
+
* @param customAttributeClassB
|
|
133
|
+
*/
|
|
134
|
+
compareCustomAttributeClasses(customAttributeClassA: CustomAttributeClass, customAttributeClassB: CustomAttributeClass): Promise<void>;
|
|
135
|
+
/**
|
|
136
|
+
* Compares two CustomAttributeContainerProps objects to identify differences between property values.
|
|
137
|
+
* @param containerA
|
|
138
|
+
* @param containerB
|
|
139
|
+
*/
|
|
140
|
+
compareCustomAttributeContainers(containerA: CustomAttributeContainerProps, containerB: CustomAttributeContainerProps): Promise<void>;
|
|
141
|
+
/**
|
|
142
|
+
* Compares two Enumeration objects to identify differences between property values.
|
|
143
|
+
* @param enumA
|
|
144
|
+
* @param enumB
|
|
145
|
+
*/
|
|
146
|
+
compareEnumerations(enumA: Enumeration, enumB: Enumeration): Promise<void>;
|
|
147
|
+
/**
|
|
148
|
+
* Compares two KindOfQuantity objects to identify differences between property values.
|
|
149
|
+
* @param koqA
|
|
150
|
+
* @param koqB
|
|
151
|
+
*/
|
|
152
|
+
compareKindOfQuantities(koqA: KindOfQuantity, koqB: KindOfQuantity): Promise<void>;
|
|
153
|
+
/**
|
|
154
|
+
* Compares two PropertyCategory objects to identify differences between property values.
|
|
155
|
+
* @param categoryA
|
|
156
|
+
* @param categoryB
|
|
157
|
+
*/
|
|
158
|
+
comparePropertyCategories(categoryA: PropertyCategory, categoryB: PropertyCategory): Promise<void>;
|
|
159
|
+
/**
|
|
160
|
+
* Compares two Format objects to identify differences between property values.
|
|
161
|
+
* @param formatA
|
|
162
|
+
* @param formatB
|
|
163
|
+
*/
|
|
164
|
+
compareFormats(formatA: Format, formatB: Format): Promise<void>;
|
|
165
|
+
/**
|
|
166
|
+
* Compares two Unit objects to identify differences between property values.
|
|
167
|
+
* @param unitA
|
|
168
|
+
* @param unitB
|
|
169
|
+
*/
|
|
170
|
+
compareUnits(unitA: Unit, unitB: Unit): Promise<void>;
|
|
171
|
+
/**
|
|
172
|
+
* Compares two InvertedUnit objects to identify differences between property values.
|
|
173
|
+
* @param invertedUnitA
|
|
174
|
+
* @param invertedUnitB
|
|
175
|
+
*/
|
|
176
|
+
compareInvertedUnits(invertedUnitA: InvertedUnit, invertedUnitB: InvertedUnit): Promise<void>;
|
|
177
|
+
/**
|
|
178
|
+
* Compares two Phenomenon objects to identify differences between property values.
|
|
179
|
+
* @param phenomenonA
|
|
180
|
+
* @param phenomenonB
|
|
181
|
+
*/
|
|
182
|
+
comparePhenomenons(phenomenonA: Phenomenon, phenomenonB: Phenomenon): Promise<void>;
|
|
183
|
+
/**
|
|
184
|
+
* Compares two Constant objects to identify differences between property values.
|
|
185
|
+
* @param constantA
|
|
186
|
+
* @param constantB
|
|
187
|
+
*/
|
|
188
|
+
compareConstants(constantA: Constant, constantB: Constant): Promise<void>;
|
|
189
|
+
private comparePropertyType;
|
|
190
|
+
private compareEnumerators;
|
|
191
|
+
private compareFormatUnits;
|
|
192
|
+
private areOverrideFormatsSameByName;
|
|
193
|
+
/**
|
|
194
|
+
* Compares two item keys.
|
|
195
|
+
* @param itemKeyA item key A to compare to.
|
|
196
|
+
* @param itemKeyB item key B to compare to.
|
|
197
|
+
* @param topLevelSchemaNameA top level schema name in which the item A exists.
|
|
198
|
+
* @param topLevelSchemaNameB top level schema name in which the item B exists.
|
|
199
|
+
* @returns true if both names are the same and they come from their respective top level schema.
|
|
200
|
+
*/
|
|
201
|
+
private areItemsSameByName;
|
|
202
|
+
/**
|
|
203
|
+
* Looks for same classA in containerB using key.
|
|
204
|
+
* @param classNameA name of the class to look for in containerB.
|
|
205
|
+
* @param containerA container which classNameA belongs to.
|
|
206
|
+
* @param containerB container in which to look for classNameA.
|
|
207
|
+
* @returns true if a same classA is in containerB, otherwise false.
|
|
208
|
+
*/
|
|
209
|
+
private containerHasClass;
|
|
210
|
+
}
|
|
211
|
+
//# sourceMappingURL=SchemaComparer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaComparer.d.ts","sourceRoot":"","sources":["../../../src/Validation/SchemaComparer.ts"],"names":[],"mappings":"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"}
|