@itwin/core-backend 4.0.0-dev.8 → 4.0.0-dev.81

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 (259) hide show
  1. package/CHANGELOG.md +55 -1
  2. package/lib/cjs/BackendHubAccess.d.ts +224 -224
  3. package/lib/cjs/BackendHubAccess.d.ts.map +1 -1
  4. package/lib/cjs/BackendHubAccess.js +41 -41
  5. package/lib/cjs/BackendHubAccess.js.map +1 -1
  6. package/lib/cjs/BackendLoggerCategory.d.ts +90 -91
  7. package/lib/cjs/BackendLoggerCategory.d.ts.map +1 -1
  8. package/lib/cjs/BackendLoggerCategory.js +98 -99
  9. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  10. package/lib/cjs/BisCoreSchema.d.ts +21 -21
  11. package/lib/cjs/BisCoreSchema.js +60 -60
  12. package/lib/cjs/BriefcaseManager.d.ts +170 -170
  13. package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
  14. package/lib/cjs/BriefcaseManager.js +408 -414
  15. package/lib/cjs/BriefcaseManager.js.map +1 -1
  16. package/lib/cjs/Category.d.ts +153 -153
  17. package/lib/cjs/Category.js +243 -243
  18. package/lib/cjs/Category.js.map +1 -1
  19. package/lib/cjs/ChangeSummaryManager.d.ts +187 -187
  20. package/lib/cjs/ChangeSummaryManager.js +444 -445
  21. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  22. package/lib/cjs/ChangedElementsDb.d.ts +99 -99
  23. package/lib/cjs/ChangedElementsDb.js +165 -165
  24. package/lib/cjs/ChangedElementsManager.d.ts +39 -39
  25. package/lib/cjs/ChangedElementsManager.js +88 -88
  26. package/lib/cjs/ChannelControl.d.ts +70 -0
  27. package/lib/cjs/ChannelControl.d.ts.map +1 -0
  28. package/lib/cjs/ChannelControl.js +89 -0
  29. package/lib/cjs/ChannelControl.js.map +1 -0
  30. package/lib/cjs/CheckpointManager.d.ts +121 -121
  31. package/lib/cjs/CheckpointManager.d.ts.map +1 -1
  32. package/lib/cjs/CheckpointManager.js +351 -349
  33. package/lib/cjs/CheckpointManager.js.map +1 -1
  34. package/lib/cjs/ClassRegistry.d.ts +79 -79
  35. package/lib/cjs/ClassRegistry.js +249 -245
  36. package/lib/cjs/ClassRegistry.js.map +1 -1
  37. package/lib/cjs/CloudSqlite.d.ts +423 -350
  38. package/lib/cjs/CloudSqlite.d.ts.map +1 -1
  39. package/lib/cjs/CloudSqlite.js +189 -153
  40. package/lib/cjs/CloudSqlite.js.map +1 -1
  41. package/lib/cjs/CodeService.d.ts +437 -396
  42. package/lib/cjs/CodeService.d.ts.map +1 -1
  43. package/lib/cjs/CodeService.js +63 -63
  44. package/lib/cjs/CodeService.js.map +1 -1
  45. package/lib/cjs/CodeSpecs.d.ts +58 -55
  46. package/lib/cjs/CodeSpecs.d.ts.map +1 -1
  47. package/lib/cjs/CodeSpecs.js +154 -124
  48. package/lib/cjs/CodeSpecs.js.map +1 -1
  49. package/lib/cjs/ConcurrentQuery.d.ts +13 -13
  50. package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
  51. package/lib/cjs/ConcurrentQuery.js +36 -36
  52. package/lib/cjs/CustomViewState3dCreator.d.ts +21 -21
  53. package/lib/cjs/CustomViewState3dCreator.d.ts.map +1 -1
  54. package/lib/cjs/CustomViewState3dCreator.js +80 -81
  55. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  56. package/lib/cjs/DevTools.d.ts +74 -71
  57. package/lib/cjs/DevTools.d.ts.map +1 -1
  58. package/lib/cjs/DevTools.js +156 -154
  59. package/lib/cjs/DevTools.js.map +1 -1
  60. package/lib/cjs/DisplayStyle.d.ts +106 -106
  61. package/lib/cjs/DisplayStyle.js +253 -256
  62. package/lib/cjs/DisplayStyle.js.map +1 -1
  63. package/lib/cjs/ECDb.d.ts +194 -191
  64. package/lib/cjs/ECDb.d.ts.map +1 -1
  65. package/lib/cjs/ECDb.js +351 -350
  66. package/lib/cjs/ECDb.js.map +1 -1
  67. package/lib/cjs/ECSchemaXmlContext.d.ts +18 -18
  68. package/lib/cjs/ECSchemaXmlContext.d.ts.map +1 -1
  69. package/lib/cjs/ECSchemaXmlContext.js +41 -41
  70. package/lib/cjs/ECSqlStatement.d.ts +473 -473
  71. package/lib/cjs/ECSqlStatement.js +791 -791
  72. package/lib/cjs/Element.d.ts +1113 -1109
  73. package/lib/cjs/Element.d.ts.map +1 -1
  74. package/lib/cjs/Element.js +1424 -1427
  75. package/lib/cjs/Element.js.map +1 -1
  76. package/lib/cjs/ElementAspect.d.ts +176 -179
  77. package/lib/cjs/ElementAspect.d.ts.map +1 -1
  78. package/lib/cjs/ElementAspect.js +203 -211
  79. package/lib/cjs/ElementAspect.js.map +1 -1
  80. package/lib/cjs/ElementGraphics.d.ts +9 -9
  81. package/lib/cjs/ElementGraphics.js +41 -41
  82. package/lib/cjs/ElementGraphics.js.map +1 -1
  83. package/lib/cjs/ElementTreeWalker.d.ts +162 -162
  84. package/lib/cjs/ElementTreeWalker.d.ts.map +1 -1
  85. package/lib/cjs/ElementTreeWalker.js +409 -409
  86. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  87. package/lib/cjs/Entity.d.ts +106 -106
  88. package/lib/cjs/Entity.d.ts.map +1 -1
  89. package/lib/cjs/Entity.js +135 -134
  90. package/lib/cjs/Entity.js.map +1 -1
  91. package/lib/cjs/EntityReferences.d.ts +49 -49
  92. package/lib/cjs/EntityReferences.d.ts.map +1 -1
  93. package/lib/cjs/EntityReferences.js +95 -95
  94. package/lib/cjs/ExportGraphics.d.ts +317 -317
  95. package/lib/cjs/ExportGraphics.d.ts.map +1 -1
  96. package/lib/cjs/ExportGraphics.js +208 -208
  97. package/lib/cjs/ExternalSource.d.ts +96 -96
  98. package/lib/cjs/ExternalSource.js +131 -131
  99. package/lib/cjs/ExternalSource.js.map +1 -1
  100. package/lib/cjs/GeoCoordConfig.d.ts +19 -19
  101. package/lib/cjs/GeoCoordConfig.js +85 -85
  102. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  103. package/lib/cjs/GeometrySummary.d.ts +4 -4
  104. package/lib/cjs/GeometrySummary.js +333 -333
  105. package/lib/cjs/GeometrySummary.js.map +1 -1
  106. package/lib/cjs/HubMock.d.ts +94 -94
  107. package/lib/cjs/HubMock.js +220 -222
  108. package/lib/cjs/HubMock.js.map +1 -1
  109. package/lib/cjs/IModelCloneContext.d.ts +8 -8
  110. package/lib/cjs/IModelCloneContext.d.ts.map +1 -1
  111. package/lib/cjs/IModelCloneContext.js +15 -15
  112. package/lib/cjs/IModelDb.d.ts +1222 -1196
  113. package/lib/cjs/IModelDb.d.ts.map +1 -1
  114. package/lib/cjs/IModelDb.js +2389 -2392
  115. package/lib/cjs/IModelDb.js.map +1 -1
  116. package/lib/cjs/IModelElementCloneContext.d.ts +89 -89
  117. package/lib/cjs/IModelElementCloneContext.js +159 -159
  118. package/lib/cjs/IModelHost.d.ts +368 -369
  119. package/lib/cjs/IModelHost.d.ts.map +1 -1
  120. package/lib/cjs/IModelHost.js +474 -496
  121. package/lib/cjs/IModelHost.js.map +1 -1
  122. package/lib/cjs/IModelJsFs.d.ts +62 -62
  123. package/lib/cjs/IModelJsFs.js +139 -140
  124. package/lib/cjs/IModelJsFs.js.map +1 -1
  125. package/lib/cjs/IpcHost.d.ts +104 -104
  126. package/lib/cjs/IpcHost.js +276 -278
  127. package/lib/cjs/IpcHost.js.map +1 -1
  128. package/lib/cjs/LineStyle.d.ts +311 -311
  129. package/lib/cjs/LineStyle.js +295 -295
  130. package/lib/cjs/LocalHub.d.ts +162 -162
  131. package/lib/cjs/LocalHub.d.ts.map +1 -1
  132. package/lib/cjs/LocalHub.js +579 -584
  133. package/lib/cjs/LocalHub.js.map +1 -1
  134. package/lib/cjs/LocalhostIpcHost.d.ts +21 -20
  135. package/lib/cjs/LocalhostIpcHost.d.ts.map +1 -1
  136. package/lib/cjs/LocalhostIpcHost.js +79 -81
  137. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  138. package/lib/cjs/Material.d.ts +131 -131
  139. package/lib/cjs/Material.js +180 -181
  140. package/lib/cjs/Material.js.map +1 -1
  141. package/lib/cjs/Model.d.ts +392 -392
  142. package/lib/cjs/Model.d.ts.map +1 -1
  143. package/lib/cjs/Model.js +489 -485
  144. package/lib/cjs/Model.js.map +1 -1
  145. package/lib/cjs/NativeAppStorage.d.ts +51 -51
  146. package/lib/cjs/NativeAppStorage.js +202 -202
  147. package/lib/cjs/NativeAppStorage.js.map +1 -1
  148. package/lib/cjs/NativeHost.d.ts +52 -52
  149. package/lib/cjs/NativeHost.d.ts.map +1 -1
  150. package/lib/cjs/NativeHost.js +158 -163
  151. package/lib/cjs/NativeHost.js.map +1 -1
  152. package/lib/cjs/NavigationRelationship.d.ts +156 -156
  153. package/lib/cjs/NavigationRelationship.js +225 -225
  154. package/lib/cjs/NavigationRelationship.js.map +1 -1
  155. package/lib/cjs/PromiseMemoizer.d.ts +51 -51
  156. package/lib/cjs/PromiseMemoizer.d.ts.map +1 -1
  157. package/lib/cjs/PromiseMemoizer.js +101 -101
  158. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  159. package/lib/cjs/PropertyStore.d.ts +132 -132
  160. package/lib/cjs/PropertyStore.js +11 -11
  161. package/lib/cjs/Relationship.d.ts +416 -416
  162. package/lib/cjs/Relationship.js +494 -494
  163. package/lib/cjs/Relationship.js.map +1 -1
  164. package/lib/cjs/RpcBackend.d.ts +5 -5
  165. package/lib/cjs/RpcBackend.js +32 -32
  166. package/lib/cjs/SQLiteDb.d.ts +219 -219
  167. package/lib/cjs/SQLiteDb.js +212 -214
  168. package/lib/cjs/SQLiteDb.js.map +1 -1
  169. package/lib/cjs/Schema.d.ts +55 -55
  170. package/lib/cjs/Schema.js +83 -83
  171. package/lib/cjs/Schema.js.map +1 -1
  172. package/lib/cjs/ServerBasedLocks.d.ts +57 -57
  173. package/lib/cjs/ServerBasedLocks.js +168 -168
  174. package/lib/cjs/ServerBasedLocks.js.map +1 -1
  175. package/lib/cjs/SqliteStatement.d.ts +360 -360
  176. package/lib/cjs/SqliteStatement.d.ts.map +1 -1
  177. package/lib/cjs/SqliteStatement.js +586 -586
  178. package/lib/cjs/Texture.d.ts +58 -58
  179. package/lib/cjs/Texture.js +82 -82
  180. package/lib/cjs/Texture.js.map +1 -1
  181. package/lib/cjs/TileStorage.d.ts +44 -18
  182. package/lib/cjs/TileStorage.d.ts.map +1 -1
  183. package/lib/cjs/TileStorage.js +109 -90
  184. package/lib/cjs/TileStorage.js.map +1 -1
  185. package/lib/cjs/TxnManager.d.ts +202 -202
  186. package/lib/cjs/TxnManager.d.ts.map +1 -1
  187. package/lib/cjs/TxnManager.js +356 -356
  188. package/lib/cjs/TxnManager.js.map +1 -1
  189. package/lib/cjs/ViewDefinition.d.ts +435 -439
  190. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  191. package/lib/cjs/ViewDefinition.js +646 -646
  192. package/lib/cjs/ViewDefinition.js.map +1 -1
  193. package/lib/cjs/ViewStateHydrator.d.ts +13 -13
  194. package/lib/cjs/ViewStateHydrator.js +103 -103
  195. package/lib/cjs/core-backend.d.ts +183 -184
  196. package/lib/cjs/core-backend.d.ts.map +1 -1
  197. package/lib/cjs/core-backend.js +207 -204
  198. package/lib/cjs/core-backend.js.map +1 -1
  199. package/lib/cjs/domains/FunctionalElements.d.ts +101 -101
  200. package/lib/cjs/domains/FunctionalElements.js +145 -145
  201. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  202. package/lib/cjs/domains/FunctionalSchema.d.ts +13 -13
  203. package/lib/cjs/domains/FunctionalSchema.d.ts.map +1 -1
  204. package/lib/cjs/domains/FunctionalSchema.js +39 -40
  205. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  206. package/lib/cjs/domains/GenericElements.d.ts +177 -177
  207. package/lib/cjs/domains/GenericElements.js +263 -263
  208. package/lib/cjs/domains/GenericSchema.d.ts +10 -10
  209. package/lib/cjs/domains/GenericSchema.js +28 -28
  210. package/lib/cjs/rpc/multipart.d.ts +11 -11
  211. package/lib/cjs/rpc/multipart.js +71 -71
  212. package/lib/cjs/rpc/tracing.d.ts +28 -28
  213. package/lib/cjs/rpc/tracing.js +73 -74
  214. package/lib/cjs/rpc/tracing.js.map +1 -1
  215. package/lib/cjs/rpc/web/logging.d.ts +9 -9
  216. package/lib/cjs/rpc/web/logging.js +43 -43
  217. package/lib/cjs/rpc/web/request.d.ts +6 -6
  218. package/lib/cjs/rpc/web/request.js +73 -74
  219. package/lib/cjs/rpc/web/request.js.map +1 -1
  220. package/lib/cjs/rpc/web/response.d.ts +6 -6
  221. package/lib/cjs/rpc/web/response.js +105 -106
  222. package/lib/cjs/rpc/web/response.js.map +1 -1
  223. package/lib/cjs/rpc-impl/DevToolsRpcImpl.d.ts +15 -15
  224. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js +32 -32
  225. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts +47 -47
  226. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +293 -294
  227. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  228. package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts +20 -22
  229. package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts.map +1 -1
  230. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js +190 -205
  231. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  232. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts +36 -36
  233. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +166 -168
  234. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  235. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.d.ts +16 -16
  236. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js +42 -43
  237. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  238. package/lib/cjs/rpc-impl/WipRpcImpl.d.ts +15 -15
  239. package/lib/cjs/rpc-impl/WipRpcImpl.js +37 -37
  240. package/lib/cjs/workspace/Settings.d.ts +186 -186
  241. package/lib/cjs/workspace/Settings.d.ts.map +1 -1
  242. package/lib/cjs/workspace/Settings.js +154 -155
  243. package/lib/cjs/workspace/Settings.js.map +1 -1
  244. package/lib/cjs/workspace/SettingsSchemas.d.ts +75 -75
  245. package/lib/cjs/workspace/SettingsSchemas.js +190 -191
  246. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  247. package/lib/cjs/workspace/Workspace.d.ts +411 -414
  248. package/lib/cjs/workspace/Workspace.d.ts.map +1 -1
  249. package/lib/cjs/workspace/Workspace.js +521 -543
  250. package/lib/cjs/workspace/Workspace.js.map +1 -1
  251. package/package.json +22 -24
  252. package/lib/cjs/AliCloudStorageService.d.ts +0 -24
  253. package/lib/cjs/AliCloudStorageService.d.ts.map +0 -1
  254. package/lib/cjs/AliCloudStorageService.js +0 -72
  255. package/lib/cjs/AliCloudStorageService.js.map +0 -1
  256. package/lib/cjs/CloudStorageBackend.d.ts +0 -59
  257. package/lib/cjs/CloudStorageBackend.d.ts.map +0 -1
  258. package/lib/cjs/CloudStorageBackend.js +0 -174
  259. package/lib/cjs/CloudStorageBackend.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"IModelJsFs.js","sourceRoot":"","sources":["../../src/IModelJsFs.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F;;GAEG;AAEH,uBAAuB;AAEvB,+BAA+B;AAC/B,6BAA6B;AAE7B,uDAAuD;AACvD;;GAEG;AACH,MAAa,eAAe;IAC1B,YACS,IAAY,EACZ,OAAe,EACf,OAAe,EACf,WAAmB,EACnB,WAAoB,EACpB,MAAe,EACf,QAAiB,EACjB,cAAuB,EACvB,UAAmB;QARnB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAQ;QACf,YAAO,GAAP,OAAO,CAAQ;QACf,gBAAW,GAAX,WAAW,CAAQ;QACnB,gBAAW,GAAX,WAAW,CAAS;QACpB,WAAM,GAAN,MAAM,CAAS;QACf,aAAQ,GAAR,QAAQ,CAAS;QACjB,mBAAc,GAAd,cAAc,CAAS;QACvB,eAAU,GAAV,UAAU,CAAS;IACxB,CAAC;CACN;AAZD,0CAYC;AAED;;GAEG;AACH,MAAa,UAAU;IAErB,oCAAoC;IAC7B,MAAM,CAAC,UAAU,CAAC,QAAgB,IAAa,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEvF,qBAAqB;IACd,MAAM,CAAC,UAAU,CAAC,QAAgB,IAAU,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE7E,mDAAmD;IAC5C,MAAM,CAAC,UAAU,CAAC,QAAgB,IAAU,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE7E,0BAA0B;IACnB,MAAM,CAAC,SAAS,CAAC,QAAgB,IAAU,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE3E,0BAA0B;IACnB,MAAM,CAAC,SAAS,CAAC,QAAgB,IAAU,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE3E,uBAAuB;IAChB,MAAM,CAAC,aAAa,CAAC,QAAgB,EAAE,IAAyB,EAAE,QAAgB,GAAG,IAAU,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAE1J,wBAAwB;IACjB,MAAM,CAAC,cAAc,CAAC,QAAgB,EAAE,GAAW,IAAU,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAEvG,4BAA4B;IACrB,MAAM,CAAC,QAAQ,CAAC,GAAW,EAAE,IAAY,EAAE,IAAU,IAAU,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAErG,6JAA6J;IACtJ,MAAM,CAAC,WAAW,CAAC,QAAgB,IAAc,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEzH,gBAAgB;IACT,MAAM,CAAC,YAAY,CAAC,QAAgB,IAAqB,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEnG,kEAAkE;IAC1D,MAAM,CAAC,cAAc,CAAC,QAAgB;QAC5C,IAAI;YACF,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,IAAI,EAAE;YACb,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,oCAAoC;IAC7B,MAAM,CAAC,SAAS,CAAC,QAAgB;QACtC,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS;YACrB,OAAO,SAAS,CAAC;QAEnB,OAAO,IAAI,eAAe,CACxB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EACrB,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EACrB,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,EACzB,KAAK,CAAC,WAAW,EAAE,EACnB,KAAK,CAAC,MAAM,EAAE,EACd,KAAK,CAAC,QAAQ,EAAE,EAChB,KAAK,CAAC,cAAc,EAAE,EACtB,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,iBAAiB,CAAC,OAAe,EAAE,OAAe;QAC9D,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,QAAgB,EAAE,KAAc,EAAE,EAAE;YACnE,IAAI,CAAC,KAAK,EAAE;gBACV,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAC1B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACtB;aACF;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,WAAW,CAAC,OAAe,EAAE,EAAiD;;QAC1F,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;YACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,MAAA,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,0CAAE,WAAW,CAAC;YAC1D,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,KAAK,CAAC,EAAE;gBACjC,OAAO;aACR;YACD,mFAAmF;YACnF,IAAI,KAAK,IAAI,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAC5C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACvB;SACF;QACD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACnB,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uEAAuE;IAChE,MAAM,CAAC,kBAAkB,CAAC,OAAe;QAC9C,IAAI,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;YAChC,OAAO;QACT,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,UAAU,KAAK,OAAO;YACxB,UAAU,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC5C,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,sCAAsC;IAC/B,MAAM,CAAC,YAAY,CAAC,OAAe;QACxC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;YACjC,OAAO;QAET,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,QAAgB,EAAE,KAAc,EAAE,EAAE;YACnE,IAAI,KAAK,EAAE;gBACT,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAClC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;aACjC;iBAAM;gBACL,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;aACjC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAhID,gCAgIC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Portability\r\n */\r\n\r\n// cspell: ignore wflag\r\n\r\nimport * as fs from \"fs-extra\";\r\nimport * as path from \"path\";\r\n\r\n/* TODO: define File Mode Constants: S_IWUSR, et al. */\r\n/** Information about a file. See [[IModelJsFs.lstatSync]]\r\n * @public\r\n */\r\nexport class IModelJsFsStats {\r\n constructor(\r\n public size: number,\r\n public atimeMs: number,\r\n public mtimeMs: number,\r\n public birthtimeMs: number,\r\n public isDirectory: boolean,\r\n public isFile: boolean,\r\n public isSocket: boolean,\r\n public isSymbolicLink: boolean,\r\n public isReadOnly: boolean,\r\n ) { }\r\n}\r\n\r\n/** File system operations that are defined on all platforms. See also [[Platform]] and [[KnownLocations]]\r\n * @public\r\n */\r\nexport class IModelJsFs {\r\n\r\n /** Does file or directory exist? */\r\n public static existsSync(pathname: string): boolean { return fs.existsSync(pathname); }\r\n\r\n /** Delete a file. */\r\n public static unlinkSync(pathname: string): void { fs.unlinkSync(pathname); }\r\n\r\n /** Delete a file or remove a directory (rm -r). */\r\n public static removeSync(pathname: string): void { fs.removeSync(pathname); }\r\n\r\n /** Create a directory. */\r\n public static mkdirSync(pathname: string): void { fs.mkdirSync(pathname); }\r\n\r\n /** Remove a directory. */\r\n public static rmdirSync(pathname: string): void { fs.rmdirSync(pathname); }\r\n\r\n /** Write to a file. */\r\n public static writeFileSync(pathname: string, data: string | Uint8Array, wflag: string = \"w\"): void { fs.writeFileSync(pathname, data, { flag: wflag }); }\r\n\r\n /** Append to a file. */\r\n public static appendFileSync(pathname: string, str: string): void { fs.appendFileSync(pathname, str); }\r\n\r\n /** Make a copy of a file */\r\n public static copySync(src: string, dest: string, opts?: any): void { fs.copySync(src, dest, opts); }\r\n\r\n /** Gets the file and directory names in the specified directory. Excludes \".\" and \"..\". Returns an empty array if the specified directory does not exist. */\r\n public static readdirSync(pathname: string): string[] { return fs.existsSync(pathname) ? fs.readdirSync(pathname) : []; }\r\n\r\n /** Read file */\r\n public static readFileSync(pathname: string): string | Buffer { return fs.readFileSync(pathname); }\r\n\r\n /** Test if the current user has permission to write to a file. */\r\n private static isFileWritable(pathname: string): boolean {\r\n try {\r\n fs.accessSync(pathname, fs.constants.W_OK);\r\n return true;\r\n } catch (_err) {\r\n return false;\r\n }\r\n }\r\n\r\n /** Get information about a file. */\r\n public static lstatSync(pathname: string): IModelJsFsStats | undefined {\r\n const stats = fs.lstatSync(pathname);\r\n if (stats === undefined)\r\n return undefined;\r\n\r\n return new IModelJsFsStats(\r\n stats.size,\r\n stats.atime.getTime(),\r\n stats.mtime.getTime(),\r\n stats.birthtime.getTime(),\r\n stats.isDirectory(),\r\n stats.isFile(),\r\n stats.isSocket(),\r\n stats.isSymbolicLink(),\r\n !IModelJsFs.isFileWritable(pathname));\r\n }\r\n\r\n /**\r\n * Finds files recursively based on a pattern\r\n * @param rootDir Directory from where to start searching for files.\r\n * @param pattern A Regex that would be match to basename of files including extension\r\n * @returns list of file that match the pattern.\r\n */\r\n public static recursiveFindSync(rootDir: string, pattern: RegExp): string[] {\r\n const files: string[] = [];\r\n IModelJsFs.walkDirSync(rootDir, (pathname: string, isDir: boolean) => {\r\n if (!isDir) {\r\n const fileName = path.basename(pathname);\r\n if (pattern.test(fileName)) {\r\n files.push(pathname);\r\n }\r\n }\r\n return true;\r\n });\r\n return files;\r\n }\r\n\r\n /**\r\n * Walks a directory in breadth first fashion\r\n * @param rootDir directory from where the traversal starts\r\n * @param cb callback that would be called with full path of file or directory\r\n */\r\n public static walkDirSync(rootDir: string, cb: (pathname: string, isDir: boolean) => boolean): void {\r\n const subDir = [];\r\n for (const childPath of IModelJsFs.readdirSync(rootDir)) {\r\n const fullPath = path.join(rootDir, childPath);\r\n const isDir = IModelJsFs.lstatSync(fullPath)?.isDirectory;\r\n if (!cb(fullPath, isDir ?? false)) {\r\n return;\r\n }\r\n // Need to check if the directory still exists in case the callback has deleted it.\r\n if (isDir && IModelJsFs.existsSync(fullPath)) {\r\n subDir.push(fullPath);\r\n }\r\n }\r\n subDir.forEach((v) => {\r\n IModelJsFs.walkDirSync(v, cb);\r\n });\r\n }\r\n\r\n /** Create a directory, recursively setting up the path as necessary */\r\n public static recursiveMkDirSync(dirPath: string) {\r\n if (IModelJsFs.existsSync(dirPath))\r\n return;\r\n const parentPath = path.dirname(dirPath);\r\n if (parentPath !== dirPath)\r\n IModelJsFs.recursiveMkDirSync(parentPath);\r\n IModelJsFs.mkdirSync(dirPath);\r\n }\r\n\r\n /** Remove a directory, recursively */\r\n public static purgeDirSync(dirPath: string) {\r\n if (!IModelJsFs.existsSync(dirPath))\r\n return;\r\n\r\n IModelJsFs.walkDirSync(dirPath, (pathName: string, isDir: boolean) => {\r\n if (isDir) {\r\n IModelJsFs.purgeDirSync(pathName);\r\n IModelJsFs.removeSync(pathName);\r\n } else {\r\n IModelJsFs.unlinkSync(pathName);\r\n }\r\n return true;\r\n });\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"IModelJsFs.js","sourceRoot":"","sources":["../../src/IModelJsFs.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Portability\r\n */\r\n\r\n// cspell: ignore wflag\r\n\r\nimport * as fs from \"fs-extra\";\r\nimport * as path from \"path\";\r\n\r\n/* TODO: define File Mode Constants: S_IWUSR, et al. */\r\n/** Information about a file. See [[IModelJsFs.lstatSync]]\r\n * @public\r\n */\r\nexport class IModelJsFsStats {\r\n constructor(\r\n public size: number,\r\n public atimeMs: number,\r\n public mtimeMs: number,\r\n public birthtimeMs: number,\r\n public isDirectory: boolean,\r\n public isFile: boolean,\r\n public isSocket: boolean,\r\n public isSymbolicLink: boolean,\r\n public isReadOnly: boolean,\r\n ) { }\r\n}\r\n\r\n/** File system operations that are defined on all platforms. See also [[Platform]] and [[KnownLocations]]\r\n * @public\r\n */\r\nexport class IModelJsFs {\r\n\r\n /** Does file or directory exist? */\r\n public static existsSync(pathname: string): boolean { return fs.existsSync(pathname); }\r\n\r\n /** Delete a file. */\r\n public static unlinkSync(pathname: string): void { fs.unlinkSync(pathname); }\r\n\r\n /** Delete a file or remove a directory (rm -r). */\r\n public static removeSync(pathname: string): void { fs.removeSync(pathname); }\r\n\r\n /** Create a directory. */\r\n public static mkdirSync(pathname: string): void { fs.mkdirSync(pathname); }\r\n\r\n /** Remove a directory. */\r\n public static rmdirSync(pathname: string): void { fs.rmdirSync(pathname); }\r\n\r\n /** Write to a file. */\r\n public static writeFileSync(pathname: string, data: string | Uint8Array, wflag: string = \"w\"): void { fs.writeFileSync(pathname, data, { flag: wflag }); }\r\n\r\n /** Append to a file. */\r\n public static appendFileSync(pathname: string, str: string): void { fs.appendFileSync(pathname, str); }\r\n\r\n /** Make a copy of a file */\r\n public static copySync(src: string, dest: string, opts?: any): void { fs.copySync(src, dest, opts); }\r\n\r\n /** Gets the file and directory names in the specified directory. Excludes \".\" and \"..\". Returns an empty array if the specified directory does not exist. */\r\n public static readdirSync(pathname: string): string[] { return fs.existsSync(pathname) ? fs.readdirSync(pathname) : []; }\r\n\r\n /** Read file */\r\n public static readFileSync(pathname: string): string | Buffer { return fs.readFileSync(pathname); }\r\n\r\n /** Test if the current user has permission to write to a file. */\r\n private static isFileWritable(pathname: string): boolean {\r\n try {\r\n fs.accessSync(pathname, fs.constants.W_OK);\r\n return true;\r\n } catch (_err) {\r\n return false;\r\n }\r\n }\r\n\r\n /** Get information about a file. */\r\n public static lstatSync(pathname: string): IModelJsFsStats | undefined {\r\n const stats = fs.lstatSync(pathname);\r\n if (stats === undefined)\r\n return undefined;\r\n\r\n return new IModelJsFsStats(\r\n stats.size,\r\n stats.atime.getTime(),\r\n stats.mtime.getTime(),\r\n stats.birthtime.getTime(),\r\n stats.isDirectory(),\r\n stats.isFile(),\r\n stats.isSocket(),\r\n stats.isSymbolicLink(),\r\n !IModelJsFs.isFileWritable(pathname));\r\n }\r\n\r\n /**\r\n * Finds files recursively based on a pattern\r\n * @param rootDir Directory from where to start searching for files.\r\n * @param pattern A Regex that would be match to basename of files including extension\r\n * @returns list of file that match the pattern.\r\n */\r\n public static recursiveFindSync(rootDir: string, pattern: RegExp): string[] {\r\n const files: string[] = [];\r\n IModelJsFs.walkDirSync(rootDir, (pathname: string, isDir: boolean) => {\r\n if (!isDir) {\r\n const fileName = path.basename(pathname);\r\n if (pattern.test(fileName)) {\r\n files.push(pathname);\r\n }\r\n }\r\n return true;\r\n });\r\n return files;\r\n }\r\n\r\n /**\r\n * Walks a directory in breadth first fashion\r\n * @param rootDir directory from where the traversal starts\r\n * @param cb callback that would be called with full path of file or directory\r\n */\r\n public static walkDirSync(rootDir: string, cb: (pathname: string, isDir: boolean) => boolean): void {\r\n const subDir = [];\r\n for (const childPath of IModelJsFs.readdirSync(rootDir)) {\r\n const fullPath = path.join(rootDir, childPath);\r\n const isDir = IModelJsFs.lstatSync(fullPath)?.isDirectory;\r\n if (!cb(fullPath, isDir ?? false)) {\r\n return;\r\n }\r\n // Need to check if the directory still exists in case the callback has deleted it.\r\n if (isDir && IModelJsFs.existsSync(fullPath)) {\r\n subDir.push(fullPath);\r\n }\r\n }\r\n subDir.forEach((v) => {\r\n IModelJsFs.walkDirSync(v, cb);\r\n });\r\n }\r\n\r\n /** Create a directory, recursively setting up the path as necessary */\r\n public static recursiveMkDirSync(dirPath: string) {\r\n if (IModelJsFs.existsSync(dirPath))\r\n return;\r\n const parentPath = path.dirname(dirPath);\r\n if (parentPath !== dirPath)\r\n IModelJsFs.recursiveMkDirSync(parentPath);\r\n IModelJsFs.mkdirSync(dirPath);\r\n }\r\n\r\n /** Remove a directory, recursively */\r\n public static purgeDirSync(dirPath: string) {\r\n if (!IModelJsFs.existsSync(dirPath))\r\n return;\r\n\r\n IModelJsFs.walkDirSync(dirPath, (pathName: string, isDir: boolean) => {\r\n if (isDir) {\r\n IModelJsFs.purgeDirSync(pathName);\r\n IModelJsFs.removeSync(pathName);\r\n } else {\r\n IModelJsFs.unlinkSync(pathName);\r\n }\r\n return true;\r\n });\r\n }\r\n}\r\n"]}
@@ -1,105 +1,105 @@
1
- /** @packageDocumentation
2
- * @module NativeApp
3
- */
4
- import { EditingScopeNotifications, IpcAppNotifications, IpcListener, IpcSocketBackend, RemoveFunction, TxnNotifications } from "@itwin/core-common";
5
- import { BriefcaseDb, StandaloneDb } from "./IModelDb";
6
- import { IModelHostOptions } from "./IModelHost";
7
- import { ProgressFunction, ProgressStatus } from "./CheckpointManager";
8
- /**
9
- * Options for [[IpcHost.startup]]
10
- * @public
11
- */
12
- export interface IpcHostOpts {
13
- iModelHost?: IModelHostOptions;
14
- ipcHost?: {
15
- /** The Ipc socket to use for communications with frontend. Allows undefined only for headless tests. */
16
- socket?: IpcSocketBackend;
17
- /** don't send stack information on exceptions */
18
- exceptions?: {
19
- noStack?: boolean;
20
- };
21
- };
22
- }
23
- /**
24
- * Used by applications that have a dedicated backend. IpcHosts may send messages to their corresponding IpcApp.
25
- * @note if either end terminates, the other must too.
26
- * @public
27
- */
28
- export declare class IpcHost {
29
- static noStack: boolean;
30
- private static _ipc;
31
- /** Get the implementation of the [IpcSocketBackend]($common) interface. */
32
- private static get ipc();
33
- /** Determine whether Ipc is available for this backend. This will only be true if [[startup]] has been called on this class. */
34
- static get isValid(): boolean;
35
- /**
36
- * Send a message to the frontend over an Ipc channel.
37
- * @param channel the name of the channel matching the name registered with [[IpcApp.addListener]].
38
- * @param data The content of the message.
39
- */
40
- static send(channel: string, ...data: any[]): void;
41
- /**
42
- * Establish a handler for an Ipc channel to receive [[Frontend.invoke]] calls
43
- * @param channel The name of the channel for this handler.
44
- * @param handler A function that supplies the implementation for `channel`
45
- * @note returns A function to call to remove the handler.
46
- */
47
- static handle(channel: string, handler: (...args: any[]) => Promise<any>): RemoveFunction;
48
- /**
49
- * Establish a handler to receive messages sent via [[IpcApp.send]].
50
- * @param channel The name of the channel for the messages.
51
- * @param listener A function called when messages are sent over `channel`
52
- * @note returns A function to call to remove the listener.
53
- */
54
- static addListener(channel: string, listener: IpcListener): RemoveFunction;
55
- /**
56
- * Remove a previously registered listener
57
- * @param channel The name of the channel for the listener previously registered with [[addListener]]
58
- * @param listener The function passed to [[addListener]]
59
- */
60
- static removeListener(channel: string, listener: IpcListener): void;
61
- private static notify;
62
- /** @internal */
63
- static notifyIpcFrontend<T extends keyof IpcAppNotifications>(methodName: T, ...args: Parameters<IpcAppNotifications[T]>): void;
64
- /** @internal */
65
- static notifyTxns<T extends keyof TxnNotifications>(briefcase: BriefcaseDb | StandaloneDb, methodName: T, ...args: Parameters<TxnNotifications[T]>): void;
66
- /** @internal */
67
- static notifyEditingScope<T extends keyof EditingScopeNotifications>(briefcase: BriefcaseDb | StandaloneDb, methodName: T, ...args: Parameters<EditingScopeNotifications[T]>): void;
68
- /**
69
- * Start the backend of an Ipc app.
70
- * @param opt
71
- * @note this method calls [[IModelHost.startup]] internally.
72
- */
73
- static startup(opt?: IpcHostOpts): Promise<void>;
74
- /** Shutdown IpcHost backend. Also calls [[IModelHost.shutdown]] */
75
- static shutdown(): Promise<void>;
76
- }
77
- /**
78
- * Base class for all implementations of an Ipc interface.
79
- *
80
- * Create a subclass to implement your Ipc interface. Your class should be declared like this:
81
- * ```ts
82
- * class MyHandler extends IpcHandler implements MyInterface
83
- * ```
84
- * to ensure all methods and signatures are correct.
85
- *
86
- * Then, call `MyClass.register` at startup to connect your class to your channel.
87
- * @public
88
- */
89
- export declare abstract class IpcHandler {
90
- /** All subclasses must implement this method to specify their channel name. */
91
- abstract get channelName(): string;
92
- /**
93
- * Register this class as the handler for methods on its channel. This static method creates a new instance
94
- * that becomes the handler and is `this` when its methods are called.
95
- * @returns A function that can be called to remove the handler.
96
- * @note this method should only be called once per channel. If it is called multiple times, subsequent calls replace the previous ones.
97
- */
98
- static register(): RemoveFunction;
99
- }
100
- /**
101
- * Prevents progress callback being called more frequently when provided interval.
102
- * @internal
103
- */
104
- export declare function throttleProgressCallback(func: ProgressFunction, checkAbort: () => ProgressStatus, progressInterval?: number): ProgressFunction;
1
+ /** @packageDocumentation
2
+ * @module NativeApp
3
+ */
4
+ import { EditingScopeNotifications, IpcAppNotifications, IpcListener, IpcSocketBackend, RemoveFunction, TxnNotifications } from "@itwin/core-common";
5
+ import { BriefcaseDb, StandaloneDb } from "./IModelDb";
6
+ import { IModelHostOptions } from "./IModelHost";
7
+ import { ProgressFunction, ProgressStatus } from "./CheckpointManager";
8
+ /**
9
+ * Options for [[IpcHost.startup]]
10
+ * @public
11
+ */
12
+ export interface IpcHostOpts {
13
+ iModelHost?: IModelHostOptions;
14
+ ipcHost?: {
15
+ /** The Ipc socket to use for communications with frontend. Allows undefined only for headless tests. */
16
+ socket?: IpcSocketBackend;
17
+ /** don't send stack information on exceptions */
18
+ exceptions?: {
19
+ noStack?: boolean;
20
+ };
21
+ };
22
+ }
23
+ /**
24
+ * Used by applications that have a dedicated backend. IpcHosts may send messages to their corresponding IpcApp.
25
+ * @note if either end terminates, the other must too.
26
+ * @public
27
+ */
28
+ export declare class IpcHost {
29
+ static noStack: boolean;
30
+ private static _ipc;
31
+ /** Get the implementation of the [IpcSocketBackend]($common) interface. */
32
+ private static get ipc();
33
+ /** Determine whether Ipc is available for this backend. This will only be true if [[startup]] has been called on this class. */
34
+ static get isValid(): boolean;
35
+ /**
36
+ * Send a message to the frontend over an Ipc channel.
37
+ * @param channel the name of the channel matching the name registered with [[IpcApp.addListener]].
38
+ * @param data The content of the message.
39
+ */
40
+ static send(channel: string, ...data: any[]): void;
41
+ /**
42
+ * Establish a handler for an Ipc channel to receive [[Frontend.invoke]] calls
43
+ * @param channel The name of the channel for this handler.
44
+ * @param handler A function that supplies the implementation for `channel`
45
+ * @note returns A function to call to remove the handler.
46
+ */
47
+ static handle(channel: string, handler: (...args: any[]) => Promise<any>): RemoveFunction;
48
+ /**
49
+ * Establish a handler to receive messages sent via [[IpcApp.send]].
50
+ * @param channel The name of the channel for the messages.
51
+ * @param listener A function called when messages are sent over `channel`
52
+ * @note returns A function to call to remove the listener.
53
+ */
54
+ static addListener(channel: string, listener: IpcListener): RemoveFunction;
55
+ /**
56
+ * Remove a previously registered listener
57
+ * @param channel The name of the channel for the listener previously registered with [[addListener]]
58
+ * @param listener The function passed to [[addListener]]
59
+ */
60
+ static removeListener(channel: string, listener: IpcListener): void;
61
+ private static notify;
62
+ /** @internal */
63
+ static notifyIpcFrontend<T extends keyof IpcAppNotifications>(methodName: T, ...args: Parameters<IpcAppNotifications[T]>): void;
64
+ /** @internal */
65
+ static notifyTxns<T extends keyof TxnNotifications>(briefcase: BriefcaseDb | StandaloneDb, methodName: T, ...args: Parameters<TxnNotifications[T]>): void;
66
+ /** @internal */
67
+ static notifyEditingScope<T extends keyof EditingScopeNotifications>(briefcase: BriefcaseDb | StandaloneDb, methodName: T, ...args: Parameters<EditingScopeNotifications[T]>): void;
68
+ /**
69
+ * Start the backend of an Ipc app.
70
+ * @param opt
71
+ * @note this method calls [[IModelHost.startup]] internally.
72
+ */
73
+ static startup(opt?: IpcHostOpts): Promise<void>;
74
+ /** Shutdown IpcHost backend. Also calls [[IModelHost.shutdown]] */
75
+ static shutdown(): Promise<void>;
76
+ }
77
+ /**
78
+ * Base class for all implementations of an Ipc interface.
79
+ *
80
+ * Create a subclass to implement your Ipc interface. Your class should be declared like this:
81
+ * ```ts
82
+ * class MyHandler extends IpcHandler implements MyInterface
83
+ * ```
84
+ * to ensure all methods and signatures are correct.
85
+ *
86
+ * Then, call `MyClass.register` at startup to connect your class to your channel.
87
+ * @public
88
+ */
89
+ export declare abstract class IpcHandler {
90
+ /** All subclasses must implement this method to specify their channel name. */
91
+ abstract get channelName(): string;
92
+ /**
93
+ * Register this class as the handler for methods on its channel. This static method creates a new instance
94
+ * that becomes the handler and is `this` when its methods are called.
95
+ * @returns A function that can be called to remove the handler.
96
+ * @note this method should only be called once per channel. If it is called multiple times, subsequent calls replace the previous ones.
97
+ */
98
+ static register(): RemoveFunction;
99
+ }
100
+ /**
101
+ * Prevents progress callback being called more frequently when provided interval.
102
+ * @internal
103
+ */
104
+ export declare function throttleProgressCallback(func: ProgressFunction, checkAbort: () => ProgressStatus, progressInterval?: number): ProgressFunction;
105
105
  //# sourceMappingURL=IpcHost.d.ts.map