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

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 +19 -15
@@ -0,0 +1,365 @@
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 { DbResult } from "@itwin/core-bentley";
7
+ import { SnapshotDb } from "../../../core-backend";
8
+ import { KnownTestLocations } from "../../KnownTestLocations";
9
+ import { ECSqlValueType, QueryBinder, QueryRowFormat } from "@itwin/core-common";
10
+ import { buildBinaryData, ECDbMarkdownTestParser, ECDbTestMode, ECDbTestRowFormat } from "./ECSqlTestParser";
11
+ import * as path from "path";
12
+ import * as fs from "fs";
13
+ import { ECSqlDatasets } from "../dataset/ECSqlDatasets";
14
+ import { Point2d, Point3d } from "@itwin/core-geometry";
15
+ var TestDataset;
16
+ (function (TestDataset) {
17
+ TestDataset["AllProperties"] = "AllProperties.bim";
18
+ })(TestDataset || (TestDataset = {}));
19
+ const snapshotDbs = {};
20
+ describe("Markdown based ECDb test runner", async () => {
21
+ before(async () => {
22
+ await ECSqlDatasets.generateFiles();
23
+ const datasetFilePath = path.join(KnownTestLocations.outputDir, "ECSqlTests", TestDataset.AllProperties);
24
+ if (!fs.existsSync(datasetFilePath)) {
25
+ throw new Error(`Dataset file ${datasetFilePath} does not exist`);
26
+ }
27
+ snapshotDbs[TestDataset.AllProperties] = SnapshotDb.openFile(datasetFilePath);
28
+ });
29
+ after(() => {
30
+ for (const key in snapshotDbs) {
31
+ if (snapshotDbs.hasOwnProperty(key)) {
32
+ (snapshotDbs[key])?.close();
33
+ }
34
+ }
35
+ });
36
+ const tests = ECDbMarkdownTestParser.parse();
37
+ //TODO: Mechanism to run a single test, put something like it.only into the test md which causes this loop to only run those tests
38
+ for (const test of tests) {
39
+ if (!test.dataset) {
40
+ logWarning(`Skipping test ${test.title} because it does not have a dataset`);
41
+ continue;
42
+ }
43
+ if (test.dataset.toLowerCase() !== TestDataset.AllProperties.toLowerCase()) {
44
+ logWarning(`Skipping test ${test.title} because dataset ${test.dataset} is not recognized`);
45
+ continue;
46
+ }
47
+ const dataset = TestDataset.AllProperties;
48
+ if (test.mode === ECDbTestMode.Both || test.mode === ECDbTestMode.Statement) {
49
+ if (test.skip)
50
+ it(`${test.fileName}: ${test.title} (Statement) skipped. Reason: ${test.skip}`);
51
+ else if (test.only)
52
+ it.only(`${test.fileName}: ${test.title} (Statement)`, () => {
53
+ runECSqlStatementTest(test, dataset);
54
+ });
55
+ else
56
+ it(`${test.fileName}: ${test.title} (Statement)`, () => {
57
+ runECSqlStatementTest(test, dataset);
58
+ });
59
+ }
60
+ if (test.mode === ECDbTestMode.Both || test.mode === ECDbTestMode.ConcurrentQuery) {
61
+ if (test.skip)
62
+ it(`${test.fileName}: ${test.title} (ConcurrentQuery) skipped. Reason: ${test.skip}`);
63
+ else if (test.only)
64
+ it.only(`${test.fileName}: ${test.title} (ConcurrentQuery)`, async () => {
65
+ await runConcurrentQueryTest(test, dataset);
66
+ });
67
+ else
68
+ it(`${test.fileName}: ${test.title} (ConcurrentQuery)`, async () => {
69
+ await runConcurrentQueryTest(test, dataset);
70
+ });
71
+ }
72
+ }
73
+ });
74
+ function runECSqlStatementTest(test, dataset) {
75
+ const imodel = snapshotDbs[dataset];
76
+ if (!imodel) {
77
+ assert.fail(`Dataset ${dataset} is not loaded`);
78
+ }
79
+ let stmt;
80
+ if (test.sql === undefined) {
81
+ assert.fail("Test does not have an ECSql statement");
82
+ }
83
+ try {
84
+ // TODO: statement options should be exposed through the markdown
85
+ stmt = imodel.prepareStatement(test.sql); // TODO: Wire up logic for tests we expect to fail during prepare
86
+ }
87
+ catch (error) {
88
+ if (test.errorDuringPrepare)
89
+ return;
90
+ else
91
+ assert.fail(`Error during prepare of Statement: ${error.message}`);
92
+ }
93
+ if (test.errorDuringPrepare)
94
+ assert.fail(`Statement is expected to fail during prepare`);
95
+ try {
96
+ if (test.binders !== undefined) {
97
+ for (const binder of test.binders) {
98
+ // eslint-disable-next-line radix
99
+ let id = Number.parseInt(binder.indexOrName);
100
+ if (isNaN(id))
101
+ id = binder.indexOrName;
102
+ switch (binder.type.toLowerCase()) { // TODO: replace props variables in binder.value
103
+ case "null":
104
+ stmt.bindNull(id);
105
+ break;
106
+ case "string":
107
+ stmt.bindString(id, binder.value);
108
+ break;
109
+ case "int":
110
+ // eslint-disable-next-line radix
111
+ stmt.bindInteger(id, Number.parseInt(binder.value));
112
+ break;
113
+ case "double":
114
+ stmt.bindDouble(id, Number.parseFloat(binder.value));
115
+ break;
116
+ case "id":
117
+ stmt.bindId(id, binder.value);
118
+ break;
119
+ case "idset":
120
+ const values = binder.value.slice(1, -1).split(",");
121
+ const trimmedValues = values.map((value) => value.trim());
122
+ stmt.bindIdSet(id, trimmedValues);
123
+ break;
124
+ case "datetime":
125
+ stmt.bindDateTime(id, binder.value);
126
+ break;
127
+ case "point2d":
128
+ const parsedVal2d = JSON.parse(binder.value);
129
+ stmt.bindPoint2d(id, { x: parsedVal2d.X, y: parsedVal2d.Y });
130
+ break;
131
+ case "point3d":
132
+ const parsedVal3d = JSON.parse(binder.value);
133
+ stmt.bindPoint3d(id, { x: parsedVal3d.X, y: parsedVal3d.Y, z: parsedVal3d.Z });
134
+ break;
135
+ case "blob":
136
+ const arrayValues = binder.value.slice(1, -1).split(",");
137
+ const numbers = arrayValues.map((value) =>
138
+ // eslint-disable-next-line radix
139
+ parseInt(value.trim()));
140
+ stmt.bindBlob(id, Uint8Array.of(...numbers));
141
+ break;
142
+ case "navigation":
143
+ stmt.bindNavigation(id, JSON.parse(binder.value));
144
+ break;
145
+ case "array":
146
+ stmt.bindArray(id, JSON.parse(binder.value));
147
+ break;
148
+ case "struct":
149
+ stmt.bindStruct(id, JSON.parse(binder.value));
150
+ break;
151
+ default:
152
+ assert.fail(`Unsupported binder type ${binder.type}`);
153
+ } // switch binder.type
154
+ } // for binder
155
+ } // if test.binders
156
+ let resultCount = 0;
157
+ let stepResult;
158
+ while ((stepResult = stmt.step()) === DbResult.BE_SQLITE_ROW) {
159
+ if (resultCount === 0 && test.columnInfo) {
160
+ // Verify the columns on the first result row (TODO: for dynamic columns we have to do this every item)
161
+ const colCount = stmt.getColumnCount();
162
+ assert.strictEqual(colCount, test.columnInfo.length, `Expected ${test.columnInfo.length} columns but got ${colCount}`);
163
+ for (let i = 0; i < colCount; i++) {
164
+ const colInfo = stmt.getValue(i).columnInfo;
165
+ const expectedColInfo = test.columnInfo[i];
166
+ // cannot directly compare against colInfo because it has methods instead of getters
167
+ assert.strictEqual(colInfo.getPropertyName(), expectedColInfo.name, `Expected property name ${expectedColInfo.name} but got ${colInfo.getPropertyName()} for column index ${i}`);
168
+ //if (expectedColInfo.isDynamicProp !== undefined) TODO: Is this not exposed?
169
+ // assert.strictEqual(colInfo..isDynamicProperty, expectedColInfo.isDynamicProp, `Expected dynamic property ${expectedColInfo.isDynamicProp} but got ${colInfo.isDynamicProperty} for column index ${i}`);
170
+ // TODO: Extended type name not exposed??
171
+ if (expectedColInfo.generated !== undefined)
172
+ assert.strictEqual(colInfo.isGeneratedProperty(), expectedColInfo.generated, `Expected generated property ${expectedColInfo.generated} but got ${colInfo.isGeneratedProperty()} for column index ${i}`);
173
+ if (expectedColInfo.accessString !== undefined)
174
+ assert.strictEqual(colInfo.getAccessString(), expectedColInfo.accessString, `Expected access string ${expectedColInfo.accessString} but got ${colInfo.getAccessString()} for column index ${i}`);
175
+ if (expectedColInfo.type !== undefined)
176
+ assert.strictEqual(ECSqlValueType[colInfo.getType()], expectedColInfo.type, `Expected type ${expectedColInfo.type} but got ${ECSqlValueType[colInfo.getType()]} for column index ${i}`);
177
+ if (expectedColInfo.originPropertyName !== undefined)
178
+ assert.strictEqual(colInfo.getOriginPropertyName(), expectedColInfo.originPropertyName, `Expected Origin PropertyName ${expectedColInfo.originPropertyName} but got ${colInfo.getOriginPropertyName()} for column index ${i}`);
179
+ }
180
+ }
181
+ if (test.expectedResults !== undefined && test.expectedResults.length > resultCount) {
182
+ let expectedResult = test.expectedResults[resultCount];
183
+ expectedResult = buildBinaryData(expectedResult);
184
+ const rowArgs = { rowFormat: getRowFormat(test.rowFormat), classIdsToClassNames: test.convertClassIdsToClassNames };
185
+ const actualResult = stmt.getRow(rowArgs);
186
+ checkingExpectedResults(test.rowFormat, actualResult, expectedResult, test.indexesToIncludeInResults);
187
+ }
188
+ resultCount++;
189
+ }
190
+ stmt[Symbol.dispose]();
191
+ stmt = undefined;
192
+ if (resultCount === 0 && test.stepStatus) {
193
+ const stepResultString = DbResult[stepResult];
194
+ assert.strictEqual(stepResultString, test.stepStatus, `Expected step status ${test.stepStatus} but got ${stepResultString}`);
195
+ }
196
+ if (test.expectedResults && test.expectedResults.length !== resultCount) {
197
+ assert.fail(`Expected ${test.expectedResults.length} rows but got ${resultCount}`);
198
+ }
199
+ }
200
+ finally {
201
+ if (stmt !== undefined)
202
+ stmt[Symbol.dispose]();
203
+ }
204
+ }
205
+ function getRowFormat(rowFormat) {
206
+ switch (rowFormat) {
207
+ case ECDbTestRowFormat.ECSqlNames:
208
+ return QueryRowFormat.UseECSqlPropertyNames;
209
+ case ECDbTestRowFormat.ECSqlIndexes:
210
+ return QueryRowFormat.UseECSqlPropertyIndexes;
211
+ case ECDbTestRowFormat.JsNames:
212
+ return QueryRowFormat.UseJsPropertyNames;
213
+ default:
214
+ return QueryRowFormat.UseECSqlPropertyNames;
215
+ }
216
+ }
217
+ async function runConcurrentQueryTest(test, dataset) {
218
+ const imodel = snapshotDbs[dataset];
219
+ if (!imodel) {
220
+ assert.fail(`Dataset ${dataset} is not loaded`);
221
+ }
222
+ let reader;
223
+ if (test.sql === undefined) {
224
+ assert.fail("Test does not have an ECSql statement");
225
+ }
226
+ let params;
227
+ if (test.binders !== undefined) {
228
+ params = new QueryBinder();
229
+ for (const binder of test.binders) {
230
+ // eslint-disable-next-line radix
231
+ let id = Number.parseInt(binder.indexOrName);
232
+ if (isNaN(id))
233
+ id = binder.indexOrName;
234
+ switch (binder.type.toLowerCase()) { // TODO: replace props variables in binder.value
235
+ case "null":
236
+ params.bindNull(id);
237
+ break;
238
+ case "string":
239
+ params.bindString(id, binder.value);
240
+ break;
241
+ case "int":
242
+ // eslint-disable-next-line radix
243
+ params.bindInt(id, Number.parseInt(binder.value));
244
+ break;
245
+ case "long":
246
+ // eslint-disable-next-line radix
247
+ params.bindLong(id, Number.parseInt(binder.value));
248
+ break;
249
+ case "double":
250
+ params.bindDouble(id, Number.parseFloat(binder.value));
251
+ break;
252
+ case "id":
253
+ params.bindId(id, binder.value);
254
+ break;
255
+ case "idset":
256
+ const values = binder.value.slice(1, -1).split(",");
257
+ const trimmedValues = values.map((value) => value.trim());
258
+ params.bindIdSet(id, trimmedValues);
259
+ break;
260
+ case "point2d":
261
+ const parsedVal2d = JSON.parse(binder.value);
262
+ params.bindPoint2d(id, new Point2d(parsedVal2d.X, parsedVal2d.Y));
263
+ break;
264
+ case "point3d":
265
+ const parsedVal3d = JSON.parse(binder.value);
266
+ params.bindPoint3d(id, new Point3d(parsedVal3d.X, parsedVal3d.Y, parsedVal3d.Z));
267
+ break;
268
+ case "blob":
269
+ const arrayValues = binder.value.slice(1, -1).split(",");
270
+ const numbers = arrayValues.map((value) =>
271
+ // eslint-disable-next-line radix
272
+ parseInt(value.trim()));
273
+ params.bindBlob(id, Uint8Array.of(...numbers));
274
+ break;
275
+ case "struct":
276
+ params.bindStruct(id, JSON.parse(binder.value));
277
+ break;
278
+ default:
279
+ assert.fail(`Unsupported binder type ${binder.type}`);
280
+ } // switch binder.type
281
+ } // for binder
282
+ } // if test.binders
283
+ const queryOptions = {};
284
+ queryOptions.rowFormat = getRowFormat(test.rowFormat);
285
+ if (test.abbreviateBlobs)
286
+ queryOptions.abbreviateBlobs = true;
287
+ if (test.convertClassIdsToClassNames)
288
+ queryOptions.convertClassIdsToClassNames = true;
289
+ try {
290
+ reader = imodel.createQueryReader(test.sql, params, queryOptions); // TODO: Wire up logic for tests we expect to fail during prepare
291
+ }
292
+ catch (error) {
293
+ assert.fail(`Error during creating QueryReader: ${error.message}`);
294
+ }
295
+ let resultCount = 0;
296
+ let rows;
297
+ try {
298
+ rows = await reader.toArray();
299
+ }
300
+ catch (error) {
301
+ if (test.errorDuringPrepare)
302
+ return;
303
+ else
304
+ assert.fail(`Error during prepare of Concurrent Query: ${error.message}`);
305
+ }
306
+ if (test.errorDuringPrepare)
307
+ assert.fail(`Statement is expected to fail during prepare`);
308
+ const colMetaData = await reader.getMetaData();
309
+ while (resultCount < rows.length) {
310
+ if (resultCount === 0 && test.columnInfo) {
311
+ // Verify the columns on the first result row (TODO: for dynamic columns we have to do this every item)
312
+ assert.strictEqual(colMetaData.length, test.columnInfo.length, `Expected ${test.columnInfo.length} columns but got ${colMetaData.length}`);
313
+ for (let i = 0; i < colMetaData.length; i++) {
314
+ const colInfo = colMetaData[i];
315
+ const expectedColInfo = test.columnInfo[i];
316
+ // cannot directly compare against colInfo because it has methods instead of getters
317
+ assert.strictEqual(colInfo.name, expectedColInfo.name, `Expected name ${expectedColInfo.name} but got ${colInfo.name} for column index ${i}`);
318
+ if (expectedColInfo.generated !== undefined)
319
+ assert.strictEqual(colInfo.generated, expectedColInfo.generated, `Expected generated property ${expectedColInfo.generated} but got ${colInfo.generated} for column index ${i}`);
320
+ if (expectedColInfo.accessString !== undefined)
321
+ assert.strictEqual(colInfo.accessString, expectedColInfo.accessString, `Expected access string ${expectedColInfo.accessString} but got ${colInfo.accessString} for column index ${i}`);
322
+ if (expectedColInfo.typeName !== undefined)
323
+ assert.strictEqual(colInfo.typeName, expectedColInfo.typeName, `Expected type name ${expectedColInfo.typeName} but got ${colInfo.typeName} for column index ${i}`);
324
+ if (expectedColInfo.className !== undefined)
325
+ assert.strictEqual(colInfo.className, expectedColInfo.className, `Expected class name ${expectedColInfo.className} but got ${colInfo.className} for column index ${i}`);
326
+ assert.strictEqual(colInfo.extendedType, expectedColInfo.extendedType, `Expected extended type ${expectedColInfo.extendedType} but got ${colInfo.extendedType} for column index ${i}`);
327
+ assert.strictEqual(colInfo.extendType, expectedColInfo.extendedType === undefined ? "" : expectedColInfo.extendedType, `Expected extend type ${expectedColInfo.extendedType === undefined ? "" : expectedColInfo.extendedType} but got ${colInfo.extendType} for column index ${i}`); // eslint-disable-line @typescript-eslint/no-deprecated
328
+ }
329
+ }
330
+ if (test.expectedResults !== undefined && test.expectedResults.length > resultCount) {
331
+ let expectedResult = test.expectedResults[resultCount];
332
+ // replace props in expected result, TODO: optimize this
333
+ expectedResult = buildBinaryData(expectedResult);
334
+ const actualResult = rows[resultCount]; // TODO: should we test getValue() as well?
335
+ checkingExpectedResults(test.rowFormat, actualResult, expectedResult, test.indexesToIncludeInResults);
336
+ }
337
+ resultCount++;
338
+ }
339
+ // if (resultCount === 0 && test.stepStatus) {
340
+ // const stepResultString = DbResult[stepResult];
341
+ // assert.strictEqual(stepResultString, test.stepStatus, `Expected step status ${test.stepStatus} but got ${stepResultString}`);
342
+ // }
343
+ if (test.expectedResults && test.expectedResults.length !== resultCount) {
344
+ assert.fail(`Expected ${test.expectedResults.length} rows but got ${resultCount}`);
345
+ }
346
+ }
347
+ function checkingExpectedResults(rowFormat, actualResult, expectedResult, indexesToInclude) {
348
+ if (rowFormat === ECDbTestRowFormat.ECSqlIndexes && indexesToInclude) {
349
+ let i = 0;
350
+ for (const key of Object.keys(expectedResult)) {
351
+ assert.deepEqual(actualResult[indexesToInclude[i]], expectedResult[key], `Expected ${JSON.stringify(expectedResult[key])} but got ${JSON.stringify(actualResult[indexesToInclude[i]])}`);
352
+ i++;
353
+ }
354
+ }
355
+ else {
356
+ for (const key of Object.keys(expectedResult)) {
357
+ assert.deepEqual(actualResult[key], expectedResult[key], `Expected ${JSON.stringify(expectedResult[key])} but got ${JSON.stringify(actualResult[key])}`);
358
+ }
359
+ }
360
+ }
361
+ function logWarning(message) {
362
+ // eslint-disable-next-line no-console
363
+ console.log(`\x1b[33m${message}\x1b[0m`);
364
+ }
365
+ //# sourceMappingURL=ECSqlTestRunner.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ECSqlTestRunner.test.js","sourceRoot":"","sources":["../../../../../src/test/ecsql/src/ECSqlTestRunner.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 { DbResult } from \"@itwin/core-bentley\";\nimport { ECSqlRowArg, ECSqlStatement, SnapshotDb } from \"../../../core-backend\";\nimport { KnownTestLocations } from \"../../KnownTestLocations\";\nimport { ECSqlReader, ECSqlValueType, QueryBinder, QueryOptions, QueryRowFormat } from \"@itwin/core-common\";\nimport { buildBinaryData, ECDbMarkdownTestParser, ECDbTestMode, ECDbTestProps, ECDbTestRowFormat } from \"./ECSqlTestParser\";\nimport * as path from \"path\";\nimport * as fs from \"fs\";\nimport { ECSqlDatasets } from \"../dataset/ECSqlDatasets\";\nimport { Point2d, Point3d } from \"@itwin/core-geometry\";\n\nenum TestDataset {\n AllProperties = \"AllProperties.bim\"\n}\n\nconst snapshotDbs: { [key in TestDataset]?: SnapshotDb } = {};\n\ndescribe(\"Markdown based ECDb test runner\", async () => {\n before(async () => {\n await ECSqlDatasets.generateFiles();\n const datasetFilePath = path.join(KnownTestLocations.outputDir, \"ECSqlTests\", TestDataset.AllProperties);\n if (!fs.existsSync(datasetFilePath)) {\n throw new Error(`Dataset file ${datasetFilePath} does not exist`);\n }\n snapshotDbs[TestDataset.AllProperties] = SnapshotDb.openFile(datasetFilePath);\n });\n\n after(() => {\n for (const key in snapshotDbs) {\n if (snapshotDbs.hasOwnProperty(key)) {\n (snapshotDbs[key as keyof typeof snapshotDbs])?.close();\n }\n }\n });\n const tests: ECDbTestProps[] = ECDbMarkdownTestParser.parse();\n\n //TODO: Mechanism to run a single test, put something like it.only into the test md which causes this loop to only run those tests\n for (const test of tests) {\n if(!test.dataset) {\n logWarning(`Skipping test ${test.title} because it does not have a dataset`);\n continue;\n }\n\n if(test.dataset.toLowerCase() !== TestDataset.AllProperties.toLowerCase()) {\n logWarning(`Skipping test ${test.title} because dataset ${test.dataset} is not recognized`);\n continue;\n }\n const dataset = TestDataset.AllProperties;\n\n if(test.mode === ECDbTestMode.Both || test.mode === ECDbTestMode.Statement) {\n if(test.skip)\n it(`${test.fileName}: ${test.title} (Statement) skipped. Reason: ${test.skip}`);\n else if(test.only)\n it.only(`${test.fileName}: ${test.title} (Statement)`, () => {\n runECSqlStatementTest(test, dataset);\n });\n else\n it(`${test.fileName}: ${test.title} (Statement)`, () => {\n runECSqlStatementTest(test, dataset);\n });\n }\n\n if(test.mode === ECDbTestMode.Both || test.mode === ECDbTestMode.ConcurrentQuery) {\n if(test.skip)\n it(`${test.fileName}: ${test.title} (ConcurrentQuery) skipped. Reason: ${test.skip}`);\n else if(test.only)\n it.only(`${test.fileName}: ${test.title} (ConcurrentQuery)`, async () => {\n await runConcurrentQueryTest(test, dataset);\n });\n else\n it(`${test.fileName}: ${test.title} (ConcurrentQuery)`, async () => {\n await runConcurrentQueryTest(test, dataset);\n });\n }\n }\n});\n\nfunction runECSqlStatementTest(test: ECDbTestProps, dataset: TestDataset) {\n const imodel = snapshotDbs[dataset];\n if (!imodel) {\n assert.fail(`Dataset ${dataset} is not loaded`);\n }\n let stmt: ECSqlStatement | undefined;\n if (test.sql === undefined) {\n assert.fail(\"Test does not have an ECSql statement\");\n }\n\n try {\n // TODO: statement options should be exposed through the markdown\n stmt = imodel.prepareStatement(test.sql); // TODO: Wire up logic for tests we expect to fail during prepare\n } catch (error: any) {\n if(test.errorDuringPrepare)\n return;\n else\n assert.fail(`Error during prepare of Statement: ${error.message}`);\n }\n\n if(test.errorDuringPrepare)\n assert.fail(`Statement is expected to fail during prepare`);\n\n try {\n if(test.binders !== undefined) {\n for (const binder of test.binders) {\n // eslint-disable-next-line radix\n let id: number | string = Number.parseInt(binder.indexOrName);\n if (isNaN(id))\n id = binder.indexOrName;\n\n switch(binder.type.toLowerCase()) { // TODO: replace props variables in binder.value\n case \"null\":\n stmt.bindNull(id);\n break;\n case \"string\":\n stmt.bindString(id, binder.value);\n break;\n case \"int\":\n // eslint-disable-next-line radix\n stmt.bindInteger(id, Number.parseInt(binder.value));\n break;\n case \"double\":\n stmt.bindDouble(id, Number.parseFloat(binder.value));\n break;\n case \"id\":\n stmt.bindId(id, binder.value);\n break;\n case \"idset\":\n const values: string[] = binder.value.slice(1,-1).split(\",\");\n const trimmedValues = values.map((value:string)=>\n value.trim()\n );\n stmt.bindIdSet(id, trimmedValues);\n break;\n case \"datetime\":\n stmt.bindDateTime(id, binder.value);\n break;\n case \"point2d\":\n const parsedVal2d = JSON.parse(binder.value);\n stmt.bindPoint2d(id, {x: parsedVal2d.X, y: parsedVal2d.Y});\n break;\n case \"point3d\":\n const parsedVal3d = JSON.parse(binder.value);\n stmt.bindPoint3d(id, {x: parsedVal3d.X, y: parsedVal3d.Y, z: parsedVal3d.Z});\n break;\n case \"blob\":\n const arrayValues: string[] = binder.value.slice(1,-1).split(\",\");\n const numbers = arrayValues.map((value:string)=>\n // eslint-disable-next-line radix\n parseInt(value.trim())\n );\n stmt.bindBlob(id, Uint8Array.of(...numbers));\n break;\n case \"navigation\":\n stmt.bindNavigation(id, JSON.parse(binder.value));\n break;\n case \"array\":\n stmt.bindArray(id, JSON.parse(binder.value));\n break;\n case \"struct\":\n stmt.bindStruct(id, JSON.parse(binder.value));\n break;\n default:\n assert.fail(`Unsupported binder type ${binder.type}`);\n } // switch binder.type\n } // for binder\n } // if test.binders\n\n let resultCount = 0;\n let stepResult: DbResult;\n while ((stepResult = stmt.step()) === DbResult.BE_SQLITE_ROW) {\n if (resultCount === 0 && test.columnInfo) {\n // Verify the columns on the first result row (TODO: for dynamic columns we have to do this every item)\n const colCount = stmt.getColumnCount();\n assert.strictEqual(colCount, test.columnInfo.length, `Expected ${test.columnInfo.length} columns but got ${colCount}`);\n for (let i = 0; i < colCount; i++) {\n const colInfo = stmt.getValue(i).columnInfo;\n const expectedColInfo = test.columnInfo[i];\n // cannot directly compare against colInfo because it has methods instead of getters\n assert.strictEqual(colInfo.getPropertyName(), expectedColInfo.name, `Expected property name ${expectedColInfo.name} but got ${colInfo.getPropertyName()} for column index ${i}`);\n //if (expectedColInfo.isDynamicProp !== undefined) TODO: Is this not exposed?\n // assert.strictEqual(colInfo..isDynamicProperty, expectedColInfo.isDynamicProp, `Expected dynamic property ${expectedColInfo.isDynamicProp} but got ${colInfo.isDynamicProperty} for column index ${i}`);\n // TODO: Extended type name not exposed??\n if (expectedColInfo.generated !== undefined)\n assert.strictEqual(colInfo.isGeneratedProperty(), expectedColInfo.generated, `Expected generated property ${expectedColInfo.generated} but got ${colInfo.isGeneratedProperty()} for column index ${i}`);\n if (expectedColInfo.accessString !== undefined)\n assert.strictEqual(colInfo.getAccessString(), expectedColInfo.accessString, `Expected access string ${expectedColInfo.accessString} but got ${colInfo.getAccessString()} for column index ${i}`);\n if (expectedColInfo.type !== undefined)\n assert.strictEqual(ECSqlValueType[colInfo.getType()], expectedColInfo.type, `Expected type ${expectedColInfo.type} but got ${ECSqlValueType[colInfo.getType()]} for column index ${i}`);\n if (expectedColInfo.originPropertyName !== undefined)\n assert.strictEqual(colInfo.getOriginPropertyName(), expectedColInfo.originPropertyName, `Expected Origin PropertyName ${expectedColInfo.originPropertyName} but got ${colInfo.getOriginPropertyName()} for column index ${i}`);\n }\n }\n\n if (test.expectedResults !== undefined && test.expectedResults.length > resultCount) {\n let expectedResult = test.expectedResults[resultCount];\n expectedResult = buildBinaryData(expectedResult);\n const rowArgs: ECSqlRowArg = { rowFormat: getRowFormat(test.rowFormat), classIdsToClassNames: test.convertClassIdsToClassNames };\n\n const actualResult = stmt.getRow(rowArgs);\n checkingExpectedResults(test.rowFormat, actualResult, expectedResult, test.indexesToIncludeInResults);\n }\n resultCount++;\n }\n stmt[Symbol.dispose]();\n stmt = undefined;\n\n if (resultCount === 0 && test.stepStatus) {\n const stepResultString = DbResult[stepResult];\n assert.strictEqual(stepResultString, test.stepStatus, `Expected step status ${test.stepStatus} but got ${stepResultString}`);\n }\n\n if (test.expectedResults && test.expectedResults.length !== resultCount) {\n assert.fail(`Expected ${test.expectedResults.length} rows but got ${resultCount}`);\n }\n } finally {\n if(stmt !== undefined)\n stmt[Symbol.dispose]();\n }\n}\n\nfunction getRowFormat(rowFormat: ECDbTestRowFormat) : QueryRowFormat {\n switch(rowFormat) {\n case ECDbTestRowFormat.ECSqlNames:\n return QueryRowFormat.UseECSqlPropertyNames;\n case ECDbTestRowFormat.ECSqlIndexes:\n return QueryRowFormat.UseECSqlPropertyIndexes;\n case ECDbTestRowFormat.JsNames:\n return QueryRowFormat.UseJsPropertyNames;\n default:\n return QueryRowFormat.UseECSqlPropertyNames;\n }\n}\n\nasync function runConcurrentQueryTest(test: ECDbTestProps, dataset: TestDataset): Promise<void> {\n const imodel = snapshotDbs[dataset];\n if (!imodel) {\n assert.fail(`Dataset ${dataset} is not loaded`);\n }\n\n let reader: ECSqlReader;\n if (test.sql === undefined) {\n assert.fail(\"Test does not have an ECSql statement\");\n }\n let params: QueryBinder | undefined;\n if(test.binders !== undefined) {\n params = new QueryBinder();\n for (const binder of test.binders) {\n // eslint-disable-next-line radix\n let id: number | string = Number.parseInt(binder.indexOrName);\n if (isNaN(id))\n id = binder.indexOrName;\n\n switch(binder.type.toLowerCase()) { // TODO: replace props variables in binder.value\n case \"null\":\n params.bindNull(id);\n break;\n case \"string\":\n params.bindString(id, binder.value);\n break;\n case \"int\":\n // eslint-disable-next-line radix\n params.bindInt(id, Number.parseInt(binder.value));\n break;\n case \"long\":\n // eslint-disable-next-line radix\n params.bindLong(id, Number.parseInt(binder.value));\n break;\n case \"double\":\n params.bindDouble(id, Number.parseFloat(binder.value));\n break;\n case \"id\":\n params.bindId(id, binder.value);\n break;\n case \"idset\":\n const values: string[] = binder.value.slice(1,-1).split(\",\");\n const trimmedValues = values.map((value:string)=>\n value.trim()\n );\n params.bindIdSet(id, trimmedValues);\n break;\n case \"point2d\":\n const parsedVal2d = JSON.parse(binder.value);\n params.bindPoint2d(id, new Point2d(parsedVal2d.X, parsedVal2d.Y));\n break;\n case \"point3d\":\n const parsedVal3d = JSON.parse(binder.value);\n params.bindPoint3d(id, new Point3d(parsedVal3d.X, parsedVal3d.Y, parsedVal3d.Z));\n break;\n case \"blob\":\n const arrayValues: string[] = binder.value.slice(1,-1).split(\",\");\n const numbers = arrayValues.map((value:string)=>\n // eslint-disable-next-line radix\n parseInt(value.trim())\n );\n params.bindBlob(id, Uint8Array.of(...numbers));\n break;\n case \"struct\":\n params.bindStruct(id, JSON.parse(binder.value));\n break;\n default:\n assert.fail(`Unsupported binder type ${binder.type}`);\n } // switch binder.type\n } // for binder\n } // if test.binders\n\n const queryOptions: QueryOptions = {};\n queryOptions.rowFormat = getRowFormat(test.rowFormat);\n if (test.abbreviateBlobs)\n queryOptions.abbreviateBlobs = true;\n if (test.convertClassIdsToClassNames)\n queryOptions.convertClassIdsToClassNames = true;\n\n try {\n reader = imodel.createQueryReader(test.sql, params, queryOptions); // TODO: Wire up logic for tests we expect to fail during prepare\n } catch (error: any) {\n assert.fail(`Error during creating QueryReader: ${error.message}`);\n }\n\n let resultCount = 0;\n let rows;\n try{\n rows = await reader.toArray();\n }\n catch (error: any) {\n if(test.errorDuringPrepare)\n return;\n else\n assert.fail(`Error during prepare of Concurrent Query: ${error.message}`);\n }\n\n if(test.errorDuringPrepare)\n assert.fail(`Statement is expected to fail during prepare`);\n\n const colMetaData = await reader.getMetaData();\n while (resultCount < rows.length) {\n if (resultCount === 0 && test.columnInfo) {\n // Verify the columns on the first result row (TODO: for dynamic columns we have to do this every item)\n assert.strictEqual(colMetaData.length, test.columnInfo.length, `Expected ${test.columnInfo.length} columns but got ${colMetaData.length}`);\n for (let i = 0; i < colMetaData.length; i++) {\n const colInfo = colMetaData[i];\n const expectedColInfo = test.columnInfo[i];\n // cannot directly compare against colInfo because it has methods instead of getters\n assert.strictEqual(colInfo.name, expectedColInfo.name, `Expected name ${expectedColInfo.name} but got ${colInfo.name} for column index ${i}`);\n if (expectedColInfo.generated !== undefined)\n assert.strictEqual(colInfo.generated, expectedColInfo.generated, `Expected generated property ${expectedColInfo.generated} but got ${colInfo.generated} for column index ${i}`);\n if (expectedColInfo.accessString !== undefined)\n assert.strictEqual(colInfo.accessString, expectedColInfo.accessString, `Expected access string ${expectedColInfo.accessString} but got ${colInfo.accessString} for column index ${i}`);\n if (expectedColInfo.typeName !== undefined)\n assert.strictEqual(colInfo.typeName, expectedColInfo.typeName, `Expected type name ${expectedColInfo.typeName} but got ${colInfo.typeName} for column index ${i}`);\n if(expectedColInfo.className !== undefined)\n assert.strictEqual(colInfo.className, expectedColInfo.className, `Expected class name ${expectedColInfo.className} but got ${colInfo.className} for column index ${i}`);\n assert.strictEqual(colInfo.extendedType, expectedColInfo.extendedType, `Expected extended type ${expectedColInfo.extendedType} but got ${colInfo.extendedType} for column index ${i}`);\n assert.strictEqual(colInfo.extendType, expectedColInfo.extendedType === undefined ? \"\" : expectedColInfo.extendedType, `Expected extend type ${expectedColInfo.extendedType === undefined ? \"\" : expectedColInfo.extendedType} but got ${colInfo.extendType} for column index ${i}`); // eslint-disable-line @typescript-eslint/no-deprecated\n }\n }\n\n if (test.expectedResults !== undefined && test.expectedResults.length > resultCount) {\n let expectedResult = test.expectedResults[resultCount];\n // replace props in expected result, TODO: optimize this\n expectedResult = buildBinaryData(expectedResult);\n\n const actualResult = rows[resultCount] // TODO: should we test getValue() as well?\n checkingExpectedResults(test.rowFormat, actualResult, expectedResult, test.indexesToIncludeInResults);\n }\n resultCount++;\n }\n\n // if (resultCount === 0 && test.stepStatus) {\n // const stepResultString = DbResult[stepResult];\n // assert.strictEqual(stepResultString, test.stepStatus, `Expected step status ${test.stepStatus} but got ${stepResultString}`);\n // }\n\n if (test.expectedResults && test.expectedResults.length !== resultCount) {\n assert.fail(`Expected ${test.expectedResults.length} rows but got ${resultCount}`);\n }\n}\n\nfunction checkingExpectedResults(rowFormat : ECDbTestRowFormat, actualResult: any, expectedResult: any, indexesToInclude?: number[])\n{\n if(rowFormat === ECDbTestRowFormat.ECSqlIndexes && indexesToInclude)\n {\n let i: any = 0;\n for(const key of Object.keys(expectedResult))\n {\n assert.deepEqual(actualResult[indexesToInclude[i]], expectedResult[key], `Expected ${JSON.stringify(expectedResult[key])} but got ${JSON.stringify(actualResult[indexesToInclude[i]])}`);\n i++;\n }\n }\n else\n {\n for(const key of Object.keys(expectedResult))\n {\n assert.deepEqual(actualResult[key], expectedResult[key], `Expected ${JSON.stringify(expectedResult[key])} but got ${JSON.stringify(actualResult[key])}`);\n }\n }\n}\nfunction logWarning(message: string) {\n // eslint-disable-next-line no-console\n console.log(`\\x1b[33m${message}\\x1b[0m`);\n}"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DeleteDefinitionElements.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeleteDefinitionElements.test.d.ts","sourceRoot":"","sources":["../../../../src/test/element/DeleteDefinitionElements.test.ts"],"names":[],"mappings":""}