@fluidframework/driver-utils 1.4.0-115997 → 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 +17 -7
- package/.mocharc.js +12 -0
- package/CHANGELOG.md +141 -0
- package/README.md +68 -1
- package/api-extractor-lint.json +4 -0
- package/api-extractor.json +2 -2
- package/api-report/driver-utils.api.md +401 -0
- package/dist/adapters/compression/compressionTypes.cjs +20 -0
- package/dist/adapters/compression/compressionTypes.cjs.map +1 -0
- package/dist/adapters/compression/compressionTypes.d.ts +23 -0
- package/dist/adapters/compression/compressionTypes.d.ts.map +1 -0
- package/dist/adapters/compression/documentServiceCompressionAdapter.cjs +23 -0
- package/dist/adapters/compression/documentServiceCompressionAdapter.cjs.map +1 -0
- package/dist/adapters/compression/documentServiceCompressionAdapter.d.ts +13 -0
- package/dist/adapters/compression/documentServiceCompressionAdapter.d.ts.map +1 -0
- package/dist/adapters/compression/documentServiceFactoryCompressionAdapter.cjs +31 -0
- package/dist/adapters/compression/documentServiceFactoryCompressionAdapter.cjs.map +1 -0
- package/dist/adapters/compression/documentServiceFactoryCompressionAdapter.d.ts +16 -0
- package/dist/adapters/compression/documentServiceFactoryCompressionAdapter.d.ts.map +1 -0
- package/dist/adapters/compression/index.cjs +15 -0
- package/dist/adapters/compression/index.cjs.map +1 -0
- package/dist/adapters/compression/index.d.ts +8 -0
- package/dist/adapters/compression/index.d.ts.map +1 -0
- package/dist/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.cjs +370 -0
- package/dist/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.cjs.map +1 -0
- package/dist/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.d.ts +165 -0
- package/dist/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.d.ts.map +1 -0
- package/dist/adapters/compression/summaryblob/index.cjs +11 -0
- package/dist/adapters/compression/summaryblob/index.cjs.map +1 -0
- package/dist/adapters/compression/summaryblob/index.d.ts +6 -0
- package/dist/adapters/compression/summaryblob/index.d.ts.map +1 -0
- package/dist/adapters/index.cjs +14 -0
- package/dist/adapters/index.cjs.map +1 -0
- package/dist/adapters/index.d.ts +7 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/predefinedAdapters.cjs +52 -0
- package/dist/adapters/predefinedAdapters.cjs.map +1 -0
- package/dist/adapters/predefinedAdapters.d.ts +21 -0
- package/dist/adapters/predefinedAdapters.d.ts.map +1 -0
- package/dist/blob.cjs +65 -0
- package/dist/blob.cjs.map +1 -0
- package/dist/blob.d.ts +56 -0
- package/dist/blob.d.ts.map +1 -0
- package/dist/{buildSnapshotTree.js → buildSnapshotTree.cjs} +7 -5
- package/dist/buildSnapshotTree.cjs.map +1 -0
- package/dist/buildSnapshotTree.d.ts +1 -0
- package/dist/buildSnapshotTree.d.ts.map +1 -1
- package/dist/documentServiceFactoryProxy.cjs +27 -0
- package/dist/documentServiceFactoryProxy.cjs.map +1 -0
- package/dist/documentServiceFactoryProxy.d.ts +19 -0
- package/dist/documentServiceFactoryProxy.d.ts.map +1 -0
- package/dist/documentServiceProxy.cjs +36 -0
- package/dist/documentServiceProxy.cjs.map +1 -0
- package/dist/documentServiceProxy.d.ts +21 -0
- package/dist/documentServiceProxy.d.ts.map +1 -0
- package/dist/{documentStorageServiceProxy.js → documentStorageServiceProxy.cjs} +10 -8
- package/dist/documentStorageServiceProxy.cjs.map +1 -0
- package/dist/documentStorageServiceProxy.d.ts +5 -2
- package/dist/documentStorageServiceProxy.d.ts.map +1 -1
- package/dist/driver-utils-alpha.d.ts +163 -0
- package/dist/driver-utils-beta.d.ts +178 -0
- package/dist/driver-utils-public.d.ts +178 -0
- package/dist/driver-utils-untrimmed.d.ts +590 -0
- package/dist/{error.js → error.cjs} +10 -3
- package/dist/error.cjs.map +1 -0
- package/dist/error.d.ts +8 -3
- package/dist/error.d.ts.map +1 -1
- package/dist/index.cjs +69 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +16 -21
- package/dist/index.d.ts.map +1 -1
- package/dist/{insecureUrlResolver.js → insecureUrlResolver.cjs} +10 -11
- package/dist/insecureUrlResolver.cjs.map +1 -0
- package/dist/insecureUrlResolver.d.ts +1 -0
- package/dist/insecureUrlResolver.d.ts.map +1 -1
- package/dist/messageRecognition.cjs +38 -0
- package/dist/messageRecognition.cjs.map +1 -0
- package/dist/messageRecognition.d.ts +16 -26
- package/dist/messageRecognition.d.ts.map +1 -1
- package/dist/{network.js → network.cjs} +86 -24
- package/dist/network.cjs.map +1 -0
- package/dist/network.d.ts +69 -20
- package/dist/network.d.ts.map +1 -1
- package/dist/networkUtils.cjs +29 -0
- package/dist/networkUtils.cjs.map +1 -0
- package/dist/networkUtils.d.ts +4 -10
- package/dist/networkUtils.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/{parallelRequests.js → parallelRequests.cjs} +146 -74
- package/dist/parallelRequests.cjs.map +1 -0
- package/dist/parallelRequests.d.ts +19 -6
- package/dist/parallelRequests.d.ts.map +1 -1
- package/dist/{prefetchDocumentStorageService.js → prefetchDocumentStorageService.cjs} +7 -4
- package/dist/prefetchDocumentStorageService.cjs.map +1 -0
- package/dist/prefetchDocumentStorageService.d.ts +4 -2
- package/dist/prefetchDocumentStorageService.d.ts.map +1 -1
- package/dist/{rateLimiter.js → rateLimiter.cjs} +6 -3
- package/dist/rateLimiter.cjs.map +1 -0
- package/dist/rateLimiter.d.ts +3 -0
- package/dist/rateLimiter.d.ts.map +1 -1
- package/dist/readAndParse.cjs +28 -0
- package/dist/readAndParse.cjs.map +1 -0
- package/dist/readAndParse.d.ts +10 -4
- package/dist/readAndParse.d.ts.map +1 -1
- package/dist/runWithRetry.cjs +108 -0
- package/dist/runWithRetry.cjs.map +1 -0
- package/dist/runWithRetry.d.ts +26 -7
- package/dist/runWithRetry.d.ts.map +1 -1
- package/dist/{summaryForCreateNew.js → summaryForCreateNew.cjs} +20 -19
- package/dist/summaryForCreateNew.cjs.map +1 -0
- package/dist/summaryForCreateNew.d.ts +17 -4
- package/dist/summaryForCreateNew.d.ts.map +1 -1
- package/dist/{treeConversions.js → treeConversions.cjs} +16 -18
- package/dist/treeConversions.cjs.map +1 -0
- package/dist/treeConversions.d.ts +1 -0
- package/dist/treeConversions.d.ts.map +1 -1
- package/dist/tsdoc-metadata.json +11 -0
- package/lib/adapters/compression/compressionTypes.d.mts +23 -0
- package/lib/adapters/compression/compressionTypes.d.mts.map +1 -0
- package/lib/adapters/compression/compressionTypes.mjs +17 -0
- package/lib/adapters/compression/compressionTypes.mjs.map +1 -0
- package/lib/adapters/compression/documentServiceCompressionAdapter.d.mts +13 -0
- package/lib/adapters/compression/documentServiceCompressionAdapter.d.mts.map +1 -0
- package/lib/adapters/compression/documentServiceCompressionAdapter.mjs +19 -0
- package/lib/adapters/compression/documentServiceCompressionAdapter.mjs.map +1 -0
- package/lib/adapters/compression/documentServiceFactoryCompressionAdapter.d.mts +16 -0
- package/lib/adapters/compression/documentServiceFactoryCompressionAdapter.d.mts.map +1 -0
- package/lib/adapters/compression/documentServiceFactoryCompressionAdapter.mjs +27 -0
- package/lib/adapters/compression/documentServiceFactoryCompressionAdapter.mjs.map +1 -0
- package/lib/adapters/compression/index.d.mts +8 -0
- package/lib/adapters/compression/index.d.mts.map +1 -0
- package/lib/adapters/compression/index.mjs +8 -0
- package/lib/adapters/compression/index.mjs.map +1 -0
- package/lib/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.d.mts +165 -0
- package/lib/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.d.mts.map +1 -0
- package/lib/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.mjs +366 -0
- package/lib/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.mjs.map +1 -0
- package/lib/adapters/compression/summaryblob/index.d.mts +6 -0
- package/lib/adapters/compression/summaryblob/index.d.mts.map +1 -0
- package/lib/adapters/compression/summaryblob/index.mjs +6 -0
- package/lib/adapters/compression/summaryblob/index.mjs.map +1 -0
- package/lib/adapters/index.d.mts +7 -0
- package/lib/adapters/index.d.mts.map +1 -0
- package/lib/adapters/index.mjs +7 -0
- package/lib/adapters/index.mjs.map +1 -0
- package/lib/adapters/predefinedAdapters.d.mts +21 -0
- package/lib/adapters/predefinedAdapters.d.mts.map +1 -0
- package/lib/adapters/predefinedAdapters.mjs +47 -0
- package/lib/adapters/predefinedAdapters.mjs.map +1 -0
- package/lib/blob.d.mts +56 -0
- package/lib/blob.d.mts.map +1 -0
- package/lib/blob.mjs +59 -0
- package/lib/blob.mjs.map +1 -0
- package/lib/{buildSnapshotTree.d.ts → buildSnapshotTree.d.mts} +1 -0
- package/lib/buildSnapshotTree.d.mts.map +1 -0
- package/lib/{buildSnapshotTree.js → buildSnapshotTree.mjs} +6 -4
- package/lib/buildSnapshotTree.mjs.map +1 -0
- package/lib/documentServiceFactoryProxy.d.mts +19 -0
- package/lib/documentServiceFactoryProxy.d.mts.map +1 -0
- package/lib/documentServiceFactoryProxy.mjs +23 -0
- package/lib/documentServiceFactoryProxy.mjs.map +1 -0
- package/lib/documentServiceProxy.d.mts +21 -0
- package/lib/documentServiceProxy.d.mts.map +1 -0
- package/lib/documentServiceProxy.mjs +32 -0
- package/lib/documentServiceProxy.mjs.map +1 -0
- package/lib/{documentStorageServiceProxy.d.ts → documentStorageServiceProxy.d.mts} +5 -2
- package/lib/documentStorageServiceProxy.d.mts.map +1 -0
- package/lib/{documentStorageServiceProxy.js → documentStorageServiceProxy.mjs} +10 -8
- package/lib/documentStorageServiceProxy.mjs.map +1 -0
- package/lib/driver-utils-alpha.d.mts +163 -0
- package/lib/driver-utils-beta.d.mts +178 -0
- package/lib/driver-utils-public.d.mts +178 -0
- package/lib/driver-utils-untrimmed.d.mts +590 -0
- package/lib/error.d.mts +16 -0
- package/lib/error.d.mts.map +1 -0
- package/lib/error.mjs +19 -0
- package/lib/error.mjs.map +1 -0
- package/lib/index.d.mts +21 -0
- package/lib/index.d.mts.map +1 -0
- package/lib/index.mjs +21 -0
- package/lib/index.mjs.map +1 -0
- package/lib/{insecureUrlResolver.d.ts → insecureUrlResolver.d.mts} +1 -0
- package/lib/insecureUrlResolver.d.mts.map +1 -0
- package/lib/{insecureUrlResolver.js → insecureUrlResolver.mjs} +10 -11
- package/lib/insecureUrlResolver.mjs.map +1 -0
- package/lib/messageRecognition.d.mts +24 -0
- package/lib/messageRecognition.d.mts.map +1 -0
- package/lib/messageRecognition.mjs +29 -0
- package/lib/messageRecognition.mjs.map +1 -0
- package/lib/{network.d.ts → network.d.mts} +69 -20
- package/lib/network.d.mts.map +1 -0
- package/lib/{network.js → network.mjs} +85 -23
- package/lib/network.mjs.map +1 -0
- package/lib/networkUtils.d.mts +11 -0
- package/lib/networkUtils.d.mts.map +1 -0
- package/lib/networkUtils.mjs +25 -0
- package/lib/networkUtils.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/{parallelRequests.d.ts → parallelRequests.d.mts} +19 -6
- package/lib/parallelRequests.d.mts.map +1 -0
- package/lib/{parallelRequests.js → parallelRequests.mjs} +119 -52
- package/lib/parallelRequests.mjs.map +1 -0
- package/lib/{prefetchDocumentStorageService.d.ts → prefetchDocumentStorageService.d.mts} +5 -7
- package/lib/prefetchDocumentStorageService.d.mts.map +1 -0
- package/lib/{prefetchDocumentStorageService.js → prefetchDocumentStorageService.mjs} +7 -8
- package/lib/prefetchDocumentStorageService.mjs.map +1 -0
- package/lib/{rateLimiter.d.ts → rateLimiter.d.mts} +3 -0
- package/lib/rateLimiter.d.mts.map +1 -0
- package/lib/{rateLimiter.js → rateLimiter.mjs} +5 -2
- package/lib/rateLimiter.mjs.map +1 -0
- package/lib/readAndParse.d.mts +20 -0
- package/lib/readAndParse.d.mts.map +1 -0
- package/lib/readAndParse.mjs +24 -0
- package/lib/readAndParse.mjs.map +1 -0
- package/lib/{runWithRetry.d.ts → runWithRetry.d.mts} +26 -7
- package/lib/runWithRetry.d.mts.map +1 -0
- package/lib/runWithRetry.mjs +103 -0
- package/lib/runWithRetry.mjs.map +1 -0
- package/lib/{summaryForCreateNew.d.ts → summaryForCreateNew.d.mts} +17 -4
- package/lib/summaryForCreateNew.d.mts.map +1 -0
- package/lib/{summaryForCreateNew.js → summaryForCreateNew.mjs} +18 -17
- package/lib/summaryForCreateNew.mjs.map +1 -0
- package/lib/{treeConversions.d.ts → treeConversions.d.mts} +1 -0
- package/lib/treeConversions.d.mts.map +1 -0
- package/lib/{treeConversions.js → treeConversions.mjs} +12 -14
- package/lib/treeConversions.mjs.map +1 -0
- package/package.json +88 -64
- package/prettier.config.cjs +8 -0
- package/src/adapters/compression/compressionTypes.ts +25 -0
- package/src/adapters/compression/documentServiceCompressionAdapter.ts +28 -0
- package/src/adapters/compression/documentServiceFactoryCompressionAdapter.ts +54 -0
- package/src/adapters/compression/index.ts +12 -0
- package/src/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.ts +451 -0
- package/src/adapters/compression/summaryblob/index.ts +9 -0
- package/src/adapters/index.ts +13 -0
- package/src/adapters/predefinedAdapters.ts +74 -0
- package/src/blob.ts +77 -0
- package/src/buildSnapshotTree.ts +58 -53
- package/src/documentServiceFactoryProxy.ts +47 -0
- package/src/documentServiceProxy.ts +46 -0
- package/src/documentStorageServiceProxy.ts +52 -37
- package/src/error.ts +13 -8
- package/src/index.ts +51 -21
- package/src/insecureUrlResolver.ts +125 -120
- package/src/messageRecognition.ts +24 -53
- package/src/network.ts +189 -111
- package/src/networkUtils.ts +24 -49
- package/src/packageVersion.ts +1 -1
- package/src/parallelRequests.ts +630 -519
- package/src/prefetchDocumentStorageService.ts +79 -74
- package/src/rateLimiter.ts +33 -30
- package/src/readAndParse.ts +18 -9
- package/src/runWithRetry.ts +145 -85
- package/src/summaryForCreateNew.ts +48 -29
- package/src/treeConversions.ts +49 -70
- package/tsc-multi.test.json +4 -0
- package/tsconfig.json +10 -12
- package/dist/blobAggregationStorage.d.ts +0 -43
- package/dist/blobAggregationStorage.d.ts.map +0 -1
- package/dist/blobAggregationStorage.js +0 -318
- package/dist/blobAggregationStorage.js.map +0 -1
- package/dist/blobCacheStorageService.d.ts +0 -16
- package/dist/blobCacheStorageService.d.ts.map +0 -1
- package/dist/blobCacheStorageService.js +0 -29
- package/dist/blobCacheStorageService.js.map +0 -1
- package/dist/buildSnapshotTree.js.map +0 -1
- package/dist/documentStorageServiceProxy.js.map +0 -1
- package/dist/emptyDocumentDeltaStorageService.d.ts +0 -13
- package/dist/emptyDocumentDeltaStorageService.d.ts.map +0 -1
- package/dist/emptyDocumentDeltaStorageService.js +0 -20
- package/dist/emptyDocumentDeltaStorageService.js.map +0 -1
- package/dist/error.js.map +0 -1
- package/dist/fluidResolvedUrl.d.ts +0 -8
- package/dist/fluidResolvedUrl.d.ts.map +0 -1
- package/dist/fluidResolvedUrl.js +0 -16
- package/dist/fluidResolvedUrl.js.map +0 -1
- package/dist/index.js +0 -38
- package/dist/index.js.map +0 -1
- package/dist/insecureUrlResolver.js.map +0 -1
- package/dist/messageRecognition.js +0 -73
- package/dist/messageRecognition.js.map +0 -1
- package/dist/multiDocumentServiceFactory.d.ts +0 -16
- package/dist/multiDocumentServiceFactory.d.ts.map +0 -1
- package/dist/multiDocumentServiceFactory.js +0 -63
- package/dist/multiDocumentServiceFactory.js.map +0 -1
- package/dist/multiUrlResolver.d.ts +0 -20
- package/dist/multiUrlResolver.d.ts.map +0 -1
- package/dist/multiUrlResolver.js +0 -45
- package/dist/multiUrlResolver.js.map +0 -1
- package/dist/network.js.map +0 -1
- package/dist/networkUtils.js +0 -59
- package/dist/networkUtils.js.map +0 -1
- package/dist/packageVersion.js.map +0 -1
- package/dist/parallelRequests.js.map +0 -1
- package/dist/prefetchDocumentStorageService.js.map +0 -1
- package/dist/rateLimiter.js.map +0 -1
- package/dist/readAndParse.js +0 -22
- package/dist/readAndParse.js.map +0 -1
- package/dist/runWithRetry.js +0 -69
- package/dist/runWithRetry.js.map +0 -1
- package/dist/summaryForCreateNew.js.map +0 -1
- package/dist/treeConversions.js.map +0 -1
- package/dist/treeUtils.d.ts +0 -51
- package/dist/treeUtils.d.ts.map +0 -1
- package/dist/treeUtils.js +0 -85
- package/dist/treeUtils.js.map +0 -1
- package/lib/blobAggregationStorage.d.ts +0 -43
- package/lib/blobAggregationStorage.d.ts.map +0 -1
- package/lib/blobAggregationStorage.js +0 -313
- package/lib/blobAggregationStorage.js.map +0 -1
- package/lib/blobCacheStorageService.d.ts +0 -16
- package/lib/blobCacheStorageService.d.ts.map +0 -1
- package/lib/blobCacheStorageService.js +0 -25
- package/lib/blobCacheStorageService.js.map +0 -1
- package/lib/buildSnapshotTree.d.ts.map +0 -1
- package/lib/buildSnapshotTree.js.map +0 -1
- package/lib/documentStorageServiceProxy.d.ts.map +0 -1
- package/lib/documentStorageServiceProxy.js.map +0 -1
- package/lib/emptyDocumentDeltaStorageService.d.ts +0 -13
- package/lib/emptyDocumentDeltaStorageService.d.ts.map +0 -1
- package/lib/emptyDocumentDeltaStorageService.js +0 -16
- package/lib/emptyDocumentDeltaStorageService.js.map +0 -1
- package/lib/error.d.ts +0 -11
- package/lib/error.d.ts.map +0 -1
- package/lib/error.js +0 -13
- package/lib/error.js.map +0 -1
- package/lib/fluidResolvedUrl.d.ts +0 -8
- package/lib/fluidResolvedUrl.d.ts.map +0 -1
- package/lib/fluidResolvedUrl.js +0 -11
- package/lib/fluidResolvedUrl.js.map +0 -1
- package/lib/index.d.ts +0 -26
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js +0 -26
- package/lib/index.js.map +0 -1
- package/lib/insecureUrlResolver.d.ts.map +0 -1
- package/lib/insecureUrlResolver.js.map +0 -1
- package/lib/messageRecognition.d.ts +0 -38
- package/lib/messageRecognition.d.ts.map +0 -1
- package/lib/messageRecognition.js +0 -67
- package/lib/messageRecognition.js.map +0 -1
- package/lib/multiDocumentServiceFactory.d.ts +0 -16
- package/lib/multiDocumentServiceFactory.d.ts.map +0 -1
- package/lib/multiDocumentServiceFactory.js +0 -59
- package/lib/multiDocumentServiceFactory.js.map +0 -1
- package/lib/multiUrlResolver.d.ts +0 -20
- package/lib/multiUrlResolver.d.ts.map +0 -1
- package/lib/multiUrlResolver.js +0 -40
- package/lib/multiUrlResolver.js.map +0 -1
- package/lib/network.d.ts.map +0 -1
- package/lib/network.js.map +0 -1
- package/lib/networkUtils.d.ts +0 -17
- package/lib/networkUtils.d.ts.map +0 -1
- package/lib/networkUtils.js +0 -54
- package/lib/networkUtils.js.map +0 -1
- package/lib/packageVersion.js.map +0 -1
- package/lib/parallelRequests.d.ts.map +0 -1
- package/lib/parallelRequests.js.map +0 -1
- package/lib/prefetchDocumentStorageService.d.ts.map +0 -1
- package/lib/prefetchDocumentStorageService.js.map +0 -1
- package/lib/rateLimiter.d.ts.map +0 -1
- package/lib/rateLimiter.js.map +0 -1
- package/lib/readAndParse.d.ts +0 -14
- package/lib/readAndParse.d.ts.map +0 -1
- package/lib/readAndParse.js +0 -18
- package/lib/readAndParse.js.map +0 -1
- package/lib/runWithRetry.d.ts.map +0 -1
- package/lib/runWithRetry.js +0 -65
- package/lib/runWithRetry.js.map +0 -1
- package/lib/summaryForCreateNew.d.ts.map +0 -1
- package/lib/summaryForCreateNew.js.map +0 -1
- package/lib/treeConversions.d.ts.map +0 -1
- package/lib/treeConversions.js.map +0 -1
- package/lib/treeUtils.d.ts +0 -51
- package/lib/treeUtils.d.ts.map +0 -1
- package/lib/treeUtils.js +0 -80
- package/lib/treeUtils.js.map +0 -1
- package/src/blobAggregationStorage.ts +0 -374
- package/src/blobCacheStorageService.ts +0 -32
- package/src/emptyDocumentDeltaStorageService.ts +0 -24
- package/src/fluidResolvedUrl.ts +0 -15
- package/src/multiDocumentServiceFactory.ts +0 -80
- package/src/multiUrlResolver.ts +0 -51
- package/src/treeUtils.ts +0 -111
- package/tsconfig.esnext.json +0 -7
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"blobCacheStorageService.js","sourceRoot":"","sources":["../src/blobCacheStorageService.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,+EAA4E;AAE5E;;GAEG;AACH,MAAa,uBAAwB,SAAQ,yDAA2B;IACpE,YACI,sBAA+C,EAC9B,KAAmC;QAEpD,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAFb,UAAK,GAAL,KAAK,CAA8B;IAGxD,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC;IAChD,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,EAAU;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,IAAI,KAAK,SAAS,EAAE;YACpB,OAAO,IAAI,CAAC;SACf;QAED,OAAO,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACJ;AApBD,0DAoBC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IDocumentStorageService, IDocumentStorageServicePolicies } from \"@fluidframework/driver-definitions\";\nimport { DocumentStorageServiceProxy } from \"./documentStorageServiceProxy\";\n\n/**\n * IDocumentStorageService adapter with pre-cached blobs.\n */\nexport class BlobCacheStorageService extends DocumentStorageServiceProxy {\n constructor(\n internalStorageService: IDocumentStorageService,\n private readonly blobs: Map<string, ArrayBufferLike>,\n ) {\n super(internalStorageService);\n }\n\n public get policies(): IDocumentStorageServicePolicies | undefined {\n return this.internalStorageService.policies;\n }\n\n public async readBlob(id: string): Promise<ArrayBufferLike> {\n const blob = this.blobs.get(id);\n if (blob !== undefined) {\n return blob;\n }\n\n return this.internalStorageService.readBlob(id);\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buildSnapshotTree.js","sourceRoot":"","sources":["../src/buildSnapshotTree.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+DAAsE;AAEtE,+EAK8C;AAC9C,iEAA+D;AAC/D,+BAAkC;AAElC,SAAS,WAAW,CAChB,IAAY,EACZ,WAAyB,EACzB,OAAqC;IAErC,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE;QACjC,MAAM,OAAO,GAAG,GAAG,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAE3C,IAAI,SAAS,CAAC,IAAI,KAAK,gCAAS,CAAC,IAAI,EAAE;YACnC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAA,6BAAc,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5D,MAAM,EAAE,GAAG,IAAA,SAAI,GAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAExB,MAAM,KAAK,GAAmB;gBAC1B,IAAI,EAAE,+BAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC9B,IAAI,EAAE,OAAO;gBACb,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,EAAE;aACV,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACvB;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,gCAAS,CAAC,IAAI,EAAE;YAC1C,IAAA,qBAAM,EAAC,SAAS,CAAC,IAAI,KAAK,gCAAS,CAAC,IAAI,EAAE,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAChG,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;YAC1B,MAAM,KAAK,GAAmB;gBAC1B,IAAI,EAAE,+BAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC9B,IAAI,EAAE,OAAO;gBACb,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,CAAC,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,EAAE;aACV,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEpB,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;SACnC;KACJ;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,OAAO,CAAC,IAAkB,EAAE,OAAqC;IACtE,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/C,OAAO;QACH,GAAG,EAAE,EAAE;QACP,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,EAAE;KACV,CAAC;AACN,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAC7B,OAAqB,EACrB,OAAqC;IAErC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,IAAA,8BAAc,EAAC,SAAS,CAAC,CAAC;AACrC,CAAC;AAND,8CAMC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { assert, stringToBuffer } from \"@fluidframework/common-utils\";\nimport * as git from \"@fluidframework/gitresources\";\nimport {\n FileMode,\n ISnapshotTree,\n ITreeEntry,\n TreeEntry,\n} from \"@fluidframework/protocol-definitions\";\nimport { buildHierarchy } from \"@fluidframework/protocol-base\";\nimport { v4 as uuid } from \"uuid\";\n\nfunction flattenCore(\n path: string,\n treeEntries: ITreeEntry[],\n blobMap: Map<string, ArrayBufferLike>,\n): git.ITreeEntry[] {\n const entries: git.ITreeEntry[] = [];\n for (const treeEntry of treeEntries) {\n const subPath = `${path}${treeEntry.path}`;\n\n if (treeEntry.type === TreeEntry.Blob) {\n const blob = treeEntry.value;\n const buffer = stringToBuffer(blob.contents, blob.encoding);\n const id = uuid();\n blobMap.set(id, buffer);\n\n const entry: git.ITreeEntry = {\n mode: FileMode[treeEntry.mode],\n path: subPath,\n sha: id,\n size: 0,\n type: \"blob\",\n url: \"\",\n };\n entries.push(entry);\n } else if (treeEntry.type === TreeEntry.Tree) {\n assert(treeEntry.type === TreeEntry.Tree, 0x101 /* \"Unexpected tree entry type on flatten!\" */);\n const t = treeEntry.value;\n const entry: git.ITreeEntry = {\n mode: FileMode[treeEntry.mode],\n path: subPath,\n sha: \"\",\n size: -1,\n type: \"tree\",\n url: \"\",\n };\n entries.push(entry);\n\n const subTreeEntries = flattenCore(`${subPath}/`, t.entries, blobMap);\n entries.push(...subTreeEntries);\n }\n }\n\n return entries;\n}\n\n/**\n * Create a flatten view of an array of ITreeEntry\n *\n * @param tree - an array of ITreeEntry to flatten\n * @param blobMap - a map of blob's sha1 to content\n * @returns A flatten with of the ITreeEntry\n */\nfunction flatten(tree: ITreeEntry[], blobMap: Map<string, ArrayBufferLike>): git.ITree {\n const entries = flattenCore(\"\", tree, blobMap);\n return {\n sha: \"\",\n tree: entries,\n url: \"\",\n };\n}\n\n/**\n * Build a tree hierarchy base on an array of ITreeEntry\n *\n * @param entries - an array of ITreeEntry to flatten\n * @param blobMap - a map of blob's sha1 to content that gets filled with content from entries\n * NOTE: blobMap's validity is contingent on the returned promise's resolution\n * @returns the hierarchical tree\n */\nexport function buildSnapshotTree(\n entries: ITreeEntry[],\n blobMap: Map<string, ArrayBufferLike>,\n): ISnapshotTree {\n const flattened = flatten(entries, blobMap);\n return buildHierarchy(flattened);\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"documentStorageServiceProxy.js","sourceRoot":"","sources":["../src/documentStorageServiceProxy.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAeH,MAAa,2BAA2B;IAepC,YAA+B,sBAA+C;QAA/C,2BAAsB,GAAtB,sBAAsB,CAAyB;IAAI,CAAC;IAZnF,IAAW,QAAQ,CAAC,QAAqD;QACrE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAED,IAAW,QAAQ;;QACf,OAAO,MAAA,IAAI,CAAC,SAAS,mCAAI,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC;IAClE,CAAC;IAED,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC;IACrD,CAAC;IAIM,KAAK,CAAC,eAAe,CAAC,OAAkB,EAAE,YAAqB;QAClE,OAAO,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC9E,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,SAAwB,EAAE,KAAa,EAAE,YAAqB;QACnF,OAAO,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IACnF,CAAC;IAEM,KAAK,CAAC,wBAAwB,CAAC,OAAqB,EAAE,OAAwB;QACjF,OAAO,IAAI,CAAC,sBAAsB,CAAC,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClF,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,MAAsB;QAC/C,OAAO,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,IAAqB;QACzC,OAAO,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,MAAc;QAChC,OAAO,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;CACJ;AAxCD,kEAwCC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n IDocumentStorageService,\n IDocumentStorageServicePolicies,\n ISummaryContext,\n} from \"@fluidframework/driver-definitions\";\nimport {\n ICreateBlobResponse,\n ISnapshotTree,\n ISummaryHandle,\n ISummaryTree,\n IVersion,\n} from \"@fluidframework/protocol-definitions\";\n\nexport class DocumentStorageServiceProxy implements IDocumentStorageService {\n private _policies: IDocumentStorageServicePolicies | undefined;\n\n public set policies(policies: IDocumentStorageServicePolicies | undefined) {\n this._policies = policies;\n }\n\n public get policies() {\n return this._policies ?? this.internalStorageService.policies;\n }\n\n public get repositoryUrl(): string {\n return this.internalStorageService.repositoryUrl;\n }\n\n constructor(protected readonly internalStorageService: IDocumentStorageService) { }\n\n public async getSnapshotTree(version?: IVersion, scenarioName?: string): Promise<ISnapshotTree | null> {\n return this.internalStorageService.getSnapshotTree(version, scenarioName);\n }\n\n public async getVersions(versionId: string | null, count: number, scenarioName?: string): Promise<IVersion[]> {\n return this.internalStorageService.getVersions(versionId, count, scenarioName);\n }\n\n public async uploadSummaryWithContext(summary: ISummaryTree, context: ISummaryContext): Promise<string> {\n return this.internalStorageService.uploadSummaryWithContext(summary, context);\n }\n\n public async downloadSummary(handle: ISummaryHandle): Promise<ISummaryTree> {\n return this.internalStorageService.downloadSummary(handle);\n }\n\n public async createBlob(file: ArrayBufferLike): Promise<ICreateBlobResponse> {\n return this.internalStorageService.createBlob(file);\n }\n\n public async readBlob(blobId: string): Promise<ArrayBufferLike> {\n return this.internalStorageService.readBlob(blobId);\n }\n}\n"]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
-
* Licensed under the MIT License.
|
|
4
|
-
*/
|
|
5
|
-
import { IDocumentDeltaStorageService, IStream } from "@fluidframework/driver-definitions";
|
|
6
|
-
import { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
|
|
7
|
-
/**
|
|
8
|
-
* Implementation of IDocumentDeltaStorageService that will always return an empty message queue when fetching messages
|
|
9
|
-
*/
|
|
10
|
-
export declare class EmptyDocumentDeltaStorageService implements IDocumentDeltaStorageService {
|
|
11
|
-
fetchMessages(from: number, _to: number | undefined, _abortSignal?: AbortSignal, _cachedOnly?: boolean, _fetchReason?: string): IStream<ISequencedDocumentMessage[]>;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=emptyDocumentDeltaStorageService.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"emptyDocumentDeltaStorageService.d.ts","sourceRoot":"","sources":["../src/emptyDocumentDeltaStorageService.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAGjF;;GAEG;AACH,qBAAa,gCAAiC,YAAW,4BAA4B;IAC1E,aAAa,CAAC,IAAI,EAAE,MAAM,EAC7B,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,YAAY,CAAC,EAAE,WAAW,EAC1B,WAAW,CAAC,EAAE,OAAO,EACrB,YAAY,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,yBAAyB,EAAE,CAAC;CAK1C"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*!
|
|
3
|
-
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
4
|
-
* Licensed under the MIT License.
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.EmptyDocumentDeltaStorageService = void 0;
|
|
8
|
-
const parallelRequests_1 = require("./parallelRequests");
|
|
9
|
-
/**
|
|
10
|
-
* Implementation of IDocumentDeltaStorageService that will always return an empty message queue when fetching messages
|
|
11
|
-
*/
|
|
12
|
-
class EmptyDocumentDeltaStorageService {
|
|
13
|
-
fetchMessages(from, _to, _abortSignal, _cachedOnly, _fetchReason) {
|
|
14
|
-
const queue = new parallelRequests_1.Queue();
|
|
15
|
-
queue.pushDone();
|
|
16
|
-
return queue;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
exports.EmptyDocumentDeltaStorageService = EmptyDocumentDeltaStorageService;
|
|
20
|
-
//# sourceMappingURL=emptyDocumentDeltaStorageService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"emptyDocumentDeltaStorageService.js","sourceRoot":"","sources":["../src/emptyDocumentDeltaStorageService.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIH,yDAA2C;AAE3C;;GAEG;AACH,MAAa,gCAAgC;IAClC,aAAa,CAAC,IAAY,EAC7B,GAAuB,EACvB,YAA0B,EAC1B,WAAqB,EACrB,YAAqB;QAErB,MAAM,KAAK,GAAG,IAAI,wBAAK,EAA+B,CAAC;QACvD,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAXD,4EAWC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IDocumentDeltaStorageService, IStream } from \"@fluidframework/driver-definitions\";\nimport { ISequencedDocumentMessage } from \"@fluidframework/protocol-definitions\";\nimport { Queue } from \"./parallelRequests\";\n\n/**\n * Implementation of IDocumentDeltaStorageService that will always return an empty message queue when fetching messages\n */\nexport class EmptyDocumentDeltaStorageService implements IDocumentDeltaStorageService {\n public fetchMessages(from: number,\n _to: number | undefined,\n _abortSignal?: AbortSignal,\n _cachedOnly?: boolean,\n _fetchReason?: string,\n ): IStream<ISequencedDocumentMessage[]> {\n const queue = new Queue<ISequencedDocumentMessage[]>();\n queue.pushDone();\n return queue;\n }\n}\n"]}
|
package/dist/error.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,qEAAgF;AAEhF,0FAA0F;AAC1F,MAAa,UAAW,SAAQ,8BAAY;IAGxC,YACI,OAAe;QAEf,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QALhC,cAAS,GAAG,YAAY,CAAC;IAMlC,CAAC;CACJ;AARD,gCAQC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IFluidErrorBase, LoggingError } from \"@fluidframework/telemetry-utils\";\n\n/** Error indicating an API is being used improperly resulting in an invalid operation. */\nexport class UsageError extends LoggingError implements IFluidErrorBase {\n readonly errorType = \"usageError\";\n\n constructor(\n message: string,\n ) {\n super(message, { usageError: true });\n }\n}\n"]}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
-
* Licensed under the MIT License.
|
|
4
|
-
*/
|
|
5
|
-
import { IResolvedUrl, IFluidResolvedUrl } from "@fluidframework/driver-definitions";
|
|
6
|
-
export declare const isFluidResolvedUrl: (resolved: IResolvedUrl | undefined) => resolved is IFluidResolvedUrl;
|
|
7
|
-
export declare function ensureFluidResolvedUrl(resolved: IResolvedUrl | undefined): asserts resolved is IFluidResolvedUrl;
|
|
8
|
-
//# sourceMappingURL=fluidResolvedUrl.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fluidResolvedUrl.d.ts","sourceRoot":"","sources":["../src/fluidResolvedUrl.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAErF,eAAO,MAAM,kBAAkB,aAChB,YAAY,GAAG,SAAS,kCAA8D,CAAC;AAEtG,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,QAAQ,IAAI,iBAAiB,CAIhH"}
|
package/dist/fluidResolvedUrl.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*!
|
|
3
|
-
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
4
|
-
* Licensed under the MIT License.
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.ensureFluidResolvedUrl = exports.isFluidResolvedUrl = void 0;
|
|
8
|
-
const isFluidResolvedUrl = (resolved) => (resolved === null || resolved === void 0 ? void 0 : resolved.type) === "fluid";
|
|
9
|
-
exports.isFluidResolvedUrl = isFluidResolvedUrl;
|
|
10
|
-
function ensureFluidResolvedUrl(resolved) {
|
|
11
|
-
if (!(0, exports.isFluidResolvedUrl)(resolved)) {
|
|
12
|
-
throw new Error(`resolved is not a Fluid url. Type: ${resolved === null || resolved === void 0 ? void 0 : resolved.type}`);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
exports.ensureFluidResolvedUrl = ensureFluidResolvedUrl;
|
|
16
|
-
//# sourceMappingURL=fluidResolvedUrl.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fluidResolvedUrl.js","sourceRoot":"","sources":["../src/fluidResolvedUrl.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAII,MAAM,kBAAkB,GAC3B,CAAC,QAAkC,EAAiC,EAAE,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,OAAO,CAAC;AADzF,QAAA,kBAAkB,sBACuE;AAEtG,SAAgB,sBAAsB,CAAC,QAAkC;IACrE,IAAI,CAAC,IAAA,0BAAkB,EAAC,QAAQ,CAAC,EAAE;QAC/B,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,EAAE,CAAC,CAAC;KAC3E;AACL,CAAC;AAJD,wDAIC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IResolvedUrl, IFluidResolvedUrl } from \"@fluidframework/driver-definitions\";\n\nexport const isFluidResolvedUrl =\n (resolved: IResolvedUrl | undefined): resolved is IFluidResolvedUrl => resolved?.type === \"fluid\";\n\nexport function ensureFluidResolvedUrl(resolved: IResolvedUrl | undefined): asserts resolved is IFluidResolvedUrl {\n if (!isFluidResolvedUrl(resolved)) {\n throw new Error(`resolved is not a Fluid url. Type: ${resolved?.type}`);\n }\n}\n"]}
|
package/dist/index.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*!
|
|
3
|
-
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
4
|
-
* Licensed under the MIT License.
|
|
5
|
-
*/
|
|
6
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
-
if (k2 === undefined) k2 = k;
|
|
8
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./blobCacheStorageService"), exports);
|
|
18
|
-
__exportStar(require("./blobAggregationStorage"), exports);
|
|
19
|
-
__exportStar(require("./buildSnapshotTree"), exports);
|
|
20
|
-
__exportStar(require("./documentStorageServiceProxy"), exports);
|
|
21
|
-
__exportStar(require("./insecureUrlResolver"), exports);
|
|
22
|
-
__exportStar(require("./multiDocumentServiceFactory"), exports);
|
|
23
|
-
__exportStar(require("./multiUrlResolver"), exports);
|
|
24
|
-
__exportStar(require("./network"), exports);
|
|
25
|
-
__exportStar(require("./readAndParse"), exports);
|
|
26
|
-
__exportStar(require("./fluidResolvedUrl"), exports);
|
|
27
|
-
__exportStar(require("./summaryForCreateNew"), exports);
|
|
28
|
-
__exportStar(require("./parallelRequests"), exports);
|
|
29
|
-
__exportStar(require("./prefetchDocumentStorageService"), exports);
|
|
30
|
-
__exportStar(require("./networkUtils"), exports);
|
|
31
|
-
__exportStar(require("./rateLimiter"), exports);
|
|
32
|
-
__exportStar(require("./runWithRetry"), exports);
|
|
33
|
-
__exportStar(require("./treeConversions"), exports);
|
|
34
|
-
__exportStar(require("./treeUtils"), exports);
|
|
35
|
-
__exportStar(require("./messageRecognition"), exports);
|
|
36
|
-
__exportStar(require("./error"), exports);
|
|
37
|
-
__exportStar(require("./emptyDocumentDeltaStorageService"), exports);
|
|
38
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;AAEH,4DAA0C;AAC1C,2DAAyC;AACzC,sDAAoC;AACpC,gEAA8C;AAC9C,wDAAsC;AACtC,gEAA8C;AAC9C,qDAAmC;AACnC,4CAA0B;AAC1B,iDAA+B;AAC/B,qDAAmC;AACnC,wDAAsC;AACtC,qDAAmC;AACnC,mEAAiD;AACjD,iDAA+B;AAC/B,gDAA8B;AAC9B,iDAA+B;AAC/B,oDAAkC;AAClC,8CAA4B;AAC5B,uDAAqC;AACrC,0CAAwB;AACxB,qEAAmD","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport * from \"./blobCacheStorageService\";\nexport * from \"./blobAggregationStorage\";\nexport * from \"./buildSnapshotTree\";\nexport * from \"./documentStorageServiceProxy\";\nexport * from \"./insecureUrlResolver\";\nexport * from \"./multiDocumentServiceFactory\";\nexport * from \"./multiUrlResolver\";\nexport * from \"./network\";\nexport * from \"./readAndParse\";\nexport * from \"./fluidResolvedUrl\";\nexport * from \"./summaryForCreateNew\";\nexport * from \"./parallelRequests\";\nexport * from \"./prefetchDocumentStorageService\";\nexport * from \"./networkUtils\";\nexport * from \"./rateLimiter\";\nexport * from \"./runWithRetry\";\nexport * from \"./treeConversions\";\nexport * from \"./treeUtils\";\nexport * from \"./messageRecognition\";\nexport * from \"./error\";\nexport * from \"./emptyDocumentDeltaStorageService\";\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"insecureUrlResolver.js","sourceRoot":"","sources":["../src/insecureUrlResolver.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { parse } from \"url\";\nimport { assert } from \"@fluidframework/common-utils\";\nimport { IRequest } from \"@fluidframework/core-interfaces\";\nimport {\n IFluidResolvedUrl,\n IResolvedUrl,\n IUrlResolver,\n DriverHeader,\n} from \"@fluidframework/driver-definitions\";\nimport Axios from \"axios\";\n\n/**\n * As the name implies this is not secure and should not be used in production. It simply makes the example easier\n * to get up and running.\n *\n * In our example we run a simple web server via webpack-dev-server. This defines a URL format of the form\n * http://localhost:8080/<documentId>/<path>.\n *\n * We then need to map that to a Fluid based URL. These are of the form\n * fluid://orderingUrl/<tenantId>/<documentId>/<path>.\n *\n * The tenantId/documentId pair defines the 'full' document ID the service makes use of. The path is then an optional\n * part of the URL that the document interprets and maps to a data store. It's exactly similar to how a web service\n * works or a router inside of a single page app framework.\n */\nexport class InsecureUrlResolver implements IUrlResolver {\n private readonly cache = new Map<string, Promise<IResolvedUrl>>();\n\n constructor(\n private readonly hostUrl: string,\n private readonly ordererUrl: string,\n private readonly storageUrl: string,\n private readonly tenantId: string,\n private readonly bearer: string,\n private readonly isForNodeTest: boolean = false,\n ) { }\n\n public async resolve(request: IRequest): Promise<IResolvedUrl | undefined> {\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n if (request.headers?.[DriverHeader.createNew]) {\n const [, queryString] = request.url.split(\"?\");\n const searchParams = new URLSearchParams(queryString);\n const fileName = searchParams.get(\"fileName\");\n return this.resolveHelper(fileName);\n }\n const parsedUrl = new URL(request.url);\n // If hosts match then we use the local tenant information. Otherwise we make a REST call out to the hosting\n // service using our bearer token.\n if (this.isForNodeTest) {\n const [, documentId, tmpRelativePath] = parsedUrl.pathname.substr(1).split(\"/\");\n const relativePath = tmpRelativePath === undefined ? \"\" : tmpRelativePath;\n return this.resolveHelper(documentId, relativePath, parsedUrl.search);\n } else if (parsedUrl.host === window.location.host) {\n const fullPath = parsedUrl.pathname.substr(1);\n const documentId = fullPath.split(\"/\")[0];\n const documentRelativePath = fullPath.slice(documentId.length);\n return this.resolveHelper(documentId, documentRelativePath);\n } else {\n const maybeResolvedUrl = this.cache.get(request.url);\n if (maybeResolvedUrl) {\n return maybeResolvedUrl;\n }\n\n const headers = {\n Authorization: `Bearer ${this.bearer}`,\n };\n const resolvedP = Axios.post<IResolvedUrl>(\n `${this.hostUrl}/api/v1/load`,\n {\n url: request.url,\n },\n {\n headers,\n });\n this.cache.set(request.url, resolvedP.then((resolved) => resolved.data));\n\n return this.cache.get(request.url);\n }\n }\n\n private resolveHelper(documentId: string | null, documentRelativePath: string = \"\", queryParams: string = \"\") {\n const encodedTenantId = encodeURIComponent(this.tenantId);\n const host = new URL(this.ordererUrl).host;\n // when the document ID is not provided we need to resolve a special create new document URL.\n // the actual container ID will be generated by the driver.\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n if (!documentId) {\n const createNewResponse: IFluidResolvedUrl = {\n endpoints: {\n deltaStorageUrl: `${this.ordererUrl}/deltas/${encodedTenantId}/new`,\n ordererUrl: this.ordererUrl,\n storageUrl: `${this.storageUrl}/repos/${encodedTenantId}`,\n },\n // document ID is ignored by the driver for new container requests\n id: \"\",\n tokens: {},\n type: \"fluid\",\n url: `fluid://${host}/${encodedTenantId}/new`,\n };\n return createNewResponse;\n }\n const encodedDocId = encodeURIComponent(documentId);\n const relativePath = !documentRelativePath || documentRelativePath.startsWith(\"/\")\n ? documentRelativePath : `/${documentRelativePath}`;\n const documentUrl = `fluid://${host}/${encodedTenantId}/${encodedDocId}${relativePath}${queryParams}`;\n\n const deltaStorageUrl = `${this.ordererUrl}/deltas/${encodedTenantId}/${encodedDocId}`;\n const storageUrl = `${this.storageUrl}/repos/${encodedTenantId}`;\n\n const response: IFluidResolvedUrl = {\n endpoints: {\n deltaStorageUrl,\n ordererUrl: this.ordererUrl,\n storageUrl,\n },\n id: documentId,\n tokens: {},\n type: \"fluid\",\n url: documentUrl,\n };\n return response;\n }\n\n public async getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string> {\n const fluidResolvedUrl = resolvedUrl as IFluidResolvedUrl;\n\n const parsedUrl = parse(fluidResolvedUrl.url);\n const [, , documentId] = parsedUrl.pathname?.split(\"/\") ?? [];\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n assert(!!documentId, 0x273 /* \"Invalid document id from parsed URL\" */);\n\n let url = relativeUrl;\n if (url.startsWith(\"/\")) {\n url = url.substr(1);\n }\n\n return `${this.hostUrl}/${encodeURIComponent(\n this.tenantId)}/${encodeURIComponent(documentId)}/${url}`;\n }\n\n public createCreateNewRequest(fileName?: string): IRequest {\n const createNewRequest: IRequest = {\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n url: fileName ? `${this.hostUrl}?fileName=${fileName}` : this.hostUrl,\n headers: {\n [DriverHeader.createNew]: true,\n },\n };\n return createNewRequest;\n }\n}\n"]}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isUnpackedRuntimeMessage = exports.isRuntimeMessage = exports.isClientMessage = void 0;
|
|
4
|
-
/*!
|
|
5
|
-
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
6
|
-
* Licensed under the MIT License.
|
|
7
|
-
*/
|
|
8
|
-
const protocol_definitions_1 = require("@fluidframework/protocol-definitions");
|
|
9
|
-
/**
|
|
10
|
-
*
|
|
11
|
-
* @param message-message
|
|
12
|
-
* @returns whether or not the message type is one listed below
|
|
13
|
-
* "op"
|
|
14
|
-
* "summarize"
|
|
15
|
-
* "propose"
|
|
16
|
-
* "reject"
|
|
17
|
-
* "noop"
|
|
18
|
-
*/
|
|
19
|
-
function isClientMessage(message) {
|
|
20
|
-
if (isRuntimeMessage(message)) {
|
|
21
|
-
return true;
|
|
22
|
-
}
|
|
23
|
-
switch (message.type) {
|
|
24
|
-
case protocol_definitions_1.MessageType.Propose:
|
|
25
|
-
case protocol_definitions_1.MessageType.Reject:
|
|
26
|
-
case protocol_definitions_1.MessageType.NoOp:
|
|
27
|
-
return true;
|
|
28
|
-
default:
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
exports.isClientMessage = isClientMessage;
|
|
33
|
-
/**
|
|
34
|
-
*
|
|
35
|
-
* @param message-message
|
|
36
|
-
* @returns whether or not the message type is one listed below
|
|
37
|
-
* "op"
|
|
38
|
-
* "summarize"
|
|
39
|
-
*/
|
|
40
|
-
function isRuntimeMessage(message) {
|
|
41
|
-
return message.type === protocol_definitions_1.MessageType.Operation || message.type === protocol_definitions_1.MessageType.Summarize;
|
|
42
|
-
}
|
|
43
|
-
exports.isRuntimeMessage = isRuntimeMessage;
|
|
44
|
-
var RuntimeMessage;
|
|
45
|
-
(function (RuntimeMessage) {
|
|
46
|
-
RuntimeMessage["FluidDataStoreOp"] = "component";
|
|
47
|
-
RuntimeMessage["Attach"] = "attach";
|
|
48
|
-
RuntimeMessage["ChunkedOp"] = "chunkedOp";
|
|
49
|
-
RuntimeMessage["BlobAttach"] = "blobAttach";
|
|
50
|
-
RuntimeMessage["Rejoin"] = "rejoin";
|
|
51
|
-
RuntimeMessage["Alias"] = "alias";
|
|
52
|
-
RuntimeMessage["Operation"] = "op";
|
|
53
|
-
})(RuntimeMessage || (RuntimeMessage = {}));
|
|
54
|
-
/**
|
|
55
|
-
*
|
|
56
|
-
* @param message-message
|
|
57
|
-
* @returns whether or not the message type is one listed below (legacy)
|
|
58
|
-
* "component"
|
|
59
|
-
* "attach"
|
|
60
|
-
* "chunkedOp"
|
|
61
|
-
* "blobAttach"
|
|
62
|
-
* "rejoin"
|
|
63
|
-
* "alias"
|
|
64
|
-
* "op"
|
|
65
|
-
*/
|
|
66
|
-
function isUnpackedRuntimeMessage(message) {
|
|
67
|
-
if (Object.values(RuntimeMessage).includes(message.type)) {
|
|
68
|
-
return true;
|
|
69
|
-
}
|
|
70
|
-
return false;
|
|
71
|
-
}
|
|
72
|
-
exports.isUnpackedRuntimeMessage = isUnpackedRuntimeMessage;
|
|
73
|
-
//# sourceMappingURL=messageRecognition.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"messageRecognition.js","sourceRoot":"","sources":["../src/messageRecognition.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,+EAAgH;AAEhH;;;;;;;;;GASG;AACH,SAAgB,eAAe,CAAC,OAAqD;IACjF,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE;QAC3B,OAAO,IAAI,CAAC;KACf;IACD,QAAQ,OAAO,CAAC,IAAI,EAAE;QAClB,KAAK,kCAAW,CAAC,OAAO,CAAC;QACzB,KAAK,kCAAW,CAAC,MAAM,CAAC;QACxB,KAAK,kCAAW,CAAC,IAAI;YACjB,OAAO,IAAI,CAAC;QAChB;YACI,OAAO,KAAK,CAAC;KACpB;AACL,CAAC;AAZD,0CAYC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,OAAqD;IAClF,OAAO,OAAO,CAAC,IAAI,KAAK,kCAAW,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,kCAAW,CAAC,SAAS,CAAC;AAC5F,CAAC;AAFD,4CAEC;AAED,IAAK,cAQJ;AARD,WAAK,cAAc;IACf,gDAA8B,CAAA;IAC9B,mCAAiB,CAAA;IACjB,yCAAuB,CAAA;IACvB,2CAAyB,CAAA;IACzB,mCAAiB,CAAA;IACjB,iCAAe,CAAA;IACf,kCAAgB,CAAA;AACpB,CAAC,EARI,cAAc,KAAd,cAAc,QAQlB;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,wBAAwB,CAAC,OAAkC;IACvE,IAAK,MAAM,CAAC,MAAM,CAAC,cAAc,CAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACpE,OAAO,IAAI,CAAC;KACf;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AALD,4DAKC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\nimport { IDocumentMessage, ISequencedDocumentMessage, MessageType } from \"@fluidframework/protocol-definitions\";\n\n/**\n *\n * @param message-message\n * @returns whether or not the message type is one listed below\n * \"op\"\n * \"summarize\"\n * \"propose\"\n * \"reject\"\n * \"noop\"\n */\nexport function isClientMessage(message: ISequencedDocumentMessage | IDocumentMessage): boolean {\n if (isRuntimeMessage(message)) {\n return true;\n }\n switch (message.type) {\n case MessageType.Propose:\n case MessageType.Reject:\n case MessageType.NoOp:\n return true;\n default:\n return false;\n }\n}\n\n/**\n *\n * @param message-message\n * @returns whether or not the message type is one listed below\n * \"op\"\n * \"summarize\"\n */\nexport function isRuntimeMessage(message: ISequencedDocumentMessage | IDocumentMessage): boolean {\n return message.type === MessageType.Operation || message.type === MessageType.Summarize;\n}\n\nenum RuntimeMessage {\n FluidDataStoreOp = \"component\",\n Attach = \"attach\",\n ChunkedOp = \"chunkedOp\",\n BlobAttach = \"blobAttach\",\n Rejoin = \"rejoin\",\n Alias = \"alias\",\n Operation = \"op\",\n}\n\n/**\n *\n * @param message-message\n * @returns whether or not the message type is one listed below (legacy)\n * \"component\"\n * \"attach\"\n * \"chunkedOp\"\n * \"blobAttach\"\n * \"rejoin\"\n * \"alias\"\n * \"op\"\n */\nexport function isUnpackedRuntimeMessage(message: ISequencedDocumentMessage): boolean {\n if ((Object.values(RuntimeMessage) as string[]).includes(message.type)) {\n return true;\n }\n return false;\n}\n"]}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
-
* Licensed under the MIT License.
|
|
4
|
-
*/
|
|
5
|
-
import { IDocumentServiceFactory, IResolvedUrl, IDocumentService } from "@fluidframework/driver-definitions";
|
|
6
|
-
import { ISummaryTree } from "@fluidframework/protocol-definitions";
|
|
7
|
-
import { ITelemetryBaseLogger } from "@fluidframework/common-definitions";
|
|
8
|
-
export declare class MultiDocumentServiceFactory implements IDocumentServiceFactory {
|
|
9
|
-
static create(documentServiceFactory: IDocumentServiceFactory | IDocumentServiceFactory[]): IDocumentServiceFactory;
|
|
10
|
-
private readonly protocolToDocumentFactoryMap;
|
|
11
|
-
constructor(documentServiceFactories: IDocumentServiceFactory[]);
|
|
12
|
-
readonly protocolName = "none:";
|
|
13
|
-
createDocumentService(resolvedUrl: IResolvedUrl, logger?: ITelemetryBaseLogger, clientIsSummarizer?: boolean): Promise<IDocumentService>;
|
|
14
|
-
createContainer(createNewSummary: ISummaryTree, createNewResolvedUrl: IResolvedUrl, logger?: ITelemetryBaseLogger, clientIsSummarizer?: boolean): Promise<IDocumentService>;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=multiDocumentServiceFactory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"multiDocumentServiceFactory.d.ts","sourceRoot":"","sources":["../src/multiDocumentServiceFactory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACH,uBAAuB,EACvB,YAAY,EACZ,gBAAgB,EACnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAG1E,qBAAa,2BAA4B,YAAW,uBAAuB;WACzD,MAAM,CAAC,sBAAsB,EAAE,uBAAuB,GAAG,uBAAuB,EAAE;IAmBhG,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAuC;gBAExE,wBAAwB,EAAE,uBAAuB,EAAE;IAM/D,SAAgB,YAAY,WAAW;IACjC,qBAAqB,CACvB,WAAW,EAAE,YAAY,EACzB,MAAM,CAAC,EAAE,oBAAoB,EAC7B,kBAAkB,CAAC,EAAE,OAAO,GAC7B,OAAO,CAAC,gBAAgB,CAAC;IAcf,eAAe,CACxB,gBAAgB,EAAE,YAAY,EAC9B,oBAAoB,EAAE,YAAY,EAClC,MAAM,CAAC,EAAE,oBAAoB,EAC7B,kBAAkB,CAAC,EAAE,OAAO,GAC7B,OAAO,CAAC,gBAAgB,CAAC;CAY/B"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*!
|
|
3
|
-
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
4
|
-
* Licensed under the MIT License.
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.MultiDocumentServiceFactory = void 0;
|
|
8
|
-
const url_1 = require("url");
|
|
9
|
-
const fluidResolvedUrl_1 = require("./fluidResolvedUrl");
|
|
10
|
-
class MultiDocumentServiceFactory {
|
|
11
|
-
constructor(documentServiceFactories) {
|
|
12
|
-
this.protocolName = "none:";
|
|
13
|
-
this.protocolToDocumentFactoryMap = new Map();
|
|
14
|
-
documentServiceFactories.forEach((factory) => {
|
|
15
|
-
this.protocolToDocumentFactoryMap.set(factory.protocolName, factory);
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
static create(documentServiceFactory) {
|
|
19
|
-
if (Array.isArray(documentServiceFactory)) {
|
|
20
|
-
const factories = [];
|
|
21
|
-
documentServiceFactory.forEach((factory) => {
|
|
22
|
-
const maybeMulti = factory;
|
|
23
|
-
if (maybeMulti.protocolToDocumentFactoryMap !== undefined) {
|
|
24
|
-
factories.push(...maybeMulti.protocolToDocumentFactoryMap.values());
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
factories.push(factory);
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
if (factories.length === 1) {
|
|
31
|
-
return factories[0];
|
|
32
|
-
}
|
|
33
|
-
return new MultiDocumentServiceFactory(factories);
|
|
34
|
-
}
|
|
35
|
-
return documentServiceFactory;
|
|
36
|
-
}
|
|
37
|
-
async createDocumentService(resolvedUrl, logger, clientIsSummarizer) {
|
|
38
|
-
(0, fluidResolvedUrl_1.ensureFluidResolvedUrl)(resolvedUrl);
|
|
39
|
-
const urlObj = (0, url_1.parse)(resolvedUrl.url);
|
|
40
|
-
if (urlObj.protocol === undefined || urlObj.protocol === null) {
|
|
41
|
-
throw new Error("No protocol provided");
|
|
42
|
-
}
|
|
43
|
-
const factory = this.protocolToDocumentFactoryMap.get(urlObj.protocol);
|
|
44
|
-
if (factory === undefined) {
|
|
45
|
-
throw new Error("Unknown Fluid protocol");
|
|
46
|
-
}
|
|
47
|
-
return factory.createDocumentService(resolvedUrl, logger, clientIsSummarizer);
|
|
48
|
-
}
|
|
49
|
-
async createContainer(createNewSummary, createNewResolvedUrl, logger, clientIsSummarizer) {
|
|
50
|
-
(0, fluidResolvedUrl_1.ensureFluidResolvedUrl)(createNewResolvedUrl);
|
|
51
|
-
const urlObj = (0, url_1.parse)(createNewResolvedUrl.url);
|
|
52
|
-
if (urlObj.protocol === undefined || urlObj.protocol === null) {
|
|
53
|
-
throw new Error("No protocol provided");
|
|
54
|
-
}
|
|
55
|
-
const factory = this.protocolToDocumentFactoryMap.get(urlObj.protocol);
|
|
56
|
-
if (factory === undefined) {
|
|
57
|
-
throw new Error("Unknown Fluid protocol");
|
|
58
|
-
}
|
|
59
|
-
return factory.createContainer(createNewSummary, createNewResolvedUrl, logger, clientIsSummarizer);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
exports.MultiDocumentServiceFactory = MultiDocumentServiceFactory;
|
|
63
|
-
//# sourceMappingURL=multiDocumentServiceFactory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"multiDocumentServiceFactory.js","sourceRoot":"","sources":["../src/multiDocumentServiceFactory.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,6BAA4B;AAQ5B,yDAA4D;AAE5D,MAAa,2BAA2B;IAsBpC,YAAY,wBAAmD;QAM/C,iBAAY,GAAG,OAAO,CAAC;QALnC,IAAI,CAAC,4BAA4B,GAAG,IAAI,GAAG,EAAE,CAAC;QAC9C,wBAAwB,CAAC,OAAO,CAAC,CAAC,OAAgC,EAAE,EAAE;YAClE,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACP,CAAC;IA1BM,MAAM,CAAC,MAAM,CAAC,sBAA2E;QAC5F,IAAI,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE;YACvC,MAAM,SAAS,GAA8B,EAAE,CAAC;YAChD,sBAAsB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACvC,MAAM,UAAU,GAAG,OAAsC,CAAC;gBAC1D,IAAI,UAAU,CAAC,4BAA4B,KAAK,SAAS,EAAE;oBACvD,SAAS,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,4BAA4B,CAAC,MAAM,EAAE,CAAC,CAAC;iBACvE;qBAAM;oBACH,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC3B;YACL,CAAC,CAAC,CAAC;YACH,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxB,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;aACvB;YACD,OAAO,IAAI,2BAA2B,CAAC,SAAS,CAAC,CAAC;SACrD;QACD,OAAO,sBAAsB,CAAC;IAClC,CAAC;IAWD,KAAK,CAAC,qBAAqB,CACvB,WAAyB,EACzB,MAA6B,EAC7B,kBAA4B;QAE5B,IAAA,yCAAsB,EAAC,WAAW,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,IAAA,WAAK,EAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE;YAC3D,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SAC3C;QACD,MAAM,OAAO,GAAwC,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5G,IAAI,OAAO,KAAK,SAAS,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC7C;QAED,OAAO,OAAO,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAClF,CAAC;IAEM,KAAK,CAAC,eAAe,CACxB,gBAA8B,EAC9B,oBAAkC,EAClC,MAA6B,EAC7B,kBAA4B;QAE5B,IAAA,yCAAsB,EAAC,oBAAoB,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAA,WAAK,EAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE;YAC3D,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SAC3C;QACD,MAAM,OAAO,GAAwC,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5G,IAAI,OAAO,KAAK,SAAS,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC7C;QACD,OAAO,OAAO,CAAC,eAAe,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACvG,CAAC;CACJ;AAhED,kEAgEC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { parse } from \"url\";\nimport {\n IDocumentServiceFactory,\n IResolvedUrl,\n IDocumentService,\n} from \"@fluidframework/driver-definitions\";\nimport { ISummaryTree } from \"@fluidframework/protocol-definitions\";\nimport { ITelemetryBaseLogger } from \"@fluidframework/common-definitions\";\nimport { ensureFluidResolvedUrl } from \"./fluidResolvedUrl\";\n\nexport class MultiDocumentServiceFactory implements IDocumentServiceFactory {\n public static create(documentServiceFactory: IDocumentServiceFactory | IDocumentServiceFactory[]) {\n if (Array.isArray(documentServiceFactory)) {\n const factories: IDocumentServiceFactory[] = [];\n documentServiceFactory.forEach((factory) => {\n const maybeMulti = factory as MultiDocumentServiceFactory;\n if (maybeMulti.protocolToDocumentFactoryMap !== undefined) {\n factories.push(...maybeMulti.protocolToDocumentFactoryMap.values());\n } else {\n factories.push(factory);\n }\n });\n if (factories.length === 1) {\n return factories[0];\n }\n return new MultiDocumentServiceFactory(factories);\n }\n return documentServiceFactory;\n }\n\n private readonly protocolToDocumentFactoryMap: Map<string, IDocumentServiceFactory>;\n\n constructor(documentServiceFactories: IDocumentServiceFactory[]) {\n this.protocolToDocumentFactoryMap = new Map();\n documentServiceFactories.forEach((factory: IDocumentServiceFactory) => {\n this.protocolToDocumentFactoryMap.set(factory.protocolName, factory);\n });\n }\n public readonly protocolName = \"none:\";\n async createDocumentService(\n resolvedUrl: IResolvedUrl,\n logger?: ITelemetryBaseLogger,\n clientIsSummarizer?: boolean,\n ): Promise<IDocumentService> {\n ensureFluidResolvedUrl(resolvedUrl);\n const urlObj = parse(resolvedUrl.url);\n if (urlObj.protocol === undefined || urlObj.protocol === null) {\n throw new Error(\"No protocol provided\");\n }\n const factory: IDocumentServiceFactory | undefined = this.protocolToDocumentFactoryMap.get(urlObj.protocol);\n if (factory === undefined) {\n throw new Error(\"Unknown Fluid protocol\");\n }\n\n return factory.createDocumentService(resolvedUrl, logger, clientIsSummarizer);\n }\n\n public async createContainer(\n createNewSummary: ISummaryTree,\n createNewResolvedUrl: IResolvedUrl,\n logger?: ITelemetryBaseLogger,\n clientIsSummarizer?: boolean,\n ): Promise<IDocumentService> {\n ensureFluidResolvedUrl(createNewResolvedUrl);\n const urlObj = parse(createNewResolvedUrl.url);\n if (urlObj.protocol === undefined || urlObj.protocol === null) {\n throw new Error(\"No protocol provided\");\n }\n const factory: IDocumentServiceFactory | undefined = this.protocolToDocumentFactoryMap.get(urlObj.protocol);\n if (factory === undefined) {\n throw new Error(\"Unknown Fluid protocol\");\n }\n return factory.createContainer(createNewSummary, createNewResolvedUrl, logger, clientIsSummarizer);\n }\n}\n"]}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
-
* Licensed under the MIT License.
|
|
4
|
-
*/
|
|
5
|
-
import { IRequest } from "@fluidframework/core-interfaces";
|
|
6
|
-
import { IResolvedUrl, IUrlResolver } from "@fluidframework/driver-definitions";
|
|
7
|
-
/**
|
|
8
|
-
* Resolver that takes a list of url resolvers and then try each of them to resolve the url.
|
|
9
|
-
* @param resolversList - List of url resolvers to be used to resolve the request.
|
|
10
|
-
* @param request - Request to be resolved.
|
|
11
|
-
*/
|
|
12
|
-
export declare function configurableUrlResolver(resolversList: IUrlResolver[], request: IRequest): Promise<IResolvedUrl | undefined>;
|
|
13
|
-
export declare class MultiUrlResolver implements IUrlResolver {
|
|
14
|
-
private readonly urlResolvers;
|
|
15
|
-
static create(urlResolver: IUrlResolver | IUrlResolver[]): IUrlResolver;
|
|
16
|
-
private constructor();
|
|
17
|
-
resolve(request: IRequest): Promise<IResolvedUrl | undefined>;
|
|
18
|
-
getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string>;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=multiUrlResolver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"multiUrlResolver.d.ts","sourceRoot":"","sources":["../src/multiUrlResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEhF;;;;GAIG;AACH,wBAAsB,uBAAuB,CACzC,aAAa,EAAE,YAAY,EAAE,EAC7B,OAAO,EAAE,QAAQ,GAClB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CASnC;AAED,qBAAa,gBAAiB,YAAW,YAAY;IAW7B,OAAO,CAAC,QAAQ,CAAC,YAAY;WAVnC,MAAM,CAAC,WAAW,EAAE,YAAY,GAAG,YAAY,EAAE;IAU/D,OAAO;IAED,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAItD,cAAc,CACvB,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC;CAGrB"}
|
package/dist/multiUrlResolver.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*!
|
|
3
|
-
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
4
|
-
* Licensed under the MIT License.
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.MultiUrlResolver = exports.configurableUrlResolver = void 0;
|
|
8
|
-
/**
|
|
9
|
-
* Resolver that takes a list of url resolvers and then try each of them to resolve the url.
|
|
10
|
-
* @param resolversList - List of url resolvers to be used to resolve the request.
|
|
11
|
-
* @param request - Request to be resolved.
|
|
12
|
-
*/
|
|
13
|
-
async function configurableUrlResolver(resolversList, request) {
|
|
14
|
-
let resolved;
|
|
15
|
-
for (const resolver of resolversList) {
|
|
16
|
-
resolved = await resolver.resolve(Object.assign({}, request));
|
|
17
|
-
if (resolved !== undefined) {
|
|
18
|
-
return resolved;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return undefined;
|
|
22
|
-
}
|
|
23
|
-
exports.configurableUrlResolver = configurableUrlResolver;
|
|
24
|
-
class MultiUrlResolver {
|
|
25
|
-
constructor(urlResolvers) {
|
|
26
|
-
this.urlResolvers = urlResolvers;
|
|
27
|
-
}
|
|
28
|
-
static create(urlResolver) {
|
|
29
|
-
if (Array.isArray(urlResolver)) {
|
|
30
|
-
if (urlResolver.length === 1) {
|
|
31
|
-
return urlResolver[0];
|
|
32
|
-
}
|
|
33
|
-
return new MultiUrlResolver(urlResolver);
|
|
34
|
-
}
|
|
35
|
-
return urlResolver;
|
|
36
|
-
}
|
|
37
|
-
async resolve(request) {
|
|
38
|
-
return configurableUrlResolver(this.urlResolvers, request);
|
|
39
|
-
}
|
|
40
|
-
async getAbsoluteUrl(resolvedUrl, relativeUrl) {
|
|
41
|
-
throw new Error("Not implmented");
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
exports.MultiUrlResolver = MultiUrlResolver;
|
|
45
|
-
//# sourceMappingURL=multiUrlResolver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"multiUrlResolver.js","sourceRoot":"","sources":["../src/multiUrlResolver.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAKH;;;;GAIG;AACI,KAAK,UAAU,uBAAuB,CACzC,aAA6B,EAC7B,OAAiB;IAEjB,IAAI,QAAkC,CAAC;IACvC,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE;QAClC,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,mBAAM,OAAO,EAAG,CAAC;QAClD,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,OAAO,QAAQ,CAAC;SACnB;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAZD,0DAYC;AAED,MAAa,gBAAgB;IAWzB,YAAqC,YAA4B;QAA5B,iBAAY,GAAZ,YAAY,CAAgB;IAAI,CAAC;IAV/D,MAAM,CAAC,MAAM,CAAC,WAA0C;QAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC5B,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC1B,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;aACzB;YACD,OAAO,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC;SAC5C;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAID,KAAK,CAAC,OAAO,CAAC,OAAiB;QAC3B,OAAO,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAEM,KAAK,CAAC,cAAc,CACvB,WAAyB,EACzB,WAAmB;QAEnB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACtC,CAAC;CACJ;AAvBD,4CAuBC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IRequest } from \"@fluidframework/core-interfaces\";\nimport { IResolvedUrl, IUrlResolver } from \"@fluidframework/driver-definitions\";\n\n/**\n * Resolver that takes a list of url resolvers and then try each of them to resolve the url.\n * @param resolversList - List of url resolvers to be used to resolve the request.\n * @param request - Request to be resolved.\n */\nexport async function configurableUrlResolver(\n resolversList: IUrlResolver[],\n request: IRequest,\n): Promise<IResolvedUrl | undefined> {\n let resolved: IResolvedUrl | undefined;\n for (const resolver of resolversList) {\n resolved = await resolver.resolve({ ...request });\n if (resolved !== undefined) {\n return resolved;\n }\n }\n return undefined;\n}\n\nexport class MultiUrlResolver implements IUrlResolver {\n public static create(urlResolver: IUrlResolver | IUrlResolver[]) {\n if (Array.isArray(urlResolver)) {\n if (urlResolver.length === 1) {\n return urlResolver[0];\n }\n return new MultiUrlResolver(urlResolver);\n }\n return urlResolver;\n }\n\n private constructor(private readonly urlResolvers: IUrlResolver[]) { }\n\n async resolve(request: IRequest): Promise<IResolvedUrl | undefined> {\n return configurableUrlResolver(this.urlResolvers, request);\n }\n\n public async getAbsoluteUrl(\n resolvedUrl: IResolvedUrl,\n relativeUrl: string,\n ): Promise<string> {\n throw new Error(\"Not implmented\");\n }\n}\n"]}
|
package/dist/network.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../src/network.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;AAEH,2EAK4C;AAE5C,qEAAgF;AAEhF,IAAY,YAIX;AAJD,WAAY,YAAY;IACpB,qDAAO,CAAA;IACP,mDAAM,CAAA;IACN,qDAAO,CAAA;AACX,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB;AAED,mFAAmF;AACnF,+EAA+E;AAC/E,6DAA6D;AAC7D,SAAgB,QAAQ;IACpB,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE;QAC9F,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC;KACxE;IACD,OAAO,YAAY,CAAC,OAAO,CAAC;AAChC,CAAC;AALD,4BAKC;AAkBD;;GAEG;AACH,MAAa,mBAAoB,SAAQ,8BAAY;IAGjD,YACI,OAAe,EACN,QAAiB,EAC1B,KAAgC;QAEhC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAHb,aAAQ,GAAR,QAAQ,CAAS;QAJrB,cAAS,GAAG,oCAAe,CAAC,mBAAmB,CAAC;IAQzD,CAAC;CACJ;AAVD,kDAUC;AAED,oFAAoF;AACpF,yEAAyE;AACzE,qEAAqE;AACrE,uEAAuE;AACvE,SAAS;AACT,MAAM,iCAAiC,GAAG,gCAAgC,CAAC;AAC3E,MAAa,mCAAoC,SAAQ,8BAAY;IAMjE,YAAY,OAAe,EAAE,KAAgC;QACzD,KAAK,CAAC,OAAO,kCAAO,KAAK,KAAE,UAAU,EAAE,GAAG,IAAG,CAAC;QAJzC,cAAS,GAAW,mCAAmC,CAAC,SAAS,CAAC;QAClE,aAAQ,GAAG,KAAK,CAAC;IAI1B,CAAC;;AARL,kFASC;AARmB,6CAAS,GACrB,MAAA,oCAAe,CAAC,iCAAiC,CAAC,mCAAI,iCAAiC,CAAC;AAShG,MAAa,kBAAmB,SAAQ,8BAAY;IAIhD,YACI,OAAe,EACN,MAA0B,EAC1B,QAA4B,EACrC,KAAgC;QAEhC,+BAA+B;QAC/B,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QAL9C,WAAM,GAAN,MAAM,CAAoB;QAC1B,aAAQ,GAAR,QAAQ,CAAoB;QANhC,cAAS,GAAG,oCAAe,CAAC,kBAAkB,CAAC;QAC/C,aAAQ,GAAG,KAAK,CAAC;IAU1B,CAAC;CACJ;AAbD,gDAaC;AAED,MAAa,iBAAoC,SAAQ,8BAAY;IACjE,YACI,OAAe,EACN,SAAY,EACZ,QAAiB,EAC1B,KAAgC;QAEhC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAJb,cAAS,GAAT,SAAS,CAAG;QACZ,aAAQ,GAAR,QAAQ,CAAS;IAI9B,CAAC;CACJ;AATD,8CASC;AAED,MAAa,iBAAoC,SAAQ,iBAAoB;IACzE,YACI,OAAe,EACN,SAAY,EACrB,KAAgC;QAEhC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAH/B,cAAS,GAAT,SAAS,CAAG;IAIzB,CAAC;CACJ;AARD,8CAQC;AAED,MAAa,cAAiC,SAAQ,iBAAoB;IACtE,YACI,OAAe,EACN,SAAY,EACrB,KAAgC;QAEhC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAH9B,cAAS,GAAT,SAAS,CAAG;IAIzB,CAAC;CACJ;AARD,wCAQC;AAED;;GAEG;AACH,MAAa,eAAgB,SAAQ,8BAAY;IAI7C,YACI,OAAe,EACN,iBAAyB,EAClC,KAAgC;QAEhC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAHb,sBAAiB,GAAjB,iBAAiB,CAAQ;QAL7B,cAAS,GAAG,oCAAe,CAAC,eAAe,CAAC;QAC5C,aAAQ,GAAG,IAAI,CAAC;IAQzB,CAAC;CACJ;AAXD,0CAWC;AAEM,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAE,KAAgC,EAAE,EAAE,CAClF,IAAI,iBAAiB,CAAC,OAAO,EAAE,oCAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AADzD,QAAA,gBAAgB,oBACyC;AAEtE,SAAgB,yBAAyB,CACrC,OAAe,EACf,SAAwD,EACxD,KAAgC;IAEhC,IAAI,SAAS,CAAC,YAAY,KAAK,SAAS,IAAI,SAAS,CAAC,QAAQ,EAAE;QAC5D,OAAO,IAAI,eAAe,CACtB,OAAO,EAAE,SAAS,CAAC,YAAY,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;KACtD;IACD,OAAO,IAAI,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACvE,CAAC;AAVD,8DAUC;AAED;;;;GAIG;AACI,MAAM,eAAe,GAAG,CAAC,KAAU,EAAW,EAAE,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,MAAK,IAAI,CAAC;AAApE,QAAA,eAAe,mBAAqD;AAEjF,gDAAgD;AACzC,MAAM,6BAA6B,GAAG,CAAC,KAAU,EAAsB,EAAE,CAC5E,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,iBAAuC,CAAC;AADtC,QAAA,6BAA6B,iCACS;AAEnD,kEAAkE;AAC3D,MAAM,sBAAsB,GAAG,CAAC,KAAU,EAAsB,EAAE,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,iBAAiB,MAAK,SAAS,CAAC,CAAC;IAC9G,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AADlC,QAAA,sBAAsB,0BACY","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n IThrottlingWarning,\n IDriverErrorBase,\n IAuthorizationError,\n DriverErrorType,\n} from \"@fluidframework/driver-definitions\";\nimport { ITelemetryProperties } from \"@fluidframework/common-definitions\";\nimport { IFluidErrorBase, LoggingError } from \"@fluidframework/telemetry-utils\";\n\nexport enum OnlineStatus {\n Offline,\n Online,\n Unknown,\n}\n\n// It tells if we have local connection only - we might not have connection to web.\n// No solution for node.js (other than resolve dns names / ping specific sites)\n// Can also use window.addEventListener(\"online\" / \"offline\")\nexport function isOnline(): OnlineStatus {\n if (typeof navigator === \"object\" && navigator !== null && typeof navigator.onLine === \"boolean\") {\n return navigator.onLine ? OnlineStatus.Online : OnlineStatus.Offline;\n }\n return OnlineStatus.Unknown;\n}\n\n/**\n * Interface describing errors and warnings raised by any driver code.\n * Not expected to be implemented by a class or an object literal, but rather used in place of\n * any or unknown in various function signatures that pass errors around.\n *\n * \"Any\" in the interface name is a nod to the fact that errorType has lost its type constraint.\n * It will be either DriverErrorType or the specific driver's specialized error type enum,\n * but we can't reference a specific driver's error type enum in this code.\n */\n export interface IAnyDriverError extends Omit<IDriverErrorBase, \"errorType\"> {\n readonly errorType: string;\n}\n\n/** Telemetry props with driver-specific required properties */\nexport type DriverErrorTelemetryProps = ITelemetryProperties & { driverVersion: string | undefined; };\n\n/**\n * Generic network error class.\n */\nexport class GenericNetworkError extends LoggingError implements IDriverErrorBase, IFluidErrorBase {\n readonly errorType = DriverErrorType.genericNetworkError;\n\n constructor(\n message: string,\n readonly canRetry: boolean,\n props: DriverErrorTelemetryProps,\n ) {\n super(message, props);\n }\n}\n\n// Todo GH #6214: Remove after next drive def bump. This is necessary as there is no\n// compatible way to augment an enum, as it can't be optional. So for now\n// we need to duplicate the value here. We likely need to rethink our\n// DriverErrorType strategy so that it supports extension with optional\n// value.\nconst deltaStreamConnectionForbiddenStr = \"deltaStreamConnectionForbidden\";\nexport class DeltaStreamConnectionForbiddenError extends LoggingError implements IFluidErrorBase {\n static readonly errorType: string =\n DriverErrorType[deltaStreamConnectionForbiddenStr] ?? deltaStreamConnectionForbiddenStr;\n readonly errorType: string = DeltaStreamConnectionForbiddenError.errorType;\n readonly canRetry = false;\n\n constructor(message: string, props: DriverErrorTelemetryProps) {\n super(message, { ...props, statusCode: 400 });\n }\n}\n\nexport class AuthorizationError extends LoggingError implements IAuthorizationError, IFluidErrorBase {\n readonly errorType = DriverErrorType.authorizationError;\n readonly canRetry = false;\n\n constructor(\n message: string,\n readonly claims: string | undefined,\n readonly tenantId: string | undefined,\n props: DriverErrorTelemetryProps,\n ) {\n // don't log claims or tenantId\n super(message, props, new Set([\"claims\", \"tenantId\"]));\n }\n}\n\nexport class NetworkErrorBasic<T extends string> extends LoggingError implements IFluidErrorBase {\n constructor(\n message: string,\n readonly errorType: T,\n readonly canRetry: boolean,\n props: DriverErrorTelemetryProps,\n ) {\n super(message, props);\n }\n}\n\nexport class NonRetryableError<T extends string> extends NetworkErrorBasic<T> {\n constructor(\n message: string,\n readonly errorType: T,\n props: DriverErrorTelemetryProps,\n ) {\n super(message, errorType, false, props);\n }\n}\n\nexport class RetryableError<T extends string> extends NetworkErrorBasic<T> {\n constructor(\n message: string,\n readonly errorType: T,\n props: DriverErrorTelemetryProps,\n ) {\n super(message, errorType, true, props);\n }\n}\n\n/**\n * Throttling error class - used to communicate all throttling errors\n */\nexport class ThrottlingError extends LoggingError implements IThrottlingWarning, IFluidErrorBase {\n readonly errorType = DriverErrorType.throttlingError;\n readonly canRetry = true;\n\n constructor(\n message: string,\n readonly retryAfterSeconds: number,\n props: DriverErrorTelemetryProps,\n ) {\n super(message, props);\n }\n}\n\nexport const createWriteError = (message: string, props: DriverErrorTelemetryProps) =>\n new NonRetryableError(message, DriverErrorType.writeError, props);\n\nexport function createGenericNetworkError(\n message: string,\n retryInfo: { canRetry: boolean; retryAfterMs?: number; },\n props: DriverErrorTelemetryProps,\n): ThrottlingError | GenericNetworkError {\n if (retryInfo.retryAfterMs !== undefined && retryInfo.canRetry) {\n return new ThrottlingError(\n message, retryInfo.retryAfterMs / 1000, props);\n }\n return new GenericNetworkError(message, retryInfo.canRetry, props);\n}\n\n/**\n * Check if a connection error can be retried. Unless explicitly allowed, retry is disallowed.\n * I.e. asserts or unexpected exceptions in our code result in container failure.\n * @param error - The error to inspect for ability to retry\n */\nexport const canRetryOnError = (error: any): boolean => error?.canRetry === true;\n\n/** Check retryAfterSeconds property on error */\nexport const getRetryDelaySecondsFromError = (error: any): number | undefined =>\n error?.retryAfterSeconds as number | undefined;\n\n/** Check retryAfterSeconds property on error and convert to ms */\nexport const getRetryDelayFromError = (error: any): number | undefined => error?.retryAfterSeconds !== undefined ?\n error.retryAfterSeconds * 1000 : undefined;\n"]}
|
package/dist/networkUtils.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*!
|
|
3
|
-
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
4
|
-
* Licensed under the MIT License.
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.waitForConnectedState = exports.logNetworkFailure = void 0;
|
|
8
|
-
const network_1 = require("./network");
|
|
9
|
-
function logNetworkFailure(logger, event, error) {
|
|
10
|
-
var _a, _b;
|
|
11
|
-
const newEvent = Object.assign({}, event);
|
|
12
|
-
const errorOnlineProp = error.online;
|
|
13
|
-
newEvent.online = typeof errorOnlineProp === "string"
|
|
14
|
-
? errorOnlineProp
|
|
15
|
-
: network_1.OnlineStatus[(0, network_1.isOnline)()];
|
|
16
|
-
if (typeof navigator === "object" && navigator !== null) {
|
|
17
|
-
const nav = navigator;
|
|
18
|
-
const connection = (_b = (_a = nav.connection) !== null && _a !== void 0 ? _a : nav.mozConnection) !== null && _b !== void 0 ? _b : nav.webkitConnection;
|
|
19
|
-
if (connection !== null && typeof connection === "object") {
|
|
20
|
-
newEvent.connectionType = connection.type;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
// non-retryable errors are fatal and should be logged as errors
|
|
24
|
-
newEvent.category = (0, network_1.canRetryOnError)(error) ? "generic" : "error";
|
|
25
|
-
logger.sendTelemetryEvent(newEvent, error);
|
|
26
|
-
}
|
|
27
|
-
exports.logNetworkFailure = logNetworkFailure;
|
|
28
|
-
/**
|
|
29
|
-
* Wait for browser to get to connected state.
|
|
30
|
-
* If connected, waits minimum of minDelay anyway (between network retries)
|
|
31
|
-
* If disconnected, polls every 30 seconds anyway, to make sure we are not getting stuck because of wrong signal
|
|
32
|
-
* Note that browsers will have false positives (like having Hyper-V adapter on machine,
|
|
33
|
-
* or machine connected to router that is not connected to internet)
|
|
34
|
-
* But there should be no false negatives.
|
|
35
|
-
* The only exception - Opera returns false when user enters "Work Offline" mode, regardless of actual connectivity.
|
|
36
|
-
*/
|
|
37
|
-
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
|
38
|
-
function waitForConnectedState(minDelay) {
|
|
39
|
-
// Use this frequency to poll even when we are offline and able to setup online/offline listener
|
|
40
|
-
// This is mostly safety net
|
|
41
|
-
const offlinePollFrequency = 30000;
|
|
42
|
-
return new Promise((resolve) => {
|
|
43
|
-
let listener = resolve;
|
|
44
|
-
let delay = minDelay;
|
|
45
|
-
if ((0, network_1.isOnline)() === network_1.OnlineStatus.Offline) {
|
|
46
|
-
if ((window === null || window === void 0 ? void 0 : window.addEventListener) !== undefined) {
|
|
47
|
-
listener = () => {
|
|
48
|
-
resolve();
|
|
49
|
-
window.removeEventListener("online", listener);
|
|
50
|
-
};
|
|
51
|
-
window.addEventListener("online", listener, false);
|
|
52
|
-
delay = Math.max(minDelay, offlinePollFrequency);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
setTimeout(listener, delay);
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
exports.waitForConnectedState = waitForConnectedState;
|
|
59
|
-
//# sourceMappingURL=networkUtils.js.map
|
package/dist/networkUtils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"networkUtils.js","sourceRoot":"","sources":["../src/networkUtils.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,uCAAoE;AAEpE,SAAgB,iBAAiB,CAAC,MAAwB,EAAE,KAA2B,EAAE,KAAW;;IAChG,MAAM,QAAQ,qBAAQ,KAAK,CAAE,CAAC;IAE9B,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC;IACrC,QAAQ,CAAC,MAAM,GAAG,OAAO,eAAe,KAAK,QAAQ;QACjD,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,sBAAY,CAAC,IAAA,kBAAQ,GAAE,CAAC,CAAC;IAE/B,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE;QACrD,MAAM,GAAG,GAAG,SAAgB,CAAC;QAC7B,MAAM,UAAU,GAAG,MAAA,MAAA,GAAG,CAAC,UAAU,mCAAI,GAAG,CAAC,aAAa,mCAAI,GAAG,CAAC,gBAAgB,CAAC;QAC/E,IAAI,UAAU,KAAK,IAAI,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YACvD,QAAQ,CAAC,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC;SAC7C;KACJ;IAED,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,GAAG,IAAA,yBAAe,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IACjE,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC;AAnBD,8CAmBC;AAED;;;;;;;;GAQG;AACH,qEAAqE;AACrE,SAAgB,qBAAqB,CAAC,QAAgB;IAClD,gGAAgG;IAChG,4BAA4B;IAC5B,MAAM,oBAAoB,GAAG,KAAK,CAAC;IAEnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,IAAI,QAAQ,GAAe,OAAO,CAAC;QACnC,IAAI,KAAK,GAAG,QAAQ,CAAC;QACrB,IAAI,IAAA,kBAAQ,GAAE,KAAK,sBAAY,CAAC,OAAO,EAAE;YACrC,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,MAAK,SAAS,EAAE;gBACxC,QAAQ,GAAG,GAAG,EAAE;oBACZ,OAAO,EAAE,CAAC;oBACV,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACnD,CAAC,CAAC;gBACF,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACnD,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;aACpD;SACJ;QACD,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACP,CAAC;AApBD,sDAoBC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ITelemetryErrorEvent, ITelemetryLogger } from \"@fluidframework/common-definitions\";\nimport { isOnline, OnlineStatus, canRetryOnError } from \"./network\";\n\nexport function logNetworkFailure(logger: ITelemetryLogger, event: ITelemetryErrorEvent, error?: any) {\n const newEvent = { ...event };\n\n const errorOnlineProp = error.online;\n newEvent.online = typeof errorOnlineProp === \"string\"\n ? errorOnlineProp\n : OnlineStatus[isOnline()];\n\n if (typeof navigator === \"object\" && navigator !== null) {\n const nav = navigator as any;\n const connection = nav.connection ?? nav.mozConnection ?? nav.webkitConnection;\n if (connection !== null && typeof connection === \"object\") {\n newEvent.connectionType = connection.type;\n }\n }\n\n // non-retryable errors are fatal and should be logged as errors\n newEvent.category = canRetryOnError(error) ? \"generic\" : \"error\";\n logger.sendTelemetryEvent(newEvent, error);\n}\n\n/**\n * Wait for browser to get to connected state.\n * If connected, waits minimum of minDelay anyway (between network retries)\n * If disconnected, polls every 30 seconds anyway, to make sure we are not getting stuck because of wrong signal\n * Note that browsers will have false positives (like having Hyper-V adapter on machine,\n * or machine connected to router that is not connected to internet)\n * But there should be no false negatives.\n * The only exception - Opera returns false when user enters \"Work Offline\" mode, regardless of actual connectivity.\n */\n// eslint-disable-next-line @typescript-eslint/promise-function-async\nexport function waitForConnectedState(minDelay: number): Promise<void> {\n // Use this frequency to poll even when we are offline and able to setup online/offline listener\n // This is mostly safety net\n const offlinePollFrequency = 30000;\n\n return new Promise((resolve) => {\n let listener: () => void = resolve;\n let delay = minDelay;\n if (isOnline() === OnlineStatus.Offline) {\n if (window?.addEventListener !== undefined) {\n listener = () => {\n resolve();\n window.removeEventListener(\"online\", listener);\n };\n window.addEventListener(\"online\", listener, false);\n delay = Math.max(minDelay, offlinePollFrequency);\n }\n }\n setTimeout(listener, delay);\n });\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEU,QAAA,OAAO,GAAG,8BAA8B,CAAC;AACzC,QAAA,UAAU,GAAG,cAAc,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/driver-utils\";\nexport const pkgVersion = \"1.4.0-115997\";\n"]}
|