@fluidframework/odsp-urlresolver 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 (56) hide show
  1. package/.eslintrc.js +9 -11
  2. package/.mocharc.js +12 -0
  3. package/CHANGELOG.md +81 -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/odsp-urlresolver.api.md +24 -0
  9. package/dist/index.cjs +11 -0
  10. package/dist/index.cjs.map +1 -0
  11. package/dist/index.d.ts +1 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/odsp-urlresolver-alpha.d.ts +9 -0
  14. package/dist/odsp-urlresolver-beta.d.ts +13 -0
  15. package/dist/odsp-urlresolver-public.d.ts +13 -0
  16. package/dist/odsp-urlresolver-untrimmed.d.ts +20 -0
  17. package/dist/tsdoc-metadata.json +11 -0
  18. package/dist/{urlResolver.js → urlResolver.cjs} +14 -3
  19. package/dist/urlResolver.cjs.map +1 -0
  20. package/dist/urlResolver.d.ts +8 -0
  21. package/dist/urlResolver.d.ts.map +1 -1
  22. package/lib/index.d.mts +6 -0
  23. package/lib/index.d.mts.map +1 -0
  24. package/lib/{index.js → index.mjs} +2 -2
  25. package/lib/index.mjs.map +1 -0
  26. package/lib/odsp-urlresolver-alpha.d.mts +9 -0
  27. package/lib/odsp-urlresolver-beta.d.mts +13 -0
  28. package/lib/odsp-urlresolver-public.d.mts +13 -0
  29. package/lib/odsp-urlresolver-untrimmed.d.mts +20 -0
  30. package/lib/{urlResolver.d.ts → urlResolver.d.mts} +9 -1
  31. package/lib/urlResolver.d.mts.map +1 -0
  32. package/lib/{urlResolver.js → urlResolver.mjs} +14 -3
  33. package/lib/urlResolver.mjs.map +1 -0
  34. package/package.json +120 -45
  35. package/{lib/index.d.ts → prettier.config.cjs} +4 -2
  36. package/src/index.ts +1 -1
  37. package/src/urlResolver.ts +34 -26
  38. package/tsc-multi.test.json +4 -0
  39. package/tsconfig.json +11 -13
  40. package/dist/index.js +0 -18
  41. package/dist/index.js.map +0 -1
  42. package/dist/packageVersion.d.ts +0 -9
  43. package/dist/packageVersion.d.ts.map +0 -1
  44. package/dist/packageVersion.js +0 -12
  45. package/dist/packageVersion.js.map +0 -1
  46. package/dist/urlResolver.js.map +0 -1
  47. package/lib/index.d.ts.map +0 -1
  48. package/lib/index.js.map +0 -1
  49. package/lib/packageVersion.d.ts +0 -9
  50. package/lib/packageVersion.d.ts.map +0 -1
  51. package/lib/packageVersion.js +0 -9
  52. package/lib/packageVersion.js.map +0 -1
  53. package/lib/urlResolver.d.ts.map +0 -1
  54. package/lib/urlResolver.js.map +0 -1
  55. package/src/packageVersion.ts +0 -9
  56. package/tsconfig.esnext.json +0 -7
package/.eslintrc.js CHANGED
@@ -4,14 +4,12 @@
4
4
  */
5
5
 
6
6
  module.exports = {
7
- "extends": [
8
- require.resolve("@fluidframework/eslint-config-fluid")
9
- ],
10
- "parserOptions": {
11
- "project": ["./tsconfig.json", "./src/test/tsconfig.json"]
12
- },
13
- "rules": {
14
- "@typescript-eslint/no-use-before-define": "off",
15
- "@typescript-eslint/strict-boolean-expressions": "off"
16
- }
17
- }
7
+ extends: [require.resolve("@fluidframework/eslint-config-fluid"), "prettier"],
8
+ parserOptions: {
9
+ project: ["./tsconfig.json", "./src/test/tsconfig.json"],
10
+ },
11
+ rules: {
12
+ "@typescript-eslint/no-use-before-define": "off",
13
+ "@typescript-eslint/strict-boolean-expressions": "off",
14
+ },
15
+ };
package/.mocharc.js ADDED
@@ -0,0 +1,12 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ "use strict";
7
+
8
+ const getFluidTestMochaConfig = require("@fluidframework/mocha-test-setup/mocharc-common");
9
+
10
+ const packageDir = __dirname;
11
+ const config = getFluidTestMochaConfig(packageDir);
12
+ module.exports = config;
package/CHANGELOG.md ADDED
@@ -0,0 +1,81 @@
1
+ # @fluidframework/odsp-urlresolver
2
+
3
+ ## 2.0.0-internal.8.0.0
4
+
5
+ Dependency updates only.
6
+
7
+ ## 2.0.0-internal.7.4.0
8
+
9
+ Dependency updates only.
10
+
11
+ ## 2.0.0-internal.7.3.0
12
+
13
+ Dependency updates only.
14
+
15
+ ## 2.0.0-internal.7.2.0
16
+
17
+ Dependency updates only.
18
+
19
+ ## 2.0.0-internal.7.1.0
20
+
21
+ Dependency updates only.
22
+
23
+ ## 2.0.0-internal.7.0.0
24
+
25
+ ### Major Changes
26
+
27
+ - Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
28
+
29
+ The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
30
+
31
+ ## 2.0.0-internal.6.4.0
32
+
33
+ Dependency updates only.
34
+
35
+ ## 2.0.0-internal.6.3.0
36
+
37
+ Dependency updates only.
38
+
39
+ ## 2.0.0-internal.6.2.0
40
+
41
+ Dependency updates only.
42
+
43
+ ## 2.0.0-internal.6.1.0
44
+
45
+ Dependency updates only.
46
+
47
+ ## 2.0.0-internal.6.0.0
48
+
49
+ ### Major Changes
50
+
51
+ - Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
52
+
53
+ Upgraded typescript transpilation target to ES2020. This is done in order to decrease the bundle sizes of Fluid Framework packages. This has provided size improvements across the board for ex. Loader, Driver, Runtime etc. Reduced bundle sizes helps to load lesser code in apps and hence also helps to improve the perf.If any app wants to target any older versions of browsers with which this target version is not compatible, then they can use packages like babel to transpile to a older target.
54
+
55
+ ## 2.0.0-internal.5.4.0
56
+
57
+ Dependency updates only.
58
+
59
+ ## 2.0.0-internal.5.3.0
60
+
61
+ Dependency updates only.
62
+
63
+ ## 2.0.0-internal.5.2.0
64
+
65
+ Dependency updates only.
66
+
67
+ ## 2.0.0-internal.5.1.0
68
+
69
+ Dependency updates only.
70
+
71
+ ## 2.0.0-internal.5.0.0
72
+
73
+ Dependency updates only.
74
+
75
+ ## 2.0.0-internal.4.4.0
76
+
77
+ Dependency updates only.
78
+
79
+ ## 2.0.0-internal.4.1.0
80
+
81
+ Dependency updates only.
package/README.md CHANGED
@@ -1,3 +1,41 @@
1
1
  # @fluidframework/odsp-urlresolver
