@xyo-network/archivist-mongodb 2.82.0 → 2.84.0-rc.1

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 (102) hide show
  1. package/dist/browser/Archivist.d.cts +50 -61
  2. package/dist/browser/Archivist.d.cts.map +1 -1
  3. package/dist/browser/Archivist.d.mts +50 -61
  4. package/dist/browser/Archivist.d.mts.map +1 -1
  5. package/dist/browser/Archivist.d.ts +50 -61
  6. package/dist/browser/Archivist.d.ts.map +1 -1
  7. package/dist/browser/index.cjs +68 -54
  8. package/dist/browser/index.cjs.map +1 -1
  9. package/dist/browser/index.js +68 -54
  10. package/dist/browser/index.js.map +1 -1
  11. package/dist/browser/lib/index.d.cts +1 -2
  12. package/dist/browser/lib/index.d.cts.map +1 -1
  13. package/dist/browser/lib/index.d.mts +1 -2
  14. package/dist/browser/lib/index.d.mts.map +1 -1
  15. package/dist/browser/lib/index.d.ts +1 -2
  16. package/dist/browser/lib/index.d.ts.map +1 -1
  17. package/dist/browser/lib/toPayloadWithMongoMeta.d.cts +5 -0
  18. package/dist/browser/lib/toPayloadWithMongoMeta.d.cts.map +1 -0
  19. package/dist/browser/lib/toPayloadWithMongoMeta.d.mts +5 -0
  20. package/dist/browser/lib/toPayloadWithMongoMeta.d.mts.map +1 -0
  21. package/dist/browser/lib/toPayloadWithMongoMeta.d.ts +5 -0
  22. package/dist/browser/lib/toPayloadWithMongoMeta.d.ts.map +1 -0
  23. package/dist/browser/lib/toReturnValue.d.cts +1 -2
  24. package/dist/browser/lib/toReturnValue.d.cts.map +1 -1
  25. package/dist/browser/lib/toReturnValue.d.mts +1 -2
  26. package/dist/browser/lib/toReturnValue.d.mts.map +1 -1
  27. package/dist/browser/lib/toReturnValue.d.ts +1 -2
  28. package/dist/browser/lib/toReturnValue.d.ts.map +1 -1
  29. package/dist/browser/lib/validByType.d.cts +3 -7
  30. package/dist/browser/lib/validByType.d.cts.map +1 -1
  31. package/dist/browser/lib/validByType.d.mts +3 -7
  32. package/dist/browser/lib/validByType.d.mts.map +1 -1
  33. package/dist/browser/lib/validByType.d.ts +3 -7
  34. package/dist/browser/lib/validByType.d.ts.map +1 -1
  35. package/dist/node/Archivist.d.cts +50 -61
  36. package/dist/node/Archivist.d.cts.map +1 -1
  37. package/dist/node/Archivist.d.mts +50 -61
  38. package/dist/node/Archivist.d.mts.map +1 -1
  39. package/dist/node/Archivist.d.ts +50 -61
  40. package/dist/node/Archivist.d.ts.map +1 -1
  41. package/dist/node/index.cjs +182 -0
  42. package/dist/node/index.cjs.map +1 -0
  43. package/dist/node/index.js +86 -99
  44. package/dist/node/index.js.map +1 -1
  45. package/dist/node/lib/index.d.cts +1 -2
  46. package/dist/node/lib/index.d.cts.map +1 -1
  47. package/dist/node/lib/index.d.mts +1 -2
  48. package/dist/node/lib/index.d.mts.map +1 -1
  49. package/dist/node/lib/index.d.ts +1 -2
  50. package/dist/node/lib/index.d.ts.map +1 -1
  51. package/dist/node/lib/toPayloadWithMongoMeta.d.cts +5 -0
  52. package/dist/node/lib/toPayloadWithMongoMeta.d.cts.map +1 -0
  53. package/dist/node/lib/toPayloadWithMongoMeta.d.mts +5 -0
  54. package/dist/node/lib/toPayloadWithMongoMeta.d.mts.map +1 -0
  55. package/dist/node/lib/toPayloadWithMongoMeta.d.ts +5 -0
  56. package/dist/node/lib/toPayloadWithMongoMeta.d.ts.map +1 -0
  57. package/dist/node/lib/toReturnValue.d.cts +1 -2
  58. package/dist/node/lib/toReturnValue.d.cts.map +1 -1
  59. package/dist/node/lib/toReturnValue.d.mts +1 -2
  60. package/dist/node/lib/toReturnValue.d.mts.map +1 -1
  61. package/dist/node/lib/toReturnValue.d.ts +1 -2
  62. package/dist/node/lib/toReturnValue.d.ts.map +1 -1
  63. package/dist/node/lib/validByType.d.cts +3 -7
  64. package/dist/node/lib/validByType.d.cts.map +1 -1
  65. package/dist/node/lib/validByType.d.mts +3 -7
  66. package/dist/node/lib/validByType.d.mts.map +1 -1
  67. package/dist/node/lib/validByType.d.ts +3 -7
  68. package/dist/node/lib/validByType.d.ts.map +1 -1
  69. package/package.json +32 -30
  70. package/src/Archivist.ts +35 -19
  71. package/src/lib/index.ts +1 -2
  72. package/src/lib/toPayloadWithMongoMeta.ts +10 -0
  73. package/src/lib/toReturnValue.ts +3 -9
  74. package/src/lib/validByType.ts +10 -6
  75. package/dist/browser/lib/toBoundWitnessWithMeta.d.cts +0 -5
  76. package/dist/browser/lib/toBoundWitnessWithMeta.d.cts.map +0 -1
  77. package/dist/browser/lib/toBoundWitnessWithMeta.d.mts +0 -5
  78. package/dist/browser/lib/toBoundWitnessWithMeta.d.mts.map +0 -1
  79. package/dist/browser/lib/toBoundWitnessWithMeta.d.ts +0 -5
  80. package/dist/browser/lib/toBoundWitnessWithMeta.d.ts.map +0 -1
  81. package/dist/browser/lib/toPayloadWithMeta.d.cts +0 -4
  82. package/dist/browser/lib/toPayloadWithMeta.d.cts.map +0 -1
  83. package/dist/browser/lib/toPayloadWithMeta.d.mts +0 -4
  84. package/dist/browser/lib/toPayloadWithMeta.d.mts.map +0 -1
  85. package/dist/browser/lib/toPayloadWithMeta.d.ts +0 -4
  86. package/dist/browser/lib/toPayloadWithMeta.d.ts.map +0 -1
  87. package/dist/node/index.mjs +0 -141
  88. package/dist/node/index.mjs.map +0 -1
  89. package/dist/node/lib/toBoundWitnessWithMeta.d.cts +0 -5
  90. package/dist/node/lib/toBoundWitnessWithMeta.d.cts.map +0 -1
  91. package/dist/node/lib/toBoundWitnessWithMeta.d.mts +0 -5
  92. package/dist/node/lib/toBoundWitnessWithMeta.d.mts.map +0 -1
  93. package/dist/node/lib/toBoundWitnessWithMeta.d.ts +0 -5
  94. package/dist/node/lib/toBoundWitnessWithMeta.d.ts.map +0 -1
  95. package/dist/node/lib/toPayloadWithMeta.d.cts +0 -4
  96. package/dist/node/lib/toPayloadWithMeta.d.cts.map +0 -1
  97. package/dist/node/lib/toPayloadWithMeta.d.mts +0 -4
  98. package/dist/node/lib/toPayloadWithMeta.d.mts.map +0 -1
  99. package/dist/node/lib/toPayloadWithMeta.d.ts +0 -4
  100. package/dist/node/lib/toPayloadWithMeta.d.ts.map +0 -1
  101. package/src/lib/toBoundWitnessWithMeta.ts +0 -9
  102. package/src/lib/toPayloadWithMeta.ts +0 -6
