@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.
Files changed (89) hide show
  1. package/LICENSE +165 -0
  2. package/README.md +13 -0
  3. package/dist/cjs/Archivist.js +3 -0
  4. package/dist/cjs/Archivist.js.map +1 -0
  5. package/dist/cjs/Config.js +5 -0
  6. package/dist/cjs/Config.js.map +1 -0
  7. package/dist/cjs/Queries/All.js +5 -0
  8. package/dist/cjs/Queries/All.js.map +1 -0
  9. package/dist/cjs/Queries/Clear.js +5 -0
  10. package/dist/cjs/Queries/Clear.js.map +1 -0
  11. package/dist/cjs/Queries/Commit.js +5 -0
  12. package/dist/cjs/Queries/Commit.js.map +1 -0
  13. package/dist/cjs/Queries/Delete.js +5 -0
  14. package/dist/cjs/Queries/Delete.js.map +1 -0
  15. package/dist/cjs/Queries/Find.js +5 -0
  16. package/dist/cjs/Queries/Find.js.map +1 -0
  17. package/dist/cjs/Queries/Get.js +5 -0
  18. package/dist/cjs/Queries/Get.js.map +1 -0
  19. package/dist/cjs/Queries/Insert.js +5 -0
  20. package/dist/cjs/Queries/Insert.js.map +1 -0
  21. package/dist/cjs/Queries/index.js +12 -0
  22. package/dist/cjs/Queries/index.js.map +1 -0
  23. package/dist/cjs/Queries/types.js +3 -0
  24. package/dist/cjs/Queries/types.js.map +1 -0
  25. package/dist/cjs/index.js +7 -0
  26. package/dist/cjs/index.js.map +1 -0
  27. package/dist/docs.json +2900 -0
  28. package/dist/esm/Archivist.js +2 -0
  29. package/dist/esm/Archivist.js.map +1 -0
  30. package/dist/esm/Config.js +2 -0
  31. package/dist/esm/Config.js.map +1 -0
  32. package/dist/esm/Queries/All.js +2 -0
  33. package/dist/esm/Queries/All.js.map +1 -0
  34. package/dist/esm/Queries/Clear.js +2 -0
  35. package/dist/esm/Queries/Clear.js.map +1 -0
  36. package/dist/esm/Queries/Commit.js +2 -0
  37. package/dist/esm/Queries/Commit.js.map +1 -0
  38. package/dist/esm/Queries/Delete.js +2 -0
  39. package/dist/esm/Queries/Delete.js.map +1 -0
  40. package/dist/esm/Queries/Find.js +2 -0
  41. package/dist/esm/Queries/Find.js.map +1 -0
  42. package/dist/esm/Queries/Get.js +2 -0
  43. package/dist/esm/Queries/Get.js.map +1 -0
  44. package/dist/esm/Queries/Insert.js +2 -0
  45. package/dist/esm/Queries/Insert.js.map +1 -0
  46. package/dist/esm/Queries/index.js +9 -0
  47. package/dist/esm/Queries/index.js.map +1 -0
  48. package/dist/esm/Queries/types.js +2 -0
  49. package/dist/esm/Queries/types.js.map +1 -0
  50. package/dist/esm/index.js +4 -0
  51. package/dist/esm/index.js.map +1 -0
  52. package/dist/types/Archivist.d.ts +28 -0
  53. package/dist/types/Archivist.d.ts.map +1 -0
  54. package/dist/types/Config.d.ts +17 -0
  55. package/dist/types/Config.d.ts.map +1 -0
  56. package/dist/types/Queries/All.d.ts +7 -0
  57. package/dist/types/Queries/All.d.ts.map +1 -0
  58. package/dist/types/Queries/Clear.d.ts +7 -0
  59. package/dist/types/Queries/Clear.d.ts.map +1 -0
  60. package/dist/types/Queries/Commit.d.ts +7 -0
  61. package/dist/types/Queries/Commit.d.ts.map +1 -0
  62. package/dist/types/Queries/Delete.d.ts +8 -0
  63. package/dist/types/Queries/Delete.d.ts.map +1 -0
  64. package/dist/types/Queries/Find.d.ts +9 -0
  65. package/dist/types/Queries/Find.d.ts.map +1 -0
  66. package/dist/types/Queries/Get.d.ts +8 -0
  67. package/dist/types/Queries/Get.d.ts.map +1 -0
  68. package/dist/types/Queries/Insert.d.ts +8 -0
  69. package/dist/types/Queries/Insert.d.ts.map +1 -0
  70. package/dist/types/Queries/index.d.ts +9 -0
  71. package/dist/types/Queries/index.d.ts.map +1 -0
  72. package/dist/types/Queries/types.d.ts +11 -0
  73. package/dist/types/Queries/types.d.ts.map +1 -0
  74. package/dist/types/index.d.ts +4 -0
  75. package/dist/types/index.d.ts.map +1 -0
  76. package/package.json +58 -0
  77. package/src/Archivist.ts +49 -0
  78. package/src/Config.ts +21 -0
  79. package/src/Queries/All.ts +8 -0
  80. package/src/Queries/Clear.ts +8 -0
  81. package/src/Queries/Commit.ts +8 -0
  82. package/src/Queries/Delete.ts +9 -0
  83. package/src/Queries/Find.ts +10 -0
  84. package/src/Queries/Get.ts +9 -0
  85. package/src/Queries/Insert.ts +9 -0
  86. package/src/Queries/index.ts +8 -0
  87. package/src/Queries/types.ts +20 -0
  88. package/src/index.ts +3 -0
  89. package/typedoc.json +11 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Archivist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Archivist.js","sourceRoot":"","sources":["../../src/Archivist.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export const ArchivistConfigSchema = 'network.xyo.archivist.config';
