@itwin/ecschema-editing 4.6.0-dev.7 → 4.6.0-dev.9

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.
Files changed (112) hide show
  1. package/lib/cjs/Differencing/SchemaConflicts.d.ts +2 -2
  2. package/lib/cjs/Differencing/SchemaConflicts.js +1 -1
  3. package/lib/cjs/Differencing/SchemaConflicts.js.map +1 -1
  4. package/lib/cjs/Differencing/SchemaDiagnosticVisitor.d.ts +9 -6
  5. package/lib/cjs/Differencing/SchemaDiagnosticVisitor.d.ts.map +1 -1
  6. package/lib/cjs/Differencing/SchemaDiagnosticVisitor.js +213 -161
  7. package/lib/cjs/Differencing/SchemaDiagnosticVisitor.js.map +1 -1
  8. package/lib/cjs/Differencing/SchemaDifference.d.ts +354 -78
  9. package/lib/cjs/Differencing/SchemaDifference.d.ts.map +1 -1
  10. package/lib/cjs/Differencing/SchemaDifference.js +184 -11
  11. package/lib/cjs/Differencing/SchemaDifference.js.map +1 -1
  12. package/lib/cjs/Editing/Mutable/MutableConstant.d.ts +1 -0
  13. package/lib/cjs/Editing/Mutable/MutableConstant.d.ts.map +1 -1
  14. package/lib/cjs/Editing/Mutable/MutableConstant.js.map +1 -1
  15. package/lib/cjs/Editing/Mutable/MutableEnumeration.d.ts +1 -0
  16. package/lib/cjs/Editing/Mutable/MutableEnumeration.d.ts.map +1 -1
  17. package/lib/cjs/Editing/Mutable/MutableEnumeration.js.map +1 -1
  18. package/lib/cjs/Editing/Mutable/MutableKindOfQuantity.d.ts +2 -0
  19. package/lib/cjs/Editing/Mutable/MutableKindOfQuantity.d.ts.map +1 -1
  20. package/lib/cjs/Editing/Mutable/MutableKindOfQuantity.js.map +1 -1
  21. package/lib/cjs/Editing/Mutable/MutablePhenomenon.d.ts +1 -0
  22. package/lib/cjs/Editing/Mutable/MutablePhenomenon.d.ts.map +1 -1
  23. package/lib/cjs/Editing/Mutable/MutablePhenomenon.js.map +1 -1
  24. package/lib/cjs/Editing/Mutable/MutablePropertyCategory.d.ts +1 -0
  25. package/lib/cjs/Editing/Mutable/MutablePropertyCategory.d.ts.map +1 -1
  26. package/lib/cjs/Editing/Mutable/MutablePropertyCategory.js.map +1 -1
  27. package/lib/cjs/Editing/Mutable/MutableSchema.d.ts +2 -0
  28. package/lib/cjs/Editing/Mutable/MutableSchema.d.ts.map +1 -1
  29. package/lib/cjs/Editing/Mutable/MutableSchema.js.map +1 -1
  30. package/lib/cjs/Editing/Mutable/MutableUnitSystem.d.ts +1 -0
  31. package/lib/cjs/Editing/Mutable/MutableUnitSystem.d.ts.map +1 -1
  32. package/lib/cjs/Editing/Mutable/MutableUnitSystem.js.map +1 -1
  33. package/lib/cjs/Merging/CAClassMerger.d.ts +4 -7
  34. package/lib/cjs/Merging/CAClassMerger.d.ts.map +1 -1
  35. package/lib/cjs/Merging/CAClassMerger.js +26 -23
  36. package/lib/cjs/Merging/CAClassMerger.js.map +1 -1
  37. package/lib/cjs/Merging/ClassMerger.d.ts +10 -18
  38. package/lib/cjs/Merging/ClassMerger.d.ts.map +1 -1
  39. package/lib/cjs/Merging/ClassMerger.js +148 -155
  40. package/lib/cjs/Merging/ClassMerger.js.map +1 -1
  41. package/lib/cjs/Merging/ConstantMerger.d.ts +4 -8
  42. package/lib/cjs/Merging/ConstantMerger.d.ts.map +1 -1
  43. package/lib/cjs/Merging/ConstantMerger.js +59 -40
  44. package/lib/cjs/Merging/ConstantMerger.js.map +1 -1
  45. package/lib/cjs/Merging/CustomAttributeMerger.d.ts +16 -13
  46. package/lib/cjs/Merging/CustomAttributeMerger.d.ts.map +1 -1
  47. package/lib/cjs/Merging/CustomAttributeMerger.js +66 -34
  48. package/lib/cjs/Merging/CustomAttributeMerger.js.map +1 -1
  49. package/lib/cjs/Merging/EntityClassMerger.d.ts +10 -7
  50. package/lib/cjs/Merging/EntityClassMerger.d.ts.map +1 -1
  51. package/lib/cjs/Merging/EntityClassMerger.js +41 -29
  52. package/lib/cjs/Merging/EntityClassMerger.js.map +1 -1
  53. package/lib/cjs/Merging/EnumerationMerger.d.ts +9 -9
  54. package/lib/cjs/Merging/EnumerationMerger.d.ts.map +1 -1
  55. package/lib/cjs/Merging/EnumerationMerger.js +77 -48
  56. package/lib/cjs/Merging/EnumerationMerger.js.map +1 -1
  57. package/lib/cjs/Merging/KindOfQuantityMerger.d.ts +4 -11
  58. package/lib/cjs/Merging/KindOfQuantityMerger.d.ts.map +1 -1
  59. package/lib/cjs/Merging/KindOfQuantityMerger.js +57 -53
  60. package/lib/cjs/Merging/KindOfQuantityMerger.js.map +1 -1
  61. package/lib/cjs/Merging/MixinMerger.d.ts +4 -7
  62. package/lib/cjs/Merging/MixinMerger.d.ts.map +1 -1
  63. package/lib/cjs/Merging/MixinMerger.js +24 -25
  64. package/lib/cjs/Merging/MixinMerger.js.map +1 -1
  65. package/lib/cjs/Merging/PhenomenonMerger.d.ts +8 -0
  66. package/lib/cjs/Merging/PhenomenonMerger.d.ts.map +1 -0
  67. package/lib/cjs/Merging/PhenomenonMerger.js +37 -0
  68. package/lib/cjs/Merging/PhenomenonMerger.js.map +1 -0
  69. package/lib/cjs/Merging/PropertyCategoryMerger.d.ts +8 -0
  70. package/lib/cjs/Merging/PropertyCategoryMerger.d.ts.map +1 -0
  71. package/lib/cjs/Merging/PropertyCategoryMerger.js +34 -0
  72. package/lib/cjs/Merging/PropertyCategoryMerger.js.map +1 -0
  73. package/lib/cjs/Merging/PropertyMerger.d.ts +6 -14
  74. package/lib/cjs/Merging/PropertyMerger.d.ts.map +1 -1
  75. package/lib/cjs/Merging/PropertyMerger.js +212 -287
  76. package/lib/cjs/Merging/PropertyMerger.js.map +1 -1
  77. package/lib/cjs/Merging/RelationshipClassMerger.d.ts +16 -10
  78. package/lib/cjs/Merging/RelationshipClassMerger.d.ts.map +1 -1
  79. package/lib/cjs/Merging/RelationshipClassMerger.js +121 -112
  80. package/lib/cjs/Merging/RelationshipClassMerger.js.map +1 -1
  81. package/lib/cjs/Merging/SchemaItemMerger.d.ts +26 -51
  82. package/lib/cjs/Merging/SchemaItemMerger.d.ts.map +1 -1
  83. package/lib/cjs/Merging/SchemaItemMerger.js +106 -88
  84. package/lib/cjs/Merging/SchemaItemMerger.js.map +1 -1
  85. package/lib/cjs/Merging/SchemaMerger.d.ts +21 -9
  86. package/lib/cjs/Merging/SchemaMerger.d.ts.map +1 -1
  87. package/lib/cjs/Merging/SchemaMerger.js +74 -88
  88. package/lib/cjs/Merging/SchemaMerger.js.map +1 -1
  89. package/lib/cjs/Merging/SchemaReferenceMerger.d.ts +5 -5
  90. package/lib/cjs/Merging/SchemaReferenceMerger.d.ts.map +1 -1
  91. package/lib/cjs/Merging/SchemaReferenceMerger.js +33 -15
  92. package/lib/cjs/Merging/SchemaReferenceMerger.js.map +1 -1
  93. package/lib/cjs/Merging/UnitSystemMerger.d.ts +8 -0
  94. package/lib/cjs/Merging/UnitSystemMerger.d.ts.map +1 -0
  95. package/lib/cjs/Merging/UnitSystemMerger.js +26 -0
  96. package/lib/cjs/Merging/UnitSystemMerger.js.map +1 -0
  97. package/lib/cjs/Validation/ECRules.js +1 -1
  98. package/lib/cjs/Validation/ECRules.js.map +1 -1
  99. package/lib/cjs/Validation/SchemaChanges.js +1 -1
  100. package/lib/cjs/Validation/SchemaChanges.js.map +1 -1
  101. package/lib/cjs/Validation/SchemaComparer.d.ts.map +1 -1
  102. package/lib/cjs/Validation/SchemaComparer.js +3 -3
  103. package/lib/cjs/Validation/SchemaComparer.js.map +1 -1
  104. package/package.json +9 -9
  105. package/lib/cjs/Merging/SchemaItemFactory.d.ts +0 -15
  106. package/lib/cjs/Merging/SchemaItemFactory.d.ts.map +0 -1
  107. package/lib/cjs/Merging/SchemaItemFactory.js +0 -82
  108. package/lib/cjs/Merging/SchemaItemFactory.js.map +0 -1
  109. package/lib/cjs/Merging/StructClassMerger.d.ts +0 -10
  110. package/lib/cjs/Merging/StructClassMerger.d.ts.map +0 -1
  111. package/lib/cjs/Merging/StructClassMerger.js +0 -13
  112. package/lib/cjs/Merging/StructClassMerger.js.map +0 -1
