@itwin/core-backend 5.9.0-dev.9 → 5.9.1

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 (286) hide show
  1. package/CHANGELOG.md +45 -1
  2. package/lib/cjs/BriefcaseManager.d.ts +14 -62
  3. package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
  4. package/lib/cjs/BriefcaseManager.js +29 -159
  5. package/lib/cjs/BriefcaseManager.js.map +1 -1
  6. package/lib/cjs/Category.d.ts +4 -4
  7. package/lib/cjs/Category.js.map +1 -1
  8. package/lib/cjs/ChangesetECAdaptor.d.ts +9 -1
  9. package/lib/cjs/ChangesetECAdaptor.d.ts.map +1 -1
  10. package/lib/cjs/ChangesetECAdaptor.js +7 -1
  11. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  12. package/lib/cjs/ChangesetReader.d.ts +186 -0
  13. package/lib/cjs/ChangesetReader.d.ts.map +1 -0
  14. package/lib/cjs/ChangesetReader.js +372 -0
  15. package/lib/cjs/ChangesetReader.js.map +1 -0
  16. package/lib/cjs/ChangesetReaderTypes.d.ts +120 -0
  17. package/lib/cjs/ChangesetReaderTypes.d.ts.map +1 -0
  18. package/lib/cjs/ChangesetReaderTypes.js +23 -0
  19. package/lib/cjs/ChangesetReaderTypes.js.map +1 -0
  20. package/lib/cjs/CloudSqlite.d.ts +1 -1
  21. package/lib/cjs/CloudSqlite.d.ts.map +1 -1
  22. package/lib/cjs/CloudSqlite.js +68 -13
  23. package/lib/cjs/CloudSqlite.js.map +1 -1
  24. package/lib/cjs/CodeSpecs.d.ts +3 -3
  25. package/lib/cjs/CodeSpecs.js.map +1 -1
  26. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  27. package/lib/cjs/DevTools.js.map +1 -1
  28. package/lib/cjs/DisplayStyle.d.ts +2 -2
  29. package/lib/cjs/DisplayStyle.js.map +1 -1
  30. package/lib/cjs/ECSqlStatement.d.ts.map +1 -1
  31. package/lib/cjs/ECSqlStatement.js.map +1 -1
  32. package/lib/cjs/EditTxn.d.ts +55 -1
  33. package/lib/cjs/EditTxn.d.ts.map +1 -1
  34. package/lib/cjs/EditTxn.js +43 -1
  35. package/lib/cjs/EditTxn.js.map +1 -1
  36. package/lib/cjs/Element.d.ts +79 -10
  37. package/lib/cjs/Element.d.ts.map +1 -1
  38. package/lib/cjs/Element.js +38 -2
  39. package/lib/cjs/Element.js.map +1 -1
  40. package/lib/cjs/ElementAspect.d.ts +1 -1
  41. package/lib/cjs/ElementAspect.js.map +1 -1
  42. package/lib/cjs/ElementGraphics.js.map +1 -1
  43. package/lib/cjs/ElementTreeWalker.d.ts +5 -5
  44. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  45. package/lib/cjs/ExternalSource.d.ts +2 -2
  46. package/lib/cjs/ExternalSource.d.ts.map +1 -1
  47. package/lib/cjs/ExternalSource.js.map +1 -1
  48. package/lib/cjs/GeographicCRSServices.d.ts +15 -0
  49. package/lib/cjs/GeographicCRSServices.d.ts.map +1 -1
  50. package/lib/cjs/GeographicCRSServices.js +13 -4
  51. package/lib/cjs/GeographicCRSServices.js.map +1 -1
  52. package/lib/cjs/IModelDb.d.ts +31 -23
  53. package/lib/cjs/IModelDb.d.ts.map +1 -1
  54. package/lib/cjs/IModelDb.js +44 -25
  55. package/lib/cjs/IModelDb.js.map +1 -1
  56. package/lib/cjs/IModelIncrementalSchemaLocater.js.map +1 -1
  57. package/lib/cjs/IModelJsFs.d.ts +2 -0
  58. package/lib/cjs/IModelJsFs.d.ts.map +1 -1
  59. package/lib/cjs/IModelJsFs.js +14 -0
  60. package/lib/cjs/IModelJsFs.js.map +1 -1
  61. package/lib/cjs/IpcHost.d.ts.map +1 -1
  62. package/lib/cjs/IpcHost.js +20 -9
  63. package/lib/cjs/IpcHost.js.map +1 -1
  64. package/lib/cjs/LineStyle.d.ts +6 -6
  65. package/lib/cjs/LineStyle.js.map +1 -1
  66. package/lib/cjs/Material.d.ts +1 -1
  67. package/lib/cjs/Material.js.map +1 -1
  68. package/lib/cjs/Model.d.ts +40 -6
  69. package/lib/cjs/Model.d.ts.map +1 -1
  70. package/lib/cjs/Model.js +24 -0
  71. package/lib/cjs/Model.js.map +1 -1
  72. package/lib/cjs/PartialChangeUnifier.d.ts +77 -0
  73. package/lib/cjs/PartialChangeUnifier.d.ts.map +1 -0
  74. package/lib/cjs/PartialChangeUnifier.js +234 -0
  75. package/lib/cjs/PartialChangeUnifier.js.map +1 -0
  76. package/lib/cjs/Relationship.d.ts +10 -10
  77. package/lib/cjs/Relationship.js +6 -6
  78. package/lib/cjs/Relationship.js.map +1 -1
  79. package/lib/cjs/SheetIndex.d.ts +4 -4
  80. package/lib/cjs/SheetIndex.d.ts.map +1 -1
  81. package/lib/cjs/SheetIndex.js.map +1 -1
  82. package/lib/cjs/SqliteChangesetReader.d.ts.map +1 -1
  83. package/lib/cjs/SqliteChangesetReader.js +1 -1
  84. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  85. package/lib/cjs/Texture.d.ts +1 -1
  86. package/lib/cjs/Texture.js.map +1 -1
  87. package/lib/cjs/TxnManager.d.ts +17 -0
  88. package/lib/cjs/TxnManager.d.ts.map +1 -1
  89. package/lib/cjs/TxnManager.js +120 -13
  90. package/lib/cjs/TxnManager.js.map +1 -1
  91. package/lib/cjs/ViewDefinition.d.ts +25 -13
  92. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  93. package/lib/cjs/ViewDefinition.js +77 -25
  94. package/lib/cjs/ViewDefinition.js.map +1 -1
  95. package/lib/cjs/ViewStore.d.ts.map +1 -1
  96. package/lib/cjs/ViewStore.js +63 -21
  97. package/lib/cjs/ViewStore.js.map +1 -1
  98. package/lib/cjs/annotations/ElementDrivesTextAnnotation.d.ts +1 -1
  99. package/lib/cjs/annotations/ElementDrivesTextAnnotation.js.map +1 -1
  100. package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -1
  101. package/lib/cjs/core-backend.d.ts +3 -0
  102. package/lib/cjs/core-backend.d.ts.map +1 -1
  103. package/lib/cjs/core-backend.js +3 -0
  104. package/lib/cjs/core-backend.js.map +1 -1
  105. package/lib/cjs/domains/FunctionalElements.d.ts +1 -1
  106. package/lib/cjs/domains/FunctionalElements.d.ts.map +1 -1
  107. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  108. package/lib/cjs/domains/GenericElements.d.ts +2 -2
  109. package/lib/cjs/domains/GenericElements.d.ts.map +1 -1
  110. package/lib/cjs/domains/GenericElements.js.map +1 -1
  111. package/lib/cjs/internal/ChannelAdmin.d.ts +2 -2
  112. package/lib/cjs/internal/ChannelAdmin.d.ts.map +1 -1
  113. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  114. package/lib/cjs/internal/IntegrityCheck.d.ts +10 -10
  115. package/lib/cjs/internal/IntegrityCheck.js +22 -22
  116. package/lib/cjs/internal/IntegrityCheck.js.map +1 -1
  117. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  118. package/lib/cjs/workspace/Settings.d.ts +6 -4
  119. package/lib/cjs/workspace/Settings.d.ts.map +1 -1
  120. package/lib/cjs/workspace/Settings.js.map +1 -1
  121. package/lib/esm/BriefcaseManager.d.ts +14 -62
  122. package/lib/esm/BriefcaseManager.d.ts.map +1 -1
  123. package/lib/esm/BriefcaseManager.js +30 -160
  124. package/lib/esm/BriefcaseManager.js.map +1 -1
  125. package/lib/esm/Category.d.ts +4 -4
  126. package/lib/esm/Category.js.map +1 -1
  127. package/lib/esm/ChangesetECAdaptor.d.ts +9 -1
  128. package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -1
  129. package/lib/esm/ChangesetECAdaptor.js +7 -1
  130. package/lib/esm/ChangesetECAdaptor.js.map +1 -1
  131. package/lib/esm/ChangesetReader.d.ts +186 -0
  132. package/lib/esm/ChangesetReader.d.ts.map +1 -0
  133. package/lib/esm/ChangesetReader.js +368 -0
  134. package/lib/esm/ChangesetReader.js.map +1 -0
  135. package/lib/esm/ChangesetReaderTypes.d.ts +120 -0
  136. package/lib/esm/ChangesetReaderTypes.d.ts.map +1 -0
  137. package/lib/esm/ChangesetReaderTypes.js +20 -0
  138. package/lib/esm/ChangesetReaderTypes.js.map +1 -0
  139. package/lib/esm/CloudSqlite.d.ts +1 -1
  140. package/lib/esm/CloudSqlite.d.ts.map +1 -1
  141. package/lib/esm/CloudSqlite.js +69 -14
  142. package/lib/esm/CloudSqlite.js.map +1 -1
  143. package/lib/esm/CodeSpecs.d.ts +3 -3
  144. package/lib/esm/CodeSpecs.js.map +1 -1
  145. package/lib/esm/ConcurrentQuery.js.map +1 -1
  146. package/lib/esm/DevTools.js.map +1 -1
  147. package/lib/esm/DisplayStyle.d.ts +2 -2
  148. package/lib/esm/DisplayStyle.js.map +1 -1
  149. package/lib/esm/ECSqlStatement.d.ts.map +1 -1
  150. package/lib/esm/ECSqlStatement.js.map +1 -1
  151. package/lib/esm/EditTxn.d.ts +55 -1
  152. package/lib/esm/EditTxn.d.ts.map +1 -1
  153. package/lib/esm/EditTxn.js +43 -1
  154. package/lib/esm/EditTxn.js.map +1 -1
  155. package/lib/esm/Element.d.ts +79 -10
  156. package/lib/esm/Element.d.ts.map +1 -1
  157. package/lib/esm/Element.js +38 -2
  158. package/lib/esm/Element.js.map +1 -1
  159. package/lib/esm/ElementAspect.d.ts +1 -1
  160. package/lib/esm/ElementAspect.js.map +1 -1
  161. package/lib/esm/ElementGraphics.js.map +1 -1
  162. package/lib/esm/ElementTreeWalker.d.ts +5 -5
  163. package/lib/esm/ElementTreeWalker.js.map +1 -1
  164. package/lib/esm/ExternalSource.d.ts +2 -2
  165. package/lib/esm/ExternalSource.d.ts.map +1 -1
  166. package/lib/esm/ExternalSource.js.map +1 -1
  167. package/lib/esm/GeographicCRSServices.d.ts +15 -0
  168. package/lib/esm/GeographicCRSServices.d.ts.map +1 -1
  169. package/lib/esm/GeographicCRSServices.js +12 -4
  170. package/lib/esm/GeographicCRSServices.js.map +1 -1
  171. package/lib/esm/IModelDb.d.ts +31 -23
  172. package/lib/esm/IModelDb.d.ts.map +1 -1
  173. package/lib/esm/IModelDb.js +45 -26
  174. package/lib/esm/IModelDb.js.map +1 -1
  175. package/lib/esm/IModelIncrementalSchemaLocater.js.map +1 -1
  176. package/lib/esm/IModelJsFs.d.ts +2 -0
  177. package/lib/esm/IModelJsFs.d.ts.map +1 -1
  178. package/lib/esm/IModelJsFs.js +14 -0
  179. package/lib/esm/IModelJsFs.js.map +1 -1
  180. package/lib/esm/IpcHost.d.ts.map +1 -1
  181. package/lib/esm/IpcHost.js +20 -9
  182. package/lib/esm/IpcHost.js.map +1 -1
  183. package/lib/esm/LineStyle.d.ts +6 -6
  184. package/lib/esm/LineStyle.js.map +1 -1
  185. package/lib/esm/Material.d.ts +1 -1
  186. package/lib/esm/Material.js.map +1 -1
  187. package/lib/esm/Model.d.ts +40 -6
  188. package/lib/esm/Model.d.ts.map +1 -1
  189. package/lib/esm/Model.js +24 -0
  190. package/lib/esm/Model.js.map +1 -1
  191. package/lib/esm/PartialChangeUnifier.d.ts +77 -0
  192. package/lib/esm/PartialChangeUnifier.d.ts.map +1 -0
  193. package/lib/esm/PartialChangeUnifier.js +230 -0
  194. package/lib/esm/PartialChangeUnifier.js.map +1 -0
  195. package/lib/esm/Relationship.d.ts +10 -10
  196. package/lib/esm/Relationship.js +6 -6
  197. package/lib/esm/Relationship.js.map +1 -1
  198. package/lib/esm/SheetIndex.d.ts +4 -4
  199. package/lib/esm/SheetIndex.d.ts.map +1 -1
  200. package/lib/esm/SheetIndex.js.map +1 -1
  201. package/lib/esm/SqliteChangesetReader.d.ts.map +1 -1
  202. package/lib/esm/SqliteChangesetReader.js +1 -1
  203. package/lib/esm/SqliteChangesetReader.js.map +1 -1
  204. package/lib/esm/Texture.d.ts +1 -1
  205. package/lib/esm/Texture.js.map +1 -1
  206. package/lib/esm/TxnManager.d.ts +17 -0
  207. package/lib/esm/TxnManager.d.ts.map +1 -1
  208. package/lib/esm/TxnManager.js +121 -14
  209. package/lib/esm/TxnManager.js.map +1 -1
  210. package/lib/esm/ViewDefinition.d.ts +25 -13
  211. package/lib/esm/ViewDefinition.d.ts.map +1 -1
  212. package/lib/esm/ViewDefinition.js +78 -26
  213. package/lib/esm/ViewDefinition.js.map +1 -1
  214. package/lib/esm/ViewStore.d.ts.map +1 -1
  215. package/lib/esm/ViewStore.js +64 -22
  216. package/lib/esm/ViewStore.js.map +1 -1
  217. package/lib/esm/annotations/ElementDrivesTextAnnotation.d.ts +1 -1
  218. package/lib/esm/annotations/ElementDrivesTextAnnotation.js.map +1 -1
  219. package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
  220. package/lib/esm/core-backend.d.ts +3 -0
  221. package/lib/esm/core-backend.d.ts.map +1 -1
  222. package/lib/esm/core-backend.js +3 -0
  223. package/lib/esm/core-backend.js.map +1 -1
  224. package/lib/esm/domains/FunctionalElements.d.ts +1 -1
  225. package/lib/esm/domains/FunctionalElements.d.ts.map +1 -1
  226. package/lib/esm/domains/FunctionalElements.js.map +1 -1
  227. package/lib/esm/domains/GenericElements.d.ts +2 -2
  228. package/lib/esm/domains/GenericElements.d.ts.map +1 -1
  229. package/lib/esm/domains/GenericElements.js.map +1 -1
  230. package/lib/esm/internal/ChannelAdmin.d.ts +2 -2
  231. package/lib/esm/internal/ChannelAdmin.d.ts.map +1 -1
  232. package/lib/esm/internal/ChannelAdmin.js.map +1 -1
  233. package/lib/esm/internal/IntegrityCheck.d.ts +10 -10
  234. package/lib/esm/internal/IntegrityCheck.js +22 -22
  235. package/lib/esm/internal/IntegrityCheck.js.map +1 -1
  236. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
  237. package/lib/esm/test/ElementDrivesElement.test.d.ts.map +1 -1
  238. package/lib/esm/test/ElementDrivesElement.test.js.map +1 -1
  239. package/lib/esm/test/IModelTestUtils.d.ts +1 -0
  240. package/lib/esm/test/IModelTestUtils.d.ts.map +1 -1
  241. package/lib/esm/test/IModelTestUtils.js +5 -0
  242. package/lib/esm/test/IModelTestUtils.js.map +1 -1
  243. package/lib/esm/test/IpcHost.test.js +112 -0
  244. package/lib/esm/test/IpcHost.test.js.map +1 -1
  245. package/lib/esm/test/annotations/LeaderGeometry.test.js +0 -1
  246. package/lib/esm/test/annotations/LeaderGeometry.test.js.map +1 -1
  247. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -1
  248. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
  249. package/lib/esm/test/element/DeleteDefinitionElements.test.js +819 -26
  250. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
  251. package/lib/esm/test/element/ElementRoundTrip.test.js +144 -3
  252. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
  253. package/lib/esm/test/element/SheetInformationAspect.test.js.map +1 -1
  254. package/lib/esm/test/hubaccess/Rebase.test.js +1 -1
  255. package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -1
  256. package/lib/esm/test/hubaccess/SemanticRebase.test.js +2242 -68
  257. package/lib/esm/test/hubaccess/SemanticRebase.test.js.map +1 -1
  258. package/lib/esm/test/imodel/IModel.test.js +1 -1
  259. package/lib/esm/test/imodel/IModel.test.js.map +1 -1
  260. package/lib/esm/test/imodel/SchemaXmlImport.test.js +64 -0
  261. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
  262. package/lib/esm/test/misc/GeoServices.test.js +43 -1
  263. package/lib/esm/test/misc/GeoServices.test.js.map +1 -1
  264. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
  265. package/lib/esm/test/standalone/ChangesetReader.test.js +4184 -1654
  266. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
  267. package/lib/esm/test/standalone/DeleteElements.test.d.ts +2 -0
  268. package/lib/esm/test/standalone/DeleteElements.test.d.ts.map +1 -0
  269. package/lib/esm/test/standalone/DeleteElements.test.js +625 -0
  270. package/lib/esm/test/standalone/DeleteElements.test.js.map +1 -0
  271. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
  272. package/lib/esm/test/standalone/IntegrityCheck.test.js +214 -5
  273. package/lib/esm/test/standalone/IntegrityCheck.test.js.map +1 -1
  274. package/lib/esm/test/standalone/SQliteChangesetReaderAndChangesetECAdaptor.test.d.ts +2 -0
  275. package/lib/esm/test/standalone/SQliteChangesetReaderAndChangesetECAdaptor.test.d.ts.map +1 -0
  276. package/lib/esm/test/standalone/SQliteChangesetReaderAndChangesetECAdaptor.test.js +1862 -0
  277. package/lib/esm/test/standalone/SQliteChangesetReaderAndChangesetECAdaptor.test.js.map +1 -0
  278. package/lib/esm/test/standalone/TxnManager.test.js +90 -0
  279. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
  280. package/lib/esm/test/standalone/ViewDefinition.test.js +18 -7
  281. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -1
  282. package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
  283. package/lib/esm/workspace/Settings.d.ts +6 -4
  284. package/lib/esm/workspace/Settings.d.ts.map +1 -1
  285. package/lib/esm/workspace/Settings.js.map +1 -1
  286. package/package.json +15 -15
