@xyo-network/url-plugin 2.81.5 → 2.81.6

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 (100) hide show
  1. package/dist/browser/PluginBrowser.d.cts +55 -0
  2. package/dist/browser/PluginBrowser.d.cts.map +1 -0
  3. package/dist/browser/PluginBrowser.d.mts +55 -0
  4. package/dist/browser/PluginBrowser.d.mts.map +1 -0
  5. package/dist/browser/PluginBrowser.d.ts +55 -0
  6. package/dist/browser/PluginBrowser.d.ts.map +1 -0
  7. package/dist/browser/{Plugin.d.cts → PluginNode.d.cts} +1 -1
  8. package/dist/browser/PluginNode.d.cts.map +1 -0
  9. package/dist/browser/{Plugin.d.ts → PluginNode.d.mts} +1 -1
  10. package/dist/browser/PluginNode.d.mts.map +1 -0
  11. package/dist/browser/{Plugin.d.mts → PluginNode.d.ts} +1 -1
  12. package/dist/browser/PluginNode.d.ts.map +1 -0
  13. package/dist/browser/Witness/Witness.d.cts +1 -0
  14. package/dist/browser/Witness/Witness.d.cts.map +1 -1
  15. package/dist/browser/Witness/Witness.d.mts +1 -0
  16. package/dist/browser/Witness/Witness.d.mts.map +1 -1
  17. package/dist/browser/Witness/Witness.d.ts +1 -0
  18. package/dist/browser/Witness/Witness.d.ts.map +1 -1
  19. package/dist/browser/{index.cjs → indexBrowser.cjs} +15 -12
  20. package/dist/browser/indexBrowser.cjs.map +1 -0
  21. package/dist/browser/indexBrowser.d.cts +5 -0
  22. package/dist/browser/indexBrowser.d.cts.map +1 -0
  23. package/dist/browser/indexBrowser.d.mts +5 -0
  24. package/dist/browser/indexBrowser.d.mts.map +1 -0
  25. package/dist/browser/indexBrowser.d.ts +5 -0
  26. package/dist/browser/indexBrowser.d.ts.map +1 -0
  27. package/dist/browser/{index.js → indexBrowser.js} +11 -8
  28. package/dist/browser/indexBrowser.js.map +1 -0
  29. package/dist/browser/indexNode.d.cts +5 -0
  30. package/dist/browser/indexNode.d.cts.map +1 -0
  31. package/dist/browser/indexNode.d.mts +5 -0
  32. package/dist/browser/indexNode.d.mts.map +1 -0
  33. package/dist/browser/indexNode.d.ts +5 -0
  34. package/dist/browser/indexNode.d.ts.map +1 -0
  35. package/dist/node/PluginBrowser.d.cts +55 -0
  36. package/dist/node/PluginBrowser.d.cts.map +1 -0
  37. package/dist/node/PluginBrowser.d.mts +55 -0
  38. package/dist/node/PluginBrowser.d.mts.map +1 -0
  39. package/dist/node/PluginBrowser.d.ts +55 -0
  40. package/dist/node/PluginBrowser.d.ts.map +1 -0
  41. package/dist/node/{Plugin.d.cts → PluginNode.d.cts} +1 -1
  42. package/dist/node/PluginNode.d.cts.map +1 -0
  43. package/dist/node/PluginNode.d.mts +55 -0
  44. package/dist/node/PluginNode.d.mts.map +1 -0
  45. package/dist/node/PluginNode.d.ts +55 -0
  46. package/dist/node/PluginNode.d.ts.map +1 -0
  47. package/dist/node/Witness/Witness.d.cts +1 -0
  48. package/dist/node/Witness/Witness.d.cts.map +1 -1
  49. package/dist/node/Witness/Witness.d.mts +1 -0
  50. package/dist/node/Witness/Witness.d.mts.map +1 -1
  51. package/dist/node/Witness/Witness.d.ts +1 -0
  52. package/dist/node/Witness/Witness.d.ts.map +1 -1
  53. package/dist/node/indexBrowser.d.cts +5 -0
  54. package/dist/node/indexBrowser.d.cts.map +1 -0
  55. package/dist/node/indexBrowser.d.mts +5 -0
  56. package/dist/node/indexBrowser.d.mts.map +1 -0
  57. package/dist/node/indexBrowser.d.ts +5 -0
  58. package/dist/node/indexBrowser.d.ts.map +1 -0
  59. package/dist/node/{index.cjs → indexNode.cjs} +17 -14
  60. package/dist/node/indexNode.cjs.map +1 -0
  61. package/dist/node/indexNode.d.cts +5 -0
  62. package/dist/node/indexNode.d.cts.map +1 -0
  63. package/dist/node/indexNode.d.mts +5 -0
  64. package/dist/node/indexNode.d.mts.map +1 -0
  65. package/dist/node/indexNode.d.ts +5 -0
  66. package/dist/node/indexNode.d.ts.map +1 -0
  67. package/dist/node/{index.js → indexNode.js} +12 -8
  68. package/dist/node/indexNode.js.map +1 -0
  69. package/package.json +13 -13
  70. package/src/PluginNode.ts +16 -0
  71. package/src/Witness/Witness.ts +4 -0
  72. package/src/indexBrowser.ts +7 -0
  73. package/src/indexNode.ts +10 -0
  74. package/xy.config.ts +6 -2
  75. package/dist/browser/Plugin.d.cts.map +0 -1
  76. package/dist/browser/Plugin.d.mts.map +0 -1
  77. package/dist/browser/Plugin.d.ts.map +0 -1
  78. package/dist/browser/index.cjs.map +0 -1
  79. package/dist/browser/index.d.cts +0 -5
  80. package/dist/browser/index.d.cts.map +0 -1
  81. package/dist/browser/index.d.mts +0 -5
  82. package/dist/browser/index.d.mts.map +0 -1
  83. package/dist/browser/index.d.ts +0 -5
  84. package/dist/browser/index.d.ts.map +0 -1
  85. package/dist/browser/index.js.map +0 -1
  86. package/dist/node/Plugin.d.cts.map +0 -1
  87. package/dist/node/Plugin.d.mts +0 -55
  88. package/dist/node/Plugin.d.mts.map +0 -1
  89. package/dist/node/Plugin.d.ts +0 -55
  90. package/dist/node/Plugin.d.ts.map +0 -1
  91. package/dist/node/index.cjs.map +0 -1
  92. package/dist/node/index.d.cts +0 -5
  93. package/dist/node/index.d.cts.map +0 -1
  94. package/dist/node/index.d.mts +0 -5
  95. package/dist/node/index.d.mts.map +0 -1
  96. package/dist/node/index.d.ts +0 -5
  97. package/dist/node/index.d.ts.map +0 -1
  98. package/dist/node/index.js.map +0 -1
  99. package/src/index.ts +0 -8
  100. /package/src/{Plugin.ts → PluginBrowser.ts} +0 -0
