@xyo-network/file-browser-plugin 2.96.1 → 2.96.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/browser/BrowserFileWitness.d.cts +4 -4
  2. package/dist/browser/BrowserFileWitness.d.mts +4 -4
  3. package/dist/browser/BrowserFileWitness.d.ts +4 -4
  4. package/dist/browser/Payload.d.cts +4 -7
  5. package/dist/browser/Payload.d.cts.map +1 -1
  6. package/dist/browser/Payload.d.mts +4 -7
  7. package/dist/browser/Payload.d.mts.map +1 -1
  8. package/dist/browser/Payload.d.ts +4 -7
  9. package/dist/browser/Payload.d.ts.map +1 -1
  10. package/dist/browser/index.cjs +1 -132
  11. package/dist/browser/index.cjs.map +1 -1
  12. package/dist/browser/index.js +1 -99
  13. package/dist/browser/index.js.map +1 -1
  14. package/dist/neutral/BrowserFileWitness.d.cts +4 -4
  15. package/dist/neutral/BrowserFileWitness.d.mts +4 -4
  16. package/dist/neutral/BrowserFileWitness.d.ts +4 -4
  17. package/dist/neutral/Payload.d.cts +4 -7
  18. package/dist/neutral/Payload.d.cts.map +1 -1
  19. package/dist/neutral/Payload.d.mts +4 -7
  20. package/dist/neutral/Payload.d.mts.map +1 -1
  21. package/dist/neutral/Payload.d.ts +4 -7
  22. package/dist/neutral/Payload.d.ts.map +1 -1
  23. package/dist/neutral/index.cjs +1 -132
  24. package/dist/neutral/index.cjs.map +1 -1
  25. package/dist/neutral/index.js +1 -99
  26. package/dist/neutral/index.js.map +1 -1
  27. package/dist/node/BrowserFileWitness.d.cts +4 -4
  28. package/dist/node/BrowserFileWitness.d.mts +4 -4
  29. package/dist/node/BrowserFileWitness.d.ts +4 -4
  30. package/dist/node/Payload.d.cts +4 -7
  31. package/dist/node/Payload.d.cts.map +1 -1
  32. package/dist/node/Payload.d.mts +4 -7
  33. package/dist/node/Payload.d.mts.map +1 -1
  34. package/dist/node/Payload.d.ts +4 -7
  35. package/dist/node/Payload.d.ts.map +1 -1
  36. package/dist/node/index.cjs +1 -142
  37. package/dist/node/index.cjs.map +1 -1
  38. package/dist/node/index.js +1 -100
  39. package/dist/node/index.js.map +1 -1
  40. package/package.json +4 -4
@@ -6,11 +6,11 @@ export declare class BrowserFileWitness extends FileWitness<BrowserFileWitnessPa
6
6
  static readonly configSchemas: Schema[];
7
7
  static readonly defaultConfigSchema: Schema;
