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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (785) hide show
  1. package/lib/esm/BackendHubAccess.d.ts +215 -0
  2. package/lib/esm/BackendHubAccess.d.ts.map +1 -0
  3. package/lib/esm/BackendHubAccess.js +41 -0
  4. package/lib/esm/BackendHubAccess.js.map +1 -0
  5. package/lib/esm/BackendLoggerCategory.d.ts +88 -0
  6. package/lib/esm/BackendLoggerCategory.d.ts.map +1 -0
  7. package/lib/esm/BackendLoggerCategory.js +93 -0
  8. package/lib/esm/BackendLoggerCategory.js.map +1 -0
  9. package/lib/esm/BisCoreSchema.d.ts +22 -0
  10. package/lib/esm/BisCoreSchema.d.ts.map +1 -0
  11. package/lib/esm/BisCoreSchema.js +61 -0
  12. package/lib/esm/BisCoreSchema.js.map +1 -0
  13. package/lib/esm/BlobContainerService.d.ts +159 -0
  14. package/lib/esm/BlobContainerService.d.ts.map +1 -0
  15. package/lib/esm/BlobContainerService.js +15 -0
  16. package/lib/esm/BlobContainerService.js.map +1 -0
  17. package/lib/esm/BriefcaseManager.d.ts +213 -0
  18. package/lib/esm/BriefcaseManager.d.ts.map +1 -0
  19. package/lib/esm/BriefcaseManager.js +520 -0
  20. package/lib/esm/BriefcaseManager.js.map +1 -0
  21. package/lib/esm/Category.d.ts +136 -0
  22. package/lib/esm/Category.d.ts.map +1 -0
  23. package/lib/esm/Category.js +224 -0
  24. package/lib/esm/Category.js.map +1 -0
  25. package/lib/esm/ChangeSummaryManager.d.ts +161 -0
  26. package/lib/esm/ChangeSummaryManager.d.ts.map +1 -0
  27. package/lib/esm/ChangeSummaryManager.js +414 -0
  28. package/lib/esm/ChangeSummaryManager.js.map +1 -0
  29. package/lib/esm/ChangedElementsDb.d.ts +101 -0
  30. package/lib/esm/ChangedElementsDb.d.ts.map +1 -0
  31. package/lib/esm/ChangedElementsDb.js +165 -0
  32. package/lib/esm/ChangedElementsDb.js.map +1 -0
  33. package/lib/esm/ChangesetECAdaptor.d.ts +203 -0
  34. package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -0
  35. package/lib/esm/ChangesetECAdaptor.js +814 -0
  36. package/lib/esm/ChangesetECAdaptor.js.map +1 -0
  37. package/lib/esm/ChannelControl.d.ts +68 -0
  38. package/lib/esm/ChannelControl.d.ts.map +1 -0
  39. package/lib/esm/ChannelControl.js +15 -0
  40. package/lib/esm/ChannelControl.js.map +1 -0
  41. package/lib/esm/CheckpointManager.d.ts +123 -0
  42. package/lib/esm/CheckpointManager.d.ts.map +1 -0
  43. package/lib/esm/CheckpointManager.js +375 -0
  44. package/lib/esm/CheckpointManager.js.map +1 -0
  45. package/lib/esm/ClassRegistry.d.ts +134 -0
  46. package/lib/esm/ClassRegistry.d.ts.map +1 -0
  47. package/lib/esm/ClassRegistry.js +324 -0
  48. package/lib/esm/ClassRegistry.js.map +1 -0
  49. package/lib/esm/CloudSqlite.d.ts +682 -0
  50. package/lib/esm/CloudSqlite.d.ts.map +1 -0
  51. package/lib/esm/CloudSqlite.js +511 -0
  52. package/lib/esm/CloudSqlite.js.map +1 -0
  53. package/lib/esm/CodeService.d.ts +402 -0
  54. package/lib/esm/CodeService.d.ts.map +1 -0
  55. package/lib/esm/CodeService.js +65 -0
  56. package/lib/esm/CodeService.js.map +1 -0
  57. package/lib/esm/CodeSpecs.d.ts +59 -0
  58. package/lib/esm/CodeSpecs.d.ts.map +1 -0
  59. package/lib/esm/CodeSpecs.js +152 -0
  60. package/lib/esm/CodeSpecs.js.map +1 -0
  61. package/lib/esm/ConcurrentQuery.d.ts +14 -0
  62. package/lib/esm/ConcurrentQuery.d.ts.map +1 -0
  63. package/lib/esm/ConcurrentQuery.js +33 -0
  64. package/lib/esm/ConcurrentQuery.js.map +1 -0
  65. package/lib/esm/CustomViewState3dCreator.d.ts +22 -0
  66. package/lib/esm/CustomViewState3dCreator.d.ts.map +1 -0
  67. package/lib/esm/CustomViewState3dCreator.js +78 -0
  68. package/lib/esm/CustomViewState3dCreator.js.map +1 -0
  69. package/lib/esm/DevTools.d.ts +73 -0
  70. package/lib/esm/DevTools.d.ts.map +1 -0
  71. package/lib/esm/DevTools.js +153 -0
  72. package/lib/esm/DevTools.js.map +1 -0
  73. package/lib/esm/DisplayStyle.d.ts +99 -0
  74. package/lib/esm/DisplayStyle.d.ts.map +1 -0
  75. package/lib/esm/DisplayStyle.js +264 -0
  76. package/lib/esm/DisplayStyle.js.map +1 -0
  77. package/lib/esm/ECDb.d.ts +170 -0
  78. package/lib/esm/ECDb.d.ts.map +1 -0
  79. package/lib/esm/ECDb.js +329 -0
  80. package/lib/esm/ECDb.js.map +1 -0
  81. package/lib/esm/ECSchemaXmlContext.d.ts +46 -0
  82. package/lib/esm/ECSchemaXmlContext.d.ts.map +1 -0
  83. package/lib/esm/ECSchemaXmlContext.js +66 -0
  84. package/lib/esm/ECSchemaXmlContext.js.map +1 -0
  85. package/lib/esm/ECSqlStatement.d.ts +492 -0
  86. package/lib/esm/ECSqlStatement.d.ts.map +1 -0
  87. package/lib/esm/ECSqlStatement.js +810 -0
  88. package/lib/esm/ECSqlStatement.js.map +1 -0
  89. package/lib/esm/Element.d.ts +987 -0
  90. package/lib/esm/Element.d.ts.map +1 -0
  91. package/lib/esm/Element.js +1337 -0
  92. package/lib/esm/Element.js.map +1 -0
  93. package/lib/esm/ElementAspect.d.ts +164 -0
  94. package/lib/esm/ElementAspect.d.ts.map +1 -0
  95. package/lib/esm/ElementAspect.js +204 -0
  96. package/lib/esm/ElementAspect.js.map +1 -0
  97. package/lib/esm/ElementGraphics.d.ts +7 -0
  98. package/lib/esm/ElementGraphics.d.ts.map +1 -0
  99. package/lib/esm/ElementGraphics.js +36 -0
  100. package/lib/esm/ElementGraphics.js.map +1 -0
  101. package/lib/esm/ElementTreeWalker.d.ts +182 -0
  102. package/lib/esm/ElementTreeWalker.d.ts.map +1 -0
  103. package/lib/esm/ElementTreeWalker.js +421 -0
  104. package/lib/esm/ElementTreeWalker.js.map +1 -0
  105. package/lib/esm/Entity.d.ts +142 -0
  106. package/lib/esm/Entity.d.ts.map +1 -0
  107. package/lib/esm/Entity.js +186 -0
  108. package/lib/esm/Entity.js.map +1 -0
  109. package/lib/esm/EntityReferences.d.ts +50 -0
  110. package/lib/esm/EntityReferences.d.ts.map +1 -0
  111. package/lib/esm/EntityReferences.js +92 -0
  112. package/lib/esm/EntityReferences.js.map +1 -0
  113. package/lib/esm/ExportGraphics.d.ts +318 -0
  114. package/lib/esm/ExportGraphics.d.ts.map +1 -0
  115. package/lib/esm/ExportGraphics.js +209 -0
  116. package/lib/esm/ExportGraphics.js.map +1 -0
  117. package/lib/esm/ExternalSource.d.ts +89 -0
  118. package/lib/esm/ExternalSource.d.ts.map +1 -0
  119. package/lib/esm/ExternalSource.js +139 -0
  120. package/lib/esm/ExternalSource.js.map +1 -0
  121. package/lib/esm/FontFile.d.ts +68 -0
  122. package/lib/esm/FontFile.d.ts.map +1 -0
  123. package/lib/esm/FontFile.js +33 -0
  124. package/lib/esm/FontFile.js.map +1 -0
  125. package/lib/esm/GeoCoordConfig.d.ts +30 -0
  126. package/lib/esm/GeoCoordConfig.d.ts.map +1 -0
  127. package/lib/esm/GeoCoordConfig.js +78 -0
  128. package/lib/esm/GeoCoordConfig.js.map +1 -0
  129. package/lib/esm/GeographicCRSServices.d.ts +40 -0
  130. package/lib/esm/GeographicCRSServices.d.ts.map +1 -0
  131. package/lib/esm/GeographicCRSServices.js +17 -0
  132. package/lib/esm/GeographicCRSServices.js.map +1 -0
  133. package/lib/esm/GeometrySummary.d.ts +5 -0
  134. package/lib/esm/GeometrySummary.d.ts.map +1 -0
  135. package/lib/esm/GeometrySummary.js +381 -0
  136. package/lib/esm/GeometrySummary.js.map +1 -0
  137. package/lib/esm/HubMock.d.ts +95 -0
  138. package/lib/esm/HubMock.d.ts.map +1 -0
  139. package/lib/esm/HubMock.js +220 -0
  140. package/lib/esm/HubMock.js.map +1 -0
  141. package/lib/esm/IModelDb.d.ts +1398 -0
  142. package/lib/esm/IModelDb.d.ts.map +1 -0
  143. package/lib/esm/IModelDb.js +3230 -0
  144. package/lib/esm/IModelDb.js.map +1 -0
  145. package/lib/esm/IModelDbFonts.d.ts +54 -0
  146. package/lib/esm/IModelDbFonts.d.ts.map +1 -0
  147. package/lib/esm/IModelDbFonts.js +9 -0
  148. package/lib/esm/IModelDbFonts.js.map +1 -0
  149. package/lib/esm/IModelElementCloneContext.d.ts +92 -0
  150. package/lib/esm/IModelElementCloneContext.d.ts.map +1 -0
  151. package/lib/esm/IModelElementCloneContext.js +168 -0
  152. package/lib/esm/IModelElementCloneContext.js.map +1 -0
  153. package/lib/esm/IModelHost.d.ts +387 -0
  154. package/lib/esm/IModelHost.d.ts.map +1 -0
  155. package/lib/esm/IModelHost.js +502 -0
  156. package/lib/esm/IModelHost.js.map +1 -0
  157. package/lib/esm/IModelJsFs.d.ts +62 -0
  158. package/lib/esm/IModelJsFs.d.ts.map +1 -0
  159. package/lib/esm/IModelJsFs.js +151 -0
  160. package/lib/esm/IModelJsFs.js.map +1 -0
  161. package/lib/esm/ImageSourceConversion.d.ts +49 -0
  162. package/lib/esm/ImageSourceConversion.d.ts.map +1 -0
  163. package/lib/esm/ImageSourceConversion.js +33 -0
  164. package/lib/esm/ImageSourceConversion.js.map +1 -0
  165. package/lib/esm/IpcHost.d.ts +111 -0
  166. package/lib/esm/IpcHost.d.ts.map +1 -0
  167. package/lib/esm/IpcHost.js +311 -0
  168. package/lib/esm/IpcHost.js.map +1 -0
  169. package/lib/esm/LineStyle.d.ts +312 -0
  170. package/lib/esm/LineStyle.d.ts.map +1 -0
  171. package/lib/esm/LineStyle.js +293 -0
  172. package/lib/esm/LineStyle.js.map +1 -0
  173. package/lib/esm/LocalHub.d.ts +163 -0
  174. package/lib/esm/LocalHub.d.ts.map +1 -0
  175. package/lib/esm/LocalHub.js +583 -0
  176. package/lib/esm/LocalHub.js.map +1 -0
  177. package/lib/esm/LocalhostIpcHost.d.ts +22 -0
  178. package/lib/esm/LocalhostIpcHost.d.ts.map +1 -0
  179. package/lib/esm/LocalhostIpcHost.js +74 -0
  180. package/lib/esm/LocalhostIpcHost.js.map +1 -0
  181. package/lib/esm/LockControl.d.ts +73 -0
  182. package/lib/esm/LockControl.d.ts.map +1 -0
  183. package/lib/esm/LockControl.js +9 -0
  184. package/lib/esm/LockControl.js.map +1 -0
  185. package/lib/esm/Material.d.ts +131 -0
  186. package/lib/esm/Material.d.ts.map +1 -0
  187. package/lib/esm/Material.js +235 -0
  188. package/lib/esm/Material.js.map +1 -0
  189. package/lib/esm/Model.d.ts +375 -0
  190. package/lib/esm/Model.d.ts.map +1 -0
  191. package/lib/esm/Model.js +484 -0
  192. package/lib/esm/Model.js.map +1 -0
  193. package/lib/esm/NativeAppStorage.d.ts +52 -0
  194. package/lib/esm/NativeAppStorage.d.ts.map +1 -0
  195. package/lib/esm/NativeAppStorage.js +205 -0
  196. package/lib/esm/NativeAppStorage.js.map +1 -0
  197. package/lib/esm/NativeHost.d.ts +53 -0
  198. package/lib/esm/NativeHost.d.ts.map +1 -0
  199. package/lib/esm/NativeHost.js +158 -0
  200. package/lib/esm/NativeHost.js.map +1 -0
  201. package/lib/esm/NavigationRelationship.d.ts +185 -0
  202. package/lib/esm/NavigationRelationship.d.ts.map +1 -0
  203. package/lib/esm/NavigationRelationship.js +238 -0
  204. package/lib/esm/NavigationRelationship.js.map +1 -0
  205. package/lib/esm/PromiseMemoizer.d.ts +48 -0
  206. package/lib/esm/PromiseMemoizer.d.ts.map +1 -0
  207. package/lib/esm/PromiseMemoizer.js +101 -0
  208. package/lib/esm/PromiseMemoizer.js.map +1 -0
  209. package/lib/esm/PropertyStore.d.ts +134 -0
  210. package/lib/esm/PropertyStore.d.ts.map +1 -0
  211. package/lib/esm/PropertyStore.js +177 -0
  212. package/lib/esm/PropertyStore.js.map +1 -0
  213. package/lib/esm/Relationship.d.ts +399 -0
  214. package/lib/esm/Relationship.d.ts.map +1 -0
  215. package/lib/esm/Relationship.js +474 -0
  216. package/lib/esm/Relationship.js.map +1 -0
  217. package/lib/esm/RpcBackend.d.ts +6 -0
  218. package/lib/esm/RpcBackend.d.ts.map +1 -0
  219. package/lib/esm/RpcBackend.js +28 -0
  220. package/lib/esm/RpcBackend.js.map +1 -0
  221. package/lib/esm/SQLiteDb.d.ts +324 -0
  222. package/lib/esm/SQLiteDb.d.ts.map +1 -0
  223. package/lib/esm/SQLiteDb.js +379 -0
  224. package/lib/esm/SQLiteDb.js.map +1 -0
  225. package/lib/esm/Schema.d.ts +79 -0
  226. package/lib/esm/Schema.d.ts.map +1 -0
  227. package/lib/esm/Schema.js +113 -0
  228. package/lib/esm/Schema.js.map +1 -0
  229. package/lib/esm/SchemaSync.d.ts +47 -0
  230. package/lib/esm/SchemaSync.d.ts.map +1 -0
  231. package/lib/esm/SchemaSync.js +148 -0
  232. package/lib/esm/SchemaSync.js.map +1 -0
  233. package/lib/esm/SchemaUtils.d.ts +19 -0
  234. package/lib/esm/SchemaUtils.d.ts.map +1 -0
  235. package/lib/esm/SchemaUtils.js +37 -0
  236. package/lib/esm/SchemaUtils.js.map +1 -0
  237. package/lib/esm/SheetIndex.d.ts +148 -0
  238. package/lib/esm/SheetIndex.d.ts.map +1 -0
  239. package/lib/esm/SheetIndex.js +228 -0
  240. package/lib/esm/SheetIndex.js.map +1 -0
  241. package/lib/esm/SqliteChangesetReader.d.ts +278 -0
  242. package/lib/esm/SqliteChangesetReader.d.ts.map +1 -0
  243. package/lib/esm/SqliteChangesetReader.js +337 -0
  244. package/lib/esm/SqliteChangesetReader.js.map +1 -0
  245. package/lib/esm/SqliteStatement.d.ts +375 -0
  246. package/lib/esm/SqliteStatement.d.ts.map +1 -0
  247. package/lib/esm/SqliteStatement.js +615 -0
  248. package/lib/esm/SqliteStatement.js.map +1 -0
  249. package/lib/esm/TextAnnotationElement.d.ts +54 -0
  250. package/lib/esm/TextAnnotationElement.d.ts.map +1 -0
  251. package/lib/esm/TextAnnotationElement.js +89 -0
  252. package/lib/esm/TextAnnotationElement.js.map +1 -0
  253. package/lib/esm/TextAnnotationGeometry.d.ts +32 -0
  254. package/lib/esm/TextAnnotationGeometry.d.ts.map +1 -0
  255. package/lib/esm/TextAnnotationGeometry.js +181 -0
  256. package/lib/esm/TextAnnotationGeometry.js.map +1 -0
  257. package/lib/esm/TextAnnotationLayout.d.ts +177 -0
  258. package/lib/esm/TextAnnotationLayout.d.ts.map +1 -0
  259. package/lib/esm/TextAnnotationLayout.js +513 -0
  260. package/lib/esm/TextAnnotationLayout.js.map +1 -0
  261. package/lib/esm/Texture.d.ts +58 -0
  262. package/lib/esm/Texture.d.ts.map +1 -0
  263. package/lib/esm/Texture.js +81 -0
  264. package/lib/esm/Texture.js.map +1 -0
  265. package/lib/esm/TileStorage.d.ts +59 -0
  266. package/lib/esm/TileStorage.d.ts.map +1 -0
  267. package/lib/esm/TileStorage.js +158 -0
  268. package/lib/esm/TileStorage.js.map +1 -0
  269. package/lib/esm/TxnManager.d.ts +296 -0
  270. package/lib/esm/TxnManager.d.ts.map +1 -0
  271. package/lib/esm/TxnManager.js +619 -0
  272. package/lib/esm/TxnManager.js.map +1 -0
  273. package/lib/esm/ViewDefinition.d.ts +392 -0
  274. package/lib/esm/ViewDefinition.d.ts.map +1 -0
  275. package/lib/esm/ViewDefinition.js +638 -0
  276. package/lib/esm/ViewDefinition.js.map +1 -0
  277. package/lib/esm/ViewStateHydrator.d.ts +14 -0
  278. package/lib/esm/ViewStateHydrator.d.ts.map +1 -0
  279. package/lib/esm/ViewStateHydrator.js +89 -0
  280. package/lib/esm/ViewStateHydrator.js.map +1 -0
  281. package/lib/esm/ViewStore.d.ts +502 -0
  282. package/lib/esm/ViewStore.d.ts.map +1 -0
  283. package/lib/esm/ViewStore.js +1259 -0
  284. package/lib/esm/ViewStore.js.map +1 -0
  285. package/lib/esm/core-backend.d.ts +183 -0
  286. package/lib/esm/core-backend.d.ts.map +1 -0
  287. package/lib/esm/core-backend.js +187 -0
  288. package/lib/esm/core-backend.js.map +1 -0
  289. package/lib/esm/domains/FunctionalElements.d.ts +86 -0
  290. package/lib/esm/domains/FunctionalElements.d.ts.map +1 -0
  291. package/lib/esm/domains/FunctionalElements.js +117 -0
  292. package/lib/esm/domains/FunctionalElements.js.map +1 -0
  293. package/lib/esm/domains/FunctionalSchema.d.ts +14 -0
  294. package/lib/esm/domains/FunctionalSchema.d.ts.map +1 -0
  295. package/lib/esm/domains/FunctionalSchema.js +37 -0
  296. package/lib/esm/domains/FunctionalSchema.js.map +1 -0
  297. package/lib/esm/domains/GenericElements.d.ts +160 -0
  298. package/lib/esm/domains/GenericElements.d.ts.map +1 -0
  299. package/lib/esm/domains/GenericElements.js +225 -0
  300. package/lib/esm/domains/GenericElements.js.map +1 -0
  301. package/lib/esm/domains/GenericSchema.d.ts +11 -0
  302. package/lib/esm/domains/GenericSchema.d.ts.map +1 -0
  303. package/lib/esm/domains/GenericSchema.js +25 -0
  304. package/lib/esm/domains/GenericSchema.js.map +1 -0
  305. package/lib/esm/internal/ChangesetConflictArgs.d.ts +62 -0
  306. package/lib/esm/internal/ChangesetConflictArgs.d.ts.map +1 -0
  307. package/lib/esm/internal/ChangesetConflictArgs.js +104 -0
  308. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -0
  309. package/lib/esm/internal/ChannelAdmin.d.ts +34 -0
  310. package/lib/esm/internal/ChannelAdmin.d.ts.map +1 -0
  311. package/lib/esm/internal/ChannelAdmin.js +122 -0
  312. package/lib/esm/internal/ChannelAdmin.js.map +1 -0
  313. package/lib/esm/internal/FontFileImpl.d.ts +34 -0
  314. package/lib/esm/internal/FontFileImpl.d.ts.map +1 -0
  315. package/lib/esm/internal/FontFileImpl.js +135 -0
  316. package/lib/esm/internal/FontFileImpl.js.map +1 -0
  317. package/lib/esm/internal/IModelDbFontsImpl.d.ts +7 -0
  318. package/lib/esm/internal/IModelDbFontsImpl.d.ts.map +1 -0
  319. package/lib/esm/internal/IModelDbFontsImpl.js +183 -0
  320. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -0
  321. package/lib/esm/internal/NativePlatform.d.ts +15 -0
  322. package/lib/esm/internal/NativePlatform.d.ts.map +1 -0
  323. package/lib/esm/internal/NativePlatform.js +43 -0
  324. package/lib/esm/internal/NativePlatform.js.map +1 -0
  325. package/lib/esm/internal/NoLocks.d.ts +6 -0
  326. package/lib/esm/internal/NoLocks.d.ts.map +1 -0
  327. package/lib/esm/internal/NoLocks.js +24 -0
  328. package/lib/esm/internal/NoLocks.js.map +1 -0
  329. package/lib/esm/internal/ServerBasedLocks.d.ts +52 -0
  330. package/lib/esm/internal/ServerBasedLocks.d.ts.map +1 -0
  331. package/lib/esm/internal/ServerBasedLocks.js +175 -0
  332. package/lib/esm/internal/ServerBasedLocks.js.map +1 -0
  333. package/lib/esm/internal/Symbols.d.ts +18 -0
  334. package/lib/esm/internal/Symbols.d.ts.map +1 -0
  335. package/lib/esm/internal/Symbols.js +25 -0
  336. package/lib/esm/internal/Symbols.js.map +1 -0
  337. package/lib/esm/internal/cross-package.d.ts +4 -0
  338. package/lib/esm/internal/cross-package.d.ts.map +1 -0
  339. package/lib/esm/internal/cross-package.js +8 -0
  340. package/lib/esm/internal/cross-package.js.map +1 -0
  341. package/lib/esm/internal/workspace/SettingsImpl.d.ts +43 -0
  342. package/lib/esm/internal/workspace/SettingsImpl.d.ts.map +1 -0
  343. package/lib/esm/internal/workspace/SettingsImpl.js +154 -0
  344. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -0
  345. package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts +6 -0
  346. package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts.map +1 -0
  347. package/lib/esm/internal/workspace/SettingsSchemasImpl.js +268 -0
  348. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -0
  349. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts +41 -0
  350. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts.map +1 -0
  351. package/lib/esm/internal/workspace/WorkspaceImpl.js +691 -0
  352. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -0
  353. package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts +10 -0
  354. package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts.map +1 -0
  355. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js +35 -0
  356. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -0
  357. package/lib/esm/rpc/multipart.d.ts +12 -0
  358. package/lib/esm/rpc/multipart.d.ts.map +1 -0
  359. package/lib/esm/rpc/multipart.js +67 -0
  360. package/lib/esm/rpc/multipart.js.map +1 -0
  361. package/lib/esm/rpc/tracing.d.ts +29 -0
  362. package/lib/esm/rpc/tracing.d.ts.map +1 -0
  363. package/lib/esm/rpc/tracing.js +71 -0
  364. package/lib/esm/rpc/tracing.js.map +1 -0
  365. package/lib/esm/rpc/web/logging.d.ts +10 -0
  366. package/lib/esm/rpc/web/logging.d.ts.map +1 -0
  367. package/lib/esm/rpc/web/logging.js +41 -0
  368. package/lib/esm/rpc/web/logging.js.map +1 -0
  369. package/lib/esm/rpc/web/request.d.ts +7 -0
  370. package/lib/esm/rpc/web/request.d.ts.map +1 -0
  371. package/lib/esm/rpc/web/request.js +71 -0
  372. package/lib/esm/rpc/web/request.js.map +1 -0
  373. package/lib/esm/rpc/web/response.d.ts +7 -0
  374. package/lib/esm/rpc/web/response.d.ts.map +1 -0
  375. package/lib/esm/rpc/web/response.js +136 -0
  376. package/lib/esm/rpc/web/response.js.map +1 -0
  377. package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts +16 -0
  378. package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts.map +1 -0
  379. package/lib/esm/rpc-impl/DevToolsRpcImpl.js +29 -0
  380. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -0
  381. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts +51 -0
  382. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -0
  383. package/lib/esm/rpc-impl/IModelReadRpcImpl.js +313 -0
  384. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -0
  385. package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts +21 -0
  386. package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts.map +1 -0
  387. package/lib/esm/rpc-impl/IModelTileRpcImpl.js +193 -0
  388. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -0
  389. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts +45 -0
  390. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -0
  391. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js +166 -0
  392. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -0
  393. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts +18 -0
  394. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts.map +1 -0
  395. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js +41 -0
  396. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -0
  397. package/lib/esm/test/AdvancedEqual.d.ts +38 -0
  398. package/lib/esm/test/AdvancedEqual.d.ts.map +1 -0
  399. package/lib/esm/test/AdvancedEqual.js +67 -0
  400. package/lib/esm/test/AdvancedEqual.js.map +1 -0
  401. package/lib/esm/test/AttachDb.test.d.ts +2 -0
  402. package/lib/esm/test/AttachDb.test.d.ts.map +1 -0
  403. package/lib/esm/test/AttachDb.test.js +157 -0
  404. package/lib/esm/test/AttachDb.test.js.map +1 -0
  405. package/lib/esm/test/GeometryTestUtil.d.ts +7 -0
  406. package/lib/esm/test/GeometryTestUtil.d.ts.map +1 -0
  407. package/lib/esm/test/GeometryTestUtil.js +25 -0
  408. package/lib/esm/test/GeometryTestUtil.js.map +1 -0
  409. package/lib/esm/test/IModelHost.test.d.ts +2 -0
  410. package/lib/esm/test/IModelHost.test.d.ts.map +1 -0
  411. package/lib/esm/test/IModelHost.test.js +187 -0
  412. package/lib/esm/test/IModelHost.test.js.map +1 -0
  413. package/lib/esm/test/IModelTestUtils.d.ts +173 -0
  414. package/lib/esm/test/IModelTestUtils.d.ts.map +1 -0
  415. package/lib/esm/test/IModelTestUtils.js +1113 -0
  416. package/lib/esm/test/IModelTestUtils.js.map +1 -0
  417. package/lib/esm/test/ImageSourceConversion.test.d.ts +2 -0
  418. package/lib/esm/test/ImageSourceConversion.test.d.ts.map +1 -0
  419. package/lib/esm/test/ImageSourceConversion.test.js +171 -0
  420. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -0
  421. package/lib/esm/test/IpcHost.test.d.ts +2 -0
  422. package/lib/esm/test/IpcHost.test.d.ts.map +1 -0
  423. package/lib/esm/test/IpcHost.test.js +55 -0
  424. package/lib/esm/test/IpcHost.test.js.map +1 -0
  425. package/lib/esm/test/KnownTestLocations.d.ts +7 -0
  426. package/lib/esm/test/KnownTestLocations.d.ts.map +1 -0
  427. package/lib/esm/test/KnownTestLocations.js +27 -0
  428. package/lib/esm/test/KnownTestLocations.js.map +1 -0
  429. package/lib/esm/test/PrintElementTree.d.ts +7 -0
  430. package/lib/esm/test/PrintElementTree.d.ts.map +1 -0
  431. package/lib/esm/test/PrintElementTree.js +35 -0
  432. package/lib/esm/test/PrintElementTree.js.map +1 -0
  433. package/lib/esm/test/PropertyDb.test.d.ts +2 -0
  434. package/lib/esm/test/PropertyDb.test.d.ts.map +1 -0
  435. package/lib/esm/test/PropertyDb.test.js +71 -0
  436. package/lib/esm/test/PropertyDb.test.js.map +1 -0
  437. package/lib/esm/test/RevisionUtility.d.ts +33 -0
  438. package/lib/esm/test/RevisionUtility.d.ts.map +1 -0
  439. package/lib/esm/test/RevisionUtility.js +52 -0
  440. package/lib/esm/test/RevisionUtility.js.map +1 -0
  441. package/lib/esm/test/SchemaUtils.test.d.ts +2 -0
  442. package/lib/esm/test/SchemaUtils.test.d.ts.map +1 -0
  443. package/lib/esm/test/SchemaUtils.test.js +97 -0
  444. package/lib/esm/test/SchemaUtils.test.js.map +1 -0
  445. package/lib/esm/test/SequentialLogMatcher.d.ts +35 -0
  446. package/lib/esm/test/SequentialLogMatcher.d.ts.map +1 -0
  447. package/lib/esm/test/SequentialLogMatcher.js +130 -0
  448. package/lib/esm/test/SequentialLogMatcher.js.map +1 -0
  449. package/lib/esm/test/TestChangeSetUtility.d.ts +23 -0
  450. package/lib/esm/test/TestChangeSetUtility.d.ts.map +1 -0
  451. package/lib/esm/test/TestChangeSetUtility.js +65 -0
  452. package/lib/esm/test/TestChangeSetUtility.js.map +1 -0
  453. package/lib/esm/test/TestUtils.d.ts +38 -0
  454. package/lib/esm/test/TestUtils.d.ts.map +1 -0
  455. package/lib/esm/test/TestUtils.js +99 -0
  456. package/lib/esm/test/TestUtils.js.map +1 -0
  457. package/lib/esm/test/annotations/TextAnnotation.test.d.ts +2 -0
  458. package/lib/esm/test/annotations/TextAnnotation.test.d.ts.map +1 -0
  459. package/lib/esm/test/annotations/TextAnnotation.test.js +1135 -0
  460. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -0
  461. package/lib/esm/test/categories/Category.test.d.ts +2 -0
  462. package/lib/esm/test/categories/Category.test.d.ts.map +1 -0
  463. package/lib/esm/test/categories/Category.test.js +51 -0
  464. package/lib/esm/test/categories/Category.test.js.map +1 -0
  465. package/lib/esm/test/codespec/CodeSpec.test.d.ts +2 -0
  466. package/lib/esm/test/codespec/CodeSpec.test.d.ts.map +1 -0
  467. package/lib/esm/test/codespec/CodeSpec.test.js +51 -0
  468. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -0
  469. package/lib/esm/test/ecdb/CTE.test.d.ts +2 -0
  470. package/lib/esm/test/ecdb/CTE.test.d.ts.map +1 -0
  471. package/lib/esm/test/ecdb/CTE.test.js +177 -0
  472. package/lib/esm/test/ecdb/CTE.test.js.map +1 -0
  473. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts +2 -0
  474. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts.map +1 -0
  475. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +167 -0
  476. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -0
  477. package/lib/esm/test/ecdb/ECDb.test.d.ts +2 -0
  478. package/lib/esm/test/ecdb/ECDb.test.d.ts.map +1 -0
  479. package/lib/esm/test/ecdb/ECDb.test.js +642 -0
  480. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -0
  481. package/lib/esm/test/ecdb/ECDbTestHelper.d.ts +5 -0
  482. package/lib/esm/test/ecdb/ECDbTestHelper.d.ts.map +1 -0
  483. package/lib/esm/test/ecdb/ECDbTestHelper.js +28 -0
  484. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -0
  485. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts +2 -0
  486. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts.map +1 -0
  487. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js +63 -0
  488. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -0
  489. package/lib/esm/test/ecdb/ECSqlAst.test.d.ts +5 -0
  490. package/lib/esm/test/ecdb/ECSqlAst.test.d.ts.map +1 -0
  491. package/lib/esm/test/ecdb/ECSqlAst.test.js +971 -0
  492. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -0
  493. package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts +2 -0
  494. package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts.map +1 -0
  495. package/lib/esm/test/ecdb/ECSqlQuery.test.js +770 -0
  496. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -0
  497. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts +2 -0
  498. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts.map +1 -0
  499. package/lib/esm/test/ecdb/ECSqlReader.test.js +669 -0
  500. package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -0
  501. package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts +2 -0
  502. package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts.map +1 -0
  503. package/lib/esm/test/ecdb/ECSqlStatement.test.js +3239 -0
  504. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -0
  505. package/lib/esm/test/ecdb/SqliteStatement.test.d.ts +2 -0
  506. package/lib/esm/test/ecdb/SqliteStatement.test.d.ts.map +1 -0
  507. package/lib/esm/test/ecdb/SqliteStatement.test.js +508 -0
  508. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -0
  509. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts +4 -0
  510. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts.map +1 -0
  511. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js +127 -0
  512. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -0
  513. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts +2 -0
  514. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts.map +1 -0
  515. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +196 -0
  516. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -0
  517. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts +66 -0
  518. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts.map +1 -0
  519. package/lib/esm/test/ecsql/src/ECSqlTestParser.js +420 -0
  520. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -0
  521. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts +2 -0
  522. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts.map +1 -0
  523. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js +365 -0
  524. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -0
  525. package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts +2 -0
  526. package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts.map +1 -0
  527. package/lib/esm/test/element/DeleteDefinitionElements.test.js +208 -0
  528. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -0
  529. package/lib/esm/test/element/ElementAspect.test.d.ts +2 -0
  530. package/lib/esm/test/element/ElementAspect.test.d.ts.map +1 -0
  531. package/lib/esm/test/element/ElementAspect.test.js +363 -0
  532. package/lib/esm/test/element/ElementAspect.test.js.map +1 -0
  533. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts +2 -0
  534. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts.map +1 -0
  535. package/lib/esm/test/element/ElementDependencyGraph.test.js +383 -0
  536. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -0
  537. package/lib/esm/test/element/ElementRoundTrip.test.d.ts +2 -0
  538. package/lib/esm/test/element/ElementRoundTrip.test.d.ts.map +1 -0
  539. package/lib/esm/test/element/ElementRoundTrip.test.js +916 -0
  540. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -0
  541. package/lib/esm/test/element/ExcludedElements.test.d.ts +2 -0
  542. package/lib/esm/test/element/ExcludedElements.test.d.ts.map +1 -0
  543. package/lib/esm/test/element/ExcludedElements.test.js +57 -0
  544. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -0
  545. package/lib/esm/test/element/ExternalSource.test.d.ts +2 -0
  546. package/lib/esm/test/element/ExternalSource.test.d.ts.map +1 -0
  547. package/lib/esm/test/element/ExternalSource.test.js +107 -0
  548. package/lib/esm/test/element/ExternalSource.test.js.map +1 -0
  549. package/lib/esm/test/element/NullStructArray.test.d.ts +2 -0
  550. package/lib/esm/test/element/NullStructArray.test.d.ts.map +1 -0
  551. package/lib/esm/test/element/NullStructArray.test.js +77 -0
  552. package/lib/esm/test/element/NullStructArray.test.js.map +1 -0
  553. package/lib/esm/test/element/UrlLink.test.d.ts +2 -0
  554. package/lib/esm/test/element/UrlLink.test.d.ts.map +1 -0
  555. package/lib/esm/test/element/UrlLink.test.js +36 -0
  556. package/lib/esm/test/element/UrlLink.test.js.map +1 -0
  557. package/lib/esm/test/font/FontFile.test.d.ts +2 -0
  558. package/lib/esm/test/font/FontFile.test.d.ts.map +1 -0
  559. package/lib/esm/test/font/FontFile.test.js +139 -0
  560. package/lib/esm/test/font/FontFile.test.js.map +1 -0
  561. package/lib/esm/test/font/IModelDbFonts.test.d.ts +2 -0
  562. package/lib/esm/test/font/IModelDbFonts.test.d.ts.map +1 -0
  563. package/lib/esm/test/font/IModelDbFonts.test.js +264 -0
  564. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -0
  565. package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts +2 -0
  566. package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts.map +1 -0
  567. package/lib/esm/test/hubaccess/BriefcaseManager.test.js +165 -0
  568. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -0
  569. package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts +2 -0
  570. package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts.map +1 -0
  571. package/lib/esm/test/hubaccess/CheckpointManager.test.js +137 -0
  572. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -0
  573. package/lib/esm/test/imageData.d.ts +9 -0
  574. package/lib/esm/test/imageData.d.ts.map +1 -0
  575. package/lib/esm/test/imageData.js +16 -0
  576. package/lib/esm/test/imageData.js.map +1 -0
  577. package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts +2 -0
  578. package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts.map +1 -0
  579. package/lib/esm/test/imodel/ElementTreeWalker.test.js +382 -0
  580. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -0
  581. package/lib/esm/test/imodel/GetTextureImage.test.d.ts +2 -0
  582. package/lib/esm/test/imodel/GetTextureImage.test.d.ts.map +1 -0
  583. package/lib/esm/test/imodel/GetTextureImage.test.js +29 -0
  584. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -0
  585. package/lib/esm/test/imodel/IModel.test.d.ts +2 -0
  586. package/lib/esm/test/imodel/IModel.test.d.ts.map +1 -0
  587. package/lib/esm/test/imodel/IModel.test.js +2601 -0
  588. package/lib/esm/test/imodel/IModel.test.js.map +1 -0
  589. package/lib/esm/test/imodel/ProjectExtents.test.d.ts +2 -0
  590. package/lib/esm/test/imodel/ProjectExtents.test.d.ts.map +1 -0
  591. package/lib/esm/test/imodel/ProjectExtents.test.js +66 -0
  592. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -0
  593. package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts +2 -0
  594. package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts.map +1 -0
  595. package/lib/esm/test/imodel/SchemaXmlImport.test.js +74 -0
  596. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -0
  597. package/lib/esm/test/index.d.ts +7 -0
  598. package/lib/esm/test/index.d.ts.map +1 -0
  599. package/lib/esm/test/index.js +11 -0
  600. package/lib/esm/test/index.js.map +1 -0
  601. package/lib/esm/test/misc/DevTools.test.d.ts +2 -0
  602. package/lib/esm/test/misc/DevTools.test.d.ts.map +1 -0
  603. package/lib/esm/test/misc/DevTools.test.js +72 -0
  604. package/lib/esm/test/misc/DevTools.test.js.map +1 -0
  605. package/lib/esm/test/misc/EntitySubClasses.test.d.ts +2 -0
  606. package/lib/esm/test/misc/EntitySubClasses.test.d.ts.map +1 -0
  607. package/lib/esm/test/misc/EntitySubClasses.test.js +106 -0
  608. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -0
  609. package/lib/esm/test/misc/GeoServices.test.d.ts +2 -0
  610. package/lib/esm/test/misc/GeoServices.test.d.ts.map +1 -0
  611. package/lib/esm/test/misc/GeoServices.test.js +850 -0
  612. package/lib/esm/test/misc/GeoServices.test.js.map +1 -0
  613. package/lib/esm/test/misc/PromiseMemoizer.test.d.ts +2 -0
  614. package/lib/esm/test/misc/PromiseMemoizer.test.d.ts.map +1 -0
  615. package/lib/esm/test/misc/PromiseMemoizer.test.js +111 -0
  616. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -0
  617. package/lib/esm/test/native/DgnDbWorker.test.d.ts +2 -0
  618. package/lib/esm/test/native/DgnDbWorker.test.d.ts.map +1 -0
  619. package/lib/esm/test/native/DgnDbWorker.test.js +159 -0
  620. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -0
  621. package/lib/esm/test/rpc/response.test.d.ts +2 -0
  622. package/lib/esm/test/rpc/response.test.d.ts.map +1 -0
  623. package/lib/esm/test/rpc/response.test.js +112 -0
  624. package/lib/esm/test/rpc/response.test.js.map +1 -0
  625. package/lib/esm/test/schema/ClassRegistry.test.d.ts +2 -0
  626. package/lib/esm/test/schema/ClassRegistry.test.d.ts.map +1 -0
  627. package/lib/esm/test/schema/ClassRegistry.test.js +679 -0
  628. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -0
  629. package/lib/esm/test/schema/FunctionalDomain.test.d.ts +2 -0
  630. package/lib/esm/test/schema/FunctionalDomain.test.d.ts.map +1 -0
  631. package/lib/esm/test/schema/FunctionalDomain.test.js +490 -0
  632. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -0
  633. package/lib/esm/test/schema/GenericDomain.test.d.ts +2 -0
  634. package/lib/esm/test/schema/GenericDomain.test.d.ts.map +1 -0
  635. package/lib/esm/test/schema/GenericDomain.test.js +132 -0
  636. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -0
  637. package/lib/esm/test/schema/IModelSchemaContext.test.d.ts +2 -0
  638. package/lib/esm/test/schema/IModelSchemaContext.test.d.ts.map +1 -0
  639. package/lib/esm/test/schema/IModelSchemaContext.test.js +95 -0
  640. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -0
  641. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts +4 -0
  642. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts.map +1 -0
  643. package/lib/esm/test/sheetindex/SheetIndex.test.js +312 -0
  644. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -0
  645. package/lib/esm/test/standalone/ChangeMerge.test.d.ts +2 -0
  646. package/lib/esm/test/standalone/ChangeMerge.test.d.ts.map +1 -0
  647. package/lib/esm/test/standalone/ChangeMerge.test.js +413 -0
  648. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -0
  649. package/lib/esm/test/standalone/ChangesetReader.test.d.ts +2 -0
  650. package/lib/esm/test/standalone/ChangesetReader.test.d.ts.map +1 -0
  651. package/lib/esm/test/standalone/ChangesetReader.test.js +890 -0
  652. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -0
  653. package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts +2 -0
  654. package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts.map +1 -0
  655. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js +49 -0
  656. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -0
  657. package/lib/esm/test/standalone/DisplayStyle.test.d.ts +2 -0
  658. package/lib/esm/test/standalone/DisplayStyle.test.d.ts.map +1 -0
  659. package/lib/esm/test/standalone/DisplayStyle.test.js +136 -0
  660. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -0
  661. package/lib/esm/test/standalone/ElementGraphics.test.d.ts +2 -0
  662. package/lib/esm/test/standalone/ElementGraphics.test.d.ts.map +1 -0
  663. package/lib/esm/test/standalone/ElementGraphics.test.js +127 -0
  664. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -0
  665. package/lib/esm/test/standalone/ElementMesh.test.d.ts +2 -0
  666. package/lib/esm/test/standalone/ElementMesh.test.d.ts.map +1 -0
  667. package/lib/esm/test/standalone/ElementMesh.test.js +142 -0
  668. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -0
  669. package/lib/esm/test/standalone/ExportGraphics.test.d.ts +2 -0
  670. package/lib/esm/test/standalone/ExportGraphics.test.d.ts.map +1 -0
  671. package/lib/esm/test/standalone/ExportGraphics.test.js +1040 -0
  672. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -0
  673. package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts +2 -0
  674. package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts.map +1 -0
  675. package/lib/esm/test/standalone/GeometryChangeEvents.test.js +139 -0
  676. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -0
  677. package/lib/esm/test/standalone/GeometryStream.test.d.ts +2 -0
  678. package/lib/esm/test/standalone/GeometryStream.test.d.ts.map +1 -0
  679. package/lib/esm/test/standalone/GeometryStream.test.js +2869 -0
  680. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -0
  681. package/lib/esm/test/standalone/HubMock.test.d.ts +2 -0
  682. package/lib/esm/test/standalone/HubMock.test.d.ts.map +1 -0
  683. package/lib/esm/test/standalone/HubMock.test.js +343 -0
  684. package/lib/esm/test/standalone/HubMock.test.js.map +1 -0
  685. package/lib/esm/test/standalone/IModelWrite.test.d.ts +7 -0
  686. package/lib/esm/test/standalone/IModelWrite.test.d.ts.map +1 -0
  687. package/lib/esm/test/standalone/IModelWrite.test.js +859 -0
  688. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -0
  689. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts +2 -0
  690. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts.map +1 -0
  691. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js +417 -0
  692. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -0
  693. package/lib/esm/test/standalone/MergeConflict.test.d.ts +7 -0
  694. package/lib/esm/test/standalone/MergeConflict.test.d.ts.map +1 -0
  695. package/lib/esm/test/standalone/MergeConflict.test.js +345 -0
  696. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -0
  697. package/lib/esm/test/standalone/NativeAppStorage.test.d.ts +2 -0
  698. package/lib/esm/test/standalone/NativeAppStorage.test.d.ts.map +1 -0
  699. package/lib/esm/test/standalone/NativeAppStorage.test.js +121 -0
  700. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -0
  701. package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts +2 -0
  702. package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts.map +1 -0
  703. package/lib/esm/test/standalone/RenderMaterialElement.test.js +398 -0
  704. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -0
  705. package/lib/esm/test/standalone/RenderTimeline.test.d.ts +2 -0
  706. package/lib/esm/test/standalone/RenderTimeline.test.d.ts.map +1 -0
  707. package/lib/esm/test/standalone/RenderTimeline.test.js +71 -0
  708. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -0
  709. package/lib/esm/test/standalone/SQLiteDb.test.d.ts +2 -0
  710. package/lib/esm/test/standalone/SQLiteDb.test.d.ts.map +1 -0
  711. package/lib/esm/test/standalone/SQLiteDb.test.js +63 -0
  712. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -0
  713. package/lib/esm/test/standalone/SchemaUtils.test.d.ts +2 -0
  714. package/lib/esm/test/standalone/SchemaUtils.test.d.ts.map +1 -0
  715. package/lib/esm/test/standalone/SchemaUtils.test.js +25 -0
  716. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -0
  717. package/lib/esm/test/standalone/SectionDrawing.test.d.ts +2 -0
  718. package/lib/esm/test/standalone/SectionDrawing.test.d.ts.map +1 -0
  719. package/lib/esm/test/standalone/SectionDrawing.test.js +83 -0
  720. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -0
  721. package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts +2 -0
  722. package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts.map +1 -0
  723. package/lib/esm/test/standalone/ServerBasedLocks.test.js +279 -0
  724. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -0
  725. package/lib/esm/test/standalone/Setting.test.d.ts +2 -0
  726. package/lib/esm/test/standalone/Setting.test.d.ts.map +1 -0
  727. package/lib/esm/test/standalone/Setting.test.js +76 -0
  728. package/lib/esm/test/standalone/Setting.test.js.map +1 -0
  729. package/lib/esm/test/standalone/Settings.test.d.ts +2 -0
  730. package/lib/esm/test/standalone/Settings.test.d.ts.map +1 -0
  731. package/lib/esm/test/standalone/Settings.test.js +349 -0
  732. package/lib/esm/test/standalone/Settings.test.js.map +1 -0
  733. package/lib/esm/test/standalone/SettingsSchemas.test.d.ts +2 -0
  734. package/lib/esm/test/standalone/SettingsSchemas.test.d.ts.map +1 -0
  735. package/lib/esm/test/standalone/SettingsSchemas.test.js +31 -0
  736. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -0
  737. package/lib/esm/test/standalone/SnapshotDb.test.d.ts +2 -0
  738. package/lib/esm/test/standalone/SnapshotDb.test.d.ts.map +1 -0
  739. package/lib/esm/test/standalone/SnapshotDb.test.js +153 -0
  740. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -0
  741. package/lib/esm/test/standalone/Texture.test.d.ts +2 -0
  742. package/lib/esm/test/standalone/Texture.test.d.ts.map +1 -0
  743. package/lib/esm/test/standalone/Texture.test.js +90 -0
  744. package/lib/esm/test/standalone/Texture.test.js.map +1 -0
  745. package/lib/esm/test/standalone/TileCache.test.d.ts +9 -0
  746. package/lib/esm/test/standalone/TileCache.test.d.ts.map +1 -0
  747. package/lib/esm/test/standalone/TileCache.test.js +127 -0
  748. package/lib/esm/test/standalone/TileCache.test.js.map +1 -0
  749. package/lib/esm/test/standalone/TileTree.test.d.ts +2 -0
  750. package/lib/esm/test/standalone/TileTree.test.d.ts.map +1 -0
  751. package/lib/esm/test/standalone/TileTree.test.js +241 -0
  752. package/lib/esm/test/standalone/TileTree.test.js.map +1 -0
  753. package/lib/esm/test/standalone/TxnManager.test.d.ts +2 -0
  754. package/lib/esm/test/standalone/TxnManager.test.d.ts.map +1 -0
  755. package/lib/esm/test/standalone/TxnManager.test.js +878 -0
  756. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -0
  757. package/lib/esm/test/standalone/ViewDefinition.test.d.ts +2 -0
  758. package/lib/esm/test/standalone/ViewDefinition.test.d.ts.map +1 -0
  759. package/lib/esm/test/standalone/ViewDefinition.test.js +279 -0
  760. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -0
  761. package/lib/esm/test/standalone/ViewStoreDb.test.d.ts +2 -0
  762. package/lib/esm/test/standalone/ViewStoreDb.test.d.ts.map +1 -0
  763. package/lib/esm/test/standalone/ViewStoreDb.test.js +288 -0
  764. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -0
  765. package/lib/esm/test/standalone/Workspace.test.d.ts +2 -0
  766. package/lib/esm/test/standalone/Workspace.test.d.ts.map +1 -0
  767. package/lib/esm/test/standalone/Workspace.test.js +161 -0
  768. package/lib/esm/test/standalone/Workspace.test.js.map +1 -0
  769. package/lib/esm/workspace/Settings.d.ts +216 -0
  770. package/lib/esm/workspace/Settings.d.ts.map +1 -0
  771. package/lib/esm/workspace/Settings.js +83 -0
  772. package/lib/esm/workspace/Settings.js.map +1 -0
  773. package/lib/esm/workspace/SettingsSchemas.d.ts +135 -0
  774. package/lib/esm/workspace/SettingsSchemas.d.ts.map +1 -0
  775. package/lib/esm/workspace/SettingsSchemas.js +9 -0
  776. package/lib/esm/workspace/SettingsSchemas.js.map +1 -0
  777. package/lib/esm/workspace/Workspace.d.ts +507 -0
  778. package/lib/esm/workspace/Workspace.d.ts.map +1 -0
  779. package/lib/esm/workspace/Workspace.js +97 -0
  780. package/lib/esm/workspace/Workspace.js.map +1 -0
  781. package/lib/esm/workspace/WorkspaceEditor.d.ts +245 -0
  782. package/lib/esm/workspace/WorkspaceEditor.d.ts.map +1 -0
  783. package/lib/esm/workspace/WorkspaceEditor.js +31 -0
  784. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -0
  785. package/package.json +18 -14
