@fluidframework/odsp-driver 1.4.0-121020 → 2.0.0-dev-rc.1.0.0.225277

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 (666) hide show
  1. package/.eslintrc.js +12 -12
  2. package/.mocharc.js +12 -0
  3. package/CHANGELOG.md +162 -0
  4. package/README.md +56 -0
  5. package/api-extractor-esm.json +4 -0
  6. package/api-extractor-lint.json +4 -0
  7. package/api-extractor.json +2 -2
  8. package/api-report/odsp-driver.api.md +309 -0
  9. package/dist/{ReadBufferUtils.js → ReadBufferUtils.cjs} +16 -9
  10. package/dist/ReadBufferUtils.cjs.map +1 -0
  11. package/dist/ReadBufferUtils.d.ts.map +1 -1
  12. package/dist/{WriteBufferUtils.js → WriteBufferUtils.cjs} +73 -69
  13. package/dist/WriteBufferUtils.cjs.map +1 -0
  14. package/dist/WriteBufferUtils.d.ts +3 -5
  15. package/dist/WriteBufferUtils.d.ts.map +1 -1
  16. package/dist/{checkUrl.js → checkUrl.cjs} +7 -6
  17. package/dist/checkUrl.cjs.map +1 -0
  18. package/dist/checkUrl.d.ts +1 -0
  19. package/dist/checkUrl.d.ts.map +1 -1
  20. package/dist/compactSnapshotParser.cjs +207 -0
  21. package/dist/compactSnapshotParser.cjs.map +1 -0
  22. package/dist/compactSnapshotParser.d.ts +12 -3
  23. package/dist/compactSnapshotParser.d.ts.map +1 -1
  24. package/dist/{compactSnapshotWriter.js → compactSnapshotWriter.cjs} +43 -33
  25. package/dist/compactSnapshotWriter.cjs.map +1 -0
  26. package/dist/compactSnapshotWriter.d.ts +2 -3
  27. package/dist/compactSnapshotWriter.d.ts.map +1 -1
  28. package/dist/{constants.js → constants.cjs} +7 -1
  29. package/dist/constants.cjs.map +1 -0
  30. package/dist/constants.d.ts +6 -0
  31. package/dist/constants.d.ts.map +1 -1
  32. package/dist/{contracts.js → contracts.cjs} +1 -1
  33. package/dist/contracts.cjs.map +1 -0
  34. package/dist/contracts.d.ts +16 -53
  35. package/dist/contracts.d.ts.map +1 -1
  36. package/dist/{contractsPublic.js → contractsPublic.cjs} +9 -3
  37. package/dist/contractsPublic.cjs.map +1 -0
  38. package/dist/contractsPublic.d.ts +15 -0
  39. package/dist/contractsPublic.d.ts.map +1 -1
  40. package/dist/createFile.cjs +177 -0
  41. package/dist/createFile.cjs.map +1 -0
  42. package/dist/createFile.d.ts +6 -10
  43. package/dist/createFile.d.ts.map +1 -1
  44. package/dist/createNewContainerOnExistingFile.cjs +60 -0
  45. package/dist/createNewContainerOnExistingFile.cjs.map +1 -0
  46. package/dist/createNewContainerOnExistingFile.d.ts +22 -0
  47. package/dist/createNewContainerOnExistingFile.d.ts.map +1 -0
  48. package/dist/createNewModule.cjs +12 -0
  49. package/dist/createNewModule.cjs.map +1 -0
  50. package/dist/createNewModule.d.ts +7 -0
  51. package/dist/createNewModule.d.ts.map +1 -0
  52. package/dist/createNewUtils.cjs +203 -0
  53. package/dist/createNewUtils.cjs.map +1 -0
  54. package/dist/createNewUtils.d.ts +16 -0
  55. package/dist/createNewUtils.d.ts.map +1 -1
  56. package/dist/{createOdspCreateContainerRequest.js → createOdspCreateContainerRequest.cjs} +8 -4
  57. package/dist/createOdspCreateContainerRequest.cjs.map +1 -0
  58. package/dist/createOdspCreateContainerRequest.d.ts +5 -3
  59. package/dist/createOdspCreateContainerRequest.d.ts.map +1 -1
  60. package/dist/{createOdspUrl.js → createOdspUrl.cjs} +2 -1
  61. package/dist/createOdspUrl.cjs.map +1 -0
  62. package/dist/createOdspUrl.d.ts +1 -0
  63. package/dist/createOdspUrl.d.ts.map +1 -1
  64. package/dist/{epochTracker.js → epochTracker.cjs} +102 -48
  65. package/dist/epochTracker.cjs.map +1 -0
  66. package/dist/epochTracker.d.ts +32 -8
  67. package/dist/epochTracker.d.ts.map +1 -1
  68. package/dist/{fetch.js → fetch.cjs} +1 -1
  69. package/dist/fetch.cjs.map +1 -0
  70. package/dist/fetch.d.ts +1 -1
  71. package/dist/fetch.d.ts.map +1 -1
  72. package/dist/{fetchSnapshot.js → fetchSnapshot.cjs} +192 -176
  73. package/dist/fetchSnapshot.cjs.map +1 -0
  74. package/dist/fetchSnapshot.d.ts +10 -5
  75. package/dist/fetchSnapshot.d.ts.map +1 -1
  76. package/dist/{getFileLink.js → getFileLink.cjs} +52 -41
  77. package/dist/getFileLink.cjs.map +1 -0
  78. package/dist/getFileLink.d.ts +4 -7
  79. package/dist/getFileLink.d.ts.map +1 -1
  80. package/dist/{getQueryString.js → getQueryString.cjs} +1 -1
  81. package/dist/getQueryString.cjs.map +1 -0
  82. package/dist/getQueryString.d.ts.map +1 -1
  83. package/dist/{getUrlAndHeadersWithAuth.js → getUrlAndHeadersWithAuth.cjs} +4 -2
  84. package/dist/getUrlAndHeadersWithAuth.cjs.map +1 -0
  85. package/dist/getUrlAndHeadersWithAuth.d.ts.map +1 -1
  86. package/dist/index.cjs +59 -0
  87. package/dist/index.cjs.map +1 -0
  88. package/dist/index.d.ts +19 -16
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/localOdspDriver/localOdspDeltaStorageService.cjs +35 -0
  91. package/dist/localOdspDriver/localOdspDeltaStorageService.cjs.map +1 -0
  92. package/dist/localOdspDriver/localOdspDeltaStorageService.d.ts +17 -0
  93. package/dist/localOdspDriver/localOdspDeltaStorageService.d.ts.map +1 -0
  94. package/dist/localOdspDriver/{localOdspDocumentService.js → localOdspDocumentService.cjs} +7 -5
  95. package/dist/localOdspDriver/localOdspDocumentService.cjs.map +1 -0
  96. package/dist/localOdspDriver/localOdspDocumentService.d.ts +3 -2
  97. package/dist/localOdspDriver/localOdspDocumentService.d.ts.map +1 -1
  98. package/dist/localOdspDriver/{localOdspDocumentServiceFactory.js → localOdspDocumentServiceFactory.cjs} +9 -10
  99. package/dist/localOdspDriver/localOdspDocumentServiceFactory.cjs.map +1 -0
  100. package/dist/localOdspDriver/localOdspDocumentServiceFactory.d.ts +2 -3
  101. package/dist/localOdspDriver/localOdspDocumentServiceFactory.d.ts.map +1 -1
  102. package/dist/localOdspDriver/{localOdspDocumentStorageManager.js → localOdspDocumentStorageManager.cjs} +13 -11
  103. package/dist/localOdspDriver/localOdspDocumentStorageManager.cjs.map +1 -0
  104. package/dist/localOdspDriver/localOdspDocumentStorageManager.d.ts +2 -2
  105. package/dist/localOdspDriver/localOdspDocumentStorageManager.d.ts.map +1 -1
  106. package/dist/odsp-driver-alpha.d.ts +496 -0
  107. package/dist/odsp-driver-beta.d.ts +160 -0
  108. package/dist/odsp-driver-public.d.ts +160 -0
  109. package/dist/odsp-driver-untrimmed.d.ts +565 -0
  110. package/dist/{odspCache.js → odspCache.cjs} +9 -10
  111. package/dist/odspCache.cjs.map +1 -0
  112. package/dist/odspCache.d.ts +19 -4
  113. package/dist/odspCache.d.ts.map +1 -1
  114. package/dist/odspDelayLoadedDeltaStream.cjs +291 -0
  115. package/dist/odspDelayLoadedDeltaStream.cjs.map +1 -0
  116. package/dist/odspDelayLoadedDeltaStream.d.ts +75 -0
  117. package/dist/odspDelayLoadedDeltaStream.d.ts.map +1 -0
  118. package/dist/{odspDeltaStorageService.js → odspDeltaStorageService.cjs} +70 -71
  119. package/dist/odspDeltaStorageService.cjs.map +1 -0
  120. package/dist/odspDeltaStorageService.d.ts +8 -6
  121. package/dist/odspDeltaStorageService.d.ts.map +1 -1
  122. package/dist/{odspDocumentDeltaConnection.js → odspDocumentDeltaConnection.cjs} +224 -113
  123. package/dist/odspDocumentDeltaConnection.cjs.map +1 -0
  124. package/dist/odspDocumentDeltaConnection.d.ts +32 -12
  125. package/dist/odspDocumentDeltaConnection.d.ts.map +1 -1
  126. package/dist/odspDocumentService.cjs +225 -0
  127. package/dist/odspDocumentService.cjs.map +1 -0
  128. package/dist/odspDocumentService.d.ts +11 -25
  129. package/dist/odspDocumentService.d.ts.map +1 -1
  130. package/dist/{odspDocumentServiceFactory.js → odspDocumentServiceFactory.cjs} +8 -5
  131. package/dist/odspDocumentServiceFactory.cjs.map +1 -0
  132. package/dist/odspDocumentServiceFactory.d.ts +4 -0
  133. package/dist/odspDocumentServiceFactory.d.ts.map +1 -1
  134. package/dist/odspDocumentServiceFactoryCore.cjs +196 -0
  135. package/dist/odspDocumentServiceFactoryCore.cjs.map +1 -0
  136. package/dist/odspDocumentServiceFactoryCore.d.ts +18 -11
  137. package/dist/odspDocumentServiceFactoryCore.d.ts.map +1 -1
  138. package/dist/odspDocumentServiceFactoryWithCodeSplit.cjs +20 -0
  139. package/dist/odspDocumentServiceFactoryWithCodeSplit.cjs.map +1 -0
  140. package/dist/odspDocumentServiceFactoryWithCodeSplit.d.ts +5 -0
  141. package/dist/odspDocumentServiceFactoryWithCodeSplit.d.ts.map +1 -1
  142. package/dist/odspDocumentStorageManager.cjs +490 -0
  143. package/dist/odspDocumentStorageManager.cjs.map +1 -0
  144. package/dist/odspDocumentStorageManager.d.ts +11 -5
  145. package/dist/odspDocumentStorageManager.d.ts.map +1 -1
  146. package/dist/{odspDocumentStorageServiceBase.js → odspDocumentStorageServiceBase.cjs} +32 -34
  147. package/dist/odspDocumentStorageServiceBase.cjs.map +1 -0
  148. package/dist/odspDocumentStorageServiceBase.d.ts +7 -9
  149. package/dist/odspDocumentStorageServiceBase.d.ts.map +1 -1
  150. package/dist/{odspDriverUrlResolver.js → odspDriverUrlResolver.cjs} +50 -36
  151. package/dist/odspDriverUrlResolver.cjs.map +1 -0
  152. package/dist/odspDriverUrlResolver.d.ts +12 -0
  153. package/dist/odspDriverUrlResolver.d.ts.map +1 -1
  154. package/dist/{odspDriverUrlResolverForShareLink.js → odspDriverUrlResolverForShareLink.cjs} +37 -26
  155. package/dist/odspDriverUrlResolverForShareLink.cjs.map +1 -0
  156. package/dist/odspDriverUrlResolverForShareLink.d.ts +5 -3
  157. package/dist/odspDriverUrlResolverForShareLink.d.ts.map +1 -1
  158. package/dist/{odspError.js → odspError.cjs} +7 -3
  159. package/dist/odspError.cjs.map +1 -0
  160. package/dist/odspError.d.ts.map +1 -1
  161. package/dist/{odspFluidFileLink.js → odspFluidFileLink.cjs} +25 -18
  162. package/dist/odspFluidFileLink.cjs.map +1 -0
  163. package/dist/odspFluidFileLink.d.ts +10 -1
  164. package/dist/odspFluidFileLink.d.ts.map +1 -1
  165. package/dist/odspLocationRedirection.cjs +24 -0
  166. package/dist/odspLocationRedirection.cjs.map +1 -0
  167. package/dist/odspLocationRedirection.d.ts +14 -0
  168. package/dist/odspLocationRedirection.d.ts.map +1 -0
  169. package/dist/{odspPublicUtils.js → odspPublicUtils.cjs} +7 -4
  170. package/dist/odspPublicUtils.cjs.map +1 -0
  171. package/dist/odspPublicUtils.d.ts +6 -0
  172. package/dist/odspPublicUtils.d.ts.map +1 -1
  173. package/dist/{odspSnapshotParser.js → odspSnapshotParser.cjs} +11 -12
  174. package/dist/odspSnapshotParser.cjs.map +1 -0
  175. package/dist/odspSnapshotParser.d.ts.map +1 -1
  176. package/dist/{odspSummaryUploadManager.js → odspSummaryUploadManager.cjs} +47 -34
  177. package/dist/odspSummaryUploadManager.cjs.map +1 -0
  178. package/dist/odspSummaryUploadManager.d.ts +7 -4
  179. package/dist/odspSummaryUploadManager.d.ts.map +1 -1
  180. package/dist/{odspUrlHelper.js → odspUrlHelper.cjs} +9 -3
  181. package/dist/odspUrlHelper.cjs.map +1 -0
  182. package/dist/odspUrlHelper.d.ts +5 -0
  183. package/dist/odspUrlHelper.d.ts.map +1 -1
  184. package/dist/{odspUtils.js → odspUtils.cjs} +118 -30
  185. package/dist/odspUtils.cjs.map +1 -0
  186. package/dist/odspUtils.d.ts +35 -6
  187. package/dist/odspUtils.d.ts.map +1 -1
  188. package/dist/{opsCaching.js → opsCaching.cjs} +25 -9
  189. package/dist/opsCaching.cjs.map +1 -0
  190. package/dist/opsCaching.d.ts +3 -3
  191. package/dist/opsCaching.d.ts.map +1 -1
  192. package/dist/{packageVersion.js → packageVersion.cjs} +2 -2
  193. package/dist/packageVersion.cjs.map +1 -0
  194. package/dist/packageVersion.d.ts +1 -1
  195. package/dist/packageVersion.d.ts.map +1 -1
  196. package/dist/prefetchLatestSnapshot.cjs +100 -0
  197. package/dist/prefetchLatestSnapshot.cjs.map +1 -0
  198. package/dist/prefetchLatestSnapshot.d.ts +12 -7
  199. package/dist/prefetchLatestSnapshot.d.ts.map +1 -1
  200. package/dist/{retryErrorsStorageAdapter.js → retryErrorsStorageAdapter.cjs} +13 -6
  201. package/dist/retryErrorsStorageAdapter.cjs.map +1 -0
  202. package/dist/retryErrorsStorageAdapter.d.ts +5 -4
  203. package/dist/retryErrorsStorageAdapter.d.ts.map +1 -1
  204. package/dist/{retryUtils.js → retryUtils.cjs} +30 -14
  205. package/dist/retryUtils.cjs.map +1 -0
  206. package/dist/retryUtils.d.ts +2 -2
  207. package/dist/retryUtils.d.ts.map +1 -1
  208. package/dist/socketModule.cjs +10 -0
  209. package/dist/socketModule.cjs.map +1 -0
  210. package/dist/socketModule.d.ts +7 -0
  211. package/dist/socketModule.d.ts.map +1 -0
  212. package/dist/tsdoc-metadata.json +11 -0
  213. package/dist/{vroom.js → vroom.cjs} +24 -9
  214. package/dist/vroom.cjs.map +1 -0
  215. package/dist/vroom.d.ts +4 -4
  216. package/dist/vroom.d.ts.map +1 -1
  217. package/dist/{zipItDataRepresentationUtils.js → zipItDataRepresentationUtils.cjs} +227 -118
  218. package/dist/zipItDataRepresentationUtils.cjs.map +1 -0
  219. package/dist/zipItDataRepresentationUtils.d.ts +47 -20
  220. package/dist/zipItDataRepresentationUtils.d.ts.map +1 -1
  221. package/lib/{ReadBufferUtils.d.ts → ReadBufferUtils.d.mts} +1 -1
  222. package/lib/ReadBufferUtils.d.mts.map +1 -0
  223. package/lib/{ReadBufferUtils.js → ReadBufferUtils.mjs} +14 -7
  224. package/lib/ReadBufferUtils.mjs.map +1 -0
  225. package/lib/{WriteBufferUtils.d.ts → WriteBufferUtils.d.mts} +4 -6
  226. package/lib/WriteBufferUtils.d.mts.map +1 -0
  227. package/lib/{WriteBufferUtils.js → WriteBufferUtils.mjs} +68 -64
  228. package/lib/WriteBufferUtils.mjs.map +1 -0
  229. package/lib/{checkUrl.d.ts → checkUrl.d.mts} +2 -1
  230. package/lib/checkUrl.d.mts.map +1 -0
  231. package/lib/{checkUrl.js → checkUrl.mjs} +7 -6
  232. package/lib/checkUrl.mjs.map +1 -0
  233. package/lib/compactSnapshotParser.d.mts +24 -0
  234. package/lib/compactSnapshotParser.d.mts.map +1 -0
  235. package/lib/compactSnapshotParser.mjs +203 -0
  236. package/lib/compactSnapshotParser.mjs.map +1 -0
  237. package/lib/{compactSnapshotWriter.d.ts → compactSnapshotWriter.d.mts} +4 -5
  238. package/lib/compactSnapshotWriter.d.mts.map +1 -0
  239. package/lib/{compactSnapshotWriter.js → compactSnapshotWriter.mjs} +41 -31
  240. package/lib/compactSnapshotWriter.mjs.map +1 -0
  241. package/lib/{constants.d.ts → constants.d.mts} +7 -1
  242. package/lib/constants.d.mts.map +1 -0
  243. package/lib/{constants.js → constants.mjs} +7 -1
  244. package/lib/constants.mjs.map +1 -0
  245. package/lib/{contracts.d.ts → contracts.d.mts} +18 -55
  246. package/lib/contracts.d.mts.map +1 -0
  247. package/lib/{contracts.js → contracts.mjs} +1 -1
  248. package/lib/contracts.mjs.map +1 -0
  249. package/lib/{contractsPublic.d.ts → contractsPublic.d.mts} +16 -1
  250. package/lib/contractsPublic.d.mts.map +1 -0
  251. package/lib/{contractsPublic.js → contractsPublic.mjs} +7 -1
  252. package/lib/contractsPublic.mjs.map +1 -0
  253. package/lib/createFile.d.mts +18 -0
  254. package/lib/createFile.d.mts.map +1 -0
  255. package/lib/createFile.mjs +171 -0
  256. package/lib/createFile.mjs.map +1 -0
  257. package/lib/createNewContainerOnExistingFile.d.mts +22 -0
  258. package/lib/createNewContainerOnExistingFile.d.mts.map +1 -0
  259. package/lib/createNewContainerOnExistingFile.mjs +56 -0
  260. package/lib/createNewContainerOnExistingFile.mjs.map +1 -0
  261. package/lib/createNewModule.d.mts +7 -0
  262. package/lib/createNewModule.d.mts.map +1 -0
  263. package/lib/createNewModule.mjs +7 -0
  264. package/lib/createNewModule.mjs.map +1 -0
  265. package/lib/createNewUtils.d.mts +27 -0
  266. package/lib/createNewUtils.d.mts.map +1 -0
  267. package/lib/createNewUtils.mjs +197 -0
  268. package/lib/createNewUtils.mjs.map +1 -0
  269. package/lib/{createOdspCreateContainerRequest.d.ts → createOdspCreateContainerRequest.d.mts} +6 -8
  270. package/lib/createOdspCreateContainerRequest.d.mts.map +1 -0
  271. package/lib/{createOdspCreateContainerRequest.js → createOdspCreateContainerRequest.mjs} +8 -4
  272. package/lib/createOdspCreateContainerRequest.mjs.map +1 -0
  273. package/lib/{createOdspUrl.d.ts → createOdspUrl.d.mts} +3 -2
  274. package/lib/createOdspUrl.d.mts.map +1 -0
  275. package/lib/{createOdspUrl.js → createOdspUrl.mjs} +2 -1
  276. package/lib/createOdspUrl.mjs.map +1 -0
  277. package/lib/{epochTracker.d.ts → epochTracker.d.mts} +35 -11
  278. package/lib/epochTracker.d.mts.map +1 -0
  279. package/lib/{epochTracker.js → epochTracker.mjs} +97 -43
  280. package/lib/epochTracker.mjs.map +1 -0
  281. package/lib/{fetch.d.ts → fetch.d.mts} +2 -2
  282. package/lib/fetch.d.mts.map +1 -0
  283. package/lib/{fetch.js → fetch.mjs} +1 -1
  284. package/lib/fetch.mjs.map +1 -0
  285. package/lib/{fetchSnapshot.d.ts → fetchSnapshot.d.mts} +15 -10
  286. package/lib/fetchSnapshot.d.mts.map +1 -0
  287. package/lib/{fetchSnapshot.js → fetchSnapshot.mjs} +185 -167
  288. package/lib/fetchSnapshot.mjs.map +1 -0
  289. package/lib/{getFileLink.d.ts → getFileLink.d.mts} +5 -8
  290. package/lib/getFileLink.d.mts.map +1 -0
  291. package/lib/{getFileLink.js → getFileLink.mjs} +49 -38
  292. package/lib/getFileLink.mjs.map +1 -0
  293. package/lib/{getQueryString.d.ts → getQueryString.d.mts} +1 -5
  294. package/lib/getQueryString.d.mts.map +1 -0
  295. package/lib/{getQueryString.js → getQueryString.mjs} +1 -1
  296. package/lib/getQueryString.mjs.map +1 -0
  297. package/lib/{getUrlAndHeadersWithAuth.d.ts → getUrlAndHeadersWithAuth.d.mts} +1 -1
  298. package/lib/getUrlAndHeadersWithAuth.d.mts.map +1 -0
  299. package/lib/{getUrlAndHeadersWithAuth.js → getUrlAndHeadersWithAuth.mjs} +4 -2
  300. package/lib/getUrlAndHeadersWithAuth.mjs.map +1 -0
  301. package/lib/index.d.mts +24 -0
  302. package/lib/index.d.mts.map +1 -0
  303. package/lib/index.mjs +22 -0
  304. package/lib/index.mjs.map +1 -0
  305. package/lib/localOdspDriver/localOdspDeltaStorageService.d.mts +17 -0
  306. package/lib/localOdspDriver/localOdspDeltaStorageService.d.mts.map +1 -0
  307. package/lib/localOdspDriver/localOdspDeltaStorageService.mjs +31 -0
  308. package/lib/localOdspDriver/localOdspDeltaStorageService.mjs.map +1 -0
  309. package/lib/localOdspDriver/{localOdspDocumentService.d.ts → localOdspDocumentService.d.mts} +4 -3
  310. package/lib/localOdspDriver/localOdspDocumentService.d.mts.map +1 -0
  311. package/lib/localOdspDriver/{localOdspDocumentService.js → localOdspDocumentService.mjs} +8 -6
  312. package/lib/localOdspDriver/localOdspDocumentService.mjs.map +1 -0
  313. package/lib/localOdspDriver/{localOdspDocumentServiceFactory.d.ts → localOdspDocumentServiceFactory.d.mts} +5 -6
  314. package/lib/localOdspDriver/localOdspDocumentServiceFactory.d.mts.map +1 -0
  315. package/lib/localOdspDriver/{localOdspDocumentServiceFactory.js → localOdspDocumentServiceFactory.mjs} +9 -10
  316. package/lib/localOdspDriver/localOdspDocumentServiceFactory.mjs.map +1 -0
  317. package/lib/localOdspDriver/{localOdspDocumentStorageManager.d.ts → localOdspDocumentStorageManager.d.mts} +4 -4
  318. package/lib/localOdspDriver/localOdspDocumentStorageManager.d.mts.map +1 -0
  319. package/lib/localOdspDriver/{localOdspDocumentStorageManager.js → localOdspDocumentStorageManager.mjs} +11 -9
  320. package/lib/localOdspDriver/localOdspDocumentStorageManager.mjs.map +1 -0
  321. package/lib/odsp-driver-alpha.d.mts +496 -0
  322. package/lib/odsp-driver-beta.d.mts +160 -0
  323. package/lib/odsp-driver-public.d.mts +160 -0
  324. package/lib/odsp-driver-untrimmed.d.mts +565 -0
  325. package/lib/{odspCache.d.ts → odspCache.d.mts} +20 -9
  326. package/lib/odspCache.d.mts.map +1 -0
  327. package/lib/{odspCache.js → odspCache.mjs} +6 -11
  328. package/lib/odspCache.mjs.map +1 -0
  329. package/lib/odspDelayLoadedDeltaStream.d.mts +75 -0
  330. package/lib/odspDelayLoadedDeltaStream.d.mts.map +1 -0
  331. package/lib/odspDelayLoadedDeltaStream.mjs +287 -0
  332. package/lib/odspDelayLoadedDeltaStream.mjs.map +1 -0
  333. package/lib/{odspDeltaStorageService.d.ts → odspDeltaStorageService.d.mts} +10 -8
  334. package/lib/odspDeltaStorageService.d.mts.map +1 -0
  335. package/lib/{odspDeltaStorageService.js → odspDeltaStorageService.mjs} +70 -68
  336. package/lib/odspDeltaStorageService.mjs.map +1 -0
  337. package/lib/{odspDocumentDeltaConnection.d.ts → odspDocumentDeltaConnection.d.mts} +34 -14
  338. package/lib/odspDocumentDeltaConnection.d.mts.map +1 -0
  339. package/lib/{odspDocumentDeltaConnection.js → odspDocumentDeltaConnection.mjs} +214 -103
  340. package/lib/odspDocumentDeltaConnection.mjs.map +1 -0
  341. package/lib/{odspDocumentService.d.ts → odspDocumentService.d.mts} +15 -29
  342. package/lib/odspDocumentService.d.mts.map +1 -0
  343. package/lib/odspDocumentService.mjs +221 -0
  344. package/lib/odspDocumentService.mjs.map +1 -0
  345. package/lib/{odspDocumentServiceFactory.d.ts → odspDocumentServiceFactory.d.mts} +6 -2
  346. package/lib/odspDocumentServiceFactory.d.mts.map +1 -0
  347. package/lib/{odspDocumentServiceFactory.js → odspDocumentServiceFactory.mjs} +8 -6
  348. package/lib/odspDocumentServiceFactory.mjs.map +1 -0
  349. package/lib/{odspDocumentServiceFactoryCore.d.ts → odspDocumentServiceFactoryCore.d.mts} +20 -13
  350. package/lib/odspDocumentServiceFactoryCore.d.mts.map +1 -0
  351. package/lib/odspDocumentServiceFactoryCore.mjs +192 -0
  352. package/lib/odspDocumentServiceFactoryCore.mjs.map +1 -0
  353. package/lib/{odspDocumentServiceFactoryWithCodeSplit.d.ts → odspDocumentServiceFactoryWithCodeSplit.d.mts} +7 -2
  354. package/lib/odspDocumentServiceFactoryWithCodeSplit.d.mts.map +1 -0
  355. package/lib/{odspDocumentServiceFactoryWithCodeSplit.js → odspDocumentServiceFactoryWithCodeSplit.mjs} +8 -3
  356. package/lib/odspDocumentServiceFactoryWithCodeSplit.mjs.map +1 -0
  357. package/lib/{odspDocumentStorageManager.d.ts → odspDocumentStorageManager.d.mts} +18 -12
  358. package/lib/odspDocumentStorageManager.d.mts.map +1 -0
  359. package/lib/odspDocumentStorageManager.mjs +486 -0
  360. package/lib/odspDocumentStorageManager.mjs.map +1 -0
  361. package/lib/{odspDocumentStorageServiceBase.d.ts → odspDocumentStorageServiceBase.d.mts} +9 -11
  362. package/lib/odspDocumentStorageServiceBase.d.mts.map +1 -0
  363. package/lib/{odspDocumentStorageServiceBase.js → odspDocumentStorageServiceBase.mjs} +31 -33
  364. package/lib/odspDocumentStorageServiceBase.mjs.map +1 -0
  365. package/lib/{odspDriverUrlResolver.d.ts → odspDriverUrlResolver.d.mts} +13 -1
  366. package/lib/odspDriverUrlResolver.d.mts.map +1 -0
  367. package/lib/{odspDriverUrlResolver.js → odspDriverUrlResolver.mjs} +50 -40
  368. package/lib/odspDriverUrlResolver.mjs.map +1 -0
  369. package/lib/{odspDriverUrlResolverForShareLink.d.ts → odspDriverUrlResolverForShareLink.d.mts} +7 -5
  370. package/lib/odspDriverUrlResolverForShareLink.d.mts.map +1 -0
  371. package/lib/{odspDriverUrlResolverForShareLink.js → odspDriverUrlResolverForShareLink.mjs} +36 -29
  372. package/lib/odspDriverUrlResolverForShareLink.mjs.map +1 -0
  373. package/lib/{odspError.d.ts → odspError.d.mts} +2 -2
  374. package/lib/odspError.d.mts.map +1 -0
  375. package/lib/{odspError.js → odspError.mjs} +7 -3
  376. package/lib/odspError.mjs.map +1 -0
  377. package/lib/{odspFluidFileLink.d.ts → odspFluidFileLink.d.mts} +12 -3
  378. package/lib/odspFluidFileLink.d.mts.map +1 -0
  379. package/lib/{odspFluidFileLink.js → odspFluidFileLink.mjs} +23 -16
  380. package/lib/odspFluidFileLink.mjs.map +1 -0
  381. package/lib/odspLocationRedirection.d.mts +14 -0
  382. package/lib/odspLocationRedirection.d.mts.map +1 -0
  383. package/lib/odspLocationRedirection.mjs +20 -0
  384. package/lib/odspLocationRedirection.mjs.map +1 -0
  385. package/lib/{odspPublicUtils.d.ts → odspPublicUtils.d.mts} +7 -1
  386. package/lib/odspPublicUtils.d.mts.map +1 -0
  387. package/lib/{odspPublicUtils.js → odspPublicUtils.mjs} +5 -2
  388. package/lib/odspPublicUtils.mjs.map +1 -0
  389. package/lib/{odspSnapshotParser.d.ts → odspSnapshotParser.d.mts} +3 -3
  390. package/lib/odspSnapshotParser.d.mts.map +1 -0
  391. package/lib/{odspSnapshotParser.js → odspSnapshotParser.mjs} +10 -11
  392. package/lib/odspSnapshotParser.mjs.map +1 -0
  393. package/lib/{odspSummaryUploadManager.d.ts → odspSummaryUploadManager.d.mts} +9 -6
  394. package/lib/odspSummaryUploadManager.d.mts.map +1 -0
  395. package/lib/{odspSummaryUploadManager.js → odspSummaryUploadManager.mjs} +41 -32
  396. package/lib/odspSummaryUploadManager.mjs.map +1 -0
  397. package/lib/{odspUrlHelper.d.ts → odspUrlHelper.d.mts} +6 -1
  398. package/lib/odspUrlHelper.d.mts.map +1 -0
  399. package/lib/{odspUrlHelper.js → odspUrlHelper.mjs} +9 -3
  400. package/lib/odspUrlHelper.mjs.map +1 -0
  401. package/lib/{odspUtils.d.ts → odspUtils.d.mts} +37 -8
  402. package/lib/odspUtils.d.mts.map +1 -0
  403. package/lib/{odspUtils.js → odspUtils.mjs} +109 -27
  404. package/lib/odspUtils.mjs.map +1 -0
  405. package/lib/{opsCaching.d.ts → opsCaching.d.mts} +4 -4
  406. package/lib/opsCaching.d.mts.map +1 -0
  407. package/lib/{opsCaching.js → opsCaching.mjs} +23 -7
  408. package/lib/opsCaching.mjs.map +1 -0
  409. package/lib/{packageVersion.d.ts → packageVersion.d.mts} +2 -2
  410. package/lib/packageVersion.d.mts.map +1 -0
  411. package/lib/{packageVersion.js → packageVersion.mjs} +2 -2
  412. package/lib/packageVersion.mjs.map +1 -0
  413. package/lib/{prefetchLatestSnapshot.d.ts → prefetchLatestSnapshot.d.mts} +14 -9
  414. package/lib/prefetchLatestSnapshot.d.mts.map +1 -0
  415. package/lib/prefetchLatestSnapshot.mjs +96 -0
  416. package/lib/prefetchLatestSnapshot.mjs.map +1 -0
  417. package/lib/{retryErrorsStorageAdapter.d.ts → retryErrorsStorageAdapter.d.mts} +6 -5
  418. package/lib/retryErrorsStorageAdapter.d.mts.map +1 -0
  419. package/lib/{retryErrorsStorageAdapter.js → retryErrorsStorageAdapter.mjs} +13 -6
  420. package/lib/retryErrorsStorageAdapter.mjs.map +1 -0
  421. package/lib/{retryUtils.d.ts → retryUtils.d.mts} +3 -3
  422. package/lib/retryUtils.d.mts.map +1 -0
  423. package/lib/{retryUtils.js → retryUtils.mjs} +27 -11
  424. package/lib/retryUtils.mjs.map +1 -0
  425. package/lib/socketModule.d.mts +7 -0
  426. package/lib/socketModule.d.mts.map +1 -0
  427. package/lib/socketModule.mjs +7 -0
  428. package/lib/socketModule.mjs.map +1 -0
  429. package/lib/{vroom.d.ts → vroom.d.mts} +7 -7
  430. package/lib/vroom.d.mts.map +1 -0
  431. package/lib/{vroom.js → vroom.mjs} +24 -9
  432. package/lib/vroom.mjs.map +1 -0
  433. package/lib/{zipItDataRepresentationUtils.d.ts → zipItDataRepresentationUtils.d.mts} +49 -22
  434. package/lib/zipItDataRepresentationUtils.d.mts.map +1 -0
  435. package/lib/{zipItDataRepresentationUtils.js → zipItDataRepresentationUtils.mjs} +213 -111
  436. package/lib/zipItDataRepresentationUtils.mjs.map +1 -0
  437. package/package.json +87 -69
  438. package/prettier.config.cjs +8 -0
  439. package/src/ReadBufferUtils.ts +51 -44
  440. package/src/WriteBufferUtils.ts +203 -181
  441. package/src/checkUrl.ts +16 -15
  442. package/src/compactSnapshotParser.ts +219 -103
  443. package/src/compactSnapshotWriter.ts +118 -97
  444. package/src/constants.ts +7 -0
  445. package/src/contracts.ts +96 -136
  446. package/src/contractsPublic.ts +31 -16
  447. package/src/createFile.ts +243 -305
  448. package/src/createNewContainerOnExistingFile.ts +93 -0
  449. package/src/createNewModule.ts +7 -0
  450. package/src/createNewUtils.ts +266 -56
  451. package/src/createOdspCreateContainerRequest.ts +22 -18
  452. package/src/createOdspUrl.ts +12 -13
  453. package/src/epochTracker.ts +596 -457
  454. package/src/fetch.ts +4 -4
  455. package/src/fetchSnapshot.ts +583 -508
  456. package/src/getFileLink.ts +194 -155
  457. package/src/getQueryString.ts +11 -9
  458. package/src/getUrlAndHeadersWithAuth.ts +34 -33
  459. package/src/index.ts +42 -18
  460. package/src/localOdspDriver/localOdspDeltaStorageService.ts +49 -0
  461. package/src/localOdspDriver/localOdspDocumentService.ts +40 -38
  462. package/src/localOdspDriver/localOdspDocumentServiceFactory.ts +46 -43
  463. package/src/localOdspDriver/localOdspDocumentStorageManager.ts +55 -50
  464. package/src/odspCache.ts +112 -90
  465. package/src/odspDelayLoadedDeltaStream.ts +459 -0
  466. package/src/odspDeltaStorageService.ts +232 -221
  467. package/src/odspDocumentDeltaConnection.ts +751 -563
  468. package/src/odspDocumentService.ts +324 -523
  469. package/src/odspDocumentServiceFactory.ts +20 -21
  470. package/src/odspDocumentServiceFactoryCore.ts +329 -200
  471. package/src/odspDocumentServiceFactoryWithCodeSplit.ts +20 -20
  472. package/src/odspDocumentStorageManager.ts +730 -534
  473. package/src/odspDocumentStorageServiceBase.ts +279 -254
  474. package/src/odspDriverUrlResolver.ts +230 -188
  475. package/src/odspDriverUrlResolverForShareLink.ts +223 -203
  476. package/src/odspError.ts +27 -19
  477. package/src/odspFluidFileLink.ts +106 -87
  478. package/src/odspLocationRedirection.ts +26 -0
  479. package/src/odspPublicUtils.ts +20 -14
  480. package/src/odspSnapshotParser.ts +53 -46
  481. package/src/odspSummaryUploadManager.ts +243 -218
  482. package/src/odspUrlHelper.ts +81 -71
  483. package/src/odspUtils.ts +401 -259
  484. package/src/opsCaching.ts +214 -193
  485. package/src/packageVersion.ts +1 -1
  486. package/src/prefetchLatestSnapshot.ts +142 -80
  487. package/src/retryErrorsStorageAdapter.ts +92 -77
  488. package/src/retryUtils.ts +80 -57
  489. package/src/socketModule.ts +8 -0
  490. package/src/vroom.ts +92 -83
  491. package/src/zipItDataRepresentationUtils.ts +534 -394
  492. package/tsc-multi.test.json +4 -0
  493. package/tsconfig.json +11 -13
  494. package/.editorconfig +0 -7
  495. package/dist/ReadBufferUtils.js.map +0 -1
  496. package/dist/WriteBufferUtils.js.map +0 -1
  497. package/dist/checkUrl.js.map +0 -1
  498. package/dist/compactSnapshotParser.js +0 -115
  499. package/dist/compactSnapshotParser.js.map +0 -1
  500. package/dist/compactSnapshotWriter.js.map +0 -1
  501. package/dist/constants.js.map +0 -1
  502. package/dist/contracts.js.map +0 -1
  503. package/dist/contractsPublic.js.map +0 -1
  504. package/dist/createFile.js +0 -242
  505. package/dist/createFile.js.map +0 -1
  506. package/dist/createNewUtils.js +0 -67
  507. package/dist/createNewUtils.js.map +0 -1
  508. package/dist/createOdspCreateContainerRequest.js.map +0 -1
  509. package/dist/createOdspUrl.js.map +0 -1
  510. package/dist/epochTracker.js.map +0 -1
  511. package/dist/fetch.js.map +0 -1
  512. package/dist/fetchSnapshot.js.map +0 -1
  513. package/dist/getFileLink.js.map +0 -1
  514. package/dist/getQueryString.js.map +0 -1
  515. package/dist/getSocketIo.d.ts +0 -11
  516. package/dist/getSocketIo.d.ts.map +0 -1
  517. package/dist/getSocketIo.js +0 -20
  518. package/dist/getSocketIo.js.map +0 -1
  519. package/dist/getUrlAndHeadersWithAuth.js.map +0 -1
  520. package/dist/index.js +0 -41
  521. package/dist/index.js.map +0 -1
  522. package/dist/localOdspDriver/localOdspDocumentService.js.map +0 -1
  523. package/dist/localOdspDriver/localOdspDocumentServiceFactory.js.map +0 -1
  524. package/dist/localOdspDriver/localOdspDocumentStorageManager.js.map +0 -1
  525. package/dist/odspCache.js.map +0 -1
  526. package/dist/odspDeltaStorageService.js.map +0 -1
  527. package/dist/odspDocumentDeltaConnection.js.map +0 -1
  528. package/dist/odspDocumentService.js +0 -364
  529. package/dist/odspDocumentService.js.map +0 -1
  530. package/dist/odspDocumentServiceFactory.js.map +0 -1
  531. package/dist/odspDocumentServiceFactoryCore.js +0 -118
  532. package/dist/odspDocumentServiceFactoryCore.js.map +0 -1
  533. package/dist/odspDocumentServiceFactoryWithCodeSplit.js +0 -34
  534. package/dist/odspDocumentServiceFactoryWithCodeSplit.js.map +0 -1
  535. package/dist/odspDocumentStorageManager.js +0 -356
  536. package/dist/odspDocumentStorageManager.js.map +0 -1
  537. package/dist/odspDocumentStorageServiceBase.js.map +0 -1
  538. package/dist/odspDriverUrlResolver.js.map +0 -1
  539. package/dist/odspDriverUrlResolverForShareLink.js.map +0 -1
  540. package/dist/odspError.js.map +0 -1
  541. package/dist/odspFluidFileLink.js.map +0 -1
  542. package/dist/odspPublicUtils.js.map +0 -1
  543. package/dist/odspSnapshotParser.js.map +0 -1
  544. package/dist/odspSummaryUploadManager.js.map +0 -1
  545. package/dist/odspUrlHelper.js.map +0 -1
  546. package/dist/odspUtils.js.map +0 -1
  547. package/dist/opsCaching.js.map +0 -1
  548. package/dist/packageVersion.js.map +0 -1
  549. package/dist/prefetchLatestSnapshot.js +0 -57
  550. package/dist/prefetchLatestSnapshot.js.map +0 -1
  551. package/dist/retryErrorsStorageAdapter.js.map +0 -1
  552. package/dist/retryUtils.js.map +0 -1
  553. package/dist/vroom.js.map +0 -1
  554. package/dist/zipItDataRepresentationUtils.js.map +0 -1
  555. package/lib/ReadBufferUtils.d.ts.map +0 -1
  556. package/lib/ReadBufferUtils.js.map +0 -1
  557. package/lib/WriteBufferUtils.d.ts.map +0 -1
  558. package/lib/WriteBufferUtils.js.map +0 -1
  559. package/lib/checkUrl.d.ts.map +0 -1
  560. package/lib/checkUrl.js.map +0 -1
  561. package/lib/compactSnapshotParser.d.ts +0 -15
  562. package/lib/compactSnapshotParser.d.ts.map +0 -1
  563. package/lib/compactSnapshotParser.js +0 -111
  564. package/lib/compactSnapshotParser.js.map +0 -1
  565. package/lib/compactSnapshotWriter.d.ts.map +0 -1
  566. package/lib/compactSnapshotWriter.js.map +0 -1
  567. package/lib/constants.d.ts.map +0 -1
  568. package/lib/constants.js.map +0 -1
  569. package/lib/contracts.d.ts.map +0 -1
  570. package/lib/contracts.js.map +0 -1
  571. package/lib/contractsPublic.d.ts.map +0 -1
  572. package/lib/contractsPublic.js.map +0 -1
  573. package/lib/createFile.d.ts +0 -22
  574. package/lib/createFile.d.ts.map +0 -1
  575. package/lib/createFile.js +0 -235
  576. package/lib/createFile.js.map +0 -1
  577. package/lib/createNewUtils.d.ts +0 -11
  578. package/lib/createNewUtils.d.ts.map +0 -1
  579. package/lib/createNewUtils.js +0 -63
  580. package/lib/createNewUtils.js.map +0 -1
  581. package/lib/createOdspCreateContainerRequest.d.ts.map +0 -1
  582. package/lib/createOdspCreateContainerRequest.js.map +0 -1
  583. package/lib/createOdspUrl.d.ts.map +0 -1
  584. package/lib/createOdspUrl.js.map +0 -1
  585. package/lib/epochTracker.d.ts.map +0 -1
  586. package/lib/epochTracker.js.map +0 -1
  587. package/lib/fetch.d.ts.map +0 -1
  588. package/lib/fetch.js.map +0 -1
  589. package/lib/fetchSnapshot.d.ts.map +0 -1
  590. package/lib/fetchSnapshot.js.map +0 -1
  591. package/lib/getFileLink.d.ts.map +0 -1
  592. package/lib/getFileLink.js.map +0 -1
  593. package/lib/getQueryString.d.ts.map +0 -1
  594. package/lib/getQueryString.js.map +0 -1
  595. package/lib/getSocketIo.d.ts +0 -11
  596. package/lib/getSocketIo.d.ts.map +0 -1
  597. package/lib/getSocketIo.js +0 -13
  598. package/lib/getSocketIo.js.map +0 -1
  599. package/lib/getUrlAndHeadersWithAuth.d.ts.map +0 -1
  600. package/lib/getUrlAndHeadersWithAuth.js.map +0 -1
  601. package/lib/index.d.ts +0 -21
  602. package/lib/index.d.ts.map +0 -1
  603. package/lib/index.js +0 -29
  604. package/lib/index.js.map +0 -1
  605. package/lib/localOdspDriver/localOdspDocumentService.d.ts.map +0 -1
  606. package/lib/localOdspDriver/localOdspDocumentService.js.map +0 -1
  607. package/lib/localOdspDriver/localOdspDocumentServiceFactory.d.ts.map +0 -1
  608. package/lib/localOdspDriver/localOdspDocumentServiceFactory.js.map +0 -1
  609. package/lib/localOdspDriver/localOdspDocumentStorageManager.d.ts.map +0 -1
  610. package/lib/localOdspDriver/localOdspDocumentStorageManager.js.map +0 -1
  611. package/lib/odspCache.d.ts.map +0 -1
  612. package/lib/odspCache.js.map +0 -1
  613. package/lib/odspDeltaStorageService.d.ts.map +0 -1
  614. package/lib/odspDeltaStorageService.js.map +0 -1
  615. package/lib/odspDocumentDeltaConnection.d.ts.map +0 -1
  616. package/lib/odspDocumentDeltaConnection.js.map +0 -1
  617. package/lib/odspDocumentService.d.ts.map +0 -1
  618. package/lib/odspDocumentService.js +0 -360
  619. package/lib/odspDocumentService.js.map +0 -1
  620. package/lib/odspDocumentServiceFactory.d.ts.map +0 -1
  621. package/lib/odspDocumentServiceFactory.js.map +0 -1
  622. package/lib/odspDocumentServiceFactoryCore.d.ts.map +0 -1
  623. package/lib/odspDocumentServiceFactoryCore.js +0 -114
  624. package/lib/odspDocumentServiceFactoryCore.js.map +0 -1
  625. package/lib/odspDocumentServiceFactoryWithCodeSplit.d.ts.map +0 -1
  626. package/lib/odspDocumentServiceFactoryWithCodeSplit.js.map +0 -1
  627. package/lib/odspDocumentStorageManager.d.ts.map +0 -1
  628. package/lib/odspDocumentStorageManager.js +0 -352
  629. package/lib/odspDocumentStorageManager.js.map +0 -1
  630. package/lib/odspDocumentStorageServiceBase.d.ts.map +0 -1
  631. package/lib/odspDocumentStorageServiceBase.js.map +0 -1
  632. package/lib/odspDriverUrlResolver.d.ts.map +0 -1
  633. package/lib/odspDriverUrlResolver.js.map +0 -1
  634. package/lib/odspDriverUrlResolverForShareLink.d.ts.map +0 -1
  635. package/lib/odspDriverUrlResolverForShareLink.js.map +0 -1
  636. package/lib/odspError.d.ts.map +0 -1
  637. package/lib/odspError.js.map +0 -1
  638. package/lib/odspFluidFileLink.d.ts.map +0 -1
  639. package/lib/odspFluidFileLink.js.map +0 -1
  640. package/lib/odspPublicUtils.d.ts.map +0 -1
  641. package/lib/odspPublicUtils.js.map +0 -1
  642. package/lib/odspSnapshotParser.d.ts.map +0 -1
  643. package/lib/odspSnapshotParser.js.map +0 -1
  644. package/lib/odspSummaryUploadManager.d.ts.map +0 -1
  645. package/lib/odspSummaryUploadManager.js.map +0 -1
  646. package/lib/odspUrlHelper.d.ts.map +0 -1
  647. package/lib/odspUrlHelper.js.map +0 -1
  648. package/lib/odspUtils.d.ts.map +0 -1
  649. package/lib/odspUtils.js.map +0 -1
  650. package/lib/opsCaching.d.ts.map +0 -1
  651. package/lib/opsCaching.js.map +0 -1
  652. package/lib/packageVersion.d.ts.map +0 -1
  653. package/lib/packageVersion.js.map +0 -1
  654. package/lib/prefetchLatestSnapshot.d.ts.map +0 -1
  655. package/lib/prefetchLatestSnapshot.js +0 -53
  656. package/lib/prefetchLatestSnapshot.js.map +0 -1
  657. package/lib/retryErrorsStorageAdapter.d.ts.map +0 -1
  658. package/lib/retryErrorsStorageAdapter.js.map +0 -1
  659. package/lib/retryUtils.d.ts.map +0 -1
  660. package/lib/retryUtils.js.map +0 -1
  661. package/lib/vroom.d.ts.map +0 -1
  662. package/lib/vroom.js.map +0 -1
  663. package/lib/zipItDataRepresentationUtils.d.ts.map +0 -1
  664. package/lib/zipItDataRepresentationUtils.js.map +0 -1
  665. package/src/getSocketIo.ts +0 -14
  666. package/tsconfig.esnext.json +0 -7
