@xyo-network/file-browser-plugin 2.92.1 → 2.93.1

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 (35) hide show
  1. package/dist/browser/BrowserFileWitness.d.cts +3 -1
  2. package/dist/browser/BrowserFileWitness.d.cts.map +1 -1
  3. package/dist/browser/BrowserFileWitness.d.mts +3 -1
  4. package/dist/browser/BrowserFileWitness.d.mts.map +1 -1
  5. package/dist/browser/BrowserFileWitness.d.ts +3 -1
  6. package/dist/browser/BrowserFileWitness.d.ts.map +1 -1
  7. package/dist/browser/Witness.d.cts +3 -2
  8. package/dist/browser/Witness.d.cts.map +1 -1
  9. package/dist/browser/Witness.d.mts +3 -2
  10. package/dist/browser/Witness.d.mts.map +1 -1
  11. package/dist/browser/Witness.d.ts +3 -2
  12. package/dist/browser/Witness.d.ts.map +1 -1
  13. package/dist/browser/index.cjs +4 -2
  14. package/dist/browser/index.cjs.map +1 -1
  15. package/dist/browser/index.js +4 -2
  16. package/dist/browser/index.js.map +1 -1
  17. package/dist/node/BrowserFileWitness.d.cts +3 -1
  18. package/dist/node/BrowserFileWitness.d.cts.map +1 -1
  19. package/dist/node/BrowserFileWitness.d.mts +3 -1
  20. package/dist/node/BrowserFileWitness.d.mts.map +1 -1
  21. package/dist/node/BrowserFileWitness.d.ts +3 -1
  22. package/dist/node/BrowserFileWitness.d.ts.map +1 -1
  23. package/dist/node/Witness.d.cts +3 -2
  24. package/dist/node/Witness.d.cts.map +1 -1
  25. package/dist/node/Witness.d.mts +3 -2
  26. package/dist/node/Witness.d.mts.map +1 -1
  27. package/dist/node/Witness.d.ts +3 -2
  28. package/dist/node/Witness.d.ts.map +1 -1
  29. package/dist/node/index.cjs +4 -2
  30. package/dist/node/index.cjs.map +1 -1
  31. package/dist/node/index.js +4 -2
  32. package/dist/node/index.js.map +1 -1
  33. package/package.json +12 -12
  34. package/src/BrowserFileWitness.ts +3 -1
  35. package/src/Witness.ts +3 -2
@@ -1,8 +1,10 @@
1
+ import { Schema } from '@xyo-network/payload-model';
1
2
  import { BrowserFileWitnessAdditionalParams } from './Params';
2
3
  import { FileWitness, FileWitnessParams } from './Witness';
3
4
  type BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams;
