@xyo-network/url-plugin 2.73.2 → 2.73.4

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 (71) hide show
  1. package/dist/docs.json +33 -33
  2. package/dist/index.d.mts +80 -0
  3. package/dist/index.d.ts +80 -0
  4. package/dist/index.js +149 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/index.mjs +110 -0
  7. package/dist/index.mjs.map +1 -0
  8. package/package.json +33 -20
  9. package/src/util/hashFile.ts +2 -2
  10. package/src/util/hashHttpUrl.ts +2 -2
  11. package/tsup.config.ts +16 -0
  12. package/dist/cjs/Plugin.js +0 -16
  13. package/dist/cjs/Plugin.js.map +0 -1
  14. package/dist/cjs/Witness/Config.js +0 -6
  15. package/dist/cjs/Witness/Config.js.map +0 -1
  16. package/dist/cjs/Witness/Params.js +0 -3
  17. package/dist/cjs/Witness/Params.js.map +0 -1
  18. package/dist/cjs/Witness/Witness.js +0 -33
  19. package/dist/cjs/Witness/Witness.js.map +0 -1
  20. package/dist/cjs/Witness/index.js +0 -7
  21. package/dist/cjs/Witness/index.js.map +0 -1
  22. package/dist/cjs/index.js +0 -10
  23. package/dist/cjs/index.js.map +0 -1
  24. package/dist/cjs/util/hashFile.js +0 -25
  25. package/dist/cjs/util/hashFile.js.map +0 -1
  26. package/dist/cjs/util/hashHttpUrl.js +0 -28
  27. package/dist/cjs/util/hashHttpUrl.js.map +0 -1
  28. package/dist/cjs/util/hashUrl.js +0 -20
  29. package/dist/cjs/util/hashUrl.js.map +0 -1
  30. package/dist/cjs/util/index.js +0 -5
  31. package/dist/cjs/util/index.js.map +0 -1
  32. package/dist/esm/Plugin.js +0 -11
  33. package/dist/esm/Plugin.js.map +0 -1
  34. package/dist/esm/Witness/Config.js +0 -3
  35. package/dist/esm/Witness/Config.js.map +0 -1
  36. package/dist/esm/Witness/Params.js +0 -2
  37. package/dist/esm/Witness/Params.js.map +0 -1
  38. package/dist/esm/Witness/Witness.js +0 -25
  39. package/dist/esm/Witness/Witness.js.map +0 -1
  40. package/dist/esm/Witness/index.js +0 -4
  41. package/dist/esm/Witness/index.js.map +0 -1
  42. package/dist/esm/index.js +0 -6
  43. package/dist/esm/index.js.map +0 -1
  44. package/dist/esm/util/hashFile.js +0 -21
  45. package/dist/esm/util/hashFile.js.map +0 -1
  46. package/dist/esm/util/hashHttpUrl.js +0 -23
  47. package/dist/esm/util/hashHttpUrl.js.map +0 -1
  48. package/dist/esm/util/hashUrl.js +0 -15
  49. package/dist/esm/util/hashUrl.js.map +0 -1
  50. package/dist/esm/util/index.js +0 -2
  51. package/dist/esm/util/index.js.map +0 -1
  52. package/dist/types/Plugin.d.ts +0 -55
  53. package/dist/types/Plugin.d.ts.map +0 -1
  54. package/dist/types/Witness/Config.d.ts +0 -8
  55. package/dist/types/Witness/Config.d.ts.map +0 -1
  56. package/dist/types/Witness/Params.d.ts +0 -5
  57. package/dist/types/Witness/Params.d.ts.map +0 -1
  58. package/dist/types/Witness/Witness.d.ts +0 -9
  59. package/dist/types/Witness/Witness.d.ts.map +0 -1
  60. package/dist/types/Witness/index.d.ts +0 -4
  61. package/dist/types/Witness/index.d.ts.map +0 -1
  62. package/dist/types/index.d.ts +0 -5
  63. package/dist/types/index.d.ts.map +0 -1
  64. package/dist/types/util/hashFile.d.ts +0 -2
  65. package/dist/types/util/hashFile.d.ts.map +0 -1
  66. package/dist/types/util/hashHttpUrl.d.ts +0 -2
  67. package/dist/types/util/hashHttpUrl.d.ts.map +0 -1
  68. package/dist/types/util/hashUrl.d.ts +0 -2
  69. package/dist/types/util/hashUrl.d.ts.map +0 -1
  70. package/dist/types/util/index.d.ts +0 -2
  71. package/dist/types/util/index.d.ts.map +0 -1
