@xyo-network/react-witness 2.74.0 → 2.75.1

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.
Files changed (48) hide show
  1. package/dist/browser/hooks/node/index.d.cts +2 -0
  2. package/dist/browser/hooks/node/index.d.cts.map +1 -1
  3. package/dist/browser/hooks/node/index.d.mts +2 -0
  4. package/dist/browser/hooks/node/index.d.mts.map +1 -1
  5. package/dist/browser/hooks/node/index.d.ts +2 -0
  6. package/dist/browser/hooks/node/index.d.ts.map +1 -1
  7. package/dist/browser/hooks/node/useWeakWitnessFromNode.d.cts +4 -0
  8. package/dist/browser/hooks/node/useWeakWitnessFromNode.d.cts.map +1 -0
  9. package/dist/browser/hooks/node/useWeakWitnessFromNode.d.mts +4 -0
  10. package/dist/browser/hooks/node/useWeakWitnessFromNode.d.mts.map +1 -0
  11. package/dist/browser/hooks/node/useWeakWitnessFromNode.d.ts +4 -0
  12. package/dist/browser/hooks/node/useWeakWitnessFromNode.d.ts.map +1 -0
  13. package/dist/browser/hooks/node/useWeakWitnessesFromNode.d.cts +5 -0
  14. package/dist/browser/hooks/node/useWeakWitnessesFromNode.d.cts.map +1 -0
  15. package/dist/browser/hooks/node/useWeakWitnessesFromNode.d.mts +5 -0
  16. package/dist/browser/hooks/node/useWeakWitnessesFromNode.d.mts.map +1 -0
  17. package/dist/browser/hooks/node/useWeakWitnessesFromNode.d.ts +5 -0
  18. package/dist/browser/hooks/node/useWeakWitnessesFromNode.d.ts.map +1 -0
  19. package/dist/browser/index.cjs +44 -7
  20. package/dist/browser/index.cjs.map +1 -1
  21. package/dist/browser/index.js +39 -2
  22. package/dist/browser/index.js.map +1 -1
  23. package/dist/node/hooks/node/index.d.cts +2 -0
  24. package/dist/node/hooks/node/index.d.cts.map +1 -1
  25. package/dist/node/hooks/node/index.d.mts +2 -0
  26. package/dist/node/hooks/node/index.d.mts.map +1 -1
  27. package/dist/node/hooks/node/index.d.ts +2 -0
  28. package/dist/node/hooks/node/index.d.ts.map +1 -1
  29. package/dist/node/hooks/node/useWeakWitnessFromNode.d.cts +4 -0
  30. package/dist/node/hooks/node/useWeakWitnessFromNode.d.cts.map +1 -0
  31. package/dist/node/hooks/node/useWeakWitnessFromNode.d.mts +4 -0
  32. package/dist/node/hooks/node/useWeakWitnessFromNode.d.mts.map +1 -0
  33. package/dist/node/hooks/node/useWeakWitnessFromNode.d.ts +4 -0
  34. package/dist/node/hooks/node/useWeakWitnessFromNode.d.ts.map +1 -0
  35. package/dist/node/hooks/node/useWeakWitnessesFromNode.d.cts +5 -0
  36. package/dist/node/hooks/node/useWeakWitnessesFromNode.d.cts.map +1 -0
  37. package/dist/node/hooks/node/useWeakWitnessesFromNode.d.mts +5 -0
  38. package/dist/node/hooks/node/useWeakWitnessesFromNode.d.mts.map +1 -0
  39. package/dist/node/hooks/node/useWeakWitnessesFromNode.d.ts +5 -0
  40. package/dist/node/hooks/node/useWeakWitnessesFromNode.d.ts.map +1 -0
  41. package/dist/node/index.cjs +46 -7
  42. package/dist/node/index.cjs.map +1 -1
  43. package/dist/node/index.js +39 -2
  44. package/dist/node/index.js.map +1 -1
  45. package/package.json +10 -9
  46. package/src/hooks/node/index.ts +2 -0
  47. package/src/hooks/node/useWeakWitnessFromNode.tsx +17 -0
  48. package/src/hooks/node/useWeakWitnessesFromNode.tsx +25 -0
@@ -1,3 +1,5 @@
1
+ export * from './useWeakWitnessesFromNode';
2
+ export * from './useWeakWitnessFromNode';
1
3
  export * from './useWitnessesFromNode';
2
4
  export * from './useWitnessFromNode';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -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,3 +1,5 @@
1
+ export * from './useWeakWitnessesFromNode';
2
+ export * from './useWeakWitnessFromNode';
1
3
  export * from './useWitnessesFromNode';
