@xyo-network/url-plugin 2.74.1 → 2.74.2

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.
package/dist/docs.json CHANGED
@@ -16,7 +16,7 @@
16
16
  "fileName": "plugins/packages/payloadset/packages/url/src/index.ts",
17
17
  "line": 8,
18
18
  "character": 0,
19
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/index.ts#L8"
19
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/index.ts#L8"
20
20
  }
21
21
  ],
22
22
  "target": 1
@@ -1573,7 +1573,7 @@
1573
1573
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Config.ts",
1574
1574
  "line": 8,
1575
1575
  "character": 2,
1576
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L8"
1576
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L8"
1577
1577
  }
1578
1578
  ],
1579
1579
  "type": {
@@ -1594,7 +1594,7 @@
1594
1594
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Config.ts",
1595
1595
  "line": 9,
1596
1596
  "character": 2,
1597
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L9"
1597
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L9"
1598
1598
  }
1599
1599
  ],
1600
1600
  "type": {
@@ -1620,7 +1620,7 @@
1620
1620
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Config.ts",
1621
1621
  "line": 7,
1622
1622
  "character": 45,
1623
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L7"
1623
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L7"
1624
1624
  }
1625
1625
  ]
1626
1626
  }
@@ -3372,7 +3372,7 @@
3372
3372
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Config.ts",
3373
3373
  "line": 8,
3374
3374
  "character": 2,
3375
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L8"
3375
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L8"
3376
3376
  }
3377
3377
  ],
3378
3378
  "type": {
@@ -3393,7 +3393,7 @@
3393
3393
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Config.ts",
3394
3394
  "line": 9,
3395
3395
  "character": 2,
3396
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L9"
3396
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L9"
3397
3397
  }
3398
3398
  ],
3399
3399
  "type": {
@@ -3419,7 +3419,7 @@
3419
3419
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Config.ts",
3420
3420
  "line": 7,
3421
3421
  "character": 45,
3422
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L7"
3422
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L7"
3423
3423
  }
3424
3424
  ]
3425
3425
  }
@@ -4486,7 +4486,7 @@
4486
4486
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Witness.ts",
4487
4487
  "line": 10,
4488
4488
  "character": 18,
4489
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Witness.ts#L10"
4489
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Witness.ts#L10"
4490
4490
  }
4491
4491
  ],
4492
4492
  "type": {
@@ -5363,7 +5363,7 @@
5363
5363
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Witness.ts",
5364
5364
  "line": 12,
5365
5365
  "character": 6,
5366
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Witness.ts#L12"
5366
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Witness.ts#L12"
5367
5367
  }
5368
5368
  ],
5369
5369
  "getSignature": {
@@ -5377,7 +5377,7 @@
5377
5377
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Witness.ts",
5378
5378
  "line": 12,
5379
5379
  "character": 2,
5380
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Witness.ts#L12"
5380
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Witness.ts#L12"
5381
5381
  }
5382
5382
  ],
5383
5383
  "type": {
@@ -9426,7 +9426,7 @@
9426
9426
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Witness.ts",
9427
9427
  "line": 16,
9428
9428
  "character": 27,
9429
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Witness.ts#L16"
9429
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Witness.ts#L16"
9430
9430
  }
9431
9431
  ],
9432
9432
  "signatures": [
@@ -9441,7 +9441,7 @@
9441
9441
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Witness.ts",
9442
9442
  "line": 16,
9443
9443
  "character": 2,
9444
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Witness.ts#L16"
9444
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Witness.ts#L16"
9445
9445
  }
9446
9446
  ],
9447
9447
  "parameters": [
@@ -17557,7 +17557,7 @@
17557
17557
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Witness.ts",
17558
17558
  "line": 9,
17559
17559
  "character": 13,
17560
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Witness.ts#L9"
17560
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Witness.ts#L9"
17561
17561
  }
17562
17562
  ],
17563
17563
  "typeParameters": [
@@ -17612,7 +17612,7 @@
17612
17612
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Config.ts",
17613
17613
  "line": 7,
17614
17614
  "character": 12,
17615
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L7"
17615
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L7"
17616
17616
  }
17617
17617
  ],
17618
17618
  "type": {
@@ -17642,7 +17642,7 @@
17642
17642
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Config.ts",
17643
17643
  "line": 8,
17644
17644
  "character": 2,
17645
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L8"
17645
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L8"
17646
17646
  }
17647
17647
  ],
17648
17648
  "type": {
@@ -17665,7 +17665,7 @@
17665
17665
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Config.ts",
17666
17666
  "line": 9,
17667
17667
  "character": 2,
17668
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L9"
17668
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L9"
17669
17669
  }
17670
17670
  ],