@@ -3,24 +3,45 @@
3
3
  */
4
4
  import { SchemaChanges } from "../Validation/SchemaChanges";
5
5
  import { SchemaDifferenceConflict } from "./SchemaConflicts";
6
- import type { AnyEnumerator, AnyPropertyProps, AnySchemaItemProps, CustomAttribute, RelationshipConstraintProps, Schema, SchemaProps, SchemaReferenceProps } from "@itwin/ecschema-metadata";
6
+ import { AnyEnumerator, AnyPropertyProps, ConstantProps, CustomAttribute, CustomAttributeClassProps, EntityClassProps, EnumerationProps, InvertedUnitProps, KindOfQuantityProps, MixinProps, PhenomenonProps, PropertyCategoryProps, RelationshipClassProps, RelationshipConstraintProps, type Schema, SchemaItemFormatProps, SchemaItemProps, SchemaItemType, SchemaItemUnitProps, SchemaReferenceProps, StructClassProps, UnitSystemProps } from "@itwin/ecschema-metadata";
7
+ /** Utility-Type to remove possible readonly flags on the given type. */
8
+ type PartialEditable<T> = {
9
+ -readonly [P in keyof T]?: T[P];
10
+ };
11
+ /**
12
+ * Utility-Type to simplify the expected SchemaItem props by omitting the base properties
13
+ * that are not needed for the schema differencing. Also all properties are made mutable
14
+ * by removing the readonly flag if present.
15
+ */
16
+ type SchemaItemProperties<T extends SchemaItemProps> = {
17
+ [P in keyof PartialEditable<Omit<T, keyof Omit<SchemaItemProps, "label" | "description" | "customAttributes">>>]: T[P];
18
+ };
7
19
  /**
8
20
  * Defines the type of the difference operation.
9
- * @internal
21
+ * @alpha
10
22
  */
