@fluidframework/driver-utils 2.0.0-dev.6.4.0.192049 → 2.0.0-dev.7.2.0.204906

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 (199) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/api-extractor.json +1 -1
  3. package/api-report/driver-utils.api.md +401 -0
  4. package/dist/adapters/compression/compressionTypes.d.ts +6 -0
  5. package/dist/adapters/compression/compressionTypes.d.ts.map +1 -1
  6. package/dist/adapters/compression/compressionTypes.js +4 -1
  7. package/dist/adapters/compression/compressionTypes.js.map +1 -1
  8. package/dist/adapters/compression/documentServiceCompressionAdapter.d.ts.map +1 -1
  9. package/dist/adapters/compression/documentServiceCompressionAdapter.js.map +1 -1
  10. package/dist/adapters/compression/documentServiceFactoryCompressionAdapter.d.ts.map +1 -1
  11. package/dist/adapters/compression/documentServiceFactoryCompressionAdapter.js +1 -9
  12. package/dist/adapters/compression/documentServiceFactoryCompressionAdapter.js.map +1 -1
  13. package/dist/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.d.ts +4 -0
  14. package/dist/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.d.ts.map +1 -1
  15. package/dist/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.js +4 -0
  16. package/dist/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.js.map +1 -1
  17. package/dist/adapters/predefinedAdapters.d.ts +1 -0
  18. package/dist/adapters/predefinedAdapters.d.ts.map +1 -1
  19. package/dist/adapters/predefinedAdapters.js +1 -0
  20. package/dist/adapters/predefinedAdapters.js.map +1 -1
  21. package/dist/blob.d.ts +3 -0
  22. package/dist/blob.d.ts.map +1 -1
  23. package/dist/blob.js +3 -0
  24. package/dist/blob.js.map +1 -1
  25. package/dist/buildSnapshotTree.d.ts +1 -0
  26. package/dist/buildSnapshotTree.d.ts.map +1 -1
  27. package/dist/buildSnapshotTree.js +1 -0
  28. package/dist/buildSnapshotTree.js.map +1 -1
  29. package/dist/documentStorageServiceProxy.d.ts +3 -0
  30. package/dist/documentStorageServiceProxy.d.ts.map +1 -1
  31. package/dist/documentStorageServiceProxy.js +6 -3
  32. package/dist/documentStorageServiceProxy.js.map +1 -1
  33. package/dist/driver-utils-alpha.d.ts +574 -0
  34. package/dist/driver-utils-beta.d.ts +574 -0
  35. package/dist/driver-utils-public.d.ts +574 -0
  36. package/dist/driver-utils-untrimmed.d.ts +588 -0
  37. package/dist/error.d.ts +4 -1
  38. package/dist/error.d.ts.map +1 -1
  39. package/dist/error.js +4 -1
  40. package/dist/error.js.map +1 -1
  41. package/dist/index.d.ts +1 -1
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +2 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/insecureUrlResolver.d.ts +1 -0
  46. package/dist/insecureUrlResolver.d.ts.map +1 -1
  47. package/dist/insecureUrlResolver.js +2 -1
  48. package/dist/insecureUrlResolver.js.map +1 -1
  49. package/dist/messageRecognition.d.ts +10 -0
  50. package/dist/messageRecognition.d.ts.map +1 -1
  51. package/dist/messageRecognition.js +11 -4
  52. package/dist/messageRecognition.js.map +1 -1
  53. package/dist/network.d.ts +50 -4
  54. package/dist/network.d.ts.map +1 -1
  55. package/dist/network.js +46 -6
  56. package/dist/network.js.map +1 -1
  57. package/dist/networkUtils.d.ts +3 -0
  58. package/dist/networkUtils.d.ts.map +1 -1
  59. package/dist/networkUtils.js +3 -0
  60. package/dist/networkUtils.js.map +1 -1
  61. package/dist/packageVersion.d.ts +1 -1
  62. package/dist/packageVersion.js +1 -1
  63. package/dist/packageVersion.js.map +1 -1
  64. package/dist/parallelRequests.d.ts +12 -0
  65. package/dist/parallelRequests.d.ts.map +1 -1
  66. package/dist/parallelRequests.js +18 -6
  67. package/dist/parallelRequests.js.map +1 -1
  68. package/dist/prefetchDocumentStorageService.d.ts +3 -1
  69. package/dist/prefetchDocumentStorageService.d.ts.map +1 -1
  70. package/dist/prefetchDocumentStorageService.js +3 -0
  71. package/dist/prefetchDocumentStorageService.js.map +1 -1
  72. package/dist/rateLimiter.d.ts +3 -0
  73. package/dist/rateLimiter.d.ts.map +1 -1
  74. package/dist/rateLimiter.js +3 -0
  75. package/dist/rateLimiter.js.map +1 -1
  76. package/dist/readAndParse.d.ts +1 -0
  77. package/dist/readAndParse.d.ts.map +1 -1
  78. package/dist/readAndParse.js +1 -0
  79. package/dist/readAndParse.js.map +1 -1
  80. package/dist/runWithRetry.d.ts +5 -0
  81. package/dist/runWithRetry.d.ts.map +1 -1
  82. package/dist/runWithRetry.js +4 -2
  83. package/dist/runWithRetry.js.map +1 -1
  84. package/dist/summaryForCreateNew.d.ts +3 -1
  85. package/dist/summaryForCreateNew.d.ts.map +1 -1
  86. package/dist/summaryForCreateNew.js +4 -2
  87. package/dist/summaryForCreateNew.js.map +1 -1
  88. package/dist/treeConversions.d.ts +1 -0
  89. package/dist/treeConversions.d.ts.map +1 -1
  90. package/dist/treeConversions.js +1 -0
  91. package/dist/treeConversions.js.map +1 -1
  92. package/dist/tsdoc-metadata.json +1 -1
  93. package/lib/adapters/compression/compressionTypes.d.ts +6 -0
  94. package/lib/adapters/compression/compressionTypes.d.ts.map +1 -1
  95. package/lib/adapters/compression/compressionTypes.js +3 -0
  96. package/lib/adapters/compression/compressionTypes.js.map +1 -1
  97. package/lib/adapters/compression/documentServiceCompressionAdapter.d.ts.map +1 -1
  98. package/lib/adapters/compression/documentServiceCompressionAdapter.js.map +1 -1
  99. package/lib/adapters/compression/documentServiceFactoryCompressionAdapter.d.ts.map +1 -1
  100. package/lib/adapters/compression/documentServiceFactoryCompressionAdapter.js +1 -9
  101. package/lib/adapters/compression/documentServiceFactoryCompressionAdapter.js.map +1 -1
  102. package/lib/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.d.ts +4 -0
  103. package/lib/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.d.ts.map +1 -1
  104. package/lib/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.js +4 -0
  105. package/lib/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.js.map +1 -1
  106. package/lib/adapters/predefinedAdapters.d.ts +1 -0
  107. package/lib/adapters/predefinedAdapters.d.ts.map +1 -1
  108. package/lib/adapters/predefinedAdapters.js +1 -0
  109. package/lib/adapters/predefinedAdapters.js.map +1 -1
  110. package/lib/blob.d.ts +3 -0
  111. package/lib/blob.d.ts.map +1 -1
  112. package/lib/blob.js +3 -0
  113. package/lib/blob.js.map +1 -1
  114. package/lib/buildSnapshotTree.d.ts +1 -0
  115. package/lib/buildSnapshotTree.d.ts.map +1 -1
  116. package/lib/buildSnapshotTree.js +1 -0
  117. package/lib/buildSnapshotTree.js.map +1 -1
  118. package/lib/documentStorageServiceProxy.d.ts +3 -0
  119. package/lib/documentStorageServiceProxy.d.ts.map +1 -1
  120. package/lib/documentStorageServiceProxy.js +6 -3
  121. package/lib/documentStorageServiceProxy.js.map +1 -1
  122. package/lib/error.d.ts +4 -1
  123. package/lib/error.d.ts.map +1 -1
  124. package/lib/error.js +4 -1
  125. package/lib/error.js.map +1 -1
  126. package/lib/index.d.ts +1 -1
  127. package/lib/index.d.ts.map +1 -1
  128. package/lib/index.js +1 -1
  129. package/lib/index.js.map +1 -1
  130. package/lib/insecureUrlResolver.d.ts +1 -0
  131. package/lib/insecureUrlResolver.d.ts.map +1 -1
  132. package/lib/insecureUrlResolver.js +2 -1
  133. package/lib/insecureUrlResolver.js.map +1 -1
  134. package/lib/messageRecognition.d.ts +10 -0
  135. package/lib/messageRecognition.d.ts.map +1 -1
  136. package/lib/messageRecognition.js +10 -3
  137. package/lib/messageRecognition.js.map +1 -1
  138. package/lib/network.d.ts +50 -4
  139. package/lib/network.d.ts.map +1 -1
  140. package/lib/network.js +45 -5
  141. package/lib/network.js.map +1 -1
  142. package/lib/networkUtils.d.ts +3 -0
  143. package/lib/networkUtils.d.ts.map +1 -1
  144. package/lib/networkUtils.js +3 -0
  145. package/lib/networkUtils.js.map +1 -1
  146. package/lib/packageVersion.d.ts +1 -1
  147. package/lib/packageVersion.js +1 -1
  148. package/lib/packageVersion.js.map +1 -1
  149. package/lib/parallelRequests.d.ts +12 -0
  150. package/lib/parallelRequests.d.ts.map +1 -1
  151. package/lib/parallelRequests.js +18 -6
  152. package/lib/parallelRequests.js.map +1 -1
  153. package/lib/prefetchDocumentStorageService.d.ts +3 -1
  154. package/lib/prefetchDocumentStorageService.d.ts.map +1 -1
  155. package/lib/prefetchDocumentStorageService.js +3 -0
  156. package/lib/prefetchDocumentStorageService.js.map +1 -1
  157. package/lib/rateLimiter.d.ts +3 -0
  158. package/lib/rateLimiter.d.ts.map +1 -1
  159. package/lib/rateLimiter.js +3 -0
  160. package/lib/rateLimiter.js.map +1 -1
  161. package/lib/readAndParse.d.ts +1 -0
  162. package/lib/readAndParse.d.ts.map +1 -1
  163. package/lib/readAndParse.js +1 -0
  164. package/lib/readAndParse.js.map +1 -1
  165. package/lib/runWithRetry.d.ts +5 -0
  166. package/lib/runWithRetry.d.ts.map +1 -1
  167. package/lib/runWithRetry.js +4 -2
  168. package/lib/runWithRetry.js.map +1 -1
  169. package/lib/summaryForCreateNew.d.ts +3 -1
  170. package/lib/summaryForCreateNew.d.ts.map +1 -1
  171. package/lib/summaryForCreateNew.js +4 -2
  172. package/lib/summaryForCreateNew.js.map +1 -1
  173. package/lib/treeConversions.d.ts +1 -0
  174. package/lib/treeConversions.d.ts.map +1 -1
  175. package/lib/treeConversions.js +1 -0
  176. package/lib/treeConversions.js.map +1 -1
  177. package/package.json +21 -22
  178. package/src/adapters/compression/compressionTypes.ts +6 -0
  179. package/src/adapters/compression/documentServiceCompressionAdapter.ts +4 -1
  180. package/src/adapters/compression/documentServiceFactoryCompressionAdapter.ts +1 -9
  181. package/src/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.ts +4 -0
  182. package/src/adapters/predefinedAdapters.ts +1 -0
  183. package/src/blob.ts +11 -2
  184. package/src/buildSnapshotTree.ts +1 -0
  185. package/src/documentStorageServiceProxy.ts +3 -0
  186. package/src/error.ts +4 -1
  187. package/src/index.ts +1 -0
  188. package/src/insecureUrlResolver.ts +2 -1
  189. package/src/messageRecognition.ts +10 -3
  190. package/src/network.ts +64 -9
  191. package/src/networkUtils.ts +3 -0
  192. package/src/packageVersion.ts +1 -1
  193. package/src/parallelRequests.ts +13 -1
  194. package/src/prefetchDocumentStorageService.ts +3 -0
  195. package/src/rateLimiter.ts +3 -0
  196. package/src/readAndParse.ts +1 -0
  197. package/src/runWithRetry.ts +7 -4
  198. package/src/summaryForCreateNew.ts +4 -1
  199. package/src/treeConversions.ts +1 -0