17671
17671
  "type": {
@@ -17691,7 +17691,7 @@
17691
17691
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Config.ts",
17692
17692
  "line": 7,
17693
17693
  "character": 45,
17694
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L7"
17694
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L7"
17695
17695
  }
17696
17696
  ]
17697
17697
  }
@@ -17712,13 +17712,13 @@
17712
17712
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Config.ts",
17713
17713
  "line": 4,
17714
17714
  "character": 13,
17715
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L4"
17715
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L4"
17716
17716
  },
17717
17717
  {
17718
17718
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Config.ts",
17719
17719
  "line": 5,
17720
17720
  "character": 12,
17721
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L5"
17721
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L5"
17722
17722
  }
17723
17723
  ],
17724
17724
  "type": {
@@ -17742,7 +17742,7 @@
17742
17742
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Params.ts",
17743
17743
  "line": 6,
17744
17744
  "character": 12,
17745
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Params.ts#L6"
17745
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Params.ts#L6"
17746
17746
  }
17747
17747
  ],
17748
17748
  "type": {
@@ -17787,13 +17787,13 @@
17787
17787
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Config.ts",
17788
17788
  "line": 4,
17789
17789
  "character": 13,
17790
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L4"
17790
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L4"
17791
17791
  },
17792
17792
  {
17793
17793
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Config.ts",
17794
17794
  "line": 5,
17795
17795
  "character": 12,
17796
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L5"
17796
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L5"
17797
17797
  }
17798
17798
  ],
17799
17799
  "type": {
@@ -17813,7 +17813,7 @@
17813
17813
  "fileName": "plugins/packages/payloadset/packages/url/src/Plugin.ts",
17814
17814
  "line": 7,
17815
17815
  "character": 13,
17816
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Plugin.ts#L7"
17816
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Plugin.ts#L7"
17817
17817
  }
17818
17818
  ],
17819
17819
  "signatures": [
@@ -17828,7 +17828,7 @@
17828
17828
  "fileName": "plugins/packages/payloadset/packages/url/src/Plugin.ts",
17829
17829
  "line": 7,
17830
17830
  "character": 25,
17831
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Plugin.ts#L7"
17831
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Plugin.ts#L7"
17832
17832
  }
17833
17833
  ],
17834
17834
  "type": {
@@ -19353,7 +19353,7 @@
19353
19353
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Config.ts",
19354
19354
  "line": 8,
19355
19355
  "character": 2,
19356
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L8"
19356
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L8"
19357
19357
  }
19358
19358
  ],
19359
19359
  "type": {
@@ -19374,7 +19374,7 @@
19374
19374
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Config.ts",
19375
19375
  "line": 9,
19376
19376
  "character": 2,
19377
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L9"
19377
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L9"
19378
19378
  }
19379
19379
  ],
19380
19380
  "type": {
@@ -19400,7 +19400,7 @@
19400
19400
  "fileName": "plugins/packages/payloadset/packages/url/src/Witness/Config.ts",
19401
19401
  "line": 7,
19402
19402
  "character": 45,
19403
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/01bbe3eabe49d/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L7"
19403
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/6e59657e618a7/packages/plugins/packages/payloadset/packages/url/src/Witness/Config.ts#L7"
19404
19404
  }
19405
19405
  ]
19406
19406
  }
