@xyo-network/react-archivist 4.3.10 → 4.4.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.
@@ -1,6 +1,6 @@
1
1
  import type { ArchivistInstance } from '@xyo-network/archivist-model';
2
- import type { ModuleFilter } from '@xyo-network/module-model';
2
+ import type { ModuleIdentifier } from '@xyo-network/module-model';
3
3
  import type { ModuleFromNodeConfig } from '@xyo-network/react-node';
4
4
  /** @deprecated use useWeakArchivistsFromNode */
5
- export declare const useArchivistsFromNode: (filter?: ModuleFilter, config?: ModuleFromNodeConfig) => [ArchivistInstance[] | null | undefined, Error | undefined];
5
+ export declare const useArchivistsFromNode: (ids?: ModuleIdentifier[], config?: ModuleFromNodeConfig) => [ArchivistInstance[] | null | undefined, Error | undefined];
6
6
  //# sourceMappingURL=useArchivistsFromNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useArchivistsFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useArchivistsFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAErE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAGnE,gDAAgD;AAChD,eAAO,MAAM,qBAAqB,YACvB,YAAY,WACZ,oBAAoB,KAC5B,CAAC,iBAAiB,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAiB5D,CAAA"}
1
+ {"version":3,"file":"useArchivistsFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useArchivistsFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAErE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAGnE,gDAAgD;AAChD,eAAO,MAAM,qBAAqB,SAC1B,gBAAgB,EAAE,WACf,oBAAoB,KAC5B,CAAC,iBAAiB,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAiB5D,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import type { ArchivistInstance } from '@xyo-network/archivist-model';
2
- import type { ModuleFilter } from '@xyo-network/module-model';
2
+ import type { ModuleIdentifier } from '@xyo-network/module-model';
3
3
  import type { ModuleFromNodeConfig } from '@xyo-network/react-node';
4
- export declare const useWeakArchivistsFromNode: (filter?: ModuleFilter, config?: ModuleFromNodeConfig) => [WeakRef<ArchivistInstance>[] | null | undefined, Error | undefined];
4
+ export declare const useWeakArchivistsFromNode: (ids?: ModuleIdentifier[], config?: ModuleFromNodeConfig) => [WeakRef<ArchivistInstance>[] | null | undefined, Error | undefined];
5
5
  //# sourceMappingURL=useWeakArchivistsFromNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWeakArchivistsFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakArchivistsFromNode.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAErE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAGnE,eAAO,MAAM,yBAAyB,YAC3B,YAAY,WACZ,oBAAoB,KAC5B,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAgBrE,CAAA"}
1
+ {"version":3,"file":"useWeakArchivistsFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakArchivistsFromNode.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAErE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAGnE,eAAO,MAAM,yBAAyB,SAC9B,gBAAgB,EAAE,WACf,oBAAoB,KAC5B,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAgBrE,CAAA"}
@@ -283,8 +283,8 @@ var useArchivistFromNode = /* @__PURE__ */ __name((nameOrAddressOrInstance, conf
283
283
  // src/hooks/node/useArchivistsFromNode.tsx
284
284
  import { isArchivistInstance } from "@xyo-network/archivist-model";
285
285
  import { useModulesFromNode } from "@xyo-network/react-node";
286
- var useArchivistsFromNode = /* @__PURE__ */ __name((filter, config) => {
287
- const [modules, error] = useModulesFromNode(filter, config);
286
+ var useArchivistsFromNode = /* @__PURE__ */ __name((ids, config) => {
287
+ const [modules, error] = useModulesFromNode(ids, config);
288
288
  if (error) {
289
289
  return [
290
290
  null,
@@ -320,8 +320,8 @@ var useWeakArchivistFromNode = /* @__PURE__ */ __name((nameOrAddressOrInstance,
320
320
  import { exists } from "@xylabs/exists";
321
321
  import { asArchivistInstance as asArchivistInstance2 } from "@xyo-network/archivist-model";
322
322
  import { useWeakModulesFromNode } from "@xyo-network/react-node";
323
- var useWeakArchivistsFromNode = /* @__PURE__ */ __name((filter, config) => {
324
- const [modules, error] = useWeakModulesFromNode(filter, config);
323
+ var useWeakArchivistsFromNode = /* @__PURE__ */ __name((ids, config) => {
324
+ const [modules, error] = useWeakModulesFromNode(ids, config);
325
325
  if (error) {
326
326
  return [
327
327
  null,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/Card/Card.tsx","../../src/components/Card/CardContent.tsx","../../src/components/Card/components/ArchivistParent.tsx","../../src/components/Card/components/ArchivistParents.tsx","../../src/components/Card/components/Stats/ArchivistStats.tsx","../../src/components/Card/components/Stats/MemoryArchivistStats.tsx","../../src/components/Card/CardHeader.tsx","../../src/components/Details/Details.tsx","../../src/hooks/node/useArchivistFromNode.tsx","../../src/hooks/node/useArchivistsFromNode.tsx","../../src/hooks/node/useWeakArchivistFromNode.tsx","../../src/hooks/node/useWeakArchivistsFromNode.tsx","../../src/hooks/queries/useArchivistAll.tsx","../../src/hooks/queries/useArchivistGet.tsx","../../src/hooks/queries/useWeakArchivistAll.tsx","../../src/hooks/queries/useWeakArchivistGet.tsx"],"sourcesContent":["import type { CardProps } from '@mui/material'\nimport { Card } from '@mui/material'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardActions } from '@xyo-network/react-module'\nimport React from 'react'\n\nimport { ArchivistCardContent } from './CardContent.tsx'\nimport { ArchivistCardHeader } from './CardHeader.tsx'\n\nexport const ArchivistCard: React.FC<CardProps & ModuleRenderProps<ArchivistInstance>> = ({\n children, mod, ...props\n}) => {\n return (\n <Card {...props}>\n <ArchivistCardHeader mod={mod} />\n <ArchivistCardContent mod={mod} />\n {children}\n <ModuleCardActions mod={mod} />\n </Card>\n )\n}\n","import type { CardContentProps } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport type { ArchivistConfig, ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleWrapper } from '@xyo-network/module-wrapper'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardContent } from '@xyo-network/react-module'\nimport { useWallet } from '@xyo-network/react-wallet'\nimport React, { useState } from 'react'\n\nimport { ArchivistParents } from './components/index.ts'\n\nexport const ArchivistCardContent: React.FC<ModuleRenderProps<ArchivistInstance> & CardContentProps> = ({\n children, mod, ...props\n}) => {\n const [config, setConfig] = useState<ArchivistConfig>()\n const [wallet] = useWallet()\n\n useAsyncEffect(\n async (mounted) => {\n if (wallet && mod) {\n const wrapper = ModuleWrapper.wrap(mod, wallet)\n const payloads = await wrapper?.state()\n if (mounted()) {\n setConfig(payloads?.[0] as ArchivistConfig)\n }\n } else {\n setConfig(undefined)\n }\n },\n [mod, wallet],\n )\n\n return (\n <ModuleCardContent mod={mod} {...props}>\n <FlexGrowRow flexWrap=\"wrap\" justifyContent=\"start\" gap={2}>\n {children}\n <ArchivistParents config={config} />\n </FlexGrowRow>\n </ModuleCardContent>\n )\n}\n","import { ListItem, Typography } from '@mui/material'\nimport React from 'react'\n\nexport interface ArchivistTypeProps {\n archivistType?: 'Commit' | 'Read' | 'Write'\n parentArchivists?: string[]\n}\n\nexport const ArchivistParent: React.FC<ArchivistTypeProps> = ({ archivistType, parentArchivists }) => (\n <>\n {parentArchivists?.map((address) => {\n return (\n <ListItem key={address}>\n <Typography variant=\"subtitle2\">\n {archivistType}\n :\n {' '}\n <Typography variant=\"caption\" sx={{ ml: 0.5 }}>\n {address}\n </Typography>\n </Typography>\n </ListItem>\n )\n })}\n </>\n)\n","import { ArrowRightRounded as ArrowRightRoundedIcon } from '@mui/icons-material'\nimport {\n Collapse, IconButton, List, Paper, Typography,\n} from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport type { ArchivistConfig } from '@xyo-network/archivist-model'\nimport React, { useState } from 'react'\n\nimport { ArchivistParent } from './ArchivistParent.tsx'\n\nexport interface ArchivistParentsProps extends FlexBoxProps {\n config?: ArchivistConfig\n}\n\nexport const ArchivistParents: React.FC<ArchivistParentsProps> = ({ config, ...props }) => {\n const [parentArchivistCollapse, setParentArchivistCollapse] = useState(false)\n\n const {\n commit, read, write,\n } = config?.parents ?? {}\n\n return (\n <>\n {commit || read || write\n ? (\n <FlexCol alignItems=\"start\" {...props}>\n <span onClick={() => setParentArchivistCollapse(!parentArchivistCollapse)}>\n <Typography\n variant=\"subtitle2\"\n sx={{ cursor: 'pointer', display: 'inline-block' }}\n >\n Parents\n </Typography>\n <IconButton size=\"small\">\n <ArrowRightRoundedIcon sx={{ rotate: parentArchivistCollapse ? '90deg' : '0deg', transition: 'all .25s' }} />\n </IconButton>\n </span>\n <Collapse in={parentArchivistCollapse}>\n <Paper elevation={2}>\n <List>\n <ArchivistParent archivistType=\"Commit\" parentArchivists={commit} />\n <ArchivistParent archivistType=\"Read\" parentArchivists={read} />\n <ArchivistParent archivistType=\"Write\" parentArchivists={write} />\n </List>\n </Paper>\n </Collapse>\n </FlexCol>\n )\n : null}\n </>\n )\n}\n","import { Badge, Tooltip } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React from 'react'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { BsFileEarmarkCode } from 'react-icons/bs'\nimport {\n VscOrganization, VscSymbolMethod, VscSymbolNamespace,\n// eslint-disable-next-line import-x/no-internal-modules\n} from 'react-icons/vsc'\n\nexport interface ArchivistStatsProps {\n addresses?: Record<string, number>\n boundWitnesses?: Payload[] | null\n payloads?: Payload[] | null\n schemas?: Record<string, number>\n}\n\nexport const ArchivistStats: React.FC<ArchivistStatsProps> = ({\n addresses, boundWitnesses, payloads, schemas,\n}) => {\n return (\n <FlexRow gap={2} mr={0.5}>\n {payloads?.length\n ? (\n <Tooltip title=\"Payloads\">\n <Badge badgeContent={payloads?.length} color=\"primary\">\n <VscSymbolNamespace size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n {boundWitnesses?.length\n ? (\n <Tooltip title=\"Blocks\">\n <Badge badgeContent={boundWitnesses?.length} color=\"primary\">\n <VscSymbolMethod size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n {Object.entries(schemas ?? {}).length > 0\n ? (\n <Tooltip title=\"Schemas\">\n <Badge badgeContent={Object.entries(schemas ?? {}).length} color=\"primary\">\n <BsFileEarmarkCode size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n {Object.entries(addresses ?? {}).length > 0\n ? (\n <Tooltip title=\"Addresses\">\n <Badge badgeContent={Object.entries(addresses ?? {}).length} color=\"primary\">\n <VscOrganization size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n </FlexRow>\n )\n}\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ArchivistAllQuerySchema } from '@xyo-network/archivist-model'\nimport { asBoundWitness, BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport type { EventUnsubscribeFunction } from '@xyo-network/module-events'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React, {\n useCallback, useEffect, useMemo, useState,\n} from 'react'\n\nimport { ArchivistStats } from './ArchivistStats.tsx'\n\nexport interface MemoryArchivistStatsProps {\n archivist?: ArchivistInstance\n}\n\nexport const MemoryArchivistsStats: React.FC<MemoryArchivistStatsProps> = ({ archivist }) => {\n const [all, setAll] = useState<Payload[] | null>()\n\n const getAll = useCallback(async (archivist?: ArchivistInstance) => {\n const all = await archivist?.all?.()\n setAll(all)\n }, [])\n\n useEffect(() => {\n const listeners: EventUnsubscribeFunction[] = []\n\n if (archivist?.queries.includes(ArchivistAllQuerySchema)) {\n const insertListener = archivist.on('inserted', async () => {\n await getAll(archivist)\n })\n listeners.push(insertListener)\n\n const clearListener = archivist.on('cleared', async () => {\n await getAll(archivist)\n })\n listeners.push(clearListener)\n }\n\n return () => {\n for (const listener of listeners) listener?.()\n }\n }, [archivist, getAll])\n\n useAsyncEffect(\n async () => {\n if (archivist?.queries.includes(ArchivistAllQuerySchema)) {\n await getAll(archivist)\n } else {\n setAll(null)\n }\n },\n [archivist, getAll],\n )\n\n const payloads = useMemo(() => (all === null ? [] : all?.filter(payload => payload.schema !== BoundWitnessSchema)), [all])\n const boundWitnesses = useMemo(() => (all === null ? [] : all?.filter(payload => payload.schema === BoundWitnessSchema)), [all])\n const addresses = useMemo(\n () =>\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 type { CardHeaderProps } from '@mui/material'\nimport { MemoryArchivistConfigSchema } from '@xyo-network/archivist-memory'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardHeader } from '@xyo-network/react-module'\nimport React, { useMemo } from 'react'\n\nimport { MemoryArchivistsStats } from './components/index.ts'\n\nconst ArchivistStats = (archivist?: ArchivistInstance) => {\n switch (archivist?.config.schema) {\n case MemoryArchivistConfigSchema: {\n return <MemoryArchivistsStats archivist={archivist} />\n }\n default: {\n return <></>\n }\n }\n}\n\nexport const ArchivistCardHeader: React.FC<ModuleRenderProps<ArchivistInstance> & CardHeaderProps> = ({\n title, mod, ...props\n}) => {\n const Stats = useMemo(() => ArchivistStats(mod), [mod])\n return <ModuleCardHeader mod={mod} title={title ?? mod?.config.name ?? 'Archivist'} action={Stats} {...props} />\n}\n","import { ButtonGroup, Typography } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ButtonEx } from '@xylabs/react-button'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { ArchivistClearQuerySchema, ArchivistCommitQuerySchema } from '@xyo-network/archivist-model'\nimport { QueryBoundWitnessBuilder } from '@xyo-network/boundwitness-builder'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React, { useState } from 'react'\n\nimport { useWeakArchivistFromNode } from '../../hooks/index.ts'\n\nconst testQueryCommit = { schema: ArchivistCommitQuerySchema }\nconst testQueryCommitBoundWitnessBuilder = new QueryBoundWitnessBuilder().query(testQueryCommit)\n\nconst testQueryClear = { schema: ArchivistClearQuerySchema }\nconst testQueryClearBoundWitnessBuilder = new QueryBoundWitnessBuilder().query(testQueryClear)\n\nexport interface ArchivistDetails extends FlexBoxProps {\n address?: string\n}\n\nexport const ArchivistDetails: React.FC<ArchivistDetails> = ({ address, ...props }) => {\n const [archivist] = useWeakArchivistFromNode(address)\n const [payloads, setPayloads] = useState<Payload[]>()\n const [refresh, setRefresh] = useState(0)\n const [queryableCommit, setQueryableCommit] = useState(false)\n const [queryableClear, setQueryableClear] = useState(false)\n\n useAsyncEffect(\n async () => {\n const instance = archivist?.deref()\n if (instance) {\n const [commitBW] = await (await testQueryCommitBoundWitnessBuilder).build()\n const [clearBW] = await (await testQueryClearBoundWitnessBuilder).build()\n setQueryableCommit(await instance?.queryable(commitBW, [testQueryCommit]))\n setQueryableClear(await instance?.queryable(clearBW, [testQueryClear]))\n }\n },\n [archivist],\n )\n\n useAsyncEffect(\n async (mounted) => {\n const payloads = await archivist?.deref()?.all?.()\n if (mounted()) {\n setPayloads(payloads)\n }\n },\n [archivist, refresh],\n )\n\n return (\n <FlexCol {...props}>\n <Typography>{`Payloads: ${payloads ? payloads.length : '-'}`}</Typography>\n <ButtonGroup>\n <ButtonEx disabled={payloads?.length === 0 || !archivist || !queryableCommit} onClick={() => archivist?.deref()?.commit?.()}>\n Commit\n </ButtonEx>\n <ButtonEx disabled={!archivist || !queryableClear} onClick={() => archivist?.deref()?.clear?.()}>\n Clear\n </ButtonEx>\n <ButtonEx\n disabled={!archivist}\n onClick={() => {\n setRefresh(refresh + 1)\n }}\n >\n Refresh\n </ButtonEx>\n </ButtonGroup>\n </FlexCol>\n )\n}\n","import type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { asArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useModuleFromNode } from '@xyo-network/react-node'\n\n/** @deprecated use useWeakArchivistFromNode */\nexport const useArchivistFromNode = (\n nameOrAddressOrInstance?: string | ArchivistInstance,\n config?: ModuleFromNodeConfig,\n): [ArchivistInstance | undefined, Error | undefined] => {\n const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asArchivistInstance(mod)\n if (mod && !instance) {\n const error = new Error(`Resolved module is not a ArchivistInstance [${mod.config?.schema}:${mod.config?.name}:${mod.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n","import type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { isArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleFilter } from '@xyo-network/module-model'\nimport type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useModulesFromNode } from '@xyo-network/react-node'\n\n/** @deprecated use useWeakArchivistsFromNode */\nexport const useArchivistsFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [ArchivistInstance[] | null | undefined, Error | undefined] => {\n const [modules, error] = useModulesFromNode(filter, config)\n if (error) {\n return [null, error]\n }\n return modules\n ? [\n // eslint-disable-next-line unicorn/no-array-reduce\n modules.reduce<ArchivistInstance[]>((prev, mod) => {\n if (isArchivistInstance(mod)) {\n prev.push(mod)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { isArchivistInstance } from '@xyo-network/archivist-model'\nimport type { WeakModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useWeakModuleFromNode } from '@xyo-network/react-node'\n\nexport const useWeakArchivistFromNode = (\n nameOrAddressOrInstance?: string | ArchivistInstance,\n config?: WeakModuleFromNodeConfig,\n): [WeakRef<ArchivistInstance> | undefined, Error | undefined] => {\n return useWeakModuleFromNode<ArchivistInstance>(nameOrAddressOrInstance, { identity: isArchivistInstance, ...config })\n}\n","import { exists } from '@xylabs/exists'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { asArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleFilter } from '@xyo-network/module-model'\nimport type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useWeakModulesFromNode } from '@xyo-network/react-node'\n\nexport const useWeakArchivistsFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WeakRef<ArchivistInstance>[] | null | undefined, Error | undefined] => {\n const [modules, error] = useWeakModulesFromNode(filter, config)\n if (error) {\n return [null, error]\n }\n return [\n modules\n ?.map((mod) => {\n const instance = asArchivistInstance(mod?.deref())\n if (instance) {\n return new WeakRef(instance)\n }\n })\n .filter(exists) ?? [],\n undefined,\n ]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { useRefresh } from '@xyo-network/react-module'\nimport { useState } from 'react'\n\nexport const useArchivistAll = (archivist: ArchivistInstance) => {\n const [error, setError] = useState<Error>()\n const [enabled, refresh] = useRefresh()\n\n const payloads = usePromise(async () => {\n try {\n if (enabled) {\n return await archivist?.all?.()\n }\n } catch (ex) {\n const error = ex as Error\n setError(error)\n }\n }, [archivist, enabled])\n\n return [payloads, error, refresh]\n}\n","import type { Hash } from '@xylabs/hex'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { Payload, WithStorageMeta } from '@xyo-network/payload-model'\nimport type { RefreshCallback } from '@xyo-network/react-module'\nimport { useRefresh } from '@xyo-network/react-module'\n\nexport const useArchivistGet = <T extends Payload = Payload>(\n archivist?: ArchivistInstance | null,\n hashes?: Hash[],\n): [T[] | undefined, Error | undefined, RefreshCallback] => {\n const [enabled, refresh] = useRefresh()\n\n const [payloads, error] = usePromise(async () => {\n if (enabled && archivist && hashes) {\n return (await archivist.get(hashes)) as WithStorageMeta<T>[]\n }\n }, [archivist, hashes, enabled])\n\n return [payloads, error, refresh]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { useRefresh } from '@xyo-network/react-module'\nimport { useState } from 'react'\n\nexport const useWeakArchivistAll = (archivist: WeakRef<ArchivistInstance>) => {\n const [error, setError] = useState<Error>()\n const [enabled, refresh] = useRefresh()\n\n const payloads = usePromise(async () => {\n try {\n if (enabled) {\n return await archivist?.deref()?.all?.()\n }\n } catch (ex) {\n const error = ex as Error\n setError(error)\n }\n }, [archivist, enabled])\n\n return [payloads, error, refresh]\n}\n","import type { Hash } from '@xylabs/hex'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { Payload, WithStorageMeta } from '@xyo-network/payload-model'\nimport type { RefreshCallback } from '@xyo-network/react-module'\nimport { useRefresh } from '@xyo-network/react-module'\n\nexport const useWeakArchivistGet = <T extends Payload = Payload>(\n archivist?: WeakRef<ArchivistInstance> | null,\n hashes?: Hash[],\n): [T[] | undefined, Error | undefined, RefreshCallback] => {\n const [enabled, refresh] = useRefresh()\n\n const [payloads, error] = usePromise(async () => {\n const archivistInstance = archivist?.deref()\n if (enabled && archivistInstance && hashes) {\n return (await archivistInstance.get(hashes)) as WithStorageMeta<T>[]\n }\n }, [archivist, hashes, enabled])\n\n return [payloads, error, refresh]\n}\n"],"mappings":"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","names":["Card","ModuleCardActions","React","useAsyncEffect","FlexGrowRow","ModuleWrapper","ModuleCardContent","useWallet","React","useState","ListItem","Typography","React","ArchivistParent","archivistType","parentArchivists","map","address","ListItem","key","Typography","variant","sx","ml","ArrowRightRounded","ArrowRightRoundedIcon","Collapse","IconButton","List","Paper","Typography","FlexCol","React","useState","ArchivistParents","config","props","parentArchivistCollapse","setParentArchivistCollapse","useState","commit","read","write","parents","React","FlexCol","alignItems","span","onClick","Typography","variant","sx","cursor","display","IconButton","size","ArrowRightRoundedIcon","rotate","transition","Collapse","in","Paper","elevation","List","ArchivistParent","archivistType","parentArchivists","Badge","Tooltip","FlexRow","React","BsFileEarmarkCode","VscOrganization","VscSymbolMethod","VscSymbolNamespace","ArchivistStats","addresses","boundWitnesses","payloads","schemas","React","FlexRow","gap","mr","length","Tooltip","title","Badge","badgeContent","color","VscSymbolNamespace","size","VscSymbolMethod","Object","entries","BsFileEarmarkCode","VscOrganization","useAsyncEffect","ArchivistAllQuerySchema","asBoundWitness","BoundWitnessSchema","React","useCallback","useEffect","useMemo","useState","MemoryArchivistsStats","archivist","all","setAll","useState","getAll","useCallback","useEffect","listeners","queries","includes","ArchivistAllQuerySchema","insertListener","on","push","clearListener","listener","useAsyncEffect","payloads","useMemo","filter","payload","schema","BoundWitnessSchema","boundWitnesses","addresses","reduce","prev","w","asBoundWitness","address","schemas","React","ArchivistStats","ArchivistCardContent","children","mod","props","config","setConfig","useState","wallet","useWallet","useAsyncEffect","mounted","wrapper","ModuleWrapper","wrap","payloads","state","undefined","React","ModuleCardContent","FlexGrowRow","flexWrap","justifyContent","gap","ArchivistParents","MemoryArchivistConfigSchema","ModuleCardHeader","React","useMemo","ArchivistStats","archivist","config","schema","MemoryArchivistConfigSchema","React","MemoryArchivistsStats","ArchivistCardHeader","title","mod","props","Stats","useMemo","ModuleCardHeader","name","action","ArchivistCard","children","mod","props","React","Card","ArchivistCardHeader","ArchivistCardContent","ModuleCardActions","ButtonGroup","Typography","useAsyncEffect","ButtonEx","FlexCol","ArchivistClearQuerySchema","ArchivistCommitQuerySchema","QueryBoundWitnessBuilder","React","useState","asArchivistInstance","useModuleFromNode","useArchivistFromNode","nameOrAddressOrInstance","config","mod","error","useModuleFromNode","instance","asArchivistInstance","Error","schema","name","address","console","message","undefined","isArchivistInstance","useModulesFromNode","useArchivistsFromNode","filter","config","modules","error","useModulesFromNode","reduce","prev","mod","isArchivistInstance","push","undefined","isArchivistInstance","useWeakModuleFromNode","useWeakArchivistFromNode","nameOrAddressOrInstance","config","useWeakModuleFromNode","identity","isArchivistInstance","exists","asArchivistInstance","useWeakModulesFromNode","useWeakArchivistsFromNode","filter","config","modules","error","useWeakModulesFromNode","map","mod","instance","asArchivistInstance","deref","WeakRef","exists","undefined","usePromise","useRefresh","useState","useArchivistAll","archivist","error","setError","useState","enabled","refresh","useRefresh","payloads","usePromise","all","ex","usePromise","useRefresh","useArchivistGet","archivist","hashes","enabled","refresh","useRefresh","payloads","error","usePromise","get","usePromise","useRefresh","useState","useWeakArchivistAll","archivist","error","setError","useState","enabled","refresh","useRefresh","payloads","usePromise","deref","all","ex","usePromise","useRefresh","useWeakArchivistGet","archivist","hashes","enabled","refresh","useRefresh","payloads","error","usePromise","archivistInstance","deref","get","testQueryCommit","schema","ArchivistCommitQuerySchema","testQueryCommitBoundWitnessBuilder","QueryBoundWitnessBuilder","query","testQueryClear","ArchivistClearQuerySchema","testQueryClearBoundWitnessBuilder","ArchivistDetails","address","props","archivist","useWeakArchivistFromNode","payloads","setPayloads","useState","refresh","setRefresh","queryableCommit","setQueryableCommit","queryableClear","setQueryableClear","useAsyncEffect","instance","deref","commitBW","build","clearBW","queryable","mounted","all","React","FlexCol","Typography","length","ButtonGroup","ButtonEx","disabled","onClick","commit","clear"]}
1
+ {"version":3,"sources":["../../src/components/Card/Card.tsx","../../src/components/Card/CardContent.tsx","../../src/components/Card/components/ArchivistParent.tsx","../../src/components/Card/components/ArchivistParents.tsx","../../src/components/Card/components/Stats/ArchivistStats.tsx","../../src/components/Card/components/Stats/MemoryArchivistStats.tsx","../../src/components/Card/CardHeader.tsx","../../src/components/Details/Details.tsx","../../src/hooks/node/useArchivistFromNode.tsx","../../src/hooks/node/useArchivistsFromNode.tsx","../../src/hooks/node/useWeakArchivistFromNode.tsx","../../src/hooks/node/useWeakArchivistsFromNode.tsx","../../src/hooks/queries/useArchivistAll.tsx","../../src/hooks/queries/useArchivistGet.tsx","../../src/hooks/queries/useWeakArchivistAll.tsx","../../src/hooks/queries/useWeakArchivistGet.tsx"],"sourcesContent":["import type { CardProps } from '@mui/material'\nimport { Card } from '@mui/material'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardActions } from '@xyo-network/react-module'\nimport React from 'react'\n\nimport { ArchivistCardContent } from './CardContent.tsx'\nimport { ArchivistCardHeader } from './CardHeader.tsx'\n\nexport const ArchivistCard: React.FC<CardProps & ModuleRenderProps<ArchivistInstance>> = ({\n children, mod, ...props\n}) => {\n return (\n <Card {...props}>\n <ArchivistCardHeader mod={mod} />\n <ArchivistCardContent mod={mod} />\n {children}\n <ModuleCardActions mod={mod} />\n </Card>\n )\n}\n","import type { CardContentProps } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport type { ArchivistConfig, ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleWrapper } from '@xyo-network/module-wrapper'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardContent } from '@xyo-network/react-module'\nimport { useWallet } from '@xyo-network/react-wallet'\nimport React, { useState } from 'react'\n\nimport { ArchivistParents } from './components/index.ts'\n\nexport const ArchivistCardContent: React.FC<ModuleRenderProps<ArchivistInstance> & CardContentProps> = ({\n children, mod, ...props\n}) => {\n const [config, setConfig] = useState<ArchivistConfig>()\n const [wallet] = useWallet()\n\n useAsyncEffect(\n async (mounted) => {\n if (wallet && mod) {\n const wrapper = ModuleWrapper.wrap(mod, wallet)\n const payloads = await wrapper?.state()\n if (mounted()) {\n setConfig(payloads?.[0] as ArchivistConfig)\n }\n } else {\n setConfig(undefined)\n }\n },\n [mod, wallet],\n )\n\n return (\n <ModuleCardContent mod={mod} {...props}>\n <FlexGrowRow flexWrap=\"wrap\" justifyContent=\"start\" gap={2}>\n {children}\n <ArchivistParents config={config} />\n </FlexGrowRow>\n </ModuleCardContent>\n )\n}\n","import { ListItem, Typography } from '@mui/material'\nimport React from 'react'\n\nexport interface ArchivistTypeProps {\n archivistType?: 'Commit' | 'Read' | 'Write'\n parentArchivists?: string[]\n}\n\nexport const ArchivistParent: React.FC<ArchivistTypeProps> = ({ archivistType, parentArchivists }) => (\n <>\n {parentArchivists?.map((address) => {\n return (\n <ListItem key={address}>\n <Typography variant=\"subtitle2\">\n {archivistType}\n :\n {' '}\n <Typography variant=\"caption\" sx={{ ml: 0.5 }}>\n {address}\n </Typography>\n </Typography>\n </ListItem>\n )\n })}\n </>\n)\n","import { ArrowRightRounded as ArrowRightRoundedIcon } from '@mui/icons-material'\nimport {\n Collapse, IconButton, List, Paper, Typography,\n} from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport type { ArchivistConfig } from '@xyo-network/archivist-model'\nimport React, { useState } from 'react'\n\nimport { ArchivistParent } from './ArchivistParent.tsx'\n\nexport interface ArchivistParentsProps extends FlexBoxProps {\n config?: ArchivistConfig\n}\n\nexport const ArchivistParents: React.FC<ArchivistParentsProps> = ({ config, ...props }) => {\n const [parentArchivistCollapse, setParentArchivistCollapse] = useState(false)\n\n const {\n commit, read, write,\n } = config?.parents ?? {}\n\n return (\n <>\n {commit || read || write\n ? (\n <FlexCol alignItems=\"start\" {...props}>\n <span onClick={() => setParentArchivistCollapse(!parentArchivistCollapse)}>\n <Typography\n variant=\"subtitle2\"\n sx={{ cursor: 'pointer', display: 'inline-block' }}\n >\n Parents\n </Typography>\n <IconButton size=\"small\">\n <ArrowRightRoundedIcon sx={{ rotate: parentArchivistCollapse ? '90deg' : '0deg', transition: 'all .25s' }} />\n </IconButton>\n </span>\n <Collapse in={parentArchivistCollapse}>\n <Paper elevation={2}>\n <List>\n <ArchivistParent archivistType=\"Commit\" parentArchivists={commit} />\n <ArchivistParent archivistType=\"Read\" parentArchivists={read} />\n <ArchivistParent archivistType=\"Write\" parentArchivists={write} />\n </List>\n </Paper>\n </Collapse>\n </FlexCol>\n )\n : null}\n </>\n )\n}\n","import { Badge, Tooltip } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React from 'react'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { BsFileEarmarkCode } from 'react-icons/bs'\nimport {\n VscOrganization, VscSymbolMethod, VscSymbolNamespace,\n// eslint-disable-next-line import-x/no-internal-modules\n} from 'react-icons/vsc'\n\nexport interface ArchivistStatsProps {\n addresses?: Record<string, number>\n boundWitnesses?: Payload[] | null\n payloads?: Payload[] | null\n schemas?: Record<string, number>\n}\n\nexport const ArchivistStats: React.FC<ArchivistStatsProps> = ({\n addresses, boundWitnesses, payloads, schemas,\n}) => {\n return (\n <FlexRow gap={2} mr={0.5}>\n {payloads?.length\n ? (\n <Tooltip title=\"Payloads\">\n <Badge badgeContent={payloads?.length} color=\"primary\">\n <VscSymbolNamespace size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n {boundWitnesses?.length\n ? (\n <Tooltip title=\"Blocks\">\n <Badge badgeContent={boundWitnesses?.length} color=\"primary\">\n <VscSymbolMethod size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n {Object.entries(schemas ?? {}).length > 0\n ? (\n <Tooltip title=\"Schemas\">\n <Badge badgeContent={Object.entries(schemas ?? {}).length} color=\"primary\">\n <BsFileEarmarkCode size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n {Object.entries(addresses ?? {}).length > 0\n ? (\n <Tooltip title=\"Addresses\">\n <Badge badgeContent={Object.entries(addresses ?? {}).length} color=\"primary\">\n <VscOrganization size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n </FlexRow>\n )\n}\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ArchivistAllQuerySchema } from '@xyo-network/archivist-model'\nimport { asBoundWitness, BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport type { EventUnsubscribeFunction } from '@xyo-network/module-events'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React, {\n useCallback, useEffect, useMemo, useState,\n} from 'react'\n\nimport { ArchivistStats } from './ArchivistStats.tsx'\n\nexport interface MemoryArchivistStatsProps {\n archivist?: ArchivistInstance\n}\n\nexport const MemoryArchivistsStats: React.FC<MemoryArchivistStatsProps> = ({ archivist }) => {\n const [all, setAll] = useState<Payload[] | null>()\n\n const getAll = useCallback(async (archivist?: ArchivistInstance) => {\n const all = await archivist?.all?.()\n setAll(all)\n }, [])\n\n useEffect(() => {\n const listeners: EventUnsubscribeFunction[] = []\n\n if (archivist?.queries.includes(ArchivistAllQuerySchema)) {\n const insertListener = archivist.on('inserted', async () => {\n await getAll(archivist)\n })\n listeners.push(insertListener)\n\n const clearListener = archivist.on('cleared', async () => {\n await getAll(archivist)\n })\n listeners.push(clearListener)\n }\n\n return () => {\n for (const listener of listeners) listener?.()\n }\n }, [archivist, getAll])\n\n useAsyncEffect(\n async () => {\n if (archivist?.queries.includes(ArchivistAllQuerySchema)) {\n await getAll(archivist)\n } else {\n setAll(null)\n }\n },\n [archivist, getAll],\n )\n\n const payloads = useMemo(() => (all === null ? [] : all?.filter(payload => payload.schema !== BoundWitnessSchema)), [all])\n const boundWitnesses = useMemo(() => (all === null ? [] : all?.filter(payload => payload.schema === BoundWitnessSchema)), [all])\n const addresses = useMemo(\n () =>\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 type { CardHeaderProps } from '@mui/material'\nimport { MemoryArchivistConfigSchema } from '@xyo-network/archivist-memory'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardHeader } from '@xyo-network/react-module'\nimport React, { useMemo } from 'react'\n\nimport { MemoryArchivistsStats } from './components/index.ts'\n\nconst ArchivistStats = (archivist?: ArchivistInstance) => {\n switch (archivist?.config.schema) {\n case MemoryArchivistConfigSchema: {\n return <MemoryArchivistsStats archivist={archivist} />\n }\n default: {\n return <></>\n }\n }\n}\n\nexport const ArchivistCardHeader: React.FC<ModuleRenderProps<ArchivistInstance> & CardHeaderProps> = ({\n title, mod, ...props\n}) => {\n const Stats = useMemo(() => ArchivistStats(mod), [mod])\n return <ModuleCardHeader mod={mod} title={title ?? mod?.config.name ?? 'Archivist'} action={Stats} {...props} />\n}\n","import { ButtonGroup, Typography } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ButtonEx } from '@xylabs/react-button'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { ArchivistClearQuerySchema, ArchivistCommitQuerySchema } from '@xyo-network/archivist-model'\nimport { QueryBoundWitnessBuilder } from '@xyo-network/boundwitness-builder'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React, { useState } from 'react'\n\nimport { useWeakArchivistFromNode } from '../../hooks/index.ts'\n\nconst testQueryCommit = { schema: ArchivistCommitQuerySchema }\nconst testQueryCommitBoundWitnessBuilder = new QueryBoundWitnessBuilder().query(testQueryCommit)\n\nconst testQueryClear = { schema: ArchivistClearQuerySchema }\nconst testQueryClearBoundWitnessBuilder = new QueryBoundWitnessBuilder().query(testQueryClear)\n\nexport interface ArchivistDetails extends FlexBoxProps {\n address?: string\n}\n\nexport const ArchivistDetails: React.FC<ArchivistDetails> = ({ address, ...props }) => {\n const [archivist] = useWeakArchivistFromNode(address)\n const [payloads, setPayloads] = useState<Payload[]>()\n const [refresh, setRefresh] = useState(0)\n const [queryableCommit, setQueryableCommit] = useState(false)\n const [queryableClear, setQueryableClear] = useState(false)\n\n useAsyncEffect(\n async () => {\n const instance = archivist?.deref()\n if (instance) {\n const [commitBW] = await (await testQueryCommitBoundWitnessBuilder).build()\n const [clearBW] = await (await testQueryClearBoundWitnessBuilder).build()\n setQueryableCommit(await instance?.queryable(commitBW, [testQueryCommit]))\n setQueryableClear(await instance?.queryable(clearBW, [testQueryClear]))\n }\n },\n [archivist],\n )\n\n useAsyncEffect(\n async (mounted) => {\n const payloads = await archivist?.deref()?.all?.()\n if (mounted()) {\n setPayloads(payloads)\n }\n },\n [archivist, refresh],\n )\n\n return (\n <FlexCol {...props}>\n <Typography>{`Payloads: ${payloads ? payloads.length : '-'}`}</Typography>\n <ButtonGroup>\n <ButtonEx disabled={payloads?.length === 0 || !archivist || !queryableCommit} onClick={() => archivist?.deref()?.commit?.()}>\n Commit\n </ButtonEx>\n <ButtonEx disabled={!archivist || !queryableClear} onClick={() => archivist?.deref()?.clear?.()}>\n Clear\n </ButtonEx>\n <ButtonEx\n disabled={!archivist}\n onClick={() => {\n setRefresh(refresh + 1)\n }}\n >\n Refresh\n </ButtonEx>\n </ButtonGroup>\n </FlexCol>\n )\n}\n","import type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { asArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useModuleFromNode } from '@xyo-network/react-node'\n\n/** @deprecated use useWeakArchivistFromNode */\nexport const useArchivistFromNode = (\n nameOrAddressOrInstance?: string | ArchivistInstance,\n config?: ModuleFromNodeConfig,\n): [ArchivistInstance | undefined, Error | undefined] => {\n const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asArchivistInstance(mod)\n if (mod && !instance) {\n const error = new Error(`Resolved module is not a ArchivistInstance [${mod.config?.schema}:${mod.config?.name}:${mod.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n","import type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { isArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleIdentifier } from '@xyo-network/module-model'\nimport type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useModulesFromNode } from '@xyo-network/react-node'\n\n/** @deprecated use useWeakArchivistsFromNode */\nexport const useArchivistsFromNode = (\n ids?: ModuleIdentifier[],\n config?: ModuleFromNodeConfig,\n): [ArchivistInstance[] | null | undefined, Error | undefined] => {\n const [modules, error] = useModulesFromNode(ids, config)\n if (error) {\n return [null, error]\n }\n return modules\n ? [\n // eslint-disable-next-line unicorn/no-array-reduce\n modules.reduce<ArchivistInstance[]>((prev, mod) => {\n if (isArchivistInstance(mod)) {\n prev.push(mod)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { isArchivistInstance } from '@xyo-network/archivist-model'\nimport type { WeakModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useWeakModuleFromNode } from '@xyo-network/react-node'\n\nexport const useWeakArchivistFromNode = (\n nameOrAddressOrInstance?: string | ArchivistInstance,\n config?: WeakModuleFromNodeConfig,\n): [WeakRef<ArchivistInstance> | undefined, Error | undefined] => {\n return useWeakModuleFromNode<ArchivistInstance>(nameOrAddressOrInstance, { identity: isArchivistInstance, ...config })\n}\n","import { exists } from '@xylabs/exists'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { asArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleIdentifier } from '@xyo-network/module-model'\nimport type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useWeakModulesFromNode } from '@xyo-network/react-node'\n\nexport const useWeakArchivistsFromNode = (\n ids?: ModuleIdentifier[],\n config?: ModuleFromNodeConfig,\n): [WeakRef<ArchivistInstance>[] | null | undefined, Error | undefined] => {\n const [modules, error] = useWeakModulesFromNode(ids, config)\n if (error) {\n return [null, error]\n }\n return [\n modules\n ?.map((mod) => {\n const instance = asArchivistInstance(mod?.deref())\n if (instance) {\n return new WeakRef(instance)\n }\n })\n .filter(exists) ?? [],\n undefined,\n ]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { useRefresh } from '@xyo-network/react-module'\nimport { useState } from 'react'\n\nexport const useArchivistAll = (archivist: ArchivistInstance) => {\n const [error, setError] = useState<Error>()\n const [enabled, refresh] = useRefresh()\n\n const payloads = usePromise(async () => {\n try {\n if (enabled) {\n return await archivist?.all?.()\n }\n } catch (ex) {\n const error = ex as Error\n setError(error)\n }\n }, [archivist, enabled])\n\n return [payloads, error, refresh]\n}\n","import type { Hash } from '@xylabs/hex'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { Payload, WithStorageMeta } from '@xyo-network/payload-model'\nimport type { RefreshCallback } from '@xyo-network/react-module'\nimport { useRefresh } from '@xyo-network/react-module'\n\nexport const useArchivistGet = <T extends Payload = Payload>(\n archivist?: ArchivistInstance | null,\n hashes?: Hash[],\n): [T[] | undefined, Error | undefined, RefreshCallback] => {\n const [enabled, refresh] = useRefresh()\n\n const [payloads, error] = usePromise(async () => {\n if (enabled && archivist && hashes) {\n return (await archivist.get(hashes)) as WithStorageMeta<T>[]\n }\n }, [archivist, hashes, enabled])\n\n return [payloads, error, refresh]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { useRefresh } from '@xyo-network/react-module'\nimport { useState } from 'react'\n\nexport const useWeakArchivistAll = (archivist: WeakRef<ArchivistInstance>) => {\n const [error, setError] = useState<Error>()\n const [enabled, refresh] = useRefresh()\n\n const payloads = usePromise(async () => {\n try {\n if (enabled) {\n return await archivist?.deref()?.all?.()\n }\n } catch (ex) {\n const error = ex as Error\n setError(error)\n }\n }, [archivist, enabled])\n\n return [payloads, error, refresh]\n}\n","import type { Hash } from '@xylabs/hex'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { Payload, WithStorageMeta } from '@xyo-network/payload-model'\nimport type { RefreshCallback } from '@xyo-network/react-module'\nimport { useRefresh } from '@xyo-network/react-module'\n\nexport const useWeakArchivistGet = <T extends Payload = Payload>(\n archivist?: WeakRef<ArchivistInstance> | null,\n hashes?: Hash[],\n): [T[] | undefined, Error | undefined, RefreshCallback] => {\n const [enabled, refresh] = useRefresh()\n\n const [payloads, error] = usePromise(async () => {\n const archivistInstance = archivist?.deref()\n if (enabled && archivistInstance && hashes) {\n return (await archivistInstance.get(hashes)) as WithStorageMeta<T>[]\n }\n }, [archivist, hashes, enabled])\n\n return [payloads, error, refresh]\n}\n"],"mappings":";;;;AACA,SAASA,YAAY;AAGrB,SAASC,yBAAyB;AAClC,OAAOC,YAAW;;;ACJlB,SAASC,kBAAAA,uBAAsB;AAC/B,SAASC,mBAAmB;AAE5B,SAASC,qBAAqB;AAE9B,SAASC,yBAAyB;AAClC,SAASC,iBAAiB;AAC1B,OAAOC,UAASC,YAAAA,iBAAgB;;;ACRhC,SAASC,UAAUC,kBAAkB;AACrC,OAAOC,WAAW;AAOX,IAAMC,kBAAgD,wBAAC,EAAEC,eAAeC,iBAAgB,MAC7F,sBAAA,cAAA,MAAA,UAAA,MACGA,kBAAkBC,IAAI,CAACC,YAAAA;AACtB,SACE,sBAAA,cAACC,UAAAA;IAASC,KAAKF;KACb,sBAAA,cAACG,YAAAA;IAAWC,SAAQ;KACjBP,eAAc,KAEd,KACD,sBAAA,cAACM,YAAAA;IAAWC,SAAQ;IAAUC,IAAI;MAAEC,IAAI;IAAI;KACzCN,OAAAA,CAAAA,CAAAA;AAKX,CAAA,CAAA,GAfyD;;;ACR7D,SAASO,qBAAqBC,6BAA6B;AAC3D,SACEC,UAAUC,YAAYC,MAAMC,OAAOC,cAAAA,mBAC9B;AAEP,SAASC,eAAe;AAExB,OAAOC,UAASC,gBAAgB;AAQzB,IAAMC,mBAAoD,wBAAC,EAAEC,QAAQ,GAAGC,MAAAA,MAAO;AACpF,QAAM,CAACC,yBAAyBC,0BAAAA,IAA8BC,SAAS,KAAA;AAEvE,QAAM,EACJC,QAAQC,MAAMC,MAAK,IACjBP,QAAQQ,WAAW,CAAC;AAExB,SACE,gBAAAC,OAAA,cAAAA,OAAA,UAAA,MACGJ,UAAUC,QAAQC,QAEb,gBAAAE,OAAA,cAACC,SAAAA;IAAQC,YAAW;IAAS,GAAGV;KAC9B,gBAAAQ,OAAA,cAACG,QAAAA;IAAKC,SAAS,6BAAMV,2BAA2B,CAACD,uBAAAA,GAAlC;KACb,gBAAAO,OAAA,cAACK,aAAAA;IACCC,SAAQ;IACRC,IAAI;MAAEC,QAAQ;MAAWC,SAAS;IAAe;KAClD,SAAA,GAGD,gBAAAT,OAAA,cAACU,YAAAA;IAAWC,MAAK;KACf,gBAAAX,OAAA,cAACY,uBAAAA;IAAsBL,IAAI;MAAEM,QAAQpB,0BAA0B,UAAU;MAAQqB,YAAY;IAAW;QAG5G,gBAAAd,OAAA,cAACe,UAAAA;IAASC,IAAIvB;KACZ,gBAAAO,OAAA,cAACiB,OAAAA;IAAMC,WAAW;KAChB,gBAAAlB,OAAA,cAACmB,MAAAA,MACC,gBAAAnB,OAAA,cAACoB,iBAAAA;IAAgBC,eAAc;IAASC,kBAAkB1B;MAC1D,gBAAAI,OAAA,cAACoB,iBAAAA;IAAgBC,eAAc;IAAOC,kBAAkBzB;MACxD,gBAAAG,OAAA,cAACoB,iBAAAA;IAAgBC,eAAc;IAAQC,kBAAkBxB;WAMnE,IAAA;AAGV,GArCiE;;;ACfjE,SAASyB,OAAOC,eAAe;AAC/B,SAASC,eAAe;AAExB,OAAOC,YAAW;AAElB,SAASC,yBAAyB;AAClC,SACEC,iBAAiBC,iBAAiBC,0BAE7B;AASA,IAAMC,iBAAgD,wBAAC,EAC5DC,WAAWC,gBAAgBC,UAAUC,QAAO,MAC7C;AACC,SACE,gBAAAC,OAAA,cAACC,SAAAA;IAAQC,KAAK;IAAGC,IAAI;KAClBL,UAAUM,SAEL,gBAAAJ,OAAA,cAACK,SAAAA;IAAQC,OAAM;KACb,gBAAAN,OAAA,cAACO,OAAAA;IAAMC,cAAcV,UAAUM;IAAQK,OAAM;KAC3C,gBAAAT,OAAA,cAACU,oBAAAA;IAAmBC,MAAM;SAIhC,MACHd,gBAAgBO,SAEX,gBAAAJ,OAAA,cAACK,SAAAA;IAAQC,OAAM;KACb,gBAAAN,OAAA,cAACO,OAAAA;IAAMC,cAAcX,gBAAgBO;IAAQK,OAAM;KACjD,gBAAAT,OAAA,cAACY,iBAAAA;IAAgBD,MAAM;SAI7B,MACHE,OAAOC,QAAQf,WAAW,CAAC,CAAA,EAAGK,SAAS,IAElC,gBAAAJ,OAAA,cAACK,SAAAA;IAAQC,OAAM;KACb,gBAAAN,OAAA,cAACO,OAAAA;IAAMC,cAAcK,OAAOC,QAAQf,WAAW,CAAC,CAAA,EAAGK;IAAQK,OAAM;KAC/D,gBAAAT,OAAA,cAACe,mBAAAA;IAAkBJ,MAAM;SAI/B,MACHE,OAAOC,QAAQlB,aAAa,CAAC,CAAA,EAAGQ,SAAS,IAEpC,gBAAAJ,OAAA,cAACK,SAAAA;IAAQC,OAAM;KACb,gBAAAN,OAAA,cAACO,OAAAA;IAAMC,cAAcK,OAAOC,QAAQlB,aAAa,CAAC,CAAA,EAAGQ;IAAQK,OAAM;KACjE,gBAAAT,OAAA,cAACgB,iBAAAA;IAAgBL,MAAM;SAI7B,IAAA;AAGV,GA3C6D;;;AClB7D,SAASM,sBAAsB;AAE/B,SAASC,+BAA+B;AACxC,SAASC,gBAAgBC,0BAA0B;AAGnD,OAAOC,UACLC,aAAaC,WAAWC,SAASC,YAAAA,iBAC5B;AAQA,IAAMC,wBAA6D,wBAAC,EAAEC,UAAS,MAAE;AACtF,QAAM,CAACC,KAAKC,MAAAA,IAAUC,UAAAA;AAEtB,QAAMC,SAASC,YAAY,OAAOL,eAAAA;AAChC,UAAMC,OAAM,MAAMD,YAAWC,MAAAA;AAC7BC,WAAOD,IAAAA;EACT,GAAG,CAAA,CAAE;AAELK,YAAU,MAAA;AACR,UAAMC,YAAwC,CAAA;AAE9C,QAAIP,WAAWQ,QAAQC,SAASC,uBAAAA,GAA0B;AACxD,YAAMC,iBAAiBX,UAAUY,GAAG,YAAY,YAAA;AAC9C,cAAMR,OAAOJ,SAAAA;MACf,CAAA;AACAO,gBAAUM,KAAKF,cAAAA;AAEf,YAAMG,gBAAgBd,UAAUY,GAAG,WAAW,YAAA;AAC5C,cAAMR,OAAOJ,SAAAA;MACf,CAAA;AACAO,gBAAUM,KAAKC,aAAAA;IACjB;AAEA,WAAO,MAAA;AACL,iBAAWC,YAAYR,UAAWQ,YAAAA;IACpC;EACF,GAAG;IAACf;IAAWI;GAAO;AAEtBY,iBACE,YAAA;AACE,QAAIhB,WAAWQ,QAAQC,SAASC,uBAAAA,GAA0B;AACxD,YAAMN,OAAOJ,SAAAA;IACf,OAAO;AACLE,aAAO,IAAA;IACT;EACF,GACA;IAACF;IAAWI;GAAO;AAGrB,QAAMa,WAAWC,QAAQ,MAAOjB,QAAQ,OAAO,CAAA,IAAKA,KAAKkB,OAAOC,CAAAA,YAAWA,QAAQC,WAAWC,kBAAAA,GAAsB;IAACrB;GAAI;AACzH,QAAMsB,iBAAiBL,QAAQ,MAAOjB,QAAQ,OAAO,CAAA,IAAKA,KAAKkB,OAAOC,CAAAA,YAAWA,QAAQC,WAAWC,kBAAAA,GAAsB;IAACrB;GAAI;AAC/H,QAAMuB,YAAYN,QAChB,MACEjB,KAAKwB,OACH,CAACC,MAAMN,YAAAA;AACL,UAAMO,IAAIC,eAAeR,OAAAA;AACzB,QAAIO,GAAGH,UACL,YAAWK,WAAWF,GAAGH,aAAa,CAAA,GAAI;AACxCE,WAAKG,OAAAA,KAAYH,KAAKG,OAAAA,KAAY,KAAK;IACzC;AACF,WAAOH;EACT,GACA,CAAC,CAAA,KACE,CAAC,GACR;IAACzB;GAAI;AAEP,QAAM6B,UAAUZ,QACd,MACEjB,KAAKwB,OACH,CAACC,MAAMN,YAAAA;AACLM,SAAKN,QAAQC,MAAM,KAAKK,KAAKN,QAAQC,MAAM,KAAK,KAAK;AACrD,WAAOK;EACT,GACA,CAAC,CAAA,KACE,CAAC,GACR;IAACzB;GAAI;AAGP,SAAO,gBAAA8B,OAAA,cAACC,gBAAAA;IAAeR;IAAsBD;IAAgCN;IAAoBa;;AACnG,GArE0E;;;AJJnE,IAAMG,uBAA0F,wBAAC,EACtGC,UAAUC,KAAK,GAAGC,MAAAA,MACnB;AACC,QAAM,CAACC,QAAQC,SAAAA,IAAaC,UAAAA;AAC5B,QAAM,CAACC,MAAAA,IAAUC,UAAAA;AAEjBC,EAAAA,gBACE,OAAOC,YAAAA;AACL,QAAIH,UAAUL,KAAK;AACjB,YAAMS,UAAUC,cAAcC,KAAKX,KAAKK,MAAAA;AACxC,YAAMO,WAAW,MAAMH,SAASI,MAAAA;AAChC,UAAIL,QAAAA,GAAW;AACbL,kBAAUS,WAAW,CAAA,CAAE;MACzB;IACF,OAAO;AACLT,gBAAUW,MAAAA;IACZ;EACF,GACA;IAACd;IAAKK;GAAO;AAGf,SACE,gBAAAU,OAAA,cAACC,mBAAAA;IAAkBhB;IAAW,GAAGC;KAC/B,gBAAAc,OAAA,cAACE,aAAAA;IAAYC,UAAS;IAAOC,gBAAe;IAAQC,KAAK;KACtDrB,UACD,gBAAAgB,OAAA,cAACM,kBAAAA;IAAiBnB;;AAI1B,GA7BuG;;;AKXvG,SAASoB,mCAAmC;AAG5C,SAASC,wBAAwB;AACjC,OAAOC,UAASC,WAAAA,gBAAe;AAI/B,IAAMC,kBAAiB,wBAACC,cAAAA;AACtB,UAAQA,WAAWC,OAAOC,QAAAA;IACxB,KAAKC,6BAA6B;AAChC,aAAO,gBAAAC,OAAA,cAACC,uBAAAA;QAAsBL;;IAChC;IACA,SAAS;AACP,aAAO,gBAAAI,OAAA,cAAAA,OAAA,UAAA,IAAA;IACT;EACF;AACF,GATuB;AAWhB,IAAME,sBAAwF,wBAAC,EACpGC,OAAOC,KAAK,GAAGC,MAAAA,MAChB;AACC,QAAMC,QAAQC,SAAQ,MAAMZ,gBAAeS,GAAAA,GAAM;IAACA;GAAI;AACtD,SAAO,gBAAAJ,OAAA,cAACQ,kBAAAA;IAAiBJ;IAAUD,OAAOA,SAASC,KAAKP,OAAOY,QAAQ;IAAaC,QAAQJ;IAAQ,GAAGD;;AACzG,GALqG;;;ANV9F,IAAMM,gBAA4E,wBAAC,EACxFC,UAAUC,KAAK,GAAGC,MAAAA,MACnB;AACC,SACE,gBAAAC,OAAA,cAACC,MAASF,OACR,gBAAAC,OAAA,cAACE,qBAAAA;IAAoBJ;MACrB,gBAAAE,OAAA,cAACG,sBAAAA;IAAqBL;MACrBD,UACD,gBAAAG,OAAA,cAACI,mBAAAA;IAAkBN;;AAGzB,GAXyF;;;AOVzF,SAASO,aAAaC,cAAAA,mBAAkB;AACxC,SAASC,kBAAAA,uBAAsB;AAC/B,SAASC,gBAAgB;AAEzB,SAASC,WAAAA,gBAAe;AACxB,SAASC,2BAA2BC,kCAAkC;AACtE,SAASC,gCAAgC;AAEzC,OAAOC,UAASC,YAAAA,iBAAgB;;;ACPhC,SAASC,2BAA2B;AAEpC,SAASC,yBAAyB;AAG3B,IAAMC,uBAAuB,wBAClCC,yBACAC,WAAAA;AAEA,QAAM,CAACC,KAAKC,KAAAA,IAASC,kBAAkBJ,yBAAyBC,MAAAA;AAChE,QAAMI,WAAWC,oBAAoBJ,GAAAA;AACrC,MAAIA,OAAO,CAACG,UAAU;AACpB,UAAMF,SAAQ,IAAII,MAAM,+CAA+CL,IAAID,QAAQO,MAAAA,IAAUN,IAAID,QAAQQ,IAAAA,IAAQP,IAAIQ,OAAO,GAAG;AAC/HC,YAAQR,MAAMA,OAAMS,OAAO;AAC3B,WAAO;MAACC;MAAWV;;EACrB;AACA,SAAO;IAACE;IAAUF;;AACpB,GAZoC;;;ACLpC,SAASW,2BAA2B;AAGpC,SAASC,0BAA0B;AAG5B,IAAMC,wBAAwB,wBACnCC,KACAC,WAAAA;AAEA,QAAM,CAACC,SAASC,KAAAA,IAASC,mBAAmBJ,KAAKC,MAAAA;AACjD,MAAIE,OAAO;AACT,WAAO;MAAC;MAAMA;;EAChB;AACA,SAAOD,UACH;;IAEEA,QAAQG,OAA4B,CAACC,MAAMC,QAAAA;AACzC,UAAIC,oBAAoBD,GAAAA,GAAM;AAC5BD,aAAKG,KAAKF,GAAAA;MACZ;AACA,aAAOD;IACT,GAAG,CAAA,CAAE;IACLI;MAEF;IAACR;IAASC;;AAChB,GApBqC;;;ACNrC,SAASQ,uBAAAA,4BAA2B;AAEpC,SAASC,6BAA6B;AAE/B,IAAMC,2BAA2B,wBACtCC,yBACAC,WAAAA;AAEA,SAAOC,sBAAyCF,yBAAyB;IAAEG,UAAUC;IAAqB,GAAGH;EAAO,CAAA;AACtH,GALwC;;;ACLxC,SAASI,cAAc;AAEvB,SAASC,uBAAAA,4BAA2B;AAGpC,SAASC,8BAA8B;AAEhC,IAAMC,4BAA4B,wBACvCC,KACAC,WAAAA;AAEA,QAAM,CAACC,SAASC,KAAAA,IAASC,uBAAuBJ,KAAKC,MAAAA;AACrD,MAAIE,OAAO;AACT,WAAO;MAAC;MAAMA;;EAChB;AACA,SAAO;IACLD,SACIG,IAAI,CAACC,QAAAA;AACL,YAAMC,WAAWC,qBAAoBF,KAAKG,MAAAA,CAAAA;AAC1C,UAAIF,UAAU;AACZ,eAAO,IAAIG,QAAQH,QAAAA;MACrB;IACF,CAAA,EACCI,OAAOC,MAAAA,KAAW,CAAA;IACrBC;;AAEJ,GAnByC;;;ACPzC,SAASC,kBAAkB;AAE3B,SAASC,kBAAkB;AAC3B,SAASC,YAAAA,iBAAgB;AAElB,IAAMC,kBAAkB,wBAACC,cAAAA;AAC9B,QAAM,CAACC,OAAOC,QAAAA,IAAYC,UAAAA;AAC1B,QAAM,CAACC,SAASC,OAAAA,IAAWC,WAAAA;AAE3B,QAAMC,WAAWC,WAAW,YAAA;AAC1B,QAAI;AACF,UAAIJ,SAAS;AACX,eAAO,MAAMJ,WAAWS,MAAAA;MAC1B;IACF,SAASC,IAAI;AACX,YAAMT,SAAQS;AACdR,eAASD,MAAAA;IACX;EACF,GAAG;IAACD;IAAWI;GAAQ;AAEvB,SAAO;IAACG;IAAUN;IAAOI;;AAC3B,GAhB+B;;;ACJ/B,SAASM,cAAAA,mBAAkB;AAI3B,SAASC,cAAAA,mBAAkB;AAEpB,IAAMC,kBAAkB,wBAC7BC,WACAC,WAAAA;AAEA,QAAM,CAACC,SAASC,OAAAA,IAAWC,YAAAA;AAE3B,QAAM,CAACC,UAAUC,KAAAA,IAASC,YAAW,YAAA;AACnC,QAAIL,WAAWF,aAAaC,QAAQ;AAClC,aAAQ,MAAMD,UAAUQ,IAAIP,MAAAA;IAC9B;EACF,GAAG;IAACD;IAAWC;IAAQC;GAAQ;AAE/B,SAAO;IAACG;IAAUC;IAAOH;;AAC3B,GAb+B;;;ACP/B,SAASM,cAAAA,mBAAkB;AAE3B,SAASC,cAAAA,mBAAkB;AAC3B,SAASC,YAAAA,iBAAgB;AAElB,IAAMC,sBAAsB,wBAACC,cAAAA;AAClC,QAAM,CAACC,OAAOC,QAAAA,IAAYC,UAAAA;AAC1B,QAAM,CAACC,SAASC,OAAAA,IAAWC,YAAAA;AAE3B,QAAMC,WAAWC,YAAW,YAAA;AAC1B,QAAI;AACF,UAAIJ,SAAS;AACX,eAAO,MAAMJ,WAAWS,MAAAA,GAASC,MAAAA;MACnC;IACF,SAASC,IAAI;AACX,YAAMV,SAAQU;AACdT,eAASD,MAAAA;IACX;EACF,GAAG;IAACD;IAAWI;GAAQ;AAEvB,SAAO;IAACG;IAAUN;IAAOI;;AAC3B,GAhBmC;;;ACJnC,SAASO,cAAAA,mBAAkB;AAI3B,SAASC,cAAAA,mBAAkB;AAEpB,IAAMC,sBAAsB,wBACjCC,WACAC,WAAAA;AAEA,QAAM,CAACC,SAASC,OAAAA,IAAWC,YAAAA;AAE3B,QAAM,CAACC,UAAUC,KAAAA,IAASC,YAAW,YAAA;AACnC,UAAMC,oBAAoBR,WAAWS,MAAAA;AACrC,QAAIP,WAAWM,qBAAqBP,QAAQ;AAC1C,aAAQ,MAAMO,kBAAkBE,IAAIT,MAAAA;IACtC;EACF,GAAG;IAACD;IAAWC;IAAQC;GAAQ;AAE/B,SAAO;IAACG;IAAUC;IAAOH;;AAC3B,GAdmC;;;ARKnC,IAAMQ,kBAAkB;EAAEC,QAAQC;AAA2B;AAC7D,IAAMC,qCAAqC,IAAIC,yBAAAA,EAA2BC,MAAML,eAAAA;AAEhF,IAAMM,iBAAiB;EAAEL,QAAQM;AAA0B;AAC3D,IAAMC,oCAAoC,IAAIJ,yBAAAA,EAA2BC,MAAMC,cAAAA;AAMxE,IAAMG,mBAA+C,wBAAC,EAAEC,SAAS,GAAGC,MAAAA,MAAO;AAChF,QAAM,CAACC,SAAAA,IAAaC,yBAAyBH,OAAAA;AAC7C,QAAM,CAACI,UAAUC,WAAAA,IAAeC,UAAAA;AAChC,QAAM,CAACC,SAASC,UAAAA,IAAcF,UAAS,CAAA;AACvC,QAAM,CAACG,iBAAiBC,kBAAAA,IAAsBJ,UAAS,KAAA;AACvD,QAAM,CAACK,gBAAgBC,iBAAAA,IAAqBN,UAAS,KAAA;AAErDO,EAAAA,gBACE,YAAA;AACE,UAAMC,WAAWZ,WAAWa,MAAAA;AAC5B,QAAID,UAAU;AACZ,YAAM,CAACE,QAAAA,IAAY,OAAO,MAAMvB,oCAAoCwB,MAAK;AACzE,YAAM,CAACC,OAAAA,IAAW,OAAO,MAAMpB,mCAAmCmB,MAAK;AACvEP,yBAAmB,MAAMI,UAAUK,UAAUH,UAAU;QAAC1B;OAAgB,CAAA;AACxEsB,wBAAkB,MAAME,UAAUK,UAAUD,SAAS;QAACtB;OAAe,CAAA;IACvE;EACF,GACA;IAACM;GAAU;AAGbW,EAAAA,gBACE,OAAOO,YAAAA;AACL,UAAMhB,YAAW,MAAMF,WAAWa,MAAAA,GAASM,MAAAA;AAC3C,QAAID,QAAAA,GAAW;AACbf,kBAAYD,SAAAA;IACd;EACF,GACA;IAACF;IAAWK;GAAQ;AAGtB,SACE,gBAAAe,OAAA,cAACC,UAAYtB,OACX,gBAAAqB,OAAA,cAACE,aAAAA,MAAY,aAAapB,WAAWA,SAASqB,SAAS,GAAA,EAAK,GAC5D,gBAAAH,OAAA,cAACI,aAAAA,MACC,gBAAAJ,OAAA,cAACK,UAAAA;IAASC,UAAUxB,UAAUqB,WAAW,KAAK,CAACvB,aAAa,CAACO;IAAiBoB,SAAS,6BAAM3B,WAAWa,MAAAA,GAASe,SAAAA,GAA1B;KAAsC,QAAA,GAG7H,gBAAAR,OAAA,cAACK,UAAAA;IAASC,UAAU,CAAC1B,aAAa,CAACS;IAAgBkB,SAAS,6BAAM3B,WAAWa,MAAAA,GAASgB,QAAAA,GAA1B;KAAqC,OAAA,GAGjG,gBAAAT,OAAA,cAACK,UAAAA;IACCC,UAAU,CAAC1B;IACX2B,SAAS,6BAAA;AACPrB,iBAAWD,UAAU,CAAA;IACvB,GAFS;KAGV,SAAA,CAAA,CAAA;AAMT,GAnD4D;","names":["Card","ModuleCardActions","React","useAsyncEffect","FlexGrowRow","ModuleWrapper","ModuleCardContent","useWallet","React","useState","ListItem","Typography","React","ArchivistParent","archivistType","parentArchivists","map","address","ListItem","key","Typography","variant","sx","ml","ArrowRightRounded","ArrowRightRoundedIcon","Collapse","IconButton","List","Paper","Typography","FlexCol","React","useState","ArchivistParents","config","props","parentArchivistCollapse","setParentArchivistCollapse","useState","commit","read","write","parents","React","FlexCol","alignItems","span","onClick","Typography","variant","sx","cursor","display","IconButton","size","ArrowRightRoundedIcon","rotate","transition","Collapse","in","Paper","elevation","List","ArchivistParent","archivistType","parentArchivists","Badge","Tooltip","FlexRow","React","BsFileEarmarkCode","VscOrganization","VscSymbolMethod","VscSymbolNamespace","ArchivistStats","addresses","boundWitnesses","payloads","schemas","React","FlexRow","gap","mr","length","Tooltip","title","Badge","badgeContent","color","VscSymbolNamespace","size","VscSymbolMethod","Object","entries","BsFileEarmarkCode","VscOrganization","useAsyncEffect","ArchivistAllQuerySchema","asBoundWitness","BoundWitnessSchema","React","useCallback","useEffect","useMemo","useState","MemoryArchivistsStats","archivist","all","setAll","useState","getAll","useCallback","useEffect","listeners","queries","includes","ArchivistAllQuerySchema","insertListener","on","push","clearListener","listener","useAsyncEffect","payloads","useMemo","filter","payload","schema","BoundWitnessSchema","boundWitnesses","addresses","reduce","prev","w","asBoundWitness","address","schemas","React","ArchivistStats","ArchivistCardContent","children","mod","props","config","setConfig","useState","wallet","useWallet","useAsyncEffect","mounted","wrapper","ModuleWrapper","wrap","payloads","state","undefined","React","ModuleCardContent","FlexGrowRow","flexWrap","justifyContent","gap","ArchivistParents","MemoryArchivistConfigSchema","ModuleCardHeader","React","useMemo","ArchivistStats","archivist","config","schema","MemoryArchivistConfigSchema","React","MemoryArchivistsStats","ArchivistCardHeader","title","mod","props","Stats","useMemo","ModuleCardHeader","name","action","ArchivistCard","children","mod","props","React","Card","ArchivistCardHeader","ArchivistCardContent","ModuleCardActions","ButtonGroup","Typography","useAsyncEffect","ButtonEx","FlexCol","ArchivistClearQuerySchema","ArchivistCommitQuerySchema","QueryBoundWitnessBuilder","React","useState","asArchivistInstance","useModuleFromNode","useArchivistFromNode","nameOrAddressOrInstance","config","mod","error","useModuleFromNode","instance","asArchivistInstance","Error","schema","name","address","console","message","undefined","isArchivistInstance","useModulesFromNode","useArchivistsFromNode","ids","config","modules","error","useModulesFromNode","reduce","prev","mod","isArchivistInstance","push","undefined","isArchivistInstance","useWeakModuleFromNode","useWeakArchivistFromNode","nameOrAddressOrInstance","config","useWeakModuleFromNode","identity","isArchivistInstance","exists","asArchivistInstance","useWeakModulesFromNode","useWeakArchivistsFromNode","ids","config","modules","error","useWeakModulesFromNode","map","mod","instance","asArchivistInstance","deref","WeakRef","filter","exists","undefined","usePromise","useRefresh","useState","useArchivistAll","archivist","error","setError","useState","enabled","refresh","useRefresh","payloads","usePromise","all","ex","usePromise","useRefresh","useArchivistGet","archivist","hashes","enabled","refresh","useRefresh","payloads","error","usePromise","get","usePromise","useRefresh","useState","useWeakArchivistAll","archivist","error","setError","useState","enabled","refresh","useRefresh","payloads","usePromise","deref","all","ex","usePromise","useRefresh","useWeakArchivistGet","archivist","hashes","enabled","refresh","useRefresh","payloads","error","usePromise","archivistInstance","deref","get","testQueryCommit","schema","ArchivistCommitQuerySchema","testQueryCommitBoundWitnessBuilder","QueryBoundWitnessBuilder","query","testQueryClear","ArchivistClearQuerySchema","testQueryClearBoundWitnessBuilder","ArchivistDetails","address","props","archivist","useWeakArchivistFromNode","payloads","setPayloads","useState","refresh","setRefresh","queryableCommit","setQueryableCommit","queryableClear","setQueryableClear","useAsyncEffect","instance","deref","commitBW","build","clearBW","queryable","mounted","all","React","FlexCol","Typography","length","ButtonGroup","ButtonEx","disabled","onClick","commit","clear"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/react-archivist",
3
- "version": "4.3.10",
3
+ "version": "4.4.0",
4
4
  "description": "Common React library for all XYO projects that use React",
5
5
  "keywords": [
6
6
  "xyo",
@@ -45,35 +45,35 @@
45
45
  "dependencies": {
46
46
  "@xylabs/exists": "^4.5.1",
47
47
  "@xylabs/hex": "^4.5.1",
48
- "@xylabs/react-async-effect": "^5.3.18",
49
- "@xylabs/react-button": "^5.3.18",
50
- "@xylabs/react-flexbox": "^5.3.18",
51
- "@xylabs/react-promise": "^5.3.18",
52
- "@xyo-network/archivist-memory": "^3.6.11",
53
- "@xyo-network/archivist-model": "^3.6.11",
54
- "@xyo-network/boundwitness-builder": "^3.6.11",
55
- "@xyo-network/boundwitness-model": "^3.6.11",
56
- "@xyo-network/module-events": "^3.6.11",
57
- "@xyo-network/module-model": "^3.6.11",
58
- "@xyo-network/module-wrapper": "^3.6.11",
59
- "@xyo-network/payload-model": "^3.6.11",
60
- "@xyo-network/react-module": "^4.3.10",
61
- "@xyo-network/react-node": "^4.3.10",
62
- "@xyo-network/react-wallet": "^4.3.10",
48
+ "@xylabs/react-async-effect": "^5.3.22",
49
+ "@xylabs/react-button": "^5.3.22",
50
+ "@xylabs/react-flexbox": "^5.3.22",
51
+ "@xylabs/react-promise": "^5.3.22",
52
+ "@xyo-network/archivist-memory": "^3.7.0",
53
+ "@xyo-network/archivist-model": "^3.7.0",
54
+ "@xyo-network/boundwitness-builder": "^3.7.0",
55
+ "@xyo-network/boundwitness-model": "^3.7.0",
56
+ "@xyo-network/module-events": "^3.7.0",
57
+ "@xyo-network/module-model": "^3.7.0",
58
+ "@xyo-network/module-wrapper": "^3.7.0",
59
+ "@xyo-network/payload-model": "^3.7.0",
60
+ "@xyo-network/react-module": "^4.4.0",
61
+ "@xyo-network/react-node": "^4.4.0",
62
+ "@xyo-network/react-wallet": "^4.4.0",
63
63
  "react-icons": "^5.4.0"
64
64
  },
65
65
  "devDependencies": {
66
66
  "@mui/icons-material": "^6.4.1",
67
67
  "@mui/material": "^6.4.1",
68
68
  "@mui/styles": "^6.4.1",
69
- "@storybook/react": "^8.5.1",
69
+ "@storybook/react": "^8.5.2",
70
70
  "@xylabs/ts-scripts-yarn3": "^4.2.6",
71
71
  "@xylabs/tsconfig-react": "^4.2.6",
72
- "@xyo-network/account": "^3.6.11",
73
- "@xyo-network/node-memory": "^3.6.11",
72
+ "@xyo-network/account": "^3.7.0",
73
+ "@xyo-network/node-memory": "^3.7.0",
74
74
  "react": "^18.3.1",
75
75
  "react-dom": "^18.3.1",
76
- "storybook": "^8.5.1",
76
+ "storybook": "^8.5.2",
77
77
  "typescript": "^5.7.3"
78
78
  },
79
79
  "peerDependencies": {
@@ -1,15 +1,15 @@
1
1
  import type { ArchivistInstance } from '@xyo-network/archivist-model'
2
2
  import { isArchivistInstance } from '@xyo-network/archivist-model'
3
- import type { ModuleFilter } from '@xyo-network/module-model'
3
+ import type { ModuleIdentifier } from '@xyo-network/module-model'
4
4
  import type { ModuleFromNodeConfig } from '@xyo-network/react-node'
5
5
  import { useModulesFromNode } from '@xyo-network/react-node'
6
6
 
7
7
  /** @deprecated use useWeakArchivistsFromNode */
8
8
  export const useArchivistsFromNode = (
9
- filter?: ModuleFilter,
9
+ ids?: ModuleIdentifier[],
10
10
  config?: ModuleFromNodeConfig,
11
11
  ): [ArchivistInstance[] | null | undefined, Error | undefined] => {
12
- const [modules, error] = useModulesFromNode(filter, config)
12
+ const [modules, error] = useModulesFromNode(ids, config)
13
13
  if (error) {
14
14
  return [null, error]
15
15
  }
@@ -1,15 +1,15 @@
1
1
  import { exists } from '@xylabs/exists'
2
2
  import type { ArchivistInstance } from '@xyo-network/archivist-model'
3
3
  import { asArchivistInstance } from '@xyo-network/archivist-model'
4
- import type { ModuleFilter } from '@xyo-network/module-model'
4
+ import type { ModuleIdentifier } from '@xyo-network/module-model'
5
5
  import type { ModuleFromNodeConfig } from '@xyo-network/react-node'
6
6
  import { useWeakModulesFromNode } from '@xyo-network/react-node'
7
7
 
8
8
  export const useWeakArchivistsFromNode = (
9
- filter?: ModuleFilter,
9
+ ids?: ModuleIdentifier[],
10
10
  config?: ModuleFromNodeConfig,
11
11
  ): [WeakRef<ArchivistInstance>[] | null | undefined, Error | undefined] => {
12
- const [modules, error] = useWeakModulesFromNode(filter, config)
12
+ const [modules, error] = useWeakModulesFromNode(ids, config)
13
13
  if (error) {
14
14
  return [null, error]
15
15
  }