@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.
- package/.eslintrc.js +12 -12
- package/.mocharc.js +12 -0
- package/CHANGELOG.md +162 -0
- package/README.md +56 -0
- package/api-extractor-lint.json +4 -0
- package/api-extractor.json +2 -2
- package/api-report/odsp-driver.api.md +310 -0
- package/dist/{ReadBufferUtils.js → ReadBufferUtils.cjs} +16 -9
- package/dist/ReadBufferUtils.cjs.map +1 -0
- package/dist/ReadBufferUtils.d.ts.map +1 -1
- package/dist/{WriteBufferUtils.js → WriteBufferUtils.cjs} +73 -69
- package/dist/WriteBufferUtils.cjs.map +1 -0
- package/dist/WriteBufferUtils.d.ts +3 -5
- package/dist/WriteBufferUtils.d.ts.map +1 -1
- package/dist/{checkUrl.js → checkUrl.cjs} +7 -6
- package/dist/checkUrl.cjs.map +1 -0
- package/dist/checkUrl.d.ts +1 -0
- package/dist/checkUrl.d.ts.map +1 -1
- package/dist/compactSnapshotParser.cjs +207 -0
- package/dist/compactSnapshotParser.cjs.map +1 -0
- package/dist/compactSnapshotParser.d.ts +12 -3
- package/dist/compactSnapshotParser.d.ts.map +1 -1
- package/dist/{compactSnapshotWriter.js → compactSnapshotWriter.cjs} +43 -33
- package/dist/compactSnapshotWriter.cjs.map +1 -0
- package/dist/compactSnapshotWriter.d.ts +2 -3
- package/dist/compactSnapshotWriter.d.ts.map +1 -1
- package/dist/{constants.js → constants.cjs} +7 -1
- package/dist/constants.cjs.map +1 -0
- package/dist/constants.d.ts +6 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/{contracts.js → contracts.cjs} +1 -1
- package/dist/contracts.cjs.map +1 -0
- package/dist/contracts.d.ts +16 -53
- package/dist/contracts.d.ts.map +1 -1
- package/dist/{contractsPublic.js → contractsPublic.cjs} +9 -3
- package/dist/contractsPublic.cjs.map +1 -0
- package/dist/contractsPublic.d.ts +15 -0
- package/dist/contractsPublic.d.ts.map +1 -1
- package/dist/createFile.cjs +177 -0
- package/dist/createFile.cjs.map +1 -0
- package/dist/createFile.d.ts +6 -10
- package/dist/createFile.d.ts.map +1 -1
- package/dist/createNewContainerOnExistingFile.cjs +60 -0
- package/dist/createNewContainerOnExistingFile.cjs.map +1 -0
- package/dist/createNewContainerOnExistingFile.d.ts +22 -0
- package/dist/createNewContainerOnExistingFile.d.ts.map +1 -0
- package/dist/createNewModule.cjs +12 -0
- package/dist/createNewModule.cjs.map +1 -0
- package/dist/createNewModule.d.ts +7 -0
- package/dist/createNewModule.d.ts.map +1 -0
- package/dist/createNewUtils.cjs +203 -0
- package/dist/createNewUtils.cjs.map +1 -0
- package/dist/createNewUtils.d.ts +16 -0
- package/dist/createNewUtils.d.ts.map +1 -1
- package/dist/{createOdspCreateContainerRequest.js → createOdspCreateContainerRequest.cjs} +8 -4
- package/dist/createOdspCreateContainerRequest.cjs.map +1 -0
- package/dist/createOdspCreateContainerRequest.d.ts +5 -3
- package/dist/createOdspCreateContainerRequest.d.ts.map +1 -1
- package/dist/{createOdspUrl.js → createOdspUrl.cjs} +2 -1
- package/dist/createOdspUrl.cjs.map +1 -0
- package/dist/createOdspUrl.d.ts +1 -0
- package/dist/createOdspUrl.d.ts.map +1 -1
- package/dist/{epochTracker.js → epochTracker.cjs} +102 -48
- package/dist/epochTracker.cjs.map +1 -0
- package/dist/epochTracker.d.ts +32 -8
- package/dist/epochTracker.d.ts.map +1 -1
- package/dist/{fetch.js → fetch.cjs} +1 -1
- package/dist/fetch.cjs.map +1 -0
- package/dist/fetch.d.ts +1 -1
- package/dist/fetch.d.ts.map +1 -1
- package/dist/{fetchSnapshot.js → fetchSnapshot.cjs} +192 -176
- package/dist/fetchSnapshot.cjs.map +1 -0
- package/dist/fetchSnapshot.d.ts +10 -5
- package/dist/fetchSnapshot.d.ts.map +1 -1
- package/dist/{getFileLink.js → getFileLink.cjs} +52 -41
- package/dist/getFileLink.cjs.map +1 -0
- package/dist/getFileLink.d.ts +4 -7
- package/dist/getFileLink.d.ts.map +1 -1
- package/dist/{getQueryString.js → getQueryString.cjs} +1 -1
- package/dist/getQueryString.cjs.map +1 -0
- package/dist/getQueryString.d.ts.map +1 -1
- package/dist/{getUrlAndHeadersWithAuth.js → getUrlAndHeadersWithAuth.cjs} +4 -2
- package/dist/getUrlAndHeadersWithAuth.cjs.map +1 -0
- package/dist/getUrlAndHeadersWithAuth.d.ts.map +1 -1
- package/dist/index.cjs +59 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +19 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/localOdspDriver/localOdspDeltaStorageService.cjs +35 -0
- package/dist/localOdspDriver/localOdspDeltaStorageService.cjs.map +1 -0
- package/dist/localOdspDriver/localOdspDeltaStorageService.d.ts +17 -0
- package/dist/localOdspDriver/localOdspDeltaStorageService.d.ts.map +1 -0
- package/dist/localOdspDriver/{localOdspDocumentService.js → localOdspDocumentService.cjs} +7 -5
- package/dist/localOdspDriver/localOdspDocumentService.cjs.map +1 -0
- package/dist/localOdspDriver/localOdspDocumentService.d.ts +3 -2
- package/dist/localOdspDriver/localOdspDocumentService.d.ts.map +1 -1
- package/dist/localOdspDriver/{localOdspDocumentServiceFactory.js → localOdspDocumentServiceFactory.cjs} +9 -10
- package/dist/localOdspDriver/localOdspDocumentServiceFactory.cjs.map +1 -0
- package/dist/localOdspDriver/localOdspDocumentServiceFactory.d.ts +2 -3
- package/dist/localOdspDriver/localOdspDocumentServiceFactory.d.ts.map +1 -1
- package/dist/localOdspDriver/{localOdspDocumentStorageManager.js → localOdspDocumentStorageManager.cjs} +13 -11
- package/dist/localOdspDriver/localOdspDocumentStorageManager.cjs.map +1 -0
- package/dist/localOdspDriver/localOdspDocumentStorageManager.d.ts +2 -2
- package/dist/localOdspDriver/localOdspDocumentStorageManager.d.ts.map +1 -1
- package/dist/odsp-driver-alpha.d.ts +497 -0
- package/dist/odsp-driver-beta.d.ts +159 -0
- package/dist/odsp-driver-public.d.ts +159 -0
- package/dist/odsp-driver-untrimmed.d.ts +566 -0
- package/dist/{odspCache.js → odspCache.cjs} +9 -10
- package/dist/odspCache.cjs.map +1 -0
- package/dist/odspCache.d.ts +19 -4
- package/dist/odspCache.d.ts.map +1 -1
- package/dist/odspDelayLoadedDeltaStream.cjs +291 -0
- package/dist/odspDelayLoadedDeltaStream.cjs.map +1 -0
- package/dist/odspDelayLoadedDeltaStream.d.ts +75 -0
- package/dist/odspDelayLoadedDeltaStream.d.ts.map +1 -0
- package/dist/{odspDeltaStorageService.js → odspDeltaStorageService.cjs} +70 -71
- package/dist/odspDeltaStorageService.cjs.map +1 -0
- package/dist/odspDeltaStorageService.d.ts +8 -6
- package/dist/odspDeltaStorageService.d.ts.map +1 -1
- package/dist/{odspDocumentDeltaConnection.js → odspDocumentDeltaConnection.cjs} +224 -113
- package/dist/odspDocumentDeltaConnection.cjs.map +1 -0
- package/dist/odspDocumentDeltaConnection.d.ts +32 -12
- package/dist/odspDocumentDeltaConnection.d.ts.map +1 -1
- package/dist/odspDocumentService.cjs +225 -0
- package/dist/odspDocumentService.cjs.map +1 -0
- package/dist/odspDocumentService.d.ts +11 -25
- package/dist/odspDocumentService.d.ts.map +1 -1
- package/dist/{odspDocumentServiceFactory.js → odspDocumentServiceFactory.cjs} +8 -5
- package/dist/odspDocumentServiceFactory.cjs.map +1 -0
- package/dist/odspDocumentServiceFactory.d.ts +4 -0
- package/dist/odspDocumentServiceFactory.d.ts.map +1 -1
- package/dist/odspDocumentServiceFactoryCore.cjs +196 -0
- package/dist/odspDocumentServiceFactoryCore.cjs.map +1 -0
- package/dist/odspDocumentServiceFactoryCore.d.ts +16 -11
- package/dist/odspDocumentServiceFactoryCore.d.ts.map +1 -1
- package/dist/odspDocumentServiceFactoryWithCodeSplit.cjs +20 -0
- package/dist/odspDocumentServiceFactoryWithCodeSplit.cjs.map +1 -0
- package/dist/odspDocumentServiceFactoryWithCodeSplit.d.ts +5 -0
- package/dist/odspDocumentServiceFactoryWithCodeSplit.d.ts.map +1 -1
- package/dist/odspDocumentStorageManager.cjs +490 -0
- package/dist/odspDocumentStorageManager.cjs.map +1 -0
- package/dist/odspDocumentStorageManager.d.ts +11 -5
- package/dist/odspDocumentStorageManager.d.ts.map +1 -1
- package/dist/{odspDocumentStorageServiceBase.js → odspDocumentStorageServiceBase.cjs} +32 -34
- package/dist/odspDocumentStorageServiceBase.cjs.map +1 -0
- package/dist/odspDocumentStorageServiceBase.d.ts +7 -9
- package/dist/odspDocumentStorageServiceBase.d.ts.map +1 -1
- package/dist/{odspDriverUrlResolver.js → odspDriverUrlResolver.cjs} +50 -36
- package/dist/odspDriverUrlResolver.cjs.map +1 -0
- package/dist/odspDriverUrlResolver.d.ts +12 -0
- package/dist/odspDriverUrlResolver.d.ts.map +1 -1
- package/dist/{odspDriverUrlResolverForShareLink.js → odspDriverUrlResolverForShareLink.cjs} +37 -26
- package/dist/odspDriverUrlResolverForShareLink.cjs.map +1 -0
- package/dist/odspDriverUrlResolverForShareLink.d.ts +5 -3
- package/dist/odspDriverUrlResolverForShareLink.d.ts.map +1 -1
- package/dist/{odspError.js → odspError.cjs} +7 -3
- package/dist/odspError.cjs.map +1 -0
- package/dist/odspError.d.ts.map +1 -1
- package/dist/{odspFluidFileLink.js → odspFluidFileLink.cjs} +25 -18
- package/dist/odspFluidFileLink.cjs.map +1 -0
- package/dist/odspFluidFileLink.d.ts +10 -1
- package/dist/odspFluidFileLink.d.ts.map +1 -1
- package/dist/odspLocationRedirection.cjs +24 -0
- package/dist/odspLocationRedirection.cjs.map +1 -0
- package/dist/odspLocationRedirection.d.ts +14 -0
- package/dist/odspLocationRedirection.d.ts.map +1 -0
- package/dist/{odspPublicUtils.js → odspPublicUtils.cjs} +7 -4
- package/dist/odspPublicUtils.cjs.map +1 -0
- package/dist/odspPublicUtils.d.ts +6 -0
- package/dist/odspPublicUtils.d.ts.map +1 -1
- package/dist/{odspSnapshotParser.js → odspSnapshotParser.cjs} +11 -12
- package/dist/odspSnapshotParser.cjs.map +1 -0
- package/dist/odspSnapshotParser.d.ts.map +1 -1
- package/dist/{odspSummaryUploadManager.js → odspSummaryUploadManager.cjs} +47 -34
- package/dist/odspSummaryUploadManager.cjs.map +1 -0
- package/dist/odspSummaryUploadManager.d.ts +7 -4
- package/dist/odspSummaryUploadManager.d.ts.map +1 -1
- package/dist/{odspUrlHelper.js → odspUrlHelper.cjs} +9 -3
- package/dist/odspUrlHelper.cjs.map +1 -0
- package/dist/odspUrlHelper.d.ts +5 -0
- package/dist/odspUrlHelper.d.ts.map +1 -1
- package/dist/{odspUtils.js → odspUtils.cjs} +118 -30
- package/dist/odspUtils.cjs.map +1 -0
- package/dist/odspUtils.d.ts +35 -6
- package/dist/odspUtils.d.ts.map +1 -1
- package/dist/{opsCaching.js → opsCaching.cjs} +25 -9
- package/dist/opsCaching.cjs.map +1 -0
- package/dist/opsCaching.d.ts +3 -3
- package/dist/opsCaching.d.ts.map +1 -1
- package/dist/{packageVersion.js → packageVersion.cjs} +2 -2
- package/dist/packageVersion.cjs.map +1 -0
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.d.ts.map +1 -1
- package/dist/prefetchLatestSnapshot.cjs +100 -0
- package/dist/prefetchLatestSnapshot.cjs.map +1 -0
- package/dist/prefetchLatestSnapshot.d.ts +12 -7
- package/dist/prefetchLatestSnapshot.d.ts.map +1 -1
- package/dist/{retryErrorsStorageAdapter.js → retryErrorsStorageAdapter.cjs} +13 -6
- package/dist/retryErrorsStorageAdapter.cjs.map +1 -0
- package/dist/retryErrorsStorageAdapter.d.ts +5 -4
- package/dist/retryErrorsStorageAdapter.d.ts.map +1 -1
- package/dist/{retryUtils.js → retryUtils.cjs} +30 -14
- package/dist/retryUtils.cjs.map +1 -0
- package/dist/retryUtils.d.ts +2 -2
- package/dist/retryUtils.d.ts.map +1 -1
- package/dist/socketModule.cjs +10 -0
- package/dist/socketModule.cjs.map +1 -0
- package/dist/socketModule.d.ts +7 -0
- package/dist/socketModule.d.ts.map +1 -0
- package/dist/tsdoc-metadata.json +11 -0
- package/dist/{vroom.js → vroom.cjs} +24 -9
- package/dist/vroom.cjs.map +1 -0
- package/dist/vroom.d.ts +4 -4
- package/dist/vroom.d.ts.map +1 -1
- package/dist/{zipItDataRepresentationUtils.js → zipItDataRepresentationUtils.cjs} +227 -118
- package/dist/zipItDataRepresentationUtils.cjs.map +1 -0
- package/dist/zipItDataRepresentationUtils.d.ts +47 -20
- package/dist/zipItDataRepresentationUtils.d.ts.map +1 -1
- package/lib/ReadBufferUtils.d.mts.map +1 -0
- package/lib/{ReadBufferUtils.js → ReadBufferUtils.mjs} +14 -7
- package/lib/ReadBufferUtils.mjs.map +1 -0
- package/lib/{WriteBufferUtils.d.ts → WriteBufferUtils.d.mts} +3 -5
- package/lib/WriteBufferUtils.d.mts.map +1 -0
- package/lib/{WriteBufferUtils.js → WriteBufferUtils.mjs} +68 -64
- package/lib/WriteBufferUtils.mjs.map +1 -0
- package/lib/{checkUrl.d.ts → checkUrl.d.mts} +1 -0
- package/lib/checkUrl.d.mts.map +1 -0
- package/lib/{checkUrl.js → checkUrl.mjs} +7 -6
- package/lib/checkUrl.mjs.map +1 -0
- package/lib/compactSnapshotParser.d.mts +24 -0
- package/lib/compactSnapshotParser.d.mts.map +1 -0
- package/lib/compactSnapshotParser.mjs +203 -0
- package/lib/compactSnapshotParser.mjs.map +1 -0
- package/lib/{compactSnapshotWriter.d.ts → compactSnapshotWriter.d.mts} +3 -4
- package/lib/compactSnapshotWriter.d.mts.map +1 -0
- package/lib/{compactSnapshotWriter.js → compactSnapshotWriter.mjs} +41 -31
- package/lib/compactSnapshotWriter.mjs.map +1 -0
- package/lib/{constants.d.ts → constants.d.mts} +6 -0
- package/lib/constants.d.mts.map +1 -0
- package/lib/{constants.js → constants.mjs} +7 -1
- package/lib/constants.mjs.map +1 -0
- package/lib/{contracts.d.ts → contracts.d.mts} +17 -54
- package/lib/contracts.d.mts.map +1 -0
- package/lib/{contracts.js → contracts.mjs} +1 -1
- package/lib/contracts.mjs.map +1 -0
- package/lib/{contractsPublic.d.ts → contractsPublic.d.mts} +15 -0
- package/lib/contractsPublic.d.mts.map +1 -0
- package/lib/{contractsPublic.js → contractsPublic.mjs} +7 -1
- package/lib/contractsPublic.mjs.map +1 -0
- package/lib/createFile.d.mts +18 -0
- package/lib/createFile.d.mts.map +1 -0
- package/lib/createFile.mjs +171 -0
- package/lib/createFile.mjs.map +1 -0
- package/lib/createNewContainerOnExistingFile.d.mts +22 -0
- package/lib/createNewContainerOnExistingFile.d.mts.map +1 -0
- package/lib/createNewContainerOnExistingFile.mjs +56 -0
- package/lib/createNewContainerOnExistingFile.mjs.map +1 -0
- package/lib/createNewModule.d.mts +7 -0
- package/lib/createNewModule.d.mts.map +1 -0
- package/lib/createNewModule.mjs +7 -0
- package/lib/createNewModule.mjs.map +1 -0
- package/lib/createNewUtils.d.mts +27 -0
- package/lib/createNewUtils.d.mts.map +1 -0
- package/lib/createNewUtils.mjs +197 -0
- package/lib/createNewUtils.mjs.map +1 -0
- package/lib/{createOdspCreateContainerRequest.d.ts → createOdspCreateContainerRequest.d.mts} +5 -7
- package/lib/createOdspCreateContainerRequest.d.mts.map +1 -0
- package/lib/{createOdspCreateContainerRequest.js → createOdspCreateContainerRequest.mjs} +8 -4
- package/lib/createOdspCreateContainerRequest.mjs.map +1 -0
- package/lib/{createOdspUrl.d.ts → createOdspUrl.d.mts} +2 -1
- package/lib/{createOdspUrl.d.ts.map → createOdspUrl.d.mts.map} +1 -1
- package/lib/{createOdspUrl.js → createOdspUrl.mjs} +2 -1
- package/lib/createOdspUrl.mjs.map +1 -0
- package/lib/{epochTracker.d.ts → epochTracker.d.mts} +34 -10
- package/lib/epochTracker.d.mts.map +1 -0
- package/lib/{epochTracker.js → epochTracker.mjs} +97 -43
- package/lib/epochTracker.mjs.map +1 -0
- package/lib/{fetch.d.ts → fetch.d.mts} +1 -1
- package/lib/{fetch.d.ts.map → fetch.d.mts.map} +1 -1
- package/lib/{fetch.js → fetch.mjs} +1 -1
- package/lib/fetch.mjs.map +1 -0
- package/lib/{fetchSnapshot.d.ts → fetchSnapshot.d.mts} +14 -9
- package/lib/fetchSnapshot.d.mts.map +1 -0
- package/lib/{fetchSnapshot.js → fetchSnapshot.mjs} +185 -167
- package/lib/fetchSnapshot.mjs.map +1 -0
- package/lib/{getFileLink.d.ts → getFileLink.d.mts} +4 -7
- package/lib/getFileLink.d.mts.map +1 -0
- package/lib/{getFileLink.js → getFileLink.mjs} +49 -38
- package/lib/getFileLink.mjs.map +1 -0
- package/lib/{getQueryString.d.ts → getQueryString.d.mts} +0 -4
- package/lib/getQueryString.d.mts.map +1 -0
- package/lib/{getQueryString.js → getQueryString.mjs} +1 -1
- package/lib/getQueryString.mjs.map +1 -0
- package/lib/{getUrlAndHeadersWithAuth.d.ts.map → getUrlAndHeadersWithAuth.d.mts.map} +1 -1
- package/lib/{getUrlAndHeadersWithAuth.js → getUrlAndHeadersWithAuth.mjs} +4 -2
- package/lib/getUrlAndHeadersWithAuth.mjs.map +1 -0
- package/lib/index.d.mts +24 -0
- package/lib/index.d.mts.map +1 -0
- package/lib/index.mjs +22 -0
- package/lib/index.mjs.map +1 -0
- package/lib/localOdspDriver/localOdspDeltaStorageService.d.mts +17 -0
- package/lib/localOdspDriver/localOdspDeltaStorageService.d.mts.map +1 -0
- package/lib/localOdspDriver/localOdspDeltaStorageService.mjs +31 -0
- package/lib/localOdspDriver/localOdspDeltaStorageService.mjs.map +1 -0
- package/lib/localOdspDriver/{localOdspDocumentService.d.ts → localOdspDocumentService.d.mts} +3 -2
- package/lib/localOdspDriver/localOdspDocumentService.d.mts.map +1 -0
- package/lib/localOdspDriver/{localOdspDocumentService.js → localOdspDocumentService.mjs} +8 -6
- package/lib/localOdspDriver/localOdspDocumentService.mjs.map +1 -0
- package/lib/localOdspDriver/{localOdspDocumentServiceFactory.d.ts → localOdspDocumentServiceFactory.d.mts} +4 -5
- package/lib/localOdspDriver/localOdspDocumentServiceFactory.d.mts.map +1 -0
- package/lib/localOdspDriver/{localOdspDocumentServiceFactory.js → localOdspDocumentServiceFactory.mjs} +9 -10
- package/lib/localOdspDriver/localOdspDocumentServiceFactory.mjs.map +1 -0
- package/lib/localOdspDriver/{localOdspDocumentStorageManager.d.ts → localOdspDocumentStorageManager.d.mts} +3 -3
- package/lib/localOdspDriver/localOdspDocumentStorageManager.d.mts.map +1 -0
- package/lib/localOdspDriver/{localOdspDocumentStorageManager.js → localOdspDocumentStorageManager.mjs} +11 -9
- package/lib/localOdspDriver/localOdspDocumentStorageManager.mjs.map +1 -0
- package/lib/odsp-driver-alpha.d.mts +497 -0
- package/lib/odsp-driver-beta.d.mts +159 -0
- package/lib/odsp-driver-public.d.mts +159 -0
- package/lib/odsp-driver-untrimmed.d.mts +566 -0
- package/lib/{odspCache.d.ts → odspCache.d.mts} +19 -8
- package/lib/odspCache.d.mts.map +1 -0
- package/lib/{odspCache.js → odspCache.mjs} +6 -11
- package/lib/odspCache.mjs.map +1 -0
- package/lib/odspDelayLoadedDeltaStream.d.mts +75 -0
- package/lib/odspDelayLoadedDeltaStream.d.mts.map +1 -0
- package/lib/odspDelayLoadedDeltaStream.mjs +287 -0
- package/lib/odspDelayLoadedDeltaStream.mjs.map +1 -0
- package/lib/{odspDeltaStorageService.d.ts → odspDeltaStorageService.d.mts} +9 -7
- package/lib/odspDeltaStorageService.d.mts.map +1 -0
- package/lib/{odspDeltaStorageService.js → odspDeltaStorageService.mjs} +70 -68
- package/lib/odspDeltaStorageService.mjs.map +1 -0
- package/lib/{odspDocumentDeltaConnection.d.ts → odspDocumentDeltaConnection.d.mts} +33 -13
- package/lib/odspDocumentDeltaConnection.d.mts.map +1 -0
- package/lib/{odspDocumentDeltaConnection.js → odspDocumentDeltaConnection.mjs} +214 -103
- package/lib/odspDocumentDeltaConnection.mjs.map +1 -0
- package/lib/{odspDocumentService.d.ts → odspDocumentService.d.mts} +14 -28
- package/lib/odspDocumentService.d.mts.map +1 -0
- package/lib/odspDocumentService.mjs +221 -0
- package/lib/odspDocumentService.mjs.map +1 -0
- package/lib/{odspDocumentServiceFactory.d.ts → odspDocumentServiceFactory.d.mts} +5 -1
- package/lib/odspDocumentServiceFactory.d.mts.map +1 -0
- package/lib/{odspDocumentServiceFactory.js → odspDocumentServiceFactory.mjs} +8 -6
- package/lib/odspDocumentServiceFactory.mjs.map +1 -0
- package/lib/{odspDocumentServiceFactoryCore.d.ts → odspDocumentServiceFactoryCore.d.mts} +17 -12
- package/lib/odspDocumentServiceFactoryCore.d.mts.map +1 -0
- package/lib/odspDocumentServiceFactoryCore.mjs +192 -0
- package/lib/odspDocumentServiceFactoryCore.mjs.map +1 -0
- package/lib/{odspDocumentServiceFactoryWithCodeSplit.d.ts → odspDocumentServiceFactoryWithCodeSplit.d.mts} +6 -1
- package/lib/odspDocumentServiceFactoryWithCodeSplit.d.mts.map +1 -0
- package/lib/{odspDocumentServiceFactoryWithCodeSplit.js → odspDocumentServiceFactoryWithCodeSplit.mjs} +8 -3
- package/lib/odspDocumentServiceFactoryWithCodeSplit.mjs.map +1 -0
- package/lib/{odspDocumentStorageManager.d.ts → odspDocumentStorageManager.d.mts} +17 -11
- package/lib/odspDocumentStorageManager.d.mts.map +1 -0
- package/lib/odspDocumentStorageManager.mjs +486 -0
- package/lib/odspDocumentStorageManager.mjs.map +1 -0
- package/lib/{odspDocumentStorageServiceBase.d.ts → odspDocumentStorageServiceBase.d.mts} +8 -10
- package/lib/odspDocumentStorageServiceBase.d.mts.map +1 -0
- package/lib/{odspDocumentStorageServiceBase.js → odspDocumentStorageServiceBase.mjs} +31 -33
- package/lib/odspDocumentStorageServiceBase.mjs.map +1 -0
- package/lib/{odspDriverUrlResolver.d.ts → odspDriverUrlResolver.d.mts} +12 -0
- package/lib/odspDriverUrlResolver.d.mts.map +1 -0
- package/lib/{odspDriverUrlResolver.js → odspDriverUrlResolver.mjs} +50 -40
- package/lib/odspDriverUrlResolver.mjs.map +1 -0
- package/lib/{odspDriverUrlResolverForShareLink.d.ts → odspDriverUrlResolverForShareLink.d.mts} +6 -4
- package/lib/odspDriverUrlResolverForShareLink.d.mts.map +1 -0
- package/lib/{odspDriverUrlResolverForShareLink.js → odspDriverUrlResolverForShareLink.mjs} +36 -29
- package/lib/odspDriverUrlResolverForShareLink.mjs.map +1 -0
- package/lib/{odspError.d.ts → odspError.d.mts} +1 -1
- package/lib/odspError.d.mts.map +1 -0
- package/lib/{odspError.js → odspError.mjs} +7 -3
- package/lib/odspError.mjs.map +1 -0
- package/lib/{odspFluidFileLink.d.ts → odspFluidFileLink.d.mts} +11 -2
- package/lib/odspFluidFileLink.d.mts.map +1 -0
- package/lib/{odspFluidFileLink.js → odspFluidFileLink.mjs} +23 -16
- package/lib/odspFluidFileLink.mjs.map +1 -0
- package/lib/odspLocationRedirection.d.mts +14 -0
- package/lib/odspLocationRedirection.d.mts.map +1 -0
- package/lib/odspLocationRedirection.mjs +20 -0
- package/lib/odspLocationRedirection.mjs.map +1 -0
- package/lib/{odspPublicUtils.d.ts → odspPublicUtils.d.mts} +6 -0
- package/lib/odspPublicUtils.d.mts.map +1 -0
- package/lib/{odspPublicUtils.js → odspPublicUtils.mjs} +5 -2
- package/lib/odspPublicUtils.mjs.map +1 -0
- package/lib/{odspSnapshotParser.d.ts → odspSnapshotParser.d.mts} +2 -2
- package/lib/odspSnapshotParser.d.mts.map +1 -0
- package/lib/{odspSnapshotParser.js → odspSnapshotParser.mjs} +10 -11
- package/lib/odspSnapshotParser.mjs.map +1 -0
- package/lib/{odspSummaryUploadManager.d.ts → odspSummaryUploadManager.d.mts} +8 -5
- package/lib/odspSummaryUploadManager.d.mts.map +1 -0
- package/lib/{odspSummaryUploadManager.js → odspSummaryUploadManager.mjs} +41 -32
- package/lib/odspSummaryUploadManager.mjs.map +1 -0
- package/lib/{odspUrlHelper.d.ts → odspUrlHelper.d.mts} +5 -0
- package/lib/odspUrlHelper.d.mts.map +1 -0
- package/lib/{odspUrlHelper.js → odspUrlHelper.mjs} +9 -3
- package/lib/odspUrlHelper.mjs.map +1 -0
- package/lib/{odspUtils.d.ts → odspUtils.d.mts} +36 -7
- package/lib/odspUtils.d.mts.map +1 -0
- package/lib/{odspUtils.js → odspUtils.mjs} +109 -27
- package/lib/odspUtils.mjs.map +1 -0
- package/lib/{opsCaching.d.ts → opsCaching.d.mts} +3 -3
- package/lib/opsCaching.d.mts.map +1 -0
- package/lib/{opsCaching.js → opsCaching.mjs} +23 -7
- package/lib/opsCaching.mjs.map +1 -0
- package/lib/{packageVersion.d.ts → packageVersion.d.mts} +1 -1
- package/lib/{packageVersion.d.ts.map → packageVersion.d.mts.map} +1 -1
- package/lib/{packageVersion.js → packageVersion.mjs} +2 -2
- package/lib/packageVersion.mjs.map +1 -0
- package/lib/{prefetchLatestSnapshot.d.ts → prefetchLatestSnapshot.d.mts} +13 -8
- package/lib/prefetchLatestSnapshot.d.mts.map +1 -0
- package/lib/prefetchLatestSnapshot.mjs +96 -0
- package/lib/prefetchLatestSnapshot.mjs.map +1 -0
- package/lib/{retryErrorsStorageAdapter.d.ts → retryErrorsStorageAdapter.d.mts} +5 -4
- package/lib/retryErrorsStorageAdapter.d.mts.map +1 -0
- package/lib/{retryErrorsStorageAdapter.js → retryErrorsStorageAdapter.mjs} +13 -6
- package/lib/retryErrorsStorageAdapter.mjs.map +1 -0
- package/lib/{retryUtils.d.ts → retryUtils.d.mts} +2 -2
- package/lib/retryUtils.d.mts.map +1 -0
- package/lib/{retryUtils.js → retryUtils.mjs} +27 -11
- package/lib/retryUtils.mjs.map +1 -0
- package/lib/socketModule.d.mts +7 -0
- package/lib/socketModule.d.mts.map +1 -0
- package/lib/socketModule.mjs +7 -0
- package/lib/socketModule.mjs.map +1 -0
- package/lib/{vroom.d.ts → vroom.d.mts} +6 -6
- package/lib/vroom.d.mts.map +1 -0
- package/lib/{vroom.js → vroom.mjs} +24 -9
- package/lib/vroom.mjs.map +1 -0
- package/lib/{zipItDataRepresentationUtils.d.ts → zipItDataRepresentationUtils.d.mts} +48 -21
- package/lib/zipItDataRepresentationUtils.d.mts.map +1 -0
- package/lib/{zipItDataRepresentationUtils.js → zipItDataRepresentationUtils.mjs} +213 -111
- package/lib/zipItDataRepresentationUtils.mjs.map +1 -0
- package/package.json +89 -69
- package/prettier.config.cjs +8 -0
- package/src/ReadBufferUtils.ts +51 -44
- package/src/WriteBufferUtils.ts +203 -181
- package/src/checkUrl.ts +16 -15
- package/src/compactSnapshotParser.ts +219 -103
- package/src/compactSnapshotWriter.ts +118 -97
- package/src/constants.ts +7 -0
- package/src/contracts.ts +96 -136
- package/src/contractsPublic.ts +31 -16
- package/src/createFile.ts +243 -305
- package/src/createNewContainerOnExistingFile.ts +93 -0
- package/src/createNewModule.ts +7 -0
- package/src/createNewUtils.ts +266 -56
- package/src/createOdspCreateContainerRequest.ts +22 -18
- package/src/createOdspUrl.ts +12 -13
- package/src/epochTracker.ts +596 -457
- package/src/fetch.ts +4 -4
- package/src/fetchSnapshot.ts +583 -508
- package/src/getFileLink.ts +194 -155
- package/src/getQueryString.ts +11 -9
- package/src/getUrlAndHeadersWithAuth.ts +34 -33
- package/src/index.ts +42 -18
- package/src/localOdspDriver/localOdspDeltaStorageService.ts +49 -0
- package/src/localOdspDriver/localOdspDocumentService.ts +40 -38
- package/src/localOdspDriver/localOdspDocumentServiceFactory.ts +46 -43
- package/src/localOdspDriver/localOdspDocumentStorageManager.ts +55 -50
- package/src/odspCache.ts +112 -90
- package/src/odspDelayLoadedDeltaStream.ts +459 -0
- package/src/odspDeltaStorageService.ts +232 -221
- package/src/odspDocumentDeltaConnection.ts +751 -563
- package/src/odspDocumentService.ts +324 -523
- package/src/odspDocumentServiceFactory.ts +20 -21
- package/src/odspDocumentServiceFactoryCore.ts +325 -202
- package/src/odspDocumentServiceFactoryWithCodeSplit.ts +20 -20
- package/src/odspDocumentStorageManager.ts +730 -534
- package/src/odspDocumentStorageServiceBase.ts +279 -254
- package/src/odspDriverUrlResolver.ts +230 -188
- package/src/odspDriverUrlResolverForShareLink.ts +223 -203
- package/src/odspError.ts +27 -19
- package/src/odspFluidFileLink.ts +106 -87
- package/src/odspLocationRedirection.ts +26 -0
- package/src/odspPublicUtils.ts +20 -14
- package/src/odspSnapshotParser.ts +53 -46
- package/src/odspSummaryUploadManager.ts +243 -218
- package/src/odspUrlHelper.ts +81 -71
- package/src/odspUtils.ts +401 -259
- package/src/opsCaching.ts +214 -193
- package/src/packageVersion.ts +1 -1
- package/src/prefetchLatestSnapshot.ts +142 -80
- package/src/retryErrorsStorageAdapter.ts +92 -77
- package/src/retryUtils.ts +80 -57
- package/src/socketModule.ts +8 -0
- package/src/vroom.ts +92 -83
- package/src/zipItDataRepresentationUtils.ts +534 -394
- package/tsc-multi.test.json +4 -0
- package/tsconfig.json +11 -13
- package/.editorconfig +0 -7
- package/dist/ReadBufferUtils.js.map +0 -1
- package/dist/WriteBufferUtils.js.map +0 -1
- package/dist/checkUrl.js.map +0 -1
- package/dist/compactSnapshotParser.js +0 -115
- package/dist/compactSnapshotParser.js.map +0 -1
- package/dist/compactSnapshotWriter.js.map +0 -1
- package/dist/constants.js.map +0 -1
- package/dist/contracts.js.map +0 -1
- package/dist/contractsPublic.js.map +0 -1
- package/dist/createFile.js +0 -242
- package/dist/createFile.js.map +0 -1
- package/dist/createNewUtils.js +0 -67
- package/dist/createNewUtils.js.map +0 -1
- package/dist/createOdspCreateContainerRequest.js.map +0 -1
- package/dist/createOdspUrl.js.map +0 -1
- package/dist/epochTracker.js.map +0 -1
- package/dist/fetch.js.map +0 -1
- package/dist/fetchSnapshot.js.map +0 -1
- package/dist/getFileLink.js.map +0 -1
- package/dist/getQueryString.js.map +0 -1
- package/dist/getSocketIo.d.ts +0 -11
- package/dist/getSocketIo.d.ts.map +0 -1
- package/dist/getSocketIo.js +0 -20
- package/dist/getSocketIo.js.map +0 -1
- package/dist/getUrlAndHeadersWithAuth.js.map +0 -1
- package/dist/index.js +0 -41
- package/dist/index.js.map +0 -1
- package/dist/localOdspDriver/localOdspDocumentService.js.map +0 -1
- package/dist/localOdspDriver/localOdspDocumentServiceFactory.js.map +0 -1
- package/dist/localOdspDriver/localOdspDocumentStorageManager.js.map +0 -1
- package/dist/odspCache.js.map +0 -1
- package/dist/odspDeltaStorageService.js.map +0 -1
- package/dist/odspDocumentDeltaConnection.js.map +0 -1
- package/dist/odspDocumentService.js +0 -364
- package/dist/odspDocumentService.js.map +0 -1
- package/dist/odspDocumentServiceFactory.js.map +0 -1
- package/dist/odspDocumentServiceFactoryCore.js +0 -118
- package/dist/odspDocumentServiceFactoryCore.js.map +0 -1
- package/dist/odspDocumentServiceFactoryWithCodeSplit.js +0 -34
- package/dist/odspDocumentServiceFactoryWithCodeSplit.js.map +0 -1
- package/dist/odspDocumentStorageManager.js +0 -356
- package/dist/odspDocumentStorageManager.js.map +0 -1
- package/dist/odspDocumentStorageServiceBase.js.map +0 -1
- package/dist/odspDriverUrlResolver.js.map +0 -1
- package/dist/odspDriverUrlResolverForShareLink.js.map +0 -1
- package/dist/odspError.js.map +0 -1
- package/dist/odspFluidFileLink.js.map +0 -1
- package/dist/odspPublicUtils.js.map +0 -1
- package/dist/odspSnapshotParser.js.map +0 -1
- package/dist/odspSummaryUploadManager.js.map +0 -1
- package/dist/odspUrlHelper.js.map +0 -1
- package/dist/odspUtils.js.map +0 -1
- package/dist/opsCaching.js.map +0 -1
- package/dist/packageVersion.js.map +0 -1
- package/dist/prefetchLatestSnapshot.js +0 -57
- package/dist/prefetchLatestSnapshot.js.map +0 -1
- package/dist/retryErrorsStorageAdapter.js.map +0 -1
- package/dist/retryUtils.js.map +0 -1
- package/dist/vroom.js.map +0 -1
- package/dist/zipItDataRepresentationUtils.js.map +0 -1
- package/lib/ReadBufferUtils.d.ts.map +0 -1
- package/lib/ReadBufferUtils.js.map +0 -1
- package/lib/WriteBufferUtils.d.ts.map +0 -1
- package/lib/WriteBufferUtils.js.map +0 -1
- package/lib/checkUrl.d.ts.map +0 -1
- package/lib/checkUrl.js.map +0 -1
- package/lib/compactSnapshotParser.d.ts +0 -15
- package/lib/compactSnapshotParser.d.ts.map +0 -1
- package/lib/compactSnapshotParser.js +0 -111
- package/lib/compactSnapshotParser.js.map +0 -1
- package/lib/compactSnapshotWriter.d.ts.map +0 -1
- package/lib/compactSnapshotWriter.js.map +0 -1
- package/lib/constants.d.ts.map +0 -1
- package/lib/constants.js.map +0 -1
- package/lib/contracts.d.ts.map +0 -1
- package/lib/contracts.js.map +0 -1
- package/lib/contractsPublic.d.ts.map +0 -1
- package/lib/contractsPublic.js.map +0 -1
- package/lib/createFile.d.ts +0 -22
- package/lib/createFile.d.ts.map +0 -1
- package/lib/createFile.js +0 -235
- package/lib/createFile.js.map +0 -1
- package/lib/createNewUtils.d.ts +0 -11
- package/lib/createNewUtils.d.ts.map +0 -1
- package/lib/createNewUtils.js +0 -63
- package/lib/createNewUtils.js.map +0 -1
- package/lib/createOdspCreateContainerRequest.d.ts.map +0 -1
- package/lib/createOdspCreateContainerRequest.js.map +0 -1
- package/lib/createOdspUrl.js.map +0 -1
- package/lib/epochTracker.d.ts.map +0 -1
- package/lib/epochTracker.js.map +0 -1
- package/lib/fetch.js.map +0 -1
- package/lib/fetchSnapshot.d.ts.map +0 -1
- package/lib/fetchSnapshot.js.map +0 -1
- package/lib/getFileLink.d.ts.map +0 -1
- package/lib/getFileLink.js.map +0 -1
- package/lib/getQueryString.d.ts.map +0 -1
- package/lib/getQueryString.js.map +0 -1
- package/lib/getSocketIo.d.ts +0 -11
- package/lib/getSocketIo.d.ts.map +0 -1
- package/lib/getSocketIo.js +0 -13
- package/lib/getSocketIo.js.map +0 -1
- package/lib/getUrlAndHeadersWithAuth.js.map +0 -1
- package/lib/index.d.ts +0 -21
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js +0 -29
- package/lib/index.js.map +0 -1
- package/lib/localOdspDriver/localOdspDocumentService.d.ts.map +0 -1
- package/lib/localOdspDriver/localOdspDocumentService.js.map +0 -1
- package/lib/localOdspDriver/localOdspDocumentServiceFactory.d.ts.map +0 -1
- package/lib/localOdspDriver/localOdspDocumentServiceFactory.js.map +0 -1
- package/lib/localOdspDriver/localOdspDocumentStorageManager.d.ts.map +0 -1
- package/lib/localOdspDriver/localOdspDocumentStorageManager.js.map +0 -1
- package/lib/odspCache.d.ts.map +0 -1
- package/lib/odspCache.js.map +0 -1
- package/lib/odspDeltaStorageService.d.ts.map +0 -1
- package/lib/odspDeltaStorageService.js.map +0 -1
- package/lib/odspDocumentDeltaConnection.d.ts.map +0 -1
- package/lib/odspDocumentDeltaConnection.js.map +0 -1
- package/lib/odspDocumentService.d.ts.map +0 -1
- package/lib/odspDocumentService.js +0 -360
- package/lib/odspDocumentService.js.map +0 -1
- package/lib/odspDocumentServiceFactory.d.ts.map +0 -1
- package/lib/odspDocumentServiceFactory.js.map +0 -1
- package/lib/odspDocumentServiceFactoryCore.d.ts.map +0 -1
- package/lib/odspDocumentServiceFactoryCore.js +0 -114
- package/lib/odspDocumentServiceFactoryCore.js.map +0 -1
- package/lib/odspDocumentServiceFactoryWithCodeSplit.d.ts.map +0 -1
- package/lib/odspDocumentServiceFactoryWithCodeSplit.js.map +0 -1
- package/lib/odspDocumentStorageManager.d.ts.map +0 -1
- package/lib/odspDocumentStorageManager.js +0 -352
- package/lib/odspDocumentStorageManager.js.map +0 -1
- package/lib/odspDocumentStorageServiceBase.d.ts.map +0 -1
- package/lib/odspDocumentStorageServiceBase.js.map +0 -1
- package/lib/odspDriverUrlResolver.d.ts.map +0 -1
- package/lib/odspDriverUrlResolver.js.map +0 -1
- package/lib/odspDriverUrlResolverForShareLink.d.ts.map +0 -1
- package/lib/odspDriverUrlResolverForShareLink.js.map +0 -1
- package/lib/odspError.d.ts.map +0 -1
- package/lib/odspError.js.map +0 -1
- package/lib/odspFluidFileLink.d.ts.map +0 -1
- package/lib/odspFluidFileLink.js.map +0 -1
- package/lib/odspPublicUtils.d.ts.map +0 -1
- package/lib/odspPublicUtils.js.map +0 -1
- package/lib/odspSnapshotParser.d.ts.map +0 -1
- package/lib/odspSnapshotParser.js.map +0 -1
- package/lib/odspSummaryUploadManager.d.ts.map +0 -1
- package/lib/odspSummaryUploadManager.js.map +0 -1
- package/lib/odspUrlHelper.d.ts.map +0 -1
- package/lib/odspUrlHelper.js.map +0 -1
- package/lib/odspUtils.d.ts.map +0 -1
- package/lib/odspUtils.js.map +0 -1
- package/lib/opsCaching.d.ts.map +0 -1
- package/lib/opsCaching.js.map +0 -1
- package/lib/packageVersion.js.map +0 -1
- package/lib/prefetchLatestSnapshot.d.ts.map +0 -1
- package/lib/prefetchLatestSnapshot.js +0 -53
- package/lib/prefetchLatestSnapshot.js.map +0 -1
- package/lib/retryErrorsStorageAdapter.d.ts.map +0 -1
- package/lib/retryErrorsStorageAdapter.js.map +0 -1
- package/lib/retryUtils.d.ts.map +0 -1
- package/lib/retryUtils.js.map +0 -1
- package/lib/vroom.d.ts.map +0 -1
- package/lib/vroom.js.map +0 -1
- package/lib/zipItDataRepresentationUtils.d.ts.map +0 -1
- package/lib/zipItDataRepresentationUtils.js.map +0 -1
- package/src/getSocketIo.ts +0 -14
- package/tsconfig.esnext.json +0 -7
- /package/lib/{ReadBufferUtils.d.ts → ReadBufferUtils.d.mts} +0 -0
- /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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
40
|
-
|
|
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/
|
|
6
|
+
import { ITelemetryBaseLogger, ITelemetryLogger } from "@fluidframework/core-interfaces";
|
|
7
7
|
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
15
|
-
|
|
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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
-
|
|
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 {
|
|
42
|
-
|
|
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
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
}
|