@xyo-network/archivist 2.22.7 → 2.22.8

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.
@@ -9,9 +9,9 @@ export declare abstract class XyoArchivistBase<T extends XyoPayload = XyoPayload
9
9
  constructor(parent?: XyoArchivist<T>, account?: XyoAccount);
10
10
  abstract insert(payloads: T[]): T[] | Promise<T[]>;
11
11
  abstract find<R extends T = T>(query: XyoPayloadFindQuery): R[] | Promise<R[]>;
12
- abstract get(hash: string): T | Promise<T | undefined> | undefined;
12
+ abstract get(hash: string[]): (T | null)[] | Promise<(T | null)[]>;
13
13
  all(): T[] | Promise<T[]>;
14
- delete(_hash: string): boolean | Promise<boolean>;
14
+ delete(_hashes: string[]): boolean[] | Promise<boolean[]>;
15
15
  clear(): void | Promise<void>;
16
16
  commit(): void;
17
17
  }
@@ -9,7 +9,7 @@ class XyoArchivistBase {
9
9
  all() {
10
10
  throw Error('getAll not supported');
11
11
  }
12
- delete(_hash) {
12
+ delete(_hashes) {
13
13
  throw Error('delete not supported');
14
14
  }
15
15
  clear() {
@@ -1 +1 @@
1
- {"version":3,"file":"XyoArchivist.js","sourceRoot":"","sources":["../../src/XyoArchivist.ts"],"names":[],"mappings":";;;AAQA,MAAsB,gBAAgB;IAGpC,YAAY,MAAwB,EAAE,OAAoB;QACxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAKM,GAAG;QACR,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;IACM,MAAM,CAAC,KAAa;QACzB,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;IACM,KAAK;QACV,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACpC,CAAC;IACM,MAAM;QACX,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;CACF;AAvBD,4CAuBC"}
1
+ {"version":3,"file":"XyoArchivist.js","sourceRoot":"","sources":["../../src/XyoArchivist.ts"],"names":[],"mappings":";;;AAQA,MAAsB,gBAAgB;IAGpC,YAAY,MAAwB,EAAE,OAAoB;QACxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAKM,GAAG;QACR,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;IACM,MAAM,CAAC,OAAiB;QAC7B,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;IACM,KAAK;QACV,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACpC,CAAC;IACM,MAAM;QACX,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;CACF;AAvBD,4CAuBC"}
@@ -3,9 +3,9 @@ import { XyoArchivistBase } from './XyoArchivist';
3
3
  import { XyoPayloadFindQuery } from './XyoPayloadFindFilter';
4
4
  export declare class XyoMemoryArchivist extends XyoArchivistBase<XyoPayload> {
5
5
  private cache;
6
- delete(hash: string): boolean | Promise<boolean>;
6
+ delete(hashes: string[]): boolean[] | Promise<boolean[]>;
7
7
  clear(): void | Promise<void>;
8
- get(hash: string): XyoPayload | Promise<XyoPayload | undefined> | undefined;
8
+ get(hashes: string[]): Promise<(XyoPayload | null)[]>;
9
9
  insert(payloads: XyoPayload[]): XyoPayload[] | Promise<XyoPayload[]>;
10
10
  find<R extends XyoPayload = XyoPayload>(query: XyoPayloadFindQuery): R[] | Promise<R[]>;
11
11
  commit(): Promise<import("@xyo-network/payload").XyoPayloadBase[] | undefined>;
@@ -12,15 +12,21 @@ class XyoMemoryArchivist extends XyoArchivist_1.XyoArchivistBase {
12
12
  super(...arguments);
13
13
  this.cache = new lru_cache_1.default({ max: 10000 });
14
14
  }
15
- delete(hash) {
16
- return this.cache.delete(hash);
15
+ delete(hashes) {
16
+ return hashes.map((hash) => {
17
+ return this.cache.delete(hash);
18
+ });
17
19
  }
18
20
  clear() {
19
21
  this.cache.clear();
20
22
  }
21
- get(hash) {
22
- var _a, _b;
23
- return (_a = this.cache.get(hash)) !== null && _a !== void 0 ? _a : (_b = this.parent) === null || _b === void 0 ? void 0 : _b.get(hash);
23
+ get(hashes) {
24
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
25
+ return yield Promise.all(hashes.map((hash) => tslib_1.__awaiter(this, void 0, void 0, function* () {
26
+ var _a, _b, _c, _d;
27
+ return (_d = (_a = this.cache.get(hash)) !== null && _a !== void 0 ? _a : (_c = (yield ((_b = this.parent) === null || _b === void 0 ? void 0 : _b.get([hash])))) === null || _c === void 0 ? void 0 : _c.pop()) !== null && _d !== void 0 ? _d : null;
28
+ })));
29
+ });
24
30
  }
25
31
  insert(payloads) {
26
32
  return payloads.map((payload) => {
@@ -1 +1 @@
1
- {"version":3,"file":"XyoMemoryArchivist.js","sourceRoot":"","sources":["../../src/XyoMemoryArchivist.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AACzC,4DAAmF;AACnF,kDAAoE;AACpE,kEAAgC;AAEhC,iDAAiD;AAGjD,MAAa,kBAAmB,SAAQ,+BAA4B;IAApE;;QACU,UAAK,GAAG,IAAI,mBAAQ,CAAqB,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;IA2ClE,CAAC;IAzCQ,MAAM,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;IAEM,GAAG,CAAC,IAAY;;QACrB,OAAO,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,GAAG,CAAC,IAAI,CAAC,CAAA;IACvD,CAAC;IAEM,MAAM,CAAC,QAAsB;QAClC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,MAAM,OAAO,GAAG,IAAI,2BAAiB,CAAC,OAAO,CAAC,CAAA;YAC9C,MAAM,eAAe,mCAAQ,OAAO,KAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAE,CAAA;YACnF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;YACtD,OAAO,eAAe,CAAA;QACxB,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,IAAI,CAAoC,KAA0B;QACvE,MAAM,MAAM,GAAQ,EAAE,CAAA;QACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;gBACxC,MAAM,CAAC,IAAI,CAAC,KAAU,CAAC,CAAA;aACxB;QACH,CAAC,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;IAEY,MAAM;;;YACjB,MAAM,MAAM,GAAG,IAAA,iBAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAA;YACrE,MAAM,OAAO,GAAG,IAAA,iBAAQ,EAAC,IAAI,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAA;YACxE,MAAM,QAAQ,GAAG,IAAA,iBAAQ,EAAC,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAA;YAChE,MAAM,OAAO,GAAG,IAAI,qCAAsB,EAA+B,CAAA;YACzE,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAA;YACjE,MAAM,MAAM,GAAG,MAAM,CAAA,MAAA,MAAM,CAAC,MAAM,uDAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAA;YAC9D,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;YAClB,OAAO,MAAM,CAAA;;KACd;CACF;AA5CD,gDA4CC"}
1
+ {"version":3,"file":"XyoMemoryArchivist.js","sourceRoot":"","sources":["../../src/XyoMemoryArchivist.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AACzC,4DAAmF;AACnF,kDAAoE;AACpE,kEAAgC;AAEhC,iDAAiD;AAGjD,MAAa,kBAAmB,SAAQ,+BAA4B;IAApE;;QACU,UAAK,GAAG,IAAI,mBAAQ,CAAqB,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;IAiDlE,CAAC;IA/CQ,MAAM,CAAC,MAAgB;QAC5B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACzB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;IAEY,GAAG,CAAC,MAAgB;;YAC/B,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,MAAM,CAAC,GAAG,CAAC,CAAO,IAAI,EAAE,EAAE;;gBACxB,OAAO,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAI,MAAA,CAAC,MAAM,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA,CAAC,0CAAE,GAAG,EAAE,mCAAI,IAAI,CAAA;YAChF,CAAC,CAAA,CAAC,CACH,CAAA;QACH,CAAC;KAAA;IAEM,MAAM,CAAC,QAAsB;QAClC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,MAAM,OAAO,GAAG,IAAI,2BAAiB,CAAC,OAAO,CAAC,CAAA;YAC9C,MAAM,eAAe,mCAAQ,OAAO,KAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAE,CAAA;YACnF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;YACtD,OAAO,eAAe,CAAA;QACxB,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,IAAI,CAAoC,KAA0B;QACvE,MAAM,MAAM,GAAQ,EAAE,CAAA;QACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;gBACxC,MAAM,CAAC,IAAI,CAAC,KAAU,CAAC,CAAA;aACxB;QACH,CAAC,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;IAEY,MAAM;;;YACjB,MAAM,MAAM,GAAG,IAAA,iBAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAA;YACrE,MAAM,OAAO,GAAG,IAAA,iBAAQ,EAAC,IAAI,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAA;YACxE,MAAM,QAAQ,GAAG,IAAA,iBAAQ,EAAC,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAA;YAChE,MAAM,OAAO,GAAG,IAAI,qCAAsB,EAA+B,CAAA;YACzE,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAA;YACjE,MAAM,MAAM,GAAG,MAAM,CAAA,MAAA,MAAM,CAAC,MAAM,uDAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAA;YAC9D,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;YAClB,OAAO,MAAM,CAAA;;KACd;CACF;AAlDD,gDAkDC"}
@@ -1,7 +1,8 @@
1
1
  export interface Archivist<TReadResponse, TWriteResponse = TReadResponse, TWrite = TReadResponse, TQueryResponse = TReadResponse, TQuery = unknown, TId = string> {
2
- get(id: TId): Promise<TReadResponse | undefined> | TReadResponse | undefined;
2
+ get(ids: TId[]): Promise<(TReadResponse | null)[]> | (TReadResponse | null)[];
3
+ all?(): Promise<TReadResponse[]> | TReadResponse[];
3
4
  find?(query: TQuery): Promise<TQueryResponse[]> | TQueryResponse[];
4
5
  insert?(item: TWrite[]): Promise<TWriteResponse[]> | TWriteResponse[];
5
- delete?(id: TId): Promise<boolean> | boolean;
6
+ delete?(ids: TId[]): Promise<boolean[]> | boolean[];
6
7
  clear?(): void;
7
8
  }
@@ -9,9 +9,9 @@ export declare abstract class XyoArchivistBase<T extends XyoPayload = XyoPayload
9
9
  constructor(parent?: XyoArchivist<T>, account?: XyoAccount);
10
10
  abstract insert(payloads: T[]): T[] | Promise<T[]>;
11
11
  abstract find<R extends T = T>(query: XyoPayloadFindQuery): R[] | Promise<R[]>;
12
- abstract get(hash: string): T | Promise<T | undefined> | undefined;
12
+ abstract get(hash: string[]): (T | null)[] | Promise<(T | null)[]>;
13
13
  all(): T[] | Promise<T[]>;
14
- delete(_hash: string): boolean | Promise<boolean>;
14
+ delete(_hashes: string[]): boolean[] | Promise<boolean[]>;
15
15
  clear(): void | Promise<void>;
16
16
  commit(): void;
17
17
  }
@@ -6,7 +6,7 @@ export class XyoArchivistBase {
6
6
  all() {
7
7
  throw Error('getAll not supported');
8
8
  }
9
- delete(_hash) {
9
+ delete(_hashes) {
10
10
  throw Error('delete not supported');
11
11
  }
12
12
  clear() {
@@ -1 +1 @@
1
- {"version":3,"file":"XyoArchivist.js","sourceRoot":"","sources":["../../src/XyoArchivist.ts"],"names":[],"mappings":"AAQA,MAAM,OAAgB,gBAAgB;IAGpC,YAAY,MAAwB,EAAE,OAAoB;QACxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAKM,GAAG;QACR,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;IACM,MAAM,CAAC,KAAa;QACzB,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;IACM,KAAK;QACV,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACpC,CAAC;IACM,MAAM;QACX,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;CACF"}
1
+ {"version":3,"file":"XyoArchivist.js","sourceRoot":"","sources":["../../src/XyoArchivist.ts"],"names":[],"mappings":"AAQA,MAAM,OAAgB,gBAAgB;IAGpC,YAAY,MAAwB,EAAE,OAAoB;QACxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAKM,GAAG;QACR,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;IACM,MAAM,CAAC,OAAiB;QAC7B,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;IACM,KAAK;QACV,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACpC,CAAC;IACM,MAAM;QACX,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;CACF"}
@@ -3,9 +3,9 @@ import { XyoArchivistBase } from './XyoArchivist';
3
3
  import { XyoPayloadFindQuery } from './XyoPayloadFindFilter';
4
4
  export declare class XyoMemoryArchivist extends XyoArchivistBase<XyoPayload> {
5
5
  private cache;
6
- delete(hash: string): boolean | Promise<boolean>;
6
+ delete(hashes: string[]): boolean[] | Promise<boolean[]>;
7
7
  clear(): void | Promise<void>;
8
- get(hash: string): XyoPayload | Promise<XyoPayload | undefined> | undefined;
8
+ get(hashes: string[]): Promise<(XyoPayload | null)[]>;
9
9
  insert(payloads: XyoPayload[]): XyoPayload[] | Promise<XyoPayload[]>;
10
10
  find<R extends XyoPayload = XyoPayload>(query: XyoPayloadFindQuery): R[] | Promise<R[]>;
11
11
  commit(): Promise<import("@xyo-network/payload").XyoPayloadBase[] | undefined>;
@@ -8,14 +8,18 @@ export class XyoMemoryArchivist extends XyoArchivistBase {
8
8
  super(...arguments);
9
9
  this.cache = new LruCache({ max: 10000 });
10
10
  }
11
- delete(hash) {
12
- return this.cache.delete(hash);
11
+ delete(hashes) {
12
+ return hashes.map((hash) => {
13
+ return this.cache.delete(hash);
14
+ });
13
15
  }
14
16
  clear() {
15
17
  this.cache.clear();
16
18
  }
17
- get(hash) {
18
- return this.cache.get(hash) ?? this.parent?.get(hash);
19
+ async get(hashes) {
20
+ return await Promise.all(hashes.map(async (hash) => {
21
+ return this.cache.get(hash) ?? (await this.parent?.get([hash]))?.pop() ?? null;
22
+ }));
19
23
  }
20
24
  insert(payloads) {
21
25
  return payloads.map((payload) => {
@@ -1 +1 @@
1
- {"version":3,"file":"XyoMemoryArchivist.js","sourceRoot":"","sources":["../../src/XyoMemoryArchivist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAmB,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AACnF,OAAO,EAAc,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,QAAQ,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAGjD,MAAM,OAAO,kBAAmB,SAAQ,gBAA4B;IAApE;;QACU,UAAK,GAAG,IAAI,QAAQ,CAAqB,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;IA2ClE,CAAC;IAzCQ,MAAM,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;IAEM,GAAG,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;IACvD,CAAC;IAEM,MAAM,CAAC,QAAsB;QAClC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAA;YAC9C,MAAM,eAAe,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;YACnF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;YACtD,OAAO,eAAe,CAAA;QACxB,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,IAAI,CAAoC,KAA0B;QACvE,MAAM,MAAM,GAAQ,EAAE,CAAA;QACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;gBACxC,MAAM,CAAC,IAAI,CAAC,KAAU,CAAC,CAAA;aACxB;QACH,CAAC,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,KAAK,CAAC,MAAM;QACjB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAA;QACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAA;QACxE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAA;QAChE,MAAM,OAAO,GAAG,IAAI,sBAAsB,EAA+B,CAAA;QACzE,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAA;QACjE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC9D,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAClB,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"XyoMemoryArchivist.js","sourceRoot":"","sources":["../../src/XyoMemoryArchivist.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  export interface Archivist<TReadResponse, TWriteResponse = TReadResponse, TWrite = TReadResponse, TQueryResponse = TReadResponse, TQuery = unknown, TId = string> {
2
- get(id: TId): Promise<TReadResponse | undefined> | TReadResponse | undefined;
2
+ get(ids: TId[]): Promise<(TReadResponse | null)[]> | (TReadResponse | null)[];
3
+ all?(): Promise<TReadResponse[]> | TReadResponse[];
3
4
  find?(query: TQuery): Promise<TQueryResponse[]> | TQueryResponse[];
4
5
  insert?(item: TWrite[]): Promise<TWriteResponse[]> | TWriteResponse[];
5
- delete?(id: TId): Promise<boolean> | boolean;
6
+ delete?(ids: TId[]): Promise<boolean[]> | boolean[];
6
7
  clear?(): void;
7
8
  }
package/package.json CHANGED
@@ -10,10 +10,10 @@
10
10
  },
11
11
  "dependencies": {
12
12
  "@xylabs/sdk-js": "^2.6.2",
13
- "@xyo-network/account": "^2.22.7",
14
- "@xyo-network/boundwitness": "^2.22.7",
15
- "@xyo-network/core": "^2.22.7",
16
- "@xyo-network/payload": "^2.22.7",
13
+ "@xyo-network/account": "^2.22.8",
14
+ "@xyo-network/boundwitness": "^2.22.8",
15
+ "@xyo-network/core": "^2.22.8",
16
+ "@xyo-network/payload": "^2.22.8",
17
17
  "axios": "^0.27.2",
18
18
  "lru-cache": "^7.13.1",
19
19
  "pako": "^2.0.4"
@@ -56,6 +56,6 @@
56
56
  },
57
57
  "sideEffects": true,
58
58
  "types": "dist/esm/index.d.ts",
59
- "version": "2.22.7",
59
+ "version": "2.22.8",
60
60
  "packageManager": "yarn@3.1.1"
61
61
  }
@@ -16,11 +16,11 @@ export abstract class XyoArchivistBase<T extends XyoPayload = XyoPayload> implem
16
16
 
17
17
  abstract insert(payloads: T[]): T[] | Promise<T[]>
18
18
  abstract find<R extends T = T>(query: XyoPayloadFindQuery): R[] | Promise<R[]>
19
- abstract get(hash: string): T | Promise<T | undefined> | undefined
19
+ abstract get(hash: string[]): (T | null)[] | Promise<(T | null)[]>
20
20
  public all(): T[] | Promise<T[]> {
21
21
  throw Error('getAll not supported')
22
22
  }
23
- public delete(_hash: string): boolean | Promise<boolean> {
23
+ public delete(_hashes: string[]): boolean[] | Promise<boolean[]> {
24
24
  throw Error('delete not supported')
25
25
  }
26
26
  public clear(): void | Promise<void> {
@@ -9,16 +9,22 @@ import { XyoPayloadFindQuery } from './XyoPayloadFindFilter'
9
9
  export class XyoMemoryArchivist extends XyoArchivistBase<XyoPayload> {
10
10
  private cache = new LruCache<string, XyoPayload>({ max: 10000 })
11
11
 
12
- public delete(hash: string): boolean | Promise<boolean> {
13
- return this.cache.delete(hash)
12
+ public delete(hashes: string[]): boolean[] | Promise<boolean[]> {
13
+ return hashes.map((hash) => {
14
+ return this.cache.delete(hash)
15
+ })
14
16
  }
15
17
 
16
18
  public clear(): void | Promise<void> {
17
19
  this.cache.clear()
18
20
  }
19
21
 
20
- public get(hash: string): XyoPayload | Promise<XyoPayload | undefined> | undefined {
21
- return this.cache.get(hash) ?? this.parent?.get(hash)
22
+ public async get(hashes: string[]): Promise<(XyoPayload | null)[]> {
23
+ return await Promise.all(
24
+ hashes.map(async (hash) => {
25
+ return this.cache.get(hash) ?? (await this.parent?.get([hash]))?.pop() ?? null
26
+ })
27
+ )
22
28
  }
23
29
 
24
30
  public insert(payloads: XyoPayload[]): XyoPayload[] | Promise<XyoPayload[]> {
@@ -1,7 +1,8 @@
1
1
  export interface Archivist<TReadResponse, TWriteResponse = TReadResponse, TWrite = TReadResponse, TQueryResponse = TReadResponse, TQuery = unknown, TId = string> {
2
- get(id: TId): Promise<TReadResponse | undefined> | TReadResponse | undefined
2
+ get(ids: TId[]): Promise<(TReadResponse | null)[]> | (TReadResponse | null)[]
3
+ all?(): Promise<TReadResponse[]> | TReadResponse[]
3
4
  find?(query: TQuery): Promise<TQueryResponse[]> | TQueryResponse[]
4
5
  insert?(item: TWrite[]): Promise<TWriteResponse[]> | TWriteResponse[]
5
- delete?(id: TId): Promise<boolean> | boolean
6
+ delete?(ids: TId[]): Promise<boolean[]> | boolean[]
6
7
  clear?(): void
7
8
  }