@@ -0,0 +1,55 @@
1
+ import { UrlWitness } from './Witness';
2
+ export declare const UrlPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<UrlWitness<import("@xyo-network/core").BaseParamsFields & {
3
+ account?: import("@xyo-network/account-model").AccountInstance | "random" | undefined;
4
+ config: import("@xyo-network/payload-model").SchemaFields & Omit<{
5
+ accountDerivationPath?: string | undefined;
6
+ readonly archivist?: import("@xyo-network/module-model").ArchivistModuleConfig | undefined;
7
+ readonly labels?: import("@xyo-network/module-model").Labels | undefined;
8
+ readonly name?: string | undefined;
9
+ readonly paging?: Record<string, {
10
+ size?: number | undefined;
11
+ }> | undefined;
12
+ readonly security?: {
13
+ readonly allowAnonymous?: boolean | undefined;
14
+ readonly allowed?: Record<string, (string | import("@xyo-network/module-model").CosigningAddressSet)[]> | undefined;
15
+ readonly disallowed?: Record<string, string[]> | undefined;
16
+ } | undefined;
17
+ readonly sign?: boolean | undefined;
18
+ readonly storeQueries?: boolean | undefined;
19
+ readonly timestamp?: boolean | undefined;
20
+ } & import("@xyo-network/module-model").ArchivingModuleConfig & Omit<import("@xyo-network/payload-model").SchemaFields & Omit<{
21
+ accountDerivationPath?: string | undefined;
22
+ readonly archivist?: import("@xyo-network/module-model").ArchivistModuleConfig | undefined;
23
+ readonly labels?: import("@xyo-network/module-model").Labels | undefined;
24
+ readonly name?: string | undefined;
25
+ readonly paging?: Record<string, {
26
+ size?: number | undefined;
27
+ }> | undefined;
28
+ readonly security?: {
29
+ readonly allowAnonymous?: boolean | undefined;
30
+ readonly allowed?: Record<string, (string | import("@xyo-network/module-model").CosigningAddressSet)[]> | undefined;
31
+ readonly disallowed?: Record<string, string[]> | undefined;
32
+ } | undefined;
33
+ readonly sign?: boolean | undefined;
34
+ readonly storeQueries?: boolean | undefined;
35
+ readonly timestamp?: boolean | undefined;
36
+ } & import("@xyo-network/module-model").ArchivingModuleConfig & {
37
+ archivist?: string | undefined;
38
+ schema: "network.xyo.url.witness.config";
39
+ targetSet?: (import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadSet & {
40
+ schema: "network.xyo.payload.set";
41
+ }) | undefined;
42
+ } & {
43
+ schema: "network.xyo.url.witness.config";
44
+ urls?: string[] | undefined;
45
+ }, "schema"> & {
46
+ schema: "network.xyo.url.witness.config";
47
+ }, "schema"> & {
48
+ schema: string;
49
+ }, "schema"> & {
50
+ schema: string;
51
+ };
52
+ ephemeralQueryAccountEnabled?: boolean | undefined;
53
+ wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined;
54
+ }>>;
55
+ //# sourceMappingURL=PluginBrowser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginBrowser.d.ts","sourceRoot":"","sources":["../../src/PluginBrowser.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASnB,CAAA"}
@@ -52,4 +52,4 @@ export declare const UrlPlugin: () => import("@xyo-network/payloadset-plugin").P
52
52
  ephemeralQueryAccountEnabled?: boolean | undefined;
