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

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 (1102) hide show
  1. package/CHANGELOG.md +90 -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/BackendLoggerCategory.js.map +1 -1
  7. package/lib/cjs/BisCoreSchema.d.ts.map +1 -1
  8. package/lib/cjs/BisCoreSchema.js +2 -0
  9. package/lib/cjs/BisCoreSchema.js.map +1 -1
  10. package/lib/cjs/BlobContainerService.d.ts +4 -4
  11. package/lib/cjs/BlobContainerService.d.ts.map +1 -1
  12. package/lib/cjs/BlobContainerService.js.map +1 -1
  13. package/lib/cjs/BriefcaseManager.d.ts +10 -0
  14. package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
  15. package/lib/cjs/BriefcaseManager.js +63 -20
  16. package/lib/cjs/BriefcaseManager.js.map +1 -1
  17. package/lib/cjs/CatalogDb.d.ts +103 -0
  18. package/lib/cjs/CatalogDb.d.ts.map +1 -0
  19. package/lib/cjs/CatalogDb.js +271 -0
  20. package/lib/cjs/CatalogDb.js.map +1 -0
  21. package/lib/cjs/Category.d.ts +37 -0
  22. package/lib/cjs/Category.d.ts.map +1 -1
  23. package/lib/cjs/Category.js +79 -1
  24. package/lib/cjs/Category.js.map +1 -1
  25. package/lib/cjs/ChangeSummaryManager.d.ts.map +1 -1
  26. package/lib/cjs/ChangeSummaryManager.js +104 -29
  27. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  28. package/lib/cjs/ChangedElementsDb.d.ts +3 -3
  29. package/lib/cjs/ChangedElementsDb.d.ts.map +1 -1
  30. package/lib/cjs/ChangedElementsDb.js +8 -7
  31. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  32. package/lib/cjs/ChangesetECAdaptor.d.ts +3 -3
  33. package/lib/cjs/ChangesetECAdaptor.d.ts.map +1 -1
  34. package/lib/cjs/ChangesetECAdaptor.js +274 -261
  35. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  36. package/lib/cjs/ChannelControl.js.map +1 -1
  37. package/lib/cjs/CheckpointManager.d.ts +12 -17
  38. package/lib/cjs/CheckpointManager.d.ts.map +1 -1
  39. package/lib/cjs/CheckpointManager.js +40 -92
  40. package/lib/cjs/CheckpointManager.js.map +1 -1
  41. package/lib/cjs/ClassRegistry.d.ts +46 -2
  42. package/lib/cjs/ClassRegistry.d.ts.map +1 -1
  43. package/lib/cjs/ClassRegistry.js +98 -42
  44. package/lib/cjs/ClassRegistry.js.map +1 -1
  45. package/lib/cjs/CloudSqlite.d.ts +104 -20
  46. package/lib/cjs/CloudSqlite.d.ts.map +1 -1
  47. package/lib/cjs/CloudSqlite.js +172 -54
  48. package/lib/cjs/CloudSqlite.js.map +1 -1
  49. package/lib/cjs/CodeService.d.ts +2 -0
  50. package/lib/cjs/CodeService.d.ts.map +1 -1
  51. package/lib/cjs/CodeService.js +4 -0
  52. package/lib/cjs/CodeService.js.map +1 -1
  53. package/lib/cjs/CodeSpecs.js +3 -2
  54. package/lib/cjs/CodeSpecs.js.map +1 -1
  55. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  56. package/lib/cjs/CustomViewState3dCreator.js +7 -6
  57. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  58. package/lib/cjs/DevTools.js +16 -16
  59. package/lib/cjs/DevTools.js.map +1 -1
  60. package/lib/cjs/DisplayStyle.d.ts +5 -0
  61. package/lib/cjs/DisplayStyle.d.ts.map +1 -1
  62. package/lib/cjs/DisplayStyle.js +29 -0
  63. package/lib/cjs/DisplayStyle.js.map +1 -1
  64. package/lib/cjs/ECDb.d.ts +53 -60
  65. package/lib/cjs/ECDb.d.ts.map +1 -1
  66. package/lib/cjs/ECDb.js +115 -73
  67. package/lib/cjs/ECDb.js.map +1 -1
  68. package/lib/cjs/ECSchemaXmlContext.d.ts +1 -1
  69. package/lib/cjs/ECSchemaXmlContext.js +2 -1
  70. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  71. package/lib/cjs/ECSqlStatement.d.ts +185 -4
  72. package/lib/cjs/ECSqlStatement.d.ts.map +1 -1
  73. package/lib/cjs/ECSqlStatement.js +237 -9
  74. package/lib/cjs/ECSqlStatement.js.map +1 -1
  75. package/lib/cjs/Element.d.ts +194 -35
  76. package/lib/cjs/Element.d.ts.map +1 -1
  77. package/lib/cjs/Element.js +683 -57
  78. package/lib/cjs/Element.js.map +1 -1
  79. package/lib/cjs/ElementAspect.d.ts +0 -5
  80. package/lib/cjs/ElementAspect.d.ts.map +1 -1
  81. package/lib/cjs/ElementAspect.js +25 -16
  82. package/lib/cjs/ElementAspect.js.map +1 -1
  83. package/lib/cjs/ElementGraphics.js.map +1 -1
  84. package/lib/cjs/ElementTreeWalker.d.ts.map +1 -1
  85. package/lib/cjs/ElementTreeWalker.js +17 -12
  86. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  87. package/lib/cjs/Entity.d.ts +91 -11
  88. package/lib/cjs/Entity.d.ts.map +1 -1
  89. package/lib/cjs/Entity.js +137 -16
  90. package/lib/cjs/Entity.js.map +1 -1
  91. package/lib/cjs/EntityReferences.js.map +1 -1
  92. package/lib/cjs/ExportGraphics.js +4 -0
  93. package/lib/cjs/ExportGraphics.js.map +1 -1
  94. package/lib/cjs/ExternalSource.js +22 -0
  95. package/lib/cjs/ExternalSource.js.map +1 -1
  96. package/lib/cjs/FontFile.d.ts +68 -0
  97. package/lib/cjs/FontFile.d.ts.map +1 -0
  98. package/lib/cjs/FontFile.js +36 -0
  99. package/lib/cjs/FontFile.js.map +1 -0
  100. package/lib/cjs/GeoCoordConfig.js +8 -8
  101. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  102. package/lib/cjs/GeographicCRSServices.js.map +1 -1
  103. package/lib/cjs/GeometrySummary.js +53 -50
  104. package/lib/cjs/GeometrySummary.js.map +1 -1
  105. package/lib/cjs/IModelDb.d.ts +231 -108
  106. package/lib/cjs/IModelDb.d.ts.map +1 -1
  107. package/lib/cjs/IModelDb.js +516 -249
  108. package/lib/cjs/IModelDb.js.map +1 -1
  109. package/lib/cjs/IModelDbFonts.d.ts +54 -0
  110. package/lib/cjs/IModelDbFonts.d.ts.map +1 -0
  111. package/lib/cjs/{IModelCloneContext.js → IModelDbFonts.js} +2 -7
  112. package/lib/cjs/IModelDbFonts.js.map +1 -0
  113. package/lib/cjs/IModelElementCloneContext.d.ts +2 -0
  114. package/lib/cjs/IModelElementCloneContext.d.ts.map +1 -1
  115. package/lib/cjs/IModelElementCloneContext.js +12 -1
  116. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  117. package/lib/cjs/IModelHost.d.ts +28 -15
  118. package/lib/cjs/IModelHost.d.ts.map +1 -1
  119. package/lib/cjs/IModelHost.js +82 -43
  120. package/lib/cjs/IModelHost.js.map +1 -1
  121. package/lib/cjs/IModelJsFs.d.ts.map +1 -1
  122. package/lib/cjs/IModelJsFs.js +17 -1
  123. package/lib/cjs/IModelJsFs.js.map +1 -1
  124. package/lib/cjs/ImageSourceConversion.d.ts +49 -0
  125. package/lib/cjs/ImageSourceConversion.d.ts.map +1 -0
  126. package/lib/cjs/ImageSourceConversion.js +37 -0
  127. package/lib/cjs/ImageSourceConversion.js.map +1 -0
  128. package/lib/cjs/IpcHost.d.ts.map +1 -1
  129. package/lib/cjs/IpcHost.js +19 -33
  130. package/lib/cjs/IpcHost.js.map +1 -1
  131. package/lib/cjs/LineStyle.js.map +1 -1
  132. package/lib/cjs/LocalHub.js +9 -3
  133. package/lib/cjs/LocalHub.js.map +1 -1
  134. package/lib/cjs/LocalhostIpcHost.js +5 -6
  135. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  136. package/lib/cjs/LockControl.js.map +1 -1
  137. package/lib/cjs/Material.d.ts +19 -0
  138. package/lib/cjs/Material.d.ts.map +1 -1
  139. package/lib/cjs/Material.js +69 -0
  140. package/lib/cjs/Material.js.map +1 -1
  141. package/lib/cjs/Model.d.ts +43 -7
  142. package/lib/cjs/Model.d.ts.map +1 -1
  143. package/lib/cjs/Model.js +120 -7
  144. package/lib/cjs/Model.js.map +1 -1
  145. package/lib/cjs/NativeAppStorage.js +5 -3
  146. package/lib/cjs/NativeAppStorage.js.map +1 -1
  147. package/lib/cjs/NativeHost.d.ts.map +1 -1
  148. package/lib/cjs/NativeHost.js +10 -4
  149. package/lib/cjs/NativeHost.js.map +1 -1
  150. package/lib/cjs/NavigationRelationship.js +25 -25
  151. package/lib/cjs/NavigationRelationship.js.map +1 -1
  152. package/lib/cjs/PromiseMemoizer.d.ts +2 -3
  153. package/lib/cjs/PromiseMemoizer.d.ts.map +1 -1
  154. package/lib/cjs/PromiseMemoizer.js +12 -5
  155. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  156. package/lib/cjs/PropertyStore.js +1 -4
  157. package/lib/cjs/PropertyStore.js.map +1 -1
  158. package/lib/cjs/Relationship.d.ts.map +1 -1
  159. package/lib/cjs/Relationship.js +15 -1
  160. package/lib/cjs/Relationship.js.map +1 -1
  161. package/lib/cjs/RpcBackend.js.map +1 -1
  162. package/lib/cjs/SQLiteDb.d.ts +6 -4
  163. package/lib/cjs/SQLiteDb.d.ts.map +1 -1
  164. package/lib/cjs/SQLiteDb.js +79 -19
  165. package/lib/cjs/SQLiteDb.js.map +1 -1
  166. package/lib/cjs/Schema.d.ts +25 -1
  167. package/lib/cjs/Schema.d.ts.map +1 -1
  168. package/lib/cjs/Schema.js +44 -8
  169. package/lib/cjs/Schema.js.map +1 -1
  170. package/lib/cjs/SchemaSync.js +1 -4
  171. package/lib/cjs/SchemaSync.js.map +1 -1
  172. package/lib/cjs/SchemaUtils.js.map +1 -1
  173. package/lib/cjs/SheetIndex.js +6 -0
  174. package/lib/cjs/SheetIndex.js.map +1 -1
  175. package/lib/cjs/SqliteChangesetReader.d.ts +11 -3
  176. package/lib/cjs/SqliteChangesetReader.d.ts.map +1 -1
  177. package/lib/cjs/SqliteChangesetReader.js +21 -5
  178. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  179. package/lib/cjs/SqliteStatement.d.ts +4 -2
  180. package/lib/cjs/SqliteStatement.d.ts.map +1 -1
  181. package/lib/cjs/SqliteStatement.js +13 -1
  182. package/lib/cjs/SqliteStatement.js.map +1 -1
  183. package/lib/cjs/TextAnnotationElement.js.map +1 -1
  184. package/lib/cjs/TextAnnotationGeometry.d.ts.map +1 -1
  185. package/lib/cjs/TextAnnotationGeometry.js +38 -11
  186. package/lib/cjs/TextAnnotationGeometry.js.map +1 -1
  187. package/lib/cjs/TextAnnotationLayout.d.ts +10 -3
  188. package/lib/cjs/TextAnnotationLayout.d.ts.map +1 -1
  189. package/lib/cjs/TextAnnotationLayout.js +56 -18
  190. package/lib/cjs/TextAnnotationLayout.js.map +1 -1
  191. package/lib/cjs/Texture.js +3 -0
  192. package/lib/cjs/Texture.js.map +1 -1
  193. package/lib/cjs/TileStorage.js +6 -1
  194. package/lib/cjs/TileStorage.js.map +1 -1
  195. package/lib/cjs/TxnManager.d.ts +55 -4
  196. package/lib/cjs/TxnManager.d.ts.map +1 -1
  197. package/lib/cjs/TxnManager.js +235 -58
  198. package/lib/cjs/TxnManager.js.map +1 -1
  199. package/lib/cjs/ViewDefinition.d.ts +106 -6
  200. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  201. package/lib/cjs/ViewDefinition.js +289 -26
  202. package/lib/cjs/ViewDefinition.js.map +1 -1
  203. package/lib/cjs/ViewStateHydrator.d.ts +0 -1
  204. package/lib/cjs/ViewStateHydrator.d.ts.map +1 -1
  205. package/lib/cjs/ViewStateHydrator.js +4 -14
  206. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  207. package/lib/cjs/ViewStore.d.ts.map +1 -1
  208. package/lib/cjs/ViewStore.js +32 -29
  209. package/lib/cjs/ViewStore.js.map +1 -1
  210. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  211. package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
  212. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
  213. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
  214. package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
  215. package/lib/cjs/core-backend.d.ts +8 -2
  216. package/lib/cjs/core-backend.d.ts.map +1 -1
  217. package/lib/cjs/core-backend.js +8 -2
  218. package/lib/cjs/core-backend.js.map +1 -1
  219. package/lib/cjs/domains/FunctionalElements.js +1 -1
  220. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  221. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  222. package/lib/cjs/domains/GenericElements.js.map +1 -1
  223. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  224. package/lib/cjs/internal/ChangesetConflictArgs.d.ts +40 -2
  225. package/lib/cjs/internal/ChangesetConflictArgs.d.ts.map +1 -1
  226. package/lib/cjs/internal/ChangesetConflictArgs.js +101 -0
  227. package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
  228. package/lib/cjs/internal/ChannelAdmin.d.ts +1 -1
  229. package/lib/cjs/internal/ChannelAdmin.d.ts.map +1 -1
  230. package/lib/cjs/internal/ChannelAdmin.js +16 -13
  231. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  232. package/lib/cjs/internal/ElementLRUCache.d.ts +28 -0
  233. package/lib/cjs/internal/ElementLRUCache.d.ts.map +1 -0
  234. package/lib/cjs/internal/ElementLRUCache.js +120 -0
  235. package/lib/cjs/internal/ElementLRUCache.js.map +1 -0
  236. package/lib/cjs/internal/FontFileImpl.d.ts +34 -0
  237. package/lib/cjs/internal/FontFileImpl.d.ts.map +1 -0
  238. package/lib/cjs/internal/FontFileImpl.js +143 -0
  239. package/lib/cjs/internal/FontFileImpl.js.map +1 -0
  240. package/lib/cjs/{HubMock.d.ts → internal/HubMock.d.ts} +6 -7
  241. package/lib/cjs/internal/HubMock.d.ts.map +1 -0
  242. package/lib/cjs/{HubMock.js → internal/HubMock.js} +40 -15
  243. package/lib/cjs/internal/HubMock.js.map +1 -0
  244. package/lib/cjs/internal/IModelDbFontsImpl.d.ts +7 -0
  245. package/lib/cjs/internal/IModelDbFontsImpl.d.ts.map +1 -0
  246. package/lib/cjs/internal/IModelDbFontsImpl.js +186 -0
  247. package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -0
  248. package/lib/cjs/internal/NativePlatform.js.map +1 -1
  249. package/lib/cjs/internal/NoLocks.js +2 -5
  250. package/lib/cjs/internal/NoLocks.js.map +1 -1
  251. package/lib/cjs/internal/ServerBasedLocks.d.ts.map +1 -1
  252. package/lib/cjs/internal/ServerBasedLocks.js +6 -6
  253. package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
  254. package/lib/cjs/internal/Symbols.d.ts +9 -0
  255. package/lib/cjs/internal/Symbols.d.ts.map +1 -1
  256. package/lib/cjs/internal/Symbols.js +10 -1
  257. package/lib/cjs/internal/Symbols.js.map +1 -1
  258. package/lib/cjs/internal/cross-package.js.map +1 -1
  259. package/lib/cjs/internal/workspace/SettingsImpl.js +6 -9
  260. package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
  261. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js +8 -12
  262. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  263. package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts +2 -16
  264. package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts.map +1 -1
  265. package/lib/cjs/internal/workspace/WorkspaceImpl.js +57 -121
  266. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  267. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js +1 -4
  268. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  269. package/lib/cjs/rpc/multipart.d.ts.map +1 -1
  270. package/lib/cjs/rpc/multipart.js +2 -1
  271. package/lib/cjs/rpc/multipart.js.map +1 -1
  272. package/lib/cjs/rpc/tracing.js +2 -2
  273. package/lib/cjs/rpc/tracing.js.map +1 -1
  274. package/lib/cjs/rpc/web/logging.js.map +1 -1
  275. package/lib/cjs/rpc/web/request.d.ts.map +1 -1
  276. package/lib/cjs/rpc/web/request.js +2 -1
  277. package/lib/cjs/rpc/web/request.js.map +1 -1
  278. package/lib/cjs/rpc/web/response.js.map +1 -1
  279. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  280. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -1
  281. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +8 -4
  282. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  283. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js +5 -3
  284. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  285. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -1
  286. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +15 -25
  287. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  288. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  289. package/lib/cjs/workspace/Settings.js.map +1 -1
  290. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  291. package/lib/cjs/workspace/Workspace.d.ts +6 -13
  292. package/lib/cjs/workspace/Workspace.d.ts.map +1 -1
  293. package/lib/cjs/workspace/Workspace.js.map +1 -1
  294. package/lib/cjs/workspace/WorkspaceEditor.d.ts +2 -7
  295. package/lib/cjs/workspace/WorkspaceEditor.d.ts.map +1 -1
  296. package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
  297. package/lib/esm/BackendHubAccess.d.ts +209 -0
  298. package/lib/esm/BackendHubAccess.d.ts.map +1 -0
  299. package/lib/esm/BackendHubAccess.js +41 -0
  300. package/lib/esm/BackendHubAccess.js.map +1 -0
  301. package/lib/esm/BackendLoggerCategory.d.ts +88 -0
  302. package/lib/esm/BackendLoggerCategory.d.ts.map +1 -0
  303. package/lib/esm/BackendLoggerCategory.js +93 -0
  304. package/lib/esm/BackendLoggerCategory.js.map +1 -0
  305. package/lib/esm/BisCoreSchema.d.ts +22 -0
  306. package/lib/esm/BisCoreSchema.d.ts.map +1 -0
  307. package/lib/esm/BisCoreSchema.js +61 -0
  308. package/lib/esm/BisCoreSchema.js.map +1 -0
  309. package/lib/esm/BlobContainerService.d.ts +159 -0
  310. package/lib/esm/BlobContainerService.d.ts.map +1 -0
  311. package/lib/esm/BlobContainerService.js +15 -0
  312. package/lib/esm/BlobContainerService.js.map +1 -0
  313. package/lib/esm/BriefcaseManager.d.ts +213 -0
  314. package/lib/esm/BriefcaseManager.d.ts.map +1 -0
  315. package/lib/esm/BriefcaseManager.js +520 -0
  316. package/lib/esm/BriefcaseManager.js.map +1 -0
  317. package/lib/esm/CatalogDb.d.ts +103 -0
  318. package/lib/esm/CatalogDb.d.ts.map +1 -0
  319. package/lib/esm/CatalogDb.js +267 -0
  320. package/lib/esm/CatalogDb.js.map +1 -0
  321. package/lib/esm/Category.d.ts +173 -0
  322. package/lib/esm/Category.d.ts.map +1 -0
  323. package/lib/esm/Category.js +297 -0
  324. package/lib/esm/Category.js.map +1 -0
  325. package/lib/esm/ChangeSummaryManager.d.ts +161 -0
  326. package/lib/esm/ChangeSummaryManager.d.ts.map +1 -0
  327. package/lib/esm/ChangeSummaryManager.js +421 -0
  328. package/lib/esm/ChangeSummaryManager.js.map +1 -0
  329. package/lib/esm/ChangedElementsDb.d.ts +101 -0
  330. package/lib/esm/ChangedElementsDb.d.ts.map +1 -0
  331. package/lib/esm/ChangedElementsDb.js +165 -0
  332. package/lib/esm/ChangedElementsDb.js.map +1 -0
  333. package/lib/esm/ChangesetECAdaptor.d.ts +203 -0
  334. package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -0
  335. package/lib/esm/ChangesetECAdaptor.js +815 -0
  336. package/lib/esm/ChangesetECAdaptor.js.map +1 -0
  337. package/lib/esm/ChannelControl.d.ts +68 -0
  338. package/lib/esm/ChannelControl.d.ts.map +1 -0
  339. package/lib/esm/ChannelControl.js +15 -0
  340. package/lib/esm/ChannelControl.js.map +1 -0
  341. package/lib/esm/CheckpointManager.d.ts +118 -0
  342. package/lib/esm/CheckpointManager.d.ts.map +1 -0
  343. package/lib/esm/CheckpointManager.js +321 -0
  344. package/lib/esm/CheckpointManager.js.map +1 -0
  345. package/lib/esm/ClassRegistry.d.ts +134 -0
  346. package/lib/esm/ClassRegistry.d.ts.map +1 -0
  347. package/lib/esm/ClassRegistry.js +324 -0
  348. package/lib/esm/ClassRegistry.js.map +1 -0
  349. package/lib/esm/CloudSqlite.d.ts +766 -0
  350. package/lib/esm/CloudSqlite.d.ts.map +1 -0
  351. package/lib/esm/CloudSqlite.js +622 -0
  352. package/lib/esm/CloudSqlite.js.map +1 -0
  353. package/lib/esm/CodeService.d.ts +402 -0
  354. package/lib/esm/CodeService.d.ts.map +1 -0
  355. package/lib/esm/CodeService.js +65 -0
  356. package/lib/esm/CodeService.js.map +1 -0
  357. package/lib/esm/CodeSpecs.d.ts +59 -0
  358. package/lib/esm/CodeSpecs.d.ts.map +1 -0
  359. package/lib/esm/CodeSpecs.js +152 -0
  360. package/lib/esm/CodeSpecs.js.map +1 -0
  361. package/lib/esm/ConcurrentQuery.d.ts +14 -0
  362. package/lib/esm/ConcurrentQuery.d.ts.map +1 -0
  363. package/lib/esm/ConcurrentQuery.js +33 -0
  364. package/lib/esm/ConcurrentQuery.js.map +1 -0
  365. package/lib/esm/CustomViewState3dCreator.d.ts +22 -0
  366. package/lib/esm/CustomViewState3dCreator.d.ts.map +1 -0
  367. package/lib/esm/CustomViewState3dCreator.js +78 -0
  368. package/lib/esm/CustomViewState3dCreator.js.map +1 -0
  369. package/lib/esm/DevTools.d.ts +73 -0
  370. package/lib/esm/DevTools.d.ts.map +1 -0
  371. package/lib/esm/DevTools.js +153 -0
  372. package/lib/esm/DevTools.js.map +1 -0
  373. package/lib/esm/DisplayStyle.d.ts +104 -0
  374. package/lib/esm/DisplayStyle.d.ts.map +1 -0
  375. package/lib/esm/DisplayStyle.js +291 -0
  376. package/lib/esm/DisplayStyle.js.map +1 -0
  377. package/lib/esm/ECDb.d.ts +206 -0
  378. package/lib/esm/ECDb.d.ts.map +1 -0
  379. package/lib/esm/ECDb.js +410 -0
  380. package/lib/esm/ECDb.js.map +1 -0
  381. package/lib/esm/ECSchemaXmlContext.d.ts +46 -0
  382. package/lib/esm/ECSchemaXmlContext.d.ts.map +1 -0
  383. package/lib/esm/ECSchemaXmlContext.js +66 -0
  384. package/lib/esm/ECSchemaXmlContext.js.map +1 -0
  385. package/lib/esm/ECSqlStatement.d.ts +671 -0
  386. package/lib/esm/ECSqlStatement.d.ts.map +1 -0
  387. package/lib/esm/ECSqlStatement.js +1028 -0
  388. package/lib/esm/ECSqlStatement.js.map +1 -0
  389. package/lib/esm/Element.d.ts +1155 -0
  390. package/lib/esm/Element.d.ts.map +1 -0
  391. package/lib/esm/Element.js +1876 -0
  392. package/lib/esm/Element.js.map +1 -0
  393. package/lib/esm/ElementAspect.d.ts +164 -0
  394. package/lib/esm/ElementAspect.d.ts.map +1 -0
  395. package/lib/esm/ElementAspect.js +205 -0
  396. package/lib/esm/ElementAspect.js.map +1 -0
  397. package/lib/esm/ElementGraphics.d.ts +7 -0
  398. package/lib/esm/ElementGraphics.d.ts.map +1 -0
  399. package/lib/esm/ElementGraphics.js +36 -0
  400. package/lib/esm/ElementGraphics.js.map +1 -0
  401. package/lib/esm/ElementTreeWalker.d.ts +182 -0
  402. package/lib/esm/ElementTreeWalker.d.ts.map +1 -0
  403. package/lib/esm/ElementTreeWalker.js +425 -0
  404. package/lib/esm/ElementTreeWalker.js.map +1 -0
  405. package/lib/esm/Entity.d.ts +186 -0
  406. package/lib/esm/Entity.d.ts.map +1 -0
  407. package/lib/esm/Entity.js +244 -0
  408. package/lib/esm/Entity.js.map +1 -0
  409. package/lib/esm/EntityReferences.d.ts +50 -0
  410. package/lib/esm/EntityReferences.d.ts.map +1 -0
  411. package/lib/esm/EntityReferences.js +92 -0
  412. package/lib/esm/EntityReferences.js.map +1 -0
  413. package/lib/esm/ExportGraphics.d.ts +318 -0
  414. package/lib/esm/ExportGraphics.d.ts.map +1 -0
  415. package/lib/esm/ExportGraphics.js +209 -0
  416. package/lib/esm/ExportGraphics.js.map +1 -0
  417. package/lib/esm/ExternalSource.d.ts +89 -0
  418. package/lib/esm/ExternalSource.d.ts.map +1 -0
  419. package/lib/esm/ExternalSource.js +139 -0
  420. package/lib/esm/ExternalSource.js.map +1 -0
  421. package/lib/esm/FontFile.d.ts +68 -0
  422. package/lib/esm/FontFile.d.ts.map +1 -0
  423. package/lib/esm/FontFile.js +33 -0
  424. package/lib/esm/FontFile.js.map +1 -0
  425. package/lib/esm/GeoCoordConfig.d.ts +30 -0
  426. package/lib/esm/GeoCoordConfig.d.ts.map +1 -0
  427. package/lib/esm/GeoCoordConfig.js +78 -0
  428. package/lib/esm/GeoCoordConfig.js.map +1 -0
  429. package/lib/esm/GeographicCRSServices.d.ts +40 -0
  430. package/lib/esm/GeographicCRSServices.d.ts.map +1 -0
  431. package/lib/esm/GeographicCRSServices.js +17 -0
  432. package/lib/esm/GeographicCRSServices.js.map +1 -0
  433. package/lib/esm/GeometrySummary.d.ts +5 -0
  434. package/lib/esm/GeometrySummary.d.ts.map +1 -0
  435. package/lib/esm/GeometrySummary.js +381 -0
  436. package/lib/esm/GeometrySummary.js.map +1 -0
  437. package/lib/esm/IModelDb.d.ts +1390 -0
  438. package/lib/esm/IModelDb.d.ts.map +1 -0
  439. package/lib/esm/IModelDb.js +3327 -0
  440. package/lib/esm/IModelDb.js.map +1 -0
  441. package/lib/esm/IModelDbFonts.d.ts +54 -0
  442. package/lib/esm/IModelDbFonts.d.ts.map +1 -0
  443. package/lib/esm/IModelDbFonts.js +9 -0
  444. package/lib/esm/IModelDbFonts.js.map +1 -0
  445. package/lib/esm/IModelElementCloneContext.d.ts +92 -0
  446. package/lib/esm/IModelElementCloneContext.d.ts.map +1 -0
  447. package/lib/esm/IModelElementCloneContext.js +168 -0
  448. package/lib/esm/IModelElementCloneContext.js.map +1 -0
  449. package/lib/esm/IModelHost.d.ts +400 -0
  450. package/lib/esm/IModelHost.d.ts.map +1 -0
  451. package/lib/esm/IModelHost.js +508 -0
  452. package/lib/esm/IModelHost.js.map +1 -0
  453. package/lib/esm/IModelJsFs.d.ts +62 -0
  454. package/lib/esm/IModelJsFs.d.ts.map +1 -0
  455. package/lib/esm/IModelJsFs.js +151 -0
  456. package/lib/esm/IModelJsFs.js.map +1 -0
  457. package/lib/esm/ImageSourceConversion.d.ts +49 -0
  458. package/lib/esm/ImageSourceConversion.d.ts.map +1 -0
  459. package/lib/esm/ImageSourceConversion.js +33 -0
  460. package/lib/esm/ImageSourceConversion.js.map +1 -0
  461. package/lib/esm/IpcHost.d.ts +111 -0
  462. package/lib/esm/IpcHost.d.ts.map +1 -0
  463. package/lib/esm/IpcHost.js +292 -0
  464. package/lib/esm/IpcHost.js.map +1 -0
  465. package/lib/esm/LineStyle.d.ts +312 -0
  466. package/lib/esm/LineStyle.d.ts.map +1 -0
  467. package/lib/esm/LineStyle.js +293 -0
  468. package/lib/esm/LineStyle.js.map +1 -0
  469. package/lib/esm/LocalHub.d.ts +163 -0
  470. package/lib/esm/LocalHub.d.ts.map +1 -0
  471. package/lib/esm/LocalHub.js +583 -0
  472. package/lib/esm/LocalHub.js.map +1 -0
  473. package/lib/esm/LocalhostIpcHost.d.ts +22 -0
  474. package/lib/esm/LocalhostIpcHost.d.ts.map +1 -0
  475. package/lib/esm/LocalhostIpcHost.js +74 -0
  476. package/lib/esm/LocalhostIpcHost.js.map +1 -0
  477. package/lib/esm/LockControl.d.ts +73 -0
  478. package/lib/esm/LockControl.d.ts.map +1 -0
  479. package/lib/esm/LockControl.js +9 -0
  480. package/lib/esm/LockControl.js.map +1 -0
  481. package/lib/esm/Material.d.ts +150 -0
  482. package/lib/esm/Material.d.ts.map +1 -0
  483. package/lib/esm/Material.js +264 -0
  484. package/lib/esm/Material.js.map +1 -0
  485. package/lib/esm/Model.d.ts +411 -0
  486. package/lib/esm/Model.d.ts.map +1 -0
  487. package/lib/esm/Model.js +572 -0
  488. package/lib/esm/Model.js.map +1 -0
  489. package/lib/esm/NativeAppStorage.d.ts +52 -0
  490. package/lib/esm/NativeAppStorage.d.ts.map +1 -0
  491. package/lib/esm/NativeAppStorage.js +205 -0
  492. package/lib/esm/NativeAppStorage.js.map +1 -0
  493. package/lib/esm/NativeHost.d.ts +53 -0
  494. package/lib/esm/NativeHost.d.ts.map +1 -0
  495. package/lib/esm/NativeHost.js +161 -0
  496. package/lib/esm/NativeHost.js.map +1 -0
  497. package/lib/esm/NavigationRelationship.d.ts +185 -0
  498. package/lib/esm/NavigationRelationship.d.ts.map +1 -0
  499. package/lib/esm/NavigationRelationship.js +238 -0
  500. package/lib/esm/NavigationRelationship.js.map +1 -0
  501. package/lib/esm/PromiseMemoizer.d.ts +48 -0
  502. package/lib/esm/PromiseMemoizer.d.ts.map +1 -0
  503. package/lib/esm/PromiseMemoizer.js +101 -0
  504. package/lib/esm/PromiseMemoizer.js.map +1 -0
  505. package/lib/esm/PropertyStore.d.ts +134 -0
  506. package/lib/esm/PropertyStore.d.ts.map +1 -0
  507. package/lib/esm/PropertyStore.js +177 -0
  508. package/lib/esm/PropertyStore.js.map +1 -0
  509. package/lib/esm/Relationship.d.ts +399 -0
  510. package/lib/esm/Relationship.d.ts.map +1 -0
  511. package/lib/esm/Relationship.js +476 -0
  512. package/lib/esm/Relationship.js.map +1 -0
  513. package/lib/esm/RpcBackend.d.ts +6 -0
  514. package/lib/esm/RpcBackend.d.ts.map +1 -0
  515. package/lib/esm/RpcBackend.js +28 -0
  516. package/lib/esm/RpcBackend.js.map +1 -0
  517. package/lib/esm/SQLiteDb.d.ts +324 -0
  518. package/lib/esm/SQLiteDb.d.ts.map +1 -0
  519. package/lib/esm/SQLiteDb.js +380 -0
  520. package/lib/esm/SQLiteDb.js.map +1 -0
  521. package/lib/esm/Schema.d.ts +79 -0
  522. package/lib/esm/Schema.d.ts.map +1 -0
  523. package/lib/esm/Schema.js +113 -0
  524. package/lib/esm/Schema.js.map +1 -0
  525. package/lib/esm/SchemaSync.d.ts +47 -0
  526. package/lib/esm/SchemaSync.d.ts.map +1 -0
  527. package/lib/esm/SchemaSync.js +148 -0
  528. package/lib/esm/SchemaSync.js.map +1 -0
  529. package/lib/esm/SchemaUtils.d.ts +19 -0
  530. package/lib/esm/SchemaUtils.d.ts.map +1 -0
  531. package/lib/esm/SchemaUtils.js +37 -0
  532. package/lib/esm/SchemaUtils.js.map +1 -0
  533. package/lib/esm/SheetIndex.d.ts +148 -0
  534. package/lib/esm/SheetIndex.d.ts.map +1 -0
  535. package/lib/esm/SheetIndex.js +228 -0
  536. package/lib/esm/SheetIndex.js.map +1 -0
  537. package/lib/esm/SqliteChangesetReader.d.ts +278 -0
  538. package/lib/esm/SqliteChangesetReader.d.ts.map +1 -0
  539. package/lib/esm/SqliteChangesetReader.js +337 -0
  540. package/lib/esm/SqliteChangesetReader.js.map +1 -0
  541. package/lib/esm/SqliteStatement.d.ts +375 -0
  542. package/lib/esm/SqliteStatement.d.ts.map +1 -0
  543. package/lib/esm/SqliteStatement.js +615 -0
  544. package/lib/esm/SqliteStatement.js.map +1 -0
  545. package/lib/esm/TextAnnotationElement.d.ts +54 -0
  546. package/lib/esm/TextAnnotationElement.d.ts.map +1 -0
  547. package/lib/esm/TextAnnotationElement.js +89 -0
  548. package/lib/esm/TextAnnotationElement.js.map +1 -0
  549. package/lib/esm/TextAnnotationGeometry.d.ts +32 -0
  550. package/lib/esm/TextAnnotationGeometry.d.ts.map +1 -0
  551. package/lib/esm/TextAnnotationGeometry.js +181 -0
  552. package/lib/esm/TextAnnotationGeometry.js.map +1 -0
  553. package/lib/esm/TextAnnotationLayout.d.ts +177 -0
  554. package/lib/esm/TextAnnotationLayout.d.ts.map +1 -0
  555. package/lib/esm/TextAnnotationLayout.js +513 -0
  556. package/lib/esm/TextAnnotationLayout.js.map +1 -0
  557. package/lib/esm/Texture.d.ts +58 -0
  558. package/lib/esm/Texture.d.ts.map +1 -0
  559. package/lib/esm/Texture.js +81 -0
  560. package/lib/esm/Texture.js.map +1 -0
  561. package/lib/esm/TileStorage.d.ts +59 -0
  562. package/lib/esm/TileStorage.d.ts.map +1 -0
  563. package/lib/esm/TileStorage.js +158 -0
  564. package/lib/esm/TileStorage.js.map +1 -0
  565. package/lib/esm/TxnManager.d.ts +296 -0
  566. package/lib/esm/TxnManager.d.ts.map +1 -0
  567. package/lib/esm/TxnManager.js +620 -0
  568. package/lib/esm/TxnManager.js.map +1 -0
  569. package/lib/esm/ViewDefinition.d.ts +492 -0
  570. package/lib/esm/ViewDefinition.d.ts.map +1 -0
  571. package/lib/esm/ViewDefinition.js +846 -0
  572. package/lib/esm/ViewDefinition.js.map +1 -0
  573. package/lib/esm/ViewStateHydrator.d.ts +14 -0
  574. package/lib/esm/ViewStateHydrator.d.ts.map +1 -0
  575. package/lib/esm/ViewStateHydrator.js +89 -0
  576. package/lib/esm/ViewStateHydrator.js.map +1 -0
  577. package/lib/esm/ViewStore.d.ts +502 -0
  578. package/lib/esm/ViewStore.d.ts.map +1 -0
  579. package/lib/esm/ViewStore.js +1260 -0
  580. package/lib/esm/ViewStore.js.map +1 -0
  581. package/lib/esm/core-backend.d.ts +183 -0
  582. package/lib/esm/core-backend.d.ts.map +1 -0
  583. package/lib/esm/core-backend.js +187 -0
  584. package/lib/esm/core-backend.js.map +1 -0
  585. package/lib/esm/domains/FunctionalElements.d.ts +86 -0
  586. package/lib/esm/domains/FunctionalElements.d.ts.map +1 -0
  587. package/lib/esm/domains/FunctionalElements.js +117 -0
  588. package/lib/esm/domains/FunctionalElements.js.map +1 -0
  589. package/lib/esm/domains/FunctionalSchema.d.ts +14 -0
  590. package/lib/esm/domains/FunctionalSchema.d.ts.map +1 -0
  591. package/lib/esm/domains/FunctionalSchema.js +37 -0
  592. package/lib/esm/domains/FunctionalSchema.js.map +1 -0
  593. package/lib/esm/domains/GenericElements.d.ts +160 -0
  594. package/lib/esm/domains/GenericElements.d.ts.map +1 -0
  595. package/lib/esm/domains/GenericElements.js +225 -0
  596. package/lib/esm/domains/GenericElements.js.map +1 -0
  597. package/lib/esm/domains/GenericSchema.d.ts +11 -0
  598. package/lib/esm/domains/GenericSchema.d.ts.map +1 -0
  599. package/lib/esm/domains/GenericSchema.js +25 -0
  600. package/lib/esm/domains/GenericSchema.js.map +1 -0
  601. package/lib/esm/internal/ChangesetConflictArgs.d.ts +62 -0
  602. package/lib/esm/internal/ChangesetConflictArgs.d.ts.map +1 -0
  603. package/lib/esm/internal/ChangesetConflictArgs.js +104 -0
  604. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -0
  605. package/lib/esm/internal/ChannelAdmin.d.ts +34 -0
  606. package/lib/esm/internal/ChannelAdmin.d.ts.map +1 -0
  607. package/lib/esm/internal/ChannelAdmin.js +116 -0
  608. package/lib/esm/internal/ChannelAdmin.js.map +1 -0
  609. package/lib/esm/internal/ElementLRUCache.d.ts +28 -0
  610. package/lib/esm/internal/ElementLRUCache.d.ts.map +1 -0
  611. package/lib/esm/internal/ElementLRUCache.js +116 -0
  612. package/lib/esm/internal/ElementLRUCache.js.map +1 -0
  613. package/lib/esm/internal/FontFileImpl.d.ts +34 -0
  614. package/lib/esm/internal/FontFileImpl.d.ts.map +1 -0
  615. package/lib/esm/internal/FontFileImpl.js +135 -0
  616. package/lib/esm/internal/FontFileImpl.js.map +1 -0
  617. package/lib/esm/internal/HubMock.d.ts +94 -0
  618. package/lib/esm/internal/HubMock.d.ts.map +1 -0
  619. package/lib/esm/internal/HubMock.js +242 -0
  620. package/lib/esm/internal/HubMock.js.map +1 -0
  621. package/lib/esm/internal/IModelDbFontsImpl.d.ts +7 -0
  622. package/lib/esm/internal/IModelDbFontsImpl.d.ts.map +1 -0
  623. package/lib/esm/internal/IModelDbFontsImpl.js +183 -0
  624. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -0
  625. package/lib/esm/internal/NativePlatform.d.ts +15 -0
  626. package/lib/esm/internal/NativePlatform.d.ts.map +1 -0
  627. package/lib/esm/internal/NativePlatform.js +43 -0
  628. package/lib/esm/internal/NativePlatform.js.map +1 -0
  629. package/lib/esm/internal/NoLocks.d.ts +6 -0
  630. package/lib/esm/internal/NoLocks.d.ts.map +1 -0
  631. package/lib/esm/internal/NoLocks.js +24 -0
  632. package/lib/esm/internal/NoLocks.js.map +1 -0
  633. package/lib/esm/internal/ServerBasedLocks.d.ts +52 -0
  634. package/lib/esm/internal/ServerBasedLocks.d.ts.map +1 -0
  635. package/lib/esm/internal/ServerBasedLocks.js +175 -0
  636. package/lib/esm/internal/ServerBasedLocks.js.map +1 -0
  637. package/lib/esm/internal/Symbols.d.ts +20 -0
  638. package/lib/esm/internal/Symbols.d.ts.map +1 -0
  639. package/lib/esm/internal/Symbols.js +27 -0
  640. package/lib/esm/internal/Symbols.js.map +1 -0
  641. package/lib/esm/internal/cross-package.d.ts +4 -0
  642. package/lib/esm/internal/cross-package.d.ts.map +1 -0
  643. package/lib/esm/internal/cross-package.js +8 -0
  644. package/lib/esm/internal/cross-package.js.map +1 -0
  645. package/lib/esm/internal/workspace/SettingsImpl.d.ts +43 -0
  646. package/lib/esm/internal/workspace/SettingsImpl.d.ts.map +1 -0
  647. package/lib/esm/internal/workspace/SettingsImpl.js +154 -0
  648. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -0
  649. package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts +6 -0
  650. package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts.map +1 -0
  651. package/lib/esm/internal/workspace/SettingsSchemasImpl.js +268 -0
  652. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -0
  653. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts +27 -0
  654. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts.map +1 -0
  655. package/lib/esm/internal/workspace/WorkspaceImpl.js +627 -0
  656. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -0
  657. package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts +10 -0
  658. package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts.map +1 -0
  659. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js +35 -0
  660. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -0
  661. package/lib/esm/rpc/multipart.d.ts +12 -0
  662. package/lib/esm/rpc/multipart.d.ts.map +1 -0
  663. package/lib/esm/rpc/multipart.js +67 -0
  664. package/lib/esm/rpc/multipart.js.map +1 -0
  665. package/lib/esm/rpc/tracing.d.ts +29 -0
  666. package/lib/esm/rpc/tracing.d.ts.map +1 -0
  667. package/lib/esm/rpc/tracing.js +71 -0
  668. package/lib/esm/rpc/tracing.js.map +1 -0
  669. package/lib/esm/rpc/web/logging.d.ts +10 -0
  670. package/lib/esm/rpc/web/logging.d.ts.map +1 -0
  671. package/lib/esm/rpc/web/logging.js +41 -0
  672. package/lib/esm/rpc/web/logging.js.map +1 -0
  673. package/lib/esm/rpc/web/request.d.ts +7 -0
  674. package/lib/esm/rpc/web/request.d.ts.map +1 -0
  675. package/lib/esm/rpc/web/request.js +71 -0
  676. package/lib/esm/rpc/web/request.js.map +1 -0
  677. package/lib/esm/rpc/web/response.d.ts +7 -0
  678. package/lib/esm/rpc/web/response.d.ts.map +1 -0
  679. package/lib/esm/rpc/web/response.js +136 -0
  680. package/lib/esm/rpc/web/response.js.map +1 -0
  681. package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts +16 -0
  682. package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts.map +1 -0
  683. package/lib/esm/rpc-impl/DevToolsRpcImpl.js +29 -0
  684. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -0
  685. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts +51 -0
  686. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -0
  687. package/lib/esm/rpc-impl/IModelReadRpcImpl.js +314 -0
  688. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -0
  689. package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts +21 -0
  690. package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts.map +1 -0
  691. package/lib/esm/rpc-impl/IModelTileRpcImpl.js +193 -0
  692. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -0
  693. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts +45 -0
  694. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -0
  695. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js +155 -0
  696. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -0
  697. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts +18 -0
  698. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts.map +1 -0
  699. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js +41 -0
  700. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -0
  701. package/lib/esm/test/AdvancedEqual.d.ts +38 -0
  702. package/lib/esm/test/AdvancedEqual.d.ts.map +1 -0
  703. package/lib/esm/test/AdvancedEqual.js +67 -0
  704. package/lib/esm/test/AdvancedEqual.js.map +1 -0
  705. package/lib/esm/test/AttachDb.test.d.ts +2 -0
  706. package/lib/esm/test/AttachDb.test.d.ts.map +1 -0
  707. package/lib/esm/test/AttachDb.test.js +157 -0
  708. package/lib/esm/test/AttachDb.test.js.map +1 -0
  709. package/lib/esm/test/ElementLRUCache.test.d.ts +2 -0
  710. package/lib/esm/test/ElementLRUCache.test.d.ts.map +1 -0
  711. package/lib/esm/test/ElementLRUCache.test.js +212 -0
  712. package/lib/esm/test/ElementLRUCache.test.js.map +1 -0
  713. package/lib/esm/test/GeometryTestUtil.d.ts +7 -0
  714. package/lib/esm/test/GeometryTestUtil.d.ts.map +1 -0
  715. package/lib/esm/test/GeometryTestUtil.js +25 -0
  716. package/lib/esm/test/GeometryTestUtil.js.map +1 -0
  717. package/lib/esm/test/IModelHost.test.d.ts +2 -0
  718. package/lib/esm/test/IModelHost.test.d.ts.map +1 -0
  719. package/lib/esm/test/IModelHost.test.js +187 -0
  720. package/lib/esm/test/IModelHost.test.js.map +1 -0
  721. package/lib/esm/test/IModelTestUtils.d.ts +177 -0
  722. package/lib/esm/test/IModelTestUtils.d.ts.map +1 -0
  723. package/lib/esm/test/IModelTestUtils.js +1146 -0
  724. package/lib/esm/test/IModelTestUtils.js.map +1 -0
  725. package/lib/esm/test/ImageSourceConversion.test.d.ts +2 -0
  726. package/lib/esm/test/ImageSourceConversion.test.d.ts.map +1 -0
  727. package/lib/esm/test/ImageSourceConversion.test.js +171 -0
  728. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -0
  729. package/lib/esm/test/IpcHost.test.d.ts +2 -0
  730. package/lib/esm/test/IpcHost.test.d.ts.map +1 -0
  731. package/lib/esm/test/IpcHost.test.js +55 -0
  732. package/lib/esm/test/IpcHost.test.js.map +1 -0
  733. package/lib/esm/test/KnownTestLocations.d.ts +7 -0
  734. package/lib/esm/test/KnownTestLocations.d.ts.map +1 -0
  735. package/lib/esm/test/KnownTestLocations.js +27 -0
  736. package/lib/esm/test/KnownTestLocations.js.map +1 -0
  737. package/lib/esm/test/PrintElementTree.d.ts +7 -0
  738. package/lib/esm/test/PrintElementTree.d.ts.map +1 -0
  739. package/lib/esm/test/PrintElementTree.js +36 -0
  740. package/lib/esm/test/PrintElementTree.js.map +1 -0
  741. package/lib/esm/test/PropertyDb.test.d.ts +2 -0
  742. package/lib/esm/test/PropertyDb.test.d.ts.map +1 -0
  743. package/lib/esm/test/PropertyDb.test.js +71 -0
  744. package/lib/esm/test/PropertyDb.test.js.map +1 -0
  745. package/lib/esm/test/RevisionUtility.d.ts +33 -0
  746. package/lib/esm/test/RevisionUtility.d.ts.map +1 -0
  747. package/lib/esm/test/RevisionUtility.js +52 -0
  748. package/lib/esm/test/RevisionUtility.js.map +1 -0
  749. package/lib/esm/test/SchemaUtils.test.d.ts +2 -0
  750. package/lib/esm/test/SchemaUtils.test.d.ts.map +1 -0
  751. package/lib/esm/test/SchemaUtils.test.js +99 -0
  752. package/lib/esm/test/SchemaUtils.test.js.map +1 -0
  753. package/lib/esm/test/SequentialLogMatcher.d.ts +35 -0
  754. package/lib/esm/test/SequentialLogMatcher.d.ts.map +1 -0
  755. package/lib/esm/test/SequentialLogMatcher.js +130 -0
  756. package/lib/esm/test/SequentialLogMatcher.js.map +1 -0
  757. package/lib/esm/test/TestChangeSetUtility.d.ts +23 -0
  758. package/lib/esm/test/TestChangeSetUtility.d.ts.map +1 -0
  759. package/lib/esm/test/TestChangeSetUtility.js +65 -0
  760. package/lib/esm/test/TestChangeSetUtility.js.map +1 -0
  761. package/lib/esm/test/TestUtils.d.ts +38 -0
  762. package/lib/esm/test/TestUtils.d.ts.map +1 -0
  763. package/lib/esm/test/TestUtils.js +99 -0
  764. package/lib/esm/test/TestUtils.js.map +1 -0
  765. package/lib/esm/test/annotations/TextAnnotation.test.d.ts +2 -0
  766. package/lib/esm/test/annotations/TextAnnotation.test.d.ts.map +1 -0
  767. package/lib/esm/test/annotations/TextAnnotation.test.js +1135 -0
  768. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -0
  769. package/lib/esm/test/categories/Category.test.d.ts +2 -0
  770. package/lib/esm/test/categories/Category.test.d.ts.map +1 -0
  771. package/lib/esm/test/categories/Category.test.js +51 -0
  772. package/lib/esm/test/categories/Category.test.js.map +1 -0
  773. package/lib/esm/test/codespec/CodeSpec.test.d.ts +2 -0
  774. package/lib/esm/test/codespec/CodeSpec.test.d.ts.map +1 -0
  775. package/lib/esm/test/codespec/CodeSpec.test.js +51 -0
  776. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -0
  777. package/lib/esm/test/ecdb/CTE.test.d.ts +2 -0
  778. package/lib/esm/test/ecdb/CTE.test.d.ts.map +1 -0
  779. package/lib/esm/test/ecdb/CTE.test.js +177 -0
  780. package/lib/esm/test/ecdb/CTE.test.js.map +1 -0
  781. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts +2 -0
  782. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts.map +1 -0
  783. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +167 -0
  784. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -0
  785. package/lib/esm/test/ecdb/ECDb.test.d.ts +2 -0
  786. package/lib/esm/test/ecdb/ECDb.test.d.ts.map +1 -0
  787. package/lib/esm/test/ecdb/ECDb.test.js +653 -0
  788. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -0
  789. package/lib/esm/test/ecdb/ECDbTestHelper.d.ts +5 -0
  790. package/lib/esm/test/ecdb/ECDbTestHelper.d.ts.map +1 -0
  791. package/lib/esm/test/ecdb/ECDbTestHelper.js +28 -0
  792. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -0
  793. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts +2 -0
  794. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts.map +1 -0
  795. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js +63 -0
  796. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -0
  797. package/lib/esm/test/ecdb/ECSqlAst.test.d.ts +5 -0
  798. package/lib/esm/test/ecdb/ECSqlAst.test.d.ts.map +1 -0
  799. package/lib/esm/test/ecdb/ECSqlAst.test.js +972 -0
  800. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -0
  801. package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts +2 -0
  802. package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts.map +1 -0
  803. package/lib/esm/test/ecdb/ECSqlQuery.test.js +753 -0
  804. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -0
  805. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts +2 -0
  806. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts.map +1 -0
  807. package/lib/esm/test/ecdb/ECSqlReader.test.js +669 -0
  808. package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -0
  809. package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts +2 -0
  810. package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts.map +1 -0
  811. package/lib/esm/test/ecdb/ECSqlStatement.test.js +3329 -0
  812. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -0
  813. package/lib/esm/test/ecdb/SqliteStatement.test.d.ts +2 -0
  814. package/lib/esm/test/ecdb/SqliteStatement.test.d.ts.map +1 -0
  815. package/lib/esm/test/ecdb/SqliteStatement.test.js +510 -0
  816. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -0
  817. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts +4 -0
  818. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts.map +1 -0
  819. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js +127 -0
  820. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -0
  821. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts +2 -0
  822. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts.map +1 -0
  823. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +197 -0
  824. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -0
  825. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts +66 -0
  826. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts.map +1 -0
  827. package/lib/esm/test/ecsql/src/ECSqlTestParser.js +420 -0
  828. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -0
  829. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts +2 -0
  830. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts.map +1 -0
  831. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js +369 -0
  832. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -0
  833. package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts +2 -0
  834. package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts.map +1 -0
  835. package/lib/esm/test/element/DeleteDefinitionElements.test.js +208 -0
  836. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -0
  837. package/lib/esm/test/element/ElementAspect.test.d.ts +2 -0
  838. package/lib/esm/test/element/ElementAspect.test.d.ts.map +1 -0
  839. package/lib/esm/test/element/ElementAspect.test.js +363 -0
  840. package/lib/esm/test/element/ElementAspect.test.js.map +1 -0
  841. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts +2 -0
  842. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts.map +1 -0
  843. package/lib/esm/test/element/ElementDependencyGraph.test.js +383 -0
  844. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -0
  845. package/lib/esm/test/element/ElementRoundTrip.test.d.ts +2 -0
  846. package/lib/esm/test/element/ElementRoundTrip.test.d.ts.map +1 -0
  847. package/lib/esm/test/element/ElementRoundTrip.test.js +926 -0
  848. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -0
  849. package/lib/esm/test/element/ExcludedElements.test.d.ts +2 -0
  850. package/lib/esm/test/element/ExcludedElements.test.d.ts.map +1 -0
  851. package/lib/esm/test/element/ExcludedElements.test.js +57 -0
  852. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -0
  853. package/lib/esm/test/element/ExternalSource.test.d.ts +2 -0
  854. package/lib/esm/test/element/ExternalSource.test.d.ts.map +1 -0
  855. package/lib/esm/test/element/ExternalSource.test.js +107 -0
  856. package/lib/esm/test/element/ExternalSource.test.js.map +1 -0
  857. package/lib/esm/test/element/NullStructArray.test.d.ts +2 -0
  858. package/lib/esm/test/element/NullStructArray.test.d.ts.map +1 -0
  859. package/lib/esm/test/element/NullStructArray.test.js +77 -0
  860. package/lib/esm/test/element/NullStructArray.test.js.map +1 -0
  861. package/lib/esm/test/element/UrlLink.test.d.ts +2 -0
  862. package/lib/esm/test/element/UrlLink.test.d.ts.map +1 -0
  863. package/lib/esm/test/element/UrlLink.test.js +36 -0
  864. package/lib/esm/test/element/UrlLink.test.js.map +1 -0
  865. package/lib/esm/test/font/FontFile.test.d.ts +2 -0
  866. package/lib/esm/test/font/FontFile.test.d.ts.map +1 -0
  867. package/lib/esm/test/font/FontFile.test.js +139 -0
  868. package/lib/esm/test/font/FontFile.test.js.map +1 -0
  869. package/lib/esm/test/font/IModelDbFonts.test.d.ts +2 -0
  870. package/lib/esm/test/font/IModelDbFonts.test.d.ts.map +1 -0
  871. package/lib/esm/test/font/IModelDbFonts.test.js +266 -0
  872. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -0
  873. package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts +2 -0
  874. package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts.map +1 -0
  875. package/lib/esm/test/hubaccess/BriefcaseManager.test.js +176 -0
  876. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -0
  877. package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts +2 -0
  878. package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts.map +1 -0
  879. package/lib/esm/test/hubaccess/CheckpointManager.test.js +52 -0
  880. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -0
  881. package/lib/esm/test/imageData.d.ts +9 -0
  882. package/lib/esm/test/imageData.d.ts.map +1 -0
  883. package/lib/esm/test/imageData.js +16 -0
  884. package/lib/esm/test/imageData.js.map +1 -0
  885. package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts +2 -0
  886. package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts.map +1 -0
  887. package/lib/esm/test/imodel/ElementTreeWalker.test.js +383 -0
  888. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -0
  889. package/lib/esm/test/imodel/GetTextureImage.test.d.ts +2 -0
  890. package/lib/esm/test/imodel/GetTextureImage.test.d.ts.map +1 -0
  891. package/lib/esm/test/imodel/GetTextureImage.test.js +29 -0
  892. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -0
  893. package/lib/esm/test/imodel/IModel.test.d.ts +2 -0
  894. package/lib/esm/test/imodel/IModel.test.d.ts.map +1 -0
  895. package/lib/esm/test/imodel/IModel.test.js +2626 -0
  896. package/lib/esm/test/imodel/IModel.test.js.map +1 -0
  897. package/lib/esm/test/imodel/ProjectExtents.test.d.ts +2 -0
  898. package/lib/esm/test/imodel/ProjectExtents.test.d.ts.map +1 -0
  899. package/lib/esm/test/imodel/ProjectExtents.test.js +66 -0
  900. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -0
  901. package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts +2 -0
  902. package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts.map +1 -0
  903. package/lib/esm/test/imodel/SchemaXmlImport.test.js +74 -0
  904. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -0
  905. package/lib/esm/test/index.d.ts +7 -0
  906. package/lib/esm/test/index.d.ts.map +1 -0
  907. package/lib/esm/test/index.js +11 -0
  908. package/lib/esm/test/index.js.map +1 -0
  909. package/lib/esm/test/misc/DevTools.test.d.ts +2 -0
  910. package/lib/esm/test/misc/DevTools.test.d.ts.map +1 -0
  911. package/lib/esm/test/misc/DevTools.test.js +72 -0
  912. package/lib/esm/test/misc/DevTools.test.js.map +1 -0
  913. package/lib/esm/test/misc/EntitySubClasses.test.d.ts +2 -0
  914. package/lib/esm/test/misc/EntitySubClasses.test.d.ts.map +1 -0
  915. package/lib/esm/test/misc/EntitySubClasses.test.js +106 -0
  916. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -0
  917. package/lib/esm/test/misc/GeoServices.test.d.ts +2 -0
  918. package/lib/esm/test/misc/GeoServices.test.d.ts.map +1 -0
  919. package/lib/esm/test/misc/GeoServices.test.js +850 -0
  920. package/lib/esm/test/misc/GeoServices.test.js.map +1 -0
  921. package/lib/esm/test/misc/PromiseMemoizer.test.d.ts +2 -0
  922. package/lib/esm/test/misc/PromiseMemoizer.test.d.ts.map +1 -0
  923. package/lib/esm/test/misc/PromiseMemoizer.test.js +111 -0
  924. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -0
  925. package/lib/esm/test/native/DgnDbWorker.test.d.ts +2 -0
  926. package/lib/esm/test/native/DgnDbWorker.test.d.ts.map +1 -0
  927. package/lib/esm/test/native/DgnDbWorker.test.js +159 -0
  928. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -0
  929. package/lib/esm/test/rpc/response.test.d.ts +2 -0
  930. package/lib/esm/test/rpc/response.test.d.ts.map +1 -0
  931. package/lib/esm/test/rpc/response.test.js +112 -0
  932. package/lib/esm/test/rpc/response.test.js.map +1 -0
  933. package/lib/esm/test/schema/ClassRegistry.test.d.ts +2 -0
  934. package/lib/esm/test/schema/ClassRegistry.test.d.ts.map +1 -0
  935. package/lib/esm/test/schema/ClassRegistry.test.js +679 -0
  936. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -0
  937. package/lib/esm/test/schema/FunctionalDomain.test.d.ts +2 -0
  938. package/lib/esm/test/schema/FunctionalDomain.test.d.ts.map +1 -0
  939. package/lib/esm/test/schema/FunctionalDomain.test.js +490 -0
  940. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -0
  941. package/lib/esm/test/schema/GenericDomain.test.d.ts +2 -0
  942. package/lib/esm/test/schema/GenericDomain.test.d.ts.map +1 -0
  943. package/lib/esm/test/schema/GenericDomain.test.js +133 -0
  944. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -0
  945. package/lib/esm/test/schema/IModelSchemaContext.test.d.ts +2 -0
  946. package/lib/esm/test/schema/IModelSchemaContext.test.d.ts.map +1 -0
  947. package/lib/esm/test/schema/IModelSchemaContext.test.js +95 -0
  948. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -0
  949. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts +4 -0
  950. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts.map +1 -0
  951. package/lib/esm/test/sheetindex/SheetIndex.test.js +312 -0
  952. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -0
  953. package/lib/esm/test/standalone/ChangeMerge.test.d.ts +2 -0
  954. package/lib/esm/test/standalone/ChangeMerge.test.d.ts.map +1 -0
  955. package/lib/esm/test/standalone/ChangeMerge.test.js +409 -0
  956. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -0
  957. package/lib/esm/test/standalone/ChangesetReader.test.d.ts +2 -0
  958. package/lib/esm/test/standalone/ChangesetReader.test.d.ts.map +1 -0
  959. package/lib/esm/test/standalone/ChangesetReader.test.js +891 -0
  960. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -0
  961. package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts +2 -0
  962. package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts.map +1 -0
  963. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js +49 -0
  964. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -0
  965. package/lib/esm/test/standalone/DisplayStyle.test.d.ts +2 -0
  966. package/lib/esm/test/standalone/DisplayStyle.test.d.ts.map +1 -0
  967. package/lib/esm/test/standalone/DisplayStyle.test.js +136 -0
  968. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -0
  969. package/lib/esm/test/standalone/Drawing.test.d.ts +2 -0
  970. package/lib/esm/test/standalone/Drawing.test.d.ts.map +1 -0
  971. package/lib/esm/test/standalone/Drawing.test.js +120 -0
  972. package/lib/esm/test/standalone/Drawing.test.js.map +1 -0
  973. package/lib/esm/test/standalone/ElementGraphics.test.d.ts +2 -0
  974. package/lib/esm/test/standalone/ElementGraphics.test.d.ts.map +1 -0
  975. package/lib/esm/test/standalone/ElementGraphics.test.js +127 -0
  976. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -0
  977. package/lib/esm/test/standalone/ElementMesh.test.d.ts +2 -0
  978. package/lib/esm/test/standalone/ElementMesh.test.d.ts.map +1 -0
  979. package/lib/esm/test/standalone/ElementMesh.test.js +142 -0
  980. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -0
  981. package/lib/esm/test/standalone/ExportGraphics.test.d.ts +2 -0
  982. package/lib/esm/test/standalone/ExportGraphics.test.d.ts.map +1 -0
  983. package/lib/esm/test/standalone/ExportGraphics.test.js +1005 -0
  984. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -0
  985. package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts +2 -0
  986. package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts.map +1 -0
  987. package/lib/esm/test/standalone/GeometryChangeEvents.test.js +139 -0
  988. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -0
  989. package/lib/esm/test/standalone/GeometryStream.test.d.ts +2 -0
  990. package/lib/esm/test/standalone/GeometryStream.test.d.ts.map +1 -0
  991. package/lib/esm/test/standalone/GeometryStream.test.js +2869 -0
  992. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -0
  993. package/lib/esm/test/standalone/HubMock.test.d.ts +2 -0
  994. package/lib/esm/test/standalone/HubMock.test.d.ts.map +1 -0
  995. package/lib/esm/test/standalone/HubMock.test.js +343 -0
  996. package/lib/esm/test/standalone/HubMock.test.js.map +1 -0
  997. package/lib/esm/test/standalone/IModelWrite.test.d.ts +7 -0
  998. package/lib/esm/test/standalone/IModelWrite.test.d.ts.map +1 -0
  999. package/lib/esm/test/standalone/IModelWrite.test.js +907 -0
  1000. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -0
  1001. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts +2 -0
  1002. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts.map +1 -0
  1003. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js +417 -0
  1004. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -0
  1005. package/lib/esm/test/standalone/MergeConflict.test.d.ts +7 -0
  1006. package/lib/esm/test/standalone/MergeConflict.test.d.ts.map +1 -0
  1007. package/lib/esm/test/standalone/MergeConflict.test.js +345 -0
  1008. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -0
  1009. package/lib/esm/test/standalone/NativeAppStorage.test.d.ts +2 -0
  1010. package/lib/esm/test/standalone/NativeAppStorage.test.d.ts.map +1 -0
  1011. package/lib/esm/test/standalone/NativeAppStorage.test.js +121 -0
  1012. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -0
  1013. package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts +2 -0
  1014. package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts.map +1 -0
  1015. package/lib/esm/test/standalone/RenderMaterialElement.test.js +399 -0
  1016. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -0
  1017. package/lib/esm/test/standalone/RenderTimeline.test.d.ts +2 -0
  1018. package/lib/esm/test/standalone/RenderTimeline.test.d.ts.map +1 -0
  1019. package/lib/esm/test/standalone/RenderTimeline.test.js +71 -0
  1020. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -0
  1021. package/lib/esm/test/standalone/SQLiteDb.test.d.ts +2 -0
  1022. package/lib/esm/test/standalone/SQLiteDb.test.d.ts.map +1 -0
  1023. package/lib/esm/test/standalone/SQLiteDb.test.js +63 -0
  1024. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -0
  1025. package/lib/esm/test/standalone/SchemaUtils.test.d.ts +2 -0
  1026. package/lib/esm/test/standalone/SchemaUtils.test.d.ts.map +1 -0
  1027. package/lib/esm/test/standalone/SchemaUtils.test.js +25 -0
  1028. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -0
  1029. package/lib/esm/test/standalone/SectionDrawing.test.d.ts +2 -0
  1030. package/lib/esm/test/standalone/SectionDrawing.test.d.ts.map +1 -0
  1031. package/lib/esm/test/standalone/SectionDrawing.test.js +83 -0
  1032. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -0
  1033. package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts +2 -0
  1034. package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts.map +1 -0
  1035. package/lib/esm/test/standalone/ServerBasedLocks.test.js +279 -0
  1036. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -0
  1037. package/lib/esm/test/standalone/Setting.test.d.ts +2 -0
  1038. package/lib/esm/test/standalone/Setting.test.d.ts.map +1 -0
  1039. package/lib/esm/test/standalone/Setting.test.js +76 -0
  1040. package/lib/esm/test/standalone/Setting.test.js.map +1 -0
  1041. package/lib/esm/test/standalone/Settings.test.d.ts +2 -0
  1042. package/lib/esm/test/standalone/Settings.test.d.ts.map +1 -0
  1043. package/lib/esm/test/standalone/Settings.test.js +349 -0
  1044. package/lib/esm/test/standalone/Settings.test.js.map +1 -0
  1045. package/lib/esm/test/standalone/SettingsSchemas.test.d.ts +2 -0
  1046. package/lib/esm/test/standalone/SettingsSchemas.test.d.ts.map +1 -0
  1047. package/lib/esm/test/standalone/SettingsSchemas.test.js +31 -0
  1048. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -0
  1049. package/lib/esm/test/standalone/SnapshotDb.test.d.ts +2 -0
  1050. package/lib/esm/test/standalone/SnapshotDb.test.d.ts.map +1 -0
  1051. package/lib/esm/test/standalone/SnapshotDb.test.js +156 -0
  1052. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -0
  1053. package/lib/esm/test/standalone/Texture.test.d.ts +2 -0
  1054. package/lib/esm/test/standalone/Texture.test.d.ts.map +1 -0
  1055. package/lib/esm/test/standalone/Texture.test.js +90 -0
  1056. package/lib/esm/test/standalone/Texture.test.js.map +1 -0
  1057. package/lib/esm/test/standalone/TileCache.test.d.ts +9 -0
  1058. package/lib/esm/test/standalone/TileCache.test.d.ts.map +1 -0
  1059. package/lib/esm/test/standalone/TileCache.test.js +127 -0
  1060. package/lib/esm/test/standalone/TileCache.test.js.map +1 -0
  1061. package/lib/esm/test/standalone/TileTree.test.d.ts +2 -0
  1062. package/lib/esm/test/standalone/TileTree.test.d.ts.map +1 -0
  1063. package/lib/esm/test/standalone/TileTree.test.js +241 -0
  1064. package/lib/esm/test/standalone/TileTree.test.js.map +1 -0
  1065. package/lib/esm/test/standalone/TxnManager.test.d.ts +2 -0
  1066. package/lib/esm/test/standalone/TxnManager.test.d.ts.map +1 -0
  1067. package/lib/esm/test/standalone/TxnManager.test.js +878 -0
  1068. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -0
  1069. package/lib/esm/test/standalone/ViewDefinition.test.d.ts +2 -0
  1070. package/lib/esm/test/standalone/ViewDefinition.test.d.ts.map +1 -0
  1071. package/lib/esm/test/standalone/ViewDefinition.test.js +279 -0
  1072. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -0
  1073. package/lib/esm/test/standalone/ViewStoreDb.test.d.ts +2 -0
  1074. package/lib/esm/test/standalone/ViewStoreDb.test.d.ts.map +1 -0
  1075. package/lib/esm/test/standalone/ViewStoreDb.test.js +288 -0
  1076. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -0
  1077. package/lib/esm/test/standalone/Workspace.test.d.ts +2 -0
  1078. package/lib/esm/test/standalone/Workspace.test.d.ts.map +1 -0
  1079. package/lib/esm/test/standalone/Workspace.test.js +162 -0
  1080. package/lib/esm/test/standalone/Workspace.test.js.map +1 -0
  1081. package/lib/esm/workspace/Settings.d.ts +216 -0
  1082. package/lib/esm/workspace/Settings.d.ts.map +1 -0
  1083. package/lib/esm/workspace/Settings.js +83 -0
  1084. package/lib/esm/workspace/Settings.js.map +1 -0
  1085. package/lib/esm/workspace/SettingsSchemas.d.ts +135 -0
  1086. package/lib/esm/workspace/SettingsSchemas.d.ts.map +1 -0
  1087. package/lib/esm/workspace/SettingsSchemas.js +9 -0
  1088. package/lib/esm/workspace/SettingsSchemas.js.map +1 -0
  1089. package/lib/esm/workspace/Workspace.d.ts +500 -0
  1090. package/lib/esm/workspace/Workspace.d.ts.map +1 -0
  1091. package/lib/esm/workspace/Workspace.js +97 -0
  1092. package/lib/esm/workspace/Workspace.js.map +1 -0
  1093. package/lib/esm/workspace/WorkspaceEditor.d.ts +240 -0
  1094. package/lib/esm/workspace/WorkspaceEditor.d.ts.map +1 -0
  1095. package/lib/esm/workspace/WorkspaceEditor.js +31 -0
  1096. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -0
  1097. package/package.json +37 -29
  1098. package/lib/cjs/HubMock.d.ts.map +0 -1
  1099. package/lib/cjs/HubMock.js.map +0 -1
  1100. package/lib/cjs/IModelCloneContext.d.ts +0 -9
  1101. package/lib/cjs/IModelCloneContext.d.ts.map +0 -1
  1102. package/lib/cjs/IModelCloneContext.js.map +0 -1
