@itwin/ecschema-editing 5.0.0-dev.9 → 5.0.0-dev.92

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 (589) hide show
  1. package/CHANGELOG.md +51 -1
  2. package/lib/cjs/Differencing/Errors.js +6 -0
  3. package/lib/cjs/Differencing/Errors.js.map +1 -1
  4. package/lib/cjs/Differencing/SchemaConflicts.d.ts +3 -1
  5. package/lib/cjs/Differencing/SchemaConflicts.d.ts.map +1 -1
  6. package/lib/cjs/Differencing/SchemaConflicts.js +2 -0
  7. package/lib/cjs/Differencing/SchemaConflicts.js.map +1 -1
  8. package/lib/cjs/Differencing/SchemaDiagnosticVisitor.d.ts +4 -3
  9. package/lib/cjs/Differencing/SchemaDiagnosticVisitor.d.ts.map +1 -1
  10. package/lib/cjs/Differencing/SchemaDiagnosticVisitor.js +57 -11
  11. package/lib/cjs/Differencing/SchemaDiagnosticVisitor.js.map +1 -1
  12. package/lib/cjs/Differencing/SchemaDifference.d.ts +33 -4
  13. package/lib/cjs/Differencing/SchemaDifference.d.ts.map +1 -1
  14. package/lib/cjs/Differencing/SchemaDifference.js +55 -5
  15. package/lib/cjs/Differencing/SchemaDifference.js.map +1 -1
  16. package/lib/cjs/Differencing/SchemaDifferenceValidator.d.ts +2 -1
  17. package/lib/cjs/Differencing/SchemaDifferenceValidator.d.ts.map +1 -1
  18. package/lib/cjs/Differencing/SchemaDifferenceValidator.js +78 -19
  19. package/lib/cjs/Differencing/SchemaDifferenceValidator.js.map +1 -1
  20. package/lib/cjs/Differencing/SchemaDifferenceVisitor.d.ts.map +1 -1
  21. package/lib/cjs/Differencing/SchemaDifferenceVisitor.js +5 -0
  22. package/lib/cjs/Differencing/SchemaDifferenceVisitor.js.map +1 -1
  23. package/lib/cjs/Differencing/Utils.js.map +1 -1
  24. package/lib/cjs/Editing/Constants.d.ts +2 -1
  25. package/lib/cjs/Editing/Constants.d.ts.map +1 -1
  26. package/lib/cjs/Editing/Constants.js +4 -1
  27. package/lib/cjs/Editing/Constants.js.map +1 -1
  28. package/lib/cjs/Editing/CustomAttributes.d.ts +2 -1
  29. package/lib/cjs/Editing/CustomAttributes.d.ts.map +1 -1
  30. package/lib/cjs/Editing/CustomAttributes.js +3 -0
  31. package/lib/cjs/Editing/CustomAttributes.js.map +1 -1
  32. package/lib/cjs/Editing/ECClasses.d.ts +6 -1
  33. package/lib/cjs/Editing/ECClasses.d.ts.map +1 -1
  34. package/lib/cjs/Editing/ECClasses.js +48 -49
  35. package/lib/cjs/Editing/ECClasses.js.map +1 -1
  36. package/lib/cjs/Editing/Editor.d.ts +2 -2
  37. package/lib/cjs/Editing/Editor.d.ts.map +1 -1
  38. package/lib/cjs/Editing/Editor.js +32 -21
  39. package/lib/cjs/Editing/Editor.js.map +1 -1
  40. package/lib/cjs/Editing/Entities.d.ts +2 -1
  41. package/lib/cjs/Editing/Entities.d.ts.map +1 -1
  42. package/lib/cjs/Editing/Entities.js +18 -14
  43. package/lib/cjs/Editing/Entities.js.map +1 -1
  44. package/lib/cjs/Editing/Enumerations.d.ts +2 -1
  45. package/lib/cjs/Editing/Enumerations.d.ts.map +1 -1
  46. package/lib/cjs/Editing/Enumerations.js +6 -3
  47. package/lib/cjs/Editing/Enumerations.js.map +1 -1
  48. package/lib/cjs/Editing/Exception.js +35 -6
  49. package/lib/cjs/Editing/Exception.js.map +1 -1
  50. package/lib/cjs/Editing/Formats.d.ts +2 -1
  51. package/lib/cjs/Editing/Formats.d.ts.map +1 -1
  52. package/lib/cjs/Editing/Formats.js +5 -1
  53. package/lib/cjs/Editing/Formats.js.map +1 -1
  54. package/lib/cjs/Editing/InvertedUnits.d.ts +2 -1
  55. package/lib/cjs/Editing/InvertedUnits.d.ts.map +1 -1
  56. package/lib/cjs/Editing/InvertedUnits.js +10 -6
  57. package/lib/cjs/Editing/InvertedUnits.js.map +1 -1
  58. package/lib/cjs/Editing/KindOfQuantities.d.ts +2 -1
  59. package/lib/cjs/Editing/KindOfQuantities.d.ts.map +1 -1
  60. package/lib/cjs/Editing/KindOfQuantities.js +11 -7
  61. package/lib/cjs/Editing/KindOfQuantities.js.map +1 -1
  62. package/lib/cjs/Editing/Mixins.d.ts +2 -1
  63. package/lib/cjs/Editing/Mixins.d.ts.map +1 -1
  64. package/lib/cjs/Editing/Mixins.js +13 -9
  65. package/lib/cjs/Editing/Mixins.js.map +1 -1
  66. package/lib/cjs/Editing/Mutable/MutableArrayProperty.js.map +1 -1
  67. package/lib/cjs/Editing/Mutable/MutableCAClass.js.map +1 -1
  68. package/lib/cjs/Editing/Mutable/MutableClass.d.ts +2 -1
  69. package/lib/cjs/Editing/Mutable/MutableClass.d.ts.map +1 -1
  70. package/lib/cjs/Editing/Mutable/MutableClass.js.map +1 -1
  71. package/lib/cjs/Editing/Mutable/MutableConstant.js.map +1 -1
  72. package/lib/cjs/Editing/Mutable/MutableEntityClass.js.map +1 -1
  73. package/lib/cjs/Editing/Mutable/MutableEnumeration.js.map +1 -1
  74. package/lib/cjs/Editing/Mutable/MutableFormat.d.ts +8 -1
  75. package/lib/cjs/Editing/Mutable/MutableFormat.d.ts.map +1 -1
  76. package/lib/cjs/Editing/Mutable/MutableFormat.js.map +1 -1
  77. package/lib/cjs/Editing/Mutable/MutableInvertedUnit.js.map +1 -1
  78. package/lib/cjs/Editing/Mutable/MutableKindOfQuantity.js.map +1 -1
  79. package/lib/cjs/Editing/Mutable/MutableMixin.js.map +1 -1
  80. package/lib/cjs/Editing/Mutable/MutableNavigationProperty.js.map +1 -1
  81. package/lib/cjs/Editing/Mutable/MutablePhenomenon.js.map +1 -1
  82. package/lib/cjs/Editing/Mutable/MutablePrimitiveOrEnumProperty.js.map +1 -1
  83. package/lib/cjs/Editing/Mutable/MutableProperty.js.map +1 -1
  84. package/lib/cjs/Editing/Mutable/MutablePropertyCategory.js.map +1 -1
  85. package/lib/cjs/Editing/Mutable/MutableRelationshipClass.js.map +1 -1
  86. package/lib/cjs/Editing/Mutable/MutableSchema.js.map +1 -1
  87. package/lib/cjs/Editing/Mutable/MutableSchemaItem.js.map +1 -1
  88. package/lib/cjs/Editing/Mutable/MutableStructProperty.js.map +1 -1
  89. package/lib/cjs/Editing/Mutable/MutableUnit.js.map +1 -1
  90. package/lib/cjs/Editing/Mutable/MutableUnitSystem.js.map +1 -1
  91. package/lib/cjs/Editing/Phenomena.d.ts +2 -1
  92. package/lib/cjs/Editing/Phenomena.d.ts.map +1 -1
  93. package/lib/cjs/Editing/Phenomena.js +3 -0
  94. package/lib/cjs/Editing/Phenomena.js.map +1 -1
  95. package/lib/cjs/Editing/Properties.d.ts +2 -2
  96. package/lib/cjs/Editing/Properties.d.ts.map +1 -1
  97. package/lib/cjs/Editing/Properties.js +6 -4
  98. package/lib/cjs/Editing/Properties.js.map +1 -1
  99. package/lib/cjs/Editing/PropertyCategories.d.ts +2 -1
  100. package/lib/cjs/Editing/PropertyCategories.d.ts.map +1 -1
  101. package/lib/cjs/Editing/PropertyCategories.js +5 -1
  102. package/lib/cjs/Editing/PropertyCategories.js.map +1 -1
  103. package/lib/cjs/Editing/RelationshipClasses.d.ts +1 -0
  104. package/lib/cjs/Editing/RelationshipClasses.d.ts.map +1 -1
  105. package/lib/cjs/Editing/RelationshipClasses.js +17 -10
  106. package/lib/cjs/Editing/RelationshipClasses.js.map +1 -1
  107. package/lib/cjs/Editing/SchemaItems.d.ts +2 -2
  108. package/lib/cjs/Editing/SchemaItems.d.ts.map +1 -1
  109. package/lib/cjs/Editing/SchemaItems.js +8 -11
  110. package/lib/cjs/Editing/SchemaItems.js.map +1 -1
  111. package/lib/cjs/Editing/Structs.d.ts +2 -1
  112. package/lib/cjs/Editing/Structs.d.ts.map +1 -1
  113. package/lib/cjs/Editing/Structs.js +3 -0
  114. package/lib/cjs/Editing/Structs.js.map +1 -1
  115. package/lib/cjs/Editing/UnitSystems.d.ts +2 -1
  116. package/lib/cjs/Editing/UnitSystems.d.ts.map +1 -1
  117. package/lib/cjs/Editing/UnitSystems.js +3 -0
  118. package/lib/cjs/Editing/UnitSystems.js.map +1 -1
  119. package/lib/cjs/Editing/Units.d.ts +2 -1
  120. package/lib/cjs/Editing/Units.d.ts.map +1 -1
  121. package/lib/cjs/Editing/Units.js +5 -2
  122. package/lib/cjs/Editing/Units.js.map +1 -1
  123. package/lib/cjs/Merging/ClassMerger.js.map +1 -1
  124. package/lib/cjs/Merging/ConstantMerger.js +4 -4
  125. package/lib/cjs/Merging/ConstantMerger.js.map +1 -1
  126. package/lib/cjs/Merging/CustomAttributeClassMerger.js.map +1 -1
  127. package/lib/cjs/Merging/CustomAttributeMerger.d.ts.map +1 -1
  128. package/lib/cjs/Merging/CustomAttributeMerger.js +7 -6
  129. package/lib/cjs/Merging/CustomAttributeMerger.js.map +1 -1
  130. package/lib/cjs/Merging/Edits/NameMapping.d.ts +22 -0
  131. package/lib/cjs/Merging/Edits/NameMapping.d.ts.map +1 -0
  132. package/lib/cjs/Merging/Edits/NameMapping.js +54 -0
  133. package/lib/cjs/Merging/Edits/NameMapping.js.map +1 -0
  134. package/lib/cjs/Merging/Edits/RenameEditHandler.d.ts +1 -1
  135. package/lib/cjs/Merging/Edits/RenameEditHandler.d.ts.map +1 -1
  136. package/lib/cjs/Merging/Edits/RenameEditHandler.js +1 -260
  137. package/lib/cjs/Merging/Edits/RenameEditHandler.js.map +1 -1
  138. package/lib/cjs/Merging/Edits/SchemaEdits.d.ts +9 -6
  139. package/lib/cjs/Merging/Edits/SchemaEdits.d.ts.map +1 -1
  140. package/lib/cjs/Merging/Edits/SchemaEdits.js +19 -14
  141. package/lib/cjs/Merging/Edits/SchemaEdits.js.map +1 -1
  142. package/lib/cjs/Merging/Edits/SkipEditHandler.js.map +1 -1
  143. package/lib/cjs/Merging/EntityClassMerger.js +1 -2
  144. package/lib/cjs/Merging/EntityClassMerger.js.map +1 -1
  145. package/lib/cjs/Merging/EnumerationMerger.js +1 -1
  146. package/lib/cjs/Merging/EnumerationMerger.js.map +1 -1
  147. package/lib/cjs/Merging/EnumeratorMerger.d.ts.map +1 -1
  148. package/lib/cjs/Merging/EnumeratorMerger.js +2 -2
  149. package/lib/cjs/Merging/EnumeratorMerger.js.map +1 -1
  150. package/lib/cjs/Merging/FormatMerger.d.ts +24 -0
  151. package/lib/cjs/Merging/FormatMerger.d.ts.map +1 -0
  152. package/lib/cjs/Merging/FormatMerger.js +143 -0
  153. package/lib/cjs/Merging/FormatMerger.js.map +1 -0
  154. package/lib/cjs/Merging/InvertedUnitMerger.d.ts +14 -0
  155. package/lib/cjs/Merging/InvertedUnitMerger.d.ts.map +1 -0
  156. package/lib/cjs/Merging/InvertedUnitMerger.js +45 -0
  157. package/lib/cjs/Merging/InvertedUnitMerger.js.map +1 -0
  158. package/lib/cjs/Merging/KindOfQuantityMerger.d.ts +1 -1
  159. package/lib/cjs/Merging/KindOfQuantityMerger.d.ts.map +1 -1
  160. package/lib/cjs/Merging/KindOfQuantityMerger.js +4 -5
  161. package/lib/cjs/Merging/KindOfQuantityMerger.js.map +1 -1
  162. package/lib/cjs/Merging/MixinMerger.js +1 -1
  163. package/lib/cjs/Merging/MixinMerger.js.map +1 -1
  164. package/lib/cjs/Merging/PhenomenonMerger.js +1 -1
  165. package/lib/cjs/Merging/PhenomenonMerger.js.map +1 -1
  166. package/lib/cjs/Merging/PropertyCategoryMerger.js.map +1 -1
  167. package/lib/cjs/Merging/PropertyMerger.js +28 -26
  168. package/lib/cjs/Merging/PropertyMerger.js.map +1 -1
  169. package/lib/cjs/Merging/RelationshipClassMerger.d.ts.map +1 -1
  170. package/lib/cjs/Merging/RelationshipClassMerger.js +4 -4
  171. package/lib/cjs/Merging/RelationshipClassMerger.js.map +1 -1
  172. package/lib/cjs/Merging/SchemaMerger.d.ts +5 -3
  173. package/lib/cjs/Merging/SchemaMerger.d.ts.map +1 -1
  174. package/lib/cjs/Merging/SchemaMerger.js +45 -5
  175. package/lib/cjs/Merging/SchemaMerger.js.map +1 -1
  176. package/lib/cjs/Merging/SchemaMergingVisitor.d.ts +14 -8
  177. package/lib/cjs/Merging/SchemaMergingVisitor.d.ts.map +1 -1
  178. package/lib/cjs/Merging/SchemaMergingVisitor.js +42 -17
  179. package/lib/cjs/Merging/SchemaMergingVisitor.js.map +1 -1
  180. package/lib/cjs/Merging/SchemaMergingWalker.d.ts.map +1 -1
  181. package/lib/cjs/Merging/SchemaMergingWalker.js +2 -0
  182. package/lib/cjs/Merging/SchemaMergingWalker.js.map +1 -1
  183. package/lib/cjs/Merging/SchemaReferenceMerger.js.map +1 -1
  184. package/lib/cjs/Merging/StructClassMerger.js.map +1 -1
  185. package/lib/cjs/Merging/UnitMerger.d.ts +14 -0
  186. package/lib/cjs/Merging/UnitMerger.d.ts.map +1 -0
  187. package/lib/cjs/Merging/UnitMerger.js +62 -0
  188. package/lib/cjs/Merging/UnitMerger.js.map +1 -0
  189. package/lib/cjs/Merging/UnitSystemMerger.js.map +1 -1
  190. package/lib/cjs/Merging/Utils.d.ts +11 -0
  191. package/lib/cjs/Merging/Utils.d.ts.map +1 -1
  192. package/lib/cjs/Merging/Utils.js +23 -3
  193. package/lib/cjs/Merging/Utils.js.map +1 -1
  194. package/lib/cjs/Validation/Diagnostic.js +18 -16
  195. package/lib/cjs/Validation/Diagnostic.js.map +1 -1
  196. package/lib/cjs/Validation/DiagnosticReporter.js +4 -1
  197. package/lib/cjs/Validation/DiagnosticReporter.js.map +1 -1
  198. package/lib/cjs/Validation/ECRules.js +1 -1
  199. package/lib/cjs/Validation/ECRules.js.map +1 -1
  200. package/lib/cjs/Validation/LoggingDiagnosticReporter.js.map +1 -1
  201. package/lib/cjs/Validation/RuleSuppressionSet.js.map +1 -1
  202. package/lib/cjs/Validation/Rules.js.map +1 -1
  203. package/lib/cjs/Validation/SchemaChanges.js +39 -69
  204. package/lib/cjs/Validation/SchemaChanges.js.map +1 -1
  205. package/lib/cjs/Validation/SchemaCompareDiagnostics.d.ts +2 -2
  206. package/lib/cjs/Validation/SchemaCompareDiagnostics.js.map +1 -1
  207. package/lib/cjs/Validation/SchemaCompareReporter.js.map +1 -1
  208. package/lib/cjs/Validation/SchemaCompareResultDelegate.d.ts +1 -1
  209. package/lib/cjs/Validation/SchemaCompareResultDelegate.d.ts.map +1 -1
  210. package/lib/cjs/Validation/SchemaCompareResultDelegate.js +4 -1
  211. package/lib/cjs/Validation/SchemaCompareResultDelegate.js.map +1 -1
  212. package/lib/cjs/Validation/SchemaCompareVisitor.d.ts.map +1 -1
  213. package/lib/cjs/Validation/SchemaCompareVisitor.js +23 -23
  214. package/lib/cjs/Validation/SchemaCompareVisitor.js.map +1 -1
  215. package/lib/cjs/Validation/SchemaComparer.d.ts +22 -1
  216. package/lib/cjs/Validation/SchemaComparer.d.ts.map +1 -1
  217. package/lib/cjs/Validation/SchemaComparer.js +30 -5
  218. package/lib/cjs/Validation/SchemaComparer.js.map +1 -1
  219. package/lib/cjs/Validation/SchemaValidater.js +1 -4
  220. package/lib/cjs/Validation/SchemaValidater.js.map +1 -1
  221. package/lib/cjs/Validation/SchemaValidationVisitor.js +3 -4
  222. package/lib/cjs/Validation/SchemaValidationVisitor.js.map +1 -1
  223. package/lib/cjs/Validation/SchemaWalker.d.ts +1 -1
  224. package/lib/cjs/Validation/SchemaWalker.d.ts.map +1 -1
  225. package/lib/cjs/Validation/SchemaWalker.js +6 -4
  226. package/lib/cjs/Validation/SchemaWalker.js.map +1 -1
  227. package/lib/cjs/ecschema-editing.js.map +1 -1
  228. package/lib/esm/Differencing/Errors.d.ts +19 -0
  229. package/lib/esm/Differencing/Errors.d.ts.map +1 -0
  230. package/lib/esm/Differencing/Errors.js +26 -0
  231. package/lib/esm/Differencing/Errors.js.map +1 -0
  232. package/lib/esm/Differencing/SchemaConflicts.d.ts +84 -0
  233. package/lib/esm/Differencing/SchemaConflicts.d.ts.map +1 -0
  234. package/lib/esm/Differencing/SchemaConflicts.js +60 -0
  235. package/lib/esm/Differencing/SchemaConflicts.js.map +1 -0
  236. package/lib/esm/Differencing/SchemaDiagnosticVisitor.d.ts +41 -0
  237. package/lib/esm/Differencing/SchemaDiagnosticVisitor.d.ts.map +1 -0
  238. package/lib/esm/Differencing/SchemaDiagnosticVisitor.js +443 -0
  239. package/lib/esm/Differencing/SchemaDiagnosticVisitor.js.map +1 -0
  240. package/lib/esm/Differencing/SchemaDifference.d.ts +357 -0
  241. package/lib/esm/Differencing/SchemaDifference.d.ts.map +1 -0
  242. package/lib/esm/Differencing/SchemaDifference.js +106 -0
  243. package/lib/esm/Differencing/SchemaDifference.js.map +1 -0
  244. package/lib/esm/Differencing/SchemaDifferenceValidator.d.ts +18 -0
  245. package/lib/esm/Differencing/SchemaDifferenceValidator.d.ts.map +1 -0
  246. package/lib/esm/Differencing/SchemaDifferenceValidator.js +521 -0
  247. package/lib/esm/Differencing/SchemaDifferenceValidator.js.map +1 -0
  248. package/lib/esm/Differencing/SchemaDifferenceVisitor.d.ts +32 -0
  249. package/lib/esm/Differencing/SchemaDifferenceVisitor.d.ts.map +1 -0
  250. package/lib/esm/Differencing/SchemaDifferenceVisitor.js +88 -0
  251. package/lib/esm/Differencing/SchemaDifferenceVisitor.js.map +1 -0
  252. package/lib/esm/Differencing/Utils.d.ts +110 -0
  253. package/lib/esm/Differencing/Utils.d.ts.map +1 -0
  254. package/lib/esm/Differencing/Utils.js +161 -0
  255. package/lib/esm/Differencing/Utils.js.map +1 -0
  256. package/lib/esm/Editing/Constants.d.ts +22 -0
  257. package/lib/esm/Editing/Constants.d.ts.map +1 -0
  258. package/lib/esm/Editing/Constants.js +55 -0
  259. package/lib/esm/Editing/Constants.js.map +1 -0
  260. package/lib/esm/Editing/CustomAttributes.d.ts +22 -0
  261. package/lib/esm/Editing/CustomAttributes.d.ts.map +1 -0
  262. package/lib/esm/Editing/CustomAttributes.js +49 -0
  263. package/lib/esm/Editing/CustomAttributes.js.map +1 -0
  264. package/lib/esm/Editing/ECClasses.d.ts +86 -0
  265. package/lib/esm/Editing/ECClasses.d.ts.map +1 -0
  266. package/lib/esm/Editing/ECClasses.js +294 -0
  267. package/lib/esm/Editing/ECClasses.js.map +1 -0
  268. package/lib/esm/Editing/Editor.d.ts +117 -0
  269. package/lib/esm/Editing/Editor.d.ts.map +1 -0
  270. package/lib/esm/Editing/Editor.js +264 -0
  271. package/lib/esm/Editing/Editor.js.map +1 -0
  272. package/lib/esm/Editing/Entities.d.ts +38 -0
  273. package/lib/esm/Editing/Entities.d.ts.map +1 -0
  274. package/lib/esm/Editing/Entities.js +126 -0
  275. package/lib/esm/Editing/Entities.js.map +1 -0
  276. package/lib/esm/Editing/Enumerations.d.ts +25 -0
  277. package/lib/esm/Editing/Enumerations.d.ts.map +1 -0
  278. package/lib/esm/Editing/Enumerations.js +90 -0
  279. package/lib/esm/Editing/Enumerations.js.map +1 -0
  280. package/lib/esm/Editing/Exception.d.ts +358 -0
  281. package/lib/esm/Editing/Exception.d.ts.map +1 -0
  282. package/lib/esm/Editing/Exception.js +471 -0
  283. package/lib/esm/Editing/Exception.js.map +1 -0
  284. package/lib/esm/Editing/Formats.d.ts +23 -0
  285. package/lib/esm/Editing/Formats.d.ts.map +1 -0
  286. package/lib/esm/Editing/Formats.js +62 -0
  287. package/lib/esm/Editing/Formats.js.map +1 -0
  288. package/lib/esm/Editing/InvertedUnits.d.ts +19 -0
  289. package/lib/esm/Editing/InvertedUnits.d.ts.map +1 -0
  290. package/lib/esm/Editing/InvertedUnits.js +68 -0
  291. package/lib/esm/Editing/InvertedUnits.js.map +1 -0
  292. package/lib/esm/Editing/KindOfQuantities.d.ts +30 -0
  293. package/lib/esm/Editing/KindOfQuantities.d.ts.map +1 -0
  294. package/lib/esm/Editing/KindOfQuantities.js +92 -0
  295. package/lib/esm/Editing/KindOfQuantities.js.map +1 -0
  296. package/lib/esm/Editing/Mixins.d.ts +35 -0
  297. package/lib/esm/Editing/Mixins.d.ts.map +1 -0
  298. package/lib/esm/Editing/Mixins.js +90 -0
  299. package/lib/esm/Editing/Mixins.js.map +1 -0
  300. package/lib/esm/Editing/Mutable/MutableArrayProperty.d.ts +10 -0
  301. package/lib/esm/Editing/Mutable/MutableArrayProperty.d.ts.map +1 -0
  302. package/lib/esm/Editing/Mutable/MutableArrayProperty.js +12 -0
  303. package/lib/esm/Editing/Mutable/MutableArrayProperty.js.map +1 -0
  304. package/lib/esm/Editing/Mutable/MutableCAClass.d.ts +10 -0
  305. package/lib/esm/Editing/Mutable/MutableCAClass.d.ts.map +1 -0
  306. package/lib/esm/Editing/Mutable/MutableCAClass.js +12 -0
  307. package/lib/esm/Editing/Mutable/MutableCAClass.js.map +1 -0
  308. package/lib/esm/Editing/Mutable/MutableClass.d.ts +39 -0
  309. package/lib/esm/Editing/Mutable/MutableClass.d.ts.map +1 -0
  310. package/lib/esm/Editing/Mutable/MutableClass.js +18 -0
  311. package/lib/esm/Editing/Mutable/MutableClass.js.map +1 -0
  312. package/lib/esm/Editing/Mutable/MutableConstant.d.ts +14 -0
  313. package/lib/esm/Editing/Mutable/MutableConstant.d.ts.map +1 -0
  314. package/lib/esm/Editing/Mutable/MutableConstant.js +12 -0
  315. package/lib/esm/Editing/Mutable/MutableConstant.js.map +1 -0
  316. package/lib/esm/Editing/Mutable/MutableEntityClass.d.ts +12 -0
  317. package/lib/esm/Editing/Mutable/MutableEntityClass.d.ts.map +1 -0
  318. package/lib/esm/Editing/Mutable/MutableEntityClass.js +12 -0
  319. package/lib/esm/Editing/Mutable/MutableEntityClass.js.map +1 -0
  320. package/lib/esm/Editing/Mutable/MutableEnumeration.d.ts +11 -0
  321. package/lib/esm/Editing/Mutable/MutableEnumeration.d.ts.map +1 -0
  322. package/lib/esm/Editing/Mutable/MutableEnumeration.js +11 -0
  323. package/lib/esm/Editing/Mutable/MutableEnumeration.js.map +1 -0
  324. package/lib/esm/Editing/Mutable/MutableFormat.d.ts +26 -0
  325. package/lib/esm/Editing/Mutable/MutableFormat.d.ts.map +1 -0
  326. package/lib/esm/Editing/Mutable/MutableFormat.js +12 -0
  327. package/lib/esm/Editing/Mutable/MutableFormat.js.map +1 -0
  328. package/lib/esm/Editing/Mutable/MutableInvertedUnit.d.ts +11 -0
  329. package/lib/esm/Editing/Mutable/MutableInvertedUnit.d.ts.map +1 -0
  330. package/lib/esm/Editing/Mutable/MutableInvertedUnit.js +12 -0
  331. package/lib/esm/Editing/Mutable/MutableInvertedUnit.js.map +1 -0
  332. package/lib/esm/Editing/Mutable/MutableKindOfQuantity.d.ts +14 -0
  333. package/lib/esm/Editing/Mutable/MutableKindOfQuantity.d.ts.map +1 -0
  334. package/lib/esm/Editing/Mutable/MutableKindOfQuantity.js +12 -0
  335. package/lib/esm/Editing/Mutable/MutableKindOfQuantity.js.map +1 -0
  336. package/lib/esm/Editing/Mutable/MutableMixin.d.ts +12 -0
  337. package/lib/esm/Editing/Mutable/MutableMixin.d.ts.map +1 -0
  338. package/lib/esm/Editing/Mutable/MutableMixin.js +12 -0
  339. package/lib/esm/Editing/Mutable/MutableMixin.js.map +1 -0
  340. package/lib/esm/Editing/Mutable/MutableNavigationProperty.d.ts +8 -0
  341. package/lib/esm/Editing/Mutable/MutableNavigationProperty.d.ts.map +1 -0
  342. package/lib/esm/Editing/Mutable/MutableNavigationProperty.js +12 -0
  343. package/lib/esm/Editing/Mutable/MutableNavigationProperty.js.map +1 -0
  344. package/lib/esm/Editing/Mutable/MutablePhenomenon.d.ts +11 -0
  345. package/lib/esm/Editing/Mutable/MutablePhenomenon.d.ts.map +1 -0
  346. package/lib/esm/Editing/Mutable/MutablePhenomenon.js +12 -0
  347. package/lib/esm/Editing/Mutable/MutablePhenomenon.js.map +1 -0
  348. package/lib/esm/Editing/Mutable/MutablePrimitiveOrEnumProperty.d.ts +13 -0
  349. package/lib/esm/Editing/Mutable/MutablePrimitiveOrEnumProperty.d.ts.map +1 -0
  350. package/lib/esm/Editing/Mutable/MutablePrimitiveOrEnumProperty.js +12 -0
  351. package/lib/esm/Editing/Mutable/MutablePrimitiveOrEnumProperty.js.map +1 -0
  352. package/lib/esm/Editing/Mutable/MutableProperty.d.ts +16 -0
  353. package/lib/esm/Editing/Mutable/MutableProperty.d.ts.map +1 -0
  354. package/lib/esm/Editing/Mutable/MutableProperty.js +12 -0
  355. package/lib/esm/Editing/Mutable/MutableProperty.js.map +1 -0
  356. package/lib/esm/Editing/Mutable/MutablePropertyCategory.d.ts +11 -0
  357. package/lib/esm/Editing/Mutable/MutablePropertyCategory.d.ts.map +1 -0
  358. package/lib/esm/Editing/Mutable/MutablePropertyCategory.js +12 -0
  359. package/lib/esm/Editing/Mutable/MutablePropertyCategory.js.map +1 -0
  360. package/lib/esm/Editing/Mutable/MutableRelationshipClass.d.ts +30 -0
  361. package/lib/esm/Editing/Mutable/MutableRelationshipClass.d.ts.map +1 -0
  362. package/lib/esm/Editing/Mutable/MutableRelationshipClass.js +20 -0
  363. package/lib/esm/Editing/Mutable/MutableRelationshipClass.js.map +1 -0
  364. package/lib/esm/Editing/Mutable/MutableSchema.d.ts +51 -0
  365. package/lib/esm/Editing/Mutable/MutableSchema.d.ts.map +1 -0
  366. package/lib/esm/Editing/Mutable/MutableSchema.js +14 -0
  367. package/lib/esm/Editing/Mutable/MutableSchema.js.map +1 -0
  368. package/lib/esm/Editing/Mutable/MutableSchemaItem.d.ts +11 -0
  369. package/lib/esm/Editing/Mutable/MutableSchemaItem.d.ts.map +1 -0
  370. package/lib/esm/Editing/Mutable/MutableSchemaItem.js +12 -0
  371. package/lib/esm/Editing/Mutable/MutableSchemaItem.js.map +1 -0
  372. package/lib/esm/Editing/Mutable/MutableStructProperty.d.ts +8 -0
  373. package/lib/esm/Editing/Mutable/MutableStructProperty.d.ts.map +1 -0
  374. package/lib/esm/Editing/Mutable/MutableStructProperty.js +12 -0
  375. package/lib/esm/Editing/Mutable/MutableStructProperty.js.map +1 -0
  376. package/lib/esm/Editing/Mutable/MutableUnit.d.ts +12 -0
  377. package/lib/esm/Editing/Mutable/MutableUnit.d.ts.map +1 -0
  378. package/lib/esm/Editing/Mutable/MutableUnit.js +12 -0
  379. package/lib/esm/Editing/Mutable/MutableUnit.js.map +1 -0
  380. package/lib/esm/Editing/Mutable/MutableUnitSystem.d.ts +10 -0
  381. package/lib/esm/Editing/Mutable/MutableUnitSystem.d.ts.map +1 -0
  382. package/lib/esm/Editing/Mutable/MutableUnitSystem.js +12 -0
  383. package/lib/esm/Editing/Mutable/MutableUnitSystem.js.map +1 -0
  384. package/lib/esm/Editing/Phenomena.d.ts +17 -0
  385. package/lib/esm/Editing/Phenomena.d.ts.map +1 -0
  386. package/lib/esm/Editing/Phenomena.js +44 -0
  387. package/lib/esm/Editing/Phenomena.js.map +1 -0
  388. package/lib/esm/Editing/Properties.d.ts +206 -0
  389. package/lib/esm/Editing/Properties.d.ts.map +1 -0
  390. package/lib/esm/Editing/Properties.js +415 -0
  391. package/lib/esm/Editing/Properties.js.map +1 -0
  392. package/lib/esm/Editing/PropertyCategories.d.ts +18 -0
  393. package/lib/esm/Editing/PropertyCategories.d.ts.map +1 -0
  394. package/lib/esm/Editing/PropertyCategories.js +54 -0
  395. package/lib/esm/Editing/PropertyCategories.js.map +1 -0
  396. package/lib/esm/Editing/RelationshipClasses.d.ts +69 -0
  397. package/lib/esm/Editing/RelationshipClasses.d.ts.map +1 -0
  398. package/lib/esm/Editing/RelationshipClasses.js +236 -0
  399. package/lib/esm/Editing/RelationshipClasses.js.map +1 -0
  400. package/lib/esm/Editing/SchemaItems.d.ts +42 -0
  401. package/lib/esm/Editing/SchemaItems.d.ts.map +1 -0
  402. package/lib/esm/Editing/SchemaItems.js +104 -0
  403. package/lib/esm/Editing/SchemaItems.js.map +1 -0
  404. package/lib/esm/Editing/Structs.d.ts +21 -0
  405. package/lib/esm/Editing/Structs.d.ts.map +1 -0
  406. package/lib/esm/Editing/Structs.js +47 -0
  407. package/lib/esm/Editing/Structs.js.map +1 -0
  408. package/lib/esm/Editing/UnitSystems.d.ts +17 -0
  409. package/lib/esm/Editing/UnitSystems.d.ts.map +1 -0
  410. package/lib/esm/Editing/UnitSystems.js +43 -0
  411. package/lib/esm/Editing/UnitSystems.js.map +1 -0
  412. package/lib/esm/Editing/Units.d.ts +17 -0
  413. package/lib/esm/Editing/Units.d.ts.map +1 -0
  414. package/lib/esm/Editing/Units.js +49 -0
  415. package/lib/esm/Editing/Units.js.map +1 -0
  416. package/lib/esm/Merging/ClassMerger.d.ts +9 -0
  417. package/lib/esm/Merging/ClassMerger.d.ts.map +1 -0
  418. package/lib/esm/Merging/ClassMerger.js +66 -0
  419. package/lib/esm/Merging/ClassMerger.js.map +1 -0
  420. package/lib/esm/Merging/ConstantMerger.d.ts +14 -0
  421. package/lib/esm/Merging/ConstantMerger.d.ts.map +1 -0
  422. package/lib/esm/Merging/ConstantMerger.js +64 -0
  423. package/lib/esm/Merging/ConstantMerger.js.map +1 -0
  424. package/lib/esm/Merging/CustomAttributeClassMerger.d.ts +14 -0
  425. package/lib/esm/Merging/CustomAttributeClassMerger.d.ts.map +1 -0
  426. package/lib/esm/Merging/CustomAttributeClassMerger.js +36 -0
  427. package/lib/esm/Merging/CustomAttributeClassMerger.js.map +1 -0
  428. package/lib/esm/Merging/CustomAttributeMerger.d.ts +19 -0
  429. package/lib/esm/Merging/CustomAttributeMerger.d.ts.map +1 -0
  430. package/lib/esm/Merging/CustomAttributeMerger.js +66 -0
  431. package/lib/esm/Merging/CustomAttributeMerger.js.map +1 -0
  432. package/lib/esm/Merging/Edits/NameMapping.d.ts +22 -0
  433. package/lib/esm/Merging/Edits/NameMapping.d.ts.map +1 -0
  434. package/lib/esm/Merging/Edits/NameMapping.js +49 -0
  435. package/lib/esm/Merging/Edits/NameMapping.js.map +1 -0
  436. package/lib/esm/Merging/Edits/RenameEditHandler.d.ts +14 -0
  437. package/lib/esm/Merging/Edits/RenameEditHandler.d.ts.map +1 -0
  438. package/lib/esm/Merging/Edits/RenameEditHandler.js +62 -0
  439. package/lib/esm/Merging/Edits/RenameEditHandler.js.map +1 -0
  440. package/lib/esm/Merging/Edits/SchemaEdits.d.ts +81 -0
  441. package/lib/esm/Merging/Edits/SchemaEdits.d.ts.map +1 -0
  442. package/lib/esm/Merging/Edits/SchemaEdits.js +112 -0
  443. package/lib/esm/Merging/Edits/SchemaEdits.js.map +1 -0
  444. package/lib/esm/Merging/Edits/SkipEditHandler.d.ts +14 -0
  445. package/lib/esm/Merging/Edits/SkipEditHandler.d.ts.map +1 -0
  446. package/lib/esm/Merging/Edits/SkipEditHandler.js +60 -0
  447. package/lib/esm/Merging/Edits/SkipEditHandler.js.map +1 -0
  448. package/lib/esm/Merging/EntityClassMerger.d.ts +19 -0
  449. package/lib/esm/Merging/EntityClassMerger.d.ts.map +1 -0
  450. package/lib/esm/Merging/EntityClassMerger.js +39 -0
  451. package/lib/esm/Merging/EntityClassMerger.js.map +1 -0
  452. package/lib/esm/Merging/EnumerationMerger.d.ts +14 -0
  453. package/lib/esm/Merging/EnumerationMerger.d.ts.map +1 -0
  454. package/lib/esm/Merging/EnumerationMerger.js +48 -0
  455. package/lib/esm/Merging/EnumerationMerger.js.map +1 -0
  456. package/lib/esm/Merging/EnumeratorMerger.d.ts +14 -0
  457. package/lib/esm/Merging/EnumeratorMerger.d.ts.map +1 -0
  458. package/lib/esm/Merging/EnumeratorMerger.js +36 -0
  459. package/lib/esm/Merging/EnumeratorMerger.js.map +1 -0
  460. package/lib/esm/Merging/FormatMerger.d.ts +24 -0
  461. package/lib/esm/Merging/FormatMerger.d.ts.map +1 -0
  462. package/lib/esm/Merging/FormatMerger.js +137 -0
  463. package/lib/esm/Merging/FormatMerger.js.map +1 -0
  464. package/lib/esm/Merging/InvertedUnitMerger.d.ts +14 -0
  465. package/lib/esm/Merging/InvertedUnitMerger.d.ts.map +1 -0
  466. package/lib/esm/Merging/InvertedUnitMerger.js +41 -0
  467. package/lib/esm/Merging/InvertedUnitMerger.js.map +1 -0
  468. package/lib/esm/Merging/KindOfQuantityMerger.d.ts +19 -0
  469. package/lib/esm/Merging/KindOfQuantityMerger.d.ts.map +1 -0
  470. package/lib/esm/Merging/KindOfQuantityMerger.js +89 -0
  471. package/lib/esm/Merging/KindOfQuantityMerger.js.map +1 -0
  472. package/lib/esm/Merging/MixinMerger.d.ts +14 -0
  473. package/lib/esm/Merging/MixinMerger.d.ts.map +1 -0
  474. package/lib/esm/Merging/MixinMerger.js +33 -0
  475. package/lib/esm/Merging/MixinMerger.js.map +1 -0
  476. package/lib/esm/Merging/PhenomenonMerger.d.ts +14 -0
  477. package/lib/esm/Merging/PhenomenonMerger.d.ts.map +1 -0
  478. package/lib/esm/Merging/PhenomenonMerger.js +36 -0
  479. package/lib/esm/Merging/PhenomenonMerger.js.map +1 -0
  480. package/lib/esm/Merging/PropertyCategoryMerger.d.ts +14 -0
  481. package/lib/esm/Merging/PropertyCategoryMerger.d.ts.map +1 -0
  482. package/lib/esm/Merging/PropertyCategoryMerger.js +31 -0
  483. package/lib/esm/Merging/PropertyCategoryMerger.js.map +1 -0
  484. package/lib/esm/Merging/PropertyMerger.d.ts +12 -0
  485. package/lib/esm/Merging/PropertyMerger.d.ts.map +1 -0
  486. package/lib/esm/Merging/PropertyMerger.js +228 -0
  487. package/lib/esm/Merging/PropertyMerger.js.map +1 -0
  488. package/lib/esm/Merging/RelationshipClassMerger.d.ts +27 -0
  489. package/lib/esm/Merging/RelationshipClassMerger.d.ts.map +1 -0
  490. package/lib/esm/Merging/RelationshipClassMerger.js +136 -0
  491. package/lib/esm/Merging/RelationshipClassMerger.js.map +1 -0
  492. package/lib/esm/Merging/SchemaMerger.d.ts +49 -0
  493. package/lib/esm/Merging/SchemaMerger.d.ts.map +1 -0
  494. package/lib/esm/Merging/SchemaMerger.js +117 -0
  495. package/lib/esm/Merging/SchemaMerger.js.map +1 -0
  496. package/lib/esm/Merging/SchemaMergingVisitor.d.ts +149 -0
  497. package/lib/esm/Merging/SchemaMergingVisitor.d.ts.map +1 -0
  498. package/lib/esm/Merging/SchemaMergingVisitor.js +339 -0
  499. package/lib/esm/Merging/SchemaMergingVisitor.js.map +1 -0
  500. package/lib/esm/Merging/SchemaMergingWalker.d.ts +19 -0
  501. package/lib/esm/Merging/SchemaMergingWalker.d.ts.map +1 -0
  502. package/lib/esm/Merging/SchemaMergingWalker.js +61 -0
  503. package/lib/esm/Merging/SchemaMergingWalker.js.map +1 -0
  504. package/lib/esm/Merging/SchemaReferenceMerger.d.ts +13 -0
  505. package/lib/esm/Merging/SchemaReferenceMerger.d.ts.map +1 -0
  506. package/lib/esm/Merging/SchemaReferenceMerger.js +57 -0
  507. package/lib/esm/Merging/SchemaReferenceMerger.js.map +1 -0
  508. package/lib/esm/Merging/StructClassMerger.d.ts +14 -0
  509. package/lib/esm/Merging/StructClassMerger.d.ts.map +1 -0
  510. package/lib/esm/Merging/StructClassMerger.js +20 -0
  511. package/lib/esm/Merging/StructClassMerger.js.map +1 -0
  512. package/lib/esm/Merging/UnitMerger.d.ts +14 -0
  513. package/lib/esm/Merging/UnitMerger.d.ts.map +1 -0
  514. package/lib/esm/Merging/UnitMerger.js +58 -0
  515. package/lib/esm/Merging/UnitMerger.js.map +1 -0
  516. package/lib/esm/Merging/UnitSystemMerger.d.ts +14 -0
  517. package/lib/esm/Merging/UnitSystemMerger.d.ts.map +1 -0
  518. package/lib/esm/Merging/UnitSystemMerger.js +24 -0
  519. package/lib/esm/Merging/UnitSystemMerger.js.map +1 -0
  520. package/lib/esm/Merging/Utils.d.ts +34 -0
  521. package/lib/esm/Merging/Utils.d.ts.map +1 -0
  522. package/lib/esm/Merging/Utils.js +90 -0
  523. package/lib/esm/Merging/Utils.js.map +1 -0
  524. package/lib/esm/Validation/Diagnostic.d.ts +322 -0
  525. package/lib/esm/Validation/Diagnostic.d.ts.map +1 -0
  526. package/lib/esm/Validation/Diagnostic.js +295 -0
  527. package/lib/esm/Validation/Diagnostic.js.map +1 -0
  528. package/lib/esm/Validation/DiagnosticReporter.d.ts +97 -0
  529. package/lib/esm/Validation/DiagnosticReporter.d.ts.map +1 -0
  530. package/lib/esm/Validation/DiagnosticReporter.js +105 -0
  531. package/lib/esm/Validation/DiagnosticReporter.js.map +1 -0
  532. package/lib/esm/Validation/ECRules.d.ts +454 -0
  533. package/lib/esm/Validation/ECRules.d.ts.map +1 -0
  534. package/lib/esm/Validation/ECRules.js +578 -0
  535. package/lib/esm/Validation/ECRules.js.map +1 -0
  536. package/lib/esm/Validation/LoggingDiagnosticReporter.d.ts +14 -0
  537. package/lib/esm/Validation/LoggingDiagnosticReporter.d.ts.map +1 -0
  538. package/lib/esm/Validation/LoggingDiagnosticReporter.js +37 -0
  539. package/lib/esm/Validation/LoggingDiagnosticReporter.js.map +1 -0
  540. package/lib/esm/Validation/RuleSuppressionSet.d.ts +60 -0
  541. package/lib/esm/Validation/RuleSuppressionSet.d.ts.map +1 -0
  542. package/lib/esm/Validation/RuleSuppressionSet.js +9 -0
  543. package/lib/esm/Validation/RuleSuppressionSet.js.map +1 -0
  544. package/lib/esm/Validation/Rules.d.ts +65 -0
  545. package/lib/esm/Validation/Rules.d.ts.map +1 -0
  546. package/lib/esm/Validation/Rules.js +9 -0
  547. package/lib/esm/Validation/Rules.js.map +1 -0
  548. package/lib/esm/Validation/SchemaChanges.d.ts +640 -0
  549. package/lib/esm/Validation/SchemaChanges.d.ts.map +1 -0
  550. package/lib/esm/Validation/SchemaChanges.js +1141 -0
  551. package/lib/esm/Validation/SchemaChanges.js.map +1 -0
  552. package/lib/esm/Validation/SchemaCompareDiagnostics.d.ts +423 -0
  553. package/lib/esm/Validation/SchemaCompareDiagnostics.d.ts.map +1 -0
  554. package/lib/esm/Validation/SchemaCompareDiagnostics.js +109 -0
  555. package/lib/esm/Validation/SchemaCompareDiagnostics.js.map +1 -0
  556. package/lib/esm/Validation/SchemaCompareReporter.d.ts +12 -0
  557. package/lib/esm/Validation/SchemaCompareReporter.d.ts.map +1 -0
  558. package/lib/esm/Validation/SchemaCompareReporter.js +9 -0
  559. package/lib/esm/Validation/SchemaCompareReporter.js.map +1 -0
  560. package/lib/esm/Validation/SchemaCompareResultDelegate.d.ts +237 -0
  561. package/lib/esm/Validation/SchemaCompareResultDelegate.d.ts.map +1 -0
  562. package/lib/esm/Validation/SchemaCompareResultDelegate.js +346 -0
  563. package/lib/esm/Validation/SchemaCompareResultDelegate.js.map +1 -0
  564. package/lib/esm/Validation/SchemaCompareVisitor.d.ts +120 -0
  565. package/lib/esm/Validation/SchemaCompareVisitor.d.ts.map +1 -0
  566. package/lib/esm/Validation/SchemaCompareVisitor.js +222 -0
  567. package/lib/esm/Validation/SchemaCompareVisitor.js.map +1 -0
  568. package/lib/esm/Validation/SchemaComparer.d.ts +211 -0
  569. package/lib/esm/Validation/SchemaComparer.d.ts.map +1 -0
  570. package/lib/esm/Validation/SchemaComparer.js +770 -0
  571. package/lib/esm/Validation/SchemaComparer.js.map +1 -0
  572. package/lib/esm/Validation/SchemaValidater.d.ts +20 -0
  573. package/lib/esm/Validation/SchemaValidater.d.ts.map +1 -0
  574. package/lib/esm/Validation/SchemaValidater.js +55 -0
  575. package/lib/esm/Validation/SchemaValidater.js.map +1 -0
  576. package/lib/esm/Validation/SchemaValidationVisitor.d.ts +171 -0
  577. package/lib/esm/Validation/SchemaValidationVisitor.d.ts.map +1 -0
  578. package/lib/esm/Validation/SchemaValidationVisitor.js +488 -0
  579. package/lib/esm/Validation/SchemaValidationVisitor.js.map +1 -0
  580. package/lib/esm/Validation/SchemaWalker.d.ts +23 -0
  581. package/lib/esm/Validation/SchemaWalker.d.ts.map +1 -0
  582. package/lib/esm/Validation/SchemaWalker.js +50 -0
  583. package/lib/esm/Validation/SchemaWalker.js.map +1 -0
  584. package/lib/esm/ecschema-editing.d.ts +49 -0
  585. package/lib/esm/ecschema-editing.d.ts.map +1 -0
  586. package/lib/esm/ecschema-editing.js +52 -0
  587. package/lib/esm/ecschema-editing.js.map +1 -0
  588. package/package.json +19 -17
  589. package/public/locales/en/ECSchemaEditing.json +26 -26
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenameEditHandler.js","sourceRoot":"","sources":["../../../../src/Merging/Edits/RenameEditHandler.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 Merging\n */\n\nimport type { RenamePropertyEdit, RenameSchemaItemEdit } from \"./SchemaEdits\";\nimport { AnySchemaItemDifference, ClassPropertyDifference,SchemaDifferenceResult } from \"../../Differencing/SchemaDifference\";\nimport { SchemaItem } from \"@itwin/ecschema-metadata\";\nimport * as Utils from \"../../Differencing/Utils\";\n\ntype Editable<T extends object> = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * @internal\n */\nexport function applyRenamePropertyEdit(result: SchemaDifferenceResult, edit: RenamePropertyEdit) {\n const [schemaName, itemName, path] = edit.key.split(\".\") as [string, string, string];\n if (!result.sourceSchemaName.startsWith(schemaName)) {\n return;\n }\n\n const difference = result.differences.find((entry) => {\n return Utils.isClassPropertyDifference(entry) && entry.changeType === \"add\" && entry.itemName === itemName && entry.path === path;\n });\n\n const propertyDifference = difference as Editable<ClassPropertyDifference>;\n if (propertyDifference === undefined) {\n return;\n }\n\n propertyDifference.path = edit.value;\n\n if (result.conflicts) {\n const conflictIndex = result.conflicts.findIndex((entry) => entry.difference === propertyDifference);\n if (conflictIndex > -1) {\n result.conflicts.splice(conflictIndex, 1);\n }\n }\n}\n\n/**\n * @internal\n */\nexport function applyRenameSchemaItemEdit(result: SchemaDifferenceResult, edit: RenameSchemaItemEdit) {\n const [schemaName, itemName] = SchemaItem.parseFullName(edit.key);\n if (!result.sourceSchemaName.startsWith(schemaName)) {\n return;\n }\n\n const difference = result.differences.find((entry) => {\n return Utils.isSchemaItemDifference(entry) && entry.changeType === \"add\" && entry.itemName === itemName;\n });\n\n const itemDifference = difference as AnySchemaItemDifference;\n if (itemDifference === undefined) {\n return;\n }\n\n renameName(itemDifference, itemName, edit.value);\n\n if (result.conflicts) {\n const conflictIndex = result.conflicts.findIndex((entry) => entry.difference === itemDifference);\n if (conflictIndex > -1) {\n result.conflicts.splice(conflictIndex, 1);\n }\n }\n}\n\nfunction renameName(change: AnySchemaItemDifference, oldName: string, newName: string) {\n if (change.itemName === oldName) {\n const schemaItemDifference = change as Editable<AnySchemaItemDifference>;\n schemaItemDifference.itemName = newName;\n }\n}\n"]}
@@ -0,0 +1,81 @@
1
+ /** @packageDocumentation
2
+ * @module Merging
3
+ */
4
+ import type { ECClass, SchemaItem } from "@itwin/ecschema-metadata";
5
+ import type { SchemaDifferenceResult } from "../../Differencing/SchemaDifference";
6
+ import { NameMapping } from "./NameMapping";
7
+ /**
8
+ * An enumeration that has all the schema edit names.
9
+ * @alpha
10
+ */
11
+ export declare enum SchemaEditType {
12
+ RenameSchemaItem = "RenameSchemaItem",
13
+ RenameProperty = "RenameProperty",
14
+ Skip = "Skip"
15
+ }
16
+ /**
17
+ * Schema edit entry to rename a schema item.
18
+ * @alpha
19
+ */
20
+ export interface RenameSchemaItemEdit {
21
+ type: SchemaEditType.RenameSchemaItem;
22
+ key: string;
23
+ value: string;
24
+ }
25
+ /**
26
+ * Schema edit entry to rename a property of a class.
27
+ * @alpha
28
+ */
29
+ export interface RenamePropertyEdit {
30
+ type: SchemaEditType.RenameProperty;
31
+ key: string;
32
+ value: string;
33
+ }
34
+ /**
35
+ * Schema edit entry to skip a certain schema element matching the given key.
36
+ * @alpha
37
+ */
38
+ export interface SkipEdit {
39
+ type: SchemaEditType.Skip;
40
+ key: string;
41
+ }
42
+ /**
43
+ * Union for all supported edits that can be applied to a schema.
44
+ * @alpha
45
+ */
46
+ export type AnySchemaEdits = SkipEdit | RenameSchemaItemEdit | RenamePropertyEdit;
47
+ declare abstract class Editor {
48
+ private readonly _edits;
49
+ constructor(edits: Array<AnySchemaEdits>);
50
+ protected add(edit: AnySchemaEdits): void;
51
+ }
52
+ declare class PropertyEditor extends Editor {
53
+ rename(ecClass: ECClass, propertyName: string, newName: string): void;
54
+ skip(ecClass: ECClass, propertyName: string): void;
55
+ }
56
+ declare class ItemEditor extends Editor {
57
+ rename(schemaItem: SchemaItem, newName: string): void;
58
+ skip(schemaItem: SchemaItem): void;
59
+ }
60
+ /**
61
+ * Defines a set of edits of a schema that can be applied to a schema during merging. The intention of this class
62
+ * is to support saving of edits and load them again if needed.
63
+ * @alpha
64
+ */
65
+ export declare class SchemaEdits implements Iterable<AnySchemaEdits> {
66
+ private readonly _edits;
67
+ readonly properties: PropertyEditor;
68
+ readonly items: ItemEditor;
69
+ /**
70
+ * @alpha
71
+ */
72
+ constructor(initialize?: ReadonlyArray<AnySchemaEdits>);
73
+ /**
74
+ * @internal
75
+ */
76
+ applyTo(differenceResult: SchemaDifferenceResult, nameMapping: NameMapping): Promise<void>;
77
+ toJSON(): ReadonlyArray<AnySchemaEdits>;
78
+ [Symbol.iterator](): Iterator<AnySchemaEdits>;
79
+ }
80
+ export {};
81
+ //# sourceMappingURL=SchemaEdits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaEdits.d.ts","sourceRoot":"","sources":["../../../../src/Merging/Edits/SchemaEdits.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C;;;GAGG;AACH,oBAAY,cAAc;IACxB,gBAAgB,qBAAqB;IACrC,cAAc,mBAAmB;IACjC,IAAI,SAAS;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,cAAc,CAAC,gBAAgB,CAAC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GACxB,QAAQ,GACR,oBAAoB,GACpB,kBAAkB,CAAC;AAErB,uBAAe,MAAM;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;gBAEnC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC;IAIxC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc;CAWnC;AAED,cAAM,cAAe,SAAQ,MAAM;IAE1B,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAQ9D,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM;CAMnD;AAED,cAAM,UAAW,SAAQ,MAAM;IACtB,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM;IAQ9C,IAAI,CAAC,UAAU,EAAE,UAAU;CAMnC;AAED;;;;GAIG;AACH,qBAAa,WAAY,YAAW,QAAQ,CAAC,cAAc,CAAC;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAE/C,SAAgB,UAAU,EAAE,cAAc,CAAC;IAC3C,SAAgB,KAAK,EAAE,UAAU,CAAC;IAElC;;OAEG;gBACS,UAAU,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC;IAWtD;;OAEG;IACU,OAAO,CAAC,gBAAgB,EAAE,sBAAsB,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBhG,MAAM,IAAI,aAAa,CAAC,cAAc,CAAC;IAIvC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,cAAc,CAAC;CAGrD"}
@@ -0,0 +1,112 @@
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 Merging
7
+ */
8
+ import { applyRenamePropertyEdit, applyRenameSchemaItemEdit } from "./RenameEditHandler";
9
+ import { applySkipEdit } from "./SkipEditHandler";
10
+ /**
11
+ * An enumeration that has all the schema edit names.
12
+ * @alpha
13
+ */
14
+ export var SchemaEditType;
15
+ (function (SchemaEditType) {
16
+ SchemaEditType["RenameSchemaItem"] = "RenameSchemaItem";
17
+ SchemaEditType["RenameProperty"] = "RenameProperty";
18
+ SchemaEditType["Skip"] = "Skip";
19
+ })(SchemaEditType || (SchemaEditType = {}));
20
+ class Editor {
21
+ _edits;
22
+ constructor(edits) {
23
+ this._edits = edits;
24
+ }
25
+ add(edit) {
26
+ const overrideEntry = this._edits.findIndex((entry) => {
27
+ return entry.type === edit.type && entry.key === edit.key;
28
+ });
29
+ if (overrideEntry > -1) {
30
+ this._edits[overrideEntry] = edit;
31
+ }
32
+ else {
33
+ this._edits.push(edit);
34
+ }
35
+ }
36
+ }
37
+ class PropertyEditor extends Editor {
38
+ rename(ecClass, propertyName, newName) {
39
+ this.add({
40
+ type: SchemaEditType.RenameProperty,
41
+ key: `${ecClass.fullName}.${propertyName}`,
42
+ value: newName,
43
+ });
44
+ }
45
+ skip(ecClass, propertyName) {
46
+ this.add({
47
+ type: SchemaEditType.Skip,
48
+ key: `${ecClass.fullName}.${propertyName}`,
49
+ });
50
+ }
51
+ }
52
+ class ItemEditor extends Editor {
53
+ rename(schemaItem, newName) {
54
+ this.add({
55
+ type: SchemaEditType.RenameSchemaItem,
56
+ key: schemaItem.key.fullName,
57
+ value: newName,
58
+ });
59
+ }
60
+ skip(schemaItem) {
61
+ this.add({
62
+ type: SchemaEditType.Skip,
63
+ key: schemaItem.fullName,
64
+ });
65
+ }
66
+ }
67
+ /**
68
+ * Defines a set of edits of a schema that can be applied to a schema during merging. The intention of this class
69
+ * is to support saving of edits and load them again if needed.
70
+ * @alpha
71
+ */
72
+ export class SchemaEdits {
73
+ _edits;
74
+ properties;
75
+ items;
76
+ /**
77
+ * @alpha
78
+ */
79
+ constructor(initialize) {
80
+ this._edits = [];
81
+ if (initialize) {
82
+ this._edits.push(...initialize);
83
+ }
84
+ this.items = new ItemEditor(this._edits);
85
+ this.properties = new PropertyEditor(this._edits);
86
+ }
87
+ /**
88
+ * @internal
89
+ */
90
+ async applyTo(differenceResult, nameMapping) {
91
+ for (const schemaEdit of this._edits) {
92
+ if (schemaEdit.type === SchemaEditType.RenameSchemaItem) {
93
+ applyRenameSchemaItemEdit(differenceResult, schemaEdit);
94
+ nameMapping.addItemMapping(schemaEdit.key, schemaEdit.value);
95
+ }
96
+ if (schemaEdit.type === SchemaEditType.RenameProperty) {
97
+ applyRenamePropertyEdit(differenceResult, schemaEdit);
98
+ nameMapping.addPropertyMapping(schemaEdit.key, schemaEdit.value);
99
+ }
100
+ if (schemaEdit.type === SchemaEditType.Skip) {
101
+ applySkipEdit(differenceResult, schemaEdit);
102
+ }
103
+ }
104
+ }
105
+ toJSON() {
106
+ return this._edits;
107
+ }
108
+ [Symbol.iterator]() {
109
+ return this._edits[Symbol.iterator]();
110
+ }
111
+ }
112
+ //# sourceMappingURL=SchemaEdits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaEdits.js","sourceRoot":"","sources":["../../../../src/Merging/Edits/SchemaEdits.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 Merging\n */\n\nimport type { ECClass, SchemaItem } from \"@itwin/ecschema-metadata\";\nimport type { SchemaDifferenceResult } from \"../../Differencing/SchemaDifference\";\nimport { NameMapping } from \"./NameMapping\";\nimport { applyRenamePropertyEdit, applyRenameSchemaItemEdit } from \"./RenameEditHandler\";\nimport { applySkipEdit } from \"./SkipEditHandler\";\n\n/**\n * An enumeration that has all the schema edit names.\n * @alpha\n */\nexport enum SchemaEditType {\n RenameSchemaItem = \"RenameSchemaItem\",\n RenameProperty = \"RenameProperty\",\n Skip = \"Skip\",\n}\n\n/**\n * Schema edit entry to rename a schema item.\n * @alpha\n */\nexport interface RenameSchemaItemEdit {\n type: SchemaEditType.RenameSchemaItem;\n key: string;\n value: string;\n}\n\n/**\n * Schema edit entry to rename a property of a class.\n * @alpha\n */\nexport interface RenamePropertyEdit {\n type: SchemaEditType.RenameProperty;\n key: string;\n value: string;\n}\n\n/**\n * Schema edit entry to skip a certain schema element matching the given key.\n * @alpha\n */\nexport interface SkipEdit {\n type: SchemaEditType.Skip;\n key: string;\n}\n\n/**\n * Union for all supported edits that can be applied to a schema.\n * @alpha\n */\nexport type AnySchemaEdits =\n SkipEdit |\n RenameSchemaItemEdit |\n RenamePropertyEdit;\n\nabstract class Editor {\n private readonly _edits: Array<AnySchemaEdits>;\n\n constructor(edits: Array<AnySchemaEdits>) {\n this._edits = edits;\n }\n\n protected add(edit: AnySchemaEdits) {\n const overrideEntry = this._edits.findIndex((entry) => {\n return entry.type === edit.type && entry.key === edit.key;\n });\n\n if (overrideEntry > -1) {\n this._edits[overrideEntry] = edit;\n } else {\n this._edits.push(edit);\n }\n }\n}\n\nclass PropertyEditor extends Editor {\n\n public rename(ecClass: ECClass, propertyName: string, newName: string) {\n this.add({\n type: SchemaEditType.RenameProperty,\n key: `${ecClass.fullName}.${propertyName}`,\n value: newName,\n });\n }\n\n public skip(ecClass: ECClass, propertyName: string) {\n this.add({\n type: SchemaEditType.Skip,\n key: `${ecClass.fullName}.${propertyName}`,\n });\n }\n}\n\nclass ItemEditor extends Editor {\n public rename(schemaItem: SchemaItem, newName: string) {\n this.add({\n type: SchemaEditType.RenameSchemaItem,\n key: schemaItem.key.fullName,\n value: newName,\n });\n }\n\n public skip(schemaItem: SchemaItem) {\n this.add({\n type: SchemaEditType.Skip,\n key: schemaItem.fullName,\n });\n }\n}\n\n/**\n * Defines a set of edits of a schema that can be applied to a schema during merging. The intention of this class\n * is to support saving of edits and load them again if needed.\n * @alpha\n */\nexport class SchemaEdits implements Iterable<AnySchemaEdits> {\n private readonly _edits: Array<AnySchemaEdits>;\n\n public readonly properties: PropertyEditor;\n public readonly items: ItemEditor;\n\n /**\n * @alpha\n */\n constructor(initialize?: ReadonlyArray<AnySchemaEdits>) {\n this._edits = [];\n\n if (initialize) {\n this._edits.push(...initialize);\n }\n\n this.items = new ItemEditor(this._edits);\n this.properties = new PropertyEditor(this._edits);\n }\n\n /**\n * @internal\n */\n public async applyTo(differenceResult: SchemaDifferenceResult, nameMapping: NameMapping): Promise<void> {\n for (const schemaEdit of this._edits) {\n if (schemaEdit.type === SchemaEditType.RenameSchemaItem) {\n applyRenameSchemaItemEdit(differenceResult, schemaEdit);\n nameMapping.addItemMapping(schemaEdit.key, schemaEdit.value);\n }\n if (schemaEdit.type === SchemaEditType.RenameProperty) {\n applyRenamePropertyEdit(differenceResult, schemaEdit);\n nameMapping.addPropertyMapping(schemaEdit.key, schemaEdit.value);\n }\n if (schemaEdit.type === SchemaEditType.Skip) {\n applySkipEdit(differenceResult, schemaEdit);\n }\n }\n }\n\n public toJSON(): ReadonlyArray<AnySchemaEdits> {\n return this._edits;\n }\n\n public [Symbol.iterator](): Iterator<AnySchemaEdits> {\n return this._edits[Symbol.iterator]();\n }\n}\n"]}
@@ -0,0 +1,14 @@
1
+ /** @packageDocumentation
2
+ * @module Merging
3
+ */
4
+ import type { SchemaDifferenceResult } from "../../Differencing/SchemaDifference";
5
+ import type { SkipEdit } from "./SchemaEdits";
6
+ /**
7
+ * Applies a skip edit to the schema differences. It basically removes all entries that
8
+ * that are associated with the item to skip.
9
+ * @param result The result of a schema differencing run
10
+ * @param edit The skip edit to be applied.
11
+ * @internal
12
+ */
13
+ export declare function applySkipEdit(result: SchemaDifferenceResult, edit: SkipEdit): void;
14
+ //# sourceMappingURL=SkipEditHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkipEditHandler.d.ts","sourceRoot":"","sources":["../../../../src/Merging/Edits/SkipEditHandler.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAuB,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAEvG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,QAAQ,QAkB3E"}
@@ -0,0 +1,60 @@
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 Merging
7
+ */
8
+ /**
9
+ * Applies a skip edit to the schema differences. It basically removes all entries that
10
+ * that are associated with the item to skip.
11
+ * @param result The result of a schema differencing run
12
+ * @param edit The skip edit to be applied.
13
+ * @internal
14
+ */
15
+ export function applySkipEdit(result, edit) {
16
+ const [schemaName, itemName, pathName] = edit.key.split(".");
17
+ if (!result.sourceSchemaName.startsWith(schemaName)) {
18
+ return;
19
+ }
20
+ const foundIndices = pathName !== undefined
21
+ ? findRelatedItemEntries(result, itemName, pathName)
22
+ : findItemEntries(result, itemName);
23
+ const skippedDifferences = [];
24
+ for (const index of foundIndices.reverse()) {
25
+ skippedDifferences.push(...result.differences.splice(index, 1));
26
+ }
27
+ if (result.conflicts) {
28
+ removeRelatedConflicts(result.conflicts, skippedDifferences);
29
+ }
30
+ }
31
+ function removeRelatedConflicts(conflicts, skippedDifferences) {
32
+ const indices = [];
33
+ conflicts.forEach((conflict, index) => {
34
+ if (skippedDifferences.includes(conflict.difference)) {
35
+ indices.push(index);
36
+ }
37
+ });
38
+ for (const index of indices.reverse()) {
39
+ conflicts.splice(index, 1);
40
+ }
41
+ }
42
+ function findItemEntries({ differences }, itemName) {
43
+ const found = [];
44
+ differences.forEach((difference, index) => {
45
+ if ("itemName" in difference && difference.itemName === itemName) {
46
+ found.push(index);
47
+ }
48
+ });
49
+ return found;
50
+ }
51
+ function findRelatedItemEntries({ differences }, itemName, pathName) {
52
+ const found = [];
53
+ differences.forEach((difference, index) => {
54
+ if ("itemName" in difference && difference.itemName === itemName && "path" in difference && difference.path === pathName) {
55
+ found.push(index);
56
+ }
57
+ });
58
+ return found;
59
+ }
60
+ //# sourceMappingURL=SkipEditHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkipEditHandler.js","sourceRoot":"","sources":["../../../../src/Merging/Edits/SkipEditHandler.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAMH;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,MAA8B,EAAE,IAAc;IAC1E,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAyC,CAAC;IACrG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACpD,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,QAAQ,KAAK,SAAS;QACzC,CAAC,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACpD,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEtC,MAAM,kBAAkB,GAA0B,EAAE,CAAC;IACrD,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3C,kBAAkB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,sBAAsB,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAwC,EAAE,kBAAyC;IACjH,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QACpC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACtC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,EAAE,WAAW,EAA0B,EAAE,QAAgB;IAChF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;QACxC,IAAI,UAAU,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,EAAE,WAAW,EAA0B,EAAE,QAAgB,EAAE,QAAgB;IACzG,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;QACxC,IAAI,UAAU,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzH,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC","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 Merging\n */\n\nimport type { AnySchemaDifference, SchemaDifferenceResult } from \"../../Differencing/SchemaDifference\";\nimport type { AnySchemaDifferenceConflict } from \"../../Differencing/SchemaConflicts\";\nimport type { SkipEdit } from \"./SchemaEdits\";\n\n/**\n * Applies a skip edit to the schema differences. It basically removes all entries that\n * that are associated with the item to skip.\n * @param result The result of a schema differencing run\n * @param edit The skip edit to be applied.\n * @internal\n */\nexport function applySkipEdit(result: SchemaDifferenceResult, edit: SkipEdit) {\n const [schemaName, itemName, pathName] = edit.key.split(\".\") as [string, string, string | undefined];\n if (!result.sourceSchemaName.startsWith(schemaName)) {\n return;\n }\n\n const foundIndices = pathName !== undefined\n ? findRelatedItemEntries(result, itemName, pathName)\n : findItemEntries(result, itemName);\n\n const skippedDifferences: AnySchemaDifference[] = [];\n for (const index of foundIndices.reverse()) {\n skippedDifferences.push(...result.differences.splice(index, 1));\n }\n\n if (result.conflicts) {\n removeRelatedConflicts(result.conflicts, skippedDifferences);\n }\n}\n\nfunction removeRelatedConflicts(conflicts: AnySchemaDifferenceConflict[], skippedDifferences: AnySchemaDifference[]) {\n const indices: number[] = [];\n conflicts.forEach((conflict, index) => {\n if (skippedDifferences.includes(conflict.difference)) {\n indices.push(index);\n }\n });\n\n for (const index of indices.reverse()) {\n conflicts.splice(index, 1);\n }\n}\n\nfunction findItemEntries({ differences }: SchemaDifferenceResult, itemName: string): number[] {\n const found: number[] = [];\n differences.forEach((difference, index) => {\n if (\"itemName\" in difference && difference.itemName === itemName) {\n found.push(index);\n }\n });\n return found;\n}\n\nfunction findRelatedItemEntries({ differences }: SchemaDifferenceResult, itemName: string, pathName: string): number[] {\n const found: number[] = [];\n differences.forEach((difference, index) => {\n if (\"itemName\" in difference && difference.itemName === itemName && \"path\" in difference && difference.path === pathName) {\n found.push(index);\n }\n });\n return found;\n}\n\n"]}
@@ -0,0 +1,19 @@
1
+ import type { EntityClassDifference, EntityClassMixinDifference } from "../Differencing/SchemaDifference";
2
+ import type { SchemaMergeContext } from "./SchemaMerger";
3
+ import { SchemaItemKey } from "@itwin/ecschema-metadata";
4
+ /**
5
+ * Merges a new EntityClass into the target schema.
6
+ * @internal
7
+ */
8
+ export declare function addEntityClass(context: SchemaMergeContext, change: EntityClassDifference): Promise<void>;
9
+ /**
10
+ * Merges differences to an existing EntityClass in the target schema.
11
+ * @internal
12
+ */
13
+ export declare function modifyEntityClass(context: SchemaMergeContext, change: EntityClassDifference, itemKey: SchemaItemKey): Promise<void>;
14
+ /**
15
+ * Merges Mixins to Entity Class schema items.
16
+ * @internal
17
+ */
18
+ export declare function addClassMixins(context: SchemaMergeContext, change: EntityClassMixinDifference): Promise<void>;
19
+ //# sourceMappingURL=EntityClassMerger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityClassMerger.d.ts","sourceRoot":"","sources":["../../../src/Merging/EntityClassMerger.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAE1G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAIzD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,qBAAqB,iBAO9F;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,aAAa,iBAUzH;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAMnH"}
@@ -0,0 +1,39 @@
1
+ import { modifyClass } from "./ClassMerger";
2
+ import { toItemKey, updateSchemaItemKey } from "./Utils";
3
+ /**
4
+ * Merges a new EntityClass into the target schema.
5
+ * @internal
6
+ */
7
+ export async function addEntityClass(context, change) {
8
+ await context.editor.entities.createFromProps(context.targetSchemaKey, {
9
+ name: change.itemName,
10
+ schemaItemType: change.schemaType,
11
+ ...change.difference,
12
+ });
13
+ }
14
+ /**
15
+ * Merges differences to an existing EntityClass in the target schema.
16
+ * @internal
17
+ */
18
+ export async function modifyEntityClass(context, change, itemKey) {
19
+ const item = await context.targetSchema.lookupItem(itemKey);
20
+ if (change.difference.mixins !== undefined) {
21
+ for (const mixin of change.difference.mixins) {
22
+ const mixinKey = await updateSchemaItemKey(context, mixin);
23
+ await context.editor.entities.addMixin(itemKey, mixinKey);
24
+ }
25
+ }
26
+ return modifyClass(context, change, itemKey, item);
27
+ }
28
+ /**
29
+ * Merges Mixins to Entity Class schema items.
30
+ * @internal
31
+ */
32
+ export async function addClassMixins(context, change) {
33
+ for (const mixinFullName of change.difference) {
34
+ const mixinKey = await updateSchemaItemKey(context, mixinFullName);
35
+ const entityKey = toItemKey(context, change.itemName);
36
+ await context.editor.entities.addMixin(entityKey, mixinKey);
37
+ }
38
+ }
39
+ //# sourceMappingURL=EntityClassMerger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityClassMerger.js","sourceRoot":"","sources":["../../../src/Merging/EntityClassMerger.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEzD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA2B,EAAE,MAA6B;IAC7F,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,eAAe,EAAE;QACrE,IAAI,EAAE,MAAM,CAAC,QAAQ;QACrB,cAAc,EAAE,MAAM,CAAC,UAAU;QAEjC,GAAG,MAAM,CAAC,UAAU;KACrB,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAA2B,EAAE,MAA6B,EAAE,OAAsB;IACxH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAuB,CAAC;IAClF,IAAG,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1C,KAAI,MAAM,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3D,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA2B,EAAE,MAAkC;IAClG,KAAI,MAAM,aAAa,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC","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*--------------------------------------------------------------------------------------------*/\nimport type { EntityClassDifference, EntityClassMixinDifference } from \"../Differencing/SchemaDifference\";\nimport type { MutableEntityClass } from \"../Editing/Mutable/MutableEntityClass\";\nimport type { SchemaMergeContext } from \"./SchemaMerger\";\nimport { SchemaItemKey } from \"@itwin/ecschema-metadata\";\nimport { modifyClass } from \"./ClassMerger\";\nimport { toItemKey, updateSchemaItemKey } from \"./Utils\";\n\n/**\n * Merges a new EntityClass into the target schema.\n * @internal\n */\nexport async function addEntityClass(context: SchemaMergeContext, change: EntityClassDifference) {\n await context.editor.entities.createFromProps(context.targetSchemaKey, {\n name: change.itemName,\n schemaItemType: change.schemaType,\n\n ...change.difference,\n });\n}\n\n/**\n * Merges differences to an existing EntityClass in the target schema.\n * @internal\n */\nexport async function modifyEntityClass(context: SchemaMergeContext, change: EntityClassDifference, itemKey: SchemaItemKey) {\n const item = await context.targetSchema.lookupItem(itemKey) as MutableEntityClass;\n if(change.difference.mixins !== undefined) {\n for(const mixin of change.difference.mixins) {\n const mixinKey = await updateSchemaItemKey(context, mixin);\n await context.editor.entities.addMixin(itemKey, mixinKey);\n }\n }\n\n return modifyClass(context, change, itemKey, item);\n}\n\n/**\n * Merges Mixins to Entity Class schema items.\n * @internal\n */\nexport async function addClassMixins(context: SchemaMergeContext, change: EntityClassMixinDifference): Promise<void> {\n for(const mixinFullName of change.difference) {\n const mixinKey = await updateSchemaItemKey(context, mixinFullName);\n const entityKey = toItemKey(context, change.itemName);\n await context.editor.entities.addMixin(entityKey, mixinKey);\n }\n}\n"]}
@@ -0,0 +1,14 @@
1
+ import { type SchemaItemKey } from "@itwin/ecschema-metadata";
2
+ import type { EnumerationDifference } from "../Differencing/SchemaDifference";
3
+ import type { SchemaMergeContext } from "./SchemaMerger";
4
+ /**
5
+ * Merges a new Enumeration into the target schema.
6
+ * @internal
7
+ */
8
+ export declare function addEnumeration(context: SchemaMergeContext, change: EnumerationDifference): Promise<void>;
9
+ /**
10
+ * Merges differences to an existing Enumeration in the target schema.
11
+ * @internal
12
+ */
13
+ export declare function modifyEnumeration(context: SchemaMergeContext, change: EnumerationDifference, itemKey: SchemaItemKey): Promise<void>;
14
+ //# sourceMappingURL=EnumerationMerger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnumerationMerger.d.ts","sourceRoot":"","sources":["../../../src/Merging/EnumerationMerger.ts"],"names":[],"mappings":"AAIA,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGzD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,qBAAqB,iBAmB9F;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,aAAa,iBAczH"}
@@ -0,0 +1,48 @@
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
+ import { primitiveTypeToString } from "@itwin/ecschema-metadata";
6
+ /**
7
+ * Merges a new Enumeration into the target schema.
8
+ * @internal
9
+ */
10
+ export async function addEnumeration(context, change) {
11
+ if (change.difference.type === undefined) {
12
+ throw new Error("Enumerations must define a type property");
13
+ }
14
+ if (change.difference.isStrict === undefined) {
15
+ throw new Error("Enumerations must define whether enumeration is strict.");
16
+ }
17
+ if (change.difference.enumerators === undefined) {
18
+ throw new Error("Enumerations must define at least one enumerator.");
19
+ }
20
+ await context.editor.enumerations.createFromProps(context.targetSchemaKey, {
21
+ ...change.difference,
22
+ name: change.itemName,
23
+ schemaItemType: change.schemaType,
24
+ type: change.difference.type,
25
+ isStrict: change.difference.isStrict,
26
+ enumerators: change.difference.enumerators,
27
+ });
28
+ }
29
+ /**
30
+ * Merges differences to an existing Enumeration in the target schema.
31
+ * @internal
32
+ */
33
+ export async function modifyEnumeration(context, change, itemKey) {
34
+ const enumeration = await context.targetSchema.lookupItem(itemKey);
35
+ if (change.difference.type !== undefined) {
36
+ throw new Error(`The Enumeration ${itemKey.name} has an incompatible type. It must be "${primitiveTypeToString(enumeration.type)}", not "${change.difference.type}".`);
37
+ }
38
+ if (change.difference.label !== undefined) {
39
+ await context.editor.enumerations.setDisplayLabel(itemKey, change.difference.label);
40
+ }
41
+ if (change.difference.description !== undefined) {
42
+ await context.editor.enumerations.setDescription(itemKey, change.difference.description);
43
+ }
44
+ if (change.difference.isStrict !== undefined) {
45
+ enumeration.setIsStrict(change.difference.isStrict);
46
+ }
47
+ }
48
+ //# sourceMappingURL=EnumerationMerger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnumerationMerger.js","sourceRoot":"","sources":["../../../src/Merging/EnumerationMerger.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,EAAE,qBAAqB,EAAsB,MAAM,0BAA0B,CAAC;AAKrF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA2B,EAAE,MAA6B;IAC7F,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,eAAe,EAAE;QACzE,GAAG,MAAM,CAAC,UAAU;QACpB,IAAI,EAAE,MAAM,CAAC,QAAQ;QACrB,cAAc,EAAE,MAAM,CAAC,UAAU;QACjC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI;QAC5B,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ;QACpC,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW;KAC3C,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAA2B,EAAE,MAA6B,EAAE,OAAsB;IACxH,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAuB,CAAC;IACzF,IAAG,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,CAAC,IAAI,0CAA0C,qBAAqB,CAAC,WAAW,CAAC,IAAK,CAAC,WAAW,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC;IAC1K,CAAC;IACD,IAAG,MAAM,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACtF,CAAC;IACD,IAAG,MAAM,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAC/C,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC3F,CAAC;IACD,IAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5C,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;AACH,CAAC","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*--------------------------------------------------------------------------------------------*/\nimport { primitiveTypeToString, type SchemaItemKey } from \"@itwin/ecschema-metadata\";\nimport type { EnumerationDifference } from \"../Differencing/SchemaDifference\";\nimport type { SchemaMergeContext } from \"./SchemaMerger\";\nimport type { MutableEnumeration } from \"../Editing/Mutable/MutableEnumeration\";\n\n/**\n * Merges a new Enumeration into the target schema.\n * @internal\n */\nexport async function addEnumeration(context: SchemaMergeContext, change: EnumerationDifference) {\n if (change.difference.type === undefined) {\n throw new Error(\"Enumerations must define a type property\");\n }\n if (change.difference.isStrict === undefined) {\n throw new Error(\"Enumerations must define whether enumeration is strict.\");\n }\n if (change.difference.enumerators === undefined) {\n throw new Error(\"Enumerations must define at least one enumerator.\");\n }\n\n await context.editor.enumerations.createFromProps(context.targetSchemaKey, {\n ...change.difference,\n name: change.itemName,\n schemaItemType: change.schemaType,\n type: change.difference.type,\n isStrict: change.difference.isStrict,\n enumerators: change.difference.enumerators,\n });\n}\n\n/**\n * Merges differences to an existing Enumeration in the target schema.\n * @internal\n */\nexport async function modifyEnumeration(context: SchemaMergeContext, change: EnumerationDifference, itemKey: SchemaItemKey) {\n const enumeration = await context.targetSchema.lookupItem(itemKey) as MutableEnumeration;\n if(change.difference.type !== undefined) {\n throw new Error(`The Enumeration ${itemKey.name} has an incompatible type. It must be \"${primitiveTypeToString(enumeration.type!)}\", not \"${change.difference.type}\".`);\n }\n if(change.difference.label !== undefined) {\n await context.editor.enumerations.setDisplayLabel(itemKey, change.difference.label);\n }\n if(change.difference.description !== undefined) {\n await context.editor.enumerations.setDescription(itemKey, change.difference.description);\n }\n if(change.difference.isStrict !== undefined) {\n enumeration.setIsStrict(change.difference.isStrict);\n }\n}\n"]}
@@ -0,0 +1,14 @@
1
+ import type { EnumeratorDifference } from "../Differencing/SchemaDifference";
2
+ import type { SchemaMergeContext } from "./SchemaMerger";
3
+ import { SchemaItemKey } from "@itwin/ecschema-metadata";
4
+ /**
5
+ * Merges a new Enumerator into the target schema.
6
+ * @internal
7
+ */
8
+ export declare function addEnumerator(context: SchemaMergeContext, change: EnumeratorDifference): Promise<void>;
9
+ /**
10
+ * Merges differences to an existing Enumerator in the target schema.
11
+ * @internal
12
+ */
13
+ export declare function modifyEnumerator(context: SchemaMergeContext, change: EnumeratorDifference, itemKey: SchemaItemKey): Promise<void>;
14
+ //# sourceMappingURL=EnumeratorMerger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnumeratorMerger.d.ts","sourceRoot":"","sources":["../../../src/Merging/EnumeratorMerger.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,oBAAoB,iBAe5F;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,oBAAoB,EAAE,OAAO,EAAE,aAAa,iBAUvH"}
@@ -0,0 +1,36 @@
1
+ import { toItemKey } from "./Utils";
2
+ /**
3
+ * Merges a new Enumerator into the target schema.
4
+ * @internal
5
+ */
6
+ export async function addEnumerator(context, change) {
7
+ if (change.difference.name === undefined) {
8
+ throw new Error("Enumerators must define a name");
9
+ }
10
+ if (change.difference.value === undefined) {
11
+ throw new Error("Enumerators must define a value");
12
+ }
13
+ const itemKey = toItemKey(context, change.itemName);
14
+ await context.editor.enumerations.addEnumerator(itemKey, {
15
+ name: change.difference.name,
16
+ value: change.difference.value,
17
+ label: change.difference.label,
18
+ description: change.difference.description,
19
+ });
20
+ }
21
+ /**
22
+ * Merges differences to an existing Enumerator in the target schema.
23
+ * @internal
24
+ */
25
+ export async function modifyEnumerator(context, change, itemKey) {
26
+ if (change.difference.value !== undefined) {
27
+ throw new Error(`Failed to merge enumerator attribute, Enumerator "${change.path}" has different values.`);
28
+ }
29
+ if (change.difference.description !== undefined) {
30
+ await context.editor.enumerations.setEnumeratorDescription(itemKey, change.path, change.difference.description);
31
+ }
32
+ if (change.difference.label !== undefined) {
33
+ await context.editor.enumerations.setEnumeratorLabel(itemKey, change.path, change.difference.label);
34
+ }
35
+ }
36
+ //# sourceMappingURL=EnumeratorMerger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnumeratorMerger.js","sourceRoot":"","sources":["../../../src/Merging/EnumeratorMerger.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAA2B,EAAE,MAA4B;IAC3F,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,OAAO,EAAE;QACvD,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI;QAC5B,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK;QAC9B,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK;QAC9B,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW;KAC3C,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAA2B,EAAE,MAA4B,EAAE,OAAsB;IACtH,IAAG,MAAM,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,qDAAqD,MAAM,CAAC,IAAI,yBAAyB,CAAC,CAAC;IAC7G,CAAC;IACD,IAAG,MAAM,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAC/C,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAClH,CAAC;IACD,IAAG,MAAM,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACtG,CAAC;AACH,CAAC","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*--------------------------------------------------------------------------------------------*/\nimport type { EnumeratorDifference } from \"../Differencing/SchemaDifference\";\nimport type { SchemaMergeContext } from \"./SchemaMerger\";\nimport { SchemaItemKey } from \"@itwin/ecschema-metadata\";\nimport { toItemKey } from \"./Utils\";\n\n/**\n * Merges a new Enumerator into the target schema.\n * @internal\n */\nexport async function addEnumerator(context: SchemaMergeContext, change: EnumeratorDifference) {\n if (change.difference.name === undefined) {\n throw new Error(\"Enumerators must define a name\");\n }\n if (change.difference.value === undefined) {\n throw new Error(\"Enumerators must define a value\");\n }\n\n const itemKey = toItemKey(context, change.itemName);\n await context.editor.enumerations.addEnumerator(itemKey, {\n name: change.difference.name,\n value: change.difference.value,\n label: change.difference.label,\n description: change.difference.description,\n });\n}\n\n/**\n * Merges differences to an existing Enumerator in the target schema.\n * @internal\n */\nexport async function modifyEnumerator(context: SchemaMergeContext, change: EnumeratorDifference, itemKey: SchemaItemKey) {\n if(change.difference.value !== undefined) {\n throw new Error(`Failed to merge enumerator attribute, Enumerator \"${change.path}\" has different values.`);\n }\n if(change.difference.description !== undefined) {\n await context.editor.enumerations.setEnumeratorDescription(itemKey, change.path, change.difference.description);\n }\n if(change.difference.label !== undefined) {\n await context.editor.enumerations.setEnumeratorLabel(itemKey, change.path, change.difference.label);\n }\n}\n"]}
@@ -0,0 +1,24 @@
1
+ import { SchemaItemKey } from "@itwin/ecschema-metadata";
2
+ import { FormatDifference, FormatUnitDifference, FormatUnitLabelDifference } from "../Differencing/SchemaDifference";
3
+ import { SchemaMergeContext } from "./SchemaMerger";
4
+ /**
5
+ * Merges a new Format into the target schema.
6
+ * @internal
7
+ */
8
+ export declare function addFormat(context: SchemaMergeContext, change: FormatDifference): Promise<void>;
9
+ /**
10
+ * Merges differences to an existing Format in the target schema.
11
+ * @internal
12
+ */
13
+ export declare function modifyFormat(context: SchemaMergeContext, change: FormatDifference, itemKey: SchemaItemKey): Promise<void>;
14
+ /**
15
+ * Merges source format units into the target format
16
+ * @internal
17
+ */
18
+ export declare function modifyFormatUnit(context: SchemaMergeContext, change: FormatUnitDifference, itemKey: SchemaItemKey): Promise<void>;
19
+ /**
20
+ * Overrides format unit label
21
+ * @internal
22
+ */
23
+ export declare function modifyFormatUnitLabel(context: SchemaMergeContext, change: FormatUnitLabelDifference, itemKey: SchemaItemKey): Promise<void>;
24
+ //# sourceMappingURL=FormatMerger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormatMerger.d.ts","sourceRoot":"","sources":["../../../src/Merging/FormatMerger.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,aAAa,EAAQ,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAErH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGpD;;;GAGG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,gBAAgB,iBAsBpF;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,iBAwD/G;AAED;;;EAGE;AACF,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,oBAAoB,EAAE,OAAO,EAAE,aAAa,iBAavH;AAED;;;EAGE;AACF,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,yBAAyB,EAAE,OAAO,EAAE,aAAa,iBAYjI"}