@fluidframework/odsp-driver 2.0.0-dev-rc.1.0.0.228517 → 2.0.0-dev-rc.2.0.0.245554

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 (623) hide show
  1. package/.eslintrc.cjs +33 -0
  2. package/{.mocharc.js → .mocharc.cjs} +1 -1
  3. package/CHANGELOG.md +44 -0
  4. package/{api-extractor-esm.json → api-extractor-cjs.json} +5 -1
  5. package/api-extractor-lint.json +1 -1
  6. package/api-extractor.json +1 -1
  7. package/api-report/odsp-driver.api.md +16 -17
  8. package/dist/ReadBufferUtils.d.ts.map +1 -1
  9. package/dist/ReadBufferUtils.js.map +1 -1
  10. package/dist/WriteBufferUtils.d.ts +1 -1
  11. package/dist/WriteBufferUtils.d.ts.map +1 -1
  12. package/dist/WriteBufferUtils.js +12 -12
  13. package/dist/WriteBufferUtils.js.map +1 -1
  14. package/dist/checkUrl.d.ts.map +1 -1
  15. package/dist/checkUrl.js +5 -3
  16. package/dist/checkUrl.js.map +1 -1
  17. package/dist/compactSnapshotParser.d.ts +2 -2
  18. package/dist/compactSnapshotParser.d.ts.map +1 -1
  19. package/dist/compactSnapshotParser.js +94 -75
  20. package/dist/compactSnapshotParser.js.map +1 -1
  21. package/dist/compactSnapshotWriter.d.ts +2 -2
  22. package/dist/compactSnapshotWriter.d.ts.map +1 -1
  23. package/dist/compactSnapshotWriter.js +26 -20
  24. package/dist/compactSnapshotWriter.js.map +1 -1
  25. package/dist/contracts.d.ts +24 -4
  26. package/dist/contracts.d.ts.map +1 -1
  27. package/dist/contracts.js +5 -1
  28. package/dist/contracts.js.map +1 -1
  29. package/dist/createFile.d.ts +4 -4
  30. package/dist/createFile.d.ts.map +1 -1
  31. package/dist/createFile.js +36 -52
  32. package/dist/createFile.js.map +1 -1
  33. package/dist/createNewContainerOnExistingFile.d.ts +2 -2
  34. package/dist/createNewContainerOnExistingFile.d.ts.map +1 -1
  35. package/dist/createNewContainerOnExistingFile.js +14 -14
  36. package/dist/createNewContainerOnExistingFile.js.map +1 -1
  37. package/dist/createNewModule.d.ts +2 -2
  38. package/dist/createNewModule.d.ts.map +1 -1
  39. package/dist/createNewModule.js +4 -4
  40. package/dist/createNewModule.js.map +1 -1
  41. package/dist/createNewUtils.d.ts +4 -4
  42. package/dist/createNewUtils.d.ts.map +1 -1
  43. package/dist/createNewUtils.js +16 -11
  44. package/dist/createNewUtils.js.map +1 -1
  45. package/dist/createOdspCreateContainerRequest.d.ts +2 -2
  46. package/dist/createOdspCreateContainerRequest.d.ts.map +1 -1
  47. package/dist/createOdspCreateContainerRequest.js +2 -2
  48. package/dist/createOdspCreateContainerRequest.js.map +1 -1
  49. package/dist/createOdspUrl.d.ts +1 -1
  50. package/dist/createOdspUrl.d.ts.map +1 -1
  51. package/dist/createOdspUrl.js.map +1 -1
  52. package/dist/epochTracker.d.ts +10 -9
  53. package/dist/epochTracker.d.ts.map +1 -1
  54. package/dist/epochTracker.js +67 -45
  55. package/dist/epochTracker.js.map +1 -1
  56. package/dist/fetchSnapshot.d.ts +14 -11
  57. package/dist/fetchSnapshot.d.ts.map +1 -1
  58. package/dist/fetchSnapshot.js +91 -71
  59. package/dist/fetchSnapshot.js.map +1 -1
  60. package/dist/getFileLink.d.ts.map +1 -1
  61. package/dist/getFileLink.js +25 -18
  62. package/dist/getFileLink.js.map +1 -1
  63. package/dist/getQueryString.d.ts.map +1 -1
  64. package/dist/getQueryString.js +2 -0
  65. package/dist/getQueryString.js.map +1 -1
  66. package/dist/index.d.ts +19 -19
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +44 -44
  69. package/dist/index.js.map +1 -1
  70. package/dist/localOdspDriver/localOdspDocumentService.d.ts +4 -3
  71. package/dist/localOdspDriver/localOdspDocumentService.d.ts.map +1 -1
  72. package/dist/localOdspDriver/localOdspDocumentService.js +8 -6
  73. package/dist/localOdspDriver/localOdspDocumentService.js.map +1 -1
  74. package/dist/localOdspDriver/localOdspDocumentServiceFactory.d.ts +8 -6
  75. package/dist/localOdspDriver/localOdspDocumentServiceFactory.d.ts.map +1 -1
  76. package/dist/localOdspDriver/localOdspDocumentServiceFactory.js +10 -9
  77. package/dist/localOdspDriver/localOdspDocumentServiceFactory.js.map +1 -1
  78. package/dist/localOdspDriver/localOdspDocumentStorageManager.d.ts +3 -2
  79. package/dist/localOdspDriver/localOdspDocumentStorageManager.d.ts.map +1 -1
  80. package/dist/localOdspDriver/localOdspDocumentStorageManager.js +9 -6
  81. package/dist/localOdspDriver/localOdspDocumentStorageManager.js.map +1 -1
  82. package/dist/odsp-driver-alpha.d.ts +31 -15
  83. package/dist/odsp-driver-beta.d.ts +4 -5
  84. package/dist/odsp-driver-public.d.ts +4 -5
  85. package/dist/odsp-driver-untrimmed.d.ts +34 -16
  86. package/dist/odspCache.d.ts +5 -5
  87. package/dist/odspCache.d.ts.map +1 -1
  88. package/dist/odspCache.js +1 -2
  89. package/dist/odspCache.js.map +1 -1
  90. package/dist/odspDelayLoadedDeltaStream.d.ts +12 -6
  91. package/dist/odspDelayLoadedDeltaStream.d.ts.map +1 -1
  92. package/dist/odspDelayLoadedDeltaStream.js +89 -25
  93. package/dist/odspDelayLoadedDeltaStream.js.map +1 -1
  94. package/dist/odspDeltaStorageService.d.ts +7 -7
  95. package/dist/odspDeltaStorageService.d.ts.map +1 -1
  96. package/dist/odspDeltaStorageService.js +5 -5
  97. package/dist/odspDeltaStorageService.js.map +1 -1
  98. package/dist/odspDocumentDeltaConnection.d.ts +1 -1
  99. package/dist/odspDocumentDeltaConnection.d.ts.map +1 -1
  100. package/dist/odspDocumentDeltaConnection.js +41 -23
  101. package/dist/odspDocumentDeltaConnection.js.map +1 -1
  102. package/dist/odspDocumentService.d.ts +9 -6
  103. package/dist/odspDocumentService.d.ts.map +1 -1
  104. package/dist/odspDocumentService.js +25 -19
  105. package/dist/odspDocumentService.js.map +1 -1
  106. package/dist/odspDocumentServiceFactory.d.ts +6 -1
  107. package/dist/odspDocumentServiceFactory.d.ts.map +1 -1
  108. package/dist/odspDocumentServiceFactory.js +9 -4
  109. package/dist/odspDocumentServiceFactory.js.map +1 -1
  110. package/dist/odspDocumentServiceFactoryCore.d.ts +4 -4
  111. package/dist/odspDocumentServiceFactoryCore.d.ts.map +1 -1
  112. package/dist/odspDocumentServiceFactoryCore.js +27 -30
  113. package/dist/odspDocumentServiceFactoryCore.js.map +1 -1
  114. package/dist/odspDocumentServiceFactoryWithCodeSplit.d.ts +1 -1
  115. package/dist/odspDocumentServiceFactoryWithCodeSplit.d.ts.map +1 -1
  116. package/dist/odspDocumentServiceFactoryWithCodeSplit.js +2 -2
  117. package/dist/odspDocumentServiceFactoryWithCodeSplit.js.map +1 -1
  118. package/dist/odspDocumentStorageManager.d.ts +17 -10
  119. package/dist/odspDocumentStorageManager.d.ts.map +1 -1
  120. package/dist/odspDocumentStorageManager.js +226 -169
  121. package/dist/odspDocumentStorageManager.js.map +1 -1
  122. package/dist/odspDocumentStorageServiceBase.d.ts +4 -6
  123. package/dist/odspDocumentStorageServiceBase.d.ts.map +1 -1
  124. package/dist/odspDocumentStorageServiceBase.js +34 -31
  125. package/dist/odspDocumentStorageServiceBase.js.map +1 -1
  126. package/dist/odspDriverUrlResolver.d.ts +1 -1
  127. package/dist/odspDriverUrlResolver.d.ts.map +1 -1
  128. package/dist/odspDriverUrlResolver.js +26 -32
  129. package/dist/odspDriverUrlResolver.js.map +1 -1
  130. package/dist/odspDriverUrlResolverForShareLink.d.ts +13 -6
  131. package/dist/odspDriverUrlResolverForShareLink.d.ts.map +1 -1
  132. package/dist/odspDriverUrlResolverForShareLink.js +47 -37
  133. package/dist/odspDriverUrlResolverForShareLink.js.map +1 -1
  134. package/dist/odspError.d.ts +1 -1
  135. package/dist/odspError.d.ts.map +1 -1
  136. package/dist/odspError.js +6 -6
  137. package/dist/odspError.js.map +1 -1
  138. package/dist/odspFluidFileLink.d.ts +1 -1
  139. package/dist/odspFluidFileLink.d.ts.map +1 -1
  140. package/dist/odspFluidFileLink.js +2 -2
  141. package/dist/odspFluidFileLink.js.map +1 -1
  142. package/dist/odspLocationRedirection.js +2 -2
  143. package/dist/odspLocationRedirection.js.map +1 -1
  144. package/dist/odspPublicUtils.d.ts +4 -0
  145. package/dist/odspPublicUtils.d.ts.map +1 -1
  146. package/dist/odspPublicUtils.js +3 -0
  147. package/dist/odspPublicUtils.js.map +1 -1
  148. package/dist/odspSnapshotParser.d.ts +3 -3
  149. package/dist/odspSnapshotParser.d.ts.map +1 -1
  150. package/dist/odspSnapshotParser.js +5 -3
  151. package/dist/odspSnapshotParser.js.map +1 -1
  152. package/dist/odspSummaryUploadManager.d.ts +1 -1
  153. package/dist/odspSummaryUploadManager.d.ts.map +1 -1
  154. package/dist/odspSummaryUploadManager.js +9 -6
  155. package/dist/odspSummaryUploadManager.js.map +1 -1
  156. package/dist/odspUrlHelper.d.ts.map +1 -1
  157. package/dist/odspUrlHelper.js +1 -2
  158. package/dist/odspUrlHelper.js.map +1 -1
  159. package/dist/odspUtils.d.ts +29 -13
  160. package/dist/odspUtils.d.ts.map +1 -1
  161. package/dist/odspUtils.js +75 -41
  162. package/dist/odspUtils.js.map +1 -1
  163. package/dist/opsCaching.d.ts +1 -1
  164. package/dist/opsCaching.d.ts.map +1 -1
  165. package/dist/opsCaching.js +2 -1
  166. package/dist/opsCaching.js.map +1 -1
  167. package/dist/package.json +3 -0
  168. package/dist/packageVersion.d.ts +1 -1
  169. package/dist/packageVersion.js +1 -1
  170. package/dist/packageVersion.js.map +1 -1
  171. package/dist/prefetchLatestSnapshot.d.ts +2 -2
  172. package/dist/prefetchLatestSnapshot.d.ts.map +1 -1
  173. package/dist/prefetchLatestSnapshot.js +17 -12
  174. package/dist/prefetchLatestSnapshot.js.map +1 -1
  175. package/dist/retryErrorsStorageAdapter.d.ts +2 -2
  176. package/dist/retryErrorsStorageAdapter.d.ts.map +1 -1
  177. package/dist/retryErrorsStorageAdapter.js +10 -5
  178. package/dist/retryErrorsStorageAdapter.js.map +1 -1
  179. package/dist/retryUtils.d.ts.map +1 -1
  180. package/dist/retryUtils.js +7 -3
  181. package/dist/retryUtils.js.map +1 -1
  182. package/dist/socketModule.d.ts.map +1 -1
  183. package/dist/socketModule.js +2 -0
  184. package/dist/socketModule.js.map +1 -1
  185. package/dist/tsdoc-metadata.json +1 -1
  186. package/dist/vroom.d.ts +2 -2
  187. package/dist/vroom.d.ts.map +1 -1
  188. package/dist/vroom.js +5 -5
  189. package/dist/vroom.js.map +1 -1
  190. package/dist/zipItDataRepresentationUtils.d.ts +1 -1
  191. package/dist/zipItDataRepresentationUtils.d.ts.map +1 -1
  192. package/dist/zipItDataRepresentationUtils.js +17 -13
  193. package/dist/zipItDataRepresentationUtils.js.map +1 -1
  194. package/lib/{ReadBufferUtils.d.mts → ReadBufferUtils.d.ts} +1 -1
  195. package/lib/ReadBufferUtils.d.ts.map +1 -0
  196. package/lib/{ReadBufferUtils.mjs → ReadBufferUtils.js} +1 -1
  197. package/lib/ReadBufferUtils.js.map +1 -0
  198. package/lib/{WriteBufferUtils.d.mts → WriteBufferUtils.d.ts} +2 -2
  199. package/lib/WriteBufferUtils.d.ts.map +1 -0
  200. package/lib/{WriteBufferUtils.mjs → WriteBufferUtils.js} +2 -2
  201. package/lib/WriteBufferUtils.js.map +1 -0
  202. package/lib/{checkUrl.d.mts → checkUrl.d.ts} +1 -1
  203. package/lib/checkUrl.d.ts.map +1 -0
  204. package/lib/{checkUrl.mjs → checkUrl.js} +5 -3
  205. package/lib/checkUrl.js.map +1 -0
  206. package/lib/{compactSnapshotParser.d.mts → compactSnapshotParser.d.ts} +3 -3
  207. package/lib/compactSnapshotParser.d.ts.map +1 -0
  208. package/lib/{compactSnapshotParser.mjs → compactSnapshotParser.js} +69 -50
  209. package/lib/compactSnapshotParser.js.map +1 -0
  210. package/lib/{compactSnapshotWriter.d.mts → compactSnapshotWriter.d.ts} +3 -3
  211. package/lib/compactSnapshotWriter.d.ts.map +1 -0
  212. package/lib/{compactSnapshotWriter.mjs → compactSnapshotWriter.js} +14 -8
  213. package/lib/compactSnapshotWriter.js.map +1 -0
  214. package/lib/{constants.d.mts → constants.d.ts} +1 -1
  215. package/lib/constants.d.ts.map +1 -0
  216. package/lib/{constants.mjs → constants.js} +1 -1
  217. package/lib/constants.js.map +1 -0
  218. package/lib/{contracts.d.mts → contracts.d.ts} +25 -5
  219. package/lib/contracts.d.ts.map +1 -0
  220. package/lib/contracts.js +10 -0
  221. package/lib/contracts.js.map +1 -0
  222. package/lib/{contractsPublic.d.mts → contractsPublic.d.ts} +1 -1
  223. package/lib/contractsPublic.d.ts.map +1 -0
  224. package/lib/{contractsPublic.mjs → contractsPublic.js} +1 -1
  225. package/lib/contractsPublic.js.map +1 -0
  226. package/lib/{createFile.d.mts → createFile.d.ts} +5 -5
  227. package/lib/createFile.d.ts.map +1 -0
  228. package/lib/{createFile.mjs → createFile.js} +25 -41
  229. package/lib/createFile.js.map +1 -0
  230. package/lib/{createNewContainerOnExistingFile.d.mts → createNewContainerOnExistingFile.d.ts} +3 -3
  231. package/lib/createNewContainerOnExistingFile.d.ts.map +1 -0
  232. package/lib/{createNewContainerOnExistingFile.mjs → createNewContainerOnExistingFile.js} +7 -7
  233. package/lib/createNewContainerOnExistingFile.js.map +1 -0
  234. package/lib/{createNewModule.mjs → createNewModule.d.ts} +3 -3
  235. package/lib/createNewModule.d.ts.map +1 -0
  236. package/lib/{createNewModule.d.mts → createNewModule.js} +3 -3
  237. package/lib/createNewModule.js.map +1 -0
  238. package/lib/{createNewUtils.d.mts → createNewUtils.d.ts} +5 -5
  239. package/lib/createNewUtils.d.ts.map +1 -0
  240. package/lib/{createNewUtils.mjs → createNewUtils.js} +13 -8
  241. package/lib/createNewUtils.js.map +1 -0
  242. package/lib/{createOdspCreateContainerRequest.d.mts → createOdspCreateContainerRequest.d.ts} +7 -3
  243. package/lib/createOdspCreateContainerRequest.d.ts.map +1 -0
  244. package/lib/{createOdspCreateContainerRequest.mjs → createOdspCreateContainerRequest.js} +2 -2
  245. package/lib/createOdspCreateContainerRequest.js.map +1 -0
  246. package/lib/{createOdspUrl.d.mts → createOdspUrl.d.ts} +2 -2
  247. package/lib/createOdspUrl.d.ts.map +1 -0
  248. package/lib/{createOdspUrl.mjs → createOdspUrl.js} +1 -1
  249. package/lib/createOdspUrl.js.map +1 -0
  250. package/lib/{epochTracker.d.mts → epochTracker.d.ts} +11 -10
  251. package/lib/epochTracker.d.ts.map +1 -0
  252. package/lib/{epochTracker.mjs → epochTracker.js} +58 -36
  253. package/lib/epochTracker.js.map +1 -0
  254. package/lib/{fetch.d.mts → fetch.d.ts} +1 -1
  255. package/lib/fetch.d.ts.map +1 -0
  256. package/lib/{fetch.mjs → fetch.js} +1 -1
  257. package/lib/fetch.js.map +1 -0
  258. package/lib/{fetchSnapshot.d.mts → fetchSnapshot.d.ts} +15 -12
  259. package/lib/fetchSnapshot.d.ts.map +1 -0
  260. package/lib/{fetchSnapshot.mjs → fetchSnapshot.js} +74 -54
  261. package/lib/fetchSnapshot.js.map +1 -0
  262. package/lib/{getFileLink.d.mts → getFileLink.d.ts} +1 -1
  263. package/lib/getFileLink.d.ts.map +1 -0
  264. package/lib/{getFileLink.mjs → getFileLink.js} +17 -10
  265. package/lib/getFileLink.js.map +1 -0
  266. package/lib/{getQueryString.d.mts → getQueryString.d.ts} +5 -1
  267. package/lib/getQueryString.d.ts.map +1 -0
  268. package/lib/{getQueryString.mjs → getQueryString.js} +3 -1
  269. package/lib/getQueryString.js.map +1 -0
  270. package/lib/{getUrlAndHeadersWithAuth.d.mts → getUrlAndHeadersWithAuth.d.ts} +1 -1
  271. package/lib/getUrlAndHeadersWithAuth.d.ts.map +1 -0
  272. package/lib/{getUrlAndHeadersWithAuth.mjs → getUrlAndHeadersWithAuth.js} +1 -1
  273. package/lib/getUrlAndHeadersWithAuth.js.map +1 -0
  274. package/lib/{index.d.mts → index.d.ts} +20 -20
  275. package/lib/index.d.ts.map +1 -0
  276. package/lib/index.js +29 -0
  277. package/lib/index.js.map +1 -0
  278. package/lib/localOdspDriver/{localOdspDeltaStorageService.d.mts → localOdspDeltaStorageService.d.ts} +1 -1
  279. package/lib/localOdspDriver/localOdspDeltaStorageService.d.ts.map +1 -0
  280. package/lib/localOdspDriver/{localOdspDeltaStorageService.mjs → localOdspDeltaStorageService.js} +1 -1
  281. package/lib/localOdspDriver/localOdspDeltaStorageService.js.map +1 -0
  282. package/lib/localOdspDriver/{localOdspDocumentService.d.mts → localOdspDocumentService.d.ts} +5 -4
  283. package/lib/localOdspDriver/localOdspDocumentService.d.ts.map +1 -0
  284. package/lib/localOdspDriver/{localOdspDocumentService.mjs → localOdspDocumentService.js} +7 -5
  285. package/lib/localOdspDriver/localOdspDocumentService.js.map +1 -0
  286. package/lib/localOdspDriver/{localOdspDocumentServiceFactory.d.mts → localOdspDocumentServiceFactory.d.ts} +9 -7
  287. package/lib/localOdspDriver/localOdspDocumentServiceFactory.d.ts.map +1 -0
  288. package/lib/localOdspDriver/{localOdspDocumentServiceFactory.mjs → localOdspDocumentServiceFactory.js} +9 -8
  289. package/lib/localOdspDriver/localOdspDocumentServiceFactory.js.map +1 -0
  290. package/lib/localOdspDriver/{localOdspDocumentStorageManager.d.mts → localOdspDocumentStorageManager.d.ts} +4 -3
  291. package/lib/localOdspDriver/localOdspDocumentStorageManager.d.ts.map +1 -0
  292. package/lib/localOdspDriver/{localOdspDocumentStorageManager.mjs → localOdspDocumentStorageManager.js} +7 -4
  293. package/lib/localOdspDriver/localOdspDocumentStorageManager.js.map +1 -0
  294. package/lib/{odsp-driver-alpha.d.mts → odsp-driver-alpha.d.ts} +31 -15
  295. package/lib/{odsp-driver-beta.d.mts → odsp-driver-beta.d.ts} +4 -5
  296. package/lib/{odsp-driver-public.d.mts → odsp-driver-public.d.ts} +4 -5
  297. package/lib/{odsp-driver-untrimmed.d.mts → odsp-driver-untrimmed.d.ts} +34 -16
  298. package/lib/{odspCache.d.mts → odspCache.d.ts} +10 -6
  299. package/lib/odspCache.d.ts.map +1 -0
  300. package/lib/{odspCache.mjs → odspCache.js} +6 -3
  301. package/lib/odspCache.js.map +1 -0
  302. package/lib/{odspDelayLoadedDeltaStream.d.mts → odspDelayLoadedDeltaStream.d.ts} +13 -7
  303. package/lib/odspDelayLoadedDeltaStream.d.ts.map +1 -0
  304. package/lib/{odspDelayLoadedDeltaStream.mjs → odspDelayLoadedDeltaStream.js} +84 -20
  305. package/lib/odspDelayLoadedDeltaStream.js.map +1 -0
  306. package/lib/{odspDeltaStorageService.d.mts → odspDeltaStorageService.d.ts} +8 -8
  307. package/lib/odspDeltaStorageService.d.ts.map +1 -0
  308. package/lib/{odspDeltaStorageService.mjs → odspDeltaStorageService.js} +5 -5
  309. package/lib/odspDeltaStorageService.js.map +1 -0
  310. package/lib/{odspDocumentDeltaConnection.d.mts → odspDocumentDeltaConnection.d.ts} +2 -2
  311. package/lib/odspDocumentDeltaConnection.d.ts.map +1 -0
  312. package/lib/{odspDocumentDeltaConnection.mjs → odspDocumentDeltaConnection.js} +34 -16
  313. package/lib/odspDocumentDeltaConnection.js.map +1 -0
  314. package/lib/{odspDocumentService.d.mts → odspDocumentService.d.ts} +10 -7
  315. package/lib/odspDocumentService.d.ts.map +1 -0
  316. package/lib/{odspDocumentService.mjs → odspDocumentService.js} +22 -14
  317. package/lib/odspDocumentService.js.map +1 -0
  318. package/lib/{odspDocumentServiceFactory.d.mts → odspDocumentServiceFactory.d.ts} +7 -2
  319. package/lib/odspDocumentServiceFactory.d.ts.map +1 -0
  320. package/lib/{odspDocumentServiceFactory.mjs → odspDocumentServiceFactory.js} +9 -3
  321. package/lib/odspDocumentServiceFactory.js.map +1 -0
  322. package/lib/{odspDocumentServiceFactoryCore.d.mts → odspDocumentServiceFactoryCore.d.ts} +5 -5
  323. package/lib/odspDocumentServiceFactoryCore.d.ts.map +1 -0
  324. package/lib/{odspDocumentServiceFactoryCore.mjs → odspDocumentServiceFactoryCore.js} +25 -26
  325. package/lib/odspDocumentServiceFactoryCore.js.map +1 -0
  326. package/lib/{odspDocumentServiceFactoryWithCodeSplit.d.mts → odspDocumentServiceFactoryWithCodeSplit.d.ts} +2 -2
  327. package/lib/odspDocumentServiceFactoryWithCodeSplit.d.ts.map +1 -0
  328. package/lib/{odspDocumentServiceFactoryWithCodeSplit.mjs → odspDocumentServiceFactoryWithCodeSplit.js} +2 -2
  329. package/lib/odspDocumentServiceFactoryWithCodeSplit.js.map +1 -0
  330. package/lib/{odspDocumentStorageManager.d.mts → odspDocumentStorageManager.d.ts} +18 -11
  331. package/lib/odspDocumentStorageManager.d.ts.map +1 -0
  332. package/lib/{odspDocumentStorageManager.mjs → odspDocumentStorageManager.js} +221 -162
  333. package/lib/odspDocumentStorageManager.js.map +1 -0
  334. package/lib/{odspDocumentStorageServiceBase.d.mts → odspDocumentStorageServiceBase.d.ts} +5 -7
  335. package/lib/odspDocumentStorageServiceBase.d.ts.map +1 -0
  336. package/lib/{odspDocumentStorageServiceBase.mjs → odspDocumentStorageServiceBase.js} +34 -31
  337. package/lib/odspDocumentStorageServiceBase.js.map +1 -0
  338. package/lib/{odspDriverUrlResolver.d.mts → odspDriverUrlResolver.d.ts} +2 -2
  339. package/lib/odspDriverUrlResolver.d.ts.map +1 -0
  340. package/lib/{odspDriverUrlResolver.mjs → odspDriverUrlResolver.js} +27 -29
  341. package/lib/odspDriverUrlResolver.js.map +1 -0
  342. package/lib/{odspDriverUrlResolverForShareLink.d.mts → odspDriverUrlResolverForShareLink.d.ts} +14 -7
  343. package/lib/odspDriverUrlResolverForShareLink.d.ts.map +1 -0
  344. package/lib/{odspDriverUrlResolverForShareLink.mjs → odspDriverUrlResolverForShareLink.js} +41 -27
  345. package/lib/odspDriverUrlResolverForShareLink.js.map +1 -0
  346. package/lib/{odspError.d.mts → odspError.d.ts} +2 -2
  347. package/lib/odspError.d.ts.map +1 -0
  348. package/lib/{odspError.mjs → odspError.js} +6 -6
  349. package/lib/odspError.js.map +1 -0
  350. package/lib/{odspFluidFileLink.d.mts → odspFluidFileLink.d.ts} +2 -2
  351. package/lib/odspFluidFileLink.d.ts.map +1 -0
  352. package/lib/{odspFluidFileLink.mjs → odspFluidFileLink.js} +2 -2
  353. package/lib/odspFluidFileLink.js.map +1 -0
  354. package/lib/{odspLocationRedirection.d.mts → odspLocationRedirection.d.ts} +1 -1
  355. package/lib/odspLocationRedirection.d.ts.map +1 -0
  356. package/lib/{odspLocationRedirection.mjs → odspLocationRedirection.js} +2 -2
  357. package/lib/odspLocationRedirection.js.map +1 -0
  358. package/lib/{odspPublicUtils.d.mts → odspPublicUtils.d.ts} +5 -1
  359. package/lib/odspPublicUtils.d.ts.map +1 -0
  360. package/lib/{odspPublicUtils.mjs → odspPublicUtils.js} +4 -1
  361. package/lib/odspPublicUtils.js.map +1 -0
  362. package/lib/{odspSnapshotParser.d.mts → odspSnapshotParser.d.ts} +4 -4
  363. package/lib/odspSnapshotParser.d.ts.map +1 -0
  364. package/lib/{odspSnapshotParser.mjs → odspSnapshotParser.js} +6 -4
  365. package/lib/odspSnapshotParser.js.map +1 -0
  366. package/lib/{odspSummaryUploadManager.d.mts → odspSummaryUploadManager.d.ts} +2 -2
  367. package/lib/odspSummaryUploadManager.d.ts.map +1 -0
  368. package/lib/{odspSummaryUploadManager.mjs → odspSummaryUploadManager.js} +8 -5
  369. package/lib/odspSummaryUploadManager.js.map +1 -0
  370. package/lib/{odspUrlHelper.d.mts → odspUrlHelper.d.ts} +1 -1
  371. package/lib/odspUrlHelper.d.ts.map +1 -0
  372. package/lib/{odspUrlHelper.mjs → odspUrlHelper.js} +2 -3
  373. package/lib/odspUrlHelper.js.map +1 -0
  374. package/lib/{odspUtils.d.mts → odspUtils.d.ts} +30 -14
  375. package/lib/odspUtils.d.ts.map +1 -0
  376. package/lib/{odspUtils.mjs → odspUtils.js} +61 -30
  377. package/lib/odspUtils.js.map +1 -0
  378. package/lib/{opsCaching.d.mts → opsCaching.d.ts} +2 -2
  379. package/lib/opsCaching.d.ts.map +1 -0
  380. package/lib/{opsCaching.mjs → opsCaching.js} +3 -2
  381. package/lib/opsCaching.js.map +1 -0
  382. package/lib/{packageVersion.d.mts → packageVersion.d.ts} +2 -2
  383. package/lib/packageVersion.d.ts.map +1 -0
  384. package/lib/{packageVersion.mjs → packageVersion.js} +2 -2
  385. package/lib/packageVersion.js.map +1 -0
  386. package/lib/{prefetchLatestSnapshot.d.mts → prefetchLatestSnapshot.d.ts} +3 -3
  387. package/lib/prefetchLatestSnapshot.d.ts.map +1 -0
  388. package/lib/{prefetchLatestSnapshot.mjs → prefetchLatestSnapshot.js} +16 -11
  389. package/lib/prefetchLatestSnapshot.js.map +1 -0
  390. package/lib/{retryErrorsStorageAdapter.d.mts → retryErrorsStorageAdapter.d.ts} +3 -3
  391. package/lib/retryErrorsStorageAdapter.d.ts.map +1 -0
  392. package/lib/{retryErrorsStorageAdapter.mjs → retryErrorsStorageAdapter.js} +11 -6
  393. package/lib/retryErrorsStorageAdapter.js.map +1 -0
  394. package/lib/{retryUtils.d.mts → retryUtils.d.ts} +1 -1
  395. package/lib/retryUtils.d.ts.map +1 -0
  396. package/lib/{retryUtils.mjs → retryUtils.js} +8 -4
  397. package/lib/retryUtils.js.map +1 -0
  398. package/lib/{socketModule.d.mts → socketModule.d.ts} +1 -1
  399. package/lib/socketModule.d.ts.map +1 -0
  400. package/lib/{socketModule.mjs → socketModule.js} +3 -1
  401. package/lib/socketModule.js.map +1 -0
  402. package/lib/test/buildOdspShareLinkReqParams.spec.js +25 -0
  403. package/lib/test/buildOdspShareLinkReqParams.spec.js.map +1 -0
  404. package/lib/test/createNewUtilsTests.spec.js +221 -0
  405. package/lib/test/createNewUtilsTests.spec.js.map +1 -0
  406. package/lib/test/deltaStorageService.spec.js +176 -0
  407. package/lib/test/deltaStorageService.spec.js.map +1 -0
  408. package/lib/test/epochTests.spec.js +340 -0
  409. package/lib/test/epochTests.spec.js.map +1 -0
  410. package/lib/test/epochTestsWithRedemption.spec.js +119 -0
  411. package/lib/test/epochTestsWithRedemption.spec.js.map +1 -0
  412. package/lib/test/fetchSnapshot.spec.js +412 -0
  413. package/lib/test/fetchSnapshot.spec.js.map +1 -0
  414. package/lib/test/getFileLink.spec.js +62 -0
  415. package/lib/test/getFileLink.spec.js.map +1 -0
  416. package/lib/test/getUrlAndHeadersWithAuth.spec.js +66 -0
  417. package/lib/test/getUrlAndHeadersWithAuth.spec.js.map +1 -0
  418. package/lib/test/getVersions.spec.js +284 -0
  419. package/lib/test/getVersions.spec.js.map +1 -0
  420. package/lib/test/joinSessionCacheTests.spec.js +53 -0
  421. package/lib/test/joinSessionCacheTests.spec.js.map +1 -0
  422. package/lib/test/joinSessionPeriodicCall.spec.js +158 -0
  423. package/lib/test/joinSessionPeriodicCall.spec.js.map +1 -0
  424. package/lib/test/jsonSnapshotFormatTests.spec.js +107 -0
  425. package/lib/test/jsonSnapshotFormatTests.spec.js.map +1 -0
  426. package/lib/test/localOdspDriver.spec.js +177 -0
  427. package/lib/test/localOdspDriver.spec.js.map +1 -0
  428. package/lib/test/mockFetch.js +61 -0
  429. package/lib/test/mockFetch.js.map +1 -0
  430. package/lib/test/odspCreateContainer.spec.js +116 -0
  431. package/lib/test/odspCreateContainer.spec.js.map +1 -0
  432. package/lib/test/odspDriverResolverTest.spec.js +289 -0
  433. package/lib/test/odspDriverResolverTest.spec.js.map +1 -0
  434. package/lib/test/odspDriverUrlResolverForShareLink.spec.js +287 -0
  435. package/lib/test/odspDriverUrlResolverForShareLink.spec.js.map +1 -0
  436. package/lib/test/odspError.spec.js +299 -0
  437. package/lib/test/odspError.spec.js.map +1 -0
  438. package/lib/test/opsCaching.spec.js +357 -0
  439. package/lib/test/opsCaching.spec.js.map +1 -0
  440. package/lib/test/prefetchSnapshotTests.spec.js +420 -0
  441. package/lib/test/prefetchSnapshotTests.spec.js.map +1 -0
  442. package/lib/test/snapshotFormatTests.spec.js +218 -0
  443. package/lib/test/snapshotFormatTests.spec.js.map +1 -0
  444. package/lib/test/socketTests/deltaConnectionUpdateTests.spec.js +152 -0
  445. package/lib/test/socketTests/deltaConnectionUpdateTests.spec.js.map +1 -0
  446. package/lib/test/socketTests/socketMock.js +109 -0
  447. package/lib/test/socketTests/socketMock.js.map +1 -0
  448. package/lib/test/socketTests/socketTests.spec.js +256 -0
  449. package/lib/test/socketTests/socketTests.spec.js.map +1 -0
  450. package/lib/test/tokenFetch.spec.js +39 -0
  451. package/lib/test/tokenFetch.spec.js.map +1 -0
  452. package/lib/test/types/validateOdspDriverPrevious.generated.js +96 -0
  453. package/lib/test/types/validateOdspDriverPrevious.generated.js.map +1 -0
  454. package/lib/test/zipItDataRepresentationTests.spec.js +207 -0
  455. package/lib/test/zipItDataRepresentationTests.spec.js.map +1 -0
  456. package/lib/{vroom.d.mts → vroom.d.ts} +3 -3
  457. package/lib/vroom.d.ts.map +1 -0
  458. package/lib/{vroom.mjs → vroom.js} +4 -4
  459. package/lib/vroom.js.map +1 -0
  460. package/lib/{zipItDataRepresentationUtils.d.mts → zipItDataRepresentationUtils.d.ts} +2 -2
  461. package/lib/zipItDataRepresentationUtils.d.ts.map +1 -0
  462. package/lib/{zipItDataRepresentationUtils.mjs → zipItDataRepresentationUtils.js} +19 -11
  463. package/lib/zipItDataRepresentationUtils.js.map +1 -0
  464. package/package.json +100 -32
  465. package/src/ReadBufferUtils.ts +7 -7
  466. package/src/WriteBufferUtils.ts +13 -9
  467. package/src/checkUrl.ts +4 -2
  468. package/src/compactSnapshotParser.ts +97 -61
  469. package/src/compactSnapshotWriter.ts +22 -15
  470. package/src/contracts.ts +33 -4
  471. package/src/createFile.ts +26 -51
  472. package/src/createNewContainerOnExistingFile.ts +10 -10
  473. package/src/createNewModule.ts +2 -2
  474. package/src/createNewUtils.ts +26 -15
  475. package/src/createOdspCreateContainerRequest.ts +3 -3
  476. package/src/createOdspUrl.ts +1 -1
  477. package/src/epochTracker.ts +93 -58
  478. package/src/fetchSnapshot.ts +122 -66
  479. package/src/getFileLink.ts +24 -16
  480. package/src/getQueryString.ts +2 -0
  481. package/src/index.ts +27 -19
  482. package/src/localOdspDriver/localOdspDocumentService.ts +12 -5
  483. package/src/localOdspDriver/localOdspDocumentServiceFactory.ts +12 -11
  484. package/src/localOdspDriver/localOdspDocumentStorageManager.ts +15 -8
  485. package/src/odspCache.ts +14 -11
  486. package/src/odspDelayLoadedDeltaStream.ts +113 -31
  487. package/src/odspDeltaStorageService.ts +17 -16
  488. package/src/odspDocumentDeltaConnection.ts +52 -34
  489. package/src/odspDocumentService.ts +33 -22
  490. package/src/odspDocumentServiceFactory.ts +7 -2
  491. package/src/odspDocumentServiceFactoryCore.ts +28 -29
  492. package/src/odspDocumentServiceFactoryWithCodeSplit.ts +1 -1
  493. package/src/odspDocumentStorageManager.ts +303 -210
  494. package/src/odspDocumentStorageServiceBase.ts +52 -47
  495. package/src/odspDriverUrlResolver.ts +41 -41
  496. package/src/odspDriverUrlResolverForShareLink.ts +50 -31
  497. package/src/odspError.ts +6 -7
  498. package/src/odspFluidFileLink.ts +3 -3
  499. package/src/odspLocationRedirection.ts +1 -1
  500. package/src/odspPublicUtils.ts +4 -0
  501. package/src/odspSnapshotParser.ts +9 -9
  502. package/src/odspSummaryUploadManager.ts +21 -9
  503. package/src/odspUrlHelper.ts +2 -3
  504. package/src/odspUtils.ts +102 -53
  505. package/src/opsCaching.ts +13 -12
  506. package/src/packageVersion.ts +1 -1
  507. package/src/prefetchLatestSnapshot.ts +24 -15
  508. package/src/retryErrorsStorageAdapter.ts +16 -9
  509. package/src/retryUtils.ts +8 -4
  510. package/src/socketModule.ts +2 -0
  511. package/src/vroom.ts +6 -6
  512. package/src/zipItDataRepresentationUtils.ts +65 -37
  513. package/tsconfig.cjs.json +7 -0
  514. package/tsconfig.json +2 -5
  515. package/.eslintrc.js +0 -18
  516. package/lib/ReadBufferUtils.d.mts.map +0 -1
  517. package/lib/ReadBufferUtils.mjs.map +0 -1
  518. package/lib/WriteBufferUtils.d.mts.map +0 -1
  519. package/lib/WriteBufferUtils.mjs.map +0 -1
  520. package/lib/checkUrl.d.mts.map +0 -1
  521. package/lib/checkUrl.mjs.map +0 -1
  522. package/lib/compactSnapshotParser.d.mts.map +0 -1
  523. package/lib/compactSnapshotParser.mjs.map +0 -1
  524. package/lib/compactSnapshotWriter.d.mts.map +0 -1
  525. package/lib/compactSnapshotWriter.mjs.map +0 -1
  526. package/lib/constants.d.mts.map +0 -1
  527. package/lib/constants.mjs.map +0 -1
  528. package/lib/contracts.d.mts.map +0 -1
  529. package/lib/contracts.mjs +0 -6
  530. package/lib/contracts.mjs.map +0 -1
  531. package/lib/contractsPublic.d.mts.map +0 -1
  532. package/lib/contractsPublic.mjs.map +0 -1
  533. package/lib/createFile.d.mts.map +0 -1
  534. package/lib/createFile.mjs.map +0 -1
  535. package/lib/createNewContainerOnExistingFile.d.mts.map +0 -1
  536. package/lib/createNewContainerOnExistingFile.mjs.map +0 -1
  537. package/lib/createNewModule.d.mts.map +0 -1
  538. package/lib/createNewModule.mjs.map +0 -1
  539. package/lib/createNewUtils.d.mts.map +0 -1
  540. package/lib/createNewUtils.mjs.map +0 -1
  541. package/lib/createOdspCreateContainerRequest.d.mts.map +0 -1
  542. package/lib/createOdspCreateContainerRequest.mjs.map +0 -1
  543. package/lib/createOdspUrl.d.mts.map +0 -1
  544. package/lib/createOdspUrl.mjs.map +0 -1
  545. package/lib/epochTracker.d.mts.map +0 -1
  546. package/lib/epochTracker.mjs.map +0 -1
  547. package/lib/fetch.d.mts.map +0 -1
  548. package/lib/fetch.mjs.map +0 -1
  549. package/lib/fetchSnapshot.d.mts.map +0 -1
  550. package/lib/fetchSnapshot.mjs.map +0 -1
  551. package/lib/getFileLink.d.mts.map +0 -1
  552. package/lib/getFileLink.mjs.map +0 -1
  553. package/lib/getQueryString.d.mts.map +0 -1
  554. package/lib/getQueryString.mjs.map +0 -1
  555. package/lib/getUrlAndHeadersWithAuth.d.mts.map +0 -1
  556. package/lib/getUrlAndHeadersWithAuth.mjs.map +0 -1
  557. package/lib/index.d.mts.map +0 -1
  558. package/lib/index.mjs +0 -22
  559. package/lib/index.mjs.map +0 -1
  560. package/lib/localOdspDriver/localOdspDeltaStorageService.d.mts.map +0 -1
  561. package/lib/localOdspDriver/localOdspDeltaStorageService.mjs.map +0 -1
  562. package/lib/localOdspDriver/localOdspDocumentService.d.mts.map +0 -1
  563. package/lib/localOdspDriver/localOdspDocumentService.mjs.map +0 -1
  564. package/lib/localOdspDriver/localOdspDocumentServiceFactory.d.mts.map +0 -1
  565. package/lib/localOdspDriver/localOdspDocumentServiceFactory.mjs.map +0 -1
  566. package/lib/localOdspDriver/localOdspDocumentStorageManager.d.mts.map +0 -1
  567. package/lib/localOdspDriver/localOdspDocumentStorageManager.mjs.map +0 -1
  568. package/lib/odspCache.d.mts.map +0 -1
  569. package/lib/odspCache.mjs.map +0 -1
  570. package/lib/odspDelayLoadedDeltaStream.d.mts.map +0 -1
  571. package/lib/odspDelayLoadedDeltaStream.mjs.map +0 -1
  572. package/lib/odspDeltaStorageService.d.mts.map +0 -1
  573. package/lib/odspDeltaStorageService.mjs.map +0 -1
  574. package/lib/odspDocumentDeltaConnection.d.mts.map +0 -1
  575. package/lib/odspDocumentDeltaConnection.mjs.map +0 -1
  576. package/lib/odspDocumentService.d.mts.map +0 -1
  577. package/lib/odspDocumentService.mjs.map +0 -1
  578. package/lib/odspDocumentServiceFactory.d.mts.map +0 -1
  579. package/lib/odspDocumentServiceFactory.mjs.map +0 -1
  580. package/lib/odspDocumentServiceFactoryCore.d.mts.map +0 -1
  581. package/lib/odspDocumentServiceFactoryCore.mjs.map +0 -1
  582. package/lib/odspDocumentServiceFactoryWithCodeSplit.d.mts.map +0 -1
  583. package/lib/odspDocumentServiceFactoryWithCodeSplit.mjs.map +0 -1
  584. package/lib/odspDocumentStorageManager.d.mts.map +0 -1
  585. package/lib/odspDocumentStorageManager.mjs.map +0 -1
  586. package/lib/odspDocumentStorageServiceBase.d.mts.map +0 -1
  587. package/lib/odspDocumentStorageServiceBase.mjs.map +0 -1
  588. package/lib/odspDriverUrlResolver.d.mts.map +0 -1
  589. package/lib/odspDriverUrlResolver.mjs.map +0 -1
  590. package/lib/odspDriverUrlResolverForShareLink.d.mts.map +0 -1
  591. package/lib/odspDriverUrlResolverForShareLink.mjs.map +0 -1
  592. package/lib/odspError.d.mts.map +0 -1
  593. package/lib/odspError.mjs.map +0 -1
  594. package/lib/odspFluidFileLink.d.mts.map +0 -1
  595. package/lib/odspFluidFileLink.mjs.map +0 -1
  596. package/lib/odspLocationRedirection.d.mts.map +0 -1
  597. package/lib/odspLocationRedirection.mjs.map +0 -1
  598. package/lib/odspPublicUtils.d.mts.map +0 -1
  599. package/lib/odspPublicUtils.mjs.map +0 -1
  600. package/lib/odspSnapshotParser.d.mts.map +0 -1
  601. package/lib/odspSnapshotParser.mjs.map +0 -1
  602. package/lib/odspSummaryUploadManager.d.mts.map +0 -1
  603. package/lib/odspSummaryUploadManager.mjs.map +0 -1
  604. package/lib/odspUrlHelper.d.mts.map +0 -1
  605. package/lib/odspUrlHelper.mjs.map +0 -1
  606. package/lib/odspUtils.d.mts.map +0 -1
  607. package/lib/odspUtils.mjs.map +0 -1
  608. package/lib/opsCaching.d.mts.map +0 -1
  609. package/lib/opsCaching.mjs.map +0 -1
  610. package/lib/packageVersion.d.mts.map +0 -1
  611. package/lib/packageVersion.mjs.map +0 -1
  612. package/lib/prefetchLatestSnapshot.d.mts.map +0 -1
  613. package/lib/prefetchLatestSnapshot.mjs.map +0 -1
  614. package/lib/retryErrorsStorageAdapter.d.mts.map +0 -1
  615. package/lib/retryErrorsStorageAdapter.mjs.map +0 -1
  616. package/lib/retryUtils.d.mts.map +0 -1
  617. package/lib/retryUtils.mjs.map +0 -1
  618. package/lib/socketModule.d.mts.map +0 -1
  619. package/lib/socketModule.mjs.map +0 -1
  620. package/lib/vroom.d.mts.map +0 -1
  621. package/lib/vroom.mjs.map +0 -1
  622. package/lib/zipItDataRepresentationUtils.d.mts.map +0 -1
  623. package/lib/zipItDataRepresentationUtils.mjs.map +0 -1
