@xyo-network/react-archivist 2.68.2 → 2.69.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.cjs +1 -1
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +1 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/node/index.cjs +1 -1
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/package.json +20 -20
- package/src/components/Card/components/ArchivistParents.tsx +2 -2
- package/src/components/Card/components/Stats/ArchivistStats.tsx +8 -8
- package/src/hooks/node/useArchivistFromNode.tsx +1 -1
- package/src/hooks/node/useArchivistsFromNode.tsx +2 -2
package/dist/browser/index.cjs
CHANGED
|
@@ -234,7 +234,7 @@ var useArchivistFromNode = (nameOrAddressOrInstance, config) => {
|
|
|
234
234
|
const [module2, error] = (0, import_react_node.useModuleFromNode)(nameOrAddressOrInstance, config);
|
|
235
235
|
const instance = (0, import_archivist_model2.asArchivistInstance)(module2);
|
|
236
236
|
if (module2 && !instance) {
|
|
237
|
-
const error2 = Error(`Resolved module is not a ArchivistInstance [${module2.config?.schema}:${module2.config?.name}:${module2.address}]`);
|
|
237
|
+
const error2 = new Error(`Resolved module is not a ArchivistInstance [${module2.config?.schema}:${module2.config?.name}:${module2.address}]`);
|
|
238
238
|
console.error(error2.message);
|
|
239
239
|
return [void 0, error2];
|
|
240
240
|
}
|
|
@@ -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/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'\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'\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?.discover()\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'\nimport { useState } from 'react'\n\nimport { ArchivistParent } from './ArchivistParent'\n\nexport interface ArchivistParentsProps extends FlexBoxProps {\n config?: ArchivistConfig\n}\n\nexport const ArchivistParents: React.FC<ArchivistParentsProps> = ({ config, ...props }) => {\n const [parentArchivistCollapse, setParentArchivistCollapse] = useState(false)\n\n const { commit, read, write } = config?.parents ?? {}\n\n return (\n <>\n {commit || read || write ? (\n <FlexCol alignItems=\"start\" {...props}>\n <span onClick={() => setParentArchivistCollapse(!parentArchivistCollapse)}>\n <Typography variant=\"subtitle2\" sx={{ cursor: 'pointer', display: 'inline-block' }}>\n Parents\n </Typography>\n <IconButton size=\"small\">\n <ArrowRightRoundedIcon sx={{ rotate: parentArchivistCollapse ? '90deg' : '0deg', transition: 'all .25s' }} />\n </IconButton>\n </span>\n <Collapse in={parentArchivistCollapse}>\n <Paper elevation={2}>\n <List>\n <ArchivistParent archivistType=\"Commit\" parentArchivists={commit} />\n <ArchivistParent archivistType=\"Read\" parentArchivists={read} />\n <ArchivistParent archivistType=\"Write\" parentArchivists={write} />\n </List>\n </Paper>\n </Collapse>\n </FlexCol>\n ) : null}\n </>\n )\n}\n","import { Badge, Tooltip } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\n// eslint-disable-next-line import/no-internal-modules\nimport { BsFileEarmarkCode } from 'react-icons/bs/index.js'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc/index.js'\n\nexport interface ArchivistStatsProps {\n addresses?: Record<string, number>\n boundWitnesses?: Payload[] | null\n payloads?: Payload[] | null\n schemas?: Record<string, number>\n}\n\nexport const ArchivistStats: React.FC<ArchivistStatsProps> = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {\n return (\n <FlexRow gap={2} mr={0.5}>\n {payloads?.length ? (\n <Tooltip title=\"Payloads\">\n <Badge badgeContent={payloads?.length} color=\"primary\">\n <VscSymbolNamespace size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {boundWitnesses?.length ? (\n <Tooltip title=\"Blocks\">\n <Badge badgeContent={boundWitnesses?.length} color=\"primary\">\n <VscSymbolMethod size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {Object.entries(schemas).length > 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 { ArchivistInstance, MemoryArchivistConfigSchema } from '@xyo-network/archivist'\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'\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","import { ArchivistInstance, asArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\n\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 = 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","import { ArchivistInstance, isArchivistInstance } from '@xyo-network/archivist'\nimport { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\n\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 { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist'\nimport { useRefresh } from '@xyo-network/react-module'\nimport { useState } from 'react'\n\nexport const useArchivistAll = (archivist: ArchivistInstance) => {\n const [error, setError] = useState<Error>()\n const [enabled, refresh] = useRefresh()\n\n const payloads = usePromise(async () => {\n try {\n if (enabled) {\n return await archivist?.all?.()\n }\n } catch (ex) {\n const error = ex as Error\n setError(error)\n }\n }, [archivist, enabled])\n\n return [payloads, error, refresh]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist'\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?: string[],\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","import_react","import_archivist_model","module","error","import_archivist","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/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'\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'\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?.discover()\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'\nimport { useState } from 'react'\n\nimport { ArchivistParent } from './ArchivistParent'\n\nexport interface ArchivistParentsProps extends FlexBoxProps {\n config?: ArchivistConfig\n}\n\nexport const ArchivistParents: React.FC<ArchivistParentsProps> = ({ config, ...props }) => {\n const [parentArchivistCollapse, setParentArchivistCollapse] = useState(false)\n\n const { commit, read, write } = config?.parents ?? {}\n\n return (\n <>\n {commit || read || write ?\n <FlexCol alignItems=\"start\" {...props}>\n <span onClick={() => setParentArchivistCollapse(!parentArchivistCollapse)}>\n <Typography variant=\"subtitle2\" sx={{ cursor: 'pointer', display: 'inline-block' }}>\n Parents\n </Typography>\n <IconButton size=\"small\">\n <ArrowRightRoundedIcon sx={{ rotate: parentArchivistCollapse ? '90deg' : '0deg', transition: 'all .25s' }} />\n </IconButton>\n </span>\n <Collapse in={parentArchivistCollapse}>\n <Paper elevation={2}>\n <List>\n <ArchivistParent archivistType=\"Commit\" parentArchivists={commit} />\n <ArchivistParent archivistType=\"Read\" parentArchivists={read} />\n <ArchivistParent archivistType=\"Write\" parentArchivists={write} />\n </List>\n </Paper>\n </Collapse>\n </FlexCol>\n : null}\n </>\n )\n}\n","import { Badge, Tooltip } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\n// eslint-disable-next-line import/no-internal-modules\nimport { BsFileEarmarkCode } from 'react-icons/bs/index.js'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc/index.js'\n\nexport interface ArchivistStatsProps {\n addresses?: Record<string, number>\n boundWitnesses?: Payload[] | null\n payloads?: Payload[] | null\n schemas?: Record<string, number>\n}\n\nexport const ArchivistStats: React.FC<ArchivistStatsProps> = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {\n return (\n <FlexRow gap={2} mr={0.5}>\n {payloads?.length ?\n <Tooltip title=\"Payloads\">\n <Badge badgeContent={payloads?.length} color=\"primary\">\n <VscSymbolNamespace size={20} />\n </Badge>\n </Tooltip>\n : null}\n {boundWitnesses?.length ?\n <Tooltip title=\"Blocks\">\n <Badge badgeContent={boundWitnesses?.length} color=\"primary\">\n <VscSymbolMethod size={20} />\n </Badge>\n </Tooltip>\n : null}\n {Object.entries(schemas).length > 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 { ArchivistInstance, MemoryArchivistConfigSchema } from '@xyo-network/archivist'\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'\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","import { ArchivistInstance, asArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\n\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","import { ArchivistInstance, isArchivistInstance } from '@xyo-network/archivist'\nimport { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\n\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 { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist'\nimport { useRefresh } from '@xyo-network/react-module'\nimport { useState } from 'react'\n\nexport const useArchivistAll = (archivist: ArchivistInstance) => {\n const [error, setError] = useState<Error>()\n const [enabled, refresh] = useRefresh()\n\n const payloads = usePromise(async () => {\n try {\n if (enabled) {\n return await archivist?.all?.()\n }\n } catch (ex) {\n const error = ex as Error\n setError(error)\n }\n }, [archivist, enabled])\n\n return [payloads, error, refresh]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist'\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?: string[],\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","import_react","import_archivist_model","module","error","import_archivist","import_react_node","module","import_react_module","import_react","error","import_react_promise","import_react_module","import_jsx_runtime","payloads"]}
|
package/dist/browser/index.js
CHANGED
|
@@ -201,7 +201,7 @@ var useArchivistFromNode = (nameOrAddressOrInstance, config) => {
|
|
|
201
201
|
const [module, error] = useModuleFromNode(nameOrAddressOrInstance, config);
|
|
202
202
|
const instance = asArchivistInstance(module);
|
|
203
203
|
if (module && !instance) {
|
|
204
|
-
const error2 = Error(`Resolved module is not a ArchivistInstance [${module.config?.schema}:${module.config?.name}:${module.address}]`);
|
|
204
|
+
const error2 = new Error(`Resolved module is not a ArchivistInstance [${module.config?.schema}:${module.config?.name}:${module.address}]`);
|
|
205
205
|
console.error(error2.message);
|
|
206
206
|
return [void 0, error2];
|
|
207
207
|
}
|
|
@@ -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/queries/useArchivistAll.tsx","../../src/hooks/queries/useArchivistGet.tsx"],"sourcesContent":["import { Card, CardProps } from '@mui/material'\nimport { ArchivistInstance } from '@xyo-network/archivist'\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'\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?.discover()\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'\nimport { useState } from 'react'\n\nimport { ArchivistParent } from './ArchivistParent'\n\nexport interface ArchivistParentsProps extends FlexBoxProps {\n config?: ArchivistConfig\n}\n\nexport const ArchivistParents: React.FC<ArchivistParentsProps> = ({ config, ...props }) => {\n const [parentArchivistCollapse, setParentArchivistCollapse] = useState(false)\n\n const { commit, read, write } = config?.parents ?? {}\n\n return (\n <>\n {commit || read || write ? (\n <FlexCol alignItems=\"start\" {...props}>\n <span onClick={() => setParentArchivistCollapse(!parentArchivistCollapse)}>\n <Typography variant=\"subtitle2\" sx={{ cursor: 'pointer', display: 'inline-block' }}>\n Parents\n </Typography>\n <IconButton size=\"small\">\n <ArrowRightRoundedIcon sx={{ rotate: parentArchivistCollapse ? '90deg' : '0deg', transition: 'all .25s' }} />\n </IconButton>\n </span>\n <Collapse in={parentArchivistCollapse}>\n <Paper elevation={2}>\n <List>\n <ArchivistParent archivistType=\"Commit\" parentArchivists={commit} />\n <ArchivistParent archivistType=\"Read\" parentArchivists={read} />\n <ArchivistParent archivistType=\"Write\" parentArchivists={write} />\n </List>\n </Paper>\n </Collapse>\n </FlexCol>\n ) : null}\n </>\n )\n}\n","import { Badge, Tooltip } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\n// eslint-disable-next-line import/no-internal-modules\nimport { BsFileEarmarkCode } from 'react-icons/bs/index.js'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc/index.js'\n\nexport interface ArchivistStatsProps {\n addresses?: Record<string, number>\n boundWitnesses?: Payload[] | null\n payloads?: Payload[] | null\n schemas?: Record<string, number>\n}\n\nexport const ArchivistStats: React.FC<ArchivistStatsProps> = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {\n return (\n <FlexRow gap={2} mr={0.5}>\n {payloads?.length ? (\n <Tooltip title=\"Payloads\">\n <Badge badgeContent={payloads?.length} color=\"primary\">\n <VscSymbolNamespace size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {boundWitnesses?.length ? (\n <Tooltip title=\"Blocks\">\n <Badge badgeContent={boundWitnesses?.length} color=\"primary\">\n <VscSymbolMethod size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {Object.entries(schemas).length > 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 { ArchivistInstance, MemoryArchivistConfigSchema } from '@xyo-network/archivist'\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'\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","import { ArchivistInstance, asArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\n\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 = 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","import { ArchivistInstance, isArchivistInstance } from '@xyo-network/archivist'\nimport { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\n\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 { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist'\nimport { useRefresh } from '@xyo-network/react-module'\nimport { useState } from 'react'\n\nexport const useArchivistAll = (archivist: ArchivistInstance) => {\n const [error, setError] = useState<Error>()\n const [enabled, refresh] = useRefresh()\n\n const payloads = usePromise(async () => {\n try {\n if (enabled) {\n return await archivist?.all?.()\n }\n } catch (ex) {\n const error = ex as Error\n setError(error)\n }\n }, [archivist, enabled])\n\n return [payloads, error, refresh]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist'\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?: string[],\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","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/queries/useArchivistAll.tsx","../../src/hooks/queries/useArchivistGet.tsx"],"sourcesContent":["import { Card, CardProps } from '@mui/material'\nimport { ArchivistInstance } from '@xyo-network/archivist'\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'\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?.discover()\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'\nimport { useState } from 'react'\n\nimport { ArchivistParent } from './ArchivistParent'\n\nexport interface ArchivistParentsProps extends FlexBoxProps {\n config?: ArchivistConfig\n}\n\nexport const ArchivistParents: React.FC<ArchivistParentsProps> = ({ config, ...props }) => {\n const [parentArchivistCollapse, setParentArchivistCollapse] = useState(false)\n\n const { commit, read, write } = config?.parents ?? {}\n\n return (\n <>\n {commit || read || write ?\n <FlexCol alignItems=\"start\" {...props}>\n <span onClick={() => setParentArchivistCollapse(!parentArchivistCollapse)}>\n <Typography variant=\"subtitle2\" sx={{ cursor: 'pointer', display: 'inline-block' }}>\n Parents\n </Typography>\n <IconButton size=\"small\">\n <ArrowRightRoundedIcon sx={{ rotate: parentArchivistCollapse ? '90deg' : '0deg', transition: 'all .25s' }} />\n </IconButton>\n </span>\n <Collapse in={parentArchivistCollapse}>\n <Paper elevation={2}>\n <List>\n <ArchivistParent archivistType=\"Commit\" parentArchivists={commit} />\n <ArchivistParent archivistType=\"Read\" parentArchivists={read} />\n <ArchivistParent archivistType=\"Write\" parentArchivists={write} />\n </List>\n </Paper>\n </Collapse>\n </FlexCol>\n : null}\n </>\n )\n}\n","import { Badge, Tooltip } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\n// eslint-disable-next-line import/no-internal-modules\nimport { BsFileEarmarkCode } from 'react-icons/bs/index.js'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc/index.js'\n\nexport interface ArchivistStatsProps {\n addresses?: Record<string, number>\n boundWitnesses?: Payload[] | null\n payloads?: Payload[] | null\n schemas?: Record<string, number>\n}\n\nexport const ArchivistStats: React.FC<ArchivistStatsProps> = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {\n return (\n <FlexRow gap={2} mr={0.5}>\n {payloads?.length ?\n <Tooltip title=\"Payloads\">\n <Badge badgeContent={payloads?.length} color=\"primary\">\n <VscSymbolNamespace size={20} />\n </Badge>\n </Tooltip>\n : null}\n {boundWitnesses?.length ?\n <Tooltip title=\"Blocks\">\n <Badge badgeContent={boundWitnesses?.length} color=\"primary\">\n <VscSymbolMethod size={20} />\n </Badge>\n </Tooltip>\n : null}\n {Object.entries(schemas).length > 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 { ArchivistInstance, MemoryArchivistConfigSchema } from '@xyo-network/archivist'\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'\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","import { ArchivistInstance, asArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\n\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","import { ArchivistInstance, isArchivistInstance } from '@xyo-network/archivist'\nimport { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\n\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 { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist'\nimport { useRefresh } from '@xyo-network/react-module'\nimport { useState } from 'react'\n\nexport const useArchivistAll = (archivist: ArchivistInstance) => {\n const [error, setError] = useState<Error>()\n const [enabled, refresh] = useRefresh()\n\n const payloads = usePromise(async () => {\n try {\n if (enabled) {\n return await archivist?.all?.()\n }\n } catch (ex) {\n const error = ex as Error\n setError(error)\n }\n }, [archivist, enabled])\n\n return [payloads, error, refresh]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist'\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?: string[],\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","useState","error","usePromise","useRefresh","jsx","jsxs","useState","useAsyncEffect","payloads","FlexCol","Typography"]}
|
package/dist/node/index.cjs
CHANGED
|
@@ -236,7 +236,7 @@ var useArchivistFromNode = (nameOrAddressOrInstance, config) => {
|
|
|
236
236
|
const [module2, error] = (0, import_react_node.useModuleFromNode)(nameOrAddressOrInstance, config);
|
|
237
237
|
const instance = (0, import_archivist_model2.asArchivistInstance)(module2);
|
|
238
238
|
if (module2 && !instance) {
|
|
239
|
-
const error2 = Error(`Resolved module is not a ArchivistInstance [${(_a = module2.config) == null ? void 0 : _a.schema}:${(_b = module2.config) == null ? void 0 : _b.name}:${module2.address}]`);
|
|
239
|
+
const error2 = new Error(`Resolved module is not a ArchivistInstance [${(_a = module2.config) == null ? void 0 : _a.schema}:${(_b = module2.config) == null ? void 0 : _b.name}:${module2.address}]`);
|
|
240
240
|
console.error(error2.message);
|
|
241
241
|
return [void 0, error2];
|
|
242
242
|
}
|
package/dist/node/index.cjs.map
CHANGED
|
@@ -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/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'\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'\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?.discover()\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'\nimport { useState } from 'react'\n\nimport { ArchivistParent } from './ArchivistParent'\n\nexport interface ArchivistParentsProps extends FlexBoxProps {\n config?: ArchivistConfig\n}\n\nexport const ArchivistParents: React.FC<ArchivistParentsProps> = ({ config, ...props }) => {\n const [parentArchivistCollapse, setParentArchivistCollapse] = useState(false)\n\n const { commit, read, write } = config?.parents ?? {}\n\n return (\n <>\n {commit || read || write ? (\n <FlexCol alignItems=\"start\" {...props}>\n <span onClick={() => setParentArchivistCollapse(!parentArchivistCollapse)}>\n <Typography variant=\"subtitle2\" sx={{ cursor: 'pointer', display: 'inline-block' }}>\n Parents\n </Typography>\n <IconButton size=\"small\">\n <ArrowRightRoundedIcon sx={{ rotate: parentArchivistCollapse ? '90deg' : '0deg', transition: 'all .25s' }} />\n </IconButton>\n </span>\n <Collapse in={parentArchivistCollapse}>\n <Paper elevation={2}>\n <List>\n <ArchivistParent archivistType=\"Commit\" parentArchivists={commit} />\n <ArchivistParent archivistType=\"Read\" parentArchivists={read} />\n <ArchivistParent archivistType=\"Write\" parentArchivists={write} />\n </List>\n </Paper>\n </Collapse>\n </FlexCol>\n ) : null}\n </>\n )\n}\n","import { Badge, Tooltip } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\n// eslint-disable-next-line import/no-internal-modules\nimport { BsFileEarmarkCode } from 'react-icons/bs/index.js'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc/index.js'\n\nexport interface ArchivistStatsProps {\n addresses?: Record<string, number>\n boundWitnesses?: Payload[] | null\n payloads?: Payload[] | null\n schemas?: Record<string, number>\n}\n\nexport const ArchivistStats: React.FC<ArchivistStatsProps> = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {\n return (\n <FlexRow gap={2} mr={0.5}>\n {payloads?.length ? (\n <Tooltip title=\"Payloads\">\n <Badge badgeContent={payloads?.length} color=\"primary\">\n <VscSymbolNamespace size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {boundWitnesses?.length ? (\n <Tooltip title=\"Blocks\">\n <Badge badgeContent={boundWitnesses?.length} color=\"primary\">\n <VscSymbolMethod size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {Object.entries(schemas).length > 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 { ArchivistInstance, MemoryArchivistConfigSchema } from '@xyo-network/archivist'\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'\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","import { ArchivistInstance, asArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\n\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 = 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","import { ArchivistInstance, isArchivistInstance } from '@xyo-network/archivist'\nimport { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\n\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 { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist'\nimport { useRefresh } from '@xyo-network/react-module'\nimport { useState } from 'react'\n\nexport const useArchivistAll = (archivist: ArchivistInstance) => {\n const [error, setError] = useState<Error>()\n const [enabled, refresh] = useRefresh()\n\n const payloads = usePromise(async () => {\n try {\n if (enabled) {\n return await archivist?.all?.()\n }\n } catch (ex) {\n const error = ex as Error\n setError(error)\n }\n }, [archivist, enabled])\n\n return [payloads, error, refresh]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist'\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?: string[],\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","import_react","import_archivist_model","module","error","import_archivist","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/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'\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'\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?.discover()\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'\nimport { useState } from 'react'\n\nimport { ArchivistParent } from './ArchivistParent'\n\nexport interface ArchivistParentsProps extends FlexBoxProps {\n config?: ArchivistConfig\n}\n\nexport const ArchivistParents: React.FC<ArchivistParentsProps> = ({ config, ...props }) => {\n const [parentArchivistCollapse, setParentArchivistCollapse] = useState(false)\n\n const { commit, read, write } = config?.parents ?? {}\n\n return (\n <>\n {commit || read || write ?\n <FlexCol alignItems=\"start\" {...props}>\n <span onClick={() => setParentArchivistCollapse(!parentArchivistCollapse)}>\n <Typography variant=\"subtitle2\" sx={{ cursor: 'pointer', display: 'inline-block' }}>\n Parents\n </Typography>\n <IconButton size=\"small\">\n <ArrowRightRoundedIcon sx={{ rotate: parentArchivistCollapse ? '90deg' : '0deg', transition: 'all .25s' }} />\n </IconButton>\n </span>\n <Collapse in={parentArchivistCollapse}>\n <Paper elevation={2}>\n <List>\n <ArchivistParent archivistType=\"Commit\" parentArchivists={commit} />\n <ArchivistParent archivistType=\"Read\" parentArchivists={read} />\n <ArchivistParent archivistType=\"Write\" parentArchivists={write} />\n </List>\n </Paper>\n </Collapse>\n </FlexCol>\n : null}\n </>\n )\n}\n","import { Badge, Tooltip } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\n// eslint-disable-next-line import/no-internal-modules\nimport { BsFileEarmarkCode } from 'react-icons/bs/index.js'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc/index.js'\n\nexport interface ArchivistStatsProps {\n addresses?: Record<string, number>\n boundWitnesses?: Payload[] | null\n payloads?: Payload[] | null\n schemas?: Record<string, number>\n}\n\nexport const ArchivistStats: React.FC<ArchivistStatsProps> = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {\n return (\n <FlexRow gap={2} mr={0.5}>\n {payloads?.length ?\n <Tooltip title=\"Payloads\">\n <Badge badgeContent={payloads?.length} color=\"primary\">\n <VscSymbolNamespace size={20} />\n </Badge>\n </Tooltip>\n : null}\n {boundWitnesses?.length ?\n <Tooltip title=\"Blocks\">\n <Badge badgeContent={boundWitnesses?.length} color=\"primary\">\n <VscSymbolMethod size={20} />\n </Badge>\n </Tooltip>\n : null}\n {Object.entries(schemas).length > 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 { ArchivistInstance, MemoryArchivistConfigSchema } from '@xyo-network/archivist'\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'\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","import { ArchivistInstance, asArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\n\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","import { ArchivistInstance, isArchivistInstance } from '@xyo-network/archivist'\nimport { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\n\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 { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist'\nimport { useRefresh } from '@xyo-network/react-module'\nimport { useState } from 'react'\n\nexport const useArchivistAll = (archivist: ArchivistInstance) => {\n const [error, setError] = useState<Error>()\n const [enabled, refresh] = useRefresh()\n\n const payloads = usePromise(async () => {\n try {\n if (enabled) {\n return await archivist?.all?.()\n }\n } catch (ex) {\n const error = ex as Error\n setError(error)\n }\n }, [archivist, enabled])\n\n return [payloads, error, refresh]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist'\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?: string[],\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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAA,mBAAgC;AAEhC,IAAAC,uBAAqD;;;ACDrD,IAAAC,6BAA+B;AAC/B,IAAAC,wBAA4B;AAE5B,4BAA8B;AAC9B,0BAAqD;AACrD,0BAA0B;AAC1B,IAAAC,gBAAgC;;;ACPhC,sBAAqC;AAQnC;AADK,IAAM,kBAAgD,CAAC,EAAE,eAAe,iBAAiB,MAC9F,2EACG,+DAAkB,IAAI,CAAC,YAAY;AAClC,SACE,4CAAC,4BACC,uDAAC,8BAAW,SAAQ,aACjB;AAAA;AAAA,IAAc;AAAA,IAAE;AAAA,IACjB,4CAAC,8BAAW,SAAS,WAAW,IAAI,EAAE,IAAI,IAAI,GAC3C,mBACH;AAAA,KACF,KANa,OAOf;AAEJ,IACF;;;ACrBF,4BAA2D;AAC3D,IAAAC,mBAA8D;AAC9D,2BAAsC;AAEtC,mBAAyB;AAcrB,IAAAC,sBAAA;AANG,IAAM,mBAAoD,CAAC,EAAE,QAAQ,GAAG,MAAM,MAAM;AACzF,QAAM,CAAC,yBAAyB,0BAA0B,QAAI,uBAAS,KAAK;AAE5E,QAAM,EAAE,QAAQ,MAAM,MAAM,KAAI,iCAAQ,YAAW,CAAC;AAEpD,SACE,6EACG,oBAAU,QAAQ,QACjB,8CAAC,gCAAQ,YAAW,SAAS,GAAG,OAC9B;AAAA,kDAAC,UAAK,SAAS,MAAM,2BAA2B,CAAC,uBAAuB,GACtE;AAAA,mDAAC,+BAAW,SAAQ,aAAY,IAAI,EAAE,QAAQ,WAAW,SAAS,eAAe,GAAG,qBAEpF;AAAA,MACA,6CAAC,+BAAW,MAAK,SACf,uDAAC,sBAAAC,mBAAA,EAAsB,IAAI,EAAE,QAAQ,0BAA0B,UAAU,QAAQ,YAAY,WAAW,GAAG,GAC7G;AAAA,OACF;AAAA,IACA,6CAAC,6BAAS,IAAI,yBACZ,uDAAC,0BAAM,WAAW,GAChB,wDAAC,yBACC;AAAA,mDAAC,mBAAgB,eAAc,UAAS,kBAAkB,QAAQ;AAAA,MAClE,6CAAC,mBAAgB,eAAc,QAAO,kBAAkB,MAAM;AAAA,MAC9D,6CAAC,mBAAgB,eAAc,SAAQ,kBAAkB,OAAO;AAAA,OAClE,GACF,GACF;AAAA,KACF,IACA,MACJ;AAEJ;;;AC1CA,IAAAC,mBAA+B;AAC/B,IAAAC,wBAAwB;AAGxB,gBAAkC;AAElC,iBAAqE;AAWjE,IAAAC,sBAAA;AAFG,IAAM,iBAAgD,CAAC,EAAE,YAAY,CAAC,GAAG,gBAAgB,UAAU,UAAU,CAAC,EAAE,MAAM;AAC3H,SACE,8CAAC,iCAAQ,KAAK,GAAG,IAAI,KAClB;AAAA,0CAAU,UACT,6CAAC,4BAAQ,OAAM,YACb,uDAAC,0BAAM,cAAc,qCAAU,QAAQ,OAAM,WAC3C,uDAAC,iCAAmB,MAAM,IAAI,GAChC,GACF,IACA;AAAA,KACD,iDAAgB,UACf,6CAAC,4BAAQ,OAAM,UACb,uDAAC,0BAAM,cAAc,iDAAgB,QAAQ,OAAM,WACjD,uDAAC,8BAAgB,MAAM,IAAI,GAC7B,GACF,IACA;AAAA,IACD,OAAO,QAAQ,OAAO,EAAE,SAAS,IAChC,6CAAC,4BAAQ,OAAM,WACb,uDAAC,0BAAM,cAAc,OAAO,QAAQ,OAAO,EAAE,QAAQ,OAAM,WACzD,uDAAC,+BAAkB,MAAM,IAAI,GAC/B,GACF,IACA;AAAA,IACD,OAAO,QAAQ,SAAS,EAAE,SAAS,IAClC,6CAAC,4BAAQ,OAAM,aACb,uDAAC,0BAAM,cAAc,OAAO,QAAQ,SAAS,EAAE,QAAQ,OAAM,WAC3D,uDAAC,8BAAgB,MAAM,IAAI,GAC7B,GACF,IACA;AAAA,KACJ;AAEJ;;;AChDA,gCAA+B;AAC/B,6BAA2D;AAC3D,gCAAmD;AAGnD,IAAAC,gBAA0D;AA6EjD,IAAAC,sBAAA;AArEF,IAAM,wBAA6D,CAAC,EAAE,UAAU,MAAM;AAC3F,QAAM,CAAC,KAAK,MAAM,QAAI,wBAA2B;AAEjD,QAAM,aAAS,2BAAY,OAAOC,eAAkC;AAhBtE;AAiBI,UAAMC,OAAM,QAAM,KAAAD,cAAA,gBAAAA,WAAW,QAAX,wBAAAA;AAClB,WAAOC,IAAG;AAAA,EACZ,GAAG,CAAC,CAAC;AAEL,+BAAU,MAAM;AACd,UAAM,YAAwC,CAAC;AAE/C,QAAI,uCAAW,QAAQ,SAAS,iDAA0B;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,iDAA0B;AACxD,cAAM,OAAO,SAAS;AAAA,MACxB,OAAO;AACL,eAAO,IAAI;AAAA,MACb;AAAA,IACF;AAAA,IACA,CAAC,WAAW,MAAM;AAAA,EACpB;AAEA,QAAM,eAAW,uBAAQ,MAAO,QAAQ,OAAO,CAAC,IAAI,2BAAK,OAAO,CAAC,YAAY,QAAQ,WAAW,+CAAsB,CAAC,GAAG,CAAC;AAC3H,QAAM,qBAAiB,uBAAQ,MAAO,QAAQ,OAAO,CAAC,IAAI,2BAAK,OAAO,CAAC,YAAY,QAAQ,WAAW,+CAAsB,CAAC,GAAG,CAAC;AACjI,QAAM,gBAAY;AAAA,IAChB,OACE,2BAAK;AAAA,MACH,CAAC,MAAM,YAAY;AACjB,cAAM,QAAI,0CAAe,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,cAAU;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,6CAAC,kBAAe,WAAsB,gBAAgC,UAAoB,SAAkB;AACrH;;;AJlDM,IAAAC,sBAAA;AAtBC,IAAM,uBAA0F,CAAC,EAAE,UAAU,QAAAC,SAAQ,GAAG,MAAM,MAAM;AACzI,QAAM,CAAC,QAAQ,SAAS,QAAI,wBAA0B;AACtD,QAAM,CAAC,MAAM,QAAI,+BAAU;AAE3B;AAAA;AAAA,IAEE,OAAO,YAAY;AACjB,UAAI,UAAUA,SAAQ;AACpB,cAAM,UAAU,oCAAc,KAAKA,SAAQ,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,CAACA,SAAQ,MAAM;AAAA,EACjB;AAEA,SACE,6CAAC,yCAAkB,QAAQA,SAAS,GAAG,OACrC,wDAAC,qCAAY,UAAS,QAAO,gBAAe,SAAQ,KAAK,GACtD;AAAA;AAAA,IACD,6CAAC,oBAAiB,QAAgB;AAAA,KACpC,GACF;AAEJ;;;AKtCA,uBAA+D;AAC/D,IAAAC,uBAAoD;AACpD,IAAAC,gBAAwB;AAOX,IAAAC,sBAAA;AAHb,IAAMC,kBAAiB,CAAC,cAAkC;AACxD,UAAQ,uCAAW,OAAO,QAAQ;AAAA,IAChC,KAAK,8CAA6B;AAChC,aAAO,6CAAC,yBAAsB,WAAsB;AAAA,IACtD;AAAA,IACA,SAAS;AACP,aAAO,6EAAE;AAAA,IACX;AAAA,EACF;AACF;AAEO,IAAM,sBAAwF,CAAC,EAAE,OAAO,QAAAC,SAAQ,GAAG,MAAM,MAAM;AACpI,QAAM,YAAQ,uBAAQ,MAAMD,gBAAeC,OAAM,GAAG,CAACA,OAAM,CAAC;AAC5D,SAAO,6CAAC,yCAAiB,QAAQA,SAAQ,OAAO,UAASA,WAAA,gBAAAA,QAAQ,OAAO,SAAQ,aAAa,QAAQ,OAAQ,GAAG,OAAO;AACzH;;;ANZI,IAAAC,sBAAA;AAFG,IAAM,gBAA4E,CAAC,EAAE,UAAU,QAAAC,SAAQ,GAAG,MAAM,MAAM;AAC3H,SACE,8CAAC,yBAAM,GAAG,OACR;AAAA,iDAAC,uBAAoB,QAAQA,SAAQ;AAAA,IACrC,6CAAC,wBAAqB,QAAQA,SAAQ;AAAA,IACrC;AAAA,IACD,6CAAC,0CAAkB,QAAQA,SAAQ;AAAA,KACrC;AAEJ;;;AOhBA,IAAAC,mBAAwC;AACxC,IAAAC,6BAA+B;AAC/B,0BAAyB;AACzB,IAAAC,wBAAsC;AACtC,IAAAC,oBAAsE;AACtE,kCAAyC;AAEzC,IAAAC,gBAAyB;;;ACPzB,IAAAC,0BAAuD;AACvD,wBAAwD;AAEjD,IAAM,uBAAuB,CAClC,yBACA,WACuD;AANzD;AAOE,QAAM,CAACC,SAAQ,KAAK,QAAI,qCAAkB,yBAAyB,MAAM;AACzE,QAAM,eAAW,6CAAoBA,OAAM;AAC3C,MAAIA,WAAU,CAAC,UAAU;AACvB,UAAMC,SAAQ,IAAI,MAAM,gDAA+C,KAAAD,QAAO,WAAP,mBAAe,MAAM,KAAI,KAAAA,QAAO,WAAP,mBAAe,IAAI,IAAIA,QAAO,OAAO,GAAG;AACxI,YAAQ,MAAMC,OAAM,OAAO;AAC3B,WAAO,CAAC,QAAWA,MAAK;AAAA,EAC1B;AACA,SAAO,CAAC,UAAU,KAAK;AACzB;;;ACfA,IAAAC,oBAAuD;AAEvD,IAAAC,qBAAyD;AAElD,IAAM,wBAAwB,CACnC,QACA,WACgE;AAChE,QAAM,CAAC,SAAS,KAAK,QAAI,uCAAmB,QAAQ,MAAM;AAC1D,MAAI,OAAO;AACT,WAAO,CAAC,MAAM,KAAK;AAAA,EACrB;AACA,SAAO,UACH;AAAA;AAAA,IAEE,QAAQ,OAA4B,CAAC,MAAMC,YAAW;AACpD,cAAI,uCAAoBA,OAAM,GAAG;AAC/B,aAAK,KAAKA,OAAM;AAAA,MAClB;AACA,aAAO;AAAA,IACT,GAAG,CAAC,CAAC;AAAA,IACL;AAAA,EACF,IACA,CAAC,SAAS,KAAK;AACrB;;;ACxBA,2BAA2B;AAE3B,IAAAC,uBAA2B;AAC3B,IAAAC,gBAAyB;AAElB,IAAM,kBAAkB,CAAC,cAAiC;AAC/D,QAAM,CAAC,OAAO,QAAQ,QAAI,wBAAgB;AAC1C,QAAM,CAAC,SAAS,OAAO,QAAI,iCAAW;AAEtC,QAAM,eAAW,iCAAW,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;;;ACrBA,IAAAC,wBAA2B;AAG3B,IAAAC,uBAA4C;AAErC,IAAM,kBAAkB,CAC7B,WACA,WAC0D;AAC1D,QAAM,CAAC,SAAS,OAAO,QAAI,iCAAW;AAEtC,QAAM,CAAC,UAAU,KAAK,QAAI,kCAAW,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;;;AJoCM,IAAAC,sBAAA;AA3CN,IAAM,kBAAkB,EAAE,QAAQ,6CAA2B;AAC7D,IAAM,qCAAqC,IAAI,qDAAyB,EAAE,MAAM,eAAe;AAE/F,IAAM,iBAAiB,EAAE,QAAQ,4CAA0B;AAC3D,IAAM,oCAAoC,IAAI,qDAAyB,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,QAAI,wBAAoB;AACpD,QAAM,CAAC,SAAS,UAAU,QAAI,wBAAS,CAAC;AACxC,QAAM,CAAC,iBAAiB,kBAAkB,QAAI,wBAAS,KAAK;AAC5D,QAAM,CAAC,gBAAgB,iBAAiB,QAAI,wBAAS,KAAK;AAE1D;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;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,8CAAC,iCAAS,GAAG,OACX;AAAA,iDAAC,+BAAY,uBAAa,WAAW,SAAS,SAAS,GAAG,IAAG;AAAA,IAC7D,8CAAC,gCACC;AAAA,mDAAC,gCAAS,WAAU,qCAAU,YAAW,KAAK,CAAC,aAAa,CAAC,iBAAiB,SAAS,MAAG;AAxDlG;AAwDqG,4DAAW,WAAX;AAAA,SAAuB,oBAEpH;AAAA,MACA,6CAAC,gCAAS,UAAU,CAAC,aAAa,CAAC,gBAAgB,SAAS,MAAG;AA3DvE;AA2D0E,4DAAW,UAAX;AAAA,SAAsB,mBAExF;AAAA,MACA;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":["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","import_react","import_archivist_model","module","error","import_archivist","import_react_node","module","import_react_module","import_react","error","import_react_promise","import_react_module","import_jsx_runtime","payloads"]}
|
package/dist/node/index.js
CHANGED
|
@@ -203,7 +203,7 @@ var useArchivistFromNode = (nameOrAddressOrInstance, config) => {
|
|
|
203
203
|
const [module, error] = useModuleFromNode(nameOrAddressOrInstance, config);
|
|
204
204
|
const instance = asArchivistInstance(module);
|
|
205
205
|
if (module && !instance) {
|
|
206
|
-
const error2 = Error(`Resolved module is not a ArchivistInstance [${(_a = module.config) == null ? void 0 : _a.schema}:${(_b = module.config) == null ? void 0 : _b.name}:${module.address}]`);
|
|
206
|
+
const error2 = new Error(`Resolved module is not a ArchivistInstance [${(_a = module.config) == null ? void 0 : _a.schema}:${(_b = module.config) == null ? void 0 : _b.name}:${module.address}]`);
|
|
207
207
|
console.error(error2.message);
|
|
208
208
|
return [void 0, error2];
|
|
209
209
|
}
|
package/dist/node/index.js.map
CHANGED
|
@@ -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/queries/useArchivistAll.tsx","../../src/hooks/queries/useArchivistGet.tsx"],"sourcesContent":["import { Card, CardProps } from '@mui/material'\nimport { ArchivistInstance } from '@xyo-network/archivist'\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'\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?.discover()\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'\nimport { useState } from 'react'\n\nimport { ArchivistParent } from './ArchivistParent'\n\nexport interface ArchivistParentsProps extends FlexBoxProps {\n config?: ArchivistConfig\n}\n\nexport const ArchivistParents: React.FC<ArchivistParentsProps> = ({ config, ...props }) => {\n const [parentArchivistCollapse, setParentArchivistCollapse] = useState(false)\n\n const { commit, read, write } = config?.parents ?? {}\n\n return (\n <>\n {commit || read || write ? (\n <FlexCol alignItems=\"start\" {...props}>\n <span onClick={() => setParentArchivistCollapse(!parentArchivistCollapse)}>\n <Typography variant=\"subtitle2\" sx={{ cursor: 'pointer', display: 'inline-block' }}>\n Parents\n </Typography>\n <IconButton size=\"small\">\n <ArrowRightRoundedIcon sx={{ rotate: parentArchivistCollapse ? '90deg' : '0deg', transition: 'all .25s' }} />\n </IconButton>\n </span>\n <Collapse in={parentArchivistCollapse}>\n <Paper elevation={2}>\n <List>\n <ArchivistParent archivistType=\"Commit\" parentArchivists={commit} />\n <ArchivistParent archivistType=\"Read\" parentArchivists={read} />\n <ArchivistParent archivistType=\"Write\" parentArchivists={write} />\n </List>\n </Paper>\n </Collapse>\n </FlexCol>\n ) : null}\n </>\n )\n}\n","import { Badge, Tooltip } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\n// eslint-disable-next-line import/no-internal-modules\nimport { BsFileEarmarkCode } from 'react-icons/bs/index.js'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc/index.js'\n\nexport interface ArchivistStatsProps {\n addresses?: Record<string, number>\n boundWitnesses?: Payload[] | null\n payloads?: Payload[] | null\n schemas?: Record<string, number>\n}\n\nexport const ArchivistStats: React.FC<ArchivistStatsProps> = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {\n return (\n <FlexRow gap={2} mr={0.5}>\n {payloads?.length ? (\n <Tooltip title=\"Payloads\">\n <Badge badgeContent={payloads?.length} color=\"primary\">\n <VscSymbolNamespace size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {boundWitnesses?.length ? (\n <Tooltip title=\"Blocks\">\n <Badge badgeContent={boundWitnesses?.length} color=\"primary\">\n <VscSymbolMethod size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {Object.entries(schemas).length > 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 { ArchivistInstance, MemoryArchivistConfigSchema } from '@xyo-network/archivist'\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'\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","import { ArchivistInstance, asArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\n\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 = 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","import { ArchivistInstance, isArchivistInstance } from '@xyo-network/archivist'\nimport { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\n\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 { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist'\nimport { useRefresh } from '@xyo-network/react-module'\nimport { useState } from 'react'\n\nexport const useArchivistAll = (archivist: ArchivistInstance) => {\n const [error, setError] = useState<Error>()\n const [enabled, refresh] = useRefresh()\n\n const payloads = usePromise(async () => {\n try {\n if (enabled) {\n return await archivist?.all?.()\n }\n } catch (ex) {\n const error = ex as Error\n setError(error)\n }\n }, [archivist, enabled])\n\n return [payloads, error, refresh]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist'\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?: string[],\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","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/queries/useArchivistAll.tsx","../../src/hooks/queries/useArchivistGet.tsx"],"sourcesContent":["import { Card, CardProps } from '@mui/material'\nimport { ArchivistInstance } from '@xyo-network/archivist'\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'\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?.discover()\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'\nimport { useState } from 'react'\n\nimport { ArchivistParent } from './ArchivistParent'\n\nexport interface ArchivistParentsProps extends FlexBoxProps {\n config?: ArchivistConfig\n}\n\nexport const ArchivistParents: React.FC<ArchivistParentsProps> = ({ config, ...props }) => {\n const [parentArchivistCollapse, setParentArchivistCollapse] = useState(false)\n\n const { commit, read, write } = config?.parents ?? {}\n\n return (\n <>\n {commit || read || write ?\n <FlexCol alignItems=\"start\" {...props}>\n <span onClick={() => setParentArchivistCollapse(!parentArchivistCollapse)}>\n <Typography variant=\"subtitle2\" sx={{ cursor: 'pointer', display: 'inline-block' }}>\n Parents\n </Typography>\n <IconButton size=\"small\">\n <ArrowRightRoundedIcon sx={{ rotate: parentArchivistCollapse ? '90deg' : '0deg', transition: 'all .25s' }} />\n </IconButton>\n </span>\n <Collapse in={parentArchivistCollapse}>\n <Paper elevation={2}>\n <List>\n <ArchivistParent archivistType=\"Commit\" parentArchivists={commit} />\n <ArchivistParent archivistType=\"Read\" parentArchivists={read} />\n <ArchivistParent archivistType=\"Write\" parentArchivists={write} />\n </List>\n </Paper>\n </Collapse>\n </FlexCol>\n : null}\n </>\n )\n}\n","import { Badge, Tooltip } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\n// eslint-disable-next-line import/no-internal-modules\nimport { BsFileEarmarkCode } from 'react-icons/bs/index.js'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc/index.js'\n\nexport interface ArchivistStatsProps {\n addresses?: Record<string, number>\n boundWitnesses?: Payload[] | null\n payloads?: Payload[] | null\n schemas?: Record<string, number>\n}\n\nexport const ArchivistStats: React.FC<ArchivistStatsProps> = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {\n return (\n <FlexRow gap={2} mr={0.5}>\n {payloads?.length ?\n <Tooltip title=\"Payloads\">\n <Badge badgeContent={payloads?.length} color=\"primary\">\n <VscSymbolNamespace size={20} />\n </Badge>\n </Tooltip>\n : null}\n {boundWitnesses?.length ?\n <Tooltip title=\"Blocks\">\n <Badge badgeContent={boundWitnesses?.length} color=\"primary\">\n <VscSymbolMethod size={20} />\n </Badge>\n </Tooltip>\n : null}\n {Object.entries(schemas).length > 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 { ArchivistInstance, MemoryArchivistConfigSchema } from '@xyo-network/archivist'\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'\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","import { ArchivistInstance, asArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\n\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","import { ArchivistInstance, isArchivistInstance } from '@xyo-network/archivist'\nimport { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\n\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 { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist'\nimport { useRefresh } from '@xyo-network/react-module'\nimport { useState } from 'react'\n\nexport const useArchivistAll = (archivist: ArchivistInstance) => {\n const [error, setError] = useState<Error>()\n const [enabled, refresh] = useRefresh()\n\n const payloads = usePromise(async () => {\n try {\n if (enabled) {\n return await archivist?.all?.()\n }\n } catch (ex) {\n const error = ex as Error\n setError(error)\n }\n }, [archivist, enabled])\n\n return [payloads, error, refresh]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ArchivistInstance } from '@xyo-network/archivist'\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?: string[],\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","useState","error","usePromise","useRefresh","jsx","jsxs","useState","useAsyncEffect","payloads","FlexCol","Typography"]}
|
package/package.json
CHANGED
|
@@ -10,21 +10,21 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@xylabs/react-async-effect": "^3.0
|
|
14
|
-
"@xylabs/react-button": "^3.0
|
|
15
|
-
"@xylabs/react-flexbox": "^3.0
|
|
16
|
-
"@xylabs/react-promise": "^3.0
|
|
17
|
-
"@xyo-network/archivist": "^2.
|
|
18
|
-
"@xyo-network/archivist-model": "^2.
|
|
19
|
-
"@xyo-network/boundwitness-builder": "^2.
|
|
20
|
-
"@xyo-network/boundwitness-model": "^2.
|
|
21
|
-
"@xyo-network/module-events": "^2.
|
|
22
|
-
"@xyo-network/module-model": "^2.
|
|
23
|
-
"@xyo-network/module-wrapper": "^2.
|
|
24
|
-
"@xyo-network/payload-model": "^2.
|
|
25
|
-
"@xyo-network/react-module": "~2.
|
|
26
|
-
"@xyo-network/react-node": "~2.
|
|
27
|
-
"@xyo-network/react-wallet": "~2.
|
|
13
|
+
"@xylabs/react-async-effect": "^3.1.0",
|
|
14
|
+
"@xylabs/react-button": "^3.1.0",
|
|
15
|
+
"@xylabs/react-flexbox": "^3.1.0",
|
|
16
|
+
"@xylabs/react-promise": "^3.1.0",
|
|
17
|
+
"@xyo-network/archivist": "^2.91.0",
|
|
18
|
+
"@xyo-network/archivist-model": "^2.91.0",
|
|
19
|
+
"@xyo-network/boundwitness-builder": "^2.91.0",
|
|
20
|
+
"@xyo-network/boundwitness-model": "^2.91.0",
|
|
21
|
+
"@xyo-network/module-events": "^2.91.0",
|
|
22
|
+
"@xyo-network/module-model": "^2.91.0",
|
|
23
|
+
"@xyo-network/module-wrapper": "^2.91.0",
|
|
24
|
+
"@xyo-network/payload-model": "^2.91.0",
|
|
25
|
+
"@xyo-network/react-module": "~2.69.0",
|
|
26
|
+
"@xyo-network/react-node": "~2.69.0",
|
|
27
|
+
"@xyo-network/react-wallet": "~2.69.0",
|
|
28
28
|
"react-icons": "^4.12.0"
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|
|
@@ -37,10 +37,10 @@
|
|
|
37
37
|
"description": "Common React library for all XYO projects that use React",
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@storybook/react": "^7.6.16",
|
|
40
|
-
"@xylabs/ts-scripts-yarn3": "^3.
|
|
41
|
-
"@xylabs/tsconfig-react": "^3.
|
|
42
|
-
"@xyo-network/account": "^2.
|
|
43
|
-
"@xyo-network/node-memory": "^2.
|
|
40
|
+
"@xylabs/ts-scripts-yarn3": "^3.4.1",
|
|
41
|
+
"@xylabs/tsconfig-react": "^3.4.1",
|
|
42
|
+
"@xyo-network/account": "^2.91.0",
|
|
43
|
+
"@xyo-network/node-memory": "^2.91.0",
|
|
44
44
|
"typescript": "^5.3.3"
|
|
45
45
|
},
|
|
46
46
|
"docs": "dist/docs.json",
|
|
@@ -93,6 +93,6 @@
|
|
|
93
93
|
},
|
|
94
94
|
"sideEffects": false,
|
|
95
95
|
"types": "dist/browser/index.d.ts",
|
|
96
|
-
"version": "2.
|
|
96
|
+
"version": "2.69.0",
|
|
97
97
|
"type": "module"
|
|
98
98
|
}
|
|
@@ -17,7 +17,7 @@ export const ArchivistParents: React.FC<ArchivistParentsProps> = ({ config, ...p
|
|
|
17
17
|
|
|
18
18
|
return (
|
|
19
19
|
<>
|
|
20
|
-
{commit || read || write ?
|
|
20
|
+
{commit || read || write ?
|
|
21
21
|
<FlexCol alignItems="start" {...props}>
|
|
22
22
|
<span onClick={() => setParentArchivistCollapse(!parentArchivistCollapse)}>
|
|
23
23
|
<Typography variant="subtitle2" sx={{ cursor: 'pointer', display: 'inline-block' }}>
|
|
@@ -37,7 +37,7 @@ export const ArchivistParents: React.FC<ArchivistParentsProps> = ({ config, ...p
|
|
|
37
37
|
</Paper>
|
|
38
38
|
</Collapse>
|
|
39
39
|
</FlexCol>
|
|
40
|
-
|
|
40
|
+
: null}
|
|
41
41
|
</>
|
|
42
42
|
)
|
|
43
43
|
}
|
|
@@ -16,34 +16,34 @@ export interface ArchivistStatsProps {
|
|
|
16
16
|
export const ArchivistStats: React.FC<ArchivistStatsProps> = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {
|
|
17
17
|
return (
|
|
18
18
|
<FlexRow gap={2} mr={0.5}>
|
|
19
|
-
{payloads?.length ?
|
|
19
|
+
{payloads?.length ?
|
|
20
20
|
<Tooltip title="Payloads">
|
|
21
21
|
<Badge badgeContent={payloads?.length} color="primary">
|
|
22
22
|
<VscSymbolNamespace size={20} />
|
|
23
23
|
</Badge>
|
|
24
24
|
</Tooltip>
|
|
25
|
-
|
|
26
|
-
{boundWitnesses?.length ?
|
|
25
|
+
: null}
|
|
26
|
+
{boundWitnesses?.length ?
|
|
27
27
|
<Tooltip title="Blocks">
|
|
28
28
|
<Badge badgeContent={boundWitnesses?.length} color="primary">
|
|
29
29
|
<VscSymbolMethod size={20} />
|
|
30
30
|
</Badge>
|
|
31
31
|
</Tooltip>
|
|
32
|
-
|
|
33
|
-
{Object.entries(schemas).length > 0 ?
|
|
32
|
+
: null}
|
|
33
|
+
{Object.entries(schemas).length > 0 ?
|
|
34
34
|
<Tooltip title="Schemas">
|
|
35
35
|
<Badge badgeContent={Object.entries(schemas).length} color="primary">
|
|
36
36
|
<BsFileEarmarkCode size={20} />
|
|
37
37
|
</Badge>
|
|
38
38
|
</Tooltip>
|
|
39
|
-
|
|
40
|
-
{Object.entries(addresses).length > 0 ?
|
|
39
|
+
: null}
|
|
40
|
+
{Object.entries(addresses).length > 0 ?
|
|
41
41
|
<Tooltip title="Addresses">
|
|
42
42
|
<Badge badgeContent={Object.entries(addresses).length} color="primary">
|
|
43
43
|
<VscOrganization size={20} />
|
|
44
44
|
</Badge>
|
|
45
45
|
</Tooltip>
|
|
46
|
-
|
|
46
|
+
: null}
|
|
47
47
|
</FlexRow>
|
|
48
48
|
)
|
|
49
49
|
}
|
|
@@ -8,7 +8,7 @@ export const useArchivistFromNode = (
|
|
|
8
8
|
const [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)
|
|
9
9
|
const instance = asArchivistInstance(module)
|
|
10
10
|
if (module && !instance) {
|
|
11
|
-
const error = Error(`Resolved module is not a ArchivistInstance [${module.config?.schema}:${module.config?.name}:${module.address}]`)
|
|
11
|
+
const error = new Error(`Resolved module is not a ArchivistInstance [${module.config?.schema}:${module.config?.name}:${module.address}]`)
|
|
12
12
|
console.error(error.message)
|
|
13
13
|
return [undefined, error]
|
|
14
14
|
}
|
|
@@ -10,8 +10,8 @@ export const useArchivistsFromNode = (
|
|
|
10
10
|
if (error) {
|
|
11
11
|
return [null, error]
|
|
12
12
|
}
|
|
13
|
-
return modules
|
|
14
|
-
|
|
13
|
+
return modules ?
|
|
14
|
+
[
|
|
15
15
|
// eslint-disable-next-line unicorn/no-array-reduce
|
|
16
16
|
modules.reduce<ArchivistInstance[]>((prev, module) => {
|
|
17
17
|
if (isArchivistInstance(module)) {
|