@fluidframework/local-driver 1.4.0-121020 → 2.0.0-dev-rc.1.0.0.225277

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 (124) hide show
  1. package/.eslintrc.js +19 -22
  2. package/.mocharc.js +12 -0
  3. package/CHANGELOG.md +127 -0
  4. package/README.md +38 -0
  5. package/api-extractor-esm.json +4 -0
  6. package/api-extractor-lint.json +4 -0
  7. package/api-extractor.json +4 -0
  8. package/api-report/local-driver.api.md +129 -0
  9. package/dist/{auth.js → auth.cjs} +8 -6
  10. package/dist/auth.cjs.map +1 -0
  11. package/dist/auth.d.ts.map +1 -1
  12. package/dist/index.cjs +24 -0
  13. package/dist/index.cjs.map +1 -0
  14. package/dist/index.d.ts +7 -6
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/local-driver-alpha.d.ts +110 -0
  17. package/dist/local-driver-beta.d.ts +75 -0
  18. package/dist/local-driver-public.d.ts +75 -0
  19. package/dist/local-driver-untrimmed.d.ts +226 -0
  20. package/dist/localCreateDocument.cjs +28 -0
  21. package/dist/localCreateDocument.cjs.map +1 -0
  22. package/dist/localCreateDocument.d.ts +8 -0
  23. package/dist/localCreateDocument.d.ts.map +1 -0
  24. package/dist/{localDeltaStorageService.js → localDeltaStorageService.cjs} +3 -2
  25. package/dist/localDeltaStorageService.cjs.map +1 -0
  26. package/dist/localDeltaStorageService.d.ts +4 -3
  27. package/dist/localDeltaStorageService.d.ts.map +1 -1
  28. package/dist/{localDocumentDeltaConnection.js → localDocumentDeltaConnection.cjs} +9 -11
  29. package/dist/localDocumentDeltaConnection.cjs.map +1 -0
  30. package/dist/localDocumentDeltaConnection.d.ts +5 -4
  31. package/dist/localDocumentDeltaConnection.d.ts.map +1 -1
  32. package/dist/{localDocumentService.js → localDocumentService.cjs} +15 -30
  33. package/dist/localDocumentService.cjs.map +1 -0
  34. package/dist/localDocumentService.d.ts +15 -11
  35. package/dist/localDocumentService.d.ts.map +1 -1
  36. package/dist/{localDocumentServiceFactory.js → localDocumentServiceFactory.cjs} +14 -31
  37. package/dist/localDocumentServiceFactory.cjs.map +1 -0
  38. package/dist/localDocumentServiceFactory.d.ts +3 -2
  39. package/dist/localDocumentServiceFactory.d.ts.map +1 -1
  40. package/dist/localDocumentStorageService.cjs +88 -0
  41. package/dist/localDocumentStorageService.cjs.map +1 -0
  42. package/dist/localDocumentStorageService.d.ts +30 -0
  43. package/dist/localDocumentStorageService.d.ts.map +1 -0
  44. package/dist/{localResolver.js → localResolver.cjs} +10 -6
  45. package/dist/localResolver.cjs.map +1 -0
  46. package/dist/localResolver.d.ts +5 -0
  47. package/dist/localResolver.d.ts.map +1 -1
  48. package/dist/{localSessionStorageDb.js → localSessionStorageDb.cjs} +26 -18
  49. package/dist/localSessionStorageDb.cjs.map +1 -0
  50. package/dist/localSessionStorageDb.d.ts +1 -1
  51. package/dist/localSessionStorageDb.d.ts.map +1 -1
  52. package/dist/tsdoc-metadata.json +11 -0
  53. package/lib/auth.d.mts +12 -0
  54. package/lib/auth.d.mts.map +1 -0
  55. package/lib/auth.mjs +40 -0
  56. package/lib/auth.mjs.map +1 -0
  57. package/lib/index.d.mts +12 -0
  58. package/lib/index.d.mts.map +1 -0
  59. package/lib/index.mjs +12 -0
  60. package/lib/index.mjs.map +1 -0
  61. package/lib/local-driver-alpha.d.mts +110 -0
  62. package/lib/local-driver-beta.d.mts +75 -0
  63. package/lib/local-driver-public.d.mts +75 -0
  64. package/lib/local-driver-untrimmed.d.mts +226 -0
  65. package/lib/localCreateDocument.d.mts +8 -0
  66. package/lib/localCreateDocument.d.mts.map +1 -0
  67. package/lib/localCreateDocument.mjs +24 -0
  68. package/lib/localCreateDocument.mjs.map +1 -0
  69. package/lib/localDeltaStorageService.d.mts +20 -0
  70. package/lib/localDeltaStorageService.d.mts.map +1 -0
  71. package/lib/localDeltaStorageService.mjs +32 -0
  72. package/lib/localDeltaStorageService.mjs.map +1 -0
  73. package/lib/localDocumentDeltaConnection.d.mts +48 -0
  74. package/lib/localDocumentDeltaConnection.d.mts.map +1 -0
  75. package/lib/localDocumentDeltaConnection.mjs +86 -0
  76. package/lib/localDocumentDeltaConnection.mjs.map +1 -0
  77. package/lib/localDocumentService.d.mts +56 -0
  78. package/lib/localDocumentService.d.mts.map +1 -0
  79. package/lib/localDocumentService.mjs +84 -0
  80. package/lib/localDocumentService.mjs.map +1 -0
  81. package/lib/localDocumentServiceFactory.d.mts +45 -0
  82. package/lib/localDocumentServiceFactory.d.mts.map +1 -0
  83. package/lib/localDocumentServiceFactory.mjs +80 -0
  84. package/lib/localDocumentServiceFactory.mjs.map +1 -0
  85. package/lib/localDocumentStorageService.d.mts +30 -0
  86. package/lib/localDocumentStorageService.d.mts.map +1 -0
  87. package/lib/localDocumentStorageService.mjs +84 -0
  88. package/lib/localDocumentStorageService.mjs.map +1 -0
  89. package/lib/localResolver.d.mts +31 -0
  90. package/lib/localResolver.d.mts.map +1 -0
  91. package/lib/localResolver.mjs +74 -0
  92. package/lib/localResolver.mjs.map +1 -0
  93. package/lib/localSessionStorageDb.d.mts +11 -0
  94. package/lib/localSessionStorageDb.d.mts.map +1 -0
  95. package/lib/localSessionStorageDb.mjs +292 -0
  96. package/lib/localSessionStorageDb.mjs.map +1 -0
  97. package/package.json +140 -59
  98. package/prettier.config.cjs +8 -0
  99. package/src/auth.ts +42 -33
  100. package/src/index.ts +7 -6
  101. package/src/localCreateDocument.ts +48 -0
  102. package/src/localDeltaStorageService.ts +28 -27
  103. package/src/localDocumentDeltaConnection.ts +91 -88
  104. package/src/localDocumentService.ts +117 -97
  105. package/src/localDocumentServiceFactory.ts +95 -123
  106. package/src/localDocumentStorageService.ts +131 -0
  107. package/src/localResolver.ts +57 -59
  108. package/src/localSessionStorageDb.ts +272 -265
  109. package/tsc-multi.test.json +4 -0
  110. package/tsconfig.json +11 -13
  111. package/dist/auth.js.map +0 -1
  112. package/dist/index.js +0 -23
  113. package/dist/index.js.map +0 -1
  114. package/dist/localDeltaStorageService.js.map +0 -1
  115. package/dist/localDocumentDeltaConnection.js.map +0 -1
  116. package/dist/localDocumentService.js.map +0 -1
  117. package/dist/localDocumentServiceFactory.js.map +0 -1
  118. package/dist/localResolver.js.map +0 -1
  119. package/dist/localSessionStorageDb.js.map +0 -1
  120. package/dist/packageVersion.d.ts +0 -9
  121. package/dist/packageVersion.d.ts.map +0 -1
  122. package/dist/packageVersion.js +0 -12
  123. package/dist/packageVersion.js.map +0 -1
  124. package/src/packageVersion.ts +0 -9