@@ -1,30 +1,13 @@
1
1
  /** @packageDocumentation
2
2
  * @module iModels
3
3
  */
4
- import { AccessToken, BeDuration, GuidString, Id64String, Optional } from "@itwin/core-bentley";
4
+ import { AccessToken, BeDuration, GuidString, Optional } from "@itwin/core-bentley";
5
5
  import { BriefcaseId, BriefcaseProps, ChangesetFileProps, ChangesetIndex, ChangesetIndexOrId, ChangesetProps, ChangesetRange, LocalBriefcaseProps, LocalDirName, LocalFileName, RequestNewBriefcaseProps } from "@itwin/core-common";
6
6
  import { AcquireNewBriefcaseIdArg, DownloadChangesetArg, DownloadChangesetRangeArg, IModelNameArg } from "./BackendHubAccess";
7
7
  import { ProgressFunction } from "./CheckpointManager";
8
8
  import { BriefcaseDb, IModelDb, TokenArg } from "./IModelDb";
9
9
  import { StashProps } from "./StashManager";
10
- import { ECSqlRow } from "./Entity";
11
- /**
12
- * The argument for identifying an Patch Instance Key
13
- * @internal
14
- */
15
- interface PatchInstanceKey {
16
- id: Id64String;
17
- classFullName: string;
18
- }
19
- /** The argument for patch instances during high level rebase application
20
- * @internal
21
- */
22
- export interface InstancePatch {
23
- key: PatchInstanceKey;
24
- op: "Inserted" | "Updated" | "Deleted";
25
- isIndirect: boolean;
26
- props?: ECSqlRow;
27
- }
10
+ import { ChangeInstance } from "./ChangesetReaderTypes";
28
11
  /** The argument for [[BriefcaseManager.downloadBriefcase]]
29
12
  * @public
30
13
  */
