@xyo-network/react-archivist 2.26.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/LICENSE +165 -0
- package/README.md +69 -0
- package/babel.config.json +5 -0
- package/dist/cjs/components/ApiHistory/ApiCallEntry.d.ts +9 -0
- package/dist/cjs/components/ApiHistory/ApiCallEntry.js +21 -0
- package/dist/cjs/components/ApiHistory/ApiCallEntry.js.map +1 -0
- package/dist/cjs/components/ApiHistory/ApiCallTable.d.ts +5 -0
- package/dist/cjs/components/ApiHistory/ApiCallTable.js +13 -0
- package/dist/cjs/components/ApiHistory/ApiCallTable.js.map +1 -0
- package/dist/cjs/components/ApiHistory/ApiHistory.d.ts +3 -0
- package/dist/cjs/components/ApiHistory/ApiHistory.js +22 -0
- package/dist/cjs/components/ApiHistory/ApiHistory.js.map +1 -0
- package/dist/cjs/components/ApiHistory/index.d.ts +2 -0
- package/dist/cjs/components/ApiHistory/index.js +6 -0
- package/dist/cjs/components/ApiHistory/index.js.map +1 -0
- package/dist/cjs/components/ApiHistory/useBuildHistoryData.d.ts +10 -0
- package/dist/cjs/components/ApiHistory/useBuildHistoryData.js +34 -0
- package/dist/cjs/components/ApiHistory/useBuildHistoryData.js.map +1 -0
- package/dist/cjs/components/index.d.ts +1 -0
- package/dist/cjs/components/index.js +5 -0
- package/dist/cjs/components/index.js.map +1 -0
- package/dist/cjs/contexts/Context.d.ts +4 -0
- package/dist/cjs/contexts/Context.js +7 -0
- package/dist/cjs/contexts/Context.js.map +1 -0
- package/dist/cjs/contexts/Provider.d.ts +20 -0
- package/dist/cjs/contexts/Provider.js +31 -0
- package/dist/cjs/contexts/Provider.js.map +1 -0
- package/dist/cjs/contexts/State.d.ts +6 -0
- package/dist/cjs/contexts/State.js +3 -0
- package/dist/cjs/contexts/State.js.map +1 -0
- package/dist/cjs/contexts/index.d.ts +4 -0
- package/dist/cjs/contexts/index.js +8 -0
- package/dist/cjs/contexts/index.js.map +1 -0
- package/dist/cjs/contexts/logWithMax.d.ts +1 -0
- package/dist/cjs/contexts/logWithMax.js +14 -0
- package/dist/cjs/contexts/logWithMax.js.map +1 -0
- package/dist/cjs/contexts/use.d.ts +1 -0
- package/dist/cjs/contexts/use.js +10 -0
- package/dist/cjs/contexts/use.js.map +1 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +5 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/lib/Archivist.d.ts +13 -0
- package/dist/cjs/lib/Archivist.js +3 -0
- package/dist/cjs/lib/Archivist.js.map +1 -0
- package/dist/cjs/lib/XyoApiArchivist.d.ts +11 -0
- package/dist/cjs/lib/XyoApiArchivist.js +35 -0
- package/dist/cjs/lib/XyoApiArchivist.js.map +1 -0
- package/dist/cjs/lib/XyoArchivist.d.ts +11 -0
- package/dist/cjs/lib/XyoArchivist.js +13 -0
- package/dist/cjs/lib/XyoArchivist.js.map +1 -0
- package/dist/cjs/lib/XyoMemoryArchivist.d.ts +12 -0
- package/dist/cjs/lib/XyoMemoryArchivist.js +64 -0
- package/dist/cjs/lib/XyoMemoryArchivist.js.map +1 -0
- package/dist/cjs/lib/index.d.ts +2 -0
- package/dist/cjs/lib/index.js +6 -0
- package/dist/cjs/lib/index.js.map +1 -0
- package/dist/docs.json +7 -0
- package/dist/esm/components/ApiHistory/ApiCallEntry.d.ts +9 -0
- package/dist/esm/components/ApiHistory/ApiCallEntry.js +17 -0
- package/dist/esm/components/ApiHistory/ApiCallEntry.js.map +1 -0
- package/dist/esm/components/ApiHistory/ApiCallTable.d.ts +5 -0
- package/dist/esm/components/ApiHistory/ApiCallTable.js +8 -0
- package/dist/esm/components/ApiHistory/ApiCallTable.js.map +1 -0
- package/dist/esm/components/ApiHistory/ApiHistory.d.ts +3 -0
- package/dist/esm/components/ApiHistory/ApiHistory.js +15 -0
- package/dist/esm/components/ApiHistory/ApiHistory.js.map +1 -0
- package/dist/esm/components/ApiHistory/index.d.ts +2 -0
- package/dist/esm/components/ApiHistory/index.js +3 -0
- package/dist/esm/components/ApiHistory/index.js.map +1 -0
- package/dist/esm/components/ApiHistory/useBuildHistoryData.d.ts +10 -0
- package/dist/esm/components/ApiHistory/useBuildHistoryData.js +31 -0
- package/dist/esm/components/ApiHistory/useBuildHistoryData.js.map +1 -0
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/index.js +2 -0
- package/dist/esm/components/index.js.map +1 -0
- package/dist/esm/contexts/Context.d.ts +4 -0
- package/dist/esm/contexts/Context.js +4 -0
- package/dist/esm/contexts/Context.js.map +1 -0
- package/dist/esm/contexts/Provider.d.ts +20 -0
- package/dist/esm/contexts/Provider.js +22 -0
- package/dist/esm/contexts/Provider.js.map +1 -0
- package/dist/esm/contexts/State.d.ts +6 -0
- package/dist/esm/contexts/State.js +2 -0
- package/dist/esm/contexts/State.js.map +1 -0
- package/dist/esm/contexts/index.d.ts +4 -0
- package/dist/esm/contexts/index.js +5 -0
- package/dist/esm/contexts/index.js.map +1 -0
- package/dist/esm/contexts/logWithMax.d.ts +1 -0
- package/dist/esm/contexts/logWithMax.js +10 -0
- package/dist/esm/contexts/logWithMax.js.map +1 -0
- package/dist/esm/contexts/use.d.ts +1 -0
- package/dist/esm/contexts/use.js +6 -0
- package/dist/esm/contexts/use.js.map +1 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/Archivist.d.ts +13 -0
- package/dist/esm/lib/Archivist.js +2 -0
- package/dist/esm/lib/Archivist.js.map +1 -0
- package/dist/esm/lib/XyoApiArchivist.d.ts +11 -0
- package/dist/esm/lib/XyoApiArchivist.js +22 -0
- package/dist/esm/lib/XyoApiArchivist.js.map +1 -0
- package/dist/esm/lib/XyoArchivist.d.ts +11 -0
- package/dist/esm/lib/XyoArchivist.js +9 -0
- package/dist/esm/lib/XyoArchivist.js.map +1 -0
- package/dist/esm/lib/XyoMemoryArchivist.d.ts +12 -0
- package/dist/esm/lib/XyoMemoryArchivist.js +58 -0
- package/dist/esm/lib/XyoMemoryArchivist.js.map +1 -0
- package/dist/esm/lib/index.d.ts +2 -0
- package/dist/esm/lib/index.js +3 -0
- package/dist/esm/lib/index.js.map +1 -0
- package/package.json +86 -0
- package/src/contexts/Context.ts +7 -0
- package/src/contexts/Provider.tsx +48 -0
- package/src/contexts/State.ts +7 -0
- package/src/contexts/index.ts +4 -0
- package/src/contexts/use.ts +7 -0
- package/src/index.ts +1 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.XyoApiArchivist = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const sdk_js_1 = require("@xylabs/sdk-js");
|
|
6
|
+
const XyoArchivist_1 = require("./XyoArchivist");
|
|
7
|
+
class XyoApiArchivist extends XyoArchivist_1.XyoArchivist {
|
|
8
|
+
constructor(api, archive) {
|
|
9
|
+
super();
|
|
10
|
+
this.api = api;
|
|
11
|
+
this.archive = archive;
|
|
12
|
+
}
|
|
13
|
+
get(hash) {
|
|
14
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
15
|
+
const [payloads] = yield this.api.archive(this.archive).payload.hash(hash).get('tuple');
|
|
16
|
+
return payloads === null || payloads === void 0 ? void 0 : payloads.pop();
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
insert(payload) {
|
|
20
|
+
var _a, _b;
|
|
21
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
return (_b = (_a = (yield this.api.archive(this.archive).block.post([payload]))) === null || _a === void 0 ? void 0 : _a.map((value) => (0, sdk_js_1.assertEx)(value._hash))) !== null && _b !== void 0 ? _b : [];
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
find(filter) {
|
|
26
|
+
var _a, _b;
|
|
27
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
const [payloads = []] = (_a = (yield this.api.archive(this.archive).payload.find(filter, 'tuple'))) !== null && _a !== void 0 ? _a : [];
|
|
29
|
+
const [blocks = []] = (_b = (yield this.api.archive(this.archive).block.find(filter, 'tuple'))) !== null && _b !== void 0 ? _b : [];
|
|
30
|
+
return payloads.concat(blocks);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.XyoApiArchivist = XyoApiArchivist;
|
|
35
|
+
//# sourceMappingURL=XyoApiArchivist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XyoApiArchivist.js","sourceRoot":"","sources":["../../../src/lib/XyoApiArchivist.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AAIzC,iDAA6C;AAE7C,MAAa,eAAgB,SAAQ,2BAAY;IAG/C,YAAY,GAAoB,EAAE,OAAe;QAC/C,KAAK,EAAE,CAAA;QACP,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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { XyoPayloadFindFilter } from '@xyo-network/api';
|
|
2
|
+
import { XyoBoundWitness, XyoBoundWitnessWithPartialMeta } from '@xyo-network/boundwitness';
|
|
3
|
+
import { XyoPayload, XyoPayloadWithPartialMeta } from '@xyo-network/payload';
|
|
4
|
+
import { Archivist } from './Archivist';
|
|
5
|
+
export declare abstract class XyoArchivist<TWrite extends XyoBoundWitness = XyoBoundWitnessWithPartialMeta, TRead extends XyoPayload = XyoPayloadWithPartialMeta> implements Archivist<string[], TWrite, TRead | undefined, string, TRead[], XyoPayloadFindFilter> {
|
|
6
|
+
abstract insert(item: TWrite): string[] | Promise<string[]>;
|
|
7
|
+
abstract find(query: XyoPayloadFindFilter): TRead[] | Promise<TRead[]>;
|
|
8
|
+
abstract get(hash: string): TRead | Promise<TRead | undefined> | undefined;
|
|
9
|
+
delete(_hash: string): boolean;
|
|
10
|
+
clear(): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.XyoArchivist = void 0;
|
|
4
|
+
class XyoArchivist {
|
|
5
|
+
delete(_hash) {
|
|
6
|
+
throw Error('delete not supported');
|
|
7
|
+
}
|
|
8
|
+
clear() {
|
|
9
|
+
throw Error('clear not supported');
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.XyoArchivist = XyoArchivist;
|
|
13
|
+
//# sourceMappingURL=XyoArchivist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XyoArchivist.js","sourceRoot":"","sources":["../../../src/lib/XyoArchivist.ts"],"names":[],"mappings":";;;AAMA,MAAsB,YAAY;IAMzB,MAAM,CAAC,KAAa;QACzB,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;IACM,KAAK;QACV,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACpC,CAAC;CACF;AAZD,oCAYC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { XyoPayloadFindFilter } from '@xyo-network/api';
|
|
2
|
+
import { XyoBoundWitnessWithMeta } from '@xyo-network/boundwitness';
|
|
3
|
+
import { XyoPayload, XyoPayloadWithPartialMeta } from '@xyo-network/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> | undefined;
|
|
10
|
+
insert(payload: XyoBoundWitnessWithMeta): string[];
|
|
11
|
+
find<T extends XyoPayload = XyoPayload>(filter: XyoPayloadFindFilter): T[];
|
|
12
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
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
|
+
return this.cache.get(hash);
|
|
22
|
+
}
|
|
23
|
+
insert(payload) {
|
|
24
|
+
var _a;
|
|
25
|
+
const wrapper = new boundwitness_1.XyoBoundWitnessWrapper(payload);
|
|
26
|
+
const payloadWithmeta = Object.assign(Object.assign({}, payload), { _hash: wrapper.hash, _timestamp: Date.now() });
|
|
27
|
+
const hashes = [];
|
|
28
|
+
hashes.push(payloadWithmeta._hash);
|
|
29
|
+
this.cache.set(payloadWithmeta._hash, payloadWithmeta);
|
|
30
|
+
(_a = payload._payloads) === null || _a === void 0 ? void 0 : _a.forEach((payload) => {
|
|
31
|
+
const wrapper = new payload_1.XyoPayloadWrapper(payload);
|
|
32
|
+
const payloadWithmeta = Object.assign(Object.assign({}, payload), { _hash: wrapper.hash, _timestamp: Date.now() });
|
|
33
|
+
hashes.push(payloadWithmeta._hash);
|
|
34
|
+
this.cache.set(payloadWithmeta._hash, payloadWithmeta);
|
|
35
|
+
});
|
|
36
|
+
return hashes;
|
|
37
|
+
}
|
|
38
|
+
find(filter) {
|
|
39
|
+
const result = [];
|
|
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 = value;
|
|
44
|
+
match = filterSchema === undefined || filterSchema.includes(value.schema) ? value : undefined;
|
|
45
|
+
if (match) {
|
|
46
|
+
result.push(match);
|
|
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 = value;
|
|
54
|
+
match = filterHash === undefined || filterHash.includes(new payload_1.XyoPayloadWrapper(value).hash) ? value : undefined;
|
|
55
|
+
if (match) {
|
|
56
|
+
result.push(match);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
return result;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.XyoMemoryArchivist = XyoMemoryArchivist;
|
|
64
|
+
//# sourceMappingURL=XyoMemoryArchivist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XyoMemoryArchivist.js","sourceRoot":"","sources":["../../../src/lib/XyoMemoryArchivist.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./XyoArchivist"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./XyoMemoryArchivist"), exports);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":";;;AAAA,yDAA8B;AAC9B,+DAAoC"}
|
package/dist/docs.json
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { XyoApiError, XyoApiResponse } from '@xyo-network/api';
|
|
3
|
+
export interface ApiCallEntryProps {
|
|
4
|
+
call: XyoApiResponse | XyoApiError;
|
|
5
|
+
index: number;
|
|
6
|
+
bgColor?: string;
|
|
7
|
+
}
|
|
8
|
+
declare const ApiCallEntry: React.FC<ApiCallEntryProps>;
|
|
9
|
+
export { ApiCallEntry };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { TableCell, TableRow, Typography } from '@mui/material';
|
|
3
|
+
const ApiCallEntry = ({ call, bgColor, index }) => {
|
|
4
|
+
const formatCall = (call) => {
|
|
5
|
+
if (call.isXyoError) {
|
|
6
|
+
const error = call;
|
|
7
|
+
return `${error.code} - ${error.message}`;
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
const response = call;
|
|
11
|
+
return `${response.status} ${response.statusText ? `- ${response.statusText}` : ''}`;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
return (_jsxs(TableRow, { children: [_jsx(TableCell, { sx: { backgroundColor: bgColor }, children: _jsxs(Typography, { variant: "caption", children: [index + 1, "."] }) }), _jsx(TableCell, { sx: { backgroundColor: bgColor }, children: _jsx(Typography, { variant: "caption", children: call.config.method?.toUpperCase() }) }), _jsx(TableCell, { sx: { backgroundColor: bgColor }, children: _jsx(Typography, { variant: "caption", children: formatCall(call) }) }), _jsx(TableCell, { sx: { backgroundColor: bgColor }, children: _jsx(Typography, { variant: "caption", children: call.config.url }) })] }));
|
|
15
|
+
};
|
|
16
|
+
export { ApiCallEntry };
|
|
17
|
+
//# sourceMappingURL=ApiCallEntry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApiCallEntry.js","sourceRoot":"","sources":["../../../../src/components/ApiHistory/ApiCallEntry.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAS/D,MAAM,YAAY,GAAgC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;IAC7E,MAAM,UAAU,GAAG,CAAC,IAA+B,EAAE,EAAE;QACrD,IAAK,IAAoB,CAAC,UAAU,EAAE;YACpC,MAAM,KAAK,GAAG,IAAmB,CAAA;YACjC,OAAO,GAAG,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,OAAO,EAAE,CAAA;SAC1C;aAAM;YACL,MAAM,QAAQ,GAAG,IAAsB,CAAA;YACvC,OAAO,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;SACrF;IACH,CAAC,CAAA;IAED,OAAO,CACL,MAAC,QAAQ,eACP,KAAC,SAAS,IAAC,EAAE,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,YACzC,MAAC,UAAU,IAAC,OAAO,EAAC,SAAS,aAAE,KAAK,GAAG,CAAC,SAAe,GAC7C,EACZ,KAAC,SAAS,IAAC,EAAE,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,YACzC,KAAC,UAAU,IAAC,OAAO,EAAC,SAAS,YAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,GAAc,GACpE,EACZ,KAAC,SAAS,IAAC,EAAE,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,YACzC,KAAC,UAAU,IAAC,OAAO,EAAC,SAAS,YAAE,UAAU,CAAC,IAAI,CAAC,GAAc,GACnD,EACZ,KAAC,SAAS,IAAC,EAAE,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,YACzC,KAAC,UAAU,IAAC,OAAO,EAAC,SAAS,YAAE,IAAI,CAAC,MAAM,CAAC,GAAG,GAAc,GAClD,IACH,CACZ,CAAA;AACH,CAAC,CAAA;AAED,OAAO,EAAE,YAAY,EAAE,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Table, TableBody, TableCell, TableHead, TableRow, Typography } from '@mui/material';
|
|
3
|
+
import { FlexRow } from '@xylabs/react-flexbox';
|
|
4
|
+
const ApiCallTable = ({ children, ...props }) => {
|
|
5
|
+
return (_jsx(FlexRow, { flexGrow: 1, ...props, children: _jsxs(Table, { children: [_jsx(TableHead, { children: _jsxs(TableRow, { children: [_jsx(TableCell, {}), _jsx(TableCell, { children: _jsx(Typography, { variant: "caption", children: "HTTP Method" }) }), _jsx(TableCell, { children: _jsx(Typography, { variant: "caption", children: "Status" }) }), _jsx(TableCell, { children: _jsx(Typography, { variant: "caption", children: "URL" }) })] }) }), _jsx(TableBody, { children: children })] }) }));
|
|
6
|
+
};
|
|
7
|
+
export { ApiCallTable };
|
|
8
|
+
//# sourceMappingURL=ApiCallTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApiCallTable.js","sourceRoot":"","sources":["../../../../src/components/ApiHistory/ApiCallTable.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC5F,OAAO,EAAgB,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAG7D,MAAM,YAAY,GAAyC,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACpF,OAAO,CACL,KAAC,OAAO,IAAC,QAAQ,EAAE,CAAC,KAAM,KAAK,YAC7B,MAAC,KAAK,eACJ,KAAC,SAAS,cACR,MAAC,QAAQ,eACP,KAAC,SAAS,KAAG,EACb,KAAC,SAAS,cACR,KAAC,UAAU,IAAC,OAAO,EAAC,SAAS,4BAAyB,GAC5C,EACZ,KAAC,SAAS,cACR,KAAC,UAAU,IAAC,OAAO,EAAC,SAAS,uBAAoB,GACvC,EACZ,KAAC,SAAS,cACR,KAAC,UAAU,IAAC,OAAO,EAAC,SAAS,oBAAiB,GACpC,IACH,GACD,EACZ,KAAC,SAAS,cAAE,QAAQ,GAAa,IAC3B,GACA,CACX,CAAA;AACH,CAAC,CAAA;AAED,OAAO,EAAE,YAAY,EAAE,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Typography, useTheme } from '@mui/material';
|
|
3
|
+
import { ButtonEx } from '@xylabs/react-button';
|
|
4
|
+
import { FlexCol } from '@xylabs/react-flexbox';
|
|
5
|
+
import { useState } from 'react';
|
|
6
|
+
import { ApiCallEntry } from './ApiCallEntry';
|
|
7
|
+
import { ApiCallTable } from './ApiCallTable';
|
|
8
|
+
import { useBuildHistoryData } from './useBuildHistoryData';
|
|
9
|
+
export const ApiHistory = (props) => {
|
|
10
|
+
const [visible, setVisible] = useState(false);
|
|
11
|
+
const theme = useTheme();
|
|
12
|
+
const histories = useBuildHistoryData();
|
|
13
|
+
return (_jsx(FlexCol, { flexGrow: 1, ...props, children: visible ? (_jsxs(_Fragment, { children: [_jsx(ButtonEx, { variant: "contained", size: "small", onClick: () => setVisible(false), children: "Hide Api History" }), histories?.map((history, index) => (_jsxs(FlexCol, { flexGrow: 1, children: [_jsx(Typography, { marginTop: 1, variant: "h6", children: history.heading }), _jsx(ApiCallTable, { sx: { marginBottom: theme.spacing(4) }, children: history.callHistory?.map((response, index) => (_jsx(ApiCallEntry, { bgColor: history.bgColor, call: response, index: index }, index))) })] }, index)))] })) : (_jsx(ButtonEx, { variant: "contained", size: "small", onClick: () => setVisible(true), children: "Show Api History" })) }));
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=ApiHistory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApiHistory.js","sourceRoot":"","sources":["../../../../src/components/ApiHistory/ApiHistory.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAgB,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,MAAM,CAAC,MAAM,UAAU,GAA2B,CAAC,KAAK,EAAE,EAAE;IAC1D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAA;IAEvC,OAAO,CACL,KAAC,OAAO,IAAC,QAAQ,EAAE,CAAC,KAAM,KAAK,YAC5B,OAAO,CAAC,CAAC,CAAC,CACT,8BACE,KAAC,QAAQ,IAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,iCAEhE,EACV,SAAS,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAClC,MAAC,OAAO,IAAC,QAAQ,EAAE,CAAC,aAClB,KAAC,UAAU,IAAC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAC,IAAI,YACnC,OAAO,CAAC,OAAO,GACL,EACb,KAAC,YAAY,IAAC,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,YACjD,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAC7C,KAAC,YAAY,IAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,IAAO,KAAK,CAAI,CACrF,CAAC,GACW,KARU,KAAK,CAStB,CACX,CAAC,IACD,CACJ,CAAC,CAAC,CAAC,CACF,KAAC,QAAQ,IAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,iCAE/D,CACZ,GACO,CACX,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ApiHistory/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
declare const useBuildHistoryData: () => ({
|
|
2
|
+
bgColor: string;
|
|
3
|
+
callHistory: import("@xyo-network/api").XyoApiResponse<unknown, unknown>[] | undefined;
|
|
4
|
+
heading: string;
|
|
5
|
+
} | {
|
|
6
|
+
bgColor: string;
|
|
7
|
+
callHistory: import("@xyo-network/api").XyoApiError<any, any>[] | undefined;
|
|
8
|
+
heading: string;
|
|
9
|
+
})[];
|
|
10
|
+
export { useBuildHistoryData };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { lighten, useTheme } from '@mui/material';
|
|
2
|
+
import { useArchivistApi } from '../../contexts';
|
|
3
|
+
const useBuildHistoryData = () => {
|
|
4
|
+
const { errorHistory, responseHistory, successHistory, failureHistory } = useArchivistApi();
|
|
5
|
+
const theme = useTheme();
|
|
6
|
+
const histories = [
|
|
7
|
+
{
|
|
8
|
+
bgColor: lighten(theme.palette.success.light, 0.85),
|
|
9
|
+
callHistory: successHistory,
|
|
10
|
+
heading: 'Successes',
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
bgColor: lighten(theme.palette.error.light, 0.85),
|
|
14
|
+
callHistory: failureHistory,
|
|
15
|
+
heading: 'Failures',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
bgColor: lighten(theme.palette.error.light, 0.85),
|
|
19
|
+
callHistory: errorHistory,
|
|
20
|
+
heading: 'Errors',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
bgColor: lighten(theme.palette.info.light, 0.85),
|
|
24
|
+
callHistory: responseHistory,
|
|
25
|
+
heading: 'Responses',
|
|
26
|
+
},
|
|
27
|
+
];
|
|
28
|
+
return histories;
|
|
29
|
+
};
|
|
30
|
+
export { useBuildHistoryData };
|
|
31
|
+
//# sourceMappingURL=useBuildHistoryData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBuildHistoryData.js","sourceRoot":"","sources":["../../../../src/components/ApiHistory/useBuildHistoryData.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,MAAM,mBAAmB,GAAG,GAAG,EAAE;IAC/B,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,eAAe,EAAE,CAAA;IAC3F,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IAExB,MAAM,SAAS,GAAG;QAChB;YACE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;YACnD,WAAW,EAAE,cAAc;YAC3B,OAAO,EAAE,WAAW;SACrB;QACD;YACE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;YACjD,WAAW,EAAE,cAAc;YAC3B,OAAO,EAAE,UAAU;SACpB;QACD;YACE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;YACjD,WAAW,EAAE,YAAY;YACzB,OAAO,EAAE,QAAQ;SAClB;QACD;YACE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;YAChD,WAAW,EAAE,eAAe;YAC5B,OAAO,EAAE,WAAW;SACrB;KACF,CAAA;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ApiHistory';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../src/contexts/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAI3D,MAAM,gBAAgB,GAAG,eAAe,EAAkB,CAAA;AAE1D,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { WithChildren } from '@xylabs/react-shared';
|
|
3
|
+
import { XyoArchivistApi } from '@xyo-network/api';
|
|
4
|
+
import { XyoArchivist } from '@xyo-network/archivist';
|
|
5
|
+
export interface ArchivistProviderProps {
|
|
6
|
+
required?: boolean;
|
|
7
|
+
archivist?: XyoArchivist;
|
|
8
|
+
}
|
|
9
|
+
export declare const ArchivistProvider: React.FC<WithChildren<ArchivistProviderProps>>;
|
|
10
|
+
export interface MemoryArchivistProviderProps {
|
|
11
|
+
required?: boolean;
|
|
12
|
+
parent?: XyoArchivist;
|
|
13
|
+
}
|
|
14
|
+
export declare const MemoryArchivistProvider: React.FC<WithChildren<MemoryArchivistProviderProps>>;
|
|
15
|
+
export interface ApiArchivistProviderProps {
|
|
16
|
+
required?: boolean;
|
|
17
|
+
api: XyoArchivistApi;
|
|
18
|
+
archive: string;
|
|
19
|
+
}
|
|
20
|
+
export declare const ApiArchivistProvider: React.FC<WithChildren<ApiArchivistProviderProps>>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { XyoApiArchivist } from '@xyo-network/api';
|
|
3
|
+
import { XyoMemoryArchivist } from '@xyo-network/archivist';
|
|
4
|
+
import { useState } from 'react';
|
|
5
|
+
import { ArchivistContext } from './Context';
|
|
6
|
+
import { useArchivist } from './use';
|
|
7
|
+
export const ArchivistProvider = ({ archivist: archivistProp, required = false, children }) => {
|
|
8
|
+
const [archivist, setArchivist] = useState(archivistProp);
|
|
9
|
+
return (_jsx(ArchivistContext.Provider, { value: {
|
|
10
|
+
archivist,
|
|
11
|
+
provided: true,
|
|
12
|
+
setArchivist,
|
|
13
|
+
}, children: archivist ? children : required ? null : children }));
|
|
14
|
+
};
|
|
15
|
+
export const MemoryArchivistProvider = ({ parent: parentProp, ...props }) => {
|
|
16
|
+
const { archivist: parent } = useArchivist();
|
|
17
|
+
return _jsx(ArchivistProvider, { archivist: new XyoMemoryArchivist(parentProp ?? parent), ...props });
|
|
18
|
+
};
|
|
19
|
+
export const ApiArchivistProvider = ({ api, archive, ...props }) => {
|
|
20
|
+
return _jsx(ArchivistProvider, { archivist: new XyoApiArchivist(api, archive), ...props });
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=Provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAmB,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAgB,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAOpC,MAAM,CAAC,MAAM,iBAAiB,GAAmD,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5I,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAA2B,aAAa,CAAC,CAAA;IAEnF,OAAO,CACL,KAAC,gBAAgB,CAAC,QAAQ,IACxB,KAAK,EAAE;YACL,SAAS;YACT,QAAQ,EAAE,IAAI;YACd,YAAY;SACb,YAEA,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GACxB,CAC7B,CAAA;AACH,CAAC,CAAA;AAOD,MAAM,CAAC,MAAM,uBAAuB,GAAyD,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAChI,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,CAAA;IAC5C,OAAO,KAAC,iBAAiB,IAAC,SAAS,EAAE,IAAI,kBAAkB,CAAC,UAAU,IAAI,MAAM,CAAC,KAAM,KAAK,GAAI,CAAA;AAClG,CAAC,CAAA;AAQD,MAAM,CAAC,MAAM,oBAAoB,GAAsD,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACpH,OAAO,KAAC,iBAAiB,IAAC,SAAS,EAAE,IAAI,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,KAAM,KAAK,GAAI,CAAA;AACvF,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"State.js","sourceRoot":"","sources":["../../../src/contexts/State.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const logWithMax: <T>(log: T[], item: T, max: number) => T[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logWithMax.js","sourceRoot":"","sources":["../../../src/contexts/logWithMax.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAI,GAAQ,EAAE,IAAO,EAAE,GAAW,EAAE,EAAE;IAC9D,IAAI,GAAG,GAAG,CAAC,EAAE;QACX,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACjB,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;YACvB,GAAG,CAAC,GAAG,EAAE,CAAA;SACV;KACF;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useArchivist: (required?: boolean) => Omit<import("./State").ArchivistState & import("@xyo-network/react-shared").ContextExState, "provided">;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use.js","sourceRoot":"","sources":["../../../src/contexts/use.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAE5C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAQ,GAAG,KAAK,EAAE,EAAE;IAC/C,OAAO,YAAY,CAAC,gBAAgB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;AAC9D,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './contexts';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
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>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Archivist.js","sourceRoot":"","sources":["../../../src/lib/Archivist.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { XyoArchivistApi, XyoPayloadFindFilter } from '@xyo-network/api';
|
|
2
|
+
import { XyoBoundWitnessWithPartialMeta } from '@xyo-network/boundwitness';
|
|
3
|
+
import { XyoArchivist } from './XyoArchivist';
|
|
4
|
+
export declare class XyoApiArchivist extends XyoArchivist {
|
|
5
|
+
protected api: XyoArchivistApi;
|
|
6
|
+
protected archive: string;
|
|
7
|
+
constructor(api: XyoArchivistApi, archive: string);
|
|
8
|
+
get(hash: string): Promise<import("@xyo-network/payload").XyoPayload<object> | undefined>;
|
|
9
|
+
insert(payload: XyoBoundWitnessWithPartialMeta): Promise<string[]>;
|
|
10
|
+
find(filter: XyoPayloadFindFilter): Promise<import("@xyo-network/payload").XyoPayloadWithPartialMeta<unknown>[]>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { assertEx } from '@xylabs/sdk-js';
|
|
2
|
+
import { XyoArchivist } from './XyoArchivist';
|
|
3
|
+
export class XyoApiArchivist extends XyoArchivist {
|
|
4
|
+
constructor(api, archive) {
|
|
5
|
+
super();
|
|
6
|
+
this.api = api;
|
|
7
|
+
this.archive = archive;
|
|
8
|
+
}
|
|
9
|
+
async get(hash) {
|
|
10
|
+
const [payloads] = await this.api.archive(this.archive).payload.hash(hash).get('tuple');
|
|
11
|
+
return payloads?.pop();
|
|
12
|
+
}
|
|
13
|
+
async insert(payload) {
|
|
14
|
+
return (await this.api.archive(this.archive).block.post([payload]))?.map((value) => assertEx(value._hash)) ?? [];
|
|
15
|
+
}
|
|
16
|
+
async find(filter) {
|
|
17
|
+
const [payloads = []] = (await this.api.archive(this.archive).payload.find(filter, 'tuple')) ?? [];
|
|
18
|
+
const [blocks = []] = (await this.api.archive(this.archive).block.find(filter, 'tuple')) ?? [];
|
|
19
|
+
return payloads.concat(blocks);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=XyoApiArchivist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XyoApiArchivist.js","sourceRoot":"","sources":["../../../src/lib/XyoApiArchivist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAIzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAG/C,YAAY,GAAoB,EAAE,OAAe;QAC/C,KAAK,EAAE,CAAA;QACP,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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { XyoPayloadFindFilter } from '@xyo-network/api';
|
|
2
|
+
import { XyoBoundWitness, XyoBoundWitnessWithPartialMeta } from '@xyo-network/boundwitness';
|
|
3
|
+
import { XyoPayload, XyoPayloadWithPartialMeta } from '@xyo-network/payload';
|
|
4
|
+
import { Archivist } from './Archivist';
|
|
5
|
+
export declare abstract class XyoArchivist<TWrite extends XyoBoundWitness = XyoBoundWitnessWithPartialMeta, TRead extends XyoPayload = XyoPayloadWithPartialMeta> implements Archivist<string[], TWrite, TRead | undefined, string, TRead[], XyoPayloadFindFilter> {
|
|
6
|
+
abstract insert(item: TWrite): string[] | Promise<string[]>;
|
|
7
|
+
abstract find(query: XyoPayloadFindFilter): TRead[] | Promise<TRead[]>;
|
|
8
|
+
abstract get(hash: string): TRead | Promise<TRead | undefined> | undefined;
|
|
9
|
+
delete(_hash: string): boolean;
|
|
10
|
+
clear(): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XyoArchivist.js","sourceRoot":"","sources":["../../../src/lib/XyoArchivist.ts"],"names":[],"mappings":"AAMA,MAAM,OAAgB,YAAY;IAMzB,MAAM,CAAC,KAAa;QACzB,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;IACM,KAAK;QACV,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACpC,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { XyoPayloadFindFilter } from '@xyo-network/api';
|
|
2
|
+
import { XyoBoundWitnessWithMeta } from '@xyo-network/boundwitness';
|
|
3
|
+
import { XyoPayload, XyoPayloadWithPartialMeta } from '@xyo-network/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> | undefined;
|
|
10
|
+
insert(payload: XyoBoundWitnessWithMeta): string[];
|
|
11
|
+
find<T extends XyoPayload = XyoPayload>(filter: XyoPayloadFindFilter): T[];
|
|
12
|
+
}
|