@@ -1,149 +1,138 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7
3
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
21
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
4
  var __publicField = (obj, key, value) => {
23
5
  __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
24
6
  return value;
25
7
  };
26
8
 
27
- // src/index.ts
28
- var src_exports = {};
29
- __export(src_exports, {
30
- MongoDBArchivist: () => MongoDBArchivist
31
- });
32
- module.exports = __toCommonJS(src_exports);
33
-
34
9
  // src/Archivist.ts
35
- var import_exists = require("@xylabs/exists");
36
- var import_promise = require("@xylabs/promise");
37
- var import_archivist_abstract = require("@xyo-network/archivist-abstract");
38
- var import_archivist_model = require("@xyo-network/archivist-model");
39
- var import_archivist_model_mongodb = require("@xyo-network/archivist-model-mongodb");
40
- var import_module_abstract_mongodb = require("@xyo-network/module-abstract-mongodb");
41
- var import_payload_wrapper3 = require("@xyo-network/payload-wrapper");
10
+ import { exists } from "@xylabs/exists";
11
+ import { AbstractArchivist } from "@xyo-network/archivist-abstract";
12
+ import { ArchivistConfigSchema, ArchivistInsertQuerySchema } from "@xyo-network/archivist-model";
13
+ import { MongoDBArchivistConfigSchema } from "@xyo-network/archivist-model-mongodb";
14
+ import { MongoDBModuleMixin } from "@xyo-network/module-abstract-mongodb";
15
+ import { PayloadWrapper as PayloadWrapper2 } from "@xyo-network/payload-wrapper";
42
16
 
43
- // src/lib/toBoundWitnessWithMeta.ts
44
- var toBoundWitnessWithMeta = /* @__PURE__ */ __name(async (wrapper) => {
45
- const bw = wrapper.boundwitness;
17
+ // src/lib/toPayloadWithMongoMeta.ts
18
+ import { PayloadBuilder } from "@xyo-network/payload-builder";
19
+ var toPayloadWithMongoMeta = /* @__PURE__ */ __name(async (payload) => {
20
+ const built = await PayloadBuilder.build(payload);
21
+ const _hash = await PayloadBuilder.hash(built);
22
+ const { $hash, $meta, ...fields } = built;
46
23
  return {
47
- ...bw,
48
- _hash: await wrapper.hashAsync(),
24
+ ...fields,
25
+ _$hash: $hash,
26
+ _$meta: $meta,
27
+ _hash,
49
28
  _timestamp: Date.now()
50
29
  };
51
- }, "toBoundWitnessWithMeta");
52
-
53
- // src/lib/toPayloadWithMeta.ts
54
- var toPayloadWithMeta = /* @__PURE__ */ __name(async (wrapper) => {
55
- return {
56
- ...wrapper.payload(),
57
- _hash: await wrapper.hashAsync(),
58
- _timestamp: Date.now()
59
- };
60
- }, "toPayloadWithMeta");
30
+ }, "toPayloadWithMongoMeta");
61
31
 
62
32
  // src/lib/toReturnValue.ts
63
- var import_payload_wrapper = require("@xyo-network/payload-wrapper");
33
+ import { deepOmitPrefixedFields } from "@xyo-network/hash";
64
34
  var toReturnValue = /* @__PURE__ */ __name((value) => {
65
- const _signatures = value == null ? void 0 : value._signatures;
66
- if (_signatures) {
67
- return {
68
- ...import_payload_wrapper.PayloadWrapper.wrap(value).body(),
69
- _signatures
70
- };
71
- } else {
72
- return {
73
- ...import_payload_wrapper.PayloadWrapper.wrap(value).body()
74
- };
75
- }
35
+ return deepOmitPrefixedFields(value, "_");
76
36
  }, "toReturnValue");
77
37
 
78
38
  // src/lib/validByType.ts