11
23
  export type DifferenceType = "add" | "modify";
12
24
  /**
13
- * Defines a set of SchemaItem names.
14
- * @internal
25
+ * Defines the SchemaTypes that are not SchemaItems.
26
+ * @alpha
15
27
  */
16
- export type SchemaItemTypeName = "EntityClass" | "Mixin" | "StructClass" | "CustomAttributeClass" | "RelationshipClass" | "Enumeration" | "KindOfQuantity" | "PropertyCategory" | "Unit" | "InvertedUnit" | "Constant" | "Phenomenon" | "UnitSystem" | "Format";
28
+ export declare enum SchemaOtherTypes {
29
+ Schema = "Schema",
30
+ SchemaReference = "SchemaReference",
31
+ Property = "Property",
32
+ Enumerator = "Enumerator",
33
+ CustomAttributeInstance = "CustomAttributeInstance",
34
+ RelationshipConstraint = "RelationshipConstraint",
35
+ RelationshipConstraintClass = "RelationshipConstraintClass",
36
+ EntityClassMixin = "EntityClassMixin"
37
+ }
17
38
  /**
18
39
  * Defines the possible values SchemaTypes that can occur in SchemaDifferences or Conflicts.
19
- * @internal
40
+ * @alpha
20
41
  */
21
- export type SchemaType = "Schema" | SchemaItemTypeName | "Property" | "RelationshipConstraint";
42
+ export type SchemaType = SchemaOtherTypes | SchemaItemType;
22
43
  /**
23
- * @internal
44
+ * @alpha
24
45
  */
