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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1059) hide show
  1. package/CHANGELOG.md +60 -1
  2. package/lib/cjs/BackendHubAccess.d.ts +14 -28
  3. package/lib/cjs/BackendHubAccess.d.ts.map +1 -1
  4. package/lib/cjs/BackendHubAccess.js +2 -0
  5. package/lib/cjs/BackendHubAccess.js.map +1 -1
  6. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  7. package/lib/cjs/BisCoreSchema.d.ts.map +1 -1
  8. package/lib/cjs/BisCoreSchema.js +2 -0
  9. package/lib/cjs/BisCoreSchema.js.map +1 -1
  10. package/lib/cjs/BlobContainerService.d.ts +4 -4
  11. package/lib/cjs/BlobContainerService.d.ts.map +1 -1
  12. package/lib/cjs/BlobContainerService.js.map +1 -1
  13. package/lib/cjs/BriefcaseManager.d.ts +10 -0
  14. package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
  15. package/lib/cjs/BriefcaseManager.js +63 -20
  16. package/lib/cjs/BriefcaseManager.js.map +1 -1
  17. package/lib/cjs/Category.js +6 -1
  18. package/lib/cjs/Category.js.map +1 -1
  19. package/lib/cjs/ChangeSummaryManager.d.ts.map +1 -1
  20. package/lib/cjs/ChangeSummaryManager.js +92 -24
  21. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  22. package/lib/cjs/ChangedElementsDb.d.ts +3 -3
  23. package/lib/cjs/ChangedElementsDb.d.ts.map +1 -1
  24. package/lib/cjs/ChangedElementsDb.js +8 -7
  25. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  26. package/lib/cjs/ChangesetECAdaptor.d.ts +3 -3
  27. package/lib/cjs/ChangesetECAdaptor.d.ts.map +1 -1
  28. package/lib/cjs/ChangesetECAdaptor.js +273 -261
  29. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  30. package/lib/cjs/ChannelControl.js.map +1 -1
  31. package/lib/cjs/CheckpointManager.d.ts.map +1 -1
  32. package/lib/cjs/CheckpointManager.js +15 -12
  33. package/lib/cjs/CheckpointManager.js.map +1 -1
  34. package/lib/cjs/ClassRegistry.d.ts +46 -2
  35. package/lib/cjs/ClassRegistry.d.ts.map +1 -1
  36. package/lib/cjs/ClassRegistry.js +98 -42
  37. package/lib/cjs/ClassRegistry.js.map +1 -1
  38. package/lib/cjs/CloudSqlite.d.ts +2 -1
  39. package/lib/cjs/CloudSqlite.d.ts.map +1 -1
  40. package/lib/cjs/CloudSqlite.js +15 -8
  41. package/lib/cjs/CloudSqlite.js.map +1 -1
  42. package/lib/cjs/CodeService.d.ts +2 -0
  43. package/lib/cjs/CodeService.d.ts.map +1 -1
  44. package/lib/cjs/CodeService.js +4 -0
  45. package/lib/cjs/CodeService.js.map +1 -1
  46. package/lib/cjs/CodeSpecs.js +3 -2
  47. package/lib/cjs/CodeSpecs.js.map +1 -1
  48. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  49. package/lib/cjs/CustomViewState3dCreator.js +7 -6
  50. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  51. package/lib/cjs/DevTools.js +16 -16
  52. package/lib/cjs/DevTools.js.map +1 -1
  53. package/lib/cjs/DisplayStyle.js +2 -0
  54. package/lib/cjs/DisplayStyle.js.map +1 -1
  55. package/lib/cjs/ECDb.d.ts +16 -59
  56. package/lib/cjs/ECDb.d.ts.map +1 -1
  57. package/lib/cjs/ECDb.js +34 -73
  58. package/lib/cjs/ECDb.js.map +1 -1
  59. package/lib/cjs/ECSchemaXmlContext.js +1 -0
  60. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  61. package/lib/cjs/ECSqlStatement.d.ts +4 -2
  62. package/lib/cjs/ECSqlStatement.d.ts.map +1 -1
  63. package/lib/cjs/ECSqlStatement.js +13 -4
  64. package/lib/cjs/ECSqlStatement.js.map +1 -1
  65. package/lib/cjs/Element.d.ts +14 -23
  66. package/lib/cjs/Element.d.ts.map +1 -1
  67. package/lib/cjs/Element.js +133 -46
  68. package/lib/cjs/Element.js.map +1 -1
  69. package/lib/cjs/ElementAspect.d.ts +0 -5
  70. package/lib/cjs/ElementAspect.d.ts.map +1 -1
  71. package/lib/cjs/ElementAspect.js +24 -16
  72. package/lib/cjs/ElementAspect.js.map +1 -1
  73. package/lib/cjs/ElementGraphics.js.map +1 -1
  74. package/lib/cjs/ElementTreeWalker.js +13 -12
  75. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  76. package/lib/cjs/Entity.d.ts +46 -10
  77. package/lib/cjs/Entity.d.ts.map +1 -1
  78. package/lib/cjs/Entity.js +79 -16
  79. package/lib/cjs/Entity.js.map +1 -1
  80. package/lib/cjs/EntityReferences.js.map +1 -1
  81. package/lib/cjs/ExportGraphics.js +4 -0
  82. package/lib/cjs/ExportGraphics.js.map +1 -1
  83. package/lib/cjs/ExternalSource.js +22 -0
  84. package/lib/cjs/ExternalSource.js.map +1 -1
  85. package/lib/cjs/FontFile.d.ts +68 -0
  86. package/lib/cjs/FontFile.d.ts.map +1 -0
  87. package/lib/cjs/FontFile.js +36 -0
  88. package/lib/cjs/FontFile.js.map +1 -0
  89. package/lib/cjs/GeoCoordConfig.js +8 -8
  90. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  91. package/lib/cjs/GeographicCRSServices.js.map +1 -1
  92. package/lib/cjs/GeometrySummary.js +53 -50
  93. package/lib/cjs/GeometrySummary.js.map +1 -1
  94. package/lib/cjs/HubMock.d.ts +4 -4
  95. package/lib/cjs/HubMock.d.ts.map +1 -1
  96. package/lib/cjs/HubMock.js +9 -6
  97. package/lib/cjs/HubMock.js.map +1 -1
  98. package/lib/cjs/IModelDb.d.ts +203 -72
  99. package/lib/cjs/IModelDb.d.ts.map +1 -1
  100. package/lib/cjs/IModelDb.js +338 -168
  101. package/lib/cjs/IModelDb.js.map +1 -1
  102. package/lib/cjs/IModelDbFonts.d.ts +54 -0
  103. package/lib/cjs/IModelDbFonts.d.ts.map +1 -0
  104. package/lib/cjs/{IModelCloneContext.js → IModelDbFonts.js} +2 -7
  105. package/lib/cjs/IModelDbFonts.js.map +1 -0
  106. package/lib/cjs/IModelElementCloneContext.d.ts +2 -0
  107. package/lib/cjs/IModelElementCloneContext.d.ts.map +1 -1
  108. package/lib/cjs/IModelElementCloneContext.js +12 -1
  109. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  110. package/lib/cjs/IModelHost.d.ts +14 -14
  111. package/lib/cjs/IModelHost.d.ts.map +1 -1
  112. package/lib/cjs/IModelHost.js +75 -42
  113. package/lib/cjs/IModelHost.js.map +1 -1
  114. package/lib/cjs/IModelJsFs.d.ts.map +1 -1
  115. package/lib/cjs/IModelJsFs.js +17 -1
  116. package/lib/cjs/IModelJsFs.js.map +1 -1
  117. package/lib/cjs/ImageSourceConversion.d.ts +49 -0
  118. package/lib/cjs/ImageSourceConversion.d.ts.map +1 -0
  119. package/lib/cjs/ImageSourceConversion.js +37 -0
  120. package/lib/cjs/ImageSourceConversion.js.map +1 -0
  121. package/lib/cjs/IpcHost.d.ts.map +1 -1
  122. package/lib/cjs/IpcHost.js +17 -12
  123. package/lib/cjs/IpcHost.js.map +1 -1
  124. package/lib/cjs/LineStyle.js.map +1 -1
  125. package/lib/cjs/LocalHub.js +9 -3
  126. package/lib/cjs/LocalHub.js.map +1 -1
  127. package/lib/cjs/LocalhostIpcHost.js +5 -6
  128. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  129. package/lib/cjs/LockControl.js.map +1 -1
  130. package/lib/cjs/Material.js +40 -0
  131. package/lib/cjs/Material.js.map +1 -1
  132. package/lib/cjs/Model.d.ts +1 -1
  133. package/lib/cjs/Model.d.ts.map +1 -1
  134. package/lib/cjs/Model.js +27 -2
  135. package/lib/cjs/Model.js.map +1 -1
  136. package/lib/cjs/NativeAppStorage.js +5 -3
  137. package/lib/cjs/NativeAppStorage.js.map +1 -1
  138. package/lib/cjs/NativeHost.js +6 -3
  139. package/lib/cjs/NativeHost.js.map +1 -1
  140. package/lib/cjs/NavigationRelationship.js +25 -25
  141. package/lib/cjs/NavigationRelationship.js.map +1 -1
  142. package/lib/cjs/PromiseMemoizer.d.ts +2 -3
  143. package/lib/cjs/PromiseMemoizer.d.ts.map +1 -1
  144. package/lib/cjs/PromiseMemoizer.js +12 -5
  145. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  146. package/lib/cjs/PropertyStore.js +1 -4
  147. package/lib/cjs/PropertyStore.js.map +1 -1
  148. package/lib/cjs/Relationship.d.ts.map +1 -1
  149. package/lib/cjs/Relationship.js +13 -1
  150. package/lib/cjs/Relationship.js.map +1 -1
  151. package/lib/cjs/RpcBackend.js.map +1 -1
  152. package/lib/cjs/SQLiteDb.d.ts +6 -4
  153. package/lib/cjs/SQLiteDb.d.ts.map +1 -1
  154. package/lib/cjs/SQLiteDb.js +74 -15
  155. package/lib/cjs/SQLiteDb.js.map +1 -1
  156. package/lib/cjs/Schema.d.ts +25 -1
  157. package/lib/cjs/Schema.d.ts.map +1 -1
  158. package/lib/cjs/Schema.js +44 -8
  159. package/lib/cjs/Schema.js.map +1 -1
  160. package/lib/cjs/SchemaSync.js +1 -4
  161. package/lib/cjs/SchemaSync.js.map +1 -1
  162. package/lib/cjs/SchemaUtils.js.map +1 -1
  163. package/lib/cjs/SheetIndex.js +6 -0
  164. package/lib/cjs/SheetIndex.js.map +1 -1
  165. package/lib/cjs/SqliteChangesetReader.d.ts +11 -3
  166. package/lib/cjs/SqliteChangesetReader.d.ts.map +1 -1
  167. package/lib/cjs/SqliteChangesetReader.js +21 -5
  168. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  169. package/lib/cjs/SqliteStatement.d.ts +4 -2
  170. package/lib/cjs/SqliteStatement.d.ts.map +1 -1
  171. package/lib/cjs/SqliteStatement.js +13 -1
  172. package/lib/cjs/SqliteStatement.js.map +1 -1
  173. package/lib/cjs/TextAnnotationElement.js.map +1 -1
  174. package/lib/cjs/TextAnnotationGeometry.d.ts.map +1 -1
  175. package/lib/cjs/TextAnnotationGeometry.js +38 -11
  176. package/lib/cjs/TextAnnotationGeometry.js.map +1 -1
  177. package/lib/cjs/TextAnnotationLayout.d.ts +10 -3
  178. package/lib/cjs/TextAnnotationLayout.d.ts.map +1 -1
  179. package/lib/cjs/TextAnnotationLayout.js +56 -18
  180. package/lib/cjs/TextAnnotationLayout.js.map +1 -1
  181. package/lib/cjs/Texture.js +3 -0
  182. package/lib/cjs/Texture.js.map +1 -1
  183. package/lib/cjs/TileStorage.js +6 -1
  184. package/lib/cjs/TileStorage.js.map +1 -1
  185. package/lib/cjs/TxnManager.d.ts +55 -4
  186. package/lib/cjs/TxnManager.d.ts.map +1 -1
  187. package/lib/cjs/TxnManager.js +234 -58
  188. package/lib/cjs/TxnManager.js.map +1 -1
  189. package/lib/cjs/ViewDefinition.d.ts +6 -6
  190. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  191. package/lib/cjs/ViewDefinition.js +81 -26
  192. package/lib/cjs/ViewDefinition.js.map +1 -1
  193. package/lib/cjs/ViewStateHydrator.d.ts +0 -1
  194. package/lib/cjs/ViewStateHydrator.d.ts.map +1 -1
  195. package/lib/cjs/ViewStateHydrator.js +1 -11
  196. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  197. package/lib/cjs/ViewStore.js +3 -1
  198. package/lib/cjs/ViewStore.js.map +1 -1
  199. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  200. package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
  201. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
  202. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
  203. package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
  204. package/lib/cjs/core-backend.d.ts +7 -1
  205. package/lib/cjs/core-backend.d.ts.map +1 -1
  206. package/lib/cjs/core-backend.js +7 -1
  207. package/lib/cjs/core-backend.js.map +1 -1
  208. package/lib/cjs/domains/FunctionalElements.js +1 -1
  209. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  210. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  211. package/lib/cjs/domains/GenericElements.js.map +1 -1
  212. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  213. package/lib/cjs/internal/ChangesetConflictArgs.d.ts +40 -2
  214. package/lib/cjs/internal/ChangesetConflictArgs.d.ts.map +1 -1
  215. package/lib/cjs/internal/ChangesetConflictArgs.js +101 -0
  216. package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
  217. package/lib/cjs/internal/ChannelAdmin.d.ts +1 -1
  218. package/lib/cjs/internal/ChannelAdmin.d.ts.map +1 -1
  219. package/lib/cjs/internal/ChannelAdmin.js +25 -16
  220. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  221. package/lib/cjs/internal/FontFileImpl.d.ts +34 -0
  222. package/lib/cjs/internal/FontFileImpl.d.ts.map +1 -0
  223. package/lib/cjs/internal/FontFileImpl.js +143 -0
  224. package/lib/cjs/internal/FontFileImpl.js.map +1 -0
  225. package/lib/cjs/internal/IModelDbFontsImpl.d.ts +7 -0
  226. package/lib/cjs/internal/IModelDbFontsImpl.d.ts.map +1 -0
  227. package/lib/cjs/internal/IModelDbFontsImpl.js +186 -0
  228. package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -0
  229. package/lib/cjs/internal/NativePlatform.js.map +1 -1
  230. package/lib/cjs/internal/NoLocks.js +2 -5
  231. package/lib/cjs/internal/NoLocks.js.map +1 -1
  232. package/lib/cjs/internal/ServerBasedLocks.d.ts.map +1 -1
  233. package/lib/cjs/internal/ServerBasedLocks.js +6 -6
  234. package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
  235. package/lib/cjs/internal/Symbols.d.ts +7 -0
  236. package/lib/cjs/internal/Symbols.d.ts.map +1 -1
  237. package/lib/cjs/internal/Symbols.js +8 -1
  238. package/lib/cjs/internal/Symbols.js.map +1 -1
  239. package/lib/cjs/internal/cross-package.js.map +1 -1
  240. package/lib/cjs/internal/workspace/SettingsImpl.js +6 -9
  241. package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
  242. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js +8 -12
  243. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  244. package/lib/cjs/internal/workspace/WorkspaceImpl.js +22 -17
  245. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  246. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js +1 -4
  247. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  248. package/lib/cjs/rpc/multipart.d.ts.map +1 -1
  249. package/lib/cjs/rpc/multipart.js +2 -1
  250. package/lib/cjs/rpc/multipart.js.map +1 -1
  251. package/lib/cjs/rpc/tracing.js +2 -2
  252. package/lib/cjs/rpc/tracing.js.map +1 -1
  253. package/lib/cjs/rpc/web/logging.js.map +1 -1
  254. package/lib/cjs/rpc/web/request.d.ts.map +1 -1
  255. package/lib/cjs/rpc/web/request.js +2 -1
  256. package/lib/cjs/rpc/web/request.js.map +1 -1
  257. package/lib/cjs/rpc/web/response.js.map +1 -1
  258. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  259. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -1
  260. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +5 -2
  261. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  262. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js +5 -3
  263. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  264. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -1
  265. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +4 -3
  266. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  267. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  268. package/lib/cjs/workspace/Settings.js.map +1 -1
  269. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  270. package/lib/cjs/workspace/Workspace.js.map +1 -1
  271. package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
  272. package/lib/esm/BackendHubAccess.d.ts +215 -0
  273. package/lib/esm/BackendHubAccess.d.ts.map +1 -0
  274. package/lib/esm/BackendHubAccess.js +41 -0
  275. package/lib/esm/BackendHubAccess.js.map +1 -0
  276. package/lib/esm/BackendLoggerCategory.d.ts +88 -0
  277. package/lib/esm/BackendLoggerCategory.d.ts.map +1 -0
  278. package/lib/esm/BackendLoggerCategory.js +93 -0
  279. package/lib/esm/BackendLoggerCategory.js.map +1 -0
  280. package/lib/esm/BisCoreSchema.d.ts +22 -0
  281. package/lib/esm/BisCoreSchema.d.ts.map +1 -0
  282. package/lib/esm/BisCoreSchema.js +61 -0
  283. package/lib/esm/BisCoreSchema.js.map +1 -0
  284. package/lib/esm/BlobContainerService.d.ts +159 -0
  285. package/lib/esm/BlobContainerService.d.ts.map +1 -0
  286. package/lib/esm/BlobContainerService.js +15 -0
  287. package/lib/esm/BlobContainerService.js.map +1 -0
  288. package/lib/esm/BriefcaseManager.d.ts +213 -0
  289. package/lib/esm/BriefcaseManager.d.ts.map +1 -0
  290. package/lib/esm/BriefcaseManager.js +520 -0
  291. package/lib/esm/BriefcaseManager.js.map +1 -0
  292. package/lib/esm/Category.d.ts +136 -0
  293. package/lib/esm/Category.d.ts.map +1 -0
  294. package/lib/esm/Category.js +224 -0
  295. package/lib/esm/Category.js.map +1 -0
  296. package/lib/esm/ChangeSummaryManager.d.ts +161 -0
  297. package/lib/esm/ChangeSummaryManager.d.ts.map +1 -0
  298. package/lib/esm/ChangeSummaryManager.js +414 -0
  299. package/lib/esm/ChangeSummaryManager.js.map +1 -0
  300. package/lib/esm/ChangedElementsDb.d.ts +101 -0
  301. package/lib/esm/ChangedElementsDb.d.ts.map +1 -0
  302. package/lib/esm/ChangedElementsDb.js +165 -0
  303. package/lib/esm/ChangedElementsDb.js.map +1 -0
  304. package/lib/esm/ChangesetECAdaptor.d.ts +203 -0
  305. package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -0
  306. package/lib/esm/ChangesetECAdaptor.js +814 -0
  307. package/lib/esm/ChangesetECAdaptor.js.map +1 -0
  308. package/lib/esm/ChannelControl.d.ts +68 -0
  309. package/lib/esm/ChannelControl.d.ts.map +1 -0
  310. package/lib/esm/ChannelControl.js +15 -0
  311. package/lib/esm/ChannelControl.js.map +1 -0
  312. package/lib/esm/CheckpointManager.d.ts +123 -0
  313. package/lib/esm/CheckpointManager.d.ts.map +1 -0
  314. package/lib/esm/CheckpointManager.js +375 -0
  315. package/lib/esm/CheckpointManager.js.map +1 -0
  316. package/lib/esm/ClassRegistry.d.ts +134 -0
  317. package/lib/esm/ClassRegistry.d.ts.map +1 -0
  318. package/lib/esm/ClassRegistry.js +324 -0
  319. package/lib/esm/ClassRegistry.js.map +1 -0
  320. package/lib/esm/CloudSqlite.d.ts +682 -0
  321. package/lib/esm/CloudSqlite.d.ts.map +1 -0
  322. package/lib/esm/CloudSqlite.js +511 -0
  323. package/lib/esm/CloudSqlite.js.map +1 -0
  324. package/lib/esm/CodeService.d.ts +402 -0
  325. package/lib/esm/CodeService.d.ts.map +1 -0
  326. package/lib/esm/CodeService.js +65 -0
  327. package/lib/esm/CodeService.js.map +1 -0
  328. package/lib/esm/CodeSpecs.d.ts +59 -0
  329. package/lib/esm/CodeSpecs.d.ts.map +1 -0
  330. package/lib/esm/CodeSpecs.js +152 -0
  331. package/lib/esm/CodeSpecs.js.map +1 -0
  332. package/lib/esm/ConcurrentQuery.d.ts +14 -0
  333. package/lib/esm/ConcurrentQuery.d.ts.map +1 -0
  334. package/lib/esm/ConcurrentQuery.js +33 -0
  335. package/lib/esm/ConcurrentQuery.js.map +1 -0
  336. package/lib/esm/CustomViewState3dCreator.d.ts +22 -0
  337. package/lib/esm/CustomViewState3dCreator.d.ts.map +1 -0
  338. package/lib/esm/CustomViewState3dCreator.js +78 -0
  339. package/lib/esm/CustomViewState3dCreator.js.map +1 -0
  340. package/lib/esm/DevTools.d.ts +73 -0
  341. package/lib/esm/DevTools.d.ts.map +1 -0
  342. package/lib/esm/DevTools.js +153 -0
  343. package/lib/esm/DevTools.js.map +1 -0
  344. package/lib/esm/DisplayStyle.d.ts +99 -0
  345. package/lib/esm/DisplayStyle.d.ts.map +1 -0
  346. package/lib/esm/DisplayStyle.js +264 -0
  347. package/lib/esm/DisplayStyle.js.map +1 -0
  348. package/lib/esm/ECDb.d.ts +170 -0
  349. package/lib/esm/ECDb.d.ts.map +1 -0
  350. package/lib/esm/ECDb.js +329 -0
  351. package/lib/esm/ECDb.js.map +1 -0
  352. package/lib/esm/ECSchemaXmlContext.d.ts +46 -0
  353. package/lib/esm/ECSchemaXmlContext.d.ts.map +1 -0
  354. package/lib/esm/ECSchemaXmlContext.js +66 -0
  355. package/lib/esm/ECSchemaXmlContext.js.map +1 -0
  356. package/lib/esm/ECSqlStatement.d.ts +492 -0
  357. package/lib/esm/ECSqlStatement.d.ts.map +1 -0
  358. package/lib/esm/ECSqlStatement.js +810 -0
  359. package/lib/esm/ECSqlStatement.js.map +1 -0
  360. package/lib/esm/Element.d.ts +987 -0
  361. package/lib/esm/Element.d.ts.map +1 -0
  362. package/lib/esm/Element.js +1337 -0
  363. package/lib/esm/Element.js.map +1 -0
  364. package/lib/esm/ElementAspect.d.ts +164 -0
  365. package/lib/esm/ElementAspect.d.ts.map +1 -0
  366. package/lib/esm/ElementAspect.js +204 -0
  367. package/lib/esm/ElementAspect.js.map +1 -0
  368. package/lib/esm/ElementGraphics.d.ts +7 -0
  369. package/lib/esm/ElementGraphics.d.ts.map +1 -0
  370. package/lib/esm/ElementGraphics.js +36 -0
  371. package/lib/esm/ElementGraphics.js.map +1 -0
  372. package/lib/esm/ElementTreeWalker.d.ts +182 -0
  373. package/lib/esm/ElementTreeWalker.d.ts.map +1 -0
  374. package/lib/esm/ElementTreeWalker.js +421 -0
  375. package/lib/esm/ElementTreeWalker.js.map +1 -0
  376. package/lib/esm/Entity.d.ts +142 -0
  377. package/lib/esm/Entity.d.ts.map +1 -0
  378. package/lib/esm/Entity.js +186 -0
  379. package/lib/esm/Entity.js.map +1 -0
  380. package/lib/esm/EntityReferences.d.ts +50 -0
  381. package/lib/esm/EntityReferences.d.ts.map +1 -0
  382. package/lib/esm/EntityReferences.js +92 -0
  383. package/lib/esm/EntityReferences.js.map +1 -0
  384. package/lib/esm/ExportGraphics.d.ts +318 -0
  385. package/lib/esm/ExportGraphics.d.ts.map +1 -0
  386. package/lib/esm/ExportGraphics.js +209 -0
  387. package/lib/esm/ExportGraphics.js.map +1 -0
  388. package/lib/esm/ExternalSource.d.ts +89 -0
  389. package/lib/esm/ExternalSource.d.ts.map +1 -0
  390. package/lib/esm/ExternalSource.js +139 -0
  391. package/lib/esm/ExternalSource.js.map +1 -0
  392. package/lib/esm/FontFile.d.ts +68 -0
  393. package/lib/esm/FontFile.d.ts.map +1 -0
  394. package/lib/esm/FontFile.js +33 -0
  395. package/lib/esm/FontFile.js.map +1 -0
  396. package/lib/esm/GeoCoordConfig.d.ts +30 -0
  397. package/lib/esm/GeoCoordConfig.d.ts.map +1 -0
  398. package/lib/esm/GeoCoordConfig.js +78 -0
  399. package/lib/esm/GeoCoordConfig.js.map +1 -0
  400. package/lib/esm/GeographicCRSServices.d.ts +40 -0
  401. package/lib/esm/GeographicCRSServices.d.ts.map +1 -0
  402. package/lib/esm/GeographicCRSServices.js +17 -0
  403. package/lib/esm/GeographicCRSServices.js.map +1 -0
  404. package/lib/esm/GeometrySummary.d.ts +5 -0
  405. package/lib/esm/GeometrySummary.d.ts.map +1 -0
  406. package/lib/esm/GeometrySummary.js +381 -0
  407. package/lib/esm/GeometrySummary.js.map +1 -0
  408. package/lib/esm/HubMock.d.ts +95 -0
  409. package/lib/esm/HubMock.d.ts.map +1 -0
  410. package/lib/esm/HubMock.js +220 -0
  411. package/lib/esm/HubMock.js.map +1 -0
  412. package/lib/esm/IModelDb.d.ts +1398 -0
  413. package/lib/esm/IModelDb.d.ts.map +1 -0
  414. package/lib/esm/IModelDb.js +3230 -0
  415. package/lib/esm/IModelDb.js.map +1 -0
  416. package/lib/esm/IModelDbFonts.d.ts +54 -0
  417. package/lib/esm/IModelDbFonts.d.ts.map +1 -0
  418. package/lib/esm/IModelDbFonts.js +9 -0
  419. package/lib/esm/IModelDbFonts.js.map +1 -0
  420. package/lib/esm/IModelElementCloneContext.d.ts +92 -0
  421. package/lib/esm/IModelElementCloneContext.d.ts.map +1 -0
  422. package/lib/esm/IModelElementCloneContext.js +168 -0
  423. package/lib/esm/IModelElementCloneContext.js.map +1 -0
  424. package/lib/esm/IModelHost.d.ts +387 -0
  425. package/lib/esm/IModelHost.d.ts.map +1 -0
  426. package/lib/esm/IModelHost.js +502 -0
  427. package/lib/esm/IModelHost.js.map +1 -0
  428. package/lib/esm/IModelJsFs.d.ts +62 -0
  429. package/lib/esm/IModelJsFs.d.ts.map +1 -0
  430. package/lib/esm/IModelJsFs.js +151 -0
  431. package/lib/esm/IModelJsFs.js.map +1 -0
  432. package/lib/esm/ImageSourceConversion.d.ts +49 -0
  433. package/lib/esm/ImageSourceConversion.d.ts.map +1 -0
  434. package/lib/esm/ImageSourceConversion.js +33 -0
  435. package/lib/esm/ImageSourceConversion.js.map +1 -0
  436. package/lib/esm/IpcHost.d.ts +111 -0
  437. package/lib/esm/IpcHost.d.ts.map +1 -0
  438. package/lib/esm/IpcHost.js +311 -0
  439. package/lib/esm/IpcHost.js.map +1 -0
  440. package/lib/esm/LineStyle.d.ts +312 -0
  441. package/lib/esm/LineStyle.d.ts.map +1 -0
  442. package/lib/esm/LineStyle.js +293 -0
  443. package/lib/esm/LineStyle.js.map +1 -0
  444. package/lib/esm/LocalHub.d.ts +163 -0
  445. package/lib/esm/LocalHub.d.ts.map +1 -0
  446. package/lib/esm/LocalHub.js +583 -0
  447. package/lib/esm/LocalHub.js.map +1 -0
  448. package/lib/esm/LocalhostIpcHost.d.ts +22 -0
  449. package/lib/esm/LocalhostIpcHost.d.ts.map +1 -0
  450. package/lib/esm/LocalhostIpcHost.js +74 -0
  451. package/lib/esm/LocalhostIpcHost.js.map +1 -0
  452. package/lib/esm/LockControl.d.ts +73 -0
  453. package/lib/esm/LockControl.d.ts.map +1 -0
  454. package/lib/esm/LockControl.js +9 -0
  455. package/lib/esm/LockControl.js.map +1 -0
  456. package/lib/esm/Material.d.ts +131 -0
  457. package/lib/esm/Material.d.ts.map +1 -0
  458. package/lib/esm/Material.js +235 -0
  459. package/lib/esm/Material.js.map +1 -0
  460. package/lib/esm/Model.d.ts +375 -0
  461. package/lib/esm/Model.d.ts.map +1 -0
  462. package/lib/esm/Model.js +484 -0
  463. package/lib/esm/Model.js.map +1 -0
  464. package/lib/esm/NativeAppStorage.d.ts +52 -0
  465. package/lib/esm/NativeAppStorage.d.ts.map +1 -0
  466. package/lib/esm/NativeAppStorage.js +205 -0
  467. package/lib/esm/NativeAppStorage.js.map +1 -0
  468. package/lib/esm/NativeHost.d.ts +53 -0
  469. package/lib/esm/NativeHost.d.ts.map +1 -0
  470. package/lib/esm/NativeHost.js +158 -0
  471. package/lib/esm/NativeHost.js.map +1 -0
  472. package/lib/esm/NavigationRelationship.d.ts +185 -0
  473. package/lib/esm/NavigationRelationship.d.ts.map +1 -0
  474. package/lib/esm/NavigationRelationship.js +238 -0
  475. package/lib/esm/NavigationRelationship.js.map +1 -0
  476. package/lib/esm/PromiseMemoizer.d.ts +48 -0
  477. package/lib/esm/PromiseMemoizer.d.ts.map +1 -0
  478. package/lib/esm/PromiseMemoizer.js +101 -0
  479. package/lib/esm/PromiseMemoizer.js.map +1 -0
  480. package/lib/esm/PropertyStore.d.ts +134 -0
  481. package/lib/esm/PropertyStore.d.ts.map +1 -0
  482. package/lib/esm/PropertyStore.js +177 -0
  483. package/lib/esm/PropertyStore.js.map +1 -0
  484. package/lib/esm/Relationship.d.ts +399 -0
  485. package/lib/esm/Relationship.d.ts.map +1 -0
  486. package/lib/esm/Relationship.js +474 -0
  487. package/lib/esm/Relationship.js.map +1 -0
  488. package/lib/esm/RpcBackend.d.ts +6 -0
  489. package/lib/esm/RpcBackend.d.ts.map +1 -0
  490. package/lib/esm/RpcBackend.js +28 -0
  491. package/lib/esm/RpcBackend.js.map +1 -0
  492. package/lib/esm/SQLiteDb.d.ts +324 -0
  493. package/lib/esm/SQLiteDb.d.ts.map +1 -0
  494. package/lib/esm/SQLiteDb.js +379 -0
  495. package/lib/esm/SQLiteDb.js.map +1 -0
  496. package/lib/esm/Schema.d.ts +79 -0
  497. package/lib/esm/Schema.d.ts.map +1 -0
  498. package/lib/esm/Schema.js +113 -0
  499. package/lib/esm/Schema.js.map +1 -0
  500. package/lib/esm/SchemaSync.d.ts +47 -0
  501. package/lib/esm/SchemaSync.d.ts.map +1 -0
  502. package/lib/esm/SchemaSync.js +148 -0
  503. package/lib/esm/SchemaSync.js.map +1 -0
  504. package/lib/esm/SchemaUtils.d.ts +19 -0
  505. package/lib/esm/SchemaUtils.d.ts.map +1 -0
  506. package/lib/esm/SchemaUtils.js +37 -0
  507. package/lib/esm/SchemaUtils.js.map +1 -0
  508. package/lib/esm/SheetIndex.d.ts +148 -0
  509. package/lib/esm/SheetIndex.d.ts.map +1 -0
  510. package/lib/esm/SheetIndex.js +228 -0
  511. package/lib/esm/SheetIndex.js.map +1 -0
  512. package/lib/esm/SqliteChangesetReader.d.ts +278 -0
  513. package/lib/esm/SqliteChangesetReader.d.ts.map +1 -0
  514. package/lib/esm/SqliteChangesetReader.js +337 -0
  515. package/lib/esm/SqliteChangesetReader.js.map +1 -0
  516. package/lib/esm/SqliteStatement.d.ts +375 -0
  517. package/lib/esm/SqliteStatement.d.ts.map +1 -0
  518. package/lib/esm/SqliteStatement.js +615 -0
  519. package/lib/esm/SqliteStatement.js.map +1 -0
  520. package/lib/esm/TextAnnotationElement.d.ts +54 -0
  521. package/lib/esm/TextAnnotationElement.d.ts.map +1 -0
  522. package/lib/esm/TextAnnotationElement.js +89 -0
  523. package/lib/esm/TextAnnotationElement.js.map +1 -0
  524. package/lib/esm/TextAnnotationGeometry.d.ts +32 -0
  525. package/lib/esm/TextAnnotationGeometry.d.ts.map +1 -0
  526. package/lib/esm/TextAnnotationGeometry.js +181 -0
  527. package/lib/esm/TextAnnotationGeometry.js.map +1 -0
  528. package/lib/esm/TextAnnotationLayout.d.ts +177 -0
  529. package/lib/esm/TextAnnotationLayout.d.ts.map +1 -0
  530. package/lib/esm/TextAnnotationLayout.js +513 -0
  531. package/lib/esm/TextAnnotationLayout.js.map +1 -0
  532. package/lib/esm/Texture.d.ts +58 -0
  533. package/lib/esm/Texture.d.ts.map +1 -0
  534. package/lib/esm/Texture.js +81 -0
  535. package/lib/esm/Texture.js.map +1 -0
  536. package/lib/esm/TileStorage.d.ts +59 -0
  537. package/lib/esm/TileStorage.d.ts.map +1 -0
  538. package/lib/esm/TileStorage.js +158 -0
  539. package/lib/esm/TileStorage.js.map +1 -0
  540. package/lib/esm/TxnManager.d.ts +296 -0
  541. package/lib/esm/TxnManager.d.ts.map +1 -0
  542. package/lib/esm/TxnManager.js +619 -0
  543. package/lib/esm/TxnManager.js.map +1 -0
  544. package/lib/esm/ViewDefinition.d.ts +392 -0
  545. package/lib/esm/ViewDefinition.d.ts.map +1 -0
  546. package/lib/esm/ViewDefinition.js +638 -0
  547. package/lib/esm/ViewDefinition.js.map +1 -0
  548. package/lib/esm/ViewStateHydrator.d.ts +14 -0
  549. package/lib/esm/ViewStateHydrator.d.ts.map +1 -0
  550. package/lib/esm/ViewStateHydrator.js +89 -0
  551. package/lib/esm/ViewStateHydrator.js.map +1 -0
  552. package/lib/esm/ViewStore.d.ts +502 -0
  553. package/lib/esm/ViewStore.d.ts.map +1 -0
  554. package/lib/esm/ViewStore.js +1259 -0
  555. package/lib/esm/ViewStore.js.map +1 -0
  556. package/lib/esm/core-backend.d.ts +183 -0
  557. package/lib/esm/core-backend.d.ts.map +1 -0
  558. package/lib/esm/core-backend.js +187 -0
  559. package/lib/esm/core-backend.js.map +1 -0
  560. package/lib/esm/domains/FunctionalElements.d.ts +86 -0
  561. package/lib/esm/domains/FunctionalElements.d.ts.map +1 -0
  562. package/lib/esm/domains/FunctionalElements.js +117 -0
  563. package/lib/esm/domains/FunctionalElements.js.map +1 -0
  564. package/lib/esm/domains/FunctionalSchema.d.ts +14 -0
  565. package/lib/esm/domains/FunctionalSchema.d.ts.map +1 -0
  566. package/lib/esm/domains/FunctionalSchema.js +37 -0
  567. package/lib/esm/domains/FunctionalSchema.js.map +1 -0
  568. package/lib/esm/domains/GenericElements.d.ts +160 -0
  569. package/lib/esm/domains/GenericElements.d.ts.map +1 -0
  570. package/lib/esm/domains/GenericElements.js +225 -0
  571. package/lib/esm/domains/GenericElements.js.map +1 -0
  572. package/lib/esm/domains/GenericSchema.d.ts +11 -0
  573. package/lib/esm/domains/GenericSchema.d.ts.map +1 -0
  574. package/lib/esm/domains/GenericSchema.js +25 -0
  575. package/lib/esm/domains/GenericSchema.js.map +1 -0
  576. package/lib/esm/internal/ChangesetConflictArgs.d.ts +62 -0
  577. package/lib/esm/internal/ChangesetConflictArgs.d.ts.map +1 -0
  578. package/lib/esm/internal/ChangesetConflictArgs.js +104 -0
  579. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -0
  580. package/lib/esm/internal/ChannelAdmin.d.ts +34 -0
  581. package/lib/esm/internal/ChannelAdmin.d.ts.map +1 -0
  582. package/lib/esm/internal/ChannelAdmin.js +122 -0
  583. package/lib/esm/internal/ChannelAdmin.js.map +1 -0
  584. package/lib/esm/internal/FontFileImpl.d.ts +34 -0
  585. package/lib/esm/internal/FontFileImpl.d.ts.map +1 -0
  586. package/lib/esm/internal/FontFileImpl.js +135 -0
  587. package/lib/esm/internal/FontFileImpl.js.map +1 -0
  588. package/lib/esm/internal/IModelDbFontsImpl.d.ts +7 -0
  589. package/lib/esm/internal/IModelDbFontsImpl.d.ts.map +1 -0
  590. package/lib/esm/internal/IModelDbFontsImpl.js +183 -0
  591. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -0
  592. package/lib/esm/internal/NativePlatform.d.ts +15 -0
  593. package/lib/esm/internal/NativePlatform.d.ts.map +1 -0
  594. package/lib/esm/internal/NativePlatform.js +43 -0
  595. package/lib/esm/internal/NativePlatform.js.map +1 -0
  596. package/lib/esm/internal/NoLocks.d.ts +6 -0
  597. package/lib/esm/internal/NoLocks.d.ts.map +1 -0
  598. package/lib/esm/internal/NoLocks.js +24 -0
  599. package/lib/esm/internal/NoLocks.js.map +1 -0
  600. package/lib/esm/internal/ServerBasedLocks.d.ts +52 -0
  601. package/lib/esm/internal/ServerBasedLocks.d.ts.map +1 -0
  602. package/lib/esm/internal/ServerBasedLocks.js +175 -0
  603. package/lib/esm/internal/ServerBasedLocks.js.map +1 -0
  604. package/lib/esm/internal/Symbols.d.ts +18 -0
  605. package/lib/esm/internal/Symbols.d.ts.map +1 -0
  606. package/lib/esm/internal/Symbols.js +25 -0
  607. package/lib/esm/internal/Symbols.js.map +1 -0
  608. package/lib/esm/internal/cross-package.d.ts +4 -0
  609. package/lib/esm/internal/cross-package.d.ts.map +1 -0
  610. package/lib/esm/internal/cross-package.js +8 -0
  611. package/lib/esm/internal/cross-package.js.map +1 -0
  612. package/lib/esm/internal/workspace/SettingsImpl.d.ts +43 -0
  613. package/lib/esm/internal/workspace/SettingsImpl.d.ts.map +1 -0
  614. package/lib/esm/internal/workspace/SettingsImpl.js +154 -0
  615. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -0
  616. package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts +6 -0
  617. package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts.map +1 -0
  618. package/lib/esm/internal/workspace/SettingsSchemasImpl.js +268 -0
  619. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -0
  620. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts +41 -0
  621. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts.map +1 -0
  622. package/lib/esm/internal/workspace/WorkspaceImpl.js +691 -0
  623. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -0
  624. package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts +10 -0
  625. package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts.map +1 -0
  626. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js +35 -0
  627. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -0
  628. package/lib/esm/rpc/multipart.d.ts +12 -0
  629. package/lib/esm/rpc/multipart.d.ts.map +1 -0
  630. package/lib/esm/rpc/multipart.js +67 -0
  631. package/lib/esm/rpc/multipart.js.map +1 -0
  632. package/lib/esm/rpc/tracing.d.ts +29 -0
  633. package/lib/esm/rpc/tracing.d.ts.map +1 -0
  634. package/lib/esm/rpc/tracing.js +71 -0
  635. package/lib/esm/rpc/tracing.js.map +1 -0
  636. package/lib/esm/rpc/web/logging.d.ts +10 -0
  637. package/lib/esm/rpc/web/logging.d.ts.map +1 -0
  638. package/lib/esm/rpc/web/logging.js +41 -0
  639. package/lib/esm/rpc/web/logging.js.map +1 -0
  640. package/lib/esm/rpc/web/request.d.ts +7 -0
  641. package/lib/esm/rpc/web/request.d.ts.map +1 -0
  642. package/lib/esm/rpc/web/request.js +71 -0
  643. package/lib/esm/rpc/web/request.js.map +1 -0
  644. package/lib/esm/rpc/web/response.d.ts +7 -0
  645. package/lib/esm/rpc/web/response.d.ts.map +1 -0
  646. package/lib/esm/rpc/web/response.js +136 -0
  647. package/lib/esm/rpc/web/response.js.map +1 -0
  648. package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts +16 -0
  649. package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts.map +1 -0
  650. package/lib/esm/rpc-impl/DevToolsRpcImpl.js +29 -0
  651. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -0
  652. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts +51 -0
  653. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -0
  654. package/lib/esm/rpc-impl/IModelReadRpcImpl.js +313 -0
  655. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -0
  656. package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts +21 -0
  657. package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts.map +1 -0
  658. package/lib/esm/rpc-impl/IModelTileRpcImpl.js +193 -0
  659. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -0
  660. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts +45 -0
  661. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -0
  662. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js +166 -0
  663. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -0
  664. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts +18 -0
  665. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts.map +1 -0
  666. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js +41 -0
  667. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -0
  668. package/lib/esm/test/AdvancedEqual.d.ts +38 -0
  669. package/lib/esm/test/AdvancedEqual.d.ts.map +1 -0
  670. package/lib/esm/test/AdvancedEqual.js +67 -0
  671. package/lib/esm/test/AdvancedEqual.js.map +1 -0
  672. package/lib/esm/test/AttachDb.test.d.ts +2 -0
  673. package/lib/esm/test/AttachDb.test.d.ts.map +1 -0
  674. package/lib/esm/test/AttachDb.test.js +157 -0
  675. package/lib/esm/test/AttachDb.test.js.map +1 -0
  676. package/lib/esm/test/GeometryTestUtil.d.ts +7 -0
  677. package/lib/esm/test/GeometryTestUtil.d.ts.map +1 -0
  678. package/lib/esm/test/GeometryTestUtil.js +25 -0
  679. package/lib/esm/test/GeometryTestUtil.js.map +1 -0
  680. package/lib/esm/test/IModelHost.test.d.ts +2 -0
  681. package/lib/esm/test/IModelHost.test.d.ts.map +1 -0
  682. package/lib/esm/test/IModelHost.test.js +187 -0
  683. package/lib/esm/test/IModelHost.test.js.map +1 -0
  684. package/lib/esm/test/IModelTestUtils.d.ts +173 -0
  685. package/lib/esm/test/IModelTestUtils.d.ts.map +1 -0
  686. package/lib/esm/test/IModelTestUtils.js +1113 -0
  687. package/lib/esm/test/IModelTestUtils.js.map +1 -0
  688. package/lib/esm/test/ImageSourceConversion.test.d.ts +2 -0
  689. package/lib/esm/test/ImageSourceConversion.test.d.ts.map +1 -0
  690. package/lib/esm/test/ImageSourceConversion.test.js +171 -0
  691. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -0
  692. package/lib/esm/test/IpcHost.test.d.ts +2 -0
  693. package/lib/esm/test/IpcHost.test.d.ts.map +1 -0
  694. package/lib/esm/test/IpcHost.test.js +55 -0
  695. package/lib/esm/test/IpcHost.test.js.map +1 -0
  696. package/lib/esm/test/KnownTestLocations.d.ts +7 -0
  697. package/lib/esm/test/KnownTestLocations.d.ts.map +1 -0
  698. package/lib/esm/test/KnownTestLocations.js +27 -0
  699. package/lib/esm/test/KnownTestLocations.js.map +1 -0
  700. package/lib/esm/test/PrintElementTree.d.ts +7 -0
  701. package/lib/esm/test/PrintElementTree.d.ts.map +1 -0
  702. package/lib/esm/test/PrintElementTree.js +35 -0
  703. package/lib/esm/test/PrintElementTree.js.map +1 -0
  704. package/lib/esm/test/PropertyDb.test.d.ts +2 -0
  705. package/lib/esm/test/PropertyDb.test.d.ts.map +1 -0
  706. package/lib/esm/test/PropertyDb.test.js +71 -0
  707. package/lib/esm/test/PropertyDb.test.js.map +1 -0
  708. package/lib/esm/test/RevisionUtility.d.ts +33 -0
  709. package/lib/esm/test/RevisionUtility.d.ts.map +1 -0
  710. package/lib/esm/test/RevisionUtility.js +52 -0
  711. package/lib/esm/test/RevisionUtility.js.map +1 -0
  712. package/lib/esm/test/SchemaUtils.test.d.ts +2 -0
  713. package/lib/esm/test/SchemaUtils.test.d.ts.map +1 -0
  714. package/lib/esm/test/SchemaUtils.test.js +97 -0
  715. package/lib/esm/test/SchemaUtils.test.js.map +1 -0
  716. package/lib/esm/test/SequentialLogMatcher.d.ts +35 -0
  717. package/lib/esm/test/SequentialLogMatcher.d.ts.map +1 -0
  718. package/lib/esm/test/SequentialLogMatcher.js +130 -0
  719. package/lib/esm/test/SequentialLogMatcher.js.map +1 -0
  720. package/lib/esm/test/TestChangeSetUtility.d.ts +23 -0
  721. package/lib/esm/test/TestChangeSetUtility.d.ts.map +1 -0
  722. package/lib/esm/test/TestChangeSetUtility.js +65 -0
  723. package/lib/esm/test/TestChangeSetUtility.js.map +1 -0
  724. package/lib/esm/test/TestUtils.d.ts +38 -0
  725. package/lib/esm/test/TestUtils.d.ts.map +1 -0
  726. package/lib/esm/test/TestUtils.js +99 -0
  727. package/lib/esm/test/TestUtils.js.map +1 -0
  728. package/lib/esm/test/annotations/TextAnnotation.test.d.ts +2 -0
  729. package/lib/esm/test/annotations/TextAnnotation.test.d.ts.map +1 -0
  730. package/lib/esm/test/annotations/TextAnnotation.test.js +1135 -0
  731. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -0
  732. package/lib/esm/test/categories/Category.test.d.ts +2 -0
  733. package/lib/esm/test/categories/Category.test.d.ts.map +1 -0
  734. package/lib/esm/test/categories/Category.test.js +51 -0
  735. package/lib/esm/test/categories/Category.test.js.map +1 -0
  736. package/lib/esm/test/codespec/CodeSpec.test.d.ts +2 -0
  737. package/lib/esm/test/codespec/CodeSpec.test.d.ts.map +1 -0
  738. package/lib/esm/test/codespec/CodeSpec.test.js +51 -0
  739. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -0
  740. package/lib/esm/test/ecdb/CTE.test.d.ts +2 -0
  741. package/lib/esm/test/ecdb/CTE.test.d.ts.map +1 -0
  742. package/lib/esm/test/ecdb/CTE.test.js +177 -0
  743. package/lib/esm/test/ecdb/CTE.test.js.map +1 -0
  744. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts +2 -0
  745. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts.map +1 -0
  746. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +167 -0
  747. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -0
  748. package/lib/esm/test/ecdb/ECDb.test.d.ts +2 -0
  749. package/lib/esm/test/ecdb/ECDb.test.d.ts.map +1 -0
  750. package/lib/esm/test/ecdb/ECDb.test.js +642 -0
  751. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -0
  752. package/lib/esm/test/ecdb/ECDbTestHelper.d.ts +5 -0
  753. package/lib/esm/test/ecdb/ECDbTestHelper.d.ts.map +1 -0
  754. package/lib/esm/test/ecdb/ECDbTestHelper.js +28 -0
  755. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -0
  756. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts +2 -0
  757. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts.map +1 -0
  758. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js +63 -0
  759. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -0
  760. package/lib/esm/test/ecdb/ECSqlAst.test.d.ts +5 -0
  761. package/lib/esm/test/ecdb/ECSqlAst.test.d.ts.map +1 -0
  762. package/lib/esm/test/ecdb/ECSqlAst.test.js +971 -0
  763. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -0
  764. package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts +2 -0
  765. package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts.map +1 -0
  766. package/lib/esm/test/ecdb/ECSqlQuery.test.js +770 -0
  767. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -0
  768. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts +2 -0
  769. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts.map +1 -0
  770. package/lib/esm/test/ecdb/ECSqlReader.test.js +669 -0
  771. package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -0
  772. package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts +2 -0
  773. package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts.map +1 -0
  774. package/lib/esm/test/ecdb/ECSqlStatement.test.js +3239 -0
  775. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -0
  776. package/lib/esm/test/ecdb/SqliteStatement.test.d.ts +2 -0
  777. package/lib/esm/test/ecdb/SqliteStatement.test.d.ts.map +1 -0
  778. package/lib/esm/test/ecdb/SqliteStatement.test.js +508 -0
  779. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -0
  780. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts +4 -0
  781. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts.map +1 -0
  782. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js +127 -0
  783. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -0
  784. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts +2 -0
  785. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts.map +1 -0
  786. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +196 -0
  787. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -0
  788. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts +66 -0
  789. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts.map +1 -0
  790. package/lib/esm/test/ecsql/src/ECSqlTestParser.js +420 -0
  791. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -0
  792. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts +2 -0
  793. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts.map +1 -0
  794. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js +365 -0
  795. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -0
  796. package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts +2 -0
  797. package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts.map +1 -0
  798. package/lib/esm/test/element/DeleteDefinitionElements.test.js +208 -0
  799. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -0
  800. package/lib/esm/test/element/ElementAspect.test.d.ts +2 -0
  801. package/lib/esm/test/element/ElementAspect.test.d.ts.map +1 -0
  802. package/lib/esm/test/element/ElementAspect.test.js +363 -0
  803. package/lib/esm/test/element/ElementAspect.test.js.map +1 -0
  804. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts +2 -0
  805. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts.map +1 -0
  806. package/lib/esm/test/element/ElementDependencyGraph.test.js +383 -0
  807. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -0
  808. package/lib/esm/test/element/ElementRoundTrip.test.d.ts +2 -0
  809. package/lib/esm/test/element/ElementRoundTrip.test.d.ts.map +1 -0
  810. package/lib/esm/test/element/ElementRoundTrip.test.js +916 -0
  811. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -0
  812. package/lib/esm/test/element/ExcludedElements.test.d.ts +2 -0
  813. package/lib/esm/test/element/ExcludedElements.test.d.ts.map +1 -0
  814. package/lib/esm/test/element/ExcludedElements.test.js +57 -0
  815. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -0
  816. package/lib/esm/test/element/ExternalSource.test.d.ts +2 -0
  817. package/lib/esm/test/element/ExternalSource.test.d.ts.map +1 -0
  818. package/lib/esm/test/element/ExternalSource.test.js +107 -0
  819. package/lib/esm/test/element/ExternalSource.test.js.map +1 -0
  820. package/lib/esm/test/element/NullStructArray.test.d.ts +2 -0
  821. package/lib/esm/test/element/NullStructArray.test.d.ts.map +1 -0
  822. package/lib/esm/test/element/NullStructArray.test.js +77 -0
  823. package/lib/esm/test/element/NullStructArray.test.js.map +1 -0
  824. package/lib/esm/test/element/UrlLink.test.d.ts +2 -0
  825. package/lib/esm/test/element/UrlLink.test.d.ts.map +1 -0
  826. package/lib/esm/test/element/UrlLink.test.js +36 -0
  827. package/lib/esm/test/element/UrlLink.test.js.map +1 -0
  828. package/lib/esm/test/font/FontFile.test.d.ts +2 -0
  829. package/lib/esm/test/font/FontFile.test.d.ts.map +1 -0
  830. package/lib/esm/test/font/FontFile.test.js +139 -0
  831. package/lib/esm/test/font/FontFile.test.js.map +1 -0
  832. package/lib/esm/test/font/IModelDbFonts.test.d.ts +2 -0
  833. package/lib/esm/test/font/IModelDbFonts.test.d.ts.map +1 -0
  834. package/lib/esm/test/font/IModelDbFonts.test.js +264 -0
  835. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -0
  836. package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts +2 -0
  837. package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts.map +1 -0
  838. package/lib/esm/test/hubaccess/BriefcaseManager.test.js +165 -0
  839. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -0
  840. package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts +2 -0
  841. package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts.map +1 -0
  842. package/lib/esm/test/hubaccess/CheckpointManager.test.js +137 -0
  843. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -0
  844. package/lib/esm/test/imageData.d.ts +9 -0
  845. package/lib/esm/test/imageData.d.ts.map +1 -0
  846. package/lib/esm/test/imageData.js +16 -0
  847. package/lib/esm/test/imageData.js.map +1 -0
  848. package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts +2 -0
  849. package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts.map +1 -0
  850. package/lib/esm/test/imodel/ElementTreeWalker.test.js +382 -0
  851. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -0
  852. package/lib/esm/test/imodel/GetTextureImage.test.d.ts +2 -0
  853. package/lib/esm/test/imodel/GetTextureImage.test.d.ts.map +1 -0
  854. package/lib/esm/test/imodel/GetTextureImage.test.js +29 -0
  855. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -0
  856. package/lib/esm/test/imodel/IModel.test.d.ts +2 -0
  857. package/lib/esm/test/imodel/IModel.test.d.ts.map +1 -0
  858. package/lib/esm/test/imodel/IModel.test.js +2601 -0
  859. package/lib/esm/test/imodel/IModel.test.js.map +1 -0
  860. package/lib/esm/test/imodel/ProjectExtents.test.d.ts +2 -0
  861. package/lib/esm/test/imodel/ProjectExtents.test.d.ts.map +1 -0
  862. package/lib/esm/test/imodel/ProjectExtents.test.js +66 -0
  863. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -0
  864. package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts +2 -0
  865. package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts.map +1 -0
  866. package/lib/esm/test/imodel/SchemaXmlImport.test.js +74 -0
  867. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -0
  868. package/lib/esm/test/index.d.ts +7 -0
  869. package/lib/esm/test/index.d.ts.map +1 -0
  870. package/lib/esm/test/index.js +11 -0
  871. package/lib/esm/test/index.js.map +1 -0
  872. package/lib/esm/test/misc/DevTools.test.d.ts +2 -0
  873. package/lib/esm/test/misc/DevTools.test.d.ts.map +1 -0
  874. package/lib/esm/test/misc/DevTools.test.js +72 -0
  875. package/lib/esm/test/misc/DevTools.test.js.map +1 -0
  876. package/lib/esm/test/misc/EntitySubClasses.test.d.ts +2 -0
  877. package/lib/esm/test/misc/EntitySubClasses.test.d.ts.map +1 -0
  878. package/lib/esm/test/misc/EntitySubClasses.test.js +106 -0
  879. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -0
  880. package/lib/esm/test/misc/GeoServices.test.d.ts +2 -0
  881. package/lib/esm/test/misc/GeoServices.test.d.ts.map +1 -0
  882. package/lib/esm/test/misc/GeoServices.test.js +850 -0
  883. package/lib/esm/test/misc/GeoServices.test.js.map +1 -0
  884. package/lib/esm/test/misc/PromiseMemoizer.test.d.ts +2 -0
  885. package/lib/esm/test/misc/PromiseMemoizer.test.d.ts.map +1 -0
  886. package/lib/esm/test/misc/PromiseMemoizer.test.js +111 -0
  887. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -0
  888. package/lib/esm/test/native/DgnDbWorker.test.d.ts +2 -0
  889. package/lib/esm/test/native/DgnDbWorker.test.d.ts.map +1 -0
  890. package/lib/esm/test/native/DgnDbWorker.test.js +159 -0
  891. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -0
  892. package/lib/esm/test/rpc/response.test.d.ts +2 -0
  893. package/lib/esm/test/rpc/response.test.d.ts.map +1 -0
  894. package/lib/esm/test/rpc/response.test.js +112 -0
  895. package/lib/esm/test/rpc/response.test.js.map +1 -0
  896. package/lib/esm/test/schema/ClassRegistry.test.d.ts +2 -0
  897. package/lib/esm/test/schema/ClassRegistry.test.d.ts.map +1 -0
  898. package/lib/esm/test/schema/ClassRegistry.test.js +679 -0
  899. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -0
  900. package/lib/esm/test/schema/FunctionalDomain.test.d.ts +2 -0
  901. package/lib/esm/test/schema/FunctionalDomain.test.d.ts.map +1 -0
  902. package/lib/esm/test/schema/FunctionalDomain.test.js +490 -0
  903. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -0
  904. package/lib/esm/test/schema/GenericDomain.test.d.ts +2 -0
  905. package/lib/esm/test/schema/GenericDomain.test.d.ts.map +1 -0
  906. package/lib/esm/test/schema/GenericDomain.test.js +132 -0
  907. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -0
  908. package/lib/esm/test/schema/IModelSchemaContext.test.d.ts +2 -0
  909. package/lib/esm/test/schema/IModelSchemaContext.test.d.ts.map +1 -0
  910. package/lib/esm/test/schema/IModelSchemaContext.test.js +95 -0
  911. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -0
  912. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts +4 -0
  913. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts.map +1 -0
  914. package/lib/esm/test/sheetindex/SheetIndex.test.js +312 -0
  915. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -0
  916. package/lib/esm/test/standalone/ChangeMerge.test.d.ts +2 -0
  917. package/lib/esm/test/standalone/ChangeMerge.test.d.ts.map +1 -0
  918. package/lib/esm/test/standalone/ChangeMerge.test.js +413 -0
  919. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -0
  920. package/lib/esm/test/standalone/ChangesetReader.test.d.ts +2 -0
  921. package/lib/esm/test/standalone/ChangesetReader.test.d.ts.map +1 -0
  922. package/lib/esm/test/standalone/ChangesetReader.test.js +890 -0
  923. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -0
  924. package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts +2 -0
  925. package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts.map +1 -0
  926. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js +49 -0
  927. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -0
  928. package/lib/esm/test/standalone/DisplayStyle.test.d.ts +2 -0
  929. package/lib/esm/test/standalone/DisplayStyle.test.d.ts.map +1 -0
  930. package/lib/esm/test/standalone/DisplayStyle.test.js +136 -0
  931. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -0
  932. package/lib/esm/test/standalone/ElementGraphics.test.d.ts +2 -0
  933. package/lib/esm/test/standalone/ElementGraphics.test.d.ts.map +1 -0
  934. package/lib/esm/test/standalone/ElementGraphics.test.js +127 -0
  935. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -0
  936. package/lib/esm/test/standalone/ElementMesh.test.d.ts +2 -0
  937. package/lib/esm/test/standalone/ElementMesh.test.d.ts.map +1 -0
  938. package/lib/esm/test/standalone/ElementMesh.test.js +142 -0
  939. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -0
  940. package/lib/esm/test/standalone/ExportGraphics.test.d.ts +2 -0
  941. package/lib/esm/test/standalone/ExportGraphics.test.d.ts.map +1 -0
  942. package/lib/esm/test/standalone/ExportGraphics.test.js +1040 -0
  943. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -0
  944. package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts +2 -0
  945. package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts.map +1 -0
  946. package/lib/esm/test/standalone/GeometryChangeEvents.test.js +139 -0
  947. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -0
  948. package/lib/esm/test/standalone/GeometryStream.test.d.ts +2 -0
  949. package/lib/esm/test/standalone/GeometryStream.test.d.ts.map +1 -0
  950. package/lib/esm/test/standalone/GeometryStream.test.js +2869 -0
  951. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -0
  952. package/lib/esm/test/standalone/HubMock.test.d.ts +2 -0
  953. package/lib/esm/test/standalone/HubMock.test.d.ts.map +1 -0
  954. package/lib/esm/test/standalone/HubMock.test.js +343 -0
  955. package/lib/esm/test/standalone/HubMock.test.js.map +1 -0
  956. package/lib/esm/test/standalone/IModelWrite.test.d.ts +7 -0
  957. package/lib/esm/test/standalone/IModelWrite.test.d.ts.map +1 -0
  958. package/lib/esm/test/standalone/IModelWrite.test.js +859 -0
  959. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -0
  960. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts +2 -0
  961. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts.map +1 -0
  962. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js +417 -0
  963. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -0
  964. package/lib/esm/test/standalone/MergeConflict.test.d.ts +7 -0
  965. package/lib/esm/test/standalone/MergeConflict.test.d.ts.map +1 -0
  966. package/lib/esm/test/standalone/MergeConflict.test.js +345 -0
  967. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -0
  968. package/lib/esm/test/standalone/NativeAppStorage.test.d.ts +2 -0
  969. package/lib/esm/test/standalone/NativeAppStorage.test.d.ts.map +1 -0
  970. package/lib/esm/test/standalone/NativeAppStorage.test.js +121 -0
  971. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -0
  972. package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts +2 -0
  973. package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts.map +1 -0
  974. package/lib/esm/test/standalone/RenderMaterialElement.test.js +398 -0
  975. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -0
  976. package/lib/esm/test/standalone/RenderTimeline.test.d.ts +2 -0
  977. package/lib/esm/test/standalone/RenderTimeline.test.d.ts.map +1 -0
  978. package/lib/esm/test/standalone/RenderTimeline.test.js +71 -0
  979. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -0
  980. package/lib/esm/test/standalone/SQLiteDb.test.d.ts +2 -0
  981. package/lib/esm/test/standalone/SQLiteDb.test.d.ts.map +1 -0
  982. package/lib/esm/test/standalone/SQLiteDb.test.js +63 -0
  983. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -0
  984. package/lib/esm/test/standalone/SchemaUtils.test.d.ts +2 -0
  985. package/lib/esm/test/standalone/SchemaUtils.test.d.ts.map +1 -0
  986. package/lib/esm/test/standalone/SchemaUtils.test.js +25 -0
  987. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -0
  988. package/lib/esm/test/standalone/SectionDrawing.test.d.ts +2 -0
  989. package/lib/esm/test/standalone/SectionDrawing.test.d.ts.map +1 -0
  990. package/lib/esm/test/standalone/SectionDrawing.test.js +83 -0
  991. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -0
  992. package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts +2 -0
  993. package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts.map +1 -0
  994. package/lib/esm/test/standalone/ServerBasedLocks.test.js +279 -0
  995. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -0
  996. package/lib/esm/test/standalone/Setting.test.d.ts +2 -0
  997. package/lib/esm/test/standalone/Setting.test.d.ts.map +1 -0
  998. package/lib/esm/test/standalone/Setting.test.js +76 -0
  999. package/lib/esm/test/standalone/Setting.test.js.map +1 -0
  1000. package/lib/esm/test/standalone/Settings.test.d.ts +2 -0
  1001. package/lib/esm/test/standalone/Settings.test.d.ts.map +1 -0
  1002. package/lib/esm/test/standalone/Settings.test.js +349 -0
  1003. package/lib/esm/test/standalone/Settings.test.js.map +1 -0
  1004. package/lib/esm/test/standalone/SettingsSchemas.test.d.ts +2 -0
  1005. package/lib/esm/test/standalone/SettingsSchemas.test.d.ts.map +1 -0
  1006. package/lib/esm/test/standalone/SettingsSchemas.test.js +31 -0
  1007. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -0
  1008. package/lib/esm/test/standalone/SnapshotDb.test.d.ts +2 -0
  1009. package/lib/esm/test/standalone/SnapshotDb.test.d.ts.map +1 -0
  1010. package/lib/esm/test/standalone/SnapshotDb.test.js +153 -0
  1011. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -0
  1012. package/lib/esm/test/standalone/Texture.test.d.ts +2 -0
  1013. package/lib/esm/test/standalone/Texture.test.d.ts.map +1 -0
  1014. package/lib/esm/test/standalone/Texture.test.js +90 -0
  1015. package/lib/esm/test/standalone/Texture.test.js.map +1 -0
  1016. package/lib/esm/test/standalone/TileCache.test.d.ts +9 -0
  1017. package/lib/esm/test/standalone/TileCache.test.d.ts.map +1 -0
  1018. package/lib/esm/test/standalone/TileCache.test.js +127 -0
  1019. package/lib/esm/test/standalone/TileCache.test.js.map +1 -0
  1020. package/lib/esm/test/standalone/TileTree.test.d.ts +2 -0
  1021. package/lib/esm/test/standalone/TileTree.test.d.ts.map +1 -0
  1022. package/lib/esm/test/standalone/TileTree.test.js +241 -0
  1023. package/lib/esm/test/standalone/TileTree.test.js.map +1 -0
  1024. package/lib/esm/test/standalone/TxnManager.test.d.ts +2 -0
  1025. package/lib/esm/test/standalone/TxnManager.test.d.ts.map +1 -0
  1026. package/lib/esm/test/standalone/TxnManager.test.js +878 -0
  1027. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -0
  1028. package/lib/esm/test/standalone/ViewDefinition.test.d.ts +2 -0
  1029. package/lib/esm/test/standalone/ViewDefinition.test.d.ts.map +1 -0
  1030. package/lib/esm/test/standalone/ViewDefinition.test.js +279 -0
  1031. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -0
  1032. package/lib/esm/test/standalone/ViewStoreDb.test.d.ts +2 -0
  1033. package/lib/esm/test/standalone/ViewStoreDb.test.d.ts.map +1 -0
  1034. package/lib/esm/test/standalone/ViewStoreDb.test.js +288 -0
  1035. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -0
  1036. package/lib/esm/test/standalone/Workspace.test.d.ts +2 -0
  1037. package/lib/esm/test/standalone/Workspace.test.d.ts.map +1 -0
  1038. package/lib/esm/test/standalone/Workspace.test.js +161 -0
  1039. package/lib/esm/test/standalone/Workspace.test.js.map +1 -0
  1040. package/lib/esm/workspace/Settings.d.ts +216 -0
  1041. package/lib/esm/workspace/Settings.d.ts.map +1 -0
  1042. package/lib/esm/workspace/Settings.js +83 -0
  1043. package/lib/esm/workspace/Settings.js.map +1 -0
  1044. package/lib/esm/workspace/SettingsSchemas.d.ts +135 -0
  1045. package/lib/esm/workspace/SettingsSchemas.d.ts.map +1 -0
  1046. package/lib/esm/workspace/SettingsSchemas.js +9 -0
  1047. package/lib/esm/workspace/SettingsSchemas.js.map +1 -0
  1048. package/lib/esm/workspace/Workspace.d.ts +507 -0
  1049. package/lib/esm/workspace/Workspace.d.ts.map +1 -0
  1050. package/lib/esm/workspace/Workspace.js +97 -0
  1051. package/lib/esm/workspace/Workspace.js.map +1 -0
  1052. package/lib/esm/workspace/WorkspaceEditor.d.ts +245 -0
  1053. package/lib/esm/workspace/WorkspaceEditor.d.ts.map +1 -0
  1054. package/lib/esm/workspace/WorkspaceEditor.js +31 -0
  1055. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -0
  1056. package/package.json +35 -28
  1057. package/lib/cjs/IModelCloneContext.d.ts +0 -9
  1058. package/lib/cjs/IModelCloneContext.d.ts.map +0 -1
  1059. package/lib/cjs/IModelCloneContext.js.map +0 -1
