@fluidframework/routerlicious-driver 2.1.0-276985 → 2.1.0-281041

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 (116) hide show
  1. package/api-extractor/{api-extractor-lint-beta.cjs.json → api-extractor.current.json} +2 -2
  2. package/api-extractor/api-extractor.legacy.json +1 -1
  3. package/api-extractor.json +1 -1
  4. package/api-report/routerlicious-driver.legacy.public.api.md +22 -0
  5. package/dist/createNewUtils.d.ts.map +1 -1
  6. package/dist/createNewUtils.js +1 -3
  7. package/dist/createNewUtils.js.map +1 -1
  8. package/dist/deltaStorageService.js +1 -1
  9. package/dist/deltaStorageService.js.map +1 -1
  10. package/dist/documentService.d.ts.map +1 -1
  11. package/dist/documentService.js +5 -2
  12. package/dist/documentService.js.map +1 -1
  13. package/dist/documentServiceFactory.d.ts.map +1 -1
  14. package/dist/documentServiceFactory.js +6 -3
  15. package/dist/documentServiceFactory.js.map +1 -1
  16. package/dist/historian.d.ts.map +1 -1
  17. package/dist/historian.js.map +1 -1
  18. package/dist/legacy.d.ts +1 -1
  19. package/dist/packageVersion.d.ts +1 -1
  20. package/dist/packageVersion.js +1 -1
  21. package/dist/packageVersion.js.map +1 -1
  22. package/dist/public.d.ts +1 -1
  23. package/dist/queryStringUtils.d.ts +12 -0
  24. package/dist/queryStringUtils.d.ts.map +1 -0
  25. package/dist/queryStringUtils.js +25 -0
  26. package/dist/queryStringUtils.js.map +1 -0
  27. package/dist/r11sSnapshotParser.d.ts.map +1 -1
  28. package/dist/r11sSnapshotParser.js +4 -2
  29. package/dist/r11sSnapshotParser.js.map +1 -1
  30. package/dist/restWrapper.d.ts +9 -2
  31. package/dist/restWrapper.d.ts.map +1 -1
  32. package/dist/restWrapper.js +44 -13
  33. package/dist/restWrapper.js.map +1 -1
  34. package/dist/restWrapperBase.d.ts +27 -7
  35. package/dist/restWrapperBase.d.ts.map +1 -1
  36. package/dist/restWrapperBase.js +35 -27
  37. package/dist/restWrapperBase.js.map +1 -1
  38. package/dist/shreddedSummaryDocumentStorageService.d.ts.map +1 -1
  39. package/dist/shreddedSummaryDocumentStorageService.js +4 -3
  40. package/dist/shreddedSummaryDocumentStorageService.js.map +1 -1
  41. package/dist/summaryTreeUploadManager.d.ts.map +1 -1
  42. package/dist/summaryTreeUploadManager.js +3 -3
  43. package/dist/summaryTreeUploadManager.js.map +1 -1
  44. package/dist/urlUtils.d.ts.map +1 -1
  45. package/dist/urlUtils.js +2 -0
  46. package/dist/urlUtils.js.map +1 -1
  47. package/dist/wholeSummaryDocumentStorageService.d.ts.map +1 -1
  48. package/dist/wholeSummaryDocumentStorageService.js +4 -3
  49. package/dist/wholeSummaryDocumentStorageService.js.map +1 -1
  50. package/internal.d.ts +1 -1
  51. package/legacy.d.ts +1 -1
  52. package/lib/createNewUtils.d.ts.map +1 -1
  53. package/lib/createNewUtils.js +1 -3
  54. package/lib/createNewUtils.js.map +1 -1
  55. package/lib/deltaStorageService.js +1 -1
  56. package/lib/deltaStorageService.js.map +1 -1
  57. package/lib/documentService.d.ts.map +1 -1
  58. package/lib/documentService.js +5 -2
  59. package/lib/documentService.js.map +1 -1
  60. package/lib/documentServiceFactory.d.ts.map +1 -1
  61. package/lib/documentServiceFactory.js +6 -3
  62. package/lib/documentServiceFactory.js.map +1 -1
  63. package/lib/historian.d.ts.map +1 -1
  64. package/lib/historian.js.map +1 -1
  65. package/lib/legacy.d.ts +1 -1
  66. package/lib/packageVersion.d.ts +1 -1
  67. package/lib/packageVersion.js +1 -1
  68. package/lib/packageVersion.js.map +1 -1
  69. package/lib/public.d.ts +1 -1
  70. package/lib/queryStringUtils.d.ts +12 -0
  71. package/lib/queryStringUtils.d.ts.map +1 -0
  72. package/lib/queryStringUtils.js +21 -0
  73. package/lib/queryStringUtils.js.map +1 -0
  74. package/lib/r11sSnapshotParser.d.ts.map +1 -1
  75. package/lib/r11sSnapshotParser.js +4 -2
  76. package/lib/r11sSnapshotParser.js.map +1 -1
  77. package/lib/restWrapper.d.ts +9 -2
  78. package/lib/restWrapper.d.ts.map +1 -1
  79. package/lib/restWrapper.js +44 -12
  80. package/lib/restWrapper.js.map +1 -1
  81. package/lib/restWrapperBase.d.ts +27 -7
  82. package/lib/restWrapperBase.d.ts.map +1 -1
  83. package/lib/restWrapperBase.js +34 -25
  84. package/lib/restWrapperBase.js.map +1 -1
  85. package/lib/shreddedSummaryDocumentStorageService.d.ts.map +1 -1
  86. package/lib/shreddedSummaryDocumentStorageService.js +4 -3
  87. package/lib/shreddedSummaryDocumentStorageService.js.map +1 -1
  88. package/lib/summaryTreeUploadManager.d.ts.map +1 -1
  89. package/lib/summaryTreeUploadManager.js +3 -3
  90. package/lib/summaryTreeUploadManager.js.map +1 -1
  91. package/lib/urlUtils.d.ts.map +1 -1
  92. package/lib/urlUtils.js +2 -0
  93. package/lib/urlUtils.js.map +1 -1
  94. package/lib/wholeSummaryDocumentStorageService.d.ts.map +1 -1
  95. package/lib/wholeSummaryDocumentStorageService.js +4 -3
  96. package/lib/wholeSummaryDocumentStorageService.js.map +1 -1
  97. package/package.json +23 -33
  98. package/src/createNewUtils.ts +1 -4
  99. package/src/deltaStorageService.ts +1 -1
  100. package/src/documentService.ts +8 -5
  101. package/src/documentServiceFactory.ts +8 -5
  102. package/src/historian.ts +2 -1
  103. package/src/packageVersion.ts +1 -1
  104. package/src/queryStringUtils.ts +23 -0
  105. package/src/r11sSnapshotParser.ts +5 -3
  106. package/src/restWrapper.ts +78 -35
  107. package/src/restWrapperBase.ts +35 -32
  108. package/src/shreddedSummaryDocumentStorageService.ts +4 -3
  109. package/src/summaryTreeUploadManager.ts +4 -4
  110. package/src/urlUtils.ts +4 -2
  111. package/src/wholeSummaryDocumentStorageService.ts +4 -3
  112. package/tsconfig.json +0 -1
  113. package/api-extractor/api-extractor-lint-beta.esm.json +0 -5
  114. package/beta.d.ts +0 -11
  115. package/dist/beta.d.ts +0 -15
  116. package/lib/beta.d.ts +0 -15