@@ -1,6 +1,7 @@
1
1
  /** @packageDocumentation
2
2
  * @module Schema
3
3
  */
4
+ import { SchemaKey } from "@itwin/ecschema-metadata";
4
5
  /** Base class for all schema classes - see [working with schemas and elements in TypeScript]($docs/learning/backend/SchemasAndElementsInTypeScript.md).
5
6
  * @public
6
7
  */
@@ -11,6 +12,10 @@ export declare class Schema {
11
12
  * be one JavaScript class for a given BIS schema (usually the errant schema will collide with its superclass.)
12
13
  */
13
14
  static get schemaName(): string;
15
+ /** Unique identifier for this schema, typed variant of [[schemaName]].
16
+ * @internal
17
+ */
18
+ static get schemaKey(): SchemaKey;
14
19
  /** if true, this Schema is a proxy for a missing Domain marked with the `BisCore.SchemaHasBehavior` customAttribute.
15
20
  * Classes generated for this Schema will disallow protected operations.
16
21
  * @internal
@@ -30,13 +35,32 @@ export declare class Schema {
30
35
  */
31
36
  protected constructor();
32
37
  }
38
+ /**
39
+ * Holds a map of registered schemas.
40
+ * @public
41
+ */
42
+ export declare class SchemaMap {
43
+ private readonly _schemas;
44
+ /** @internal */
45
+ get(schemaName: string): typeof Schema | undefined;
46
+ /** @internal */
47
+ set(schemaName: string, schema: typeof Schema): void;
48
+ /** @internal */
49
+ delete(schemaName: string): boolean;
50
+ /** Register a schema prior to using it.
51
+ * @throws [[IModelError]] if a schema of the same name is already registered.
52
+ * @public
53
+ */
54
+ registerSchema(schema: typeof Schema): void;
55
+ }
33
56
  /** Manages registered schemas
34
57
  * @public
35
58
  */
