@itwin/core-backend 5.0.0-dev.90 → 5.0.0-dev.92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (785) hide show
  1. package/lib/esm/BackendHubAccess.d.ts +215 -0
  2. package/lib/esm/BackendHubAccess.d.ts.map +1 -0
  3. package/lib/esm/BackendHubAccess.js +41 -0
  4. package/lib/esm/BackendHubAccess.js.map +1 -0
  5. package/lib/esm/BackendLoggerCategory.d.ts +88 -0
  6. package/lib/esm/BackendLoggerCategory.d.ts.map +1 -0
  7. package/lib/esm/BackendLoggerCategory.js +93 -0
  8. package/lib/esm/BackendLoggerCategory.js.map +1 -0
  9. package/lib/esm/BisCoreSchema.d.ts +22 -0
  10. package/lib/esm/BisCoreSchema.d.ts.map +1 -0
  11. package/lib/esm/BisCoreSchema.js +61 -0
  12. package/lib/esm/BisCoreSchema.js.map +1 -0
  13. package/lib/esm/BlobContainerService.d.ts +159 -0
  14. package/lib/esm/BlobContainerService.d.ts.map +1 -0
  15. package/lib/esm/BlobContainerService.js +15 -0
  16. package/lib/esm/BlobContainerService.js.map +1 -0
  17. package/lib/esm/BriefcaseManager.d.ts +213 -0
  18. package/lib/esm/BriefcaseManager.d.ts.map +1 -0
  19. package/lib/esm/BriefcaseManager.js +520 -0
  20. package/lib/esm/BriefcaseManager.js.map +1 -0
  21. package/lib/esm/Category.d.ts +136 -0
  22. package/lib/esm/Category.d.ts.map +1 -0
  23. package/lib/esm/Category.js +224 -0
  24. package/lib/esm/Category.js.map +1 -0
  25. package/lib/esm/ChangeSummaryManager.d.ts +161 -0
  26. package/lib/esm/ChangeSummaryManager.d.ts.map +1 -0
  27. package/lib/esm/ChangeSummaryManager.js +414 -0
  28. package/lib/esm/ChangeSummaryManager.js.map +1 -0
  29. package/lib/esm/ChangedElementsDb.d.ts +101 -0
  30. package/lib/esm/ChangedElementsDb.d.ts.map +1 -0
  31. package/lib/esm/ChangedElementsDb.js +165 -0
  32. package/lib/esm/ChangedElementsDb.js.map +1 -0
  33. package/lib/esm/ChangesetECAdaptor.d.ts +203 -0
  34. package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -0
  35. package/lib/esm/ChangesetECAdaptor.js +814 -0
  36. package/lib/esm/ChangesetECAdaptor.js.map +1 -0
  37. package/lib/esm/ChannelControl.d.ts +68 -0
  38. package/lib/esm/ChannelControl.d.ts.map +1 -0
  39. package/lib/esm/ChannelControl.js +15 -0
  40. package/lib/esm/ChannelControl.js.map +1 -0
  41. package/lib/esm/CheckpointManager.d.ts +123 -0
  42. package/lib/esm/CheckpointManager.d.ts.map +1 -0
  43. package/lib/esm/CheckpointManager.js +375 -0
  44. package/lib/esm/CheckpointManager.js.map +1 -0
  45. package/lib/esm/ClassRegistry.d.ts +134 -0
  46. package/lib/esm/ClassRegistry.d.ts.map +1 -0
  47. package/lib/esm/ClassRegistry.js +324 -0
  48. package/lib/esm/ClassRegistry.js.map +1 -0
  49. package/lib/esm/CloudSqlite.d.ts +682 -0
  50. package/lib/esm/CloudSqlite.d.ts.map +1 -0
  51. package/lib/esm/CloudSqlite.js +511 -0
  52. package/lib/esm/CloudSqlite.js.map +1 -0
  53. package/lib/esm/CodeService.d.ts +402 -0
  54. package/lib/esm/CodeService.d.ts.map +1 -0
  55. package/lib/esm/CodeService.js +65 -0
  56. package/lib/esm/CodeService.js.map +1 -0
  57. package/lib/esm/CodeSpecs.d.ts +59 -0
  58. package/lib/esm/CodeSpecs.d.ts.map +1 -0
  59. package/lib/esm/CodeSpecs.js +152 -0
  60. package/lib/esm/CodeSpecs.js.map +1 -0
  61. package/lib/esm/ConcurrentQuery.d.ts +14 -0
  62. package/lib/esm/ConcurrentQuery.d.ts.map +1 -0
  63. package/lib/esm/ConcurrentQuery.js +33 -0
  64. package/lib/esm/ConcurrentQuery.js.map +1 -0
  65. package/lib/esm/CustomViewState3dCreator.d.ts +22 -0
  66. package/lib/esm/CustomViewState3dCreator.d.ts.map +1 -0
  67. package/lib/esm/CustomViewState3dCreator.js +78 -0
  68. package/lib/esm/CustomViewState3dCreator.js.map +1 -0
  69. package/lib/esm/DevTools.d.ts +73 -0
  70. package/lib/esm/DevTools.d.ts.map +1 -0
  71. package/lib/esm/DevTools.js +153 -0
  72. package/lib/esm/DevTools.js.map +1 -0
  73. package/lib/esm/DisplayStyle.d.ts +99 -0
  74. package/lib/esm/DisplayStyle.d.ts.map +1 -0
  75. package/lib/esm/DisplayStyle.js +264 -0
  76. package/lib/esm/DisplayStyle.js.map +1 -0
  77. package/lib/esm/ECDb.d.ts +170 -0
  78. package/lib/esm/ECDb.d.ts.map +1 -0
  79. package/lib/esm/ECDb.js +329 -0
  80. package/lib/esm/ECDb.js.map +1 -0
  81. package/lib/esm/ECSchemaXmlContext.d.ts +46 -0
  82. package/lib/esm/ECSchemaXmlContext.d.ts.map +1 -0
  83. package/lib/esm/ECSchemaXmlContext.js +66 -0
  84. package/lib/esm/ECSchemaXmlContext.js.map +1 -0
  85. package/lib/esm/ECSqlStatement.d.ts +492 -0
  86. package/lib/esm/ECSqlStatement.d.ts.map +1 -0
  87. package/lib/esm/ECSqlStatement.js +810 -0
  88. package/lib/esm/ECSqlStatement.js.map +1 -0
  89. package/lib/esm/Element.d.ts +987 -0
  90. package/lib/esm/Element.d.ts.map +1 -0
  91. package/lib/esm/Element.js +1337 -0
  92. package/lib/esm/Element.js.map +1 -0
  93. package/lib/esm/ElementAspect.d.ts +164 -0
  94. package/lib/esm/ElementAspect.d.ts.map +1 -0
  95. package/lib/esm/ElementAspect.js +204 -0
  96. package/lib/esm/ElementAspect.js.map +1 -0
  97. package/lib/esm/ElementGraphics.d.ts +7 -0
  98. package/lib/esm/ElementGraphics.d.ts.map +1 -0
  99. package/lib/esm/ElementGraphics.js +36 -0
  100. package/lib/esm/ElementGraphics.js.map +1 -0
  101. package/lib/esm/ElementTreeWalker.d.ts +182 -0
  102. package/lib/esm/ElementTreeWalker.d.ts.map +1 -0
  103. package/lib/esm/ElementTreeWalker.js +421 -0
  104. package/lib/esm/ElementTreeWalker.js.map +1 -0
  105. package/lib/esm/Entity.d.ts +142 -0
  106. package/lib/esm/Entity.d.ts.map +1 -0
  107. package/lib/esm/Entity.js +186 -0
  108. package/lib/esm/Entity.js.map +1 -0
  109. package/lib/esm/EntityReferences.d.ts +50 -0
  110. package/lib/esm/EntityReferences.d.ts.map +1 -0
  111. package/lib/esm/EntityReferences.js +92 -0
  112. package/lib/esm/EntityReferences.js.map +1 -0
  113. package/lib/esm/ExportGraphics.d.ts +318 -0
  114. package/lib/esm/ExportGraphics.d.ts.map +1 -0
  115. package/lib/esm/ExportGraphics.js +209 -0
  116. package/lib/esm/ExportGraphics.js.map +1 -0
  117. package/lib/esm/ExternalSource.d.ts +89 -0
  118. package/lib/esm/ExternalSource.d.ts.map +1 -0
  119. package/lib/esm/ExternalSource.js +139 -0
  120. package/lib/esm/ExternalSource.js.map +1 -0
  121. package/lib/esm/FontFile.d.ts +68 -0
  122. package/lib/esm/FontFile.d.ts.map +1 -0
  123. package/lib/esm/FontFile.js +33 -0
  124. package/lib/esm/FontFile.js.map +1 -0
  125. package/lib/esm/GeoCoordConfig.d.ts +30 -0
  126. package/lib/esm/GeoCoordConfig.d.ts.map +1 -0
  127. package/lib/esm/GeoCoordConfig.js +78 -0
  128. package/lib/esm/GeoCoordConfig.js.map +1 -0
  129. package/lib/esm/GeographicCRSServices.d.ts +40 -0
  130. package/lib/esm/GeographicCRSServices.d.ts.map +1 -0
  131. package/lib/esm/GeographicCRSServices.js +17 -0
  132. package/lib/esm/GeographicCRSServices.js.map +1 -0
  133. package/lib/esm/GeometrySummary.d.ts +5 -0
  134. package/lib/esm/GeometrySummary.d.ts.map +1 -0
  135. package/lib/esm/GeometrySummary.js +381 -0
  136. package/lib/esm/GeometrySummary.js.map +1 -0
  137. package/lib/esm/HubMock.d.ts +95 -0
  138. package/lib/esm/HubMock.d.ts.map +1 -0
  139. package/lib/esm/HubMock.js +220 -0
  140. package/lib/esm/HubMock.js.map +1 -0
  141. package/lib/esm/IModelDb.d.ts +1398 -0
  142. package/lib/esm/IModelDb.d.ts.map +1 -0
  143. package/lib/esm/IModelDb.js +3230 -0
  144. package/lib/esm/IModelDb.js.map +1 -0
  145. package/lib/esm/IModelDbFonts.d.ts +54 -0
  146. package/lib/esm/IModelDbFonts.d.ts.map +1 -0
  147. package/lib/esm/IModelDbFonts.js +9 -0
  148. package/lib/esm/IModelDbFonts.js.map +1 -0
  149. package/lib/esm/IModelElementCloneContext.d.ts +92 -0
  150. package/lib/esm/IModelElementCloneContext.d.ts.map +1 -0
  151. package/lib/esm/IModelElementCloneContext.js +168 -0
  152. package/lib/esm/IModelElementCloneContext.js.map +1 -0
  153. package/lib/esm/IModelHost.d.ts +387 -0
  154. package/lib/esm/IModelHost.d.ts.map +1 -0
  155. package/lib/esm/IModelHost.js +502 -0
  156. package/lib/esm/IModelHost.js.map +1 -0
  157. package/lib/esm/IModelJsFs.d.ts +62 -0
  158. package/lib/esm/IModelJsFs.d.ts.map +1 -0
  159. package/lib/esm/IModelJsFs.js +151 -0
  160. package/lib/esm/IModelJsFs.js.map +1 -0
  161. package/lib/esm/ImageSourceConversion.d.ts +49 -0
  162. package/lib/esm/ImageSourceConversion.d.ts.map +1 -0
  163. package/lib/esm/ImageSourceConversion.js +33 -0
  164. package/lib/esm/ImageSourceConversion.js.map +1 -0
  165. package/lib/esm/IpcHost.d.ts +111 -0
  166. package/lib/esm/IpcHost.d.ts.map +1 -0
  167. package/lib/esm/IpcHost.js +311 -0
  168. package/lib/esm/IpcHost.js.map +1 -0
  169. package/lib/esm/LineStyle.d.ts +312 -0
  170. package/lib/esm/LineStyle.d.ts.map +1 -0
  171. package/lib/esm/LineStyle.js +293 -0
  172. package/lib/esm/LineStyle.js.map +1 -0
  173. package/lib/esm/LocalHub.d.ts +163 -0
  174. package/lib/esm/LocalHub.d.ts.map +1 -0
  175. package/lib/esm/LocalHub.js +583 -0
  176. package/lib/esm/LocalHub.js.map +1 -0
  177. package/lib/esm/LocalhostIpcHost.d.ts +22 -0
  178. package/lib/esm/LocalhostIpcHost.d.ts.map +1 -0
  179. package/lib/esm/LocalhostIpcHost.js +74 -0
  180. package/lib/esm/LocalhostIpcHost.js.map +1 -0
  181. package/lib/esm/LockControl.d.ts +73 -0
  182. package/lib/esm/LockControl.d.ts.map +1 -0
  183. package/lib/esm/LockControl.js +9 -0
  184. package/lib/esm/LockControl.js.map +1 -0
  185. package/lib/esm/Material.d.ts +131 -0
  186. package/lib/esm/Material.d.ts.map +1 -0
  187. package/lib/esm/Material.js +235 -0
  188. package/lib/esm/Material.js.map +1 -0
  189. package/lib/esm/Model.d.ts +375 -0
  190. package/lib/esm/Model.d.ts.map +1 -0
  191. package/lib/esm/Model.js +484 -0
  192. package/lib/esm/Model.js.map +1 -0
  193. package/lib/esm/NativeAppStorage.d.ts +52 -0
  194. package/lib/esm/NativeAppStorage.d.ts.map +1 -0
  195. package/lib/esm/NativeAppStorage.js +205 -0
  196. package/lib/esm/NativeAppStorage.js.map +1 -0
  197. package/lib/esm/NativeHost.d.ts +53 -0
  198. package/lib/esm/NativeHost.d.ts.map +1 -0
  199. package/lib/esm/NativeHost.js +158 -0
  200. package/lib/esm/NativeHost.js.map +1 -0
  201. package/lib/esm/NavigationRelationship.d.ts +185 -0
  202. package/lib/esm/NavigationRelationship.d.ts.map +1 -0
  203. package/lib/esm/NavigationRelationship.js +238 -0
  204. package/lib/esm/NavigationRelationship.js.map +1 -0
  205. package/lib/esm/PromiseMemoizer.d.ts +48 -0
  206. package/lib/esm/PromiseMemoizer.d.ts.map +1 -0
  207. package/lib/esm/PromiseMemoizer.js +101 -0
  208. package/lib/esm/PromiseMemoizer.js.map +1 -0
  209. package/lib/esm/PropertyStore.d.ts +134 -0
  210. package/lib/esm/PropertyStore.d.ts.map +1 -0
  211. package/lib/esm/PropertyStore.js +177 -0
  212. package/lib/esm/PropertyStore.js.map +1 -0
  213. package/lib/esm/Relationship.d.ts +399 -0
  214. package/lib/esm/Relationship.d.ts.map +1 -0
  215. package/lib/esm/Relationship.js +474 -0
  216. package/lib/esm/Relationship.js.map +1 -0
  217. package/lib/esm/RpcBackend.d.ts +6 -0
  218. package/lib/esm/RpcBackend.d.ts.map +1 -0
  219. package/lib/esm/RpcBackend.js +28 -0
  220. package/lib/esm/RpcBackend.js.map +1 -0
  221. package/lib/esm/SQLiteDb.d.ts +324 -0
  222. package/lib/esm/SQLiteDb.d.ts.map +1 -0
  223. package/lib/esm/SQLiteDb.js +379 -0
  224. package/lib/esm/SQLiteDb.js.map +1 -0
  225. package/lib/esm/Schema.d.ts +79 -0
  226. package/lib/esm/Schema.d.ts.map +1 -0
  227. package/lib/esm/Schema.js +113 -0
  228. package/lib/esm/Schema.js.map +1 -0
  229. package/lib/esm/SchemaSync.d.ts +47 -0
  230. package/lib/esm/SchemaSync.d.ts.map +1 -0
  231. package/lib/esm/SchemaSync.js +148 -0
  232. package/lib/esm/SchemaSync.js.map +1 -0
  233. package/lib/esm/SchemaUtils.d.ts +19 -0
  234. package/lib/esm/SchemaUtils.d.ts.map +1 -0
  235. package/lib/esm/SchemaUtils.js +37 -0
  236. package/lib/esm/SchemaUtils.js.map +1 -0
  237. package/lib/esm/SheetIndex.d.ts +148 -0
  238. package/lib/esm/SheetIndex.d.ts.map +1 -0
  239. package/lib/esm/SheetIndex.js +228 -0
  240. package/lib/esm/SheetIndex.js.map +1 -0
  241. package/lib/esm/SqliteChangesetReader.d.ts +278 -0
  242. package/lib/esm/SqliteChangesetReader.d.ts.map +1 -0
  243. package/lib/esm/SqliteChangesetReader.js +337 -0
  244. package/lib/esm/SqliteChangesetReader.js.map +1 -0
  245. package/lib/esm/SqliteStatement.d.ts +375 -0
  246. package/lib/esm/SqliteStatement.d.ts.map +1 -0
  247. package/lib/esm/SqliteStatement.js +615 -0
  248. package/lib/esm/SqliteStatement.js.map +1 -0
  249. package/lib/esm/TextAnnotationElement.d.ts +54 -0
  250. package/lib/esm/TextAnnotationElement.d.ts.map +1 -0
  251. package/lib/esm/TextAnnotationElement.js +89 -0
  252. package/lib/esm/TextAnnotationElement.js.map +1 -0
  253. package/lib/esm/TextAnnotationGeometry.d.ts +32 -0
  254. package/lib/esm/TextAnnotationGeometry.d.ts.map +1 -0
  255. package/lib/esm/TextAnnotationGeometry.js +181 -0
  256. package/lib/esm/TextAnnotationGeometry.js.map +1 -0
  257. package/lib/esm/TextAnnotationLayout.d.ts +177 -0
  258. package/lib/esm/TextAnnotationLayout.d.ts.map +1 -0
  259. package/lib/esm/TextAnnotationLayout.js +513 -0
  260. package/lib/esm/TextAnnotationLayout.js.map +1 -0
  261. package/lib/esm/Texture.d.ts +58 -0
  262. package/lib/esm/Texture.d.ts.map +1 -0
  263. package/lib/esm/Texture.js +81 -0
  264. package/lib/esm/Texture.js.map +1 -0
  265. package/lib/esm/TileStorage.d.ts +59 -0
  266. package/lib/esm/TileStorage.d.ts.map +1 -0
  267. package/lib/esm/TileStorage.js +158 -0
  268. package/lib/esm/TileStorage.js.map +1 -0
  269. package/lib/esm/TxnManager.d.ts +296 -0
  270. package/lib/esm/TxnManager.d.ts.map +1 -0
  271. package/lib/esm/TxnManager.js +619 -0
  272. package/lib/esm/TxnManager.js.map +1 -0
  273. package/lib/esm/ViewDefinition.d.ts +392 -0
  274. package/lib/esm/ViewDefinition.d.ts.map +1 -0
  275. package/lib/esm/ViewDefinition.js +638 -0
  276. package/lib/esm/ViewDefinition.js.map +1 -0
  277. package/lib/esm/ViewStateHydrator.d.ts +14 -0
  278. package/lib/esm/ViewStateHydrator.d.ts.map +1 -0
  279. package/lib/esm/ViewStateHydrator.js +89 -0
  280. package/lib/esm/ViewStateHydrator.js.map +1 -0
  281. package/lib/esm/ViewStore.d.ts +502 -0
  282. package/lib/esm/ViewStore.d.ts.map +1 -0
  283. package/lib/esm/ViewStore.js +1259 -0
  284. package/lib/esm/ViewStore.js.map +1 -0
  285. package/lib/esm/core-backend.d.ts +183 -0
  286. package/lib/esm/core-backend.d.ts.map +1 -0
  287. package/lib/esm/core-backend.js +187 -0
  288. package/lib/esm/core-backend.js.map +1 -0
  289. package/lib/esm/domains/FunctionalElements.d.ts +86 -0
  290. package/lib/esm/domains/FunctionalElements.d.ts.map +1 -0
  291. package/lib/esm/domains/FunctionalElements.js +117 -0
  292. package/lib/esm/domains/FunctionalElements.js.map +1 -0
  293. package/lib/esm/domains/FunctionalSchema.d.ts +14 -0
  294. package/lib/esm/domains/FunctionalSchema.d.ts.map +1 -0
  295. package/lib/esm/domains/FunctionalSchema.js +37 -0
  296. package/lib/esm/domains/FunctionalSchema.js.map +1 -0
  297. package/lib/esm/domains/GenericElements.d.ts +160 -0
  298. package/lib/esm/domains/GenericElements.d.ts.map +1 -0
  299. package/lib/esm/domains/GenericElements.js +225 -0
  300. package/lib/esm/domains/GenericElements.js.map +1 -0
  301. package/lib/esm/domains/GenericSchema.d.ts +11 -0
  302. package/lib/esm/domains/GenericSchema.d.ts.map +1 -0
  303. package/lib/esm/domains/GenericSchema.js +25 -0
  304. package/lib/esm/domains/GenericSchema.js.map +1 -0
  305. package/lib/esm/internal/ChangesetConflictArgs.d.ts +62 -0
  306. package/lib/esm/internal/ChangesetConflictArgs.d.ts.map +1 -0
  307. package/lib/esm/internal/ChangesetConflictArgs.js +104 -0
  308. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -0
  309. package/lib/esm/internal/ChannelAdmin.d.ts +34 -0
  310. package/lib/esm/internal/ChannelAdmin.d.ts.map +1 -0
  311. package/lib/esm/internal/ChannelAdmin.js +122 -0
  312. package/lib/esm/internal/ChannelAdmin.js.map +1 -0
  313. package/lib/esm/internal/FontFileImpl.d.ts +34 -0
  314. package/lib/esm/internal/FontFileImpl.d.ts.map +1 -0
  315. package/lib/esm/internal/FontFileImpl.js +135 -0
  316. package/lib/esm/internal/FontFileImpl.js.map +1 -0
  317. package/lib/esm/internal/IModelDbFontsImpl.d.ts +7 -0
  318. package/lib/esm/internal/IModelDbFontsImpl.d.ts.map +1 -0
  319. package/lib/esm/internal/IModelDbFontsImpl.js +183 -0
  320. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -0
  321. package/lib/esm/internal/NativePlatform.d.ts +15 -0
  322. package/lib/esm/internal/NativePlatform.d.ts.map +1 -0
  323. package/lib/esm/internal/NativePlatform.js +43 -0
  324. package/lib/esm/internal/NativePlatform.js.map +1 -0
  325. package/lib/esm/internal/NoLocks.d.ts +6 -0
  326. package/lib/esm/internal/NoLocks.d.ts.map +1 -0
  327. package/lib/esm/internal/NoLocks.js +24 -0
  328. package/lib/esm/internal/NoLocks.js.map +1 -0
  329. package/lib/esm/internal/ServerBasedLocks.d.ts +52 -0
  330. package/lib/esm/internal/ServerBasedLocks.d.ts.map +1 -0
  331. package/lib/esm/internal/ServerBasedLocks.js +175 -0
  332. package/lib/esm/internal/ServerBasedLocks.js.map +1 -0
  333. package/lib/esm/internal/Symbols.d.ts +18 -0
  334. package/lib/esm/internal/Symbols.d.ts.map +1 -0
  335. package/lib/esm/internal/Symbols.js +25 -0
  336. package/lib/esm/internal/Symbols.js.map +1 -0
  337. package/lib/esm/internal/cross-package.d.ts +4 -0
  338. package/lib/esm/internal/cross-package.d.ts.map +1 -0
  339. package/lib/esm/internal/cross-package.js +8 -0
  340. package/lib/esm/internal/cross-package.js.map +1 -0
  341. package/lib/esm/internal/workspace/SettingsImpl.d.ts +43 -0
  342. package/lib/esm/internal/workspace/SettingsImpl.d.ts.map +1 -0
  343. package/lib/esm/internal/workspace/SettingsImpl.js +154 -0
  344. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -0
  345. package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts +6 -0
  346. package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts.map +1 -0
  347. package/lib/esm/internal/workspace/SettingsSchemasImpl.js +268 -0
  348. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -0
  349. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts +41 -0
  350. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts.map +1 -0
  351. package/lib/esm/internal/workspace/WorkspaceImpl.js +691 -0
  352. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -0
  353. package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts +10 -0
  354. package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts.map +1 -0
  355. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js +35 -0
  356. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -0
  357. package/lib/esm/rpc/multipart.d.ts +12 -0
  358. package/lib/esm/rpc/multipart.d.ts.map +1 -0
  359. package/lib/esm/rpc/multipart.js +67 -0
  360. package/lib/esm/rpc/multipart.js.map +1 -0
  361. package/lib/esm/rpc/tracing.d.ts +29 -0
  362. package/lib/esm/rpc/tracing.d.ts.map +1 -0
  363. package/lib/esm/rpc/tracing.js +71 -0
  364. package/lib/esm/rpc/tracing.js.map +1 -0
  365. package/lib/esm/rpc/web/logging.d.ts +10 -0
  366. package/lib/esm/rpc/web/logging.d.ts.map +1 -0
  367. package/lib/esm/rpc/web/logging.js +41 -0
  368. package/lib/esm/rpc/web/logging.js.map +1 -0
  369. package/lib/esm/rpc/web/request.d.ts +7 -0
  370. package/lib/esm/rpc/web/request.d.ts.map +1 -0
  371. package/lib/esm/rpc/web/request.js +71 -0
  372. package/lib/esm/rpc/web/request.js.map +1 -0
  373. package/lib/esm/rpc/web/response.d.ts +7 -0
  374. package/lib/esm/rpc/web/response.d.ts.map +1 -0
  375. package/lib/esm/rpc/web/response.js +136 -0
  376. package/lib/esm/rpc/web/response.js.map +1 -0
  377. package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts +16 -0
  378. package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts.map +1 -0
  379. package/lib/esm/rpc-impl/DevToolsRpcImpl.js +29 -0
  380. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -0
  381. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts +51 -0
  382. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -0
  383. package/lib/esm/rpc-impl/IModelReadRpcImpl.js +313 -0
  384. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -0
  385. package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts +21 -0
  386. package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts.map +1 -0
  387. package/lib/esm/rpc-impl/IModelTileRpcImpl.js +193 -0
  388. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -0
  389. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts +45 -0
  390. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -0
  391. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js +166 -0
  392. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -0
  393. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts +18 -0
  394. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts.map +1 -0
  395. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js +41 -0
  396. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -0
  397. package/lib/esm/test/AdvancedEqual.d.ts +38 -0
  398. package/lib/esm/test/AdvancedEqual.d.ts.map +1 -0
  399. package/lib/esm/test/AdvancedEqual.js +67 -0
  400. package/lib/esm/test/AdvancedEqual.js.map +1 -0
  401. package/lib/esm/test/AttachDb.test.d.ts +2 -0
  402. package/lib/esm/test/AttachDb.test.d.ts.map +1 -0
  403. package/lib/esm/test/AttachDb.test.js +157 -0
  404. package/lib/esm/test/AttachDb.test.js.map +1 -0
  405. package/lib/esm/test/GeometryTestUtil.d.ts +7 -0
  406. package/lib/esm/test/GeometryTestUtil.d.ts.map +1 -0
  407. package/lib/esm/test/GeometryTestUtil.js +25 -0
  408. package/lib/esm/test/GeometryTestUtil.js.map +1 -0
  409. package/lib/esm/test/IModelHost.test.d.ts +2 -0
  410. package/lib/esm/test/IModelHost.test.d.ts.map +1 -0
  411. package/lib/esm/test/IModelHost.test.js +187 -0
  412. package/lib/esm/test/IModelHost.test.js.map +1 -0
  413. package/lib/esm/test/IModelTestUtils.d.ts +173 -0
  414. package/lib/esm/test/IModelTestUtils.d.ts.map +1 -0
  415. package/lib/esm/test/IModelTestUtils.js +1113 -0
  416. package/lib/esm/test/IModelTestUtils.js.map +1 -0
  417. package/lib/esm/test/ImageSourceConversion.test.d.ts +2 -0
  418. package/lib/esm/test/ImageSourceConversion.test.d.ts.map +1 -0
  419. package/lib/esm/test/ImageSourceConversion.test.js +171 -0
  420. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -0
  421. package/lib/esm/test/IpcHost.test.d.ts +2 -0
  422. package/lib/esm/test/IpcHost.test.d.ts.map +1 -0
  423. package/lib/esm/test/IpcHost.test.js +55 -0
  424. package/lib/esm/test/IpcHost.test.js.map +1 -0
  425. package/lib/esm/test/KnownTestLocations.d.ts +7 -0
  426. package/lib/esm/test/KnownTestLocations.d.ts.map +1 -0
  427. package/lib/esm/test/KnownTestLocations.js +27 -0
  428. package/lib/esm/test/KnownTestLocations.js.map +1 -0
  429. package/lib/esm/test/PrintElementTree.d.ts +7 -0
  430. package/lib/esm/test/PrintElementTree.d.ts.map +1 -0
  431. package/lib/esm/test/PrintElementTree.js +35 -0
  432. package/lib/esm/test/PrintElementTree.js.map +1 -0
  433. package/lib/esm/test/PropertyDb.test.d.ts +2 -0
  434. package/lib/esm/test/PropertyDb.test.d.ts.map +1 -0
  435. package/lib/esm/test/PropertyDb.test.js +71 -0
  436. package/lib/esm/test/PropertyDb.test.js.map +1 -0
  437. package/lib/esm/test/RevisionUtility.d.ts +33 -0
  438. package/lib/esm/test/RevisionUtility.d.ts.map +1 -0
  439. package/lib/esm/test/RevisionUtility.js +52 -0
  440. package/lib/esm/test/RevisionUtility.js.map +1 -0
  441. package/lib/esm/test/SchemaUtils.test.d.ts +2 -0
  442. package/lib/esm/test/SchemaUtils.test.d.ts.map +1 -0
  443. package/lib/esm/test/SchemaUtils.test.js +97 -0
  444. package/lib/esm/test/SchemaUtils.test.js.map +1 -0
  445. package/lib/esm/test/SequentialLogMatcher.d.ts +35 -0
  446. package/lib/esm/test/SequentialLogMatcher.d.ts.map +1 -0
  447. package/lib/esm/test/SequentialLogMatcher.js +130 -0
  448. package/lib/esm/test/SequentialLogMatcher.js.map +1 -0
  449. package/lib/esm/test/TestChangeSetUtility.d.ts +23 -0
  450. package/lib/esm/test/TestChangeSetUtility.d.ts.map +1 -0
  451. package/lib/esm/test/TestChangeSetUtility.js +65 -0
  452. package/lib/esm/test/TestChangeSetUtility.js.map +1 -0
  453. package/lib/esm/test/TestUtils.d.ts +38 -0
  454. package/lib/esm/test/TestUtils.d.ts.map +1 -0
  455. package/lib/esm/test/TestUtils.js +99 -0
  456. package/lib/esm/test/TestUtils.js.map +1 -0
  457. package/lib/esm/test/annotations/TextAnnotation.test.d.ts +2 -0
  458. package/lib/esm/test/annotations/TextAnnotation.test.d.ts.map +1 -0
  459. package/lib/esm/test/annotations/TextAnnotation.test.js +1135 -0
  460. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -0
  461. package/lib/esm/test/categories/Category.test.d.ts +2 -0
  462. package/lib/esm/test/categories/Category.test.d.ts.map +1 -0
  463. package/lib/esm/test/categories/Category.test.js +51 -0
  464. package/lib/esm/test/categories/Category.test.js.map +1 -0
  465. package/lib/esm/test/codespec/CodeSpec.test.d.ts +2 -0
  466. package/lib/esm/test/codespec/CodeSpec.test.d.ts.map +1 -0
  467. package/lib/esm/test/codespec/CodeSpec.test.js +51 -0
  468. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -0
  469. package/lib/esm/test/ecdb/CTE.test.d.ts +2 -0
  470. package/lib/esm/test/ecdb/CTE.test.d.ts.map +1 -0
  471. package/lib/esm/test/ecdb/CTE.test.js +177 -0
  472. package/lib/esm/test/ecdb/CTE.test.js.map +1 -0
  473. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts +2 -0
  474. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts.map +1 -0
  475. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +167 -0
  476. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -0
  477. package/lib/esm/test/ecdb/ECDb.test.d.ts +2 -0
  478. package/lib/esm/test/ecdb/ECDb.test.d.ts.map +1 -0
  479. package/lib/esm/test/ecdb/ECDb.test.js +642 -0
  480. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -0
  481. package/lib/esm/test/ecdb/ECDbTestHelper.d.ts +5 -0
  482. package/lib/esm/test/ecdb/ECDbTestHelper.d.ts.map +1 -0
  483. package/lib/esm/test/ecdb/ECDbTestHelper.js +28 -0
  484. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -0
  485. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts +2 -0
  486. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts.map +1 -0
  487. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js +63 -0
  488. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -0
  489. package/lib/esm/test/ecdb/ECSqlAst.test.d.ts +5 -0
  490. package/lib/esm/test/ecdb/ECSqlAst.test.d.ts.map +1 -0
  491. package/lib/esm/test/ecdb/ECSqlAst.test.js +971 -0
  492. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -0
  493. package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts +2 -0
  494. package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts.map +1 -0
  495. package/lib/esm/test/ecdb/ECSqlQuery.test.js +770 -0
  496. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -0
  497. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts +2 -0
  498. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts.map +1 -0
  499. package/lib/esm/test/ecdb/ECSqlReader.test.js +669 -0
  500. package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -0
  501. package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts +2 -0
  502. package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts.map +1 -0
  503. package/lib/esm/test/ecdb/ECSqlStatement.test.js +3239 -0
  504. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -0
  505. package/lib/esm/test/ecdb/SqliteStatement.test.d.ts +2 -0
  506. package/lib/esm/test/ecdb/SqliteStatement.test.d.ts.map +1 -0
  507. package/lib/esm/test/ecdb/SqliteStatement.test.js +508 -0
  508. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -0
  509. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts +4 -0
  510. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts.map +1 -0
  511. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js +127 -0
  512. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -0
  513. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts +2 -0
  514. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts.map +1 -0
  515. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +196 -0
  516. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -0
  517. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts +66 -0
  518. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts.map +1 -0
  519. package/lib/esm/test/ecsql/src/ECSqlTestParser.js +420 -0
  520. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -0
  521. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts +2 -0
  522. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts.map +1 -0
  523. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js +365 -0
  524. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -0
  525. package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts +2 -0
  526. package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts.map +1 -0
  527. package/lib/esm/test/element/DeleteDefinitionElements.test.js +208 -0
  528. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -0
  529. package/lib/esm/test/element/ElementAspect.test.d.ts +2 -0
  530. package/lib/esm/test/element/ElementAspect.test.d.ts.map +1 -0
  531. package/lib/esm/test/element/ElementAspect.test.js +363 -0
  532. package/lib/esm/test/element/ElementAspect.test.js.map +1 -0
  533. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts +2 -0
  534. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts.map +1 -0
  535. package/lib/esm/test/element/ElementDependencyGraph.test.js +383 -0
  536. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -0
  537. package/lib/esm/test/element/ElementRoundTrip.test.d.ts +2 -0
  538. package/lib/esm/test/element/ElementRoundTrip.test.d.ts.map +1 -0
  539. package/lib/esm/test/element/ElementRoundTrip.test.js +916 -0
  540. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -0
  541. package/lib/esm/test/element/ExcludedElements.test.d.ts +2 -0
  542. package/lib/esm/test/element/ExcludedElements.test.d.ts.map +1 -0
  543. package/lib/esm/test/element/ExcludedElements.test.js +57 -0
  544. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -0
  545. package/lib/esm/test/element/ExternalSource.test.d.ts +2 -0
  546. package/lib/esm/test/element/ExternalSource.test.d.ts.map +1 -0
  547. package/lib/esm/test/element/ExternalSource.test.js +107 -0
  548. package/lib/esm/test/element/ExternalSource.test.js.map +1 -0
  549. package/lib/esm/test/element/NullStructArray.test.d.ts +2 -0
  550. package/lib/esm/test/element/NullStructArray.test.d.ts.map +1 -0
  551. package/lib/esm/test/element/NullStructArray.test.js +77 -0
  552. package/lib/esm/test/element/NullStructArray.test.js.map +1 -0
  553. package/lib/esm/test/element/UrlLink.test.d.ts +2 -0
  554. package/lib/esm/test/element/UrlLink.test.d.ts.map +1 -0
  555. package/lib/esm/test/element/UrlLink.test.js +36 -0
  556. package/lib/esm/test/element/UrlLink.test.js.map +1 -0
  557. package/lib/esm/test/font/FontFile.test.d.ts +2 -0
  558. package/lib/esm/test/font/FontFile.test.d.ts.map +1 -0
  559. package/lib/esm/test/font/FontFile.test.js +139 -0
  560. package/lib/esm/test/font/FontFile.test.js.map +1 -0
  561. package/lib/esm/test/font/IModelDbFonts.test.d.ts +2 -0
  562. package/lib/esm/test/font/IModelDbFonts.test.d.ts.map +1 -0
  563. package/lib/esm/test/font/IModelDbFonts.test.js +264 -0
  564. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -0
  565. package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts +2 -0
  566. package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts.map +1 -0
  567. package/lib/esm/test/hubaccess/BriefcaseManager.test.js +165 -0
  568. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -0
  569. package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts +2 -0
  570. package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts.map +1 -0
  571. package/lib/esm/test/hubaccess/CheckpointManager.test.js +137 -0
  572. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -0
  573. package/lib/esm/test/imageData.d.ts +9 -0
  574. package/lib/esm/test/imageData.d.ts.map +1 -0
  575. package/lib/esm/test/imageData.js +16 -0
  576. package/lib/esm/test/imageData.js.map +1 -0
  577. package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts +2 -0
  578. package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts.map +1 -0
  579. package/lib/esm/test/imodel/ElementTreeWalker.test.js +382 -0
  580. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -0
  581. package/lib/esm/test/imodel/GetTextureImage.test.d.ts +2 -0
  582. package/lib/esm/test/imodel/GetTextureImage.test.d.ts.map +1 -0
  583. package/lib/esm/test/imodel/GetTextureImage.test.js +29 -0
  584. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -0
  585. package/lib/esm/test/imodel/IModel.test.d.ts +2 -0
  586. package/lib/esm/test/imodel/IModel.test.d.ts.map +1 -0
  587. package/lib/esm/test/imodel/IModel.test.js +2601 -0
  588. package/lib/esm/test/imodel/IModel.test.js.map +1 -0
  589. package/lib/esm/test/imodel/ProjectExtents.test.d.ts +2 -0
  590. package/lib/esm/test/imodel/ProjectExtents.test.d.ts.map +1 -0
  591. package/lib/esm/test/imodel/ProjectExtents.test.js +66 -0
  592. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -0
  593. package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts +2 -0
  594. package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts.map +1 -0
  595. package/lib/esm/test/imodel/SchemaXmlImport.test.js +74 -0
  596. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -0
  597. package/lib/esm/test/index.d.ts +7 -0
  598. package/lib/esm/test/index.d.ts.map +1 -0
  599. package/lib/esm/test/index.js +11 -0
  600. package/lib/esm/test/index.js.map +1 -0
  601. package/lib/esm/test/misc/DevTools.test.d.ts +2 -0
  602. package/lib/esm/test/misc/DevTools.test.d.ts.map +1 -0
  603. package/lib/esm/test/misc/DevTools.test.js +72 -0
  604. package/lib/esm/test/misc/DevTools.test.js.map +1 -0
  605. package/lib/esm/test/misc/EntitySubClasses.test.d.ts +2 -0
  606. package/lib/esm/test/misc/EntitySubClasses.test.d.ts.map +1 -0
  607. package/lib/esm/test/misc/EntitySubClasses.test.js +106 -0
  608. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -0
  609. package/lib/esm/test/misc/GeoServices.test.d.ts +2 -0
  610. package/lib/esm/test/misc/GeoServices.test.d.ts.map +1 -0
  611. package/lib/esm/test/misc/GeoServices.test.js +850 -0
  612. package/lib/esm/test/misc/GeoServices.test.js.map +1 -0
  613. package/lib/esm/test/misc/PromiseMemoizer.test.d.ts +2 -0
  614. package/lib/esm/test/misc/PromiseMemoizer.test.d.ts.map +1 -0
  615. package/lib/esm/test/misc/PromiseMemoizer.test.js +111 -0
  616. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -0
  617. package/lib/esm/test/native/DgnDbWorker.test.d.ts +2 -0
  618. package/lib/esm/test/native/DgnDbWorker.test.d.ts.map +1 -0
  619. package/lib/esm/test/native/DgnDbWorker.test.js +159 -0
  620. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -0
  621. package/lib/esm/test/rpc/response.test.d.ts +2 -0
  622. package/lib/esm/test/rpc/response.test.d.ts.map +1 -0
  623. package/lib/esm/test/rpc/response.test.js +112 -0
  624. package/lib/esm/test/rpc/response.test.js.map +1 -0
  625. package/lib/esm/test/schema/ClassRegistry.test.d.ts +2 -0
  626. package/lib/esm/test/schema/ClassRegistry.test.d.ts.map +1 -0
  627. package/lib/esm/test/schema/ClassRegistry.test.js +679 -0
  628. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -0
  629. package/lib/esm/test/schema/FunctionalDomain.test.d.ts +2 -0
  630. package/lib/esm/test/schema/FunctionalDomain.test.d.ts.map +1 -0
  631. package/lib/esm/test/schema/FunctionalDomain.test.js +490 -0
  632. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -0
  633. package/lib/esm/test/schema/GenericDomain.test.d.ts +2 -0
  634. package/lib/esm/test/schema/GenericDomain.test.d.ts.map +1 -0
  635. package/lib/esm/test/schema/GenericDomain.test.js +132 -0
  636. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -0
  637. package/lib/esm/test/schema/IModelSchemaContext.test.d.ts +2 -0
  638. package/lib/esm/test/schema/IModelSchemaContext.test.d.ts.map +1 -0
  639. package/lib/esm/test/schema/IModelSchemaContext.test.js +95 -0
  640. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -0
  641. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts +4 -0
  642. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts.map +1 -0
  643. package/lib/esm/test/sheetindex/SheetIndex.test.js +312 -0
  644. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -0
  645. package/lib/esm/test/standalone/ChangeMerge.test.d.ts +2 -0
  646. package/lib/esm/test/standalone/ChangeMerge.test.d.ts.map +1 -0
  647. package/lib/esm/test/standalone/ChangeMerge.test.js +413 -0
  648. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -0
  649. package/lib/esm/test/standalone/ChangesetReader.test.d.ts +2 -0
  650. package/lib/esm/test/standalone/ChangesetReader.test.d.ts.map +1 -0
  651. package/lib/esm/test/standalone/ChangesetReader.test.js +890 -0
  652. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -0
  653. package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts +2 -0
  654. package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts.map +1 -0
  655. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js +49 -0
  656. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -0
  657. package/lib/esm/test/standalone/DisplayStyle.test.d.ts +2 -0
  658. package/lib/esm/test/standalone/DisplayStyle.test.d.ts.map +1 -0
  659. package/lib/esm/test/standalone/DisplayStyle.test.js +136 -0
  660. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -0
  661. package/lib/esm/test/standalone/ElementGraphics.test.d.ts +2 -0
  662. package/lib/esm/test/standalone/ElementGraphics.test.d.ts.map +1 -0
  663. package/lib/esm/test/standalone/ElementGraphics.test.js +127 -0
  664. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -0
  665. package/lib/esm/test/standalone/ElementMesh.test.d.ts +2 -0
  666. package/lib/esm/test/standalone/ElementMesh.test.d.ts.map +1 -0
  667. package/lib/esm/test/standalone/ElementMesh.test.js +142 -0
  668. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -0
  669. package/lib/esm/test/standalone/ExportGraphics.test.d.ts +2 -0
  670. package/lib/esm/test/standalone/ExportGraphics.test.d.ts.map +1 -0
  671. package/lib/esm/test/standalone/ExportGraphics.test.js +1040 -0
  672. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -0
  673. package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts +2 -0
  674. package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts.map +1 -0
  675. package/lib/esm/test/standalone/GeometryChangeEvents.test.js +139 -0
  676. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -0
  677. package/lib/esm/test/standalone/GeometryStream.test.d.ts +2 -0
  678. package/lib/esm/test/standalone/GeometryStream.test.d.ts.map +1 -0
  679. package/lib/esm/test/standalone/GeometryStream.test.js +2869 -0
  680. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -0
  681. package/lib/esm/test/standalone/HubMock.test.d.ts +2 -0
  682. package/lib/esm/test/standalone/HubMock.test.d.ts.map +1 -0
  683. package/lib/esm/test/standalone/HubMock.test.js +343 -0
  684. package/lib/esm/test/standalone/HubMock.test.js.map +1 -0
  685. package/lib/esm/test/standalone/IModelWrite.test.d.ts +7 -0
  686. package/lib/esm/test/standalone/IModelWrite.test.d.ts.map +1 -0
  687. package/lib/esm/test/standalone/IModelWrite.test.js +859 -0
  688. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -0
  689. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts +2 -0
  690. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts.map +1 -0
  691. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js +417 -0
  692. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -0
  693. package/lib/esm/test/standalone/MergeConflict.test.d.ts +7 -0
  694. package/lib/esm/test/standalone/MergeConflict.test.d.ts.map +1 -0
  695. package/lib/esm/test/standalone/MergeConflict.test.js +345 -0
  696. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -0
  697. package/lib/esm/test/standalone/NativeAppStorage.test.d.ts +2 -0
  698. package/lib/esm/test/standalone/NativeAppStorage.test.d.ts.map +1 -0
  699. package/lib/esm/test/standalone/NativeAppStorage.test.js +121 -0
  700. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -0
  701. package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts +2 -0
  702. package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts.map +1 -0
  703. package/lib/esm/test/standalone/RenderMaterialElement.test.js +398 -0
  704. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -0
  705. package/lib/esm/test/standalone/RenderTimeline.test.d.ts +2 -0
  706. package/lib/esm/test/standalone/RenderTimeline.test.d.ts.map +1 -0
  707. package/lib/esm/test/standalone/RenderTimeline.test.js +71 -0
  708. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -0
  709. package/lib/esm/test/standalone/SQLiteDb.test.d.ts +2 -0
  710. package/lib/esm/test/standalone/SQLiteDb.test.d.ts.map +1 -0
  711. package/lib/esm/test/standalone/SQLiteDb.test.js +63 -0
  712. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -0
  713. package/lib/esm/test/standalone/SchemaUtils.test.d.ts +2 -0
  714. package/lib/esm/test/standalone/SchemaUtils.test.d.ts.map +1 -0
  715. package/lib/esm/test/standalone/SchemaUtils.test.js +25 -0
  716. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -0
  717. package/lib/esm/test/standalone/SectionDrawing.test.d.ts +2 -0
  718. package/lib/esm/test/standalone/SectionDrawing.test.d.ts.map +1 -0
  719. package/lib/esm/test/standalone/SectionDrawing.test.js +83 -0
  720. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -0
  721. package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts +2 -0
  722. package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts.map +1 -0
  723. package/lib/esm/test/standalone/ServerBasedLocks.test.js +279 -0
  724. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -0
  725. package/lib/esm/test/standalone/Setting.test.d.ts +2 -0
  726. package/lib/esm/test/standalone/Setting.test.d.ts.map +1 -0
  727. package/lib/esm/test/standalone/Setting.test.js +76 -0
  728. package/lib/esm/test/standalone/Setting.test.js.map +1 -0
  729. package/lib/esm/test/standalone/Settings.test.d.ts +2 -0
  730. package/lib/esm/test/standalone/Settings.test.d.ts.map +1 -0
  731. package/lib/esm/test/standalone/Settings.test.js +349 -0
  732. package/lib/esm/test/standalone/Settings.test.js.map +1 -0
  733. package/lib/esm/test/standalone/SettingsSchemas.test.d.ts +2 -0
  734. package/lib/esm/test/standalone/SettingsSchemas.test.d.ts.map +1 -0
  735. package/lib/esm/test/standalone/SettingsSchemas.test.js +31 -0
  736. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -0
  737. package/lib/esm/test/standalone/SnapshotDb.test.d.ts +2 -0
  738. package/lib/esm/test/standalone/SnapshotDb.test.d.ts.map +1 -0
  739. package/lib/esm/test/standalone/SnapshotDb.test.js +153 -0
  740. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -0
  741. package/lib/esm/test/standalone/Texture.test.d.ts +2 -0
  742. package/lib/esm/test/standalone/Texture.test.d.ts.map +1 -0
  743. package/lib/esm/test/standalone/Texture.test.js +90 -0
  744. package/lib/esm/test/standalone/Texture.test.js.map +1 -0
  745. package/lib/esm/test/standalone/TileCache.test.d.ts +9 -0
  746. package/lib/esm/test/standalone/TileCache.test.d.ts.map +1 -0
  747. package/lib/esm/test/standalone/TileCache.test.js +127 -0
  748. package/lib/esm/test/standalone/TileCache.test.js.map +1 -0
  749. package/lib/esm/test/standalone/TileTree.test.d.ts +2 -0
  750. package/lib/esm/test/standalone/TileTree.test.d.ts.map +1 -0
  751. package/lib/esm/test/standalone/TileTree.test.js +241 -0
  752. package/lib/esm/test/standalone/TileTree.test.js.map +1 -0
  753. package/lib/esm/test/standalone/TxnManager.test.d.ts +2 -0
  754. package/lib/esm/test/standalone/TxnManager.test.d.ts.map +1 -0
  755. package/lib/esm/test/standalone/TxnManager.test.js +878 -0
  756. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -0
  757. package/lib/esm/test/standalone/ViewDefinition.test.d.ts +2 -0
  758. package/lib/esm/test/standalone/ViewDefinition.test.d.ts.map +1 -0
  759. package/lib/esm/test/standalone/ViewDefinition.test.js +279 -0
  760. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -0
  761. package/lib/esm/test/standalone/ViewStoreDb.test.d.ts +2 -0
  762. package/lib/esm/test/standalone/ViewStoreDb.test.d.ts.map +1 -0
  763. package/lib/esm/test/standalone/ViewStoreDb.test.js +288 -0
  764. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -0
  765. package/lib/esm/test/standalone/Workspace.test.d.ts +2 -0
  766. package/lib/esm/test/standalone/Workspace.test.d.ts.map +1 -0
  767. package/lib/esm/test/standalone/Workspace.test.js +161 -0
  768. package/lib/esm/test/standalone/Workspace.test.js.map +1 -0
  769. package/lib/esm/workspace/Settings.d.ts +216 -0
  770. package/lib/esm/workspace/Settings.d.ts.map +1 -0
  771. package/lib/esm/workspace/Settings.js +83 -0
  772. package/lib/esm/workspace/Settings.js.map +1 -0
  773. package/lib/esm/workspace/SettingsSchemas.d.ts +135 -0
  774. package/lib/esm/workspace/SettingsSchemas.d.ts.map +1 -0
  775. package/lib/esm/workspace/SettingsSchemas.js +9 -0
  776. package/lib/esm/workspace/SettingsSchemas.js.map +1 -0
  777. package/lib/esm/workspace/Workspace.d.ts +507 -0
  778. package/lib/esm/workspace/Workspace.d.ts.map +1 -0
  779. package/lib/esm/workspace/Workspace.js +97 -0
  780. package/lib/esm/workspace/Workspace.js.map +1 -0
  781. package/lib/esm/workspace/WorkspaceEditor.d.ts +245 -0
  782. package/lib/esm/workspace/WorkspaceEditor.d.ts.map +1 -0
  783. package/lib/esm/workspace/WorkspaceEditor.js +31 -0
  784. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -0
  785. package/package.json +18 -14