79
- var import_boundwitness_builder = require("@xyo-network/boundwitness-builder");
80
- var import_boundwitness_model = require("@xyo-network/boundwitness-model");
81
- var import_boundwitness_wrapper = require("@xyo-network/boundwitness-wrapper");
82
- var import_payload_wrapper2 = require("@xyo-network/payload-wrapper");
39
+ import { QueryBoundWitnessWrapper } from "@xyo-network/boundwitness-builder";
40
+ import { isBoundWitness, isQueryBoundWitness } from "@xyo-network/boundwitness-model";
41
+ import { BoundWitnessWrapper } from "@xyo-network/boundwitness-wrapper";
42
+ import { PayloadWrapper } from "@xyo-network/payload-wrapper";
83
43
  var validByType = /* @__PURE__ */ __name(async (payloads = []) => {
84
44
  const results = [
85
45
  [],
86
46
  []
87
47
  ];
88
48
  await Promise.all(payloads.map(async (payload) => {
89
- if ((0, import_boundwitness_model.isBoundWitness)(payload)) {
90
- const wrapper = (0, import_boundwitness_model.isQueryBoundWitness)(payload) ? import_boundwitness_builder.QueryBoundWitnessWrapper : import_boundwitness_wrapper.BoundWitnessWrapper;
91
- const bw = wrapper.parse(payload);
49
+ if (isBoundWitness(payload)) {
50
+ const wrapper = isQueryBoundWitness(payload) ? QueryBoundWitnessWrapper : BoundWitnessWrapper;
51
+ const bw = await wrapper.parse(payload);
92
52
  if (await bw.getValid()) {
93
- results[0].push(bw);
53
+ results[0].push(bw.jsonPayload());
54
+ } else {
55
+ const errors = await bw.getErrors();
56
+ console.log(`validByType.Error: ${JSON.stringify(errors, null, 2)}`);
94
57
  }
95
58
  } else {
96
- const payloadWrapper = import_payload_wrapper2.PayloadWrapper.wrap(payload);
59
+ const payloadWrapper = await PayloadWrapper.wrap(payload);
97
60
  if (await payloadWrapper.getValid()) {
98
- results[1].push(payloadWrapper);
61
+ results[1].push(payloadWrapper.jsonPayload());
99
62
  }
100
63
  }
64
+ return;
101
65
  }));
102
66
  return results;
103
67
  }, "validByType");
104
68
 
105
69
  // src/Archivist.ts
106
- var MongoDBArchivistBase = (0, import_module_abstract_mongodb.MongoDBModuleMixin)(import_archivist_abstract.AbstractArchivist);
70
+ var MongoDBArchivistBase = MongoDBModuleMixin(AbstractArchivist);
107
71
  var _MongoDBArchivist = class _MongoDBArchivist extends MongoDBArchivistBase {
108
72
  queries = [
109
- import_archivist_model.ArchivistInsertQuerySchema,
73
+ ArchivistInsertQuerySchema,
110
74
  ...super.queries
111
75
  ];
112
76
  async head() {
113
77
  const head = await (await this.payloads.find({})).sort({
114
78
  _timestamp: -1
115
79
  }).limit(1).toArray();
116
- return head[0] ? import_payload_wrapper3.PayloadWrapper.wrap(head[0]).body() : void 0;
80
+ return head[0] ? (await PayloadWrapper2.wrap(head[0])).jsonPayload() : void 0;
117
81
  }
118
82
  async getHandler(hashes) {
119
- const payloads = hashes.map((_hash) => this.payloads.findOne({
83
+ let remainingHashes = [
84
+ ...hashes
85
+ ];
86
+ const dataPayloads = (await Promise.all(remainingHashes.map((_$hash) => this.payloads.findOne({
87
+ _$hash
88
+ })))).filter(exists);
89
+ const dataPayloadsHashes = dataPayloads.map((payload) => payload._$hash);
90
+ remainingHashes = remainingHashes.filter((hash) => !dataPayloadsHashes.includes(hash));
91
+ const dataBws = (await Promise.all(remainingHashes.map((_$hash) => this.boundWitnesses.findOne({
92
+ _$hash
93
+ })))).filter(exists);
94
+ const dataBwsHashes = dataBws.map((payload) => payload._$hash);
95
+ remainingHashes = remainingHashes.filter((hash) => !dataBwsHashes.includes(hash));
96
+ const payloads = (await Promise.all(remainingHashes.map((_hash) => this.payloads.findOne({
120
97
  _hash
121
- }));
122
- const bws = hashes.map((_hash) => this.boundWitnesses.findOne({
98
+ })))).filter(exists);
99
+ const payloadsHashes = payloads.map((payload) => payload._hash);
100
+ remainingHashes = remainingHashes.filter((hash) => !payloadsHashes.includes(hash));
101
+ const bws = (await Promise.all(remainingHashes.map((_hash) => this.boundWitnesses.findOne({
123
102
  _hash
124
- }));
125
- const gets = await Promise.allSettled([
126
- payloads,
127
- bws
128
- ].flat());
129
- const succeeded = gets.reduce(import_promise.fulfilledValues, []);
130
- return succeeded.filter(import_exists.exists).map(toReturnValue);
103
+ })))).filter(exists);
104
+ const bwsHashes = bws.map((payload) => payload._hash);
105
+ remainingHashes = remainingHashes.filter((hash) => !bwsHashes.includes(hash));
106
+ const foundPayloads = [
107
+ ...dataPayloads,
108
+ ...dataBws,
109
+ ...payloads,
110
+ ...bws
111
+ ];
112
+ return foundPayloads.map(({ _$hash, _$meta, ...other }) => ({
113
+ $hash: _$hash,
114
+ $meta: _$meta,
115
+ ...other
116
+ })).map(toReturnValue);
131
117
  }
132
118
  async insertHandler(payloads) {
133
119
  const [bw, p] = await validByType(payloads);
134
- const payloadsWithMeta = await Promise.all(p.map((x) => toPayloadWithMeta(x)));
135
- if (payloadsWithMeta.length) {
136
- const payloadsResult = await this.payloads.insertMany(payloadsWithMeta);
137
- if (!payloadsResult.acknowledged || payloadsResult.insertedCount !== payloadsWithMeta.length)
120
+ const payloadsWithExternalMeta = await Promise.all(p.map((x) => toPayloadWithMongoMeta(x)));
121
+ if (payloadsWithExternalMeta.length) {
122
+ const payloadsResult = await this.payloads.insertMany(payloadsWithExternalMeta);
123
+ if (!payloadsResult.acknowledged || payloadsResult.insertedCount !== payloadsWithExternalMeta.length)
138
124
  throw new Error("MongoDBDeterministicArchivist: Error inserting Payloads");
139
125
  }
140
- const boundWitnesses = await Promise.all(bw.map((x) => toBoundWitnessWithMeta(x)));
141
- if (boundWitnesses.length) {
142
- const boundWitnessesResult = await this.boundWitnesses.insertMany(boundWitnesses);
143
- if (!boundWitnessesResult.acknowledged || boundWitnessesResult.insertedCount !== boundWitnesses.length)
126
+ const boundWitnessesWithExternalMeta = await Promise.all(bw.map((x) => toPayloadWithMongoMeta(x)));
127
+ if (boundWitnessesWithExternalMeta.length) {
128
+ const boundWitnessesResult = await this.boundWitnesses.insertMany(boundWitnessesWithExternalMeta);
129
+ if (!boundWitnessesResult.acknowledged || boundWitnessesResult.insertedCount !== boundWitnessesWithExternalMeta.length)
144
130
  throw new Error("MongoDBDeterministicArchivist: Error inserting BoundWitnesses");
145
131
  }
146
- return payloads ?? [];
132
+ return [
133
+ ...boundWitnessesWithExternalMeta,
134
+ ...payloadsWithExternalMeta
135
+ ];
147
136
  }
148
137
  async startHandler() {
149
138
  await super.startHandler();
@@ -153,16 +142,14 @@ var _MongoDBArchivist = class _MongoDBArchivist extends MongoDBArchivistBase {
153
142
  };
154
143
  __name(_MongoDBArchivist, "MongoDBArchivist");
155
144
  __publicField(_MongoDBArchivist, "configSchemas", [
156
- import_archivist_model_mongodb.MongoDBArchivistConfigSchema,
157
- import_archivist_model.ArchivistConfigSchema
145
+ MongoDBArchivistConfigSchema,
146
+ ArchivistConfigSchema
158
147
  ]);
159
148
  var MongoDBArchivist = _MongoDBArchivist;
160
149
 
161
150
  // src/index.ts
162
- __reExport(src_exports, require("@xyo-network/archivist-model-mongodb"), module.exports);
163
- // Annotate the CommonJS export names for ESM import in node:
164
- 0 && (module.exports = {
165
- MongoDBArchivist,
166
- ...require("@xyo-network/archivist-model-mongodb")
167
- });
151
+ export * from "@xyo-network/archivist-model-mongodb";
152
+ export {
153
+ MongoDBArchivist
154
+ };
168
155
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/Archivist.ts","../../src/lib/toBoundWitnessWithMeta.ts","../../src/lib/toPayloadWithMeta.ts","../../src/lib/toReturnValue.ts","../../src/lib/validByType.ts"],"sourcesContent":["export * from './Archivist'\nexport * from '@xyo-network/archivist-model-mongodb'\n","import { exists } from '@xylabs/exists'\nimport { fulfilledValues } from '@xylabs/promise'\nimport { AbstractArchivist } from '@xyo-network/archivist-abstract'\nimport { ArchivistConfigSchema, ArchivistInsertQuerySchema } from '@xyo-network/archivist-model'\nimport { MongoDBArchivistConfigSchema } from '@xyo-network/archivist-model-mongodb'\nimport { MongoDBModuleMixin } from '@xyo-network/module-abstract-mongodb'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadWithPartialMeta } from '@xyo-network/payload-mongodb'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nimport { toBoundWitnessWithMeta, toPayloadWithMeta, toReturnValue, validByType } from './lib'\n\nconst MongoDBArchivistBase = MongoDBModuleMixin(AbstractArchivist)\n\nexport class MongoDBArchivist extends MongoDBArchivistBase {\n static override configSchemas = [MongoDBArchivistConfigSchema, ArchivistConfigSchema]\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]).body() : undefined\n }\n\n protected override async getHandler(hashes: string[]): Promise<Payload[]> {\n const payloads = hashes.map((_hash) => this.payloads.findOne({ _hash }))\n const bws = hashes.map((_hash) => this.boundWitnesses.findOne({ _hash }))\n const gets = await Promise.allSettled([payloads, bws].flat())\n const succeeded = gets.reduce<(PayloadWithPartialMeta | null)[]>(fulfilledValues, []) as Payload[]\n return succeeded.filter(exists).map(toReturnValue)\n }\n\n protected override async insertHandler(payloads?: Payload[]): Promise<Payload[]> {\n const [bw, p] = await validByType(payloads)\n const payloadsWithMeta = await Promise.all(p.map((x) => toPayloadWithMeta(x)))\n if (payloadsWithMeta.length) {\n const payloadsResult = await this.payloads.insertMany(payloadsWithMeta)\n if (!payloadsResult.acknowledged || payloadsResult.insertedCount !== payloadsWithMeta.length)\n throw new Error('MongoDBDeterministicArchivist: Error inserting Payloads')\n }\n const boundWitnesses = await Promise.all(bw.map((x) => toBoundWitnessWithMeta(x)))\n if (boundWitnesses.length) {\n const boundWitnessesResult = await this.boundWitnesses.insertMany(boundWitnesses)\n if (!boundWitnessesResult.acknowledged || boundWitnessesResult.insertedCount !== boundWitnesses.length)\n throw new Error('MongoDBDeterministicArchivist: Error inserting BoundWitnesses')\n }\n return payloads ?? []\n }\n\n protected override async startHandler() {\n await super.startHandler()\n await this.ensureIndexes()\n return true\n }\n}\n","import { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'\nimport { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { BoundWitnessWithMeta } from '@xyo-network/payload-mongodb'\n\nexport const toBoundWitnessWithMeta = async (wrapper: BoundWitnessWrapper | QueryBoundWitnessWrapper): Promise<BoundWitnessWithMeta> => {\n const bw = wrapper.boundwitness as BoundWitness\n return { ...bw, _hash: await wrapper.hashAsync(), _timestamp: Date.now() }\n}\n","import { PayloadWithMeta } from '@xyo-network/payload-mongodb'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nexport const toPayloadWithMeta = async (wrapper: PayloadWrapper): Promise<PayloadWithMeta> => {\n return { ...wrapper.payload(), _hash: await wrapper.hashAsync(), _timestamp: Date.now() }\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nexport const toReturnValue = (value: Payload | BoundWitness): Payload => {\n const _signatures = (value as BoundWitness)?._signatures\n if (_signatures) {\n return { ...PayloadWrapper.wrap(value).body(), _signatures } as BoundWitness\n } else {\n return { ...PayloadWrapper.wrap(value).body() }\n }\n}\n","import { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'\nimport { isBoundWitness, isQueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessWrapper } 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: [BoundWitnessWrapper[], PayloadWrapper[]] = [[], []]\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)\n }\n } else {\n const payloadWrapper = PayloadWrapper.wrap(payload)\n if (await payloadWrapper.getValid()) {\n results[1].push(payloadWrapper)\n }\n }\n }),\n )\n return results\n}\n"],"mappings":"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","names":["import_payload_wrapper","toBoundWitnessWithMeta","wrapper","bw","boundwitness","_hash","hashAsync","_timestamp","Date","now","toPayloadWithMeta","wrapper","payload","_hash","hashAsync","_timestamp","Date","now","toReturnValue","value","_signatures","PayloadWrapper","wrap","body","import_payload_wrapper","validByType","payloads","results","Promise","all","map","payload","isBoundWitness","wrapper","isQueryBoundWitness","QueryBoundWitnessWrapper","BoundWitnessWrapper","bw","parse","getValid","push","payloadWrapper","PayloadWrapper","wrap","MongoDBArchivistBase","MongoDBModuleMixin","AbstractArchivist","MongoDBArchivist","queries","ArchivistInsertQuerySchema","head","payloads","find","sort","_timestamp","limit","toArray","PayloadWrapper","wrap","body","undefined","getHandler","hashes","map","_hash","findOne","bws","boundWitnesses","gets","Promise","allSettled","flat","succeeded","reduce","fulfilledValues","filter","exists","toReturnValue","insertHandler","bw","p","validByType","payloadsWithMeta","all","x","toPayloadWithMeta","length","payloadsResult","insertMany","acknowledged","insertedCount","Error","toBoundWitnessWithMeta","boundWitnessesResult","startHandler","ensureIndexes","configSchemas","MongoDBArchivistConfigSchema","ArchivistConfigSchema"]}
1
+ {"version":3,"sources":["../../src/Archivist.ts","../../src/lib/toPayloadWithMongoMeta.ts","../../src/lib/toReturnValue.ts","../../src/lib/validByType.ts","../../src/index.ts"],"sourcesContent":["import { exists } from '@xylabs/exists'\nimport { Hash } from '@xylabs/hex'\nimport { AbstractArchivist } from '@xyo-network/archivist-abstract'\nimport { ArchivistConfigSchema, ArchivistInsertQuerySchema } from '@xyo-network/archivist-model'\nimport { MongoDBArchivistConfigSchema } from '@xyo-network/archivist-model-mongodb'\nimport { MongoDBModuleMixin } from '@xyo-network/module-abstract-mongodb'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadWithMongoMeta } from '@xyo-network/payload-mongodb'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nimport { toPayloadWithMongoMeta, toReturnValue, validByType } from './lib'\n\nconst MongoDBArchivistBase = MongoDBModuleMixin(AbstractArchivist)\n\nexport class MongoDBArchivist extends MongoDBArchivistBase {\n static override configSchemas = [MongoDBArchivistConfigSchema, ArchivistConfigSchema]\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] ? (await PayloadWrapper.wrap(head[0])).jsonPayload() : undefined\n }\n\n protected override async getHandler(hashes: string[]): Promise<Payload[]> {\n let remainingHashes = [...hashes]\n\n const dataPayloads = (await Promise.all(remainingHashes.map((_$hash) => this.payloads.findOne({ _$hash })))).filter(exists)\n const dataPayloadsHashes = dataPayloads.map((payload) => payload._$hash)\n remainingHashes = remainingHashes.filter((hash) => !dataPayloadsHashes.includes(hash))\n\n const dataBws = (await Promise.all(remainingHashes.map((_$hash) => this.boundWitnesses.findOne({ _$hash })))).filter(exists)\n const dataBwsHashes = dataBws.map((payload) => payload._$hash)\n remainingHashes = remainingHashes.filter((hash) => !dataBwsHashes.includes(hash))\n\n const payloads = (await Promise.all(remainingHashes.map((_hash) => this.payloads.findOne({ _hash })))).filter(exists)\n const payloadsHashes = payloads.map((payload) => payload._hash)\n remainingHashes = remainingHashes.filter((hash) => !payloadsHashes.includes(hash))\n\n const bws = (await Promise.all(remainingHashes.map((_hash) => this.boundWitnesses.findOne({ _hash })))).filter(exists)\n const bwsHashes = bws.map((payload) => payload._hash)\n remainingHashes = remainingHashes.filter((hash) => !bwsHashes.includes(hash))\n\n const foundPayloads = [...dataPayloads, ...dataBws, ...payloads, ...bws] as PayloadWithMongoMeta<Payload & { _$hash: Hash; _$meta?: unknown }>[]\n return foundPayloads.map(({ _$hash, _$meta, ...other }) => ({ $hash: _$hash, $meta: _$meta, ...other })).map(toReturnValue)\n }\n\n protected override async insertHandler(payloads: Payload[]): Promise<Payload[]> {\n const [bw, p] = await validByType(payloads)\n const payloadsWithExternalMeta = await Promise.all(p.map((x) => toPayloadWithMongoMeta(x)))\n if (payloadsWithExternalMeta.length) {\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((x) => toPayloadWithMongoMeta(x)))\n if (boundWitnessesWithExternalMeta.length) {\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 [...boundWitnessesWithExternalMeta, ...payloadsWithExternalMeta]\n }\n\n protected override async startHandler() {\n await super.startHandler()\n await this.ensureIndexes()\n return true\n }\n}\n","import { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadWithMongoMeta } from '@xyo-network/payload-mongodb'\n\nexport const toPayloadWithMongoMeta = async <T extends Payload>(payload: T): Promise<PayloadWithMongoMeta<T>> => {\n const built = await PayloadBuilder.build(payload)\n const _hash = await PayloadBuilder.hash(built)\n const { $hash, $meta, ...fields } = built\n return { ...fields, _$hash: $hash, _$meta: $meta, _hash, _timestamp: Date.now() } as PayloadWithMongoMeta<T>\n}\n","import { deepOmitPrefixedFields } from '@xyo-network/hash'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport const toReturnValue = (value: Payload): Payload => {\n return deepOmitPrefixedFields(value, '_')\n}\n","import { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'\nimport { BoundWitness, isBoundWitness, isQueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessWrapper } 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 = await wrapper.parse(payload)\n if (await bw.getValid()) {\n results[0].push(bw.jsonPayload())\n } else {\n const errors = await bw.getErrors()\n console.log(`validByType.Error: ${JSON.stringify(errors, null, 2)}`)\n }\n } else {\n const payloadWrapper = await PayloadWrapper.wrap(payload)\n if (await payloadWrapper.getValid()) {\n results[1].push(payloadWrapper.jsonPayload())\n }\n }\n return\n }),\n )\n return results\n}\n","export * from './Archivist'\nexport * from '@xyo-network/archivist-model-mongodb'\n"],"mappings":"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","names":["exists","AbstractArchivist","ArchivistConfigSchema","ArchivistInsertQuerySchema","MongoDBArchivistConfigSchema","MongoDBModuleMixin","PayloadWrapper","PayloadBuilder","toPayloadWithMongoMeta","payload","built","PayloadBuilder","build","_hash","hash","$hash","$meta","fields","_$hash","_$meta","_timestamp","Date","now","deepOmitPrefixedFields","toReturnValue","value","deepOmitPrefixedFields","QueryBoundWitnessWrapper","isBoundWitness","isQueryBoundWitness","BoundWitnessWrapper","PayloadWrapper","validByType","payloads","results","Promise","all","map","payload","isBoundWitness","wrapper","isQueryBoundWitness","QueryBoundWitnessWrapper","BoundWitnessWrapper","bw","parse","getValid","push","jsonPayload","errors","getErrors","console","log","JSON","stringify","payloadWrapper","PayloadWrapper","wrap","MongoDBArchivistBase","MongoDBModuleMixin","AbstractArchivist","MongoDBArchivist","queries","ArchivistInsertQuerySchema","head","payloads","find","sort","_timestamp","limit","toArray","PayloadWrapper","wrap","jsonPayload","undefined","getHandler","hashes","remainingHashes","dataPayloads","Promise","all","map","_$hash","findOne","filter","exists","dataPayloadsHashes","payload","hash","includes","dataBws","boundWitnesses","dataBwsHashes","_hash","payloadsHashes","bws","bwsHashes","foundPayloads","_$meta","other","$hash","$meta","toReturnValue","insertHandler","bw","p","validByType","payloadsWithExternalMeta","x","toPayloadWithMongoMeta","length","payloadsResult","insertMany","acknowledged","insertedCount","Error","boundWitnessesWithExternalMeta","boundWitnessesResult","startHandler","ensureIndexes","configSchemas","MongoDBArchivistConfigSchema","ArchivistConfigSchema"]}
@@ -1,5 +1,4 @@
1
- export * from './toBoundWitnessWithMeta';
2
- export * from './toPayloadWithMeta';
1
+ export * from './toPayloadWithMongoMeta';
3
2
  export * from './toReturnValue';