@@ -4,81 +4,79 @@
4
4
  */
5
5
 
6
6
  import { parse } from "url";
7
- import { assert } from "@fluidframework/common-utils";
7
+ import { assert } from "@fluidframework/core-utils";
8
8
  import { IRequest } from "@fluidframework/core-interfaces";
9
- import {
10
- IFluidResolvedUrl,
11
- IResolvedUrl,
12
- IUrlResolver,
13
- DriverHeader,
14
- } from "@fluidframework/driver-definitions";
9
+ import { IResolvedUrl, IUrlResolver, DriverHeader } from "@fluidframework/driver-definitions";
15
10
  import { ScopeType } from "@fluidframework/protocol-definitions";
16
11
  import { generateToken } from "./auth";
17
12
 
13
+ /**
14
+ * @alpha
15
+ */
18
16
  export function createLocalResolverCreateNewRequest(documentId: string): IRequest {
19
- const createNewRequest: IRequest = {
20
- url: `http://localhost:3000/${documentId}`,
21
- headers: {
22
- [DriverHeader.createNew]: true,
23
- },
24
- };
25
- return createNewRequest;
17
+ const createNewRequest: IRequest = {
18
+ url: `http://localhost:3000/${documentId}`,
19
+ headers: {
20
+ [DriverHeader.createNew]: true,
21
+ },
22
+ };
23
+ return createNewRequest;
26
24
  }
27
25
 