@@ -4,6 +4,7 @@
4
4
  */
5
5
 
6
6
  import type { AxiosRequestConfig, AxiosRequestHeaders } from "./axios.cjs";
7
+ import { type QueryStringType } from "./queryStringUtils.js";
7
8
  import { IR11sResponse } from "./restWrapper.js";
8
9
 
9
10
  export abstract class RestWrapper {
@@ -14,6 +15,12 @@ export abstract class RestWrapper {
14
15
  protected readonly maxContentLength = 1000 * 1024 * 1024,
15
16
  ) {}
16
17
 
18
+ /**
19
+ * @param url - Relative or absolute request url.(should not contain any query params)
20
+ * @param queryString - query params to be appended to the request url
21
+ * @param headers - headers
22
+ * @param additionalOptions - additionalOptions
23
+ */
17
24
  public async get<T>(
18
25
  url: string,
19
26
  queryString?: QueryStringType,
@@ -32,11 +39,19 @@ export abstract class RestWrapper {
32
39
  maxBodyLength: this.maxBodyLength,
33
40
  maxContentLength: this.maxContentLength,
34
41
  method: "GET",
35
- url: `${url}${this.generateQueryString(queryString)}`,
42
+ url,
43
+ params: { ...this.defaultQueryString, ...queryString },
36
44
  };
37
45
  return this.request<T>(options, 200);
38
46
  }
39
47
 
48
+ /**
49
+ * @param url - Relative or absolute request url.(should not contain any query params)
50
+ * @param requestBody - requestBody
51
+ * @param queryString - query params to be appended to the request url
52
+ * @param headers - headers
53
+ * @param additionalOptions - additionalOptions
54
+ */
40
55
  public async post<T>(
41
56
  url: string,
42
57
  requestBody: any,
@@ -57,11 +72,18 @@ export abstract class RestWrapper {
57
72
  maxBodyLength: this.maxBodyLength,
58
73
  maxContentLength: this.maxContentLength,
59
74
  method: "POST",
60
- url: `${url}${this.generateQueryString(queryString)}`,
75
+ url,
76
+ params: { ...this.defaultQueryString, ...queryString },
61
77
  };
62
78
  return this.request<T>(options, 201);
63
79
  }
64
80
 
81
+ /**
82
+ * @param url - Relative or absolute request url.(should not contain any query params)
83
+ * @param queryString - query params to be appended to the request url
84
+ * @param headers - headers
85
+ * @param additionalOptions - additionalOptions
86
+ */
65
87
  public async delete<T>(
66
88
  url: string,
67
89
  queryString?: QueryStringType,
@@ -80,11 +102,19 @@ export abstract class RestWrapper {
80
102
  maxBodyLength: this.maxBodyLength,
81
103
  maxContentLength: this.maxContentLength,
82
104
  method: "DELETE",
83
- url: `${url}${this.generateQueryString(queryString)}`,
105
+ url,
106
+ params: { ...this.defaultQueryString, ...queryString },
84
107
  };
85
108
  return this.request<T>(options, 204);
86
109
  }
87
110
 
111
+ /**
112
+ * @param url - Relative or absolute request url.(should not contain any query params)
113
+ * @param requestBody - requestBody
114
+ * @param queryString - query params to be appended to the request url
115
+ * @param headers - headers
116
+ * @param additionalOptions - additionalOptions
117
+ */
88
118
  public async patch<T>(
89
119
  url: string,
90
120
  requestBody: any,
@@ -105,7 +135,8 @@ export abstract class RestWrapper {
105
135
  maxBodyLength: this.maxBodyLength,
106
136
  maxContentLength: this.maxContentLength,
107
137
  method: "PATCH",
108
- url: `${url}${this.generateQueryString(queryString)}`,
138
+ url,
139
+ params: { ...this.defaultQueryString, ...queryString },
109
140
  };
110
141
  return this.request<T>(options, 200);
111
142
  }
@@ -115,32 +146,4 @@ export abstract class RestWrapper {
115
146
  statusCode: number,
116
147
  addNetworkCallProps?: boolean,
117
148
  ): Promise<IR11sResponse<T>>;
118
-
119
- protected generateQueryString(queryStringValues?: QueryStringType) {
120
- if (this.defaultQueryString || queryStringValues) {
121
- const queryStringMap = { ...this.defaultQueryString, ...queryStringValues };
122
-
123
- return getQueryString(queryStringMap);
124
- }
125
-
126
- return "";
127
- }
128
- }
129
-
130
- /**
131
- * Generates query string from the given query parameters.
132
- * @param queryParams - Query parameters from which to create a query.
133
- */
134
- export function getQueryString(queryParams: QueryStringType): string {
135
- let queryString = "";
136
- for (const key of Object.keys(queryParams)) {
137
- if (queryParams[key] !== undefined) {
138
- const startChar = queryString === "" ? "?" : "&";
139
- queryString += `${startChar}${key}=${encodeURIComponent(queryParams[key])}`;
140
- }
141
- }
142
-
143
- return queryString;
144
149
  }