4
3
  export * from './validByType';
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA"}
@@ -1,5 +1,4 @@
1
- export * from './toBoundWitnessWithMeta';
2
- export * from './toPayloadWithMeta';
1
+ export * from './toPayloadWithMongoMeta';
3
2
  export * from './toReturnValue';
4
3
  export * from './validByType';
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA"}
@@ -1,5 +1,4 @@
1
- export * from './toBoundWitnessWithMeta';
2
- export * from './toPayloadWithMeta';
1
+ export * from './toPayloadWithMongoMeta';
3
2
  export * from './toReturnValue';
4
3
  export * from './validByType';
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { PayloadWithMongoMeta } from '@xyo-network/payload-mongodb';
2
+ export declare const toPayloadWithMongoMeta: <T extends {
3
+ schema: string;
4
+ } & object>(payload: T) => Promise<PayloadWithMongoMeta<T>>;
5
+ //# sourceMappingURL=toPayloadWithMongoMeta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toPayloadWithMongoMeta.d.ts","sourceRoot":"","sources":["../../../src/lib/toPayloadWithMongoMeta.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAEnE,eAAO,MAAM,sBAAsB;;2DAKlC,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { PayloadWithMongoMeta } from '@xyo-network/payload-mongodb';
2
+ export declare const toPayloadWithMongoMeta: <T extends {
3
+ schema: string;
4
+ } & object>(payload: T) => Promise<PayloadWithMongoMeta<T>>;
5
+ //# sourceMappingURL=toPayloadWithMongoMeta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toPayloadWithMongoMeta.d.ts","sourceRoot":"","sources":["../../../src/lib/toPayloadWithMongoMeta.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAEnE,eAAO,MAAM,sBAAsB;;2DAKlC,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { PayloadWithMongoMeta } from '@xyo-network/payload-mongodb';
2
+ export declare const toPayloadWithMongoMeta: <T extends {
3
+ schema: string;
4
+ } & object>(payload: T) => Promise<PayloadWithMongoMeta<T>>;
5
+ //# sourceMappingURL=toPayloadWithMongoMeta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toPayloadWithMongoMeta.d.ts","sourceRoot":"","sources":["../../../src/lib/toPayloadWithMongoMeta.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAEnE,eAAO,MAAM,sBAAsB;;2DAKlC,CAAA"}
@@ -1,4 +1,3 @@
1
- import { BoundWitness } from '@xyo-network/boundwitness-model';
2
1
  import { Payload } from '@xyo-network/payload-model';
