@itwin/core-backend 5.0.0-dev.11 → 5.0.0-dev.110

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 (1057) hide show
  1. package/CHANGELOG.md +70 -1
  2. package/lib/cjs/BackendHubAccess.d.ts +15 -35
  3. package/lib/cjs/BackendHubAccess.d.ts.map +1 -1
  4. package/lib/cjs/BackendHubAccess.js +2 -0
  5. package/lib/cjs/BackendHubAccess.js.map +1 -1
  6. package/lib/cjs/BisCoreSchema.d.ts.map +1 -1
  7. package/lib/cjs/BisCoreSchema.js +2 -0
  8. package/lib/cjs/BisCoreSchema.js.map +1 -1
  9. package/lib/cjs/BlobContainerService.d.ts +4 -4
  10. package/lib/cjs/BlobContainerService.d.ts.map +1 -1
  11. package/lib/cjs/BlobContainerService.js.map +1 -1
  12. package/lib/cjs/BriefcaseManager.d.ts +10 -0
  13. package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
  14. package/lib/cjs/BriefcaseManager.js +63 -20
  15. package/lib/cjs/BriefcaseManager.js.map +1 -1
  16. package/lib/cjs/CatalogDb.d.ts +103 -0
  17. package/lib/cjs/CatalogDb.d.ts.map +1 -0
  18. package/lib/cjs/CatalogDb.js +271 -0
  19. package/lib/cjs/CatalogDb.js.map +1 -0
  20. package/lib/cjs/Category.js +6 -1
  21. package/lib/cjs/Category.js.map +1 -1
  22. package/lib/cjs/ChangeSummaryManager.d.ts.map +1 -1
  23. package/lib/cjs/ChangeSummaryManager.js +102 -27
  24. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  25. package/lib/cjs/ChangedElementsDb.d.ts +3 -3
  26. package/lib/cjs/ChangedElementsDb.d.ts.map +1 -1
  27. package/lib/cjs/ChangedElementsDb.js +8 -7
  28. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  29. package/lib/cjs/ChangesetECAdaptor.d.ts +3 -3
  30. package/lib/cjs/ChangesetECAdaptor.d.ts.map +1 -1
  31. package/lib/cjs/ChangesetECAdaptor.js +32 -19
  32. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  33. package/lib/cjs/CheckpointManager.d.ts +12 -17
  34. package/lib/cjs/CheckpointManager.d.ts.map +1 -1
  35. package/lib/cjs/CheckpointManager.js +40 -92
  36. package/lib/cjs/CheckpointManager.js.map +1 -1
  37. package/lib/cjs/ClassRegistry.d.ts +46 -2
  38. package/lib/cjs/ClassRegistry.d.ts.map +1 -1
  39. package/lib/cjs/ClassRegistry.js +93 -37
  40. package/lib/cjs/ClassRegistry.js.map +1 -1
  41. package/lib/cjs/CloudSqlite.d.ts +104 -20
  42. package/lib/cjs/CloudSqlite.d.ts.map +1 -1
  43. package/lib/cjs/CloudSqlite.js +172 -54
  44. package/lib/cjs/CloudSqlite.js.map +1 -1
  45. package/lib/cjs/CodeService.d.ts +2 -0
  46. package/lib/cjs/CodeService.d.ts.map +1 -1
  47. package/lib/cjs/CodeService.js +4 -0
  48. package/lib/cjs/CodeService.js.map +1 -1
  49. package/lib/cjs/CodeSpecs.js +3 -2
  50. package/lib/cjs/CodeSpecs.js.map +1 -1
  51. package/lib/cjs/CustomViewState3dCreator.js +7 -6
  52. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  53. package/lib/cjs/DevTools.js +16 -16
  54. package/lib/cjs/DevTools.js.map +1 -1
  55. package/lib/cjs/DisplayStyle.js +2 -0
  56. package/lib/cjs/DisplayStyle.js.map +1 -1
  57. package/lib/cjs/ECDb.d.ts +53 -60
  58. package/lib/cjs/ECDb.d.ts.map +1 -1
  59. package/lib/cjs/ECDb.js +115 -73
  60. package/lib/cjs/ECDb.js.map +1 -1
  61. package/lib/cjs/ECSchemaXmlContext.d.ts +1 -1
  62. package/lib/cjs/ECSchemaXmlContext.js +2 -1
  63. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  64. package/lib/cjs/ECSqlStatement.d.ts +185 -4
  65. package/lib/cjs/ECSqlStatement.d.ts.map +1 -1
  66. package/lib/cjs/ECSqlStatement.js +237 -9
  67. package/lib/cjs/ECSqlStatement.js.map +1 -1
  68. package/lib/cjs/Element.d.ts +29 -26
  69. package/lib/cjs/Element.d.ts.map +1 -1
  70. package/lib/cjs/Element.js +173 -48
  71. package/lib/cjs/Element.js.map +1 -1
  72. package/lib/cjs/ElementAspect.d.ts +0 -5
  73. package/lib/cjs/ElementAspect.d.ts.map +1 -1
  74. package/lib/cjs/ElementAspect.js +25 -16
  75. package/lib/cjs/ElementAspect.js.map +1 -1
  76. package/lib/cjs/ElementTreeWalker.d.ts.map +1 -1
  77. package/lib/cjs/ElementTreeWalker.js +17 -12
  78. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  79. package/lib/cjs/Entity.d.ts +50 -10
  80. package/lib/cjs/Entity.d.ts.map +1 -1
  81. package/lib/cjs/Entity.js +79 -16
  82. package/lib/cjs/Entity.js.map +1 -1
  83. package/lib/cjs/ExportGraphics.js +4 -0
  84. package/lib/cjs/ExportGraphics.js.map +1 -1
  85. package/lib/cjs/ExternalSource.js +22 -0
  86. package/lib/cjs/ExternalSource.js.map +1 -1
  87. package/lib/cjs/FontFile.d.ts +68 -0
  88. package/lib/cjs/FontFile.d.ts.map +1 -0
  89. package/lib/cjs/FontFile.js +36 -0
  90. package/lib/cjs/FontFile.js.map +1 -0
  91. package/lib/cjs/GeoCoordConfig.js +8 -8
  92. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  93. package/lib/cjs/GeometrySummary.js +6 -3
  94. package/lib/cjs/GeometrySummary.js.map +1 -1
  95. package/lib/cjs/IModelDb.d.ts +213 -73
  96. package/lib/cjs/IModelDb.d.ts.map +1 -1
  97. package/lib/cjs/IModelDb.js +379 -172
  98. package/lib/cjs/IModelDb.js.map +1 -1
  99. package/lib/cjs/IModelDbFonts.d.ts +54 -0
  100. package/lib/cjs/IModelDbFonts.d.ts.map +1 -0
  101. package/lib/cjs/{IModelCloneContext.js → IModelDbFonts.js} +2 -7
  102. package/lib/cjs/IModelDbFonts.js.map +1 -0
  103. package/lib/cjs/IModelElementCloneContext.d.ts +2 -0
  104. package/lib/cjs/IModelElementCloneContext.d.ts.map +1 -1
  105. package/lib/cjs/IModelElementCloneContext.js +12 -1
  106. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  107. package/lib/cjs/IModelHost.d.ts +15 -15
  108. package/lib/cjs/IModelHost.d.ts.map +1 -1
  109. package/lib/cjs/IModelHost.js +76 -43
  110. package/lib/cjs/IModelHost.js.map +1 -1
  111. package/lib/cjs/IModelJsFs.d.ts.map +1 -1
  112. package/lib/cjs/IModelJsFs.js +17 -1
  113. package/lib/cjs/IModelJsFs.js.map +1 -1
  114. package/lib/cjs/ImageSourceConversion.d.ts +49 -0
  115. package/lib/cjs/ImageSourceConversion.d.ts.map +1 -0
  116. package/lib/cjs/ImageSourceConversion.js +37 -0
  117. package/lib/cjs/ImageSourceConversion.js.map +1 -0
  118. package/lib/cjs/IpcHost.d.ts.map +1 -1
  119. package/lib/cjs/IpcHost.js +19 -33
  120. package/lib/cjs/IpcHost.js.map +1 -1
  121. package/lib/cjs/LocalHub.js +8 -2
  122. package/lib/cjs/LocalHub.js.map +1 -1
  123. package/lib/cjs/LocalhostIpcHost.js +5 -6
  124. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  125. package/lib/cjs/Material.js +40 -0
  126. package/lib/cjs/Material.js.map +1 -1
  127. package/lib/cjs/Model.d.ts +1 -1
  128. package/lib/cjs/Model.d.ts.map +1 -1
  129. package/lib/cjs/Model.js +27 -2
  130. package/lib/cjs/Model.js.map +1 -1
  131. package/lib/cjs/NativeAppStorage.js +5 -3
  132. package/lib/cjs/NativeAppStorage.js.map +1 -1
  133. package/lib/cjs/NativeHost.d.ts.map +1 -1
  134. package/lib/cjs/NativeHost.js +10 -4
  135. package/lib/cjs/NativeHost.js.map +1 -1
  136. package/lib/cjs/NavigationRelationship.js +25 -25
  137. package/lib/cjs/NavigationRelationship.js.map +1 -1
  138. package/lib/cjs/PromiseMemoizer.d.ts +2 -3
  139. package/lib/cjs/PromiseMemoizer.d.ts.map +1 -1
  140. package/lib/cjs/PromiseMemoizer.js +12 -5
  141. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  142. package/lib/cjs/PropertyStore.js +1 -4
  143. package/lib/cjs/PropertyStore.js.map +1 -1
  144. package/lib/cjs/Relationship.d.ts.map +1 -1
  145. package/lib/cjs/Relationship.js +15 -1
  146. package/lib/cjs/Relationship.js.map +1 -1
  147. package/lib/cjs/SQLiteDb.d.ts +6 -4
  148. package/lib/cjs/SQLiteDb.d.ts.map +1 -1
  149. package/lib/cjs/SQLiteDb.js +79 -19
  150. package/lib/cjs/SQLiteDb.js.map +1 -1
  151. package/lib/cjs/Schema.d.ts +25 -1
  152. package/lib/cjs/Schema.d.ts.map +1 -1
  153. package/lib/cjs/Schema.js +44 -8
  154. package/lib/cjs/Schema.js.map +1 -1
  155. package/lib/cjs/SchemaSync.js +1 -4
  156. package/lib/cjs/SchemaSync.js.map +1 -1
  157. package/lib/cjs/SheetIndex.js +6 -0
  158. package/lib/cjs/SheetIndex.js.map +1 -1
  159. package/lib/cjs/SqliteChangesetReader.d.ts +11 -3
  160. package/lib/cjs/SqliteChangesetReader.d.ts.map +1 -1
  161. package/lib/cjs/SqliteChangesetReader.js +21 -5
  162. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  163. package/lib/cjs/SqliteStatement.d.ts +4 -2
  164. package/lib/cjs/SqliteStatement.d.ts.map +1 -1
  165. package/lib/cjs/SqliteStatement.js +13 -1
  166. package/lib/cjs/SqliteStatement.js.map +1 -1
  167. package/lib/cjs/TextAnnotationGeometry.d.ts.map +1 -1
  168. package/lib/cjs/TextAnnotationGeometry.js +38 -11
  169. package/lib/cjs/TextAnnotationGeometry.js.map +1 -1
  170. package/lib/cjs/TextAnnotationLayout.d.ts +10 -3
  171. package/lib/cjs/TextAnnotationLayout.d.ts.map +1 -1
  172. package/lib/cjs/TextAnnotationLayout.js +56 -18
  173. package/lib/cjs/TextAnnotationLayout.js.map +1 -1
  174. package/lib/cjs/Texture.js +3 -0
  175. package/lib/cjs/Texture.js.map +1 -1
  176. package/lib/cjs/TileStorage.js +6 -1
  177. package/lib/cjs/TileStorage.js.map +1 -1
  178. package/lib/cjs/TxnManager.d.ts +55 -4
  179. package/lib/cjs/TxnManager.d.ts.map +1 -1
  180. package/lib/cjs/TxnManager.js +234 -58
  181. package/lib/cjs/TxnManager.js.map +1 -1
  182. package/lib/cjs/ViewDefinition.d.ts +6 -6
  183. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  184. package/lib/cjs/ViewDefinition.js +81 -26
  185. package/lib/cjs/ViewDefinition.js.map +1 -1
  186. package/lib/cjs/ViewStateHydrator.d.ts +0 -1
  187. package/lib/cjs/ViewStateHydrator.d.ts.map +1 -1
  188. package/lib/cjs/ViewStateHydrator.js +1 -11
  189. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  190. package/lib/cjs/ViewStore.d.ts.map +1 -1
  191. package/lib/cjs/ViewStore.js +32 -29
  192. package/lib/cjs/ViewStore.js.map +1 -1
  193. package/lib/cjs/core-backend.d.ts +8 -2
  194. package/lib/cjs/core-backend.d.ts.map +1 -1
  195. package/lib/cjs/core-backend.js +8 -2
  196. package/lib/cjs/core-backend.js.map +1 -1
  197. package/lib/cjs/domains/FunctionalElements.js +1 -1
  198. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  199. package/lib/cjs/internal/ChangesetConflictArgs.d.ts +40 -2
  200. package/lib/cjs/internal/ChangesetConflictArgs.d.ts.map +1 -1
  201. package/lib/cjs/internal/ChangesetConflictArgs.js +101 -0
  202. package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
  203. package/lib/cjs/internal/ChannelAdmin.d.ts +1 -1
  204. package/lib/cjs/internal/ChannelAdmin.d.ts.map +1 -1
  205. package/lib/cjs/internal/ChannelAdmin.js +16 -13
  206. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  207. package/lib/cjs/internal/FontFileImpl.d.ts +34 -0
  208. package/lib/cjs/internal/FontFileImpl.d.ts.map +1 -0
  209. package/lib/cjs/internal/FontFileImpl.js +143 -0
  210. package/lib/cjs/internal/FontFileImpl.js.map +1 -0
  211. package/lib/cjs/{HubMock.d.ts → internal/HubMock.d.ts} +6 -7
  212. package/lib/cjs/internal/HubMock.d.ts.map +1 -0
  213. package/lib/cjs/{HubMock.js → internal/HubMock.js} +40 -15
  214. package/lib/cjs/internal/HubMock.js.map +1 -0
  215. package/lib/cjs/internal/IModelDbFontsImpl.d.ts +7 -0
  216. package/lib/cjs/internal/IModelDbFontsImpl.d.ts.map +1 -0
  217. package/lib/cjs/internal/IModelDbFontsImpl.js +186 -0
  218. package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -0
  219. package/lib/cjs/internal/NoLocks.js +2 -5
  220. package/lib/cjs/internal/NoLocks.js.map +1 -1
  221. package/lib/cjs/internal/ServerBasedLocks.d.ts.map +1 -1
  222. package/lib/cjs/internal/ServerBasedLocks.js +6 -6
  223. package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
  224. package/lib/cjs/internal/Symbols.d.ts +8 -0
  225. package/lib/cjs/internal/Symbols.d.ts.map +1 -1
  226. package/lib/cjs/internal/Symbols.js +9 -1
  227. package/lib/cjs/internal/Symbols.js.map +1 -1
  228. package/lib/cjs/internal/workspace/SettingsImpl.js +6 -9
  229. package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
  230. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js +8 -12
  231. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  232. package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts +2 -16
  233. package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts.map +1 -1
  234. package/lib/cjs/internal/workspace/WorkspaceImpl.js +57 -121
  235. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  236. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js +1 -4
  237. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  238. package/lib/cjs/rpc/multipart.d.ts.map +1 -1
  239. package/lib/cjs/rpc/multipart.js +2 -1
  240. package/lib/cjs/rpc/multipart.js.map +1 -1
  241. package/lib/cjs/rpc/tracing.js +2 -2
  242. package/lib/cjs/rpc/tracing.js.map +1 -1
  243. package/lib/cjs/rpc/web/request.d.ts.map +1 -1
  244. package/lib/cjs/rpc/web/request.js +2 -1
  245. package/lib/cjs/rpc/web/request.js.map +1 -1
  246. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -1
  247. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +6 -2
  248. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  249. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js +5 -3
  250. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  251. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -1
  252. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +15 -25
  253. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  254. package/lib/cjs/workspace/Workspace.d.ts +6 -13
  255. package/lib/cjs/workspace/Workspace.d.ts.map +1 -1
  256. package/lib/cjs/workspace/Workspace.js.map +1 -1
  257. package/lib/cjs/workspace/WorkspaceEditor.d.ts +2 -7
  258. package/lib/cjs/workspace/WorkspaceEditor.d.ts.map +1 -1
  259. package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
  260. package/lib/esm/BackendHubAccess.d.ts +209 -0
  261. package/lib/esm/BackendHubAccess.d.ts.map +1 -0
  262. package/lib/esm/BackendHubAccess.js +41 -0
  263. package/lib/esm/BackendHubAccess.js.map +1 -0
  264. package/lib/esm/BackendLoggerCategory.d.ts +88 -0
  265. package/lib/esm/BackendLoggerCategory.d.ts.map +1 -0
  266. package/lib/esm/BackendLoggerCategory.js +93 -0
  267. package/lib/esm/BackendLoggerCategory.js.map +1 -0
  268. package/lib/esm/BisCoreSchema.d.ts +22 -0
  269. package/lib/esm/BisCoreSchema.d.ts.map +1 -0
  270. package/lib/esm/BisCoreSchema.js +61 -0
  271. package/lib/esm/BisCoreSchema.js.map +1 -0
  272. package/lib/esm/BlobContainerService.d.ts +159 -0
  273. package/lib/esm/BlobContainerService.d.ts.map +1 -0
  274. package/lib/esm/BlobContainerService.js +15 -0
  275. package/lib/esm/BlobContainerService.js.map +1 -0
  276. package/lib/esm/BriefcaseManager.d.ts +213 -0
  277. package/lib/esm/BriefcaseManager.d.ts.map +1 -0
  278. package/lib/esm/BriefcaseManager.js +520 -0
  279. package/lib/esm/BriefcaseManager.js.map +1 -0
  280. package/lib/esm/CatalogDb.d.ts +103 -0
  281. package/lib/esm/CatalogDb.d.ts.map +1 -0
  282. package/lib/esm/CatalogDb.js +267 -0
  283. package/lib/esm/CatalogDb.js.map +1 -0
  284. package/lib/esm/Category.d.ts +136 -0
  285. package/lib/esm/Category.d.ts.map +1 -0
  286. package/lib/esm/Category.js +224 -0
  287. package/lib/esm/Category.js.map +1 -0
  288. package/lib/esm/ChangeSummaryManager.d.ts +161 -0
  289. package/lib/esm/ChangeSummaryManager.d.ts.map +1 -0
  290. package/lib/esm/ChangeSummaryManager.js +421 -0
  291. package/lib/esm/ChangeSummaryManager.js.map +1 -0
  292. package/lib/esm/ChangedElementsDb.d.ts +101 -0
  293. package/lib/esm/ChangedElementsDb.d.ts.map +1 -0
  294. package/lib/esm/ChangedElementsDb.js +165 -0
  295. package/lib/esm/ChangedElementsDb.js.map +1 -0
  296. package/lib/esm/ChangesetECAdaptor.d.ts +203 -0
  297. package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -0
  298. package/lib/esm/ChangesetECAdaptor.js +815 -0
  299. package/lib/esm/ChangesetECAdaptor.js.map +1 -0
  300. package/lib/esm/ChannelControl.d.ts +68 -0
  301. package/lib/esm/ChannelControl.d.ts.map +1 -0
  302. package/lib/esm/ChannelControl.js +15 -0
  303. package/lib/esm/ChannelControl.js.map +1 -0
  304. package/lib/esm/CheckpointManager.d.ts +118 -0
  305. package/lib/esm/CheckpointManager.d.ts.map +1 -0
  306. package/lib/esm/CheckpointManager.js +321 -0
  307. package/lib/esm/CheckpointManager.js.map +1 -0
  308. package/lib/esm/ClassRegistry.d.ts +134 -0
  309. package/lib/esm/ClassRegistry.d.ts.map +1 -0
  310. package/lib/esm/ClassRegistry.js +324 -0
  311. package/lib/esm/ClassRegistry.js.map +1 -0
  312. package/lib/esm/CloudSqlite.d.ts +766 -0
  313. package/lib/esm/CloudSqlite.d.ts.map +1 -0
  314. package/lib/esm/CloudSqlite.js +622 -0
  315. package/lib/esm/CloudSqlite.js.map +1 -0
  316. package/lib/esm/CodeService.d.ts +402 -0
  317. package/lib/esm/CodeService.d.ts.map +1 -0
  318. package/lib/esm/CodeService.js +65 -0
  319. package/lib/esm/CodeService.js.map +1 -0
  320. package/lib/esm/CodeSpecs.d.ts +59 -0
  321. package/lib/esm/CodeSpecs.d.ts.map +1 -0
  322. package/lib/esm/CodeSpecs.js +152 -0
  323. package/lib/esm/CodeSpecs.js.map +1 -0
  324. package/lib/esm/ConcurrentQuery.d.ts +14 -0
  325. package/lib/esm/ConcurrentQuery.d.ts.map +1 -0
  326. package/lib/esm/ConcurrentQuery.js +33 -0
  327. package/lib/esm/ConcurrentQuery.js.map +1 -0
  328. package/lib/esm/CustomViewState3dCreator.d.ts +22 -0
  329. package/lib/esm/CustomViewState3dCreator.d.ts.map +1 -0
  330. package/lib/esm/CustomViewState3dCreator.js +78 -0
  331. package/lib/esm/CustomViewState3dCreator.js.map +1 -0
  332. package/lib/esm/DevTools.d.ts +73 -0
  333. package/lib/esm/DevTools.d.ts.map +1 -0
  334. package/lib/esm/DevTools.js +153 -0
  335. package/lib/esm/DevTools.js.map +1 -0
  336. package/lib/esm/DisplayStyle.d.ts +99 -0
  337. package/lib/esm/DisplayStyle.d.ts.map +1 -0
  338. package/lib/esm/DisplayStyle.js +264 -0
  339. package/lib/esm/DisplayStyle.js.map +1 -0
  340. package/lib/esm/ECDb.d.ts +206 -0
  341. package/lib/esm/ECDb.d.ts.map +1 -0
  342. package/lib/esm/ECDb.js +410 -0
  343. package/lib/esm/ECDb.js.map +1 -0
  344. package/lib/esm/ECSchemaXmlContext.d.ts +46 -0
  345. package/lib/esm/ECSchemaXmlContext.d.ts.map +1 -0
  346. package/lib/esm/ECSchemaXmlContext.js +66 -0
  347. package/lib/esm/ECSchemaXmlContext.js.map +1 -0
  348. package/lib/esm/ECSqlStatement.d.ts +671 -0
  349. package/lib/esm/ECSqlStatement.d.ts.map +1 -0
  350. package/lib/esm/ECSqlStatement.js +1028 -0
  351. package/lib/esm/ECSqlStatement.js.map +1 -0
  352. package/lib/esm/Element.d.ts +999 -0
  353. package/lib/esm/Element.d.ts.map +1 -0
  354. package/lib/esm/Element.js +1375 -0
  355. package/lib/esm/Element.js.map +1 -0
  356. package/lib/esm/ElementAspect.d.ts +164 -0
  357. package/lib/esm/ElementAspect.d.ts.map +1 -0
  358. package/lib/esm/ElementAspect.js +205 -0
  359. package/lib/esm/ElementAspect.js.map +1 -0
  360. package/lib/esm/ElementGraphics.d.ts +7 -0
  361. package/lib/esm/ElementGraphics.d.ts.map +1 -0
  362. package/lib/esm/ElementGraphics.js +36 -0
  363. package/lib/esm/ElementGraphics.js.map +1 -0
  364. package/lib/esm/ElementTreeWalker.d.ts +182 -0
  365. package/lib/esm/ElementTreeWalker.d.ts.map +1 -0
  366. package/lib/esm/ElementTreeWalker.js +425 -0
  367. package/lib/esm/ElementTreeWalker.js.map +1 -0
  368. package/lib/esm/Entity.d.ts +146 -0
  369. package/lib/esm/Entity.d.ts.map +1 -0
  370. package/lib/esm/Entity.js +186 -0
  371. package/lib/esm/Entity.js.map +1 -0
  372. package/lib/esm/EntityReferences.d.ts +50 -0
  373. package/lib/esm/EntityReferences.d.ts.map +1 -0
  374. package/lib/esm/EntityReferences.js +92 -0
  375. package/lib/esm/EntityReferences.js.map +1 -0
  376. package/lib/esm/ExportGraphics.d.ts +318 -0
  377. package/lib/esm/ExportGraphics.d.ts.map +1 -0
  378. package/lib/esm/ExportGraphics.js +209 -0
  379. package/lib/esm/ExportGraphics.js.map +1 -0
  380. package/lib/esm/ExternalSource.d.ts +89 -0
  381. package/lib/esm/ExternalSource.d.ts.map +1 -0
  382. package/lib/esm/ExternalSource.js +139 -0
  383. package/lib/esm/ExternalSource.js.map +1 -0
  384. package/lib/esm/FontFile.d.ts +68 -0
  385. package/lib/esm/FontFile.d.ts.map +1 -0
  386. package/lib/esm/FontFile.js +33 -0
  387. package/lib/esm/FontFile.js.map +1 -0
  388. package/lib/esm/GeoCoordConfig.d.ts +30 -0
  389. package/lib/esm/GeoCoordConfig.d.ts.map +1 -0
  390. package/lib/esm/GeoCoordConfig.js +78 -0
  391. package/lib/esm/GeoCoordConfig.js.map +1 -0
  392. package/lib/esm/GeographicCRSServices.d.ts +40 -0
  393. package/lib/esm/GeographicCRSServices.d.ts.map +1 -0
  394. package/lib/esm/GeographicCRSServices.js +17 -0
  395. package/lib/esm/GeographicCRSServices.js.map +1 -0
  396. package/lib/esm/GeometrySummary.d.ts +5 -0
  397. package/lib/esm/GeometrySummary.d.ts.map +1 -0
  398. package/lib/esm/GeometrySummary.js +381 -0
  399. package/lib/esm/GeometrySummary.js.map +1 -0
  400. package/lib/esm/IModelDb.d.ts +1407 -0
  401. package/lib/esm/IModelDb.d.ts.map +1 -0
  402. package/lib/esm/IModelDb.js +3267 -0
  403. package/lib/esm/IModelDb.js.map +1 -0
  404. package/lib/esm/IModelDbFonts.d.ts +54 -0
  405. package/lib/esm/IModelDbFonts.d.ts.map +1 -0
  406. package/lib/esm/IModelDbFonts.js +9 -0
  407. package/lib/esm/IModelDbFonts.js.map +1 -0
  408. package/lib/esm/IModelElementCloneContext.d.ts +92 -0
  409. package/lib/esm/IModelElementCloneContext.d.ts.map +1 -0
  410. package/lib/esm/IModelElementCloneContext.js +168 -0
  411. package/lib/esm/IModelElementCloneContext.js.map +1 -0
  412. package/lib/esm/IModelHost.d.ts +387 -0
  413. package/lib/esm/IModelHost.d.ts.map +1 -0
  414. package/lib/esm/IModelHost.js +502 -0
  415. package/lib/esm/IModelHost.js.map +1 -0
  416. package/lib/esm/IModelJsFs.d.ts +62 -0
  417. package/lib/esm/IModelJsFs.d.ts.map +1 -0
  418. package/lib/esm/IModelJsFs.js +151 -0
  419. package/lib/esm/IModelJsFs.js.map +1 -0
  420. package/lib/esm/ImageSourceConversion.d.ts +49 -0
  421. package/lib/esm/ImageSourceConversion.d.ts.map +1 -0
  422. package/lib/esm/ImageSourceConversion.js +33 -0
  423. package/lib/esm/ImageSourceConversion.js.map +1 -0
  424. package/lib/esm/IpcHost.d.ts +111 -0
  425. package/lib/esm/IpcHost.d.ts.map +1 -0
  426. package/lib/esm/IpcHost.js +292 -0
  427. package/lib/esm/IpcHost.js.map +1 -0
  428. package/lib/esm/LineStyle.d.ts +312 -0
  429. package/lib/esm/LineStyle.d.ts.map +1 -0
  430. package/lib/esm/LineStyle.js +293 -0
  431. package/lib/esm/LineStyle.js.map +1 -0
  432. package/lib/esm/LocalHub.d.ts +163 -0
  433. package/lib/esm/LocalHub.d.ts.map +1 -0
  434. package/lib/esm/LocalHub.js +583 -0
  435. package/lib/esm/LocalHub.js.map +1 -0
  436. package/lib/esm/LocalhostIpcHost.d.ts +22 -0
  437. package/lib/esm/LocalhostIpcHost.d.ts.map +1 -0
  438. package/lib/esm/LocalhostIpcHost.js +74 -0
  439. package/lib/esm/LocalhostIpcHost.js.map +1 -0
  440. package/lib/esm/LockControl.d.ts +73 -0
  441. package/lib/esm/LockControl.d.ts.map +1 -0
  442. package/lib/esm/LockControl.js +9 -0
  443. package/lib/esm/LockControl.js.map +1 -0
  444. package/lib/esm/Material.d.ts +131 -0
  445. package/lib/esm/Material.d.ts.map +1 -0
  446. package/lib/esm/Material.js +235 -0
  447. package/lib/esm/Material.js.map +1 -0
  448. package/lib/esm/Model.d.ts +375 -0
  449. package/lib/esm/Model.d.ts.map +1 -0
  450. package/lib/esm/Model.js +484 -0
  451. package/lib/esm/Model.js.map +1 -0
  452. package/lib/esm/NativeAppStorage.d.ts +52 -0
  453. package/lib/esm/NativeAppStorage.d.ts.map +1 -0
  454. package/lib/esm/NativeAppStorage.js +205 -0
  455. package/lib/esm/NativeAppStorage.js.map +1 -0
  456. package/lib/esm/NativeHost.d.ts +53 -0
  457. package/lib/esm/NativeHost.d.ts.map +1 -0
  458. package/lib/esm/NativeHost.js +161 -0
  459. package/lib/esm/NativeHost.js.map +1 -0
  460. package/lib/esm/NavigationRelationship.d.ts +185 -0
  461. package/lib/esm/NavigationRelationship.d.ts.map +1 -0
  462. package/lib/esm/NavigationRelationship.js +238 -0
  463. package/lib/esm/NavigationRelationship.js.map +1 -0
  464. package/lib/esm/PromiseMemoizer.d.ts +48 -0
  465. package/lib/esm/PromiseMemoizer.d.ts.map +1 -0
  466. package/lib/esm/PromiseMemoizer.js +101 -0
  467. package/lib/esm/PromiseMemoizer.js.map +1 -0
  468. package/lib/esm/PropertyStore.d.ts +134 -0
  469. package/lib/esm/PropertyStore.d.ts.map +1 -0
  470. package/lib/esm/PropertyStore.js +177 -0
  471. package/lib/esm/PropertyStore.js.map +1 -0
  472. package/lib/esm/Relationship.d.ts +399 -0
  473. package/lib/esm/Relationship.d.ts.map +1 -0
  474. package/lib/esm/Relationship.js +476 -0
  475. package/lib/esm/Relationship.js.map +1 -0
  476. package/lib/esm/RpcBackend.d.ts +6 -0
  477. package/lib/esm/RpcBackend.d.ts.map +1 -0
  478. package/lib/esm/RpcBackend.js +28 -0
  479. package/lib/esm/RpcBackend.js.map +1 -0
  480. package/lib/esm/SQLiteDb.d.ts +324 -0
  481. package/lib/esm/SQLiteDb.d.ts.map +1 -0
  482. package/lib/esm/SQLiteDb.js +380 -0
  483. package/lib/esm/SQLiteDb.js.map +1 -0
  484. package/lib/esm/Schema.d.ts +79 -0
  485. package/lib/esm/Schema.d.ts.map +1 -0
  486. package/lib/esm/Schema.js +113 -0
  487. package/lib/esm/Schema.js.map +1 -0
  488. package/lib/esm/SchemaSync.d.ts +47 -0
  489. package/lib/esm/SchemaSync.d.ts.map +1 -0
  490. package/lib/esm/SchemaSync.js +148 -0
  491. package/lib/esm/SchemaSync.js.map +1 -0
  492. package/lib/esm/SchemaUtils.d.ts +19 -0
  493. package/lib/esm/SchemaUtils.d.ts.map +1 -0
  494. package/lib/esm/SchemaUtils.js +37 -0
  495. package/lib/esm/SchemaUtils.js.map +1 -0
  496. package/lib/esm/SheetIndex.d.ts +148 -0
  497. package/lib/esm/SheetIndex.d.ts.map +1 -0
  498. package/lib/esm/SheetIndex.js +228 -0
  499. package/lib/esm/SheetIndex.js.map +1 -0
  500. package/lib/esm/SqliteChangesetReader.d.ts +278 -0
  501. package/lib/esm/SqliteChangesetReader.d.ts.map +1 -0
  502. package/lib/esm/SqliteChangesetReader.js +337 -0
  503. package/lib/esm/SqliteChangesetReader.js.map +1 -0
  504. package/lib/esm/SqliteStatement.d.ts +375 -0
  505. package/lib/esm/SqliteStatement.d.ts.map +1 -0
  506. package/lib/esm/SqliteStatement.js +615 -0
  507. package/lib/esm/SqliteStatement.js.map +1 -0
  508. package/lib/esm/TextAnnotationElement.d.ts +54 -0
  509. package/lib/esm/TextAnnotationElement.d.ts.map +1 -0
  510. package/lib/esm/TextAnnotationElement.js +89 -0
  511. package/lib/esm/TextAnnotationElement.js.map +1 -0
  512. package/lib/esm/TextAnnotationGeometry.d.ts +32 -0
  513. package/lib/esm/TextAnnotationGeometry.d.ts.map +1 -0
  514. package/lib/esm/TextAnnotationGeometry.js +181 -0
  515. package/lib/esm/TextAnnotationGeometry.js.map +1 -0
  516. package/lib/esm/TextAnnotationLayout.d.ts +177 -0
  517. package/lib/esm/TextAnnotationLayout.d.ts.map +1 -0
  518. package/lib/esm/TextAnnotationLayout.js +513 -0
  519. package/lib/esm/TextAnnotationLayout.js.map +1 -0
  520. package/lib/esm/Texture.d.ts +58 -0
  521. package/lib/esm/Texture.d.ts.map +1 -0
  522. package/lib/esm/Texture.js +81 -0
  523. package/lib/esm/Texture.js.map +1 -0
  524. package/lib/esm/TileStorage.d.ts +59 -0
  525. package/lib/esm/TileStorage.d.ts.map +1 -0
  526. package/lib/esm/TileStorage.js +158 -0
  527. package/lib/esm/TileStorage.js.map +1 -0
  528. package/lib/esm/TxnManager.d.ts +296 -0
  529. package/lib/esm/TxnManager.d.ts.map +1 -0
  530. package/lib/esm/TxnManager.js +619 -0
  531. package/lib/esm/TxnManager.js.map +1 -0
  532. package/lib/esm/ViewDefinition.d.ts +392 -0
  533. package/lib/esm/ViewDefinition.d.ts.map +1 -0
  534. package/lib/esm/ViewDefinition.js +638 -0
  535. package/lib/esm/ViewDefinition.js.map +1 -0
  536. package/lib/esm/ViewStateHydrator.d.ts +14 -0
  537. package/lib/esm/ViewStateHydrator.d.ts.map +1 -0
  538. package/lib/esm/ViewStateHydrator.js +89 -0
  539. package/lib/esm/ViewStateHydrator.js.map +1 -0
  540. package/lib/esm/ViewStore.d.ts +502 -0
  541. package/lib/esm/ViewStore.d.ts.map +1 -0
  542. package/lib/esm/ViewStore.js +1260 -0
  543. package/lib/esm/ViewStore.js.map +1 -0
  544. package/lib/esm/core-backend.d.ts +183 -0
  545. package/lib/esm/core-backend.d.ts.map +1 -0
  546. package/lib/esm/core-backend.js +187 -0
  547. package/lib/esm/core-backend.js.map +1 -0
  548. package/lib/esm/domains/FunctionalElements.d.ts +86 -0
  549. package/lib/esm/domains/FunctionalElements.d.ts.map +1 -0
  550. package/lib/esm/domains/FunctionalElements.js +117 -0
  551. package/lib/esm/domains/FunctionalElements.js.map +1 -0
  552. package/lib/esm/domains/FunctionalSchema.d.ts +14 -0
  553. package/lib/esm/domains/FunctionalSchema.d.ts.map +1 -0
  554. package/lib/esm/domains/FunctionalSchema.js +37 -0
  555. package/lib/esm/domains/FunctionalSchema.js.map +1 -0
  556. package/lib/esm/domains/GenericElements.d.ts +160 -0
  557. package/lib/esm/domains/GenericElements.d.ts.map +1 -0
  558. package/lib/esm/domains/GenericElements.js +225 -0
  559. package/lib/esm/domains/GenericElements.js.map +1 -0
  560. package/lib/esm/domains/GenericSchema.d.ts +11 -0
  561. package/lib/esm/domains/GenericSchema.d.ts.map +1 -0
  562. package/lib/esm/domains/GenericSchema.js +25 -0
  563. package/lib/esm/domains/GenericSchema.js.map +1 -0
  564. package/lib/esm/internal/ChangesetConflictArgs.d.ts +62 -0
  565. package/lib/esm/internal/ChangesetConflictArgs.d.ts.map +1 -0
  566. package/lib/esm/internal/ChangesetConflictArgs.js +104 -0
  567. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -0
  568. package/lib/esm/internal/ChannelAdmin.d.ts +34 -0
  569. package/lib/esm/internal/ChannelAdmin.d.ts.map +1 -0
  570. package/lib/esm/internal/ChannelAdmin.js +116 -0
  571. package/lib/esm/internal/ChannelAdmin.js.map +1 -0
  572. package/lib/esm/internal/FontFileImpl.d.ts +34 -0
  573. package/lib/esm/internal/FontFileImpl.d.ts.map +1 -0
  574. package/lib/esm/internal/FontFileImpl.js +135 -0
  575. package/lib/esm/internal/FontFileImpl.js.map +1 -0
  576. package/lib/esm/internal/HubMock.d.ts +94 -0
  577. package/lib/esm/internal/HubMock.d.ts.map +1 -0
  578. package/lib/esm/internal/HubMock.js +242 -0
  579. package/lib/esm/internal/HubMock.js.map +1 -0
  580. package/lib/esm/internal/IModelDbFontsImpl.d.ts +7 -0
  581. package/lib/esm/internal/IModelDbFontsImpl.d.ts.map +1 -0
  582. package/lib/esm/internal/IModelDbFontsImpl.js +183 -0
  583. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -0
  584. package/lib/esm/internal/NativePlatform.d.ts +15 -0
  585. package/lib/esm/internal/NativePlatform.d.ts.map +1 -0
  586. package/lib/esm/internal/NativePlatform.js +43 -0
  587. package/lib/esm/internal/NativePlatform.js.map +1 -0
  588. package/lib/esm/internal/NoLocks.d.ts +6 -0
  589. package/lib/esm/internal/NoLocks.d.ts.map +1 -0
  590. package/lib/esm/internal/NoLocks.js +24 -0
  591. package/lib/esm/internal/NoLocks.js.map +1 -0
  592. package/lib/esm/internal/ServerBasedLocks.d.ts +52 -0
  593. package/lib/esm/internal/ServerBasedLocks.d.ts.map +1 -0
  594. package/lib/esm/internal/ServerBasedLocks.js +175 -0
  595. package/lib/esm/internal/ServerBasedLocks.js.map +1 -0
  596. package/lib/esm/internal/Symbols.d.ts +19 -0
  597. package/lib/esm/internal/Symbols.d.ts.map +1 -0
  598. package/lib/esm/internal/Symbols.js +26 -0
  599. package/lib/esm/internal/Symbols.js.map +1 -0
  600. package/lib/esm/internal/cross-package.d.ts +4 -0
  601. package/lib/esm/internal/cross-package.d.ts.map +1 -0
  602. package/lib/esm/internal/cross-package.js +8 -0
  603. package/lib/esm/internal/cross-package.js.map +1 -0
  604. package/lib/esm/internal/workspace/SettingsImpl.d.ts +43 -0
  605. package/lib/esm/internal/workspace/SettingsImpl.d.ts.map +1 -0
  606. package/lib/esm/internal/workspace/SettingsImpl.js +154 -0
  607. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -0
  608. package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts +6 -0
  609. package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts.map +1 -0
  610. package/lib/esm/internal/workspace/SettingsSchemasImpl.js +268 -0
  611. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -0
  612. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts +27 -0
  613. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts.map +1 -0
  614. package/lib/esm/internal/workspace/WorkspaceImpl.js +627 -0
  615. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -0
  616. package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts +10 -0
  617. package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts.map +1 -0
  618. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js +35 -0
  619. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -0
  620. package/lib/esm/rpc/multipart.d.ts +12 -0
  621. package/lib/esm/rpc/multipart.d.ts.map +1 -0
  622. package/lib/esm/rpc/multipart.js +67 -0
  623. package/lib/esm/rpc/multipart.js.map +1 -0
  624. package/lib/esm/rpc/tracing.d.ts +29 -0
  625. package/lib/esm/rpc/tracing.d.ts.map +1 -0
  626. package/lib/esm/rpc/tracing.js +71 -0
  627. package/lib/esm/rpc/tracing.js.map +1 -0
  628. package/lib/esm/rpc/web/logging.d.ts +10 -0
  629. package/lib/esm/rpc/web/logging.d.ts.map +1 -0
  630. package/lib/esm/rpc/web/logging.js +41 -0
  631. package/lib/esm/rpc/web/logging.js.map +1 -0
  632. package/lib/esm/rpc/web/request.d.ts +7 -0
  633. package/lib/esm/rpc/web/request.d.ts.map +1 -0
  634. package/lib/esm/rpc/web/request.js +71 -0
  635. package/lib/esm/rpc/web/request.js.map +1 -0
  636. package/lib/esm/rpc/web/response.d.ts +7 -0
  637. package/lib/esm/rpc/web/response.d.ts.map +1 -0
  638. package/lib/esm/rpc/web/response.js +136 -0
  639. package/lib/esm/rpc/web/response.js.map +1 -0
  640. package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts +16 -0
  641. package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts.map +1 -0
  642. package/lib/esm/rpc-impl/DevToolsRpcImpl.js +29 -0
  643. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -0
  644. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts +51 -0
  645. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -0
  646. package/lib/esm/rpc-impl/IModelReadRpcImpl.js +314 -0
  647. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -0
  648. package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts +21 -0
  649. package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts.map +1 -0
  650. package/lib/esm/rpc-impl/IModelTileRpcImpl.js +193 -0
  651. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -0
  652. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts +45 -0
  653. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -0
  654. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js +155 -0
  655. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -0
  656. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts +18 -0
  657. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts.map +1 -0
  658. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js +41 -0
  659. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -0
  660. package/lib/esm/test/AdvancedEqual.d.ts +38 -0
  661. package/lib/esm/test/AdvancedEqual.d.ts.map +1 -0
  662. package/lib/esm/test/AdvancedEqual.js +67 -0
  663. package/lib/esm/test/AdvancedEqual.js.map +1 -0
  664. package/lib/esm/test/AttachDb.test.d.ts +2 -0
  665. package/lib/esm/test/AttachDb.test.d.ts.map +1 -0
  666. package/lib/esm/test/AttachDb.test.js +157 -0
  667. package/lib/esm/test/AttachDb.test.js.map +1 -0
  668. package/lib/esm/test/GeometryTestUtil.d.ts +7 -0
  669. package/lib/esm/test/GeometryTestUtil.d.ts.map +1 -0
  670. package/lib/esm/test/GeometryTestUtil.js +25 -0
  671. package/lib/esm/test/GeometryTestUtil.js.map +1 -0
  672. package/lib/esm/test/IModelHost.test.d.ts +2 -0
  673. package/lib/esm/test/IModelHost.test.d.ts.map +1 -0
  674. package/lib/esm/test/IModelHost.test.js +187 -0
  675. package/lib/esm/test/IModelHost.test.js.map +1 -0
  676. package/lib/esm/test/IModelTestUtils.d.ts +177 -0
  677. package/lib/esm/test/IModelTestUtils.d.ts.map +1 -0
  678. package/lib/esm/test/IModelTestUtils.js +1146 -0
  679. package/lib/esm/test/IModelTestUtils.js.map +1 -0
  680. package/lib/esm/test/ImageSourceConversion.test.d.ts +2 -0
  681. package/lib/esm/test/ImageSourceConversion.test.d.ts.map +1 -0
  682. package/lib/esm/test/ImageSourceConversion.test.js +171 -0
  683. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -0
  684. package/lib/esm/test/IpcHost.test.d.ts +2 -0
  685. package/lib/esm/test/IpcHost.test.d.ts.map +1 -0
  686. package/lib/esm/test/IpcHost.test.js +55 -0
  687. package/lib/esm/test/IpcHost.test.js.map +1 -0
  688. package/lib/esm/test/KnownTestLocations.d.ts +7 -0
  689. package/lib/esm/test/KnownTestLocations.d.ts.map +1 -0
  690. package/lib/esm/test/KnownTestLocations.js +27 -0
  691. package/lib/esm/test/KnownTestLocations.js.map +1 -0
  692. package/lib/esm/test/PrintElementTree.d.ts +7 -0
  693. package/lib/esm/test/PrintElementTree.d.ts.map +1 -0
  694. package/lib/esm/test/PrintElementTree.js +36 -0
  695. package/lib/esm/test/PrintElementTree.js.map +1 -0
  696. package/lib/esm/test/PropertyDb.test.d.ts +2 -0
  697. package/lib/esm/test/PropertyDb.test.d.ts.map +1 -0
  698. package/lib/esm/test/PropertyDb.test.js +71 -0
  699. package/lib/esm/test/PropertyDb.test.js.map +1 -0
  700. package/lib/esm/test/RevisionUtility.d.ts +33 -0
  701. package/lib/esm/test/RevisionUtility.d.ts.map +1 -0
  702. package/lib/esm/test/RevisionUtility.js +52 -0
  703. package/lib/esm/test/RevisionUtility.js.map +1 -0
  704. package/lib/esm/test/SchemaUtils.test.d.ts +2 -0
  705. package/lib/esm/test/SchemaUtils.test.d.ts.map +1 -0
  706. package/lib/esm/test/SchemaUtils.test.js +99 -0
  707. package/lib/esm/test/SchemaUtils.test.js.map +1 -0
  708. package/lib/esm/test/SequentialLogMatcher.d.ts +35 -0
  709. package/lib/esm/test/SequentialLogMatcher.d.ts.map +1 -0
  710. package/lib/esm/test/SequentialLogMatcher.js +130 -0
  711. package/lib/esm/test/SequentialLogMatcher.js.map +1 -0
  712. package/lib/esm/test/TestChangeSetUtility.d.ts +23 -0
  713. package/lib/esm/test/TestChangeSetUtility.d.ts.map +1 -0
  714. package/lib/esm/test/TestChangeSetUtility.js +65 -0
  715. package/lib/esm/test/TestChangeSetUtility.js.map +1 -0
  716. package/lib/esm/test/TestUtils.d.ts +38 -0
  717. package/lib/esm/test/TestUtils.d.ts.map +1 -0
  718. package/lib/esm/test/TestUtils.js +99 -0
  719. package/lib/esm/test/TestUtils.js.map +1 -0
  720. package/lib/esm/test/annotations/TextAnnotation.test.d.ts +2 -0
  721. package/lib/esm/test/annotations/TextAnnotation.test.d.ts.map +1 -0
  722. package/lib/esm/test/annotations/TextAnnotation.test.js +1135 -0
  723. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -0
  724. package/lib/esm/test/categories/Category.test.d.ts +2 -0
  725. package/lib/esm/test/categories/Category.test.d.ts.map +1 -0
  726. package/lib/esm/test/categories/Category.test.js +51 -0
  727. package/lib/esm/test/categories/Category.test.js.map +1 -0
  728. package/lib/esm/test/codespec/CodeSpec.test.d.ts +2 -0
  729. package/lib/esm/test/codespec/CodeSpec.test.d.ts.map +1 -0
  730. package/lib/esm/test/codespec/CodeSpec.test.js +51 -0
  731. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -0
  732. package/lib/esm/test/ecdb/CTE.test.d.ts +2 -0
  733. package/lib/esm/test/ecdb/CTE.test.d.ts.map +1 -0
  734. package/lib/esm/test/ecdb/CTE.test.js +177 -0
  735. package/lib/esm/test/ecdb/CTE.test.js.map +1 -0
  736. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts +2 -0
  737. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts.map +1 -0
  738. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +167 -0
  739. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -0
  740. package/lib/esm/test/ecdb/ECDb.test.d.ts +2 -0
  741. package/lib/esm/test/ecdb/ECDb.test.d.ts.map +1 -0
  742. package/lib/esm/test/ecdb/ECDb.test.js +653 -0
  743. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -0
  744. package/lib/esm/test/ecdb/ECDbTestHelper.d.ts +5 -0
  745. package/lib/esm/test/ecdb/ECDbTestHelper.d.ts.map +1 -0
  746. package/lib/esm/test/ecdb/ECDbTestHelper.js +28 -0
  747. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -0
  748. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts +2 -0
  749. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts.map +1 -0
  750. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js +63 -0
  751. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -0
  752. package/lib/esm/test/ecdb/ECSqlAst.test.d.ts +5 -0
  753. package/lib/esm/test/ecdb/ECSqlAst.test.d.ts.map +1 -0
  754. package/lib/esm/test/ecdb/ECSqlAst.test.js +972 -0
  755. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -0
  756. package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts +2 -0
  757. package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts.map +1 -0
  758. package/lib/esm/test/ecdb/ECSqlQuery.test.js +776 -0
  759. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -0
  760. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts +2 -0
  761. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts.map +1 -0
  762. package/lib/esm/test/ecdb/ECSqlReader.test.js +669 -0
  763. package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -0
  764. package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts +2 -0
  765. package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts.map +1 -0
  766. package/lib/esm/test/ecdb/ECSqlStatement.test.js +3329 -0
  767. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -0
  768. package/lib/esm/test/ecdb/SqliteStatement.test.d.ts +2 -0
  769. package/lib/esm/test/ecdb/SqliteStatement.test.d.ts.map +1 -0
  770. package/lib/esm/test/ecdb/SqliteStatement.test.js +510 -0
  771. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -0
  772. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts +4 -0
  773. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts.map +1 -0
  774. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js +127 -0
  775. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -0
  776. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts +2 -0
  777. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts.map +1 -0
  778. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +197 -0
  779. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -0
  780. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts +66 -0
  781. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts.map +1 -0
  782. package/lib/esm/test/ecsql/src/ECSqlTestParser.js +420 -0
  783. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -0
  784. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts +2 -0
  785. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts.map +1 -0
  786. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js +369 -0
  787. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -0
  788. package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts +2 -0
  789. package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts.map +1 -0
  790. package/lib/esm/test/element/DeleteDefinitionElements.test.js +208 -0
  791. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -0
  792. package/lib/esm/test/element/ElementAspect.test.d.ts +2 -0
  793. package/lib/esm/test/element/ElementAspect.test.d.ts.map +1 -0
  794. package/lib/esm/test/element/ElementAspect.test.js +363 -0
  795. package/lib/esm/test/element/ElementAspect.test.js.map +1 -0
  796. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts +2 -0
  797. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts.map +1 -0
  798. package/lib/esm/test/element/ElementDependencyGraph.test.js +383 -0
  799. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -0
  800. package/lib/esm/test/element/ElementRoundTrip.test.d.ts +2 -0
  801. package/lib/esm/test/element/ElementRoundTrip.test.d.ts.map +1 -0
  802. package/lib/esm/test/element/ElementRoundTrip.test.js +926 -0
  803. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -0
  804. package/lib/esm/test/element/ExcludedElements.test.d.ts +2 -0
  805. package/lib/esm/test/element/ExcludedElements.test.d.ts.map +1 -0
  806. package/lib/esm/test/element/ExcludedElements.test.js +57 -0
  807. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -0
  808. package/lib/esm/test/element/ExternalSource.test.d.ts +2 -0
  809. package/lib/esm/test/element/ExternalSource.test.d.ts.map +1 -0
  810. package/lib/esm/test/element/ExternalSource.test.js +107 -0
  811. package/lib/esm/test/element/ExternalSource.test.js.map +1 -0
  812. package/lib/esm/test/element/NullStructArray.test.d.ts +2 -0
  813. package/lib/esm/test/element/NullStructArray.test.d.ts.map +1 -0
  814. package/lib/esm/test/element/NullStructArray.test.js +77 -0
  815. package/lib/esm/test/element/NullStructArray.test.js.map +1 -0
  816. package/lib/esm/test/element/UrlLink.test.d.ts +2 -0
  817. package/lib/esm/test/element/UrlLink.test.d.ts.map +1 -0
  818. package/lib/esm/test/element/UrlLink.test.js +36 -0
  819. package/lib/esm/test/element/UrlLink.test.js.map +1 -0
  820. package/lib/esm/test/font/FontFile.test.d.ts +2 -0
  821. package/lib/esm/test/font/FontFile.test.d.ts.map +1 -0
  822. package/lib/esm/test/font/FontFile.test.js +139 -0
  823. package/lib/esm/test/font/FontFile.test.js.map +1 -0
  824. package/lib/esm/test/font/IModelDbFonts.test.d.ts +2 -0
  825. package/lib/esm/test/font/IModelDbFonts.test.d.ts.map +1 -0
  826. package/lib/esm/test/font/IModelDbFonts.test.js +266 -0
  827. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -0
  828. package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts +2 -0
  829. package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts.map +1 -0
  830. package/lib/esm/test/hubaccess/BriefcaseManager.test.js +176 -0
  831. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -0
  832. package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts +2 -0
  833. package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts.map +1 -0
  834. package/lib/esm/test/hubaccess/CheckpointManager.test.js +52 -0
  835. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -0
  836. package/lib/esm/test/imageData.d.ts +9 -0
  837. package/lib/esm/test/imageData.d.ts.map +1 -0
  838. package/lib/esm/test/imageData.js +16 -0
  839. package/lib/esm/test/imageData.js.map +1 -0
  840. package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts +2 -0
  841. package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts.map +1 -0
  842. package/lib/esm/test/imodel/ElementTreeWalker.test.js +383 -0
  843. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -0
  844. package/lib/esm/test/imodel/GetTextureImage.test.d.ts +2 -0
  845. package/lib/esm/test/imodel/GetTextureImage.test.d.ts.map +1 -0
  846. package/lib/esm/test/imodel/GetTextureImage.test.js +29 -0
  847. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -0
  848. package/lib/esm/test/imodel/IModel.test.d.ts +2 -0
  849. package/lib/esm/test/imodel/IModel.test.d.ts.map +1 -0
  850. package/lib/esm/test/imodel/IModel.test.js +2615 -0
  851. package/lib/esm/test/imodel/IModel.test.js.map +1 -0
  852. package/lib/esm/test/imodel/ProjectExtents.test.d.ts +2 -0
  853. package/lib/esm/test/imodel/ProjectExtents.test.d.ts.map +1 -0
  854. package/lib/esm/test/imodel/ProjectExtents.test.js +66 -0
  855. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -0
  856. package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts +2 -0
  857. package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts.map +1 -0
  858. package/lib/esm/test/imodel/SchemaXmlImport.test.js +74 -0
  859. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -0
  860. package/lib/esm/test/index.d.ts +7 -0
  861. package/lib/esm/test/index.d.ts.map +1 -0
  862. package/lib/esm/test/index.js +11 -0
  863. package/lib/esm/test/index.js.map +1 -0
  864. package/lib/esm/test/misc/DevTools.test.d.ts +2 -0
  865. package/lib/esm/test/misc/DevTools.test.d.ts.map +1 -0
  866. package/lib/esm/test/misc/DevTools.test.js +72 -0
  867. package/lib/esm/test/misc/DevTools.test.js.map +1 -0
  868. package/lib/esm/test/misc/EntitySubClasses.test.d.ts +2 -0
  869. package/lib/esm/test/misc/EntitySubClasses.test.d.ts.map +1 -0
  870. package/lib/esm/test/misc/EntitySubClasses.test.js +106 -0
  871. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -0
  872. package/lib/esm/test/misc/GeoServices.test.d.ts +2 -0
  873. package/lib/esm/test/misc/GeoServices.test.d.ts.map +1 -0
  874. package/lib/esm/test/misc/GeoServices.test.js +850 -0
  875. package/lib/esm/test/misc/GeoServices.test.js.map +1 -0
  876. package/lib/esm/test/misc/PromiseMemoizer.test.d.ts +2 -0
  877. package/lib/esm/test/misc/PromiseMemoizer.test.d.ts.map +1 -0
  878. package/lib/esm/test/misc/PromiseMemoizer.test.js +111 -0
  879. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -0
  880. package/lib/esm/test/native/DgnDbWorker.test.d.ts +2 -0
  881. package/lib/esm/test/native/DgnDbWorker.test.d.ts.map +1 -0
  882. package/lib/esm/test/native/DgnDbWorker.test.js +159 -0
  883. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -0
  884. package/lib/esm/test/rpc/response.test.d.ts +2 -0
  885. package/lib/esm/test/rpc/response.test.d.ts.map +1 -0
  886. package/lib/esm/test/rpc/response.test.js +112 -0
  887. package/lib/esm/test/rpc/response.test.js.map +1 -0
  888. package/lib/esm/test/schema/ClassRegistry.test.d.ts +2 -0
  889. package/lib/esm/test/schema/ClassRegistry.test.d.ts.map +1 -0
  890. package/lib/esm/test/schema/ClassRegistry.test.js +679 -0
  891. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -0
  892. package/lib/esm/test/schema/FunctionalDomain.test.d.ts +2 -0
  893. package/lib/esm/test/schema/FunctionalDomain.test.d.ts.map +1 -0
  894. package/lib/esm/test/schema/FunctionalDomain.test.js +490 -0
  895. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -0
  896. package/lib/esm/test/schema/GenericDomain.test.d.ts +2 -0
  897. package/lib/esm/test/schema/GenericDomain.test.d.ts.map +1 -0
  898. package/lib/esm/test/schema/GenericDomain.test.js +133 -0
  899. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -0
  900. package/lib/esm/test/schema/IModelSchemaContext.test.d.ts +2 -0
  901. package/lib/esm/test/schema/IModelSchemaContext.test.d.ts.map +1 -0
  902. package/lib/esm/test/schema/IModelSchemaContext.test.js +95 -0
  903. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -0
  904. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts +4 -0
  905. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts.map +1 -0
  906. package/lib/esm/test/sheetindex/SheetIndex.test.js +312 -0
  907. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -0
  908. package/lib/esm/test/standalone/ChangeMerge.test.d.ts +2 -0
  909. package/lib/esm/test/standalone/ChangeMerge.test.d.ts.map +1 -0
  910. package/lib/esm/test/standalone/ChangeMerge.test.js +409 -0
  911. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -0
  912. package/lib/esm/test/standalone/ChangesetReader.test.d.ts +2 -0
  913. package/lib/esm/test/standalone/ChangesetReader.test.d.ts.map +1 -0
  914. package/lib/esm/test/standalone/ChangesetReader.test.js +891 -0
  915. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -0
  916. package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts +2 -0
  917. package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts.map +1 -0
  918. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js +49 -0
  919. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -0
  920. package/lib/esm/test/standalone/DisplayStyle.test.d.ts +2 -0
  921. package/lib/esm/test/standalone/DisplayStyle.test.d.ts.map +1 -0
  922. package/lib/esm/test/standalone/DisplayStyle.test.js +136 -0
  923. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -0
  924. package/lib/esm/test/standalone/Drawing.test.d.ts +2 -0
  925. package/lib/esm/test/standalone/Drawing.test.d.ts.map +1 -0
  926. package/lib/esm/test/standalone/Drawing.test.js +120 -0
  927. package/lib/esm/test/standalone/Drawing.test.js.map +1 -0
  928. package/lib/esm/test/standalone/ElementGraphics.test.d.ts +2 -0
  929. package/lib/esm/test/standalone/ElementGraphics.test.d.ts.map +1 -0
  930. package/lib/esm/test/standalone/ElementGraphics.test.js +127 -0
  931. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -0
  932. package/lib/esm/test/standalone/ElementMesh.test.d.ts +2 -0
  933. package/lib/esm/test/standalone/ElementMesh.test.d.ts.map +1 -0
  934. package/lib/esm/test/standalone/ElementMesh.test.js +142 -0
  935. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -0
  936. package/lib/esm/test/standalone/ExportGraphics.test.d.ts +2 -0
  937. package/lib/esm/test/standalone/ExportGraphics.test.d.ts.map +1 -0
  938. package/lib/esm/test/standalone/ExportGraphics.test.js +1005 -0
  939. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -0
  940. package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts +2 -0
  941. package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts.map +1 -0
  942. package/lib/esm/test/standalone/GeometryChangeEvents.test.js +139 -0
  943. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -0
  944. package/lib/esm/test/standalone/GeometryStream.test.d.ts +2 -0
  945. package/lib/esm/test/standalone/GeometryStream.test.d.ts.map +1 -0
  946. package/lib/esm/test/standalone/GeometryStream.test.js +2869 -0
  947. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -0
  948. package/lib/esm/test/standalone/HubMock.test.d.ts +2 -0
  949. package/lib/esm/test/standalone/HubMock.test.d.ts.map +1 -0
  950. package/lib/esm/test/standalone/HubMock.test.js +343 -0
  951. package/lib/esm/test/standalone/HubMock.test.js.map +1 -0
  952. package/lib/esm/test/standalone/IModelWrite.test.d.ts +7 -0
  953. package/lib/esm/test/standalone/IModelWrite.test.d.ts.map +1 -0
  954. package/lib/esm/test/standalone/IModelWrite.test.js +907 -0
  955. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -0
  956. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts +2 -0
  957. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts.map +1 -0
  958. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js +417 -0
  959. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -0
  960. package/lib/esm/test/standalone/MergeConflict.test.d.ts +7 -0
  961. package/lib/esm/test/standalone/MergeConflict.test.d.ts.map +1 -0
  962. package/lib/esm/test/standalone/MergeConflict.test.js +345 -0
  963. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -0
  964. package/lib/esm/test/standalone/NativeAppStorage.test.d.ts +2 -0
  965. package/lib/esm/test/standalone/NativeAppStorage.test.d.ts.map +1 -0
  966. package/lib/esm/test/standalone/NativeAppStorage.test.js +121 -0
  967. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -0
  968. package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts +2 -0
  969. package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts.map +1 -0
  970. package/lib/esm/test/standalone/RenderMaterialElement.test.js +399 -0
  971. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -0
  972. package/lib/esm/test/standalone/RenderTimeline.test.d.ts +2 -0
  973. package/lib/esm/test/standalone/RenderTimeline.test.d.ts.map +1 -0
  974. package/lib/esm/test/standalone/RenderTimeline.test.js +71 -0
  975. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -0
  976. package/lib/esm/test/standalone/SQLiteDb.test.d.ts +2 -0
  977. package/lib/esm/test/standalone/SQLiteDb.test.d.ts.map +1 -0
  978. package/lib/esm/test/standalone/SQLiteDb.test.js +63 -0
  979. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -0
  980. package/lib/esm/test/standalone/SchemaUtils.test.d.ts +2 -0
  981. package/lib/esm/test/standalone/SchemaUtils.test.d.ts.map +1 -0
  982. package/lib/esm/test/standalone/SchemaUtils.test.js +25 -0
  983. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -0
  984. package/lib/esm/test/standalone/SectionDrawing.test.d.ts +2 -0
  985. package/lib/esm/test/standalone/SectionDrawing.test.d.ts.map +1 -0
  986. package/lib/esm/test/standalone/SectionDrawing.test.js +83 -0
  987. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -0
  988. package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts +2 -0
  989. package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts.map +1 -0
  990. package/lib/esm/test/standalone/ServerBasedLocks.test.js +279 -0
  991. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -0
  992. package/lib/esm/test/standalone/Setting.test.d.ts +2 -0
  993. package/lib/esm/test/standalone/Setting.test.d.ts.map +1 -0
  994. package/lib/esm/test/standalone/Setting.test.js +76 -0
  995. package/lib/esm/test/standalone/Setting.test.js.map +1 -0
  996. package/lib/esm/test/standalone/Settings.test.d.ts +2 -0
  997. package/lib/esm/test/standalone/Settings.test.d.ts.map +1 -0
  998. package/lib/esm/test/standalone/Settings.test.js +349 -0
  999. package/lib/esm/test/standalone/Settings.test.js.map +1 -0
  1000. package/lib/esm/test/standalone/SettingsSchemas.test.d.ts +2 -0
  1001. package/lib/esm/test/standalone/SettingsSchemas.test.d.ts.map +1 -0
  1002. package/lib/esm/test/standalone/SettingsSchemas.test.js +31 -0
  1003. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -0
  1004. package/lib/esm/test/standalone/SnapshotDb.test.d.ts +2 -0
  1005. package/lib/esm/test/standalone/SnapshotDb.test.d.ts.map +1 -0
  1006. package/lib/esm/test/standalone/SnapshotDb.test.js +155 -0
  1007. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -0
  1008. package/lib/esm/test/standalone/Texture.test.d.ts +2 -0
  1009. package/lib/esm/test/standalone/Texture.test.d.ts.map +1 -0
  1010. package/lib/esm/test/standalone/Texture.test.js +90 -0
  1011. package/lib/esm/test/standalone/Texture.test.js.map +1 -0
  1012. package/lib/esm/test/standalone/TileCache.test.d.ts +9 -0
  1013. package/lib/esm/test/standalone/TileCache.test.d.ts.map +1 -0
  1014. package/lib/esm/test/standalone/TileCache.test.js +127 -0
  1015. package/lib/esm/test/standalone/TileCache.test.js.map +1 -0
  1016. package/lib/esm/test/standalone/TileTree.test.d.ts +2 -0
  1017. package/lib/esm/test/standalone/TileTree.test.d.ts.map +1 -0
  1018. package/lib/esm/test/standalone/TileTree.test.js +241 -0
  1019. package/lib/esm/test/standalone/TileTree.test.js.map +1 -0
  1020. package/lib/esm/test/standalone/TxnManager.test.d.ts +2 -0
  1021. package/lib/esm/test/standalone/TxnManager.test.d.ts.map +1 -0
  1022. package/lib/esm/test/standalone/TxnManager.test.js +878 -0
  1023. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -0
  1024. package/lib/esm/test/standalone/ViewDefinition.test.d.ts +2 -0
  1025. package/lib/esm/test/standalone/ViewDefinition.test.d.ts.map +1 -0
  1026. package/lib/esm/test/standalone/ViewDefinition.test.js +279 -0
  1027. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -0
  1028. package/lib/esm/test/standalone/ViewStoreDb.test.d.ts +2 -0
  1029. package/lib/esm/test/standalone/ViewStoreDb.test.d.ts.map +1 -0
  1030. package/lib/esm/test/standalone/ViewStoreDb.test.js +288 -0
  1031. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -0
  1032. package/lib/esm/test/standalone/Workspace.test.d.ts +2 -0
  1033. package/lib/esm/test/standalone/Workspace.test.d.ts.map +1 -0
  1034. package/lib/esm/test/standalone/Workspace.test.js +162 -0
  1035. package/lib/esm/test/standalone/Workspace.test.js.map +1 -0
  1036. package/lib/esm/workspace/Settings.d.ts +216 -0
  1037. package/lib/esm/workspace/Settings.d.ts.map +1 -0
  1038. package/lib/esm/workspace/Settings.js +83 -0
  1039. package/lib/esm/workspace/Settings.js.map +1 -0
  1040. package/lib/esm/workspace/SettingsSchemas.d.ts +135 -0
  1041. package/lib/esm/workspace/SettingsSchemas.d.ts.map +1 -0
  1042. package/lib/esm/workspace/SettingsSchemas.js +9 -0
  1043. package/lib/esm/workspace/SettingsSchemas.js.map +1 -0
  1044. package/lib/esm/workspace/Workspace.d.ts +500 -0
  1045. package/lib/esm/workspace/Workspace.d.ts.map +1 -0
  1046. package/lib/esm/workspace/Workspace.js +97 -0
  1047. package/lib/esm/workspace/Workspace.js.map +1 -0
  1048. package/lib/esm/workspace/WorkspaceEditor.d.ts +240 -0
  1049. package/lib/esm/workspace/WorkspaceEditor.d.ts.map +1 -0
  1050. package/lib/esm/workspace/WorkspaceEditor.js +31 -0
  1051. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -0
  1052. package/package.json +36 -28
  1053. package/lib/cjs/HubMock.d.ts.map +0 -1
  1054. package/lib/cjs/HubMock.js.map +0 -1
  1055. package/lib/cjs/IModelCloneContext.d.ts +0 -9
  1056. package/lib/cjs/IModelCloneContext.d.ts.map +0 -1
  1057. package/lib/cjs/IModelCloneContext.js.map +0 -1
