@xyo-network/archivist 2.26.0 → 2.26.3

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 (43) hide show
  1. package/dist/cjs/Abstract.d.ts +3 -2
  2. package/dist/cjs/Abstract.d.ts.map +1 -1
  3. package/dist/cjs/Abstract.js +14 -6
  4. package/dist/cjs/Abstract.js.map +1 -1
  5. package/dist/cjs/XyoArchivistConfig.d.ts +3 -8
  6. package/dist/cjs/XyoArchivistConfig.d.ts.map +1 -1
  7. package/dist/cjs/XyoArchivistConfig.js.map +1 -1
  8. package/dist/cjs/XyoMemoryArchivist.d.ts +1 -1
  9. package/dist/cjs/XyoMemoryArchivist.d.ts.map +1 -1
  10. package/dist/cjs/XyoMemoryArchivist.js +6 -6
  11. package/dist/cjs/XyoMemoryArchivist.js.map +1 -1
  12. package/dist/docs.json +6233 -2471
  13. package/dist/esm/Abstract.d.ts +3 -2
  14. package/dist/esm/Abstract.d.ts.map +1 -1
  15. package/dist/esm/Abstract.js +12 -4
  16. package/dist/esm/Abstract.js.map +1 -1
  17. package/dist/esm/XyoArchivistConfig.d.ts +3 -8
  18. package/dist/esm/XyoArchivistConfig.d.ts.map +1 -1
  19. package/dist/esm/XyoArchivistConfig.js.map +1 -1
  20. package/dist/esm/XyoMemoryArchivist.d.ts +1 -1
  21. package/dist/esm/XyoMemoryArchivist.d.ts.map +1 -1
  22. package/dist/esm/XyoMemoryArchivist.js +3 -3
  23. package/dist/esm/XyoMemoryArchivist.js.map +1 -1
  24. package/package.json +7 -7
  25. package/src/Abstract.ts +15 -6
  26. package/src/XyoArchivistConfig.ts +3 -9
  27. package/src/XyoMemoryArchivist.ts +5 -3
  28. package/dist/cjs/model/Archivist.d.ts +0 -24
  29. package/dist/cjs/model/Archivist.d.ts.map +0 -1
  30. package/dist/cjs/model/Archivist.js +0 -3
  31. package/dist/cjs/model/Archivist.js.map +0 -1
  32. package/dist/cjs/model/index.d.ts +0 -2
  33. package/dist/cjs/model/index.d.ts.map +0 -1
  34. package/dist/cjs/model/index.js +0 -5
  35. package/dist/cjs/model/index.js.map +0 -1
  36. package/dist/esm/model/Archivist.d.ts +0 -24
  37. package/dist/esm/model/Archivist.d.ts.map +0 -1
  38. package/dist/esm/model/Archivist.js +0 -2
  39. package/dist/esm/model/Archivist.js.map +0 -1
  40. package/dist/esm/model/index.d.ts +0 -2
  41. package/dist/esm/model/index.d.ts.map +0 -1
  42. package/dist/esm/model/index.js +0 -2
  43. package/dist/esm/model/index.js.map +0 -1
@@ -4,7 +4,7 @@ import { XyoPayload } from '@xyo-network/payload';
4
4
  import { NullablePromisableArray, Promisable, PromisableArray } from '@xyo-network/promisable';
5
5
  import { Archivist } from './Archivist';
6
6
  import { XyoArchivist, XyoArchivistQueryPayload } from './XyoArchivist';
