@fluidframework/odsp-driver 1.4.0-121020 → 2.0.0-dev-rc.1.0.0.225277
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +12 -12
- package/.mocharc.js +12 -0
- package/CHANGELOG.md +162 -0
- package/README.md +56 -0
- package/api-extractor-esm.json +4 -0
- package/api-extractor-lint.json +4 -0
- package/api-extractor.json +2 -2
- package/api-report/odsp-driver.api.md +309 -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 +496 -0
- package/dist/odsp-driver-beta.d.ts +160 -0
- package/dist/odsp-driver-public.d.ts +160 -0
- package/dist/odsp-driver-untrimmed.d.ts +565 -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 +18 -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.ts → ReadBufferUtils.d.mts} +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} +4 -6
- 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} +2 -1
- 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} +4 -5
- 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} +7 -1
- 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} +18 -55
- 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} +16 -1
- 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} +6 -8
- 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} +3 -2
- package/lib/createOdspUrl.d.mts.map +1 -0
- package/lib/{createOdspUrl.js → createOdspUrl.mjs} +2 -1
- package/lib/createOdspUrl.mjs.map +1 -0
- package/lib/{epochTracker.d.ts → epochTracker.d.mts} +35 -11
- 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} +2 -2
- package/lib/fetch.d.mts.map +1 -0
- package/lib/{fetch.js → fetch.mjs} +1 -1
- package/lib/fetch.mjs.map +1 -0
- package/lib/{fetchSnapshot.d.ts → fetchSnapshot.d.mts} +15 -10
- 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} +5 -8
- 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} +1 -5
- 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 → getUrlAndHeadersWithAuth.d.mts} +1 -1
- package/lib/getUrlAndHeadersWithAuth.d.mts.map +1 -0
- 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} +4 -3
- 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} +5 -6
- 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} +4 -4
- 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 +496 -0
- package/lib/odsp-driver-beta.d.mts +160 -0
- package/lib/odsp-driver-public.d.mts +160 -0
- package/lib/odsp-driver-untrimmed.d.mts +565 -0
- package/lib/{odspCache.d.ts → odspCache.d.mts} +20 -9
- 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} +10 -8
- 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} +34 -14
- 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} +15 -29
- 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} +6 -2
- 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} +20 -13
- 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} +7 -2
- 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} +18 -12
- 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} +9 -11
- 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} +13 -1
- 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} +7 -5
- 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} +2 -2
- 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} +12 -3
- 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} +7 -1
- 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} +3 -3
- 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} +9 -6
- 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} +6 -1
- 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} +37 -8
- 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} +4 -4
- 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} +2 -2
- package/lib/packageVersion.d.mts.map +1 -0
- package/lib/{packageVersion.js → packageVersion.mjs} +2 -2
- package/lib/packageVersion.mjs.map +1 -0
- package/lib/{prefetchLatestSnapshot.d.ts → prefetchLatestSnapshot.d.mts} +14 -9
- 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} +6 -5
- 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} +3 -3
- 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} +7 -7
- 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} +49 -22
- 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 +87 -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 +329 -200
- 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.d.ts.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.d.ts.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.d.ts.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.d.ts.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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"epochTracker.d.ts","sourceRoot":"","sources":["../src/epochTracker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,
|
|
1
|
+
{"version":3,"file":"epochTracker.d.ts","sourceRoot":"","sources":["../src/epochTracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,4 +14,4 @@ const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
|
14
14
|
// in the browser's types from 'lib.dom.d.ts'.
|
|
15
15
|
const fetch = async (request, config) => (0, node_fetch_1.default)(request, config);
|
|
16
16
|
exports.fetch = fetch;
|
|
17
|
-
//# sourceMappingURL=fetch.
|
|
17
|
+
//# sourceMappingURL=fetch.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.cjs","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAEH,4DAIoB;AAEpB,yFAAyF;AACzF,gGAAgG;AAChG,8CAA8C;AACvC,MAAM,KAAK,GAAG,KAAK,EAAE,OAAoB,EAAE,MAAoB,EAAqB,EAAE,CAC5F,IAAA,oBAAS,EAAC,OAA2B,EAAE,MAA0B,CAAwB,CAAC;AAD9E,QAAA,KAAK,SACyE","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n\tdefault as nodeFetch,\n\tRequestInfo as FetchRequestInfo,\n\tRequestInit as FetchRequestInit,\n} from \"node-fetch\";\n\n// The only purpose of this helper is to work around the slight misalignments between the\n// Browser's fetch API and the 'node-fetch' package by wrapping the call to the 'node-fetch' API\n// in the browser's types from 'lib.dom.d.ts'.\nexport const fetch = async (request: RequestInfo, config?: RequestInit): Promise<Response> =>\n\tnodeFetch(request as FetchRequestInfo, config as FetchRequestInit) as unknown as Response;\n"]}
|
package/dist/fetch.d.ts
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
|
-
export declare const fetch: (request: RequestInfo, config?: RequestInit
|
|
5
|
+
export declare const fetch: (request: RequestInfo, config?: RequestInit) => Promise<Response>;
|
|
6
6
|
//# sourceMappingURL=fetch.d.ts.map
|
package/dist/fetch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,eAAO,MAAM,KAAK,YAAmB,WAAW,
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,eAAO,MAAM,KAAK,YAAmB,WAAW,WAAW,WAAW,KAAG,QAAQ,QAAQ,CACC,CAAC"}
|
|
@@ -3,35 +3,34 @@
|
|
|
3
3
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
-
};
|
|
9
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.downloadSnapshot = exports.validateBlobsAndTrees = exports.fetchSnapshotWithRedeem = exports.fetchSnapshot = exports.SnapshotFormatSupportType = void 0;
|
|
11
|
-
const abort_controller_1 = __importDefault(require("abort-controller"));
|
|
7
|
+
exports.downloadSnapshot = exports.validateBlobsAndTrees = exports.evalBlobsAndTrees = exports.fetchSnapshotWithRedeem = exports.fetchSnapshot = exports.SnapshotFormatSupportType = void 0;
|
|
12
8
|
const uuid_1 = require("uuid");
|
|
13
|
-
const common_utils_1 = require("@fluidframework/common-utils");
|
|
14
|
-
const driver_definitions_1 = require("@fluidframework/driver-definitions");
|
|
15
9
|
const telemetry_utils_1 = require("@fluidframework/telemetry-utils");
|
|
10
|
+
const client_utils_1 = require("@fluid-internal/client-utils");
|
|
11
|
+
const core_utils_1 = require("@fluidframework/core-utils");
|
|
12
|
+
const driver_base_1 = require("@fluidframework/driver-base");
|
|
13
|
+
const driver_definitions_1 = require("@fluidframework/driver-definitions");
|
|
16
14
|
const odsp_driver_definitions_1 = require("@fluidframework/odsp-driver-definitions");
|
|
17
15
|
const driver_utils_1 = require("@fluidframework/driver-utils");
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const packageVersion_1 = require("./packageVersion");
|
|
16
|
+
const odsp_doclib_utils_1 = require("@fluidframework/odsp-doclib-utils");
|
|
17
|
+
const contracts_1 = require("./contracts.cjs");
|
|
18
|
+
const getQueryString_1 = require("./getQueryString.cjs");
|
|
19
|
+
const getUrlAndHeadersWithAuth_1 = require("./getUrlAndHeadersWithAuth.cjs");
|
|
20
|
+
const odspUtils_1 = require("./odspUtils.cjs");
|
|
21
|
+
const odspSnapshotParser_1 = require("./odspSnapshotParser.cjs");
|
|
22
|
+
const compactSnapshotParser_1 = require("./compactSnapshotParser.cjs");
|
|
23
|
+
const packageVersion_1 = require("./packageVersion.cjs");
|
|
26
24
|
/**
|
|
27
25
|
* Enum to support different types of snapshot formats.
|
|
26
|
+
* @alpha
|
|
28
27
|
*/
|
|
29
28
|
var SnapshotFormatSupportType;
|
|
30
29
|
(function (SnapshotFormatSupportType) {
|
|
31
30
|
SnapshotFormatSupportType[SnapshotFormatSupportType["Json"] = 0] = "Json";
|
|
32
31
|
SnapshotFormatSupportType[SnapshotFormatSupportType["Binary"] = 1] = "Binary";
|
|
33
32
|
SnapshotFormatSupportType[SnapshotFormatSupportType["JsonAndBinary"] = 2] = "JsonAndBinary";
|
|
34
|
-
})(SnapshotFormatSupportType
|
|
33
|
+
})(SnapshotFormatSupportType || (exports.SnapshotFormatSupportType = SnapshotFormatSupportType = {}));
|
|
35
34
|
/**
|
|
36
35
|
* Fetches a snapshot from the server with a given version id.
|
|
37
36
|
* @param snapshotUrl - snapshot url from where the odsp snapshot will be fetched
|
|
@@ -42,23 +41,20 @@ var SnapshotFormatSupportType;
|
|
|
42
41
|
* @param forceAccessTokenViaAuthorizationHeader - whether to force passing given token via authorization header
|
|
43
42
|
* @returns A promise of the snapshot and the status code of the response
|
|
44
43
|
*/
|
|
45
|
-
async function fetchSnapshot(snapshotUrl,
|
|
44
|
+
async function fetchSnapshot(snapshotUrl,
|
|
45
|
+
// eslint-disable-next-line @rushstack/no-new-null
|
|
46
|
+
token, versionId, fetchFullSnapshot, forceAccessTokenViaAuthorizationHeader, logger, snapshotDownloader) {
|
|
46
47
|
const path = `/trees/${versionId}`;
|
|
47
48
|
let queryParams = {};
|
|
48
49
|
if (fetchFullSnapshot) {
|
|
49
|
-
|
|
50
|
-
queryParams = { channels: 1, blobs: 2 };
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
queryParams = { deltas: 1, channels: 1, blobs: 2 };
|
|
54
|
-
}
|
|
50
|
+
queryParams = versionId !== "latest" ? { blobs: 2 } : { deltas: 1, blobs: 2 };
|
|
55
51
|
}
|
|
56
52
|
const queryString = (0, getQueryString_1.getQueryString)(queryParams);
|
|
57
53
|
const { url, headers } = (0, getUrlAndHeadersWithAuth_1.getUrlAndHeadersWithAuth)(`${snapshotUrl}${path}${queryString}`, token, forceAccessTokenViaAuthorizationHeader);
|
|
58
|
-
const response = await telemetry_utils_1.PerformanceEvent.timedExecAsync(logger, {
|
|
54
|
+
const response = (await telemetry_utils_1.PerformanceEvent.timedExecAsync(logger, {
|
|
59
55
|
eventName: "fetchSnapshot",
|
|
60
56
|
headers: Object.keys(headers).length !== 0 ? true : undefined,
|
|
61
|
-
}, async () => snapshotDownloader(url, { headers }));
|
|
57
|
+
}, async () => snapshotDownloader(url, { headers })));
|
|
62
58
|
return (0, odspSnapshotParser_1.convertOdspSnapshotToSnapshotTreeAndBlobs)(response.content);
|
|
63
59
|
}
|
|
64
60
|
exports.fetchSnapshot = fetchSnapshot;
|
|
@@ -66,28 +62,42 @@ async function fetchSnapshotWithRedeem(odspResolvedUrl, storageTokenFetcher, sna
|
|
|
66
62
|
// back-compat: This block to be removed with #8784 when we only consume/consider odsp resolvers that are >= 0.51
|
|
67
63
|
const sharingLinkToRedeem = odspResolvedUrl.sharingLinkToRedeem;
|
|
68
64
|
if (sharingLinkToRedeem) {
|
|
69
|
-
odspResolvedUrl.shareLinkInfo =
|
|
65
|
+
odspResolvedUrl.shareLinkInfo = { ...odspResolvedUrl.shareLinkInfo, sharingLinkToRedeem };
|
|
70
66
|
}
|
|
71
|
-
return fetchLatestSnapshotCore(odspResolvedUrl, storageTokenFetcher, snapshotOptions, logger, snapshotDownloader, putInCache, enableRedeemFallback)
|
|
67
|
+
return fetchLatestSnapshotCore(odspResolvedUrl, storageTokenFetcher, snapshotOptions, logger, snapshotDownloader, putInCache, enableRedeemFallback)
|
|
68
|
+
.catch(async (error) => {
|
|
72
69
|
if (enableRedeemFallback && isRedeemSharingLinkError(odspResolvedUrl, error)) {
|
|
73
70
|
// Execute the redeem fallback
|
|
74
|
-
logger
|
|
71
|
+
await redeemSharingLink(odspResolvedUrl, storageTokenFetcher, logger, forceAccessTokenViaAuthorizationHeader);
|
|
72
|
+
const odspResolvedUrlWithoutShareLink = {
|
|
73
|
+
...odspResolvedUrl,
|
|
74
|
+
shareLinkInfo: {
|
|
75
|
+
...odspResolvedUrl.shareLinkInfo,
|
|
76
|
+
sharingLinkToRedeem: undefined,
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
// Log initial failure only if redeem succeeded - it points out to some bug somewhere
|
|
80
|
+
// If redeem failed, that most likely means user has no permissions to access a file,
|
|
81
|
+
// and thus it's not worth it logging extra errors - same error will be logged by end-to-end
|
|
82
|
+
// flow (container open) based on a failure above.
|
|
83
|
+
logger.sendTelemetryEvent({
|
|
75
84
|
eventName: "RedeemFallback",
|
|
76
85
|
errorType: error.errorType,
|
|
77
86
|
}, error);
|
|
78
|
-
await redeemSharingLink(odspResolvedUrl, storageTokenFetcher, logger, forceAccessTokenViaAuthorizationHeader);
|
|
79
|
-
const odspResolvedUrlWithoutShareLink = Object.assign(Object.assign({}, odspResolvedUrl), { shareLinkInfo: Object.assign(Object.assign({}, odspResolvedUrl.shareLinkInfo), { sharingLinkToRedeem: undefined }) });
|
|
80
87
|
return fetchLatestSnapshotCore(odspResolvedUrlWithoutShareLink, storageTokenFetcher, snapshotOptions, logger, snapshotDownloader, putInCache);
|
|
81
88
|
}
|
|
82
89
|
else {
|
|
83
90
|
throw error;
|
|
84
91
|
}
|
|
85
|
-
})
|
|
92
|
+
})
|
|
93
|
+
.catch(async (error) => {
|
|
86
94
|
// Clear the cache on 401/403/404 on snapshot fetch from network because this means either the user doesn't
|
|
87
95
|
// have permissions for the file or it was deleted. So, if we do not clear cache, we will continue fetching
|
|
88
96
|
// snapshot from cache in the future.
|
|
89
|
-
if (typeof error === "object" &&
|
|
90
|
-
|
|
97
|
+
if ((typeof error === "object" &&
|
|
98
|
+
error !== null &&
|
|
99
|
+
error.errorType === driver_definitions_1.DriverErrorType.authorizationError) ||
|
|
100
|
+
error.errorType === driver_definitions_1.DriverErrorType.fileNotFoundOrAccessDeniedError) {
|
|
91
101
|
await removeEntries();
|
|
92
102
|
}
|
|
93
103
|
throw error;
|
|
@@ -98,10 +108,9 @@ async function redeemSharingLink(odspResolvedUrl, storageTokenFetcher, logger, f
|
|
|
98
108
|
return telemetry_utils_1.PerformanceEvent.timedExecAsync(logger, {
|
|
99
109
|
eventName: "RedeemShareLink",
|
|
100
110
|
}, async () => (0, odspUtils_1.getWithRetryForTokenRefresh)(async (tokenFetchOptions) => {
|
|
101
|
-
|
|
102
|
-
(0, common_utils_1.assert)(!!((_a = odspResolvedUrl.shareLinkInfo) === null || _a === void 0 ? void 0 : _a.sharingLinkToRedeem), 0x1ed /* "Share link should be present" */);
|
|
111
|
+
(0, core_utils_1.assert)(!!odspResolvedUrl.shareLinkInfo?.sharingLinkToRedeem, 0x1ed /* "Share link should be present" */);
|
|
103
112
|
const storageToken = await storageTokenFetcher(tokenFetchOptions, "RedeemShareLink");
|
|
104
|
-
const encodedShareUrl = getEncodedShareUrl(
|
|
113
|
+
const encodedShareUrl = getEncodedShareUrl(odspResolvedUrl.shareLinkInfo?.sharingLinkToRedeem);
|
|
105
114
|
const redeemUrl = `${odspResolvedUrl.siteUrl}/_api/v2.0/shares/${encodedShareUrl}`;
|
|
106
115
|
const { url, headers } = (0, getUrlAndHeadersWithAuth_1.getUrlAndHeadersWithAuth)(redeemUrl, storageToken, forceAccessTokenViaAuthorizationHeader);
|
|
107
116
|
headers.prefer = "redeemSharingLink";
|
|
@@ -110,18 +119,12 @@ async function redeemSharingLink(odspResolvedUrl, storageTokenFetcher, logger, f
|
|
|
110
119
|
}
|
|
111
120
|
async function fetchLatestSnapshotCore(odspResolvedUrl, storageTokenFetcher, snapshotOptions, logger, snapshotDownloader, putInCache, enableRedeemFallback) {
|
|
112
121
|
return (0, odspUtils_1.getWithRetryForTokenRefresh)(async (tokenFetchOptions) => {
|
|
113
|
-
var _a;
|
|
114
122
|
const storageToken = await storageTokenFetcher(tokenFetchOptions, "TreesLatest", true);
|
|
115
|
-
(0,
|
|
116
|
-
let controller;
|
|
117
|
-
if ((snapshotOptions === null || snapshotOptions === void 0 ? void 0 : snapshotOptions.timeout) !== undefined) {
|
|
118
|
-
controller = new abort_controller_1.default();
|
|
119
|
-
setTimeout(() => controller.abort(), snapshotOptions.timeout);
|
|
120
|
-
}
|
|
123
|
+
(0, core_utils_1.assert)(storageToken !== null, 0x1e5 /* "Storage token should not be null" */);
|
|
121
124
|
const perfEvent = {
|
|
122
125
|
eventName: "TreesLatest",
|
|
123
126
|
attempts: tokenFetchOptions.refresh ? 2 : 1,
|
|
124
|
-
shareLinkPresent:
|
|
127
|
+
shareLinkPresent: odspResolvedUrl.shareLinkInfo?.sharingLinkToRedeem !== undefined,
|
|
125
128
|
isSummarizer: odspResolvedUrl.summarizer,
|
|
126
129
|
redeemFallbackEnabled: enableRedeemFallback,
|
|
127
130
|
};
|
|
@@ -134,38 +137,87 @@ async function fetchLatestSnapshotCore(odspResolvedUrl, storageTokenFetcher, sna
|
|
|
134
137
|
}
|
|
135
138
|
// This event measures only successful cases of getLatest call (no tokens, no retries).
|
|
136
139
|
return telemetry_utils_1.PerformanceEvent.timedExecAsync(logger, perfEvent, async (event) => {
|
|
137
|
-
|
|
138
|
-
|
|
140
|
+
let controller;
|
|
141
|
+
let fetchTimeout;
|
|
142
|
+
if (snapshotOptions?.timeout !== undefined) {
|
|
143
|
+
controller = new AbortController();
|
|
144
|
+
fetchTimeout = setTimeout(() => controller.abort(), snapshotOptions.timeout);
|
|
145
|
+
}
|
|
146
|
+
const [response, fetchTime] = await (0, odspUtils_1.measureP)(async () => snapshotDownloader(odspResolvedUrl, storageToken, snapshotOptions, controller)).finally(() => {
|
|
147
|
+
// Clear the fetchTimeout once the response is fetched.
|
|
148
|
+
if (fetchTimeout !== undefined) {
|
|
149
|
+
clearTimeout(fetchTimeout);
|
|
150
|
+
fetchTimeout = undefined;
|
|
151
|
+
}
|
|
152
|
+
});
|
|
139
153
|
const odspResponse = response.odspResponse;
|
|
140
154
|
const contentType = odspResponse.headers.get("content-type");
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
eventName: "SnapshotParse",
|
|
144
|
-
driverVersion: packageVersion_1.pkgVersion,
|
|
155
|
+
const propsToLog = {
|
|
156
|
+
...odspResponse.propsToLog,
|
|
145
157
|
contentType,
|
|
146
|
-
|
|
147
|
-
|
|
158
|
+
accept: response.requestHeaders.accept,
|
|
159
|
+
driverVersion: packageVersion_1.pkgVersion,
|
|
160
|
+
};
|
|
148
161
|
let parsedSnapshotContents;
|
|
162
|
+
let contentTypeToRead;
|
|
163
|
+
if (contentType?.includes("application/ms-fluid")) {
|
|
164
|
+
contentTypeToRead = "application/ms-fluid";
|
|
165
|
+
}
|
|
166
|
+
else if (contentType?.includes("application/json")) {
|
|
167
|
+
contentTypeToRead = "application/json";
|
|
168
|
+
}
|
|
169
|
+
let parseTime;
|
|
170
|
+
let receiveContentTime;
|
|
149
171
|
try {
|
|
150
|
-
switch (
|
|
172
|
+
switch (contentTypeToRead) {
|
|
151
173
|
case "application/json": {
|
|
152
|
-
|
|
174
|
+
let text;
|
|
175
|
+
[text, receiveContentTime] = await (0, odspUtils_1.measureP)(async () => odspResponse.content.text().catch((err) =>
|
|
176
|
+
// Parsing can fail and message could contain full request URI, including
|
|
177
|
+
// tokens, etc. So do not log error object itself.
|
|
178
|
+
(0, odsp_doclib_utils_1.throwOdspNetworkError)("Error while parsing fetch response", odsp_doclib_utils_1.fetchIncorrectResponse, odspResponse.content, // response
|
|
179
|
+
undefined, // response text
|
|
180
|
+
propsToLog)));
|
|
153
181
|
propsToLog.bodySize = text.length;
|
|
154
|
-
|
|
182
|
+
let content;
|
|
183
|
+
[content, parseTime] = (0, odspUtils_1.measure)(() => JSON.parse(text));
|
|
155
184
|
validateBlobsAndTrees(content);
|
|
156
185
|
const snapshotContents = (0, odspSnapshotParser_1.convertOdspSnapshotToSnapshotTreeAndBlobs)(content);
|
|
157
|
-
parsedSnapshotContents =
|
|
186
|
+
parsedSnapshotContents = {
|
|
187
|
+
...odspResponse,
|
|
188
|
+
content: {
|
|
189
|
+
...snapshotContents,
|
|
190
|
+
telemetryProps: {},
|
|
191
|
+
},
|
|
192
|
+
};
|
|
158
193
|
break;
|
|
159
194
|
}
|
|
160
195
|
case "application/ms-fluid": {
|
|
161
|
-
|
|
196
|
+
let content;
|
|
197
|
+
[content, receiveContentTime] = await (0, odspUtils_1.measureP)(async () => odspResponse.content.arrayBuffer().catch((err) =>
|
|
198
|
+
// Parsing can fail and message could contain full request URI, including
|
|
199
|
+
// tokens, etc. So do not log error object itself.
|
|
200
|
+
(0, odsp_doclib_utils_1.throwOdspNetworkError)("Error while parsing fetch response", odsp_doclib_utils_1.fetchIncorrectResponse, odspResponse.content, // response
|
|
201
|
+
undefined, // response text
|
|
202
|
+
propsToLog)));
|
|
162
203
|
propsToLog.bodySize = content.byteLength;
|
|
163
|
-
|
|
204
|
+
let snapshotContents;
|
|
205
|
+
[snapshotContents, parseTime] = (0, odspUtils_1.measure)(() => (0, compactSnapshotParser_1.parseCompactSnapshotResponse)(new Uint8Array(content), logger));
|
|
164
206
|
if (snapshotContents.snapshotTree.trees === undefined ||
|
|
165
207
|
snapshotContents.snapshotTree.blobs === undefined) {
|
|
166
208
|
throw new driver_utils_1.NonRetryableError("Returned odsp snapshot is malformed. No trees or blobs!", driver_definitions_1.DriverErrorType.incorrectServerResponse, propsToLog);
|
|
167
209
|
}
|
|
168
|
-
|
|
210
|
+
const props = snapshotContents.telemetryProps;
|
|
211
|
+
const slowTreeParseCodePaths = props.slowTreeStructureCount ?? 0;
|
|
212
|
+
const slowBlobParseCodePaths = props.slowBlobStructureCount ?? 0;
|
|
213
|
+
if (slowTreeParseCodePaths > 10 || slowBlobParseCodePaths > 10) {
|
|
214
|
+
logger.sendErrorEvent({
|
|
215
|
+
eventName: "SlowSnapshotParseCodePaths",
|
|
216
|
+
slowTreeStructureCount: slowTreeParseCodePaths,
|
|
217
|
+
slowBlobStructureCount: slowBlobParseCodePaths,
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
parsedSnapshotContents = { ...odspResponse, content: snapshotContents };
|
|
169
221
|
break;
|
|
170
222
|
}
|
|
171
223
|
default:
|
|
@@ -180,75 +232,32 @@ async function fetchLatestSnapshotCore(odspResolvedUrl, storageTokenFetcher, sna
|
|
|
180
232
|
const enhancedError = (0, telemetry_utils_1.wrapError)(error, (errorMessage) => new driver_utils_1.NonRetryableError(`Error parsing snapshot response: ${errorMessage}`, driver_definitions_1.DriverErrorType.genericError, propsToLog));
|
|
181
233
|
throw enhancedError;
|
|
182
234
|
}
|
|
183
|
-
(0,
|
|
235
|
+
(0, core_utils_1.assert)(parsedSnapshotContents !== undefined, 0x312 /* snapshot should be parsed */);
|
|
184
236
|
const snapshot = parsedSnapshotContents.content;
|
|
185
237
|
const { trees, numBlobs, encodedBlobsSize } = evalBlobsAndTrees(snapshot);
|
|
186
|
-
// From: https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming
|
|
187
|
-
// fetchStart: immediately before the browser starts to fetch the resource.
|
|
188
|
-
// requestStart: immediately before the browser starts requesting the resource from the server
|
|
189
|
-
// responseStart: immediately after the browser receives the first byte of the response from the server.
|
|
190
|
-
// responseEnd: immediately after the browser receives the last byte of the resource
|
|
191
|
-
// or immediately before the transport connection is closed, whichever comes first.
|
|
192
|
-
// secureConnectionStart: immediately before the browser starts the handshake process to secure the
|
|
193
|
-
// current connection. If a secure connection is not used, this property returns zero.
|
|
194
|
-
// startTime: Time when the resource fetch started. This value is equivalent to fetchStart.
|
|
195
|
-
// domainLookupStart: immediately before the browser starts the domain name lookup for the resource.
|
|
196
|
-
// domainLookupEnd: immediately after the browser finishes the domain name lookup for the resource.
|
|
197
|
-
// redirectStart: start time of the fetch which that initiates the redirect.
|
|
198
|
-
// redirectEnd: immediately after receiving the last byte of the response of the last redirect.
|
|
199
|
-
let dnsLookupTime; // domainLookupEnd - domainLookupStart
|
|
200
|
-
let redirectTime; // redirectEnd - redirectStart
|
|
201
|
-
let tcpHandshakeTime; // connectEnd - connectStart
|
|
202
|
-
let secureConnectionTime; // connectEnd - secureConnectionStart
|
|
203
|
-
let responseNetworkTime; // responsEnd - responseStart
|
|
204
|
-
let fetchStartToResponseEndTime; // responseEnd - fetchStart
|
|
205
|
-
let reqStartToResponseEndTime; // responseEnd - requestStart
|
|
206
|
-
let networkTime; // responseEnd - startTime
|
|
207
|
-
const spReqDuration = odspResponse.headers.get("sprequestduration");
|
|
208
|
-
// getEntriesByType is only available in browser performance object
|
|
209
|
-
const resources1 = (_b = (_a = common_utils_1.performance.getEntriesByType) === null || _a === void 0 ? void 0 : _a.call(common_utils_1.performance, "resource")) !== null && _b !== void 0 ? _b : [];
|
|
210
|
-
// Usually the latest fetch call is to the end of resources, so we start from the end.
|
|
211
|
-
for (let i = resources1.length - 1; i > 0; i--) {
|
|
212
|
-
const indResTime = resources1[i];
|
|
213
|
-
const resource_name = indResTime.name;
|
|
214
|
-
const resource_initiatortype = indResTime.initiatorType;
|
|
215
|
-
if ((resource_initiatortype.localeCompare("fetch") === 0)
|
|
216
|
-
&& (resource_name.localeCompare(response.requestUrl) === 0)) {
|
|
217
|
-
redirectTime = indResTime.redirectEnd - indResTime.redirectStart;
|
|
218
|
-
dnsLookupTime = indResTime.domainLookupEnd - indResTime.domainLookupStart;
|
|
219
|
-
tcpHandshakeTime = indResTime.connectEnd - indResTime.connectStart;
|
|
220
|
-
secureConnectionTime = (indResTime.secureConnectionStart > 0) ?
|
|
221
|
-
(indResTime.connectEnd - indResTime.secureConnectionStart) : undefined;
|
|
222
|
-
responseNetworkTime = (indResTime.responseStart > 0) ?
|
|
223
|
-
(indResTime.responseEnd - indResTime.responseStart) : undefined;
|
|
224
|
-
fetchStartToResponseEndTime = (indResTime.fetchStart > 0) ?
|
|
225
|
-
(indResTime.responseEnd - indResTime.fetchStart) : undefined;
|
|
226
|
-
reqStartToResponseEndTime = (indResTime.requestStart > 0) ?
|
|
227
|
-
(indResTime.responseEnd - indResTime.requestStart) : undefined;
|
|
228
|
-
networkTime = (indResTime.startTime > 0) ?
|
|
229
|
-
(indResTime.responseEnd - indResTime.fetchStart) : undefined;
|
|
230
|
-
if (spReqDuration !== undefined && networkTime !== undefined) {
|
|
231
|
-
networkTime = networkTime - parseInt(spReqDuration, 10);
|
|
232
|
-
}
|
|
233
|
-
break;
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
238
|
// There are some scenarios in ODSP where we cannot cache, trees/latest will explicitly tell us when we
|
|
237
239
|
// cannot cache using an HTTP response header.
|
|
238
240
|
const canCache = odspResponse.headers.get("disablebrowsercachingofusercontent") !== "true";
|
|
239
|
-
const sequenceNumber =
|
|
240
|
-
const seqNumberFromOps = snapshot.ops && snapshot.ops.length > 0
|
|
241
|
-
snapshot.ops[0].sequenceNumber - 1
|
|
242
|
-
undefined;
|
|
243
|
-
if (!Number.isInteger(sequenceNumber)
|
|
244
|
-
|
|
245
|
-
logger.sendErrorEvent({
|
|
241
|
+
const sequenceNumber = snapshot.sequenceNumber ?? 0;
|
|
242
|
+
const seqNumberFromOps = snapshot.ops && snapshot.ops.length > 0
|
|
243
|
+
? snapshot.ops[0].sequenceNumber - 1
|
|
244
|
+
: undefined;
|
|
245
|
+
if (!Number.isInteger(sequenceNumber) ||
|
|
246
|
+
(seqNumberFromOps !== undefined && seqNumberFromOps !== sequenceNumber)) {
|
|
247
|
+
logger.sendErrorEvent({
|
|
248
|
+
eventName: "fetchSnapshotError",
|
|
249
|
+
sequenceNumber,
|
|
250
|
+
seqNumberFromOps,
|
|
251
|
+
});
|
|
246
252
|
snapshot.sequenceNumber = undefined;
|
|
247
253
|
}
|
|
248
254
|
else if (canCache) {
|
|
249
255
|
const fluidEpoch = odspResponse.headers.get("x-fluid-epoch");
|
|
250
|
-
(0,
|
|
251
|
-
const value =
|
|
256
|
+
(0, core_utils_1.assert)(fluidEpoch !== undefined, 0x1e6 /* "Epoch should be present in response" */);
|
|
257
|
+
const value = {
|
|
258
|
+
...snapshot,
|
|
259
|
+
cacheEntryTime: Date.now(),
|
|
260
|
+
};
|
|
252
261
|
const valueWithEpoch = {
|
|
253
262
|
value,
|
|
254
263
|
fluidEpoch,
|
|
@@ -257,57 +266,59 @@ async function fetchLatestSnapshotCore(odspResolvedUrl, storageTokenFetcher, sna
|
|
|
257
266
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
258
267
|
putInCache(valueWithEpoch);
|
|
259
268
|
}
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
//
|
|
270
|
-
|
|
271
|
-
//
|
|
272
|
-
|
|
273
|
-
//
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
//
|
|
278
|
-
//
|
|
279
|
-
|
|
269
|
+
event.end({
|
|
270
|
+
trees,
|
|
271
|
+
blobs: snapshot.blobs?.size ?? 0,
|
|
272
|
+
leafNodes: numBlobs,
|
|
273
|
+
encodedBlobsSize,
|
|
274
|
+
sequenceNumber,
|
|
275
|
+
ops: snapshot.ops?.length ?? 0,
|
|
276
|
+
userOps: snapshot.ops?.filter((op) => (0, driver_utils_1.isRuntimeMessage)(op)).length ?? 0,
|
|
277
|
+
headers: Object.keys(response.requestHeaders).length !== 0 ? true : undefined,
|
|
278
|
+
// Measures time to make fetch call. Should be similar to
|
|
279
|
+
// fetchStartToResponseEndTime - receiveContentTime, i.e. it looks like it's time till first byte /
|
|
280
|
+
// end of response headers
|
|
281
|
+
fetchTime,
|
|
282
|
+
// time it takes client to parse payload. Same payload as in "SnapshotParse" event, here for
|
|
283
|
+
// easier analyzes.
|
|
284
|
+
parseTime,
|
|
285
|
+
// Time it takes to receive content (text of buffer) from Response object.
|
|
286
|
+
// This time likely is very closely correlated with networkTime, i.e. time it takes to receive
|
|
287
|
+
// actual content (starting measuring from first bite / end of response header)
|
|
288
|
+
receiveContentTime,
|
|
289
|
+
...(0, driver_base_1.getW3CData)(response.requestUrl, "fetch"),
|
|
280
290
|
// Sharing link telemetry regarding sharing link redeem status and performance. Ex: FRL; dur=100,
|
|
281
291
|
// Azure Fluid Relay service; desc=S, FRP; desc=False. Here, FRL is the duration taken for redeem,
|
|
282
292
|
// Azure Fluid Relay service is the redeem status (S means success), and FRP is a flag to indicate
|
|
283
293
|
// if the permission has changed.
|
|
284
|
-
sltelemetry: odspResponse.headers.get("x-fluid-sltelemetry")
|
|
294
|
+
sltelemetry: odspResponse.headers.get("x-fluid-sltelemetry"),
|
|
295
|
+
// All other props
|
|
296
|
+
...propsToLog,
|
|
297
|
+
// Various perf counters and measures collected by binary parsing code:
|
|
298
|
+
// slowTreeStructureCount, slowBlobStructureCount, durationStructure, durationStrings,
|
|
299
|
+
// durationSnapshotTree, durationBlobs, etc.
|
|
300
|
+
...parsedSnapshotContents.content.telemetryProps,
|
|
301
|
+
});
|
|
285
302
|
return snapshot;
|
|
286
303
|
}).catch((error) => {
|
|
287
304
|
// We hit these errors in stress tests, under load
|
|
288
305
|
// It's useful to try one more time in such case.
|
|
289
|
-
if (typeof error === "object" &&
|
|
290
|
-
error
|
|
306
|
+
if (typeof error === "object" &&
|
|
307
|
+
error !== null &&
|
|
308
|
+
(error.errorType === driver_definitions_1.DriverErrorType.fetchFailure ||
|
|
309
|
+
error.errorType === odsp_driver_definitions_1.OdspErrorType.fetchTimeout)) {
|
|
291
310
|
error[odspUtils_1.getWithRetryForTokenRefreshRepeat] = true;
|
|
292
311
|
}
|
|
293
312
|
throw error;
|
|
294
313
|
});
|
|
295
314
|
});
|
|
296
315
|
}
|
|
297
|
-
function getFormBodyAndHeaders(odspResolvedUrl, storageToken,
|
|
298
|
-
var _a, _b;
|
|
316
|
+
function getFormBodyAndHeaders(odspResolvedUrl, storageToken, headers) {
|
|
299
317
|
const formBoundary = (0, uuid_1.v4)();
|
|
300
318
|
const formParams = [];
|
|
301
319
|
formParams.push(`--${formBoundary}`);
|
|
302
320
|
formParams.push(`Authorization: Bearer ${storageToken}`);
|
|
303
321
|
formParams.push(`X-HTTP-Method-Override: GET`);
|
|
304
|
-
if (snapshotOptions !== undefined) {
|
|
305
|
-
Object.entries(snapshotOptions).forEach(([key, value]) => {
|
|
306
|
-
if (value !== undefined) {
|
|
307
|
-
formParams.push(`${key}: ${value}`);
|
|
308
|
-
}
|
|
309
|
-
});
|
|
310
|
-
}
|
|
311
322
|
if (headers !== undefined) {
|
|
312
323
|
Object.entries(headers).forEach(([key, value]) => {
|
|
313
324
|
if (value !== undefined) {
|
|
@@ -315,8 +326,8 @@ function getFormBodyAndHeaders(odspResolvedUrl, storageToken, snapshotOptions, h
|
|
|
315
326
|
}
|
|
316
327
|
});
|
|
317
328
|
}
|
|
318
|
-
if (
|
|
319
|
-
formParams.push(`sl: ${
|
|
329
|
+
if (odspResolvedUrl.shareLinkInfo?.sharingLinkToRedeem) {
|
|
330
|
+
formParams.push(`sl: ${odspResolvedUrl.shareLinkInfo?.sharingLinkToRedeem}`);
|
|
320
331
|
}
|
|
321
332
|
formParams.push(`_post: 1`);
|
|
322
333
|
formParams.push(`\r\n--${formBoundary}--`);
|
|
@@ -335,9 +346,10 @@ function evalBlobsAndTrees(snapshot) {
|
|
|
335
346
|
}
|
|
336
347
|
return { trees, numBlobs, encodedBlobsSize };
|
|
337
348
|
}
|
|
349
|
+
exports.evalBlobsAndTrees = evalBlobsAndTrees;
|
|
338
350
|
function validateBlobsAndTrees(snapshot) {
|
|
339
|
-
(0,
|
|
340
|
-
(0,
|
|
351
|
+
(0, core_utils_1.assert)(snapshot.trees !== undefined, 0x200 /* "Returned odsp snapshot is malformed. No trees!" */);
|
|
352
|
+
(0, core_utils_1.assert)(snapshot.blobs !== undefined, 0x201 /* "Returned odsp snapshot is malformed. No blobs!" */);
|
|
341
353
|
}
|
|
342
354
|
exports.validateBlobsAndTrees = validateBlobsAndTrees;
|
|
343
355
|
function countTreesInSnapshotTree(snapshotTree) {
|
|
@@ -360,38 +372,45 @@ function countTreesInSnapshotTree(snapshotTree) {
|
|
|
360
372
|
* @returns fetched snapshot.
|
|
361
373
|
*/
|
|
362
374
|
async function downloadSnapshot(odspResolvedUrl, storageToken, logger, snapshotOptions, snapshotFormatFetchType, controller, epochTracker, scenarioName) {
|
|
363
|
-
var _a;
|
|
364
375
|
// back-compat: This block to be removed with #8784 when we only consume/consider odsp resolvers that are >= 0.51
|
|
365
376
|
const sharingLinkToRedeem = odspResolvedUrl.sharingLinkToRedeem;
|
|
366
377
|
if (sharingLinkToRedeem) {
|
|
367
|
-
odspResolvedUrl.shareLinkInfo =
|
|
378
|
+
odspResolvedUrl.shareLinkInfo = { ...odspResolvedUrl.shareLinkInfo, sharingLinkToRedeem };
|
|
368
379
|
}
|
|
369
380
|
const snapshotUrl = odspResolvedUrl.endpoints.snapshotStorageUrl;
|
|
370
|
-
const
|
|
381
|
+
const queryParams = { ump: 1 };
|
|
382
|
+
if (snapshotOptions !== undefined) {
|
|
383
|
+
Object.entries(snapshotOptions).forEach(([key, value]) => {
|
|
384
|
+
// Exclude "timeout" from query string
|
|
385
|
+
if (value !== undefined && key !== "timeout") {
|
|
386
|
+
queryParams[key] = value;
|
|
387
|
+
}
|
|
388
|
+
});
|
|
389
|
+
}
|
|
390
|
+
const queryString = (0, getQueryString_1.getQueryString)(queryParams);
|
|
391
|
+
const url = `${snapshotUrl}/trees/latest${queryString}`;
|
|
371
392
|
// The location of file can move on Spo in which case server returns 308(Permanent Redirect) error.
|
|
372
393
|
// Adding below header will make VROOM API return 404 instead of 308 and browser can intercept it.
|
|
373
394
|
// This error thrown by server will contain the new redirect location. Look at the 404 error parsing
|
|
374
395
|
// for futher reference here: \packages\utils\odsp-doclib-utils\src\odspErrorUtils.ts
|
|
375
396
|
const header = { prefer: "manualredirect" };
|
|
376
|
-
const { body, headers } = getFormBodyAndHeaders(odspResolvedUrl, storageToken,
|
|
397
|
+
const { body, headers } = getFormBodyAndHeaders(odspResolvedUrl, storageToken, header);
|
|
377
398
|
const fetchOptions = {
|
|
378
399
|
body,
|
|
379
400
|
headers,
|
|
380
|
-
signal: controller
|
|
401
|
+
signal: controller?.signal,
|
|
381
402
|
method: "POST",
|
|
382
403
|
};
|
|
383
404
|
// Decide what snapshot format to fetch as per the feature gate.
|
|
384
405
|
switch (snapshotFormatFetchType) {
|
|
385
|
-
case SnapshotFormatSupportType.JsonAndBinary:
|
|
386
|
-
headers.accept = `application/json, application/ms-fluid; v=${compactSnapshotParser_1.currentReadVersion}`;
|
|
387
|
-
break;
|
|
388
406
|
case SnapshotFormatSupportType.Binary:
|
|
389
407
|
headers.accept = `application/ms-fluid; v=${compactSnapshotParser_1.currentReadVersion}`;
|
|
390
408
|
break;
|
|
391
409
|
default:
|
|
392
|
-
|
|
410
|
+
// By default ask both versions and let the server decide the format.
|
|
411
|
+
headers.accept = `application/json, application/ms-fluid; v=${compactSnapshotParser_1.currentReadVersion}`;
|
|
393
412
|
}
|
|
394
|
-
const odspResponse = await (
|
|
413
|
+
const odspResponse = await (epochTracker?.fetch(url, fetchOptions, "treesLatest", true, scenarioName) ?? (0, odspUtils_1.fetchHelper)(url, fetchOptions));
|
|
395
414
|
return {
|
|
396
415
|
odspResponse,
|
|
397
416
|
requestHeaders: headers,
|
|
@@ -400,11 +419,11 @@ async function downloadSnapshot(odspResolvedUrl, storageToken, logger, snapshotO
|
|
|
400
419
|
}
|
|
401
420
|
exports.downloadSnapshot = downloadSnapshot;
|
|
402
421
|
function isRedeemSharingLinkError(odspResolvedUrl, error) {
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
422
|
+
if (odspResolvedUrl.shareLinkInfo?.sharingLinkToRedeem !== undefined &&
|
|
423
|
+
typeof error === "object" &&
|
|
424
|
+
error !== null &&
|
|
425
|
+
(error.errorType === driver_definitions_1.DriverErrorType.authorizationError ||
|
|
426
|
+
error.errorType === driver_definitions_1.DriverErrorType.fileNotFoundOrAccessDeniedError)) {
|
|
408
427
|
return true;
|
|
409
428
|
}
|
|
410
429
|
return false;
|
|
@@ -414,12 +433,9 @@ function getEncodedShareUrl(url) {
|
|
|
414
433
|
* Encode the url to accepted format by Sharepoint
|
|
415
434
|
* https://docs.microsoft.com/en-us/onedrive/developer/rest-api/api/shares_get
|
|
416
435
|
*/
|
|
417
|
-
let encodedUrl = (0,
|
|
418
|
-
encodedUrl = encodedUrl
|
|
419
|
-
.replace(/=+$/g, "")
|
|
420
|
-
.replace(/\//g, "_")
|
|
421
|
-
.replace(/\+/g, "-");
|
|
436
|
+
let encodedUrl = (0, client_utils_1.fromUtf8ToBase64)(encodeURI(url));
|
|
437
|
+
encodedUrl = encodedUrl.replace(/=+$/g, "").replace(/\//g, "_").replace(/\+/g, "-");
|
|
422
438
|
encodedUrl = "u!".concat(encodedUrl);
|
|
423
439
|
return encodedUrl;
|
|
424
440
|
}
|
|
425
|
-
//# sourceMappingURL=fetchSnapshot.
|
|
441
|
+
//# sourceMappingURL=fetchSnapshot.cjs.map
|