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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1057) hide show
  1. package/CHANGELOG.md +70 -1
  2. package/lib/cjs/BackendHubAccess.d.ts +15 -35
  3. package/lib/cjs/BackendHubAccess.d.ts.map +1 -1
  4. package/lib/cjs/BackendHubAccess.js +2 -0
  5. package/lib/cjs/BackendHubAccess.js.map +1 -1
  6. package/lib/cjs/BisCoreSchema.d.ts.map +1 -1
  7. package/lib/cjs/BisCoreSchema.js +2 -0
  8. package/lib/cjs/BisCoreSchema.js.map +1 -1
  9. package/lib/cjs/BlobContainerService.d.ts +4 -4
  10. package/lib/cjs/BlobContainerService.d.ts.map +1 -1
  11. package/lib/cjs/BlobContainerService.js.map +1 -1
  12. package/lib/cjs/BriefcaseManager.d.ts +10 -0
  13. package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
  14. package/lib/cjs/BriefcaseManager.js +63 -20
  15. package/lib/cjs/BriefcaseManager.js.map +1 -1
  16. package/lib/cjs/CatalogDb.d.ts +103 -0
  17. package/lib/cjs/CatalogDb.d.ts.map +1 -0
  18. package/lib/cjs/CatalogDb.js +271 -0
  19. package/lib/cjs/CatalogDb.js.map +1 -0
  20. package/lib/cjs/Category.js +6 -1
  21. package/lib/cjs/Category.js.map +1 -1
  22. package/lib/cjs/ChangeSummaryManager.d.ts.map +1 -1
  23. package/lib/cjs/ChangeSummaryManager.js +102 -27
  24. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  25. package/lib/cjs/ChangedElementsDb.d.ts +3 -3
  26. package/lib/cjs/ChangedElementsDb.d.ts.map +1 -1
  27. package/lib/cjs/ChangedElementsDb.js +8 -7
  28. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  29. package/lib/cjs/ChangesetECAdaptor.d.ts +3 -3
  30. package/lib/cjs/ChangesetECAdaptor.d.ts.map +1 -1
  31. package/lib/cjs/ChangesetECAdaptor.js +32 -19
  32. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  33. package/lib/cjs/CheckpointManager.d.ts +12 -17
  34. package/lib/cjs/CheckpointManager.d.ts.map +1 -1
  35. package/lib/cjs/CheckpointManager.js +40 -92
  36. package/lib/cjs/CheckpointManager.js.map +1 -1
  37. package/lib/cjs/ClassRegistry.d.ts +46 -2
  38. package/lib/cjs/ClassRegistry.d.ts.map +1 -1
  39. package/lib/cjs/ClassRegistry.js +93 -37
  40. package/lib/cjs/ClassRegistry.js.map +1 -1
  41. package/lib/cjs/CloudSqlite.d.ts +104 -20
  42. package/lib/cjs/CloudSqlite.d.ts.map +1 -1
  43. package/lib/cjs/CloudSqlite.js +172 -54
  44. package/lib/cjs/CloudSqlite.js.map +1 -1
  45. package/lib/cjs/CodeService.d.ts +2 -0
  46. package/lib/cjs/CodeService.d.ts.map +1 -1
  47. package/lib/cjs/CodeService.js +4 -0
  48. package/lib/cjs/CodeService.js.map +1 -1
  49. package/lib/cjs/CodeSpecs.js +3 -2
  50. package/lib/cjs/CodeSpecs.js.map +1 -1
  51. package/lib/cjs/CustomViewState3dCreator.js +7 -6
  52. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  53. package/lib/cjs/DevTools.js +16 -16
  54. package/lib/cjs/DevTools.js.map +1 -1
  55. package/lib/cjs/DisplayStyle.js +2 -0
  56. package/lib/cjs/DisplayStyle.js.map +1 -1
  57. package/lib/cjs/ECDb.d.ts +53 -60
  58. package/lib/cjs/ECDb.d.ts.map +1 -1
  59. package/lib/cjs/ECDb.js +115 -73
  60. package/lib/cjs/ECDb.js.map +1 -1
  61. package/lib/cjs/ECSchemaXmlContext.d.ts +1 -1
  62. package/lib/cjs/ECSchemaXmlContext.js +2 -1
  63. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  64. package/lib/cjs/ECSqlStatement.d.ts +185 -4
  65. package/lib/cjs/ECSqlStatement.d.ts.map +1 -1
  66. package/lib/cjs/ECSqlStatement.js +237 -9
  67. package/lib/cjs/ECSqlStatement.js.map +1 -1
  68. package/lib/cjs/Element.d.ts +29 -26
  69. package/lib/cjs/Element.d.ts.map +1 -1
  70. package/lib/cjs/Element.js +173 -48
  71. package/lib/cjs/Element.js.map +1 -1
  72. package/lib/cjs/ElementAspect.d.ts +0 -5
  73. package/lib/cjs/ElementAspect.d.ts.map +1 -1
  74. package/lib/cjs/ElementAspect.js +25 -16
  75. package/lib/cjs/ElementAspect.js.map +1 -1
  76. package/lib/cjs/ElementTreeWalker.d.ts.map +1 -1
  77. package/lib/cjs/ElementTreeWalker.js +17 -12
  78. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  79. package/lib/cjs/Entity.d.ts +50 -10
  80. package/lib/cjs/Entity.d.ts.map +1 -1
  81. package/lib/cjs/Entity.js +79 -16
  82. package/lib/cjs/Entity.js.map +1 -1
  83. package/lib/cjs/ExportGraphics.js +4 -0
  84. package/lib/cjs/ExportGraphics.js.map +1 -1
  85. package/lib/cjs/ExternalSource.js +22 -0
  86. package/lib/cjs/ExternalSource.js.map +1 -1
  87. package/lib/cjs/FontFile.d.ts +68 -0
  88. package/lib/cjs/FontFile.d.ts.map +1 -0
  89. package/lib/cjs/FontFile.js +36 -0
  90. package/lib/cjs/FontFile.js.map +1 -0
  91. package/lib/cjs/GeoCoordConfig.js +8 -8
  92. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  93. package/lib/cjs/GeometrySummary.js +6 -3
  94. package/lib/cjs/GeometrySummary.js.map +1 -1
  95. package/lib/cjs/IModelDb.d.ts +213 -73
  96. package/lib/cjs/IModelDb.d.ts.map +1 -1
  97. package/lib/cjs/IModelDb.js +379 -172
  98. package/lib/cjs/IModelDb.js.map +1 -1
  99. package/lib/cjs/IModelDbFonts.d.ts +54 -0
  100. package/lib/cjs/IModelDbFonts.d.ts.map +1 -0
  101. package/lib/cjs/{IModelCloneContext.js → IModelDbFonts.js} +2 -7
  102. package/lib/cjs/IModelDbFonts.js.map +1 -0
  103. package/lib/cjs/IModelElementCloneContext.d.ts +2 -0
  104. package/lib/cjs/IModelElementCloneContext.d.ts.map +1 -1
  105. package/lib/cjs/IModelElementCloneContext.js +12 -1
  106. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  107. package/lib/cjs/IModelHost.d.ts +15 -15
  108. package/lib/cjs/IModelHost.d.ts.map +1 -1
  109. package/lib/cjs/IModelHost.js +76 -43
  110. package/lib/cjs/IModelHost.js.map +1 -1
  111. package/lib/cjs/IModelJsFs.d.ts.map +1 -1
  112. package/lib/cjs/IModelJsFs.js +17 -1
  113. package/lib/cjs/IModelJsFs.js.map +1 -1
  114. package/lib/cjs/ImageSourceConversion.d.ts +49 -0
  115. package/lib/cjs/ImageSourceConversion.d.ts.map +1 -0
  116. package/lib/cjs/ImageSourceConversion.js +37 -0
  117. package/lib/cjs/ImageSourceConversion.js.map +1 -0
  118. package/lib/cjs/IpcHost.d.ts.map +1 -1
  119. package/lib/cjs/IpcHost.js +19 -33
  120. package/lib/cjs/IpcHost.js.map +1 -1
  121. package/lib/cjs/LocalHub.js +8 -2
  122. package/lib/cjs/LocalHub.js.map +1 -1
  123. package/lib/cjs/LocalhostIpcHost.js +5 -6
  124. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  125. package/lib/cjs/Material.js +40 -0
  126. package/lib/cjs/Material.js.map +1 -1
  127. package/lib/cjs/Model.d.ts +1 -1
  128. package/lib/cjs/Model.d.ts.map +1 -1
  129. package/lib/cjs/Model.js +27 -2
  130. package/lib/cjs/Model.js.map +1 -1
  131. package/lib/cjs/NativeAppStorage.js +5 -3
  132. package/lib/cjs/NativeAppStorage.js.map +1 -1
  133. package/lib/cjs/NativeHost.d.ts.map +1 -1
  134. package/lib/cjs/NativeHost.js +10 -4
  135. package/lib/cjs/NativeHost.js.map +1 -1
  136. package/lib/cjs/NavigationRelationship.js +25 -25
  137. package/lib/cjs/NavigationRelationship.js.map +1 -1
  138. package/lib/cjs/PromiseMemoizer.d.ts +2 -3
  139. package/lib/cjs/PromiseMemoizer.d.ts.map +1 -1
  140. package/lib/cjs/PromiseMemoizer.js +12 -5
  141. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  142. package/lib/cjs/PropertyStore.js +1 -4
  143. package/lib/cjs/PropertyStore.js.map +1 -1
  144. package/lib/cjs/Relationship.d.ts.map +1 -1
  145. package/lib/cjs/Relationship.js +15 -1
  146. package/lib/cjs/Relationship.js.map +1 -1
  147. package/lib/cjs/SQLiteDb.d.ts +6 -4
  148. package/lib/cjs/SQLiteDb.d.ts.map +1 -1
  149. package/lib/cjs/SQLiteDb.js +79 -19
  150. package/lib/cjs/SQLiteDb.js.map +1 -1
  151. package/lib/cjs/Schema.d.ts +25 -1
  152. package/lib/cjs/Schema.d.ts.map +1 -1
  153. package/lib/cjs/Schema.js +44 -8
  154. package/lib/cjs/Schema.js.map +1 -1
  155. package/lib/cjs/SchemaSync.js +1 -4
  156. package/lib/cjs/SchemaSync.js.map +1 -1
  157. package/lib/cjs/SheetIndex.js +6 -0
  158. package/lib/cjs/SheetIndex.js.map +1 -1
  159. package/lib/cjs/SqliteChangesetReader.d.ts +11 -3
  160. package/lib/cjs/SqliteChangesetReader.d.ts.map +1 -1
  161. package/lib/cjs/SqliteChangesetReader.js +21 -5
  162. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  163. package/lib/cjs/SqliteStatement.d.ts +4 -2
  164. package/lib/cjs/SqliteStatement.d.ts.map +1 -1
  165. package/lib/cjs/SqliteStatement.js +13 -1
  166. package/lib/cjs/SqliteStatement.js.map +1 -1
  167. package/lib/cjs/TextAnnotationGeometry.d.ts.map +1 -1
  168. package/lib/cjs/TextAnnotationGeometry.js +38 -11
  169. package/lib/cjs/TextAnnotationGeometry.js.map +1 -1
  170. package/lib/cjs/TextAnnotationLayout.d.ts +10 -3
  171. package/lib/cjs/TextAnnotationLayout.d.ts.map +1 -1
  172. package/lib/cjs/TextAnnotationLayout.js +56 -18
  173. package/lib/cjs/TextAnnotationLayout.js.map +1 -1
  174. package/lib/cjs/Texture.js +3 -0
  175. package/lib/cjs/Texture.js.map +1 -1
  176. package/lib/cjs/TileStorage.js +6 -1
  177. package/lib/cjs/TileStorage.js.map +1 -1
  178. package/lib/cjs/TxnManager.d.ts +55 -4
  179. package/lib/cjs/TxnManager.d.ts.map +1 -1
  180. package/lib/cjs/TxnManager.js +234 -58
  181. package/lib/cjs/TxnManager.js.map +1 -1
  182. package/lib/cjs/ViewDefinition.d.ts +6 -6
  183. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  184. package/lib/cjs/ViewDefinition.js +81 -26
  185. package/lib/cjs/ViewDefinition.js.map +1 -1
  186. package/lib/cjs/ViewStateHydrator.d.ts +0 -1
  187. package/lib/cjs/ViewStateHydrator.d.ts.map +1 -1
  188. package/lib/cjs/ViewStateHydrator.js +1 -11
  189. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  190. package/lib/cjs/ViewStore.d.ts.map +1 -1
  191. package/lib/cjs/ViewStore.js +32 -29
  192. package/lib/cjs/ViewStore.js.map +1 -1
  193. package/lib/cjs/core-backend.d.ts +8 -2
  194. package/lib/cjs/core-backend.d.ts.map +1 -1
  195. package/lib/cjs/core-backend.js +8 -2
  196. package/lib/cjs/core-backend.js.map +1 -1
  197. package/lib/cjs/domains/FunctionalElements.js +1 -1
  198. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  199. package/lib/cjs/internal/ChangesetConflictArgs.d.ts +40 -2
  200. package/lib/cjs/internal/ChangesetConflictArgs.d.ts.map +1 -1
  201. package/lib/cjs/internal/ChangesetConflictArgs.js +101 -0
  202. package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
  203. package/lib/cjs/internal/ChannelAdmin.d.ts +1 -1
  204. package/lib/cjs/internal/ChannelAdmin.d.ts.map +1 -1
  205. package/lib/cjs/internal/ChannelAdmin.js +16 -13
  206. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  207. package/lib/cjs/internal/FontFileImpl.d.ts +34 -0
  208. package/lib/cjs/internal/FontFileImpl.d.ts.map +1 -0
  209. package/lib/cjs/internal/FontFileImpl.js +143 -0
  210. package/lib/cjs/internal/FontFileImpl.js.map +1 -0
  211. package/lib/cjs/{HubMock.d.ts → internal/HubMock.d.ts} +6 -7
  212. package/lib/cjs/internal/HubMock.d.ts.map +1 -0
  213. package/lib/cjs/{HubMock.js → internal/HubMock.js} +40 -15
  214. package/lib/cjs/internal/HubMock.js.map +1 -0
  215. package/lib/cjs/internal/IModelDbFontsImpl.d.ts +7 -0
  216. package/lib/cjs/internal/IModelDbFontsImpl.d.ts.map +1 -0
  217. package/lib/cjs/internal/IModelDbFontsImpl.js +186 -0
  218. package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -0
  219. package/lib/cjs/internal/NoLocks.js +2 -5
  220. package/lib/cjs/internal/NoLocks.js.map +1 -1
  221. package/lib/cjs/internal/ServerBasedLocks.d.ts.map +1 -1
  222. package/lib/cjs/internal/ServerBasedLocks.js +6 -6
  223. package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
  224. package/lib/cjs/internal/Symbols.d.ts +8 -0
  225. package/lib/cjs/internal/Symbols.d.ts.map +1 -1
  226. package/lib/cjs/internal/Symbols.js +9 -1
  227. package/lib/cjs/internal/Symbols.js.map +1 -1
  228. package/lib/cjs/internal/workspace/SettingsImpl.js +6 -9
  229. package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
  230. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js +8 -12
  231. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  232. package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts +2 -16
  233. package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts.map +1 -1
  234. package/lib/cjs/internal/workspace/WorkspaceImpl.js +57 -121
  235. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  236. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js +1 -4
  237. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  238. package/lib/cjs/rpc/multipart.d.ts.map +1 -1
  239. package/lib/cjs/rpc/multipart.js +2 -1
  240. package/lib/cjs/rpc/multipart.js.map +1 -1
  241. package/lib/cjs/rpc/tracing.js +2 -2
  242. package/lib/cjs/rpc/tracing.js.map +1 -1
  243. package/lib/cjs/rpc/web/request.d.ts.map +1 -1
  244. package/lib/cjs/rpc/web/request.js +2 -1
  245. package/lib/cjs/rpc/web/request.js.map +1 -1
  246. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -1
  247. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +6 -2
  248. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  249. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js +5 -3
  250. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  251. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -1
  252. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +15 -25
  253. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  254. package/lib/cjs/workspace/Workspace.d.ts +6 -13
  255. package/lib/cjs/workspace/Workspace.d.ts.map +1 -1
  256. package/lib/cjs/workspace/Workspace.js.map +1 -1
  257. package/lib/cjs/workspace/WorkspaceEditor.d.ts +2 -7
  258. package/lib/cjs/workspace/WorkspaceEditor.d.ts.map +1 -1
  259. package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
  260. package/lib/esm/BackendHubAccess.d.ts +209 -0
  261. package/lib/esm/BackendHubAccess.d.ts.map +1 -0
  262. package/lib/esm/BackendHubAccess.js +41 -0
  263. package/lib/esm/BackendHubAccess.js.map +1 -0
  264. package/lib/esm/BackendLoggerCategory.d.ts +88 -0
  265. package/lib/esm/BackendLoggerCategory.d.ts.map +1 -0
  266. package/lib/esm/BackendLoggerCategory.js +93 -0
  267. package/lib/esm/BackendLoggerCategory.js.map +1 -0
  268. package/lib/esm/BisCoreSchema.d.ts +22 -0
  269. package/lib/esm/BisCoreSchema.d.ts.map +1 -0
  270. package/lib/esm/BisCoreSchema.js +61 -0
  271. package/lib/esm/BisCoreSchema.js.map +1 -0
  272. package/lib/esm/BlobContainerService.d.ts +159 -0
  273. package/lib/esm/BlobContainerService.d.ts.map +1 -0
  274. package/lib/esm/BlobContainerService.js +15 -0
  275. package/lib/esm/BlobContainerService.js.map +1 -0
  276. package/lib/esm/BriefcaseManager.d.ts +213 -0
  277. package/lib/esm/BriefcaseManager.d.ts.map +1 -0
  278. package/lib/esm/BriefcaseManager.js +520 -0
  279. package/lib/esm/BriefcaseManager.js.map +1 -0
  280. package/lib/esm/CatalogDb.d.ts +103 -0
  281. package/lib/esm/CatalogDb.d.ts.map +1 -0
  282. package/lib/esm/CatalogDb.js +267 -0
  283. package/lib/esm/CatalogDb.js.map +1 -0
  284. package/lib/esm/Category.d.ts +136 -0
  285. package/lib/esm/Category.d.ts.map +1 -0
  286. package/lib/esm/Category.js +224 -0
  287. package/lib/esm/Category.js.map +1 -0
  288. package/lib/esm/ChangeSummaryManager.d.ts +161 -0
  289. package/lib/esm/ChangeSummaryManager.d.ts.map +1 -0
  290. package/lib/esm/ChangeSummaryManager.js +421 -0
  291. package/lib/esm/ChangeSummaryManager.js.map +1 -0
  292. package/lib/esm/ChangedElementsDb.d.ts +101 -0
  293. package/lib/esm/ChangedElementsDb.d.ts.map +1 -0
  294. package/lib/esm/ChangedElementsDb.js +165 -0
  295. package/lib/esm/ChangedElementsDb.js.map +1 -0
  296. package/lib/esm/ChangesetECAdaptor.d.ts +203 -0
  297. package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -0
  298. package/lib/esm/ChangesetECAdaptor.js +815 -0
  299. package/lib/esm/ChangesetECAdaptor.js.map +1 -0
  300. package/lib/esm/ChannelControl.d.ts +68 -0
  301. package/lib/esm/ChannelControl.d.ts.map +1 -0
  302. package/lib/esm/ChannelControl.js +15 -0
  303. package/lib/esm/ChannelControl.js.map +1 -0
  304. package/lib/esm/CheckpointManager.d.ts +118 -0
  305. package/lib/esm/CheckpointManager.d.ts.map +1 -0
  306. package/lib/esm/CheckpointManager.js +321 -0
  307. package/lib/esm/CheckpointManager.js.map +1 -0
  308. package/lib/esm/ClassRegistry.d.ts +134 -0
  309. package/lib/esm/ClassRegistry.d.ts.map +1 -0
  310. package/lib/esm/ClassRegistry.js +324 -0
  311. package/lib/esm/ClassRegistry.js.map +1 -0
  312. package/lib/esm/CloudSqlite.d.ts +766 -0
  313. package/lib/esm/CloudSqlite.d.ts.map +1 -0
  314. package/lib/esm/CloudSqlite.js +622 -0
  315. package/lib/esm/CloudSqlite.js.map +1 -0
  316. package/lib/esm/CodeService.d.ts +402 -0
  317. package/lib/esm/CodeService.d.ts.map +1 -0
  318. package/lib/esm/CodeService.js +65 -0
  319. package/lib/esm/CodeService.js.map +1 -0
  320. package/lib/esm/CodeSpecs.d.ts +59 -0
  321. package/lib/esm/CodeSpecs.d.ts.map +1 -0
  322. package/lib/esm/CodeSpecs.js +152 -0
  323. package/lib/esm/CodeSpecs.js.map +1 -0
  324. package/lib/esm/ConcurrentQuery.d.ts +14 -0
  325. package/lib/esm/ConcurrentQuery.d.ts.map +1 -0
  326. package/lib/esm/ConcurrentQuery.js +33 -0
  327. package/lib/esm/ConcurrentQuery.js.map +1 -0
  328. package/lib/esm/CustomViewState3dCreator.d.ts +22 -0
  329. package/lib/esm/CustomViewState3dCreator.d.ts.map +1 -0
  330. package/lib/esm/CustomViewState3dCreator.js +78 -0
  331. package/lib/esm/CustomViewState3dCreator.js.map +1 -0
  332. package/lib/esm/DevTools.d.ts +73 -0
  333. package/lib/esm/DevTools.d.ts.map +1 -0
  334. package/lib/esm/DevTools.js +153 -0
  335. package/lib/esm/DevTools.js.map +1 -0
  336. package/lib/esm/DisplayStyle.d.ts +99 -0
  337. package/lib/esm/DisplayStyle.d.ts.map +1 -0
  338. package/lib/esm/DisplayStyle.js +264 -0
  339. package/lib/esm/DisplayStyle.js.map +1 -0
  340. package/lib/esm/ECDb.d.ts +206 -0
  341. package/lib/esm/ECDb.d.ts.map +1 -0
  342. package/lib/esm/ECDb.js +410 -0
  343. package/lib/esm/ECDb.js.map +1 -0
  344. package/lib/esm/ECSchemaXmlContext.d.ts +46 -0
  345. package/lib/esm/ECSchemaXmlContext.d.ts.map +1 -0
  346. package/lib/esm/ECSchemaXmlContext.js +66 -0
  347. package/lib/esm/ECSchemaXmlContext.js.map +1 -0
  348. package/lib/esm/ECSqlStatement.d.ts +671 -0
  349. package/lib/esm/ECSqlStatement.d.ts.map +1 -0
  350. package/lib/esm/ECSqlStatement.js +1028 -0
  351. package/lib/esm/ECSqlStatement.js.map +1 -0
  352. package/lib/esm/Element.d.ts +999 -0
  353. package/lib/esm/Element.d.ts.map +1 -0
  354. package/lib/esm/Element.js +1375 -0
  355. package/lib/esm/Element.js.map +1 -0
  356. package/lib/esm/ElementAspect.d.ts +164 -0
  357. package/lib/esm/ElementAspect.d.ts.map +1 -0
  358. package/lib/esm/ElementAspect.js +205 -0
  359. package/lib/esm/ElementAspect.js.map +1 -0
  360. package/lib/esm/ElementGraphics.d.ts +7 -0
  361. package/lib/esm/ElementGraphics.d.ts.map +1 -0
  362. package/lib/esm/ElementGraphics.js +36 -0
  363. package/lib/esm/ElementGraphics.js.map +1 -0
  364. package/lib/esm/ElementTreeWalker.d.ts +182 -0
  365. package/lib/esm/ElementTreeWalker.d.ts.map +1 -0
  366. package/lib/esm/ElementTreeWalker.js +425 -0
  367. package/lib/esm/ElementTreeWalker.js.map +1 -0
  368. package/lib/esm/Entity.d.ts +146 -0
  369. package/lib/esm/Entity.d.ts.map +1 -0
  370. package/lib/esm/Entity.js +186 -0
  371. package/lib/esm/Entity.js.map +1 -0
  372. package/lib/esm/EntityReferences.d.ts +50 -0
  373. package/lib/esm/EntityReferences.d.ts.map +1 -0
  374. package/lib/esm/EntityReferences.js +92 -0
  375. package/lib/esm/EntityReferences.js.map +1 -0
  376. package/lib/esm/ExportGraphics.d.ts +318 -0
  377. package/lib/esm/ExportGraphics.d.ts.map +1 -0
  378. package/lib/esm/ExportGraphics.js +209 -0
  379. package/lib/esm/ExportGraphics.js.map +1 -0
  380. package/lib/esm/ExternalSource.d.ts +89 -0
  381. package/lib/esm/ExternalSource.d.ts.map +1 -0
  382. package/lib/esm/ExternalSource.js +139 -0
  383. package/lib/esm/ExternalSource.js.map +1 -0
  384. package/lib/esm/FontFile.d.ts +68 -0
  385. package/lib/esm/FontFile.d.ts.map +1 -0
  386. package/lib/esm/FontFile.js +33 -0
  387. package/lib/esm/FontFile.js.map +1 -0
  388. package/lib/esm/GeoCoordConfig.d.ts +30 -0
  389. package/lib/esm/GeoCoordConfig.d.ts.map +1 -0
  390. package/lib/esm/GeoCoordConfig.js +78 -0
  391. package/lib/esm/GeoCoordConfig.js.map +1 -0
  392. package/lib/esm/GeographicCRSServices.d.ts +40 -0
  393. package/lib/esm/GeographicCRSServices.d.ts.map +1 -0
  394. package/lib/esm/GeographicCRSServices.js +17 -0
  395. package/lib/esm/GeographicCRSServices.js.map +1 -0
  396. package/lib/esm/GeometrySummary.d.ts +5 -0
  397. package/lib/esm/GeometrySummary.d.ts.map +1 -0
  398. package/lib/esm/GeometrySummary.js +381 -0
  399. package/lib/esm/GeometrySummary.js.map +1 -0
  400. package/lib/esm/IModelDb.d.ts +1407 -0
  401. package/lib/esm/IModelDb.d.ts.map +1 -0
  402. package/lib/esm/IModelDb.js +3267 -0
  403. package/lib/esm/IModelDb.js.map +1 -0
  404. package/lib/esm/IModelDbFonts.d.ts +54 -0
  405. package/lib/esm/IModelDbFonts.d.ts.map +1 -0
  406. package/lib/esm/IModelDbFonts.js +9 -0
  407. package/lib/esm/IModelDbFonts.js.map +1 -0
  408. package/lib/esm/IModelElementCloneContext.d.ts +92 -0
  409. package/lib/esm/IModelElementCloneContext.d.ts.map +1 -0
  410. package/lib/esm/IModelElementCloneContext.js +168 -0
  411. package/lib/esm/IModelElementCloneContext.js.map +1 -0
  412. package/lib/esm/IModelHost.d.ts +387 -0
  413. package/lib/esm/IModelHost.d.ts.map +1 -0
  414. package/lib/esm/IModelHost.js +502 -0
  415. package/lib/esm/IModelHost.js.map +1 -0
  416. package/lib/esm/IModelJsFs.d.ts +62 -0
  417. package/lib/esm/IModelJsFs.d.ts.map +1 -0
  418. package/lib/esm/IModelJsFs.js +151 -0
  419. package/lib/esm/IModelJsFs.js.map +1 -0
  420. package/lib/esm/ImageSourceConversion.d.ts +49 -0
  421. package/lib/esm/ImageSourceConversion.d.ts.map +1 -0
  422. package/lib/esm/ImageSourceConversion.js +33 -0
  423. package/lib/esm/ImageSourceConversion.js.map +1 -0
  424. package/lib/esm/IpcHost.d.ts +111 -0
  425. package/lib/esm/IpcHost.d.ts.map +1 -0
  426. package/lib/esm/IpcHost.js +292 -0
  427. package/lib/esm/IpcHost.js.map +1 -0
  428. package/lib/esm/LineStyle.d.ts +312 -0
  429. package/lib/esm/LineStyle.d.ts.map +1 -0
  430. package/lib/esm/LineStyle.js +293 -0
  431. package/lib/esm/LineStyle.js.map +1 -0
  432. package/lib/esm/LocalHub.d.ts +163 -0
  433. package/lib/esm/LocalHub.d.ts.map +1 -0
  434. package/lib/esm/LocalHub.js +583 -0
  435. package/lib/esm/LocalHub.js.map +1 -0
  436. package/lib/esm/LocalhostIpcHost.d.ts +22 -0
  437. package/lib/esm/LocalhostIpcHost.d.ts.map +1 -0
  438. package/lib/esm/LocalhostIpcHost.js +74 -0
  439. package/lib/esm/LocalhostIpcHost.js.map +1 -0
  440. package/lib/esm/LockControl.d.ts +73 -0
  441. package/lib/esm/LockControl.d.ts.map +1 -0
  442. package/lib/esm/LockControl.js +9 -0
  443. package/lib/esm/LockControl.js.map +1 -0
  444. package/lib/esm/Material.d.ts +131 -0
  445. package/lib/esm/Material.d.ts.map +1 -0
  446. package/lib/esm/Material.js +235 -0
  447. package/lib/esm/Material.js.map +1 -0
  448. package/lib/esm/Model.d.ts +375 -0
  449. package/lib/esm/Model.d.ts.map +1 -0
  450. package/lib/esm/Model.js +484 -0
  451. package/lib/esm/Model.js.map +1 -0
  452. package/lib/esm/NativeAppStorage.d.ts +52 -0
  453. package/lib/esm/NativeAppStorage.d.ts.map +1 -0
  454. package/lib/esm/NativeAppStorage.js +205 -0
  455. package/lib/esm/NativeAppStorage.js.map +1 -0
  456. package/lib/esm/NativeHost.d.ts +53 -0
  457. package/lib/esm/NativeHost.d.ts.map +1 -0
  458. package/lib/esm/NativeHost.js +161 -0
  459. package/lib/esm/NativeHost.js.map +1 -0
  460. package/lib/esm/NavigationRelationship.d.ts +185 -0
  461. package/lib/esm/NavigationRelationship.d.ts.map +1 -0
  462. package/lib/esm/NavigationRelationship.js +238 -0
  463. package/lib/esm/NavigationRelationship.js.map +1 -0
  464. package/lib/esm/PromiseMemoizer.d.ts +48 -0
  465. package/lib/esm/PromiseMemoizer.d.ts.map +1 -0
  466. package/lib/esm/PromiseMemoizer.js +101 -0
  467. package/lib/esm/PromiseMemoizer.js.map +1 -0
  468. package/lib/esm/PropertyStore.d.ts +134 -0
  469. package/lib/esm/PropertyStore.d.ts.map +1 -0
  470. package/lib/esm/PropertyStore.js +177 -0
  471. package/lib/esm/PropertyStore.js.map +1 -0
  472. package/lib/esm/Relationship.d.ts +399 -0
  473. package/lib/esm/Relationship.d.ts.map +1 -0
  474. package/lib/esm/Relationship.js +476 -0
  475. package/lib/esm/Relationship.js.map +1 -0
  476. package/lib/esm/RpcBackend.d.ts +6 -0
  477. package/lib/esm/RpcBackend.d.ts.map +1 -0
  478. package/lib/esm/RpcBackend.js +28 -0
  479. package/lib/esm/RpcBackend.js.map +1 -0
  480. package/lib/esm/SQLiteDb.d.ts +324 -0
  481. package/lib/esm/SQLiteDb.d.ts.map +1 -0
  482. package/lib/esm/SQLiteDb.js +380 -0
  483. package/lib/esm/SQLiteDb.js.map +1 -0
  484. package/lib/esm/Schema.d.ts +79 -0
  485. package/lib/esm/Schema.d.ts.map +1 -0
  486. package/lib/esm/Schema.js +113 -0
  487. package/lib/esm/Schema.js.map +1 -0
  488. package/lib/esm/SchemaSync.d.ts +47 -0
  489. package/lib/esm/SchemaSync.d.ts.map +1 -0
  490. package/lib/esm/SchemaSync.js +148 -0
  491. package/lib/esm/SchemaSync.js.map +1 -0
  492. package/lib/esm/SchemaUtils.d.ts +19 -0
  493. package/lib/esm/SchemaUtils.d.ts.map +1 -0
  494. package/lib/esm/SchemaUtils.js +37 -0
  495. package/lib/esm/SchemaUtils.js.map +1 -0
  496. package/lib/esm/SheetIndex.d.ts +148 -0
  497. package/lib/esm/SheetIndex.d.ts.map +1 -0
  498. package/lib/esm/SheetIndex.js +228 -0
  499. package/lib/esm/SheetIndex.js.map +1 -0
  500. package/lib/esm/SqliteChangesetReader.d.ts +278 -0
  501. package/lib/esm/SqliteChangesetReader.d.ts.map +1 -0
  502. package/lib/esm/SqliteChangesetReader.js +337 -0
  503. package/lib/esm/SqliteChangesetReader.js.map +1 -0
  504. package/lib/esm/SqliteStatement.d.ts +375 -0
  505. package/lib/esm/SqliteStatement.d.ts.map +1 -0
  506. package/lib/esm/SqliteStatement.js +615 -0
  507. package/lib/esm/SqliteStatement.js.map +1 -0
  508. package/lib/esm/TextAnnotationElement.d.ts +54 -0
  509. package/lib/esm/TextAnnotationElement.d.ts.map +1 -0
  510. package/lib/esm/TextAnnotationElement.js +89 -0
  511. package/lib/esm/TextAnnotationElement.js.map +1 -0
  512. package/lib/esm/TextAnnotationGeometry.d.ts +32 -0
  513. package/lib/esm/TextAnnotationGeometry.d.ts.map +1 -0
  514. package/lib/esm/TextAnnotationGeometry.js +181 -0
  515. package/lib/esm/TextAnnotationGeometry.js.map +1 -0
  516. package/lib/esm/TextAnnotationLayout.d.ts +177 -0
  517. package/lib/esm/TextAnnotationLayout.d.ts.map +1 -0
  518. package/lib/esm/TextAnnotationLayout.js +513 -0
  519. package/lib/esm/TextAnnotationLayout.js.map +1 -0
  520. package/lib/esm/Texture.d.ts +58 -0
  521. package/lib/esm/Texture.d.ts.map +1 -0
  522. package/lib/esm/Texture.js +81 -0
  523. package/lib/esm/Texture.js.map +1 -0
  524. package/lib/esm/TileStorage.d.ts +59 -0
  525. package/lib/esm/TileStorage.d.ts.map +1 -0
  526. package/lib/esm/TileStorage.js +158 -0
  527. package/lib/esm/TileStorage.js.map +1 -0
  528. package/lib/esm/TxnManager.d.ts +296 -0
  529. package/lib/esm/TxnManager.d.ts.map +1 -0
  530. package/lib/esm/TxnManager.js +619 -0
  531. package/lib/esm/TxnManager.js.map +1 -0
  532. package/lib/esm/ViewDefinition.d.ts +392 -0
  533. package/lib/esm/ViewDefinition.d.ts.map +1 -0
  534. package/lib/esm/ViewDefinition.js +638 -0
  535. package/lib/esm/ViewDefinition.js.map +1 -0
  536. package/lib/esm/ViewStateHydrator.d.ts +14 -0
  537. package/lib/esm/ViewStateHydrator.d.ts.map +1 -0
  538. package/lib/esm/ViewStateHydrator.js +89 -0
  539. package/lib/esm/ViewStateHydrator.js.map +1 -0
  540. package/lib/esm/ViewStore.d.ts +502 -0
  541. package/lib/esm/ViewStore.d.ts.map +1 -0
  542. package/lib/esm/ViewStore.js +1260 -0
  543. package/lib/esm/ViewStore.js.map +1 -0
  544. package/lib/esm/core-backend.d.ts +183 -0
  545. package/lib/esm/core-backend.d.ts.map +1 -0
  546. package/lib/esm/core-backend.js +187 -0
  547. package/lib/esm/core-backend.js.map +1 -0
  548. package/lib/esm/domains/FunctionalElements.d.ts +86 -0
  549. package/lib/esm/domains/FunctionalElements.d.ts.map +1 -0
  550. package/lib/esm/domains/FunctionalElements.js +117 -0
  551. package/lib/esm/domains/FunctionalElements.js.map +1 -0
  552. package/lib/esm/domains/FunctionalSchema.d.ts +14 -0
  553. package/lib/esm/domains/FunctionalSchema.d.ts.map +1 -0
  554. package/lib/esm/domains/FunctionalSchema.js +37 -0
  555. package/lib/esm/domains/FunctionalSchema.js.map +1 -0
  556. package/lib/esm/domains/GenericElements.d.ts +160 -0
  557. package/lib/esm/domains/GenericElements.d.ts.map +1 -0
  558. package/lib/esm/domains/GenericElements.js +225 -0
  559. package/lib/esm/domains/GenericElements.js.map +1 -0
  560. package/lib/esm/domains/GenericSchema.d.ts +11 -0
  561. package/lib/esm/domains/GenericSchema.d.ts.map +1 -0
  562. package/lib/esm/domains/GenericSchema.js +25 -0
  563. package/lib/esm/domains/GenericSchema.js.map +1 -0
  564. package/lib/esm/internal/ChangesetConflictArgs.d.ts +62 -0
  565. package/lib/esm/internal/ChangesetConflictArgs.d.ts.map +1 -0
  566. package/lib/esm/internal/ChangesetConflictArgs.js +104 -0
  567. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -0
  568. package/lib/esm/internal/ChannelAdmin.d.ts +34 -0
  569. package/lib/esm/internal/ChannelAdmin.d.ts.map +1 -0
  570. package/lib/esm/internal/ChannelAdmin.js +116 -0
  571. package/lib/esm/internal/ChannelAdmin.js.map +1 -0
  572. package/lib/esm/internal/FontFileImpl.d.ts +34 -0
  573. package/lib/esm/internal/FontFileImpl.d.ts.map +1 -0
  574. package/lib/esm/internal/FontFileImpl.js +135 -0
  575. package/lib/esm/internal/FontFileImpl.js.map +1 -0
  576. package/lib/esm/internal/HubMock.d.ts +94 -0
  577. package/lib/esm/internal/HubMock.d.ts.map +1 -0
  578. package/lib/esm/internal/HubMock.js +242 -0
  579. package/lib/esm/internal/HubMock.js.map +1 -0
  580. package/lib/esm/internal/IModelDbFontsImpl.d.ts +7 -0
  581. package/lib/esm/internal/IModelDbFontsImpl.d.ts.map +1 -0
  582. package/lib/esm/internal/IModelDbFontsImpl.js +183 -0
  583. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -0
  584. package/lib/esm/internal/NativePlatform.d.ts +15 -0
  585. package/lib/esm/internal/NativePlatform.d.ts.map +1 -0
  586. package/lib/esm/internal/NativePlatform.js +43 -0
  587. package/lib/esm/internal/NativePlatform.js.map +1 -0
  588. package/lib/esm/internal/NoLocks.d.ts +6 -0
  589. package/lib/esm/internal/NoLocks.d.ts.map +1 -0
  590. package/lib/esm/internal/NoLocks.js +24 -0
  591. package/lib/esm/internal/NoLocks.js.map +1 -0
  592. package/lib/esm/internal/ServerBasedLocks.d.ts +52 -0
  593. package/lib/esm/internal/ServerBasedLocks.d.ts.map +1 -0
  594. package/lib/esm/internal/ServerBasedLocks.js +175 -0
  595. package/lib/esm/internal/ServerBasedLocks.js.map +1 -0
  596. package/lib/esm/internal/Symbols.d.ts +19 -0
  597. package/lib/esm/internal/Symbols.d.ts.map +1 -0
  598. package/lib/esm/internal/Symbols.js +26 -0
  599. package/lib/esm/internal/Symbols.js.map +1 -0
  600. package/lib/esm/internal/cross-package.d.ts +4 -0
  601. package/lib/esm/internal/cross-package.d.ts.map +1 -0
  602. package/lib/esm/internal/cross-package.js +8 -0
  603. package/lib/esm/internal/cross-package.js.map +1 -0
  604. package/lib/esm/internal/workspace/SettingsImpl.d.ts +43 -0
  605. package/lib/esm/internal/workspace/SettingsImpl.d.ts.map +1 -0
  606. package/lib/esm/internal/workspace/SettingsImpl.js +154 -0
  607. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -0
  608. package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts +6 -0
  609. package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts.map +1 -0
  610. package/lib/esm/internal/workspace/SettingsSchemasImpl.js +268 -0
  611. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -0
  612. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts +27 -0
  613. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts.map +1 -0
  614. package/lib/esm/internal/workspace/WorkspaceImpl.js +627 -0
  615. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -0
  616. package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts +10 -0
  617. package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts.map +1 -0
  618. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js +35 -0
  619. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -0
  620. package/lib/esm/rpc/multipart.d.ts +12 -0
  621. package/lib/esm/rpc/multipart.d.ts.map +1 -0
  622. package/lib/esm/rpc/multipart.js +67 -0
  623. package/lib/esm/rpc/multipart.js.map +1 -0
  624. package/lib/esm/rpc/tracing.d.ts +29 -0
  625. package/lib/esm/rpc/tracing.d.ts.map +1 -0
  626. package/lib/esm/rpc/tracing.js +71 -0
  627. package/lib/esm/rpc/tracing.js.map +1 -0
  628. package/lib/esm/rpc/web/logging.d.ts +10 -0
  629. package/lib/esm/rpc/web/logging.d.ts.map +1 -0
  630. package/lib/esm/rpc/web/logging.js +41 -0
  631. package/lib/esm/rpc/web/logging.js.map +1 -0
  632. package/lib/esm/rpc/web/request.d.ts +7 -0
  633. package/lib/esm/rpc/web/request.d.ts.map +1 -0
  634. package/lib/esm/rpc/web/request.js +71 -0
  635. package/lib/esm/rpc/web/request.js.map +1 -0
  636. package/lib/esm/rpc/web/response.d.ts +7 -0
  637. package/lib/esm/rpc/web/response.d.ts.map +1 -0
  638. package/lib/esm/rpc/web/response.js +136 -0
  639. package/lib/esm/rpc/web/response.js.map +1 -0
  640. package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts +16 -0
  641. package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts.map +1 -0
  642. package/lib/esm/rpc-impl/DevToolsRpcImpl.js +29 -0
  643. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -0
  644. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts +51 -0
  645. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -0
  646. package/lib/esm/rpc-impl/IModelReadRpcImpl.js +314 -0
  647. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -0
  648. package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts +21 -0
  649. package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts.map +1 -0
  650. package/lib/esm/rpc-impl/IModelTileRpcImpl.js +193 -0
  651. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -0
  652. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts +45 -0
  653. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -0
  654. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js +155 -0
  655. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -0
  656. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts +18 -0
  657. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts.map +1 -0
  658. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js +41 -0
  659. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -0
  660. package/lib/esm/test/AdvancedEqual.d.ts +38 -0
  661. package/lib/esm/test/AdvancedEqual.d.ts.map +1 -0
  662. package/lib/esm/test/AdvancedEqual.js +67 -0
  663. package/lib/esm/test/AdvancedEqual.js.map +1 -0
  664. package/lib/esm/test/AttachDb.test.d.ts +2 -0
  665. package/lib/esm/test/AttachDb.test.d.ts.map +1 -0
  666. package/lib/esm/test/AttachDb.test.js +157 -0
  667. package/lib/esm/test/AttachDb.test.js.map +1 -0
  668. package/lib/esm/test/GeometryTestUtil.d.ts +7 -0
  669. package/lib/esm/test/GeometryTestUtil.d.ts.map +1 -0
  670. package/lib/esm/test/GeometryTestUtil.js +25 -0
  671. package/lib/esm/test/GeometryTestUtil.js.map +1 -0
  672. package/lib/esm/test/IModelHost.test.d.ts +2 -0
  673. package/lib/esm/test/IModelHost.test.d.ts.map +1 -0
  674. package/lib/esm/test/IModelHost.test.js +187 -0
  675. package/lib/esm/test/IModelHost.test.js.map +1 -0
  676. package/lib/esm/test/IModelTestUtils.d.ts +177 -0
  677. package/lib/esm/test/IModelTestUtils.d.ts.map +1 -0
  678. package/lib/esm/test/IModelTestUtils.js +1146 -0
  679. package/lib/esm/test/IModelTestUtils.js.map +1 -0
  680. package/lib/esm/test/ImageSourceConversion.test.d.ts +2 -0
  681. package/lib/esm/test/ImageSourceConversion.test.d.ts.map +1 -0
  682. package/lib/esm/test/ImageSourceConversion.test.js +171 -0
  683. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -0
  684. package/lib/esm/test/IpcHost.test.d.ts +2 -0
  685. package/lib/esm/test/IpcHost.test.d.ts.map +1 -0
  686. package/lib/esm/test/IpcHost.test.js +55 -0
  687. package/lib/esm/test/IpcHost.test.js.map +1 -0
  688. package/lib/esm/test/KnownTestLocations.d.ts +7 -0
  689. package/lib/esm/test/KnownTestLocations.d.ts.map +1 -0
  690. package/lib/esm/test/KnownTestLocations.js +27 -0
  691. package/lib/esm/test/KnownTestLocations.js.map +1 -0
  692. package/lib/esm/test/PrintElementTree.d.ts +7 -0
  693. package/lib/esm/test/PrintElementTree.d.ts.map +1 -0
  694. package/lib/esm/test/PrintElementTree.js +36 -0
  695. package/lib/esm/test/PrintElementTree.js.map +1 -0
  696. package/lib/esm/test/PropertyDb.test.d.ts +2 -0
  697. package/lib/esm/test/PropertyDb.test.d.ts.map +1 -0
  698. package/lib/esm/test/PropertyDb.test.js +71 -0
  699. package/lib/esm/test/PropertyDb.test.js.map +1 -0
  700. package/lib/esm/test/RevisionUtility.d.ts +33 -0
  701. package/lib/esm/test/RevisionUtility.d.ts.map +1 -0
  702. package/lib/esm/test/RevisionUtility.js +52 -0
  703. package/lib/esm/test/RevisionUtility.js.map +1 -0
  704. package/lib/esm/test/SchemaUtils.test.d.ts +2 -0
  705. package/lib/esm/test/SchemaUtils.test.d.ts.map +1 -0
  706. package/lib/esm/test/SchemaUtils.test.js +99 -0
  707. package/lib/esm/test/SchemaUtils.test.js.map +1 -0
  708. package/lib/esm/test/SequentialLogMatcher.d.ts +35 -0
  709. package/lib/esm/test/SequentialLogMatcher.d.ts.map +1 -0
  710. package/lib/esm/test/SequentialLogMatcher.js +130 -0
  711. package/lib/esm/test/SequentialLogMatcher.js.map +1 -0
  712. package/lib/esm/test/TestChangeSetUtility.d.ts +23 -0
  713. package/lib/esm/test/TestChangeSetUtility.d.ts.map +1 -0
  714. package/lib/esm/test/TestChangeSetUtility.js +65 -0
  715. package/lib/esm/test/TestChangeSetUtility.js.map +1 -0
  716. package/lib/esm/test/TestUtils.d.ts +38 -0
  717. package/lib/esm/test/TestUtils.d.ts.map +1 -0
  718. package/lib/esm/test/TestUtils.js +99 -0
  719. package/lib/esm/test/TestUtils.js.map +1 -0
  720. package/lib/esm/test/annotations/TextAnnotation.test.d.ts +2 -0
  721. package/lib/esm/test/annotations/TextAnnotation.test.d.ts.map +1 -0
  722. package/lib/esm/test/annotations/TextAnnotation.test.js +1135 -0
  723. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -0
  724. package/lib/esm/test/categories/Category.test.d.ts +2 -0
  725. package/lib/esm/test/categories/Category.test.d.ts.map +1 -0
  726. package/lib/esm/test/categories/Category.test.js +51 -0
  727. package/lib/esm/test/categories/Category.test.js.map +1 -0
  728. package/lib/esm/test/codespec/CodeSpec.test.d.ts +2 -0
  729. package/lib/esm/test/codespec/CodeSpec.test.d.ts.map +1 -0
  730. package/lib/esm/test/codespec/CodeSpec.test.js +51 -0
  731. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -0
  732. package/lib/esm/test/ecdb/CTE.test.d.ts +2 -0
  733. package/lib/esm/test/ecdb/CTE.test.d.ts.map +1 -0
  734. package/lib/esm/test/ecdb/CTE.test.js +177 -0
  735. package/lib/esm/test/ecdb/CTE.test.js.map +1 -0
  736. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts +2 -0
  737. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts.map +1 -0
  738. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +167 -0
  739. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -0
  740. package/lib/esm/test/ecdb/ECDb.test.d.ts +2 -0
  741. package/lib/esm/test/ecdb/ECDb.test.d.ts.map +1 -0
  742. package/lib/esm/test/ecdb/ECDb.test.js +653 -0
  743. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -0
  744. package/lib/esm/test/ecdb/ECDbTestHelper.d.ts +5 -0
  745. package/lib/esm/test/ecdb/ECDbTestHelper.d.ts.map +1 -0
  746. package/lib/esm/test/ecdb/ECDbTestHelper.js +28 -0
  747. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -0
  748. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts +2 -0
  749. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts.map +1 -0
  750. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js +63 -0
  751. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -0
  752. package/lib/esm/test/ecdb/ECSqlAst.test.d.ts +5 -0
  753. package/lib/esm/test/ecdb/ECSqlAst.test.d.ts.map +1 -0
  754. package/lib/esm/test/ecdb/ECSqlAst.test.js +972 -0
  755. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -0
  756. package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts +2 -0
  757. package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts.map +1 -0
  758. package/lib/esm/test/ecdb/ECSqlQuery.test.js +776 -0
  759. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -0
  760. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts +2 -0
  761. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts.map +1 -0
  762. package/lib/esm/test/ecdb/ECSqlReader.test.js +669 -0
  763. package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -0
  764. package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts +2 -0
  765. package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts.map +1 -0
  766. package/lib/esm/test/ecdb/ECSqlStatement.test.js +3329 -0
  767. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -0
  768. package/lib/esm/test/ecdb/SqliteStatement.test.d.ts +2 -0
  769. package/lib/esm/test/ecdb/SqliteStatement.test.d.ts.map +1 -0
  770. package/lib/esm/test/ecdb/SqliteStatement.test.js +510 -0
  771. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -0
  772. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts +4 -0
  773. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts.map +1 -0
  774. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js +127 -0
  775. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -0
  776. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts +2 -0
  777. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts.map +1 -0
  778. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +197 -0
  779. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -0
  780. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts +66 -0
  781. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts.map +1 -0
  782. package/lib/esm/test/ecsql/src/ECSqlTestParser.js +420 -0
  783. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -0
  784. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts +2 -0
  785. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts.map +1 -0
  786. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js +369 -0
  787. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -0
  788. package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts +2 -0
  789. package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts.map +1 -0
  790. package/lib/esm/test/element/DeleteDefinitionElements.test.js +208 -0
  791. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -0
  792. package/lib/esm/test/element/ElementAspect.test.d.ts +2 -0
  793. package/lib/esm/test/element/ElementAspect.test.d.ts.map +1 -0
  794. package/lib/esm/test/element/ElementAspect.test.js +363 -0
  795. package/lib/esm/test/element/ElementAspect.test.js.map +1 -0
  796. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts +2 -0
  797. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts.map +1 -0
  798. package/lib/esm/test/element/ElementDependencyGraph.test.js +383 -0
  799. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -0
  800. package/lib/esm/test/element/ElementRoundTrip.test.d.ts +2 -0
  801. package/lib/esm/test/element/ElementRoundTrip.test.d.ts.map +1 -0
  802. package/lib/esm/test/element/ElementRoundTrip.test.js +926 -0
  803. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -0
  804. package/lib/esm/test/element/ExcludedElements.test.d.ts +2 -0
  805. package/lib/esm/test/element/ExcludedElements.test.d.ts.map +1 -0
  806. package/lib/esm/test/element/ExcludedElements.test.js +57 -0
  807. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -0
  808. package/lib/esm/test/element/ExternalSource.test.d.ts +2 -0
  809. package/lib/esm/test/element/ExternalSource.test.d.ts.map +1 -0
  810. package/lib/esm/test/element/ExternalSource.test.js +107 -0
  811. package/lib/esm/test/element/ExternalSource.test.js.map +1 -0
  812. package/lib/esm/test/element/NullStructArray.test.d.ts +2 -0
  813. package/lib/esm/test/element/NullStructArray.test.d.ts.map +1 -0
  814. package/lib/esm/test/element/NullStructArray.test.js +77 -0
  815. package/lib/esm/test/element/NullStructArray.test.js.map +1 -0
  816. package/lib/esm/test/element/UrlLink.test.d.ts +2 -0
  817. package/lib/esm/test/element/UrlLink.test.d.ts.map +1 -0
  818. package/lib/esm/test/element/UrlLink.test.js +36 -0
  819. package/lib/esm/test/element/UrlLink.test.js.map +1 -0
  820. package/lib/esm/test/font/FontFile.test.d.ts +2 -0
  821. package/lib/esm/test/font/FontFile.test.d.ts.map +1 -0
  822. package/lib/esm/test/font/FontFile.test.js +139 -0
  823. package/lib/esm/test/font/FontFile.test.js.map +1 -0
  824. package/lib/esm/test/font/IModelDbFonts.test.d.ts +2 -0
  825. package/lib/esm/test/font/IModelDbFonts.test.d.ts.map +1 -0
  826. package/lib/esm/test/font/IModelDbFonts.test.js +266 -0
  827. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -0
  828. package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts +2 -0
  829. package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts.map +1 -0
  830. package/lib/esm/test/hubaccess/BriefcaseManager.test.js +176 -0
  831. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -0
  832. package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts +2 -0
  833. package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts.map +1 -0
  834. package/lib/esm/test/hubaccess/CheckpointManager.test.js +52 -0
  835. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -0
  836. package/lib/esm/test/imageData.d.ts +9 -0
  837. package/lib/esm/test/imageData.d.ts.map +1 -0
  838. package/lib/esm/test/imageData.js +16 -0
  839. package/lib/esm/test/imageData.js.map +1 -0
  840. package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts +2 -0
  841. package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts.map +1 -0
  842. package/lib/esm/test/imodel/ElementTreeWalker.test.js +383 -0
  843. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -0
  844. package/lib/esm/test/imodel/GetTextureImage.test.d.ts +2 -0
  845. package/lib/esm/test/imodel/GetTextureImage.test.d.ts.map +1 -0
  846. package/lib/esm/test/imodel/GetTextureImage.test.js +29 -0
  847. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -0
  848. package/lib/esm/test/imodel/IModel.test.d.ts +2 -0
  849. package/lib/esm/test/imodel/IModel.test.d.ts.map +1 -0
  850. package/lib/esm/test/imodel/IModel.test.js +2615 -0
  851. package/lib/esm/test/imodel/IModel.test.js.map +1 -0
  852. package/lib/esm/test/imodel/ProjectExtents.test.d.ts +2 -0
  853. package/lib/esm/test/imodel/ProjectExtents.test.d.ts.map +1 -0
  854. package/lib/esm/test/imodel/ProjectExtents.test.js +66 -0
  855. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -0
  856. package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts +2 -0
  857. package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts.map +1 -0
  858. package/lib/esm/test/imodel/SchemaXmlImport.test.js +74 -0
  859. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -0
  860. package/lib/esm/test/index.d.ts +7 -0
  861. package/lib/esm/test/index.d.ts.map +1 -0
  862. package/lib/esm/test/index.js +11 -0
  863. package/lib/esm/test/index.js.map +1 -0
  864. package/lib/esm/test/misc/DevTools.test.d.ts +2 -0
  865. package/lib/esm/test/misc/DevTools.test.d.ts.map +1 -0
  866. package/lib/esm/test/misc/DevTools.test.js +72 -0
  867. package/lib/esm/test/misc/DevTools.test.js.map +1 -0
  868. package/lib/esm/test/misc/EntitySubClasses.test.d.ts +2 -0
  869. package/lib/esm/test/misc/EntitySubClasses.test.d.ts.map +1 -0
  870. package/lib/esm/test/misc/EntitySubClasses.test.js +106 -0
  871. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -0
  872. package/lib/esm/test/misc/GeoServices.test.d.ts +2 -0
  873. package/lib/esm/test/misc/GeoServices.test.d.ts.map +1 -0
  874. package/lib/esm/test/misc/GeoServices.test.js +850 -0
  875. package/lib/esm/test/misc/GeoServices.test.js.map +1 -0
  876. package/lib/esm/test/misc/PromiseMemoizer.test.d.ts +2 -0
  877. package/lib/esm/test/misc/PromiseMemoizer.test.d.ts.map +1 -0
  878. package/lib/esm/test/misc/PromiseMemoizer.test.js +111 -0
  879. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -0
  880. package/lib/esm/test/native/DgnDbWorker.test.d.ts +2 -0
  881. package/lib/esm/test/native/DgnDbWorker.test.d.ts.map +1 -0
  882. package/lib/esm/test/native/DgnDbWorker.test.js +159 -0
  883. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -0
  884. package/lib/esm/test/rpc/response.test.d.ts +2 -0
  885. package/lib/esm/test/rpc/response.test.d.ts.map +1 -0
  886. package/lib/esm/test/rpc/response.test.js +112 -0
  887. package/lib/esm/test/rpc/response.test.js.map +1 -0
  888. package/lib/esm/test/schema/ClassRegistry.test.d.ts +2 -0
  889. package/lib/esm/test/schema/ClassRegistry.test.d.ts.map +1 -0
  890. package/lib/esm/test/schema/ClassRegistry.test.js +679 -0
  891. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -0
  892. package/lib/esm/test/schema/FunctionalDomain.test.d.ts +2 -0
  893. package/lib/esm/test/schema/FunctionalDomain.test.d.ts.map +1 -0
  894. package/lib/esm/test/schema/FunctionalDomain.test.js +490 -0
  895. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -0
  896. package/lib/esm/test/schema/GenericDomain.test.d.ts +2 -0
  897. package/lib/esm/test/schema/GenericDomain.test.d.ts.map +1 -0
  898. package/lib/esm/test/schema/GenericDomain.test.js +133 -0
  899. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -0
  900. package/lib/esm/test/schema/IModelSchemaContext.test.d.ts +2 -0
  901. package/lib/esm/test/schema/IModelSchemaContext.test.d.ts.map +1 -0
  902. package/lib/esm/test/schema/IModelSchemaContext.test.js +95 -0
  903. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -0
  904. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts +4 -0
  905. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts.map +1 -0
  906. package/lib/esm/test/sheetindex/SheetIndex.test.js +312 -0
  907. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -0
  908. package/lib/esm/test/standalone/ChangeMerge.test.d.ts +2 -0
  909. package/lib/esm/test/standalone/ChangeMerge.test.d.ts.map +1 -0
  910. package/lib/esm/test/standalone/ChangeMerge.test.js +409 -0
  911. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -0
  912. package/lib/esm/test/standalone/ChangesetReader.test.d.ts +2 -0
  913. package/lib/esm/test/standalone/ChangesetReader.test.d.ts.map +1 -0
  914. package/lib/esm/test/standalone/ChangesetReader.test.js +891 -0
  915. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -0
  916. package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts +2 -0
  917. package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts.map +1 -0
  918. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js +49 -0
  919. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -0
  920. package/lib/esm/test/standalone/DisplayStyle.test.d.ts +2 -0
  921. package/lib/esm/test/standalone/DisplayStyle.test.d.ts.map +1 -0
  922. package/lib/esm/test/standalone/DisplayStyle.test.js +136 -0
  923. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -0
  924. package/lib/esm/test/standalone/Drawing.test.d.ts +2 -0
  925. package/lib/esm/test/standalone/Drawing.test.d.ts.map +1 -0
  926. package/lib/esm/test/standalone/Drawing.test.js +120 -0
  927. package/lib/esm/test/standalone/Drawing.test.js.map +1 -0
  928. package/lib/esm/test/standalone/ElementGraphics.test.d.ts +2 -0
  929. package/lib/esm/test/standalone/ElementGraphics.test.d.ts.map +1 -0
  930. package/lib/esm/test/standalone/ElementGraphics.test.js +127 -0
  931. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -0
  932. package/lib/esm/test/standalone/ElementMesh.test.d.ts +2 -0
  933. package/lib/esm/test/standalone/ElementMesh.test.d.ts.map +1 -0
  934. package/lib/esm/test/standalone/ElementMesh.test.js +142 -0
  935. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -0
  936. package/lib/esm/test/standalone/ExportGraphics.test.d.ts +2 -0
  937. package/lib/esm/test/standalone/ExportGraphics.test.d.ts.map +1 -0
  938. package/lib/esm/test/standalone/ExportGraphics.test.js +1005 -0
  939. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -0
  940. package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts +2 -0
  941. package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts.map +1 -0
  942. package/lib/esm/test/standalone/GeometryChangeEvents.test.js +139 -0
  943. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -0
  944. package/lib/esm/test/standalone/GeometryStream.test.d.ts +2 -0
  945. package/lib/esm/test/standalone/GeometryStream.test.d.ts.map +1 -0
  946. package/lib/esm/test/standalone/GeometryStream.test.js +2869 -0
  947. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -0
  948. package/lib/esm/test/standalone/HubMock.test.d.ts +2 -0
  949. package/lib/esm/test/standalone/HubMock.test.d.ts.map +1 -0
  950. package/lib/esm/test/standalone/HubMock.test.js +343 -0
  951. package/lib/esm/test/standalone/HubMock.test.js.map +1 -0
  952. package/lib/esm/test/standalone/IModelWrite.test.d.ts +7 -0
  953. package/lib/esm/test/standalone/IModelWrite.test.d.ts.map +1 -0
  954. package/lib/esm/test/standalone/IModelWrite.test.js +907 -0
  955. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -0
  956. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts +2 -0
  957. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts.map +1 -0
  958. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js +417 -0
  959. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -0
  960. package/lib/esm/test/standalone/MergeConflict.test.d.ts +7 -0
  961. package/lib/esm/test/standalone/MergeConflict.test.d.ts.map +1 -0
  962. package/lib/esm/test/standalone/MergeConflict.test.js +345 -0
  963. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -0
  964. package/lib/esm/test/standalone/NativeAppStorage.test.d.ts +2 -0
  965. package/lib/esm/test/standalone/NativeAppStorage.test.d.ts.map +1 -0
  966. package/lib/esm/test/standalone/NativeAppStorage.test.js +121 -0
  967. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -0
  968. package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts +2 -0
  969. package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts.map +1 -0
  970. package/lib/esm/test/standalone/RenderMaterialElement.test.js +399 -0
  971. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -0
  972. package/lib/esm/test/standalone/RenderTimeline.test.d.ts +2 -0
  973. package/lib/esm/test/standalone/RenderTimeline.test.d.ts.map +1 -0
  974. package/lib/esm/test/standalone/RenderTimeline.test.js +71 -0
  975. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -0
  976. package/lib/esm/test/standalone/SQLiteDb.test.d.ts +2 -0
  977. package/lib/esm/test/standalone/SQLiteDb.test.d.ts.map +1 -0
  978. package/lib/esm/test/standalone/SQLiteDb.test.js +63 -0
  979. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -0
  980. package/lib/esm/test/standalone/SchemaUtils.test.d.ts +2 -0
  981. package/lib/esm/test/standalone/SchemaUtils.test.d.ts.map +1 -0
  982. package/lib/esm/test/standalone/SchemaUtils.test.js +25 -0
  983. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -0
  984. package/lib/esm/test/standalone/SectionDrawing.test.d.ts +2 -0
  985. package/lib/esm/test/standalone/SectionDrawing.test.d.ts.map +1 -0
  986. package/lib/esm/test/standalone/SectionDrawing.test.js +83 -0
  987. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -0
  988. package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts +2 -0
  989. package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts.map +1 -0
  990. package/lib/esm/test/standalone/ServerBasedLocks.test.js +279 -0
  991. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -0
  992. package/lib/esm/test/standalone/Setting.test.d.ts +2 -0
  993. package/lib/esm/test/standalone/Setting.test.d.ts.map +1 -0
  994. package/lib/esm/test/standalone/Setting.test.js +76 -0
  995. package/lib/esm/test/standalone/Setting.test.js.map +1 -0
  996. package/lib/esm/test/standalone/Settings.test.d.ts +2 -0
  997. package/lib/esm/test/standalone/Settings.test.d.ts.map +1 -0
  998. package/lib/esm/test/standalone/Settings.test.js +349 -0
  999. package/lib/esm/test/standalone/Settings.test.js.map +1 -0
  1000. package/lib/esm/test/standalone/SettingsSchemas.test.d.ts +2 -0
  1001. package/lib/esm/test/standalone/SettingsSchemas.test.d.ts.map +1 -0
  1002. package/lib/esm/test/standalone/SettingsSchemas.test.js +31 -0
  1003. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -0
  1004. package/lib/esm/test/standalone/SnapshotDb.test.d.ts +2 -0
  1005. package/lib/esm/test/standalone/SnapshotDb.test.d.ts.map +1 -0
  1006. package/lib/esm/test/standalone/SnapshotDb.test.js +155 -0
  1007. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -0
  1008. package/lib/esm/test/standalone/Texture.test.d.ts +2 -0
  1009. package/lib/esm/test/standalone/Texture.test.d.ts.map +1 -0
  1010. package/lib/esm/test/standalone/Texture.test.js +90 -0
  1011. package/lib/esm/test/standalone/Texture.test.js.map +1 -0
  1012. package/lib/esm/test/standalone/TileCache.test.d.ts +9 -0
  1013. package/lib/esm/test/standalone/TileCache.test.d.ts.map +1 -0
  1014. package/lib/esm/test/standalone/TileCache.test.js +127 -0
  1015. package/lib/esm/test/standalone/TileCache.test.js.map +1 -0
  1016. package/lib/esm/test/standalone/TileTree.test.d.ts +2 -0
  1017. package/lib/esm/test/standalone/TileTree.test.d.ts.map +1 -0
  1018. package/lib/esm/test/standalone/TileTree.test.js +241 -0
  1019. package/lib/esm/test/standalone/TileTree.test.js.map +1 -0
  1020. package/lib/esm/test/standalone/TxnManager.test.d.ts +2 -0
  1021. package/lib/esm/test/standalone/TxnManager.test.d.ts.map +1 -0
  1022. package/lib/esm/test/standalone/TxnManager.test.js +878 -0
  1023. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -0
  1024. package/lib/esm/test/standalone/ViewDefinition.test.d.ts +2 -0
  1025. package/lib/esm/test/standalone/ViewDefinition.test.d.ts.map +1 -0
  1026. package/lib/esm/test/standalone/ViewDefinition.test.js +279 -0
  1027. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -0
  1028. package/lib/esm/test/standalone/ViewStoreDb.test.d.ts +2 -0
  1029. package/lib/esm/test/standalone/ViewStoreDb.test.d.ts.map +1 -0
  1030. package/lib/esm/test/standalone/ViewStoreDb.test.js +288 -0
  1031. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -0
  1032. package/lib/esm/test/standalone/Workspace.test.d.ts +2 -0
  1033. package/lib/esm/test/standalone/Workspace.test.d.ts.map +1 -0
  1034. package/lib/esm/test/standalone/Workspace.test.js +162 -0
  1035. package/lib/esm/test/standalone/Workspace.test.js.map +1 -0
  1036. package/lib/esm/workspace/Settings.d.ts +216 -0
  1037. package/lib/esm/workspace/Settings.d.ts.map +1 -0
  1038. package/lib/esm/workspace/Settings.js +83 -0
  1039. package/lib/esm/workspace/Settings.js.map +1 -0
  1040. package/lib/esm/workspace/SettingsSchemas.d.ts +135 -0
  1041. package/lib/esm/workspace/SettingsSchemas.d.ts.map +1 -0
  1042. package/lib/esm/workspace/SettingsSchemas.js +9 -0
  1043. package/lib/esm/workspace/SettingsSchemas.js.map +1 -0
  1044. package/lib/esm/workspace/Workspace.d.ts +500 -0
  1045. package/lib/esm/workspace/Workspace.d.ts.map +1 -0
  1046. package/lib/esm/workspace/Workspace.js +97 -0
  1047. package/lib/esm/workspace/Workspace.js.map +1 -0
  1048. package/lib/esm/workspace/WorkspaceEditor.d.ts +240 -0
  1049. package/lib/esm/workspace/WorkspaceEditor.d.ts.map +1 -0
  1050. package/lib/esm/workspace/WorkspaceEditor.js +31 -0
  1051. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -0
  1052. package/package.json +36 -28
  1053. package/lib/cjs/HubMock.d.ts.map +0 -1
  1054. package/lib/cjs/HubMock.js.map +0 -1
  1055. package/lib/cjs/IModelCloneContext.d.ts +0 -9
  1056. package/lib/cjs/IModelCloneContext.d.ts.map +0 -1
  1057. package/lib/cjs/IModelCloneContext.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViewStore.js","sourceRoot":"","sources":["../../src/ViewStore.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 ViewDefinitions\r\n */\r\n\r\nimport { CompressedId64Set, GuidString, Id64, Id64Array, Id64String, Logger, MarkRequired, Optional } from \"@itwin/core-bentley\";\r\nimport {\r\n CategorySelectorProps, DisplayStyle3dSettingsProps, DisplayStyleLoadProps, DisplayStyleProps, DisplayStyleSettingsProps,\r\n DisplayStyleSubCategoryProps, ElementProps, IModel, ModelSelectorProps, PlanProjectionSettingsProps, RenderSchedule,\r\n RenderTimelineProps, SpatialViewDefinitionProps, ThumbnailFormatProps, ThumbnailProps, ViewDefinitionProps, ViewStoreError, ViewStoreRpc,\r\n} from \"@itwin/core-common\";\r\nimport { CloudSqlite } from \"./CloudSqlite\";\r\nimport { VersionedSqliteDb } from \"./SQLiteDb\";\r\nimport { SqliteStatement } from \"./SqliteStatement\";\r\nimport { IModelDb } from \"./IModelDb\";\r\nimport { Category } from \"./Category\";\r\nimport { Model } from \"./Model\";\r\nimport { Entity } from \"./Entity\";\r\nimport { BlobContainer } from \"./BlobContainerService\";\r\nimport { _nativeDb } from \"./internal/Symbols\";\r\nimport { ECSqlStatement } from \"./ECSqlStatement\";\r\n\r\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\r\n\r\n// cspell:ignore nocase rowid\r\n\r\n/**\r\n * A ViewStore is a database that stores Views and related data. It is used to store and retrieve views for iTwin.js.\r\n * It can either be a local SQLite file, or a CloudSqlite database stored in a cloud container. To use a CloudSqlite\r\n * database, you must first create a container in Blob Storage and then call [[ViewStore.CloudAccess.initializeDb]].\r\n *\r\n * A ViewStore can hold:\r\n * - Views\r\n * - DisplayStyles\r\n * - CategorySelectors\r\n * - ModelSelectors\r\n * - RenderTimelines\r\n * - Searches\r\n * - Tags\r\n * - Thumbnails\r\n * - ViewGroups\r\n *\r\n * Views are added to a ViewStore via ViewDefinitionProps that may hold references to a DisplayStyle, CategorySelector, ModelSelector, or RenderTimeline.\r\n * Before storing a View, you must first add any referenced DisplayStyles, CategorySelectors, ModelSelectors, and RenderTimelines to the\r\n * ViewStore. The \"add\" methods return a string that uniquely identifies the object in the ViewStore.\r\n * You should set the ViewDefinitionProps's displayStyle, categorySelector, modelSelector, or renderTimeline member to the returned string.\r\n * When you load a ViewDefinition from the ViewStore, the member may be used to load the DisplayStyle, CategorySelector,\r\n * ModelSelector, RenderTimeline, etc.\r\n *\r\n * A IdString is a string that uniquely identifies a row in one of the ViewStore's internal tables. The string holds a base-36 integer\r\n * that starts with \"@\" (vs. \"0x\" for ElementIds). For example, if you store a DisplayStyle and it is assigned the ViewStore Id \"@y1\", then you\r\n * should set the ViewDefinitionProps's displayStyle member to \"@y1\". When you load the ViewDefinition from the ViewStore, the \"@Y1\" may be used to\r\n * alo load the DisplayStyle from the ViewStore.\r\n *\r\n * Views are organized into hierarchical ViewGroups (like file and folder hierarchies on a file system). A View is always stored \"in\" a ViewGroup, and\r\n * views must have a name that is unique within the ViewGroup. ViewGroups may each have a default ViewId.\r\n * The root ViewGroup is named \"Root\" and has a RowId of 1. The root ViewGroup can not be deleted.\r\n * View names and ViewGroup names may not contain either \"/\" or \"@\". ViewGroups are stored in the \"viewGroups\" table.\r\n *\r\n * Views may be \"tagged\" with one or more Tags. Tags are named with an arbitrary string that can be used to group Views. A Tag may\r\n * be associated with multiple Views, and a View may have multiple Tags. Tags are stored in the \"tags\" table.\r\n *\r\n * Views may optionally have a thumbnail, paired via the View's Id. Thumbnails are stored in the \"thumbnails\" table.\r\n *\r\n * Note: All ElementIds and ModelIds in ModelSelectors, CategorySelectors, DisplayStyles, Timelines, etc. are converted to guid-based identifiers when stored in the ViewStore.\r\n * They are then remapped back to their Ids when loaded from the ViewStore. This allows the ViewStore to be used with more than one iModel,\r\n * provided that the same Guids are used in each iModel. This is done by storing the set of unique Guids in the \"guids\" table, and then\r\n * creating a reference to the row in the \"guids\" table via the special Id prefix \"^\". For example, if a category selector contains the\r\n * Id \"0x123\", then the guid from element 0x123 is stored in the \"guids\" table, and the category selector is stored with the rowId of the entry\r\n * in the guid table (e.g. \"^1w\"). When the category selector is loaded from the ViewStore, the guid is looked up in the \"guids\" table and\r\n * the iModel is queried for the element with that guid. That element's Id (which may or may not be 0x123) is then returned in the category selector.\r\n *\r\n * @beta\r\n */\r\nexport namespace ViewStore {\r\n\r\n export const tableName = {\r\n categorySelectors: \"categorySelectors\",\r\n displayStyles: \"displayStyles\",\r\n viewGroups: \"viewGroups\",\r\n guids: \"guids\",\r\n modelSelectors: \"modelSelectors\",\r\n taggedViews: \"taggedViews\",\r\n tags: \"tags\",\r\n thumbnails: \"thumbnails\",\r\n timelines: \"timelines\",\r\n searches: \"searches\",\r\n views: \"views\",\r\n } as const;\r\n\r\n /** data for a Thumbnail */\r\n type ThumbnailData = Uint8Array;\r\n\r\n /** A row in a table. 0 means \"not present\" */\r\n export type RowId = number;\r\n\r\n /** a string representation of a row in a table of a ViewStore. Will be a base-36 integer with a leading \"@\" (e.g.\"@4e3\") */\r\n type RowString = string;\r\n\r\n /** a string representation of a row in the Guid table. Will be a base-36 integer with a leading \"^\" (e.g.\"^4e3\") */\r\n type GuidRowString = string;\r\n\r\n /** common properties for all tables */\r\n interface TableRow {\r\n name?: string;\r\n json: string;\r\n owner?: string;\r\n }\r\n type DisplayStyleRow = TableRow;\r\n type SelectorRow = TableRow;\r\n type TagRow = TableRow;\r\n type SearchRow = TableRow;\r\n type TimelineRow = TableRow;\r\n\r\n /** a row in the \"views\" table */\r\n interface ViewRow extends MarkRequired<TableRow, \"name\"> {\r\n className: string;\r\n groupId: RowId;\r\n isPrivate?: boolean;\r\n modelSel?: RowId;\r\n categorySel: RowId;\r\n displayStyle: RowId;\r\n }\r\n\r\n /** a row in the \"viewGroups\" table */\r\n interface ViewGroupRow extends MarkRequired<TableRow, \"name\"> {\r\n parentId: RowId;\r\n defaultViewId?: RowId;\r\n }\r\n\r\n /** a row in the \"thumbnails\" table */\r\n interface ThumbnailRow {\r\n viewId: RowId;\r\n data: ThumbnailData;\r\n format: ThumbnailFormatProps;\r\n owner?: string;\r\n }\r\n\r\n /** convert a RowId to a RowString (base-36 integer with a leading \"@\") */\r\n export const fromRowId = (rowId: RowId): RowString => {\r\n return `@${rowId.toString(36)}`;\r\n };\r\n /** convert a guid RowId to a GuidRowString (base-36 integer with a leading \"^\") */\r\n const guidRowToString = (rowId: RowId): GuidRowString => {\r\n return `^${rowId.toString(36)}`;\r\n };\r\n\r\n /** determine if a string is a guid row string (base-36 integer with a leading \"^\") */\r\n const isGuidRowString = (id?: string) => true === id?.startsWith(\"^\");\r\n\r\n type RowIdOrString = RowId | RowString;\r\n\r\n /** @internal */\r\n export const toRowId = (id: RowIdOrString): RowId => {\r\n if (typeof id === \"number\")\r\n return id;\r\n\r\n if (!ViewStoreRpc.isViewStoreId(id) && !isGuidRowString(id))\r\n ViewStoreError.throwError(\"invalid-value\", { message: `invalid value: ${id}` });\r\n return parseInt(id.slice(1), 36);\r\n };\r\n\r\n const maybeToRowId = (id?: RowIdOrString) => undefined === id ? undefined : toRowId(id);\r\n const cloneProps = <T extends object>(from: T) => JSON.parse(JSON.stringify(from)) as T;\r\n\r\n const blankElementProps = (from: any, classFullName: string, idString: RowIdOrString, name?: string): ElementProps => {\r\n from.id = fromRowId(toRowId(idString));\r\n from.classFullName = classFullName;\r\n from.model = IModel.dictionaryId;\r\n from.code = { spec: \"0x1\", scope: \"0x1\", value: name };\r\n return from;\r\n };\r\n const validateName = (name: string, msg: string) => {\r\n if (name.trim().length === 0 || (/[@^#<>:\"/\\\\\"`'|?*\\u0000-\\u001F]/g.test(name)))\r\n ViewStoreError.throwError(\"invalid-value\", { message: `illegal ${msg} name \"${name}\"` });\r\n };\r\n\r\n export const defaultViewGroupId = 1;\r\n\r\n export interface ViewDbCtorArgs {\r\n guidMap?: IModelDb.GuidMapper;\r\n iModel?: IModelDb;\r\n }\r\n\r\n export class ViewDb extends VersionedSqliteDb implements ViewStoreRpc.Writer, ReadMethods {\r\n public override myVersion = \"4.0.0\";\r\n private _iModel?: IModelDb;\r\n private _guidMap?: IModelDb.GuidMapper;\r\n public get guidMap(): IModelDb.GuidMapper { return this._guidMap!; }\r\n public set guidMap(guidMap: IModelDb.GuidMapper) { this._guidMap = guidMap; }\r\n public get iModel(): IModelDb { return this._iModel!; }\r\n public set iModel(iModel: IModelDb) { this._iModel = iModel; }\r\n\r\n public constructor(arg?: ViewDbCtorArgs) {\r\n super();\r\n this._iModel = arg?.iModel;\r\n this._guidMap = arg?.guidMap ?? this._iModel?.elements; // this is only so tests can mock guids\r\n }\r\n\r\n /** create all the tables for a new ViewDb */\r\n protected override createDDL() {\r\n const baseCols = \"Id INTEGER PRIMARY KEY AUTOINCREMENT,json TEXT,owner TEXT\";\r\n this.createTable({\r\n tableName: tableName.views,\r\n columns: `${baseCols},name TEXT NOT NULL COLLATE NOCASE,className TEXT NOT NULL,private BOOLEAN NOT NULL,` +\r\n `groupId INTEGER NOT NULL REFERENCES ${tableName.viewGroups}(Id) ON DELETE CASCADE, ` +\r\n `modelSel INTEGER REFERENCES ${tableName.modelSelectors}(Id), ` +\r\n `categorySel INTEGER NOT NULL REFERENCES ${tableName.categorySelectors}(Id), ` +\r\n `displayStyle INTEGER NOT NULL REFERENCES ${tableName.displayStyles}(Id)`,\r\n constraints: \"UNIQUE(groupId,name)\",\r\n addTimestamp: true,\r\n });\r\n this.createTable({\r\n tableName: tableName.viewGroups,\r\n columns: `${baseCols},name TEXT NOT NULL COLLATE NOCASE,parent INTEGER NOT NULL REFERENCES ${tableName.viewGroups}(Id) ON DELETE CASCADE` +\r\n `,defaultViewId INTEGER REFERENCES ${tableName.views}(Id)`,\r\n constraints: \"UNIQUE(parent,name)\",\r\n addTimestamp: true,\r\n });\r\n\r\n // for tables that have a \"name\" column, we want to enforce case-insensitive uniqueness. Names may be null.\r\n const makeTable = (table: string, extra?: string) => {\r\n this.createTable({ tableName: table, columns: `${baseCols},name TEXT UNIQUE COLLATE NOCASE${extra ?? \"\"}`, addTimestamp: true });\r\n };\r\n\r\n makeTable(tableName.modelSelectors);\r\n makeTable(tableName.categorySelectors);\r\n makeTable(tableName.displayStyles);\r\n makeTable(tableName.timelines);\r\n makeTable(tableName.tags);\r\n makeTable(tableName.searches);\r\n this.createTable({ tableName: tableName.thumbnails, columns: `Id INTEGER PRIMARY KEY REFERENCES ${tableName.views} (Id) ON DELETE CASCADE,json,owner,data BLOB NOT NULL` });\r\n this.createTable({\r\n tableName: tableName.taggedViews, columns: `viewId INTEGER NOT NULL REFERENCES ${tableName.views} (Id) ON DELETE CASCADE,` +\r\n `tagId INTEGER NOT NULL REFERENCES ${tableName.tags} (Id) ON DELETE CASCADE`,\r\n constraints: `UNIQUE(tagId,viewId)`,\r\n });\r\n this.createTable({ tableName: tableName.guids, columns: `guid BLOB NOT NULL UNIQUE` });\r\n this.addViewGroupRow({ name: \"Root\", json: JSON.stringify({}) });\r\n }\r\n\r\n /** get the row in the \"guids\" table for a given guid. If the guid is not present, return 0 */\r\n private getGuidRow(guid: GuidString): RowId {\r\n return this.withPreparedSqliteStatement(`SELECT rowId FROM ${tableName.guids} WHERE guid=?`, (stmt) => {\r\n stmt.bindGuid(1, guid);\r\n return !stmt.nextRow() ? 0 : stmt.getValueInteger(0);\r\n });\r\n }\r\n /** @internal */\r\n public getGuid(rowid: RowId): GuidString | undefined {\r\n return this.withSqliteStatement(`SELECT guid FROM ${tableName.guids} WHERE rowId=?`, (stmt) => {\r\n stmt.bindInteger(1, rowid);\r\n return !stmt.nextRow() ? undefined : stmt.getValueGuid(0);\r\n });\r\n }\r\n /** @internal */\r\n public iterateGuids(rowIds: RowId[], fn: (guid: GuidString, row: RowId) => void) {\r\n this.withSqliteStatement(`SELECT guid FROM ${tableName.guids} WHERE rowId=?`, (stmt) => {\r\n for (const rowId of rowIds) {\r\n stmt.reset();\r\n stmt.bindInteger(1, rowId);\r\n if (stmt.nextRow())\r\n fn(stmt.getValueGuid(0), rowId);\r\n }\r\n });\r\n }\r\n\r\n /** @internal */\r\n public addGuid(guid: GuidString): RowId {\r\n const existing = this.getGuidRow(guid);\r\n return existing !== 0 ? existing : this.withPreparedSqliteStatement(`INSERT INTO ${tableName.guids} (guid) VALUES(?)`, (stmt) => {\r\n stmt.bindGuid(1, guid);\r\n stmt.stepForWrite();\r\n return this[_nativeDb].getLastInsertRowId();\r\n });\r\n }\r\n\r\n /** @internal */\r\n public addViewRow(args: ViewRow): RowId {\r\n validateName(args.name, \"view\");\r\n return this.withSqliteStatement(`INSERT INTO ${tableName.views} (className,name,json,owner,private,groupId,modelSel,categorySel,displayStyle) VALUES(?,?,?,?,?,?,?,?,?)`, (stmt) => {\r\n stmt.bindString(1, args.className);\r\n stmt.bindString(2, args.name);\r\n stmt.bindString(3, args.json);\r\n stmt.maybeBindString(4, args.owner);\r\n stmt.bindBoolean(5, args.isPrivate ?? false);\r\n stmt.bindInteger(6, args.groupId ?? 1);\r\n stmt.maybeBindInteger(7, args.modelSel);\r\n stmt.bindInteger(8, args.categorySel);\r\n stmt.bindInteger(9, args.displayStyle);\r\n stmt.stepForWrite();\r\n return this[_nativeDb].getLastInsertRowId();\r\n });\r\n }\r\n\r\n /** @internal */\r\n public addViewGroupRow(args: Optional<ViewGroupRow, \"parentId\">): RowId {\r\n validateName(args.name, \"group\");\r\n return this.withSqliteStatement(`INSERT INTO ${tableName.viewGroups} (name,owner,parent,json) VALUES(?,?,?,?)`, (stmt) => {\r\n stmt.bindString(1, args.name);\r\n stmt.maybeBindString(2, args.owner);\r\n stmt.bindInteger(3, args.parentId ?? 1);\r\n stmt.bindString(4, args.json);\r\n stmt.stepForWrite();\r\n return this[_nativeDb].getLastInsertRowId();\r\n });\r\n }\r\n\r\n private addTableRow(table: string, args: TableRow): RowId {\r\n return this.withSqliteStatement(`INSERT INTO ${table} (name,json,owner) VALUES(?,?,?)`, (stmt) => {\r\n stmt.maybeBindString(1, args.name);\r\n stmt.bindString(2, args.json);\r\n stmt.maybeBindString(3, args.owner);\r\n stmt.stepForWrite();\r\n return this[_nativeDb].getLastInsertRowId();\r\n });\r\n }\r\n /** add a row to the \"modelSelectors\" table, return the RowId\r\n * @internal\r\n */\r\n public addModelSelectorRow(args: SelectorRow): RowId {\r\n return this.addTableRow(tableName.modelSelectors, args);\r\n }\r\n /** add a row to the \"categorySelectors\" table, return the RowId\r\n * @internal\r\n */\r\n public addCategorySelectorRow(args: SelectorRow): RowId { // for tests\r\n return this.addTableRow(tableName.categorySelectors, args);\r\n }\r\n /** add a row to the \"displayStyles\" table, return the RowId\r\n * @internal\r\n */\r\n public addDisplayStyleRow(args: DisplayStyleRow): RowId {\r\n return this.addTableRow(tableName.displayStyles, args);\r\n }\r\n /** add a row to the \"timelines\" table, return the RowId\r\n * @internal\r\n */\r\n public addTimelineRow(args: TimelineRow): RowId {\r\n return this.addTableRow(tableName.timelines, args);\r\n }\r\n /** add a row to the \"tags\" table, return the RowId\r\n * @internal\r\n */\r\n public addTag(args: TagRow): RowId {\r\n return this.addTableRow(tableName.tags, args);\r\n }\r\n /** add a row to the \"searches\" table, return the RowId\r\n * @internal\r\n */\r\n public async addSearch(args: SearchRow): Promise<RowId> {\r\n return this.addTableRow(tableName.searches, args);\r\n }\r\n\r\n /** add or update a row in the \"thumbnails\" table, return the RowId\r\n * @internal\r\n */\r\n public addOrReplaceThumbnailRow(args: ThumbnailRow): RowId {\r\n return this.withSqliteStatement(`INSERT OR REPLACE INTO ${tableName.thumbnails} (Id,json,owner,data) VALUES(?,?,?,?)`, (stmt) => {\r\n stmt.bindInteger(1, args.viewId);\r\n stmt.bindString(2, JSON.stringify(args.format));\r\n stmt.maybeBindString(3, args.owner);\r\n stmt.bindBlob(4, args.data);\r\n stmt.stepForWrite();\r\n return this[_nativeDb].getLastInsertRowId();\r\n });\r\n }\r\n\r\n private deleteFromTable(table: string, id: RowIdOrString): void {\r\n this.withSqliteStatement(`DELETE FROM ${table} WHERE Id=?`, (stmt) => {\r\n stmt.bindInteger(1, toRowId(id));\r\n stmt.stepForWrite();\r\n });\r\n }\r\n /** @internal */\r\n public deleteViewRow(id: RowIdOrString) {\r\n return this.deleteFromTable(tableName.views, id);\r\n }\r\n public async deleteViewGroup(args: { name: ViewStoreRpc.ViewGroupSpec }) {\r\n const rowId = this.findViewGroup(args.name);\r\n if (rowId === 1)\r\n ViewStoreError.throwError(\"group-error\", { message: \"Cannot delete root group\" });\r\n return this.deleteFromTable(tableName.viewGroups, rowId);\r\n }\r\n public deleteModelSelectorSync(id: RowIdOrString) {\r\n return this.deleteFromTable(tableName.modelSelectors, id);\r\n }\r\n public async deleteModelSelector(args: { id: RowIdOrString }): Promise<void> {\r\n return this.deleteModelSelectorSync(args.id);\r\n }\r\n public deleteCategorySelectorSync(id: RowIdOrString) {\r\n return this.deleteFromTable(tableName.categorySelectors, id);\r\n }\r\n public deleteDisplayStyleSync(id: RowIdOrString) {\r\n return this.deleteFromTable(tableName.displayStyles, id);\r\n }\r\n public deleteTimelineSync(id: RowIdOrString) {\r\n return this.deleteFromTable(tableName.timelines, id);\r\n }\r\n public deleteTagSync(arg: { name: ViewStoreRpc.TagName }) {\r\n const id = this.findTagByName(arg.name);\r\n return this.deleteFromTable(tableName.tags, id);\r\n }\r\n public async deleteTag(arg: { name: ViewStoreRpc.TagName }) {\r\n return this.deleteTagSync(arg);\r\n }\r\n public async deleteCategorySelector(args: { id: RowIdOrString }): Promise<void> {\r\n return this.deleteCategorySelectorSync(args.id);\r\n }\r\n public async deleteDisplayStyle(args: { id: RowIdOrString }): Promise<void> {\r\n return this.deleteDisplayStyleSync(args.id);\r\n }\r\n public async deleteTimeline(args: { id: RowIdOrString }): Promise<void> {\r\n return this.deleteTimelineSync(args.id);\r\n }\r\n public deleteSearch(id: RowId) {\r\n return this.deleteFromTable(tableName.searches, id);\r\n }\r\n public deleteThumbnailSync(id: RowString) {\r\n return this.deleteFromTable(tableName.thumbnails, toRowId(id));\r\n }\r\n public async deleteThumbnail(arg: { viewId: RowString }) {\r\n return this.deleteThumbnailSync(arg.viewId);\r\n }\r\n /** get the data for a view from the database\r\n * @internal\r\n */\r\n public getViewRow(viewId: RowId): undefined | ViewRow {\r\n return this.withSqliteStatement(`SELECT className,name,json,owner,private,groupId,modelSel,categorySel,displayStyle FROM ${tableName.views} WHERE Id=?`, (stmt) => {\r\n stmt.bindInteger(1, viewId);\r\n return !stmt.nextRow() ? undefined : {\r\n className: stmt.getValueString(0),\r\n name: stmt.getValueString(1),\r\n json: stmt.getValueString(2),\r\n owner: stmt.getValueStringMaybe(3),\r\n isPrivate: stmt.getValueBoolean(4),\r\n groupId: stmt.getValueInteger(5),\r\n modelSel: stmt.getValueIntegerMaybe(6),\r\n categorySel: stmt.getValueInteger(7),\r\n displayStyle: stmt.getValueInteger(8),\r\n };\r\n });\r\n }\r\n /** @internal */\r\n public getThumbnailRow(viewId: RowId): undefined | ThumbnailRow {\r\n return this.withSqliteStatement(`SELECT json,owner,data FROM ${tableName.thumbnails} WHERE Id=?`, (stmt) => {\r\n stmt.bindInteger(1, viewId);\r\n return !stmt.nextRow() ? undefined : {\r\n viewId,\r\n format: JSON.parse(stmt.getValueString(0)),\r\n owner: stmt.getValueStringMaybe(1),\r\n data: stmt.getValueBlob(2),\r\n };\r\n });\r\n }\r\n /** @internal */\r\n public getViewGroup(id: RowId): ViewGroupRow | undefined {\r\n return this.withSqliteStatement(`SELECT name,owner,json,parent,defaultViewId FROM ${tableName.viewGroups} WHERE Id=?`, (stmt) => {\r\n stmt.bindInteger(1, id);\r\n return !stmt.nextRow() ? undefined : {\r\n name: stmt.getValueString(0),\r\n owner: stmt.getValueStringMaybe(1),\r\n json: stmt.getValueString(2),\r\n parentId: stmt.getValueInteger(3),\r\n defaultViewId: stmt.getValueIntegerMaybe(4),\r\n };\r\n });\r\n }\r\n\r\n private getTableRow(table: string, id: RowId): SelectorRow | undefined {\r\n return this.withSqliteStatement(`SELECT name,json,owner FROM ${table} WHERE Id=?`, (stmt) => {\r\n stmt.bindInteger(1, id);\r\n return !stmt.nextRow() ? undefined : {\r\n name: stmt.getValueStringMaybe(0),\r\n json: stmt.getValueString(1),\r\n owner: stmt.getValueStringMaybe(2),\r\n };\r\n });\r\n }\r\n\r\n /** read a ModelSelector given a rowId\r\n * @internal\r\n */\r\n public getModelSelectorRow(id: RowId): SelectorRow | undefined {\r\n return this.getTableRow(tableName.modelSelectors, id);\r\n }\r\n /** read a CategorySelector given a rowId\r\n * @internal\r\n */\r\n public getCategorySelectorRow(id: RowId): SelectorRow | undefined {\r\n return this.getTableRow(tableName.categorySelectors, id);\r\n }\r\n /** read a DisplayStyle given a rowId\r\n * @internal\r\n */\r\n public getDisplayStyleRow(id: RowId): DisplayStyleRow | undefined {\r\n return this.getTableRow(tableName.displayStyles, id);\r\n }\r\n /** @internal */\r\n public getTimelineRow(id: RowId): TimelineRow | undefined {\r\n return this.getTableRow(tableName.timelines, id);\r\n }\r\n /** @internal */\r\n public getTag(id: RowId): TagRow | undefined {\r\n return this.getTableRow(tableName.tags, id);\r\n }\r\n /** @internal */\r\n public getSearch(id: RowId): SearchRow | undefined {\r\n return this.getTableRow(tableName.searches, id);\r\n }\r\n\r\n private updateJson(table: string, id: RowIdOrString, json: string) {\r\n this.withSqliteStatement(`UPDATE ${table} SET json=? WHERE Id=?`, (stmt) => {\r\n stmt.bindString(1, json);\r\n stmt.bindInteger(2, toRowId(id));\r\n stmt.stepForWrite();\r\n });\r\n }\r\n public async updateViewShared(arg: { viewId: RowIdOrString, isShared: boolean, owner?: string }): Promise<void> {\r\n if (!arg.isShared && arg.owner === undefined)\r\n ViewStoreError.throwError(\"no-owner\", { message: \"owner must be defined for private views\" });\r\n\r\n this.withSqliteStatement(`UPDATE ${tableName.views} SET private=?,owner=? WHERE Id=?`, (stmt) => {\r\n stmt.bindBoolean(1, !arg.isShared);\r\n stmt.maybeBindString(2, arg.owner);\r\n stmt.bindInteger(3, toRowId(arg.viewId));\r\n stmt.stepForWrite();\r\n });\r\n }\r\n /** @internal */\r\n public updateViewGroupJson(groupId: RowIdOrString, json: string) {\r\n return this.updateJson(tableName.viewGroups, groupId, json);\r\n }\r\n /** @internal */\r\n public updateModelSelectorJson(modelSelectorId: RowIdOrString, json: string) {\r\n return this.updateJson(tableName.modelSelectors, modelSelectorId, json);\r\n }\r\n /** @internal */\r\n public updateCategorySelectorJson(categorySelectorId: RowIdOrString, json: string) {\r\n return this.updateJson(tableName.categorySelectors, categorySelectorId, json);\r\n }\r\n /** @internal */\r\n public updateDisplayStyleJson(styleId: RowId, json: string) {\r\n return this.updateJson(tableName.displayStyles, styleId, json);\r\n }\r\n /** @internal */\r\n public updateTimelineJson(timelineId: RowId, json: string) {\r\n return this.updateJson(tableName.timelines, timelineId, json);\r\n }\r\n /** @internal */\r\n public updateSearchJson(searchId: RowId, json: string) {\r\n return this.updateJson(tableName.searches, searchId, json);\r\n }\r\n private updateName(table: string, id: RowIdOrString, name?: string) {\r\n this.withSqliteStatement(`UPDATE ${table} SET name=? WHERE Id=?`, (stmt) => {\r\n stmt.maybeBindString(1, name);\r\n stmt.bindInteger(2, toRowId(id));\r\n stmt.stepForWrite();\r\n });\r\n }\r\n public async renameView(args: { viewId: RowIdOrString, name: string }): Promise<void> {\r\n return this.updateName(tableName.views, args.viewId, args.name);\r\n }\r\n public async renameViewGroup(args: { groupId: RowIdOrString, name: string }): Promise<void> {\r\n return this.updateName(tableName.viewGroups, args.groupId, args.name);\r\n }\r\n public async renameModelSelector(args: { id: RowIdOrString, name?: string }): Promise<void> {\r\n return this.updateName(tableName.modelSelectors, args.id, args.name);\r\n }\r\n public async renameCategorySelector(args: { id: RowIdOrString, name?: string }): Promise<void> {\r\n return this.updateName(tableName.categorySelectors, args.id, args.name);\r\n }\r\n public async renameDisplayStyle(args: { id: RowIdOrString, name?: string }): Promise<void> {\r\n return this.updateName(tableName.displayStyles, args.id, args.name);\r\n }\r\n public async renameTimeline(args: { id: RowIdOrString, name?: string }): Promise<void> {\r\n return this.updateName(tableName.timelines, args.id, args.name);\r\n }\r\n public async renameSearch(args: { id: RowIdOrString, name: string }): Promise<void> {\r\n return this.updateName(tableName.searches, args.id, args.name);\r\n }\r\n public async renameTag(args: { oldName: string, newName: string }): Promise<void> {\r\n this.withSqliteStatement(`UPDATE ${tableName.tags} SET name=? WHERE name=?`, (stmt) => {\r\n stmt.bindString(1, args.newName);\r\n stmt.bindString(2, args.oldName);\r\n stmt.stepForWrite();\r\n });\r\n }\r\n /** @internal */\r\n public addTagToView(args: { viewId: RowId, tagId: RowId }) {\r\n this.withSqliteStatement(`INSERT OR IGNORE INTO ${tableName.taggedViews} (viewId,tagId) VALUES(?,?)`, (stmt) => {\r\n stmt.bindInteger(1, args.viewId);\r\n stmt.bindInteger(2, args.tagId);\r\n stmt.stepForWrite();\r\n });\r\n }\r\n private deleteViewTag(args: { viewId: RowId, tagId: RowId }): void {\r\n this.withSqliteStatement(`DELETE FROM ${tableName.taggedViews} WHERE viewId=? AND tagId=?`, (stmt) => {\r\n stmt.bindInteger(1, args.viewId);\r\n stmt.bindInteger(2, args.tagId);\r\n stmt.stepForWrite();\r\n });\r\n }\r\n /** @internal */\r\n public findViewsForTag(tagId: RowId): RowId[] {\r\n return this.withSqliteStatement(`SELECT viewId FROM ${tableName.taggedViews} WHERE tagId=?`, (stmt) => {\r\n stmt.bindInteger(1, tagId);\r\n const list: RowId[] = [];\r\n while (stmt.nextRow())\r\n list.push(stmt.getValueInteger(0));\r\n return list;\r\n });\r\n }\r\n private findByName(table: string, name: string): RowId {\r\n return this.withSqliteStatement(`SELECT Id FROM ${table} WHERE name=?`, (stmt) => {\r\n stmt.bindString(1, name);\r\n return !stmt.nextRow() ? 0 : stmt.getValueInteger(0);\r\n });\r\n }\r\n /** @internal */\r\n public getViewGroupByName(name: string, parentId: RowId): RowId {\r\n return this.withSqliteStatement(`SELECT Id FROM ${tableName.viewGroups} WHERE name=? AND parent=?`, (stmt) => {\r\n stmt.bindString(1, name);\r\n stmt.bindInteger(2, parentId);\r\n return !stmt.nextRow() ? 0 : stmt.getValueInteger(0);\r\n });\r\n }\r\n /** @internal */\r\n public findModelSelectorByName(name: string): RowId {\r\n return this.findByName(tableName.modelSelectors, name);\r\n }\r\n /** @internal */\r\n public findCategorySelectorByName(name: string): RowId {\r\n return this.findByName(tableName.categorySelectors, name);\r\n }\r\n /** @internal */\r\n public findDisplayStyleByName(name: string): RowId {\r\n return this.findByName(tableName.displayStyles, name);\r\n }\r\n /** @internal */\r\n public findTagByName(name: string): RowId {\r\n return this.findByName(tableName.tags, name);\r\n }\r\n /** @internal */\r\n public findTimelineByName(name: string): RowId {\r\n return this.findByName(tableName.timelines, name);\r\n }\r\n /** @internal */\r\n public findSearchByName(name: string): RowId {\r\n return this.findByName(tableName.searches, name);\r\n }\r\n\r\n private getViewInfoSync(id: RowIdOrString): ViewStoreRpc.ViewInfo | undefined {\r\n const maybeId = (rowId?: RowId): string | undefined => rowId ? fromRowId(rowId) : undefined;\r\n return this.withPreparedSqliteStatement(`SELECT owner,className,name,private,groupId,modelSel,categorySel,displayStyle FROM ${tableName.views} WHERE id=?`, (stmt) => {\r\n const viewId = toRowId(id);\r\n stmt.bindInteger(1, viewId);\r\n return stmt.nextRow() ? {\r\n id: fromRowId(viewId),\r\n owner: stmt.getValueString(0),\r\n className: stmt.getValueString(1),\r\n name: stmt.getValueStringMaybe(2),\r\n isPrivate: stmt.getValueBoolean(3),\r\n groupId: fromRowId(stmt.getValueInteger(4)),\r\n modelSelectorId: maybeId(stmt.getValueInteger(5)),\r\n categorySelectorId: fromRowId(stmt.getValueInteger(6)),\r\n displayStyleId: fromRowId(stmt.getValueInteger(7)),\r\n tags: this.getTagsForView(viewId),\r\n } : undefined;\r\n });\r\n }\r\n public async getViewInfo(args: { viewId: RowIdOrString }): Promise<ViewStoreRpc.ViewInfo | undefined> {\r\n return this.getViewInfoSync(args.viewId);\r\n }\r\n\r\n public async findViewsByOwner(args: { owner: string }): Promise<ViewStoreRpc.ViewInfo[]> {\r\n const list: ViewStoreRpc.ViewInfo[] = [];\r\n this.withSqliteStatement(`SELECT Id FROM ${tableName.views} WHERE owner=? ORDER BY Id ASC`, (stmt) => {\r\n stmt.bindString(1, args.owner);\r\n while (stmt.nextRow()) {\r\n const info = this.getViewInfoSync(stmt.getValueInteger(0));\r\n if (info)\r\n list.push(info);\r\n }\r\n });\r\n return list;\r\n }\r\n\r\n /** @internal */\r\n public findTagIdsForView(viewId: RowId): RowId[] {\r\n return this.withSqliteStatement(`SELECT tagId FROM ${tableName.taggedViews} WHERE viewId=?`, (stmt) => {\r\n stmt.bindInteger(1, viewId);\r\n const list: RowId[] = [];\r\n while (stmt.nextRow())\r\n list.push(stmt.getValueInteger(0));\r\n return list;\r\n });\r\n }\r\n\r\n private toGuidRow(id?: Id64String): RowId | undefined {\r\n if (undefined === id)\r\n return undefined;\r\n const fedGuid = this.guidMap.getFederationGuidFromId(id);\r\n return fedGuid ? this.addGuid(fedGuid) : undefined;\r\n }\r\n private toCompressedGuidRows(ids: Id64String[] | CompressedId64Set): CompressedId64Set {\r\n const result = new Set<Id64String>();\r\n for (const id of (typeof ids === \"string\" ? CompressedId64Set.iterable(ids) : ids)) {\r\n const guidRow = this.toGuidRow(id);\r\n if (undefined !== guidRow)\r\n result.add(Id64.fromLocalAndBriefcaseIds(guidRow, 0));\r\n }\r\n return CompressedId64Set.compressSet(result);\r\n }\r\n private fromGuidRow(guidRow: RowId): Id64String | undefined {\r\n return this.guidMap.getIdFromFederationGuid(this.getGuid(guidRow));\r\n }\r\n private fromGuidRowString(id?: string) {\r\n return (typeof id !== \"string\" || !isGuidRowString(id)) ? id : this.fromGuidRow(toRowId(id));\r\n }\r\n\r\n private iterateCompressedGuidRows(guidRows: unknown, callback: (id: Id64String) => void) {\r\n if (typeof guidRows !== \"string\")\r\n return;\r\n for (const rowId64String of CompressedId64Set.iterable(guidRows)) {\r\n const elId = this.fromGuidRow(Id64.getLocalId(rowId64String));\r\n if (undefined !== elId)\r\n callback(elId);\r\n }\r\n }\r\n private fromCompressedGuidRows(guidRows: CompressedId64Set): CompressedId64Set {\r\n const result = new Set<Id64String>();\r\n this.iterateCompressedGuidRows(guidRows, (id) => result.add(id));\r\n return CompressedId64Set.compressSet(result);\r\n }\r\n private toGuidRowMember(base: any, memberName: string) {\r\n const id = base?.[memberName];\r\n if (id === undefined)\r\n return;\r\n\r\n if (typeof id === \"string\") {\r\n if (isGuidRowString(id)) {\r\n // member is already a guid row. Make sure it exists.\r\n if (undefined === this.getGuid(toRowId(id)))\r\n ViewStoreError.throwError(\"invalid-member\", { message: `${memberName} id does not exist` });\r\n return;\r\n }\r\n const guidRow = this.toGuidRow(id);\r\n if (undefined !== guidRow) {\r\n base[memberName] = guidRowToString(guidRow);\r\n return;\r\n }\r\n }\r\n ViewStoreError.throwError(\"invalid-member\", { message: `invalid ${memberName}: ${id} ` });\r\n }\r\n\r\n private fromGuidRowMember(base: any, memberName: string) {\r\n const id = base?.[memberName];\r\n if (id === undefined)\r\n return;\r\n if (typeof id === \"string\" && isGuidRowString(id)) {\r\n const elId = this.fromGuidRow(toRowId(id));\r\n if (undefined !== elId) {\r\n base[memberName] = elId;\r\n return;\r\n }\r\n }\r\n ViewStoreError.throwError(\"invalid-member\", { message: `invalid ${memberName}: ${id} ` });\r\n }\r\n\r\n private verifyRowId(table: string, rowIdString: RowString): RowId {\r\n try {\r\n const rowId = toRowId(rowIdString);\r\n this.withSqliteStatement(`SELECT 1 FROM ${table} WHERE Id=?`, (stmt) => {\r\n stmt.bindInteger(1, rowId);\r\n if (!stmt.nextRow())\r\n ViewStoreError.throwError(\"not-found\", { message: `missing: ${rowIdString} ` });\r\n });\r\n return rowId;\r\n } catch (err: any) {\r\n ViewStoreError.throwError(\"invalid-value\", { message: `invalid Id for ${table}: ${err.message} ` });\r\n }\r\n }\r\n private scriptToGuids(script: RenderSchedule.ScriptProps): RenderSchedule.ScriptProps {\r\n const scriptProps: RenderSchedule.ScriptProps = [];\r\n for (const model of script) {\r\n const modelGuidRow = this.toGuidRow(model.modelId);\r\n if (modelGuidRow) {\r\n model.modelId = guidRowToString(modelGuidRow);\r\n scriptProps.push(model);\r\n for (const batch of model.elementTimelines)\r\n batch.elementIds = this.toCompressedGuidRows(batch.elementIds);\r\n }\r\n }\r\n return scriptProps;\r\n }\r\n private scriptFromGuids(script: RenderSchedule.ScriptProps, omitElementIds: boolean): RenderSchedule.ScriptProps {\r\n const scriptProps: RenderSchedule.ScriptProps = [];\r\n for (const model of script) {\r\n const modelId = this.fromGuidRow(toRowId(model.modelId));\r\n if (modelId) {\r\n model.modelId = modelId;\r\n scriptProps.push(model);\r\n for (const batch of model.elementTimelines) {\r\n if (undefined !== batch.elementIds)\r\n batch.elementIds = omitElementIds ? \"\" : this.fromCompressedGuidRows(batch.elementIds as CompressedId64Set);\r\n }\r\n }\r\n }\r\n return scriptProps;\r\n }\r\n\r\n public async addViewGroup(args: { name: string, parentId?: RowString, owner?: string }): Promise<RowString> {\r\n const parentId = args.parentId ? this.findViewGroup(args.parentId) : defaultViewGroupId;\r\n const json = JSON.stringify({});\r\n return fromRowId(this.addViewGroupRow({ name: args.name, parentId, json, owner: args.owner }));\r\n }\r\n public async getViewGroups(args: { parent?: ViewStoreRpc.ViewGroupSpec }) {\r\n const parentIdRow = args.parent ? this.findViewGroup(args.parent) : defaultViewGroupId;\r\n const groups: { id: string, name: string }[] = [];\r\n this.withSqliteStatement(`SELECT Id,Name FROM ${tableName.viewGroups} WHERE parent=?`, (stmt) => {\r\n stmt.bindInteger(1, parentIdRow);\r\n while (stmt.nextRow()) {\r\n const id = stmt.getValueInteger(0);\r\n if (id !== defaultViewGroupId) // don't include root group\r\n groups.push({ id: fromRowId(id), name: stmt.getValueString(1) });\r\n }\r\n });\r\n return groups;\r\n }\r\n\r\n private makeSelectorJson(props: ViewStoreRpc.SelectorProps, entity: typeof Entity) {\r\n const selector = { ...props }; // shallow copy\r\n if (selector.query) {\r\n selector.query = { ...selector.query }; // shallow copy\r\n selector.query.from = selector.query.from.toLowerCase().replace(\".\", \":\").replace(\"bis:\", \"biscore:\");\r\n if (!this.iModel.getJsClass(selector.query.from).is(entity))\r\n ViewStoreError.throwError(\"invalid-value\", { message: `query must select from ${entity.classFullName}` });\r\n if (selector.query.adds)\r\n selector.query.adds = this.toCompressedGuidRows(selector.query.adds);\r\n if (selector.query.removes)\r\n selector.query.removes = this.toCompressedGuidRows(selector.query.removes);\r\n } else {\r\n if (!(selector.ids.length))\r\n ViewStoreError.throwError(\"invalid-value\", { message: `Selector must specify at least one ${entity.className}` });\r\n selector.ids = this.toCompressedGuidRows(selector.ids);\r\n }\r\n\r\n return JSON.stringify(selector);\r\n }\r\n\r\n private querySelectorValues(json: unknown, bindings?: any[] | object): Id64Array {\r\n if (typeof json !== \"object\")\r\n ViewStoreError.throwError(\"invalid-value\", { message: \"invalid selector\" });\r\n\r\n const props = json as ViewStoreRpc.SelectorProps;\r\n if (!props.query) {\r\n // there's no query, so the ids are the list of elements\r\n return (typeof props.ids === \"string\") ? CompressedId64Set.decompressArray(this.fromCompressedGuidRows(props.ids)) : [];\r\n }\r\n\r\n const query = props.query;\r\n const sql = `SELECT ECInstanceId FROM ${query.only ? \"ONLY \" : \"\"}${query.from}${query.where ? ` WHERE ${query.where}` : \"\"}`;\r\n\r\n const ids = new Set<string>();\r\n try {\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n this.iModel.withPreparedStatement(sql, (stmt: ECSqlStatement) => {\r\n if (bindings)\r\n stmt.bindValues(bindings);\r\n for (const el of stmt) {\r\n if (typeof el.id === \"string\")\r\n ids.add(el.id);\r\n }\r\n });\r\n this.iterateCompressedGuidRows(props.query.adds, (id) => ids.add(id));\r\n this.iterateCompressedGuidRows(props.query.removes, (id) => ids.delete(id)); // removes take precedence over adds\r\n } catch (err: any) {\r\n Logger.logError(\"ViewStore\", `querySelectorValues: ${err.message}`);\r\n }\r\n return [...ids];\r\n }\r\n\r\n public async addCategorySelector(args: { name?: string, selector: ViewStoreRpc.SelectorProps, owner?: string }): Promise<RowString> {\r\n const json = this.makeSelectorJson(args.selector, Category);\r\n return fromRowId(this.addCategorySelectorRow({ name: args.name, owner: args.owner, json }));\r\n }\r\n public async updateCategorySelector(args: ViewStoreRpc.NameOrId & { selector: ViewStoreRpc.SelectorProps }): Promise<void> {\r\n const rowId = this.getRowId(tableName.categorySelectors, args);\r\n const json = this.makeSelectorJson(args.selector, Category);\r\n return this.updateCategorySelectorJson(rowId, json);\r\n }\r\n\r\n private getRowId(table: string, arg: ViewStoreRpc.NameOrId): RowId {\r\n return undefined !== arg.name ? this.findByName(table, arg.name) : toRowId(arg.id);\r\n }\r\n\r\n /** @internal */\r\n public getCategorySelectorSync(args: ViewStoreRpc.NameOrId & ViewStoreRpc.QueryBindings): CategorySelectorProps {\r\n const rowId = this.getRowId(tableName.categorySelectors, args);\r\n const row = this.getCategorySelectorRow(rowId);\r\n if (undefined === row)\r\n ViewStoreError.throwError(\"not-found\", { message: \"CategorySelector not found\" });\r\n\r\n const props = blankElementProps({}, \"BisCore:CategorySelector\", rowId, row.name) as CategorySelectorProps;\r\n props.categories = this.querySelectorValues(JSON.parse(row.json), args.bindings);\r\n return props;\r\n }\r\n public async getCategorySelector(args: ViewStoreRpc.NameOrId & ViewStoreRpc.QueryBindings): Promise<CategorySelectorProps> {\r\n return this.getCategorySelectorSync(args);\r\n }\r\n\r\n public async addModelSelector(args: { name?: string, selector: ViewStoreRpc.SelectorProps, owner?: string }): Promise<RowString> {\r\n const json = this.makeSelectorJson(args.selector, Model);\r\n return fromRowId(this.addModelSelectorRow({ name: args.name, owner: args.owner, json }));\r\n }\r\n public async updateModelSelector(args: ViewStoreRpc.NameOrId & { selector: ViewStoreRpc.SelectorProps }): Promise<void> {\r\n const rowId = this.getRowId(tableName.modelSelectors, args);\r\n const json = this.makeSelectorJson(args.selector, Model);\r\n return this.updateModelSelectorJson(rowId, json);\r\n }\r\n\r\n public getModelSelectorSync(args: ViewStoreRpc.NameOrId & ViewStoreRpc.QueryBindings): ModelSelectorProps {\r\n const rowId = this.getRowId(tableName.modelSelectors, args);\r\n const row = this.getModelSelectorRow(rowId);\r\n if (undefined === row)\r\n ViewStoreError.throwError(\"not-found\", { message: \"ModelSelector not found\" });\r\n\r\n const props = blankElementProps({}, \"BisCore:ModelSelector\", rowId, row?.name) as ModelSelectorProps;\r\n props.models = this.querySelectorValues(JSON.parse(row.json), args.bindings);\r\n return props;\r\n }\r\n public async getModelSelector(args: ViewStoreRpc.NameOrId & ViewStoreRpc.QueryBindings): Promise<ModelSelectorProps> {\r\n return this.getModelSelectorSync(args);\r\n }\r\n private makeTimelineJson(timeline: RenderSchedule.ScriptProps): string {\r\n timeline = cloneProps(timeline);\r\n if (!Array.isArray(timeline))\r\n ViewStoreError.throwError(\"not-found\", { message: \"Timeline has no entries\" });\r\n\r\n return JSON.stringify(this.scriptToGuids(timeline));\r\n }\r\n public async addTimeline(args: { name?: string, timeline: RenderSchedule.ScriptProps, owner?: string }): Promise<RowString> {\r\n const json = this.makeTimelineJson(args.timeline);\r\n return fromRowId(this.addTimelineRow({ name: args.name, owner: args.owner, json }));\r\n }\r\n public async updateTimeline(args: ViewStoreRpc.NameOrId & { timeline: RenderSchedule.ScriptProps }): Promise<void> {\r\n const rowId = this.getRowId(tableName.timelines, args);\r\n const json = this.makeTimelineJson(args.timeline);\r\n return this.updateTimelineJson(rowId, json);\r\n }\r\n\r\n public getTimelineSync(args: ViewStoreRpc.NameOrId): RenderTimelineProps {\r\n const rowId = this.getRowId(tableName.timelines, args);\r\n const row = this.getTimelineRow(rowId);\r\n if (undefined === row)\r\n ViewStoreError.throwError(\"not-found\", { message: \"Timeline not found\" });\r\n\r\n const props = blankElementProps({}, \"BisCore:RenderTimeline\", rowId, row?.name) as RenderTimelineProps;\r\n props.script = JSON.stringify(this.scriptFromGuids(JSON.parse(row.json), false));\r\n return props;\r\n }\r\n public async getTimeline(args: ViewStoreRpc.NameOrId): Promise<RenderTimelineProps> {\r\n return this.getTimelineSync(args);\r\n }\r\n\r\n /** make a JSON string for a DisplayStyle */\r\n private makeDisplayStyleJson(args: { className: string, settings: DisplayStyleSettingsProps }): string {\r\n const settings = cloneProps(args.settings); // don't modify input\r\n if (settings.subCategoryOvr) {\r\n const outOvr: DisplayStyleSubCategoryProps[] = [];\r\n for (const ovr of settings.subCategoryOvr) {\r\n const subCategoryGuidRow = this.toGuidRow(ovr.subCategory);\r\n if (subCategoryGuidRow) {\r\n ovr.subCategory = guidRowToString(subCategoryGuidRow);\r\n outOvr.push(ovr);\r\n }\r\n }\r\n settings.subCategoryOvr = outOvr;\r\n }\r\n\r\n if (settings.excludedElements)\r\n settings.excludedElements = this.toCompressedGuidRows(settings.excludedElements);\r\n\r\n const settings3d = settings as DisplayStyle3dSettingsProps;\r\n if (settings3d.planProjections) {\r\n const planProjections = {} as { [modelId: string]: PlanProjectionSettingsProps };\r\n for (const entry of Object.entries(settings3d.planProjections)) {\r\n const modelGuidRow = this.toGuidRow(entry[0]);\r\n if (modelGuidRow)\r\n planProjections[guidRowToString(modelGuidRow)] = entry[1];\r\n }\r\n settings3d.planProjections = planProjections;\r\n }\r\n\r\n if (settings.renderTimeline) {\r\n if (!ViewStoreRpc.isViewStoreId(settings.renderTimeline))\r\n this.toGuidRowMember(settings, \"renderTimeline\");\r\n delete settings.scheduleScript;\r\n } else if (settings.scheduleScript) {\r\n const scriptProps = this.scriptToGuids(settings.scheduleScript);\r\n if (scriptProps.length > 0)\r\n settings.scheduleScript = scriptProps;\r\n }\r\n return JSON.stringify({ settings, className: args.className });\r\n }\r\n public async addDisplayStyle(args: { name?: string, className: string, settings: DisplayStyleSettingsProps, owner?: string }): Promise<RowString> {\r\n const json = this.makeDisplayStyleJson(args);\r\n return fromRowId(this.addDisplayStyleRow({ name: args.name, owner: args.owner, json }));\r\n }\r\n public async updateDisplayStyle(args: ViewStoreRpc.NameOrId & { className: string, settings: DisplayStyleSettingsProps }): Promise<void> {\r\n const rowId = this.getRowId(tableName.displayStyles, args);\r\n const json = this.makeDisplayStyleJson(args);\r\n return this.updateDisplayStyleJson(rowId, json);\r\n }\r\n public getDisplayStyleSync(args: ViewStoreRpc.NameOrId & { opts?: DisplayStyleLoadProps }): DisplayStyleProps {\r\n const rowId = this.getRowId(tableName.displayStyles, args);\r\n const row = this.getDisplayStyleRow(rowId);\r\n if (undefined === row)\r\n ViewStoreError.throwError(\"not-found\", { message: \"DisplayStyle not found\" });\r\n\r\n const val = JSON.parse(row.json) as { settings: DisplayStyle3dSettingsProps, className: string };\r\n const props = blankElementProps({}, val.className, rowId, row.name);\r\n props.jsonProperties = { styles: val.settings };\r\n const settings = val.settings;\r\n if (settings.subCategoryOvr) {\r\n const subCatOvr: DisplayStyleSubCategoryProps[] = [];\r\n for (const ovr of settings.subCategoryOvr) {\r\n const id = this.fromGuidRowString(ovr.subCategory);\r\n if (undefined !== id) {\r\n ovr.subCategory = id;\r\n subCatOvr.push(ovr);\r\n }\r\n }\r\n settings.subCategoryOvr = subCatOvr;\r\n }\r\n\r\n if (settings.excludedElements)\r\n settings.excludedElements = this.fromCompressedGuidRows(settings.excludedElements as CompressedId64Set);\r\n\r\n const settings3d = settings;\r\n if (settings3d.planProjections) {\r\n const planProjections = {} as { [modelId: string]: PlanProjectionSettingsProps };\r\n for (const entry of Object.entries(settings3d.planProjections)) {\r\n const modelId = this.fromGuidRowString(entry[0]);\r\n if (undefined !== modelId)\r\n planProjections[modelId] = entry[1];\r\n }\r\n settings3d.planProjections = planProjections;\r\n }\r\n\r\n if (isGuidRowString(settings.renderTimeline))\r\n settings.renderTimeline = this.fromGuidRowString(settings.renderTimeline);\r\n\r\n if (undefined !== settings.renderTimeline) {\r\n delete settings.scheduleScript;\r\n } else if (settings.scheduleScript) {\r\n delete settings.renderTimeline;\r\n settings.scheduleScript = this.scriptFromGuids(settings.scheduleScript, args.opts?.omitScheduleScriptElementIds === true);\r\n }\r\n\r\n return props;\r\n }\r\n public async getDisplayStyle(args: ViewStoreRpc.NameOrId & { opts?: DisplayStyleLoadProps }): Promise<DisplayStyleProps> {\r\n return this.getDisplayStyleSync(args);\r\n }\r\n\r\n private makeViewDefinitionProps(viewDefinition: ViewDefinitionProps) {\r\n const viewDef = cloneProps(viewDefinition); // don't modify input\r\n this.verifyRowId(tableName.categorySelectors, viewDef.categorySelectorId);\r\n this.verifyRowId(tableName.displayStyles, viewDef.displayStyleId);\r\n if ((viewDef as SpatialViewDefinitionProps).modelSelectorId)\r\n this.verifyRowId(tableName.modelSelectors, (viewDef as SpatialViewDefinitionProps).modelSelectorId);\r\n\r\n this.toGuidRowMember(viewDef, \"baseModelId\");\r\n this.toGuidRowMember(viewDef.jsonProperties?.viewDetails, \"acs\");\r\n const props = viewDef as Partial<ViewDefinitionProps>;\r\n delete props.id;\r\n delete props.federationGuid;\r\n delete props.parent;\r\n delete props.code;\r\n delete props.model;\r\n return viewDef;\r\n }\r\n\r\n private addViewDefinition(args: { readonly viewDefinition: ViewDefinitionProps, group?: ViewStoreRpc.ViewGroupSpec, owner?: string, isPrivate?: boolean }): RowId {\r\n const name = args.viewDefinition.code.value;\r\n if (name === undefined)\r\n ViewStoreError.throwError(\"not-found\", { message: \"ViewDefinition must have a name\" });\r\n const groupId = args.group ? this.findViewGroup(args.group) : defaultViewGroupId;\r\n const maybeRow = (rowString: RowString) => rowString ? toRowId(rowString) : undefined;\r\n const viewDef = this.makeViewDefinitionProps(args.viewDefinition);\r\n\r\n try {\r\n return this.addViewRow({\r\n name,\r\n className: viewDef.classFullName,\r\n owner: args.owner,\r\n groupId,\r\n isPrivate: args.isPrivate,\r\n json: JSON.stringify(viewDef),\r\n modelSel: maybeRow((viewDef as SpatialViewDefinitionProps).modelSelectorId),\r\n categorySel: toRowId(viewDef.categorySelectorId),\r\n displayStyle: toRowId(viewDef.displayStyleId),\r\n });\r\n } catch (e) {\r\n const err = e as SqliteStatement.DbError;\r\n if (err.errorId === \"DuplicateValue\")\r\n err.message = `View \"${name}\" already exists`;\r\n throw e;\r\n }\r\n }\r\n\r\n public async updateViewDefinition(args: { viewId: RowIdOrString, viewDefinition: ViewDefinitionProps }): Promise<void> {\r\n const maybeRow = (rowString: RowString) => rowString ? toRowId(rowString) : undefined;\r\n const viewDef = this.makeViewDefinitionProps(args.viewDefinition);\r\n\r\n this.withSqliteStatement(`UPDATE ${tableName.views} SET json=?,modelSel=?,categorySel=?,displayStyle=? WHERE Id=?`, (stmt) => {\r\n stmt.bindString(1, JSON.stringify(viewDef));\r\n stmt.maybeBindInteger(2, maybeRow((viewDef as SpatialViewDefinitionProps).modelSelectorId));\r\n stmt.bindInteger(3, toRowId(viewDef.categorySelectorId));\r\n stmt.bindInteger(4, toRowId(viewDef.displayStyleId));\r\n stmt.bindInteger(5, toRowId(args.viewId));\r\n stmt.stepForWrite();\r\n });\r\n }\r\n\r\n public getViewDefinitionSync(args: { viewId: RowIdOrString }): ViewDefinitionProps {\r\n const viewId = toRowId(args.viewId);\r\n const row = this.getViewRow(viewId);\r\n if (undefined === row)\r\n ViewStoreError.throwError(\"not-found\", { message: \"View not found\" });\r\n\r\n const props = blankElementProps(JSON.parse(row.json), row.className, viewId, row.name) as ViewDefinitionProps;\r\n this.fromGuidRowMember(props, \"baseModelId\");\r\n this.fromGuidRowMember(props.jsonProperties?.viewDetails, \"acs\");\r\n return props;\r\n }\r\n public async getViewDefinition(args: { viewId: RowIdOrString }): Promise<ViewDefinitionProps> {\r\n return this.getViewDefinitionSync(args);\r\n }\r\n\r\n public async addOrReplaceThumbnail(args: { viewId: RowIdOrString, readonly thumbnail: ThumbnailProps, owner?: string }) {\r\n const viewRow = this.getViewRow(toRowId(args.viewId));\r\n if (viewRow === undefined)\r\n ViewStoreError.throwError(\"not-found\", { message: \"View not found\" });\r\n const format: ThumbnailFormatProps = { format: args.thumbnail.format, height: args.thumbnail.height, width: args.thumbnail.width };\r\n this.addOrReplaceThumbnailRow({ data: args.thumbnail.image, viewId: toRowId(args.viewId), format, owner: args.owner });\r\n }\r\n\r\n public getThumbnailSync(args: { viewId: RowIdOrString }): ThumbnailProps | undefined {\r\n const row = this.getThumbnailRow(toRowId(args.viewId));\r\n return row ? { image: row.data, format: row.format.format, height: row.format.height, width: row.format.width } : undefined;\r\n }\r\n public async getThumbnail(args: { viewId: RowIdOrString }): Promise<ThumbnailProps | undefined> {\r\n return this.getThumbnailSync(args);\r\n }\r\n\r\n /** find a group with the specified name using path syntax (e.g., \"group1/design/issues\"). If the group does not exist, return 0.\r\n * If groupName starts with \"@\", then it is considered to be a group id and this function verifies that it exists and throws if it does not.\r\n */\r\n public findViewGroup(groupName: ViewStoreRpc.ViewGroupSpec): RowId {\r\n // if it starts with \"@\", then it is a group id\r\n if (groupName.startsWith(\"@\"))\r\n return this.verifyRowId(tableName.viewGroups, groupName);\r\n\r\n // split the name into parts using \"/\" as the separator\r\n const names = groupName.split(\"/\");\r\n let groupId = 1; // start at root group\r\n for (const name of names) {\r\n if (name.length !== 0) {\r\n groupId = this.getViewGroupByName(name, groupId);\r\n if (groupId === 0)\r\n return 0;\r\n }\r\n }\r\n return groupId;\r\n }\r\n\r\n /**\r\n * find a view by name using path syntax (e.g., \"group1/design/issues/issue113\"). If the view does not exist, return 0.\r\n * If a groupId is specified, then the view is searched for in that group and the name should not contain a path.\r\n * @internal\r\n */\r\n public findViewIdByName(arg: { name: string, groupId?: RowIdOrString }): RowId {\r\n let name = arg.name;\r\n let groupId = arg.groupId;\r\n if (groupId === undefined) {\r\n // find last \"/\" in name\r\n const slash = name.lastIndexOf(\"/\");\r\n if (slash !== -1) {\r\n groupId = this.findViewGroup(name.slice(0, slash));\r\n name = name.slice(slash + 1);\r\n }\r\n }\r\n return this.withSqliteStatement(`SELECT Id FROM ${tableName.views} WHERE name=? AND groupId=?`, (stmt) => {\r\n stmt.bindString(1, name);\r\n stmt.bindInteger(2, maybeToRowId(groupId) ?? defaultViewGroupId);\r\n return !stmt.nextRow() ? 0 : stmt.getValueInteger(0);\r\n });\r\n }\r\n public getViewByNameSync(arg: { name: ViewStoreRpc.ViewName, groupId?: RowIdOrString }): ViewStoreRpc.ViewInfo | undefined {\r\n const id = this.findViewIdByName(arg);\r\n return id ? this.getViewInfoSync(id) : undefined;\r\n }\r\n public async getViewByName(arg: { name: ViewStoreRpc.ViewName, groupId?: RowIdOrString }): Promise<ViewStoreRpc.ViewInfo | undefined> {\r\n return this.getViewByNameSync(arg);\r\n }\r\n\r\n public async getViewGroupInfo(args: { groupId?: ViewStoreRpc.IdString }): Promise<ViewStoreRpc.ViewGroupInfo | undefined> {\r\n const groupId = args.groupId ? this.findViewGroup(args.groupId) : defaultViewGroupId;\r\n const groupRow = groupId ? this.getViewGroup(groupId) : undefined;\r\n if (groupRow === undefined)\r\n return undefined;\r\n const info: ViewStoreRpc.ViewGroupInfo = {\r\n id: fromRowId(groupId),\r\n name: groupRow.name,\r\n defaultView: groupRow.defaultViewId ? fromRowId(groupRow.defaultViewId) : undefined,\r\n parent: fromRowId(groupRow.parentId),\r\n };\r\n return info;\r\n }\r\n\r\n public async changeDefaultViewId(args: { defaultView: RowIdOrString, group?: ViewStoreRpc.ViewGroupSpec }) {\r\n const groupId = args.group ? this.findViewGroup(args.group) : defaultViewGroupId;\r\n const viewRow = this.getViewRow(toRowId(args.defaultView));\r\n if (viewRow === undefined)\r\n ViewStoreError.throwError(\"not-found\", { message: \"View not found\" });\r\n if (viewRow.groupId !== groupId)\r\n ViewStoreError.throwError(\"not-found\", { message: \"View is not in the specified group\" });\r\n const groupRow = this.getViewGroup(groupId);\r\n if (groupRow === undefined)\r\n ViewStoreError.throwError(\"not-found\", { message: \"View group not found\" });\r\n this.withSqliteStatement(`UPDATE ${tableName.viewGroups} SET defaultViewId=? WHERE Id=?`, (stmt) => {\r\n stmt.bindInteger(1, groupId);\r\n stmt.bindInteger(2, toRowId(args.defaultView));\r\n stmt.stepForWrite();\r\n });\r\n }\r\n /** get the array of tags for the specified view. Returns undefined if the view has no tags. */\r\n public getTagsForView(viewId: RowIdOrString): ViewStoreRpc.TagName[] | undefined {\r\n const tags: ViewStoreRpc.TagName[] = [];\r\n this.withPreparedSqliteStatement(`SELECT t.name FROM ${tableName.tags} t JOIN ${tableName.taggedViews} v ON t.Id = v.tagId WHERE v.viewId=?`, (stmt) => {\r\n stmt.bindInteger(1, toRowId(viewId));\r\n while (stmt.nextRow())\r\n tags.push(stmt.getValueString(0));\r\n });\r\n return tags.length === 0 ? undefined : tags;\r\n }\r\n\r\n private iterateViewQuery(queryParams: ViewStoreRpc.QueryParams, callback: (rowId: RowId) => void) {\r\n const groupId = queryParams.group ? this.findViewGroup(queryParams.group) : defaultViewGroupId;\r\n let sql = `SELECT Id,className,name,owner,private FROM ${tableName.views} WHERE groupId=? ${queryParams.owner ? \" AND (owner=@owner OR private!=1)\" : \" AND private!=1\"}`;\r\n if (queryParams.classNames)\r\n sql += ` AND className IN(${queryParams.classNames.map((className) => `'${className}'`).join(\",\")})`;\r\n if (queryParams.nameSearch)\r\n sql += ` AND name ${queryParams.nameCompare ?? \"=\"} @name`;\r\n if (queryParams.tags)\r\n sql += ` AND Id IN(SELECT viewId FROM ${tableName.taggedViews} WHERE tagId IN(SELECT Id FROM ${tableName.tags} WHERE name IN(${queryParams.tags.map((tag) => `'${tag}'`).join(\",\")})))`;\r\n sql += \" ORDER BY name\";\r\n if (queryParams.limit)\r\n sql += ` LIMIT ${queryParams.limit} `;\r\n if (queryParams.offset)\r\n sql += ` OFFSET ${queryParams.offset} `;\r\n\r\n this.withSqliteStatement(sql, (stmt) => {\r\n stmt.bindInteger(1, groupId);\r\n if (queryParams.nameSearch)\r\n stmt.bindString(\"@name\", queryParams.nameSearch);\r\n if (queryParams.owner)\r\n stmt.bindString(\"@owner\", queryParams.owner);\r\n\r\n while (stmt.nextRow())\r\n callback(stmt.getValueInteger(0));\r\n });\r\n }\r\n\r\n public queryViewsSync(queryParams: ViewStoreRpc.QueryParams): ViewStoreRpc.ViewInfo[] {\r\n const entries: ViewStoreRpc.ViewInfo[] = [];\r\n this.iterateViewQuery(queryParams, (rowId) => {\r\n const view = this.getViewInfoSync(rowId);\r\n if (view !== undefined)\r\n entries.push(view);\r\n });\r\n return entries;\r\n }\r\n public async queryViews(queryParams: ViewStoreRpc.QueryParams): Promise<ViewStoreRpc.ViewInfo[]> {\r\n return this.queryViewsSync(queryParams);\r\n }\r\n\r\n public async addTagsToView(args: { viewId: RowIdOrString, tags: string[], owner?: string }) {\r\n const viewId = toRowId(args.viewId);\r\n for (const tag of args.tags) {\r\n let tagId = this.findTagByName(tag);\r\n if (tagId === 0)\r\n tagId = this.addTag({ name: tag, owner: args.owner, json: \"{}\" });\r\n this.addTagToView({ viewId, tagId });\r\n }\r\n }\r\n public async removeTagFromView(args: { viewId: RowIdOrString, tag: string }) {\r\n const viewId = toRowId(args.viewId);\r\n const tagId = this.findTagByName(args.tag);\r\n if (tagId !== 0)\r\n this.deleteViewTag({ viewId, tagId });\r\n }\r\n\r\n public async addView(args: ViewStoreRpc.AddViewArgs): Promise<ViewStoreRpc.IdString> {\r\n const owner = args.owner;\r\n if (ViewStoreRpc.isViewStoreId(args.viewDefinition.categorySelectorId)) {\r\n this.verifyRowId(tableName.categorySelectors, args.viewDefinition.categorySelectorId);\r\n } else {\r\n if (args.categorySelectorProps === undefined)\r\n ViewStoreError.throwError(\"not-found\", { message: \"Must supply categorySelector\" });\r\n args.viewDefinition.categorySelectorId = await this.addCategorySelector({ selector: { ids: args.categorySelectorProps.categories }, owner });\r\n }\r\n const spatialDef = args.viewDefinition as SpatialViewDefinitionProps;\r\n if (ViewStoreRpc.isViewStoreId(spatialDef.modelSelectorId)) {\r\n this.verifyRowId(tableName.modelSelectors, spatialDef.modelSelectorId);\r\n } else if (args.modelSelectorProps) {\r\n spatialDef.modelSelectorId = await this.addModelSelector({ selector: { ids: args.modelSelectorProps.models }, owner });\r\n } else if (args.viewDefinition.classFullName === \"BisCore:SpatialViewDefinition\") {\r\n ViewStoreError.throwError(\"not-found\", { message: \"Must supply modelSelector for Spatial views\" });\r\n }\r\n if (ViewStoreRpc.isViewStoreId(spatialDef.displayStyleId)) {\r\n this.verifyRowId(tableName.displayStyles, spatialDef.displayStyleId);\r\n } else {\r\n if (args.displayStyleProps === undefined || args.displayStyleProps.jsonProperties?.styles === undefined)\r\n ViewStoreError.throwError(\"not-found\", { message: \"Must supply valid displayStyle\" });\r\n spatialDef.displayStyleId = await this.addDisplayStyle({ className: args.displayStyleProps.classFullName, settings: args.displayStyleProps.jsonProperties.styles, owner });\r\n }\r\n const viewId = this.addViewDefinition(args);\r\n if (args.tags)\r\n await this.addTagsToView({ viewId, tags: args.tags, owner });\r\n if (args.thumbnail)\r\n await this.addOrReplaceThumbnail({ viewId, thumbnail: args.thumbnail, owner });\r\n\r\n return fromRowId(viewId);\r\n }\r\n\r\n public async deleteView(arg: { viewId: RowIdOrString }) {\r\n const rowId = toRowId(arg.viewId);\r\n const viewRow = this.getViewRow(rowId);\r\n if (viewRow === undefined)\r\n ViewStoreError.throwError(\"not-found\", { message: \"View not found\" });\r\n\r\n this.deleteViewRow(rowId);\r\n const hasName = (table: string, nameRow: RowId) => {\r\n const name = this.withSqliteStatement(`SELECT name FROM ${table} WHERE Id=?`, (stmt) => {\r\n stmt.bindInteger(1, nameRow);\r\n return stmt.nextRow() ? stmt.getValueString(0) : undefined;\r\n });\r\n return name !== undefined && name?.length > 0;\r\n };\r\n const tryDelete = (table: string, id?: RowId) => {\r\n if (id !== undefined && !hasName(table, id)) { // only delete if the row has no name\r\n try {\r\n this.deleteFromTable(table, id);\r\n } catch {\r\n // ignore constraint error if the row is still referenced by another view\r\n }\r\n }\r\n };\r\n\r\n // delete any selectors or display styles that are no longer referenced\r\n tryDelete(tableName.categorySelectors, viewRow.categorySel);\r\n tryDelete(tableName.modelSelectors, viewRow.modelSel);\r\n tryDelete(tableName.displayStyles, viewRow.displayStyle);\r\n }\r\n }\r\n\r\n const viewDbName = \"ViewDb\";\r\n\r\n /** methods of cloud `ViewDb` for read access */\r\n export interface ReadMethods extends ViewStoreRpc.Reader {\r\n getViewByNameSync(arg: { name: ViewStoreRpc.ViewName, groupId?: RowId }): ViewStoreRpc.ViewInfo | undefined;\r\n getCategorySelectorSync(args: ViewStoreRpc.NameOrId & ViewStoreRpc.QueryBindings): CategorySelectorProps;\r\n getDisplayStyleSync(args: ViewStoreRpc.NameOrId & { opts?: DisplayStyleLoadProps }): DisplayStyleProps;\r\n getModelSelectorSync(args: ViewStoreRpc.NameOrId & ViewStoreRpc.QueryBindings): ModelSelectorProps;\r\n getThumbnailSync(args: { viewId: RowString }): ThumbnailProps | undefined;\r\n getViewDefinitionSync(args: { viewId: RowString }): ViewDefinitionProps;\r\n queryViewsSync(queryParams: ViewStoreRpc.QueryParams): ViewStoreRpc.ViewInfo[];\r\n }\r\n\r\n /** arguments to construct a `ViewStore.CloudAccess` */\r\n export type ViewStoreCtorProps = CloudSqlite.ContainerAccessProps & ViewDbCtorArgs;\r\n\r\n export interface CreateNewContainerProps {\r\n scope: BlobContainer.Scope;\r\n metadata: Omit<BlobContainer.Metadata, \"containerType\">;\r\n }\r\n\r\n /** Provides access to a cloud-based `ViewDb` */\r\n export class CloudAccess extends CloudSqlite.DbAccess<ViewDb, ReadMethods, ViewStoreRpc.Writer> {\r\n public constructor(props: ViewStoreCtorProps) {\r\n super({ dbType: ViewDb, props, dbName: viewDbName });\r\n }\r\n\r\n /**\r\n * Initialize a cloud container for use as a ViewDb. This method is called by [[createNewContainer]].\r\n * It is only necessary to convert an existing container to a ViewStore container.\r\n * @note this deletes any existing content in the container.\r\n * @internal\r\n */\r\n public static async initializeDb(props: CloudSqlite.ContainerProps) {\r\n return super._initializeDb({ props, dbType: ViewDb, dbName: viewDbName });\r\n }\r\n\r\n /** Create and initialize a new BlobContainer to hold a ViewStore\r\n * @note the current user must have administrator rights to create containers.\r\n */\r\n public static async createNewContainer(args: CreateNewContainerProps): Promise<CloudSqlite.ContainerProps> {\r\n const props = await this.createBlobContainer({ scope: args.scope, metadata: { ...args.metadata, containerType: \"viewstore\" } });\r\n await this.initializeDb(props);\r\n return props;\r\n }\r\n\r\n }\r\n}\r\n"]}