8
8
  protected observeHandler(): Promise<(import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
9
- created?: number | undefined;
10
- hash: string;
9
+ created?: number;
10
+ hash: import("./Payload").BinaryDataHash;
11
11
  length: number;
12
- meta?: Record<string, string | number> | undefined;
13
- modified?: number | undefined;
12
+ meta?: Record<string, string | number>;
13
+ modified?: number;
14
14
  uri: string;
15
15
  } & {
16
16
  schema: "network.xyo.file";
@@ -6,11 +6,11 @@ export declare class BrowserFileWitness extends FileWitness<BrowserFileWitnessPa
6
6
  static readonly configSchemas: Schema[];
7
7
  static readonly defaultConfigSchema: Schema;
8
8
  protected observeHandler(): Promise<(import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
9
- created?: number | undefined;
10
- hash: string;
9
+ created?: number;
10
+ hash: import("./Payload").BinaryDataHash;
11
11
  length: number;
12
- meta?: Record<string, string | number> | undefined;
13
- modified?: number | undefined;
12
+ meta?: Record<string, string | number>;
13
+ modified?: number;
14
14
  uri: string;
15
15
  } & {
16
16
  schema: "network.xyo.file";
@@ -6,11 +6,11 @@ export declare class BrowserFileWitness extends FileWitness<BrowserFileWitnessPa
6
6
  static readonly configSchemas: Schema[];
7
7
  static readonly defaultConfigSchema: Schema;
8
8
  protected observeHandler(): Promise<(import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
9
- created?: number | undefined;
10
- hash: string;
9
+ created?: number;
10
+ hash: import("./Payload").BinaryDataHash;
11
11
  length: number;
12
- meta?: Record<string, string | number> | undefined;
13
- modified?: number | undefined;
12
+ meta?: Record<string, string | number>;
13
+ modified?: number;
14
14
  uri: string;
15
15
  } & {
16
16
  schema: "network.xyo.file";
@@ -1,23 +1,20 @@
1
1
  import { Payload } from '@xyo-network/payload-model';
2
2
  import { FileSchema } from './Schema';
3
3
  export type BinaryDataHash = string;
4
- /** @description File location and optional data */
5
4
  export type FilePayload = Payload<{
6
5
  created?: number;
7
6
  hash: BinaryDataHash;
8
7
  length: number;
9
- /** @field Storage specific meta data */
10
8
  meta?: Record<string, string | number>;
11
9
  modified?: number;
12
10
  uri: string;
13
11
  }, FileSchema>;
14
- export declare const isFilePayload: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
15
- created?: number | undefined;
12
+ export declare const isFilePayload: (x?: unknown | null) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
13
+ created?: number;
16
14
  hash: BinaryDataHash;
17
15
  length: number;
18
- /** @field Storage specific meta data */
19
- meta?: Record<string, string | number> | undefined;
20
- modified?: number | undefined;
16
+ meta?: Record<string, string | number>;
17
+ modified?: number;
21
18
  uri: string;
22
19
  } & {
23
20
  schema: "network.xyo.file";
@@ -1 +1 @@
1
- {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,MAAM,MAAM,cAAc,GAAG,MAAM,CAAA;AAEnC,mDAAmD;AACnD,MAAM,MAAM,WAAW,GAAG,OAAO,CAC/B;IACE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,cAAc,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;CACZ,EACD,UAAU,CACX,CAAA;AAED,eAAO,MAAM,aAAa;;UAVhB,cAAc;YACZ,MAAM;IACd,wCAAwC;;;SAGnC,MAAM;;;CAK4D,CAAA"}
1
+ {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,MAAM,MAAM,cAAc,GAAG,MAAM,CAAA;AAGnC,MAAM,MAAM,WAAW,GAAG,OAAO,CAC/B;IACE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,cAAc,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IAEd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;CACZ,EACD,UAAU,CACX,CAAA;AAED,eAAO,MAAM,aAAa;cAXZ,MAAM;UACV,cAAc;YACZ,MAAM;WAEP,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;eAC3B,MAAM;SACZ,MAAM;;;CAK4D,CAAA"}
@@ -1,23 +1,20 @@
1
1
  import { Payload } from '@xyo-network/payload-model';
2
2
  import { FileSchema } from './Schema';
3
3
  export type BinaryDataHash = string;
4
- /** @description File location and optional data */
5
4
  export type FilePayload = Payload<{
6
5
  created?: number;
7
6
  hash: BinaryDataHash;
8
7
  length: number;
9
- /** @field Storage specific meta data */
10
8
  meta?: Record<string, string | number>;
11
9
  modified?: number;
12
10
  uri: string;
13
11
  }, FileSchema>;
14
- export declare const isFilePayload: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
15
- created?: number | undefined;
12
+ export declare const isFilePayload: (x?: unknown | null) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
13
+ created?: number;
16
14
  hash: BinaryDataHash;
17
15
  length: number;
18
- /** @field Storage specific meta data */
19
- meta?: Record<string, string | number> | undefined;
20
- modified?: number | undefined;
16
+ meta?: Record<string, string | number>;
17
+ modified?: number;
21
18
  uri: string;
22
19
  } & {
23
20
  schema: "network.xyo.file";
@@ -1 +1 @@
1
- {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,MAAM,MAAM,cAAc,GAAG,MAAM,CAAA;AAEnC,mDAAmD;AACnD,MAAM,MAAM,WAAW,GAAG,OAAO,CAC/B;IACE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,cAAc,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;CACZ,EACD,UAAU,CACX,CAAA;AAED,eAAO,MAAM,aAAa;;UAVhB,cAAc;YACZ,MAAM;IACd,wCAAwC;;;SAGnC,MAAM;;;CAK4D,CAAA"}
1
+ {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,MAAM,MAAM,cAAc,GAAG,MAAM,CAAA;AAGnC,MAAM,MAAM,WAAW,GAAG,OAAO,CAC/B;IACE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,cAAc,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IAEd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;CACZ,EACD,UAAU,CACX,CAAA;AAED,eAAO,MAAM,aAAa;cAXZ,MAAM;UACV,cAAc;YACZ,MAAM;WAEP,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;eAC3B,MAAM;SACZ,MAAM;;;CAK4D,CAAA"}
@@ -1,23 +1,20 @@
1
1
  import { Payload } from '@xyo-network/payload-model';
2
2
  import { FileSchema } from './Schema';
3
3
  export type BinaryDataHash = string;
4
- /** @description File location and optional data */
5
4
  export type FilePayload = Payload<{
6
5
  created?: number;
7
6
  hash: BinaryDataHash;
8
7
  length: number;
9
- /** @field Storage specific meta data */
10
8
  meta?: Record<string, string | number>;
11
9
  modified?: number;
12
10
  uri: string;
13
11
  }, FileSchema>;
14
- export declare const isFilePayload: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
15
- created?: number | undefined;
12
+ export declare const isFilePayload: (x?: unknown | null) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
13
+ created?: number;
16
14
  hash: BinaryDataHash;
17
15
  length: number;
18
- /** @field Storage specific meta data */
19
- meta?: Record<string, string | number> | undefined;
20
- modified?: number | undefined;
16
+ meta?: Record<string, string | number>;
17
+ modified?: number;
21
18
  uri: string;
22
19
  } & {
23
20
  schema: "network.xyo.file";
@@ -1 +1 @@
1
- {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,MAAM,MAAM,cAAc,GAAG,MAAM,CAAA;AAEnC,mDAAmD;AACnD,MAAM,MAAM,WAAW,GAAG,OAAO,CAC/B;IACE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,cAAc,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;CACZ,EACD,UAAU,CACX,CAAA;AAED,eAAO,MAAM,aAAa;;UAVhB,cAAc;YACZ,MAAM;IACd,wCAAwC;;;SAGnC,MAAM;;;CAK4D,CAAA"}
1
+ {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,MAAM,MAAM,cAAc,GAAG,MAAM,CAAA;AAGnC,MAAM,MAAM,WAAW,GAAG,OAAO,CAC/B;IACE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,cAAc,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IAEd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;CACZ,EACD,UAAU,CACX,CAAA;AAED,eAAO,MAAM,aAAa;cAXZ,MAAM;UACV,cAAc;YACZ,MAAM;WAEP,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;eAC3B,MAAM;SACZ,MAAM;;;CAK4D,CAAA"}
@@ -1,133 +1,2 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
-
30
- // src/index.ts
31
- var src_exports = {};
32
- __export(src_exports, {
33
- BrowserFilePlugin: () => BrowserFilePlugin,
34
- BrowserFileWitness: () => BrowserFileWitness,
35
- FileSchema: () => FileSchema,
36
- FileWitness: () => FileWitness,
37
- FileWitnessConfigSchema: () => FileWitnessConfigSchema,
38
- default: () => BrowserFilePlugin,
39
- isFilePayload: () => isFilePayload
40
- });
41
- module.exports = __toCommonJS(src_exports);
42
-
43
- // src/BrowserFileWitness.ts
44
- var import_assert = require("@xylabs/assert");
45
- var import_payload_builder = require("@xyo-network/payload-builder");
46
- var import_sha = __toESM(require("sha.js"), 1);
47
-
48
- // src/Config.ts
49
- var FileWitnessConfigSchema = "network.xyo.file.witness.config";
50
-
51
- // src/Schema.ts
52
- var FileSchema = "network.xyo.file";
53
-
54
- // src/util/GenerateDataUri.ts
55
- var import_base = require("@scure/base");
56
- var generateDataUri = (data) => {
57
- return `data:application/octet-stream;base64,${import_base.base64.encode(data)}`;
58
- };
59
-
60
- // src/Witness.ts
61
- var import_abstract_witness = require("@xyo-network/abstract-witness");
62
- var FileWitness = class extends import_abstract_witness.AbstractWitness {
63
- static configSchemas = [...super.configSchemas, FileWitnessConfigSchema];
64
- static defaultConfigSchema = FileWitnessConfigSchema;
65
- observeHandler(payloads) {
66
- return [{ ...payloads?.[0], schema: FileSchema }];
67
- }
68
- };
69
-
70
- // src/BrowserFileWitness.ts
71
- var BrowserFileWitness = class extends FileWitness {
72
- static configSchemas = [...super.configSchemas, FileWitnessConfigSchema];
73
- static defaultConfigSchema = FileWitnessConfigSchema;
74
- async observeHandler() {
75
- try {
76
- const [payload] = await this.witnessBrowserFile();
77
- const { logger } = this.params;
78
- logger?.log(`BrowserFileWitness: ${await import_payload_builder.PayloadBuilder.dataHash(payload)}`);
79
- return [payload];
80
- } catch (e) {
81
- throw new Error(`Error reading file: ${e}`);
82
- }
83
- }
84
- readBinaryFile(file) {
85
- return new Promise((resolve, reject) => {
86
- const fileReader = new FileReader();
87
- fileReader.addEventListener("load", (event) => {
88
- const arrayBuffer = event.target?.result;
89
- resolve(new Uint8Array(arrayBuffer));
90
- });
91
- fileReader.onerror = () => reject(fileReader.error);
92
- fileReader.readAsArrayBuffer(file);
93
- });
94
- }
95
- async witnessBrowserFile() {
96
- const file = (0, import_assert.assertEx)(this.params.file, () => "File is missing from params");
97
- const fileBinary = await this.readBinaryFile(file);
98
- const result = new Uint8Array(fileBinary);
99
- const hash = (0, import_sha.default)("sha256").update(result).digest("hex").padStart(64, "0");
100
- return [
101
- {
102
- hash,
103
- length: fileBinary.byteLength,
104
- meta: {
105
- name: file.name,
106
- type: file.type
107
- },
108
- modified: file.lastModified,
109
- schema: FileSchema,
110
- uri: this.config.storage === "data-uri" ? generateDataUri(fileBinary) : file.name
111
- },
112
- fileBinary
113
- ];
114
- }
115
- };
116
-
117
- // src/Payload.ts
118
- var import_payload_model = require("@xyo-network/payload-model");
119
- var isFilePayload = (0, import_payload_model.isPayloadOfSchemaType)(FileSchema);
120
-
121
- // src/PluginBrowser.ts
122
- var import_payload_model2 = require("@xyo-network/payload-model");
123
- var import_payloadset_plugin = require("@xyo-network/payloadset-plugin");
124
- var BrowserFilePlugin = () => (0, import_payloadset_plugin.createPayloadSetWitnessPlugin)(
125
- { required: { [FileSchema]: 1 }, schema: import_payload_model2.PayloadSetSchema },
126
- {
127
- witness: async (params) => {
128
- const result = await BrowserFileWitness.create(params);
129
- return result;
130
- }
131
- }
132
- );
1
+ "use strict";var W=Object.create;var l=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,A=Object.prototype.hasOwnProperty;var v=(r,e)=>{for(var i in e)l(r,i,{get:e[i],enumerable:!0})},f=(r,e,i,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of C(e))!A.call(r,a)&&a!==i&&l(r,a,{get:()=>e[a],enumerable:!(s=B(e,a))||s.enumerable});return r};var U=(r,e,i)=>(i=r!=null?W(b(r)):{},f(e||!r||!r.__esModule?l(i,"default",{value:r,enumerable:!0}):i,r)),H=r=>f(l({},"__esModule",{value:!0}),r);var D={};v(D,{BrowserFilePlugin:()=>c,BrowserFileWitness:()=>m,FileSchema:()=>t,FileWitness:()=>n,FileWitnessConfigSchema:()=>o,default:()=>c,isFilePayload:()=>k});module.exports=H(D);var y=require("@xylabs/assert"),g=require("@xyo-network/payload-builder"),F=U(require("sha.js"),1);var o="network.xyo.file.witness.config";var t="network.xyo.file";var p=require("@scure/base"),d=r=>`data:application/octet-stream;base64,${p.base64.encode(r)}`;var h=require("@xyo-network/abstract-witness");var n=class extends h.AbstractWitness{static configSchemas=[...super.configSchemas,o];static defaultConfigSchema=o;observeHandler(e){return[{...e?.[0],schema:t}]}};var m=class extends n{static configSchemas=[...super.configSchemas,o];static defaultConfigSchema=o;async observeHandler(){try{let[e]=await this.witnessBrowserFile(),{logger:i}=this.params;return i?.log(`BrowserFileWitness: ${await g.PayloadBuilder.dataHash(e)}`),[e]}catch(e){throw new Error(`Error reading file: ${e}`)}}readBinaryFile(e){return new Promise((i,s)=>{let a=new FileReader;a.addEventListener("load",w=>{let x=w.target?.result;i(new Uint8Array(x))}),a.onerror=()=>s(a.error),a.readAsArrayBuffer(e)})}async witnessBrowserFile(){let e=(0,y.assertEx)(this.params.file,()=>"File is missing from params"),i=await this.readBinaryFile(e),s=new Uint8Array(i);return[{hash:(0,F.default)("sha256").update(s).digest("hex").padStart(64,"0"),length:i.byteLength,meta:{name:e.name,type:e.type},modified:e.lastModified,schema:t,uri:this.config.storage==="data-uri"?d(i):e.name},i]}};var P=require("@xyo-network/payload-model");var k=(0,P.isPayloadOfSchemaType)(t);var u=require("@xyo-network/payload-model"),S=require("@xyo-network/payloadset-plugin");var c=()=>(0,S.createPayloadSetWitnessPlugin)({required:{[t]:1},schema:u.PayloadSetSchema},{witness:async r=>await m.create(r)});
133
2
  //# sourceMappingURL=index.cjs.map
@@ -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 { 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 readonly configSchemas: Schema[] = [...super.configSchemas, FileWitnessConfigSchema]\n static override readonly 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 readonly configSchemas: Schema[] = [...super.configSchemas, FileWitnessConfigSchema]\n static override readonly 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,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,uBAAuB;AAAA,EACnG,OAAyB,sBAA8B;AAAA,EAEpC,eAAe,UAA6C;AAC7E,WAAO,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,QAAQ,WAAW,CAAC;AAAA,EAClD;AACF;;;AJLO,IAAM,qBAAN,cAAiC,YAAsC;AAAA,EAC5E,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,uBAAuB;AAAA,EACnG,OAAyB,sBAA8B;AAAA,EAEvD,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"]}
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 readonly configSchemas: Schema[] = [...super.configSchemas, FileWitnessConfigSchema]\n static override readonly 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 readonly configSchemas: Schema[] = [...super.configSchemas, FileWitnessConfigSchema]\n static override readonly 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":"0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,EAAA,uBAAAC,EAAA,eAAAC,EAAA,gBAAAC,EAAA,4BAAAC,EAAA,YAAAJ,EAAA,kBAAAK,IAAA,eAAAC,EAAAR,GCAA,IAAAS,EAAyB,0BACzBC,EAA+B,wCAE/BC,EAAkB,uBCAX,IAAMC,EAAmD,kCCFzD,IAAMC,EAAyB,mBCDtC,IAAAC,EAAuB,uBAEVC,EAAmBC,GACvB,wCAAwC,SAAO,OAAOA,CAAI,CAAC,GCFpE,IAAAC,EAAgC,yCAWzB,IAAeC,EAAf,cAA0F,iBAAkD,CACjJ,OAAyB,cAA0B,CAAC,GAAG,MAAM,cAAeC,CAAuB,EACnG,OAAyB,oBAA8BA,EAEpC,eAAeC,EAA6C,CAC7E,MAAO,CAAC,CAAE,GAAGA,IAAW,CAAC,EAAG,OAAQC,CAAW,CAAC,CAClD,CACF,EJLO,IAAMC,EAAN,cAAiCC,CAAsC,CAC5E,OAAyB,cAA0B,CAAC,GAAG,MAAM,cAAeC,CAAuB,EACnG,OAAyB,oBAA8BA,EAEvD,MAAyB,gBAAiB,CACxC,GAAI,CACF,GAAM,CAACC,CAAO,EAAI,MAAM,KAAK,mBAAmB,EAC1C,CAAE,OAAAC,CAAO,EAAI,KAAK,OACxB,OAAAA,GAAQ,IAAI,uBAAuB,MAAM,iBAAe,SAASD,CAAO,CAAC,EAAE,EACpE,CAACA,CAAO,CACjB,OAAS,EAAG,CACV,MAAM,IAAI,MAAM,uBAAuB,CAAC,EAAE,CAC5C,CACF,CAEQ,eAAeE,EAAiC,CACtD,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtC,IAAMC,EAAa,IAAI,WACvBA,EAAW,iBAAiB,OAASC,GAAU,CAC7C,IAAMC,EAAcD,EAAM,QAAQ,OAClCH,EAAQ,IAAI,WAAWI,CAAW,CAAC,CACrC,CAAC,EAEDF,EAAW,QAAU,IAAMD,EAAOC,EAAW,KAAK,EAElDA,EAAW,kBAAkBH,CAAI,CACnC,CAAC,CACH,CAEA,MAAc,oBAAyD,CACrE,IAAMA,KAAO,YAAS,KAAK,OAAO,KAAM,IAAM,6BAA6B,EACrEM,EAAa,MAAM,KAAK,eAAeN,CAAI,EAC3CO,EAAS,IAAI,WAAWD,CAAU,EAGxC,MAAO,CACL,CACE,QAJS,EAAAE,SAAM,QAAQ,EAAE,OAAOD,CAAM,EAAE,OAAO,KAAK,EAAE,SAAS,GAAI,GAAG,EAKtE,OAAQD,EAAW,WACnB,KAAM,CACJ,KAAMN,EAAK,KACX,KAAMA,EAAK,IACb,EACA,SAAUA,EAAK,aACf,OAAQS,EACR,IAAK,KAAK,OAAO,UAAY,WAAaC,EAAgBJ,CAAU,EAAIN,EAAK,IAC/E,EACAM,CACF,CACF,CACF,EKhEA,IAAAK,EAA+C,sCAoBxC,IAAMC,KAAgB,yBAAmCC,CAAU,ECpB1E,IAAAC,EAAiC,sCACjCC,EAA8C,0CAKvC,IAAMC,EAAoB,OAC/B,iCACE,CAAE,SAAU,CAAE,CAACC,CAAU,EAAG,CAAE,EAAG,OAAQ,kBAAiB,EAC1D,CACE,QAAS,MAAOC,GACC,MAAMC,EAAmB,OAAOD,CAAM,CAGzD,CACF","names":["src_exports","__export","BrowserFilePlugin","BrowserFileWitness","FileSchema","FileWitness","FileWitnessConfigSchema","isFilePayload","__toCommonJS","import_assert","import_payload_builder","import_sha","FileWitnessConfigSchema","FileSchema","import_base","generateDataUri","data","import_abstract_witness","FileWitness","FileWitnessConfigSchema","payloads","FileSchema","BrowserFileWitness","FileWitness","FileWitnessConfigSchema","payload","logger","file","resolve","reject","fileReader","event","arrayBuffer","fileBinary","result","shajs","FileSchema","generateDataUri","import_payload_model","isFilePayload","FileSchema","import_payload_model","import_payloadset_plugin","BrowserFilePlugin","FileSchema","params","BrowserFileWitness"]}
@@ -1,100 +1,2 @@
1
- // src/BrowserFileWitness.ts
2
- import { assertEx } from "@xylabs/assert";
3
- import { PayloadBuilder } from "@xyo-network/payload-builder";
4
- import shajs from "sha.js";
5
-
6
- // src/Config.ts
7
- var FileWitnessConfigSchema = "network.xyo.file.witness.config";
8
-
9
- // src/Schema.ts
10
- var FileSchema = "network.xyo.file";
11
-
12
- // src/util/GenerateDataUri.ts
13
- import { base64 } from "@scure/base";
14
- var generateDataUri = (data) => {
15
- return `data:application/octet-stream;base64,${base64.encode(data)}`;
16
- };
17
-
18
- // src/Witness.ts
19
- import { AbstractWitness } from "@xyo-network/abstract-witness";
20
- var FileWitness = class extends AbstractWitness {
21
- static configSchemas = [...super.configSchemas, FileWitnessConfigSchema];
22
- static defaultConfigSchema = FileWitnessConfigSchema;
23
- observeHandler(payloads) {
24
- return [{ ...payloads?.[0], schema: FileSchema }];
25
- }
26
- };
27
-
28
- // src/BrowserFileWitness.ts
29
- var BrowserFileWitness = class extends FileWitness {
30
- static configSchemas = [...super.configSchemas, FileWitnessConfigSchema];
31
- static defaultConfigSchema = FileWitnessConfigSchema;
32
- async observeHandler() {
33
- try {
34
- const [payload] = await this.witnessBrowserFile();
35
- const { logger } = this.params;
36
- logger?.log(`BrowserFileWitness: ${await PayloadBuilder.dataHash(payload)}`);
37
- return [payload];
38
- } catch (e) {
39
- throw new Error(`Error reading file: ${e}`);
40
- }
41
- }
42
- readBinaryFile(file) {
43
- return new Promise((resolve, reject) => {
44
- const fileReader = new FileReader();
45
- fileReader.addEventListener("load", (event) => {
46
- const arrayBuffer = event.target?.result;
47
- resolve(new Uint8Array(arrayBuffer));
48
- });
49
- fileReader.onerror = () => reject(fileReader.error);
50
- fileReader.readAsArrayBuffer(file);
51
- });
52
- }
53
- async witnessBrowserFile() {
54
- const file = assertEx(this.params.file, () => "File is missing from params");
55
- const fileBinary = await this.readBinaryFile(file);
56
- const result = new Uint8Array(fileBinary);
57
- const hash = shajs("sha256").update(result).digest("hex").padStart(64, "0");
58
- return [
59
- {
60
- hash,
61
- length: fileBinary.byteLength,
62
- meta: {
63
- name: file.name,
64
- type: file.type
65
- },
66
- modified: file.lastModified,
67
- schema: FileSchema,
68
- uri: this.config.storage === "data-uri" ? generateDataUri(fileBinary) : file.name
69
- },
70
- fileBinary
71
- ];
72
- }
73
- };
74
-
75
- // src/Payload.ts
76
- import { isPayloadOfSchemaType } from "@xyo-network/payload-model";
77
- var isFilePayload = isPayloadOfSchemaType(FileSchema);
78
-
79
- // src/PluginBrowser.ts
80
- import { PayloadSetSchema } from "@xyo-network/payload-model";
81
- import { createPayloadSetWitnessPlugin } from "@xyo-network/payloadset-plugin";
82
- var BrowserFilePlugin = () => createPayloadSetWitnessPlugin(
83
- { required: { [FileSchema]: 1 }, schema: PayloadSetSchema },
84
- {
85
- witness: async (params) => {
86
- const result = await BrowserFileWitness.create(params);
87
- return result;
88
- }
89
- }
90
- );
91
- export {
92
- BrowserFilePlugin,
93
- BrowserFileWitness,
94
- FileSchema,
95
- FileWitness,
96
- FileWitnessConfigSchema,
97
- BrowserFilePlugin as default,
98
- isFilePayload
99
- };
1
+ import{assertEx as y}from"@xylabs/assert";import{PayloadBuilder as g}from"@xyo-network/payload-builder";import F from"sha.js";var a="network.xyo.file.witness.config";var i="network.xyo.file";import{base64 as d}from"@scure/base";var l=t=>`data:application/octet-stream;base64,${d.encode(t)}`;import{AbstractWitness as h}from"@xyo-network/abstract-witness";var s=class extends h{static configSchemas=[...super.configSchemas,a];static defaultConfigSchema=a;observeHandler(e){return[{...e?.[0],schema:i}]}};var n=class extends s{static configSchemas=[...super.configSchemas,a];static defaultConfigSchema=a;async observeHandler(){try{let[e]=await this.witnessBrowserFile(),{logger:r}=this.params;return r?.log(`BrowserFileWitness: ${await g.dataHash(e)}`),[e]}catch(e){throw new Error(`Error reading file: ${e}`)}}readBinaryFile(e){return new Promise((r,m)=>{let o=new FileReader;o.addEventListener("load",f=>{let p=f.target?.result;r(new Uint8Array(p))}),o.onerror=()=>m(o.error),o.readAsArrayBuffer(e)})}async witnessBrowserFile(){let e=y(this.params.file,()=>"File is missing from params"),r=await this.readBinaryFile(e),m=new Uint8Array(r);return[{hash:F("sha256").update(m).digest("hex").padStart(64,"0"),length:r.byteLength,meta:{name:e.name,type:e.type},modified:e.lastModified,schema:i,uri:this.config.storage==="data-uri"?l(r):e.name},r]}};import{isPayloadOfSchemaType as P}from"@xyo-network/payload-model";var z=P(i);import{PayloadSetSchema as u}from"@xyo-network/payload-model";import{createPayloadSetWitnessPlugin as S}from"@xyo-network/payloadset-plugin";var c=()=>S({required:{[i]:1},schema:u},{witness:async t=>await n.create(t)});export{c as BrowserFilePlugin,n as BrowserFileWitness,i as FileSchema,s as FileWitness,a as FileWitnessConfigSchema,c as default,z as isFilePayload};
100
2
  //# sourceMappingURL=index.js.map
@@ -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 { 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 readonly configSchemas: Schema[] = [...super.configSchemas, FileWitnessConfigSchema]\n static override readonly 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 readonly configSchemas: Schema[] = [...super.configSchemas, FileWitnessConfigSchema]\n static override readonly 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,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,uBAAuB;AAAA,EACnG,OAAyB,sBAA8B;AAAA,EAEpC,eAAe,UAA6C;AAC7E,WAAO,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,QAAQ,WAAW,CAAC;AAAA,EAClD;AACF;;;AJLO,IAAM,qBAAN,cAAiC,YAAsC;AAAA,EAC5E,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,uBAAuB;AAAA,EACnG,OAAyB,sBAA8B;AAAA,EAEvD,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
+ {"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 readonly configSchemas: Schema[] = [...super.configSchemas, FileWitnessConfigSchema]\n static override readonly 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 readonly configSchemas: Schema[] = [...super.configSchemas, FileWitnessConfigSchema]\n static override readonly 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,OAAS,YAAAA,MAAgB,iBACzB,OAAS,kBAAAC,MAAsB,+BAE/B,OAAOC,MAAW,SCAX,IAAMC,EAAmD,kCCFzD,IAAMC,EAAyB,mBCDtC,OAAS,UAAAC,MAAc,cAEhB,IAAMC,EAAmBC,GACvB,wCAAwCF,EAAO,OAAOE,CAAI,CAAC,GCFpE,OAAS,mBAAAC,MAAuB,gCAWzB,IAAeC,EAAf,cAA0FC,CAAkD,CACjJ,OAAyB,cAA0B,CAAC,GAAG,MAAM,cAAeC,CAAuB,EACnG,OAAyB,oBAA8BA,EAEpC,eAAeC,EAA6C,CAC7E,MAAO,CAAC,CAAE,GAAGA,IAAW,CAAC,EAAG,OAAQC,CAAW,CAAC,CAClD,CACF,EJLO,IAAMC,EAAN,cAAiCC,CAAsC,CAC5E,OAAyB,cAA0B,CAAC,GAAG,MAAM,cAAeC,CAAuB,EACnG,OAAyB,oBAA8BA,EAEvD,MAAyB,gBAAiB,CACxC,GAAI,CACF,GAAM,CAACC,CAAO,EAAI,MAAM,KAAK,mBAAmB,EAC1C,CAAE,OAAAC,CAAO,EAAI,KAAK,OACxB,OAAAA,GAAQ,IAAI,uBAAuB,MAAMC,EAAe,SAASF,CAAO,CAAC,EAAE,EACpE,CAACA,CAAO,CACjB,OAAS,EAAG,CACV,MAAM,IAAI,MAAM,uBAAuB,CAAC,EAAE,CAC5C,CACF,CAEQ,eAAeG,EAAiC,CACtD,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtC,IAAMC,EAAa,IAAI,WACvBA,EAAW,iBAAiB,OAASC,GAAU,CAC7C,IAAMC,EAAcD,EAAM,QAAQ,OAClCH,EAAQ,IAAI,WAAWI,CAAW,CAAC,CACrC,CAAC,EAEDF,EAAW,QAAU,IAAMD,EAAOC,EAAW,KAAK,EAElDA,EAAW,kBAAkBH,CAAI,CACnC,CAAC,CACH,CAEA,MAAc,oBAAyD,CACrE,IAAMA,EAAOM,EAAS,KAAK,OAAO,KAAM,IAAM,6BAA6B,EACrEC,EAAa,MAAM,KAAK,eAAeP,CAAI,EAC3CQ,EAAS,IAAI,WAAWD,CAAU,EAGxC,MAAO,CACL,CACE,KAJSE,EAAM,QAAQ,EAAE,OAAOD,CAAM,EAAE,OAAO,KAAK,EAAE,SAAS,GAAI,GAAG,EAKtE,OAAQD,EAAW,WACnB,KAAM,CACJ,KAAMP,EAAK,KACX,KAAMA,EAAK,IACb,EACA,SAAUA,EAAK,aACf,OAAQU,EACR,IAAK,KAAK,OAAO,UAAY,WAAaC,EAAgBJ,CAAU,EAAIP,EAAK,IAC/E,EACAO,CACF,CACF,CACF,EKhEA,OAAS,yBAAAK,MAAsC,6BAoBxC,IAAMC,EAAgBC,EAAmCC,CAAU,ECpB1E,OAAS,oBAAAC,MAAwB,6BACjC,OAAS,iCAAAC,MAAqC,iCAKvC,IAAMC,EAAoB,IAC/BC,EACE,CAAE,SAAU,CAAE,CAACC,CAAU,EAAG,CAAE,EAAG,OAAQC,CAAiB,EAC1D,CACE,QAAS,MAAOC,GACC,MAAMC,EAAmB,OAAOD,CAAM,CAGzD,CACF","names":["assertEx","PayloadBuilder","shajs","FileWitnessConfigSchema","FileSchema","base64","generateDataUri","data","AbstractWitness","FileWitness","AbstractWitness","FileWitnessConfigSchema","payloads","FileSchema","BrowserFileWitness","FileWitness","FileWitnessConfigSchema","payload","logger","PayloadBuilder","file","resolve","reject","fileReader","event","arrayBuffer","assertEx","fileBinary","result","shajs","FileSchema","generateDataUri","isPayloadOfSchemaType","isFilePayload","isPayloadOfSchemaType","FileSchema","PayloadSetSchema","createPayloadSetWitnessPlugin","BrowserFilePlugin","createPayloadSetWitnessPlugin","FileSchema","PayloadSetSchema","params","BrowserFileWitness"]}
@@ -6,11 +6,11 @@ export declare class BrowserFileWitness extends FileWitness<BrowserFileWitnessPa
6
6
  static readonly configSchemas: Schema[];
7
7
  static readonly defaultConfigSchema: Schema;
8
8
  protected observeHandler(): Promise<(import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
9
- created?: number | undefined;
10
- hash: string;
9
+ created?: number;
10
+ hash: import("./Payload").BinaryDataHash;
11
11
  length: number;
12
- meta?: Record<string, string | number> | undefined;
13
- modified?: number | undefined;
12
+ meta?: Record<string, string | number>;
13
+ modified?: number;
14
14
  uri: string;
15
15
  } & {
16
16
  schema: "network.xyo.file";
@@ -6,11 +6,11 @@ export declare class BrowserFileWitness extends FileWitness<BrowserFileWitnessPa
6
6
  static readonly configSchemas: Schema[];
7
7
  static readonly defaultConfigSchema: Schema;
8
8
  protected observeHandler(): Promise<(import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
9
- created?: number | undefined;
10
- hash: string;
9
+ created?: number;
10
+ hash: import("./Payload").BinaryDataHash;
11
11
  length: number;
12
- meta?: Record<string, string | number> | undefined;
13
- modified?: number | undefined;
12
+ meta?: Record<string, string | number>;
13
+ modified?: number;
14
14
  uri: string;
15
15
  } & {
16
16
  schema: "network.xyo.file";
@@ -6,11 +6,11 @@ export declare class BrowserFileWitness extends FileWitness<BrowserFileWitnessPa
6
6
  static readonly configSchemas: Schema[];
7
7
  static readonly defaultConfigSchema: Schema;
8
8
  protected observeHandler(): Promise<(import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
9
- created?: number | undefined;
10
- hash: string;
9
+ created?: number;
10
+ hash: import("./Payload").BinaryDataHash;
11
11
  length: number;
12
- meta?: Record<string, string | number> | undefined;
13
- modified?: number | undefined;
12
+ meta?: Record<string, string | number>;
13
+ modified?: number;
14
14
  uri: string;
15
15
  } & {
16
16
  schema: "network.xyo.file";
@@ -1,23 +1,20 @@
1
1
  import { Payload } from '@xyo-network/payload-model';
2
2
  import { FileSchema } from './Schema';
3
3
  export type BinaryDataHash = string;
4
- /** @description File location and optional data */
5
4
  export type FilePayload = Payload<{
6
5
  created?: number;
7
6
  hash: BinaryDataHash;
8
7
  length: number;
9
- /** @field Storage specific meta data */
10
8
  meta?: Record<string, string | number>;
11
9
  modified?: number;
12
10
  uri: string;
13
11
  }, FileSchema>;
14
- export declare const isFilePayload: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
15
- created?: number | undefined;
12
+ export declare const isFilePayload: (x?: unknown | null) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
13
+ created?: number;
16
14
  hash: BinaryDataHash;
17
15
  length: number;
18
- /** @field Storage specific meta data */
19
- meta?: Record<string, string | number> | undefined;
20
- modified?: number | undefined;
16
+ meta?: Record<string, string | number>;
17
+ modified?: number;
21
18
  uri: string;
22
19
  } & {
23
20
  schema: "network.xyo.file";
@@ -1 +1 @@
1
- {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,MAAM,MAAM,cAAc,GAAG,MAAM,CAAA;AAEnC,mDAAmD;AACnD,MAAM,MAAM,WAAW,GAAG,OAAO,CAC/B;IACE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,cAAc,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;CACZ,EACD,UAAU,CACX,CAAA;AAED,eAAO,MAAM,aAAa;;UAVhB,cAAc;YACZ,MAAM;IACd,wCAAwC;;;SAGnC,MAAM;;;CAK4D,CAAA"}
1
+ {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,MAAM,MAAM,cAAc,GAAG,MAAM,CAAA;AAGnC,MAAM,MAAM,WAAW,GAAG,OAAO,CAC/B;IACE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,cAAc,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IAEd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;CACZ,EACD,UAAU,CACX,CAAA;AAED,eAAO,MAAM,aAAa;cAXZ,MAAM;UACV,cAAc;YACZ,MAAM;WAEP,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;eAC3B,MAAM;SACZ,MAAM;;;CAK4D,CAAA"}
@@ -1,23 +1,20 @@
1
1
  import { Payload } from '@xyo-network/payload-model';
2
2
  import { FileSchema } from './Schema';
3
3
  export type BinaryDataHash = string;
4
- /** @description File location and optional data */
5
4
  export type FilePayload = Payload<{
6
5
  created?: number;
7
6
  hash: BinaryDataHash;
8
7
  length: number;
9
- /** @field Storage specific meta data */
10
8
  meta?: Record<string, string | number>;
11
9
  modified?: number;
12
10
  uri: string;
13
11
  }, FileSchema>;
14
- export declare const isFilePayload: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
15
- created?: number | undefined;
12
+ export declare const isFilePayload: (x?: unknown | null) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
13
+ created?: number;
16
14
  hash: BinaryDataHash;
17
15
  length: number;
18
- /** @field Storage specific meta data */
19
- meta?: Record<string, string | number> | undefined;
20
- modified?: number | undefined;
16
+ meta?: Record<string, string | number>;
17
+ modified?: number;
21
18
  uri: string;
22
19
  } & {
23
20
  schema: "network.xyo.file";
@@ -1 +1 @@
1
- {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,MAAM,MAAM,cAAc,GAAG,MAAM,CAAA;AAEnC,mDAAmD;AACnD,MAAM,MAAM,WAAW,GAAG,OAAO,CAC/B;IACE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,cAAc,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;CACZ,EACD,UAAU,CACX,CAAA;AAED,eAAO,MAAM,aAAa;;UAVhB,cAAc;YACZ,MAAM;IACd,wCAAwC;;;SAGnC,MAAM;;;CAK4D,CAAA"}
1
+ {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,MAAM,MAAM,cAAc,GAAG,MAAM,CAAA;AAGnC,MAAM,MAAM,WAAW,GAAG,OAAO,CAC/B;IACE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,cAAc,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IAEd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;CACZ,EACD,UAAU,CACX,CAAA;AAED,eAAO,MAAM,aAAa;cAXZ,MAAM;UACV,cAAc;YACZ,MAAM;WAEP,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;eAC3B,MAAM;SACZ,MAAM;;;CAK4D,CAAA"}