@@ -3,21 +3,23 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { ITelemetryLogger } from "@fluidframework/common-definitions";
7
- import { assert } from "@fluidframework/common-utils";
8
- import { canRetryOnError, NonRetryableError } from "@fluidframework/driver-utils";
9
- import { PerformanceEvent } from "@fluidframework/telemetry-utils";
6
+ import { ITelemetryLoggerExt, PerformanceEvent } from "@fluidframework/telemetry-utils";
7
+ import { assert } from "@fluidframework/core-utils";
8
+ import { NonRetryableError, runWithRetry } from "@fluidframework/driver-utils";
10
9
  import { DriverErrorType } from "@fluidframework/driver-definitions";
11
10
  import {
12
- IOdspUrlParts,
13
- OdspResourceTokenFetchOptions,
14
- IdentityType,
15
- TokenFetcher,
11
+ IOdspUrlParts,
12
+ OdspResourceTokenFetchOptions,
13
+ TokenFetcher,
16
14
  } from "@fluidframework/odsp-driver-definitions";
17
15
  import { getUrlAndHeadersWithAuth } from "./getUrlAndHeadersWithAuth";
18
- import { fetchHelper, getWithRetryForTokenRefresh, toInstrumentedOdspTokenFetcher } from "./odspUtils";
16
+ import {
17
+ fetchHelper,
18
+ getWithRetryForTokenRefresh,
19
+ toInstrumentedOdspTokenFetcher,
20
+ } from "./odspUtils";
19
21
  import { pkgVersion as driverVersion } from "./packageVersion";
