@xyo-network/react-archivist 2.77.2 → 2.78.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,402 @@
1
- import{Card as Me}from"@mui/material";import{ModuleCardActions as be}from"@xyo-network/react-module";import{useAsyncEffect as ue}from"@xylabs/react-async-effect";import{FlexGrowRow as pe}from"@xylabs/react-flexbox";import{ModuleWrapper as Ae}from"@xyo-network/module-wrapper";import{ModuleCardContent as he}from"@xyo-network/react-module";import{useWallet as Ce}from"@xyo-network/react-wallet";import{useState as ye}from"react";import{ListItem as $,Typography as w}from"@mui/material";import{Fragment as V,jsx as R,jsxs as D}from"react/jsx-runtime";var h=({archivistType:r,parentArchivists:e})=>R(V,{children:e==null?void 0:e.map(t=>R($,{children:D(w,{variant:"subtitle2",children:[r,":"," ",R(w,{variant:"caption",sx:{ml:.5},children:t})]})},t))});import{ArrowRightRounded as U}from"@mui/icons-material";import{Collapse as J,IconButton as K,List as X,Paper as Y,Typography as Z}from"@mui/material";import{FlexCol as _}from"@xylabs/react-flexbox";import{useState as j}from"react";import{Fragment as ee,jsx as p,jsxs as F}from"react/jsx-runtime";var B=({config:r,...e})=>{let[t,o]=j(!1),{commit:n,read:i,write:a}=(r==null?void 0:r.parents)??{};return p(ee,{children:n||i||a?F(_,{alignItems:"start",...e,children:[F("span",{onClick:()=>o(!t),children:[p(Z,{variant:"subtitle2",sx:{cursor:"pointer",display:"inline-block"},children:"Parents"}),p(K,{size:"small",children:p(U,{sx:{rotate:t?"90deg":"0deg",transition:"all .25s"}})})]}),p(J,{in:t,children:p(Y,{elevation:2,children:F(X,{children:[p(h,{archivistType:"Commit",parentArchivists:n}),p(h,{archivistType:"Read",parentArchivists:i}),p(h,{archivistType:"Write",parentArchivists:a})]})})})]}):null})};import{Badge as C,Tooltip as y}from"@mui/material";import{FlexRow as re}from"@xylabs/react-flexbox";import{BsFileEarmarkCode as te}from"react-icons/bs";import{VscOrganization as oe,VscSymbolMethod as se,VscSymbolNamespace as ne}from"react-icons/vsc";import{jsx as f,jsxs as ie}from"react/jsx-runtime";var k=({addresses:r={},boundWitnesses:e,payloads:t,schemas:o={}})=>ie(re,{gap:2,mr:.5,children:[t!=null&&t.length?f(y,{title:"Payloads",children:f(C,{badgeContent:t==null?void 0:t.length,color:"primary",children:f(ne,{size:20})})}):null,e!=null&&e.length?f(y,{title:"Blocks",children:f(C,{badgeContent:e==null?void 0:e.length,color:"primary",children:f(se,{size:20})})}):null,Object.entries(o).length>0?f(y,{title:"Schemas",children:f(C,{badgeContent:Object.entries(o).length,color:"primary",children:f(te,{size:20})})}):null,Object.entries(r).length>0?f(y,{title:"Addresses",children:f(C,{badgeContent:Object.entries(r).length,color:"primary",children:f(oe,{size:20})})}):null]});import{useAsyncEffect as ae}from"@xylabs/react-async-effect";import{ArchivistAllQuerySchema as E}from"@xyo-network/archivist-model";import{asBoundWitness as ce,BoundWitnessSchema as S}from"@xyo-network/boundwitness-model";import{useCallback as me,useEffect as le,useMemo as g,useState as de}from"react";import{jsx as fe}from"react/jsx-runtime";var T=({archivist:r})=>{let[e,t]=de(),o=me(async s=>{var d;let l=await((d=s==null?void 0:s.all)==null?void 0:d.call(s));t(l)},[]);le(()=>{let s=[];if(r!=null&&r.queries.includes(E)){let l=r.on("inserted",async()=>{await o(r)});s.push(l);let d=r.on("cleared",async()=>{await o(r)});s.push(d)}return()=>{for(let l of s)l==null||l()}},[r,o]),ae(async()=>{r!=null&&r.queries.includes(E)?await o(r):t(null)},[r,o]);let n=g(()=>e===null?[]:e==null?void 0:e.filter(s=>s.schema!==S),[e]),i=g(()=>e===null?[]:e==null?void 0:e.filter(s=>s.schema===S),[e]),a=g(()=>(e==null?void 0:e.reduce((s,l)=>{let d=ce(l);if(d!=null&&d.addresses)for(let c of(d==null?void 0:d.addresses)??[])s[c]=(s[c]??0)+1;return s},{}))??{},[e]),m=g(()=>(e==null?void 0:e.reduce((s,l)=>(s[l.schema]=(s[l.schema]??0)+1,s),{}))??{},[e]);return fe(k,{addresses:a,boundWitnesses:i,payloads:n,schemas:m})};import{jsx as W,jsxs as ge}from"react/jsx-runtime";var N=({children:r,mod:e,...t})=>{let[o,n]=ye(),[i]=Ce();return ue(async a=>{if(i&&e){let m=Ae.wrap(e,i),s=await(m==null?void 0:m.state());a()&&n(s==null?void 0:s[0])}else n(void 0)},[e,i]),W(he,{mod:e,...t,children:ge(pe,{flexWrap:"wrap",justifyContent:"start",gap:2,children:[r,W(B,{config:o})]})})};import{MemoryArchivistConfigSchema as Pe}from"@xyo-network/archivist-memory";import{ModuleCardHeader as xe}from"@xyo-network/react-module";import{useMemo as Re}from"react";import{Fragment as Ie,jsx as I}from"react/jsx-runtime";var Fe=r=>{switch(r==null?void 0:r.config.schema){case Pe:return I(T,{archivist:r});default:return I(Ie,{})}},Q=({title:r,mod:e,...t})=>{let o=Re(()=>Fe(e),[e]);return I(xe,{mod:e,title:r??(e==null?void 0:e.config.name)??"Archivist",action:o,...t})};import{jsx as M,jsxs as ve}from"react/jsx-runtime";var Xr=({children:r,mod:e,...t})=>ve(Me,{...t,children:[M(Q,{mod:e}),M(N,{mod:e}),r,M(be,{mod:e})]});import{ButtonGroup as Je,Typography as Ke}from"@mui/material";import{useAsyncEffect as q}from"@xylabs/react-async-effect";import{ButtonEx as b}from"@xylabs/react-button";import{FlexCol as Xe}from"@xylabs/react-flexbox";import{ArchivistClearQuerySchema as Ye,ArchivistCommitQuerySchema as Ze}from"@xyo-network/archivist-model";import{QueryBoundWitnessBuilder as G}from"@xyo-network/boundwitness-builder";import{useState as P}from"react";import{asArchivistInstance as we}from"@xyo-network/archivist-model";import{useModuleFromNode as Be}from"@xyo-network/react-node";var tt=(r,e)=>{var i,a;let[t,o]=Be(r,e),n=we(t);if(t&&!n){let m=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(m.message),[void 0,m]}return[n,o]};import{isArchivistInstance as ke}from"@xyo-network/archivist-model";import{useModulesFromNode as Ee}from"@xyo-network/react-node";var ct=(r,e)=>{let[t,o]=Ee(r,e);return o?[null,o]:t?[t.reduce((n,i)=>(ke(i)&&n.push(i),n),[]),void 0]:[t,o]};import{isArchivistInstance as Se}from"@xyo-network/archivist-model";import{useWeakModuleFromNode as Te}from"@xyo-network/react-node";var H=(r,e)=>Te(r,{identity:Se,...e});import{exists as We}from"@xylabs/exists";import{asArchivistInstance as Ne}from"@xyo-network/archivist-model";import{useWeakModulesFromNode as Qe}from"@xyo-network/react-node";var Pt=(r,e)=>{let[t,o]=Qe(r,e);return o?[null,o]:[(t==null?void 0:t.map(n=>{let i=Ne(n==null?void 0:n.deref());if(i)return new WeakRef(i)}).filter(We))??[],void 0]};import{usePromise as He}from"@xylabs/react-promise";import{useRefresh as qe}from"@xyo-network/react-module";import{useState as ze}from"react";var Mt=r=>{let[e,t]=ze(),[o,n]=qe();return[He(async()=>{var a;try{if(o)return await((a=r==null?void 0:r.all)==null?void 0:a.call(r))}catch(m){t(m)}},[r,o]),e,n]};import{usePromise as Ge}from"@xylabs/react-promise";import{useRefresh as Le}from"@xyo-network/react-module";var kt=(r,e)=>{let[t,o]=Le(),[n,i]=Ge(async()=>{if(t&&r&&e)return await r.get(e)},[r,e,t]);return[n,i,o]};import{usePromise as Oe}from"@xylabs/react-promise";import{useRefresh as $e}from"@xyo-network/react-module";import{useState as De}from"react";var Nt=r=>{let[e,t]=De(),[o,n]=$e();return[Oe(async()=>{var a,m;try{if(o)return await((m=(a=r==null?void 0:r.deref())==null?void 0:a.all)==null?void 0:m.call(a))}catch(s){t(s)}},[r,o]),e,n]};import{usePromise as Ve}from"@xylabs/react-promise";import{useRefresh as Ue}from"@xyo-network/react-module";var Gt=(r,e)=>{let[t,o]=Ue(),[n,i]=Ve(async()=>{let a=r==null?void 0:r.deref();if(t&&a&&e)return await a.get(e)},[r,e,t]);return[n,i,o]};import{jsx as x,jsxs as z}from"react/jsx-runtime";var L={schema:Ze},_e=new G().query(L),O={schema:Ye},je=new G().query(O),Zt=({address:r,...e})=>{let[t]=H(r),[o,n]=P(),[i,a]=P(0),[m,s]=P(!1),[l,d]=P(!1);return q(async()=>{let c=t==null?void 0:t.deref();if(c){let[u]=await(await _e).build(),[A]=await(await je).build();s(await(c==null?void 0:c.queryable(u,[L]))),d(await(c==null?void 0:c.queryable(A,[O])))}},[t]),q(async c=>{var A,v;let u=await((v=(A=t==null?void 0:t.deref())==null?void 0:A.all)==null?void 0:v.call(A));c()&&n(u)},[t,i]),z(Xe,{...e,children:[x(Ke,{children:`Payloads: ${o?o.length:"-"}`}),z(Je,{children:[x(b,{disabled:(o==null?void 0:o.length)===0||!t||!m,onClick:()=>{var c,u;return(u=(c=t==null?void 0:t.deref())==null?void 0:c.commit)==null?void 0:u.call(c)},children:"Commit"}),x(b,{disabled:!t||!l,onClick:()=>{var c,u;return(u=(c=t==null?void 0:t.deref())==null?void 0:c.clear)==null?void 0:u.call(c)},children:"Clear"}),x(b,{disabled:!t,onClick:()=>{a(i+1)},children:"Refresh"})]})]})};export{Xr as ArchivistCard,N as ArchivistCardContent,Q as ArchivistCardHeader,Zt as ArchivistDetails,Mt as useArchivistAll,tt as useArchivistFromNode,kt as useArchivistGet,ct as useArchivistsFromNode,Nt as useWeakArchivistAll,H as useWeakArchivistFromNode,Gt as useWeakArchivistGet,Pt as useWeakArchivistsFromNode};
1
+ // src/components/Card/Card.tsx
2
+ import { Card } from "@mui/material";
3
+ import { ModuleCardActions } from "@xyo-network/react-module";
4
+
5
+ // src/components/Card/CardContent.tsx
6
+ import { useAsyncEffect as useAsyncEffect2 } from "@xylabs/react-async-effect";
7
+ import { FlexGrowRow } from "@xylabs/react-flexbox";
8
+ import { ModuleWrapper } from "@xyo-network/module-wrapper";
9
+ import { ModuleCardContent } from "@xyo-network/react-module";
10
+ import { useWallet } from "@xyo-network/react-wallet";
11
+ import { useState as useState3 } from "react";
12
+
13
+ // src/components/Card/components/ArchivistParent.tsx
14
+ import { ListItem, Typography } from "@mui/material";
15
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
16
+ var ArchivistParent = ({ archivistType, parentArchivists }) => /* @__PURE__ */ jsx(Fragment, { children: parentArchivists == null ? void 0 : parentArchivists.map((address) => {
17
+ return /* @__PURE__ */ jsx(ListItem, { children: /* @__PURE__ */ jsxs(Typography, { variant: "subtitle2", children: [
18
+ archivistType,
19
+ ":",
20
+ " ",
21
+ /* @__PURE__ */ jsx(Typography, { variant: "caption", sx: { ml: 0.5 }, children: address })
22
+ ] }) }, address);
23
+ }) });
24
+
25
+ // src/components/Card/components/ArchivistParents.tsx
26
+ import { ArrowRightRounded as ArrowRightRoundedIcon } from "@mui/icons-material";
27
+ import { Collapse, IconButton, List, Paper, Typography as Typography2 } from "@mui/material";
28
+ import { FlexCol } from "@xylabs/react-flexbox";
29
+ import { useState } from "react";
30
+ import { Fragment as Fragment2, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
31
+ var ArchivistParents = ({ config, ...props }) => {
32
+ const [parentArchivistCollapse, setParentArchivistCollapse] = useState(false);
33
+ const { commit, read, write } = (config == null ? void 0 : config.parents) ?? {};
34
+ return /* @__PURE__ */ jsx2(Fragment2, { children: commit || read || write ? /* @__PURE__ */ jsxs2(FlexCol, { alignItems: "start", ...props, children: [
35
+ /* @__PURE__ */ jsxs2("span", { onClick: () => setParentArchivistCollapse(!parentArchivistCollapse), children: [
36
+ /* @__PURE__ */ jsx2(Typography2, { variant: "subtitle2", sx: { cursor: "pointer", display: "inline-block" }, children: "Parents" }),
37
+ /* @__PURE__ */ jsx2(IconButton, { size: "small", children: /* @__PURE__ */ jsx2(ArrowRightRoundedIcon, { sx: { rotate: parentArchivistCollapse ? "90deg" : "0deg", transition: "all .25s" } }) })
38
+ ] }),
39
+ /* @__PURE__ */ jsx2(Collapse, { in: parentArchivistCollapse, children: /* @__PURE__ */ jsx2(Paper, { elevation: 2, children: /* @__PURE__ */ jsxs2(List, { children: [
40
+ /* @__PURE__ */ jsx2(ArchivistParent, { archivistType: "Commit", parentArchivists: commit }),
41
+ /* @__PURE__ */ jsx2(ArchivistParent, { archivistType: "Read", parentArchivists: read }),
42
+ /* @__PURE__ */ jsx2(ArchivistParent, { archivistType: "Write", parentArchivists: write })
43
+ ] }) }) })
44
+ ] }) : null });
45
+ };
46
+
47
+ // src/components/Card/components/Stats/ArchivistStats.tsx
48
+ import { Badge, Tooltip } from "@mui/material";
49
+ import { FlexRow } from "@xylabs/react-flexbox";
50
+ import { BsFileEarmarkCode } from "react-icons/bs";
51
+ import { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from "react-icons/vsc";
52
+ import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
53
+ var ArchivistStats = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {
54
+ return /* @__PURE__ */ jsxs3(FlexRow, { gap: 2, mr: 0.5, children: [
55
+ (payloads == null ? void 0 : payloads.length) ? /* @__PURE__ */ jsx3(Tooltip, { title: "Payloads", children: /* @__PURE__ */ jsx3(Badge, { badgeContent: payloads == null ? void 0 : payloads.length, color: "primary", children: /* @__PURE__ */ jsx3(VscSymbolNamespace, { size: 20 }) }) }) : null,
56
+ (boundWitnesses == null ? void 0 : boundWitnesses.length) ? /* @__PURE__ */ jsx3(Tooltip, { title: "Blocks", children: /* @__PURE__ */ jsx3(Badge, { badgeContent: boundWitnesses == null ? void 0 : boundWitnesses.length, color: "primary", children: /* @__PURE__ */ jsx3(VscSymbolMethod, { size: 20 }) }) }) : null,
57
+ Object.entries(schemas).length > 0 ? /* @__PURE__ */ jsx3(Tooltip, { title: "Schemas", children: /* @__PURE__ */ jsx3(Badge, { badgeContent: Object.entries(schemas).length, color: "primary", children: /* @__PURE__ */ jsx3(BsFileEarmarkCode, { size: 20 }) }) }) : null,
58
+ Object.entries(addresses).length > 0 ? /* @__PURE__ */ jsx3(Tooltip, { title: "Addresses", children: /* @__PURE__ */ jsx3(Badge, { badgeContent: Object.entries(addresses).length, color: "primary", children: /* @__PURE__ */ jsx3(VscOrganization, { size: 20 }) }) }) : null
59
+ ] });
60
+ };
61
+
62
+ // src/components/Card/components/Stats/MemoryArchivistStats.tsx
63
+ import { useAsyncEffect } from "@xylabs/react-async-effect";
64
+ import { ArchivistAllQuerySchema } from "@xyo-network/archivist-model";
65
+ import { asBoundWitness, BoundWitnessSchema } from "@xyo-network/boundwitness-model";
66
+ import { useCallback, useEffect, useMemo, useState as useState2 } from "react";
67
+ import { jsx as jsx4 } from "react/jsx-runtime";
68
+ var MemoryArchivistsStats = ({ archivist }) => {
69
+ const [all, setAll] = useState2();
70
+ const getAll = useCallback(async (archivist2) => {
71
+ var _a;
72
+ const all2 = await ((_a = archivist2 == null ? void 0 : archivist2.all) == null ? void 0 : _a.call(archivist2));
73
+ setAll(all2);
74
+ }, []);
75
+ useEffect(() => {
76
+ const listeners = [];
77
+ if (archivist == null ? void 0 : archivist.queries.includes(ArchivistAllQuerySchema)) {
78
+ const insertListener = archivist.on("inserted", async () => {
79
+ await getAll(archivist);
80
+ });
81
+ listeners.push(insertListener);
82
+ const clearListener = archivist.on("cleared", async () => {
83
+ await getAll(archivist);
84
+ });
85
+ listeners.push(clearListener);
86
+ }
87
+ return () => {
88
+ for (const listener of listeners) listener == null ? void 0 : listener();
89
+ };
90
+ }, [archivist, getAll]);
91
+ useAsyncEffect(
92
+ // eslint-disable-next-line react-hooks/exhaustive-deps
93
+ async () => {
94
+ if (archivist == null ? void 0 : archivist.queries.includes(ArchivistAllQuerySchema)) {
95
+ await getAll(archivist);
96
+ } else {
97
+ setAll(null);
98
+ }
99
+ },
100
+ [archivist, getAll]
101
+ );
102
+ const payloads = useMemo(() => all === null ? [] : all == null ? void 0 : all.filter((payload) => payload.schema !== BoundWitnessSchema), [all]);
103
+ const boundWitnesses = useMemo(() => all === null ? [] : all == null ? void 0 : all.filter((payload) => payload.schema === BoundWitnessSchema), [all]);
104
+ const addresses = useMemo(
105
+ () => (all == null ? void 0 : all.reduce(
106
+ (prev, payload) => {
107
+ const w = asBoundWitness(payload);
108
+ if (w == null ? void 0 : w.addresses)
109
+ for (const address of (w == null ? void 0 : w.addresses) ?? []) {
110
+ prev[address] = (prev[address] ?? 0) + 1;
111
+ }
112
+ return prev;
113
+ },
114
+ {}
115
+ )) ?? {},
116
+ [all]
117
+ );
118
+ const schemas = useMemo(
119
+ () => (all == null ? void 0 : all.reduce(
120
+ (prev, payload) => {
121
+ prev[payload.schema] = (prev[payload.schema] ?? 0) + 1;
122
+ return prev;
123
+ },
124
+ {}
125
+ )) ?? {},
126
+ [all]
127
+ );
128
+ return /* @__PURE__ */ jsx4(ArchivistStats, { addresses, boundWitnesses, payloads, schemas });
129
+ };
130
+
131
+ // src/components/Card/CardContent.tsx
132
+ import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
133
+ var ArchivistCardContent = ({ children, mod, ...props }) => {
134
+ const [config, setConfig] = useState3();
135
+ const [wallet] = useWallet();
136
+ useAsyncEffect2(
137
+ // eslint-disable-next-line react-hooks/exhaustive-deps
138
+ async (mounted) => {
139
+ if (wallet && mod) {
140
+ const wrapper = ModuleWrapper.wrap(mod, wallet);
141
+ const payloads = await (wrapper == null ? void 0 : wrapper.state());
142
+ if (mounted()) {
143
+ setConfig(payloads == null ? void 0 : payloads[0]);
144
+ }
145
+ } else {
146
+ setConfig(void 0);
147
+ }
148
+ },
149
+ [mod, wallet]
150
+ );
151
+ return /* @__PURE__ */ jsx5(ModuleCardContent, { mod, ...props, children: /* @__PURE__ */ jsxs4(FlexGrowRow, { flexWrap: "wrap", justifyContent: "start", gap: 2, children: [
152
+ children,
153
+ /* @__PURE__ */ jsx5(ArchivistParents, { config })
154
+ ] }) });
155
+ };
156
+
157
+ // src/components/Card/CardHeader.tsx
158
+ import { MemoryArchivistConfigSchema } from "@xyo-network/archivist-memory";
159
+ import { ModuleCardHeader } from "@xyo-network/react-module";
160
+ import { useMemo as useMemo2 } from "react";
161
+ import { Fragment as Fragment3, jsx as jsx6 } from "react/jsx-runtime";
162
+ var ArchivistStats2 = (archivist) => {
163
+ switch (archivist == null ? void 0 : archivist.config.schema) {
164
+ case MemoryArchivistConfigSchema: {
165
+ return /* @__PURE__ */ jsx6(MemoryArchivistsStats, { archivist });
166
+ }
167
+ default: {
168
+ return /* @__PURE__ */ jsx6(Fragment3, {});
169
+ }
170
+ }
171
+ };
172
+ var ArchivistCardHeader = ({ title, mod, ...props }) => {
173
+ const Stats = useMemo2(() => ArchivistStats2(mod), [mod]);
174
+ return /* @__PURE__ */ jsx6(ModuleCardHeader, { mod, title: title ?? (mod == null ? void 0 : mod.config.name) ?? "Archivist", action: Stats, ...props });
175
+ };
176
+
177
+ // src/components/Card/Card.tsx
178
+ import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
179
+ var ArchivistCard = ({ children, mod, ...props }) => {
180
+ return /* @__PURE__ */ jsxs5(Card, { ...props, children: [
181
+ /* @__PURE__ */ jsx7(ArchivistCardHeader, { mod }),
182
+ /* @__PURE__ */ jsx7(ArchivistCardContent, { mod }),
183
+ children,
184
+ /* @__PURE__ */ jsx7(ModuleCardActions, { mod })
185
+ ] });
186
+ };
187
+
188
+ // src/components/Details/Details.tsx
189
+ import { ButtonGroup, Typography as Typography3 } from "@mui/material";
190
+ import { useAsyncEffect as useAsyncEffect3 } from "@xylabs/react-async-effect";
191
+ import { ButtonEx } from "@xylabs/react-button";
192
+ import { FlexCol as FlexCol2 } from "@xylabs/react-flexbox";
193
+ import { ArchivistClearQuerySchema, ArchivistCommitQuerySchema } from "@xyo-network/archivist-model";
194
+ import { QueryBoundWitnessBuilder } from "@xyo-network/boundwitness-builder";
195
+ import { useState as useState6 } from "react";
196
+
197
+ // src/hooks/node/useArchivistFromNode.tsx
198
+ import { asArchivistInstance } from "@xyo-network/archivist-model";
199
+ import { useModuleFromNode } from "@xyo-network/react-node";
200
+ var useArchivistFromNode = (nameOrAddressOrInstance, config) => {
201
+ var _a, _b;
202
+ const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config);
203
+ const instance = asArchivistInstance(mod);
204
+ if (mod && !instance) {
205
+ 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}]`);
206
+ console.error(error2.message);
207
+ return [void 0, error2];
208
+ }
209
+ return [instance, error];
210
+ };
211
+
212
+ // src/hooks/node/useArchivistsFromNode.tsx
213
+ import { isArchivistInstance } from "@xyo-network/archivist-model";
214
+ import { useModulesFromNode } from "@xyo-network/react-node";
215
+ var useArchivistsFromNode = (filter, config) => {
216
+ const [modules, error] = useModulesFromNode(filter, config);
217
+ if (error) {
218
+ return [null, error];
219
+ }
220
+ return modules ? [
221
+ // eslint-disable-next-line unicorn/no-array-reduce
222
+ modules.reduce((prev, mod) => {
223
+ if (isArchivistInstance(mod)) {
224
+ prev.push(mod);
225
+ }
226
+ return prev;
227
+ }, []),
228
+ void 0
229
+ ] : [modules, error];
230
+ };
231
+
232
+ // src/hooks/node/useWeakArchivistFromNode.tsx
233
+ import { isArchivistInstance as isArchivistInstance2 } from "@xyo-network/archivist-model";
234
+ import { useWeakModuleFromNode } from "@xyo-network/react-node";
235
+ var useWeakArchivistFromNode = (nameOrAddressOrInstance, config) => {
236
+ return useWeakModuleFromNode(nameOrAddressOrInstance, { identity: isArchivistInstance2, ...config });
237
+ };
238
+
239
+ // src/hooks/node/useWeakArchivistsFromNode.tsx
240
+ import { exists } from "@xylabs/exists";
241
+ import { asArchivistInstance as asArchivistInstance2 } from "@xyo-network/archivist-model";
242
+ import { useWeakModulesFromNode } from "@xyo-network/react-node";
243
+ var useWeakArchivistsFromNode = (filter, config) => {
244
+ const [modules, error] = useWeakModulesFromNode(filter, config);
245
+ if (error) {
246
+ return [null, error];
247
+ }
248
+ return [
249
+ (modules == null ? void 0 : modules.map((mod) => {
250
+ const instance = asArchivistInstance2(mod == null ? void 0 : mod.deref());
251
+ if (instance) {
252
+ return new WeakRef(instance);
253
+ }
254
+ }).filter(exists)) ?? [],
255
+ void 0
256
+ ];
257
+ };
258
+
259
+ // src/hooks/queries/useArchivistAll.tsx
260
+ import { usePromise } from "@xylabs/react-promise";
261
+ import { useRefresh } from "@xyo-network/react-module";
262
+ import { useState as useState4 } from "react";
263
+ var useArchivistAll = (archivist) => {
264
+ const [error, setError] = useState4();
265
+ const [enabled, refresh] = useRefresh();
266
+ const payloads = usePromise(async () => {
267
+ var _a;
268
+ try {
269
+ if (enabled) {
270
+ return await ((_a = archivist == null ? void 0 : archivist.all) == null ? void 0 : _a.call(archivist));
271
+ }
272
+ } catch (ex) {
273
+ const error2 = ex;
274
+ setError(error2);
275
+ }
276
+ }, [archivist, enabled]);
277
+ return [payloads, error, refresh];
278
+ };
279
+
280
+ // src/hooks/queries/useArchivistGet.tsx
281
+ import { usePromise as usePromise2 } from "@xylabs/react-promise";
282
+ import { useRefresh as useRefresh2 } from "@xyo-network/react-module";
283
+ var useArchivistGet = (archivist, hashes) => {
284
+ const [enabled, refresh] = useRefresh2();
285
+ const [payloads, error] = usePromise2(async () => {
286
+ if (enabled && archivist && hashes) {
287
+ return await archivist.get(hashes);
288
+ }
289
+ }, [archivist, hashes, enabled]);
290
+ return [payloads, error, refresh];
291
+ };
292
+
293
+ // src/hooks/queries/useWeakArchivistAll.tsx
294
+ import { usePromise as usePromise3 } from "@xylabs/react-promise";
295
+ import { useRefresh as useRefresh3 } from "@xyo-network/react-module";
296
+ import { useState as useState5 } from "react";
297
+ var useWeakArchivistAll = (archivist) => {
298
+ const [error, setError] = useState5();
299
+ const [enabled, refresh] = useRefresh3();
300
+ const payloads = usePromise3(async () => {
301
+ var _a, _b;
302
+ try {
303
+ if (enabled) {
304
+ return await ((_b = (_a = archivist == null ? void 0 : archivist.deref()) == null ? void 0 : _a.all) == null ? void 0 : _b.call(_a));
305
+ }
306
+ } catch (ex) {
307
+ const error2 = ex;
308
+ setError(error2);
309
+ }
310
+ }, [archivist, enabled]);
311
+ return [payloads, error, refresh];
312
+ };
313
+
314
+ // src/hooks/queries/useWeakArchivistGet.tsx
315
+ import { usePromise as usePromise4 } from "@xylabs/react-promise";
316
+ import { useRefresh as useRefresh4 } from "@xyo-network/react-module";
317
+ var useWeakArchivistGet = (archivist, hashes) => {
318
+ const [enabled, refresh] = useRefresh4();
319
+ const [payloads, error] = usePromise4(async () => {
320
+ const archivistInstance = archivist == null ? void 0 : archivist.deref();
321
+ if (enabled && archivistInstance && hashes) {
322
+ return await archivistInstance.get(hashes);
323
+ }
324
+ }, [archivist, hashes, enabled]);
325
+ return [payloads, error, refresh];
326
+ };
327
+
328
+ // src/components/Details/Details.tsx
329
+ import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
330
+ var testQueryCommit = { schema: ArchivistCommitQuerySchema };
331
+ var testQueryCommitBoundWitnessBuilder = new QueryBoundWitnessBuilder().query(testQueryCommit);
332
+ var testQueryClear = { schema: ArchivistClearQuerySchema };
333
+ var testQueryClearBoundWitnessBuilder = new QueryBoundWitnessBuilder().query(testQueryClear);
334
+ var ArchivistDetails = ({ address, ...props }) => {
335
+ const [archivist] = useWeakArchivistFromNode(address);
336
+ const [payloads, setPayloads] = useState6();
337
+ const [refresh, setRefresh] = useState6(0);
338
+ const [queryableCommit, setQueryableCommit] = useState6(false);
339
+ const [queryableClear, setQueryableClear] = useState6(false);
340
+ useAsyncEffect3(
341
+ // eslint-disable-next-line react-hooks/exhaustive-deps
342
+ async () => {
343
+ const instance = archivist == null ? void 0 : archivist.deref();
344
+ if (instance) {
345
+ const [commitBW] = await (await testQueryCommitBoundWitnessBuilder).build();
346
+ const [clearBW] = await (await testQueryClearBoundWitnessBuilder).build();
347
+ setQueryableCommit(await (instance == null ? void 0 : instance.queryable(commitBW, [testQueryCommit])));
348
+ setQueryableClear(await (instance == null ? void 0 : instance.queryable(clearBW, [testQueryClear])));
349
+ }
350
+ },
351
+ [archivist]
352
+ );
353
+ useAsyncEffect3(
354
+ // eslint-disable-next-line react-hooks/exhaustive-deps
355
+ async (mounted) => {
356
+ var _a, _b;
357
+ const payloads2 = await ((_b = (_a = archivist == null ? void 0 : archivist.deref()) == null ? void 0 : _a.all) == null ? void 0 : _b.call(_a));
358
+ if (mounted()) {
359
+ setPayloads(payloads2);
360
+ }
361
+ },
362
+ [archivist, refresh]
363
+ );
364
+ return /* @__PURE__ */ jsxs6(FlexCol2, { ...props, children: [
365
+ /* @__PURE__ */ jsx8(Typography3, { children: `Payloads: ${payloads ? payloads.length : "-"}` }),
366
+ /* @__PURE__ */ jsxs6(ButtonGroup, { children: [
367
+ /* @__PURE__ */ jsx8(ButtonEx, { disabled: (payloads == null ? void 0 : payloads.length) === 0 || !archivist || !queryableCommit, onClick: () => {
368
+ var _a, _b;
369
+ return (_b = (_a = archivist == null ? void 0 : archivist.deref()) == null ? void 0 : _a.commit) == null ? void 0 : _b.call(_a);
370
+ }, children: "Commit" }),
371
+ /* @__PURE__ */ jsx8(ButtonEx, { disabled: !archivist || !queryableClear, onClick: () => {
372
+ var _a, _b;
373
+ return (_b = (_a = archivist == null ? void 0 : archivist.deref()) == null ? void 0 : _a.clear) == null ? void 0 : _b.call(_a);
374
+ }, children: "Clear" }),
375
+ /* @__PURE__ */ jsx8(
376
+ ButtonEx,
377
+ {
378
+ disabled: !archivist,
379
+ onClick: () => {
380
+ setRefresh(refresh + 1);
381
+ },
382
+ children: "Refresh"
383
+ }
384
+ )
385
+ ] })
386
+ ] });
387
+ };
388
+ export {
389
+ ArchivistCard,
390
+ ArchivistCardContent,
391
+ ArchivistCardHeader,
392
+ ArchivistDetails,
393
+ useArchivistAll,
394
+ useArchivistFromNode,
395
+ useArchivistGet,
396
+ useArchivistsFromNode,
397
+ useWeakArchivistAll,
398
+ useWeakArchivistFromNode,
399
+ useWeakArchivistGet,
400
+ useWeakArchivistsFromNode
401
+ };
2
402
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../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":["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":["Card","ModuleCardActions","useAsyncEffect","FlexGrowRow","ModuleWrapper","ModuleCardContent","useWallet","useState","ListItem","Typography","Fragment","jsx","jsxs","ArchivistParent","archivistType","parentArchivists","address","ArrowRightRoundedIcon","Collapse","IconButton","List","Paper","Typography","FlexCol","useState","Fragment","jsx","jsxs","ArchivistParents","config","props","parentArchivistCollapse","setParentArchivistCollapse","useState","commit","read","write","FlexCol","Typography","IconButton","ArrowRightRoundedIcon","Collapse","Paper","List","ArchivistParent","Badge","Tooltip","FlexRow","BsFileEarmarkCode","VscOrganization","VscSymbolMethod","VscSymbolNamespace","jsx","jsxs","ArchivistStats","addresses","boundWitnesses","payloads","schemas","useAsyncEffect","ArchivistAllQuerySchema","asBoundWitness","BoundWitnessSchema","useCallback","useEffect","useMemo","useState","jsx","MemoryArchivistsStats","archivist","all","setAll","useState","getAll","useCallback","_a","useEffect","listeners","ArchivistAllQuerySchema","insertListener","clearListener","listener","useAsyncEffect","payloads","useMemo","payload","BoundWitnessSchema","boundWitnesses","addresses","prev","w","asBoundWitness","address","schemas","ArchivistStats","jsx","jsxs","ArchivistCardContent","children","mod","props","config","setConfig","useState","wallet","useWallet","useAsyncEffect","mounted","wrapper","ModuleWrapper","payloads","ModuleCardContent","FlexGrowRow","ArchivistParents","MemoryArchivistConfigSchema","ModuleCardHeader","useMemo","Fragment","jsx","ArchivistStats","archivist","MemoryArchivistConfigSchema","MemoryArchivistsStats","ArchivistCardHeader","title","mod","props","Stats","useMemo","ModuleCardHeader","jsx","jsxs","ArchivistCard","children","mod","props","Card","ArchivistCardHeader","ArchivistCardContent","ModuleCardActions","ButtonGroup","Typography","useAsyncEffect","ButtonEx","FlexCol","ArchivistClearQuerySchema","ArchivistCommitQuerySchema","QueryBoundWitnessBuilder","useState","asArchivistInstance","useModuleFromNode","useArchivistFromNode","nameOrAddressOrInstance","config","_a","_b","mod","error","instance","isArchivistInstance","useModulesFromNode","useArchivistsFromNode","filter","config","modules","error","prev","mod","isArchivistInstance","useWeakModuleFromNode","useWeakArchivistFromNode","nameOrAddressOrInstance","config","exists","asArchivistInstance","useWeakModulesFromNode","useWeakArchivistsFromNode","filter","config","modules","error","mod","instance","usePromise","useRefresh","useState","useArchivistAll","archivist","error","setError","enabled","refresh","_a","ex","usePromise","useRefresh","useArchivistGet","archivist","hashes","enabled","refresh","payloads","error","usePromise","useRefresh","useState","useWeakArchivistAll","archivist","error","setError","enabled","refresh","_a","_b","ex","usePromise","useRefresh","useWeakArchivistGet","archivist","hashes","enabled","refresh","payloads","error","archivistInstance","jsx","jsxs","testQueryCommit","ArchivistCommitQuerySchema","testQueryCommitBoundWitnessBuilder","QueryBoundWitnessBuilder","testQueryClear","ArchivistClearQuerySchema","testQueryClearBoundWitnessBuilder","ArchivistDetails","address","props","archivist","useWeakArchivistFromNode","payloads","setPayloads","useState","refresh","setRefresh","queryableCommit","setQueryableCommit","queryableClear","setQueryableClear","useAsyncEffect","instance","commitBW","clearBW","mounted","_a","_b","FlexCol","Typography","ButtonGroup","ButtonEx"]}
1
+ {"version":3,"sources":["../../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":["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":["useAsyncEffect","useState","Typography","Fragment","jsx","jsxs","Typography","jsx","jsxs","useState","jsx","useState","archivist","all","jsx","jsxs","useState","useAsyncEffect","useMemo","Fragment","jsx","ArchivistStats","useMemo","jsx","jsxs","Typography","useAsyncEffect","FlexCol","useState","error","isArchivistInstance","asArchivistInstance","useState","error","usePromise","useRefresh","usePromise","useRefresh","useState","error","usePromise","useRefresh","jsx","jsxs","useState","useAsyncEffect","payloads","FlexCol","Typography"]}