@itwin/core-backend 5.9.0-dev.4 → 5.9.0-dev.6

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 (658) hide show
  1. package/lib/cjs/BackendHubAccess.js.map +1 -1
  2. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  3. package/lib/cjs/BisCoreSchema.js.map +1 -1
  4. package/lib/cjs/BlobContainerService.js.map +1 -1
  5. package/lib/cjs/BriefcaseManager.js +3 -3
  6. package/lib/cjs/BriefcaseManager.js.map +1 -1
  7. package/lib/cjs/CatalogDb.js.map +1 -1
  8. package/lib/cjs/Category.d.ts +37 -7
  9. package/lib/cjs/Category.d.ts.map +1 -1
  10. package/lib/cjs/Category.js +33 -42
  11. package/lib/cjs/Category.js.map +1 -1
  12. package/lib/cjs/ChangeSummaryManager.js +2 -2
  13. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  14. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  15. package/lib/cjs/ChangesetECAdaptor.d.ts.map +1 -1
  16. package/lib/cjs/ChangesetECAdaptor.js +253 -250
  17. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  18. package/lib/cjs/ChannelControl.d.ts +29 -0
  19. package/lib/cjs/ChannelControl.d.ts.map +1 -1
  20. package/lib/cjs/ChannelControl.js.map +1 -1
  21. package/lib/cjs/CheckpointManager.js +1 -1
  22. package/lib/cjs/CheckpointManager.js.map +1 -1
  23. package/lib/cjs/ClassRegistry.js +5 -5
  24. package/lib/cjs/ClassRegistry.js.map +1 -1
  25. package/lib/cjs/CloudSqlite.js.map +1 -1
  26. package/lib/cjs/CodeService.js.map +1 -1
  27. package/lib/cjs/CodeSpecs.d.ts +32 -3
  28. package/lib/cjs/CodeSpecs.d.ts.map +1 -1
  29. package/lib/cjs/CodeSpecs.js +48 -20
  30. package/lib/cjs/CodeSpecs.js.map +1 -1
  31. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  32. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  33. package/lib/cjs/DevTools.js.map +1 -1
  34. package/lib/cjs/DisplayStyle.d.ts +18 -3
  35. package/lib/cjs/DisplayStyle.d.ts.map +1 -1
  36. package/lib/cjs/DisplayStyle.js +10 -21
  37. package/lib/cjs/DisplayStyle.js.map +1 -1
  38. package/lib/cjs/ECDb.js.map +1 -1
  39. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  40. package/lib/cjs/ECSqlRowExecutor.js.map +1 -1
  41. package/lib/cjs/ECSqlStatement.js.map +1 -1
  42. package/lib/cjs/ECSqlSyncReader.js.map +1 -1
  43. package/lib/cjs/EditTxn.d.ts +262 -0
  44. package/lib/cjs/EditTxn.d.ts.map +1 -0
  45. package/lib/cjs/EditTxn.js +548 -0
  46. package/lib/cjs/EditTxn.js.map +1 -0
  47. package/lib/cjs/Element.d.ts +74 -5
  48. package/lib/cjs/Element.d.ts.map +1 -1
  49. package/lib/cjs/Element.js +63 -75
  50. package/lib/cjs/Element.js.map +1 -1
  51. package/lib/cjs/ElementAspect.d.ts +10 -0
  52. package/lib/cjs/ElementAspect.d.ts.map +1 -1
  53. package/lib/cjs/ElementAspect.js +21 -12
  54. package/lib/cjs/ElementAspect.js.map +1 -1
  55. package/lib/cjs/ElementGraphics.js.map +1 -1
  56. package/lib/cjs/ElementTreeWalker.d.ts +56 -3
  57. package/lib/cjs/ElementTreeWalker.d.ts.map +1 -1
  58. package/lib/cjs/ElementTreeWalker.js +53 -40
  59. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  60. package/lib/cjs/Entity.js.map +1 -1
  61. package/lib/cjs/EntityReferences.js.map +1 -1
  62. package/lib/cjs/ExportGraphics.js.map +1 -1
  63. package/lib/cjs/ExternalSource.d.ts +11 -2
  64. package/lib/cjs/ExternalSource.d.ts.map +1 -1
  65. package/lib/cjs/ExternalSource.js +10 -8
  66. package/lib/cjs/ExternalSource.js.map +1 -1
  67. package/lib/cjs/FontFile.js.map +1 -1
  68. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  69. package/lib/cjs/GeographicCRSServices.js.map +1 -1
  70. package/lib/cjs/GeometrySummary.js +47 -47
  71. package/lib/cjs/GeometrySummary.js.map +1 -1
  72. package/lib/cjs/IModelDb.d.ts +66 -22
  73. package/lib/cjs/IModelDb.d.ts.map +1 -1
  74. package/lib/cjs/IModelDb.js +182 -296
  75. package/lib/cjs/IModelDb.js.map +1 -1
  76. package/lib/cjs/IModelDbFonts.js.map +1 -1
  77. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  78. package/lib/cjs/IModelHost.d.ts +22 -0
  79. package/lib/cjs/IModelHost.d.ts.map +1 -1
  80. package/lib/cjs/IModelHost.js +9 -0
  81. package/lib/cjs/IModelHost.js.map +1 -1
  82. package/lib/cjs/IModelIncrementalSchemaLocater.js.map +1 -1
  83. package/lib/cjs/IModelJsFs.js.map +1 -1
  84. package/lib/cjs/ImageSourceConversion.js.map +1 -1
  85. package/lib/cjs/IpcHost.js +2 -2
  86. package/lib/cjs/IpcHost.js.map +1 -1
  87. package/lib/cjs/LineStyle.d.ts +47 -7
  88. package/lib/cjs/LineStyle.d.ts.map +1 -1
  89. package/lib/cjs/LineStyle.js +38 -33
  90. package/lib/cjs/LineStyle.js.map +1 -1
  91. package/lib/cjs/LocalHub.js +1 -1
  92. package/lib/cjs/LocalHub.js.map +1 -1
  93. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  94. package/lib/cjs/LockControl.js.map +1 -1
  95. package/lib/cjs/Material.d.ts +8 -1
  96. package/lib/cjs/Material.d.ts.map +1 -1
  97. package/lib/cjs/Material.js +6 -12
  98. package/lib/cjs/Material.js.map +1 -1
  99. package/lib/cjs/Model.d.ts +59 -20
  100. package/lib/cjs/Model.d.ts.map +1 -1
  101. package/lib/cjs/Model.js +38 -80
  102. package/lib/cjs/Model.js.map +1 -1
  103. package/lib/cjs/NativeAppStorage.js.map +1 -1
  104. package/lib/cjs/NativeHost.js.map +1 -1
  105. package/lib/cjs/NavigationRelationship.js.map +1 -1
  106. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  107. package/lib/cjs/PropertyStore.js.map +1 -1
  108. package/lib/cjs/Relationship.d.ts +72 -7
  109. package/lib/cjs/Relationship.d.ts.map +1 -1
  110. package/lib/cjs/Relationship.js +39 -21
  111. package/lib/cjs/Relationship.js.map +1 -1
  112. package/lib/cjs/RpcBackend.js.map +1 -1
  113. package/lib/cjs/SQLiteDb.js.map +1 -1
  114. package/lib/cjs/Schema.js.map +1 -1
  115. package/lib/cjs/SchemaSync.js +4 -4
  116. package/lib/cjs/SchemaSync.js.map +1 -1
  117. package/lib/cjs/SchemaUtils.js.map +1 -1
  118. package/lib/cjs/SheetIndex.d.ts +9 -0
  119. package/lib/cjs/SheetIndex.d.ts.map +1 -1
  120. package/lib/cjs/SheetIndex.js +38 -35
  121. package/lib/cjs/SheetIndex.js.map +1 -1
  122. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  123. package/lib/cjs/SqliteStatement.js.map +1 -1
  124. package/lib/cjs/StashManager.js +1 -1
  125. package/lib/cjs/StashManager.js.map +1 -1
  126. package/lib/cjs/Texture.d.ts +6 -0
  127. package/lib/cjs/Texture.d.ts.map +1 -1
  128. package/lib/cjs/Texture.js +6 -14
  129. package/lib/cjs/Texture.js.map +1 -1
  130. package/lib/cjs/TileStorage.js.map +1 -1
  131. package/lib/cjs/TxnManager.d.ts +5 -5
  132. package/lib/cjs/TxnManager.d.ts.map +1 -1
  133. package/lib/cjs/TxnManager.js +23 -7
  134. package/lib/cjs/TxnManager.js.map +1 -1
  135. package/lib/cjs/ViewDefinition.d.ts +21 -1
  136. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  137. package/lib/cjs/ViewDefinition.js +27 -66
  138. package/lib/cjs/ViewDefinition.js.map +1 -1
  139. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  140. package/lib/cjs/ViewStore.js.map +1 -1
  141. package/lib/cjs/annotations/ElementDrivesTextAnnotation.d.ts +14 -6
  142. package/lib/cjs/annotations/ElementDrivesTextAnnotation.d.ts.map +1 -1
  143. package/lib/cjs/annotations/ElementDrivesTextAnnotation.js +33 -27
  144. package/lib/cjs/annotations/ElementDrivesTextAnnotation.js.map +1 -1
  145. package/lib/cjs/annotations/FrameGeometry.js.map +1 -1
  146. package/lib/cjs/annotations/LeaderGeometry.js.map +1 -1
  147. package/lib/cjs/annotations/TextAnnotationElement.d.ts.map +1 -1
  148. package/lib/cjs/annotations/TextAnnotationElement.js +6 -5
  149. package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -1
  150. package/lib/cjs/annotations/TextAnnotationGeometry.js.map +1 -1
  151. package/lib/cjs/annotations/TextBlockGeometry.js.map +1 -1
  152. package/lib/cjs/annotations/TextBlockLayout.js.map +1 -1
  153. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  154. package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
  155. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
  156. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
  157. package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
  158. package/lib/cjs/core-backend.d.ts +1 -0
  159. package/lib/cjs/core-backend.d.ts.map +1 -1
  160. package/lib/cjs/core-backend.js +1 -0
  161. package/lib/cjs/core-backend.js.map +1 -1
  162. package/lib/cjs/domains/FunctionalElements.d.ts +6 -2
  163. package/lib/cjs/domains/FunctionalElements.d.ts.map +1 -1
  164. package/lib/cjs/domains/FunctionalElements.js +8 -13
  165. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  166. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  167. package/lib/cjs/domains/GenericElements.d.ts +11 -4
  168. package/lib/cjs/domains/GenericElements.d.ts.map +1 -1
  169. package/lib/cjs/domains/GenericElements.js +13 -24
  170. package/lib/cjs/domains/GenericElements.js.map +1 -1
  171. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  172. package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
  173. package/lib/cjs/internal/ChannelAdmin.d.ts +15 -0
  174. package/lib/cjs/internal/ChannelAdmin.d.ts.map +1 -1
  175. package/lib/cjs/internal/ChannelAdmin.js +5 -3
  176. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  177. package/lib/cjs/internal/ElementLRUCache.js.map +1 -1
  178. package/lib/cjs/internal/FontFileImpl.js.map +1 -1
  179. package/lib/cjs/internal/HubMock.js.map +1 -1
  180. package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -1
  181. package/lib/cjs/internal/IntegrityCheck.js.map +1 -1
  182. package/lib/cjs/internal/NativePlatform.js.map +1 -1
  183. package/lib/cjs/internal/NoLocks.js.map +1 -1
  184. package/lib/cjs/internal/OnlineStatus.js.map +1 -1
  185. package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
  186. package/lib/cjs/internal/Symbols.d.ts +4 -0
  187. package/lib/cjs/internal/Symbols.d.ts.map +1 -1
  188. package/lib/cjs/internal/Symbols.js +5 -1
  189. package/lib/cjs/internal/Symbols.js.map +1 -1
  190. package/lib/cjs/internal/annotations/fields.d.ts +3 -2
  191. package/lib/cjs/internal/annotations/fields.d.ts.map +1 -1
  192. package/lib/cjs/internal/annotations/fields.js +7 -6
  193. package/lib/cjs/internal/annotations/fields.js.map +1 -1
  194. package/lib/cjs/internal/cross-package.js.map +1 -1
  195. package/lib/cjs/internal/workspace/SettingsEditorImpl.js.map +1 -1
  196. package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
  197. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  198. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  199. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  200. package/lib/cjs/rpc/multipart.js.map +1 -1
  201. package/lib/cjs/rpc/tracing.js.map +1 -1
  202. package/lib/cjs/rpc/web/logging.js.map +1 -1
  203. package/lib/cjs/rpc/web/request.js.map +1 -1
  204. package/lib/cjs/rpc/web/response.js.map +1 -1
  205. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  206. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  207. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  208. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -1
  209. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  210. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  211. package/lib/cjs/workspace/Settings.js.map +1 -1
  212. package/lib/cjs/workspace/SettingsDb.js.map +1 -1
  213. package/lib/cjs/workspace/SettingsEditor.js.map +1 -1
  214. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  215. package/lib/cjs/workspace/Workspace.js.map +1 -1
  216. package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
  217. package/lib/esm/BackendHubAccess.js.map +1 -1
  218. package/lib/esm/BackendLoggerCategory.js.map +1 -1
  219. package/lib/esm/BisCoreSchema.js.map +1 -1
  220. package/lib/esm/BlobContainerService.js.map +1 -1
  221. package/lib/esm/BriefcaseManager.js +3 -3
  222. package/lib/esm/BriefcaseManager.js.map +1 -1
  223. package/lib/esm/CatalogDb.js.map +1 -1
  224. package/lib/esm/Category.d.ts +37 -7
  225. package/lib/esm/Category.d.ts.map +1 -1
  226. package/lib/esm/Category.js +33 -42
  227. package/lib/esm/Category.js.map +1 -1
  228. package/lib/esm/ChangeSummaryManager.js +2 -2
  229. package/lib/esm/ChangeSummaryManager.js.map +1 -1
  230. package/lib/esm/ChangedElementsDb.js.map +1 -1
  231. package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -1
  232. package/lib/esm/ChangesetECAdaptor.js +253 -250
  233. package/lib/esm/ChangesetECAdaptor.js.map +1 -1
  234. package/lib/esm/ChannelControl.d.ts +29 -0
  235. package/lib/esm/ChannelControl.d.ts.map +1 -1
  236. package/lib/esm/ChannelControl.js.map +1 -1
  237. package/lib/esm/CheckpointManager.js +1 -1
  238. package/lib/esm/CheckpointManager.js.map +1 -1
  239. package/lib/esm/ClassRegistry.js +5 -5
  240. package/lib/esm/ClassRegistry.js.map +1 -1
  241. package/lib/esm/CloudSqlite.js.map +1 -1
  242. package/lib/esm/CodeService.js.map +1 -1
  243. package/lib/esm/CodeSpecs.d.ts +32 -3
  244. package/lib/esm/CodeSpecs.d.ts.map +1 -1
  245. package/lib/esm/CodeSpecs.js +49 -21
  246. package/lib/esm/CodeSpecs.js.map +1 -1
  247. package/lib/esm/ConcurrentQuery.js.map +1 -1
  248. package/lib/esm/CustomViewState3dCreator.js.map +1 -1
  249. package/lib/esm/DevTools.js.map +1 -1
  250. package/lib/esm/DisplayStyle.d.ts +18 -3
  251. package/lib/esm/DisplayStyle.d.ts.map +1 -1
  252. package/lib/esm/DisplayStyle.js +10 -21
  253. package/lib/esm/DisplayStyle.js.map +1 -1
  254. package/lib/esm/ECDb.js.map +1 -1
  255. package/lib/esm/ECSchemaXmlContext.js.map +1 -1
  256. package/lib/esm/ECSqlRowExecutor.js.map +1 -1
  257. package/lib/esm/ECSqlStatement.js.map +1 -1
  258. package/lib/esm/ECSqlSyncReader.js.map +1 -1
  259. package/lib/esm/EditTxn.d.ts +262 -0
  260. package/lib/esm/EditTxn.d.ts.map +1 -0
  261. package/lib/esm/EditTxn.js +543 -0
  262. package/lib/esm/EditTxn.js.map +1 -0
  263. package/lib/esm/Element.d.ts +74 -5
  264. package/lib/esm/Element.d.ts.map +1 -1
  265. package/lib/esm/Element.js +64 -76
  266. package/lib/esm/Element.js.map +1 -1
  267. package/lib/esm/ElementAspect.d.ts +10 -0
  268. package/lib/esm/ElementAspect.d.ts.map +1 -1
  269. package/lib/esm/ElementAspect.js +22 -13
  270. package/lib/esm/ElementAspect.js.map +1 -1
  271. package/lib/esm/ElementGraphics.js.map +1 -1
  272. package/lib/esm/ElementTreeWalker.d.ts +56 -3
  273. package/lib/esm/ElementTreeWalker.d.ts.map +1 -1
  274. package/lib/esm/ElementTreeWalker.js +53 -40
  275. package/lib/esm/ElementTreeWalker.js.map +1 -1
  276. package/lib/esm/Entity.js.map +1 -1
  277. package/lib/esm/EntityReferences.js.map +1 -1
  278. package/lib/esm/ExportGraphics.js.map +1 -1
  279. package/lib/esm/ExternalSource.d.ts +11 -2
  280. package/lib/esm/ExternalSource.d.ts.map +1 -1
  281. package/lib/esm/ExternalSource.js +10 -8
  282. package/lib/esm/ExternalSource.js.map +1 -1
  283. package/lib/esm/FontFile.js.map +1 -1
  284. package/lib/esm/GeoCoordConfig.js.map +1 -1
  285. package/lib/esm/GeographicCRSServices.js.map +1 -1
  286. package/lib/esm/GeometrySummary.js +47 -47
  287. package/lib/esm/GeometrySummary.js.map +1 -1
  288. package/lib/esm/IModelDb.d.ts +66 -22
  289. package/lib/esm/IModelDb.d.ts.map +1 -1
  290. package/lib/esm/IModelDb.js +184 -298
  291. package/lib/esm/IModelDb.js.map +1 -1
  292. package/lib/esm/IModelDbFonts.js.map +1 -1
  293. package/lib/esm/IModelElementCloneContext.js.map +1 -1
  294. package/lib/esm/IModelHost.d.ts +22 -0
  295. package/lib/esm/IModelHost.d.ts.map +1 -1
  296. package/lib/esm/IModelHost.js +9 -0
  297. package/lib/esm/IModelHost.js.map +1 -1
  298. package/lib/esm/IModelIncrementalSchemaLocater.js.map +1 -1
  299. package/lib/esm/IModelJsFs.js.map +1 -1
  300. package/lib/esm/ImageSourceConversion.js.map +1 -1
  301. package/lib/esm/IpcHost.js +3 -3
  302. package/lib/esm/IpcHost.js.map +1 -1
  303. package/lib/esm/LineStyle.d.ts +47 -7
  304. package/lib/esm/LineStyle.d.ts.map +1 -1
  305. package/lib/esm/LineStyle.js +38 -33
  306. package/lib/esm/LineStyle.js.map +1 -1
  307. package/lib/esm/LocalHub.js +1 -1
  308. package/lib/esm/LocalHub.js.map +1 -1
  309. package/lib/esm/LocalhostIpcHost.js.map +1 -1
  310. package/lib/esm/LockControl.js.map +1 -1
  311. package/lib/esm/Material.d.ts +8 -1
  312. package/lib/esm/Material.d.ts.map +1 -1
  313. package/lib/esm/Material.js +6 -12
  314. package/lib/esm/Material.js.map +1 -1
  315. package/lib/esm/Model.d.ts +59 -20
  316. package/lib/esm/Model.d.ts.map +1 -1
  317. package/lib/esm/Model.js +39 -81
  318. package/lib/esm/Model.js.map +1 -1
  319. package/lib/esm/NativeAppStorage.js.map +1 -1
  320. package/lib/esm/NativeHost.js.map +1 -1
  321. package/lib/esm/NavigationRelationship.js.map +1 -1
  322. package/lib/esm/PromiseMemoizer.js.map +1 -1
  323. package/lib/esm/PropertyStore.js.map +1 -1
  324. package/lib/esm/Relationship.d.ts +72 -7
  325. package/lib/esm/Relationship.d.ts.map +1 -1
  326. package/lib/esm/Relationship.js +40 -22
  327. package/lib/esm/Relationship.js.map +1 -1
  328. package/lib/esm/RpcBackend.js.map +1 -1
  329. package/lib/esm/SQLiteDb.js.map +1 -1
  330. package/lib/esm/Schema.js.map +1 -1
  331. package/lib/esm/SchemaSync.js +5 -5
  332. package/lib/esm/SchemaSync.js.map +1 -1
  333. package/lib/esm/SchemaUtils.js.map +1 -1
  334. package/lib/esm/SheetIndex.d.ts +9 -0
  335. package/lib/esm/SheetIndex.d.ts.map +1 -1
  336. package/lib/esm/SheetIndex.js +38 -35
  337. package/lib/esm/SheetIndex.js.map +1 -1
  338. package/lib/esm/SqliteChangesetReader.js.map +1 -1
  339. package/lib/esm/SqliteStatement.js.map +1 -1
  340. package/lib/esm/StashManager.js +1 -1
  341. package/lib/esm/StashManager.js.map +1 -1
  342. package/lib/esm/Texture.d.ts +6 -0
  343. package/lib/esm/Texture.d.ts.map +1 -1
  344. package/lib/esm/Texture.js +6 -14
  345. package/lib/esm/Texture.js.map +1 -1
  346. package/lib/esm/TileStorage.js.map +1 -1
  347. package/lib/esm/TxnManager.d.ts +5 -5
  348. package/lib/esm/TxnManager.d.ts.map +1 -1
  349. package/lib/esm/TxnManager.js +23 -7
  350. package/lib/esm/TxnManager.js.map +1 -1
  351. package/lib/esm/ViewDefinition.d.ts +21 -1
  352. package/lib/esm/ViewDefinition.d.ts.map +1 -1
  353. package/lib/esm/ViewDefinition.js +27 -66
  354. package/lib/esm/ViewDefinition.js.map +1 -1
  355. package/lib/esm/ViewStateHydrator.js.map +1 -1
  356. package/lib/esm/ViewStore.js.map +1 -1
  357. package/lib/esm/annotations/ElementDrivesTextAnnotation.d.ts +14 -6
  358. package/lib/esm/annotations/ElementDrivesTextAnnotation.d.ts.map +1 -1
  359. package/lib/esm/annotations/ElementDrivesTextAnnotation.js +33 -27
  360. package/lib/esm/annotations/ElementDrivesTextAnnotation.js.map +1 -1
  361. package/lib/esm/annotations/FrameGeometry.js.map +1 -1
  362. package/lib/esm/annotations/LeaderGeometry.js.map +1 -1
  363. package/lib/esm/annotations/TextAnnotationElement.d.ts.map +1 -1
  364. package/lib/esm/annotations/TextAnnotationElement.js +6 -5
  365. package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
  366. package/lib/esm/annotations/TextAnnotationGeometry.js.map +1 -1
  367. package/lib/esm/annotations/TextBlockGeometry.js.map +1 -1
  368. package/lib/esm/annotations/TextBlockLayout.js.map +1 -1
  369. package/lib/esm/core-backend.d.ts +1 -0
  370. package/lib/esm/core-backend.d.ts.map +1 -1
  371. package/lib/esm/core-backend.js +1 -0
  372. package/lib/esm/core-backend.js.map +1 -1
  373. package/lib/esm/domains/FunctionalElements.d.ts +6 -2
  374. package/lib/esm/domains/FunctionalElements.d.ts.map +1 -1
  375. package/lib/esm/domains/FunctionalElements.js +8 -13
  376. package/lib/esm/domains/FunctionalElements.js.map +1 -1
  377. package/lib/esm/domains/FunctionalSchema.js.map +1 -1
  378. package/lib/esm/domains/GenericElements.d.ts +11 -4
  379. package/lib/esm/domains/GenericElements.d.ts.map +1 -1
  380. package/lib/esm/domains/GenericElements.js +13 -24
  381. package/lib/esm/domains/GenericElements.js.map +1 -1
  382. package/lib/esm/domains/GenericSchema.js.map +1 -1
  383. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
  384. package/lib/esm/internal/ChannelAdmin.d.ts +15 -0
  385. package/lib/esm/internal/ChannelAdmin.d.ts.map +1 -1
  386. package/lib/esm/internal/ChannelAdmin.js +6 -4
  387. package/lib/esm/internal/ChannelAdmin.js.map +1 -1
  388. package/lib/esm/internal/ElementLRUCache.js.map +1 -1
  389. package/lib/esm/internal/FontFileImpl.js.map +1 -1
  390. package/lib/esm/internal/HubMock.js.map +1 -1
  391. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -1
  392. package/lib/esm/internal/IntegrityCheck.js.map +1 -1
  393. package/lib/esm/internal/NativePlatform.js.map +1 -1
  394. package/lib/esm/internal/NoLocks.js.map +1 -1
  395. package/lib/esm/internal/OnlineStatus.js.map +1 -1
  396. package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
  397. package/lib/esm/internal/Symbols.d.ts +4 -0
  398. package/lib/esm/internal/Symbols.d.ts.map +1 -1
  399. package/lib/esm/internal/Symbols.js +4 -0
  400. package/lib/esm/internal/Symbols.js.map +1 -1
  401. package/lib/esm/internal/annotations/fields.d.ts +3 -2
  402. package/lib/esm/internal/annotations/fields.d.ts.map +1 -1
  403. package/lib/esm/internal/annotations/fields.js +7 -6
  404. package/lib/esm/internal/annotations/fields.js.map +1 -1
  405. package/lib/esm/internal/cross-package.js.map +1 -1
  406. package/lib/esm/internal/workspace/SettingsEditorImpl.js.map +1 -1
  407. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -1
  408. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  409. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
  410. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  411. package/lib/esm/rpc/multipart.js.map +1 -1
  412. package/lib/esm/rpc/tracing.js.map +1 -1
  413. package/lib/esm/rpc/web/logging.js.map +1 -1
  414. package/lib/esm/rpc/web/request.js.map +1 -1
  415. package/lib/esm/rpc/web/response.js.map +1 -1
  416. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  417. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  418. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  419. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -1
  420. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  421. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  422. package/lib/esm/test/AdvancedEqual.js.map +1 -1
  423. package/lib/esm/test/AnnotationTestUtils.js.map +1 -1
  424. package/lib/esm/test/AttachDb.test.js +11 -11
  425. package/lib/esm/test/AttachDb.test.js.map +1 -1
  426. package/lib/esm/test/ElementDrivesElement.test.d.ts +20 -19
  427. package/lib/esm/test/ElementDrivesElement.test.d.ts.map +1 -1
  428. package/lib/esm/test/ElementDrivesElement.test.js +134 -119
  429. package/lib/esm/test/ElementDrivesElement.test.js.map +1 -1
  430. package/lib/esm/test/ElementLRUCache.test.js.map +1 -1
  431. package/lib/esm/test/GeometryTestUtil.js.map +1 -1
  432. package/lib/esm/test/IModelHost.test.js +56 -2
  433. package/lib/esm/test/IModelHost.test.js.map +1 -1
  434. package/lib/esm/test/IModelTestUtils.d.ts +23 -23
  435. package/lib/esm/test/IModelTestUtils.d.ts.map +1 -1
  436. package/lib/esm/test/IModelTestUtils.js +466 -449
  437. package/lib/esm/test/IModelTestUtils.js.map +1 -1
  438. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -1
  439. package/lib/esm/test/IpcHost.test.js.map +1 -1
  440. package/lib/esm/test/KnownTestLocations.js.map +1 -1
  441. package/lib/esm/test/PrintElementTree.js.map +1 -1
  442. package/lib/esm/test/PropertyDb.test.js +2 -2
  443. package/lib/esm/test/PropertyDb.test.js.map +1 -1
  444. package/lib/esm/test/RevisionUtility.js.map +1 -1
  445. package/lib/esm/test/SchemaUtils.test.js +25 -25
  446. package/lib/esm/test/SchemaUtils.test.js.map +1 -1
  447. package/lib/esm/test/SequentialLogMatcher.js.map +1 -1
  448. package/lib/esm/test/SquashSchemaAndDataChanges.test.js +156 -147
  449. package/lib/esm/test/SquashSchemaAndDataChanges.test.js.map +1 -1
  450. package/lib/esm/test/TestChangeSetUtility.d.ts.map +1 -1
  451. package/lib/esm/test/TestChangeSetUtility.js +11 -7
  452. package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
  453. package/lib/esm/test/TestEditTxn.d.ts +8 -0
  454. package/lib/esm/test/TestEditTxn.d.ts.map +1 -0
  455. package/lib/esm/test/TestEditTxn.js +34 -0
  456. package/lib/esm/test/TestEditTxn.js.map +1 -0
  457. package/lib/esm/test/TestUtils.d.ts +1 -0
  458. package/lib/esm/test/TestUtils.d.ts.map +1 -1
  459. package/lib/esm/test/TestUtils.js +8 -1
  460. package/lib/esm/test/TestUtils.js.map +1 -1
  461. package/lib/esm/test/annotations/Fields.test.js +135 -143
  462. package/lib/esm/test/annotations/Fields.test.js.map +1 -1
  463. package/lib/esm/test/annotations/FrameGeometry.test.js.map +1 -1
  464. package/lib/esm/test/annotations/LeaderGeometry.test.js.map +1 -1
  465. package/lib/esm/test/annotations/TextAnnotation.test.js +156 -99
  466. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
  467. package/lib/esm/test/annotations/TextBlock.test.js +5 -3
  468. package/lib/esm/test/annotations/TextBlock.test.js.map +1 -1
  469. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/old.config.js.map +1 -1
  470. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js.map +1 -1
  471. package/lib/esm/test/categories/Category.test.js +63 -3
  472. package/lib/esm/test/categories/Category.test.js.map +1 -1
  473. package/lib/esm/test/codespec/CodeSpec.test.js +88 -5
  474. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -1
  475. package/lib/esm/test/ecdb/CTE.test.js +88 -88
  476. package/lib/esm/test/ecdb/CTE.test.js.map +1 -1
  477. package/lib/esm/test/ecdb/ConcurrentQuery.test.js +19 -19
  478. package/lib/esm/test/ecdb/ConcurrentQuery.test.js.map +1 -1
  479. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +15 -15
  480. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -1
  481. package/lib/esm/test/ecdb/ECDb.test.js +72 -72
  482. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -1
  483. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -1
  484. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -1
  485. package/lib/esm/test/ecdb/ECSqlAst.test.js +68 -67
  486. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
  487. package/lib/esm/test/ecdb/ECSqlQuery.test.js +6 -6
  488. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
  489. package/lib/esm/test/ecdb/ECSqlStatement.test.js +332 -333
  490. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
  491. package/lib/esm/test/ecdb/ECSqlSyncReader.test.js.map +1 -1
  492. package/lib/esm/test/ecdb/QueryReaders.test.js +47 -44
  493. package/lib/esm/test/ecdb/QueryReaders.test.js.map +1 -1
  494. package/lib/esm/test/ecdb/SqliteStatement.test.js +2 -2
  495. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
  496. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts.map +1 -1
  497. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js +30 -28
  498. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -1
  499. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +21 -21
  500. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -1
  501. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -1
  502. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
  503. package/lib/esm/test/element/DeleteDefinitionElements.test.js +159 -143
  504. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
  505. package/lib/esm/test/element/ElementAspect.test.js +90 -82
  506. package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
  507. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts.map +1 -1
  508. package/lib/esm/test/element/ElementDependencyGraph.test.js +51 -43
  509. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
  510. package/lib/esm/test/element/ElementRoundTrip.test.js +176 -177
  511. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
  512. package/lib/esm/test/element/ExcludedElements.test.js +2 -2
  513. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
  514. package/lib/esm/test/element/ExternalSource.test.js +40 -38
  515. package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
  516. package/lib/esm/test/element/NullStructArray.test.js +23 -22
  517. package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
  518. package/lib/esm/test/element/ProjectInformationRecord.test.js +5 -2
  519. package/lib/esm/test/element/ProjectInformationRecord.test.js.map +1 -1
  520. package/lib/esm/test/element/SheetInformationAspect.test.js +43 -11
  521. package/lib/esm/test/element/SheetInformationAspect.test.js.map +1 -1
  522. package/lib/esm/test/element/UrlLink.test.js +2 -2
  523. package/lib/esm/test/element/UrlLink.test.js.map +1 -1
  524. package/lib/esm/test/font/FontFile.test.js.map +1 -1
  525. package/lib/esm/test/font/IModelDbFonts.test.js +87 -73
  526. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
  527. package/lib/esm/test/hubaccess/ApplyChangeset.test.js +194 -155
  528. package/lib/esm/test/hubaccess/ApplyChangeset.test.js.map +1 -1
  529. package/lib/esm/test/hubaccess/BriefcaseManager.test.js +2 -4
  530. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
  531. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
  532. package/lib/esm/test/hubaccess/Rebase.test.js +369 -303
  533. package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -1
  534. package/lib/esm/test/hubaccess/SemanticRebase.test.js +467 -392
  535. package/lib/esm/test/hubaccess/SemanticRebase.test.js.map +1 -1
  536. package/lib/esm/test/imageData.js.map +1 -1
  537. package/lib/esm/test/imodel/Code.test.js +31 -31
  538. package/lib/esm/test/imodel/Code.test.js.map +1 -1
  539. package/lib/esm/test/imodel/ElementTreeWalker.test.js +57 -48
  540. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -1
  541. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -1
  542. package/lib/esm/test/imodel/IModel.test.js +463 -388
  543. package/lib/esm/test/imodel/IModel.test.js.map +1 -1
  544. package/lib/esm/test/imodel/ProjectExtents.test.js +2 -2
  545. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
  546. package/lib/esm/test/imodel/SchemaXmlImport.test.js +13 -13
  547. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
  548. package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js.map +1 -1
  549. package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js.map +1 -1
  550. package/lib/esm/test/incrementalSchemaLocater/TestContext.d.ts.map +1 -1
  551. package/lib/esm/test/incrementalSchemaLocater/TestContext.js +2 -2
  552. package/lib/esm/test/incrementalSchemaLocater/TestContext.js.map +1 -1
  553. package/lib/esm/test/index.d.ts +1 -0
  554. package/lib/esm/test/index.d.ts.map +1 -1
  555. package/lib/esm/test/index.js +1 -0
  556. package/lib/esm/test/index.js.map +1 -1
  557. package/lib/esm/test/misc/DevTools.test.js.map +1 -1
  558. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -1
  559. package/lib/esm/test/misc/GeoServices.test.js.map +1 -1
  560. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -1
  561. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -1
  562. package/lib/esm/test/rpc/response.test.js.map +1 -1
  563. package/lib/esm/test/schema/ClassRegistry.test.js +122 -121
  564. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
  565. package/lib/esm/test/schema/FunctionalDomain.test.js +36 -34
  566. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
  567. package/lib/esm/test/schema/GenericDomain.test.js +114 -94
  568. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
  569. package/lib/esm/test/schema/IModelSchemaContext.test.js +11 -10
  570. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
  571. package/lib/esm/test/schema/SchemaImportCallbacks.test.js +226 -211
  572. package/lib/esm/test/schema/SchemaImportCallbacks.test.js.map +1 -1
  573. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts +1 -3
  574. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts.map +1 -1
  575. package/lib/esm/test/sheetindex/SheetIndex.test.js +312 -247
  576. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
  577. package/lib/esm/test/standalone/ChangeMerge.test.js +101 -82
  578. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
  579. package/lib/esm/test/standalone/ChangesetReader.test.js +242 -213
  580. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
  581. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
  582. package/lib/esm/test/standalone/DisplayStyle.test.js +43 -40
  583. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -1
  584. package/lib/esm/test/standalone/Drawing.test.js +4 -3
  585. package/lib/esm/test/standalone/Drawing.test.js.map +1 -1
  586. package/lib/esm/test/standalone/EditTxn.test.d.ts +2 -0
  587. package/lib/esm/test/standalone/EditTxn.test.d.ts.map +1 -0
  588. package/lib/esm/test/standalone/EditTxn.test.js +219 -0
  589. package/lib/esm/test/standalone/EditTxn.test.js.map +1 -0
  590. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -1
  591. package/lib/esm/test/standalone/ElementMesh.test.js +16 -13
  592. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -1
  593. package/lib/esm/test/standalone/ExportGraphics.test.js +40 -34
  594. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
  595. package/lib/esm/test/standalone/GeometryChangeEvents.test.js +11 -15
  596. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -1
  597. package/lib/esm/test/standalone/GeometryStream.test.js +212 -165
  598. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
  599. package/lib/esm/test/standalone/HubMock.test.js +31 -25
  600. package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
  601. package/lib/esm/test/standalone/IModelLimits.test.js +11 -8
  602. package/lib/esm/test/standalone/IModelLimits.test.js.map +1 -1
  603. package/lib/esm/test/standalone/IModelWrite.test.d.ts +2 -2
  604. package/lib/esm/test/standalone/IModelWrite.test.d.ts.map +1 -1
  605. package/lib/esm/test/standalone/IModelWrite.test.js +211 -169
  606. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
  607. package/lib/esm/test/standalone/ITwinWorkspace.test.js.map +1 -1
  608. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js +25 -22
  609. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
  610. package/lib/esm/test/standalone/IntegrityCheck.test.js +20 -18
  611. package/lib/esm/test/standalone/IntegrityCheck.test.js.map +1 -1
  612. package/lib/esm/test/standalone/MergeConflict.test.d.ts +2 -2
  613. package/lib/esm/test/standalone/MergeConflict.test.d.ts.map +1 -1
  614. package/lib/esm/test/standalone/MergeConflict.test.js +49 -33
  615. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -1
  616. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -1
  617. package/lib/esm/test/standalone/RenderMaterialElement.test.js +5 -5
  618. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
  619. package/lib/esm/test/standalone/RenderTimeline.test.js +3 -2
  620. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
  621. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -1
  622. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -1
  623. package/lib/esm/test/standalone/SectionDrawing.test.js +7 -7
  624. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -1
  625. package/lib/esm/test/standalone/ServerBasedLocks.test.js +21 -19
  626. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -1
  627. package/lib/esm/test/standalone/Setting.test.js.map +1 -1
  628. package/lib/esm/test/standalone/Settings.test.js +7 -4
  629. package/lib/esm/test/standalone/Settings.test.js.map +1 -1
  630. package/lib/esm/test/standalone/SettingsSchemas.test.js +2 -1
  631. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -1
  632. package/lib/esm/test/standalone/SnapshotDb.test.js +3 -1
  633. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
  634. package/lib/esm/test/standalone/StandaloneDb.test.js +27 -26
  635. package/lib/esm/test/standalone/StandaloneDb.test.js.map +1 -1
  636. package/lib/esm/test/standalone/Texture.test.js +5 -4
  637. package/lib/esm/test/standalone/Texture.test.js.map +1 -1
  638. package/lib/esm/test/standalone/TileCache.test.d.ts.map +1 -1
  639. package/lib/esm/test/standalone/TileCache.test.js +5 -3
  640. package/lib/esm/test/standalone/TileCache.test.js.map +1 -1
  641. package/lib/esm/test/standalone/TileTree.test.js +35 -31
  642. package/lib/esm/test/standalone/TileTree.test.js.map +1 -1
  643. package/lib/esm/test/standalone/TxnManager.test.js +700 -653
  644. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
  645. package/lib/esm/test/standalone/ViewDefinition.test.js +295 -229
  646. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -1
  647. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -1
  648. package/lib/esm/test/standalone/Workspace.test.js +25 -23
  649. package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
  650. package/lib/esm/test/standalone/iModelDb.test.js.map +1 -1
  651. package/lib/esm/test/workspace/SettingsDb.test.js.map +1 -1
  652. package/lib/esm/workspace/Settings.js.map +1 -1
  653. package/lib/esm/workspace/SettingsDb.js.map +1 -1
  654. package/lib/esm/workspace/SettingsEditor.js.map +1 -1
  655. package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
  656. package/lib/esm/workspace/Workspace.js.map +1 -1
  657. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
  658. package/package.json +13 -13
