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

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 (661) 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-lint.json +4 -0
  6. package/api-extractor.json +2 -2
  7. package/api-report/odsp-driver.api.md +310 -0
  8. package/dist/{ReadBufferUtils.js → ReadBufferUtils.cjs} +16 -9
  9. package/dist/ReadBufferUtils.cjs.map +1 -0
  10. package/dist/ReadBufferUtils.d.ts.map +1 -1
  11. package/dist/{WriteBufferUtils.js → WriteBufferUtils.cjs} +73 -69
  12. package/dist/WriteBufferUtils.cjs.map +1 -0
  13. package/dist/WriteBufferUtils.d.ts +3 -5
  14. package/dist/WriteBufferUtils.d.ts.map +1 -1
  15. package/dist/{checkUrl.js → checkUrl.cjs} +7 -6
  16. package/dist/checkUrl.cjs.map +1 -0
  17. package/dist/checkUrl.d.ts +1 -0
  18. package/dist/checkUrl.d.ts.map +1 -1
  19. package/dist/compactSnapshotParser.cjs +207 -0
  20. package/dist/compactSnapshotParser.cjs.map +1 -0
  21. package/dist/compactSnapshotParser.d.ts +12 -3
  22. package/dist/compactSnapshotParser.d.ts.map +1 -1
  23. package/dist/{compactSnapshotWriter.js → compactSnapshotWriter.cjs} +43 -33
  24. package/dist/compactSnapshotWriter.cjs.map +1 -0
  25. package/dist/compactSnapshotWriter.d.ts +2 -3
  26. package/dist/compactSnapshotWriter.d.ts.map +1 -1
  27. package/dist/{constants.js → constants.cjs} +7 -1
  28. package/dist/constants.cjs.map +1 -0
  29. package/dist/constants.d.ts +6 -0
  30. package/dist/constants.d.ts.map +1 -1
  31. package/dist/{contracts.js → contracts.cjs} +1 -1
  32. package/dist/contracts.cjs.map +1 -0
  33. package/dist/contracts.d.ts +16 -53
  34. package/dist/contracts.d.ts.map +1 -1
  35. package/dist/{contractsPublic.js → contractsPublic.cjs} +9 -3
  36. package/dist/contractsPublic.cjs.map +1 -0
  37. package/dist/contractsPublic.d.ts +15 -0
  38. package/dist/contractsPublic.d.ts.map +1 -1
  39. package/dist/createFile.cjs +177 -0
  40. package/dist/createFile.cjs.map +1 -0
  41. package/dist/createFile.d.ts +6 -10
  42. package/dist/createFile.d.ts.map +1 -1
  43. package/dist/createNewContainerOnExistingFile.cjs +60 -0
  44. package/dist/createNewContainerOnExistingFile.cjs.map +1 -0
  45. package/dist/createNewContainerOnExistingFile.d.ts +22 -0
  46. package/dist/createNewContainerOnExistingFile.d.ts.map +1 -0
  47. package/dist/createNewModule.cjs +12 -0
  48. package/dist/createNewModule.cjs.map +1 -0
  49. package/dist/createNewModule.d.ts +7 -0
  50. package/dist/createNewModule.d.ts.map +1 -0
  51. package/dist/createNewUtils.cjs +203 -0
  52. package/dist/createNewUtils.cjs.map +1 -0
  53. package/dist/createNewUtils.d.ts +16 -0
  54. package/dist/createNewUtils.d.ts.map +1 -1
  55. package/dist/{createOdspCreateContainerRequest.js → createOdspCreateContainerRequest.cjs} +8 -4
  56. package/dist/createOdspCreateContainerRequest.cjs.map +1 -0
  57. package/dist/createOdspCreateContainerRequest.d.ts +5 -3
  58. package/dist/createOdspCreateContainerRequest.d.ts.map +1 -1
  59. package/dist/{createOdspUrl.js → createOdspUrl.cjs} +2 -1
  60. package/dist/createOdspUrl.cjs.map +1 -0
  61. package/dist/createOdspUrl.d.ts +1 -0
  62. package/dist/createOdspUrl.d.ts.map +1 -1
  63. package/dist/{epochTracker.js → epochTracker.cjs} +102 -48
  64. package/dist/epochTracker.cjs.map +1 -0
  65. package/dist/epochTracker.d.ts +32 -8
  66. package/dist/epochTracker.d.ts.map +1 -1
  67. package/dist/{fetch.js → fetch.cjs} +1 -1
  68. package/dist/fetch.cjs.map +1 -0
  69. package/dist/fetch.d.ts +1 -1
  70. package/dist/fetch.d.ts.map +1 -1
  71. package/dist/{fetchSnapshot.js → fetchSnapshot.cjs} +192 -176
  72. package/dist/fetchSnapshot.cjs.map +1 -0
  73. package/dist/fetchSnapshot.d.ts +10 -5
  74. package/dist/fetchSnapshot.d.ts.map +1 -1
  75. package/dist/{getFileLink.js → getFileLink.cjs} +52 -41
  76. package/dist/getFileLink.cjs.map +1 -0
  77. package/dist/getFileLink.d.ts +4 -7
  78. package/dist/getFileLink.d.ts.map +1 -1
  79. package/dist/{getQueryString.js → getQueryString.cjs} +1 -1
  80. package/dist/getQueryString.cjs.map +1 -0
  81. package/dist/getQueryString.d.ts.map +1 -1
  82. package/dist/{getUrlAndHeadersWithAuth.js → getUrlAndHeadersWithAuth.cjs} +4 -2
  83. package/dist/getUrlAndHeadersWithAuth.cjs.map +1 -0
  84. package/dist/getUrlAndHeadersWithAuth.d.ts.map +1 -1
  85. package/dist/index.cjs +59 -0
  86. package/dist/index.cjs.map +1 -0
  87. package/dist/index.d.ts +19 -16
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/localOdspDriver/localOdspDeltaStorageService.cjs +35 -0
  90. package/dist/localOdspDriver/localOdspDeltaStorageService.cjs.map +1 -0
  91. package/dist/localOdspDriver/localOdspDeltaStorageService.d.ts +17 -0
  92. package/dist/localOdspDriver/localOdspDeltaStorageService.d.ts.map +1 -0
  93. package/dist/localOdspDriver/{localOdspDocumentService.js → localOdspDocumentService.cjs} +7 -5
  94. package/dist/localOdspDriver/localOdspDocumentService.cjs.map +1 -0
  95. package/dist/localOdspDriver/localOdspDocumentService.d.ts +3 -2
  96. package/dist/localOdspDriver/localOdspDocumentService.d.ts.map +1 -1
  97. package/dist/localOdspDriver/{localOdspDocumentServiceFactory.js → localOdspDocumentServiceFactory.cjs} +9 -10
  98. package/dist/localOdspDriver/localOdspDocumentServiceFactory.cjs.map +1 -0
  99. package/dist/localOdspDriver/localOdspDocumentServiceFactory.d.ts +2 -3
  100. package/dist/localOdspDriver/localOdspDocumentServiceFactory.d.ts.map +1 -1
  101. package/dist/localOdspDriver/{localOdspDocumentStorageManager.js → localOdspDocumentStorageManager.cjs} +13 -11
  102. package/dist/localOdspDriver/localOdspDocumentStorageManager.cjs.map +1 -0
  103. package/dist/localOdspDriver/localOdspDocumentStorageManager.d.ts +2 -2
  104. package/dist/localOdspDriver/localOdspDocumentStorageManager.d.ts.map +1 -1
  105. package/dist/odsp-driver-alpha.d.ts +497 -0
  106. package/dist/odsp-driver-beta.d.ts +159 -0
  107. package/dist/odsp-driver-public.d.ts +159 -0
  108. package/dist/odsp-driver-untrimmed.d.ts +566 -0
  109. package/dist/{odspCache.js → odspCache.cjs} +9 -10
  110. package/dist/odspCache.cjs.map +1 -0
  111. package/dist/odspCache.d.ts +19 -4
  112. package/dist/odspCache.d.ts.map +1 -1
  113. package/dist/odspDelayLoadedDeltaStream.cjs +291 -0
  114. package/dist/odspDelayLoadedDeltaStream.cjs.map +1 -0
  115. package/dist/odspDelayLoadedDeltaStream.d.ts +75 -0
  116. package/dist/odspDelayLoadedDeltaStream.d.ts.map +1 -0
  117. package/dist/{odspDeltaStorageService.js → odspDeltaStorageService.cjs} +70 -71
  118. package/dist/odspDeltaStorageService.cjs.map +1 -0
  119. package/dist/odspDeltaStorageService.d.ts +8 -6
  120. package/dist/odspDeltaStorageService.d.ts.map +1 -1
  121. package/dist/{odspDocumentDeltaConnection.js → odspDocumentDeltaConnection.cjs} +224 -113
  122. package/dist/odspDocumentDeltaConnection.cjs.map +1 -0
  123. package/dist/odspDocumentDeltaConnection.d.ts +32 -12
  124. package/dist/odspDocumentDeltaConnection.d.ts.map +1 -1
  125. package/dist/odspDocumentService.cjs +225 -0
  126. package/dist/odspDocumentService.cjs.map +1 -0
  127. package/dist/odspDocumentService.d.ts +11 -25
  128. package/dist/odspDocumentService.d.ts.map +1 -1
  129. package/dist/{odspDocumentServiceFactory.js → odspDocumentServiceFactory.cjs} +8 -5
  130. package/dist/odspDocumentServiceFactory.cjs.map +1 -0
  131. package/dist/odspDocumentServiceFactory.d.ts +4 -0
  132. package/dist/odspDocumentServiceFactory.d.ts.map +1 -1
  133. package/dist/odspDocumentServiceFactoryCore.cjs +196 -0
  134. package/dist/odspDocumentServiceFactoryCore.cjs.map +1 -0
  135. package/dist/odspDocumentServiceFactoryCore.d.ts +16 -11
  136. package/dist/odspDocumentServiceFactoryCore.d.ts.map +1 -1
  137. package/dist/odspDocumentServiceFactoryWithCodeSplit.cjs +20 -0
  138. package/dist/odspDocumentServiceFactoryWithCodeSplit.cjs.map +1 -0
  139. package/dist/odspDocumentServiceFactoryWithCodeSplit.d.ts +5 -0
  140. package/dist/odspDocumentServiceFactoryWithCodeSplit.d.ts.map +1 -1
  141. package/dist/odspDocumentStorageManager.cjs +490 -0
  142. package/dist/odspDocumentStorageManager.cjs.map +1 -0
  143. package/dist/odspDocumentStorageManager.d.ts +11 -5
  144. package/dist/odspDocumentStorageManager.d.ts.map +1 -1
  145. package/dist/{odspDocumentStorageServiceBase.js → odspDocumentStorageServiceBase.cjs} +32 -34
  146. package/dist/odspDocumentStorageServiceBase.cjs.map +1 -0
  147. package/dist/odspDocumentStorageServiceBase.d.ts +7 -9
  148. package/dist/odspDocumentStorageServiceBase.d.ts.map +1 -1
  149. package/dist/{odspDriverUrlResolver.js → odspDriverUrlResolver.cjs} +50 -36
  150. package/dist/odspDriverUrlResolver.cjs.map +1 -0
  151. package/dist/odspDriverUrlResolver.d.ts +12 -0
  152. package/dist/odspDriverUrlResolver.d.ts.map +1 -1
  153. package/dist/{odspDriverUrlResolverForShareLink.js → odspDriverUrlResolverForShareLink.cjs} +37 -26
  154. package/dist/odspDriverUrlResolverForShareLink.cjs.map +1 -0
  155. package/dist/odspDriverUrlResolverForShareLink.d.ts +5 -3
  156. package/dist/odspDriverUrlResolverForShareLink.d.ts.map +1 -1
  157. package/dist/{odspError.js → odspError.cjs} +7 -3
  158. package/dist/odspError.cjs.map +1 -0
  159. package/dist/odspError.d.ts.map +1 -1
  160. package/dist/{odspFluidFileLink.js → odspFluidFileLink.cjs} +25 -18
  161. package/dist/odspFluidFileLink.cjs.map +1 -0
  162. package/dist/odspFluidFileLink.d.ts +10 -1
  163. package/dist/odspFluidFileLink.d.ts.map +1 -1
  164. package/dist/odspLocationRedirection.cjs +24 -0
  165. package/dist/odspLocationRedirection.cjs.map +1 -0
  166. package/dist/odspLocationRedirection.d.ts +14 -0
  167. package/dist/odspLocationRedirection.d.ts.map +1 -0
  168. package/dist/{odspPublicUtils.js → odspPublicUtils.cjs} +7 -4
  169. package/dist/odspPublicUtils.cjs.map +1 -0
  170. package/dist/odspPublicUtils.d.ts +6 -0
  171. package/dist/odspPublicUtils.d.ts.map +1 -1
  172. package/dist/{odspSnapshotParser.js → odspSnapshotParser.cjs} +11 -12
  173. package/dist/odspSnapshotParser.cjs.map +1 -0
  174. package/dist/odspSnapshotParser.d.ts.map +1 -1
  175. package/dist/{odspSummaryUploadManager.js → odspSummaryUploadManager.cjs} +47 -34
  176. package/dist/odspSummaryUploadManager.cjs.map +1 -0
  177. package/dist/odspSummaryUploadManager.d.ts +7 -4
  178. package/dist/odspSummaryUploadManager.d.ts.map +1 -1
  179. package/dist/{odspUrlHelper.js → odspUrlHelper.cjs} +9 -3
  180. package/dist/odspUrlHelper.cjs.map +1 -0
  181. package/dist/odspUrlHelper.d.ts +5 -0
  182. package/dist/odspUrlHelper.d.ts.map +1 -1
  183. package/dist/{odspUtils.js → odspUtils.cjs} +118 -30
  184. package/dist/odspUtils.cjs.map +1 -0
  185. package/dist/odspUtils.d.ts +35 -6
  186. package/dist/odspUtils.d.ts.map +1 -1
  187. package/dist/{opsCaching.js → opsCaching.cjs} +25 -9
  188. package/dist/opsCaching.cjs.map +1 -0
  189. package/dist/opsCaching.d.ts +3 -3
  190. package/dist/opsCaching.d.ts.map +1 -1
  191. package/dist/{packageVersion.js → packageVersion.cjs} +2 -2
  192. package/dist/packageVersion.cjs.map +1 -0
  193. package/dist/packageVersion.d.ts +1 -1
  194. package/dist/packageVersion.d.ts.map +1 -1
  195. package/dist/prefetchLatestSnapshot.cjs +100 -0
  196. package/dist/prefetchLatestSnapshot.cjs.map +1 -0
  197. package/dist/prefetchLatestSnapshot.d.ts +12 -7
  198. package/dist/prefetchLatestSnapshot.d.ts.map +1 -1
  199. package/dist/{retryErrorsStorageAdapter.js → retryErrorsStorageAdapter.cjs} +13 -6
  200. package/dist/retryErrorsStorageAdapter.cjs.map +1 -0
  201. package/dist/retryErrorsStorageAdapter.d.ts +5 -4
  202. package/dist/retryErrorsStorageAdapter.d.ts.map +1 -1
  203. package/dist/{retryUtils.js → retryUtils.cjs} +30 -14
  204. package/dist/retryUtils.cjs.map +1 -0
  205. package/dist/retryUtils.d.ts +2 -2
  206. package/dist/retryUtils.d.ts.map +1 -1
  207. package/dist/socketModule.cjs +10 -0
  208. package/dist/socketModule.cjs.map +1 -0
  209. package/dist/socketModule.d.ts +7 -0
  210. package/dist/socketModule.d.ts.map +1 -0
  211. package/dist/tsdoc-metadata.json +11 -0
  212. package/dist/{vroom.js → vroom.cjs} +24 -9
  213. package/dist/vroom.cjs.map +1 -0
  214. package/dist/vroom.d.ts +4 -4
  215. package/dist/vroom.d.ts.map +1 -1
  216. package/dist/{zipItDataRepresentationUtils.js → zipItDataRepresentationUtils.cjs} +227 -118
  217. package/dist/zipItDataRepresentationUtils.cjs.map +1 -0
  218. package/dist/zipItDataRepresentationUtils.d.ts +47 -20
  219. package/dist/zipItDataRepresentationUtils.d.ts.map +1 -1
  220. package/lib/ReadBufferUtils.d.mts.map +1 -0
  221. package/lib/{ReadBufferUtils.js → ReadBufferUtils.mjs} +14 -7
  222. package/lib/ReadBufferUtils.mjs.map +1 -0
  223. package/lib/{WriteBufferUtils.d.ts → WriteBufferUtils.d.mts} +3 -5
  224. package/lib/WriteBufferUtils.d.mts.map +1 -0
  225. package/lib/{WriteBufferUtils.js → WriteBufferUtils.mjs} +68 -64
  226. package/lib/WriteBufferUtils.mjs.map +1 -0
  227. package/lib/{checkUrl.d.ts → checkUrl.d.mts} +1 -0
  228. package/lib/checkUrl.d.mts.map +1 -0
  229. package/lib/{checkUrl.js → checkUrl.mjs} +7 -6
  230. package/lib/checkUrl.mjs.map +1 -0
  231. package/lib/compactSnapshotParser.d.mts +24 -0
  232. package/lib/compactSnapshotParser.d.mts.map +1 -0
  233. package/lib/compactSnapshotParser.mjs +203 -0
  234. package/lib/compactSnapshotParser.mjs.map +1 -0
  235. package/lib/{compactSnapshotWriter.d.ts → compactSnapshotWriter.d.mts} +3 -4
  236. package/lib/compactSnapshotWriter.d.mts.map +1 -0
  237. package/lib/{compactSnapshotWriter.js → compactSnapshotWriter.mjs} +41 -31
  238. package/lib/compactSnapshotWriter.mjs.map +1 -0
  239. package/lib/{constants.d.ts → constants.d.mts} +6 -0
  240. package/lib/constants.d.mts.map +1 -0
  241. package/lib/{constants.js → constants.mjs} +7 -1
  242. package/lib/constants.mjs.map +1 -0
  243. package/lib/{contracts.d.ts → contracts.d.mts} +17 -54
  244. package/lib/contracts.d.mts.map +1 -0
  245. package/lib/{contracts.js → contracts.mjs} +1 -1
  246. package/lib/contracts.mjs.map +1 -0
  247. package/lib/{contractsPublic.d.ts → contractsPublic.d.mts} +15 -0
  248. package/lib/contractsPublic.d.mts.map +1 -0
  249. package/lib/{contractsPublic.js → contractsPublic.mjs} +7 -1
  250. package/lib/contractsPublic.mjs.map +1 -0
  251. package/lib/createFile.d.mts +18 -0
  252. package/lib/createFile.d.mts.map +1 -0
  253. package/lib/createFile.mjs +171 -0
  254. package/lib/createFile.mjs.map +1 -0
  255. package/lib/createNewContainerOnExistingFile.d.mts +22 -0
  256. package/lib/createNewContainerOnExistingFile.d.mts.map +1 -0
  257. package/lib/createNewContainerOnExistingFile.mjs +56 -0
  258. package/lib/createNewContainerOnExistingFile.mjs.map +1 -0
  259. package/lib/createNewModule.d.mts +7 -0
  260. package/lib/createNewModule.d.mts.map +1 -0
  261. package/lib/createNewModule.mjs +7 -0
  262. package/lib/createNewModule.mjs.map +1 -0
  263. package/lib/createNewUtils.d.mts +27 -0
  264. package/lib/createNewUtils.d.mts.map +1 -0
  265. package/lib/createNewUtils.mjs +197 -0
  266. package/lib/createNewUtils.mjs.map +1 -0
  267. package/lib/{createOdspCreateContainerRequest.d.ts → createOdspCreateContainerRequest.d.mts} +5 -7
  268. package/lib/createOdspCreateContainerRequest.d.mts.map +1 -0
  269. package/lib/{createOdspCreateContainerRequest.js → createOdspCreateContainerRequest.mjs} +8 -4
  270. package/lib/createOdspCreateContainerRequest.mjs.map +1 -0
  271. package/lib/{createOdspUrl.d.ts → createOdspUrl.d.mts} +2 -1
  272. package/lib/{createOdspUrl.d.ts.map → createOdspUrl.d.mts.map} +1 -1
  273. package/lib/{createOdspUrl.js → createOdspUrl.mjs} +2 -1
  274. package/lib/createOdspUrl.mjs.map +1 -0
  275. package/lib/{epochTracker.d.ts → epochTracker.d.mts} +34 -10
  276. package/lib/epochTracker.d.mts.map +1 -0
  277. package/lib/{epochTracker.js → epochTracker.mjs} +97 -43
  278. package/lib/epochTracker.mjs.map +1 -0
  279. package/lib/{fetch.d.ts → fetch.d.mts} +1 -1
  280. package/lib/{fetch.d.ts.map → fetch.d.mts.map} +1 -1
  281. package/lib/{fetch.js → fetch.mjs} +1 -1
  282. package/lib/fetch.mjs.map +1 -0
  283. package/lib/{fetchSnapshot.d.ts → fetchSnapshot.d.mts} +14 -9
  284. package/lib/fetchSnapshot.d.mts.map +1 -0
  285. package/lib/{fetchSnapshot.js → fetchSnapshot.mjs} +185 -167
  286. package/lib/fetchSnapshot.mjs.map +1 -0
  287. package/lib/{getFileLink.d.ts → getFileLink.d.mts} +4 -7
  288. package/lib/getFileLink.d.mts.map +1 -0
  289. package/lib/{getFileLink.js → getFileLink.mjs} +49 -38
  290. package/lib/getFileLink.mjs.map +1 -0
  291. package/lib/{getQueryString.d.ts → getQueryString.d.mts} +0 -4
  292. package/lib/getQueryString.d.mts.map +1 -0
  293. package/lib/{getQueryString.js → getQueryString.mjs} +1 -1
  294. package/lib/getQueryString.mjs.map +1 -0
  295. package/lib/{getUrlAndHeadersWithAuth.d.ts.map → getUrlAndHeadersWithAuth.d.mts.map} +1 -1
  296. package/lib/{getUrlAndHeadersWithAuth.js → getUrlAndHeadersWithAuth.mjs} +4 -2
  297. package/lib/getUrlAndHeadersWithAuth.mjs.map +1 -0
  298. package/lib/index.d.mts +24 -0
  299. package/lib/index.d.mts.map +1 -0
  300. package/lib/index.mjs +22 -0
  301. package/lib/index.mjs.map +1 -0
  302. package/lib/localOdspDriver/localOdspDeltaStorageService.d.mts +17 -0
  303. package/lib/localOdspDriver/localOdspDeltaStorageService.d.mts.map +1 -0
  304. package/lib/localOdspDriver/localOdspDeltaStorageService.mjs +31 -0
  305. package/lib/localOdspDriver/localOdspDeltaStorageService.mjs.map +1 -0
  306. package/lib/localOdspDriver/{localOdspDocumentService.d.ts → localOdspDocumentService.d.mts} +3 -2
  307. package/lib/localOdspDriver/localOdspDocumentService.d.mts.map +1 -0
  308. package/lib/localOdspDriver/{localOdspDocumentService.js → localOdspDocumentService.mjs} +8 -6
  309. package/lib/localOdspDriver/localOdspDocumentService.mjs.map +1 -0
  310. package/lib/localOdspDriver/{localOdspDocumentServiceFactory.d.ts → localOdspDocumentServiceFactory.d.mts} +4 -5
  311. package/lib/localOdspDriver/localOdspDocumentServiceFactory.d.mts.map +1 -0
  312. package/lib/localOdspDriver/{localOdspDocumentServiceFactory.js → localOdspDocumentServiceFactory.mjs} +9 -10
  313. package/lib/localOdspDriver/localOdspDocumentServiceFactory.mjs.map +1 -0
  314. package/lib/localOdspDriver/{localOdspDocumentStorageManager.d.ts → localOdspDocumentStorageManager.d.mts} +3 -3
  315. package/lib/localOdspDriver/localOdspDocumentStorageManager.d.mts.map +1 -0
  316. package/lib/localOdspDriver/{localOdspDocumentStorageManager.js → localOdspDocumentStorageManager.mjs} +11 -9
  317. package/lib/localOdspDriver/localOdspDocumentStorageManager.mjs.map +1 -0
  318. package/lib/odsp-driver-alpha.d.mts +497 -0
  319. package/lib/odsp-driver-beta.d.mts +159 -0
  320. package/lib/odsp-driver-public.d.mts +159 -0
  321. package/lib/odsp-driver-untrimmed.d.mts +566 -0
  322. package/lib/{odspCache.d.ts → odspCache.d.mts} +19 -8
  323. package/lib/odspCache.d.mts.map +1 -0
  324. package/lib/{odspCache.js → odspCache.mjs} +6 -11
  325. package/lib/odspCache.mjs.map +1 -0
  326. package/lib/odspDelayLoadedDeltaStream.d.mts +75 -0
  327. package/lib/odspDelayLoadedDeltaStream.d.mts.map +1 -0
  328. package/lib/odspDelayLoadedDeltaStream.mjs +287 -0
  329. package/lib/odspDelayLoadedDeltaStream.mjs.map +1 -0
  330. package/lib/{odspDeltaStorageService.d.ts → odspDeltaStorageService.d.mts} +9 -7
  331. package/lib/odspDeltaStorageService.d.mts.map +1 -0
  332. package/lib/{odspDeltaStorageService.js → odspDeltaStorageService.mjs} +70 -68
  333. package/lib/odspDeltaStorageService.mjs.map +1 -0
  334. package/lib/{odspDocumentDeltaConnection.d.ts → odspDocumentDeltaConnection.d.mts} +33 -13
  335. package/lib/odspDocumentDeltaConnection.d.mts.map +1 -0
  336. package/lib/{odspDocumentDeltaConnection.js → odspDocumentDeltaConnection.mjs} +214 -103
  337. package/lib/odspDocumentDeltaConnection.mjs.map +1 -0
  338. package/lib/{odspDocumentService.d.ts → odspDocumentService.d.mts} +14 -28
  339. package/lib/odspDocumentService.d.mts.map +1 -0
  340. package/lib/odspDocumentService.mjs +221 -0
  341. package/lib/odspDocumentService.mjs.map +1 -0
  342. package/lib/{odspDocumentServiceFactory.d.ts → odspDocumentServiceFactory.d.mts} +5 -1
  343. package/lib/odspDocumentServiceFactory.d.mts.map +1 -0
  344. package/lib/{odspDocumentServiceFactory.js → odspDocumentServiceFactory.mjs} +8 -6
  345. package/lib/odspDocumentServiceFactory.mjs.map +1 -0
  346. package/lib/{odspDocumentServiceFactoryCore.d.ts → odspDocumentServiceFactoryCore.d.mts} +17 -12
  347. package/lib/odspDocumentServiceFactoryCore.d.mts.map +1 -0
  348. package/lib/odspDocumentServiceFactoryCore.mjs +192 -0
  349. package/lib/odspDocumentServiceFactoryCore.mjs.map +1 -0
  350. package/lib/{odspDocumentServiceFactoryWithCodeSplit.d.ts → odspDocumentServiceFactoryWithCodeSplit.d.mts} +6 -1
  351. package/lib/odspDocumentServiceFactoryWithCodeSplit.d.mts.map +1 -0
  352. package/lib/{odspDocumentServiceFactoryWithCodeSplit.js → odspDocumentServiceFactoryWithCodeSplit.mjs} +8 -3
  353. package/lib/odspDocumentServiceFactoryWithCodeSplit.mjs.map +1 -0
  354. package/lib/{odspDocumentStorageManager.d.ts → odspDocumentStorageManager.d.mts} +17 -11
  355. package/lib/odspDocumentStorageManager.d.mts.map +1 -0
  356. package/lib/odspDocumentStorageManager.mjs +486 -0
  357. package/lib/odspDocumentStorageManager.mjs.map +1 -0
  358. package/lib/{odspDocumentStorageServiceBase.d.ts → odspDocumentStorageServiceBase.d.mts} +8 -10
  359. package/lib/odspDocumentStorageServiceBase.d.mts.map +1 -0
  360. package/lib/{odspDocumentStorageServiceBase.js → odspDocumentStorageServiceBase.mjs} +31 -33
  361. package/lib/odspDocumentStorageServiceBase.mjs.map +1 -0
  362. package/lib/{odspDriverUrlResolver.d.ts → odspDriverUrlResolver.d.mts} +12 -0
  363. package/lib/odspDriverUrlResolver.d.mts.map +1 -0
  364. package/lib/{odspDriverUrlResolver.js → odspDriverUrlResolver.mjs} +50 -40
  365. package/lib/odspDriverUrlResolver.mjs.map +1 -0
  366. package/lib/{odspDriverUrlResolverForShareLink.d.ts → odspDriverUrlResolverForShareLink.d.mts} +6 -4
  367. package/lib/odspDriverUrlResolverForShareLink.d.mts.map +1 -0
  368. package/lib/{odspDriverUrlResolverForShareLink.js → odspDriverUrlResolverForShareLink.mjs} +36 -29
  369. package/lib/odspDriverUrlResolverForShareLink.mjs.map +1 -0
  370. package/lib/{odspError.d.ts → odspError.d.mts} +1 -1
  371. package/lib/odspError.d.mts.map +1 -0
  372. package/lib/{odspError.js → odspError.mjs} +7 -3
  373. package/lib/odspError.mjs.map +1 -0
  374. package/lib/{odspFluidFileLink.d.ts → odspFluidFileLink.d.mts} +11 -2
  375. package/lib/odspFluidFileLink.d.mts.map +1 -0
  376. package/lib/{odspFluidFileLink.js → odspFluidFileLink.mjs} +23 -16
  377. package/lib/odspFluidFileLink.mjs.map +1 -0
  378. package/lib/odspLocationRedirection.d.mts +14 -0
  379. package/lib/odspLocationRedirection.d.mts.map +1 -0
  380. package/lib/odspLocationRedirection.mjs +20 -0
  381. package/lib/odspLocationRedirection.mjs.map +1 -0
  382. package/lib/{odspPublicUtils.d.ts → odspPublicUtils.d.mts} +6 -0
  383. package/lib/odspPublicUtils.d.mts.map +1 -0
  384. package/lib/{odspPublicUtils.js → odspPublicUtils.mjs} +5 -2
  385. package/lib/odspPublicUtils.mjs.map +1 -0
  386. package/lib/{odspSnapshotParser.d.ts → odspSnapshotParser.d.mts} +2 -2
  387. package/lib/odspSnapshotParser.d.mts.map +1 -0
  388. package/lib/{odspSnapshotParser.js → odspSnapshotParser.mjs} +10 -11
  389. package/lib/odspSnapshotParser.mjs.map +1 -0
  390. package/lib/{odspSummaryUploadManager.d.ts → odspSummaryUploadManager.d.mts} +8 -5
  391. package/lib/odspSummaryUploadManager.d.mts.map +1 -0
  392. package/lib/{odspSummaryUploadManager.js → odspSummaryUploadManager.mjs} +41 -32
  393. package/lib/odspSummaryUploadManager.mjs.map +1 -0
  394. package/lib/{odspUrlHelper.d.ts → odspUrlHelper.d.mts} +5 -0
  395. package/lib/odspUrlHelper.d.mts.map +1 -0
  396. package/lib/{odspUrlHelper.js → odspUrlHelper.mjs} +9 -3
  397. package/lib/odspUrlHelper.mjs.map +1 -0
  398. package/lib/{odspUtils.d.ts → odspUtils.d.mts} +36 -7
  399. package/lib/odspUtils.d.mts.map +1 -0
  400. package/lib/{odspUtils.js → odspUtils.mjs} +109 -27
  401. package/lib/odspUtils.mjs.map +1 -0
  402. package/lib/{opsCaching.d.ts → opsCaching.d.mts} +3 -3
  403. package/lib/opsCaching.d.mts.map +1 -0
  404. package/lib/{opsCaching.js → opsCaching.mjs} +23 -7
  405. package/lib/opsCaching.mjs.map +1 -0
  406. package/lib/{packageVersion.d.ts → packageVersion.d.mts} +1 -1
  407. package/lib/{packageVersion.d.ts.map → packageVersion.d.mts.map} +1 -1
  408. package/lib/{packageVersion.js → packageVersion.mjs} +2 -2
  409. package/lib/packageVersion.mjs.map +1 -0
  410. package/lib/{prefetchLatestSnapshot.d.ts → prefetchLatestSnapshot.d.mts} +13 -8
  411. package/lib/prefetchLatestSnapshot.d.mts.map +1 -0
  412. package/lib/prefetchLatestSnapshot.mjs +96 -0
  413. package/lib/prefetchLatestSnapshot.mjs.map +1 -0
  414. package/lib/{retryErrorsStorageAdapter.d.ts → retryErrorsStorageAdapter.d.mts} +5 -4
  415. package/lib/retryErrorsStorageAdapter.d.mts.map +1 -0
  416. package/lib/{retryErrorsStorageAdapter.js → retryErrorsStorageAdapter.mjs} +13 -6
  417. package/lib/retryErrorsStorageAdapter.mjs.map +1 -0
  418. package/lib/{retryUtils.d.ts → retryUtils.d.mts} +2 -2
  419. package/lib/retryUtils.d.mts.map +1 -0
  420. package/lib/{retryUtils.js → retryUtils.mjs} +27 -11
  421. package/lib/retryUtils.mjs.map +1 -0
  422. package/lib/socketModule.d.mts +7 -0
  423. package/lib/socketModule.d.mts.map +1 -0
  424. package/lib/socketModule.mjs +7 -0
  425. package/lib/socketModule.mjs.map +1 -0
  426. package/lib/{vroom.d.ts → vroom.d.mts} +6 -6
  427. package/lib/vroom.d.mts.map +1 -0
  428. package/lib/{vroom.js → vroom.mjs} +24 -9
  429. package/lib/vroom.mjs.map +1 -0
  430. package/lib/{zipItDataRepresentationUtils.d.ts → zipItDataRepresentationUtils.d.mts} +48 -21
  431. package/lib/zipItDataRepresentationUtils.d.mts.map +1 -0
  432. package/lib/{zipItDataRepresentationUtils.js → zipItDataRepresentationUtils.mjs} +213 -111
  433. package/lib/zipItDataRepresentationUtils.mjs.map +1 -0
  434. package/package.json +89 -69
  435. package/prettier.config.cjs +8 -0
  436. package/src/ReadBufferUtils.ts +51 -44
  437. package/src/WriteBufferUtils.ts +203 -181
  438. package/src/checkUrl.ts +16 -15
  439. package/src/compactSnapshotParser.ts +219 -103
  440. package/src/compactSnapshotWriter.ts +118 -97
  441. package/src/constants.ts +7 -0
  442. package/src/contracts.ts +96 -136
  443. package/src/contractsPublic.ts +31 -16
  444. package/src/createFile.ts +243 -305
  445. package/src/createNewContainerOnExistingFile.ts +93 -0
  446. package/src/createNewModule.ts +7 -0
  447. package/src/createNewUtils.ts +266 -56
  448. package/src/createOdspCreateContainerRequest.ts +22 -18
  449. package/src/createOdspUrl.ts +12 -13
  450. package/src/epochTracker.ts +596 -457
  451. package/src/fetch.ts +4 -4
  452. package/src/fetchSnapshot.ts +583 -508
  453. package/src/getFileLink.ts +194 -155
  454. package/src/getQueryString.ts +11 -9
  455. package/src/getUrlAndHeadersWithAuth.ts +34 -33
  456. package/src/index.ts +42 -18
  457. package/src/localOdspDriver/localOdspDeltaStorageService.ts +49 -0
  458. package/src/localOdspDriver/localOdspDocumentService.ts +40 -38
  459. package/src/localOdspDriver/localOdspDocumentServiceFactory.ts +46 -43
  460. package/src/localOdspDriver/localOdspDocumentStorageManager.ts +55 -50
  461. package/src/odspCache.ts +112 -90
  462. package/src/odspDelayLoadedDeltaStream.ts +459 -0
  463. package/src/odspDeltaStorageService.ts +232 -221
  464. package/src/odspDocumentDeltaConnection.ts +751 -563
  465. package/src/odspDocumentService.ts +324 -523
  466. package/src/odspDocumentServiceFactory.ts +20 -21
  467. package/src/odspDocumentServiceFactoryCore.ts +325 -202
  468. package/src/odspDocumentServiceFactoryWithCodeSplit.ts +20 -20
  469. package/src/odspDocumentStorageManager.ts +730 -534
  470. package/src/odspDocumentStorageServiceBase.ts +279 -254
  471. package/src/odspDriverUrlResolver.ts +230 -188
  472. package/src/odspDriverUrlResolverForShareLink.ts +223 -203
  473. package/src/odspError.ts +27 -19
  474. package/src/odspFluidFileLink.ts +106 -87
  475. package/src/odspLocationRedirection.ts +26 -0
  476. package/src/odspPublicUtils.ts +20 -14
  477. package/src/odspSnapshotParser.ts +53 -46
  478. package/src/odspSummaryUploadManager.ts +243 -218
  479. package/src/odspUrlHelper.ts +81 -71
  480. package/src/odspUtils.ts +401 -259
  481. package/src/opsCaching.ts +214 -193
  482. package/src/packageVersion.ts +1 -1
  483. package/src/prefetchLatestSnapshot.ts +142 -80
  484. package/src/retryErrorsStorageAdapter.ts +92 -77
  485. package/src/retryUtils.ts +80 -57
  486. package/src/socketModule.ts +8 -0
  487. package/src/vroom.ts +92 -83
  488. package/src/zipItDataRepresentationUtils.ts +534 -394
  489. package/tsc-multi.test.json +4 -0
  490. package/tsconfig.json +11 -13
  491. package/.editorconfig +0 -7
  492. package/dist/ReadBufferUtils.js.map +0 -1
  493. package/dist/WriteBufferUtils.js.map +0 -1
  494. package/dist/checkUrl.js.map +0 -1
  495. package/dist/compactSnapshotParser.js +0 -115
  496. package/dist/compactSnapshotParser.js.map +0 -1
  497. package/dist/compactSnapshotWriter.js.map +0 -1
  498. package/dist/constants.js.map +0 -1
  499. package/dist/contracts.js.map +0 -1
  500. package/dist/contractsPublic.js.map +0 -1
  501. package/dist/createFile.js +0 -242
  502. package/dist/createFile.js.map +0 -1
  503. package/dist/createNewUtils.js +0 -67
  504. package/dist/createNewUtils.js.map +0 -1
  505. package/dist/createOdspCreateContainerRequest.js.map +0 -1
  506. package/dist/createOdspUrl.js.map +0 -1
  507. package/dist/epochTracker.js.map +0 -1
  508. package/dist/fetch.js.map +0 -1
  509. package/dist/fetchSnapshot.js.map +0 -1
  510. package/dist/getFileLink.js.map +0 -1
  511. package/dist/getQueryString.js.map +0 -1
  512. package/dist/getSocketIo.d.ts +0 -11
  513. package/dist/getSocketIo.d.ts.map +0 -1
  514. package/dist/getSocketIo.js +0 -20
  515. package/dist/getSocketIo.js.map +0 -1
  516. package/dist/getUrlAndHeadersWithAuth.js.map +0 -1
  517. package/dist/index.js +0 -41
  518. package/dist/index.js.map +0 -1
  519. package/dist/localOdspDriver/localOdspDocumentService.js.map +0 -1
  520. package/dist/localOdspDriver/localOdspDocumentServiceFactory.js.map +0 -1
  521. package/dist/localOdspDriver/localOdspDocumentStorageManager.js.map +0 -1
  522. package/dist/odspCache.js.map +0 -1
  523. package/dist/odspDeltaStorageService.js.map +0 -1
  524. package/dist/odspDocumentDeltaConnection.js.map +0 -1
  525. package/dist/odspDocumentService.js +0 -364
  526. package/dist/odspDocumentService.js.map +0 -1
  527. package/dist/odspDocumentServiceFactory.js.map +0 -1
  528. package/dist/odspDocumentServiceFactoryCore.js +0 -118
  529. package/dist/odspDocumentServiceFactoryCore.js.map +0 -1
  530. package/dist/odspDocumentServiceFactoryWithCodeSplit.js +0 -34
  531. package/dist/odspDocumentServiceFactoryWithCodeSplit.js.map +0 -1
  532. package/dist/odspDocumentStorageManager.js +0 -356
  533. package/dist/odspDocumentStorageManager.js.map +0 -1
  534. package/dist/odspDocumentStorageServiceBase.js.map +0 -1
  535. package/dist/odspDriverUrlResolver.js.map +0 -1
  536. package/dist/odspDriverUrlResolverForShareLink.js.map +0 -1
  537. package/dist/odspError.js.map +0 -1
  538. package/dist/odspFluidFileLink.js.map +0 -1
  539. package/dist/odspPublicUtils.js.map +0 -1
  540. package/dist/odspSnapshotParser.js.map +0 -1
  541. package/dist/odspSummaryUploadManager.js.map +0 -1
  542. package/dist/odspUrlHelper.js.map +0 -1
  543. package/dist/odspUtils.js.map +0 -1
  544. package/dist/opsCaching.js.map +0 -1
  545. package/dist/packageVersion.js.map +0 -1
  546. package/dist/prefetchLatestSnapshot.js +0 -57
  547. package/dist/prefetchLatestSnapshot.js.map +0 -1
  548. package/dist/retryErrorsStorageAdapter.js.map +0 -1
  549. package/dist/retryUtils.js.map +0 -1
  550. package/dist/vroom.js.map +0 -1
  551. package/dist/zipItDataRepresentationUtils.js.map +0 -1
  552. package/lib/ReadBufferUtils.d.ts.map +0 -1
  553. package/lib/ReadBufferUtils.js.map +0 -1
  554. package/lib/WriteBufferUtils.d.ts.map +0 -1
  555. package/lib/WriteBufferUtils.js.map +0 -1
  556. package/lib/checkUrl.d.ts.map +0 -1
  557. package/lib/checkUrl.js.map +0 -1
  558. package/lib/compactSnapshotParser.d.ts +0 -15
  559. package/lib/compactSnapshotParser.d.ts.map +0 -1
  560. package/lib/compactSnapshotParser.js +0 -111
  561. package/lib/compactSnapshotParser.js.map +0 -1
  562. package/lib/compactSnapshotWriter.d.ts.map +0 -1
  563. package/lib/compactSnapshotWriter.js.map +0 -1
  564. package/lib/constants.d.ts.map +0 -1
  565. package/lib/constants.js.map +0 -1
  566. package/lib/contracts.d.ts.map +0 -1
  567. package/lib/contracts.js.map +0 -1
  568. package/lib/contractsPublic.d.ts.map +0 -1
  569. package/lib/contractsPublic.js.map +0 -1
  570. package/lib/createFile.d.ts +0 -22
  571. package/lib/createFile.d.ts.map +0 -1
  572. package/lib/createFile.js +0 -235
  573. package/lib/createFile.js.map +0 -1
  574. package/lib/createNewUtils.d.ts +0 -11
  575. package/lib/createNewUtils.d.ts.map +0 -1
  576. package/lib/createNewUtils.js +0 -63
  577. package/lib/createNewUtils.js.map +0 -1
  578. package/lib/createOdspCreateContainerRequest.d.ts.map +0 -1
  579. package/lib/createOdspCreateContainerRequest.js.map +0 -1
  580. package/lib/createOdspUrl.js.map +0 -1
  581. package/lib/epochTracker.d.ts.map +0 -1
  582. package/lib/epochTracker.js.map +0 -1
  583. package/lib/fetch.js.map +0 -1
  584. package/lib/fetchSnapshot.d.ts.map +0 -1
  585. package/lib/fetchSnapshot.js.map +0 -1
  586. package/lib/getFileLink.d.ts.map +0 -1
  587. package/lib/getFileLink.js.map +0 -1
  588. package/lib/getQueryString.d.ts.map +0 -1
  589. package/lib/getQueryString.js.map +0 -1
  590. package/lib/getSocketIo.d.ts +0 -11
  591. package/lib/getSocketIo.d.ts.map +0 -1
  592. package/lib/getSocketIo.js +0 -13
  593. package/lib/getSocketIo.js.map +0 -1
  594. package/lib/getUrlAndHeadersWithAuth.js.map +0 -1
  595. package/lib/index.d.ts +0 -21
  596. package/lib/index.d.ts.map +0 -1
  597. package/lib/index.js +0 -29
  598. package/lib/index.js.map +0 -1
  599. package/lib/localOdspDriver/localOdspDocumentService.d.ts.map +0 -1
  600. package/lib/localOdspDriver/localOdspDocumentService.js.map +0 -1
  601. package/lib/localOdspDriver/localOdspDocumentServiceFactory.d.ts.map +0 -1
  602. package/lib/localOdspDriver/localOdspDocumentServiceFactory.js.map +0 -1
  603. package/lib/localOdspDriver/localOdspDocumentStorageManager.d.ts.map +0 -1
  604. package/lib/localOdspDriver/localOdspDocumentStorageManager.js.map +0 -1
  605. package/lib/odspCache.d.ts.map +0 -1
  606. package/lib/odspCache.js.map +0 -1
  607. package/lib/odspDeltaStorageService.d.ts.map +0 -1
  608. package/lib/odspDeltaStorageService.js.map +0 -1
  609. package/lib/odspDocumentDeltaConnection.d.ts.map +0 -1
  610. package/lib/odspDocumentDeltaConnection.js.map +0 -1
  611. package/lib/odspDocumentService.d.ts.map +0 -1
  612. package/lib/odspDocumentService.js +0 -360
  613. package/lib/odspDocumentService.js.map +0 -1
  614. package/lib/odspDocumentServiceFactory.d.ts.map +0 -1
  615. package/lib/odspDocumentServiceFactory.js.map +0 -1
  616. package/lib/odspDocumentServiceFactoryCore.d.ts.map +0 -1
  617. package/lib/odspDocumentServiceFactoryCore.js +0 -114
  618. package/lib/odspDocumentServiceFactoryCore.js.map +0 -1
  619. package/lib/odspDocumentServiceFactoryWithCodeSplit.d.ts.map +0 -1
  620. package/lib/odspDocumentServiceFactoryWithCodeSplit.js.map +0 -1
  621. package/lib/odspDocumentStorageManager.d.ts.map +0 -1
  622. package/lib/odspDocumentStorageManager.js +0 -352
  623. package/lib/odspDocumentStorageManager.js.map +0 -1
  624. package/lib/odspDocumentStorageServiceBase.d.ts.map +0 -1
  625. package/lib/odspDocumentStorageServiceBase.js.map +0 -1
  626. package/lib/odspDriverUrlResolver.d.ts.map +0 -1
  627. package/lib/odspDriverUrlResolver.js.map +0 -1
  628. package/lib/odspDriverUrlResolverForShareLink.d.ts.map +0 -1
  629. package/lib/odspDriverUrlResolverForShareLink.js.map +0 -1
  630. package/lib/odspError.d.ts.map +0 -1
  631. package/lib/odspError.js.map +0 -1
  632. package/lib/odspFluidFileLink.d.ts.map +0 -1
  633. package/lib/odspFluidFileLink.js.map +0 -1
  634. package/lib/odspPublicUtils.d.ts.map +0 -1
  635. package/lib/odspPublicUtils.js.map +0 -1
  636. package/lib/odspSnapshotParser.d.ts.map +0 -1
  637. package/lib/odspSnapshotParser.js.map +0 -1
  638. package/lib/odspSummaryUploadManager.d.ts.map +0 -1
  639. package/lib/odspSummaryUploadManager.js.map +0 -1
  640. package/lib/odspUrlHelper.d.ts.map +0 -1
  641. package/lib/odspUrlHelper.js.map +0 -1
  642. package/lib/odspUtils.d.ts.map +0 -1
  643. package/lib/odspUtils.js.map +0 -1
  644. package/lib/opsCaching.d.ts.map +0 -1
  645. package/lib/opsCaching.js.map +0 -1
  646. package/lib/packageVersion.js.map +0 -1
  647. package/lib/prefetchLatestSnapshot.d.ts.map +0 -1
  648. package/lib/prefetchLatestSnapshot.js +0 -53
  649. package/lib/prefetchLatestSnapshot.js.map +0 -1
  650. package/lib/retryErrorsStorageAdapter.d.ts.map +0 -1
  651. package/lib/retryErrorsStorageAdapter.js.map +0 -1
  652. package/lib/retryUtils.d.ts.map +0 -1
  653. package/lib/retryUtils.js.map +0 -1
  654. package/lib/vroom.d.ts.map +0 -1
  655. package/lib/vroom.js.map +0 -1
  656. package/lib/zipItDataRepresentationUtils.d.ts.map +0 -1
  657. package/lib/zipItDataRepresentationUtils.js.map +0 -1
  658. package/src/getSocketIo.ts +0 -14
  659. package/tsconfig.esnext.json +0 -7
  660. /package/lib/{ReadBufferUtils.d.ts → ReadBufferUtils.d.mts} +0 -0
  661. /package/lib/{getUrlAndHeadersWithAuth.d.ts → getUrlAndHeadersWithAuth.d.mts} +0 -0
