@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.
Files changed (390) hide show
  1. package/.eslintrc.js +17 -7
  2. package/.mocharc.js +12 -0
  3. package/CHANGELOG.md +141 -0
  4. package/README.md +68 -1
  5. package/api-extractor-lint.json +4 -0
  6. package/api-extractor.json +2 -2
  7. package/api-report/driver-utils.api.md +401 -0
  8. package/dist/adapters/compression/compressionTypes.cjs +20 -0
  9. package/dist/adapters/compression/compressionTypes.cjs.map +1 -0
  10. package/dist/adapters/compression/compressionTypes.d.ts +23 -0
  11. package/dist/adapters/compression/compressionTypes.d.ts.map +1 -0
  12. package/dist/adapters/compression/documentServiceCompressionAdapter.cjs +23 -0
  13. package/dist/adapters/compression/documentServiceCompressionAdapter.cjs.map +1 -0
  14. package/dist/adapters/compression/documentServiceCompressionAdapter.d.ts +13 -0
  15. package/dist/adapters/compression/documentServiceCompressionAdapter.d.ts.map +1 -0
  16. package/dist/adapters/compression/documentServiceFactoryCompressionAdapter.cjs +31 -0
  17. package/dist/adapters/compression/documentServiceFactoryCompressionAdapter.cjs.map +1 -0
  18. package/dist/adapters/compression/documentServiceFactoryCompressionAdapter.d.ts +16 -0
  19. package/dist/adapters/compression/documentServiceFactoryCompressionAdapter.d.ts.map +1 -0
  20. package/dist/adapters/compression/index.cjs +15 -0
  21. package/dist/adapters/compression/index.cjs.map +1 -0
  22. package/dist/adapters/compression/index.d.ts +8 -0
  23. package/dist/adapters/compression/index.d.ts.map +1 -0
  24. package/dist/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.cjs +370 -0
  25. package/dist/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.cjs.map +1 -0
  26. package/dist/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.d.ts +165 -0
  27. package/dist/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.d.ts.map +1 -0
  28. package/dist/adapters/compression/summaryblob/index.cjs +11 -0
  29. package/dist/adapters/compression/summaryblob/index.cjs.map +1 -0
  30. package/dist/adapters/compression/summaryblob/index.d.ts +6 -0
  31. package/dist/adapters/compression/summaryblob/index.d.ts.map +1 -0
  32. package/dist/adapters/index.cjs +14 -0
  33. package/dist/adapters/index.cjs.map +1 -0
  34. package/dist/adapters/index.d.ts +7 -0
  35. package/dist/adapters/index.d.ts.map +1 -0
  36. package/dist/adapters/predefinedAdapters.cjs +52 -0
  37. package/dist/adapters/predefinedAdapters.cjs.map +1 -0
  38. package/dist/adapters/predefinedAdapters.d.ts +21 -0
  39. package/dist/adapters/predefinedAdapters.d.ts.map +1 -0
  40. package/dist/blob.cjs +65 -0
  41. package/dist/blob.cjs.map +1 -0
  42. package/dist/blob.d.ts +56 -0
  43. package/dist/blob.d.ts.map +1 -0
  44. package/dist/{buildSnapshotTree.js → buildSnapshotTree.cjs} +7 -5
  45. package/dist/buildSnapshotTree.cjs.map +1 -0
  46. package/dist/buildSnapshotTree.d.ts +1 -0
  47. package/dist/buildSnapshotTree.d.ts.map +1 -1
  48. package/dist/documentServiceFactoryProxy.cjs +27 -0
  49. package/dist/documentServiceFactoryProxy.cjs.map +1 -0
  50. package/dist/documentServiceFactoryProxy.d.ts +19 -0
  51. package/dist/documentServiceFactoryProxy.d.ts.map +1 -0
  52. package/dist/documentServiceProxy.cjs +36 -0
  53. package/dist/documentServiceProxy.cjs.map +1 -0
  54. package/dist/documentServiceProxy.d.ts +21 -0
  55. package/dist/documentServiceProxy.d.ts.map +1 -0
  56. package/dist/{documentStorageServiceProxy.js → documentStorageServiceProxy.cjs} +10 -8
  57. package/dist/documentStorageServiceProxy.cjs.map +1 -0
  58. package/dist/documentStorageServiceProxy.d.ts +5 -2
  59. package/dist/documentStorageServiceProxy.d.ts.map +1 -1
  60. package/dist/driver-utils-alpha.d.ts +163 -0
  61. package/dist/driver-utils-beta.d.ts +178 -0
  62. package/dist/driver-utils-public.d.ts +178 -0
  63. package/dist/driver-utils-untrimmed.d.ts +590 -0
  64. package/dist/{error.js → error.cjs} +10 -3
  65. package/dist/error.cjs.map +1 -0
  66. package/dist/error.d.ts +8 -3
  67. package/dist/error.d.ts.map +1 -1
  68. package/dist/index.cjs +69 -0
  69. package/dist/index.cjs.map +1 -0
  70. package/dist/index.d.ts +16 -21
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/{insecureUrlResolver.js → insecureUrlResolver.cjs} +10 -11
  73. package/dist/insecureUrlResolver.cjs.map +1 -0
  74. package/dist/insecureUrlResolver.d.ts +1 -0
  75. package/dist/insecureUrlResolver.d.ts.map +1 -1
  76. package/dist/messageRecognition.cjs +38 -0
  77. package/dist/messageRecognition.cjs.map +1 -0
  78. package/dist/messageRecognition.d.ts +16 -26
  79. package/dist/messageRecognition.d.ts.map +1 -1
  80. package/dist/{network.js → network.cjs} +86 -24
  81. package/dist/network.cjs.map +1 -0
  82. package/dist/network.d.ts +69 -20
  83. package/dist/network.d.ts.map +1 -1
  84. package/dist/networkUtils.cjs +29 -0
  85. package/dist/networkUtils.cjs.map +1 -0
  86. package/dist/networkUtils.d.ts +4 -10
  87. package/dist/networkUtils.d.ts.map +1 -1
  88. package/dist/{packageVersion.js → packageVersion.cjs} +2 -2
  89. package/dist/packageVersion.cjs.map +1 -0
  90. package/dist/packageVersion.d.ts +1 -1
  91. package/dist/packageVersion.d.ts.map +1 -1
  92. package/dist/{parallelRequests.js → parallelRequests.cjs} +146 -74
  93. package/dist/parallelRequests.cjs.map +1 -0
  94. package/dist/parallelRequests.d.ts +19 -6
  95. package/dist/parallelRequests.d.ts.map +1 -1
  96. package/dist/{prefetchDocumentStorageService.js → prefetchDocumentStorageService.cjs} +7 -4
  97. package/dist/prefetchDocumentStorageService.cjs.map +1 -0
  98. package/dist/prefetchDocumentStorageService.d.ts +4 -2
  99. package/dist/prefetchDocumentStorageService.d.ts.map +1 -1
  100. package/dist/{rateLimiter.js → rateLimiter.cjs} +6 -3
  101. package/dist/rateLimiter.cjs.map +1 -0
  102. package/dist/rateLimiter.d.ts +3 -0
  103. package/dist/rateLimiter.d.ts.map +1 -1
  104. package/dist/readAndParse.cjs +28 -0
  105. package/dist/readAndParse.cjs.map +1 -0
  106. package/dist/readAndParse.d.ts +10 -4
  107. package/dist/readAndParse.d.ts.map +1 -1
  108. package/dist/runWithRetry.cjs +108 -0
  109. package/dist/runWithRetry.cjs.map +1 -0
  110. package/dist/runWithRetry.d.ts +26 -7
  111. package/dist/runWithRetry.d.ts.map +1 -1
  112. package/dist/{summaryForCreateNew.js → summaryForCreateNew.cjs} +20 -19
  113. package/dist/summaryForCreateNew.cjs.map +1 -0
  114. package/dist/summaryForCreateNew.d.ts +17 -4
  115. package/dist/summaryForCreateNew.d.ts.map +1 -1
  116. package/dist/{treeConversions.js → treeConversions.cjs} +16 -18
  117. package/dist/treeConversions.cjs.map +1 -0
  118. package/dist/treeConversions.d.ts +1 -0
  119. package/dist/treeConversions.d.ts.map +1 -1
  120. package/dist/tsdoc-metadata.json +11 -0
  121. package/lib/adapters/compression/compressionTypes.d.mts +23 -0
  122. package/lib/adapters/compression/compressionTypes.d.mts.map +1 -0
  123. package/lib/adapters/compression/compressionTypes.mjs +17 -0
  124. package/lib/adapters/compression/compressionTypes.mjs.map +1 -0
  125. package/lib/adapters/compression/documentServiceCompressionAdapter.d.mts +13 -0
  126. package/lib/adapters/compression/documentServiceCompressionAdapter.d.mts.map +1 -0
  127. package/lib/adapters/compression/documentServiceCompressionAdapter.mjs +19 -0
  128. package/lib/adapters/compression/documentServiceCompressionAdapter.mjs.map +1 -0
  129. package/lib/adapters/compression/documentServiceFactoryCompressionAdapter.d.mts +16 -0
  130. package/lib/adapters/compression/documentServiceFactoryCompressionAdapter.d.mts.map +1 -0
  131. package/lib/adapters/compression/documentServiceFactoryCompressionAdapter.mjs +27 -0
  132. package/lib/adapters/compression/documentServiceFactoryCompressionAdapter.mjs.map +1 -0
  133. package/lib/adapters/compression/index.d.mts +8 -0
  134. package/lib/adapters/compression/index.d.mts.map +1 -0
  135. package/lib/adapters/compression/index.mjs +8 -0
  136. package/lib/adapters/compression/index.mjs.map +1 -0
  137. package/lib/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.d.mts +165 -0
  138. package/lib/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.d.mts.map +1 -0
  139. package/lib/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.mjs +366 -0
  140. package/lib/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.mjs.map +1 -0
  141. package/lib/adapters/compression/summaryblob/index.d.mts +6 -0
  142. package/lib/adapters/compression/summaryblob/index.d.mts.map +1 -0
  143. package/lib/adapters/compression/summaryblob/index.mjs +6 -0
  144. package/lib/adapters/compression/summaryblob/index.mjs.map +1 -0
  145. package/lib/adapters/index.d.mts +7 -0
  146. package/lib/adapters/index.d.mts.map +1 -0
  147. package/lib/adapters/index.mjs +7 -0
  148. package/lib/adapters/index.mjs.map +1 -0
  149. package/lib/adapters/predefinedAdapters.d.mts +21 -0
  150. package/lib/adapters/predefinedAdapters.d.mts.map +1 -0
  151. package/lib/adapters/predefinedAdapters.mjs +47 -0
  152. package/lib/adapters/predefinedAdapters.mjs.map +1 -0
  153. package/lib/blob.d.mts +56 -0
  154. package/lib/blob.d.mts.map +1 -0
  155. package/lib/blob.mjs +59 -0
  156. package/lib/blob.mjs.map +1 -0
  157. package/lib/{buildSnapshotTree.d.ts → buildSnapshotTree.d.mts} +1 -0
  158. package/lib/buildSnapshotTree.d.mts.map +1 -0
  159. package/lib/{buildSnapshotTree.js → buildSnapshotTree.mjs} +6 -4
  160. package/lib/buildSnapshotTree.mjs.map +1 -0
  161. package/lib/documentServiceFactoryProxy.d.mts +19 -0
  162. package/lib/documentServiceFactoryProxy.d.mts.map +1 -0
  163. package/lib/documentServiceFactoryProxy.mjs +23 -0
  164. package/lib/documentServiceFactoryProxy.mjs.map +1 -0
  165. package/lib/documentServiceProxy.d.mts +21 -0
  166. package/lib/documentServiceProxy.d.mts.map +1 -0
  167. package/lib/documentServiceProxy.mjs +32 -0
  168. package/lib/documentServiceProxy.mjs.map +1 -0
  169. package/lib/{documentStorageServiceProxy.d.ts → documentStorageServiceProxy.d.mts} +5 -2
  170. package/lib/documentStorageServiceProxy.d.mts.map +1 -0
  171. package/lib/{documentStorageServiceProxy.js → documentStorageServiceProxy.mjs} +10 -8
  172. package/lib/documentStorageServiceProxy.mjs.map +1 -0
  173. package/lib/driver-utils-alpha.d.mts +163 -0
  174. package/lib/driver-utils-beta.d.mts +178 -0
  175. package/lib/driver-utils-public.d.mts +178 -0
  176. package/lib/driver-utils-untrimmed.d.mts +590 -0
  177. package/lib/error.d.mts +16 -0
  178. package/lib/error.d.mts.map +1 -0
  179. package/lib/error.mjs +19 -0
  180. package/lib/error.mjs.map +1 -0
  181. package/lib/index.d.mts +21 -0
  182. package/lib/index.d.mts.map +1 -0
  183. package/lib/index.mjs +21 -0
  184. package/lib/index.mjs.map +1 -0
  185. package/lib/{insecureUrlResolver.d.ts → insecureUrlResolver.d.mts} +1 -0
  186. package/lib/insecureUrlResolver.d.mts.map +1 -0
  187. package/lib/{insecureUrlResolver.js → insecureUrlResolver.mjs} +10 -11
  188. package/lib/insecureUrlResolver.mjs.map +1 -0
  189. package/lib/messageRecognition.d.mts +24 -0
  190. package/lib/messageRecognition.d.mts.map +1 -0
  191. package/lib/messageRecognition.mjs +29 -0
  192. package/lib/messageRecognition.mjs.map +1 -0
  193. package/lib/{network.d.ts → network.d.mts} +69 -20
  194. package/lib/network.d.mts.map +1 -0
  195. package/lib/{network.js → network.mjs} +85 -23
  196. package/lib/network.mjs.map +1 -0
  197. package/lib/networkUtils.d.mts +11 -0
  198. package/lib/networkUtils.d.mts.map +1 -0
  199. package/lib/networkUtils.mjs +25 -0
  200. package/lib/networkUtils.mjs.map +1 -0
  201. package/lib/{packageVersion.d.ts → packageVersion.d.mts} +1 -1
  202. package/lib/{packageVersion.d.ts.map → packageVersion.d.mts.map} +1 -1
  203. package/lib/{packageVersion.js → packageVersion.mjs} +2 -2
  204. package/lib/packageVersion.mjs.map +1 -0
  205. package/lib/{parallelRequests.d.ts → parallelRequests.d.mts} +19 -6
  206. package/lib/parallelRequests.d.mts.map +1 -0
  207. package/lib/{parallelRequests.js → parallelRequests.mjs} +119 -52
  208. package/lib/parallelRequests.mjs.map +1 -0
  209. package/lib/{prefetchDocumentStorageService.d.ts → prefetchDocumentStorageService.d.mts} +5 -7
  210. package/lib/prefetchDocumentStorageService.d.mts.map +1 -0
  211. package/lib/{prefetchDocumentStorageService.js → prefetchDocumentStorageService.mjs} +7 -8
  212. package/lib/prefetchDocumentStorageService.mjs.map +1 -0
  213. package/lib/{rateLimiter.d.ts → rateLimiter.d.mts} +3 -0
  214. package/lib/rateLimiter.d.mts.map +1 -0
  215. package/lib/{rateLimiter.js → rateLimiter.mjs} +5 -2
  216. package/lib/rateLimiter.mjs.map +1 -0
  217. package/lib/readAndParse.d.mts +20 -0
  218. package/lib/readAndParse.d.mts.map +1 -0
  219. package/lib/readAndParse.mjs +24 -0
  220. package/lib/readAndParse.mjs.map +1 -0
  221. package/lib/{runWithRetry.d.ts → runWithRetry.d.mts} +26 -7
  222. package/lib/runWithRetry.d.mts.map +1 -0
  223. package/lib/runWithRetry.mjs +103 -0
  224. package/lib/runWithRetry.mjs.map +1 -0
  225. package/lib/{summaryForCreateNew.d.ts → summaryForCreateNew.d.mts} +17 -4
  226. package/lib/summaryForCreateNew.d.mts.map +1 -0
  227. package/lib/{summaryForCreateNew.js → summaryForCreateNew.mjs} +18 -17
  228. package/lib/summaryForCreateNew.mjs.map +1 -0
  229. package/lib/{treeConversions.d.ts → treeConversions.d.mts} +1 -0
  230. package/lib/treeConversions.d.mts.map +1 -0
  231. package/lib/{treeConversions.js → treeConversions.mjs} +12 -14
  232. package/lib/treeConversions.mjs.map +1 -0
  233. package/package.json +88 -64
  234. package/prettier.config.cjs +8 -0
  235. package/src/adapters/compression/compressionTypes.ts +25 -0
  236. package/src/adapters/compression/documentServiceCompressionAdapter.ts +28 -0
  237. package/src/adapters/compression/documentServiceFactoryCompressionAdapter.ts +54 -0
  238. package/src/adapters/compression/index.ts +12 -0
  239. package/src/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.ts +451 -0
  240. package/src/adapters/compression/summaryblob/index.ts +9 -0
  241. package/src/adapters/index.ts +13 -0
  242. package/src/adapters/predefinedAdapters.ts +74 -0
  243. package/src/blob.ts +77 -0
  244. package/src/buildSnapshotTree.ts +58 -53
  245. package/src/documentServiceFactoryProxy.ts +47 -0
  246. package/src/documentServiceProxy.ts +46 -0
  247. package/src/documentStorageServiceProxy.ts +52 -37
  248. package/src/error.ts +13 -8
  249. package/src/index.ts +51 -21
  250. package/src/insecureUrlResolver.ts +125 -120
  251. package/src/messageRecognition.ts +24 -53
  252. package/src/network.ts +189 -111
  253. package/src/networkUtils.ts +24 -49
  254. package/src/packageVersion.ts +1 -1
  255. package/src/parallelRequests.ts +630 -519
  256. package/src/prefetchDocumentStorageService.ts +79 -74
  257. package/src/rateLimiter.ts +33 -30
  258. package/src/readAndParse.ts +18 -9
  259. package/src/runWithRetry.ts +145 -85
  260. package/src/summaryForCreateNew.ts +48 -29
  261. package/src/treeConversions.ts +49 -70
  262. package/tsc-multi.test.json +4 -0
  263. package/tsconfig.json +10 -12
  264. package/dist/blobAggregationStorage.d.ts +0 -43
  265. package/dist/blobAggregationStorage.d.ts.map +0 -1
  266. package/dist/blobAggregationStorage.js +0 -318
  267. package/dist/blobAggregationStorage.js.map +0 -1
  268. package/dist/blobCacheStorageService.d.ts +0 -16
  269. package/dist/blobCacheStorageService.d.ts.map +0 -1
  270. package/dist/blobCacheStorageService.js +0 -29
  271. package/dist/blobCacheStorageService.js.map +0 -1
  272. package/dist/buildSnapshotTree.js.map +0 -1
  273. package/dist/documentStorageServiceProxy.js.map +0 -1
  274. package/dist/emptyDocumentDeltaStorageService.d.ts +0 -13
  275. package/dist/emptyDocumentDeltaStorageService.d.ts.map +0 -1
  276. package/dist/emptyDocumentDeltaStorageService.js +0 -20
  277. package/dist/emptyDocumentDeltaStorageService.js.map +0 -1
  278. package/dist/error.js.map +0 -1
  279. package/dist/fluidResolvedUrl.d.ts +0 -8
  280. package/dist/fluidResolvedUrl.d.ts.map +0 -1
  281. package/dist/fluidResolvedUrl.js +0 -16
  282. package/dist/fluidResolvedUrl.js.map +0 -1
  283. package/dist/index.js +0 -38
  284. package/dist/index.js.map +0 -1
  285. package/dist/insecureUrlResolver.js.map +0 -1
  286. package/dist/messageRecognition.js +0 -73
  287. package/dist/messageRecognition.js.map +0 -1
  288. package/dist/multiDocumentServiceFactory.d.ts +0 -16
  289. package/dist/multiDocumentServiceFactory.d.ts.map +0 -1
  290. package/dist/multiDocumentServiceFactory.js +0 -63
  291. package/dist/multiDocumentServiceFactory.js.map +0 -1
  292. package/dist/multiUrlResolver.d.ts +0 -20
  293. package/dist/multiUrlResolver.d.ts.map +0 -1
  294. package/dist/multiUrlResolver.js +0 -45
  295. package/dist/multiUrlResolver.js.map +0 -1
  296. package/dist/network.js.map +0 -1
  297. package/dist/networkUtils.js +0 -59
  298. package/dist/networkUtils.js.map +0 -1
  299. package/dist/packageVersion.js.map +0 -1
  300. package/dist/parallelRequests.js.map +0 -1
  301. package/dist/prefetchDocumentStorageService.js.map +0 -1
  302. package/dist/rateLimiter.js.map +0 -1
  303. package/dist/readAndParse.js +0 -22
  304. package/dist/readAndParse.js.map +0 -1
  305. package/dist/runWithRetry.js +0 -69
  306. package/dist/runWithRetry.js.map +0 -1
  307. package/dist/summaryForCreateNew.js.map +0 -1
  308. package/dist/treeConversions.js.map +0 -1
  309. package/dist/treeUtils.d.ts +0 -51
  310. package/dist/treeUtils.d.ts.map +0 -1
  311. package/dist/treeUtils.js +0 -85
  312. package/dist/treeUtils.js.map +0 -1
  313. package/lib/blobAggregationStorage.d.ts +0 -43
  314. package/lib/blobAggregationStorage.d.ts.map +0 -1
  315. package/lib/blobAggregationStorage.js +0 -313
  316. package/lib/blobAggregationStorage.js.map +0 -1
  317. package/lib/blobCacheStorageService.d.ts +0 -16
  318. package/lib/blobCacheStorageService.d.ts.map +0 -1
  319. package/lib/blobCacheStorageService.js +0 -25
  320. package/lib/blobCacheStorageService.js.map +0 -1
  321. package/lib/buildSnapshotTree.d.ts.map +0 -1
  322. package/lib/buildSnapshotTree.js.map +0 -1
  323. package/lib/documentStorageServiceProxy.d.ts.map +0 -1
  324. package/lib/documentStorageServiceProxy.js.map +0 -1
  325. package/lib/emptyDocumentDeltaStorageService.d.ts +0 -13
  326. package/lib/emptyDocumentDeltaStorageService.d.ts.map +0 -1
  327. package/lib/emptyDocumentDeltaStorageService.js +0 -16
  328. package/lib/emptyDocumentDeltaStorageService.js.map +0 -1
  329. package/lib/error.d.ts +0 -11
  330. package/lib/error.d.ts.map +0 -1
  331. package/lib/error.js +0 -13
  332. package/lib/error.js.map +0 -1
  333. package/lib/fluidResolvedUrl.d.ts +0 -8
  334. package/lib/fluidResolvedUrl.d.ts.map +0 -1
  335. package/lib/fluidResolvedUrl.js +0 -11
  336. package/lib/fluidResolvedUrl.js.map +0 -1
  337. package/lib/index.d.ts +0 -26
  338. package/lib/index.d.ts.map +0 -1
  339. package/lib/index.js +0 -26
  340. package/lib/index.js.map +0 -1
  341. package/lib/insecureUrlResolver.d.ts.map +0 -1
  342. package/lib/insecureUrlResolver.js.map +0 -1
  343. package/lib/messageRecognition.d.ts +0 -38
  344. package/lib/messageRecognition.d.ts.map +0 -1
  345. package/lib/messageRecognition.js +0 -67
  346. package/lib/messageRecognition.js.map +0 -1
  347. package/lib/multiDocumentServiceFactory.d.ts +0 -16
  348. package/lib/multiDocumentServiceFactory.d.ts.map +0 -1
  349. package/lib/multiDocumentServiceFactory.js +0 -59
  350. package/lib/multiDocumentServiceFactory.js.map +0 -1
  351. package/lib/multiUrlResolver.d.ts +0 -20
  352. package/lib/multiUrlResolver.d.ts.map +0 -1
  353. package/lib/multiUrlResolver.js +0 -40
  354. package/lib/multiUrlResolver.js.map +0 -1
  355. package/lib/network.d.ts.map +0 -1
  356. package/lib/network.js.map +0 -1
  357. package/lib/networkUtils.d.ts +0 -17
  358. package/lib/networkUtils.d.ts.map +0 -1
  359. package/lib/networkUtils.js +0 -54
  360. package/lib/networkUtils.js.map +0 -1
  361. package/lib/packageVersion.js.map +0 -1
  362. package/lib/parallelRequests.d.ts.map +0 -1
  363. package/lib/parallelRequests.js.map +0 -1
  364. package/lib/prefetchDocumentStorageService.d.ts.map +0 -1
  365. package/lib/prefetchDocumentStorageService.js.map +0 -1
  366. package/lib/rateLimiter.d.ts.map +0 -1
  367. package/lib/rateLimiter.js.map +0 -1
  368. package/lib/readAndParse.d.ts +0 -14
  369. package/lib/readAndParse.d.ts.map +0 -1
  370. package/lib/readAndParse.js +0 -18
  371. package/lib/readAndParse.js.map +0 -1
  372. package/lib/runWithRetry.d.ts.map +0 -1
  373. package/lib/runWithRetry.js +0 -65
  374. package/lib/runWithRetry.js.map +0 -1
  375. package/lib/summaryForCreateNew.d.ts.map +0 -1
  376. package/lib/summaryForCreateNew.js.map +0 -1
  377. package/lib/treeConversions.d.ts.map +0 -1
  378. package/lib/treeConversions.js.map +0 -1
  379. package/lib/treeUtils.d.ts +0 -51
  380. package/lib/treeUtils.d.ts.map +0 -1
  381. package/lib/treeUtils.js +0 -80
  382. package/lib/treeUtils.js.map +0 -1
  383. package/src/blobAggregationStorage.ts +0 -374
  384. package/src/blobCacheStorageService.ts +0 -32
  385. package/src/emptyDocumentDeltaStorageService.ts +0 -24
  386. package/src/fluidResolvedUrl.ts +0 -15
  387. package/src/multiDocumentServiceFactory.ts +0 -80
  388. package/src/multiUrlResolver.ts +0 -51
  389. package/src/treeUtils.ts +0 -111
  390. package/tsconfig.esnext.json +0 -7
