@fluidframework/driver-utils 2.0.0-dev.2.3.0.115467 → 2.0.0-dev.4.1.0.148229

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 (180) hide show
  1. package/.eslintrc.js +17 -19
  2. package/.mocharc.js +2 -2
  3. package/api-extractor.json +2 -2
  4. package/dist/buildSnapshotTree.d.ts.map +1 -1
  5. package/dist/buildSnapshotTree.js.map +1 -1
  6. package/dist/documentStorageServiceProxy.d.ts.map +1 -1
  7. package/dist/documentStorageServiceProxy.js.map +1 -1
  8. package/dist/error.d.ts.map +1 -1
  9. package/dist/error.js.map +1 -1
  10. package/dist/fluidResolvedUrl.d.ts +8 -0
  11. package/dist/fluidResolvedUrl.d.ts.map +1 -1
  12. package/dist/fluidResolvedUrl.js +8 -0
  13. package/dist/fluidResolvedUrl.js.map +1 -1
  14. package/dist/index.d.ts +4 -10
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +2 -19
  17. package/dist/index.js.map +1 -1
  18. package/dist/insecureUrlResolver.d.ts.map +1 -1
  19. package/dist/insecureUrlResolver.js +2 -1
  20. package/dist/insecureUrlResolver.js.map +1 -1
  21. package/dist/messageRecognition.d.ts +0 -20
  22. package/dist/messageRecognition.d.ts.map +1 -1
  23. package/dist/messageRecognition.js +1 -37
  24. package/dist/messageRecognition.js.map +1 -1
  25. package/dist/network.d.ts +0 -15
  26. package/dist/network.d.ts.map +1 -1
  27. package/dist/network.js +4 -3
  28. package/dist/network.js.map +1 -1
  29. package/dist/networkUtils.d.ts +0 -10
  30. package/dist/networkUtils.d.ts.map +1 -1
  31. package/dist/networkUtils.js +3 -35
  32. package/dist/networkUtils.js.map +1 -1
  33. package/dist/packageVersion.d.ts +1 -1
  34. package/dist/packageVersion.js +1 -1
  35. package/dist/packageVersion.js.map +1 -1
  36. package/dist/parallelRequests.d.ts.map +1 -1
  37. package/dist/parallelRequests.js +52 -23
  38. package/dist/parallelRequests.js.map +1 -1
  39. package/dist/prefetchDocumentStorageService.d.ts.map +1 -1
  40. package/dist/prefetchDocumentStorageService.js.map +1 -1
  41. package/dist/rateLimiter.d.ts.map +1 -1
  42. package/dist/rateLimiter.js.map +1 -1
  43. package/dist/readAndParse.d.ts.map +1 -1
  44. package/dist/readAndParse.js.map +1 -1
  45. package/dist/runWithRetry.d.ts.map +1 -1
  46. package/dist/runWithRetry.js +10 -0
  47. package/dist/runWithRetry.js.map +1 -1
  48. package/dist/summaryForCreateNew.d.ts +21 -1
  49. package/dist/summaryForCreateNew.d.ts.map +1 -1
  50. package/dist/summaryForCreateNew.js +26 -1
  51. package/dist/summaryForCreateNew.js.map +1 -1
  52. package/dist/treeConversions.d.ts.map +1 -1
  53. package/dist/treeConversions.js +6 -10
  54. package/dist/treeConversions.js.map +1 -1
  55. package/lib/buildSnapshotTree.d.ts.map +1 -1
  56. package/lib/buildSnapshotTree.js.map +1 -1
  57. package/lib/documentStorageServiceProxy.d.ts.map +1 -1
  58. package/lib/documentStorageServiceProxy.js.map +1 -1
  59. package/lib/error.d.ts.map +1 -1
  60. package/lib/error.js.map +1 -1
  61. package/lib/fluidResolvedUrl.d.ts +8 -0
  62. package/lib/fluidResolvedUrl.d.ts.map +1 -1
  63. package/lib/fluidResolvedUrl.js +8 -0
  64. package/lib/fluidResolvedUrl.js.map +1 -1
  65. package/lib/index.d.ts +4 -10
  66. package/lib/index.d.ts.map +1 -1
  67. package/lib/index.js +3 -9
  68. package/lib/index.js.map +1 -1
  69. package/lib/insecureUrlResolver.d.ts.map +1 -1
  70. package/lib/insecureUrlResolver.js +2 -1
  71. package/lib/insecureUrlResolver.js.map +1 -1
  72. package/lib/messageRecognition.d.ts +0 -20
  73. package/lib/messageRecognition.d.ts.map +1 -1
  74. package/lib/messageRecognition.js +1 -36
  75. package/lib/messageRecognition.js.map +1 -1
  76. package/lib/network.d.ts +0 -15
  77. package/lib/network.d.ts.map +1 -1
  78. package/lib/network.js +4 -3
  79. package/lib/network.js.map +1 -1
  80. package/lib/networkUtils.d.ts +0 -10
  81. package/lib/networkUtils.d.ts.map +1 -1
  82. package/lib/networkUtils.js +2 -33
  83. package/lib/networkUtils.js.map +1 -1
  84. package/lib/packageVersion.d.ts +1 -1
  85. package/lib/packageVersion.js +1 -1
  86. package/lib/packageVersion.js.map +1 -1
  87. package/lib/parallelRequests.d.ts.map +1 -1
  88. package/lib/parallelRequests.js +53 -24
  89. package/lib/parallelRequests.js.map +1 -1
  90. package/lib/prefetchDocumentStorageService.d.ts.map +1 -1
  91. package/lib/prefetchDocumentStorageService.js.map +1 -1
  92. package/lib/rateLimiter.d.ts.map +1 -1
  93. package/lib/rateLimiter.js.map +1 -1
  94. package/lib/readAndParse.d.ts.map +1 -1
  95. package/lib/readAndParse.js.map +1 -1
  96. package/lib/runWithRetry.d.ts.map +1 -1
  97. package/lib/runWithRetry.js +10 -0
  98. package/lib/runWithRetry.js.map +1 -1
  99. package/lib/summaryForCreateNew.d.ts +21 -1
  100. package/lib/summaryForCreateNew.d.ts.map +1 -1
  101. package/lib/summaryForCreateNew.js +24 -0
  102. package/lib/summaryForCreateNew.js.map +1 -1
  103. package/lib/treeConversions.d.ts.map +1 -1
  104. package/lib/treeConversions.js +9 -13
  105. package/lib/treeConversions.js.map +1 -1
  106. package/package.json +54 -52
  107. package/prettier.config.cjs +1 -1
  108. package/src/buildSnapshotTree.ts +54 -51
  109. package/src/documentStorageServiceProxy.ts +49 -43
  110. package/src/error.ts +5 -7
  111. package/src/fluidResolvedUrl.ts +17 -6
  112. package/src/index.ts +4 -14
  113. package/src/insecureUrlResolver.ts +127 -116
  114. package/src/messageRecognition.ts +14 -44
  115. package/src/network.ts +112 -126
  116. package/src/networkUtils.ts +19 -48
  117. package/src/packageVersion.ts +1 -1
  118. package/src/parallelRequests.ts +591 -510
  119. package/src/prefetchDocumentStorageService.ts +76 -74
  120. package/src/rateLimiter.ts +29 -29
  121. package/src/readAndParse.ts +7 -4
  122. package/src/runWithRetry.ts +106 -84
  123. package/src/summaryForCreateNew.ts +74 -25
  124. package/src/treeConversions.ts +47 -70
  125. package/tsconfig.esnext.json +6 -6
  126. package/tsconfig.json +8 -12
  127. package/dist/blobAggregationStorage.d.ts +0 -43
  128. package/dist/blobAggregationStorage.d.ts.map +0 -1
  129. package/dist/blobAggregationStorage.js +0 -318
  130. package/dist/blobAggregationStorage.js.map +0 -1
  131. package/dist/blobCacheStorageService.d.ts +0 -16
  132. package/dist/blobCacheStorageService.d.ts.map +0 -1
  133. package/dist/blobCacheStorageService.js +0 -29
  134. package/dist/blobCacheStorageService.js.map +0 -1
  135. package/dist/emptyDocumentDeltaStorageService.d.ts +0 -13
  136. package/dist/emptyDocumentDeltaStorageService.d.ts.map +0 -1
  137. package/dist/emptyDocumentDeltaStorageService.js +0 -20
  138. package/dist/emptyDocumentDeltaStorageService.js.map +0 -1
  139. package/dist/multiDocumentServiceFactory.d.ts +0 -16
  140. package/dist/multiDocumentServiceFactory.d.ts.map +0 -1
  141. package/dist/multiDocumentServiceFactory.js +0 -63
  142. package/dist/multiDocumentServiceFactory.js.map +0 -1
  143. package/dist/multiUrlResolver.d.ts +0 -20
  144. package/dist/multiUrlResolver.d.ts.map +0 -1
  145. package/dist/multiUrlResolver.js +0 -45
  146. package/dist/multiUrlResolver.js.map +0 -1
  147. package/dist/treeUtils.d.ts +0 -51
  148. package/dist/treeUtils.d.ts.map +0 -1
  149. package/dist/treeUtils.js +0 -85
  150. package/dist/treeUtils.js.map +0 -1
  151. package/lib/blobAggregationStorage.d.ts +0 -43
  152. package/lib/blobAggregationStorage.d.ts.map +0 -1
  153. package/lib/blobAggregationStorage.js +0 -313
  154. package/lib/blobAggregationStorage.js.map +0 -1
  155. package/lib/blobCacheStorageService.d.ts +0 -16
  156. package/lib/blobCacheStorageService.d.ts.map +0 -1
  157. package/lib/blobCacheStorageService.js +0 -25
  158. package/lib/blobCacheStorageService.js.map +0 -1
  159. package/lib/emptyDocumentDeltaStorageService.d.ts +0 -13
  160. package/lib/emptyDocumentDeltaStorageService.d.ts.map +0 -1
  161. package/lib/emptyDocumentDeltaStorageService.js +0 -16
  162. package/lib/emptyDocumentDeltaStorageService.js.map +0 -1
  163. package/lib/multiDocumentServiceFactory.d.ts +0 -16
  164. package/lib/multiDocumentServiceFactory.d.ts.map +0 -1
  165. package/lib/multiDocumentServiceFactory.js +0 -59
  166. package/lib/multiDocumentServiceFactory.js.map +0 -1
  167. package/lib/multiUrlResolver.d.ts +0 -20
  168. package/lib/multiUrlResolver.d.ts.map +0 -1
  169. package/lib/multiUrlResolver.js +0 -40
  170. package/lib/multiUrlResolver.js.map +0 -1
  171. package/lib/treeUtils.d.ts +0 -51
  172. package/lib/treeUtils.d.ts.map +0 -1
  173. package/lib/treeUtils.js +0 -80
  174. package/lib/treeUtils.js.map +0 -1
  175. package/src/blobAggregationStorage.ts +0 -374
  176. package/src/blobCacheStorageService.ts +0 -32
  177. package/src/emptyDocumentDeltaStorageService.ts +0 -24
  178. package/src/multiDocumentServiceFactory.ts +0 -80
  179. package/src/multiUrlResolver.ts +0 -51
  180. package/src/treeUtils.ts +0 -111
