@xyo-network/archivist-mongodb 2.74.4 → 2.75.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.
Files changed (133) hide show
  1. package/dist/browser/Archivist.cjs +184 -0
  2. package/dist/browser/Archivist.cjs.map +1 -0
  3. package/dist/browser/Archivist.d.mts +239 -0
  4. package/dist/browser/Archivist.d.mts.map +1 -0
  5. package/dist/browser/Archivist.d.ts +239 -0
  6. package/dist/browser/Archivist.d.ts.map +1 -0
  7. package/dist/browser/Archivist.js +165 -0
  8. package/dist/browser/Archivist.js.map +1 -0
  9. package/dist/{index.js → browser/index.cjs} +83 -85
  10. package/dist/browser/index.cjs.map +1 -0
  11. package/dist/browser/index.d.mts.map +1 -0
  12. package/dist/browser/index.d.ts.map +1 -0
  13. package/dist/{index.mjs → browser/index.js} +83 -80
  14. package/dist/browser/index.js.map +1 -0
  15. package/dist/browser/lib/index.cjs +92 -0
  16. package/dist/browser/lib/index.cjs.map +1 -0
  17. package/dist/browser/lib/index.d.mts +5 -0
  18. package/dist/browser/lib/index.d.mts.map +1 -0
  19. package/dist/browser/lib/index.d.ts +5 -0
  20. package/dist/browser/lib/index.d.ts.map +1 -0
  21. package/dist/browser/lib/index.js +71 -0
  22. package/dist/browser/lib/index.js.map +1 -0
  23. package/dist/browser/lib/toBoundWitnessWithMeta.cjs +35 -0
  24. package/dist/browser/lib/toBoundWitnessWithMeta.cjs.map +1 -0
  25. package/dist/browser/lib/toBoundWitnessWithMeta.d.mts +5 -0
  26. package/dist/browser/lib/toBoundWitnessWithMeta.d.mts.map +1 -0
  27. package/dist/browser/lib/toBoundWitnessWithMeta.d.ts +5 -0
  28. package/dist/browser/lib/toBoundWitnessWithMeta.d.ts.map +1 -0
  29. package/dist/browser/lib/toBoundWitnessWithMeta.js +16 -0
  30. package/dist/browser/lib/toBoundWitnessWithMeta.js.map +1 -0
  31. package/dist/browser/lib/toPayloadWithMeta.cjs +34 -0
  32. package/dist/browser/lib/toPayloadWithMeta.cjs.map +1 -0
  33. package/dist/browser/lib/toPayloadWithMeta.d.mts +4 -0
  34. package/dist/browser/lib/toPayloadWithMeta.d.mts.map +1 -0
  35. package/dist/browser/lib/toPayloadWithMeta.d.ts +4 -0
  36. package/dist/browser/lib/toPayloadWithMeta.d.ts.map +1 -0
  37. package/dist/browser/lib/toPayloadWithMeta.js +15 -0
  38. package/dist/browser/lib/toPayloadWithMeta.js.map +1 -0
  39. package/dist/browser/lib/toReturnValue.cjs +41 -0
  40. package/dist/browser/lib/toReturnValue.cjs.map +1 -0
  41. package/dist/browser/lib/toReturnValue.d.mts +4 -0
  42. package/dist/browser/lib/toReturnValue.d.mts.map +1 -0
  43. package/dist/browser/lib/toReturnValue.d.ts +4 -0
  44. package/dist/browser/lib/toReturnValue.d.ts.map +1 -0
  45. package/dist/browser/lib/toReturnValue.js +22 -0
  46. package/dist/browser/lib/toReturnValue.js.map +1 -0
  47. package/dist/browser/lib/validByType.cjs +52 -0
  48. package/dist/browser/lib/validByType.cjs.map +1 -0
  49. package/dist/browser/lib/validByType.d.mts.map +1 -0
  50. package/dist/browser/lib/validByType.d.ts.map +1 -0
  51. package/dist/browser/lib/validByType.js +33 -0
  52. package/dist/browser/lib/validByType.js.map +1 -0
  53. package/dist/node/Archivist.d.mts +239 -0
  54. package/dist/node/Archivist.d.mts.map +1 -0
  55. package/dist/node/Archivist.d.ts +239 -0
  56. package/dist/node/Archivist.d.ts.map +1 -0
  57. package/dist/node/Archivist.js +123 -0
  58. package/dist/node/Archivist.js.map +1 -0
  59. package/dist/node/Archivist.mjs +100 -0
  60. package/dist/node/Archivist.mjs.map +1 -0
  61. package/dist/node/index.d.mts +3 -0
  62. package/dist/node/index.d.mts.map +1 -0
  63. package/dist/node/index.d.ts +3 -0
  64. package/dist/node/index.d.ts.map +1 -0
  65. package/dist/node/index.js +25 -0
  66. package/dist/node/index.js.map +1 -0
  67. package/dist/node/index.mjs +3 -0
  68. package/dist/node/index.mjs.map +1 -0
  69. package/dist/node/lib/index.d.mts +5 -0
  70. package/dist/node/lib/index.d.mts.map +1 -0
  71. package/dist/node/lib/index.d.ts +5 -0
  72. package/dist/node/lib/index.d.ts.map +1 -0
  73. package/dist/node/lib/index.js +29 -0
  74. package/dist/node/lib/index.js.map +1 -0
  75. package/dist/node/lib/index.mjs +5 -0
  76. package/dist/node/lib/index.mjs.map +1 -0
  77. package/dist/node/lib/toBoundWitnessWithMeta.d.mts +5 -0
  78. package/dist/node/lib/toBoundWitnessWithMeta.d.mts.map +1 -0
  79. package/dist/node/lib/toBoundWitnessWithMeta.d.ts +5 -0
  80. package/dist/node/lib/toBoundWitnessWithMeta.d.ts.map +1 -0
  81. package/dist/node/lib/toBoundWitnessWithMeta.js +37 -0
  82. package/dist/node/lib/toBoundWitnessWithMeta.js.map +1 -0
  83. package/dist/node/lib/toBoundWitnessWithMeta.mjs +14 -0
  84. package/dist/node/lib/toBoundWitnessWithMeta.mjs.map +1 -0
  85. package/dist/node/lib/toPayloadWithMeta.d.mts +4 -0
  86. package/dist/node/lib/toPayloadWithMeta.d.mts.map +1 -0
  87. package/dist/node/lib/toPayloadWithMeta.d.ts +4 -0
  88. package/dist/node/lib/toPayloadWithMeta.d.ts.map +1 -0
  89. package/dist/node/lib/toPayloadWithMeta.js +36 -0
  90. package/dist/node/lib/toPayloadWithMeta.js.map +1 -0
  91. package/dist/node/lib/toPayloadWithMeta.mjs +13 -0
  92. package/dist/node/lib/toPayloadWithMeta.mjs.map +1 -0
  93. package/dist/node/lib/toReturnValue.d.mts +4 -0
  94. package/dist/node/lib/toReturnValue.d.mts.map +1 -0
  95. package/dist/node/lib/toReturnValue.d.ts +4 -0
  96. package/dist/node/lib/toReturnValue.d.ts.map +1 -0
  97. package/dist/node/lib/toReturnValue.js +43 -0
  98. package/dist/node/lib/toReturnValue.js.map +1 -0
  99. package/dist/node/lib/toReturnValue.mjs +20 -0
  100. package/dist/node/lib/toReturnValue.mjs.map +1 -0
  101. package/dist/node/lib/validByType.d.mts +11 -0
  102. package/dist/node/lib/validByType.d.mts.map +1 -0
  103. package/dist/node/lib/validByType.d.ts +11 -0
  104. package/dist/node/lib/validByType.d.ts.map +1 -0
  105. package/dist/node/lib/validByType.js +54 -0
  106. package/dist/node/lib/validByType.js.map +1 -0
  107. package/dist/node/lib/validByType.mjs +31 -0
  108. package/dist/node/lib/validByType.mjs.map +1 -0
  109. package/package.json +39 -33
  110. package/src/Archivist.ts +39 -56
  111. package/src/lib/index.ts +3 -0
  112. package/src/lib/toBoundWitnessWithMeta.ts +9 -0
  113. package/src/lib/toPayloadWithMeta.ts +6 -0
  114. package/src/lib/toReturnValue.ts +12 -0
  115. package/dist/Archivist.d.mts +0 -23
  116. package/dist/Archivist.d.mts.map +0 -1
  117. package/dist/Archivist.d.ts +0 -23
  118. package/dist/Archivist.d.ts.map +0 -1
  119. package/dist/docs.json +0 -23531
  120. package/dist/index.d.mts.map +0 -1
  121. package/dist/index.d.ts.map +0 -1
  122. package/dist/index.js.map +0 -1
  123. package/dist/index.mjs.map +0 -1
  124. package/dist/lib/index.d.mts +0 -2
  125. package/dist/lib/index.d.mts.map +0 -1
  126. package/dist/lib/index.d.ts +0 -2
  127. package/dist/lib/index.d.ts.map +0 -1
  128. package/dist/lib/validByType.d.mts.map +0 -1
  129. package/dist/lib/validByType.d.ts.map +0 -1
  130. /package/dist/{index.d.mts → browser/index.d.mts} +0 -0
  131. /package/dist/{index.d.ts → browser/index.d.ts} +0 -0
  132. /package/dist/{lib → browser/lib}/validByType.d.mts +0 -0
  133. /package/dist/{lib → browser/lib}/validByType.d.ts +0 -0