@@ -6,8 +6,8 @@
6
6
  import { stringToBuffer } from "@fluid-internal/client-utils";
7
7
  import { assert } from "@fluidframework/core-utils";
8
8
  import * as api from "@fluidframework/protocol-definitions";
9
- import { IOdspSnapshot, IOdspSnapshotCommit } from "./contracts";
10
- import { ISnapshotContents } from "./odspPublicUtils";
9
+ import { ISnapshot } from "@fluidframework/driver-definitions";
10
+ import { IOdspSnapshot, IOdspSnapshotCommit } from "./contracts.js";
11
11
 
12
12
  /**
13
13
  * Build a tree hierarchy base on a flat tree
@@ -36,6 +36,7 @@ function buildHierarchy(flatTree: IOdspSnapshotCommit): api.ISnapshotTree {
36
36
  blobs: {},
37
37
  trees: {},
38
38
  unreferenced: entry.unreferenced,
39
+ groupId: entry.groupId,
39
40
  };
40
41
  node.trees[decodeURIComponent(entryPathBase)] = newTree;
41
42
  lookup[entry.path] = newTree;
@@ -51,12 +52,10 @@ function buildHierarchy(flatTree: IOdspSnapshotCommit): api.ISnapshotTree {
51
52
  * Converts existing IOdspSnapshot to snapshot tree, blob array and ops
52
53
  * @param odspSnapshot - snapshot
53
54
  */
