@itwin/core-backend 5.13.0-dev.9 → 5.14.0-dev.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 (235) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/lib/cjs/Category.d.ts +4 -4
  3. package/lib/cjs/Category.js.map +1 -1
  4. package/lib/cjs/ChangesetECAdaptor.d.ts +5 -0
  5. package/lib/cjs/ChangesetECAdaptor.d.ts.map +1 -1
  6. package/lib/cjs/ChangesetECAdaptor.js +13 -3
  7. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  8. package/lib/cjs/CodeSpecs.d.ts +3 -3
  9. package/lib/cjs/CodeSpecs.js.map +1 -1
  10. package/lib/cjs/DisplayStyle.d.ts +2 -2
  11. package/lib/cjs/DisplayStyle.js.map +1 -1
  12. package/lib/cjs/EditTxn.d.ts.map +1 -1
  13. package/lib/cjs/EditTxn.js +1 -0
  14. package/lib/cjs/EditTxn.js.map +1 -1
  15. package/lib/cjs/Element.d.ts +48 -12
  16. package/lib/cjs/Element.d.ts.map +1 -1
  17. package/lib/cjs/Element.js +120 -24
  18. package/lib/cjs/Element.js.map +1 -1
  19. package/lib/cjs/IModelDb.d.ts +30 -15
  20. package/lib/cjs/IModelDb.d.ts.map +1 -1
  21. package/lib/cjs/IModelDb.js +51 -15
  22. package/lib/cjs/IModelDb.js.map +1 -1
  23. package/lib/cjs/Model.d.ts +5 -5
  24. package/lib/cjs/Model.d.ts.map +1 -1
  25. package/lib/cjs/Model.js.map +1 -1
  26. package/lib/cjs/PropertyStore.js +1 -1
  27. package/lib/cjs/PropertyStore.js.map +1 -1
  28. package/lib/cjs/SchemaSync.d.ts +37 -9
  29. package/lib/cjs/SchemaSync.d.ts.map +1 -1
  30. package/lib/cjs/SchemaSync.js +125 -6
  31. package/lib/cjs/SchemaSync.js.map +1 -1
  32. package/lib/cjs/SynchronousChannel.d.ts +62 -0
  33. package/lib/cjs/SynchronousChannel.d.ts.map +1 -0
  34. package/lib/cjs/SynchronousChannel.js +11 -0
  35. package/lib/cjs/SynchronousChannel.js.map +1 -0
  36. package/lib/cjs/Texture.d.ts +1 -1
  37. package/lib/cjs/Texture.js.map +1 -1
  38. package/lib/cjs/TxnManager.d.ts +44 -4
  39. package/lib/cjs/TxnManager.d.ts.map +1 -1
  40. package/lib/cjs/TxnManager.js +72 -14
  41. package/lib/cjs/TxnManager.js.map +1 -1
  42. package/lib/cjs/ViewDefinition.d.ts +6 -6
  43. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  44. package/lib/cjs/ViewDefinition.js.map +1 -1
  45. package/lib/cjs/annotations/LeaderGeometry.d.ts +22 -7
  46. package/lib/cjs/annotations/LeaderGeometry.d.ts.map +1 -1
  47. package/lib/cjs/annotations/LeaderGeometry.js +104 -36
  48. package/lib/cjs/annotations/LeaderGeometry.js.map +1 -1
  49. package/lib/cjs/annotations/TextAnnotationElement.d.ts +1 -1
  50. package/lib/cjs/annotations/TextAnnotationElement.d.ts.map +1 -1
  51. package/lib/cjs/annotations/TextAnnotationElement.js +25 -10
  52. package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -1
  53. package/lib/cjs/core-backend.d.ts +1 -0
  54. package/lib/cjs/core-backend.d.ts.map +1 -1
  55. package/lib/cjs/core-backend.js +1 -0
  56. package/lib/cjs/core-backend.js.map +1 -1
  57. package/lib/cjs/internal/IntegrityCheck.d.ts +22 -0
  58. package/lib/cjs/internal/IntegrityCheck.d.ts.map +1 -1
  59. package/lib/cjs/internal/IntegrityCheck.js +13 -0
  60. package/lib/cjs/internal/IntegrityCheck.js.map +1 -1
  61. package/lib/cjs/internal/NoReservations.d.ts +6 -0
  62. package/lib/cjs/internal/NoReservations.d.ts.map +1 -0
  63. package/lib/cjs/internal/NoReservations.js +21 -0
  64. package/lib/cjs/internal/NoReservations.js.map +1 -0
  65. package/lib/cjs/internal/SchemaSyncReservations.d.ts +4 -0
  66. package/lib/cjs/internal/SchemaSyncReservations.d.ts.map +1 -0
  67. package/lib/cjs/internal/SchemaSyncReservations.js +118 -0
  68. package/lib/cjs/internal/SchemaSyncReservations.js.map +1 -0
  69. package/lib/cjs/internal/Symbols.d.ts +1 -0
  70. package/lib/cjs/internal/Symbols.d.ts.map +1 -1
  71. package/lib/cjs/internal/Symbols.js +2 -1
  72. package/lib/cjs/internal/Symbols.js.map +1 -1
  73. package/lib/esm/Category.d.ts +4 -4
  74. package/lib/esm/Category.js.map +1 -1
  75. package/lib/esm/ChangesetECAdaptor.d.ts +5 -0
  76. package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -1
  77. package/lib/esm/ChangesetECAdaptor.js +13 -3
  78. package/lib/esm/ChangesetECAdaptor.js.map +1 -1
  79. package/lib/esm/CodeSpecs.d.ts +3 -3
  80. package/lib/esm/CodeSpecs.js.map +1 -1
  81. package/lib/esm/DisplayStyle.d.ts +2 -2
  82. package/lib/esm/DisplayStyle.js.map +1 -1
  83. package/lib/esm/EditTxn.d.ts.map +1 -1
  84. package/lib/esm/EditTxn.js +1 -0
  85. package/lib/esm/EditTxn.js.map +1 -1
  86. package/lib/esm/Element.d.ts +48 -12
  87. package/lib/esm/Element.d.ts.map +1 -1
  88. package/lib/esm/Element.js +121 -25
  89. package/lib/esm/Element.js.map +1 -1
  90. package/lib/esm/IModelDb.d.ts +30 -15
  91. package/lib/esm/IModelDb.d.ts.map +1 -1
  92. package/lib/esm/IModelDb.js +52 -16
  93. package/lib/esm/IModelDb.js.map +1 -1
  94. package/lib/esm/Model.d.ts +5 -5
  95. package/lib/esm/Model.d.ts.map +1 -1
  96. package/lib/esm/Model.js.map +1 -1
  97. package/lib/esm/PropertyStore.js +1 -1
  98. package/lib/esm/PropertyStore.js.map +1 -1
  99. package/lib/esm/SchemaSync.d.ts +37 -9
  100. package/lib/esm/SchemaSync.d.ts.map +1 -1
  101. package/lib/esm/SchemaSync.js +127 -8
  102. package/lib/esm/SchemaSync.js.map +1 -1
  103. package/lib/esm/SynchronousChannel.d.ts +62 -0
  104. package/lib/esm/SynchronousChannel.d.ts.map +1 -0
  105. package/lib/esm/SynchronousChannel.js +9 -0
  106. package/lib/esm/SynchronousChannel.js.map +1 -0
  107. package/lib/esm/Texture.d.ts +1 -1
  108. package/lib/esm/Texture.js.map +1 -1
  109. package/lib/esm/TxnManager.d.ts +44 -4
  110. package/lib/esm/TxnManager.d.ts.map +1 -1
  111. package/lib/esm/TxnManager.js +72 -14
  112. package/lib/esm/TxnManager.js.map +1 -1
  113. package/lib/esm/ViewDefinition.d.ts +6 -6
  114. package/lib/esm/ViewDefinition.d.ts.map +1 -1
  115. package/lib/esm/ViewDefinition.js.map +1 -1
  116. package/lib/esm/annotations/LeaderGeometry.d.ts +22 -7
  117. package/lib/esm/annotations/LeaderGeometry.d.ts.map +1 -1
  118. package/lib/esm/annotations/LeaderGeometry.js +104 -36
  119. package/lib/esm/annotations/LeaderGeometry.js.map +1 -1
  120. package/lib/esm/annotations/TextAnnotationElement.d.ts +1 -1
  121. package/lib/esm/annotations/TextAnnotationElement.d.ts.map +1 -1
  122. package/lib/esm/annotations/TextAnnotationElement.js +25 -10
  123. package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
  124. package/lib/esm/core-backend.d.ts +1 -0
  125. package/lib/esm/core-backend.d.ts.map +1 -1
  126. package/lib/esm/core-backend.js +1 -0
  127. package/lib/esm/core-backend.js.map +1 -1
  128. package/lib/esm/internal/IntegrityCheck.d.ts +22 -0
  129. package/lib/esm/internal/IntegrityCheck.d.ts.map +1 -1
  130. package/lib/esm/internal/IntegrityCheck.js +13 -0
  131. package/lib/esm/internal/IntegrityCheck.js.map +1 -1
  132. package/lib/esm/internal/NoReservations.d.ts +6 -0
  133. package/lib/esm/internal/NoReservations.d.ts.map +1 -0
  134. package/lib/esm/internal/NoReservations.js +18 -0
  135. package/lib/esm/internal/NoReservations.js.map +1 -0
  136. package/lib/esm/internal/SchemaSyncReservations.d.ts +4 -0
  137. package/lib/esm/internal/SchemaSyncReservations.d.ts.map +1 -0
  138. package/lib/esm/internal/SchemaSyncReservations.js +115 -0
  139. package/lib/esm/internal/SchemaSyncReservations.js.map +1 -0
  140. package/lib/esm/internal/Symbols.d.ts +1 -0
  141. package/lib/esm/internal/Symbols.d.ts.map +1 -1
  142. package/lib/esm/internal/Symbols.js +1 -0
  143. package/lib/esm/internal/Symbols.js.map +1 -1
  144. package/lib/esm/test/IModelTestUtils.d.ts +1 -1
  145. package/lib/esm/test/IModelTestUtils.d.ts.map +1 -1
  146. package/lib/esm/test/IModelTestUtils.js +8 -3
  147. package/lib/esm/test/IModelTestUtils.js.map +1 -1
  148. package/lib/esm/test/annotations/LeaderGeometry.test.js +178 -2
  149. package/lib/esm/test/annotations/LeaderGeometry.test.js.map +1 -1
  150. package/lib/esm/test/annotations/TextAnnotation.test.js +48 -18
  151. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
  152. package/lib/esm/test/ecdb/ECSqlStatement.test.js +177 -0
  153. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
  154. package/lib/esm/test/ecdb/QueryReaders.test.js +2 -16
  155. package/lib/esm/test/ecdb/QueryReaders.test.js.map +1 -1
  156. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js +2 -2
  157. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
  158. package/lib/esm/test/element/ElementRoundTrip.test.js +80 -2
  159. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
  160. package/lib/esm/test/imodel/IModelECSql.test.d.ts +2 -0
  161. package/lib/esm/test/imodel/IModelECSql.test.d.ts.map +1 -0
  162. package/lib/esm/test/imodel/IModelECSql.test.js +367 -0
  163. package/lib/esm/test/imodel/IModelECSql.test.js.map +1 -0
  164. package/lib/esm/test/imodel/IModelElements.test.d.ts +2 -0
  165. package/lib/esm/test/imodel/IModelElements.test.d.ts.map +1 -0
  166. package/lib/esm/test/imodel/IModelElements.test.js +969 -0
  167. package/lib/esm/test/imodel/IModelElements.test.js.map +1 -0
  168. package/lib/esm/test/imodel/IModelGeolocation.test.d.ts +2 -0
  169. package/lib/esm/test/imodel/IModelGeolocation.test.d.ts.map +1 -0
  170. package/lib/esm/test/imodel/IModelGeolocation.test.js +539 -0
  171. package/lib/esm/test/imodel/IModelGeolocation.test.js.map +1 -0
  172. package/lib/esm/test/imodel/IModelLifecycle.test.d.ts +2 -0
  173. package/lib/esm/test/imodel/IModelLifecycle.test.d.ts.map +1 -0
  174. package/lib/esm/test/imodel/IModelLifecycle.test.js +499 -0
  175. package/lib/esm/test/imodel/IModelLifecycle.test.js.map +1 -0
  176. package/lib/esm/test/imodel/IModelMetadata.test.d.ts +2 -0
  177. package/lib/esm/test/imodel/IModelMetadata.test.d.ts.map +1 -0
  178. package/lib/esm/test/imodel/IModelMetadata.test.js +274 -0
  179. package/lib/esm/test/imodel/IModelMetadata.test.js.map +1 -0
  180. package/lib/esm/test/imodel/IModelModels.test.d.ts +2 -0
  181. package/lib/esm/test/imodel/IModelModels.test.d.ts.map +1 -0
  182. package/lib/esm/test/imodel/IModelModels.test.js +357 -0
  183. package/lib/esm/test/imodel/IModelModels.test.js.map +1 -0
  184. package/lib/esm/test/imodel/IModelRelationships.test.d.ts +2 -0
  185. package/lib/esm/test/imodel/IModelRelationships.test.d.ts.map +1 -0
  186. package/lib/esm/test/imodel/IModelRelationships.test.js +407 -0
  187. package/lib/esm/test/imodel/IModelRelationships.test.js.map +1 -0
  188. package/lib/esm/test/imodel/IModelTestFixtures.d.ts +53 -0
  189. package/lib/esm/test/imodel/IModelTestFixtures.d.ts.map +1 -0
  190. package/lib/esm/test/imodel/IModelTestFixtures.js +107 -0
  191. package/lib/esm/test/imodel/IModelTestFixtures.js.map +1 -0
  192. package/lib/esm/test/imodel/IModelViews.test.d.ts +2 -0
  193. package/lib/esm/test/imodel/IModelViews.test.d.ts.map +1 -0
  194. package/lib/esm/test/imodel/IModelViews.test.js +199 -0
  195. package/lib/esm/test/imodel/IModelViews.test.js.map +1 -0
  196. package/lib/esm/test/index.d.ts +0 -1
  197. package/lib/esm/test/index.d.ts.map +1 -1
  198. package/lib/esm/test/index.js +0 -1
  199. package/lib/esm/test/index.js.map +1 -1
  200. package/lib/esm/test/standalone/ChangesetReader.test.js +8 -26
  201. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
  202. package/lib/esm/test/standalone/DgnDomainMergeConflict.test.d.ts +2 -0
  203. package/lib/esm/test/standalone/DgnDomainMergeConflict.test.d.ts.map +1 -0
  204. package/lib/esm/test/standalone/DgnDomainMergeConflict.test.js +263 -0
  205. package/lib/esm/test/standalone/DgnDomainMergeConflict.test.js.map +1 -0
  206. package/lib/esm/test/standalone/GeometryStream.test.js +1 -3
  207. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
  208. package/lib/esm/test/standalone/IModelWrite.test.d.ts.map +1 -1
  209. package/lib/esm/test/standalone/IModelWrite.test.js +78 -1
  210. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
  211. package/lib/esm/test/standalone/IntegrityCheck.test.js +29 -10
  212. package/lib/esm/test/standalone/IntegrityCheck.test.js.map +1 -1
  213. package/lib/esm/test/standalone/SQliteChangesetReaderAndChangesetECAdaptor.test.js +23 -0
  214. package/lib/esm/test/standalone/SQliteChangesetReaderAndChangesetECAdaptor.test.js.map +1 -1
  215. package/lib/esm/test/standalone/SchemaSyncDb.test.d.ts +2 -0
  216. package/lib/esm/test/standalone/SchemaSyncDb.test.d.ts.map +1 -0
  217. package/lib/esm/test/standalone/SchemaSyncDb.test.js +221 -0
  218. package/lib/esm/test/standalone/SchemaSyncDb.test.js.map +1 -0
  219. package/lib/esm/test/standalone/SchemaSyncElementReservation.test.d.ts +2 -0
  220. package/lib/esm/test/standalone/SchemaSyncElementReservation.test.d.ts.map +1 -0
  221. package/lib/esm/test/standalone/SchemaSyncElementReservation.test.js +459 -0
  222. package/lib/esm/test/standalone/SchemaSyncElementReservation.test.js.map +1 -0
  223. package/lib/esm/test/standalone/SnapshotDb.test.js +1 -0
  224. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
  225. package/lib/esm/test/standalone/TxnManager.test.js +108 -8
  226. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
  227. package/package.json +14 -17
  228. package/lib/esm/test/RevisionUtility.d.ts +0 -33
  229. package/lib/esm/test/RevisionUtility.d.ts.map +0 -1
  230. package/lib/esm/test/RevisionUtility.js +0 -52
  231. package/lib/esm/test/RevisionUtility.js.map +0 -1
  232. package/lib/esm/test/imodel/IModel.test.d.ts +0 -2
  233. package/lib/esm/test/imodel/IModel.test.d.ts.map +0 -1
  234. package/lib/esm/test/imodel/IModel.test.js +0 -3277
  235. package/lib/esm/test/imodel/IModel.test.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoReservations.d.ts","sourceRoot":"","sources":["../../../src/internal/NoReservations.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAa3D,wBAAgB,sBAAsB,IAAI,kBAAkB,CAAC,YAAY,CAExE"}
