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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (785) hide show
  1. package/lib/esm/BackendHubAccess.d.ts +215 -0
  2. package/lib/esm/BackendHubAccess.d.ts.map +1 -0
  3. package/lib/esm/BackendHubAccess.js +41 -0
  4. package/lib/esm/BackendHubAccess.js.map +1 -0
  5. package/lib/esm/BackendLoggerCategory.d.ts +88 -0
  6. package/lib/esm/BackendLoggerCategory.d.ts.map +1 -0
  7. package/lib/esm/BackendLoggerCategory.js +93 -0
  8. package/lib/esm/BackendLoggerCategory.js.map +1 -0
  9. package/lib/esm/BisCoreSchema.d.ts +22 -0
  10. package/lib/esm/BisCoreSchema.d.ts.map +1 -0
  11. package/lib/esm/BisCoreSchema.js +61 -0
  12. package/lib/esm/BisCoreSchema.js.map +1 -0
  13. package/lib/esm/BlobContainerService.d.ts +159 -0
  14. package/lib/esm/BlobContainerService.d.ts.map +1 -0
  15. package/lib/esm/BlobContainerService.js +15 -0
  16. package/lib/esm/BlobContainerService.js.map +1 -0
  17. package/lib/esm/BriefcaseManager.d.ts +213 -0
  18. package/lib/esm/BriefcaseManager.d.ts.map +1 -0
  19. package/lib/esm/BriefcaseManager.js +520 -0
  20. package/lib/esm/BriefcaseManager.js.map +1 -0
  21. package/lib/esm/Category.d.ts +136 -0
  22. package/lib/esm/Category.d.ts.map +1 -0
  23. package/lib/esm/Category.js +224 -0
  24. package/lib/esm/Category.js.map +1 -0
  25. package/lib/esm/ChangeSummaryManager.d.ts +161 -0
  26. package/lib/esm/ChangeSummaryManager.d.ts.map +1 -0
  27. package/lib/esm/ChangeSummaryManager.js +414 -0
  28. package/lib/esm/ChangeSummaryManager.js.map +1 -0
  29. package/lib/esm/ChangedElementsDb.d.ts +101 -0
  30. package/lib/esm/ChangedElementsDb.d.ts.map +1 -0
  31. package/lib/esm/ChangedElementsDb.js +165 -0
  32. package/lib/esm/ChangedElementsDb.js.map +1 -0
  33. package/lib/esm/ChangesetECAdaptor.d.ts +203 -0
  34. package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -0
  35. package/lib/esm/ChangesetECAdaptor.js +814 -0
  36. package/lib/esm/ChangesetECAdaptor.js.map +1 -0
  37. package/lib/esm/ChannelControl.d.ts +68 -0
  38. package/lib/esm/ChannelControl.d.ts.map +1 -0
  39. package/lib/esm/ChannelControl.js +15 -0
  40. package/lib/esm/ChannelControl.js.map +1 -0
  41. package/lib/esm/CheckpointManager.d.ts +123 -0
  42. package/lib/esm/CheckpointManager.d.ts.map +1 -0
  43. package/lib/esm/CheckpointManager.js +375 -0
  44. package/lib/esm/CheckpointManager.js.map +1 -0
  45. package/lib/esm/ClassRegistry.d.ts +134 -0
  46. package/lib/esm/ClassRegistry.d.ts.map +1 -0
  47. package/lib/esm/ClassRegistry.js +324 -0
  48. package/lib/esm/ClassRegistry.js.map +1 -0
  49. package/lib/esm/CloudSqlite.d.ts +682 -0
  50. package/lib/esm/CloudSqlite.d.ts.map +1 -0
  51. package/lib/esm/CloudSqlite.js +511 -0
  52. package/lib/esm/CloudSqlite.js.map +1 -0
  53. package/lib/esm/CodeService.d.ts +402 -0
  54. package/lib/esm/CodeService.d.ts.map +1 -0
  55. package/lib/esm/CodeService.js +65 -0
  56. package/lib/esm/CodeService.js.map +1 -0
  57. package/lib/esm/CodeSpecs.d.ts +59 -0
  58. package/lib/esm/CodeSpecs.d.ts.map +1 -0
  59. package/lib/esm/CodeSpecs.js +152 -0
  60. package/lib/esm/CodeSpecs.js.map +1 -0
  61. package/lib/esm/ConcurrentQuery.d.ts +14 -0
  62. package/lib/esm/ConcurrentQuery.d.ts.map +1 -0
  63. package/lib/esm/ConcurrentQuery.js +33 -0
  64. package/lib/esm/ConcurrentQuery.js.map +1 -0
  65. package/lib/esm/CustomViewState3dCreator.d.ts +22 -0
  66. package/lib/esm/CustomViewState3dCreator.d.ts.map +1 -0
  67. package/lib/esm/CustomViewState3dCreator.js +78 -0
  68. package/lib/esm/CustomViewState3dCreator.js.map +1 -0
  69. package/lib/esm/DevTools.d.ts +73 -0
  70. package/lib/esm/DevTools.d.ts.map +1 -0
  71. package/lib/esm/DevTools.js +153 -0
  72. package/lib/esm/DevTools.js.map +1 -0
  73. package/lib/esm/DisplayStyle.d.ts +99 -0
  74. package/lib/esm/DisplayStyle.d.ts.map +1 -0
  75. package/lib/esm/DisplayStyle.js +264 -0
  76. package/lib/esm/DisplayStyle.js.map +1 -0
  77. package/lib/esm/ECDb.d.ts +170 -0
  78. package/lib/esm/ECDb.d.ts.map +1 -0
  79. package/lib/esm/ECDb.js +329 -0
  80. package/lib/esm/ECDb.js.map +1 -0
  81. package/lib/esm/ECSchemaXmlContext.d.ts +46 -0
  82. package/lib/esm/ECSchemaXmlContext.d.ts.map +1 -0
  83. package/lib/esm/ECSchemaXmlContext.js +66 -0
  84. package/lib/esm/ECSchemaXmlContext.js.map +1 -0
  85. package/lib/esm/ECSqlStatement.d.ts +492 -0
  86. package/lib/esm/ECSqlStatement.d.ts.map +1 -0
  87. package/lib/esm/ECSqlStatement.js +810 -0
  88. package/lib/esm/ECSqlStatement.js.map +1 -0
  89. package/lib/esm/Element.d.ts +987 -0
  90. package/lib/esm/Element.d.ts.map +1 -0
  91. package/lib/esm/Element.js +1337 -0
  92. package/lib/esm/Element.js.map +1 -0
  93. package/lib/esm/ElementAspect.d.ts +164 -0
  94. package/lib/esm/ElementAspect.d.ts.map +1 -0
  95. package/lib/esm/ElementAspect.js +204 -0
  96. package/lib/esm/ElementAspect.js.map +1 -0
  97. package/lib/esm/ElementGraphics.d.ts +7 -0
  98. package/lib/esm/ElementGraphics.d.ts.map +1 -0
  99. package/lib/esm/ElementGraphics.js +36 -0
  100. package/lib/esm/ElementGraphics.js.map +1 -0
  101. package/lib/esm/ElementTreeWalker.d.ts +182 -0
  102. package/lib/esm/ElementTreeWalker.d.ts.map +1 -0
  103. package/lib/esm/ElementTreeWalker.js +421 -0
  104. package/lib/esm/ElementTreeWalker.js.map +1 -0
  105. package/lib/esm/Entity.d.ts +142 -0
  106. package/lib/esm/Entity.d.ts.map +1 -0
  107. package/lib/esm/Entity.js +186 -0
  108. package/lib/esm/Entity.js.map +1 -0
  109. package/lib/esm/EntityReferences.d.ts +50 -0
  110. package/lib/esm/EntityReferences.d.ts.map +1 -0
  111. package/lib/esm/EntityReferences.js +92 -0
  112. package/lib/esm/EntityReferences.js.map +1 -0
  113. package/lib/esm/ExportGraphics.d.ts +318 -0
  114. package/lib/esm/ExportGraphics.d.ts.map +1 -0
  115. package/lib/esm/ExportGraphics.js +209 -0
  116. package/lib/esm/ExportGraphics.js.map +1 -0
  117. package/lib/esm/ExternalSource.d.ts +89 -0
  118. package/lib/esm/ExternalSource.d.ts.map +1 -0
  119. package/lib/esm/ExternalSource.js +139 -0
  120. package/lib/esm/ExternalSource.js.map +1 -0
  121. package/lib/esm/FontFile.d.ts +68 -0
  122. package/lib/esm/FontFile.d.ts.map +1 -0
  123. package/lib/esm/FontFile.js +33 -0
  124. package/lib/esm/FontFile.js.map +1 -0
  125. package/lib/esm/GeoCoordConfig.d.ts +30 -0
  126. package/lib/esm/GeoCoordConfig.d.ts.map +1 -0
  127. package/lib/esm/GeoCoordConfig.js +78 -0
  128. package/lib/esm/GeoCoordConfig.js.map +1 -0
  129. package/lib/esm/GeographicCRSServices.d.ts +40 -0
  130. package/lib/esm/GeographicCRSServices.d.ts.map +1 -0
  131. package/lib/esm/GeographicCRSServices.js +17 -0
  132. package/lib/esm/GeographicCRSServices.js.map +1 -0
  133. package/lib/esm/GeometrySummary.d.ts +5 -0
  134. package/lib/esm/GeometrySummary.d.ts.map +1 -0
  135. package/lib/esm/GeometrySummary.js +381 -0
  136. package/lib/esm/GeometrySummary.js.map +1 -0
  137. package/lib/esm/HubMock.d.ts +95 -0
  138. package/lib/esm/HubMock.d.ts.map +1 -0
  139. package/lib/esm/HubMock.js +220 -0
  140. package/lib/esm/HubMock.js.map +1 -0
  141. package/lib/esm/IModelDb.d.ts +1398 -0
  142. package/lib/esm/IModelDb.d.ts.map +1 -0
  143. package/lib/esm/IModelDb.js +3230 -0
  144. package/lib/esm/IModelDb.js.map +1 -0
  145. package/lib/esm/IModelDbFonts.d.ts +54 -0
  146. package/lib/esm/IModelDbFonts.d.ts.map +1 -0
  147. package/lib/esm/IModelDbFonts.js +9 -0
  148. package/lib/esm/IModelDbFonts.js.map +1 -0
  149. package/lib/esm/IModelElementCloneContext.d.ts +92 -0
  150. package/lib/esm/IModelElementCloneContext.d.ts.map +1 -0
  151. package/lib/esm/IModelElementCloneContext.js +168 -0
  152. package/lib/esm/IModelElementCloneContext.js.map +1 -0
  153. package/lib/esm/IModelHost.d.ts +387 -0
  154. package/lib/esm/IModelHost.d.ts.map +1 -0
  155. package/lib/esm/IModelHost.js +502 -0
  156. package/lib/esm/IModelHost.js.map +1 -0
  157. package/lib/esm/IModelJsFs.d.ts +62 -0
  158. package/lib/esm/IModelJsFs.d.ts.map +1 -0
  159. package/lib/esm/IModelJsFs.js +151 -0
  160. package/lib/esm/IModelJsFs.js.map +1 -0
  161. package/lib/esm/ImageSourceConversion.d.ts +49 -0
  162. package/lib/esm/ImageSourceConversion.d.ts.map +1 -0
  163. package/lib/esm/ImageSourceConversion.js +33 -0
  164. package/lib/esm/ImageSourceConversion.js.map +1 -0
  165. package/lib/esm/IpcHost.d.ts +111 -0
  166. package/lib/esm/IpcHost.d.ts.map +1 -0
  167. package/lib/esm/IpcHost.js +311 -0
  168. package/lib/esm/IpcHost.js.map +1 -0
  169. package/lib/esm/LineStyle.d.ts +312 -0
  170. package/lib/esm/LineStyle.d.ts.map +1 -0
  171. package/lib/esm/LineStyle.js +293 -0
  172. package/lib/esm/LineStyle.js.map +1 -0
  173. package/lib/esm/LocalHub.d.ts +163 -0
  174. package/lib/esm/LocalHub.d.ts.map +1 -0
  175. package/lib/esm/LocalHub.js +583 -0
  176. package/lib/esm/LocalHub.js.map +1 -0
  177. package/lib/esm/LocalhostIpcHost.d.ts +22 -0
  178. package/lib/esm/LocalhostIpcHost.d.ts.map +1 -0
  179. package/lib/esm/LocalhostIpcHost.js +74 -0
  180. package/lib/esm/LocalhostIpcHost.js.map +1 -0
  181. package/lib/esm/LockControl.d.ts +73 -0
  182. package/lib/esm/LockControl.d.ts.map +1 -0
  183. package/lib/esm/LockControl.js +9 -0
  184. package/lib/esm/LockControl.js.map +1 -0
  185. package/lib/esm/Material.d.ts +131 -0
  186. package/lib/esm/Material.d.ts.map +1 -0
  187. package/lib/esm/Material.js +235 -0
  188. package/lib/esm/Material.js.map +1 -0
  189. package/lib/esm/Model.d.ts +375 -0
  190. package/lib/esm/Model.d.ts.map +1 -0
  191. package/lib/esm/Model.js +484 -0
  192. package/lib/esm/Model.js.map +1 -0
  193. package/lib/esm/NativeAppStorage.d.ts +52 -0
  194. package/lib/esm/NativeAppStorage.d.ts.map +1 -0
  195. package/lib/esm/NativeAppStorage.js +205 -0
  196. package/lib/esm/NativeAppStorage.js.map +1 -0
  197. package/lib/esm/NativeHost.d.ts +53 -0
  198. package/lib/esm/NativeHost.d.ts.map +1 -0
  199. package/lib/esm/NativeHost.js +158 -0
  200. package/lib/esm/NativeHost.js.map +1 -0
  201. package/lib/esm/NavigationRelationship.d.ts +185 -0
  202. package/lib/esm/NavigationRelationship.d.ts.map +1 -0
  203. package/lib/esm/NavigationRelationship.js +238 -0
  204. package/lib/esm/NavigationRelationship.js.map +1 -0
  205. package/lib/esm/PromiseMemoizer.d.ts +48 -0
  206. package/lib/esm/PromiseMemoizer.d.ts.map +1 -0
  207. package/lib/esm/PromiseMemoizer.js +101 -0
  208. package/lib/esm/PromiseMemoizer.js.map +1 -0
  209. package/lib/esm/PropertyStore.d.ts +134 -0
  210. package/lib/esm/PropertyStore.d.ts.map +1 -0
  211. package/lib/esm/PropertyStore.js +177 -0
  212. package/lib/esm/PropertyStore.js.map +1 -0
  213. package/lib/esm/Relationship.d.ts +399 -0
  214. package/lib/esm/Relationship.d.ts.map +1 -0
  215. package/lib/esm/Relationship.js +474 -0
  216. package/lib/esm/Relationship.js.map +1 -0
  217. package/lib/esm/RpcBackend.d.ts +6 -0
  218. package/lib/esm/RpcBackend.d.ts.map +1 -0
  219. package/lib/esm/RpcBackend.js +28 -0
  220. package/lib/esm/RpcBackend.js.map +1 -0
  221. package/lib/esm/SQLiteDb.d.ts +324 -0
  222. package/lib/esm/SQLiteDb.d.ts.map +1 -0
  223. package/lib/esm/SQLiteDb.js +379 -0
  224. package/lib/esm/SQLiteDb.js.map +1 -0
  225. package/lib/esm/Schema.d.ts +79 -0
  226. package/lib/esm/Schema.d.ts.map +1 -0
  227. package/lib/esm/Schema.js +113 -0
  228. package/lib/esm/Schema.js.map +1 -0
  229. package/lib/esm/SchemaSync.d.ts +47 -0
  230. package/lib/esm/SchemaSync.d.ts.map +1 -0
  231. package/lib/esm/SchemaSync.js +148 -0
  232. package/lib/esm/SchemaSync.js.map +1 -0
  233. package/lib/esm/SchemaUtils.d.ts +19 -0
  234. package/lib/esm/SchemaUtils.d.ts.map +1 -0
  235. package/lib/esm/SchemaUtils.js +37 -0
  236. package/lib/esm/SchemaUtils.js.map +1 -0
  237. package/lib/esm/SheetIndex.d.ts +148 -0
  238. package/lib/esm/SheetIndex.d.ts.map +1 -0
  239. package/lib/esm/SheetIndex.js +228 -0
  240. package/lib/esm/SheetIndex.js.map +1 -0
  241. package/lib/esm/SqliteChangesetReader.d.ts +278 -0
  242. package/lib/esm/SqliteChangesetReader.d.ts.map +1 -0
  243. package/lib/esm/SqliteChangesetReader.js +337 -0
  244. package/lib/esm/SqliteChangesetReader.js.map +1 -0
  245. package/lib/esm/SqliteStatement.d.ts +375 -0
  246. package/lib/esm/SqliteStatement.d.ts.map +1 -0
  247. package/lib/esm/SqliteStatement.js +615 -0
  248. package/lib/esm/SqliteStatement.js.map +1 -0
  249. package/lib/esm/TextAnnotationElement.d.ts +54 -0
  250. package/lib/esm/TextAnnotationElement.d.ts.map +1 -0
  251. package/lib/esm/TextAnnotationElement.js +89 -0
  252. package/lib/esm/TextAnnotationElement.js.map +1 -0
  253. package/lib/esm/TextAnnotationGeometry.d.ts +32 -0
  254. package/lib/esm/TextAnnotationGeometry.d.ts.map +1 -0
  255. package/lib/esm/TextAnnotationGeometry.js +181 -0
  256. package/lib/esm/TextAnnotationGeometry.js.map +1 -0
  257. package/lib/esm/TextAnnotationLayout.d.ts +177 -0
  258. package/lib/esm/TextAnnotationLayout.d.ts.map +1 -0
  259. package/lib/esm/TextAnnotationLayout.js +513 -0
  260. package/lib/esm/TextAnnotationLayout.js.map +1 -0
  261. package/lib/esm/Texture.d.ts +58 -0
  262. package/lib/esm/Texture.d.ts.map +1 -0
  263. package/lib/esm/Texture.js +81 -0
  264. package/lib/esm/Texture.js.map +1 -0
  265. package/lib/esm/TileStorage.d.ts +59 -0
  266. package/lib/esm/TileStorage.d.ts.map +1 -0
  267. package/lib/esm/TileStorage.js +158 -0
  268. package/lib/esm/TileStorage.js.map +1 -0
  269. package/lib/esm/TxnManager.d.ts +296 -0
  270. package/lib/esm/TxnManager.d.ts.map +1 -0
  271. package/lib/esm/TxnManager.js +619 -0
  272. package/lib/esm/TxnManager.js.map +1 -0
  273. package/lib/esm/ViewDefinition.d.ts +392 -0
  274. package/lib/esm/ViewDefinition.d.ts.map +1 -0
  275. package/lib/esm/ViewDefinition.js +638 -0
  276. package/lib/esm/ViewDefinition.js.map +1 -0
  277. package/lib/esm/ViewStateHydrator.d.ts +14 -0
  278. package/lib/esm/ViewStateHydrator.d.ts.map +1 -0
  279. package/lib/esm/ViewStateHydrator.js +89 -0
  280. package/lib/esm/ViewStateHydrator.js.map +1 -0
  281. package/lib/esm/ViewStore.d.ts +502 -0
  282. package/lib/esm/ViewStore.d.ts.map +1 -0
  283. package/lib/esm/ViewStore.js +1259 -0
  284. package/lib/esm/ViewStore.js.map +1 -0
  285. package/lib/esm/core-backend.d.ts +183 -0
  286. package/lib/esm/core-backend.d.ts.map +1 -0
  287. package/lib/esm/core-backend.js +187 -0
  288. package/lib/esm/core-backend.js.map +1 -0
  289. package/lib/esm/domains/FunctionalElements.d.ts +86 -0
  290. package/lib/esm/domains/FunctionalElements.d.ts.map +1 -0
  291. package/lib/esm/domains/FunctionalElements.js +117 -0
  292. package/lib/esm/domains/FunctionalElements.js.map +1 -0
  293. package/lib/esm/domains/FunctionalSchema.d.ts +14 -0
  294. package/lib/esm/domains/FunctionalSchema.d.ts.map +1 -0
  295. package/lib/esm/domains/FunctionalSchema.js +37 -0
  296. package/lib/esm/domains/FunctionalSchema.js.map +1 -0
  297. package/lib/esm/domains/GenericElements.d.ts +160 -0
  298. package/lib/esm/domains/GenericElements.d.ts.map +1 -0
  299. package/lib/esm/domains/GenericElements.js +225 -0
  300. package/lib/esm/domains/GenericElements.js.map +1 -0
  301. package/lib/esm/domains/GenericSchema.d.ts +11 -0
  302. package/lib/esm/domains/GenericSchema.d.ts.map +1 -0
  303. package/lib/esm/domains/GenericSchema.js +25 -0
  304. package/lib/esm/domains/GenericSchema.js.map +1 -0
  305. package/lib/esm/internal/ChangesetConflictArgs.d.ts +62 -0
  306. package/lib/esm/internal/ChangesetConflictArgs.d.ts.map +1 -0
  307. package/lib/esm/internal/ChangesetConflictArgs.js +104 -0
  308. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -0
  309. package/lib/esm/internal/ChannelAdmin.d.ts +34 -0
  310. package/lib/esm/internal/ChannelAdmin.d.ts.map +1 -0
  311. package/lib/esm/internal/ChannelAdmin.js +122 -0
  312. package/lib/esm/internal/ChannelAdmin.js.map +1 -0
  313. package/lib/esm/internal/FontFileImpl.d.ts +34 -0
  314. package/lib/esm/internal/FontFileImpl.d.ts.map +1 -0
  315. package/lib/esm/internal/FontFileImpl.js +135 -0
  316. package/lib/esm/internal/FontFileImpl.js.map +1 -0
  317. package/lib/esm/internal/IModelDbFontsImpl.d.ts +7 -0
  318. package/lib/esm/internal/IModelDbFontsImpl.d.ts.map +1 -0
  319. package/lib/esm/internal/IModelDbFontsImpl.js +183 -0
  320. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -0
  321. package/lib/esm/internal/NativePlatform.d.ts +15 -0
  322. package/lib/esm/internal/NativePlatform.d.ts.map +1 -0
  323. package/lib/esm/internal/NativePlatform.js +43 -0
  324. package/lib/esm/internal/NativePlatform.js.map +1 -0
  325. package/lib/esm/internal/NoLocks.d.ts +6 -0
  326. package/lib/esm/internal/NoLocks.d.ts.map +1 -0
  327. package/lib/esm/internal/NoLocks.js +24 -0
  328. package/lib/esm/internal/NoLocks.js.map +1 -0
  329. package/lib/esm/internal/ServerBasedLocks.d.ts +52 -0
  330. package/lib/esm/internal/ServerBasedLocks.d.ts.map +1 -0
  331. package/lib/esm/internal/ServerBasedLocks.js +175 -0
  332. package/lib/esm/internal/ServerBasedLocks.js.map +1 -0
  333. package/lib/esm/internal/Symbols.d.ts +18 -0
  334. package/lib/esm/internal/Symbols.d.ts.map +1 -0
  335. package/lib/esm/internal/Symbols.js +25 -0
  336. package/lib/esm/internal/Symbols.js.map +1 -0
  337. package/lib/esm/internal/cross-package.d.ts +4 -0
  338. package/lib/esm/internal/cross-package.d.ts.map +1 -0
  339. package/lib/esm/internal/cross-package.js +8 -0
  340. package/lib/esm/internal/cross-package.js.map +1 -0
  341. package/lib/esm/internal/workspace/SettingsImpl.d.ts +43 -0
  342. package/lib/esm/internal/workspace/SettingsImpl.d.ts.map +1 -0
  343. package/lib/esm/internal/workspace/SettingsImpl.js +154 -0
  344. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -0
  345. package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts +6 -0
  346. package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts.map +1 -0
  347. package/lib/esm/internal/workspace/SettingsSchemasImpl.js +268 -0
  348. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -0
  349. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts +41 -0
  350. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts.map +1 -0
  351. package/lib/esm/internal/workspace/WorkspaceImpl.js +691 -0
  352. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -0
  353. package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts +10 -0
  354. package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts.map +1 -0
  355. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js +35 -0
  356. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -0
  357. package/lib/esm/rpc/multipart.d.ts +12 -0
  358. package/lib/esm/rpc/multipart.d.ts.map +1 -0
  359. package/lib/esm/rpc/multipart.js +67 -0
  360. package/lib/esm/rpc/multipart.js.map +1 -0
  361. package/lib/esm/rpc/tracing.d.ts +29 -0
  362. package/lib/esm/rpc/tracing.d.ts.map +1 -0
  363. package/lib/esm/rpc/tracing.js +71 -0
  364. package/lib/esm/rpc/tracing.js.map +1 -0
  365. package/lib/esm/rpc/web/logging.d.ts +10 -0
  366. package/lib/esm/rpc/web/logging.d.ts.map +1 -0
  367. package/lib/esm/rpc/web/logging.js +41 -0
  368. package/lib/esm/rpc/web/logging.js.map +1 -0
  369. package/lib/esm/rpc/web/request.d.ts +7 -0
  370. package/lib/esm/rpc/web/request.d.ts.map +1 -0
  371. package/lib/esm/rpc/web/request.js +71 -0
  372. package/lib/esm/rpc/web/request.js.map +1 -0
  373. package/lib/esm/rpc/web/response.d.ts +7 -0
  374. package/lib/esm/rpc/web/response.d.ts.map +1 -0
  375. package/lib/esm/rpc/web/response.js +136 -0
  376. package/lib/esm/rpc/web/response.js.map +1 -0
  377. package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts +16 -0
  378. package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts.map +1 -0
  379. package/lib/esm/rpc-impl/DevToolsRpcImpl.js +29 -0
  380. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -0
  381. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts +51 -0
  382. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -0
  383. package/lib/esm/rpc-impl/IModelReadRpcImpl.js +313 -0
  384. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -0
  385. package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts +21 -0
  386. package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts.map +1 -0
  387. package/lib/esm/rpc-impl/IModelTileRpcImpl.js +193 -0
  388. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -0
  389. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts +45 -0
  390. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -0
  391. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js +166 -0
  392. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -0
  393. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts +18 -0
  394. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts.map +1 -0
  395. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js +41 -0
  396. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -0
  397. package/lib/esm/test/AdvancedEqual.d.ts +38 -0
  398. package/lib/esm/test/AdvancedEqual.d.ts.map +1 -0
  399. package/lib/esm/test/AdvancedEqual.js +67 -0
  400. package/lib/esm/test/AdvancedEqual.js.map +1 -0
  401. package/lib/esm/test/AttachDb.test.d.ts +2 -0
  402. package/lib/esm/test/AttachDb.test.d.ts.map +1 -0
  403. package/lib/esm/test/AttachDb.test.js +157 -0
  404. package/lib/esm/test/AttachDb.test.js.map +1 -0
  405. package/lib/esm/test/GeometryTestUtil.d.ts +7 -0
  406. package/lib/esm/test/GeometryTestUtil.d.ts.map +1 -0
  407. package/lib/esm/test/GeometryTestUtil.js +25 -0
  408. package/lib/esm/test/GeometryTestUtil.js.map +1 -0
  409. package/lib/esm/test/IModelHost.test.d.ts +2 -0
  410. package/lib/esm/test/IModelHost.test.d.ts.map +1 -0
  411. package/lib/esm/test/IModelHost.test.js +187 -0
  412. package/lib/esm/test/IModelHost.test.js.map +1 -0
  413. package/lib/esm/test/IModelTestUtils.d.ts +173 -0
  414. package/lib/esm/test/IModelTestUtils.d.ts.map +1 -0
  415. package/lib/esm/test/IModelTestUtils.js +1113 -0
  416. package/lib/esm/test/IModelTestUtils.js.map +1 -0
  417. package/lib/esm/test/ImageSourceConversion.test.d.ts +2 -0
  418. package/lib/esm/test/ImageSourceConversion.test.d.ts.map +1 -0
  419. package/lib/esm/test/ImageSourceConversion.test.js +171 -0
  420. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -0
  421. package/lib/esm/test/IpcHost.test.d.ts +2 -0
  422. package/lib/esm/test/IpcHost.test.d.ts.map +1 -0
  423. package/lib/esm/test/IpcHost.test.js +55 -0
  424. package/lib/esm/test/IpcHost.test.js.map +1 -0
  425. package/lib/esm/test/KnownTestLocations.d.ts +7 -0
  426. package/lib/esm/test/KnownTestLocations.d.ts.map +1 -0
  427. package/lib/esm/test/KnownTestLocations.js +27 -0
  428. package/lib/esm/test/KnownTestLocations.js.map +1 -0
  429. package/lib/esm/test/PrintElementTree.d.ts +7 -0
  430. package/lib/esm/test/PrintElementTree.d.ts.map +1 -0
  431. package/lib/esm/test/PrintElementTree.js +35 -0
  432. package/lib/esm/test/PrintElementTree.js.map +1 -0
  433. package/lib/esm/test/PropertyDb.test.d.ts +2 -0
  434. package/lib/esm/test/PropertyDb.test.d.ts.map +1 -0
  435. package/lib/esm/test/PropertyDb.test.js +71 -0
  436. package/lib/esm/test/PropertyDb.test.js.map +1 -0
  437. package/lib/esm/test/RevisionUtility.d.ts +33 -0
  438. package/lib/esm/test/RevisionUtility.d.ts.map +1 -0
  439. package/lib/esm/test/RevisionUtility.js +52 -0
  440. package/lib/esm/test/RevisionUtility.js.map +1 -0
  441. package/lib/esm/test/SchemaUtils.test.d.ts +2 -0
  442. package/lib/esm/test/SchemaUtils.test.d.ts.map +1 -0
  443. package/lib/esm/test/SchemaUtils.test.js +97 -0
  444. package/lib/esm/test/SchemaUtils.test.js.map +1 -0
  445. package/lib/esm/test/SequentialLogMatcher.d.ts +35 -0
  446. package/lib/esm/test/SequentialLogMatcher.d.ts.map +1 -0
  447. package/lib/esm/test/SequentialLogMatcher.js +130 -0
  448. package/lib/esm/test/SequentialLogMatcher.js.map +1 -0
  449. package/lib/esm/test/TestChangeSetUtility.d.ts +23 -0
  450. package/lib/esm/test/TestChangeSetUtility.d.ts.map +1 -0
  451. package/lib/esm/test/TestChangeSetUtility.js +65 -0
  452. package/lib/esm/test/TestChangeSetUtility.js.map +1 -0
  453. package/lib/esm/test/TestUtils.d.ts +38 -0
  454. package/lib/esm/test/TestUtils.d.ts.map +1 -0
  455. package/lib/esm/test/TestUtils.js +99 -0
  456. package/lib/esm/test/TestUtils.js.map +1 -0
  457. package/lib/esm/test/annotations/TextAnnotation.test.d.ts +2 -0
  458. package/lib/esm/test/annotations/TextAnnotation.test.d.ts.map +1 -0
  459. package/lib/esm/test/annotations/TextAnnotation.test.js +1135 -0
  460. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -0
  461. package/lib/esm/test/categories/Category.test.d.ts +2 -0
  462. package/lib/esm/test/categories/Category.test.d.ts.map +1 -0
  463. package/lib/esm/test/categories/Category.test.js +51 -0
  464. package/lib/esm/test/categories/Category.test.js.map +1 -0
  465. package/lib/esm/test/codespec/CodeSpec.test.d.ts +2 -0
  466. package/lib/esm/test/codespec/CodeSpec.test.d.ts.map +1 -0
  467. package/lib/esm/test/codespec/CodeSpec.test.js +51 -0
  468. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -0
  469. package/lib/esm/test/ecdb/CTE.test.d.ts +2 -0
  470. package/lib/esm/test/ecdb/CTE.test.d.ts.map +1 -0
  471. package/lib/esm/test/ecdb/CTE.test.js +177 -0
  472. package/lib/esm/test/ecdb/CTE.test.js.map +1 -0
  473. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts +2 -0
  474. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts.map +1 -0
  475. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +167 -0
  476. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -0
  477. package/lib/esm/test/ecdb/ECDb.test.d.ts +2 -0
  478. package/lib/esm/test/ecdb/ECDb.test.d.ts.map +1 -0
  479. package/lib/esm/test/ecdb/ECDb.test.js +642 -0
  480. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -0
  481. package/lib/esm/test/ecdb/ECDbTestHelper.d.ts +5 -0
  482. package/lib/esm/test/ecdb/ECDbTestHelper.d.ts.map +1 -0
  483. package/lib/esm/test/ecdb/ECDbTestHelper.js +28 -0
  484. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -0
  485. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts +2 -0
  486. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts.map +1 -0
  487. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js +63 -0
  488. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -0
  489. package/lib/esm/test/ecdb/ECSqlAst.test.d.ts +5 -0
  490. package/lib/esm/test/ecdb/ECSqlAst.test.d.ts.map +1 -0
  491. package/lib/esm/test/ecdb/ECSqlAst.test.js +971 -0
  492. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -0
  493. package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts +2 -0
  494. package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts.map +1 -0
  495. package/lib/esm/test/ecdb/ECSqlQuery.test.js +770 -0
  496. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -0
  497. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts +2 -0
  498. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts.map +1 -0
  499. package/lib/esm/test/ecdb/ECSqlReader.test.js +669 -0
  500. package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -0
  501. package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts +2 -0
  502. package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts.map +1 -0
  503. package/lib/esm/test/ecdb/ECSqlStatement.test.js +3239 -0
  504. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -0
  505. package/lib/esm/test/ecdb/SqliteStatement.test.d.ts +2 -0
  506. package/lib/esm/test/ecdb/SqliteStatement.test.d.ts.map +1 -0
  507. package/lib/esm/test/ecdb/SqliteStatement.test.js +508 -0
  508. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -0
  509. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts +4 -0
  510. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts.map +1 -0
  511. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js +127 -0
  512. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -0
  513. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts +2 -0
  514. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts.map +1 -0
  515. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +196 -0
  516. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -0
  517. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts +66 -0
  518. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts.map +1 -0
  519. package/lib/esm/test/ecsql/src/ECSqlTestParser.js +420 -0
  520. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -0
  521. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts +2 -0
  522. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts.map +1 -0
  523. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js +365 -0
  524. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -0
  525. package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts +2 -0
  526. package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts.map +1 -0
  527. package/lib/esm/test/element/DeleteDefinitionElements.test.js +208 -0
  528. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -0
  529. package/lib/esm/test/element/ElementAspect.test.d.ts +2 -0
  530. package/lib/esm/test/element/ElementAspect.test.d.ts.map +1 -0
  531. package/lib/esm/test/element/ElementAspect.test.js +363 -0
  532. package/lib/esm/test/element/ElementAspect.test.js.map +1 -0
  533. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts +2 -0
  534. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts.map +1 -0
  535. package/lib/esm/test/element/ElementDependencyGraph.test.js +383 -0
  536. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -0
  537. package/lib/esm/test/element/ElementRoundTrip.test.d.ts +2 -0
  538. package/lib/esm/test/element/ElementRoundTrip.test.d.ts.map +1 -0
  539. package/lib/esm/test/element/ElementRoundTrip.test.js +916 -0
  540. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -0
  541. package/lib/esm/test/element/ExcludedElements.test.d.ts +2 -0
  542. package/lib/esm/test/element/ExcludedElements.test.d.ts.map +1 -0
  543. package/lib/esm/test/element/ExcludedElements.test.js +57 -0
  544. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -0
  545. package/lib/esm/test/element/ExternalSource.test.d.ts +2 -0
  546. package/lib/esm/test/element/ExternalSource.test.d.ts.map +1 -0
  547. package/lib/esm/test/element/ExternalSource.test.js +107 -0
  548. package/lib/esm/test/element/ExternalSource.test.js.map +1 -0
  549. package/lib/esm/test/element/NullStructArray.test.d.ts +2 -0
  550. package/lib/esm/test/element/NullStructArray.test.d.ts.map +1 -0
  551. package/lib/esm/test/element/NullStructArray.test.js +77 -0
  552. package/lib/esm/test/element/NullStructArray.test.js.map +1 -0
  553. package/lib/esm/test/element/UrlLink.test.d.ts +2 -0
  554. package/lib/esm/test/element/UrlLink.test.d.ts.map +1 -0
  555. package/lib/esm/test/element/UrlLink.test.js +36 -0
  556. package/lib/esm/test/element/UrlLink.test.js.map +1 -0
  557. package/lib/esm/test/font/FontFile.test.d.ts +2 -0
  558. package/lib/esm/test/font/FontFile.test.d.ts.map +1 -0
  559. package/lib/esm/test/font/FontFile.test.js +139 -0
  560. package/lib/esm/test/font/FontFile.test.js.map +1 -0
  561. package/lib/esm/test/font/IModelDbFonts.test.d.ts +2 -0
  562. package/lib/esm/test/font/IModelDbFonts.test.d.ts.map +1 -0
  563. package/lib/esm/test/font/IModelDbFonts.test.js +264 -0
  564. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -0
  565. package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts +2 -0
  566. package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts.map +1 -0
  567. package/lib/esm/test/hubaccess/BriefcaseManager.test.js +165 -0
  568. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -0
  569. package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts +2 -0
  570. package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts.map +1 -0
  571. package/lib/esm/test/hubaccess/CheckpointManager.test.js +137 -0
  572. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -0
  573. package/lib/esm/test/imageData.d.ts +9 -0
  574. package/lib/esm/test/imageData.d.ts.map +1 -0
  575. package/lib/esm/test/imageData.js +16 -0
  576. package/lib/esm/test/imageData.js.map +1 -0
  577. package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts +2 -0
  578. package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts.map +1 -0
  579. package/lib/esm/test/imodel/ElementTreeWalker.test.js +382 -0
  580. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -0
  581. package/lib/esm/test/imodel/GetTextureImage.test.d.ts +2 -0
  582. package/lib/esm/test/imodel/GetTextureImage.test.d.ts.map +1 -0
  583. package/lib/esm/test/imodel/GetTextureImage.test.js +29 -0
  584. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -0
  585. package/lib/esm/test/imodel/IModel.test.d.ts +2 -0
  586. package/lib/esm/test/imodel/IModel.test.d.ts.map +1 -0
  587. package/lib/esm/test/imodel/IModel.test.js +2601 -0
  588. package/lib/esm/test/imodel/IModel.test.js.map +1 -0
  589. package/lib/esm/test/imodel/ProjectExtents.test.d.ts +2 -0
  590. package/lib/esm/test/imodel/ProjectExtents.test.d.ts.map +1 -0
  591. package/lib/esm/test/imodel/ProjectExtents.test.js +66 -0
  592. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -0
  593. package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts +2 -0
  594. package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts.map +1 -0
  595. package/lib/esm/test/imodel/SchemaXmlImport.test.js +74 -0
  596. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -0
  597. package/lib/esm/test/index.d.ts +7 -0
  598. package/lib/esm/test/index.d.ts.map +1 -0
  599. package/lib/esm/test/index.js +11 -0
  600. package/lib/esm/test/index.js.map +1 -0
  601. package/lib/esm/test/misc/DevTools.test.d.ts +2 -0
  602. package/lib/esm/test/misc/DevTools.test.d.ts.map +1 -0
  603. package/lib/esm/test/misc/DevTools.test.js +72 -0
  604. package/lib/esm/test/misc/DevTools.test.js.map +1 -0
  605. package/lib/esm/test/misc/EntitySubClasses.test.d.ts +2 -0
  606. package/lib/esm/test/misc/EntitySubClasses.test.d.ts.map +1 -0
  607. package/lib/esm/test/misc/EntitySubClasses.test.js +106 -0
  608. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -0
  609. package/lib/esm/test/misc/GeoServices.test.d.ts +2 -0
  610. package/lib/esm/test/misc/GeoServices.test.d.ts.map +1 -0
  611. package/lib/esm/test/misc/GeoServices.test.js +850 -0
  612. package/lib/esm/test/misc/GeoServices.test.js.map +1 -0
  613. package/lib/esm/test/misc/PromiseMemoizer.test.d.ts +2 -0
  614. package/lib/esm/test/misc/PromiseMemoizer.test.d.ts.map +1 -0
  615. package/lib/esm/test/misc/PromiseMemoizer.test.js +111 -0
  616. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -0
  617. package/lib/esm/test/native/DgnDbWorker.test.d.ts +2 -0
  618. package/lib/esm/test/native/DgnDbWorker.test.d.ts.map +1 -0
  619. package/lib/esm/test/native/DgnDbWorker.test.js +159 -0
  620. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -0
  621. package/lib/esm/test/rpc/response.test.d.ts +2 -0
  622. package/lib/esm/test/rpc/response.test.d.ts.map +1 -0
  623. package/lib/esm/test/rpc/response.test.js +112 -0
  624. package/lib/esm/test/rpc/response.test.js.map +1 -0
  625. package/lib/esm/test/schema/ClassRegistry.test.d.ts +2 -0
  626. package/lib/esm/test/schema/ClassRegistry.test.d.ts.map +1 -0
  627. package/lib/esm/test/schema/ClassRegistry.test.js +679 -0
  628. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -0
  629. package/lib/esm/test/schema/FunctionalDomain.test.d.ts +2 -0
  630. package/lib/esm/test/schema/FunctionalDomain.test.d.ts.map +1 -0
  631. package/lib/esm/test/schema/FunctionalDomain.test.js +490 -0
  632. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -0
  633. package/lib/esm/test/schema/GenericDomain.test.d.ts +2 -0
  634. package/lib/esm/test/schema/GenericDomain.test.d.ts.map +1 -0
  635. package/lib/esm/test/schema/GenericDomain.test.js +132 -0
  636. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -0
  637. package/lib/esm/test/schema/IModelSchemaContext.test.d.ts +2 -0
  638. package/lib/esm/test/schema/IModelSchemaContext.test.d.ts.map +1 -0
  639. package/lib/esm/test/schema/IModelSchemaContext.test.js +95 -0
  640. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -0
  641. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts +4 -0
  642. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts.map +1 -0
  643. package/lib/esm/test/sheetindex/SheetIndex.test.js +312 -0
  644. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -0
  645. package/lib/esm/test/standalone/ChangeMerge.test.d.ts +2 -0
  646. package/lib/esm/test/standalone/ChangeMerge.test.d.ts.map +1 -0
  647. package/lib/esm/test/standalone/ChangeMerge.test.js +413 -0
  648. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -0
  649. package/lib/esm/test/standalone/ChangesetReader.test.d.ts +2 -0
  650. package/lib/esm/test/standalone/ChangesetReader.test.d.ts.map +1 -0
  651. package/lib/esm/test/standalone/ChangesetReader.test.js +890 -0
  652. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -0
  653. package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts +2 -0
  654. package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts.map +1 -0
  655. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js +49 -0
  656. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -0
  657. package/lib/esm/test/standalone/DisplayStyle.test.d.ts +2 -0
  658. package/lib/esm/test/standalone/DisplayStyle.test.d.ts.map +1 -0
  659. package/lib/esm/test/standalone/DisplayStyle.test.js +136 -0
  660. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -0
  661. package/lib/esm/test/standalone/ElementGraphics.test.d.ts +2 -0
  662. package/lib/esm/test/standalone/ElementGraphics.test.d.ts.map +1 -0
  663. package/lib/esm/test/standalone/ElementGraphics.test.js +127 -0
  664. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -0
  665. package/lib/esm/test/standalone/ElementMesh.test.d.ts +2 -0
  666. package/lib/esm/test/standalone/ElementMesh.test.d.ts.map +1 -0
  667. package/lib/esm/test/standalone/ElementMesh.test.js +142 -0
  668. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -0
  669. package/lib/esm/test/standalone/ExportGraphics.test.d.ts +2 -0
  670. package/lib/esm/test/standalone/ExportGraphics.test.d.ts.map +1 -0
  671. package/lib/esm/test/standalone/ExportGraphics.test.js +1040 -0
  672. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -0
  673. package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts +2 -0
  674. package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts.map +1 -0
  675. package/lib/esm/test/standalone/GeometryChangeEvents.test.js +139 -0
  676. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -0
  677. package/lib/esm/test/standalone/GeometryStream.test.d.ts +2 -0
  678. package/lib/esm/test/standalone/GeometryStream.test.d.ts.map +1 -0
  679. package/lib/esm/test/standalone/GeometryStream.test.js +2869 -0
  680. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -0
  681. package/lib/esm/test/standalone/HubMock.test.d.ts +2 -0
  682. package/lib/esm/test/standalone/HubMock.test.d.ts.map +1 -0
  683. package/lib/esm/test/standalone/HubMock.test.js +343 -0
  684. package/lib/esm/test/standalone/HubMock.test.js.map +1 -0
  685. package/lib/esm/test/standalone/IModelWrite.test.d.ts +7 -0
  686. package/lib/esm/test/standalone/IModelWrite.test.d.ts.map +1 -0
  687. package/lib/esm/test/standalone/IModelWrite.test.js +859 -0
  688. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -0
  689. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts +2 -0
  690. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts.map +1 -0
  691. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js +417 -0
  692. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -0
  693. package/lib/esm/test/standalone/MergeConflict.test.d.ts +7 -0
  694. package/lib/esm/test/standalone/MergeConflict.test.d.ts.map +1 -0
  695. package/lib/esm/test/standalone/MergeConflict.test.js +345 -0
  696. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -0
  697. package/lib/esm/test/standalone/NativeAppStorage.test.d.ts +2 -0
  698. package/lib/esm/test/standalone/NativeAppStorage.test.d.ts.map +1 -0
  699. package/lib/esm/test/standalone/NativeAppStorage.test.js +121 -0
  700. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -0
  701. package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts +2 -0
  702. package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts.map +1 -0
  703. package/lib/esm/test/standalone/RenderMaterialElement.test.js +398 -0
  704. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -0
  705. package/lib/esm/test/standalone/RenderTimeline.test.d.ts +2 -0
  706. package/lib/esm/test/standalone/RenderTimeline.test.d.ts.map +1 -0
  707. package/lib/esm/test/standalone/RenderTimeline.test.js +71 -0
  708. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -0
  709. package/lib/esm/test/standalone/SQLiteDb.test.d.ts +2 -0
  710. package/lib/esm/test/standalone/SQLiteDb.test.d.ts.map +1 -0
  711. package/lib/esm/test/standalone/SQLiteDb.test.js +63 -0
  712. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -0
  713. package/lib/esm/test/standalone/SchemaUtils.test.d.ts +2 -0
  714. package/lib/esm/test/standalone/SchemaUtils.test.d.ts.map +1 -0
  715. package/lib/esm/test/standalone/SchemaUtils.test.js +25 -0
  716. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -0
  717. package/lib/esm/test/standalone/SectionDrawing.test.d.ts +2 -0
  718. package/lib/esm/test/standalone/SectionDrawing.test.d.ts.map +1 -0
  719. package/lib/esm/test/standalone/SectionDrawing.test.js +83 -0
  720. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -0
  721. package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts +2 -0
  722. package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts.map +1 -0
  723. package/lib/esm/test/standalone/ServerBasedLocks.test.js +279 -0
  724. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -0
  725. package/lib/esm/test/standalone/Setting.test.d.ts +2 -0
  726. package/lib/esm/test/standalone/Setting.test.d.ts.map +1 -0
  727. package/lib/esm/test/standalone/Setting.test.js +76 -0
  728. package/lib/esm/test/standalone/Setting.test.js.map +1 -0
  729. package/lib/esm/test/standalone/Settings.test.d.ts +2 -0
  730. package/lib/esm/test/standalone/Settings.test.d.ts.map +1 -0
  731. package/lib/esm/test/standalone/Settings.test.js +349 -0
  732. package/lib/esm/test/standalone/Settings.test.js.map +1 -0
  733. package/lib/esm/test/standalone/SettingsSchemas.test.d.ts +2 -0
  734. package/lib/esm/test/standalone/SettingsSchemas.test.d.ts.map +1 -0
  735. package/lib/esm/test/standalone/SettingsSchemas.test.js +31 -0
  736. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -0
  737. package/lib/esm/test/standalone/SnapshotDb.test.d.ts +2 -0
  738. package/lib/esm/test/standalone/SnapshotDb.test.d.ts.map +1 -0
  739. package/lib/esm/test/standalone/SnapshotDb.test.js +153 -0
  740. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -0
  741. package/lib/esm/test/standalone/Texture.test.d.ts +2 -0
  742. package/lib/esm/test/standalone/Texture.test.d.ts.map +1 -0
  743. package/lib/esm/test/standalone/Texture.test.js +90 -0
  744. package/lib/esm/test/standalone/Texture.test.js.map +1 -0
  745. package/lib/esm/test/standalone/TileCache.test.d.ts +9 -0
  746. package/lib/esm/test/standalone/TileCache.test.d.ts.map +1 -0
  747. package/lib/esm/test/standalone/TileCache.test.js +127 -0
  748. package/lib/esm/test/standalone/TileCache.test.js.map +1 -0
  749. package/lib/esm/test/standalone/TileTree.test.d.ts +2 -0
  750. package/lib/esm/test/standalone/TileTree.test.d.ts.map +1 -0
  751. package/lib/esm/test/standalone/TileTree.test.js +241 -0
  752. package/lib/esm/test/standalone/TileTree.test.js.map +1 -0
  753. package/lib/esm/test/standalone/TxnManager.test.d.ts +2 -0
  754. package/lib/esm/test/standalone/TxnManager.test.d.ts.map +1 -0
  755. package/lib/esm/test/standalone/TxnManager.test.js +878 -0
  756. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -0
  757. package/lib/esm/test/standalone/ViewDefinition.test.d.ts +2 -0
  758. package/lib/esm/test/standalone/ViewDefinition.test.d.ts.map +1 -0
  759. package/lib/esm/test/standalone/ViewDefinition.test.js +279 -0
  760. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -0
  761. package/lib/esm/test/standalone/ViewStoreDb.test.d.ts +2 -0
  762. package/lib/esm/test/standalone/ViewStoreDb.test.d.ts.map +1 -0
  763. package/lib/esm/test/standalone/ViewStoreDb.test.js +288 -0
  764. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -0
  765. package/lib/esm/test/standalone/Workspace.test.d.ts +2 -0
  766. package/lib/esm/test/standalone/Workspace.test.d.ts.map +1 -0
  767. package/lib/esm/test/standalone/Workspace.test.js +161 -0
  768. package/lib/esm/test/standalone/Workspace.test.js.map +1 -0
  769. package/lib/esm/workspace/Settings.d.ts +216 -0
  770. package/lib/esm/workspace/Settings.d.ts.map +1 -0
  771. package/lib/esm/workspace/Settings.js +83 -0
  772. package/lib/esm/workspace/Settings.js.map +1 -0
  773. package/lib/esm/workspace/SettingsSchemas.d.ts +135 -0
  774. package/lib/esm/workspace/SettingsSchemas.d.ts.map +1 -0
  775. package/lib/esm/workspace/SettingsSchemas.js +9 -0
  776. package/lib/esm/workspace/SettingsSchemas.js.map +1 -0
  777. package/lib/esm/workspace/Workspace.d.ts +507 -0
  778. package/lib/esm/workspace/Workspace.d.ts.map +1 -0
  779. package/lib/esm/workspace/Workspace.js +97 -0
  780. package/lib/esm/workspace/Workspace.js.map +1 -0
  781. package/lib/esm/workspace/WorkspaceEditor.d.ts +245 -0
  782. package/lib/esm/workspace/WorkspaceEditor.d.ts.map +1 -0
  783. package/lib/esm/workspace/WorkspaceEditor.js +31 -0
  784. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -0
  785. package/package.json +18 -14