@@ -0,0 +1,5 @@
1
+ import { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder';
2
+ import { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper';
3
+ import { BoundWitnessWithMeta } from '@xyo-network/node-core-model';
4
+ export declare const toBoundWitnessWithMeta: (wrapper: BoundWitnessWrapper | QueryBoundWitnessWrapper) => Promise<BoundWitnessWithMeta>;
5
+ //# sourceMappingURL=toBoundWitnessWithMeta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toBoundWitnessWithMeta.d.ts","sourceRoot":"","sources":["../../../src/lib/toBoundWitnessWithMeta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAA;AAE5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAEnE,eAAO,MAAM,sBAAsB,YAAmB,mBAAmB,GAAG,wBAAwB,KAAG,QAAQ,oBAAoB,CAGlI,CAAA"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var toBoundWitnessWithMeta_exports = {};
21
+ __export(toBoundWitnessWithMeta_exports, {
22
+ toBoundWitnessWithMeta: () => toBoundWitnessWithMeta
23
+ });
24
+ module.exports = __toCommonJS(toBoundWitnessWithMeta_exports);
25
+ const toBoundWitnessWithMeta = /* @__PURE__ */ __name(async (wrapper) => {
26
+ const bw = wrapper.boundwitness;
27
+ return {
28
+ ...bw,
29
+ _hash: await wrapper.hashAsync(),
30
+ _timestamp: Date.now()
31
+ };
32
+ }, "toBoundWitnessWithMeta");
33
+ // Annotate the CommonJS export names for ESM import in node:
34
+ 0 && (module.exports = {
35
+ toBoundWitnessWithMeta
36
+ });
37
+ //# sourceMappingURL=toBoundWitnessWithMeta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/toBoundWitnessWithMeta.ts"],"sourcesContent":["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/node-core-model'\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"],"mappings":";;;;;;;;;;;;;;;;;;;AAKA;;;;;AAAO,MAAMA,yBAAyB,8BAAOC,YAAAA;AAC3C,QAAMC,KAAKD,QAAQE;AACnB,SAAO;IAAE,GAAGD;IAAIE,OAAO,MAAMH,QAAQI,UAAS;IAAIC,YAAYC,KAAKC,IAAG;EAAG;AAC3E,GAHsC;","names":["toBoundWitnessWithMeta","wrapper","bw","boundwitness","_hash","hashAsync","_timestamp","Date","now"]}
@@ -0,0 +1,14 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ const toBoundWitnessWithMeta = /* @__PURE__ */ __name(async (wrapper) => {
4
+ const bw = wrapper.boundwitness;
5
+ return {
6
+ ...bw,
7
+ _hash: await wrapper.hashAsync(),
8
+ _timestamp: Date.now()
9
+ };
10
+ }, "toBoundWitnessWithMeta");
11
+ export {
12
+ toBoundWitnessWithMeta
13
+ };
14
+ //# sourceMappingURL=toBoundWitnessWithMeta.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/toBoundWitnessWithMeta.ts"],"sourcesContent":["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/node-core-model'\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"],"mappings":";;AAKO,MAAMA,yBAAyB,8BAAOC,YAAAA;AAC3C,QAAMC,KAAKD,QAAQE;AACnB,SAAO;IAAE,GAAGD;IAAIE,OAAO,MAAMH,QAAQI,UAAS;IAAIC,YAAYC,KAAKC,IAAG;EAAG;AAC3E,GAHsC;","names":["toBoundWitnessWithMeta","wrapper","bw","boundwitness","_hash","hashAsync","_timestamp","Date","now"]}
@@ -0,0 +1,4 @@
1
+ import { PayloadWithMeta } from '@xyo-network/node-core-model';
2
+ import { PayloadWrapper } from '@xyo-network/payload-wrapper';
3
+ export declare const toPayloadWithMeta: (wrapper: PayloadWrapper) => Promise<PayloadWithMeta>;
4
+ //# sourceMappingURL=toPayloadWithMeta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toPayloadWithMeta.d.ts","sourceRoot":"","sources":["../../../src/lib/toPayloadWithMeta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,eAAO,MAAM,iBAAiB,YAAmB,cAAc,KAAG,QAAQ,eAAe,CAExF,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { PayloadWithMeta } from '@xyo-network/node-core-model';
2
+ import { PayloadWrapper } from '@xyo-network/payload-wrapper';
3
+ export declare const toPayloadWithMeta: (wrapper: PayloadWrapper) => Promise<PayloadWithMeta>;
4
+ //# sourceMappingURL=toPayloadWithMeta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toPayloadWithMeta.d.ts","sourceRoot":"","sources":["../../../src/lib/toPayloadWithMeta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,eAAO,MAAM,iBAAiB,YAAmB,cAAc,KAAG,QAAQ,eAAe,CAExF,CAAA"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var toPayloadWithMeta_exports = {};
21
+ __export(toPayloadWithMeta_exports, {
22
+ toPayloadWithMeta: () => toPayloadWithMeta
23
+ });
24
+ module.exports = __toCommonJS(toPayloadWithMeta_exports);
25
+ const toPayloadWithMeta = /* @__PURE__ */ __name(async (wrapper) => {
26
+ return {
27
+ ...wrapper.payload(),
28
+ _hash: await wrapper.hashAsync(),
29
+ _timestamp: Date.now()
30
+ };
31
+ }, "toPayloadWithMeta");
32
+ // Annotate the CommonJS export names for ESM import in node:
33
+ 0 && (module.exports = {
34
+ toPayloadWithMeta
35
+ });
36
+ //# sourceMappingURL=toPayloadWithMeta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/toPayloadWithMeta.ts"],"sourcesContent":["import { PayloadWithMeta } from '@xyo-network/node-core-model'\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"],"mappings":";;;;;;;;;;;;;;;;;;;AAGA;;;;;AAAO,MAAMA,oBAAoB,8BAAOC,YAAAA;AACtC,SAAO;IAAE,GAAGA,QAAQC,QAAO;IAAIC,OAAO,MAAMF,QAAQG,UAAS;IAAIC,YAAYC,KAAKC,IAAG;EAAG;AAC1F,GAFiC;","names":["toPayloadWithMeta","wrapper","payload","_hash","hashAsync","_timestamp","Date","now"]}
@@ -0,0 +1,13 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ const toPayloadWithMeta = /* @__PURE__ */ __name(async (wrapper) => {
4
+ return {
5
+ ...wrapper.payload(),
6
+ _hash: await wrapper.hashAsync(),
7
+ _timestamp: Date.now()
8
+ };
9
+ }, "toPayloadWithMeta");
10
+ export {
11
+ toPayloadWithMeta
12
+ };
13
+ //# sourceMappingURL=toPayloadWithMeta.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/toPayloadWithMeta.ts"],"sourcesContent":["import { PayloadWithMeta } from '@xyo-network/node-core-model'\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"],"mappings":";;AAGO,MAAMA,oBAAoB,8BAAOC,YAAAA;AACtC,SAAO;IAAE,GAAGA,QAAQC,QAAO;IAAIC,OAAO,MAAMF,QAAQG,UAAS;IAAIC,YAAYC,KAAKC,IAAG;EAAG;AAC1F,GAFiC;","names":["toPayloadWithMeta","wrapper","payload","_hash","hashAsync","_timestamp","Date","now"]}
@@ -0,0 +1,4 @@
1
+ import { BoundWitness } from '@xyo-network/boundwitness-model';
2
+ import { Payload } from '@xyo-network/payload-model';
3
+ export declare const toReturnValue: (value: Payload | BoundWitness) => Payload;
4
+ //# sourceMappingURL=toReturnValue.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,4 @@
1
+ import { BoundWitness } from '@xyo-network/boundwitness-model';
2
+ import { Payload } from '@xyo-network/payload-model';
3
+ export declare const toReturnValue: (value: Payload | BoundWitness) => Payload;
4
+ //# sourceMappingURL=toReturnValue.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var toReturnValue_exports = {};
21
+ __export(toReturnValue_exports, {
22
+ toReturnValue: () => toReturnValue
23
+ });
24
+ module.exports = __toCommonJS(toReturnValue_exports);
25
+ var import_payload_wrapper = require("@xyo-network/payload-wrapper");
26
+ const toReturnValue = /* @__PURE__ */ __name((value) => {
27
+ const _signatures = value?._signatures;
28
+ if (_signatures) {
29
+ return {
30
+ ...import_payload_wrapper.PayloadWrapper.wrap(value).body(),
31
+ _signatures
32
+ };
33
+ } else {
34
+ return {
35
+ ...import_payload_wrapper.PayloadWrapper.wrap(value).body()
36
+ };
37
+ }
38
+ }, "toReturnValue");
39
+ // Annotate the CommonJS export names for ESM import in node:
40
+ 0 && (module.exports = {
41
+ toReturnValue
42
+ });
43
+ //# sourceMappingURL=toReturnValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/toReturnValue.ts"],"sourcesContent":["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"],"mappings":";;;;;;;;;;;;;;;;;;;AAEA;;;;;AAAA,6BAA+B;AAExB,MAAMA,gBAAgB,wBAACC,UAAAA;AAC5B,QAAMC,cAAeD,OAAwBC;AAC7C,MAAIA,aAAa;AACf,WAAO;MAAE,GAAGC,sCAAeC,KAAKH,KAAAA,EAAOI,KAAI;MAAIH;IAAY;EAC7D,OAAO;AACL,WAAO;MAAE,GAAGC,sCAAeC,KAAKH,KAAAA,EAAOI,KAAI;IAAG;EAChD;AACF,GAP6B;","names":["toReturnValue","value","_signatures","PayloadWrapper","wrap","body"]}
@@ -0,0 +1,20 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { PayloadWrapper } from "@xyo-network/payload-wrapper";
4
+ const toReturnValue = /* @__PURE__ */ __name((value) => {
5
+ const _signatures = value?._signatures;
6
+ if (_signatures) {
7
+ return {
8
+ ...PayloadWrapper.wrap(value).body(),
9
+ _signatures
10
+ };
11
+ } else {
12
+ return {
13
+ ...PayloadWrapper.wrap(value).body()
14
+ };
15
+ }
16
+ }, "toReturnValue");
17
+ export {
18
+ toReturnValue
19
+ };
20
+ //# sourceMappingURL=toReturnValue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/toReturnValue.ts"],"sourcesContent":["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"],"mappings":";;AAEA,SAASA,sBAAsB;AAExB,MAAMC,gBAAgB,wBAACC,UAAAA;AAC5B,QAAMC,cAAeD,OAAwBC;AAC7C,MAAIA,aAAa;AACf,WAAO;MAAE,GAAGH,eAAeI,KAAKF,KAAAA,EAAOG,KAAI;MAAIF;IAAY;EAC7D,OAAO;AACL,WAAO;MAAE,GAAGH,eAAeI,KAAKF,KAAAA,EAAOG,KAAI;IAAG;EAChD;AACF,GAP6B;","names":["PayloadWrapper","toReturnValue","value","_signatures","wrap","body"]}
@@ -0,0 +1,11 @@
1
+ import { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper';
2
+ 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/payload-model").PayloadFields & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
5
+ schema: "network.xyo.boundwitness";
6
+ }, {
7
+ schema: string;
8
+ } & import("@xyo-network/payload-model").PayloadFields>[], PayloadWrapper<{
9
+ schema: string;
10
+ } & import("@xyo-network/payload-model").PayloadFields>[]]>;
11
+ //# sourceMappingURL=validByType.d.ts.map
@@ -0,0 +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;;;;;;2DAmBpD,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper';
2
+ 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/payload-model").PayloadFields & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
5
+ schema: "network.xyo.boundwitness";
6
+ }, {
7
+ schema: string;
8
+ } & import("@xyo-network/payload-model").PayloadFields>[], PayloadWrapper<{
9
+ schema: string;
10
+ } & import("@xyo-network/payload-model").PayloadFields>[]]>;
11
+ //# sourceMappingURL=validByType.d.ts.map
@@ -0,0 +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;;;;;;2DAmBpD,CAAA"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var validByType_exports = {};
21
+ __export(validByType_exports, {
22
+ validByType: () => validByType
23
+ });
24
+ module.exports = __toCommonJS(validByType_exports);
25
+ var import_boundwitness_builder = require("@xyo-network/boundwitness-builder");
26
+ var import_boundwitness_model = require("@xyo-network/boundwitness-model");
27
+ var import_boundwitness_wrapper = require("@xyo-network/boundwitness-wrapper");
28
+ var import_payload_wrapper = require("@xyo-network/payload-wrapper");
29
+ const validByType = /* @__PURE__ */ __name(async (payloads = []) => {
30
+ const results = [
31
+ [],
32
+ []
33
+ ];
34
+ await Promise.all(payloads.map(async (payload) => {
35
+ if ((0, import_boundwitness_model.isBoundWitness)(payload)) {
36
+ const wrapper = (0, import_boundwitness_builder.isQueryBoundWitness)(payload) ? import_boundwitness_builder.QueryBoundWitnessWrapper : import_boundwitness_wrapper.BoundWitnessWrapper;
37
+ const bw = wrapper.parse(payload);
38
+ if (await bw.getValid()) {
39
+ results[0].push(bw);
40
+ }
41
+ } else {
42
+ const payloadWrapper = import_payload_wrapper.PayloadWrapper.wrap(payload);
43
+ if (await payloadWrapper.getValid()) {
44
+ results[1].push(payloadWrapper);
45
+ }
46
+ }
47
+ }));
48
+ return results;
49
+ }, "validByType");
50
+ // Annotate the CommonJS export names for ESM import in node:
51
+ 0 && (module.exports = {
52
+ validByType
53
+ });
54
+ //# sourceMappingURL=validByType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/validByType.ts"],"sourcesContent":["import { isQueryBoundWitness, QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'\nimport { isBoundWitness } 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":";;;;;;;;;;;;;;;;;;;AAAA;;;;;AAAA,kCAA8D;AAC9D,gCAA+B;AAC/B,kCAAoC;AAEpC,6BAA+B;AAExB,MAAMA,cAAc,8BAAOC,WAAsB,CAAA,MAAE;AACxD,QAAMC,UAAqD;IAAC,CAAA;IAAI,CAAA;;AAChE,QAAMC,QAAQC,IACZH,SAASI,IAAI,OAAOC,YAAAA;AAClB,YAAIC,0CAAeD,OAAAA,GAAU;AAC3B,YAAME,cAAUC,iDAAoBH,OAAAA,IAAWI,uDAA2BC;AAC1E,YAAMC,KAAKJ,QAAQK,MAAMP,OAAAA;AACzB,UAAI,MAAMM,GAAGE,SAAQ,GAAI;AACvBZ,gBAAQ,CAAA,EAAGa,KAAKH,EAAAA;MAClB;IACF,OAAO;AACL,YAAMI,iBAAiBC,sCAAeC,KAAKZ,OAAAA;AAC3C,UAAI,MAAMU,eAAeF,SAAQ,GAAI;AACnCZ,gBAAQ,CAAA,EAAGa,KAAKC,cAAAA;MAClB;IACF;EACF,CAAA,CAAA;AAEF,SAAOd;AACT,GAnB2B;","names":["validByType","payloads","results","Promise","all","map","payload","isBoundWitness","wrapper","isQueryBoundWitness","QueryBoundWitnessWrapper","BoundWitnessWrapper","bw","parse","getValid","push","payloadWrapper","PayloadWrapper","wrap"]}
@@ -0,0 +1,31 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { isQueryBoundWitness, QueryBoundWitnessWrapper } from "@xyo-network/boundwitness-builder";
4
+ import { isBoundWitness } from "@xyo-network/boundwitness-model";
5
+ import { BoundWitnessWrapper } from "@xyo-network/boundwitness-wrapper";
6
+ import { PayloadWrapper } from "@xyo-network/payload-wrapper";
7
+ const validByType = /* @__PURE__ */ __name(async (payloads = []) => {
8
+ const results = [
9
+ [],
10
+ []
11
+ ];
12
+ await Promise.all(payloads.map(async (payload) => {
13
+ if (isBoundWitness(payload)) {
14
+ const wrapper = isQueryBoundWitness(payload) ? QueryBoundWitnessWrapper : BoundWitnessWrapper;
15
+ const bw = wrapper.parse(payload);
16
+ if (await bw.getValid()) {
17
+ results[0].push(bw);
18
+ }
19
+ } else {
20
+ const payloadWrapper = PayloadWrapper.wrap(payload);
21
+ if (await payloadWrapper.getValid()) {
22
+ results[1].push(payloadWrapper);
23
+ }
24
+ }
25
+ }));
26
+ return results;
27
+ }, "validByType");
28
+ export {
29
+ validByType
30
+ };
31
+ //# sourceMappingURL=validByType.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/validByType.ts"],"sourcesContent":["import { isQueryBoundWitness, QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'\nimport { isBoundWitness } 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":";;AAAA,SAASA,qBAAqBC,gCAAgC;AAC9D,SAASC,sBAAsB;AAC/B,SAASC,2BAA2B;AAEpC,SAASC,sBAAsB;AAExB,MAAMC,cAAc,8BAAOC,WAAsB,CAAA,MAAE;AACxD,QAAMC,UAAqD;IAAC,CAAA;IAAI,CAAA;;AAChE,QAAMC,QAAQC,IACZH,SAASI,IAAI,OAAOC,YAAAA;AAClB,QAAIT,eAAeS,OAAAA,GAAU;AAC3B,YAAMC,UAAUZ,oBAAoBW,OAAAA,IAAWV,2BAA2BE;AAC1E,YAAMU,KAAKD,QAAQE,MAAMH,OAAAA;AACzB,UAAI,MAAME,GAAGE,SAAQ,GAAI;AACvBR,gBAAQ,CAAA,EAAGS,KAAKH,EAAAA;MAClB;IACF,OAAO;AACL,YAAMI,iBAAiBb,eAAec,KAAKP,OAAAA;AAC3C,UAAI,MAAMM,eAAeF,SAAQ,GAAI;AACnCR,gBAAQ,CAAA,EAAGS,KAAKC,cAAAA;MAClB;IACF;EACF,CAAA,CAAA;AAEF,SAAOV;AACT,GAnB2B;","names":["isQueryBoundWitness","QueryBoundWitnessWrapper","isBoundWitness","BoundWitnessWrapper","PayloadWrapper","validByType","payloads","results","Promise","all","map","payload","wrapper","bw","parse","getValid","push","payloadWrapper","wrap"]}
package/package.json CHANGED
@@ -10,25 +10,22 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/assert": "^2.11.7",
14
- "@xylabs/exists": "^2.11.7",
15
- "@xylabs/lodash": "^2.11.7",
16
- "@xylabs/promise": "^2.11.7",
17
- "@xylabs/static-implements": "^2.11.7",
18
- "@xyo-network/archivist-abstract": "~2.74.4",
19
- "@xyo-network/archivist-model": "~2.74.4",
20
- "@xyo-network/archivist-model-mongodb": "~2.74.4",
21
- "@xyo-network/boundwitness-builder": "~2.74.4",
22
- "@xyo-network/boundwitness-model": "~2.74.4",
23
- "@xyo-network/boundwitness-wrapper": "~2.74.4",
24
- "@xyo-network/module-model": "~2.74.4",
25
- "@xyo-network/module-model-mongodb": "~2.74.4",
26
- "@xyo-network/node-core-model": "~2.74.4",
27
- "@xyo-network/payload-model": "~2.74.4",
28
- "@xyo-network/payload-wrapper": "~2.74.4"
13
+ "@xylabs/exists": "^2.11.22",
14
+ "@xylabs/promise": "^2.11.22",
15
+ "@xyo-network/archivist-abstract": "~2.75.0",
16
+ "@xyo-network/archivist-model": "~2.75.0",
17
+ "@xyo-network/archivist-model-mongodb": "~2.75.0",
18
+ "@xyo-network/boundwitness-builder": "~2.75.0",
19
+ "@xyo-network/boundwitness-model": "~2.75.0",
20
+ "@xyo-network/boundwitness-wrapper": "~2.75.0",
21
+ "@xyo-network/module-abstract-mongodb": "~2.75.0",
22
+ "@xyo-network/node-core-model": "~2.75.0",
23
+ "@xyo-network/payload-model": "~2.75.0",
24
+ "@xyo-network/payload-wrapper": "~2.75.0",
25
+ "mongodb": "^6.1.0"
29
26
  },