20
- import { runWithRetry } from "./retryUtils";
22
+ import { runWithRetry as runWithRetryForCoherencyAndServiceReadOnlyErrors } from "./retryUtils";
21
23
 
22
24
  // Store cached responses for the lifetime of web session as file link remains the same for given file item
23
25
  const fileLinkCache = new Map<string, Promise<string>>();
@@ -29,175 +31,212 @@ const fileLinkCache = new Map<string, Promise<string>>();
29
31
  * throttling error. In future, we are thinking of app allowing to pass some cancel token, with which
30
32
  * we would be able to stop retrying.
31
33
  * @param getToken - used to fetch access tokens needed to execute operation
32
- * @param siteUrl - url of the site that contains the file
33
- * @param driveId - drive where file is stored
34
- * @param itemId - file id
35
- * @param identityType - type of client account
34
+ * @param odspUrlParts - object describing file storage identity
36
35
  * @param logger - used to log results of operation, including any error
37
36
  * @returns Promise which resolves to file link url when successful; otherwise, undefined.
38
37
  */
39
38
  export async function getFileLink(
40
- getToken: TokenFetcher<OdspResourceTokenFetchOptions>,
41
- odspUrlParts: IOdspUrlParts,
42
- identityType: IdentityType,
43
- logger: ITelemetryLogger,
39
+ getToken: TokenFetcher<OdspResourceTokenFetchOptions>,
40
+ odspUrlParts: IOdspUrlParts,
41
+ logger: ITelemetryLoggerExt,
44
42
  ): Promise<string> {
45
- const cacheKey = `${odspUrlParts.siteUrl}_${odspUrlParts.driveId}_${odspUrlParts.itemId}`;
46
- const maybeFileLinkCacheEntry = fileLinkCache.get(cacheKey);
47
- if (maybeFileLinkCacheEntry !== undefined) {
48
- return maybeFileLinkCacheEntry;
49
- }
43
+ const cacheKey = `${odspUrlParts.siteUrl}_${odspUrlParts.driveId}_${odspUrlParts.itemId}`;
44
+ const maybeFileLinkCacheEntry = fileLinkCache.get(cacheKey);
45
+ if (maybeFileLinkCacheEntry !== undefined) {
46
+ return maybeFileLinkCacheEntry;
47
+ }
50
48
 
51
- const fileLinkGenerator = async function() {
52
- let fileLinkCore: string;
53
- try {
54
- fileLinkCore = await runWithRetry(
55
- async () => getFileLinkCore(getToken, odspUrlParts, identityType, logger),
56
- "getFileLinkCore",
57
- logger,
58
- );
59
- } catch (err) {
60
- // runWithRetry throws a non retriable error after it hits the max # of attempts
61
- // or encounters an unexpected error type
62
- if (!canRetryOnError(err)) {
63
- // Delete from the cache to permit retrying later.
64
- fileLinkCache.delete(cacheKey);
65
- }
66
- throw err;
67
- }
49
+ const fileLinkGenerator = async function () {
50
+ let fileLinkCore: string;
51
+ try {
52
+ let retryCount = 0;
53
+ fileLinkCore = await runWithRetry(
54
+ async () =>
55
+ runWithRetryForCoherencyAndServiceReadOnlyErrors(
56
+ async () => getFileLinkCore(getToken, odspUrlParts, logger),
57
+ "getFileLinkCore",
58
+ logger,
59
+ ),
60
+ "getShareLink",
61
+ logger,
62
+ {
63
+ onRetry(delayInMs: number, error: any) {
64
+ retryCount++;
65
+ if (retryCount === 5) {
66
+ if (error !== undefined && typeof error === "object") {
67
+ error.canRetry = false;
68
+ throw error;
69
+ }
70
+ throw error;
71
+ }
72
+ },
73
+ },
74
+ );
75
+ } catch (err) {
76
+ // Delete from the cache to permit retrying later.
77
+ fileLinkCache.delete(cacheKey);
78
+ throw err;
79
+ }
68
80
 
69
- // We are guaranteed to run the getFileLinkCore at least once with successful result (which must be a string)
70
- assert(fileLinkCore !== undefined, 0x292 /* "Unexpected undefined result from getFileLinkCore" */);
71
- return fileLinkCore;
72
- };
73
- const fileLink = fileLinkGenerator();
74
- fileLinkCache.set(cacheKey, fileLink);
75
- return fileLink;
81
+ // We are guaranteed to run the getFileLinkCore at least once with successful result (which must be a string)
82
+ assert(
83
+ fileLinkCore !== undefined,
84
+ 0x292 /* "Unexpected undefined result from getFileLinkCore" */,
85
+ );
86
+ return fileLinkCore;
87
+ };
88
+ const fileLink = fileLinkGenerator();
89
+ fileLinkCache.set(cacheKey, fileLink);
90
+ return fileLink;
76
91
  }