@@ -294,44 +277,14 @@ export declare class BriefcaseManager {
294
277
  private static readonly SCHEMAS_FOLDER;
295
278
  private static readonly DATA_FOLDER;
296
279
  private static readonly DATA_FILE_NAME;
297
- /**
298
- * Captures the changed instances as patch instances from each data txn in the briefcase db for semantic rebase
299
- * @param db The {@link BriefcaseDb} instance for which to capture the changed instances as patch instances for all data txns
300
- * @internal
301
- */
302
- private static capturePatchInstances;
303
- /**
304
- * Captures changed instances from a txn as JSON
305
- * @param txnId The txn id for which to capture changed instances
306
- * @param db The {@link BriefcaseDb} instance from which to capture changed instances as json
307
- * @returns changed instances for semantic rebase
308
- * @internal
309
- */
310
- private static captureChangedInstancesAsJSON;
311
- /**
312
- * Constructs patch instances from changed instances
313
- * @param changedInstances The changed instances from which to construct the patch instances
314
- * @param db The {@link BriefcaseDb} instance for which to construct the patch instances
315
- * @returns The {@link InstancePatch} instance patches for semantic rebase
316
- * @internal
317
- */
318
- private static constructPatchInstances;
319
- /**
320
- * Constructs a single patch instance from changed instance
321
- * @param changedInstance The changed instance from which to construct the patch instance
322
- * @param db The {@link BriefcaseDb} instance for which to construct the single patch instance
323
- * @returns a single instance patch {@link InstancePatch}
324
- * @throws IModelError If cannot determine classId or unknown operation encountered
325
- */
326
- private static constructPatchInstance;
327
280
  /**
328
281
  * Stores changed instances for semantic rebase locally in appropriate json file in a folder structure
329
- * @param db The {@link BriefcaseDb} instance for storing the changed instances against a txn
282
+ * @param db The [BriefcaseDb]($backend) instance for storing the changed instances against a txn
330
283
  * @param txnId The txn id for which we are storing the changed instances
331
- * @param instancePatches The {@link InstancePatch} instance patches to be stored
284
+ * @param instancePatches The [ChangeInstance]($backend) instance patches to be stored
332
285
  * @internal
333
286
  */
334
- private static storeChangedInstancesForSemanticRebase;
287
+ static storeChangedInstancesForSemanticRebase(db: BriefcaseDb, txnId: string, instancePatches: IterableIterator<ChangeInstance>): void;
335
288
  /**
336
289
  * Gets the base path for semantic rebase local files
337
290
  * @param db The {@link BriefcaseDb} instance for which to get the base path
@@ -341,7 +294,7 @@ export declare class BriefcaseManager {
341
294
  static getBasePathForSemanticRebaseLocalFiles(db: BriefcaseDb): string;
342
295
  /**
343
296
  * Stores schemas for semantic rebase locally in appropriate folder structure
344
- * @param db The {@link BriefcaseDb} instance for storing the schemas against a txn
297
+ * @param db The [BriefcaseDb]($backend) instance for storing the schemas against a txn
345
298
  * @param txnId The txn id for which we are storing the schemas
346
299
  * @param schemaFileNames The schema file paths or schema xml strings to be stored
347
300
  * @internal
@@ -349,7 +302,7 @@ export declare class BriefcaseManager {
349
302
  static storeSchemasForSemanticRebase<T extends LocalFileName[] | string[]>(db: BriefcaseDb, txnId: string, schemaFileNames: T): void;
350
303
  /**
351
304
  * Gets schemas for semantic rebase for a txn
352
- * @param db The {@link BriefcaseDb} instance for getting the locally stored schemas against a txn
305
+ * @param db The [BriefcaseDb]($backend) instance for getting the locally stored schemas against a txn
353
306
  * @param txnId The txn id for which we are getting the schemas
354
307
  * @returns the schema file paths
355
308
  * @internal
@@ -357,15 +310,15 @@ export declare class BriefcaseManager {
357
310
  static getSchemasForTxn(db: BriefcaseDb, txnId: string): string[];
358
311
  /**
359
312
  * Get the changed instances data for semantic rebase for a txn
360
- * @param db - The {@link BriefcaseDb} instance for getting the locally stored changed instances against a txn
313
+ * @param db - The [BriefcaseDb]($backend) instance for getting the locally stored changed instances against a txn
361
314
  * @param txnId - The txn id for which we are getting the changed instances
362
315
  * @returns Instance patches
363
316
  * @internal
364
317
  */
365
- static getChangedInstancesDataForTxn(db: BriefcaseDb, txnId: string): InstancePatch[];
318
+ static getChangedInstancesDataForTxn(db: BriefcaseDb, txnId: string): AsyncGenerator<ChangeInstance>;
366
319
  /**
367
320
  * Checks if schema folder exists for semantic rebase for a txn
368
- * @param db - The {@link BriefcaseDb} instance for which TO check the schema folder
321
+ * @param db - The [BriefcaseDb]($backend) instance for which TO check the schema folder
369
322
  * @param txnId - The txn id for which we are check the schema folder
370
323
  * @returns true if exists, false otherwise
371
324
  * @internal
@@ -373,7 +326,7 @@ export declare class BriefcaseManager {
373
326
  static semanticRebaseSchemaFolderExists(db: BriefcaseDb, txnId: string): boolean;
374
327
  /**
375
328
  * Checks if data folder exists for semantic rebase for a txn
376
- * @param db The {@link BriefcaseDb} instance for which to check the data folder.
329
+ * @param db The [BriefcaseDb]($backend) instance for which to check the data folder.
377
330
  * @param txnId The txn id for which to check the data folder
378
331
  * @returns true if exists, false otherwise
379
332
  * @internal
@@ -381,21 +334,21 @@ export declare class BriefcaseManager {
381
334
  static semanticRebaseDataFolderExists(db: BriefcaseDb, txnId: string): boolean;
382
335
  /**
383
336
  * Deletes the schema folder for semantic rebase for a txn
384
- * @param db The {@link BriefcaseDb} instance for which to delete the schema folder.
337
+ * @param db The [BriefcaseDb]($backend) instance for which to delete the schema folder.
385
338
  * @param txnId The txn id for which to delete the schema folder
386
339
  * @internal
387
340
  */
388
341
  static deleteTxnSchemaFolder(db: BriefcaseDb, txnId: string): void;
389
342
  /**
390
343
  * Deletes the data folder for semantic rebase for a txn
391
- * @param db The {@link BriefcaseDb} instance for which to delete the data folder.
344
+ * @param db The [BriefcaseDb]($backend) instance for which to delete the data folder.
392
345
  * @param txnId The txn id for which to delete the data folder
393
346
  * @internal
394
347
  */
395
348
  static deleteTxnDataFolder(db: BriefcaseDb, txnId: string): void;
396
349
  /**
397
350
  * Deletes rebase folders for semantic rebase
398
- * @param db The {@link BriefcaseDb} instance for which to delete the rebase folders.
351
+ * @param db The [BriefcaseDb]($backend) instance for which to delete the rebase folders.
399
352
  * @param checkIfEmpty If true, only deletes the base folder if it is empty, default is false
400
353
  * @internal
401
354
  */
@@ -408,5 +361,4 @@ export declare class BriefcaseManager {
408
361
  */
409
362
  private static cleanupRebaseFolders;
410
363
  }
411
- export {};
412
364
  //# sourceMappingURL=BriefcaseManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BriefcaseManager.d.ts","sourceRoot":"","sources":["../../src/BriefcaseManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BriefcaseManager.d.ts","sourceRoot":"","sources":["../../src/BriefcaseManager.ts"],"names":[],"mappings":"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"}
@@ -5,63 +5,11 @@
5
5
  /** @packageDocumentation
6
6
  * @module iModels
7
7
  */
8
- var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
9
- if (value !== null && value !== void 0) {
10
- if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
11
- var dispose, inner;
12
- if (async) {
13
- if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
14
- dispose = value[Symbol.asyncDispose];
15
- }
16
- if (dispose === void 0) {
17
- if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
18
- dispose = value[Symbol.dispose];
19
- if (async) inner = dispose;
20
- }
21
- if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
22
- if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
23
- env.stack.push({ value: value, dispose: dispose, async: async });
24
- }
25
- else if (async) {
26
- env.stack.push({ async: true });
27
- }
28
- return value;
29
- };
30
- var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
31
- return function (env) {
32
- function fail(e) {
33
- env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
34
- env.hasError = true;
35
- }
36
- var r, s = 0;
37
- function next() {
38
- while (r = env.stack.pop()) {
39
- try {
40
- if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
41
- if (r.dispose) {
42
- var result = r.dispose.call(r.value);
43
- if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
44
- }
45
- else s |= 1;
46
- }
47
- catch (e) {
48
- fail(e);
49
- }
50
- }
51
- if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
52
- if (env.hasError) throw env.error;
53
- }
54
- return next();
55
- };
56
- })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
57
- var e = new Error(message);
58
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
59
- });
60
8
  // cspell:ignore cset csets ecchanges