30
27
  "peerDependencies": {
31
- "@xyo-network/sdk-xyo-mongo-js": "~2.74.4"
28
+ "@xyo-network/sdk-xyo-mongo-js": "~2.75.0"
32
29
  },
33
30
  "peerDependenciesMeta": {
34
31
  "@xyo-network/sdk-xyo-mongo-js": {
@@ -36,36 +33,45 @@
36
33
  }
37
34
  },
38
35
  "devDependencies": {
39
- "@xylabs/ts-scripts-yarn3": "^3.0.28",
40
- "@xylabs/tsconfig": "^3.0.28",
41
- "@xyo-network/sdk-xyo-mongo-js": "~2.74.4",
36
+ "@xylabs/ts-scripts-yarn3": "^3.0.70",
37
+ "@xylabs/tsconfig": "^3.0.70",
38
+ "@xyo-network/sdk-xyo-mongo-js": "~2.75.0",
42
39
  "fake-indexeddb": "^4.0.2",
43
40
  "typescript": "^5.2.2"
44
41
  },
45
42
  "description": "Primary SDK for using XYO Protocol 2.0",
46
43
  "docs": "dist/docs.json",
47
- "types": "dist/index.d.ts",
44
+ "types": "dist/node/index.d.ts",
48
45
  "exports": {
49
46
  ".": {
50
- "require": {
51
- "types": "./dist/index.d.ts",
52
- "default": "./dist/index.js"
47
+ "browser": {
48
+ "require": {
49
+ "types": "./dist/browser/index.d.ts",
50
+ "default": "./dist/browser/index.cjs"
51
+ },
52
+ "import": {
53
+ "types": "./dist/browser/index.d.mts",
54
+ "default": "./dist/browser/index.js"
55
+ }
53
56
  },
54
- "import": {
55
- "types": "./dist/index.d.mts",
56
- "default": "./dist/index.mjs"
57
+ "node": {
58
+ "require": {
59
+ "types": "./dist/node/index.d.ts",
60
+ "default": "./dist/node/index.js"
61
+ },
62
+ "import": {
63
+ "types": "./dist/node/index.d.mts",
64
+ "default": "./dist/node/index.mjs"
65
+ }
57
66
  }
58
67
  },
59
- "./dist/docs.json": {
60
- "default": "./dist/docs.json"
61
- },
62
68
  "./docs": {
63
69
  "default": "./dist/docs.json"
64
70
  },
65
71
  "./package.json": "./package.json"
66
72
  },
67
- "main": "dist/index.js",
68
- "module": "dist/index.mjs",
73
+ "main": "dist/node/index.js",
74
+ "module": "dist/node/index.mjs",
69
75
  "homepage": "https://xyo.network",
70
76
  "license": "LGPL-3.0",
71
77
  "publishConfig": {
@@ -76,5 +82,5 @@
76
82
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
77
83
  },
78
84
  "sideEffects": false,
79
- "version": "2.74.4"
85
+ "version": "2.75.0"
80
86
  }
package/src/Archivist.ts CHANGED
@@ -1,74 +1,42 @@
1
- import { assertEx } from '@xylabs/assert'
2
1
  import { exists } from '@xylabs/exists'
3
- import { merge } from '@xylabs/lodash'
4
2
  import { fulfilledValues } from '@xylabs/promise'
5
- import { staticImplements } from '@xylabs/static-implements'
6
3
  import { AbstractArchivist } from '@xyo-network/archivist-abstract'
7
4
  import { ArchivistConfigSchema, ArchivistInsertQuerySchema } from '@xyo-network/archivist-model'
8
- import { MongoDBArchivistConfigSchema, MongoDBArchivistParams } from '@xyo-network/archivist-model-mongodb'
9
- import { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'
10
- import { BoundWitness } from '@xyo-network/boundwitness-model'
11
- import { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'
12
- import { WithLabels } from '@xyo-network/module-model'
13
- import { MongoDBStorageClassLabels } from '@xyo-network/module-model-mongodb'
14
- import { BoundWitnessWithMeta, PayloadWithMeta, PayloadWithPartialMeta } from '@xyo-network/node-core-model'
5
+ import { MongoDBArchivistConfigSchema } from '@xyo-network/archivist-model-mongodb'
6
+ import { CollectionIndexFunction, MongoDBModuleMixin } from '@xyo-network/module-abstract-mongodb'
7
+ import { PayloadWithPartialMeta } from '@xyo-network/node-core-model'
15
8
  import { Payload } from '@xyo-network/payload-model'
16
9
  import { PayloadWrapper } from '@xyo-network/payload-wrapper'
17
- import { BaseMongoSdk, BaseMongoSdkConfig } from '@xyo-network/sdk-xyo-mongo-js'
10
+ import { IndexDescription } from 'mongodb'
18
11
 
19
- import { validByType } from './lib'
12
+ import { toBoundWitnessWithMeta, toPayloadWithMeta, toReturnValue, validByType } from './lib'
20
13
 
21
- const toBoundWitnessWithMeta = async (wrapper: BoundWitnessWrapper | QueryBoundWitnessWrapper): Promise<BoundWitnessWithMeta> => {
22
- const bw = wrapper.boundwitness as BoundWitness
23
- return { ...bw, _hash: await wrapper.hashAsync(), _timestamp: Date.now() }
14
+ const getBoundWitnessesIndexes: CollectionIndexFunction = (collectionName: string): IndexDescription[] => {
15
+ return [
16
+ {
17
+ // eslint-disable-next-line sort-keys-fix/sort-keys-fix
18
+ key: { _hash: 1 },
19
+ name: `${collectionName}.IX__hash`,
20
+ },
21
+ ]
24
22
  }
25
23
 
26
- const toReturnValue = (value: Payload | BoundWitness): Payload => {
27
- const _signatures = (value as BoundWitness)?._signatures
28
- if (_signatures) {
29
- return { ...PayloadWrapper.wrap(value).body(), _signatures } as BoundWitness
30
- } else {
31
- return { ...PayloadWrapper.wrap(value).body() }
32
- }
24
+ const getPayloadsIndexes: CollectionIndexFunction = (collectionName: string): IndexDescription[] => {
25
+ return [
26
+ {
27
+ // eslint-disable-next-line sort-keys-fix/sort-keys-fix
28
+ key: { _hash: 1 },
29
+ name: `${collectionName}.IX__hash`,
30
+ },
31
+ ]
33
32
  }
34
33
 
35
- const toPayloadWithMeta = async (wrapper: PayloadWrapper): Promise<PayloadWithMeta> => {
36
- return { ...wrapper.payload(), _hash: await wrapper.hashAsync(), _timestamp: Date.now() }
37
- }
34
+ const MongoDBArchivistBase = MongoDBModuleMixin(AbstractArchivist)
38
35
 
39
- @staticImplements<WithLabels<MongoDBStorageClassLabels>>()
40
- export class MongoDBArchivist<TParams extends MongoDBArchivistParams = MongoDBArchivistParams> extends AbstractArchivist<TParams> {
36
+ export class MongoDBArchivist extends MongoDBArchivistBase {
41
37
  static override configSchemas = [MongoDBArchivistConfigSchema, ArchivistConfigSchema]
42
- static labels = MongoDBStorageClassLabels
43
-
44
- private _boundWitnessSdk: BaseMongoSdk<BoundWitnessWithMeta> | undefined
45
- private _payloadSdk: BaseMongoSdk<PayloadWithMeta> | undefined
46
-
47
- get boundWitnessSdkConfig(): BaseMongoSdkConfig {
48
- return merge({}, this.params.boundWitnessSdkConfig, this.config.boundWitnessSdkConfig, {
49
- collection: this.config.boundWitnessSdkConfig?.collection ?? this.params.boundWitnessSdkConfig?.collection ?? 'bound_witnesses',
50
- })
51
- }
52
-
53
- get boundWitnesses() {
54
- this._boundWitnessSdk = this._boundWitnessSdk ?? new BaseMongoSdk<BoundWitnessWithMeta>(this.boundWitnessSdkConfig)
55
- return assertEx(this._boundWitnessSdk)
56
- }
57
-
58
- get payloadSdkConfig(): BaseMongoSdkConfig {
59
- return merge({}, this.params.payloadSdkConfig, this.config.payloadSdkConfig, {
60
- collection: this.config.payloadSdkConfig?.collection ?? this.params.payloadSdkConfig?.collection ?? 'payload',
61
- })
62
- }
63
38
 
64
- get payloads() {
65
- this._payloadSdk = this._payloadSdk ?? new BaseMongoSdk<PayloadWithMeta>(this.payloadSdkConfig)
66
- return assertEx(this._payloadSdk)
67
- }
68
-
69
- override get queries(): string[] {
70
- return [ArchivistInsertQuerySchema, ...super.queries]
71
- }
39
+ override readonly queries: string[] = [ArchivistInsertQuerySchema, ...super.queries]
72
40
 
73
41
  override async head(): Promise<Payload | undefined> {
74
42
  const head = await (await this.payloads.find({})).sort({ _timestamp: -1 }).limit(1).toArray()
@@ -99,4 +67,19 @@ export class MongoDBArchivist<TParams extends MongoDBArchivistParams = MongoDBAr
99
67
  }
100
68
  return payloads ?? []
101
69
  }
70
+
71
+ protected override async startHandler() {
72
+ await super.startHandler()
73
+ await this.boundWitnesses.useCollection(async (collection) => {
74
+ const { collectionName } = collection
75
+ const indexes = getBoundWitnessesIndexes(collectionName)
76
+ await collection.createIndexes(indexes)
77
+ })
78
+ await this.payloads.useCollection(async (collection) => {
79
+ const { collectionName } = collection
80
+ const indexes = getPayloadsIndexes(collectionName)
81
+ await collection.createIndexes(indexes)
82
+ })
83
+ return true
84
+ }
102
85
  }
package/src/lib/index.ts CHANGED
@@ -1 +1,4 @@
1
+ export * from './toBoundWitnessWithMeta'
2
+ export * from './toPayloadWithMeta'
3
+ export * from './toReturnValue'
1
4
  export * from './validByType'
@@ -0,0 +1,9 @@
1
+ import { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'
2
+ import { BoundWitness } from '@xyo-network/boundwitness-model'
3
+ import { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'
4
+ import { BoundWitnessWithMeta } from '@xyo-network/node-core-model'
5
+
6
+ export const toBoundWitnessWithMeta = async (wrapper: BoundWitnessWrapper | QueryBoundWitnessWrapper): Promise<BoundWitnessWithMeta> => {
7
+ const bw = wrapper.boundwitness as BoundWitness
8
+ return { ...bw, _hash: await wrapper.hashAsync(), _timestamp: Date.now() }
9
+ }