@@ -0,0 +1,926 @@
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 { assert, expect } from "chai";
6
+ import { DbResult, Id64 } from "@itwin/core-bentley";
7
+ import { BriefcaseIdValue, Code, ColorDef, ElementGeometry, IModel, QueryRowFormat, SubCategoryAppearance, } from "@itwin/core-common";
8
+ import { Angle, Arc3d, Cone, IModelJson as GeomJson, LineSegment3d, Point2d, Point3d } from "@itwin/core-geometry";
9
+ import { _nativeDb, IModelDb, IModelJsFs, PhysicalModel, PhysicalObject, SnapshotDb, SpatialCategory } from "../../core-backend";
10
+ import { IModelTestUtils } from "../IModelTestUtils";
11
+ import { EntityClass, RelationshipClass } from "@itwin/ecschema-metadata";
12
+ function verifyPrimitiveBase(actualValue, expectedValue) {
13
+ if (expectedValue.i !== undefined)
14
+ assert.equal(actualValue.i, expectedValue.i, "'integer' type property did not roundtrip as expected");
15
+ if (expectedValue.l !== undefined)
16
+ assert.equal(actualValue.l, expectedValue.l, "'long' type property did not roundtrip as expected");
17
+ if (expectedValue.d !== undefined)
18
+ assert.equal(actualValue.d, expectedValue.d, "'double' type property did not roundtrip as expected");
19
+ if (expectedValue.b !== undefined)
20
+ assert.equal(actualValue.b, expectedValue.b, "'boolean' type property did not roundtrip as expected");
21
+ if (expectedValue.dt !== undefined)
22
+ assert.equal(actualValue.dt, expectedValue.dt, "'dateTime' type property did not roundtrip as expected");
23
+ if (expectedValue.s !== undefined)
24
+ assert.equal(actualValue.s, expectedValue.s, "'string' type property did not roundtrip as expected");
25
+ if (expectedValue.p2d) {
26
+ assert.equal(actualValue.p2d?.x, expectedValue.p2d.x, "'Point2d.x' type property did not roundtrip as expected");
27
+ assert.equal(actualValue.p2d?.y, expectedValue.p2d.y, "'Point2d.y' type property did not roundtrip as expected");
28
+ }
29
+ else if (expectedValue.p2d === null) {
30
+ assert.equal(actualValue.p2d, expectedValue.p2d, "'Point2d' type property did not roundtrip as expected.");
31
+ }
32
+ if (expectedValue.p3d) {
33
+ assert.equal(actualValue.p3d?.x, expectedValue.p3d.x, "'Point3d.x' type property did not roundtrip as expected");
34
+ assert.equal(actualValue.p3d?.y, expectedValue.p3d.y, "'Point3d.y' type property did not roundtrip as expected");
35
+ assert.equal(actualValue.p3d?.z, expectedValue.p3d.z, "'Point3d.z' type property did not roundtrip as expected");
36
+ }
37
+ else if (expectedValue.p3d === null) {
38
+ assert.equal(actualValue.p3d, expectedValue.p3d, "'Point3d' type property did not roundtrip as expected.");
39
+ }
40
+ if (expectedValue.bin) {
41
+ assert.isTrue(blobEqual(actualValue.bin, expectedValue.bin), "'binary' type property did not roundtrip as expected");
42
+ }
43
+ else if (expectedValue.bin === null) {
44
+ assert.equal(actualValue.bin, expectedValue.bin, "'binary' type property did not roundtrip as expected.");
45
+ }
46
+ if (expectedValue.g) {
47
+ expect(actualValue.g, "'geometry' type property did not roundtrip as expected.").to.deep.equal(expectedValue.g);
48
+ }
49
+ else if (expectedValue.g === null) {
50
+ assert.equal(actualValue.g, expectedValue.g, "'geometry' type property did not roundtrip as expected.");
51
+ }
52
+ }
53
+ function verifyPrimitiveArrayBase(actualValue, expectedValue) {
54
+ if (expectedValue.array_bin) {
55
+ assert.equal(actualValue.array_bin.length, expectedValue.array_bin.length, "'binary[].length' array length mismatch");
56
+ expectedValue.array_bin.forEach((value, index) => {
57
+ if (value) {
58
+ assert.isTrue(blobEqual(actualValue.array_bin[index], value), "'binary[]' type property did not roundtrip as expected");
59
+ }
60
+ else if (value === null) {
61
+ assert.equal(actualValue.array_bin[index], value, "'binary[]' type property did not roundtrip as expected");
62
+ }
63
+ });
64
+ }
65
+ else if (expectedValue.array_bin === null) {
66
+ assert.equal(actualValue.array_bin, expectedValue.array_bin, "'binary[]' type property did not roundtrip as expected.");
67
+ }
68
+ if (expectedValue.array_i) {
69
+ assert.equal(actualValue.array_i.length, expectedValue.array_i.length, "'integer[].length' array length mismatch");
70
+ expectedValue.array_i.forEach((value, index) => {
71
+ assert.equal(actualValue.array_i[index], value, "'integer[]' type property did not roundtrip as expected");
72
+ });
73
+ }
74
+ else if (expectedValue.array_i === null) {
75
+ assert.equal(actualValue.array_i, expectedValue.array_i, "'integer[]' type property did not roundtrip as expected.");
76
+ }
77
+ if (expectedValue.array_l) {
78
+ assert.equal(actualValue.array_l.length, expectedValue.array_l.length, "'long[].length' array length mismatch");
79
+ expectedValue.array_l.forEach((value, index) => {
80
+ assert.equal(actualValue.array_l[index], value, "'long[]' type property did not roundtrip as expected");
81
+ });
82
+ }
83
+ else if (expectedValue.array_l === null) {
84
+ assert.equal(actualValue.array_l, expectedValue.array_l, "'long[]' type property did not roundtrip as expected.");
85
+ }
86
+ if (expectedValue.array_d) {
87
+ assert.equal(actualValue.array_d.length, expectedValue.array_d.length, "'double[].length' array length mismatch");
88
+ expectedValue.array_d.forEach((value, index) => {
89
+ assert.equal(actualValue.array_d[index], value, "'double[]' type property did not roundtrip as expected");
90
+ });
91
+ }
92
+ else if (expectedValue.array_d === null) {
93
+ assert.equal(actualValue.array_d, expectedValue.array_d, "'double[]' type property did not roundtrip as expected.");
94
+ }
95
+ if (expectedValue.array_b) {
96
+ assert.equal(actualValue.array_b.length, expectedValue.array_b.length, "'boolean[].length' array length mismatch");
97
+ expectedValue.array_b.forEach((value, index) => {
98
+ assert.equal(actualValue.array_b[index], value, "'boolean[]' type property did not roundtrip as expected");
99
+ });
100
+ }
101
+ else if (expectedValue.array_b === null) {
102
+ assert.equal(actualValue.array_b, expectedValue.array_b, "'boolean[]' type property did not roundtrip as expected.");
103
+ }
104
+ if (expectedValue.array_dt) {
105
+ assert.equal(actualValue.array_dt.length, expectedValue.array_dt.length, "'dateTime[].length' array length mismatch");
106
+ expectedValue.array_dt.forEach((value, index) => {
107
+ assert.equal(actualValue.array_dt[index], value, "'dateTime[]' type property did not roundtrip as expected");
108
+ });
109
+ }
110
+ else if (expectedValue.array_dt === null) {
111
+ assert.equal(actualValue.array_dt, expectedValue.array_dt, "'dateTime[]' type property did not roundtrip as expected.");
112
+ }
113
+ if (expectedValue.array_g) {
114
+ assert.equal(actualValue.array_g.length, expectedValue.array_g.length, "'geometry[].length' array length mismatch");
115
+ expectedValue.array_g.forEach((value, index) => {
116
+ if (value) {
117
+ expect(actualValue.array_g[index], "'geometry[]' type property did not roundtrip as expected").to.deep.equal(value);
118
+ }
119
+ else if (value === null) {
120
+ assert.equal(actualValue.array_g[index], value, "'geometry[]' type property did not roundtrip as expected");
121
+ }
122
+ });
123
+ }
124
+ else if (expectedValue.array_g === null) {
125
+ assert.equal(actualValue.array_g, expectedValue.array_g, "'geometry[]' type property did not roundtrip as expected.");
126
+ }
127
+ if (expectedValue.array_s) {
128
+ assert.equal(actualValue.array_s.length, expectedValue.array_s.length, "'string[].length' array length mismatch");
129
+ expectedValue.array_s.forEach((value, index) => {
130
+ assert.equal(actualValue.array_s[index], value, "'string[]' type property did not roundtrip as expected");
131
+ });
132
+ }
133
+ else if (expectedValue.array_s === null) {
134
+ assert.equal(actualValue.array_s, expectedValue.array_s, "'string[]' type property did not roundtrip as expected.");
135
+ }
136
+ if (expectedValue.array_p2d) {
137
+ assert.equal(actualValue.array_p2d.length, expectedValue.array_p2d.length, "'point2d[].length' array length mismatch");
138
+ expectedValue.array_p2d.forEach((value, index) => {
139
+ if (value) {
140
+ assert.equal(actualValue.array_p2d[index].x, value.x, "'point2d[].x' type property did not roundtrip as expected");
141
+ assert.equal(actualValue.array_p2d[index].y, value.y, "'point2d[].y' type property did not roundtrip as expected");
142
+ }
143
+ else if (value === null) {
144
+ assert.equal(actualValue.array_p2d[index], value, "'point2d[]' type property did not roundtrip as expected.");
145
+ }
146
+ });
147
+ }
148
+ else if (expectedValue.array_p2d === null) {
149
+ assert.equal(actualValue.array_p2d, expectedValue.array_p2d, "'point2d[]' type property did not roundtrip as expected.");
150
+ }
151
+ if (expectedValue.array_p3d) {
152
+ assert.equal(actualValue.array_p3d.length, expectedValue.array_p3d.length, "'point3d[].length' array length mismatch");
153
+ expectedValue.array_p3d.forEach((value, index) => {
154
+ if (value) {
155
+ assert.equal(actualValue.array_p3d[index].x, value.x, "'point3d[].x' type property did not roundtrip as expected");
156
+ assert.equal(actualValue.array_p3d[index].y, value.y, "'point3d[].y' type property did not roundtrip as expected");
157
+ assert.equal(actualValue.array_p3d[index].z, value.z, "'point3d[].z' type property did not roundtrip as expected");
158
+ }
159
+ else if (value === null) {
160
+ assert.equal(actualValue.array_p3d[index], value, "'point3d[]' type property did not roundtrip as expected.");
161
+ }
162
+ });
163
+ }
164
+ else if (expectedValue.array_p3d === null) {
165
+ assert.equal(actualValue.array_p3d, expectedValue.array_p3d, "'point3d[]' type property did not roundtrip as expected.");
166
+ }
167
+ }
168
+ function verifyPrimitive(actualValue, expectedValue) {
169
+ verifyPrimitiveBase(actualValue, expectedValue);
170
+ if (expectedValue.st) {
171
+ verifyPrimitive(actualValue.st, expectedValue.st);
172
+ verifyPrimitiveArray(actualValue.st, expectedValue.st);
173
+ }
174
+ else if (expectedValue.st === null) {
175
+ assert.equal(actualValue.st, expectedValue.st, "'ComplexStruct' type property did not roundtrip as expected.");
176
+ }
177
+ }
178
+ function verifyPrimitiveArray(actualValue, expectedValue) {
179
+ verifyPrimitiveArrayBase(actualValue, expectedValue);
180
+ if (expectedValue.array_st) {
181
+ assert.equal(actualValue.array_st.length, expectedValue.array_st.length, "'struct[].length' array length mismatch");
182
+ actualValue.array_st.forEach((lhs, i) => {
183
+ verifyPrimitiveBase(lhs, expectedValue.array_st[i]);
184
+ verifyPrimitiveArrayBase(lhs, expectedValue.array_st[i]);
185
+ });
186
+ }
187
+ else if (expectedValue.array_st === null) {
188
+ assert.equal(actualValue.array_st, expectedValue.array_st, "'ComplexStruct[]' type property did not roundtrip as expected.");
189
+ }
190
+ }
191
+ function verifySystemProperty(actualValue, expectedValue) {
192
+ assert.deepEqual(actualValue, expectedValue, "System property did not roundtrip as expected");
193
+ }
194
+ function verifyTestElement(actualValue, expectedValue) {
195
+ verifyPrimitive(actualValue, expectedValue);
196
+ verifyPrimitiveArray(actualValue, expectedValue);
197
+ }
198
+ function verifyTestElementAspect(actualValue, expectedValue) {
199
+ verifyPrimitive(actualValue, expectedValue);
200
+ verifyPrimitiveArray(actualValue, expectedValue);
201
+ }
202
+ function initElemProps(className, _iModelName, modId, catId, autoHandledProp) {
203
+ // add Geometry
204
+ const geomArray = [
205
+ Arc3d.createXY(Point3d.create(0, 0), 5),
206
+ Arc3d.createXY(Point3d.create(5, 5), 2),
207
+ Arc3d.createXY(Point3d.create(-5, -5), 20),
208
+ ];
209
+ const geometryStream = [];
210
+ for (const geom of geomArray) {
211
+ const arcData = GeomJson.Writer.toIModelJson(geom);
212
+ geometryStream.push(arcData);
213
+ }
214
+ // Create props
215
+ const elementProps = {
216
+ classFullName: `ElementRoundTripTest:${className}`,
217
+ model: modId,
218
+ category: catId,
219
+ code: Code.createEmpty(),
220
+ geom: geometryStream,
221
+ };
222
+ if (autoHandledProp)
223
+ Object.assign(elementProps, autoHandledProp);
224
+ return elementProps;
225
+ }
226
+ function initElementAspectProps(className, _iModelName, elId, autoHandledProp) {
227
+ // Create props
228
+ const elementProps = {
229
+ classFullName: `ElementRoundTripTest:${className}`,
230
+ element: { id: elId },
231
+ };
232
+ if (autoHandledProp)
233
+ Object.assign(elementProps, autoHandledProp);
234
+ return elementProps;
235
+ }
236
+ function blobEqual(lhs, rhs) {
237
+ if (!(lhs instanceof Uint8Array) || !(rhs instanceof Uint8Array))
238
+ throw new Error("expecting uint8array");
239
+ if (lhs.byteLength !== rhs.byteLength)
240
+ return false;
241
+ for (let i = 0; i < lhs.byteLength; i++) {
242
+ if (lhs[i] !== rhs[i])
243
+ return false;
244
+ }
245
+ return true;
246
+ }
247
+ function initElementRefersToElementsProps(className, _iModelName, elId1, elId2, autoHandledProp) {
248
+ // Create props
249
+ const result = {
250
+ classFullName: `ElementRoundTripTest:${className}`,
251
+ sourceId: elId1,
252
+ targetId: elId2,
253
+ };
254
+ if (autoHandledProp)
255
+ Object.assign(result, autoHandledProp);
256
+ return result;
257
+ }
258
+ describe("Element and ElementAspect roundtrip test for all type of properties", () => {
259
+ const testSchema = `<?xml version="1.0" encoding="UTF-8"?>
260
+ <ECSchema schemaName="ElementRoundTripTest" alias="ts" version="01.00.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
261
+ <ECSchemaReference name="BisCore" version="01.00.04" alias="bis"/>
262
+ <ECSchemaReference name="CoreCustomAttributes" version="01.00.03" alias="CoreCA"/>
263
+ <ECEntityClass typeName="TestElement" modifier="None">
264
+ <BaseClass>bis:PhysicalElement</BaseClass>
265
+ <BaseClass>IPrimitive</BaseClass>
266
+ <BaseClass>IPrimitiveArray</BaseClass>
267
+ </ECEntityClass>
268
+ <ECEntityClass typeName="TestElementAspect" modifier="None">
269
+ <BaseClass>bis:ElementUniqueAspect</BaseClass>
270
+ <BaseClass>IPrimitiveAspect</BaseClass>
271
+ <BaseClass>IPrimitiveArrayAspect</BaseClass>
272
+ </ECEntityClass>
273
+ <ECRelationshipClass typeName="TestElementRefersToElements" strength="referencing" modifier="Sealed">
274
+ <BaseClass>bis:ElementRefersToElements</BaseClass>
275
+ <Source multiplicity="(0..*)" roleLabel="refers to" polymorphic="true">
276
+ <Class class="TestElement"/>
277
+ </Source>
278
+ <Target multiplicity="(0..*)" roleLabel="is referenced by" polymorphic="true">
279
+ <Class class="TestElement"/>
280
+ </Target>
281
+ <ECProperty propertyName="i" typeName="int"/>
282
+ <ECProperty propertyName="l" typeName="long"/>
283
+ <ECProperty propertyName="d" typeName="double"/>
284
+ <ECProperty propertyName="b" typeName="boolean"/>
285
+ <ECProperty propertyName="dt" typeName="dateTime"/>
286
+ <ECProperty propertyName="s" typeName="string"/>
287
+ <ECProperty propertyName="bin" typeName="binary"/>
288
+ <ECProperty propertyName="p2d" typeName="point2d"/>
289
+ <ECProperty propertyName="p3d" typeName="point3d"/>
290
+ <ECProperty propertyName="g" typeName="Bentley.Geometry.Common.IGeometry"/>
291
+ <!--<ECStructProperty propertyName="st" typeName="ComplexStruct"/>-->
292
+ <ECArrayProperty propertyName="array_i" typeName="int" minOccurs="0" maxOccurs="unbounded"/>
293
+ <ECArrayProperty propertyName="array_l" typeName="long" minOccurs="0" maxOccurs="unbounded"/>
294
+ <ECArrayProperty propertyName="array_d" typeName="double" minOccurs="0" maxOccurs="unbounded"/>
295
+ <ECArrayProperty propertyName="array_b" typeName="boolean" minOccurs="0" maxOccurs="unbounded"/>
296
+ <ECArrayProperty propertyName="array_dt" typeName="dateTime" minOccurs="0" maxOccurs="unbounded"/>
297
+ <ECArrayProperty propertyName="array_s" typeName="string" minOccurs="0" maxOccurs="unbounded"/>
298
+ <ECArrayProperty propertyName="array_bin" typeName="binary" minOccurs="0" maxOccurs="unbounded"/>
299
+ <ECArrayProperty propertyName="array_p2d" typeName="point2d" minOccurs="0" maxOccurs="unbounded"/>
300
+ <ECArrayProperty propertyName="array_p3d" typeName="point3d" minOccurs="0" maxOccurs="unbounded"/>
301
+ <ECArrayProperty propertyName="array_g" typeName="Bentley.Geometry.Common.IGeometry" minOccurs="0" maxOccurs="unbounded"/>
302
+ <!--<ECStructArrayProperty propertyName="array_st" typeName="ComplexStruct" minOccurs="0" maxOccurs="unbounded"/>-->
303
+ </ECRelationshipClass>
304
+ <ECEntityClass typeName="IPrimitive" modifier="Abstract">
305
+ <ECCustomAttributes>
306
+ <IsMixin xmlns="CoreCustomAttributes.01.00.03">
307
+ <AppliesToEntityClass>bis:PhysicalElement</AppliesToEntityClass>
308
+ </IsMixin>
309
+ </ECCustomAttributes>
310
+ <ECProperty propertyName="i" typeName="int"/>
311
+ <ECProperty propertyName="l" typeName="long"/>
312
+ <ECProperty propertyName="d" typeName="double"/>
313
+ <ECProperty propertyName="b" typeName="boolean"/>
314
+ <ECProperty propertyName="dt" typeName="dateTime"/>
315
+ <ECProperty propertyName="s" typeName="string"/>
316
+ <ECProperty propertyName="bin" typeName="binary"/>
317
+ <ECProperty propertyName="p2d" typeName="point2d"/>
318
+ <ECProperty propertyName="p3d" typeName="point3d"/>
319
+ <ECProperty propertyName="g" typeName="Bentley.Geometry.Common.IGeometry"/>
320
+ <ECStructProperty propertyName="st" typeName="ComplexStruct"/>
321
+ </ECEntityClass>
322
+ <ECEntityClass typeName="IPrimitiveAspect" modifier="Abstract">
323
+ <ECCustomAttributes>
324
+ <IsMixin xmlns="CoreCustomAttributes.01.00.03">
325
+ <AppliesToEntityClass>bis:ElementUniqueAspect</AppliesToEntityClass>
326
+ </IsMixin>
327
+ </ECCustomAttributes>
328
+ <ECProperty propertyName="i" typeName="int"/>
329
+ <ECProperty propertyName="l" typeName="long"/>
330
+ <ECProperty propertyName="d" typeName="double"/>
331
+ <ECProperty propertyName="b" typeName="boolean"/>
332
+ <ECProperty propertyName="dt" typeName="dateTime"/>
333
+ <ECProperty propertyName="s" typeName="string"/>
334
+ <ECProperty propertyName="bin" typeName="binary"/>
335
+ <ECProperty propertyName="p2d" typeName="point2d"/>
336
+ <ECProperty propertyName="p3d" typeName="point3d"/>
337
+ <ECProperty propertyName="g" typeName="Bentley.Geometry.Common.IGeometry"/>
338
+ <ECStructProperty propertyName="st" typeName="ComplexStruct"/>
339
+ </ECEntityClass>
340
+ <ECEntityClass typeName="IPrimitiveArray" modifier="Abstract">
341
+ <ECCustomAttributes>
342
+ <IsMixin xmlns="CoreCustomAttributes.01.00.03">
343
+ <AppliesToEntityClass>bis:PhysicalElement</AppliesToEntityClass>
344
+ </IsMixin>
345
+ </ECCustomAttributes>
346
+ <ECArrayProperty propertyName="array_i" typeName="int" minOccurs="0" maxOccurs="unbounded"/>
347
+ <ECArrayProperty propertyName="array_l" typeName="long" minOccurs="0" maxOccurs="unbounded"/>
348
+ <ECArrayProperty propertyName="array_d" typeName="double" minOccurs="0" maxOccurs="unbounded"/>
349
+ <ECArrayProperty propertyName="array_b" typeName="boolean" minOccurs="0" maxOccurs="unbounded"/>
350
+ <ECArrayProperty propertyName="array_dt" typeName="dateTime" minOccurs="0" maxOccurs="unbounded"/>
351
+ <ECArrayProperty propertyName="array_s" typeName="string" minOccurs="0" maxOccurs="unbounded"/>
352
+ <ECArrayProperty propertyName="array_bin" typeName="binary" minOccurs="0" maxOccurs="unbounded"/>
353
+ <ECArrayProperty propertyName="array_p2d" typeName="point2d" minOccurs="0" maxOccurs="unbounded"/>
354
+ <ECArrayProperty propertyName="array_p3d" typeName="point3d" minOccurs="0" maxOccurs="unbounded"/>
355
+ <ECArrayProperty propertyName="array_g" typeName="Bentley.Geometry.Common.IGeometry" minOccurs="0" maxOccurs="unbounded"/>
356
+ <ECStructArrayProperty propertyName="array_st" typeName="ComplexStruct" minOccurs="0" maxOccurs="unbounded"/>
357
+ </ECEntityClass>
358
+ <ECEntityClass typeName="IPrimitiveArrayAspect" modifier="Abstract">
359
+ <ECCustomAttributes>
360
+ <IsMixin xmlns="CoreCustomAttributes.01.00.03">
361
+ <AppliesToEntityClass>bis:ElementUniqueAspect</AppliesToEntityClass>
362
+ </IsMixin>
363
+ </ECCustomAttributes>
364
+ <ECArrayProperty propertyName="array_i" typeName="int" minOccurs="0" maxOccurs="unbounded"/>
365
+ <ECArrayProperty propertyName="array_l" typeName="long" minOccurs="0" maxOccurs="unbounded"/>
366
+ <ECArrayProperty propertyName="array_d" typeName="double" minOccurs="0" maxOccurs="unbounded"/>
367
+ <ECArrayProperty propertyName="array_b" typeName="boolean" minOccurs="0" maxOccurs="unbounded"/>
368
+ <ECArrayProperty propertyName="array_dt" typeName="dateTime" minOccurs="0" maxOccurs="unbounded"/>
369
+ <ECArrayProperty propertyName="array_s" typeName="string" minOccurs="0" maxOccurs="unbounded"/>
370
+ <ECArrayProperty propertyName="array_bin" typeName="binary" minOccurs="0" maxOccurs="unbounded"/>
371
+ <ECArrayProperty propertyName="array_p2d" typeName="point2d" minOccurs="0" maxOccurs="unbounded"/>
372
+ <ECArrayProperty propertyName="array_p3d" typeName="point3d" minOccurs="0" maxOccurs="unbounded"/>
373
+ <ECArrayProperty propertyName="array_g" typeName="Bentley.Geometry.Common.IGeometry" minOccurs="0" maxOccurs="unbounded"/>
374
+ <ECStructArrayProperty propertyName="array_st" typeName="ComplexStruct" minOccurs="0" maxOccurs="unbounded"/>
375
+ </ECEntityClass>
376
+ <ECStructClass typeName="ComplexStruct" modifier="None">
377
+ <ECProperty propertyName="i" typeName="int"/>
378
+ <ECProperty propertyName="l" typeName="long"/>
379
+ <ECProperty propertyName="d" typeName="double"/>
380
+ <ECProperty propertyName="b" typeName="boolean"/>
381
+ <ECProperty propertyName="dt" typeName="dateTime"/>
382
+ <ECProperty propertyName="s" typeName="string"/>
383
+ <ECProperty propertyName="bin" typeName="binary"/>
384
+ <ECProperty propertyName="p2d" typeName="point2d"/>
385
+ <ECProperty propertyName="p3d" typeName="point3d"/>
386
+ <ECProperty propertyName="g" typeName="Bentley.Geometry.Common.IGeometry"/>
387
+ <ECArrayProperty propertyName="array_i" typeName="int" minOccurs="0" maxOccurs="unbounded"/>
388
+ <ECArrayProperty propertyName="array_l" typeName="long" minOccurs="0" maxOccurs="unbounded"/>
389
+ <ECArrayProperty propertyName="array_d" typeName="double" minOccurs="0" maxOccurs="unbounded"/>
390
+ <ECArrayProperty propertyName="array_b" typeName="boolean" minOccurs="0" maxOccurs="unbounded"/>
391
+ <ECArrayProperty propertyName="array_dt" typeName="dateTime" minOccurs="0" maxOccurs="unbounded"/>
392
+ <ECArrayProperty propertyName="array_s" typeName="string" minOccurs="0" maxOccurs="unbounded"/>
393
+ <ECArrayProperty propertyName="array_bin" typeName="binary" minOccurs="0" maxOccurs="unbounded"/>
394
+ <ECArrayProperty propertyName="array_p2d" typeName="point2d" minOccurs="0" maxOccurs="unbounded"/>
395
+ <ECArrayProperty propertyName="array_p3d" typeName="point3d" minOccurs="0" maxOccurs="unbounded"/>
396
+ <ECArrayProperty propertyName="array_g" typeName="Bentley.Geometry.Common.IGeometry" minOccurs="0" maxOccurs="unbounded"/>
397
+ </ECStructClass>
398
+ </ECSchema>`;
399
+ const schemaFileName = "ElementRoundTripTest.01.00.00.xml";
400
+ const iModelFileName = "ElementRoundTripTest.bim";
401
+ const categoryName = "RoundTripCategory";
402
+ const subDirName = "ElementRoundTrip";
403
+ const iModelPath = IModelTestUtils.prepareOutputFile(subDirName, iModelFileName);
404
+ const primInst1 = {
405
+ i: 101,
406
+ l: 12334343434,
407
+ d: 1023.34,
408
+ b: true,
409
+ dt: "2017-01-01T00:00:00.000",
410
+ s: "Test string Inst1",
411
+ bin: new Uint8Array([1, 2, 3]),
412
+ g: GeomJson.Writer.toIModelJson(Cone.createAxisPoints(Point3d.create(0, 0, 0), Point3d.create(0, 0, 1), 0.5, 0.5, false)),
413
+ p2d: new Point2d(1.034, 2.034),
414
+ p3d: new Point3d(-1.0, 2.3, 3.0001),
415
+ };
416
+ const primInst2 = {
417
+ i: 4322,
418
+ l: 98283333,
419
+ d: -2343.342,
420
+ b: false,
421
+ dt: "2010-01-01T11:11:11.000",
422
+ s: "Test string Inst2",
423
+ bin: new Uint8Array([11, 21, 31, 34, 53, 21, 14, 14, 55, 22]),
424
+ g: GeomJson.Writer.toIModelJson(Cone.createAxisPoints(Point3d.create(0, 1, 0), Point3d.create(0, 0, 1), 0.5, 0.5, false)),
425
+ p2d: new Point2d(1111.11, 2222.22),
426
+ p3d: new Point3d(-111.11, -222.22, -333.33),
427
+ };
428
+ const primArrInst1 = {
429
+ array_i: [101, 202, -345],
430
+ array_l: [12334343434, 3434343434, 12],
431
+ array_d: [1023.34, 3023.34, -3432.033],
432
+ array_b: [true, false, true, false],
433
+ array_dt: ["2017-01-01T00:00:00.000", "2018-01-01T00:00:00.000"],
434
+ array_s: ["Test string 1", "Test string 2", "Test string 3"],
435
+ array_bin: [new Uint8Array([1, 2, 3]), new Uint8Array([4, 2, 3, 3, 4, 55, 6, 65])],
436
+ array_p2d: [new Point2d(1, 2), new Point2d(2, 4)],
437
+ array_p3d: [new Point3d(1, 2, 3), new Point3d(4, 5, 6)],
438
+ array_g: [
439
+ GeomJson.Writer.toIModelJson(Cone.createAxisPoints(Point3d.create(0, 1, 0), Point3d.create(0, 0, 2), 0.5, 0.5, false)),
440
+ GeomJson.Writer.toIModelJson(Cone.createAxisPoints(Point3d.create(0, 1, 1), Point3d.create(0, 0, 2), 0.5, 0.5, false)),
441
+ ],
442
+ };
443
+ const primArrInst2 = {
444
+ array_i: [0, 1, 2, 3, 4, 5, 6666],
445
+ array_l: [-23422, -343343434, -12333434, 23423423],
446
+ array_d: [-21023.34, -33023.34, -34432.033],
447
+ array_b: [false, true],
448
+ array_dt: ["2017-01-01T00:00:00.000", "2018-01-01T00:00:00.000", "2011-01-01T00:00:00.000"],
449
+ array_s: ["Test string 1 - inst2", "Test string 2 - inst2", "Test string 3 - inst2"],
450
+ array_bin: [new Uint8Array([1, 2, 3, 3, 4]), new Uint8Array([0, 0, 0, 0]), new Uint8Array([1, 2, 3, 4])],
451
+ array_p2d: [new Point2d(-123, 244.23232), new Point2d(232, 324.2323), new Point2d(322, 2324.23322)],
452
+ array_p3d: [new Point3d(133, 2333, 333), new Point3d(4123, 5123, 6123)],
453
+ array_g: [
454
+ GeomJson.Writer.toIModelJson(Cone.createAxisPoints(Point3d.create(0, 1, 0), Point3d.create(0, 0, 2), 0.5, 0.5, false)),
455
+ GeomJson.Writer.toIModelJson(Cone.createAxisPoints(Point3d.create(0, 1, 1), Point3d.create(0, 0, 2), 0.5, 0.5, false)),
456
+ ],
457
+ };
458
+ before(async () => {
459
+ // write schema to disk as we do not have api to import xml directly
460
+ const testSchemaPath = IModelTestUtils.prepareOutputFile(subDirName, schemaFileName);
461
+ IModelJsFs.writeFileSync(testSchemaPath, testSchema);
462
+ const imodel = SnapshotDb.createEmpty(iModelPath, { rootSubject: { name: "RoundTripTest" } });
463
+ await imodel.importSchemas([testSchemaPath]);
464
+ imodel[_nativeDb].resetBriefcaseId(BriefcaseIdValue.Unassigned);
465
+ IModelTestUtils.createAndInsertPhysicalPartitionAndModel(imodel, Code.createEmpty(), true);
466
+ let spatialCategoryId = SpatialCategory.queryCategoryIdByName(imodel, IModel.dictionaryId, categoryName);
467
+ if (undefined === spatialCategoryId)
468
+ spatialCategoryId = SpatialCategory.insert(imodel, IModel.dictionaryId, categoryName, new SubCategoryAppearance({ color: ColorDef.create("rgb(255,0,0)").toJSON() }));
469
+ imodel.saveChanges();
470
+ imodel.close();
471
+ });
472
+ it("Roundtrip all type of properties via ElementApi, ConcurrentQuery and ECSqlStatement via insert and update", async () => {
473
+ const testFileName = IModelTestUtils.prepareOutputFile(subDirName, "roundtrip_correct_data.bim");
474
+ const imodel = IModelTestUtils.createSnapshotFromSeed(testFileName, iModelPath);
475
+ const spatialCategoryId = SpatialCategory.queryCategoryIdByName(imodel, IModel.dictionaryId, categoryName);
476
+ const [, newModelId] = IModelTestUtils.createAndInsertPhysicalPartitionAndModel(imodel, Code.createEmpty(), true);
477
+ // create element with auto handled properties
478
+ const expectedValue = initElemProps("TestElement", imodel, newModelId, spatialCategoryId, {
479
+ ...primInst1,
480
+ ...primArrInst1,
481
+ st: { ...primArrInst2, ...primInst1 },
482
+ array_st: [{ ...primInst1, ...primArrInst2 }, { ...primInst2, ...primArrInst1 }],
483
+ });
484
+ // insert a element
485
+ const geomElement = imodel.elements.createElement(expectedValue);
486
+ const id = imodel.elements.insertElement(geomElement.toJSON());
487
+ assert.isTrue(Id64.isValidId64(id), "insert worked");
488
+ imodel.saveChanges();
489
+ const expectedSystemProperty = {
490
+ id,
491
+ className: `ElementRoundTripTest.TestElement`,
492
+ model: {
493
+ id: newModelId,
494
+ relClassName: `BisCore.ModelContainsElements`,
495
+ }
496
+ };
497
+ // verify inserted element properties
498
+ const actualValue = imodel.elements.getElementProps(id);
499
+ verifyTestElement(actualValue, expectedValue);
500
+ // verify via concurrent query
501
+ let rowCount = 0;
502
+ for await (const row of imodel.createQueryReader("SELECT * FROM ts.TestElement", undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames })) {
503
+ verifyTestElement(row.toRow(), expectedValue);
504
+ rowCount++;
505
+ }
506
+ assert.equal(rowCount, 1);
507
+ // verify via ecsql statement
508
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
509
+ await imodel.withPreparedStatement("SELECT * FROM ts.TestElement", async (stmt) => {
510
+ assert.equal(stmt.step(), DbResult.BE_SQLITE_ROW);
511
+ const stmtRow = stmt.getRow();
512
+ verifyTestElement(stmtRow, expectedValue);
513
+ });
514
+ // Verify system properties via ecsql statement
515
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
516
+ await imodel.withPreparedStatement("select ECInstanceId, ECClassId, Model from ts.TestElement", async (stmt) => {
517
+ assert.equal(stmt.step(), DbResult.BE_SQLITE_ROW);
518
+ verifySystemProperty(stmt.getRow(), expectedSystemProperty);
519
+ });
520
+ const testElementMetaData = imodel.schemaContext.getSchemaItemSync("ElementRoundTripTest", "TestElement", EntityClass);
521
+ assert.isDefined(testElementMetaData);
522
+ const relClassMetaData = imodel.schemaContext.getSchemaItemSync("BisCore", "ModelContainsElements", RelationshipClass);
523
+ assert.isDefined(relClassMetaData);
524
+ // Verify system properties via concurrent query
525
+ let reader = imodel.createQueryReader("SELECT ECInstanceId, ec_classname(ECClassId, 's.c') as className, Model.Id, ec_classname(Model.RelECClassId, 's.c') as relClassName FROM ts.TestElement", undefined, { rowFormat: QueryRowFormat.UseECSqlPropertyNames });
526
+ assert.isTrue(await reader.step());
527
+ assert.equal(reader.current.ECInstanceId, id);
528
+ assert.equal(reader.current.className, testElementMetaData?.fullName);
529
+ assert.equal(reader.current.Id, newModelId);
530
+ assert.equal(reader.current.relClassName, relClassMetaData?.fullName);
531
+ assert.isFalse(await reader.step());
532
+ // update the element autohandled properties
533
+ Object.assign(actualValue, {
534
+ ...primInst2,
535
+ ...primArrInst2,
536
+ st: { ...primArrInst1, ...primInst2 },
537
+ array_st: [{ ...primInst2, ...primArrInst2 }, { ...primInst1, ...primArrInst1 }],
538
+ });
539
+ // update element
540
+ imodel.elements.updateElement(actualValue);
541
+ imodel.saveChanges();
542
+ // verify updated values
543
+ const updatedValue = imodel.elements.getElementProps(id);
544
+ verifyTestElement(updatedValue, actualValue);
545
+ // verify via concurrent query
546
+ rowCount = 0;
547
+ for await (const row of imodel.createQueryReader("SELECT * FROM ts.TestElement", undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames })) {
548
+ verifyTestElement(row.toRow(), actualValue);
549
+ rowCount++;
550
+ }
551
+ assert.equal(rowCount, 1);
552
+ // verify via ecsql statement
553
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
554
+ await imodel.withPreparedStatement("SELECT * FROM ts.TestElement", async (stmt) => {
555
+ assert.equal(stmt.step(), DbResult.BE_SQLITE_ROW);
556
+ const stmtRow = stmt.getRow();
557
+ verifyTestElement(stmtRow, actualValue);
558
+ });
559
+ // Verify system properties via ecsql statement
560
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
561
+ await imodel.withPreparedStatement("select ECInstanceId, ECClassId, Model from ts.TestElement", async (stmt) => {
562
+ assert.equal(stmt.step(), DbResult.BE_SQLITE_ROW);
563
+ verifySystemProperty(stmt.getRow(), expectedSystemProperty);
564
+ });
565
+ // Verify system properties via concurrent query
566
+ reader = imodel.createQueryReader("SELECT ECInstanceId, ec_classname(ECClassId, 's.c') as className, Model.Id, ec_classname(Model.RelECClassId, 's.c') as relClassName FROM ts.TestElement", undefined, { rowFormat: QueryRowFormat.UseECSqlPropertyNames });
567
+ assert.isTrue(await reader.step());
568
+ assert.equal(reader.current.ECInstanceId, id);
569
+ assert.equal(reader.current.className, testElementMetaData?.fullName);
570
+ assert.equal(reader.current.Id, newModelId);
571
+ assert.equal(reader.current.relClassName, relClassMetaData?.fullName);
572
+ assert.isFalse(await reader.step());
573
+ imodel.close();
574
+ });
575
+ async function verifyElementAspect(elementAspectId, elementAspect, elementId, expectedAspectFullName, iModel) {
576
+ // Verify updated values
577
+ const updatedAspectValue = iModel.elements.getAspects(elementId, expectedAspectFullName).map((x) => x.toJSON());
578
+ assert.equal(updatedAspectValue.length, 1);
579
+ verifyTestElementAspect(updatedAspectValue[0], elementAspect);
580
+ // Verify via a concurrent query
581
+ let rowCount = 0;
582
+ for await (const row of iModel.createQueryReader("SELECT * FROM ts.TestElementAspect", undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames })) {
583
+ verifyTestElementAspect(row.toRow(), elementAspect);
584
+ rowCount++;
585
+ }
586
+ assert.equal(rowCount, 1);
587
+ // Verify via an ECSql statement
588
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
589
+ await iModel.withPreparedStatement("SELECT * FROM ts.TestElementAspect", async (stmt) => {
590
+ assert.equal(stmt.step(), DbResult.BE_SQLITE_ROW);
591
+ const stmtRow = stmt.getRow();
592
+ verifyTestElementAspect(stmtRow, elementAspect);
593
+ });
594
+ const expectedSystemProperty = {
595
+ id: elementAspectId,
596
+ className: `ElementRoundTripTest.TestElementAspect`,
597
+ element: {
598
+ id: elementId,
599
+ relClassName: `BisCore.ElementOwnsUniqueAspect`,
600
+ },
601
+ };
602
+ const aspectMetaData = await iModel.schemaContext.getSchemaItem("ElementRoundTripTest.TestElementAspect", EntityClass);
603
+ assert.isDefined(aspectMetaData);
604
+ const relMetaData = await iModel.schemaContext.getSchemaItem("BisCore.ElementOwnsUniqueAspect", RelationshipClass);
605
+ assert.isDefined(relMetaData);
606
+ // Verify via a concurrent query
607
+ const reader = iModel.createQueryReader("SELECT ECInstanceId, ec_classname(ECClassId, 's.c') as className, Element.Id, ec_classname(Element.RelECClassId, 's.c') as relClassName FROM ts.TestElementAspect", undefined, { rowFormat: QueryRowFormat.UseECSqlPropertyNames });
608
+ assert.isTrue(await reader.step());
609
+ assert.equal(reader.current.ECInstanceId, elementAspectId);
610
+ assert.equal(reader.current.className, aspectMetaData?.fullName);
611
+ assert.equal(reader.current.Id, elementId);
612
+ assert.equal(reader.current.relClassName, relMetaData?.fullName);
613
+ assert.isFalse(await reader.step());
614
+ // Verify via an ECSql statement
615
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
616
+ await iModel.withPreparedStatement("SELECT ECInstanceId, ECClassId, Element FROM ts.TestElementAspect", async (stmt) => {
617
+ assert.equal(stmt.step(), DbResult.BE_SQLITE_ROW);
618
+ verifySystemProperty(stmt.getRow(), expectedSystemProperty);
619
+ });
620
+ return updatedAspectValue;
621
+ }
622
+ it("Roundtrip all type of properties via ElementAspectApi, ConcurrentQuery and ECSqlStatement via insert and update", async () => {
623
+ const testFileName = IModelTestUtils.prepareOutputFile(subDirName, "roundtrip_apsect_correct_data.bim");
624
+ const imodel = IModelTestUtils.createSnapshotFromSeed(testFileName, iModelPath);
625
+ const spatialCategoryId = SpatialCategory.queryCategoryIdByName(imodel, IModel.dictionaryId, categoryName);
626
+ const [, newModelId] = IModelTestUtils.createAndInsertPhysicalPartitionAndModel(imodel, Code.createEmpty(), true);
627
+ // Create an element to use with the ElementAspects
628
+ const expectedValue = initElemProps("TestElement", imodel, newModelId, spatialCategoryId, {});
629
+ // Insert an element
630
+ const geomElement = imodel.elements.createElement(expectedValue);
631
+ const elId = imodel.elements.insertElement(geomElement.toJSON());
632
+ assert.isTrue(Id64.isValidId64(elId), "Element insertion succeeded");
633
+ const expectedAspectValue = initElementAspectProps("TestElementAspect", imodel, elId, {
634
+ ...primInst1,
635
+ ...primArrInst1,
636
+ st: { ...primArrInst2, ...primInst1 },
637
+ array_st: [{ ...primInst1, ...primArrInst2 }, { ...primInst2, ...primArrInst1 }],
638
+ });
639
+ // Insert an element aspect
640
+ const elementAspectId = imodel.elements.insertAspect(expectedAspectValue);
641
+ imodel.saveChanges();
642
+ // Verify inserted element aspect properties
643
+ const actualAspectValue = await verifyElementAspect(elementAspectId, expectedAspectValue, elId, expectedAspectValue.classFullName, imodel);
644
+ // Update the element's autohandled properties
645
+ Object.assign(actualAspectValue[0], {
646
+ ...primInst2,
647
+ ...primArrInst2,
648
+ st: { ...primArrInst1, ...primInst2 },
649
+ array_st: [{ ...primInst2, ...primArrInst2 }, { ...primInst1, ...primArrInst1 }],
650
+ });
651
+ // Update the element
652
+ imodel.elements.updateAspect(actualAspectValue[0]);
653
+ imodel.saveChanges();
654
+ // Verify updated element aspect properties
655
+ await verifyElementAspect(elementAspectId, actualAspectValue[0], elId, expectedAspectValue.classFullName, imodel);
656
+ imodel.close();
657
+ });
658
+ function verifyTestElementRefersToElements(actualValue, expectedValue) {
659
+ assert.equal(actualValue.sourceId, expectedValue.sourceId, "'sourceId' type property did not roundtrip as expected");
660
+ assert.equal(actualValue.targetId, expectedValue.targetId, "'targetId' type property did not roundtrip as expected");
661
+ verifyPrimitiveBase(actualValue, expectedValue);
662
+ verifyPrimitiveArrayBase(actualValue, expectedValue);
663
+ }
664
+ it("Roundtrip all type of properties via ElementRefersToElements, ConcurrentQuery and ECSqlStatement via insert and update", async () => {
665
+ const testFileName = IModelTestUtils.prepareOutputFile(subDirName, "roundtrip_relationships_correct_data.bim");
666
+ const imodel = IModelTestUtils.createSnapshotFromSeed(testFileName, iModelPath);
667
+ const spatialCategoryId = SpatialCategory.queryCategoryIdByName(imodel, IModel.dictionaryId, categoryName);
668
+ const [, newModelId] = IModelTestUtils.createAndInsertPhysicalPartitionAndModel(imodel, Code.createEmpty(), true);
669
+ // create elements to use
670
+ const element1 = initElemProps("TestElement", imodel, newModelId, spatialCategoryId, {});
671
+ const element2 = initElemProps("TestElement", imodel, newModelId, spatialCategoryId, {});
672
+ const geomElement1 = imodel.elements.createElement(element1);
673
+ const elId1 = imodel.elements.insertElement(geomElement1.toJSON());
674
+ assert.isTrue(Id64.isValidId64(elId1), "insert of element 1 worked");
675
+ const geomElement2 = imodel.elements.createElement(element2);
676
+ const elId2 = imodel.elements.insertElement(geomElement2.toJSON());
677
+ assert.isTrue(Id64.isValidId64(elId2), "insert of element 2 worked");
678
+ // TODO: Skipping structs here, because of a bug that prevents querying from link tables that have an overflow table, by skipping the struct we reduce the amount of used columns
679
+ const expectedRelationshipValue = initElementRefersToElementsProps("TestElementRefersToElements", imodel, elId1, elId2, {
680
+ ...primInst1,
681
+ ...primArrInst1,
682
+ /* st: { ...primArrInst2, ...primInst1 },
683
+ array_st: [{ ...primInst1, ...primArrInst2 }, { ...primInst2, ...primArrInst1 }], */
684
+ });
685
+ const instance = expectedRelationshipValue; // imodel.relationships.createInstance(expectedRelationshipValue);
686
+ const relationshipId = imodel.relationships.insertInstance(instance); // initElementRefersToElementsProps lies about return type.
687
+ imodel.saveChanges();
688
+ // verify inserted properties
689
+ const actualRelationshipValue = imodel.relationships.getInstance(expectedRelationshipValue.classFullName, relationshipId);
690
+ assert.exists(actualRelationshipValue);
691
+ verifyTestElementRefersToElements(actualRelationshipValue, expectedRelationshipValue);
692
+ // verify via concurrent query
693
+ let rowCount = 0;
694
+ for await (const row of imodel.createQueryReader("SELECT * FROM ts.TestElementRefersToElements", undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames })) {
695
+ const val = row.toRow();
696
+ verifyTestElementRefersToElements(val, expectedRelationshipValue);
697
+ rowCount++;
698
+ }
699
+ assert.equal(rowCount, 1);
700
+ // verify via ecsql statement
701
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
702
+ await imodel.withPreparedStatement("SELECT * FROM ts.TestElementRefersToElements", async (stmt) => {
703
+ assert.equal(stmt.step(), DbResult.BE_SQLITE_ROW);
704
+ const stmtRow = stmt.getRow();
705
+ verifyTestElementRefersToElements(stmtRow, expectedRelationshipValue);
706
+ });
707
+ const expectedSystemProperties = {
708
+ id: expectedRelationshipValue.id,
709
+ className: `ElementRoundTripTest.TestElementRefersToElements`,
710
+ sourceId: elId1,
711
+ sourceClassName: `ElementRoundTripTest.TestElement`,
712
+ targetId: elId2,
713
+ targetClassName: `ElementRoundTripTest.TestElement`,
714
+ };
715
+ const classMetaData = await imodel.schemaContext.getSchemaItem("ElementRoundTripTest.TestElementRefersToElements", RelationshipClass);
716
+ assert.isDefined(classMetaData);
717
+ const elementMetaData = await imodel.schemaContext.getSchemaItem("ElementRoundTripTest.TestElement", EntityClass);
718
+ assert.isDefined(elementMetaData);
719
+ // verify system properties via concurrent query
720
+ let reader = imodel.createQueryReader("SELECT ECInstanceId, ec_classname(ECClassId, 's.c') as className, SourceECInstanceId, ec_classname(SourceECClassId, 's.c') as srcClassName, TargetECInstanceid, ec_classname(TargetECClassId, 's.c') as trgtClassName FROM ts.TestElementRefersToElements", undefined, { rowFormat: QueryRowFormat.UseECSqlPropertyNames });
721
+ assert.isTrue(await reader.step());
722
+ assert.equal(reader.current.ECInstanceId, relationshipId);
723
+ assert.equal(reader.current.className, classMetaData?.fullName);
724
+ assert.equal(reader.current.SourceECInstanceId, elId1);
725
+ assert.equal(reader.current.srcClassName, elementMetaData?.fullName);
726
+ assert.equal(reader.current.TargetECInstanceid, elId2);
727
+ assert.equal(reader.current.trgtClassName, elementMetaData?.fullName);
728
+ assert.isFalse(await reader.step());
729
+ // verify system properties via ecsql statement
730
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
731
+ await imodel.withPreparedStatement("SELECT ECInstanceId, ECClassId, SourceECInstanceId, SourceECClassId, TargetECInstanceid, TargetECClassId FROM ts.TestElementRefersToElements", async (stmt) => {
732
+ assert.equal(stmt.step(), DbResult.BE_SQLITE_ROW);
733
+ verifySystemProperty(stmt.getRow(), expectedSystemProperties);
734
+ });
735
+ const updatedExpectedValue = actualRelationshipValue;
736
+ // update the element autohandled properties
737
+ Object.assign(updatedExpectedValue, {
738
+ ...primInst2,
739
+ ...primArrInst2,
740
+ /* st: { ...primArrInst1, ...primInst2 },
741
+ array_st: [{ ...primInst2, ...primArrInst2 }, { ...primInst1, ...primArrInst1 }],*/
742
+ });
743
+ // update
744
+ imodel.relationships.updateInstance(updatedExpectedValue.toJSON());
745
+ imodel.saveChanges();
746
+ // verify updated values
747
+ const updatedValue = imodel.relationships.getInstance(expectedRelationshipValue.classFullName, relationshipId);
748
+ verifyTestElementRefersToElements(updatedValue, updatedExpectedValue);
749
+ // verify via concurrent query
750
+ rowCount = 0;
751
+ for await (const row of imodel.createQueryReader("SELECT * FROM ts.TestElementRefersToElements", undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames })) {
752
+ verifyTestElementRefersToElements(row.toRow(), updatedExpectedValue);
753
+ rowCount++;
754
+ }
755
+ assert.equal(rowCount, 1);
756
+ // verify via ecsql statement
757
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
758
+ await imodel.withPreparedStatement("SELECT * FROM ts.TestElementRefersToElements", async (stmt) => {
759
+ assert.equal(stmt.step(), DbResult.BE_SQLITE_ROW);
760
+ const stmtRow = stmt.getRow();
761
+ verifyTestElementRefersToElements(stmtRow, updatedExpectedValue);
762
+ });
763
+ // verify system properties via concurrent query
764
+ reader = imodel.createQueryReader("SELECT ECInstanceId, ec_classname(ECClassId, 's.c') as className, SourceECInstanceId, ec_classname(SourceECClassId, 's.c') as srcClassName, TargetECInstanceid, ec_classname(TargetECClassId, 's.c') as trgtClassName FROM ts.TestElementRefersToElements", undefined, { rowFormat: QueryRowFormat.UseECSqlPropertyNames });
765
+ assert.isTrue(await reader.step());
766
+ assert.equal(reader.current.ECInstanceId, relationshipId);
767
+ assert.equal(reader.current.className, classMetaData?.fullName);
768
+ assert.equal(reader.current.SourceECInstanceId, elId1);
769
+ assert.equal(reader.current.srcClassName, elementMetaData?.fullName);
770
+ assert.equal(reader.current.TargetECInstanceid, elId2);
771
+ assert.equal(reader.current.trgtClassName, elementMetaData?.fullName);
772
+ assert.isFalse(await reader.step());
773
+ // verify system properties via ecsql statement
774
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
775
+ await imodel.withPreparedStatement("SELECT ECInstanceId, ECClassId, SourceECInstanceId, SourceECClassId, TargetECInstanceid, TargetECClassId FROM ts.TestElementRefersToElements", async (stmt) => {
776
+ assert.equal(stmt.step(), DbResult.BE_SQLITE_ROW);
777
+ verifySystemProperty(stmt.getRow(), expectedSystemProperties);
778
+ });
779
+ imodel.close();
780
+ });
781
+ it("Roundtrip placement when geom is undefined", async () => {
782
+ const placement = {
783
+ origin: { x: 10, y: 20, z: 30 },
784
+ angles: {
785
+ yaw: Angle.createDegrees(90),
786
+ pitch: Angle.createDegrees(180),
787
+ roll: Angle.createDegrees(270),
788
+ },
789
+ bbox: {
790
+ low: { x: -1, y: -2, z: -3 },
791
+ high: { x: 1, y: 2, z: 3 },
792
+ },
793
+ };
794
+ const insertAndVerifyPlacement = (name, extraProps = {}, {
795
+ /**
796
+ * setting some geometry will override the passed bounding box with a calculated one,
797
+ * so we need to be able to override parts of the expected placement based on the geometry used
798
+ */
799
+ expectedPlacementOverrides = {}, } = {}) => {
800
+ const imodelPath = IModelTestUtils.prepareOutputFile(subDirName, `roundtrip_placement-${name}.bim`);
801
+ let imodel = IModelTestUtils.createSnapshotFromSeed(imodelPath, iModelPath);
802
+ const modelId = PhysicalModel.insert(imodel, IModelDb.rootSubjectId, "model");
803
+ const categoryId = SpatialCategory.insert(imodel, IModelDb.dictionaryId, "model", {});
804
+ const expectedPlacement = { ...placement, ...expectedPlacementOverrides };
805
+ const objId = imodel.elements.insertElement({
806
+ classFullName: PhysicalObject.classFullName,
807
+ code: Code.createEmpty(),
808
+ model: modelId,
809
+ placement,
810
+ category: categoryId,
811
+ ...extraProps,
812
+ });
813
+ imodel.saveChanges();
814
+ const inMemoryCopy = imodel.elements.getElement({ id: objId, wantGeometry: true }, PhysicalObject);
815
+ expect(inMemoryCopy.placement).to.deep.advancedEqual(expectedPlacement);
816
+ // reload db since there is a different path for loading properties not in memory that we want to force
817
+ imodel.close();
818
+ imodel = SnapshotDb.openFile(imodelPath);
819
+ const readFromDbCopy = imodel.elements.getElement({ id: objId, wantGeometry: true }, PhysicalObject);
820
+ expect(readFromDbCopy.placement).to.deep.advancedEqual(expectedPlacement);
821
+ imodel.close();
822
+ };
823
+ insertAndVerifyPlacement("no-geom", {
824
+ geom: undefined,
825
+ elementGeometryBuilderParams: undefined,
826
+ });
827
+ const pts = [Point3d.create(5, 10, 0), Point3d.create(10, 10, 0)];
828
+ const geomEntry = ElementGeometry.fromGeometryQuery(LineSegment3d.create(pts[0], pts[1]));
829
+ assert(geomEntry !== undefined);
830
+ const elementGeometryBuilderParams = { entryArray: [geomEntry] };
831
+ insertAndVerifyPlacement("geom-through-elementGeometryBuilderParams", {
832
+ geom: undefined,
833
+ elementGeometryBuilderParams,
834
+ }, {
835
+ expectedPlacementOverrides: {
836
+ bbox: {
837
+ low: { x: 5, y: 10, z: 0 },
838
+ high: { x: 10, y: 10, z: 0 },
839
+ },
840
+ },
841
+ });
842
+ // Previously, TypeScript BoxProps defined "origin" but native code only understood "baseOrigin".
843
+ // Now, native code accepts either, preferring "origin" if both are specified.
844
+ const testBox = (props, expectedXOffset) => {
845
+ const box = {};
846
+ if (undefined !== props.originX)
847
+ box.origin = [props.originX, 1, 2];
848
+ if (undefined !== props.baseOriginX)
849
+ box.baseOrigin = [props.baseOriginX, 1, 2];
850
+ const geom = [
851
+ { header: { flags: 0 } },
852
+ { box: { ...box, baseX: 10, baseY: 20 } },
853
+ ];
854
+ insertAndVerifyPlacement("geom-through-json", {
855
+ geom,
856
+ elementGeometryBuilderParams: undefined,
857
+ }, {
858
+ expectedPlacementOverrides: {
859
+ bbox: {
860
+ low: { x: expectedXOffset, y: 1, z: 2 },
861
+ high: { x: expectedXOffset + 10, y: 21, z: 12 },
862
+ },
863
+ },
864
+ });
865
+ };
866
+ testBox({ originX: 0 }, 0);
867
+ testBox({ baseOriginX: 5 }, 5);
868
+ testBox({ originX: 2, baseOriginX: 4 }, 2);
869
+ });
870
+ it("Roundtrip updating properties to null", async () => {
871
+ const testFileName = IModelTestUtils.prepareOutputFile(subDirName, "roundtrip_properties_null_update.bim");
872
+ const imodel = IModelTestUtils.createSnapshotFromSeed(testFileName, iModelPath);
873
+ const spatialCategoryId = SpatialCategory.queryCategoryIdByName(imodel, IModel.dictionaryId, categoryName);
874
+ const [, newModelId] = IModelTestUtils.createAndInsertPhysicalPartitionAndModel(imodel, Code.createEmpty(), true);
875
+ // Create an element to be used
876
+ const expectedValue = initElemProps("TestElement", imodel, newModelId, spatialCategoryId, {
877
+ ...primInst1,
878
+ ...primArrInst1,
879
+ st: { ...primArrInst2, ...primInst1 },
880
+ array_st: [{ ...primInst1, ...primArrInst2 }, { ...primInst2, ...primArrInst1 }],
881
+ });
882
+ // Insert an element
883
+ const geomElement = imodel.elements.createElement(expectedValue);
884
+ const id = imodel.elements.insertElement(geomElement.toJSON());
885
+ assert.isTrue(Id64.isValidId64(id), "insert worked");
886
+ imodel.saveChanges();
887
+ // Verify inserted element properties
888
+ const actualValue = imodel.elements.getElementProps(id);
889
+ verifyTestElement(actualValue, expectedValue);
890
+ // Update all properties to null
891
+ {
892
+ Object.assign(actualValue, {
893
+ i: null,
894
+ l: null,
895
+ d: null,
896
+ b: null,
897
+ dt: null,
898
+ s: null,
899
+ bin: null,
900
+ p2d: null,
901
+ p3d: null,
902
+ g: null,
903
+ st: null,
904
+ array_i: null,
905
+ array_l: null,
906
+ array_d: null,
907
+ array_b: null,
908
+ array_dt: null,
909
+ array_s: null,
910
+ array_bin: null,
911
+ array_p2d: null,
912
+ array_p3d: null,
913
+ array_g: null,
914
+ array_st: null,
915
+ });
916
+ // Update the element
917
+ imodel.elements.updateElement(actualValue);
918
+ imodel.saveChanges();
919
+ // Verify updated value properties
920
+ const updatedValue = imodel.elements.getElementProps(id);
921
+ verifyTestElement(updatedValue, actualValue);
922
+ }
923
+ imodel.close();
924
+ });
925
+ });
926
+ //# sourceMappingURL=ElementRoundTrip.test.js.map