61
9
  import * as path from "node:path";
62
10
  import * as os from "node:os";
63
11
  import { BeDuration, ChangeSetStatus, DbResult, IModelHubStatus, IModelStatus, Logger, OpenMode, StopWatch } from "@itwin/core-bentley";
64
- import { BriefcaseIdValue, ChangesetType, IModelError, IModelVersion, } from "@itwin/core-common";
12
+ import { Base64EncodedString, BriefcaseIdValue, ChangesetType, IModelError, IModelVersion, } from "@itwin/core-common";
65
13
  import { BackendLoggerCategory } from "./BackendLoggerCategory";
66
14
  import { CheckpointManager } from "./CheckpointManager";
67
15
  import { BriefcaseDb, IModelDb } from "./IModelDb";
@@ -71,8 +19,6 @@ import { SchemaSync } from "./SchemaSync";
71
19
  import { _hubAccess, _nativeDb, _releaseAllLocks } from "./internal/Symbols";
72
20
  import { IModelNative } from "./internal/NativePlatform";
73
21
  import { StashManager } from "./StashManager";
74
- import { ChangesetECAdaptor, ECChangeUnifierCache, PartialECChangeUnifier } from "./ChangesetECAdaptor";
75
- import { SqliteChangesetReader } from "./SqliteChangesetReader";
76
22
  const loggerCategory = BackendLoggerCategory.IModelDb;