54
- export function convertOdspSnapshotToSnapshotTreeAndBlobs(
55
- odspSnapshot: IOdspSnapshot,
56
- ): ISnapshotContents {
55
+ export function convertOdspSnapshotToSnapshotTreeAndBlobs(odspSnapshot: IOdspSnapshot): ISnapshot {
57
56
  const blobsWithBufferContent = new Map<string, ArrayBuffer>();
58
57
  if (odspSnapshot.blobs) {
59
- odspSnapshot.blobs.forEach((blob) => {
58
+ for (const blob of odspSnapshot.blobs) {
60
59
  assert(
61
60
  blob.encoding === "base64" || blob.encoding === undefined,
62
61
  0x0a4 /* Unexpected blob encoding type */,
@@ -65,13 +64,13 @@ export function convertOdspSnapshotToSnapshotTreeAndBlobs(
65
64
  blob.id,
66
65
  stringToBuffer(blob.content, blob.encoding ?? "utf8"),
67
66
  );
68
- });
67
+ }
69
68
  }
70
69
 
71
70
  const sequenceNumber = odspSnapshot?.trees[0].sequenceNumber;
72
71
 
73
- const val: ISnapshotContents = {
74
- blobs: blobsWithBufferContent,
72
+ const val: ISnapshot = {
73
+ blobContents: blobsWithBufferContent,
75
74
  ops: odspSnapshot.ops?.map((op) => op.op) ?? [],
76
75
  sequenceNumber,
77
76
  snapshotTree: buildHierarchy(odspSnapshot.trees[0]),
@@ -79,6 +78,7 @@ export function convertOdspSnapshotToSnapshotTreeAndBlobs(
79
78
  odspSnapshot.ops && odspSnapshot.ops.length > 0
80
79
  ? odspSnapshot.ops[odspSnapshot.ops.length - 1].sequenceNumber
81
80
  : sequenceNumber,
81
+ snapshotFormatV: 1,
82
82
  };
83
83
  return val;
84
84
  }
@@ -23,10 +23,10 @@ import {
23
23
  IOdspSummaryTreeBaseEntry,
24
24
  OdspSummaryTreeEntry,
25
25
  OdspSummaryTreeValue,
26
- } from "./contracts";
27
- import { EpochTracker } from "./epochTracker";
28
- import { getUrlAndHeadersWithAuth } from "./getUrlAndHeadersWithAuth";
29
- import { getWithRetryForTokenRefresh } from "./odspUtils";
26
+ } from "./contracts.js";
27
+ import { EpochTracker } from "./epochTracker.js";
28
+ import { getUrlAndHeadersWithAuth } from "./getUrlAndHeadersWithAuth.js";
29
+ import { getWithRetryForTokenRefresh } from "./odspUtils.js";
30
30
 
31
31
  /**
32
32
  * This class manages a summary upload. When it receives a call to upload summary, it converts the summary tree into
@@ -48,7 +48,10 @@ export class OdspSummaryUploadManager {
48
48
  this.mc = loggerToMonitoringContext(logger);
49
49
  }
50
50
 
51
- public async writeSummaryTree(tree: api.ISummaryTree, context: ISummaryContext) {
51
+ public async writeSummaryTree(
52
+ tree: api.ISummaryTree,
53
+ context: ISummaryContext,
54
+ ): Promise<string> {
52
55
  // If the last proposed handle is not the proposed handle of the acked summary(could happen when the last summary get nacked),
53
56
  // then re-initialize the caches with the previous ones else just update the previous caches with the caches from acked summary.
54
57
  // Don't bother logging if lastSummaryProposalHandle hasn't been set before; only log on a positive mismatch.
@@ -122,7 +125,7 @@ export class OdspSummaryUploadManager {
122
125
  attempt: options.refresh ? 2 : 1,
123
126
  hasClaims: !!options.claims,
124
127
  hasTenantId: !!options.tenantId,
125
- headers: Object.keys(headers).length !== 0 ? true : undefined,
128
+ headers: Object.keys(headers).length > 0 ? true : undefined,
126
129
  blobs,
127
130
  size: postBody.length,
128
131
  referenceSequenceNumber,
@@ -163,7 +166,10 @@ export class OdspSummaryUploadManager {
163
166
  markUnreferencedNodes: boolean = this.mc.config.getBoolean(
164
167
  "Fluid.Driver.Odsp.MarkUnreferencedNodes",
165
168
  ) ?? true,
166
- ) {
169
+ ): Promise<{
170
+ snapshotTree: IOdspSummaryTree;
171
+ blobs: number;
172
+ }> {
167
173
  const snapshotTree: IOdspSummaryTree = {
168
174
  type: "tree",
169
175
  entries: [] as OdspSummaryTreeEntry[],
@@ -181,6 +187,7 @@ export class OdspSummaryUploadManager {
181
187
  // property is not present, the tree entry is considered referenced. If the property is present and is
182
188
  // true (which is the only value it can have), the tree entry is considered unreferenced.
183
189
  let unreferenced: true | undefined;
190
+ let groupId: string | undefined;
184
191
  switch (summaryObject.type) {
185
192
  case api.SummaryType.Tree: {
186
193
  const result = await this.convertSummaryToSnapshotTree(
@@ -190,6 +197,7 @@ export class OdspSummaryUploadManager {
190
197
  );
191
198
  value = result.snapshotTree;
192
199
  unreferenced = markUnreferencedNodes ? summaryObject.unreferenced : undefined;
200
+ groupId = summaryObject.groupId;
193
201
  blobs += result.blobs;
194
202
  break;
195
203
  }
@@ -211,7 +219,7 @@ export class OdspSummaryUploadManager {
211
219
  }
212
220
  case api.SummaryType.Handle: {
213
221
  if (!parentHandle) {
214
- throw Error("Parent summary does not exist to reference by handle.");
222
+ throw new Error("Parent summary does not exist to reference by handle.");
215
223
  }
216
224
  let handlePath = summaryObject.handle;
217
225
  if (handlePath.length > 0 && !handlePath.startsWith("/")) {
@@ -226,7 +234,10 @@ export class OdspSummaryUploadManager {
226
234
  break;
227
235
  }
228
236
  default: {
229
- unreachableCase(summaryObject, `Unknown type: ${(summaryObject as any).type}`);
237
+ unreachableCase(
238
+ summaryObject,
239
+ `Unknown type: ${(summaryObject as api.SummaryObject).type}`,
240
+ );
230
241
  }
231
242
  }
232
243
 
@@ -246,6 +257,7 @@ export class OdspSummaryUploadManager {
246
257
  value,
247
258
  ...baseEntry,
248
259
  unreferenced,
260
+ groupId,
249
261
  };
250
262
  } else if (id) {
251
263
  entry = {
@@ -49,7 +49,7 @@ export function isSpoUrl(url: string): boolean {
49
49
 
50
50
  // Format: foo.sharepoint.com/_api/v2.1./drives/bar/items/baz and foo.sharepoint-df.com/...
51
51
  const spoRegex = /(.*\.sharepoint(-df)*\.com)\/_api\/v2.1\/drives\/([^/]*)\/items\/([^/]*)/;
52
- return !!spoRegex.exec(urlLower);
52
+ return spoRegex.test(urlLower);
53
53
  }
54
54
 
55
55
  /**
@@ -88,7 +88,7 @@ export async function getOdspUrlParts(url: URL): Promise<IOdspUrlParts | undefin
88
88
  // Joinsession like URL
89
89
  // Pick a regex based on the hostname
90
90
  // TODO This will only support ODC using api.onedrive.com, update to handle the future (share links etc)
91
- let joinSessionMatch;
91
+ let joinSessionMatch: RegExpExecArray | null;
92
92
  if (isOdcOrigin(url.origin)) {
93
93
  // Capture groups:
94
94
  // 0: match
@@ -97,7 +97,6 @@ export async function getOdspUrlParts(url: URL): Promise<IOdspUrlParts | undefin
97
97
  // 3: optional captured drive ID
98
98
  // 4: Item ID
99
99
  // 5: Drive ID portion of Item ID
100
- // eslint-disable-next-line unicorn/no-unsafe-regex
101
100
  joinSessionMatch = /(.*)\/v2\.1\/drive(s\/([\dA-Za-z]+))?\/items\/(([\dA-Za-z]+)!\d+)/.exec(
102
101
  pathname,
103
102
  );
package/src/odspUtils.ts CHANGED
@@ -3,14 +3,15 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { ITelemetryProperties, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
7
- import { IResolvedUrl, DriverErrorType } from "@fluidframework/driver-definitions";
6
+ import { ITelemetryBaseProperties, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
7
+ import { IResolvedUrl, ISnapshot } from "@fluidframework/driver-definitions";
8
8
  import {
9
9
  isOnline,
10
10
  OnlineStatus,
11
11
  RetryableError,
12
12
  NonRetryableError,
13
13
  NetworkErrorBasic,
14
+ type AuthorizationError,
14
15
  } from "@fluidframework/driver-utils";
15
16
  import { performance } from "@fluid-internal/client-utils";
16
17
  import { assert } from "@fluidframework/core-utils";
@@ -20,20 +21,20 @@ import {
20
21
  TelemetryDataTag,
21
22
  createChildLogger,
22
23
  wrapError,
24
+ type IFluidErrorBase,
23
25
  } from "@fluidframework/telemetry-utils";
24
26
  import {
25
27
  fetchIncorrectResponse,
26
28
  throwOdspNetworkError,
27
29
  getSPOAndGraphRequestIdsFromResponse,
28
- } from "@fluidframework/odsp-doclib-utils";
30
+ } from "@fluidframework/odsp-doclib-utils/internal";
29
31
  import {
30
32
  IOdspResolvedUrl,
31
33
  TokenFetchOptions,
32
- OdspErrorType,
34
+ OdspErrorTypes,
33
35
  tokenFromResponse,
34
36
  isTokenFromCache,
35
37
  OdspResourceTokenFetchOptions,
36
- ShareLinkTypes,
37
38
  ISharingLinkKind,
38
39
  TokenFetcher,
39
40
  ICacheEntry,
@@ -41,14 +42,18 @@ import {
41
42
  InstrumentedStorageTokenFetcher,
42
43
  IOdspUrlParts,
43
44
  } from "@fluidframework/odsp-driver-definitions";
44
- import { fetch } from "./fetch";
45
- import { pkgVersion as driverVersion } from "./packageVersion";
46
- import { IOdspSnapshot } from "./contracts";
45
+ import { fetch } from "./fetch.js";
46
+ import { pkgVersion as driverVersion } from "./packageVersion.js";
47
+ import { IOdspSnapshot } from "./contracts.js";
48
+ // eslint-disable-next-line import/no-deprecated
49
+ import { ISnapshotContents } from "./odspPublicUtils.js";
47
50
 
48
51
  export const getWithRetryForTokenRefreshRepeat = "getWithRetryForTokenRefreshRepeat";
49
52
 
50
- /** Parse the given url and return the origin (host name) */
51
- export const getOrigin = (url: string) => new URL(url).origin;
53
+ /**
54
+ * Parse the given url and return the origin (host name)
55
+ */
56
+ export const getOrigin = (url: string): string => new URL(url).origin;
52
57
 
53
58
  /**
54
59
  * @alpha
@@ -56,16 +61,18 @@ export const getOrigin = (url: string) => new URL(url).origin;
56
61
  export interface IOdspResponse<T> {
57
62
  content: T;
58
63
  headers: Map<string, string>;
59
- propsToLog: ITelemetryProperties;
64
+ propsToLog: ITelemetryBaseProperties;
60
65
  duration: number;
61
66
  }
62
67
 
63
68
  export interface TokenFetchOptionsEx extends TokenFetchOptions {
64
- /** previous error we hit in getWithRetryForTokenRefresh */
65
- previousError?: any;
69
+ /**
70
+ * The previous error we hit in {@link getWithRetryForTokenRefresh}.
71
+ */
72
+ previousError?: unknown;
66
73
  }
67
74
 
68
- function headersToMap(headers: Headers) {
75
+ function headersToMap(headers: Headers): Map<string, string> {
69
76
  const newHeaders = new Map<string, string>();
70
77
  for (const [key, value] of headers.entries()) {
71
78
  newHeaders.set(key, value);
@@ -81,24 +88,30 @@ function headersToMap(headers: Headers) {
81
88
  */
82
89
  export async function getWithRetryForTokenRefresh<T>(
83
90
  get: (options: TokenFetchOptionsEx) => Promise<T>,
84
- ) {
85
- return get({ refresh: false }).catch(async (e) => {
86
- const options: TokenFetchOptionsEx = { refresh: true, previousError: e };
87
- switch (e.errorType) {
91
+ ): Promise<T> {
92
+ return get({ refresh: false }).catch(async (error) => {
93
+ const options: TokenFetchOptionsEx = { refresh: true, previousError: error };
94
+ switch ((error as Partial<IFluidErrorBase>).errorType) {
88
95
  // If the error is 401 or 403 refresh the token and try once more.
89
- case DriverErrorType.authorizationError:
90
- return get({ ...options, claims: e.claims, tenantId: e.tenantId });
96
+ case OdspErrorTypes.authorizationError: {
97
+ const authError = error as AuthorizationError;
98
+ return get({ ...options, claims: authError.claims, tenantId: authError.tenantId });
99
+ }
91
100
 
92
- case DriverErrorType.incorrectServerResponse: // some error on the wire, retry once
93
- case OdspErrorType.fetchTokenError: // If the token was null, then retry once.
101
+ case OdspErrorTypes.incorrectServerResponse: // some error on the wire, retry once
102
+ case OdspErrorTypes.fetchTokenError: {
103
+ // If the token was null, then retry once.
94
104
  return get(options);
105
+ }
95
106
 
96
- default:
107
+ default: {
97
108
  // Caller may determine that it wants one retry
98
- if (e[getWithRetryForTokenRefreshRepeat] === true) {
109
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unnecessary-type-assertion, @typescript-eslint/no-explicit-any
110
+ if ((error as any)[getWithRetryForTokenRefreshRepeat] === true) {
99
111
  return get(options);
100
112
  }
101
- throw e;
113
+ throw error;
114
+ }
102
115
  }
103
116
  });
104
117
  }
@@ -112,13 +125,13 @@ export async function fetchHelper(
112
125
  // Node-fetch and dom have conflicting typing, force them to work by casting for now
113
126
  return fetch(requestInfo, requestInit).then(
114
127
  async (fetchResponse) => {
115
- const response = fetchResponse as any as Response;
128
+ const response = fetchResponse as unknown as Response;
116
129
  // Let's assume we can retry.
117
130
  if (!response) {
118
131
  throw new NonRetryableError(
119
132
  // pre-0.58 error message: No response from fetch call
120
133
  "No response from ODSP fetch call",
121
- DriverErrorType.incorrectServerResponse,
134
+ OdspErrorTypes.incorrectServerResponse,
122
135
  { driverVersion },
123
136
  );
124
137
  }
@@ -153,14 +166,19 @@ export async function fetchHelper(
153
166
  const redactedErrorText = taggedErrorMessage.value.replace(urlRegex, "REDACTED_URL");
154
167
 
155
168
  // This error is thrown by fetch() when AbortSignal is provided and it gets cancelled
169
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
156
170
  if (error.name === "AbortError") {
157
- throw new RetryableError("Fetch Timeout (AbortError)", OdspErrorType.fetchTimeout, {
158
- driverVersion,
159
- });
171
+ throw new RetryableError(
172
+ "Fetch Timeout (AbortError)",
173
+ OdspErrorTypes.fetchTimeout,
174
+ {
175
+ driverVersion,
176
+ },
177
+ );
160
178
  }
161
179
  // TCP/IP timeout
162
180
  if (redactedErrorText.includes("ETIMEDOUT")) {
163
- throw new RetryableError("Fetch Timeout (ETIMEDOUT)", OdspErrorType.fetchTimeout, {
181
+ throw new RetryableError("Fetch Timeout (ETIMEDOUT)", OdspErrorTypes.fetchTimeout, {
164
182
  driverVersion,
165
183
  });
166
184
  }
@@ -170,7 +188,7 @@ export async function fetchHelper(
170
188
  throw new RetryableError(
171
189
  // pre-0.58 error message prefix: Offline
172
190
  `ODSP fetch failure (Offline): ${redactedErrorText}`,
173
- DriverErrorType.offlineError,
191
+ OdspErrorTypes.offlineError,
174
192
  {
175
193
  driverVersion,
176
194
  rawErrorMessage: taggedErrorMessage,
@@ -182,7 +200,7 @@ export async function fetchHelper(
182
200
  throw new RetryableError(
183
201
  // pre-0.58 error message prefix: Fetch error
184
202
  `ODSP fetch failure: ${redactedErrorText}`,
185
- DriverErrorType.fetchFailure,
203
+ OdspErrorTypes.fetchFailure,
186
204
  {
187
205
  driverVersion,
188
206
  rawErrorMessage: taggedErrorMessage,
@@ -206,7 +224,7 @@ export async function fetchArray(
206
224
  let arrayBuffer: ArrayBuffer;
207
225
  try {
208
226
  arrayBuffer = await content.arrayBuffer();
209
- } catch (e) {
227
+ } catch {
210
228
  // Parsing can fail and message could contain full request URI, including
211
229
  // tokens, etc. So do not log error object itself.
212
230
  throwOdspNetworkError(
@@ -240,7 +258,7 @@ export async function fetchAndParseAsJSONHelper<T>(
240
258
  let text: string | undefined;
241
259
  try {
242
260
  text = await content.text();
243
- } catch (e) {
261
+ } catch {
244
262
  // JSON.parse() can fail and message would container full request URI, including
245
263
  // tokens... It fails for me with "Unexpected end of JSON input" quite often - an attempt to download big file
246
264
  // (many ops) almost always ends up with this error - I'd guess 1% of op request end up here... It always
@@ -259,7 +277,7 @@ export async function fetchAndParseAsJSONHelper<T>(
259
277
  propsToLog.bodySize = text.length;
260
278
  const res = {
261
279
  headers,
262
- content: JSON.parse(text),
280
+ content: JSON.parse(text) as T,
263
281
  propsToLog,
264
282
  duration,
265
283
  };
@@ -279,11 +297,8 @@ export interface INewFileInfo extends IFileInfoBase {
279
297
  /**
280
298
  * application can request creation of a share link along with the creation of a new file
281
299
  * by passing in an optional param to specify the kind of sharing link
282
- * (at the time of adding this comment Sept/2021), odsp only supports csl
283
- * ShareLinkTypes will deprecated in future. Use ISharingLinkKind instead which specifies both
284
- * share link type and the role type.
285
300
  */
286
- createLinkType?: ShareLinkTypes | ISharingLinkKind;
301
+ createLinkType?: ISharingLinkKind;
287
302
  }
288
303
 
289
304
  export interface IExistingFileInfo extends IFileInfoBase {
@@ -306,13 +321,15 @@ export function getOdspResolvedUrl(resolvedUrl: IResolvedUrl): IOdspResolvedUrl
306
321
  }
307
322
 
308
323
  /**
324
+ * Type narrowing utility to determine if the provided {@link @fluidframework/driver-definitions#IResolvedUrl}
325
+ * is an {@link @fluidframework/odsp-driver-definitions#IOdspResolvedUrl}.
309
326
  * @internal
310
327
  */
311
328
  export function isOdspResolvedUrl(resolvedUrl: IResolvedUrl): resolvedUrl is IOdspResolvedUrl {
312
329
  return "odspResolvedUrl" in resolvedUrl && resolvedUrl.odspResolvedUrl === true;
313
330
  }
314
331
 
315
- export const createOdspLogger = (logger?: ITelemetryBaseLogger) =>
332
+ export const createOdspLogger = (logger?: ITelemetryBaseLogger): ITelemetryLoggerExt =>
316
333
  createChildLogger({
317
334
  logger,
318
335
  namespace: "OdspDriver",
@@ -323,7 +340,12 @@ export const createOdspLogger = (logger?: ITelemetryBaseLogger) =>
323
340
  },
324
341
  });
325
342
 
326
- export function evalBlobsAndTrees(snapshot: IOdspSnapshot) {
343
+ export function evalBlobsAndTrees(snapshot: IOdspSnapshot): {
344
+ numTrees: number;
345
+ numBlobs: number;
346
+ encodedBlobsSize: number;
347
+ decodedBlobsSize: number;
348
+ } {
327
349
  let numTrees = 0;
328
350
  let numBlobs = 0;
329
351
  let encodedBlobsSize = 0;
@@ -391,7 +413,7 @@ export function toInstrumentedOdspTokenFetcher(
391
413
  throw new NonRetryableError(
392
414
  // pre-0.58 error message: Token is null for ${name} call
393
415
  `The Host-provided token fetcher returned null`,
394
- OdspErrorType.fetchTokenError,
416
+ OdspErrorTypes.fetchTokenError,
395
417
  { method: name, driverVersion },
396
418
  );
397
419
  }
@@ -400,13 +422,14 @@ export function toInstrumentedOdspTokenFetcher(
400
422
  (error) => {
401
423
  // There is an important but unofficial contract here where token providers can set canRetry: true
402
424
  // to hook into the driver's retry logic (e.g. the retry loop when initiating a connection)
425
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
403
426
  const rawCanRetry = error?.canRetry;
404
427
  const tokenError = wrapError(
405
428
  error,
406
429
  (errorMessage) =>
407
430
  new NetworkErrorBasic(
408
431
  `The Host-provided token fetcher threw an error`,
409
- OdspErrorType.fetchTokenError,
432
+ OdspErrorTypes.fetchTokenError,
410
433
  typeof rawCanRetry === "boolean"
411
434
  ? rawCanRetry
412
435
  : false /* canRetry */,
@@ -444,18 +467,14 @@ export const maxUmpPostBodySize = 79872;
444
467
  * @returns A string of request parameters that can be concatenated with the base URI
445
468
  */
446
469
  export function buildOdspShareLinkReqParams(
447
- shareLinkType: ShareLinkTypes | ISharingLinkKind | undefined,
448
- ) {
470
+ shareLinkType: ISharingLinkKind | undefined,
471
+ ): string | undefined {
449
472
  if (!shareLinkType) {
450
473
  return;
451
474
  }
452
- const scope = (shareLinkType as ISharingLinkKind).scope;
453
- if (!scope) {
454
- // eslint-disable-next-line @typescript-eslint/no-base-to-string
455
- return `createLinkType=${shareLinkType}`;
456
- }
475
+ const scope = shareLinkType.scope;
457
476
  let shareLinkRequestParams = `createLinkScope=${scope}`;
458
- const role = (shareLinkType as ISharingLinkKind).role;
477
+ const role = shareLinkType.role;
459
478
  shareLinkRequestParams = role
460
479
  ? `${shareLinkRequestParams}&createLinkRole=${role}`
461
480
  : shareLinkRequestParams;
@@ -476,6 +495,36 @@ export async function measureP<T>(callback: () => Promise<T>): Promise<[T, numbe
476
495
  return [result, time];
477
496
  }
478
497
 
479
- export function getJoinSessionCacheKey(odspResolvedUrl: IOdspResolvedUrl) {
498
+ export function getJoinSessionCacheKey(odspResolvedUrl: IOdspResolvedUrl): string {
480
499
  return `${odspResolvedUrl.hashedDocumentId}/joinsession`;
481
500
  }
501
+
502
+ /**
503
+ * Utility API to check if the type of snapshot contents is `ISnapshot`.
504
+ * @internal
505
+ * @param obj - obj whose type needs to be identified.
506
+ */
507
+ export function isInstanceOfISnapshot(
508
+ // eslint-disable-next-line import/no-deprecated
509
+ obj: ISnapshotContents | ISnapshot | undefined,
510
+ ): obj is ISnapshot {
511
+ return obj !== undefined && "snapshotFormatV" in obj && obj.snapshotFormatV === 1;
512
+ }
513
+
514
+ /**
515
+ * This tells whether request if for a specific loading group or not. The snapshot which
516
+ * we fetch on initial load, fetches all ungrouped content.
517
+ */
518
+ export function isSnapshotFetchForLoadingGroup(loadingGroupIds: string[] | undefined): boolean {
519
+ return loadingGroupIds !== undefined && loadingGroupIds.length > 0;
520
+ }
521
+
522
+ /*
523
+ * This tells whether we are using legacy flow for fetching snapshot where we don't use
524
+ * groupId query param in the trees latest network call.
525
+ */
526
+ export function useLegacyFlowWithoutGroupsForSnapshotFetch(
527
+ loadingGroupIds: string[] | undefined,
528
+ ): boolean {
529
+ return loadingGroupIds === undefined;
530
+ }
package/src/opsCaching.ts CHANGED
@@ -37,8 +37,8 @@ export class OpsCache {
37
37
  private readonly logger: ITelemetryLoggerExt,
38
38
  private readonly cache: ICache,
39
39
  private readonly batchSize: number,
40
- private readonly timerGranularity,
41
- private totalOpsToCache,
40
+ private readonly timerGranularity: number,
41
+ private totalOpsToCache: number,
42
42
  ) {
43
43
  /**
44
44
  * Initial batch is a special case because it will never be full - all ops prior (inclusive) to
@@ -55,7 +55,7 @@ export class OpsCache {
55
55
  }
56
56
  }
57
57
 
58
- public dispose() {
58
+ public dispose(): void {
59
59
  this.batches.clear();
60
60
  if (this.timer !== undefined) {
61
61
  clearTimeout(this.timer);
@@ -63,7 +63,7 @@ export class OpsCache {
63
63
  }
64
64
  }
65
65
 
66
- public flushOps() {
66
+ public flushOps(): void {
67
67
  for (const [key, value] of this.batches) {
68
68
  // Don't flush if the batch has no ops, already flushed or has empty slots at both beginning and end.
69
69
  if (
@@ -80,7 +80,7 @@ export class OpsCache {
80
80
  }
81
81
  }
82
82
 
83
- public addOps(ops: IMessage[]) {
83
+ public addOps(ops: IMessage[]): void {
84
84
  if (this.totalOpsToCache <= 0) {
85
85
  return;
86
86
  }
@@ -114,6 +114,7 @@ export class OpsCache {
114
114
  if (currentBatch.remainingSlots === 0) {
115
115
  // batch is full, flush to cache
116
116
  this.write(batchNumber, currentBatch);
117
+ // eslint-disable-next-line unicorn/no-null
117
118
  this.batches.set(batchNumber, null);
118
119
  } else {
119
120
  this.scheduleTimer();
@@ -144,7 +145,7 @@ export class OpsCache {
144
145
  if (res === undefined) {
145
146
  return messages;
146
147
  }
147
- const result: CacheEntry = JSON.parse(res);
148
+ const result: CacheEntry = JSON.parse(res) as CacheEntry;
148
149
  const prevMessagesLength = messages.length;
149
150
  for (const op of result) {
150
151
  // Note that we write out undefined, but due to JSON.stringify, it turns into null!
@@ -160,7 +161,7 @@ export class OpsCache {
160
161
  }
161
162
  }
162
163
  messages.push(op);
163
- } else if (messages.length !== 0) {
164
+ } else if (messages.length > 0) {
164
165
  // If there is any gap, return the messages till now.
165
166
  return messages;
166
167
  }
@@ -199,7 +200,7 @@ export class OpsCache {
199
200
  return messages;
200
201
  }
201
202
 
202
- protected write(batchNumber: number, payload: IBatch) {
203
+ protected write(batchNumber: number, payload: IBatch): void {
203
204
  // Errors are caught and logged by PersistedCacheWithErrorHandling that sits
204
205
  // in the adapter chain of cache adapters
205
206
  this.cache
@@ -209,7 +210,7 @@ export class OpsCache {
209
210
  });
210
211
  }
211
212
 
212
- protected scheduleTimer() {
213
+ protected scheduleTimer(): void {
213
214
  if (!this.timer && this.timerGranularity > 0) {
214
215
  this.timer = setTimeout(() => {
215
216
  this.timer = undefined;
@@ -218,15 +219,15 @@ export class OpsCache {
218
219
  }
219
220
  }
220
221
 
221
- private getBatchNumber(sequenceNumber: number) {
222
+ private getBatchNumber(sequenceNumber: number): number {
222
223
  return Math.floor(sequenceNumber / this.batchSize);
223
224
  }
224
225
 
225
- private getPositionInBatchArray(sequenceNumber: number) {
226
+ private getPositionInBatchArray(sequenceNumber: number): number {
226
227
  return sequenceNumber % this.batchSize;
227
228
  }
228
229
 
229
- private initializeNewBatchDataArray() {
230
+ private initializeNewBatchDataArray(): IMessage[] {
230
231
  const tempArray: IMessage[] = [];
231
232
  tempArray.length = this.batchSize; // fill with empty, undefined elements
232
233
  return tempArray;
@@ -6,4 +6,4 @@
6
6
  */
7
7
 
8
8
  export const pkgName = "@fluidframework/odsp-driver";
9
- export const pkgVersion = "2.0.0-dev-rc.1.0.0.228517";
9
+ export const pkgVersion = "2.0.0-dev-rc.2.0.0.245554";