@@ -0,0 +1,27 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { join } from "path";
6
+ import { tmpdir } from "os";
7
+ import { ProcessDetector } from "@itwin/core-bentley";
8
+ export class KnownTestLocations {
9
+ /** The directory where test assets are stored. Keep in mind that the test is playing the role of the app. */
10
+ static get assetsDir() {
11
+ if (ProcessDetector.isMobileAppBackend) {
12
+ // Note: this relies on the native test runner copying its assets out of its app wrapper into
13
+ // its tmpdir before running the tests.
14
+ return join(tmpdir(), "assets");
15
+ }
16
+ return join(__dirname, "assets");
17
+ }
18
+ /** The directory where tests can write. */
19
+ static get outputDir() {
20
+ if (ProcessDetector.isMobileAppBackend) {
21
+ return join(tmpdir(), "output");
22
+ }
23
+ // Assume that we are running in nodejs
24
+ return join(__dirname, "output");
25
+ }
26
+ }
27
+ //# sourceMappingURL=KnownTestLocations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KnownTestLocations.js","sourceRoot":"","sources":["../../../src/test/KnownTestLocations.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,OAAO,kBAAkB;IAE7B,6GAA6G;IACtG,MAAM,KAAK,SAAS;QACzB,IAAI,eAAe,CAAC,kBAAkB,EAAE,CAAC;YACvC,6FAA6F;YAC7F,uCAAuC;YACvC,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,2CAA2C;IACpC,MAAM,KAAK,SAAS;QACzB,IAAI,eAAe,CAAC,kBAAkB,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC;QAED,uCAAuC;QACvC,OAAO,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;CACF","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*--------------------------------------------------------------------------------------------*/\nimport { join } from \"path\";\nimport { tmpdir } from \"os\";\nimport { ProcessDetector } from \"@itwin/core-bentley\";\n\nexport class KnownTestLocations {\n\n /** The directory where test assets are stored. Keep in mind that the test is playing the role of the app. */\n public static get assetsDir(): string {\n if (ProcessDetector.isMobileAppBackend) {\n // Note: this relies on the native test runner copying its assets out of its app wrapper into\n // its tmpdir before running the tests.\n return join(tmpdir(), \"assets\");\n }\n\n return join(__dirname, \"assets\");\n }\n\n /** The directory where tests can write. */\n public static get outputDir(): string {\n if (ProcessDetector.isMobileAppBackend) {\n return join(tmpdir(), \"output\");\n }\n\n // Assume that we are running in nodejs\n return join(__dirname, \"output\");\n }\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import { Id64String } from "@itwin/core-bentley";
2
+ import { IModelDb } from "../IModelDb";
3
+ import { Model } from "../Model";
4
+ export declare function fmtElement(iModel: IModelDb, elementId: Id64String): string;
5
+ export declare function fmtModel(model: Model): string;
6
+ export declare function printElementTree(loggerCategory: string, seen: Set<Id64String>, iModel: IModelDb, elementId: Id64String, indent: number): void;
7
+ //# sourceMappingURL=PrintElementTree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrintElementTree.d.ts","sourceRoot":"","sources":["../../../src/test/PrintElementTree.ts"],"names":[],"mappings":"AAIA,OAAO,EAAY,UAAU,EAAU,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,wBAAgB,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,GAAG,MAAM,CAG1E;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAE7C;AAED,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,QAyBtI"}
@@ -0,0 +1,35 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { DbResult, Logger } from "@itwin/core-bentley";
6
+ import { Element } from "../Element";
7
+ export function fmtElement(iModel, elementId) {
8
+ const el = iModel.elements.getElement(elementId);
9
+ return `${el.id} ${el.classFullName} ${el.getDisplayLabel()}`;
10
+ }
11
+ export function fmtModel(model) {
12
+ return `${model.id} ${model.classFullName} ${model.name}`;
13
+ }
14
+ export function printElementTree(loggerCategory, seen, iModel, elementId, indent) {
15
+ if (seen.has(elementId)) {
16
+ Logger.logTrace(loggerCategory, `${"\t".repeat(indent)}${fmtElement(iModel, elementId)} (SEEN)`);
17
+ return;
18
+ }
19
+ seen.add(elementId);
20
+ Logger.logTrace(loggerCategory, `${"\t".repeat(indent)}${fmtElement(iModel, elementId)}`);
21
+ for (const child of iModel.elements.queryChildren(elementId)) {
22
+ printElementTree(loggerCategory, seen, iModel, child, indent + 1);
23
+ }
24
+ const subModel = iModel.models.tryGetModel(elementId);
25
+ if (subModel !== undefined) {
26
+ Logger.logTrace(loggerCategory, `${"\t".repeat(indent)} subModel ${fmtModel(subModel)}:`);
27
+ iModel.withPreparedStatement(`select ecinstanceid from ${Element.classFullName} where Model.Id = ?`, (stmt) => {
28
+ stmt.bindId(1, subModel.id);
29
+ while (stmt.step() === DbResult.BE_SQLITE_ROW) {
30
+ printElementTree(loggerCategory, seen, iModel, stmt.getValue(0).getId(), indent + 1);
31
+ }
32
+ });
33
+ }
34
+ }
35
+ //# sourceMappingURL=PrintElementTree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrintElementTree.js","sourceRoot":"","sources":["../../../src/test/PrintElementTree.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,EAAE,QAAQ,EAAc,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGnE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,UAAU,UAAU,CAAC,MAAgB,EAAE,SAAqB;IAChE,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACjD,OAAO,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,aAAa,IAAI,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAY;IACnC,OAAO,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,cAAsB,EAAE,IAAqB,EAAE,MAAgB,EAAE,SAAqB,EAAE,MAAc;IACrI,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QACjG,OAAO;IACT,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEpB,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IAE1F,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7D,gBAAgB,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAQ,SAAS,CAAC,CAAC;IAC7D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAE1F,MAAM,CAAC,qBAAqB,CAAC,4BAA4B,OAAO,CAAC,aAAa,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE;YAC5G,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5B,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,aAAa,EAAE,CAAC;gBAC9C,gBAAgB,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;YACvF,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;AACH,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*--------------------------------------------------------------------------------------------*/\nimport { DbResult, Id64String, Logger } from \"@itwin/core-bentley\";\nimport { IModelDb } from \"../IModelDb\";\nimport { Model } from \"../Model\";\nimport { Element } from \"../Element\";\n\nexport function fmtElement(iModel: IModelDb, elementId: Id64String): string {\n const el = iModel.elements.getElement(elementId);\n return `${el.id} ${el.classFullName} ${el.getDisplayLabel()}`;\n}\n\nexport function fmtModel(model: Model): string {\n return `${model.id} ${model.classFullName} ${model.name}`;\n}\n\nexport function printElementTree(loggerCategory: string, seen: Set<Id64String>, iModel: IModelDb, elementId: Id64String, indent: number) {\n if (seen.has(elementId)) {\n Logger.logTrace(loggerCategory, `${\"\\t\".repeat(indent)}${fmtElement(iModel, elementId)} (SEEN)`);\n return;\n }\n\n seen.add(elementId);\n\n Logger.logTrace(loggerCategory, `${\"\\t\".repeat(indent)}${fmtElement(iModel, elementId)}`);\n\n for (const child of iModel.elements.queryChildren(elementId)) {\n printElementTree(loggerCategory, seen, iModel, child, indent + 1);\n }\n\n const subModel = iModel.models.tryGetModel<Model>(elementId);\n if (subModel !== undefined) {\n Logger.logTrace(loggerCategory, `${\"\\t\".repeat(indent)} subModel ${fmtModel(subModel)}:`);\n\n iModel.withPreparedStatement(`select ecinstanceid from ${Element.classFullName} where Model.Id = ?`, (stmt) => {\n stmt.bindId(1, subModel.id);\n while (stmt.step() === DbResult.BE_SQLITE_ROW) {\n printElementTree(loggerCategory, seen, iModel, stmt.getValue(0).getId(), indent + 1);\n }\n });\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=PropertyDb.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PropertyDb.test.d.ts","sourceRoot":"","sources":["../../../src/test/PropertyDb.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,71 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { expect } from "chai";
6
+ import { existsSync } from "fs";
7
+ import { join } from "path";
8
+ import { OpenMode } from "@itwin/core-bentley";
9
+ import { IModelHost } from "../IModelHost";
10
+ import { PropertyStore } from "../PropertyStore";
11
+ import { KnownTestLocations } from "./KnownTestLocations";
12
+ describe("PropertyDb", function () {
13
+ this.timeout(0);
14
+ const outputDir = KnownTestLocations.outputDir;
15
+ before(async () => IModelHost.startup());
16
+ it("save and load properties", async () => {
17
+ const dbName = join(outputDir, "properties.db");
18
+ PropertyStore.PropertyDb.createNewDb(dbName);
19
+ expect(existsSync(dbName)).true;
20
+ const propertyDb = new PropertyStore.PropertyDb();
21
+ propertyDb.openDb(dbName, OpenMode.ReadWrite);
22
+ const countProperties = (filter) => {
23
+ let count = 0;
24
+ propertyDb.forAllProperties(() => {
25
+ ++count;
26
+ }, filter);
27
+ return count;
28
+ };
29
+ const testJson = {
30
+ a: "test string",
31
+ num: 20,
32
+ b: true,
33
+ };
34
+ const string1 = "this is a test";
35
+ const string2 = "this is another test";
36
+ const blob1 = new Uint8Array([2, 33, 23, 0, 202]);
37
+ await propertyDb.saveProperty("test-string", string1);
38
+ await propertyDb.saveProperty("test-string2", string2);
39
+ await propertyDb.saveProperty("test-obj", testJson);
40
+ await propertyDb.saveProperty("is-false", false);
41
+ await propertyDb.saveProperty("is-true", true);
42
+ await propertyDb.saveProperty("is-100", 100);
43
+ await propertyDb.saveProperty("is-2.3", 2.3);
44
+ await propertyDb.saveProperty("is-blob", blob1);
45
+ propertyDb.saveChanges();
46
+ expect(countProperties()).equal(8);
47
+ expect(propertyDb.getString("test-string")).equals(string1);
48
+ expect(propertyDb.getString("test-string2")).equals(string2);
49
+ expect(propertyDb.getObject("test-obj")).deep.equal(testJson);
50
+ expect(propertyDb.getBoolean("is-false")).false;
51
+ expect(propertyDb.getBoolean("is-true")).true;
52
+ expect(propertyDb.getNumber("is-100")).equal(100);
53
+ expect(propertyDb.getNumber("is-2.3")).equal(2.3);
54
+ expect(propertyDb.getBlob("is-blob")).deep.equal(blob1);
55
+ const updated = "this is a different string";
56
+ await propertyDb.saveProperty("test-string", updated);
57
+ expect(propertyDb.getString("test-string")).equals(updated);
58
+ expect(propertyDb.getNumber("test-string")).undefined;
59
+ expect(propertyDb.getString("not there")).undefined;
60
+ expect(propertyDb.getBlob("not there")).undefined;
61
+ expect(propertyDb.getNumber("not there")).undefined;
62
+ expect(propertyDb.getBlob("not there")).undefined;
63
+ expect(propertyDb.getNumber("not there", 50)).equal(50);
64
+ expect(countProperties({ value: "test%", valueCompare: "LIKE" })).equal(3);
65
+ await propertyDb.deleteProperty("test-string");
66
+ expect(countProperties()).equal(7);
67
+ expect(countProperties({ value: "test%", valueCompare: "LIKE" })).equal(2);
68
+ propertyDb.closeDb(true);
69
+ });
70
+ });
71
+ //# sourceMappingURL=PropertyDb.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PropertyDb.test.js","sourceRoot":"","sources":["../../../src/test/PropertyDb.test.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\nimport { expect } from \"chai\";\nimport { existsSync } from \"fs\";\nimport { Suite } from \"mocha\";\nimport { join } from \"path\";\nimport { OpenMode } from \"@itwin/core-bentley\";\nimport { IModelHost } from \"../IModelHost\";\nimport { PropertyStore } from \"../PropertyStore\";\nimport { KnownTestLocations } from \"./KnownTestLocations\";\n\ndescribe(\"PropertyDb\", function (this: Suite) {\n this.timeout(0);\n\n const outputDir = KnownTestLocations.outputDir;\n\n before(async () => IModelHost.startup());\n\n it(\"save and load properties\", async () => {\n const dbName = join(outputDir, \"properties.db\");\n PropertyStore.PropertyDb.createNewDb(dbName);\n expect(existsSync(dbName)).true;\n const propertyDb = new PropertyStore.PropertyDb();\n propertyDb.openDb(dbName, OpenMode.ReadWrite);\n\n const countProperties = (filter?: PropertyStore.PropertyFilter) => {\n let count = 0;\n propertyDb.forAllProperties(() => {\n ++count;\n }, filter);\n return count;\n };\n const testJson = {\n a: \"test string\",\n num: 20,\n b: true,\n };\n\n const string1 = \"this is a test\";\n const string2 = \"this is another test\";\n const blob1 = new Uint8Array([2, 33, 23, 0, 202]);\n await propertyDb.saveProperty(\"test-string\", string1);\n await propertyDb.saveProperty(\"test-string2\", string2);\n await propertyDb.saveProperty(\"test-obj\", testJson);\n await propertyDb.saveProperty(\"is-false\", false);\n await propertyDb.saveProperty(\"is-true\", true);\n await propertyDb.saveProperty(\"is-100\", 100);\n await propertyDb.saveProperty(\"is-2.3\", 2.3);\n await propertyDb.saveProperty(\"is-blob\", blob1);\n propertyDb.saveChanges();\n expect(countProperties()).equal(8);\n\n expect(propertyDb.getString(\"test-string\")).equals(string1);\n expect(propertyDb.getString(\"test-string2\")).equals(string2);\n expect(propertyDb.getObject(\"test-obj\")).deep.equal(testJson);\n expect(propertyDb.getBoolean(\"is-false\")).false;\n expect(propertyDb.getBoolean(\"is-true\")).true;\n expect(propertyDb.getNumber(\"is-100\")).equal(100);\n expect(propertyDb.getNumber(\"is-2.3\")).equal(2.3);\n expect(propertyDb.getBlob(\"is-blob\")).deep.equal(blob1);\n\n const updated = \"this is a different string\";\n await propertyDb.saveProperty(\"test-string\", updated);\n expect(propertyDb.getString(\"test-string\")).equals(updated);\n\n expect(propertyDb.getNumber(\"test-string\")).undefined;\n expect(propertyDb.getString(\"not there\")).undefined;\n expect(propertyDb.getBlob(\"not there\")).undefined;\n expect(propertyDb.getNumber(\"not there\")).undefined;\n expect(propertyDb.getBlob(\"not there\")).undefined;\n expect(propertyDb.getNumber(\"not there\", 50)).equal(50);\n\n expect(countProperties({ value: \"test%\", valueCompare: \"LIKE\" })).equal(3);\n await propertyDb.deleteProperty(\"test-string\");\n expect(countProperties()).equal(7);\n expect(countProperties({ value: \"test%\", valueCompare: \"LIKE\" })).equal(2);\n\n propertyDb.closeDb(true);\n });\n});\n"]}
@@ -0,0 +1,33 @@
1
+ import { BentleyStatus } from "@itwin/core-bentley";
2
+ export interface LzmaParams {
3
+ dictSize?: number;
4
+ level?: number;
5
+ lc?: number;
6
+ lp?: number;
7
+ pb?: number;
8
+ fb?: number;
9
+ numHashBytes?: number;
10
+ mc?: number;
11
+ writeEndMark?: number;
12
+ btMode?: number;
13
+ numThreads?: number;
14
+ blockSize?: number;
15
+ numBlockThreads?: number;
16
+ numTotalThreads?: number;
17
+ algo?: number;
18
+ }
19
+ export interface ChangesetSizeInfo {
20
+ compressSize?: number;
21
+ uncompressSize?: number;
22
+ prefixSize?: number;
23
+ }
24
+ export declare class RevisionUtility {
25
+ static readonly DEFAULT: LzmaParams;
26
+ static recompressRevision(sourceFile: string, targetFile: string, lzmaProps?: LzmaParams): BentleyStatus;
27
+ static disassembleRevision(sourceFile: string, targetDir: string): BentleyStatus;
28
+ static assembleRevision(targetFile: string, rawChangesetFile: string, prefixFile?: string, lzmaProps?: LzmaParams): BentleyStatus;
29
+ static normalizeLzmaParams(lzmaProps?: LzmaParams): LzmaParams;
30
+ static computeStatistics(sourceFile: string, addPrefix?: boolean): any;
31
+ static getUncompressSize(sourceFile: string): ChangesetSizeInfo;
32
+ }
33
+ //# sourceMappingURL=RevisionUtility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RevisionUtility.d.ts","sourceRoot":"","sources":["../../../src/test/RevisionUtility.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,eAAe;IAC1B,gBAAuB,OAAO,EAAE,UAAU,CAgBxC;WAEY,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,GAAG,aAAa;WAKjG,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,aAAa;WAKzE,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,GAAG,aAAa;WAO1H,mBAAmB,CAAC,SAAS,CAAC,EAAE,UAAU,GAAG,UAAU;WAGvD,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,GAAE,OAAc,GAAG,GAAG;WAKrE,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB;CAKvE"}
@@ -0,0 +1,52 @@
1
+ import { IModelNative } from "../internal/NativePlatform";
2
+ import { IModelJsFs } from "../IModelJsFs";
3
+ export class RevisionUtility {
4
+ static DEFAULT = {
5
+ algo: 1,
6
+ blockSize: 67108864,
7
+ btMode: 1,
8
+ dictSize: 16777216,
9
+ fb: 64,
10
+ lc: 3,
11
+ level: 7,
12
+ lp: 0,
13
+ mc: 48,
14
+ numBlockThreads: 4,
15
+ numHashBytes: 4,
16
+ numThreads: 2,
17
+ numTotalThreads: 8,
18
+ pb: 2,
19
+ writeEndMark: 0,
20
+ };
21
+ static recompressRevision(sourceFile, targetFile, lzmaProps) {
22
+ if (!IModelJsFs.existsSync(sourceFile))
23
+ throw new Error("SourceFile does not exists");
24
+ return IModelNative.platform.RevisionUtility.recompressRevision(sourceFile, targetFile, lzmaProps ? JSON.stringify(lzmaProps) : undefined);
25
+ }
26
+ static disassembleRevision(sourceFile, targetDir) {
27
+ if (!IModelJsFs.existsSync(sourceFile))
28
+ throw new Error("SourceFile does not exists");
29
+ return IModelNative.platform.RevisionUtility.disassembleRevision(sourceFile, targetDir);
30
+ }
31
+ static assembleRevision(targetFile, rawChangesetFile, prefixFile, lzmaProps) {
32
+ if (!IModelJsFs.existsSync(rawChangesetFile))
33
+ throw new Error("RawChangesetFile does not exists");
34
+ if (prefixFile && !IModelJsFs.existsSync(prefixFile))
35
+ throw new Error("prefixFile does not exists");
36
+ return IModelNative.platform.RevisionUtility.assembleRevision(targetFile, rawChangesetFile, prefixFile, lzmaProps ? JSON.stringify(lzmaProps) : undefined);
37
+ }
38
+ static normalizeLzmaParams(lzmaProps) {
39
+ return JSON.parse(IModelNative.platform.RevisionUtility.normalizeLzmaParams(lzmaProps ? JSON.stringify(lzmaProps) : undefined));
40
+ }
41
+ static computeStatistics(sourceFile, addPrefix = true) {
42
+ if (!IModelJsFs.existsSync(sourceFile))
43
+ throw new Error("SourceFile does not exists");
44
+ return JSON.parse(IModelNative.platform.RevisionUtility.computeStatistics(sourceFile, addPrefix));
45
+ }
46
+ static getUncompressSize(sourceFile) {
47
+ if (!IModelJsFs.existsSync(sourceFile))
48
+ throw new Error("SourceFile does not exists");
49
+ return JSON.parse(IModelNative.platform.RevisionUtility.getUncompressSize(sourceFile));
50
+ }
51
+ }
52
+ //# sourceMappingURL=RevisionUtility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RevisionUtility.js","sourceRoot":"","sources":["../../../src/test/RevisionUtility.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*--------------------------------------------------------------------------------------------*/\nimport { BentleyStatus } from \"@itwin/core-bentley\";\nimport { IModelNative } from \"../internal/NativePlatform\";\nimport { IModelJsFs } from \"../IModelJsFs\";\n\nexport interface LzmaParams {\n dictSize?: number;\n level?: number;\n lc?: number;\n lp?: number;\n pb?: number;\n fb?: number;\n numHashBytes?: number;\n mc?: number;\n writeEndMark?: number;\n btMode?: number;\n numThreads?: number;\n blockSize?: number;\n numBlockThreads?: number;\n numTotalThreads?: number;\n algo?: number;\n}\n\nexport interface ChangesetSizeInfo {\n compressSize?: number;\n uncompressSize?: number;\n prefixSize?: number;\n}\n\nexport class RevisionUtility {\n public static readonly DEFAULT: LzmaParams = {\n algo: 1,\n blockSize: 67108864,\n btMode: 1,\n dictSize: 16777216,\n fb: 64,\n lc: 3,\n level: 7,\n lp: 0,\n mc: 48,\n numBlockThreads: 4,\n numHashBytes: 4,\n numThreads: 2,\n numTotalThreads: 8,\n pb: 2,\n writeEndMark: 0,\n };\n\n public static recompressRevision(sourceFile: string, targetFile: string, lzmaProps?: LzmaParams): BentleyStatus {\n if (!IModelJsFs.existsSync(sourceFile))\n throw new Error(\"SourceFile does not exists\");\n return IModelNative.platform.RevisionUtility.recompressRevision(sourceFile, targetFile, lzmaProps ? JSON.stringify(lzmaProps) : undefined);\n }\n public static disassembleRevision(sourceFile: string, targetDir: string): BentleyStatus {\n if (!IModelJsFs.existsSync(sourceFile))\n throw new Error(\"SourceFile does not exists\");\n return IModelNative.platform.RevisionUtility.disassembleRevision(sourceFile, targetDir);\n }\n public static assembleRevision(targetFile: string, rawChangesetFile: string, prefixFile?: string, lzmaProps?: LzmaParams): BentleyStatus {\n if (!IModelJsFs.existsSync(rawChangesetFile))\n throw new Error(\"RawChangesetFile does not exists\");\n if (prefixFile && !IModelJsFs.existsSync(prefixFile))\n throw new Error(\"prefixFile does not exists\");\n return IModelNative.platform.RevisionUtility.assembleRevision(targetFile, rawChangesetFile, prefixFile, lzmaProps ? JSON.stringify(lzmaProps) : undefined);\n }\n public static normalizeLzmaParams(lzmaProps?: LzmaParams): LzmaParams {\n return JSON.parse(IModelNative.platform.RevisionUtility.normalizeLzmaParams(lzmaProps ? JSON.stringify(lzmaProps) : undefined)) as LzmaParams;\n }\n public static computeStatistics(sourceFile: string, addPrefix: boolean = true): any {\n if (!IModelJsFs.existsSync(sourceFile))\n throw new Error(\"SourceFile does not exists\");\n return JSON.parse(IModelNative.platform.RevisionUtility.computeStatistics(sourceFile, addPrefix));\n }\n public static getUncompressSize(sourceFile: string): ChangesetSizeInfo {\n if (!IModelJsFs.existsSync(sourceFile))\n throw new Error(\"SourceFile does not exists\");\n return JSON.parse(IModelNative.platform.RevisionUtility.getUncompressSize(sourceFile)) as ChangesetSizeInfo;\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SchemaUtils.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaUtils.test.d.ts","sourceRoot":"","sources":["../../../src/test/SchemaUtils.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,97 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { assert } from "chai";
6
+ import { convertEC2SchemasToEC3Schemas, upgradeCustomAttributesToEC3 } from "../core-backend";
7
+ import { KnownTestLocations } from "./KnownTestLocations";
8
+ import { ECDbTestHelper } from "./ecdb/ECDbTestHelper";
9
+ import { DbResult } from "@itwin/core-bentley";
10
+ describe("convertEC2Schemas", () => {
11
+ it("verify namespace", () => {
12
+ const ec2SchemaXml = `<?xml version="1.0" encoding="UTF-8"?>
13
+ <ECSchema schemaName="TestSchema" version="1.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.2.0">
14
+ <ECSchemaReference name="RefSchema" version="01.00" prefix="rs" />
15
+ <ECClass typeName="TestEntityClass" isDomainClass="true" />
16
+ </ECSchema>`;
17
+ const ec2RefSchema = `<?xml version="1.0" encoding="UTF-8"?>
18
+ <ECSchema schemaName="RefSchema" nameSpacePrefix="rs" version="1.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.2.0">
19
+ <ECClass typeName="TestStructClass" isStruct="true" />
20
+ </ECSchema>`;
21
+ const ec3Schemas = convertEC2SchemasToEC3Schemas([ec2SchemaXml, ec2RefSchema]);
22
+ assert.equal(ec3Schemas.length, 2);
23
+ // converted EC3 schemas are in the same order as of input schemas
24
+ const ec3SchemaXml = ec3Schemas[0];
25
+ const ec3RefSchema = ec3Schemas[1];
26
+ assert.isTrue(ec3SchemaXml.includes("http://www.bentley.com/schemas/Bentley.ECXML.3.2"));
27
+ assert.isTrue(ec3RefSchema.includes("http://www.bentley.com/schemas/Bentley.ECXML.3.2"));
28
+ });
29
+ it("rename reserved words", async () => {
30
+ const ec2SchemaXml = `<?xml version="1.0" encoding="UTF-8"?>
31
+ <ECSchema schemaName="TestSchema" version="1.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.2.0">
32
+ <ECClass typeName="TestEntityClass" isDomainClass="true">
33
+ <ECProperty propertyName="Id" typeName="string" />
34
+ <ECProperty propertyName="ECInstanceId" typeName="string" />
35
+ <ECProperty propertyName="ECClassId" typeName="string" />
36
+ <ECProperty propertyName="SourceECInstanceId" typeName="string" />
37
+ <ECProperty propertyName="SourceId" typeName="string" />
38
+ <ECProperty propertyName="SourceECClassId" typeName="string" />
39
+ <ECProperty propertyName="TargetECInstanceId" typeName="string" />
40
+ <ECProperty propertyName="TargetId" typeName="string" />
41
+ <ECProperty propertyName="TargetECClassId" typeName="string" />
42
+ </ECClass>
43
+ <ECClass typeName="TestStructClass" isStruct="true">
44
+ <ECProperty propertyName="Id" typeName="string" />
45
+ <ECProperty propertyName="ECInstanceId" typeName="string" />
46
+ <ECProperty propertyName="ECClassId" typeName="string" />
47
+ </ECClass>
48
+ </ECSchema>`;
49
+ const ec3Schemas = convertEC2SchemasToEC3Schemas([ec2SchemaXml]);
50
+ assert.equal(ec3Schemas.length, 1);
51
+ const schemasWithUpdatedCA = upgradeCustomAttributesToEC3(ec3Schemas);
52
+ assert.equal(schemasWithUpdatedCA.length, 1);
53
+ const outDir = KnownTestLocations.outputDir;
54
+ const db = ECDbTestHelper.createECDb(outDir, "RenameReservedWords.ecdb", schemasWithUpdatedCA[0]);
55
+ assert.isTrue(db !== undefined);
56
+ assert.isTrue(db.isOpen);
57
+ const propNamesInEntityClass = [];
58
+ let stmt = db.prepareStatement("SELECT p.Name FROM meta.ECPropertyDef p JOIN meta.ECClassDef c USING meta.ClassOwnsLocalProperties JOIN meta.ECSchemaDef s USING meta.SchemaOwnsClasses WHERE s.Name='TestSchema' AND c.Name='TestEntityClass' ORDER BY p.Ordinal");
59
+ let rowCount = 0;
60
+ while (stmt.step() === DbResult.BE_SQLITE_ROW) {
61
+ rowCount++;
62
+ const row = stmt.getRow();
63
+ propNamesInEntityClass.push(row.name);
64
+ }
65
+ stmt[Symbol.dispose]();
66
+ assert.equal(rowCount, 9);
67
+ assert.isFalse(propNamesInEntityClass.includes("Id")); // The Id property is a reserved keyword and should have been renamed
68
+ assert.isFalse(propNamesInEntityClass.includes("ECClassId")); // The ECClassId property is a reserved keyword and should have been renamed
69
+ assert.isFalse(propNamesInEntityClass.includes("ECInstanceId")); // The ECInstanceId property is a reserved keyword and should have been renamed
70
+ assert.isTrue(propNamesInEntityClass.includes("TestSchema_Id_")); // The Id property is a reserved keyword and should have been renamed
71
+ assert.isTrue(propNamesInEntityClass.includes("TestSchema_ECClassId_")); // The ECClassId property is a reserved keyword and should have been renamed
72
+ assert.isTrue(propNamesInEntityClass.includes("TestSchema_ECInstanceId_")); // The ECInstanceId property is a reserved keyword and should have been renamed
73
+ assert.isTrue(propNamesInEntityClass.includes("SourceECInstanceId")); // The SourceECInstanceId property is allowed on Entity classes and should not be renamed
74
+ assert.isTrue(propNamesInEntityClass.includes("SourceId")); // The SourceId property is allowed on Entity classes and should not be renamed
75
+ assert.isTrue(propNamesInEntityClass.includes("SourceECClassId")); // The SourceECClassId property is allowed on Entity classes and should not be renamed
76
+ assert.isTrue(propNamesInEntityClass.includes("TargetECInstanceId")); // The TargetECInstanceId property is allowed on Entity classes and should not be renamed
77
+ assert.isTrue(propNamesInEntityClass.includes("TargetId")); // The TargetId property is allowed on Entity classes and should not be renamed
78
+ assert.isTrue(propNamesInEntityClass.includes("TargetECClassId")); // The TargetECClassId property is allowed on Entity classes and should not be renamed
79
+ const propNamesInStructClass = [];
80
+ stmt = db.prepareStatement("SELECT p.Name FROM meta.ECPropertyDef p JOIN meta.ECClassDef c USING meta.ClassOwnsLocalProperties JOIN meta.ECSchemaDef s USING meta.SchemaOwnsClasses WHERE s.Name='TestSchema' AND c.Name='TestStructClass' ORDER BY p.Ordinal");
81
+ rowCount = 0;
82
+ while (stmt.step() === DbResult.BE_SQLITE_ROW) {
83
+ rowCount++;
84
+ const row = stmt.getRow();
85
+ propNamesInStructClass.push(row.name);
86
+ }
87
+ stmt[Symbol.dispose]();
88
+ assert.equal(rowCount, 3);
89
+ assert.isTrue(propNamesInStructClass.includes("Id")); // The Id property is not a reserved keyword for Struct classes and should not be renamed
90
+ assert.isTrue(propNamesInStructClass.includes("ECClassId")); // The ECClassId property is not a reserved keyword for Struct classes and should not be renamed
91
+ assert.isTrue(propNamesInStructClass.includes("ECInstanceId")); // The ECInstanceId property is not a reserved keyword for Struct classes and should not be renamed
92
+ assert.isFalse(propNamesInStructClass.includes("TestSchema_Id_")); // The Id property is not a reserved keyword for Struct classes and should not be renamed
93
+ assert.isFalse(propNamesInStructClass.includes("TestSchema_ECClassId_")); // The ECClassId property is not a reserved keyword for Struct classes and should not be renamed
94
+ assert.isFalse(propNamesInStructClass.includes("TestSchema_ECInstanceId_")); // The ECInstanceId property is not a reserved keyword for Struct classes and should not be renamed
95
+ });
96
+ });
97
+ //# sourceMappingURL=SchemaUtils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaUtils.test.js","sourceRoot":"","sources":["../../../src/test/SchemaUtils.test.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*--------------------------------------------------------------------------------------------*/\nimport { assert } from \"chai\";\nimport { convertEC2SchemasToEC3Schemas, ECDb, ECSqlStatement, upgradeCustomAttributesToEC3 } from \"../core-backend\";\nimport { KnownTestLocations } from \"./KnownTestLocations\";\nimport { ECDbTestHelper } from \"./ecdb/ECDbTestHelper\";\nimport { DbResult } from \"@itwin/core-bentley\";\n\ndescribe(\"convertEC2Schemas\", () => {\n it(\"verify namespace\", () => {\n const ec2SchemaXml = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <ECSchema schemaName=\"TestSchema\" version=\"1.0\" xmlns=\"http://www.bentley.com/schemas/Bentley.ECXML.2.0\">\n <ECSchemaReference name=\"RefSchema\" version=\"01.00\" prefix=\"rs\" />\n <ECClass typeName=\"TestEntityClass\" isDomainClass=\"true\" />\n </ECSchema>`;\n\n const ec2RefSchema = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <ECSchema schemaName=\"RefSchema\" nameSpacePrefix=\"rs\" version=\"1.0\" xmlns=\"http://www.bentley.com/schemas/Bentley.ECXML.2.0\">\n <ECClass typeName=\"TestStructClass\" isStruct=\"true\" />\n </ECSchema>`;\n\n const ec3Schemas: string[] = convertEC2SchemasToEC3Schemas([ec2SchemaXml, ec2RefSchema]);\n assert.equal(ec3Schemas.length, 2);\n // converted EC3 schemas are in the same order as of input schemas\n const ec3SchemaXml = ec3Schemas[0];\n const ec3RefSchema = ec3Schemas[1];\n\n assert.isTrue(ec3SchemaXml.includes(\"http://www.bentley.com/schemas/Bentley.ECXML.3.2\"));\n assert.isTrue(ec3RefSchema.includes(\"http://www.bentley.com/schemas/Bentley.ECXML.3.2\"));\n });\n\n it(\"rename reserved words\", async () => {\n const ec2SchemaXml = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <ECSchema schemaName=\"TestSchema\" version=\"1.0\" xmlns=\"http://www.bentley.com/schemas/Bentley.ECXML.2.0\">\n <ECClass typeName=\"TestEntityClass\" isDomainClass=\"true\">\n <ECProperty propertyName=\"Id\" typeName=\"string\" />\n <ECProperty propertyName=\"ECInstanceId\" typeName=\"string\" />\n <ECProperty propertyName=\"ECClassId\" typeName=\"string\" />\n <ECProperty propertyName=\"SourceECInstanceId\" typeName=\"string\" />\n <ECProperty propertyName=\"SourceId\" typeName=\"string\" />\n <ECProperty propertyName=\"SourceECClassId\" typeName=\"string\" />\n <ECProperty propertyName=\"TargetECInstanceId\" typeName=\"string\" />\n <ECProperty propertyName=\"TargetId\" typeName=\"string\" />\n <ECProperty propertyName=\"TargetECClassId\" typeName=\"string\" />\n </ECClass>\n <ECClass typeName=\"TestStructClass\" isStruct=\"true\">\n <ECProperty propertyName=\"Id\" typeName=\"string\" />\n <ECProperty propertyName=\"ECInstanceId\" typeName=\"string\" />\n <ECProperty propertyName=\"ECClassId\" typeName=\"string\" />\n </ECClass>\n </ECSchema>`;\n\n const ec3Schemas: string[] = convertEC2SchemasToEC3Schemas([ec2SchemaXml]);\n assert.equal(ec3Schemas.length, 1);\n const schemasWithUpdatedCA: string[] = upgradeCustomAttributesToEC3(ec3Schemas);\n assert.equal(schemasWithUpdatedCA.length, 1);\n\n const outDir = KnownTestLocations.outputDir;\n const db: ECDb = ECDbTestHelper.createECDb(outDir, \"RenameReservedWords.ecdb\", schemasWithUpdatedCA[0]);\n assert.isTrue(db !== undefined);\n assert.isTrue(db.isOpen);\n\n const propNamesInEntityClass = [];\n let stmt: ECSqlStatement = db.prepareStatement(\"SELECT p.Name FROM meta.ECPropertyDef p JOIN meta.ECClassDef c USING meta.ClassOwnsLocalProperties JOIN meta.ECSchemaDef s USING meta.SchemaOwnsClasses WHERE s.Name='TestSchema' AND c.Name='TestEntityClass' ORDER BY p.Ordinal\");\n let rowCount = 0;\n while (stmt.step() === DbResult.BE_SQLITE_ROW) {\n rowCount++;\n const row = stmt.getRow();\n propNamesInEntityClass.push(row.name);\n }\n stmt[Symbol.dispose]();\n assert.equal(rowCount, 9);\n\n assert.isFalse(propNamesInEntityClass.includes(\"Id\")); // The Id property is a reserved keyword and should have been renamed\n assert.isFalse(propNamesInEntityClass.includes(\"ECClassId\")); // The ECClassId property is a reserved keyword and should have been renamed\n assert.isFalse(propNamesInEntityClass.includes(\"ECInstanceId\")); // The ECInstanceId property is a reserved keyword and should have been renamed\n assert.isTrue(propNamesInEntityClass.includes(\"TestSchema_Id_\")); // The Id property is a reserved keyword and should have been renamed\n assert.isTrue(propNamesInEntityClass.includes(\"TestSchema_ECClassId_\")); // The ECClassId property is a reserved keyword and should have been renamed\n assert.isTrue(propNamesInEntityClass.includes(\"TestSchema_ECInstanceId_\")); // The ECInstanceId property is a reserved keyword and should have been renamed\n assert.isTrue(propNamesInEntityClass.includes(\"SourceECInstanceId\")); // The SourceECInstanceId property is allowed on Entity classes and should not be renamed\n assert.isTrue(propNamesInEntityClass.includes(\"SourceId\")); // The SourceId property is allowed on Entity classes and should not be renamed\n assert.isTrue(propNamesInEntityClass.includes(\"SourceECClassId\")); // The SourceECClassId property is allowed on Entity classes and should not be renamed\n assert.isTrue(propNamesInEntityClass.includes(\"TargetECInstanceId\")); // The TargetECInstanceId property is allowed on Entity classes and should not be renamed\n assert.isTrue(propNamesInEntityClass.includes(\"TargetId\")); // The TargetId property is allowed on Entity classes and should not be renamed\n assert.isTrue(propNamesInEntityClass.includes(\"TargetECClassId\")); // The TargetECClassId property is allowed on Entity classes and should not be renamed\n\n const propNamesInStructClass = [];\n stmt = db.prepareStatement(\"SELECT p.Name FROM meta.ECPropertyDef p JOIN meta.ECClassDef c USING meta.ClassOwnsLocalProperties JOIN meta.ECSchemaDef s USING meta.SchemaOwnsClasses WHERE s.Name='TestSchema' AND c.Name='TestStructClass' ORDER BY p.Ordinal\");\n rowCount = 0;\n while (stmt.step() === DbResult.BE_SQLITE_ROW) {\n rowCount++;\n const row = stmt.getRow();\n propNamesInStructClass.push(row.name);\n }\n stmt[Symbol.dispose]();\n assert.equal(rowCount, 3);\n\n assert.isTrue(propNamesInStructClass.includes(\"Id\")); // The Id property is not a reserved keyword for Struct classes and should not be renamed\n assert.isTrue(propNamesInStructClass.includes(\"ECClassId\")); // The ECClassId property is not a reserved keyword for Struct classes and should not be renamed\n assert.isTrue(propNamesInStructClass.includes(\"ECInstanceId\")); // The ECInstanceId property is not a reserved keyword for Struct classes and should not be renamed\n assert.isFalse(propNamesInStructClass.includes(\"TestSchema_Id_\")); // The Id property is not a reserved keyword for Struct classes and should not be renamed\n assert.isFalse(propNamesInStructClass.includes(\"TestSchema_ECClassId_\")); // The ECClassId property is not a reserved keyword for Struct classes and should not be renamed\n assert.isFalse(propNamesInStructClass.includes(\"TestSchema_ECInstanceId_\")); // The ECInstanceId property is not a reserved keyword for Struct classes and should not be renamed\n });\n});\n"]}
@@ -0,0 +1,35 @@
1
+ import { Logger, LogLevel } from "@itwin/core-bentley";
2
+ /**
3
+ * SequentialLogMatcher match log messages in order and remove them from the list. Any test using
4
+ * should check if length come down to zero. If its not then test should fail.
5
+ */
6
+ export declare class SequentialLogMatcher extends Logger {
7
+ private _suppressMatchLogMsgs;
8
+ private _rules;
9
+ private _originalLogError;
10
+ private _originalLogWarning;
11
+ private _originalLogInfo;
12
+ private _originalLogTrace;
13
+ private allow;
14
+ constructor(_suppressMatchLogMsgs?: boolean);
15
+ append(): LogMatchRule;
16
+ finish(): boolean;
17
+ finishAndDispose(): boolean;
18
+ get length(): number;
19
+ }
20
+ export declare class LogMatchRule {
21
+ private _level?;
22
+ private _category?;
23
+ private _message?;
24
+ private _metaDataCheck?;
25
+ test(level: LogLevel, category: string, message: string): boolean;
26
+ private level;
27
+ trace(): LogMatchRule;
28
+ error(): LogMatchRule;
29
+ info(): LogMatchRule;
30
+ warn(): LogMatchRule;
31
+ category(category: string | RegExp): LogMatchRule;
32
+ message(message: string | RegExp): LogMatchRule;
33
+ metadata(check: (data: any) => boolean): LogMatchRule;
34
+ }
35
+ //# sourceMappingURL=SequentialLogMatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SequentialLogMatcher.d.ts","sourceRoot":"","sources":["../../../src/test/SequentialLogMatcher.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,MAAM,EAAmB,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAErF;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,MAAM;IAmB3B,OAAO,CAAC,qBAAqB;IAlBhD,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,mBAAmB,CAA0B;IACrD,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,iBAAiB,CAA0B;IAEnD,OAAO,CAAC,KAAK;gBAYc,qBAAqB,GAAE,OAAc;IA4BzD,MAAM,IAAI,YAAY;IAKtB,MAAM,IAAI,OAAO;IAGjB,gBAAgB,IAAI,OAAO;IAQlC,IAAW,MAAM,IAAI,MAAM,CAA+B;CAC3D;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,CAAW;IAC1B,OAAO,CAAC,SAAS,CAAC,CAAkB;IACpC,OAAO,CAAC,QAAQ,CAAC,CAAkB;IACnC,OAAO,CAAC,cAAc,CAAC,CAAyB;IACzC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IA2BxE,OAAO,CAAC,KAAK;IAIN,KAAK,IAAI,YAAY;IAGrB,KAAK,IAAI,YAAY;IAGrB,IAAI,IAAI,YAAY;IAGpB,IAAI,IAAI,YAAY;IAGpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY;IAIjD,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY;IAI/C,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,GAAG,YAAY;CAI7D"}
@@ -0,0 +1,130 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { Logger, LogLevel } from "@itwin/core-bentley";
6
+ /**
7
+ * SequentialLogMatcher match log messages in order and remove them from the list. Any test using
8
+ * should check if length come down to zero. If its not then test should fail.
9
+ */
10
+ export class SequentialLogMatcher extends Logger {
11
+ _suppressMatchLogMsgs;
12
+ _rules = [];
13
+ _originalLogError;
14
+ _originalLogWarning;
15
+ _originalLogInfo;
16
+ _originalLogTrace;
17
+ allow(level, category, message) {
18
+ if (this._rules.length === 0)
19
+ return true;
20
+ const rule = this._rules[0];
21
+ if (rule.test(level, category, message)) {
22
+ this._rules.shift();
23
+ return this._suppressMatchLogMsgs === false;
24
+ }
25
+ return true;
26
+ }
27
+ constructor(_suppressMatchLogMsgs = true) {
28
+ super();
29
+ this._suppressMatchLogMsgs = _suppressMatchLogMsgs;
30
+ this._originalLogError = Logger._logError;
31
+ this._originalLogWarning = Logger._logWarning;
32
+ this._originalLogInfo = Logger._logInfo;
33
+ this._originalLogTrace = Logger._logTrace;
34
+ Logger._logError = (category, message, metaData) => {
35
+ if (this.allow(LogLevel.Error, category, message))
36
+ this._originalLogError?.(category, message, metaData);
37
+ };
38
+ Logger._logWarning = (category, message, metaData) => {
39
+ if (this.allow(LogLevel.Warning, category, message))
40
+ this._originalLogWarning?.(category, message, metaData);
41
+ };
42
+ Logger._logInfo = (category, message, metaData) => {
43
+ if (this.allow(LogLevel.Info, category, message))
44
+ this._originalLogInfo?.(category, message, metaData);
45
+ };
46
+ Logger._logTrace = (category, message, metaData) => {
47
+ if (this.allow(LogLevel.Trace, category, message))
48
+ this._originalLogTrace?.(category, message, metaData);
49
+ };
50
+ }
51
+ append() {
52
+ const newMatch = new LogMatchRule();
53
+ this._rules.push(newMatch);
54
+ return newMatch;
55
+ }
56
+ finish() {
57
+ return this.length === 0;
58
+ }
59
+ finishAndDispose() {
60
+ const rc = this.finish();
61
+ Logger._logError = this._originalLogError;
62
+ Logger._logWarning = this._originalLogWarning;
63
+ Logger._logInfo = this._originalLogInfo;
64
+ Logger._logTrace = this._originalLogTrace;
65
+ return rc;
66
+ }
67
+ get length() { return this._rules.length; }
68
+ }
69
+ export class LogMatchRule {
70
+ _level;
71
+ _category;
72
+ _message;
73
+ _metaDataCheck;
74
+ test(level, category, message) {
75
+ if (this._level) {
76
+ if (this._level !== level)
77
+ return false;
78
+ }
79
+ if (this._category) {
80
+ if (this._category instanceof RegExp) {
81
+ if (!this._category.test(category))
82
+ return false;
83
+ }
84
+ else {
85
+ if (this._category !== category)
86
+ return false;
87
+ }
88
+ }
89
+ if (this._message) {
90
+ if (this._message instanceof RegExp) {
91
+ if (!this._message.test(message))
92
+ return false;
93
+ }
94
+ else {
95
+ if (this._message !== message)
96
+ return false;
97
+ }
98
+ }
99
+ return true;
100
+ }
101
+ level(lvl) {
102
+ this._level = lvl;
103
+ return this;
104
+ }
105
+ trace() {
106
+ return this.level(LogLevel.Trace);
107
+ }
108
+ error() {
109
+ return this.level(LogLevel.Error);
110
+ }
111
+ info() {
112
+ return this.level(LogLevel.Info);
113
+ }
114
+ warn() {
115
+ return this.level(LogLevel.Warning);
116
+ }
117
+ category(category) {
118
+ this._category = category;
119
+ return this;
120
+ }
121
+ message(message) {
122
+ this._message = message;
123
+ return this;
124
+ }
125
+ metadata(check) {
126
+ this._metaDataCheck = check;
127
+ return this;
128
+ }
129
+ }
130
+ //# sourceMappingURL=SequentialLogMatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SequentialLogMatcher.js","sourceRoot":"","sources":["../../../src/test/SequentialLogMatcher.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*--------------------------------------------------------------------------------------------*/\nimport { LogFunction, Logger, LoggingMetaData, LogLevel } from \"@itwin/core-bentley\";\n\n/**\n * SequentialLogMatcher match log messages in order and remove them from the list. Any test using\n * should check if length come down to zero. If its not then test should fail.\n */\nexport class SequentialLogMatcher extends Logger {\n private _rules: LogMatchRule[] = [];\n private _originalLogError: LogFunction | undefined;\n private _originalLogWarning: LogFunction | undefined;\n private _originalLogInfo: LogFunction | undefined;\n private _originalLogTrace: LogFunction | undefined;\n\n private allow(level: LogLevel, category: string, message: string): boolean {\n if (this._rules.length === 0)\n return true;\n\n const rule = this._rules[0];\n if (rule.test(level, category, message)) {\n this._rules.shift();\n return this._suppressMatchLogMsgs === false;\n }\n return true;\n }\n\n public constructor(private _suppressMatchLogMsgs: boolean = true) {\n super();\n this._originalLogError = Logger._logError;\n this._originalLogWarning = Logger._logWarning;\n this._originalLogInfo = Logger._logInfo;\n this._originalLogTrace = Logger._logTrace;\n\n Logger._logError = (category: string, message: string, metaData: LoggingMetaData) => {\n if (this.allow(LogLevel.Error, category, message))\n this._originalLogError?.(category, message, metaData);\n };\n\n Logger._logWarning = (category: string, message: string, metaData: LoggingMetaData) => {\n if (this.allow(LogLevel.Warning, category, message))\n this._originalLogWarning?.(category, message, metaData);\n };\n\n Logger._logInfo = (category: string, message: string, metaData: LoggingMetaData) => {\n if (this.allow(LogLevel.Info, category, message))\n this._originalLogInfo?.(category, message, metaData);\n };\n\n Logger._logTrace = (category: string, message: string, metaData: LoggingMetaData) => {\n if (this.allow(LogLevel.Trace, category, message))\n this._originalLogTrace?.(category, message, metaData);\n };\n }\n\n public append(): LogMatchRule {\n const newMatch = new LogMatchRule();\n this._rules.push(newMatch);\n return newMatch;\n }\n public finish(): boolean {\n return this.length === 0;\n }\n public finishAndDispose(): boolean {\n const rc = this.finish();\n Logger._logError = this._originalLogError;\n Logger._logWarning = this._originalLogWarning;\n Logger._logInfo = this._originalLogInfo;\n Logger._logTrace = this._originalLogTrace;\n return rc;\n }\n public get length(): number { return this._rules.length; }\n}\n\nexport class LogMatchRule {\n private _level?: LogLevel;\n private _category?: string | RegExp;\n private _message?: string | RegExp;\n private _metaDataCheck?: (data: any) => boolean;\n public test(level: LogLevel, category: string, message: string): boolean {\n if (this._level) {\n if (this._level !== level)\n return false;\n }\n\n if (this._category) {\n if (this._category instanceof RegExp) {\n if (!this._category.test(category))\n return false;\n } else {\n if (this._category !== category)\n return false;\n }\n }\n if (this._message) {\n if (this._message instanceof RegExp) {\n if (!this._message.test(message))\n return false;\n } else {\n if (this._message !== message)\n return false;\n }\n }\n return true;\n }\n\n private level(lvl: LogLevel): LogMatchRule {\n this._level = lvl;\n return this;\n }\n public trace(): LogMatchRule {\n return this.level(LogLevel.Trace);\n }\n public error(): LogMatchRule {\n return this.level(LogLevel.Error);\n }\n public info(): LogMatchRule {\n return this.level(LogLevel.Info);\n }\n public warn(): LogMatchRule {\n return this.level(LogLevel.Warning);\n }\n public category(category: string | RegExp): LogMatchRule {\n this._category = category;\n return this;\n }\n public message(message: string | RegExp): LogMatchRule {\n this._message = message;\n return this;\n }\n public metadata(check: (data: any) => boolean): LogMatchRule {\n this._metaDataCheck = check;\n return this;\n }\n}\n"]}