36
59
  export declare class Schemas {
37
- private static readonly _registeredSchemas;
60
+ private static readonly _globalSchemas;
38
61
  private constructor();
39
62
  /** Register a schema prior to using it.
63
+ * This method registers the schema globally, to register a schema within the scope of a single iModel, use `IModelDb.schemaMap`.
40
64
  * @throws [[IModelError]] if a schema of the same name is already registered.
41
65
  */
42
66
  static registerSchema(schema: typeof Schema): void;
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAIA;;GAEG;AAMH;;GAEG;AACH,qBAAa,MAAM;IACjB;;;;OAIG;IACH,WAAkB,UAAU,IAAI,MAAM,CAA4E;IAElH;;;OAGG;IACH,WAAkB,uBAAuB,IAAI,OAAO,CAAkB;IAEtE;;;;;;OAMG;WACW,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAQ3D;;;OAGG;IACH,SAAS;CACV;AAED;;GAEG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAoC;IAC9E,OAAO;IAEP;;OAEG;WACW,cAAc,CAAC,MAAM,EAAE,OAAO,MAAM;IAOlD;;;;OAIG;WACW,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAQ3D;;;OAGG;WACW,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,MAAM,GAAG,SAAS;CACjF"}
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH,OAAO,EAAa,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAEhE;;GAEG;AACH,qBAAa,MAAM;IACjB;;;;OAIG;IACH,WAAkB,UAAU,IAAI,MAAM,CAA4E;IAElH;;OAEG;IACH,WAAkB,SAAS,IAAI,SAAS,CAGvC;IAED;;;OAGG;IACH,WAAkB,uBAAuB,IAAI,OAAO,CAAkB;IAEtE;;;;;;OAMG;WACW,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAQ3D;;;OAGG;IACH,SAAS;CACV;AAED;;;GAGG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAE3D,gBAAgB;IACT,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,MAAM,GAAG,SAAS;IAIzD,gBAAgB;IACT,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,MAAM,GAAG,IAAI;IAI3D,gBAAgB;IACT,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI5C;;;OAGG;IACI,cAAc,CAAC,MAAM,EAAE,OAAO,MAAM;CAM5C;AAED;;GAEG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAmB;IACzD,OAAO;IAEP;;;OAGG;WACW,cAAc,CAAC,MAAM,EAAE,OAAO,MAAM;IAIlD;;;;OAIG;WACW,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAQ3D;;;OAGG;WACW,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,MAAM,GAAG,SAAS;CACjF"}
package/lib/cjs/Schema.js CHANGED
@@ -7,10 +7,11 @@
7
7
  * @module Schema
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.Schemas = exports.Schema = void 0;
10
+ exports.Schemas = exports.SchemaMap = exports.Schema = void 0;
11
11
  const core_bentley_1 = require("@itwin/core-bentley");
12
12
  const core_common_1 = require("@itwin/core-common");
13
13
  const ClassRegistry_1 = require("./ClassRegistry");
14
+ const ecschema_metadata_1 = require("@itwin/ecschema-metadata");
14
15
  /** Base class for all schema classes - see [working with schemas and elements in TypeScript]($docs/learning/backend/SchemasAndElementsInTypeScript.md).
15
16
  * @public
16
17
  */
@@ -21,6 +22,13 @@ class Schema {
21
22
  * be one JavaScript class for a given BIS schema (usually the errant schema will collide with its superclass.)
22
23
  */
23
24
  static get schemaName() { throw new Error(`you must override static schemaName in ${this.name}`); }
25
+ /** Unique identifier for this schema, typed variant of [[schemaName]].
26
+ * @internal
27
+ */
28
+ static get schemaKey() {
29
+ // We cannot cache this here because the schemaName may be overridden without this being overridden
30
+ return new ecschema_metadata_1.SchemaKey(this.schemaName, ecschema_metadata_1.ECVersion.NO_VERSION); // backend cares little for versions right now, as only one version can exist in an imodel
31
+ }
24
32
  /** if true, this Schema is a proxy for a missing Domain marked with the `BisCore.SchemaHasBehavior` customAttribute.
25
33
  * Classes generated for this Schema will disallow protected operations.
26
34
  * @internal
@@ -47,19 +55,48 @@ class Schema {
47
55
  constructor() { throw new Error(`cannot create an instance of a Schema ${this.constructor.name}`); }
48
56
  }
49
57
  exports.Schema = Schema;
58
+ /**
59
+ * Holds a map of registered schemas.
60
+ * @public
61
+ */
62
+ class SchemaMap {
63
+ _schemas = new Map();
64
+ /** @internal */
65
+ get(schemaName) {
66
+ return this._schemas.get(schemaName.toLowerCase());
67
+ }
68
+ /** @internal */
69
+ set(schemaName, schema) {
70
+ this._schemas.set(schemaName.toLowerCase(), schema);
71
+ }
72
+ /** @internal */
73
+ delete(schemaName) {
74
+ return this._schemas.delete(schemaName.toLowerCase());
75
+ }
76
+ /** Register a schema prior to using it.
77
+ * @throws [[IModelError]] if a schema of the same name is already registered.
78
+ * @public
79
+ */
80
+ registerSchema(schema) {
81
+ const key = schema.schemaName.toLowerCase();
82
+ if (this.get(key))
83
+ throw new core_common_1.IModelError(core_bentley_1.IModelStatus.DuplicateName, `Schema "${schema.schemaName}" is already registered`);
84
+ this.set(key, schema);
85
+ }
86
+ }
87
+ exports.SchemaMap = SchemaMap;
50
88
  /** Manages registered schemas
51
89
  * @public
52
90
  */
53
91
  class Schemas {
92
+ static _globalSchemas = new SchemaMap();
54
93
  constructor() { } // this is a singleton
55
94
  /** Register a schema prior to using it.
95
+ * This method registers the schema globally, to register a schema within the scope of a single iModel, use `IModelDb.schemaMap`.
56
96
  * @throws [[IModelError]] if a schema of the same name is already registered.
57
97
  */
58
98
  static registerSchema(schema) {
59
- const key = schema.schemaName.toLowerCase();
60
- if (this.getRegisteredSchema(key))
61
- throw new core_common_1.IModelError(core_bentley_1.IModelStatus.DuplicateName, `Schema "${schema.schemaName}" is already registered`);
62
- this._registeredSchemas.set(key, schema);
99
+ this._globalSchemas.registerSchema(schema);
63
100
  }
64
101
  /** Unregister a schema, by name, if one is already registered.
65
102
  * This function is not normally needed, but is useful for cases where a generated *proxy* schema needs to be replaced by the *real* schema.
@@ -70,14 +107,13 @@ class Schemas {
70
107
  const schema = this.getRegisteredSchema(schemaName);
71
108
  if (undefined !== schema)
72
109
  ClassRegistry_1.ClassRegistry.unregisterClassesFrom(schema);
73
- return this._registeredSchemas.delete(schemaName.toLowerCase());
110
+ return this._globalSchemas.delete(schemaName.toLowerCase());
74
111
  }
75
112
  /** Look up a previously registered schema
76
113
  * @param schemaName The name of the schema
77
114
  * @returns the previously registered schema or undefined if not registered.
78
115
  */
79
- static getRegisteredSchema(schemaName) { return this._registeredSchemas.get(schemaName.toLowerCase()); }
116
+ static getRegisteredSchema(schemaName) { return this._globalSchemas.get(schemaName.toLowerCase()); }
80
117
  }
81
118
  exports.Schemas = Schemas;
82
- Schemas._registeredSchemas = new Map();
83
119
  //# sourceMappingURL=Schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAAmD;AACnD,oDAAiD;AACjD,mDAAgD;AAEhD;;GAEG;AACH,MAAa,MAAM;IACjB;;;;OAIG;IACI,MAAM,KAAK,UAAU,KAAa,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAElH;;;OAGG;IACI,MAAM,KAAK,uBAAuB,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;IAEtE;;;;;;OAMG;IACI,MAAM,CAAC,cAAc,CAAC,aAAqB;QAChD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;QAC1C,IAAI,cAAc;YAChB,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,qCAAqC;QAC9D,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,gBAA0B,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;CAC/G;AAlCD,wBAkCC;AAED;;GAEG;AACH,MAAa,OAAO;IAElB,gBAAwB,CAAC,CAAC,sBAAsB;IAEhD;;OAEG;IACI,MAAM,CAAC,cAAc,CAAC,MAAqB;QAChD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC;YAC/B,MAAM,IAAI,yBAAW,CAAC,2BAAY,CAAC,aAAa,EAAE,WAAW,MAAM,CAAC,UAAU,yBAAyB,CAAC,CAAC;QAC3G,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,gBAAgB,CAAC,UAAkB;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,SAAS,KAAK,MAAM;YACtB,6BAAa,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAE9C,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,mBAAmB,CAAC,UAAkB,IAA+B,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;;AA/BpJ,0BAgCC;AA/ByB,0BAAkB,GAAG,IAAI,GAAG,EAAyB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Schema\r\n */\r\n\r\nimport { IModelStatus } from \"@itwin/core-bentley\";\r\nimport { IModelError } from \"@itwin/core-common\";\r\nimport { ClassRegistry } from \"./ClassRegistry\";\r\n\r\n/** Base class for all schema classes - see [working with schemas and elements in TypeScript]($docs/learning/backend/SchemasAndElementsInTypeScript.md).\r\n * @public\r\n */\r\nexport class Schema {\r\n /** The name of the BIS schema handled by this Schema.\r\n * @note Every subclass of Schema ** MUST ** override this method to identify its BIS schema.\r\n * Failure to do so will ordinarily result in an error when the schema is registered, since there may only\r\n * be one JavaScript class for a given BIS schema (usually the errant schema will collide with its superclass.)\r\n */\r\n public static get schemaName(): string { throw new Error(`you must override static schemaName in ${this.name}`); }\r\n\r\n /** if true, this Schema is a proxy for a missing Domain marked with the `BisCore.SchemaHasBehavior` customAttribute.\r\n * Classes generated for this Schema will disallow protected operations.\r\n * @internal\r\n */\r\n public static get missingRequiredBehavior(): boolean { return false; }\r\n\r\n /** Get a semver-compatible string from a padded version string.\r\n * works on unpadded version strings as well\r\n * if there is no write version, it will be added\r\n * @example Schema.toSemverString(\"1.02.03\") === \"1.2.3\"\r\n * @example Schema.toSemverString(\"1.01\") === \"1.0.1\" // write version was added\r\n * @beta\r\n */\r\n public static toSemverString(paddedVersion: string): string {\r\n const tuple = paddedVersion.split(\".\").map(Number);\r\n const noWriteVersion = tuple.length === 2;\r\n if (noWriteVersion)\r\n tuple.splice(1, 0, 0); // insert 0 before the second element\r\n return tuple.join(\".\");\r\n }\r\n\r\n /** Schemas may not be instantiated. The method is not private only because that precludes subclassing. It throws an\r\n * error if it is ever called.\r\n * @internal\r\n */\r\n protected constructor() { throw new Error(`cannot create an instance of a Schema ${this.constructor.name}`); }\r\n}\r\n\r\n/** Manages registered schemas\r\n * @public\r\n */\r\nexport class Schemas {\r\n private static readonly _registeredSchemas = new Map<string, typeof Schema>();\r\n private constructor() { } // this is a singleton\r\n\r\n /** Register a schema prior to using it.\r\n * @throws [[IModelError]] if a schema of the same name is already registered.\r\n */\r\n public static registerSchema(schema: typeof Schema) {\r\n const key = schema.schemaName.toLowerCase();\r\n if (this.getRegisteredSchema(key))\r\n throw new IModelError(IModelStatus.DuplicateName, `Schema \"${schema.schemaName}\" is already registered`);\r\n this._registeredSchemas.set(key, schema);\r\n }\r\n\r\n /** Unregister a schema, by name, if one is already registered.\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 schemaName Name of the schema to unregister\r\n * @return true if the schema was unregistered\r\n */\r\n public static unregisterSchema(schemaName: string): boolean {\r\n const schema = this.getRegisteredSchema(schemaName);\r\n if (undefined !== schema)\r\n ClassRegistry.unregisterClassesFrom(schema);\r\n\r\n return this._registeredSchemas.delete(schemaName.toLowerCase());\r\n }\r\n\r\n /** Look up a previously registered schema\r\n * @param schemaName The name of the schema\r\n * @returns the previously registered schema or undefined if not registered.\r\n */\r\n public static getRegisteredSchema(schemaName: string): typeof Schema | undefined { return this._registeredSchemas.get(schemaName.toLowerCase()); }\r\n}\r\n"]}
1
+ {"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Schema\n */\n\nimport { IModelStatus } from \"@itwin/core-bentley\";\nimport { IModelError } from \"@itwin/core-common\";\nimport { ClassRegistry } from \"./ClassRegistry\";\nimport { ECVersion, SchemaKey } from \"@itwin/ecschema-metadata\";\n\n/** Base class for all schema classes - see [working with schemas and elements in TypeScript]($docs/learning/backend/SchemasAndElementsInTypeScript.md).\n * @public\n */\nexport class Schema {\n /** The name of the BIS schema handled by this Schema.\n * @note Every subclass of Schema ** MUST ** override this method to identify its BIS schema.\n * Failure to do so will ordinarily result in an error when the schema is registered, since there may only\n * be one JavaScript class for a given BIS schema (usually the errant schema will collide with its superclass.)\n */\n public static get schemaName(): string { throw new Error(`you must override static schemaName in ${this.name}`); }\n\n /** Unique identifier for this schema, typed variant of [[schemaName]].\n * @internal\n */\n public static get schemaKey(): SchemaKey {\n // We cannot cache this here because the schemaName may be overridden without this being overridden\n return new SchemaKey(this.schemaName, ECVersion.NO_VERSION); // backend cares little for versions right now, as only one version can exist in an imodel\n }\n\n /** if true, this Schema is a proxy for a missing Domain marked with the `BisCore.SchemaHasBehavior` customAttribute.\n * Classes generated for this Schema will disallow protected operations.\n * @internal\n */\n public static get missingRequiredBehavior(): boolean { return false; }\n\n /** Get a semver-compatible string from a padded version string.\n * works on unpadded version strings as well\n * if there is no write version, it will be added\n * @example Schema.toSemverString(\"1.02.03\") === \"1.2.3\"\n * @example Schema.toSemverString(\"1.01\") === \"1.0.1\" // write version was added\n * @beta\n */\n public static toSemverString(paddedVersion: string): string {\n const tuple = paddedVersion.split(\".\").map(Number);\n const noWriteVersion = tuple.length === 2;\n if (noWriteVersion)\n tuple.splice(1, 0, 0); // insert 0 before the second element\n return tuple.join(\".\");\n }\n\n /** Schemas may not be instantiated. The method is not private only because that precludes subclassing. It throws an\n * error if it is ever called.\n * @internal\n */\n protected constructor() { throw new Error(`cannot create an instance of a Schema ${this.constructor.name}`); }\n}\n\n/**\n * Holds a map of registered schemas.\n * @public\n */\nexport class SchemaMap {\n private readonly _schemas = new Map<string, typeof Schema>();\n\n /** @internal */\n public get(schemaName: string): typeof Schema | undefined {\n return this._schemas.get(schemaName.toLowerCase());\n }\n\n /** @internal */\n public set(schemaName: string, schema: typeof Schema): void {\n this._schemas.set(schemaName.toLowerCase(), schema);\n }\n\n /** @internal */\n public delete(schemaName: string): boolean {\n return this._schemas.delete(schemaName.toLowerCase());\n }\n\n /** Register a schema prior to using it.\n * @throws [[IModelError]] if a schema of the same name is already registered.\n * @public\n */\n public registerSchema(schema: typeof Schema) {\n const key = schema.schemaName.toLowerCase();\n if (this.get(key))\n throw new IModelError(IModelStatus.DuplicateName, `Schema \"${schema.schemaName}\" is already registered`);\n this.set(key, schema);\n }\n}\n\n/** Manages registered schemas\n * @public\n */\nexport class Schemas {\n private static readonly _globalSchemas = new SchemaMap();\n private constructor() { } // this is a singleton\n\n /** Register a schema prior to using it.\n * This method registers the schema globally, to register a schema within the scope of a single iModel, use `IModelDb.schemaMap`.\n * @throws [[IModelError]] if a schema of the same name is already registered.\n */\n public static registerSchema(schema: typeof Schema) {\n this._globalSchemas.registerSchema(schema);\n }\n\n /** Unregister a schema, by name, if one is already registered.\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.\n * @param schemaName Name of the schema to unregister\n * @return true if the schema was unregistered\n */\n public static unregisterSchema(schemaName: string): boolean {\n const schema = this.getRegisteredSchema(schemaName);\n if (undefined !== schema)\n ClassRegistry.unregisterClassesFrom(schema);\n\n return this._globalSchemas.delete(schemaName.toLowerCase());\n }\n\n /** Look up a previously registered schema\n * @param schemaName The name of the schema\n * @returns the previously registered schema or undefined if not registered.\n */\n public static getRegisteredSchema(schemaName: string): typeof Schema | undefined { return this._globalSchemas.get(schemaName.toLowerCase()); }\n}\n"]}
@@ -21,10 +21,7 @@ var SchemaSync;
21
21
  const lockParams = { retryDelayMs: 1000, nRetries: 30 };
22
22
  /** A CloudSqlite database for synchronizing schema changes across briefcases. */
23
23
  class SchemaSyncDb extends SQLiteDb_1.VersionedSqliteDb {
24
- constructor() {
25
- super(...arguments);
26
- this.myVersion = "4.0.0";
27
- }
24
+ myVersion = "4.0.0";
28
25
  createDDL() { }
29
26
  }
30
27
  SchemaSync.SchemaSyncDb = SchemaSyncDb;
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaSync.js","sourceRoot":"","sources":["../../src/SchemaSync.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module SQLiteDb\r\n */\r\n\r\nimport { CloudSqlite } from \"./CloudSqlite\";\r\nimport { VersionedSqliteDb } from \"./SQLiteDb\";\r\nimport { BriefcaseDb, IModelDb } from \"./IModelDb\";\r\nimport { DbResult, OpenMode } from \"@itwin/core-bentley\";\r\nimport { IModelError, LocalFileName } from \"@itwin/core-common\";\r\nimport { IModelJsNative } from \"@bentley/imodeljs-native\";\r\nimport { IModelNative } from \"./internal/NativePlatform\";\r\nimport { _nativeDb } from \"./internal/Symbols\";\r\n\r\n/** @internal */\r\nexport namespace SchemaSync {\r\n const lockParams: CloudSqlite.ObtainLockParams = { retryDelayMs: 1000, nRetries: 30 };\r\n\r\n /** A CloudSqlite database for synchronizing schema changes across briefcases. */\r\n export class SchemaSyncDb extends VersionedSqliteDb {\r\n public override readonly myVersion = \"4.0.0\";\r\n protected override createDDL() { }\r\n }\r\n\r\n const syncProperty = { namespace: \"itwinjs\", name: \"SchemaSync\" };\r\n const defaultDbName = \"SchemaSyncDb\";\r\n const testSyncCachePropKey = \"test.schema_sync.cache_name\";\r\n // for tests only\r\n export const setTestCache = (iModel: IModelDb, cacheName?: string) => {\r\n if (cacheName)\r\n iModel[_nativeDb].saveLocalValue(testSyncCachePropKey, cacheName);\r\n else\r\n iModel[_nativeDb].deleteLocalValue(testSyncCachePropKey);\r\n };\r\n\r\n const getCloudAccess = async (arg: IModelDb | { readonly fileName: LocalFileName }) => {\r\n let nativeDb: IModelJsNative.DgnDb | undefined;\r\n const argIsIModelDb = arg instanceof IModelDb;\r\n if (argIsIModelDb) {\r\n nativeDb = arg[_nativeDb];\r\n } else {\r\n nativeDb = new IModelNative.platform.DgnDb();\r\n nativeDb.openIModel(arg.fileName, OpenMode.Readonly);\r\n }\r\n\r\n const propsString = nativeDb.queryFileProperty(syncProperty, true) as string | undefined;\r\n if (!propsString)\r\n throw new Error(\"iModel does not have a SchemaSyncDb\");\r\n try {\r\n const props = JSON.parse(propsString) as CloudSqlite.ContainerProps;\r\n const accessToken = await CloudSqlite.requestToken(props);\r\n const access = new CloudAccess({ ...props, accessToken });\r\n Object.assign(access.lockParams, lockParams);\r\n const testSyncCache = nativeDb.queryLocalValue(testSyncCachePropKey);\r\n if (testSyncCache)\r\n access.setCache(CloudSqlite.CloudCaches.getCache({ cacheName: testSyncCache }));\r\n return access;\r\n } finally {\r\n if (!argIsIModelDb) {\r\n nativeDb.closeFile();\r\n }\r\n }\r\n };\r\n\r\n export const withLockedAccess = async (iModel: IModelDb | { readonly fileName: LocalFileName }, args: { operationName: string, openMode?: OpenMode, user?: string }, operation: (access: CloudAccess) => Promise<void>): Promise<void> => {\r\n const access = await getCloudAccess(iModel);\r\n try {\r\n await access.withLockedDb(args, async () => operation(access));\r\n } finally {\r\n access.close();\r\n }\r\n };\r\n\r\n export const withReadonlyAccess = async (iModel: IModelDb | { readonly fileName: LocalFileName }, operation: (access: CloudAccess) => Promise<void>): Promise<void> => {\r\n const access = await getCloudAccess(iModel);\r\n access.synchronizeWithCloud();\r\n access.openForRead();\r\n try {\r\n await operation(access);\r\n } finally {\r\n access.close();\r\n }\r\n };\r\n\r\n export const isEnabled = (iModel: IModelDb) => {\r\n return iModel[_nativeDb].schemaSyncEnabled();\r\n };\r\n\r\n /** Synchronize local briefcase schemas with cloud container */\r\n export const pull = async (iModel: IModelDb) => {\r\n if (iModel[_nativeDb].schemaSyncEnabled() && !iModel.isReadonly) {\r\n await SchemaSync.withReadonlyAccess(iModel, async (syncAccess) => {\r\n const schemaSyncDbUri = syncAccess.getUri();\r\n iModel.clearCaches();\r\n iModel[_nativeDb].schemaSyncPull(schemaSyncDbUri);\r\n iModel.saveChanges(\"schema synchronized with cloud container\");\r\n });\r\n }\r\n };\r\n\r\n export const initializeForIModel = async (arg: { iModel: IModelDb, containerProps: CloudSqlite.ContainerProps, overrideContainer?: boolean }) => {\r\n const props = { baseUri: arg.containerProps.baseUri, containerId: arg.containerProps.containerId, storageType: arg.containerProps.storageType }; // sanitize to only known properties\r\n const iModel = arg.iModel;\r\n const briefcase = iModel instanceof BriefcaseDb ? iModel : undefined;\r\n await iModel.acquireSchemaLock();\r\n if (briefcase) {\r\n if (briefcase.txns.hasLocalChanges) {\r\n throw new IModelError(DbResult.BE_SQLITE_ERROR, \"Enabling SchemaSync for iModel failed. There are unsaved or un-pushed local changes.\");\r\n }\r\n await briefcase.pullChanges();\r\n }\r\n try {\r\n iModel.saveFileProperty(syncProperty, JSON.stringify(props));\r\n await withLockedAccess(arg.iModel, { operationName: \"initialize schemaSync\", openMode: OpenMode.Readonly }, async (syncAccess) => {\r\n iModel[_nativeDb].schemaSyncInit(syncAccess.getUri(), props.containerId, arg.overrideContainer ?? false);\r\n iModel.saveChanges(`Enable SchemaSync (container id: ${props.containerId})`);\r\n });\r\n } catch (err) {\r\n throw err;\r\n } finally {\r\n iModel.abandonChanges();\r\n }\r\n\r\n if (briefcase) {\r\n if (arg.overrideContainer)\r\n await briefcase.pushChanges({ description: `Overriding SchemaSync for iModel with container-id: ${props.containerId}` });\r\n else\r\n await briefcase.pushChanges({ description: `Enable SchemaSync for iModel with container-id: ${props.containerId}` });\r\n }\r\n };\r\n\r\n /** Provides access to a cloud-based `SchemaSyncDb` to hold ECSchemas. */\r\n export class CloudAccess extends CloudSqlite.DbAccess<SchemaSyncDb> {\r\n public constructor(props: CloudSqlite.ContainerAccessProps) {\r\n super({ dbType: SchemaSyncDb, props, dbName: defaultDbName });\r\n }\r\n\r\n public getUri() {\r\n return `${this.getCloudDb()[_nativeDb].getFilePath()}?vfs=${this.container.cache?.name}&writable=${this.container.isWriteable ? 1 : 0}`;\r\n }\r\n /**\r\n * Initialize a cloud container for use as a SchemaSync. The container must first be created via its storage supplier api (e.g. Azure, or AWS).\r\n * A valid sasToken that grants write access must be supplied. This function creates and uploads an empty ChannelDb into the container.\r\n * @note this deletes any existing content in the container.\r\n */\r\n public static async initializeDb(props: CloudSqlite.ContainerProps) {\r\n return super._initializeDb({ props, dbType: SchemaSyncDb, dbName: defaultDbName });\r\n }\r\n }\r\n}\r\n\r\n"]}
1
+ {"version":3,"file":"SchemaSync.js","sourceRoot":"","sources":["../../src/SchemaSync.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module SQLiteDb\n */\n\nimport { CloudSqlite } from \"./CloudSqlite\";\nimport { VersionedSqliteDb } from \"./SQLiteDb\";\nimport { BriefcaseDb, IModelDb } from \"./IModelDb\";\nimport { DbResult, OpenMode } from \"@itwin/core-bentley\";\nimport { IModelError, LocalFileName } from \"@itwin/core-common\";\nimport { IModelJsNative } from \"@bentley/imodeljs-native\";\nimport { IModelNative } from \"./internal/NativePlatform\";\nimport { _nativeDb } from \"./internal/Symbols\";\n\n/** @internal */\nexport namespace SchemaSync {\n const lockParams: CloudSqlite.ObtainLockParams = { retryDelayMs: 1000, nRetries: 30 };\n\n /** A CloudSqlite database for synchronizing schema changes across briefcases. */\n export class SchemaSyncDb extends VersionedSqliteDb {\n public override readonly myVersion = \"4.0.0\";\n protected override createDDL() { }\n }\n\n const syncProperty = { namespace: \"itwinjs\", name: \"SchemaSync\" };\n const defaultDbName = \"SchemaSyncDb\";\n const testSyncCachePropKey = \"test.schema_sync.cache_name\";\n // for tests only\n export const setTestCache = (iModel: IModelDb, cacheName?: string) => {\n if (cacheName)\n iModel[_nativeDb].saveLocalValue(testSyncCachePropKey, cacheName);\n else\n iModel[_nativeDb].deleteLocalValue(testSyncCachePropKey);\n };\n\n const getCloudAccess = async (arg: IModelDb | { readonly fileName: LocalFileName }) => {\n let nativeDb: IModelJsNative.DgnDb | undefined;\n const argIsIModelDb = arg instanceof IModelDb;\n if (argIsIModelDb) {\n nativeDb = arg[_nativeDb];\n } else {\n nativeDb = new IModelNative.platform.DgnDb();\n nativeDb.openIModel(arg.fileName, OpenMode.Readonly);\n }\n\n const propsString = nativeDb.queryFileProperty(syncProperty, true) as string | undefined;\n if (!propsString)\n throw new Error(\"iModel does not have a SchemaSyncDb\");\n try {\n const props = JSON.parse(propsString) as CloudSqlite.ContainerProps;\n const accessToken = await CloudSqlite.requestToken(props);\n const access = new CloudAccess({ ...props, accessToken });\n Object.assign(access.lockParams, lockParams);\n const testSyncCache = nativeDb.queryLocalValue(testSyncCachePropKey);\n if (testSyncCache)\n access.setCache(CloudSqlite.CloudCaches.getCache({ cacheName: testSyncCache }));\n return access;\n } finally {\n if (!argIsIModelDb) {\n nativeDb.closeFile();\n }\n }\n };\n\n export const withLockedAccess = async (iModel: IModelDb | { readonly fileName: LocalFileName }, args: { operationName: string, openMode?: OpenMode, user?: string }, operation: (access: CloudAccess) => Promise<void>): Promise<void> => {\n const access = await getCloudAccess(iModel);\n try {\n await access.withLockedDb(args, async () => operation(access));\n } finally {\n access.close();\n }\n };\n\n export const withReadonlyAccess = async (iModel: IModelDb | { readonly fileName: LocalFileName }, operation: (access: CloudAccess) => Promise<void>): Promise<void> => {\n const access = await getCloudAccess(iModel);\n access.synchronizeWithCloud();\n access.openForRead();\n try {\n await operation(access);\n } finally {\n access.close();\n }\n };\n\n export const isEnabled = (iModel: IModelDb) => {\n return iModel[_nativeDb].schemaSyncEnabled();\n };\n\n /** Synchronize local briefcase schemas with cloud container */\n export const pull = async (iModel: IModelDb) => {\n if (iModel[_nativeDb].schemaSyncEnabled() && !iModel.isReadonly) {\n await SchemaSync.withReadonlyAccess(iModel, async (syncAccess) => {\n const schemaSyncDbUri = syncAccess.getUri();\n iModel.clearCaches();\n iModel[_nativeDb].schemaSyncPull(schemaSyncDbUri);\n iModel.saveChanges(\"schema synchronized with cloud container\");\n });\n }\n };\n\n export const initializeForIModel = async (arg: { iModel: IModelDb, containerProps: CloudSqlite.ContainerProps, overrideContainer?: boolean }) => {\n const props = { baseUri: arg.containerProps.baseUri, containerId: arg.containerProps.containerId, storageType: arg.containerProps.storageType }; // sanitize to only known properties\n const iModel = arg.iModel;\n const briefcase = iModel instanceof BriefcaseDb ? iModel : undefined;\n await iModel.acquireSchemaLock();\n if (briefcase) {\n if (briefcase.txns.hasLocalChanges) {\n throw new IModelError(DbResult.BE_SQLITE_ERROR, \"Enabling SchemaSync for iModel failed. There are unsaved or un-pushed local changes.\");\n }\n await briefcase.pullChanges();\n }\n try {\n iModel.saveFileProperty(syncProperty, JSON.stringify(props));\n await withLockedAccess(arg.iModel, { operationName: \"initialize schemaSync\", openMode: OpenMode.Readonly }, async (syncAccess) => {\n iModel[_nativeDb].schemaSyncInit(syncAccess.getUri(), props.containerId, arg.overrideContainer ?? false);\n iModel.saveChanges(`Enable SchemaSync (container id: ${props.containerId})`);\n });\n } catch (err) {\n throw err;\n } finally {\n iModel.abandonChanges();\n }\n\n if (briefcase) {\n if (arg.overrideContainer)\n await briefcase.pushChanges({ description: `Overriding SchemaSync for iModel with container-id: ${props.containerId}` });\n else\n await briefcase.pushChanges({ description: `Enable SchemaSync for iModel with container-id: ${props.containerId}` });\n }\n };\n\n /** Provides access to a cloud-based `SchemaSyncDb` to hold ECSchemas. */\n export class CloudAccess extends CloudSqlite.DbAccess<SchemaSyncDb> {\n public constructor(props: CloudSqlite.ContainerAccessProps) {\n super({ dbType: SchemaSyncDb, props, dbName: defaultDbName });\n }\n\n public getUri() {\n return `${this.getCloudDb()[_nativeDb].getFilePath()}?vfs=${this.container.cache?.name}&writable=${this.container.isWriteable ? 1 : 0}`;\n }\n /**\n * Initialize a cloud container for use as a SchemaSync. The container must first be created via its storage supplier api (e.g. Azure, or AWS).\n * A valid sasToken that grants write access must be supplied. This function creates and uploads an empty ChannelDb into the container.\n * @note this deletes any existing content in the container.\n */\n public static async initializeDb(props: CloudSqlite.ContainerProps) {\n return super._initializeDb({ props, dbType: SchemaSyncDb, dbName: defaultDbName });\n }\n }\n}\n\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaUtils.js","sourceRoot":"","sources":["../../src/SchemaUtils.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;AAaH,sEAOC;AAQD,oEAOC;AAjCD,sDAAoD;AACpD,oDAAiD;AAEjD,8DAAyD;AAEzD;;;;;GAKG;AACH,SAAgB,6BAA6B,CAAC,aAAuB,EAAE,aAAkC;IACvG,MAAM,kBAAkB,GAAG,aAAa,EAAE,aAAa,CAAC;IACxD,MAAM,aAAa,GAAa,6BAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;IAC5H,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAC5B,MAAM,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,kCAAkC,CAAC,CAAC;IAEjF,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,4BAA4B,CAAC,UAAoB,EAAE,aAAkC;IACnG,MAAM,kBAAkB,GAAG,aAAa,EAAE,aAAa,CAAC;IACxD,MAAM,sBAAsB,GAAa,6BAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,uBAAuB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IACrI,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC;QACrC,MAAM,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,mDAAmD,CAAC,CAAC;IAElG,OAAO,sBAAsB,CAAC;AAChC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Schema\r\n */\r\n\r\nimport { BentleyStatus } from \"@itwin/core-bentley\";\r\nimport { IModelError } from \"@itwin/core-common\";\r\nimport { ECSchemaXmlContext } from \"./ECSchemaXmlContext\";\r\nimport { IModelNative } from \"./internal/NativePlatform\";\r\n\r\n/** Converts EC2 Xml ECSchema(s). On success, the `EC2 Xml schemas` are converted into `EC3.2 Xml schemas`.\r\n * @param ec2XmlSchemas The EC2 Xml string(s) created from a serialized ECSchema.\r\n * @returns EC3.2 Xml ECSchema(s).\r\n * @throws [[IModelError]] if there is a problem converting the EC2 schemas.\r\n * @beta\r\n */\r\nexport function convertEC2SchemasToEC3Schemas(ec2XmlSchemas: string[], schemaContext?: ECSchemaXmlContext): string[] {\r\n const maybeNativeContext = schemaContext?.nativeContext;\r\n const ec3XmlSchemas: string[] = IModelNative.platform.SchemaUtility.convertEC2XmlSchemas(ec2XmlSchemas, maybeNativeContext);\r\n if (ec2XmlSchemas.length === 0)\r\n throw new IModelError(BentleyStatus.ERROR, \"Error converting EC2 Xml schemas\");\r\n\r\n return ec3XmlSchemas;\r\n}\r\n\r\n/** Converts schema metadata to EC3 concepts by traversing custom attributes of the supplied schema and calling converters based on schemaName:customAttributeName\r\n * @param xmlSchemas The ECSchema Xml string(s).\r\n * @returns EC3.2 Xml ECSchema(s) with converted custom attributes.\r\n * @throws [[IModelError]] if there is a problem converting the custom attributes of a schema.\r\n * @beta\r\n */\r\nexport function upgradeCustomAttributesToEC3(xmlSchemas: string[], schemaContext?: ECSchemaXmlContext): string[] {\r\n const maybeNativeContext = schemaContext?.nativeContext;\r\n const schemasWithConvertedCA: string[] = IModelNative.platform.SchemaUtility.convertCustomAttributes(xmlSchemas, maybeNativeContext);\r\n if (schemasWithConvertedCA.length === 0)\r\n throw new IModelError(BentleyStatus.ERROR, \"Error converting custom attributes of Xml schemas\");\r\n\r\n return schemasWithConvertedCA;\r\n}\r\n"]}
1
+ {"version":3,"file":"SchemaUtils.js","sourceRoot":"","sources":["../../src/SchemaUtils.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;AAaH,sEAOC;AAQD,oEAOC;AAjCD,sDAAoD;AACpD,oDAAiD;AAEjD,8DAAyD;AAEzD;;;;;GAKG;AACH,SAAgB,6BAA6B,CAAC,aAAuB,EAAE,aAAkC;IACvG,MAAM,kBAAkB,GAAG,aAAa,EAAE,aAAa,CAAC;IACxD,MAAM,aAAa,GAAa,6BAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;IAC5H,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAC5B,MAAM,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,kCAAkC,CAAC,CAAC;IAEjF,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,4BAA4B,CAAC,UAAoB,EAAE,aAAkC;IACnG,MAAM,kBAAkB,GAAG,aAAa,EAAE,aAAa,CAAC;IACxD,MAAM,sBAAsB,GAAa,6BAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,uBAAuB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IACrI,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC;QACrC,MAAM,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,mDAAmD,CAAC,CAAC;IAElG,OAAO,sBAAsB,CAAC;AAChC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Schema\n */\n\nimport { BentleyStatus } from \"@itwin/core-bentley\";\nimport { IModelError } from \"@itwin/core-common\";\nimport { ECSchemaXmlContext } from \"./ECSchemaXmlContext\";\nimport { IModelNative } from \"./internal/NativePlatform\";\n\n/** Converts EC2 Xml ECSchema(s). On success, the `EC2 Xml schemas` are converted into `EC3.2 Xml schemas`.\n * @param ec2XmlSchemas The EC2 Xml string(s) created from a serialized ECSchema.\n * @returns EC3.2 Xml ECSchema(s).\n * @throws [[IModelError]] if there is a problem converting the EC2 schemas.\n * @beta\n */\nexport function convertEC2SchemasToEC3Schemas(ec2XmlSchemas: string[], schemaContext?: ECSchemaXmlContext): string[] {\n const maybeNativeContext = schemaContext?.nativeContext;\n const ec3XmlSchemas: string[] = IModelNative.platform.SchemaUtility.convertEC2XmlSchemas(ec2XmlSchemas, maybeNativeContext);\n if (ec2XmlSchemas.length === 0)\n throw new IModelError(BentleyStatus.ERROR, \"Error converting EC2 Xml schemas\");\n\n return ec3XmlSchemas;\n}\n\n/** Converts schema metadata to EC3 concepts by traversing custom attributes of the supplied schema and calling converters based on schemaName:customAttributeName\n * @param xmlSchemas The ECSchema Xml string(s).\n * @returns EC3.2 Xml ECSchema(s) with converted custom attributes.\n * @throws [[IModelError]] if there is a problem converting the custom attributes of a schema.\n * @beta\n */\nexport function upgradeCustomAttributesToEC3(xmlSchemas: string[], schemaContext?: ECSchemaXmlContext): string[] {\n const maybeNativeContext = schemaContext?.nativeContext;\n const schemasWithConvertedCA: string[] = IModelNative.platform.SchemaUtility.convertCustomAttributes(xmlSchemas, maybeNativeContext);\n if (schemasWithConvertedCA.length === 0)\n throw new IModelError(BentleyStatus.ERROR, \"Error converting custom attributes of Xml schemas\");\n\n return schemasWithConvertedCA;\n}\n"]}
@@ -63,6 +63,8 @@ exports.SheetIndex = SheetIndex;
63
63
  */
64
64
  class SheetIndexEntry extends Element_1.InformationReferenceElement {
65
65
  static get className() { return "SheetIndexEntry"; }
66
+ /** Can be used to prioritize or order members within a SheetIndex or SheetIndexFolder. */
67
+ entryPriority;
66
68
  constructor(props, iModel) {
67
69
  super(props, iModel);
68
70
  this.entryPriority = props.entryPriority;
@@ -128,6 +130,8 @@ exports.SheetIndexFolder = SheetIndexFolder;
128
130
  */
129
131
  class SheetIndexReference extends SheetIndexEntry {
130
132
  static get className() { return "SheetIndexReference"; }
133
+ /** The bis:SheetIndex that this bis:SheetIndexReference is pointing to. */
134
+ sheetIndex;
131
135
  constructor(props, iModel) {
132
136
  super(props, iModel);
133
137
  if (props.sheetIndex) {
@@ -180,6 +184,8 @@ exports.SheetIndexReference = SheetIndexReference;
180
184
  */
181
185
  class SheetReference extends SheetIndexEntry {
182
186
  static get className() { return "SheetReference"; }
187
+ /** The bis:Sheet that this bis:SheetReference is pointing to. */
188
+ sheet;
183
189
  constructor(props, iModel) {
184
190
  super(props, iModel);
185
191
  if (props.sheet) {
@@ -1 +1 @@
1
- {"version":3,"file":"SheetIndex.js","sourceRoot":"","sources":["../../src/SheetIndex.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 Elements\r\n */\r\n\r\nimport { BisCodeSpec, Code, CodeScopeProps, CodeSpec, ElementProps, EntityReferenceSet, IModelError, RelatedElementProps, SheetIndexEntryProps, SheetIndexFolderProps, SheetIndexReferenceProps, SheetReferenceProps } from \"@itwin/core-common\";\r\nimport { InformationReferenceElement, Sheet } from \"./Element\";\r\nimport { IModelDb } from \"./IModelDb\";\r\nimport { Id64String, IModelStatus } from \"@itwin/core-bentley\";\r\nimport { SheetIndexFolderOwnsEntries, SheetIndexOwnsEntries, SheetIndexReferenceRefersToSheetIndex, SheetReferenceRefersToSheet } from \"./NavigationRelationship\";\r\n\r\n/** Arguments used to create a [[SheetIndexEntry]].\r\n * @beta\r\n */\r\nexport interface SheetIndexEntryCreateArgs {\r\n /** The iModel that will contain the sheet index entry. */\r\n iModelDb: IModelDb;\r\n /** The Id of the [[SheetIndexModel]] that will contain the sheet index entry. */\r\n sheetIndexModelId: Id64String;\r\n /** The [[SheetIndex]] or [[SheetIndexFolder]] that is parent to this SheetIndexEntry */\r\n parentId: Id64String;\r\n /** The name of the SheetIndexEntry */\r\n name: string;\r\n /** The priority of the SheetIndexEntry */\r\n priority: number;\r\n}\r\n\r\n/** Arguments supplied when creating a [[SheetIndexReference]].\r\n * @beta\r\n */\r\nexport interface SheetIndexReferenceCreateArgs extends SheetIndexEntryCreateArgs {\r\n /** The [[SheetIndex]] to which the reference refers. */\r\n sheetIndexId?: Id64String;\r\n}\r\n\r\n/** Arguments supplied when creating a [[SheetReference]].\r\n * @beta\r\n */\r\nexport interface SheetReferenceCreateArgs extends SheetIndexEntryCreateArgs {\r\n /** The [[Sheet]] to which the reference refers. */\r\n sheetId?: Id64String;\r\n}\r\n\r\n/** A [structured collection]($docs/bis/domains/drawings-sheets#sheet-index) of [[SheetIndexEntry]]s.\r\n * The sheet index is a tree whose leaf nodes refer to [[Sheet]]s, optionally grouped by [[SheetIndexFolder]]s and/or incorporating\r\n * sub-trees via [[SheetIndexReference]]s.\r\n * @beta\r\n */\r\nexport class SheetIndex extends InformationReferenceElement {\r\n public static override get className(): string { return \"SheetIndex\"; }\r\n\r\n /** Create a Code for a SheetIndex given a name that is meant to be unique within the scope of the specified SheetIndexModel.\r\n * @param iModel The IModelDb\r\n * @param scopeSheetIndexModelId The Id of the Model that contains the LinkElement and provides the scope for its name.\r\n * @param codeValue The SheetIndex name\r\n */\r\n public static createCode(iModel: IModelDb, scopeSheetIndexModelId: CodeScopeProps, codeValue: string): Code {\r\n const codeSpec: CodeSpec = iModel.codeSpecs.getByName(BisCodeSpec.sheetIndex);\r\n return new Code({ spec: codeSpec.id, scope: scopeSheetIndexModelId, value: codeValue });\r\n }\r\n\r\n /** Create a SheetIndex\r\n * @param iModelDb The IModelDb\r\n * @param modelId The Id of the Model that contains the SheetIndex and provides the scope for its name.\r\n * @param name The name (codeValue) of the SheetIndex\r\n * @returns The newly constructed SheetIndex\r\n * @throws [[IModelError]] if there is a problem creating the SheetIndex\r\n */\r\n public static create(iModelDb: IModelDb, modelId: Id64String, name: string): SheetIndex {\r\n const props: ElementProps = {\r\n classFullName: this.classFullName,\r\n code: this.createCode(iModelDb, modelId, name).toJSON(),\r\n model: modelId,\r\n };\r\n return new this(props, iModelDb);\r\n }\r\n\r\n /** Insert a SheetIndex\r\n * @param iModelDb The IModelDb\r\n * @param modelId The Id of the Model that contains the SheetIndex and provides the scope for its name.\r\n * @param name The name (codeValue) of the SheetIndex\r\n * @returns The Id of the newly inserted SheetIndex\r\n * @throws [[IModelError]] if there is a problem inserting the SheetIndex\r\n */\r\n public static insert(iModelDb: IModelDb, modelId: Id64String, name: string): Id64String {\r\n const instance = this.create(iModelDb, modelId, name);\r\n const elements = iModelDb.elements;\r\n instance.id = elements.insertElement(instance.toJSON());\r\n return instance.id;\r\n }\r\n}\r\n\r\n/** The base class for all elements that can participate in a [[SheetIndex]] hierarchy.\r\n * @beta\r\n*/\r\nexport abstract class SheetIndexEntry extends InformationReferenceElement {\r\n public static override get className(): string { return \"SheetIndexEntry\"; }\r\n /** Can be used to prioritize or order members within a SheetIndex or SheetIndexFolder. */\r\n public entryPriority: number;\r\n\r\n protected constructor(props: SheetIndexEntryProps, iModel: IModelDb) {\r\n super(props, iModel);\r\n this.entryPriority = props.entryPriority;\r\n }\r\n\r\n public override toJSON(): SheetIndexEntryProps {\r\n return { ...super.toJSON(), entryPriority: this.entryPriority };\r\n }\r\n\r\n /** Create a Code for a Sheet Index Entry given a name that is meant to be unique within the scope of the specified SheetIndexModel.\r\n * @param iModel The IModel\r\n * @param scopeModelId The Id of the [[SheetIndexModel]] that contains the [[SheetIndexEntry]] and provides the scope for its name.\r\n * @param codeValue The name of the entry\r\n */\r\n public static createCode(iModelDb: IModelDb, scopeModelId: CodeScopeProps, codeValue: string): Code {\r\n const codeSpec: CodeSpec = iModelDb.codeSpecs.getByName(BisCodeSpec.sheetIndexEntry);\r\n return new Code({ spec: codeSpec.id, scope: scopeModelId, value: codeValue });\r\n }\r\n\r\n protected static createParentRelationshipProps(iModelDb: IModelDb, id: Id64String): RelatedElementProps {\r\n const parentElementProps = iModelDb.elements.getElementProps(id);\r\n const isFolder = parentElementProps.classFullName === SheetIndexFolder.classFullName;\r\n const relClass = isFolder ? SheetIndexFolderOwnsEntries : SheetIndexOwnsEntries;\r\n return { id, relClassName: relClass.classFullName };\r\n }\r\n\r\n protected static createProps(arg: SheetIndexEntryCreateArgs) {\r\n const parent = this.createParentRelationshipProps(arg.iModelDb, arg.parentId);\r\n const props: SheetIndexEntryProps = {\r\n classFullName: this.classFullName,\r\n model: arg.sheetIndexModelId,\r\n code: this.createCode(arg.iModelDb, arg.sheetIndexModelId, arg.name),\r\n entryPriority: arg.priority,\r\n parent,\r\n };\r\n return props;\r\n }\r\n}\r\n\r\n/** A container used to group [[SheetIndexEntry]]s within a [[SheetIndex]].\r\n * @beta\r\n */\r\nexport class SheetIndexFolder extends SheetIndexEntry {\r\n public static override get className(): string { return \"SheetIndexFolder\"; }\r\n\r\n /** Create a new SheetIndexFolder\r\n * @returns The newly constructed SheetIndexFolder element.\r\n * @throws [[IModelError]] if unable to create the element.\r\n */\r\n public static create(arg: SheetIndexEntryCreateArgs) {\r\n const props: SheetIndexFolderProps = this.createProps(arg);\r\n return new this(props, arg.iModelDb);\r\n }\r\n\r\n /** Create a new SheetIndexFolder\r\n * @returns The Id of the newly inserted SheetIndexFolder element.\r\n * @throws [[IModelError]] if unable to create the element.\r\n */\r\n public static insert(arg: SheetIndexEntryCreateArgs): Id64String {\r\n const instance = this.create(arg);\r\n const elements = arg.iModelDb.elements;\r\n instance.id = elements.insertElement(instance.toJSON());\r\n return instance.id;\r\n }\r\n}\r\n\r\n/** A node within one [[SheetIndex]] that incorporates another [[SheetIndex]] as a sub-tree.\r\n * @beta\r\n*/\r\nexport class SheetIndexReference extends SheetIndexEntry {\r\n public static override get className(): string { return \"SheetIndexReference\"; }\r\n\r\n /** The bis:SheetIndex that this bis:SheetIndexReference is pointing to. */\r\n public sheetIndex?: SheetIndexReferenceRefersToSheetIndex;\r\n\r\n protected constructor(props: SheetIndexReferenceProps, iModel: IModelDb) {\r\n super(props, iModel);\r\n if (props.sheetIndex) {\r\n const sheetIndex = iModel.elements.tryGetElement<SheetIndex>(props.sheetIndex.id);\r\n if (!sheetIndex)\r\n throw new IModelError(IModelStatus.NotFound, \"SheetIndex not found\");\r\n\r\n this.sheetIndex = new SheetIndexReferenceRefersToSheetIndex(props.sheetIndex.id);\r\n }\r\n }\r\n\r\n protected static createReferenceRelationshipProps(id: Id64String): RelatedElementProps {\r\n return { id, relClassName: SheetIndexReferenceRefersToSheetIndex.classFullName };\r\n }\r\n\r\n public override toJSON(): SheetIndexReferenceProps { // This override only specializes the return type\r\n return {\r\n ...super.toJSON(),\r\n sheetIndex: this.sheetIndex ? this.sheetIndex.toJSON() : undefined,\r\n } as SheetIndexReferenceProps;\r\n }\r\n\r\n /** Create a new SheetIndexReference\r\n * @returns The newly constructed SheetIndexReference element.\r\n * @throws [[IModelError]] if unable to create the element.\r\n */\r\n public static create(arg: SheetIndexReferenceCreateArgs) {\r\n const props: SheetIndexReferenceProps = {\r\n ...this.createProps(arg),\r\n sheetIndex: arg.sheetIndexId ? this.createReferenceRelationshipProps(arg.sheetIndexId) : undefined,\r\n };\r\n return new this(props, arg.iModelDb);\r\n }\r\n\r\n /** Create a new SheetIndexReference\r\n * @returns The Id of the newly inserted SheetIndexReference element.\r\n * @throws [[IModelError]] if unable to create the element.\r\n */\r\n public static insert(arg: SheetIndexReferenceCreateArgs): Id64String {\r\n const instance = this.create(arg);\r\n const elements = arg.iModelDb.elements;\r\n instance.id = elements.insertElement(instance.toJSON());\r\n return instance.id;\r\n }\r\n\r\n /** @alpha */\r\n protected override collectReferenceIds(referenceIds: EntityReferenceSet): void {\r\n super.collectReferenceIds(referenceIds);\r\n if (this.sheetIndex)\r\n referenceIds.addElement(this.sheetIndex.id);\r\n }\r\n}\r\n\r\n/** A leaf node in a [[SheetIndex]] that refers to a specific [[Sheet]].\r\n * @beta\r\n*/\r\nexport class SheetReference extends SheetIndexEntry {\r\n public static override get className(): string { return \"SheetReference\"; }\r\n\r\n /** The bis:Sheet that this bis:SheetReference is pointing to. */\r\n public sheet: SheetReferenceRefersToSheet | undefined;\r\n\r\n protected constructor(props: SheetReferenceProps, iModel: IModelDb) {\r\n super(props, iModel);\r\n if (props.sheet) {\r\n const sheet = iModel.elements.tryGetElement<Sheet>(props.sheet.id);\r\n if (!sheet)\r\n throw new IModelError(IModelStatus.NotFound, \"Sheet not found\");\r\n\r\n this.sheet = new SheetReferenceRefersToSheet(sheet.id);\r\n }\r\n }\r\n\r\n protected static createReferenceRelationshipProps(id: Id64String): RelatedElementProps {\r\n return { id, relClassName: SheetIndexReferenceRefersToSheetIndex.classFullName };\r\n }\r\n\r\n public override toJSON(): SheetReferenceProps { // This override only specializes the return type\r\n return {\r\n ...super.toJSON(),\r\n sheet: this.sheet ? this.sheet.toJSON() : undefined,\r\n } as SheetReferenceProps;\r\n }\r\n\r\n /** Create a new SheetReference\r\n * @returns The newly constructed SheetReference element.\r\n * @throws [[IModelError]] if unable to create the element.\r\n */\r\n public static create(arg: SheetReferenceCreateArgs) {\r\n const props: SheetReferenceProps = {\r\n ...this.createProps(arg),\r\n sheet: arg.sheetId ? this.createReferenceRelationshipProps(arg.sheetId) : undefined,\r\n };\r\n return new this(props, arg.iModelDb);\r\n }\r\n\r\n /** Insert a new SheetReference\r\n * @returns The Id of the newly inserted SheetReference element.\r\n * @throws [[IModelError]] if unable to create the element.\r\n */\r\n public static insert(arg: SheetReferenceCreateArgs): Id64String {\r\n const instance = this.create(arg);\r\n const elements = arg.iModelDb.elements;\r\n instance.id = elements.insertElement(instance.toJSON());\r\n return instance.id;\r\n }\r\n\r\n /** @alpha */\r\n protected override collectReferenceIds(referenceIds: EntityReferenceSet): void {\r\n super.collectReferenceIds(referenceIds);\r\n if (this.sheet)\r\n referenceIds.addModel(this.sheet.id);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"SheetIndex.js","sourceRoot":"","sources":["../../src/SheetIndex.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Elements\n */\n\nimport { BisCodeSpec, Code, CodeScopeProps, CodeSpec, ElementProps, EntityReferenceSet, IModelError, RelatedElementProps, SheetIndexEntryProps, SheetIndexFolderProps, SheetIndexReferenceProps, SheetReferenceProps } from \"@itwin/core-common\";\nimport { InformationReferenceElement, Sheet } from \"./Element\";\nimport { IModelDb } from \"./IModelDb\";\nimport { Id64String, IModelStatus } from \"@itwin/core-bentley\";\nimport { SheetIndexFolderOwnsEntries, SheetIndexOwnsEntries, SheetIndexReferenceRefersToSheetIndex, SheetReferenceRefersToSheet } from \"./NavigationRelationship\";\n\n/** Arguments used to create a [[SheetIndexEntry]].\n * @beta\n */\nexport interface SheetIndexEntryCreateArgs {\n /** The iModel that will contain the sheet index entry. */\n iModelDb: IModelDb;\n /** The Id of the [[SheetIndexModel]] that will contain the sheet index entry. */\n sheetIndexModelId: Id64String;\n /** The [[SheetIndex]] or [[SheetIndexFolder]] that is parent to this SheetIndexEntry */\n parentId: Id64String;\n /** The name of the SheetIndexEntry */\n name: string;\n /** The priority of the SheetIndexEntry */\n priority: number;\n}\n\n/** Arguments supplied when creating a [[SheetIndexReference]].\n * @beta\n */\nexport interface SheetIndexReferenceCreateArgs extends SheetIndexEntryCreateArgs {\n /** The [[SheetIndex]] to which the reference refers. */\n sheetIndexId?: Id64String;\n}\n\n/** Arguments supplied when creating a [[SheetReference]].\n * @beta\n */\nexport interface SheetReferenceCreateArgs extends SheetIndexEntryCreateArgs {\n /** The [[Sheet]] to which the reference refers. */\n sheetId?: Id64String;\n}\n\n/** A [structured collection]($docs/bis/domains/drawings-sheets#sheet-index) of [[SheetIndexEntry]]s.\n * The sheet index is a tree whose leaf nodes refer to [[Sheet]]s, optionally grouped by [[SheetIndexFolder]]s and/or incorporating\n * sub-trees via [[SheetIndexReference]]s.\n * @beta\n */\nexport class SheetIndex extends InformationReferenceElement {\n public static override get className(): string { return \"SheetIndex\"; }\n\n /** Create a Code for a SheetIndex given a name that is meant to be unique within the scope of the specified SheetIndexModel.\n * @param iModel The IModelDb\n * @param scopeSheetIndexModelId The Id of the Model that contains the LinkElement and provides the scope for its name.\n * @param codeValue The SheetIndex name\n */\n public static createCode(iModel: IModelDb, scopeSheetIndexModelId: CodeScopeProps, codeValue: string): Code {\n const codeSpec: CodeSpec = iModel.codeSpecs.getByName(BisCodeSpec.sheetIndex);\n return new Code({ spec: codeSpec.id, scope: scopeSheetIndexModelId, value: codeValue });\n }\n\n /** Create a SheetIndex\n * @param iModelDb The IModelDb\n * @param modelId The Id of the Model that contains the SheetIndex and provides the scope for its name.\n * @param name The name (codeValue) of the SheetIndex\n * @returns The newly constructed SheetIndex\n * @throws [[IModelError]] if there is a problem creating the SheetIndex\n */\n public static create(iModelDb: IModelDb, modelId: Id64String, name: string): SheetIndex {\n const props: ElementProps = {\n classFullName: this.classFullName,\n code: this.createCode(iModelDb, modelId, name).toJSON(),\n model: modelId,\n };\n return new this(props, iModelDb);\n }\n\n /** Insert a SheetIndex\n * @param iModelDb The IModelDb\n * @param modelId The Id of the Model that contains the SheetIndex and provides the scope for its name.\n * @param name The name (codeValue) of the SheetIndex\n * @returns The Id of the newly inserted SheetIndex\n * @throws [[IModelError]] if there is a problem inserting the SheetIndex\n */\n public static insert(iModelDb: IModelDb, modelId: Id64String, name: string): Id64String {\n const instance = this.create(iModelDb, modelId, name);\n const elements = iModelDb.elements;\n instance.id = elements.insertElement(instance.toJSON());\n return instance.id;\n }\n}\n\n/** The base class for all elements that can participate in a [[SheetIndex]] hierarchy.\n * @beta\n*/\nexport abstract class SheetIndexEntry extends InformationReferenceElement {\n public static override get className(): string { return \"SheetIndexEntry\"; }\n /** Can be used to prioritize or order members within a SheetIndex or SheetIndexFolder. */\n public entryPriority: number;\n\n protected constructor(props: SheetIndexEntryProps, iModel: IModelDb) {\n super(props, iModel);\n this.entryPriority = props.entryPriority;\n }\n\n public override toJSON(): SheetIndexEntryProps {\n return { ...super.toJSON(), entryPriority: this.entryPriority };\n }\n\n /** Create a Code for a Sheet Index Entry given a name that is meant to be unique within the scope of the specified SheetIndexModel.\n * @param iModel The IModel\n * @param scopeModelId The Id of the [[SheetIndexModel]] that contains the [[SheetIndexEntry]] and provides the scope for its name.\n * @param codeValue The name of the entry\n */\n public static createCode(iModelDb: IModelDb, scopeModelId: CodeScopeProps, codeValue: string): Code {\n const codeSpec: CodeSpec = iModelDb.codeSpecs.getByName(BisCodeSpec.sheetIndexEntry);\n return new Code({ spec: codeSpec.id, scope: scopeModelId, value: codeValue });\n }\n\n protected static createParentRelationshipProps(iModelDb: IModelDb, id: Id64String): RelatedElementProps {\n const parentElementProps = iModelDb.elements.getElementProps(id);\n const isFolder = parentElementProps.classFullName === SheetIndexFolder.classFullName;\n const relClass = isFolder ? SheetIndexFolderOwnsEntries : SheetIndexOwnsEntries;\n return { id, relClassName: relClass.classFullName };\n }\n\n protected static createProps(arg: SheetIndexEntryCreateArgs) {\n const parent = this.createParentRelationshipProps(arg.iModelDb, arg.parentId);\n const props: SheetIndexEntryProps = {\n classFullName: this.classFullName,\n model: arg.sheetIndexModelId,\n code: this.createCode(arg.iModelDb, arg.sheetIndexModelId, arg.name),\n entryPriority: arg.priority,\n parent,\n };\n return props;\n }\n}\n\n/** A container used to group [[SheetIndexEntry]]s within a [[SheetIndex]].\n * @beta\n */\nexport class SheetIndexFolder extends SheetIndexEntry {\n public static override get className(): string { return \"SheetIndexFolder\"; }\n\n /** Create a new SheetIndexFolder\n * @returns The newly constructed SheetIndexFolder element.\n * @throws [[IModelError]] if unable to create the element.\n */\n public static create(arg: SheetIndexEntryCreateArgs) {\n const props: SheetIndexFolderProps = this.createProps(arg);\n return new this(props, arg.iModelDb);\n }\n\n /** Create a new SheetIndexFolder\n * @returns The Id of the newly inserted SheetIndexFolder element.\n * @throws [[IModelError]] if unable to create the element.\n */\n public static insert(arg: SheetIndexEntryCreateArgs): Id64String {\n const instance = this.create(arg);\n const elements = arg.iModelDb.elements;\n instance.id = elements.insertElement(instance.toJSON());\n return instance.id;\n }\n}\n\n/** A node within one [[SheetIndex]] that incorporates another [[SheetIndex]] as a sub-tree.\n * @beta\n*/\nexport class SheetIndexReference extends SheetIndexEntry {\n public static override get className(): string { return \"SheetIndexReference\"; }\n\n /** The bis:SheetIndex that this bis:SheetIndexReference is pointing to. */\n public sheetIndex?: SheetIndexReferenceRefersToSheetIndex;\n\n protected constructor(props: SheetIndexReferenceProps, iModel: IModelDb) {\n super(props, iModel);\n if (props.sheetIndex) {\n const sheetIndex = iModel.elements.tryGetElement<SheetIndex>(props.sheetIndex.id);\n if (!sheetIndex)\n throw new IModelError(IModelStatus.NotFound, \"SheetIndex not found\");\n\n this.sheetIndex = new SheetIndexReferenceRefersToSheetIndex(props.sheetIndex.id);\n }\n }\n\n protected static createReferenceRelationshipProps(id: Id64String): RelatedElementProps {\n return { id, relClassName: SheetIndexReferenceRefersToSheetIndex.classFullName };\n }\n\n public override toJSON(): SheetIndexReferenceProps { // This override only specializes the return type\n return {\n ...super.toJSON(),\n sheetIndex: this.sheetIndex ? this.sheetIndex.toJSON() : undefined,\n } as SheetIndexReferenceProps;\n }\n\n /** Create a new SheetIndexReference\n * @returns The newly constructed SheetIndexReference element.\n * @throws [[IModelError]] if unable to create the element.\n */\n public static create(arg: SheetIndexReferenceCreateArgs) {\n const props: SheetIndexReferenceProps = {\n ...this.createProps(arg),\n sheetIndex: arg.sheetIndexId ? this.createReferenceRelationshipProps(arg.sheetIndexId) : undefined,\n };\n return new this(props, arg.iModelDb);\n }\n\n /** Create a new SheetIndexReference\n * @returns The Id of the newly inserted SheetIndexReference element.\n * @throws [[IModelError]] if unable to create the element.\n */\n public static insert(arg: SheetIndexReferenceCreateArgs): Id64String {\n const instance = this.create(arg);\n const elements = arg.iModelDb.elements;\n instance.id = elements.insertElement(instance.toJSON());\n return instance.id;\n }\n\n /** @alpha */\n protected override collectReferenceIds(referenceIds: EntityReferenceSet): void {\n super.collectReferenceIds(referenceIds);\n if (this.sheetIndex)\n referenceIds.addElement(this.sheetIndex.id);\n }\n}\n\n/** A leaf node in a [[SheetIndex]] that refers to a specific [[Sheet]].\n * @beta\n*/\nexport class SheetReference extends SheetIndexEntry {\n public static override get className(): string { return \"SheetReference\"; }\n\n /** The bis:Sheet that this bis:SheetReference is pointing to. */\n public sheet: SheetReferenceRefersToSheet | undefined;\n\n protected constructor(props: SheetReferenceProps, iModel: IModelDb) {\n super(props, iModel);\n if (props.sheet) {\n const sheet = iModel.elements.tryGetElement<Sheet>(props.sheet.id);\n if (!sheet)\n throw new IModelError(IModelStatus.NotFound, \"Sheet not found\");\n\n this.sheet = new SheetReferenceRefersToSheet(sheet.id);\n }\n }\n\n protected static createReferenceRelationshipProps(id: Id64String): RelatedElementProps {\n return { id, relClassName: SheetIndexReferenceRefersToSheetIndex.classFullName };\n }\n\n public override toJSON(): SheetReferenceProps { // This override only specializes the return type\n return {\n ...super.toJSON(),\n sheet: this.sheet ? this.sheet.toJSON() : undefined,\n } as SheetReferenceProps;\n }\n\n /** Create a new SheetReference\n * @returns The newly constructed SheetReference element.\n * @throws [[IModelError]] if unable to create the element.\n */\n public static create(arg: SheetReferenceCreateArgs) {\n const props: SheetReferenceProps = {\n ...this.createProps(arg),\n sheet: arg.sheetId ? this.createReferenceRelationshipProps(arg.sheetId) : undefined,\n };\n return new this(props, arg.iModelDb);\n }\n\n /** Insert a new SheetReference\n * @returns The Id of the newly inserted SheetReference element.\n * @throws [[IModelError]] if unable to create the element.\n */\n public static insert(arg: SheetReferenceCreateArgs): Id64String {\n const instance = this.create(arg);\n const elements = arg.iModelDb.elements;\n instance.id = elements.insertElement(instance.toJSON());\n return instance.id;\n }\n\n /** @alpha */\n protected override collectReferenceIds(referenceIds: EntityReferenceSet): void {\n super.collectReferenceIds(referenceIds);\n if (this.sheet)\n referenceIds.addModel(this.sheet.id);\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  /** @packageDocumentation
2
2
  * @module SQLiteDb
3
3
  */
4
- import { DbValueType, Id64String, IDisposable } from "@itwin/core-bentley";
4
+ import { DbValueType, Id64String } from "@itwin/core-bentley";
5
5
  import { ECDb } from "./ECDb";
6
6
  import { IModelDb } from "./IModelDb";
7
7
  /** Changed value type
@@ -71,7 +71,7 @@ export interface SqliteChange {
71
71
  * a db provided.
72
72
  * @beta
73
73
  */
74
- export declare class SqliteChangesetReader implements IDisposable {
74
+ export declare class SqliteChangesetReader implements Disposable {
75
75
  /** db from where sql schema will be read */
76
76
  readonly db: AnyDb;
77
77
  private readonly _nativeReader;
@@ -97,6 +97,14 @@ export declare class SqliteChangesetReader implements IDisposable {
97
97
  static openGroup(args: {
98
98
  readonly changesetFiles: string[];
99
99
  } & SqliteChangesetReaderArgs): SqliteChangesetReader;
100
+ /**
101
+ * Open txn change in iModel.
102
+ * @param args iModel and other options.
103
+ * @returns SqliteChangesetReader instance
104
+ */
105
+ static openTxn(args: {
106
+ txnId: Id64String;
107
+ } & SqliteChangesetReaderArgs): SqliteChangesetReader;
100
108
  /**
101
109
  * Writes the changeset to a file.
102
110
  * @note can be use with openGroup() or openLocalChanges() to persist changeset.
@@ -264,7 +272,7 @@ export declare class SqliteChangesetReader implements IDisposable {
264
272
  * Dispose this object
265
273
  * @beta
266
274
  */
267
- dispose(): void;
275
+ [Symbol.dispose](): void;
268
276
  }
269
277
  export {};
270
278
  //# sourceMappingURL=SqliteChangesetReader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SqliteChangesetReader.d.ts","sourceRoot":"","sources":["../../src/SqliteChangesetReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqliteChangesetReader.d.ts","sourceRoot":"","sources":["../../src/SqliteChangesetReader.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ exports.SqliteChangesetReader = void 0;
9
9
  * @module SQLiteDb
10
10
  */
11
11
  const core_bentley_1 = require("@itwin/core-bentley");
12
+ const ECDb_1 = require("./ECDb");
12
13
  const NativePlatform_1 = require("./internal/NativePlatform");
13
14
  const Symbols_1 = require("./internal/Symbols");
14
15
  /**
@@ -18,14 +19,15 @@ const Symbols_1 = require("./internal/Symbols");
18
19
  * @beta
19
20
  */
20
21
  class SqliteChangesetReader {
22
+ db;
23
+ _nativeReader = new NativePlatform_1.IModelNative.platform.ChangesetReader();
24
+ _schemaCache = new Map();
25
+ _disableSchemaCheck = false;
26
+ _changeIndex = 0;
21
27
  constructor(
22
28
  /** db from where sql schema will be read */
23
29
  db) {
24
30
  this.db = db;
25
- this._nativeReader = new NativePlatform_1.IModelNative.platform.ChangesetReader();
26
- this._schemaCache = new Map();
27
- this._disableSchemaCheck = false;
28
- this._changeIndex = 0;
29
31
  }
30
32
  /**
31
33
  * Open changeset file from disk
@@ -52,6 +54,20 @@ class SqliteChangesetReader {
52
54
  reader._nativeReader.openGroup(args.changesetFiles, args.db[Symbols_1._nativeDb], args.invert ?? false);
53
55
  return reader;
54
56
  }
57
+ /**
58
+ * Open txn change in iModel.
59
+ * @param args iModel and other options.
60
+ * @returns SqliteChangesetReader instance
61
+ */
62
+ static openTxn(args) {
63
+ if (args.db instanceof ECDb_1.ECDb) {
64
+ throw new Error("ECDb does not support openTxn");
65
+ }
66
+ const reader = new SqliteChangesetReader(args.db);
67
+ reader._disableSchemaCheck = args.disableSchemaCheck ?? false;
68
+ reader._nativeReader.openTxn(args.db[Symbols_1._nativeDb], args.txnId, args.invert ?? false);
69
+ return reader;
70
+ }
55
71
  /**
56
72
  * Writes the changeset to a file.
57
73
  * @note can be use with openGroup() or openLocalChanges() to persist changeset.
@@ -317,7 +333,7 @@ class SqliteChangesetReader {
317
333
  * Dispose this object
318
334
  * @beta
319
335
  */
320
- dispose() {
336
+ [Symbol.dispose]() {
321
337
  this.close();
322
338
  }
323
339
  }