7
- import { XyoArchivistConfig, XyoResolvedArchivistParents } from './XyoArchivistConfig';
7
+ import { XyoArchivistConfig, XyoArchivistParents } from './XyoArchivistConfig';
8
8
  export declare abstract class XyoAbstractArchivist<Q extends XyoArchivistQueryPayload = XyoArchivistQueryPayload, C extends XyoArchivistConfig = XyoArchivistConfig> extends XyoAbstractModule<Q, C> implements XyoArchivist<XyoArchivistQueryPayload>, Archivist<XyoPayload, XyoPayload, XyoPayload, XyoPayload, XyoArchivistQueryPayload> {
9
9
  abstract get(ids: string[]): NullablePromisableArray<XyoPayload<{
10
10
  schema: string;
@@ -23,7 +23,8 @@ export declare abstract class XyoAbstractArchivist<Q extends XyoArchivistQueryPa
23
23
  get resolver(): ((address: string) => XyoArchivist<XyoArchivistQueryPayload<XyoPayload<{
24
24
  schema: string;
25
25
  }>>>) | undefined;
26
+ private resolveArchivists;
26
27
  private _parents?;
27
- get parents(): XyoResolvedArchivistParents;
28
+ get parents(): XyoArchivistParents;
28
29
  }
29
30
  //# sourceMappingURL=Abstract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Abstract.d.ts","sourceRoot":"","sources":["../../src/Abstract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAG9F,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AAEtF,8BAAsB,oBAAoB,CACtC,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,EAC7D,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,CAEnD,SAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAC9B,YAAW,YAAY,CAAC,wBAAwB,CAAC,EAAE,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,wBAAwB,CAAC;IAEtI,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,uBAAuB,CAAC,UAAU,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEpF,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,wBAAwB,CAAC,UAAU,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE/H,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,GAAG,eAAe,CAAC,UAAU,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;aAEtF,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC;IAEjF,IAAI,QAAQ;;sBAEX;IAED,OAAO,CAAC,QAAQ,CAAC,CAA6B;IAC9C,IAAI,OAAO,gCAOV;CACF"}
1
+ {"version":3,"file":"Abstract.d.ts","sourceRoot":"","sources":["../../src/Abstract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAE9F,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE9E,8BAAsB,oBAAoB,CACtC,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,EAC7D,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,CAEnD,SAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAC9B,YAAW,YAAY,CAAC,wBAAwB,CAAC,EAAE,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,wBAAwB,CAAC;IAEtI,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,uBAAuB,CAAC,UAAU,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEpF,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,wBAAwB,CAAC,UAAU,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE/H,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,GAAG,eAAe,CAAC,UAAU,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;aAEtF,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC;IAEjF,IAAI,QAAQ;;sBAEX;IAED,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,QAAQ,CAAC,CAAqB;IACtC,IAAI,OAAO,wBAOV;CACF"}
@@ -1,16 +1,24 @@
1
1
  import { assertEx } from '@xylabs/sdk-js';
2
2
  import { XyoAbstractModule } from '@xyo-network/module';
3
- import compact from 'lodash/compact';
4
3
  export class XyoAbstractArchivist extends XyoAbstractModule {
5
4
  get resolver() {
6
5
  return this.config.resolver;
7
6
  }
7
+ resolveArchivists(archivists) {
8
+ const resolved = {};
9
+ if (archivists) {
10
+ Object.entries(archivists).forEach(([key, value]) => {
11
+ resolved[key] = value ?? this.resolver?.(key) ?? null;
12
+ });
13
+ }
14
+ return resolved;
15
+ }
8
16
  _parents;
9
17
  get parents() {
10
18
  this._parents = this._parents ?? {
11
- commit: compact(this.config.parents?.commit?.map((parent) => this.resolver?.(parent))),
12
- read: compact(this.config.parents?.read?.map((parent) => this.resolver?.(parent))),
13
- write: compact(this.config.parents?.write?.map((parent) => this.resolver?.(parent))),
19
+ commit: this.resolveArchivists(this.config.parents?.commit),
20
+ read: this.resolveArchivists(this.config.parents?.commit),
21
+ write: this.resolveArchivists(this.config.parents?.commit),
14
22
  };
15
23
  return assertEx(this._parents);
16
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Abstract.js","sourceRoot":"","sources":["../../src/Abstract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAGvD,OAAO,OAAO,MAAM,gBAAgB,CAAA;AAMpC,MAAM,OAAgB,oBAIpB,SAAQ,iBAAuB;IAW/B,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAA;IAC7B,CAAC;IAEO,QAAQ,CAA8B;IAC9C,IAAI,OAAO;QACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI;YAC/B,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACtF,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YAClF,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;SACrF,CAAA;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC;CACF"}
1
+ {"version":3,"file":"Abstract.js","sourceRoot":"","sources":["../../src/Abstract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAQvD,MAAM,OAAgB,oBAIpB,SAAQ,iBAAuB;IAW/B,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAA;IAC7B,CAAC;IAEO,iBAAiB,CAAC,UAA4D;QACpF,MAAM,QAAQ,GAAoD,EAAE,CAAA;QACpE,IAAI,UAAU,EAAE;YACd,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAClD,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,CAAA;YACvD,CAAC,CAAC,CAAA;SACH;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,QAAQ,CAAsB;IACtC,IAAI,OAAO;QACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI;YAC/B,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC;YAC3D,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC;YACzD,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC;SAC3D,CAAA;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC;CACF"}
@@ -3,14 +3,9 @@ import { XyoModuleConfig } from '@xyo-network/module';
3
3
  import { XyoPayload } from '@xyo-network/payload';
4
4
  import { XyoArchivist, XyoArchivistQueryPayload } from './XyoArchivist';
5
5
  export interface XyoArchivistParents {
6
- read?: string[];
7
- write?: string[];
8
- commit?: string[];
9
- }
10
- export interface XyoResolvedArchivistParents {
11
- read?: (XyoArchivist | null)[];
12
- write?: (XyoArchivist | null)[];
13
- commit?: (XyoArchivist | null)[];
6
+ read?: Record<string, XyoArchivist | null | undefined>;
7
+ write?: Record<string, XyoArchivist | null | undefined>;
8
+ commit?: Record<string, XyoArchivist | null | undefined>;
14
9
  }
15
10
  export declare type XyoArchivistConfig<T extends XyoPayload = XyoPayload, M extends XyoArchivist = XyoArchivist<XyoArchivistQueryPayload<T>>> = XyoModuleConfig<{
16
11
  /** @field address of one or more parent archivists to read from */
@@ -1 +1 @@
1
- {"version":3,"file":"XyoArchivistConfig.d.ts","sourceRoot":"","sources":["../../src/XyoArchivistConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AAEvE,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,CAAC,EAAE,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAA;IAC9B,KAAK,CAAC,EAAE,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAA;IAC/B,MAAM,CAAC,EAAE,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAA;CACjC;AAED,oBAAY,kBAAkB,CAC5B,CAAC,SAAS,UAAU,GAAG,UAAU,EACjC,CAAC,SAAS,YAAY,GAAG,YAAY,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,IAChE,eAAe,CACjB;IACE,mEAAmE;IACnE,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAC7B,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,GAAG,CAAC,EACL,CAAC,CACF,CAAA;AAED,qBAAa,yBAAyB,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB;IACtF,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBACR,MAAM,CAAC,EAAE,CAAC;IAItB,IAAW,OAAO,oCAEjB;IAED,IAAW,OAAO,2BAEjB;IAED,IAAW,YAAY,uBAEtB;IAED,IAAW,gBAAgB,wBAE1B;CACF"}
1
+ {"version":3,"file":"XyoArchivistConfig.d.ts","sourceRoot":"","sources":["../../src/XyoArchivistConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AAEvE,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;CACzD;AAED,oBAAY,kBAAkB,CAC5B,CAAC,SAAS,UAAU,GAAG,UAAU,EACjC,CAAC,SAAS,YAAY,GAAG,YAAY,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,IAChE,eAAe,CACjB;IACE,mEAAmE;IACnE,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAC7B,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,GAAG,CAAC,EACL,CAAC,CACF,CAAA;AAED,qBAAa,yBAAyB,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB;IACtF,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBACR,MAAM,CAAC,EAAE,CAAC;IAItB,IAAW,OAAO,oCAEjB;IAED,IAAW,OAAO,2BAEjB;IAED,IAAW,YAAY,uBAEtB;IAED,IAAW,gBAAgB,wBAE1B;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"XyoArchivistConfig.js","sourceRoot":"","sources":["../../src/XyoArchivistConfig.ts"],"names":[],"mappings":"AAiCA,MAAM,OAAO,yBAAyB;IAC1B,MAAM,CAAI;IACpB,YAAY,MAAU;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,CAAA;IAC7B,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,CAAA;IAC7B,CAAC;IAED,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,MAAM,EAAE,YAAY,CAAA;IAClC,CAAC;IAED,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAA;IACtC,CAAC;CACF"}
1
+ {"version":3,"file":"XyoArchivistConfig.js","sourceRoot":"","sources":["../../src/XyoArchivistConfig.ts"],"names":[],"mappings":"AA2BA,MAAM,OAAO,yBAAyB;IAC1B,MAAM,CAAI;IACpB,YAAY,MAAU;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,CAAA;IAC7B,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,CAAA;IAC7B,CAAC;IAED,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,MAAM,EAAE,YAAY,CAAA;IAClC,CAAC;IAED,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAA;IACtC,CAAC;CACF"}
@@ -9,7 +9,7 @@ export declare type XyoMemoryArchivistConfig = XyoArchivistConfig<{
9
9
  schema: 'network.xyo.module.config.archivist.memory';
10
10
  max?: number;
11
11
  }>;
12
- export declare class XyoMemoryArchivistWrapper<Q extends XyoArchivistQueryPayload = XyoArchivistQueryPayload, C extends XyoMemoryArchivistConfig = XyoMemoryArchivistConfig> extends XyoAbstractArchivist<Q, C> {
12
+ export declare class XyoMemoryArchivist<Q extends XyoArchivistQueryPayload = XyoArchivistQueryPayload, C extends XyoMemoryArchivistConfig = XyoMemoryArchivistConfig> extends XyoAbstractArchivist<Q, C> {
13
13
  query<Q>(_query: Q): Promisable<[XyoBoundWitness, XyoPayload<{
14
14
  schema: string;
15
15
  }>[]]>;
@@ -1 +1 @@
1
- {"version":3,"file":"XyoMemoryArchivist.d.ts","sourceRoot":"","sources":["../../src/XyoMemoryArchivist.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAA0B,MAAM,2BAA2B,CAAA;AACnF,OAAO,EAAE,UAAU,EAAqB,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAIrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAE5D,oBAAY,wBAAwB,GAAG,kBAAkB,CAAC;IACxD,MAAM,EAAE,4CAA4C,CAAA;IACpD,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAC,CAAA;AAEF,qBAAa,yBAAyB,CACpC,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,EAC7D,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,CAC7D,SAAQ,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC;IAClC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,eAAe,EAAE,UAAU,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC,CAAC;IAGpF,IAAW,GAAG,WAEb;IAED,OAAO,CAAC,KAAK,CAA8B;gBAE/B,MAAM,EAAE,CAAC;IAKd,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC;IAMlD,KAAK,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvB,cAAc,CAAC,IAAI,EAAE,MAAM;;;IAY3B,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC;IAQ3D,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC,UAAU,CAAC;IAS3D,IAAI,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,EAAE,KAAK,EAAE,mBAAmB,GAAG,eAAe,CAAC,CAAC,CAAC;IAUvF,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE;IAIrC,MAAM;;;CASpB"}
1
+ {"version":3,"file":"XyoMemoryArchivist.d.ts","sourceRoot":"","sources":["../../src/XyoMemoryArchivist.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAA0B,MAAM,2BAA2B,CAAA;AACnF,OAAO,EAAE,UAAU,EAAqB,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAIrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAE5D,oBAAY,wBAAwB,GAAG,kBAAkB,CAAC;IACxD,MAAM,EAAE,4CAA4C,CAAA;IACpD,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAC,CAAA;AAEF,qBAAa,kBAAkB,CAC7B,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,EAC7D,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,CAC7D,SAAQ,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC;IAClC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,eAAe,EAAE,UAAU,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC,CAAC;IAGpF,IAAW,GAAG,WAEb;IAED,OAAO,CAAC,KAAK,CAA8B;gBAE/B,MAAM,EAAE,CAAC;IAKd,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC;IAMlD,KAAK,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvB,cAAc,CAAC,IAAI,EAAE,MAAM;;;IAY3B,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC;IAQ3D,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC,UAAU,CAAC;IAS3D,IAAI,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,EAAE,KAAK,EAAE,mBAAmB,GAAG,eAAe,CAAC,CAAC,CAAC;IAUvF,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE;IAIrC,MAAM;;;CAWpB"}
@@ -4,7 +4,7 @@ import { XyoPayloadWrapper } from '@xyo-network/payload';
4
4
  import compact from 'lodash/compact';
5
5
  import LruCache from 'lru-cache';
6
6
  import { XyoAbstractArchivist } from './Abstract';
7
- export class XyoMemoryArchivistWrapper extends XyoAbstractArchivist {
7
+ export class XyoMemoryArchivist extends XyoAbstractArchivist {
8
8
  query(_query) {
9
9
  throw new Error('Method not implemented.');
10
10
  }
@@ -25,7 +25,7 @@ export class XyoMemoryArchivistWrapper extends XyoAbstractArchivist {
25
25
  this.cache.clear();
26
26
  }
27
27
  async getFromParents(hash) {
28
- return compact(await Promise.all(compact(this.parents?.read?.map(async (parent) => {
28
+ return compact(await Promise.all(compact(Object.values(this.parents?.read ?? {}).map(async (parent) => {
29
29
  return (await parent?.get([hash]))?.[0] ?? null;
30
30
  }))))[0];
31
31
  }
@@ -59,7 +59,7 @@ export class XyoMemoryArchivistWrapper extends XyoAbstractArchivist {
59
59
  const payloads = assertEx(await this.all(), 'Nothing to commit');
60
60
  const builder = new XyoBoundWitnessBuilder();
61
61
  const block = builder.payloads(payloads).witness(account).build();
62
- const result = await Promise.all(compact(this.parents?.commit?.map(async (parent) => await parent?.insert?.(payloads.concat([block])))));
62
+ const result = await Promise.all(compact(Object.values(this.parents?.commit ?? [])?.map(async (parent) => await parent?.insert?.(payloads.concat([block])))));
63
63
  await this.clear();
64
64
  return result;
65
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"XyoMemoryArchivist.js","sourceRoot":"","sources":["../../src/XyoMemoryArchivist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XyoMemoryArchivist.js","sourceRoot":"","sources":["../../src/XyoMemoryArchivist.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -10,18 +10,18 @@
10
10
  },
11
11
  "dependencies": {
12
12
  "@xylabs/sdk-js": "^2.6.6",
13
- "@xyo-network/account": "^2.26.0",
14
- "@xyo-network/boundwitness": "^2.26.0",
15
- "@xyo-network/module": "^2.26.0",
16
- "@xyo-network/payload": "^2.26.0",
17
- "@xyo-network/promisable": "^2.26.0",
13
+ "@xyo-network/account": "^2.26.3",
14
+ "@xyo-network/boundwitness": "^2.26.3",
15
+ "@xyo-network/module": "^2.26.3",
16
+ "@xyo-network/payload": "^2.26.3",
17
+ "@xyo-network/promisable": "^2.26.3",
18
18
  "lodash": "^4.17.21",
19
19
  "lru-cache": "^7.14.0",
20
20
  "tslib": "^2.4.0"
21
21
  },
22
22
  "description": "Primary SDK for using XYO Protocol 2.0",
23
23
  "devDependencies": {
24
- "@xylabs/tsconfig": "^2.5.117"
24
+ "@xylabs/tsconfig": "^2.5.118"
25
25
  },
26
26
  "browser": "dist/esm/index.js",
27
27
  "docs": "dist/docs.json",
@@ -56,5 +56,5 @@
56
56
  },
57
57
  "sideEffects": false,
58
58
  "types": "dist/esm/index.d.ts",
59
- "version": "2.26.0"
59
+ "version": "2.26.3"
60
60
  }
package/src/Abstract.ts CHANGED
@@ -3,11 +3,10 @@ import { XyoBoundWitness } from '@xyo-network/boundwitness'
3
3
  import { XyoAbstractModule } from '@xyo-network/module'
4
4
  import { XyoPayload } from '@xyo-network/payload'
5
5
  import { NullablePromisableArray, Promisable, PromisableArray } from '@xyo-network/promisable'
6
- import compact from 'lodash/compact'
7
6
 
8
7
  import { Archivist } from './Archivist'
9
8
  import { XyoArchivist, XyoArchivistQueryPayload } from './XyoArchivist'
10
- import { XyoArchivistConfig, XyoResolvedArchivistParents } from './XyoArchivistConfig'
9
+ import { XyoArchivistConfig, XyoArchivistParents } from './XyoArchivistConfig'
11
10
 
12
11
  export abstract class XyoAbstractArchivist<
13
12
  Q extends XyoArchivistQueryPayload = XyoArchivistQueryPayload,
@@ -28,12 +27,22 @@ export abstract class XyoAbstractArchivist<
28
27
  return this.config.resolver
29
28
  }
30
29
 
31
- private _parents?: XyoResolvedArchivistParents
30
+ private resolveArchivists(archivists?: Record<string, XyoArchivist | null | undefined>) {
31
+ const resolved: Record<string, XyoArchivist | null | undefined> = {}
32
+ if (archivists) {
33
+ Object.entries(archivists).forEach(([key, value]) => {
34
+ resolved[key] = value ?? this.resolver?.(key) ?? null
35
+ })
36
+ }
37
+ return resolved
38
+ }
39
+
40
+ private _parents?: XyoArchivistParents
32
41
  get parents() {
33
42
  this._parents = this._parents ?? {
34
- commit: compact(this.config.parents?.commit?.map((parent) => this.resolver?.(parent))),
35
- read: compact(this.config.parents?.read?.map((parent) => this.resolver?.(parent))),
36
- write: compact(this.config.parents?.write?.map((parent) => this.resolver?.(parent))),
43
+ commit: this.resolveArchivists(this.config.parents?.commit),
44
+ read: this.resolveArchivists(this.config.parents?.commit),
45
+ write: this.resolveArchivists(this.config.parents?.commit),
37
46
  }
38
47
  return assertEx(this._parents)
39
48
  }
@@ -5,15 +5,9 @@ import { XyoPayload } from '@xyo-network/payload'
5
5
  import { XyoArchivist, XyoArchivistQueryPayload } from './XyoArchivist'
6
6
 
7
7
  export interface XyoArchivistParents {
8
- read?: string[]
9
- write?: string[]
10
- commit?: string[]
11
- }
12
-
13
- export interface XyoResolvedArchivistParents {
14
- read?: (XyoArchivist | null)[]
15
- write?: (XyoArchivist | null)[]
16
- commit?: (XyoArchivist | null)[]
8
+ read?: Record<string, XyoArchivist | null | undefined>
9
+ write?: Record<string, XyoArchivist | null | undefined>
10
+ commit?: Record<string, XyoArchivist | null | undefined>
17
11
  }
18
12
 
19
13
  export type XyoArchivistConfig<
@@ -15,7 +15,7 @@ export type XyoMemoryArchivistConfig = XyoArchivistConfig<{
15
15
  max?: number
16
16
  }>
17
17
 
18
- export class XyoMemoryArchivistWrapper<
18
+ export class XyoMemoryArchivist<
19
19
  Q extends XyoArchivistQueryPayload = XyoArchivistQueryPayload,
20
20
  C extends XyoMemoryArchivistConfig = XyoMemoryArchivistConfig,
21
21
  > extends XyoAbstractArchivist<Q, C> {
@@ -47,7 +47,7 @@ export class XyoMemoryArchivistWrapper<
47
47
  return compact(
48
48
  await Promise.all(
49
49
  compact(
50
- this.parents?.read?.map(async (parent) => {
50
+ Object.values(this.parents?.read ?? {}).map(async (parent) => {
51
51
  return (await parent?.get([hash]))?.[0] ?? null
52
52
  }),
53
53
  ),
@@ -91,7 +91,9 @@ export class XyoMemoryArchivistWrapper<
91
91
  const payloads = assertEx(await this.all(), 'Nothing to commit')
92
92
  const builder = new XyoBoundWitnessBuilder<XyoBoundWitness, XyoPayload>()
93
93
  const block = builder.payloads(payloads).witness(account).build()
94
- const result = await Promise.all(compact(this.parents?.commit?.map(async (parent) => await parent?.insert?.(payloads.concat([block])))))
94
+ const result = await Promise.all(
95
+ compact(Object.values(this.parents?.commit ?? [])?.map(async (parent) => await parent?.insert?.(payloads.concat([block])))),
96
+ )
95
97
  await this.clear()
96
98
  return result
97
99
  }
@@ -1,24 +0,0 @@
1
- export declare type Promisable<T> = Promise<T> | T;
2
- export declare type PromisableArray<T> = Promisable<T[]>;
3
- export declare type OptionalPromisable<T> = Promisable<T | undefined>;
4
- export declare type OptionalPromisableArray<T> = PromisableArray<T | undefined>;
5
- export declare type NullablePromisable<T> = Promisable<T | null>;
6
- export declare type NullablePromisableArray<T> = PromisableArray<T | null>;
7
- export interface ReadArchivist<TReadResponse, TId = string> {
8
- get(ids: TId[]): NullablePromisableArray<TReadResponse>;
9
- all?(): PromisableArray<TReadResponse>;
10
- }
11
- export interface WriteArchivist<TReadResponse, TWriteResponse = TReadResponse, TWrite = TReadResponse, TId = string> {
12
- insert(item: TWrite[]): PromisableArray<TWriteResponse>;
13
- delete?(ids: TId[]): PromisableArray<boolean>;
14
- clear?(): void;
15
- }
16
- export interface QueryArchivist<TReadResponse, TQueryResponse = TReadResponse, TQuery = unknown> {
17
- find(query: TQuery): PromisableArray<TQueryResponse>;
18
- }
19
- export interface StashArchivist<TReadResponse> {
20
- commit?(): PromisableArray<TReadResponse>;
21
- }
22
- export interface Archivist<TReadResponse, TWriteResponse = TReadResponse, TWrite = TReadResponse, TQueryResponse = TReadResponse, TQuery = unknown, TId = string> extends ReadArchivist<TReadResponse, TId>, QueryArchivist<TReadResponse, TQueryResponse, TQuery>, WriteArchivist<TReadResponse, TWriteResponse, TWrite, TId>, StashArchivist<TReadResponse> {
23
- }
24
- //# sourceMappingURL=Archivist.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Archivist.d.ts","sourceRoot":"","sources":["../../../src/model/Archivist.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAC1C,oBAAY,eAAe,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAA;AAChD,oBAAY,kBAAkB,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;AAC7D,oBAAY,uBAAuB,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;AACvE,oBAAY,kBAAkB,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AACxD,oBAAY,uBAAuB,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AAElE,MAAM,WAAW,aAAa,CAAC,aAAa,EAAE,GAAG,GAAG,MAAM;IACxD,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAA;IACvD,GAAG,CAAC,IAAI,eAAe,CAAC,aAAa,CAAC,CAAA;CACvC;AAED,MAAM,WAAW,cAAc,CAAC,aAAa,EAAE,cAAc,GAAG,aAAa,EAAE,MAAM,GAAG,aAAa,EAAE,GAAG,GAAG,MAAM;IACjH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,cAAc,CAAC,CAAA;IACvD,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IAC7C,KAAK,CAAC,IAAI,IAAI,CAAA;CACf;AAED,MAAM,WAAW,cAAc,CAAC,aAAa,EAAE,cAAc,GAAG,aAAa,EAAE,MAAM,GAAG,OAAO;IAC7F,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC,cAAc,CAAC,CAAA;CACrD;AAED,MAAM,WAAW,cAAc,CAAC,aAAa;IAC3C,MAAM,CAAC,IAAI,eAAe,CAAC,aAAa,CAAC,CAAA;CAC1C;AAED,MAAM,WAAW,SAAS,CACxB,aAAa,EACb,cAAc,GAAG,aAAa,EAC9B,MAAM,GAAG,aAAa,EACtB,cAAc,GAAG,aAAa,EAC9B,MAAM,GAAG,OAAO,EAChB,GAAG,GAAG,MAAM,CACZ,SAAQ,aAAa,CAAC,aAAa,EAAE,GAAG,CAAC,EACvC,cAAc,CAAC,aAAa,EAAE,cAAc,EAAE,MAAM,CAAC,EACrD,cAAc,CAAC,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,CAAC,EAC1D,cAAc,CAAC,aAAa,CAAC;CAAG"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=Archivist.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Archivist.js","sourceRoot":"","sources":["../../../src/model/Archivist.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export * from './Archivist';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./Archivist"), exports);
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B"}
@@ -1,24 +0,0 @@
1
- export declare type Promisable<T> = Promise<T> | T;
2
- export declare type PromisableArray<T> = Promisable<T[]>;
3
- export declare type OptionalPromisable<T> = Promisable<T | undefined>;
4
- export declare type OptionalPromisableArray<T> = PromisableArray<T | undefined>;
5
- export declare type NullablePromisable<T> = Promisable<T | null>;
6
- export declare type NullablePromisableArray<T> = PromisableArray<T | null>;
7
- export interface ReadArchivist<TReadResponse, TId = string> {
8
- get(ids: TId[]): NullablePromisableArray<TReadResponse>;
9
- all?(): PromisableArray<TReadResponse>;
10
- }
11
- export interface WriteArchivist<TReadResponse, TWriteResponse = TReadResponse, TWrite = TReadResponse, TId = string> {
12
- insert(item: TWrite[]): PromisableArray<TWriteResponse>;
13
- delete?(ids: TId[]): PromisableArray<boolean>;
14
- clear?(): void;
15
- }
16
- export interface QueryArchivist<TReadResponse, TQueryResponse = TReadResponse, TQuery = unknown> {
17
- find(query: TQuery): PromisableArray<TQueryResponse>;
18
- }
19
- export interface StashArchivist<TReadResponse> {
20
- commit?(): PromisableArray<TReadResponse>;
21
- }
22
- export interface Archivist<TReadResponse, TWriteResponse = TReadResponse, TWrite = TReadResponse, TQueryResponse = TReadResponse, TQuery = unknown, TId = string> extends ReadArchivist<TReadResponse, TId>, QueryArchivist<TReadResponse, TQueryResponse, TQuery>, WriteArchivist<TReadResponse, TWriteResponse, TWrite, TId>, StashArchivist<TReadResponse> {
23
- }
24
- //# sourceMappingURL=Archivist.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Archivist.d.ts","sourceRoot":"","sources":["../../../src/model/Archivist.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAC1C,oBAAY,eAAe,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAA;AAChD,oBAAY,kBAAkB,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;AAC7D,oBAAY,uBAAuB,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;AACvE,oBAAY,kBAAkB,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AACxD,oBAAY,uBAAuB,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AAElE,MAAM,WAAW,aAAa,CAAC,aAAa,EAAE,GAAG,GAAG,MAAM;IACxD,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAA;IACvD,GAAG,CAAC,IAAI,eAAe,CAAC,aAAa,CAAC,CAAA;CACvC;AAED,MAAM,WAAW,cAAc,CAAC,aAAa,EAAE,cAAc,GAAG,aAAa,EAAE,MAAM,GAAG,aAAa,EAAE,GAAG,GAAG,MAAM;IACjH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,cAAc,CAAC,CAAA;IACvD,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IAC7C,KAAK,CAAC,IAAI,IAAI,CAAA;CACf;AAED,MAAM,WAAW,cAAc,CAAC,aAAa,EAAE,cAAc,GAAG,aAAa,EAAE,MAAM,GAAG,OAAO;IAC7F,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC,cAAc,CAAC,CAAA;CACrD;AAED,MAAM,WAAW,cAAc,CAAC,aAAa;IAC3C,MAAM,CAAC,IAAI,eAAe,CAAC,aAAa,CAAC,CAAA;CAC1C;AAED,MAAM,WAAW,SAAS,CACxB,aAAa,EACb,cAAc,GAAG,aAAa,EAC9B,MAAM,GAAG,aAAa,EACtB,cAAc,GAAG,aAAa,EAC9B,MAAM,GAAG,OAAO,EAChB,GAAG,GAAG,MAAM,CACZ,SAAQ,aAAa,CAAC,aAAa,EAAE,GAAG,CAAC,EACvC,cAAc,CAAC,aAAa,EAAE,cAAc,EAAE,MAAM,CAAC,EACrD,cAAc,CAAC,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,CAAC,EAC1D,cAAc,CAAC,aAAa,CAAC;CAAG"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Archivist.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Archivist.js","sourceRoot":"","sources":["../../../src/model/Archivist.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export * from './Archivist';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './Archivist';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}