@@ -0,0 +1,183 @@
1
+ export * from "./BackendHubAccess";
2
+ export * from "./BackendLoggerCategory";
3
+ export * from "./BisCoreSchema";
4
+ export * from "./BlobContainerService";
5
+ export * from "./BriefcaseManager";
6
+ export * from "./CatalogDb";
7
+ export * from "./Category";
8
+ export * from "./ChangedElementsDb";
9
+ export * from "./ChangeSummaryManager";
10
+ export * from "./ChannelControl";
11
+ export * from "./CheckpointManager";
12
+ export * from "./ClassRegistry";
13
+ export * from "./CloudSqlite";
14
+ export * from "./CodeService";
15
+ export * from "./CodeSpecs";
16
+ export * from "./DevTools";
17
+ export * from "./DisplayStyle";
18
+ export * from "./domains/FunctionalElements";
19
+ export * from "./domains/FunctionalSchema";
20
+ export * from "./domains/GenericElements";
21
+ export * from "./domains/GenericSchema";
22
+ export * from "./ECDb";
23
+ export * from "./ECSchemaXmlContext";
24
+ export * from "./ECSqlStatement";
25
+ export * from "./Element";
26
+ export * from "./ElementAspect";
27
+ export * from "./ElementGraphics";
28
+ export * from "./ElementTreeWalker";
29
+ export * from "./Entity";
30
+ export * from "./EntityReferences";
31
+ export * from "./ExportGraphics";
32
+ export * from "./ExternalSource";
33
+ export * from "./FontFile";
34
+ export * from "./GeoCoordConfig";
35
+ export * from "./GeographicCRSServices";
36
+ export * from "./ImageSourceConversion";
37
+ export * from "./IModelDb";
38
+ export * from "./IModelDbFonts";
39
+ export * from "./IModelElementCloneContext";
40
+ export * from "./IModelHost";
41
+ export * from "./IModelJsFs";
42
+ export * from "./SchemaSync";
43
+ export * from "./IpcHost";
44
+ export * from "./LineStyle";
45
+ export * from "./LocalhostIpcHost";
46
+ export * from "./LocalHub";
47
+ export * from "./LockControl";
48
+ export * from "./Material";
49
+ export * from "./Model";
50
+ export * from "./NativeAppStorage";
51
+ export * from "./NativeHost";
52
+ export * from "./NavigationRelationship";
53
+ export * from "./PropertyStore";
54
+ export * from "./Relationship";
55
+ export * from "./rpc/tracing";
56
+ export * from "./Schema";
57
+ export * from "./SchemaUtils";
58
+ export * from "./SheetIndex";
59
+ export * from "./SQLiteDb";
60
+ export * from "./SqliteStatement";
61
+ export * from "./TextAnnotationElement";
62
+ export { computeGraphemeOffsets, computeLayoutTextBlockResult, ComputeGraphemeOffsetsArgs, LayoutTextBlockArgs, } from "./TextAnnotationLayout";
63
+ export * from "./TextAnnotationGeometry";
64
+ export * from "./Texture";
65
+ export * from "./TileStorage";
66
+ export * from "./TxnManager";
67
+ export * from "./ViewDefinition";
68
+ export * from "./ViewStore";
69
+ export * from "./workspace/Settings";
70
+ export * from "./workspace/SettingsSchemas";
71
+ export * from "./workspace/Workspace";
72
+ export * from "./workspace/WorkspaceEditor";
73
+ export * from "./SqliteChangesetReader";
74
+ export * from "./ChangesetECAdaptor";
75
+ export * from "./internal/cross-package";
76
+ /** @docs-package-description
77
+ * The core-backend package always runs on the computer with a local Briefcase.
78
+ *
79
+ * It contains classes that [backend code]($docs/learning/backend/index.md) can use to work with directly with iModels.
80
+ */
81
+ /**
82
+ * @docs-group-description BlobContainers
83
+ * Classes for working with cloud-based blob containers.
84
+ */
85
+ /**
86
+ * @docs-group-description Codes
87
+ * Classes for working with [Codes]($docs/BIS/guide/fundamentals/codes.md).
88
+ * See [the learning articles]($docs/learning/backend/index.md).
89
+ */
90
+ /**
91
+ * @docs-group-description ECDb
92
+ * Classes for working with ECDb.
93
+ */
94
+ /**
95
+ * @docs-group-description ECSQL
96
+ * Classes for working with [ECSQL]($docs/learning/ECSQL.md)
97
+ */
98
+ /**
99
+ * @docs-group-description ElementAspects
100
+ * Subclasses of [ElementAspects]($docs/bis/guide/fundamentals/elementaspect-fundamentals.md).
101
+ * See [the learning articles]($docs/learning/backend/index.md).
102
+ */
103
+ /**
104
+ * @docs-group-description ElementGeometry
105
+ * Classes for defining the symbology and geometry of geometric elements
106
+ */
107
+ /**
108
+ * @docs-group-description Elements
109
+ * Subclasses of [Elements]($docs/BIS/guide/fundamentals/element-fundamentals.md).
110
+ * See [the learning articles]($docs/learning/backend/index.md).
111
+ */
112
+ /**
113
+ * @docs-group-description ExportGraphics
114
+ * APIs for producing low-level graphics primitives from element geometry.
115
+ */
116
+ /**
117
+ * @docs-group-description HubAccess
118
+ * APIs for working with IModelHub
119
+ */
120
+ /**
121
+ * @docs-group-description Images
122
+ * APIs for encoding and decoding images
123
+ */
124
+ /**
125
+ * @docs-group-description IModelHost
126
+ * Classes for configuring and administering the backend [host]($docs/learning/backend/IModelHost.md).
127
+ * See [the learning article]($docs/learning/backend/IModelHost.md).
128
+ */
129
+ /**
130
+ * @docs-group-description iModels
131
+ * Classes for working with [iModels]($docs/learning/iModels.md).
132
+ * See [the learning article]($docs/learning/backend/index.md).
133
+ */
134
+ /**
135
+ * @docs-group-description Logging
136
+ * Logger categories used by this package.
137
+ */
138
+ /**
139
+ * @docs-group-description Models
140
+ * Subclasses of [Models]($docs/BIS/guide/fundamentals/model-fundamentals.md).
141
+ * See [the learning articles]($docs/learning/backend/index.md).
142
+ */
143
+ /**
144
+ * @docs-group-description NativeApp
145
+ * Classes for working with Mobile/Desktop Application.
146
+ */
147
+ /**
148
+ * @docs-group-description Portability
149
+ */
150
+ /**
151
+ * @docs-group-description Relationships
152
+ * Classes that describe the [relationships]($docs/bis/guide/fundamentals/relationship-fundamentals.md) between elements.
153
+ */
154
+ /**
155
+ * @docs-group-description RpcInterface
156
+ * Classes for working with [RpcInterfaces]($docs/learning/RpcInterface.md).
157
+ */
158
+ /**
159
+ * @docs-group-description Schema
160
+ * Classes for working with [ECSchemas]($docs/learning/backend/SchemasAndElementsInTypeScript.md)
161
+ */
162
+ /**
163
+ * @docs-group-description SQLite
164
+ * Classes for working directly with SQLite
165
+ */
166
+ /**
167
+ * @docs-group-description SQLiteDb
168
+ * Classes for working with SQLiteDb.
169
+ */
170
+ /**
171
+ * @docs-group-description TileStorage
172
+ * Class for working with cloud storage using iTwin/object-storage cloud providers
173
+ */
174
+ /**
175
+ * @docs-group-description ViewDefinitions
176
+ * Classes for working with Elements that define what appears in [Views]($docs/learning/frontend/views.md).
177
+ * See [the learning articles]($docs/learning/backend/createelements/#orthographicviewdefinition).
178
+ */
179
+ /**
180
+ * @docs-group-description Workspace
181
+ * APIs for loading and using Settings and Workspace resources
182
+ */
183
+ //# sourceMappingURL=core-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-backend.d.ts","sourceRoot":"","sources":["../../src/core-backend.ts"],"names":[],"mappings":"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"}