@@ -0,0 +1,18 @@
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 { _close, _implementationProhibited, _onReservedElementInsert } from "./Symbols";
6
+ /** A null-implementation of SynchronousChannel.Reservations for iModels that don't use SchemaSync-backed reservations. */
7
+ class NoReservations {
8
+ [_implementationProhibited] = undefined;
9
+ get isServerBased() { return false; }
10
+ [_close]() { }
11
+ [_onReservedElementInsert]() { }
12
+ needsElementReservation() { return false; }
13
+ async reserveElements() { }
14
+ }
15
+ export function createNoOpReservations() {
16
+ return new NoReservations();
17
+ }
18
+ //# sourceMappingURL=NoReservations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoReservations.js","sourceRoot":"","sources":["../../../src/internal/NoReservations.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAO/F,OAAO,EAAE,MAAM,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAExF,0HAA0H;AAC1H,MAAM,cAAc;IACF,CAAC,yBAAyB,CAAC,GAAG,SAAS,CAAC;IACxD,IAAW,aAAa,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;IACrC,CAAC,MAAM,CAAC,KAAW,CAAC;IACpB,CAAC,wBAAwB,CAAC,KAAW,CAAC;IACtC,uBAAuB,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;IACpD,KAAK,CAAC,eAAe,KAAoB,CAAC;CAClD;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,IAAI,cAAc,EAAE,CAAC;AAC9B,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module iModels\r\n */\r\n\r\nimport { SynchronousChannel } from \"../SynchronousChannel\";\r\nimport { _close, _implementationProhibited, _onReservedElementInsert } from \"./Symbols\";\r\n\r\n/** A null-implementation of SynchronousChannel.Reservations for iModels that don't use SchemaSync-backed reservations. */\r\nclass NoReservations implements SynchronousChannel.Reservations {\r\n public readonly [_implementationProhibited] = undefined;\r\n public get isServerBased() { return false; }\r\n public [_close](): void { }\r\n public [_onReservedElementInsert](): void { }\r\n public needsElementReservation(): boolean { return false; }\r\n public async reserveElements(): Promise<void> { }\r\n}\r\n\r\nexport function createNoOpReservations(): SynchronousChannel.Reservations {\r\n return new NoReservations();\r\n}\r\n"]}
@@ -0,0 +1,4 @@
1
+ import { IModelDb } from "../IModelDb";
2
+ import { SynchronousChannel } from "../SynchronousChannel";
3
+ export declare function createSchemaSyncReservations(iModel: IModelDb): Promise<SynchronousChannel.Reservations>;
4
+ //# sourceMappingURL=SchemaSyncReservations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaSyncReservations.d.ts","sourceRoot":"","sources":["../../../src/internal/SchemaSyncReservations.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,QAAQ,EAAwB,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AA6H3D,wBAAsB,4BAA4B,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAE7G"}
@@ -0,0 +1,115 @@
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 iModels
7
+ */
8
+ import { Guid, Id64 } from "@itwin/core-bentley";
9
+ import { Code, ElementReservationError } from "@itwin/core-common";
10
+ import { SchemaSync } from "../SchemaSync";
11
+ import { _close, _implementationProhibited, _nativeDb, _onReservedElementInsert } from "./Symbols";
12
+ import { Category } from "../Category";
13
+ class SchemaSyncReservations {
14
+ [_implementationProhibited] = undefined;
15
+ get isServerBased() { return true; }
16
+ _iModel;
17
+ _schemaSync;
18
+ constructor(iModel, schemaSync) {
19
+ this._iModel = iModel;
20
+ this._schemaSync = schemaSync;
21
+ }
22
+ static async create(iModel) {
23
+ const schemaSync = await SchemaSync.getCloudAccess(iModel);
24
+ schemaSync.synchronizeWithCloud();
25
+ return new SchemaSyncReservations(iModel, schemaSync);
26
+ }
27
+ [_close]() {
28
+ try {
29
+ this._schemaSync.close();
30
+ }
31
+ catch {
32
+ // best-effort cleanup; never throw out of close hooks
33
+ }
34
+ }
35
+ needsElementReservation(federationGuid) {
36
+ if (!SchemaSync.isEnabled(this._iModel))
37
+ return false;
38
+ if (!Guid.isGuid(federationGuid))
39
+ ElementReservationError.throwError("invalid-reservation", { message: "Invalid federationGuid" });
40
+ return !this._schemaSync.reader.findReservedElement(federationGuid);
41
+ }
42
+ async reserveElements(args) {
43
+ const validated = this.validateProposedReservations(args);
44
+ await this._schemaSync.writeLocker.reserveElements(validated);
45
+ }
46
+ [_onReservedElementInsert](arg) {
47
+ if (!SchemaSync.isEnabled(arg.iModel) || arg.iModel.holdsSchemaLock)
48
+ return;
49
+ const fedGuid = arg.props.federationGuid;
50
+ // The hook is only invoked for elements with an explicitly-set federationGuid (gated in Element.onInsert),
51
+ // but validate defensively.
52
+ if (fedGuid === undefined || !Guid.isGuid(fedGuid))
53
+ ElementReservationError.throwError("invalid-reservation", { message: "Element inserts require a valid federationGuid when SchemaSync is enabled" });
54
+ // It should be impossible for us to still have local changes, but check just in case,
55
+ // since we can't trust the contents of the SchemaSyncDb until they've been successfully pushed.
56
+ if (this._schemaSync.container.hasLocalChanges)
57
+ ElementReservationError.throwError("container-has-local-changes", { message: "Element inserts are not allowed when there are local changes in the SchemaSync container" });
58
+ const code = Code.fromJSON(arg.props.code);
59
+ const existing = this._schemaSync.reader.findReservedElement(fedGuid);
60
+ if (!existing) {
61
+ ElementReservationError.throwError("reservation-not-found", {
62
+ message: `No SchemaSync reservation found for element with federationGuid ${fedGuid} — include it in a SynchronousChannel.Reservations.reserveElements call before inserting`,
63
+ federationGuid: fedGuid,
64
+ });
65
+ }
66
+ const expectedClassId = arg.iModel[_nativeDb].classNameToId(arg.props.classFullName);
67
+ if (existing.ecClassId !== expectedClassId) {
68
+ ElementReservationError.throwError("reservation-conflict", {
69
+ message: `Element ${existing.federationGuid} reserved as a different class than the insert (${existing.ecClassId} vs ${expectedClassId})`,
70
+ federationGuid: existing.federationGuid,
71
+ });
72
+ }
73
+ if (!existing.code.equals(code))
74
+ ElementReservationError.throwError("reservation-conflict", {
75
+ message: `Element ${existing.federationGuid} insert uses a different Code than was reserved`,
76
+ federationGuid: existing.federationGuid,
77
+ });
78
+ arg.props.id = existing.elementId;
79
+ const options = arg.options ?? (arg.options = {});
80
+ options.forceUseId = true;
81
+ }
82
+ validateProposedReservations(args) {
83
+ const out = [];
84
+ const errors = [];
85
+ for (const props of args.elements) {
86
+ if (!props.federationGuid || !Guid.isGuid(props.federationGuid)) {
87
+ errors.push(`element reservation requires an explicit, valid federationGuid (got '${props.federationGuid ?? "<none>"}')`);
88
+ continue;
89
+ }
90
+ const code = props.code ? Code.fromJSON(props.code) : Code.createEmpty();
91
+ if (code.value && !Code.isValid(code)) {
92
+ errors.push(`(${props.federationGuid}): invalid code '${code.toString()}'`);
93
+ continue;
94
+ }
95
+ const ecClassId = this._iModel[_nativeDb].classNameToId(props.classFullName);
96
+ if (!Id64.isValidId64(ecClassId)) {
97
+ errors.push(`(${props.federationGuid}): unknown class '${props.classFullName}'`);
98
+ continue;
99
+ }
100
+ out.push({
101
+ federationGuid: props.federationGuid,
102
+ ecClassId,
103
+ code,
104
+ isCategory: props.classFullName === Category.classFullName || this._iModel[_nativeDb].isSubClassOf(props.classFullName, Category.classFullName),
105
+ });
106
+ }
107
+ if (errors.length > 0)
108
+ ElementReservationError.throwError("invalid-reservation", { message: `Invalid element(s) for reservation:\n ${errors.join("\n ")}` });
109
+ return out;
110
+ }
111
+ }
112
+ export async function createSchemaSyncReservations(iModel) {
113
+ return SchemaSyncReservations.create(iModel);
114
+ }
115
+ //# sourceMappingURL=SchemaSyncReservations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaSyncReservations.js","sourceRoot":"","sources":["../../../src/internal/SchemaSyncReservations.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module iModels\r\n */\r\n\r\nimport { Guid, GuidString, Id64 } from \"@itwin/core-bentley\";\r\nimport { Code, ElementReservationError } from \"@itwin/core-common\";\r\nimport { OnElementPropsArg } from \"../Element\";\r\nimport { IModelDb, InsertElementOptions } from \"../IModelDb\";\r\nimport { SynchronousChannel } from \"../SynchronousChannel\";\r\nimport { SchemaSync } from \"../SchemaSync\";\r\nimport { _close, _implementationProhibited, _nativeDb, _onReservedElementInsert } from \"./Symbols\";\r\nimport { Category } from \"../Category\";\r\n\r\nclass SchemaSyncReservations implements SynchronousChannel.Reservations {\r\n public readonly [_implementationProhibited] = undefined;\r\n public get isServerBased() { return true; }\r\n private readonly _iModel: IModelDb;\r\n private readonly _schemaSync: SchemaSync.CloudAccess;\r\n\r\n private constructor(iModel: IModelDb, schemaSync: SchemaSync.CloudAccess) {\r\n this._iModel = iModel;\r\n this._schemaSync = schemaSync;\r\n }\r\n\r\n public static async create(iModel: IModelDb): Promise<SchemaSyncReservations> {\r\n const schemaSync = await SchemaSync.getCloudAccess(iModel);\r\n schemaSync.synchronizeWithCloud();\r\n return new SchemaSyncReservations(iModel, schemaSync);\r\n }\r\n\r\n public [_close](): void {\r\n try {\r\n this._schemaSync.close();\r\n } catch {\r\n // best-effort cleanup; never throw out of close hooks\r\n }\r\n }\r\n\r\n public needsElementReservation(federationGuid: GuidString): boolean {\r\n if (!SchemaSync.isEnabled(this._iModel))\r\n return false;\r\n\r\n if (!Guid.isGuid(federationGuid))\r\n ElementReservationError.throwError(\"invalid-reservation\", { message: \"Invalid federationGuid\" });\r\n\r\n return !this._schemaSync.reader.findReservedElement(federationGuid);\r\n }\r\n\r\n public async reserveElements(args: SynchronousChannel.ReserveElementsArgs): Promise<void> {\r\n const validated = this.validateProposedReservations(args);\r\n await this._schemaSync.writeLocker.reserveElements(validated);\r\n }\r\n\r\n public [_onReservedElementInsert](arg: OnElementPropsArg): void {\r\n if (!SchemaSync.isEnabled(arg.iModel) || arg.iModel.holdsSchemaLock)\r\n return;\r\n\r\n const fedGuid = arg.props.federationGuid;\r\n // The hook is only invoked for elements with an explicitly-set federationGuid (gated in Element.onInsert),\r\n // but validate defensively.\r\n if (fedGuid === undefined || !Guid.isGuid(fedGuid))\r\n ElementReservationError.throwError(\"invalid-reservation\", { message: \"Element inserts require a valid federationGuid when SchemaSync is enabled\" });\r\n\r\n // It should be impossible for us to still have local changes, but check just in case,\r\n // since we can't trust the contents of the SchemaSyncDb until they've been successfully pushed.\r\n if (this._schemaSync.container.hasLocalChanges)\r\n ElementReservationError.throwError(\"container-has-local-changes\", { message: \"Element inserts are not allowed when there are local changes in the SchemaSync container\" });\r\n\r\n const code = Code.fromJSON(arg.props.code);\r\n\r\n const existing = this._schemaSync.reader.findReservedElement(fedGuid);\r\n if (!existing) {\r\n ElementReservationError.throwError(\"reservation-not-found\", {\r\n message: `No SchemaSync reservation found for element with federationGuid ${fedGuid} — include it in a SynchronousChannel.Reservations.reserveElements call before inserting`,\r\n federationGuid: fedGuid,\r\n });\r\n }\r\n\r\n const expectedClassId = arg.iModel[_nativeDb].classNameToId(arg.props.classFullName);\r\n if (existing.ecClassId !== expectedClassId) {\r\n ElementReservationError.throwError(\"reservation-conflict\", {\r\n message: `Element ${existing.federationGuid} reserved as a different class than the insert (${existing.ecClassId} vs ${expectedClassId})`,\r\n federationGuid: existing.federationGuid,\r\n });\r\n }\r\n\r\n if (!existing.code.equals(code))\r\n ElementReservationError.throwError(\"reservation-conflict\", {\r\n message: `Element ${existing.federationGuid} insert uses a different Code than was reserved`,\r\n federationGuid: existing.federationGuid,\r\n });\r\n\r\n arg.props.id = existing.elementId;\r\n const options = arg.options ?? (arg.options = {} as InsertElementOptions);\r\n options.forceUseId = true;\r\n }\r\n\r\n private validateProposedReservations(args: SynchronousChannel.ReserveElementsArgs): SchemaSync.ProposedElementReservation[] {\r\n const out: SchemaSync.ProposedElementReservation[] = [];\r\n const errors: string[] = [];\r\n for (const props of args.elements) {\r\n if (!props.federationGuid || !Guid.isGuid(props.federationGuid)) {\r\n errors.push(`element reservation requires an explicit, valid federationGuid (got '${props.federationGuid ?? \"<none>\"}')`);\r\n continue;\r\n }\r\n\r\n const code = props.code ? Code.fromJSON(props.code) : Code.createEmpty();\r\n if (code.value && !Code.isValid(code)) {\r\n errors.push(`(${props.federationGuid}): invalid code '${code.toString()}'`);\r\n continue;\r\n }\r\n\r\n const ecClassId = this._iModel[_nativeDb].classNameToId(props.classFullName);\r\n if (!Id64.isValidId64(ecClassId)) {\r\n errors.push(`(${props.federationGuid}): unknown class '${props.classFullName}'`);\r\n continue;\r\n }\r\n\r\n out.push({\r\n federationGuid: props.federationGuid,\r\n ecClassId,\r\n code,\r\n isCategory: props.classFullName === Category.classFullName || this._iModel[_nativeDb].isSubClassOf(props.classFullName, Category.classFullName),\r\n });\r\n }\r\n\r\n if (errors.length > 0)\r\n ElementReservationError.throwError(\"invalid-reservation\", { message: `Invalid element(s) for reservation:\\n ${errors.join(\"\\n \")}` });\r\n\r\n return out;\r\n }\r\n}\r\n\r\nexport async function createSchemaSyncReservations(iModel: IModelDb): Promise<SynchronousChannel.Reservations> {\r\n return SchemaSyncReservations.create(iModel);\r\n}\r\n"]}
@@ -23,4 +23,5 @@ export declare const _instanceKeyCache: unique symbol;
23
23
  /** @internal */
