@fluidframework/odsp-driver 2.3.0-288113 → 2.3.1

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 (141) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/ReadBufferUtils.d.ts.map +1 -1
  3. package/dist/ReadBufferUtils.js +0 -1
  4. package/dist/ReadBufferUtils.js.map +1 -1
  5. package/dist/WriteBufferUtils.d.ts.map +1 -1
  6. package/dist/WriteBufferUtils.js +0 -2
  7. package/dist/WriteBufferUtils.js.map +1 -1
  8. package/dist/compactSnapshotParser.d.ts.map +1 -1
  9. package/dist/compactSnapshotParser.js +2 -18
  10. package/dist/compactSnapshotParser.js.map +1 -1
  11. package/dist/compactSnapshotWriter.d.ts.map +1 -1
  12. package/dist/compactSnapshotWriter.js +1 -3
  13. package/dist/compactSnapshotWriter.js.map +1 -1
  14. package/dist/createFile.d.ts.map +1 -1
  15. package/dist/createFile.js +10 -2
  16. package/dist/createFile.js.map +1 -1
  17. package/dist/createNewUtils.d.ts.map +1 -1
  18. package/dist/createNewUtils.js +0 -2
  19. package/dist/createNewUtils.js.map +1 -1
  20. package/dist/fetchSnapshot.d.ts.map +1 -1
  21. package/dist/fetchSnapshot.js +1 -2
  22. package/dist/fetchSnapshot.js.map +1 -1
  23. package/dist/getFileLink.d.ts +2 -2
  24. package/dist/getFileLink.d.ts.map +1 -1
  25. package/dist/getFileLink.js +54 -28
  26. package/dist/getFileLink.js.map +1 -1
  27. package/dist/localOdspDriver/localOdspDeltaStorageService.d.ts.map +1 -1
  28. package/dist/localOdspDriver/localOdspDeltaStorageService.js +0 -1
  29. package/dist/localOdspDriver/localOdspDeltaStorageService.js.map +1 -1
  30. package/dist/odspDelayLoadedDeltaStream.d.ts.map +1 -1
  31. package/dist/odspDelayLoadedDeltaStream.js +0 -2
  32. package/dist/odspDelayLoadedDeltaStream.js.map +1 -1
  33. package/dist/odspDeltaStorageService.d.ts.map +1 -1
  34. package/dist/odspDeltaStorageService.js +1 -4
  35. package/dist/odspDeltaStorageService.js.map +1 -1
  36. package/dist/odspDocumentDeltaConnection.d.ts.map +1 -1
  37. package/dist/odspDocumentDeltaConnection.js +1 -6
  38. package/dist/odspDocumentDeltaConnection.js.map +1 -1
  39. package/dist/odspDocumentStorageServiceBase.d.ts.map +1 -1
  40. package/dist/odspDocumentStorageServiceBase.js +0 -2
  41. package/dist/odspDocumentStorageServiceBase.js.map +1 -1
  42. package/dist/odspDriverUrlResolver.d.ts.map +1 -1
  43. package/dist/odspDriverUrlResolver.js +1 -2
  44. package/dist/odspDriverUrlResolver.js.map +1 -1
  45. package/dist/odspSnapshotParser.d.ts.map +1 -1
  46. package/dist/odspSnapshotParser.js +1 -5
  47. package/dist/odspSnapshotParser.js.map +1 -1
  48. package/dist/odspSummaryUploadManager.d.ts.map +1 -1
  49. package/dist/odspSummaryUploadManager.js +0 -1
  50. package/dist/odspSummaryUploadManager.js.map +1 -1
  51. package/dist/odspUrlHelper.d.ts.map +1 -1
  52. package/dist/odspUrlHelper.js +1 -5
  53. package/dist/odspUrlHelper.js.map +1 -1
  54. package/dist/packageVersion.d.ts +1 -1
  55. package/dist/packageVersion.d.ts.map +1 -1
  56. package/dist/packageVersion.js +1 -1
  57. package/dist/packageVersion.js.map +1 -1
  58. package/dist/zipItDataRepresentationUtils.d.ts.map +1 -1
  59. package/dist/zipItDataRepresentationUtils.js +0 -9
  60. package/dist/zipItDataRepresentationUtils.js.map +1 -1
  61. package/lib/ReadBufferUtils.d.ts.map +1 -1
  62. package/lib/ReadBufferUtils.js +0 -1
  63. package/lib/ReadBufferUtils.js.map +1 -1
  64. package/lib/WriteBufferUtils.d.ts.map +1 -1
  65. package/lib/WriteBufferUtils.js +0 -2
  66. package/lib/WriteBufferUtils.js.map +1 -1
  67. package/lib/compactSnapshotParser.d.ts.map +1 -1
  68. package/lib/compactSnapshotParser.js +2 -18
  69. package/lib/compactSnapshotParser.js.map +1 -1
  70. package/lib/compactSnapshotWriter.d.ts.map +1 -1
  71. package/lib/compactSnapshotWriter.js +1 -3
  72. package/lib/compactSnapshotWriter.js.map +1 -1
  73. package/lib/createFile.d.ts.map +1 -1
  74. package/lib/createFile.js +10 -2
  75. package/lib/createFile.js.map +1 -1
  76. package/lib/createNewUtils.d.ts.map +1 -1
  77. package/lib/createNewUtils.js +0 -2
  78. package/lib/createNewUtils.js.map +1 -1
  79. package/lib/fetchSnapshot.d.ts.map +1 -1
  80. package/lib/fetchSnapshot.js +1 -2
  81. package/lib/fetchSnapshot.js.map +1 -1
  82. package/lib/getFileLink.d.ts +2 -2
  83. package/lib/getFileLink.d.ts.map +1 -1
  84. package/lib/getFileLink.js +48 -22
  85. package/lib/getFileLink.js.map +1 -1
  86. package/lib/localOdspDriver/localOdspDeltaStorageService.d.ts.map +1 -1
  87. package/lib/localOdspDriver/localOdspDeltaStorageService.js +0 -1
  88. package/lib/localOdspDriver/localOdspDeltaStorageService.js.map +1 -1
  89. package/lib/odspDelayLoadedDeltaStream.d.ts.map +1 -1
  90. package/lib/odspDelayLoadedDeltaStream.js +0 -2
  91. package/lib/odspDelayLoadedDeltaStream.js.map +1 -1
  92. package/lib/odspDeltaStorageService.d.ts.map +1 -1
  93. package/lib/odspDeltaStorageService.js +1 -4
  94. package/lib/odspDeltaStorageService.js.map +1 -1
  95. package/lib/odspDocumentDeltaConnection.d.ts.map +1 -1
  96. package/lib/odspDocumentDeltaConnection.js +1 -6
  97. package/lib/odspDocumentDeltaConnection.js.map +1 -1
  98. package/lib/odspDocumentStorageServiceBase.d.ts.map +1 -1
  99. package/lib/odspDocumentStorageServiceBase.js +0 -2
  100. package/lib/odspDocumentStorageServiceBase.js.map +1 -1
  101. package/lib/odspDriverUrlResolver.d.ts.map +1 -1
  102. package/lib/odspDriverUrlResolver.js +1 -2
  103. package/lib/odspDriverUrlResolver.js.map +1 -1
  104. package/lib/odspSnapshotParser.d.ts.map +1 -1
  105. package/lib/odspSnapshotParser.js +1 -5
  106. package/lib/odspSnapshotParser.js.map +1 -1
  107. package/lib/odspSummaryUploadManager.d.ts.map +1 -1
  108. package/lib/odspSummaryUploadManager.js +0 -1
  109. package/lib/odspSummaryUploadManager.js.map +1 -1
  110. package/lib/odspUrlHelper.d.ts.map +1 -1
  111. package/lib/odspUrlHelper.js +1 -5
  112. package/lib/odspUrlHelper.js.map +1 -1
  113. package/lib/packageVersion.d.ts +1 -1
  114. package/lib/packageVersion.d.ts.map +1 -1
  115. package/lib/packageVersion.js +1 -1
  116. package/lib/packageVersion.js.map +1 -1
  117. package/lib/tsdoc-metadata.json +1 -1
  118. package/lib/zipItDataRepresentationUtils.d.ts.map +1 -1
  119. package/lib/zipItDataRepresentationUtils.js +0 -9
  120. package/lib/zipItDataRepresentationUtils.js.map +1 -1
  121. package/package.json +17 -16
  122. package/src/ReadBufferUtils.ts +1 -2
  123. package/src/WriteBufferUtils.ts +2 -4
  124. package/src/compactSnapshotParser.ts +14 -28
  125. package/src/compactSnapshotWriter.ts +2 -4
  126. package/src/createFile.ts +11 -2
  127. package/src/createNewUtils.ts +2 -4
  128. package/src/fetchSnapshot.ts +1 -2
  129. package/src/getFileLink.ts +54 -22
  130. package/src/localOdspDriver/localOdspDeltaStorageService.ts +1 -2
  131. package/src/odspDelayLoadedDeltaStream.ts +2 -4
  132. package/src/odspDeltaStorageService.ts +2 -4
  133. package/src/odspDocumentDeltaConnection.ts +3 -8
  134. package/src/odspDocumentStorageServiceBase.ts +2 -4
  135. package/src/odspDriverUrlResolver.ts +1 -2
  136. package/src/odspSnapshotParser.ts +4 -8
  137. package/src/odspSummaryUploadManager.ts +1 -2
  138. package/src/odspUrlHelper.ts +4 -8
  139. package/src/packageVersion.ts +1 -1
  140. package/src/zipItDataRepresentationUtils.ts +9 -18
  141. package/tsconfig.json +1 -0