2
4
  export * from './useWitnessFromNode';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -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,3 +1,5 @@
1
+ export * from './useWeakWitnessesFromNode';
2
+ export * from './useWeakWitnessFromNode';
1
3
  export * from './useWitnessesFromNode';
2
4
  export * from './useWitnessFromNode';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -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"}
@@ -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/useWitnessesFromNode.tsx
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, import_react_node.useModulesFromNode)(filter, config);
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, import_witness_model.isWitnessInstance)(module2)) {
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 import_react_node2 = require("@xyo-network/react-node");
102
- var import_witness_model2 = require("@xyo-network/witness-model");
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, import_react_node2.useModuleFromNode)(nameOrAddressOrInstance, config);
105
- const instance = (0, import_witness_model2.asWitnessInstance)(module2);
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;;;AIxBA,wBAAyD;AACzD,2BAAmD;AAE5C,IAAM,uBAAuB,CAClC,QACA,WAC8D;AAC9D,QAAM,CAAC,SAAS,KAAK,QAAI,sCAAmB,QAAQ,MAAM;AAC1D,MAAI,OAAO;AACT,WAAO,CAAC,MAAM,KAAK;AAAA,EACrB;AACA,SAAO,UACH;AAAA;AAAA,IAEE,QAAQ,OAA0B,CAAC,MAAMC,YAAW;AAClD,cAAI,wCAAkBA,OAAM,GAAG;AAC7B,aAAK,KAAKA,OAAM;AAAA,MAClB;AACA,aAAO;AAAA,IACT,GAAG,CAAC,CAAC;AAAA,IACL;AAAA,EACF,IACA,CAAC,SAAS,KAAK;AACrB;;;ACxBA,IAAAC,qBAAwD;AACxD,IAAAC,wBAAmD;AAE5C,IAAM,qBAAqB,CAChC,yBACA,WACqD;AACrD,QAAM,CAACC,SAAQ,KAAK,QAAI,sCAAkB,yBAAyB,MAAM;AACzE,QAAM,eAAW,yCAAkBA,OAAM;AACzC,MAAIA,WAAU,CAAC,UAAU;AACvB,UAAMC,SAAQ,IAAI,MAAM,6CAA6CD,QAAO,QAAQ,MAAM,IAAIA,QAAO,QAAQ,IAAI,IAAIA,QAAO,OAAO,GAAG;AACtI,YAAQ,MAAMC,OAAM,OAAO;AAC3B,WAAO,CAAC,QAAWA,MAAK;AAAA,EAC1B;AACA,SAAO,CAAC,UAAU,KAAK;AACzB;","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"]}
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"]}
@@ -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 = asWitnessInstance(module);
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;;;AIxBA,SAA+B,0BAA0B;AACzD,SAAS,yBAA0C;AAE5C,IAAM,uBAAuB,CAClC,QACA,WAC8D;AAC9D,QAAM,CAAC,SAAS,KAAK,IAAI,mBAAmB,QAAQ,MAAM;AAC1D,MAAI,OAAO;AACT,WAAO,CAAC,MAAM,KAAK;AAAA,EACrB;AACA,SAAO,UACH;AAAA;AAAA,IAEE,QAAQ,OAA0B,CAAC,MAAM,WAAW;AAClD,UAAI,kBAAkB,MAAM,GAAG;AAC7B,aAAK,KAAK,MAAM;AAAA,MAClB;AACA,aAAO;AAAA,IACT,GAAG,CAAC,CAAC;AAAA,IACL;AAAA,EACF,IACA,CAAC,SAAS,KAAK;AACrB;;;ACxBA,SAA+B,yBAAyB;AACxD,SAAS,yBAA0C;AAE5C,IAAM,qBAAqB,CAChC,yBACA,WACqD;AACrD,QAAM,CAAC,QAAQ,KAAK,IAAI,kBAAkB,yBAAyB,MAAM;AACzE,QAAM,WAAW,kBAAkB,MAAM;AACzC,MAAI,UAAU,CAAC,UAAU;AACvB,UAAME,SAAQ,IAAI,MAAM,6CAA6C,OAAO,QAAQ,MAAM,IAAI,OAAO,QAAQ,IAAI,IAAI,OAAO,OAAO,GAAG;AACtI,YAAQ,MAAMA,OAAM,OAAO;AAC3B,WAAO,CAAC,QAAWA,MAAK;AAAA,EAC1B;AACA,SAAO,CAAC,UAAU,KAAK;AACzB;","names":["jsx","jsx","jsx","jsxs","error"]}
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,3 +1,5 @@
1
+ export * from './useWeakWitnessesFromNode';
2
+ export * from './useWeakWitnessFromNode';
1
3
  export * from './useWitnessesFromNode';
