@xyo-network/react-archivist 2.78.0 → 2.78.2

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.
@@ -1,2 +1,440 @@
1
- "use strict";var S=Object.defineProperty;var Be=Object.getOwnPropertyDescriptor;var ke=Object.getOwnPropertyNames;var Ee=Object.prototype.hasOwnProperty;var Se=(r,e)=>{for(var t in e)S(r,t,{get:e[t],enumerable:!0})},Te=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of ke(e))!Ee.call(r,s)&&s!==t&&S(r,s,{get:()=>e[s],enumerable:!(o=Be(e,s))||o.enumerable});return r};var We=r=>Te(S({},"__esModule",{value:!0}),r);var Je={};Se(Je,{ArchivistCard:()=>Qe,ArchivistCardContent:()=>W,ArchivistCardHeader:()=>N,ArchivistDetails:()=>Ue,useArchivistAll:()=>Ge,useArchivistFromNode:()=>He,useArchivistGet:()=>Le,useArchivistsFromNode:()=>qe,useWeakArchivistAll:()=>Oe,useWeakArchivistFromNode:()=>Q,useWeakArchivistGet:()=>$e,useWeakArchivistsFromNode:()=>ze});module.exports=We(Je);var ne=require("@mui/material"),ie=require("@xyo-network/react-module");var Y=require("@xylabs/react-async-effect"),Z=require("@xylabs/react-flexbox"),_=require("@xyo-network/module-wrapper"),j=require("@xyo-network/react-module"),ee=require("@xyo-network/react-wallet"),re=require("react");var I=require("@mui/material"),y=require("react/jsx-runtime"),w=({archivistType:r,parentArchivists:e})=>(0,y.jsx)(y.Fragment,{children:e==null?void 0:e.map(t=>(0,y.jsx)(I.ListItem,{children:(0,y.jsxs)(I.Typography,{variant:"subtitle2",children:[r,":"," ",(0,y.jsx)(I.Typography,{variant:"caption",sx:{ml:.5},children:t})]})},t))});var G=require("@mui/icons-material"),A=require("@mui/material"),L=require("@xylabs/react-flexbox"),O=require("react");var m=require("react/jsx-runtime"),$=({config:r,...e})=>{let[t,o]=(0,O.useState)(!1),{commit:s,read:i,write:a}=(r==null?void 0:r.parents)??{};return(0,m.jsx)(m.Fragment,{children:s||i||a?(0,m.jsxs)(L.FlexCol,{alignItems:"start",...e,children:[(0,m.jsxs)("span",{onClick:()=>o(!t),children:[(0,m.jsx)(A.Typography,{variant:"subtitle2",sx:{cursor:"pointer",display:"inline-block"},children:"Parents"}),(0,m.jsx)(A.IconButton,{size:"small",children:(0,m.jsx)(G.ArrowRightRounded,{sx:{rotate:t?"90deg":"0deg",transition:"all .25s"}})})]}),(0,m.jsx)(A.Collapse,{in:t,children:(0,m.jsx)(A.Paper,{elevation:2,children:(0,m.jsxs)(A.List,{children:[(0,m.jsx)(w,{archivistType:"Commit",parentArchivists:s}),(0,m.jsx)(w,{archivistType:"Read",parentArchivists:i}),(0,m.jsx)(w,{archivistType:"Write",parentArchivists:a})]})})})]}):null})};var h=require("@mui/material"),D=require("@xylabs/react-flexbox"),V=require("react-icons/bs"),x=require("react-icons/vsc"),f=require("react/jsx-runtime"),U=({addresses:r={},boundWitnesses:e,payloads:t,schemas:o={}})=>(0,f.jsxs)(D.FlexRow,{gap:2,mr:.5,children:[t!=null&&t.length?(0,f.jsx)(h.Tooltip,{title:"Payloads",children:(0,f.jsx)(h.Badge,{badgeContent:t==null?void 0:t.length,color:"primary",children:(0,f.jsx)(x.VscSymbolNamespace,{size:20})})}):null,e!=null&&e.length?(0,f.jsx)(h.Tooltip,{title:"Blocks",children:(0,f.jsx)(h.Badge,{badgeContent:e==null?void 0:e.length,color:"primary",children:(0,f.jsx)(x.VscSymbolMethod,{size:20})})}):null,Object.entries(o).length>0?(0,f.jsx)(h.Tooltip,{title:"Schemas",children:(0,f.jsx)(h.Badge,{badgeContent:Object.entries(o).length,color:"primary",children:(0,f.jsx)(V.BsFileEarmarkCode,{size:20})})}):null,Object.entries(r).length>0?(0,f.jsx)(h.Tooltip,{title:"Addresses",children:(0,f.jsx)(h.Badge,{badgeContent:Object.entries(r).length,color:"primary",children:(0,f.jsx)(x.VscOrganization,{size:20})})}):null]});var J=require("@xylabs/react-async-effect"),T=require("@xyo-network/archivist-model"),M=require("@xyo-network/boundwitness-model"),p=require("react");var X=require("react/jsx-runtime"),K=({archivist:r})=>{let[e,t]=(0,p.useState)(),o=(0,p.useCallback)(async n=>{var u;let d=await((u=n==null?void 0:n.all)==null?void 0:u.call(n));t(d)},[]);(0,p.useEffect)(()=>{let n=[];if(r!=null&&r.queries.includes(T.ArchivistAllQuerySchema)){let d=r.on("inserted",async()=>{await o(r)});n.push(d);let u=r.on("cleared",async()=>{await o(r)});n.push(u)}return()=>{for(let d of n)d==null||d()}},[r,o]),(0,J.useAsyncEffect)(async()=>{r!=null&&r.queries.includes(T.ArchivistAllQuerySchema)?await o(r):t(null)},[r,o]);let s=(0,p.useMemo)(()=>e===null?[]:e==null?void 0:e.filter(n=>n.schema!==M.BoundWitnessSchema),[e]),i=(0,p.useMemo)(()=>e===null?[]:e==null?void 0:e.filter(n=>n.schema===M.BoundWitnessSchema),[e]),a=(0,p.useMemo)(()=>(e==null?void 0:e.reduce((n,d)=>{let u=(0,M.asBoundWitness)(d);if(u!=null&&u.addresses)for(let c of(u==null?void 0:u.addresses)??[])n[c]=(n[c]??0)+1;return n},{}))??{},[e]),l=(0,p.useMemo)(()=>(e==null?void 0:e.reduce((n,d)=>(n[d.schema]=(n[d.schema]??0)+1,n),{}))??{},[e]);return(0,X.jsx)(U,{addresses:a,boundWitnesses:i,payloads:s,schemas:l})};var b=require("react/jsx-runtime"),W=({children:r,mod:e,...t})=>{let[o,s]=(0,re.useState)(),[i]=(0,ee.useWallet)();return(0,Y.useAsyncEffect)(async a=>{if(i&&e){let l=_.ModuleWrapper.wrap(e,i),n=await(l==null?void 0:l.state());a()&&s(n==null?void 0:n[0])}else s(void 0)},[e,i]),(0,b.jsx)(j.ModuleCardContent,{mod:e,...t,children:(0,b.jsxs)(Z.FlexGrowRow,{flexWrap:"wrap",justifyContent:"start",gap:2,children:[r,(0,b.jsx)($,{config:o})]})})};var te=require("@xyo-network/archivist-memory"),oe=require("@xyo-network/react-module"),se=require("react");var R=require("react/jsx-runtime"),Ne=r=>{switch(r==null?void 0:r.config.schema){case te.MemoryArchivistConfigSchema:return(0,R.jsx)(K,{archivist:r});default:return(0,R.jsx)(R.Fragment,{})}},N=({title:r,mod:e,...t})=>{let o=(0,se.useMemo)(()=>Ne(e),[e]);return(0,R.jsx)(oe.ModuleCardHeader,{mod:e,title:r??(e==null?void 0:e.config.name)??"Archivist",action:o,...t})};var F=require("react/jsx-runtime"),Qe=({children:r,mod:e,...t})=>(0,F.jsxs)(ne.Card,{...t,children:[(0,F.jsx)(N,{mod:e}),(0,F.jsx)(W,{mod:e}),r,(0,F.jsx)(ie.ModuleCardActions,{mod:e})]});var k=require("@mui/material"),H=require("@xylabs/react-async-effect"),B=require("@xylabs/react-button"),be=require("@xylabs/react-flexbox"),E=require("@xyo-network/archivist-model"),q=require("@xyo-network/boundwitness-builder"),v=require("react");var ae=require("@xyo-network/archivist-model"),ce=require("@xyo-network/react-node"),He=(r,e)=>{var i,a;let[t,o]=(0,ce.useModuleFromNode)(r,e),s=(0,ae.asArchivistInstance)(t);if(t&&!s){let l=new Error(`Resolved module is not a ArchivistInstance [${(i=t.config)==null?void 0:i.schema}:${(a=t.config)==null?void 0:a.name}:${t.address}]`);return console.error(l.message),[void 0,l]}return[s,o]};var me=require("@xyo-network/archivist-model"),le=require("@xyo-network/react-node"),qe=(r,e)=>{let[t,o]=(0,le.useModulesFromNode)(r,e);return o?[null,o]:t?[t.reduce((s,i)=>((0,me.isArchivistInstance)(i)&&s.push(i),s),[]),void 0]:[t,o]};var de=require("@xyo-network/archivist-model"),fe=require("@xyo-network/react-node"),Q=(r,e)=>(0,fe.useWeakModuleFromNode)(r,{identity:de.isArchivistInstance,...e});var ue=require("@xylabs/exists"),pe=require("@xyo-network/archivist-model"),Ae=require("@xyo-network/react-node"),ze=(r,e)=>{let[t,o]=(0,Ae.useWeakModulesFromNode)(r,e);return o?[null,o]:[(t==null?void 0:t.map(s=>{let i=(0,pe.asArchivistInstance)(s==null?void 0:s.deref());if(i)return new WeakRef(i)}).filter(ue.exists))??[],void 0]};var he=require("@xylabs/react-promise"),Ce=require("@xyo-network/react-module"),ye=require("react"),Ge=r=>{let[e,t]=(0,ye.useState)(),[o,s]=(0,Ce.useRefresh)();return[(0,he.usePromise)(async()=>{var a;try{if(o)return await((a=r==null?void 0:r.all)==null?void 0:a.call(r))}catch(l){t(l)}},[r,o]),e,s]};var ge=require("@xylabs/react-promise"),Pe=require("@xyo-network/react-module"),Le=(r,e)=>{let[t,o]=(0,Pe.useRefresh)(),[s,i]=(0,ge.usePromise)(async()=>{if(t&&r&&e)return await r.get(e)},[r,e,t]);return[s,i,o]};var xe=require("@xylabs/react-promise"),Re=require("@xyo-network/react-module"),Fe=require("react"),Oe=r=>{let[e,t]=(0,Fe.useState)(),[o,s]=(0,Re.useRefresh)();return[(0,xe.usePromise)(async()=>{var a,l;try{if(o)return await((l=(a=r==null?void 0:r.deref())==null?void 0:a.all)==null?void 0:l.call(a))}catch(n){t(n)}},[r,o]),e,s]};var Ie=require("@xylabs/react-promise"),Me=require("@xyo-network/react-module"),$e=(r,e)=>{let[t,o]=(0,Me.useRefresh)(),[s,i]=(0,Ie.usePromise)(async()=>{let a=r==null?void 0:r.deref();if(t&&a&&e)return await a.get(e)},[r,e,t]);return[s,i,o]};var g=require("react/jsx-runtime"),ve={schema:E.ArchivistCommitQuerySchema},De=new q.QueryBoundWitnessBuilder().query(ve),we={schema:E.ArchivistClearQuerySchema},Ve=new q.QueryBoundWitnessBuilder().query(we),Ue=({address:r,...e})=>{let[t]=Q(r),[o,s]=(0,v.useState)(),[i,a]=(0,v.useState)(0),[l,n]=(0,v.useState)(!1),[d,u]=(0,v.useState)(!1);return(0,H.useAsyncEffect)(async()=>{let c=t==null?void 0:t.deref();if(c){let[C]=await(await De).build(),[P]=await(await Ve).build();n(await(c==null?void 0:c.queryable(C,[ve]))),u(await(c==null?void 0:c.queryable(P,[we])))}},[t]),(0,H.useAsyncEffect)(async c=>{var P,z;let C=await((z=(P=t==null?void 0:t.deref())==null?void 0:P.all)==null?void 0:z.call(P));c()&&s(C)},[t,i]),(0,g.jsxs)(be.FlexCol,{...e,children:[(0,g.jsx)(k.Typography,{children:`Payloads: ${o?o.length:"-"}`}),(0,g.jsxs)(k.ButtonGroup,{children:[(0,g.jsx)(B.ButtonEx,{disabled:(o==null?void 0:o.length)===0||!t||!l,onClick:()=>{var c,C;return(C=(c=t==null?void 0:t.deref())==null?void 0:c.commit)==null?void 0:C.call(c)},children:"Commit"}),(0,g.jsx)(B.ButtonEx,{disabled:!t||!d,onClick:()=>{var c,C;return(C=(c=t==null?void 0:t.deref())==null?void 0:c.clear)==null?void 0:C.call(c)},children:"Clear"}),(0,g.jsx)(B.ButtonEx,{disabled:!t,onClick:()=>{a(i+1)},children:"Refresh"})]})]})};0&&(module.exports={ArchivistCard,ArchivistCardContent,ArchivistCardHeader,ArchivistDetails,useArchivistAll,useArchivistFromNode,useArchivistGet,useArchivistsFromNode,useWeakArchivistAll,useWeakArchivistFromNode,useWeakArchivistGet,useWeakArchivistsFromNode});
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/index.ts
21
+ var src_exports = {};
22
+ __export(src_exports, {
23
+ ArchivistCard: () => ArchivistCard,
24
+ ArchivistCardContent: () => ArchivistCardContent,
25
+ ArchivistCardHeader: () => ArchivistCardHeader,
26
+ ArchivistDetails: () => ArchivistDetails,
27
+ useArchivistAll: () => useArchivistAll,
28
+ useArchivistFromNode: () => useArchivistFromNode,
29
+ useArchivistGet: () => useArchivistGet,
30
+ useArchivistsFromNode: () => useArchivistsFromNode,
31
+ useWeakArchivistAll: () => useWeakArchivistAll,
32
+ useWeakArchivistFromNode: () => useWeakArchivistFromNode,
33
+ useWeakArchivistGet: () => useWeakArchivistGet,
34
+ useWeakArchivistsFromNode: () => useWeakArchivistsFromNode
35
+ });
36
+ module.exports = __toCommonJS(src_exports);
37
+
38
+ // src/components/Card/Card.tsx
39
+ var import_material4 = require("@mui/material");
40
+ var import_react_module3 = require("@xyo-network/react-module");
41
+
42
+ // src/components/Card/CardContent.tsx
43
+ var import_react_async_effect2 = require("@xylabs/react-async-effect");
44
+ var import_react_flexbox3 = require("@xylabs/react-flexbox");
45
+ var import_module_wrapper = require("@xyo-network/module-wrapper");
46
+ var import_react_module = require("@xyo-network/react-module");
47
+ var import_react_wallet = require("@xyo-network/react-wallet");
48
+ var import_react3 = require("react");
49
+
50
+ // src/components/Card/components/ArchivistParent.tsx
51
+ var import_material = require("@mui/material");
52
+ var import_jsx_runtime = require("react/jsx-runtime");
53
+ var ArchivistParent = ({ archivistType, parentArchivists }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: parentArchivists == null ? void 0 : parentArchivists.map((address) => {
54
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.ListItem, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_material.Typography, { variant: "subtitle2", children: [
55
+ archivistType,
56
+ ":",
57
+ " ",
58
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "caption", sx: { ml: 0.5 }, children: address })
59
+ ] }) }, address);
60
+ }) });
61
+
62
+ // src/components/Card/components/ArchivistParents.tsx
63
+ var import_icons_material = require("@mui/icons-material");
64
+ var import_material2 = require("@mui/material");
65
+ var import_react_flexbox = require("@xylabs/react-flexbox");
66
+ var import_react = require("react");
67
+ var import_jsx_runtime2 = require("react/jsx-runtime");
68
+ var ArchivistParents = ({ config, ...props }) => {
69
+ const [parentArchivistCollapse, setParentArchivistCollapse] = (0, import_react.useState)(false);
70
+ const { commit, read, write } = (config == null ? void 0 : config.parents) ?? {};
71
+ 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: [
72
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("span", { onClick: () => setParentArchivistCollapse(!parentArchivistCollapse), children: [
73
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.Typography, { variant: "subtitle2", sx: { cursor: "pointer", display: "inline-block" }, children: "Parents" }),
74
+ /* @__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" } }) })
75
+ ] }),
76
+ /* @__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: [
77
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ArchivistParent, { archivistType: "Commit", parentArchivists: commit }),
78
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ArchivistParent, { archivistType: "Read", parentArchivists: read }),
79
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ArchivistParent, { archivistType: "Write", parentArchivists: write })
80
+ ] }) }) })
81
+ ] }) : null });
82
+ };
83
+
84
+ // src/components/Card/components/Stats/ArchivistStats.tsx
85
+ var import_material3 = require("@mui/material");
86
+ var import_react_flexbox2 = require("@xylabs/react-flexbox");
87
+ var import_bs = require("react-icons/bs");
88
+ var import_vsc = require("react-icons/vsc");
89
+ var import_jsx_runtime3 = require("react/jsx-runtime");
90
+ var ArchivistStats = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {
91
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_react_flexbox2.FlexRow, { gap: 2, mr: 0.5, children: [
92
+ (payloads == null ? void 0 : 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 == null ? void 0 : payloads.length, color: "primary", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_vsc.VscSymbolNamespace, { size: 20 }) }) }) : null,
93
+ (boundWitnesses == null ? void 0 : 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 == null ? void 0 : boundWitnesses.length, color: "primary", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_vsc.VscSymbolMethod, { size: 20 }) }) }) : null,
94
+ Object.entries(schemas).length > 0 ? /* @__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,
95
+ Object.entries(addresses).length > 0 ? /* @__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
96
+ ] });
97
+ };
98
+
99
+ // src/components/Card/components/Stats/MemoryArchivistStats.tsx
100
+ var import_react_async_effect = require("@xylabs/react-async-effect");
101
+ var import_archivist_model = require("@xyo-network/archivist-model");
102
+ var import_boundwitness_model = require("@xyo-network/boundwitness-model");
103
+ var import_react2 = require("react");
104
+ var import_jsx_runtime4 = require("react/jsx-runtime");
105
+ var MemoryArchivistsStats = ({ archivist }) => {
106
+ const [all, setAll] = (0, import_react2.useState)();
107
+ const getAll = (0, import_react2.useCallback)(async (archivist2) => {
108
+ var _a;
109
+ const all2 = await ((_a = archivist2 == null ? void 0 : archivist2.all) == null ? void 0 : _a.call(archivist2));
110
+ setAll(all2);
111
+ }, []);
112
+ (0, import_react2.useEffect)(() => {
113
+ const listeners = [];
114
+ if (archivist == null ? void 0 : archivist.queries.includes(import_archivist_model.ArchivistAllQuerySchema)) {
115
+ const insertListener = archivist.on("inserted", async () => {
116
+ await getAll(archivist);
117
+ });
118
+ listeners.push(insertListener);
119
+ const clearListener = archivist.on("cleared", async () => {
120
+ await getAll(archivist);
121
+ });
122
+ listeners.push(clearListener);
123
+ }
124
+ return () => {
125
+ for (const listener of listeners) listener == null ? void 0 : listener();
126
+ };
127
+ }, [archivist, getAll]);
128
+ (0, import_react_async_effect.useAsyncEffect)(
129
+ // eslint-disable-next-line react-hooks/exhaustive-deps
130
+ async () => {
131
+ if (archivist == null ? void 0 : archivist.queries.includes(import_archivist_model.ArchivistAllQuerySchema)) {
132
+ await getAll(archivist);
133
+ } else {
134
+ setAll(null);
135
+ }
136
+ },
137
+ [archivist, getAll]
138
+ );
139
+ const payloads = (0, import_react2.useMemo)(() => all === null ? [] : all == null ? void 0 : all.filter((payload) => payload.schema !== import_boundwitness_model.BoundWitnessSchema), [all]);
140
+ const boundWitnesses = (0, import_react2.useMemo)(() => all === null ? [] : all == null ? void 0 : all.filter((payload) => payload.schema === import_boundwitness_model.BoundWitnessSchema), [all]);
141
+ const addresses = (0, import_react2.useMemo)(
142
+ () => (all == null ? void 0 : all.reduce(
143
+ (prev, payload) => {
144
+ const w = (0, import_boundwitness_model.asBoundWitness)(payload);
145
+ if (w == null ? void 0 : w.addresses)
146
+ for (const address of (w == null ? void 0 : w.addresses) ?? []) {
147
+ prev[address] = (prev[address] ?? 0) + 1;
148
+ }
149
+ return prev;
150
+ },
151
+ {}
152
+ )) ?? {},
153
+ [all]
154
+ );
155
+ const schemas = (0, import_react2.useMemo)(
156
+ () => (all == null ? void 0 : all.reduce(
157
+ (prev, payload) => {
158
+ prev[payload.schema] = (prev[payload.schema] ?? 0) + 1;
159
+ return prev;
160
+ },
161
+ {}
162
+ )) ?? {},
163
+ [all]
164
+ );
165
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(ArchivistStats, { addresses, boundWitnesses, payloads, schemas });
166
+ };
167
+
168
+ // src/components/Card/CardContent.tsx
169
+ var import_jsx_runtime5 = require("react/jsx-runtime");
170
+ var ArchivistCardContent = ({ children, mod, ...props }) => {
171
+ const [config, setConfig] = (0, import_react3.useState)();
172
+ const [wallet] = (0, import_react_wallet.useWallet)();
173
+ (0, import_react_async_effect2.useAsyncEffect)(
174
+ // eslint-disable-next-line react-hooks/exhaustive-deps
175
+ async (mounted) => {
176
+ if (wallet && mod) {
177
+ const wrapper = import_module_wrapper.ModuleWrapper.wrap(mod, wallet);
178
+ const payloads = await (wrapper == null ? void 0 : wrapper.state());
179
+ if (mounted()) {
180
+ setConfig(payloads == null ? void 0 : payloads[0]);
181
+ }
182
+ } else {
183
+ setConfig(void 0);
184
+ }
185
+ },
186
+ [mod, wallet]
187
+ );
188
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react_module.ModuleCardContent, { mod, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_react_flexbox3.FlexGrowRow, { flexWrap: "wrap", justifyContent: "start", gap: 2, children: [
189
+ children,
190
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ArchivistParents, { config })
191
+ ] }) });
192
+ };
193
+
194
+ // src/components/Card/CardHeader.tsx
195
+ var import_archivist_memory = require("@xyo-network/archivist-memory");
196
+ var import_react_module2 = require("@xyo-network/react-module");
197
+ var import_react4 = require("react");
198
+ var import_jsx_runtime6 = require("react/jsx-runtime");
199
+ var ArchivistStats2 = (archivist) => {
200
+ switch (archivist == null ? void 0 : archivist.config.schema) {
201
+ case import_archivist_memory.MemoryArchivistConfigSchema: {
202
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(MemoryArchivistsStats, { archivist });
203
+ }
204
+ default: {
205
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, {});
206
+ }
207
+ }
208
+ };
209
+ var ArchivistCardHeader = ({ title, mod, ...props }) => {
210
+ const Stats = (0, import_react4.useMemo)(() => ArchivistStats2(mod), [mod]);
211
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react_module2.ModuleCardHeader, { mod, title: title ?? (mod == null ? void 0 : mod.config.name) ?? "Archivist", action: Stats, ...props });
212
+ };
213
+
214
+ // src/components/Card/Card.tsx
215
+ var import_jsx_runtime7 = require("react/jsx-runtime");
216
+ var ArchivistCard = ({ children, mod, ...props }) => {
217
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_material4.Card, { ...props, children: [
218
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(ArchivistCardHeader, { mod }),
219
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(ArchivistCardContent, { mod }),
220
+ children,
221
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_module3.ModuleCardActions, { mod })
222
+ ] });
223
+ };
224
+
225
+ // src/components/Details/Details.tsx
226
+ var import_material5 = require("@mui/material");
227
+ var import_react_async_effect3 = require("@xylabs/react-async-effect");
228
+ var import_react_button = require("@xylabs/react-button");
229
+ var import_react_flexbox4 = require("@xylabs/react-flexbox");
230
+ var import_archivist_model6 = require("@xyo-network/archivist-model");
231
+ var import_boundwitness_builder = require("@xyo-network/boundwitness-builder");
232
+ var import_react7 = require("react");
233
+
234
+ // src/hooks/node/useArchivistFromNode.tsx
235
+ var import_archivist_model2 = require("@xyo-network/archivist-model");
236
+ var import_react_node = require("@xyo-network/react-node");
237
+ var useArchivistFromNode = (nameOrAddressOrInstance, config) => {
238
+ var _a, _b;
239
+ const [mod, error] = (0, import_react_node.useModuleFromNode)(nameOrAddressOrInstance, config);
240
+ const instance = (0, import_archivist_model2.asArchivistInstance)(mod);
241
+ if (mod && !instance) {
242
+ const error2 = new Error(`Resolved module is not a ArchivistInstance [${(_a = mod.config) == null ? void 0 : _a.schema}:${(_b = mod.config) == null ? void 0 : _b.name}:${mod.address}]`);
243
+ console.error(error2.message);
244
+ return [void 0, error2];
245
+ }
246
+ return [instance, error];
247
+ };
248
+
249
+ // src/hooks/node/useArchivistsFromNode.tsx
250
+ var import_archivist_model3 = require("@xyo-network/archivist-model");
251
+ var import_react_node2 = require("@xyo-network/react-node");
252
+ var useArchivistsFromNode = (filter, config) => {
253
+ const [modules, error] = (0, import_react_node2.useModulesFromNode)(filter, config);
254
+ if (error) {
255
+ return [null, error];
256
+ }
257
+ return modules ? [
258
+ // eslint-disable-next-line unicorn/no-array-reduce
259
+ modules.reduce((prev, mod) => {
260
+ if ((0, import_archivist_model3.isArchivistInstance)(mod)) {
261
+ prev.push(mod);
262
+ }
263
+ return prev;
264
+ }, []),
265
+ void 0
266
+ ] : [modules, error];
267
+ };
268
+
269
+ // src/hooks/node/useWeakArchivistFromNode.tsx
270
+ var import_archivist_model4 = require("@xyo-network/archivist-model");
271
+ var import_react_node3 = require("@xyo-network/react-node");
272
+ var useWeakArchivistFromNode = (nameOrAddressOrInstance, config) => {
273
+ return (0, import_react_node3.useWeakModuleFromNode)(nameOrAddressOrInstance, { identity: import_archivist_model4.isArchivistInstance, ...config });
274
+ };
275
+
276
+ // src/hooks/node/useWeakArchivistsFromNode.tsx
277
+ var import_exists = require("@xylabs/exists");
278
+ var import_archivist_model5 = require("@xyo-network/archivist-model");
279
+ var import_react_node4 = require("@xyo-network/react-node");
280
+ var useWeakArchivistsFromNode = (filter, config) => {
281
+ const [modules, error] = (0, import_react_node4.useWeakModulesFromNode)(filter, config);
282
+ if (error) {
283
+ return [null, error];
284
+ }
285
+ return [
286
+ (modules == null ? void 0 : modules.map((mod) => {
287
+ const instance = (0, import_archivist_model5.asArchivistInstance)(mod == null ? void 0 : mod.deref());
288
+ if (instance) {
289
+ return new WeakRef(instance);
290
+ }
291
+ }).filter(import_exists.exists)) ?? [],
292
+ void 0
293
+ ];
294
+ };
295
+
296
+ // src/hooks/queries/useArchivistAll.tsx
297
+ var import_react_promise = require("@xylabs/react-promise");
298
+ var import_react_module4 = require("@xyo-network/react-module");
299
+ var import_react5 = require("react");
300
+ var useArchivistAll = (archivist) => {
301
+ const [error, setError] = (0, import_react5.useState)();
302
+ const [enabled, refresh] = (0, import_react_module4.useRefresh)();
303
+ const payloads = (0, import_react_promise.usePromise)(async () => {
304
+ var _a;
305
+ try {
306
+ if (enabled) {
307
+ return await ((_a = archivist == null ? void 0 : archivist.all) == null ? void 0 : _a.call(archivist));
308
+ }
309
+ } catch (ex) {
310
+ const error2 = ex;
311
+ setError(error2);
312
+ }
313
+ }, [archivist, enabled]);
314
+ return [payloads, error, refresh];
315
+ };
316
+
317
+ // src/hooks/queries/useArchivistGet.tsx
318
+ var import_react_promise2 = require("@xylabs/react-promise");
319
+ var import_react_module5 = require("@xyo-network/react-module");
320
+ var useArchivistGet = (archivist, hashes) => {
321
+ const [enabled, refresh] = (0, import_react_module5.useRefresh)();
322
+ const [payloads, error] = (0, import_react_promise2.usePromise)(async () => {
323
+ if (enabled && archivist && hashes) {
324
+ return await archivist.get(hashes);
325
+ }
326
+ }, [archivist, hashes, enabled]);
327
+ return [payloads, error, refresh];
328
+ };
329
+
330
+ // src/hooks/queries/useWeakArchivistAll.tsx
331
+ var import_react_promise3 = require("@xylabs/react-promise");
332
+ var import_react_module6 = require("@xyo-network/react-module");
333
+ var import_react6 = require("react");
334
+ var useWeakArchivistAll = (archivist) => {
335
+ const [error, setError] = (0, import_react6.useState)();
336
+ const [enabled, refresh] = (0, import_react_module6.useRefresh)();
337
+ const payloads = (0, import_react_promise3.usePromise)(async () => {
338
+ var _a, _b;
339
+ try {
340
+ if (enabled) {
341
+ return await ((_b = (_a = archivist == null ? void 0 : archivist.deref()) == null ? void 0 : _a.all) == null ? void 0 : _b.call(_a));
342
+ }
343
+ } catch (ex) {
344
+ const error2 = ex;
345
+ setError(error2);
346
+ }
347
+ }, [archivist, enabled]);
348
+ return [payloads, error, refresh];
349
+ };
350
+
351
+ // src/hooks/queries/useWeakArchivistGet.tsx
352
+ var import_react_promise4 = require("@xylabs/react-promise");
353
+ var import_react_module7 = require("@xyo-network/react-module");
354
+ var useWeakArchivistGet = (archivist, hashes) => {
355
+ const [enabled, refresh] = (0, import_react_module7.useRefresh)();
356
+ const [payloads, error] = (0, import_react_promise4.usePromise)(async () => {
357
+ const archivistInstance = archivist == null ? void 0 : archivist.deref();
358
+ if (enabled && archivistInstance && hashes) {
359
+ return await archivistInstance.get(hashes);
360
+ }
361
+ }, [archivist, hashes, enabled]);
362
+ return [payloads, error, refresh];
363
+ };
364
+
365
+ // src/components/Details/Details.tsx
366
+ var import_jsx_runtime8 = require("react/jsx-runtime");
367
+ var testQueryCommit = { schema: import_archivist_model6.ArchivistCommitQuerySchema };
368
+ var testQueryCommitBoundWitnessBuilder = new import_boundwitness_builder.QueryBoundWitnessBuilder().query(testQueryCommit);
369
+ var testQueryClear = { schema: import_archivist_model6.ArchivistClearQuerySchema };
370
+ var testQueryClearBoundWitnessBuilder = new import_boundwitness_builder.QueryBoundWitnessBuilder().query(testQueryClear);
371
+ var ArchivistDetails = ({ address, ...props }) => {
372
+ const [archivist] = useWeakArchivistFromNode(address);
373
+ const [payloads, setPayloads] = (0, import_react7.useState)();
374
+ const [refresh, setRefresh] = (0, import_react7.useState)(0);
375
+ const [queryableCommit, setQueryableCommit] = (0, import_react7.useState)(false);
376
+ const [queryableClear, setQueryableClear] = (0, import_react7.useState)(false);
377
+ (0, import_react_async_effect3.useAsyncEffect)(
378
+ // eslint-disable-next-line react-hooks/exhaustive-deps
379
+ async () => {
380
+ const instance = archivist == null ? void 0 : archivist.deref();
381
+ if (instance) {
382
+ const [commitBW] = await (await testQueryCommitBoundWitnessBuilder).build();
383
+ const [clearBW] = await (await testQueryClearBoundWitnessBuilder).build();
384
+ setQueryableCommit(await (instance == null ? void 0 : instance.queryable(commitBW, [testQueryCommit])));
385
+ setQueryableClear(await (instance == null ? void 0 : instance.queryable(clearBW, [testQueryClear])));
386
+ }
387
+ },
388
+ [archivist]
389
+ );
390
+ (0, import_react_async_effect3.useAsyncEffect)(
391
+ // eslint-disable-next-line react-hooks/exhaustive-deps
392
+ async (mounted) => {
393
+ var _a, _b;
394
+ const payloads2 = await ((_b = (_a = archivist == null ? void 0 : archivist.deref()) == null ? void 0 : _a.all) == null ? void 0 : _b.call(_a));
395
+ if (mounted()) {
396
+ setPayloads(payloads2);
397
+ }
398
+ },
399
+ [archivist, refresh]
400
+ );
401
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_react_flexbox4.FlexCol, { ...props, children: [
402
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_material5.Typography, { children: `Payloads: ${payloads ? payloads.length : "-"}` }),
403
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_material5.ButtonGroup, { children: [
404
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_button.ButtonEx, { disabled: (payloads == null ? void 0 : payloads.length) === 0 || !archivist || !queryableCommit, onClick: () => {
405
+ var _a, _b;
406
+ return (_b = (_a = archivist == null ? void 0 : archivist.deref()) == null ? void 0 : _a.commit) == null ? void 0 : _b.call(_a);
407
+ }, children: "Commit" }),
408
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_button.ButtonEx, { disabled: !archivist || !queryableClear, onClick: () => {
409
+ var _a, _b;
410
+ return (_b = (_a = archivist == null ? void 0 : archivist.deref()) == null ? void 0 : _a.clear) == null ? void 0 : _b.call(_a);
411
+ }, children: "Clear" }),
412
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
413
+ import_react_button.ButtonEx,
414
+ {
415
+ disabled: !archivist,
416
+ onClick: () => {
417
+ setRefresh(refresh + 1);
418
+ },
419
+ children: "Refresh"
420
+ }
421
+ )
422
+ ] })
423
+ ] });
424
+ };
425
+ // Annotate the CommonJS export names for ESM import in node:
426
+ 0 && (module.exports = {
427
+ ArchivistCard,
428
+ ArchivistCardContent,
429
+ ArchivistCardHeader,
430
+ ArchivistDetails,
431
+ useArchivistAll,
432
+ useArchivistFromNode,
433
+ useArchivistGet,
434
+ useArchivistsFromNode,
435
+ useWeakArchivistAll,
436
+ useWeakArchivistFromNode,
437
+ useWeakArchivistGet,
438
+ useWeakArchivistsFromNode
439
+ });
2
440
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/components/Card/Card.tsx","../../src/components/Card/CardContent.tsx","../../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","../../src/components/Card/CardHeader.tsx","../../src/components/Details/Details.tsx","../../src/hooks/node/useArchivistFromNode.tsx","../../src/hooks/node/useArchivistsFromNode.tsx","../../src/hooks/node/useWeakArchivistFromNode.tsx","../../src/hooks/node/useWeakArchivistsFromNode.tsx","../../src/hooks/queries/useArchivistAll.tsx","../../src/hooks/queries/useArchivistGet.tsx","../../src/hooks/queries/useWeakArchivistAll.tsx","../../src/hooks/queries/useWeakArchivistGet.tsx"],"sourcesContent":["export * from './components'\nexport * from './hooks'\n","import { Card, CardProps } from '@mui/material'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleCardActions, ModuleRenderProps } from '@xyo-network/react-module'\n\nimport { ArchivistCardContent } from './CardContent'\nimport { ArchivistCardHeader } from './CardHeader'\n\nexport const ArchivistCard: React.FC<CardProps & ModuleRenderProps<ArchivistInstance>> = ({ children, mod, ...props }) => {\n return (\n <Card {...props}>\n <ArchivistCardHeader mod={mod} />\n <ArchivistCardContent mod={mod} />\n {children}\n <ModuleCardActions mod={mod} />\n </Card>\n )\n}\n","import { CardContentProps } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { ArchivistConfig, ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleWrapper } from '@xyo-network/module-wrapper'\nimport { ModuleCardContent, ModuleRenderProps } from '@xyo-network/react-module'\nimport { useWallet } from '@xyo-network/react-wallet'\nimport React, { useState } from 'react'\n\nimport { ArchivistParents } from './components'\n\nexport const ArchivistCardContent: React.FC<ModuleRenderProps<ArchivistInstance> & CardContentProps> = ({ children, mod, ...props }) => {\n const [config, setConfig] = useState<ArchivistConfig>()\n const [wallet] = useWallet()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n if (wallet && mod) {\n const wrapper = ModuleWrapper.wrap(mod, wallet)\n const payloads = await wrapper?.state()\n if (mounted()) {\n setConfig(payloads?.[0] as ArchivistConfig)\n }\n } else {\n setConfig(undefined)\n }\n },\n [mod, wallet],\n )\n\n return (\n <ModuleCardContent mod={mod} {...props}>\n <FlexGrowRow flexWrap=\"wrap\" justifyContent=\"start\" gap={2}>\n {children}\n <ArchivistParents config={config} />\n </FlexGrowRow>\n </ModuleCardContent>\n )\n}\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-model'\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'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc'\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 > 0 ?\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 > 0 ?\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-model'\nimport { asBoundWitness, BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { EventUnsubscribeFunction } from '@xyo-network/module-events'\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 () => {\n for (const listener of listeners) listener?.()\n }\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 = asBoundWitness(payload)\n if (w?.addresses)\n for (const address of w?.addresses ?? []) {\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 { CardHeaderProps } from '@mui/material'\nimport { MemoryArchivistConfigSchema } from '@xyo-network/archivist-memory'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleCardHeader, ModuleRenderProps } from '@xyo-network/react-module'\nimport { useMemo } from 'react'\n\nimport { MemoryArchivistsStats } from './components'\n\nconst ArchivistStats = (archivist?: ArchivistInstance) => {\n switch (archivist?.config.schema) {\n case MemoryArchivistConfigSchema: {\n return <MemoryArchivistsStats archivist={archivist} />\n }\n default: {\n return <></>\n }\n }\n}\n\nexport const ArchivistCardHeader: React.FC<ModuleRenderProps<ArchivistInstance> & CardHeaderProps> = ({ title, mod, ...props }) => {\n const Stats = useMemo(() => ArchivistStats(mod), [mod])\n return <ModuleCardHeader mod={mod} title={title ?? mod?.config.name ?? 'Archivist'} action={Stats} {...props} />\n}\n","import { ButtonGroup, Typography } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { ArchivistClearQuerySchema, ArchivistCommitQuerySchema } from '@xyo-network/archivist-model'\nimport { QueryBoundWitnessBuilder } from '@xyo-network/boundwitness-builder'\nimport { Payload } from '@xyo-network/payload-model'\nimport { useState } from 'react'\n\nimport { useWeakArchivistFromNode } from '../../hooks'\n\nconst testQueryCommit = { schema: ArchivistCommitQuerySchema }\nconst testQueryCommitBoundWitnessBuilder = new QueryBoundWitnessBuilder().query(testQueryCommit)\n\nconst testQueryClear = { schema: ArchivistClearQuerySchema }\nconst testQueryClearBoundWitnessBuilder = new QueryBoundWitnessBuilder().query(testQueryClear)\n\nexport interface ArchivistDetails extends FlexBoxProps {\n address?: string\n}\n\nexport const ArchivistDetails: React.FC<ArchivistDetails> = ({ address, ...props }) => {\n const [archivist] = useWeakArchivistFromNode(address)\n const [payloads, setPayloads] = useState<Payload[]>()\n const [refresh, setRefresh] = useState(0)\n const [queryableCommit, setQueryableCommit] = useState(false)\n const [queryableClear, setQueryableClear] = useState(false)\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async () => {\n const instance = archivist?.deref()\n if (instance) {\n const [commitBW] = await (await testQueryCommitBoundWitnessBuilder).build()\n const [clearBW] = await (await testQueryClearBoundWitnessBuilder).build()\n setQueryableCommit(await instance?.queryable(commitBW, [testQueryCommit]))\n setQueryableClear(await instance?.queryable(clearBW, [testQueryClear]))\n }\n },\n [archivist],\n )\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n const payloads = await archivist?.deref()?.all?.()\n if (mounted()) {\n setPayloads(payloads)\n }\n },\n [archivist, refresh],\n )\n\n return (\n <FlexCol {...props}>\n <Typography>{`Payloads: ${payloads ? payloads.length : '-'}`}</Typography>\n <ButtonGroup>\n <ButtonEx disabled={payloads?.length === 0 || !archivist || !queryableCommit} onClick={() => archivist?.deref()?.commit?.()}>\n Commit\n </ButtonEx>\n <ButtonEx disabled={!archivist || !queryableClear} onClick={() => archivist?.deref()?.clear?.()}>\n Clear\n </ButtonEx>\n <ButtonEx\n disabled={!archivist}\n onClick={() => {\n setRefresh(refresh + 1)\n }}\n >\n Refresh\n </ButtonEx>\n </ButtonGroup>\n </FlexCol>\n )\n}\n","/* eslint-disable import/no-deprecated */\n/* eslint-disable deprecation/deprecation */\nimport { ArchivistInstance, asArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\n\n/** @deprecated use useWeakArchivistFromNode*/\nexport const useArchivistFromNode = (\n nameOrAddressOrInstance?: string | ArchivistInstance,\n config?: ModuleFromNodeConfig,\n): [ArchivistInstance | undefined, Error | undefined] => {\n const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asArchivistInstance(mod)\n if (mod && !instance) {\n const error = new Error(`Resolved module is not a ArchivistInstance [${mod.config?.schema}:${mod.config?.name}:${mod.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n","/* eslint-disable import/no-deprecated */\n/* eslint-disable deprecation/deprecation */\nimport { ArchivistInstance, isArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\n\n/** @deprecated use useWeakArchivistsFromNode*/\nexport const useArchivistsFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [ArchivistInstance[] | null | undefined, Error | undefined] => {\n const [modules, error] = useModulesFromNode(filter, config)\n if (error) {\n return [null, error]\n }\n return modules ?\n [\n // eslint-disable-next-line unicorn/no-array-reduce\n modules.reduce<ArchivistInstance[]>((prev, mod) => {\n if (isArchivistInstance(mod)) {\n prev.push(mod)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { ArchivistInstance, isArchivistInstance } from '@xyo-network/archivist-model'\nimport { useWeakModuleFromNode, WeakModuleFromNodeConfig } from '@xyo-network/react-node'\n\nexport const useWeakArchivistFromNode = (\n nameOrAddressOrInstance?: string | ArchivistInstance,\n config?: WeakModuleFromNodeConfig,\n): [WeakRef<ArchivistInstance> | undefined, Error | undefined] => {\n return useWeakModuleFromNode<ArchivistInstance>(nameOrAddressOrInstance, { identity: isArchivistInstance, ...config })\n}\n","import { exists } from '@xylabs/exists'\nimport { ArchivistInstance, asArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useWeakModulesFromNode } from '@xyo-network/react-node'\n\nexport const useWeakArchivistsFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WeakRef<ArchivistInstance>[] | null | undefined, Error | undefined] => {\n const [modules, error] = useWeakModulesFromNode(filter, config)\n if (error) {\n return [null, error]\n }\n return [\n modules\n ?.map((mod) => {\n const instance = asArchivistInstance(mod?.deref())\n if (instance) {\n return new WeakRef(instance)\n }\n })\n .filter(exists) ?? [],\n undefined,\n ]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { useRefresh } from '@xyo-network/react-module'\nimport { useState } from 'react'\n\nexport const useArchivistAll = (archivist: ArchivistInstance) => {\n const [error, setError] = useState<Error>()\n const [enabled, refresh] = useRefresh()\n\n const payloads = usePromise(async () => {\n try {\n if (enabled) {\n return await archivist?.all?.()\n }\n } catch (ex) {\n const error = ex as Error\n setError(error)\n }\n }, [archivist, enabled])\n\n return [payloads, error, refresh]\n}\n","import { Hash } from '@xylabs/hex'\nimport { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { Payload, WithMeta } from '@xyo-network/payload-model'\nimport { RefreshCallback, useRefresh } from '@xyo-network/react-module'\n\nexport const useArchivistGet = <T extends Payload = Payload>(\n archivist?: ArchivistInstance | null,\n hashes?: Hash[],\n): [T[] | undefined, Error | undefined, RefreshCallback] => {\n const [enabled, refresh] = useRefresh()\n\n const [payloads, error] = usePromise(async () => {\n if (enabled && archivist && hashes) {\n return (await archivist.get(hashes)) as WithMeta<T>[]\n }\n }, [archivist, hashes, enabled])\n\n return [payloads, error, refresh]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { useRefresh } from '@xyo-network/react-module'\nimport { useState } from 'react'\n\nexport const useWeakArchivistAll = (archivist: WeakRef<ArchivistInstance>) => {\n const [error, setError] = useState<Error>()\n const [enabled, refresh] = useRefresh()\n\n const payloads = usePromise(async () => {\n try {\n if (enabled) {\n return await archivist?.deref()?.all?.()\n }\n } catch (ex) {\n const error = ex as Error\n setError(error)\n }\n }, [archivist, enabled])\n\n return [payloads, error, refresh]\n}\n","import { Hash } from '@xylabs/hex'\nimport { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { Payload, WithMeta } from '@xyo-network/payload-model'\nimport { RefreshCallback, useRefresh } from '@xyo-network/react-module'\n\nexport const useWeakArchivistGet = <T extends Payload = Payload>(\n archivist?: WeakRef<ArchivistInstance> | null,\n hashes?: Hash[],\n): [T[] | undefined, Error | undefined, RefreshCallback] => {\n const [enabled, refresh] = useRefresh()\n\n const [payloads, error] = usePromise(async () => {\n const archivistInstance = archivist?.deref()\n if (enabled && archivistInstance && hashes) {\n return (await archivistInstance.get(hashes)) as WithMeta<T>[]\n }\n }, [archivist, hashes, enabled])\n\n return [payloads, error, refresh]\n}\n"],"mappings":"mbAAA,IAAAA,GAAA,GAAAC,GAAAD,GAAA,mBAAAE,GAAA,yBAAAC,EAAA,wBAAAC,EAAA,qBAAAC,GAAA,oBAAAC,GAAA,yBAAAC,GAAA,oBAAAC,GAAA,0BAAAC,GAAA,wBAAAC,GAAA,6BAAAC,EAAA,wBAAAC,GAAA,8BAAAC,KAAA,eAAAC,GAAAd,ICAA,IAAAe,GAAgC,yBAEhCC,GAAqD,qCCDrD,IAAAC,EAA+B,sCAC/BC,EAA4B,iCAE5BC,EAA8B,uCAC9BC,EAAqD,qCACrDC,GAA0B,qCAC1BC,GAAgC,iBCPhC,IAAAC,EAAqC,yBAQnCC,EAAA,6BADWC,EAAgD,CAAC,CAAE,cAAAC,EAAe,iBAAAC,CAAiB,OAC9F,mBACG,SAAAA,GAAA,YAAAA,EAAkB,IAAKC,MAEpB,OAAC,YACC,oBAAC,cAAW,QAAQ,YACjB,UAAAF,EAAc,IAAE,OACjB,OAAC,cAAW,QAAS,UAAW,GAAI,CAAE,GAAI,EAAI,EAC3C,SAAAE,EACH,GACF,GANaA,CAOf,GAGN,ECrBF,IAAAC,EAA2D,+BAC3DC,EAA8D,yBAC9DC,EAAsC,iCAEtCC,EAAyB,iBAcrB,IAAAC,EAAA,6BANSC,EAAoD,CAAC,CAAE,OAAAC,EAAQ,GAAGC,CAAM,IAAM,CACzF,GAAM,CAACC,EAAyBC,CAA0B,KAAI,YAAS,EAAK,EAEtE,CAAE,OAAAC,EAAQ,KAAAC,EAAM,MAAAC,CAAM,GAAIN,GAAA,YAAAA,EAAQ,UAAW,CAAC,EAEpD,SACE,mBACG,SAAAI,GAAUC,GAAQC,KACjB,QAAC,WAAQ,WAAW,QAAS,GAAGL,EAC9B,qBAAC,QAAK,QAAS,IAAME,EAA2B,CAACD,CAAuB,EACtE,oBAAC,cAAW,QAAQ,YAAY,GAAI,CAAE,OAAQ,UAAW,QAAS,cAAe,EAAG,mBAEpF,KACA,OAAC,cAAW,KAAK,QACf,mBAAC,EAAAK,kBAAA,CAAsB,GAAI,CAAE,OAAQL,EAA0B,QAAU,OAAQ,WAAY,UAAW,EAAG,EAC7G,GACF,KACA,OAAC,YAAS,GAAIA,EACZ,mBAAC,SAAM,UAAW,EAChB,oBAAC,QACC,oBAACM,EAAA,CAAgB,cAAc,SAAS,iBAAkBJ,EAAQ,KAClE,OAACI,EAAA,CAAgB,cAAc,OAAO,iBAAkBH,EAAM,KAC9D,OAACG,EAAA,CAAgB,cAAc,QAAQ,iBAAkBF,EAAO,GAClE,EACF,EACF,GACF,EACA,KACJ,CAEJ,EC1CA,IAAAG,EAA+B,yBAC/BC,EAAwB,iCAGxBC,EAAkC,0BAElCC,EAAqE,2BAWjEC,EAAA,6BAFSC,EAAgD,CAAC,CAAE,UAAAC,EAAY,CAAC,EAAG,eAAAC,EAAgB,SAAAC,EAAU,QAAAC,EAAU,CAAC,CAAE,OAEnH,QAAC,WAAQ,IAAK,EAAG,GAAI,GAClB,UAAAD,GAAA,MAAAA,EAAU,UACT,OAAC,WAAQ,MAAM,WACb,mBAAC,SAAM,aAAcA,GAAA,YAAAA,EAAU,OAAQ,MAAM,UAC3C,mBAAC,sBAAmB,KAAM,GAAI,EAChC,EACF,EACA,KACDD,GAAA,MAAAA,EAAgB,UACf,OAAC,WAAQ,MAAM,SACb,mBAAC,SAAM,aAAcA,GAAA,YAAAA,EAAgB,OAAQ,MAAM,UACjD,mBAAC,mBAAgB,KAAM,GAAI,EAC7B,EACF,EACA,KACD,OAAO,QAAQE,CAAO,EAAE,OAAS,KAChC,OAAC,WAAQ,MAAM,UACb,mBAAC,SAAM,aAAc,OAAO,QAAQA,CAAO,EAAE,OAAQ,MAAM,UACzD,mBAAC,qBAAkB,KAAM,GAAI,EAC/B,EACF,EACA,KACD,OAAO,QAAQH,CAAS,EAAE,OAAS,KAClC,OAAC,WAAQ,MAAM,YACb,mBAAC,SAAM,aAAc,OAAO,QAAQA,CAAS,EAAE,OAAQ,MAAM,UAC3D,mBAAC,mBAAgB,KAAM,GAAI,EAC7B,EACF,EACA,MACJ,EC9CJ,IAAAI,EAA+B,sCAC/BC,EAA2D,wCAC3DC,EAAmD,2CAGnDC,EAA0D,iBA6EjD,IAAAC,EAAA,6BArEIC,EAA6D,CAAC,CAAE,UAAAC,CAAU,IAAM,CAC3F,GAAM,CAACC,EAAKC,CAAM,KAAI,YAA2B,EAE3CC,KAAS,eAAY,MAAOH,GAAkC,CAhBtE,IAAAI,EAiBI,IAAMH,EAAM,OAAMG,EAAAJ,GAAA,YAAAA,EAAW,MAAX,YAAAI,EAAA,KAAAJ,IAClBE,EAAOD,CAAG,CACZ,EAAG,CAAC,CAAC,KAEL,aAAU,IAAM,CACd,IAAMI,EAAwC,CAAC,EAE/C,GAAIL,GAAA,MAAAA,EAAW,QAAQ,SAAS,2BAA0B,CACxD,IAAMM,EAAiBN,EAAU,GAAG,WAAY,SAAY,CAC1D,MAAMG,EAAOH,CAAS,CACxB,CAAC,EACDK,EAAU,KAAKC,CAAc,EAE7B,IAAMC,EAAgBP,EAAU,GAAG,UAAW,SAAY,CACxD,MAAMG,EAAOH,CAAS,CACxB,CAAC,EACDK,EAAU,KAAKE,CAAa,CAC9B,CAEA,MAAO,IAAM,CACX,QAAWC,KAAYH,EAAWG,GAAA,MAAAA,GACpC,CACF,EAAG,CAACR,EAAWG,CAAM,CAAC,KAEtB,kBAEE,SAAY,CACNH,GAAA,MAAAA,EAAW,QAAQ,SAAS,2BAC9B,MAAMG,EAAOH,CAAS,EAEtBE,EAAO,IAAI,CAEf,EACA,CAACF,EAAWG,CAAM,CACpB,EAEA,IAAMM,KAAW,WAAQ,IAAOR,IAAQ,KAAO,CAAC,EAAIA,GAAA,YAAAA,EAAK,OAAQS,GAAYA,EAAQ,SAAW,sBAAsB,CAACT,CAAG,CAAC,EACrHU,KAAiB,WAAQ,IAAOV,IAAQ,KAAO,CAAC,EAAIA,GAAA,YAAAA,EAAK,OAAQS,GAAYA,EAAQ,SAAW,sBAAsB,CAACT,CAAG,CAAC,EAC3HW,KAAY,WAChB,KACEX,GAAA,YAAAA,EAAK,OACH,CAACY,EAAMH,IAAY,CACjB,IAAMI,KAAI,kBAAeJ,CAAO,EAChC,GAAII,GAAA,MAAAA,EAAG,UACL,QAAWC,KAAWD,GAAA,YAAAA,EAAG,YAAa,CAAC,EACrCD,EAAKE,CAAO,GAAKF,EAAKE,CAAO,GAAK,GAAK,EAE3C,OAAOF,CACT,EACA,CAAC,KACE,CAAC,EACR,CAACZ,CAAG,CACN,EACMe,KAAU,WACd,KACEf,GAAA,YAAAA,EAAK,OACH,CAACY,EAAMH,KACLG,EAAKH,EAAQ,MAAM,GAAKG,EAAKH,EAAQ,MAAM,GAAK,GAAK,EAC9CG,GAET,CAAC,KACE,CAAC,EACR,CAACZ,CAAG,CACN,EAEA,SAAO,OAACgB,EAAA,CAAe,UAAWL,EAAW,eAAgBD,EAAgB,SAAUF,EAAU,QAASO,EAAS,CACrH,EJlDM,IAAAE,EAAA,6BAtBOC,EAA0F,CAAC,CAAE,SAAAC,EAAU,IAAAC,EAAK,GAAGC,CAAM,IAAM,CACtI,GAAM,CAACC,EAAQC,CAAS,KAAI,aAA0B,EAChD,CAACC,CAAM,KAAI,cAAU,EAE3B,2BAEE,MAAOC,GAAY,CACjB,GAAID,GAAUJ,EAAK,CACjB,IAAMM,EAAU,gBAAc,KAAKN,EAAKI,CAAM,EACxCG,EAAW,MAAMD,GAAA,YAAAA,EAAS,SAC5BD,EAAQ,GACVF,EAAUI,GAAA,YAAAA,EAAW,EAAqB,CAE9C,MACEJ,EAAU,MAAS,CAEvB,EACA,CAACH,EAAKI,CAAM,CACd,KAGE,OAAC,qBAAkB,IAAKJ,EAAM,GAAGC,EAC/B,oBAAC,eAAY,SAAS,OAAO,eAAe,QAAQ,IAAK,EACtD,UAAAF,KACD,OAACS,EAAA,CAAiB,OAAQN,EAAQ,GACpC,EACF,CAEJ,EKtCA,IAAAO,GAA4C,yCAE5CC,GAAoD,qCACpDC,GAAwB,iBAOX,IAAAC,EAAA,6BAHPC,GAAkBC,GAAkC,CACxD,OAAQA,GAAA,YAAAA,EAAW,OAAO,OAAQ,CAChC,KAAK,+BACH,SAAO,OAACC,EAAA,CAAsB,UAAWD,EAAW,EAEtD,QACE,SAAO,oBAAE,CAEb,CACF,EAEaE,EAAwF,CAAC,CAAE,MAAAC,EAAO,IAAAC,EAAK,GAAGC,CAAM,IAAM,CACjI,IAAMC,KAAQ,YAAQ,IAAMP,GAAeK,CAAG,EAAG,CAACA,CAAG,CAAC,EACtD,SAAO,OAAC,qBAAiB,IAAKA,EAAK,MAAOD,IAASC,GAAA,YAAAA,EAAK,OAAO,OAAQ,YAAa,OAAQE,EAAQ,GAAGD,EAAO,CAChH,ENbI,IAAAE,EAAA,6BAFSC,GAA4E,CAAC,CAAE,SAAAC,EAAU,IAAAC,EAAK,GAAGC,CAAM,OAEhH,QAAC,SAAM,GAAGA,EACR,oBAACC,EAAA,CAAoB,IAAKF,EAAK,KAC/B,OAACG,EAAA,CAAqB,IAAKH,EAAK,EAC/BD,KACD,OAAC,sBAAkB,IAAKC,EAAK,GAC/B,EOdJ,IAAAI,EAAwC,yBACxCC,EAA+B,sCAC/BC,EAAyB,gCACzBC,GAAsC,iCACtCC,EAAsE,wCACtEC,EAAyC,6CAEzCC,EAAyB,iBCLzB,IAAAC,GAAuD,wCACvDC,GAAwD,mCAG3CC,GAAuB,CAClCC,EACAC,IACuD,CATzD,IAAAC,EAAAC,EAUE,GAAM,CAACC,EAAKC,CAAK,KAAI,sBAAkBL,EAAyBC,CAAM,EAChEK,KAAW,wBAAoBF,CAAG,EACxC,GAAIA,GAAO,CAACE,EAAU,CACpB,IAAMD,EAAQ,IAAI,MAAM,gDAA+CH,EAAAE,EAAI,SAAJ,YAAAF,EAAY,MAAM,KAAIC,EAAAC,EAAI,SAAJ,YAAAD,EAAY,IAAI,IAAIC,EAAI,OAAO,GAAG,EAC/H,eAAQ,MAAMC,EAAM,OAAO,EACpB,CAAC,OAAWA,CAAK,CAC1B,CACA,MAAO,CAACC,EAAUD,CAAK,CACzB,EChBA,IAAAE,GAAuD,wCAEvDC,GAAyD,mCAG5CC,GAAwB,CACnCC,EACAC,IACgE,CAChE,GAAM,CAACC,EAASC,CAAK,KAAI,uBAAmBH,EAAQC,CAAM,EAC1D,OAAIE,EACK,CAAC,KAAMA,CAAK,EAEdD,EACH,CAEEA,EAAQ,OAA4B,CAACE,EAAMC,QACrC,wBAAoBA,CAAG,GACzBD,EAAK,KAAKC,CAAG,EAERD,GACN,CAAC,CAAC,EACL,MACF,EACA,CAACF,EAASC,CAAK,CACrB,EC3BA,IAAAG,GAAuD,wCACvDC,GAAgE,mCAEnDC,EAA2B,CACtCC,EACAC,OAEO,0BAAyCD,EAAyB,CAAE,SAAU,uBAAqB,GAAGC,CAAO,CAAC,ECPvH,IAAAC,GAAuB,0BACvBC,GAAuD,wCAEvDC,GAA6D,mCAEhDC,GAA4B,CACvCC,EACAC,IACyE,CACzE,GAAM,CAACC,EAASC,CAAK,KAAI,2BAAuBH,EAAQC,CAAM,EAC9D,OAAIE,EACK,CAAC,KAAMA,CAAK,EAEd,EACLD,GAAA,YAAAA,EACI,IAAKE,GAAQ,CACb,IAAMC,KAAW,wBAAoBD,GAAA,YAAAA,EAAK,OAAO,EACjD,GAAIC,EACF,OAAO,IAAI,QAAQA,CAAQ,CAE/B,GACC,OAAO,aAAW,CAAC,EACtB,MACF,CACF,ECxBA,IAAAC,GAA2B,iCAE3BC,GAA2B,qCAC3BC,GAAyB,iBAEZC,GAAmBC,GAAiC,CAC/D,GAAM,CAACC,EAAOC,CAAQ,KAAI,aAAgB,EACpC,CAACC,EAASC,CAAO,KAAI,eAAW,EAatC,MAAO,IAXU,eAAW,SAAY,CAT1C,IAAAC,EAUI,GAAI,CACF,GAAIF,EACF,OAAO,OAAME,EAAAL,GAAA,YAAAA,EAAW,MAAX,YAAAK,EAAA,KAAAL,GAEjB,OAASM,EAAI,CAEXJ,EADcI,CACA,CAChB,CACF,EAAG,CAACN,EAAWG,CAAO,CAAC,EAELF,EAAOG,CAAO,CAClC,ECpBA,IAAAG,GAA2B,iCAG3BC,GAA4C,qCAE/BC,GAAkB,CAC7BC,EACAC,IAC0D,CAC1D,GAAM,CAACC,EAASC,CAAO,KAAI,eAAW,EAEhC,CAACC,EAAUC,CAAK,KAAI,eAAW,SAAY,CAC/C,GAAIH,GAAWF,GAAaC,EAC1B,OAAQ,MAAMD,EAAU,IAAIC,CAAM,CAEtC,EAAG,CAACD,EAAWC,EAAQC,CAAO,CAAC,EAE/B,MAAO,CAACE,EAAUC,EAAOF,CAAO,CAClC,ECnBA,IAAAG,GAA2B,iCAE3BC,GAA2B,qCAC3BC,GAAyB,iBAEZC,GAAuBC,GAA0C,CAC5E,GAAM,CAACC,EAAOC,CAAQ,KAAI,aAAgB,EACpC,CAACC,EAASC,CAAO,KAAI,eAAW,EAatC,MAAO,IAXU,eAAW,SAAY,CAT1C,IAAAC,EAAAC,EAUI,GAAI,CACF,GAAIH,EACF,OAAO,OAAMG,GAAAD,EAAAL,GAAA,YAAAA,EAAW,UAAX,YAAAK,EAAoB,MAApB,YAAAC,EAAA,KAAAD,GAEjB,OAASE,EAAI,CAEXL,EADcK,CACA,CAChB,CACF,EAAG,CAACP,EAAWG,CAAO,CAAC,EAELF,EAAOG,CAAO,CAClC,ECpBA,IAAAI,GAA2B,iCAG3BC,GAA4C,qCAE/BC,GAAsB,CACjCC,EACAC,IAC0D,CAC1D,GAAM,CAACC,EAASC,CAAO,KAAI,eAAW,EAEhC,CAACC,EAAUC,CAAK,KAAI,eAAW,SAAY,CAC/C,IAAMC,EAAoBN,GAAA,YAAAA,EAAW,QACrC,GAAIE,GAAWI,GAAqBL,EAClC,OAAQ,MAAMK,EAAkB,IAAIL,CAAM,CAE9C,EAAG,CAACD,EAAWC,EAAQC,CAAO,CAAC,EAE/B,MAAO,CAACE,EAAUC,EAAOF,CAAO,CAClC,ERmCM,IAAAI,EAAA,6BA5CAC,GAAkB,CAAE,OAAQ,4BAA2B,EACvDC,GAAqC,IAAI,2BAAyB,EAAE,MAAMD,EAAe,EAEzFE,GAAiB,CAAE,OAAQ,2BAA0B,EACrDC,GAAoC,IAAI,2BAAyB,EAAE,MAAMD,EAAc,EAMhFE,GAA+C,CAAC,CAAE,QAAAC,EAAS,GAAGC,CAAM,IAAM,CACrF,GAAM,CAACC,CAAS,EAAIC,EAAyBH,CAAO,EAC9C,CAACI,EAAUC,CAAW,KAAI,YAAoB,EAC9C,CAACC,EAASC,CAAU,KAAI,YAAS,CAAC,EAClC,CAACC,EAAiBC,CAAkB,KAAI,YAAS,EAAK,EACtD,CAACC,EAAgBC,CAAiB,KAAI,YAAS,EAAK,EAE1D,2BAEE,SAAY,CACV,IAAMC,EAAWV,GAAA,YAAAA,EAAW,QAC5B,GAAIU,EAAU,CACZ,GAAM,CAACC,CAAQ,EAAI,MAAO,MAAMjB,IAAoC,MAAM,EACpE,CAACkB,CAAO,EAAI,MAAO,MAAMhB,IAAmC,MAAM,EACxEW,EAAmB,MAAMG,GAAA,YAAAA,EAAU,UAAUC,EAAU,CAAClB,EAAe,GAAE,EACzEgB,EAAkB,MAAMC,GAAA,YAAAA,EAAU,UAAUE,EAAS,CAACjB,EAAc,GAAE,CACxE,CACF,EACA,CAACK,CAAS,CACZ,KAEA,kBAEE,MAAOa,GAAY,CA5CvB,IAAAC,EAAAC,EA6CM,IAAMb,EAAW,OAAMa,GAAAD,EAAAd,GAAA,YAAAA,EAAW,UAAX,YAAAc,EAAoB,MAApB,YAAAC,EAAA,KAAAD,IACnBD,EAAQ,GACVV,EAAYD,CAAQ,CAExB,EACA,CAACF,EAAWI,CAAO,CACrB,KAGE,QAAC,YAAS,GAAGL,EACX,oBAAC,cAAY,sBAAaG,EAAWA,EAAS,OAAS,GAAG,GAAG,KAC7D,QAAC,eACC,oBAAC,YAAS,UAAUA,GAAA,YAAAA,EAAU,UAAW,GAAK,CAACF,GAAa,CAACM,EAAiB,QAAS,IAAG,CAzDlG,IAAAQ,EAAAC,EAyDqG,OAAAA,GAAAD,EAAAd,GAAA,YAAAA,EAAW,UAAX,YAAAc,EAAoB,SAApB,YAAAC,EAAA,KAAAD,IAAgC,kBAE7H,KACA,OAAC,YAAS,SAAU,CAACd,GAAa,CAACQ,EAAgB,QAAS,IAAG,CA5DvE,IAAAM,EAAAC,EA4D0E,OAAAA,GAAAD,EAAAd,GAAA,YAAAA,EAAW,UAAX,YAAAc,EAAoB,QAApB,YAAAC,EAAA,KAAAD,IAA+B,iBAEjG,KACA,OAAC,YACC,SAAU,CAACd,EACX,QAAS,IAAM,CACbK,EAAWD,EAAU,CAAC,CACxB,EACD,mBAED,GACF,GACF,CAEJ","names":["src_exports","__export","ArchivistCard","ArchivistCardContent","ArchivistCardHeader","ArchivistDetails","useArchivistAll","useArchivistFromNode","useArchivistGet","useArchivistsFromNode","useWeakArchivistAll","useWeakArchivistFromNode","useWeakArchivistGet","useWeakArchivistsFromNode","__toCommonJS","import_material","import_react_module","import_react_async_effect","import_react_flexbox","import_module_wrapper","import_react_module","import_react_wallet","import_react","import_material","import_jsx_runtime","ArchivistParent","archivistType","parentArchivists","address","import_icons_material","import_material","import_react_flexbox","import_react","import_jsx_runtime","ArchivistParents","config","props","parentArchivistCollapse","setParentArchivistCollapse","commit","read","write","ArrowRightRoundedIcon","ArchivistParent","import_material","import_react_flexbox","import_bs","import_vsc","import_jsx_runtime","ArchivistStats","addresses","boundWitnesses","payloads","schemas","import_react_async_effect","import_archivist_model","import_boundwitness_model","import_react","import_jsx_runtime","MemoryArchivistsStats","archivist","all","setAll","getAll","_a","listeners","insertListener","clearListener","listener","payloads","payload","boundWitnesses","addresses","prev","w","address","schemas","ArchivistStats","import_jsx_runtime","ArchivistCardContent","children","mod","props","config","setConfig","wallet","mounted","wrapper","payloads","ArchivistParents","import_archivist_memory","import_react_module","import_react","import_jsx_runtime","ArchivistStats","archivist","MemoryArchivistsStats","ArchivistCardHeader","title","mod","props","Stats","import_jsx_runtime","ArchivistCard","children","mod","props","ArchivistCardHeader","ArchivistCardContent","import_material","import_react_async_effect","import_react_button","import_react_flexbox","import_archivist_model","import_boundwitness_builder","import_react","import_archivist_model","import_react_node","useArchivistFromNode","nameOrAddressOrInstance","config","_a","_b","mod","error","instance","import_archivist_model","import_react_node","useArchivistsFromNode","filter","config","modules","error","prev","mod","import_archivist_model","import_react_node","useWeakArchivistFromNode","nameOrAddressOrInstance","config","import_exists","import_archivist_model","import_react_node","useWeakArchivistsFromNode","filter","config","modules","error","mod","instance","import_react_promise","import_react_module","import_react","useArchivistAll","archivist","error","setError","enabled","refresh","_a","ex","import_react_promise","import_react_module","useArchivistGet","archivist","hashes","enabled","refresh","payloads","error","import_react_promise","import_react_module","import_react","useWeakArchivistAll","archivist","error","setError","enabled","refresh","_a","_b","ex","import_react_promise","import_react_module","useWeakArchivistGet","archivist","hashes","enabled","refresh","payloads","error","archivistInstance","import_jsx_runtime","testQueryCommit","testQueryCommitBoundWitnessBuilder","testQueryClear","testQueryClearBoundWitnessBuilder","ArchivistDetails","address","props","archivist","useWeakArchivistFromNode","payloads","setPayloads","refresh","setRefresh","queryableCommit","setQueryableCommit","queryableClear","setQueryableClear","instance","commitBW","clearBW","mounted","_a","_b"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/components/Card/Card.tsx","../../src/components/Card/CardContent.tsx","../../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","../../src/components/Card/CardHeader.tsx","../../src/components/Details/Details.tsx","../../src/hooks/node/useArchivistFromNode.tsx","../../src/hooks/node/useArchivistsFromNode.tsx","../../src/hooks/node/useWeakArchivistFromNode.tsx","../../src/hooks/node/useWeakArchivistsFromNode.tsx","../../src/hooks/queries/useArchivistAll.tsx","../../src/hooks/queries/useArchivistGet.tsx","../../src/hooks/queries/useWeakArchivistAll.tsx","../../src/hooks/queries/useWeakArchivistGet.tsx"],"sourcesContent":["export * from './components'\nexport * from './hooks'\n","import { Card, CardProps } from '@mui/material'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleCardActions, ModuleRenderProps } from '@xyo-network/react-module'\n\nimport { ArchivistCardContent } from './CardContent'\nimport { ArchivistCardHeader } from './CardHeader'\n\nexport const ArchivistCard: React.FC<CardProps & ModuleRenderProps<ArchivistInstance>> = ({ children, mod, ...props }) => {\n return (\n <Card {...props}>\n <ArchivistCardHeader mod={mod} />\n <ArchivistCardContent mod={mod} />\n {children}\n <ModuleCardActions mod={mod} />\n </Card>\n )\n}\n","import { CardContentProps } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { ArchivistConfig, ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleWrapper } from '@xyo-network/module-wrapper'\nimport { ModuleCardContent, ModuleRenderProps } from '@xyo-network/react-module'\nimport { useWallet } from '@xyo-network/react-wallet'\nimport React, { useState } from 'react'\n\nimport { ArchivistParents } from './components'\n\nexport const ArchivistCardContent: React.FC<ModuleRenderProps<ArchivistInstance> & CardContentProps> = ({ children, mod, ...props }) => {\n const [config, setConfig] = useState<ArchivistConfig>()\n const [wallet] = useWallet()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n if (wallet && mod) {\n const wrapper = ModuleWrapper.wrap(mod, wallet)\n const payloads = await wrapper?.state()\n if (mounted()) {\n setConfig(payloads?.[0] as ArchivistConfig)\n }\n } else {\n setConfig(undefined)\n }\n },\n [mod, wallet],\n )\n\n return (\n <ModuleCardContent mod={mod} {...props}>\n <FlexGrowRow flexWrap=\"wrap\" justifyContent=\"start\" gap={2}>\n {children}\n <ArchivistParents config={config} />\n </FlexGrowRow>\n </ModuleCardContent>\n )\n}\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-model'\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'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc'\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 > 0 ?\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 > 0 ?\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-model'\nimport { asBoundWitness, BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { EventUnsubscribeFunction } from '@xyo-network/module-events'\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 () => {\n for (const listener of listeners) listener?.()\n }\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 = asBoundWitness(payload)\n if (w?.addresses)\n for (const address of w?.addresses ?? []) {\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 { CardHeaderProps } from '@mui/material'\nimport { MemoryArchivistConfigSchema } from '@xyo-network/archivist-memory'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleCardHeader, ModuleRenderProps } from '@xyo-network/react-module'\nimport { useMemo } from 'react'\n\nimport { MemoryArchivistsStats } from './components'\n\nconst ArchivistStats = (archivist?: ArchivistInstance) => {\n switch (archivist?.config.schema) {\n case MemoryArchivistConfigSchema: {\n return <MemoryArchivistsStats archivist={archivist} />\n }\n default: {\n return <></>\n }\n }\n}\n\nexport const ArchivistCardHeader: React.FC<ModuleRenderProps<ArchivistInstance> & CardHeaderProps> = ({ title, mod, ...props }) => {\n const Stats = useMemo(() => ArchivistStats(mod), [mod])\n return <ModuleCardHeader mod={mod} title={title ?? mod?.config.name ?? 'Archivist'} action={Stats} {...props} />\n}\n","import { ButtonGroup, Typography } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { ArchivistClearQuerySchema, ArchivistCommitQuerySchema } from '@xyo-network/archivist-model'\nimport { QueryBoundWitnessBuilder } from '@xyo-network/boundwitness-builder'\nimport { Payload } from '@xyo-network/payload-model'\nimport { useState } from 'react'\n\nimport { useWeakArchivistFromNode } from '../../hooks'\n\nconst testQueryCommit = { schema: ArchivistCommitQuerySchema }\nconst testQueryCommitBoundWitnessBuilder = new QueryBoundWitnessBuilder().query(testQueryCommit)\n\nconst testQueryClear = { schema: ArchivistClearQuerySchema }\nconst testQueryClearBoundWitnessBuilder = new QueryBoundWitnessBuilder().query(testQueryClear)\n\nexport interface ArchivistDetails extends FlexBoxProps {\n address?: string\n}\n\nexport const ArchivistDetails: React.FC<ArchivistDetails> = ({ address, ...props }) => {\n const [archivist] = useWeakArchivistFromNode(address)\n const [payloads, setPayloads] = useState<Payload[]>()\n const [refresh, setRefresh] = useState(0)\n const [queryableCommit, setQueryableCommit] = useState(false)\n const [queryableClear, setQueryableClear] = useState(false)\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async () => {\n const instance = archivist?.deref()\n if (instance) {\n const [commitBW] = await (await testQueryCommitBoundWitnessBuilder).build()\n const [clearBW] = await (await testQueryClearBoundWitnessBuilder).build()\n setQueryableCommit(await instance?.queryable(commitBW, [testQueryCommit]))\n setQueryableClear(await instance?.queryable(clearBW, [testQueryClear]))\n }\n },\n [archivist],\n )\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n const payloads = await archivist?.deref()?.all?.()\n if (mounted()) {\n setPayloads(payloads)\n }\n },\n [archivist, refresh],\n )\n\n return (\n <FlexCol {...props}>\n <Typography>{`Payloads: ${payloads ? payloads.length : '-'}`}</Typography>\n <ButtonGroup>\n <ButtonEx disabled={payloads?.length === 0 || !archivist || !queryableCommit} onClick={() => archivist?.deref()?.commit?.()}>\n Commit\n </ButtonEx>\n <ButtonEx disabled={!archivist || !queryableClear} onClick={() => archivist?.deref()?.clear?.()}>\n Clear\n </ButtonEx>\n <ButtonEx\n disabled={!archivist}\n onClick={() => {\n setRefresh(refresh + 1)\n }}\n >\n Refresh\n </ButtonEx>\n </ButtonGroup>\n </FlexCol>\n )\n}\n","/* eslint-disable import/no-deprecated */\n/* eslint-disable deprecation/deprecation */\nimport { ArchivistInstance, asArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\n\n/** @deprecated use useWeakArchivistFromNode*/\nexport const useArchivistFromNode = (\n nameOrAddressOrInstance?: string | ArchivistInstance,\n config?: ModuleFromNodeConfig,\n): [ArchivistInstance | undefined, Error | undefined] => {\n const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asArchivistInstance(mod)\n if (mod && !instance) {\n const error = new Error(`Resolved module is not a ArchivistInstance [${mod.config?.schema}:${mod.config?.name}:${mod.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n","/* eslint-disable import/no-deprecated */\n/* eslint-disable deprecation/deprecation */\nimport { ArchivistInstance, isArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\n\n/** @deprecated use useWeakArchivistsFromNode*/\nexport const useArchivistsFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [ArchivistInstance[] | null | undefined, Error | undefined] => {\n const [modules, error] = useModulesFromNode(filter, config)\n if (error) {\n return [null, error]\n }\n return modules ?\n [\n // eslint-disable-next-line unicorn/no-array-reduce\n modules.reduce<ArchivistInstance[]>((prev, mod) => {\n if (isArchivistInstance(mod)) {\n prev.push(mod)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { ArchivistInstance, isArchivistInstance } from '@xyo-network/archivist-model'\nimport { useWeakModuleFromNode, WeakModuleFromNodeConfig } from '@xyo-network/react-node'\n\nexport const useWeakArchivistFromNode = (\n nameOrAddressOrInstance?: string | ArchivistInstance,\n config?: WeakModuleFromNodeConfig,\n): [WeakRef<ArchivistInstance> | undefined, Error | undefined] => {\n return useWeakModuleFromNode<ArchivistInstance>(nameOrAddressOrInstance, { identity: isArchivistInstance, ...config })\n}\n","import { exists } from '@xylabs/exists'\nimport { ArchivistInstance, asArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useWeakModulesFromNode } from '@xyo-network/react-node'\n\nexport const useWeakArchivistsFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WeakRef<ArchivistInstance>[] | null | undefined, Error | undefined] => {\n const [modules, error] = useWeakModulesFromNode(filter, config)\n if (error) {\n return [null, error]\n }\n return [\n modules\n ?.map((mod) => {\n const instance = asArchivistInstance(mod?.deref())\n if (instance) {\n return new WeakRef(instance)\n }\n })\n .filter(exists) ?? [],\n undefined,\n ]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { useRefresh } from '@xyo-network/react-module'\nimport { useState } from 'react'\n\nexport const useArchivistAll = (archivist: ArchivistInstance) => {\n const [error, setError] = useState<Error>()\n const [enabled, refresh] = useRefresh()\n\n const payloads = usePromise(async () => {\n try {\n if (enabled) {\n return await archivist?.all?.()\n }\n } catch (ex) {\n const error = ex as Error\n setError(error)\n }\n }, [archivist, enabled])\n\n return [payloads, error, refresh]\n}\n","import { Hash } from '@xylabs/hex'\nimport { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { Payload, WithMeta } from '@xyo-network/payload-model'\nimport { RefreshCallback, useRefresh } from '@xyo-network/react-module'\n\nexport const useArchivistGet = <T extends Payload = Payload>(\n archivist?: ArchivistInstance | null,\n hashes?: Hash[],\n): [T[] | undefined, Error | undefined, RefreshCallback] => {\n const [enabled, refresh] = useRefresh()\n\n const [payloads, error] = usePromise(async () => {\n if (enabled && archivist && hashes) {\n return (await archivist.get(hashes)) as WithMeta<T>[]\n }\n }, [archivist, hashes, enabled])\n\n return [payloads, error, refresh]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { useRefresh } from '@xyo-network/react-module'\nimport { useState } from 'react'\n\nexport const useWeakArchivistAll = (archivist: WeakRef<ArchivistInstance>) => {\n const [error, setError] = useState<Error>()\n const [enabled, refresh] = useRefresh()\n\n const payloads = usePromise(async () => {\n try {\n if (enabled) {\n return await archivist?.deref()?.all?.()\n }\n } catch (ex) {\n const error = ex as Error\n setError(error)\n }\n }, [archivist, enabled])\n\n return [payloads, error, refresh]\n}\n","import { Hash } from '@xylabs/hex'\nimport { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { Payload, WithMeta } from '@xyo-network/payload-model'\nimport { RefreshCallback, useRefresh } from '@xyo-network/react-module'\n\nexport const useWeakArchivistGet = <T extends Payload = Payload>(\n archivist?: WeakRef<ArchivistInstance> | null,\n hashes?: Hash[],\n): [T[] | undefined, Error | undefined, RefreshCallback] => {\n const [enabled, refresh] = useRefresh()\n\n const [payloads, error] = usePromise(async () => {\n const archivistInstance = archivist?.deref()\n if (enabled && archivistInstance && hashes) {\n return (await archivistInstance.get(hashes)) as WithMeta<T>[]\n }\n }, [archivist, hashes, enabled])\n\n return [payloads, error, refresh]\n}\n"],"mappings":"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","names":["import_material","import_react_module","import_react_async_effect","import_react_flexbox","import_react","import_material","import_jsx_runtime","ArrowRightRoundedIcon","import_material","import_react_flexbox","import_jsx_runtime","import_react","import_jsx_runtime","archivist","all","import_jsx_runtime","import_react_module","import_react","import_jsx_runtime","ArchivistStats","import_jsx_runtime","import_material","import_react_async_effect","import_react_flexbox","import_archivist_model","import_react","import_archivist_model","error","import_archivist_model","import_react_node","import_archivist_model","import_react_node","import_archivist_model","import_react_node","import_react_module","import_react","error","import_react_promise","import_react_module","import_react_promise","import_react_module","import_react","error","import_react_promise","import_react_module","import_jsx_runtime","payloads"]}