@@ -6,55 +6,26 @@
6
6
  import { ITelemetryErrorEvent, ITelemetryLogger } from "@fluidframework/common-definitions";
7
7
  import { isOnline, OnlineStatus, canRetryOnError } from "./network";
8
8
 
9
- export function logNetworkFailure(logger: ITelemetryLogger, event: ITelemetryErrorEvent, error?: any) {
10
- const newEvent = { ...event };
9
+ export function logNetworkFailure(
10
+ logger: ITelemetryLogger,
11
+ event: ITelemetryErrorEvent,
12
+ error?: any,
13
+ ) {
14
+ const newEvent = { ...event };
11
15
 
12
- const errorOnlineProp = error.online;
13
- newEvent.online = typeof errorOnlineProp === "string"
14
- ? errorOnlineProp
15
- : OnlineStatus[isOnline()];
16
+ const errorOnlineProp = error.online;
17
+ newEvent.online =
18
+ typeof errorOnlineProp === "string" ? errorOnlineProp : OnlineStatus[isOnline()];
16
19
 
17
- if (typeof navigator === "object" && navigator !== null) {
18
- const nav = navigator as any;
19
- const connection = nav.connection ?? nav.mozConnection ?? nav.webkitConnection;
20
- if (connection !== null && typeof connection === "object") {
21
- newEvent.connectionType = connection.type;
22
- }
23
- }
20
+ if (typeof navigator === "object" && navigator !== null) {
21
+ const nav = navigator as any;
22
+ const connection = nav.connection ?? nav.mozConnection ?? nav.webkitConnection;
23
+ if (connection !== null && typeof connection === "object") {
24
+ newEvent.connectionType = connection.type;
25
+ }
26
+ }
24
27
 
25
- // non-retryable errors are fatal and should be logged as errors
26
- newEvent.category = canRetryOnError(error) ? "generic" : "error";
27
- logger.sendTelemetryEvent(newEvent, error);
28
- }
29
-
30
- /**
31
- * Wait for browser to get to connected state.
32
- * If connected, waits minimum of minDelay anyway (between network retries)
33
- * If disconnected, polls every 30 seconds anyway, to make sure we are not getting stuck because of wrong signal
34
- * Note that browsers will have false positives (like having Hyper-V adapter on machine,
35
- * or machine connected to router that is not connected to internet)
36
- * But there should be no false negatives.
37
- * The only exception - Opera returns false when user enters "Work Offline" mode, regardless of actual connectivity.
38
- */
39
- // eslint-disable-next-line @typescript-eslint/promise-function-async
40
- export function waitForConnectedState(minDelay: number): Promise<void> {
41
- // Use this frequency to poll even when we are offline and able to setup online/offline listener
42
- // This is mostly safety net
43
- const offlinePollFrequency = 30000;
44
-
45
- return new Promise((resolve) => {
46
- let listener: () => void = resolve;
47
- let delay = minDelay;
48
- if (isOnline() === OnlineStatus.Offline) {
49
- if (window?.addEventListener !== undefined) {
50
- listener = () => {
51
- resolve();
52
- window.removeEventListener("online", listener);
53
- };
54
- window.addEventListener("online", listener, false);
55
- delay = Math.max(minDelay, offlinePollFrequency);
56
- }
57
- }
58
- setTimeout(listener, delay);
59
- });
28
+ // non-retryable errors are fatal and should be logged as errors
29
+ newEvent.category = canRetryOnError(error) ? "generic" : "error";
30
+ logger.sendTelemetryEvent(newEvent, error);
60
31
  }
@@ -6,4 +6,4 @@
6
6
  */
7
7
 
8
8
  export const pkgName = "@fluidframework/driver-utils";
9
- export const pkgVersion = "2.0.0-dev.2.3.0.115467";
9
+ export const pkgVersion = "2.0.0-dev.4.1.0.148229";