package/dist/index.mjs ADDED
@@ -0,0 +1,110 @@
1
+ // src/Plugin.ts
2
+ import { PayloadSetSchema } from "@xyo-network/payload-model";
3
+ import { createPayloadSetWitnessPlugin } from "@xyo-network/payloadset-plugin";
4
+ import { UrlSchema as UrlSchema3 } from "@xyo-network/url-payload-plugin";
5
+
6
+ // src/Witness/Config.ts
7
+ import { UrlSchema } from "@xyo-network/url-payload-plugin";
8
+ var UrlWitnessConfigSchema = `${UrlSchema}.witness.config`;
9
+
10
+ // src/Witness/Witness.ts
11
+ import { UrlSchema as UrlSchema2 } from "@xyo-network/url-payload-plugin";
12
+ import { AbstractWitness } from "@xyo-network/witness";
13
+
14
+ // src/util/hashFile.ts
15
+ import crypto from "crypto";
16
+ import { createReadStream } from "fs";
17
+ import { fileURLToPath } from "url";
18
+ var hashFile = (url) => {
19
+ const path = url.startsWith("file://") ? fileURLToPath(url) : url;
20
+ const ret = new Promise((resolve, reject) => {
21
+ const hash = crypto.createHash("sha256");
22
+ const stream = createReadStream(path);
23
+ stream.on("data", (data) => {
24
+ hash.update(data);
25
+ });
26
+ stream.on("end", () => {
27
+ resolve(hash.digest("hex"));
28
+ });
29
+ stream.on("error", (err) => {
30
+ reject(err);
31
+ });
32
+ });
33
+ return ret;
34
+ };
35
+
36
+ // src/util/hashHttpUrl.ts
37
+ import crypto2 from "crypto";
38
+ import http from "http";
39
+ import https from "https";
40
+ var hashHttpUrl = (url) => {
41
+ const ret = new Promise((resolve, reject) => {
42
+ const hash = crypto2.createHash("sha256");
43
+ const lib = url.startsWith("https") ? https : http;
44
+ lib.get(url, (res) => {
45
+ res.on("data", (data) => {
46
+ hash.update(data);
47
+ });
48
+ res.on("end", () => {
49
+ resolve(hash.digest("hex"));
50
+ });
51
+ }).on("error", (err) => {
52
+ reject(err);
53
+ });
54
+ });
55
+ return ret;
56
+ };
57
+
58
+ // src/util/hashUrl.ts
59
+ var hashUrl = (url) => {
60
+ const scheme = url.split("://")[0]?.toLowerCase();
61
+ switch (scheme) {
62
+ case "file":
63
+ return hashFile(url);
64
+ case "http":
65
+ case "https":
66
+ return hashHttpUrl(url);
67
+ default:
68
+ throw new Error(`Unsupported URL scheme: ${scheme}`);
69
+ }
70
+ };
71
+
72
+ // src/Witness/Witness.ts
73
+ var UrlWitness = class extends AbstractWitness {
74
+ static configSchemas = [UrlWitnessConfigSchema];
75
+ get urls() {
76
+ return this.config?.urls;
77
+ }
78
+ async observeHandler(payloads = []) {
79
+ const urls = this.urls?.map((url) => ({ schema: UrlSchema2, url })) ?? payloads.filter((p) => p.schema === UrlSchema2).map((p) => {
80
+ return { schema: UrlSchema2, url: p.url };
81
+ });
82
+ const hashed = await Promise.all(
83
+ urls.map(async (url) => {
84
+ return { ...url, hash: await hashUrl(url.url) };
85
+ })
86
+ );
87
+ return hashed;
88
+ }
89
+ };
90
+
91
+ // src/Plugin.ts
92
+ var UrlPlugin = () => createPayloadSetWitnessPlugin(
93
+ { required: { [UrlSchema3]: 1 }, schema: PayloadSetSchema },
94
+ {
95
+ witness: async (params) => {
96
+ const result = await UrlWitness.create(params);
97
+ return result;
98
+ }
99
+ }
100
+ );
101
+
102
+ // src/index.ts
103
+ var src_default = UrlPlugin;
104
+ export {
105
+ UrlPlugin,
106
+ UrlWitness,
107
+ UrlWitnessConfigSchema,
108
+ src_default as default
109
+ };
110
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Plugin.ts","../src/Witness/Config.ts","../src/Witness/Witness.ts","../src/util/hashFile.ts","../src/util/hashHttpUrl.ts","../src/util/hashUrl.ts","../src/index.ts"],"sourcesContent":["import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\nimport { UrlSchema } from '@xyo-network/url-payload-plugin'\n\nimport { UrlWitness } from './Witness'\n\nexport const UrlPlugin = () =>\n createPayloadSetWitnessPlugin<UrlWitness>(\n { required: { [UrlSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await UrlWitness.create(params)\n return result\n },\n },\n )\n","import { UrlSchema } from '@xyo-network/url-payload-plugin'\nimport { WitnessConfig } from '@xyo-network/witness'\n\nexport const UrlWitnessConfigSchema = `${UrlSchema}.witness.config` as const\nexport type UrlWitnessConfigSchema = typeof UrlWitnessConfigSchema\n\nexport type UrlWitnessConfig = WitnessConfig<{\n schema: UrlWitnessConfigSchema\n urls?: string[]\n}>\n","import { Payload } from '@xyo-network/payload-model'\nimport { UrlPayload, UrlSchema } from '@xyo-network/url-payload-plugin'\nimport { AbstractWitness } from '@xyo-network/witness'\n\nimport { hashUrl } from '../util'\nimport { UrlWitnessConfigSchema } from './Config'\nimport { UrlWitnessParams } from './Params'\n\nexport class UrlWitness<TParams extends UrlWitnessParams = UrlWitnessParams> extends AbstractWitness<TParams> {\n static override configSchemas = [UrlWitnessConfigSchema]\n\n get urls() {\n return this.config?.urls\n }\n\n protected override async observeHandler(payloads: Payload[] = []): Promise<Payload[]> {\n const urls: UrlPayload[] =\n this.urls?.map((url) => ({ schema: UrlSchema, url })) ??\n payloads\n .filter((p): p is UrlPayload => p.schema === UrlSchema)\n .map((p) => {\n return { schema: UrlSchema, url: p.url }\n })\n const hashed = await Promise.all(\n urls.map(async (url) => {\n // TODO: Different schema for hashed url\n return { ...url, hash: await hashUrl(url.url) }\n }),\n )\n // TODO: Handle partial success\n return hashed\n }\n}\n","import crypto from 'crypto'\nimport { createReadStream } from 'fs'\nimport { fileURLToPath } from 'url'\n\nexport const hashFile = (url: string): Promise<string> => {\n const path = url.startsWith('file://') ? fileURLToPath(url) : url\n const ret = new Promise<string>((resolve, reject) => {\n const hash = crypto.createHash('sha256')\n const stream = createReadStream(path)\n stream.on('data', (data) => {\n hash.update(data)\n })\n stream.on('end', () => {\n resolve(hash.digest('hex'))\n })\n stream.on('error', (err) => {\n reject(err)\n })\n })\n return ret\n}\n","import crypto from 'crypto'\nimport http from 'http'\nimport https from 'https'\n\nexport const hashHttpUrl = (url: string): Promise<string> => {\n const ret = new Promise<string>((resolve, reject) => {\n const hash = crypto.createHash('sha256')\n const lib = url.startsWith('https') ? https : http\n lib\n .get(url, (res) => {\n res.on('data', (data) => {\n hash.update(data)\n })\n res.on('end', () => {\n resolve(hash.digest('hex'))\n })\n })\n .on('error', (err) => {\n reject(err)\n })\n })\n return ret\n}\n","import { hashFile } from './hashFile'\nimport { hashHttpUrl } from './hashHttpUrl'\n\nexport const hashUrl = (url: string): Promise<string> => {\n const scheme = url.split('://')[0]?.toLowerCase()\n switch (scheme) {\n case 'file':\n return hashFile(url)\n case 'http':\n case 'https':\n return hashHttpUrl(url)\n default:\n throw new Error(`Unsupported URL scheme: ${scheme}`)\n }\n}\n","import { UrlPlugin } from './Plugin'\n\nexport * from './Witness'\n\nexport { UrlPlugin }\n\n// eslint-disable-next-line import/no-default-export\nexport default UrlPlugin\n"],"mappings":"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","names":["UrlSchema","UrlSchema","crypto","UrlSchema","UrlSchema"]}
package/package.json CHANGED
@@ -10,39 +10,53 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xyo-network/module": "~2.73.2",
14
- "@xyo-network/payload-model": "~2.73.2",
15
- "@xyo-network/payloadset-plugin": "~2.73.2",
16
- "@xyo-network/url-payload-plugin": "~2.73.2",
17
- "@xyo-network/witness": "~2.73.2"
13
+ "@xyo-network/module": "~2.73.4",
14
+ "@xyo-network/payload-model": "~2.73.4",
15
+ "@xyo-network/payloadset-plugin": "~2.73.4",
16
+ "@xyo-network/url-payload-plugin": "~2.73.4",
17
+ "@xyo-network/witness": "~2.73.4"
18
18
  },
19
19
  "devDependencies": {
20
- "@xylabs/ts-scripts-yarn3": "^2.19.5",
21
- "@xylabs/tsconfig": "^2.19.5",
20
+ "@xylabs/ts-scripts-yarn3": "^2.19.12",
21
+ "@xylabs/tsconfig": "^2.19.12",
22
+ "publint": "^0.2.2",
23
+ "tsup": "^7.2.0",
22
24
  "typescript": "^5.2.2"
23
25
  },
26
+ "scripts": {
27
+ "package-compile": "tsup && publint",
28
+ "package-recompile": "tsup && publint"
29
+ },
24
30
  "description": "Primary SDK for using XYO Protocol 2.0",
25
- "browser": "dist/esm/index.js",
26
31
  "docs": "dist/docs.json",
32
+ "types": "dist/index.d.ts",
27
33
  "exports": {
28
34
  ".": {
29
- "node": {
30
- "import": "./dist/esm/index.js",
31
- "require": "./dist/cjs/index.js"
32
- },
33
- "browser": {
34
- "import": "./dist/esm/index.js",
35
- "require": "./dist/cjs/index.js"
35
+ "require": {
36
+ "types": "./dist/index.d.ts",
37
+ "default": "./dist/index.js"
36
38
  },
37
- "default": "./dist/esm/index.js"
39
+ "import": {
40
+ "types": "./dist/index.d.mts",
41
+ "default": "./dist/index.mjs"
42
+ }
38
43
  },
39
44
  "./dist/docs.json": {
40
45
  "default": "./dist/docs.json"
41
46
  },
47
+ "./cjs": {
48
+ "default": "./dist/index.js"
49
+ },
50
+ "./docs": {
51
+ "default": "./dist/docs.json"
52
+ },
53
+ "./esm": {
54
+ "default": "./dist/index.mjs"
55
+ },
42
56
  "./package.json": "./package.json"
43
57
  },
44
- "main": "dist/cjs/index.js",
45
- "module": "dist/esm/index.js",
58
+ "main": "dist/index.js",
59
+ "module": "dist/index.mjs",
46
60
  "homepage": "https://xyo.network",
47
61
  "license": "LGPL-3.0",
48
62
  "publishConfig": {
@@ -53,6 +67,5 @@
53
67
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
54
68
  },
55
69
  "sideEffects": false,
56
- "types": "dist/types/index.d.ts",
57
- "version": "2.73.2"
70
+ "version": "2.73.4"
58
71
  }
@@ -1,11 +1,11 @@
1
- import { createHash } from 'crypto'
1
+ import crypto from 'crypto'
2
2
  import { createReadStream } from 'fs'
3
3
  import { fileURLToPath } from 'url'
4
4
 
5
5
  export const hashFile = (url: string): Promise<string> => {
6
6
  const path = url.startsWith('file://') ? fileURLToPath(url) : url
7
7
  const ret = new Promise<string>((resolve, reject) => {
8
- const hash = createHash('sha256')
8
+ const hash = crypto.createHash('sha256')
9
9
  const stream = createReadStream(path)
10
10
  stream.on('data', (data) => {
11
11
  hash.update(data)
@@ -1,10 +1,10 @@
1
- import { createHash } from 'crypto'
1
+ import crypto from 'crypto'
2
2
  import http from 'http'
3
3
  import https from 'https'
4
4
 
5
5
  export const hashHttpUrl = (url: string): Promise<string> => {
6
6
  const ret = new Promise<string>((resolve, reject) => {
7
- const hash = createHash('sha256')
7
+ const hash = crypto.createHash('sha256')
8
8
  const lib = url.startsWith('https') ? https : http
9
9
  lib
10
10
  .get(url, (res) => {
package/tsup.config.ts ADDED
@@ -0,0 +1,16 @@
1
+ import { defineConfig } from 'tsup'
2
+
3
+ // eslint-disable-next-line import/no-default-export
4
+ export default defineConfig({
5
+ bundle: true,
6
+ cjsInterop: true,
7
+ clean: false,
8
+ dts: {
9
+ entry: ['src/index.ts'],
10
+ },
11
+ entry: ['src/index.ts'],
12
+ format: ['cjs', 'esm'],
13
+ sourcemap: true,
14
+ splitting: false,
15
+ tsconfig: 'tsconfig.json',
16
+ })
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UrlPlugin = void 0;
4
- const tslib_1 = require("tslib");
5
- const payload_model_1 = require("@xyo-network/payload-model");
6
- const payloadset_plugin_1 = require("@xyo-network/payloadset-plugin");
7
- const url_payload_plugin_1 = require("@xyo-network/url-payload-plugin");
8
- const Witness_1 = require("./Witness");
9
- const UrlPlugin = () => (0, payloadset_plugin_1.createPayloadSetWitnessPlugin)({ required: { [url_payload_plugin_1.UrlSchema]: 1 }, schema: payload_model_1.PayloadSetSchema }, {
10
- witness: (params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
11
- const result = yield Witness_1.UrlWitness.create(params);
12
- return result;
13
- }),
14
- });
15
- exports.UrlPlugin = UrlPlugin;
16
- //# sourceMappingURL=Plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":";;;;AAAA,8DAA6D;AAC7D,sEAA8E;AAC9E,wEAA2D;AAE3D,uCAAsC;AAE/B,MAAM,SAAS,GAAG,GAAG,EAAE,CAC5B,IAAA,iDAA6B,EAC3B,EAAE,QAAQ,EAAE,EAAE,CAAC,8BAAS,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,gCAAgB,EAAE,EAC1D;IACE,OAAO,EAAE,CAAO,MAAM,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,MAAM,oBAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC9C,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;CACF,CACF,CAAA;AATU,QAAA,SAAS,aASnB"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UrlWitnessConfigSchema = void 0;
4
- const url_payload_plugin_1 = require("@xyo-network/url-payload-plugin");
5
- exports.UrlWitnessConfigSchema = `${url_payload_plugin_1.UrlSchema}.witness.config`;
6
- //# sourceMappingURL=Config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../src/Witness/Config.ts"],"names":[],"mappings":";;;AAAA,wEAA2D;AAG9C,QAAA,sBAAsB,GAAG,GAAG,8BAAS,iBAA0B,CAAA"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=Params.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Params.js","sourceRoot":"","sources":["../../../src/Witness/Params.ts"],"names":[],"mappings":""}
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UrlWitness = void 0;
4
- const tslib_1 = require("tslib");
5
- const url_payload_plugin_1 = require("@xyo-network/url-payload-plugin");
6
- const witness_1 = require("@xyo-network/witness");
7
- const util_1 = require("../util");
8
- const Config_1 = require("./Config");
9
- class UrlWitness extends witness_1.AbstractWitness {
10
- get urls() {
11
- var _a;
12
- return (_a = this.config) === null || _a === void 0 ? void 0 : _a.urls;
13
- }
14
- observeHandler(payloads = []) {
15
- var _a, _b;
16
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
17
- const urls = (_b = (_a = this.urls) === null || _a === void 0 ? void 0 : _a.map((url) => ({ schema: url_payload_plugin_1.UrlSchema, url }))) !== null && _b !== void 0 ? _b : payloads
18
- .filter((p) => p.schema === url_payload_plugin_1.UrlSchema)
19
- .map((p) => {
20
- return { schema: url_payload_plugin_1.UrlSchema, url: p.url };
21
- });
22
- const hashed = yield Promise.all(urls.map((url) => tslib_1.__awaiter(this, void 0, void 0, function* () {
23
- // TODO: Different schema for hashed url
24
- return Object.assign(Object.assign({}, url), { hash: yield (0, util_1.hashUrl)(url.url) });
25
- })));
26
- // TODO: Handle partial success
27
- return hashed;
28
- });
29
- }
30
- }
31
- exports.UrlWitness = UrlWitness;
32
- UrlWitness.configSchemas = [Config_1.UrlWitnessConfigSchema];
33
- //# sourceMappingURL=Witness.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Witness.js","sourceRoot":"","sources":["../../../src/Witness/Witness.ts"],"names":[],"mappings":";;;;AACA,wEAAuE;AACvE,kDAAsD;AAEtD,kCAAiC;AACjC,qCAAiD;AAGjD,MAAa,UAAgE,SAAQ,yBAAwB;IAG3G,IAAI,IAAI;;QACN,OAAO,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAA;IAC1B,CAAC;IAEwB,cAAc,CAAC,WAAsB,EAAE;;;YAC9D,MAAM,IAAI,GACR,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,8BAAS,EAAE,GAAG,EAAE,CAAC,CAAC,mCACrD,QAAQ;iBACL,MAAM,CAAC,CAAC,CAAC,EAAmB,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,8BAAS,CAAC;iBACtD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACT,OAAO,EAAE,MAAM,EAAE,8BAAS,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;YAC1C,CAAC,CAAC,CAAA;YACN,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,IAAI,CAAC,GAAG,CAAC,CAAO,GAAG,EAAE,EAAE;gBACrB,wCAAwC;gBACxC,uCAAY,GAAG,KAAE,IAAI,EAAE,MAAM,IAAA,cAAO,EAAC,GAAG,CAAC,GAAG,CAAC,IAAE;YACjD,CAAC,CAAA,CAAC,CACH,CAAA;YACD,+BAA+B;YAC/B,OAAO,MAAM,CAAA;;KACd;;AAvBH,gCAwBC;AAvBiB,wBAAa,GAAG,CAAC,+BAAsB,CAAC,CAAA"}
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./Config"), exports);
5
- tslib_1.__exportStar(require("./Params"), exports);
6
- tslib_1.__exportStar(require("./Witness"), exports);
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Witness/index.ts"],"names":[],"mappings":";;;AAAA,mDAAwB;AACxB,mDAAwB;AACxB,oDAAyB"}
package/dist/cjs/index.js DELETED
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UrlPlugin = void 0;
4
- const tslib_1 = require("tslib");
5
- const Plugin_1 = require("./Plugin");
6
- Object.defineProperty(exports, "UrlPlugin", { enumerable: true, get: function () { return Plugin_1.UrlPlugin; } });
7
- tslib_1.__exportStar(require("./Witness"), exports);
8
- // eslint-disable-next-line import/no-default-export
9
- exports.default = Plugin_1.UrlPlugin;
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,qCAAoC;AAI3B,0FAJA,kBAAS,OAIA;AAFlB,oDAAyB;AAIzB,oDAAoD;AACpD,kBAAe,kBAAS,CAAA"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hashFile = void 0;
4
- const crypto_1 = require("crypto");
5
- const fs_1 = require("fs");
6
- const url_1 = require("url");
7
- const hashFile = (url) => {
8
- const path = url.startsWith('file://') ? (0, url_1.fileURLToPath)(url) : url;
9
- const ret = new Promise((resolve, reject) => {
10
- const hash = (0, crypto_1.createHash)('sha256');
11
- const stream = (0, fs_1.createReadStream)(path);
12
- stream.on('data', (data) => {
13
- hash.update(data);
14
- });
15
- stream.on('end', () => {
16
- resolve(hash.digest('hex'));
17
- });
18
- stream.on('error', (err) => {
19
- reject(err);
20
- });
21
- });
22
- return ret;
23
- };
24
- exports.hashFile = hashFile;
25
- //# sourceMappingURL=hashFile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hashFile.js","sourceRoot":"","sources":["../../../src/util/hashFile.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AACnC,2BAAqC;AACrC,6BAAmC;AAE5B,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAmB,EAAE;IACvD,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAa,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IACjE,MAAM,GAAG,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAClD,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAA;QACjC,MAAM,MAAM,GAAG,IAAA,qBAAgB,EAAC,IAAI,CAAC,CAAA;QACrC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACpB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACzB,MAAM,CAAC,GAAG,CAAC,CAAA;QACb,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAhBY,QAAA,QAAQ,YAgBpB"}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hashHttpUrl = void 0;
4
- const tslib_1 = require("tslib");
5
- const crypto_1 = require("crypto");
6
- const http_1 = tslib_1.__importDefault(require("http"));
7
- const https_1 = tslib_1.__importDefault(require("https"));
8
- const hashHttpUrl = (url) => {
9
- const ret = new Promise((resolve, reject) => {
10
- const hash = (0, crypto_1.createHash)('sha256');
11
- const lib = url.startsWith('https') ? https_1.default : http_1.default;
12
- lib
13
- .get(url, (res) => {
14
- res.on('data', (data) => {
15
- hash.update(data);
16
- });
17
- res.on('end', () => {
18
- resolve(hash.digest('hex'));
19
- });
20
- })
21
- .on('error', (err) => {
22
- reject(err);
23
- });
24
- });
25
- return ret;
26
- };
27
- exports.hashHttpUrl = hashHttpUrl;
28
- //# sourceMappingURL=hashHttpUrl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hashHttpUrl.js","sourceRoot":"","sources":["../../../src/util/hashHttpUrl.ts"],"names":[],"mappings":";;;;AAAA,mCAAmC;AACnC,wDAAuB;AACvB,0DAAyB;AAElB,MAAM,WAAW,GAAG,CAAC,GAAW,EAAmB,EAAE;IAC1D,MAAM,GAAG,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAClD,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAA;QACjC,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,CAAC,CAAC,cAAI,CAAA;QAClD,GAAG;aACA,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;YAChB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACnB,CAAC,CAAC,CAAA;YACF,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC7B,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC;aACD,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACnB,MAAM,CAAC,GAAG,CAAC,CAAA;QACb,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAlBY,QAAA,WAAW,eAkBvB"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hashUrl = void 0;
4
- const hashFile_1 = require("./hashFile");
5
- const hashHttpUrl_1 = require("./hashHttpUrl");
6
- const hashUrl = (url) => {
7
- var _a;
8
- const scheme = (_a = url.split('://')[0]) === null || _a === void 0 ? void 0 : _a.toLowerCase();
9
- switch (scheme) {
10
- case 'file':
11
- return (0, hashFile_1.hashFile)(url);
12
- case 'http':
13
- case 'https':
14
- return (0, hashHttpUrl_1.hashHttpUrl)(url);
15
- default:
16
- throw new Error(`Unsupported URL scheme: ${scheme}`);
17
- }
18
- };
19
- exports.hashUrl = hashUrl;
20
- //# sourceMappingURL=hashUrl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hashUrl.js","sourceRoot":"","sources":["../../../src/util/hashUrl.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AACrC,+CAA2C;AAEpC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAmB,EAAE;;IACtD,MAAM,MAAM,GAAG,MAAA,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,0CAAE,WAAW,EAAE,CAAA;IACjD,QAAQ,MAAM,EAAE;QACd,KAAK,MAAM;YACT,OAAO,IAAA,mBAAQ,EAAC,GAAG,CAAC,CAAA;QACtB,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,OAAO,IAAA,yBAAW,EAAC,GAAG,CAAC,CAAA;QACzB;YACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAA;KACvD;AACH,CAAC,CAAA;AAXY,QAAA,OAAO,WAWnB"}
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./hashUrl"), exports);
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyB"}
@@ -1,11 +0,0 @@
1
- import { PayloadSetSchema } from '@xyo-network/payload-model';
2
- import { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin';
3
- import { UrlSchema } from '@xyo-network/url-payload-plugin';
4
- import { UrlWitness } from './Witness';
5
- export const UrlPlugin = () => createPayloadSetWitnessPlugin({ required: { [UrlSchema]: 1 }, schema: PayloadSetSchema }, {
6
- witness: async (params) => {
7
- const result = await UrlWitness.create(params);
8
- return result;
9
- },
10
- });
11
- //# sourceMappingURL=Plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAA;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAC5B,6BAA6B,CAC3B,EAAE,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAC1D;IACE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC9C,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CACF,CAAA"}
@@ -1,3 +0,0 @@
1
- import { UrlSchema } from '@xyo-network/url-payload-plugin';
2
- export const UrlWitnessConfigSchema = `${UrlSchema}.witness.config`;
3
- //# sourceMappingURL=Config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../src/Witness/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAG3D,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,SAAS,iBAA0B,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Params.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Params.js","sourceRoot":"","sources":["../../../src/Witness/Params.ts"],"names":[],"mappings":""}
@@ -1,25 +0,0 @@
1
- import { UrlSchema } from '@xyo-network/url-payload-plugin';
2
- import { AbstractWitness } from '@xyo-network/witness';
3
- import { hashUrl } from '../util';
4
- import { UrlWitnessConfigSchema } from './Config';
5
- export class UrlWitness extends AbstractWitness {
6
- static configSchemas = [UrlWitnessConfigSchema];
7
- get urls() {
8
- return this.config?.urls;
9
- }
10
- async observeHandler(payloads = []) {
11
- const urls = this.urls?.map((url) => ({ schema: UrlSchema, url })) ??
12
- payloads
13
- .filter((p) => p.schema === UrlSchema)
14
- .map((p) => {
15
- return { schema: UrlSchema, url: p.url };
16
- });
17
- const hashed = await Promise.all(urls.map(async (url) => {
18
- // TODO: Different schema for hashed url
19
- return { ...url, hash: await hashUrl(url.url) };
20
- }));
21
- // TODO: Handle partial success
22
- return hashed;
23
- }
24
- }
25
- //# sourceMappingURL=Witness.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Witness.js","sourceRoot":"","sources":["../../../src/Witness/Witness.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,SAAS,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAGjD,MAAM,OAAO,UAAgE,SAAQ,eAAwB;IAC3G,MAAM,CAAU,aAAa,GAAG,CAAC,sBAAsB,CAAC,CAAA;IAExD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,CAAA;IAC1B,CAAC;IAEkB,KAAK,CAAC,cAAc,CAAC,WAAsB,EAAE;QAC9D,MAAM,IAAI,GACR,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YACrD,QAAQ;iBACL,MAAM,CAAC,CAAC,CAAC,EAAmB,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;iBACtD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACT,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;YAC1C,CAAC,CAAC,CAAA;QACN,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACrB,wCAAwC;YACxC,OAAO,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAA;QACjD,CAAC,CAAC,CACH,CAAA;QACD,+BAA+B;QAC/B,OAAO,MAAM,CAAA;IACf,CAAC"}
@@ -1,4 +0,0 @@
1
- export * from './Config';
2
- export * from './Params';
3
- export * from './Witness';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Witness/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
package/dist/esm/index.js DELETED
@@ -1,6 +0,0 @@
1
- import { UrlPlugin } from './Plugin';
2
- export * from './Witness';
3
- export { UrlPlugin };
4
- // eslint-disable-next-line import/no-default-export
5
- export default UrlPlugin;
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,SAAS,EAAE,CAAA;AAEpB,oDAAoD;AACpD,eAAe,SAAS,CAAA"}
@@ -1,21 +0,0 @@
1
- import { createHash } from 'crypto';
2
- import { createReadStream } from 'fs';
3
- import { fileURLToPath } from 'url';
4
- export const hashFile = (url) => {
5
- const path = url.startsWith('file://') ? fileURLToPath(url) : url;
6
- const ret = new Promise((resolve, reject) => {
7
- const hash = createHash('sha256');
8
- const stream = createReadStream(path);
9
- stream.on('data', (data) => {
10
- hash.update(data);
11
- });
12
- stream.on('end', () => {
13
- resolve(hash.digest('hex'));
14
- });
15
- stream.on('error', (err) => {
16
- reject(err);
17
- });
18
- });
19
- return ret;
20
- };
21
- //# sourceMappingURL=hashFile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hashFile.js","sourceRoot":"","sources":["../../../src/util/hashFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAEnC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAmB,EAAE;IACvD,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IACjE,MAAM,GAAG,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAClD,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;QACjC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACpB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACzB,MAAM,CAAC,GAAG,CAAC,CAAA;QACb,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
@@ -1,23 +0,0 @@
1
- import { createHash } from 'crypto';
2
- import http from 'http';
3
- import https from 'https';
4
- export const hashHttpUrl = (url) => {
5
- const ret = new Promise((resolve, reject) => {
6
- const hash = createHash('sha256');
7
- const lib = url.startsWith('https') ? https : http;
8
- lib
9
- .get(url, (res) => {
10
- res.on('data', (data) => {
11
- hash.update(data);
12
- });
13
- res.on('end', () => {
14
- resolve(hash.digest('hex'));
15
- });
16
- })
17
- .on('error', (err) => {
18
- reject(err);
19
- });
20
- });
21
- return ret;
22
- };
23
- //# sourceMappingURL=hashHttpUrl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hashHttpUrl.js","sourceRoot":"","sources":["../../../src/util/hashHttpUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAmB,EAAE;IAC1D,MAAM,GAAG,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAClD,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;QACjC,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;QAClD,GAAG;aACA,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;YAChB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACnB,CAAC,CAAC,CAAA;YACF,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC7B,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC;aACD,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACnB,MAAM,CAAC,GAAG,CAAC,CAAA;QACb,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
@@ -1,15 +0,0 @@
1
- import { hashFile } from './hashFile';
2
- import { hashHttpUrl } from './hashHttpUrl';
3
- export const hashUrl = (url) => {
4
- const scheme = url.split('://')[0]?.toLowerCase();
5
- switch (scheme) {
6
- case 'file':
7
- return hashFile(url);
8
- case 'http':
9
- case 'https':
10
- return hashHttpUrl(url);
11
- default:
12
- throw new Error(`Unsupported URL scheme: ${scheme}`);
13
- }
14
- };
15
- //# sourceMappingURL=hashUrl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hashUrl.js","sourceRoot":"","sources":["../../../src/util/hashUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAmB,EAAE;IACtD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAA;IACjD,QAAQ,MAAM,EAAE;QACd,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAA;QACtB,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,OAAO,WAAW,CAAC,GAAG,CAAC,CAAA;QACzB;YACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAA;KACvD;AACH,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './hashUrl';
2
- //# sourceMappingURL=index.js.map