@xyo-network/react-archivist 2.75.1 → 2.75.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"useWeakArchivistFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakArchivistFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAuB,MAAM,8BAA8B,CAAA;AACrF,OAAO,EAAE,oBAAoB,EAAyB,MAAM,yBAAyB,CAAA;AAErF,eAAO,MAAM,wBAAwB,6BACT,MAAM,GAAG,iBAAiB,WAC3C,oBAAoB,KAC5B,CAAC,QAAQ,iBAAiB,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAU5D,CAAA"}
1
+ {"version":3,"file":"useWeakArchivistFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakArchivistFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAuB,MAAM,8BAA8B,CAAA;AACrF,OAAO,EAAE,oBAAoB,EAAyB,MAAM,yBAAyB,CAAA;AAErF,eAAO,MAAM,wBAAwB,6BACT,MAAM,GAAG,iBAAiB,WAC3C,oBAAoB,KAC5B,CAAC,QAAQ,iBAAiB,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAE5D,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWeakArchivistFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakArchivistFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAuB,MAAM,8BAA8B,CAAA;AACrF,OAAO,EAAE,oBAAoB,EAAyB,MAAM,yBAAyB,CAAA;AAErF,eAAO,MAAM,wBAAwB,6BACT,MAAM,GAAG,iBAAiB,WAC3C,oBAAoB,KAC5B,CAAC,QAAQ,iBAAiB,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAU5D,CAAA"}
1
+ {"version":3,"file":"useWeakArchivistFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakArchivistFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAuB,MAAM,8BAA8B,CAAA;AACrF,OAAO,EAAE,oBAAoB,EAAyB,MAAM,yBAAyB,CAAA;AAErF,eAAO,MAAM,wBAAwB,6BACT,MAAM,GAAG,iBAAiB,WAC3C,oBAAoB,KAC5B,CAAC,QAAQ,iBAAiB,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAE5D,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWeakArchivistFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakArchivistFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAuB,MAAM,8BAA8B,CAAA;AACrF,OAAO,EAAE,oBAAoB,EAAyB,MAAM,yBAAyB,CAAA;AAErF,eAAO,MAAM,wBAAwB,6BACT,MAAM,GAAG,iBAAiB,WAC3C,oBAAoB,KAC5B,CAAC,QAAQ,iBAAiB,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAU5D,CAAA"}
1
+ {"version":3,"file":"useWeakArchivistFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakArchivistFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAuB,MAAM,8BAA8B,CAAA;AACrF,OAAO,EAAE,oBAAoB,EAAyB,MAAM,yBAAyB,CAAA;AAErF,eAAO,MAAM,wBAAwB,6BACT,MAAM,GAAG,iBAAiB,WAC3C,oBAAoB,KAC5B,CAAC,QAAQ,iBAAiB,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAE5D,CAAA"}
@@ -267,15 +267,7 @@ var useArchivistsFromNode = (filter, config) => {
267
267
  var import_archivist_model4 = require("@xyo-network/archivist-model");
268
268
  var import_react_node3 = require("@xyo-network/react-node");
269
269
  var useWeakArchivistFromNode = (nameOrAddressOrInstance, config) => {
270
- const [module2, error] = (0, import_react_node3.useWeakModuleFromNode)(nameOrAddressOrInstance, config);
271
- const instance = module2?.deref();
272
- const archivist = (0, import_archivist_model4.asArchivistInstance)(instance);
273
- if (instance && !archivist) {
274
- const error2 = new Error(`Resolved module is not a ArchivistInstance [${instance.config?.schema}:${instance.id}]`);
275
- console.error(error2.message);
276
- return [void 0, error2];
277
- }
278
- return [archivist ? new WeakRef(archivist) : void 0, error];
270
+ return (0, import_react_node3.useWeakModuleFromNode)(nameOrAddressOrInstance, { identity: import_archivist_model4.isArchivistInstance, ...config });
279
271
  };
280
272
 
281
273
  // src/hooks/node/useWeakArchivistsFromNode.tsx
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/components/Card/Card.tsx","../../src/components/Card/CardContent.tsx","../../src/components/Card/components/ArchivistParent.tsx","../../src/components/Card/components/ArchivistParents.tsx","../../src/components/Card/components/Stats/ArchivistStats.tsx","../../src/components/Card/components/Stats/MemoryArchivistStats.tsx","../../src/components/Card/CardHeader.tsx","../../src/components/Details/Details.tsx","../../src/hooks/node/useArchivistFromNode.tsx","../../src/hooks/node/useArchivistsFromNode.tsx","../../src/hooks/node/useWeakArchivistFromNode.tsx","../../src/hooks/node/useWeakArchivistsFromNode.tsx","../../src/hooks/queries/useArchivistAll.tsx","../../src/hooks/queries/useArchivistGet.tsx"],"sourcesContent":["export * from './components'\nexport * from './hooks'\n","import { Card, CardProps } from '@mui/material'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleCardActions, ModuleRenderProps } from '@xyo-network/react-module'\n\nimport { ArchivistCardContent } from './CardContent'\nimport { ArchivistCardHeader } from './CardHeader'\n\nexport const ArchivistCard: React.FC<CardProps & ModuleRenderProps<ArchivistInstance>> = ({ children, module, ...props }) => {\n return (\n <Card {...props}>\n <ArchivistCardHeader module={module} />\n <ArchivistCardContent module={module} />\n {children}\n <ModuleCardActions module={module} />\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, module, ...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 && module) {\n const wrapper = ModuleWrapper.wrap(module, 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 [module, wallet],\n )\n\n return (\n <ModuleCardContent module={module} {...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, module, ...props }) => {\n const Stats = useMemo(() => ArchivistStats(module), [module])\n return <ModuleCardHeader module={module} title={title ?? module?.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 { useArchivistFromNode } 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] = useArchivistFromNode(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 if (archivist) {\n const [commitBW] = await (await testQueryCommitBoundWitnessBuilder).build()\n const [clearBW] = await (await testQueryClearBoundWitnessBuilder).build()\n setQueryableCommit(await archivist?.queryable(commitBW, [testQueryCommit]))\n setQueryableClear(await archivist?.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?.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?.commit?.()}>\n Commit\n </ButtonEx>\n <ButtonEx disabled={!archivist || !queryableClear} onClick={() => archivist?.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 [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asArchivistInstance(module)\n if (module && !instance) {\n const error = new Error(`Resolved module is not a ArchivistInstance [${module.config?.schema}:${module.config?.name}:${module.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, module) => {\n if (isArchivistInstance(module)) {\n prev.push(module)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { ArchivistInstance, asArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleFromNodeConfig, useWeakModuleFromNode } from '@xyo-network/react-node'\n\nexport const useWeakArchivistFromNode = (\n nameOrAddressOrInstance?: string | ArchivistInstance,\n config?: ModuleFromNodeConfig,\n): [WeakRef<ArchivistInstance> | undefined, Error | undefined] => {\n const [module, error] = useWeakModuleFromNode(nameOrAddressOrInstance, config)\n const instance = module?.deref()\n const archivist = asArchivistInstance(instance)\n if (instance && !archivist) {\n const error = new Error(`Resolved module is not a ArchivistInstance [${instance.config?.schema}:${instance.id}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [archivist ? new WeakRef(archivist) : undefined, error]\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((module) => {\n const instance = asArchivistInstance(module?.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"],"mappings":"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","names":["import_material","import_react_module","import_react_async_effect","import_react_flexbox","import_react","import_material","import_jsx_runtime","ArrowRightRoundedIcon","import_material","import_react_flexbox","import_jsx_runtime","import_react","import_jsx_runtime","archivist","all","import_jsx_runtime","module","import_react_module","import_react","import_jsx_runtime","ArchivistStats","module","import_jsx_runtime","module","import_material","import_react_async_effect","import_react_flexbox","import_archivist_model","import_react","import_archivist_model","module","error","import_archivist_model","import_react_node","module","import_archivist_model","import_react_node","module","error","import_archivist_model","import_react_node","module","import_react_module","import_react","error","import_react_promise","import_react_module","import_jsx_runtime","payloads"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/components/Card/Card.tsx","../../src/components/Card/CardContent.tsx","../../src/components/Card/components/ArchivistParent.tsx","../../src/components/Card/components/ArchivistParents.tsx","../../src/components/Card/components/Stats/ArchivistStats.tsx","../../src/components/Card/components/Stats/MemoryArchivistStats.tsx","../../src/components/Card/CardHeader.tsx","../../src/components/Details/Details.tsx","../../src/hooks/node/useArchivistFromNode.tsx","../../src/hooks/node/useArchivistsFromNode.tsx","../../src/hooks/node/useWeakArchivistFromNode.tsx","../../src/hooks/node/useWeakArchivistsFromNode.tsx","../../src/hooks/queries/useArchivistAll.tsx","../../src/hooks/queries/useArchivistGet.tsx"],"sourcesContent":["export * from './components'\nexport * from './hooks'\n","import { Card, CardProps } from '@mui/material'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleCardActions, ModuleRenderProps } from '@xyo-network/react-module'\n\nimport { ArchivistCardContent } from './CardContent'\nimport { ArchivistCardHeader } from './CardHeader'\n\nexport const ArchivistCard: React.FC<CardProps & ModuleRenderProps<ArchivistInstance>> = ({ children, module, ...props }) => {\n return (\n <Card {...props}>\n <ArchivistCardHeader module={module} />\n <ArchivistCardContent module={module} />\n {children}\n <ModuleCardActions module={module} />\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, module, ...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 && module) {\n const wrapper = ModuleWrapper.wrap(module, 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 [module, wallet],\n )\n\n return (\n <ModuleCardContent module={module} {...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, module, ...props }) => {\n const Stats = useMemo(() => ArchivistStats(module), [module])\n return <ModuleCardHeader module={module} title={title ?? module?.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 { useArchivistFromNode } 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] = useArchivistFromNode(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 if (archivist) {\n const [commitBW] = await (await testQueryCommitBoundWitnessBuilder).build()\n const [clearBW] = await (await testQueryClearBoundWitnessBuilder).build()\n setQueryableCommit(await archivist?.queryable(commitBW, [testQueryCommit]))\n setQueryableClear(await archivist?.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?.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?.commit?.()}>\n Commit\n </ButtonEx>\n <ButtonEx disabled={!archivist || !queryableClear} onClick={() => archivist?.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 [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asArchivistInstance(module)\n if (module && !instance) {\n const error = new Error(`Resolved module is not a ArchivistInstance [${module.config?.schema}:${module.config?.name}:${module.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, module) => {\n if (isArchivistInstance(module)) {\n prev.push(module)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { ArchivistInstance, isArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleFromNodeConfig, useWeakModuleFromNode } from '@xyo-network/react-node'\n\nexport const useWeakArchivistFromNode = (\n nameOrAddressOrInstance?: string | ArchivistInstance,\n config?: ModuleFromNodeConfig,\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((module) => {\n const instance = asArchivistInstance(module?.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"],"mappings":"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","names":["import_material","import_react_module","import_react_async_effect","import_react_flexbox","import_react","import_material","import_jsx_runtime","ArrowRightRoundedIcon","import_material","import_react_flexbox","import_jsx_runtime","import_react","import_jsx_runtime","archivist","all","import_jsx_runtime","module","import_react_module","import_react","import_jsx_runtime","ArchivistStats","module","import_jsx_runtime","module","import_material","import_react_async_effect","import_react_flexbox","import_archivist_model","import_react","import_archivist_model","module","error","import_archivist_model","import_react_node","module","import_archivist_model","import_react_node","import_archivist_model","import_react_node","module","import_react_module","import_react","error","import_react_promise","import_react_module","import_jsx_runtime","payloads"]}
@@ -229,23 +229,15 @@ var useArchivistsFromNode = (filter, config) => {
229
229
  };
230
230
 
231
231
  // src/hooks/node/useWeakArchivistFromNode.tsx
232
- import { asArchivistInstance as asArchivistInstance2 } from "@xyo-network/archivist-model";
232
+ import { isArchivistInstance as isArchivistInstance2 } from "@xyo-network/archivist-model";
233
233
  import { useWeakModuleFromNode } from "@xyo-network/react-node";
234
234
  var useWeakArchivistFromNode = (nameOrAddressOrInstance, config) => {
235
- const [module, error] = useWeakModuleFromNode(nameOrAddressOrInstance, config);
236
- const instance = module?.deref();
237
- const archivist = asArchivistInstance2(instance);
238
- if (instance && !archivist) {
239
- const error2 = new Error(`Resolved module is not a ArchivistInstance [${instance.config?.schema}:${instance.id}]`);
240
- console.error(error2.message);
241
- return [void 0, error2];
242
- }
243
- return [archivist ? new WeakRef(archivist) : void 0, error];
235
+ return useWeakModuleFromNode(nameOrAddressOrInstance, { identity: isArchivistInstance2, ...config });
244
236
  };
245
237
 
246
238
  // src/hooks/node/useWeakArchivistsFromNode.tsx
247
239
  import { exists } from "@xylabs/exists";
248
- import { asArchivistInstance as asArchivistInstance3 } from "@xyo-network/archivist-model";
240
+ import { asArchivistInstance as asArchivistInstance2 } from "@xyo-network/archivist-model";
249
241
  import { useWeakModulesFromNode } from "@xyo-network/react-node";
250
242
  var useWeakArchivistsFromNode = (filter, config) => {
251
243
  const [modules, error] = useWeakModulesFromNode(filter, config);
@@ -254,7 +246,7 @@ var useWeakArchivistsFromNode = (filter, config) => {
254
246
  }
255
247
  return [
256
248
  modules?.map((module) => {
257
- const instance = asArchivistInstance3(module?.deref());
249
+ const instance = asArchivistInstance2(module?.deref());
258
250
  if (instance) {
259
251
  return new WeakRef(instance);
260
252
  }
@@ -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"],"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, module, ...props }) => {\n return (\n <Card {...props}>\n <ArchivistCardHeader module={module} />\n <ArchivistCardContent module={module} />\n {children}\n <ModuleCardActions module={module} />\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, module, ...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 && module) {\n const wrapper = ModuleWrapper.wrap(module, 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 [module, wallet],\n )\n\n return (\n <ModuleCardContent module={module} {...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, module, ...props }) => {\n const Stats = useMemo(() => ArchivistStats(module), [module])\n return <ModuleCardHeader module={module} title={title ?? module?.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 { useArchivistFromNode } 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] = useArchivistFromNode(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 if (archivist) {\n const [commitBW] = await (await testQueryCommitBoundWitnessBuilder).build()\n const [clearBW] = await (await testQueryClearBoundWitnessBuilder).build()\n setQueryableCommit(await archivist?.queryable(commitBW, [testQueryCommit]))\n setQueryableClear(await archivist?.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?.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?.commit?.()}>\n Commit\n </ButtonEx>\n <ButtonEx disabled={!archivist || !queryableClear} onClick={() => archivist?.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 [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asArchivistInstance(module)\n if (module && !instance) {\n const error = new Error(`Resolved module is not a ArchivistInstance [${module.config?.schema}:${module.config?.name}:${module.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, module) => {\n if (isArchivistInstance(module)) {\n prev.push(module)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { ArchivistInstance, asArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleFromNodeConfig, useWeakModuleFromNode } from '@xyo-network/react-node'\n\nexport const useWeakArchivistFromNode = (\n nameOrAddressOrInstance?: string | ArchivistInstance,\n config?: ModuleFromNodeConfig,\n): [WeakRef<ArchivistInstance> | undefined, Error | undefined] => {\n const [module, error] = useWeakModuleFromNode(nameOrAddressOrInstance, config)\n const instance = module?.deref()\n const archivist = asArchivistInstance(instance)\n if (instance && !archivist) {\n const error = new Error(`Resolved module is not a ArchivistInstance [${instance.config?.schema}:${instance.id}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [archivist ? new WeakRef(archivist) : undefined, error]\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((module) => {\n const instance = asArchivistInstance(module?.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"],"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","asArchivistInstance","error","asArchivistInstance","useState","error","usePromise","useRefresh","jsx","jsxs","useState","useAsyncEffect","payloads","FlexCol","Typography"]}
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"],"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, module, ...props }) => {\n return (\n <Card {...props}>\n <ArchivistCardHeader module={module} />\n <ArchivistCardContent module={module} />\n {children}\n <ModuleCardActions module={module} />\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, module, ...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 && module) {\n const wrapper = ModuleWrapper.wrap(module, 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 [module, wallet],\n )\n\n return (\n <ModuleCardContent module={module} {...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, module, ...props }) => {\n const Stats = useMemo(() => ArchivistStats(module), [module])\n return <ModuleCardHeader module={module} title={title ?? module?.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 { useArchivistFromNode } 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] = useArchivistFromNode(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 if (archivist) {\n const [commitBW] = await (await testQueryCommitBoundWitnessBuilder).build()\n const [clearBW] = await (await testQueryClearBoundWitnessBuilder).build()\n setQueryableCommit(await archivist?.queryable(commitBW, [testQueryCommit]))\n setQueryableClear(await archivist?.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?.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?.commit?.()}>\n Commit\n </ButtonEx>\n <ButtonEx disabled={!archivist || !queryableClear} onClick={() => archivist?.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 [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asArchivistInstance(module)\n if (module && !instance) {\n const error = new Error(`Resolved module is not a ArchivistInstance [${module.config?.schema}:${module.config?.name}:${module.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, module) => {\n if (isArchivistInstance(module)) {\n prev.push(module)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { ArchivistInstance, isArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleFromNodeConfig, useWeakModuleFromNode } from '@xyo-network/react-node'\n\nexport const useWeakArchivistFromNode = (\n nameOrAddressOrInstance?: string | ArchivistInstance,\n config?: ModuleFromNodeConfig,\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((module) => {\n const instance = asArchivistInstance(module?.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"],"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","jsx","jsxs","useState","useAsyncEffect","payloads","FlexCol","Typography"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useWeakArchivistFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakArchivistFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAuB,MAAM,8BAA8B,CAAA;AACrF,OAAO,EAAE,oBAAoB,EAAyB,MAAM,yBAAyB,CAAA;AAErF,eAAO,MAAM,wBAAwB,6BACT,MAAM,GAAG,iBAAiB,WAC3C,oBAAoB,KAC5B,CAAC,QAAQ,iBAAiB,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAU5D,CAAA"}
1
+ {"version":3,"file":"useWeakArchivistFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakArchivistFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAuB,MAAM,8BAA8B,CAAA;AACrF,OAAO,EAAE,oBAAoB,EAAyB,MAAM,yBAAyB,CAAA;AAErF,eAAO,MAAM,wBAAwB,6BACT,MAAM,GAAG,iBAAiB,WAC3C,oBAAoB,KAC5B,CAAC,QAAQ,iBAAiB,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAE5D,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWeakArchivistFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakArchivistFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAuB,MAAM,8BAA8B,CAAA;AACrF,OAAO,EAAE,oBAAoB,EAAyB,MAAM,yBAAyB,CAAA;AAErF,eAAO,MAAM,wBAAwB,6BACT,MAAM,GAAG,iBAAiB,WAC3C,oBAAoB,KAC5B,CAAC,QAAQ,iBAAiB,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAU5D,CAAA"}
1
+ {"version":3,"file":"useWeakArchivistFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakArchivistFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAuB,MAAM,8BAA8B,CAAA;AACrF,OAAO,EAAE,oBAAoB,EAAyB,MAAM,yBAAyB,CAAA;AAErF,eAAO,MAAM,wBAAwB,6BACT,MAAM,GAAG,iBAAiB,WAC3C,oBAAoB,KAC5B,CAAC,QAAQ,iBAAiB,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAE5D,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWeakArchivistFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakArchivistFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAuB,MAAM,8BAA8B,CAAA;AACrF,OAAO,EAAE,oBAAoB,EAAyB,MAAM,yBAAyB,CAAA;AAErF,eAAO,MAAM,wBAAwB,6BACT,MAAM,GAAG,iBAAiB,WAC3C,oBAAoB,KAC5B,CAAC,QAAQ,iBAAiB,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAU5D,CAAA"}
1
+ {"version":3,"file":"useWeakArchivistFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakArchivistFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAuB,MAAM,8BAA8B,CAAA;AACrF,OAAO,EAAE,oBAAoB,EAAyB,MAAM,yBAAyB,CAAA;AAErF,eAAO,MAAM,wBAAwB,6BACT,MAAM,GAAG,iBAAiB,WAC3C,oBAAoB,KAC5B,CAAC,QAAQ,iBAAiB,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAE5D,CAAA"}
@@ -269,16 +269,7 @@ var useArchivistsFromNode = (filter, config) => {
269
269
  var import_archivist_model4 = require("@xyo-network/archivist-model");
270
270
  var import_react_node3 = require("@xyo-network/react-node");
271
271
  var useWeakArchivistFromNode = (nameOrAddressOrInstance, config) => {
272
- var _a;
273
- const [module2, error] = (0, import_react_node3.useWeakModuleFromNode)(nameOrAddressOrInstance, config);
274
- const instance = module2 == null ? void 0 : module2.deref();
275
- const archivist = (0, import_archivist_model4.asArchivistInstance)(instance);
276
- if (instance && !archivist) {
277
- const error2 = new Error(`Resolved module is not a ArchivistInstance [${(_a = instance.config) == null ? void 0 : _a.schema}:${instance.id}]`);
278
- console.error(error2.message);
279
- return [void 0, error2];
280
- }
281
- return [archivist ? new WeakRef(archivist) : void 0, error];
272
+ return (0, import_react_node3.useWeakModuleFromNode)(nameOrAddressOrInstance, { identity: import_archivist_model4.isArchivistInstance, ...config });
282
273
  };
283
274
 
284
275
  // src/hooks/node/useWeakArchivistsFromNode.tsx
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/components/Card/Card.tsx","../../src/components/Card/CardContent.tsx","../../src/components/Card/components/ArchivistParent.tsx","../../src/components/Card/components/ArchivistParents.tsx","../../src/components/Card/components/Stats/ArchivistStats.tsx","../../src/components/Card/components/Stats/MemoryArchivistStats.tsx","../../src/components/Card/CardHeader.tsx","../../src/components/Details/Details.tsx","../../src/hooks/node/useArchivistFromNode.tsx","../../src/hooks/node/useArchivistsFromNode.tsx","../../src/hooks/node/useWeakArchivistFromNode.tsx","../../src/hooks/node/useWeakArchivistsFromNode.tsx","../../src/hooks/queries/useArchivistAll.tsx","../../src/hooks/queries/useArchivistGet.tsx"],"sourcesContent":["export * from './components'\nexport * from './hooks'\n","import { Card, CardProps } from '@mui/material'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleCardActions, ModuleRenderProps } from '@xyo-network/react-module'\n\nimport { ArchivistCardContent } from './CardContent'\nimport { ArchivistCardHeader } from './CardHeader'\n\nexport const ArchivistCard: React.FC<CardProps & ModuleRenderProps<ArchivistInstance>> = ({ children, module, ...props }) => {\n return (\n <Card {...props}>\n <ArchivistCardHeader module={module} />\n <ArchivistCardContent module={module} />\n {children}\n <ModuleCardActions module={module} />\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, module, ...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 && module) {\n const wrapper = ModuleWrapper.wrap(module, 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 [module, wallet],\n )\n\n return (\n <ModuleCardContent module={module} {...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, module, ...props }) => {\n const Stats = useMemo(() => ArchivistStats(module), [module])\n return <ModuleCardHeader module={module} title={title ?? module?.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 { useArchivistFromNode } 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] = useArchivistFromNode(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 if (archivist) {\n const [commitBW] = await (await testQueryCommitBoundWitnessBuilder).build()\n const [clearBW] = await (await testQueryClearBoundWitnessBuilder).build()\n setQueryableCommit(await archivist?.queryable(commitBW, [testQueryCommit]))\n setQueryableClear(await archivist?.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?.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?.commit?.()}>\n Commit\n </ButtonEx>\n <ButtonEx disabled={!archivist || !queryableClear} onClick={() => archivist?.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 [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asArchivistInstance(module)\n if (module && !instance) {\n const error = new Error(`Resolved module is not a ArchivistInstance [${module.config?.schema}:${module.config?.name}:${module.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, module) => {\n if (isArchivistInstance(module)) {\n prev.push(module)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { ArchivistInstance, asArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleFromNodeConfig, useWeakModuleFromNode } from '@xyo-network/react-node'\n\nexport const useWeakArchivistFromNode = (\n nameOrAddressOrInstance?: string | ArchivistInstance,\n config?: ModuleFromNodeConfig,\n): [WeakRef<ArchivistInstance> | undefined, Error | undefined] => {\n const [module, error] = useWeakModuleFromNode(nameOrAddressOrInstance, config)\n const instance = module?.deref()\n const archivist = asArchivistInstance(instance)\n if (instance && !archivist) {\n const error = new Error(`Resolved module is not a ArchivistInstance [${instance.config?.schema}:${instance.id}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [archivist ? new WeakRef(archivist) : undefined, error]\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((module) => {\n const instance = asArchivistInstance(module?.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"],"mappings":"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","names":["import_material","import_react_module","import_react_async_effect","import_react_flexbox","import_react","import_material","import_jsx_runtime","ArrowRightRoundedIcon","import_material","import_react_flexbox","import_jsx_runtime","import_react","import_jsx_runtime","archivist","all","import_jsx_runtime","module","import_react_module","import_react","import_jsx_runtime","ArchivistStats","module","import_jsx_runtime","module","import_material","import_react_async_effect","import_react_flexbox","import_archivist_model","import_react","import_archivist_model","module","error","import_archivist_model","import_react_node","module","import_archivist_model","import_react_node","module","error","import_archivist_model","import_react_node","module","import_react_module","import_react","error","import_react_promise","import_react_module","import_jsx_runtime","payloads"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/components/Card/Card.tsx","../../src/components/Card/CardContent.tsx","../../src/components/Card/components/ArchivistParent.tsx","../../src/components/Card/components/ArchivistParents.tsx","../../src/components/Card/components/Stats/ArchivistStats.tsx","../../src/components/Card/components/Stats/MemoryArchivistStats.tsx","../../src/components/Card/CardHeader.tsx","../../src/components/Details/Details.tsx","../../src/hooks/node/useArchivistFromNode.tsx","../../src/hooks/node/useArchivistsFromNode.tsx","../../src/hooks/node/useWeakArchivistFromNode.tsx","../../src/hooks/node/useWeakArchivistsFromNode.tsx","../../src/hooks/queries/useArchivistAll.tsx","../../src/hooks/queries/useArchivistGet.tsx"],"sourcesContent":["export * from './components'\nexport * from './hooks'\n","import { Card, CardProps } from '@mui/material'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleCardActions, ModuleRenderProps } from '@xyo-network/react-module'\n\nimport { ArchivistCardContent } from './CardContent'\nimport { ArchivistCardHeader } from './CardHeader'\n\nexport const ArchivistCard: React.FC<CardProps & ModuleRenderProps<ArchivistInstance>> = ({ children, module, ...props }) => {\n return (\n <Card {...props}>\n <ArchivistCardHeader module={module} />\n <ArchivistCardContent module={module} />\n {children}\n <ModuleCardActions module={module} />\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, module, ...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 && module) {\n const wrapper = ModuleWrapper.wrap(module, 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 [module, wallet],\n )\n\n return (\n <ModuleCardContent module={module} {...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, module, ...props }) => {\n const Stats = useMemo(() => ArchivistStats(module), [module])\n return <ModuleCardHeader module={module} title={title ?? module?.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 { useArchivistFromNode } 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] = useArchivistFromNode(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 if (archivist) {\n const [commitBW] = await (await testQueryCommitBoundWitnessBuilder).build()\n const [clearBW] = await (await testQueryClearBoundWitnessBuilder).build()\n setQueryableCommit(await archivist?.queryable(commitBW, [testQueryCommit]))\n setQueryableClear(await archivist?.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?.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?.commit?.()}>\n Commit\n </ButtonEx>\n <ButtonEx disabled={!archivist || !queryableClear} onClick={() => archivist?.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 [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asArchivistInstance(module)\n if (module && !instance) {\n const error = new Error(`Resolved module is not a ArchivistInstance [${module.config?.schema}:${module.config?.name}:${module.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, module) => {\n if (isArchivistInstance(module)) {\n prev.push(module)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { ArchivistInstance, isArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleFromNodeConfig, useWeakModuleFromNode } from '@xyo-network/react-node'\n\nexport const useWeakArchivistFromNode = (\n nameOrAddressOrInstance?: string | ArchivistInstance,\n config?: ModuleFromNodeConfig,\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((module) => {\n const instance = asArchivistInstance(module?.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"],"mappings":"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","names":["import_material","import_react_module","import_react_async_effect","import_react_flexbox","import_react","import_material","import_jsx_runtime","ArrowRightRoundedIcon","import_material","import_react_flexbox","import_jsx_runtime","import_react","import_jsx_runtime","archivist","all","import_jsx_runtime","module","import_react_module","import_react","import_jsx_runtime","ArchivistStats","module","import_jsx_runtime","module","import_material","import_react_async_effect","import_react_flexbox","import_archivist_model","import_react","import_archivist_model","module","error","import_archivist_model","import_react_node","module","import_archivist_model","import_react_node","import_archivist_model","import_react_node","module","import_react_module","import_react","error","import_react_promise","import_react_module","import_jsx_runtime","payloads"]}
@@ -231,24 +231,15 @@ var useArchivistsFromNode = (filter, config) => {
231
231
  };
232
232
 
233
233
  // src/hooks/node/useWeakArchivistFromNode.tsx
234
- import { asArchivistInstance as asArchivistInstance2 } from "@xyo-network/archivist-model";
234
+ import { isArchivistInstance as isArchivistInstance2 } from "@xyo-network/archivist-model";
235
235
  import { useWeakModuleFromNode } from "@xyo-network/react-node";
236
236
  var useWeakArchivistFromNode = (nameOrAddressOrInstance, config) => {
237
- var _a;
238
- const [module, error] = useWeakModuleFromNode(nameOrAddressOrInstance, config);
239
- const instance = module == null ? void 0 : module.deref();
240
- const archivist = asArchivistInstance2(instance);
241
- if (instance && !archivist) {
242
- const error2 = new Error(`Resolved module is not a ArchivistInstance [${(_a = instance.config) == null ? void 0 : _a.schema}:${instance.id}]`);
243
- console.error(error2.message);
244
- return [void 0, error2];
245
- }
246
- return [archivist ? new WeakRef(archivist) : void 0, error];
237
+ return useWeakModuleFromNode(nameOrAddressOrInstance, { identity: isArchivistInstance2, ...config });
247
238
  };
248
239
 
249
240
  // src/hooks/node/useWeakArchivistsFromNode.tsx
250
241
  import { exists } from "@xylabs/exists";
251
- import { asArchivistInstance as asArchivistInstance3 } from "@xyo-network/archivist-model";
242
+ import { asArchivistInstance as asArchivistInstance2 } from "@xyo-network/archivist-model";
252
243
  import { useWeakModulesFromNode } from "@xyo-network/react-node";
253
244
  var useWeakArchivistsFromNode = (filter, config) => {
254
245
  const [modules, error] = useWeakModulesFromNode(filter, config);
@@ -257,7 +248,7 @@ var useWeakArchivistsFromNode = (filter, config) => {
257
248
  }
258
249
  return [
259
250
  (modules == null ? void 0 : modules.map((module) => {
260
- const instance = asArchivistInstance3(module == null ? void 0 : module.deref());
251
+ const instance = asArchivistInstance2(module == null ? void 0 : module.deref());
261
252
  if (instance) {
262
253
  return new WeakRef(instance);
263
254
  }
@@ -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"],"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, module, ...props }) => {\n return (\n <Card {...props}>\n <ArchivistCardHeader module={module} />\n <ArchivistCardContent module={module} />\n {children}\n <ModuleCardActions module={module} />\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, module, ...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 && module) {\n const wrapper = ModuleWrapper.wrap(module, 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 [module, wallet],\n )\n\n return (\n <ModuleCardContent module={module} {...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, module, ...props }) => {\n const Stats = useMemo(() => ArchivistStats(module), [module])\n return <ModuleCardHeader module={module} title={title ?? module?.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 { useArchivistFromNode } 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] = useArchivistFromNode(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 if (archivist) {\n const [commitBW] = await (await testQueryCommitBoundWitnessBuilder).build()\n const [clearBW] = await (await testQueryClearBoundWitnessBuilder).build()\n setQueryableCommit(await archivist?.queryable(commitBW, [testQueryCommit]))\n setQueryableClear(await archivist?.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?.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?.commit?.()}>\n Commit\n </ButtonEx>\n <ButtonEx disabled={!archivist || !queryableClear} onClick={() => archivist?.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 [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asArchivistInstance(module)\n if (module && !instance) {\n const error = new Error(`Resolved module is not a ArchivistInstance [${module.config?.schema}:${module.config?.name}:${module.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, module) => {\n if (isArchivistInstance(module)) {\n prev.push(module)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { ArchivistInstance, asArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleFromNodeConfig, useWeakModuleFromNode } from '@xyo-network/react-node'\n\nexport const useWeakArchivistFromNode = (\n nameOrAddressOrInstance?: string | ArchivistInstance,\n config?: ModuleFromNodeConfig,\n): [WeakRef<ArchivistInstance> | undefined, Error | undefined] => {\n const [module, error] = useWeakModuleFromNode(nameOrAddressOrInstance, config)\n const instance = module?.deref()\n const archivist = asArchivistInstance(instance)\n if (instance && !archivist) {\n const error = new Error(`Resolved module is not a ArchivistInstance [${instance.config?.schema}:${instance.id}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [archivist ? new WeakRef(archivist) : undefined, error]\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((module) => {\n const instance = asArchivistInstance(module?.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"],"mappings":";AAAA,SAAS,YAAuB;AAEhC,SAAS,yBAA4C;;;ACDrD,SAAS,kBAAAA,uBAAsB;AAC/B,SAAS,mBAAmB;AAE5B,SAAS,qBAAqB;AAC9B,SAAS,yBAA4C;AACrD,SAAS,iBAAiB;AAC1B,SAAgB,YAAAC,iBAAgB;;;ACPhC,SAAS,UAAU,kBAAkB;AAQnC,mBAMU,KAFF,YAJR;AADK,IAAM,kBAAgD,CAAC,EAAE,eAAe,iBAAiB,MAC9F,gCACG,+DAAkB,IAAI,CAAC,YAAY;AAClC,SACE,oBAAC,YACC,+BAAC,cAAW,SAAQ,aACjB;AAAA;AAAA,IAAc;AAAA,IAAE;AAAA,IACjB,oBAAC,cAAW,SAAS,WAAW,IAAI,EAAE,IAAI,IAAI,GAC3C,mBACH;AAAA,KACF,KANa,OAOf;AAEJ,IACF;;;ACrBF,SAAS,qBAAqB,6BAA6B;AAC3D,SAAS,UAAU,YAAY,MAAM,OAAO,cAAAC,mBAAkB;AAC9D,SAAuB,eAAe;AAEtC,SAAS,gBAAgB;AAcrB,qBAAAC,WAIQ,OAAAC,MADF,QAAAC,aAHN;AANG,IAAM,mBAAoD,CAAC,EAAE,QAAQ,GAAG,MAAM,MAAM;AACzF,QAAM,CAAC,yBAAyB,0BAA0B,IAAI,SAAS,KAAK;AAE5E,QAAM,EAAE,QAAQ,MAAM,MAAM,KAAI,iCAAQ,YAAW,CAAC;AAEpD,SACE,gBAAAD,KAAAD,WAAA,EACG,oBAAU,QAAQ,QACjB,gBAAAE,MAAC,WAAQ,YAAW,SAAS,GAAG,OAC9B;AAAA,oBAAAA,MAAC,UAAK,SAAS,MAAM,2BAA2B,CAAC,uBAAuB,GACtE;AAAA,sBAAAD,KAACE,aAAA,EAAW,SAAQ,aAAY,IAAI,EAAE,QAAQ,WAAW,SAAS,eAAe,GAAG,qBAEpF;AAAA,MACA,gBAAAF,KAAC,cAAW,MAAK,SACf,0BAAAA,KAAC,yBAAsB,IAAI,EAAE,QAAQ,0BAA0B,UAAU,QAAQ,YAAY,WAAW,GAAG,GAC7G;AAAA,OACF;AAAA,IACA,gBAAAA,KAAC,YAAS,IAAI,yBACZ,0BAAAA,KAAC,SAAM,WAAW,GAChB,0BAAAC,MAAC,QACC;AAAA,sBAAAD,KAAC,mBAAgB,eAAc,UAAS,kBAAkB,QAAQ;AAAA,MAClE,gBAAAA,KAAC,mBAAgB,eAAc,QAAO,kBAAkB,MAAM;AAAA,MAC9D,gBAAAA,KAAC,mBAAgB,eAAc,SAAQ,kBAAkB,OAAO;AAAA,OAClE,GACF,GACF;AAAA,KACF,IACA,MACJ;AAEJ;;;AC1CA,SAAS,OAAO,eAAe;AAC/B,SAAS,eAAe;AAGxB,SAAS,yBAAyB;AAElC,SAAS,iBAAiB,iBAAiB,0BAA0B;AAWjE,SAIQ,OAAAG,MAJR,QAAAC,aAAA;AAFG,IAAM,iBAAgD,CAAC,EAAE,YAAY,CAAC,GAAG,gBAAgB,UAAU,UAAU,CAAC,EAAE,MAAM;AAC3H,SACE,gBAAAA,MAAC,WAAQ,KAAK,GAAG,IAAI,KAClB;AAAA,0CAAU,UACT,gBAAAD,KAAC,WAAQ,OAAM,YACb,0BAAAA,KAAC,SAAM,cAAc,qCAAU,QAAQ,OAAM,WAC3C,0BAAAA,KAAC,sBAAmB,MAAM,IAAI,GAChC,GACF,IACA;AAAA,KACD,iDAAgB,UACf,gBAAAA,KAAC,WAAQ,OAAM,UACb,0BAAAA,KAAC,SAAM,cAAc,iDAAgB,QAAQ,OAAM,WACjD,0BAAAA,KAAC,mBAAgB,MAAM,IAAI,GAC7B,GACF,IACA;AAAA,IACD,OAAO,QAAQ,OAAO,EAAE,SAAS,IAChC,gBAAAA,KAAC,WAAQ,OAAM,WACb,0BAAAA,KAAC,SAAM,cAAc,OAAO,QAAQ,OAAO,EAAE,QAAQ,OAAM,WACzD,0BAAAA,KAAC,qBAAkB,MAAM,IAAI,GAC/B,GACF,IACA;AAAA,IACD,OAAO,QAAQ,SAAS,EAAE,SAAS,IAClC,gBAAAA,KAAC,WAAQ,OAAM,aACb,0BAAAA,KAAC,SAAM,cAAc,OAAO,QAAQ,SAAS,EAAE,QAAQ,OAAM,WAC3D,0BAAAA,KAAC,mBAAgB,MAAM,IAAI,GAC7B,GACF,IACA;AAAA,KACJ;AAEJ;;;AChDA,SAAS,sBAAsB;AAC/B,SAAS,+BAAkD;AAC3D,SAAS,gBAAgB,0BAA0B;AAGnD,SAAS,aAAa,WAAW,SAAS,YAAAE,iBAAgB;AA6EjD,gBAAAC,YAAA;AArEF,IAAM,wBAA6D,CAAC,EAAE,UAAU,MAAM;AAC3F,QAAM,CAAC,KAAK,MAAM,IAAIC,UAA2B;AAEjD,QAAM,SAAS,YAAY,OAAOC,eAAkC;AAhBtE;AAiBI,UAAMC,OAAM,QAAM,KAAAD,cAAA,gBAAAA,WAAW,QAAX,wBAAAA;AAClB,WAAOC,IAAG;AAAA,EACZ,GAAG,CAAC,CAAC;AAEL,YAAU,MAAM;AACd,UAAM,YAAwC,CAAC;AAE/C,QAAI,uCAAW,QAAQ,SAAS,0BAA0B;AACxD,YAAM,iBAAiB,UAAU,GAAG,YAAY,YAAY;AAC1D,cAAM,OAAO,SAAS;AAAA,MACxB,CAAC;AACD,gBAAU,KAAK,cAAc;AAE7B,YAAM,gBAAgB,UAAU,GAAG,WAAW,YAAY;AACxD,cAAM,OAAO,SAAS;AAAA,MACxB,CAAC;AACD,gBAAU,KAAK,aAAa;AAAA,IAC9B;AAEA,WAAO,MAAM;AACX,iBAAW,YAAY;AAAW;AAAA,IACpC;AAAA,EACF,GAAG,CAAC,WAAW,MAAM,CAAC;AAEtB;AAAA;AAAA,IAEE,YAAY;AACV,UAAI,uCAAW,QAAQ,SAAS,0BAA0B;AACxD,cAAM,OAAO,SAAS;AAAA,MACxB,OAAO;AACL,eAAO,IAAI;AAAA,MACb;AAAA,IACF;AAAA,IACA,CAAC,WAAW,MAAM;AAAA,EACpB;AAEA,QAAM,WAAW,QAAQ,MAAO,QAAQ,OAAO,CAAC,IAAI,2BAAK,OAAO,CAAC,YAAY,QAAQ,WAAW,qBAAsB,CAAC,GAAG,CAAC;AAC3H,QAAM,iBAAiB,QAAQ,MAAO,QAAQ,OAAO,CAAC,IAAI,2BAAK,OAAO,CAAC,YAAY,QAAQ,WAAW,qBAAsB,CAAC,GAAG,CAAC;AACjI,QAAM,YAAY;AAAA,IAChB,OACE,2BAAK;AAAA,MACH,CAAC,MAAM,YAAY;AACjB,cAAM,IAAI,eAAe,OAAO;AAChC,YAAI,uBAAG;AACL,qBAAW,YAAW,uBAAG,cAAa,CAAC,GAAG;AACxC,iBAAK,OAAO,KAAK,KAAK,OAAO,KAAK,KAAK;AAAA,UACzC;AACF,eAAO;AAAA,MACT;AAAA,MACA,CAAC;AAAA,UACE,CAAC;AAAA,IACR,CAAC,GAAG;AAAA,EACN;AACA,QAAM,UAAU;AAAA,IACd,OACE,2BAAK;AAAA,MACH,CAAC,MAAM,YAAY;AACjB,aAAK,QAAQ,MAAM,KAAK,KAAK,QAAQ,MAAM,KAAK,KAAK;AACrD,eAAO;AAAA,MACT;AAAA,MACA,CAAC;AAAA,UACE,CAAC;AAAA,IACR,CAAC,GAAG;AAAA,EACN;AAEA,SAAO,gBAAAH,KAAC,kBAAe,WAAsB,gBAAgC,UAAoB,SAAkB;AACrH;;;AJlDM,SAEE,OAAAI,MAFF,QAAAC,aAAA;AAtBC,IAAM,uBAA0F,CAAC,EAAE,UAAU,QAAQ,GAAG,MAAM,MAAM;AACzI,QAAM,CAAC,QAAQ,SAAS,IAAIC,UAA0B;AACtD,QAAM,CAAC,MAAM,IAAI,UAAU;AAE3B,EAAAC;AAAA;AAAA,IAEE,OAAO,YAAY;AACjB,UAAI,UAAU,QAAQ;AACpB,cAAM,UAAU,cAAc,KAAK,QAAQ,MAAM;AACjD,cAAM,WAAW,OAAM,mCAAS;AAChC,YAAI,QAAQ,GAAG;AACb,oBAAU,qCAAW,EAAqB;AAAA,QAC5C;AAAA,MACF,OAAO;AACL,kBAAU,MAAS;AAAA,MACrB;AAAA,IACF;AAAA,IACA,CAAC,QAAQ,MAAM;AAAA,EACjB;AAEA,SACE,gBAAAH,KAAC,qBAAkB,QAAiB,GAAG,OACrC,0BAAAC,MAAC,eAAY,UAAS,QAAO,gBAAe,SAAQ,KAAK,GACtD;AAAA;AAAA,IACD,gBAAAD,KAAC,oBAAiB,QAAgB;AAAA,KACpC,GACF;AAEJ;;;AKtCA,SAAS,mCAAmC;AAE5C,SAAS,wBAA2C;AACpD,SAAS,WAAAI,gBAAe;AAOX,SAGA,YAAAC,WAHA,OAAAC,YAAA;AAHb,IAAMC,kBAAiB,CAAC,cAAkC;AACxD,UAAQ,uCAAW,OAAO,QAAQ;AAAA,IAChC,KAAK,6BAA6B;AAChC,aAAO,gBAAAD,KAAC,yBAAsB,WAAsB;AAAA,IACtD;AAAA,IACA,SAAS;AACP,aAAO,gBAAAA,KAAAD,WAAA,EAAE;AAAA,IACX;AAAA,EACF;AACF;AAEO,IAAM,sBAAwF,CAAC,EAAE,OAAO,QAAQ,GAAG,MAAM,MAAM;AACpI,QAAM,QAAQG,SAAQ,MAAMD,gBAAe,MAAM,GAAG,CAAC,MAAM,CAAC;AAC5D,SAAO,gBAAAD,KAAC,oBAAiB,QAAgB,OAAO,UAAS,iCAAQ,OAAO,SAAQ,aAAa,QAAQ,OAAQ,GAAG,OAAO;AACzH;;;ANbI,SACE,OAAAG,MADF,QAAAC,aAAA;AAFG,IAAM,gBAA4E,CAAC,EAAE,UAAU,QAAQ,GAAG,MAAM,MAAM;AAC3H,SACE,gBAAAA,MAAC,QAAM,GAAG,OACR;AAAA,oBAAAD,KAAC,uBAAoB,QAAgB;AAAA,IACrC,gBAAAA,KAAC,wBAAqB,QAAgB;AAAA,IACrC;AAAA,IACD,gBAAAA,KAAC,qBAAkB,QAAgB;AAAA,KACrC;AAEJ;;;AOhBA,SAAS,aAAa,cAAAE,mBAAkB;AACxC,SAAS,kBAAAC,uBAAsB;AAC/B,SAAS,gBAAgB;AACzB,SAAuB,WAAAC,gBAAe;AACtC,SAAS,2BAA2B,kCAAkC;AACtE,SAAS,gCAAgC;AAEzC,SAAS,YAAAC,iBAAgB;;;ACLzB,SAA4B,2BAA2B;AACvD,SAA+B,yBAAyB;AAGjD,IAAM,uBAAuB,CAClC,yBACA,WACuD;AATzD;AAUE,QAAM,CAAC,QAAQ,KAAK,IAAI,kBAAkB,yBAAyB,MAAM;AACzE,QAAM,WAAW,oBAAoB,MAAM;AAC3C,MAAI,UAAU,CAAC,UAAU;AACvB,UAAMC,SAAQ,IAAI,MAAM,gDAA+C,YAAO,WAAP,mBAAe,MAAM,KAAI,YAAO,WAAP,mBAAe,IAAI,IAAI,OAAO,OAAO,GAAG;AACxI,YAAQ,MAAMA,OAAM,OAAO;AAC3B,WAAO,CAAC,QAAWA,MAAK;AAAA,EAC1B;AACA,SAAO,CAAC,UAAU,KAAK;AACzB;;;AChBA,SAA4B,2BAA2B;AAEvD,SAA+B,0BAA0B;AAGlD,IAAM,wBAAwB,CACnC,QACA,WACgE;AAChE,QAAM,CAAC,SAAS,KAAK,IAAI,mBAAmB,QAAQ,MAAM;AAC1D,MAAI,OAAO;AACT,WAAO,CAAC,MAAM,KAAK;AAAA,EACrB;AACA,SAAO,UACH;AAAA;AAAA,IAEE,QAAQ,OAA4B,CAAC,MAAM,WAAW;AACpD,UAAI,oBAAoB,MAAM,GAAG;AAC/B,aAAK,KAAK,MAAM;AAAA,MAClB;AACA,aAAO;AAAA,IACT,GAAG,CAAC,CAAC;AAAA,IACL;AAAA,EACF,IACA,CAAC,SAAS,KAAK;AACrB;;;AC3BA,SAA4B,uBAAAC,4BAA2B;AACvD,SAA+B,6BAA6B;AAErD,IAAM,2BAA2B,CACtC,yBACA,WACgE;AANlE;AAOE,QAAM,CAAC,QAAQ,KAAK,IAAI,sBAAsB,yBAAyB,MAAM;AAC7E,QAAM,WAAW,iCAAQ;AACzB,QAAM,YAAYA,qBAAoB,QAAQ;AAC9C,MAAI,YAAY,CAAC,WAAW;AAC1B,UAAMC,SAAQ,IAAI,MAAM,gDAA+C,cAAS,WAAT,mBAAiB,MAAM,IAAI,SAAS,EAAE,GAAG;AAChH,YAAQ,MAAMA,OAAM,OAAO;AAC3B,WAAO,CAAC,QAAWA,MAAK;AAAA,EAC1B;AACA,SAAO,CAAC,YAAY,IAAI,QAAQ,SAAS,IAAI,QAAW,KAAK;AAC/D;;;AChBA,SAAS,cAAc;AACvB,SAA4B,uBAAAC,4BAA2B;AAEvD,SAA+B,8BAA8B;AAEtD,IAAM,4BAA4B,CACvC,QACA,WACyE;AACzE,QAAM,CAAC,SAAS,KAAK,IAAI,uBAAuB,QAAQ,MAAM;AAC9D,MAAI,OAAO;AACT,WAAO,CAAC,MAAM,KAAK;AAAA,EACrB;AACA,SAAO;AAAA,KACL,mCACI,IAAI,CAAC,WAAW;AAChB,YAAM,WAAWA,qBAAoB,iCAAQ,OAAO;AACpD,UAAI,UAAU;AACZ,eAAO,IAAI,QAAQ,QAAQ;AAAA,MAC7B;AAAA,IACF,GACC,OAAO,YAAW,CAAC;AAAA,IACtB;AAAA,EACF;AACF;;;ACxBA,SAAS,kBAAkB;AAE3B,SAAS,kBAAkB;AAC3B,SAAS,YAAAC,iBAAgB;AAElB,IAAM,kBAAkB,CAAC,cAAiC;AAC/D,QAAM,CAAC,OAAO,QAAQ,IAAIA,UAAgB;AAC1C,QAAM,CAAC,SAAS,OAAO,IAAI,WAAW;AAEtC,QAAM,WAAW,WAAW,YAAY;AAT1C;AAUI,QAAI;AACF,UAAI,SAAS;AACX,eAAO,QAAM,4CAAW,QAAX;AAAA,MACf;AAAA,IACF,SAAS,IAAI;AACX,YAAMC,SAAQ;AACd,eAASA,MAAK;AAAA,IAChB;AAAA,EACF,GAAG,CAAC,WAAW,OAAO,CAAC;AAEvB,SAAO,CAAC,UAAU,OAAO,OAAO;AAClC;;;ACpBA,SAAS,cAAAC,mBAAkB;AAG3B,SAA0B,cAAAC,mBAAkB;AAErC,IAAM,kBAAkB,CAC7B,WACA,WAC0D;AAC1D,QAAM,CAAC,SAAS,OAAO,IAAIA,YAAW;AAEtC,QAAM,CAAC,UAAU,KAAK,IAAID,YAAW,YAAY;AAC/C,QAAI,WAAW,aAAa,QAAQ;AAClC,aAAQ,MAAM,UAAU,IAAI,MAAM;AAAA,IACpC;AAAA,EACF,GAAG,CAAC,WAAW,QAAQ,OAAO,CAAC;AAE/B,SAAO,CAAC,UAAU,OAAO,OAAO;AAClC;;;ANmCM,gBAAAE,MACA,QAAAC,aADA;AA3CN,IAAM,kBAAkB,EAAE,QAAQ,2BAA2B;AAC7D,IAAM,qCAAqC,IAAI,yBAAyB,EAAE,MAAM,eAAe;AAE/F,IAAM,iBAAiB,EAAE,QAAQ,0BAA0B;AAC3D,IAAM,oCAAoC,IAAI,yBAAyB,EAAE,MAAM,cAAc;AAMtF,IAAM,mBAA+C,CAAC,EAAE,SAAS,GAAG,MAAM,MAAM;AACrF,QAAM,CAAC,SAAS,IAAI,qBAAqB,OAAO;AAChD,QAAM,CAAC,UAAU,WAAW,IAAIC,UAAoB;AACpD,QAAM,CAAC,SAAS,UAAU,IAAIA,UAAS,CAAC;AACxC,QAAM,CAAC,iBAAiB,kBAAkB,IAAIA,UAAS,KAAK;AAC5D,QAAM,CAAC,gBAAgB,iBAAiB,IAAIA,UAAS,KAAK;AAE1D,EAAAC;AAAA;AAAA,IAEE,YAAY;AACV,UAAI,WAAW;AACb,cAAM,CAAC,QAAQ,IAAI,OAAO,MAAM,oCAAoC,MAAM;AAC1E,cAAM,CAAC,OAAO,IAAI,OAAO,MAAM,mCAAmC,MAAM;AACxE,2BAAmB,OAAM,uCAAW,UAAU,UAAU,CAAC,eAAe,GAAE;AAC1E,0BAAkB,OAAM,uCAAW,UAAU,SAAS,CAAC,cAAc,GAAE;AAAA,MACzE;AAAA,IACF;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AAEA,EAAAA;AAAA;AAAA,IAEE,OAAO,YAAY;AA3CvB;AA4CM,YAAMC,YAAW,QAAM,4CAAW,QAAX;AACvB,UAAI,QAAQ,GAAG;AACb,oBAAYA,SAAQ;AAAA,MACtB;AAAA,IACF;AAAA,IACA,CAAC,WAAW,OAAO;AAAA,EACrB;AAEA,SACE,gBAAAH,MAACI,UAAA,EAAS,GAAG,OACX;AAAA,oBAAAL,KAACM,aAAA,EAAY,uBAAa,WAAW,SAAS,SAAS,GAAG,IAAG;AAAA,IAC7D,gBAAAL,MAAC,eACC;AAAA,sBAAAD,KAAC,YAAS,WAAU,qCAAU,YAAW,KAAK,CAAC,aAAa,CAAC,iBAAiB,SAAS,MAAG;AAxDlG;AAwDqG,4DAAW,WAAX;AAAA,SAAuB,oBAEpH;AAAA,MACA,gBAAAA,KAAC,YAAS,UAAU,CAAC,aAAa,CAAC,gBAAgB,SAAS,MAAG;AA3DvE;AA2D0E,4DAAW,UAAX;AAAA,SAAsB,mBAExF;AAAA,MACA,gBAAAA;AAAA,QAAC;AAAA;AAAA,UACC,UAAU,CAAC;AAAA,UACX,SAAS,MAAM;AACb,uBAAW,UAAU,CAAC;AAAA,UACxB;AAAA,UACD;AAAA;AAAA,MAED;AAAA,OACF;AAAA,KACF;AAEJ;","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","asArchivistInstance","error","asArchivistInstance","useState","error","usePromise","useRefresh","jsx","jsxs","useState","useAsyncEffect","payloads","FlexCol","Typography"]}
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"],"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, module, ...props }) => {\n return (\n <Card {...props}>\n <ArchivistCardHeader module={module} />\n <ArchivistCardContent module={module} />\n {children}\n <ModuleCardActions module={module} />\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, module, ...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 && module) {\n const wrapper = ModuleWrapper.wrap(module, 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 [module, wallet],\n )\n\n return (\n <ModuleCardContent module={module} {...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, module, ...props }) => {\n const Stats = useMemo(() => ArchivistStats(module), [module])\n return <ModuleCardHeader module={module} title={title ?? module?.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 { useArchivistFromNode } 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] = useArchivistFromNode(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 if (archivist) {\n const [commitBW] = await (await testQueryCommitBoundWitnessBuilder).build()\n const [clearBW] = await (await testQueryClearBoundWitnessBuilder).build()\n setQueryableCommit(await archivist?.queryable(commitBW, [testQueryCommit]))\n setQueryableClear(await archivist?.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?.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?.commit?.()}>\n Commit\n </ButtonEx>\n <ButtonEx disabled={!archivist || !queryableClear} onClick={() => archivist?.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 [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asArchivistInstance(module)\n if (module && !instance) {\n const error = new Error(`Resolved module is not a ArchivistInstance [${module.config?.schema}:${module.config?.name}:${module.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, module) => {\n if (isArchivistInstance(module)) {\n prev.push(module)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { ArchivistInstance, isArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleFromNodeConfig, useWeakModuleFromNode } from '@xyo-network/react-node'\n\nexport const useWeakArchivistFromNode = (\n nameOrAddressOrInstance?: string | ArchivistInstance,\n config?: ModuleFromNodeConfig,\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((module) => {\n const instance = asArchivistInstance(module?.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"],"mappings":";AAAA,SAAS,YAAuB;AAEhC,SAAS,yBAA4C;;;ACDrD,SAAS,kBAAAA,uBAAsB;AAC/B,SAAS,mBAAmB;AAE5B,SAAS,qBAAqB;AAC9B,SAAS,yBAA4C;AACrD,SAAS,iBAAiB;AAC1B,SAAgB,YAAAC,iBAAgB;;;ACPhC,SAAS,UAAU,kBAAkB;AAQnC,mBAMU,KAFF,YAJR;AADK,IAAM,kBAAgD,CAAC,EAAE,eAAe,iBAAiB,MAC9F,gCACG,+DAAkB,IAAI,CAAC,YAAY;AAClC,SACE,oBAAC,YACC,+BAAC,cAAW,SAAQ,aACjB;AAAA;AAAA,IAAc;AAAA,IAAE;AAAA,IACjB,oBAAC,cAAW,SAAS,WAAW,IAAI,EAAE,IAAI,IAAI,GAC3C,mBACH;AAAA,KACF,KANa,OAOf;AAEJ,IACF;;;ACrBF,SAAS,qBAAqB,6BAA6B;AAC3D,SAAS,UAAU,YAAY,MAAM,OAAO,cAAAC,mBAAkB;AAC9D,SAAuB,eAAe;AAEtC,SAAS,gBAAgB;AAcrB,qBAAAC,WAIQ,OAAAC,MADF,QAAAC,aAHN;AANG,IAAM,mBAAoD,CAAC,EAAE,QAAQ,GAAG,MAAM,MAAM;AACzF,QAAM,CAAC,yBAAyB,0BAA0B,IAAI,SAAS,KAAK;AAE5E,QAAM,EAAE,QAAQ,MAAM,MAAM,KAAI,iCAAQ,YAAW,CAAC;AAEpD,SACE,gBAAAD,KAAAD,WAAA,EACG,oBAAU,QAAQ,QACjB,gBAAAE,MAAC,WAAQ,YAAW,SAAS,GAAG,OAC9B;AAAA,oBAAAA,MAAC,UAAK,SAAS,MAAM,2BAA2B,CAAC,uBAAuB,GACtE;AAAA,sBAAAD,KAACE,aAAA,EAAW,SAAQ,aAAY,IAAI,EAAE,QAAQ,WAAW,SAAS,eAAe,GAAG,qBAEpF;AAAA,MACA,gBAAAF,KAAC,cAAW,MAAK,SACf,0BAAAA,KAAC,yBAAsB,IAAI,EAAE,QAAQ,0BAA0B,UAAU,QAAQ,YAAY,WAAW,GAAG,GAC7G;AAAA,OACF;AAAA,IACA,gBAAAA,KAAC,YAAS,IAAI,yBACZ,0BAAAA,KAAC,SAAM,WAAW,GAChB,0BAAAC,MAAC,QACC;AAAA,sBAAAD,KAAC,mBAAgB,eAAc,UAAS,kBAAkB,QAAQ;AAAA,MAClE,gBAAAA,KAAC,mBAAgB,eAAc,QAAO,kBAAkB,MAAM;AAAA,MAC9D,gBAAAA,KAAC,mBAAgB,eAAc,SAAQ,kBAAkB,OAAO;AAAA,OAClE,GACF,GACF;AAAA,KACF,IACA,MACJ;AAEJ;;;AC1CA,SAAS,OAAO,eAAe;AAC/B,SAAS,eAAe;AAGxB,SAAS,yBAAyB;AAElC,SAAS,iBAAiB,iBAAiB,0BAA0B;AAWjE,SAIQ,OAAAG,MAJR,QAAAC,aAAA;AAFG,IAAM,iBAAgD,CAAC,EAAE,YAAY,CAAC,GAAG,gBAAgB,UAAU,UAAU,CAAC,EAAE,MAAM;AAC3H,SACE,gBAAAA,MAAC,WAAQ,KAAK,GAAG,IAAI,KAClB;AAAA,0CAAU,UACT,gBAAAD,KAAC,WAAQ,OAAM,YACb,0BAAAA,KAAC,SAAM,cAAc,qCAAU,QAAQ,OAAM,WAC3C,0BAAAA,KAAC,sBAAmB,MAAM,IAAI,GAChC,GACF,IACA;AAAA,KACD,iDAAgB,UACf,gBAAAA,KAAC,WAAQ,OAAM,UACb,0BAAAA,KAAC,SAAM,cAAc,iDAAgB,QAAQ,OAAM,WACjD,0BAAAA,KAAC,mBAAgB,MAAM,IAAI,GAC7B,GACF,IACA;AAAA,IACD,OAAO,QAAQ,OAAO,EAAE,SAAS,IAChC,gBAAAA,KAAC,WAAQ,OAAM,WACb,0BAAAA,KAAC,SAAM,cAAc,OAAO,QAAQ,OAAO,EAAE,QAAQ,OAAM,WACzD,0BAAAA,KAAC,qBAAkB,MAAM,IAAI,GAC/B,GACF,IACA;AAAA,IACD,OAAO,QAAQ,SAAS,EAAE,SAAS,IAClC,gBAAAA,KAAC,WAAQ,OAAM,aACb,0BAAAA,KAAC,SAAM,cAAc,OAAO,QAAQ,SAAS,EAAE,QAAQ,OAAM,WAC3D,0BAAAA,KAAC,mBAAgB,MAAM,IAAI,GAC7B,GACF,IACA;AAAA,KACJ;AAEJ;;;AChDA,SAAS,sBAAsB;AAC/B,SAAS,+BAAkD;AAC3D,SAAS,gBAAgB,0BAA0B;AAGnD,SAAS,aAAa,WAAW,SAAS,YAAAE,iBAAgB;AA6EjD,gBAAAC,YAAA;AArEF,IAAM,wBAA6D,CAAC,EAAE,UAAU,MAAM;AAC3F,QAAM,CAAC,KAAK,MAAM,IAAIC,UAA2B;AAEjD,QAAM,SAAS,YAAY,OAAOC,eAAkC;AAhBtE;AAiBI,UAAMC,OAAM,QAAM,KAAAD,cAAA,gBAAAA,WAAW,QAAX,wBAAAA;AAClB,WAAOC,IAAG;AAAA,EACZ,GAAG,CAAC,CAAC;AAEL,YAAU,MAAM;AACd,UAAM,YAAwC,CAAC;AAE/C,QAAI,uCAAW,QAAQ,SAAS,0BAA0B;AACxD,YAAM,iBAAiB,UAAU,GAAG,YAAY,YAAY;AAC1D,cAAM,OAAO,SAAS;AAAA,MACxB,CAAC;AACD,gBAAU,KAAK,cAAc;AAE7B,YAAM,gBAAgB,UAAU,GAAG,WAAW,YAAY;AACxD,cAAM,OAAO,SAAS;AAAA,MACxB,CAAC;AACD,gBAAU,KAAK,aAAa;AAAA,IAC9B;AAEA,WAAO,MAAM;AACX,iBAAW,YAAY;AAAW;AAAA,IACpC;AAAA,EACF,GAAG,CAAC,WAAW,MAAM,CAAC;AAEtB;AAAA;AAAA,IAEE,YAAY;AACV,UAAI,uCAAW,QAAQ,SAAS,0BAA0B;AACxD,cAAM,OAAO,SAAS;AAAA,MACxB,OAAO;AACL,eAAO,IAAI;AAAA,MACb;AAAA,IACF;AAAA,IACA,CAAC,WAAW,MAAM;AAAA,EACpB;AAEA,QAAM,WAAW,QAAQ,MAAO,QAAQ,OAAO,CAAC,IAAI,2BAAK,OAAO,CAAC,YAAY,QAAQ,WAAW,qBAAsB,CAAC,GAAG,CAAC;AAC3H,QAAM,iBAAiB,QAAQ,MAAO,QAAQ,OAAO,CAAC,IAAI,2BAAK,OAAO,CAAC,YAAY,QAAQ,WAAW,qBAAsB,CAAC,GAAG,CAAC;AACjI,QAAM,YAAY;AAAA,IAChB,OACE,2BAAK;AAAA,MACH,CAAC,MAAM,YAAY;AACjB,cAAM,IAAI,eAAe,OAAO;AAChC,YAAI,uBAAG;AACL,qBAAW,YAAW,uBAAG,cAAa,CAAC,GAAG;AACxC,iBAAK,OAAO,KAAK,KAAK,OAAO,KAAK,KAAK;AAAA,UACzC;AACF,eAAO;AAAA,MACT;AAAA,MACA,CAAC;AAAA,UACE,CAAC;AAAA,IACR,CAAC,GAAG;AAAA,EACN;AACA,QAAM,UAAU;AAAA,IACd,OACE,2BAAK;AAAA,MACH,CAAC,MAAM,YAAY;AACjB,aAAK,QAAQ,MAAM,KAAK,KAAK,QAAQ,MAAM,KAAK,KAAK;AACrD,eAAO;AAAA,MACT;AAAA,MACA,CAAC;AAAA,UACE,CAAC;AAAA,IACR,CAAC,GAAG;AAAA,EACN;AAEA,SAAO,gBAAAH,KAAC,kBAAe,WAAsB,gBAAgC,UAAoB,SAAkB;AACrH;;;AJlDM,SAEE,OAAAI,MAFF,QAAAC,aAAA;AAtBC,IAAM,uBAA0F,CAAC,EAAE,UAAU,QAAQ,GAAG,MAAM,MAAM;AACzI,QAAM,CAAC,QAAQ,SAAS,IAAIC,UAA0B;AACtD,QAAM,CAAC,MAAM,IAAI,UAAU;AAE3B,EAAAC;AAAA;AAAA,IAEE,OAAO,YAAY;AACjB,UAAI,UAAU,QAAQ;AACpB,cAAM,UAAU,cAAc,KAAK,QAAQ,MAAM;AACjD,cAAM,WAAW,OAAM,mCAAS;AAChC,YAAI,QAAQ,GAAG;AACb,oBAAU,qCAAW,EAAqB;AAAA,QAC5C;AAAA,MACF,OAAO;AACL,kBAAU,MAAS;AAAA,MACrB;AAAA,IACF;AAAA,IACA,CAAC,QAAQ,MAAM;AAAA,EACjB;AAEA,SACE,gBAAAH,KAAC,qBAAkB,QAAiB,GAAG,OACrC,0BAAAC,MAAC,eAAY,UAAS,QAAO,gBAAe,SAAQ,KAAK,GACtD;AAAA;AAAA,IACD,gBAAAD,KAAC,oBAAiB,QAAgB;AAAA,KACpC,GACF;AAEJ;;;AKtCA,SAAS,mCAAmC;AAE5C,SAAS,wBAA2C;AACpD,SAAS,WAAAI,gBAAe;AAOX,SAGA,YAAAC,WAHA,OAAAC,YAAA;AAHb,IAAMC,kBAAiB,CAAC,cAAkC;AACxD,UAAQ,uCAAW,OAAO,QAAQ;AAAA,IAChC,KAAK,6BAA6B;AAChC,aAAO,gBAAAD,KAAC,yBAAsB,WAAsB;AAAA,IACtD;AAAA,IACA,SAAS;AACP,aAAO,gBAAAA,KAAAD,WAAA,EAAE;AAAA,IACX;AAAA,EACF;AACF;AAEO,IAAM,sBAAwF,CAAC,EAAE,OAAO,QAAQ,GAAG,MAAM,MAAM;AACpI,QAAM,QAAQG,SAAQ,MAAMD,gBAAe,MAAM,GAAG,CAAC,MAAM,CAAC;AAC5D,SAAO,gBAAAD,KAAC,oBAAiB,QAAgB,OAAO,UAAS,iCAAQ,OAAO,SAAQ,aAAa,QAAQ,OAAQ,GAAG,OAAO;AACzH;;;ANbI,SACE,OAAAG,MADF,QAAAC,aAAA;AAFG,IAAM,gBAA4E,CAAC,EAAE,UAAU,QAAQ,GAAG,MAAM,MAAM;AAC3H,SACE,gBAAAA,MAAC,QAAM,GAAG,OACR;AAAA,oBAAAD,KAAC,uBAAoB,QAAgB;AAAA,IACrC,gBAAAA,KAAC,wBAAqB,QAAgB;AAAA,IACrC;AAAA,IACD,gBAAAA,KAAC,qBAAkB,QAAgB;AAAA,KACrC;AAEJ;;;AOhBA,SAAS,aAAa,cAAAE,mBAAkB;AACxC,SAAS,kBAAAC,uBAAsB;AAC/B,SAAS,gBAAgB;AACzB,SAAuB,WAAAC,gBAAe;AACtC,SAAS,2BAA2B,kCAAkC;AACtE,SAAS,gCAAgC;AAEzC,SAAS,YAAAC,iBAAgB;;;ACLzB,SAA4B,2BAA2B;AACvD,SAA+B,yBAAyB;AAGjD,IAAM,uBAAuB,CAClC,yBACA,WACuD;AATzD;AAUE,QAAM,CAAC,QAAQ,KAAK,IAAI,kBAAkB,yBAAyB,MAAM;AACzE,QAAM,WAAW,oBAAoB,MAAM;AAC3C,MAAI,UAAU,CAAC,UAAU;AACvB,UAAMC,SAAQ,IAAI,MAAM,gDAA+C,YAAO,WAAP,mBAAe,MAAM,KAAI,YAAO,WAAP,mBAAe,IAAI,IAAI,OAAO,OAAO,GAAG;AACxI,YAAQ,MAAMA,OAAM,OAAO;AAC3B,WAAO,CAAC,QAAWA,MAAK;AAAA,EAC1B;AACA,SAAO,CAAC,UAAU,KAAK;AACzB;;;AChBA,SAA4B,2BAA2B;AAEvD,SAA+B,0BAA0B;AAGlD,IAAM,wBAAwB,CACnC,QACA,WACgE;AAChE,QAAM,CAAC,SAAS,KAAK,IAAI,mBAAmB,QAAQ,MAAM;AAC1D,MAAI,OAAO;AACT,WAAO,CAAC,MAAM,KAAK;AAAA,EACrB;AACA,SAAO,UACH;AAAA;AAAA,IAEE,QAAQ,OAA4B,CAAC,MAAM,WAAW;AACpD,UAAI,oBAAoB,MAAM,GAAG;AAC/B,aAAK,KAAK,MAAM;AAAA,MAClB;AACA,aAAO;AAAA,IACT,GAAG,CAAC,CAAC;AAAA,IACL;AAAA,EACF,IACA,CAAC,SAAS,KAAK;AACrB;;;AC3BA,SAA4B,uBAAAC,4BAA2B;AACvD,SAA+B,6BAA6B;AAErD,IAAM,2BAA2B,CACtC,yBACA,WACgE;AAChE,SAAO,sBAAyC,yBAAyB,EAAE,UAAUA,sBAAqB,GAAG,OAAO,CAAC;AACvH;;;ACRA,SAAS,cAAc;AACvB,SAA4B,uBAAAC,4BAA2B;AAEvD,SAA+B,8BAA8B;AAEtD,IAAM,4BAA4B,CACvC,QACA,WACyE;AACzE,QAAM,CAAC,SAAS,KAAK,IAAI,uBAAuB,QAAQ,MAAM;AAC9D,MAAI,OAAO;AACT,WAAO,CAAC,MAAM,KAAK;AAAA,EACrB;AACA,SAAO;AAAA,KACL,mCACI,IAAI,CAAC,WAAW;AAChB,YAAM,WAAWA,qBAAoB,iCAAQ,OAAO;AACpD,UAAI,UAAU;AACZ,eAAO,IAAI,QAAQ,QAAQ;AAAA,MAC7B;AAAA,IACF,GACC,OAAO,YAAW,CAAC;AAAA,IACtB;AAAA,EACF;AACF;;;ACxBA,SAAS,kBAAkB;AAE3B,SAAS,kBAAkB;AAC3B,SAAS,YAAAC,iBAAgB;AAElB,IAAM,kBAAkB,CAAC,cAAiC;AAC/D,QAAM,CAAC,OAAO,QAAQ,IAAIA,UAAgB;AAC1C,QAAM,CAAC,SAAS,OAAO,IAAI,WAAW;AAEtC,QAAM,WAAW,WAAW,YAAY;AAT1C;AAUI,QAAI;AACF,UAAI,SAAS;AACX,eAAO,QAAM,4CAAW,QAAX;AAAA,MACf;AAAA,IACF,SAAS,IAAI;AACX,YAAMC,SAAQ;AACd,eAASA,MAAK;AAAA,IAChB;AAAA,EACF,GAAG,CAAC,WAAW,OAAO,CAAC;AAEvB,SAAO,CAAC,UAAU,OAAO,OAAO;AAClC;;;ACpBA,SAAS,cAAAC,mBAAkB;AAG3B,SAA0B,cAAAC,mBAAkB;AAErC,IAAM,kBAAkB,CAC7B,WACA,WAC0D;AAC1D,QAAM,CAAC,SAAS,OAAO,IAAIA,YAAW;AAEtC,QAAM,CAAC,UAAU,KAAK,IAAID,YAAW,YAAY;AAC/C,QAAI,WAAW,aAAa,QAAQ;AAClC,aAAQ,MAAM,UAAU,IAAI,MAAM;AAAA,IACpC;AAAA,EACF,GAAG,CAAC,WAAW,QAAQ,OAAO,CAAC;AAE/B,SAAO,CAAC,UAAU,OAAO,OAAO;AAClC;;;ANmCM,gBAAAE,MACA,QAAAC,aADA;AA3CN,IAAM,kBAAkB,EAAE,QAAQ,2BAA2B;AAC7D,IAAM,qCAAqC,IAAI,yBAAyB,EAAE,MAAM,eAAe;AAE/F,IAAM,iBAAiB,EAAE,QAAQ,0BAA0B;AAC3D,IAAM,oCAAoC,IAAI,yBAAyB,EAAE,MAAM,cAAc;AAMtF,IAAM,mBAA+C,CAAC,EAAE,SAAS,GAAG,MAAM,MAAM;AACrF,QAAM,CAAC,SAAS,IAAI,qBAAqB,OAAO;AAChD,QAAM,CAAC,UAAU,WAAW,IAAIC,UAAoB;AACpD,QAAM,CAAC,SAAS,UAAU,IAAIA,UAAS,CAAC;AACxC,QAAM,CAAC,iBAAiB,kBAAkB,IAAIA,UAAS,KAAK;AAC5D,QAAM,CAAC,gBAAgB,iBAAiB,IAAIA,UAAS,KAAK;AAE1D,EAAAC;AAAA;AAAA,IAEE,YAAY;AACV,UAAI,WAAW;AACb,cAAM,CAAC,QAAQ,IAAI,OAAO,MAAM,oCAAoC,MAAM;AAC1E,cAAM,CAAC,OAAO,IAAI,OAAO,MAAM,mCAAmC,MAAM;AACxE,2BAAmB,OAAM,uCAAW,UAAU,UAAU,CAAC,eAAe,GAAE;AAC1E,0BAAkB,OAAM,uCAAW,UAAU,SAAS,CAAC,cAAc,GAAE;AAAA,MACzE;AAAA,IACF;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AAEA,EAAAA;AAAA;AAAA,IAEE,OAAO,YAAY;AA3CvB;AA4CM,YAAMC,YAAW,QAAM,4CAAW,QAAX;AACvB,UAAI,QAAQ,GAAG;AACb,oBAAYA,SAAQ;AAAA,MACtB;AAAA,IACF;AAAA,IACA,CAAC,WAAW,OAAO;AAAA,EACrB;AAEA,SACE,gBAAAH,MAACI,UAAA,EAAS,GAAG,OACX;AAAA,oBAAAL,KAACM,aAAA,EAAY,uBAAa,WAAW,SAAS,SAAS,GAAG,IAAG;AAAA,IAC7D,gBAAAL,MAAC,eACC;AAAA,sBAAAD,KAAC,YAAS,WAAU,qCAAU,YAAW,KAAK,CAAC,aAAa,CAAC,iBAAiB,SAAS,MAAG;AAxDlG;AAwDqG,4DAAW,WAAX;AAAA,SAAuB,oBAEpH;AAAA,MACA,gBAAAA,KAAC,YAAS,UAAU,CAAC,aAAa,CAAC,gBAAgB,SAAS,MAAG;AA3DvE;AA2D0E,4DAAW,UAAX;AAAA,SAAsB,mBAExF;AAAA,MACA,gBAAAA;AAAA,QAAC;AAAA;AAAA,UACC,UAAU,CAAC;AAAA,UACX,SAAS,MAAM;AACb,uBAAW,UAAU,CAAC;AAAA,UACxB;AAAA,UACD;AAAA;AAAA,MAED;AAAA,OACF;AAAA,KACF;AAEJ;","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","jsx","jsxs","useState","useAsyncEffect","payloads","FlexCol","Typography"]}
package/package.json CHANGED
@@ -24,9 +24,9 @@
24
24
  "@xyo-network/module-model": "^2.99.1",
25
25
  "@xyo-network/module-wrapper": "^2.99.1",
26
26
  "@xyo-network/payload-model": "^2.99.1",
27
- "@xyo-network/react-module": "~2.75.1",
28
- "@xyo-network/react-node": "~2.75.1",
29
- "@xyo-network/react-wallet": "~2.75.1",
27
+ "@xyo-network/react-module": "~2.75.2",
28
+ "@xyo-network/react-node": "~2.75.2",
29
+ "@xyo-network/react-wallet": "~2.75.2",
30
30
  "react-icons": "^5.1.0"
31
31
  },
32
32
  "peerDependencies": {
@@ -95,6 +95,6 @@
95
95
  },
96
96
  "sideEffects": false,
97
97
  "types": "dist/browser/index.d.ts",
98
- "version": "2.75.1",
98
+ "version": "2.75.2",
99
99
  "type": "module"
100
100
  }
@@ -1,17 +1,9 @@
1
- import { ArchivistInstance, asArchivistInstance } from '@xyo-network/archivist-model'
1
+ import { ArchivistInstance, isArchivistInstance } from '@xyo-network/archivist-model'
2
2
  import { ModuleFromNodeConfig, useWeakModuleFromNode } from '@xyo-network/react-node'
3
3
 
4
4
  export const useWeakArchivistFromNode = (
5
5
  nameOrAddressOrInstance?: string | ArchivistInstance,
6
6
  config?: ModuleFromNodeConfig,
7
7
  ): [WeakRef<ArchivistInstance> | undefined, Error | undefined] => {
8
- const [module, error] = useWeakModuleFromNode(nameOrAddressOrInstance, config)
9
- const instance = module?.deref()
10
- const archivist = asArchivistInstance(instance)
11
- if (instance && !archivist) {
12
- const error = new Error(`Resolved module is not a ArchivistInstance [${instance.config?.schema}:${instance.id}]`)
13
- console.error(error.message)
14
- return [undefined, error]
15
- }
16
- return [archivist ? new WeakRef(archivist) : undefined, error]
8
+ return useWeakModuleFromNode<ArchivistInstance>(nameOrAddressOrInstance, { identity: isArchivistInstance, ...config })
17
9
  }