53
53
  wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined;
54
54
  }>>;
55
- //# sourceMappingURL=Plugin.d.ts.map
55
+ //# sourceMappingURL=PluginNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginNode.d.ts","sourceRoot":"","sources":["../../src/PluginNode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASnB,CAAA"}
@@ -0,0 +1,55 @@
1
+ import { UrlWitness } from './Witness';
2
+ export declare const UrlPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<UrlWitness<import("@xyo-network/core").BaseParamsFields & {
3
+ account?: import("@xyo-network/account-model").AccountInstance | "random" | undefined;
4
+ config: import("@xyo-network/payload-model").SchemaFields & Omit<{
5
+ accountDerivationPath?: string | undefined;
6
+ readonly archivist?: import("@xyo-network/module-model").ArchivistModuleConfig | undefined;
7
+ readonly labels?: import("@xyo-network/module-model").Labels | undefined;
8
+ readonly name?: string | undefined;
9
+ readonly paging?: Record<string, {
10
+ size?: number | undefined;
11
+ }> | undefined;
12
+ readonly security?: {
13
+ readonly allowAnonymous?: boolean | undefined;
14
+ readonly allowed?: Record<string, (string | import("@xyo-network/module-model").CosigningAddressSet)[]> | undefined;
15
+ readonly disallowed?: Record<string, string[]> | undefined;
16
+ } | undefined;
17
+ readonly sign?: boolean | undefined;
18
+ readonly storeQueries?: boolean | undefined;
19
+ readonly timestamp?: boolean | undefined;
20
+ } & import("@xyo-network/module-model").ArchivingModuleConfig & Omit<import("@xyo-network/payload-model").SchemaFields & Omit<{
21
+ accountDerivationPath?: string | undefined;
22
+ readonly archivist?: import("@xyo-network/module-model").ArchivistModuleConfig | undefined;
23
+ readonly labels?: import("@xyo-network/module-model").Labels | undefined;
24
+ readonly name?: string | undefined;
25
+ readonly paging?: Record<string, {
26
+ size?: number | undefined;
27
+ }> | undefined;
28
+ readonly security?: {
29
+ readonly allowAnonymous?: boolean | undefined;
30
+ readonly allowed?: Record<string, (string | import("@xyo-network/module-model").CosigningAddressSet)[]> | undefined;
31
+ readonly disallowed?: Record<string, string[]> | undefined;
32
+ } | undefined;
33
+ readonly sign?: boolean | undefined;
34
+ readonly storeQueries?: boolean | undefined;
35
+ readonly timestamp?: boolean | undefined;
36
+ } & import("@xyo-network/module-model").ArchivingModuleConfig & {
37
+ archivist?: string | undefined;
38
+ schema: "network.xyo.url.witness.config";
39
+ targetSet?: (import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadSet & {
40
+ schema: "network.xyo.payload.set";
41
+ }) | undefined;
42
+ } & {
43
+ schema: "network.xyo.url.witness.config";
44
+ urls?: string[] | undefined;
45
+ }, "schema"> & {
46
+ schema: "network.xyo.url.witness.config";
47
+ }, "schema"> & {
48
+ schema: string;
49
+ }, "schema"> & {
50
+ schema: string;
51
+ };
52
+ ephemeralQueryAccountEnabled?: boolean | undefined;
53
+ wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined;
54
+ }>>;
55
+ //# sourceMappingURL=PluginNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginNode.d.ts","sourceRoot":"","sources":["../../src/PluginNode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASnB,CAAA"}
@@ -0,0 +1,55 @@
1
+ import { UrlWitness } from './Witness';
2
+ export declare const UrlPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<UrlWitness<import("@xyo-network/core").BaseParamsFields & {
3
+ account?: import("@xyo-network/account-model").AccountInstance | "random" | undefined;
4
+ config: import("@xyo-network/payload-model").SchemaFields & Omit<{
5
+ accountDerivationPath?: string | undefined;
6
+ readonly archivist?: import("@xyo-network/module-model").ArchivistModuleConfig | undefined;
7
+ readonly labels?: import("@xyo-network/module-model").Labels | undefined;
8
+ readonly name?: string | undefined;
9
+ readonly paging?: Record<string, {
10
+ size?: number | undefined;
11
+ }> | undefined;
12
+ readonly security?: {
13
+ readonly allowAnonymous?: boolean | undefined;
14
+ readonly allowed?: Record<string, (string | import("@xyo-network/module-model").CosigningAddressSet)[]> | undefined;
15
+ readonly disallowed?: Record<string, string[]> | undefined;
16
+ } | undefined;
17
+ readonly sign?: boolean | undefined;
18
+ readonly storeQueries?: boolean | undefined;
19
+ readonly timestamp?: boolean | undefined;
20
+ } & import("@xyo-network/module-model").ArchivingModuleConfig & Omit<import("@xyo-network/payload-model").SchemaFields & Omit<{
21
+ accountDerivationPath?: string | undefined;
22
+ readonly archivist?: import("@xyo-network/module-model").ArchivistModuleConfig | undefined;
23
+ readonly labels?: import("@xyo-network/module-model").Labels | undefined;
24
+ readonly name?: string | undefined;
25
+ readonly paging?: Record<string, {
26
+ size?: number | undefined;
27
+ }> | undefined;
28
+ readonly security?: {
29
+ readonly allowAnonymous?: boolean | undefined;
30
+ readonly allowed?: Record<string, (string | import("@xyo-network/module-model").CosigningAddressSet)[]> | undefined;
31
+ readonly disallowed?: Record<string, string[]> | undefined;
32
+ } | undefined;
33
+ readonly sign?: boolean | undefined;
34
+ readonly storeQueries?: boolean | undefined;
35
+ readonly timestamp?: boolean | undefined;
36
+ } & import("@xyo-network/module-model").ArchivingModuleConfig & {
37
+ archivist?: string | undefined;
38
+ schema: "network.xyo.url.witness.config";
39
+ targetSet?: (import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadSet & {
40
+ schema: "network.xyo.payload.set";
41
+ }) | undefined;
42
+ } & {
43
+ schema: "network.xyo.url.witness.config";
44
+ urls?: string[] | undefined;
45
+ }, "schema"> & {
46
+ schema: "network.xyo.url.witness.config";
47
+ }, "schema"> & {
48
+ schema: string;
49
+ }, "schema"> & {
50
+ schema: string;
51
+ };
52
+ ephemeralQueryAccountEnabled?: boolean | undefined;
53
+ wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined;
54
+ }>>;
55
+ //# sourceMappingURL=PluginNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginNode.d.ts","sourceRoot":"","sources":["../../src/PluginNode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASnB,CAAA"}
@@ -3,6 +3,7 @@ import { Payload } from '@xyo-network/payload-model';
3
3
  import { UrlWitnessParams } from './Params';
