@xyo-network/api 2.21.21 → 2.21.22
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/cjs/Archivist/XyoApiArchivist.d.ts +2 -1
- package/dist/cjs/Archivist/XyoApiArchivist.js +2 -2
- package/dist/cjs/Archivist/XyoApiArchivist.js.map +1 -1
- package/dist/cjs/Archivist/XyoArchivist.d.ts +8 -2
- package/dist/cjs/Archivist/XyoArchivist.js +22 -0
- package/dist/cjs/Archivist/XyoArchivist.js.map +1 -1
- package/dist/cjs/Archivist/XyoMemoryArchivist.d.ts +1 -1
- package/dist/cjs/Archivist/XyoMemoryArchivist.js +2 -1
- package/dist/cjs/Archivist/XyoMemoryArchivist.js.map +1 -1
- package/dist/esm/Archivist/XyoApiArchivist.d.ts +2 -1
- package/dist/esm/Archivist/XyoApiArchivist.js +2 -2
- package/dist/esm/Archivist/XyoApiArchivist.js.map +1 -1
- package/dist/esm/Archivist/XyoArchivist.d.ts +8 -2
- package/dist/esm/Archivist/XyoArchivist.js +19 -0
- package/dist/esm/Archivist/XyoArchivist.js.map +1 -1
- package/dist/esm/Archivist/XyoMemoryArchivist.d.ts +1 -1
- package/dist/esm/Archivist/XyoMemoryArchivist.js +1 -1
- package/dist/esm/Archivist/XyoMemoryArchivist.js.map +1 -1
- package/package.json +6 -6
- package/src/Archivist/XyoApiArchivist.ts +3 -2
- package/src/Archivist/XyoArchivist.ts +24 -3
- package/src/Archivist/XyoMemoryArchivist.ts +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { XyoAccount } from '@xyo-network/account';
|
|
1
2
|
import { XyoBoundWitnessWithPartialMeta } from '@xyo-network/boundwitness';
|
|
2
3
|
import { XyoArchivistApi } from './Api';
|
|
3
4
|
import { XyoPayloadFindFilter } from './Payload';
|
|
@@ -5,7 +6,7 @@ import { XyoArchivist } from './XyoArchivist';
|
|
|
5
6
|
export declare class XyoApiArchivist extends XyoArchivist {
|
|
6
7
|
protected api: XyoArchivistApi;
|
|
7
8
|
protected archive: string;
|
|
8
|
-
constructor(api: XyoArchivistApi, archive: string);
|
|
9
|
+
constructor(api: XyoArchivistApi, archive: string, parent?: XyoArchivist, account?: XyoAccount);
|
|
9
10
|
get(hash: string): Promise<import("@xyo-network/payload").XyoPayload<object> | undefined>;
|
|
10
11
|
insert(payload: XyoBoundWitnessWithPartialMeta): Promise<string[]>;
|
|
11
12
|
find(filter: XyoPayloadFindFilter): Promise<import("@xyo-network/payload").XyoPayloadWithPartialMeta<unknown>[]>;
|
|
@@ -5,8 +5,8 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const sdk_js_1 = require("@xylabs/sdk-js");
|
|
6
6
|
const XyoArchivist_1 = require("./XyoArchivist");
|
|
7
7
|
class XyoApiArchivist extends XyoArchivist_1.XyoArchivist {
|
|
8
|
-
constructor(api, archive) {
|
|
9
|
-
super();
|
|
8
|
+
constructor(api, archive, parent, account) {
|
|
9
|
+
super(parent, account);
|
|
10
10
|
this.api = api;
|
|
11
11
|
this.archive = archive;
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoApiArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoApiArchivist.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;
|
|
1
|
+
{"version":3,"file":"XyoApiArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoApiArchivist.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AAMzC,iDAA6C;AAE7C,MAAa,eAAgB,SAAQ,2BAAY;IAG/C,YAAY,GAAoB,EAAE,OAAe,EAAE,MAAqB,EAAE,OAAoB;QAC5F,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEY,GAAG,CAAC,IAAY;;YAC3B,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACvF,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,EAAE,CAAA;QACxB,CAAC;KAAA;IAEY,MAAM,CAAC,OAAuC;;;YACzD,OAAO,MAAA,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,0CAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,iBAAQ,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,mCAAI,EAAE,CAAA;;KACjH;IAEY,IAAI,CAAC,MAA4B;;;YAC5C,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,GAAG,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,mCAAI,EAAE,CAAA;YAClG,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,mCAAI,EAAE,CAAA;YAC9F,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;;KAC/B;CACF;AAvBD,0CAuBC"}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
|
+
import { XyoAccount } from '@xyo-network/account';
|
|
1
2
|
import { XyoBoundWitness, XyoBoundWitnessWithPartialMeta } from '@xyo-network/boundwitness';
|
|
2
3
|
import { XyoPayload, XyoPayloadWithPartialMeta } from '@xyo-network/payload';
|
|
3
4
|
import { Archivist } from './Model';
|
|
4
5
|
import { XyoPayloadFindFilter } from './Payload';
|
|
5
6
|
export declare abstract class XyoArchivist<TWrite extends XyoBoundWitness = XyoBoundWitnessWithPartialMeta, TRead extends XyoPayload = XyoPayloadWithPartialMeta> implements Archivist<string[], TWrite, TRead | undefined, string, TRead[], XyoPayloadFindFilter> {
|
|
7
|
+
protected parent?: XyoArchivist;
|
|
8
|
+
protected account?: XyoAccount;
|
|
9
|
+
constructor(parent?: XyoArchivist, account?: XyoAccount);
|
|
6
10
|
abstract insert(item: TWrite): string[] | Promise<string[]>;
|
|
7
11
|
abstract find(query: XyoPayloadFindFilter): TRead[] | Promise<TRead[]>;
|
|
8
12
|
abstract get(hash: string): TRead | Promise<TRead | undefined> | undefined;
|
|
9
|
-
|
|
10
|
-
|
|
13
|
+
all(): TRead[] | Promise<TRead[] | undefined> | undefined;
|
|
14
|
+
delete(_hash: string): boolean | Promise<boolean>;
|
|
15
|
+
clear(): void | Promise<void>;
|
|
16
|
+
commit(): Promise<string>;
|
|
11
17
|
}
|
|
@@ -1,13 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.XyoArchivist = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const sdk_js_1 = require("@xylabs/sdk-js");
|
|
6
|
+
const boundwitness_1 = require("@xyo-network/boundwitness");
|
|
4
7
|
class XyoArchivist {
|
|
8
|
+
constructor(parent, account) {
|
|
9
|
+
this.parent = parent;
|
|
10
|
+
this.account = account;
|
|
11
|
+
}
|
|
12
|
+
all() {
|
|
13
|
+
throw Error('getAll not supported');
|
|
14
|
+
}
|
|
5
15
|
delete(_hash) {
|
|
6
16
|
throw Error('delete not supported');
|
|
7
17
|
}
|
|
8
18
|
clear() {
|
|
9
19
|
throw Error('clear not supported');
|
|
10
20
|
}
|
|
21
|
+
commit() {
|
|
22
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
const parent = (0, sdk_js_1.assertEx)(this.parent, 'Parent is required for commit');
|
|
24
|
+
const account = (0, sdk_js_1.assertEx)(this.account, 'Account is required for commit');
|
|
25
|
+
const payloads = (0, sdk_js_1.assertEx)(yield parent.all(), 'Nothing to commit');
|
|
26
|
+
const builder = new boundwitness_1.XyoBoundWitnessBuilder();
|
|
27
|
+
const block = builder.payloads(payloads).witness(account).build();
|
|
28
|
+
const [hash] = yield parent.insert(block);
|
|
29
|
+
yield this.clear();
|
|
30
|
+
return hash;
|
|
31
|
+
});
|
|
32
|
+
}
|
|
11
33
|
}
|
|
12
34
|
exports.XyoArchivist = XyoArchivist;
|
|
13
35
|
//# sourceMappingURL=XyoArchivist.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoArchivist.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"XyoArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoArchivist.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AAEzC,4DAAmH;AAMnH,MAAsB,YAAY;IAKhC,YAAY,MAAqB,EAAE,OAAoB;QACrD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAIM,GAAG;QACR,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;IACM,MAAM,CAAC,KAAa;QACzB,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;IACM,KAAK;QACV,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACpC,CAAC;IACY,MAAM;;YACjB,MAAM,MAAM,GAAG,IAAA,iBAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAA;YACrE,MAAM,OAAO,GAAG,IAAA,iBAAQ,EAAC,IAAI,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAA;YACxE,MAAM,QAAQ,GAAG,IAAA,iBAAQ,EAAC,MAAM,MAAM,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAA;YAClE,MAAM,OAAO,GAAG,IAAI,qCAAsB,EAAE,CAAA;YAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAA;YACjE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACzC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;YAClB,OAAO,IAAI,CAAA;QACb,CAAC;KAAA;CACF;AA/BD,oCA+BC"}
|
|
@@ -6,7 +6,7 @@ export declare class XyoMemoryArchivist extends XyoArchivist {
|
|
|
6
6
|
private cache;
|
|
7
7
|
delete(hash: string): boolean;
|
|
8
8
|
clear(): void;
|
|
9
|
-
get(hash: string): XyoPayloadWithPartialMeta<unknown> | undefined;
|
|
9
|
+
get(hash: string): XyoPayloadWithPartialMeta<unknown> | Promise<XyoPayloadWithPartialMeta<unknown> | undefined> | undefined;
|
|
10
10
|
insert(payload: XyoBoundWitnessWithMeta): string[];
|
|
11
11
|
find<T extends XyoPayload = XyoPayload>(filter: XyoPayloadFindFilter): T[];
|
|
12
12
|
}
|
|
@@ -18,7 +18,8 @@ class XyoMemoryArchivist extends XyoArchivist_1.XyoArchivist {
|
|
|
18
18
|
this.cache.clear();
|
|
19
19
|
}
|
|
20
20
|
get(hash) {
|
|
21
|
-
|
|
21
|
+
var _a, _b;
|
|
22
|
+
return (_a = this.cache.get(hash)) !== null && _a !== void 0 ? _a : (_b = this.parent) === null || _b === void 0 ? void 0 : _b.get(hash);
|
|
22
23
|
}
|
|
23
24
|
insert(payload) {
|
|
24
25
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoMemoryArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoMemoryArchivist.ts"],"names":[],"mappings":";;;;AAAA,4DAA2F;AAC3F,kDAA+F;AAC/F,kEAAgC;AAGhC,iDAA6C;AAE7C,MAAa,kBAAmB,SAAQ,2BAAY;IAApD;;QACU,UAAK,GAAgD,IAAI,mBAAQ,CAAoC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;IAqD9H,CAAC;IAnDQ,MAAM,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;IAEM,GAAG,CAAC,IAAY
|
|
1
|
+
{"version":3,"file":"XyoMemoryArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoMemoryArchivist.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { XyoAccount } from '@xyo-network/account';
|
|
1
2
|
import { XyoBoundWitnessWithPartialMeta } from '@xyo-network/boundwitness';
|
|
2
3
|
import { XyoArchivistApi } from './Api';
|
|
3
4
|
import { XyoPayloadFindFilter } from './Payload';
|
|
@@ -5,7 +6,7 @@ import { XyoArchivist } from './XyoArchivist';
|
|
|
5
6
|
export declare class XyoApiArchivist extends XyoArchivist {
|
|
6
7
|
protected api: XyoArchivistApi;
|
|
7
8
|
protected archive: string;
|
|
8
|
-
constructor(api: XyoArchivistApi, archive: string);
|
|
9
|
+
constructor(api: XyoArchivistApi, archive: string, parent?: XyoArchivist, account?: XyoAccount);
|
|
9
10
|
get(hash: string): Promise<import("@xyo-network/payload").XyoPayload<object> | undefined>;
|
|
10
11
|
insert(payload: XyoBoundWitnessWithPartialMeta): Promise<string[]>;
|
|
11
12
|
find(filter: XyoPayloadFindFilter): Promise<import("@xyo-network/payload").XyoPayloadWithPartialMeta<unknown>[]>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/sdk-js';
|
|
2
2
|
import { XyoArchivist } from './XyoArchivist';
|
|
3
3
|
export class XyoApiArchivist extends XyoArchivist {
|
|
4
|
-
constructor(api, archive) {
|
|
5
|
-
super();
|
|
4
|
+
constructor(api, archive, parent, account) {
|
|
5
|
+
super(parent, account);
|
|
6
6
|
this.api = api;
|
|
7
7
|
this.archive = archive;
|
|
8
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoApiArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoApiArchivist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"XyoApiArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoApiArchivist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAMzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAG/C,YAAY,GAAoB,EAAE,OAAe,EAAE,MAAqB,EAAE,OAAoB;QAC5F,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,IAAY;QAC3B,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACvF,OAAO,QAAQ,EAAE,GAAG,EAAE,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,OAAuC;QACzD,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAA;IAClH,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAA4B;QAC5C,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QAClG,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QAC9F,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC;CACF"}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
|
+
import { XyoAccount } from '@xyo-network/account';
|
|
1
2
|
import { XyoBoundWitness, XyoBoundWitnessWithPartialMeta } from '@xyo-network/boundwitness';
|
|
2
3
|
import { XyoPayload, XyoPayloadWithPartialMeta } from '@xyo-network/payload';
|
|
3
4
|
import { Archivist } from './Model';
|
|
4
5
|
import { XyoPayloadFindFilter } from './Payload';
|
|
5
6
|
export declare abstract class XyoArchivist<TWrite extends XyoBoundWitness = XyoBoundWitnessWithPartialMeta, TRead extends XyoPayload = XyoPayloadWithPartialMeta> implements Archivist<string[], TWrite, TRead | undefined, string, TRead[], XyoPayloadFindFilter> {
|
|
7
|
+
protected parent?: XyoArchivist;
|
|
8
|
+
protected account?: XyoAccount;
|
|
9
|
+
constructor(parent?: XyoArchivist, account?: XyoAccount);
|
|
6
10
|
abstract insert(item: TWrite): string[] | Promise<string[]>;
|
|
7
11
|
abstract find(query: XyoPayloadFindFilter): TRead[] | Promise<TRead[]>;
|
|
8
12
|
abstract get(hash: string): TRead | Promise<TRead | undefined> | undefined;
|
|
9
|
-
|
|
10
|
-
|
|
13
|
+
all(): TRead[] | Promise<TRead[] | undefined> | undefined;
|
|
14
|
+
delete(_hash: string): boolean | Promise<boolean>;
|
|
15
|
+
clear(): void | Promise<void>;
|
|
16
|
+
commit(): Promise<string>;
|
|
11
17
|
}
|
|
@@ -1,9 +1,28 @@
|
|
|
1
|
+
import { assertEx } from '@xylabs/sdk-js';
|
|
2
|
+
import { XyoBoundWitnessBuilder } from '@xyo-network/boundwitness';
|
|
1
3
|
export class XyoArchivist {
|
|
4
|
+
constructor(parent, account) {
|
|
5
|
+
this.parent = parent;
|
|
6
|
+
this.account = account;
|
|
7
|
+
}
|
|
8
|
+
all() {
|
|
9
|
+
throw Error('getAll not supported');
|
|
10
|
+
}
|
|
2
11
|
delete(_hash) {
|
|
3
12
|
throw Error('delete not supported');
|
|
4
13
|
}
|
|
5
14
|
clear() {
|
|
6
15
|
throw Error('clear not supported');
|
|
7
16
|
}
|
|
17
|
+
async commit() {
|
|
18
|
+
const parent = assertEx(this.parent, 'Parent is required for commit');
|
|
19
|
+
const account = assertEx(this.account, 'Account is required for commit');
|
|
20
|
+
const payloads = assertEx(await parent.all(), 'Nothing to commit');
|
|
21
|
+
const builder = new XyoBoundWitnessBuilder();
|
|
22
|
+
const block = builder.payloads(payloads).witness(account).build();
|
|
23
|
+
const [hash] = await parent.insert(block);
|
|
24
|
+
await this.clear();
|
|
25
|
+
return hash;
|
|
26
|
+
}
|
|
8
27
|
}
|
|
9
28
|
//# sourceMappingURL=XyoArchivist.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoArchivist.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"XyoArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoArchivist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAmB,sBAAsB,EAAkC,MAAM,2BAA2B,CAAA;AAMnH,MAAM,OAAgB,YAAY;IAKhC,YAAY,MAAqB,EAAE,OAAoB;QACrD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAIM,GAAG;QACR,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;IACM,MAAM,CAAC,KAAa;QACzB,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;IACM,KAAK;QACV,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACpC,CAAC;IACM,KAAK,CAAC,MAAM;QACjB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAA;QACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAA;QACxE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,MAAM,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAA;QAClE,MAAM,OAAO,GAAG,IAAI,sBAAsB,EAAE,CAAA;QAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAA;QACjE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACzC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
|
|
@@ -6,7 +6,7 @@ export declare class XyoMemoryArchivist extends XyoArchivist {
|
|
|
6
6
|
private cache;
|
|
7
7
|
delete(hash: string): boolean;
|
|
8
8
|
clear(): void;
|
|
9
|
-
get(hash: string): XyoPayloadWithPartialMeta<unknown> | undefined;
|
|
9
|
+
get(hash: string): XyoPayloadWithPartialMeta<unknown> | Promise<XyoPayloadWithPartialMeta<unknown> | undefined> | undefined;
|
|
10
10
|
insert(payload: XyoBoundWitnessWithMeta): string[];
|
|
11
11
|
find<T extends XyoPayload = XyoPayload>(filter: XyoPayloadFindFilter): T[];
|
|
12
12
|
}
|
|
@@ -14,7 +14,7 @@ export class XyoMemoryArchivist extends XyoArchivist {
|
|
|
14
14
|
this.cache.clear();
|
|
15
15
|
}
|
|
16
16
|
get(hash) {
|
|
17
|
-
return this.cache.get(hash);
|
|
17
|
+
return this.cache.get(hash) ?? this.parent?.get(hash);
|
|
18
18
|
}
|
|
19
19
|
insert(payload) {
|
|
20
20
|
const wrapper = new XyoBoundWitnessWrapper(payload);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoMemoryArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoMemoryArchivist.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAC3F,OAAO,EAAyC,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAC/F,OAAO,QAAQ,MAAM,WAAW,CAAA;AAGhC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,MAAM,OAAO,kBAAmB,SAAQ,YAAY;IAApD;;QACU,UAAK,GAAgD,IAAI,QAAQ,CAAoC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;IAqD9H,CAAC;IAnDQ,MAAM,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;IAEM,GAAG,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"XyoMemoryArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoMemoryArchivist.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@xylabs/sdk-js": "^2.6.2",
|
|
13
|
-
"@xyo-network/account": "^2.21.
|
|
14
|
-
"@xyo-network/boundwitness": "^2.21.
|
|
15
|
-
"@xyo-network/core": "^2.21.
|
|
16
|
-
"@xyo-network/payload": "^2.21.
|
|
17
|
-
"@xyo-network/typeof": "^2.21.
|
|
13
|
+
"@xyo-network/account": "^2.21.22",
|
|
14
|
+
"@xyo-network/boundwitness": "^2.21.22",
|
|
15
|
+
"@xyo-network/core": "^2.21.22",
|
|
16
|
+
"@xyo-network/payload": "^2.21.22",
|
|
17
|
+
"@xyo-network/typeof": "^2.21.22",
|
|
18
18
|
"axios": "^0.27.2",
|
|
19
19
|
"lru-cache": "^7.13.1",
|
|
20
20
|
"pako": "^2.0.4",
|
|
@@ -61,6 +61,6 @@
|
|
|
61
61
|
},
|
|
62
62
|
"sideEffects": true,
|
|
63
63
|
"types": "dist/esm/index.d.ts",
|
|
64
|
-
"version": "2.21.
|
|
64
|
+
"version": "2.21.22",
|
|
65
65
|
"packageManager": "yarn@3.1.1"
|
|
66
66
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/sdk-js'
|
|
2
|
+
import { XyoAccount } from '@xyo-network/account'
|
|
2
3
|
import { XyoBoundWitnessWithPartialMeta } from '@xyo-network/boundwitness'
|
|
3
4
|
|
|
4
5
|
import { XyoArchivistApi } from './Api'
|
|
@@ -8,8 +9,8 @@ import { XyoArchivist } from './XyoArchivist'
|
|
|
8
9
|
export class XyoApiArchivist extends XyoArchivist {
|
|
9
10
|
protected api: XyoArchivistApi
|
|
10
11
|
protected archive: string
|
|
11
|
-
constructor(api: XyoArchivistApi, archive: string) {
|
|
12
|
-
super()
|
|
12
|
+
constructor(api: XyoArchivistApi, archive: string, parent?: XyoArchivist, account?: XyoAccount) {
|
|
13
|
+
super(parent, account)
|
|
13
14
|
this.api = api
|
|
14
15
|
this.archive = archive
|
|
15
16
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { assertEx } from '@xylabs/sdk-js'
|
|
2
|
+
import { XyoAccount } from '@xyo-network/account'
|
|
3
|
+
import { XyoBoundWitness, XyoBoundWitnessBuilder, XyoBoundWitnessWithPartialMeta } from '@xyo-network/boundwitness'
|
|
2
4
|
import { XyoPayload, XyoPayloadWithPartialMeta } from '@xyo-network/payload'
|
|
3
5
|
|
|
4
6
|
import { Archivist } from './Model'
|
|
@@ -7,13 +9,32 @@ import { XyoPayloadFindFilter } from './Payload'
|
|
|
7
9
|
export abstract class XyoArchivist<TWrite extends XyoBoundWitness = XyoBoundWitnessWithPartialMeta, TRead extends XyoPayload = XyoPayloadWithPartialMeta>
|
|
8
10
|
implements Archivist<string[], TWrite, TRead | undefined, string, TRead[], XyoPayloadFindFilter>
|
|
9
11
|
{
|
|
12
|
+
protected parent?: XyoArchivist
|
|
13
|
+
protected account?: XyoAccount
|
|
14
|
+
constructor(parent?: XyoArchivist, account?: XyoAccount) {
|
|
15
|
+
this.parent = parent
|
|
16
|
+
this.account = account
|
|
17
|
+
}
|
|
10
18
|
abstract insert(item: TWrite): string[] | Promise<string[]>
|
|
11
19
|
abstract find(query: XyoPayloadFindFilter): TRead[] | Promise<TRead[]>
|
|
12
20
|
abstract get(hash: string): TRead | Promise<TRead | undefined> | undefined
|
|
13
|
-
public
|
|
21
|
+
public all(): TRead[] | Promise<TRead[] | undefined> | undefined {
|
|
22
|
+
throw Error('getAll not supported')
|
|
23
|
+
}
|
|
24
|
+
public delete(_hash: string): boolean | Promise<boolean> {
|
|
14
25
|
throw Error('delete not supported')
|
|
15
26
|
}
|
|
16
|
-
public clear() {
|
|
27
|
+
public clear(): void | Promise<void> {
|
|
17
28
|
throw Error('clear not supported')
|
|
18
29
|
}
|
|
30
|
+
public async commit() {
|
|
31
|
+
const parent = assertEx(this.parent, 'Parent is required for commit')
|
|
32
|
+
const account = assertEx(this.account, 'Account is required for commit')
|
|
33
|
+
const payloads = assertEx(await parent.all(), 'Nothing to commit')
|
|
34
|
+
const builder = new XyoBoundWitnessBuilder()
|
|
35
|
+
const block = builder.payloads(payloads).witness(account).build()
|
|
36
|
+
const [hash] = await parent.insert(block)
|
|
37
|
+
await this.clear()
|
|
38
|
+
return hash
|
|
39
|
+
}
|
|
19
40
|
}
|