@xyo-network/archivist-mongodb 2.89.2 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/Archivist.d.ts +3 -3
- package/dist/browser/Archivist.d.ts.map +1 -1
- package/dist/browser/index.mjs.map +1 -1
- package/dist/browser/lib/validByType.d.ts +1 -1
- package/dist/browser/lib/validByType.d.ts.map +1 -1
- package/dist/neutral/Archivist.d.ts +3 -3
- package/dist/neutral/Archivist.d.ts.map +1 -1
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/lib/validByType.d.ts +1 -1
- package/dist/neutral/lib/validByType.d.ts.map +1 -1
- package/dist/node/Archivist.d.ts +3 -3
- package/dist/node/Archivist.d.ts.map +1 -1
- package/dist/node/index.mjs +9 -13
- package/dist/node/index.mjs.map +1 -1
- package/dist/node/lib/validByType.d.ts +1 -1
- package/dist/node/lib/validByType.d.ts.map +1 -1
- package/package.json +47 -56
- package/src/Archivist.ts +6 -3
- package/src/lib/validByType.ts +3 -2
- package/dist/browser/Archivist.d.cts +0 -76
- package/dist/browser/Archivist.d.cts.map +0 -1
- package/dist/browser/Archivist.d.mts +0 -76
- package/dist/browser/Archivist.d.mts.map +0 -1
- package/dist/browser/index.cjs +0 -149
- package/dist/browser/index.cjs.map +0 -1
- package/dist/browser/index.d.cts +0 -3
- package/dist/browser/index.d.cts.map +0 -1
- package/dist/browser/index.d.mts +0 -3
- package/dist/browser/index.d.mts.map +0 -1
- package/dist/browser/lib/index.d.cts +0 -2
- package/dist/browser/lib/index.d.cts.map +0 -1
- package/dist/browser/lib/index.d.mts +0 -2
- package/dist/browser/lib/index.d.mts.map +0 -1
- package/dist/browser/lib/validByType.d.cts +0 -7
- package/dist/browser/lib/validByType.d.cts.map +0 -1
- package/dist/browser/lib/validByType.d.mts +0 -7
- package/dist/browser/lib/validByType.d.mts.map +0 -1
- package/dist/neutral/Archivist.d.cts +0 -76
- package/dist/neutral/Archivist.d.cts.map +0 -1
- package/dist/neutral/Archivist.d.mts +0 -76
- package/dist/neutral/Archivist.d.mts.map +0 -1
- package/dist/neutral/index.cjs +0 -149
- package/dist/neutral/index.cjs.map +0 -1
- package/dist/neutral/index.d.cts +0 -3
- package/dist/neutral/index.d.cts.map +0 -1
- package/dist/neutral/index.d.mts +0 -3
- package/dist/neutral/index.d.mts.map +0 -1
- package/dist/neutral/lib/index.d.cts +0 -2
- package/dist/neutral/lib/index.d.cts.map +0 -1
- package/dist/neutral/lib/index.d.mts +0 -2
- package/dist/neutral/lib/index.d.mts.map +0 -1
- package/dist/neutral/lib/validByType.d.cts +0 -7
- package/dist/neutral/lib/validByType.d.cts.map +0 -1
- package/dist/neutral/lib/validByType.d.mts +0 -7
- package/dist/neutral/lib/validByType.d.mts.map +0 -1
- package/dist/node/Archivist.d.cts +0 -76
- package/dist/node/Archivist.d.cts.map +0 -1
- package/dist/node/Archivist.d.mts +0 -76
- package/dist/node/Archivist.d.mts.map +0 -1
- package/dist/node/index.cjs +0 -158
- package/dist/node/index.cjs.map +0 -1
- package/dist/node/index.d.cts +0 -3
- package/dist/node/index.d.cts.map +0 -1
- package/dist/node/index.d.mts +0 -3
- package/dist/node/index.d.mts.map +0 -1
- package/dist/node/lib/index.d.cts +0 -2
- package/dist/node/lib/index.d.cts.map +0 -1
- package/dist/node/lib/index.d.mts +0 -2
- package/dist/node/lib/index.d.mts.map +0 -1
- package/dist/node/lib/validByType.d.cts +0 -7
- package/dist/node/lib/validByType.d.cts.map +0 -1
- package/dist/node/lib/validByType.d.mts +0 -7
- package/dist/node/lib/validByType.d.mts.map +0 -1
package/dist/neutral/index.cjs
DELETED
|
@@ -1,149 +0,0 @@
|
|
|
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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
20
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
-
|
|
22
|
-
// src/index.ts
|
|
23
|
-
var src_exports = {};
|
|
24
|
-
__export(src_exports, {
|
|
25
|
-
MongoDBArchivist: () => MongoDBArchivist
|
|
26
|
-
});
|
|
27
|
-
module.exports = __toCommonJS(src_exports);
|
|
28
|
-
|
|
29
|
-
// src/Archivist.ts
|
|
30
|
-
var import_exists = require("@xylabs/exists");
|
|
31
|
-
var import_archivist_abstract = require("@xyo-network/archivist-abstract");
|
|
32
|
-
var import_archivist_model = require("@xyo-network/archivist-model");
|
|
33
|
-
var import_archivist_model_mongodb = require("@xyo-network/archivist-model-mongodb");
|
|
34
|
-
var import_module_abstract_mongodb = require("@xyo-network/module-abstract-mongodb");
|
|
35
|
-
var import_payload_builder = require("@xyo-network/payload-builder");
|
|
36
|
-
var import_payload_mongodb = require("@xyo-network/payload-mongodb");
|
|
37
|
-
var import_payload_wrapper2 = require("@xyo-network/payload-wrapper");
|
|
38
|
-
|
|
39
|
-
// src/lib/validByType.ts
|
|
40
|
-
var import_boundwitness_model = require("@xyo-network/boundwitness-model");
|
|
41
|
-
var import_boundwitness_wrapper = require("@xyo-network/boundwitness-wrapper");
|
|
42
|
-
var import_payload_wrapper = require("@xyo-network/payload-wrapper");
|
|
43
|
-
var validByType = /* @__PURE__ */ __name(async (payloads = []) => {
|
|
44
|
-
const results = [
|
|
45
|
-
[],
|
|
46
|
-
[]
|
|
47
|
-
];
|
|
48
|
-
await Promise.all(payloads.map(async (payload) => {
|
|
49
|
-
if ((0, import_boundwitness_model.isBoundWitness)(payload)) {
|
|
50
|
-
const wrapper = (0, import_boundwitness_model.isQueryBoundWitness)(payload) ? import_boundwitness_wrapper.QueryBoundWitnessWrapper : import_boundwitness_wrapper.BoundWitnessWrapper;
|
|
51
|
-
const bw = wrapper.parse(payload);
|
|
52
|
-
if (await bw.getValid()) {
|
|
53
|
-
results[0].push(bw.payload);
|
|
54
|
-
} else {
|
|
55
|
-
const errors = await bw.getErrors();
|
|
56
|
-
console.log(`validByType.Error: ${JSON.stringify(errors, null, 2)}`);
|
|
57
|
-
}
|
|
58
|
-
} else {
|
|
59
|
-
const payloadWrapper = import_payload_wrapper.PayloadWrapper.wrap(payload);
|
|
60
|
-
if (await payloadWrapper.getValid()) {
|
|
61
|
-
results[1].push(payloadWrapper.payload);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return;
|
|
65
|
-
}));
|
|
66
|
-
return results;
|
|
67
|
-
}, "validByType");
|
|
68
|
-
|
|
69
|
-
// src/Archivist.ts
|
|
70
|
-
var MongoDBArchivistBase = (0, import_module_abstract_mongodb.MongoDBModuleMixin)(import_archivist_abstract.AbstractArchivist);
|
|
71
|
-
var MongoDBArchivist = class extends MongoDBArchivistBase {
|
|
72
|
-
static {
|
|
73
|
-
__name(this, "MongoDBArchivist");
|
|
74
|
-
}
|
|
75
|
-
static configSchemas = [
|
|
76
|
-
...super.configSchemas,
|
|
77
|
-
import_archivist_model_mongodb.MongoDBArchivistConfigSchema
|
|
78
|
-
];
|
|
79
|
-
static defaultConfigSchema = import_archivist_model_mongodb.MongoDBArchivistConfigSchema;
|
|
80
|
-
queries = [
|
|
81
|
-
import_archivist_model.ArchivistInsertQuerySchema,
|
|
82
|
-
...super.queries
|
|
83
|
-
];
|
|
84
|
-
async head() {
|
|
85
|
-
const head = await (await this.payloads.find({})).sort({
|
|
86
|
-
_timestamp: -1
|
|
87
|
-
}).limit(1).toArray();
|
|
88
|
-
return head[0] ? import_payload_wrapper2.PayloadWrapper.wrap(head[0]).payload : void 0;
|
|
89
|
-
}
|
|
90
|
-
async getHandler(hashes) {
|
|
91
|
-
let remainingHashes = [
|
|
92
|
-
...hashes
|
|
93
|
-
];
|
|
94
|
-
const dataPayloads = (await Promise.all(remainingHashes.map((_$hash) => this.payloads.findOne({
|
|
95
|
-
_$hash
|
|
96
|
-
})))).filter(import_exists.exists);
|
|
97
|
-
const dataPayloadsHashes = new Set(dataPayloads.map((payload) => payload._$hash));
|
|
98
|
-
remainingHashes = remainingHashes.filter((hash) => !dataPayloadsHashes.has(hash));
|
|
99
|
-
const dataBws = (await Promise.all(remainingHashes.map((_$hash) => this.boundWitnesses.findOne({
|
|
100
|
-
_$hash
|
|
101
|
-
})))).filter(import_exists.exists);
|
|
102
|
-
const dataBwsHashes = new Set(dataBws.map((payload) => payload._$hash));
|
|
103
|
-
remainingHashes = remainingHashes.filter((hash) => !dataBwsHashes.has(hash));
|
|
104
|
-
const payloads = (await Promise.all(remainingHashes.map((_hash) => this.payloads.findOne({
|
|
105
|
-
_hash
|
|
106
|
-
})))).filter(import_exists.exists);
|
|
107
|
-
const payloadsHashes = new Set(payloads.map((payload) => payload._hash));
|
|
108
|
-
remainingHashes = remainingHashes.filter((hash) => !payloadsHashes.has(hash));
|
|
109
|
-
const bws = (await Promise.all(remainingHashes.map((_hash) => this.boundWitnesses.findOne({
|
|
110
|
-
_hash
|
|
111
|
-
})))).filter(import_exists.exists);
|
|
112
|
-
const bwsHashes = new Set(bws.map((payload) => payload._hash));
|
|
113
|
-
remainingHashes = remainingHashes.filter((hash) => !bwsHashes.has(hash));
|
|
114
|
-
const foundPayloads = [
|
|
115
|
-
...dataPayloads,
|
|
116
|
-
...dataBws,
|
|
117
|
-
...payloads,
|
|
118
|
-
...bws
|
|
119
|
-
];
|
|
120
|
-
const result = await import_payload_builder.PayloadBuilder.build(foundPayloads.map(import_payload_mongodb.fromDbRepresentation));
|
|
121
|
-
return result;
|
|
122
|
-
}
|
|
123
|
-
async insertHandler(payloads) {
|
|
124
|
-
const [bw, p] = await validByType(payloads);
|
|
125
|
-
const payloadsWithExternalMeta = await Promise.all(p.map((value, index) => (0, import_payload_mongodb.toDbRepresentation)(value, index)));
|
|
126
|
-
if (payloadsWithExternalMeta.length > 0) {
|
|
127
|
-
const payloadsResult = await this.payloads.insertMany(payloadsWithExternalMeta);
|
|
128
|
-
if (!payloadsResult.acknowledged || payloadsResult.insertedCount !== payloadsWithExternalMeta.length) throw new Error("MongoDBDeterministicArchivist: Error inserting Payloads");
|
|
129
|
-
}
|
|
130
|
-
const boundWitnessesWithExternalMeta = await Promise.all(bw.map((value, index) => (0, import_payload_mongodb.toDbRepresentation)(value, index)));
|
|
131
|
-
if (boundWitnessesWithExternalMeta.length > 0) {
|
|
132
|
-
const boundWitnessesResult = await this.boundWitnesses.insertMany(boundWitnessesWithExternalMeta);
|
|
133
|
-
if (!boundWitnessesResult.acknowledged || boundWitnessesResult.insertedCount !== boundWitnessesWithExternalMeta.length) throw new Error("MongoDBDeterministicArchivist: Error inserting BoundWitnesses");
|
|
134
|
-
}
|
|
135
|
-
return await import_payload_builder.PayloadBuilder.build([
|
|
136
|
-
...boundWitnessesWithExternalMeta,
|
|
137
|
-
...payloadsWithExternalMeta
|
|
138
|
-
]);
|
|
139
|
-
}
|
|
140
|
-
async startHandler() {
|
|
141
|
-
await super.startHandler();
|
|
142
|
-
await this.ensureIndexes();
|
|
143
|
-
return true;
|
|
144
|
-
}
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
// src/index.ts
|
|
148
|
-
__reExport(src_exports, require("@xyo-network/archivist-model-mongodb"), module.exports);
|
|
149
|
-
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/Archivist.ts","../../src/lib/validByType.ts"],"sourcesContent":["export * from './Archivist.js'\nexport * from '@xyo-network/archivist-model-mongodb'\n","import { exists } from '@xylabs/exists'\nimport { Hash } from '@xylabs/hex'\nimport { AbstractArchivist } from '@xyo-network/archivist-abstract'\nimport { ArchivistInsertQuerySchema } from '@xyo-network/archivist-model'\nimport { MongoDBArchivistConfigSchema } from '@xyo-network/archivist-model-mongodb'\nimport { MongoDBModuleMixin } from '@xyo-network/module-abstract-mongodb'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload, Schema, WithMeta } from '@xyo-network/payload-model'\nimport { fromDbRepresentation, PayloadWithMongoMeta, toDbRepresentation } from '@xyo-network/payload-mongodb'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nimport { validByType } from './lib/index.js'\n\nconst MongoDBArchivistBase = MongoDBModuleMixin(AbstractArchivist)\n\nexport class MongoDBArchivist extends MongoDBArchivistBase {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, MongoDBArchivistConfigSchema]\n static override readonly defaultConfigSchema: Schema = MongoDBArchivistConfigSchema\n\n override readonly queries: string[] = [ArchivistInsertQuerySchema, ...super.queries]\n\n override async head(): Promise<Payload | undefined> {\n const head = await (await this.payloads.find({})).sort({ _timestamp: -1 }).limit(1).toArray()\n return head[0] ? PayloadWrapper.wrap(head[0]).payload : undefined\n }\n\n protected override async getHandler(hashes: Hash[]): Promise<WithMeta<Payload>[]> {\n let remainingHashes = [...hashes]\n\n const dataPayloads = (await Promise.all(remainingHashes.map(_$hash => this.payloads.findOne({ _$hash })))).filter(exists)\n const dataPayloadsHashes = new Set(dataPayloads.map(payload => payload._$hash))\n remainingHashes = remainingHashes.filter(hash => !dataPayloadsHashes.has(hash))\n\n const dataBws = (await Promise.all(remainingHashes.map(_$hash => this.boundWitnesses.findOne({ _$hash })))).filter(exists)\n const dataBwsHashes = new Set(dataBws.map(payload => payload._$hash))\n remainingHashes = remainingHashes.filter(hash => !dataBwsHashes.has(hash))\n\n const payloads = (await Promise.all(remainingHashes.map(_hash => this.payloads.findOne({ _hash })))).filter(exists)\n const payloadsHashes = new Set(payloads.map(payload => payload._hash))\n remainingHashes = remainingHashes.filter(hash => !payloadsHashes.has(hash))\n\n const bws = (await Promise.all(remainingHashes.map(_hash => this.boundWitnesses.findOne({ _hash })))).filter(exists)\n const bwsHashes = new Set(bws.map(payload => payload._hash))\n remainingHashes = remainingHashes.filter(hash => !bwsHashes.has(hash))\n\n const foundPayloads = [...dataPayloads, ...dataBws, ...payloads, ...bws] as PayloadWithMongoMeta<Payload & { _$hash: Hash; _$meta?: unknown }>[]\n const result = await PayloadBuilder.build(foundPayloads.map(fromDbRepresentation))\n // console.log(`getHandler: ${JSON.stringify(hashes, null, 2)}:${JSON.stringify(result, null, 2)}`)\n return result\n }\n\n protected override async insertHandler(payloads: Payload[]): Promise<WithMeta<Payload>[]> {\n const [bw, p] = await validByType(payloads)\n const payloadsWithExternalMeta = await Promise.all(p.map((value, index) => toDbRepresentation(value, index)))\n if (payloadsWithExternalMeta.length > 0) {\n const payloadsResult = await this.payloads.insertMany(payloadsWithExternalMeta)\n if (!payloadsResult.acknowledged || payloadsResult.insertedCount !== payloadsWithExternalMeta.length)\n throw new Error('MongoDBDeterministicArchivist: Error inserting Payloads')\n }\n const boundWitnessesWithExternalMeta = await Promise.all(bw.map((value, index) => toDbRepresentation(value, index)))\n if (boundWitnessesWithExternalMeta.length > 0) {\n const boundWitnessesResult = await this.boundWitnesses.insertMany(boundWitnessesWithExternalMeta)\n if (!boundWitnessesResult.acknowledged || boundWitnessesResult.insertedCount !== boundWitnessesWithExternalMeta.length)\n throw new Error('MongoDBDeterministicArchivist: Error inserting BoundWitnesses')\n }\n\n return await PayloadBuilder.build([...boundWitnessesWithExternalMeta, ...payloadsWithExternalMeta])\n }\n\n protected override async startHandler() {\n await super.startHandler()\n await this.ensureIndexes()\n return true\n }\n}\n","import { BoundWitness, isBoundWitness, isQueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessWrapper, QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nexport const validByType = async (payloads: Payload[] = []) => {\n const results: [BoundWitness[], Payload[]] = [[], []]\n await Promise.all(\n payloads.map(async (payload) => {\n if (isBoundWitness(payload)) {\n const wrapper = isQueryBoundWitness(payload) ? QueryBoundWitnessWrapper : BoundWitnessWrapper\n const bw = wrapper.parse(payload)\n if (await bw.getValid()) {\n results[0].push(bw.payload)\n } else {\n const errors = await bw.getErrors()\n console.log(`validByType.Error: ${JSON.stringify(errors, null, 2)}`)\n }\n } else {\n const payloadWrapper = PayloadWrapper.wrap(payload)\n if (await payloadWrapper.getValid()) {\n results[1].push(payloadWrapper.payload)\n }\n }\n return\n }),\n )\n return results\n}\n"],"mappings":"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","names":["import_payload_wrapper","validByType","payloads","results","Promise","all","map","payload","isBoundWitness","wrapper","isQueryBoundWitness","QueryBoundWitnessWrapper","BoundWitnessWrapper","bw","parse","getValid","push","errors","getErrors","console","log","JSON","stringify","payloadWrapper","PayloadWrapper","wrap","MongoDBArchivistBase","MongoDBModuleMixin","AbstractArchivist","MongoDBArchivist","configSchemas","MongoDBArchivistConfigSchema","defaultConfigSchema","queries","ArchivistInsertQuerySchema","head","payloads","find","sort","_timestamp","limit","toArray","PayloadWrapper","wrap","payload","undefined","getHandler","hashes","remainingHashes","dataPayloads","Promise","all","map","_$hash","findOne","filter","exists","dataPayloadsHashes","Set","hash","has","dataBws","boundWitnesses","dataBwsHashes","_hash","payloadsHashes","bws","bwsHashes","foundPayloads","result","PayloadBuilder","build","fromDbRepresentation","insertHandler","bw","p","validByType","payloadsWithExternalMeta","value","index","toDbRepresentation","length","payloadsResult","insertMany","acknowledged","insertedCount","Error","boundWitnessesWithExternalMeta","boundWitnessesResult","startHandler","ensureIndexes"]}
|
package/dist/neutral/index.d.cts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sCAAsC,CAAA"}
|
package/dist/neutral/index.d.mts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sCAAsC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Payload } from '@xyo-network/payload-model';
|
|
2
|
-
export declare const validByType: (payloads?: Payload[]) => Promise<[(import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
|
|
3
|
-
schema: "network.xyo.boundwitness";
|
|
4
|
-
})[], ({
|
|
5
|
-
schema: string;
|
|
6
|
-
} & import("@xyo-network/payload-model").PayloadFields)[]]>;
|
|
7
|
-
//# sourceMappingURL=validByType.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validByType.d.ts","sourceRoot":"","sources":["../../../src/lib/validByType.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGpD,eAAO,MAAM,WAAW,cAAoB,OAAO,EAAE;;;;2DAuBpD,CAAA"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Payload } from '@xyo-network/payload-model';
|
|
2
|
-
export declare const validByType: (payloads?: Payload[]) => Promise<[(import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
|
|
3
|
-
schema: "network.xyo.boundwitness";
|
|
4
|
-
})[], ({
|
|
5
|
-
schema: string;
|
|
6
|
-
} & import("@xyo-network/payload-model").PayloadFields)[]]>;
|
|
7
|
-
//# sourceMappingURL=validByType.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validByType.d.ts","sourceRoot":"","sources":["../../../src/lib/validByType.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGpD,eAAO,MAAM,WAAW,cAAoB,OAAO,EAAE;;;;2DAuBpD,CAAA"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { Hash } from '@xylabs/hex';
|
|
2
|
-
import { AbstractArchivist } from '@xyo-network/archivist-abstract';
|
|
3
|
-
import { Payload, Schema, WithMeta } from '@xyo-network/payload-model';
|
|
4
|
-
import { PayloadWithMongoMeta } from '@xyo-network/payload-mongodb';
|
|
5
|
-
declare const MongoDBArchivistBase: (abstract new (...args: any[]) => {
|
|
6
|
-
_boundWitnessSdk: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<import("@xyo-network/payload-mongodb").BoundWitnessWithMongoMeta> | undefined;
|
|
7
|
-
_payloadSdk: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<PayloadWithMongoMeta> | undefined;
|
|
8
|
-
readonly boundWitnessSdkConfig: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkConfig;
|
|
9
|
-
readonly boundWitnesses: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<import("@xyo-network/payload-mongodb").BoundWitnessWithMongoMeta>;
|
|
10
|
-
readonly jobQueue: import("@xyo-network/node-core-model").JobQueue;
|
|
11
|
-
readonly payloadSdkConfig: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkConfig;
|
|
12
|
-
readonly payloads: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<PayloadWithMongoMeta>;
|
|
13
|
-
ensureIndexes(): Promise<void>;
|
|
14
|
-
address: import("@xylabs/hex").Address;
|
|
15
|
-
config: import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
|
|
16
|
-
boundWitnessSdkConfig?: Partial<import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkPublicConfig> | undefined;
|
|
17
|
-
payloadSdkConfig?: Partial<import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkPublicConfig> | undefined;
|
|
18
|
-
schema: import("@xyo-network/module-model-mongodb").MongoDBModuleConfigSchema;
|
|
19
|
-
}, "schema"> & {
|
|
20
|
-
schema: "network.xyo.module.mongodb.config";
|
|
21
|
-
}, "schema"> & {
|
|
22
|
-
schema: string;
|
|
23
|
-
};
|
|
24
|
-
id: string;
|
|
25
|
-
modName?: import("@xyo-network/module-model").ModuleName;
|
|
26
|
-
params: import("@xylabs/object").BaseParamsFields & {
|
|
27
|
-
account?: import("@xyo-network/account-model").AccountInstance | "random";
|
|
28
|
-
addToResolvers?: boolean;
|
|
29
|
-
additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
|
|
30
|
-
allowNameResolution?: boolean;
|
|
31
|
-
config: import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
|
|
32
|
-
boundWitnessSdkConfig?: Partial<import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkPublicConfig> | undefined;
|
|
33
|
-
payloadSdkConfig?: Partial<import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkPublicConfig> | undefined;
|
|
34
|
-
schema: import("@xyo-network/module-model-mongodb").MongoDBModuleConfigSchema;
|
|
35
|
-
}, "schema"> & {
|
|
36
|
-
schema: "network.xyo.module.mongodb.config";
|
|
37
|
-
}, "schema"> & {
|
|
38
|
-
schema: string;
|
|
39
|
-
};
|
|
40
|
-
ephemeralQueryAccountEnabled?: boolean;
|
|
41
|
-
moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
|
|
42
|
-
} & {
|
|
43
|
-
boundWitnessSdkConfig?: (import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkPrivateConfig & Partial<import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkPublicConfig>) | undefined;
|
|
44
|
-
jobQueue?: import("@xyo-network/node-core-model").JobQueue;
|
|
45
|
-
payloadSdkConfig?: (import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkPrivateConfig & Partial<import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkPublicConfig>) | undefined;
|
|
46
|
-
};
|
|
47
|
-
previousHash: () => import("@xylabs/promise").Promisable<string | undefined>;
|
|
48
|
-
queries: string[];
|
|
49
|
-
query: <T extends import("@xyo-network/boundwitness-model").QueryBoundWitness = import("@xyo-network/boundwitness-model").QueryBoundWitness, TConf extends import("@xyo-network/module-model").ModuleConfig = import("@xyo-network/module-model").ModuleConfig>(query: T, payloads?: import("@xyo-network/payload-model").Payload[], queryConfig?: TConf) => import("@xylabs/promise").Promisable<import("@xyo-network/module-model").ModuleQueryResult>;
|
|
50
|
-
queryable: <T extends import("@xyo-network/boundwitness-model").QueryBoundWitness = import("@xyo-network/boundwitness-model").QueryBoundWitness, TConf_1 extends import("@xyo-network/module-model").ModuleConfig = import("@xyo-network/module-model").ModuleConfig>(query: T, payloads?: import("@xyo-network/payload-model").Payload[], queryConfig?: TConf_1) => import("@xylabs/promise").Promisable<boolean>;
|
|
51
|
-
start?: () => import("@xylabs/promise").Promisable<boolean>;
|
|
52
|
-
stop?: () => import("@xylabs/promise").Promisable<boolean>;
|
|
53
|
-
eventData: import("@xyo-network/module-model").ModuleEventData<object>;
|
|
54
|
-
clearListeners(eventNames: keyof import("@xyo-network/module-model").ModuleEventData<object> | (keyof import("@xyo-network/module-model").ModuleEventData<object>)[]): void;
|
|
55
|
-
emit<TEventName extends keyof import("@xyo-network/module-model").ModuleEventData<object>>(eventName: TEventName, eventArgs: import("@xyo-network/module-model").ModuleEventData<object>[TEventName]): Promise<void>;
|
|
56
|
-
emitSerial<TEventName extends keyof import("@xyo-network/module-model").ModuleEventData<object>>(eventName: TEventName, eventArgs: import("@xyo-network/module-model").ModuleEventData<object>[TEventName]): Promise<void>;
|
|
57
|
-
listenerCount(eventNames: keyof import("@xyo-network/module-model").ModuleEventData<object> | (keyof import("@xyo-network/module-model").ModuleEventData<object>)[]): number;
|
|
58
|
-
off<TEventName extends keyof import("@xyo-network/module-model").ModuleEventData<object>>(eventNames: TEventName | TEventName[], listener: import("@xyo-network/module-events").EventListener<import("@xyo-network/module-model").ModuleEventData<object>[TEventName]>): void;
|
|
59
|
-
offAny(listener: import("@xyo-network/module-events").EventAnyListener | Promise<void>): void;
|
|
60
|
-
on<TEventName extends keyof import("@xyo-network/module-model").ModuleEventData<object>>(eventNames: TEventName | TEventName[], listener: import("@xyo-network/module-events").EventListener<import("@xyo-network/module-model").ModuleEventData<object>[TEventName]>): import("@xyo-network/module-events").EventUnsubscribeFunction;
|
|
61
|
-
onAny(listener: import("@xyo-network/module-events").EventAnyListener): import("@xyo-network/module-events").EventUnsubscribeFunction;
|
|
62
|
-
once<TEventName extends keyof import("@xyo-network/module-model").ModuleEventData<object>>(eventName: TEventName, listener: import("@xyo-network/module-events").EventListener<import("@xyo-network/module-model").ModuleEventData<object>[TEventName]>): import("@xyo-network/module-events").EventUnsubscribeFunction;
|
|
63
|
-
}) & {
|
|
64
|
-
labels: import("@xyo-network/module-model-mongodb").MongoDBStorageClassLabels;
|
|
65
|
-
} & typeof AbstractArchivist;
|
|
66
|
-
export declare class MongoDBArchivist extends MongoDBArchivistBase {
|
|
67
|
-
static readonly configSchemas: Schema[];
|
|
68
|
-
static readonly defaultConfigSchema: Schema;
|
|
69
|
-
readonly queries: string[];
|
|
70
|
-
head(): Promise<Payload | undefined>;
|
|
71
|
-
protected getHandler(hashes: Hash[]): Promise<WithMeta<Payload>[]>;
|
|
72
|
-
protected insertHandler(payloads: Payload[]): Promise<WithMeta<Payload>[]>;
|
|
73
|
-
protected startHandler(): Promise<boolean>;
|
|
74
|
-
}
|
|
75
|
-
export {};
|
|
76
|
-
//# sourceMappingURL=Archivist.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Archivist.d.ts","sourceRoot":"","sources":["../../src/Archivist.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAKnE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,EAAwB,oBAAoB,EAAsB,MAAM,8BAA8B,CAAA;AAK7G,QAAA,MAAM,oBAAoB;;;;;8BAgCoH,8BACvH;;;;oBAEZ,aAGX;;+CA5B2C,+BAE3C;0CACkF,+BACvD;uBAEyB,mCAAmC;;;;;;;qBAsBR,2BACnE;;yBA3CZ,4BAA4B;;mCAIlB,4BAA4B;;uBAEO,4BACjC,wBAAwB,4BAA4B,8BAA8B,2BACjF,iCAAiC,2BAA2B,8BAEzD,4BAA4B,wBAAyB,4BAE7D,8BAA8B,2BAC7B,iCAAiC,2BAA2B;iCAC5C,CAAC,iBAAiB,+BAE3C;4BACgE,CAAC,iBAAiB,+BACvD;2BAEyB,mCAAmC;;;;;;;8CAItD,2BAA2B;;wCACpD,+BAA+B,6CAC7B,+BAA+B;0BAEhB,8BAA8B;mCAA4C,+BAC1F,6CAA6C,+BAC5C;;+BAcoB,iBAAiB;;6BAC5B,iCACd,6BAA8B,iCAAgC,0CAC5C,2BAA2B,wBAAyB,2BAA0B,kCAC1E,CAAC,SAAS,4BAA4B,wBAE7D,CAAH,mBAAmB,iBAAiB,oBAAoB,2BAA2B;iCAClE,iCAAiC,6BACxB,iCAAiC,4CACtD,2BAAqB,wBAAwB,2BAA2B,kCAAkC,CAAC,SAAS,4BAClG,wBAAwB,CAAC,qBAAqB,iBAAiB;yBAGhD,iBAAiB;wBACtD,iBAES;sBACC,2BACJ;4CAIkB,2BAA2B,0CAA0C,2BAA2B;yCAA8E,2BAA2B,oEAAoE,2BAA2B;+CAAsG,2BAA2B,oEAAoE,2BAA2B;2CAAkG,2BAA2B,0CAA0C,2BAA2B;wCAA+E,2BAA2B,mFAAmF,4BAA4B,uBAAuB,2BAA2B;4BAA2E,4BAA4B;uCAAkF,2BAA2B,mFAAmF,4BAA4B,uBAAuB,2BAA2B,gDAAgD,4BAA4B;2BAAuD,4BAA4B,4BAA4B,4BAA4B;yCAAqE,2BAA2B,mEAAmE,4BAA4B,uBAAuB,2BAA2B,gDAAgD,4BAA4B;;;4BA9DtzD,CAAA;AAElE,qBAAa,gBAAiB,SAAQ,oBAAoB;IACxD,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAyD;IACzG,gBAAyB,mBAAmB,EAAE,MAAM,CAA+B;IAEnF,SAAkB,OAAO,EAAE,MAAM,EAAE,CAAiD;IAErE,IAAI,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;cAK1B,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;cAyBxD,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;cAkBhE,YAAY;CAKtC"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { Hash } from '@xylabs/hex';
|
|
2
|
-
import { AbstractArchivist } from '@xyo-network/archivist-abstract';
|
|
3
|
-
import { Payload, Schema, WithMeta } from '@xyo-network/payload-model';
|
|
4
|
-
import { PayloadWithMongoMeta } from '@xyo-network/payload-mongodb';
|
|
5
|
-
declare const MongoDBArchivistBase: (abstract new (...args: any[]) => {
|
|
6
|
-
_boundWitnessSdk: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<import("@xyo-network/payload-mongodb").BoundWitnessWithMongoMeta> | undefined;
|
|
7
|
-
_payloadSdk: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<PayloadWithMongoMeta> | undefined;
|
|
8
|
-
readonly boundWitnessSdkConfig: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkConfig;
|
|
9
|
-
readonly boundWitnesses: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<import("@xyo-network/payload-mongodb").BoundWitnessWithMongoMeta>;
|
|
10
|
-
readonly jobQueue: import("@xyo-network/node-core-model").JobQueue;
|
|
11
|
-
readonly payloadSdkConfig: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkConfig;
|
|
12
|
-
readonly payloads: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<PayloadWithMongoMeta>;
|
|
13
|
-
ensureIndexes(): Promise<void>;
|
|
14
|
-
address: import("@xylabs/hex").Address;
|
|
15
|
-
config: import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
|
|
16
|
-
boundWitnessSdkConfig?: Partial<import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkPublicConfig> | undefined;
|
|
17
|
-
payloadSdkConfig?: Partial<import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkPublicConfig> | undefined;
|
|
18
|
-
schema: import("@xyo-network/module-model-mongodb").MongoDBModuleConfigSchema;
|
|
19
|
-
}, "schema"> & {
|
|
20
|
-
schema: "network.xyo.module.mongodb.config";
|
|
21
|
-
}, "schema"> & {
|
|
22
|
-
schema: string;
|
|
23
|
-
};
|
|
24
|
-
id: string;
|
|
25
|
-
modName?: import("@xyo-network/module-model").ModuleName;
|
|
26
|
-
params: import("@xylabs/object").BaseParamsFields & {
|
|
27
|
-
account?: import("@xyo-network/account-model").AccountInstance | "random";
|
|
28
|
-
addToResolvers?: boolean;
|
|
29
|
-
additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
|
|
30
|
-
allowNameResolution?: boolean;
|
|
31
|
-
config: import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
|
|
32
|
-
boundWitnessSdkConfig?: Partial<import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkPublicConfig> | undefined;
|
|
33
|
-
payloadSdkConfig?: Partial<import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkPublicConfig> | undefined;
|
|
34
|
-
schema: import("@xyo-network/module-model-mongodb").MongoDBModuleConfigSchema;
|
|
35
|
-
}, "schema"> & {
|
|
36
|
-
schema: "network.xyo.module.mongodb.config";
|
|
37
|
-
}, "schema"> & {
|
|
38
|
-
schema: string;
|
|
39
|
-
};
|
|
40
|
-
ephemeralQueryAccountEnabled?: boolean;
|
|
41
|
-
moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
|
|
42
|
-
} & {
|
|
43
|
-
boundWitnessSdkConfig?: (import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkPrivateConfig & Partial<import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkPublicConfig>) | undefined;
|
|
44
|
-
jobQueue?: import("@xyo-network/node-core-model").JobQueue;
|
|
45
|
-
payloadSdkConfig?: (import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkPrivateConfig & Partial<import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkPublicConfig>) | undefined;
|
|
46
|
-
};
|
|
47
|
-
previousHash: () => import("@xylabs/promise").Promisable<string | undefined>;
|
|
48
|
-
queries: string[];
|
|
49
|
-
query: <T extends import("@xyo-network/boundwitness-model").QueryBoundWitness = import("@xyo-network/boundwitness-model").QueryBoundWitness, TConf extends import("@xyo-network/module-model").ModuleConfig = import("@xyo-network/module-model").ModuleConfig>(query: T, payloads?: import("@xyo-network/payload-model").Payload[], queryConfig?: TConf) => import("@xylabs/promise").Promisable<import("@xyo-network/module-model").ModuleQueryResult>;
|
|
50
|
-
queryable: <T extends import("@xyo-network/boundwitness-model").QueryBoundWitness = import("@xyo-network/boundwitness-model").QueryBoundWitness, TConf_1 extends import("@xyo-network/module-model").ModuleConfig = import("@xyo-network/module-model").ModuleConfig>(query: T, payloads?: import("@xyo-network/payload-model").Payload[], queryConfig?: TConf_1) => import("@xylabs/promise").Promisable<boolean>;
|
|
51
|
-
start?: () => import("@xylabs/promise").Promisable<boolean>;
|
|
52
|
-
stop?: () => import("@xylabs/promise").Promisable<boolean>;
|
|
53
|
-
eventData: import("@xyo-network/module-model").ModuleEventData<object>;
|
|
54
|
-
clearListeners(eventNames: keyof import("@xyo-network/module-model").ModuleEventData<object> | (keyof import("@xyo-network/module-model").ModuleEventData<object>)[]): void;
|
|
55
|
-
emit<TEventName extends keyof import("@xyo-network/module-model").ModuleEventData<object>>(eventName: TEventName, eventArgs: import("@xyo-network/module-model").ModuleEventData<object>[TEventName]): Promise<void>;
|
|
56
|
-
emitSerial<TEventName extends keyof import("@xyo-network/module-model").ModuleEventData<object>>(eventName: TEventName, eventArgs: import("@xyo-network/module-model").ModuleEventData<object>[TEventName]): Promise<void>;
|
|
57
|
-
listenerCount(eventNames: keyof import("@xyo-network/module-model").ModuleEventData<object> | (keyof import("@xyo-network/module-model").ModuleEventData<object>)[]): number;
|
|
58
|
-
off<TEventName extends keyof import("@xyo-network/module-model").ModuleEventData<object>>(eventNames: TEventName | TEventName[], listener: import("@xyo-network/module-events").EventListener<import("@xyo-network/module-model").ModuleEventData<object>[TEventName]>): void;
|
|
59
|
-
offAny(listener: import("@xyo-network/module-events").EventAnyListener | Promise<void>): void;
|
|
60
|
-
on<TEventName extends keyof import("@xyo-network/module-model").ModuleEventData<object>>(eventNames: TEventName | TEventName[], listener: import("@xyo-network/module-events").EventListener<import("@xyo-network/module-model").ModuleEventData<object>[TEventName]>): import("@xyo-network/module-events").EventUnsubscribeFunction;
|
|
61
|
-
onAny(listener: import("@xyo-network/module-events").EventAnyListener): import("@xyo-network/module-events").EventUnsubscribeFunction;
|
|
62
|
-
once<TEventName extends keyof import("@xyo-network/module-model").ModuleEventData<object>>(eventName: TEventName, listener: import("@xyo-network/module-events").EventListener<import("@xyo-network/module-model").ModuleEventData<object>[TEventName]>): import("@xyo-network/module-events").EventUnsubscribeFunction;
|
|
63
|
-
}) & {
|
|
64
|
-
labels: import("@xyo-network/module-model-mongodb").MongoDBStorageClassLabels;
|
|
65
|
-
} & typeof AbstractArchivist;
|
|
66
|
-
export declare class MongoDBArchivist extends MongoDBArchivistBase {
|
|
67
|
-
static readonly configSchemas: Schema[];
|
|
68
|
-
static readonly defaultConfigSchema: Schema;
|
|
69
|
-
readonly queries: string[];
|
|
70
|
-
head(): Promise<Payload | undefined>;
|
|
71
|
-
protected getHandler(hashes: Hash[]): Promise<WithMeta<Payload>[]>;
|
|
72
|
-
protected insertHandler(payloads: Payload[]): Promise<WithMeta<Payload>[]>;
|
|
73
|
-
protected startHandler(): Promise<boolean>;
|
|
74
|
-
}
|
|
75
|
-
export {};
|
|
76
|
-
//# sourceMappingURL=Archivist.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Archivist.d.ts","sourceRoot":"","sources":["../../src/Archivist.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAKnE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,EAAwB,oBAAoB,EAAsB,MAAM,8BAA8B,CAAA;AAK7G,QAAA,MAAM,oBAAoB;;;;;8BAgCoH,8BACvH;;;;oBAEZ,aAGX;;+CA5B2C,+BAE3C;0CACkF,+BACvD;uBAEyB,mCAAmC;;;;;;;qBAsBR,2BACnE;;yBA3CZ,4BAA4B;;mCAIlB,4BAA4B;;uBAEO,4BACjC,wBAAwB,4BAA4B,8BAA8B,2BACjF,iCAAiC,2BAA2B,8BAEzD,4BAA4B,wBAAyB,4BAE7D,8BAA8B,2BAC7B,iCAAiC,2BAA2B;iCAC5C,CAAC,iBAAiB,+BAE3C;4BACgE,CAAC,iBAAiB,+BACvD;2BAEyB,mCAAmC;;;;;;;8CAItD,2BAA2B;;wCACpD,+BAA+B,6CAC7B,+BAA+B;0BAEhB,8BAA8B;mCAA4C,+BAC1F,6CAA6C,+BAC5C;;+BAcoB,iBAAiB;;6BAC5B,iCACd,6BAA8B,iCAAgC,0CAC5C,2BAA2B,wBAAyB,2BAA0B,kCAC1E,CAAC,SAAS,4BAA4B,wBAE7D,CAAH,mBAAmB,iBAAiB,oBAAoB,2BAA2B;iCAClE,iCAAiC,6BACxB,iCAAiC,4CACtD,2BAAqB,wBAAwB,2BAA2B,kCAAkC,CAAC,SAAS,4BAClG,wBAAwB,CAAC,qBAAqB,iBAAiB;yBAGhD,iBAAiB;wBACtD,iBAES;sBACC,2BACJ;4CAIkB,2BAA2B,0CAA0C,2BAA2B;yCAA8E,2BAA2B,oEAAoE,2BAA2B;+CAAsG,2BAA2B,oEAAoE,2BAA2B;2CAAkG,2BAA2B,0CAA0C,2BAA2B;wCAA+E,2BAA2B,mFAAmF,4BAA4B,uBAAuB,2BAA2B;4BAA2E,4BAA4B;uCAAkF,2BAA2B,mFAAmF,4BAA4B,uBAAuB,2BAA2B,gDAAgD,4BAA4B;2BAAuD,4BAA4B,4BAA4B,4BAA4B;yCAAqE,2BAA2B,mEAAmE,4BAA4B,uBAAuB,2BAA2B,gDAAgD,4BAA4B;;;4BA9DtzD,CAAA;AAElE,qBAAa,gBAAiB,SAAQ,oBAAoB;IACxD,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAyD;IACzG,gBAAyB,mBAAmB,EAAE,MAAM,CAA+B;IAEnF,SAAkB,OAAO,EAAE,MAAM,EAAE,CAAiD;IAErE,IAAI,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;cAK1B,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;cAyBxD,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;cAkBhE,YAAY;CAKtC"}
|
package/dist/node/index.cjs
DELETED
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __reflectGet = Reflect.get;
|
|
8
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
10
|
-
var __export = (target, all) => {
|
|
11
|
-
for (var name in all)
|
|
12
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
13
|
-
};
|
|
14
|
-
var __copyProps = (to, from, except, desc) => {
|
|
15
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
16
|
-
for (let key of __getOwnPropNames(from))
|
|
17
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
18
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
19
|
-
}
|
|
20
|
-
return to;
|
|
21
|
-
};
|
|
22
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
23
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
24
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
25
|
-
var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
|
|
26
|
-
|
|
27
|
-
// src/index.ts
|
|
28
|
-
var src_exports = {};
|
|
29
|
-
__export(src_exports, {
|
|
30
|
-
MongoDBArchivist: () => MongoDBArchivist
|
|
31
|
-
});
|
|
32
|
-
module.exports = __toCommonJS(src_exports);
|
|
33
|
-
|
|
34
|
-
// src/Archivist.ts
|
|
35
|
-
var import_exists = require("@xylabs/exists");
|
|
36
|
-
var import_archivist_abstract = require("@xyo-network/archivist-abstract");
|
|
37
|
-
var import_archivist_model = require("@xyo-network/archivist-model");
|
|
38
|
-
var import_archivist_model_mongodb = require("@xyo-network/archivist-model-mongodb");
|
|
39
|
-
var import_module_abstract_mongodb = require("@xyo-network/module-abstract-mongodb");
|
|
40
|
-
var import_payload_builder = require("@xyo-network/payload-builder");
|
|
41
|
-
var import_payload_mongodb = require("@xyo-network/payload-mongodb");
|
|
42
|
-
var import_payload_wrapper2 = require("@xyo-network/payload-wrapper");
|
|
43
|
-
|
|
44
|
-
// src/lib/validByType.ts
|
|
45
|
-
var import_boundwitness_model = require("@xyo-network/boundwitness-model");
|
|
46
|
-
var import_boundwitness_wrapper = require("@xyo-network/boundwitness-wrapper");
|
|
47
|
-
var import_payload_wrapper = require("@xyo-network/payload-wrapper");
|
|
48
|
-
var validByType = /* @__PURE__ */ __name(async (payloads = []) => {
|
|
49
|
-
const results = [
|
|
50
|
-
[],
|
|
51
|
-
[]
|
|
52
|
-
];
|
|
53
|
-
await Promise.all(payloads.map(async (payload) => {
|
|
54
|
-
if ((0, import_boundwitness_model.isBoundWitness)(payload)) {
|
|
55
|
-
const wrapper = (0, import_boundwitness_model.isQueryBoundWitness)(payload) ? import_boundwitness_wrapper.QueryBoundWitnessWrapper : import_boundwitness_wrapper.BoundWitnessWrapper;
|
|
56
|
-
const bw = wrapper.parse(payload);
|
|
57
|
-
if (await bw.getValid()) {
|
|
58
|
-
results[0].push(bw.payload);
|
|
59
|
-
} else {
|
|
60
|
-
const errors = await bw.getErrors();
|
|
61
|
-
console.log(`validByType.Error: ${JSON.stringify(errors, null, 2)}`);
|
|
62
|
-
}
|
|
63
|
-
} else {
|
|
64
|
-
const payloadWrapper = import_payload_wrapper.PayloadWrapper.wrap(payload);
|
|
65
|
-
if (await payloadWrapper.getValid()) {
|
|
66
|
-
results[1].push(payloadWrapper.payload);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return;
|
|
70
|
-
}));
|
|
71
|
-
return results;
|
|
72
|
-
}, "validByType");
|
|
73
|
-
|
|
74
|
-
// src/Archivist.ts
|
|
75
|
-
var MongoDBArchivistBase = (0, import_module_abstract_mongodb.MongoDBModuleMixin)(import_archivist_abstract.AbstractArchivist);
|
|
76
|
-
var _MongoDBArchivist = class _MongoDBArchivist extends MongoDBArchivistBase {
|
|
77
|
-
queries = [
|
|
78
|
-
import_archivist_model.ArchivistInsertQuerySchema,
|
|
79
|
-
...super.queries
|
|
80
|
-
];
|
|
81
|
-
async head() {
|
|
82
|
-
const head = await (await this.payloads.find({})).sort({
|
|
83
|
-
_timestamp: -1
|
|
84
|
-
}).limit(1).toArray();
|
|
85
|
-
return head[0] ? import_payload_wrapper2.PayloadWrapper.wrap(head[0]).payload : void 0;
|
|
86
|
-
}
|
|
87
|
-
async getHandler(hashes) {
|
|
88
|
-
let remainingHashes = [
|
|
89
|
-
...hashes
|
|
90
|
-
];
|
|
91
|
-
const dataPayloads = (await Promise.all(remainingHashes.map((_$hash) => this.payloads.findOne({
|
|
92
|
-
_$hash
|
|
93
|
-
})))).filter(import_exists.exists);
|
|
94
|
-
const dataPayloadsHashes = new Set(dataPayloads.map((payload) => payload._$hash));
|
|
95
|
-
remainingHashes = remainingHashes.filter((hash) => !dataPayloadsHashes.has(hash));
|
|
96
|
-
const dataBws = (await Promise.all(remainingHashes.map((_$hash) => this.boundWitnesses.findOne({
|
|
97
|
-
_$hash
|
|
98
|
-
})))).filter(import_exists.exists);
|
|
99
|
-
const dataBwsHashes = new Set(dataBws.map((payload) => payload._$hash));
|
|
100
|
-
remainingHashes = remainingHashes.filter((hash) => !dataBwsHashes.has(hash));
|
|
101
|
-
const payloads = (await Promise.all(remainingHashes.map((_hash) => this.payloads.findOne({
|
|
102
|
-
_hash
|
|
103
|
-
})))).filter(import_exists.exists);
|
|
104
|
-
const payloadsHashes = new Set(payloads.map((payload) => payload._hash));
|
|
105
|
-
remainingHashes = remainingHashes.filter((hash) => !payloadsHashes.has(hash));
|
|
106
|
-
const bws = (await Promise.all(remainingHashes.map((_hash) => this.boundWitnesses.findOne({
|
|
107
|
-
_hash
|
|
108
|
-
})))).filter(import_exists.exists);
|
|
109
|
-
const bwsHashes = new Set(bws.map((payload) => payload._hash));
|
|
110
|
-
remainingHashes = remainingHashes.filter((hash) => !bwsHashes.has(hash));
|
|
111
|
-
const foundPayloads = [
|
|
112
|
-
...dataPayloads,
|
|
113
|
-
...dataBws,
|
|
114
|
-
...payloads,
|
|
115
|
-
...bws
|
|
116
|
-
];
|
|
117
|
-
const result = await import_payload_builder.PayloadBuilder.build(foundPayloads.map(import_payload_mongodb.fromDbRepresentation));
|
|
118
|
-
return result;
|
|
119
|
-
}
|
|
120
|
-
async insertHandler(payloads) {
|
|
121
|
-
const [bw, p] = await validByType(payloads);
|
|
122
|
-
const payloadsWithExternalMeta = await Promise.all(p.map((value, index) => (0, import_payload_mongodb.toDbRepresentation)(value, index)));
|
|
123
|
-
if (payloadsWithExternalMeta.length > 0) {
|
|
124
|
-
const payloadsResult = await this.payloads.insertMany(payloadsWithExternalMeta);
|
|
125
|
-
if (!payloadsResult.acknowledged || payloadsResult.insertedCount !== payloadsWithExternalMeta.length) throw new Error("MongoDBDeterministicArchivist: Error inserting Payloads");
|
|
126
|
-
}
|
|
127
|
-
const boundWitnessesWithExternalMeta = await Promise.all(bw.map((value, index) => (0, import_payload_mongodb.toDbRepresentation)(value, index)));
|
|
128
|
-
if (boundWitnessesWithExternalMeta.length > 0) {
|
|
129
|
-
const boundWitnessesResult = await this.boundWitnesses.insertMany(boundWitnessesWithExternalMeta);
|
|
130
|
-
if (!boundWitnessesResult.acknowledged || boundWitnessesResult.insertedCount !== boundWitnessesWithExternalMeta.length) throw new Error("MongoDBDeterministicArchivist: Error inserting BoundWitnesses");
|
|
131
|
-
}
|
|
132
|
-
return await import_payload_builder.PayloadBuilder.build([
|
|
133
|
-
...boundWitnessesWithExternalMeta,
|
|
134
|
-
...payloadsWithExternalMeta
|
|
135
|
-
]);
|
|
136
|
-
}
|
|
137
|
-
async startHandler() {
|
|
138
|
-
await super.startHandler();
|
|
139
|
-
await this.ensureIndexes();
|
|
140
|
-
return true;
|
|
141
|
-
}
|
|
142
|
-
};
|
|
143
|
-
__name(_MongoDBArchivist, "MongoDBArchivist");
|
|
144
|
-
__publicField(_MongoDBArchivist, "configSchemas", [
|
|
145
|
-
...__superGet(_MongoDBArchivist, _MongoDBArchivist, "configSchemas"),
|
|
146
|
-
import_archivist_model_mongodb.MongoDBArchivistConfigSchema
|
|
147
|
-
]);
|
|
148
|
-
__publicField(_MongoDBArchivist, "defaultConfigSchema", import_archivist_model_mongodb.MongoDBArchivistConfigSchema);
|
|
149
|
-
var MongoDBArchivist = _MongoDBArchivist;
|
|
150
|
-
|
|
151
|
-
// src/index.ts
|
|
152
|
-
__reExport(src_exports, require("@xyo-network/archivist-model-mongodb"), module.exports);
|
|
153
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
154
|
-
0 && (module.exports = {
|
|
155
|
-
MongoDBArchivist,
|
|
156
|
-
...require("@xyo-network/archivist-model-mongodb")
|
|
157
|
-
});
|
|
158
|
-
//# sourceMappingURL=index.cjs.map
|
package/dist/node/index.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/Archivist.ts","../../src/lib/validByType.ts"],"sourcesContent":["export * from './Archivist.js'\nexport * from '@xyo-network/archivist-model-mongodb'\n","import { exists } from '@xylabs/exists'\nimport { Hash } from '@xylabs/hex'\nimport { AbstractArchivist } from '@xyo-network/archivist-abstract'\nimport { ArchivistInsertQuerySchema } from '@xyo-network/archivist-model'\nimport { MongoDBArchivistConfigSchema } from '@xyo-network/archivist-model-mongodb'\nimport { MongoDBModuleMixin } from '@xyo-network/module-abstract-mongodb'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload, Schema, WithMeta } from '@xyo-network/payload-model'\nimport { fromDbRepresentation, PayloadWithMongoMeta, toDbRepresentation } from '@xyo-network/payload-mongodb'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nimport { validByType } from './lib/index.js'\n\nconst MongoDBArchivistBase = MongoDBModuleMixin(AbstractArchivist)\n\nexport class MongoDBArchivist extends MongoDBArchivistBase {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, MongoDBArchivistConfigSchema]\n static override readonly defaultConfigSchema: Schema = MongoDBArchivistConfigSchema\n\n override readonly queries: string[] = [ArchivistInsertQuerySchema, ...super.queries]\n\n override async head(): Promise<Payload | undefined> {\n const head = await (await this.payloads.find({})).sort({ _timestamp: -1 }).limit(1).toArray()\n return head[0] ? PayloadWrapper.wrap(head[0]).payload : undefined\n }\n\n protected override async getHandler(hashes: Hash[]): Promise<WithMeta<Payload>[]> {\n let remainingHashes = [...hashes]\n\n const dataPayloads = (await Promise.all(remainingHashes.map(_$hash => this.payloads.findOne({ _$hash })))).filter(exists)\n const dataPayloadsHashes = new Set(dataPayloads.map(payload => payload._$hash))\n remainingHashes = remainingHashes.filter(hash => !dataPayloadsHashes.has(hash))\n\n const dataBws = (await Promise.all(remainingHashes.map(_$hash => this.boundWitnesses.findOne({ _$hash })))).filter(exists)\n const dataBwsHashes = new Set(dataBws.map(payload => payload._$hash))\n remainingHashes = remainingHashes.filter(hash => !dataBwsHashes.has(hash))\n\n const payloads = (await Promise.all(remainingHashes.map(_hash => this.payloads.findOne({ _hash })))).filter(exists)\n const payloadsHashes = new Set(payloads.map(payload => payload._hash))\n remainingHashes = remainingHashes.filter(hash => !payloadsHashes.has(hash))\n\n const bws = (await Promise.all(remainingHashes.map(_hash => this.boundWitnesses.findOne({ _hash })))).filter(exists)\n const bwsHashes = new Set(bws.map(payload => payload._hash))\n remainingHashes = remainingHashes.filter(hash => !bwsHashes.has(hash))\n\n const foundPayloads = [...dataPayloads, ...dataBws, ...payloads, ...bws] as PayloadWithMongoMeta<Payload & { _$hash: Hash; _$meta?: unknown }>[]\n const result = await PayloadBuilder.build(foundPayloads.map(fromDbRepresentation))\n // console.log(`getHandler: ${JSON.stringify(hashes, null, 2)}:${JSON.stringify(result, null, 2)}`)\n return result\n }\n\n protected override async insertHandler(payloads: Payload[]): Promise<WithMeta<Payload>[]> {\n const [bw, p] = await validByType(payloads)\n const payloadsWithExternalMeta = await Promise.all(p.map((value, index) => toDbRepresentation(value, index)))\n if (payloadsWithExternalMeta.length > 0) {\n const payloadsResult = await this.payloads.insertMany(payloadsWithExternalMeta)\n if (!payloadsResult.acknowledged || payloadsResult.insertedCount !== payloadsWithExternalMeta.length)\n throw new Error('MongoDBDeterministicArchivist: Error inserting Payloads')\n }\n const boundWitnessesWithExternalMeta = await Promise.all(bw.map((value, index) => toDbRepresentation(value, index)))\n if (boundWitnessesWithExternalMeta.length > 0) {\n const boundWitnessesResult = await this.boundWitnesses.insertMany(boundWitnessesWithExternalMeta)\n if (!boundWitnessesResult.acknowledged || boundWitnessesResult.insertedCount !== boundWitnessesWithExternalMeta.length)\n throw new Error('MongoDBDeterministicArchivist: Error inserting BoundWitnesses')\n }\n\n return await PayloadBuilder.build([...boundWitnessesWithExternalMeta, ...payloadsWithExternalMeta])\n }\n\n protected override async startHandler() {\n await super.startHandler()\n await this.ensureIndexes()\n return true\n }\n}\n","import { BoundWitness, isBoundWitness, isQueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessWrapper, QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nexport const validByType = async (payloads: Payload[] = []) => {\n const results: [BoundWitness[], Payload[]] = [[], []]\n await Promise.all(\n payloads.map(async (payload) => {\n if (isBoundWitness(payload)) {\n const wrapper = isQueryBoundWitness(payload) ? QueryBoundWitnessWrapper : BoundWitnessWrapper\n const bw = wrapper.parse(payload)\n if (await bw.getValid()) {\n results[0].push(bw.payload)\n } else {\n const errors = await bw.getErrors()\n console.log(`validByType.Error: ${JSON.stringify(errors, null, 2)}`)\n }\n } else {\n const payloadWrapper = PayloadWrapper.wrap(payload)\n if (await payloadWrapper.getValid()) {\n results[1].push(payloadWrapper.payload)\n }\n }\n return\n }),\n )\n return results\n}\n"],"mappings":"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","names":["import_payload_wrapper","validByType","payloads","results","Promise","all","map","payload","isBoundWitness","wrapper","isQueryBoundWitness","QueryBoundWitnessWrapper","BoundWitnessWrapper","bw","parse","getValid","push","errors","getErrors","console","log","JSON","stringify","payloadWrapper","PayloadWrapper","wrap","MongoDBArchivistBase","MongoDBModuleMixin","AbstractArchivist","MongoDBArchivist","queries","ArchivistInsertQuerySchema","head","payloads","find","sort","_timestamp","limit","toArray","PayloadWrapper","wrap","payload","undefined","getHandler","hashes","remainingHashes","dataPayloads","Promise","all","map","_$hash","findOne","filter","exists","dataPayloadsHashes","Set","hash","has","dataBws","boundWitnesses","dataBwsHashes","_hash","payloadsHashes","bws","bwsHashes","foundPayloads","result","PayloadBuilder","build","fromDbRepresentation","insertHandler","bw","p","validByType","payloadsWithExternalMeta","value","index","toDbRepresentation","length","payloadsResult","insertMany","acknowledged","insertedCount","Error","boundWitnessesWithExternalMeta","boundWitnessesResult","startHandler","ensureIndexes","configSchemas","MongoDBArchivistConfigSchema","defaultConfigSchema"]}
|
package/dist/node/index.d.cts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sCAAsC,CAAA"}
|
package/dist/node/index.d.mts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sCAAsC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
|