@itwin/core-backend 3.4.0-dev.48 → 3.4.0-dev.55

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 (245) hide show
  1. package/lib/cjs/AliCloudStorageService.d.ts +23 -17
  2. package/lib/cjs/AliCloudStorageService.d.ts.map +1 -1
  3. package/lib/cjs/AliCloudStorageService.js +71 -68
  4. package/lib/cjs/AliCloudStorageService.js.map +1 -1
  5. package/lib/cjs/BackendHubAccess.d.ts +224 -224
  6. package/lib/cjs/BackendHubAccess.js +41 -41
  7. package/lib/cjs/BackendHubAccess.js.map +1 -1
  8. package/lib/cjs/BackendLoggerCategory.d.ts +91 -82
  9. package/lib/cjs/BackendLoggerCategory.d.ts.map +1 -1
  10. package/lib/cjs/BackendLoggerCategory.js +99 -90
  11. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  12. package/lib/cjs/BisCoreSchema.d.ts +21 -21
  13. package/lib/cjs/BisCoreSchema.js +60 -60
  14. package/lib/cjs/BisCoreSchema.js.map +1 -1
  15. package/lib/cjs/BriefcaseManager.d.ts +165 -165
  16. package/lib/cjs/BriefcaseManager.js +405 -405
  17. package/lib/cjs/BriefcaseManager.js.map +1 -1
  18. package/lib/cjs/Category.d.ts +153 -153
  19. package/lib/cjs/Category.js +243 -243
  20. package/lib/cjs/Category.js.map +1 -1
  21. package/lib/cjs/ChangeSummaryManager.d.ts +187 -187
  22. package/lib/cjs/ChangeSummaryManager.js +445 -445
  23. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  24. package/lib/cjs/ChangedElementsDb.d.ts +99 -99
  25. package/lib/cjs/ChangedElementsDb.js +165 -165
  26. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  27. package/lib/cjs/ChangedElementsManager.d.ts +39 -39
  28. package/lib/cjs/ChangedElementsManager.js +88 -88
  29. package/lib/cjs/ChangedElementsManager.js.map +1 -1
  30. package/lib/cjs/CheckpointManager.d.ts +120 -122
  31. package/lib/cjs/CheckpointManager.d.ts.map +1 -1
  32. package/lib/cjs/CheckpointManager.js +343 -354
  33. package/lib/cjs/CheckpointManager.js.map +1 -1
  34. package/lib/cjs/ClassRegistry.d.ts +71 -71
  35. package/lib/cjs/ClassRegistry.d.ts.map +1 -1
  36. package/lib/cjs/ClassRegistry.js +215 -213
  37. package/lib/cjs/ClassRegistry.js.map +1 -1
  38. package/lib/cjs/CloudSqlite.d.ts +328 -328
  39. package/lib/cjs/CloudSqlite.js +135 -135
  40. package/lib/cjs/CloudSqlite.js.map +1 -1
  41. package/lib/cjs/CloudStorageBackend.d.ts +58 -46
  42. package/lib/cjs/CloudStorageBackend.d.ts.map +1 -1
  43. package/lib/cjs/CloudStorageBackend.js +173 -164
  44. package/lib/cjs/CloudStorageBackend.js.map +1 -1
  45. package/lib/cjs/CodeService.d.ts +391 -391
  46. package/lib/cjs/CodeService.d.ts.map +1 -1
  47. package/lib/cjs/CodeService.js +63 -61
  48. package/lib/cjs/CodeService.js.map +1 -1
  49. package/lib/cjs/CodeSpecs.d.ts +50 -50
  50. package/lib/cjs/CodeSpecs.js +112 -112
  51. package/lib/cjs/CodeSpecs.js.map +1 -1
  52. package/lib/cjs/ConcurrentQuery.d.ts +11 -11
  53. package/lib/cjs/ConcurrentQuery.js +30 -30
  54. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  55. package/lib/cjs/CustomViewState3dCreator.d.ts +32 -32
  56. package/lib/cjs/CustomViewState3dCreator.d.ts.map +1 -1
  57. package/lib/cjs/CustomViewState3dCreator.js +113 -99
  58. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  59. package/lib/cjs/DevTools.d.ts +71 -71
  60. package/lib/cjs/DevTools.d.ts.map +1 -1
  61. package/lib/cjs/DevTools.js +154 -154
  62. package/lib/cjs/DevTools.js.map +1 -1
  63. package/lib/cjs/DisplayStyle.d.ts +106 -106
  64. package/lib/cjs/DisplayStyle.js +256 -256
  65. package/lib/cjs/DisplayStyle.js.map +1 -1
  66. package/lib/cjs/ECDb.d.ts +191 -191
  67. package/lib/cjs/ECDb.js +350 -350
  68. package/lib/cjs/ECDb.js.map +1 -1
  69. package/lib/cjs/ECSchemaXmlContext.d.ts +18 -18
  70. package/lib/cjs/ECSchemaXmlContext.js +41 -41
  71. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  72. package/lib/cjs/ECSqlStatement.d.ts +466 -466
  73. package/lib/cjs/ECSqlStatement.js +791 -791
  74. package/lib/cjs/ECSqlStatement.js.map +1 -1
  75. package/lib/cjs/Element.d.ts +1109 -1109
  76. package/lib/cjs/Element.d.ts.map +1 -1
  77. package/lib/cjs/Element.js +1420 -1421
  78. package/lib/cjs/Element.js.map +1 -1
  79. package/lib/cjs/ElementAspect.d.ts +156 -156
  80. package/lib/cjs/ElementAspect.js +178 -178
  81. package/lib/cjs/ElementAspect.js.map +1 -1
  82. package/lib/cjs/ElementGraphics.d.ts +9 -9
  83. package/lib/cjs/ElementGraphics.js +41 -41
  84. package/lib/cjs/ElementGraphics.js.map +1 -1
  85. package/lib/cjs/ElementTreeWalker.d.ts +162 -162
  86. package/lib/cjs/ElementTreeWalker.d.ts.map +1 -1
  87. package/lib/cjs/ElementTreeWalker.js +409 -409
  88. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  89. package/lib/cjs/Entity.d.ts +76 -76
  90. package/lib/cjs/Entity.js +82 -82
  91. package/lib/cjs/Entity.js.map +1 -1
  92. package/lib/cjs/ExportGraphics.d.ts +317 -317
  93. package/lib/cjs/ExportGraphics.d.ts.map +1 -1
  94. package/lib/cjs/ExportGraphics.js +208 -208
  95. package/lib/cjs/ExportGraphics.js.map +1 -1
  96. package/lib/cjs/ExternalSource.d.ts +94 -94
  97. package/lib/cjs/ExternalSource.d.ts.map +1 -1
  98. package/lib/cjs/ExternalSource.js +125 -125
  99. package/lib/cjs/ExternalSource.js.map +1 -1
  100. package/lib/cjs/GeoCoordConfig.d.ts +19 -19
  101. package/lib/cjs/GeoCoordConfig.js +82 -82
  102. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  103. package/lib/cjs/GeometrySummary.d.ts +4 -4
  104. package/lib/cjs/GeometrySummary.js +380 -380
  105. package/lib/cjs/GeometrySummary.js.map +1 -1
  106. package/lib/cjs/HubMock.d.ts +93 -93
  107. package/lib/cjs/HubMock.js +190 -190
  108. package/lib/cjs/HubMock.js.map +1 -1
  109. package/lib/cjs/IModelCloneContext.d.ts +85 -85
  110. package/lib/cjs/IModelCloneContext.js +150 -150
  111. package/lib/cjs/IModelCloneContext.js.map +1 -1
  112. package/lib/cjs/IModelDb.d.ts +1164 -1164
  113. package/lib/cjs/IModelDb.d.ts.map +1 -1
  114. package/lib/cjs/IModelDb.js +2324 -2321
  115. package/lib/cjs/IModelDb.js.map +1 -1
  116. package/lib/cjs/IModelHost.d.ts +361 -347
  117. package/lib/cjs/IModelHost.d.ts.map +1 -1
  118. package/lib/cjs/IModelHost.js +491 -457
  119. package/lib/cjs/IModelHost.js.map +1 -1
  120. package/lib/cjs/IModelJsFs.d.ts +62 -62
  121. package/lib/cjs/IModelJsFs.js +140 -140
  122. package/lib/cjs/IModelJsFs.js.map +1 -1
  123. package/lib/cjs/IpcHost.d.ts +98 -98
  124. package/lib/cjs/IpcHost.js +234 -234
  125. package/lib/cjs/IpcHost.js.map +1 -1
  126. package/lib/cjs/LineStyle.d.ts +311 -311
  127. package/lib/cjs/LineStyle.js +295 -295
  128. package/lib/cjs/LineStyle.js.map +1 -1
  129. package/lib/cjs/LocalHub.d.ts +162 -162
  130. package/lib/cjs/LocalHub.js +587 -587
  131. package/lib/cjs/LocalHub.js.map +1 -1
  132. package/lib/cjs/LocalhostIpcHost.d.ts +20 -20
  133. package/lib/cjs/LocalhostIpcHost.js +81 -81
  134. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  135. package/lib/cjs/Material.d.ts +103 -103
  136. package/lib/cjs/Material.js +147 -147
  137. package/lib/cjs/Material.js.map +1 -1
  138. package/lib/cjs/Model.d.ts +386 -386
  139. package/lib/cjs/Model.d.ts.map +1 -1
  140. package/lib/cjs/Model.js +471 -468
  141. package/lib/cjs/Model.js.map +1 -1
  142. package/lib/cjs/NativeAppStorage.d.ts +51 -51
  143. package/lib/cjs/NativeAppStorage.js +202 -202
  144. package/lib/cjs/NativeAppStorage.js.map +1 -1
  145. package/lib/cjs/NativeHost.d.ts +52 -52
  146. package/lib/cjs/NativeHost.js +168 -168
  147. package/lib/cjs/NativeHost.js.map +1 -1
  148. package/lib/cjs/NavigationRelationship.d.ts +156 -156
  149. package/lib/cjs/NavigationRelationship.js +225 -225
  150. package/lib/cjs/NavigationRelationship.js.map +1 -1
  151. package/lib/cjs/PromiseMemoizer.d.ts +51 -51
  152. package/lib/cjs/PromiseMemoizer.d.ts.map +1 -1
  153. package/lib/cjs/PromiseMemoizer.js +101 -95
  154. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  155. package/lib/cjs/PropertyStore.d.ts +132 -132
  156. package/lib/cjs/PropertyStore.js +11 -11
  157. package/lib/cjs/PropertyStore.js.map +1 -1
  158. package/lib/cjs/Relationship.d.ts +400 -400
  159. package/lib/cjs/Relationship.js +465 -465
  160. package/lib/cjs/Relationship.js.map +1 -1
  161. package/lib/cjs/RpcBackend.d.ts +28 -28
  162. package/lib/cjs/RpcBackend.js +126 -126
  163. package/lib/cjs/RpcBackend.js.map +1 -1
  164. package/lib/cjs/SQLiteDb.d.ts +219 -219
  165. package/lib/cjs/SQLiteDb.js +214 -214
  166. package/lib/cjs/SQLiteDb.js.map +1 -1
  167. package/lib/cjs/Schema.d.ts +55 -55
  168. package/lib/cjs/Schema.js +83 -83
  169. package/lib/cjs/Schema.js.map +1 -1
  170. package/lib/cjs/ServerBasedLocks.d.ts +57 -57
  171. package/lib/cjs/ServerBasedLocks.js +168 -168
  172. package/lib/cjs/ServerBasedLocks.js.map +1 -1
  173. package/lib/cjs/SqliteStatement.d.ts +283 -283
  174. package/lib/cjs/SqliteStatement.js +448 -448
  175. package/lib/cjs/SqliteStatement.js.map +1 -1
  176. package/lib/cjs/Texture.d.ts +58 -58
  177. package/lib/cjs/Texture.js +82 -82
  178. package/lib/cjs/Texture.js.map +1 -1
  179. package/lib/cjs/TileStorage.d.ts +19 -0
  180. package/lib/cjs/TileStorage.d.ts.map +1 -0
  181. package/lib/cjs/TileStorage.js +91 -0
  182. package/lib/cjs/TileStorage.js.map +1 -0
  183. package/lib/cjs/TxnManager.d.ts +202 -202
  184. package/lib/cjs/TxnManager.d.ts.map +1 -1
  185. package/lib/cjs/TxnManager.js +356 -353
  186. package/lib/cjs/TxnManager.js.map +1 -1
  187. package/lib/cjs/ViewDefinition.d.ts +435 -435
  188. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  189. package/lib/cjs/ViewDefinition.js +635 -629
  190. package/lib/cjs/ViewDefinition.js.map +1 -1
  191. package/lib/cjs/ViewStateHydrator.d.ts +13 -13
  192. package/lib/cjs/ViewStateHydrator.js +103 -103
  193. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  194. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  195. package/lib/cjs/assets/Settings/Schemas/Cloud.Schema.json +67 -67
  196. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +31 -31
  197. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +52 -52
  198. package/lib/cjs/assets/Settings/backend.setting.json5 +138 -138
  199. package/lib/cjs/core-backend.d.ts +182 -178
  200. package/lib/cjs/core-backend.d.ts.map +1 -1
  201. package/lib/cjs/core-backend.js +202 -198
  202. package/lib/cjs/core-backend.js.map +1 -1
  203. package/lib/cjs/domains/FunctionalElements.d.ts +101 -101
  204. package/lib/cjs/domains/FunctionalElements.js +145 -145
  205. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  206. package/lib/cjs/domains/FunctionalSchema.d.ts +13 -13
  207. package/lib/cjs/domains/FunctionalSchema.js +40 -40
  208. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  209. package/lib/cjs/domains/GenericElements.d.ts +177 -177
  210. package/lib/cjs/domains/GenericElements.js +263 -263
  211. package/lib/cjs/domains/GenericElements.js.map +1 -1
  212. package/lib/cjs/domains/GenericSchema.d.ts +10 -10
  213. package/lib/cjs/domains/GenericSchema.js +28 -28
  214. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  215. package/lib/cjs/rpc-impl/DevToolsRpcImpl.d.ts +15 -15
  216. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js +32 -32
  217. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  218. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts +45 -45
  219. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +262 -262
  220. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  221. package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts +22 -20
  222. package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts.map +1 -1
  223. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js +204 -195
  224. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  225. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts +36 -36
  226. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -1
  227. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +168 -165
  228. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  229. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.d.ts +16 -16
  230. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js +43 -43
  231. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  232. package/lib/cjs/rpc-impl/WipRpcImpl.d.ts +15 -15
  233. package/lib/cjs/rpc-impl/WipRpcImpl.js +37 -37
  234. package/lib/cjs/rpc-impl/WipRpcImpl.js.map +1 -1
  235. package/lib/cjs/workspace/Settings.d.ts +186 -186
  236. package/lib/cjs/workspace/Settings.d.ts.map +1 -1
  237. package/lib/cjs/workspace/Settings.js +155 -152
  238. package/lib/cjs/workspace/Settings.js.map +1 -1
  239. package/lib/cjs/workspace/SettingsSchemas.d.ts +75 -75
  240. package/lib/cjs/workspace/SettingsSchemas.js +191 -191
  241. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  242. package/lib/cjs/workspace/Workspace.d.ts +405 -405
  243. package/lib/cjs/workspace/Workspace.js +539 -539
  244. package/lib/cjs/workspace/Workspace.js.map +1 -1
  245. package/package.json +17 -13