@@ -1 +1 @@
1
- {"version":3,"file":"response.test.js","sourceRoot":"","sources":["../../../../src/test/rpc/response.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from \"chai\";\nimport { SinonStub, stub } from \"sinon\";\nimport { Readable, Writable } from \"stream\";\nimport { HttpServerRequest, HttpServerResponse, RpcRequestFulfillment, RpcRequestStatus, SerializedRpcRequest, WebAppRpcProtocol } from \"@itwin/core-common\";\nimport { sendResponse } from \"../../rpc/web/response\";\nimport { brotliDecompressSync, unzipSync } from \"node:zlib\";\n\n/* eslint-disable @typescript-eslint/no-deprecated */\n\nclass StubResponse extends Writable implements HttpServerResponse {\n public chunks: any[] = [];\n public get buffer(): Buffer { return Buffer.concat(this.chunks); }\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public override _write(chunk: any, _encoding: BufferEncoding, callback: VoidFunction): void {\n this.chunks.push(chunk);\n callback();\n }\n\n public send: SinonStub<any[], HttpServerResponse> = stub().returns(this);\n public status: SinonStub<[number], HttpServerResponse> = stub();\n public set: SinonStub<[string, string], void> = stub();\n}\n\ndescribe(\"sendResponse\", () => {\n let protocol: WebAppRpcProtocol;\n let request: SerializedRpcRequest;\n let fulfillment: RpcRequestFulfillment;\n let req: HttpServerRequest;\n let res: StubResponse;\n\n beforeEach(() => {\n protocol = { getStatus: () => RpcRequestStatus.Resolved } as any;\n request = { operation: { operationName: \"fake-RPC-operation\" } } as any;\n fulfillment = {\n allowCompression: true,\n status: 200,\n result: {\n data: [],\n },\n } as any;\n req = { header: () => \"gzip, deflate, br\" } as any;\n res = new StubResponse();\n });\n\n it(\"should compress response using Brotli\", async () => {\n // Arrange\n const originalData = generateJson();\n const originalDataSize = Buffer.byteLength(originalData);\n fulfillment.result.objects = originalData;\n\n // Act\n await sendResponse(protocol, request, fulfillment, req, res);\n\n // Assert\n expect(res.set.calledWithExactly(\"Content-Encoding\", \"br\")).to.be.true;\n\n const compressedData = res.send.getCall(0).args[0];\n expect(compressedData).to.not.be.undefined;\n expect(compressedData.length).to.be.lessThan(originalDataSize);\n expect(brotliDecompressSync(compressedData).toString()).to.be.equal(originalData);\n });\n\n it(\"should compress response using Gzip if Brotli is not supported\", async () => {\n // Arrange\n const originalData = generateJson();\n const originalDataSize = Buffer.byteLength(originalData);\n fulfillment.result.objects = originalData;\n req.header = () => \"gzip, deflate\";\n\n // Act\n await sendResponse(protocol, request, fulfillment, req, res);\n\n // Assert\n expect(res.set.calledWithExactly(\"Content-Encoding\", \"gzip\")).to.be.true;\n\n const compressedData = res.send.getCall(0).args[0];\n expect(compressedData).to.not.be.undefined;\n expect(compressedData.length).to.be.lessThan(originalDataSize);\n expect(unzipSync(compressedData).toString()).to.be.equal(originalData);\n });\n\n it(\"should not compress if Brotli and Gzip is not supported\", async () => {\n // Arrange\n const originalData = generateJson();\n fulfillment.result.objects = originalData;\n req.header = () => undefined;\n\n // Act\n await sendResponse(protocol, request, fulfillment, req, res);\n\n // Assert\n expect(res.set.calledWithMatch(\"Content-Encoding\")).to.be.false;\n\n expect(res.send.getCall(0).args[0]).to.be.equal(originalData);\n });\n\n it(\"should compress stream\", async () => {\n // Arrange\n const originalData = generateJson();\n const originalDataSize = Buffer.byteLength(originalData);\n fulfillment.result.stream = Readable.from(originalData);\n\n // Act\n await sendResponse(protocol, request, fulfillment, req, res);\n await new Promise((resolve) => res.on(\"finish\", resolve));\n\n // Assert\n const compressedData = res.buffer;\n expect(compressedData).to.not.be.undefined;\n expect(compressedData.length).to.be.lessThan(originalDataSize);\n expect(brotliDecompressSync(compressedData).toString()).to.be.equal(originalData);\n });\n\n it(\"should support Accept-Encoding header value format without spaces between values\", async () => {\n // Arrange\n fulfillment.result.objects = generateJson();\n req.header = () => \"gzip,deflate,br,zstd\";\n\n // Act\n await sendResponse(protocol, request, fulfillment, req, res);\n\n // Assert\n expect(res.set.calledWithExactly(\"Content-Encoding\", \"br\")).to.be.true;\n });\n});\n\nfunction generateJson(minimumSize = 2000): string {\n let propertyIdx = 0;\n const obj = {} as any;\n\n while (JSON.stringify(obj).length < minimumSize) {\n obj[`property-${propertyIdx}`] = `value-${propertyIdx}`;\n propertyIdx++;\n }\n\n return JSON.stringify(obj);\n}\n"]}
1
+ {"version":3,"file":"response.test.js","sourceRoot":"","sources":["../../../../src/test/rpc/response.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from \"chai\";\r\nimport { SinonStub, stub } from \"sinon\";\r\nimport { Readable, Writable } from \"stream\";\r\nimport { HttpServerRequest, HttpServerResponse, RpcRequestFulfillment, RpcRequestStatus, SerializedRpcRequest, WebAppRpcProtocol } from \"@itwin/core-common\";\r\nimport { sendResponse } from \"../../rpc/web/response\";\r\nimport { brotliDecompressSync, unzipSync } from \"node:zlib\";\r\n\r\n/* eslint-disable @typescript-eslint/no-deprecated */\r\n\r\nclass StubResponse extends Writable implements HttpServerResponse {\r\n public chunks: any[] = [];\r\n public get buffer(): Buffer { return Buffer.concat(this.chunks); }\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n public override _write(chunk: any, _encoding: BufferEncoding, callback: VoidFunction): void {\r\n this.chunks.push(chunk);\r\n callback();\r\n }\r\n\r\n public send: SinonStub<any[], HttpServerResponse> = stub().returns(this);\r\n public status: SinonStub<[number], HttpServerResponse> = stub();\r\n public set: SinonStub<[string, string], void> = stub();\r\n}\r\n\r\ndescribe(\"sendResponse\", () => {\r\n let protocol: WebAppRpcProtocol;\r\n let request: SerializedRpcRequest;\r\n let fulfillment: RpcRequestFulfillment;\r\n let req: HttpServerRequest;\r\n let res: StubResponse;\r\n\r\n beforeEach(() => {\r\n protocol = { getStatus: () => RpcRequestStatus.Resolved } as any;\r\n request = { operation: { operationName: \"fake-RPC-operation\" } } as any;\r\n fulfillment = {\r\n allowCompression: true,\r\n status: 200,\r\n result: {\r\n data: [],\r\n },\r\n } as any;\r\n req = { header: () => \"gzip, deflate, br\" } as any;\r\n res = new StubResponse();\r\n });\r\n\r\n it(\"should compress response using Brotli\", async () => {\r\n // Arrange\r\n const originalData = generateJson();\r\n const originalDataSize = Buffer.byteLength(originalData);\r\n fulfillment.result.objects = originalData;\r\n\r\n // Act\r\n await sendResponse(protocol, request, fulfillment, req, res);\r\n\r\n // Assert\r\n expect(res.set.calledWithExactly(\"Content-Encoding\", \"br\")).to.be.true;\r\n\r\n const compressedData = res.send.getCall(0).args[0];\r\n expect(compressedData).to.not.be.undefined;\r\n expect(compressedData.length).to.be.lessThan(originalDataSize);\r\n expect(brotliDecompressSync(compressedData).toString()).to.be.equal(originalData);\r\n });\r\n\r\n it(\"should compress response using Gzip if Brotli is not supported\", async () => {\r\n // Arrange\r\n const originalData = generateJson();\r\n const originalDataSize = Buffer.byteLength(originalData);\r\n fulfillment.result.objects = originalData;\r\n req.header = () => \"gzip, deflate\";\r\n\r\n // Act\r\n await sendResponse(protocol, request, fulfillment, req, res);\r\n\r\n // Assert\r\n expect(res.set.calledWithExactly(\"Content-Encoding\", \"gzip\")).to.be.true;\r\n\r\n const compressedData = res.send.getCall(0).args[0];\r\n expect(compressedData).to.not.be.undefined;\r\n expect(compressedData.length).to.be.lessThan(originalDataSize);\r\n expect(unzipSync(compressedData).toString()).to.be.equal(originalData);\r\n });\r\n\r\n it(\"should not compress if Brotli and Gzip is not supported\", async () => {\r\n // Arrange\r\n const originalData = generateJson();\r\n fulfillment.result.objects = originalData;\r\n req.header = () => undefined;\r\n\r\n // Act\r\n await sendResponse(protocol, request, fulfillment, req, res);\r\n\r\n // Assert\r\n expect(res.set.calledWithMatch(\"Content-Encoding\")).to.be.false;\r\n\r\n expect(res.send.getCall(0).args[0]).to.be.equal(originalData);\r\n });\r\n\r\n it(\"should compress stream\", async () => {\r\n // Arrange\r\n const originalData = generateJson();\r\n const originalDataSize = Buffer.byteLength(originalData);\r\n fulfillment.result.stream = Readable.from(originalData);\r\n\r\n // Act\r\n await sendResponse(protocol, request, fulfillment, req, res);\r\n await new Promise((resolve) => res.on(\"finish\", resolve));\r\n\r\n // Assert\r\n const compressedData = res.buffer;\r\n expect(compressedData).to.not.be.undefined;\r\n expect(compressedData.length).to.be.lessThan(originalDataSize);\r\n expect(brotliDecompressSync(compressedData).toString()).to.be.equal(originalData);\r\n });\r\n\r\n it(\"should support Accept-Encoding header value format without spaces between values\", async () => {\r\n // Arrange\r\n fulfillment.result.objects = generateJson();\r\n req.header = () => \"gzip,deflate,br,zstd\";\r\n\r\n // Act\r\n await sendResponse(protocol, request, fulfillment, req, res);\r\n\r\n // Assert\r\n expect(res.set.calledWithExactly(\"Content-Encoding\", \"br\")).to.be.true;\r\n });\r\n});\r\n\r\nfunction generateJson(minimumSize = 2000): string {\r\n let propertyIdx = 0;\r\n const obj = {} as any;\r\n\r\n while (JSON.stringify(obj).length < minimumSize) {\r\n obj[`property-${propertyIdx}`] = `value-${propertyIdx}`;\r\n propertyIdx++;\r\n }\r\n\r\n return JSON.stringify(obj);\r\n}\r\n"]}
@@ -5,6 +5,7 @@
5
5
  import { assert, expect } from "chai";