@@ -5,37 +5,36 @@
5
5
 
6
6
  import { IDocumentServiceFactory } from "@fluidframework/driver-definitions";
7
7
  import {
8
- OdspResourceTokenFetchOptions,
9
- TokenFetcher,
10
- IPersistedCache,
11
- HostStoragePolicy,
8
+ OdspResourceTokenFetchOptions,
9
+ TokenFetcher,
10
+ IPersistedCache,
11
+ HostStoragePolicy,
12
12
  } from "@fluidframework/odsp-driver-definitions";
13
13
  import { OdspDocumentServiceFactoryCore } from "./odspDocumentServiceFactoryCore";
14
- import { getSocketIo } from "./getSocketIo";
15
14
  // eslint-disable-next-line import/no-internal-modules
16
15
  import { LocalOdspDocumentServiceFactory } from "./localOdspDriver/localOdspDocumentServiceFactory";
17
16
 
18
17
  /**
19
18
  * Factory for creating the sharepoint document service. Use this if you want to
20
19
  * use the sharepoint implementation.
20
+ * @alpha
21
21
  */
22
22
  export class OdspDocumentServiceFactory extends OdspDocumentServiceFactoryCore {
23
- constructor(
24
- getStorageToken: TokenFetcher<OdspResourceTokenFetchOptions>,
25
- getWebsocketToken: TokenFetcher<OdspResourceTokenFetchOptions> | undefined,
26
- persistedCache?: IPersistedCache,
27
- hostPolicy?: HostStoragePolicy,
28
- ) {
29
- super(
30
- getStorageToken,
31
- getWebsocketToken,
32
- async () => getSocketIo(),
33
- persistedCache,
34
- hostPolicy,
35
- );
36
- }
23
+ constructor(
24
+ getStorageToken: TokenFetcher<OdspResourceTokenFetchOptions>,
25
+ getWebsocketToken: TokenFetcher<OdspResourceTokenFetchOptions> | undefined,
26
+ persistedCache?: IPersistedCache,
27
+ hostPolicy?: HostStoragePolicy,
28
+ ) {
29
+ super(getStorageToken, getWebsocketToken, persistedCache, hostPolicy);
30
+ }
37
31
  }