2
+ //# sourceMappingURL=Config.js.map
@@ -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,2 @@
1
+ export const ArchivistAllQuerySchema = 'network.xyo.query.archivist.all';
2
+ //# sourceMappingURL=All.js.map
@@ -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,2 @@
1
+ export const ArchivistClearQuerySchema = 'network.xyo.query.archivist.clear';
2
+ //# sourceMappingURL=Clear.js.map
@@ -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,2 @@
1
+ export const ArchivistCommitQuerySchema = 'network.xyo.query.archivist.commit';
2
+ //# sourceMappingURL=Commit.js.map
@@ -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,2 @@
1
+ export const ArchivistDeleteQuerySchema = 'network.xyo.query.archivist.delete';
2
+ //# sourceMappingURL=Delete.js.map
@@ -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,2 @@
1
+ export const ArchivistFindQuerySchema = 'network.xyo.query.archivist.find';
2
+ //# sourceMappingURL=Find.js.map
@@ -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,2 @@
1
+ export const ArchivistGetQuerySchema = 'network.xyo.query.archivist.get';
2
+ //# sourceMappingURL=Get.js.map
@@ -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,2 @@
1
+ export const ArchivistInsertQuerySchema = 'network.xyo.query.archivist.insert';
2
+ //# sourceMappingURL=Insert.js.map
@@ -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,9 @@
1
+ export * from './All';
2
+ export * from './Clear';
3
+ export * from './Commit';
4
+ export * from './Delete';
5
+ export * from './Find';
6
+ export * from './Get';
7
+ export * from './Insert';
8
+ export * from './types';
9
+ //# sourceMappingURL=index.js.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/Queries/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export * from './Archivist';
2
+ export * from './Config';
3
+ export * from './Queries';
4
+ //# sourceMappingURL=index.js.map
@@ -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,9 @@
1
+ export * from './All';
2
+ export * from './Clear';
3
+ export * from './Commit';
4
+ export * from './Delete';
5
+ export * from './Find';
6
+ export * from './Get';
7
+ export * from './Insert';
8
+ export * from './types';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -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,4 @@
1
+ export * from './Archivist';
2
+ export * from './Config';
3
+ export * from './Queries';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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
+ }
@@ -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,8 @@
1
+ export * from './All'
2
+ export * from './Clear'
3
+ export * from './Commit'
4
+ export * from './Delete'
5
+ export * from './Find'
6
+ export * from './Get'
7
+ export * from './Insert'
8
+ export * from './types'
@@ -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
@@ -0,0 +1,3 @@
1
+ export * from './Archivist'
2
+ export * from './Config'
3
+ export * from './Queries'
package/typedoc.json ADDED
@@ -0,0 +1,11 @@
1
+ {
2
+ "intentionallyNotExported": [
3
+ "WithPayloadMeta",
4
+ "Payload",
5
+ "PayloadFull",
6
+ "BoundWitness",
7
+ "DataLike",
8
+ "Huri",
9
+ "XyoSchemaPayload"
10
+ ]
11
+ }