25
46
  export declare namespace SchemaDifference {
26
47
  /**
@@ -28,7 +49,7 @@ export declare namespace SchemaDifference {
28
49
  * @param targetSchema The schema the differences gets merged into.
29
50
  * @param sourceSchema The schema to get merged in the target.
30
51
  * @returns An [[SchemaDifference]] object.
31
- * @internal
52
+ * @alpha
32
53
  */
33
54
  function fromSchemas(targetSchema: Schema, sourceSchema: Schema): Promise<SchemaDifferences>;
34
55
  /**
@@ -39,112 +60,367 @@ export declare namespace SchemaDifference {
39
60
  * @internal
40
61
  */
41
62
  function fromSchemaChanges(targetSchema: Schema, schemaChanges: SchemaChanges): Promise<SchemaDifferences>;
63
+ /**
64
+ * Indicates whether the given difference is type of ConstantDifference.
65
+ * @alpha
66
+ */
67
+ function isConstantDifference(difference: AnySchemaDifference): difference is ConstantDifference;
68
+ /**
69
+ * Indicates whether the given difference is type of ClassPropertyDifference.
70
+ * @alpha
71
+ */
72
+ function isClassPropertyDifference(difference: AnySchemaDifference): difference is ClassPropertyDifference;
73
+ /**
74
+ * Indicates whether the given difference is type of CustomAttributeClassDifference.
75
+ * @alpha
76
+ */
77
+ function isCustomAttributeClassDifference(difference: AnySchemaDifference): difference is CustomAttributeClassDifference;
78
+ /**
79
+ * Indicates whether the given difference is type of CustomAttributeDifference.
80
+ * @alpha
81
+ */
82
+ function isCustomAttributeDifference(difference: AnySchemaDifference): difference is CustomAttributeDifference;
83
+ /**
84
+ * Indicates whether the given difference is type of EntityClassDifference.
85
+ * @alpha
86
+ */
87
+ function isEntityClassDifference(difference: AnySchemaDifference): difference is EntityClassDifference;
88
+ /**
89
+ * Indicates whether the given difference is type of EntityClassMixinDifference.
90
+ * @alpha
91
+ */
92
+ function isEntityClassMixinDifference(difference: AnySchemaDifference): difference is EntityClassMixinDifference;
93
+ /**
94
+ * Indicates whether the given difference is type of EnumerationDifference.
95
+ * @alpha
96
+ */
97
+ function isEnumerationDifference(difference: AnySchemaDifference): difference is EnumerationDifference;
98
+ /**
99
+ * Indicates whether the given difference is type of EnumeratorDifference.
100
+ * @alpha
101
+ */
102
+ function isEnumeratorDifference(difference: AnySchemaDifference): difference is EnumeratorDifference;
103
+ /**
104
+ * Indicates whether the given difference is type of KindOfQuantityDifference.
105
+ * @alpha
106
+ */
107
+ function isKindOfQuantityDifference(difference: AnySchemaDifference): difference is KindOfQuantityDifference;
108
+ /**
109
+ * Indicates whether the given difference is type of MixinClassDifference.
110
+ * @alpha
111
+ */
112
+ function isMixinClassDifference(difference: AnySchemaDifference): difference is MixinClassDifference;
113
+ /**
114
+ * Indicates whether the given difference is type of PhenomenonDifference.
115
+ * @alpha
116
+ */
117
+ function isPhenomenonDifference(difference: AnySchemaDifference): difference is PhenomenonDifference;
118
+ /**
119
+ * Indicates whether the given difference is type of PropertyCategoryDifference.
120
+ * @alpha
121
+ */
122
+ function isPropertyCategoryDifference(difference: AnySchemaDifference): difference is PropertyCategoryDifference;
123
+ /**
124
+ * Indicates whether the given difference is type of SchemaDifference.
125
+ * @alpha
126
+ */
127
+ function isSchemaDifference(difference: AnySchemaDifference): difference is SchemaDifference;
128
+ /**
129
+ * Indicates whether the given difference is type of SchemaReferenceDifference.
130
+ * @alpha
131
+ */
132
+ function isSchemaReferenceDifference(difference: AnySchemaDifference): difference is SchemaReferenceDifference;
133
+ /**
134
+ * Indicates whether the given difference is type of CustomAttributeDifference.
135
+ * @alpha
136
+ */
137
+ function isStructClassDifference(difference: AnySchemaDifference): difference is StructClassDifference;
138
+ /**
139
+ * Indicates whether the given difference is type of UnitSystemDifference.
140
+ * @alpha
141
+ */
142
+ function isUnitSystemDifference(difference: AnySchemaDifference): difference is UnitSystemDifference;
143
+ /**
144
+ * Indicates whether the given difference is type of RelationshipClassDifference.
145
+ * @alpha
146
+ */
147
+ function isRelationshipClassDifference(difference: AnySchemaDifference): difference is RelationshipClassDifference;
148
+ /**
149
+ * Indicates whether the given difference is type of RelationshipConstraintDifference.
150
+ * @alpha
151
+ */
152
+ function isRelationshipConstraintDifference(difference: AnySchemaDifference): difference is RelationshipConstraintDifference;
153
+ /**
154
+ * Indicates whether the given difference is type of RelationshipConstraintClassDifference.
155
+ * @alpha
156
+ */
157
+ function isRelationshipConstraintClassDifference(difference: AnySchemaDifference): difference is RelationshipConstraintClassDifference;
42
158
  }