38
32
 
39
- export function createLocalOdspDocumentServiceFactory(localSnapshot: Uint8Array | string): IDocumentServiceFactory {
40
- return new LocalOdspDocumentServiceFactory(localSnapshot);
33
+ /**
34
+ * @alpha
35
+ */
36
+ export function createLocalOdspDocumentServiceFactory(
37
+ localSnapshot: Uint8Array | string,
38
+ ): IDocumentServiceFactory {
39
+ return new LocalOdspDocumentServiceFactory(localSnapshot);
41
40
  }
@@ -3,43 +3,46 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { ITelemetryBaseLogger } from "@fluidframework/common-definitions";
6
+ import { ITelemetryBaseLogger, ITelemetryLogger } from "@fluidframework/core-interfaces";
7
7
  import {
8
- IDocumentService,
9
- IDocumentServiceFactory,
10
- IResolvedUrl,
8
+ IDocumentService,
9
+ IDocumentServiceFactory,
10
+ IResolvedUrl,
11
11
  } from "@fluidframework/driver-definitions";
12
12
  import { ISummaryTree } from "@fluidframework/protocol-definitions";
13
+ import { PerformanceEvent } from "@fluidframework/telemetry-utils";
13
14
  import {
14
- TelemetryLogger,
15
- PerformanceEvent,
16
- } from "@fluidframework/telemetry-utils";
17
- import {
18
- getDocAttributesFromProtocolSummary,
19
- ensureFluidResolvedUrl,
15
+ getDocAttributesFromProtocolSummary,
16
+ isCombinedAppAndProtocolSummary,
20
17
  } from "@fluidframework/driver-utils";
21
18
  import {
22
- TokenFetchOptions,
23
- OdspResourceTokenFetchOptions,
24
- TokenFetcher,
25
- IPersistedCache,
26
- HostStoragePolicy,
27
- IFileEntry,
28
- IOdspUrlParts,
19
+ TokenFetchOptions,
20
+ OdspResourceTokenFetchOptions,
21
+ TokenFetcher,
22
+ IPersistedCache,
23
+ HostStoragePolicy,
24
+ IFileEntry,
25
+ IOdspUrlParts,
26
+ SharingLinkScope,
27
+ SharingLinkRole,
28
+ ShareLinkTypes,
29
+ ISharingLinkKind,
30
+ ISocketStorageDiscovery,
31
+ IRelaySessionAwareDriverFactory,
29
32
  } from "@fluidframework/odsp-driver-definitions";
30
- import type { io as SocketIOClientStatic } from "socket.io-client";
31
33
  import { v4 as uuid } from "uuid";
32
- import {
33
- LocalPersistentCache,
34
- NonPersistentCache,
35
- } from "./odspCache";
36
- import {
37
- createOdspCacheAndTracker,
38
- ICacheAndTracker,
39
- } from "./epochTracker";
34
+ import { INonPersistentCache, LocalPersistentCache, NonPersistentCache } from "./odspCache";
35
+ import { createOdspCacheAndTracker, ICacheAndTracker } from "./epochTracker";
40
36
  import { OdspDocumentService } from "./odspDocumentService";
41
- import { INewFileInfo, getOdspResolvedUrl, createOdspLogger, toInstrumentedOdspTokenFetcher } from "./odspUtils";
42
- import { createNewFluidFile } from "./createFile";
37
+ import {
38
+ INewFileInfo,
39
+ getOdspResolvedUrl,
40
+ createOdspLogger,
41
+ toInstrumentedOdspTokenFetcher,
42
+ IExistingFileInfo,
43
+ isNewFileInfo,
44
+ getJoinSessionCacheKey,
45
+ } from "./odspUtils";
43
46
 
44
47
  /**
45
48
  * Factory for creating the sharepoint document service. Use this if you want to
@@ -47,179 +50,299 @@ import { createNewFluidFile } from "./createFile";
47
50
  *
48
51
  * This constructor should be used by environments that support dynamic imports and that wish
49
52
  * to leverage code splitting as a means to keep bundles as small as possible.
53
+ * @alpha
54
+ */
55
+ export class OdspDocumentServiceFactoryCore
56
+ implements IDocumentServiceFactory, IRelaySessionAwareDriverFactory
57
+ {
58
+ private readonly nonPersistentCache: INonPersistentCache = new NonPersistentCache();
59
+ private readonly socketReferenceKeyPrefix?: string;
60
+
61
+ public get snapshotPrefetchResultCache() {
62
+ return this.nonPersistentCache.snapshotPrefetchResultCache;
63
+ }
64
+
65
+ public get IRelaySessionAwareDriverFactory() {
66
+ return this;
67
+ }
68
+
69
+ /**
70
+ * This function would return info about relay service session only if this factory established (or attempted to
71
+ * establish) connection very recently. Otherwise, it will return undefined.
72
+ * @param resolvedUrl - resolved url for container
73
+ * @returns The current join session response stored in cache. `undefined` if not present.
74
+ */
75
+ public async getRelayServiceSessionInfo(
76
+ resolvedUrl: IResolvedUrl,
77
+ ): Promise<ISocketStorageDiscovery | undefined> {
78
+ const odspResolvedUrl = getOdspResolvedUrl(resolvedUrl);
79
+ const joinSessionResponse = await this.nonPersistentCache.sessionJoinCache.get(
80
+ getJoinSessionCacheKey(odspResolvedUrl),
81
+ );
82
+ return joinSessionResponse?.joinSessionResponse;
83
+ }
84
+
85
+ public async createContainer(
86
+ createNewSummary: ISummaryTree | undefined,
87
+ createNewResolvedUrl: IResolvedUrl,
88
+ logger?: ITelemetryBaseLogger,
89
+ clientIsSummarizer?: boolean,
90
+ ): Promise<IDocumentService> {
91
+ let odspResolvedUrl = getOdspResolvedUrl(createNewResolvedUrl);
92
+ const resolvedUrlData: IOdspUrlParts = {
93
+ siteUrl: odspResolvedUrl.siteUrl,
94
+ driveId: odspResolvedUrl.driveId,
95
+ itemId: odspResolvedUrl.itemId,
96
+ };
97
+
98
+ let fileInfo: INewFileInfo | IExistingFileInfo;
99
+ let createShareLinkParam: ShareLinkTypes | ISharingLinkKind | undefined;
100
+ if (odspResolvedUrl.itemId) {
101
+ fileInfo = {
102
+ type: "Existing",
103
+ driveId: odspResolvedUrl.driveId,
104
+ siteUrl: odspResolvedUrl.siteUrl,
105
+ itemId: odspResolvedUrl.itemId,
106
+ };
107
+ } else if (odspResolvedUrl.fileName) {
108
+ const [, queryString] = odspResolvedUrl.url.split("?");
109
+ const searchParams = new URLSearchParams(queryString);
110
+ const filePath = searchParams.get("path");
111
+ if (filePath === undefined || filePath === null) {
112
+ throw new Error("File path should be provided!!");
113
+ }
114
+ createShareLinkParam = getSharingLinkParams(this.hostPolicy, searchParams);
115
+ fileInfo = {
116
+ type: "New",
117
+ driveId: odspResolvedUrl.driveId,
118
+ siteUrl: odspResolvedUrl.siteUrl,
119
+ filePath,
120
+ filename: odspResolvedUrl.fileName,
121
+ createLinkType: createShareLinkParam,
122
+ };
123
+ } else {
124
+ throw new Error("A new or existing file must be specified to create container!");
125
+ }
126
+
127
+ if (isCombinedAppAndProtocolSummary(createNewSummary)) {
128
+ const documentAttributes = getDocAttributesFromProtocolSummary(
129
+ createNewSummary.tree[".protocol"],
130
+ );
131
+ if (documentAttributes?.sequenceNumber !== 0) {
132
+ throw new Error("Seq number in detached ODSP container should be 0");
133
+ }
134
+ }
135
+
136
+ const odspLogger = createOdspLogger(logger);
137
+
138
+ const fileEntry: IFileEntry = {
139
+ resolvedUrl: odspResolvedUrl,
140
+ docId: odspResolvedUrl.hashedDocumentId,
141
+ };
142
+ const cacheAndTracker = createOdspCacheAndTracker(
143
+ this.persistedCache,
144
+ this.nonPersistentCache,
145
+ fileEntry,
146
+ odspLogger,
147
+ clientIsSummarizer,
148
+ );
149
+
150
+ return PerformanceEvent.timedExecAsync(
151
+ odspLogger,
152
+ {
153
+ eventName: "CreateNew",
154
+ isWithSummaryUpload: true,
155
+ createShareLinkParam: createShareLinkParam
156
+ ? JSON.stringify(createShareLinkParam)
157
+ : undefined,
158
+ enableShareLinkWithCreate: this.hostPolicy.enableShareLinkWithCreate,
159
+ enableSingleRequestForShareLinkWithCreate:
160
+ this.hostPolicy.enableSingleRequestForShareLinkWithCreate,
161
+ },
162
+ async (event) => {
163
+ const getStorageToken = toInstrumentedOdspTokenFetcher(
164
+ odspLogger,
165
+ resolvedUrlData,
166
+ this.getStorageToken,
167
+ true /* throwOnNullToken */,
168
+ );
169
+ // We can delay load this module as this path will not be executed in load flows and create flow
170
+ // while only happens once in lifetime of a document happens in the background after creation of
171
+ // detached container.
172
+ const module = await import(
173
+ /* webpackChunkName: "createNewModule" */ "./createNewModule.js"
174
+ )
175
+ .then((m) => {
176
+ odspLogger.sendTelemetryEvent({ eventName: "createNewModuleLoaded" });
177
+ return m;
178
+ })
179
+ .catch((error) => {
180
+ odspLogger.sendErrorEvent(
181
+ { eventName: "createNewModuleLoadFailed" },
182
+ error,
183
+ );
184
+ throw error;
185
+ });
186
+ odspResolvedUrl = isNewFileInfo(fileInfo)
187
+ ? await module.createNewFluidFile(
188
+ getStorageToken,
189
+ fileInfo,
190
+ odspLogger,
191
+ createNewSummary,
192
+ cacheAndTracker.epochTracker,
193
+ fileEntry,
194
+ this.hostPolicy.cacheCreateNewSummary ?? true,
195
+ !!this.hostPolicy.sessionOptions
196
+ ?.forceAccessTokenViaAuthorizationHeader,
197
+ odspResolvedUrl.isClpCompliantApp,
198
+ this.hostPolicy.enableSingleRequestForShareLinkWithCreate,
199
+ this.hostPolicy.enableShareLinkWithCreate,
200
+ )
201
+ : await module.createNewContainerOnExistingFile(
202
+ getStorageToken,
203
+ fileInfo,
204
+ odspLogger,
205
+ createNewSummary,
206
+ cacheAndTracker.epochTracker,
207
+ fileEntry,
208
+ this.hostPolicy.cacheCreateNewSummary ?? true,
209
+ !!this.hostPolicy.sessionOptions
210
+ ?.forceAccessTokenViaAuthorizationHeader,
211
+ odspResolvedUrl.isClpCompliantApp,
212
+ );
213
+ const docService = this.createDocumentServiceCore(
214
+ odspResolvedUrl,
215
+ odspLogger,
216
+ cacheAndTracker,
217
+ clientIsSummarizer,
218
+ );
219
+ event.end({
220
+ docId: odspResolvedUrl.hashedDocumentId,
221
+ });
222
+ return docService;
223
+ },
224
+ );
225
+ }
226
+
227
+ /**
228
+ * @param getStorageToken - function that can provide the storage token for a given site. This is
229
+ * is also referred to as the "Vroom" token in SPO.
230
+ * @param getWebsocketToken - function that can provide a token for accessing the web socket. This is also
231
+ * to as the "Push" token in SPO. If undefined then websocket token is expected to be returned with joinSession
232
+ * response payload.
233
+ * @param persistedCache - PersistedCache provided by host for use in this session.
234
+ * @param hostPolicy - Policy for storage provided by host.
235
+ */
236
+ constructor(
237
+ private readonly getStorageToken: TokenFetcher<OdspResourceTokenFetchOptions>,
238
+ private readonly getWebsocketToken: TokenFetcher<OdspResourceTokenFetchOptions> | undefined,
239
+ protected persistedCache: IPersistedCache = new LocalPersistentCache(),
240
+ private readonly hostPolicy: HostStoragePolicy = {},
241
+ ) {
242
+ if (this.hostPolicy.isolateSocketCache === true) {
243
+ // create the key to separate the socket reuse cache
244
+ this.socketReferenceKeyPrefix = uuid();
245
+ }
246
+ // Set enableRedeemFallback by default as true.
247
+ this.hostPolicy.enableRedeemFallback = this.hostPolicy.enableRedeemFallback ?? true;
248
+ this.hostPolicy.sessionOptions = {
249
+ forceAccessTokenViaAuthorizationHeader: true,
250
+ ...this.hostPolicy.sessionOptions,
251
+ };
252
+ }
253
+
254
+ public async createDocumentService(
255
+ resolvedUrl: IResolvedUrl,
256
+ logger?: ITelemetryBaseLogger,
257
+ clientIsSummarizer?: boolean,
258
+ ): Promise<IDocumentService> {
259
+ return this.createDocumentServiceCore(
260
+ resolvedUrl,
261
+ createOdspLogger(logger),
262
+ undefined,
263
+ clientIsSummarizer,
264
+ );
265
+ }
266
+
267
+ protected async createDocumentServiceCore(
268
+ resolvedUrl: IResolvedUrl,
269
+ odspLogger: ITelemetryLogger,
270
+ cacheAndTrackerArg?: ICacheAndTracker,
271
+ clientIsSummarizer?: boolean,
272
+ ): Promise<IDocumentService> {
273
+ const odspResolvedUrl = getOdspResolvedUrl(resolvedUrl);
274
+ const resolvedUrlData: IOdspUrlParts = {
275
+ siteUrl: odspResolvedUrl.siteUrl,
276
+ driveId: odspResolvedUrl.driveId,
277
+ itemId: odspResolvedUrl.itemId,
278
+ };
279
+ const cacheAndTracker =
280
+ cacheAndTrackerArg ??
281
+ createOdspCacheAndTracker(
282
+ this.persistedCache,
283
+ this.nonPersistentCache,
284
+ { resolvedUrl: odspResolvedUrl, docId: odspResolvedUrl.hashedDocumentId },
285
+ odspLogger,
286
+ clientIsSummarizer,
287
+ );
288
+
289
+ const storageTokenFetcher = toInstrumentedOdspTokenFetcher(
290
+ odspLogger,
291
+ resolvedUrlData,
292
+ this.getStorageToken,
293
+ true /* throwOnNullToken */,
294
+ );
295
+
296
+ const webSocketTokenFetcher =
297
+ this.getWebsocketToken === undefined
298
+ ? undefined
299
+ : async (options: TokenFetchOptions) =>
300
+ toInstrumentedOdspTokenFetcher(
301
+ odspLogger,
302
+ resolvedUrlData,
303
+ this.getWebsocketToken!,
304
+ false /* throwOnNullToken */,
305
+ )(options, "GetWebsocketToken");
306
+
307
+ return OdspDocumentService.create(
308
+ resolvedUrl,
309
+ storageTokenFetcher,
310
+ webSocketTokenFetcher,
311
+ odspLogger,
312
+ cacheAndTracker.cache,
313
+ this.hostPolicy,
314
+ cacheAndTracker.epochTracker,
315
+ this.socketReferenceKeyPrefix,
316
+ clientIsSummarizer,
317
+ );
318
+ }
319
+ }
320
+
321
+ /**
322
+ * Extract the sharing link kind from the resolved URL's query paramerters
50
323
  */
51
- export class OdspDocumentServiceFactoryCore implements IDocumentServiceFactory {
52
- public readonly protocolName = "fluid-odsp:";
53
-
54
- private readonly nonPersistentCache = new NonPersistentCache();
55
- private readonly socketReferenceKeyPrefix?: string;
56
-
57
- public async createContainer(
58
- createNewSummary: ISummaryTree | undefined,
59
- createNewResolvedUrl: IResolvedUrl,
60
- logger?: ITelemetryBaseLogger,
61
- clientIsSummarizer?: boolean,
62
- ): Promise<IDocumentService> {
63
- ensureFluidResolvedUrl(createNewResolvedUrl);
64
-
65
- let odspResolvedUrl = getOdspResolvedUrl(createNewResolvedUrl);
66
- const resolvedUrlData: IOdspUrlParts = {
67
- siteUrl: odspResolvedUrl.siteUrl,
68
- driveId: odspResolvedUrl.driveId,
69
- itemId: odspResolvedUrl.itemId,
70
- };
71
- const [, queryString] = odspResolvedUrl.url.split("?");
72
-
73
- const searchParams = new URLSearchParams(queryString);
74
- const filePath = searchParams.get("path");
75
- if (filePath === undefined || filePath === null) {
76
- throw new Error("File path should be provided!!");
77
- }
78
-
79
- const protocolSummary = createNewSummary?.tree[".protocol"];
80
- if (protocolSummary) {
81
- const documentAttributes = getDocAttributesFromProtocolSummary(protocolSummary as ISummaryTree);
82
- if (documentAttributes?.sequenceNumber !== 0) {
83
- throw new Error("Seq number in detached ODSP container should be 0");
84
- }
85
- }
86
-
87
- const newFileInfo: INewFileInfo = {
88
- driveId: odspResolvedUrl.driveId,
89
- siteUrl: odspResolvedUrl.siteUrl,
90
- filePath,
91
- filename: odspResolvedUrl.fileName,
92
- // set createLinkType to undefined if enableShareLinkWithCreate is set to false,
93
- // so that share link creation with create file can be enabled
94
- createLinkType: this.hostPolicy.enableShareLinkWithCreate ?
95
- odspResolvedUrl.shareLinkInfo?.createLink?.type : undefined,
96
- };
97
-
98
- const odspLogger = createOdspLogger(logger);
99
-
100
- const fileEntry: IFileEntry = { resolvedUrl: odspResolvedUrl, docId: odspResolvedUrl.hashedDocumentId };
101
- const cacheAndTracker = createOdspCacheAndTracker(
102
- this.persistedCache,
103
- this.nonPersistentCache,
104
- fileEntry,
105
- odspLogger,
106
- clientIsSummarizer);
107
-
108
- return PerformanceEvent.timedExecAsync(
109
- odspLogger,
110
- {
111
- eventName: "CreateNew",
112
- isWithSummaryUpload: true,
113
- },
114
- async (event) => {
115
- odspResolvedUrl = await createNewFluidFile(
116
- toInstrumentedOdspTokenFetcher(
117
- odspLogger,
118
- resolvedUrlData,
119
- this.getStorageToken,
120
- true /* throwOnNullToken */,
121
- ),
122
- newFileInfo,
123
- odspLogger,
124
- createNewSummary,
125
- cacheAndTracker.epochTracker,
126
- fileEntry,
127
- this.hostPolicy.cacheCreateNewSummary ?? true,
128
- !!this.hostPolicy.sessionOptions?.forceAccessTokenViaAuthorizationHeader,
129
- odspResolvedUrl.isClpCompliantApp,
130
- );
131
- const docService = this.createDocumentServiceCore(odspResolvedUrl, odspLogger,
132
- cacheAndTracker, clientIsSummarizer);
133
- event.end({
134
- docId: odspResolvedUrl.hashedDocumentId,
135
- });
136
- return docService;
137
- });
138
- }
139
-
140
- /**
141
- * @param getStorageToken - function that can provide the storage token for a given site. This is
142
- * is also referred to as the "Vroom" token in SPO.
143
- * @param getWebsocketToken - function that can provide a token for accessing the web socket. This is also
144
- * to as the "Push" token in SPO. If undefined then websocket token is expected to be returned with joinSession
145
- * response payload.
146
- * @param storageFetchWrapper - if not provided FetchWrapper will be used
147
- * @param deltasFetchWrapper - if not provided FetchWrapper will be used
148
- * @param persistedCache - PersistedCache provided by host for use in this session.
149
- */
150
- constructor(
151
- private readonly getStorageToken: TokenFetcher<OdspResourceTokenFetchOptions>,
152
- private readonly getWebsocketToken: TokenFetcher<OdspResourceTokenFetchOptions> | undefined,
153
- private readonly getSocketIOClient: () => Promise<typeof SocketIOClientStatic>,
154
- protected persistedCache: IPersistedCache = new LocalPersistentCache(),
155
- private readonly hostPolicy: HostStoragePolicy = {},
156
- ) {
157
- if (this.hostPolicy.isolateSocketCache === true) {
158
- // create the key to separate the socket reuse cache
159
- this.socketReferenceKeyPrefix = uuid();
160
- }
161
- // Set enableRedeemFallback by default as true.
162
- this.hostPolicy.enableRedeemFallback = this.hostPolicy.enableRedeemFallback ?? true;
163
- this.hostPolicy.sessionOptions = {
164
- forceAccessTokenViaAuthorizationHeader: true,
165
- ...this.hostPolicy.sessionOptions,
166
- };
167
- }
168
-
169
- public async createDocumentService(
170
- resolvedUrl: IResolvedUrl,
171
- logger?: ITelemetryBaseLogger,
172
- clientIsSummarizer?: boolean,
173
- ): Promise<IDocumentService> {
174
- return this.createDocumentServiceCore(resolvedUrl, createOdspLogger(logger), undefined, clientIsSummarizer);
175
- }
176
-
177
- protected async createDocumentServiceCore(
178
- resolvedUrl: IResolvedUrl,
179
- odspLogger: TelemetryLogger,
180
- cacheAndTrackerArg?: ICacheAndTracker,
181
- clientIsSummarizer?: boolean,
182
- ): Promise<IDocumentService> {
183
- const odspResolvedUrl = getOdspResolvedUrl(resolvedUrl);
184
- const resolvedUrlData: IOdspUrlParts = {
185
- siteUrl: odspResolvedUrl.siteUrl,
186
- driveId: odspResolvedUrl.driveId,
187
- itemId: odspResolvedUrl.itemId,
188
- };
189
- const cacheAndTracker = cacheAndTrackerArg ?? createOdspCacheAndTracker(
190
- this.persistedCache,
191
- this.nonPersistentCache,
192
- { resolvedUrl: odspResolvedUrl, docId: odspResolvedUrl.hashedDocumentId },
193
- odspLogger,
194
- clientIsSummarizer);
195
-
196
- const storageTokenFetcher = toInstrumentedOdspTokenFetcher(
197
- odspLogger,
198
- resolvedUrlData,
199
- this.getStorageToken,
200
- true /* throwOnNullToken */,
201
- );
202
-
203
- const webSocketTokenFetcher = this.getWebsocketToken === undefined
204
- ? undefined
205
- : async (options: TokenFetchOptions) => toInstrumentedOdspTokenFetcher(
206
- odspLogger,
207
- resolvedUrlData,
208
- this.getWebsocketToken!,
209
- false /* throwOnNullToken */,
210
- )(options, "GetWebsocketToken");
211
-
212
- return OdspDocumentService.create(
213
- resolvedUrl,
214
- storageTokenFetcher,
215
- webSocketTokenFetcher,
216
- odspLogger,
217
- this.getSocketIOClient,
218
- cacheAndTracker.cache,
219
- this.hostPolicy,
220
- cacheAndTracker.epochTracker,
221
- this.socketReferenceKeyPrefix,
222
- clientIsSummarizer,
223
- );
224
- }
324
+ function getSharingLinkParams(
325
+ hostPolicy: HostStoragePolicy,
326
+ searchParams: URLSearchParams,
327
+ ): ShareLinkTypes | ISharingLinkKind | undefined {
328
+ // extract request parameters for creation of sharing link (if provided) if the feature is enabled
329
+ let createShareLinkParam: ShareLinkTypes | ISharingLinkKind | undefined;
330
+ if (hostPolicy.enableSingleRequestForShareLinkWithCreate) {
331
+ const createLinkScope = searchParams.get("createLinkScope");
332
+ const createLinkRole = searchParams.get("createLinkRole");
333
+ if (createLinkScope && SharingLinkScope[createLinkScope]) {
334
+ createShareLinkParam = {
335
+ scope: SharingLinkScope[createLinkScope],
336
+ ...(createLinkRole && SharingLinkRole[createLinkRole]
337
+ ? { role: SharingLinkRole[createLinkRole] }
338
+ : {}),
339
+ };
340
+ }
341
+ } else if (hostPolicy.enableShareLinkWithCreate) {
342
+ const createLinkType = searchParams.get("createLinkType");
343
+ if (createLinkType && ShareLinkTypes[createLinkType]) {
344
+ createShareLinkParam = ShareLinkTypes[createLinkType || ""];
345
+ }
346
+ }
347
+ return createShareLinkParam;
225
348
  }
@@ -5,28 +5,28 @@
5
5
 
6
6
  import { IDocumentServiceFactory } from "@fluidframework/driver-definitions";
7
7
  import {
8
- OdspResourceTokenFetchOptions,
9
- TokenFetcher,
10
- IPersistedCache,
11
- HostStoragePolicy,
8
+ OdspResourceTokenFetchOptions,
9
+ TokenFetcher,
10
+ IPersistedCache,
11
+ HostStoragePolicy,
12
12
  } from "@fluidframework/odsp-driver-definitions";
13
13
  import { OdspDocumentServiceFactoryCore } from "./odspDocumentServiceFactoryCore";
14
14
 
15
+ /**
16
+ * @deprecated This is deprecated in favour of OdspDocumentServiceFactory as the socket io is now loaded inside the
17
+ * other dynamically imported module.
18
+ * @internal
19
+ */
15
20
  export class OdspDocumentServiceFactoryWithCodeSplit
16
- extends OdspDocumentServiceFactoryCore
17
- implements IDocumentServiceFactory {
18
- constructor(
19
- getStorageToken: TokenFetcher<OdspResourceTokenFetchOptions>,
20
- getWebsocketToken: TokenFetcher<OdspResourceTokenFetchOptions> | undefined,
21
- persistedCache?: IPersistedCache,
22
- hostPolicy?: HostStoragePolicy,
23
- ) {
24
- super(
25
- getStorageToken,
26
- getWebsocketToken,
27
- async () => import("./getSocketIo").then((m) => m.getSocketIo()),
28
- persistedCache,
29
- hostPolicy,
30
- );
31
- }
21
+ extends OdspDocumentServiceFactoryCore
22
+ implements IDocumentServiceFactory
23
+ {
24
+ constructor(
25
+ getStorageToken: TokenFetcher<OdspResourceTokenFetchOptions>,
26
+ getWebsocketToken: TokenFetcher<OdspResourceTokenFetchOptions> | undefined,
27
+ persistedCache?: IPersistedCache,
28
+ hostPolicy?: HostStoragePolicy,
29
+ ) {
30
+ super(getStorageToken, getWebsocketToken, persistedCache, hostPolicy);
31
+ }
32
32
  }