@@ -0,0 +1,216 @@
1
+ /** @packageDocumentation
2
+ * @module Workspace
3
+ */
4
+ import { BeEvent, JSONSchemaType } from "@itwin/core-bentley";
5
+ import { LocalDirName, LocalFileName } from "@itwin/core-common";
6
+ import { WorkspaceDb } from "./Workspace";
7
+ import { _implementationProhibited } from "../internal/Symbols";
8
+ /** The value of a single named parameter within a [[Workspace.settings]] that configures some aspect of the applications run-time behavior.
9
+ * Settings are stored in a [[SettingsDictionary]]. A setting is described by its [[SettingSchema]].
10
+ * @beta
11
+ */
12
+ export type Setting = JSONSchemaType;
13
+ /** @beta */
14
+ export declare namespace Setting {
15
+ /** Create a deep copy of a [[Setting]]. */
16
+ function clone<T extends Setting>(setting: T): T;
17
+ /** Returns true if `a` and `b` are considered equivalent [[Setting]] values.
18
+ * Settings of primitive types like `number` and `string` are compared using `===`.
19
+ * Settings of type "object" are compared by comparing each property using `areEqual`; the objects are considered
20
+ * equal if they have the exact same set of property names with equivalent values.
21
+ * Settings of type "array" are compared by comparing each element of the arrays use `areEqual`; the arrays are considered
22
+ * equal if they have the same number of elements with equivalent values in the same exact order.
23
+ */
24
+ function areEqual(a: Setting | undefined, b: Setting | undefined): boolean;
25
+ }
26
+ /**
27
+ * The name of a [[Setting]].
28
+ * Setting names must be [valid JavaScript property names](https://developer.mozilla.org/en-US/docs/Glossary/property/JavaScript) containing no spaces or periods.
29
+ * The name of a setting begins with the schema prefix of the [[SettingGroupSchema]] in which its [[SettingSchema]] is defined.
30
+ * A setting name therefore forms a path like file names in a file system.
31
+ * For example, the following are setting names defined in the `energyAnalysis`, `iot-scan-visualization`, and `vibration-map` schemas.
32
+ *
33
+ * ```ts
34
+ * "energyAnalysis/formats/totalWork"
35
+ * "energyAnalysis/formats/totalHours"
36
+ * "energyAnalysis/units/power"
37
+ * "energyAnalysis/units/temperature"
38
+ * "energyAnalysis/startupMode"
39
+ * "iot-scan-visualization/ports/cameras"
40
+ * "vibration-map/filters/scope"
41
+ * "vibration-map/filters/prefabricated"
42
+ * ```
43
+ *
44
+ * @beta
45
+ */
46
+ export type SettingName = string;
47
+ /** An object that defines the values for any number of [[Setting]]s. Each of its properties' names must conform to the semantics of a [[SettingName]].
48
+ * @beta
49
+ */
50
+ export interface SettingsContainer {
51
+ /** Accesses settings by their names. */
52
+ [name: SettingName]: Setting | undefined;
53
+ }
54
+ /** Defines the precedence of a [[SettingsDictionary]].
55
+ * [[Settings]] may contain multiple dictionaries containing different values for the same [[SettingName]].
56
+ * When resolving the value of a [[Setting]], the value from the highest-priority dictionary is used.
57
+ * Priorities are grouped into coarse categories like [[SettingsPriority.application]] and [[SettingsPriority.iModel]].
58
+ * Settings with priorities less than or equal to [[SettingsPriority.application]] are stored in [[IModelHost.appWorkspace]], while
59
+ * those with priorities higher than [[SettingsPriority.application]] are stored inside [[IModelDb.workspace]].
60
+ * @beta
61
+ */
62
+ export type SettingsPriority = number;
63
+ /** @beta */
64
+ export declare namespace SettingsPriority {
65
+ /** Settings that originate from default setting files loaded automatically at the start of a session. */
66
+ const defaults = 100;
67
+ /** Settings supplied by an application at runtime. */
68
+ const application = 200;
69
+ /** Settings that apply to all iTwins for an organization. */
70
+ const organization = 300;
71
+ /** Settings that apply to all iModels in an iTwin. */
72
+ const iTwin = 400;
73
+ /** Settings that apply to all branches of an iModel. */
74
+ const branch = 500;
75
+ /** Settings that apply to a specific iModel. */
76
+ const iModel = 600;
77
+ }
78
+ /** A named container that supplies values for [[Setting]]s.
79
+ * @see [[Settings.addDictionary]] to register a new settings dictionary.
80
+ * @beta
81
+ */
82
+ export interface SettingsDictionary {
83
+ /** @internal */
84
+ [_implementationProhibited]: unknown;
85
+ /** Metadata describing the dictionary. */
86
+ readonly props: SettingsDictionaryProps;
87
+ /** Obtain a copy of the value of the setting named `settingName` stored in this dictionary, or `undefined` if no such setting exists.
88
+ * The returned value is always cloned using [[Setting.clone]].
89
+ * @note Generally, applications use methods like [[Settings.getString]] and [[Setting.getArray]] to resolve a setting value from multiple
90
+ * dictionaries. Those methods - unlike this one - also validate that `settingName` is of type `T` as defined by its [[SettingSchema]].
91
+ */
92
+ getSetting<T extends Setting>(settingName: SettingName): T | undefined;
93
+ }
94
+ /** Uniquely identifies a [[SettingsDictionary]].
95
+ * @beta
96
+ */
97
+ export interface SettingsDictionarySource {
98
+ /** The name of the dictionary, which must be unique within its [[workspaceDb]], or - if [[workspaceDb]] is undefined - unique among all dictionaries not associated with any [[WorkspaceDb]]. */
99
+ readonly name: string;
100
+ /** The [[WorkspaceDb]] from which the dictionary originated. */
101
+ readonly workspaceDb?: WorkspaceDb;
102
+ }
103
+ /** Properties of a [[SettingsDictionary]], defining its name, the [[WorkspaceDb]] (if any) from which it originated, and its [[priority]] relative to other dictionaries.
104
+ * @beta
105
+ */
106
+ export interface SettingsDictionaryProps extends SettingsDictionarySource {
107
+ /** Precedence value determining which setting value to use when multiple dictionaries supply values for the same [[SettingName]]. */
108
+ readonly priority: SettingsPriority;
109
+ }
110
+ /**
111
+ * The collection of [[Setting]]s that supply the run-time configuration of a [[Workspace]].
112
+ * The `Settings` object comprises a collection of named [[SettingsDictionary]] objects.
113
+ * Methods like [[getSetting]], [[getString]], and [[getArray]] provide access to the value of an individual [[Setting]] by searching
114
+ * the [[dictionaries]] in order by their [[SettingsPriority]] to find the highest-priority setting with the requested [[SettingName]].
115
+ * Most methods that retrieve [[Setting]] values validate them against their [[SettingSchema]]s to ensure that they are of the correct type.
116
+ * A [[SettingsDictionary]] can be added or removed using [[addDictionary]] and [[dropDictionary]].
117
+ * Because [[Setting]]s can change at any time during the session, you should avoid caching their values wherever possible.
118
+ * If you must cache them (for example, to display in a user interface), you should listen for the [[onSettingsChanged]] event to be
119
+ * notified of potential changes.
120
+ *
121
+ * Settings are accessed via [[Workspace.settings]]. They are defined at the application level by [[IModelHost.appWorkspace]], but individual iModels may supply
122
+ * additional iModel-specific settings or overrides for application-level settings. When working in the context of a specific iModel, use [[IModelDb.workspace]]'s `settings`
123
+ * property. Any settings not overridden by the iModel will fall back to the settings defined in [[IModelHost.appWorkspace]].
124
+ *
125
+ * Application settings are loaded into [[IModelHost.appWorkspace]] when the session begins (i.e., when [[IModelHost.startup]] is invoked), and unloaded when it ends (in [[IModelHost.shutdown]]).
126
+ * They are read from [JSON5](https://json5.org/) files delivered with the application. The application should register any additional [[SettingsDictionary]]'s '(and their corresponding
127
+ * [[SettingGroupSchema]]s) at this time.
128
+ *
129
+ * iModel-specific settings are stored in the iModel's property table and loaded into [[IModelDb.workspace]] when the iModel is first opened.
130
+ * You can add and remove a [[SettingsDictionary]] from the property table using [[IModelDb.saveSettingDictionary]] and [[IModelDb.deleteSettingDictionary]].
131
+ *
132
+ * See the [learning article]($docs/learning/backend/Workspace) for a detailed overiew and examples.
133
+ *
134
+ * @see [[IModelHost.appWorkspace]] application-wide settings, and [[IModelDb.workspace]] for settings specific to a given iModel.
135
+ * @beta
136
+ */
137
+ export interface Settings {
138
+ /** @internal */
139
+ [_implementationProhibited]: unknown;
140
+ /** @internal */
141
+ close(): void;
142
+ /** The set of settings dictionaries from which [[Setting]] values are obtained, sorted by [[SettingsPriority]].
143
+ * The set can contain at most one dictionary for each unique combination of name and [[WorkspaceDb]].
144
+ * @see [[addDictionary]], [[addFile]], [[addJson]], and [[addDirectory]] to add a new dictionary.
145
+ * @see [[dropDictionary]] to remove a dictionary.
146
+ * @see [[getDictionary]] to look up a dictionary.
147
+ */
148
+ readonly dictionaries: readonly SettingsDictionary[];
149
+ /** Event raised whenever a [[SettingsDictionary]] is added or removed. */
150
+ readonly onSettingsChanged: BeEvent<() => void>;
151
+ /** Parses the contents of a local [JSON5](https://json5.org/) file as a [[SettingsContainer]] and invokes [[addDictionary]] to
152
+ * add a [[SettingsDictionary]] named `fileName` with the specified priority.
153
+ * @param fileName the name of a local settings file containing the dictionary.
154
+ * @param priority the priority for the dictionary.
155
+ */
156
+ addFile(fileName: LocalFileName, priority: SettingsPriority): void;
157
+ /** Invokes [[addFile]] for all files in `directory` with the extension ".json" or ".json5". */
158
+ addDirectory(directory: LocalDirName, priority: SettingsPriority): void;
159
+ /** Parses `settingsJson` as a [[SettingsContainer]] and invokes [[addDictionary]] to add a [[SettingsDictionary]] with the specified `props`.
160
+ * This is typically used when reading dictionaries out of a [[WorkspaceDb]], where they are stored as stringified JSON.
161
+ */
162
+ addJson(props: SettingsDictionaryProps, settingsJson: string): void;
163
+ /** Find a [[SettingsDictionary]] with the same name and [[WorkspaceDb]] as `source`. */
164
+ getDictionary(source: SettingsDictionarySource): SettingsDictionary | undefined;
165
+ /** Add a new [[SettingsDictionary]] with the priority, name, and [[WorkspaceDb]] specified by `props` and setting values supplied by `settings`.
166
+ * @note If a dictionary with the same name and [[WorkspaceDb]] already exists, it will be replaced.
167
+ * @see [[addFile]], [[addJson]], and [[addDirectory]] for convenient ways to add dictionaries from various sources.
168
+ */
169
+ addDictionary(props: SettingsDictionaryProps, settings: SettingsContainer): void;
170
+ /** Removes a previously-added [[SettingsDictionary]]. */
171
+ dropDictionary(props: SettingsDictionarySource): void;
172
+ /** Looks up the highest priority setting value for a SettingName, falling back to a default value if no value for the setting is found.
173
+ * The [[dictionaries]] are searched in order by [[SettingsPriority]]; the first one that provides a value for `settingName` wins.
174
+ * @param settingName The name of the setting.
175
+ * @param defaultValue value returned if settingName is not present in any [[SettingsDictionary]].
176
+ * @note This method is generic on [[Setting]] type, but no type checking is actually performed at run time. So, if you
177
+ * use this method to get a setting with an expected type, but its value is a different type, the return type of this method will be wrong.
178
+ * You must always type check the result. Use the non-generic "get" methods like [[getString]] and [[getArray]] if you only want the value
179
+ * if its type is correct.
180
+ * @note Unlike [[getArray]], this method does not combine arrays - it ignores [[SettingsSchema.combineArrays]].
181
+ */
182
+ getSetting<T extends Setting>(settingName: SettingName, defaultValue?: T): T | undefined;
183
+ /** Obtain an iterator over all of the values in the [[dictionaries]] for the [[Setting]] identified by `settingName`, ordered by [[SettingsPriority]]. */
184
+ getSettingEntries<T extends Setting>(settingName: SettingName): Iterable<{
185
+ value: T;
186
+ dictionary: SettingsDictionary;
187
+ }>;
188
+ /** Obtain an iterator over all of the values in the [[dictionaries]] for the [[Setting]] identified by `settingName`, ordered by [[SettingsPriority]]. */
189
+ getSettingValues<T extends Setting>(settingName: SettingName): Iterable<T>;
190
+ /** Look up the value of a string [[Setting]] named `settingName`, returning `defaultValue` if no such value is defined.
191
+ * @throws Error if the setting exists but is not a string.
192
+ */
193
+ getString(settingName: SettingName, defaultValue: string): string;
194
+ getString(settingName: SettingName, defaultValue?: string): string | undefined;
195
+ /** Look up the value of a boolean [[Setting]] named `settingName`, returning `defaultValue` if no such value is defined.
196
+ * @throws Error if the setting exists but is not a boolean.
197
+ */
198
+ getBoolean(settingName: SettingName, defaultValue: boolean): boolean;
199
+ getBoolean(settingName: SettingName, defaultValue?: boolean): boolean | undefined;
200
+ /** Look up the value of a numeric [[Setting]] named `settingName`, returning `defaultValue` if no such value is defined.
201
+ * @throws Error if the setting exists but is not a number.
202
+ */
203
+ getNumber(settingName: SettingName, defaultValue: number): number;
204
+ getNumber(settingName: SettingName): number | undefined;
205
+ /** Look up the value of an object [[Setting]] named `settingName`, returning `defaultValue` if no such value is defined.
206
+ * @throws Error if the setting exists but is not an object.
207
+ */
208
+ getObject<T extends object>(settingName: SettingName, defaultValue: T): T;
209
+ getObject<T extends object>(settingName: SettingName): T | undefined;
210
+ /** Look up the value of an array [[Setting]] named `settingName`, returning `defaultValue` if no such value is defined.
211
+ * @throws Error if the setting exists but is not an array.
212
+ */
213
+ getArray<T extends Setting>(settingName: SettingName, defaultValue: Array<T>): Array<T>;
214
+ getArray<T extends Setting>(settingName: SettingName): Array<T> | undefined;
215
+ }
216
+ //# sourceMappingURL=Settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Settings.d.ts","sourceRoot":"","sources":["../../../src/workspace/Settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Workspace
7
+ */
8
+ import { _implementationProhibited } from "../internal/Symbols";
9
+ /** @beta */
10
+ export var Setting;
11
+ (function (Setting) {
12
+ /** Create a deep copy of a [[Setting]]. */
13
+ function clone(setting) {
14
+ if (!setting || typeof setting !== "object")
15
+ return setting;
16
+ const result = Array.isArray(setting) ? [] : {};
17
+ Object.keys(setting).forEach((key) => result[key] = clone(setting[key]));
18
+ return result;
19
+ }
20
+ Setting.clone = clone;
21
+ /** Returns true if `a` and `b` are considered equivalent [[Setting]] values.
22
+ * Settings of primitive types like `number` and `string` are compared using `===`.
23
+ * Settings of type "object" are compared by comparing each property using `areEqual`; the objects are considered
24
+ * equal if they have the exact same set of property names with equivalent values.
25
+ * Settings of type "array" are compared by comparing each element of the arrays use `areEqual`; the arrays are considered
26
+ * equal if they have the same number of elements with equivalent values in the same exact order.
27
+ */
28
+ function areEqual(a, b) {
29
+ if (a === b) {
30
+ return true;
31
+ }
32
+ // For primitive types, === suffices.
33
+ if (typeof a !== "object" || typeof b !== "object") {
34
+ return false;
35
+ }
36
+ if (Array.isArray(a) || Array.isArray(b)) {
37
+ if (!Array.isArray(a) || !Array.isArray(b) || a.length !== b.length) {
38
+ return false;
39
+ }
40
+ for (let i = 0; i < a.length; i++) {
41
+ if (!areEqual(a[i], b[i])) {
42
+ return false;
43
+ }
44
+ }
45
+ return true;
46
+ }
47
+ const aKeys = Object.keys(a);
48
+ const bKeys = Object.keys(b);
49
+ if (aKeys.length !== bKeys.length) {
50
+ return false;
51
+ }
52
+ aKeys.sort();
53
+ bKeys.sort();
54
+ for (let i = 0; i < aKeys.length; i++) {
55
+ const key = aKeys[i];
56
+ if (key !== bKeys[i]) {
57
+ return false;
58
+ }
59
+ if (!areEqual(a[key], b[key])) {
60
+ return false;
61
+ }
62
+ }
63
+ return true;
64
+ }
65
+ Setting.areEqual = areEqual;
66
+ })(Setting || (Setting = {}));
67
+ /** @beta */
68
+ export var SettingsPriority;
69
+ (function (SettingsPriority) {
70
+ /** Settings that originate from default setting files loaded automatically at the start of a session. */
71
+ SettingsPriority.defaults = 100;
72
+ /** Settings supplied by an application at runtime. */
73
+ SettingsPriority.application = 200;
74
+ /** Settings that apply to all iTwins for an organization. */
75
+ SettingsPriority.organization = 300;
76
+ /** Settings that apply to all iModels in an iTwin. */
77
+ SettingsPriority.iTwin = 400;
78
+ /** Settings that apply to all branches of an iModel. */
79
+ SettingsPriority.branch = 500;
80
+ /** Settings that apply to a specific iModel. */
81
+ SettingsPriority.iModel = 600;
82
+ })(SettingsPriority || (SettingsPriority = {}));
83
+ //# sourceMappingURL=Settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Settings.js","sourceRoot":"","sources":["../../../src/workspace/Settings.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Workspace\n */\n\nimport { BeEvent, JSONSchemaType } from \"@itwin/core-bentley\";\nimport { LocalDirName, LocalFileName } from \"@itwin/core-common\";\nimport { WorkspaceDb } from \"./Workspace\";\nimport { _implementationProhibited } from \"../internal/Symbols\";\n\n/** The value of a single named parameter within a [[Workspace.settings]] that configures some aspect of the applications run-time behavior.\n * Settings are stored in a [[SettingsDictionary]]. A setting is described by its [[SettingSchema]].\n * @beta\n */\nexport type Setting = JSONSchemaType;\n\n/** @beta */\nexport namespace Setting { // eslint-disable-line @typescript-eslint/no-redeclare\n /** Create a deep copy of a [[Setting]]. */\n export function clone<T extends Setting>(setting: T): T {\n if (!setting || typeof setting !== \"object\")\n return setting;\n\n const result = Array.isArray(setting) ? [] : {} as any;\n Object.keys(setting).forEach((key: string) => result[key] = clone((setting as any)[key]));\n return result;\n }\n\n /** Returns true if `a` and `b` are considered equivalent [[Setting]] values.\n * Settings of primitive types like `number` and `string` are compared using `===`.\n * Settings of type \"object\" are compared by comparing each property using `areEqual`; the objects are considered\n * equal if they have the exact same set of property names with equivalent values.\n * Settings of type \"array\" are compared by comparing each element of the arrays use `areEqual`; the arrays are considered\n * equal if they have the same number of elements with equivalent values in the same exact order.\n */\n export function areEqual(a: Setting | undefined, b: Setting | undefined): boolean {\n if (a === b) {\n return true;\n }\n\n // For primitive types, === suffices.\n if (typeof a !== \"object\" || typeof b !== \"object\") {\n return false;\n }\n\n if (Array.isArray(a) || Array.isArray(b)) {\n if (!Array.isArray(a) || !Array.isArray(b) || a.length !== b.length) {\n return false;\n }\n\n for (let i = 0; i < a.length; i++) {\n if (!areEqual(a[i], b[i])) {\n return false;\n }\n }\n\n return true;\n }\n\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n\n aKeys.sort();\n bKeys.sort();\n for (let i = 0; i < aKeys.length; i++) {\n const key = aKeys[i];\n if (key !== bKeys[i]) {\n return false;\n }\n\n if (!areEqual((a as SettingsContainer)[key], (b as SettingsContainer)[key])) {\n return false;\n }\n }\n\n return true;\n }\n}\n\n/**\n * The name of a [[Setting]].\n * Setting names must be [valid JavaScript property names](https://developer.mozilla.org/en-US/docs/Glossary/property/JavaScript) containing no spaces or periods.\n * The name of a setting begins with the schema prefix of the [[SettingGroupSchema]] in which its [[SettingSchema]] is defined.\n * A setting name therefore forms a path like file names in a file system.\n * For example, the following are setting names defined in the `energyAnalysis`, `iot-scan-visualization`, and `vibration-map` schemas.\n *\n * ```ts\n * \"energyAnalysis/formats/totalWork\"\n * \"energyAnalysis/formats/totalHours\"\n * \"energyAnalysis/units/power\"\n * \"energyAnalysis/units/temperature\"\n * \"energyAnalysis/startupMode\"\n * \"iot-scan-visualization/ports/cameras\"\n * \"vibration-map/filters/scope\"\n * \"vibration-map/filters/prefabricated\"\n * ```\n *\n * @beta\n */\nexport type SettingName = string;\n\n/** An object that defines the values for any number of [[Setting]]s. Each of its properties' names must conform to the semantics of a [[SettingName]].\n * @beta\n */\nexport interface SettingsContainer {\n /** Accesses settings by their names. */\n [name: SettingName]: Setting | undefined;\n}\n\n/** Defines the precedence of a [[SettingsDictionary]].\n * [[Settings]] may contain multiple dictionaries containing different values for the same [[SettingName]].\n * When resolving the value of a [[Setting]], the value from the highest-priority dictionary is used.\n * Priorities are grouped into coarse categories like [[SettingsPriority.application]] and [[SettingsPriority.iModel]].\n * Settings with priorities less than or equal to [[SettingsPriority.application]] are stored in [[IModelHost.appWorkspace]], while\n * those with priorities higher than [[SettingsPriority.application]] are stored inside [[IModelDb.workspace]].\n * @beta\n */\nexport type SettingsPriority = number;\n\n/** @beta */\nexport namespace SettingsPriority { // eslint-disable-line @typescript-eslint/no-redeclare\n /** Settings that originate from default setting files loaded automatically at the start of a session. */\n export const defaults = 100;\n /** Settings supplied by an application at runtime. */\n export const application = 200;\n /** Settings that apply to all iTwins for an organization. */\n export const organization = 300;\n /** Settings that apply to all iModels in an iTwin. */\n export const iTwin = 400;\n /** Settings that apply to all branches of an iModel. */\n export const branch = 500;\n /** Settings that apply to a specific iModel. */\n export const iModel = 600;\n}\n\n/** A named container that supplies values for [[Setting]]s.\n * @see [[Settings.addDictionary]] to register a new settings dictionary.\n * @beta\n */\nexport interface SettingsDictionary {\n /** @internal */\n [_implementationProhibited]: unknown;\n\n /** Metadata describing the dictionary. */\n readonly props: SettingsDictionaryProps;\n\n /** Obtain a copy of the value of the setting named `settingName` stored in this dictionary, or `undefined` if no such setting exists.\n * The returned value is always cloned using [[Setting.clone]].\n * @note Generally, applications use methods like [[Settings.getString]] and [[Setting.getArray]] to resolve a setting value from multiple\n * dictionaries. Those methods - unlike this one - also validate that `settingName` is of type `T` as defined by its [[SettingSchema]].\n */\n getSetting<T extends Setting>(settingName: SettingName): T | undefined;\n}\n\n/** Uniquely identifies a [[SettingsDictionary]].\n * @beta\n */\nexport interface SettingsDictionarySource {\n /** The name of the dictionary, which must be unique within its [[workspaceDb]], or - if [[workspaceDb]] is undefined - unique among all dictionaries not associated with any [[WorkspaceDb]]. */\n readonly name: string;\n /** The [[WorkspaceDb]] from which the dictionary originated. */\n readonly workspaceDb?: WorkspaceDb;\n}\n\n/** Properties of a [[SettingsDictionary]], defining its name, the [[WorkspaceDb]] (if any) from which it originated, and its [[priority]] relative to other dictionaries.\n * @beta\n */\nexport interface SettingsDictionaryProps extends SettingsDictionarySource {\n /** Precedence value determining which setting value to use when multiple dictionaries supply values for the same [[SettingName]]. */\n readonly priority: SettingsPriority;\n}\n\n/**\n * The collection of [[Setting]]s that supply the run-time configuration of a [[Workspace]].\n * The `Settings` object comprises a collection of named [[SettingsDictionary]] objects.\n * Methods like [[getSetting]], [[getString]], and [[getArray]] provide access to the value of an individual [[Setting]] by searching\n * the [[dictionaries]] in order by their [[SettingsPriority]] to find the highest-priority setting with the requested [[SettingName]].\n * Most methods that retrieve [[Setting]] values validate them against their [[SettingSchema]]s to ensure that they are of the correct type.\n * A [[SettingsDictionary]] can be added or removed using [[addDictionary]] and [[dropDictionary]].\n * Because [[Setting]]s can change at any time during the session, you should avoid caching their values wherever possible.\n * If you must cache them (for example, to display in a user interface), you should listen for the [[onSettingsChanged]] event to be\n * notified of potential changes.\n *\n * Settings are accessed via [[Workspace.settings]]. They are defined at the application level by [[IModelHost.appWorkspace]], but individual iModels may supply\n * additional iModel-specific settings or overrides for application-level settings. When working in the context of a specific iModel, use [[IModelDb.workspace]]'s `settings`\n * property. Any settings not overridden by the iModel will fall back to the settings defined in [[IModelHost.appWorkspace]].\n *\n * Application settings are loaded into [[IModelHost.appWorkspace]] when the session begins (i.e., when [[IModelHost.startup]] is invoked), and unloaded when it ends (in [[IModelHost.shutdown]]).\n * They are read from [JSON5](https://json5.org/) files delivered with the application. The application should register any additional [[SettingsDictionary]]'s '(and their corresponding\n * [[SettingGroupSchema]]s) at this time.\n *\n * iModel-specific settings are stored in the iModel's property table and loaded into [[IModelDb.workspace]] when the iModel is first opened.\n * You can add and remove a [[SettingsDictionary]] from the property table using [[IModelDb.saveSettingDictionary]] and [[IModelDb.deleteSettingDictionary]].\n *\n * See the [learning article]($docs/learning/backend/Workspace) for a detailed overiew and examples.\n *\n * @see [[IModelHost.appWorkspace]] application-wide settings, and [[IModelDb.workspace]] for settings specific to a given iModel.\n * @beta\n */\nexport interface Settings {\n /** @internal */\n [_implementationProhibited]: unknown;\n\n /** @internal */\n close(): void;\n\n /** The set of settings dictionaries from which [[Setting]] values are obtained, sorted by [[SettingsPriority]].\n * The set can contain at most one dictionary for each unique combination of name and [[WorkspaceDb]].\n * @see [[addDictionary]], [[addFile]], [[addJson]], and [[addDirectory]] to add a new dictionary.\n * @see [[dropDictionary]] to remove a dictionary.\n * @see [[getDictionary]] to look up a dictionary.\n */\n readonly dictionaries: readonly SettingsDictionary[];\n\n /** Event raised whenever a [[SettingsDictionary]] is added or removed. */\n readonly onSettingsChanged: BeEvent<() => void>;\n\n /** Parses the contents of a local [JSON5](https://json5.org/) file as a [[SettingsContainer]] and invokes [[addDictionary]] to\n * add a [[SettingsDictionary]] named `fileName` with the specified priority.\n * @param fileName the name of a local settings file containing the dictionary.\n * @param priority the priority for the dictionary.\n */\n addFile(fileName: LocalFileName, priority: SettingsPriority): void;\n\n /** Invokes [[addFile]] for all files in `directory` with the extension \".json\" or \".json5\". */\n addDirectory(directory: LocalDirName, priority: SettingsPriority): void;\n\n /** Parses `settingsJson` as a [[SettingsContainer]] and invokes [[addDictionary]] to add a [[SettingsDictionary]] with the specified `props`.\n * This is typically used when reading dictionaries out of a [[WorkspaceDb]], where they are stored as stringified JSON.\n */\n addJson(props: SettingsDictionaryProps, settingsJson: string): void;\n\n /** Find a [[SettingsDictionary]] with the same name and [[WorkspaceDb]] as `source`. */\n getDictionary(source: SettingsDictionarySource): SettingsDictionary | undefined;\n\n /** Add a new [[SettingsDictionary]] with the priority, name, and [[WorkspaceDb]] specified by `props` and setting values supplied by `settings`.\n * @note If a dictionary with the same name and [[WorkspaceDb]] already exists, it will be replaced.\n * @see [[addFile]], [[addJson]], and [[addDirectory]] for convenient ways to add dictionaries from various sources.\n */\n addDictionary(props: SettingsDictionaryProps, settings: SettingsContainer): void;\n\n /** Removes a previously-added [[SettingsDictionary]]. */\n dropDictionary(props: SettingsDictionarySource): void;\n\n /** Looks up the highest priority setting value for a SettingName, falling back to a default value if no value for the setting is found.\n * The [[dictionaries]] are searched in order by [[SettingsPriority]]; the first one that provides a value for `settingName` wins.\n * @param settingName The name of the setting.\n * @param defaultValue value returned if settingName is not present in any [[SettingsDictionary]].\n * @note This method is generic on [[Setting]] type, but no type checking is actually performed at run time. So, if you\n * use this method to get a setting with an expected type, but its value is a different type, the return type of this method will be wrong.\n * You must always type check the result. Use the non-generic \"get\" methods like [[getString]] and [[getArray]] if you only want the value\n * if its type is correct.\n * @note Unlike [[getArray]], this method does not combine arrays - it ignores [[SettingsSchema.combineArrays]].\n */\n getSetting<T extends Setting>(settingName: SettingName, defaultValue?: T): T | undefined;\n\n /** Obtain an iterator over all of the values in the [[dictionaries]] for the [[Setting]] identified by `settingName`, ordered by [[SettingsPriority]]. */\n getSettingEntries<T extends Setting>(settingName: SettingName): Iterable<{ value: T, dictionary: SettingsDictionary}>;\n\n /** Obtain an iterator over all of the values in the [[dictionaries]] for the [[Setting]] identified by `settingName`, ordered by [[SettingsPriority]]. */\n getSettingValues<T extends Setting>(settingName: SettingName): Iterable<T>;\n\n /** Look up the value of a string [[Setting]] named `settingName`, returning `defaultValue` if no such value is defined.\n * @throws Error if the setting exists but is not a string.\n */\n getString(settingName: SettingName, defaultValue: string): string;\n getString(settingName: SettingName, defaultValue?: string): string | undefined;\n\n /** Look up the value of a boolean [[Setting]] named `settingName`, returning `defaultValue` if no such value is defined.\n * @throws Error if the setting exists but is not a boolean.\n */\n getBoolean(settingName: SettingName, defaultValue: boolean): boolean;\n getBoolean(settingName: SettingName, defaultValue?: boolean): boolean | undefined;\n\n /** Look up the value of a numeric [[Setting]] named `settingName`, returning `defaultValue` if no such value is defined.\n * @throws Error if the setting exists but is not a number.\n */\n getNumber(settingName: SettingName, defaultValue: number): number;\n getNumber(settingName: SettingName): number | undefined;\n\n /** Look up the value of an object [[Setting]] named `settingName`, returning `defaultValue` if no such value is defined.\n * @throws Error if the setting exists but is not an object.\n */\n getObject<T extends object>(settingName: SettingName, defaultValue: T): T;\n getObject<T extends object>(settingName: SettingName): T | undefined;\n\n /** Look up the value of an array [[Setting]] named `settingName`, returning `defaultValue` if no such value is defined.\n * @throws Error if the setting exists but is not an array.\n */\n getArray<T extends Setting>(settingName: SettingName, defaultValue: Array<T>): Array<T>;\n getArray<T extends Setting>(settingName: SettingName): Array<T> | undefined;\n}\n"]}
@@ -0,0 +1,135 @@
1
+ /** @packageDocumentation
2
+ * @module Workspace
3
+ */
4
+ import { BeEvent, JSONSchema, JSONSchemaTypeName } from "@itwin/core-bentley";
5
+ import { LocalDirName, LocalFileName } from "@itwin/core-common";
6
+ import { _implementationProhibited } from "../internal/Symbols";
7
+ import { SettingName } from "./Settings";
8
+ /** Metadata describing a single [[Setting]] as part of a [[SettingGroupSchema]].
9
+ * Every setting has a [[type]], which can be one of the following:
10
+ * - A primitive type like `string` or `number`;
11
+ * - An object containing any number of named properties, each with their own types; or
12
+ * - An array of elements, all of the same type.
13
+ * This metadata is used to validate setting values against the schema, and to enable user interfaces by which
14
+ * users can view and modify their settings.
15
+ * @beta
16
+ */
17
+ export interface SettingSchema extends Readonly<JSONSchema> {
18
+ /** For arrays only, the metadata describing every element in the array. */
19
+ readonly items?: SettingSchema;
20
+ /** The name of the [[Setting]]'s data type. */
21
+ readonly type: JSONSchemaTypeName;
22
+ /** For objects and arrays only, the name of a [[SettingSchema]] that provides a base definition for this type.
23
+ * The name is expected to refer to a type definition registered with [[SettingsSchema.typeDefs]].
24
+ * Therefore, it must be the full name, including the [[SettingGroupSchema.schemaPrefix]].
25
+ */
26
+ readonly extends?: string;
27
+ /** For objects only, the name and metadata of each of the object's properties. */
28
+ readonly properties?: {
29
+ [name: SettingName]: SettingSchema;
30
+ };
31
+ /** For arrays only, specifies how [[SettingsDictionary.getArray]] resolves the value of the setting.
32
+ * By default, like other types of settings, the setting uses the value of the setting from the highest-priority dictionary.
33
+ * If `combineArray` is `true`, then the value of the setting is computed by combining the elements of every array from every dictionary,
34
+ * ordered by priority and eliminating duplicate elements.
35
+ * Two elements are considered duplicates of one another if [[Setting.areEqual]] returns `true`.
36
+ */
37
+ readonly combineArray?: boolean;
38
+ }
39
+ /** Metadata describing a group of related [[SettingSchema]]s. You can register setting schema groups via [[SettingsSchemas.addGroup]] and
40
+ * remove them via [[SettingsSchemas.removeGroup]].
41
+ *
42
+ * All of the settings share the same [[schemaPrefix]], which must be unique amongst all other groups.
43
+ * The prefix is combined with the name of each [[SettingSchema]] in the group to form the fully-qualified name used to refer
44
+ * to the setting outside of the group, e.g., when accessing [[SettingsSchemas.settingDefs]] or in [[SettingSchema.extends]].
45
+ * In the following example, the fully-qualified name of the setting named "metric" is "format/units/metric".
46
+ *
47
+ * ```json
48
+ * {
49
+ * "schemaPrefix": "format/units",
50
+ * "settingDefs": {
51
+ * "metric": { "type": "boolean" }
52
+ * }
53
+ * }
54
+ * ```
55
+ *
56
+ * A group can also define [[SettingSchema]]s that, rather than describing actual [[Setting]]s, instead describe types that can be extended by [[Setting]]s via
57
+ * [[SettingSchema.extends]]. A [[SettingSchema]] can refer to type definitions defined in its own group or any other group.
58
+ * @beta
59
+ */
60
+ export interface SettingGroupSchema {
61
+ /** Uniquely identifies this group amongst all other groups.
62
+ * The prefix can use forward-slashes to define logical subgroups - for example, two related groups with the prefixes "units/metric" and "units/imperial".
63
+ * The user interface may parse these prefixes to display both groups under a "units" tab or expandable tree view node.
64
+ *
65
+ * @note Schema prefixes beginning with "itwin" are reserved for use by iTwin.js.
66
+ */
67
+ readonly schemaPrefix: string;
68
+ /** Metadata for each [[Setting]] in this group. */
69
+ readonly settingDefs?: {
70
+ [name: string]: SettingSchema | undefined;
71
+ };
72
+ /** Metadata for types that can be extended by other [[Setting]]s via [[SettingSchema.extends]]. */
73
+ readonly typeDefs?: {
74
+ [name: string]: SettingSchema | undefined;
75
+ };
76
+ /** An integer used when displaying a list of schemas in a user interface, to sort schemas with a lower `order` before those with a `higher` order. */
77
+ readonly order?: number;
78
+ /** A description of this group suitable for displaying to a user. */
79
+ readonly description: string;
80
+ }
81
+ /**
82
+ * The registry of available [[SettingGroupSchema]]s.
83
+ * The registry is used for editing Settings files and for finding default values for settings.
84
+ * @beta
85
+ */
86
+ /** The registry of metadata describing groups of [[SettingSchema]]s available to the current session.
87
+ * The schemas are used to look up the default values of [[Setting]]s, validate that their values are of the type dictated by the schema, and
88
+ * query metadata like [[SettingsSchema.combineArray]] that modify their behavior.
89
+ * They can also be used to drive a user interface that enables end users to edit [[Settings]].
90
+ *
91
+ * When [[IModelHost.startup]] is invoked at the beginning of a session, schemas delivered with the application - like those describing
92
+ * [[Workspace]]s - are automatically loaded.
93
+ * The application can manually register additional schemas using methods like [[addGroup]], [[addFile]], [[addDirectory]], and [[addJson]].
94
+ * When [[IModelHost.shutdown]] is invoked at the end of a session, all registered schemas are unregistered.
95
+ *
96
+ * See the [learning article]($docs/learning/backend/Workspace) for a detailed overiew and examples.
97
+ *
98
+ * @see [[IModelHost.settingsSchemas]] to access the registry for the current session.
99
+ * @beta
100
+ */
101
+ export interface SettingsSchemas {
102
+ /** @internal */
103
+ readonly [_implementationProhibited]: unknown;
104
+ /** The map of each individual registered [[SettingSchema]] defining a [[Setting]], accessed by its fully-qualified name (including its [[SettingGroupSchema.schemaPrefix]]). */
105
+ readonly settingDefs: ReadonlyMap<SettingName, SettingSchema>;
106
+ /** The map of each individual registered [[SettingSchema]] defining a type that can be extended by other [[SettingSchema]]s via [[SettingSchema.extends]],
107
+ * accessed by its fully-qualified name (including its [[SettingGroupSchema.schemaPrefix]]).
108
+ */
109
+ readonly typeDefs: ReadonlyMap<SettingName, SettingSchema>;
110
+ /** An event raised whenever schemas are added or removed. */
111
+ readonly onSchemaChanged: BeEvent<() => void>;
112
+ /**
113
+ * Ensure that the setting value supplied is valid according to its [[SettingSchema]].
114
+ * If no schema has been registered for the setting, no validation is performed.
115
+ * @param value The value of the setting to validate against the schema.
116
+ * @param settingName The fully-qualified setting name.
117
+ * @returns `value` if `value` matches the schema corresponding to `settingName`, or if no such schema has been registered.
118
+ * @throws Error if `value` is invalid according to the schema.
119
+ */
120
+ validateSetting<T>(value: T, settingName: SettingName): T;
121
+ /** Register one or more [[SettingGroupSchema]]s.
122
+ * If a group with the same [[SettingGroupSchema.prefix]] was previously registered, it will be replaced.
123
+ * Each [[SettingSchema]] in the group will be added to [[settingDefs]] or [[typeDefs]].
124
+ */
125
+ addGroup(settingsGroup: SettingGroupSchema | SettingGroupSchema[]): void;
126
+ /** Invokes [[addGroup]] for a [[SettingGroupSchema]] supplied as stringified json5. */
127
+ addJson(settingSchema: string): void;
128
+ /** Invokes [[addGroup]] for a json5 file containiner a [[SettingGroupSchema]]. */
129
+ addFile(fileName: LocalFileName): void;
130
+ /** Invokes [[addFile]] for every json and json5 file in the specified directory. */
131
+ addDirectory(dirName: LocalDirName): void;
132
+ /** Unregisters all [[settingDefs]] and [[typeDefs]] with the specified [[SettingGroupSchema.schemaPrefix]]. */
133
+ removeGroup(schemaPrefix: string): void;
134
+ }
135
+ //# sourceMappingURL=SettingsSchemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsSchemas.d.ts","sourceRoot":"","sources":["../../../src/workspace/SettingsSchemas.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;;;;IAQI;AACJ,MAAM,WAAW,aAAc,SAAQ,QAAQ,CAAC,UAAU,CAAC;IACzD,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,kFAAkF;IAClF,QAAQ,CAAC,UAAU,CAAC,EAAE;QAAE,CAAC,IAAI,EAAE,WAAW,GAAG,aAAa,CAAA;KAAE,CAAC;IAC7D;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;IAoBI;AACJ,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,mDAAmD;IACnD,QAAQ,CAAC,WAAW,CAAC,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAA;KAAE,CAAC;IACrE,mGAAmG;IACnG,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAA;KAAE,CAAC;IAClE,sJAAsJ;IACtJ,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;GAIG;AAEH;;;;;;;;;;;;;;IAcI;AACJ,MAAM,WAAW,eAAe;IAC9B,gBAAgB;IAChB,QAAQ,CAAC,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAE9C,gLAAgL;IAChL,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAE9D;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAE3D,6DAA6D;IAC7D,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IAE9C;;;;;;;OAOG;IACH,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,WAAW,GAAG,CAAC,CAAC;IAE1D;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,kBAAkB,GAAG,kBAAkB,EAAE,GAAG,IAAI,CAAC;IAEzE,uFAAuF;IACvF,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAErC,kFAAkF;IAClF,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAEvC,oFAAoF;IACpF,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAE1C,+GAA+G;IAC/G,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC"}
@@ -0,0 +1,9 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Workspace
7
+ */
8
+ import { _implementationProhibited } from "../internal/Symbols";
9
+ //# sourceMappingURL=SettingsSchemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsSchemas.js","sourceRoot":"","sources":["../../../src/workspace/SettingsSchemas.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAIH,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Workspace\n */\n\nimport { BeEvent, JSONSchema, JSONSchemaTypeName } from \"@itwin/core-bentley\";\nimport { LocalDirName, LocalFileName } from \"@itwin/core-common\";\nimport { _implementationProhibited } from \"../internal/Symbols\";\nimport { SettingName } from \"./Settings\";\n\n/** Metadata describing a single [[Setting]] as part of a [[SettingGroupSchema]].\n * Every setting has a [[type]], which can be one of the following:\n * - A primitive type like `string` or `number`;\n * - An object containing any number of named properties, each with their own types; or\n * - An array of elements, all of the same type.\n * This metadata is used to validate setting values against the schema, and to enable user interfaces by which\n * users can view and modify their settings.\n * @beta\n */\nexport interface SettingSchema extends Readonly<JSONSchema> {\n /** For arrays only, the metadata describing every element in the array. */\n readonly items?: SettingSchema;\n /** The name of the [[Setting]]'s data type. */\n readonly type: JSONSchemaTypeName;\n /** For objects and arrays only, the name of a [[SettingSchema]] that provides a base definition for this type.\n * The name is expected to refer to a type definition registered with [[SettingsSchema.typeDefs]].\n * Therefore, it must be the full name, including the [[SettingGroupSchema.schemaPrefix]].\n */\n readonly extends?: string;\n /** For objects only, the name and metadata of each of the object's properties. */\n readonly properties?: { [name: SettingName]: SettingSchema };\n /** For arrays only, specifies how [[SettingsDictionary.getArray]] resolves the value of the setting.\n * By default, like other types of settings, the setting uses the value of the setting from the highest-priority dictionary.\n * If `combineArray` is `true`, then the value of the setting is computed by combining the elements of every array from every dictionary,\n * ordered by priority and eliminating duplicate elements.\n * Two elements are considered duplicates of one another if [[Setting.areEqual]] returns `true`.\n */\n readonly combineArray?: boolean;\n}\n\n/** Metadata describing a group of related [[SettingSchema]]s. You can register setting schema groups via [[SettingsSchemas.addGroup]] and\n * remove them via [[SettingsSchemas.removeGroup]].\n *\n * All of the settings share the same [[schemaPrefix]], which must be unique amongst all other groups.\n * The prefix is combined with the name of each [[SettingSchema]] in the group to form the fully-qualified name used to refer\n * to the setting outside of the group, e.g., when accessing [[SettingsSchemas.settingDefs]] or in [[SettingSchema.extends]].\n * In the following example, the fully-qualified name of the setting named \"metric\" is \"format/units/metric\".\n *\n * ```json\n * {\n * \"schemaPrefix\": \"format/units\",\n * \"settingDefs\": {\n * \"metric\": { \"type\": \"boolean\" }\n * }\n * }\n * ```\n *\n * A group can also define [[SettingSchema]]s that, rather than describing actual [[Setting]]s, instead describe types that can be extended by [[Setting]]s via\n * [[SettingSchema.extends]]. A [[SettingSchema]] can refer to type definitions defined in its own group or any other group.\n * @beta\n */\nexport interface SettingGroupSchema {\n /** Uniquely identifies this group amongst all other groups.\n * The prefix can use forward-slashes to define logical subgroups - for example, two related groups with the prefixes \"units/metric\" and \"units/imperial\".\n * The user interface may parse these prefixes to display both groups under a \"units\" tab or expandable tree view node.\n *\n * @note Schema prefixes beginning with \"itwin\" are reserved for use by iTwin.js.\n */\n readonly schemaPrefix: string;\n /** Metadata for each [[Setting]] in this group. */\n readonly settingDefs?: { [name: string]: SettingSchema | undefined };\n /** Metadata for types that can be extended by other [[Setting]]s via [[SettingSchema.extends]]. */\n readonly typeDefs?: { [name: string]: SettingSchema | undefined };\n /** An integer used when displaying a list of schemas in a user interface, to sort schemas with a lower `order` before those with a `higher` order. */\n readonly order?: number;\n /** A description of this group suitable for displaying to a user. */\n readonly description: string;\n}\n\n/**\n * The registry of available [[SettingGroupSchema]]s.\n * The registry is used for editing Settings files and for finding default values for settings.\n * @beta\n */\n\n/** The registry of metadata describing groups of [[SettingSchema]]s available to the current session.\n * The schemas are used to look up the default values of [[Setting]]s, validate that their values are of the type dictated by the schema, and\n * query metadata like [[SettingsSchema.combineArray]] that modify their behavior.\n * They can also be used to drive a user interface that enables end users to edit [[Settings]].\n *\n * When [[IModelHost.startup]] is invoked at the beginning of a session, schemas delivered with the application - like those describing\n * [[Workspace]]s - are automatically loaded.\n * The application can manually register additional schemas using methods like [[addGroup]], [[addFile]], [[addDirectory]], and [[addJson]].\n * When [[IModelHost.shutdown]] is invoked at the end of a session, all registered schemas are unregistered.\n *\n * See the [learning article]($docs/learning/backend/Workspace) for a detailed overiew and examples.\n *\n * @see [[IModelHost.settingsSchemas]] to access the registry for the current session.\n * @beta\n */\nexport interface SettingsSchemas {\n /** @internal */\n readonly [_implementationProhibited]: unknown;\n\n /** The map of each individual registered [[SettingSchema]] defining a [[Setting]], accessed by its fully-qualified name (including its [[SettingGroupSchema.schemaPrefix]]). */\n readonly settingDefs: ReadonlyMap<SettingName, SettingSchema>;\n\n /** The map of each individual registered [[SettingSchema]] defining a type that can be extended by other [[SettingSchema]]s via [[SettingSchema.extends]],\n * accessed by its fully-qualified name (including its [[SettingGroupSchema.schemaPrefix]]).\n */\n readonly typeDefs: ReadonlyMap<SettingName, SettingSchema>;\n\n /** An event raised whenever schemas are added or removed. */\n readonly onSchemaChanged: BeEvent<() => void>;\n\n /**\n * Ensure that the setting value supplied is valid according to its [[SettingSchema]].\n * If no schema has been registered for the setting, no validation is performed.\n * @param value The value of the setting to validate against the schema.\n * @param settingName The fully-qualified setting name.\n * @returns `value` if `value` matches the schema corresponding to `settingName`, or if no such schema has been registered.\n * @throws Error if `value` is invalid according to the schema.\n */\n validateSetting<T>(value: T, settingName: SettingName): T;\n\n /** Register one or more [[SettingGroupSchema]]s.\n * If a group with the same [[SettingGroupSchema.prefix]] was previously registered, it will be replaced.\n * Each [[SettingSchema]] in the group will be added to [[settingDefs]] or [[typeDefs]].\n */\n addGroup(settingsGroup: SettingGroupSchema | SettingGroupSchema[]): void;\n\n /** Invokes [[addGroup]] for a [[SettingGroupSchema]] supplied as stringified json5. */\n addJson(settingSchema: string): void;\n\n /** Invokes [[addGroup]] for a json5 file containiner a [[SettingGroupSchema]]. */\n addFile(fileName: LocalFileName): void;\n\n /** Invokes [[addFile]] for every json and json5 file in the specified directory. */\n addDirectory(dirName: LocalDirName): void;\n\n /** Unregisters all [[settingDefs]] and [[typeDefs]] with the specified [[SettingGroupSchema.schemaPrefix]]. */\n removeGroup(schemaPrefix: string): void;\n}\n"]}