2
2
 
3
3
  This is an implementation of a url resolver which resolves onedrive and sharepoint URLs.
4
+
5
+ <!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->
6
+
7
+ <!-- prettier-ignore-start -->
8
+ <!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->
9
+
10
+ ## Using Fluid Framework libraries
11
+
12
+ When taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.
13
+ While Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,
14
+ library consumers should always prefer `^`.
15
+
16
+ Note that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,
17
+ you must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).
18
+ Standard `^` and `~` ranges will not work as expected.
19
+ See the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)
20
+ package for more information including tools to convert between version schemes.
21
+
22
+ <!-- prettier-ignore-end -->
23
+
24
+ <!-- AUTO-GENERATED-CONTENT:END -->
25
+
26
+ <!-- AUTO-GENERATED-CONTENT:START (README_TRADEMARK_SECTION:includeHeading=TRUE) -->
27
+
28
+ <!-- prettier-ignore-start -->
29
+ <!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->
30
+
31
+ ## Trademark
32
+
33
+ This project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.
34
+
35
+ Use of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
36
+
37
+ Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
38
+
39
+ <!-- prettier-ignore-end -->
40
+
41
+ <!-- AUTO-GENERATED-CONTENT:END -->
@@ -0,0 +1,4 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "../../../common/build/build-common/api-extractor-base-esm.json"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "../../../common/build/build-common/api-extractor-lint.json"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "../../../common/build/build-common/api-extractor-base.json"
4
+ }
@@ -0,0 +1,24 @@
1
+ ## API Report File for "@fluidframework/odsp-urlresolver"
2
+
3
+ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4
+
5
+ ```ts
6
+
7
+ import { IRequest } from '@fluidframework/core-interfaces';
8
+ import { IResolvedUrl } from '@fluidframework/driver-definitions';
9
+ import { IUrlResolver } from '@fluidframework/driver-definitions';
10
+
11
+ // @internal
12
+ export const isOdspUrl: (url: string) => boolean;
13
+
14
+ // @internal (undocumented)
15
+ export class OdspUrlResolver implements IUrlResolver {
16
+ // (undocumented)
17
+ getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string>;
18
+ // (undocumented)
19
+ resolve(request: IRequest): Promise<IResolvedUrl | undefined>;
20
+ }
21
+
22
+ // (No @packageDocumentation comment for this package)
23
+
24
+ ```
package/dist/index.cjs ADDED
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /*!
3
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
4
+ * Licensed under the MIT License.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.OdspUrlResolver = exports.isOdspUrl = void 0;
8
+ var urlResolver_1 = require("./urlResolver.cjs");
9
+ Object.defineProperty(exports, "isOdspUrl", { enumerable: true, get: function () { return urlResolver_1.isOdspUrl; } });
10
+ Object.defineProperty(exports, "OdspUrlResolver", { enumerable: true, get: function () { return urlResolver_1.OdspUrlResolver; } });
11
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,iDAA2D;AAAlD,wGAAA,SAAS,OAAA;AAAE,8GAAA,eAAe,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport { isOdspUrl, OdspUrlResolver } from \"./urlResolver\";\n"]}
package/dist/index.d.ts CHANGED
@@ -2,5 +2,5 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- export * from "./urlResolver";
5
+ export { isOdspUrl, OdspUrlResolver } from "./urlResolver";
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { IRequest } from '@fluidframework/core-interfaces';
2
+ import { IResolvedUrl } from '@fluidframework/driver-definitions';
3
+ import { IUrlResolver } from '@fluidframework/driver-definitions';
4
+
5
+ /* Excluded from this release type: isOdspUrl */
6
+
7
+ /* Excluded from this release type: OdspUrlResolver */
8
+
9
+ export { }
@@ -0,0 +1,13 @@
1
+ import { IRequest } from '@fluidframework/core-interfaces';
2
+ import { IResolvedUrl } from '@fluidframework/driver-definitions';
3
+ import { IUrlResolver } from '@fluidframework/driver-definitions';
4
+
5
+ /* Excluded from this release type: IResolvedUrl */
6
+
7
+ /* Excluded from this release type: isOdspUrl */
8
+
9
+ /* Excluded from this release type: IUrlResolver */
10
+
11
+ /* Excluded from this release type: OdspUrlResolver */
12
+
13
+ export { }
@@ -0,0 +1,13 @@
1
+ import { IRequest } from '@fluidframework/core-interfaces';
2
+ import { IResolvedUrl } from '@fluidframework/driver-definitions';
3
+ import { IUrlResolver } from '@fluidframework/driver-definitions';
4
+
5
+ /* Excluded from this release type: IResolvedUrl */
6
+
7
+ /* Excluded from this release type: isOdspUrl */
8
+
9
+ /* Excluded from this release type: IUrlResolver */
10
+
11
+ /* Excluded from this release type: OdspUrlResolver */
12
+
13
+ export { }
@@ -0,0 +1,20 @@
1
+ import { IRequest } from '@fluidframework/core-interfaces';
2
+ import { IResolvedUrl } from '@fluidframework/driver-definitions';
3
+ import { IUrlResolver } from '@fluidframework/driver-definitions';
4
+
5
+ /**
6
+ * Returns true if the given string is a valid SPO/ODB or ODC URL.
7
+ *
8
+ * @internal
9
+ */
10
+ export declare const isOdspUrl: (url: string) => boolean;
11
+
12
+ /**
13
+ * @internal
14
+ */
15
+ export declare class OdspUrlResolver implements IUrlResolver {
16
+ resolve(request: IRequest): Promise<IResolvedUrl | undefined>;
17
+ getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string>;
18
+ }
19
+
20
+ export { }
@@ -0,0 +1,11 @@
1
+ // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
+ // It should be published with your NPM package. It should not be tracked by Git.
3
+ {
4
+ "tsdocVersion": "0.12",
5
+ "toolPackages": [
6
+ {
7
+ "packageName": "@microsoft/api-extractor",
8
+ "packageVersion": "7.38.3"
9
+ }
10
+ ]
11
+ }
@@ -6,6 +6,9 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.isOdspUrl = exports.OdspUrlResolver = void 0;
8
8
  const odsp_driver_1 = require("@fluidframework/odsp-driver");
