@xyo-network/react-archivist 2.64.9 → 2.65.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 (194) hide show
  1. package/dist/browser/hooks/queries/useArchivistAll.d.cts +2 -2
  2. package/dist/browser/hooks/queries/useArchivistAll.d.cts.map +1 -1
  3. package/dist/browser/hooks/queries/useArchivistAll.d.mts +2 -2
  4. package/dist/browser/hooks/queries/useArchivistAll.d.mts.map +1 -1
  5. package/dist/browser/hooks/queries/useArchivistAll.d.ts +2 -2
  6. package/dist/browser/hooks/queries/useArchivistAll.d.ts.map +1 -1
  7. package/dist/browser/hooks/queries/useArchivistGet.d.cts +2 -2
  8. package/dist/browser/hooks/queries/useArchivistGet.d.cts.map +1 -1
  9. package/dist/browser/hooks/queries/useArchivistGet.d.mts +2 -2
  10. package/dist/browser/hooks/queries/useArchivistGet.d.mts.map +1 -1
  11. package/dist/browser/hooks/queries/useArchivistGet.d.ts +2 -2
  12. package/dist/browser/hooks/queries/useArchivistGet.d.ts.map +1 -1
  13. package/dist/node/hooks/queries/useArchivistAll.d.cts +2 -2
  14. package/dist/node/hooks/queries/useArchivistAll.d.cts.map +1 -1
  15. package/dist/node/hooks/queries/useArchivistAll.d.mts +2 -2
  16. package/dist/node/hooks/queries/useArchivistAll.d.mts.map +1 -1
  17. package/dist/node/hooks/queries/useArchivistAll.d.ts +2 -2
  18. package/dist/node/hooks/queries/useArchivistAll.d.ts.map +1 -1
  19. package/dist/node/hooks/queries/useArchivistGet.d.cts +2 -2
  20. package/dist/node/hooks/queries/useArchivistGet.d.cts.map +1 -1
  21. package/dist/node/hooks/queries/useArchivistGet.d.mts +2 -2
  22. package/dist/node/hooks/queries/useArchivistGet.d.mts.map +1 -1
  23. package/dist/node/hooks/queries/useArchivistGet.d.ts +2 -2
  24. package/dist/node/hooks/queries/useArchivistGet.d.ts.map +1 -1
  25. package/package.json +20 -20
  26. package/dist/browser/components/Card/Card.cjs +0 -206
  27. package/dist/browser/components/Card/Card.cjs.map +0 -1
  28. package/dist/browser/components/Card/Card.js +0 -185
  29. package/dist/browser/components/Card/Card.js.map +0 -1
  30. package/dist/browser/components/Card/CardActions.cjs +0 -31
  31. package/dist/browser/components/Card/CardActions.cjs.map +0 -1
  32. package/dist/browser/components/Card/CardActions.js +0 -10
  33. package/dist/browser/components/Card/CardActions.js.map +0 -1
  34. package/dist/browser/components/Card/CardContent.cjs +0 -92
  35. package/dist/browser/components/Card/CardContent.cjs.map +0 -1
  36. package/dist/browser/components/Card/CardContent.js +0 -71
  37. package/dist/browser/components/Card/CardContent.js.map +0 -1
  38. package/dist/browser/components/Card/CardHeader.cjs +0 -125
  39. package/dist/browser/components/Card/CardHeader.cjs.map +0 -1
  40. package/dist/browser/components/Card/CardHeader.js +0 -104
  41. package/dist/browser/components/Card/CardHeader.js.map +0 -1
  42. package/dist/browser/components/Card/components/ArchivistParent.cjs +0 -36
  43. package/dist/browser/components/Card/components/ArchivistParent.cjs.map +0 -1
  44. package/dist/browser/components/Card/components/ArchivistParent.js +0 -15
  45. package/dist/browser/components/Card/components/ArchivistParent.js.map +0 -1
  46. package/dist/browser/components/Card/components/ArchivistParents.cjs +0 -60
  47. package/dist/browser/components/Card/components/ArchivistParents.cjs.map +0 -1
  48. package/dist/browser/components/Card/components/ArchivistParents.js +0 -39
  49. package/dist/browser/components/Card/components/ArchivistParents.js.map +0 -1
  50. package/dist/browser/components/Card/components/Stats/ArchivistStats.cjs +0 -39
  51. package/dist/browser/components/Card/components/Stats/ArchivistStats.cjs.map +0 -1
  52. package/dist/browser/components/Card/components/Stats/ArchivistStats.js +0 -18
  53. package/dist/browser/components/Card/components/Stats/ArchivistStats.js.map +0 -1
  54. package/dist/browser/components/Card/components/Stats/MemoryArchivistStats.cjs +0 -107
  55. package/dist/browser/components/Card/components/Stats/MemoryArchivistStats.cjs.map +0 -1
  56. package/dist/browser/components/Card/components/Stats/MemoryArchivistStats.js +0 -86
  57. package/dist/browser/components/Card/components/Stats/MemoryArchivistStats.js.map +0 -1
  58. package/dist/browser/components/Card/components/Stats/index.cjs +0 -108
  59. package/dist/browser/components/Card/components/Stats/index.cjs.map +0 -1
  60. package/dist/browser/components/Card/components/Stats/index.js +0 -85
  61. package/dist/browser/components/Card/components/Stats/index.js.map +0 -1
  62. package/dist/browser/components/Card/components/index.cjs +0 -144
  63. package/dist/browser/components/Card/components/index.cjs.map +0 -1
  64. package/dist/browser/components/Card/components/index.js +0 -121
  65. package/dist/browser/components/Card/components/index.js.map +0 -1
  66. package/dist/browser/components/Card/index.cjs +0 -210
  67. package/dist/browser/components/Card/index.cjs.map +0 -1
  68. package/dist/browser/components/Card/index.js +0 -187
  69. package/dist/browser/components/Card/index.js.map +0 -1
  70. package/dist/browser/components/Details/Details.cjs +0 -100
  71. package/dist/browser/components/Details/Details.cjs.map +0 -1
  72. package/dist/browser/components/Details/Details.js +0 -79
  73. package/dist/browser/components/Details/Details.js.map +0 -1
  74. package/dist/browser/components/Details/index.cjs +0 -102
  75. package/dist/browser/components/Details/index.cjs.map +0 -1
  76. package/dist/browser/components/Details/index.js +0 -79
  77. package/dist/browser/components/Details/index.js.map +0 -1
  78. package/dist/browser/components/index.cjs +0 -287
  79. package/dist/browser/components/index.cjs.map +0 -1
  80. package/dist/browser/components/index.js +0 -264
  81. package/dist/browser/components/index.js.map +0 -1
  82. package/dist/browser/hooks/index.cjs +0 -99
  83. package/dist/browser/hooks/index.cjs.map +0 -1
  84. package/dist/browser/hooks/index.js +0 -76
  85. package/dist/browser/hooks/index.js.map +0 -1
  86. package/dist/browser/hooks/node/index.cjs +0 -64
  87. package/dist/browser/hooks/node/index.cjs.map +0 -1
  88. package/dist/browser/hooks/node/index.js +0 -41
  89. package/dist/browser/hooks/node/index.js.map +0 -1
  90. package/dist/browser/hooks/node/useArchivistFromNode.cjs +0 -38
  91. package/dist/browser/hooks/node/useArchivistFromNode.cjs.map +0 -1
  92. package/dist/browser/hooks/node/useArchivistFromNode.js +0 -17
  93. package/dist/browser/hooks/node/useArchivistFromNode.js.map +0 -1
  94. package/dist/browser/hooks/node/useArchivistsFromNode.cjs +0 -47
  95. package/dist/browser/hooks/node/useArchivistsFromNode.cjs.map +0 -1
  96. package/dist/browser/hooks/node/useArchivistsFromNode.js +0 -26
  97. package/dist/browser/hooks/node/useArchivistsFromNode.js.map +0 -1
  98. package/dist/browser/hooks/queries/index.cjs +0 -60
  99. package/dist/browser/hooks/queries/index.cjs.map +0 -1
  100. package/dist/browser/hooks/queries/index.js +0 -37
  101. package/dist/browser/hooks/queries/index.js.map +0 -1
  102. package/dist/browser/hooks/queries/useArchivistAll.cjs +0 -44
  103. package/dist/browser/hooks/queries/useArchivistAll.cjs.map +0 -1
  104. package/dist/browser/hooks/queries/useArchivistAll.js +0 -23
  105. package/dist/browser/hooks/queries/useArchivistAll.js.map +0 -1
  106. package/dist/browser/hooks/queries/useArchivistGet.cjs +0 -37
  107. package/dist/browser/hooks/queries/useArchivistGet.cjs.map +0 -1
  108. package/dist/browser/hooks/queries/useArchivistGet.js +0 -16
  109. package/dist/browser/hooks/queries/useArchivistGet.js.map +0 -1
  110. package/dist/docs.json +0 -25256
  111. package/dist/node/components/Card/Card.cjs +0 -212
  112. package/dist/node/components/Card/Card.cjs.map +0 -1
  113. package/dist/node/components/Card/Card.js +0 -187
  114. package/dist/node/components/Card/Card.js.map +0 -1
  115. package/dist/node/components/Card/CardActions.cjs +0 -35
  116. package/dist/node/components/Card/CardActions.cjs.map +0 -1
  117. package/dist/node/components/Card/CardActions.js +0 -10
  118. package/dist/node/components/Card/CardActions.js.map +0 -1
  119. package/dist/node/components/Card/CardContent.cjs +0 -96
  120. package/dist/node/components/Card/CardContent.cjs.map +0 -1
  121. package/dist/node/components/Card/CardContent.js +0 -71
  122. package/dist/node/components/Card/CardContent.js.map +0 -1
  123. package/dist/node/components/Card/CardHeader.cjs +0 -131
  124. package/dist/node/components/Card/CardHeader.cjs.map +0 -1
  125. package/dist/node/components/Card/CardHeader.js +0 -106
  126. package/dist/node/components/Card/CardHeader.js.map +0 -1
  127. package/dist/node/components/Card/components/ArchivistParent.cjs +0 -40
  128. package/dist/node/components/Card/components/ArchivistParent.cjs.map +0 -1
  129. package/dist/node/components/Card/components/ArchivistParent.js +0 -15
  130. package/dist/node/components/Card/components/ArchivistParent.js.map +0 -1
  131. package/dist/node/components/Card/components/ArchivistParents.cjs +0 -64
  132. package/dist/node/components/Card/components/ArchivistParents.cjs.map +0 -1
  133. package/dist/node/components/Card/components/ArchivistParents.js +0 -39
  134. package/dist/node/components/Card/components/ArchivistParents.js.map +0 -1
  135. package/dist/node/components/Card/components/Stats/ArchivistStats.cjs +0 -43
  136. package/dist/node/components/Card/components/Stats/ArchivistStats.cjs.map +0 -1
  137. package/dist/node/components/Card/components/Stats/ArchivistStats.js +0 -18
  138. package/dist/node/components/Card/components/Stats/ArchivistStats.js.map +0 -1
  139. package/dist/node/components/Card/components/Stats/MemoryArchivistStats.cjs +0 -113
  140. package/dist/node/components/Card/components/Stats/MemoryArchivistStats.cjs.map +0 -1
  141. package/dist/node/components/Card/components/Stats/MemoryArchivistStats.js +0 -88
  142. package/dist/node/components/Card/components/Stats/MemoryArchivistStats.js.map +0 -1
  143. package/dist/node/components/Card/components/Stats/index.cjs +0 -115
  144. package/dist/node/components/Card/components/Stats/index.cjs.map +0 -1
  145. package/dist/node/components/Card/components/Stats/index.js +0 -87
  146. package/dist/node/components/Card/components/Stats/index.js.map +0 -1
  147. package/dist/node/components/Card/components/index.cjs +0 -153
  148. package/dist/node/components/Card/components/index.cjs.map +0 -1
  149. package/dist/node/components/Card/components/index.js +0 -123
  150. package/dist/node/components/Card/components/index.js.map +0 -1
  151. package/dist/node/components/Card/index.cjs +0 -218
  152. package/dist/node/components/Card/index.cjs.map +0 -1
  153. package/dist/node/components/Card/index.js +0 -189
  154. package/dist/node/components/Card/index.js.map +0 -1
  155. package/dist/node/components/Details/Details.cjs +0 -112
  156. package/dist/node/components/Details/Details.cjs.map +0 -1
  157. package/dist/node/components/Details/Details.js +0 -87
  158. package/dist/node/components/Details/Details.js.map +0 -1
  159. package/dist/node/components/Details/index.cjs +0 -114
  160. package/dist/node/components/Details/index.cjs.map +0 -1
  161. package/dist/node/components/Details/index.js +0 -87
  162. package/dist/node/components/Details/index.js.map +0 -1
  163. package/dist/node/components/index.cjs +0 -304
  164. package/dist/node/components/index.cjs.map +0 -1
  165. package/dist/node/components/index.js +0 -274
  166. package/dist/node/components/index.js.map +0 -1
  167. package/dist/node/hooks/index.cjs +0 -108
  168. package/dist/node/hooks/index.cjs.map +0 -1
  169. package/dist/node/hooks/index.js +0 -78
  170. package/dist/node/hooks/index.js.map +0 -1
  171. package/dist/node/hooks/node/index.cjs +0 -70
  172. package/dist/node/hooks/node/index.cjs.map +0 -1
  173. package/dist/node/hooks/node/index.js +0 -42
  174. package/dist/node/hooks/node/index.js.map +0 -1
  175. package/dist/node/hooks/node/useArchivistFromNode.cjs +0 -43
  176. package/dist/node/hooks/node/useArchivistFromNode.cjs.map +0 -1
  177. package/dist/node/hooks/node/useArchivistFromNode.js +0 -18
  178. package/dist/node/hooks/node/useArchivistFromNode.js.map +0 -1
  179. package/dist/node/hooks/node/useArchivistsFromNode.cjs +0 -51
  180. package/dist/node/hooks/node/useArchivistsFromNode.cjs.map +0 -1
  181. package/dist/node/hooks/node/useArchivistsFromNode.js +0 -26
  182. package/dist/node/hooks/node/useArchivistsFromNode.js.map +0 -1
  183. package/dist/node/hooks/queries/index.cjs +0 -66
  184. package/dist/node/hooks/queries/index.cjs.map +0 -1
  185. package/dist/node/hooks/queries/index.js +0 -38
  186. package/dist/node/hooks/queries/index.js.map +0 -1
  187. package/dist/node/hooks/queries/useArchivistAll.cjs +0 -49
  188. package/dist/node/hooks/queries/useArchivistAll.cjs.map +0 -1
  189. package/dist/node/hooks/queries/useArchivistAll.js +0 -24
  190. package/dist/node/hooks/queries/useArchivistAll.js.map +0 -1
  191. package/dist/node/hooks/queries/useArchivistGet.cjs +0 -41
  192. package/dist/node/hooks/queries/useArchivistGet.cjs.map +0 -1
  193. package/dist/node/hooks/queries/useArchivistGet.js +0 -16
  194. package/dist/node/hooks/queries/useArchivistGet.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../src/components/Card/components/Stats/MemoryArchivistStats.tsx","../../../../../../src/components/Card/components/Stats/ArchivistStats.tsx"],"sourcesContent":["import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ArchivistAllQuerySchema, ArchivistInstance } from '@xyo-network/archivist'\nimport { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { EventUnsubscribeFunction } from '@xyo-network/module'\nimport { Payload } from '@xyo-network/payload-model'\nimport { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport { ArchivistStats } from './ArchivistStats'\n\nexport interface MemoryArchivistStatsProps {\n archivist?: ArchivistInstance\n}\n\nexport const MemoryArchivistsStats: React.FC<MemoryArchivistStatsProps> = ({ archivist }) => {\n const [all, setAll] = useState<Payload[] | null>()\n\n const getAll = useCallback(async (archivist?: ArchivistInstance) => {\n const all = await archivist?.all?.()\n setAll(all)\n }, [])\n\n useEffect(() => {\n const listeners: EventUnsubscribeFunction[] = []\n\n if (archivist?.queries.includes(ArchivistAllQuerySchema)) {\n const insertListener = archivist.on('inserted', async () => {\n await getAll(archivist)\n })\n listeners.push(insertListener)\n\n const clearListener = archivist.on('cleared', async () => {\n await getAll(archivist)\n })\n listeners.push(clearListener)\n }\n\n return () => listeners.forEach((listener) => listener?.())\n }, [archivist, getAll])\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async () => {\n if (archivist?.queries.includes(ArchivistAllQuerySchema)) {\n await getAll(archivist)\n } else {\n setAll(null)\n }\n },\n [archivist, getAll],\n )\n\n const payloads = useMemo(() => (all === null ? [] : all?.filter((payload) => payload.schema !== BoundWitnessSchema)), [all])\n const boundWitnesses = useMemo(() => (all === null ? [] : all?.filter((payload) => payload.schema === BoundWitnessSchema)), [all])\n const addresses = useMemo(\n () =>\n all?.reduce(\n (prev, payload) => {\n const w = BoundWitnessWrapper.tryParse(payload) as BoundWitnessWrapper | undefined\n w?.addresses?.forEach((address) => {\n prev[address] = (prev[address] ?? 0) + 1\n })\n return prev\n },\n {} as Record<string, number>,\n ) ?? {},\n [all],\n )\n const schemas = useMemo(\n () =>\n all?.reduce(\n (prev, payload) => {\n prev[payload.schema] = (prev[payload.schema] ?? 0) + 1\n return prev\n },\n {} as Record<string, number>,\n ) ?? {},\n [all],\n )\n\n return <ArchivistStats addresses={addresses} boundWitnesses={boundWitnesses} payloads={payloads} schemas={schemas} />\n}\n","import { Badge, Tooltip } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\n// eslint-disable-next-line import/no-internal-modules\nimport { BsFileEarmarkCode } from 'react-icons/bs/index.js'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc/index.js'\n\nexport interface ArchivistStatsProps {\n addresses?: Record<string, number>\n boundWitnesses?: Payload[] | null\n payloads?: Payload[] | null\n schemas?: Record<string, number>\n}\n\nexport const ArchivistStats: React.FC<ArchivistStatsProps> = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {\n return (\n <FlexRow gap={2} mr={0.5}>\n {payloads?.length ? (\n <Tooltip title=\"Payloads\">\n <Badge badgeContent={payloads?.length} color=\"primary\">\n <VscSymbolNamespace size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {boundWitnesses?.length ? (\n <Tooltip title=\"Blocks\">\n <Badge badgeContent={boundWitnesses?.length} color=\"primary\">\n <VscSymbolMethod size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {Object.entries(schemas).length ? (\n <Tooltip title=\"Schemas\">\n <Badge badgeContent={Object.entries(schemas).length} color=\"primary\">\n <BsFileEarmarkCode size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {Object.entries(addresses).length ? (\n <Tooltip title=\"Addresses\">\n <Badge badgeContent={Object.entries(addresses).length} color=\"primary\">\n <VscOrganization size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n </FlexRow>\n )\n}\n"],"mappings":"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","names":["jsx","archivist","all"]}
@@ -1,108 +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 __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/components/Card/components/Stats/index.ts
21
- var Stats_exports = {};
22
- __export(Stats_exports, {
23
- ArchivistStats: () => ArchivistStats,
24
- MemoryArchivistsStats: () => MemoryArchivistsStats
25
- });
26
- module.exports = __toCommonJS(Stats_exports);
27
-
28
- // src/components/Card/components/Stats/ArchivistStats.tsx
29
- var import_material = require("@mui/material");
30
- var import_react_flexbox = require("@xylabs/react-flexbox");
31
- var import_bs = require("react-icons/bs/index.js");
32
- var import_vsc = require("react-icons/vsc/index.js");
33
- var import_jsx_runtime = require("react/jsx-runtime");
34
- var ArchivistStats = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {
35
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_flexbox.FlexRow, { gap: 2, mr: 0.5, children: [
36
- payloads?.length ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Tooltip, { title: "Payloads", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Badge, { badgeContent: payloads?.length, color: "primary", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_vsc.VscSymbolNamespace, { size: 20 }) }) }) : null,
37
- boundWitnesses?.length ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Tooltip, { title: "Blocks", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Badge, { badgeContent: boundWitnesses?.length, color: "primary", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_vsc.VscSymbolMethod, { size: 20 }) }) }) : null,
38
- Object.entries(schemas).length ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Tooltip, { title: "Schemas", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Badge, { badgeContent: Object.entries(schemas).length, color: "primary", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_bs.BsFileEarmarkCode, { size: 20 }) }) }) : null,
39
- Object.entries(addresses).length ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Tooltip, { title: "Addresses", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Badge, { badgeContent: Object.entries(addresses).length, color: "primary", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_vsc.VscOrganization, { size: 20 }) }) }) : null
40
- ] });
41
- };
42
-
43
- // src/components/Card/components/Stats/MemoryArchivistStats.tsx
44
- var import_react_async_effect = require("@xylabs/react-async-effect");
45
- var import_archivist = require("@xyo-network/archivist");
46
- var import_boundwitness_model = require("@xyo-network/boundwitness-model");
47
- var import_boundwitness_wrapper = require("@xyo-network/boundwitness-wrapper");
48
- var import_react = require("react");
49
- var import_jsx_runtime2 = require("react/jsx-runtime");
50
- var MemoryArchivistsStats = ({ archivist }) => {
51
- const [all, setAll] = (0, import_react.useState)();
52
- const getAll = (0, import_react.useCallback)(async (archivist2) => {
53
- const all2 = await archivist2?.all?.();
54
- setAll(all2);
55
- }, []);
56
- (0, import_react.useEffect)(() => {
57
- const listeners = [];
58
- if (archivist?.queries.includes(import_archivist.ArchivistAllQuerySchema)) {
59
- const insertListener = archivist.on("inserted", async () => {
60
- await getAll(archivist);
61
- });
62
- listeners.push(insertListener);
63
- const clearListener = archivist.on("cleared", async () => {
64
- await getAll(archivist);
65
- });
66
- listeners.push(clearListener);
67
- }
68
- return () => listeners.forEach((listener) => listener?.());
69
- }, [archivist, getAll]);
70
- (0, import_react_async_effect.useAsyncEffect)(
71
- // eslint-disable-next-line react-hooks/exhaustive-deps
72
- async () => {
73
- if (archivist?.queries.includes(import_archivist.ArchivistAllQuerySchema)) {
74
- await getAll(archivist);
75
- } else {
76
- setAll(null);
77
- }
78
- },
79
- [archivist, getAll]
80
- );
81
- const payloads = (0, import_react.useMemo)(() => all === null ? [] : all?.filter((payload) => payload.schema !== import_boundwitness_model.BoundWitnessSchema), [all]);
82
- const boundWitnesses = (0, import_react.useMemo)(() => all === null ? [] : all?.filter((payload) => payload.schema === import_boundwitness_model.BoundWitnessSchema), [all]);
83
- const addresses = (0, import_react.useMemo)(
84
- () => all?.reduce(
85
- (prev, payload) => {
86
- const w = import_boundwitness_wrapper.BoundWitnessWrapper.tryParse(payload);
87
- w?.addresses?.forEach((address) => {
88
- prev[address] = (prev[address] ?? 0) + 1;
89
- });
90
- return prev;
91
- },
92
- {}
93
- ) ?? {},
94
- [all]
95
- );
96
- const schemas = (0, import_react.useMemo)(
97
- () => all?.reduce(
98
- (prev, payload) => {
99
- prev[payload.schema] = (prev[payload.schema] ?? 0) + 1;
100
- return prev;
101
- },
102
- {}
103
- ) ?? {},
104
- [all]
105
- );
106
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ArchivistStats, { addresses, boundWitnesses, payloads, schemas });
107
- };
108
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../src/components/Card/components/Stats/index.ts","../../../../../../src/components/Card/components/Stats/ArchivistStats.tsx","../../../../../../src/components/Card/components/Stats/MemoryArchivistStats.tsx"],"sourcesContent":["export * from './ArchivistStats'\nexport * from './MemoryArchivistStats'\n","import { Badge, Tooltip } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\n// eslint-disable-next-line import/no-internal-modules\nimport { BsFileEarmarkCode } from 'react-icons/bs/index.js'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc/index.js'\n\nexport interface ArchivistStatsProps {\n addresses?: Record<string, number>\n boundWitnesses?: Payload[] | null\n payloads?: Payload[] | null\n schemas?: Record<string, number>\n}\n\nexport const ArchivistStats: React.FC<ArchivistStatsProps> = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {\n return (\n <FlexRow gap={2} mr={0.5}>\n {payloads?.length ? (\n <Tooltip title=\"Payloads\">\n <Badge badgeContent={payloads?.length} color=\"primary\">\n <VscSymbolNamespace size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {boundWitnesses?.length ? (\n <Tooltip title=\"Blocks\">\n <Badge badgeContent={boundWitnesses?.length} color=\"primary\">\n <VscSymbolMethod size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {Object.entries(schemas).length ? (\n <Tooltip title=\"Schemas\">\n <Badge badgeContent={Object.entries(schemas).length} color=\"primary\">\n <BsFileEarmarkCode size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {Object.entries(addresses).length ? (\n <Tooltip title=\"Addresses\">\n <Badge badgeContent={Object.entries(addresses).length} color=\"primary\">\n <VscOrganization size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n </FlexRow>\n )\n}\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ArchivistAllQuerySchema, ArchivistInstance } from '@xyo-network/archivist'\nimport { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { EventUnsubscribeFunction } from '@xyo-network/module'\nimport { Payload } from '@xyo-network/payload-model'\nimport { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport { ArchivistStats } from './ArchivistStats'\n\nexport interface MemoryArchivistStatsProps {\n archivist?: ArchivistInstance\n}\n\nexport const MemoryArchivistsStats: React.FC<MemoryArchivistStatsProps> = ({ archivist }) => {\n const [all, setAll] = useState<Payload[] | null>()\n\n const getAll = useCallback(async (archivist?: ArchivistInstance) => {\n const all = await archivist?.all?.()\n setAll(all)\n }, [])\n\n useEffect(() => {\n const listeners: EventUnsubscribeFunction[] = []\n\n if (archivist?.queries.includes(ArchivistAllQuerySchema)) {\n const insertListener = archivist.on('inserted', async () => {\n await getAll(archivist)\n })\n listeners.push(insertListener)\n\n const clearListener = archivist.on('cleared', async () => {\n await getAll(archivist)\n })\n listeners.push(clearListener)\n }\n\n return () => listeners.forEach((listener) => listener?.())\n }, [archivist, getAll])\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async () => {\n if (archivist?.queries.includes(ArchivistAllQuerySchema)) {\n await getAll(archivist)\n } else {\n setAll(null)\n }\n },\n [archivist, getAll],\n )\n\n const payloads = useMemo(() => (all === null ? [] : all?.filter((payload) => payload.schema !== BoundWitnessSchema)), [all])\n const boundWitnesses = useMemo(() => (all === null ? [] : all?.filter((payload) => payload.schema === BoundWitnessSchema)), [all])\n const addresses = useMemo(\n () =>\n all?.reduce(\n (prev, payload) => {\n const w = BoundWitnessWrapper.tryParse(payload) as BoundWitnessWrapper | undefined\n w?.addresses?.forEach((address) => {\n prev[address] = (prev[address] ?? 0) + 1\n })\n return prev\n },\n {} as Record<string, number>,\n ) ?? {},\n [all],\n )\n const schemas = useMemo(\n () =>\n all?.reduce(\n (prev, payload) => {\n prev[payload.schema] = (prev[payload.schema] ?? 0) + 1\n return prev\n },\n {} as Record<string, number>,\n ) ?? {},\n [all],\n )\n\n return <ArchivistStats addresses={addresses} boundWitnesses={boundWitnesses} payloads={payloads} schemas={schemas} />\n}\n"],"mappings":"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","names":["import_jsx_runtime","archivist","all"]}
@@ -1,85 +0,0 @@
1
- // src/components/Card/components/Stats/ArchivistStats.tsx
2
- import { Badge, Tooltip } from "@mui/material";
3
- import { FlexRow } from "@xylabs/react-flexbox";
4
- import { BsFileEarmarkCode } from "react-icons/bs/index.js";
5
- import { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from "react-icons/vsc/index.js";
6
- import { jsx, jsxs } from "react/jsx-runtime";
7
- var ArchivistStats = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {
8
- return /* @__PURE__ */ jsxs(FlexRow, { gap: 2, mr: 0.5, children: [
9
- payloads?.length ? /* @__PURE__ */ jsx(Tooltip, { title: "Payloads", children: /* @__PURE__ */ jsx(Badge, { badgeContent: payloads?.length, color: "primary", children: /* @__PURE__ */ jsx(VscSymbolNamespace, { size: 20 }) }) }) : null,
10
- boundWitnesses?.length ? /* @__PURE__ */ jsx(Tooltip, { title: "Blocks", children: /* @__PURE__ */ jsx(Badge, { badgeContent: boundWitnesses?.length, color: "primary", children: /* @__PURE__ */ jsx(VscSymbolMethod, { size: 20 }) }) }) : null,
11
- Object.entries(schemas).length ? /* @__PURE__ */ jsx(Tooltip, { title: "Schemas", children: /* @__PURE__ */ jsx(Badge, { badgeContent: Object.entries(schemas).length, color: "primary", children: /* @__PURE__ */ jsx(BsFileEarmarkCode, { size: 20 }) }) }) : null,
12
- Object.entries(addresses).length ? /* @__PURE__ */ jsx(Tooltip, { title: "Addresses", children: /* @__PURE__ */ jsx(Badge, { badgeContent: Object.entries(addresses).length, color: "primary", children: /* @__PURE__ */ jsx(VscOrganization, { size: 20 }) }) }) : null
13
- ] });
14
- };
15
-
16
- // src/components/Card/components/Stats/MemoryArchivistStats.tsx
17
- import { useAsyncEffect } from "@xylabs/react-async-effect";
18
- import { ArchivistAllQuerySchema } from "@xyo-network/archivist";
19
- import { BoundWitnessSchema } from "@xyo-network/boundwitness-model";
20
- import { BoundWitnessWrapper } from "@xyo-network/boundwitness-wrapper";
21
- import { useCallback, useEffect, useMemo, useState } from "react";
22
- import { jsx as jsx2 } from "react/jsx-runtime";
23
- var MemoryArchivistsStats = ({ archivist }) => {
24
- const [all, setAll] = useState();
25
- const getAll = useCallback(async (archivist2) => {
26
- const all2 = await archivist2?.all?.();
27
- setAll(all2);
28
- }, []);
29
- useEffect(() => {
30
- const listeners = [];
31
- if (archivist?.queries.includes(ArchivistAllQuerySchema)) {
32
- const insertListener = archivist.on("inserted", async () => {
33
- await getAll(archivist);
34
- });
35
- listeners.push(insertListener);
36
- const clearListener = archivist.on("cleared", async () => {
37
- await getAll(archivist);
38
- });
39
- listeners.push(clearListener);
40
- }
41
- return () => listeners.forEach((listener) => listener?.());
42
- }, [archivist, getAll]);
43
- useAsyncEffect(
44
- // eslint-disable-next-line react-hooks/exhaustive-deps
45
- async () => {
46
- if (archivist?.queries.includes(ArchivistAllQuerySchema)) {
47
- await getAll(archivist);
48
- } else {
49
- setAll(null);
50
- }
51
- },
52
- [archivist, getAll]
53
- );
54
- const payloads = useMemo(() => all === null ? [] : all?.filter((payload) => payload.schema !== BoundWitnessSchema), [all]);
55
- const boundWitnesses = useMemo(() => all === null ? [] : all?.filter((payload) => payload.schema === BoundWitnessSchema), [all]);
56
- const addresses = useMemo(
57
- () => all?.reduce(
58
- (prev, payload) => {
59
- const w = BoundWitnessWrapper.tryParse(payload);
60
- w?.addresses?.forEach((address) => {
61
- prev[address] = (prev[address] ?? 0) + 1;
62
- });
63
- return prev;
64
- },
65
- {}
66
- ) ?? {},
67
- [all]
68
- );
69
- const schemas = useMemo(
70
- () => all?.reduce(
71
- (prev, payload) => {
72
- prev[payload.schema] = (prev[payload.schema] ?? 0) + 1;
73
- return prev;
74
- },
75
- {}
76
- ) ?? {},
77
- [all]
78
- );
79
- return /* @__PURE__ */ jsx2(ArchivistStats, { addresses, boundWitnesses, payloads, schemas });
80
- };
81
- export {
82
- ArchivistStats,
83
- MemoryArchivistsStats
84
- };
85
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../src/components/Card/components/Stats/ArchivistStats.tsx","../../../../../../src/components/Card/components/Stats/MemoryArchivistStats.tsx"],"sourcesContent":["import { Badge, Tooltip } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\n// eslint-disable-next-line import/no-internal-modules\nimport { BsFileEarmarkCode } from 'react-icons/bs/index.js'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc/index.js'\n\nexport interface ArchivistStatsProps {\n addresses?: Record<string, number>\n boundWitnesses?: Payload[] | null\n payloads?: Payload[] | null\n schemas?: Record<string, number>\n}\n\nexport const ArchivistStats: React.FC<ArchivistStatsProps> = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {\n return (\n <FlexRow gap={2} mr={0.5}>\n {payloads?.length ? (\n <Tooltip title=\"Payloads\">\n <Badge badgeContent={payloads?.length} color=\"primary\">\n <VscSymbolNamespace size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {boundWitnesses?.length ? (\n <Tooltip title=\"Blocks\">\n <Badge badgeContent={boundWitnesses?.length} color=\"primary\">\n <VscSymbolMethod size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {Object.entries(schemas).length ? (\n <Tooltip title=\"Schemas\">\n <Badge badgeContent={Object.entries(schemas).length} color=\"primary\">\n <BsFileEarmarkCode size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {Object.entries(addresses).length ? (\n <Tooltip title=\"Addresses\">\n <Badge badgeContent={Object.entries(addresses).length} color=\"primary\">\n <VscOrganization size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n </FlexRow>\n )\n}\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ArchivistAllQuerySchema, ArchivistInstance } from '@xyo-network/archivist'\nimport { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { EventUnsubscribeFunction } from '@xyo-network/module'\nimport { Payload } from '@xyo-network/payload-model'\nimport { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport { ArchivistStats } from './ArchivistStats'\n\nexport interface MemoryArchivistStatsProps {\n archivist?: ArchivistInstance\n}\n\nexport const MemoryArchivistsStats: React.FC<MemoryArchivistStatsProps> = ({ archivist }) => {\n const [all, setAll] = useState<Payload[] | null>()\n\n const getAll = useCallback(async (archivist?: ArchivistInstance) => {\n const all = await archivist?.all?.()\n setAll(all)\n }, [])\n\n useEffect(() => {\n const listeners: EventUnsubscribeFunction[] = []\n\n if (archivist?.queries.includes(ArchivistAllQuerySchema)) {\n const insertListener = archivist.on('inserted', async () => {\n await getAll(archivist)\n })\n listeners.push(insertListener)\n\n const clearListener = archivist.on('cleared', async () => {\n await getAll(archivist)\n })\n listeners.push(clearListener)\n }\n\n return () => listeners.forEach((listener) => listener?.())\n }, [archivist, getAll])\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async () => {\n if (archivist?.queries.includes(ArchivistAllQuerySchema)) {\n await getAll(archivist)\n } else {\n setAll(null)\n }\n },\n [archivist, getAll],\n )\n\n const payloads = useMemo(() => (all === null ? [] : all?.filter((payload) => payload.schema !== BoundWitnessSchema)), [all])\n const boundWitnesses = useMemo(() => (all === null ? [] : all?.filter((payload) => payload.schema === BoundWitnessSchema)), [all])\n const addresses = useMemo(\n () =>\n all?.reduce(\n (prev, payload) => {\n const w = BoundWitnessWrapper.tryParse(payload) as BoundWitnessWrapper | undefined\n w?.addresses?.forEach((address) => {\n prev[address] = (prev[address] ?? 0) + 1\n })\n return prev\n },\n {} as Record<string, number>,\n ) ?? {},\n [all],\n )\n const schemas = useMemo(\n () =>\n all?.reduce(\n (prev, payload) => {\n prev[payload.schema] = (prev[payload.schema] ?? 0) + 1\n return prev\n },\n {} as Record<string, number>,\n ) ?? {},\n [all],\n )\n\n return <ArchivistStats addresses={addresses} boundWitnesses={boundWitnesses} payloads={payloads} schemas={schemas} />\n}\n"],"mappings":"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","names":["jsx","archivist","all"]}
@@ -1,144 +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 __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/components/Card/components/index.ts
21
- var components_exports = {};
22
- __export(components_exports, {
23
- ArchivistParent: () => ArchivistParent,
24
- ArchivistParents: () => ArchivistParents,
25
- ArchivistStats: () => ArchivistStats,
26
- MemoryArchivistsStats: () => MemoryArchivistsStats
27
- });
28
- module.exports = __toCommonJS(components_exports);
29
-
30
- // src/components/Card/components/ArchivistParent.tsx
31
- var import_material = require("@mui/material");
32
- var import_jsx_runtime = require("react/jsx-runtime");
33
- var ArchivistParent = ({ archivistType, parentArchivists }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: parentArchivists?.map((address) => {
34
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.ListItem, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_material.Typography, { variant: "subtitle2", children: [
35
- archivistType,
36
- ":",
37
- " ",
38
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "caption", sx: { ml: 0.5 }, children: address })
39
- ] }) }, address);
40
- }) });
41
-
42
- // src/components/Card/components/ArchivistParents.tsx
43
- var import_icons_material = require("@mui/icons-material");
44
- var import_material2 = require("@mui/material");
45
- var import_react_flexbox = require("@xylabs/react-flexbox");
46
- var import_react = require("react");
47
- var import_jsx_runtime2 = require("react/jsx-runtime");
48
- var ArchivistParents = ({ config, ...props }) => {
49
- const [parentArchivistCollapse, setParentArchivistCollapse] = (0, import_react.useState)(false);
50
- const { commit, read, write } = config?.parents ?? {};
51
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: commit || read || write ? /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_react_flexbox.FlexCol, { alignItems: "start", ...props, children: [
52
- /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("span", { onClick: () => setParentArchivistCollapse(!parentArchivistCollapse), children: [
53
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.Typography, { variant: "subtitle2", sx: { cursor: "pointer", display: "inline-block" }, children: "Parents" }),
54
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.IconButton, { size: "small", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_icons_material.ArrowRightRounded, { sx: { rotate: parentArchivistCollapse ? "90deg" : "0deg", transition: "all .25s" } }) })
55
- ] }),
56
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.Collapse, { in: parentArchivistCollapse, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.Paper, { elevation: 2, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_material2.List, { children: [
57
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ArchivistParent, { archivistType: "Commit", parentArchivists: commit }),
58
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ArchivistParent, { archivistType: "Read", parentArchivists: read }),
59
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ArchivistParent, { archivistType: "Write", parentArchivists: write })
60
- ] }) }) })
61
- ] }) : null });
62
- };
63
-
64
- // src/components/Card/components/Stats/ArchivistStats.tsx
65
- var import_material3 = require("@mui/material");
66
- var import_react_flexbox2 = require("@xylabs/react-flexbox");
67
- var import_bs = require("react-icons/bs/index.js");
68
- var import_vsc = require("react-icons/vsc/index.js");
69
- var import_jsx_runtime3 = require("react/jsx-runtime");
70
- var ArchivistStats = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {
71
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_react_flexbox2.FlexRow, { gap: 2, mr: 0.5, children: [
72
- payloads?.length ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.Tooltip, { title: "Payloads", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.Badge, { badgeContent: payloads?.length, color: "primary", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_vsc.VscSymbolNamespace, { size: 20 }) }) }) : null,
73
- boundWitnesses?.length ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.Tooltip, { title: "Blocks", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.Badge, { badgeContent: boundWitnesses?.length, color: "primary", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_vsc.VscSymbolMethod, { size: 20 }) }) }) : null,
74
- Object.entries(schemas).length ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.Tooltip, { title: "Schemas", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.Badge, { badgeContent: Object.entries(schemas).length, color: "primary", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_bs.BsFileEarmarkCode, { size: 20 }) }) }) : null,
75
- Object.entries(addresses).length ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.Tooltip, { title: "Addresses", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.Badge, { badgeContent: Object.entries(addresses).length, color: "primary", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_vsc.VscOrganization, { size: 20 }) }) }) : null
76
- ] });
77
- };
78
-
79
- // src/components/Card/components/Stats/MemoryArchivistStats.tsx
80
- var import_react_async_effect = require("@xylabs/react-async-effect");
81
- var import_archivist = require("@xyo-network/archivist");
82
- var import_boundwitness_model = require("@xyo-network/boundwitness-model");
83
- var import_boundwitness_wrapper = require("@xyo-network/boundwitness-wrapper");
84
- var import_react2 = require("react");
85
- var import_jsx_runtime4 = require("react/jsx-runtime");
86
- var MemoryArchivistsStats = ({ archivist }) => {
87
- const [all, setAll] = (0, import_react2.useState)();
88
- const getAll = (0, import_react2.useCallback)(async (archivist2) => {
89
- const all2 = await archivist2?.all?.();
90
- setAll(all2);
91
- }, []);
92
- (0, import_react2.useEffect)(() => {
93
- const listeners = [];
94
- if (archivist?.queries.includes(import_archivist.ArchivistAllQuerySchema)) {
95
- const insertListener = archivist.on("inserted", async () => {
96
- await getAll(archivist);
97
- });
98
- listeners.push(insertListener);
99
- const clearListener = archivist.on("cleared", async () => {
100
- await getAll(archivist);
101
- });
102
- listeners.push(clearListener);
103
- }
104
- return () => listeners.forEach((listener) => listener?.());
105
- }, [archivist, getAll]);
106
- (0, import_react_async_effect.useAsyncEffect)(
107
- // eslint-disable-next-line react-hooks/exhaustive-deps
108
- async () => {
109
- if (archivist?.queries.includes(import_archivist.ArchivistAllQuerySchema)) {
110
- await getAll(archivist);
111
- } else {
112
- setAll(null);
113
- }
114
- },
115
- [archivist, getAll]
116
- );
117
- const payloads = (0, import_react2.useMemo)(() => all === null ? [] : all?.filter((payload) => payload.schema !== import_boundwitness_model.BoundWitnessSchema), [all]);
118
- const boundWitnesses = (0, import_react2.useMemo)(() => all === null ? [] : all?.filter((payload) => payload.schema === import_boundwitness_model.BoundWitnessSchema), [all]);
119
- const addresses = (0, import_react2.useMemo)(
120
- () => all?.reduce(
121
- (prev, payload) => {
122
- const w = import_boundwitness_wrapper.BoundWitnessWrapper.tryParse(payload);
123
- w?.addresses?.forEach((address) => {
124
- prev[address] = (prev[address] ?? 0) + 1;
125
- });
126
- return prev;
127
- },
128
- {}
129
- ) ?? {},
130
- [all]
131
- );
132
- const schemas = (0, import_react2.useMemo)(
133
- () => all?.reduce(
134
- (prev, payload) => {
135
- prev[payload.schema] = (prev[payload.schema] ?? 0) + 1;
136
- return prev;
137
- },
138
- {}
139
- ) ?? {},
140
- [all]
141
- );
142
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(ArchivistStats, { addresses, boundWitnesses, payloads, schemas });
143
- };
144
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/components/Card/components/index.ts","../../../../../src/components/Card/components/ArchivistParent.tsx","../../../../../src/components/Card/components/ArchivistParents.tsx","../../../../../src/components/Card/components/Stats/ArchivistStats.tsx","../../../../../src/components/Card/components/Stats/MemoryArchivistStats.tsx"],"sourcesContent":["export * from './ArchivistParent'\nexport * from './ArchivistParents'\nexport * from './Stats'\n","import { ListItem, Typography } from '@mui/material'\n\nexport interface ArchivistTypeProps {\n archivistType?: 'Commit' | 'Read' | 'Write'\n parentArchivists?: string[]\n}\n\nexport const ArchivistParent: React.FC<ArchivistTypeProps> = ({ archivistType, parentArchivists }) => (\n <>\n {parentArchivists?.map((address) => {\n return (\n <ListItem key={address}>\n <Typography variant=\"subtitle2\">\n {archivistType}:{' '}\n <Typography variant={'caption'} sx={{ ml: 0.5 }}>\n {address}\n </Typography>\n </Typography>\n </ListItem>\n )\n })}\n </>\n)\n","import { ArrowRightRounded as ArrowRightRoundedIcon } from '@mui/icons-material'\nimport { Collapse, IconButton, List, Paper, Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { ArchivistConfig } from '@xyo-network/archivist'\nimport { useState } from 'react'\n\nimport { ArchivistParent } from './ArchivistParent'\n\nexport interface ArchivistParentsProps extends FlexBoxProps {\n config?: ArchivistConfig\n}\n\nexport const ArchivistParents: React.FC<ArchivistParentsProps> = ({ config, ...props }) => {\n const [parentArchivistCollapse, setParentArchivistCollapse] = useState(false)\n\n const { commit, read, write } = config?.parents ?? {}\n\n return (\n <>\n {commit || read || write ? (\n <FlexCol alignItems=\"start\" {...props}>\n <span onClick={() => setParentArchivistCollapse(!parentArchivistCollapse)}>\n <Typography variant=\"subtitle2\" sx={{ cursor: 'pointer', display: 'inline-block' }}>\n Parents\n </Typography>\n <IconButton size=\"small\">\n <ArrowRightRoundedIcon sx={{ rotate: parentArchivistCollapse ? '90deg' : '0deg', transition: 'all .25s' }} />\n </IconButton>\n </span>\n <Collapse in={parentArchivistCollapse}>\n <Paper elevation={2}>\n <List>\n <ArchivistParent archivistType=\"Commit\" parentArchivists={commit} />\n <ArchivistParent archivistType=\"Read\" parentArchivists={read} />\n <ArchivistParent archivistType=\"Write\" parentArchivists={write} />\n </List>\n </Paper>\n </Collapse>\n </FlexCol>\n ) : null}\n </>\n )\n}\n","import { Badge, Tooltip } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\n// eslint-disable-next-line import/no-internal-modules\nimport { BsFileEarmarkCode } from 'react-icons/bs/index.js'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc/index.js'\n\nexport interface ArchivistStatsProps {\n addresses?: Record<string, number>\n boundWitnesses?: Payload[] | null\n payloads?: Payload[] | null\n schemas?: Record<string, number>\n}\n\nexport const ArchivistStats: React.FC<ArchivistStatsProps> = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {\n return (\n <FlexRow gap={2} mr={0.5}>\n {payloads?.length ? (\n <Tooltip title=\"Payloads\">\n <Badge badgeContent={payloads?.length} color=\"primary\">\n <VscSymbolNamespace size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {boundWitnesses?.length ? (\n <Tooltip title=\"Blocks\">\n <Badge badgeContent={boundWitnesses?.length} color=\"primary\">\n <VscSymbolMethod size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {Object.entries(schemas).length ? (\n <Tooltip title=\"Schemas\">\n <Badge badgeContent={Object.entries(schemas).length} color=\"primary\">\n <BsFileEarmarkCode size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {Object.entries(addresses).length ? (\n <Tooltip title=\"Addresses\">\n <Badge badgeContent={Object.entries(addresses).length} color=\"primary\">\n <VscOrganization size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n </FlexRow>\n )\n}\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ArchivistAllQuerySchema, ArchivistInstance } from '@xyo-network/archivist'\nimport { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { EventUnsubscribeFunction } from '@xyo-network/module'\nimport { Payload } from '@xyo-network/payload-model'\nimport { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport { ArchivistStats } from './ArchivistStats'\n\nexport interface MemoryArchivistStatsProps {\n archivist?: ArchivistInstance\n}\n\nexport const MemoryArchivistsStats: React.FC<MemoryArchivistStatsProps> = ({ archivist }) => {\n const [all, setAll] = useState<Payload[] | null>()\n\n const getAll = useCallback(async (archivist?: ArchivistInstance) => {\n const all = await archivist?.all?.()\n setAll(all)\n }, [])\n\n useEffect(() => {\n const listeners: EventUnsubscribeFunction[] = []\n\n if (archivist?.queries.includes(ArchivistAllQuerySchema)) {\n const insertListener = archivist.on('inserted', async () => {\n await getAll(archivist)\n })\n listeners.push(insertListener)\n\n const clearListener = archivist.on('cleared', async () => {\n await getAll(archivist)\n })\n listeners.push(clearListener)\n }\n\n return () => listeners.forEach((listener) => listener?.())\n }, [archivist, getAll])\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async () => {\n if (archivist?.queries.includes(ArchivistAllQuerySchema)) {\n await getAll(archivist)\n } else {\n setAll(null)\n }\n },\n [archivist, getAll],\n )\n\n const payloads = useMemo(() => (all === null ? [] : all?.filter((payload) => payload.schema !== BoundWitnessSchema)), [all])\n const boundWitnesses = useMemo(() => (all === null ? [] : all?.filter((payload) => payload.schema === BoundWitnessSchema)), [all])\n const addresses = useMemo(\n () =>\n all?.reduce(\n (prev, payload) => {\n const w = BoundWitnessWrapper.tryParse(payload) as BoundWitnessWrapper | undefined\n w?.addresses?.forEach((address) => {\n prev[address] = (prev[address] ?? 0) + 1\n })\n return prev\n },\n {} as Record<string, number>,\n ) ?? {},\n [all],\n )\n const schemas = useMemo(\n () =>\n all?.reduce(\n (prev, payload) => {\n prev[payload.schema] = (prev[payload.schema] ?? 0) + 1\n return prev\n },\n {} as Record<string, number>,\n ) ?? {},\n [all],\n )\n\n return <ArchivistStats addresses={addresses} boundWitnesses={boundWitnesses} payloads={payloads} schemas={schemas} />\n}\n"],"mappings":"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","names":["import_material","import_jsx_runtime","ArrowRightRoundedIcon","import_material","import_react_flexbox","import_jsx_runtime","import_react","import_jsx_runtime","archivist","all"]}
@@ -1,121 +0,0 @@
1
- // src/components/Card/components/ArchivistParent.tsx
2
- import { ListItem, Typography } from "@mui/material";
3
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
- var ArchivistParent = ({ archivistType, parentArchivists }) => /* @__PURE__ */ jsx(Fragment, { children: parentArchivists?.map((address) => {
5
- return /* @__PURE__ */ jsx(ListItem, { children: /* @__PURE__ */ jsxs(Typography, { variant: "subtitle2", children: [
6
- archivistType,
7
- ":",
8
- " ",
9
- /* @__PURE__ */ jsx(Typography, { variant: "caption", sx: { ml: 0.5 }, children: address })
10
- ] }) }, address);
11
- }) });
12
-
13
- // src/components/Card/components/ArchivistParents.tsx
14
- import { ArrowRightRounded as ArrowRightRoundedIcon } from "@mui/icons-material";
15
- import { Collapse, IconButton, List, Paper, Typography as Typography2 } from "@mui/material";
16
- import { FlexCol } from "@xylabs/react-flexbox";
17
- import { useState } from "react";
18
- import { Fragment as Fragment2, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
19
- var ArchivistParents = ({ config, ...props }) => {
20
- const [parentArchivistCollapse, setParentArchivistCollapse] = useState(false);
21
- const { commit, read, write } = config?.parents ?? {};
22
- return /* @__PURE__ */ jsx2(Fragment2, { children: commit || read || write ? /* @__PURE__ */ jsxs2(FlexCol, { alignItems: "start", ...props, children: [
23
- /* @__PURE__ */ jsxs2("span", { onClick: () => setParentArchivistCollapse(!parentArchivistCollapse), children: [
24
- /* @__PURE__ */ jsx2(Typography2, { variant: "subtitle2", sx: { cursor: "pointer", display: "inline-block" }, children: "Parents" }),
25
- /* @__PURE__ */ jsx2(IconButton, { size: "small", children: /* @__PURE__ */ jsx2(ArrowRightRoundedIcon, { sx: { rotate: parentArchivistCollapse ? "90deg" : "0deg", transition: "all .25s" } }) })
26
- ] }),
27
- /* @__PURE__ */ jsx2(Collapse, { in: parentArchivistCollapse, children: /* @__PURE__ */ jsx2(Paper, { elevation: 2, children: /* @__PURE__ */ jsxs2(List, { children: [
28
- /* @__PURE__ */ jsx2(ArchivistParent, { archivistType: "Commit", parentArchivists: commit }),
29
- /* @__PURE__ */ jsx2(ArchivistParent, { archivistType: "Read", parentArchivists: read }),
30
- /* @__PURE__ */ jsx2(ArchivistParent, { archivistType: "Write", parentArchivists: write })
31
- ] }) }) })
32
- ] }) : null });
33
- };
34
-
35
- // src/components/Card/components/Stats/ArchivistStats.tsx
36
- import { Badge, Tooltip } from "@mui/material";
37
- import { FlexRow } from "@xylabs/react-flexbox";
38
- import { BsFileEarmarkCode } from "react-icons/bs/index.js";
39
- import { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from "react-icons/vsc/index.js";
40
- import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
41
- var ArchivistStats = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {
42
- return /* @__PURE__ */ jsxs3(FlexRow, { gap: 2, mr: 0.5, children: [
43
- payloads?.length ? /* @__PURE__ */ jsx3(Tooltip, { title: "Payloads", children: /* @__PURE__ */ jsx3(Badge, { badgeContent: payloads?.length, color: "primary", children: /* @__PURE__ */ jsx3(VscSymbolNamespace, { size: 20 }) }) }) : null,
44
- boundWitnesses?.length ? /* @__PURE__ */ jsx3(Tooltip, { title: "Blocks", children: /* @__PURE__ */ jsx3(Badge, { badgeContent: boundWitnesses?.length, color: "primary", children: /* @__PURE__ */ jsx3(VscSymbolMethod, { size: 20 }) }) }) : null,
45
- Object.entries(schemas).length ? /* @__PURE__ */ jsx3(Tooltip, { title: "Schemas", children: /* @__PURE__ */ jsx3(Badge, { badgeContent: Object.entries(schemas).length, color: "primary", children: /* @__PURE__ */ jsx3(BsFileEarmarkCode, { size: 20 }) }) }) : null,
46
- Object.entries(addresses).length ? /* @__PURE__ */ jsx3(Tooltip, { title: "Addresses", children: /* @__PURE__ */ jsx3(Badge, { badgeContent: Object.entries(addresses).length, color: "primary", children: /* @__PURE__ */ jsx3(VscOrganization, { size: 20 }) }) }) : null
47
- ] });
48
- };
49
-
50
- // src/components/Card/components/Stats/MemoryArchivistStats.tsx
51
- import { useAsyncEffect } from "@xylabs/react-async-effect";
52
- import { ArchivistAllQuerySchema } from "@xyo-network/archivist";
53
- import { BoundWitnessSchema } from "@xyo-network/boundwitness-model";
54
- import { BoundWitnessWrapper } from "@xyo-network/boundwitness-wrapper";
55
- import { useCallback, useEffect, useMemo, useState as useState2 } from "react";
56
- import { jsx as jsx4 } from "react/jsx-runtime";
57
- var MemoryArchivistsStats = ({ archivist }) => {
58
- const [all, setAll] = useState2();
59
- const getAll = useCallback(async (archivist2) => {
60
- const all2 = await archivist2?.all?.();
61
- setAll(all2);
62
- }, []);
63
- useEffect(() => {
64
- const listeners = [];
65
- if (archivist?.queries.includes(ArchivistAllQuerySchema)) {
66
- const insertListener = archivist.on("inserted", async () => {
67
- await getAll(archivist);
68
- });
69
- listeners.push(insertListener);
70
- const clearListener = archivist.on("cleared", async () => {
71
- await getAll(archivist);
72
- });
73
- listeners.push(clearListener);
74
- }
75
- return () => listeners.forEach((listener) => listener?.());
76
- }, [archivist, getAll]);
77
- useAsyncEffect(
78
- // eslint-disable-next-line react-hooks/exhaustive-deps
79
- async () => {
80
- if (archivist?.queries.includes(ArchivistAllQuerySchema)) {
81
- await getAll(archivist);
82
- } else {
83
- setAll(null);
84
- }
85
- },
86
- [archivist, getAll]
87
- );
88
- const payloads = useMemo(() => all === null ? [] : all?.filter((payload) => payload.schema !== BoundWitnessSchema), [all]);
89
- const boundWitnesses = useMemo(() => all === null ? [] : all?.filter((payload) => payload.schema === BoundWitnessSchema), [all]);
90
- const addresses = useMemo(
91
- () => all?.reduce(
92
- (prev, payload) => {
93
- const w = BoundWitnessWrapper.tryParse(payload);
94
- w?.addresses?.forEach((address) => {
95
- prev[address] = (prev[address] ?? 0) + 1;
96
- });
97
- return prev;
98
- },
99
- {}
100
- ) ?? {},
101
- [all]
102
- );
103
- const schemas = useMemo(
104
- () => all?.reduce(
105
- (prev, payload) => {
106
- prev[payload.schema] = (prev[payload.schema] ?? 0) + 1;
107
- return prev;
108
- },
109
- {}
110
- ) ?? {},
111
- [all]
112
- );
113
- return /* @__PURE__ */ jsx4(ArchivistStats, { addresses, boundWitnesses, payloads, schemas });
114
- };
115
- export {
116
- ArchivistParent,
117
- ArchivistParents,
118
- ArchivistStats,
119
- MemoryArchivistsStats
120
- };
121
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/components/Card/components/ArchivistParent.tsx","../../../../../src/components/Card/components/ArchivistParents.tsx","../../../../../src/components/Card/components/Stats/ArchivistStats.tsx","../../../../../src/components/Card/components/Stats/MemoryArchivistStats.tsx"],"sourcesContent":["import { ListItem, Typography } from '@mui/material'\n\nexport interface ArchivistTypeProps {\n archivistType?: 'Commit' | 'Read' | 'Write'\n parentArchivists?: string[]\n}\n\nexport const ArchivistParent: React.FC<ArchivistTypeProps> = ({ archivistType, parentArchivists }) => (\n <>\n {parentArchivists?.map((address) => {\n return (\n <ListItem key={address}>\n <Typography variant=\"subtitle2\">\n {archivistType}:{' '}\n <Typography variant={'caption'} sx={{ ml: 0.5 }}>\n {address}\n </Typography>\n </Typography>\n </ListItem>\n )\n })}\n </>\n)\n","import { ArrowRightRounded as ArrowRightRoundedIcon } from '@mui/icons-material'\nimport { Collapse, IconButton, List, Paper, Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { ArchivistConfig } from '@xyo-network/archivist'\nimport { useState } from 'react'\n\nimport { ArchivistParent } from './ArchivistParent'\n\nexport interface ArchivistParentsProps extends FlexBoxProps {\n config?: ArchivistConfig\n}\n\nexport const ArchivistParents: React.FC<ArchivistParentsProps> = ({ config, ...props }) => {\n const [parentArchivistCollapse, setParentArchivistCollapse] = useState(false)\n\n const { commit, read, write } = config?.parents ?? {}\n\n return (\n <>\n {commit || read || write ? (\n <FlexCol alignItems=\"start\" {...props}>\n <span onClick={() => setParentArchivistCollapse(!parentArchivistCollapse)}>\n <Typography variant=\"subtitle2\" sx={{ cursor: 'pointer', display: 'inline-block' }}>\n Parents\n </Typography>\n <IconButton size=\"small\">\n <ArrowRightRoundedIcon sx={{ rotate: parentArchivistCollapse ? '90deg' : '0deg', transition: 'all .25s' }} />\n </IconButton>\n </span>\n <Collapse in={parentArchivistCollapse}>\n <Paper elevation={2}>\n <List>\n <ArchivistParent archivistType=\"Commit\" parentArchivists={commit} />\n <ArchivistParent archivistType=\"Read\" parentArchivists={read} />\n <ArchivistParent archivistType=\"Write\" parentArchivists={write} />\n </List>\n </Paper>\n </Collapse>\n </FlexCol>\n ) : null}\n </>\n )\n}\n","import { Badge, Tooltip } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\n// eslint-disable-next-line import/no-internal-modules\nimport { BsFileEarmarkCode } from 'react-icons/bs/index.js'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc/index.js'\n\nexport interface ArchivistStatsProps {\n addresses?: Record<string, number>\n boundWitnesses?: Payload[] | null\n payloads?: Payload[] | null\n schemas?: Record<string, number>\n}\n\nexport const ArchivistStats: React.FC<ArchivistStatsProps> = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {\n return (\n <FlexRow gap={2} mr={0.5}>\n {payloads?.length ? (\n <Tooltip title=\"Payloads\">\n <Badge badgeContent={payloads?.length} color=\"primary\">\n <VscSymbolNamespace size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {boundWitnesses?.length ? (\n <Tooltip title=\"Blocks\">\n <Badge badgeContent={boundWitnesses?.length} color=\"primary\">\n <VscSymbolMethod size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {Object.entries(schemas).length ? (\n <Tooltip title=\"Schemas\">\n <Badge badgeContent={Object.entries(schemas).length} color=\"primary\">\n <BsFileEarmarkCode size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {Object.entries(addresses).length ? (\n <Tooltip title=\"Addresses\">\n <Badge badgeContent={Object.entries(addresses).length} color=\"primary\">\n <VscOrganization size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n </FlexRow>\n )\n}\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ArchivistAllQuerySchema, ArchivistInstance } from '@xyo-network/archivist'\nimport { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { EventUnsubscribeFunction } from '@xyo-network/module'\nimport { Payload } from '@xyo-network/payload-model'\nimport { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport { ArchivistStats } from './ArchivistStats'\n\nexport interface MemoryArchivistStatsProps {\n archivist?: ArchivistInstance\n}\n\nexport const MemoryArchivistsStats: React.FC<MemoryArchivistStatsProps> = ({ archivist }) => {\n const [all, setAll] = useState<Payload[] | null>()\n\n const getAll = useCallback(async (archivist?: ArchivistInstance) => {\n const all = await archivist?.all?.()\n setAll(all)\n }, [])\n\n useEffect(() => {\n const listeners: EventUnsubscribeFunction[] = []\n\n if (archivist?.queries.includes(ArchivistAllQuerySchema)) {\n const insertListener = archivist.on('inserted', async () => {\n await getAll(archivist)\n })\n listeners.push(insertListener)\n\n const clearListener = archivist.on('cleared', async () => {\n await getAll(archivist)\n })\n listeners.push(clearListener)\n }\n\n return () => listeners.forEach((listener) => listener?.())\n }, [archivist, getAll])\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async () => {\n if (archivist?.queries.includes(ArchivistAllQuerySchema)) {\n await getAll(archivist)\n } else {\n setAll(null)\n }\n },\n [archivist, getAll],\n )\n\n const payloads = useMemo(() => (all === null ? [] : all?.filter((payload) => payload.schema !== BoundWitnessSchema)), [all])\n const boundWitnesses = useMemo(() => (all === null ? [] : all?.filter((payload) => payload.schema === BoundWitnessSchema)), [all])\n const addresses = useMemo(\n () =>\n all?.reduce(\n (prev, payload) => {\n const w = BoundWitnessWrapper.tryParse(payload) as BoundWitnessWrapper | undefined\n w?.addresses?.forEach((address) => {\n prev[address] = (prev[address] ?? 0) + 1\n })\n return prev\n },\n {} as Record<string, number>,\n ) ?? {},\n [all],\n )\n const schemas = useMemo(\n () =>\n all?.reduce(\n (prev, payload) => {\n prev[payload.schema] = (prev[payload.schema] ?? 0) + 1\n return prev\n },\n {} as Record<string, number>,\n ) ?? {},\n [all],\n )\n\n return <ArchivistStats addresses={addresses} boundWitnesses={boundWitnesses} payloads={payloads} schemas={schemas} />\n}\n"],"mappings":"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","names":["Typography","Fragment","jsx","jsxs","Typography","jsx","jsxs","useState","jsx","useState","archivist","all"]}