43
- type MutualPartial<T> = {
44
- -readonly [P in keyof T]?: T[P];
45
- };
46
159
  /**
47
- * @internal
160
+ * Definition of the differences between two Schemas.
161
+ * @alpha
48
162
  */
49
163
  export interface SchemaDifferences {
164
+ /** Full name of the source schema */
50
165
  readonly sourceSchemaName: string;
166
+ /** Full name of the target schema */
51
167
  readonly targetSchemaName: string;
52
- readonly changes: AnySchemaDifference[];
53
- readonly conflicts: SchemaDifferenceConflict[];
168
+ /** List of differences between the compared schemas. */
169
+ readonly changes?: AnySchemaDifference[];
170
+ /** List of conflicts found while comparing the schemas. */
171
+ readonly conflicts?: SchemaDifferenceConflict[];
54
172
  }
55
173
  /**
56
- * @internal
174
+ * Union of all supported schema differencing types.
175
+ * @alpha
57
176
  */
58
- export type AnySchemaDifference = SchemaDifference | SchemaItemDifference | SchemaPropertyDifference | SchemaReferenceDifference | SchemaEnumeratorDifference | SchemaClassMixinDifference | SchemaRelationshipConstraintDifference | SchemaRelationshipConstraintClassDifference | SchemaCustomAttributeDifference;
177
+ export type AnySchemaDifference = SchemaDifference | SchemaReferenceDifference | AnySchemaItemDifference | AnySchemaItemPathDifference | CustomAttributeDifference;
59
178
  /**
60
- * @internal
179
+ * Differencing entry for changes on a Schema.
180
+ * @alpha
61
181
  */
62
182
  export interface SchemaDifference {
63
- changeType: "modify";
64
- schemaType: "Schema";
65
- itemName?: undefined;
66
- path?: undefined;
67
- json: MutualPartial<SchemaProps>;
183
+ readonly changeType: "modify";
184
+ readonly schemaType: SchemaOtherTypes.Schema;
185
+ readonly difference: {
186
+ label?: string;
187
+ description?: string;
188
+ };
68
189
  }
69
190
  /**
70
- * @internal
191
+ * Differencing entry for added or changed Schema References of a Schema.
192
+ * @alpha
71
193
  */