77
92
 
78
93
  async function getFileLinkCore(
79
- getToken: TokenFetcher<OdspResourceTokenFetchOptions>,
80
- odspUrlParts: IOdspUrlParts,
81
- identityType: IdentityType,
82
- logger: ITelemetryLogger,
94
+ getToken: TokenFetcher<OdspResourceTokenFetchOptions>,
95
+ odspUrlParts: IOdspUrlParts,
96
+ logger: ITelemetryLoggerExt,
83
97
  ): Promise<string> {
84
- const fileItem = await getFileItemLite(getToken, odspUrlParts, logger, identityType === "Consumer");
98
+ const fileItem = await getFileItemLite(getToken, odspUrlParts, logger, true);
99
+
100
+ // ODSP link requires extra call to return link that is resistant to file being renamed or moved to different folder
101
+ return PerformanceEvent.timedExecAsync(
102
+ logger,
103
+ { eventName: "odspFileLink", requestName: "getSharingInformation" },
104
+ async (event) => {
105
+ let attempts = 0;
106
+ let additionalProps;
107
+ const fileLink = await getWithRetryForTokenRefresh(async (options) => {
108
+ attempts++;
109
+ const storageTokenFetcher = toInstrumentedOdspTokenFetcher(
110
+ logger,
111
+ odspUrlParts,
112
+ getToken,
113
+ true /* throwOnNullToken */,
114
+ );
115
+ const storageToken = await storageTokenFetcher(options, "GetFileLinkCore");
116
+ assert(
117
+ storageToken !== null,
118
+ 0x2bb /* "Instrumented token fetcher with throwOnNullToken = true should never return null" */,
119
+ );
85
120
 
86
- // ODSP link requires extra call to return link that is resistant to file being renamed or moved to different folder
87
- return PerformanceEvent.timedExecAsync(
88
- logger,
89
- { eventName: "odspFileLink", requestName: "getSharingLink" },
90
- async (event) => {
91
- let attempts = 0;
92
- let additionalProps;
93
- const fileLink = await getWithRetryForTokenRefresh(async (options) => {
94
- attempts++;
95
- const storageTokenFetcher = toInstrumentedOdspTokenFetcher(
96
- logger,
97
- odspUrlParts,
98
- getToken,
99
- true /* throwOnNullToken */,
100
- );
101
- const storageToken = await storageTokenFetcher(options, "GetFileLinkCore");
102
- assert(storageToken !== null,
103
- 0x2bb /* "Instrumented token fetcher with throwOnNullToken = true should never return null" */);
121
+ // IMPORTANT: In past we were using GetFileByUrl() API to get to the list item that was corresponding
122
+ // to the file. This was intentionally replaced with GetFileById() to solve the following issue:
123
+ // GetFileByUrl() uses webDavUrl to locate list item. This API does not work for Consumer scenarios
124
+ // where webDavUrl is constructed using legacy ODC format for backward compatibility reasons.
125
+ // GetFileByUrl() does not understand that format and thus fails. GetFileById() relies on file item
126
+ // unique guid (sharepointIds.listItemUniqueId) and it works uniformly across Consumer and Commercial.
127
+ const { url, headers } = getUrlAndHeadersWithAuth(
128
+ `${
129
+ odspUrlParts.siteUrl
130
+ }/_api/web/GetFileById(@a1)/ListItemAllFields/GetSharingInformation?@a1=guid${encodeURIComponent(
131
+ `'${fileItem.sharepointIds.listItemUniqueId}'`,
132
+ )}`,
133
+ storageToken,
134
+ true,
135
+ );
136
+ const requestInit = {
137
+ method: "POST",
138
+ headers: {
139
+ "Content-Type": "application/json;odata=verbose",
140
+ "Accept": "application/json;odata=verbose",
141
+ ...headers,
142
+ },
143
+ };
144
+ const response = await fetchHelper(url, requestInit);
145
+ additionalProps = response.propsToLog;
104
146
 
105
- const { url, headers } = getUrlAndHeadersWithAuth(
106
- `${odspUrlParts.siteUrl}/_api/web/GetFileByServerRelativeUrl(@a1)/Linkingurl?@a1=${
107
- encodeURIComponent(`'${new URL(fileItem.webDavUrl).pathname}'`)
108
- }`,
109
- storageToken,
110
- false,
111
- );
112
- const requestInit = {
113
- method: "POST",
114
- headers: {
115
- "Content-Type": "application/json;odata=verbose",
116
- "Accept": "application/json;odata=verbose",
117
- ...headers,
118
- },
119
- };
120
- const response = await fetchHelper(url, requestInit);
121
- additionalProps = response.propsToLog;
147
+ const sharingInfo = await response.content.json();
148
+ const directUrl = sharingInfo?.d?.directUrl;
149
+ if (typeof directUrl !== "string") {
150
+ // This will retry once in getWithRetryForTokenRefresh
151
+ throw new NonRetryableError(
152
+ "Malformed GetSharingInformation response",
153
+ DriverErrorType.incorrectServerResponse,
154
+ { driverVersion },
155
+ );
156
+ }
157
+ return directUrl;
158
+ });
159
+ event.end({ ...additionalProps, attempts });
160
+ return fileLink;
161
+ },
162
+ );
163
+ }
122
164
 
123
- const sharingInfo = await response.content.json();
124
- const linkingUrl = sharingInfo?.d?.LinkingUrl;
125
- if (typeof linkingUrl !== "string") {
126
- // This will retry once in getWithRetryForTokenRefresh
127
- throw new NonRetryableError(
128
- "Malformed GetSharingLink response",
129
- DriverErrorType.incorrectServerResponse,
130
- { driverVersion });
131
- }
132
- return linkingUrl;
133
- });
134
- event.end({ ...additionalProps, attempts });
135
- return fileLink;
136
- },
137
- );
165
+ /**
166
+ * Sharepoint Ids Interface
167
+ */
168
+ interface IGraphSharepointIds {
169
+ listId: string;
170
+ listItemId: string;
171
+ listItemUniqueId: string;
172
+ siteId: string;
173
+ siteUrl: string;
174
+ webId: string;
138
175
  }