@@ -472,8 +472,7 @@ export class OdspDelayLoadedDeltaStream {
472
472
  }
473
473
 
474
474
  private emitMetaDataUpdateEvent(metadata: Record<string, string>): void {
475
- // TODO Why are we non null asserting here?
476
- const label = JSON.parse(metadata.sensitivityLabelsInfo!) as {
475
+ const label = JSON.parse(metadata.sensitivityLabelsInfo) as {
477
476
  labels: unknown;
478
477
  timestamp: number;
479
478
  };
@@ -482,8 +481,7 @@ export class OdspDelayLoadedDeltaStream {
482
481
  if (time > this.labelUpdateTimestamp) {
483
482
  this.labelUpdateTimestamp = time;
484
483
  this.metadataUpdateHandler({
485
- // TODO Why are we non null asserting here?
486
- sensitivityLabelsInfo: metadata.sensitivityLabelsInfo!,
484
+ sensitivityLabelsInfo: metadata.sensitivityLabelsInfo,
487
485
  });
488
486
  }
489
487
  }
@@ -106,8 +106,7 @@ export class OdspDeltaStorageService {
106
106
  clearTimeout(timer);
107
107
  const deltaStorageResponse = response.content;
108
108
  const messages =
109
- // Non null asserting here because of the length check
110
- deltaStorageResponse.value.length > 0 && "op" in deltaStorageResponse.value[0]!
109
+ deltaStorageResponse.value.length > 0 && "op" in deltaStorageResponse.value[0]
111
110
  ? (deltaStorageResponse.value as ISequencedDeltaOpMessage[]).map(
112
111
  (operation) => operation.op,
113
112
  )
@@ -188,8 +187,7 @@ export class OdspDeltaStorageWithCache implements IDocumentDeltaStorageService {
188
187
  (op) => op.sequenceNumber >= from && op.sequenceNumber < to,
189
188
  );
190
189
  validateMessages("cached", messages, from, this.logger);
191
- // Non null asserting here because of the length check
192
- if (messages.length > 0 && messages[0]!.sequenceNumber === from) {
190
+ if (messages.length > 0 && messages[0].sequenceNumber === from) {
193
191
  this.snapshotOps = this.snapshotOps.filter((op) => op.sequenceNumber >= to);
194
192
  opsFromSnapshot += messages.length;
195
193
  return { messages, partialResult: true };
@@ -36,7 +36,6 @@ import { SocketIOClientStatic } from "./socketModule.js";
36
36
  const protocolVersions = ["^0.4.0", "^0.3.0", "^0.2.0", "^0.1.0"];
37
37
  const feature_get_ops = "api_get_ops";
38
38
  const feature_flush_ops = "api_flush_ops";
39
- const feature_submit_signals_v2 = "submit_signals_v2";
40
39
 
41
40
  export interface FlushResult {
42
41
  lastPersistedSequenceNumber?: number;
@@ -296,9 +295,7 @@ export class OdspDocumentDeltaConnection extends DocumentDeltaConnection {
296
295
  relayUserAgent: [client.details.environment, ` driverVersion:${pkgVersion}`].join(";"),
297
296
  };
298
297
 
299
- connectMessage.supportedFeatures = {
300
- [feature_submit_signals_v2]: true,
301
- };
298
+ connectMessage.supportedFeatures = {};
302
299
 
303
300
  // Reference to this client supporting get_ops flow.
304
301
  if (mc.config.getBoolean("Fluid.Driver.Odsp.GetOpsEnabled") !== false) {
@@ -591,10 +588,8 @@ export class OdspDocumentDeltaConnection extends DocumentDeltaConnection {
591
588
  if (messages !== undefined && messages.length > 0) {
592
589
  this.logger.sendPerformanceEvent({
593
590
  ...common,
594
- // Non null asserting here because of the length check above
595
- first: messages[0]!.sequenceNumber,
596
- // Non null asserting here because of the length check above
597
- last: messages[messages.length - 1]!.sequenceNumber,
591
+ first: messages[0].sequenceNumber,
592
+ last: messages[messages.length - 1].sequenceNumber,
598
593
  length: messages.length,
599
594
  });
600
595
  this.emit("op", this.documentId, messages);
@@ -198,8 +198,7 @@ export abstract class OdspDocumentStorageServiceBase implements IDocumentStorage
198
198
  // eslint-disable-next-line unicorn/no-null
199
199
  return null;
200
200
  }
201
- // Non null asserting here because of the length check above
202
- id = versions[0]!.id;
201
+ id = versions[0].id;
203
202
  }
204
203
 
205
204
  const snapshotTree = await this.readTree(id, scenarioName);
@@ -258,8 +257,7 @@ export abstract class OdspDocumentStorageServiceBase implements IDocumentStorage
258
257
  protected combineProtocolAndAppSnapshotTree(snapshotTree: ISnapshotTree): ISnapshotTree {
259
258
  // When we upload the container snapshot, we upload appTree in ".app" and protocol tree in ".protocol"
260
259
  // So when we request the snapshot we get ".app" as tree and not as commit node as in the case just above.
261
- // TODO Why are we non null asserting here?
262
- const hierarchicalAppTree = snapshotTree.trees[".app"]!;
260
+ const hierarchicalAppTree = snapshotTree.trees[".app"];
263
261
  const hierarchicalProtocolTree = snapshotTree.trees[".protocol"];
264
262
  const summarySnapshotTree: ISnapshotTree = {
265
263
  blobs: {
@@ -262,8 +262,7 @@ export function decodeOdspUrl(url: string): {
262
262
  }
263
263
 
264
264
  return {
265
- // TODO Why are we non null asserting here?
266
- siteUrl: siteUrl!,
265
+ siteUrl,
267
266
  driveId: decodeURIComponent(driveId),
268
267
  itemId: decodeURIComponent(itemId),
269
268
  path: decodeURIComponent(path),
@@ -28,8 +28,7 @@ function buildHierarchy(flatTree: IOdspSnapshotCommit): ISnapshotTree {
28
28
  const entryPathBase = entry.path.slice(lastIndex + 1);
29
29
 
30
30
  // ODSP snapshots are created breadth-first so we can assume we see tree nodes prior to their contents
31
- // TODO Why are we non null asserting here?
32
- const node = lookup[entryPathDir]!;
31
+ const node = lookup[entryPathDir];
33
32
 
34
33
  // Add in either the blob or tree
35
34
  if (entry.type === "tree") {
@@ -70,19 +69,16 @@ export function convertOdspSnapshotToSnapshotTreeAndBlobs(
70
69
  }
71
70
  }
72
71
 
73
- // TODO Why are we non null asserting here?
74
- const sequenceNumber = odspSnapshot?.trees[0]!.sequenceNumber;
72
+ const sequenceNumber = odspSnapshot?.trees[0].sequenceNumber;
75
73
 
76
74
  const val: ISnapshot = {
77
75
  blobContents: blobsWithBufferContent,
78
76
  ops: odspSnapshot.ops?.map((op) => op.op) ?? [],
79
77
  sequenceNumber,
80
- // TODO Why are we non null asserting here?
81
- snapshotTree: buildHierarchy(odspSnapshot.trees[0]!),
78
+ snapshotTree: buildHierarchy(odspSnapshot.trees[0]),
82
79
  latestSequenceNumber:
83
80
  odspSnapshot.ops && odspSnapshot.ops.length > 0
84
- ? // Non null asserting here because of the length check above
85
- odspSnapshot.ops[odspSnapshot.ops.length - 1]!.sequenceNumber
81
+ ? odspSnapshot.ops[odspSnapshot.ops.length - 1].sequenceNumber
86
82
  : sequenceNumber,
87
83
  snapshotFormatV: 1,
88
84
  };
@@ -180,8 +180,7 @@ export class OdspSummaryUploadManager {
180
180
  const keys = Object.keys(tree.tree);
181
181
  for (const key of keys) {
182
182
  assert(!key.includes("/"), 0x9cd /* id should not include slashes */);
183
- // Non null asserting for now, this should be changed to Object.entries
184
- const summaryObject = tree.tree[key]!;
183
+ const summaryObject = tree.tree[key];
185
184
 
186
185
  let id: string | undefined;
187
186
  let value: OdspSummaryTreeValue | undefined;
@@ -110,10 +110,8 @@ export async function getOdspUrlParts(url: URL): Promise<IOdspUrlParts | undefin
110
110
  }
111
111
  }
112
112
 
113
- // TODO Why are we non null asserting here?
114
- const driveId = joinSessionMatch[3] ?? joinSessionMatch[5]!;
115
- // TODO Why are we non null asserting here?
116
- const itemId = joinSessionMatch[4]!;
113
+ const driveId = joinSessionMatch[3] || joinSessionMatch[5];
114
+ const itemId = joinSessionMatch[4];
117
115
 
118
116
  return { siteUrl: `${url.origin}${url.pathname}`, driveId, itemId };
119
117
  } else {
@@ -122,10 +120,8 @@ export async function getOdspUrlParts(url: URL): Promise<IOdspUrlParts | undefin
122
120
  if (joinSessionMatch === null) {
123
121
  return undefined;
124
122
  }
125
- // TODO Why are we non null asserting here?
126
- const driveId = joinSessionMatch[2]!;
127
- // TODO Why are we non null asserting here?
128
- const itemId = joinSessionMatch[3]!;
123
+ const driveId = joinSessionMatch[2];
124
+ const itemId = joinSessionMatch[3];
129
125
 
130
126
  return { siteUrl: `${url.origin}${url.pathname}`, driveId, itemId };
131
127
  }
@@ -6,4 +6,4 @@
6
6
  */
7
7
 
8
8
  export const pkgName = "@fluidframework/odsp-driver";
9
- export const pkgVersion = "2.3.0-288113";
9
+ export const pkgVersion = "2.3.1";
@@ -301,46 +301,39 @@ export class NodeCore {
301
301
  }
302
302
 
303
303
  public get(index: number): NodeTypes {
304
- // TODO Why are we non null asserting here?
305
- return this.children[index]!;
304
+ return this.children[index];
306
305
  }
307
306
 
308
307
  public getString(index: number): string {
309
- // TODO Why are we non null asserting here?
310
- const node = this.children[index]!;
308
+ const node = this.children[index];
311
309
  return getStringInstance(node, "getString should return string");
312
310
  }
313
311
 
314
312
  public getMaybeString(index: number): string | undefined {
315
- // TODO Why are we non null asserting here?
316
- const node = this.children[index]!;
313
+ const node = this.children[index];
317
314
  return getMaybeStringInstance(node);
318
315
  }
319
316
 
320
317
  public getBlob(index: number): BlobCore {
321
- // TODO Why are we non null asserting here?
322
- const node = this.children[index]!;
318
+ const node = this.children[index];
323
319
  assertBlobCoreInstance(node, "getBlob should return a blob");
324
320
  return node;
325
321
  }
326
322
 
327
323
  public getNode(index: number): NodeCore {
328
- // TODO Why are we non null asserting here?
329
- const node = this.children[index]!;
324
+ const node = this.children[index];
330
325
  assertNodeCoreInstance(node, "getNode should return a node");
331
326
  return node;
332
327
  }
333
328
 
334
329
  public getNumber(index: number): number {
335
- // TODO Why are we non null asserting here?
336
- const node = this.children[index]!;
330
+ const node = this.children[index];
337
331
  assertNumberInstance(node, "getNumber should return a number");
338
332
  return node;
339
333
  }
340
334
 
341
335
  public getBool(index: number): boolean {
342
- // TODO Why are we non null asserting here?
343
- const node = this.children[index]!;
336
+ const node = this.children[index];
344
337
  assertBoolInstance(node, "getBool should return a boolean");
345
338
  return node;
346
339
  }
@@ -556,8 +549,7 @@ export class NodeCore {
556
549
 
557
550
  for (const el of stringsToResolve) {
558
551
  for (let it = el.startPos; it < el.endPos; it++) {
559
- // Non null asserting here because we are iterating over startPos
560
- stringBuffer[length] = input[it]!;
552
+ stringBuffer[length] = input[it];
561
553
  length++;
562
554
  }
563
555
  stringBuffer[length] = 0;
@@ -569,8 +561,7 @@ export class NodeCore {
569
561
  if (result.length === stringsToResolve.length + 1) {
570
562
  // All is good, we expect all the cases to get here
571
563
  for (let i = 0; i < stringsToResolve.length; i++) {
572
- // Non null asserting here because we are iterating over stringsToResolve
573
- stringsToResolve[i]!.content = result[i];
564
+ stringsToResolve[i].content = result[i];
574
565
  }
575
566
  } else {
576
567
  // String content has \0 chars!
package/tsconfig.json CHANGED
@@ -6,5 +6,6 @@
6
6
  "rootDir": "./src",
7
7
  "outDir": "./lib",
8
8
  "exactOptionalPropertyTypes": false,
9
+ "noUncheckedIndexedAccess": false,
9
10
  },
10
11
  }