@xyo-network/react-module 2.56.2 → 2.56.3
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/components/Card/Module/CardActions.js +1 -1
- package/dist/cjs/components/Card/Module/CardActions.js.map +1 -1
- package/dist/cjs/components/Card/Module/components/DiscoverDialog.js +1 -1
- package/dist/cjs/components/Card/Module/components/DiscoverDialog.js.map +1 -1
- package/dist/cjs/components/DetailsBox.js +1 -1
- package/dist/cjs/components/DetailsBox.js.map +1 -1
- package/dist/cjs/hooks/WrappedModuleHookFactory.js +36 -0
- package/dist/cjs/hooks/WrappedModuleHookFactory.js.map +1 -0
- package/dist/cjs/hooks/WrappedModulesHookFactory.js +36 -0
- package/dist/cjs/hooks/WrappedModulesHookFactory.js.map +1 -0
- package/dist/cjs/hooks/index.js +4 -0
- package/dist/cjs/hooks/index.js.map +1 -1
- package/dist/cjs/hooks/useRefresh.js +18 -0
- package/dist/cjs/hooks/useRefresh.js.map +1 -0
- package/dist/cjs/hooks/useWrappedModule.js +3 -33
- package/dist/cjs/hooks/useWrappedModule.js.map +1 -1
- package/dist/cjs/hooks/useWrappedModules.js +7 -0
- package/dist/cjs/hooks/useWrappedModules.js.map +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/docs.json +5279 -811
- package/dist/esm/hooks/WrappedModuleHookFactory.js +33 -0
- package/dist/esm/hooks/WrappedModuleHookFactory.js.map +1 -0
- package/dist/esm/hooks/WrappedModulesHookFactory.js +33 -0
- package/dist/esm/hooks/WrappedModulesHookFactory.js.map +1 -0
- package/dist/esm/hooks/index.js +4 -0
- package/dist/esm/hooks/index.js.map +1 -1
- package/dist/esm/hooks/useRefresh.js +14 -0
- package/dist/esm/hooks/useRefresh.js.map +1 -0
- package/dist/esm/hooks/useWrappedModule.js +2 -31
- package/dist/esm/hooks/useWrappedModule.js.map +1 -1
- package/dist/esm/hooks/useWrappedModules.js +4 -0
- package/dist/esm/hooks/useWrappedModules.js.map +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/types/hooks/WrappedModuleHookFactory.d.ts +35 -0
- package/dist/types/hooks/WrappedModuleHookFactory.d.ts.map +1 -0
- package/dist/types/hooks/WrappedModulesHookFactory.d.ts +35 -0
- package/dist/types/hooks/WrappedModulesHookFactory.d.ts.map +1 -0
- package/dist/types/hooks/index.d.ts +4 -0
- package/dist/types/hooks/index.d.ts.map +1 -1
- package/dist/types/hooks/useRefresh.d.ts +4 -0
- package/dist/types/hooks/useRefresh.d.ts.map +1 -0
- package/dist/types/hooks/useWrappedModule.d.ts +58 -5
- package/dist/types/hooks/useWrappedModule.d.ts.map +1 -1
- package/dist/types/hooks/useWrappedModules.d.ts +59 -0
- package/dist/types/hooks/useWrappedModules.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/hooks/WrappedModuleHookFactory.tsx +41 -0
- package/src/hooks/WrappedModulesHookFactory.tsx +41 -0
- package/src/hooks/index.ts +4 -0
- package/src/hooks/useRefresh.tsx +17 -0
- package/src/hooks/useWrappedModule.tsx +3 -38
- package/src/hooks/useWrappedModules.tsx +5 -0
- package/src/index.ts +1 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { useWrapperAccount } from '@xyo-network/react-wallet';
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
export const WrappedModuleHookFactory = {
|
|
4
|
+
create: (wrapperObject, name) => {
|
|
5
|
+
const useHook = (module, account, logger) => {
|
|
6
|
+
logger?.debug(`Render: ${name}`);
|
|
7
|
+
const wrapperAccount = useWrapperAccount();
|
|
8
|
+
const [wrapper, setWrapper] = useState();
|
|
9
|
+
const [error, setError] = useState();
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
const walletToUse = account || wrapperAccount;
|
|
12
|
+
if (module && walletToUse) {
|
|
13
|
+
try {
|
|
14
|
+
const wrapper = wrapperObject.wrap(module, walletToUse);
|
|
15
|
+
setWrapper(wrapper);
|
|
16
|
+
setError(undefined);
|
|
17
|
+
}
|
|
18
|
+
catch (ex) {
|
|
19
|
+
setWrapper(undefined);
|
|
20
|
+
setError(ex);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
setWrapper(undefined);
|
|
25
|
+
setError(undefined);
|
|
26
|
+
}
|
|
27
|
+
}, [module, account, wrapperAccount]);
|
|
28
|
+
return [wrapper, error];
|
|
29
|
+
};
|
|
30
|
+
return useHook;
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=WrappedModuleHookFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WrappedModuleHookFactory.js","sourceRoot":"","sources":["../../../src/hooks/WrappedModuleHookFactory.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,MAAM,EAAE,CAAuC,aAAyD,EAAE,IAAa,EAAE,EAAE;QACzH,MAAM,OAAO,GAAG,CACd,MAAiC,EACjC,OAAyB,EACzB,MAAe,EACkC,EAAE;YACnD,MAAM,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA;YAChC,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAA;YAE1C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAkB,CAAA;YACxD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;YAE3C,SAAS,CAAC,GAAG,EAAE;gBACb,MAAM,WAAW,GAAG,OAAO,IAAI,cAAc,CAAA;gBAC7C,IAAI,MAAM,IAAI,WAAW,EAAE;oBACzB,IAAI;wBACF,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;wBACvD,UAAU,CAAC,OAAO,CAAC,CAAA;wBACnB,QAAQ,CAAC,SAAS,CAAC,CAAA;qBACpB;oBAAC,OAAO,EAAE,EAAE;wBACX,UAAU,CAAC,SAAS,CAAC,CAAA;wBACrB,QAAQ,CAAC,EAAW,CAAC,CAAA;qBACtB;iBACF;qBAAM;oBACL,UAAU,CAAC,SAAS,CAAC,CAAA;oBACrB,QAAQ,CAAC,SAAS,CAAC,CAAA;iBACpB;YACH,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAA;YAErC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QACzB,CAAC,CAAA;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { useWrapperAccount } from '@xyo-network/react-wallet';
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
export const WrappedModulesHookFactory = {
|
|
4
|
+
create: (wrapperObject, name) => {
|
|
5
|
+
const useHook = (modules, account, logger) => {
|
|
6
|
+
logger?.debug(`Render: ${name}`);
|
|
7
|
+
const wrapperAccount = useWrapperAccount();
|
|
8
|
+
const [wrappers, setWrappers] = useState();
|
|
9
|
+
const [error, setError] = useState();
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
const walletToUse = account || wrapperAccount;
|
|
12
|
+
if (module && walletToUse) {
|
|
13
|
+
try {
|
|
14
|
+
const wrappers = modules?.map((module) => wrapperObject.wrap(module, walletToUse));
|
|
15
|
+
setWrappers(wrappers);
|
|
16
|
+
setError(undefined);
|
|
17
|
+
}
|
|
18
|
+
catch (ex) {
|
|
19
|
+
setWrappers(undefined);
|
|
20
|
+
setError(ex);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
setWrappers(undefined);
|
|
25
|
+
setError(undefined);
|
|
26
|
+
}
|
|
27
|
+
}, [modules, account, wrapperAccount]);
|
|
28
|
+
return [wrappers, error];
|
|
29
|
+
};
|
|
30
|
+
return useHook;
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=WrappedModulesHookFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WrappedModulesHookFactory.js","sourceRoot":"","sources":["../../../src/hooks/WrappedModulesHookFactory.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,MAAM,EAAE,CAAuC,aAAyD,EAAE,IAAa,EAAE,EAAE;QACzH,MAAM,OAAO,GAAG,CACd,OAAoC,EACpC,OAAyB,EACzB,MAAe,EACoC,EAAE;YACrD,MAAM,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA;YAChC,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAA;YAE1C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAoB,CAAA;YAC5D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;YAE3C,SAAS,CAAC,GAAG,EAAE;gBACb,MAAM,WAAW,GAAG,OAAO,IAAI,cAAc,CAAA;gBAC7C,IAAI,MAAM,IAAI,WAAW,EAAE;oBACzB,IAAI;wBACF,MAAM,QAAQ,GAAG,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA;wBAClF,WAAW,CAAC,QAAQ,CAAC,CAAA;wBACrB,QAAQ,CAAC,SAAS,CAAC,CAAA;qBACpB;oBAAC,OAAO,EAAE,EAAE;wBACX,WAAW,CAAC,SAAS,CAAC,CAAA;wBACtB,QAAQ,CAAC,EAAW,CAAC,CAAA;qBACtB;iBACF;qBAAM;oBACL,WAAW,CAAC,SAAS,CAAC,CAAA;oBACtB,QAAQ,CAAC,SAAS,CAAC,CAAA;iBACpB;YACH,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAA;YAEtC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAA;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;CACF,CAAA"}
|
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,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
export const useRefresh = () => {
|
|
3
|
+
const [enabled, setEnabled] = useState(1);
|
|
4
|
+
return [
|
|
5
|
+
!!enabled,
|
|
6
|
+
() => {
|
|
7
|
+
const enabledCount = enabled + 1;
|
|
8
|
+
setEnabled(enabledCount);
|
|
9
|
+
return !!enabledCount;
|
|
10
|
+
},
|
|
11
|
+
() => setEnabled(0),
|
|
12
|
+
];
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=useRefresh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRefresh.js","sourceRoot":"","sources":["../../../src/hooks/useRefresh.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAKhC,MAAM,CAAC,MAAM,UAAU,GAAG,GAAgD,EAAE;IAC1E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACzC,OAAO;QACL,CAAC,CAAC,OAAO;QACT,GAAG,EAAE;YACH,MAAM,YAAY,GAAG,OAAO,GAAG,CAAC,CAAA;YAChC,UAAU,CAAC,YAAY,CAAC,CAAA;YACxB,OAAO,CAAC,CAAC,YAAY,CAAA;QACvB,CAAC;QACD,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;KACpB,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,33 +1,4 @@
|
|
|
1
1
|
import { ModuleWrapper } from '@xyo-network/module';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
export const WrappedModuleHookFactory = (wrapperObject, name) => {
|
|
5
|
-
const useHook = (module, wallet, logger) => {
|
|
6
|
-
logger?.debug(`Render: ${name}`);
|
|
7
|
-
const wrapperWallet = useWrapperWallet();
|
|
8
|
-
const [wrapper, setWrapper] = useState();
|
|
9
|
-
const [error, setError] = useState();
|
|
10
|
-
useEffect(() => {
|
|
11
|
-
const walletToUse = wallet || wrapperWallet;
|
|
12
|
-
if (module && walletToUse) {
|
|
13
|
-
try {
|
|
14
|
-
const wrapper = wrapperObject.wrap(module, walletToUse);
|
|
15
|
-
setWrapper(wrapper);
|
|
16
|
-
setError(undefined);
|
|
17
|
-
}
|
|
18
|
-
catch (ex) {
|
|
19
|
-
setWrapper(undefined);
|
|
20
|
-
setError(ex);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
setWrapper(undefined);
|
|
25
|
-
setError(undefined);
|
|
26
|
-
}
|
|
27
|
-
}, [module, wallet, wrapperWallet]);
|
|
28
|
-
return [wrapper, error];
|
|
29
|
-
};
|
|
30
|
-
return useHook;
|
|
31
|
-
};
|
|
32
|
-
export const useWrappedModule = WrappedModuleHookFactory(ModuleWrapper, 'useWrappedModule');
|
|
2
|
+
import { WrappedModuleHookFactory } from './WrappedModuleHookFactory';
|
|
3
|
+
export const useWrappedModule = WrappedModuleHookFactory.create(ModuleWrapper, 'useWrappedModule');
|
|
33
4
|
//# sourceMappingURL=useWrappedModule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWrappedModule.js","sourceRoot":"","sources":["../../../src/hooks/useWrappedModule.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useWrappedModule.js","sourceRoot":"","sources":["../../../src/hooks/useWrappedModule.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAErE,MAAM,CAAC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ModuleWrapper } from '@xyo-network/module';
|
|
2
|
+
import { WrappedModulesHookFactory } from './WrappedModulesHookFactory';
|
|
3
|
+
export const useWrappedModules = WrappedModulesHookFactory.create(ModuleWrapper, 'useWrappedModules');
|
|
4
|
+
//# sourceMappingURL=useWrappedModules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWrappedModules.js","sourceRoot":"","sources":["../../../src/hooks/useWrappedModules.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAEvE,MAAM,CAAC,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAA"}
|
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,qBAAqB,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { AccountInstance } from '@xyo-network/account-model';
|
|
2
|
+
import { Logger } from '@xyo-network/core';
|
|
3
|
+
import { ConstructableModuleWrapper, ModuleWrapper } from '@xyo-network/module';
|
|
4
|
+
export declare const WrappedModuleHookFactory: {
|
|
5
|
+
create: <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 & {
|
|
6
|
+
readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
|
|
7
|
+
readonly name?: string | undefined;
|
|
8
|
+
readonly paging?: Record<string, {
|
|
9
|
+
size?: number | undefined;
|
|
10
|
+
}> | undefined;
|
|
11
|
+
readonly schema: string;
|
|
12
|
+
readonly security?: {
|
|
13
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
14
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
15
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
16
|
+
} | undefined;
|
|
17
|
+
readonly storeQueries?: boolean | undefined;
|
|
18
|
+
} & Omit<Omit<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
19
|
+
readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
|
|
20
|
+
readonly name?: string | undefined;
|
|
21
|
+
readonly paging?: Record<string, {
|
|
22
|
+
size?: number | undefined;
|
|
23
|
+
}> | undefined;
|
|
24
|
+
readonly schema: "network.xyo.module.config";
|
|
25
|
+
readonly security?: {
|
|
26
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
27
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
28
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
29
|
+
} | undefined;
|
|
30
|
+
readonly storeQueries?: boolean | undefined;
|
|
31
|
+
} & Omit<undefined, "schema">, "schema"> & {
|
|
32
|
+
schema: string;
|
|
33
|
+
}, "schema">, undefined>, import("@xyo-network/module").ModuleEventData>>>(wrapperObject: ConstructableModuleWrapper<TModuleWrapper>, name?: string) => (module?: TModuleWrapper["module"] | undefined, account?: AccountInstance, logger?: Logger) => [TModuleWrapper | undefined, Error | undefined];
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=WrappedModuleHookFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WrappedModuleHookFactory.d.ts","sourceRoot":"","sources":["../../../src/hooks/WrappedModuleHookFactory.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAI/E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iJAC8E,MAAM,+DAGzG,eAAe,WAChB,MAAM;CA6BpB,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { AccountInstance } from '@xyo-network/account-model';
|
|
2
|
+
import { Logger } from '@xyo-network/core';
|
|
3
|
+
import { ConstructableModuleWrapper, ModuleWrapper } from '@xyo-network/module';
|
|
4
|
+
export declare const WrappedModulesHookFactory: {
|
|
5
|
+
create: <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 & {
|
|
6
|
+
readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
|
|
7
|
+
readonly name?: string | undefined;
|
|
8
|
+
readonly paging?: Record<string, {
|
|
9
|
+
size?: number | undefined;
|
|
10
|
+
}> | undefined;
|
|
11
|
+
readonly schema: string;
|
|
12
|
+
readonly security?: {
|
|
13
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
14
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
15
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
16
|
+
} | undefined;
|
|
17
|
+
readonly storeQueries?: boolean | undefined;
|
|
18
|
+
} & Omit<Omit<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
19
|
+
readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
|
|
20
|
+
readonly name?: string | undefined;
|
|
21
|
+
readonly paging?: Record<string, {
|
|
22
|
+
size?: number | undefined;
|
|
23
|
+
}> | undefined;
|
|
24
|
+
readonly schema: "network.xyo.module.config";
|
|
25
|
+
readonly security?: {
|
|
26
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
27
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
28
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
29
|
+
} | undefined;
|
|
30
|
+
readonly storeQueries?: boolean | undefined;
|
|
31
|
+
} & Omit<undefined, "schema">, "schema"> & {
|
|
32
|
+
schema: string;
|
|
33
|
+
}, "schema">, undefined>, import("@xyo-network/module").ModuleEventData>>>(wrapperObject: ConstructableModuleWrapper<TModuleWrapper>, name?: string) => (modules?: TModuleWrapper["module"][] | undefined, account?: AccountInstance, logger?: Logger) => [TModuleWrapper[] | undefined, Error | undefined];
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=WrappedModulesHookFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WrappedModulesHookFactory.d.ts","sourceRoot":"","sources":["../../../src/hooks/WrappedModulesHookFactory.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAI/E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iJAC6E,MAAM,kEAGzG,eAAe,WAChB,MAAM;CA6BpB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRefresh.d.ts","sourceRoot":"","sources":["../../../src/hooks/useRefresh.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,CAAA;AAC3C,MAAM,MAAM,eAAe,GAAG,MAAM,IAAI,CAAA;AAExC,eAAO,MAAM,UAAU,QAAO,CAAC,OAAO,EAAE,eAAe,EAAE,eAAe,CAWvE,CAAA"}
|
|
@@ -1,6 +1,59 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { ModuleWrapper } from '@xyo-network/module';
|
|
2
|
+
export declare const useWrappedModule: (module?: import("@xyo-network/module").Module<import("@xyo-network/module").ModuleParams<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
3
|
+
readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
|
|
4
|
+
readonly name?: string | undefined;
|
|
5
|
+
readonly paging?: Record<string, {
|
|
6
|
+
size?: number | undefined;
|
|
7
|
+
}> | undefined;
|
|
8
|
+
readonly schema: string;
|
|
9
|
+
readonly security?: {
|
|
10
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
11
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
12
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
13
|
+
} | undefined;
|
|
14
|
+
readonly storeQueries?: boolean | undefined;
|
|
15
|
+
} & Omit<Omit<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
16
|
+
readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
|
|
17
|
+
readonly name?: string | undefined;
|
|
18
|
+
readonly paging?: Record<string, {
|
|
19
|
+
size?: number | undefined;
|
|
20
|
+
}> | undefined;
|
|
21
|
+
readonly schema: "network.xyo.module.config";
|
|
22
|
+
readonly security?: {
|
|
23
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
24
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
25
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
26
|
+
} | undefined;
|
|
27
|
+
readonly storeQueries?: boolean | undefined;
|
|
28
|
+
} & Omit<undefined, "schema">, "schema"> & {
|
|
29
|
+
schema: string;
|
|
30
|
+
}, "schema">, undefined>, import("@xyo-network/module").ModuleEventData> | undefined, account?: import("@xyo-network/account-model").AccountInstance | undefined, logger?: import("@xyo-network/core").Logger | undefined) => [ModuleWrapper<import("@xyo-network/module").Module<import("@xyo-network/module").ModuleParams<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
31
|
+
readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
|
|
32
|
+
readonly name?: string | undefined;
|
|
33
|
+
readonly paging?: Record<string, {
|
|
34
|
+
size?: number | undefined;
|
|
35
|
+
}> | undefined;
|
|
36
|
+
readonly schema: string;
|
|
37
|
+
readonly security?: {
|
|
38
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
39
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
40
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
41
|
+
} | undefined;
|
|
42
|
+
readonly storeQueries?: boolean | undefined;
|
|
43
|
+
} & Omit<Omit<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
44
|
+
readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
|
|
45
|
+
readonly name?: string | undefined;
|
|
46
|
+
readonly paging?: Record<string, {
|
|
47
|
+
size?: number | undefined;
|
|
48
|
+
}> | undefined;
|
|
49
|
+
readonly schema: "network.xyo.module.config";
|
|
50
|
+
readonly security?: {
|
|
51
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
52
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
53
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
54
|
+
} | undefined;
|
|
55
|
+
readonly storeQueries?: boolean | undefined;
|
|
56
|
+
} & Omit<undefined, "schema">, "schema"> & {
|
|
57
|
+
schema: string;
|
|
58
|
+
}, "schema">, undefined>, import("@xyo-network/module").ModuleEventData>> | undefined, Error | undefined];
|
|
6
59
|
//# sourceMappingURL=useWrappedModule.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWrappedModule.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWrappedModule.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useWrappedModule.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWrappedModule.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAInD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yGAAqE,CAAA"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { ModuleWrapper } from '@xyo-network/module';
|
|
2
|
+
export declare const useWrappedModules: (modules?: import("@xyo-network/module").Module<import("@xyo-network/module").ModuleParams<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
3
|
+
readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
|
|
4
|
+
readonly name?: string | undefined;
|
|
5
|
+
readonly paging?: Record<string, {
|
|
6
|
+
size?: number | undefined;
|
|
7
|
+
}> | undefined;
|
|
8
|
+
readonly schema: string;
|
|
9
|
+
readonly security?: {
|
|
10
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
11
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
12
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
13
|
+
} | undefined;
|
|
14
|
+
readonly storeQueries?: boolean | undefined;
|
|
15
|
+
} & Omit<Omit<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
16
|
+
readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
|
|
17
|
+
readonly name?: string | undefined;
|
|
18
|
+
readonly paging?: Record<string, {
|
|
19
|
+
size?: number | undefined;
|
|
20
|
+
}> | undefined;
|
|
21
|
+
readonly schema: "network.xyo.module.config";
|
|
22
|
+
readonly security?: {
|
|
23
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
24
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
25
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
26
|
+
} | undefined;
|
|
27
|
+
readonly storeQueries?: boolean | undefined;
|
|
28
|
+
} & Omit<undefined, "schema">, "schema"> & {
|
|
29
|
+
schema: string;
|
|
30
|
+
}, "schema">, undefined>, import("@xyo-network/module").ModuleEventData>[] | undefined, account?: import("@xyo-network/account-model").AccountInstance | undefined, logger?: import("@xyo-network/core").Logger | undefined) => [ModuleWrapper<import("@xyo-network/module").Module<import("@xyo-network/module").ModuleParams<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
31
|
+
readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
|
|
32
|
+
readonly name?: string | undefined;
|
|
33
|
+
readonly paging?: Record<string, {
|
|
34
|
+
size?: number | undefined;
|
|
35
|
+
}> | undefined;
|
|
36
|
+
readonly schema: string;
|
|
37
|
+
readonly security?: {
|
|
38
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
39
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
40
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
41
|
+
} | undefined;
|
|
42
|
+
readonly storeQueries?: boolean | undefined;
|
|
43
|
+
} & Omit<Omit<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
44
|
+
readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
|
|
45
|
+
readonly name?: string | undefined;
|
|
46
|
+
readonly paging?: Record<string, {
|
|
47
|
+
size?: number | undefined;
|
|
48
|
+
}> | undefined;
|
|
49
|
+
readonly schema: "network.xyo.module.config";
|
|
50
|
+
readonly security?: {
|
|
51
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
52
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
53
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
54
|
+
} | undefined;
|
|
55
|
+
readonly storeQueries?: boolean | undefined;
|
|
56
|
+
} & Omit<undefined, "schema">, "schema"> & {
|
|
57
|
+
schema: string;
|
|
58
|
+
}, "schema">, undefined>, import("@xyo-network/module").ModuleEventData>>[] | undefined, Error | undefined];
|
|
59
|
+
//# sourceMappingURL=useWrappedModules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWrappedModules.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWrappedModules.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAInD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2GAAuE,CAAA"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,qBAAqB,CAAA"}
|
package/package.json
CHANGED
|
@@ -15,13 +15,13 @@
|
|
|
15
15
|
"@xylabs/react-button": "^2.17.6",
|
|
16
16
|
"@xylabs/react-crypto": "^2.17.6",
|
|
17
17
|
"@xylabs/react-flexbox": "^2.17.6",
|
|
18
|
+
"@xyo-network/account-model": "^2.64.1",
|
|
18
19
|
"@xyo-network/core": "^2.64.1",
|
|
19
20
|
"@xyo-network/diviner": "^2.64.1",
|
|
20
21
|
"@xyo-network/module": "^2.64.1",
|
|
21
22
|
"@xyo-network/payload-model": "^2.64.1",
|
|
22
|
-
"@xyo-network/react-shared": "^2.56.
|
|
23
|
-
"@xyo-network/react-wallet": "^2.56.
|
|
24
|
-
"@xyo-network/wallet-model": "^2.64.1"
|
|
23
|
+
"@xyo-network/react-shared": "^2.56.3",
|
|
24
|
+
"@xyo-network/react-wallet": "^2.56.3"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@ethersproject/address": "^5.7.0",
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
"@uniswap/sdk": "^3.0.3",
|
|
34
34
|
"@uniswap/sdk-core": "^3.2.6",
|
|
35
35
|
"@uniswap/v3-sdk": "^3.9.0",
|
|
36
|
-
"@xylabs/ts-scripts-yarn3": "^2.18.
|
|
37
|
-
"@xylabs/tsconfig-react": "^2.18.
|
|
36
|
+
"@xylabs/ts-scripts-yarn3": "^2.18.7",
|
|
37
|
+
"@xylabs/tsconfig-react": "^2.18.7",
|
|
38
38
|
"@xyo-network/archivist": "^2.64.1",
|
|
39
39
|
"@xyo-network/crypto-asset-plugin": "^2.64.1",
|
|
40
40
|
"@xyo-network/diviner-address-history": "^2.64.1",
|
|
@@ -93,5 +93,5 @@
|
|
|
93
93
|
},
|
|
94
94
|
"sideEffects": false,
|
|
95
95
|
"types": "dist/types/index.d.ts",
|
|
96
|
-
"version": "2.56.
|
|
96
|
+
"version": "2.56.3"
|
|
97
97
|
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { AccountInstance } from '@xyo-network/account-model'
|
|
2
|
+
import { Logger } from '@xyo-network/core'
|
|
3
|
+
import { ConstructableModuleWrapper, ModuleWrapper } from '@xyo-network/module'
|
|
4
|
+
import { useWrapperAccount } from '@xyo-network/react-wallet'
|
|
5
|
+
import { useEffect, useState } from 'react'
|
|
6
|
+
|
|
7
|
+
export const WrappedModuleHookFactory = {
|
|
8
|
+
create: <TModuleWrapper extends ModuleWrapper>(wrapperObject: ConstructableModuleWrapper<TModuleWrapper>, name?: string) => {
|
|
9
|
+
const useHook = (
|
|
10
|
+
module?: TModuleWrapper['module'],
|
|
11
|
+
account?: AccountInstance,
|
|
12
|
+
logger?: Logger,
|
|
13
|
+
): [TModuleWrapper | undefined, Error | undefined] => {
|
|
14
|
+
logger?.debug(`Render: ${name}`)
|
|
15
|
+
const wrapperAccount = useWrapperAccount()
|
|
16
|
+
|
|
17
|
+
const [wrapper, setWrapper] = useState<TModuleWrapper>()
|
|
18
|
+
const [error, setError] = useState<Error>()
|
|
19
|
+
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
const walletToUse = account || wrapperAccount
|
|
22
|
+
if (module && walletToUse) {
|
|
23
|
+
try {
|
|
24
|
+
const wrapper = wrapperObject.wrap(module, walletToUse)
|
|
25
|
+
setWrapper(wrapper)
|
|
26
|
+
setError(undefined)
|
|
27
|
+
} catch (ex) {
|
|
28
|
+
setWrapper(undefined)
|
|
29
|
+
setError(ex as Error)
|
|
30
|
+
}
|
|
31
|
+
} else {
|
|
32
|
+
setWrapper(undefined)
|
|
33
|
+
setError(undefined)
|
|
34
|
+
}
|
|
35
|
+
}, [module, account, wrapperAccount])
|
|
36
|
+
|
|
37
|
+
return [wrapper, error]
|
|
38
|
+
}
|
|
39
|
+
return useHook
|
|
40
|
+
},
|
|
41
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { AccountInstance } from '@xyo-network/account-model'
|
|
2
|
+
import { Logger } from '@xyo-network/core'
|
|
3
|
+
import { ConstructableModuleWrapper, ModuleWrapper } from '@xyo-network/module'
|
|
4
|
+
import { useWrapperAccount } from '@xyo-network/react-wallet'
|
|
5
|
+
import { useEffect, useState } from 'react'
|
|
6
|
+
|
|
7
|
+
export const WrappedModulesHookFactory = {
|
|
8
|
+
create: <TModuleWrapper extends ModuleWrapper>(wrapperObject: ConstructableModuleWrapper<TModuleWrapper>, name?: string) => {
|
|
9
|
+
const useHook = (
|
|
10
|
+
modules?: TModuleWrapper['module'][],
|
|
11
|
+
account?: AccountInstance,
|
|
12
|
+
logger?: Logger,
|
|
13
|
+
): [TModuleWrapper[] | undefined, Error | undefined] => {
|
|
14
|
+
logger?.debug(`Render: ${name}`)
|
|
15
|
+
const wrapperAccount = useWrapperAccount()
|
|
16
|
+
|
|
17
|
+
const [wrappers, setWrappers] = useState<TModuleWrapper[]>()
|
|
18
|
+
const [error, setError] = useState<Error>()
|
|
19
|
+
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
const walletToUse = account || wrapperAccount
|
|
22
|
+
if (module && walletToUse) {
|
|
23
|
+
try {
|
|
24
|
+
const wrappers = modules?.map((module) => wrapperObject.wrap(module, walletToUse))
|
|
25
|
+
setWrappers(wrappers)
|
|
26
|
+
setError(undefined)
|
|
27
|
+
} catch (ex) {
|
|
28
|
+
setWrappers(undefined)
|
|
29
|
+
setError(ex as Error)
|
|
30
|
+
}
|
|
31
|
+
} else {
|
|
32
|
+
setWrappers(undefined)
|
|
33
|
+
setError(undefined)
|
|
34
|
+
}
|
|
35
|
+
}, [modules, account, wrapperAccount])
|
|
36
|
+
|
|
37
|
+
return [wrappers, error]
|
|
38
|
+
}
|
|
39
|
+
return useHook
|
|
40
|
+
},
|
|
41
|
+
}
|
package/src/hooks/index.ts
CHANGED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { useState } from 'react'
|
|
2
|
+
|
|
3
|
+
export type RefreshCallback = () => boolean
|
|
4
|
+
export type DisableCallback = () => void
|
|
5
|
+
|
|
6
|
+
export const useRefresh = (): [boolean, RefreshCallback, DisableCallback] => {
|
|
7
|
+
const [enabled, setEnabled] = useState(1)
|
|
8
|
+
return [
|
|
9
|
+
!!enabled,
|
|
10
|
+
() => {
|
|
11
|
+
const enabledCount = enabled + 1
|
|
12
|
+
setEnabled(enabledCount)
|
|
13
|
+
return !!enabledCount
|
|
14
|
+
},
|
|
15
|
+
() => setEnabled(0),
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -1,40 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ConstructableModuleWrapper, Module, ModuleWrapper } from '@xyo-network/module'
|
|
3
|
-
import { useWrapperWallet } from '@xyo-network/react-wallet'
|
|
4
|
-
import { WalletInstance } from '@xyo-network/wallet-model'
|
|
5
|
-
import { useEffect, useState } from 'react'
|
|
1
|
+
import { ModuleWrapper } from '@xyo-network/module'
|
|
6
2
|
|
|
7
|
-
|
|
8
|
-
wrapperObject: ConstructableModuleWrapper<TModuleWrapper>,
|
|
9
|
-
name?: string,
|
|
10
|
-
) => {
|
|
11
|
-
const useHook = (module?: Module, wallet?: WalletInstance, logger?: Logger): [TModuleWrapper | undefined, Error | undefined] => {
|
|
12
|
-
logger?.debug(`Render: ${name}`)
|
|
13
|
-
const wrapperWallet = useWrapperWallet()
|
|
3
|
+
import { WrappedModuleHookFactory } from './WrappedModuleHookFactory'
|
|
14
4
|
|
|
15
|
-
|
|
16
|
-
const [error, setError] = useState<Error>()
|
|
17
|
-
|
|
18
|
-
useEffect(() => {
|
|
19
|
-
const walletToUse = wallet || wrapperWallet
|
|
20
|
-
if (module && walletToUse) {
|
|
21
|
-
try {
|
|
22
|
-
const wrapper = wrapperObject.wrap(module, walletToUse)
|
|
23
|
-
setWrapper(wrapper)
|
|
24
|
-
setError(undefined)
|
|
25
|
-
} catch (ex) {
|
|
26
|
-
setWrapper(undefined)
|
|
27
|
-
setError(ex as Error)
|
|
28
|
-
}
|
|
29
|
-
} else {
|
|
30
|
-
setWrapper(undefined)
|
|
31
|
-
setError(undefined)
|
|
32
|
-
}
|
|
33
|
-
}, [module, wallet, wrapperWallet])
|
|
34
|
-
|
|
35
|
-
return [wrapper, error]
|
|
36
|
-
}
|
|
37
|
-
return useHook
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export const useWrappedModule = WrappedModuleHookFactory(ModuleWrapper, 'useWrappedModule')
|
|
5
|
+
export const useWrappedModule = WrappedModuleHookFactory.create(ModuleWrapper, 'useWrappedModule')
|
package/src/index.ts
CHANGED