@xyo-network/react-node 2.47.22 → 2.47.23
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/cjs/hooks/index.js +1 -0
- package/dist/cjs/hooks/index.js.map +1 -1
- package/dist/cjs/hooks/useWrappedModule.js +1 -1
- package/dist/cjs/hooks/useWrappedModule.js.map +1 -1
- package/dist/cjs/hooks/useWrappedModules.js +54 -0
- package/dist/cjs/hooks/useWrappedModules.js.map +1 -0
- package/dist/docs.json +627 -44
- package/dist/esm/hooks/index.js +1 -0
- package/dist/esm/hooks/index.js.map +1 -1
- package/dist/esm/hooks/useWrappedModule.js +1 -1
- package/dist/esm/hooks/useWrappedModule.js.map +1 -1
- package/dist/esm/hooks/useWrappedModules.js +49 -0
- package/dist/esm/hooks/useWrappedModules.js.map +1 -0
- package/dist/types/hooks/index.d.ts +1 -0
- package/dist/types/hooks/index.d.ts.map +1 -1
- package/dist/types/hooks/useWrappedModule.d.ts.map +1 -1
- package/dist/types/hooks/useWrappedModules.d.ts +57 -0
- package/dist/types/hooks/useWrappedModules.d.ts.map +1 -0
- package/package.json +5 -5
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useWrappedModule.tsx +1 -1
- package/src/hooks/useWrappedModules.tsx +58 -0
package/dist/esm/hooks/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA"}
|
|
@@ -44,5 +44,5 @@ export const WrappedModuleHookFactory = (wrapperObject, name) => {
|
|
|
44
44
|
};
|
|
45
45
|
return useHook;
|
|
46
46
|
};
|
|
47
|
-
export const useWrappedModule = WrappedModuleHookFactory(ModuleWrapper);
|
|
47
|
+
export const useWrappedModule = WrappedModuleHookFactory(ModuleWrapper, 'useWrappedModule');
|
|
48
48
|
//# sourceMappingURL=useWrappedModule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWrappedModule.js","sourceRoot":"","sources":["../../../src/hooks/useWrappedModule.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAEpE,OAAO,EAA8B,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,aAAyD,EACzD,IAAa,EACb,EAAE;IACF,MAAM,OAAO,GAAG,CAAC,aAAsB,EAAE,OAAyB,EAAE,SAAmB,EAAmD,EAAE;QAC1I,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,EAAE;YAC1C,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,kCAAkC,EAAE,CAAA;QAC7D,CAAC,EAAE,EAAE,CAAC,CAAA;QACN,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,0BAA0B,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAA;QACrG,MAAM,CAAC,eAAe,CAAC,GAAG,UAAU,EAAE,CAAA;QACtC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,CACrC,aAAa,IAAI;YACf,KAAK,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC;SACvC,CACF,CAAA;QAED,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAkB,CAAA;QACxD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;QAE3C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAA;QAE1F,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,YAAY,EAAE;gBACjB,MAAM,KAAK,GAAG,KAAK,CAAC,qEAAqE,CAAC,CAAA;gBAC1F,8BAA8B;gBAC9B,QAAQ,CAAC,KAAK,CAAC,CAAA;aAChB;QACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;QAElB,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,MAAM,IAAI,YAAY,EAAE;gBAC1B,IAAI;oBACF,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;oBACxD,UAAU,CAAC,OAAO,CAAC,CAAA;oBACnB,QAAQ,CAAC,SAAS,CAAC,CAAA;iBACpB;gBAAC,OAAO,EAAE,EAAE;oBACX,UAAU,CAAC,SAAS,CAAC,CAAA;oBACrB,QAAQ,CAAC,EAAW,CAAC,CAAA;iBACtB;aACF;iBAAM;gBACL,UAAU,CAAC,SAAS,CAAC,CAAA;gBACrB,QAAQ,CAAC,WAAW,CAAC,CAAA;aACtB;QACH,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAA;QAEhD,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACzB,CAAC,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"useWrappedModule.js","sourceRoot":"","sources":["../../../src/hooks/useWrappedModule.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAEpE,OAAO,EAA8B,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,aAAyD,EACzD,IAAa,EACb,EAAE;IACF,MAAM,OAAO,GAAG,CAAC,aAAsB,EAAE,OAAyB,EAAE,SAAmB,EAAmD,EAAE;QAC1I,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,EAAE;YAC1C,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,kCAAkC,EAAE,CAAA;QAC7D,CAAC,EAAE,EAAE,CAAC,CAAA;QACN,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,0BAA0B,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAA;QACrG,MAAM,CAAC,eAAe,CAAC,GAAG,UAAU,EAAE,CAAA;QACtC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,CACrC,aAAa,IAAI;YACf,KAAK,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC;SACvC,CACF,CAAA;QAED,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAkB,CAAA;QACxD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;QAE3C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAA;QAE1F,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,YAAY,EAAE;gBACjB,MAAM,KAAK,GAAG,KAAK,CAAC,qEAAqE,CAAC,CAAA;gBAC1F,8BAA8B;gBAC9B,QAAQ,CAAC,KAAK,CAAC,CAAA;aAChB;QACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;QAElB,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,MAAM,IAAI,YAAY,EAAE;gBAC1B,IAAI;oBACF,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;oBACxD,UAAU,CAAC,OAAO,CAAC,CAAA;oBACnB,QAAQ,CAAC,SAAS,CAAC,CAAA;iBACpB;gBAAC,OAAO,EAAE,EAAE;oBACX,UAAU,CAAC,SAAS,CAAC,CAAA;oBACrB,QAAQ,CAAC,EAAW,CAAC,CAAA;iBACtB;aACF;iBAAM;gBACL,UAAU,CAAC,SAAS,CAAC,CAAA;gBACrB,QAAQ,CAAC,WAAW,CAAC,CAAA;aACtB;QACH,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAA;QAEhD,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACzB,CAAC,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { useRenderSpinCheck } from '@xylabs/react-render-spin-check';
|
|
2
|
+
import { ModuleWrapper } from '@xyo-network/module';
|
|
3
|
+
import { useAccount } from '@xyo-network/react-wallet';
|
|
4
|
+
import compact from 'lodash/compact';
|
|
5
|
+
import { useEffect, useMemo, useState } from 'react';
|
|
6
|
+
import { useModules } from './useModules';
|
|
7
|
+
export const WrappedModulesHookFactory = (wrapperObject, name) => {
|
|
8
|
+
const useHook = (account, spinCheck) => {
|
|
9
|
+
const spinCheckBounceNoCheck = useMemo(() => {
|
|
10
|
+
return { name: name ?? 'WrappedModulesHookFactory-NoCheck' };
|
|
11
|
+
}, []);
|
|
12
|
+
useRenderSpinCheck(spinCheck ? { name: name ?? 'WrappedModuleHookFactory' } : spinCheckBounceNoCheck);
|
|
13
|
+
const [providedAccount] = useAccount();
|
|
14
|
+
const [modules, moduleError] = useModules({
|
|
15
|
+
query: [wrapperObject.requiredQueries],
|
|
16
|
+
});
|
|
17
|
+
const [wrappers, setWrappers] = useState();
|
|
18
|
+
const [error, setError] = useState();
|
|
19
|
+
const accountToUse = useMemo(() => account ?? providedAccount, [account, providedAccount]);
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
if (!accountToUse) {
|
|
22
|
+
const error = Error('Module hooks require either an Account context or account parameter');
|
|
23
|
+
//console.error(error.message)
|
|
24
|
+
setError(error);
|
|
25
|
+
}
|
|
26
|
+
}, [accountToUse]);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (modules && accountToUse) {
|
|
29
|
+
try {
|
|
30
|
+
const wrappers = compact(modules?.map((module) => wrapperObject.tryWrap(module, accountToUse)));
|
|
31
|
+
setWrappers(wrappers);
|
|
32
|
+
setError(undefined);
|
|
33
|
+
}
|
|
34
|
+
catch (ex) {
|
|
35
|
+
setWrappers(undefined);
|
|
36
|
+
setError(ex);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
setWrappers(undefined);
|
|
41
|
+
setError(moduleError);
|
|
42
|
+
}
|
|
43
|
+
}, [modules, account, moduleError, accountToUse]);
|
|
44
|
+
return [wrappers, error];
|
|
45
|
+
};
|
|
46
|
+
return useHook;
|
|
47
|
+
};
|
|
48
|
+
export const useWrappedModules = WrappedModulesHookFactory(ModuleWrapper, 'useWrappedModules');
|
|
49
|
+
//# sourceMappingURL=useWrappedModules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWrappedModules.js","sourceRoot":"","sources":["../../../src/hooks/useWrappedModules.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAEpE,OAAO,EAA8B,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,OAAO,MAAM,gBAAgB,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,aAAyD,EACzD,IAAa,EACb,EAAE;IACF,MAAM,OAAO,GAAG,CAAC,OAAyB,EAAE,SAAmB,EAAqD,EAAE;QACpH,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,EAAE;YAC1C,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,mCAAmC,EAAE,CAAA;QAC9D,CAAC,EAAE,EAAE,CAAC,CAAA;QACN,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,0BAA0B,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAA;QACrG,MAAM,CAAC,eAAe,CAAC,GAAG,UAAU,EAAE,CAAA;QACtC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,UAAU,CAA2B;YAClE,KAAK,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC;SACvC,CAAC,CAAA;QAEF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAoB,CAAA;QAC5D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;QAE3C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAA;QAE1F,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,YAAY,EAAE;gBACjB,MAAM,KAAK,GAAG,KAAK,CAAC,qEAAqE,CAAC,CAAA;gBAC1F,8BAA8B;gBAC9B,QAAQ,CAAC,KAAK,CAAC,CAAA;aAChB;QACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;QAElB,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,OAAO,IAAI,YAAY,EAAE;gBAC3B,IAAI;oBACF,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;oBAC/F,WAAW,CAAC,QAAQ,CAAC,CAAA;oBACrB,QAAQ,CAAC,SAAS,CAAC,CAAA;iBACpB;gBAAC,OAAO,EAAE,EAAE;oBACX,WAAW,CAAC,SAAS,CAAC,CAAA;oBACtB,QAAQ,CAAC,EAAW,CAAC,CAAA;iBACtB;aACF;iBAAM;gBACL,WAAW,CAAC,SAAS,CAAC,CAAA;gBACtB,QAAQ,CAAC,WAAW,CAAC,CAAA;aACtB;QACH,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAA;QAEjD,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC1B,CAAC,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWrappedModule.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWrappedModule.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAM/E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;6IAE5B,MAAM,sBAEoB,MAAM,YAAY,eAAe,cAAc,OAAO,oDA4CxF,CAAA;AAED,eAAO,MAAM,gBAAgB,mBA9CM,MAAM,YAAY,eAAe,cAAc,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useWrappedModule.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWrappedModule.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAM/E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;6IAE5B,MAAM,sBAEoB,MAAM,YAAY,eAAe,cAAc,OAAO,oDA4CxF,CAAA;AAED,eAAO,MAAM,gBAAgB,mBA9CM,MAAM,YAAY,eAAe,cAAc,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;yGA8CE,CAAA"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { AccountInstance } from '@xyo-network/account-model';
|
|
2
|
+
import { ConstructableModuleWrapper, ModuleWrapper } from '@xyo-network/module';
|
|
3
|
+
export declare const WrappedModulesHookFactory: <TModuleWrapper extends ModuleWrapper<import("@xyo-network/module").Module<import("@xyo-network/module").ModuleParams<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
4
|
+
name?: string | undefined;
|
|
5
|
+
paging?: Record<string, {
|
|
6
|
+
size?: number | undefined;
|
|
7
|
+
}> | undefined;
|
|
8
|
+
schema: string;
|
|
9
|
+
security?: {
|
|
10
|
+
allowAnonymous?: boolean | undefined;
|
|
11
|
+
allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
12
|
+
disallowed?: Record<string, string[]> | undefined;
|
|
13
|
+
} | undefined;
|
|
14
|
+
storeQueries?: boolean | undefined;
|
|
15
|
+
} & Omit<Omit<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
16
|
+
name?: string | undefined;
|
|
17
|
+
paging?: Record<string, {
|
|
18
|
+
size?: number | undefined;
|
|
19
|
+
}> | undefined;
|
|
20
|
+
schema: "network.xyo.module.config";
|
|
21
|
+
security?: {
|
|
22
|
+
allowAnonymous?: boolean | undefined;
|
|
23
|
+
allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
24
|
+
disallowed?: Record<string, string[]> | undefined;
|
|
25
|
+
} | undefined;
|
|
26
|
+
storeQueries?: boolean | undefined;
|
|
27
|
+
} & Omit<undefined, "schema">, "schema"> & {
|
|
28
|
+
schema: string;
|
|
29
|
+
}, "schema">, undefined>, import("@xyo-network/module").ModuleEventData>>>(wrapperObject: ConstructableModuleWrapper<TModuleWrapper>, name?: string) => (account?: AccountInstance, spinCheck?: boolean) => [TModuleWrapper[] | undefined, Error | undefined];
|
|
30
|
+
export declare const useWrappedModules: (account?: AccountInstance, spinCheck?: boolean) => [ModuleWrapper<import("@xyo-network/module").Module<import("@xyo-network/module").ModuleParams<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
31
|
+
name?: string | undefined;
|
|
32
|
+
paging?: Record<string, {
|
|
33
|
+
size?: number | undefined;
|
|
34
|
+
}> | undefined;
|
|
35
|
+
schema: string;
|
|
36
|
+
security?: {
|
|
37
|
+
allowAnonymous?: boolean | undefined;
|
|
38
|
+
allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
39
|
+
disallowed?: Record<string, string[]> | undefined;
|
|
40
|
+
} | undefined;
|
|
41
|
+
storeQueries?: boolean | undefined;
|
|
42
|
+
} & Omit<Omit<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
43
|
+
name?: string | undefined;
|
|
44
|
+
paging?: Record<string, {
|
|
45
|
+
size?: number | undefined;
|
|
46
|
+
}> | undefined;
|
|
47
|
+
schema: "network.xyo.module.config";
|
|
48
|
+
security?: {
|
|
49
|
+
allowAnonymous?: boolean | undefined;
|
|
50
|
+
allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
51
|
+
disallowed?: Record<string, string[]> | undefined;
|
|
52
|
+
} | undefined;
|
|
53
|
+
storeQueries?: boolean | undefined;
|
|
54
|
+
} & Omit<undefined, "schema">, "schema"> & {
|
|
55
|
+
schema: string;
|
|
56
|
+
}, "schema">, undefined>, import("@xyo-network/module").ModuleEventData>>[] | undefined, Error | undefined];
|
|
57
|
+
//# sourceMappingURL=useWrappedModules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWrappedModules.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWrappedModules.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAO/E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;6IAE7B,MAAM,gBAEc,eAAe,cAAc,OAAO,sDA0ChE,CAAA;AAED,eAAO,MAAM,iBAAiB,aA5CD,eAAe,cAAc,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;2GA4C6B,CAAA"}
|
package/package.json
CHANGED
|
@@ -18,16 +18,16 @@
|
|
|
18
18
|
"@xyo-network/module": "^2.53.26",
|
|
19
19
|
"@xyo-network/module-model": "^2.53.26",
|
|
20
20
|
"@xyo-network/node": "^2.53.26",
|
|
21
|
-
"@xyo-network/react-shared": "^2.47.
|
|
22
|
-
"@xyo-network/react-wallet": "^2.47.
|
|
21
|
+
"@xyo-network/react-shared": "^2.47.23",
|
|
22
|
+
"@xyo-network/react-wallet": "^2.47.23"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@storybook/react": "^6.5.16",
|
|
26
26
|
"@xylabs/ts-scripts-yarn3": "^2.16.1",
|
|
27
27
|
"@xylabs/tsconfig-react": "^2.16.1",
|
|
28
28
|
"@xyo-network/account": "^2.53.26",
|
|
29
|
-
"@xyo-network/react-storybook": "^2.47.
|
|
30
|
-
"@xyo-network/react-wallet": "^2.47.
|
|
29
|
+
"@xyo-network/react-storybook": "^2.47.23",
|
|
30
|
+
"@xyo-network/react-wallet": "^2.47.23",
|
|
31
31
|
"require-from-string": "^2.0.2",
|
|
32
32
|
"typescript": "^4.9.5"
|
|
33
33
|
},
|
|
@@ -83,5 +83,5 @@
|
|
|
83
83
|
},
|
|
84
84
|
"sideEffects": false,
|
|
85
85
|
"types": "dist/types/index.d.ts",
|
|
86
|
-
"version": "2.47.
|
|
86
|
+
"version": "2.47.23"
|
|
87
87
|
}
|
package/src/hooks/index.ts
CHANGED
|
@@ -56,4 +56,4 @@ export const WrappedModuleHookFactory = <TModuleWrapper extends ModuleWrapper>(
|
|
|
56
56
|
return useHook
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
export const useWrappedModule = WrappedModuleHookFactory(ModuleWrapper)
|
|
59
|
+
export const useWrappedModule = WrappedModuleHookFactory(ModuleWrapper, 'useWrappedModule')
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { useRenderSpinCheck } from '@xylabs/react-render-spin-check'
|
|
2
|
+
import { AccountInstance } from '@xyo-network/account-model'
|
|
3
|
+
import { ConstructableModuleWrapper, ModuleWrapper } from '@xyo-network/module'
|
|
4
|
+
import { useAccount } from '@xyo-network/react-wallet'
|
|
5
|
+
import compact from 'lodash/compact'
|
|
6
|
+
import { useEffect, useMemo, useState } from 'react'
|
|
7
|
+
|
|
8
|
+
import { useModules } from './useModules'
|
|
9
|
+
|
|
10
|
+
export const WrappedModulesHookFactory = <TModuleWrapper extends ModuleWrapper>(
|
|
11
|
+
wrapperObject: ConstructableModuleWrapper<TModuleWrapper>,
|
|
12
|
+
name?: string,
|
|
13
|
+
) => {
|
|
14
|
+
const useHook = (account?: AccountInstance, spinCheck?: boolean): [TModuleWrapper[] | undefined, Error | undefined] => {
|
|
15
|
+
const spinCheckBounceNoCheck = useMemo(() => {
|
|
16
|
+
return { name: name ?? 'WrappedModulesHookFactory-NoCheck' }
|
|
17
|
+
}, [])
|
|
18
|
+
useRenderSpinCheck(spinCheck ? { name: name ?? 'WrappedModuleHookFactory' } : spinCheckBounceNoCheck)
|
|
19
|
+
const [providedAccount] = useAccount()
|
|
20
|
+
const [modules, moduleError] = useModules<TModuleWrapper['module']>({
|
|
21
|
+
query: [wrapperObject.requiredQueries],
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
const [wrappers, setWrappers] = useState<TModuleWrapper[]>()
|
|
25
|
+
const [error, setError] = useState<Error>()
|
|
26
|
+
|
|
27
|
+
const accountToUse = useMemo(() => account ?? providedAccount, [account, providedAccount])
|
|
28
|
+
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
if (!accountToUse) {
|
|
31
|
+
const error = Error('Module hooks require either an Account context or account parameter')
|
|
32
|
+
//console.error(error.message)
|
|
33
|
+
setError(error)
|
|
34
|
+
}
|
|
35
|
+
}, [accountToUse])
|
|
36
|
+
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
if (modules && accountToUse) {
|
|
39
|
+
try {
|
|
40
|
+
const wrappers = compact(modules?.map((module) => wrapperObject.tryWrap(module, accountToUse)))
|
|
41
|
+
setWrappers(wrappers)
|
|
42
|
+
setError(undefined)
|
|
43
|
+
} catch (ex) {
|
|
44
|
+
setWrappers(undefined)
|
|
45
|
+
setError(ex as Error)
|
|
46
|
+
}
|
|
47
|
+
} else {
|
|
48
|
+
setWrappers(undefined)
|
|
49
|
+
setError(moduleError)
|
|
50
|
+
}
|
|
51
|
+
}, [modules, account, moduleError, accountToUse])
|
|
52
|
+
|
|
53
|
+
return [wrappers, error]
|
|
54
|
+
}
|
|
55
|
+
return useHook
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export const useWrappedModules = WrappedModulesHookFactory(ModuleWrapper, 'useWrappedModules')
|