@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
@@ -6,12 +6,8 @@
6
6
  /** @packageDocumentation
7
7
  * @module Schema
8
8
  */
9
- var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
10
- if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
11
- return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
12
- };
13
9
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.MetaDataRegistry = exports.ClassRegistry = void 0;
10
+ exports.MetaDataRegistry = exports.ClassRegistry = exports.EntityJsClassMap = void 0;
15
11
  const core_bentley_1 = require("@itwin/core-bentley");
16
12
  const core_common_1 = require("@itwin/core-common");
17
13
  const Entity_1 = require("./Entity");
@@ -20,12 +16,65 @@ const EntityReferences_1 = require("./EntityReferences");
20
16
  const assert = require("assert");
21
17
  const Symbols_1 = require("./internal/Symbols");
22
18
  const isGeneratedClassTag = Symbol("isGeneratedClassTag");
19
+ /** Maintains the mapping between the name of a BIS [ECClass]($ecschema-metadata) (in "schema:class" format) and the JavaScript [[Entity]] class that implements it.
20
+ * @public
21
+ */
22
+ class EntityJsClassMap {
23
+ _classMap = new Map();
24
+ /** @internal */
25
+ has(classFullName) {
26
+ return this._classMap.has(classFullName.toLowerCase());
27
+ }
28
+ /** @internal */
29
+ get(classFullName) {
30
+ return this._classMap.get(classFullName.toLowerCase());
31
+ }
32
+ /** @internal */
33
+ set(classFullName, entityClass) {
34
+ this._classMap.set(classFullName.toLowerCase(), entityClass);
35
+ }
36
+ /** @internal */
37
+ delete(classFullName) {
38
+ return this._classMap.delete(classFullName.toLowerCase());
39
+ }
40
+ /** @internal */
41
+ clear() {
42
+ this._classMap.clear();
43
+ }
44
+ /** @internal */
45
+ [Symbol.iterator]() {
46
+ return this._classMap[Symbol.iterator]();
47
+ }
48
+ /**
49
+ * Registers a single `entityClass` defined in the specified `schema`.
50
+ * This method registers the class globally. To register a class for a specific iModel, use [[IModelDb.jsClassMap]].
51
+ *
52
+ * @param entityClass - The JavaScript class that implements the BIS [ECClass](@itwin/core-common) to be registered.
53
+ * @param schema - The schema that contains the `entityClass`.
54
+ *
55
+ * @throws Error if the class is already registered.
56
+ *
57
+ * @public
58
+ */
59
+ register(entityClass, schema) {
60
+ const key = (`${schema.schemaName}:${entityClass.className}`).toLowerCase();
61
+ if (this.has(key)) {
62
+ const errMsg = `Class ${key} is already registered. Make sure static className member is correct on JavaScript class ${entityClass.name}`;
63
+ core_bentley_1.Logger.logError("core-frontend.classRegistry", errMsg);
64
+ throw new Error(errMsg);
65
+ }
66
+ entityClass.schema = schema;
67
+ this.set(key, entityClass);
68
+ }
69
+ }
70
+ exports.EntityJsClassMap = EntityJsClassMap;
23
71
  /** Maintains the mapping between the name of a BIS [ECClass]($ecschema-metadata) (in "schema:class" format) and the JavaScript [[Entity]] class that implements it.
24
72
  * Applications or modules that supply their own Entity subclasses should use [[registerModule]] or [[register]] at startup
25
73
  * to establish their mappings.
26
74
  * @public
27
75
  */