9
+ /**
10
+ * @internal
11
+ */
9
12
  class OdspUrlResolver {
10
13
  async resolve(request) {
11
14
  if ((0, exports.isOdspUrl)(request.url)) {
@@ -14,9 +17,12 @@ class OdspUrlResolver {
14
17
  if (!contents) {
15
18
  return undefined;
16
19
  }
17
- const urlToBeResolved = (0, odsp_driver_1.createOdspUrl)(Object.assign(Object.assign({}, contents), { dataStorePath: "" }));
20
+ const urlToBeResolved = (0, odsp_driver_1.createOdspUrl)({ ...contents, dataStorePath: "" });
18
21
  const odspDriverUrlResolver = new odsp_driver_1.OdspDriverUrlResolver();
19
- return odspDriverUrlResolver.resolve({ url: urlToBeResolved, headers: request.headers });
22
+ return odspDriverUrlResolver.resolve({
23
+ url: urlToBeResolved,
24
+ headers: request.headers,
25
+ });
20
26
  }
21
27
  return undefined;
22
28
  }
@@ -25,8 +31,13 @@ class OdspUrlResolver {
25
31
  }
26
32
  }
27
33
  exports.OdspUrlResolver = OdspUrlResolver;
34
+ /**
35
+ * Returns true if the given string is a valid SPO/ODB or ODC URL.
36
+ *
37
+ * @internal
38
+ */
28
39
  const isOdspUrl = (url) => {
29
40
  return (0, odsp_driver_1.isSpoUrl)(url) || (0, odsp_driver_1.isOdcUrl)(url);
30
41
  };
31
42
  exports.isOdspUrl = isOdspUrl;
32
- //# sourceMappingURL=urlResolver.js.map
43
+ //# sourceMappingURL=urlResolver.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urlResolver.cjs","sourceRoot":"","sources":["../src/urlResolver.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIH,6DAMqC;AAErC;;GAEG;AACH,MAAa,eAAe;IACpB,KAAK,CAAC,OAAO,CAAC,OAAiB;QACrC,IAAI,IAAA,iBAAS,EAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC3B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAe,EAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,QAAQ,EAAE;gBACd,OAAO,SAAS,CAAC;aACjB;YACD,MAAM,eAAe,GAAG,IAAA,2BAAa,EAAC,EAAE,GAAG,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1E,MAAM,qBAAqB,GAAiB,IAAI,mCAAqB,EAAE,CAAC;YACxE,OAAO,qBAAqB,CAAC,OAAO,CAAC;gBACpC,GAAG,EAAE,eAAe;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;aACxB,CAAC,CAAC;SACH;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,WAAyB,EAAE,WAAmB;QACzE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;CACD;AArBD,0CAqBC;AAED;;;;GAIG;AACI,MAAM,SAAS,GAAG,CAAC,GAAW,EAAW,EAAE;IACjD,OAAO,IAAA,sBAAQ,EAAC,GAAG,CAAC,IAAI,IAAA,sBAAQ,EAAC,GAAG,CAAC,CAAC;AACvC,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IRequest } from \"@fluidframework/core-interfaces\";\nimport { IResolvedUrl, IUrlResolver } from \"@fluidframework/driver-definitions\";\nimport {\n\tcreateOdspUrl,\n\tOdspDriverUrlResolver,\n\tisSpoUrl,\n\tisOdcUrl,\n\tgetOdspUrlParts,\n} from \"@fluidframework/odsp-driver\";\n\n/**\n * @internal\n */\nexport class OdspUrlResolver implements IUrlResolver {\n\tpublic async resolve(request: IRequest): Promise<IResolvedUrl | undefined> {\n\t\tif (isOdspUrl(request.url)) {\n\t\t\tconst reqUrl = new URL(request.url);\n\t\t\tconst contents = await getOdspUrlParts(reqUrl);\n\t\t\tif (!contents) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tconst urlToBeResolved = createOdspUrl({ ...contents, dataStorePath: \"\" });\n\t\t\tconst odspDriverUrlResolver: IUrlResolver = new OdspDriverUrlResolver();\n\t\t\treturn odspDriverUrlResolver.resolve({\n\t\t\t\turl: urlToBeResolved,\n\t\t\t\theaders: request.headers,\n\t\t\t});\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tpublic async getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string> {\n\t\tthrow new Error(\"Not implemented\");\n\t}\n}\n\n/**\n * Returns true if the given string is a valid SPO/ODB or ODC URL.\n *\n * @internal\n */\nexport const isOdspUrl = (url: string): boolean => {\n\treturn isSpoUrl(url) || isOdcUrl(url);\n};\n"]}
@@ -4,9 +4,17 @@
4
4
  */
5
5
  import { IRequest } from "@fluidframework/core-interfaces";
6
6
  import { IResolvedUrl, IUrlResolver } from "@fluidframework/driver-definitions";
7
+ /**
8
+ * @internal
9
+ */
7
10
  export declare class OdspUrlResolver implements IUrlResolver {
8
11
  resolve(request: IRequest): Promise<IResolvedUrl | undefined>;
9
12
  getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string>;
10
13
  }
14
+ /**
15
+ * Returns true if the given string is a valid SPO/ODB or ODC URL.
16
+ *
17
+ * @internal
18
+ */
11
19
  export declare const isOdspUrl: (url: string) => boolean;
12
20
  //# sourceMappingURL=urlResolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"urlResolver.d.ts","sourceRoot":"","sources":["../src/urlResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAShF,qBAAa,eAAgB,YAAW,YAAY;IACnC,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAc7D,cAAc,CACvB,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC;CAGrB;AAED,eAAO,MAAM,SAAS,QAAS,MAAM,YAEpC,CAAC"}
1
+ {"version":3,"file":"urlResolver.d.ts","sourceRoot":"","sources":["../src/urlResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAShF;;GAEG;AACH,qBAAa,eAAgB,YAAW,YAAY;IACtC,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAiB7D,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAG5F;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,QAAS,MAAM,KAAG,OAEvC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+ export { isOdspUrl, OdspUrlResolver } from "./urlResolver.mjs";
6
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EAAE,SAAS,EAAE,eAAe,EAAE"}
@@ -2,5 +2,5 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- export * from "./urlResolver";
6
- //# sourceMappingURL=index.js.map
5
+ export { isOdspUrl, OdspUrlResolver } from "./urlResolver.mjs";
6
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EAAE,SAAS,EAAE,eAAe,EAAE","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport { isOdspUrl, OdspUrlResolver } from \"./urlResolver\";\n"]}
@@ -0,0 +1,9 @@
1
+ import { IRequest } from '@fluidframework/core-interfaces';
2
+ import { IResolvedUrl } from '@fluidframework/driver-definitions';
3
+ import { IUrlResolver } from '@fluidframework/driver-definitions';
4
+
5
+ /* Excluded from this release type: isOdspUrl */
6
+
7
+ /* Excluded from this release type: OdspUrlResolver */
8
+
9
+ export { }
@@ -0,0 +1,13 @@
1
+ import { IRequest } from '@fluidframework/core-interfaces';
2
+ import { IResolvedUrl } from '@fluidframework/driver-definitions';
3
+ import { IUrlResolver } from '@fluidframework/driver-definitions';
4
+
5
+ /* Excluded from this release type: IResolvedUrl */
6
+
7
+ /* Excluded from this release type: isOdspUrl */
8
+
9
+ /* Excluded from this release type: IUrlResolver */
10
+
11
+ /* Excluded from this release type: OdspUrlResolver */
12
+
13
+ export { }
@@ -0,0 +1,13 @@
1
+ import { IRequest } from '@fluidframework/core-interfaces';
2
+ import { IResolvedUrl } from '@fluidframework/driver-definitions';
3
+ import { IUrlResolver } from '@fluidframework/driver-definitions';
4
+
5
+ /* Excluded from this release type: IResolvedUrl */
6
+
7
+ /* Excluded from this release type: isOdspUrl */
8
+
9
+ /* Excluded from this release type: IUrlResolver */
10
+
11
+ /* Excluded from this release type: OdspUrlResolver */
12
+
13
+ export { }
@@ -0,0 +1,20 @@
1
+ import { IRequest } from '@fluidframework/core-interfaces';
2
+ import { IResolvedUrl } from '@fluidframework/driver-definitions';
3
+ import { IUrlResolver } from '@fluidframework/driver-definitions';
4
+
5
+ /**
6
+ * Returns true if the given string is a valid SPO/ODB or ODC URL.
7
+ *
8
+ * @internal
9
+ */
10
+ export declare const isOdspUrl: (url: string) => boolean;
11
+
12
+ /**
13
+ * @internal
14
+ */
15
+ export declare class OdspUrlResolver implements IUrlResolver {
16
+ resolve(request: IRequest): Promise<IResolvedUrl | undefined>;
17
+ getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string>;
18
+ }
19
+
20
+ export { }
@@ -4,9 +4,17 @@
4
4
  */
5
5
  import { IRequest } from "@fluidframework/core-interfaces";
6
6
  import { IResolvedUrl, IUrlResolver } from "@fluidframework/driver-definitions";
7
+ /**
8
+ * @internal
9
+ */
7
10
  export declare class OdspUrlResolver implements IUrlResolver {
8
11
  resolve(request: IRequest): Promise<IResolvedUrl | undefined>;
9
12
  getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string>;
10
13
  }
14
+ /**
15
+ * Returns true if the given string is a valid SPO/ODB or ODC URL.
16
+ *
17
+ * @internal
18
+ */
11
19
  export declare const isOdspUrl: (url: string) => boolean;
12
- //# sourceMappingURL=urlResolver.d.ts.map
20
+ //# sourceMappingURL=urlResolver.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urlResolver.d.mts","sourceRoot":"","sources":["../src/urlResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EAAE,QAAQ,EAAE,MAAM,iCAAiC;OACnD,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oCAAoC;AAS/E;;GAEG;AACH,qBAAa,eAAgB,YAAW,YAAY;IACtC,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAiB7D,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAG5F;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,QAAS,MAAM,KAAG,OAEvC,CAAC"}
@@ -3,6 +3,9 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  import { createOdspUrl, OdspDriverUrlResolver, isSpoUrl, isOdcUrl, getOdspUrlParts, } from "@fluidframework/odsp-driver";
6
+ /**
7
+ * @internal
8
+ */
6
9
  export class OdspUrlResolver {
7
10
  async resolve(request) {
8
11
  if (isOdspUrl(request.url)) {
@@ -11,9 +14,12 @@ export class OdspUrlResolver {
11
14
  if (!contents) {
12
15
  return undefined;
13
16
  }
14
- const urlToBeResolved = createOdspUrl(Object.assign(Object.assign({}, contents), { dataStorePath: "" }));
17
+ const urlToBeResolved = createOdspUrl({ ...contents, dataStorePath: "" });
15
18
  const odspDriverUrlResolver = new OdspDriverUrlResolver();
16
- return odspDriverUrlResolver.resolve({ url: urlToBeResolved, headers: request.headers });
19
+ return odspDriverUrlResolver.resolve({
20
+ url: urlToBeResolved,
21
+ headers: request.headers,
22
+ });
17
23
  }
18
24
  return undefined;
19
25
  }
@@ -21,7 +27,12 @@ export class OdspUrlResolver {
21
27
  throw new Error("Not implemented");
22
28
  }
23
29
  }
30
+ /**
31
+ * Returns true if the given string is a valid SPO/ODB or ODC URL.
32
+ *
33
+ * @internal
34
+ */
24
35
  export const isOdspUrl = (url) => {
25
36
  return isSpoUrl(url) || isOdcUrl(url);
26
37
  };
27
- //# sourceMappingURL=urlResolver.js.map
38
+ //# sourceMappingURL=urlResolver.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urlResolver.mjs","sourceRoot":"","sources":["../src/urlResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAII,EACN,aAAa,EACb,qBAAqB,EACrB,QAAQ,EACR,QAAQ,EACR,eAAe,GACf,MAAM,6BAA6B;AAEpC;;GAEG;AACH,MAAM,OAAO,eAAe;IACpB,KAAK,CAAC,OAAO,CAAC,OAAiB;QACrC,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC3B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,QAAQ,EAAE;gBACd,OAAO,SAAS,CAAC;aACjB;YACD,MAAM,eAAe,GAAG,aAAa,CAAC,EAAE,GAAG,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1E,MAAM,qBAAqB,GAAiB,IAAI,qBAAqB,EAAE,CAAC;YACxE,OAAO,qBAAqB,CAAC,OAAO,CAAC;gBACpC,GAAG,EAAE,eAAe;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;aACxB,CAAC,CAAC;SACH;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,WAAyB,EAAE,WAAmB;QACzE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;CACD;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAW,EAAW,EAAE;IACjD,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IRequest } from \"@fluidframework/core-interfaces\";\nimport { IResolvedUrl, IUrlResolver } from \"@fluidframework/driver-definitions\";\nimport {\n\tcreateOdspUrl,\n\tOdspDriverUrlResolver,\n\tisSpoUrl,\n\tisOdcUrl,\n\tgetOdspUrlParts,\n} from \"@fluidframework/odsp-driver\";\n\n/**\n * @internal\n */\nexport class OdspUrlResolver implements IUrlResolver {\n\tpublic async resolve(request: IRequest): Promise<IResolvedUrl | undefined> {\n\t\tif (isOdspUrl(request.url)) {\n\t\t\tconst reqUrl = new URL(request.url);\n\t\t\tconst contents = await getOdspUrlParts(reqUrl);\n\t\t\tif (!contents) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tconst urlToBeResolved = createOdspUrl({ ...contents, dataStorePath: \"\" });\n\t\t\tconst odspDriverUrlResolver: IUrlResolver = new OdspDriverUrlResolver();\n\t\t\treturn odspDriverUrlResolver.resolve({\n\t\t\t\turl: urlToBeResolved,\n\t\t\t\theaders: request.headers,\n\t\t\t});\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tpublic async getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string> {\n\t\tthrow new Error(\"Not implemented\");\n\t}\n}\n\n/**\n * Returns true if the given string is a valid SPO/ODB or ODC URL.\n *\n * @internal\n */\nexport const isOdspUrl = (url: string): boolean => {\n\treturn isSpoUrl(url) || isOdcUrl(url);\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/odsp-urlresolver",
3
- "version": "1.4.0-121020",
3
+ "version": "2.0.0-dev-rc.1.0.0.225277",
4
4
  "description": "Url Resolver for odsp urls.",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -11,56 +11,131 @@
11
11
  "license": "MIT",
12
12
  "author": "Microsoft and contributors",
13
13
  "sideEffects": false,
14
- "main": "dist/index.js",
15
- "module": "lib/index.js",
16
- "types": "dist/index.d.ts",
17
- "scripts": {
18
- "build": "npm run build:genver && concurrently npm:build:compile npm:lint",
19
- "build:commonjs": "npm run tsc && npm run typetests:gen && npm run build:test",
20
- "build:compile": "concurrently npm:build:commonjs npm:build:esnext",
21
- "build:esnext": "tsc --project ./tsconfig.esnext.json",
22
- "build:full": "npm run build",
23
- "build:full:compile": "npm run build:compile",
24
- "build:genver": "gen-version",
25
- "build:test": "tsc --project ./src/test/tsconfig.json",
26
- "clean": "rimraf dist lib *.tsbuildinfo *.build.log",
27
- "eslint": "eslint --format stylish src",
28
- "eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
29
- "lint": "npm run eslint",
30
- "lint:fix": "npm run eslint:fix",
31
- "test": "npm run test:mocha",
32
- "test:mocha": "mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict",
33
- "test:mocha:verbose": "cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha",
34
- "tsc": "tsc",
35
- "typetests:gen": "flub generate typetests --generate --dir . --no-generateInName",
36
- "typetests:prepare": "flub generate typetests --prepare --dir . --pin"
14
+ "exports": {
15
+ ".": {
16
+ "import": {
17
+ "types": "./lib/index.d.mts",
18
+ "default": "./lib/index.mjs"
19
+ },
20
+ "require": {
21
+ "types": "./dist/index.d.ts",
22
+ "default": "./dist/index.cjs"
23
+ }
24
+ },
25
+ "./alpha": {
26
+ "import": {
27
+ "types": "./lib/odsp-urlresolver-alpha.d.mts",
28
+ "default": "./lib/index.mjs"
29
+ },
30
+ "require": {
31
+ "types": "./dist/odsp-urlresolver-alpha.d.ts",
32
+ "default": "./dist/index.cjs"
33
+ }
34
+ },
35
+ "./beta": {
36
+ "import": {
37
+ "types": "./lib/odsp-urlresolver-beta.d.mts",
38
+ "default": "./lib/index.mjs"
39
+ },
40
+ "require": {
41
+ "types": "./dist/odsp-urlresolver-beta.d.ts",
42
+ "default": "./dist/index.cjs"
43
+ }
44
+ },
45
+ "./internal": {
46
+ "import": {
47
+ "types": "./lib/index.d.mts",
48
+ "default": "./lib/index.mjs"
49
+ },
50
+ "require": {
51
+ "types": "./dist/index.d.ts",
52
+ "default": "./dist/index.cjs"
53
+ }
54
+ },
55
+ "./public": {
56
+ "import": {
57
+ "types": "./lib/odsp-urlresolver-public.d.mts",
58
+ "default": "./lib/index.mjs"
59
+ },
60
+ "require": {
61
+ "types": "./dist/odsp-urlresolver-public.d.ts",
62
+ "default": "./dist/index.cjs"
63
+ }
64
+ }
37
65
  },
66
+ "main": "dist/index.cjs",
67
+ "module": "lib/index.mjs",
68
+ "types": "dist/index.d.ts",
38
69
  "dependencies": {
39
- "@fluidframework/core-interfaces": "1.4.0-121020",
40
- "@fluidframework/driver-definitions": "1.4.0-121020",
41
- "@fluidframework/odsp-driver": "1.4.0-121020",
42
- "@fluidframework/odsp-driver-definitions": "1.4.0-121020"
70
+ "@fluidframework/core-interfaces": "2.0.0-dev-rc.1.0.0.225277",
71
+ "@fluidframework/driver-definitions": "2.0.0-dev-rc.1.0.0.225277",
72
+ "@fluidframework/odsp-driver": "2.0.0-dev-rc.1.0.0.225277",
73
+ "@fluidframework/odsp-driver-definitions": "2.0.0-dev-rc.1.0.0.225277"
43
74
  },
44
75
  "devDependencies": {
45
- "@fluidframework/build-common": "^0.24.0",
46
- "@fluidframework/build-tools": "^0.6.0-110101",
47
- "@fluidframework/eslint-config-fluid": "^0.28.2000",
48
- "@fluidframework/mocha-test-setup": "1.4.0-121020",
49
- "@fluidframework/odsp-urlresolver-previous": "npm:@fluidframework/odsp-urlresolver@1.3.1",
50
- "@rushstack/eslint-config": "^2.5.1",
76
+ "@arethetypeswrong/cli": "^0.13.3",
77
+ "@fluid-tools/build-cli": "0.29.0-222379",
78
+ "@fluidframework/build-common": "^2.0.3",
79
+ "@fluidframework/build-tools": "0.29.0-222379",
80
+ "@fluidframework/eslint-config-fluid": "^3.1.0",
81
+ "@fluidframework/mocha-test-setup": "2.0.0-dev-rc.1.0.0.225277",
82
+ "@fluidframework/odsp-urlresolver-previous": "npm:@fluidframework/odsp-urlresolver@2.0.0-internal.8.0.0",
83
+ "@microsoft/api-extractor": "^7.38.3",
51
84
  "@types/mocha": "^9.1.1",
52
- "concurrently": "^6.2.0",
53
- "cross-env": "^7.0.2",
54
- "eslint": "~8.6.0",
55
- "mocha": "^10.0.0",
56
- "rimraf": "^2.6.2",
57
- "typescript": "~4.5.5",
58
- "typescript-formatter": "7.1.0"
85
+ "@types/node": "^18.19.0",
86
+ "copyfiles": "^2.4.1",
87
+ "cross-env": "^7.0.3",
88
+ "eslint": "~8.50.0",
89
+ "mocha": "^10.2.0",
90
+ "mocha-json-output-reporter": "^2.0.1",
91
+ "mocha-multi-reporters": "^1.5.1",
92
+ "moment": "^2.21.0",
93
+ "prettier": "~3.0.3",
94
+ "rimraf": "^4.4.0",
95
+ "tsc-multi": "^1.1.0",
96
+ "typescript": "~5.1.6"
97
+ },
98
+ "fluidBuild": {
99
+ "tasks": {
100
+ "build:docs": {
101
+ "dependsOn": [
102
+ "...",
103
+ "api-extractor:commonjs",
104
+ "api-extractor:esnext"
105
+ ],
106
+ "script": false
107
+ }
108
+ }
59
109
  },
60
110
  "typeValidation": {
61
- "version": "1.4.0",
62
- "baselineRange": "~1.3.0",
63
- "baselineVersion": "1.3.1",
64
111
  "broken": {}
112
+ },
113
+ "scripts": {
114
+ "api": "fluid-build . --task api",
115
+ "api-extractor:commonjs": "api-extractor run --local",
116
+ "api-extractor:esnext": "api-extractor run --config ./api-extractor-esm.json",
117
+ "build": "fluid-build . --task build",
118
+ "build:commonjs": "fluid-build . --task commonjs",
119
+ "build:compile": "fluid-build . --task compile",
120
+ "build:docs": "fluid-build . --task api",
121
+ "build:esnext": "tsc-multi --config ../../../common/build/build-common/tsc-multi.esm.json",
122
+ "build:test": "tsc-multi --config ./tsc-multi.test.json",
123
+ "check:are-the-types-wrong": "attw --pack . --entrypoints .",
124
+ "check:release-tags": "api-extractor run --local --config ./api-extractor-lint.json",
125
+ "ci:build:docs": "api-extractor run",
126
+ "clean": "rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc",
127
+ "eslint": "eslint --format stylish src",
128
+ "eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
129
+ "format": "npm run prettier:fix",
130
+ "lint": "npm run prettier && npm run check:release-tags && npm run eslint",
131
+ "lint:fix": "npm run prettier:fix && npm run eslint:fix",
132
+ "prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore",
133
+ "prettier:fix": "prettier --write . --cache --ignore-path ../../../.prettierignore",
134
+ "test": "npm run test:mocha",
135
+ "test:mocha": "mocha --ignore \"dist/test/types/*\" --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup",
136
+ "test:mocha:verbose": "cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha",
137
+ "tsc": "tsc-multi --config ../../../common/build/build-common/tsc-multi.cjs.json",
138
+ "typetests:gen": "fluid-type-test-generator",
139
+ "typetests:prepare": "flub typetests --dir . --reset --previous --normalize"
65
140
  }
66
- }
141
+ }
@@ -2,5 +2,7 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- export * from "./urlResolver";
6
- //# sourceMappingURL=index.d.ts.map
5
+
6
+ module.exports = {
7
+ ...require("@fluidframework/build-common/prettier.config.cjs"),
8
+ };
package/src/index.ts CHANGED
@@ -3,4 +3,4 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- export * from "./urlResolver";
6
+ export { isOdspUrl, OdspUrlResolver } from "./urlResolver";
@@ -6,36 +6,44 @@
6
6
  import { IRequest } from "@fluidframework/core-interfaces";
7
7
  import { IResolvedUrl, IUrlResolver } from "@fluidframework/driver-definitions";
8
8
  import {
9
- createOdspUrl,
10
- OdspDriverUrlResolver,
11
- isSpoUrl,
12
- isOdcUrl,
13
- getOdspUrlParts,
9
+ createOdspUrl,
10
+ OdspDriverUrlResolver,
11
+ isSpoUrl,
12
+ isOdcUrl,
13
+ getOdspUrlParts,
14
14
  } from "@fluidframework/odsp-driver";
15
15
 
16
+ /**
17
+ * @internal
18
+ */
16
19
  export class OdspUrlResolver implements IUrlResolver {
17
- public async resolve(request: IRequest): Promise<IResolvedUrl | undefined> {
18
- if (isOdspUrl(request.url)) {
19
- const reqUrl = new URL(request.url);
20
- const contents = await getOdspUrlParts(reqUrl);
21
- if (!contents) {
22
- return undefined;
23
- }
24
- const urlToBeResolved = createOdspUrl({ ...contents, dataStorePath: "" });
25
- const odspDriverUrlResolver: IUrlResolver = new OdspDriverUrlResolver();
26
- return odspDriverUrlResolver.resolve({ url: urlToBeResolved, headers: request.headers });
27
- }
28
- return undefined;
29
- }
20
+ public async resolve(request: IRequest): Promise<IResolvedUrl | undefined> {
21
+ if (isOdspUrl(request.url)) {
22
+ const reqUrl = new URL(request.url);
23
+ const contents = await getOdspUrlParts(reqUrl);
24
+ if (!contents) {
25
+ return undefined;
26
+ }
27
+ const urlToBeResolved = createOdspUrl({ ...contents, dataStorePath: "" });
28
+ const odspDriverUrlResolver: IUrlResolver = new OdspDriverUrlResolver();
29
+ return odspDriverUrlResolver.resolve({
30
+ url: urlToBeResolved,
31
+ headers: request.headers,
32
+ });
33
+ }
34
+ return undefined;
35
+ }
30
36
 
31
- public async getAbsoluteUrl(
32
- resolvedUrl: IResolvedUrl,
33
- relativeUrl: string,
34
- ): Promise<string> {
35
- throw new Error("Not implemented");
36
- }
37
+ public async getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string> {
38
+ throw new Error("Not implemented");
39
+ }
37
40
  }
38
41
 
39
- export const isOdspUrl = (url: string) => {
40
- return isSpoUrl(url) || isOdcUrl(url);
42
+ /**
43
+ * Returns true if the given string is a valid SPO/ODB or ODC URL.
44
+ *
45
+ * @internal
46
+ */
47
+ export const isOdspUrl = (url: string): boolean => {
48
+ return isSpoUrl(url) || isOdcUrl(url);
41
49
  };
@@ -0,0 +1,4 @@
1
+ {
2
+ "targets": [{ "extname": ".cjs", "module": "CommonJS", "moduleResolution": "Node10" }],
3
+ "projects": ["./tsconfig.json", "./src/test/tsconfig.json"]
4
+ }
package/tsconfig.json CHANGED
@@ -1,14 +1,12 @@
1
1
  {
2
- "extends": "@fluidframework/build-common/ts-common-config.json",
3
- "exclude": [
4
- "src/test/**/*"
5
- ],
6
- "compilerOptions": {
7
- "rootDir": "./src",
8
- "outDir": "./dist",
9
- "composite": true
10
- },
11
- "include": [
12
- "src/**/*"
13
- ]
14
- }
2
+ "extends": [
3
+ "../../../common/build/build-common/tsconfig.base.json",
4
+ "../../../common/build/build-common/tsconfig.cjs.json",
5
+ ],
6
+ "include": ["src/**/*"],
7
+ "exclude": ["src/test/**/*"],
8
+ "compilerOptions": {
9
+ "rootDir": "./src",
10
+ "outDir": "./dist",
11
+ },
12
+ }
package/dist/index.js DELETED
@@ -1,18 +0,0 @@
1
- "use strict";
2
- /*!
3
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
4
- * Licensed under the MIT License.
5
- */
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./urlResolver"), exports);
18
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;AAEH,gDAA8B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport * from \"./urlResolver\";\n"]}
@@ -1,9 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- *
5
- * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
6
- */
7
- export declare const pkgName = "@fluidframework/odsp-urlresolver";
8
- export declare const pkgVersion = "1.4.0-121020";
9
- //# sourceMappingURL=packageVersion.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"packageVersion.d.ts","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,OAAO,qCAAqC,CAAC;AAC1D,eAAO,MAAM,UAAU,iBAAiB,CAAC"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- /*!
3
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
4
- * Licensed under the MIT License.
5
- *
6
- * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.pkgVersion = exports.pkgName = void 0;
10
- exports.pkgName = "@fluidframework/odsp-urlresolver";
11
- exports.pkgVersion = "1.4.0-121020";
12
- //# sourceMappingURL=packageVersion.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEU,QAAA,OAAO,GAAG,kCAAkC,CAAC;AAC7C,QAAA,UAAU,GAAG,cAAc,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/odsp-urlresolver\";\nexport const pkgVersion = \"1.4.0-121020\";\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"urlResolver.js","sourceRoot":"","sources":["../src/urlResolver.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIH,6DAMqC;AAErC,MAAa,eAAe;IACjB,KAAK,CAAC,OAAO,CAAC,OAAiB;QAClC,IAAI,IAAA,iBAAS,EAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACxB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAe,EAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,QAAQ,EAAE;gBACX,OAAO,SAAS,CAAC;aACpB;YACD,MAAM,eAAe,GAAG,IAAA,2BAAa,kCAAM,QAAQ,KAAE,aAAa,EAAE,EAAE,IAAG,CAAC;YAC1E,MAAM,qBAAqB,GAAiB,IAAI,mCAAqB,EAAE,CAAC;YACxE,OAAO,qBAAqB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;SAC5F;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,cAAc,CACvB,WAAyB,EACzB,WAAmB;QAEnB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;CACJ;AArBD,0CAqBC;AAEM,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE;IACrC,OAAO,IAAA,sBAAQ,EAAC,GAAG,CAAC,IAAI,IAAA,sBAAQ,EAAC,GAAG,CAAC,CAAC;AAC1C,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IRequest } from \"@fluidframework/core-interfaces\";\nimport { IResolvedUrl, IUrlResolver } from \"@fluidframework/driver-definitions\";\nimport {\n createOdspUrl,\n OdspDriverUrlResolver,\n isSpoUrl,\n isOdcUrl,\n getOdspUrlParts,\n} from \"@fluidframework/odsp-driver\";\n\nexport class OdspUrlResolver implements IUrlResolver {\n public async resolve(request: IRequest): Promise<IResolvedUrl | undefined> {\n if (isOdspUrl(request.url)) {\n const reqUrl = new URL(request.url);\n const contents = await getOdspUrlParts(reqUrl);\n if (!contents) {\n return undefined;\n }\n const urlToBeResolved = createOdspUrl({ ...contents, dataStorePath: \"\" });\n const odspDriverUrlResolver: IUrlResolver = new OdspDriverUrlResolver();\n return odspDriverUrlResolver.resolve({ url: urlToBeResolved, headers: request.headers });\n }\n return undefined;\n }\n\n public async getAbsoluteUrl(\n resolvedUrl: IResolvedUrl,\n relativeUrl: string,\n ): Promise<string> {\n throw new Error(\"Not implemented\");\n }\n}\n\nexport const isOdspUrl = (url: string) => {\n return isSpoUrl(url) || isOdcUrl(url);\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,eAAe,CAAC"}
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,eAAe,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport * from \"./urlResolver\";\n"]}
@@ -1,9 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- *
5
- * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
6
- */
7
- export declare const pkgName = "@fluidframework/odsp-urlresolver";
8
- export declare const pkgVersion = "1.4.0-121020";
9
- //# sourceMappingURL=packageVersion.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"packageVersion.d.ts","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,OAAO,qCAAqC,CAAC;AAC1D,eAAO,MAAM,UAAU,iBAAiB,CAAC"}
@@ -1,9 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- *
5
- * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
6
- */
7
- export const pkgName = "@fluidframework/odsp-urlresolver";
8
- export const pkgVersion = "1.4.0-121020";
9
- //# sourceMappingURL=packageVersion.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,kCAAkC,CAAC;AAC1D,MAAM,CAAC,MAAM,UAAU,GAAG,cAAc,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/odsp-urlresolver\";\nexport const pkgVersion = \"1.4.0-121020\";\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"urlResolver.d.ts","sourceRoot":"","sources":["../src/urlResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAShF,qBAAa,eAAgB,YAAW,YAAY;IACnC,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAc7D,cAAc,CACvB,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC;CAGrB;AAED,eAAO,MAAM,SAAS,QAAS,MAAM,YAEpC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"urlResolver.js","sourceRoot":"","sources":["../src/urlResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EACH,aAAa,EACb,qBAAqB,EACrB,QAAQ,EACR,QAAQ,EACR,eAAe,GAClB,MAAM,6BAA6B,CAAC;AAErC,MAAM,OAAO,eAAe;IACjB,KAAK,CAAC,OAAO,CAAC,OAAiB;QAClC,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACxB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,QAAQ,EAAE;gBACX,OAAO,SAAS,CAAC;aACpB;YACD,MAAM,eAAe,GAAG,aAAa,iCAAM,QAAQ,KAAE,aAAa,EAAE,EAAE,IAAG,CAAC;YAC1E,MAAM,qBAAqB,GAAiB,IAAI,qBAAqB,EAAE,CAAC;YACxE,OAAO,qBAAqB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;SAC5F;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,cAAc,CACvB,WAAyB,EACzB,WAAmB;QAEnB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE;IACrC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IRequest } from \"@fluidframework/core-interfaces\";\nimport { IResolvedUrl, IUrlResolver } from \"@fluidframework/driver-definitions\";\nimport {\n createOdspUrl,\n OdspDriverUrlResolver,\n isSpoUrl,\n isOdcUrl,\n getOdspUrlParts,\n} from \"@fluidframework/odsp-driver\";\n\nexport class OdspUrlResolver implements IUrlResolver {\n public async resolve(request: IRequest): Promise<IResolvedUrl | undefined> {\n if (isOdspUrl(request.url)) {\n const reqUrl = new URL(request.url);\n const contents = await getOdspUrlParts(reqUrl);\n if (!contents) {\n return undefined;\n }\n const urlToBeResolved = createOdspUrl({ ...contents, dataStorePath: \"\" });\n const odspDriverUrlResolver: IUrlResolver = new OdspDriverUrlResolver();\n return odspDriverUrlResolver.resolve({ url: urlToBeResolved, headers: request.headers });\n }\n return undefined;\n }\n\n public async getAbsoluteUrl(\n resolvedUrl: IResolvedUrl,\n relativeUrl: string,\n ): Promise<string> {\n throw new Error(\"Not implemented\");\n }\n}\n\nexport const isOdspUrl = (url: string) => {\n return isSpoUrl(url) || isOdcUrl(url);\n};\n"]}
@@ -1,9 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- *
5
- * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
6
- */
7
-
8
- export const pkgName = "@fluidframework/odsp-urlresolver";
9
- export const pkgVersion = "1.4.0-121020";
@@ -1,7 +0,0 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "compilerOptions": {
4
- "outDir": "./lib",
5
- "module": "esnext"
6
- },
7
- }