@xyo-network/react-archivist 2.64.0-rc.6 → 2.64.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/components/Card/Card.cjs +206 -0
- package/dist/browser/components/Card/Card.cjs.map +1 -0
- package/dist/browser/components/Card/Card.d.cts +6 -0
- package/dist/browser/components/Card/Card.d.cts.map +1 -0
- package/dist/browser/components/Card/CardActions.cjs +31 -0
- package/dist/{node/components/Card/CardActions.mjs.map → browser/components/Card/CardActions.cjs.map} +1 -1
- package/dist/browser/components/Card/CardActions.d.cts +6 -0
- package/dist/browser/components/Card/CardActions.d.cts.map +1 -0
- package/dist/browser/components/Card/CardContent.cjs +92 -0
- package/dist/browser/components/Card/CardContent.cjs.map +1 -0
- package/dist/browser/components/Card/CardContent.d.cts +6 -0
- package/dist/browser/components/Card/CardContent.d.cts.map +1 -0
- package/dist/browser/components/Card/CardHeader.cjs +125 -0
- package/dist/browser/components/Card/CardHeader.cjs.map +1 -0
- package/dist/browser/components/Card/CardHeader.d.cts +6 -0
- package/dist/browser/components/Card/CardHeader.d.cts.map +1 -0
- package/dist/browser/components/Card/components/ArchivistParent.cjs +36 -0
- package/dist/browser/components/Card/components/ArchivistParent.cjs.map +1 -0
- package/dist/browser/components/Card/components/ArchivistParent.d.cts +7 -0
- package/dist/browser/components/Card/components/ArchivistParent.d.cts.map +1 -0
- package/dist/browser/components/Card/components/ArchivistParents.cjs +60 -0
- package/dist/browser/components/Card/components/ArchivistParents.cjs.map +1 -0
- package/dist/browser/components/Card/components/ArchivistParents.d.cts +8 -0
- package/dist/browser/components/Card/components/ArchivistParents.d.cts.map +1 -0
- package/dist/browser/components/Card/components/Stats/ArchivistStats.cjs +39 -0
- package/dist/browser/components/Card/components/Stats/ArchivistStats.cjs.map +1 -0
- package/dist/browser/components/Card/components/Stats/ArchivistStats.d.cts +10 -0
- package/dist/browser/components/Card/components/Stats/ArchivistStats.d.cts.map +1 -0
- package/dist/browser/components/Card/components/Stats/ArchivistStats.d.mts.map +1 -1
- package/dist/browser/components/Card/components/Stats/ArchivistStats.d.ts.map +1 -1
- package/dist/browser/components/Card/components/Stats/ArchivistStats.js.map +1 -1
- package/dist/browser/components/Card/components/Stats/MemoryArchivistStats.cjs +107 -0
- package/dist/browser/components/Card/components/Stats/MemoryArchivistStats.cjs.map +1 -0
- package/dist/browser/components/Card/components/Stats/MemoryArchivistStats.d.cts +7 -0
- package/dist/browser/components/Card/components/Stats/MemoryArchivistStats.d.cts.map +1 -0
- package/dist/browser/components/Card/components/Stats/index.cjs +108 -0
- package/dist/browser/components/Card/components/Stats/index.cjs.map +1 -0
- package/dist/browser/components/Card/components/Stats/index.d.cts +3 -0
- package/dist/browser/components/Card/components/Stats/index.d.cts.map +1 -0
- package/dist/browser/components/Card/components/index.cjs +144 -0
- package/dist/browser/components/Card/components/index.cjs.map +1 -0
- package/dist/browser/components/Card/components/index.d.cts +4 -0
- package/dist/browser/components/Card/components/index.d.cts.map +1 -0
- package/dist/browser/components/Card/index.cjs +210 -0
- package/dist/browser/components/Card/index.cjs.map +1 -0
- package/dist/browser/components/Card/index.d.cts +4 -0
- package/dist/browser/components/Card/index.d.cts.map +1 -0
- package/dist/browser/components/Details/Details.cjs +100 -0
- package/dist/browser/components/Details/Details.cjs.map +1 -0
- package/dist/browser/components/Details/Details.d.cts +7 -0
- package/dist/browser/components/Details/Details.d.cts.map +1 -0
- package/dist/browser/components/Details/index.cjs +102 -0
- package/dist/browser/components/Details/index.cjs.map +1 -0
- package/dist/browser/components/Details/index.d.cts +2 -0
- package/dist/browser/components/Details/index.d.cts.map +1 -0
- package/dist/browser/components/index.cjs +287 -0
- package/dist/browser/components/index.cjs.map +1 -0
- package/dist/browser/components/index.d.cts +3 -0
- package/dist/browser/components/index.d.cts.map +1 -0
- package/dist/browser/hooks/index.cjs +99 -0
- package/dist/browser/hooks/index.cjs.map +1 -0
- package/dist/browser/hooks/index.d.cts +3 -0
- package/dist/browser/hooks/index.d.cts.map +1 -0
- package/dist/browser/hooks/node/index.cjs +64 -0
- package/dist/browser/hooks/node/index.cjs.map +1 -0
- package/dist/browser/hooks/node/index.d.cts +3 -0
- package/dist/browser/hooks/node/index.d.cts.map +1 -0
- package/dist/browser/hooks/node/useArchivistFromNode.cjs +38 -0
- package/dist/{node/hooks/node/useArchivistFromNode.mjs.map → browser/hooks/node/useArchivistFromNode.cjs.map} +1 -1
- package/dist/browser/hooks/node/useArchivistFromNode.d.cts +4 -0
- package/dist/browser/hooks/node/useArchivistFromNode.d.cts.map +1 -0
- package/dist/browser/hooks/node/useArchivistsFromNode.cjs +47 -0
- package/dist/{node/hooks/node/useArchivistsFromNode.mjs.map → browser/hooks/node/useArchivistsFromNode.cjs.map} +1 -1
- package/dist/browser/hooks/node/useArchivistsFromNode.d.cts +5 -0
- package/dist/browser/hooks/node/useArchivistsFromNode.d.cts.map +1 -0
- package/dist/browser/hooks/queries/index.cjs +60 -0
- package/dist/browser/hooks/queries/index.cjs.map +1 -0
- package/dist/browser/hooks/queries/index.d.cts +3 -0
- package/dist/browser/hooks/queries/index.d.cts.map +1 -0
- package/dist/browser/hooks/queries/useArchivistAll.cjs +44 -0
- package/dist/{node/hooks/queries/useArchivistAll.mjs.map → browser/hooks/queries/useArchivistAll.cjs.map} +1 -1
- package/dist/browser/hooks/queries/useArchivistAll.d.cts +5 -0
- package/dist/browser/hooks/queries/useArchivistAll.d.cts.map +1 -0
- package/dist/browser/hooks/queries/useArchivistGet.cjs +37 -0
- package/dist/{node/hooks/queries/useArchivistGet.mjs.map → browser/hooks/queries/useArchivistGet.cjs.map} +1 -1
- package/dist/browser/hooks/queries/useArchivistGet.d.cts +8 -0
- package/dist/browser/hooks/queries/useArchivistGet.d.cts.map +1 -0
- package/dist/browser/index.cjs +347 -0
- package/dist/browser/index.cjs.map +1 -0
- package/dist/browser/index.d.cts +3 -0
- package/dist/browser/index.d.cts.map +1 -0
- package/dist/docs.json +25256 -0
- package/dist/node/components/Card/Card.cjs +212 -0
- package/dist/node/components/Card/Card.cjs.map +1 -0
- package/dist/node/components/Card/Card.d.cts +6 -0
- package/dist/node/components/Card/Card.d.cts.map +1 -0
- package/dist/node/components/Card/Card.js +181 -35
- package/dist/node/components/Card/Card.js.map +1 -1
- package/dist/node/components/Card/CardActions.cjs +35 -0
- package/dist/node/components/Card/CardActions.cjs.map +1 -0
- package/dist/node/components/Card/CardActions.d.cts +6 -0
- package/dist/node/components/Card/CardActions.d.cts.map +1 -0
- package/dist/node/components/Card/CardActions.js +7 -30
- package/dist/node/components/Card/CardActions.js.map +1 -1
- package/dist/node/components/Card/CardContent.cjs +96 -0
- package/dist/node/components/Card/CardContent.cjs.map +1 -0
- package/dist/node/components/Card/CardContent.d.cts +6 -0
- package/dist/node/components/Card/CardContent.d.cts.map +1 -0
- package/dist/node/components/Card/CardContent.js +56 -44
- package/dist/node/components/Card/CardContent.js.map +1 -1
- package/dist/node/components/Card/CardHeader.cjs +131 -0
- package/dist/node/components/Card/CardHeader.cjs.map +1 -0
- package/dist/node/components/Card/CardHeader.d.cts +6 -0
- package/dist/node/components/Card/CardHeader.d.cts.map +1 -0
- package/dist/node/components/Card/CardHeader.js +98 -37
- package/dist/node/components/Card/CardHeader.js.map +1 -1
- package/dist/node/components/Card/components/ArchivistParent.cjs +40 -0
- package/dist/node/components/Card/components/{ArchivistParent.mjs.map → ArchivistParent.cjs.map} +1 -1
- package/dist/node/components/Card/components/ArchivistParent.d.cts +7 -0
- package/dist/node/components/Card/components/ArchivistParent.d.cts.map +1 -0
- package/dist/node/components/Card/components/ArchivistParent.js +8 -31
- package/dist/node/components/Card/components/ArchivistParent.js.map +1 -1
- package/dist/node/components/Card/components/ArchivistParents.cjs +64 -0
- package/dist/node/components/Card/components/ArchivistParents.cjs.map +1 -0
- package/dist/node/components/Card/components/ArchivistParents.d.cts +8 -0
- package/dist/node/components/Card/components/ArchivistParents.d.cts.map +1 -0
- package/dist/node/components/Card/components/ArchivistParents.js +33 -43
- package/dist/node/components/Card/components/ArchivistParents.js.map +1 -1
- package/dist/node/components/Card/components/Stats/ArchivistStats.cjs +43 -0
- package/dist/node/components/Card/components/Stats/ArchivistStats.cjs.map +1 -0
- package/dist/node/components/Card/components/Stats/ArchivistStats.d.cts +10 -0
- package/dist/node/components/Card/components/Stats/ArchivistStats.d.cts.map +1 -0
- package/dist/node/components/Card/components/Stats/ArchivistStats.d.mts.map +1 -1
- package/dist/node/components/Card/components/Stats/ArchivistStats.d.ts.map +1 -1
- package/dist/node/components/Card/components/Stats/ArchivistStats.js +14 -37
- package/dist/node/components/Card/components/Stats/ArchivistStats.js.map +1 -1
- package/dist/node/components/Card/components/Stats/MemoryArchivistStats.cjs +113 -0
- package/dist/node/components/Card/components/Stats/MemoryArchivistStats.cjs.map +1 -0
- package/dist/node/components/Card/components/Stats/MemoryArchivistStats.d.cts +7 -0
- package/dist/node/components/Card/components/Stats/MemoryArchivistStats.d.cts.map +1 -0
- package/dist/node/components/Card/components/Stats/MemoryArchivistStats.js +47 -52
- package/dist/node/components/Card/components/Stats/MemoryArchivistStats.js.map +1 -1
- package/dist/node/components/Card/components/Stats/index.cjs +115 -0
- package/dist/node/components/Card/components/Stats/index.cjs.map +1 -0
- package/dist/node/components/Card/components/Stats/index.d.cts +3 -0
- package/dist/node/components/Card/components/Stats/index.d.cts.map +1 -0
- package/dist/node/components/Card/components/Stats/index.js +85 -23
- package/dist/node/components/Card/components/Stats/index.js.map +1 -1
- package/dist/node/components/Card/components/index.cjs +153 -0
- package/dist/node/components/Card/components/index.cjs.map +1 -0
- package/dist/node/components/Card/components/index.d.cts +4 -0
- package/dist/node/components/Card/components/index.d.cts.map +1 -0
- package/dist/node/components/Card/components/index.js +121 -25
- package/dist/node/components/Card/components/index.js.map +1 -1
- package/dist/node/components/Card/index.cjs +218 -0
- package/dist/node/components/Card/index.cjs.map +1 -0
- package/dist/node/components/Card/index.d.cts +4 -0
- package/dist/node/components/Card/index.d.cts.map +1 -0
- package/dist/node/components/Card/index.js +187 -25
- package/dist/node/components/Card/index.js.map +1 -1
- package/dist/node/components/Details/Details.cjs +112 -0
- package/dist/node/components/Details/Details.cjs.map +1 -0
- package/dist/node/components/Details/Details.d.cts +7 -0
- package/dist/node/components/Details/Details.d.cts.map +1 -0
- package/dist/node/components/Details/Details.js +55 -55
- package/dist/node/components/Details/Details.js.map +1 -1
- package/dist/node/components/Details/index.cjs +114 -0
- package/dist/node/components/Details/index.cjs.map +1 -0
- package/dist/node/components/Details/index.d.cts +2 -0
- package/dist/node/components/Details/index.d.cts.map +1 -0
- package/dist/node/components/Details/index.js +84 -20
- package/dist/node/components/Details/index.js.map +1 -1
- package/dist/node/components/index.cjs +304 -0
- package/dist/node/components/index.cjs.map +1 -0
- package/dist/node/components/index.d.cts +3 -0
- package/dist/node/components/index.d.cts.map +1 -0
- package/dist/node/components/index.js +272 -23
- package/dist/node/components/index.js.map +1 -1
- package/dist/node/hooks/index.cjs +108 -0
- package/dist/node/hooks/index.cjs.map +1 -0
- package/dist/node/hooks/index.d.cts +3 -0
- package/dist/node/hooks/index.d.cts.map +1 -0
- package/dist/node/hooks/index.js +75 -22
- package/dist/node/hooks/index.js.map +1 -1
- package/dist/node/hooks/node/index.cjs +70 -0
- package/dist/node/hooks/node/index.cjs.map +1 -0
- package/dist/node/hooks/node/index.d.cts +3 -0
- package/dist/node/hooks/node/index.d.cts.map +1 -0
- package/dist/node/hooks/node/index.js +39 -22
- package/dist/node/hooks/node/index.js.map +1 -1
- package/dist/node/hooks/node/useArchivistFromNode.cjs +43 -0
- package/dist/node/hooks/node/useArchivistFromNode.cjs.map +1 -0
- package/dist/node/hooks/node/useArchivistFromNode.d.cts +4 -0
- package/dist/node/hooks/node/useArchivistFromNode.d.cts.map +1 -0
- package/dist/node/hooks/node/useArchivistFromNode.js +11 -33
- package/dist/node/hooks/node/useArchivistFromNode.js.map +1 -1
- package/dist/node/hooks/node/useArchivistsFromNode.cjs +51 -0
- package/dist/node/hooks/node/useArchivistsFromNode.cjs.map +1 -0
- package/dist/node/hooks/node/useArchivistsFromNode.d.cts +5 -0
- package/dist/node/hooks/node/useArchivistsFromNode.d.cts.map +1 -0
- package/dist/node/hooks/node/useArchivistsFromNode.js +10 -33
- package/dist/node/hooks/node/useArchivistsFromNode.js.map +1 -1
- package/dist/node/hooks/queries/index.cjs +66 -0
- package/dist/node/hooks/queries/index.cjs.map +1 -0
- package/dist/node/hooks/queries/index.d.cts +3 -0
- package/dist/node/hooks/queries/index.d.cts.map +1 -0
- package/dist/node/hooks/queries/index.js +36 -23
- package/dist/node/hooks/queries/index.js.map +1 -1
- package/dist/node/hooks/queries/useArchivistAll.cjs +49 -0
- package/dist/node/hooks/queries/useArchivistAll.cjs.map +1 -0
- package/dist/node/hooks/queries/useArchivistAll.d.cts +5 -0
- package/dist/node/hooks/queries/useArchivistAll.d.cts.map +1 -0
- package/dist/node/hooks/queries/useArchivistAll.js +12 -34
- package/dist/node/hooks/queries/useArchivistAll.js.map +1 -1
- package/dist/node/hooks/queries/useArchivistGet.cjs +41 -0
- package/dist/node/hooks/queries/useArchivistGet.cjs.map +1 -0
- package/dist/node/hooks/queries/useArchivistGet.d.cts +8 -0
- package/dist/node/hooks/queries/useArchivistGet.d.cts.map +1 -0
- package/dist/node/hooks/queries/useArchivistGet.js +8 -31
- package/dist/node/hooks/queries/useArchivistGet.js.map +1 -1
- package/dist/node/index.cjs +369 -0
- package/dist/node/index.cjs.map +1 -0
- package/dist/node/index.d.cts +3 -0
- package/dist/node/index.d.cts.map +1 -0
- package/dist/node/index.js +333 -23
- package/dist/node/index.js.map +1 -1
- package/package.json +30 -30
- package/src/components/Card/components/Stats/ArchivistStats.tsx +2 -0
- package/dist/browser/components/Card/Card.stories.js +0 -66
- package/dist/browser/components/Card/Card.stories.js.map +0 -1
- package/dist/browser/components/Card/components/Stats/ArchivistStats.stories.js +0 -32
- package/dist/browser/components/Card/components/Stats/ArchivistStats.stories.js.map +0 -1
- package/dist/browser/components/Card/components/Stats/MemoryArchivistStats.stories.js +0 -52
- package/dist/browser/components/Card/components/Stats/MemoryArchivistStats.stories.js.map +0 -1
- package/dist/browser/components/Details/Details.stories.js +0 -57
- package/dist/browser/components/Details/Details.stories.js.map +0 -1
- package/dist/node/components/Card/Card.mjs +0 -17
- package/dist/node/components/Card/Card.mjs.map +0 -1
- package/dist/node/components/Card/Card.stories.js +0 -90
- package/dist/node/components/Card/Card.stories.js.map +0 -1
- package/dist/node/components/Card/Card.stories.mjs +0 -66
- package/dist/node/components/Card/Card.stories.mjs.map +0 -1
- package/dist/node/components/Card/CardActions.mjs +0 -9
- package/dist/node/components/Card/CardContent.mjs +0 -35
- package/dist/node/components/Card/CardContent.mjs.map +0 -1
- package/dist/node/components/Card/CardHeader.mjs +0 -21
- package/dist/node/components/Card/CardHeader.mjs.map +0 -1
- package/dist/node/components/Card/components/ArchivistParent.mjs +0 -14
- package/dist/node/components/Card/components/ArchivistParents.mjs +0 -25
- package/dist/node/components/Card/components/ArchivistParents.mjs.map +0 -1
- package/dist/node/components/Card/components/Stats/ArchivistStats.mjs +0 -17
- package/dist/node/components/Card/components/Stats/ArchivistStats.mjs.map +0 -1
- package/dist/node/components/Card/components/Stats/ArchivistStats.stories.js +0 -57
- package/dist/node/components/Card/components/Stats/ArchivistStats.stories.js.map +0 -1
- package/dist/node/components/Card/components/Stats/ArchivistStats.stories.mjs +0 -32
- package/dist/node/components/Card/components/Stats/ArchivistStats.stories.mjs.map +0 -1
- package/dist/node/components/Card/components/Stats/MemoryArchivistStats.mjs +0 -69
- package/dist/node/components/Card/components/Stats/MemoryArchivistStats.mjs.map +0 -1
- package/dist/node/components/Card/components/Stats/MemoryArchivistStats.stories.js +0 -76
- package/dist/node/components/Card/components/Stats/MemoryArchivistStats.stories.js.map +0 -1
- package/dist/node/components/Card/components/Stats/MemoryArchivistStats.stories.mjs +0 -52
- package/dist/node/components/Card/components/Stats/MemoryArchivistStats.stories.mjs.map +0 -1
- package/dist/node/components/Card/components/Stats/index.mjs +0 -3
- package/dist/node/components/Card/components/Stats/index.mjs.map +0 -1
- package/dist/node/components/Card/components/index.mjs +0 -4
- package/dist/node/components/Card/components/index.mjs.map +0 -1
- package/dist/node/components/Card/index.mjs +0 -4
- package/dist/node/components/Card/index.mjs.map +0 -1
- package/dist/node/components/Details/Details.mjs +0 -63
- package/dist/node/components/Details/Details.mjs.map +0 -1
- package/dist/node/components/Details/Details.stories.js +0 -83
- package/dist/node/components/Details/Details.stories.js.map +0 -1
- package/dist/node/components/Details/Details.stories.mjs +0 -57
- package/dist/node/components/Details/Details.stories.mjs.map +0 -1
- package/dist/node/components/Details/index.mjs +0 -2
- package/dist/node/components/Details/index.mjs.map +0 -1
- package/dist/node/components/index.mjs +0 -3
- package/dist/node/components/index.mjs.map +0 -1
- package/dist/node/hooks/index.mjs +0 -3
- package/dist/node/hooks/index.mjs.map +0 -1
- package/dist/node/hooks/node/index.mjs +0 -3
- package/dist/node/hooks/node/index.mjs.map +0 -1
- package/dist/node/hooks/node/useArchivistFromNode.mjs +0 -16
- package/dist/node/hooks/node/useArchivistsFromNode.mjs +0 -25
- package/dist/node/hooks/queries/index.mjs +0 -3
- package/dist/node/hooks/queries/index.mjs.map +0 -1
- package/dist/node/hooks/queries/useArchivistAll.mjs +0 -22
- package/dist/node/hooks/queries/useArchivistGet.mjs +0 -15
- package/dist/node/index.mjs +0 -3
- package/dist/node/index.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/Card/components/Stats/MemoryArchivistStats.tsx","../../../../../../src/components/Card/components/Stats/ArchivistStats.tsx"],"sourcesContent":["import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ArchivistAllQuerySchema, ArchivistInstance } from '@xyo-network/archivist'\nimport { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { EventUnsubscribeFunction } from '@xyo-network/module'\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 () => listeners.forEach((listener) => listener?.())\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 = BoundWitnessWrapper.tryParse(payload) as BoundWitnessWrapper | undefined\n w?.addresses?.forEach((address) => {\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 { 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 ? (\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 ? (\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"],"mappings":"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","names":["import_jsx_runtime","archivist","all"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ArchivistInstance } from '@xyo-network/archivist';
|
|
3
|
+
export interface MemoryArchivistStatsProps {
|
|
4
|
+
archivist?: ArchivistInstance;
|
|
5
|
+
}
|
|
6
|
+
export declare const MemoryArchivistsStats: React.FC<MemoryArchivistStatsProps>;
|
|
7
|
+
//# sourceMappingURL=MemoryArchivistStats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryArchivistStats.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Card/components/Stats/MemoryArchivistStats.tsx"],"names":[],"mappings":";AACA,OAAO,EAA2B,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AASnF,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,iBAAiB,CAAA;CAC9B;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAmErE,CAAA"}
|
|
@@ -1,42 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
// src/components/Card/components/Stats/MemoryArchivistStats.tsx
|
|
2
|
+
import { useAsyncEffect } from "@xylabs/react-async-effect";
|
|
3
|
+
import { ArchivistAllQuerySchema } from "@xyo-network/archivist";
|
|
4
|
+
import { BoundWitnessSchema } from "@xyo-network/boundwitness-model";
|
|
5
|
+
import { BoundWitnessWrapper } from "@xyo-network/boundwitness-wrapper";
|
|
6
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
7
|
+
|
|
8
|
+
// src/components/Card/components/Stats/ArchivistStats.tsx
|
|
9
|
+
import { Badge, Tooltip } from "@mui/material";
|
|
10
|
+
import { FlexRow } from "@xylabs/react-flexbox";
|
|
11
|
+
import { BsFileEarmarkCode } from "react-icons/bs/index.js";
|
|
12
|
+
import { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from "react-icons/vsc/index.js";
|
|
13
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
14
|
+
var ArchivistStats = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {
|
|
15
|
+
return /* @__PURE__ */ jsxs(FlexRow, { gap: 2, mr: 0.5, children: [
|
|
16
|
+
(payloads == null ? void 0 : payloads.length) ? /* @__PURE__ */ jsx(Tooltip, { title: "Payloads", children: /* @__PURE__ */ jsx(Badge, { badgeContent: payloads == null ? void 0 : payloads.length, color: "primary", children: /* @__PURE__ */ jsx(VscSymbolNamespace, { size: 20 }) }) }) : null,
|
|
17
|
+
(boundWitnesses == null ? void 0 : boundWitnesses.length) ? /* @__PURE__ */ jsx(Tooltip, { title: "Blocks", children: /* @__PURE__ */ jsx(Badge, { badgeContent: boundWitnesses == null ? void 0 : boundWitnesses.length, color: "primary", children: /* @__PURE__ */ jsx(VscSymbolMethod, { size: 20 }) }) }) : null,
|
|
18
|
+
Object.entries(schemas).length ? /* @__PURE__ */ jsx(Tooltip, { title: "Schemas", children: /* @__PURE__ */ jsx(Badge, { badgeContent: Object.entries(schemas).length, color: "primary", children: /* @__PURE__ */ jsx(BsFileEarmarkCode, { size: 20 }) }) }) : null,
|
|
19
|
+
Object.entries(addresses).length ? /* @__PURE__ */ jsx(Tooltip, { title: "Addresses", children: /* @__PURE__ */ jsx(Badge, { badgeContent: Object.entries(addresses).length, color: "primary", children: /* @__PURE__ */ jsx(VscOrganization, { size: 20 }) }) }) : null
|
|
20
|
+
] });
|
|
9
21
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var MemoryArchivistStats_exports = {};
|
|
20
|
-
__export(MemoryArchivistStats_exports, {
|
|
21
|
-
MemoryArchivistsStats: () => MemoryArchivistsStats
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(MemoryArchivistStats_exports);
|
|
24
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
25
|
-
var import_react_async_effect = require("@xylabs/react-async-effect");
|
|
26
|
-
var import_archivist = require("@xyo-network/archivist");
|
|
27
|
-
var import_boundwitness_model = require("@xyo-network/boundwitness-model");
|
|
28
|
-
var import_boundwitness_wrapper = require("@xyo-network/boundwitness-wrapper");
|
|
29
|
-
var import_react = require("react");
|
|
30
|
-
var import_ArchivistStats = require("./ArchivistStats");
|
|
31
|
-
const MemoryArchivistsStats = ({ archivist }) => {
|
|
32
|
-
const [all, setAll] = (0, import_react.useState)();
|
|
33
|
-
const getAll = (0, import_react.useCallback)(async (archivist2) => {
|
|
34
|
-
const all2 = await archivist2?.all?.();
|
|
22
|
+
|
|
23
|
+
// src/components/Card/components/Stats/MemoryArchivistStats.tsx
|
|
24
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
25
|
+
var MemoryArchivistsStats = ({ archivist }) => {
|
|
26
|
+
const [all, setAll] = useState();
|
|
27
|
+
const getAll = useCallback(async (archivist2) => {
|
|
28
|
+
var _a;
|
|
29
|
+
const all2 = await ((_a = archivist2 == null ? void 0 : archivist2.all) == null ? void 0 : _a.call(archivist2));
|
|
35
30
|
setAll(all2);
|
|
36
31
|
}, []);
|
|
37
|
-
|
|
32
|
+
useEffect(() => {
|
|
38
33
|
const listeners = [];
|
|
39
|
-
if (archivist
|
|
34
|
+
if (archivist == null ? void 0 : archivist.queries.includes(ArchivistAllQuerySchema)) {
|
|
40
35
|
const insertListener = archivist.on("inserted", async () => {
|
|
41
36
|
await getAll(archivist);
|
|
42
37
|
});
|
|
@@ -46,12 +41,12 @@ const MemoryArchivistsStats = ({ archivist }) => {
|
|
|
46
41
|
});
|
|
47
42
|
listeners.push(clearListener);
|
|
48
43
|
}
|
|
49
|
-
return () => listeners.forEach((listener) => listener
|
|
44
|
+
return () => listeners.forEach((listener) => listener == null ? void 0 : listener());
|
|
50
45
|
}, [archivist, getAll]);
|
|
51
|
-
|
|
46
|
+
useAsyncEffect(
|
|
52
47
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
53
48
|
async () => {
|
|
54
|
-
if (archivist
|
|
49
|
+
if (archivist == null ? void 0 : archivist.queries.includes(ArchivistAllQuerySchema)) {
|
|
55
50
|
await getAll(archivist);
|
|
56
51
|
} else {
|
|
57
52
|
setAll(null);
|
|
@@ -59,35 +54,35 @@ const MemoryArchivistsStats = ({ archivist }) => {
|
|
|
59
54
|
},
|
|
60
55
|
[archivist, getAll]
|
|
61
56
|
);
|
|
62
|
-
const payloads =
|
|
63
|
-
const boundWitnesses =
|
|
64
|
-
const addresses =
|
|
65
|
-
() => all
|
|
57
|
+
const payloads = useMemo(() => all === null ? [] : all == null ? void 0 : all.filter((payload) => payload.schema !== BoundWitnessSchema), [all]);
|
|
58
|
+
const boundWitnesses = useMemo(() => all === null ? [] : all == null ? void 0 : all.filter((payload) => payload.schema === BoundWitnessSchema), [all]);
|
|
59
|
+
const addresses = useMemo(
|
|
60
|
+
() => (all == null ? void 0 : all.reduce(
|
|
66
61
|
(prev, payload) => {
|
|
67
|
-
|
|
68
|
-
w
|
|
62
|
+
var _a;
|
|
63
|
+
const w = BoundWitnessWrapper.tryParse(payload);
|
|
64
|
+
(_a = w == null ? void 0 : w.addresses) == null ? void 0 : _a.forEach((address) => {
|
|
69
65
|
prev[address] = (prev[address] ?? 0) + 1;
|
|
70
66
|
});
|
|
71
67
|
return prev;
|
|
72
68
|
},
|
|
73
69
|
{}
|
|
74
|
-
) ?? {},
|
|
70
|
+
)) ?? {},
|
|
75
71
|
[all]
|
|
76
72
|
);
|
|
77
|
-
const schemas =
|
|
78
|
-
() => all
|
|
73
|
+
const schemas = useMemo(
|
|
74
|
+
() => (all == null ? void 0 : all.reduce(
|
|
79
75
|
(prev, payload) => {
|
|
80
76
|
prev[payload.schema] = (prev[payload.schema] ?? 0) + 1;
|
|
81
77
|
return prev;
|
|
82
78
|
},
|
|
83
79
|
{}
|
|
84
|
-
) ?? {},
|
|
80
|
+
)) ?? {},
|
|
85
81
|
[all]
|
|
86
82
|
);
|
|
87
|
-
return /* @__PURE__ */ (
|
|
83
|
+
return /* @__PURE__ */ jsx2(ArchivistStats, { addresses, boundWitnesses, payloads, schemas });
|
|
88
84
|
};
|
|
89
|
-
|
|
90
|
-
0 && (module.exports = {
|
|
85
|
+
export {
|
|
91
86
|
MemoryArchivistsStats
|
|
92
|
-
}
|
|
87
|
+
};
|
|
93
88
|
//# sourceMappingURL=MemoryArchivistStats.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/Card/components/Stats/MemoryArchivistStats.tsx"],"sourcesContent":["import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ArchivistAllQuerySchema, ArchivistInstance } from '@xyo-network/archivist'\nimport { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { EventUnsubscribeFunction } from '@xyo-network/module'\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 () => listeners.forEach((listener) => listener?.())\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 = BoundWitnessWrapper.tryParse(payload) as BoundWitnessWrapper | undefined\n w?.addresses?.forEach((address) => {\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"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/Card/components/Stats/MemoryArchivistStats.tsx","../../../../../../src/components/Card/components/Stats/ArchivistStats.tsx"],"sourcesContent":["import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ArchivistAllQuerySchema, ArchivistInstance } from '@xyo-network/archivist'\nimport { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { EventUnsubscribeFunction } from '@xyo-network/module'\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 () => listeners.forEach((listener) => listener?.())\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 = BoundWitnessWrapper.tryParse(payload) as BoundWitnessWrapper | undefined\n w?.addresses?.forEach((address) => {\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 { 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 ? (\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 ? (\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"],"mappings":"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","names":["jsx","archivist","all"]}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/components/Card/components/Stats/index.ts
|
|
21
|
+
var Stats_exports = {};
|
|
22
|
+
__export(Stats_exports, {
|
|
23
|
+
ArchivistStats: () => ArchivistStats,
|
|
24
|
+
MemoryArchivistsStats: () => MemoryArchivistsStats
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(Stats_exports);
|
|
27
|
+
|
|
28
|
+
// src/components/Card/components/Stats/ArchivistStats.tsx
|
|
29
|
+
var import_material = require("@mui/material");
|
|
30
|
+
var import_react_flexbox = require("@xylabs/react-flexbox");
|
|
31
|
+
var import_bs = require("react-icons/bs/index.js");
|
|
32
|
+
var import_vsc = require("react-icons/vsc/index.js");
|
|
33
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
34
|
+
var ArchivistStats = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {
|
|
35
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_flexbox.FlexRow, { gap: 2, mr: 0.5, children: [
|
|
36
|
+
(payloads == null ? void 0 : payloads.length) ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Tooltip, { title: "Payloads", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Badge, { badgeContent: payloads == null ? void 0 : payloads.length, color: "primary", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_vsc.VscSymbolNamespace, { size: 20 }) }) }) : null,
|
|
37
|
+
(boundWitnesses == null ? void 0 : boundWitnesses.length) ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Tooltip, { title: "Blocks", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Badge, { badgeContent: boundWitnesses == null ? void 0 : boundWitnesses.length, color: "primary", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_vsc.VscSymbolMethod, { size: 20 }) }) }) : null,
|
|
38
|
+
Object.entries(schemas).length ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Tooltip, { title: "Schemas", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Badge, { badgeContent: Object.entries(schemas).length, color: "primary", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_bs.BsFileEarmarkCode, { size: 20 }) }) }) : null,
|
|
39
|
+
Object.entries(addresses).length ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Tooltip, { title: "Addresses", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Badge, { badgeContent: Object.entries(addresses).length, color: "primary", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_vsc.VscOrganization, { size: 20 }) }) }) : null
|
|
40
|
+
] });
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
// src/components/Card/components/Stats/MemoryArchivistStats.tsx
|
|
44
|
+
var import_react_async_effect = require("@xylabs/react-async-effect");
|
|
45
|
+
var import_archivist = require("@xyo-network/archivist");
|
|
46
|
+
var import_boundwitness_model = require("@xyo-network/boundwitness-model");
|
|
47
|
+
var import_boundwitness_wrapper = require("@xyo-network/boundwitness-wrapper");
|
|
48
|
+
var import_react = require("react");
|
|
49
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
50
|
+
var MemoryArchivistsStats = ({ archivist }) => {
|
|
51
|
+
const [all, setAll] = (0, import_react.useState)();
|
|
52
|
+
const getAll = (0, import_react.useCallback)(async (archivist2) => {
|
|
53
|
+
var _a;
|
|
54
|
+
const all2 = await ((_a = archivist2 == null ? void 0 : archivist2.all) == null ? void 0 : _a.call(archivist2));
|
|
55
|
+
setAll(all2);
|
|
56
|
+
}, []);
|
|
57
|
+
(0, import_react.useEffect)(() => {
|
|
58
|
+
const listeners = [];
|
|
59
|
+
if (archivist == null ? void 0 : archivist.queries.includes(import_archivist.ArchivistAllQuerySchema)) {
|
|
60
|
+
const insertListener = archivist.on("inserted", async () => {
|
|
61
|
+
await getAll(archivist);
|
|
62
|
+
});
|
|
63
|
+
listeners.push(insertListener);
|
|
64
|
+
const clearListener = archivist.on("cleared", async () => {
|
|
65
|
+
await getAll(archivist);
|
|
66
|
+
});
|
|
67
|
+
listeners.push(clearListener);
|
|
68
|
+
}
|
|
69
|
+
return () => listeners.forEach((listener) => listener == null ? void 0 : listener());
|
|
70
|
+
}, [archivist, getAll]);
|
|
71
|
+
(0, import_react_async_effect.useAsyncEffect)(
|
|
72
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
73
|
+
async () => {
|
|
74
|
+
if (archivist == null ? void 0 : archivist.queries.includes(import_archivist.ArchivistAllQuerySchema)) {
|
|
75
|
+
await getAll(archivist);
|
|
76
|
+
} else {
|
|
77
|
+
setAll(null);
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
[archivist, getAll]
|
|
81
|
+
);
|
|
82
|
+
const payloads = (0, import_react.useMemo)(() => all === null ? [] : all == null ? void 0 : all.filter((payload) => payload.schema !== import_boundwitness_model.BoundWitnessSchema), [all]);
|
|
83
|
+
const boundWitnesses = (0, import_react.useMemo)(() => all === null ? [] : all == null ? void 0 : all.filter((payload) => payload.schema === import_boundwitness_model.BoundWitnessSchema), [all]);
|
|
84
|
+
const addresses = (0, import_react.useMemo)(
|
|
85
|
+
() => (all == null ? void 0 : all.reduce(
|
|
86
|
+
(prev, payload) => {
|
|
87
|
+
var _a;
|
|
88
|
+
const w = import_boundwitness_wrapper.BoundWitnessWrapper.tryParse(payload);
|
|
89
|
+
(_a = w == null ? void 0 : w.addresses) == null ? void 0 : _a.forEach((address) => {
|
|
90
|
+
prev[address] = (prev[address] ?? 0) + 1;
|
|
91
|
+
});
|
|
92
|
+
return prev;
|
|
93
|
+
},
|
|
94
|
+
{}
|
|
95
|
+
)) ?? {},
|
|
96
|
+
[all]
|
|
97
|
+
);
|
|
98
|
+
const schemas = (0, import_react.useMemo)(
|
|
99
|
+
() => (all == null ? void 0 : all.reduce(
|
|
100
|
+
(prev, payload) => {
|
|
101
|
+
prev[payload.schema] = (prev[payload.schema] ?? 0) + 1;
|
|
102
|
+
return prev;
|
|
103
|
+
},
|
|
104
|
+
{}
|
|
105
|
+
)) ?? {},
|
|
106
|
+
[all]
|
|
107
|
+
);
|
|
108
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ArchivistStats, { addresses, boundWitnesses, payloads, schemas });
|
|
109
|
+
};
|
|
110
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
111
|
+
0 && (module.exports = {
|
|
112
|
+
ArchivistStats,
|
|
113
|
+
MemoryArchivistsStats
|
|
114
|
+
});
|
|
115
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/Card/components/Stats/index.ts","../../../../../../src/components/Card/components/Stats/ArchivistStats.tsx","../../../../../../src/components/Card/components/Stats/MemoryArchivistStats.tsx"],"sourcesContent":["export * from './ArchivistStats'\nexport * from './MemoryArchivistStats'\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 ? (\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 ? (\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'\nimport { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { EventUnsubscribeFunction } from '@xyo-network/module'\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 () => listeners.forEach((listener) => listener?.())\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 = BoundWitnessWrapper.tryParse(payload) as BoundWitnessWrapper | undefined\n w?.addresses?.forEach((address) => {\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"],"mappings":"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","names":["import_jsx_runtime","archivist","all"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Card/components/Stats/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA"}
|
|
@@ -1,25 +1,87 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
// src/components/Card/components/Stats/ArchivistStats.tsx
|
|
2
|
+
import { Badge, Tooltip } from "@mui/material";
|
|
3
|
+
import { FlexRow } from "@xylabs/react-flexbox";
|
|
4
|
+
import { BsFileEarmarkCode } from "react-icons/bs/index.js";
|
|
5
|
+
import { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from "react-icons/vsc/index.js";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
var ArchivistStats = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {
|
|
8
|
+
return /* @__PURE__ */ jsxs(FlexRow, { gap: 2, mr: 0.5, children: [
|
|
9
|
+
(payloads == null ? void 0 : payloads.length) ? /* @__PURE__ */ jsx(Tooltip, { title: "Payloads", children: /* @__PURE__ */ jsx(Badge, { badgeContent: payloads == null ? void 0 : payloads.length, color: "primary", children: /* @__PURE__ */ jsx(VscSymbolNamespace, { size: 20 }) }) }) : null,
|
|
10
|
+
(boundWitnesses == null ? void 0 : boundWitnesses.length) ? /* @__PURE__ */ jsx(Tooltip, { title: "Blocks", children: /* @__PURE__ */ jsx(Badge, { badgeContent: boundWitnesses == null ? void 0 : boundWitnesses.length, color: "primary", children: /* @__PURE__ */ jsx(VscSymbolMethod, { size: 20 }) }) }) : null,
|
|
11
|
+
Object.entries(schemas).length ? /* @__PURE__ */ jsx(Tooltip, { title: "Schemas", children: /* @__PURE__ */ jsx(Badge, { badgeContent: Object.entries(schemas).length, color: "primary", children: /* @__PURE__ */ jsx(BsFileEarmarkCode, { size: 20 }) }) }) : null,
|
|
12
|
+
Object.entries(addresses).length ? /* @__PURE__ */ jsx(Tooltip, { title: "Addresses", children: /* @__PURE__ */ jsx(Badge, { badgeContent: Object.entries(addresses).length, color: "primary", children: /* @__PURE__ */ jsx(VscOrganization, { size: 20 }) }) }) : null
|
|
13
|
+
] });
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
// src/components/Card/components/Stats/MemoryArchivistStats.tsx
|
|
17
|
+
import { useAsyncEffect } from "@xylabs/react-async-effect";
|
|
18
|
+
import { ArchivistAllQuerySchema } from "@xyo-network/archivist";
|
|
19
|
+
import { BoundWitnessSchema } from "@xyo-network/boundwitness-model";
|
|
20
|
+
import { BoundWitnessWrapper } from "@xyo-network/boundwitness-wrapper";
|
|
21
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
22
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
23
|
+
var MemoryArchivistsStats = ({ archivist }) => {
|
|
24
|
+
const [all, setAll] = useState();
|
|
25
|
+
const getAll = useCallback(async (archivist2) => {
|
|
26
|
+
var _a;
|
|
27
|
+
const all2 = await ((_a = archivist2 == null ? void 0 : archivist2.all) == null ? void 0 : _a.call(archivist2));
|
|
28
|
+
setAll(all2);
|
|
29
|
+
}, []);
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
const listeners = [];
|
|
32
|
+
if (archivist == null ? void 0 : archivist.queries.includes(ArchivistAllQuerySchema)) {
|
|
33
|
+
const insertListener = archivist.on("inserted", async () => {
|
|
34
|
+
await getAll(archivist);
|
|
35
|
+
});
|
|
36
|
+
listeners.push(insertListener);
|
|
37
|
+
const clearListener = archivist.on("cleared", async () => {
|
|
38
|
+
await getAll(archivist);
|
|
39
|
+
});
|
|
40
|
+
listeners.push(clearListener);
|
|
41
|
+
}
|
|
42
|
+
return () => listeners.forEach((listener) => listener == null ? void 0 : listener());
|
|
43
|
+
}, [archivist, getAll]);
|
|
44
|
+
useAsyncEffect(
|
|
45
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
46
|
+
async () => {
|
|
47
|
+
if (archivist == null ? void 0 : archivist.queries.includes(ArchivistAllQuerySchema)) {
|
|
48
|
+
await getAll(archivist);
|
|
49
|
+
} else {
|
|
50
|
+
setAll(null);
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
[archivist, getAll]
|
|
54
|
+
);
|
|
55
|
+
const payloads = useMemo(() => all === null ? [] : all == null ? void 0 : all.filter((payload) => payload.schema !== BoundWitnessSchema), [all]);
|
|
56
|
+
const boundWitnesses = useMemo(() => all === null ? [] : all == null ? void 0 : all.filter((payload) => payload.schema === BoundWitnessSchema), [all]);
|
|
57
|
+
const addresses = useMemo(
|
|
58
|
+
() => (all == null ? void 0 : all.reduce(
|
|
59
|
+
(prev, payload) => {
|
|
60
|
+
var _a;
|
|
61
|
+
const w = BoundWitnessWrapper.tryParse(payload);
|
|
62
|
+
(_a = w == null ? void 0 : w.addresses) == null ? void 0 : _a.forEach((address) => {
|
|
63
|
+
prev[address] = (prev[address] ?? 0) + 1;
|
|
64
|
+
});
|
|
65
|
+
return prev;
|
|
66
|
+
},
|
|
67
|
+
{}
|
|
68
|
+
)) ?? {},
|
|
69
|
+
[all]
|
|
70
|
+
);
|
|
71
|
+
const schemas = useMemo(
|
|
72
|
+
() => (all == null ? void 0 : all.reduce(
|
|
73
|
+
(prev, payload) => {
|
|
74
|
+
prev[payload.schema] = (prev[payload.schema] ?? 0) + 1;
|
|
75
|
+
return prev;
|
|
76
|
+
},
|
|
77
|
+
{}
|
|
78
|
+
)) ?? {},
|
|
79
|
+
[all]
|
|
80
|
+
);
|
|
81
|
+
return /* @__PURE__ */ jsx2(ArchivistStats, { addresses, boundWitnesses, payloads, schemas });
|
|
82
|
+
};
|
|
83
|
+
export {
|
|
84
|
+
ArchivistStats,
|
|
85
|
+
MemoryArchivistsStats
|
|
13
86
|
};
|
|
14
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
-
var Stats_exports = {};
|
|
17
|
-
module.exports = __toCommonJS(Stats_exports);
|
|
18
|
-
__reExport(Stats_exports, require("./ArchivistStats"), module.exports);
|
|
19
|
-
__reExport(Stats_exports, require("./MemoryArchivistStats"), module.exports);
|
|
20
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
21
|
-
0 && (module.exports = {
|
|
22
|
-
...require("./ArchivistStats"),
|
|
23
|
-
...require("./MemoryArchivistStats")
|
|
24
|
-
});
|
|
25
87
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/Card/components/Stats/
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/Card/components/Stats/ArchivistStats.tsx","../../../../../../src/components/Card/components/Stats/MemoryArchivistStats.tsx"],"sourcesContent":["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 ? (\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 ? (\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'\nimport { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { EventUnsubscribeFunction } from '@xyo-network/module'\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 () => listeners.forEach((listener) => listener?.())\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 = BoundWitnessWrapper.tryParse(payload) as BoundWitnessWrapper | undefined\n w?.addresses?.forEach((address) => {\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"],"mappings":"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","names":["jsx","archivist","all"]}
|