24
24
  export declare const _activeTxn: unique symbol;
25
25
  export declare const _resetIModelDb: unique symbol;
26
+ export declare const _onReservedElementInsert: unique symbol;
26
27
  //# sourceMappingURL=Symbols.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Symbols.d.ts","sourceRoot":"","sources":["../../../src/internal/Symbols.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,eAAO,MAAM,yBAAyB,eAAmG,CAAC;AAM1I,eAAO,MAAM,MAAM,eAA2B,CAAC;AAC/C,eAAO,MAAM,kBAAkB,eAAuC,CAAC;AACvE,eAAO,MAAM,UAAU,eAA+B,CAAC;AACvD,eAAO,MAAM,QAAQ,eAA6B,CAAC;AACnD,eAAO,MAAM,IAAI,eAAyB,CAAC;AAC3C,gBAAgB;AAChB,eAAO,MAAM,YAAY,eAAiC,CAAC;AAC3D,gBAAgB;AAChB,eAAO,MAAM,SAAS,eAA8B,CAAC;AACrD,eAAO,MAAM,gBAAgB,eAAqC,CAAC;AACnE,eAAO,MAAM,cAAc,eAAmC,CAAC;AAC/D,gBAAgB;AAChB,eAAO,MAAM,UAAU,eAA+B,CAAC;AACvD,eAAO,MAAM,aAAa,eAAkC,CAAC;AAC7D,eAAO,MAAM,aAAa,eAAkC,CAAC;AAC7D,eAAO,MAAM,eAAe,eAAoC,CAAC;AACjE,eAAO,MAAM,MAAM,eAA2B,CAAC;AAC/C,eAAO,MAAM,iBAAiB,eAAsC,CAAC;AACrE,gBAAgB;AAChB,eAAO,MAAM,UAAU,eAA+B,CAAC;AACvD,eAAO,MAAM,cAAc,eAAmC,CAAC"}