77
23
  /** Manages downloading Briefcases and downloading and uploading changesets.
78
24
  * @public
@@ -528,11 +474,8 @@ export class BriefcaseManager {
528
474
  }
529
475
  if (!reverse) {
530
476
  if (briefcaseDb) {
531
- if (useSemanticRebase) {
532
- this.capturePatchInstances(briefcaseDb);
533
- }
534
477
  briefcaseDb.txns.rebaser.notifyReverseLocalChangesBegin();
535
- const reversedTxns = nativeDb.pullMergeReverseLocalChanges();
478
+ const reversedTxns = nativeDb.pullMergeReverseLocalChanges(useSemanticRebase);
536
479
  if (useSemanticRebase) {
537
480
  nativeDb.clearECDbCache(); // Clear the ECDb cache after reversing local changes to ensure consistency during semantic rebase with schema changes.
538
481
  }
@@ -757,98 +700,11 @@ export class BriefcaseManager {
757
700
  static SCHEMAS_FOLDER = "schemas";
758
701
  static DATA_FOLDER = "data";
759
702
  static DATA_FILE_NAME = "data.json";
760
- /**
761
- * Captures the changed instances as patch instances from each data txn in the briefcase db for semantic rebase
762
- * @param db The {@link BriefcaseDb} instance for which to capture the changed instances as patch instances for all data txns
763
- * @internal
764
- */
765
- static capturePatchInstances(db) {
766
- const txns = Array.from(db.txns.queryTxns());
767
- txns.forEach((txn) => {
768
- if (txn.type !== "Data")
769
- return;
770
- // already captured(This actually shows that first rebase operation is already done but during that while reinstating this txns,
771
- // some error happened so the folder still exists so we don't want to capture again)
772
- if (this.semanticRebaseDataFolderExists(db, txn.id))
773
- return;
774
- const changedInstances = this.captureChangedInstancesAsJSON(db, txn.id);
775
- const instancePatches = this.constructPatchInstances(db, changedInstances);
776
- this.storeChangedInstancesForSemanticRebase(db, txn.id, instancePatches);
777
- });
778
- }
779
- /**
780
- * Captures changed instances from a txn as JSON
781
- * @param txnId The txn id for which to capture changed instances
782
- * @param db The {@link BriefcaseDb} instance from which to capture changed instances as json
783
- * @returns changed instances for semantic rebase
784
- * @internal
785
- */
786
- static captureChangedInstancesAsJSON(db, txnId) {
787
- const env_1 = { stack: [], error: void 0, hasError: false };
788
- try {
789
- const reader = SqliteChangesetReader.openTxn({
790
- txnId, db, disableSchemaCheck: true
791
- });
792
- const adaptor = new ChangesetECAdaptor(reader);
793
- const indirectUnifier = __addDisposableResource(env_1, new PartialECChangeUnifier(reader.db, ECChangeUnifierCache.createInMemoryCache()), false);
794
- const directUnifier = __addDisposableResource(env_1, new PartialECChangeUnifier(reader.db, ECChangeUnifierCache.createInMemoryCache()), false);
795
- while (adaptor.step()) {
796
- if (adaptor.reader.isIndirect)
797
- indirectUnifier.appendFrom(adaptor);
798
- else
799
- directUnifier.appendFrom(adaptor);
800
- }
801
- return [...Array.from(directUnifier.instances).map((instance) => ({ isIndirect: false, instance })), ...Array.from(indirectUnifier.instances).map((instance) => ({ isIndirect: true, instance }))];
802
- }
803
- catch (e_1) {
804
- env_1.error = e_1;
805
- env_1.hasError = true;
806
- }
807
- finally {
808
- __disposeResources(env_1);
809
- }
810
- }
811
- /**
812
- * Constructs patch instances from changed instances
813
- * @param changedInstances The changed instances from which to construct the patch instances
814
- * @param db The {@link BriefcaseDb} instance for which to construct the patch instances
815
- * @returns The {@link InstancePatch} instance patches for semantic rebase
816
- * @internal
817
- */
818
- static constructPatchInstances(db, changedInstances) {
819
- return changedInstances
820
- .filter((changedInstance) => !(changedInstance.instance.$meta?.op === "Updated" && changedInstance.instance.$meta.stage === "Old")) // we will not take the old stage of updated instances
821
- .map((changedInstance) => this.constructPatchInstance(db, changedInstance));
822
- }
823
- /**
824
- * Constructs a single patch instance from changed instance
825
- * @param changedInstance The changed instance from which to construct the patch instance
826
- * @param db The {@link BriefcaseDb} instance for which to construct the single patch instance
827
- * @returns a single instance patch {@link InstancePatch}
828
- * @throws IModelError If cannot determine classId or unknown operation encountered
829
- */
830
- static constructPatchInstance(db, changedInstance) {
831
- const className = (changedInstance.instance.ECClassId && db.getClassNameFromId(changedInstance.instance.ECClassId))
832
- ?? changedInstance.instance.$meta?.classFullName
833
- ?? (changedInstance.instance.$meta?.fallbackClassId && db.getClassNameFromId(changedInstance.instance.$meta.fallbackClassId));
834
- if (!className)
835
- throw new IModelError(IModelStatus.BadArg, "Cannot determine classId of changed instance");
836
- const instanceKey = { id: changedInstance.instance.ECInstanceId, classFullName: className };
837
- const op = changedInstance.instance.$meta?.op;
838
- if (op !== "Inserted" && op !== "Updated" && op !== "Deleted")
839
- throw new IModelError(IModelStatus.BadArg, `Unknown operation: ${op}`);
840
- return {
841
- key: instanceKey,
842
- op,
843
- isIndirect: changedInstance.isIndirect,
844
- props: op !== "Deleted" ? db[_nativeDb].readInstance(instanceKey, { useJsNames: true }) : undefined,
845
- };
846
- }
847
703
  /**
848
704
  * Stores changed instances for semantic rebase locally in appropriate json file in a folder structure
849
- * @param db The {@link BriefcaseDb} instance for storing the changed instances against a txn
705
+ * @param db The [BriefcaseDb]($backend) instance for storing the changed instances against a txn
850
706
  * @param txnId The txn id for which we are storing the changed instances
851
- * @param instancePatches The {@link InstancePatch} instance patches to be stored
707
+ * @param instancePatches The [ChangeInstance]($backend) instance patches to be stored
852
708
  * @internal
853
709
  */