72
- export interface SchemaItemDifference<T extends AnySchemaItemProps = AnySchemaItemProps> {
73
- changeType: "add" | "modify" | "remove";
74
- schemaType: SchemaItemTypeName;
75
- itemName: string;
76
- path?: string;
77
- json: MutualPartial<T>;
194
+ export interface SchemaReferenceDifference {
195
+ readonly changeType: "add" | "modify";
196
+ readonly schemaType: SchemaOtherTypes.SchemaReference;
197
+ readonly difference: SchemaReferenceProps;
78
198
  }
79
199
  /**
200
+ * Union of all supported schema item differencing types.
201
+ * @alpha
202
+ */
203
+ export type AnySchemaItemDifference = ClassItemDifference | ConstantDifference | EnumerationDifference | EntityClassMixinDifference | FormatDifference | KindOfQuantityDifference | InvertedUnitDifference | PhenomenonDifference | PropertyCategoryDifference | UnitDifference | UnitSystemDifference;
204
+ /**
205
+ * Union for supported class Schema Items.
80
206
  * @internal
81
207
  */
82
- export interface SchemaPropertyDifference<T extends AnyPropertyProps = AnyPropertyProps> {
83
- changeType: "add" | "modify" | "remove";
84
- schemaType: "Property";
85
- itemName: string;
86
- path: string;
87
- json: MutualPartial<T>;
208
+ export type ClassItemDifference = EntityClassDifference | MixinClassDifference | StructClassDifference | CustomAttributeClassDifference | RelationshipClassDifference;
209
+ /**
210
+ * Union of all differences that have a path pointing inside a schema item.
211
+ * @alpha
212
+ */
213
+ export type AnySchemaItemPathDifference = RelationshipConstraintDifference | RelationshipConstraintClassDifference | CustomAttributePropertyDifference | EnumeratorDifference | ClassPropertyDifference;
214
+ /**
215
+ * Internal base class for all Schema Item differencing entries.
216
+ * @alpha
217
+ */
218
+ interface SchemaItemDifference<T extends SchemaItemProps> {
219
+ readonly changeType: "add" | "modify";
220
+ readonly itemName: string;
221
+ readonly difference: SchemaItemProperties<T>;
88
222
  }
89
223
  /**
90
- * @internal
224
+ * Differencing entry for Constant Schema Items.
225
+ * @alpha
91
226
  */
92
- export interface SchemaReferenceDifference {
93
- changeType: "add" | "modify" | "remove";
94
- schemaType: "Schema";
95
- itemName?: undefined;
96
- path: "$references";
97
- json: MutualPartial<SchemaReferenceProps>;
227
+ export interface ConstantDifference extends SchemaItemDifference<ConstantProps> {
228
+ readonly schemaType: SchemaItemType.Constant;
98
229
  }
99
230
  /**
100
- * @internal
231
+ * Differencing entry for Custom Attribute Class Schema Items.
232
+ * @alpha
101
233
  */
102
- export interface SchemaEnumeratorDifference {
103
- changeType: "add" | "modify" | "remove";
104
- schemaType: "Enumeration";
105
- itemName: string;
106
- path: string;
107
- json: MutualPartial<AnyEnumerator>;
234
+ export interface CustomAttributeClassDifference extends SchemaItemDifference<CustomAttributeClassProps> {
235
+ readonly schemaType: SchemaItemType.CustomAttributeClass;
108
236
  }
109
237
  /**
110
- * @internal
238
+ * Differencing entry for Entity Class Schema Items.
239
+ * @alpha
111
240
  */
112
- export interface SchemaClassMixinDifference {
113
- changeType: "modify";
114
- schemaType: "EntityClass";
115
- itemName: string;
116
- path: "$mixins";
117
- json: string[];
241
+ export interface EntityClassDifference extends SchemaItemDifference<EntityClassProps> {
242
+ readonly schemaType: SchemaItemType.EntityClass;
118
243
  }
119
244
  /**
120
- * @internal
245
+ * Differencing entry for Enumerator Schema Items.
246
+ * @alpha
121
247
  */
122
- export interface SchemaRelationshipConstraintDifference {
123
- changeType: "modify";
124
- schemaType: "RelationshipConstraint";
125
- itemName: string;
126
- path: string;
127
- json: MutualPartial<RelationshipConstraintProps>;
248
+ export interface EnumerationDifference extends SchemaItemDifference<EnumerationProps> {
249
+ readonly schemaType: SchemaItemType.Enumeration;
128
250
  }
129
251
  /**
130
- * @internal
252
+ * Differencing entry for Kind-Of-Quantities Schema Items.
253
+ * @alpha
131
254
  */
132
- export interface SchemaRelationshipConstraintClassDifference {
133
- changeType: "modify";
134
- schemaType: "RelationshipClass";
135
- itemName: string;
136
- path: string;
137
- json: string[];
255
+ export interface KindOfQuantityDifference extends SchemaItemDifference<KindOfQuantityProps> {
256
+ readonly schemaType: SchemaItemType.KindOfQuantity;
138
257
  }
139
258
  /**
140
- * @internal
259
+ * Differencing entry for Mixin Class Schema Items.
260
+ * @alpha
261
+ */
262
+ export interface MixinClassDifference extends SchemaItemDifference<MixinProps> {
263
+ readonly schemaType: SchemaItemType.Mixin;
264
+ }
265
+ /**
266
+ * Differencing entry for Phenomenon Schema Items.
267
+ * @alpha
268
+ */
269
+ export interface PhenomenonDifference extends SchemaItemDifference<PhenomenonProps> {
270
+ readonly schemaType: SchemaItemType.Phenomenon;
271
+ }
272
+ /**
273
+ * Differencing entry for Property Category Schema Items.
274
+ * @alpha
275
+ */
276
+ export interface PropertyCategoryDifference extends SchemaItemDifference<PropertyCategoryProps> {
277
+ readonly schemaType: SchemaItemType.PropertyCategory;
278
+ }
279
+ /**
280
+ * Differencing entry for Relationship Class Schema Items.
281
+ * @alpha
282
+ */
283
+ export interface RelationshipClassDifference extends SchemaItemDifference<RelationshipClassProps> {
284
+ readonly schemaType: SchemaItemType.RelationshipClass;
285
+ }
286
+ /**
287
+ * Differencing entry for Struct Class Schema Items.
288
+ * @alpha
289
+ */
290
+ export interface StructClassDifference extends SchemaItemDifference<StructClassProps> {
291
+ readonly schemaType: SchemaItemType.StructClass;
292
+ }
293
+ /**
294
+ * Differencing entry for Unit System Schema Items.
295
+ * @alpha
296
+ */
297
+ export interface UnitSystemDifference extends SchemaItemDifference<UnitSystemProps> {
298
+ readonly schemaType: SchemaItemType.UnitSystem;
299
+ }
300
+ /**
301
+ * Differencing entry for Unit Schema Items.
302
+ * @alpha
303
+ */
304
+ export interface UnitDifference extends SchemaItemDifference<SchemaItemUnitProps> {
305
+ readonly schemaType: SchemaItemType.Unit;
306
+ }
307
+ /**
308
+ * Differencing entry for Inverted Unit Schema Items.
309
+ * @alpha
310
+ */
311
+ export interface InvertedUnitDifference extends SchemaItemDifference<InvertedUnitProps> {
312
+ readonly schemaType: SchemaItemType.InvertedUnit;
313
+ }
314
+ /**
315
+ * Differencing entry for Format Schema Items.
316
+ * @alpha
317
+ */
318
+ export interface FormatDifference extends SchemaItemDifference<SchemaItemFormatProps> {
319
+ readonly schemaType: SchemaItemType.Format;
320
+ }
321
+ /**
322
+ * Differencing entry for added or changed Properties.
323
+ * @alpha
324
+ */
325
+ export interface ClassPropertyDifference {
326
+ readonly changeType: "add" | "modify";
327
+ readonly schemaType: SchemaOtherTypes.Property;
328
+ readonly itemName: string;
329
+ readonly path: string;
330
+ readonly difference: PartialEditable<AnyPropertyProps>;
331
+ }
332
+ /**
333
+ * Union of supported Custom Attribute Differences.
334
+ * @alpha
335
+ */
336
+ export type CustomAttributeDifference = CustomAttributeSchemaDifference | CustomAttributeSchemaItemDifference | CustomAttributePropertyDifference | CustomAttributeRelationshipConstraintDifference;
337
+ /**
338
+ * Differencing entry for Custom Attributes on Schema.
339
+ * @alpha
340
+ */
341
+ export interface CustomAttributeSchemaDifference {
342
+ readonly changeType: "add";
343
+ readonly schemaType: SchemaOtherTypes.CustomAttributeInstance;
344
+ readonly appliedTo: "Schema";
345
+ readonly difference: PartialEditable<CustomAttribute>;
346
+ }
347
+ /**
348
+ * Differencing entry for Custom Attributes on Schema Items.
349
+ * @alpha
350
+ */
351
+ export interface CustomAttributeSchemaItemDifference {
352
+ readonly changeType: "add";
353
+ readonly schemaType: SchemaOtherTypes.CustomAttributeInstance;
354
+ readonly appliedTo: "SchemaItem";
355
+ readonly itemName: string;
356
+ readonly difference: PartialEditable<CustomAttribute>;
357
+ }
358
+ /**
359
+ * Differencing entry for Custom Attributes on Properties.
360
+ * @alpha
361
+ */
362
+ export interface CustomAttributePropertyDifference {
363
+ readonly changeType: "add";
364
+ readonly schemaType: SchemaOtherTypes.CustomAttributeInstance;
365
+ readonly appliedTo: "Property";
366
+ readonly itemName: string;
367
+ readonly path: string;
368
+ readonly difference: PartialEditable<CustomAttribute>;
369
+ }
370
+ /**
371
+ * Differencing entry for Custom Attributes on Relationship Constraints.
372
+ * @alpha
373
+ */
374
+ export interface CustomAttributeRelationshipConstraintDifference {
375
+ readonly changeType: "add";
376
+ readonly schemaType: SchemaOtherTypes.CustomAttributeInstance;
377
+ readonly appliedTo: "RelationshipConstraint";
378
+ readonly itemName: string;
379
+ readonly path: "$source" | "$target";
380
+ readonly difference: PartialEditable<CustomAttribute>;
381
+ }
382
+ /**
383
+ * Differencing entry for changed mixins on EntityClasses.
384
+ * @alpha
385
+ */
386
+ export interface EntityClassMixinDifference {
387
+ readonly changeType: "add";
388
+ readonly schemaType: SchemaOtherTypes.EntityClassMixin;
389
+ readonly itemName: string;
390
+ readonly difference: string[];
391
+ }
392
+ /**
393
+ * Differencing entry for changed Enumerators on Enumerable Schema Items.
394
+ * @alpha
395
+ */
396
+ export interface EnumeratorDifference {
397
+ readonly changeType: "add" | "modify";
398
+ readonly schemaType: SchemaOtherTypes.Enumerator;
399
+ readonly itemName: string;
400
+ readonly path: string;
401
+ readonly difference: PartialEditable<AnyEnumerator>;
402
+ }
403
+ /**
404
+ * Differencing entry for Relationship Constraints.
405
+ * @alpha
406
+ */
407
+ export interface RelationshipConstraintDifference {
408
+ readonly changeType: "modify";
409
+ readonly schemaType: SchemaOtherTypes.RelationshipConstraint;
410
+ readonly itemName: string;
411
+ readonly path: "$source" | "$target";
412
+ readonly difference: PartialEditable<Omit<RelationshipConstraintProps, "constraintClasses">>;
413
+ }
414
+ /**
415
+ * Differencing entry for constraint classes added to Relationship Constrains.
416
+ * @alpha
141
417
  */
142
- export interface SchemaCustomAttributeDifference {
143
- changeType: "add" | "modify";
144
- schemaType: "Schema" | "EnitityClass" | "Properties" | "RelationshipConstraint";
145
- itemName?: string;
146
- path?: string;
147
- json: MutualPartial<CustomAttribute>;
418
+ export interface RelationshipConstraintClassDifference {
419
+ readonly changeType: "add";
420
+ readonly schemaType: SchemaOtherTypes.RelationshipConstraintClass;
421
+ readonly itemName: string;
422
+ readonly path: "$source" | "$target";
423
+ readonly difference: string[];
148
424
  }
149
425
  export {};
150
426
  //# sourceMappingURL=SchemaDifference.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaDifference.d.ts","sourceRoot":"","sources":["../../../src/Differencing/SchemaDifference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SchemaDifference.d.ts","sourceRoot":"","sources":["../../../src/Differencing/SchemaDifference.ts"],"names":[],"mappings":"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"}