1
+ {"version":3,"file":"Symbols.d.ts","sourceRoot":"","sources":["../../../src/internal/Symbols.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,eAAO,MAAM,yBAAyB,eAAmG,CAAC;AAM1I,eAAO,MAAM,MAAM,eAA2B,CAAC;AAC/C,eAAO,MAAM,kBAAkB,eAAuC,CAAC;AACvE,eAAO,MAAM,UAAU,eAA+B,CAAC;AACvD,eAAO,MAAM,QAAQ,eAA6B,CAAC;AACnD,eAAO,MAAM,IAAI,eAAyB,CAAC;AAC3C,gBAAgB;AAChB,eAAO,MAAM,YAAY,eAAiC,CAAC;AAC3D,gBAAgB;AAChB,eAAO,MAAM,SAAS,eAA8B,CAAC;AACrD,eAAO,MAAM,gBAAgB,eAAqC,CAAC;AACnE,eAAO,MAAM,cAAc,eAAmC,CAAC;AAC/D,gBAAgB;AAChB,eAAO,MAAM,UAAU,eAA+B,CAAC;AACvD,eAAO,MAAM,aAAa,eAAkC,CAAC;AAC7D,eAAO,MAAM,aAAa,eAAkC,CAAC;AAC7D,eAAO,MAAM,eAAe,eAAoC,CAAC;AACjE,eAAO,MAAM,MAAM,eAA2B,CAAC;AAC/C,eAAO,MAAM,iBAAiB,eAAsC,CAAC;AACrE,gBAAgB;AAChB,eAAO,MAAM,UAAU,eAA+B,CAAC;AACvD,eAAO,MAAM,cAAc,eAAmC,CAAC;AAC/D,eAAO,MAAM,wBAAwB,eAA6C,CAAC"}
@@ -30,4 +30,5 @@ export const _instanceKeyCache = Symbol.for(sym("instanceKeyCache"));
30
30
  /** @internal */
31
31
  export const _activeTxn = Symbol.for(sym("activeTxn"));
32
32
  export const _resetIModelDb = Symbol.for(sym("resetIModelDb"));
33
+ export const _onReservedElementInsert = Symbol.for(sym("onReservedElementInsert"));
33
34
  //# sourceMappingURL=Symbols.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Symbols.js","sourceRoot":"","sources":["../../../src/internal/Symbols.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAC;AAE1I,SAAS,GAAG,CAAC,IAAY;IACvB,OAAO,GAAG,IAAI,wCAAwC,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/C,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3C,gBAAgB;AAChB,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;AAC3D,gBAAgB;AAChB,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AAC/D,gBAAgB;AAChB,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;AACrE,gBAAgB;AAChB,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Workspace\r\n */\r\n\r\nexport const _implementationProhibited = Symbol.for(\"Implementations of this interface can only be obtained from the containing package\");\r\n\r\nfunction sym(name: string): string {\r\n return `${name}_core-backend_INTERNAL_ONLY_DO_NOT_USE`;\r\n}\r\n\r\nexport const _close = Symbol.for(sym(\"close\"));\r\nexport const _elementWasCreated = Symbol.for(sym(\"elementWasCreated\"));\r\nexport const _faceProps = Symbol.for(sym(\"faceProps\"));\r\nexport const _getData = Symbol.for(sym(\"getData\"));\r\nexport const _key = Symbol.for(sym(\"key\"));\r\n/** @internal */\r\nexport const _implicitTxn = Symbol.for(sym(\"implicitTxn\"));\r\n/** @internal */\r\nexport const _nativeDb = Symbol.for(sym(\"nativeDb\"));\r\nexport const _releaseAllLocks = Symbol.for(sym(\"releaseAllLocks\"));\r\nexport const _verifyChannel = Symbol.for(sym(\"verifyChannel\"));\r\n/** @internal */\r\nexport const _hubAccess = Symbol.for(sym(\"hubAccess\"));\r\nexport const _setHubAccess = Symbol.for(sym(\"setHubAccess\"));\r\nexport const _getHubAccess = Symbol.for(sym(\"getHubAccess\"));\r\nexport const _mockCheckpoint = Symbol.for(sym(\"mockCheckpoint\"));\r\nexport const _cache = Symbol.for(sym(\"cache\"));\r\nexport const _instanceKeyCache = Symbol.for(sym(\"instanceKeyCache\"));\r\n/** @internal */\r\nexport const _activeTxn = Symbol.for(sym(\"activeTxn\"));\r\nexport const _resetIModelDb = Symbol.for(sym(\"resetIModelDb\"));\r\n"]}
1
+ {"version":3,"file":"Symbols.js","sourceRoot":"","sources":["../../../src/internal/Symbols.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAC;AAE1I,SAAS,GAAG,CAAC,IAAY;IACvB,OAAO,GAAG,IAAI,wCAAwC,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/C,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3C,gBAAgB;AAChB,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;AAC3D,gBAAgB;AAChB,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AAC/D,gBAAgB;AAChB,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;AACrE,gBAAgB;AAChB,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Workspace\r\n */\r\n\r\nexport const _implementationProhibited = Symbol.for(\"Implementations of this interface can only be obtained from the containing package\");\r\n\r\nfunction sym(name: string): string {\r\n return `${name}_core-backend_INTERNAL_ONLY_DO_NOT_USE`;\r\n}\r\n\r\nexport const _close = Symbol.for(sym(\"close\"));\r\nexport const _elementWasCreated = Symbol.for(sym(\"elementWasCreated\"));\r\nexport const _faceProps = Symbol.for(sym(\"faceProps\"));\r\nexport const _getData = Symbol.for(sym(\"getData\"));\r\nexport const _key = Symbol.for(sym(\"key\"));\r\n/** @internal */\r\nexport const _implicitTxn = Symbol.for(sym(\"implicitTxn\"));\r\n/** @internal */\r\nexport const _nativeDb = Symbol.for(sym(\"nativeDb\"));\r\nexport const _releaseAllLocks = Symbol.for(sym(\"releaseAllLocks\"));\r\nexport const _verifyChannel = Symbol.for(sym(\"verifyChannel\"));\r\n/** @internal */\r\nexport const _hubAccess = Symbol.for(sym(\"hubAccess\"));\r\nexport const _setHubAccess = Symbol.for(sym(\"setHubAccess\"));\r\nexport const _getHubAccess = Symbol.for(sym(\"getHubAccess\"));\r\nexport const _mockCheckpoint = Symbol.for(sym(\"mockCheckpoint\"));\r\nexport const _cache = Symbol.for(sym(\"cache\"));\r\nexport const _instanceKeyCache = Symbol.for(sym(\"instanceKeyCache\"));\r\n/** @internal */\r\nexport const _activeTxn = Symbol.for(sym(\"activeTxn\"));\r\nexport const _resetIModelDb = Symbol.for(sym(\"resetIModelDb\"));\r\nexport const _onReservedElementInsert = Symbol.for(sym(\"onReservedElementInsert\"));\r\n"]}
@@ -104,7 +104,7 @@ export declare class IModelTestUtils {
104
104
  /** Prepare for an output file by:
105
105
  * - Resolving the output file name under the known test output directory
106
106
  * - Making directories as necessary
107
- * - Removing a previous copy of the output file
107
+ * - Removing a previous copy of the output file, along with -wal, -shm, and -journal files if they exist.
108
108
  * @param subDirName Sub-directory under known test output directory. Should match the name of the test file minus the .test.ts file extension.
109
109
  * @param fileName Name of output fille
110
110
  */
@@ -1 +1 @@
1
- {"version":3,"file":"IModelTestUtils.d.ts","sourceRoot":"","sources":["../../../src/test/IModelTestUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IModelTestUtils.d.ts","sourceRoot":"","sources":["../../../src/test/IModelTestUtils.ts"],"names":[],"mappings":"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"}
@@ -251,7 +251,7 @@ export class IModelTestUtils {
251
251
  /** Prepare for an output file by:
252
252
  * - Resolving the output file name under the known test output directory
253
253
  * - Making directories as necessary
254
- * - Removing a previous copy of the output file
254
+ * - Removing a previous copy of the output file, along with -wal, -shm, and -journal files if they exist.
255
255
  * @param subDirName Sub-directory under known test output directory. Should match the name of the test file minus the .test.ts file extension.
256
256
  * @param fileName Name of output fille
257
257
  */
@@ -262,8 +262,13 @@ export class IModelTestUtils {
262
262
  if (!IModelJsFs.existsSync(outputDir))
263
263
  IModelJsFs.mkdirSync(outputDir);
264
264
  const outputFile = path.join(outputDir, fileName);
265
- if (IModelJsFs.existsSync(outputFile))
266
- IModelJsFs.unlinkSync(outputFile);
265
+ // Remove the db and any SQLite sidecar files. A stale -wal left by a previous run would be
266
+ // replayed against the newly created db and reported as BE_SQLITE_CORRUPT.
267
+ for (const suffix of ["", "-wal", "-shm", "-journal"]) {
268
+ const file = `${outputFile}${suffix}`;
269
+ if (IModelJsFs.existsSync(file))
270
+ IModelJsFs.unlinkSync(file);
271
+ }
267
272
  return outputFile;
268
273
  }
269
274
  /** Resolve an asset file path from the asset name by looking in the known assets directory */