@@ -5,6 +5,9 @@
5
5
 
6
6
  import { assert } from "@fluidframework/core-utils";
7
7
 
8
+ /**
9
+ * @public
10
+ */
8
11
  export class RateLimiter {
9
12
  private readonly tasks: (() => void)[] = [];
10
13
  constructor(private maxRequests: number) {
@@ -17,6 +17,7 @@ import { IDocumentStorageService } from "@fluidframework/driver-definitions";
17
17
  * @typeParam T - Output type matching JSON format of inpyt blob data.
18
18
  *
19
19
  * @returns The object that we decoded and parsed via `JSON.parse`.
20
+ * @public
20
21
  */
21
22
  export async function readAndParse<T>(
22
23
  storage: Pick<IDocumentStorageService, "readBlob">,
@@ -14,6 +14,7 @@ import { NonRetryableError } from ".";
14
14
  /**
15
15
  * Interface describing an object passed to various network APIs.
16
16
  * It allows caller to control cancellation, as well as learn about any delays.
17
+ * @public
17
18
  */
18
19
  export interface IProgress {
19
20
  /**
@@ -43,6 +44,9 @@ export interface IProgress {
43
44
  onRetry?(delayInMs: number, error: any): void;
44
45
  }
45
46
 
47
+ /**
48
+ * @public
49
+ */
46
50
  export async function runWithRetry<T>(
47
51
  api: (cancel?: AbortSignal) => Promise<T>,
48
52
  fetchCallName: string,
@@ -81,8 +85,7 @@ export async function runWithRetry<T>(
81
85
  retry: numRetries,
82
86
  duration: performance.now() - startTime,
83
87
  fetchCallName,
84
- // TODO: Remove when typescript version of the repo contains the AbortSignal.reason property (AB#5045)
85
- reason: (progress.cancel as AbortSignal & { reason: any }).reason,
88
+ reason: progress.cancel.reason,
86
89
  },
87
90
  err,
88
91
  );
@@ -92,8 +95,7 @@ export async function runWithRetry<T>(
92
95
  {
93
96
  driverVersion: pkgVersion,
94
97
  fetchCallName,
95
- // TODO: Remove when typescript version of the repo contains the AbortSignal.reason property (AB#5045)
96
- reason: (progress.cancel as AbortSignal & { reason: any }).reason,
98
+ reason: progress.cancel.reason,
97
99
  },
98
100
  );
99
101
  }
@@ -148,6 +150,7 @@ const MaxReconnectDelayInMsWhenEndpointIsNotReachable = 8000;
148
150
  * to when endpoint is reachable in which case it is 30s.
149
151
  * @param error - error based on which we decide max wait time.
150
152
  * @returns Max wait time.
153
+ * @public
151
154
  */
152
155
  export function calculateMaxWaitTime(error: unknown): number {
153
156
  return isFluidError(error) && error.getTelemetryProperties().endpointReached === true
@@ -30,6 +30,7 @@ export interface CombinedAppAndProtocolSummary extends ISummaryTree {
30
30
  */
31
31
  export function isCombinedAppAndProtocolSummary(
32
32
  summary: ISummaryTree | undefined,
33
+ ...optionalRootTrees: string[]
33
34
  ): summary is CombinedAppAndProtocolSummary {
34
35
  if (
35
36
  summary?.tree === undefined ||
@@ -38,7 +39,7 @@ export function isCombinedAppAndProtocolSummary(
38
39
  ) {
39
40
  return false;
40
41
  }
41
- const treeKeys = Object.keys(summary.tree);
42
+ const treeKeys = Object.keys(summary.tree).filter((t) => !optionalRootTrees.includes(t));
42
43
  if (treeKeys.length !== 2) {
43
44
  return false;
44
45
  }
@@ -48,6 +49,7 @@ export function isCombinedAppAndProtocolSummary(
48
49
  /**
49
50
  * Extract the attributes from the protocol summary.
50
51
  * @param protocolSummary - protocol summary from which the values are to be extracted.
52
+ * @public
51
53
  */
52
54
  export function getDocAttributesFromProtocolSummary(
53
55
  protocolSummary: ISummaryTree,
@@ -59,6 +61,7 @@ export function getDocAttributesFromProtocolSummary(
59
61
  /**
60
62
  * Extract quorum values from the protocol summary.
61
63
  * @param protocolSummary - protocol summary from which the values are to be extracted.
64
+ * @public
62
65
  */
63
66
  export function getQuorumValuesFromProtocolSummary(
64
67
  protocolSummary: ISummaryTree,
@@ -12,6 +12,7 @@ import { isCombinedAppAndProtocolSummary } from "./summaryForCreateNew";
12
12
  /**
13
13
  * Converts ISummaryTree to ITree format.
14
14
  * @param summaryTree - summary tree in ISummaryTree format
15
+ * @public
15
16
  */
16
17
  export function convertSummaryTreeToSnapshotITree(summaryTree: ISummaryTree): ITree {
17
18
  const entries: ITreeEntry[] = [];