28
76
  class ClassRegistry {
77
+ static _globalClassMap = new EntityJsClassMap();
29
78
  /** @internal */
30
79
  static isNotFoundError(err) { return (err instanceof core_common_1.IModelError) && (err.errorNumber === core_bentley_1.IModelStatus.NotFound); }
31
80
  /** @internal */
@@ -35,14 +84,7 @@ class ClassRegistry {
35
84
  * @public
36
85
  */
37
86
  static register(entityClass, schema) {
38
- entityClass.schema = schema;
39
- const key = (`${schema.schemaName}:${entityClass.className}`).toLowerCase();
40
- if (this._classMap.has(key)) {
41
- const errMsg = `Class ${key} is already registered. Make sure static className member is correct on JavaScript class ${entityClass.name}`;
42
- core_bentley_1.Logger.logError("core-frontend.classRegistry", errMsg);
43
- throw new Error(errMsg);
44
- }
45
- this._classMap.set(key, entityClass);
87
+ this._globalClassMap.register(entityClass, schema);
46
88
  }
47
89
  /** Generate a proxy Schema for a domain that has not been registered. */
48
90
  static generateProxySchema(domain, iModel) {
@@ -60,7 +102,7 @@ class ClassRegistry {
60
102
  static get schemaName() { return domain; }
61
103
  static get missingRequiredBehavior() { return hasBehavior; }
62
104
  };
63
- Schema_1.Schemas.registerSchema(schemaClass); // register the class before we return it.
105
+ iModel.schemaMap.registerSchema(schemaClass); // register the class before we return it.
64
106
  return schemaClass;
65
107
  }
66
108
  /** First, finds the root BisCore entity class for an entity, by traversing base classes and mixin targets (AppliesTo).
@@ -88,18 +130,19 @@ class ClassRegistry {
88
130
  /** Generate a JavaScript class from Entity metadata.
89
131
  * @param entityMetaData The Entity metadata that defines the class
90
132
  */
133
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
91
134
  static generateClassForEntity(entityMetaData, iModel) {
92
- var _a, _b;
93
135
  const name = entityMetaData.ecclass.split(":");
94
136
  const domainName = name[0];
95
137
  const className = name[1];
96
138
  if (0 === entityMetaData.baseClasses.length) // metadata must contain a superclass
97
139
  throw new core_common_1.IModelError(core_bentley_1.IModelStatus.BadArg, `class ${name} has no superclass`);
98
140
  // make sure schema exists
99
- let schema = Schema_1.Schemas.getRegisteredSchema(domainName);
141
+ let schema = iModel.schemaMap.get(domainName) ?? Schema_1.Schemas.getRegisteredSchema(domainName);
100
142
  if (undefined === schema)
101
143
  schema = this.generateProxySchema(domainName, iModel); // no schema found, create it too
102
- const superclass = this._classMap.get(entityMetaData.baseClasses[0].toLowerCase());
144
+ const superClassFullName = entityMetaData.baseClasses[0].toLowerCase();
145
+ const superclass = iModel.jsClassMap.get(superClassFullName) ?? this._globalClassMap.get(superClassFullName);
103
146
  if (undefined === superclass)
104
147
  throw new core_common_1.IModelError(core_bentley_1.IModelStatus.NotFound, `cannot find superclass for class ${name}`);
105
148
  // user defined class hierarchies may skip a class in the hierarchy, and therefore their JS base class cannot
@@ -114,6 +157,7 @@ class ClassRegistry {
114
157
  generatedClassHasNonGeneratedNonCoreAncestor = true;
115
158
  break;
116
159
  }
160
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
117
161
  const superclassMetaData = iModel.classMetaDataRegistry.find(currentSuperclass.classFullName);
118
162
  if (superclassMetaData === undefined)
119
163
  throw new core_common_1.IModelError(core_bentley_1.IModelStatus.BadSchema, `could not find the metadata for class '${currentSuperclass.name}', class metadata should be loaded by now`);
@@ -122,14 +166,11 @@ class ClassRegistry {
122
166
  throw new core_common_1.IModelError(core_bentley_1.IModelStatus.BadSchema, `could not find the base class of '${currentSuperclass.name}', all generated classes must have a base class`);
123
167
  currentSuperclass = maybeNextSuperclass;
124
168
  }
125
- const generatedClass = (_a = class extends superclass {
126
- static get className() { return className; }
127
- static get isGeneratedClass() { return this.hasOwnProperty(isGeneratedClassTag); }
128
- },
129
- _b = isGeneratedClassTag,
130
- __setFunctionName(_a, "generatedClass"),
131
- _a[_b] = true,
132
- _a);
169
+ const generatedClass = class extends superclass {
170
+ static get className() { return className; }
171
+ static [isGeneratedClassTag] = true;
172
+ static get isGeneratedClass() { return this.hasOwnProperty(isGeneratedClassTag); }
173
+ };
133
174
  // the above creates an anonymous class. For help debugging, set the "constructor.name" property to be the same as the bisClassName.
134
175
  Object.defineProperty(generatedClass, "name", { get: () => className }); // this is the (only) way to change that readonly property.
135
176
  // a class only gets an automatic `collectReferenceIds` implementation if:
@@ -177,7 +218,7 @@ class ClassRegistry {
177
218
  };
178
219
  superclass.protectedOperations.forEach((operation) => generatedClass[operation] = throwError);
179
220
  }
180
- this.register(generatedClass, schema); // register it before returning
221
+ iModel.jsClassMap.register(generatedClass, schema); // register it before returning
181
222
  return generatedClass;
182
223
  }
183
224
  /** Register all of the classes found in the given module that derive from [[Entity]].
@@ -197,6 +238,7 @@ class ClassRegistry {
197
238
  * class. This function also ensures that all of the base classes of the Entity exist and are registered.
198
239
  */
199
240
  static generateClass(classFullName, iModel) {
241
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
200
242
  const metadata = iModel.classMetaDataRegistry.find(classFullName);
201
243
  if (metadata === undefined || metadata.ecclass === undefined)
202
244
  throw this.makeMetaDataNotFoundError(classFullName);
@@ -212,7 +254,7 @@ class ClassRegistry {
212
254
  * @returns The Entity class or undefined
213
255
  */
214
256
  static findRegisteredClass(classFullName) {
215
- return this._classMap.get(classFullName.toLowerCase());
257
+ return this._globalClassMap.get(classFullName.toLowerCase());
216
258
  }
217
259
  /** Get the Entity class for the specified Entity className.
218
260
  * @param classFullName The full BIS class name of the Entity
@@ -221,8 +263,7 @@ class ClassRegistry {
221
263
  */
222
264
  static getClass(classFullName, iModel) {
223
265
  const key = classFullName.toLowerCase();
224
- const ctor = this._classMap.get(key);
225
- return ctor ? ctor : this.generateClass(key, iModel);
266
+ return iModel.jsClassMap.get(key) ?? this._globalClassMap.get(key) ?? this.generateClass(key, iModel);
226
267
  }
227
268
  /** Unregister a class, by name, if one is already registered.
228
269
  * This function is not normally needed, but is useful for cases where a generated *proxy* class needs to be replaced by the *real* class.
@@ -230,40 +271,55 @@ class ClassRegistry {
230
271
  * @return true if the class was unregistered
231
272
  * @internal
232
273
  */
233
- static unregisterCLass(classFullName) { return this._classMap.delete(classFullName.toLowerCase()); }
274
+ static unregisterClass(classFullName) { return this._globalClassMap.delete(classFullName.toLowerCase()); }
234
275
  /** Unregister all classes from a schema.
235
276
  * This function is not normally needed, but is useful for cases where a generated *proxy* schema needs to be replaced by the *real* schema.
236
277
  * @param schema Name of the schema to unregister
237
278
  * @internal
238
279
  */
239
280
  static unregisterClassesFrom(schema) {
240
- for (const entry of Array.from(this._classMap)) {
281
+ for (const entry of Array.from(this._globalClassMap)) {
241
282
  if (entry[1].schema === schema)
242
- this.unregisterCLass(entry[0]);
283
+ this.unregisterClass(entry[0]);
243
284
  }
244
285
  }
245
286
  }
246
287
  exports.ClassRegistry = ClassRegistry;
247
- ClassRegistry._classMap = new Map();
248
288
  /**
249
289
  * A cache that records the mapping between class names and class metadata.
250
290
  * @see [[IModelDb.classMetaDataRegistry]] to access the registry for a specific iModel.
251
291
  * @internal
292
+ * @deprecated in 5.0. Please use `schemaContext` from the `iModel` instead.
293
+ *
294
+ * @example
295
+ * @
296
+ * Current Usage:
297
+ * ```ts
298
+ * const metaData: EntityMetaData | undefined = iModel.classMetaDataRegistry.find("SchemaName:ClassName");
299
+ * ```
300
+ *
301
+ * Replacement:
302
+ * ```ts
303
+ * const entityMetaData: EntityClass | undefined = iModel.schemaContext.getSchemaItemSync("SchemaName.ClassName", EntityClass);
304
+ * const relationshipMetaData: RelationshipClass | undefined = iModel.schemaContext.getSchemaItemSync("SchemaName", "ClassName", RelationshipClass);
305
+ * ```
252
306
  */
253
307
  class MetaDataRegistry {
254
- constructor() {
255
- this._registry = new Map();
256
- this._classIdToName = new Map();
257
- }
308
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
309
+ _registry = new Map();
310
+ _classIdToName = new Map();
258
311
  /** Get the specified Entity metadata */
312
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
259
313
  find(classFullName) {
260
314
  return this._registry.get(classFullName.toLowerCase());
261
315
  }
316
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
262
317
  findByClassId(classId) {
263
318
  const name = this._classIdToName.get(classId);
264
319
  return undefined !== name ? this.find(name) : undefined;
265
320
  }
266
321
  /** Add metadata to the cache */
322
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
267
323
  add(classFullName, metaData) {
268
324
  const name = classFullName.toLowerCase();
269
325
  this._registry.set(name, metaData);
@@ -1 +1 @@
1
- {"version":3,"file":"ClassRegistry.js","sourceRoot":"","sources":["../../src/ClassRegistry.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;;;;;AAEH,sDAAuF;AACvF,oDAAqG;AACrG,qCAAkC;AAElC,qCAA2C;AAC3C,yDAAsD;AACtD,iCAAiC;AACjC,gDAA+C;AAE/C,MAAM,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAE1D;;;;GAIG;AACH,MAAa,aAAa;IAExB,gBAAgB;IACT,MAAM,CAAC,eAAe,CAAC,GAAQ,IAAI,OAAO,CAAC,GAAG,YAAY,yBAAW,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,KAAK,2BAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC/H,gBAAgB;IACT,MAAM,CAAC,yBAAyB,CAAC,SAAiB,IAAiB,OAAO,IAAI,yBAAW,CAAC,2BAAY,CAAC,QAAQ,EAAE,0BAA0B,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IACjK;;;OAGG;IACI,MAAM,CAAC,QAAQ,CAAC,WAA0B,EAAE,MAAqB;QACtE,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC;QAC5B,MAAM,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5E,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,SAAS,GAAG,4FAA4F,WAAW,CAAC,IAAI,EAAE,CAAC;YAC1I,qBAAM,CAAC,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACvC,CAAC;IAED,yEAAyE;IACjE,MAAM,CAAC,mBAAmB,CAAC,MAAc,EAAE,MAAgB;QACjE,MAAM,WAAW,GAAG,MAAM,CAAC,2BAA2B,CAAC;;;;;+FAKoC,EAAE,CAAC,IAAI,EAAE,EAAE;YACpG,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,uBAAQ,CAAC,aAAa,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,KAAM,SAAQ,eAAM;YAC/B,MAAM,KAAc,UAAU,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC;YACnD,MAAM,KAAc,uBAAuB,KAAK,OAAO,WAAW,CAAC,CAAC,CAAC;SAC7E,CAAC;QAEF,gBAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,0CAA0C;QAC/E,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,aAAa,CAAC,MAAgB,EAAE,eAAuB;QACnE,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5D,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAS,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC/E,IAAI,cAAc,CAAC,KAAK;YACtB,MAAM,IAAI,yBAAW,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,8BAA8B,eAAe,GAAG,CAAC,CAAC;QAEvG,MAAM,CAAC,SAAS,KAAK,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,CAAC,WAAW,IAAI,UAAU,CAAC,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACvE,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,2EAA2E;QAC3E,kFAAkF;QAClF,MAAM,mBAAmB,GAAG,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,SAAmB,CAAC;QACnF,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,sBAAsB,CAAC,cAA8B,EAAE,MAAgB;;QACpF,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAE1B,IAAI,CAAC,KAAK,cAAc,CAAC,WAAW,CAAC,MAAM,EAAE,qCAAqC;YAChF,MAAM,IAAI,yBAAW,CAAC,2BAAY,CAAC,MAAM,EAAE,SAAS,IAAI,oBAAoB,CAAC,CAAC;QAEhF,0BAA0B;QAC1B,IAAI,MAAM,GAAG,gBAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,SAAS,KAAK,MAAM;YACtB,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,iCAAiC;QAE1F,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACnF,IAAI,SAAS,KAAK,UAAU;YAC1B,MAAM,IAAI,yBAAW,CAAC,2BAAY,CAAC,QAAQ,EAAE,oCAAoC,IAAI,EAAE,CAAC,CAAC;QAE3F,6GAA6G;QAC7G,sEAAsE;QACtE,IAAI,4CAA4C,GAAG,KAAK,CAAC;QACzD,IAAI,iBAAiB,GAAG,UAAU,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC;YACnC,IAAI,iBAAiB,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS;gBACnD,MAAM;YAER,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;gBACxC,4CAA4C,GAAG,IAAI,CAAC;gBACpD,MAAM;YACR,CAAC;YACD,MAAM,kBAAkB,GAAG,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;YAC9F,IAAI,kBAAkB,KAAK,SAAS;gBAClC,MAAM,IAAI,yBAAW,CAAC,2BAAY,CAAC,SAAS,EAAE,0CAA0C,iBAAiB,CAAC,IAAI,2CAA2C,CAAC,CAAC;YAC7J,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACrF,IAAI,mBAAmB,KAAK,SAAS;gBACnC,MAAM,IAAI,yBAAW,CAAC,2BAAY,CAAC,SAAS,EAAE,qCAAqC,iBAAiB,CAAC,IAAI,iDAAiD,CAAC,CAAC;YAC9J,iBAAiB,GAAG,mBAAmB,CAAC;QAC1C,CAAC;QAED,MAAM,cAAc,SAAG,KAAM,SAAQ,UAAU;gBACtC,MAAM,KAAc,SAAS,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;gBAErD,MAAM,KAAc,gBAAgB,KAAK,OAAO,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;aACnG;iBAFiB,mBAAmB;;YAApB,MAAqB,GAAG,IAAK;eAE7C,CAAC;QAEF,oIAAoI;QACpI,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAE,2DAA2D;QAErI,0EAA0E;QAC1E,sCAAsC;QACtC,yGAAyG;QACzG,IAAI,CAAC,4CAA4C,EAAE,CAAC;YAClD,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC;iBAC9D,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;gBAC7C,wDAAwD;iBACvD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;gBACpB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAC/B,MAAM,aAAa,GAAG,MAAM,CAAC,mBAAS,CAAC,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAC,CAAC;gBAChH,MAAM,CAAC,aAAa,CAAC,MAAM,KAAK,SAAS,EAAE,mDAAmD,CAAC,CAAC;gBAChG,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACrD,MAAM,iBAAiB,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvG,8FAA8F;gBAC9F,2BAA2B;gBAC3B,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC1E,MAAM,SAAS,GAAG,aAAa,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC3F,MAAM,CAAC,SAAS,EAAE,sBAAsB,IAAI,CAAC,iBAAiB,sBAAsB,CAAC,CAAC;gBACtF,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,mCAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;YACjF,CAAC,CAAC,CAAC;YAEL,MAAM,CAAC,cAAc,CACnB,cAAc,CAAC,SAAS,EACxB,qBAAqB,EACrB;gBACE,KAAK,CAA8B,YAAgC;oBACjE,2DAA2D;oBAC3D,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;oBAC9D,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;oBACnC,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;wBACtC,MAAM,WAAW,GAAgC,IAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,qDAAqD;wBAClI,IAAI,CAAC,WAAW,IAAI,CAAC,mBAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;4BAC/C,SAAS;wBACX,MAAM,WAAW,GAAG,mCAAgB,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;wBAChG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAChC,CAAC;gBACH,CAAC;gBACD,wFAAwF;gBACxF,QAAQ,EAAE,IAAI;gBACd,YAAY,EAAE,IAAI;aACnB,CACF,CAAC;QACJ,CAAC;QAED,qGAAqG;QACrG,IAAI,MAAM,CAAC,uBAAuB,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,GAAG,EAAE;gBACtB,MAAM,IAAI,yBAAW,CAAC,2BAAY,CAAC,YAAY,EAAE,WAAW,UAAU,wDAAwD,CAAC,CAAC;YAClI,CAAC,CAAC;YAEF,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAE,cAAsB,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,CAAC;QACzG,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,+BAA+B;QACtE,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,cAAc,CAAC,SAAc,EAAE,MAAqB;QAChE,KAAK,MAAM,UAAU,IAAI,SAAS,EAAE,CAAC,CAAC,mCAAmC;YACvE,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;YACxC,IAAI,SAAS,CAAC,SAAS,YAAY,eAAM;gBACvC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,aAAa,CAAC,aAAqB,EAAE,MAAgB;QAClE,MAAM,QAAQ,GAA+B,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9F,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS;YAC1D,MAAM,IAAI,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;QAEtD,iDAAiD;QACjD,IAAI,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC,KAAK,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAEjD,mDAAmD;QACnD,OAAO,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,mBAAmB,CAAC,aAAqB;QACrD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,QAAQ,CAAC,aAAqB,EAAE,MAAgB;QAC5D,MAAM,GAAG,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,eAAe,CAAC,aAAqB,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IACnH;;;;OAIG;IACI,MAAM,CAAC,qBAAqB,CAAC,MAAqB;QACvD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/C,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM;gBAC5B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;;AApPH,sCAqPC;AApPyB,uBAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;AAsPvE;;;;GAIG;AACH,MAAa,gBAAgB;IAA7B;QACU,cAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;QAC9C,mBAAc,GAAG,IAAI,GAAG,EAAsB,CAAC;IAkBzD,CAAC;IAhBC,wCAAwC;IACjC,IAAI,CAAC,aAAqB;QAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;IACzD,CAAC;IAEM,aAAa,CAAC,OAAmB;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1D,CAAC;IAED,gCAAgC;IACzB,GAAG,CAAC,aAAqB,EAAE,QAAwB;QACxD,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;CACF;AApBD,4CAoBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Schema\r\n */\r\n\r\nimport { DbResult, Id64, Id64String, IModelStatus, Logger } from \"@itwin/core-bentley\";\r\nimport { EntityMetaData, EntityReferenceSet, IModelError, RelatedElement } from \"@itwin/core-common\";\r\nimport { Entity } from \"./Entity\";\r\nimport { IModelDb } from \"./IModelDb\";\r\nimport { Schema, Schemas } from \"./Schema\";\r\nimport { EntityReferences } from \"./EntityReferences\";\r\nimport * as assert from \"assert\";\r\nimport { _nativeDb } from \"./internal/Symbols\";\r\n\r\nconst isGeneratedClassTag = Symbol(\"isGeneratedClassTag\");\r\n\r\n/** Maintains the mapping between the name of a BIS [ECClass]($ecschema-metadata) (in \"schema:class\" format) and the JavaScript [[Entity]] class that implements it.\r\n * Applications or modules that supply their own Entity subclasses should use [[registerModule]] or [[register]] at startup\r\n * to establish their mappings.\r\n * @public\r\n */\r\nexport class ClassRegistry {\r\n private static readonly _classMap = new Map<string, typeof Entity>();\r\n /** @internal */\r\n public static isNotFoundError(err: any) { return (err instanceof IModelError) && (err.errorNumber === IModelStatus.NotFound); }\r\n /** @internal */\r\n public static makeMetaDataNotFoundError(className: string): IModelError { return new IModelError(IModelStatus.NotFound, `metadata not found for ${className}`); }\r\n /** Register a single `entityClass` defined in the specified `schema`.\r\n * @see [[registerModule]] to register multiple classes.\r\n * @public\r\n */\r\n public static register(entityClass: typeof Entity, schema: typeof Schema) {\r\n entityClass.schema = schema;\r\n const key = (`${schema.schemaName}:${entityClass.className}`).toLowerCase();\r\n if (this._classMap.has(key)) {\r\n const errMsg = `Class ${key} is already registered. Make sure static className member is correct on JavaScript class ${entityClass.name}`;\r\n Logger.logError(\"core-frontend.classRegistry\", errMsg);\r\n throw new Error(errMsg);\r\n }\r\n\r\n this._classMap.set(key, entityClass);\r\n }\r\n\r\n /** Generate a proxy Schema for a domain that has not been registered. */\r\n private static generateProxySchema(domain: string, iModel: IModelDb): typeof Schema {\r\n const hasBehavior = iModel.withPreparedSqliteStatement(`\r\n SELECT NULL FROM [ec_CustomAttribute] [c]\r\n JOIN [ec_schema] [s] ON [s].[Id] = [c].[ContainerId]\r\n JOIN [ec_class] [e] ON [e].[Id] = [c].[ClassId]\r\n JOIN [ec_schema] [b] ON [e].[SchemaId] = [b].[Id]\r\n WHERE [c].[ContainerType] = 1 AND [s].[Name] = ? AND [b].[Name] || '.' || [e].[name] = ?`, (stmt) => {\r\n stmt.bindString(1, domain);\r\n stmt.bindString(2, \"BisCore.SchemaHasBehavior\");\r\n return stmt.step() === DbResult.BE_SQLITE_ROW;\r\n });\r\n\r\n const schemaClass = class extends Schema {\r\n public static override get schemaName() { return domain; }\r\n public static override get missingRequiredBehavior() { return hasBehavior; }\r\n };\r\n\r\n Schemas.registerSchema(schemaClass); // register the class before we return it.\r\n return schemaClass;\r\n }\r\n\r\n /** First, finds the root BisCore entity class for an entity, by traversing base classes and mixin targets (AppliesTo).\r\n * Then, gets its metadata and returns that.\r\n * @param iModel - iModel containing the metadata for this type\r\n * @param ecTypeQualifier - a full name of an ECEntityClass to find the root of\r\n * @returns the qualified full name of an ECEntityClass\r\n * @internal public for testing only\r\n */\r\n public static getRootEntity(iModel: IModelDb, ecTypeQualifier: string): string {\r\n const [classSchema, className] = ecTypeQualifier.split(\".\");\r\n const schemaItemJson = iModel[_nativeDb].getSchemaItem(classSchema, className);\r\n if (schemaItemJson.error)\r\n throw new IModelError(schemaItemJson.error.status, `failed to get schema item '${ecTypeQualifier}'`);\r\n\r\n assert(undefined !== schemaItemJson.result);\r\n const schemaItem = JSON.parse(schemaItemJson.result);\r\n if (!(\"appliesTo\" in schemaItem) && schemaItem.baseClass === undefined) {\r\n return ecTypeQualifier;\r\n }\r\n\r\n // typescript doesn't understand that the inverse of the above condition is\r\n // (\"appliesTo\" in rootclassMetaData || rootClassMetaData.baseClass !== undefined)\r\n const parentItemQualifier = schemaItem.appliesTo ?? schemaItem.baseClass as string;\r\n return this.getRootEntity(iModel, parentItemQualifier);\r\n }\r\n\r\n /** Generate a JavaScript class from Entity metadata.\r\n * @param entityMetaData The Entity metadata that defines the class\r\n */\r\n private static generateClassForEntity(entityMetaData: EntityMetaData, iModel: IModelDb): typeof Entity {\r\n const name = entityMetaData.ecclass.split(\":\");\r\n const domainName = name[0];\r\n const className = name[1];\r\n\r\n if (0 === entityMetaData.baseClasses.length) // metadata must contain a superclass\r\n throw new IModelError(IModelStatus.BadArg, `class ${name} has no superclass`);\r\n\r\n // make sure schema exists\r\n let schema = Schemas.getRegisteredSchema(domainName);\r\n if (undefined === schema)\r\n schema = this.generateProxySchema(domainName, iModel); // no schema found, create it too\r\n\r\n const superclass = this._classMap.get(entityMetaData.baseClasses[0].toLowerCase());\r\n if (undefined === superclass)\r\n throw new IModelError(IModelStatus.NotFound, `cannot find superclass for class ${name}`);\r\n\r\n // user defined class hierarchies may skip a class in the hierarchy, and therefore their JS base class cannot\r\n // be used to tell if there are any generated classes in the hierarchy\r\n let generatedClassHasNonGeneratedNonCoreAncestor = false;\r\n let currentSuperclass = superclass;\r\n const MAX_ITERS = 1000;\r\n for (let i = 0; i < MAX_ITERS; ++i) {\r\n if (currentSuperclass.schema.schemaName === \"BisCore\")\r\n break;\r\n\r\n if (!currentSuperclass.isGeneratedClass) {\r\n generatedClassHasNonGeneratedNonCoreAncestor = true;\r\n break;\r\n }\r\n const superclassMetaData = iModel.classMetaDataRegistry.find(currentSuperclass.classFullName);\r\n if (superclassMetaData === undefined)\r\n throw new IModelError(IModelStatus.BadSchema, `could not find the metadata for class '${currentSuperclass.name}', class metadata should be loaded by now`);\r\n const maybeNextSuperclass = this.getClass(superclassMetaData.baseClasses[0], iModel);\r\n if (maybeNextSuperclass === undefined)\r\n throw new IModelError(IModelStatus.BadSchema, `could not find the base class of '${currentSuperclass.name}', all generated classes must have a base class`);\r\n currentSuperclass = maybeNextSuperclass;\r\n }\r\n\r\n const generatedClass = class extends superclass {\r\n public static override get className() { return className; }\r\n private static [isGeneratedClassTag] = true;\r\n public static override get isGeneratedClass() { return this.hasOwnProperty(isGeneratedClassTag); }\r\n };\r\n\r\n // the above creates an anonymous class. For help debugging, set the \"constructor.name\" property to be the same as the bisClassName.\r\n Object.defineProperty(generatedClass, \"name\", { get: () => className }); // this is the (only) way to change that readonly property.\r\n\r\n // a class only gets an automatic `collectReferenceIds` implementation if:\r\n // - it is not in the `BisCore` schema\r\n // - there are no ancestors with manually registered JS implementations, (excluding BisCore base classes)\r\n if (!generatedClassHasNonGeneratedNonCoreAncestor) {\r\n const navigationProps = Object.entries(entityMetaData.properties)\r\n .filter(([_name, prop]) => prop.isNavigation)\r\n // eslint-disable-next-line @typescript-eslint/no-shadow\r\n .map(([name, prop]) => {\r\n assert(prop.relationshipClass);\r\n const maybeMetaData = iModel[_nativeDb].getSchemaItem(...prop.relationshipClass.split(\":\") as [string, string]);\r\n assert(maybeMetaData.result !== undefined, \"The nav props relationship metadata was not found\");\r\n const relMetaData = JSON.parse(maybeMetaData.result);\r\n const rootClassMetaData = ClassRegistry.getRootEntity(iModel, relMetaData.target.constraintClasses[0]);\r\n // root class must be in BisCore so should be loaded since biscore classes will never get this\r\n // generated implementation\r\n const normalizeClassName = (clsName: string) => clsName.replace(\".\", \":\");\r\n const rootClass = ClassRegistry.findRegisteredClass(normalizeClassName(rootClassMetaData));\r\n assert(rootClass, `The root class for ${prop.relationshipClass} was not in BisCore.`);\r\n return { name, concreteEntityType: EntityReferences.typeFromClass(rootClass) };\r\n });\r\n\r\n Object.defineProperty(\r\n generatedClass.prototype,\r\n \"collectReferenceIds\",\r\n {\r\n value(this: typeof generatedClass, referenceIds: EntityReferenceSet) {\r\n // eslint-disable-next-line @typescript-eslint/dot-notation\r\n const superImpl = superclass.prototype[\"collectReferenceIds\"];\r\n superImpl.call(this, referenceIds);\r\n for (const navProp of navigationProps) {\r\n const relatedElem: RelatedElement | undefined = (this as any)[navProp.name]; // cast to any since subclass can have any extensions\r\n if (!relatedElem || !Id64.isValid(relatedElem.id))\r\n continue;\r\n const referenceId = EntityReferences.fromEntityType(relatedElem.id, navProp.concreteEntityType);\r\n referenceIds.add(referenceId);\r\n }\r\n },\r\n // defaults for methods on a prototype (required for sinon to stub out methods on tests)\r\n writable: true,\r\n configurable: true,\r\n },\r\n );\r\n }\r\n\r\n // if the schema is a proxy for a domain with behavior, throw exceptions for all protected operations\r\n if (schema.missingRequiredBehavior) {\r\n const throwError = () => {\r\n throw new IModelError(IModelStatus.WrongHandler, `Schema [${domainName}] not registered, but is marked with SchemaHasBehavior`);\r\n };\r\n\r\n superclass.protectedOperations.forEach((operation) => (generatedClass as any)[operation] = throwError);\r\n }\r\n\r\n this.register(generatedClass, schema); // register it before returning\r\n return generatedClass;\r\n }\r\n\r\n /** Register all of the classes found in the given module that derive from [[Entity]].\r\n * [[register]] will be invoked for each subclass of `Entity` exported by `moduleObj`.\r\n * @param moduleObj The module to search for subclasses of Entity\r\n * @param schema The schema that contains all of the [ECClass]($ecschema-metadata)es exported by `moduleObj`.\r\n */\r\n public static registerModule(moduleObj: any, schema: typeof Schema) {\r\n for (const thisMember in moduleObj) { // eslint-disable-line guard-for-in\r\n const thisClass = moduleObj[thisMember];\r\n if (thisClass.prototype instanceof Entity)\r\n this.register(thisClass, schema);\r\n }\r\n }\r\n\r\n /**\r\n * This function fetches the specified Entity from the imodel, generates a JavaScript class for it, and registers the generated\r\n * class. This function also ensures that all of the base classes of the Entity exist and are registered.\r\n */\r\n private static generateClass(classFullName: string, iModel: IModelDb): typeof Entity {\r\n const metadata: EntityMetaData | undefined = iModel.classMetaDataRegistry.find(classFullName);\r\n if (metadata === undefined || metadata.ecclass === undefined)\r\n throw this.makeMetaDataNotFoundError(classFullName);\r\n\r\n // Make sure we have all base classes registered.\r\n if (metadata.baseClasses && (0 !== metadata.baseClasses.length))\r\n this.getClass(metadata.baseClasses[0], iModel);\r\n\r\n // Now we can generate the class from the classDef.\r\n return this.generateClassForEntity(metadata, iModel);\r\n }\r\n\r\n /** Find a registered class by classFullName.\r\n * @param classFullName class to find\r\n * @param iModel The IModel that contains the class definitions\r\n * @returns The Entity class or undefined\r\n */\r\n public static findRegisteredClass(classFullName: string): typeof Entity | undefined {\r\n return this._classMap.get(classFullName.toLowerCase());\r\n }\r\n\r\n /** Get the Entity class for the specified Entity className.\r\n * @param classFullName The full BIS class name of the Entity\r\n * @param iModel The IModel that contains the class definitions\r\n * @returns The Entity class\r\n */\r\n public static getClass(classFullName: string, iModel: IModelDb): typeof Entity {\r\n const key = classFullName.toLowerCase();\r\n const ctor = this._classMap.get(key);\r\n return ctor ? ctor : this.generateClass(key, iModel);\r\n }\r\n\r\n /** Unregister a class, by name, if one is already registered.\r\n * This function is not normally needed, but is useful for cases where a generated *proxy* class needs to be replaced by the *real* class.\r\n * @param classFullName Name of the class to unregister\r\n * @return true if the class was unregistered\r\n * @internal\r\n */\r\n public static unregisterCLass(classFullName: string) { return this._classMap.delete(classFullName.toLowerCase()); }\r\n /** Unregister all classes from a schema.\r\n * This function is not normally needed, but is useful for cases where a generated *proxy* schema needs to be replaced by the *real* schema.\r\n * @param schema Name of the schema to unregister\r\n * @internal\r\n */\r\n public static unregisterClassesFrom(schema: typeof Schema) {\r\n for (const entry of Array.from(this._classMap)) {\r\n if (entry[1].schema === schema)\r\n this.unregisterCLass(entry[0]);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * A cache that records the mapping between class names and class metadata.\r\n * @see [[IModelDb.classMetaDataRegistry]] to access the registry for a specific iModel.\r\n * @internal\r\n */\r\nexport class MetaDataRegistry {\r\n private _registry = new Map<string, EntityMetaData>();\r\n private _classIdToName = new Map<Id64String, string>();\r\n\r\n /** Get the specified Entity metadata */\r\n public find(classFullName: string): EntityMetaData | undefined {\r\n return this._registry.get(classFullName.toLowerCase());\r\n }\r\n\r\n public findByClassId(classId: Id64String): EntityMetaData | undefined {\r\n const name = this._classIdToName.get(classId);\r\n return undefined !== name ? this.find(name) : undefined;\r\n }\r\n\r\n /** Add metadata to the cache */\r\n public add(classFullName: string, metaData: EntityMetaData): void {\r\n const name = classFullName.toLowerCase();\r\n this._registry.set(name, metaData);\r\n this._classIdToName.set(metaData.classId, name);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ClassRegistry.js","sourceRoot":"","sources":["../../src/ClassRegistry.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Schema\r\n */\r\n\r\nimport { DbResult, Id64, Id64String, IModelStatus, Logger } from \"@itwin/core-bentley\";\r\nimport { EntityMetaData, EntityReferenceSet, IModelError, RelatedElement } from \"@itwin/core-common\";\r\nimport { Entity } from \"./Entity\";\r\nimport { IModelDb } from \"./IModelDb\";\r\nimport { Schema, Schemas } from \"./Schema\";\r\nimport { EntityReferences } from \"./EntityReferences\";\r\nimport * as assert from \"assert\";\r\nimport { _nativeDb } from \"./internal/Symbols\";\r\n\r\nconst isGeneratedClassTag = Symbol(\"isGeneratedClassTag\");\r\n\r\n/** Maintains the mapping between the name of a BIS [ECClass]($ecschema-metadata) (in \"schema:class\" format) and the JavaScript [[Entity]] class that implements it.\r\n * @public\r\n */\r\nexport class EntityJsClassMap {\r\n private readonly _classMap = new Map<string, typeof Entity>();\r\n\r\n /** @internal */\r\n public has(classFullName: string): boolean {\r\n return this._classMap.has(classFullName.toLowerCase());\r\n }\r\n\r\n /** @internal */\r\n public get(classFullName: string): typeof Entity | undefined {\r\n return this._classMap.get(classFullName.toLowerCase());\r\n }\r\n\r\n /** @internal */\r\n public set(classFullName: string, entityClass: typeof Entity): void {\r\n this._classMap.set(classFullName.toLowerCase(), entityClass);\r\n }\r\n\r\n /** @internal */\r\n public delete(classFullName: string): boolean {\r\n return this._classMap.delete(classFullName.toLowerCase());\r\n }\r\n\r\n /** @internal */\r\n public clear(): void {\r\n this._classMap.clear();\r\n }\r\n\r\n /** @internal */\r\n public [Symbol.iterator](): IterableIterator<[string, typeof Entity]> {\r\n return this._classMap[Symbol.iterator]();\r\n }\r\n\r\n /**\r\n * Registers a single `entityClass` defined in the specified `schema`.\r\n * This method registers the class globally. To register a class for a specific iModel, use [[IModelDb.jsClassMap]].\r\n *\r\n * @param entityClass - The JavaScript class that implements the BIS [ECClass](@itwin/core-common) to be registered.\r\n * @param schema - The schema that contains the `entityClass`.\r\n *\r\n * @throws Error if the class is already registered.\r\n *\r\n * @public\r\n */\r\n public register(entityClass: typeof Entity, schema: typeof Schema): void {\r\n const key = (`${schema.schemaName}:${entityClass.className}`).toLowerCase();\r\n if (this.has(key)) {\r\n const errMsg = `Class ${key} is already registered. Make sure static className member is correct on JavaScript class ${entityClass.name}`;\r\n Logger.logError(\"core-frontend.classRegistry\", errMsg);\r\n throw new Error(errMsg);\r\n }\r\n entityClass.schema = schema;\r\n this.set(key, entityClass);\r\n }\r\n}\r\n\r\n/** Maintains the mapping between the name of a BIS [ECClass]($ecschema-metadata) (in \"schema:class\" format) and the JavaScript [[Entity]] class that implements it.\r\n * Applications or modules that supply their own Entity subclasses should use [[registerModule]] or [[register]] at startup\r\n * to establish their mappings.\r\n * @public\r\n */\r\nexport class ClassRegistry {\r\n private static readonly _globalClassMap = new EntityJsClassMap();\r\n /** @internal */\r\n public static isNotFoundError(err: any) { return (err instanceof IModelError) && (err.errorNumber === IModelStatus.NotFound); }\r\n /** @internal */\r\n public static makeMetaDataNotFoundError(className: string): IModelError { return new IModelError(IModelStatus.NotFound, `metadata not found for ${className}`); }\r\n /** Register a single `entityClass` defined in the specified `schema`.\r\n * @see [[registerModule]] to register multiple classes.\r\n * @public\r\n */\r\n public static register(entityClass: typeof Entity, schema: typeof Schema) {\r\n this._globalClassMap.register(entityClass, schema);\r\n }\r\n\r\n /** Generate a proxy Schema for a domain that has not been registered. */\r\n private static generateProxySchema(domain: string, iModel: IModelDb): typeof Schema {\r\n const hasBehavior = iModel.withPreparedSqliteStatement(`\r\n SELECT NULL FROM [ec_CustomAttribute] [c]\r\n JOIN [ec_schema] [s] ON [s].[Id] = [c].[ContainerId]\r\n JOIN [ec_class] [e] ON [e].[Id] = [c].[ClassId]\r\n JOIN [ec_schema] [b] ON [e].[SchemaId] = [b].[Id]\r\n WHERE [c].[ContainerType] = 1 AND [s].[Name] = ? AND [b].[Name] || '.' || [e].[name] = ?`, (stmt) => {\r\n stmt.bindString(1, domain);\r\n stmt.bindString(2, \"BisCore.SchemaHasBehavior\");\r\n return stmt.step() === DbResult.BE_SQLITE_ROW;\r\n });\r\n\r\n const schemaClass = class extends Schema {\r\n public static override get schemaName() { return domain; }\r\n public static override get missingRequiredBehavior() { return hasBehavior; }\r\n };\r\n\r\n iModel.schemaMap.registerSchema(schemaClass); // register the class before we return it.\r\n return schemaClass;\r\n }\r\n\r\n /** First, finds the root BisCore entity class for an entity, by traversing base classes and mixin targets (AppliesTo).\r\n * Then, gets its metadata and returns that.\r\n * @param iModel - iModel containing the metadata for this type\r\n * @param ecTypeQualifier - a full name of an ECEntityClass to find the root of\r\n * @returns the qualified full name of an ECEntityClass\r\n * @internal public for testing only\r\n */\r\n public static getRootEntity(iModel: IModelDb, ecTypeQualifier: string): string {\r\n const [classSchema, className] = ecTypeQualifier.split(\".\");\r\n const schemaItemJson = iModel[_nativeDb].getSchemaItem(classSchema, className);\r\n if (schemaItemJson.error)\r\n throw new IModelError(schemaItemJson.error.status, `failed to get schema item '${ecTypeQualifier}'`);\r\n\r\n assert(undefined !== schemaItemJson.result);\r\n const schemaItem = JSON.parse(schemaItemJson.result);\r\n if (!(\"appliesTo\" in schemaItem) && schemaItem.baseClass === undefined) {\r\n return ecTypeQualifier;\r\n }\r\n\r\n // typescript doesn't understand that the inverse of the above condition is\r\n // (\"appliesTo\" in rootclassMetaData || rootClassMetaData.baseClass !== undefined)\r\n const parentItemQualifier = schemaItem.appliesTo ?? schemaItem.baseClass as string;\r\n return this.getRootEntity(iModel, parentItemQualifier);\r\n }\r\n\r\n /** Generate a JavaScript class from Entity metadata.\r\n * @param entityMetaData The Entity metadata that defines the class\r\n */\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n private static generateClassForEntity(entityMetaData: EntityMetaData, iModel: IModelDb): typeof Entity {\r\n const name = entityMetaData.ecclass.split(\":\");\r\n const domainName = name[0];\r\n const className = name[1];\r\n\r\n if (0 === entityMetaData.baseClasses.length) // metadata must contain a superclass\r\n throw new IModelError(IModelStatus.BadArg, `class ${name} has no superclass`);\r\n\r\n // make sure schema exists\r\n let schema = iModel.schemaMap.get(domainName) ?? Schemas.getRegisteredSchema(domainName);\r\n if (undefined === schema)\r\n schema = this.generateProxySchema(domainName, iModel); // no schema found, create it too\r\n\r\n const superClassFullName = entityMetaData.baseClasses[0].toLowerCase();\r\n const superclass = iModel.jsClassMap.get(superClassFullName) ?? this._globalClassMap.get(superClassFullName);\r\n if (undefined === superclass)\r\n throw new IModelError(IModelStatus.NotFound, `cannot find superclass for class ${name}`);\r\n\r\n // user defined class hierarchies may skip a class in the hierarchy, and therefore their JS base class cannot\r\n // be used to tell if there are any generated classes in the hierarchy\r\n let generatedClassHasNonGeneratedNonCoreAncestor = false;\r\n let currentSuperclass = superclass;\r\n const MAX_ITERS = 1000;\r\n for (let i = 0; i < MAX_ITERS; ++i) {\r\n if (currentSuperclass.schema.schemaName === \"BisCore\")\r\n break;\r\n\r\n if (!currentSuperclass.isGeneratedClass) {\r\n generatedClassHasNonGeneratedNonCoreAncestor = true;\r\n break;\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n const superclassMetaData = iModel.classMetaDataRegistry.find(currentSuperclass.classFullName);\r\n if (superclassMetaData === undefined)\r\n throw new IModelError(IModelStatus.BadSchema, `could not find the metadata for class '${currentSuperclass.name}', class metadata should be loaded by now`);\r\n const maybeNextSuperclass = this.getClass(superclassMetaData.baseClasses[0], iModel);\r\n if (maybeNextSuperclass === undefined)\r\n throw new IModelError(IModelStatus.BadSchema, `could not find the base class of '${currentSuperclass.name}', all generated classes must have a base class`);\r\n currentSuperclass = maybeNextSuperclass;\r\n }\r\n\r\n const generatedClass = class extends superclass {\r\n public static override get className() { return className; }\r\n private static [isGeneratedClassTag] = true;\r\n public static override get isGeneratedClass() { return this.hasOwnProperty(isGeneratedClassTag); }\r\n };\r\n\r\n // the above creates an anonymous class. For help debugging, set the \"constructor.name\" property to be the same as the bisClassName.\r\n Object.defineProperty(generatedClass, \"name\", { get: () => className }); // this is the (only) way to change that readonly property.\r\n\r\n // a class only gets an automatic `collectReferenceIds` implementation if:\r\n // - it is not in the `BisCore` schema\r\n // - there are no ancestors with manually registered JS implementations, (excluding BisCore base classes)\r\n if (!generatedClassHasNonGeneratedNonCoreAncestor) {\r\n const navigationProps = Object.entries(entityMetaData.properties)\r\n .filter(([_name, prop]) => prop.isNavigation)\r\n // eslint-disable-next-line @typescript-eslint/no-shadow\r\n .map(([name, prop]) => {\r\n assert(prop.relationshipClass);\r\n const maybeMetaData = iModel[_nativeDb].getSchemaItem(...prop.relationshipClass.split(\":\") as [string, string]);\r\n assert(maybeMetaData.result !== undefined, \"The nav props relationship metadata was not found\");\r\n const relMetaData = JSON.parse(maybeMetaData.result);\r\n const rootClassMetaData = ClassRegistry.getRootEntity(iModel, relMetaData.target.constraintClasses[0]);\r\n // root class must be in BisCore so should be loaded since biscore classes will never get this\r\n // generated implementation\r\n const normalizeClassName = (clsName: string) => clsName.replace(\".\", \":\");\r\n const rootClass = ClassRegistry.findRegisteredClass(normalizeClassName(rootClassMetaData));\r\n assert(rootClass, `The root class for ${prop.relationshipClass} was not in BisCore.`);\r\n return { name, concreteEntityType: EntityReferences.typeFromClass(rootClass) };\r\n });\r\n\r\n Object.defineProperty(\r\n generatedClass.prototype,\r\n \"collectReferenceIds\",\r\n {\r\n value(this: typeof generatedClass, referenceIds: EntityReferenceSet) {\r\n // eslint-disable-next-line @typescript-eslint/dot-notation\r\n const superImpl = superclass.prototype[\"collectReferenceIds\"];\r\n superImpl.call(this, referenceIds);\r\n for (const navProp of navigationProps) {\r\n const relatedElem: RelatedElement | undefined = (this as any)[navProp.name]; // cast to any since subclass can have any extensions\r\n if (!relatedElem || !Id64.isValid(relatedElem.id))\r\n continue;\r\n const referenceId = EntityReferences.fromEntityType(relatedElem.id, navProp.concreteEntityType);\r\n referenceIds.add(referenceId);\r\n }\r\n },\r\n // defaults for methods on a prototype (required for sinon to stub out methods on tests)\r\n writable: true,\r\n configurable: true,\r\n },\r\n );\r\n }\r\n\r\n // if the schema is a proxy for a domain with behavior, throw exceptions for all protected operations\r\n if (schema.missingRequiredBehavior) {\r\n const throwError = () => {\r\n throw new IModelError(IModelStatus.WrongHandler, `Schema [${domainName}] not registered, but is marked with SchemaHasBehavior`);\r\n };\r\n\r\n superclass.protectedOperations.forEach((operation) => (generatedClass as any)[operation] = throwError);\r\n }\r\n\r\n iModel.jsClassMap.register(generatedClass, schema); // register it before returning\r\n return generatedClass;\r\n }\r\n\r\n /** Register all of the classes found in the given module that derive from [[Entity]].\r\n * [[register]] will be invoked for each subclass of `Entity` exported by `moduleObj`.\r\n * @param moduleObj The module to search for subclasses of Entity\r\n * @param schema The schema that contains all of the [ECClass]($ecschema-metadata)es exported by `moduleObj`.\r\n */\r\n public static registerModule(moduleObj: any, schema: typeof Schema) {\r\n for (const thisMember in moduleObj) { // eslint-disable-line guard-for-in\r\n const thisClass = moduleObj[thisMember];\r\n if (thisClass.prototype instanceof Entity)\r\n this.register(thisClass, schema);\r\n }\r\n }\r\n\r\n /**\r\n * This function fetches the specified Entity from the imodel, generates a JavaScript class for it, and registers the generated\r\n * class. This function also ensures that all of the base classes of the Entity exist and are registered.\r\n */\r\n private static generateClass(classFullName: string, iModel: IModelDb): typeof Entity {\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n const metadata: EntityMetaData | undefined = iModel.classMetaDataRegistry.find(classFullName);\r\n if (metadata === undefined || metadata.ecclass === undefined)\r\n throw this.makeMetaDataNotFoundError(classFullName);\r\n\r\n // Make sure we have all base classes registered.\r\n if (metadata.baseClasses && (0 !== metadata.baseClasses.length))\r\n this.getClass(metadata.baseClasses[0], iModel);\r\n\r\n // Now we can generate the class from the classDef.\r\n return this.generateClassForEntity(metadata, iModel);\r\n }\r\n\r\n /** Find a registered class by classFullName.\r\n * @param classFullName class to find\r\n * @param iModel The IModel that contains the class definitions\r\n * @returns The Entity class or undefined\r\n */\r\n public static findRegisteredClass(classFullName: string): typeof Entity | undefined {\r\n return this._globalClassMap.get(classFullName.toLowerCase());\r\n }\r\n\r\n /** Get the Entity class for the specified Entity className.\r\n * @param classFullName The full BIS class name of the Entity\r\n * @param iModel The IModel that contains the class definitions\r\n * @returns The Entity class\r\n */\r\n public static getClass(classFullName: string, iModel: IModelDb): typeof Entity {\r\n const key = classFullName.toLowerCase();\r\n return iModel.jsClassMap.get(key) ?? this._globalClassMap.get(key) ?? this.generateClass(key, iModel);\r\n }\r\n\r\n /** Unregister a class, by name, if one is already registered.\r\n * This function is not normally needed, but is useful for cases where a generated *proxy* class needs to be replaced by the *real* class.\r\n * @param classFullName Name of the class to unregister\r\n * @return true if the class was unregistered\r\n * @internal\r\n */\r\n public static unregisterClass(classFullName: string) { return this._globalClassMap.delete(classFullName.toLowerCase()); }\r\n\r\n /** Unregister all classes from a schema.\r\n * This function is not normally needed, but is useful for cases where a generated *proxy* schema needs to be replaced by the *real* schema.\r\n * @param schema Name of the schema to unregister\r\n * @internal\r\n */\r\n public static unregisterClassesFrom(schema: typeof Schema) {\r\n for (const entry of Array.from(this._globalClassMap)) {\r\n if (entry[1].schema === schema)\r\n this.unregisterClass(entry[0]);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * A cache that records the mapping between class names and class metadata.\r\n * @see [[IModelDb.classMetaDataRegistry]] to access the registry for a specific iModel.\r\n * @internal\r\n * @deprecated in 5.0. Please use `schemaContext` from the `iModel` instead.\r\n *\r\n * @example\r\n * @\r\n * Current Usage:\r\n * ```ts\r\n * const metaData: EntityMetaData | undefined = iModel.classMetaDataRegistry.find(\"SchemaName:ClassName\");\r\n * ```\r\n *\r\n * Replacement:\r\n * ```ts\r\n * const entityMetaData: EntityClass | undefined = iModel.schemaContext.getSchemaItemSync(\"SchemaName.ClassName\", EntityClass);\r\n * const relationshipMetaData: RelationshipClass | undefined = iModel.schemaContext.getSchemaItemSync(\"SchemaName\", \"ClassName\", RelationshipClass);\r\n * ```\r\n */\r\nexport class MetaDataRegistry {\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n private _registry = new Map<string, EntityMetaData>();\r\n private _classIdToName = new Map<Id64String, string>();\r\n\r\n /** Get the specified Entity metadata */\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n public find(classFullName: string): EntityMetaData | undefined {\r\n return this._registry.get(classFullName.toLowerCase());\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n public findByClassId(classId: Id64String): EntityMetaData | undefined {\r\n const name = this._classIdToName.get(classId);\r\n return undefined !== name ? this.find(name) : undefined;\r\n }\r\n\r\n /** Add metadata to the cache */\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n public add(classFullName: string, metaData: EntityMetaData): void {\r\n const name = classFullName.toLowerCase();\r\n this._registry.set(name, metaData);\r\n this._classIdToName.set(metaData.classId, name);\r\n }\r\n}\r\n"]}
@@ -11,11 +11,20 @@ import type { SQLiteDb, VersionedSqliteDb } from "./SQLiteDb";
11
11
  */
12
12
  export declare namespace CloudSqlite {
13
13
  export type RequestTokenArgs = Optional<BlobContainer.RequestTokenProps, "userToken">;
14
+ /** Add (or replace) a property to an object that is not enumerable.
15
+ * This is important so this member will be skipped when the object is the target of
16
+ * [structuredClone](https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Structured_clone_algorithm)
17
+ * (e.g. when the object is part of an exception that is marshalled across process boundaries.)
18
+ */
19
+ export function addHiddenProperty<T>(o: T, p: PropertyKey, value?: any): T;
20
+ export function getBlobService(): BlobContainer.ContainerService;
14
21
  /**
15
22
  * Request a new AccessToken for a cloud container using the [[BlobContainer]] service.
16
23
  * If the service is unavailable or returns an error, an empty token is returned.
17
24
  */
18
25
  export function requestToken(args: RequestTokenArgs): Promise<AccessToken>;
26
+ export function noLeadingOrTrailingSpaces(name: string, msg: string): void;
27
+ export function validateDbName(dbName: DbName): void;
19
28
  /**
20
29
  * Create a new CloudContainer from a ContainerAccessProps. For non-public containers, a valid accessToken must be provided before the container
21
30
  * can be used (e.g. via [[CloudSqlite.requestToken]]).
@@ -135,16 +144,65 @@ export declare namespace CloudSqlite {
135
144
  /** The total number of attached containers on this cache. */
136
145
  readonly attachedContainers?: number;
137
146
  }
147
+ /** The base name of a CloudSqlite database, without any version information.
148
+ * The name must conform to the following constraints:
149
+ * - Case-insensitively unique among all databases in the same [[CloudSqlite.CloudContainer]]
150
+ * - Between 1 and 255 characters in length.
151
+ * - A legal filename on both [Windows](https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file#naming-conventions) and UNIX.
152
+ * - Contain none of the following characters: forward or backward slash, period, single or double quote, backtick, colon, and "#".
153
+ * - Begin or end with a whitespace character.
154
+ * @see [[CloudSqlite.DbFullName]] for the fully-specified name, including version information.
155
+ */
156
+ export type DbName = string;
157
+ /** The fully-specified name of a CloudSqlite database, combining its [[CloudSqlite.DbName]] and [[CloudSqlite.DbVersion]] in the format "name:version".
158
+ */
159
+ export type DbFullName = string;
160
+ /** A [semver](https://github.com/npm/node-semver) string describing the version of a database, e.g., "4.2.11".
161
+ */
162
+ export type DbVersion = string;
163
+ /** A [semver string](https://github.com/npm/node-semver?tab=readme-ov-file#ranges) describing a range of acceptable versions,
164
+ * e.g., ">=1.2.7 <1.3.0".
165
+ */
166
+ export type DbVersionRange = string;
167
+ /** Specifies the name and version of a CloudSqlite database.
168
+ */
169
+ export interface DbNameAndVersion {
170
+ /** The name of the database */
171
+ readonly dbName: DbName;
172
+ /** The range of acceptable versions of the database of the specified [[dbName]].
173
+ * If omitted, it defaults to the newest available version.
174
+ */
175
+ readonly version?: DbVersionRange;
176
+ }
177
+ export interface LoadProps extends DbNameAndVersion {
178
+ readonly container: CloudContainer;
179
+ /** If true, allow semver [prerelease versions](https://github.com/npm/node-semver?tab=readme-ov-file#prerelease-tags), e.g., "1.4.2-beta.0".
180
+ * By default, only released version are allowed.
181
+ */
182
+ readonly includePrerelease?: boolean;
183
+ /** If true, start a prefetch operation whenever this database is opened, to begin downloading pages of the database before they are needed. */
184
+ readonly prefetch?: boolean;
185
+ }
186
+ /**
187
+ * The release increment for a version number, used as part of [[CloudSqlite.CreateNewDbVersionArgs]] to specify the kind of version to create.
188
+ * @see [semver.ReleaseType](https://www.npmjs.com/package/semver)
189
+ */
190
+ export type SemverIncrement = "major" | "minor" | "patch" | "premajor" | "preminor" | "prepatch" | "prerelease";
191
+ /**
192
+ * Arguments supplied to [[CloudSqlite.createNewDbVersion]].
193
+ */
194
+ export interface CreateNewDbVersionArgs {
195
+ readonly fromDb: DbNameAndVersion;
196
+ /** The type of version increment to apply to the source version. */
197
+ readonly versionType: SemverIncrement;
198
+ /** For prerelease versions, a string that becomes part of the version name. */
199
+ readonly identifier?: string;
200
+ }
138
201
  /** The name of a CloudSqlite database within a CloudContainer. */
139
202
  export interface DbNameProp {
140
203
  /** the name of the database within the CloudContainer.
141
204
  * @note names of databases within a CloudContainer are always **case sensitive** on all platforms.*/
142
- dbName: string;
143
- }
144
- /** Properties for accessing a database within a CloudContainer */
145
- export interface DbProps extends DbNameProp {
146
- /** the name of the local file to access the database. */
147
- localFileName: LocalFileName;
205
+ dbName: DbFullName;
148
206
  }
149
207
  export type TransferDirection = "upload" | "download";
150
208
  export interface TransferProgress {
@@ -161,7 +219,10 @@ export declare namespace CloudSqlite {
161
219
  /** The number of prefetch requests to issue while there is foreground activity. Default is 3. */
162
220
  minRequests?: number;
163
221
  }
164
- export type TransferDbProps = DbProps & TransferProgress & CloudHttpProps;
222
+ export interface TransferDbProps extends DbNameProp, TransferProgress, CloudHttpProps {
223
+ /** the name of the local file to access the database for uploading and downloading */
224
+ localFileName: LocalFileName;
225
+ }
165
226
  /** Properties for creating a CloudCache. */
166
227
  export interface CacheProps extends CloudHttpProps {
167
228
  /** full path of directory for cache to store its files. Must be on a (preferably fast) local drive, and must be empty when the cache is first created. */
@@ -517,25 +578,48 @@ export declare namespace CloudSqlite {
517
578
  container: CloudContainer;
518
579
  busyHandler?: WriteLockBusyHandler;
519
580
  }): Promise<void>;
581
+ export function getWriteLockHeldBy(container: CloudContainer): string | undefined;
582
+ /** release the write lock on a container. */
583
+ export function releaseWriteLock(container: CloudContainer): void;
520
584
  /**
521
- * Perform an asynchronous write operation on a CloudContainer with the write lock held.
522
- * 1. if write lock is already held by the current user, refresh write lock's expiry time, call operation and return.
523
- * 2. attempt to acquire the write lock, with retries. Throw if unable to obtain write lock.
524
- * 3. perform the operation
525
- * 3.a if the operation throws, abandon all changes and re-throw
526
- * 4. release the write lock.
527
- * 5. return value from operation
528
- * @param user the name to be displayed to other users in the event they attempt to obtain the lock while it is held by us
529
- * @param container the CloudContainer for which the lock is to be acquired
530
- * @param operation an asynchronous operation performed with the write lock held.
531
- * @param busyHandler if present, function called when the write lock is currently held by another user.
532
- * @returns a Promise with the result of `operation`
533
- */
585
+ * Perform an asynchronous write operation on a CloudContainer with the write lock held.
586
+ * 1. if write lock is already held by the current user, refresh write lock's expiry time, call operation and return.
587
+ * 2. attempt to acquire the write lock, with retries. Throw if unable to obtain write lock.
588
+ * 3. perform the operation
589
+ * 3.a if the operation throws, abandon all changes and re-throw
590
+ * 4. release the write lock.
591
+ * 5. return value from operation
592
+ * @param user the name to be displayed to other users in the event they attempt to obtain the lock while it is held by us
593
+ * @param container the CloudContainer for which the lock is to be acquired
594
+ * @param operation an asynchronous operation performed with the write lock held.
595
+ * @param busyHandler if present, function called when the write lock is currently held by another user.
596
+ * @returns a Promise with the result of `operation`
597
+ */
534
598
  export function withWriteLock<T>(args: {
535
599
  user: string;
536
600
  container: CloudContainer;
537
601
  busyHandler?: WriteLockBusyHandler;
538
602
  }, operation: () => Promise<T>): Promise<T>;
603
+ /**
604
+ * Parse the name of a Db stored in a CloudContainer into the dbName and version number. A single CloudContainer may hold
605
+ * many versions of the same Db. The name of the Db in the CloudContainer is in the format "name:version". This
606
+ * function splits them into separate strings.
607
+ */
608
+ export function parseDbFileName(dbFileName: DbFullName): {
609
+ dbName: DbName;
610
+ version: DbVersion;
611
+ };
612
+ export function validateDbVersion(version?: DbVersion): string;
613
+ export function isSemverPrerelease(version: string): true | readonly (string | number)[] | null;
614
+ export function isSemverEditable(dbFullName: string, container: CloudContainer): boolean | readonly (string | number)[];
615
+ /** Create a dbName for a database from its base name and version. This will be in the format "name:version" */
616
+ export function makeSemverName(dbName: DbName, version?: DbVersion): DbName;
617
+ /** query the databases in the supplied container for the highest SemVer match according to the version range. Throws if no version available for the range. */
618
+ export function querySemverMatch(props: LoadProps): DbFullName;
619
+ export function createNewDbVersion(container: CloudContainer, args: CreateNewDbVersionArgs): Promise<{
620
+ oldDb: DbNameAndVersion;
621
+ newDb: DbNameAndVersion;
622
+ }>;
539
623
  /** Arguments to create or find a CloudCache */
540
624
  export interface CreateCloudCacheArg {
541
625
  /** The name of the CloudCache. CloudCache names must be unique. */
@@ -1 +1 @@
1
- {"version":3,"file":"CloudSqlite.d.ts","sourceRoot":"","sources":["../../src/CloudSqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CloudSqlite.d.ts","sourceRoot":"","sources":["../../src/CloudSqlite.ts"],"names":[],"mappings":"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"}