145
-
146
- export type QueryStringType = Record<string, string | number | boolean>;
@@ -98,13 +98,14 @@ export class ShreddedSummaryDocumentStorageService implements IDocumentStorageSe
98
98
 
99
99
  public async getSnapshotTree(version?: IVersion): Promise<ISnapshotTreeEx | null> {
100
100
  let requestVersion = version;
101
- if (!requestVersion) {
101
+ if (requestVersion === undefined) {
102
102
  const versions = await this.getVersions(this.id, 1);
103
- if (versions.length === 0) {
103
+ const firstVersion = versions[0];
104
+ if (firstVersion === undefined) {
104
105
  return null;
105
106
  }
106
107
 
107
- requestVersion = versions[0];
108
+ requestVersion = firstVersion;
108
109
  }
109
110
 
110
111
  const cachedSnapshotTree = await this.snapshotTreeCache?.get(
@@ -41,8 +41,7 @@ export class SummaryTreeUploadManager implements ISummaryUploadManager {
41
41
  previousFullSnapshot: ISnapshotTreeEx | undefined,
42
42
  ): Promise<string> {
43
43
  const entries = await Promise.all(
44
- Object.keys(summaryTree.tree).map(async (key) => {
45
- const entry = summaryTree.tree[key];
44
+ Object.entries(summaryTree.tree).map(async ([key, entry]) => {
46
45
  const pathHandle = await this.writeSummaryTreeObject(entry, previousFullSnapshot);
47
46
  const treeEntry: IGitCreateTreeEntry = {
48
47
  mode: getGitMode(entry),
@@ -123,8 +122,8 @@ export class SummaryTreeUploadManager implements ISummaryUploadManager {
123
122
  /** Previous snapshot, subtree relative to this path part */
124
123
  previousSnapshot: ISnapshotTreeEx,
125
124
  ): string {
126
- assert(path.length > 0, 0x0b3 /* "Expected at least 1 path part" */);
127
125
  const key = path[0];
126
+ assert(path.length > 0 && key !== undefined, 0x0b3 /* "Expected at least 1 path part" */);
128
127
  if (path.length === 1) {
129
128
  switch (handleType) {
130
129
  case SummaryType.Blob: {
@@ -147,6 +146,7 @@ export class SummaryTreeUploadManager implements ISummaryUploadManager {
147
146
  throw Error(`Unexpected handle summary object type: "${handleType}".`);
148
147
  }
149
148
  }
150
- return this.getIdFromPathCore(handleType, path.slice(1), previousSnapshot.trees[key]);
149
+ // TODO why are we non null asserting here?
150
+ return this.getIdFromPathCore(handleType, path.slice(1), previousSnapshot.trees[key]!);
151
151
  }
152
152
  }
package/src/urlUtils.ts CHANGED
@@ -20,11 +20,13 @@ export const getDiscoveredFluidResolvedUrl = (
20
20
  session: ISession,
21
21
  ): IResolvedUrl => {
22
22
  const discoveredOrdererUrl = new URL(session.ordererUrl);
23
- const deltaStorageUrl = new URL(resolvedUrl.endpoints.deltaStorageUrl);
23
+ // TODO why are we non null asserting here?
24
+ const deltaStorageUrl = new URL(resolvedUrl.endpoints.deltaStorageUrl!);
24
25
  deltaStorageUrl.host = discoveredOrdererUrl.host;
25
26
 
26
27
  const discoveredStorageUrl = new URL(session.historianUrl);
27
- const storageUrl = new URL(resolvedUrl.endpoints.storageUrl);
28
+ // TODO why are we non null asserting here?
29
+ const storageUrl = new URL(resolvedUrl.endpoints.storageUrl!);
28
30
  storageUrl.host = discoveredStorageUrl.host;
29
31
 
30
32
  const parsedUrl = new URL(resolvedUrl.url);
@@ -161,13 +161,14 @@ export class WholeSummaryDocumentStorageService implements IDocumentStorageServi
161
161
  // eslint-disable-next-line @rushstack/no-new-null
162
162
  public async getSnapshotTree(version?: IVersion): Promise<ISnapshotTree | null> {
163
163
  let requestVersion = version;
164
- if (!requestVersion) {
164
+ if (requestVersion === undefined) {
165
165
  const versions = await this.getVersions(this.id, 1);
166
- if (versions.length === 0) {
166
+ const firstVersion = versions[0];
167
+ if (firstVersion === undefined) {
167
168
  return null;
168
169
  }
169
170
 
170
- requestVersion = versions[0];
171
+ requestVersion = firstVersion;
171
172
  }
172
173
 
173
174
  let normalizedWholeSnapshot = await this.snapshotTreeCache.get(
package/tsconfig.json CHANGED
@@ -6,6 +6,5 @@
6
6
  "rootDir": "./src",
7
7
  "outDir": "./lib",
8
8
  "exactOptionalPropertyTypes": false,
9
- "noUncheckedIndexedAccess": false,
10
9
  },
11
10
  }
@@ -1,5 +0,0 @@
1
- {
2
- "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
- "extends": "<projectFolder>/../../../common/build/build-common/api-extractor-lint.entrypoint.json",
4
- "mainEntryPointFilePath": "<projectFolder>/lib/beta.d.ts"
5
- }
package/beta.d.ts DELETED
@@ -1,11 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
-
6
- /*
7
- * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
8
- * Generated by "flub generate entrypoints" in @fluidframework/build-tools.
9
- */
10
-
11
- export * from "./lib/beta.js";
package/dist/beta.d.ts DELETED
@@ -1,15 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
-
6
- /*
7
- * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
8
- * Generated by "flub generate entrypoints" in @fluidframework/build-tools.
9
- */
10
-
11
- export {
12
- // @public APIs
13
- ITokenProvider,
14
- ITokenResponse
15
- } from "./index.js";
package/lib/beta.d.ts DELETED
@@ -1,15 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
-
6
- /*
7
- * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
8
- * Generated by "flub generate entrypoints" in @fluidframework/build-tools.
9
- */
10
-
11
- export {
12
- // @public APIs
13
- ITokenProvider,
14
- ITokenResponse
15
- } from "./index.js";