@xyo-network/filesystem-archivist 2.84.6 → 2.84.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/node/{index.mjs → index.cjs} +50 -24
- package/dist/node/index.cjs.map +1 -0
- package/dist/node/index.js +23 -49
- package/dist/node/index.js.map +1 -1
- package/package.json +17 -17
- package/dist/node/index.mjs.map +0 -1
|
@@ -1,21 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
2
6
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
7
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
4
21
|
var __publicField = (obj, key, value) => {
|
|
5
22
|
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
6
23
|
return value;
|
|
7
24
|
};
|
|
8
25
|
|
|
26
|
+
// src/index.ts
|
|
27
|
+
var src_exports = {};
|
|
28
|
+
__export(src_exports, {
|
|
29
|
+
FilesystemArchivist: () => FilesystemArchivist,
|
|
30
|
+
FilesystemArchivistConfigSchema: () => FilesystemArchivistConfigSchema
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(src_exports);
|
|
33
|
+
|
|
9
34
|
// src/FilesystemArchivist.ts
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
35
|
+
var import_promises = require("fs/promises");
|
|
36
|
+
var import_assert = require("@xylabs/assert");
|
|
37
|
+
var import_error = require("@xylabs/error");
|
|
38
|
+
var import_account = require("@xyo-network/account");
|
|
39
|
+
var import_archivist_abstract = require("@xyo-network/archivist-abstract");
|
|
40
|
+
var import_archivist_model = require("@xyo-network/archivist-model");
|
|
41
|
+
var import_memory_archivist = require("@xyo-network/memory-archivist");
|
|
42
|
+
var import_module_model = require("@xyo-network/module-model");
|
|
43
|
+
var import_payload_wrapper = require("@xyo-network/payload-wrapper");
|
|
19
44
|
function _ts_decorate(decorators, target, key, desc) {
|
|
20
45
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
21
46
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
@@ -28,7 +53,7 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
28
53
|
}
|
|
29
54
|
__name(_ts_decorate, "_ts_decorate");
|
|
30
55
|
var FilesystemArchivistConfigSchema = "network.xyo.archivist.filesystem.config";
|
|
31
|
-
var _FilesystemArchivist = class _FilesystemArchivist extends AbstractArchivist {
|
|
56
|
+
var _FilesystemArchivist = class _FilesystemArchivist extends import_archivist_abstract.AbstractArchivist {
|
|
32
57
|
_memoryArchivist;
|
|
33
58
|
get filePath() {
|
|
34
59
|
var _a;
|
|
@@ -36,23 +61,23 @@ var _FilesystemArchivist = class _FilesystemArchivist extends AbstractArchivist
|
|
|
36
61
|
}
|
|
37
62
|
get queries() {
|
|
38
63
|
return [
|
|
39
|
-
ArchivistAllQuerySchema,
|
|
40
|
-
ArchivistCommitQuerySchema,
|
|
64
|
+
import_archivist_model.ArchivistAllQuerySchema,
|
|
65
|
+
import_archivist_model.ArchivistCommitQuerySchema,
|
|
41
66
|
...super.queries
|
|
42
67
|
];
|
|
43
68
|
}
|
|
44
69
|
get memoryArchivist() {
|
|
45
|
-
return assertEx(this._memoryArchivist);
|
|
70
|
+
return (0, import_assert.assertEx)(this._memoryArchivist);
|
|
46
71
|
}
|
|
47
72
|
static dataFromRawJson(rawJson) {
|
|
48
73
|
const data = JSON.parse(rawJson);
|
|
49
|
-
assertEx(typeof data === "object", "Archivist Data must be object");
|
|
50
|
-
assertEx(Array.isArray(data.payloads), 'Archivist Data "payloads" field must be array of payloads');
|
|
74
|
+
(0, import_assert.assertEx)(typeof data === "object", "Archivist Data must be object");
|
|
75
|
+
(0, import_assert.assertEx)(Array.isArray(data.payloads), 'Archivist Data "payloads" field must be array of payloads');
|
|
51
76
|
data.payloads = this.payloadsFromRawPayloads(data.payloads);
|
|
52
77
|
return data;
|
|
53
78
|
}
|
|
54
79
|
static payloadsFromRawPayloads(rawPayloads) {
|
|
55
|
-
return rawPayloads.map((payload) => PayloadWrapper.wrap(payload).payload());
|
|
80
|
+
return rawPayloads.map((payload) => import_payload_wrapper.PayloadWrapper.wrap(payload).payload());
|
|
56
81
|
}
|
|
57
82
|
allHandler() {
|
|
58
83
|
return this.memoryArchivist.all();
|
|
@@ -74,14 +99,14 @@ var _FilesystemArchivist = class _FilesystemArchivist extends AbstractArchivist
|
|
|
74
99
|
}
|
|
75
100
|
async startHandler() {
|
|
76
101
|
await super.startHandler();
|
|
77
|
-
this._memoryArchivist = await MemoryArchivist.create({
|
|
78
|
-
account: await HDWallet.random()
|
|
102
|
+
this._memoryArchivist = await import_memory_archivist.MemoryArchivist.create({
|
|
103
|
+
account: await import_account.HDWallet.random()
|
|
79
104
|
});
|
|
80
105
|
try {
|
|
81
106
|
const data = _FilesystemArchivist.dataFromRawJson(await this.rawJsonFromFile());
|
|
82
107
|
await this._memoryArchivist.insert(data.payloads);
|
|
83
108
|
} catch (ex) {
|
|
84
|
-
handleError(ex, (error) => {
|
|
109
|
+
(0, import_error.handleError)(ex, (error) => {
|
|
85
110
|
var _a;
|
|
86
111
|
(_a = this.logger) == null ? void 0 : _a.error(error.message);
|
|
87
112
|
});
|
|
@@ -90,7 +115,7 @@ var _FilesystemArchivist = class _FilesystemArchivist extends AbstractArchivist
|
|
|
90
115
|
return true;
|
|
91
116
|
}
|
|
92
117
|
async rawJsonFromFile() {
|
|
93
|
-
return await readFile(this.filePath, {
|
|
118
|
+
return await (0, import_promises.readFile)(this.filePath, {
|
|
94
119
|
encoding: "utf8"
|
|
95
120
|
});
|
|
96
121
|
}
|
|
@@ -101,10 +126,11 @@ __publicField(_FilesystemArchivist, "configSchemas", [
|
|
|
101
126
|
]);
|
|
102
127
|
var FilesystemArchivist = _FilesystemArchivist;
|
|
103
128
|
FilesystemArchivist = _ts_decorate([
|
|
104
|
-
creatableModule()
|
|
129
|
+
(0, import_module_model.creatableModule)()
|
|
105
130
|
], FilesystemArchivist);
|
|
106
|
-
export
|
|
131
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
132
|
+
0 && (module.exports = {
|
|
107
133
|
FilesystemArchivist,
|
|
108
134
|
FilesystemArchivistConfigSchema
|
|
109
|
-
};
|
|
110
|
-
//# sourceMappingURL=index.
|
|
135
|
+
});
|
|
136
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/FilesystemArchivist.ts"],"sourcesContent":["export * from './FilesystemArchivist'\n","import { readFile } from 'node:fs/promises'\n\nimport { assertEx } from '@xylabs/assert'\nimport { handleError } from '@xylabs/error'\nimport { PromisableArray } from '@xylabs/promise'\nimport { HDWallet } from '@xyo-network/account'\nimport { AbstractArchivist } from '@xyo-network/archivist-abstract'\nimport {\n ArchivistAllQuerySchema,\n ArchivistCommitQuerySchema,\n ArchivistConfig,\n ArchivistInstance,\n ArchivistParams,\n} from '@xyo-network/archivist-model'\nimport { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { MemoryArchivist } from '@xyo-network/memory-archivist'\nimport { AnyConfigSchema, creatableModule } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nexport interface FileSystemArchivistData {\n payloads: Payload[]\n}\n\nexport type FilesystemArchivistConfigSchema = 'network.xyo.archivist.filesystem.config'\nexport const FilesystemArchivistConfigSchema: FilesystemArchivistConfigSchema = 'network.xyo.archivist.filesystem.config'\n\nexport type FilesystemArchivistConfig = ArchivistConfig<{\n filePath?: string\n schema: FilesystemArchivistConfigSchema\n}>\n\nexport type FilesystemArchivistParams = ArchivistParams<AnyConfigSchema<FilesystemArchivistConfig>>\n\n/** @description Currently only a read-only archivist that loads payloads from filesystem\n * but allows for future expansion to read/write\n */\n@creatableModule()\nexport class FilesystemArchivist<TParams extends FilesystemArchivistParams = FilesystemArchivistParams>\n extends AbstractArchivist<TParams>\n implements ArchivistInstance\n{\n static override configSchemas = [FilesystemArchivistConfigSchema]\n\n private _memoryArchivist?: MemoryArchivist\n\n get filePath() {\n return this.config?.filePath ?? 'archivist.xyo.json'\n }\n\n override get queries() {\n return [ArchivistAllQuerySchema, ArchivistCommitQuerySchema, ...super.queries]\n }\n\n private get memoryArchivist() {\n return assertEx(this._memoryArchivist)\n }\n\n private static dataFromRawJson(rawJson: string) {\n const data: FileSystemArchivistData = JSON.parse(rawJson)\n assertEx(typeof data === 'object', 'Archivist Data must be object')\n assertEx(Array.isArray(data.payloads), 'Archivist Data \"payloads\" field must be array of payloads')\n data.payloads = this.payloadsFromRawPayloads(data.payloads)\n return data\n }\n\n private static payloadsFromRawPayloads(rawPayloads: Payload[]) {\n //validation should be done in here. I don't believe parse does much validation yet.\n return rawPayloads.map((payload) => PayloadWrapper.wrap(payload).payload())\n }\n\n protected override allHandler(): PromisableArray<Payload> {\n return this.memoryArchivist.all()\n }\n\n protected override clearHandler(): void | Promise<void> {\n return this.memoryArchivist.clear()\n }\n\n protected override async commitHandler(): Promise<BoundWitness[]> {\n return await this.memoryArchivist.commit()\n }\n\n protected override deleteHandler(hashes: string[]): PromisableArray<string> {\n return this.memoryArchivist.delete(hashes)\n }\n\n protected override async getHandler(hashes: string[]): Promise<Payload[]> {\n return await this.memoryArchivist.get(hashes)\n }\n\n protected override async insertHandler(payloads: Payload[]): Promise<Payload[]> {\n return await this.memoryArchivist.insert(payloads)\n }\n\n protected override async startHandler() {\n await super.startHandler()\n this._memoryArchivist = await MemoryArchivist.create({ account: await HDWallet.random() })\n try {\n const data = FilesystemArchivist.dataFromRawJson(await this.rawJsonFromFile())\n await this._memoryArchivist.insert(data.payloads)\n } catch (ex) {\n handleError(ex, (error) => {\n this.logger?.error(error.message)\n })\n return false\n }\n return true\n }\n\n private async rawJsonFromFile() {\n return await readFile(this.filePath, { encoding: 'utf8' })\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;ACAA,sBAAyB;AAEzB,oBAAyB;AACzB,mBAA4B;AAE5B,qBAAyB;AACzB,gCAAkC;AAClC,6BAMO;AAEP,8BAAgC;AAChC,0BAAiD;AAEjD,6BAA+B;;;;;;;;;;;;AAOxB,IAAMA,kCAAmE;AAazE,IAAMC,uBAAN,MAAMA,6BACHC,4CAAAA;EAKAC;EAER,IAAIC,WAAW;;AACb,aAAO,UAAKC,WAAL,mBAAaD,aAAY;EAClC;EAEA,IAAaE,UAAU;AACrB,WAAO;MAACC;MAAyBC;SAA+B,MAAMF;;EACxE;EAEA,IAAYG,kBAAkB;AAC5B,eAAOC,wBAAS,KAAKP,gBAAgB;EACvC;EAEA,OAAeQ,gBAAgBC,SAAiB;AAC9C,UAAMC,OAAgCC,KAAKC,MAAMH,OAAAA;AACjDF,gCAAS,OAAOG,SAAS,UAAU,+BAAA;AACnCH,gCAASM,MAAMC,QAAQJ,KAAKK,QAAQ,GAAG,2DAAA;AACvCL,SAAKK,WAAW,KAAKC,wBAAwBN,KAAKK,QAAQ;AAC1D,WAAOL;EACT;EAEA,OAAeM,wBAAwBC,aAAwB;AAE7D,WAAOA,YAAYC,IAAI,CAACC,YAAYC,sCAAeC,KAAKF,OAAAA,EAASA,QAAO,CAAA;EAC1E;EAEmBG,aAAuC;AACxD,WAAO,KAAKhB,gBAAgBiB,IAAG;EACjC;EAEmBC,eAAqC;AACtD,WAAO,KAAKlB,gBAAgBmB,MAAK;EACnC;EAEA,MAAyBC,gBAAyC;AAChE,WAAO,MAAM,KAAKpB,gBAAgBqB,OAAM;EAC1C;EAEmBC,cAAcC,QAA2C;AAC1E,WAAO,KAAKvB,gBAAgBwB,OAAOD,MAAAA;EACrC;EAEA,MAAyBE,WAAWF,QAAsC;AACxE,WAAO,MAAM,KAAKvB,gBAAgB0B,IAAIH,MAAAA;EACxC;EAEA,MAAyBI,cAAclB,UAAyC;AAC9E,WAAO,MAAM,KAAKT,gBAAgB4B,OAAOnB,QAAAA;EAC3C;EAEA,MAAyBoB,eAAe;AACtC,UAAM,MAAMA,aAAAA;AACZ,SAAKnC,mBAAmB,MAAMoC,wCAAgBC,OAAO;MAAEC,SAAS,MAAMC,wBAASC,OAAM;IAAG,CAAA;AACxF,QAAI;AACF,YAAM9B,OAAOZ,qBAAoBU,gBAAgB,MAAM,KAAKiC,gBAAe,CAAA;AAC3E,YAAM,KAAKzC,iBAAiBkC,OAAOxB,KAAKK,QAAQ;IAClD,SAAS2B,IAAI;AACXC,oCAAYD,IAAI,CAACE,UAAAA;;AACf,mBAAKC,WAAL,mBAAaD,MAAMA,MAAME;MAC3B,CAAA;AACA,aAAO;IACT;AACA,WAAO;EACT;EAEA,MAAcL,kBAAkB;AAC9B,WAAO,UAAMM,0BAAS,KAAK9C,UAAU;MAAE+C,UAAU;IAAO,CAAA;EAC1D;AACF;AA1EUjD;AAGR,cAJWD,sBAIKmD,iBAAgB;EAACpD;;AAJ5B,IAAMC,sBAAN;AAAMA,sBAAAA,aAAAA;MADZoD,qCAAAA;GACYpD,mBAAAA;","names":["FilesystemArchivistConfigSchema","FilesystemArchivist","AbstractArchivist","_memoryArchivist","filePath","config","queries","ArchivistAllQuerySchema","ArchivistCommitQuerySchema","memoryArchivist","assertEx","dataFromRawJson","rawJson","data","JSON","parse","Array","isArray","payloads","payloadsFromRawPayloads","rawPayloads","map","payload","PayloadWrapper","wrap","allHandler","all","clearHandler","clear","commitHandler","commit","deleteHandler","hashes","delete","getHandler","get","insertHandler","insert","startHandler","MemoryArchivist","create","account","HDWallet","random","rawJsonFromFile","ex","handleError","error","logger","message","readFile","encoding","configSchemas","creatableModule"]}
|
package/dist/node/index.js
CHANGED
|
@@ -1,46 +1,21 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
2
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
3
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
4
|
var __publicField = (obj, key, value) => {
|
|
22
5
|
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
23
6
|
return value;
|
|
24
7
|
};
|
|
25
8
|
|
|
26
|
-
// src/index.ts
|
|
27
|
-
var src_exports = {};
|
|
28
|
-
__export(src_exports, {
|
|
29
|
-
FilesystemArchivist: () => FilesystemArchivist,
|
|
30
|
-
FilesystemArchivistConfigSchema: () => FilesystemArchivistConfigSchema
|
|
31
|
-
});
|
|
32
|
-
module.exports = __toCommonJS(src_exports);
|
|
33
|
-
|
|
34
9
|
// src/FilesystemArchivist.ts
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
10
|
+
import { readFile } from "node:fs/promises";
|
|
11
|
+
import { assertEx } from "@xylabs/assert";
|
|
12
|
+
import { handleError } from "@xylabs/error";
|
|
13
|
+
import { HDWallet } from "@xyo-network/account";
|
|
14
|
+
import { AbstractArchivist } from "@xyo-network/archivist-abstract";
|
|
15
|
+
import { ArchivistAllQuerySchema, ArchivistCommitQuerySchema } from "@xyo-network/archivist-model";
|
|
16
|
+
import { MemoryArchivist } from "@xyo-network/memory-archivist";
|
|
17
|
+
import { creatableModule } from "@xyo-network/module-model";
|
|
18
|
+
import { PayloadWrapper } from "@xyo-network/payload-wrapper";
|
|
44
19
|
function _ts_decorate(decorators, target, key, desc) {
|
|
45
20
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
46
21
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
@@ -53,7 +28,7 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
53
28
|
}
|
|
54
29
|
__name(_ts_decorate, "_ts_decorate");
|
|
55
30
|
var FilesystemArchivistConfigSchema = "network.xyo.archivist.filesystem.config";
|
|
56
|
-
var _FilesystemArchivist = class _FilesystemArchivist extends
|
|
31
|
+
var _FilesystemArchivist = class _FilesystemArchivist extends AbstractArchivist {
|
|
57
32
|
_memoryArchivist;
|
|
58
33
|
get filePath() {
|
|
59
34
|
var _a;
|
|
@@ -61,23 +36,23 @@ var _FilesystemArchivist = class _FilesystemArchivist extends import_archivist_a
|
|
|
61
36
|
}
|
|
62
37
|
get queries() {
|
|
63
38
|
return [
|
|
64
|
-
|
|
65
|
-
|
|
39
|
+
ArchivistAllQuerySchema,
|
|
40
|
+
ArchivistCommitQuerySchema,
|
|
66
41
|
...super.queries
|
|
67
42
|
];
|
|
68
43
|
}
|
|
69
44
|
get memoryArchivist() {
|
|
70
|
-
return
|
|
45
|
+
return assertEx(this._memoryArchivist);
|
|
71
46
|
}
|
|
72
47
|
static dataFromRawJson(rawJson) {
|
|
73
48
|
const data = JSON.parse(rawJson);
|
|
74
|
-
|
|
75
|
-
|
|
49
|
+
assertEx(typeof data === "object", "Archivist Data must be object");
|
|
50
|
+
assertEx(Array.isArray(data.payloads), 'Archivist Data "payloads" field must be array of payloads');
|
|
76
51
|
data.payloads = this.payloadsFromRawPayloads(data.payloads);
|
|
77
52
|
return data;
|
|
78
53
|
}
|
|
79
54
|
static payloadsFromRawPayloads(rawPayloads) {
|
|
80
|
-
return rawPayloads.map((payload) =>
|
|
55
|
+
return rawPayloads.map((payload) => PayloadWrapper.wrap(payload).payload());
|
|
81
56
|
}
|
|
82
57
|
allHandler() {
|
|
83
58
|
return this.memoryArchivist.all();
|
|
@@ -99,14 +74,14 @@ var _FilesystemArchivist = class _FilesystemArchivist extends import_archivist_a
|
|
|
99
74
|
}
|
|
100
75
|
async startHandler() {
|
|
101
76
|
await super.startHandler();
|
|
102
|
-
this._memoryArchivist = await
|
|
103
|
-
account: await
|
|
77
|
+
this._memoryArchivist = await MemoryArchivist.create({
|
|
78
|
+
account: await HDWallet.random()
|
|
104
79
|
});
|
|
105
80
|
try {
|
|
106
81
|
const data = _FilesystemArchivist.dataFromRawJson(await this.rawJsonFromFile());
|
|
107
82
|
await this._memoryArchivist.insert(data.payloads);
|
|
108
83
|
} catch (ex) {
|
|
109
|
-
|
|
84
|
+
handleError(ex, (error) => {
|
|
110
85
|
var _a;
|
|
111
86
|
(_a = this.logger) == null ? void 0 : _a.error(error.message);
|
|
112
87
|
});
|
|
@@ -115,7 +90,7 @@ var _FilesystemArchivist = class _FilesystemArchivist extends import_archivist_a
|
|
|
115
90
|
return true;
|
|
116
91
|
}
|
|
117
92
|
async rawJsonFromFile() {
|
|
118
|
-
return await
|
|
93
|
+
return await readFile(this.filePath, {
|
|
119
94
|
encoding: "utf8"
|
|
120
95
|
});
|
|
121
96
|
}
|
|
@@ -126,11 +101,10 @@ __publicField(_FilesystemArchivist, "configSchemas", [
|
|
|
126
101
|
]);
|
|
127
102
|
var FilesystemArchivist = _FilesystemArchivist;
|
|
128
103
|
FilesystemArchivist = _ts_decorate([
|
|
129
|
-
|
|
104
|
+
creatableModule()
|
|
130
105
|
], FilesystemArchivist);
|
|
131
|
-
|
|
132
|
-
0 && (module.exports = {
|
|
106
|
+
export {
|
|
133
107
|
FilesystemArchivist,
|
|
134
108
|
FilesystemArchivistConfigSchema
|
|
135
|
-
}
|
|
109
|
+
};
|
|
136
110
|
//# sourceMappingURL=index.js.map
|
package/dist/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/
|
|
1
|
+
{"version":3,"sources":["../../src/FilesystemArchivist.ts"],"sourcesContent":["import { readFile } from 'node:fs/promises'\n\nimport { assertEx } from '@xylabs/assert'\nimport { handleError } from '@xylabs/error'\nimport { PromisableArray } from '@xylabs/promise'\nimport { HDWallet } from '@xyo-network/account'\nimport { AbstractArchivist } from '@xyo-network/archivist-abstract'\nimport {\n ArchivistAllQuerySchema,\n ArchivistCommitQuerySchema,\n ArchivistConfig,\n ArchivistInstance,\n ArchivistParams,\n} from '@xyo-network/archivist-model'\nimport { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { MemoryArchivist } from '@xyo-network/memory-archivist'\nimport { AnyConfigSchema, creatableModule } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nexport interface FileSystemArchivistData {\n payloads: Payload[]\n}\n\nexport type FilesystemArchivistConfigSchema = 'network.xyo.archivist.filesystem.config'\nexport const FilesystemArchivistConfigSchema: FilesystemArchivistConfigSchema = 'network.xyo.archivist.filesystem.config'\n\nexport type FilesystemArchivistConfig = ArchivistConfig<{\n filePath?: string\n schema: FilesystemArchivistConfigSchema\n}>\n\nexport type FilesystemArchivistParams = ArchivistParams<AnyConfigSchema<FilesystemArchivistConfig>>\n\n/** @description Currently only a read-only archivist that loads payloads from filesystem\n * but allows for future expansion to read/write\n */\n@creatableModule()\nexport class FilesystemArchivist<TParams extends FilesystemArchivistParams = FilesystemArchivistParams>\n extends AbstractArchivist<TParams>\n implements ArchivistInstance\n{\n static override configSchemas = [FilesystemArchivistConfigSchema]\n\n private _memoryArchivist?: MemoryArchivist\n\n get filePath() {\n return this.config?.filePath ?? 'archivist.xyo.json'\n }\n\n override get queries() {\n return [ArchivistAllQuerySchema, ArchivistCommitQuerySchema, ...super.queries]\n }\n\n private get memoryArchivist() {\n return assertEx(this._memoryArchivist)\n }\n\n private static dataFromRawJson(rawJson: string) {\n const data: FileSystemArchivistData = JSON.parse(rawJson)\n assertEx(typeof data === 'object', 'Archivist Data must be object')\n assertEx(Array.isArray(data.payloads), 'Archivist Data \"payloads\" field must be array of payloads')\n data.payloads = this.payloadsFromRawPayloads(data.payloads)\n return data\n }\n\n private static payloadsFromRawPayloads(rawPayloads: Payload[]) {\n //validation should be done in here. I don't believe parse does much validation yet.\n return rawPayloads.map((payload) => PayloadWrapper.wrap(payload).payload())\n }\n\n protected override allHandler(): PromisableArray<Payload> {\n return this.memoryArchivist.all()\n }\n\n protected override clearHandler(): void | Promise<void> {\n return this.memoryArchivist.clear()\n }\n\n protected override async commitHandler(): Promise<BoundWitness[]> {\n return await this.memoryArchivist.commit()\n }\n\n protected override deleteHandler(hashes: string[]): PromisableArray<string> {\n return this.memoryArchivist.delete(hashes)\n }\n\n protected override async getHandler(hashes: string[]): Promise<Payload[]> {\n return await this.memoryArchivist.get(hashes)\n }\n\n protected override async insertHandler(payloads: Payload[]): Promise<Payload[]> {\n return await this.memoryArchivist.insert(payloads)\n }\n\n protected override async startHandler() {\n await super.startHandler()\n this._memoryArchivist = await MemoryArchivist.create({ account: await HDWallet.random() })\n try {\n const data = FilesystemArchivist.dataFromRawJson(await this.rawJsonFromFile())\n await this._memoryArchivist.insert(data.payloads)\n } catch (ex) {\n handleError(ex, (error) => {\n this.logger?.error(error.message)\n })\n return false\n }\n return true\n }\n\n private async rawJsonFromFile() {\n return await readFile(this.filePath, { encoding: 'utf8' })\n }\n}\n"],"mappings":";;;;;;;;;AAAA,SAASA,gBAAgB;AAEzB,SAASC,gBAAgB;AACzB,SAASC,mBAAmB;AAE5B,SAASC,gBAAgB;AACzB,SAASC,yBAAyB;AAClC,SACEC,yBACAC,kCAIK;AAEP,SAASC,uBAAuB;AAChC,SAA0BC,uBAAuB;AAEjD,SAASC,sBAAsB;;;;;;;;;;;;AAOxB,IAAMC,kCAAmE;AAazE,IAAMC,uBAAN,MAAMA,6BACHC,kBAAAA;EAKAC;EAER,IAAIC,WAAW;;AACb,aAAO,UAAKC,WAAL,mBAAaD,aAAY;EAClC;EAEA,IAAaE,UAAU;AACrB,WAAO;MAACC;MAAyBC;SAA+B,MAAMF;;EACxE;EAEA,IAAYG,kBAAkB;AAC5B,WAAOC,SAAS,KAAKP,gBAAgB;EACvC;EAEA,OAAeQ,gBAAgBC,SAAiB;AAC9C,UAAMC,OAAgCC,KAAKC,MAAMH,OAAAA;AACjDF,aAAS,OAAOG,SAAS,UAAU,+BAAA;AACnCH,aAASM,MAAMC,QAAQJ,KAAKK,QAAQ,GAAG,2DAAA;AACvCL,SAAKK,WAAW,KAAKC,wBAAwBN,KAAKK,QAAQ;AAC1D,WAAOL;EACT;EAEA,OAAeM,wBAAwBC,aAAwB;AAE7D,WAAOA,YAAYC,IAAI,CAACC,YAAYC,eAAeC,KAAKF,OAAAA,EAASA,QAAO,CAAA;EAC1E;EAEmBG,aAAuC;AACxD,WAAO,KAAKhB,gBAAgBiB,IAAG;EACjC;EAEmBC,eAAqC;AACtD,WAAO,KAAKlB,gBAAgBmB,MAAK;EACnC;EAEA,MAAyBC,gBAAyC;AAChE,WAAO,MAAM,KAAKpB,gBAAgBqB,OAAM;EAC1C;EAEmBC,cAAcC,QAA2C;AAC1E,WAAO,KAAKvB,gBAAgBwB,OAAOD,MAAAA;EACrC;EAEA,MAAyBE,WAAWF,QAAsC;AACxE,WAAO,MAAM,KAAKvB,gBAAgB0B,IAAIH,MAAAA;EACxC;EAEA,MAAyBI,cAAclB,UAAyC;AAC9E,WAAO,MAAM,KAAKT,gBAAgB4B,OAAOnB,QAAAA;EAC3C;EAEA,MAAyBoB,eAAe;AACtC,UAAM,MAAMA,aAAAA;AACZ,SAAKnC,mBAAmB,MAAMoC,gBAAgBC,OAAO;MAAEC,SAAS,MAAMC,SAASC,OAAM;IAAG,CAAA;AACxF,QAAI;AACF,YAAM9B,OAAOZ,qBAAoBU,gBAAgB,MAAM,KAAKiC,gBAAe,CAAA;AAC3E,YAAM,KAAKzC,iBAAiBkC,OAAOxB,KAAKK,QAAQ;IAClD,SAAS2B,IAAI;AACXC,kBAAYD,IAAI,CAACE,UAAAA;;AACf,mBAAKC,WAAL,mBAAaD,MAAMA,MAAME;MAC3B,CAAA;AACA,aAAO;IACT;AACA,WAAO;EACT;EAEA,MAAcL,kBAAkB;AAC9B,WAAO,MAAMM,SAAS,KAAK9C,UAAU;MAAE+C,UAAU;IAAO,CAAA;EAC1D;AACF;AA1EUjD;AAGR,cAJWD,sBAIKmD,iBAAgB;EAACpD;;AAJ5B,IAAMC,sBAAN;AAAMA,sBAAAA,aAAAA;EADZoD,gBAAAA;GACYpD,mBAAAA;","names":["readFile","assertEx","handleError","HDWallet","AbstractArchivist","ArchivistAllQuerySchema","ArchivistCommitQuerySchema","MemoryArchivist","creatableModule","PayloadWrapper","FilesystemArchivistConfigSchema","FilesystemArchivist","AbstractArchivist","_memoryArchivist","filePath","config","queries","ArchivistAllQuerySchema","ArchivistCommitQuerySchema","memoryArchivist","assertEx","dataFromRawJson","rawJson","data","JSON","parse","Array","isArray","payloads","payloadsFromRawPayloads","rawPayloads","map","payload","PayloadWrapper","wrap","allHandler","all","clearHandler","clear","commitHandler","commit","deleteHandler","hashes","delete","getHandler","get","insertHandler","insert","startHandler","MemoryArchivist","create","account","HDWallet","random","rawJsonFromFile","ex","handleError","error","logger","message","readFile","encoding","configSchemas","creatableModule"]}
|
package/package.json
CHANGED
|
@@ -13,39 +13,38 @@
|
|
|
13
13
|
"@xylabs/assert": "^2.13.20",
|
|
14
14
|
"@xylabs/error": "^2.13.20",
|
|
15
15
|
"@xylabs/promise": "^2.13.20",
|
|
16
|
-
"@xyo-network/account": "~2.84.
|
|
17
|
-
"@xyo-network/archivist-abstract": "~2.84.
|
|
18
|
-
"@xyo-network/archivist-model": "~2.84.
|
|
19
|
-
"@xyo-network/boundwitness-model": "~2.84.
|
|
20
|
-
"@xyo-network/memory-archivist": "~2.84.
|
|
21
|
-
"@xyo-network/module-model": "~2.84.
|
|
22
|
-
"@xyo-network/payload-model": "~2.84.
|
|
23
|
-
"@xyo-network/payload-wrapper": "~2.84.
|
|
16
|
+
"@xyo-network/account": "~2.84.7",
|
|
17
|
+
"@xyo-network/archivist-abstract": "~2.84.7",
|
|
18
|
+
"@xyo-network/archivist-model": "~2.84.7",
|
|
19
|
+
"@xyo-network/boundwitness-model": "~2.84.7",
|
|
20
|
+
"@xyo-network/memory-archivist": "~2.84.7",
|
|
21
|
+
"@xyo-network/module-model": "~2.84.7",
|
|
22
|
+
"@xyo-network/payload-model": "~2.84.7",
|
|
23
|
+
"@xyo-network/payload-wrapper": "~2.84.7"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@xylabs/ts-scripts-yarn3": "^3.2.
|
|
27
|
-
"@xylabs/tsconfig": "^3.2.
|
|
26
|
+
"@xylabs/ts-scripts-yarn3": "^3.2.24",
|
|
27
|
+
"@xylabs/tsconfig": "^3.2.24",
|
|
28
28
|
"typescript": "^5.3.3"
|
|
29
29
|
},
|
|
30
30
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
31
|
-
"docs": "dist/docs.json",
|
|
32
31
|
"exports": {
|
|
33
32
|
".": {
|
|
34
33
|
"node": {
|
|
35
34
|
"require": {
|
|
36
|
-
"types": "./dist/node/index.d.
|
|
37
|
-
"default": "./dist/node/index.
|
|
35
|
+
"types": "./dist/node/index.d.cts",
|
|
36
|
+
"default": "./dist/node/index.cjs"
|
|
38
37
|
},
|
|
39
38
|
"import": {
|
|
40
39
|
"types": "./dist/node/index.d.mts",
|
|
41
|
-
"default": "./dist/node/index.
|
|
40
|
+
"default": "./dist/node/index.js"
|
|
42
41
|
}
|
|
43
42
|
}
|
|
44
43
|
},
|
|
45
44
|
"./package.json": "./package.json"
|
|
46
45
|
},
|
|
47
|
-
"main": "dist/node/index.
|
|
48
|
-
"module": "dist/node/index.
|
|
46
|
+
"main": "dist/node/index.cjs",
|
|
47
|
+
"module": "dist/node/index.js",
|
|
49
48
|
"types": "dist/node/index.d.ts",
|
|
50
49
|
"homepage": "https://xyo.network",
|
|
51
50
|
"license": "LGPL-3.0-only",
|
|
@@ -57,5 +56,6 @@
|
|
|
57
56
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
|
|
58
57
|
},
|
|
59
58
|
"sideEffects": false,
|
|
60
|
-
"version": "2.84.
|
|
59
|
+
"version": "2.84.7",
|
|
60
|
+
"type": "module"
|
|
61
61
|
}
|
package/dist/node/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/FilesystemArchivist.ts"],"sourcesContent":["import { readFile } from 'node:fs/promises'\n\nimport { assertEx } from '@xylabs/assert'\nimport { handleError } from '@xylabs/error'\nimport { PromisableArray } from '@xylabs/promise'\nimport { HDWallet } from '@xyo-network/account'\nimport { AbstractArchivist } from '@xyo-network/archivist-abstract'\nimport {\n ArchivistAllQuerySchema,\n ArchivistCommitQuerySchema,\n ArchivistConfig,\n ArchivistInstance,\n ArchivistParams,\n} from '@xyo-network/archivist-model'\nimport { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { MemoryArchivist } from '@xyo-network/memory-archivist'\nimport { AnyConfigSchema, creatableModule } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nexport interface FileSystemArchivistData {\n payloads: Payload[]\n}\n\nexport type FilesystemArchivistConfigSchema = 'network.xyo.archivist.filesystem.config'\nexport const FilesystemArchivistConfigSchema: FilesystemArchivistConfigSchema = 'network.xyo.archivist.filesystem.config'\n\nexport type FilesystemArchivistConfig = ArchivistConfig<{\n filePath?: string\n schema: FilesystemArchivistConfigSchema\n}>\n\nexport type FilesystemArchivistParams = ArchivistParams<AnyConfigSchema<FilesystemArchivistConfig>>\n\n/** @description Currently only a read-only archivist that loads payloads from filesystem\n * but allows for future expansion to read/write\n */\n@creatableModule()\nexport class FilesystemArchivist<TParams extends FilesystemArchivistParams = FilesystemArchivistParams>\n extends AbstractArchivist<TParams>\n implements ArchivistInstance\n{\n static override configSchemas = [FilesystemArchivistConfigSchema]\n\n private _memoryArchivist?: MemoryArchivist\n\n get filePath() {\n return this.config?.filePath ?? 'archivist.xyo.json'\n }\n\n override get queries() {\n return [ArchivistAllQuerySchema, ArchivistCommitQuerySchema, ...super.queries]\n }\n\n private get memoryArchivist() {\n return assertEx(this._memoryArchivist)\n }\n\n private static dataFromRawJson(rawJson: string) {\n const data: FileSystemArchivistData = JSON.parse(rawJson)\n assertEx(typeof data === 'object', 'Archivist Data must be object')\n assertEx(Array.isArray(data.payloads), 'Archivist Data \"payloads\" field must be array of payloads')\n data.payloads = this.payloadsFromRawPayloads(data.payloads)\n return data\n }\n\n private static payloadsFromRawPayloads(rawPayloads: Payload[]) {\n //validation should be done in here. I don't believe parse does much validation yet.\n return rawPayloads.map((payload) => PayloadWrapper.wrap(payload).payload())\n }\n\n protected override allHandler(): PromisableArray<Payload> {\n return this.memoryArchivist.all()\n }\n\n protected override clearHandler(): void | Promise<void> {\n return this.memoryArchivist.clear()\n }\n\n protected override async commitHandler(): Promise<BoundWitness[]> {\n return await this.memoryArchivist.commit()\n }\n\n protected override deleteHandler(hashes: string[]): PromisableArray<string> {\n return this.memoryArchivist.delete(hashes)\n }\n\n protected override async getHandler(hashes: string[]): Promise<Payload[]> {\n return await this.memoryArchivist.get(hashes)\n }\n\n protected override async insertHandler(payloads: Payload[]): Promise<Payload[]> {\n return await this.memoryArchivist.insert(payloads)\n }\n\n protected override async startHandler() {\n await super.startHandler()\n this._memoryArchivist = await MemoryArchivist.create({ account: await HDWallet.random() })\n try {\n const data = FilesystemArchivist.dataFromRawJson(await this.rawJsonFromFile())\n await this._memoryArchivist.insert(data.payloads)\n } catch (ex) {\n handleError(ex, (error) => {\n this.logger?.error(error.message)\n })\n return false\n }\n return true\n }\n\n private async rawJsonFromFile() {\n return await readFile(this.filePath, { encoding: 'utf8' })\n }\n}\n"],"mappings":";;;;;;;;;AAAA,SAASA,gBAAgB;AAEzB,SAASC,gBAAgB;AACzB,SAASC,mBAAmB;AAE5B,SAASC,gBAAgB;AACzB,SAASC,yBAAyB;AAClC,SACEC,yBACAC,kCAIK;AAEP,SAASC,uBAAuB;AAChC,SAA0BC,uBAAuB;AAEjD,SAASC,sBAAsB;;;;;;;;;;;;AAOxB,IAAMC,kCAAmE;AAazE,IAAMC,uBAAN,MAAMA,6BACHC,kBAAAA;EAKAC;EAER,IAAIC,WAAW;;AACb,aAAO,UAAKC,WAAL,mBAAaD,aAAY;EAClC;EAEA,IAAaE,UAAU;AACrB,WAAO;MAACC;MAAyBC;SAA+B,MAAMF;;EACxE;EAEA,IAAYG,kBAAkB;AAC5B,WAAOC,SAAS,KAAKP,gBAAgB;EACvC;EAEA,OAAeQ,gBAAgBC,SAAiB;AAC9C,UAAMC,OAAgCC,KAAKC,MAAMH,OAAAA;AACjDF,aAAS,OAAOG,SAAS,UAAU,+BAAA;AACnCH,aAASM,MAAMC,QAAQJ,KAAKK,QAAQ,GAAG,2DAAA;AACvCL,SAAKK,WAAW,KAAKC,wBAAwBN,KAAKK,QAAQ;AAC1D,WAAOL;EACT;EAEA,OAAeM,wBAAwBC,aAAwB;AAE7D,WAAOA,YAAYC,IAAI,CAACC,YAAYC,eAAeC,KAAKF,OAAAA,EAASA,QAAO,CAAA;EAC1E;EAEmBG,aAAuC;AACxD,WAAO,KAAKhB,gBAAgBiB,IAAG;EACjC;EAEmBC,eAAqC;AACtD,WAAO,KAAKlB,gBAAgBmB,MAAK;EACnC;EAEA,MAAyBC,gBAAyC;AAChE,WAAO,MAAM,KAAKpB,gBAAgBqB,OAAM;EAC1C;EAEmBC,cAAcC,QAA2C;AAC1E,WAAO,KAAKvB,gBAAgBwB,OAAOD,MAAAA;EACrC;EAEA,MAAyBE,WAAWF,QAAsC;AACxE,WAAO,MAAM,KAAKvB,gBAAgB0B,IAAIH,MAAAA;EACxC;EAEA,MAAyBI,cAAclB,UAAyC;AAC9E,WAAO,MAAM,KAAKT,gBAAgB4B,OAAOnB,QAAAA;EAC3C;EAEA,MAAyBoB,eAAe;AACtC,UAAM,MAAMA,aAAAA;AACZ,SAAKnC,mBAAmB,MAAMoC,gBAAgBC,OAAO;MAAEC,SAAS,MAAMC,SAASC,OAAM;IAAG,CAAA;AACxF,QAAI;AACF,YAAM9B,OAAOZ,qBAAoBU,gBAAgB,MAAM,KAAKiC,gBAAe,CAAA;AAC3E,YAAM,KAAKzC,iBAAiBkC,OAAOxB,KAAKK,QAAQ;IAClD,SAAS2B,IAAI;AACXC,kBAAYD,IAAI,CAACE,UAAAA;;AACf,mBAAKC,WAAL,mBAAaD,MAAMA,MAAME;MAC3B,CAAA;AACA,aAAO;IACT;AACA,WAAO;EACT;EAEA,MAAcL,kBAAkB;AAC9B,WAAO,MAAMM,SAAS,KAAK9C,UAAU;MAAE+C,UAAU;IAAO,CAAA;EAC1D;AACF;AA1EUjD;AAGR,cAJWD,sBAIKmD,iBAAgB;EAACpD;;AAJ5B,IAAMC,sBAAN;AAAMA,sBAAAA,aAAAA;EADZoD,gBAAAA;GACYpD,mBAAAA;","names":["readFile","assertEx","handleError","HDWallet","AbstractArchivist","ArchivistAllQuerySchema","ArchivistCommitQuerySchema","MemoryArchivist","creatableModule","PayloadWrapper","FilesystemArchivistConfigSchema","FilesystemArchivist","AbstractArchivist","_memoryArchivist","filePath","config","queries","ArchivistAllQuerySchema","ArchivistCommitQuerySchema","memoryArchivist","assertEx","dataFromRawJson","rawJson","data","JSON","parse","Array","isArray","payloads","payloadsFromRawPayloads","rawPayloads","map","payload","PayloadWrapper","wrap","allHandler","all","clearHandler","clear","commitHandler","commit","deleteHandler","hashes","delete","getHandler","get","insertHandler","insert","startHandler","MemoryArchivist","create","account","HDWallet","random","rawJsonFromFile","ex","handleError","error","logger","message","readFile","encoding","configSchemas","creatableModule"]}
|