@@ -1,89 +1,89 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ChangedElementsManager = void 0;
4
- const BriefcaseManager_1 = require("./BriefcaseManager");
5
- const ChangedElementsDb_1 = require("./ChangedElementsDb");
6
- const IModelJsFs_1 = require("./IModelJsFs");
7
- /** Utilities for querying changed elements caches */
8
- /** @internal */
9
- class ChangedElementsManager {
10
- static getChangedElementsPathName(iModelId) { return BriefcaseManager_1.BriefcaseManager.getChangedElementsPathName(iModelId); }
11
- /** Get changed elements Db */
12
- static getChangedElementsDb(iModelId) {
13
- if (this._entry && this._entry.iModelId === iModelId)
14
- return this._entry.db;
15
- if (this._entry && this._entry.iModelId !== iModelId) {
16
- this._entry.db.closeDb();
17
- this._entry.db.cleanCaches();
18
- this._entry = undefined;
19
- }
20
- if (!this._entry) {
21
- const path = ChangedElementsManager.getChangedElementsPathName(iModelId);
22
- if (!IModelJsFs_1.IModelJsFs.existsSync(path))
23
- return undefined;
24
- const db = ChangedElementsDb_1.ChangedElementsDb.openDb(path);
25
- this._entry = {
26
- iModelId,
27
- db,
28
- };
29
- return db;
30
- }
31
- return undefined;
32
- }
33
- static cleanUp() {
34
- if (this._entry) {
35
- this._entry.db.closeDb();
36
- this._entry.db.cleanCaches();
37
- this._entry = undefined;
38
- }
39
- }
40
- /** Gets the changed elements from the cache if found
41
- * @param iModelId Id of the iModel
42
- * @param startChangesetId Start changeset Id
43
- * @param endChangesetId End changeset Id
44
- * @returns Changed elements if found
45
- */
46
- static getChangedElements(iModelId, startChangesetId, endChangesetId) {
47
- const db = ChangedElementsManager.getChangedElementsDb(iModelId);
48
- if (!db)
49
- return undefined;
50
- return db.getChangedElements(startChangesetId, endChangesetId);
51
- }
52
- /** Gets the changed models from the cache if found
53
- * @param iModelId Id of the iModel
54
- * @param startChangesetId Start changeset Id
55
- * @param endChangesetId End changeset Id
56
- * @returns Changed models if found
57
- */
58
- static getChangedModels(iModelId, startChangesetId, endChangesetId) {
59
- const db = ChangedElementsManager.getChangedElementsDb(iModelId);
60
- if (!db)
61
- return undefined;
62
- return db.getChangedModels(startChangesetId, endChangesetId);
63
- }
64
- /** Gets the change data (models and elements) from the cache if found
65
- * @param iModelId Id of the iModel
66
- * @param startChangesetId Start changeset Id
67
- * @param endChangesetId End changeset Id
68
- * @returns Changed models if found
69
- */
70
- static getChangeData(iModelId, startChangesetId, endChangesetId) {
71
- const db = ChangedElementsManager.getChangedElementsDb(iModelId);
72
- if (!db)
73
- return undefined;
74
- return db.getChangeData(startChangesetId, endChangesetId);
75
- }
76
- /** Checks if the cache contains information about the changeset
77
- * @param iModelId Id of the iModel
78
- * @param changesetId Changeset to check for
79
- * @returns true if the changeset has been processed and exists in the cache
80
- */
81
- static isProcessed(iModelId, changesetId) {
82
- const db = ChangedElementsManager.getChangedElementsDb(iModelId);
83
- if (!db)
84
- return false;
85
- return db.isProcessed(changesetId);
86
- }
87
- }
88
- exports.ChangedElementsManager = ChangedElementsManager;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChangedElementsManager = void 0;
4
+ const BriefcaseManager_1 = require("./BriefcaseManager");
5
+ const ChangedElementsDb_1 = require("./ChangedElementsDb");
6
+ const IModelJsFs_1 = require("./IModelJsFs");
7
+ /** Utilities for querying changed elements caches */
8
+ /** @internal */
9
+ class ChangedElementsManager {
10
+ static getChangedElementsPathName(iModelId) { return BriefcaseManager_1.BriefcaseManager.getChangedElementsPathName(iModelId); }
11
+ /** Get changed elements Db */
12
+ static getChangedElementsDb(iModelId) {
13
+ if (this._entry && this._entry.iModelId === iModelId)
14
+ return this._entry.db;
15
+ if (this._entry && this._entry.iModelId !== iModelId) {
16
+ this._entry.db.closeDb();
17
+ this._entry.db.cleanCaches();
18
+ this._entry = undefined;
19
+ }
20
+ if (!this._entry) {
21
+ const path = ChangedElementsManager.getChangedElementsPathName(iModelId);
22
+ if (!IModelJsFs_1.IModelJsFs.existsSync(path))
23
+ return undefined;
24
+ const db = ChangedElementsDb_1.ChangedElementsDb.openDb(path);
25
+ this._entry = {
26
+ iModelId,
27
+ db,
28
+ };
29
+ return db;
30
+ }
31
+ return undefined;
32
+ }
33
+ static cleanUp() {
34
+ if (this._entry) {
35
+ this._entry.db.closeDb();
36
+ this._entry.db.cleanCaches();
37
+ this._entry = undefined;
38
+ }
39
+ }
40
+ /** Gets the changed elements from the cache if found
41
+ * @param iModelId Id of the iModel
42
+ * @param startChangesetId Start changeset Id
43
+ * @param endChangesetId End changeset Id
44
+ * @returns Changed elements if found
45
+ */
46
+ static getChangedElements(iModelId, startChangesetId, endChangesetId) {
47
+ const db = ChangedElementsManager.getChangedElementsDb(iModelId);
48
+ if (!db)
49
+ return undefined;
50
+ return db.getChangedElements(startChangesetId, endChangesetId);
51
+ }
52
+ /** Gets the changed models from the cache if found
53
+ * @param iModelId Id of the iModel
54
+ * @param startChangesetId Start changeset Id
55
+ * @param endChangesetId End changeset Id
56
+ * @returns Changed models if found
57
+ */
58
+ static getChangedModels(iModelId, startChangesetId, endChangesetId) {
59
+ const db = ChangedElementsManager.getChangedElementsDb(iModelId);
60
+ if (!db)
61
+ return undefined;
62
+ return db.getChangedModels(startChangesetId, endChangesetId);
63
+ }
64
+ /** Gets the change data (models and elements) from the cache if found
65
+ * @param iModelId Id of the iModel
66
+ * @param startChangesetId Start changeset Id
67
+ * @param endChangesetId End changeset Id
68
+ * @returns Changed models if found
69
+ */
70
+ static getChangeData(iModelId, startChangesetId, endChangesetId) {
71
+ const db = ChangedElementsManager.getChangedElementsDb(iModelId);
72
+ if (!db)
73
+ return undefined;
74
+ return db.getChangeData(startChangesetId, endChangesetId);
75
+ }
76
+ /** Checks if the cache contains information about the changeset
77
+ * @param iModelId Id of the iModel
78
+ * @param changesetId Changeset to check for
79
+ * @returns true if the changeset has been processed and exists in the cache
80
+ */
81
+ static isProcessed(iModelId, changesetId) {
82
+ const db = ChangedElementsManager.getChangedElementsDb(iModelId);
83
+ if (!db)
84
+ return false;
85
+ return db.isProcessed(changesetId);
86
+ }
87
+ }
88
+ exports.ChangedElementsManager = ChangedElementsManager;
89
89
  //# sourceMappingURL=ChangedElementsManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChangedElementsManager.js","sourceRoot":"","sources":["../../src/ChangedElementsManager.ts"],"names":[],"mappings":";;;AAMA,yDAAsD;AACtD,2DAAwD;AACxD,6CAA0C;AAQ1C,qDAAqD;AACrD,gBAAgB;AAChB,MAAa,sBAAsB;IAI1B,MAAM,CAAC,0BAA0B,CAAC,QAAoB,IAAY,OAAO,mCAAgB,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAExI,8BAA8B;IACtB,MAAM,CAAC,oBAAoB,CAAC,QAAoB;QACtD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ;YAClD,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACpD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;SACzB;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,IAAI,GAAG,sBAAsB,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;YACzE,IAAI,CAAC,uBAAU,CAAC,UAAU,CAAC,IAAI,CAAC;gBAC9B,OAAO,SAAS,CAAC;YAEnB,MAAM,EAAE,GAAsB,qCAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,GAAG;gBACZ,QAAQ;gBACR,EAAE;aACH,CAAC;YAEF,OAAO,EAAE,CAAC;SACX;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,OAAO;QACnB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;SACzB;IACH,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,kBAAkB,CAAC,QAAoB,EAAE,gBAAwB,EAAE,cAAsB;QACrG,MAAM,EAAE,GAAkC,sBAAsB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAChG,IAAI,CAAC,EAAE;YACL,OAAO,SAAS,CAAC;QAEnB,OAAO,EAAE,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IACjE,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,gBAAgB,CAAC,QAAoB,EAAE,gBAAwB,EAAE,cAAsB;QACnG,MAAM,EAAE,GAAkC,sBAAsB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAChG,IAAI,CAAC,EAAE;YACL,OAAO,SAAS,CAAC;QAEnB,OAAO,EAAE,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,aAAa,CAAC,QAAoB,EAAE,gBAAwB,EAAE,cAAsB;QAChG,MAAM,EAAE,GAAkC,sBAAsB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAChG,IAAI,CAAC,EAAE;YACL,OAAO,SAAS,CAAC;QAEnB,OAAO,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,WAAW,CAAC,QAAoB,EAAE,WAAmB;QACjE,MAAM,EAAE,GAAkC,sBAAsB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAChG,IAAI,CAAC,EAAE;YACL,OAAO,KAAK,CAAC;QAEf,OAAO,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;CACF;AA9FD,wDA8FC","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 { GuidString } from \"@itwin/core-bentley\";\nimport { ChangeData, ChangedElements, ChangedModels } from \"@itwin/core-common\";\nimport { BriefcaseManager } from \"./BriefcaseManager\";\nimport { ChangedElementsDb } from \"./ChangedElementsDb\";\nimport { IModelJsFs } from \"./IModelJsFs\";\n\n/** @internal */\ninterface ChangedElementsDbCacheEntry {\n iModelId: GuidString;\n db: ChangedElementsDb;\n}\n\n/** Utilities for querying changed elements caches */\n/** @internal */\nexport class ChangedElementsManager {\n /** Maintains a single entry since we will only have a cache per iModel, which means a ChangedElementsDb per backend instance */\n private static _entry: ChangedElementsDbCacheEntry | undefined;\n\n public static getChangedElementsPathName(iModelId: GuidString): string { return BriefcaseManager.getChangedElementsPathName(iModelId); }\n\n /** Get changed elements Db */\n private static getChangedElementsDb(iModelId: GuidString): ChangedElementsDb | undefined {\n if (this._entry && this._entry.iModelId === iModelId)\n return this._entry.db;\n if (this._entry && this._entry.iModelId !== iModelId) {\n this._entry.db.closeDb();\n this._entry.db.cleanCaches();\n this._entry = undefined;\n }\n if (!this._entry) {\n const path = ChangedElementsManager.getChangedElementsPathName(iModelId);\n if (!IModelJsFs.existsSync(path))\n return undefined;\n\n const db: ChangedElementsDb = ChangedElementsDb.openDb(path);\n this._entry = {\n iModelId,\n db,\n };\n\n return db;\n }\n\n return undefined;\n }\n\n public static cleanUp() {\n if (this._entry) {\n this._entry.db.closeDb();\n this._entry.db.cleanCaches();\n this._entry = undefined;\n }\n }\n\n /** Gets the changed elements from the cache if found\n * @param iModelId Id of the iModel\n * @param startChangesetId Start changeset Id\n * @param endChangesetId End changeset Id\n * @returns Changed elements if found\n */\n public static getChangedElements(iModelId: GuidString, startChangesetId: string, endChangesetId: string): ChangedElements | undefined {\n const db: ChangedElementsDb | undefined = ChangedElementsManager.getChangedElementsDb(iModelId);\n if (!db)\n return undefined;\n\n return db.getChangedElements(startChangesetId, endChangesetId);\n }\n\n /** Gets the changed models from the cache if found\n * @param iModelId Id of the iModel\n * @param startChangesetId Start changeset Id\n * @param endChangesetId End changeset Id\n * @returns Changed models if found\n */\n public static getChangedModels(iModelId: GuidString, startChangesetId: string, endChangesetId: string): ChangedModels | undefined {\n const db: ChangedElementsDb | undefined = ChangedElementsManager.getChangedElementsDb(iModelId);\n if (!db)\n return undefined;\n\n return db.getChangedModels(startChangesetId, endChangesetId);\n }\n\n /** Gets the change data (models and elements) from the cache if found\n * @param iModelId Id of the iModel\n * @param startChangesetId Start changeset Id\n * @param endChangesetId End changeset Id\n * @returns Changed models if found\n */\n public static getChangeData(iModelId: GuidString, startChangesetId: string, endChangesetId: string): ChangeData | undefined {\n const db: ChangedElementsDb | undefined = ChangedElementsManager.getChangedElementsDb(iModelId);\n if (!db)\n return undefined;\n\n return db.getChangeData(startChangesetId, endChangesetId);\n }\n\n /** Checks if the cache contains information about the changeset\n * @param iModelId Id of the iModel\n * @param changesetId Changeset to check for\n * @returns true if the changeset has been processed and exists in the cache\n */\n public static isProcessed(iModelId: GuidString, changesetId: string): boolean {\n const db: ChangedElementsDb | undefined = ChangedElementsManager.getChangedElementsDb(iModelId);\n if (!db)\n return false;\n\n return db.isProcessed(changesetId);\n }\n}\n"]}