package/src/blob.ts ADDED
@@ -0,0 +1,77 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ import {
7
+ FileMode,
8
+ IBlob,
9
+ IAttachment,
10
+ ITree,
11
+ TreeEntry,
12
+ } from "@fluidframework/protocol-definitions";
13
+
14
+ /**
15
+ * Basic implementation of a blob ITreeEntry
16
+ * @internal
17
+ */
18
+ export class BlobTreeEntry {
19
+ public readonly mode = FileMode.File;
20
+ public readonly type = TreeEntry.Blob;
21
+ public readonly value: IBlob;
22
+
23
+ /**
24
+ * Creates a blob ITreeEntry
25
+ * @param path - path of entry
26
+ * @param contents - blob contents
27
+ * @param encoding - encoding of contents; defaults to utf-8
28
+ */
29
+ constructor(
30
+ public readonly path: string,
31
+ contents: string,
32
+ encoding: "utf-8" | "base64" = "utf-8",
33
+ ) {
34
+ this.value = { contents, encoding };
35
+ }
36
+ }
37
+
38
+ /**
39
+ * Basic implementation of a tree ITreeEntry
40
+ * @internal
41
+ */
42
+ export class TreeTreeEntry {
43
+ public readonly mode = FileMode.Directory;
44
+ public readonly type = TreeEntry.Tree;
45
+
46
+ /**
47
+ * Creates a tree ITreeEntry
48
+ * @param path - path of entry
49
+ * @param value - subtree
50
+ */
51
+ constructor(
52
+ public readonly path: string,
53
+ public readonly value: ITree,
54
+ ) {}
55
+ }
56
+
57
+ /**
58
+ * Basic implementation of an attachment ITreeEntry
59
+ * @internal
60
+ */
61
+ export class AttachmentTreeEntry {
62
+ public readonly mode = FileMode.File;
63
+ public readonly type = TreeEntry.Attachment;
64
+ public readonly value: IAttachment;
65
+
66
+ /**
67
+ * Creates an attachment ITreeEntry
68
+ * @param path - path of entry
69
+ * @param id - id of external blob attachment
70
+ */
71
+ constructor(
72
+ public readonly path: string,
73
+ public readonly id: string,
74
+ ) {
75
+ this.value = { id };
76
+ }
77
+ }
@@ -3,60 +3,64 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { assert, stringToBuffer } from "@fluidframework/common-utils";
6
+ import { stringToBuffer } from "@fluid-internal/client-utils";
7
+ import { assert } from "@fluidframework/core-utils";
7
8
  import * as git from "@fluidframework/gitresources";
