@xyo-network/api 2.21.22 → 2.22.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Archivist/Api.d.ts +1 -1
- package/dist/cjs/Archivist/Node/Api.d.ts +2 -2
- package/dist/cjs/Archivist/Payload/Api.d.ts +1 -7
- package/dist/cjs/Archivist/Payload/Api.js.map +1 -1
- package/dist/cjs/Archivist/XyoApiArchivist.d.ts +4 -5
- package/dist/cjs/Archivist/XyoApiArchivist.js +3 -3
- package/dist/cjs/Archivist/XyoApiArchivist.js.map +1 -1
- package/dist/cjs/Archivist/index.d.ts +0 -3
- package/dist/cjs/Archivist/index.js +0 -3
- package/dist/cjs/Archivist/index.js.map +1 -1
- package/dist/cjs/User/Api.d.ts +1 -1
- package/dist/esm/Archivist/Api.d.ts +1 -1
- package/dist/esm/Archivist/Node/Api.d.ts +2 -2
- package/dist/esm/Archivist/Payload/Api.d.ts +1 -7
- package/dist/esm/Archivist/Payload/Api.js.map +1 -1
- package/dist/esm/Archivist/XyoApiArchivist.d.ts +4 -5
- package/dist/esm/Archivist/XyoApiArchivist.js +3 -3
- package/dist/esm/Archivist/XyoApiArchivist.js.map +1 -1
- package/dist/esm/Archivist/index.d.ts +0 -3
- package/dist/esm/Archivist/index.js +0 -3
- package/dist/esm/Archivist/index.js.map +1 -1
- package/dist/esm/User/Api.d.ts +1 -1
- package/package.json +7 -6
- package/src/Archivist/Payload/Api.ts +1 -8
- package/src/Archivist/XyoApiArchivist.ts +3 -4
- package/src/Archivist/index.ts +0 -3
- package/dist/cjs/Archivist/Model/Archivist.d.ts +0 -13
- package/dist/cjs/Archivist/Model/Archivist.js +0 -3
- package/dist/cjs/Archivist/Model/Archivist.js.map +0 -1
- package/dist/cjs/Archivist/Model/index.d.ts +0 -1
- package/dist/cjs/Archivist/Model/index.js +0 -5
- package/dist/cjs/Archivist/Model/index.js.map +0 -1
- package/dist/cjs/Archivist/XyoArchivist.d.ts +0 -17
- package/dist/cjs/Archivist/XyoArchivist.js +0 -35
- package/dist/cjs/Archivist/XyoArchivist.js.map +0 -1
- package/dist/cjs/Archivist/XyoMemoryArchivist.d.ts +0 -12
- package/dist/cjs/Archivist/XyoMemoryArchivist.js +0 -65
- package/dist/cjs/Archivist/XyoMemoryArchivist.js.map +0 -1
- package/dist/esm/Archivist/Model/Archivist.d.ts +0 -13
- package/dist/esm/Archivist/Model/Archivist.js +0 -2
- package/dist/esm/Archivist/Model/Archivist.js.map +0 -1
- package/dist/esm/Archivist/Model/index.d.ts +0 -1
- package/dist/esm/Archivist/Model/index.js +0 -2
- package/dist/esm/Archivist/Model/index.js.map +0 -1
- package/dist/esm/Archivist/XyoArchivist.d.ts +0 -17
- package/dist/esm/Archivist/XyoArchivist.js +0 -28
- package/dist/esm/Archivist/XyoArchivist.js.map +0 -1
- package/dist/esm/Archivist/XyoMemoryArchivist.d.ts +0 -12
- package/dist/esm/Archivist/XyoMemoryArchivist.js +0 -58
- package/dist/esm/Archivist/XyoMemoryArchivist.js.map +0 -1
- package/src/Archivist/Model/Archivist.ts +0 -22
- package/src/Archivist/Model/index.ts +0 -1
- package/src/Archivist/XyoArchivist.ts +0 -40
- package/src/Archivist/XyoMemoryArchivist.ts +0 -62
|
@@ -20,7 +20,7 @@ export declare class XyoArchivistApi extends XyoApiBase {
|
|
|
20
20
|
/** @deprecated use account instead */
|
|
21
21
|
wallet(address: XyoDataLike): XyoAccountApi;
|
|
22
22
|
account(address: XyoDataLike): XyoAccountApi;
|
|
23
|
-
huri(huri: Huri | string): XyoApiSimple<
|
|
23
|
+
huri(huri: Huri | string): XyoApiSimple<import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase, Record<string, never>, import("../models/Api/Config").XyoApiConfig>;
|
|
24
24
|
/**
|
|
25
25
|
* Issues commands/queries as XyoBoundWitness wrapped XyoPayloads against a Node in the network
|
|
26
26
|
* @param archive Optional, the archive to issue the requests against
|
|
@@ -17,7 +17,7 @@ export declare class XyoArchivistNodeApi<D extends XyoBoundWitnessWithMeta | Xyo
|
|
|
17
17
|
* @param retryInterval The interval to poll for query results
|
|
18
18
|
* @returns The results for the issued queries
|
|
19
19
|
*/
|
|
20
|
-
performTransaction(data: D, timeout?: number, retryInterval?: number): Promise<import("../../models").XyoApiEnvelope<
|
|
20
|
+
performTransaction(data: D, timeout?: number, retryInterval?: number): Promise<import("../../models").XyoApiEnvelope<import("@xyo-network/payload").XyoPayloadBase | undefined>[][]>;
|
|
21
21
|
/**
|
|
22
22
|
* Issue the supplied query and wait (non-blocking) for the result
|
|
23
23
|
* @param data The query to issue
|
|
@@ -25,5 +25,5 @@ export declare class XyoArchivistNodeApi<D extends XyoBoundWitnessWithMeta | Xyo
|
|
|
25
25
|
* @param retryInterval The interval to poll for query results
|
|
26
26
|
* @returns The result for the issued query
|
|
27
27
|
*/
|
|
28
|
-
perform<T>(data: T, schema: string, timeout?: number, retryInterval?: number): Promise<import("../../models").XyoApiEnvelope<
|
|
28
|
+
perform<T>(data: T, schema: string, timeout?: number, retryInterval?: number): Promise<import("../../models").XyoApiEnvelope<import("@xyo-network/payload").XyoPayloadBase | undefined>>;
|
|
29
29
|
}
|
|
@@ -1,15 +1,9 @@
|
|
|
1
|
+
import { XyoPayloadFindFilter } from '@xyo-network/archivist';
|
|
1
2
|
import { XyoPayload, XyoPayloadWithPartialMeta } from '@xyo-network/payload';
|
|
2
3
|
import { XyoApiConfig } from '../../models';
|
|
3
4
|
import { XyoApiSimple } from '../../Simple';
|
|
4
5
|
import { WithArchive } from '../../WithArchive';
|
|
5
6
|
import { XyoArchivistArchivePayloadSchemaApi } from './Schema';
|
|
6
|
-
export interface XyoPayloadFindFilter {
|
|
7
|
-
[key: string]: unknown;
|
|
8
|
-
order?: 'desc' | 'asc';
|
|
9
|
-
timestamp?: number;
|
|
10
|
-
limit?: number;
|
|
11
|
-
schema?: string;
|
|
12
|
-
}
|
|
13
7
|
export interface XyoPayloadStats {
|
|
14
8
|
count: number;
|
|
15
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Api.js","sourceRoot":"","sources":["../../../../src/Archivist/Payload/Api.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;
|
|
1
|
+
{"version":3,"file":"Api.js","sourceRoot":"","sources":["../../../../src/Archivist/Payload/Api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { XyoAccount } from '@xyo-network/account';
|
|
2
|
+
import { XyoArchivist, XyoBoundWitnessArchivist, XyoPayloadFindFilter } from '@xyo-network/archivist';
|
|
2
3
|
import { XyoBoundWitnessWithPartialMeta } from '@xyo-network/boundwitness';
|
|
3
4
|
import { XyoArchivistApi } from './Api';
|
|
4
|
-
|
|
5
|
-
import { XyoArchivist } from './XyoArchivist';
|
|
6
|
-
export declare class XyoApiArchivist extends XyoArchivist {
|
|
5
|
+
export declare class XyoApiArchivist extends XyoBoundWitnessArchivist {
|
|
7
6
|
protected api: XyoArchivistApi;
|
|
8
7
|
protected archive: string;
|
|
9
8
|
constructor(api: XyoArchivistApi, archive: string, parent?: XyoArchivist, account?: XyoAccount);
|
|
10
|
-
get(hash: string): Promise<import("@xyo-network/payload").
|
|
9
|
+
get(hash: string): Promise<import("@xyo-network/payload").XyoPayloadBase[] | undefined>;
|
|
11
10
|
insert(payload: XyoBoundWitnessWithPartialMeta): Promise<string[]>;
|
|
12
|
-
find(filter: XyoPayloadFindFilter): Promise<import("@xyo-network/payload").XyoPayloadWithPartialMeta<
|
|
11
|
+
find(filter: XyoPayloadFindFilter): Promise<import("@xyo-network/payload").XyoPayloadWithPartialMeta<import("@xyo-network/core").EmptyObject>[]>;
|
|
13
12
|
}
|
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.XyoApiArchivist = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const sdk_js_1 = require("@xylabs/sdk-js");
|
|
6
|
-
const
|
|
7
|
-
class XyoApiArchivist extends
|
|
6
|
+
const archivist_1 = require("@xyo-network/archivist");
|
|
7
|
+
class XyoApiArchivist extends archivist_1.XyoBoundWitnessArchivist {
|
|
8
8
|
constructor(api, archive, parent, account) {
|
|
9
9
|
super(parent, account);
|
|
10
10
|
this.api = api;
|
|
@@ -13,7 +13,7 @@ class XyoApiArchivist extends XyoArchivist_1.XyoArchivist {
|
|
|
13
13
|
get(hash) {
|
|
14
14
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
15
15
|
const [payloads] = yield this.api.archive(this.archive).payload.hash(hash).get('tuple');
|
|
16
|
-
return payloads
|
|
16
|
+
return payloads;
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
19
|
insert(payload) {
|
|
@@ -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;AAEzC,sDAAqG;AAKrG,MAAa,eAAgB,SAAQ,oCAAwB;IAG3D,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,CAAA;QACjB,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"}
|
|
@@ -3,8 +3,5 @@ export * from './Api';
|
|
|
3
3
|
export * from './Archive';
|
|
4
4
|
export * from './Archives';
|
|
5
5
|
export * from './Block';
|
|
6
|
-
export * from './Model';
|
|
7
6
|
export * from './Payload';
|
|
8
7
|
export * from './XyoApiArchivist';
|
|
9
|
-
export * from './XyoArchivist';
|
|
10
|
-
export * from './XyoMemoryArchivist';
|
|
@@ -6,9 +6,6 @@ tslib_1.__exportStar(require("./Api"), exports);
|
|
|
6
6
|
tslib_1.__exportStar(require("./Archive"), exports);
|
|
7
7
|
tslib_1.__exportStar(require("./Archives"), exports);
|
|
8
8
|
tslib_1.__exportStar(require("./Block"), exports);
|
|
9
|
-
tslib_1.__exportStar(require("./Model"), exports);
|
|
10
9
|
tslib_1.__exportStar(require("./Payload"), exports);
|
|
11
10
|
tslib_1.__exportStar(require("./XyoApiArchivist"), exports);
|
|
12
|
-
tslib_1.__exportStar(require("./XyoArchivist"), exports);
|
|
13
|
-
tslib_1.__exportStar(require("./XyoMemoryArchivist"), exports);
|
|
14
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Archivist/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyB;AACzB,gDAAqB;AACrB,oDAAyB;AACzB,qDAA0B;AAC1B,kDAAuB;AACvB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Archivist/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyB;AACzB,gDAAqB;AACrB,oDAAyB;AACzB,qDAA0B;AAC1B,kDAAuB;AACvB,oDAAyB;AACzB,4DAAiC"}
|
package/dist/cjs/User/Api.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export declare class XyoUserApi extends XyoApiBase {
|
|
|
12
12
|
get authenticated(): boolean;
|
|
13
13
|
get headers(): Record<string, string>;
|
|
14
14
|
get login(): XyoApiSimple<XyoUserLogin, XyoUserLogin, Record<string, never>, import("../models/Api/Config").XyoApiConfig>;
|
|
15
|
-
get profile(): XyoApiSimple<import("@xyo-network/payload").
|
|
15
|
+
get profile(): XyoApiSimple<import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase, Record<string, never>, {
|
|
16
16
|
root: string;
|
|
17
17
|
apiDomain: string; /** @field Password of the user [in] */
|
|
18
18
|
userid?: string | undefined;
|
|
@@ -20,7 +20,7 @@ export declare class XyoArchivistApi extends XyoApiBase {
|
|
|
20
20
|
/** @deprecated use account instead */
|
|
21
21
|
wallet(address: XyoDataLike): XyoAccountApi;
|
|
22
22
|
account(address: XyoDataLike): XyoAccountApi;
|
|
23
|
-
huri(huri: Huri | string): XyoApiSimple<
|
|
23
|
+
huri(huri: Huri | string): XyoApiSimple<import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase, Record<string, never>, import("../models/Api/Config").XyoApiConfig>;
|
|
24
24
|
/**
|
|
25
25
|
* Issues commands/queries as XyoBoundWitness wrapped XyoPayloads against a Node in the network
|
|
26
26
|
* @param archive Optional, the archive to issue the requests against
|
|
@@ -17,7 +17,7 @@ export declare class XyoArchivistNodeApi<D extends XyoBoundWitnessWithMeta | Xyo
|
|
|
17
17
|
* @param retryInterval The interval to poll for query results
|
|
18
18
|
* @returns The results for the issued queries
|
|
19
19
|
*/
|
|
20
|
-
performTransaction(data: D, timeout?: number, retryInterval?: number): Promise<import("../../models").XyoApiEnvelope<
|
|
20
|
+
performTransaction(data: D, timeout?: number, retryInterval?: number): Promise<import("../../models").XyoApiEnvelope<import("@xyo-network/payload").XyoPayloadBase | undefined>[][]>;
|
|
21
21
|
/**
|
|
22
22
|
* Issue the supplied query and wait (non-blocking) for the result
|
|
23
23
|
* @param data The query to issue
|
|
@@ -25,5 +25,5 @@ export declare class XyoArchivistNodeApi<D extends XyoBoundWitnessWithMeta | Xyo
|
|
|
25
25
|
* @param retryInterval The interval to poll for query results
|
|
26
26
|
* @returns The result for the issued query
|
|
27
27
|
*/
|
|
28
|
-
perform<T>(data: T, schema: string, timeout?: number, retryInterval?: number): Promise<import("../../models").XyoApiEnvelope<
|
|
28
|
+
perform<T>(data: T, schema: string, timeout?: number, retryInterval?: number): Promise<import("../../models").XyoApiEnvelope<import("@xyo-network/payload").XyoPayloadBase | undefined>>;
|
|
29
29
|
}
|
|
@@ -1,15 +1,9 @@
|
|
|
1
|
+
import { XyoPayloadFindFilter } from '@xyo-network/archivist';
|
|
1
2
|
import { XyoPayload, XyoPayloadWithPartialMeta } from '@xyo-network/payload';
|
|
2
3
|
import { XyoApiConfig } from '../../models';
|
|
3
4
|
import { XyoApiSimple } from '../../Simple';
|
|
4
5
|
import { WithArchive } from '../../WithArchive';
|
|
5
6
|
import { XyoArchivistArchivePayloadSchemaApi } from './Schema';
|
|
6
|
-
export interface XyoPayloadFindFilter {
|
|
7
|
-
[key: string]: unknown;
|
|
8
|
-
order?: 'desc' | 'asc';
|
|
9
|
-
timestamp?: number;
|
|
10
|
-
limit?: number;
|
|
11
|
-
schema?: string;
|
|
12
|
-
}
|
|
13
7
|
export interface XyoPayloadStats {
|
|
14
8
|
count: number;
|
|
15
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Api.js","sourceRoot":"","sources":["../../../../src/Archivist/Payload/Api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"Api.js","sourceRoot":"","sources":["../../../../src/Archivist/Payload/Api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { XyoAccount } from '@xyo-network/account';
|
|
2
|
+
import { XyoArchivist, XyoBoundWitnessArchivist, XyoPayloadFindFilter } from '@xyo-network/archivist';
|
|
2
3
|
import { XyoBoundWitnessWithPartialMeta } from '@xyo-network/boundwitness';
|
|
3
4
|
import { XyoArchivistApi } from './Api';
|
|
4
|
-
|
|
5
|
-
import { XyoArchivist } from './XyoArchivist';
|
|
6
|
-
export declare class XyoApiArchivist extends XyoArchivist {
|
|
5
|
+
export declare class XyoApiArchivist extends XyoBoundWitnessArchivist {
|
|
7
6
|
protected api: XyoArchivistApi;
|
|
8
7
|
protected archive: string;
|
|
9
8
|
constructor(api: XyoArchivistApi, archive: string, parent?: XyoArchivist, account?: XyoAccount);
|
|
10
|
-
get(hash: string): Promise<import("@xyo-network/payload").
|
|
9
|
+
get(hash: string): Promise<import("@xyo-network/payload").XyoPayloadBase[] | undefined>;
|
|
11
10
|
insert(payload: XyoBoundWitnessWithPartialMeta): Promise<string[]>;
|
|
12
|
-
find(filter: XyoPayloadFindFilter): Promise<import("@xyo-network/payload").XyoPayloadWithPartialMeta<
|
|
11
|
+
find(filter: XyoPayloadFindFilter): Promise<import("@xyo-network/payload").XyoPayloadWithPartialMeta<import("@xyo-network/core").EmptyObject>[]>;
|
|
13
12
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/sdk-js';
|
|
2
|
-
import {
|
|
3
|
-
export class XyoApiArchivist extends
|
|
2
|
+
import { XyoBoundWitnessArchivist } from '@xyo-network/archivist';
|
|
3
|
+
export class XyoApiArchivist extends XyoBoundWitnessArchivist {
|
|
4
4
|
constructor(api, archive, parent, account) {
|
|
5
5
|
super(parent, account);
|
|
6
6
|
this.api = api;
|
|
@@ -8,7 +8,7 @@ export class XyoApiArchivist extends XyoArchivist {
|
|
|
8
8
|
}
|
|
9
9
|
async get(hash) {
|
|
10
10
|
const [payloads] = await this.api.archive(this.archive).payload.hash(hash).get('tuple');
|
|
11
|
-
return payloads
|
|
11
|
+
return payloads;
|
|
12
12
|
}
|
|
13
13
|
async insert(payload) {
|
|
14
14
|
return (await this.api.archive(this.archive).block.post([payload]))?.map((value) => assertEx(value._hash)) ?? [];
|
|
@@ -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;AAEzC,OAAO,EAAgB,wBAAwB,EAAwB,MAAM,wBAAwB,CAAA;AAKrG,MAAM,OAAO,eAAgB,SAAQ,wBAAwB;IAG3D,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,CAAA;IACjB,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"}
|
|
@@ -3,8 +3,5 @@ export * from './Api';
|
|
|
3
3
|
export * from './Archive';
|
|
4
4
|
export * from './Archives';
|
|
5
5
|
export * from './Block';
|
|
6
|
-
export * from './Model';
|
|
7
6
|
export * from './Payload';
|
|
8
7
|
export * from './XyoApiArchivist';
|
|
9
|
-
export * from './XyoArchivist';
|
|
10
|
-
export * from './XyoMemoryArchivist';
|
|
@@ -3,9 +3,6 @@ export * from './Api';
|
|
|
3
3
|
export * from './Archive';
|
|
4
4
|
export * from './Archives';
|
|
5
5
|
export * from './Block';
|
|
6
|
-
export * from './Model';
|
|
7
6
|
export * from './Payload';
|
|
8
7
|
export * from './XyoApiArchivist';
|
|
9
|
-
export * from './XyoArchivist';
|
|
10
|
-
export * from './XyoMemoryArchivist';
|
|
11
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Archivist/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,OAAO,CAAA;AACrB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Archivist/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,OAAO,CAAA;AACrB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,mBAAmB,CAAA"}
|
package/dist/esm/User/Api.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export declare class XyoUserApi extends XyoApiBase {
|
|
|
12
12
|
get authenticated(): boolean;
|
|
13
13
|
get headers(): Record<string, string>;
|
|
14
14
|
get login(): XyoApiSimple<XyoUserLogin, XyoUserLogin, Record<string, never>, import("../models/Api/Config").XyoApiConfig>;
|
|
15
|
-
get profile(): XyoApiSimple<import("@xyo-network/payload").
|
|
15
|
+
get profile(): XyoApiSimple<import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase, Record<string, never>, {
|
|
16
16
|
root: string;
|
|
17
17
|
apiDomain: string; /** @field Password of the user [in] */
|
|
18
18
|
userid?: string | undefined;
|
package/package.json
CHANGED
|
@@ -10,11 +10,12 @@
|
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@xylabs/sdk-js": "^2.6.2",
|
|
13
|
-
"@xyo-network/account": "^2.
|
|
14
|
-
"@xyo-network/
|
|
15
|
-
"@xyo-network/
|
|
16
|
-
"@xyo-network/
|
|
17
|
-
"@xyo-network/
|
|
13
|
+
"@xyo-network/account": "^2.22.1",
|
|
14
|
+
"@xyo-network/archivist": "^2.22.1",
|
|
15
|
+
"@xyo-network/boundwitness": "^2.22.1",
|
|
16
|
+
"@xyo-network/core": "^2.22.1",
|
|
17
|
+
"@xyo-network/payload": "^2.22.1",
|
|
18
|
+
"@xyo-network/typeof": "^2.22.1",
|
|
18
19
|
"axios": "^0.27.2",
|
|
19
20
|
"lru-cache": "^7.13.1",
|
|
20
21
|
"pako": "^2.0.4",
|
|
@@ -61,6 +62,6 @@
|
|
|
61
62
|
},
|
|
62
63
|
"sideEffects": true,
|
|
63
64
|
"types": "dist/esm/index.d.ts",
|
|
64
|
-
"version": "2.
|
|
65
|
+
"version": "2.22.1",
|
|
65
66
|
"packageManager": "yarn@3.1.1"
|
|
66
67
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/sdk-js'
|
|
2
|
+
import { XyoPayloadFindFilter } from '@xyo-network/archivist'
|
|
2
3
|
import { XyoPayload, XyoPayloadWithPartialMeta } from '@xyo-network/payload'
|
|
3
4
|
|
|
4
5
|
import { XyoApiConfig } from '../../models'
|
|
@@ -6,14 +7,6 @@ import { XyoApiSimple } from '../../Simple'
|
|
|
6
7
|
import { WithArchive } from '../../WithArchive'
|
|
7
8
|
import { XyoArchivistArchivePayloadSchemaApi } from './Schema'
|
|
8
9
|
|
|
9
|
-
export interface XyoPayloadFindFilter {
|
|
10
|
-
[key: string]: unknown
|
|
11
|
-
order?: 'desc' | 'asc'
|
|
12
|
-
timestamp?: number
|
|
13
|
-
limit?: number
|
|
14
|
-
schema?: string
|
|
15
|
-
}
|
|
16
|
-
|
|
17
10
|
export interface XyoPayloadStats {
|
|
18
11
|
count: number
|
|
19
12
|
}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/sdk-js'
|
|
2
2
|
import { XyoAccount } from '@xyo-network/account'
|
|
3
|
+
import { XyoArchivist, XyoBoundWitnessArchivist, XyoPayloadFindFilter } from '@xyo-network/archivist'
|
|
3
4
|
import { XyoBoundWitnessWithPartialMeta } from '@xyo-network/boundwitness'
|
|
4
5
|
|
|
5
6
|
import { XyoArchivistApi } from './Api'
|
|
6
|
-
import { XyoPayloadFindFilter } from './Payload'
|
|
7
|
-
import { XyoArchivist } from './XyoArchivist'
|
|
8
7
|
|
|
9
|
-
export class XyoApiArchivist extends
|
|
8
|
+
export class XyoApiArchivist extends XyoBoundWitnessArchivist {
|
|
10
9
|
protected api: XyoArchivistApi
|
|
11
10
|
protected archive: string
|
|
12
11
|
constructor(api: XyoArchivistApi, archive: string, parent?: XyoArchivist, account?: XyoAccount) {
|
|
@@ -17,7 +16,7 @@ export class XyoApiArchivist extends XyoArchivist {
|
|
|
17
16
|
|
|
18
17
|
public async get(hash: string) {
|
|
19
18
|
const [payloads] = await this.api.archive(this.archive).payload.hash(hash).get('tuple')
|
|
20
|
-
return payloads
|
|
19
|
+
return payloads
|
|
21
20
|
}
|
|
22
21
|
|
|
23
22
|
public async insert(payload: XyoBoundWitnessWithPartialMeta) {
|
package/src/Archivist/index.ts
CHANGED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export interface QueryableArchivist<TQueryResponse, TQuery> {
|
|
2
|
-
find(query: TQuery): Promise<TQueryResponse> | TQueryResponse;
|
|
3
|
-
}
|
|
4
|
-
export interface ReadArchivist<TReadResponse, TId = string> {
|
|
5
|
-
get(id: TId): Promise<TReadResponse | undefined> | TReadResponse | undefined;
|
|
6
|
-
}
|
|
7
|
-
export interface WriteArchivist<TWriteResponse, TWrite, TId = string> {
|
|
8
|
-
insert(item: TWrite): Promise<TWriteResponse> | TWriteResponse;
|
|
9
|
-
delete?(id: TId): Promise<boolean> | boolean;
|
|
10
|
-
clear?(): void;
|
|
11
|
-
}
|
|
12
|
-
export declare type ReadWriteArchivist<TWriteResponse, TWrite, TReadResponse = TWriteResponse, TId = string> = ReadArchivist<TReadResponse, TId> & WriteArchivist<TWriteResponse, TWrite>;
|
|
13
|
-
export declare type Archivist<TWriteResponse, TWrite, TReadResponse = TWriteResponse, TId = string, TQueryResponse = unknown, TQuery = unknown> = ReadWriteArchivist<TWriteResponse, TWrite, TReadResponse, TId> & QueryableArchivist<TQueryResponse, TQuery>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Archivist.js","sourceRoot":"","sources":["../../../../src/Archivist/Model/Archivist.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Archivist';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Archivist/Model/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { XyoAccount } from '@xyo-network/account';
|
|
2
|
-
import { XyoBoundWitness, XyoBoundWitnessWithPartialMeta } from '@xyo-network/boundwitness';
|
|
3
|
-
import { XyoPayload, XyoPayloadWithPartialMeta } from '@xyo-network/payload';
|
|
4
|
-
import { Archivist } from './Model';
|
|
5
|
-
import { XyoPayloadFindFilter } from './Payload';
|
|
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);
|
|
10
|
-
abstract insert(item: TWrite): string[] | Promise<string[]>;
|
|
11
|
-
abstract find(query: XyoPayloadFindFilter): TRead[] | Promise<TRead[]>;
|
|
12
|
-
abstract get(hash: string): TRead | Promise<TRead | undefined> | undefined;
|
|
13
|
-
all(): TRead[] | Promise<TRead[] | undefined> | undefined;
|
|
14
|
-
delete(_hash: string): boolean | Promise<boolean>;
|
|
15
|
-
clear(): void | Promise<void>;
|
|
16
|
-
commit(): Promise<string>;
|
|
17
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
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");
|
|
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
|
-
}
|
|
15
|
-
delete(_hash) {
|
|
16
|
-
throw Error('delete not supported');
|
|
17
|
-
}
|
|
18
|
-
clear() {
|
|
19
|
-
throw Error('clear not supported');
|
|
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
|
-
}
|
|
33
|
-
}
|
|
34
|
-
exports.XyoArchivist = XyoArchivist;
|
|
35
|
-
//# sourceMappingURL=XyoArchivist.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { XyoBoundWitnessWithMeta } from '@xyo-network/boundwitness';
|
|
2
|
-
import { XyoPayload, XyoPayloadWithPartialMeta } from '@xyo-network/payload';
|
|
3
|
-
import { XyoPayloadFindFilter } from './Payload';
|
|
4
|
-
import { XyoArchivist } from './XyoArchivist';
|
|
5
|
-
export declare class XyoMemoryArchivist extends XyoArchivist {
|
|
6
|
-
private cache;
|
|
7
|
-
delete(hash: string): boolean;
|
|
8
|
-
clear(): void;
|
|
9
|
-
get(hash: string): XyoPayloadWithPartialMeta<unknown> | Promise<XyoPayloadWithPartialMeta<unknown> | undefined> | undefined;
|
|
10
|
-
insert(payload: XyoBoundWitnessWithMeta): string[];
|
|
11
|
-
find<T extends XyoPayload = XyoPayload>(filter: XyoPayloadFindFilter): T[];
|
|
12
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.XyoMemoryArchivist = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const boundwitness_1 = require("@xyo-network/boundwitness");
|
|
6
|
-
const payload_1 = require("@xyo-network/payload");
|
|
7
|
-
const lru_cache_1 = tslib_1.__importDefault(require("lru-cache"));
|
|
8
|
-
const XyoArchivist_1 = require("./XyoArchivist");
|
|
9
|
-
class XyoMemoryArchivist extends XyoArchivist_1.XyoArchivist {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(...arguments);
|
|
12
|
-
this.cache = new lru_cache_1.default({ max: 10000 });
|
|
13
|
-
}
|
|
14
|
-
delete(hash) {
|
|
15
|
-
return this.cache.delete(hash);
|
|
16
|
-
}
|
|
17
|
-
clear() {
|
|
18
|
-
this.cache.clear();
|
|
19
|
-
}
|
|
20
|
-
get(hash) {
|
|
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);
|
|
23
|
-
}
|
|
24
|
-
insert(payload) {
|
|
25
|
-
var _a;
|
|
26
|
-
const wrapper = new boundwitness_1.XyoBoundWitnessWrapper(payload);
|
|
27
|
-
const payloadWithmeta = Object.assign(Object.assign({}, payload), { _hash: wrapper.hash, _timestamp: Date.now() });
|
|
28
|
-
const hashes = [];
|
|
29
|
-
hashes.push(payloadWithmeta._hash);
|
|
30
|
-
this.cache.set(payloadWithmeta._hash, payloadWithmeta);
|
|
31
|
-
(_a = payload._payloads) === null || _a === void 0 ? void 0 : _a.forEach((payload) => {
|
|
32
|
-
const wrapper = new payload_1.XyoPayloadWrapper(payload);
|
|
33
|
-
const payloadWithmeta = Object.assign(Object.assign({}, payload), { _hash: wrapper.hash, _timestamp: Date.now() });
|
|
34
|
-
hashes.push(payloadWithmeta._hash);
|
|
35
|
-
this.cache.set(payloadWithmeta._hash, payloadWithmeta);
|
|
36
|
-
});
|
|
37
|
-
return hashes;
|
|
38
|
-
}
|
|
39
|
-
find(filter) {
|
|
40
|
-
const result = [];
|
|
41
|
-
if (filter.type === 'schema') {
|
|
42
|
-
const filterSchema = filter.schema !== undefined ? (Array.isArray(filter.schema) ? filter.schema : [filter.schema]) : undefined;
|
|
43
|
-
this.cache.forEach((value) => {
|
|
44
|
-
let match = value;
|
|
45
|
-
match = filterSchema === undefined || filterSchema.includes(value.schema) ? value : undefined;
|
|
46
|
-
if (match) {
|
|
47
|
-
result.push(match);
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
if (filter.type === 'hash') {
|
|
52
|
-
const filterHash = filter.hash !== undefined ? (Array.isArray(filter.hash) ? filter.hash : [filter.hash]) : undefined;
|
|
53
|
-
this.cache.forEach((value) => {
|
|
54
|
-
let match = value;
|
|
55
|
-
match = filterHash === undefined || filterHash.includes(new payload_1.XyoPayloadWrapper(value).hash) ? value : undefined;
|
|
56
|
-
if (match) {
|
|
57
|
-
result.push(match);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
return result;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
exports.XyoMemoryArchivist = XyoMemoryArchivist;
|
|
65
|
-
//# sourceMappingURL=XyoMemoryArchivist.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"XyoMemoryArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoMemoryArchivist.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export interface QueryableArchivist<TQueryResponse, TQuery> {
|
|
2
|
-
find(query: TQuery): Promise<TQueryResponse> | TQueryResponse;
|
|
3
|
-
}
|
|
4
|
-
export interface ReadArchivist<TReadResponse, TId = string> {
|
|
5
|
-
get(id: TId): Promise<TReadResponse | undefined> | TReadResponse | undefined;
|
|
6
|
-
}
|
|
7
|
-
export interface WriteArchivist<TWriteResponse, TWrite, TId = string> {
|
|
8
|
-
insert(item: TWrite): Promise<TWriteResponse> | TWriteResponse;
|
|
9
|
-
delete?(id: TId): Promise<boolean> | boolean;
|
|
10
|
-
clear?(): void;
|
|
11
|
-
}
|
|
12
|
-
export declare type ReadWriteArchivist<TWriteResponse, TWrite, TReadResponse = TWriteResponse, TId = string> = ReadArchivist<TReadResponse, TId> & WriteArchivist<TWriteResponse, TWrite>;
|
|
13
|
-
export declare type Archivist<TWriteResponse, TWrite, TReadResponse = TWriteResponse, TId = string, TQueryResponse = unknown, TQuery = unknown> = ReadWriteArchivist<TWriteResponse, TWrite, TReadResponse, TId> & QueryableArchivist<TQueryResponse, TQuery>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Archivist.js","sourceRoot":"","sources":["../../../../src/Archivist/Model/Archivist.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Archivist';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Archivist/Model/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { XyoAccount } from '@xyo-network/account';
|
|
2
|
-
import { XyoBoundWitness, XyoBoundWitnessWithPartialMeta } from '@xyo-network/boundwitness';
|
|
3
|
-
import { XyoPayload, XyoPayloadWithPartialMeta } from '@xyo-network/payload';
|
|
4
|
-
import { Archivist } from './Model';
|
|
5
|
-
import { XyoPayloadFindFilter } from './Payload';
|
|
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);
|
|
10
|
-
abstract insert(item: TWrite): string[] | Promise<string[]>;
|
|
11
|
-
abstract find(query: XyoPayloadFindFilter): TRead[] | Promise<TRead[]>;
|
|
12
|
-
abstract get(hash: string): TRead | Promise<TRead | undefined> | undefined;
|
|
13
|
-
all(): TRead[] | Promise<TRead[] | undefined> | undefined;
|
|
14
|
-
delete(_hash: string): boolean | Promise<boolean>;
|
|
15
|
-
clear(): void | Promise<void>;
|
|
16
|
-
commit(): Promise<string>;
|
|
17
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { assertEx } from '@xylabs/sdk-js';
|
|
2
|
-
import { XyoBoundWitnessBuilder } from '@xyo-network/boundwitness';
|
|
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
|
-
}
|
|
11
|
-
delete(_hash) {
|
|
12
|
-
throw Error('delete not supported');
|
|
13
|
-
}
|
|
14
|
-
clear() {
|
|
15
|
-
throw Error('clear not supported');
|
|
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
|
-
}
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=XyoArchivist.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { XyoBoundWitnessWithMeta } from '@xyo-network/boundwitness';
|
|
2
|
-
import { XyoPayload, XyoPayloadWithPartialMeta } from '@xyo-network/payload';
|
|
3
|
-
import { XyoPayloadFindFilter } from './Payload';
|
|
4
|
-
import { XyoArchivist } from './XyoArchivist';
|
|
5
|
-
export declare class XyoMemoryArchivist extends XyoArchivist {
|
|
6
|
-
private cache;
|
|
7
|
-
delete(hash: string): boolean;
|
|
8
|
-
clear(): void;
|
|
9
|
-
get(hash: string): XyoPayloadWithPartialMeta<unknown> | Promise<XyoPayloadWithPartialMeta<unknown> | undefined> | undefined;
|
|
10
|
-
insert(payload: XyoBoundWitnessWithMeta): string[];
|
|
11
|
-
find<T extends XyoPayload = XyoPayload>(filter: XyoPayloadFindFilter): T[];
|
|
12
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { XyoBoundWitnessWrapper } from '@xyo-network/boundwitness';
|
|
2
|
-
import { XyoPayloadWrapper } from '@xyo-network/payload';
|
|
3
|
-
import LruCache from 'lru-cache';
|
|
4
|
-
import { XyoArchivist } from './XyoArchivist';
|
|
5
|
-
export class XyoMemoryArchivist extends XyoArchivist {
|
|
6
|
-
constructor() {
|
|
7
|
-
super(...arguments);
|
|
8
|
-
this.cache = new LruCache({ max: 10000 });
|
|
9
|
-
}
|
|
10
|
-
delete(hash) {
|
|
11
|
-
return this.cache.delete(hash);
|
|
12
|
-
}
|
|
13
|
-
clear() {
|
|
14
|
-
this.cache.clear();
|
|
15
|
-
}
|
|
16
|
-
get(hash) {
|
|
17
|
-
return this.cache.get(hash) ?? this.parent?.get(hash);
|
|
18
|
-
}
|
|
19
|
-
insert(payload) {
|
|
20
|
-
const wrapper = new XyoBoundWitnessWrapper(payload);
|
|
21
|
-
const payloadWithmeta = { ...payload, _hash: wrapper.hash, _timestamp: Date.now() };
|
|
22
|
-
const hashes = [];
|
|
23
|
-
hashes.push(payloadWithmeta._hash);
|
|
24
|
-
this.cache.set(payloadWithmeta._hash, payloadWithmeta);
|
|
25
|
-
payload._payloads?.forEach((payload) => {
|
|
26
|
-
const wrapper = new XyoPayloadWrapper(payload);
|
|
27
|
-
const payloadWithmeta = { ...payload, _hash: wrapper.hash, _timestamp: Date.now() };
|
|
28
|
-
hashes.push(payloadWithmeta._hash);
|
|
29
|
-
this.cache.set(payloadWithmeta._hash, payloadWithmeta);
|
|
30
|
-
});
|
|
31
|
-
return hashes;
|
|
32
|
-
}
|
|
33
|
-
find(filter) {
|
|
34
|
-
const result = [];
|
|
35
|
-
if (filter.type === 'schema') {
|
|
36
|
-
const filterSchema = filter.schema !== undefined ? (Array.isArray(filter.schema) ? filter.schema : [filter.schema]) : undefined;
|
|
37
|
-
this.cache.forEach((value) => {
|
|
38
|
-
let match = value;
|
|
39
|
-
match = filterSchema === undefined || filterSchema.includes(value.schema) ? value : undefined;
|
|
40
|
-
if (match) {
|
|
41
|
-
result.push(match);
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
if (filter.type === 'hash') {
|
|
46
|
-
const filterHash = filter.hash !== undefined ? (Array.isArray(filter.hash) ? filter.hash : [filter.hash]) : undefined;
|
|
47
|
-
this.cache.forEach((value) => {
|
|
48
|
-
let match = value;
|
|
49
|
-
match = filterHash === undefined || filterHash.includes(new XyoPayloadWrapper(value).hash) ? value : undefined;
|
|
50
|
-
if (match) {
|
|
51
|
-
result.push(match);
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
return result;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=XyoMemoryArchivist.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"XyoMemoryArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoMemoryArchivist.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export interface QueryableArchivist<TQueryResponse, TQuery> {
|
|
2
|
-
find(query: TQuery): Promise<TQueryResponse> | TQueryResponse
|
|
3
|
-
}
|
|
4
|
-
export interface ReadArchivist<TReadResponse, TId = string> {
|
|
5
|
-
get(id: TId): Promise<TReadResponse | undefined> | TReadResponse | undefined
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export interface WriteArchivist<TWriteResponse, TWrite, TId = string> {
|
|
9
|
-
insert(item: TWrite): Promise<TWriteResponse> | TWriteResponse
|
|
10
|
-
delete?(id: TId): Promise<boolean> | boolean
|
|
11
|
-
clear?(): void
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export type ReadWriteArchivist<TWriteResponse, TWrite, TReadResponse = TWriteResponse, TId = string> = ReadArchivist<TReadResponse, TId> & WriteArchivist<TWriteResponse, TWrite>
|
|
15
|
-
|
|
16
|
-
export type Archivist<TWriteResponse, TWrite, TReadResponse = TWriteResponse, TId = string, TQueryResponse = unknown, TQuery = unknown> = ReadWriteArchivist<
|
|
17
|
-
TWriteResponse,
|
|
18
|
-
TWrite,
|
|
19
|
-
TReadResponse,
|
|
20
|
-
TId
|
|
21
|
-
> &
|
|
22
|
-
QueryableArchivist<TQueryResponse, TQuery>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Archivist'
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { assertEx } from '@xylabs/sdk-js'
|
|
2
|
-
import { XyoAccount } from '@xyo-network/account'
|
|
3
|
-
import { XyoBoundWitness, XyoBoundWitnessBuilder, XyoBoundWitnessWithPartialMeta } from '@xyo-network/boundwitness'
|
|
4
|
-
import { XyoPayload, XyoPayloadWithPartialMeta } from '@xyo-network/payload'
|
|
5
|
-
|
|
6
|
-
import { Archivist } from './Model'
|
|
7
|
-
import { XyoPayloadFindFilter } from './Payload'
|
|
8
|
-
|
|
9
|
-
export abstract class XyoArchivist<TWrite extends XyoBoundWitness = XyoBoundWitnessWithPartialMeta, TRead extends XyoPayload = XyoPayloadWithPartialMeta>
|
|
10
|
-
implements Archivist<string[], TWrite, TRead | undefined, string, TRead[], XyoPayloadFindFilter>
|
|
11
|
-
{
|
|
12
|
-
protected parent?: XyoArchivist
|
|
13
|
-
protected account?: XyoAccount
|
|
14
|
-
constructor(parent?: XyoArchivist, account?: XyoAccount) {
|
|
15
|
-
this.parent = parent
|
|
16
|
-
this.account = account
|
|
17
|
-
}
|
|
18
|
-
abstract insert(item: TWrite): string[] | Promise<string[]>
|
|
19
|
-
abstract find(query: XyoPayloadFindFilter): TRead[] | Promise<TRead[]>
|
|
20
|
-
abstract get(hash: string): TRead | Promise<TRead | undefined> | undefined
|
|
21
|
-
public all(): TRead[] | Promise<TRead[] | undefined> | undefined {
|
|
22
|
-
throw Error('getAll not supported')
|
|
23
|
-
}
|
|
24
|
-
public delete(_hash: string): boolean | Promise<boolean> {
|
|
25
|
-
throw Error('delete not supported')
|
|
26
|
-
}
|
|
27
|
-
public clear(): void | Promise<void> {
|
|
28
|
-
throw Error('clear not supported')
|
|
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
|
-
}
|
|
40
|
-
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { XyoBoundWitnessWithMeta, XyoBoundWitnessWrapper } from '@xyo-network/boundwitness'
|
|
2
|
-
import { XyoPayload, XyoPayloadWithPartialMeta, XyoPayloadWrapper } from '@xyo-network/payload'
|
|
3
|
-
import LruCache from 'lru-cache'
|
|
4
|
-
|
|
5
|
-
import { XyoPayloadFindFilter } from './Payload'
|
|
6
|
-
import { XyoArchivist } from './XyoArchivist'
|
|
7
|
-
|
|
8
|
-
export class XyoMemoryArchivist extends XyoArchivist {
|
|
9
|
-
private cache: LruCache<string, XyoPayloadWithPartialMeta> = new LruCache<string, XyoPayloadWithPartialMeta>({ max: 10000 })
|
|
10
|
-
|
|
11
|
-
public delete(hash: string) {
|
|
12
|
-
return this.cache.delete(hash)
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
public clear() {
|
|
16
|
-
this.cache.clear()
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
public get(hash: string) {
|
|
20
|
-
return this.cache.get(hash) ?? this.parent?.get(hash)
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
public insert(payload: XyoBoundWitnessWithMeta) {
|
|
24
|
-
const wrapper = new XyoBoundWitnessWrapper(payload)
|
|
25
|
-
const payloadWithmeta = { ...payload, _hash: wrapper.hash, _timestamp: Date.now() }
|
|
26
|
-
const hashes: string[] = []
|
|
27
|
-
hashes.push(payloadWithmeta._hash)
|
|
28
|
-
this.cache.set(payloadWithmeta._hash, payloadWithmeta)
|
|
29
|
-
payload._payloads?.forEach((payload) => {
|
|
30
|
-
const wrapper = new XyoPayloadWrapper(payload)
|
|
31
|
-
const payloadWithmeta = { ...payload, _hash: wrapper.hash, _timestamp: Date.now() }
|
|
32
|
-
hashes.push(payloadWithmeta._hash)
|
|
33
|
-
this.cache.set(payloadWithmeta._hash, payloadWithmeta)
|
|
34
|
-
})
|
|
35
|
-
return hashes
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
public find<T extends XyoPayload = XyoPayload>(filter: XyoPayloadFindFilter): T[] {
|
|
39
|
-
const result: T[] = []
|
|
40
|
-
if (filter.type === 'schema') {
|
|
41
|
-
const filterSchema = filter.schema !== undefined ? (Array.isArray(filter.schema) ? filter.schema : [filter.schema]) : undefined
|
|
42
|
-
this.cache.forEach((value) => {
|
|
43
|
-
let match: XyoPayload | undefined = value
|
|
44
|
-
match = filterSchema === undefined || filterSchema.includes(value.schema) ? value : undefined
|
|
45
|
-
if (match) {
|
|
46
|
-
result.push(match as T)
|
|
47
|
-
}
|
|
48
|
-
})
|
|
49
|
-
}
|
|
50
|
-
if (filter.type === 'hash') {
|
|
51
|
-
const filterHash = filter.hash !== undefined ? (Array.isArray(filter.hash) ? filter.hash : [filter.hash]) : undefined
|
|
52
|
-
this.cache.forEach((value) => {
|
|
53
|
-
let match: XyoPayload | undefined = value
|
|
54
|
-
match = filterHash === undefined || filterHash.includes(new XyoPayloadWrapper(value).hash) ? value : undefined
|
|
55
|
-
if (match) {
|
|
56
|
-
result.push(match as T)
|
|
57
|
-
}
|
|
58
|
-
})
|
|
59
|
-
}
|
|
60
|
-
return result
|
|
61
|
-
}
|
|
62
|
-
}
|