@@ -0,0 +1,583 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { join } from "path";
6
+ import { DbResult, IModelHubStatus, IModelStatus, OpenMode } from "@itwin/core-bentley";
7
+ import { BriefcaseIdValue, IModelError, LockState, } from "@itwin/core-common";
8
+ import { LockConflict } from "./BackendHubAccess";
9
+ import { BriefcaseManager } from "./BriefcaseManager";
10
+ import { BriefcaseLocalValue, IModelDb, SnapshotDb } from "./IModelDb";
11
+ import { IModelJsFs } from "./IModelJsFs";
12
+ import { SQLiteDb } from "./SQLiteDb";
13
+ /**
14
+ * A "local" mock for IModelHub to provide access to a single iModel. Used by HubMock.
15
+ * @internal
16
+ */
17
+ export class LocalHub {
18
+ rootDir;
19
+ iTwinId;
20
+ iModelId;
21
+ iModelName;
22
+ description;
23
+ _hubDb;
24
+ _nextBriefcaseId = BriefcaseIdValue.FirstValid;
25
+ _latestChangesetIndex = 0;
26
+ get latestChangesetIndex() { return this._latestChangesetIndex; }
27
+ constructor(rootDir, arg) {
28
+ this.rootDir = rootDir;
29
+ this.iTwinId = arg.iTwinId;
30
+ this.iModelId = arg.iModelId;
31
+ this.iModelName = arg.iModelName;
32
+ this.description = arg.description;
33
+ this.cleanup();
34
+ IModelJsFs.recursiveMkDirSync(this.rootDir);
35
+ IModelJsFs.mkdirSync(this.changesetDir);
36
+ IModelJsFs.mkdirSync(this.checkpointDir);
37
+ const db = this._hubDb = new SQLiteDb();
38
+ db.createDb(this.mockDbName);
39
+ db.executeSQL("CREATE TABLE briefcases(id INTEGER PRIMARY KEY NOT NULL,user TEXT NOT NULL,alias TEXT NOT NULL,assigned INTEGER DEFAULT 1)");
40
+ db.executeSQL("CREATE TABLE timeline(csIndex INTEGER PRIMARY KEY NOT NULL,csId TEXT NOT NULL UNIQUE,description TEXT,user TEXT,size BIGINT,type INTEGER,pushDate TEXT,briefcaseId INTEGER,\
41
+ FOREIGN KEY(briefcaseId) REFERENCES briefcases(id))");
42
+ db.executeSQL("CREATE TABLE checkpoints(csIndex INTEGER PRIMARY KEY NOT NULL)");
43
+ db.executeSQL("CREATE TABLE versions(name TEXT PRIMARY KEY NOT NULL,csIndex TEXT,FOREIGN KEY(csIndex) REFERENCES timeline(csIndex))");
44
+ db.executeSQL("CREATE TABLE locks(id INTEGER PRIMARY KEY NOT NULL,level INTEGER NOT NULL,lastCSetIndex INTEGER,briefcaseId INTEGER)");
45
+ db.executeSQL("CREATE TABLE sharedLocks(lockId INTEGER NOT NULL,briefcaseId INTEGER NOT NULL,PRIMARY KEY(lockId,briefcaseId))");
46
+ db.executeSQL("CREATE INDEX LockIdx ON locks(briefcaseId)");
47
+ db.executeSQL("CREATE INDEX SharedLockIdx ON sharedLocks(briefcaseId)");
48
+ db.saveChanges();
49
+ const version0Root = `${rootDir}_version0`;
50
+ const version0 = arg.version0 ?? join(version0Root, "version0.bim");
51
+ if (!arg.version0) { // if they didn't supply a version0 file, create a blank one.
52
+ IModelJsFs.recursiveMkDirSync(version0Root);
53
+ IModelJsFs.removeSync(version0);
54
+ SnapshotDb.createEmpty(version0, { rootSubject: { name: arg.description ?? arg.iModelName } }).close();
55
+ }
56
+ const path = this.uploadCheckpoint({ changesetIndex: 0, localFile: version0 });
57
+ if (!arg.version0)
58
+ IModelJsFs.removeSync(version0);
59
+ const nativeDb = IModelDb.openDgnDb({ path }, OpenMode.ReadWrite);
60
+ try {
61
+ nativeDb.setITwinId(this.iTwinId);
62
+ nativeDb.setIModelId(this.iModelId);
63
+ nativeDb.saveChanges();
64
+ nativeDb.deleteAllTxns(); // necessary before resetting briefcaseId
65
+ nativeDb.resetBriefcaseId(BriefcaseIdValue.Unassigned);
66
+ nativeDb.saveLocalValue(BriefcaseLocalValue.NoLocking, arg.noLocks ? "true" : undefined);
67
+ nativeDb.saveChanges();
68
+ }
69
+ finally {
70
+ nativeDb.closeFile();
71
+ }
72
+ }
73
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
74
+ get db() { return this._hubDb; } // eslint-disable-line @typescript-eslint/naming-convention
75
+ get changesetDir() { return join(this.rootDir, "changesets"); }
76
+ get checkpointDir() { return join(this.rootDir, "checkpoints"); }
77
+ get mockDbName() { return join(this.rootDir, "localHub.db"); }
78
+ /** Acquire the next available briefcaseId and assign it to the supplied user */
79
+ acquireNewBriefcaseId(user, alias) {
80
+ const db = this.db;
81
+ const newId = this._nextBriefcaseId++;
82
+ db.withSqliteStatement("INSERT INTO briefcases(id,user,alias) VALUES (?,?,?)", (stmt) => {
83
+ stmt.bindInteger(1, newId);
84
+ stmt.bindString(2, user);
85
+ stmt.bindString(3, alias ?? `${user} (${newId})`);
86
+ const rc = stmt.step();
87
+ if (DbResult.BE_SQLITE_DONE !== rc)
88
+ throw new IModelError(rc, "can't insert briefcaseId in mock database");
89
+ });
90
+ db.saveChanges();
91
+ return newId;
92
+ }
93
+ /** Release a briefcaseId */
94
+ releaseBriefcaseId(id) {
95
+ const db = this.db;
96
+ this.releaseAllLocks({ briefcaseId: id, changesetIndex: 0 });
97
+ db.withSqliteStatement("UPDATE briefcases SET assigned=0 WHERE id=?", (stmt) => {
98
+ stmt.bindInteger(1, id);
99
+ const rc = stmt.step();
100
+ if (DbResult.BE_SQLITE_DONE !== rc)
101
+ throw new IModelError(rc, `briefcaseId ${id} was not reserved`);
102
+ });
103
+ db.saveChanges();
104
+ }
105
+ /** Get an array of all of the currently assigned Briefcases */
106
+ getBriefcases(onlyAssigned = true) {
107
+ const briefcases = [];
108
+ let sql = "SELECT id,user,alias,assigned FROM briefcases";
109
+ if (onlyAssigned)
110
+ sql += " WHERE assigned=1";
111
+ this.db.withSqliteStatement(sql, (stmt) => {
112
+ while (DbResult.BE_SQLITE_ROW === stmt.step()) {
113
+ briefcases.push({
114
+ id: stmt.getValueInteger(0),
115
+ user: stmt.getValueString(1),
116
+ alias: stmt.getValueString(2),
117
+ assigned: stmt.getValueInteger(3) !== 0,
118
+ });
119
+ }
120
+ });
121
+ return briefcases;
122
+ }
123
+ /** Get an array of all of the currently assigned BriefcaseIds for a user */
124
+ getBriefcaseIds(user) {
125
+ const briefcases = [];
126
+ this.db.withSqliteStatement("SELECT id FROM briefcases WHERE user=? AND assigned=1", (stmt) => {
127
+ stmt.bindString(1, user);
128
+ while (DbResult.BE_SQLITE_ROW === stmt.step())
129
+ briefcases.push(stmt.getValueInteger(0));
130
+ });
131
+ return briefcases;
132
+ }
133
+ getBriefcase(id) {
134
+ return this.db.withSqliteStatement("SELECT user,alias,assigned FROM briefcases WHERE id=?", (stmt) => {
135
+ stmt.bindInteger(1, id);
136
+ if (DbResult.BE_SQLITE_ROW !== stmt.step())
137
+ throw new IModelError(IModelStatus.NotFound, "no briefcase with that id");
138
+ return { id, user: stmt.getValueString(0), alias: stmt.getValueString(1), assigned: stmt.getValueInteger(2) !== 0 };
139
+ });
140
+ }
141
+ getChangesetFileName(index) {
142
+ return join(this.changesetDir, `changeset-${index}`);
143
+ }
144
+ /** Add a changeset to the timeline
145
+ * @return the changesetIndex of the added changeset
146
+ */
147
+ addChangeset(changeset) {
148
+ const stats = IModelJsFs.lstatSync(changeset.pathname);
149
+ if (!stats)
150
+ throw new Error(`cannot read changeset file ${changeset.pathname}`);
151
+ const parentIndex = this.getChangesetById(changeset.parentId).index;
152
+ if (parentIndex !== this.latestChangesetIndex)
153
+ throw new IModelError(IModelStatus.InvalidParent, "changeset parent is not latest changeset");
154
+ this.getBriefcase(changeset.briefcaseId); // throws if invalid id
155
+ const db = this.db;
156
+ changeset.index = this._latestChangesetIndex + 1;
157
+ db.withSqliteStatement("INSERT INTO timeline(csIndex,csId,description,size,type,pushDate,user,briefcaseId) VALUES (?,?,?,?,?,?,?,?)", (stmt) => {
158
+ stmt.bindInteger(1, changeset.index);
159
+ stmt.bindString(2, changeset.id);
160
+ stmt.bindString(3, changeset.description);
161
+ stmt.bindInteger(4, stats.size);
162
+ stmt.bindInteger(5, changeset.changesType ?? 0);
163
+ stmt.bindString(6, changeset.pushDate ?? new Date().toISOString());
164
+ stmt.bindString(7, changeset.userCreated ?? "");
165
+ stmt.bindInteger(8, changeset.briefcaseId);
166
+ const rc = stmt.step();
167
+ if (DbResult.BE_SQLITE_DONE !== rc)
168
+ throw new IModelError(rc, "can't insert changeset into mock db");
169
+ });
170
+ this._latestChangesetIndex = changeset.index; // only change this after insert succeeds
171
+ db.saveChanges();
172
+ IModelJsFs.copySync(changeset.pathname, this.getChangesetFileName(changeset.index));
173
+ return changeset.index;
174
+ }
175
+ getIndexFromChangeset(changeset) {
176
+ return changeset.index ?? this.getChangesetIndex(changeset.id);
177
+ }
178
+ /** Get the index of a changeset by its Id */
179
+ getChangesetIndex(id) {
180
+ if (id === "")
181
+ return 0;
182
+ return this.db.withPreparedSqliteStatement("SELECT csIndex FROM timeline WHERE csId=?", (stmt) => {
183
+ stmt.bindString(1, id);
184
+ const rc = stmt.step();
185
+ if (DbResult.BE_SQLITE_ROW !== rc)
186
+ throw new IModelError(rc, `changeset ${id} not found`);
187
+ return stmt.getValueInteger(0);
188
+ });
189
+ }
190
+ /** Get the properties of a changeset by its Id */
191
+ getChangesetById(id) {
192
+ return this.getChangesetByIndex(this.getChangesetIndex(id));
193
+ }
194
+ getPreviousIndex(index) {
195
+ return this.db.withPreparedSqliteStatement("SELECT max(csIndex) FROM timeline WHERE csIndex<?", (stmt) => {
196
+ stmt.bindInteger(1, index);
197
+ const rc = stmt.step();
198
+ if (DbResult.BE_SQLITE_ROW !== rc)
199
+ throw new IModelError(rc, `cannot get previous index`);
200
+ return stmt.getValueInteger(0);
201
+ });
202
+ }
203
+ getParentId(index) {
204
+ if (index === 0)
205
+ return "";
206
+ return this.db.withPreparedSqliteStatement("SELECT csId FROM timeline WHERE csIndex=?", (stmt) => {
207
+ stmt.bindInteger(1, this.getPreviousIndex(index));
208
+ stmt.step();
209
+ return stmt.getValueString(0);
210
+ });
211
+ }
212
+ /** Get the properties of a changeset by its index */
213
+ getChangesetByIndex(index) {
214
+ if (index <= 0)
215
+ return { id: "", changesType: 0, description: "version0", parentId: "", briefcaseId: 0, pushDate: "", userCreated: "", index: 0, size: 0 };
216
+ return this.db.withPreparedSqliteStatement("SELECT description,size,type,pushDate,user,csId,briefcaseId FROM timeline WHERE csIndex=?", (stmt) => {
217
+ stmt.bindInteger(1, index);
218
+ const rc = stmt.step();
219
+ if (DbResult.BE_SQLITE_ROW !== rc)
220
+ throw new IModelError(rc, `changeset at index ${index} not found`);
221
+ return {
222
+ description: stmt.getValueString(0),
223
+ size: stmt.getValueDouble(1),
224
+ changesType: stmt.getValueInteger(2),
225
+ pushDate: stmt.getValueString(3),
226
+ userCreated: stmt.getValueString(4),
227
+ id: stmt.getValueString(5),
228
+ briefcaseId: stmt.getValueInteger(6),
229
+ index,
230
+ parentId: this.getParentId(index),
231
+ };
232
+ });
233
+ }
234
+ getLatestChangeset() {
235
+ return this.getChangesetByIndex(this.latestChangesetIndex);
236
+ }
237
+ getChangesetId(index) {
238
+ return this.getChangesetByIndex(index).id;
239
+ }
240
+ /** Get an array of changesets starting with first to last, by index */
241
+ queryChangesets(range) {
242
+ const changesets = [];
243
+ const first = range?.first ?? 0;
244
+ const last = range?.end ?? this.latestChangesetIndex;
245
+ this.db.withPreparedSqliteStatement("SELECT csIndex FROM timeline WHERE csIndex>=? AND csIndex<=? ORDER BY csIndex", (stmt) => {
246
+ stmt.bindInteger(1, first);
247
+ stmt.bindInteger(2, last);
248
+ while (DbResult.BE_SQLITE_ROW === stmt.step())
249
+ changesets.push(this.getChangesetByIndex(stmt.getValueInteger(0)));
250
+ });
251
+ return changesets;
252
+ }
253
+ /** Name a version */
254
+ addNamedVersion(arg) {
255
+ const db = this.db;
256
+ db.withSqliteStatement("INSERT INTO versions(name,csIndex) VALUES (?,?)", (stmt) => {
257
+ stmt.bindString(1, arg.versionName);
258
+ stmt.bindInteger(2, arg.csIndex);
259
+ const rc = stmt.step();
260
+ if (DbResult.BE_SQLITE_DONE !== rc)
261
+ throw new IModelError(rc, "can't insert named version");
262
+ });
263
+ db.saveChanges();
264
+ }
265
+ /** Delete a named version */
266
+ deleteNamedVersion(versionName) {
267
+ const db = this.db;
268
+ db.withSqliteStatement("DELETE FROM versions WHERE name=?", (stmt) => {
269
+ stmt.bindString(1, versionName);
270
+ const rc = stmt.step();
271
+ if (DbResult.BE_SQLITE_DONE !== rc)
272
+ throw new IModelError(rc, "can't delete named version");
273
+ });
274
+ db.saveChanges();
275
+ }
276
+ /** find the changeset for a named version */
277
+ findNamedVersion(versionName) {
278
+ const index = this.db.withSqliteStatement("SELECT csIndex FROM versions WHERE name=?", (stmt) => {
279
+ stmt.bindString(1, versionName);
280
+ const rc = stmt.step();
281
+ if (DbResult.BE_SQLITE_ROW !== rc)
282
+ throw new IModelError(IModelStatus.NotFound, `Named version ${versionName} not found`);
283
+ return stmt.getValueInteger(0);
284
+ });
285
+ return this.getChangesetByIndex(index);
286
+ }
287
+ checkpointNameFromIndex(csIndex) {
288
+ return `checkpoint-${csIndex}`;
289
+ }
290
+ /** "upload" a checkpoint */
291
+ uploadCheckpoint(arg) {
292
+ const db = this.db;
293
+ db.withSqliteStatement("INSERT INTO checkpoints(csIndex) VALUES (?)", (stmt) => {
294
+ stmt.bindInteger(1, arg.changesetIndex);
295
+ const res = stmt.step();
296
+ if (DbResult.BE_SQLITE_DONE !== res)
297
+ throw new IModelError(res, "can't insert checkpoint into mock db");
298
+ });
299
+ db.saveChanges();
300
+ const outName = join(this.checkpointDir, this.checkpointNameFromIndex(arg.changesetIndex));
301
+ IModelJsFs.copySync(arg.localFile, outName);
302
+ return outName;
303
+ }
304
+ /** Get an array of the indexes for a range of checkpoints */
305
+ getCheckpoints(range) {
306
+ const first = range?.first ?? 0;
307
+ const last = range?.end ?? this.latestChangesetIndex;
308
+ const checkpoints = [];
309
+ this.db.withSqliteStatement("SELECT csIndex FROM checkpoints WHERE csIndex>=? AND csIndex<=? ORDER BY csIndex", (stmt) => {
310
+ stmt.bindInteger(1, first);
311
+ stmt.bindInteger(2, last);
312
+ while (DbResult.BE_SQLITE_ROW === stmt.step())
313
+ checkpoints.push(stmt.getValueInteger(0));
314
+ });
315
+ return checkpoints;
316
+ }
317
+ /** Find the checkpoint that is no newer than a changesetIndex */
318
+ queryPreviousCheckpoint(changesetIndex) {
319
+ if (changesetIndex <= 0)
320
+ return 0;
321
+ return this.db.withSqliteStatement("SELECT max(csIndex) FROM checkpoints WHERE csIndex <= ? ", (stmt) => {
322
+ stmt.bindInteger(1, changesetIndex);
323
+ const res = stmt.step();
324
+ if (DbResult.BE_SQLITE_ROW !== res)
325
+ throw new IModelError(res, "can't get previous checkpoint");
326
+ return stmt.getValueInteger(0);
327
+ });
328
+ }
329
+ /** "download" a checkpoint */
330
+ downloadCheckpoint(arg) {
331
+ const index = this.getIndexFromChangeset(arg.changeset);
332
+ const prev = this.queryPreviousCheckpoint(index);
333
+ IModelJsFs.copySync(join(this.checkpointDir, this.checkpointNameFromIndex(prev)), arg.targetFile);
334
+ const changeset = this.getChangesetByIndex(index);
335
+ return { index, id: changeset.id };
336
+ }
337
+ copyChangeset(arg) {
338
+ IModelJsFs.copySync(this.getChangesetFileName(arg.index), arg.pathname);
339
+ return arg;
340
+ }
341
+ /** "download" a changeset */
342
+ downloadChangeset(arg) {
343
+ const cs = this.getChangesetByIndex(arg.index);
344
+ const csProps = { ...cs, pathname: join(arg.targetDir, cs.id), index: arg.index };
345
+ return this.copyChangeset(csProps);
346
+ }
347
+ /** "download" all the changesets in a given range */
348
+ downloadChangesets(arg) {
349
+ const cSets = this.queryChangesets(arg.range);
350
+ for (const cs of cSets) {
351
+ cs.pathname = join(arg.targetDir, cs.id);
352
+ this.copyChangeset(cs);
353
+ }
354
+ return cSets;
355
+ }
356
+ querySharedLockHolders(elementId) {
357
+ return this.db.withPreparedSqliteStatement("SELECT briefcaseId FROM sharedLocks WHERE lockId=?", (stmt) => {
358
+ stmt.bindId(1, elementId);
359
+ const briefcases = new Set();
360
+ while (DbResult.BE_SQLITE_ROW === stmt.step())
361
+ briefcases.add(stmt.getValueInteger(0));
362
+ return briefcases;
363
+ });
364
+ }
365
+ queryAllLocks(briefcaseId) {
366
+ this.getBriefcase(briefcaseId); // throws if briefcaseId invalid.
367
+ const locks = [];
368
+ this.db.withPreparedSqliteStatement("SELECT id FROM locks WHERE briefcaseId=?", (stmt) => {
369
+ stmt.bindInteger(1, briefcaseId);
370
+ while (DbResult.BE_SQLITE_ROW === stmt.step())
371
+ locks.push({ id: stmt.getValueId(0), state: LockState.Exclusive });
372
+ });
373
+ this.db.withPreparedSqliteStatement("SELECT lockId FROM sharedLocks WHERE briefcaseId=?", (stmt) => {
374
+ stmt.bindInteger(1, briefcaseId);
375
+ while (DbResult.BE_SQLITE_ROW === stmt.step())
376
+ locks.push({ id: stmt.getValueId(0), state: LockState.Shared });
377
+ });
378
+ return locks;
379
+ }
380
+ queryLockStatus(elementId) {
381
+ return this.db.withPreparedSqliteStatement("SELECT lastCSetIndex,level,briefcaseId FROM locks WHERE id=?", (stmt) => {
382
+ stmt.bindId(1, elementId);
383
+ const rc = stmt.step();
384
+ if (DbResult.BE_SQLITE_ROW !== rc)
385
+ return { state: LockState.None };
386
+ const lastCsVal = stmt.getValue(0);
387
+ const lock = {
388
+ lastCsIndex: lastCsVal.isNull ? undefined : lastCsVal.getInteger(),
389
+ state: stmt.getValueInteger(1),
390
+ };
391
+ switch (lock.state) {
392
+ case LockState.None:
393
+ return lock;
394
+ case LockState.Exclusive:
395
+ return { ...lock, briefcaseId: stmt.getValueInteger(2) };
396
+ case LockState.Shared:
397
+ return { ...lock, sharedBy: this.querySharedLockHolders(elementId) };
398
+ default:
399
+ throw new Error("illegal lock state");
400
+ }
401
+ });
402
+ }
403
+ reserveLock(currStatus, props, briefcase) {
404
+ if (props.state === LockState.Exclusive && currStatus.lastCsIndex && (currStatus.lastCsIndex > this.getIndexFromChangeset(briefcase.changeset)))
405
+ throw new IModelError(IModelHubStatus.PullIsRequired, "pull is required to obtain lock");
406
+ const wantShared = props.state === LockState.Shared;
407
+ if (wantShared && (currStatus.state === LockState.Exclusive))
408
+ throw new Error("cannot acquire shared lock because an exclusive lock is already held");
409
+ this.db.withPreparedSqliteStatement("INSERT INTO locks(id,level,briefcaseId) VALUES(?,?,?) ON CONFLICT(id) DO UPDATE SET briefcaseId=excluded.briefcaseId,level=excluded.level", (stmt) => {
410
+ stmt.bindId(1, props.id);
411
+ stmt.bindInteger(2, props.state);
412
+ stmt.bindValue(3, wantShared ? undefined : briefcase.briefcaseId);
413
+ const rc = stmt.step();
414
+ if (rc !== DbResult.BE_SQLITE_DONE)
415
+ throw new IModelError(rc, "cannot insert lock");
416
+ });
417
+ if (wantShared) {
418
+ this.db.withPreparedSqliteStatement("INSERT INTO sharedLocks(lockId,briefcaseId) VALUES(?,?)", (stmt) => {
419
+ stmt.bindId(1, props.id);
420
+ stmt.bindInteger(2, briefcase.briefcaseId);
421
+ const rc = stmt.step();
422
+ if (rc !== DbResult.BE_SQLITE_DONE)
423
+ throw new IModelError(rc, "cannot insert shared lock");
424
+ });
425
+ }
426
+ }
427
+ clearLock(id) {
428
+ this.db.withPreparedSqliteStatement("UPDATE locks SET level=0,briefcaseId=NULL WHERE id=?", (stmt) => {
429
+ stmt.bindId(1, id);
430
+ const rc = stmt.step();
431
+ if (rc !== DbResult.BE_SQLITE_DONE)
432
+ throw new IModelError(rc, "can't release lock");
433
+ });
434
+ }
435
+ updateLockChangeset(id, index) {
436
+ if (index <= 0)
437
+ return;
438
+ this.db.withPreparedSqliteStatement("UPDATE locks SET lastCSetIndex=? WHERE id=?", (stmt) => {
439
+ stmt.bindInteger(1, index);
440
+ stmt.bindId(2, id);
441
+ const rc = stmt.step();
442
+ if (rc !== DbResult.BE_SQLITE_DONE)
443
+ throw new IModelError(rc, "can't update lock changeSetId");
444
+ });
445
+ }
446
+ requestLock(props, briefcase) {
447
+ if (props.state === LockState.None)
448
+ throw new Error("cannot request lock for LockState.None");
449
+ this.getBriefcase(briefcase.briefcaseId); // throws if briefcaseId invalid.
450
+ const lockStatus = this.queryLockStatus(props.id);
451
+ switch (lockStatus.state) {
452
+ case LockState.None:
453
+ return this.reserveLock(lockStatus, props, briefcase);
454
+ case LockState.Shared:
455
+ if (props.state === LockState.Shared) {
456
+ if (!lockStatus.sharedBy.has(briefcase.briefcaseId))
457
+ this.reserveLock(lockStatus, props, briefcase);
458
+ }
459
+ else {
460
+ // if requester is the only one holding a shared lock, "upgrade" the lock from shared to exclusive
461
+ if (lockStatus.sharedBy.size > 1 || !lockStatus.sharedBy.has(briefcase.briefcaseId)) {
462
+ const id = lockStatus.sharedBy.values().next().value; // eslint-disable-line @typescript-eslint/no-non-null-assertion
463
+ throw new LockConflict(id, this.getBriefcase(id).alias, "shared lock is held");
464
+ }
465
+ this.removeSharedLock(props.id, briefcase.briefcaseId);
466
+ this.reserveLock(this.queryLockStatus(props.id), props, briefcase);
467
+ }
468
+ return;
469
+ case LockState.Exclusive:
470
+ if (lockStatus.briefcaseId !== briefcase.briefcaseId)
471
+ throw new LockConflict(lockStatus.briefcaseId, this.getBriefcase(lockStatus.briefcaseId).alias, "exclusive lock is already held");
472
+ }
473
+ }
474
+ removeSharedLock(lockId, briefcaseId) {
475
+ this.db.withPreparedSqliteStatement("DELETE FROM sharedLocks WHERE lockId=? AND briefcaseId=?", (stmt) => {
476
+ stmt.bindId(1, lockId);
477
+ stmt.bindInteger(2, briefcaseId);
478
+ const rc = stmt.step();
479
+ if (rc !== DbResult.BE_SQLITE_DONE)
480
+ throw new IModelError(rc, "can't remove shared lock");
481
+ });
482
+ }
483
+ releaseLock(props, arg) {
484
+ const lockId = props.id;
485
+ const lockStatus = this.queryLockStatus(lockId);
486
+ switch (lockStatus.state) {
487
+ case LockState.None:
488
+ throw new IModelError(IModelHubStatus.LockDoesNotExist, "lock not held");
489
+ case LockState.Exclusive:
490
+ if (lockStatus.briefcaseId !== arg.briefcaseId)
491
+ throw new IModelError(IModelHubStatus.LockOwnedByAnotherBriefcase, "lock not held by this briefcase");
492
+ this.updateLockChangeset(lockId, arg.changesetIndex);
493
+ this.clearLock(lockId);
494
+ break;
495
+ case LockState.Shared:
496
+ if (!lockStatus.sharedBy.has(arg.briefcaseId))
497
+ throw new IModelError(IModelHubStatus.LockDoesNotExist, "shared lock not held by this briefcase");
498
+ this.removeSharedLock(lockId, arg.briefcaseId);
499
+ if (lockStatus.sharedBy.size === 1)
500
+ this.clearLock(lockId);
501
+ }
502
+ }
503
+ /** Acquire a set of locks. If any lock cannot be acquired, no locks are acquired */
504
+ acquireLocks(locks, briefcase) {
505
+ try {
506
+ for (const lock of locks)
507
+ this.requestLock({ id: lock[0], state: lock[1] }, briefcase);
508
+ this.db.saveChanges(); // only after all locks have been acquired
509
+ }
510
+ catch (err) {
511
+ this.db.abandonChanges(); // abandon all locks that may have been acquired
512
+ throw err;
513
+ }
514
+ }
515
+ acquireLock(props, briefcase) {
516
+ const locks = new Map();
517
+ locks.set(props.id, props.state);
518
+ this.acquireLocks(locks, briefcase);
519
+ }
520
+ releaseLocks(locks, arg) {
521
+ for (const props of locks)
522
+ this.releaseLock(props, arg);
523
+ this.db.saveChanges();
524
+ }
525
+ releaseAllLocks(arg) {
526
+ const locks = this.queryAllLocks(arg.briefcaseId);
527
+ this.releaseLocks(locks, arg);
528
+ }
529
+ countTable(tableName) {
530
+ return this.db.withSqliteStatement(`SELECT count(*) from ${tableName}`, (stmt) => {
531
+ stmt.step();
532
+ return stmt.getValueInteger(0);
533
+ });
534
+ }
535
+ // for debugging
536
+ countSharedLocks() { return this.countTable("sharedLocks"); }
537
+ // for debugging
538
+ countLocks() { return this.countTable("locks"); }
539
+ // for debugging
540
+ queryAllSharedLocks() {
541
+ const locks = [];
542
+ this.db.withPreparedSqliteStatement("SELECT lockId,briefcaseId FROM sharedLocks", (stmt) => {
543
+ while (DbResult.BE_SQLITE_ROW === stmt.step())
544
+ locks.push({ id: stmt.getValueId(0), briefcaseId: stmt.getValueInteger(1) });
545
+ });
546
+ return locks;
547
+ }
548
+ // for debugging
549
+ queryLocks() {
550
+ const locks = [];
551
+ this.db.withPreparedSqliteStatement("SELECT id,level,lastCSetIndex,briefcaseId FROM locks", (stmt) => {
552
+ while (DbResult.BE_SQLITE_ROW === stmt.step())
553
+ locks.push({
554
+ id: stmt.getValueId(0),
555
+ level: stmt.getValueInteger(1),
556
+ lastCsIndex: stmt.getValue(2).isNull ? undefined : stmt.getValueInteger(2),
557
+ briefcaseId: stmt.getValue(3).isNull ? undefined : stmt.getValueInteger(3),
558
+ });
559
+ });
560
+ return locks;
561
+ }
562
+ removeDir(dirName) {
563
+ if (IModelJsFs.existsSync(dirName)) {
564
+ IModelJsFs.purgeDirSync(dirName);
565
+ IModelJsFs.rmdirSync(dirName);
566
+ }
567
+ }
568
+ cleanup() {
569
+ if (this._hubDb) {
570
+ this._hubDb.closeDb();
571
+ this._hubDb = undefined;
572
+ }
573
+ try {
574
+ this.removeDir(BriefcaseManager.getIModelPath(this.iModelId));
575
+ this.removeDir(this.rootDir);
576
+ }
577
+ catch {
578
+ // eslint-disable-next-line no-console
579
+ console.log(`ERROR: test left an iModel open for [${this.iModelName}]. LocalMock cannot clean up - make sure you call imodel.close() in your test`);
580
+ }
581
+ }
582
+ }
583
+ //# sourceMappingURL=LocalHub.js.map