@@ -0,0 +1,679 @@
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 * as sinon from "sinon";
7
+ import * as path from "path";
8
+ import { BisCodeSpec, Code, ConcreteEntityTypes, ECJsNames, RelatedElement, SchemaState, } from "@itwin/core-common";
9
+ import { DefinitionElement, DefinitionModel, ElementRefersToElements, EntityReferences, IModelDb, IModelJsFs, RepositoryLink, Schema, SpatialViewDefinition, StandaloneDb, UrlLink, ViewDefinition3d, } from "../../core-backend";
10
+ import { IModelTestUtils } from "../IModelTestUtils";
11
+ import { KnownTestLocations } from "../KnownTestLocations";
12
+ import { Element } from "../../Element";
13
+ import { Schemas } from "../../Schema";
14
+ import { ClassRegistry } from "../../ClassRegistry";
15
+ import { OpenMode } from "@itwin/core-bentley";
16
+ import { EntityClass } from "@itwin/ecschema-metadata";
17
+ describe("Class Registry", () => {
18
+ let imodel;
19
+ before(() => {
20
+ const seedFileName = IModelTestUtils.resolveAssetFile("test.bim");
21
+ const testFileName = IModelTestUtils.prepareOutputFile("ClassRegistry", "ClassRegistryTest.bim");
22
+ imodel = IModelTestUtils.createSnapshotFromSeed(testFileName, seedFileName);
23
+ assert.exists(imodel);
24
+ });
25
+ after(() => {
26
+ imodel?.close();
27
+ });
28
+ it("should verify the Entity metadata of known element subclasses", async () => {
29
+ const code1 = new Code({ spec: "0x10", scope: "0x11", value: "RF1.dgn" });
30
+ const el = imodel.elements.getElement(code1);
31
+ assert.exists(el);
32
+ if (el) {
33
+ const metaData = await el.getMetaData();
34
+ assert.exists(metaData);
35
+ assert.equal(metaData.fullName, el.classFullName.replace(":", "."));
36
+ // I happen to know that this is a BisCore:RepositoryLink
37
+ assert.equal(metaData.fullName, RepositoryLink.classFullName.replace(":", "."));
38
+ // Check the metadata on the class itself
39
+ assert.isDefined(metaData.baseClass);
40
+ assert.equal(metaData.baseClass?.fullName, UrlLink.classFullName.replace(":", "."));
41
+ assert.isTrue(metaData.customAttributes?.has("BisCore.ClassHasHandler"));
42
+ // Check the metadata on the one property that RepositoryLink defines, RepositoryGuid
43
+ const repositoryGuidProperty = await metaData.getProperty("repositoryGuid");
44
+ assert.isDefined(repositoryGuidProperty);
45
+ assert.equal(repositoryGuidProperty.extendedTypeName, "BeGuid");
46
+ assert.isTrue(repositoryGuidProperty.customAttributes?.has("CoreCustomAttributes.HiddenProperty"));
47
+ }
48
+ const el2 = imodel.elements.getElement("0x34");
49
+ assert.exists(el2);
50
+ if (el2) {
51
+ const metaData = await el2.getMetaData();
52
+ assert.exists(metaData);
53
+ assert.equal(metaData.fullName, el2.classFullName.replace(":", "."));
54
+ // I happen to know that this is a BisCore.SpatialViewDefinition
55
+ assert.equal(metaData.fullName, SpatialViewDefinition.classFullName.replace(":", "."));
56
+ assert.isDefined(metaData.baseClass);
57
+ assert.equal(metaData.baseClass?.fullName, ViewDefinition3d.classFullName.replace(":", "."));
58
+ const modelSelectorProperty = await metaData.getProperty("modelSelector");
59
+ assert.isDefined(modelSelectorProperty);
60
+ assert.equal(modelSelectorProperty.relationshipClass.fullName, "BisCore.SpatialViewDefinitionUsesModelSelector");
61
+ }
62
+ });
63
+ it("should verify Entity metadata with both base class and mixin properties", async () => {
64
+ const schemaPathname = path.join(KnownTestLocations.assetsDir, "TestDomain.ecschema.xml");
65
+ await imodel.importSchemas([schemaPathname]); // will throw an exception if import fails
66
+ const testDomainClass = await imodel.schemaContext.getSchemaItem("TestDomain", "TestDomainClass", EntityClass);
67
+ assert.isDefined(testDomainClass);
68
+ assert.isDefined(testDomainClass?.baseClass);
69
+ assert.equal(testDomainClass?.baseClass?.fullName, DefinitionElement.classFullName.replace(":", "."));
70
+ assert.isDefined(testDomainClass?.mixins);
71
+ assert.equal(testDomainClass?.mixins.length, 1);
72
+ assert.equal(testDomainClass?.mixins[0].fullName, "TestDomain.IMixin");
73
+ // Verify that the forEach method which is called when constructing an entity
74
+ // is picking up all expected properties.
75
+ const testData = [];
76
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
77
+ IModelDb.forEachMetaData(imodel, "TestDomain:TestDomainClass", true, (propName, _property) => {
78
+ testData.push(ECJsNames.toJsName(propName));
79
+ }, false);
80
+ const expectedString = testData.find((testString) => {
81
+ return testString === "testMixinProperty";
82
+ });
83
+ assert.isDefined(expectedString);
84
+ });
85
+ });
86
+ describe("Class Registry - getRootMetaData", () => {
87
+ let imodel;
88
+ before(async () => {
89
+ const seedFileName = IModelTestUtils.resolveAssetFile("test.bim");
90
+ const testFileName = IModelTestUtils.prepareOutputFile("ClassRegistry", "GetRootMetaData.bim");
91
+ IModelJsFs.copySync(seedFileName, testFileName);
92
+ const schemaState = StandaloneDb.validateSchemas(testFileName, true);
93
+ assert.strictEqual(schemaState, SchemaState.UpgradeRecommended);
94
+ StandaloneDb.upgradeStandaloneSchemas(testFileName);
95
+ imodel = StandaloneDb.openFile(testFileName, OpenMode.ReadWrite);
96
+ assert.exists(imodel);
97
+ await imodel.importSchemaStrings([
98
+ `<?xml version="1.0" encoding="UTF-8"?>
99
+ <ECSchema schemaName="TestSchema1" alias="ts1" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
100
+ <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
101
+ <ECSchemaReference name="CoreCustomAttributes" version="01.00.03" alias="CoreCA"/>
102
+
103
+ <ECEntityClass typeName="TestBase">
104
+ <BaseClass>bis:PhysicalElement</BaseClass>
105
+ </ECEntityClass>
106
+
107
+ <ECEntityClass typeName="TestDerived">
108
+ <BaseClass>TestBase</BaseClass>
109
+ </ECEntityClass>
110
+
111
+ <ECEntityClass typeName="ITestMixinForAspectsBase">
112
+ <ECCustomAttributes>
113
+ <IsMixin xmlns="CoreCustomAttributes.01.00.03">
114
+ <AppliesToEntityClass>bis:ElementUniqueAspect</AppliesToEntityClass>
115
+ </IsMixin>
116
+ </ECCustomAttributes>
117
+ </ECEntityClass>
118
+
119
+ <ECEntityClass typeName="ITestMixinForAspectsDerived">
120
+ <BaseClass>ITestMixinForAspectsBase</BaseClass>
121
+ <ECCustomAttributes>
122
+ <IsMixin xmlns="CoreCustomAttributes.01.00.03">
123
+ <AppliesToEntityClass>bis:ElementUniqueAspect</AppliesToEntityClass>
124
+ </IsMixin>
125
+ </ECCustomAttributes>
126
+ </ECEntityClass>
127
+
128
+ <ECEntityClass typeName="ITestMixinForElements" modifier="Abstract">
129
+ <ECCustomAttributes>
130
+ <IsMixin xmlns="CoreCustomAttributes.01.00.03">
131
+ <AppliesToEntityClass>bis:Element</AppliesToEntityClass>
132
+ </IsMixin>
133
+ </ECCustomAttributes>
134
+ </ECEntityClass>
135
+
136
+ <ECEntityClass typeName="TestMixedInAndDerived">
137
+ <BaseClass>TestBase</BaseClass>
138
+ <BaseClass>ITestMixinForElements</BaseClass>
139
+ </ECEntityClass>
140
+
141
+ </ECSchema>
142
+ `,
143
+ ]); // will throw an exception if import fails
144
+ });
145
+ after(() => {
146
+ imodel?.close();
147
+ });
148
+ it("should get the root metadata", async () => {
149
+ for (const [testClass, expectedRoot] of [
150
+ ["TestSchema1.TestBase", "BisCore:Element"],
151
+ ["TestSchema1.TestDerived", "BisCore:Element"],
152
+ ["TestSchema1.ITestMixinForAspectsBase", "BisCore:ElementAspect"],
153
+ ["TestSchema1.ITestMixinForAspectsDerived", "BisCore:ElementAspect"],
154
+ ["TestSchema1.ITestMixinForElements", "BisCore:Element"],
155
+ ["TestSchema1.TestMixedInAndDerived", "BisCore:Element"],
156
+ ]) {
157
+ const rootMetaData = ClassRegistry.getRootEntity(imodel, testClass);
158
+ expect(rootMetaData.replace(".", ":")).to.equal(expectedRoot);
159
+ }
160
+ });
161
+ });
162
+ describe("Class Registry - generated classes", () => {
163
+ let imodel;
164
+ const testSchemaPath = path.join(KnownTestLocations.assetsDir, "TestGeneratedClasses.ecschema.xml");
165
+ before(async () => {
166
+ const seedFileName = IModelTestUtils.resolveAssetFile("test.bim");
167
+ const testFileName = IModelTestUtils.prepareOutputFile("ClassRegistry", "GeneratedClasses.bim");
168
+ imodel = IModelTestUtils.createSnapshotFromSeed(testFileName, seedFileName);
169
+ assert.exists(imodel);
170
+ await imodel.importSchemas([testSchemaPath]); // will throw an exception if import fails
171
+ });
172
+ after(() => {
173
+ imodel?.close();
174
+ });
175
+ class TestGeneratedClasses extends Schema {
176
+ static get schemaName() { return "TestGeneratedClasses"; }
177
+ static get classes() {
178
+ return [TestModelWithNavProp, TestElementWithNavProp, LinkTableRelWithNavProp, DerivedWithNavProp, Derived2, Derived3, Derived4, Derived5, Derived6];
179
+ }
180
+ static registerSchema() {
181
+ if (this !== Schemas.getRegisteredSchema(this.schemaName)) {
182
+ Schemas.unregisterSchema(this.schemaName);
183
+ Schemas.registerSchema(this);
184
+ // eslint-disable-next-line @typescript-eslint/naming-convention
185
+ for (const class_ of this.classes) {
186
+ ClassRegistry.register(class_, this);
187
+ }
188
+ }
189
+ }
190
+ static unregisterSchema() {
191
+ Schemas.unregisterSchema(this.schemaName);
192
+ }
193
+ }
194
+ class TestElementWithNavProp extends DefinitionElement {
195
+ static get className() { return "TestElementWithNavProp"; }
196
+ static schema = TestGeneratedClasses;
197
+ navProp;
198
+ constructor(props, inIModel) {
199
+ super(props, inIModel);
200
+ this.navProp = new RelatedElement(props.navProp);
201
+ }
202
+ }
203
+ class TestModelWithNavProp extends DefinitionModel {
204
+ static get className() { return "TestModelWithNavProp"; }
205
+ static schema = TestGeneratedClasses;
206
+ elemNavProp;
207
+ aspectNavProp;
208
+ relNavProp;
209
+ constructor(props, inIModel) {
210
+ super(props, inIModel);
211
+ this.elemNavProp = new RelatedElement(props.elemNavProp);
212
+ this.aspectNavProp = new RelatedElement(props.aspectNavProp);
213
+ this.relNavProp = new RelatedElement(props.relNavProp);
214
+ }
215
+ }
216
+ class LinkTableRelWithNavProp extends ElementRefersToElements {
217
+ static get className() { return "LinkTableRelWithNavProp"; }
218
+ static schema = TestGeneratedClasses;
219
+ elemNavProp;
220
+ aspectNavProp;
221
+ modelNavProp;
222
+ constructor(props, inIModel) {
223
+ super(props, inIModel);
224
+ this.elemNavProp = new RelatedElement(props.elemNavProp);
225
+ this.aspectNavProp = new RelatedElement(props.aspectNavProp);
226
+ this.modelNavProp = new RelatedElement(props.modelNavProp);
227
+ }
228
+ }
229
+ class DerivedWithNavProp extends TestElementWithNavProp {
230
+ static get className() { return "DerivedWithNavProp"; }
231
+ static schema = TestGeneratedClasses;
232
+ derivedNavProp;
233
+ constructor(props, inIModel) {
234
+ super(props, inIModel);
235
+ this.derivedNavProp = new RelatedElement(props.derivedNavProp);
236
+ }
237
+ }
238
+ class Derived2 extends DerivedWithNavProp {
239
+ static get className() { return "Derived2"; }
240
+ }
241
+ class Derived3 extends Derived2 {
242
+ static get className() { return "Derived3"; }
243
+ }
244
+ class Derived4 extends Derived3 {
245
+ static get className() { return "Derived4"; }
246
+ }
247
+ class Derived5 extends Derived4 {
248
+ static get className() { return "Derived5"; }
249
+ }
250
+ class Derived6 extends Derived5 {
251
+ static get className() { return "Derived6"; }
252
+ }
253
+ // if a single inherited class is not generated, the entire hierarchy is considered not-generated
254
+ it("should only generate automatic collectReferenceIds implementations for generated classes", async () => {
255
+ await imodel.importSchemas([testSchemaPath]); // will throw an exception if import fails
256
+ class GeneratedTestElementWithNavProp extends imodel.getJsClass("TestGeneratedClasses:TestElementWithNavProp") {
257
+ constructor(props) {
258
+ super(props, imodel);
259
+ }
260
+ }
261
+ const testEntityId = imodel.elements.insertElement({
262
+ classFullName: "TestGeneratedClasses:TestEntity",
263
+ prop: "sample-value",
264
+ model: IModelDb.dictionaryId,
265
+ code: Code.createEmpty(),
266
+ });
267
+ const elemWithNavProp = new GeneratedTestElementWithNavProp({
268
+ classFullName: "TestGeneratedClasses:TestElementWithNavProp",
269
+ navProp: {
270
+ id: testEntityId,
271
+ relClassName: "TestGeneratedClasses:ElemRel",
272
+ },
273
+ });
274
+ // eslint-disable-next-line @typescript-eslint/dot-notation
275
+ assert.isDefined(GeneratedTestElementWithNavProp.prototype["collectReferenceIds"]);
276
+ expect([...elemWithNavProp.getReferenceIds()]).to.have.members([
277
+ EntityReferences.fromEntityType(elemWithNavProp.model, ConcreteEntityTypes.Model),
278
+ EntityReferences.fromEntityType(elemWithNavProp.code.scope, ConcreteEntityTypes.Element),
279
+ EntityReferences.fromEntityType(testEntityId, ConcreteEntityTypes.Element),
280
+ ]);
281
+ // eslint-disable-next-line @typescript-eslint/naming-convention
282
+ const GeneratedTestAspectWithNavProp = imodel.getJsClass("TestGeneratedClasses:TestAspectWithNavProp");
283
+ assert.isTrue(GeneratedTestAspectWithNavProp.prototype.hasOwnProperty("collectReferenceIds"));
284
+ });
285
+ it("should not override collectReferenceIds for BisCore schema classes", async () => {
286
+ // AnnotationFrameStyle is an example of an unregistered bis class without an implementation of collectReferenceIds
287
+ assert.isTrue(imodel.getJsClass("BisCore:AnnotationFrameStyle").prototype.hasOwnProperty("collectReferenceIds"));
288
+ });
289
+ it("should get references from its bis superclass", async () => {
290
+ await imodel.importSchemas([testSchemaPath]); // will throw an exception if import fails
291
+ class GeneratedTestElementWithNavProp extends imodel.getJsClass("TestGeneratedClasses:TestElementWithNavProp") {
292
+ constructor(props) {
293
+ super(props, imodel);
294
+ }
295
+ }
296
+ const testEntityId = imodel.elements.insertElement({
297
+ classFullName: "TestGeneratedClasses:TestEntity",
298
+ prop: "sample-value",
299
+ model: IModelDb.dictionaryId,
300
+ code: Code.createEmpty(),
301
+ });
302
+ const elemWithNavProp = new GeneratedTestElementWithNavProp({
303
+ classFullName: "TestGeneratedClasses:TestElementWithNavProp",
304
+ navProp: new RelatedElement({
305
+ id: testEntityId,
306
+ relClassName: "TestGeneratedClasses:ElemRel",
307
+ }),
308
+ model: IModelDb.dictionaryId,
309
+ code: new Code({
310
+ scope: IModelDb.rootSubjectId,
311
+ spec: imodel.codeSpecs.getByName(BisCodeSpec.spatialCategory).id,
312
+ value: "",
313
+ }),
314
+ parent: new RelatedElement({
315
+ // since we don't actually insert this element in this test, using an arbitrary id string
316
+ id: "0x0000ffff",
317
+ relClassName: "BisCore:ElementOwnsChildElements",
318
+ }),
319
+ });
320
+ // super class here is Element so we should get the code.scope, model and parent as references
321
+ expect([...elemWithNavProp.getReferenceIds()]).to.have.members([
322
+ EntityReferences.fromEntityType(elemWithNavProp.model, ConcreteEntityTypes.Model),
323
+ EntityReferences.fromEntityType(elemWithNavProp.code.scope, ConcreteEntityTypes.Element),
324
+ elemWithNavProp.parent && EntityReferences.fromEntityType(elemWithNavProp.parent?.id, ConcreteEntityTypes.Element),
325
+ EntityReferences.fromEntityType(testEntityId, ConcreteEntityTypes.Element),
326
+ ].filter((x) => x !== undefined));
327
+ const modelTestEntityIds = new Array(2).fill(undefined).map((_, index) => imodel.elements.insertElement({
328
+ classFullName: "TestGeneratedClasses:TestEntity",
329
+ prop: `model-value-${index}`,
330
+ model: IModelDb.dictionaryId,
331
+ code: Code.createEmpty(),
332
+ }));
333
+ // eslint-disable-next-line @typescript-eslint/naming-convention
334
+ const GeneratedTestAspectWithNavProp = imodel.getJsClass("TestGeneratedClasses:TestAspectWithNavProp");
335
+ const aspectWithNavPropId = imodel.elements.insertAspect({
336
+ classFullName: GeneratedTestAspectWithNavProp.classFullName,
337
+ navProp: { id: modelTestEntityIds[0], relClassName: "TestGeneratedClasses:NonElemRel" },
338
+ element: { id: modelTestEntityIds[1] },
339
+ });
340
+ class GeneratedTestModelWithNavProp extends imodel.getJsClass("TestGeneratedClasses:TestModelWithNavProp") {
341
+ constructor(props) {
342
+ super(props, imodel);
343
+ }
344
+ }
345
+ const modelWithNavProp = new GeneratedTestModelWithNavProp({
346
+ classFullName: GeneratedTestModelWithNavProp.classFullName,
347
+ modeledElement: { id: modelTestEntityIds[0] },
348
+ parentModel: IModelDb.dictionaryId,
349
+ elemNavProp: { id: modelTestEntityIds[1], relClassName: "TestGeneratedClasses:ModelToElemNavRel" },
350
+ aspectNavProp: { id: aspectWithNavPropId, relClassName: "TestGeneratedClasses:ModelToAspectNavRel" },
351
+ // removed due to a bug
352
+ // relNavProp: { id: relWithNavPropId, relClassName: "TestGeneratedClasses:ModelToRelNavRel" },
353
+ });
354
+ const modelWithNavPropId = modelWithNavProp.insert();
355
+ expect([...modelWithNavProp.getReferenceIds()]).to.have.members([
356
+ EntityReferences.fromEntityType(modelTestEntityIds[1], ConcreteEntityTypes.Element),
357
+ EntityReferences.fromEntityType(IModelDb.dictionaryId, ConcreteEntityTypes.Model),
358
+ EntityReferences.fromEntityType(modelTestEntityIds[0], ConcreteEntityTypes.Element),
359
+ EntityReferences.fromEntityType(aspectWithNavPropId, ConcreteEntityTypes.ElementAspect),
360
+ // ignoring this one, because there seems to be a bug when specifying a relationship instance as a nav prop
361
+ // EntityReferences.fromEntityType(relWithNavPropId, ConcreteEntityTypes.Relationship),
362
+ ].filter((x) => x !== undefined));
363
+ const relTestEntityIds = new Array(3).fill(undefined).map((_, index) => imodel.elements.insertElement({
364
+ classFullName: "TestGeneratedClasses:TestEntity",
365
+ prop: `rel-value-${index}`,
366
+ model: IModelDb.dictionaryId,
367
+ code: Code.createEmpty(),
368
+ }));
369
+ // eslint-disable-next-line @typescript-eslint/naming-convention
370
+ const GeneratedLinkTableRelWithNavProp = imodel.getJsClass("TestGeneratedClasses:LinkTableRelWithNavProp");
371
+ const relWithNavProp = new GeneratedLinkTableRelWithNavProp({
372
+ classFullName: GeneratedLinkTableRelWithNavProp.classFullName,
373
+ sourceId: relTestEntityIds[0],
374
+ targetId: relTestEntityIds[1],
375
+ elemNavProp: {
376
+ id: relTestEntityIds[2],
377
+ relClassName: "TestGeneratedClasses:LinkTableRelToElemNavRel",
378
+ },
379
+ modelNavProp: {
380
+ id: modelWithNavPropId,
381
+ relClassName: "TestGeneratedClasses:LinkTableRelToModelNavRel",
382
+ },
383
+ aspectNavProp: {
384
+ id: aspectWithNavPropId,
385
+ relClassName: "TestGeneratedClasses:LinkTableRelToAspectNavRel",
386
+ },
387
+ }, imodel);
388
+ const _relWithNavPropId = relWithNavProp.insert();
389
+ expect([...relWithNavProp.getReferenceIds()]).to.have.members([
390
+ ...relTestEntityIds.map((id) => EntityReferences.fromEntityType(id, ConcreteEntityTypes.Element)),
391
+ EntityReferences.fromEntityType(modelWithNavPropId, ConcreteEntityTypes.Model),
392
+ EntityReferences.fromEntityType(aspectWithNavPropId, ConcreteEntityTypes.ElementAspect),
393
+ ]);
394
+ });
395
+ it("should not override custom registered schema class implementations of collectReferenceIds", async () => {
396
+ const testImplReferenceId = "TEST-INVALID-ID";
397
+ class MyTestElementWithNavProp extends TestElementWithNavProp {
398
+ collectReferenceIds(referenceIds) {
399
+ super.collectReferenceIds(referenceIds);
400
+ referenceIds.addElement(testImplReferenceId);
401
+ }
402
+ }
403
+ class MyTestGeneratedClasses extends TestGeneratedClasses {
404
+ static get classes() {
405
+ return [MyTestElementWithNavProp, Derived2, Derived3, Derived4, Derived5, Derived6];
406
+ }
407
+ }
408
+ imodel.jsClassMap.clear();
409
+ MyTestGeneratedClasses.registerSchema();
410
+ // eslint-disable-next-line @typescript-eslint/naming-convention
411
+ const ActualTestElementWithNavProp = imodel.getJsClass(TestElementWithNavProp.classFullName);
412
+ const testElementWithNavPropCollectReferencesSpy = sinon.spy(ActualTestElementWithNavProp.prototype, "collectReferenceIds");
413
+ class ActualDerivedWithNavProp extends imodel.getJsClass(DerivedWithNavProp.classFullName) {
414
+ constructor(props) {
415
+ super(props, imodel);
416
+ }
417
+ }
418
+ const testEntity1Id = imodel.elements.insertElement({
419
+ classFullName: "TestGeneratedClasses:TestEntity",
420
+ prop: "sample-value-1",
421
+ model: IModelDb.dictionaryId,
422
+ code: Code.createEmpty(),
423
+ });
424
+ const testEntity2Id = imodel.elements.insertElement({
425
+ classFullName: "TestGeneratedClasses:TestEntity",
426
+ prop: "sample-value-2",
427
+ model: IModelDb.dictionaryId,
428
+ code: Code.createEmpty(),
429
+ });
430
+ const elemWithNavProp = new ActualTestElementWithNavProp({
431
+ classFullName: TestElementWithNavProp.classFullName,
432
+ navProp: {
433
+ id: testEntity1Id,
434
+ relClassName: "TestGeneratedClasses:ElemRel",
435
+ },
436
+ }, imodel);
437
+ // eslint-disable-next-line @typescript-eslint/unbound-method
438
+ assert.isDefined(ActualTestElementWithNavProp.prototype.collectReferenceIds);
439
+ expect([...elemWithNavProp.getReferenceIds()]).to.have.members([
440
+ EntityReferences.fromEntityType(elemWithNavProp.model, ConcreteEntityTypes.Model),
441
+ EntityReferences.fromEntityType(elemWithNavProp.code.scope, ConcreteEntityTypes.Element),
442
+ elemWithNavProp.parent && EntityReferences.fromEntityType(elemWithNavProp.parent?.id, ConcreteEntityTypes.Element),
443
+ EntityReferences.fromEntityType(testImplReferenceId, ConcreteEntityTypes.Element),
444
+ ].filter((x) => x !== undefined));
445
+ expect(testElementWithNavPropCollectReferencesSpy.called).to.be.true;
446
+ testElementWithNavPropCollectReferencesSpy.resetHistory();
447
+ const derivedElemWithNavProp = new ActualDerivedWithNavProp({
448
+ classFullName: DerivedWithNavProp.classFullName,
449
+ navProp: {
450
+ id: testEntity1Id,
451
+ relClassName: "TestGeneratedClasses:ElemRel",
452
+ },
453
+ derivedNavProp: {
454
+ id: testEntity2Id,
455
+ relClassName: "TestGeneratedClasses:DerivedElemRel",
456
+ },
457
+ });
458
+ // eslint-disable-next-line @typescript-eslint/dot-notation
459
+ assert.isDefined(ActualDerivedWithNavProp.prototype["collectReferenceIds"]);
460
+ // This demonstrates that if a non-generated class has a registered non-biscore base, it will not get a generated impl,
461
+ expect([...derivedElemWithNavProp.getReferenceIds()]).to.have.members([
462
+ EntityReferences.fromEntityType(elemWithNavProp.model, ConcreteEntityTypes.Model),
463
+ EntityReferences.fromEntityType(elemWithNavProp.code.scope, ConcreteEntityTypes.Element),
464
+ elemWithNavProp.parent && EntityReferences.fromEntityType(elemWithNavProp.parent?.id, ConcreteEntityTypes.Element),
465
+ EntityReferences.fromEntityType(testImplReferenceId, ConcreteEntityTypes.Element),
466
+ ].filter((x) => x !== undefined));
467
+ // explicitly check we called the super function
468
+ // (we already know its implementation was called, because testImplReferenceId is in the derived call's result)
469
+ expect(testElementWithNavPropCollectReferencesSpy.called).to.be.true;
470
+ sinon.restore();
471
+ MyTestGeneratedClasses.unregisterSchema();
472
+ });
473
+ it("should work along a complex chain of overrides", async () => {
474
+ class MyDerived2 extends Derived2 {
475
+ collectReferenceIds(referenceIds) {
476
+ super.collectReferenceIds(referenceIds);
477
+ referenceIds.addElement("derived-2");
478
+ }
479
+ }
480
+ class MyDerived4 extends Derived4 {
481
+ collectReferenceIds(referenceIds) {
482
+ super.collectReferenceIds(referenceIds);
483
+ referenceIds.addElement("derived-4");
484
+ }
485
+ }
486
+ class MyTestGeneratedClasses extends TestGeneratedClasses {
487
+ static get classes() {
488
+ // leaving Derived3,5,6 generated
489
+ return [MyDerived2, MyDerived4];
490
+ }
491
+ }
492
+ imodel.jsClassMap.clear();
493
+ MyTestGeneratedClasses.registerSchema();
494
+ /* eslint-disable @typescript-eslint/naming-convention */
495
+ const ActualTestElementWithNavProp = imodel.getJsClass("TestGeneratedClasses:TestElementWithNavProp");
496
+ const ActualDerivedWithNavProp = imodel.getJsClass("TestGeneratedClasses:DerivedWithNavProp");
497
+ const ActualDerived2 = imodel.getJsClass("TestGeneratedClasses:Derived2");
498
+ const ActualDerived3 = imodel.getJsClass("TestGeneratedClasses:Derived3");
499
+ const ActualDerived4 = imodel.getJsClass("TestGeneratedClasses:Derived4");
500
+ const ActualDerived5 = imodel.getJsClass("TestGeneratedClasses:Derived5");
501
+ const ActualDerived6 = imodel.getJsClass("TestGeneratedClasses:Derived6");
502
+ expect(ActualTestElementWithNavProp.isGeneratedClass).to.be.true;
503
+ expect(ActualDerivedWithNavProp.isGeneratedClass).to.be.true;
504
+ expect(ActualDerived2.isGeneratedClass).to.be.false;
505
+ expect(ActualDerived3.isGeneratedClass).to.be.true;
506
+ expect(ActualDerived4.isGeneratedClass).to.be.false;
507
+ expect(ActualDerived5.isGeneratedClass).to.be.true;
508
+ expect(ActualDerived6.isGeneratedClass).to.be.true;
509
+ assert.isTrue(ActualTestElementWithNavProp.prototype.hasOwnProperty("collectReferenceIds")); // should have automatic impl
510
+ assert.isTrue(ActualDerivedWithNavProp.prototype.hasOwnProperty("collectReferenceIds"));
511
+ assert.isTrue(ActualDerived2.prototype.hasOwnProperty("collectReferenceIds")); // non-generated; manually implements so has method
512
+ assert.isFalse(ActualDerived3.prototype.hasOwnProperty("collectReferenceIds")); // base is non-generated so it shouldn't get the automatic impl
513
+ assert.isTrue(ActualDerived4.prototype.hasOwnProperty("collectReferenceIds")); // manually implements so it should have the method
514
+ assert.isFalse(ActualDerived5.prototype.hasOwnProperty("collectReferenceIds")); // ancestor is non-generated so it shouldn't get the automatic impl
515
+ assert.isFalse(ActualDerived6.prototype.hasOwnProperty("collectReferenceIds")); // ancestor is non-generated so it shouldn't get the automatic impl
516
+ const testEntity1Id = imodel.elements.insertElement({
517
+ classFullName: "TestGeneratedClasses:Derived6",
518
+ prop: "sample-value-1",
519
+ model: IModelDb.dictionaryId,
520
+ code: Code.createEmpty(),
521
+ });
522
+ const testEntity2Id = imodel.elements.insertElement({
523
+ classFullName: "TestGeneratedClasses:TestEntity",
524
+ prop: "sample-value-2",
525
+ model: IModelDb.dictionaryId,
526
+ code: Code.createEmpty(),
527
+ });
528
+ const derived6Id = imodel.elements.insertElement({
529
+ classFullName: Derived6.classFullName,
530
+ model: IModelDb.dictionaryId,
531
+ code: Code.createEmpty(),
532
+ navProp: {
533
+ id: testEntity1Id,
534
+ relClassName: "TestGeneratedClasses:ElemRel",
535
+ },
536
+ derivedNavProp: {
537
+ id: testEntity2Id,
538
+ relClassName: "TestGeneratedClasses:DerivedElemRel",
539
+ },
540
+ });
541
+ const derived6 = imodel.elements.getElement(derived6Id);
542
+ /** it is not possible to make a spy of an already existing spy, so lazy try making one
543
+ * this is necessary since due to prototypes, some "methods" we listen to are actually the same
544
+ */
545
+ function spyCollectReferenceIds(cls) {
546
+ if (cls.prototype.collectReferenceIds.isSinonProxy) {
547
+ return cls.prototype.collectReferenceIds;
548
+ }
549
+ return sinon.spy(cls.prototype, "collectReferenceIds");
550
+ }
551
+ const elementMethodSpy = spyCollectReferenceIds(Element);
552
+ const testElementWithNavPropSpy = spyCollectReferenceIds(ActualTestElementWithNavProp);
553
+ const derivedWithNavPropSpy = spyCollectReferenceIds(ActualDerivedWithNavProp);
554
+ const derived2Spy = spyCollectReferenceIds(ActualDerived2);
555
+ const derived3Spy = spyCollectReferenceIds(ActualDerived3);
556
+ const derived4Spy = spyCollectReferenceIds(ActualDerived4);
557
+ const derived5Spy = spyCollectReferenceIds(ActualDerived5);
558
+ const derived6Spy = spyCollectReferenceIds(ActualDerived6);
559
+ // This demonstrates that if a generated class (Derived6) has a non-generated ancestor, it will not get a generated impl
560
+ // instead it will just call the closest non-generated ancestor (Derived4)
561
+ expect([...derived6.getReferenceIds()]).to.have.members([
562
+ EntityReferences.fromEntityType(derived6.model, ConcreteEntityTypes.Model),
563
+ EntityReferences.fromEntityType(derived6.code.scope, ConcreteEntityTypes.Element),
564
+ derived6.parent?.id && EntityReferences.fromEntityType(derived6.parent.id, ConcreteEntityTypes.Element),
565
+ // "TestGeneratedClasses:Derived4" is MyDerived4 above, which extends the Derived4 class, which extends up
566
+ // without any custom ancestor implementing collectReferenceIds, so Element.collectReferenceIds is called as the
567
+ // super, and no navigation properties or other custom implementations are called so we only get "derived-4"
568
+ EntityReferences.fromEntityType("derived-4", ConcreteEntityTypes.Element),
569
+ ].filter((x) => x !== undefined));
570
+ expect(elementMethodSpy.called).to.be.true; // this is the `super.collectReferenceIds` call in MyDerived4
571
+ expect(testElementWithNavPropSpy.called).to.be.false;
572
+ expect(derivedWithNavPropSpy.called).to.be.false;
573
+ // these are the same (tested below)
574
+ expect(derived2Spy.called).to.be.false;
575
+ expect(derived3Spy.called).to.be.false;
576
+ // these are all the same (tested below)
577
+ expect(derived4Spy.called).to.be.true;
578
+ expect(derived5Spy.called).to.be.true;
579
+ expect(derived6Spy.called).to.be.true;
580
+ expect(new Set([
581
+ Element,
582
+ ActualTestElementWithNavProp,
583
+ ActualDerivedWithNavProp,
584
+ Derived2,
585
+ Derived3, // same as above (so will be removed from set)
586
+ Derived4,
587
+ Derived5, // save as above (so will be removed from set)
588
+ Derived6, // save as above (so will be removed from set)
589
+ ].map((e) => e.prototype["collectReferenceIds"]))).to.deep.equal(new Set([
590
+ Element,
591
+ ActualTestElementWithNavProp,
592
+ ActualDerivedWithNavProp,
593
+ Derived2,
594
+ Derived4,
595
+ ].map((e) => e.prototype["collectReferenceIds"])));
596
+ MyTestGeneratedClasses.unregisterSchema();
597
+ sinon.restore();
598
+ });
599
+ });
600
+ class Base {
601
+ static staticProperty = "base";
602
+ static get sqlName() { return `s.${this.staticProperty}`; }
603
+ }
604
+ class Derived extends Base {
605
+ }
606
+ describe("Static Properties", () => {
607
+ it("should be inherited, and the subclass should get its own copy", async () => {
608
+ assert.equal(Base.staticProperty, "base");
609
+ assert.equal(Derived.staticProperty, "base"); // Derived inherits Base's staticProperty (via its prototype)
610
+ Derived.staticProperty = "derived"; // Derived now gets its own copy of staticProperty
611
+ assert.equal(Base.staticProperty, "base"); // Base's staticProperty remains as it was
612
+ assert.equal(Derived.staticProperty, "derived"); // Derived's staticProperty is now different
613
+ assert.equal(Base.sqlName, "s.base");
614
+ const d = new Derived();
615
+ assert.equal(d.constructor.staticProperty, "derived"); // Instances of Derived see Derived.staticProperty
616
+ const b = new Base();
617
+ assert.equal(b.constructor.staticProperty, "base"); // Instances of Base see Base.staticProperty
618
+ });
619
+ });
620
+ describe("Global state of ClassRegistry", () => {
621
+ let imodel1;
622
+ let imodel2;
623
+ before(() => {
624
+ const seedFileName = IModelTestUtils.resolveAssetFile("test.bim");
625
+ const testFileName1 = IModelTestUtils.prepareOutputFile("ClassRegistry", "GlobalState1.bim");
626
+ const testFileName2 = IModelTestUtils.prepareOutputFile("ClassRegistry", "GlobalState2.bim");
627
+ imodel1 = IModelTestUtils.createSnapshotFromSeed(testFileName1, seedFileName);
628
+ imodel2 = IModelTestUtils.createSnapshotFromSeed(testFileName2, seedFileName);
629
+ assert.exists(imodel1);
630
+ assert.exists(imodel2);
631
+ });
632
+ after(() => {
633
+ imodel1?.close();
634
+ imodel2?.close();
635
+ });
636
+ it("registering a class in different imodels should not affect each other", async () => {
637
+ await imodel1.importSchemaStrings([
638
+ `<?xml version="1.0" encoding="UTF-8"?>
639
+ <ECSchema schemaName="TestSchema" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
640
+ <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
641
+
642
+ <ECEntityClass typeName="TestClass">
643
+ <BaseClass>bis:PhysicalElement</BaseClass>
644
+ <ECProperty propertyName="foo" typeName="string"/>
645
+ <ECNavigationProperty propertyName="RelatedTestClass" relationshipName="MyRelationship" direction="backward"/>
646
+ </ECEntityClass>
647
+
648
+ <ECRelationshipClass typeName="MyRelationship" modifier="None" strength="embedding">
649
+ <Source multiplicity="(0..1)" roleLabel="has" polymorphic="false">
650
+ <Class class="TestClass"/>
651
+ </Source>
652
+ <Target multiplicity="(0..*)" roleLabel="has" polymorphic="false">
653
+ <Class class="TestClass"/>
654
+ </Target>
655
+ </ECRelationshipClass>
656
+ </ECSchema>
657
+ `,
658
+ ]);
659
+ await imodel2.importSchemaStrings([
660
+ `<?xml version="1.0" encoding="UTF-8"?>
661
+ <ECSchema schemaName="TestSchema" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
662
+ <ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
663
+ <ECEntityClass typeName="TestClass">
664
+ <BaseClass>bis:PhysicalElement</BaseClass>
665
+ <ECProperty propertyName="bar" typeName="string"/>
666
+ </ECEntityClass>
667
+ </ECSchema>
668
+ `,
669
+ ]);
670
+ const testClass1 = imodel1.getJsClass("TestSchema:TestClass");
671
+ assert.isFalse(testClass1.hasOwnProperty("testPropertyGuard"));
672
+ testClass1.testPropertyGuard = true;
673
+ assert.isTrue(testClass1.hasOwnProperty("testPropertyGuard"));
674
+ const testClass2 = imodel2.getJsClass("TestSchema:TestClass");
675
+ assert.isFalse(testClass2.hasOwnProperty("testPropertyGuard"));
676
+ });
677
+ });
678
+ // TODO: add tests on the new model/aspect prefixes
679
+ //# sourceMappingURL=ClassRegistry.test.js.map