139
176
 
140
177
  /**
141
- * This represents a lite version of file item containing only the webUrl and webDavUrl properties
178
+ * This represents a lite version of file item containing only select file properties
142
179
  */
143
180
  interface FileItemLite {
144
- webUrl: string;
145
- webDavUrl: string;
181
+ webUrl: string;
182
+ webDavUrl: string;
183
+ sharepointIds: IGraphSharepointIds;
146
184
  }
147
185
 
148
- const isFileItemLite = (maybeFileItemLite: any): maybeFileItemLite is FileItemLite => {
149
- if (typeof maybeFileItemLite.webUrl !== "string" || typeof maybeFileItemLite.webDavUrl !== "string") {
150
- return false;
151
- }
152
- return true;
153
- };
186
+ const isFileItemLite = (maybeFileItemLite: any): maybeFileItemLite is FileItemLite =>
187
+ typeof maybeFileItemLite.webUrl === "string" &&
188
+ typeof maybeFileItemLite.webDavUrl === "string" &&
189
+ typeof maybeFileItemLite.sharepointIds === "object";
154
190
 
155
191
  async function getFileItemLite(
156
- getToken: TokenFetcher<OdspResourceTokenFetchOptions>,
157
- odspUrlParts: IOdspUrlParts,
158
- logger: ITelemetryLogger,
159
- forceAccessTokenViaAuthorizationHeader: boolean,
192
+ getToken: TokenFetcher<OdspResourceTokenFetchOptions>,
193
+ odspUrlParts: IOdspUrlParts,
194
+ logger: ITelemetryLoggerExt,
195
+ forceAccessTokenViaAuthorizationHeader: boolean,
160
196
  ): Promise<FileItemLite> {
161
- return PerformanceEvent.timedExecAsync(
162
- logger,
163
- { eventName: "odspFileLink", requestName: "getFileItemLite" },
164
- async (event) => {
165
- let attempts = 0;
166
- let additionalProps;
167
- const fileItem = await getWithRetryForTokenRefresh(async (options) => {
168
- attempts++;
169
- const { siteUrl, driveId, itemId } = odspUrlParts;
170
- const storageTokenFetcher = toInstrumentedOdspTokenFetcher(
171
- logger,
172
- odspUrlParts,
173
- getToken,
174
- true /* throwOnNullToken */,
175
- );
176
- const storageToken = await storageTokenFetcher(options, "GetFileItemLite");
177
- assert(storageToken !== null,
178
- 0x2bc /* "Instrumented token fetcher with throwOnNullToken =true should never return null" */);
197
+ return PerformanceEvent.timedExecAsync(
198
+ logger,
199
+ { eventName: "odspFileLink", requestName: "getFileItemLite" },
200
+ async (event) => {
201
+ let attempts = 0;
202
+ let additionalProps;
203
+ const fileItem = await getWithRetryForTokenRefresh(async (options) => {
204
+ attempts++;
205
+ const { siteUrl, driveId, itemId } = odspUrlParts;
206
+ const storageTokenFetcher = toInstrumentedOdspTokenFetcher(
207
+ logger,
208
+ odspUrlParts,
209
+ getToken,
210
+ true /* throwOnNullToken */,
211
+ );
212
+ const storageToken = await storageTokenFetcher(options, "GetFileItemLite");
213
+ assert(
214
+ storageToken !== null,
215
+ 0x2bc /* "Instrumented token fetcher with throwOnNullToken =true should never return null" */,
216
+ );
179
217
 
180
- const { url, headers } = getUrlAndHeadersWithAuth(
181
- `${siteUrl}/_api/v2.0/drives/${driveId}/items/${itemId}?select=webUrl,webDavUrl`,
182
- storageToken,
183
- forceAccessTokenViaAuthorizationHeader,
184
- );
185
- const requestInit = { method: "GET", headers };
186
- const response = await fetchHelper(url, requestInit);
187
- additionalProps = response.propsToLog;
218
+ const { url, headers } = getUrlAndHeadersWithAuth(
219
+ `${siteUrl}/_api/v2.0/drives/${driveId}/items/${itemId}?select=webUrl,webDavUrl,sharepointIds`,
220
+ storageToken,
221
+ forceAccessTokenViaAuthorizationHeader,
222
+ );
223
+ const requestInit = { method: "GET", headers };
224
+ const response = await fetchHelper(url, requestInit);
225
+ additionalProps = response.propsToLog;
188
226
 
189
- const responseJson = await response.content.json();
190
- if (!isFileItemLite(responseJson)) {
191
- // This will retry once in getWithRetryForTokenRefresh
192
- throw new NonRetryableError(
193
- "Malformed getFileItemLite response",
194
- DriverErrorType.incorrectServerResponse,
195
- { driverVersion });
196
- }
197
- return responseJson;
198
- });
199
- event.end({ ...additionalProps, attempts });
200
- return fileItem;
201
- },
202
- );
227
+ const responseJson = await response.content.json();
228
+ if (!isFileItemLite(responseJson)) {
229
+ // This will retry once in getWithRetryForTokenRefresh
230
+ throw new NonRetryableError(
231
+ "Malformed getFileItemLite response",
232
+ DriverErrorType.incorrectServerResponse,
233
+ { driverVersion },
234
+ );
235
+ }
236
+ return responseJson;
237
+ });
238
+ event.end({ ...additionalProps, attempts });
239
+ return fileItem;
240
+ },
241
+ );
203
242
  }
