@itwin/ecschema-editing 4.8.0-dev.4 → 4.8.0-dev.40
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 +48 -1
- package/lib/cjs/Differencing/SchemaConflicts.d.ts +2 -0
- package/lib/cjs/Differencing/SchemaConflicts.d.ts.map +1 -1
- package/lib/cjs/Differencing/SchemaConflicts.js.map +1 -1
- package/lib/cjs/Differencing/SchemaDiagnosticVisitor.d.ts +1 -0
- package/lib/cjs/Differencing/SchemaDiagnosticVisitor.d.ts.map +1 -1
- package/lib/cjs/Differencing/SchemaDiagnosticVisitor.js +25 -11
- package/lib/cjs/Differencing/SchemaDiagnosticVisitor.js.map +1 -1
- package/lib/cjs/Differencing/SchemaDifference.d.ts +10 -119
- package/lib/cjs/Differencing/SchemaDifference.d.ts.map +1 -1
- package/lib/cjs/Differencing/SchemaDifference.js +28 -198
- package/lib/cjs/Differencing/SchemaDifference.js.map +1 -1
- package/lib/cjs/Differencing/Utils.d.ts +110 -0
- package/lib/cjs/Differencing/Utils.d.ts.map +1 -0
- package/lib/cjs/Differencing/Utils.js +185 -0
- package/lib/cjs/Differencing/Utils.js.map +1 -0
- package/lib/cjs/Editing/CustomAttributes.d.ts +1 -1
- package/lib/cjs/Editing/CustomAttributes.d.ts.map +1 -1
- package/lib/cjs/Editing/CustomAttributes.js +2 -2
- package/lib/cjs/Editing/CustomAttributes.js.map +1 -1
- package/lib/cjs/Editing/ECClasses.d.ts +0 -7
- package/lib/cjs/Editing/ECClasses.d.ts.map +1 -1
- package/lib/cjs/Editing/ECClasses.js +0 -27
- package/lib/cjs/Editing/ECClasses.js.map +1 -1
- package/lib/cjs/Editing/Editor.d.ts +19 -3
- package/lib/cjs/Editing/Editor.d.ts.map +1 -1
- package/lib/cjs/Editing/Editor.js +48 -3
- package/lib/cjs/Editing/Editor.js.map +1 -1
- package/lib/cjs/Editing/Exception.d.ts +0 -1
- package/lib/cjs/Editing/Exception.d.ts.map +1 -1
- package/lib/cjs/Editing/Exception.js +0 -1
- package/lib/cjs/Editing/Exception.js.map +1 -1
- package/lib/cjs/Editing/Formats.d.ts.map +1 -1
- package/lib/cjs/Editing/Formats.js +4 -1
- package/lib/cjs/Editing/Formats.js.map +1 -1
- package/lib/cjs/Editing/KindOfQuantities.d.ts.map +1 -1
- package/lib/cjs/Editing/KindOfQuantities.js +3 -1
- package/lib/cjs/Editing/KindOfQuantities.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableCAClass.d.ts +1 -1
- package/lib/cjs/Editing/Mutable/MutableCAClass.d.ts.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableCAClass.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableSchema.d.ts +2 -0
- package/lib/cjs/Editing/Mutable/MutableSchema.d.ts.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableSchema.js.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableSchemaItem.d.ts +1 -0
- package/lib/cjs/Editing/Mutable/MutableSchemaItem.d.ts.map +1 -1
- package/lib/cjs/Editing/Mutable/MutableSchemaItem.js.map +1 -1
- package/lib/cjs/Editing/Properties.d.ts +1 -4
- package/lib/cjs/Editing/Properties.d.ts.map +1 -1
- package/lib/cjs/Editing/Properties.js +4 -5
- package/lib/cjs/Editing/Properties.js.map +1 -1
- package/lib/cjs/Editing/SchemaItems.d.ts +9 -2
- package/lib/cjs/Editing/SchemaItems.d.ts.map +1 -1
- package/lib/cjs/Editing/SchemaItems.js +31 -24
- package/lib/cjs/Editing/SchemaItems.js.map +1 -1
- package/lib/cjs/Merging/CAClassMerger.js +2 -2
- package/lib/cjs/Merging/CAClassMerger.js.map +1 -1
- package/lib/cjs/Merging/ClassMerger.d.ts.map +1 -1
- package/lib/cjs/Merging/ClassMerger.js +10 -10
- package/lib/cjs/Merging/ClassMerger.js.map +1 -1
- package/lib/cjs/Merging/Edits/RenameEditHandler.d.ts +14 -0
- package/lib/cjs/Merging/Edits/RenameEditHandler.d.ts.map +1 -0
- package/lib/cjs/Merging/Edits/RenameEditHandler.js +344 -0
- package/lib/cjs/Merging/Edits/RenameEditHandler.js.map +1 -0
- package/lib/cjs/Merging/Edits/SchemaEdits.d.ts +78 -0
- package/lib/cjs/Merging/Edits/SchemaEdits.d.ts.map +1 -0
- package/lib/cjs/Merging/Edits/SchemaEdits.js +111 -0
- package/lib/cjs/Merging/Edits/SchemaEdits.js.map +1 -0
- package/lib/cjs/Merging/Edits/SkipEditHandler.d.ts +14 -0
- package/lib/cjs/Merging/Edits/SkipEditHandler.d.ts.map +1 -0
- package/lib/cjs/Merging/Edits/SkipEditHandler.js +60 -0
- package/lib/cjs/Merging/Edits/SkipEditHandler.js.map +1 -0
- package/lib/cjs/Merging/SchemaItemMerger.d.ts +4 -4
- package/lib/cjs/Merging/SchemaItemMerger.d.ts.map +1 -1
- package/lib/cjs/Merging/SchemaItemMerger.js +18 -18
- package/lib/cjs/Merging/SchemaItemMerger.js.map +1 -1
- package/lib/cjs/Merging/SchemaMerger.d.ts +9 -12
- package/lib/cjs/Merging/SchemaMerger.d.ts.map +1 -1
- package/lib/cjs/Merging/SchemaMerger.js +52 -48
- package/lib/cjs/Merging/SchemaMerger.js.map +1 -1
- package/lib/cjs/Validation/SchemaCompareVisitor.d.ts.map +1 -1
- package/lib/cjs/Validation/SchemaCompareVisitor.js +26 -19
- package/lib/cjs/Validation/SchemaCompareVisitor.js.map +1 -1
- package/lib/cjs/Validation/SchemaComparer.d.ts +30 -30
- package/lib/cjs/Validation/SchemaComparer.d.ts.map +1 -1
- package/lib/cjs/Validation/SchemaComparer.js +76 -53
- package/lib/cjs/Validation/SchemaComparer.js.map +1 -1
- package/lib/cjs/ecschema-editing.d.ts +3 -1
- package/lib/cjs/ecschema-editing.d.ts.map +1 -1
- package/lib/cjs/ecschema-editing.js +4 -2
- package/lib/cjs/ecschema-editing.js.map +1 -1
- package/package.json +9 -9
|
@@ -44,7 +44,8 @@ class SchemaCompareVisitor {
|
|
|
44
44
|
*/
|
|
45
45
|
async visitClass(classA) {
|
|
46
46
|
const classB = await this._schemaB.lookupItem(classA.name);
|
|
47
|
-
|
|
47
|
+
if (classB && classA.schemaItemType === classB.schemaItemType)
|
|
48
|
+
this._schemaComparer.compareClasses(classA, classB);
|
|
48
49
|
}
|
|
49
50
|
/**
|
|
50
51
|
* Called for each [[AnyProperty]] instance of an ECClass.
|
|
@@ -53,7 +54,7 @@ class SchemaCompareVisitor {
|
|
|
53
54
|
async visitProperty(propertyA) {
|
|
54
55
|
let propertyB;
|
|
55
56
|
const classB = await this._schemaB.lookupItem(propertyA.class.name);
|
|
56
|
-
if (classB &&
|
|
57
|
+
if (classB && propertyA.class.schemaItemType === classB.schemaItemType) {
|
|
57
58
|
propertyB = await classB.getProperty(propertyA.name);
|
|
58
59
|
this._schemaComparer.compareProperties(propertyA, propertyB);
|
|
59
60
|
}
|
|
@@ -64,7 +65,8 @@ class SchemaCompareVisitor {
|
|
|
64
65
|
*/
|
|
65
66
|
async visitEntityClass(entityA) {
|
|
66
67
|
const entityB = await this._schemaB.lookupItem(entityA.name);
|
|
67
|
-
|
|
68
|
+
if (entityB && entityB.schemaItemType === ecschema_metadata_1.SchemaItemType.EntityClass)
|
|
69
|
+
this._schemaComparer.compareEntityClasses(entityA, entityB);
|
|
68
70
|
}
|
|
69
71
|
/**
|
|
70
72
|
* Called for each [[StructClass]] instance found during schema traversal.
|
|
@@ -79,7 +81,7 @@ class SchemaCompareVisitor {
|
|
|
79
81
|
*/
|
|
80
82
|
async visitMixin(mixinA) {
|
|
81
83
|
const mixinB = await this._schemaB.lookupItem(mixinA.name);
|
|
82
|
-
if (
|
|
84
|
+
if (mixinB && mixinB.schemaItemType === ecschema_metadata_1.SchemaItemType.Mixin)
|
|
83
85
|
this._schemaComparer.compareMixins(mixinA, mixinB);
|
|
84
86
|
}
|
|
85
87
|
/**
|
|
@@ -88,7 +90,7 @@ class SchemaCompareVisitor {
|
|
|
88
90
|
*/
|
|
89
91
|
async visitRelationshipClass(relationshipA) {
|
|
90
92
|
const relationshipB = await this._schemaB.lookupItem(relationshipA.name);
|
|
91
|
-
if (
|
|
93
|
+
if (relationshipB && relationshipB.schemaItemType === ecschema_metadata_1.SchemaItemType.RelationshipClass)
|
|
92
94
|
this._schemaComparer.compareRelationshipClasses(relationshipA, relationshipB);
|
|
93
95
|
}
|
|
94
96
|
/**
|
|
@@ -98,9 +100,12 @@ class SchemaCompareVisitor {
|
|
|
98
100
|
async visitRelationshipConstraint(constraintA) {
|
|
99
101
|
let constraintB;
|
|
100
102
|
const relationshipB = await this._schemaB.lookupItem(constraintA.relationshipClass.name);
|
|
101
|
-
if (relationshipB && relationshipB.schemaItemType === ecschema_metadata_1.SchemaItemType.RelationshipClass)
|
|
103
|
+
if (relationshipB && relationshipB.schemaItemType === ecschema_metadata_1.SchemaItemType.RelationshipClass) {
|
|
102
104
|
constraintB = constraintA.isSource ? relationshipB.source : relationshipB.target;
|
|
103
|
-
|
|
105
|
+
if (constraintB) {
|
|
106
|
+
this._schemaComparer.compareRelationshipConstraints(constraintA, constraintB);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
104
109
|
}
|
|
105
110
|
/**
|
|
106
111
|
* Called for each [[CustomAttributeClass]] instance found during schema traversal.
|
|
@@ -108,7 +113,7 @@ class SchemaCompareVisitor {
|
|
|
108
113
|
*/
|
|
109
114
|
async visitCustomAttributeClass(customAttributeA) {
|
|
110
115
|
const customAttributeB = await this._schemaB.lookupItem(customAttributeA.name);
|
|
111
|
-
if (
|
|
116
|
+
if (customAttributeB && customAttributeB.schemaItemType === ecschema_metadata_1.SchemaItemType.CustomAttributeClass)
|
|
112
117
|
this._schemaComparer.compareCustomAttributeClasses(customAttributeA, customAttributeB);
|
|
113
118
|
}
|
|
114
119
|
/**
|
|
@@ -123,17 +128,19 @@ class SchemaCompareVisitor {
|
|
|
123
128
|
containerB = this._schemaB;
|
|
124
129
|
}
|
|
125
130
|
else if (ecschema_metadata_1.ECClass.isECClass(containerA)) {
|
|
126
|
-
|
|
131
|
+
const parent = await this._schemaB.lookupItem(containerA.name);
|
|
132
|
+
containerB = parent && parent.schemaItemType === containerA.schemaItemType ? parent : undefined;
|
|
127
133
|
}
|
|
128
134
|
else if (ecschema_metadata_1.Property.isProperty(containerA)) {
|
|
129
135
|
const parent = await this._schemaB.lookupItem(containerA.class.name);
|
|
130
|
-
containerB = parent &&
|
|
136
|
+
containerB = parent && parent.schemaItemType === containerA.class.schemaItemType ? await parent.getProperty(shortName) : undefined;
|
|
131
137
|
}
|
|
132
138
|
else if (ecschema_metadata_1.RelationshipConstraint.isRelationshipConstraint(containerA)) {
|
|
133
139
|
const parent = await this._schemaB.lookupItem(containerA.relationshipClass.name);
|
|
134
140
|
containerB = parent ? containerA.isSource ? parent.source : parent.target : undefined;
|
|
135
141
|
}
|
|
136
|
-
|
|
142
|
+
if (containerB)
|
|
143
|
+
this._schemaComparer.compareCustomAttributeContainers(containerA, containerB);
|
|
137
144
|
}
|
|
138
145
|
/**
|
|
139
146
|
* Called for each [[Enumeration]] instance found during schema traversal.
|
|
@@ -141,7 +148,7 @@ class SchemaCompareVisitor {
|
|
|
141
148
|
*/
|
|
142
149
|
async visitEnumeration(enumA) {
|
|
143
150
|
const enumB = await this._schemaB.lookupItem(enumA.name);
|
|
144
|
-
if (
|
|
151
|
+
if (enumB && enumB.schemaItemType === ecschema_metadata_1.SchemaItemType.Enumeration)
|
|
145
152
|
this._schemaComparer.compareEnumerations(enumA, enumB);
|
|
146
153
|
}
|
|
147
154
|
/**
|
|
@@ -150,7 +157,7 @@ class SchemaCompareVisitor {
|
|
|
150
157
|
*/
|
|
151
158
|
async visitKindOfQuantity(koqA) {
|
|
152
159
|
const koqB = await this._schemaB.lookupItem(koqA.name);
|
|
153
|
-
if (
|
|
160
|
+
if (koqB && koqB.schemaItemType === ecschema_metadata_1.SchemaItemType.KindOfQuantity)
|
|
154
161
|
this._schemaComparer.compareKindOfQuantities(koqA, koqB);
|
|
155
162
|
}
|
|
156
163
|
/**
|
|
@@ -159,7 +166,7 @@ class SchemaCompareVisitor {
|
|
|
159
166
|
*/
|
|
160
167
|
async visitPropertyCategory(categoryA) {
|
|
161
168
|
const categoryB = await this._schemaB.lookupItem(categoryA.name);
|
|
162
|
-
if (
|
|
169
|
+
if (categoryB && categoryB.schemaItemType === ecschema_metadata_1.SchemaItemType.PropertyCategory)
|
|
163
170
|
this._schemaComparer.comparePropertyCategories(categoryA, categoryB);
|
|
164
171
|
}
|
|
165
172
|
/**
|
|
@@ -168,7 +175,7 @@ class SchemaCompareVisitor {
|
|
|
168
175
|
*/
|
|
169
176
|
async visitFormat(formatA) {
|
|
170
177
|
const formatB = await this._schemaB.lookupItem(formatA.name);
|
|
171
|
-
if (
|
|
178
|
+
if (formatB && formatB.schemaItemType === ecschema_metadata_1.SchemaItemType.Format)
|
|
172
179
|
this._schemaComparer.compareFormats(formatA, formatB);
|
|
173
180
|
}
|
|
174
181
|
/**
|
|
@@ -177,7 +184,7 @@ class SchemaCompareVisitor {
|
|
|
177
184
|
*/
|
|
178
185
|
async visitUnit(unitA) {
|
|
179
186
|
const unitB = await this._schemaB.lookupItem(unitA.name);
|
|
180
|
-
if (
|
|
187
|
+
if (unitB && ecschema_metadata_1.Unit.isUnit(unitB))
|
|
181
188
|
this._schemaComparer.compareUnits(unitA, unitB);
|
|
182
189
|
}
|
|
183
190
|
/**
|
|
@@ -186,7 +193,7 @@ class SchemaCompareVisitor {
|
|
|
186
193
|
*/
|
|
187
194
|
async visitInvertedUnit(invertedUnitA) {
|
|
188
195
|
const invertedUnitB = await this._schemaB.lookupItem(invertedUnitA.name);
|
|
189
|
-
if (
|
|
196
|
+
if (invertedUnitB && invertedUnitB.schemaItemType === ecschema_metadata_1.SchemaItemType.InvertedUnit)
|
|
190
197
|
this._schemaComparer.compareInvertedUnits(invertedUnitA, invertedUnitB);
|
|
191
198
|
}
|
|
192
199
|
/**
|
|
@@ -202,7 +209,7 @@ class SchemaCompareVisitor {
|
|
|
202
209
|
*/
|
|
203
210
|
async visitPhenomenon(phenomenonA) {
|
|
204
211
|
const phenomenonB = await this._schemaB.lookupItem(phenomenonA.name);
|
|
205
|
-
if (
|
|
212
|
+
if (phenomenonB && phenomenonB.schemaItemType === ecschema_metadata_1.SchemaItemType.Phenomenon)
|
|
206
213
|
this._schemaComparer.comparePhenomenons(phenomenonA, phenomenonB);
|
|
207
214
|
}
|
|
208
215
|
/**
|
|
@@ -211,7 +218,7 @@ class SchemaCompareVisitor {
|
|
|
211
218
|
*/
|
|
212
219
|
async visitConstant(constantA) {
|
|
213
220
|
const constantB = await this._schemaB.lookupItem(constantA.name);
|
|
214
|
-
if (
|
|
221
|
+
if (constantB && constantB.schemaItemType === ecschema_metadata_1.SchemaItemType.Constant)
|
|
215
222
|
this._schemaComparer.compareConstants(constantA, constantB);
|
|
216
223
|
}
|
|
217
224
|
}
|
|
@@ -1 +1 @@
|
|
|
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._schemaB.lookupItem(schemaItemA.name);\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._schemaB.lookupItem<AnyClass>(classA.name);\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._schemaB.lookupItem<ECClass>(propertyA.class.name);\r\n if (classB && ECClass.isECClass(classB)) {\r\n propertyB = await classB.getProperty(propertyA.name) as AnyProperty;\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._schemaB.lookupItem<EntityClass>(entityA.name);\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._schemaB.lookupItem<Mixin>(mixinA.name);\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._schemaB.lookupItem<RelationshipClass>(relationshipA.name);\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._schemaB.lookupItem<RelationshipClass>(constraintA.relationshipClass.name);\r\n if (relationshipB && relationshipB.schemaItemType === SchemaItemType.RelationshipClass)\r\n constraintB = constraintA.isSource ? relationshipB.source : relationshipB.target;\r\n this._schemaComparer.compareRelationshipConstraints(constraintA, constraintB);\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._schemaB.lookupItem<CustomAttributeClass>(customAttributeA.name);\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 const nameParts = containerA.fullName.split(\".\");\r\n const shortName = nameParts.length === 1 ? nameParts[0] : nameParts[1];\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 containerB = await this._schemaB.lookupItem(containerA.name);\r\n } else if (Property.isProperty(containerA)) {\r\n const parent = await this._schemaB.lookupItem<ECClass>(containerA.class.name);\r\n containerB = parent && ECClass.isECClass(parent) ? await parent.getProperty(shortName) : undefined;\r\n } else if (RelationshipConstraint.isRelationshipConstraint(containerA)) {\r\n const parent = await this._schemaB.lookupItem<RelationshipClass>(containerA.relationshipClass.name);\r\n containerB = parent ? containerA.isSource ? parent.source : parent.target : undefined;\r\n }\r\n\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._schemaB.lookupItem<Enumeration>(enumA.name);\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._schemaB.lookupItem<KindOfQuantity>(koqA.name);\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._schemaB.lookupItem<PropertyCategory>(categoryA.name);\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._schemaB.lookupItem<Format>(formatA.name);\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._schemaB.lookupItem<Unit>(unitA.name);\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._schemaB.lookupItem<InvertedUnit>(invertedUnitA.name);\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._schemaB.lookupItem<Phenomenon>(phenomenonA.name);\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._schemaB.lookupItem<Constant>(constantA.name);\r\n if (!constantB || constantB.schemaItemType === SchemaItemType.Constant)\r\n this._schemaComparer.compareConstants(constantA, constantB);\r\n }\r\n}\r\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._schemaB.lookupItem(schemaItemA.name);\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._schemaB.lookupItem<AnyClass>(classA.name);\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._schemaB.lookupItem<ECClass>(propertyA.class.name);\r\n if (classB && propertyA.class.schemaItemType === classB.schemaItemType){\r\n propertyB = await classB.getProperty(propertyA.name) as AnyProperty;\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._schemaB.lookupItem<EntityClass>(entityA.name);\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._schemaB.lookupItem<Mixin>(mixinA.name);\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._schemaB.lookupItem<RelationshipClass>(relationshipA.name);\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._schemaB.lookupItem<RelationshipClass>(constraintA.relationshipClass.name);\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._schemaB.lookupItem<CustomAttributeClass>(customAttributeA.name);\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 const nameParts = containerA.fullName.split(\".\");\r\n const shortName = nameParts.length === 1 ? nameParts[0] : nameParts[1];\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._schemaB.lookupItem<ECClass>(containerA.name);\r\n containerB = parent && parent.schemaItemType === containerA.schemaItemType ? parent : undefined;\r\n } else if (Property.isProperty(containerA)) {\r\n const parent = await this._schemaB.lookupItem<ECClass>(containerA.class.name);\r\n containerB = parent && parent.schemaItemType === containerA.class.schemaItemType ? await parent.getProperty(shortName) : undefined;\r\n } else if (RelationshipConstraint.isRelationshipConstraint(containerA)) {\r\n const parent = await this._schemaB.lookupItem<RelationshipClass>(containerA.relationshipClass.name);\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._schemaB.lookupItem<Enumeration>(enumA.name);\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._schemaB.lookupItem<KindOfQuantity>(koqA.name);\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._schemaB.lookupItem<PropertyCategory>(categoryA.name);\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._schemaB.lookupItem<Format>(formatA.name);\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._schemaB.lookupItem<Unit>(unitA.name);\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._schemaB.lookupItem<InvertedUnit>(invertedUnitA.name);\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._schemaB.lookupItem<Phenomenon>(phenomenonA.name);\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._schemaB.lookupItem<Constant>(constantA.name);\r\n if (constantB && constantB.schemaItemType === SchemaItemType.Constant)\r\n this._schemaComparer.compareConstants(constantA, constantB);\r\n }\r\n}\r\n"]}
|
|
@@ -20,22 +20,22 @@ export interface ISchemaComparer {
|
|
|
20
20
|
compareSchemas(schemaA: Schema, schemaB: Schema): void;
|
|
21
21
|
compareSchemaProps(schemaA: Schema, schemaB: Schema): void;
|
|
22
22
|
compareSchemaItems(schemaItemA: SchemaItem, schemaItemB: SchemaItem | undefined): void;
|
|
23
|
-
compareClasses(classA: AnyClass, classB: AnyClass
|
|
23
|
+
compareClasses(classA: AnyClass, classB: AnyClass): void;
|
|
24
24
|
compareProperties(propertyA: AnyProperty, propertyB: AnyProperty | undefined): void;
|
|
25
|
-
compareEntityClasses(entityA: EntityClass, entityB: EntityClass
|
|
26
|
-
compareMixins(mixinA: Mixin, mixinB: Mixin
|
|
27
|
-
compareRelationshipClasses(relationshipClassA: RelationshipClass, relationshipClassB: RelationshipClass
|
|
28
|
-
compareRelationshipConstraints(relationshipConstraintA: RelationshipConstraint, relationshipConstraintB: RelationshipConstraint
|
|
29
|
-
compareCustomAttributeClasses(customAttributeClassA: CustomAttributeClass, customAttributeClassB: CustomAttributeClass
|
|
30
|
-
compareCustomAttributeContainers(containerA: CustomAttributeContainerProps, containerB: CustomAttributeContainerProps
|
|
31
|
-
compareEnumerations(enumA: Enumeration, enumB: Enumeration
|
|
32
|
-
compareKindOfQuantities(koqA: KindOfQuantity, koqB: KindOfQuantity
|
|
33
|
-
comparePropertyCategories(categoryA: PropertyCategory, categoryB: PropertyCategory
|
|
34
|
-
compareFormats(formatA: Format, formatB: Format
|
|
35
|
-
compareUnits(unitA: Unit, unitB: Unit
|
|
36
|
-
compareInvertedUnits(invertedUnitA: InvertedUnit, invertedUnitB: InvertedUnit
|
|
37
|
-
comparePhenomenons(phenomenonA: Phenomenon, phenomenonB: Phenomenon
|
|
38
|
-
compareConstants(constantA: Constant, constantB: Constant
|
|
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
39
|
}
|
|
40
40
|
/**
|
|
41
41
|
* Compares EC Schemas and reports differences using the [[IDiagnosticReporter]] objects
|
|
@@ -74,7 +74,7 @@ export declare class SchemaComparer {
|
|
|
74
74
|
* @param classA The first ECClass.
|
|
75
75
|
* @param classB The second ECClass.
|
|
76
76
|
*/
|
|
77
|
-
compareClasses(classA: AnyClass, classB: AnyClass
|
|
77
|
+
compareClasses(classA: AnyClass, classB: AnyClass): Promise<void>;
|
|
78
78
|
/**
|
|
79
79
|
* Compares two ECProperties to identify differences between property values.
|
|
80
80
|
* @param propertyA The first ECProperty.
|
|
@@ -86,85 +86,85 @@ export declare class SchemaComparer {
|
|
|
86
86
|
* @param entityA
|
|
87
87
|
* @param entityB
|
|
88
88
|
*/
|
|
89
|
-
compareEntityClasses(entityA: EntityClass, entityB: EntityClass
|
|
89
|
+
compareEntityClasses(entityA: EntityClass, entityB: EntityClass): Promise<void>;
|
|
90
90
|
/**
|
|
91
91
|
* Compares two Mixin objects to identify differences between property values.
|
|
92
92
|
* @param mixinA
|
|
93
93
|
* @param mixinB
|
|
94
94
|
*/
|
|
95
|
-
compareMixins(mixinA: Mixin, mixinB: Mixin
|
|
95
|
+
compareMixins(mixinA: Mixin, mixinB: Mixin): Promise<void>;
|
|
96
96
|
/**
|
|
97
97
|
* Compares two RelationshipClass objects to identify differences between property values.
|
|
98
98
|
* @param relationshipA
|
|
99
99
|
* @param relationshipB
|
|
100
100
|
*/
|
|
101
|
-
compareRelationshipClasses(relationshipA: RelationshipClass, relationshipB: RelationshipClass
|
|
101
|
+
compareRelationshipClasses(relationshipA: RelationshipClass, relationshipB: RelationshipClass): Promise<void>;
|
|
102
102
|
/**
|
|
103
103
|
* Compares two RelationshipConstraint objects to identify differences between property values.
|
|
104
104
|
* @param relationshipConstraintA
|
|
105
105
|
* @param relationshipConstraintB
|
|
106
106
|
*/
|
|
107
|
-
compareRelationshipConstraints(constraintA: RelationshipConstraint, constraintB: RelationshipConstraint
|
|
107
|
+
compareRelationshipConstraints(constraintA: RelationshipConstraint, constraintB: RelationshipConstraint): Promise<void>;
|
|
108
108
|
/**
|
|
109
109
|
* Compares two CustomAttributeClass objects to identify differences between property values.
|
|
110
110
|
* @param customAttributeClassA
|
|
111
111
|
* @param customAttributeClassB
|
|
112
112
|
*/
|
|
113
|
-
compareCustomAttributeClasses(customAttributeClassA: CustomAttributeClass, customAttributeClassB: CustomAttributeClass
|
|
113
|
+
compareCustomAttributeClasses(customAttributeClassA: CustomAttributeClass, customAttributeClassB: CustomAttributeClass): Promise<void>;
|
|
114
114
|
/**
|
|
115
115
|
* Compares two CustomAttributeContainerProps objects to identify differences between property values.
|
|
116
116
|
* @param containerA
|
|
117
117
|
* @param containerB
|
|
118
118
|
*/
|
|
119
|
-
compareCustomAttributeContainers(containerA: CustomAttributeContainerProps, containerB: CustomAttributeContainerProps
|
|
119
|
+
compareCustomAttributeContainers(containerA: CustomAttributeContainerProps, containerB: CustomAttributeContainerProps): Promise<void>;
|
|
120
120
|
/**
|
|
121
121
|
* Compares two Enumeration objects to identify differences between property values.
|
|
122
122
|
* @param enumA
|
|
123
123
|
* @param enumB
|
|
124
124
|
*/
|
|
125
|
-
compareEnumerations(enumA: Enumeration, enumB: Enumeration
|
|
125
|
+
compareEnumerations(enumA: Enumeration, enumB: Enumeration): Promise<void>;
|
|
126
126
|
/**
|
|
127
127
|
* Compares two KindOfQuantity objects to identify differences between property values.
|
|
128
128
|
* @param koqA
|
|
129
129
|
* @param koqB
|
|
130
130
|
*/
|
|
131
|
-
compareKindOfQuantities(koqA: KindOfQuantity, koqB: KindOfQuantity
|
|
131
|
+
compareKindOfQuantities(koqA: KindOfQuantity, koqB: KindOfQuantity): Promise<void>;
|
|
132
132
|
/**
|
|
133
133
|
* Compares two PropertyCategory objects to identify differences between property values.
|
|
134
134
|
* @param categoryA
|
|
135
135
|
* @param categoryB
|
|
136
136
|
*/
|
|
137
|
-
comparePropertyCategories(categoryA: PropertyCategory, categoryB: PropertyCategory
|
|
137
|
+
comparePropertyCategories(categoryA: PropertyCategory, categoryB: PropertyCategory): Promise<void>;
|
|
138
138
|
/**
|
|
139
139
|
* Compares two Format objects to identify differences between property values.
|
|
140
140
|
* @param formatA
|
|
141
141
|
* @param formatB
|
|
142
142
|
*/
|
|
143
|
-
compareFormats(formatA: Format, formatB: Format
|
|
143
|
+
compareFormats(formatA: Format, formatB: Format): Promise<void>;
|
|
144
144
|
/**
|
|
145
145
|
* Compares two Unit objects to identify differences between property values.
|
|
146
146
|
* @param unitA
|
|
147
147
|
* @param unitB
|
|
148
148
|
*/
|
|
149
|
-
compareUnits(unitA: Unit, unitB: Unit
|
|
149
|
+
compareUnits(unitA: Unit, unitB: Unit): Promise<void>;
|
|
150
150
|
/**
|
|
151
151
|
* Compares two InvertedUnit objects to identify differences between property values.
|
|
152
152
|
* @param invertedUnitA
|
|
153
153
|
* @param invertedUnitB
|
|
154
154
|
*/
|
|
155
|
-
compareInvertedUnits(invertedUnitA: InvertedUnit, invertedUnitB: InvertedUnit
|
|
155
|
+
compareInvertedUnits(invertedUnitA: InvertedUnit, invertedUnitB: InvertedUnit): Promise<void>;
|
|
156
156
|
/**
|
|
157
157
|
* Compares two Phenomenon objects to identify differences between property values.
|
|
158
158
|
* @param phenomenonA
|
|
159
159
|
* @param phenomenonB
|
|
160
160
|
*/
|
|
161
|
-
comparePhenomenons(phenomenonA: Phenomenon, phenomenonB: Phenomenon
|
|
161
|
+
comparePhenomenons(phenomenonA: Phenomenon, phenomenonB: Phenomenon): Promise<void>;
|
|
162
162
|
/**
|
|
163
163
|
* Compares two Constant objects to identify differences between property values.
|
|
164
164
|
* @param constantA
|
|
165
165
|
* @param constantB
|
|
166
166
|
*/
|
|
167
|
-
compareConstants(constantA: Constant, constantB: Constant
|
|
167
|
+
compareConstants(constantA: Constant, constantB: Constant): Promise<void>;
|
|
168
168
|
private comparePropertyType;
|
|
169
169
|
private compareEnumerators;
|
|
170
170
|
private compareFormatUnits;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaComparer.d.ts","sourceRoot":"","sources":["../../../src/Validation/SchemaComparer.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EACL,QAAQ,EAAiB,WAAW,EAAyB,QAAQ,EAA0C,oBAAoB,EACnI,6BAA6B,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAkB,UAAU,EACzG,gBAAgB,EAAwB,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,EAChH,UAAU,EAA8D,IAAI,EAC7E,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAKjE;;;;GAIG;AACH,oBAAY,sBAAsB;IAChC,OAAO,IAAI;IACX,QAAQ,IAAI;CACb;AACD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvD,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3D,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC;IACvF,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"SchemaComparer.d.ts","sourceRoot":"","sources":["../../../src/Validation/SchemaComparer.ts"],"names":[],"mappings":"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"}
|