package/dist/index.js CHANGED
@@ -50,10 +50,8 @@ var UrlWitnessConfigSchema = `${import_url_payload_plugin.UrlSchema}.witness.con
50
50
  var import_url_payload_plugin2 = require("@xyo-network/url-payload-plugin");
51
51
  var import_witness = require("@xyo-network/witness");
52
52
 
53
- // ../../../../../../node_modules/@xylabs/crypto/dist/nodeIndex.mjs
54
- var import_crypto = __toESM(require("crypto"), 1);
55
-
56
53
  // src/util/hashFile.ts
54
+ var import_crypto = __toESM(require("crypto"));
57
55
  var import_fs = require("fs");
58
56
  var import_url = require("url");
59
57
  var hashFile = (url) => {
@@ -75,11 +73,12 @@ var hashFile = (url) => {
75
73
  };
76
74
 
77
75
  // src/util/hashHttpUrl.ts
76
+ var import_crypto2 = __toESM(require("crypto"));
78
77
  var import_http = __toESM(require("http"));
79
78
  var import_https = __toESM(require("https"));
80
79
  var hashHttpUrl = (url) => {
81
80
  const ret = new Promise((resolve, reject) => {
82
- const hash = import_crypto.default.createHash("sha256");
81
+ const hash = import_crypto2.default.createHash("sha256");
83
82
  const lib = url.startsWith("https") ? import_https.default : import_http.default;
84
83
  lib.get(url, (res) => {
85
84
  res.on("data", (data) => {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/Plugin.ts","../src/Witness/Config.ts","../src/Witness/Witness.ts","../../../../../../../node_modules/@xylabs/crypto/src/node/Crypto.ts","../../../../../../../node_modules/@xylabs/crypto/src/node/cryptoPolyfill.ts","../src/util/hashFile.ts","../src/util/hashHttpUrl.ts","../src/util/hashUrl.ts"],"sourcesContent":["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","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 NodeCrypto from 'crypto'\n// eslint-disable-next-line import/no-default-export\nexport { NodeCrypto }\n","export const cryptoPolyfillNode = () => {\n return\n}\n","import { Crypto } from '@xylabs/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 '@xylabs/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"],"mappings":"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","names":["import_url_payload_plugin","import_url_payload_plugin","NodeCrypto","NodeCrypto","https","http"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/Plugin.ts","../src/Witness/Config.ts","../src/Witness/Witness.ts","../src/util/hashFile.ts","../src/util/hashHttpUrl.ts","../src/util/hashUrl.ts"],"sourcesContent":["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","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"],"mappings":"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","names":["import_url_payload_plugin","import_url_payload_plugin","Crypto","import_crypto","Crypto","https","http"]}
package/dist/index.mjs CHANGED
@@ -11,16 +11,14 @@ var UrlWitnessConfigSchema = `${UrlSchema}.witness.config`;
11
11
  import { UrlSchema as UrlSchema2 } from "@xyo-network/url-payload-plugin";
12
12
  import { AbstractWitness } from "@xyo-network/witness";
13
13
 
14
- // ../../../../../../node_modules/@xylabs/crypto/dist/nodeIndex.mjs
15
- import NodeCrypto from "crypto";
16
-
17
14
  // src/util/hashFile.ts
15
+ import Crypto from "crypto";
18
16
  import { createReadStream } from "fs";
19
17
  import { fileURLToPath } from "url";
20
18
  var hashFile = (url) => {
21
19
  const path = url.startsWith("file://") ? fileURLToPath(url) : url;
22
20
  const ret = new Promise((resolve, reject) => {
23
- const hash = NodeCrypto.createHash("sha256");
21
+ const hash = Crypto.createHash("sha256");
24
22
  const stream = createReadStream(path);
25
23
  stream.on("data", (data) => {
26
24
  hash.update(data);
@@ -36,11 +34,12 @@ var hashFile = (url) => {
36
34
  };
37
35
 
38
36
  // src/util/hashHttpUrl.ts
37
+ import Crypto2 from "crypto";
39
38
  import http from "http";
40
39
  import https from "https";
41
40
  var hashHttpUrl = (url) => {
42
41
  const ret = new Promise((resolve, reject) => {
43
- const hash = NodeCrypto.createHash("sha256");
42
+ const hash = Crypto2.createHash("sha256");
44
43
  const lib = url.startsWith("https") ? https : http;
45
44
  lib.get(url, (res) => {
46
45
  res.on("data", (data) => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Plugin.ts","../src/Witness/Config.ts","../src/Witness/Witness.ts","../../../../../../../node_modules/@xylabs/crypto/src/node/Crypto.ts","../../../../../../../node_modules/@xylabs/crypto/src/node/cryptoPolyfill.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 NodeCrypto from 'crypto'\n// eslint-disable-next-line import/no-default-export\nexport { NodeCrypto }\n","export const cryptoPolyfillNode = () => {\n return\n}\n","import { Crypto } from '@xylabs/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 '@xylabs/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","UrlSchema","UrlSchema"]}
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,11 +10,11 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xyo-network/module": "~2.74.1",
14
- "@xyo-network/payload-model": "~2.74.1",
15
- "@xyo-network/payloadset-plugin": "~2.74.1",
16
- "@xyo-network/url-payload-plugin": "~2.74.1",
17
- "@xyo-network/witness": "~2.74.1"
13
+ "@xyo-network/module": "~2.74.2",
14
+ "@xyo-network/payload-model": "~2.74.2",
15
+ "@xyo-network/payloadset-plugin": "~2.74.2",
16
+ "@xyo-network/url-payload-plugin": "~2.74.2",
17
+ "@xyo-network/witness": "~2.74.2"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@xylabs/ts-scripts-yarn3": "^3.0.28",
@@ -61,5 +61,5 @@
61
61
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
62
62
  },
63
63
  "sideEffects": false,
64
- "version": "2.74.1"
64
+ "version": "2.74.2"
65
65
  }
@@ -1,4 +1,4 @@
1
- import { Crypto } from '@xylabs/crypto'
1
+ import Crypto from 'crypto'
2
2
  import { createReadStream } from 'fs'
3
3
  import { fileURLToPath } from 'url'
4
4
 
@@ -1,4 +1,4 @@
1
- import { Crypto } from '@xylabs/crypto'
1
+ import Crypto from 'crypto'
2
2
  import http from 'http'
3
3
  import https from 'https'
4
4