2
4
  export * from './useWitnessFromNode';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -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,3 +1,5 @@
1
+ export * from './useWeakWitnessesFromNode';
2
+ export * from './useWeakWitnessFromNode';
1
3
  export * from './useWitnessesFromNode';
2
4
  export * from './useWitnessFromNode';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -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,3 +1,5 @@
1
+ export * from './useWeakWitnessesFromNode';
2
+ export * from './useWeakWitnessFromNode';
1
3
  export * from './useWitnessesFromNode';
2
4
  export * from './useWitnessFromNode';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -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"}
@@ -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/useWitnessesFromNode.tsx
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, import_react_node.useModulesFromNode)(filter, config);
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, import_witness_model.isWitnessInstance)(module2)) {
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 import_react_node2 = require("@xyo-network/react-node");
102
- var import_witness_model2 = require("@xyo-network/witness-model");
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, import_react_node2.useModuleFromNode)(nameOrAddressOrInstance, config);
106
- const instance = (0, import_witness_model2.asWitnessInstance)(module2);
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
  });
@@ -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":"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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"]}
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"]}
@@ -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 = asWitnessInstance(module);
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
  };
@@ -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;;;AIxBA,SAA+B,0BAA0B;AACzD,SAAS,yBAA0C;AAE5C,IAAM,uBAAuB,CAClC,QACA,WAC8D;AAC9D,QAAM,CAAC,SAAS,KAAK,IAAI,mBAAmB,QAAQ,MAAM;AAC1D,MAAI,OAAO;AACT,WAAO,CAAC,MAAM,KAAK;AAAA,EACrB;AACA,SAAO,UACH;AAAA;AAAA,IAEE,QAAQ,OAA0B,CAAC,MAAM,WAAW;AAClD,UAAI,kBAAkB,MAAM,GAAG;AAC7B,aAAK,KAAK,MAAM;AAAA,MAClB;AACA,aAAO;AAAA,IACT,GAAG,CAAC,CAAC;AAAA,IACL;AAAA,EACF,IACA,CAAC,SAAS,KAAK;AACrB;;;ACxBA,SAA+B,yBAAyB;AACxD,SAAS,yBAA0C;AAE5C,IAAM,qBAAqB,CAChC,yBACA,WACqD;AANvD;AAOE,QAAM,CAAC,QAAQ,KAAK,IAAI,kBAAkB,yBAAyB,MAAM;AACzE,QAAM,WAAW,kBAAkB,MAAM;AACzC,MAAI,UAAU,CAAC,UAAU;AACvB,UAAME,SAAQ,IAAI,MAAM,8CAA6C,YAAO,WAAP,mBAAe,MAAM,KAAI,YAAO,WAAP,mBAAe,IAAI,IAAI,OAAO,OAAO,GAAG;AACtI,YAAQ,MAAMA,OAAM,OAAO;AAC3B,WAAO,CAAC,QAAWA,MAAK;AAAA,EAC1B;AACA,SAAO,CAAC,UAAU,KAAK;AACzB;","names":["jsx","jsx","jsx","jsxs","error"]}
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.98.3",
17
- "@xyo-network/payload-model": "^2.98.3",
18
- "@xyo-network/react-module": "^2.74.0",
19
- "@xyo-network/react-node": "~2.74.0",
20
- "@xyo-network/react-payload-raw-info": "~2.74.0",
21
- "@xyo-network/witness-model": "^2.98.3"
17
+ "@xyo-network/module-model": "^2.99.1",
18
+ "@xyo-network/payload-model": "^2.99.1",
19
+ "@xyo-network/react-module": "^2.75.1",
20
+ "@xyo-network/react-node": "~2.75.1",
21
+ "@xyo-network/react-payload-raw-info": "~2.75.1",
22
+ "@xyo-network/witness-model": "^2.99.1"
22
23
  },
23
24
  "devDependencies": {
24
- "@storybook/react": "^7.6.17",
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.93.1",
28
+ "@xyo-network/id-plugin": "^2.94.1",
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.74.0",
91
+ "version": "2.75.1",
91
92
  "type": "module"
92
93
  }
@@ -1,2 +1,4 @@
1
+ export * from './useWeakWitnessesFromNode'
2
+ export * from './useWeakWitnessFromNode'
1
3
  export * from './useWitnessesFromNode'
2
4
  export * from './useWitnessFromNode'
@@ -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
+ }