@xyo-network/archivist-model 2.53.18
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 +13 -0
- package/dist/cjs/Archivist.js +3 -0
- package/dist/cjs/Archivist.js.map +1 -0
- package/dist/cjs/Config.js +5 -0
- package/dist/cjs/Config.js.map +1 -0
- package/dist/cjs/Queries/All.js +5 -0
- package/dist/cjs/Queries/All.js.map +1 -0
- package/dist/cjs/Queries/Clear.js +5 -0
- package/dist/cjs/Queries/Clear.js.map +1 -0
- package/dist/cjs/Queries/Commit.js +5 -0
- package/dist/cjs/Queries/Commit.js.map +1 -0
- package/dist/cjs/Queries/Delete.js +5 -0
- package/dist/cjs/Queries/Delete.js.map +1 -0
- package/dist/cjs/Queries/Find.js +5 -0
- package/dist/cjs/Queries/Find.js.map +1 -0
- package/dist/cjs/Queries/Get.js +5 -0
- package/dist/cjs/Queries/Get.js.map +1 -0
- package/dist/cjs/Queries/Insert.js +5 -0
- package/dist/cjs/Queries/Insert.js.map +1 -0
- package/dist/cjs/Queries/index.js +12 -0
- package/dist/cjs/Queries/index.js.map +1 -0
- package/dist/cjs/Queries/types.js +3 -0
- package/dist/cjs/Queries/types.js.map +1 -0
- package/dist/cjs/index.js +7 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/docs.json +2900 -0
- package/dist/esm/Archivist.js +2 -0
- package/dist/esm/Archivist.js.map +1 -0
- package/dist/esm/Config.js +2 -0
- package/dist/esm/Config.js.map +1 -0
- package/dist/esm/Queries/All.js +2 -0
- package/dist/esm/Queries/All.js.map +1 -0
- package/dist/esm/Queries/Clear.js +2 -0
- package/dist/esm/Queries/Clear.js.map +1 -0
- package/dist/esm/Queries/Commit.js +2 -0
- package/dist/esm/Queries/Commit.js.map +1 -0
- package/dist/esm/Queries/Delete.js +2 -0
- package/dist/esm/Queries/Delete.js.map +1 -0
- package/dist/esm/Queries/Find.js +2 -0
- package/dist/esm/Queries/Find.js.map +1 -0
- package/dist/esm/Queries/Get.js +2 -0
- package/dist/esm/Queries/Get.js.map +1 -0
- package/dist/esm/Queries/Insert.js +2 -0
- package/dist/esm/Queries/Insert.js.map +1 -0
- package/dist/esm/Queries/index.js +9 -0
- package/dist/esm/Queries/index.js.map +1 -0
- package/dist/esm/Queries/types.js +2 -0
- package/dist/esm/Queries/types.js.map +1 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/types/Archivist.d.ts +28 -0
- package/dist/types/Archivist.d.ts.map +1 -0
- package/dist/types/Config.d.ts +17 -0
- package/dist/types/Config.d.ts.map +1 -0
- package/dist/types/Queries/All.d.ts +7 -0
- package/dist/types/Queries/All.d.ts.map +1 -0
- package/dist/types/Queries/Clear.d.ts +7 -0
- package/dist/types/Queries/Clear.d.ts.map +1 -0
- package/dist/types/Queries/Commit.d.ts +7 -0
- package/dist/types/Queries/Commit.d.ts.map +1 -0
- package/dist/types/Queries/Delete.d.ts +8 -0
- package/dist/types/Queries/Delete.d.ts.map +1 -0
- package/dist/types/Queries/Find.d.ts +9 -0
- package/dist/types/Queries/Find.d.ts.map +1 -0
- package/dist/types/Queries/Get.d.ts +8 -0
- package/dist/types/Queries/Get.d.ts.map +1 -0
- package/dist/types/Queries/Insert.d.ts +8 -0
- package/dist/types/Queries/Insert.d.ts.map +1 -0
- package/dist/types/Queries/index.d.ts +9 -0
- package/dist/types/Queries/index.d.ts.map +1 -0
- package/dist/types/Queries/types.d.ts +11 -0
- package/dist/types/Queries/types.d.ts.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/package.json +58 -0
- package/src/Archivist.ts +49 -0
- package/src/Config.ts +21 -0
- package/src/Queries/All.ts +8 -0
- package/src/Queries/Clear.ts +8 -0
- package/src/Queries/Commit.ts +8 -0
- package/src/Queries/Delete.ts +9 -0
- package/src/Queries/Find.ts +10 -0
- package/src/Queries/Get.ts +9 -0
- package/src/Queries/Insert.ts +9 -0
- package/src/Queries/index.ts +8 -0
- package/src/Queries/types.ts +20 -0
- package/src/index.ts +3 -0
- package/typedoc.json +11 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Archivist.js","sourceRoot":"","sources":["../../src/Archivist.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,qBAAqB,GAA0B,8BAA8B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"All.js","sourceRoot":"","sources":["../../../src/Queries/All.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,uBAAuB,GAA4B,iCAAiC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Clear.js","sourceRoot":"","sources":["../../../src/Queries/Clear.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,yBAAyB,GAA8B,mCAAmC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Commit.js","sourceRoot":"","sources":["../../../src/Queries/Commit.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,0BAA0B,GAA+B,oCAAoC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Delete.js","sourceRoot":"","sources":["../../../src/Queries/Delete.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,0BAA0B,GAA+B,oCAAoC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Find.js","sourceRoot":"","sources":["../../../src/Queries/Find.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,wBAAwB,GAA6B,kCAAkC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Get.js","sourceRoot":"","sources":["../../../src/Queries/Get.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,uBAAuB,GAA4B,iCAAiC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Insert.js","sourceRoot":"","sources":["../../../src/Queries/Insert.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,0BAA0B,GAA+B,oCAAoC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Queries/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,OAAO,CAAA;AACrB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/Queries/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { BoundWitness } from '@xyo-network/boundwitness-model';
|
|
2
|
+
import { AnyObject } from '@xyo-network/core';
|
|
3
|
+
import { AnyConfigSchema, Module, ModuleConfig, ModuleParams } from '@xyo-network/module-model';
|
|
4
|
+
import { Payload, PayloadFindFilter } from '@xyo-network/payload-model';
|
|
5
|
+
import { NullablePromisableArray, Promisable, PromisableArray } from '@xyo-network/promise';
|
|
6
|
+
import { ArchivistConfig } from './Config';
|
|
7
|
+
export interface ReadArchivist<TReadResponse, TId = string> {
|
|
8
|
+
all?(): PromisableArray<TReadResponse>;
|
|
9
|
+
get(ids: TId[]): NullablePromisableArray<TReadResponse>;
|
|
10
|
+
}
|
|
11
|
+
export interface WriteArchivist<TReadResponse, TWriteResponse = TReadResponse, TWrite = TReadResponse, TId = string> {
|
|
12
|
+
clear?(): Promisable<void>;
|
|
13
|
+
delete?(ids: TId[]): PromisableArray<boolean>;
|
|
14
|
+
insert(item: TWrite[]): PromisableArray<TWriteResponse>;
|
|
15
|
+
}
|
|
16
|
+
export interface FindArchivist<TReadResponse, TFindResponse = TReadResponse, TFindFilter = unknown> {
|
|
17
|
+
find(filter?: TFindFilter): PromisableArray<TFindResponse>;
|
|
18
|
+
}
|
|
19
|
+
export interface StashArchivist<TWriteResponse> {
|
|
20
|
+
commit?(): Promisable<TWriteResponse[]>;
|
|
21
|
+
}
|
|
22
|
+
export type ArchivistParams<TConfig extends AnyConfigSchema<ArchivistConfig> = AnyConfigSchema<ArchivistConfig>, TAdditionalParams extends AnyObject | undefined = undefined> = ModuleParams<TConfig, TAdditionalParams>;
|
|
23
|
+
export interface Archivist<TReadResponse = Payload, TWriteResponse = BoundWitness, TWrite = TReadResponse, TFindResponse = TReadResponse, TFindFilter = PayloadFindFilter, TId = string> extends ReadArchivist<TReadResponse, TId>, FindArchivist<TReadResponse, TFindResponse, TFindFilter>, WriteArchivist<TReadResponse, TWriteResponse, TWrite, TId>, StashArchivist<TWriteResponse> {
|
|
24
|
+
}
|
|
25
|
+
export type ArchivistModule<TParams extends ArchivistParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>> = Module<TParams> & Archivist<Payload, Payload, Payload, Payload, PayloadFindFilter, string>;
|
|
26
|
+
/** @deprecated use ArchivistModule instead */
|
|
27
|
+
export type PayloadArchivist = ArchivistModule;
|
|
28
|
+
//# sourceMappingURL=Archivist.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Archivist.d.ts","sourceRoot":"","sources":["../../src/Archivist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC/F,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE3F,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C,MAAM,WAAW,aAAa,CAAC,aAAa,EAAE,GAAG,GAAG,MAAM;IACxD,GAAG,CAAC,IAAI,eAAe,CAAC,aAAa,CAAC,CAAA;IACtC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAA;CACxD;AAED,MAAM,WAAW,cAAc,CAAC,aAAa,EAAE,cAAc,GAAG,aAAa,EAAE,MAAM,GAAG,aAAa,EAAE,GAAG,GAAG,MAAM;IACjH,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IAC1B,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IAC7C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,cAAc,CAAC,CAAA;CACxD;AAED,MAAM,WAAW,aAAa,CAAC,aAAa,EAAE,aAAa,GAAG,aAAa,EAAE,WAAW,GAAG,OAAO;IAChG,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,eAAe,CAAC,aAAa,CAAC,CAAA;CAC3D;AAED,MAAM,WAAW,cAAc,CAAC,cAAc;IAC5C,MAAM,CAAC,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC,CAAA;CACxC;AAED,MAAM,MAAM,eAAe,CACzB,OAAO,SAAS,eAAe,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC,eAAe,CAAC,EACnF,iBAAiB,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,IACzD,YAAY,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA;AAE5C,MAAM,WAAW,SAAS,CACxB,aAAa,GAAG,OAAO,EACvB,cAAc,GAAG,YAAY,EAC7B,MAAM,GAAG,aAAa,EACtB,aAAa,GAAG,aAAa,EAC7B,WAAW,GAAG,iBAAiB,EAC/B,GAAG,GAAG,MAAM,CACZ,SAAQ,aAAa,CAAC,aAAa,EAAE,GAAG,CAAC,EACvC,aAAa,CAAC,aAAa,EAAE,aAAa,EAAE,WAAW,CAAC,EACxD,cAAc,CAAC,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,CAAC,EAC1D,cAAc,CAAC,cAAc,CAAC;CAAG;AAErC,MAAM,MAAM,eAAe,CAAC,OAAO,SAAS,eAAe,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,GAAG,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,IACtI,MAAM,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAA;AAE5F,8CAA8C;AAC9C,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AddressString, ModuleConfig } from '@xyo-network/module-model';
|
|
2
|
+
import { Payload } from '@xyo-network/payload-model';
|
|
3
|
+
export interface ArchivistParents {
|
|
4
|
+
commit?: AddressString[];
|
|
5
|
+
read?: AddressString[];
|
|
6
|
+
write?: AddressString[];
|
|
7
|
+
}
|
|
8
|
+
export type ArchivistConfigSchema = 'network.xyo.archivist.config';
|
|
9
|
+
export declare const ArchivistConfigSchema: ArchivistConfigSchema;
|
|
10
|
+
export type ArchivistConfig<TConfig extends Payload | undefined = undefined> = ModuleConfig<{
|
|
11
|
+
/** @field address of one or more parent archivists to read from */
|
|
12
|
+
parents?: ArchivistParents;
|
|
13
|
+
schema: TConfig extends Payload ? TConfig['schema'] : ArchivistConfigSchema;
|
|
14
|
+
/** @field should child store all reads from parents? */
|
|
15
|
+
storeParentReads?: boolean;
|
|
16
|
+
} & Omit<TConfig, 'schema'>>;
|
|
17
|
+
//# sourceMappingURL=Config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,aAAa,EAAE,CAAA;IACxB,IAAI,CAAC,EAAE,aAAa,EAAE,CAAA;IACtB,KAAK,CAAC,EAAE,aAAa,EAAE,CAAA;CACxB;AAED,MAAM,MAAM,qBAAqB,GAAG,8BAA8B,CAAA;AAClE,eAAO,MAAM,qBAAqB,EAAE,qBAAsD,CAAA;AAE1F,MAAM,MAAM,eAAe,CAAC,OAAO,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,IAAI,YAAY,CACzF;IACE,mEAAmE;IACnE,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,MAAM,EAAE,OAAO,SAAS,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,qBAAqB,CAAA;IAC3E,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAC5B,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Query } from '@xyo-network/module-model';
|
|
2
|
+
export type ArchivistAllQuerySchema = 'network.xyo.query.archivist.all';
|
|
3
|
+
export declare const ArchivistAllQuerySchema: ArchivistAllQuerySchema;
|
|
4
|
+
export type ArchivistAllQuery = Query<{
|
|
5
|
+
schema: ArchivistAllQuerySchema;
|
|
6
|
+
}>;
|
|
7
|
+
//# sourceMappingURL=All.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"All.d.ts","sourceRoot":"","sources":["../../../src/Queries/All.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAEjD,MAAM,MAAM,uBAAuB,GAAG,iCAAiC,CAAA;AACvE,eAAO,MAAM,uBAAuB,EAAE,uBAA2D,CAAA;AAEjG,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC;IACpC,MAAM,EAAE,uBAAuB,CAAA;CAChC,CAAC,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Query } from '@xyo-network/module-model';
|
|
2
|
+
export type ArchivistClearQuerySchema = 'network.xyo.query.archivist.clear';
|
|
3
|
+
export declare const ArchivistClearQuerySchema: ArchivistClearQuerySchema;
|
|
4
|
+
export type ArchivistClearQuery = Query<{
|
|
5
|
+
schema: ArchivistClearQuerySchema;
|
|
6
|
+
}>;
|
|
7
|
+
//# sourceMappingURL=Clear.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Clear.d.ts","sourceRoot":"","sources":["../../../src/Queries/Clear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAEjD,MAAM,MAAM,yBAAyB,GAAG,mCAAmC,CAAA;AAC3E,eAAO,MAAM,yBAAyB,EAAE,yBAA+D,CAAA;AAEvG,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC;IACtC,MAAM,EAAE,yBAAyB,CAAA;CAClC,CAAC,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Query } from '@xyo-network/module-model';
|
|
2
|
+
export type ArchivistCommitQuerySchema = 'network.xyo.query.archivist.commit';
|
|
3
|
+
export declare const ArchivistCommitQuerySchema: ArchivistCommitQuerySchema;
|
|
4
|
+
export type ArchivistCommitQuery = Query<{
|
|
5
|
+
schema: ArchivistCommitQuerySchema;
|
|
6
|
+
}>;
|
|
7
|
+
//# sourceMappingURL=Commit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Commit.d.ts","sourceRoot":"","sources":["../../../src/Queries/Commit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAEjD,MAAM,MAAM,0BAA0B,GAAG,oCAAoC,CAAA;AAC7E,eAAO,MAAM,0BAA0B,EAAE,0BAAiE,CAAA;AAE1G,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC;IACvC,MAAM,EAAE,0BAA0B,CAAA;CACnC,CAAC,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Query } from '@xyo-network/module-model';
|
|
2
|
+
export type ArchivistDeleteQuerySchema = 'network.xyo.query.archivist.delete';
|
|
3
|
+
export declare const ArchivistDeleteQuerySchema: ArchivistDeleteQuerySchema;
|
|
4
|
+
export type ArchivistDeleteQuery = Query<{
|
|
5
|
+
hashes: string[];
|
|
6
|
+
schema: ArchivistDeleteQuerySchema;
|
|
7
|
+
}>;
|
|
8
|
+
//# sourceMappingURL=Delete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Delete.d.ts","sourceRoot":"","sources":["../../../src/Queries/Delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAEjD,MAAM,MAAM,0BAA0B,GAAG,oCAAoC,CAAA;AAC7E,eAAO,MAAM,0BAA0B,EAAE,0BAAiE,CAAA;AAE1G,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC;IACvC,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,MAAM,EAAE,0BAA0B,CAAA;CACnC,CAAC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Query } from '@xyo-network/module-model';
|
|
2
|
+
import { PayloadFindFilter } from '@xyo-network/payload-model';
|
|
3
|
+
export type ArchivistFindQuerySchema = 'network.xyo.query.archivist.find';
|
|
4
|
+
export declare const ArchivistFindQuerySchema: ArchivistFindQuerySchema;
|
|
5
|
+
export type ArchivistFindQuery = Query<{
|
|
6
|
+
filter?: PayloadFindFilter;
|
|
7
|
+
schema: ArchivistFindQuerySchema;
|
|
8
|
+
}>;
|
|
9
|
+
//# sourceMappingURL=Find.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Find.d.ts","sourceRoot":"","sources":["../../../src/Queries/Find.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAE9D,MAAM,MAAM,wBAAwB,GAAG,kCAAkC,CAAA;AACzE,eAAO,MAAM,wBAAwB,EAAE,wBAA6D,CAAA;AAEpG,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC;IACrC,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAC1B,MAAM,EAAE,wBAAwB,CAAA;CACjC,CAAC,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Query } from '@xyo-network/module-model';
|
|
2
|
+
export type ArchivistGetQuerySchema = 'network.xyo.query.archivist.get';
|
|
3
|
+
export declare const ArchivistGetQuerySchema: ArchivistGetQuerySchema;
|
|
4
|
+
export type ArchivistGetQuery = Query<{
|
|
5
|
+
hashes: string[];
|
|
6
|
+
schema: ArchivistGetQuerySchema;
|
|
7
|
+
}>;
|
|
8
|
+
//# sourceMappingURL=Get.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Get.d.ts","sourceRoot":"","sources":["../../../src/Queries/Get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAEjD,MAAM,MAAM,uBAAuB,GAAG,iCAAiC,CAAA;AACvE,eAAO,MAAM,uBAAuB,EAAE,uBAA2D,CAAA;AAEjG,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,MAAM,EAAE,uBAAuB,CAAA;CAChC,CAAC,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Query } from '@xyo-network/module-model';
|
|
2
|
+
export type ArchivistInsertQuerySchema = 'network.xyo.query.archivist.insert';
|
|
3
|
+
export declare const ArchivistInsertQuerySchema: ArchivistInsertQuerySchema;
|
|
4
|
+
export type ArchivistInsertQuery = Query<{
|
|
5
|
+
payloads: string[];
|
|
6
|
+
schema: ArchivistInsertQuerySchema;
|
|
7
|
+
}>;
|
|
8
|
+
//# sourceMappingURL=Insert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Insert.d.ts","sourceRoot":"","sources":["../../../src/Queries/Insert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAEjD,MAAM,MAAM,0BAA0B,GAAG,oCAAoC,CAAA;AAC7E,eAAO,MAAM,0BAA0B,EAAE,0BAAiE,CAAA;AAE1G,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC;IACvC,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,EAAE,0BAA0B,CAAA;CACnC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Queries/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,OAAO,CAAA;AACrB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ModuleQuery, Query } from '@xyo-network/module-model';
|
|
2
|
+
import { ArchivistAllQuery } from './All';
|
|
3
|
+
import { ArchivistClearQuery } from './Clear';
|
|
4
|
+
import { ArchivistCommitQuery } from './Commit';
|
|
5
|
+
import { ArchivistDeleteQuery } from './Delete';
|
|
6
|
+
import { ArchivistFindQuery } from './Find';
|
|
7
|
+
import { ArchivistGetQuery } from './Get';
|
|
8
|
+
import { ArchivistInsertQuery } from './Insert';
|
|
9
|
+
export type ArchivistQueryRoot = ArchivistAllQuery | ArchivistClearQuery | ArchivistCommitQuery | ArchivistDeleteQuery | ArchivistFindQuery | ArchivistGetQuery | ArchivistInsertQuery;
|
|
10
|
+
export type ArchivistQuery<TQuery extends Query | void = void> = ModuleQuery<TQuery extends Query ? ArchivistQueryRoot | TQuery : ArchivistQueryRoot>;
|
|
11
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/Queries/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAE/C,MAAM,MAAM,kBAAkB,GAC1B,iBAAiB,GACjB,mBAAmB,GACnB,oBAAoB,GACpB,oBAAoB,GACpB,kBAAkB,GAClB,iBAAiB,GACjB,oBAAoB,CAAA;AAExB,MAAM,MAAM,cAAc,CAAC,MAAM,SAAS,KAAK,GAAG,IAAI,GAAG,IAAI,IAAI,WAAW,CAAC,MAAM,SAAS,KAAK,GAAG,kBAAkB,GAAG,MAAM,GAAG,kBAAkB,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@xyo-network/archivist-model",
|
|
3
|
+
"author": {
|
|
4
|
+
"email": "support@xyo.network",
|
|
5
|
+
"name": "XYO Development Team",
|
|
6
|
+
"url": "https://xyo.network"
|
|
7
|
+
},
|
|
8
|
+
"bugs": {
|
|
9
|
+
"email": "support@xyo.network",
|
|
10
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
11
|
+
},
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"@xyo-network/boundwitness-model": "^2.53.18",
|
|
14
|
+
"@xyo-network/core": "^2.53.18",
|
|
15
|
+
"@xyo-network/module-model": "^2.53.18",
|
|
16
|
+
"@xyo-network/payload-model": "^2.53.18",
|
|
17
|
+
"@xyo-network/promise": "^2.53.18"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@xylabs/ts-scripts-yarn3": "^2.16.1",
|
|
21
|
+
"@xylabs/tsconfig": "^2.16.1",
|
|
22
|
+
"typescript": "^4.9.5"
|
|
23
|
+
},
|
|
24
|
+
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
25
|
+
"browser": "dist/esm/index.js",
|
|
26
|
+
"docs": "dist/docs.json",
|
|
27
|
+
"exports": {
|
|
28
|
+
".": {
|
|
29
|
+
"node": {
|
|
30
|
+
"import": "./dist/esm/index.js",
|
|
31
|
+
"require": "./dist/cjs/index.js"
|
|
32
|
+
},
|
|
33
|
+
"browser": {
|
|
34
|
+
"import": "./dist/esm/index.js",
|
|
35
|
+
"require": "./dist/cjs/index.js"
|
|
36
|
+
},
|
|
37
|
+
"default": "./dist/esm/index.js"
|
|
38
|
+
},
|
|
39
|
+
"./dist/docs.json": {
|
|
40
|
+
"default": "./dist/docs.json"
|
|
41
|
+
},
|
|
42
|
+
"./package.json": "./package.json"
|
|
43
|
+
},
|
|
44
|
+
"main": "dist/cjs/index.js",
|
|
45
|
+
"module": "dist/esm/index.js",
|
|
46
|
+
"homepage": "https://xyo.network",
|
|
47
|
+
"license": "LGPL-3.0",
|
|
48
|
+
"publishConfig": {
|
|
49
|
+
"access": "public"
|
|
50
|
+
},
|
|
51
|
+
"repository": {
|
|
52
|
+
"type": "git",
|
|
53
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
|
|
54
|
+
},
|
|
55
|
+
"sideEffects": false,
|
|
56
|
+
"types": "dist/types/index.d.ts",
|
|
57
|
+
"version": "2.53.18"
|
|
58
|
+
}
|
package/src/Archivist.ts
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { BoundWitness } from '@xyo-network/boundwitness-model'
|
|
2
|
+
import { AnyObject } from '@xyo-network/core'
|
|
3
|
+
import { AnyConfigSchema, Module, ModuleConfig, ModuleParams } from '@xyo-network/module-model'
|
|
4
|
+
import { Payload, PayloadFindFilter } from '@xyo-network/payload-model'
|
|
5
|
+
import { NullablePromisableArray, Promisable, PromisableArray } from '@xyo-network/promise'
|
|
6
|
+
|
|
7
|
+
import { ArchivistConfig } from './Config'
|
|
8
|
+
|
|
9
|
+
export interface ReadArchivist<TReadResponse, TId = string> {
|
|
10
|
+
all?(): PromisableArray<TReadResponse>
|
|
11
|
+
get(ids: TId[]): NullablePromisableArray<TReadResponse>
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export interface WriteArchivist<TReadResponse, TWriteResponse = TReadResponse, TWrite = TReadResponse, TId = string> {
|
|
15
|
+
clear?(): Promisable<void>
|
|
16
|
+
delete?(ids: TId[]): PromisableArray<boolean>
|
|
17
|
+
insert(item: TWrite[]): PromisableArray<TWriteResponse>
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface FindArchivist<TReadResponse, TFindResponse = TReadResponse, TFindFilter = unknown> {
|
|
21
|
+
find(filter?: TFindFilter): PromisableArray<TFindResponse>
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface StashArchivist<TWriteResponse> {
|
|
25
|
+
commit?(): Promisable<TWriteResponse[]>
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export type ArchivistParams<
|
|
29
|
+
TConfig extends AnyConfigSchema<ArchivistConfig> = AnyConfigSchema<ArchivistConfig>,
|
|
30
|
+
TAdditionalParams extends AnyObject | undefined = undefined,
|
|
31
|
+
> = ModuleParams<TConfig, TAdditionalParams>
|
|
32
|
+
|
|
33
|
+
export interface Archivist<
|
|
34
|
+
TReadResponse = Payload,
|
|
35
|
+
TWriteResponse = BoundWitness,
|
|
36
|
+
TWrite = TReadResponse,
|
|
37
|
+
TFindResponse = TReadResponse,
|
|
38
|
+
TFindFilter = PayloadFindFilter,
|
|
39
|
+
TId = string,
|
|
40
|
+
> extends ReadArchivist<TReadResponse, TId>,
|
|
41
|
+
FindArchivist<TReadResponse, TFindResponse, TFindFilter>,
|
|
42
|
+
WriteArchivist<TReadResponse, TWriteResponse, TWrite, TId>,
|
|
43
|
+
StashArchivist<TWriteResponse> {}
|
|
44
|
+
|
|
45
|
+
export type ArchivistModule<TParams extends ArchivistParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>> =
|
|
46
|
+
Module<TParams> & Archivist<Payload, Payload, Payload, Payload, PayloadFindFilter, string>
|
|
47
|
+
|
|
48
|
+
/** @deprecated use ArchivistModule instead */
|
|
49
|
+
export type PayloadArchivist = ArchivistModule
|
package/src/Config.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { AddressString, ModuleConfig } from '@xyo-network/module-model'
|
|
2
|
+
import { Payload } from '@xyo-network/payload-model'
|
|
3
|
+
|
|
4
|
+
export interface ArchivistParents {
|
|
5
|
+
commit?: AddressString[]
|
|
6
|
+
read?: AddressString[]
|
|
7
|
+
write?: AddressString[]
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export type ArchivistConfigSchema = 'network.xyo.archivist.config'
|
|
11
|
+
export const ArchivistConfigSchema: ArchivistConfigSchema = 'network.xyo.archivist.config'
|
|
12
|
+
|
|
13
|
+
export type ArchivistConfig<TConfig extends Payload | undefined = undefined> = ModuleConfig<
|
|
14
|
+
{
|
|
15
|
+
/** @field address of one or more parent archivists to read from */
|
|
16
|
+
parents?: ArchivistParents
|
|
17
|
+
schema: TConfig extends Payload ? TConfig['schema'] : ArchivistConfigSchema
|
|
18
|
+
/** @field should child store all reads from parents? */
|
|
19
|
+
storeParentReads?: boolean
|
|
20
|
+
} & Omit<TConfig, 'schema'>
|
|
21
|
+
>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Query } from '@xyo-network/module-model'
|
|
2
|
+
|
|
3
|
+
export type ArchivistAllQuerySchema = 'network.xyo.query.archivist.all'
|
|
4
|
+
export const ArchivistAllQuerySchema: ArchivistAllQuerySchema = 'network.xyo.query.archivist.all'
|
|
5
|
+
|
|
6
|
+
export type ArchivistAllQuery = Query<{
|
|
7
|
+
schema: ArchivistAllQuerySchema
|
|
8
|
+
}>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Query } from '@xyo-network/module-model'
|
|
2
|
+
|
|
3
|
+
export type ArchivistClearQuerySchema = 'network.xyo.query.archivist.clear'
|
|
4
|
+
export const ArchivistClearQuerySchema: ArchivistClearQuerySchema = 'network.xyo.query.archivist.clear'
|
|
5
|
+
|
|
6
|
+
export type ArchivistClearQuery = Query<{
|
|
7
|
+
schema: ArchivistClearQuerySchema
|
|
8
|
+
}>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Query } from '@xyo-network/module-model'
|
|
2
|
+
|
|
3
|
+
export type ArchivistCommitQuerySchema = 'network.xyo.query.archivist.commit'
|
|
4
|
+
export const ArchivistCommitQuerySchema: ArchivistCommitQuerySchema = 'network.xyo.query.archivist.commit'
|
|
5
|
+
|
|
6
|
+
export type ArchivistCommitQuery = Query<{
|
|
7
|
+
schema: ArchivistCommitQuerySchema
|
|
8
|
+
}>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Query } from '@xyo-network/module-model'
|
|
2
|
+
|
|
3
|
+
export type ArchivistDeleteQuerySchema = 'network.xyo.query.archivist.delete'
|
|
4
|
+
export const ArchivistDeleteQuerySchema: ArchivistDeleteQuerySchema = 'network.xyo.query.archivist.delete'
|
|
5
|
+
|
|
6
|
+
export type ArchivistDeleteQuery = Query<{
|
|
7
|
+
hashes: string[]
|
|
8
|
+
schema: ArchivistDeleteQuerySchema
|
|
9
|
+
}>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Query } from '@xyo-network/module-model'
|
|
2
|
+
import { PayloadFindFilter } from '@xyo-network/payload-model'
|
|
3
|
+
|
|
4
|
+
export type ArchivistFindQuerySchema = 'network.xyo.query.archivist.find'
|
|
5
|
+
export const ArchivistFindQuerySchema: ArchivistFindQuerySchema = 'network.xyo.query.archivist.find'
|
|
6
|
+
|
|
7
|
+
export type ArchivistFindQuery = Query<{
|
|
8
|
+
filter?: PayloadFindFilter
|
|
9
|
+
schema: ArchivistFindQuerySchema
|
|
10
|
+
}>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Query } from '@xyo-network/module-model'
|
|
2
|
+
|
|
3
|
+
export type ArchivistGetQuerySchema = 'network.xyo.query.archivist.get'
|
|
4
|
+
export const ArchivistGetQuerySchema: ArchivistGetQuerySchema = 'network.xyo.query.archivist.get'
|
|
5
|
+
|
|
6
|
+
export type ArchivistGetQuery = Query<{
|
|
7
|
+
hashes: string[]
|
|
8
|
+
schema: ArchivistGetQuerySchema
|
|
9
|
+
}>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Query } from '@xyo-network/module-model'
|
|
2
|
+
|
|
3
|
+
export type ArchivistInsertQuerySchema = 'network.xyo.query.archivist.insert'
|
|
4
|
+
export const ArchivistInsertQuerySchema: ArchivistInsertQuerySchema = 'network.xyo.query.archivist.insert'
|
|
5
|
+
|
|
6
|
+
export type ArchivistInsertQuery = Query<{
|
|
7
|
+
payloads: string[]
|
|
8
|
+
schema: ArchivistInsertQuerySchema
|
|
9
|
+
}>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ModuleQuery, Query } from '@xyo-network/module-model'
|
|
2
|
+
|
|
3
|
+
import { ArchivistAllQuery } from './All'
|
|
4
|
+
import { ArchivistClearQuery } from './Clear'
|
|
5
|
+
import { ArchivistCommitQuery } from './Commit'
|
|
6
|
+
import { ArchivistDeleteQuery } from './Delete'
|
|
7
|
+
import { ArchivistFindQuery } from './Find'
|
|
8
|
+
import { ArchivistGetQuery } from './Get'
|
|
9
|
+
import { ArchivistInsertQuery } from './Insert'
|
|
10
|
+
|
|
11
|
+
export type ArchivistQueryRoot =
|
|
12
|
+
| ArchivistAllQuery
|
|
13
|
+
| ArchivistClearQuery
|
|
14
|
+
| ArchivistCommitQuery
|
|
15
|
+
| ArchivistDeleteQuery
|
|
16
|
+
| ArchivistFindQuery
|
|
17
|
+
| ArchivistGetQuery
|
|
18
|
+
| ArchivistInsertQuery
|
|
19
|
+
|
|
20
|
+
export type ArchivistQuery<TQuery extends Query | void = void> = ModuleQuery<TQuery extends Query ? ArchivistQueryRoot | TQuery : ArchivistQueryRoot>
|
package/src/index.ts
ADDED