@xyo-network/react-witness 2.73.0 → 2.75.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/hooks/node/index.d.cts +2 -0
- package/dist/browser/hooks/node/index.d.cts.map +1 -1
- package/dist/browser/hooks/node/index.d.mts +2 -0
- package/dist/browser/hooks/node/index.d.mts.map +1 -1
- package/dist/browser/hooks/node/index.d.ts +2 -0
- package/dist/browser/hooks/node/index.d.ts.map +1 -1
- package/dist/browser/hooks/node/useWeakWitnessFromNode.d.cts +4 -0
- package/dist/browser/hooks/node/useWeakWitnessFromNode.d.cts.map +1 -0
- package/dist/browser/hooks/node/useWeakWitnessFromNode.d.mts +4 -0
- package/dist/browser/hooks/node/useWeakWitnessFromNode.d.mts.map +1 -0
- package/dist/browser/hooks/node/useWeakWitnessFromNode.d.ts +4 -0
- package/dist/browser/hooks/node/useWeakWitnessFromNode.d.ts.map +1 -0
- package/dist/browser/hooks/node/useWeakWitnessesFromNode.d.cts +5 -0
- package/dist/browser/hooks/node/useWeakWitnessesFromNode.d.cts.map +1 -0
- package/dist/browser/hooks/node/useWeakWitnessesFromNode.d.mts +5 -0
- package/dist/browser/hooks/node/useWeakWitnessesFromNode.d.mts.map +1 -0
- package/dist/browser/hooks/node/useWeakWitnessesFromNode.d.ts +5 -0
- package/dist/browser/hooks/node/useWeakWitnessesFromNode.d.ts.map +1 -0
- package/dist/browser/index.cjs +44 -7
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +39 -2
- package/dist/browser/index.js.map +1 -1
- package/dist/node/hooks/node/index.d.cts +2 -0
- package/dist/node/hooks/node/index.d.cts.map +1 -1
- package/dist/node/hooks/node/index.d.mts +2 -0
- package/dist/node/hooks/node/index.d.mts.map +1 -1
- package/dist/node/hooks/node/index.d.ts +2 -0
- package/dist/node/hooks/node/index.d.ts.map +1 -1
- package/dist/node/hooks/node/useWeakWitnessFromNode.d.cts +4 -0
- package/dist/node/hooks/node/useWeakWitnessFromNode.d.cts.map +1 -0
- package/dist/node/hooks/node/useWeakWitnessFromNode.d.mts +4 -0
- package/dist/node/hooks/node/useWeakWitnessFromNode.d.mts.map +1 -0
- package/dist/node/hooks/node/useWeakWitnessFromNode.d.ts +4 -0
- package/dist/node/hooks/node/useWeakWitnessFromNode.d.ts.map +1 -0
- package/dist/node/hooks/node/useWeakWitnessesFromNode.d.cts +5 -0
- package/dist/node/hooks/node/useWeakWitnessesFromNode.d.cts.map +1 -0
- package/dist/node/hooks/node/useWeakWitnessesFromNode.d.mts +5 -0
- package/dist/node/hooks/node/useWeakWitnessesFromNode.d.mts.map +1 -0
- package/dist/node/hooks/node/useWeakWitnessesFromNode.d.ts +5 -0
- package/dist/node/hooks/node/useWeakWitnessesFromNode.d.ts.map +1 -0
- package/dist/node/index.cjs +46 -7
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +39 -2
- package/dist/node/index.js.map +1 -1
- package/package.json +10 -9
- package/src/hooks/node/index.ts +2 -0
- package/src/hooks/node/useWeakWitnessFromNode.tsx +17 -0
- package/src/hooks/node/useWeakWitnessesFromNode.tsx +25 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ModuleFromNodeConfig } from '@xyo-network/react-node';
|
|
2
|
+
import { WitnessInstance } from '@xyo-network/witness-model';
|
|
3
|
+
export declare const useWeakWitnessFromNode: (nameOrAddressOrInstance?: string | WitnessInstance, config?: ModuleFromNodeConfig) => [WeakRef<WitnessInstance> | undefined, Error | undefined];
|
|
4
|
+
//# sourceMappingURL=useWeakWitnessFromNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWeakWitnessFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakWitnessFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAyB,MAAM,yBAAyB,CAAA;AACrF,OAAO,EAAqB,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE/E,eAAO,MAAM,sBAAsB,6BACP,MAAM,GAAG,eAAe,WACzC,oBAAoB,KAC5B,CAAC,QAAQ,eAAe,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAU1D,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ModuleFromNodeConfig } from '@xyo-network/react-node';
|
|
2
|
+
import { WitnessInstance } from '@xyo-network/witness-model';
|
|
3
|
+
export declare const useWeakWitnessFromNode: (nameOrAddressOrInstance?: string | WitnessInstance, config?: ModuleFromNodeConfig) => [WeakRef<WitnessInstance> | undefined, Error | undefined];
|
|
4
|
+
//# sourceMappingURL=useWeakWitnessFromNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWeakWitnessFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakWitnessFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAyB,MAAM,yBAAyB,CAAA;AACrF,OAAO,EAAqB,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE/E,eAAO,MAAM,sBAAsB,6BACP,MAAM,GAAG,eAAe,WACzC,oBAAoB,KAC5B,CAAC,QAAQ,eAAe,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAU1D,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ModuleFromNodeConfig } from '@xyo-network/react-node';
|
|
2
|
+
import { WitnessInstance } from '@xyo-network/witness-model';
|
|
3
|
+
export declare const useWeakWitnessFromNode: (nameOrAddressOrInstance?: string | WitnessInstance, config?: ModuleFromNodeConfig) => [WeakRef<WitnessInstance> | undefined, Error | undefined];
|
|
4
|
+
//# sourceMappingURL=useWeakWitnessFromNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWeakWitnessFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakWitnessFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAyB,MAAM,yBAAyB,CAAA;AACrF,OAAO,EAAqB,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE/E,eAAO,MAAM,sBAAsB,6BACP,MAAM,GAAG,eAAe,WACzC,oBAAoB,KAC5B,CAAC,QAAQ,eAAe,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAU1D,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ModuleFilter } from '@xyo-network/module-model';
|
|
2
|
+
import { ModuleFromNodeConfig } from '@xyo-network/react-node';
|
|
3
|
+
import { WitnessInstance } from '@xyo-network/witness-model';
|
|
4
|
+
export declare const useWeakWitnessesFromNode: (filter?: ModuleFilter, config?: ModuleFromNodeConfig) => [WeakRef<WitnessInstance>[] | null | undefined, Error | undefined];
|
|
5
|
+
//# sourceMappingURL=useWeakWitnessesFromNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWeakWitnessesFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakWitnessesFromNode.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAA0B,MAAM,yBAAyB,CAAA;AACtF,OAAO,EAAqB,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE/E,eAAO,MAAM,wBAAwB,YAC1B,YAAY,WACZ,oBAAoB,KAC5B,CAAC,QAAQ,eAAe,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAgBnE,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ModuleFilter } from '@xyo-network/module-model';
|
|
2
|
+
import { ModuleFromNodeConfig } from '@xyo-network/react-node';
|
|
3
|
+
import { WitnessInstance } from '@xyo-network/witness-model';
|
|
4
|
+
export declare const useWeakWitnessesFromNode: (filter?: ModuleFilter, config?: ModuleFromNodeConfig) => [WeakRef<WitnessInstance>[] | null | undefined, Error | undefined];
|
|
5
|
+
//# sourceMappingURL=useWeakWitnessesFromNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWeakWitnessesFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakWitnessesFromNode.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAA0B,MAAM,yBAAyB,CAAA;AACtF,OAAO,EAAqB,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE/E,eAAO,MAAM,wBAAwB,YAC1B,YAAY,WACZ,oBAAoB,KAC5B,CAAC,QAAQ,eAAe,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAgBnE,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ModuleFilter } from '@xyo-network/module-model';
|
|
2
|
+
import { ModuleFromNodeConfig } from '@xyo-network/react-node';
|
|
3
|
+
import { WitnessInstance } from '@xyo-network/witness-model';
|
|
4
|
+
export declare const useWeakWitnessesFromNode: (filter?: ModuleFilter, config?: ModuleFromNodeConfig) => [WeakRef<WitnessInstance>[] | null | undefined, Error | undefined];
|
|
5
|
+
//# sourceMappingURL=useWeakWitnessesFromNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWeakWitnessesFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakWitnessesFromNode.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAA0B,MAAM,yBAAyB,CAAA;AACtF,OAAO,EAAqB,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE/E,eAAO,MAAM,wBAAwB,YAC1B,YAAY,WACZ,oBAAoB,KAC5B,CAAC,QAAQ,eAAe,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAgBnE,CAAA"}
|
package/dist/browser/index.cjs
CHANGED
|
@@ -23,6 +23,8 @@ __export(src_exports, {
|
|
|
23
23
|
WitnessCard: () => WitnessCard,
|
|
24
24
|
WitnessCardContent: () => WitnessCardContent,
|
|
25
25
|
WitnessCardHeader: () => WitnessCardHeader,
|
|
26
|
+
useWeakWitnessFromNode: () => useWeakWitnessFromNode,
|
|
27
|
+
useWeakWitnessesFromNode: () => useWeakWitnessesFromNode,
|
|
26
28
|
useWitnessFromNode: () => useWitnessFromNode,
|
|
27
29
|
useWitnessesFromNode: () => useWitnessesFromNode
|
|
28
30
|
});
|
|
@@ -77,18 +79,53 @@ var WitnessCard = ({ children, module: module2, ...props }) => {
|
|
|
77
79
|
] });
|
|
78
80
|
};
|
|
79
81
|
|
|
80
|
-
// src/hooks/node/
|
|
82
|
+
// src/hooks/node/useWeakWitnessesFromNode.tsx
|
|
83
|
+
var import_exists = require("@xylabs/exists");
|
|
81
84
|
var import_react_node = require("@xyo-network/react-node");
|
|
82
85
|
var import_witness_model = require("@xyo-network/witness-model");
|
|
86
|
+
var useWeakWitnessesFromNode = (filter, config) => {
|
|
87
|
+
const [modules, error] = (0, import_react_node.useWeakModulesFromNode)(filter, config);
|
|
88
|
+
if (error) {
|
|
89
|
+
return [null, error];
|
|
90
|
+
}
|
|
91
|
+
return [
|
|
92
|
+
modules?.map((module2) => {
|
|
93
|
+
const instance = (0, import_witness_model.asWitnessInstance)(module2?.deref());
|
|
94
|
+
if (instance) {
|
|
95
|
+
return new WeakRef(instance);
|
|
96
|
+
}
|
|
97
|
+
}).filter(import_exists.exists) ?? [],
|
|
98
|
+
void 0
|
|
99
|
+
];
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
// src/hooks/node/useWeakWitnessFromNode.tsx
|
|
103
|
+
var import_react_node2 = require("@xyo-network/react-node");
|
|
104
|
+
var import_witness_model2 = require("@xyo-network/witness-model");
|
|
105
|
+
var useWeakWitnessFromNode = (nameOrAddressOrInstance, config) => {
|
|
106
|
+
const [module2, error] = (0, import_react_node2.useWeakModuleFromNode)(nameOrAddressOrInstance, config);
|
|
107
|
+
const instance = module2?.deref();
|
|
108
|
+
const sentinel = (0, import_witness_model2.asWitnessInstance)(instance);
|
|
109
|
+
if (instance && !sentinel) {
|
|
110
|
+
const error2 = new Error(`Resolved module is not a DivinerInstance [${instance.id}]`);
|
|
111
|
+
console.error(error2.message);
|
|
112
|
+
return [void 0, error2];
|
|
113
|
+
}
|
|
114
|
+
return [sentinel ? new WeakRef(sentinel) : void 0, error];
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
// src/hooks/node/useWitnessesFromNode.tsx
|
|
118
|
+
var import_react_node3 = require("@xyo-network/react-node");
|
|
119
|
+
var import_witness_model3 = require("@xyo-network/witness-model");
|
|
83
120
|
var useWitnessesFromNode = (filter, config) => {
|
|
84
|
-
const [modules, error] = (0,
|
|
121
|
+
const [modules, error] = (0, import_react_node3.useModulesFromNode)(filter, config);
|
|
85
122
|
if (error) {
|
|
86
123
|
return [null, error];
|
|
87
124
|
}
|
|
88
125
|
return modules ? [
|
|
89
126
|
// eslint-disable-next-line unicorn/no-array-reduce
|
|
90
127
|
modules.reduce((prev, module2) => {
|
|
91
|
-
if ((0,
|
|
128
|
+
if ((0, import_witness_model3.isWitnessInstance)(module2)) {
|
|
92
129
|
prev.push(module2);
|
|
93
130
|
}
|
|
94
131
|
return prev;
|
|
@@ -98,11 +135,11 @@ var useWitnessesFromNode = (filter, config) => {
|
|
|
98
135
|
};
|
|
99
136
|
|
|
100
137
|
// src/hooks/node/useWitnessFromNode.tsx
|
|
101
|
-
var
|
|
102
|
-
var
|
|
138
|
+
var import_react_node4 = require("@xyo-network/react-node");
|
|
139
|
+
var import_witness_model4 = require("@xyo-network/witness-model");
|
|
103
140
|
var useWitnessFromNode = (nameOrAddressOrInstance, config) => {
|
|
104
|
-
const [module2, error] = (0,
|
|
105
|
-
const instance = (0,
|
|
141
|
+
const [module2, error] = (0, import_react_node4.useModuleFromNode)(nameOrAddressOrInstance, config);
|
|
142
|
+
const instance = (0, import_witness_model4.asWitnessInstance)(module2);
|
|
106
143
|
if (module2 && !instance) {
|
|
107
144
|
const error2 = new Error(`Resolved module is not a WitnessInstance [${module2.config?.schema}:${module2.config?.name}:${module2.address}]`);
|
|
108
145
|
console.error(error2.message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/components/Card/Card.tsx","../../src/components/Card/CardActions.tsx","../../src/components/Card/CardContent.tsx","../../src/components/Card/CardHeader.tsx","../../src/hooks/node/useWitnessesFromNode.tsx","../../src/hooks/node/useWitnessFromNode.tsx"],"sourcesContent":["export * from './components'\nexport * from './hooks'\n","import { Card, CardProps } from '@mui/material'\nimport { usePromise } from '@xylabs/react-promise'\nimport { ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\nimport { useState } from 'react'\n\nimport { WitnessCardActions } from './CardActions'\nimport { WitnessCardContent } from './CardContent'\nimport { WitnessCardHeader } from './CardHeader'\n\nexport const WitnessCard: React.FC<CardProps & ModuleRenderProps<WitnessInstance>> = ({ children, module, ...props }) => {\n const [retry, setRetry] = useState(-1)\n const [observation] = usePromise(async () => {\n if (retry >= 0) {\n return await module?.observe()\n }\n }, [module, retry])\n return (\n <Card {...props}>\n <WitnessCardHeader module={module} />\n <WitnessCardContent module={module} observation={observation} />\n {children}\n <WitnessCardActions module={module} onObserve={() => setRetry(retry + 1)} />\n </Card>\n )\n}\n","import { CardActionsProps } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { ModuleCardActions, ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\n\nexport type WitnessCardActionsProps = ModuleRenderProps<WitnessInstance> &\n CardActionsProps & {\n onObserve?: (module?: WitnessInstance) => void\n }\n\nexport const WitnessCardActions: React.FC<WitnessCardActionsProps> = ({ onObserve, module, ...props }) => {\n return (\n <ModuleCardActions module={module} {...props}>\n <ButtonEx onClick={() => onObserve?.(module)} size={'small'} variant={'outlined'}>\n Observe\n </ButtonEx>\n </ModuleCardActions>\n )\n}\n","import { CardContentProps } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\nimport { ModuleCardContent, ModuleRenderProps } from '@xyo-network/react-module'\nimport { JsonViewerEx } from '@xyo-network/react-payload-raw-info'\nimport { WitnessInstance } from '@xyo-network/witness-model'\nimport React from 'react'\n\nexport type WitnessCardContentProps = ModuleRenderProps<WitnessInstance> &\n CardContentProps & {\n observation?: Payload[]\n }\n\nexport const WitnessCardContent: React.FC<WitnessCardContentProps> = ({ children, observation, module, ...props }) => {\n return (\n <ModuleCardContent module={module} {...props}>\n <FlexGrowRow flexWrap=\"wrap\" justifyContent=\"start\" gap={2}>\n {observation ?\n <JsonViewerEx value={observation} />\n : null}\n {children}\n </FlexGrowRow>\n </ModuleCardContent>\n )\n}\n","import { CardHeaderProps } from '@mui/material'\nimport { ModuleCardHeader, ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\n\nexport const WitnessCardHeader: React.FC<ModuleRenderProps<WitnessInstance> & CardHeaderProps> = ({ title, module, ...props }) => {\n return <ModuleCardHeader module={module} title={title ?? module?.config.name ?? 'Witness'} {...props} />\n}\n","import { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\nimport { isWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWitnessesFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance[] | 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<WitnessInstance[]>((prev, module) => {\n if (isWitnessInstance(module)) {\n prev.push(module)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\nimport { asWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWitnessFromNode = (\n nameOrAddressOrInstance?: string | WitnessInstance,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance | undefined, Error | undefined] => {\n const [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asWitnessInstance(module)\n if (module && !instance) {\n const error = new Error(`Resolved module is not a WitnessInstance [${module.config?.schema}:${module.config?.name}:${module.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,sBAAgC;AAChC,2BAA2B;AAG3B,mBAAyB;;;ACHzB,0BAAyB;AACzB,0BAAqD;AAW/C;AAHC,IAAM,qBAAwD,CAAC,EAAE,WAAW,QAAAA,SAAQ,GAAG,MAAM,MAAM;AACxG,SACE,4CAAC,yCAAkB,QAAQA,SAAS,GAAG,OACrC,sDAAC,gCAAS,SAAS,MAAM,YAAYA,OAAM,GAAG,MAAM,SAAS,SAAS,YAAY,qBAElF,GACF;AAEJ;;;ACjBA,2BAA4B;AAE5B,IAAAC,uBAAqD;AACrD,oCAA6B;AAYvB,IAAAC,sBAAA;AAHC,IAAM,qBAAwD,CAAC,EAAE,UAAU,aAAa,QAAAC,SAAQ,GAAG,MAAM,MAAM;AACpH,SACE,6CAAC,0CAAkB,QAAQA,SAAS,GAAG,OACrC,wDAAC,oCAAY,UAAS,QAAO,gBAAe,SAAQ,KAAK,GACtD;AAAA,kBACC,6CAAC,8CAAa,OAAO,aAAa,IAClC;AAAA,IACD;AAAA,KACH,GACF;AAEJ;;;ACvBA,IAAAC,uBAAoD;AAI3C,IAAAC,sBAAA;AADF,IAAM,oBAAoF,CAAC,EAAE,OAAO,QAAAC,SAAQ,GAAG,MAAM,MAAM;AAChI,SAAO,6CAAC,yCAAiB,QAAQA,SAAQ,OAAO,SAASA,SAAQ,OAAO,QAAQ,WAAY,GAAG,OAAO;AACxG;;;AHYI,IAAAC,sBAAA;AARG,IAAM,cAAwE,CAAC,EAAE,UAAU,QAAAC,SAAQ,GAAG,MAAM,MAAM;AACvH,QAAM,CAAC,OAAO,QAAQ,QAAI,uBAAS,EAAE;AACrC,QAAM,CAAC,WAAW,QAAI,iCAAW,YAAY;AAC3C,QAAI,SAAS,GAAG;AACd,aAAO,MAAMA,SAAQ,QAAQ;AAAA,IAC/B;AAAA,EACF,GAAG,CAACA,SAAQ,KAAK,CAAC;AAClB,SACE,8CAAC,wBAAM,GAAG,OACR;AAAA,iDAAC,qBAAkB,QAAQA,SAAQ;AAAA,IACnC,6CAAC,sBAAmB,QAAQA,SAAQ,aAA0B;AAAA,IAC7D;AAAA,IACD,6CAAC,sBAAmB,QAAQA,SAAQ,WAAW,MAAM,SAAS,QAAQ,CAAC,GAAG;AAAA,KAC5E;AAEJ;;;
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/components/Card/Card.tsx","../../src/components/Card/CardActions.tsx","../../src/components/Card/CardContent.tsx","../../src/components/Card/CardHeader.tsx","../../src/hooks/node/useWeakWitnessesFromNode.tsx","../../src/hooks/node/useWeakWitnessFromNode.tsx","../../src/hooks/node/useWitnessesFromNode.tsx","../../src/hooks/node/useWitnessFromNode.tsx"],"sourcesContent":["export * from './components'\nexport * from './hooks'\n","import { Card, CardProps } from '@mui/material'\nimport { usePromise } from '@xylabs/react-promise'\nimport { ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\nimport { useState } from 'react'\n\nimport { WitnessCardActions } from './CardActions'\nimport { WitnessCardContent } from './CardContent'\nimport { WitnessCardHeader } from './CardHeader'\n\nexport const WitnessCard: React.FC<CardProps & ModuleRenderProps<WitnessInstance>> = ({ children, module, ...props }) => {\n const [retry, setRetry] = useState(-1)\n const [observation] = usePromise(async () => {\n if (retry >= 0) {\n return await module?.observe()\n }\n }, [module, retry])\n return (\n <Card {...props}>\n <WitnessCardHeader module={module} />\n <WitnessCardContent module={module} observation={observation} />\n {children}\n <WitnessCardActions module={module} onObserve={() => setRetry(retry + 1)} />\n </Card>\n )\n}\n","import { CardActionsProps } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { ModuleCardActions, ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\n\nexport type WitnessCardActionsProps = ModuleRenderProps<WitnessInstance> &\n CardActionsProps & {\n onObserve?: (module?: WitnessInstance) => void\n }\n\nexport const WitnessCardActions: React.FC<WitnessCardActionsProps> = ({ onObserve, module, ...props }) => {\n return (\n <ModuleCardActions module={module} {...props}>\n <ButtonEx onClick={() => onObserve?.(module)} size={'small'} variant={'outlined'}>\n Observe\n </ButtonEx>\n </ModuleCardActions>\n )\n}\n","import { CardContentProps } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\nimport { ModuleCardContent, ModuleRenderProps } from '@xyo-network/react-module'\nimport { JsonViewerEx } from '@xyo-network/react-payload-raw-info'\nimport { WitnessInstance } from '@xyo-network/witness-model'\nimport React from 'react'\n\nexport type WitnessCardContentProps = ModuleRenderProps<WitnessInstance> &\n CardContentProps & {\n observation?: Payload[]\n }\n\nexport const WitnessCardContent: React.FC<WitnessCardContentProps> = ({ children, observation, module, ...props }) => {\n return (\n <ModuleCardContent module={module} {...props}>\n <FlexGrowRow flexWrap=\"wrap\" justifyContent=\"start\" gap={2}>\n {observation ?\n <JsonViewerEx value={observation} />\n : null}\n {children}\n </FlexGrowRow>\n </ModuleCardContent>\n )\n}\n","import { CardHeaderProps } from '@mui/material'\nimport { ModuleCardHeader, ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\n\nexport const WitnessCardHeader: React.FC<ModuleRenderProps<WitnessInstance> & CardHeaderProps> = ({ title, module, ...props }) => {\n return <ModuleCardHeader module={module} title={title ?? module?.config.name ?? 'Witness'} {...props} />\n}\n","import { exists } from '@xylabs/exists'\nimport { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useWeakModulesFromNode } from '@xyo-network/react-node'\nimport { asWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWeakWitnessesFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WeakRef<WitnessInstance>[] | null | undefined, Error | undefined] => {\n const [modules, error] = useWeakModulesFromNode(filter, config)\n if (error) {\n return [null, error]\n }\n return [\n modules\n ?.map((module) => {\n const instance = asWitnessInstance(module?.deref())\n if (instance) {\n return new WeakRef(instance)\n }\n })\n .filter(exists) ?? [],\n undefined,\n ]\n}\n","import { ModuleFromNodeConfig, useWeakModuleFromNode } from '@xyo-network/react-node'\nimport { asWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWeakWitnessFromNode = (\n nameOrAddressOrInstance?: string | WitnessInstance,\n config?: ModuleFromNodeConfig,\n): [WeakRef<WitnessInstance> | undefined, Error | undefined] => {\n const [module, error] = useWeakModuleFromNode(nameOrAddressOrInstance, config)\n const instance = module?.deref()\n const sentinel = asWitnessInstance(instance)\n if (instance && !sentinel) {\n const error = new Error(`Resolved module is not a DivinerInstance [${instance.id}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [sentinel ? new WeakRef(sentinel) : undefined, error]\n}\n","import { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\nimport { isWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWitnessesFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance[] | 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<WitnessInstance[]>((prev, module) => {\n if (isWitnessInstance(module)) {\n prev.push(module)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\nimport { asWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWitnessFromNode = (\n nameOrAddressOrInstance?: string | WitnessInstance,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance | undefined, Error | undefined] => {\n const [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asWitnessInstance(module)\n if (module && !instance) {\n const error = new Error(`Resolved module is not a WitnessInstance [${module.config?.schema}:${module.config?.name}:${module.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n"],"mappings":"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","names":["module","import_react_module","import_jsx_runtime","module","import_react_module","import_jsx_runtime","module","import_jsx_runtime","module","module","import_react_node","import_witness_model","module","error","import_react_node","import_witness_model","module","import_react_node","import_witness_model","module","error"]}
|
package/dist/browser/index.js
CHANGED
|
@@ -47,6 +47,41 @@ var WitnessCard = ({ children, module, ...props }) => {
|
|
|
47
47
|
] });
|
|
48
48
|
};
|
|
49
49
|
|
|
50
|
+
// src/hooks/node/useWeakWitnessesFromNode.tsx
|
|
51
|
+
import { exists } from "@xylabs/exists";
|
|
52
|
+
import { useWeakModulesFromNode } from "@xyo-network/react-node";
|
|
53
|
+
import { asWitnessInstance } from "@xyo-network/witness-model";
|
|
54
|
+
var useWeakWitnessesFromNode = (filter, config) => {
|
|
55
|
+
const [modules, error] = useWeakModulesFromNode(filter, config);
|
|
56
|
+
if (error) {
|
|
57
|
+
return [null, error];
|
|
58
|
+
}
|
|
59
|
+
return [
|
|
60
|
+
modules?.map((module) => {
|
|
61
|
+
const instance = asWitnessInstance(module?.deref());
|
|
62
|
+
if (instance) {
|
|
63
|
+
return new WeakRef(instance);
|
|
64
|
+
}
|
|
65
|
+
}).filter(exists) ?? [],
|
|
66
|
+
void 0
|
|
67
|
+
];
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
// src/hooks/node/useWeakWitnessFromNode.tsx
|
|
71
|
+
import { useWeakModuleFromNode } from "@xyo-network/react-node";
|
|
72
|
+
import { asWitnessInstance as asWitnessInstance2 } from "@xyo-network/witness-model";
|
|
73
|
+
var useWeakWitnessFromNode = (nameOrAddressOrInstance, config) => {
|
|
74
|
+
const [module, error] = useWeakModuleFromNode(nameOrAddressOrInstance, config);
|
|
75
|
+
const instance = module?.deref();
|
|
76
|
+
const sentinel = asWitnessInstance2(instance);
|
|
77
|
+
if (instance && !sentinel) {
|
|
78
|
+
const error2 = new Error(`Resolved module is not a DivinerInstance [${instance.id}]`);
|
|
79
|
+
console.error(error2.message);
|
|
80
|
+
return [void 0, error2];
|
|
81
|
+
}
|
|
82
|
+
return [sentinel ? new WeakRef(sentinel) : void 0, error];
|
|
83
|
+
};
|
|
84
|
+
|
|
50
85
|
// src/hooks/node/useWitnessesFromNode.tsx
|
|
51
86
|
import { useModulesFromNode } from "@xyo-network/react-node";
|
|
52
87
|
import { isWitnessInstance } from "@xyo-network/witness-model";
|
|
@@ -69,10 +104,10 @@ var useWitnessesFromNode = (filter, config) => {
|
|
|
69
104
|
|
|
70
105
|
// src/hooks/node/useWitnessFromNode.tsx
|
|
71
106
|
import { useModuleFromNode } from "@xyo-network/react-node";
|
|
72
|
-
import { asWitnessInstance } from "@xyo-network/witness-model";
|
|
107
|
+
import { asWitnessInstance as asWitnessInstance3 } from "@xyo-network/witness-model";
|
|
73
108
|
var useWitnessFromNode = (nameOrAddressOrInstance, config) => {
|
|
74
109
|
const [module, error] = useModuleFromNode(nameOrAddressOrInstance, config);
|
|
75
|
-
const instance =
|
|
110
|
+
const instance = asWitnessInstance3(module);
|
|
76
111
|
if (module && !instance) {
|
|
77
112
|
const error2 = new Error(`Resolved module is not a WitnessInstance [${module.config?.schema}:${module.config?.name}:${module.address}]`);
|
|
78
113
|
console.error(error2.message);
|
|
@@ -84,6 +119,8 @@ export {
|
|
|
84
119
|
WitnessCard,
|
|
85
120
|
WitnessCardContent,
|
|
86
121
|
WitnessCardHeader,
|
|
122
|
+
useWeakWitnessFromNode,
|
|
123
|
+
useWeakWitnessesFromNode,
|
|
87
124
|
useWitnessFromNode,
|
|
88
125
|
useWitnessesFromNode
|
|
89
126
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/Card/Card.tsx","../../src/components/Card/CardActions.tsx","../../src/components/Card/CardContent.tsx","../../src/components/Card/CardHeader.tsx","../../src/hooks/node/useWitnessesFromNode.tsx","../../src/hooks/node/useWitnessFromNode.tsx"],"sourcesContent":["import { Card, CardProps } from '@mui/material'\nimport { usePromise } from '@xylabs/react-promise'\nimport { ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\nimport { useState } from 'react'\n\nimport { WitnessCardActions } from './CardActions'\nimport { WitnessCardContent } from './CardContent'\nimport { WitnessCardHeader } from './CardHeader'\n\nexport const WitnessCard: React.FC<CardProps & ModuleRenderProps<WitnessInstance>> = ({ children, module, ...props }) => {\n const [retry, setRetry] = useState(-1)\n const [observation] = usePromise(async () => {\n if (retry >= 0) {\n return await module?.observe()\n }\n }, [module, retry])\n return (\n <Card {...props}>\n <WitnessCardHeader module={module} />\n <WitnessCardContent module={module} observation={observation} />\n {children}\n <WitnessCardActions module={module} onObserve={() => setRetry(retry + 1)} />\n </Card>\n )\n}\n","import { CardActionsProps } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { ModuleCardActions, ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\n\nexport type WitnessCardActionsProps = ModuleRenderProps<WitnessInstance> &\n CardActionsProps & {\n onObserve?: (module?: WitnessInstance) => void\n }\n\nexport const WitnessCardActions: React.FC<WitnessCardActionsProps> = ({ onObserve, module, ...props }) => {\n return (\n <ModuleCardActions module={module} {...props}>\n <ButtonEx onClick={() => onObserve?.(module)} size={'small'} variant={'outlined'}>\n Observe\n </ButtonEx>\n </ModuleCardActions>\n )\n}\n","import { CardContentProps } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\nimport { ModuleCardContent, ModuleRenderProps } from '@xyo-network/react-module'\nimport { JsonViewerEx } from '@xyo-network/react-payload-raw-info'\nimport { WitnessInstance } from '@xyo-network/witness-model'\nimport React from 'react'\n\nexport type WitnessCardContentProps = ModuleRenderProps<WitnessInstance> &\n CardContentProps & {\n observation?: Payload[]\n }\n\nexport const WitnessCardContent: React.FC<WitnessCardContentProps> = ({ children, observation, module, ...props }) => {\n return (\n <ModuleCardContent module={module} {...props}>\n <FlexGrowRow flexWrap=\"wrap\" justifyContent=\"start\" gap={2}>\n {observation ?\n <JsonViewerEx value={observation} />\n : null}\n {children}\n </FlexGrowRow>\n </ModuleCardContent>\n )\n}\n","import { CardHeaderProps } from '@mui/material'\nimport { ModuleCardHeader, ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\n\nexport const WitnessCardHeader: React.FC<ModuleRenderProps<WitnessInstance> & CardHeaderProps> = ({ title, module, ...props }) => {\n return <ModuleCardHeader module={module} title={title ?? module?.config.name ?? 'Witness'} {...props} />\n}\n","import { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\nimport { isWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWitnessesFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance[] | 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<WitnessInstance[]>((prev, module) => {\n if (isWitnessInstance(module)) {\n prev.push(module)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\nimport { asWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWitnessFromNode = (\n nameOrAddressOrInstance?: string | WitnessInstance,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance | undefined, Error | undefined] => {\n const [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asWitnessInstance(module)\n if (module && !instance) {\n const error = new Error(`Resolved module is not a WitnessInstance [${module.config?.schema}:${module.config?.name}:${module.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n"],"mappings":";AAAA,SAAS,YAAuB;AAChC,SAAS,kBAAkB;AAG3B,SAAS,gBAAgB;;;ACHzB,SAAS,gBAAgB;AACzB,SAAS,yBAA4C;AAW/C;AAHC,IAAM,qBAAwD,CAAC,EAAE,WAAW,QAAQ,GAAG,MAAM,MAAM;AACxG,SACE,oBAAC,qBAAkB,QAAiB,GAAG,OACrC,8BAAC,YAAS,SAAS,MAAM,YAAY,MAAM,GAAG,MAAM,SAAS,SAAS,YAAY,qBAElF,GACF;AAEJ;;;ACjBA,SAAS,mBAAmB;AAE5B,SAAS,yBAA4C;AACrD,SAAS,oBAAoB;AAYvB,SAEI,OAAAA,MAFJ;AAHC,IAAM,qBAAwD,CAAC,EAAE,UAAU,aAAa,QAAQ,GAAG,MAAM,MAAM;AACpH,SACE,gBAAAA,KAAC,qBAAkB,QAAiB,GAAG,OACrC,+BAAC,eAAY,UAAS,QAAO,gBAAe,SAAQ,KAAK,GACtD;AAAA,kBACC,gBAAAA,KAAC,gBAAa,OAAO,aAAa,IAClC;AAAA,IACD;AAAA,KACH,GACF;AAEJ;;;ACvBA,SAAS,wBAA2C;AAI3C,gBAAAC,YAAA;AADF,IAAM,oBAAoF,CAAC,EAAE,OAAO,QAAQ,GAAG,MAAM,MAAM;AAChI,SAAO,gBAAAA,KAAC,oBAAiB,QAAgB,OAAO,SAAS,QAAQ,OAAO,QAAQ,WAAY,GAAG,OAAO;AACxG;;;AHYI,SACE,OAAAC,MADF,QAAAC,aAAA;AARG,IAAM,cAAwE,CAAC,EAAE,UAAU,QAAQ,GAAG,MAAM,MAAM;AACvH,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,EAAE;AACrC,QAAM,CAAC,WAAW,IAAI,WAAW,YAAY;AAC3C,QAAI,SAAS,GAAG;AACd,aAAO,MAAM,QAAQ,QAAQ;AAAA,IAC/B;AAAA,EACF,GAAG,CAAC,QAAQ,KAAK,CAAC;AAClB,SACE,gBAAAA,MAAC,QAAM,GAAG,OACR;AAAA,oBAAAD,KAAC,qBAAkB,QAAgB;AAAA,IACnC,gBAAAA,KAAC,sBAAmB,QAAgB,aAA0B;AAAA,IAC7D;AAAA,IACD,gBAAAA,KAAC,sBAAmB,QAAgB,WAAW,MAAM,SAAS,QAAQ,CAAC,GAAG;AAAA,KAC5E;AAEJ;;;
|
|
1
|
+
{"version":3,"sources":["../../src/components/Card/Card.tsx","../../src/components/Card/CardActions.tsx","../../src/components/Card/CardContent.tsx","../../src/components/Card/CardHeader.tsx","../../src/hooks/node/useWeakWitnessesFromNode.tsx","../../src/hooks/node/useWeakWitnessFromNode.tsx","../../src/hooks/node/useWitnessesFromNode.tsx","../../src/hooks/node/useWitnessFromNode.tsx"],"sourcesContent":["import { Card, CardProps } from '@mui/material'\nimport { usePromise } from '@xylabs/react-promise'\nimport { ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\nimport { useState } from 'react'\n\nimport { WitnessCardActions } from './CardActions'\nimport { WitnessCardContent } from './CardContent'\nimport { WitnessCardHeader } from './CardHeader'\n\nexport const WitnessCard: React.FC<CardProps & ModuleRenderProps<WitnessInstance>> = ({ children, module, ...props }) => {\n const [retry, setRetry] = useState(-1)\n const [observation] = usePromise(async () => {\n if (retry >= 0) {\n return await module?.observe()\n }\n }, [module, retry])\n return (\n <Card {...props}>\n <WitnessCardHeader module={module} />\n <WitnessCardContent module={module} observation={observation} />\n {children}\n <WitnessCardActions module={module} onObserve={() => setRetry(retry + 1)} />\n </Card>\n )\n}\n","import { CardActionsProps } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { ModuleCardActions, ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\n\nexport type WitnessCardActionsProps = ModuleRenderProps<WitnessInstance> &\n CardActionsProps & {\n onObserve?: (module?: WitnessInstance) => void\n }\n\nexport const WitnessCardActions: React.FC<WitnessCardActionsProps> = ({ onObserve, module, ...props }) => {\n return (\n <ModuleCardActions module={module} {...props}>\n <ButtonEx onClick={() => onObserve?.(module)} size={'small'} variant={'outlined'}>\n Observe\n </ButtonEx>\n </ModuleCardActions>\n )\n}\n","import { CardContentProps } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\nimport { ModuleCardContent, ModuleRenderProps } from '@xyo-network/react-module'\nimport { JsonViewerEx } from '@xyo-network/react-payload-raw-info'\nimport { WitnessInstance } from '@xyo-network/witness-model'\nimport React from 'react'\n\nexport type WitnessCardContentProps = ModuleRenderProps<WitnessInstance> &\n CardContentProps & {\n observation?: Payload[]\n }\n\nexport const WitnessCardContent: React.FC<WitnessCardContentProps> = ({ children, observation, module, ...props }) => {\n return (\n <ModuleCardContent module={module} {...props}>\n <FlexGrowRow flexWrap=\"wrap\" justifyContent=\"start\" gap={2}>\n {observation ?\n <JsonViewerEx value={observation} />\n : null}\n {children}\n </FlexGrowRow>\n </ModuleCardContent>\n )\n}\n","import { CardHeaderProps } from '@mui/material'\nimport { ModuleCardHeader, ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\n\nexport const WitnessCardHeader: React.FC<ModuleRenderProps<WitnessInstance> & CardHeaderProps> = ({ title, module, ...props }) => {\n return <ModuleCardHeader module={module} title={title ?? module?.config.name ?? 'Witness'} {...props} />\n}\n","import { exists } from '@xylabs/exists'\nimport { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useWeakModulesFromNode } from '@xyo-network/react-node'\nimport { asWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWeakWitnessesFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WeakRef<WitnessInstance>[] | null | undefined, Error | undefined] => {\n const [modules, error] = useWeakModulesFromNode(filter, config)\n if (error) {\n return [null, error]\n }\n return [\n modules\n ?.map((module) => {\n const instance = asWitnessInstance(module?.deref())\n if (instance) {\n return new WeakRef(instance)\n }\n })\n .filter(exists) ?? [],\n undefined,\n ]\n}\n","import { ModuleFromNodeConfig, useWeakModuleFromNode } from '@xyo-network/react-node'\nimport { asWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWeakWitnessFromNode = (\n nameOrAddressOrInstance?: string | WitnessInstance,\n config?: ModuleFromNodeConfig,\n): [WeakRef<WitnessInstance> | undefined, Error | undefined] => {\n const [module, error] = useWeakModuleFromNode(nameOrAddressOrInstance, config)\n const instance = module?.deref()\n const sentinel = asWitnessInstance(instance)\n if (instance && !sentinel) {\n const error = new Error(`Resolved module is not a DivinerInstance [${instance.id}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [sentinel ? new WeakRef(sentinel) : undefined, error]\n}\n","import { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\nimport { isWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWitnessesFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance[] | 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<WitnessInstance[]>((prev, module) => {\n if (isWitnessInstance(module)) {\n prev.push(module)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\nimport { asWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWitnessFromNode = (\n nameOrAddressOrInstance?: string | WitnessInstance,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance | undefined, Error | undefined] => {\n const [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asWitnessInstance(module)\n if (module && !instance) {\n const error = new Error(`Resolved module is not a WitnessInstance [${module.config?.schema}:${module.config?.name}:${module.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n"],"mappings":"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","names":["jsx","jsx","jsx","jsxs","asWitnessInstance","error","asWitnessInstance","error"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ModuleFromNodeConfig } from '@xyo-network/react-node';
|
|
2
|
+
import { WitnessInstance } from '@xyo-network/witness-model';
|
|
3
|
+
export declare const useWeakWitnessFromNode: (nameOrAddressOrInstance?: string | WitnessInstance, config?: ModuleFromNodeConfig) => [WeakRef<WitnessInstance> | undefined, Error | undefined];
|
|
4
|
+
//# sourceMappingURL=useWeakWitnessFromNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWeakWitnessFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakWitnessFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAyB,MAAM,yBAAyB,CAAA;AACrF,OAAO,EAAqB,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE/E,eAAO,MAAM,sBAAsB,6BACP,MAAM,GAAG,eAAe,WACzC,oBAAoB,KAC5B,CAAC,QAAQ,eAAe,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAU1D,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ModuleFromNodeConfig } from '@xyo-network/react-node';
|
|
2
|
+
import { WitnessInstance } from '@xyo-network/witness-model';
|
|
3
|
+
export declare const useWeakWitnessFromNode: (nameOrAddressOrInstance?: string | WitnessInstance, config?: ModuleFromNodeConfig) => [WeakRef<WitnessInstance> | undefined, Error | undefined];
|
|
4
|
+
//# sourceMappingURL=useWeakWitnessFromNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWeakWitnessFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakWitnessFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAyB,MAAM,yBAAyB,CAAA;AACrF,OAAO,EAAqB,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE/E,eAAO,MAAM,sBAAsB,6BACP,MAAM,GAAG,eAAe,WACzC,oBAAoB,KAC5B,CAAC,QAAQ,eAAe,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAU1D,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ModuleFromNodeConfig } from '@xyo-network/react-node';
|
|
2
|
+
import { WitnessInstance } from '@xyo-network/witness-model';
|
|
3
|
+
export declare const useWeakWitnessFromNode: (nameOrAddressOrInstance?: string | WitnessInstance, config?: ModuleFromNodeConfig) => [WeakRef<WitnessInstance> | undefined, Error | undefined];
|
|
4
|
+
//# sourceMappingURL=useWeakWitnessFromNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWeakWitnessFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakWitnessFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAyB,MAAM,yBAAyB,CAAA;AACrF,OAAO,EAAqB,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE/E,eAAO,MAAM,sBAAsB,6BACP,MAAM,GAAG,eAAe,WACzC,oBAAoB,KAC5B,CAAC,QAAQ,eAAe,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAU1D,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ModuleFilter } from '@xyo-network/module-model';
|
|
2
|
+
import { ModuleFromNodeConfig } from '@xyo-network/react-node';
|
|
3
|
+
import { WitnessInstance } from '@xyo-network/witness-model';
|
|
4
|
+
export declare const useWeakWitnessesFromNode: (filter?: ModuleFilter, config?: ModuleFromNodeConfig) => [WeakRef<WitnessInstance>[] | null | undefined, Error | undefined];
|
|
5
|
+
//# sourceMappingURL=useWeakWitnessesFromNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWeakWitnessesFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakWitnessesFromNode.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAA0B,MAAM,yBAAyB,CAAA;AACtF,OAAO,EAAqB,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE/E,eAAO,MAAM,wBAAwB,YAC1B,YAAY,WACZ,oBAAoB,KAC5B,CAAC,QAAQ,eAAe,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAgBnE,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ModuleFilter } from '@xyo-network/module-model';
|
|
2
|
+
import { ModuleFromNodeConfig } from '@xyo-network/react-node';
|
|
3
|
+
import { WitnessInstance } from '@xyo-network/witness-model';
|
|
4
|
+
export declare const useWeakWitnessesFromNode: (filter?: ModuleFilter, config?: ModuleFromNodeConfig) => [WeakRef<WitnessInstance>[] | null | undefined, Error | undefined];
|
|
5
|
+
//# sourceMappingURL=useWeakWitnessesFromNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWeakWitnessesFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakWitnessesFromNode.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAA0B,MAAM,yBAAyB,CAAA;AACtF,OAAO,EAAqB,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE/E,eAAO,MAAM,wBAAwB,YAC1B,YAAY,WACZ,oBAAoB,KAC5B,CAAC,QAAQ,eAAe,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAgBnE,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ModuleFilter } from '@xyo-network/module-model';
|
|
2
|
+
import { ModuleFromNodeConfig } from '@xyo-network/react-node';
|
|
3
|
+
import { WitnessInstance } from '@xyo-network/witness-model';
|
|
4
|
+
export declare const useWeakWitnessesFromNode: (filter?: ModuleFilter, config?: ModuleFromNodeConfig) => [WeakRef<WitnessInstance>[] | null | undefined, Error | undefined];
|
|
5
|
+
//# sourceMappingURL=useWeakWitnessesFromNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWeakWitnessesFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/node/useWeakWitnessesFromNode.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAA0B,MAAM,yBAAyB,CAAA;AACtF,OAAO,EAAqB,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE/E,eAAO,MAAM,wBAAwB,YAC1B,YAAY,WACZ,oBAAoB,KAC5B,CAAC,QAAQ,eAAe,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAgBnE,CAAA"}
|
package/dist/node/index.cjs
CHANGED
|
@@ -23,6 +23,8 @@ __export(src_exports, {
|
|
|
23
23
|
WitnessCard: () => WitnessCard,
|
|
24
24
|
WitnessCardContent: () => WitnessCardContent,
|
|
25
25
|
WitnessCardHeader: () => WitnessCardHeader,
|
|
26
|
+
useWeakWitnessFromNode: () => useWeakWitnessFromNode,
|
|
27
|
+
useWeakWitnessesFromNode: () => useWeakWitnessesFromNode,
|
|
26
28
|
useWitnessFromNode: () => useWitnessFromNode,
|
|
27
29
|
useWitnessesFromNode: () => useWitnessesFromNode
|
|
28
30
|
});
|
|
@@ -77,18 +79,53 @@ var WitnessCard = ({ children, module: module2, ...props }) => {
|
|
|
77
79
|
] });
|
|
78
80
|
};
|
|
79
81
|
|
|
80
|
-
// src/hooks/node/
|
|
82
|
+
// src/hooks/node/useWeakWitnessesFromNode.tsx
|
|
83
|
+
var import_exists = require("@xylabs/exists");
|
|
81
84
|
var import_react_node = require("@xyo-network/react-node");
|
|
82
85
|
var import_witness_model = require("@xyo-network/witness-model");
|
|
86
|
+
var useWeakWitnessesFromNode = (filter, config) => {
|
|
87
|
+
const [modules, error] = (0, import_react_node.useWeakModulesFromNode)(filter, config);
|
|
88
|
+
if (error) {
|
|
89
|
+
return [null, error];
|
|
90
|
+
}
|
|
91
|
+
return [
|
|
92
|
+
(modules == null ? void 0 : modules.map((module2) => {
|
|
93
|
+
const instance = (0, import_witness_model.asWitnessInstance)(module2 == null ? void 0 : module2.deref());
|
|
94
|
+
if (instance) {
|
|
95
|
+
return new WeakRef(instance);
|
|
96
|
+
}
|
|
97
|
+
}).filter(import_exists.exists)) ?? [],
|
|
98
|
+
void 0
|
|
99
|
+
];
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
// src/hooks/node/useWeakWitnessFromNode.tsx
|
|
103
|
+
var import_react_node2 = require("@xyo-network/react-node");
|
|
104
|
+
var import_witness_model2 = require("@xyo-network/witness-model");
|
|
105
|
+
var useWeakWitnessFromNode = (nameOrAddressOrInstance, config) => {
|
|
106
|
+
const [module2, error] = (0, import_react_node2.useWeakModuleFromNode)(nameOrAddressOrInstance, config);
|
|
107
|
+
const instance = module2 == null ? void 0 : module2.deref();
|
|
108
|
+
const sentinel = (0, import_witness_model2.asWitnessInstance)(instance);
|
|
109
|
+
if (instance && !sentinel) {
|
|
110
|
+
const error2 = new Error(`Resolved module is not a DivinerInstance [${instance.id}]`);
|
|
111
|
+
console.error(error2.message);
|
|
112
|
+
return [void 0, error2];
|
|
113
|
+
}
|
|
114
|
+
return [sentinel ? new WeakRef(sentinel) : void 0, error];
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
// src/hooks/node/useWitnessesFromNode.tsx
|
|
118
|
+
var import_react_node3 = require("@xyo-network/react-node");
|
|
119
|
+
var import_witness_model3 = require("@xyo-network/witness-model");
|
|
83
120
|
var useWitnessesFromNode = (filter, config) => {
|
|
84
|
-
const [modules, error] = (0,
|
|
121
|
+
const [modules, error] = (0, import_react_node3.useModulesFromNode)(filter, config);
|
|
85
122
|
if (error) {
|
|
86
123
|
return [null, error];
|
|
87
124
|
}
|
|
88
125
|
return modules ? [
|
|
89
126
|
// eslint-disable-next-line unicorn/no-array-reduce
|
|
90
127
|
modules.reduce((prev, module2) => {
|
|
91
|
-
if ((0,
|
|
128
|
+
if ((0, import_witness_model3.isWitnessInstance)(module2)) {
|
|
92
129
|
prev.push(module2);
|
|
93
130
|
}
|
|
94
131
|
return prev;
|
|
@@ -98,12 +135,12 @@ var useWitnessesFromNode = (filter, config) => {
|
|
|
98
135
|
};
|
|
99
136
|
|
|
100
137
|
// src/hooks/node/useWitnessFromNode.tsx
|
|
101
|
-
var
|
|
102
|
-
var
|
|
138
|
+
var import_react_node4 = require("@xyo-network/react-node");
|
|
139
|
+
var import_witness_model4 = require("@xyo-network/witness-model");
|
|
103
140
|
var useWitnessFromNode = (nameOrAddressOrInstance, config) => {
|
|
104
141
|
var _a, _b;
|
|
105
|
-
const [module2, error] = (0,
|
|
106
|
-
const instance = (0,
|
|
142
|
+
const [module2, error] = (0, import_react_node4.useModuleFromNode)(nameOrAddressOrInstance, config);
|
|
143
|
+
const instance = (0, import_witness_model4.asWitnessInstance)(module2);
|
|
107
144
|
if (module2 && !instance) {
|
|
108
145
|
const error2 = new Error(`Resolved module is not a WitnessInstance [${(_a = module2.config) == null ? void 0 : _a.schema}:${(_b = module2.config) == null ? void 0 : _b.name}:${module2.address}]`);
|
|
109
146
|
console.error(error2.message);
|
|
@@ -116,6 +153,8 @@ var useWitnessFromNode = (nameOrAddressOrInstance, config) => {
|
|
|
116
153
|
WitnessCard,
|
|
117
154
|
WitnessCardContent,
|
|
118
155
|
WitnessCardHeader,
|
|
156
|
+
useWeakWitnessFromNode,
|
|
157
|
+
useWeakWitnessesFromNode,
|
|
119
158
|
useWitnessFromNode,
|
|
120
159
|
useWitnessesFromNode
|
|
121
160
|
});
|
package/dist/node/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/components/Card/Card.tsx","../../src/components/Card/CardActions.tsx","../../src/components/Card/CardContent.tsx","../../src/components/Card/CardHeader.tsx","../../src/hooks/node/useWitnessesFromNode.tsx","../../src/hooks/node/useWitnessFromNode.tsx"],"sourcesContent":["export * from './components'\nexport * from './hooks'\n","import { Card, CardProps } from '@mui/material'\nimport { usePromise } from '@xylabs/react-promise'\nimport { ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\nimport { useState } from 'react'\n\nimport { WitnessCardActions } from './CardActions'\nimport { WitnessCardContent } from './CardContent'\nimport { WitnessCardHeader } from './CardHeader'\n\nexport const WitnessCard: React.FC<CardProps & ModuleRenderProps<WitnessInstance>> = ({ children, module, ...props }) => {\n const [retry, setRetry] = useState(-1)\n const [observation] = usePromise(async () => {\n if (retry >= 0) {\n return await module?.observe()\n }\n }, [module, retry])\n return (\n <Card {...props}>\n <WitnessCardHeader module={module} />\n <WitnessCardContent module={module} observation={observation} />\n {children}\n <WitnessCardActions module={module} onObserve={() => setRetry(retry + 1)} />\n </Card>\n )\n}\n","import { CardActionsProps } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { ModuleCardActions, ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\n\nexport type WitnessCardActionsProps = ModuleRenderProps<WitnessInstance> &\n CardActionsProps & {\n onObserve?: (module?: WitnessInstance) => void\n }\n\nexport const WitnessCardActions: React.FC<WitnessCardActionsProps> = ({ onObserve, module, ...props }) => {\n return (\n <ModuleCardActions module={module} {...props}>\n <ButtonEx onClick={() => onObserve?.(module)} size={'small'} variant={'outlined'}>\n Observe\n </ButtonEx>\n </ModuleCardActions>\n )\n}\n","import { CardContentProps } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\nimport { ModuleCardContent, ModuleRenderProps } from '@xyo-network/react-module'\nimport { JsonViewerEx } from '@xyo-network/react-payload-raw-info'\nimport { WitnessInstance } from '@xyo-network/witness-model'\nimport React from 'react'\n\nexport type WitnessCardContentProps = ModuleRenderProps<WitnessInstance> &\n CardContentProps & {\n observation?: Payload[]\n }\n\nexport const WitnessCardContent: React.FC<WitnessCardContentProps> = ({ children, observation, module, ...props }) => {\n return (\n <ModuleCardContent module={module} {...props}>\n <FlexGrowRow flexWrap=\"wrap\" justifyContent=\"start\" gap={2}>\n {observation ?\n <JsonViewerEx value={observation} />\n : null}\n {children}\n </FlexGrowRow>\n </ModuleCardContent>\n )\n}\n","import { CardHeaderProps } from '@mui/material'\nimport { ModuleCardHeader, ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\n\nexport const WitnessCardHeader: React.FC<ModuleRenderProps<WitnessInstance> & CardHeaderProps> = ({ title, module, ...props }) => {\n return <ModuleCardHeader module={module} title={title ?? module?.config.name ?? 'Witness'} {...props} />\n}\n","import { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\nimport { isWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWitnessesFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance[] | 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<WitnessInstance[]>((prev, module) => {\n if (isWitnessInstance(module)) {\n prev.push(module)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\nimport { asWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWitnessFromNode = (\n nameOrAddressOrInstance?: string | WitnessInstance,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance | undefined, Error | undefined] => {\n const [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asWitnessInstance(module)\n if (module && !instance) {\n const error = new Error(`Resolved module is not a WitnessInstance [${module.config?.schema}:${module.config?.name}:${module.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,sBAAgC;AAChC,2BAA2B;AAG3B,mBAAyB;;;ACHzB,0BAAyB;AACzB,0BAAqD;AAW/C;AAHC,IAAM,qBAAwD,CAAC,EAAE,WAAW,QAAAA,SAAQ,GAAG,MAAM,MAAM;AACxG,SACE,4CAAC,yCAAkB,QAAQA,SAAS,GAAG,OACrC,sDAAC,gCAAS,SAAS,MAAM,uCAAYA,UAAS,MAAM,SAAS,SAAS,YAAY,qBAElF,GACF;AAEJ;;;ACjBA,2BAA4B;AAE5B,IAAAC,uBAAqD;AACrD,oCAA6B;AAYvB,IAAAC,sBAAA;AAHC,IAAM,qBAAwD,CAAC,EAAE,UAAU,aAAa,QAAAC,SAAQ,GAAG,MAAM,MAAM;AACpH,SACE,6CAAC,0CAAkB,QAAQA,SAAS,GAAG,OACrC,wDAAC,oCAAY,UAAS,QAAO,gBAAe,SAAQ,KAAK,GACtD;AAAA,kBACC,6CAAC,8CAAa,OAAO,aAAa,IAClC;AAAA,IACD;AAAA,KACH,GACF;AAEJ;;;ACvBA,IAAAC,uBAAoD;AAI3C,IAAAC,sBAAA;AADF,IAAM,oBAAoF,CAAC,EAAE,OAAO,QAAAC,SAAQ,GAAG,MAAM,MAAM;AAChI,SAAO,6CAAC,yCAAiB,QAAQA,SAAQ,OAAO,UAASA,WAAA,gBAAAA,QAAQ,OAAO,SAAQ,WAAY,GAAG,OAAO;AACxG;;;AHYI,IAAAC,sBAAA;AARG,IAAM,cAAwE,CAAC,EAAE,UAAU,QAAAC,SAAQ,GAAG,MAAM,MAAM;AACvH,QAAM,CAAC,OAAO,QAAQ,QAAI,uBAAS,EAAE;AACrC,QAAM,CAAC,WAAW,QAAI,iCAAW,YAAY;AAC3C,QAAI,SAAS,GAAG;AACd,aAAO,OAAMA,WAAA,gBAAAA,QAAQ;AAAA,IACvB;AAAA,EACF,GAAG,CAACA,SAAQ,KAAK,CAAC;AAClB,SACE,8CAAC,wBAAM,GAAG,OACR;AAAA,iDAAC,qBAAkB,QAAQA,SAAQ;AAAA,IACnC,6CAAC,sBAAmB,QAAQA,SAAQ,aAA0B;AAAA,IAC7D;AAAA,IACD,6CAAC,sBAAmB,QAAQA,SAAQ,WAAW,MAAM,SAAS,QAAQ,CAAC,GAAG;AAAA,KAC5E;AAEJ;;;
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/components/Card/Card.tsx","../../src/components/Card/CardActions.tsx","../../src/components/Card/CardContent.tsx","../../src/components/Card/CardHeader.tsx","../../src/hooks/node/useWeakWitnessesFromNode.tsx","../../src/hooks/node/useWeakWitnessFromNode.tsx","../../src/hooks/node/useWitnessesFromNode.tsx","../../src/hooks/node/useWitnessFromNode.tsx"],"sourcesContent":["export * from './components'\nexport * from './hooks'\n","import { Card, CardProps } from '@mui/material'\nimport { usePromise } from '@xylabs/react-promise'\nimport { ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\nimport { useState } from 'react'\n\nimport { WitnessCardActions } from './CardActions'\nimport { WitnessCardContent } from './CardContent'\nimport { WitnessCardHeader } from './CardHeader'\n\nexport const WitnessCard: React.FC<CardProps & ModuleRenderProps<WitnessInstance>> = ({ children, module, ...props }) => {\n const [retry, setRetry] = useState(-1)\n const [observation] = usePromise(async () => {\n if (retry >= 0) {\n return await module?.observe()\n }\n }, [module, retry])\n return (\n <Card {...props}>\n <WitnessCardHeader module={module} />\n <WitnessCardContent module={module} observation={observation} />\n {children}\n <WitnessCardActions module={module} onObserve={() => setRetry(retry + 1)} />\n </Card>\n )\n}\n","import { CardActionsProps } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { ModuleCardActions, ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\n\nexport type WitnessCardActionsProps = ModuleRenderProps<WitnessInstance> &\n CardActionsProps & {\n onObserve?: (module?: WitnessInstance) => void\n }\n\nexport const WitnessCardActions: React.FC<WitnessCardActionsProps> = ({ onObserve, module, ...props }) => {\n return (\n <ModuleCardActions module={module} {...props}>\n <ButtonEx onClick={() => onObserve?.(module)} size={'small'} variant={'outlined'}>\n Observe\n </ButtonEx>\n </ModuleCardActions>\n )\n}\n","import { CardContentProps } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\nimport { ModuleCardContent, ModuleRenderProps } from '@xyo-network/react-module'\nimport { JsonViewerEx } from '@xyo-network/react-payload-raw-info'\nimport { WitnessInstance } from '@xyo-network/witness-model'\nimport React from 'react'\n\nexport type WitnessCardContentProps = ModuleRenderProps<WitnessInstance> &\n CardContentProps & {\n observation?: Payload[]\n }\n\nexport const WitnessCardContent: React.FC<WitnessCardContentProps> = ({ children, observation, module, ...props }) => {\n return (\n <ModuleCardContent module={module} {...props}>\n <FlexGrowRow flexWrap=\"wrap\" justifyContent=\"start\" gap={2}>\n {observation ?\n <JsonViewerEx value={observation} />\n : null}\n {children}\n </FlexGrowRow>\n </ModuleCardContent>\n )\n}\n","import { CardHeaderProps } from '@mui/material'\nimport { ModuleCardHeader, ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\n\nexport const WitnessCardHeader: React.FC<ModuleRenderProps<WitnessInstance> & CardHeaderProps> = ({ title, module, ...props }) => {\n return <ModuleCardHeader module={module} title={title ?? module?.config.name ?? 'Witness'} {...props} />\n}\n","import { exists } from '@xylabs/exists'\nimport { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useWeakModulesFromNode } from '@xyo-network/react-node'\nimport { asWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWeakWitnessesFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WeakRef<WitnessInstance>[] | null | undefined, Error | undefined] => {\n const [modules, error] = useWeakModulesFromNode(filter, config)\n if (error) {\n return [null, error]\n }\n return [\n modules\n ?.map((module) => {\n const instance = asWitnessInstance(module?.deref())\n if (instance) {\n return new WeakRef(instance)\n }\n })\n .filter(exists) ?? [],\n undefined,\n ]\n}\n","import { ModuleFromNodeConfig, useWeakModuleFromNode } from '@xyo-network/react-node'\nimport { asWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWeakWitnessFromNode = (\n nameOrAddressOrInstance?: string | WitnessInstance,\n config?: ModuleFromNodeConfig,\n): [WeakRef<WitnessInstance> | undefined, Error | undefined] => {\n const [module, error] = useWeakModuleFromNode(nameOrAddressOrInstance, config)\n const instance = module?.deref()\n const sentinel = asWitnessInstance(instance)\n if (instance && !sentinel) {\n const error = new Error(`Resolved module is not a DivinerInstance [${instance.id}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [sentinel ? new WeakRef(sentinel) : undefined, error]\n}\n","import { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\nimport { isWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWitnessesFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance[] | 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<WitnessInstance[]>((prev, module) => {\n if (isWitnessInstance(module)) {\n prev.push(module)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\nimport { asWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWitnessFromNode = (\n nameOrAddressOrInstance?: string | WitnessInstance,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance | undefined, Error | undefined] => {\n const [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asWitnessInstance(module)\n if (module && !instance) {\n const error = new Error(`Resolved module is not a WitnessInstance [${module.config?.schema}:${module.config?.name}:${module.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n"],"mappings":"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","names":["module","import_react_module","import_jsx_runtime","module","import_react_module","import_jsx_runtime","module","import_jsx_runtime","module","module","import_react_node","import_witness_model","module","error","import_react_node","import_witness_model","module","import_react_node","import_witness_model","module","error"]}
|
package/dist/node/index.js
CHANGED
|
@@ -47,6 +47,41 @@ var WitnessCard = ({ children, module, ...props }) => {
|
|
|
47
47
|
] });
|
|
48
48
|
};
|
|
49
49
|
|
|
50
|
+
// src/hooks/node/useWeakWitnessesFromNode.tsx
|
|
51
|
+
import { exists } from "@xylabs/exists";
|
|
52
|
+
import { useWeakModulesFromNode } from "@xyo-network/react-node";
|
|
53
|
+
import { asWitnessInstance } from "@xyo-network/witness-model";
|
|
54
|
+
var useWeakWitnessesFromNode = (filter, config) => {
|
|
55
|
+
const [modules, error] = useWeakModulesFromNode(filter, config);
|
|
56
|
+
if (error) {
|
|
57
|
+
return [null, error];
|
|
58
|
+
}
|
|
59
|
+
return [
|
|
60
|
+
(modules == null ? void 0 : modules.map((module) => {
|
|
61
|
+
const instance = asWitnessInstance(module == null ? void 0 : module.deref());
|
|
62
|
+
if (instance) {
|
|
63
|
+
return new WeakRef(instance);
|
|
64
|
+
}
|
|
65
|
+
}).filter(exists)) ?? [],
|
|
66
|
+
void 0
|
|
67
|
+
];
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
// src/hooks/node/useWeakWitnessFromNode.tsx
|
|
71
|
+
import { useWeakModuleFromNode } from "@xyo-network/react-node";
|
|
72
|
+
import { asWitnessInstance as asWitnessInstance2 } from "@xyo-network/witness-model";
|
|
73
|
+
var useWeakWitnessFromNode = (nameOrAddressOrInstance, config) => {
|
|
74
|
+
const [module, error] = useWeakModuleFromNode(nameOrAddressOrInstance, config);
|
|
75
|
+
const instance = module == null ? void 0 : module.deref();
|
|
76
|
+
const sentinel = asWitnessInstance2(instance);
|
|
77
|
+
if (instance && !sentinel) {
|
|
78
|
+
const error2 = new Error(`Resolved module is not a DivinerInstance [${instance.id}]`);
|
|
79
|
+
console.error(error2.message);
|
|
80
|
+
return [void 0, error2];
|
|
81
|
+
}
|
|
82
|
+
return [sentinel ? new WeakRef(sentinel) : void 0, error];
|
|
83
|
+
};
|
|
84
|
+
|
|
50
85
|
// src/hooks/node/useWitnessesFromNode.tsx
|
|
51
86
|
import { useModulesFromNode } from "@xyo-network/react-node";
|
|
52
87
|
import { isWitnessInstance } from "@xyo-network/witness-model";
|
|
@@ -69,11 +104,11 @@ var useWitnessesFromNode = (filter, config) => {
|
|
|
69
104
|
|
|
70
105
|
// src/hooks/node/useWitnessFromNode.tsx
|
|
71
106
|
import { useModuleFromNode } from "@xyo-network/react-node";
|
|
72
|
-
import { asWitnessInstance } from "@xyo-network/witness-model";
|
|
107
|
+
import { asWitnessInstance as asWitnessInstance3 } from "@xyo-network/witness-model";
|
|
73
108
|
var useWitnessFromNode = (nameOrAddressOrInstance, config) => {
|
|
74
109
|
var _a, _b;
|
|
75
110
|
const [module, error] = useModuleFromNode(nameOrAddressOrInstance, config);
|
|
76
|
-
const instance =
|
|
111
|
+
const instance = asWitnessInstance3(module);
|
|
77
112
|
if (module && !instance) {
|
|
78
113
|
const error2 = new Error(`Resolved module is not a WitnessInstance [${(_a = module.config) == null ? void 0 : _a.schema}:${(_b = module.config) == null ? void 0 : _b.name}:${module.address}]`);
|
|
79
114
|
console.error(error2.message);
|
|
@@ -85,6 +120,8 @@ export {
|
|
|
85
120
|
WitnessCard,
|
|
86
121
|
WitnessCardContent,
|
|
87
122
|
WitnessCardHeader,
|
|
123
|
+
useWeakWitnessFromNode,
|
|
124
|
+
useWeakWitnessesFromNode,
|
|
88
125
|
useWitnessFromNode,
|
|
89
126
|
useWitnessesFromNode
|
|
90
127
|
};
|
package/dist/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/Card/Card.tsx","../../src/components/Card/CardActions.tsx","../../src/components/Card/CardContent.tsx","../../src/components/Card/CardHeader.tsx","../../src/hooks/node/useWitnessesFromNode.tsx","../../src/hooks/node/useWitnessFromNode.tsx"],"sourcesContent":["import { Card, CardProps } from '@mui/material'\nimport { usePromise } from '@xylabs/react-promise'\nimport { ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\nimport { useState } from 'react'\n\nimport { WitnessCardActions } from './CardActions'\nimport { WitnessCardContent } from './CardContent'\nimport { WitnessCardHeader } from './CardHeader'\n\nexport const WitnessCard: React.FC<CardProps & ModuleRenderProps<WitnessInstance>> = ({ children, module, ...props }) => {\n const [retry, setRetry] = useState(-1)\n const [observation] = usePromise(async () => {\n if (retry >= 0) {\n return await module?.observe()\n }\n }, [module, retry])\n return (\n <Card {...props}>\n <WitnessCardHeader module={module} />\n <WitnessCardContent module={module} observation={observation} />\n {children}\n <WitnessCardActions module={module} onObserve={() => setRetry(retry + 1)} />\n </Card>\n )\n}\n","import { CardActionsProps } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { ModuleCardActions, ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\n\nexport type WitnessCardActionsProps = ModuleRenderProps<WitnessInstance> &\n CardActionsProps & {\n onObserve?: (module?: WitnessInstance) => void\n }\n\nexport const WitnessCardActions: React.FC<WitnessCardActionsProps> = ({ onObserve, module, ...props }) => {\n return (\n <ModuleCardActions module={module} {...props}>\n <ButtonEx onClick={() => onObserve?.(module)} size={'small'} variant={'outlined'}>\n Observe\n </ButtonEx>\n </ModuleCardActions>\n )\n}\n","import { CardContentProps } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\nimport { ModuleCardContent, ModuleRenderProps } from '@xyo-network/react-module'\nimport { JsonViewerEx } from '@xyo-network/react-payload-raw-info'\nimport { WitnessInstance } from '@xyo-network/witness-model'\nimport React from 'react'\n\nexport type WitnessCardContentProps = ModuleRenderProps<WitnessInstance> &\n CardContentProps & {\n observation?: Payload[]\n }\n\nexport const WitnessCardContent: React.FC<WitnessCardContentProps> = ({ children, observation, module, ...props }) => {\n return (\n <ModuleCardContent module={module} {...props}>\n <FlexGrowRow flexWrap=\"wrap\" justifyContent=\"start\" gap={2}>\n {observation ?\n <JsonViewerEx value={observation} />\n : null}\n {children}\n </FlexGrowRow>\n </ModuleCardContent>\n )\n}\n","import { CardHeaderProps } from '@mui/material'\nimport { ModuleCardHeader, ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\n\nexport const WitnessCardHeader: React.FC<ModuleRenderProps<WitnessInstance> & CardHeaderProps> = ({ title, module, ...props }) => {\n return <ModuleCardHeader module={module} title={title ?? module?.config.name ?? 'Witness'} {...props} />\n}\n","import { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\nimport { isWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWitnessesFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance[] | 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<WitnessInstance[]>((prev, module) => {\n if (isWitnessInstance(module)) {\n prev.push(module)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\nimport { asWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWitnessFromNode = (\n nameOrAddressOrInstance?: string | WitnessInstance,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance | undefined, Error | undefined] => {\n const [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asWitnessInstance(module)\n if (module && !instance) {\n const error = new Error(`Resolved module is not a WitnessInstance [${module.config?.schema}:${module.config?.name}:${module.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n"],"mappings":";AAAA,SAAS,YAAuB;AAChC,SAAS,kBAAkB;AAG3B,SAAS,gBAAgB;;;ACHzB,SAAS,gBAAgB;AACzB,SAAS,yBAA4C;AAW/C;AAHC,IAAM,qBAAwD,CAAC,EAAE,WAAW,QAAQ,GAAG,MAAM,MAAM;AACxG,SACE,oBAAC,qBAAkB,QAAiB,GAAG,OACrC,8BAAC,YAAS,SAAS,MAAM,uCAAY,SAAS,MAAM,SAAS,SAAS,YAAY,qBAElF,GACF;AAEJ;;;ACjBA,SAAS,mBAAmB;AAE5B,SAAS,yBAA4C;AACrD,SAAS,oBAAoB;AAYvB,SAEI,OAAAA,MAFJ;AAHC,IAAM,qBAAwD,CAAC,EAAE,UAAU,aAAa,QAAQ,GAAG,MAAM,MAAM;AACpH,SACE,gBAAAA,KAAC,qBAAkB,QAAiB,GAAG,OACrC,+BAAC,eAAY,UAAS,QAAO,gBAAe,SAAQ,KAAK,GACtD;AAAA,kBACC,gBAAAA,KAAC,gBAAa,OAAO,aAAa,IAClC;AAAA,IACD;AAAA,KACH,GACF;AAEJ;;;ACvBA,SAAS,wBAA2C;AAI3C,gBAAAC,YAAA;AADF,IAAM,oBAAoF,CAAC,EAAE,OAAO,QAAQ,GAAG,MAAM,MAAM;AAChI,SAAO,gBAAAA,KAAC,oBAAiB,QAAgB,OAAO,UAAS,iCAAQ,OAAO,SAAQ,WAAY,GAAG,OAAO;AACxG;;;AHYI,SACE,OAAAC,MADF,QAAAC,aAAA;AARG,IAAM,cAAwE,CAAC,EAAE,UAAU,QAAQ,GAAG,MAAM,MAAM;AACvH,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,EAAE;AACrC,QAAM,CAAC,WAAW,IAAI,WAAW,YAAY;AAC3C,QAAI,SAAS,GAAG;AACd,aAAO,OAAM,iCAAQ;AAAA,IACvB;AAAA,EACF,GAAG,CAAC,QAAQ,KAAK,CAAC;AAClB,SACE,gBAAAA,MAAC,QAAM,GAAG,OACR;AAAA,oBAAAD,KAAC,qBAAkB,QAAgB;AAAA,IACnC,gBAAAA,KAAC,sBAAmB,QAAgB,aAA0B;AAAA,IAC7D;AAAA,IACD,gBAAAA,KAAC,sBAAmB,QAAgB,WAAW,MAAM,SAAS,QAAQ,CAAC,GAAG;AAAA,KAC5E;AAEJ;;;
|
|
1
|
+
{"version":3,"sources":["../../src/components/Card/Card.tsx","../../src/components/Card/CardActions.tsx","../../src/components/Card/CardContent.tsx","../../src/components/Card/CardHeader.tsx","../../src/hooks/node/useWeakWitnessesFromNode.tsx","../../src/hooks/node/useWeakWitnessFromNode.tsx","../../src/hooks/node/useWitnessesFromNode.tsx","../../src/hooks/node/useWitnessFromNode.tsx"],"sourcesContent":["import { Card, CardProps } from '@mui/material'\nimport { usePromise } from '@xylabs/react-promise'\nimport { ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\nimport { useState } from 'react'\n\nimport { WitnessCardActions } from './CardActions'\nimport { WitnessCardContent } from './CardContent'\nimport { WitnessCardHeader } from './CardHeader'\n\nexport const WitnessCard: React.FC<CardProps & ModuleRenderProps<WitnessInstance>> = ({ children, module, ...props }) => {\n const [retry, setRetry] = useState(-1)\n const [observation] = usePromise(async () => {\n if (retry >= 0) {\n return await module?.observe()\n }\n }, [module, retry])\n return (\n <Card {...props}>\n <WitnessCardHeader module={module} />\n <WitnessCardContent module={module} observation={observation} />\n {children}\n <WitnessCardActions module={module} onObserve={() => setRetry(retry + 1)} />\n </Card>\n )\n}\n","import { CardActionsProps } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { ModuleCardActions, ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\n\nexport type WitnessCardActionsProps = ModuleRenderProps<WitnessInstance> &\n CardActionsProps & {\n onObserve?: (module?: WitnessInstance) => void\n }\n\nexport const WitnessCardActions: React.FC<WitnessCardActionsProps> = ({ onObserve, module, ...props }) => {\n return (\n <ModuleCardActions module={module} {...props}>\n <ButtonEx onClick={() => onObserve?.(module)} size={'small'} variant={'outlined'}>\n Observe\n </ButtonEx>\n </ModuleCardActions>\n )\n}\n","import { CardContentProps } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\nimport { ModuleCardContent, ModuleRenderProps } from '@xyo-network/react-module'\nimport { JsonViewerEx } from '@xyo-network/react-payload-raw-info'\nimport { WitnessInstance } from '@xyo-network/witness-model'\nimport React from 'react'\n\nexport type WitnessCardContentProps = ModuleRenderProps<WitnessInstance> &\n CardContentProps & {\n observation?: Payload[]\n }\n\nexport const WitnessCardContent: React.FC<WitnessCardContentProps> = ({ children, observation, module, ...props }) => {\n return (\n <ModuleCardContent module={module} {...props}>\n <FlexGrowRow flexWrap=\"wrap\" justifyContent=\"start\" gap={2}>\n {observation ?\n <JsonViewerEx value={observation} />\n : null}\n {children}\n </FlexGrowRow>\n </ModuleCardContent>\n )\n}\n","import { CardHeaderProps } from '@mui/material'\nimport { ModuleCardHeader, ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\n\nexport const WitnessCardHeader: React.FC<ModuleRenderProps<WitnessInstance> & CardHeaderProps> = ({ title, module, ...props }) => {\n return <ModuleCardHeader module={module} title={title ?? module?.config.name ?? 'Witness'} {...props} />\n}\n","import { exists } from '@xylabs/exists'\nimport { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useWeakModulesFromNode } from '@xyo-network/react-node'\nimport { asWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWeakWitnessesFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WeakRef<WitnessInstance>[] | null | undefined, Error | undefined] => {\n const [modules, error] = useWeakModulesFromNode(filter, config)\n if (error) {\n return [null, error]\n }\n return [\n modules\n ?.map((module) => {\n const instance = asWitnessInstance(module?.deref())\n if (instance) {\n return new WeakRef(instance)\n }\n })\n .filter(exists) ?? [],\n undefined,\n ]\n}\n","import { ModuleFromNodeConfig, useWeakModuleFromNode } from '@xyo-network/react-node'\nimport { asWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWeakWitnessFromNode = (\n nameOrAddressOrInstance?: string | WitnessInstance,\n config?: ModuleFromNodeConfig,\n): [WeakRef<WitnessInstance> | undefined, Error | undefined] => {\n const [module, error] = useWeakModuleFromNode(nameOrAddressOrInstance, config)\n const instance = module?.deref()\n const sentinel = asWitnessInstance(instance)\n if (instance && !sentinel) {\n const error = new Error(`Resolved module is not a DivinerInstance [${instance.id}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [sentinel ? new WeakRef(sentinel) : undefined, error]\n}\n","import { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\nimport { isWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWitnessesFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance[] | 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<WitnessInstance[]>((prev, module) => {\n if (isWitnessInstance(module)) {\n prev.push(module)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\nimport { asWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWitnessFromNode = (\n nameOrAddressOrInstance?: string | WitnessInstance,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance | undefined, Error | undefined] => {\n const [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asWitnessInstance(module)\n if (module && !instance) {\n const error = new Error(`Resolved module is not a WitnessInstance [${module.config?.schema}:${module.config?.name}:${module.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n"],"mappings":"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","names":["jsx","jsx","jsx","jsxs","asWitnessInstance","error","asWitnessInstance","error"]}
|
package/package.json
CHANGED
|
@@ -10,21 +10,22 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
+
"@xylabs/exists": "^3.1.11",
|
|
13
14
|
"@xylabs/react-button": "^3.1.6",
|
|
14
15
|
"@xylabs/react-flexbox": "^3.1.6",
|
|
15
16
|
"@xylabs/react-promise": "^3.1.6",
|
|
16
|
-
"@xyo-network/module-model": "^2.
|
|
17
|
-
"@xyo-network/payload-model": "^2.
|
|
18
|
-
"@xyo-network/react-module": "^2.
|
|
19
|
-
"@xyo-network/react-node": "~2.
|
|
20
|
-
"@xyo-network/react-payload-raw-info": "~2.
|
|
21
|
-
"@xyo-network/witness-model": "^2.
|
|
17
|
+
"@xyo-network/module-model": "^2.99.0",
|
|
18
|
+
"@xyo-network/payload-model": "^2.99.0",
|
|
19
|
+
"@xyo-network/react-module": "^2.75.0",
|
|
20
|
+
"@xyo-network/react-node": "~2.75.0",
|
|
21
|
+
"@xyo-network/react-payload-raw-info": "~2.75.0",
|
|
22
|
+
"@xyo-network/witness-model": "^2.99.0"
|
|
22
23
|
},
|
|
23
24
|
"devDependencies": {
|
|
24
|
-
"@storybook/react": "^7.6.
|
|
25
|
+
"@storybook/react": "^7.6.18",
|
|
25
26
|
"@xylabs/ts-scripts-yarn3": "^3.9.1",
|
|
26
27
|
"@xylabs/tsconfig-react": "^3.9.1",
|
|
27
|
-
"@xyo-network/id-plugin": "^2.
|
|
28
|
+
"@xyo-network/id-plugin": "^2.94.0",
|
|
28
29
|
"typescript": "^5.4.5"
|
|
29
30
|
},
|
|
30
31
|
"peerDependencies": {
|
|
@@ -87,6 +88,6 @@
|
|
|
87
88
|
},
|
|
88
89
|
"sideEffects": false,
|
|
89
90
|
"types": "dist/browser/index.d.ts",
|
|
90
|
-
"version": "2.
|
|
91
|
+
"version": "2.75.0",
|
|
91
92
|
"type": "module"
|
|
92
93
|
}
|
package/src/hooks/node/index.ts
CHANGED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ModuleFromNodeConfig, useWeakModuleFromNode } from '@xyo-network/react-node'
|
|
2
|
+
import { asWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'
|
|
3
|
+
|
|
4
|
+
export const useWeakWitnessFromNode = (
|
|
5
|
+
nameOrAddressOrInstance?: string | WitnessInstance,
|
|
6
|
+
config?: ModuleFromNodeConfig,
|
|
7
|
+
): [WeakRef<WitnessInstance> | undefined, Error | undefined] => {
|
|
8
|
+
const [module, error] = useWeakModuleFromNode(nameOrAddressOrInstance, config)
|
|
9
|
+
const instance = module?.deref()
|
|
10
|
+
const sentinel = asWitnessInstance(instance)
|
|
11
|
+
if (instance && !sentinel) {
|
|
12
|
+
const error = new Error(`Resolved module is not a DivinerInstance [${instance.id}]`)
|
|
13
|
+
console.error(error.message)
|
|
14
|
+
return [undefined, error]
|
|
15
|
+
}
|
|
16
|
+
return [sentinel ? new WeakRef(sentinel) : undefined, error]
|
|
17
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { exists } from '@xylabs/exists'
|
|
2
|
+
import { ModuleFilter } from '@xyo-network/module-model'
|
|
3
|
+
import { ModuleFromNodeConfig, useWeakModulesFromNode } from '@xyo-network/react-node'
|
|
4
|
+
import { asWitnessInstance, WitnessInstance } from '@xyo-network/witness-model'
|
|
5
|
+
|
|
6
|
+
export const useWeakWitnessesFromNode = (
|
|
7
|
+
filter?: ModuleFilter,
|
|
8
|
+
config?: ModuleFromNodeConfig,
|
|
9
|
+
): [WeakRef<WitnessInstance>[] | null | undefined, Error | undefined] => {
|
|
10
|
+
const [modules, error] = useWeakModulesFromNode(filter, config)
|
|
11
|
+
if (error) {
|
|
12
|
+
return [null, error]
|
|
13
|
+
}
|
|
14
|
+
return [
|
|
15
|
+
modules
|
|
16
|
+
?.map((module) => {
|
|
17
|
+
const instance = asWitnessInstance(module?.deref())
|
|
18
|
+
if (instance) {
|
|
19
|
+
return new WeakRef(instance)
|
|
20
|
+
}
|
|
21
|
+
})
|
|
22
|
+
.filter(exists) ?? [],
|
|
23
|
+
undefined,
|
|
24
|
+
]
|
|
25
|
+
}
|