6
6
  import * as sinon from "sinon";
7
7
  import * as path from "path";
8
+ import { withEditTxn } from "../../EditTxn";
8
9
  import { BisCodeSpec, Code, ConcreteEntityTypes, ECJsNames, RelatedElement, SchemaState, } from "@itwin/core-common";
9
10
  import { DefinitionElement, DefinitionModel, ElementRefersToElements, Entity, EntityReferences, IModelDb, IModelJsFs, RepositoryLink, Schema, SpatialViewDefinition, StandaloneDb, UrlLink, ViewDefinition3d, } from "../../core-backend";
10
11
  import { IModelTestUtils } from "../IModelTestUtils";
@@ -95,50 +96,50 @@ describe("Class Registry - getRootMetaData", () => {
95
96
  imodel = StandaloneDb.openFile(testFileName, OpenMode.ReadWrite);
96
97
  assert.exists(imodel);
97
98
  await imodel.importSchemaStrings([
98
- `<?xml version="1.0" encoding="UTF-8"?>
99
- <ECSchema schemaName="TestSchema1" alias="ts1" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
100
- <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
101
- <ECSchemaReference name="CoreCustomAttributes" version="01.00.03" alias="CoreCA"/>
102
-
103
- <ECEntityClass typeName="TestBase">
104
- <BaseClass>bis:PhysicalElement</BaseClass>
105
- </ECEntityClass>
106
-
107
- <ECEntityClass typeName="TestDerived">
108
- <BaseClass>TestBase</BaseClass>
109
- </ECEntityClass>
110
-
111
- <ECEntityClass typeName="ITestMixinForAspectsBase">
112
- <ECCustomAttributes>
113
- <IsMixin xmlns="CoreCustomAttributes.01.00.03">
114
- <AppliesToEntityClass>bis:ElementUniqueAspect</AppliesToEntityClass>
115
- </IsMixin>
116
- </ECCustomAttributes>
117
- </ECEntityClass>
118
-
119
- <ECEntityClass typeName="ITestMixinForAspectsDerived">
120
- <BaseClass>ITestMixinForAspectsBase</BaseClass>
121
- <ECCustomAttributes>
122
- <IsMixin xmlns="CoreCustomAttributes.01.00.03">
123
- <AppliesToEntityClass>bis:ElementUniqueAspect</AppliesToEntityClass>
124
- </IsMixin>
125
- </ECCustomAttributes>
126
- </ECEntityClass>
127
-
128
- <ECEntityClass typeName="ITestMixinForElements" modifier="Abstract">
129
- <ECCustomAttributes>
130
- <IsMixin xmlns="CoreCustomAttributes.01.00.03">
131
- <AppliesToEntityClass>bis:Element</AppliesToEntityClass>
132
- </IsMixin>
133
- </ECCustomAttributes>
134
- </ECEntityClass>
135
-
136
- <ECEntityClass typeName="TestMixedInAndDerived">
137
- <BaseClass>TestBase</BaseClass>
138
- <BaseClass>ITestMixinForElements</BaseClass>
139
- </ECEntityClass>
140
-
141
- </ECSchema>
99
+ `<?xml version="1.0" encoding="UTF-8"?>
100
+ <ECSchema schemaName="TestSchema1" alias="ts1" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
101
+ <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
102
+ <ECSchemaReference name="CoreCustomAttributes" version="01.00.03" alias="CoreCA"/>
103
+
104
+ <ECEntityClass typeName="TestBase">
105
+ <BaseClass>bis:PhysicalElement</BaseClass>
106
+ </ECEntityClass>
107
+
108
+ <ECEntityClass typeName="TestDerived">
109
+ <BaseClass>TestBase</BaseClass>
110
+ </ECEntityClass>
111
+
112
+ <ECEntityClass typeName="ITestMixinForAspectsBase">
113
+ <ECCustomAttributes>
114
+ <IsMixin xmlns="CoreCustomAttributes.01.00.03">
115
+ <AppliesToEntityClass>bis:ElementUniqueAspect</AppliesToEntityClass>
116
+ </IsMixin>
117
+ </ECCustomAttributes>
118
+ </ECEntityClass>
119
+
120
+ <ECEntityClass typeName="ITestMixinForAspectsDerived">
121
+ <BaseClass>ITestMixinForAspectsBase</BaseClass>
122
+ <ECCustomAttributes>
123
+ <IsMixin xmlns="CoreCustomAttributes.01.00.03">
124
+ <AppliesToEntityClass>bis:ElementUniqueAspect</AppliesToEntityClass>
125
+ </IsMixin>
126
+ </ECCustomAttributes>
127
+ </ECEntityClass>
128
+
129
+ <ECEntityClass typeName="ITestMixinForElements" modifier="Abstract">
130
+ <ECCustomAttributes>
131
+ <IsMixin xmlns="CoreCustomAttributes.01.00.03">
132
+ <AppliesToEntityClass>bis:Element</AppliesToEntityClass>
133
+ </IsMixin>
134
+ </ECCustomAttributes>
135
+ </ECEntityClass>
136
+
137
+ <ECEntityClass typeName="TestMixedInAndDerived">
138
+ <BaseClass>TestBase</BaseClass>
139
+ <BaseClass>ITestMixinForElements</BaseClass>
140
+ </ECEntityClass>
141
+
142
+ </ECSchema>
142
143
  `,
143
144
  ]); // will throw an exception if import fails
144
145
  });
@@ -255,35 +256,35 @@ describe("Class Registry - generated classes", () => {
255
256
  }
256
257
  it("Should provide correct schemas and full-names on generated classes", async () => {
257
258
  await imodel.importSchemaStrings([
258
- `<?xml version="1.0" encoding="UTF-8"?>
259
- <ECSchema schemaName="CustomA" alias="custA" version="1.0.0"
260
- xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
261
- <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
262
- <ECSchemaReference name="Functional" version="1.00" alias="func"/>
263
- <ECEntityClass typeName="NonGeneratedElement">
264
- <BaseClass>bis:DefinitionElement</BaseClass>
265
- </ECEntityClass>
266
- <ECEntityClass typeName="GeneratedElement">
267
- <BaseClass>NonGeneratedElement</BaseClass>
268
- </ECEntityClass>
269
- <ECEntityClass typeName="ElementC">
270
- <BaseClass>GeneratedElement</BaseClass>
271
- </ECEntityClass>
272
- </ECSchema>
259
+ `<?xml version="1.0" encoding="UTF-8"?>
260
+ <ECSchema schemaName="CustomA" alias="custA" version="1.0.0"
261
+ xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
262
+ <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
263
+ <ECSchemaReference name="Functional" version="1.00" alias="func"/>
264
+ <ECEntityClass typeName="NonGeneratedElement">
265
+ <BaseClass>bis:DefinitionElement</BaseClass>
266
+ </ECEntityClass>
267
+ <ECEntityClass typeName="GeneratedElement">
268
+ <BaseClass>NonGeneratedElement</BaseClass>
269
+ </ECEntityClass>
270
+ <ECEntityClass typeName="ElementC">
271
+ <BaseClass>GeneratedElement</BaseClass>
272
+ </ECEntityClass>
273
+ </ECSchema>
273
274
  `,
274
- `<?xml version="1.0" encoding="UTF-8"?>
275
- <ECSchema schemaName="CustomB" alias="custB" version="1.0.0"
276
- xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
277
- <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
278
- <ECSchemaReference name="Functional" version="1.00" alias="func"/>
279
- <ECSchemaReference name="CustomA" version="01.00" alias="custA"/>
280
- <ECEntityClass typeName="DummyElement">
281
- <BaseClass>bis:DefinitionElement</BaseClass>
282
- </ECEntityClass>
283
- <ECEntityClass typeName="ErrorElement">
284
- <BaseClass>custA:ElementC</BaseClass>
285
- </ECEntityClass>
286
- </ECSchema>
275
+ `<?xml version="1.0" encoding="UTF-8"?>
276
+ <ECSchema schemaName="CustomB" alias="custB" version="1.0.0"
277
+ xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
278
+ <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
279
+ <ECSchemaReference name="Functional" version="1.00" alias="func"/>
280
+ <ECSchemaReference name="CustomA" version="01.00" alias="custA"/>
281
+ <ECEntityClass typeName="DummyElement">
282
+ <BaseClass>bis:DefinitionElement</BaseClass>
283
+ </ECEntityClass>
284
+ <ECEntityClass typeName="ErrorElement">
285
+ <BaseClass>custA:ElementC</BaseClass>
286
+ </ECEntityClass>
287
+ </ECSchema>
287
288
  `,
288
289
  ]);
289
290
  class CustomASchema extends Schema {
@@ -360,12 +361,12 @@ describe("Class Registry - generated classes", () => {
360
361
  super(props, imodel);
361
362
  }
362
363
  }
363
- const testEntityId = imodel.elements.insertElement({
364
+ const testEntityId = withEditTxn(imodel, (txn) => txn.insertElement({
364
365
  classFullName: "TestGeneratedClasses:TestEntity",
365
366
  prop: "sample-value",
366
367
  model: IModelDb.dictionaryId,
367
368
  code: Code.createEmpty(),
368
- });
369
+ }));
369
370
  const elemWithNavProp = new GeneratedTestElementWithNavProp({
370
371
  classFullName: "TestGeneratedClasses:TestElementWithNavProp",
371
372
  navProp: {
@@ -395,12 +396,12 @@ describe("Class Registry - generated classes", () => {
395
396
  super(props, imodel);
396
397
  }
397
398
  }
398
- const testEntityId = imodel.elements.insertElement({
399
+ const testEntityId = withEditTxn(imodel, (txn) => txn.insertElement({
399
400
  classFullName: "TestGeneratedClasses:TestEntity",
400
401
  prop: "sample-value",
401
402
  model: IModelDb.dictionaryId,
402
403
  code: Code.createEmpty(),
403
- });
404
+ }));
404
405
  const elemWithNavProp = new GeneratedTestElementWithNavProp({
405
406
  classFullName: "TestGeneratedClasses:TestElementWithNavProp",
406
407
  navProp: new RelatedElement({
@@ -426,19 +427,19 @@ describe("Class Registry - generated classes", () => {
426
427
  elemWithNavProp.parent && EntityReferences.fromEntityType(elemWithNavProp.parent?.id, ConcreteEntityTypes.Element),
427
428
  EntityReferences.fromEntityType(testEntityId, ConcreteEntityTypes.Element),
428
429
  ].filter((x) => x !== undefined));
429
- const modelTestEntityIds = new Array(2).fill(undefined).map((_, index) => imodel.elements.insertElement({
430
+ const modelTestEntityIds = new Array(2).fill(undefined).map((_, index) => withEditTxn(imodel, (txn) => txn.insertElement({
430
431
  classFullName: "TestGeneratedClasses:TestEntity",
431
432
  prop: `model-value-${index}`,
432
433
  model: IModelDb.dictionaryId,
433
434
  code: Code.createEmpty(),
434
- }));
435
+ })));
435
436
  // eslint-disable-next-line @typescript-eslint/naming-convention
436
437
  const GeneratedTestAspectWithNavProp = imodel.getJsClass("TestGeneratedClasses:TestAspectWithNavProp");
437
- const aspectWithNavPropId = imodel.elements.insertAspect({
438
+ const aspectWithNavPropId = withEditTxn(imodel, (txn) => txn.insertAspect({
438
439
  classFullName: GeneratedTestAspectWithNavProp.classFullName,
439
440
  navProp: { id: modelTestEntityIds[0], relClassName: "TestGeneratedClasses:NonElemRel" },
440
441
  element: { id: modelTestEntityIds[1] },
441
- });
442
+ }));
442
443
  class GeneratedTestModelWithNavProp extends imodel.getJsClass("TestGeneratedClasses:TestModelWithNavProp") {
443
444
  constructor(props) {
444
445
  super(props, imodel);
@@ -453,7 +454,7 @@ describe("Class Registry - generated classes", () => {
453
454
  // removed due to a bug
454
455
  // relNavProp: { id: relWithNavPropId, relClassName: "TestGeneratedClasses:ModelToRelNavRel" },
455
456
  });
456
- const modelWithNavPropId = modelWithNavProp.insert();
457
+ const modelWithNavPropId = withEditTxn(imodel, (txn) => modelWithNavProp.insert(txn));
457
458
  expect([...modelWithNavProp.getReferenceIds()]).to.have.members([
458
459
  EntityReferences.fromEntityType(modelTestEntityIds[1], ConcreteEntityTypes.Element),
459
460
  EntityReferences.fromEntityType(IModelDb.dictionaryId, ConcreteEntityTypes.Model),
@@ -462,12 +463,12 @@ describe("Class Registry - generated classes", () => {
462
463
  // ignoring this one, because there seems to be a bug when specifying a relationship instance as a nav prop
463
464
  // EntityReferences.fromEntityType(relWithNavPropId, ConcreteEntityTypes.Relationship),
464
465
  ].filter((x) => x !== undefined));
465
- const relTestEntityIds = new Array(3).fill(undefined).map((_, index) => imodel.elements.insertElement({
466
+ const relTestEntityIds = new Array(3).fill(undefined).map((_, index) => withEditTxn(imodel, (txn) => txn.insertElement({
466
467
  classFullName: "TestGeneratedClasses:TestEntity",
467
468
  prop: `rel-value-${index}`,
468
469
  model: IModelDb.dictionaryId,
469
470
  code: Code.createEmpty(),
470
- }));
471
+ })));
471
472
  // eslint-disable-next-line @typescript-eslint/naming-convention
472
473
  const GeneratedLinkTableRelWithNavProp = imodel.getJsClass("TestGeneratedClasses:LinkTableRelWithNavProp");
473
474
  const relWithNavProp = new GeneratedLinkTableRelWithNavProp({
@@ -487,7 +488,7 @@ describe("Class Registry - generated classes", () => {
487
488
  relClassName: "TestGeneratedClasses:LinkTableRelToAspectNavRel",
488
489
  },
489
490
  }, imodel);
490
- const _relWithNavPropId = relWithNavProp.insert();
491
+ const _relWithNavPropId = withEditTxn(imodel, (txn) => relWithNavProp.insert(txn));
491
492
  expect([...relWithNavProp.getReferenceIds()]).to.have.members([
492
493
  ...relTestEntityIds.map((id) => EntityReferences.fromEntityType(id, ConcreteEntityTypes.Element)),
493
494
  EntityReferences.fromEntityType(modelWithNavPropId, ConcreteEntityTypes.Model),
@@ -517,18 +518,18 @@ describe("Class Registry - generated classes", () => {
517
518
  super(props, imodel);
518
519
  }
519
520
  }
520
- const testEntity1Id = imodel.elements.insertElement({
521
+ const testEntity1Id = withEditTxn(imodel, (txn) => txn.insertElement({
521
522
  classFullName: "TestGeneratedClasses:TestEntity",
522
523
  prop: "sample-value-1",
523
524
  model: IModelDb.dictionaryId,
524
525
  code: Code.createEmpty(),
525
- });
526
- const testEntity2Id = imodel.elements.insertElement({
526
+ }));
527
+ const testEntity2Id = withEditTxn(imodel, (txn) => txn.insertElement({
527
528
  classFullName: "TestGeneratedClasses:TestEntity",
528
529
  prop: "sample-value-2",
529
530
  model: IModelDb.dictionaryId,
530
531
  code: Code.createEmpty(),
531
- });
532
+ }));
532
533
  const elemWithNavProp = new ActualTestElementWithNavProp({
533
534
  classFullName: TestElementWithNavProp.classFullName,
534
535
  navProp: {
@@ -615,19 +616,19 @@ describe("Class Registry - generated classes", () => {
615
616
  assert.isTrue(ActualDerived4.prototype.hasOwnProperty("collectReferenceIds")); // manually implements so it should have the method
616
617
  assert.isFalse(ActualDerived5.prototype.hasOwnProperty("collectReferenceIds")); // ancestor is non-generated so it shouldn't get the automatic impl
617
618
  assert.isFalse(ActualDerived6.prototype.hasOwnProperty("collectReferenceIds")); // ancestor is non-generated so it shouldn't get the automatic impl
618
- const testEntity1Id = imodel.elements.insertElement({
619
+ const testEntity1Id = withEditTxn(imodel, (txn) => txn.insertElement({
619
620
  classFullName: "TestGeneratedClasses:Derived6",
620
621
  prop: "sample-value-1",
621
622
  model: IModelDb.dictionaryId,
622
623
  code: Code.createEmpty(),
623
- });
624
- const testEntity2Id = imodel.elements.insertElement({
624
+ }));
625
+ const testEntity2Id = withEditTxn(imodel, (txn) => txn.insertElement({
625
626
  classFullName: "TestGeneratedClasses:TestEntity",
626
627
  prop: "sample-value-2",
627
628
  model: IModelDb.dictionaryId,
628
629
  code: Code.createEmpty(),
629
- });
630
- const derived6Id = imodel.elements.insertElement({
630
+ }));
631
+ const derived6Id = withEditTxn(imodel, (txn) => txn.insertElement({
631
632
  classFullName: Derived6.classFullName,
632
633
  model: IModelDb.dictionaryId,
633
634
  code: Code.createEmpty(),
@@ -639,7 +640,7 @@ describe("Class Registry - generated classes", () => {
639
640
  id: testEntity2Id,
640
641
  relClassName: "TestGeneratedClasses:DerivedElemRel",
641
642
  },
642
- });
643
+ }));
643
644
  const derived6 = imodel.elements.getElement(derived6Id);
644
645
  /** it is not possible to make a spy of an already existing spy, so lazy try making one
645
646
  * this is necessary since due to prototypes, some "methods" we listen to are actually the same
@@ -737,36 +738,36 @@ describe("Global state of ClassRegistry", () => {
737
738
  });
738
739
  it("registering a class in different imodels should not affect each other", async () => {
739
740
  await imodel1.importSchemaStrings([
740
- `<?xml version="1.0" encoding="UTF-8"?>
741
- <ECSchema schemaName="TestSchema" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
742
- <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
743
-
744
- <ECEntityClass typeName="TestClass">
745
- <BaseClass>bis:PhysicalElement</BaseClass>
746
- <ECProperty propertyName="foo" typeName="string"/>
747
- <ECNavigationProperty propertyName="RelatedTestClass" relationshipName="MyRelationship" direction="backward"/>
748
- </ECEntityClass>
749
-
750
- <ECRelationshipClass typeName="MyRelationship" modifier="None" strength="embedding">
751
- <Source multiplicity="(0..1)" roleLabel="has" polymorphic="false">
752
- <Class class="TestClass"/>
753
- </Source>
754
- <Target multiplicity="(0..*)" roleLabel="has" polymorphic="false">
755
- <Class class="TestClass"/>
756
- </Target>
757
- </ECRelationshipClass>
758
- </ECSchema>
741
+ `<?xml version="1.0" encoding="UTF-8"?>
742
+ <ECSchema schemaName="TestSchema" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
743
+ <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
744
+
745
+ <ECEntityClass typeName="TestClass">
746
+ <BaseClass>bis:PhysicalElement</BaseClass>
747
+ <ECProperty propertyName="foo" typeName="string"/>
748
+ <ECNavigationProperty propertyName="RelatedTestClass" relationshipName="MyRelationship" direction="backward"/>
749
+ </ECEntityClass>
750
+
751
+ <ECRelationshipClass typeName="MyRelationship" modifier="None" strength="embedding">
752
+ <Source multiplicity="(0..1)" roleLabel="has" polymorphic="false">
753
+ <Class class="TestClass"/>
754
+ </Source>
755
+ <Target multiplicity="(0..*)" roleLabel="has" polymorphic="false">
756
+ <Class class="TestClass"/>
757
+ </Target>
758
+ </ECRelationshipClass>
759
+ </ECSchema>
759
760
  `,
760
761
  ]);
761
762
  await imodel2.importSchemaStrings([
762
- `<?xml version="1.0" encoding="UTF-8"?>
763
- <ECSchema schemaName="TestSchema" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
764
- <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
765
- <ECEntityClass typeName="TestClass">
766
- <BaseClass>bis:PhysicalElement</BaseClass>
767
- <ECProperty propertyName="bar" typeName="string"/>
768
- </ECEntityClass>
769
- </ECSchema>
763
+ `<?xml version="1.0" encoding="UTF-8"?>
764
+ <ECSchema schemaName="TestSchema" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
765
+ <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
766
+ <ECEntityClass typeName="TestClass">
767
+ <BaseClass>bis:PhysicalElement</BaseClass>
768
+ <ECProperty propertyName="bar" typeName="string"/>
769
+ </ECEntityClass>
770
+ </ECSchema>
770
771
  `,
771
772
  ]);
772
773
  const testClass1 = imodel1.getJsClass("TestSchema:TestClass");