8
9
  import {
9
- FileMode,
10
- ISnapshotTree,
11
- ITreeEntry,
12
- TreeEntry,
10
+ FileMode,
11
+ ISnapshotTree,
12
+ ITreeEntry,
13
+ TreeEntry,
13
14
  } from "@fluidframework/protocol-definitions";
14
- import { buildHierarchy } from "@fluidframework/protocol-base";
15
+ import { buildGitTreeHierarchy } from "@fluidframework/protocol-base";
15
16
  import { v4 as uuid } from "uuid";
16
17
 
17
18
  function flattenCore(
18
- path: string,
19
- treeEntries: ITreeEntry[],
20
- blobMap: Map<string, ArrayBufferLike>,
19
+ path: string,
20
+ treeEntries: ITreeEntry[],
21
+ blobMap: Map<string, ArrayBufferLike>,
21
22
  ): git.ITreeEntry[] {
22
- const entries: git.ITreeEntry[] = [];
23
- for (const treeEntry of treeEntries) {
24
- const subPath = `${path}${treeEntry.path}`;
23
+ const entries: git.ITreeEntry[] = [];
24
+ for (const treeEntry of treeEntries) {
25
+ const subPath = `${path}${treeEntry.path}`;
25
26
 
26
- if (treeEntry.type === TreeEntry.Blob) {
27
- const blob = treeEntry.value;
28
- const buffer = stringToBuffer(blob.contents, blob.encoding);
29
- const id = uuid();
30
- blobMap.set(id, buffer);
27
+ if (treeEntry.type === TreeEntry.Blob) {
28
+ const blob = treeEntry.value;
29
+ const buffer = stringToBuffer(blob.contents, blob.encoding);
30
+ const id = uuid();
31
+ blobMap.set(id, buffer);
31
32
 
32
- const entry: git.ITreeEntry = {
33
- mode: FileMode[treeEntry.mode],
34
- path: subPath,
35
- sha: id,
36
- size: 0,
37
- type: "blob",
38
- url: "",
39
- };
40
- entries.push(entry);
41
- } else if (treeEntry.type === TreeEntry.Tree) {
42
- assert(treeEntry.type === TreeEntry.Tree, 0x101 /* "Unexpected tree entry type on flatten!" */);
43
- const t = treeEntry.value;
44
- const entry: git.ITreeEntry = {
45
- mode: FileMode[treeEntry.mode],
46
- path: subPath,
47
- sha: "",
48
- size: -1,
49
- type: "tree",
50
- url: "",
51
- };
52
- entries.push(entry);
33
+ const entry: git.ITreeEntry = {
34
+ mode: FileMode[treeEntry.mode],
35
+ path: subPath,
36
+ sha: id,
37
+ size: 0,
38
+ type: "blob",
39
+ url: "",
40
+ };
41
+ entries.push(entry);
42
+ } else if (treeEntry.type === TreeEntry.Tree) {
43
+ assert(
44
+ treeEntry.type === TreeEntry.Tree,
45
+ 0x101 /* "Unexpected tree entry type on flatten!" */,
46
+ );
47
+ const t = treeEntry.value;
48
+ const entry: git.ITreeEntry = {
49
+ mode: FileMode[treeEntry.mode],
50
+ path: subPath,
51
+ sha: "",
52
+ size: -1,
53
+ type: "tree",
54
+ url: "",
55
+ };
56
+ entries.push(entry);
53
57
 
54
- const subTreeEntries = flattenCore(`${subPath}/`, t.entries, blobMap);
55
- entries.push(...subTreeEntries);
56
- }
57
- }
58
+ const subTreeEntries = flattenCore(`${subPath}/`, t.entries, blobMap);
59
+ entries.push(...subTreeEntries);
60
+ }
61
+ }
58
62
 
59
- return entries;
63
+ return entries;
60
64
  }