28
26
  /**
29
27
  * Resolves URLs by providing fake URLs which succeed with the other
30
28
  * related local classes.
29
+ * @alpha
31
30
  */
32
31
  export class LocalResolver implements IUrlResolver {
33
- private readonly tenantId = "tenantId";
34
- private readonly tokenKey = "tokenKey";
35
-
36
- constructor() { }
32
+ private readonly tenantId = "tenantId";
33
+ private readonly tokenKey = "tokenKey";
37
34
 
38
- /**
39
- * Resolves URL requests by providing fake URLs with an actually generated
40
- * token from constant test strings. The root of the URL is fake, but the
41
- * remaining relative URL can still be parsed.
42
- * @param request - request to handle
43
- */
44
- public async resolve(request: IRequest): Promise<IResolvedUrl> {
45
- const parsedUrl = new URL(request.url);
46
- const fullPath = `${parsedUrl.pathname.substr(1)}${parsedUrl.search}`;
47
- const documentId = fullPath.split("/")[0];
48
- const scopes = [ScopeType.DocRead, ScopeType.DocWrite, ScopeType.SummaryWrite];
49
- const resolved: IFluidResolvedUrl = {
50
- endpoints: {
51
- deltaStorageUrl: `http://localhost:3000/deltas/${this.tenantId}/${documentId}`,
52
- ordererUrl: "http://localhost:3000",
53
- storageUrl: `http://localhost:3000/repos/${this.tenantId}`,
54
- },
55
- id: documentId,
56
- tokens: { jwt: generateToken(this.tenantId, documentId, this.tokenKey, scopes) },
57
- type: "fluid",
58
- url: `fluid-test://localhost:3000/${this.tenantId}/${fullPath}`,
59
- };
35
+ constructor() {}
60
36
 
61
- return resolved;
62
- }
37
+ /**
38
+ * Resolves URL requests by providing fake URLs with an actually generated
39
+ * token from constant test strings. The root of the URL is fake, but the
40
+ * remaining relative URL can still be parsed.
41
+ * @param request - request to handle
42
+ * @alpha
43
+ */
44
+ public async resolve(request: IRequest): Promise<IResolvedUrl> {
45
+ const parsedUrl = new URL(request.url);
46
+ const fullPath = `${parsedUrl.pathname.substr(1)}${parsedUrl.search}`;
47
+ const documentId = fullPath.split("/")[0];
48
+ const scopes = [ScopeType.DocRead, ScopeType.DocWrite, ScopeType.SummaryWrite];
49
+ const resolved: IResolvedUrl = {
50
+ endpoints: {
51
+ deltaStorageUrl: `http://localhost:3000/deltas/${this.tenantId}/${documentId}`,
52
+ ordererUrl: "http://localhost:3000",
53
+ storageUrl: `http://localhost:3000/repos/${this.tenantId}`,
54
+ },
55
+ id: documentId,
56
+ tokens: { jwt: generateToken(this.tenantId, documentId, this.tokenKey, scopes) },
57
+ type: "fluid",
58
+ url: `fluid-test://localhost:3000/${this.tenantId}/${fullPath}`,
59
+ };
63
60
 
64
- public async getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string> {
65
- let url = relativeUrl;
66
- if (url.startsWith("/")) {
67
- url = url.substr(1);
68
- }
69
- const fluidResolvedUrl = resolvedUrl as IFluidResolvedUrl;
61
+ return resolved;
62
+ }
70
63
 
71
- const parsedUrl = parse(fluidResolvedUrl.url);
72
- if (parsedUrl.pathname === null) {
73
- throw new Error("Url should contain tenant and docId!!");
74
- }
75
- const [, , documentId] = parsedUrl.pathname.split("/");
76
- assert(!!documentId, 0x09a /* "'documentId' must be a defined, non-zero length string." */);
64
+ public async getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string> {
65
+ let url = relativeUrl;
66
+ if (url.startsWith("/")) {
67
+ url = url.substr(1);
68
+ }
69
+ const parsedUrl = parse(resolvedUrl.url);
70
+ if (parsedUrl.pathname === null) {
71
+ throw new Error("Url should contain tenant and docId!!");
72
+ }
73
+ const [, , documentId] = parsedUrl.pathname.split("/");
74
+ assert(!!documentId, 0x09a /* "'documentId' must be a defined, non-zero length string." */);
77
75
 
78
- return `http://localhost:3000/${documentId}/${url}`;
79
- }
76
+ return `http://localhost:3000/${documentId}/${url}`;
77
+ }
80
78
 
81
- public createCreateNewRequest(documentId: string): IRequest {
82
- return createLocalResolverCreateNewRequest(documentId);
83
- }
79
+ public createCreateNewRequest(documentId: string): IRequest {
80
+ return createLocalResolverCreateNewRequest(documentId);
81
+ }
84
82
  }