3
- export declare const toReturnValue: (value: Payload | BoundWitness) => Payload;
2
+ export declare const toReturnValue: (value: Payload) => Payload;
4
3
  //# sourceMappingURL=toReturnValue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toReturnValue.d.ts","sourceRoot":"","sources":["../../../src/lib/toReturnValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGpD,eAAO,MAAM,aAAa,UAAW,OAAO,GAAG,YAAY,KAAG,OAO7D,CAAA"}
1
+ {"version":3,"file":"toReturnValue.d.ts","sourceRoot":"","sources":["../../../src/lib/toReturnValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,eAAO,MAAM,aAAa,UAAW,OAAO,KAAG,OAE9C,CAAA"}
@@ -1,4 +1,3 @@
1
- import { BoundWitness } from '@xyo-network/boundwitness-model';
2
1
  import { Payload } from '@xyo-network/payload-model';
3
- export declare const toReturnValue: (value: Payload | BoundWitness) => Payload;
2
+ export declare const toReturnValue: (value: Payload) => Payload;
4
3
  //# sourceMappingURL=toReturnValue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toReturnValue.d.ts","sourceRoot":"","sources":["../../../src/lib/toReturnValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGpD,eAAO,MAAM,aAAa,UAAW,OAAO,GAAG,YAAY,KAAG,OAO7D,CAAA"}
1
+ {"version":3,"file":"toReturnValue.d.ts","sourceRoot":"","sources":["../../../src/lib/toReturnValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,eAAO,MAAM,aAAa,UAAW,OAAO,KAAG,OAE9C,CAAA"}
@@ -1,4 +1,3 @@
1
- import { BoundWitness } from '@xyo-network/boundwitness-model';
2
1
  import { Payload } from '@xyo-network/payload-model';
3
- export declare const toReturnValue: (value: Payload | BoundWitness) => Payload;
2
+ export declare const toReturnValue: (value: Payload) => Payload;
4
3
  //# sourceMappingURL=toReturnValue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toReturnValue.d.ts","sourceRoot":"","sources":["../../../src/lib/toReturnValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGpD,eAAO,MAAM,aAAa,UAAW,OAAO,GAAG,YAAY,KAAG,OAO7D,CAAA"}
1
+ {"version":3,"file":"toReturnValue.d.ts","sourceRoot":"","sources":["../../../src/lib/toReturnValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,eAAO,MAAM,aAAa,UAAW,OAAO,KAAG,OAE9C,CAAA"}
@@ -1,11 +1,7 @@
1
- import { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper';
2
1
  import { Payload } from '@xyo-network/payload-model';
3
- import { PayloadWrapper } from '@xyo-network/payload-wrapper';
4
- export declare const validByType: (payloads?: Payload[]) => Promise<[BoundWitnessWrapper<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
2
+ export declare const validByType: (payloads?: Payload[]) => Promise<[(import("@xyo-network/payload-model").SchemaFields & object & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
5
3
  schema: "network.xyo.boundwitness";
6
- }, {
4
+ })[], ({
7
5
  schema: string;
8
- }>[], PayloadWrapper<{
9
- schema: string;
10
- }>[]]>;
6
+ } & object)[]]>;
11
7
  //# sourceMappingURL=validByType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validByType.d.ts","sourceRoot":"","sources":["../../../src/lib/validByType.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,eAAO,MAAM,WAAW,cAAoB,OAAO,EAAE;;;;;;MAmBpD,CAAA"}
1
+ {"version":3,"file":"validByType.d.ts","sourceRoot":"","sources":["../../../src/lib/validByType.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGpD,eAAO,MAAM,WAAW,cAAoB,OAAO,EAAE;;;;eAuBpD,CAAA"}
@@ -1,11 +1,7 @@
1
- import { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper';
2
1
  import { Payload } from '@xyo-network/payload-model';
3
- import { PayloadWrapper } from '@xyo-network/payload-wrapper';
4
- export declare const validByType: (payloads?: Payload[]) => Promise<[BoundWitnessWrapper<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
2
+ export declare const validByType: (payloads?: Payload[]) => Promise<[(import("@xyo-network/payload-model").SchemaFields & object & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
5
3
  schema: "network.xyo.boundwitness";
6
- }, {
4
+ })[], ({
7
5
  schema: string;
8
- }>[], PayloadWrapper<{
9
- schema: string;
10
- }>[]]>;
6
+ } & object)[]]>;
11
7
  //# sourceMappingURL=validByType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validByType.d.ts","sourceRoot":"","sources":["../../../src/lib/validByType.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,eAAO,MAAM,WAAW,cAAoB,OAAO,EAAE;;;;;;MAmBpD,CAAA"}
1
+ {"version":3,"file":"validByType.d.ts","sourceRoot":"","sources":["../../../src/lib/validByType.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGpD,eAAO,MAAM,WAAW,cAAoB,OAAO,EAAE;;;;eAuBpD,CAAA"}
@@ -1,11 +1,7 @@
1
- import { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper';
2
1
  import { Payload } from '@xyo-network/payload-model';
3
- import { PayloadWrapper } from '@xyo-network/payload-wrapper';
4
- export declare const validByType: (payloads?: Payload[]) => Promise<[BoundWitnessWrapper<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
2
+ export declare const validByType: (payloads?: Payload[]) => Promise<[(import("@xyo-network/payload-model").SchemaFields & object & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
5
3
  schema: "network.xyo.boundwitness";
6
- }, {
4
+ })[], ({
7
5
  schema: string;
8
- }>[], PayloadWrapper<{
9
- schema: string;
10
- }>[]]>;
6
+ } & object)[]]>;
11
7
  //# sourceMappingURL=validByType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validByType.d.ts","sourceRoot":"","sources":["../../../src/lib/validByType.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,eAAO,MAAM,WAAW,cAAoB,OAAO,EAAE;;;;;;MAmBpD,CAAA"}
1
+ {"version":3,"file":"validByType.d.ts","sourceRoot":"","sources":["../../../src/lib/validByType.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGpD,eAAO,MAAM,WAAW,cAAoB,OAAO,EAAE;;;;eAuBpD,CAAA"}
package/package.json CHANGED
@@ -10,36 +10,36 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/exists": "^2.13.20",
14
- "@xylabs/promise": "^2.13.20",
15
- "@xyo-network/archivist-abstract": "^2.82.0",
16
- "@xyo-network/archivist-model": "^2.82.0",
17
- "@xyo-network/archivist-model-mongodb": "~2.82.0",
18
- "@xyo-network/boundwitness-builder": "^2.82.0",
19
- "@xyo-network/boundwitness-model": "^2.82.0",
20
- "@xyo-network/boundwitness-wrapper": "^2.82.0",
21
- "@xyo-network/module-abstract-mongodb": "~2.82.0",
22
- "@xyo-network/payload-model": "^2.82.0",
23
- "@xyo-network/payload-mongodb": "~2.82.0",
24
- "@xyo-network/payload-wrapper": "^2.82.0",
25
- "@xyo-network/sdk-xyo-mongo-js": "~2.82.0"
13
+ "@xylabs/exists": "^2.14.0",
14
+ "@xylabs/hex": "^2.14.0",
15
+ "@xyo-network/archivist-abstract": "^2.89.0-rc.12",
16
+ "@xyo-network/archivist-model": "^2.89.0-rc.12",
17
+ "@xyo-network/archivist-model-mongodb": "~2.84.0-rc.1",
18
+ "@xyo-network/boundwitness-builder": "^2.89.0-rc.12",
19
+ "@xyo-network/boundwitness-model": "^2.89.0-rc.12",
20
+ "@xyo-network/boundwitness-wrapper": "^2.89.0-rc.12",
21
+ "@xyo-network/hash": "^2.89.0-rc.12",
22
+ "@xyo-network/module-abstract-mongodb": "~2.84.0-rc.1",
23
+ "@xyo-network/payload-builder": "^2.89.0-rc.12",
24
+ "@xyo-network/payload-model": "^2.89.0-rc.12",
25
+ "@xyo-network/payload-mongodb": "~2.84.0-rc.1",
26
+ "@xyo-network/payload-wrapper": "^2.89.0-rc.12"
26
27
  },
27
28
  "devDependencies": {
28
- "@xylabs/jest-helpers": "^2.13.20",
29
- "@xylabs/ts-scripts-yarn3": "^3.2.10",
30
- "@xylabs/tsconfig": "^3.2.10",
31
- "@xyo-network/account": "^2.82.0",
32
- "@xyo-network/account-model": "^2.82.0",
33
- "@xyo-network/archivist-wrapper": "^2.82.0",
34
- "@xyo-network/core": "^2.82.0",
35
- "@xyo-network/payload-builder": "^2.82.0",
36
- "@xyo-network/sdk-xyo-mongo-js": "~2.82.0",
29
+ "@xylabs/arraybuffer": "^2.14.0",
30
+ "@xylabs/jest-helpers": "^2.14.0",
31
+ "@xylabs/ts-scripts-yarn3": "^3.2.42",
32
+ "@xylabs/tsconfig": "^3.2.42",
33
+ "@xyo-network/account": "^2.89.0-rc.12",
34
+ "@xyo-network/account-model": "^2.89.0-rc.12",
35
+ "@xyo-network/archivist-wrapper": "^2.89.0-rc.12",
36
+ "@xyo-network/payload-builder": "^2.89.0-rc.12",
37
+ "@xyo-network/sdk-xyo-mongo-js": "~2.84.0-rc.1",
37
38
  "fake-indexeddb": "^4.0.2",
38
39
  "jest": "^29.7.0",
39
- "typescript": "^5.3.2"
40
+ "typescript": "^5.3.3"
40
41
  },
41
42
  "description": "Primary SDK for using XYO Protocol 2.0",
42
- "docs": "dist/docs.json",
43
43
  "types": "dist/node/index.d.ts",
44
44
  "exports": {
45
45
  ".": {
@@ -55,19 +55,19 @@
55
55
  },
56
56
  "node": {
57
57
  "require": {
58
- "types": "./dist/node/index.d.ts",
59
- "default": "./dist/node/index.js"
58
+ "types": "./dist/node/index.d.cts",
59
+ "default": "./dist/node/index.cjs"
60
60
  },
61
61
  "import": {
62
62
  "types": "./dist/node/index.d.mts",
63
- "default": "./dist/node/index.mjs"
63
+ "default": "./dist/node/index.js"
64
64
  }
65
65
  }
66
66
  },
67
67
  "./package.json": "./package.json"
68
68
  },
69
- "main": "dist/node/index.js",
70
- "module": "dist/node/index.mjs",
69
+ "main": "dist/node/index.cjs",
70
+ "module": "dist/node/index.js",
71
71
  "homepage": "https://xyo.network",
72
72
  "license": "LGPL-3.0-only",
73
73
  "publishConfig": {
@@ -78,5 +78,7 @@
78
78
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
79
79
  },
80
80
  "sideEffects": false,
81
- "version": "2.82.0"
81
+ "version": "2.84.0-rc.1",
82
+ "type": "module",
83
+ "stableVersion": "2.83.0"
82
84
  }