1
+ {"version":3,"file":"ChangedElementsManager.js","sourceRoot":"","sources":["../../src/ChangedElementsManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\nimport { GuidString } from \"@itwin/core-bentley\";\r\nimport { ChangeData, ChangedElements, ChangedModels } from \"@itwin/core-common\";\r\nimport { BriefcaseManager } from \"./BriefcaseManager\";\r\nimport { ChangedElementsDb } from \"./ChangedElementsDb\";\r\nimport { IModelJsFs } from \"./IModelJsFs\";\r\n\r\n/** @internal */\r\ninterface ChangedElementsDbCacheEntry {\r\n iModelId: GuidString;\r\n db: ChangedElementsDb;\r\n}\r\n\r\n/** Utilities for querying changed elements caches */\r\n/** @internal */\r\nexport class ChangedElementsManager {\r\n /** Maintains a single entry since we will only have a cache per iModel, which means a ChangedElementsDb per backend instance */\r\n private static _entry: ChangedElementsDbCacheEntry | undefined;\r\n\r\n public static getChangedElementsPathName(iModelId: GuidString): string { return BriefcaseManager.getChangedElementsPathName(iModelId); }\r\n\r\n /** Get changed elements Db */\r\n private static getChangedElementsDb(iModelId: GuidString): ChangedElementsDb | undefined {\r\n if (this._entry && this._entry.iModelId === iModelId)\r\n return this._entry.db;\r\n if (this._entry && this._entry.iModelId !== iModelId) {\r\n this._entry.db.closeDb();\r\n this._entry.db.cleanCaches();\r\n this._entry = undefined;\r\n }\r\n if (!this._entry) {\r\n const path = ChangedElementsManager.getChangedElementsPathName(iModelId);\r\n if (!IModelJsFs.existsSync(path))\r\n return undefined;\r\n\r\n const db: ChangedElementsDb = ChangedElementsDb.openDb(path);\r\n this._entry = {\r\n iModelId,\r\n db,\r\n };\r\n\r\n return db;\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n public static cleanUp() {\r\n if (this._entry) {\r\n this._entry.db.closeDb();\r\n this._entry.db.cleanCaches();\r\n this._entry = undefined;\r\n }\r\n }\r\n\r\n /** Gets the changed elements from the cache if found\r\n * @param iModelId Id of the iModel\r\n * @param startChangesetId Start changeset Id\r\n * @param endChangesetId End changeset Id\r\n * @returns Changed elements if found\r\n */\r\n public static getChangedElements(iModelId: GuidString, startChangesetId: string, endChangesetId: string): ChangedElements | undefined {\r\n const db: ChangedElementsDb | undefined = ChangedElementsManager.getChangedElementsDb(iModelId);\r\n if (!db)\r\n return undefined;\r\n\r\n return db.getChangedElements(startChangesetId, endChangesetId);\r\n }\r\n\r\n /** Gets the changed models from the cache if found\r\n * @param iModelId Id of the iModel\r\n * @param startChangesetId Start changeset Id\r\n * @param endChangesetId End changeset Id\r\n * @returns Changed models if found\r\n */\r\n public static getChangedModels(iModelId: GuidString, startChangesetId: string, endChangesetId: string): ChangedModels | undefined {\r\n const db: ChangedElementsDb | undefined = ChangedElementsManager.getChangedElementsDb(iModelId);\r\n if (!db)\r\n return undefined;\r\n\r\n return db.getChangedModels(startChangesetId, endChangesetId);\r\n }\r\n\r\n /** Gets the change data (models and elements) from the cache if found\r\n * @param iModelId Id of the iModel\r\n * @param startChangesetId Start changeset Id\r\n * @param endChangesetId End changeset Id\r\n * @returns Changed models if found\r\n */\r\n public static getChangeData(iModelId: GuidString, startChangesetId: string, endChangesetId: string): ChangeData | undefined {\r\n const db: ChangedElementsDb | undefined = ChangedElementsManager.getChangedElementsDb(iModelId);\r\n if (!db)\r\n return undefined;\r\n\r\n return db.getChangeData(startChangesetId, endChangesetId);\r\n }\r\n\r\n /** Checks if the cache contains information about the changeset\r\n * @param iModelId Id of the iModel\r\n * @param changesetId Changeset to check for\r\n * @returns true if the changeset has been processed and exists in the cache\r\n */\r\n public static isProcessed(iModelId: GuidString, changesetId: string): boolean {\r\n const db: ChangedElementsDb | undefined = ChangedElementsManager.getChangedElementsDb(iModelId);\r\n if (!db)\r\n return false;\r\n\r\n return db.isProcessed(changesetId);\r\n }\r\n}\r\n"]}
@@ -1,123 +1,121 @@
1
- /** @packageDocumentation
2
- * @module iModels
3
- */
4
- import { IModelJsNative } from "@bentley/imodeljs-native";
5
- import { BeEvent, GuidString } from "@itwin/core-bentley";
6
- import { ChangesetId, ChangesetIdWithIndex, LocalDirName, LocalFileName } from "@itwin/core-common";
7
- import { CloudSqlite } from "./CloudSqlite";
8
- import { SnapshotDb, TokenArg } from "./IModelDb";
9
- /**
10
- * Properties of a checkpoint
11
- * @public
12
- */
13
- export interface CheckpointProps extends TokenArg {
14
- readonly expectV2?: boolean;
15
- /** iTwin that the iModel belongs to */
16
- readonly iTwinId: GuidString;
17
- /** Id of the iModel */
18
- readonly iModelId: GuidString;
19
- /** changeset for the checkpoint */
20
- readonly changeset: ChangesetIdWithIndex;
21
- /** The number of seconds before the current token expires to attempt to reacquire a new token. Default is 1 hour. */
22
- readonly reattachSafetySeconds?: number;
23
- }
24
- /** Return value from [[ProgressFunction]].
25
- * @public
26
- */
27
- export declare enum ProgressStatus {
28
- /** Continue download. */
29
- Continue = 0,
30
- /** Abort download. */
31
- Abort = 1
32
- }
33
- /** Called to show progress during a download. If this function returns non-zero, the download is aborted.
34
- * @public
35
- */
36
- export declare type ProgressFunction = (loaded: number, total: number) => ProgressStatus;
37
- /** The parameters that specify a request to download a checkpoint file from iModelHub.
38
- * @internal
39
- */
40
- export interface DownloadRequest {
41
- /** name of local file to hold the downloaded data. */
42
- localFile: LocalFileName;
43
- /** A list of full fileName paths to test before downloading. If a valid file exists by one of these names,
44
- * no download is performed and `localFile` is updated to reflect the fact that the file exists with that name.
45
- * This can be used, for example, to look for checkpoints from previous versions if the naming strategy changes.
46
- */
47
- readonly aliasFiles?: ReadonlyArray<string>;
48
- /** Properties of the checkpoint to be downloaded */
49
- readonly checkpoint: CheckpointProps;
50
- /** If present, this function will be called to indicate progress as the briefcase is downloaded. If this
51
- * function returns a non-zero value, the download is aborted.
52
- */
53
- readonly onProgress?: ProgressFunction;
54
- /** number of retries for transient failures. Default is 5. */
55
- readonly retries?: number;
56
- }
57
- /** @internal */
58
- export interface DownloadJob {
59
- request: DownloadRequest;
60
- promise?: Promise<any>;
61
- }
62
- /** @internal */
63
- export declare class Downloads {
64
- private static _active;
65
- private static process;
66
- static isInProgress(pathName: LocalFileName): DownloadJob | undefined;
67
- static download<T>(request: DownloadRequest, downloadFn: (job: DownloadJob) => Promise<T>): Promise<any>;
68
- }
69
- /**
70
- * Utility class for opening V2 checkpoints from cloud containers, and also for downloading them.
71
- * @internal
72
- */
73
- export declare class V2CheckpointManager {
74
- static readonly cloudCacheName = "v2Checkpoints";
75
- private static _cloudCache?;
76
- private static containers;
77
- static getFolder(): LocalDirName;
78
- static cleanup(): void;
79
- static getFileName(checkpoint: CheckpointProps): LocalFileName;
80
- private static get cloudCache();
81
- /** Member names differ slightly between the V2Checkpoint api and the CloudSqlite api. Add aliases `accessName` for `accountName` and `accessToken` for `sasToken` */
82
- private static toCloudContainerProps;
83
- private static getContainer;
84
- static attach(checkpoint: CheckpointProps): Promise<{
85
- dbName: string;
86
- container: CloudSqlite.CloudContainer;
87
- }>;
88
- private static performDownload;
89
- /** Fully download a V2 checkpoint to a local file that can be used to create a briefcase or to work offline.
90
- * @returns a Promise that is resolved when the download completes with the changesetId of the downloaded checkpoint (which will
91
- * be the same as the requested changesetId or the most recent checkpoint before it.)
92
- */
93
- static downloadCheckpoint(request: DownloadRequest): Promise<ChangesetId>;
94
- }
95
- /** Utility class to deal with downloading V1 checkpoints from iModelHub.
96
- * @internal
97
- */
98
- export declare class V1CheckpointManager {
99
- static getFolder(iModelId: GuidString): LocalDirName;
100
- static getFileName(checkpoint: CheckpointProps): LocalFileName;
101
- static getCheckpointDb(request: DownloadRequest): Promise<SnapshotDb>;
102
- /** Download a V1 checkpoint */
103
- static downloadCheckpoint(request: DownloadRequest): Promise<ChangesetId>;
104
- private static downloadAndOpen;
105
- private static performDownload;
106
- }
107
- /** @internal */
108
- export declare class CheckpointManager {
109
- static readonly onDownloadV1: BeEvent<(job: DownloadJob) => void>;
110
- static readonly onDownloadV2: BeEvent<(job: DownloadJob) => void>;
111
- static getKey(checkpoint: CheckpointProps): string;
112
- private static doDownload;
113
- static updateToRequestedVersion(request: DownloadRequest): Promise<void>;
114
- /** Download a checkpoint file from iModelHub into a local file specified in the request parameters. */
115
- static downloadCheckpoint(request: DownloadRequest): Promise<void>;
116
- /** checks a file's dbGuid & iTwinId for consistency, and updates the dbGuid when possible */
117
- static validateCheckpointGuids(checkpoint: CheckpointProps, nativeDb: IModelJsNative.DgnDb): void;
118
- /** @returns true if the file is the checkpoint requested */
119
- static verifyCheckpoint(checkpoint: CheckpointProps, fileName: LocalFileName): boolean;
120
- /** try to open an existing local file to satisfy a download request */
121
- static tryOpenLocalFile(request: DownloadRequest): SnapshotDb | undefined;
122
- }
1
+ /** @packageDocumentation
2
+ * @module iModels
3
+ */
4
+ import { IModelJsNative } from "@bentley/imodeljs-native";
5
+ import { BeEvent, GuidString } from "@itwin/core-bentley";
6
+ import { ChangesetId, ChangesetIdWithIndex, LocalDirName, LocalFileName } from "@itwin/core-common";
7
+ import { CloudSqlite } from "./CloudSqlite";
8
+ import { SnapshotDb, TokenArg } from "./IModelDb";
9
+ /**
10
+ * Properties of a checkpoint
11
+ * @public
12
+ */
13
+ export interface CheckpointProps extends TokenArg {
14
+ readonly expectV2?: boolean;
15
+ /** iTwin that the iModel belongs to */
16
+ readonly iTwinId: GuidString;
17
+ /** Id of the iModel */
18
+ readonly iModelId: GuidString;
19
+ /** changeset for the checkpoint */
20
+ readonly changeset: ChangesetIdWithIndex;
21
+ /** The number of seconds before the current token expires to attempt to reacquire a new token. Default is 1 hour. */
22
+ readonly reattachSafetySeconds?: number;
23
+ }
24
+ /** Return value from [[ProgressFunction]].
25
+ * @public
26
+ */
27
+ export declare enum ProgressStatus {
28
+ /** Continue download. */
29
+ Continue = 0,
30
+ /** Abort download. */
31
+ Abort = 1
32
+ }
33
+ /** Called to show progress during a download. If this function returns non-zero, the download is aborted.
34
+ * @public
35
+ */
36
+ export declare type ProgressFunction = (loaded: number, total: number) => ProgressStatus;
37
+ /** The parameters that specify a request to download a checkpoint file from iModelHub.
38
+ * @internal
39
+ */
40
+ export interface DownloadRequest {
41
+ /** name of local file to hold the downloaded data. */
42
+ localFile: LocalFileName;
43
+ /** A list of full fileName paths to test before downloading. If a valid file exists by one of these names,
44
+ * no download is performed and `localFile` is updated to reflect the fact that the file exists with that name.
45
+ * This can be used, for example, to look for checkpoints from previous versions if the naming strategy changes.
46
+ */
47
+ readonly aliasFiles?: ReadonlyArray<string>;
48
+ /** Properties of the checkpoint to be downloaded */
49
+ readonly checkpoint: CheckpointProps;
50
+ /** If present, this function will be called to indicate progress as the briefcase is downloaded. If this
51
+ * function returns a non-zero value, the download is aborted.
52
+ */
53
+ readonly onProgress?: ProgressFunction;
54
+ }
55
+ /** @internal */
56
+ export interface DownloadJob {
57
+ request: DownloadRequest;
58
+ promise?: Promise<any>;
59
+ }
60
+ /** @internal */
61
+ export declare class Downloads {
62
+ private static _active;
63
+ private static process;
64
+ static isInProgress(pathName: LocalFileName): DownloadJob | undefined;
65
+ static download<T>(request: DownloadRequest, downloadFn: (job: DownloadJob) => Promise<T>): Promise<any>;
66
+ }
67
+ /**
68
+ * Utility class for opening V2 checkpoints from cloud containers, and also for downloading them.
69
+ * @internal
70
+ */
71
+ export declare class V2CheckpointManager {
72
+ static readonly cloudCacheName = "v2Checkpoints";
73
+ private static _cloudCache?;
74
+ private static containers;
75
+ static getFolder(): LocalDirName;
76
+ static cleanup(): void;
77
+ static getFileName(checkpoint: CheckpointProps): LocalFileName;
78
+ private static get cloudCache();
79
+ /** Member names differ slightly between the V2Checkpoint api and the CloudSqlite api. Add aliases `accessName` for `accountName` and `accessToken` for `sasToken` */
80
+ private static toCloudContainerProps;
81
+ private static getContainer;
82
+ static attach(checkpoint: CheckpointProps): Promise<{
83
+ dbName: string;
84
+ container: CloudSqlite.CloudContainer;
85
+ }>;
86
+ private static performDownload;
87
+ /** Fully download a V2 checkpoint to a local file that can be used to create a briefcase or to work offline.
88
+ * @returns a Promise that is resolved when the download completes with the changesetId of the downloaded checkpoint (which will
89
+ * be the same as the requested changesetId or the most recent checkpoint before it.)
90
+ */
91
+ static downloadCheckpoint(request: DownloadRequest): Promise<ChangesetId>;
92
+ }
93
+ /** Utility class to deal with downloading V1 checkpoints from iModelHub.
94
+ * @internal
95
+ */
96
+ export declare class V1CheckpointManager {
97
+ static getFolder(iModelId: GuidString): LocalDirName;
98
+ static getFileName(checkpoint: CheckpointProps): LocalFileName;
99
+ static getCheckpointDb(request: DownloadRequest): Promise<SnapshotDb>;
100
+ /** Download a V1 checkpoint */
101
+ static downloadCheckpoint(request: DownloadRequest): Promise<ChangesetId>;
102
+ private static downloadAndOpen;
103
+ private static performDownload;
104
+ }
105
+ /** @internal */
106
+ export declare class CheckpointManager {
107
+ static readonly onDownloadV1: BeEvent<(job: DownloadJob) => void>;
108
+ static readonly onDownloadV2: BeEvent<(job: DownloadJob) => void>;
109
+ static getKey(checkpoint: CheckpointProps): string;
110
+ private static doDownload;
111
+ static updateToRequestedVersion(request: DownloadRequest): Promise<void>;
112
+ /** Download a checkpoint file from iModelHub into a local file specified in the request parameters. */
113
+ static downloadCheckpoint(request: DownloadRequest): Promise<void>;
114
+ /** checks a file's dbGuid & iTwinId for consistency, and updates the dbGuid when possible */
115
+ static validateCheckpointGuids(checkpoint: CheckpointProps, nativeDb: IModelJsNative.DgnDb): void;
116
+ /** @returns true if the file is the checkpoint requested */
117
+ static verifyCheckpoint(checkpoint: CheckpointProps, fileName: LocalFileName): boolean;
118
+ /** try to open an existing local file to satisfy a download request */
119
+ static tryOpenLocalFile(request: DownloadRequest): SnapshotDb | undefined;
120
+ }
123
121
  //# sourceMappingURL=CheckpointManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckpointManager.d.ts","sourceRoot":"","sources":["../../src/CheckpointManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CheckpointManager.d.ts","sourceRoot":"","sources":["../../src/CheckpointManager.ts"],"names":[],"mappings":"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"}