@xyo-network/react-archivist 7.5.0 → 7.5.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 +1 @@
1
- {"version":3,"file":"CardHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/CardHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAElE,OAAO,KAAkB,MAAM,OAAO,CAAA;AAetC,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,GAAG,eAAe,CAKhG,CAAA"}
1
+ {"version":3,"file":"CardHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/CardHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAElE,OAAO,KAAkB,MAAM,OAAO,CAAA;AAgBtC,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,GAAG,eAAe,CAKhG,CAAA"}
@@ -229,14 +229,15 @@ import { MemoryArchivistConfigSchema } from "@xyo-network/archivist-memory";
229
229
  import { ModuleCardHeader } from "@xyo-network/react-module";
230
230
  import React6, { useMemo as useMemo2 } from "react";
231
231
  var ArchivistStats2 = /* @__PURE__ */ __name((archivist) => {
232
- switch (archivist?.config.schema) {
232
+ const { config } = archivist ?? {};
233
+ switch (config?.schema) {
233
234
  case MemoryArchivistConfigSchema: {
234
235
  return /* @__PURE__ */ React6.createElement(MemoryArchivistsStats, {
235
236
  archivist
236
237
  });
237
238
  }
238
239
  default: {
239
- return /* @__PURE__ */ React6.createElement(React6.Fragment, null);
240
+ return;
240
241
  }
241
242
  }
242
243
  }, "ArchivistStats");
@@ -329,7 +330,7 @@ var useWeakArchivistFromNode = /* @__PURE__ */ __name((nameOrAddressOrInstance,
329
330
  }, "useWeakArchivistFromNode");
330
331
 
331
332
  // src/hooks/node/useWeakArchivistsFromNode.tsx
332
- import { exists } from "@xylabs/exists";
333
+ import { exists } from "@xylabs/sdk-js";
333
334
  import { asArchivistInstance as asArchivistInstance2 } from "@xyo-network/archivist-model";
334
335
  import { useWeakModulesFromNode } from "@xyo-network/react-node";
335
336
  var useWeakArchivistsFromNode = /* @__PURE__ */ __name((ids, config) => {
@@ -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 type { CardProps } from '@mui/material'\nimport { Card } from '@mui/material'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardActions } from '@xyo-network/react-module'\nimport React from 'react'\n\nimport { ArchivistCardContent } from './CardContent.tsx'\nimport { ArchivistCardHeader } from './CardHeader.tsx'\n\nexport const ArchivistCard: React.FC<CardProps & ModuleRenderProps<ArchivistInstance>> = ({\n children, mod, ...props\n}) => {\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 type { CardContentProps } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport type { ArchivistConfig, ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleWrapper } from '@xyo-network/module-wrapper'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardContent } from '@xyo-network/react-module'\nimport { useWallet } from '@xyo-network/react-wallet'\nimport React, { useState } from 'react'\n\nimport { ArchivistParents } from './components/index.ts'\n\nexport const ArchivistCardContent: React.FC<ModuleRenderProps<ArchivistInstance> & CardContentProps> = ({\n children, mod, ...props\n}) => {\n const [config, setConfig] = useState<ArchivistConfig>()\n const [wallet] = useWallet()\n\n useAsyncEffect(\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'\nimport React from 'react'\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 :\n {' '}\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 {\n Collapse, IconButton, List, Paper, Typography,\n} from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport type { ArchivistConfig } from '@xyo-network/archivist-model'\nimport React, { useState } from 'react'\n\nimport { ArchivistParent } from './ArchivistParent.tsx'\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 {\n commit, read, write,\n } = config?.parents ?? {}\n\n return (\n <>\n {commit || read || write\n ? (\n <FlexCol alignItems=\"start\" {...props}>\n <span onClick={() => setParentArchivistCollapse(!parentArchivistCollapse)}>\n <Typography\n variant=\"subtitle2\"\n sx={{ cursor: 'pointer', display: 'inline-block' }}\n >\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 )\n : null}\n </>\n )\n}\n","import { Badge, Tooltip } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React from 'react'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { BsFileEarmarkCode } from 'react-icons/bs'\nimport {\n VscOrganization, VscSymbolMethod, VscSymbolNamespace,\n// eslint-disable-next-line import-x/no-internal-modules\n} 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> = ({\n addresses, boundWitnesses, payloads, schemas,\n}) => {\n return (\n <FlexRow gap={2} mr={0.5}>\n {payloads?.length\n ? (\n <Tooltip title=\"Payloads\">\n <Badge badgeContent={payloads?.length} color=\"primary\">\n <VscSymbolNamespace size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n {boundWitnesses?.length\n ? (\n <Tooltip title=\"Blocks\">\n <Badge badgeContent={boundWitnesses?.length} color=\"primary\">\n <VscSymbolMethod size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n {Object.entries(schemas ?? {}).length > 0\n ? (\n <Tooltip title=\"Schemas\">\n <Badge badgeContent={Object.entries(schemas ?? {}).length} color=\"primary\">\n <BsFileEarmarkCode size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n {Object.entries(addresses ?? {}).length > 0\n ? (\n <Tooltip title=\"Addresses\">\n <Badge badgeContent={Object.entries(addresses ?? {}).length} color=\"primary\">\n <VscOrganization size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n </FlexRow>\n )\n}\n","import type { EventUnsubscribeFunction } from '@xylabs/events'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ArchivistAllQuerySchema } from '@xyo-network/archivist-model'\nimport { asBoundWitness, BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React, {\n useCallback, useEffect, useMemo, useState,\n} from 'react'\n\nimport { ArchivistStats } from './ArchivistStats.tsx'\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 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 const addressCounts: Record<string, number> = {}\n if (all) {\n for (const payload of all) {\n const w = asBoundWitness(payload)\n if (w?.addresses) {\n for (const address of w.addresses) {\n addressCounts[address] = (addressCounts[address] ?? 0) + 1\n }\n }\n }\n }\n return addressCounts\n }, [all])\n const schemas = useMemo(() => {\n const schemaCounts: Record<string, number> = {}\n if (all) {\n for (const payload of all) {\n schemaCounts[payload.schema] = (schemaCounts[payload.schema] ?? 0) + 1\n }\n }\n return schemaCounts\n }, [all])\n\n return <ArchivistStats addresses={addresses} boundWitnesses={boundWitnesses} payloads={payloads} schemas={schemas} />\n}\n","import type { CardHeaderProps } from '@mui/material'\nimport { MemoryArchivistConfigSchema } from '@xyo-network/archivist-memory'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardHeader } from '@xyo-network/react-module'\nimport React, { useMemo } from 'react'\n\nimport { MemoryArchivistsStats } from './components/index.ts'\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> = ({\n title, mod, ...props\n}) => {\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 type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { ArchivistClearQuerySchema, ArchivistCommitQuerySchema } from '@xyo-network/archivist-model'\nimport { QueryBoundWitnessBuilder } from '@xyo-network/boundwitness-builder'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React, { useState } from 'react'\n\nimport { useWeakArchivistFromNode } from '../../hooks/index.ts'\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 ArchivistDetailsProps extends FlexBoxProps {\n address?: string\n}\n\nexport const ArchivistDetails: React.FC<ArchivistDetailsProps> = ({ 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 async () => {\n const instance = archivist?.deref()\n if (instance) {\n const [commitBW] = await testQueryCommitBoundWitnessBuilder.build()\n const [clearBW] = 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 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","import type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { asArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { 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","import type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { isArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleIdentifier } from '@xyo-network/module-model'\nimport type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useModulesFromNode } from '@xyo-network/react-node'\n\n/** @deprecated use useWeakArchivistsFromNode */\nexport const useArchivistsFromNode = (\n ids?: ModuleIdentifier[],\n config?: ModuleFromNodeConfig,\n): [ArchivistInstance[] | null | undefined, Error | undefined] => {\n const [modules, error] = useModulesFromNode(ids, 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 type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { isArchivistInstance } from '@xyo-network/archivist-model'\nimport type { WeakModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useWeakModuleFromNode } 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 type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { asArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleIdentifier } from '@xyo-network/module-model'\nimport type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useWeakModulesFromNode } from '@xyo-network/react-node'\n\nexport const useWeakArchivistsFromNode = (\n ids?: ModuleIdentifier[],\n config?: ModuleFromNodeConfig,\n): [WeakRef<ArchivistInstance>[] | null | undefined, Error | undefined] => {\n const [modules, error] = useWeakModulesFromNode(ids, 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 type { 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 { usePromise } from '@xylabs/react-promise'\nimport type { Hash } from '@xylabs/sdk-js'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { Payload, WithStorageMeta } from '@xyo-network/payload-model'\nimport type { RefreshCallback } from '@xyo-network/react-module'\nimport { 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 WithStorageMeta<T>[]\n }\n }, [archivist, hashes, enabled])\n\n return [payloads, error, refresh]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { 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 { usePromise } from '@xylabs/react-promise'\nimport type { Hash } from '@xylabs/sdk-js'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { Payload, WithStorageMeta } from '@xyo-network/payload-model'\nimport type { RefreshCallback } from '@xyo-network/react-module'\nimport { 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 WithStorageMeta<T>[]\n }\n }, [archivist, hashes, enabled])\n\n return [payloads, error, refresh]\n}\n"],"mappings":"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","names":["Card","ModuleCardActions","React","useAsyncEffect","FlexGrowRow","ModuleWrapper","ModuleCardContent","useWallet","React","useState","ListItem","Typography","React","ArchivistParent","archivistType","parentArchivists","map","address","ListItem","key","Typography","variant","sx","ml","ArrowRightRounded","ArrowRightRoundedIcon","Collapse","IconButton","List","Paper","Typography","FlexCol","React","useState","ArchivistParents","config","props","parentArchivistCollapse","setParentArchivistCollapse","useState","commit","read","write","parents","React","FlexCol","alignItems","span","onClick","Typography","variant","sx","cursor","display","IconButton","size","ArrowRightRoundedIcon","rotate","transition","Collapse","in","Paper","elevation","List","ArchivistParent","archivistType","parentArchivists","Badge","Tooltip","FlexRow","React","BsFileEarmarkCode","VscOrganization","VscSymbolMethod","VscSymbolNamespace","ArchivistStats","addresses","boundWitnesses","payloads","schemas","React","FlexRow","gap","mr","length","Tooltip","title","Badge","badgeContent","color","VscSymbolNamespace","size","VscSymbolMethod","Object","entries","BsFileEarmarkCode","VscOrganization","useAsyncEffect","ArchivistAllQuerySchema","asBoundWitness","BoundWitnessSchema","React","useCallback","useEffect","useMemo","useState","MemoryArchivistsStats","archivist","all","setAll","useState","getAll","useCallback","useEffect","listeners","queries","includes","ArchivistAllQuerySchema","insertListener","on","push","clearListener","listener","useAsyncEffect","payloads","useMemo","filter","payload","schema","BoundWitnessSchema","boundWitnesses","addresses","addressCounts","w","asBoundWitness","address","schemas","schemaCounts","React","ArchivistStats","ArchivistCardContent","children","mod","props","config","setConfig","useState","wallet","useWallet","useAsyncEffect","mounted","wrapper","ModuleWrapper","wrap","payloads","state","undefined","React","ModuleCardContent","FlexGrowRow","flexWrap","justifyContent","gap","ArchivistParents","MemoryArchivistConfigSchema","ModuleCardHeader","React","useMemo","ArchivistStats","archivist","config","schema","MemoryArchivistConfigSchema","React","MemoryArchivistsStats","ArchivistCardHeader","title","mod","props","Stats","useMemo","ModuleCardHeader","name","action","ArchivistCard","children","mod","props","React","Card","ArchivistCardHeader","ArchivistCardContent","ModuleCardActions","ButtonGroup","Typography","useAsyncEffect","ButtonEx","FlexCol","ArchivistClearQuerySchema","ArchivistCommitQuerySchema","QueryBoundWitnessBuilder","React","useState","asArchivistInstance","useModuleFromNode","useArchivistFromNode","nameOrAddressOrInstance","config","mod","error","useModuleFromNode","instance","asArchivistInstance","Error","schema","name","address","console","message","undefined","isArchivistInstance","useModulesFromNode","useArchivistsFromNode","ids","config","modules","error","useModulesFromNode","reduce","prev","mod","isArchivistInstance","push","undefined","isArchivistInstance","useWeakModuleFromNode","useWeakArchivistFromNode","nameOrAddressOrInstance","config","useWeakModuleFromNode","identity","isArchivistInstance","exists","asArchivistInstance","useWeakModulesFromNode","useWeakArchivistsFromNode","ids","config","modules","error","useWeakModulesFromNode","map","mod","instance","asArchivistInstance","deref","WeakRef","filter","exists","undefined","usePromise","useRefresh","useState","useArchivistAll","archivist","error","setError","useState","enabled","refresh","useRefresh","payloads","usePromise","all","ex","usePromise","useRefresh","useArchivistGet","archivist","hashes","enabled","refresh","useRefresh","payloads","error","usePromise","get","usePromise","useRefresh","useState","useWeakArchivistAll","archivist","error","setError","useState","enabled","refresh","useRefresh","payloads","usePromise","deref","all","ex","usePromise","useRefresh","useWeakArchivistGet","archivist","hashes","enabled","refresh","useRefresh","payloads","error","usePromise","archivistInstance","deref","get","testQueryCommit","schema","ArchivistCommitQuerySchema","testQueryCommitBoundWitnessBuilder","QueryBoundWitnessBuilder","query","testQueryClear","ArchivistClearQuerySchema","testQueryClearBoundWitnessBuilder","ArchivistDetails","address","props","archivist","useWeakArchivistFromNode","payloads","setPayloads","useState","refresh","setRefresh","queryableCommit","setQueryableCommit","queryableClear","setQueryableClear","useAsyncEffect","instance","deref","commitBW","build","clearBW","queryable","mounted","all","React","FlexCol","Typography","length","ButtonGroup","ButtonEx","disabled","onClick","commit","clear"]}
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 type { CardProps } from '@mui/material'\nimport { Card } from '@mui/material'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardActions } from '@xyo-network/react-module'\nimport React from 'react'\n\nimport { ArchivistCardContent } from './CardContent.tsx'\nimport { ArchivistCardHeader } from './CardHeader.tsx'\n\nexport const ArchivistCard: React.FC<CardProps & ModuleRenderProps<ArchivistInstance>> = ({\n children, mod, ...props\n}) => {\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 type { CardContentProps } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport type { ArchivistConfig, ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleWrapper } from '@xyo-network/module-wrapper'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardContent } from '@xyo-network/react-module'\nimport { useWallet } from '@xyo-network/react-wallet'\nimport React, { useState } from 'react'\n\nimport { ArchivistParents } from './components/index.ts'\n\nexport const ArchivistCardContent: React.FC<ModuleRenderProps<ArchivistInstance> & CardContentProps> = ({\n children, mod, ...props\n}) => {\n const [config, setConfig] = useState<ArchivistConfig>()\n const [wallet] = useWallet()\n\n useAsyncEffect(\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'\nimport React from 'react'\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 :\n {' '}\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 {\n Collapse, IconButton, List, Paper, Typography,\n} from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport type { ArchivistConfig } from '@xyo-network/archivist-model'\nimport React, { useState } from 'react'\n\nimport { ArchivistParent } from './ArchivistParent.tsx'\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 {\n commit, read, write,\n } = config?.parents ?? {}\n\n return (\n <>\n {commit || read || write\n ? (\n <FlexCol alignItems=\"start\" {...props}>\n <span onClick={() => setParentArchivistCollapse(!parentArchivistCollapse)}>\n <Typography\n variant=\"subtitle2\"\n sx={{ cursor: 'pointer', display: 'inline-block' }}\n >\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 )\n : null}\n </>\n )\n}\n","import { Badge, Tooltip } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React from 'react'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { BsFileEarmarkCode } from 'react-icons/bs'\nimport {\n VscOrganization, VscSymbolMethod, VscSymbolNamespace,\n// eslint-disable-next-line import-x/no-internal-modules\n} 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> = ({\n addresses, boundWitnesses, payloads, schemas,\n}) => {\n return (\n <FlexRow gap={2} mr={0.5}>\n {payloads?.length\n ? (\n <Tooltip title=\"Payloads\">\n <Badge badgeContent={payloads?.length} color=\"primary\">\n <VscSymbolNamespace size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n {boundWitnesses?.length\n ? (\n <Tooltip title=\"Blocks\">\n <Badge badgeContent={boundWitnesses?.length} color=\"primary\">\n <VscSymbolMethod size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n {Object.entries(schemas ?? {}).length > 0\n ? (\n <Tooltip title=\"Schemas\">\n <Badge badgeContent={Object.entries(schemas ?? {}).length} color=\"primary\">\n <BsFileEarmarkCode size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n {Object.entries(addresses ?? {}).length > 0\n ? (\n <Tooltip title=\"Addresses\">\n <Badge badgeContent={Object.entries(addresses ?? {}).length} color=\"primary\">\n <VscOrganization size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n </FlexRow>\n )\n}\n","import type { EventUnsubscribeFunction } from '@xylabs/events'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ArchivistAllQuerySchema } from '@xyo-network/archivist-model'\nimport { asBoundWitness, BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React, {\n useCallback, useEffect, useMemo, useState,\n} from 'react'\n\nimport { ArchivistStats } from './ArchivistStats.tsx'\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 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 const addressCounts: Record<string, number> = {}\n if (all) {\n for (const payload of all) {\n const w = asBoundWitness(payload)\n if (w?.addresses) {\n for (const address of w.addresses) {\n addressCounts[address] = (addressCounts[address] ?? 0) + 1\n }\n }\n }\n }\n return addressCounts\n }, [all])\n const schemas = useMemo(() => {\n const schemaCounts: Record<string, number> = {}\n if (all) {\n for (const payload of all) {\n schemaCounts[payload.schema] = (schemaCounts[payload.schema] ?? 0) + 1\n }\n }\n return schemaCounts\n }, [all])\n\n return <ArchivistStats addresses={addresses} boundWitnesses={boundWitnesses} payloads={payloads} schemas={schemas} />\n}\n","import type { CardHeaderProps } from '@mui/material'\nimport { MemoryArchivistConfigSchema } from '@xyo-network/archivist-memory'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardHeader } from '@xyo-network/react-module'\nimport React, { useMemo } from 'react'\n\nimport { MemoryArchivistsStats } from './components/index.ts'\n\nconst ArchivistStats = (archivist?: ArchivistInstance) => {\n const { config } = archivist ?? {}\n switch (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> = ({\n title, mod, ...props\n}) => {\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 type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { ArchivistClearQuerySchema, ArchivistCommitQuerySchema } from '@xyo-network/archivist-model'\nimport { QueryBoundWitnessBuilder } from '@xyo-network/boundwitness-builder'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React, { useState } from 'react'\n\nimport { useWeakArchivistFromNode } from '../../hooks/index.ts'\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 ArchivistDetailsProps extends FlexBoxProps {\n address?: string\n}\n\nexport const ArchivistDetails: React.FC<ArchivistDetailsProps> = ({ 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 async () => {\n const instance = archivist?.deref()\n if (instance) {\n const [commitBW] = await testQueryCommitBoundWitnessBuilder.build()\n const [clearBW] = 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 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","import type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { asArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { 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","import type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { isArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleIdentifier } from '@xyo-network/module-model'\nimport type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useModulesFromNode } from '@xyo-network/react-node'\n\n/** @deprecated use useWeakArchivistsFromNode */\nexport const useArchivistsFromNode = (\n ids?: ModuleIdentifier[],\n config?: ModuleFromNodeConfig,\n): [ArchivistInstance[] | null | undefined, Error | undefined] => {\n const [modules, error] = useModulesFromNode(ids, 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 type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { isArchivistInstance } from '@xyo-network/archivist-model'\nimport type { WeakModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useWeakModuleFromNode } 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/sdk-js'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { asArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleIdentifier } from '@xyo-network/module-model'\nimport type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useWeakModulesFromNode } from '@xyo-network/react-node'\n\nexport const useWeakArchivistsFromNode = (\n ids?: ModuleIdentifier[],\n config?: ModuleFromNodeConfig,\n): [WeakRef<ArchivistInstance>[] | null | undefined, Error | undefined] => {\n const [modules, error] = useWeakModulesFromNode(ids, 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 type { 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 { usePromise } from '@xylabs/react-promise'\nimport type { Hash } from '@xylabs/sdk-js'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { Payload, WithStorageMeta } from '@xyo-network/payload-model'\nimport type { RefreshCallback } from '@xyo-network/react-module'\nimport { 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 WithStorageMeta<T>[]\n }\n }, [archivist, hashes, enabled])\n\n return [payloads, error, refresh]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { 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 { usePromise } from '@xylabs/react-promise'\nimport type { Hash } from '@xylabs/sdk-js'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { Payload, WithStorageMeta } from '@xyo-network/payload-model'\nimport type { RefreshCallback } from '@xyo-network/react-module'\nimport { 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 WithStorageMeta<T>[]\n }\n }, [archivist, hashes, enabled])\n\n return [payloads, error, refresh]\n}\n"],"mappings":"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","names":["Card","ModuleCardActions","React","useAsyncEffect","FlexGrowRow","ModuleWrapper","ModuleCardContent","useWallet","React","useState","ListItem","Typography","React","ArchivistParent","archivistType","parentArchivists","map","address","ListItem","key","Typography","variant","sx","ml","ArrowRightRounded","ArrowRightRoundedIcon","Collapse","IconButton","List","Paper","Typography","FlexCol","React","useState","ArchivistParents","config","props","parentArchivistCollapse","setParentArchivistCollapse","useState","commit","read","write","parents","React","FlexCol","alignItems","span","onClick","Typography","variant","sx","cursor","display","IconButton","size","ArrowRightRoundedIcon","rotate","transition","Collapse","in","Paper","elevation","List","ArchivistParent","archivistType","parentArchivists","Badge","Tooltip","FlexRow","React","BsFileEarmarkCode","VscOrganization","VscSymbolMethod","VscSymbolNamespace","ArchivistStats","addresses","boundWitnesses","payloads","schemas","React","FlexRow","gap","mr","length","Tooltip","title","Badge","badgeContent","color","VscSymbolNamespace","size","VscSymbolMethod","Object","entries","BsFileEarmarkCode","VscOrganization","useAsyncEffect","ArchivistAllQuerySchema","asBoundWitness","BoundWitnessSchema","React","useCallback","useEffect","useMemo","useState","MemoryArchivistsStats","archivist","all","setAll","useState","getAll","useCallback","useEffect","listeners","queries","includes","ArchivistAllQuerySchema","insertListener","on","push","clearListener","listener","useAsyncEffect","payloads","useMemo","filter","payload","schema","BoundWitnessSchema","boundWitnesses","addresses","addressCounts","w","asBoundWitness","address","schemas","schemaCounts","React","ArchivistStats","ArchivistCardContent","children","mod","props","config","setConfig","useState","wallet","useWallet","useAsyncEffect","mounted","wrapper","ModuleWrapper","wrap","payloads","state","undefined","React","ModuleCardContent","FlexGrowRow","flexWrap","justifyContent","gap","ArchivistParents","MemoryArchivistConfigSchema","ModuleCardHeader","React","useMemo","ArchivistStats","archivist","config","schema","MemoryArchivistConfigSchema","React","MemoryArchivistsStats","ArchivistCardHeader","title","mod","props","Stats","useMemo","ModuleCardHeader","name","action","ArchivistCard","children","mod","props","React","Card","ArchivistCardHeader","ArchivistCardContent","ModuleCardActions","ButtonGroup","Typography","useAsyncEffect","ButtonEx","FlexCol","ArchivistClearQuerySchema","ArchivistCommitQuerySchema","QueryBoundWitnessBuilder","React","useState","asArchivistInstance","useModuleFromNode","useArchivistFromNode","nameOrAddressOrInstance","config","mod","error","useModuleFromNode","instance","asArchivistInstance","Error","schema","name","address","console","message","undefined","isArchivistInstance","useModulesFromNode","useArchivistsFromNode","ids","config","modules","error","useModulesFromNode","reduce","prev","mod","isArchivistInstance","push","undefined","isArchivistInstance","useWeakModuleFromNode","useWeakArchivistFromNode","nameOrAddressOrInstance","config","useWeakModuleFromNode","identity","isArchivistInstance","exists","asArchivistInstance","useWeakModulesFromNode","useWeakArchivistsFromNode","ids","config","modules","error","useWeakModulesFromNode","map","mod","instance","asArchivistInstance","deref","WeakRef","filter","exists","undefined","usePromise","useRefresh","useState","useArchivistAll","archivist","error","setError","useState","enabled","refresh","useRefresh","payloads","usePromise","all","ex","usePromise","useRefresh","useArchivistGet","archivist","hashes","enabled","refresh","useRefresh","payloads","error","usePromise","get","usePromise","useRefresh","useState","useWeakArchivistAll","archivist","error","setError","useState","enabled","refresh","useRefresh","payloads","usePromise","deref","all","ex","usePromise","useRefresh","useWeakArchivistGet","archivist","hashes","enabled","refresh","useRefresh","payloads","error","usePromise","archivistInstance","deref","get","testQueryCommit","schema","ArchivistCommitQuerySchema","testQueryCommitBoundWitnessBuilder","QueryBoundWitnessBuilder","query","testQueryClear","ArchivistClearQuerySchema","testQueryClearBoundWitnessBuilder","ArchivistDetails","address","props","archivist","useWeakArchivistFromNode","payloads","setPayloads","useState","refresh","setRefresh","queryableCommit","setQueryableCommit","queryableClear","setQueryableClear","useAsyncEffect","instance","deref","commitBW","build","clearBW","queryable","mounted","all","React","FlexCol","Typography","length","ButtonGroup","ButtonEx","disabled","onClick","commit","clear"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/react-archivist",
3
- "version": "7.5.0",
3
+ "version": "7.5.1",
4
4
  "description": "Common React library for all XYO projects that use React",
5
5
  "keywords": [
6
6
  "xyo",
@@ -43,12 +43,11 @@
43
43
  "src"
44
44
  ],
45
45
  "dependencies": {
46
- "@xylabs/exists": "~5.0.64",
47
- "@xylabs/hex": "~5.0.64",
48
- "@xylabs/react-async-effect": "~7.1.9",
49
- "@xylabs/react-button": "~7.1.9",
50
- "@xylabs/react-flexbox": "~7.1.9",
51
- "@xylabs/react-promise": "~7.1.9",
46
+ "@xylabs/react-async-effect": "~7.1.12",
47
+ "@xylabs/react-button": "~7.1.12",
48
+ "@xylabs/react-flexbox": "~7.1.12",
49
+ "@xylabs/react-promise": "~7.1.12",
50
+ "@xylabs/sdk-js": "~5.0.64",
52
51
  "@xyo-network/archivist-memory": "~5.3.2",
53
52
  "@xyo-network/archivist-model": "~5.3.2",
54
53
  "@xyo-network/boundwitness-builder": "~5.3.2",
@@ -56,9 +55,9 @@
56
55
  "@xyo-network/module-model": "~5.3.2",
57
56
  "@xyo-network/module-wrapper": "~5.3.2",
58
57
  "@xyo-network/payload-model": "~5.3.2",
59
- "@xyo-network/react-module": "7.5.0",
60
- "@xyo-network/react-node": "7.5.0",
61
- "@xyo-network/react-wallet": "7.5.0",
58
+ "@xyo-network/react-module": "7.5.1",
59
+ "@xyo-network/react-node": "7.5.1",
60
+ "@xyo-network/react-wallet": "7.5.1",
62
61
  "react-icons": "^5.5.0"
63
62
  },
64
63
  "devDependencies": {
@@ -78,14 +77,16 @@
78
77
  "react-router-dom": "^7.13.0",
79
78
  "storybook": "~10.2.1",
80
79
  "typescript": "^5.9.3",
81
- "vite": "~7.3.1"
80
+ "vite": "~7.3.1",
81
+ "zod": "^4.3.6"
82
82
  },
83
83
  "peerDependencies": {
84
84
  "@mui/icons-material": ">=6 <8",
85
85
  "@mui/material": ">=6 <8",
86
86
  "react": "^19",
87
87
  "react-dom": "^19",
88
- "react-router-dom": "^7"
88
+ "react-router-dom": "^7",
89
+ "zod": "^4"
89
90
  },
90
91
  "publishConfig": {
91
92
  "access": "public"
@@ -8,12 +8,13 @@ import React, { useMemo } from 'react'
8
8
  import { MemoryArchivistsStats } from './components/index.ts'
9
9
 
10
10
  const ArchivistStats = (archivist?: ArchivistInstance) => {
11
- switch (archivist?.config.schema) {
11
+ const { config } = archivist ?? {}
12
+ switch (config?.schema) {
12
13
  case MemoryArchivistConfigSchema: {
13
14
  return <MemoryArchivistsStats archivist={archivist} />
14
15
  }
15
16
  default: {
16
- return <></>
17
+ return
17
18
  }
18
19
  }
19
20
  }
@@ -18,7 +18,7 @@ const StorybookEntry = {
18
18
  } as Meta<typeof MemoryArchivistsStats>
19
19
 
20
20
  const Template: StoryFn<typeof MemoryArchivistsStats> = () => {
21
- const [mod, setModule] = useState<ArchivistInstance>()
21
+ const [mod, setMod] = useState<ArchivistInstance>()
22
22
 
23
23
  useAsyncEffect(
24
24
  async () => {
@@ -44,7 +44,7 @@ const Template: StoryFn<typeof MemoryArchivistsStats> = () => {
44
44
  await node.register(newModule)
45
45
  await node.attach(newModule.address)
46
46
  await newModule.insert([insertQueryBoundWitness, ...payloads])
47
- setModule(newModule)
47
+ setMod(newModule)
48
48
  }
49
49
  },
50
50
  [mod],
@@ -1,4 +1,4 @@
1
- import { exists } from '@xylabs/exists'
1
+ import { exists } from '@xylabs/sdk-js'
2
2
  import type { ArchivistInstance } from '@xyo-network/archivist-model'
3
3
  import { asArchivistInstance } from '@xyo-network/archivist-model'
4
4
  import type { ModuleIdentifier } from '@xyo-network/module-model'