4
5
  export declare class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {
5
- static configSchemas: "network.xyo.file.witness.config"[];
6
+ static configSchemas: Schema[];
7
+ static defaultConfigSchema: Schema;
6
8
  protected observeHandler(): Promise<(import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
7
9
  created?: number | undefined;
8
10
  hash: string;
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,sCAA4B;cAEhC,cAAc;;;;;;;;;;IAWvC,OAAO,CAAC,cAAc;YAcR,kBAAkB;CAqBjC"}
1
+ {"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAInD,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,EAAE,MAAM,EAAE,CAAoD;IAC3F,OAAgB,mBAAmB,EAAE,MAAM,CAA0B;cAE5C,cAAc;;;;;;;;;;IAWvC,OAAO,CAAC,cAAc;YAcR,kBAAkB;CAqBjC"}
@@ -1,8 +1,10 @@
1
+ import { Schema } from '@xyo-network/payload-model';
1
2
  import { BrowserFileWitnessAdditionalParams } from './Params';
2
3
  import { FileWitness, FileWitnessParams } from './Witness';
3
4
  type BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams;
4
5
  export declare class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {
5
- static configSchemas: "network.xyo.file.witness.config"[];
6
+ static configSchemas: Schema[];
7
+ static defaultConfigSchema: Schema;
6
8
  protected observeHandler(): Promise<(import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
7
9
  created?: number | undefined;
8
10
  hash: string;
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,sCAA4B;cAEhC,cAAc;;;;;;;;;;IAWvC,OAAO,CAAC,cAAc;YAcR,kBAAkB;CAqBjC"}
1
+ {"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAInD,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,EAAE,MAAM,EAAE,CAAoD;IAC3F,OAAgB,mBAAmB,EAAE,MAAM,CAA0B;cAE5C,cAAc;;;;;;;;;;IAWvC,OAAO,CAAC,cAAc;YAcR,kBAAkB;CAqBjC"}
@@ -1,8 +1,10 @@
1
+ import { Schema } from '@xyo-network/payload-model';
1
2
  import { BrowserFileWitnessAdditionalParams } from './Params';
2
3
  import { FileWitness, FileWitnessParams } from './Witness';
3
4
  type BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams;
4
5
  export declare class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {
5
- static configSchemas: "network.xyo.file.witness.config"[];
6
+ static configSchemas: Schema[];
7
+ static defaultConfigSchema: Schema;
6
8
  protected observeHandler(): Promise<(import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
7
9
  created?: number | undefined;
8
10
  hash: string;
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,sCAA4B;cAEhC,cAAc;;;;;;;;;;IAWvC,OAAO,CAAC,cAAc;YAcR,kBAAkB;CAqBjC"}
1
+ {"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAInD,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,EAAE,MAAM,EAAE,CAAoD;IAC3F,OAAgB,mBAAmB,EAAE,MAAM,CAA0B;cAE5C,cAAc;;;;;;;;;;IAWvC,OAAO,CAAC,cAAc;YAcR,kBAAkB;CAqBjC"}
@@ -1,12 +1,13 @@
1
1
  import { Promisable } from '@xylabs/promise';
2
2
  import { AbstractWitness } from '@xyo-network/abstract-witness';
3
3
  import { AnyConfigSchema } from '@xyo-network/module-model';
4
- import { Payload } from '@xyo-network/payload-model';
4
+ import { Payload, Schema } from '@xyo-network/payload-model';
5
5
  import { WitnessModule, WitnessParams } from '@xyo-network/witness-model';
6
6
  import { FileWitnessConfig } from './Config';
7
7
  export type FileWitnessParams = WitnessParams<AnyConfigSchema<FileWitnessConfig>>;
8
8
  export declare abstract class FileWitness<TParams extends FileWitnessParams = FileWitnessParams> extends AbstractWitness<TParams> implements WitnessModule {
9
- static configSchemas: "network.xyo.file.witness.config"[];
9
+ static configSchemas: Schema[];
10
+ static defaultConfigSchema: Schema;
10
11
  protected observeHandler(payloads?: Payload[]): Promisable<Payload[]>;
11
12
  }
12
13
  //# sourceMappingURL=Witness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAEzE,OAAO,EAAE,iBAAiB,EAA2B,MAAM,UAAU,CAAA;AAGrE,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAGjF,8BAAsB,WAAW,CAAC,OAAO,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAE,YAAW,aAAa;IAChJ,OAAgB,aAAa,sCAA4B;cAEtC,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;CAG/E"}
1
+ {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAEzE,OAAO,EAAE,iBAAiB,EAA2B,MAAM,UAAU,CAAA;AAGrE,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAGjF,8BAAsB,WAAW,CAAC,OAAO,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAE,YAAW,aAAa;IAChJ,OAAgB,aAAa,EAAE,MAAM,EAAE,CAAoD;IAC3F,OAAgB,mBAAmB,EAAE,MAAM,CAA0B;cAElD,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;CAG/E"}
@@ -1,12 +1,13 @@
1
1
  import { Promisable } from '@xylabs/promise';
2
2
  import { AbstractWitness } from '@xyo-network/abstract-witness';
3
3
  import { AnyConfigSchema } from '@xyo-network/module-model';
4
- import { Payload } from '@xyo-network/payload-model';
4
+ import { Payload, Schema } from '@xyo-network/payload-model';
5
5
  import { WitnessModule, WitnessParams } from '@xyo-network/witness-model';
6
6
  import { FileWitnessConfig } from './Config';
7
7
  export type FileWitnessParams = WitnessParams<AnyConfigSchema<FileWitnessConfig>>;
8
8
  export declare abstract class FileWitness<TParams extends FileWitnessParams = FileWitnessParams> extends AbstractWitness<TParams> implements WitnessModule {
9
- static configSchemas: "network.xyo.file.witness.config"[];
9
+ static configSchemas: Schema[];
10
+ static defaultConfigSchema: Schema;
10
11
  protected observeHandler(payloads?: Payload[]): Promisable<Payload[]>;
11
12
  }
12
13
  //# sourceMappingURL=Witness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAEzE,OAAO,EAAE,iBAAiB,EAA2B,MAAM,UAAU,CAAA;AAGrE,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAGjF,8BAAsB,WAAW,CAAC,OAAO,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAE,YAAW,aAAa;IAChJ,OAAgB,aAAa,sCAA4B;cAEtC,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;CAG/E"}
1
+ {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAEzE,OAAO,EAAE,iBAAiB,EAA2B,MAAM,UAAU,CAAA;AAGrE,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAGjF,8BAAsB,WAAW,CAAC,OAAO,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAE,YAAW,aAAa;IAChJ,OAAgB,aAAa,EAAE,MAAM,EAAE,CAAoD;IAC3F,OAAgB,mBAAmB,EAAE,MAAM,CAA0B;cAElD,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;CAG/E"}
@@ -1,12 +1,13 @@
1
1
  import { Promisable } from '@xylabs/promise';
2
2
  import { AbstractWitness } from '@xyo-network/abstract-witness';
3
3
  import { AnyConfigSchema } from '@xyo-network/module-model';
4
- import { Payload } from '@xyo-network/payload-model';
4
+ import { Payload, Schema } from '@xyo-network/payload-model';
5
5
  import { WitnessModule, WitnessParams } from '@xyo-network/witness-model';
6
6
  import { FileWitnessConfig } from './Config';
7
7
  export type FileWitnessParams = WitnessParams<AnyConfigSchema<FileWitnessConfig>>;
8
8
  export declare abstract class FileWitness<TParams extends FileWitnessParams = FileWitnessParams> extends AbstractWitness<TParams> implements WitnessModule {
9
- static configSchemas: "network.xyo.file.witness.config"[];
9
+ static configSchemas: Schema[];
10
+ static defaultConfigSchema: Schema;
10
11
  protected observeHandler(payloads?: Payload[]): Promisable<Payload[]>;
11
12
  }
12
13
  //# sourceMappingURL=Witness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAEzE,OAAO,EAAE,iBAAiB,EAA2B,MAAM,UAAU,CAAA;AAGrE,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAGjF,8BAAsB,WAAW,CAAC,OAAO,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAE,YAAW,aAAa;IAChJ,OAAgB,aAAa,sCAA4B;cAEtC,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;CAG/E"}
1
+ {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAEzE,OAAO,EAAE,iBAAiB,EAA2B,MAAM,UAAU,CAAA;AAGrE,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAGjF,8BAAsB,WAAW,CAAC,OAAO,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAE,YAAW,aAAa;IAChJ,OAAgB,aAAa,EAAE,MAAM,EAAE,CAAoD;IAC3F,OAAgB,mBAAmB,EAAE,MAAM,CAA0B;cAElD,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;CAG/E"}
@@ -60,7 +60,8 @@ var generateDataUri = (data) => {
60
60
  // src/Witness.ts
61
61
  var import_abstract_witness = require("@xyo-network/abstract-witness");
62
62
  var FileWitness = class extends import_abstract_witness.AbstractWitness {
63
- static configSchemas = [FileWitnessConfigSchema];
63
+ static configSchemas = [...super.configSchemas, FileWitnessConfigSchema];
64
+ static defaultConfigSchema = FileWitnessConfigSchema;
64
65
  observeHandler(payloads) {
65
66
  return [{ ...payloads?.[0], schema: FileSchema }];
66
67
  }
@@ -68,7 +69,8 @@ var FileWitness = class extends import_abstract_witness.AbstractWitness {
68
69
 
69
70
  // src/BrowserFileWitness.ts
70
71
  var BrowserFileWitness = class extends FileWitness {
71
- static configSchemas = [FileWitnessConfigSchema];
72
+ static configSchemas = [...super.configSchemas, FileWitnessConfigSchema];
73
+ static defaultConfigSchema = FileWitnessConfigSchema;
72
74
  async observeHandler() {
73
75
  try {
74
76
  const [payload] = await this.witnessBrowserFile();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/BrowserFileWitness.ts","../../src/Config.ts","../../src/Schema.ts","../../src/util/GenerateDataUri.ts","../../src/Witness.ts","../../src/Payload.ts","../../src/PluginBrowser.ts"],"sourcesContent":["export * from './BrowserFileWitness'\nexport * from './Config'\nexport * from './Params'\nexport * from './Payload'\nexport { BrowserFilePlugin, BrowserFilePlugin as default } from './PluginBrowser'\nexport * from './Schema'\nexport * from './Witness'\n","import { assertEx } from '@xylabs/assert'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport shajs from 'sha.js'\n\nimport { FileWitnessConfigSchema } from './Config'\nimport { BrowserFileWitnessAdditionalParams } from './Params'\nimport { FilePayload } from './Payload'\nimport { FileSchema } from './Schema'\nimport { generateDataUri } from './util'\nimport { FileWitness, FileWitnessParams } from './Witness'\n\ntype BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams\n\nexport class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {\n static override configSchemas = [FileWitnessConfigSchema]\n\n protected override async observeHandler() {\n try {\n const [payload] = await this.witnessBrowserFile()\n const { logger } = this.params\n logger?.log(`BrowserFileWitness: ${await PayloadBuilder.dataHash(payload)}`)\n return [payload]\n } catch (e) {\n throw new Error(`Error reading file: ${e}`)\n }\n }\n\n private readBinaryFile(file: File): Promise<Uint8Array> {\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader()\n fileReader.addEventListener('load', (event) => {\n const arrayBuffer = event.target?.result as ArrayBuffer\n resolve(new Uint8Array(arrayBuffer))\n })\n // eslint-disable-next-line unicorn/prefer-add-event-listener\n fileReader.onerror = () => reject(fileReader.error)\n // eslint-disable-next-line unicorn/prefer-blob-reading-methods\n fileReader.readAsArrayBuffer(file)\n })\n }\n\n private async witnessBrowserFile(): Promise<[FilePayload, Uint8Array]> {\n const file = assertEx(this.params.file, () => 'File is missing from params')\n const fileBinary = await this.readBinaryFile(file)\n const result = new Uint8Array(fileBinary)\n const hash = shajs('sha256').update(result).digest('hex').padStart(64, '0')\n\n return [\n {\n hash,\n length: fileBinary.byteLength,\n meta: {\n name: file.name,\n type: file.type,\n },\n modified: file.lastModified,\n schema: FileSchema,\n uri: this.config.storage === 'data-uri' ? generateDataUri(fileBinary) : file.name,\n },\n fileBinary,\n ]\n }\n}\n","import { WitnessConfig } from '@xyo-network/witness-model'\n\nexport type FileWitnessConfigSchema = 'network.xyo.file.witness.config'\nexport const FileWitnessConfigSchema: FileWitnessConfigSchema = 'network.xyo.file.witness.config'\n\nexport type FileWitnessConfig = WitnessConfig<{\n schema: FileWitnessConfigSchema\n storage?: 'data-uri'\n}>\n","export type FileSchema = 'network.xyo.file'\nexport const FileSchema: FileSchema = 'network.xyo.file'\n","import { base64 } from '@scure/base'\n\nexport const generateDataUri = (data: Uint8Array): string => {\n return `data:application/octet-stream;base64,${base64.encode(data)}`\n}\n","import { Promisable } from '@xylabs/promise'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { WitnessModule, WitnessParams } from '@xyo-network/witness-model'\n\nimport { FileWitnessConfig, FileWitnessConfigSchema } from './Config'\nimport { FileSchema } from './Schema'\n\nexport type FileWitnessParams = WitnessParams<AnyConfigSchema<FileWitnessConfig>>\n\n// Abstract so that derived classes provide a type for the file param and methods to parse it\nexport abstract class FileWitness<TParams extends FileWitnessParams = FileWitnessParams> extends AbstractWitness<TParams> implements WitnessModule {\n static override configSchemas = [FileWitnessConfigSchema]\n\n protected override observeHandler(payloads?: Payload[]): Promisable<Payload[]> {\n return [{ ...payloads?.[0], schema: FileSchema }]\n }\n}\n","import { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nimport { FileSchema } from './Schema'\n\nexport type BinaryDataHash = string\n\n/** @description File location and optional data */\nexport type FilePayload = Payload<\n {\n created?: number\n hash: BinaryDataHash\n length: number\n /** @field Storage specific meta data */\n meta?: Record<string, string | number>\n modified?: number\n uri: string\n },\n FileSchema\n>\n\nexport const isFilePayload = isPayloadOfSchemaType<FilePayload>(FileSchema)\n","import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { BrowserFileWitness } from './BrowserFileWitness'\nimport { FileSchema } from './Schema'\n\nexport const BrowserFilePlugin = () =>\n createPayloadSetWitnessPlugin<BrowserFileWitness>(\n { required: { [FileSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await BrowserFileWitness.create(params)\n return result\n },\n },\n )\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oBAAyB;AACzB,6BAA+B;AAC/B,iBAAkB;;;ACCX,IAAM,0BAAmD;;;ACFzD,IAAM,aAAyB;;;ACDtC,kBAAuB;AAEhB,IAAM,kBAAkB,CAAC,SAA6B;AAC3D,SAAO,wCAAwC,mBAAO,OAAO,IAAI,CAAC;AACpE;;;ACHA,8BAAgC;AAWzB,IAAe,cAAf,cAA0F,wCAAkD;AAAA,EACjJ,OAAgB,gBAAgB,CAAC,uBAAuB;AAAA,EAErC,eAAe,UAA6C;AAC7E,WAAO,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,QAAQ,WAAW,CAAC;AAAA,EAClD;AACF;;;AJLO,IAAM,qBAAN,cAAiC,YAAsC;AAAA,EAC5E,OAAgB,gBAAgB,CAAC,uBAAuB;AAAA,EAExD,MAAyB,iBAAiB;AACxC,QAAI;AACF,YAAM,CAAC,OAAO,IAAI,MAAM,KAAK,mBAAmB;AAChD,YAAM,EAAE,OAAO,IAAI,KAAK;AACxB,cAAQ,IAAI,uBAAuB,MAAM,sCAAe,SAAS,OAAO,CAAC,EAAE;AAC3E,aAAO,CAAC,OAAO;AAAA,IACjB,SAAS,GAAG;AACV,YAAM,IAAI,MAAM,uBAAuB,CAAC,EAAE;AAAA,IAC5C;AAAA,EACF;AAAA,EAEQ,eAAe,MAAiC;AACtD,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,YAAM,aAAa,IAAI,WAAW;AAClC,iBAAW,iBAAiB,QAAQ,CAAC,UAAU;AAC7C,cAAM,cAAc,MAAM,QAAQ;AAClC,gBAAQ,IAAI,WAAW,WAAW,CAAC;AAAA,MACrC,CAAC;AAED,iBAAW,UAAU,MAAM,OAAO,WAAW,KAAK;AAElD,iBAAW,kBAAkB,IAAI;AAAA,IACnC,CAAC;AAAA,EACH;AAAA,EAEA,MAAc,qBAAyD;AACrE,UAAM,WAAO,wBAAS,KAAK,OAAO,MAAM,MAAM,6BAA6B;AAC3E,UAAM,aAAa,MAAM,KAAK,eAAe,IAAI;AACjD,UAAM,SAAS,IAAI,WAAW,UAAU;AACxC,UAAM,WAAO,WAAAA,SAAM,QAAQ,EAAE,OAAO,MAAM,EAAE,OAAO,KAAK,EAAE,SAAS,IAAI,GAAG;AAE1E,WAAO;AAAA,MACL;AAAA,QACE;AAAA,QACA,QAAQ,WAAW;AAAA,QACnB,MAAM;AAAA,UACJ,MAAM,KAAK;AAAA,UACX,MAAM,KAAK;AAAA,QACb;AAAA,QACA,UAAU,KAAK;AAAA,QACf,QAAQ;AAAA,QACR,KAAK,KAAK,OAAO,YAAY,aAAa,gBAAgB,UAAU,IAAI,KAAK;AAAA,MAC/E;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;;;AK9DA,2BAA+C;AAoBxC,IAAM,oBAAgB,4CAAmC,UAAU;;;ACpB1E,IAAAC,wBAAiC;AACjC,+BAA8C;AAKvC,IAAM,oBAAoB,UAC/B;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,UAAU,GAAG,EAAE,GAAG,QAAQ,uCAAiB;AAAA,EAC1D;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,YAAM,SAAS,MAAM,mBAAmB,OAAO,MAAM;AACrD,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":["shajs","import_payload_model"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/BrowserFileWitness.ts","../../src/Config.ts","../../src/Schema.ts","../../src/util/GenerateDataUri.ts","../../src/Witness.ts","../../src/Payload.ts","../../src/PluginBrowser.ts"],"sourcesContent":["export * from './BrowserFileWitness'\nexport * from './Config'\nexport * from './Params'\nexport * from './Payload'\nexport { BrowserFilePlugin, BrowserFilePlugin as default } from './PluginBrowser'\nexport * from './Schema'\nexport * from './Witness'\n","import { assertEx } from '@xylabs/assert'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Schema } from '@xyo-network/payload-model'\nimport shajs from 'sha.js'\n\nimport { FileWitnessConfigSchema } from './Config'\nimport { BrowserFileWitnessAdditionalParams } from './Params'\nimport { FilePayload } from './Payload'\nimport { FileSchema } from './Schema'\nimport { generateDataUri } from './util'\nimport { FileWitness, FileWitnessParams } from './Witness'\n\ntype BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams\n\nexport class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {\n static override configSchemas: Schema[] = [...super.configSchemas, FileWitnessConfigSchema]\n static override defaultConfigSchema: Schema = FileWitnessConfigSchema\n\n protected override async observeHandler() {\n try {\n const [payload] = await this.witnessBrowserFile()\n const { logger } = this.params\n logger?.log(`BrowserFileWitness: ${await PayloadBuilder.dataHash(payload)}`)\n return [payload]\n } catch (e) {\n throw new Error(`Error reading file: ${e}`)\n }\n }\n\n private readBinaryFile(file: File): Promise<Uint8Array> {\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader()\n fileReader.addEventListener('load', (event) => {\n const arrayBuffer = event.target?.result as ArrayBuffer\n resolve(new Uint8Array(arrayBuffer))\n })\n // eslint-disable-next-line unicorn/prefer-add-event-listener\n fileReader.onerror = () => reject(fileReader.error)\n // eslint-disable-next-line unicorn/prefer-blob-reading-methods\n fileReader.readAsArrayBuffer(file)\n })\n }\n\n private async witnessBrowserFile(): Promise<[FilePayload, Uint8Array]> {\n const file = assertEx(this.params.file, () => 'File is missing from params')\n const fileBinary = await this.readBinaryFile(file)\n const result = new Uint8Array(fileBinary)\n const hash = shajs('sha256').update(result).digest('hex').padStart(64, '0')\n\n return [\n {\n hash,\n length: fileBinary.byteLength,\n meta: {\n name: file.name,\n type: file.type,\n },\n modified: file.lastModified,\n schema: FileSchema,\n uri: this.config.storage === 'data-uri' ? generateDataUri(fileBinary) : file.name,\n },\n fileBinary,\n ]\n }\n}\n","import { WitnessConfig } from '@xyo-network/witness-model'\n\nexport type FileWitnessConfigSchema = 'network.xyo.file.witness.config'\nexport const FileWitnessConfigSchema: FileWitnessConfigSchema = 'network.xyo.file.witness.config'\n\nexport type FileWitnessConfig = WitnessConfig<{\n schema: FileWitnessConfigSchema\n storage?: 'data-uri'\n}>\n","export type FileSchema = 'network.xyo.file'\nexport const FileSchema: FileSchema = 'network.xyo.file'\n","import { base64 } from '@scure/base'\n\nexport const generateDataUri = (data: Uint8Array): string => {\n return `data:application/octet-stream;base64,${base64.encode(data)}`\n}\n","import { Promisable } from '@xylabs/promise'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\nimport { WitnessModule, WitnessParams } from '@xyo-network/witness-model'\n\nimport { FileWitnessConfig, FileWitnessConfigSchema } from './Config'\nimport { FileSchema } from './Schema'\n\nexport type FileWitnessParams = WitnessParams<AnyConfigSchema<FileWitnessConfig>>\n\n// Abstract so that derived classes provide a type for the file param and methods to parse it\nexport abstract class FileWitness<TParams extends FileWitnessParams = FileWitnessParams> extends AbstractWitness<TParams> implements WitnessModule {\n static override configSchemas: Schema[] = [...super.configSchemas, FileWitnessConfigSchema]\n static override defaultConfigSchema: Schema = FileWitnessConfigSchema\n\n protected override observeHandler(payloads?: Payload[]): Promisable<Payload[]> {\n return [{ ...payloads?.[0], schema: FileSchema }]\n }\n}\n","import { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nimport { FileSchema } from './Schema'\n\nexport type BinaryDataHash = string\n\n/** @description File location and optional data */\nexport type FilePayload = Payload<\n {\n created?: number\n hash: BinaryDataHash\n length: number\n /** @field Storage specific meta data */\n meta?: Record<string, string | number>\n modified?: number\n uri: string\n },\n FileSchema\n>\n\nexport const isFilePayload = isPayloadOfSchemaType<FilePayload>(FileSchema)\n","import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { BrowserFileWitness } from './BrowserFileWitness'\nimport { FileSchema } from './Schema'\n\nexport const BrowserFilePlugin = () =>\n createPayloadSetWitnessPlugin<BrowserFileWitness>(\n { required: { [FileSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await BrowserFileWitness.create(params)\n return result\n },\n },\n )\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oBAAyB;AACzB,6BAA+B;AAE/B,iBAAkB;;;ACAX,IAAM,0BAAmD;;;ACFzD,IAAM,aAAyB;;;ACDtC,kBAAuB;AAEhB,IAAM,kBAAkB,CAAC,SAA6B;AAC3D,SAAO,wCAAwC,mBAAO,OAAO,IAAI,CAAC;AACpE;;;ACHA,8BAAgC;AAWzB,IAAe,cAAf,cAA0F,wCAAkD;AAAA,EACjJ,OAAgB,gBAA0B,CAAC,GAAG,MAAM,eAAe,uBAAuB;AAAA,EAC1F,OAAgB,sBAA8B;AAAA,EAE3B,eAAe,UAA6C;AAC7E,WAAO,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,QAAQ,WAAW,CAAC;AAAA,EAClD;AACF;;;AJLO,IAAM,qBAAN,cAAiC,YAAsC;AAAA,EAC5E,OAAgB,gBAA0B,CAAC,GAAG,MAAM,eAAe,uBAAuB;AAAA,EAC1F,OAAgB,sBAA8B;AAAA,EAE9C,MAAyB,iBAAiB;AACxC,QAAI;AACF,YAAM,CAAC,OAAO,IAAI,MAAM,KAAK,mBAAmB;AAChD,YAAM,EAAE,OAAO,IAAI,KAAK;AACxB,cAAQ,IAAI,uBAAuB,MAAM,sCAAe,SAAS,OAAO,CAAC,EAAE;AAC3E,aAAO,CAAC,OAAO;AAAA,IACjB,SAAS,GAAG;AACV,YAAM,IAAI,MAAM,uBAAuB,CAAC,EAAE;AAAA,IAC5C;AAAA,EACF;AAAA,EAEQ,eAAe,MAAiC;AACtD,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,YAAM,aAAa,IAAI,WAAW;AAClC,iBAAW,iBAAiB,QAAQ,CAAC,UAAU;AAC7C,cAAM,cAAc,MAAM,QAAQ;AAClC,gBAAQ,IAAI,WAAW,WAAW,CAAC;AAAA,MACrC,CAAC;AAED,iBAAW,UAAU,MAAM,OAAO,WAAW,KAAK;AAElD,iBAAW,kBAAkB,IAAI;AAAA,IACnC,CAAC;AAAA,EACH;AAAA,EAEA,MAAc,qBAAyD;AACrE,UAAM,WAAO,wBAAS,KAAK,OAAO,MAAM,MAAM,6BAA6B;AAC3E,UAAM,aAAa,MAAM,KAAK,eAAe,IAAI;AACjD,UAAM,SAAS,IAAI,WAAW,UAAU;AACxC,UAAM,WAAO,WAAAA,SAAM,QAAQ,EAAE,OAAO,MAAM,EAAE,OAAO,KAAK,EAAE,SAAS,IAAI,GAAG;AAE1E,WAAO;AAAA,MACL;AAAA,QACE;AAAA,QACA,QAAQ,WAAW;AAAA,QACnB,MAAM;AAAA,UACJ,MAAM,KAAK;AAAA,UACX,MAAM,KAAK;AAAA,QACb;AAAA,QACA,UAAU,KAAK;AAAA,QACf,QAAQ;AAAA,QACR,KAAK,KAAK,OAAO,YAAY,aAAa,gBAAgB,UAAU,IAAI,KAAK;AAAA,MAC/E;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;;;AKhEA,2BAA+C;AAoBxC,IAAM,oBAAgB,4CAAmC,UAAU;;;ACpB1E,IAAAC,wBAAiC;AACjC,+BAA8C;AAKvC,IAAM,oBAAoB,UAC/B;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,UAAU,GAAG,EAAE,GAAG,QAAQ,uCAAiB;AAAA,EAC1D;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,YAAM,SAAS,MAAM,mBAAmB,OAAO,MAAM;AACrD,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":["shajs","import_payload_model"]}
@@ -18,7 +18,8 @@ var generateDataUri = (data) => {
18
18
  // src/Witness.ts
19
19
  import { AbstractWitness } from "@xyo-network/abstract-witness";
20
20
  var FileWitness = class extends AbstractWitness {
21
- static configSchemas = [FileWitnessConfigSchema];
21
+ static configSchemas = [...super.configSchemas, FileWitnessConfigSchema];
22
+ static defaultConfigSchema = FileWitnessConfigSchema;
22
23
  observeHandler(payloads) {
23
24
  return [{ ...payloads?.[0], schema: FileSchema }];
24
25
  }
@@ -26,7 +27,8 @@ var FileWitness = class extends AbstractWitness {
26
27
 
27
28
  // src/BrowserFileWitness.ts
28
29
  var BrowserFileWitness = class extends FileWitness {
29
- static configSchemas = [FileWitnessConfigSchema];
30
+ static configSchemas = [...super.configSchemas, FileWitnessConfigSchema];
31
+ static defaultConfigSchema = FileWitnessConfigSchema;
30
32
  async observeHandler() {
31
33
  try {
32
34
  const [payload] = await this.witnessBrowserFile();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/BrowserFileWitness.ts","../../src/Config.ts","../../src/Schema.ts","../../src/util/GenerateDataUri.ts","../../src/Witness.ts","../../src/Payload.ts","../../src/PluginBrowser.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport shajs from 'sha.js'\n\nimport { FileWitnessConfigSchema } from './Config'\nimport { BrowserFileWitnessAdditionalParams } from './Params'\nimport { FilePayload } from './Payload'\nimport { FileSchema } from './Schema'\nimport { generateDataUri } from './util'\nimport { FileWitness, FileWitnessParams } from './Witness'\n\ntype BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams\n\nexport class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {\n static override configSchemas = [FileWitnessConfigSchema]\n\n protected override async observeHandler() {\n try {\n const [payload] = await this.witnessBrowserFile()\n const { logger } = this.params\n logger?.log(`BrowserFileWitness: ${await PayloadBuilder.dataHash(payload)}`)\n return [payload]\n } catch (e) {\n throw new Error(`Error reading file: ${e}`)\n }\n }\n\n private readBinaryFile(file: File): Promise<Uint8Array> {\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader()\n fileReader.addEventListener('load', (event) => {\n const arrayBuffer = event.target?.result as ArrayBuffer\n resolve(new Uint8Array(arrayBuffer))\n })\n // eslint-disable-next-line unicorn/prefer-add-event-listener\n fileReader.onerror = () => reject(fileReader.error)\n // eslint-disable-next-line unicorn/prefer-blob-reading-methods\n fileReader.readAsArrayBuffer(file)\n })\n }\n\n private async witnessBrowserFile(): Promise<[FilePayload, Uint8Array]> {\n const file = assertEx(this.params.file, () => 'File is missing from params')\n const fileBinary = await this.readBinaryFile(file)\n const result = new Uint8Array(fileBinary)\n const hash = shajs('sha256').update(result).digest('hex').padStart(64, '0')\n\n return [\n {\n hash,\n length: fileBinary.byteLength,\n meta: {\n name: file.name,\n type: file.type,\n },\n modified: file.lastModified,\n schema: FileSchema,\n uri: this.config.storage === 'data-uri' ? generateDataUri(fileBinary) : file.name,\n },\n fileBinary,\n ]\n }\n}\n","import { WitnessConfig } from '@xyo-network/witness-model'\n\nexport type FileWitnessConfigSchema = 'network.xyo.file.witness.config'\nexport const FileWitnessConfigSchema: FileWitnessConfigSchema = 'network.xyo.file.witness.config'\n\nexport type FileWitnessConfig = WitnessConfig<{\n schema: FileWitnessConfigSchema\n storage?: 'data-uri'\n}>\n","export type FileSchema = 'network.xyo.file'\nexport const FileSchema: FileSchema = 'network.xyo.file'\n","import { base64 } from '@scure/base'\n\nexport const generateDataUri = (data: Uint8Array): string => {\n return `data:application/octet-stream;base64,${base64.encode(data)}`\n}\n","import { Promisable } from '@xylabs/promise'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { WitnessModule, WitnessParams } from '@xyo-network/witness-model'\n\nimport { FileWitnessConfig, FileWitnessConfigSchema } from './Config'\nimport { FileSchema } from './Schema'\n\nexport type FileWitnessParams = WitnessParams<AnyConfigSchema<FileWitnessConfig>>\n\n// Abstract so that derived classes provide a type for the file param and methods to parse it\nexport abstract class FileWitness<TParams extends FileWitnessParams = FileWitnessParams> extends AbstractWitness<TParams> implements WitnessModule {\n static override configSchemas = [FileWitnessConfigSchema]\n\n protected override observeHandler(payloads?: Payload[]): Promisable<Payload[]> {\n return [{ ...payloads?.[0], schema: FileSchema }]\n }\n}\n","import { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nimport { FileSchema } from './Schema'\n\nexport type BinaryDataHash = string\n\n/** @description File location and optional data */\nexport type FilePayload = Payload<\n {\n created?: number\n hash: BinaryDataHash\n length: number\n /** @field Storage specific meta data */\n meta?: Record<string, string | number>\n modified?: number\n uri: string\n },\n FileSchema\n>\n\nexport const isFilePayload = isPayloadOfSchemaType<FilePayload>(FileSchema)\n","import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { BrowserFileWitness } from './BrowserFileWitness'\nimport { FileSchema } from './Schema'\n\nexport const BrowserFilePlugin = () =>\n createPayloadSetWitnessPlugin<BrowserFileWitness>(\n { required: { [FileSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await BrowserFileWitness.create(params)\n return result\n },\n },\n )\n"],"mappings":";AAAA,SAAS,gBAAgB;AACzB,SAAS,sBAAsB;AAC/B,OAAO,WAAW;;;ACCX,IAAM,0BAAmD;;;ACFzD,IAAM,aAAyB;;;ACDtC,SAAS,cAAc;AAEhB,IAAM,kBAAkB,CAAC,SAA6B;AAC3D,SAAO,wCAAwC,OAAO,OAAO,IAAI,CAAC;AACpE;;;ACHA,SAAS,uBAAuB;AAWzB,IAAe,cAAf,cAA0F,gBAAkD;AAAA,EACjJ,OAAgB,gBAAgB,CAAC,uBAAuB;AAAA,EAErC,eAAe,UAA6C;AAC7E,WAAO,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,QAAQ,WAAW,CAAC;AAAA,EAClD;AACF;;;AJLO,IAAM,qBAAN,cAAiC,YAAsC;AAAA,EAC5E,OAAgB,gBAAgB,CAAC,uBAAuB;AAAA,EAExD,MAAyB,iBAAiB;AACxC,QAAI;AACF,YAAM,CAAC,OAAO,IAAI,MAAM,KAAK,mBAAmB;AAChD,YAAM,EAAE,OAAO,IAAI,KAAK;AACxB,cAAQ,IAAI,uBAAuB,MAAM,eAAe,SAAS,OAAO,CAAC,EAAE;AAC3E,aAAO,CAAC,OAAO;AAAA,IACjB,SAAS,GAAG;AACV,YAAM,IAAI,MAAM,uBAAuB,CAAC,EAAE;AAAA,IAC5C;AAAA,EACF;AAAA,EAEQ,eAAe,MAAiC;AACtD,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,YAAM,aAAa,IAAI,WAAW;AAClC,iBAAW,iBAAiB,QAAQ,CAAC,UAAU;AAC7C,cAAM,cAAc,MAAM,QAAQ;AAClC,gBAAQ,IAAI,WAAW,WAAW,CAAC;AAAA,MACrC,CAAC;AAED,iBAAW,UAAU,MAAM,OAAO,WAAW,KAAK;AAElD,iBAAW,kBAAkB,IAAI;AAAA,IACnC,CAAC;AAAA,EACH;AAAA,EAEA,MAAc,qBAAyD;AACrE,UAAM,OAAO,SAAS,KAAK,OAAO,MAAM,MAAM,6BAA6B;AAC3E,UAAM,aAAa,MAAM,KAAK,eAAe,IAAI;AACjD,UAAM,SAAS,IAAI,WAAW,UAAU;AACxC,UAAM,OAAO,MAAM,QAAQ,EAAE,OAAO,MAAM,EAAE,OAAO,KAAK,EAAE,SAAS,IAAI,GAAG;AAE1E,WAAO;AAAA,MACL;AAAA,QACE;AAAA,QACA,QAAQ,WAAW;AAAA,QACnB,MAAM;AAAA,UACJ,MAAM,KAAK;AAAA,UACX,MAAM,KAAK;AAAA,QACb;AAAA,QACA,UAAU,KAAK;AAAA,QACf,QAAQ;AAAA,QACR,KAAK,KAAK,OAAO,YAAY,aAAa,gBAAgB,UAAU,IAAI,KAAK;AAAA,MAC/E;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;;;AK9DA,SAAS,6BAAsC;AAoBxC,IAAM,gBAAgB,sBAAmC,UAAU;;;ACpB1E,SAAS,wBAAwB;AACjC,SAAS,qCAAqC;AAKvC,IAAM,oBAAoB,MAC/B;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,UAAU,GAAG,EAAE,GAAG,QAAQ,iBAAiB;AAAA,EAC1D;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,YAAM,SAAS,MAAM,mBAAmB,OAAO,MAAM;AACrD,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/BrowserFileWitness.ts","../../src/Config.ts","../../src/Schema.ts","../../src/util/GenerateDataUri.ts","../../src/Witness.ts","../../src/Payload.ts","../../src/PluginBrowser.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Schema } from '@xyo-network/payload-model'\nimport shajs from 'sha.js'\n\nimport { FileWitnessConfigSchema } from './Config'\nimport { BrowserFileWitnessAdditionalParams } from './Params'\nimport { FilePayload } from './Payload'\nimport { FileSchema } from './Schema'\nimport { generateDataUri } from './util'\nimport { FileWitness, FileWitnessParams } from './Witness'\n\ntype BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams\n\nexport class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {\n static override configSchemas: Schema[] = [...super.configSchemas, FileWitnessConfigSchema]\n static override defaultConfigSchema: Schema = FileWitnessConfigSchema\n\n protected override async observeHandler() {\n try {\n const [payload] = await this.witnessBrowserFile()\n const { logger } = this.params\n logger?.log(`BrowserFileWitness: ${await PayloadBuilder.dataHash(payload)}`)\n return [payload]\n } catch (e) {\n throw new Error(`Error reading file: ${e}`)\n }\n }\n\n private readBinaryFile(file: File): Promise<Uint8Array> {\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader()\n fileReader.addEventListener('load', (event) => {\n const arrayBuffer = event.target?.result as ArrayBuffer\n resolve(new Uint8Array(arrayBuffer))\n })\n // eslint-disable-next-line unicorn/prefer-add-event-listener\n fileReader.onerror = () => reject(fileReader.error)\n // eslint-disable-next-line unicorn/prefer-blob-reading-methods\n fileReader.readAsArrayBuffer(file)\n })\n }\n\n private async witnessBrowserFile(): Promise<[FilePayload, Uint8Array]> {\n const file = assertEx(this.params.file, () => 'File is missing from params')\n const fileBinary = await this.readBinaryFile(file)\n const result = new Uint8Array(fileBinary)\n const hash = shajs('sha256').update(result).digest('hex').padStart(64, '0')\n\n return [\n {\n hash,\n length: fileBinary.byteLength,\n meta: {\n name: file.name,\n type: file.type,\n },\n modified: file.lastModified,\n schema: FileSchema,\n uri: this.config.storage === 'data-uri' ? generateDataUri(fileBinary) : file.name,\n },\n fileBinary,\n ]\n }\n}\n","import { WitnessConfig } from '@xyo-network/witness-model'\n\nexport type FileWitnessConfigSchema = 'network.xyo.file.witness.config'\nexport const FileWitnessConfigSchema: FileWitnessConfigSchema = 'network.xyo.file.witness.config'\n\nexport type FileWitnessConfig = WitnessConfig<{\n schema: FileWitnessConfigSchema\n storage?: 'data-uri'\n}>\n","export type FileSchema = 'network.xyo.file'\nexport const FileSchema: FileSchema = 'network.xyo.file'\n","import { base64 } from '@scure/base'\n\nexport const generateDataUri = (data: Uint8Array): string => {\n return `data:application/octet-stream;base64,${base64.encode(data)}`\n}\n","import { Promisable } from '@xylabs/promise'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\nimport { WitnessModule, WitnessParams } from '@xyo-network/witness-model'\n\nimport { FileWitnessConfig, FileWitnessConfigSchema } from './Config'\nimport { FileSchema } from './Schema'\n\nexport type FileWitnessParams = WitnessParams<AnyConfigSchema<FileWitnessConfig>>\n\n// Abstract so that derived classes provide a type for the file param and methods to parse it\nexport abstract class FileWitness<TParams extends FileWitnessParams = FileWitnessParams> extends AbstractWitness<TParams> implements WitnessModule {\n static override configSchemas: Schema[] = [...super.configSchemas, FileWitnessConfigSchema]\n static override defaultConfigSchema: Schema = FileWitnessConfigSchema\n\n protected override observeHandler(payloads?: Payload[]): Promisable<Payload[]> {\n return [{ ...payloads?.[0], schema: FileSchema }]\n }\n}\n","import { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nimport { FileSchema } from './Schema'\n\nexport type BinaryDataHash = string\n\n/** @description File location and optional data */\nexport type FilePayload = Payload<\n {\n created?: number\n hash: BinaryDataHash\n length: number\n /** @field Storage specific meta data */\n meta?: Record<string, string | number>\n modified?: number\n uri: string\n },\n FileSchema\n>\n\nexport const isFilePayload = isPayloadOfSchemaType<FilePayload>(FileSchema)\n","import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { BrowserFileWitness } from './BrowserFileWitness'\nimport { FileSchema } from './Schema'\n\nexport const BrowserFilePlugin = () =>\n createPayloadSetWitnessPlugin<BrowserFileWitness>(\n { required: { [FileSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await BrowserFileWitness.create(params)\n return result\n },\n },\n )\n"],"mappings":";AAAA,SAAS,gBAAgB;AACzB,SAAS,sBAAsB;AAE/B,OAAO,WAAW;;;ACAX,IAAM,0BAAmD;;;ACFzD,IAAM,aAAyB;;;ACDtC,SAAS,cAAc;AAEhB,IAAM,kBAAkB,CAAC,SAA6B;AAC3D,SAAO,wCAAwC,OAAO,OAAO,IAAI,CAAC;AACpE;;;ACHA,SAAS,uBAAuB;AAWzB,IAAe,cAAf,cAA0F,gBAAkD;AAAA,EACjJ,OAAgB,gBAA0B,CAAC,GAAG,MAAM,eAAe,uBAAuB;AAAA,EAC1F,OAAgB,sBAA8B;AAAA,EAE3B,eAAe,UAA6C;AAC7E,WAAO,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,QAAQ,WAAW,CAAC;AAAA,EAClD;AACF;;;AJLO,IAAM,qBAAN,cAAiC,YAAsC;AAAA,EAC5E,OAAgB,gBAA0B,CAAC,GAAG,MAAM,eAAe,uBAAuB;AAAA,EAC1F,OAAgB,sBAA8B;AAAA,EAE9C,MAAyB,iBAAiB;AACxC,QAAI;AACF,YAAM,CAAC,OAAO,IAAI,MAAM,KAAK,mBAAmB;AAChD,YAAM,EAAE,OAAO,IAAI,KAAK;AACxB,cAAQ,IAAI,uBAAuB,MAAM,eAAe,SAAS,OAAO,CAAC,EAAE;AAC3E,aAAO,CAAC,OAAO;AAAA,IACjB,SAAS,GAAG;AACV,YAAM,IAAI,MAAM,uBAAuB,CAAC,EAAE;AAAA,IAC5C;AAAA,EACF;AAAA,EAEQ,eAAe,MAAiC;AACtD,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,YAAM,aAAa,IAAI,WAAW;AAClC,iBAAW,iBAAiB,QAAQ,CAAC,UAAU;AAC7C,cAAM,cAAc,MAAM,QAAQ;AAClC,gBAAQ,IAAI,WAAW,WAAW,CAAC;AAAA,MACrC,CAAC;AAED,iBAAW,UAAU,MAAM,OAAO,WAAW,KAAK;AAElD,iBAAW,kBAAkB,IAAI;AAAA,IACnC,CAAC;AAAA,EACH;AAAA,EAEA,MAAc,qBAAyD;AACrE,UAAM,OAAO,SAAS,KAAK,OAAO,MAAM,MAAM,6BAA6B;AAC3E,UAAM,aAAa,MAAM,KAAK,eAAe,IAAI;AACjD,UAAM,SAAS,IAAI,WAAW,UAAU;AACxC,UAAM,OAAO,MAAM,QAAQ,EAAE,OAAO,MAAM,EAAE,OAAO,KAAK,EAAE,SAAS,IAAI,GAAG;AAE1E,WAAO;AAAA,MACL;AAAA,QACE;AAAA,QACA,QAAQ,WAAW;AAAA,QACnB,MAAM;AAAA,UACJ,MAAM,KAAK;AAAA,UACX,MAAM,KAAK;AAAA,QACb;AAAA,QACA,UAAU,KAAK;AAAA,QACf,QAAQ;AAAA,QACR,KAAK,KAAK,OAAO,YAAY,aAAa,gBAAgB,UAAU,IAAI,KAAK;AAAA,MAC/E;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;;;AKhEA,SAAS,6BAAsC;AAoBxC,IAAM,gBAAgB,sBAAmC,UAAU;;;ACpB1E,SAAS,wBAAwB;AACjC,SAAS,qCAAqC;AAKvC,IAAM,oBAAoB,MAC/B;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,UAAU,GAAG,EAAE,GAAG,QAAQ,iBAAiB;AAAA,EAC1D;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,YAAM,SAAS,MAAM,mBAAmB,OAAO,MAAM;AACrD,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":[]}
@@ -1,8 +1,10 @@
1
+ import { Schema } from '@xyo-network/payload-model';
1
2
  import { BrowserFileWitnessAdditionalParams } from './Params';
2
3
  import { FileWitness, FileWitnessParams } from './Witness';
3
4
  type BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams;
4
5
  export declare class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {
5
- static configSchemas: "network.xyo.file.witness.config"[];
6
+ static configSchemas: Schema[];
7
+ static defaultConfigSchema: Schema;
6
8
  protected observeHandler(): Promise<(import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
7
9
  created?: number | undefined;
8
10
  hash: string;
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,sCAA4B;cAEhC,cAAc;;;;;;;;;;IAWvC,OAAO,CAAC,cAAc;YAcR,kBAAkB;CAqBjC"}
1
+ {"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAInD,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,EAAE,MAAM,EAAE,CAAoD;IAC3F,OAAgB,mBAAmB,EAAE,MAAM,CAA0B;cAE5C,cAAc;;;;;;;;;;IAWvC,OAAO,CAAC,cAAc;YAcR,kBAAkB;CAqBjC"}
@@ -1,8 +1,10 @@
1
+ import { Schema } from '@xyo-network/payload-model';
1
2
  import { BrowserFileWitnessAdditionalParams } from './Params';
2
3
  import { FileWitness, FileWitnessParams } from './Witness';
3
4
  type BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams;
4
5
  export declare class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {
5
- static configSchemas: "network.xyo.file.witness.config"[];
6
+ static configSchemas: Schema[];
7
+ static defaultConfigSchema: Schema;
6
8
  protected observeHandler(): Promise<(import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
7
9
  created?: number | undefined;
8
10
  hash: string;
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,sCAA4B;cAEhC,cAAc;;;;;;;;;;IAWvC,OAAO,CAAC,cAAc;YAcR,kBAAkB;CAqBjC"}
1
+ {"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAInD,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,EAAE,MAAM,EAAE,CAAoD;IAC3F,OAAgB,mBAAmB,EAAE,MAAM,CAA0B;cAE5C,cAAc;;;;;;;;;;IAWvC,OAAO,CAAC,cAAc;YAcR,kBAAkB;CAqBjC"}
@@ -1,8 +1,10 @@
1
+ import { Schema } from '@xyo-network/payload-model';
1
2
  import { BrowserFileWitnessAdditionalParams } from './Params';
2
3
  import { FileWitness, FileWitnessParams } from './Witness';
3
4
  type BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams;
4
5
  export declare class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {
5
- static configSchemas: "network.xyo.file.witness.config"[];
6
+ static configSchemas: Schema[];
7
+ static defaultConfigSchema: Schema;
6
8
  protected observeHandler(): Promise<(import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
7
9
  created?: number | undefined;
8
10
  hash: string;
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,sCAA4B;cAEhC,cAAc;;;;;;;;;;IAWvC,OAAO,CAAC,cAAc;YAcR,kBAAkB;CAqBjC"}
1
+ {"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAInD,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,EAAE,MAAM,EAAE,CAAoD;IAC3F,OAAgB,mBAAmB,EAAE,MAAM,CAA0B;cAE5C,cAAc;;;;;;;;;;IAWvC,OAAO,CAAC,cAAc;YAcR,kBAAkB;CAqBjC"}
@@ -1,12 +1,13 @@
1
1
  import { Promisable } from '@xylabs/promise';
2
2
  import { AbstractWitness } from '@xyo-network/abstract-witness';
3
3
  import { AnyConfigSchema } from '@xyo-network/module-model';
4
- import { Payload } from '@xyo-network/payload-model';
4
+ import { Payload, Schema } from '@xyo-network/payload-model';
5
5
  import { WitnessModule, WitnessParams } from '@xyo-network/witness-model';
6
6
  import { FileWitnessConfig } from './Config';
7
7
  export type FileWitnessParams = WitnessParams<AnyConfigSchema<FileWitnessConfig>>;
8
8
  export declare abstract class FileWitness<TParams extends FileWitnessParams = FileWitnessParams> extends AbstractWitness<TParams> implements WitnessModule {
9
- static configSchemas: "network.xyo.file.witness.config"[];
9
+ static configSchemas: Schema[];
10
+ static defaultConfigSchema: Schema;
10
11
  protected observeHandler(payloads?: Payload[]): Promisable<Payload[]>;
11
12
  }
12
13
  //# sourceMappingURL=Witness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAEzE,OAAO,EAAE,iBAAiB,EAA2B,MAAM,UAAU,CAAA;AAGrE,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAGjF,8BAAsB,WAAW,CAAC,OAAO,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAE,YAAW,aAAa;IAChJ,OAAgB,aAAa,sCAA4B;cAEtC,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;CAG/E"}
1
+ {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAEzE,OAAO,EAAE,iBAAiB,EAA2B,MAAM,UAAU,CAAA;AAGrE,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAGjF,8BAAsB,WAAW,CAAC,OAAO,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAE,YAAW,aAAa;IAChJ,OAAgB,aAAa,EAAE,MAAM,EAAE,CAAoD;IAC3F,OAAgB,mBAAmB,EAAE,MAAM,CAA0B;cAElD,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;CAG/E"}
@@ -1,12 +1,13 @@
1
1
  import { Promisable } from '@xylabs/promise';
2
2
  import { AbstractWitness } from '@xyo-network/abstract-witness';
3
3
  import { AnyConfigSchema } from '@xyo-network/module-model';
4
- import { Payload } from '@xyo-network/payload-model';
4
+ import { Payload, Schema } from '@xyo-network/payload-model';
5
5
  import { WitnessModule, WitnessParams } from '@xyo-network/witness-model';
6
6
  import { FileWitnessConfig } from './Config';
7
7
  export type FileWitnessParams = WitnessParams<AnyConfigSchema<FileWitnessConfig>>;
8
8
  export declare abstract class FileWitness<TParams extends FileWitnessParams = FileWitnessParams> extends AbstractWitness<TParams> implements WitnessModule {
9
- static configSchemas: "network.xyo.file.witness.config"[];
9
+ static configSchemas: Schema[];
10
+ static defaultConfigSchema: Schema;
10
11
  protected observeHandler(payloads?: Payload[]): Promisable<Payload[]>;
11
12
  }
12
13
  //# sourceMappingURL=Witness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAEzE,OAAO,EAAE,iBAAiB,EAA2B,MAAM,UAAU,CAAA;AAGrE,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAGjF,8BAAsB,WAAW,CAAC,OAAO,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAE,YAAW,aAAa;IAChJ,OAAgB,aAAa,sCAA4B;cAEtC,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;CAG/E"}
1
+ {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAEzE,OAAO,EAAE,iBAAiB,EAA2B,MAAM,UAAU,CAAA;AAGrE,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAGjF,8BAAsB,WAAW,CAAC,OAAO,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAE,YAAW,aAAa;IAChJ,OAAgB,aAAa,EAAE,MAAM,EAAE,CAAoD;IAC3F,OAAgB,mBAAmB,EAAE,MAAM,CAA0B;cAElD,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;CAG/E"}
@@ -1,12 +1,13 @@
1
1
  import { Promisable } from '@xylabs/promise';
2
2
  import { AbstractWitness } from '@xyo-network/abstract-witness';
3
3
  import { AnyConfigSchema } from '@xyo-network/module-model';
4
- import { Payload } from '@xyo-network/payload-model';
4
+ import { Payload, Schema } from '@xyo-network/payload-model';
5
5
  import { WitnessModule, WitnessParams } from '@xyo-network/witness-model';
6
6
  import { FileWitnessConfig } from './Config';
7
7
  export type FileWitnessParams = WitnessParams<AnyConfigSchema<FileWitnessConfig>>;
8
8
  export declare abstract class FileWitness<TParams extends FileWitnessParams = FileWitnessParams> extends AbstractWitness<TParams> implements WitnessModule {
9
- static configSchemas: "network.xyo.file.witness.config"[];
9
+ static configSchemas: Schema[];
10
+ static defaultConfigSchema: Schema;
10
11
  protected observeHandler(payloads?: Payload[]): Promisable<Payload[]>;
11
12
  }
12
13
  //# sourceMappingURL=Witness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAEzE,OAAO,EAAE,iBAAiB,EAA2B,MAAM,UAAU,CAAA;AAGrE,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAGjF,8BAAsB,WAAW,CAAC,OAAO,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAE,YAAW,aAAa;IAChJ,OAAgB,aAAa,sCAA4B;cAEtC,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;CAG/E"}
1
+ {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAEzE,OAAO,EAAE,iBAAiB,EAA2B,MAAM,UAAU,CAAA;AAGrE,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAGjF,8BAAsB,WAAW,CAAC,OAAO,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAE,YAAW,aAAa;IAChJ,OAAgB,aAAa,EAAE,MAAM,EAAE,CAAoD;IAC3F,OAAgB,mBAAmB,EAAE,MAAM,CAA0B;cAElD,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;CAG/E"}
@@ -60,7 +60,8 @@ var generateDataUri = (data) => {
60
60
  // src/Witness.ts
61
61
  var import_abstract_witness = require("@xyo-network/abstract-witness");
62
62
  var FileWitness = class extends import_abstract_witness.AbstractWitness {
63
- static configSchemas = [FileWitnessConfigSchema];
63
+ static configSchemas = [...super.configSchemas, FileWitnessConfigSchema];
64
+ static defaultConfigSchema = FileWitnessConfigSchema;
64
65
  observeHandler(payloads) {
65
66
  return [{ ...payloads == null ? void 0 : payloads[0], schema: FileSchema }];
66
67
  }
@@ -68,7 +69,8 @@ var FileWitness = class extends import_abstract_witness.AbstractWitness {
68
69
 
69
70
  // src/BrowserFileWitness.ts
70
71
  var BrowserFileWitness = class extends FileWitness {
71
- static configSchemas = [FileWitnessConfigSchema];
72
+ static configSchemas = [...super.configSchemas, FileWitnessConfigSchema];
73
+ static defaultConfigSchema = FileWitnessConfigSchema;
72
74
  async observeHandler() {
73
75
  try {
74
76
  const [payload] = await this.witnessBrowserFile();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/BrowserFileWitness.ts","../../src/Config.ts","../../src/Schema.ts","../../src/util/GenerateDataUri.ts","../../src/Witness.ts","../../src/Payload.ts","../../src/PluginBrowser.ts"],"sourcesContent":["export * from './BrowserFileWitness'\nexport * from './Config'\nexport * from './Params'\nexport * from './Payload'\nexport { BrowserFilePlugin, BrowserFilePlugin as default } from './PluginBrowser'\nexport * from './Schema'\nexport * from './Witness'\n","import { assertEx } from '@xylabs/assert'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport shajs from 'sha.js'\n\nimport { FileWitnessConfigSchema } from './Config'\nimport { BrowserFileWitnessAdditionalParams } from './Params'\nimport { FilePayload } from './Payload'\nimport { FileSchema } from './Schema'\nimport { generateDataUri } from './util'\nimport { FileWitness, FileWitnessParams } from './Witness'\n\ntype BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams\n\nexport class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {\n static override configSchemas = [FileWitnessConfigSchema]\n\n protected override async observeHandler() {\n try {\n const [payload] = await this.witnessBrowserFile()\n const { logger } = this.params\n logger?.log(`BrowserFileWitness: ${await PayloadBuilder.dataHash(payload)}`)\n return [payload]\n } catch (e) {\n throw new Error(`Error reading file: ${e}`)\n }\n }\n\n private readBinaryFile(file: File): Promise<Uint8Array> {\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader()\n fileReader.addEventListener('load', (event) => {\n const arrayBuffer = event.target?.result as ArrayBuffer\n resolve(new Uint8Array(arrayBuffer))\n })\n // eslint-disable-next-line unicorn/prefer-add-event-listener\n fileReader.onerror = () => reject(fileReader.error)\n // eslint-disable-next-line unicorn/prefer-blob-reading-methods\n fileReader.readAsArrayBuffer(file)\n })\n }\n\n private async witnessBrowserFile(): Promise<[FilePayload, Uint8Array]> {\n const file = assertEx(this.params.file, () => 'File is missing from params')\n const fileBinary = await this.readBinaryFile(file)\n const result = new Uint8Array(fileBinary)\n const hash = shajs('sha256').update(result).digest('hex').padStart(64, '0')\n\n return [\n {\n hash,\n length: fileBinary.byteLength,\n meta: {\n name: file.name,\n type: file.type,\n },\n modified: file.lastModified,\n schema: FileSchema,\n uri: this.config.storage === 'data-uri' ? generateDataUri(fileBinary) : file.name,\n },\n fileBinary,\n ]\n }\n}\n","import { WitnessConfig } from '@xyo-network/witness-model'\n\nexport type FileWitnessConfigSchema = 'network.xyo.file.witness.config'\nexport const FileWitnessConfigSchema: FileWitnessConfigSchema = 'network.xyo.file.witness.config'\n\nexport type FileWitnessConfig = WitnessConfig<{\n schema: FileWitnessConfigSchema\n storage?: 'data-uri'\n}>\n","export type FileSchema = 'network.xyo.file'\nexport const FileSchema: FileSchema = 'network.xyo.file'\n","import { base64 } from '@scure/base'\n\nexport const generateDataUri = (data: Uint8Array): string => {\n return `data:application/octet-stream;base64,${base64.encode(data)}`\n}\n","import { Promisable } from '@xylabs/promise'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { WitnessModule, WitnessParams } from '@xyo-network/witness-model'\n\nimport { FileWitnessConfig, FileWitnessConfigSchema } from './Config'\nimport { FileSchema } from './Schema'\n\nexport type FileWitnessParams = WitnessParams<AnyConfigSchema<FileWitnessConfig>>\n\n// Abstract so that derived classes provide a type for the file param and methods to parse it\nexport abstract class FileWitness<TParams extends FileWitnessParams = FileWitnessParams> extends AbstractWitness<TParams> implements WitnessModule {\n static override configSchemas = [FileWitnessConfigSchema]\n\n protected override observeHandler(payloads?: Payload[]): Promisable<Payload[]> {\n return [{ ...payloads?.[0], schema: FileSchema }]\n }\n}\n","import { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nimport { FileSchema } from './Schema'\n\nexport type BinaryDataHash = string\n\n/** @description File location and optional data */\nexport type FilePayload = Payload<\n {\n created?: number\n hash: BinaryDataHash\n length: number\n /** @field Storage specific meta data */\n meta?: Record<string, string | number>\n modified?: number\n uri: string\n },\n FileSchema\n>\n\nexport const isFilePayload = isPayloadOfSchemaType<FilePayload>(FileSchema)\n","import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { BrowserFileWitness } from './BrowserFileWitness'\nimport { FileSchema } from './Schema'\n\nexport const BrowserFilePlugin = () =>\n createPayloadSetWitnessPlugin<BrowserFileWitness>(\n { required: { [FileSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await BrowserFileWitness.create(params)\n return result\n },\n },\n )\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oBAAyB;AACzB,6BAA+B;AAC/B,iBAAkB;;;ACCX,IAAM,0BAAmD;;;ACFzD,IAAM,aAAyB;;;ACDtC,kBAAuB;AAEhB,IAAM,kBAAkB,CAAC,SAA6B;AAC3D,SAAO,wCAAwC,mBAAO,OAAO,IAAI,CAAC;AACpE;;;ACHA,8BAAgC;AAWzB,IAAe,cAAf,cAA0F,wCAAkD;AAAA,EACjJ,OAAgB,gBAAgB,CAAC,uBAAuB;AAAA,EAErC,eAAe,UAA6C;AAC7E,WAAO,CAAC,EAAE,GAAG,qCAAW,IAAI,QAAQ,WAAW,CAAC;AAAA,EAClD;AACF;;;AJLO,IAAM,qBAAN,cAAiC,YAAsC;AAAA,EAC5E,OAAgB,gBAAgB,CAAC,uBAAuB;AAAA,EAExD,MAAyB,iBAAiB;AACxC,QAAI;AACF,YAAM,CAAC,OAAO,IAAI,MAAM,KAAK,mBAAmB;AAChD,YAAM,EAAE,OAAO,IAAI,KAAK;AACxB,uCAAQ,IAAI,uBAAuB,MAAM,sCAAe,SAAS,OAAO,CAAC;AACzE,aAAO,CAAC,OAAO;AAAA,IACjB,SAAS,GAAG;AACV,YAAM,IAAI,MAAM,uBAAuB,CAAC,EAAE;AAAA,IAC5C;AAAA,EACF;AAAA,EAEQ,eAAe,MAAiC;AACtD,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,YAAM,aAAa,IAAI,WAAW;AAClC,iBAAW,iBAAiB,QAAQ,CAAC,UAAU;AA9BrD;AA+BQ,cAAM,eAAc,WAAM,WAAN,mBAAc;AAClC,gBAAQ,IAAI,WAAW,WAAW,CAAC;AAAA,MACrC,CAAC;AAED,iBAAW,UAAU,MAAM,OAAO,WAAW,KAAK;AAElD,iBAAW,kBAAkB,IAAI;AAAA,IACnC,CAAC;AAAA,EACH;AAAA,EAEA,MAAc,qBAAyD;AACrE,UAAM,WAAO,wBAAS,KAAK,OAAO,MAAM,MAAM,6BAA6B;AAC3E,UAAM,aAAa,MAAM,KAAK,eAAe,IAAI;AACjD,UAAM,SAAS,IAAI,WAAW,UAAU;AACxC,UAAM,WAAO,WAAAA,SAAM,QAAQ,EAAE,OAAO,MAAM,EAAE,OAAO,KAAK,EAAE,SAAS,IAAI,GAAG;AAE1E,WAAO;AAAA,MACL;AAAA,QACE;AAAA,QACA,QAAQ,WAAW;AAAA,QACnB,MAAM;AAAA,UACJ,MAAM,KAAK;AAAA,UACX,MAAM,KAAK;AAAA,QACb;AAAA,QACA,UAAU,KAAK;AAAA,QACf,QAAQ;AAAA,QACR,KAAK,KAAK,OAAO,YAAY,aAAa,gBAAgB,UAAU,IAAI,KAAK;AAAA,MAC/E;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;;;AK9DA,2BAA+C;AAoBxC,IAAM,oBAAgB,4CAAmC,UAAU;;;ACpB1E,IAAAC,wBAAiC;AACjC,+BAA8C;AAKvC,IAAM,oBAAoB,UAC/B;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,UAAU,GAAG,EAAE,GAAG,QAAQ,uCAAiB;AAAA,EAC1D;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,YAAM,SAAS,MAAM,mBAAmB,OAAO,MAAM;AACrD,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":["shajs","import_payload_model"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/BrowserFileWitness.ts","../../src/Config.ts","../../src/Schema.ts","../../src/util/GenerateDataUri.ts","../../src/Witness.ts","../../src/Payload.ts","../../src/PluginBrowser.ts"],"sourcesContent":["export * from './BrowserFileWitness'\nexport * from './Config'\nexport * from './Params'\nexport * from './Payload'\nexport { BrowserFilePlugin, BrowserFilePlugin as default } from './PluginBrowser'\nexport * from './Schema'\nexport * from './Witness'\n","import { assertEx } from '@xylabs/assert'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Schema } from '@xyo-network/payload-model'\nimport shajs from 'sha.js'\n\nimport { FileWitnessConfigSchema } from './Config'\nimport { BrowserFileWitnessAdditionalParams } from './Params'\nimport { FilePayload } from './Payload'\nimport { FileSchema } from './Schema'\nimport { generateDataUri } from './util'\nimport { FileWitness, FileWitnessParams } from './Witness'\n\ntype BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams\n\nexport class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {\n static override configSchemas: Schema[] = [...super.configSchemas, FileWitnessConfigSchema]\n static override defaultConfigSchema: Schema = FileWitnessConfigSchema\n\n protected override async observeHandler() {\n try {\n const [payload] = await this.witnessBrowserFile()\n const { logger } = this.params\n logger?.log(`BrowserFileWitness: ${await PayloadBuilder.dataHash(payload)}`)\n return [payload]\n } catch (e) {\n throw new Error(`Error reading file: ${e}`)\n }\n }\n\n private readBinaryFile(file: File): Promise<Uint8Array> {\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader()\n fileReader.addEventListener('load', (event) => {\n const arrayBuffer = event.target?.result as ArrayBuffer\n resolve(new Uint8Array(arrayBuffer))\n })\n // eslint-disable-next-line unicorn/prefer-add-event-listener\n fileReader.onerror = () => reject(fileReader.error)\n // eslint-disable-next-line unicorn/prefer-blob-reading-methods\n fileReader.readAsArrayBuffer(file)\n })\n }\n\n private async witnessBrowserFile(): Promise<[FilePayload, Uint8Array]> {\n const file = assertEx(this.params.file, () => 'File is missing from params')\n const fileBinary = await this.readBinaryFile(file)\n const result = new Uint8Array(fileBinary)\n const hash = shajs('sha256').update(result).digest('hex').padStart(64, '0')\n\n return [\n {\n hash,\n length: fileBinary.byteLength,\n meta: {\n name: file.name,\n type: file.type,\n },\n modified: file.lastModified,\n schema: FileSchema,\n uri: this.config.storage === 'data-uri' ? generateDataUri(fileBinary) : file.name,\n },\n fileBinary,\n ]\n }\n}\n","import { WitnessConfig } from '@xyo-network/witness-model'\n\nexport type FileWitnessConfigSchema = 'network.xyo.file.witness.config'\nexport const FileWitnessConfigSchema: FileWitnessConfigSchema = 'network.xyo.file.witness.config'\n\nexport type FileWitnessConfig = WitnessConfig<{\n schema: FileWitnessConfigSchema\n storage?: 'data-uri'\n}>\n","export type FileSchema = 'network.xyo.file'\nexport const FileSchema: FileSchema = 'network.xyo.file'\n","import { base64 } from '@scure/base'\n\nexport const generateDataUri = (data: Uint8Array): string => {\n return `data:application/octet-stream;base64,${base64.encode(data)}`\n}\n","import { Promisable } from '@xylabs/promise'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\nimport { WitnessModule, WitnessParams } from '@xyo-network/witness-model'\n\nimport { FileWitnessConfig, FileWitnessConfigSchema } from './Config'\nimport { FileSchema } from './Schema'\n\nexport type FileWitnessParams = WitnessParams<AnyConfigSchema<FileWitnessConfig>>\n\n// Abstract so that derived classes provide a type for the file param and methods to parse it\nexport abstract class FileWitness<TParams extends FileWitnessParams = FileWitnessParams> extends AbstractWitness<TParams> implements WitnessModule {\n static override configSchemas: Schema[] = [...super.configSchemas, FileWitnessConfigSchema]\n static override defaultConfigSchema: Schema = FileWitnessConfigSchema\n\n protected override observeHandler(payloads?: Payload[]): Promisable<Payload[]> {\n return [{ ...payloads?.[0], schema: FileSchema }]\n }\n}\n","import { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nimport { FileSchema } from './Schema'\n\nexport type BinaryDataHash = string\n\n/** @description File location and optional data */\nexport type FilePayload = Payload<\n {\n created?: number\n hash: BinaryDataHash\n length: number\n /** @field Storage specific meta data */\n meta?: Record<string, string | number>\n modified?: number\n uri: string\n },\n FileSchema\n>\n\nexport const isFilePayload = isPayloadOfSchemaType<FilePayload>(FileSchema)\n","import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { BrowserFileWitness } from './BrowserFileWitness'\nimport { FileSchema } from './Schema'\n\nexport const BrowserFilePlugin = () =>\n createPayloadSetWitnessPlugin<BrowserFileWitness>(\n { required: { [FileSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await BrowserFileWitness.create(params)\n return result\n },\n },\n )\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oBAAyB;AACzB,6BAA+B;AAE/B,iBAAkB;;;ACAX,IAAM,0BAAmD;;;ACFzD,IAAM,aAAyB;;;ACDtC,kBAAuB;AAEhB,IAAM,kBAAkB,CAAC,SAA6B;AAC3D,SAAO,wCAAwC,mBAAO,OAAO,IAAI,CAAC;AACpE;;;ACHA,8BAAgC;AAWzB,IAAe,cAAf,cAA0F,wCAAkD;AAAA,EACjJ,OAAgB,gBAA0B,CAAC,GAAG,MAAM,eAAe,uBAAuB;AAAA,EAC1F,OAAgB,sBAA8B;AAAA,EAE3B,eAAe,UAA6C;AAC7E,WAAO,CAAC,EAAE,GAAG,qCAAW,IAAI,QAAQ,WAAW,CAAC;AAAA,EAClD;AACF;;;AJLO,IAAM,qBAAN,cAAiC,YAAsC;AAAA,EAC5E,OAAgB,gBAA0B,CAAC,GAAG,MAAM,eAAe,uBAAuB;AAAA,EAC1F,OAAgB,sBAA8B;AAAA,EAE9C,MAAyB,iBAAiB;AACxC,QAAI;AACF,YAAM,CAAC,OAAO,IAAI,MAAM,KAAK,mBAAmB;AAChD,YAAM,EAAE,OAAO,IAAI,KAAK;AACxB,uCAAQ,IAAI,uBAAuB,MAAM,sCAAe,SAAS,OAAO,CAAC;AACzE,aAAO,CAAC,OAAO;AAAA,IACjB,SAAS,GAAG;AACV,YAAM,IAAI,MAAM,uBAAuB,CAAC,EAAE;AAAA,IAC5C;AAAA,EACF;AAAA,EAEQ,eAAe,MAAiC;AACtD,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,YAAM,aAAa,IAAI,WAAW;AAClC,iBAAW,iBAAiB,QAAQ,CAAC,UAAU;AAhCrD;AAiCQ,cAAM,eAAc,WAAM,WAAN,mBAAc;AAClC,gBAAQ,IAAI,WAAW,WAAW,CAAC;AAAA,MACrC,CAAC;AAED,iBAAW,UAAU,MAAM,OAAO,WAAW,KAAK;AAElD,iBAAW,kBAAkB,IAAI;AAAA,IACnC,CAAC;AAAA,EACH;AAAA,EAEA,MAAc,qBAAyD;AACrE,UAAM,WAAO,wBAAS,KAAK,OAAO,MAAM,MAAM,6BAA6B;AAC3E,UAAM,aAAa,MAAM,KAAK,eAAe,IAAI;AACjD,UAAM,SAAS,IAAI,WAAW,UAAU;AACxC,UAAM,WAAO,WAAAA,SAAM,QAAQ,EAAE,OAAO,MAAM,EAAE,OAAO,KAAK,EAAE,SAAS,IAAI,GAAG;AAE1E,WAAO;AAAA,MACL;AAAA,QACE;AAAA,QACA,QAAQ,WAAW;AAAA,QACnB,MAAM;AAAA,UACJ,MAAM,KAAK;AAAA,UACX,MAAM,KAAK;AAAA,QACb;AAAA,QACA,UAAU,KAAK;AAAA,QACf,QAAQ;AAAA,QACR,KAAK,KAAK,OAAO,YAAY,aAAa,gBAAgB,UAAU,IAAI,KAAK;AAAA,MAC/E;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;;;AKhEA,2BAA+C;AAoBxC,IAAM,oBAAgB,4CAAmC,UAAU;;;ACpB1E,IAAAC,wBAAiC;AACjC,+BAA8C;AAKvC,IAAM,oBAAoB,UAC/B;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,UAAU,GAAG,EAAE,GAAG,QAAQ,uCAAiB;AAAA,EAC1D;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,YAAM,SAAS,MAAM,mBAAmB,OAAO,MAAM;AACrD,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":["shajs","import_payload_model"]}
@@ -18,7 +18,8 @@ var generateDataUri = (data) => {
18
18
  // src/Witness.ts
19
19
  import { AbstractWitness } from "@xyo-network/abstract-witness";
20
20
  var FileWitness = class extends AbstractWitness {
21
- static configSchemas = [FileWitnessConfigSchema];
21
+ static configSchemas = [...super.configSchemas, FileWitnessConfigSchema];
22
+ static defaultConfigSchema = FileWitnessConfigSchema;
22
23
  observeHandler(payloads) {
23
24
  return [{ ...payloads == null ? void 0 : payloads[0], schema: FileSchema }];
24
25
  }
@@ -26,7 +27,8 @@ var FileWitness = class extends AbstractWitness {
26
27
 
27
28
  // src/BrowserFileWitness.ts
28
29
  var BrowserFileWitness = class extends FileWitness {
29
- static configSchemas = [FileWitnessConfigSchema];
30
+ static configSchemas = [...super.configSchemas, FileWitnessConfigSchema];
31
+ static defaultConfigSchema = FileWitnessConfigSchema;
30
32
  async observeHandler() {
31
33
  try {
32
34
  const [payload] = await this.witnessBrowserFile();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/BrowserFileWitness.ts","../../src/Config.ts","../../src/Schema.ts","../../src/util/GenerateDataUri.ts","../../src/Witness.ts","../../src/Payload.ts","../../src/PluginBrowser.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport shajs from 'sha.js'\n\nimport { FileWitnessConfigSchema } from './Config'\nimport { BrowserFileWitnessAdditionalParams } from './Params'\nimport { FilePayload } from './Payload'\nimport { FileSchema } from './Schema'\nimport { generateDataUri } from './util'\nimport { FileWitness, FileWitnessParams } from './Witness'\n\ntype BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams\n\nexport class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {\n static override configSchemas = [FileWitnessConfigSchema]\n\n protected override async observeHandler() {\n try {\n const [payload] = await this.witnessBrowserFile()\n const { logger } = this.params\n logger?.log(`BrowserFileWitness: ${await PayloadBuilder.dataHash(payload)}`)\n return [payload]\n } catch (e) {\n throw new Error(`Error reading file: ${e}`)\n }\n }\n\n private readBinaryFile(file: File): Promise<Uint8Array> {\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader()\n fileReader.addEventListener('load', (event) => {\n const arrayBuffer = event.target?.result as ArrayBuffer\n resolve(new Uint8Array(arrayBuffer))\n })\n // eslint-disable-next-line unicorn/prefer-add-event-listener\n fileReader.onerror = () => reject(fileReader.error)\n // eslint-disable-next-line unicorn/prefer-blob-reading-methods\n fileReader.readAsArrayBuffer(file)\n })\n }\n\n private async witnessBrowserFile(): Promise<[FilePayload, Uint8Array]> {\n const file = assertEx(this.params.file, () => 'File is missing from params')\n const fileBinary = await this.readBinaryFile(file)\n const result = new Uint8Array(fileBinary)\n const hash = shajs('sha256').update(result).digest('hex').padStart(64, '0')\n\n return [\n {\n hash,\n length: fileBinary.byteLength,\n meta: {\n name: file.name,\n type: file.type,\n },\n modified: file.lastModified,\n schema: FileSchema,\n uri: this.config.storage === 'data-uri' ? generateDataUri(fileBinary) : file.name,\n },\n fileBinary,\n ]\n }\n}\n","import { WitnessConfig } from '@xyo-network/witness-model'\n\nexport type FileWitnessConfigSchema = 'network.xyo.file.witness.config'\nexport const FileWitnessConfigSchema: FileWitnessConfigSchema = 'network.xyo.file.witness.config'\n\nexport type FileWitnessConfig = WitnessConfig<{\n schema: FileWitnessConfigSchema\n storage?: 'data-uri'\n}>\n","export type FileSchema = 'network.xyo.file'\nexport const FileSchema: FileSchema = 'network.xyo.file'\n","import { base64 } from '@scure/base'\n\nexport const generateDataUri = (data: Uint8Array): string => {\n return `data:application/octet-stream;base64,${base64.encode(data)}`\n}\n","import { Promisable } from '@xylabs/promise'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { WitnessModule, WitnessParams } from '@xyo-network/witness-model'\n\nimport { FileWitnessConfig, FileWitnessConfigSchema } from './Config'\nimport { FileSchema } from './Schema'\n\nexport type FileWitnessParams = WitnessParams<AnyConfigSchema<FileWitnessConfig>>\n\n// Abstract so that derived classes provide a type for the file param and methods to parse it\nexport abstract class FileWitness<TParams extends FileWitnessParams = FileWitnessParams> extends AbstractWitness<TParams> implements WitnessModule {\n static override configSchemas = [FileWitnessConfigSchema]\n\n protected override observeHandler(payloads?: Payload[]): Promisable<Payload[]> {\n return [{ ...payloads?.[0], schema: FileSchema }]\n }\n}\n","import { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nimport { FileSchema } from './Schema'\n\nexport type BinaryDataHash = string\n\n/** @description File location and optional data */\nexport type FilePayload = Payload<\n {\n created?: number\n hash: BinaryDataHash\n length: number\n /** @field Storage specific meta data */\n meta?: Record<string, string | number>\n modified?: number\n uri: string\n },\n FileSchema\n>\n\nexport const isFilePayload = isPayloadOfSchemaType<FilePayload>(FileSchema)\n","import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { BrowserFileWitness } from './BrowserFileWitness'\nimport { FileSchema } from './Schema'\n\nexport const BrowserFilePlugin = () =>\n createPayloadSetWitnessPlugin<BrowserFileWitness>(\n { required: { [FileSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await BrowserFileWitness.create(params)\n return result\n },\n },\n )\n"],"mappings":";AAAA,SAAS,gBAAgB;AACzB,SAAS,sBAAsB;AAC/B,OAAO,WAAW;;;ACCX,IAAM,0BAAmD;;;ACFzD,IAAM,aAAyB;;;ACDtC,SAAS,cAAc;AAEhB,IAAM,kBAAkB,CAAC,SAA6B;AAC3D,SAAO,wCAAwC,OAAO,OAAO,IAAI,CAAC;AACpE;;;ACHA,SAAS,uBAAuB;AAWzB,IAAe,cAAf,cAA0F,gBAAkD;AAAA,EACjJ,OAAgB,gBAAgB,CAAC,uBAAuB;AAAA,EAErC,eAAe,UAA6C;AAC7E,WAAO,CAAC,EAAE,GAAG,qCAAW,IAAI,QAAQ,WAAW,CAAC;AAAA,EAClD;AACF;;;AJLO,IAAM,qBAAN,cAAiC,YAAsC;AAAA,EAC5E,OAAgB,gBAAgB,CAAC,uBAAuB;AAAA,EAExD,MAAyB,iBAAiB;AACxC,QAAI;AACF,YAAM,CAAC,OAAO,IAAI,MAAM,KAAK,mBAAmB;AAChD,YAAM,EAAE,OAAO,IAAI,KAAK;AACxB,uCAAQ,IAAI,uBAAuB,MAAM,eAAe,SAAS,OAAO,CAAC;AACzE,aAAO,CAAC,OAAO;AAAA,IACjB,SAAS,GAAG;AACV,YAAM,IAAI,MAAM,uBAAuB,CAAC,EAAE;AAAA,IAC5C;AAAA,EACF;AAAA,EAEQ,eAAe,MAAiC;AACtD,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,YAAM,aAAa,IAAI,WAAW;AAClC,iBAAW,iBAAiB,QAAQ,CAAC,UAAU;AA9BrD;AA+BQ,cAAM,eAAc,WAAM,WAAN,mBAAc;AAClC,gBAAQ,IAAI,WAAW,WAAW,CAAC;AAAA,MACrC,CAAC;AAED,iBAAW,UAAU,MAAM,OAAO,WAAW,KAAK;AAElD,iBAAW,kBAAkB,IAAI;AAAA,IACnC,CAAC;AAAA,EACH;AAAA,EAEA,MAAc,qBAAyD;AACrE,UAAM,OAAO,SAAS,KAAK,OAAO,MAAM,MAAM,6BAA6B;AAC3E,UAAM,aAAa,MAAM,KAAK,eAAe,IAAI;AACjD,UAAM,SAAS,IAAI,WAAW,UAAU;AACxC,UAAM,OAAO,MAAM,QAAQ,EAAE,OAAO,MAAM,EAAE,OAAO,KAAK,EAAE,SAAS,IAAI,GAAG;AAE1E,WAAO;AAAA,MACL;AAAA,QACE;AAAA,QACA,QAAQ,WAAW;AAAA,QACnB,MAAM;AAAA,UACJ,MAAM,KAAK;AAAA,UACX,MAAM,KAAK;AAAA,QACb;AAAA,QACA,UAAU,KAAK;AAAA,QACf,QAAQ;AAAA,QACR,KAAK,KAAK,OAAO,YAAY,aAAa,gBAAgB,UAAU,IAAI,KAAK;AAAA,MAC/E;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;;;AK9DA,SAAS,6BAAsC;AAoBxC,IAAM,gBAAgB,sBAAmC,UAAU;;;ACpB1E,SAAS,wBAAwB;AACjC,SAAS,qCAAqC;AAKvC,IAAM,oBAAoB,MAC/B;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,UAAU,GAAG,EAAE,GAAG,QAAQ,iBAAiB;AAAA,EAC1D;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,YAAM,SAAS,MAAM,mBAAmB,OAAO,MAAM;AACrD,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/BrowserFileWitness.ts","../../src/Config.ts","../../src/Schema.ts","../../src/util/GenerateDataUri.ts","../../src/Witness.ts","../../src/Payload.ts","../../src/PluginBrowser.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Schema } from '@xyo-network/payload-model'\nimport shajs from 'sha.js'\n\nimport { FileWitnessConfigSchema } from './Config'\nimport { BrowserFileWitnessAdditionalParams } from './Params'\nimport { FilePayload } from './Payload'\nimport { FileSchema } from './Schema'\nimport { generateDataUri } from './util'\nimport { FileWitness, FileWitnessParams } from './Witness'\n\ntype BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams\n\nexport class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {\n static override configSchemas: Schema[] = [...super.configSchemas, FileWitnessConfigSchema]\n static override defaultConfigSchema: Schema = FileWitnessConfigSchema\n\n protected override async observeHandler() {\n try {\n const [payload] = await this.witnessBrowserFile()\n const { logger } = this.params\n logger?.log(`BrowserFileWitness: ${await PayloadBuilder.dataHash(payload)}`)\n return [payload]\n } catch (e) {\n throw new Error(`Error reading file: ${e}`)\n }\n }\n\n private readBinaryFile(file: File): Promise<Uint8Array> {\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader()\n fileReader.addEventListener('load', (event) => {\n const arrayBuffer = event.target?.result as ArrayBuffer\n resolve(new Uint8Array(arrayBuffer))\n })\n // eslint-disable-next-line unicorn/prefer-add-event-listener\n fileReader.onerror = () => reject(fileReader.error)\n // eslint-disable-next-line unicorn/prefer-blob-reading-methods\n fileReader.readAsArrayBuffer(file)\n })\n }\n\n private async witnessBrowserFile(): Promise<[FilePayload, Uint8Array]> {\n const file = assertEx(this.params.file, () => 'File is missing from params')\n const fileBinary = await this.readBinaryFile(file)\n const result = new Uint8Array(fileBinary)\n const hash = shajs('sha256').update(result).digest('hex').padStart(64, '0')\n\n return [\n {\n hash,\n length: fileBinary.byteLength,\n meta: {\n name: file.name,\n type: file.type,\n },\n modified: file.lastModified,\n schema: FileSchema,\n uri: this.config.storage === 'data-uri' ? generateDataUri(fileBinary) : file.name,\n },\n fileBinary,\n ]\n }\n}\n","import { WitnessConfig } from '@xyo-network/witness-model'\n\nexport type FileWitnessConfigSchema = 'network.xyo.file.witness.config'\nexport const FileWitnessConfigSchema: FileWitnessConfigSchema = 'network.xyo.file.witness.config'\n\nexport type FileWitnessConfig = WitnessConfig<{\n schema: FileWitnessConfigSchema\n storage?: 'data-uri'\n}>\n","export type FileSchema = 'network.xyo.file'\nexport const FileSchema: FileSchema = 'network.xyo.file'\n","import { base64 } from '@scure/base'\n\nexport const generateDataUri = (data: Uint8Array): string => {\n return `data:application/octet-stream;base64,${base64.encode(data)}`\n}\n","import { Promisable } from '@xylabs/promise'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\nimport { WitnessModule, WitnessParams } from '@xyo-network/witness-model'\n\nimport { FileWitnessConfig, FileWitnessConfigSchema } from './Config'\nimport { FileSchema } from './Schema'\n\nexport type FileWitnessParams = WitnessParams<AnyConfigSchema<FileWitnessConfig>>\n\n// Abstract so that derived classes provide a type for the file param and methods to parse it\nexport abstract class FileWitness<TParams extends FileWitnessParams = FileWitnessParams> extends AbstractWitness<TParams> implements WitnessModule {\n static override configSchemas: Schema[] = [...super.configSchemas, FileWitnessConfigSchema]\n static override defaultConfigSchema: Schema = FileWitnessConfigSchema\n\n protected override observeHandler(payloads?: Payload[]): Promisable<Payload[]> {\n return [{ ...payloads?.[0], schema: FileSchema }]\n }\n}\n","import { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nimport { FileSchema } from './Schema'\n\nexport type BinaryDataHash = string\n\n/** @description File location and optional data */\nexport type FilePayload = Payload<\n {\n created?: number\n hash: BinaryDataHash\n length: number\n /** @field Storage specific meta data */\n meta?: Record<string, string | number>\n modified?: number\n uri: string\n },\n FileSchema\n>\n\nexport const isFilePayload = isPayloadOfSchemaType<FilePayload>(FileSchema)\n","import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { BrowserFileWitness } from './BrowserFileWitness'\nimport { FileSchema } from './Schema'\n\nexport const BrowserFilePlugin = () =>\n createPayloadSetWitnessPlugin<BrowserFileWitness>(\n { required: { [FileSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await BrowserFileWitness.create(params)\n return result\n },\n },\n )\n"],"mappings":";AAAA,SAAS,gBAAgB;AACzB,SAAS,sBAAsB;AAE/B,OAAO,WAAW;;;ACAX,IAAM,0BAAmD;;;ACFzD,IAAM,aAAyB;;;ACDtC,SAAS,cAAc;AAEhB,IAAM,kBAAkB,CAAC,SAA6B;AAC3D,SAAO,wCAAwC,OAAO,OAAO,IAAI,CAAC;AACpE;;;ACHA,SAAS,uBAAuB;AAWzB,IAAe,cAAf,cAA0F,gBAAkD;AAAA,EACjJ,OAAgB,gBAA0B,CAAC,GAAG,MAAM,eAAe,uBAAuB;AAAA,EAC1F,OAAgB,sBAA8B;AAAA,EAE3B,eAAe,UAA6C;AAC7E,WAAO,CAAC,EAAE,GAAG,qCAAW,IAAI,QAAQ,WAAW,CAAC;AAAA,EAClD;AACF;;;AJLO,IAAM,qBAAN,cAAiC,YAAsC;AAAA,EAC5E,OAAgB,gBAA0B,CAAC,GAAG,MAAM,eAAe,uBAAuB;AAAA,EAC1F,OAAgB,sBAA8B;AAAA,EAE9C,MAAyB,iBAAiB;AACxC,QAAI;AACF,YAAM,CAAC,OAAO,IAAI,MAAM,KAAK,mBAAmB;AAChD,YAAM,EAAE,OAAO,IAAI,KAAK;AACxB,uCAAQ,IAAI,uBAAuB,MAAM,eAAe,SAAS,OAAO,CAAC;AACzE,aAAO,CAAC,OAAO;AAAA,IACjB,SAAS,GAAG;AACV,YAAM,IAAI,MAAM,uBAAuB,CAAC,EAAE;AAAA,IAC5C;AAAA,EACF;AAAA,EAEQ,eAAe,MAAiC;AACtD,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,YAAM,aAAa,IAAI,WAAW;AAClC,iBAAW,iBAAiB,QAAQ,CAAC,UAAU;AAhCrD;AAiCQ,cAAM,eAAc,WAAM,WAAN,mBAAc;AAClC,gBAAQ,IAAI,WAAW,WAAW,CAAC;AAAA,MACrC,CAAC;AAED,iBAAW,UAAU,MAAM,OAAO,WAAW,KAAK;AAElD,iBAAW,kBAAkB,IAAI;AAAA,IACnC,CAAC;AAAA,EACH;AAAA,EAEA,MAAc,qBAAyD;AACrE,UAAM,OAAO,SAAS,KAAK,OAAO,MAAM,MAAM,6BAA6B;AAC3E,UAAM,aAAa,MAAM,KAAK,eAAe,IAAI;AACjD,UAAM,SAAS,IAAI,WAAW,UAAU;AACxC,UAAM,OAAO,MAAM,QAAQ,EAAE,OAAO,MAAM,EAAE,OAAO,KAAK,EAAE,SAAS,IAAI,GAAG;AAE1E,WAAO;AAAA,MACL;AAAA,QACE;AAAA,QACA,QAAQ,WAAW;AAAA,QACnB,MAAM;AAAA,UACJ,MAAM,KAAK;AAAA,UACX,MAAM,KAAK;AAAA,QACb;AAAA,QACA,UAAU,KAAK;AAAA,QACf,QAAQ;AAAA,QACR,KAAK,KAAK,OAAO,YAAY,aAAa,gBAAgB,UAAU,IAAI,KAAK;AAAA,MAC/E;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;;;AKhEA,SAAS,6BAAsC;AAoBxC,IAAM,gBAAgB,sBAAmC,UAAU;;;ACpB1E,SAAS,wBAAwB;AACjC,SAAS,qCAAqC;AAKvC,IAAM,oBAAoB,MAC/B;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,UAAU,GAAG,EAAE,GAAG,QAAQ,iBAAiB;AAAA,EAC1D;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,YAAM,SAAS,MAAM,mBAAmB,OAAO,MAAM;AACrD,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":[]}
package/package.json CHANGED
@@ -11,20 +11,20 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@scure/base": "^1.1.6",
14
- "@xylabs/assert": "^3.1.7",
15
- "@xylabs/promise": "^3.1.7",
16
- "@xyo-network/abstract-witness": "^2.95.6",
17
- "@xyo-network/module-model": "^2.95.6",
18
- "@xyo-network/payload-builder": "^2.95.6",
19
- "@xyo-network/payload-model": "^2.95.6",
20
- "@xyo-network/payloadset-plugin": "^2.95.6",
21
- "@xyo-network/witness-model": "^2.95.6",
14
+ "@xylabs/assert": "^3.1.10",
15
+ "@xylabs/promise": "^3.1.10",
16
+ "@xyo-network/abstract-witness": "^2.98.3",
17
+ "@xyo-network/module-model": "^2.98.3",
18
+ "@xyo-network/payload-builder": "^2.98.3",
19
+ "@xyo-network/payload-model": "^2.98.3",
20
+ "@xyo-network/payloadset-plugin": "^2.98.3",
21
+ "@xyo-network/witness-model": "^2.98.3",
22
22
  "sha.js": "^2.4.11"
23
23
  },
24
24
  "devDependencies": {
25
- "@xylabs/ts-scripts-yarn3": "^3.9.0",
26
- "@xylabs/tsconfig": "^3.9.0",
27
- "@xyo-network/account": "^2.95.6",
25
+ "@xylabs/ts-scripts-yarn3": "^3.9.1",
26
+ "@xylabs/tsconfig": "^3.9.1",
27
+ "@xyo-network/account": "^2.98.3",
28
28
  "typescript": "^5.4.5"
29
29
  },
30
30
  "description": "Typescript/Javascript Plugins for XYO Platform",
@@ -66,6 +66,6 @@
66
66
  "url": "https://github.com/XYOracleNetwork/plugins.git"
67
67
  },
68
68
  "sideEffects": false,
69
- "version": "2.92.1",
69
+ "version": "2.93.1",
70
70
  "type": "module"
71
71
  }
@@ -1,5 +1,6 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
2
  import { PayloadBuilder } from '@xyo-network/payload-builder'
3
+ import { Schema } from '@xyo-network/payload-model'
3
4
  import shajs from 'sha.js'
4
5
 
5
6
  import { FileWitnessConfigSchema } from './Config'
@@ -12,7 +13,8 @@ import { FileWitness, FileWitnessParams } from './Witness'
12
13
  type BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams
13
14
 
14
15
  export class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {
15
- static override configSchemas = [FileWitnessConfigSchema]
16
+ static override configSchemas: Schema[] = [...super.configSchemas, FileWitnessConfigSchema]
17
+ static override defaultConfigSchema: Schema = FileWitnessConfigSchema
16
18
 
17
19
  protected override async observeHandler() {
18
20
  try {
package/src/Witness.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Promisable } from '@xylabs/promise'
2
2
  import { AbstractWitness } from '@xyo-network/abstract-witness'
3
3
  import { AnyConfigSchema } from '@xyo-network/module-model'
4
- import { Payload } from '@xyo-network/payload-model'
4
+ import { Payload, Schema } from '@xyo-network/payload-model'
5
5
  import { WitnessModule, WitnessParams } from '@xyo-network/witness-model'
6
6
 
7
7
  import { FileWitnessConfig, FileWitnessConfigSchema } from './Config'
@@ -11,7 +11,8 @@ export type FileWitnessParams = WitnessParams<AnyConfigSchema<FileWitnessConfig>
11
11
 
12
12
  // Abstract so that derived classes provide a type for the file param and methods to parse it
13
13
  export abstract class FileWitness<TParams extends FileWitnessParams = FileWitnessParams> extends AbstractWitness<TParams> implements WitnessModule {
14
- static override configSchemas = [FileWitnessConfigSchema]
14
+ static override configSchemas: Schema[] = [...super.configSchemas, FileWitnessConfigSchema]
15
+ static override defaultConfigSchema: Schema = FileWitnessConfigSchema
15
16
 
16
17
  protected override observeHandler(payloads?: Payload[]): Promisable<Payload[]> {
17
18
  return [{ ...payloads?.[0], schema: FileSchema }]