854
710
  static storeChangedInstancesForSemanticRebase(db, txnId, instancePatches) {
@@ -858,7 +714,17 @@ export class BriefcaseManager {
858
714
  if (IModelJsFs.existsSync(targetDir))
859
715
  IModelJsFs.removeSync(targetDir);
860
716
  IModelJsFs.recursiveMkDirSync(targetDir);
861
- IModelJsFs.writeFileSync(filePath, JSON.stringify(instancePatches, undefined, 2));
717
+ IModelJsFs.writeFileSync(filePath, "[");
718
+ let isFirst = true;
719
+ for (const instancePatch of instancePatches) {
720
+ // we will not take the old stage of updated instances for now, because we still don't have conflict resolution on instance level while using semantic rebase.
721
+ // Once we have conflict resolution on instance level, we can consider taking old stage of updated instances as well.
722
+ if (instancePatch.$meta.op === "Updated" && instancePatch.$meta.stage === "Old")
723
+ continue;
724
+ IModelJsFs.appendFileSync(filePath, `${isFirst ? "" : ","}\n${JSON.stringify(instancePatch, Base64EncodedString.replacer)}`);
725
+ isFirst = false;
726
+ }
727
+ IModelJsFs.appendFileSync(filePath, "\n]");
862
728
  }
863
729
  /**
864
730
  * Gets the base path for semantic rebase local files
@@ -871,7 +737,7 @@ export class BriefcaseManager {
871
737
  }
872
738
  /**
873
739
  * Stores schemas for semantic rebase locally in appropriate folder structure
874
- * @param db The {@link BriefcaseDb} instance for storing the schemas against a txn
740
+ * @param db The [BriefcaseDb]($backend) instance for storing the schemas against a txn
875
741
  * @param txnId The txn id for which we are storing the schemas
876
742
  * @param schemaFileNames The schema file paths or schema xml strings to be stored
877
743
  * @internal
@@ -897,7 +763,7 @@ export class BriefcaseManager {
897
763
  }
898
764
  /**
899
765
  * Gets schemas for semantic rebase for a txn
900
- * @param db The {@link BriefcaseDb} instance for getting the locally stored schemas against a txn
766
+ * @param db The [BriefcaseDb]($backend) instance for getting the locally stored schemas against a txn
901
767
  * @param txnId The txn id for which we are getting the schemas
902
768
  * @returns the schema file paths
903
769
  * @internal
@@ -909,21 +775,25 @@ export class BriefcaseManager {
909
775
  }
910
776
  /**
911
777
  * Get the changed instances data for semantic rebase for a txn
912
- * @param db - The {@link BriefcaseDb} instance for getting the locally stored changed instances against a txn
778
+ * @param db - The [BriefcaseDb]($backend) instance for getting the locally stored changed instances against a txn
913
779
  * @param txnId - The txn id for which we are getting the changed instances
914
780
  * @returns Instance patches
915
781
  * @internal
916
782
  */
917
- static getChangedInstancesDataForTxn(db, txnId) {
783
+ static async *getChangedInstancesDataForTxn(db, txnId) {
918
784
  const basePath = BriefcaseManager.getBasePathForSemanticRebaseLocalFiles(db);
919
785
  const folderPath = path.join(basePath, txnId, BriefcaseManager.DATA_FOLDER);
920
786
  const filePath = path.join(folderPath, BriefcaseManager.DATA_FILE_NAME);
921
- const fileContents = IModelJsFs.readFileWithEncodingSync(filePath, "utf-8");
922
- return JSON.parse(fileContents);
787
+ for await (const line of IModelJsFs.readLines(filePath)) {
788
+ if (line === "[" || line === "]" || line === "")
789
+ continue;
790
+ const trimmedLine = line.trim().endsWith(",") ? line.trim().slice(0, -1) : line.trim(); // remove trailing comma if exists
791
+ yield JSON.parse(trimmedLine, Base64EncodedString.reviver);
792
+ }
923
793
  }
924
794
  /**
925
795
  * Checks if schema folder exists for semantic rebase for a txn
926
- * @param db - The {@link BriefcaseDb} instance for which TO check the schema folder
796
+ * @param db - The [BriefcaseDb]($backend) instance for which TO check the schema folder
927
797
  * @param txnId - The txn id for which we are check the schema folder
928
798
  * @returns true if exists, false otherwise
929
799
  * @internal
@@ -935,7 +805,7 @@ export class BriefcaseManager {
935
805
  }
936
806
  /**
937
807
  * Checks if data folder exists for semantic rebase for a txn
938
- * @param db The {@link BriefcaseDb} instance for which to check the data folder.
808
+ * @param db The [BriefcaseDb]($backend) instance for which to check the data folder.
939
809
  * @param txnId The txn id for which to check the data folder
940
810
  * @returns true if exists, false otherwise
941
811
  * @internal
@@ -947,7 +817,7 @@ export class BriefcaseManager {
947
817
  }
948
818
  /**
949
819
  * Deletes the schema folder for semantic rebase for a txn
950
- * @param db The {@link BriefcaseDb} instance for which to delete the schema folder.
820
+ * @param db The [BriefcaseDb]($backend) instance for which to delete the schema folder.
951
821
  * @param txnId The txn id for which to delete the schema folder
952
822
  * @internal
953
823
  */
@@ -963,7 +833,7 @@ export class BriefcaseManager {
963
833
  }
964
834
  /**
965
835
  * Deletes the data folder for semantic rebase for a txn
966
- * @param db The {@link BriefcaseDb} instance for which to delete the data folder.
836
+ * @param db The [BriefcaseDb]($backend) instance for which to delete the data folder.
967
837
  * @param txnId The txn id for which to delete the data folder
968
838
  * @internal
969
839
  */
@@ -979,7 +849,7 @@ export class BriefcaseManager {
979
849
  }
980
850
  /**
981
851
  * Deletes rebase folders for semantic rebase
982
- * @param db The {@link BriefcaseDb} instance for which to delete the rebase folders.
852
+ * @param db The [BriefcaseDb]($backend) instance for which to delete the rebase folders.
983
853
  * @param checkIfEmpty If true, only deletes the base folder if it is empty, default is false
984
854
  * @internal
985
855
  */