@xyo-network/archivist-memory 2.85.5

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 (65) hide show
  1. package/LICENSE +165 -0
  2. package/README.md +13 -0
  3. package/dist/browser/CookieArchivist.d.cts +32 -0
  4. package/dist/browser/CookieArchivist.d.cts.map +1 -0
  5. package/dist/browser/CookieArchivist.d.mts +32 -0
  6. package/dist/browser/CookieArchivist.d.mts.map +1 -0
  7. package/dist/browser/CookieArchivist.d.ts +32 -0
  8. package/dist/browser/CookieArchivist.d.ts.map +1 -0
  9. package/dist/browser/MemoryArchivist.d.cts +31 -0
  10. package/dist/browser/MemoryArchivist.d.cts.map +1 -0
  11. package/dist/browser/MemoryArchivist.d.mts +31 -0
  12. package/dist/browser/MemoryArchivist.d.mts.map +1 -0
  13. package/dist/browser/MemoryArchivist.d.ts +31 -0
  14. package/dist/browser/MemoryArchivist.d.ts.map +1 -0
  15. package/dist/browser/StorageArchivist.d.cts +39 -0
  16. package/dist/browser/StorageArchivist.d.cts.map +1 -0
  17. package/dist/browser/StorageArchivist.d.mts +39 -0
  18. package/dist/browser/StorageArchivist.d.mts.map +1 -0
  19. package/dist/browser/StorageArchivist.d.ts +39 -0
  20. package/dist/browser/StorageArchivist.d.ts.map +1 -0
  21. package/dist/browser/index.cjs +136 -0
  22. package/dist/browser/index.cjs.map +1 -0
  23. package/dist/browser/index.d.cts +2 -0
  24. package/dist/browser/index.d.cts.map +1 -0
  25. package/dist/browser/index.d.mts +2 -0
  26. package/dist/browser/index.d.mts.map +1 -0
  27. package/dist/browser/index.d.ts +2 -0
  28. package/dist/browser/index.d.ts.map +1 -0
  29. package/dist/browser/index.js +115 -0
  30. package/dist/browser/index.js.map +1 -0
  31. package/dist/node/CookieArchivist.d.cts +32 -0
  32. package/dist/node/CookieArchivist.d.cts.map +1 -0
  33. package/dist/node/CookieArchivist.d.mts +32 -0
  34. package/dist/node/CookieArchivist.d.mts.map +1 -0
  35. package/dist/node/CookieArchivist.d.ts +32 -0
  36. package/dist/node/CookieArchivist.d.ts.map +1 -0
  37. package/dist/node/MemoryArchivist.d.cts +31 -0
  38. package/dist/node/MemoryArchivist.d.cts.map +1 -0
  39. package/dist/node/MemoryArchivist.d.mts +31 -0
  40. package/dist/node/MemoryArchivist.d.mts.map +1 -0
  41. package/dist/node/MemoryArchivist.d.ts +31 -0
  42. package/dist/node/MemoryArchivist.d.ts.map +1 -0
  43. package/dist/node/StorageArchivist.d.cts +39 -0
  44. package/dist/node/StorageArchivist.d.cts.map +1 -0
  45. package/dist/node/StorageArchivist.d.mts +39 -0
  46. package/dist/node/StorageArchivist.d.mts.map +1 -0
  47. package/dist/node/StorageArchivist.d.ts +39 -0
  48. package/dist/node/StorageArchivist.d.ts.map +1 -0
  49. package/dist/node/index.cjs +148 -0
  50. package/dist/node/index.cjs.map +1 -0
  51. package/dist/node/index.d.cts +2 -0
  52. package/dist/node/index.d.cts.map +1 -0
  53. package/dist/node/index.d.mts +2 -0
  54. package/dist/node/index.d.mts.map +1 -0
  55. package/dist/node/index.d.ts +2 -0
  56. package/dist/node/index.d.ts.map +1 -0
  57. package/dist/node/index.js +122 -0
  58. package/dist/node/index.js.map +1 -0
  59. package/package.json +79 -0
  60. package/src/CookieArchivist.ts +164 -0
  61. package/src/MemoryArchivist.ts +126 -0
  62. package/src/StorageArchivist.ts +191 -0
  63. package/src/index.ts +1 -0
  64. package/src/spec/testArchivist.ts +50 -0
  65. package/typedoc.json +5 -0
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/index.ts
22
+ var src_exports = {};
23
+ __export(src_exports, {
24
+ MemoryArchivist: () => MemoryArchivist,
25
+ MemoryArchivistConfigSchema: () => MemoryArchivistConfigSchema
26
+ });
27
+ module.exports = __toCommonJS(src_exports);
28
+
29
+ // src/MemoryArchivist.ts
30
+ var import_assert = require("@xylabs/assert");
31
+ var import_lodash = require("@xylabs/lodash");
32
+ var import_promise = require("@xylabs/promise");
33
+ var import_archivist_abstract = require("@xyo-network/archivist-abstract");
34
+ var import_archivist_model = require("@xyo-network/archivist-model");
35
+ var import_hash = require("@xyo-network/hash");
36
+ var import_module_model = require("@xyo-network/module-model");
37
+ var import_payload_wrapper = require("@xyo-network/payload-wrapper");
38
+ var import_lru_cache = require("lru-cache");
39
+ function _ts_decorate(decorators, target, key, desc) {
40
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
41
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
42
+ r = Reflect.decorate(decorators, target, key, desc);
43
+ else
44
+ for (var i = decorators.length - 1; i >= 0; i--)
45
+ if (d = decorators[i])
46
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
47
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
48
+ }
49
+ __name(_ts_decorate, "_ts_decorate");
50
+ var MemoryArchivistConfigSchema = "network.xyo.archivist.memory.config";
51
+ var MemoryArchivist = class extends import_archivist_abstract.AbstractArchivist {
52
+ static {
53
+ __name(this, "MemoryArchivist");
54
+ }
55
+ static configSchemas = [
56
+ MemoryArchivistConfigSchema,
57
+ import_archivist_model.ArchivistConfigSchema
58
+ ];
59
+ _cache;
60
+ get cache() {
61
+ this._cache = this._cache ?? new import_lru_cache.LRUCache({
62
+ max: this.max
63
+ });
64
+ return this._cache;
65
+ }
66
+ get max() {
67
+ return this.config?.max ?? 1e4;
68
+ }
69
+ get queries() {
70
+ return [
71
+ import_archivist_model.ArchivistAllQuerySchema,
72
+ import_archivist_model.ArchivistDeleteQuerySchema,
73
+ import_archivist_model.ArchivistClearQuerySchema,
74
+ import_archivist_model.ArchivistInsertQuerySchema,
75
+ import_archivist_model.ArchivistCommitQuerySchema,
76
+ ...super.queries
77
+ ];
78
+ }
79
+ allHandler() {
80
+ return (0, import_lodash.compact)(this.cache.dump().map((value) => import_hash.PayloadHasher.hashFields(value[1].value)));
81
+ }
82
+ clearHandler() {
83
+ this.cache.clear();
84
+ return this.emit("cleared", {
85
+ module: this
86
+ });
87
+ }
88
+ async commitHandler() {
89
+ const payloads = (0, import_assert.assertEx)(await this.allHandler(), "Nothing to commit");
90
+ const settled = await Promise.allSettled((0, import_lodash.compact)(Object.values((await this.parents()).commit ?? [])?.map(async (parent) => {
91
+ const queryPayload = {
92
+ schema: import_archivist_model.ArchivistInsertQuerySchema
93
+ };
94
+ const query = await this.bindQuery(queryPayload, payloads);
95
+ return (await parent?.query(query[0], query[1]))?.[0];
96
+ })));
97
+ await this.clearHandler();
98
+ return (0, import_lodash.compact)(settled.filter(import_promise.fulfilled).map((result) => result.value));
99
+ }
100
+ async deleteHandler(hashes) {
101
+ const payloadPairs = await Promise.all((await this.get(hashes)).map(async (payload) => [
102
+ await import_hash.PayloadHasher.hashAsync(payload),
103
+ payload
104
+ ]));
105
+ const deletedPairs = (0, import_lodash.compact)(await Promise.all(payloadPairs.map(([hash, payload]) => {
106
+ return this.cache.delete(hash) ? [
107
+ hash,
108
+ payload
109
+ ] : void 0;
110
+ })));
111
+ return deletedPairs.map(([hash]) => hash);
112
+ }
113
+ getHandler(hashes) {
114
+ return (0, import_lodash.compact)(hashes.map((hash) => this.cache.get(hash)));
115
+ }
116
+ async insertHandler(payloads) {
117
+ const insertedPayloads = await Promise.all(payloads.map((payload) => {
118
+ return this.insertPayloadIntoCache(payload);
119
+ }));
120
+ return insertedPayloads;
121
+ }
122
+ async insertPayloadIntoCache(payload) {
123
+ const wrapper = import_payload_wrapper.PayloadWrapper.wrap(payload);
124
+ const payloadWithMeta = {
125
+ ...import_hash.PayloadHasher.hashFields(payload),
126
+ _hash: await wrapper.hashAsync(),
127
+ _timestamp: Date.now()
128
+ };
129
+ this.cache.set(payloadWithMeta._hash, payloadWithMeta);
130
+ return payload;
131
+ }
132
+ };
133
+ MemoryArchivist = _ts_decorate([
134
+ (0, import_module_model.creatableModule)()
135
+ ], MemoryArchivist);
136
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/index.ts","../../src/MemoryArchivist.ts"],"sourcesContent":["export * from './MemoryArchivist'\n","import { assertEx } from '@xylabs/assert'\nimport { compact } from '@xylabs/lodash'\nimport { fulfilled, Promisable, PromisableArray } from '@xylabs/promise'\nimport { AbstractArchivist } from '@xyo-network/archivist-abstract'\nimport {\n ArchivistAllQuerySchema,\n ArchivistClearQuerySchema,\n ArchivistCommitQuerySchema,\n ArchivistConfig,\n ArchivistConfigSchema,\n ArchivistDeleteQuerySchema,\n ArchivistInsertQuery,\n ArchivistInsertQuerySchema,\n ArchivistInstance,\n ArchivistModuleEventData,\n} from '@xyo-network/archivist-model'\nimport { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { AnyConfigSchema, creatableModule, ModuleInstance, ModuleParams } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\nimport { LRUCache } from 'lru-cache'\n\nexport type MemoryArchivistConfigSchema = 'network.xyo.archivist.memory.config'\nexport const MemoryArchivistConfigSchema: MemoryArchivistConfigSchema = 'network.xyo.archivist.memory.config'\n\nexport type MemoryArchivistConfig = ArchivistConfig<{\n max?: number\n schema: MemoryArchivistConfigSchema | ArchivistConfig['schema']\n}>\n\nexport type MemoryArchivistParams<TConfig extends AnyConfigSchema<MemoryArchivistConfig> = AnyConfigSchema<MemoryArchivistConfig>> =\n ModuleParams<TConfig>\n@creatableModule()\nexport class MemoryArchivist<\n TParams extends MemoryArchivistParams<AnyConfigSchema<MemoryArchivistConfig>> = MemoryArchivistParams,\n TEventData extends ArchivistModuleEventData = ArchivistModuleEventData,\n >\n extends AbstractArchivist<TParams, TEventData>\n implements ArchivistInstance, ModuleInstance\n{\n static override configSchemas = [MemoryArchivistConfigSchema, ArchivistConfigSchema]\n\n private _cache?: LRUCache<string, Payload>\n\n get cache() {\n this._cache = this._cache ?? new LRUCache<string, Payload>({ max: this.max })\n return this._cache\n }\n\n get max() {\n return this.config?.max ?? 10_000\n }\n\n override get queries() {\n return [\n ArchivistAllQuerySchema,\n ArchivistDeleteQuerySchema,\n ArchivistClearQuerySchema,\n ArchivistInsertQuerySchema,\n ArchivistCommitQuerySchema,\n ...super.queries,\n ]\n }\n\n protected override allHandler(): PromisableArray<Payload> {\n return compact(this.cache.dump().map((value) => PayloadHasher.hashFields(value[1].value)))\n }\n\n protected override clearHandler(): void | Promise<void> {\n this.cache.clear()\n return this.emit('cleared', { module: this })\n }\n\n protected override async commitHandler(): Promise<BoundWitness[]> {\n const payloads = assertEx(await this.allHandler(), 'Nothing to commit')\n const settled = await Promise.allSettled(\n compact(\n Object.values((await this.parents()).commit ?? [])?.map(async (parent) => {\n const queryPayload: ArchivistInsertQuery = {\n schema: ArchivistInsertQuerySchema,\n }\n const query = await this.bindQuery(queryPayload, payloads)\n return (await parent?.query(query[0], query[1]))?.[0]\n }),\n ),\n )\n await this.clearHandler()\n return compact(settled.filter(fulfilled).map((result) => result.value))\n }\n\n protected override async deleteHandler(hashes: string[]): Promise<string[]> {\n const payloadPairs: [string, Payload][] = await Promise.all(\n (await this.get(hashes)).map<Promise<[string, Payload]>>(async (payload) => [await PayloadHasher.hashAsync(payload), payload]),\n )\n const deletedPairs: [string, Payload][] = compact(\n await Promise.all(\n payloadPairs.map<[string, Payload] | undefined>(([hash, payload]) => {\n return this.cache.delete(hash) ? [hash, payload] : undefined\n }),\n ),\n )\n return deletedPairs.map(([hash]) => hash)\n }\n\n protected override getHandler(hashes: string[]): Promisable<Payload[]> {\n return compact(hashes.map((hash) => this.cache.get(hash)))\n }\n\n protected override async insertHandler(payloads: Payload[]): Promise<Payload[]> {\n const insertedPayloads = await Promise.all(\n payloads.map((payload) => {\n return this.insertPayloadIntoCache(payload)\n }),\n )\n\n return insertedPayloads\n }\n\n private async insertPayloadIntoCache(payload: Payload): Promise<Payload> {\n const wrapper = PayloadWrapper.wrap(payload)\n const payloadWithMeta = { ...PayloadHasher.hashFields(payload), _hash: await wrapper.hashAsync(), _timestamp: Date.now() }\n this.cache.set(payloadWithMeta._hash, payloadWithMeta)\n return payload\n }\n}\n"],"mappings":"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","names":["MemoryArchivistConfigSchema","MemoryArchivist","AbstractArchivist","configSchemas","ArchivistConfigSchema","_cache","cache","LRUCache","max","config","queries","ArchivistAllQuerySchema","ArchivistDeleteQuerySchema","ArchivistClearQuerySchema","ArchivistInsertQuerySchema","ArchivistCommitQuerySchema","allHandler","compact","dump","map","value","PayloadHasher","hashFields","clearHandler","clear","emit","module","commitHandler","payloads","assertEx","settled","Promise","allSettled","Object","values","parents","commit","parent","queryPayload","schema","query","bindQuery","filter","fulfilled","result","deleteHandler","hashes","payloadPairs","all","get","payload","hashAsync","deletedPairs","hash","delete","undefined","getHandler","insertHandler","insertedPayloads","insertPayloadIntoCache","wrapper","PayloadWrapper","wrap","payloadWithMeta","_hash","_timestamp","Date","now","set","creatableModule"]}
@@ -0,0 +1,2 @@
1
+ export * from './MemoryArchivist';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './MemoryArchivist';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './MemoryArchivist';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,115 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+
4
+ // src/MemoryArchivist.ts
5
+ import { assertEx } from "@xylabs/assert";
6
+ import { compact } from "@xylabs/lodash";
7
+ import { fulfilled } from "@xylabs/promise";
8
+ import { AbstractArchivist } from "@xyo-network/archivist-abstract";
9
+ import { ArchivistAllQuerySchema, ArchivistClearQuerySchema, ArchivistCommitQuerySchema, ArchivistConfigSchema, ArchivistDeleteQuerySchema, ArchivistInsertQuerySchema } from "@xyo-network/archivist-model";
10
+ import { PayloadHasher } from "@xyo-network/hash";
11
+ import { creatableModule } from "@xyo-network/module-model";
12
+ import { PayloadWrapper } from "@xyo-network/payload-wrapper";
13
+ import { LRUCache } from "lru-cache";
14
+ function _ts_decorate(decorators, target, key, desc) {
15
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
16
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
17
+ r = Reflect.decorate(decorators, target, key, desc);
18
+ else
19
+ for (var i = decorators.length - 1; i >= 0; i--)
20
+ if (d = decorators[i])
21
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ }
24
+ __name(_ts_decorate, "_ts_decorate");
25
+ var MemoryArchivistConfigSchema = "network.xyo.archivist.memory.config";
26
+ var MemoryArchivist = class extends AbstractArchivist {
27
+ static {
28
+ __name(this, "MemoryArchivist");
29
+ }
30
+ static configSchemas = [
31
+ MemoryArchivistConfigSchema,
32
+ ArchivistConfigSchema
33
+ ];
34
+ _cache;
35
+ get cache() {
36
+ this._cache = this._cache ?? new LRUCache({
37
+ max: this.max
38
+ });
39
+ return this._cache;
40
+ }
41
+ get max() {
42
+ return this.config?.max ?? 1e4;
43
+ }
44
+ get queries() {
45
+ return [
46
+ ArchivistAllQuerySchema,
47
+ ArchivistDeleteQuerySchema,
48
+ ArchivistClearQuerySchema,
49
+ ArchivistInsertQuerySchema,
50
+ ArchivistCommitQuerySchema,
51
+ ...super.queries
52
+ ];
53
+ }
54
+ allHandler() {
55
+ return compact(this.cache.dump().map((value) => PayloadHasher.hashFields(value[1].value)));
56
+ }
57
+ clearHandler() {
58
+ this.cache.clear();
59
+ return this.emit("cleared", {
60
+ module: this
61
+ });
62
+ }
63
+ async commitHandler() {
64
+ const payloads = assertEx(await this.allHandler(), "Nothing to commit");
65
+ const settled = await Promise.allSettled(compact(Object.values((await this.parents()).commit ?? [])?.map(async (parent) => {
66
+ const queryPayload = {
67
+ schema: ArchivistInsertQuerySchema
68
+ };
69
+ const query = await this.bindQuery(queryPayload, payloads);
70
+ return (await parent?.query(query[0], query[1]))?.[0];
71
+ })));
72
+ await this.clearHandler();
73
+ return compact(settled.filter(fulfilled).map((result) => result.value));
74
+ }
75
+ async deleteHandler(hashes) {
76
+ const payloadPairs = await Promise.all((await this.get(hashes)).map(async (payload) => [
77
+ await PayloadHasher.hashAsync(payload),
78
+ payload
79
+ ]));
80
+ const deletedPairs = compact(await Promise.all(payloadPairs.map(([hash, payload]) => {
81
+ return this.cache.delete(hash) ? [
82
+ hash,
83
+ payload
84
+ ] : void 0;
85
+ })));
86
+ return deletedPairs.map(([hash]) => hash);
87
+ }
88
+ getHandler(hashes) {
89
+ return compact(hashes.map((hash) => this.cache.get(hash)));
90
+ }
91
+ async insertHandler(payloads) {
92
+ const insertedPayloads = await Promise.all(payloads.map((payload) => {
93
+ return this.insertPayloadIntoCache(payload);
94
+ }));
95
+ return insertedPayloads;
96
+ }
97
+ async insertPayloadIntoCache(payload) {
98
+ const wrapper = PayloadWrapper.wrap(payload);
99
+ const payloadWithMeta = {
100
+ ...PayloadHasher.hashFields(payload),
101
+ _hash: await wrapper.hashAsync(),
102
+ _timestamp: Date.now()
103
+ };
104
+ this.cache.set(payloadWithMeta._hash, payloadWithMeta);
105
+ return payload;
106
+ }
107
+ };
108
+ MemoryArchivist = _ts_decorate([
109
+ creatableModule()
110
+ ], MemoryArchivist);
111
+ export {
112
+ MemoryArchivist,
113
+ MemoryArchivistConfigSchema
114
+ };
115
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/MemoryArchivist.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { compact } from '@xylabs/lodash'\nimport { fulfilled, Promisable, PromisableArray } from '@xylabs/promise'\nimport { AbstractArchivist } from '@xyo-network/archivist-abstract'\nimport {\n ArchivistAllQuerySchema,\n ArchivistClearQuerySchema,\n ArchivistCommitQuerySchema,\n ArchivistConfig,\n ArchivistConfigSchema,\n ArchivistDeleteQuerySchema,\n ArchivistInsertQuery,\n ArchivistInsertQuerySchema,\n ArchivistInstance,\n ArchivistModuleEventData,\n} from '@xyo-network/archivist-model'\nimport { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { AnyConfigSchema, creatableModule, ModuleInstance, ModuleParams } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\nimport { LRUCache } from 'lru-cache'\n\nexport type MemoryArchivistConfigSchema = 'network.xyo.archivist.memory.config'\nexport const MemoryArchivistConfigSchema: MemoryArchivistConfigSchema = 'network.xyo.archivist.memory.config'\n\nexport type MemoryArchivistConfig = ArchivistConfig<{\n max?: number\n schema: MemoryArchivistConfigSchema | ArchivistConfig['schema']\n}>\n\nexport type MemoryArchivistParams<TConfig extends AnyConfigSchema<MemoryArchivistConfig> = AnyConfigSchema<MemoryArchivistConfig>> =\n ModuleParams<TConfig>\n@creatableModule()\nexport class MemoryArchivist<\n TParams extends MemoryArchivistParams<AnyConfigSchema<MemoryArchivistConfig>> = MemoryArchivistParams,\n TEventData extends ArchivistModuleEventData = ArchivistModuleEventData,\n >\n extends AbstractArchivist<TParams, TEventData>\n implements ArchivistInstance, ModuleInstance\n{\n static override configSchemas = [MemoryArchivistConfigSchema, ArchivistConfigSchema]\n\n private _cache?: LRUCache<string, Payload>\n\n get cache() {\n this._cache = this._cache ?? new LRUCache<string, Payload>({ max: this.max })\n return this._cache\n }\n\n get max() {\n return this.config?.max ?? 10_000\n }\n\n override get queries() {\n return [\n ArchivistAllQuerySchema,\n ArchivistDeleteQuerySchema,\n ArchivistClearQuerySchema,\n ArchivistInsertQuerySchema,\n ArchivistCommitQuerySchema,\n ...super.queries,\n ]\n }\n\n protected override allHandler(): PromisableArray<Payload> {\n return compact(this.cache.dump().map((value) => PayloadHasher.hashFields(value[1].value)))\n }\n\n protected override clearHandler(): void | Promise<void> {\n this.cache.clear()\n return this.emit('cleared', { module: this })\n }\n\n protected override async commitHandler(): Promise<BoundWitness[]> {\n const payloads = assertEx(await this.allHandler(), 'Nothing to commit')\n const settled = await Promise.allSettled(\n compact(\n Object.values((await this.parents()).commit ?? [])?.map(async (parent) => {\n const queryPayload: ArchivistInsertQuery = {\n schema: ArchivistInsertQuerySchema,\n }\n const query = await this.bindQuery(queryPayload, payloads)\n return (await parent?.query(query[0], query[1]))?.[0]\n }),\n ),\n )\n await this.clearHandler()\n return compact(settled.filter(fulfilled).map((result) => result.value))\n }\n\n protected override async deleteHandler(hashes: string[]): Promise<string[]> {\n const payloadPairs: [string, Payload][] = await Promise.all(\n (await this.get(hashes)).map<Promise<[string, Payload]>>(async (payload) => [await PayloadHasher.hashAsync(payload), payload]),\n )\n const deletedPairs: [string, Payload][] = compact(\n await Promise.all(\n payloadPairs.map<[string, Payload] | undefined>(([hash, payload]) => {\n return this.cache.delete(hash) ? [hash, payload] : undefined\n }),\n ),\n )\n return deletedPairs.map(([hash]) => hash)\n }\n\n protected override getHandler(hashes: string[]): Promisable<Payload[]> {\n return compact(hashes.map((hash) => this.cache.get(hash)))\n }\n\n protected override async insertHandler(payloads: Payload[]): Promise<Payload[]> {\n const insertedPayloads = await Promise.all(\n payloads.map((payload) => {\n return this.insertPayloadIntoCache(payload)\n }),\n )\n\n return insertedPayloads\n }\n\n private async insertPayloadIntoCache(payload: Payload): Promise<Payload> {\n const wrapper = PayloadWrapper.wrap(payload)\n const payloadWithMeta = { ...PayloadHasher.hashFields(payload), _hash: await wrapper.hashAsync(), _timestamp: Date.now() }\n this.cache.set(payloadWithMeta._hash, payloadWithMeta)\n return payload\n }\n}\n"],"mappings":"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","names":["assertEx","compact","fulfilled","AbstractArchivist","ArchivistAllQuerySchema","ArchivistClearQuerySchema","ArchivistCommitQuerySchema","ArchivistConfigSchema","ArchivistDeleteQuerySchema","ArchivistInsertQuerySchema","PayloadHasher","creatableModule","PayloadWrapper","LRUCache","MemoryArchivistConfigSchema","MemoryArchivist","AbstractArchivist","configSchemas","ArchivistConfigSchema","_cache","cache","LRUCache","max","config","queries","ArchivistAllQuerySchema","ArchivistDeleteQuerySchema","ArchivistClearQuerySchema","ArchivistInsertQuerySchema","ArchivistCommitQuerySchema","allHandler","compact","dump","map","value","PayloadHasher","hashFields","clearHandler","clear","emit","module","commitHandler","payloads","assertEx","settled","Promise","allSettled","Object","values","parents","commit","parent","queryPayload","schema","query","bindQuery","filter","fulfilled","result","deleteHandler","hashes","payloadPairs","all","get","payload","hashAsync","deletedPairs","hash","delete","undefined","getHandler","insertHandler","insertedPayloads","insertPayloadIntoCache","wrapper","PayloadWrapper","wrap","payloadWithMeta","_hash","_timestamp","Date","now","set","creatableModule"]}
@@ -0,0 +1,32 @@
1
+ import { Promisable, PromisableArray } from '@xylabs/promise';
2
+ import { AbstractArchivist } from '@xyo-network/archivist-abstract';
3
+ import { ArchivistConfig, ArchivistModuleEventData, ArchivistParams } from '@xyo-network/archivist-model';
4
+ import { BoundWitness } from '@xyo-network/boundwitness-model';
5
+ import { AnyConfigSchema } from '@xyo-network/module-model';
6
+ import { Payload } from '@xyo-network/payload-model';
7
+ export type CookieArchivistConfigSchema = 'network.xyo.archivist.cookie.config';
8
+ export declare const CookieArchivistConfigSchema: CookieArchivistConfigSchema;
9
+ export type CookieArchivistConfig = ArchivistConfig<{
10
+ domain?: string;
11
+ maxEntries?: number;
12
+ maxEntrySize?: number;
13
+ namespace?: string;
14
+ schema: CookieArchivistConfigSchema;
15
+ }>;
16
+ export type CookieArchivistParams = ArchivistParams<AnyConfigSchema<CookieArchivistConfig>>;
17
+ export declare class CookieArchivist<TParams extends CookieArchivistParams, TEventData extends ArchivistModuleEventData = ArchivistModuleEventData> extends AbstractArchivist<TParams, TEventData> {
18
+ static configSchemas: "network.xyo.archivist.cookie.config"[];
19
+ get domain(): string | undefined;
20
+ get maxEntries(): number;
21
+ get maxEntrySize(): number;
22
+ get namespace(): string;
23
+ get queries(): string[];
24
+ protected allHandler(): PromisableArray<Payload>;
25
+ protected clearHandler(): void | Promise<void>;
26
+ protected commitHandler(): Promise<BoundWitness[]>;
27
+ protected deleteHandler(hashes: string[]): Promise<string[]>;
28
+ protected getHandler(hashes: string[]): Promisable<Payload[]>;
29
+ protected insertHandler(payloads: Payload[]): Promise<Payload[]>;
30
+ private keyFromHash;
31
+ }
32
+ //# sourceMappingURL=CookieArchivist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CookieArchivist.d.ts","sourceRoot":"","sources":["../../src/CookieArchivist.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAIL,eAAe,EAIf,wBAAwB,EACxB,eAAe,EAChB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAIpD,MAAM,MAAM,2BAA2B,GAAG,qCAAqC,CAAA;AAC/E,eAAO,MAAM,2BAA2B,EAAE,2BAAmE,CAAA;AAE7G,MAAM,MAAM,qBAAqB,GAAG,eAAe,CAAC;IAClD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,2BAA2B,CAAA;CACpC,CAAC,CAAA;AAEF,MAAM,MAAM,qBAAqB,GAAG,eAAe,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAA;AAE3F,qBAAa,eAAe,CAC1B,OAAO,SAAS,qBAAqB,EACrC,UAAU,SAAS,wBAAwB,GAAG,wBAAwB,CACtE,SAAQ,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC;IAC9C,OAAgB,aAAa,0CAAgC;IAE7D,IAAI,MAAM,uBAET;IAED,IAAI,UAAU,WAGb;IAED,IAAI,YAAY,WAGf;IAED,IAAI,SAAS,WAEZ;IAED,IAAa,OAAO,IAAI,MAAM,EAAE,CAS/B;cAEkB,UAAU,IAAI,eAAe,CAAC,OAAO,CAAC;cAWtC,YAAY,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;cAa9B,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;cAuBxC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cAexD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;cAS7C,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAmB/E,OAAO,CAAC,WAAW;CAGpB"}
@@ -0,0 +1,32 @@
1
+ import { Promisable, PromisableArray } from '@xylabs/promise';
2
+ import { AbstractArchivist } from '@xyo-network/archivist-abstract';
3
+ import { ArchivistConfig, ArchivistModuleEventData, ArchivistParams } from '@xyo-network/archivist-model';
4
+ import { BoundWitness } from '@xyo-network/boundwitness-model';
5
+ import { AnyConfigSchema } from '@xyo-network/module-model';
6
+ import { Payload } from '@xyo-network/payload-model';
7
+ export type CookieArchivistConfigSchema = 'network.xyo.archivist.cookie.config';
8
+ export declare const CookieArchivistConfigSchema: CookieArchivistConfigSchema;
9
+ export type CookieArchivistConfig = ArchivistConfig<{
10
+ domain?: string;
11
+ maxEntries?: number;
12
+ maxEntrySize?: number;
13
+ namespace?: string;
14
+ schema: CookieArchivistConfigSchema;
15
+ }>;
16
+ export type CookieArchivistParams = ArchivistParams<AnyConfigSchema<CookieArchivistConfig>>;
17
+ export declare class CookieArchivist<TParams extends CookieArchivistParams, TEventData extends ArchivistModuleEventData = ArchivistModuleEventData> extends AbstractArchivist<TParams, TEventData> {
18
+ static configSchemas: "network.xyo.archivist.cookie.config"[];
19
+ get domain(): string | undefined;
20
+ get maxEntries(): number;
21
+ get maxEntrySize(): number;
22
+ get namespace(): string;
23
+ get queries(): string[];
24
+ protected allHandler(): PromisableArray<Payload>;
25
+ protected clearHandler(): void | Promise<void>;
26
+ protected commitHandler(): Promise<BoundWitness[]>;
27
+ protected deleteHandler(hashes: string[]): Promise<string[]>;
28
+ protected getHandler(hashes: string[]): Promisable<Payload[]>;
29
+ protected insertHandler(payloads: Payload[]): Promise<Payload[]>;
30
+ private keyFromHash;
31
+ }
32
+ //# sourceMappingURL=CookieArchivist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CookieArchivist.d.ts","sourceRoot":"","sources":["../../src/CookieArchivist.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAIL,eAAe,EAIf,wBAAwB,EACxB,eAAe,EAChB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAIpD,MAAM,MAAM,2BAA2B,GAAG,qCAAqC,CAAA;AAC/E,eAAO,MAAM,2BAA2B,EAAE,2BAAmE,CAAA;AAE7G,MAAM,MAAM,qBAAqB,GAAG,eAAe,CAAC;IAClD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,2BAA2B,CAAA;CACpC,CAAC,CAAA;AAEF,MAAM,MAAM,qBAAqB,GAAG,eAAe,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAA;AAE3F,qBAAa,eAAe,CAC1B,OAAO,SAAS,qBAAqB,EACrC,UAAU,SAAS,wBAAwB,GAAG,wBAAwB,CACtE,SAAQ,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC;IAC9C,OAAgB,aAAa,0CAAgC;IAE7D,IAAI,MAAM,uBAET;IAED,IAAI,UAAU,WAGb;IAED,IAAI,YAAY,WAGf;IAED,IAAI,SAAS,WAEZ;IAED,IAAa,OAAO,IAAI,MAAM,EAAE,CAS/B;cAEkB,UAAU,IAAI,eAAe,CAAC,OAAO,CAAC;cAWtC,YAAY,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;cAa9B,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;cAuBxC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cAexD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;cAS7C,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAmB/E,OAAO,CAAC,WAAW;CAGpB"}
@@ -0,0 +1,32 @@
1
+ import { Promisable, PromisableArray } from '@xylabs/promise';
2
+ import { AbstractArchivist } from '@xyo-network/archivist-abstract';
3
+ import { ArchivistConfig, ArchivistModuleEventData, ArchivistParams } from '@xyo-network/archivist-model';
4
+ import { BoundWitness } from '@xyo-network/boundwitness-model';
5
+ import { AnyConfigSchema } from '@xyo-network/module-model';
6
+ import { Payload } from '@xyo-network/payload-model';
7
+ export type CookieArchivistConfigSchema = 'network.xyo.archivist.cookie.config';
8
+ export declare const CookieArchivistConfigSchema: CookieArchivistConfigSchema;
9
+ export type CookieArchivistConfig = ArchivistConfig<{
10
+ domain?: string;
11
+ maxEntries?: number;
12
+ maxEntrySize?: number;
13
+ namespace?: string;
14
+ schema: CookieArchivistConfigSchema;
15
+ }>;
16
+ export type CookieArchivistParams = ArchivistParams<AnyConfigSchema<CookieArchivistConfig>>;
17
+ export declare class CookieArchivist<TParams extends CookieArchivistParams, TEventData extends ArchivistModuleEventData = ArchivistModuleEventData> extends AbstractArchivist<TParams, TEventData> {
18
+ static configSchemas: "network.xyo.archivist.cookie.config"[];
19
+ get domain(): string | undefined;
20
+ get maxEntries(): number;
21
+ get maxEntrySize(): number;
22
+ get namespace(): string;
23
+ get queries(): string[];
24
+ protected allHandler(): PromisableArray<Payload>;
25
+ protected clearHandler(): void | Promise<void>;
26
+ protected commitHandler(): Promise<BoundWitness[]>;
27
+ protected deleteHandler(hashes: string[]): Promise<string[]>;
28
+ protected getHandler(hashes: string[]): Promisable<Payload[]>;
29
+ protected insertHandler(payloads: Payload[]): Promise<Payload[]>;
30
+ private keyFromHash;
31
+ }
32
+ //# sourceMappingURL=CookieArchivist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CookieArchivist.d.ts","sourceRoot":"","sources":["../../src/CookieArchivist.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAIL,eAAe,EAIf,wBAAwB,EACxB,eAAe,EAChB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAIpD,MAAM,MAAM,2BAA2B,GAAG,qCAAqC,CAAA;AAC/E,eAAO,MAAM,2BAA2B,EAAE,2BAAmE,CAAA;AAE7G,MAAM,MAAM,qBAAqB,GAAG,eAAe,CAAC;IAClD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,2BAA2B,CAAA;CACpC,CAAC,CAAA;AAEF,MAAM,MAAM,qBAAqB,GAAG,eAAe,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAA;AAE3F,qBAAa,eAAe,CAC1B,OAAO,SAAS,qBAAqB,EACrC,UAAU,SAAS,wBAAwB,GAAG,wBAAwB,CACtE,SAAQ,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC;IAC9C,OAAgB,aAAa,0CAAgC;IAE7D,IAAI,MAAM,uBAET;IAED,IAAI,UAAU,WAGb;IAED,IAAI,YAAY,WAGf;IAED,IAAI,SAAS,WAEZ;IAED,IAAa,OAAO,IAAI,MAAM,EAAE,CAS/B;cAEkB,UAAU,IAAI,eAAe,CAAC,OAAO,CAAC;cAWtC,YAAY,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;cAa9B,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;cAuBxC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cAexD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;cAS7C,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAmB/E,OAAO,CAAC,WAAW;CAGpB"}
@@ -0,0 +1,31 @@
1
+ import { Promisable, PromisableArray } from '@xylabs/promise';
2
+ import { AbstractArchivist } from '@xyo-network/archivist-abstract';
3
+ import { ArchivistConfig, ArchivistInstance, ArchivistModuleEventData } from '@xyo-network/archivist-model';
4
+ import { BoundWitness } from '@xyo-network/boundwitness-model';
5
+ import { AnyConfigSchema, ModuleInstance, ModuleParams } from '@xyo-network/module-model';
6
+ import { Payload } from '@xyo-network/payload-model';
7
+ import { LRUCache } from 'lru-cache';
8
+ export type MemoryArchivistConfigSchema = 'network.xyo.archivist.memory.config';
9
+ export declare const MemoryArchivistConfigSchema: MemoryArchivistConfigSchema;
10
+ export type MemoryArchivistConfig = ArchivistConfig<{
11
+ max?: number;
12
+ schema: MemoryArchivistConfigSchema | ArchivistConfig['schema'];
13
+ }>;
14
+ export type MemoryArchivistParams<TConfig extends AnyConfigSchema<MemoryArchivistConfig> = AnyConfigSchema<MemoryArchivistConfig>> = ModuleParams<TConfig>;
15
+ export declare class MemoryArchivist<TParams extends MemoryArchivistParams<AnyConfigSchema<MemoryArchivistConfig>> = MemoryArchivistParams, TEventData extends ArchivistModuleEventData = ArchivistModuleEventData> extends AbstractArchivist<TParams, TEventData> implements ArchivistInstance, ModuleInstance {
16
+ static configSchemas: string[];
17
+ private _cache?;
18
+ get cache(): LRUCache<string, {
19
+ schema: string;
20
+ } & object, unknown>;
21
+ get max(): number;
22
+ get queries(): string[];
23
+ protected allHandler(): PromisableArray<Payload>;
24
+ protected clearHandler(): void | Promise<void>;
25
+ protected commitHandler(): Promise<BoundWitness[]>;
26
+ protected deleteHandler(hashes: string[]): Promise<string[]>;
27
+ protected getHandler(hashes: string[]): Promisable<Payload[]>;
28
+ protected insertHandler(payloads: Payload[]): Promise<Payload[]>;
29
+ private insertPayloadIntoCache;
30
+ }
31
+ //# sourceMappingURL=MemoryArchivist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryArchivist.d.ts","sourceRoot":"","sources":["../../src/MemoryArchivist.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAIL,eAAe,EAKf,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAE9D,OAAO,EAAE,eAAe,EAAmB,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC1G,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,MAAM,MAAM,2BAA2B,GAAG,qCAAqC,CAAA;AAC/E,eAAO,MAAM,2BAA2B,EAAE,2BAAmE,CAAA;AAE7G,MAAM,MAAM,qBAAqB,GAAG,eAAe,CAAC;IAClD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,2BAA2B,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;CAChE,CAAC,CAAA;AAEF,MAAM,MAAM,qBAAqB,CAAC,OAAO,SAAS,eAAe,CAAC,qBAAqB,CAAC,GAAG,eAAe,CAAC,qBAAqB,CAAC,IAC/H,YAAY,CAAC,OAAO,CAAC,CAAA;AACvB,qBACa,eAAe,CACxB,OAAO,SAAS,qBAAqB,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,GAAG,qBAAqB,EACrG,UAAU,SAAS,wBAAwB,GAAG,wBAAwB,CAExE,SAAQ,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAC7C,YAAW,iBAAiB,EAAE,cAAc;IAE5C,OAAgB,aAAa,WAAuD;IAEpF,OAAO,CAAC,MAAM,CAAC,CAA2B;IAE1C,IAAI,KAAK;;yBAGR;IAED,IAAI,GAAG,WAEN;IAED,IAAa,OAAO,aASnB;cAEkB,UAAU,IAAI,eAAe,CAAC,OAAO,CAAC;cAItC,YAAY,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;cAK9B,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;cAiBxC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cAcxD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;cAI7C,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAUjE,sBAAsB;CAMrC"}
@@ -0,0 +1,31 @@
1
+ import { Promisable, PromisableArray } from '@xylabs/promise';
2
+ import { AbstractArchivist } from '@xyo-network/archivist-abstract';
3
+ import { ArchivistConfig, ArchivistInstance, ArchivistModuleEventData } from '@xyo-network/archivist-model';
4
+ import { BoundWitness } from '@xyo-network/boundwitness-model';
5
+ import { AnyConfigSchema, ModuleInstance, ModuleParams } from '@xyo-network/module-model';
6
+ import { Payload } from '@xyo-network/payload-model';
7
+ import { LRUCache } from 'lru-cache';
8
+ export type MemoryArchivistConfigSchema = 'network.xyo.archivist.memory.config';
9
+ export declare const MemoryArchivistConfigSchema: MemoryArchivistConfigSchema;
10
+ export type MemoryArchivistConfig = ArchivistConfig<{
11
+ max?: number;
12
+ schema: MemoryArchivistConfigSchema | ArchivistConfig['schema'];
13
+ }>;
14
+ export type MemoryArchivistParams<TConfig extends AnyConfigSchema<MemoryArchivistConfig> = AnyConfigSchema<MemoryArchivistConfig>> = ModuleParams<TConfig>;
15
+ export declare class MemoryArchivist<TParams extends MemoryArchivistParams<AnyConfigSchema<MemoryArchivistConfig>> = MemoryArchivistParams, TEventData extends ArchivistModuleEventData = ArchivistModuleEventData> extends AbstractArchivist<TParams, TEventData> implements ArchivistInstance, ModuleInstance {
16
+ static configSchemas: string[];
17
+ private _cache?;
18
+ get cache(): LRUCache<string, {
19
+ schema: string;
20
+ } & object, unknown>;
21
+ get max(): number;
22
+ get queries(): string[];
23
+ protected allHandler(): PromisableArray<Payload>;
24
+ protected clearHandler(): void | Promise<void>;
25
+ protected commitHandler(): Promise<BoundWitness[]>;
26
+ protected deleteHandler(hashes: string[]): Promise<string[]>;
27
+ protected getHandler(hashes: string[]): Promisable<Payload[]>;
28
+ protected insertHandler(payloads: Payload[]): Promise<Payload[]>;
29
+ private insertPayloadIntoCache;
30
+ }
31
+ //# sourceMappingURL=MemoryArchivist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryArchivist.d.ts","sourceRoot":"","sources":["../../src/MemoryArchivist.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAIL,eAAe,EAKf,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAE9D,OAAO,EAAE,eAAe,EAAmB,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC1G,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,MAAM,MAAM,2BAA2B,GAAG,qCAAqC,CAAA;AAC/E,eAAO,MAAM,2BAA2B,EAAE,2BAAmE,CAAA;AAE7G,MAAM,MAAM,qBAAqB,GAAG,eAAe,CAAC;IAClD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,2BAA2B,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;CAChE,CAAC,CAAA;AAEF,MAAM,MAAM,qBAAqB,CAAC,OAAO,SAAS,eAAe,CAAC,qBAAqB,CAAC,GAAG,eAAe,CAAC,qBAAqB,CAAC,IAC/H,YAAY,CAAC,OAAO,CAAC,CAAA;AACvB,qBACa,eAAe,CACxB,OAAO,SAAS,qBAAqB,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,GAAG,qBAAqB,EACrG,UAAU,SAAS,wBAAwB,GAAG,wBAAwB,CAExE,SAAQ,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAC7C,YAAW,iBAAiB,EAAE,cAAc;IAE5C,OAAgB,aAAa,WAAuD;IAEpF,OAAO,CAAC,MAAM,CAAC,CAA2B;IAE1C,IAAI,KAAK;;yBAGR;IAED,IAAI,GAAG,WAEN;IAED,IAAa,OAAO,aASnB;cAEkB,UAAU,IAAI,eAAe,CAAC,OAAO,CAAC;cAItC,YAAY,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;cAK9B,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;cAiBxC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cAcxD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;cAI7C,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAUjE,sBAAsB;CAMrC"}
@@ -0,0 +1,31 @@
1
+ import { Promisable, PromisableArray } from '@xylabs/promise';
2
+ import { AbstractArchivist } from '@xyo-network/archivist-abstract';
3
+ import { ArchivistConfig, ArchivistInstance, ArchivistModuleEventData } from '@xyo-network/archivist-model';
4
+ import { BoundWitness } from '@xyo-network/boundwitness-model';
5
+ import { AnyConfigSchema, ModuleInstance, ModuleParams } from '@xyo-network/module-model';
6
+ import { Payload } from '@xyo-network/payload-model';
7
+ import { LRUCache } from 'lru-cache';
8
+ export type MemoryArchivistConfigSchema = 'network.xyo.archivist.memory.config';
9
+ export declare const MemoryArchivistConfigSchema: MemoryArchivistConfigSchema;
10
+ export type MemoryArchivistConfig = ArchivistConfig<{
11
+ max?: number;
12
+ schema: MemoryArchivistConfigSchema | ArchivistConfig['schema'];
13
+ }>;
14
+ export type MemoryArchivistParams<TConfig extends AnyConfigSchema<MemoryArchivistConfig> = AnyConfigSchema<MemoryArchivistConfig>> = ModuleParams<TConfig>;
15
+ export declare class MemoryArchivist<TParams extends MemoryArchivistParams<AnyConfigSchema<MemoryArchivistConfig>> = MemoryArchivistParams, TEventData extends ArchivistModuleEventData = ArchivistModuleEventData> extends AbstractArchivist<TParams, TEventData> implements ArchivistInstance, ModuleInstance {
16
+ static configSchemas: string[];
17
+ private _cache?;
18
+ get cache(): LRUCache<string, {
19
+ schema: string;
20
+ } & object, unknown>;
21
+ get max(): number;
22
+ get queries(): string[];
23
+ protected allHandler(): PromisableArray<Payload>;
24
+ protected clearHandler(): void | Promise<void>;
25
+ protected commitHandler(): Promise<BoundWitness[]>;
26
+ protected deleteHandler(hashes: string[]): Promise<string[]>;
27
+ protected getHandler(hashes: string[]): Promisable<Payload[]>;
28
+ protected insertHandler(payloads: Payload[]): Promise<Payload[]>;
29
+ private insertPayloadIntoCache;
30
+ }
31
+ //# sourceMappingURL=MemoryArchivist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryArchivist.d.ts","sourceRoot":"","sources":["../../src/MemoryArchivist.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAIL,eAAe,EAKf,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAE9D,OAAO,EAAE,eAAe,EAAmB,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC1G,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,MAAM,MAAM,2BAA2B,GAAG,qCAAqC,CAAA;AAC/E,eAAO,MAAM,2BAA2B,EAAE,2BAAmE,CAAA;AAE7G,MAAM,MAAM,qBAAqB,GAAG,eAAe,CAAC;IAClD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,2BAA2B,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;CAChE,CAAC,CAAA;AAEF,MAAM,MAAM,qBAAqB,CAAC,OAAO,SAAS,eAAe,CAAC,qBAAqB,CAAC,GAAG,eAAe,CAAC,qBAAqB,CAAC,IAC/H,YAAY,CAAC,OAAO,CAAC,CAAA;AACvB,qBACa,eAAe,CACxB,OAAO,SAAS,qBAAqB,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,GAAG,qBAAqB,EACrG,UAAU,SAAS,wBAAwB,GAAG,wBAAwB,CAExE,SAAQ,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAC7C,YAAW,iBAAiB,EAAE,cAAc;IAE5C,OAAgB,aAAa,WAAuD;IAEpF,OAAO,CAAC,MAAM,CAAC,CAA2B;IAE1C,IAAI,KAAK;;yBAGR;IAED,IAAI,GAAG,WAEN;IAED,IAAa,OAAO,aASnB;cAEkB,UAAU,IAAI,eAAe,CAAC,OAAO,CAAC;cAItC,YAAY,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;cAK9B,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;cAiBxC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cAcxD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;cAI7C,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAUjE,sBAAsB;CAMrC"}
@@ -0,0 +1,39 @@
1
+ import { Promisable, PromisableArray } from '@xylabs/promise';
2
+ import { AbstractArchivist } from '@xyo-network/archivist-abstract';
3
+ import { ArchivistConfig, ArchivistInstance, ArchivistModuleEventData, ArchivistParams } from '@xyo-network/archivist-model';
4
+ import { BoundWitness } from '@xyo-network/boundwitness-model';
5
+ import { AnyConfigSchema } from '@xyo-network/module-model';
6
+ import { Payload } from '@xyo-network/payload-model';
7
+ export type StorageArchivistConfigSchema = 'network.xyo.archivist.storage.config';
8
+ export declare const StorageArchivistConfigSchema: StorageArchivistConfigSchema;
9
+ export type StorageArchivistConfig = ArchivistConfig<{
10
+ maxEntries?: number;
11
+ maxEntrySize?: number;
12
+ namespace?: string;
13
+ persistAccount?: boolean;
14
+ schema: StorageArchivistConfigSchema;
15
+ type?: 'local' | 'session' | 'page';
16
+ }>;
17
+ export type StorageArchivistParams = ArchivistParams<AnyConfigSchema<StorageArchivistConfig>>;
18
+ export declare class StorageArchivist<TParams extends StorageArchivistParams = StorageArchivistParams, TEventData extends ArchivistModuleEventData = ArchivistModuleEventData> extends AbstractArchivist<TParams, TEventData> implements ArchivistInstance {
19
+ static configSchemas: "network.xyo.archivist.storage.config"[];
20
+ private _privateStorage;
21
+ private _storage;
22
+ get maxEntries(): number;
23
+ get maxEntrySize(): number;
24
+ get namespace(): string;
25
+ get persistAccount(): boolean;
26
+ get queries(): string[];
27
+ get type(): "local" | "session" | "page";
28
+ private get privateStorage();
29
+ private get storage();
30
+ protected allHandler(): PromisableArray<Payload>;
31
+ protected clearHandler(): void | Promise<void>;
32
+ protected commitHandler(): Promise<BoundWitness[]>;
33
+ protected deleteHandler(hashes: string[]): Promise<string[]>;
34
+ protected getHandler(hashes: string[]): Promisable<Payload[]>;
35
+ protected insertHandler(payloads: Payload[]): Promise<Payload[]>;
36
+ protected saveAccount(): void;
37
+ protected startHandler(): Promise<boolean>;
38
+ }
39
+ //# sourceMappingURL=StorageArchivist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageArchivist.d.ts","sourceRoot":"","sources":["../../src/StorageArchivist.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAIL,eAAe,EAIf,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,EAChB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAIpD,MAAM,MAAM,4BAA4B,GAAG,sCAAsC,CAAA;AACjF,eAAO,MAAM,4BAA4B,EAAE,4BAAqE,CAAA;AAEhH,MAAM,MAAM,sBAAsB,GAAG,eAAe,CAAC;IACnD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,MAAM,EAAE,4BAA4B,CAAA;IACpC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;CACpC,CAAC,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,eAAe,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC,CAAA;AAC7F,qBAAa,gBAAgB,CACzB,OAAO,SAAS,sBAAsB,GAAG,sBAAsB,EAC/D,UAAU,SAAS,wBAAwB,GAAG,wBAAwB,CAExE,SAAQ,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAC7C,YAAW,iBAAiB;IAE5B,OAAgB,aAAa,2CAAiC;IAE9D,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAuB;IAEvC,IAAI,UAAU,WAEb;IAED,IAAI,YAAY,WAEf;IAED,IAAI,SAAS,WAEZ;IAED,IAAI,cAAc,YAEjB;IAED,IAAa,OAAO,IAAI,MAAM,EAAE,CAS/B;IAED,IAAI,IAAI,iCAEP;IAGD,OAAO,KAAK,cAAc,GAGzB;IAGD,OAAO,KAAK,OAAO,GAGlB;cAoBkB,UAAU,IAAI,eAAe,CAAC,OAAO,CAAC;cAKtC,YAAY,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;cAM9B,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;cAoBxC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cAexD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;cAQ7C,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAc/E,SAAS,CAAC,WAAW;cAQI,YAAY;CAKtC"}
@@ -0,0 +1,39 @@
1
+ import { Promisable, PromisableArray } from '@xylabs/promise';
2
+ import { AbstractArchivist } from '@xyo-network/archivist-abstract';
3
+ import { ArchivistConfig, ArchivistInstance, ArchivistModuleEventData, ArchivistParams } from '@xyo-network/archivist-model';
4
+ import { BoundWitness } from '@xyo-network/boundwitness-model';
5
+ import { AnyConfigSchema } from '@xyo-network/module-model';
6
+ import { Payload } from '@xyo-network/payload-model';
7
+ export type StorageArchivistConfigSchema = 'network.xyo.archivist.storage.config';
8
+ export declare const StorageArchivistConfigSchema: StorageArchivistConfigSchema;
9
+ export type StorageArchivistConfig = ArchivistConfig<{
10
+ maxEntries?: number;
11
+ maxEntrySize?: number;
12
+ namespace?: string;
13
+ persistAccount?: boolean;
14
+ schema: StorageArchivistConfigSchema;
15
+ type?: 'local' | 'session' | 'page';
16
+ }>;
17
+ export type StorageArchivistParams = ArchivistParams<AnyConfigSchema<StorageArchivistConfig>>;
18
+ export declare class StorageArchivist<TParams extends StorageArchivistParams = StorageArchivistParams, TEventData extends ArchivistModuleEventData = ArchivistModuleEventData> extends AbstractArchivist<TParams, TEventData> implements ArchivistInstance {
19
+ static configSchemas: "network.xyo.archivist.storage.config"[];
20
+ private _privateStorage;
21
+ private _storage;
22
+ get maxEntries(): number;
23
+ get maxEntrySize(): number;
24
+ get namespace(): string;
25
+ get persistAccount(): boolean;
26
+ get queries(): string[];
27
+ get type(): "local" | "session" | "page";
28
+ private get privateStorage();
29
+ private get storage();
30
+ protected allHandler(): PromisableArray<Payload>;
31
+ protected clearHandler(): void | Promise<void>;
32
+ protected commitHandler(): Promise<BoundWitness[]>;
33
+ protected deleteHandler(hashes: string[]): Promise<string[]>;
34
+ protected getHandler(hashes: string[]): Promisable<Payload[]>;
35
+ protected insertHandler(payloads: Payload[]): Promise<Payload[]>;
36
+ protected saveAccount(): void;
37
+ protected startHandler(): Promise<boolean>;
38
+ }
39
+ //# sourceMappingURL=StorageArchivist.d.ts.map