4
4
  export declare class UrlWitness<TParams extends UrlWitnessParams = UrlWitnessParams> extends AbstractWitness<TParams> {
5
5
  static configSchemas: "network.xyo.url.witness.config"[];
6
+ static hashUrl: ((url: string) => Promise<string>) | undefined;
6
7
  get urls(): string[] | undefined;
7
8
  protected observeHandler(payloads?: Payload[]): Promise<Payload[]>;
8
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../../src/Witness/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAKpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE3C,qBAAa,UAAU,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAC;IAC3G,OAAgB,aAAa,qCAA2B;IAExD,IAAI,IAAI,yBAEP;cAEwB,cAAc,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAiBtF"}
1
+ {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../../src/Witness/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAKpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE3C,qBAAa,UAAU,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAC;IAC3G,OAAgB,aAAa,qCAA2B;IACxD,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAY;IAE1E,IAAI,IAAI,yBAEP;cAEwB,cAAc,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAoBtF"}
@@ -3,6 +3,7 @@ import { Payload } from '@xyo-network/payload-model';
3
3
  import { UrlWitnessParams } from './Params';
4
4
  export declare class UrlWitness<TParams extends UrlWitnessParams = UrlWitnessParams> extends AbstractWitness<TParams> {
5
5
  static configSchemas: "network.xyo.url.witness.config"[];
6
+ static hashUrl: ((url: string) => Promise<string>) | undefined;
6
7
  get urls(): string[] | undefined;
7
8
  protected observeHandler(payloads?: Payload[]): Promise<Payload[]>;
8
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../../src/Witness/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAKpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE3C,qBAAa,UAAU,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAC;IAC3G,OAAgB,aAAa,qCAA2B;IAExD,IAAI,IAAI,yBAEP;cAEwB,cAAc,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAiBtF"}
1
+ {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../../src/Witness/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAKpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE3C,qBAAa,UAAU,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAC;IAC3G,OAAgB,aAAa,qCAA2B;IACxD,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAY;IAE1E,IAAI,IAAI,yBAEP;cAEwB,cAAc,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAoBtF"}
@@ -3,6 +3,7 @@ import { Payload } from '@xyo-network/payload-model';
3
3
  import { UrlWitnessParams } from './Params';
4
4
  export declare class UrlWitness<TParams extends UrlWitnessParams = UrlWitnessParams> extends AbstractWitness<TParams> {
5
5
  static configSchemas: "network.xyo.url.witness.config"[];
6
+ static hashUrl: ((url: string) => Promise<string>) | undefined;
6
7
  get urls(): string[] | undefined;
7
8
  protected observeHandler(payloads?: Payload[]): Promise<Payload[]>;
8
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../../src/Witness/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAKpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE3C,qBAAa,UAAU,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAC;IAC3G,OAAgB,aAAa,qCAA2B;IAExD,IAAI,IAAI,yBAEP;cAEwB,cAAc,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAiBtF"}
1
+ {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../../src/Witness/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAKpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE3C,qBAAa,UAAU,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAC;IAC3G,OAAgB,aAAa,qCAA2B;IACxD,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAY;IAE1E,IAAI,IAAI,yBAEP;cAEwB,cAAc,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAoBtF"}
@@ -0,0 +1,5 @@
1
+ import { UrlPlugin } from './PluginNode';
2
+ import { UrlWitness } from './Witness';
3
+ export { UrlPlugin, UrlWitness };
4
+ export default UrlPlugin;
5
+ //# sourceMappingURL=indexBrowser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexBrowser.d.ts","sourceRoot":"","sources":["../../src/indexBrowser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AAGhC,eAAe,SAAS,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { UrlPlugin } from './PluginNode';
2
+ import { UrlWitness } from './Witness';
3
+ export { UrlPlugin, UrlWitness };
4
+ export default UrlPlugin;
5
+ //# sourceMappingURL=indexBrowser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexBrowser.d.ts","sourceRoot":"","sources":["../../src/indexBrowser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AAGhC,eAAe,SAAS,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { UrlPlugin } from './PluginNode';
2
+ import { UrlWitness } from './Witness';
3
+ export { UrlPlugin, UrlWitness };
4
+ export default UrlPlugin;
5
+ //# sourceMappingURL=indexBrowser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexBrowser.d.ts","sourceRoot":"","sources":["../../src/indexBrowser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AAGhC,eAAe,SAAS,CAAA"}
@@ -27,17 +27,16 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
 
30
- // src/index.ts
31
- var src_exports = {};
32
- __export(src_exports, {
30
+ // src/indexNode.ts
31
+ var indexNode_exports = {};
32
+ __export(indexNode_exports, {
33
33
  UrlPlugin: () => UrlPlugin,
34
34
  UrlWitness: () => UrlWitness,
35
- UrlWitnessConfigSchema: () => UrlWitnessConfigSchema,
36
- default: () => src_default
35
+ default: () => indexNode_default
37
36
  });
38
- module.exports = __toCommonJS(src_exports);
37
+ module.exports = __toCommonJS(indexNode_exports);
39
38
 
40
- // src/Plugin.ts
39
+ // src/PluginNode.ts
41
40
  var import_payload_model = require("@xyo-network/payload-model");
42
41
  var import_payloadset_plugin = require("@xyo-network/payloadset-plugin");
43
42
  var import_url_payload_plugin3 = require("@xyo-network/url-payload-plugin");
@@ -110,14 +109,18 @@ var hashUrl = (url) => {
110
109
  };
111
110
 
112
111
  // src/Witness/Witness.ts
113
- var UrlWitness = class extends import_abstract_witness.AbstractWitness {
112
+ var UrlWitness = class _UrlWitness extends import_abstract_witness.AbstractWitness {
114
113
  static configSchemas = [UrlWitnessConfigSchema];
114
+ static hashUrl = void 0;
115
115
  get urls() {
116
116
  var _a;
117
117
  return (_a = this.config) == null ? void 0 : _a.urls;
118
118
  }
119
119
  async observeHandler(payloads = []) {
120
120
  var _a;
121
+ if (_UrlWitness.hashUrl === void 0) {
122
+ throw Error("Set UrlWitness.hashUrl before using");
123
+ }
121
124
  const urls = ((_a = this.urls) == null ? void 0 : _a.map((url) => ({ schema: import_url_payload_plugin2.UrlSchema, url }))) ?? payloads.filter((p) => p.schema === import_url_payload_plugin2.UrlSchema).map((p) => {
122
125
  return { schema: import_url_payload_plugin2.UrlSchema, url: p.url };
123
126
  });
@@ -130,7 +133,7 @@ var UrlWitness = class extends import_abstract_witness.AbstractWitness {
130
133
  }
131
134
  };
132
135
 
133
- // src/Plugin.ts
136
+ // src/PluginNode.ts
134
137
  var UrlPlugin = () => (0, import_payloadset_plugin.createPayloadSetWitnessPlugin)(
135
138
  { required: { [import_url_payload_plugin3.UrlSchema]: 1 }, schema: import_payload_model.PayloadSetSchema },
136
139
  {
@@ -141,12 +144,12 @@ var UrlPlugin = () => (0, import_payloadset_plugin.createPayloadSetWitnessPlugin
141
144
  }
142
145
  );
143
146
 
144
- // src/index.ts
145
- var src_default = UrlPlugin;
147
+ // src/indexNode.ts
148
+ UrlWitness.hashUrl = hashUrl;
149
+ var indexNode_default = UrlPlugin;
146
150
  // Annotate the CommonJS export names for ESM import in node:
147
151
  0 && (module.exports = {
148
152
  UrlPlugin,
149
- UrlWitness,
150
- UrlWitnessConfigSchema
153
+ UrlWitness
151
154
  });
152
- //# sourceMappingURL=index.cjs.map
155
+ //# sourceMappingURL=indexNode.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/indexNode.ts","../../src/PluginNode.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 './PluginNode'\nimport { hashUrl } from './util'\nimport { UrlWitness } from './Witness'\n\nUrlWitness.hashUrl = hashUrl\n\nexport { UrlPlugin, UrlWitness }\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-model'\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 { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { Payload } from '@xyo-network/payload-model'\nimport { UrlPayload, UrlSchema } from '@xyo-network/url-payload-plugin'\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 static hashUrl: ((url: string) => Promise<string>) | undefined = undefined\n\n get urls() {\n return this.config?.urls\n }\n\n protected override async observeHandler(payloads: Payload[] = []): Promise<Payload[]> {\n if (UrlWitness.hashUrl === undefined) {\n throw Error('Set UrlWitness.hashUrl before using')\n }\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 '@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","Crypto","import_crypto","https","http"]}
@@ -0,0 +1,5 @@
1
+ import { UrlPlugin } from './PluginNode';
2
+ import { UrlWitness } from './Witness';
3
+ export { UrlPlugin, UrlWitness };
4
+ export default UrlPlugin;
5
+ //# sourceMappingURL=indexNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexNode.d.ts","sourceRoot":"","sources":["../../src/indexNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAItC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AAGhC,eAAe,SAAS,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { UrlPlugin } from './PluginNode';
2
+ import { UrlWitness } from './Witness';
3
+ export { UrlPlugin, UrlWitness };
4
+ export default UrlPlugin;
5
+ //# sourceMappingURL=indexNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexNode.d.ts","sourceRoot":"","sources":["../../src/indexNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAItC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AAGhC,eAAe,SAAS,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { UrlPlugin } from './PluginNode';
2
+ import { UrlWitness } from './Witness';
3
+ export { UrlPlugin, UrlWitness };
4
+ export default UrlPlugin;
5
+ //# sourceMappingURL=indexNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexNode.d.ts","sourceRoot":"","sources":["../../src/indexNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAItC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AAGhC,eAAe,SAAS,CAAA"}
@@ -1,4 +1,4 @@
1
- // src/Plugin.ts
1
+ // src/PluginNode.ts
2
2
  import { PayloadSetSchema } from "@xyo-network/payload-model";
3
3
  import { createPayloadSetWitnessPlugin } from "@xyo-network/payloadset-plugin";
4
4
  import { UrlSchema as UrlSchema3 } from "@xyo-network/url-payload-plugin";
@@ -71,14 +71,18 @@ var hashUrl = (url) => {
71
71
  };
72
72
 
73
73
  // src/Witness/Witness.ts
74
- var UrlWitness = class extends AbstractWitness {
74
+ var UrlWitness = class _UrlWitness extends AbstractWitness {
75
75
  static configSchemas = [UrlWitnessConfigSchema];
76
+ static hashUrl = void 0;
76
77
  get urls() {
77
78
  var _a;
78
79
  return (_a = this.config) == null ? void 0 : _a.urls;
79
80
  }
80
81
  async observeHandler(payloads = []) {
81
82
  var _a;
83
+ if (_UrlWitness.hashUrl === void 0) {
84
+ throw Error("Set UrlWitness.hashUrl before using");
85
+ }
82
86
  const urls = ((_a = this.urls) == null ? void 0 : _a.map((url) => ({ schema: UrlSchema2, url }))) ?? payloads.filter((p) => p.schema === UrlSchema2).map((p) => {
83
87
  return { schema: UrlSchema2, url: p.url };
84
88
  });
@@ -91,7 +95,7 @@ var UrlWitness = class extends AbstractWitness {
91
95
  }
92
96
  };
93
97
 
94
- // src/Plugin.ts
98
+ // src/PluginNode.ts
95
99
  var UrlPlugin = () => createPayloadSetWitnessPlugin(
96
100
  { required: { [UrlSchema3]: 1 }, schema: PayloadSetSchema },
97
101
  {
@@ -102,12 +106,12 @@ var UrlPlugin = () => createPayloadSetWitnessPlugin(
102
106
  }
103
107
  );
104
108
 
105
- // src/index.ts
106
- var src_default = UrlPlugin;
109
+ // src/indexNode.ts
110
+ UrlWitness.hashUrl = hashUrl;
111
+ var indexNode_default = UrlPlugin;
107
112
  export {
108
113
  UrlPlugin,
109
114
  UrlWitness,
110
- UrlWitnessConfigSchema,
111
- src_default as default
115
+ indexNode_default as default
112
116
  };
113
- //# sourceMappingURL=index.js.map
117
+ //# sourceMappingURL=indexNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/PluginNode.ts","../../src/Witness/Config.ts","../../src/Witness/Witness.ts","../../src/util/hashFile.ts","../../src/util/hashHttpUrl.ts","../../src/util/hashUrl.ts","../../src/indexNode.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-model'\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 { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { Payload } from '@xyo-network/payload-model'\nimport { UrlPayload, UrlSchema } from '@xyo-network/url-payload-plugin'\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 static hashUrl: ((url: string) => Promise<string>) | undefined = undefined\n\n get urls() {\n return this.config?.urls\n }\n\n protected override async observeHandler(payloads: Payload[] = []): Promise<Payload[]> {\n if (UrlWitness.hashUrl === undefined) {\n throw Error('Set UrlWitness.hashUrl before using')\n }\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 '@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 './PluginNode'\nimport { hashUrl } from './util'\nimport { UrlWitness } from './Witness'\n\nUrlWitness.hashUrl = hashUrl\n\nexport { UrlPlugin, UrlWitness }\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
@@ -15,7 +15,7 @@
15
15
  "@xyo-network/module-model": "^2.81.5",
16
16
  "@xyo-network/payload-model": "^2.81.5",
17
17
  "@xyo-network/payloadset-plugin": "^2.81.5",
18
- "@xyo-network/url-payload-plugin": "~2.81.5",
18
+ "@xyo-network/url-payload-plugin": "~2.81.6",
19
19
  "@xyo-network/witness-model": "^2.81.5"
20
20
  },
21
21
  "devDependencies": {
@@ -28,30 +28,30 @@
28
28
  ".": {
29
29
  "browser": {
30
30
  "require": {
31
- "types": "./dist/browser/index.d.cts",
32
- "default": "./dist/browser/index.cjs"
31
+ "types": "./dist/browser/indexBrowser.d.cts",
32
+ "default": "./dist/browser/indexBrowser.cjs"
33
33
  },
34
34
  "import": {
35
- "types": "./dist/browser/index.d.mts",
36
- "default": "./dist/browser/index.js"
35
+ "types": "./dist/browser/indexBrowser.d.mts",
36
+ "default": "./dist/browser/indexBrowser.js"
37
37
  }
38
38
  },
39
39
  "node": {
40
40
  "require": {
41
- "types": "./dist/node/index.d.cts",
42
- "default": "./dist/node/index.cjs"
41
+ "types": "./dist/node/indexNode.d.cts",
42
+ "default": "./dist/node/indexNode.cjs"
43
43
  },
44
44
  "import": {
45
- "types": "./dist/node/index.d.mts",
46
- "default": "./dist/node/index.js"
45
+ "types": "./dist/node/indexNode.d.mts",
46
+ "default": "./dist/node/indexNode.js"
47
47
  }
48
48
  }
49
49
  },
50
50
  "./package.json": "./package.json"
51
51
  },
52
- "main": "dist/node/index.cjs",
53
- "module": "dist/node/index.js",
54
- "types": "dist/node/index.d.mts",
52
+ "main": "dist/node/indexNode.cjs",
53
+ "module": "dist/node/indexNode.js",
54
+ "types": "dist/node/indexNode.d.mts",
55
55
  "homepage": "https://xyo.network",
56
56
  "license": "LGPL-3.0-only",
57
57
  "publishConfig": {
@@ -62,6 +62,6 @@
62
62
  "url": "https://github.com/XYOracleNetwork/plugins.git"
63
63
  },
64
64
  "sideEffects": false,
65
- "version": "2.81.5",
65
+ "version": "2.81.6",
66
66
  "type": "module"
67
67
  }
@@ -0,0 +1,16 @@
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
+
5
+ import { UrlWitness } from './Witness'
6
+
7
+ export const UrlPlugin = () =>
8
+ createPayloadSetWitnessPlugin<UrlWitness>(
9
+ { required: { [UrlSchema]: 1 }, schema: PayloadSetSchema },
10
+ {
11
+ witness: async (params) => {
12
+ const result = await UrlWitness.create(params)
13
+ return result
14
+ },
15
+ },
16
+ )
@@ -8,12 +8,16 @@ import { UrlWitnessParams } from './Params'
8
8
 
9
9
  export class UrlWitness<TParams extends UrlWitnessParams = UrlWitnessParams> extends AbstractWitness<TParams> {
10
10
  static override configSchemas = [UrlWitnessConfigSchema]
11
+ static hashUrl: ((url: string) => Promise<string>) | undefined = undefined
11
12
 
12
13
  get urls() {
13
14
  return this.config?.urls
14
15
  }
15
16
 
16
17
  protected override async observeHandler(payloads: Payload[] = []): Promise<Payload[]> {
18
+ if (UrlWitness.hashUrl === undefined) {
19
+ throw Error('Set UrlWitness.hashUrl before using')
20
+ }
17
21
  const urls: UrlPayload[] =
18
22
  this.urls?.map((url) => ({ schema: UrlSchema, url })) ??
19
23
  payloads
@@ -0,0 +1,7 @@
1
+ import { UrlPlugin } from './PluginNode'
2
+ import { UrlWitness } from './Witness'
3
+
4
+ export { UrlPlugin, UrlWitness }
5
+
6
+ // eslint-disable-next-line import/no-default-export
7
+ export default UrlPlugin
@@ -0,0 +1,10 @@
1
+ import { UrlPlugin } from './PluginNode'
2
+ import { hashUrl } from './util'
3
+ import { UrlWitness } from './Witness'
4
+
5
+ UrlWitness.hashUrl = hashUrl
6
+
7
+ export { UrlPlugin, UrlWitness }
8
+
9
+ // eslint-disable-next-line import/no-default-export
10
+ export default UrlPlugin
package/xy.config.ts CHANGED
@@ -2,10 +2,14 @@ import { XyTsupConfig } from '@xylabs/ts-scripts-yarn3'
2
2
  const config: XyTsupConfig = {
3
3
  compile: {
4
4
  browser: {
5
- src: true,
5
+ src: {
6
+ entry: ['src/indexBrowser.ts'],
7
+ },
6
8
  },
7
9
  node: {
8
- src: true,
10
+ src: {
11
+ entry: ['src/indexNode.ts'],
12
+ },
9
13
  },
10
14
  },
11
15
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASnB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASnB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASnB,CAAA"}