61
65
 
62
66
  /**
@@ -67,12 +71,12 @@ function flattenCore(
67
71
  * @returns A flatten with of the ITreeEntry
68
72
  */
69
73
  function flatten(tree: ITreeEntry[], blobMap: Map<string, ArrayBufferLike>): git.ITree {
70
- const entries = flattenCore("", tree, blobMap);
71
- return {
72
- sha: "",
73
- tree: entries,
74
- url: "",
75
- };
74
+ const entries = flattenCore("", tree, blobMap);
75
+ return {
76
+ sha: "",
77
+ tree: entries,
78
+ url: "",
79
+ };
76
80
  }
77
81
 
78
82
  /**
@@ -82,11 +86,12 @@ function flatten(tree: ITreeEntry[], blobMap: Map<string, ArrayBufferLike>): git
82
86
  * @param blobMap - a map of blob's sha1 to content that gets filled with content from entries
83
87
  * NOTE: blobMap's validity is contingent on the returned promise's resolution
84
88
  * @returns the hierarchical tree
89
+ * @internal
85
90
  */
86
91
  export function buildSnapshotTree(
87
- entries: ITreeEntry[],
88
- blobMap: Map<string, ArrayBufferLike>,
92
+ entries: ITreeEntry[],
93
+ blobMap: Map<string, ArrayBufferLike>,
89
94
  ): ISnapshotTree {
90
- const flattened = flatten(entries, blobMap);
91
- return buildHierarchy(flattened);
95
+ const flattened = flatten(entries, blobMap);
96
+ return buildGitTreeHierarchy(flattened);
92
97
  }