@@ -8,14 +8,16 @@ import { ISnapshotOptions } from "@fluidframework/odsp-driver-definitions";
8
8
  * Generates query string from the given query parameters.
9
9
  * @param queryParams - Query parameters from which to create a query.
10
10
  */
11
- export function getQueryString(queryParams: { [key: string]: string | number; } | ISnapshotOptions): string {
12
- let queryString = "";
13
- for (const key of Object.keys(queryParams)) {
14
- if (queryParams[key] !== undefined) {
15
- const startChar = queryString === "" ? "?" : "&";
16
- queryString += `${startChar}${key}=${encodeURIComponent(queryParams[key])}`;
17
- }
18
- }
11
+ export function getQueryString(
12
+ queryParams: { [key: string]: string | number } | ISnapshotOptions,
13
+ ): string {
14
+ let queryString = "";
15
+ for (const key of Object.keys(queryParams)) {
16
+ if (queryParams[key] !== undefined) {
17
+ const startChar = queryString === "" ? "?" : "&";
18
+ queryString += `${startChar}${key}=${encodeURIComponent(queryParams[key])}`;
19
+ }
20
+ }
19
21
 
20
- return queryString;
22
+ return queryString;
21
23
  }
@@ -4,39 +4,40 @@
4
4
  */
5
5
 
6
6
  export function getUrlAndHeadersWithAuth(
7
- url: string,
8
- token: string | null,
9
- forceAccessTokenViaAuthorizationHeader: boolean,
10
- ): { url: string; headers: { [index: string]: string; }; } {
11
- if (!token || token.length === 0) {
12
- return { url, headers: {} };
13
- }
7
+ url: string,
8
+ // eslint-disable-next-line @rushstack/no-new-null
9
+ token: string | null,
10
+ forceAccessTokenViaAuthorizationHeader: boolean,
11
+ ): { url: string; headers: { [index: string]: string } } {
12
+ if (!token || token.length === 0) {
13
+ return { url, headers: {} };
14
+ }
14
15
 
15
- if (!forceAccessTokenViaAuthorizationHeader) {
16
- // Pass access token via query string: this will make request be treated as 'simple' request
17
- // which does not require OPTIONS call as part of CORS check.
18
- const urlWithAccessTokenInQueryString = new URL(url);
19
- // IMPORTANT: Do not apply encodeURIComponent to token, param value is automatically encoded
20
- // when set via URLSearchParams class
21
- urlWithAccessTokenInQueryString.searchParams.set("access_token", token);
22
- // ODSP APIs have a limitation that the query string cannot exceed 2048 characters.
23
- // If the query string exceeds 2048, we have to fall back to sending the access token as a header, which
24
- // has a negative performance implication as it adds a performance overhead.
25
- // NOTE: URL.search.length value includes '?' symbol and it is unclear whether backend logic which enforces
26
- // query length limit accounts for it. This logic errs on side of caution and includes that key in overall
27
- // query length.
28
- if (urlWithAccessTokenInQueryString.search.length <= 2048) {
29
- return {
30
- headers: {},
31
- url: urlWithAccessTokenInQueryString.href,
32
- };
33
- }
34
- }
16
+ if (!forceAccessTokenViaAuthorizationHeader) {
17
+ // Pass access token via query string: this will make request be treated as 'simple' request
18
+ // which does not require OPTIONS call as part of CORS check.
19
+ const urlWithAccessTokenInQueryString = new URL(url);
20
+ // IMPORTANT: Do not apply encodeURIComponent to token, param value is automatically encoded
21
+ // when set via URLSearchParams class
22
+ urlWithAccessTokenInQueryString.searchParams.set("access_token", token);
23
+ // ODSP APIs have a limitation that the query string cannot exceed 2048 characters.
24
+ // If the query string exceeds 2048, we have to fall back to sending the access token as a header, which
25
+ // has a negative performance implication as it adds a performance overhead.
26
+ // NOTE: URL.search.length value includes '?' symbol and it is unclear whether backend logic which enforces
27
+ // query length limit accounts for it. This logic errs on side of caution and includes that key in overall
28
+ // query length.
29
+ if (urlWithAccessTokenInQueryString.search.length <= 2048) {
30
+ return {
31
+ headers: {},
32
+ url: urlWithAccessTokenInQueryString.href,
33
+ };
34
+ }
35
+ }
35
36
 
36
- return {
37
- headers: {
38
- Authorization: `Bearer ${token}`,
39
- },
40
- url,
41
- };
37
+ return {
38
+ headers: {
39
+ Authorization: `Bearer ${token}`,
40
+ },
41
+ url,
42
+ };
42
43
  }
package/src/index.ts CHANGED
@@ -4,34 +4,58 @@
4
4
  */
5
5
 
6
6
  // Constants
7
- export * from "./constants";
7
+ export { OdcApiSiteOrigin, OdcFileSiteOrigin } from "./constants";
8
8
 
9
- export * from "./contractsPublic";
9
+ export {
10
+ ClpCompliantAppHeader,
11
+ IClpCompliantAppHeader,
12
+ ISharingLinkHeader,
13
+ OdspFluidDataStoreLocator,
14
+ SharingLinkHeader,
15
+ } from "./contractsPublic";
10
16
 
11
17
  // public utils
12
- export * from "./odspPublicUtils";
13
- export * from "./odspUrlHelper";
14
- export * from "./createOdspUrl";
15
- export * from "./checkUrl";
18
+ export { checkUrl } from "./checkUrl";
19
+ export { createOdspUrl } from "./createOdspUrl";
20
+ export { getHashedDocumentId, ISnapshotContents } from "./odspPublicUtils";
21
+ export { getApiRoot, getOdspUrlParts, isOdcOrigin, isOdcUrl, isSpoUrl } from "./odspUrlHelper";
16
22
 
17
23
  // prefetch latest snapshot before container load
18
- export * from "./prefetchLatestSnapshot";
24
+ export { prefetchLatestSnapshot } from "./prefetchLatestSnapshot";
19
25
 
20
26
  // Factory
21
- export * from "./odspDocumentServiceFactoryCore";
22
- export * from "./odspDocumentServiceFactory";
23
- export * from "./odspDocumentServiceFactoryWithCodeSplit";
27
+ export {
28
+ createLocalOdspDocumentServiceFactory,
29
+ OdspDocumentServiceFactory,
30
+ } from "./odspDocumentServiceFactory";
31
+ export { OdspDocumentServiceFactoryCore } from "./odspDocumentServiceFactoryCore";
32
+ export { OdspDocumentServiceFactoryWithCodeSplit } from "./odspDocumentServiceFactoryWithCodeSplit";
24
33
 
25
34
  // File creation
26
- export * from "./createOdspCreateContainerRequest";
35
+ export { createOdspCreateContainerRequest } from "./createOdspCreateContainerRequest";
27
36
 
28
37
  // URI Resolver functionality, URI management
29
- export * from "./odspDriverUrlResolverForShareLink";
30
- export * from "./odspDriverUrlResolver";
38
+ export { OdspDriverUrlResolver } from "./odspDriverUrlResolver";
39
+ export {
40
+ OdspDriverUrlResolverForShareLink,
41
+ ShareLinkFetcherProps,
42
+ } from "./odspDriverUrlResolverForShareLink";
31
43
 
32
44
  // It's used by URL resolve code, but also has some public functions
33
- export * from "./odspFluidFileLink";
34
-
35
- // Wire format related
36
- export * from "./compactSnapshotParser";
37
- export * from "./ReadBufferUtils";
45
+ export {
46
+ encodeOdspFluidDataStoreLocator,
47
+ getLocatorFromOdspUrl,
48
+ locatorQueryParamName,
49
+ storeLocatorInOdspUrl,
50
+ } from "./odspFluidFileLink";
51
+
52
+ export {
53
+ IOdspCache,
54
+ IPersistedFileCache,
55
+ INonPersistentCache,
56
+ IPrefetchSnapshotContents,
57
+ } from "./odspCache";
58
+ export { ICacheAndTracker, type EpochTracker, FetchType, FetchTypeInternal } from "./epochTracker";
59
+ export { IOdspResponse, isOdspResolvedUrl } from "./odspUtils";
60
+ export { SnapshotFormatSupportType } from "./fetchSnapshot";
61
+ export { ISnapshotContentsWithProps, parseCompactSnapshotResponse } from "./compactSnapshotParser";
@@ -0,0 +1,49 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
7
+ import { IDocumentDeltaStorageService, IStream } from "@fluidframework/driver-definitions";
8
+ import { Queue, emptyMessageStream } from "@fluidframework/driver-utils";
9
+ import { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
10
+ import { validateMessages } from "@fluidframework/driver-base";
11
+
12
+ /**
13
+ * Implementation of IDocumentDeltaStorageService that will return snapshot ops when fetching messages
14
+ */
15
+ export class LocalOdspDeltaStorageService implements IDocumentDeltaStorageService {
16
+ constructor(
17
+ private readonly logger: ITelemetryLoggerExt,
18
+ private snapshotOps: ISequencedDocumentMessage[],
19
+ ) {}
20
+
21
+ public fetchMessages(
22
+ from: number,
23
+ to: number | undefined,
24
+ _abortSignal?: AbortSignal,
25
+ _cachedOnly?: boolean,
26
+ _fetchReason?: string,
27
+ ): IStream<ISequencedDocumentMessage[]> {
28
+ if (this.snapshotOps.length === 0) {
29
+ return emptyMessageStream;
30
+ }
31
+
32
+ const queue = new Queue<ISequencedDocumentMessage[]>();
33
+ const messages = this.snapshotOps.filter(
34
+ (op) => op.sequenceNumber >= from && (to === undefined || op.sequenceNumber < to),
35
+ );
36
+ validateMessages("cached", messages, from, this.logger);
37
+
38
+ if (messages.length === 0 || messages[0].sequenceNumber !== from) {
39
+ this.snapshotOps = [];
40
+ }
41
+ this.snapshotOps = this.snapshotOps.filter(
42
+ (op) => to !== undefined && op.sequenceNumber >= to,
43
+ );
44
+
45
+ queue.pushValue(messages);
46
+ queue.pushDone();
47
+ return queue;
48
+ }
49
+ }