@@ -0,0 +1,47 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ import { ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
7
+ import {
8
+ IDocumentService,
9
+ IDocumentServiceFactory,
10
+ IResolvedUrl,
11
+ } from "@fluidframework/driver-definitions";
12
+ import { ISummaryTree } from "@fluidframework/protocol-definitions";
13
+
14
+ /**
15
+ * This abstract class implements IDocumentServiceFactory interface. It uses delegation pattern.
16
+ * It delegates all calls to IDocumentServiceFactory implementation passed to constructor.
17
+ */
18
+
19
+ export abstract class DocumentServiceFactoryProxy implements IDocumentServiceFactory {
20
+ constructor(private readonly _serviceFactory: IDocumentServiceFactory) {}
21
+
22
+ public get serviceFactory(): IDocumentServiceFactory {
23
+ return this._serviceFactory;
24
+ }
25
+
26
+ public async createContainer(
27
+ createNewSummary: ISummaryTree | undefined,
28
+ createNewResolvedUrl: IResolvedUrl,
29
+ logger?: ITelemetryBaseLogger,
30
+ clientIsSummarizer?: boolean,
31
+ ): Promise<IDocumentService> {
32
+ return this.serviceFactory.createContainer(
33
+ createNewSummary,
34
+ createNewResolvedUrl,
35
+ logger,
36
+ clientIsSummarizer,
37
+ );
38
+ }
39
+
40
+ public async createDocumentService(
41
+ resolvedUrl: IResolvedUrl,
42
+ logger?: ITelemetryBaseLogger,
43
+ clientIsSummarizer?: boolean,
44
+ ): Promise<IDocumentService> {
45
+ return this.serviceFactory.createDocumentService(resolvedUrl, logger, clientIsSummarizer);
46
+ }
47
+ }
@@ -0,0 +1,46 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ import {
7
+ IDocumentDeltaConnection,
8
+ IDocumentDeltaStorageService,
9
+ IDocumentService,
10
+ IDocumentStorageService,
11
+ IResolvedUrl,
12
+ } from "@fluidframework/driver-definitions";
13
+ import { IClient } from "@fluidframework/protocol-definitions";
14
+
15
+ /**
16
+ * This abstract class implements IDocumentService interface. It uses delegation pattern.
17
+ * It delegates all calls to IDocumentService implementation passed to constructor.
18
+ */
19
+
20
+ export abstract class DocumentServiceProxy implements IDocumentService {
21
+ constructor(private readonly _service: IDocumentService) {}
22
+
23
+ public get service(): IDocumentService {
24
+ return this._service;
25
+ }
26
+
27
+ public async connectToStorage(): Promise<IDocumentStorageService> {
28
+ return this._service.connectToStorage();
29
+ }
30
+
31
+ public async connectToDeltaStorage(): Promise<IDocumentDeltaStorageService> {
32
+ return this._service.connectToDeltaStorage();
33
+ }
34
+
35
+ public async connectToDeltaStream(client: IClient): Promise<IDocumentDeltaConnection> {
36
+ return this._service.connectToDeltaStream(client);
37
+ }
38
+
39
+ public dispose(error?: any): void {
40
+ this._service.dispose(error);
41
+ }
42
+
43
+ public get resolvedUrl(): IResolvedUrl {
44
+ return this._service.resolvedUrl;
45
+ }
46
+ }
@@ -4,56 +4,71 @@
4
4
  */
5
5
 
6
6
  import {
7
- IDocumentStorageService,
8
- IDocumentStorageServicePolicies,
9
- ISummaryContext,
7
+ FetchSource,
8
+ IDocumentStorageService,
9
+ IDocumentStorageServicePolicies,
10
+ ISummaryContext,
10
11
  } from "@fluidframework/driver-definitions";
11
12
  import {
12
- ICreateBlobResponse,
13
- ISnapshotTree,
14
- ISummaryHandle,
15
- ISummaryTree,
16
- IVersion,
13
+ ICreateBlobResponse,
14
+ ISnapshotTree,
15
+ ISummaryHandle,
16
+ ISummaryTree,
17
+ IVersion,
17
18
  } from "@fluidframework/protocol-definitions";
18
19
 
20
+ /**
21
+ * @internal
22
+ */
19
23
  export class DocumentStorageServiceProxy implements IDocumentStorageService {
20
- private _policies: IDocumentStorageServicePolicies | undefined;
24
+ private _policies: IDocumentStorageServicePolicies | undefined;
21
25
 
22
- public set policies(policies: IDocumentStorageServicePolicies | undefined) {
23
- this._policies = policies;
24
- }
26
+ public set policies(policies: IDocumentStorageServicePolicies | undefined) {
27
+ this._policies = policies;
28
+ }
25
29
 
26
- public get policies() {
27
- return this._policies ?? this.internalStorageService.policies;
28
- }
30
+ public get policies() {
31
+ return this._policies ?? this.internalStorageService.policies;
32
+ }
29
33
 
30
- public get repositoryUrl(): string {
31
- return this.internalStorageService.repositoryUrl;
32
- }
34
+ public get repositoryUrl(): string {
35
+ return this.internalStorageService.repositoryUrl;
36
+ }
33
37
 
34
- constructor(protected readonly internalStorageService: IDocumentStorageService) { }
38
+ constructor(protected readonly internalStorageService: IDocumentStorageService) {}
35
39
 
36
- public async getSnapshotTree(version?: IVersion, scenarioName?: string): Promise<ISnapshotTree | null> {
37
- return this.internalStorageService.getSnapshotTree(version, scenarioName);
38
- }
40
+ public async getSnapshotTree(
41
+ version?: IVersion,
42
+ scenarioName?: string,
43
+ ): Promise<ISnapshotTree | null> {
44
+ return this.internalStorageService.getSnapshotTree(version, scenarioName);
45
+ }
39
46
 
40
- public async getVersions(versionId: string | null, count: number, scenarioName?: string): Promise<IVersion[]> {
41
- return this.internalStorageService.getVersions(versionId, count, scenarioName);
42
- }
47
+ public async getVersions(
48
+ versionId: string | null,
49
+ count: number,
50
+ scenarioName?: string,
51
+ fetchSource?: FetchSource,
52
+ ): Promise<IVersion[]> {
53
+ return this.internalStorageService.getVersions(versionId, count, scenarioName, fetchSource);
54
+ }
43
55
 
44
- public async uploadSummaryWithContext(summary: ISummaryTree, context: ISummaryContext): Promise<string> {
45
- return this.internalStorageService.uploadSummaryWithContext(summary, context);
46
- }
56
+ public async uploadSummaryWithContext(
57
+ summary: ISummaryTree,
58
+ context: ISummaryContext,
59
+ ): Promise<string> {
60
+ return this.internalStorageService.uploadSummaryWithContext(summary, context);
61
+ }
47
62
 
48
- public async downloadSummary(handle: ISummaryHandle): Promise<ISummaryTree> {
49
- return this.internalStorageService.downloadSummary(handle);
50
- }
63
+ public async downloadSummary(handle: ISummaryHandle): Promise<ISummaryTree> {
64
+ return this.internalStorageService.downloadSummary(handle);
65
+ }
51
66
 
52
- public async createBlob(file: ArrayBufferLike): Promise<ICreateBlobResponse> {
53
- return this.internalStorageService.createBlob(file);
54
- }
67
+ public async createBlob(file: ArrayBufferLike): Promise<ICreateBlobResponse> {
68
+ return this.internalStorageService.createBlob(file);
69
+ }
55
70
 
56
- public async readBlob(blobId: string): Promise<ArrayBufferLike> {
57
- return this.internalStorageService.readBlob(blobId);
58
- }
71
+ public async readBlob(blobId: string): Promise<ArrayBufferLike> {
72
+ return this.internalStorageService.readBlob(blobId);
73
+ }
59
74
  }
package/src/error.ts CHANGED
@@ -3,15 +3,20 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
+ // eslint-disable-next-line import/no-deprecated
7
+ import { DriverErrorType, IDriverErrorBase } from "@fluidframework/driver-definitions";
6
8
  import { IFluidErrorBase, LoggingError } from "@fluidframework/telemetry-utils";
7
9
 
8
- /** Error indicating an API is being used improperly resulting in an invalid operation. */
9
- export class UsageError extends LoggingError implements IFluidErrorBase {
10
- readonly errorType = "usageError";
10
+ /**
11
+ * Error indicating an API is being used improperly resulting in an invalid operation.
12
+ * @internal
13
+ */
14
+ export class UsageError extends LoggingError implements IDriverErrorBase, IFluidErrorBase {
15
+ // eslint-disable-next-line import/no-deprecated
16
+ readonly errorType = DriverErrorType.usageError;
17
+ readonly canRetry = false;
11
18
 
12
- constructor(
13
- message: string,
14
- ) {
15
- super(message, { usageError: true });
16
- }
19
+ constructor(message: string) {
20
+ super(message, { usageError: true });
21
+ }
17
22
  }
package/src/index.ts CHANGED
@@ -3,24 +3,54 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- export * from "./blobCacheStorageService";
7
- export * from "./blobAggregationStorage";
8
- export * from "./buildSnapshotTree";
9
- export * from "./documentStorageServiceProxy";
10
- export * from "./insecureUrlResolver";
11
- export * from "./multiDocumentServiceFactory";
12
- export * from "./multiUrlResolver";
13
- export * from "./network";
14
- export * from "./readAndParse";
15
- export * from "./fluidResolvedUrl";
16
- export * from "./summaryForCreateNew";
17
- export * from "./parallelRequests";
18
- export * from "./prefetchDocumentStorageService";
19
- export * from "./networkUtils";
20
- export * from "./rateLimiter";
21
- export * from "./runWithRetry";
22
- export * from "./treeConversions";
23
- export * from "./treeUtils";
24
- export * from "./messageRecognition";
25
- export * from "./error";
26
- export * from "./emptyDocumentDeltaStorageService";
6
+ export { buildSnapshotTree } from "./buildSnapshotTree";
7
+ export { BlobTreeEntry, TreeTreeEntry, AttachmentTreeEntry } from "./blob";
8
+ export { DocumentStorageServiceProxy } from "./documentStorageServiceProxy";
9
+ export { UsageError } from "./error";
10
+ export { InsecureUrlResolver } from "./insecureUrlResolver";
11
+ export { canBeCoalescedByService, isRuntimeMessage, MessageType2 } from "./messageRecognition";
12
+ export {
13
+ AuthorizationError,
14
+ canRetryOnError,
15
+ createGenericNetworkError,
16
+ createWriteError,
17
+ DeltaStreamConnectionForbiddenError,
18
+ DriverErrorTelemetryProps,
19
+ FluidInvalidSchemaError,
20
+ GenericNetworkError,
21
+ getRetryDelayFromError,
22
+ getRetryDelaySecondsFromError,
23
+ isOnline,
24
+ LocationRedirectionError,
25
+ NetworkErrorBasic,
26
+ NonRetryableError,
27
+ OnlineStatus,
28
+ RetryableError,
29
+ ThrottlingError,
30
+ } from "./network";
31
+ export { logNetworkFailure } from "./networkUtils";
32
+ export {
33
+ emptyMessageStream,
34
+ ParallelRequests,
35
+ Queue,
36
+ requestOps,
37
+ streamFromMessages,
38
+ streamObserver,
39
+ } from "./parallelRequests";
40
+ export { PrefetchDocumentStorageService } from "./prefetchDocumentStorageService";
41
+ export { RateLimiter } from "./rateLimiter";
42
+ export { readAndParse } from "./readAndParse";
43
+ export { calculateMaxWaitTime, IProgress, runWithRetry } from "./runWithRetry";
44
+ export {
45
+ CombinedAppAndProtocolSummary,
46
+ getDocAttributesFromProtocolSummary,
47
+ getQuorumValuesFromProtocolSummary,
48
+ isCombinedAppAndProtocolSummary,
49
+ } from "./summaryForCreateNew";
50
+ export { convertSummaryTreeToSnapshotITree } from "./treeConversions";
51
+ export {
52
+ applyStorageCompression,
53
+ ICompressionStorageConfig,
54
+ SummaryCompressionAlgorithm,
55
+ blobHeadersBlobName,
56
+ } from "./adapters";