@xyo-network/react-archivist 2.45.0-rc.2 → 2.45.0-rc.21

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.
@@ -13,7 +13,7 @@ const testQueryCommitBoundWitness = new QueryBoundWitnessBuilder({ inlinePayload
13
13
  const testQueryClear = { schema: ArchivistClearQuerySchema };
14
14
  const testQueryClearBoundWitness = new QueryBoundWitnessBuilder({ inlinePayloads: true }).query(testQueryClear).build();
15
15
  export const ArchivistDetails = ({ address, ...props }) => {
16
- const archivist = useArchivist(address);
16
+ const [archivist] = useArchivist(address);
17
17
  const [payloads, setPayloads] = useState();
18
18
  const [refresh, setRefresh] = useState(0);
19
19
  const [wrapper, setWrapper] = useState();
@@ -1 +1 @@
1
- {"version":3,"file":"Details.js","sourceRoot":"","sources":["../../../../src/components/Details/Details.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Details.js","sourceRoot":"","sources":["../../../../src/components/Details/Details.tsx"],"names":[],"mappings":"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"}
@@ -1,23 +1,4 @@
1
- /* eslint-disable react-hooks/rules-of-hooks */
2
- import { useAsyncEffect } from '@xylabs/react-shared';
3
1
  import { ArchivistWrapper } from '@xyo-network/archivist';
4
- import { useNode } from '@xyo-network/react-node';
5
- import { useState } from 'react';
6
- const createUseModuleHook = (wrapFunc) => {
7
- function use(nameOrAddress, wrap = false) {
8
- const node = useNode(nameOrAddress, true);
9
- const [module, setModule] = useState();
10
- useAsyncEffect(
11
- // eslint-disable-next-line react-hooks/exhaustive-deps
12
- async (mounted) => {
13
- const module = await node?.resolve(nameOrAddress);
14
- if (mounted()) {
15
- setModule(module);
16
- }
17
- }, [node, nameOrAddress]);
18
- return wrap ? wrapFunc(module, typeof wrap === 'boolean' ? undefined : wrap) : module;
19
- }
20
- return use;
21
- };
22
- export const useArchivist = createUseModuleHook(ArchivistWrapper.wrap);
2
+ import { WrappedModuleHookFactory } from '@xyo-network/react-node';
3
+ export const useArchivist = WrappedModuleHookFactory(ArchivistWrapper);
23
4
  //# sourceMappingURL=useArchivist.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useArchivist.js","sourceRoot":"","sources":["../../../src/hooks/useArchivist.tsx"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAmB,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAE1E,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAIhC,MAAM,mBAAmB,GAAG,CAK1B,QAAmB,EACnB,EAAE;IAKF,SAAS,GAAG,CAAC,aAAsB,EAAE,OAA0B,KAAK;QAClE,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;QACzC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAAW,CAAA;QAC/C,cAAc;QACZ,uDAAuD;QACvD,KAAK,EAAE,OAAO,EAAE,EAAE;YAChB,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,OAAO,CAAU,aAAa,CAAC,CAAA;YAC1D,IAAI,OAAO,EAAE,EAAE;gBACb,SAAS,CAAC,MAAM,CAAC,CAAA;aAClB;QACH,CAAC,EACD,CAAC,IAAI,EAAE,aAAa,CAAC,CACtB,CAAA;QAED,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IACvF,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,mBAAmB,CAAoC,gBAAgB,CAAC,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"useArchivist.js","sourceRoot":"","sources":["../../../src/hooks/useArchivist.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAElE,MAAM,CAAC,MAAM,YAAY,GAAG,wBAAwB,CAAC,gBAAgB,CAAC,CAAA"}
@@ -1,16 +1,24 @@
1
1
  import { useAsyncEffect } from '@xylabs/react-shared';
2
- import { useDataState } from '@xyo-network/react-shared';
3
- import { useArchivistStates } from './useArchivistStates';
4
- export const useArchivistGet = (hashes) => {
5
- const [savedHashes, setSavedHashes] = useDataState(hashes);
6
- setSavedHashes(hashes);
7
- const { archivist, error, payloads, refresh, setError, setPayloads, refreshCount } = useArchivistStates();
2
+ import { useCallback, useState } from 'react';
3
+ import { useArchivist } from './useArchivist';
4
+ export const useArchivistGet = (hashes, archivist) => {
5
+ const requestedArchivistNameOrAddress = typeof archivist === 'string' ? archivist : undefined;
6
+ const passedArchivist = typeof archivist === 'object' ? archivist : undefined;
7
+ const [payloads, setPayloads] = useState();
8
+ const [foundArchivist, foundArchivistError] = useArchivist(requestedArchivistNameOrAddress);
9
+ const [error, setError] = useState();
10
+ const [refresh, setRefresh] = useState(0);
11
+ const onRefresh = useCallback(() => {
12
+ setRefresh(refresh + 1);
13
+ // eslint-disable-next-line react-hooks/exhaustive-deps
14
+ }, []);
8
15
  useAsyncEffect(
9
16
  // eslint-disable-next-line react-hooks/exhaustive-deps
10
17
  async (mounted) => {
11
18
  try {
12
- if (archivist && savedHashes) {
13
- const result = (await archivist.get(savedHashes ?? [])) ?? [];
19
+ const archivistToUse = passedArchivist ?? foundArchivist;
20
+ if (archivistToUse && hashes) {
21
+ const result = (await archivistToUse.get(hashes ?? [])) ?? [];
14
22
  if (mounted()) {
15
23
  setError(undefined);
16
24
  setPayloads(result);
@@ -20,7 +28,7 @@ export const useArchivistGet = (hashes) => {
20
28
  catch (ex) {
21
29
  setError(ex);
22
30
  }
23
- }, [archivist, savedHashes, refreshCount, setError, setPayloads]);
24
- return [payloads, error, refresh];
31
+ }, [passedArchivist, foundArchivist, hashes, refresh, setError, setPayloads]);
32
+ return [payloads, error ?? foundArchivistError, onRefresh];
25
33
  };
26
34
  //# sourceMappingURL=useArchivistGet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useArchivistGet.js","sourceRoot":"","sources":["../../../src/hooks/useArchivistGet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,EAAmB,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAE1E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAoC,MAAiB,EAAoC,EAAE;IACxH,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IAC1D,cAAc,CAAC,MAAM,CAAC,CAAA;IAEtB,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,kBAAkB,EAAK,CAAA;IAE5G,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,IAAI;YACF,IAAI,SAAS,IAAI,WAAW,EAAE;gBAC5B,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;gBAC7D,IAAI,OAAO,EAAE,EAAE;oBACb,QAAQ,CAAC,SAAS,CAAC,CAAA;oBACnB,WAAW,CAAC,MAAa,CAAC,CAAA;iBAC3B;aACF;SACF;QAAC,OAAO,EAAE,EAAE;YACX,QAAQ,CAAC,EAAW,CAAC,CAAA;SACtB;IACH,CAAC,EACD,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAC,CAC9D,CAAA;IACD,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;AACnC,CAAC,CAAA"}
1
+ {"version":3,"file":"useArchivistGet.js","sourceRoot":"","sources":["../../../src/hooks/useArchivistGet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,MAAiB,EACjB,SAA8B,EACI,EAAE;IACpC,MAAM,+BAA+B,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IAC7F,MAAM,eAAe,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IAC7E,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAO,CAAA;IAC/C,MAAM,CAAC,cAAc,EAAE,mBAAmB,CAAC,GAAG,YAAY,CAAC,+BAA+B,CAAC,CAAA;IAC3F,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;IAC3C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAEzC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,CAAA;QACvB,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,IAAI;YACF,MAAM,cAAc,GAAG,eAAe,IAAI,cAAc,CAAA;YACxD,IAAI,cAAc,IAAI,MAAM,EAAE;gBAC5B,MAAM,MAAM,GAAI,CAAC,MAAM,cAAc,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAS,IAAI,EAAE,CAAA;gBACtE,IAAI,OAAO,EAAE,EAAE;oBACb,QAAQ,CAAC,SAAS,CAAC,CAAA;oBACnB,WAAW,CAAC,MAAa,CAAC,CAAA;iBAC3B;aACF;SACF;QAAC,OAAO,EAAE,EAAE;YACX,QAAQ,CAAC,EAAW,CAAC,CAAA;SACtB;IACH,CAAC,EACD,CAAC,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAC1E,CAAA;IACD,OAAO,CAAC,QAAQ,EAAE,KAAK,IAAI,mBAAmB,EAAE,SAAS,CAAC,CAAA;AAC5D,CAAC,CAAA"}
@@ -2,7 +2,7 @@ import { ArchivistWrapper } from '@xyo-network/archivist';
2
2
  import { useEffect, useState } from 'react';
3
3
  import { useArchivist } from './useArchivist';
4
4
  export const useArchivistStates = () => {
5
- const archivistFromHook = useArchivist();
5
+ const [archivistFromHook] = useArchivist();
6
6
  const [payloads, setPayloads] = useState();
7
7
  const [error, setError] = useState();
8
8
  const [refreshCount, setRefreshCount] = useState(1);
@@ -1 +1 @@
1
- {"version":3,"file":"useArchivistStates.js","sourceRoot":"","sources":["../../../src/hooks/useArchivistStates.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAI7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAsC,EAAE;IACxE,MAAM,iBAAiB,GAAG,YAAY,EAAE,CAAA;IACxC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAO,CAAA;IAC/C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;IAC3C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACnD,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;IAEzE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAoB,CAAA;IAE9D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,iBAAiB,EAAE;YACrB,YAAY,CAAC,IAAI,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAA;SACtD;IACH,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAEvB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;AACtG,CAAC,CAAA"}
1
+ {"version":3,"file":"useArchivistStates.js","sourceRoot":"","sources":["../../../src/hooks/useArchivistStates.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAI7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAsC,EAAE;IACxE,MAAM,CAAC,iBAAiB,CAAC,GAAG,YAAY,EAAE,CAAA;IAC1C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAO,CAAA;IAC/C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;IAC3C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACnD,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;IAEzE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAoB,CAAA;IAE9D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,iBAAiB,EAAE;YACrB,YAAY,CAAC,IAAI,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAA;SACtD;IACH,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAEvB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;AACtG,CAAC,CAAA"}
@@ -1,9 +1,3 @@
1
- import { Account } from '@xyo-network/account';
2
- import { ArchivistModule, ArchivistWrapper } from '@xyo-network/archivist';
3
- export declare const useArchivist: {
4
- (name?: string): ArchivistModule | undefined;
5
- (name: string | undefined, wrap: true | Account): ArchivistWrapper | undefined;
6
- (address: string): ArchivistModule | undefined;
7
- (address: string, wrap: true | Account): ArchivistWrapper | undefined;
8
- };
1
+ import { ArchivistWrapper } from '@xyo-network/archivist';
2
+ export declare const useArchivist: (nameOrAddress?: string | undefined, account?: import("@xyo-network/account-model").AccountInstance | undefined) => [ArchivistWrapper | undefined, Error | undefined];
9
3
  //# sourceMappingURL=useArchivist.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useArchivist.d.ts","sourceRoot":"","sources":["../../../src/hooks/useArchivist.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAqC1E,eAAO,MAAM,YAAY;YAvBH,MAAM;WACP,MAAM,GAAG,SAAS,QAAQ,IAAI,GAAG,OAAO;cACrC,MAAM;cACN,MAAM,QAAQ,IAAI,GAAG,OAAO;CAoBqD,CAAA"}
1
+ {"version":3,"file":"useArchivist.d.ts","sourceRoot":"","sources":["../../../src/hooks/useArchivist.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAGzD,eAAO,MAAM,YAAY,uKAA6C,CAAA"}
@@ -1,7 +1,8 @@
1
+ import { Archivist } from '@xyo-network/archivist';
1
2
  import { RefreshCallback } from './useArchivistStates';
2
3
  export declare const useArchivistGet: <T extends import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
3
4
  schema: string;
4
5
  } = import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
5
6
  schema: string;
6
- }>(hashes?: string[]) => [(T[] | undefined)?, (Error | undefined)?, (RefreshCallback | undefined)?];
7
+ }>(hashes?: string[], archivist?: Archivist | string) => [(T[] | undefined)?, (Error | undefined)?, (RefreshCallback | undefined)?];
7
8
  //# sourceMappingURL=useArchivistGet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useArchivistGet.d.ts","sourceRoot":"","sources":["../../../src/hooks/useArchivistGet.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAsB,MAAM,sBAAsB,CAAA;AAE1E,eAAO,MAAM,eAAe;;;;YAAgD,MAAM,EAAE,+EAwBnF,CAAA"}
1
+ {"version":3,"file":"useArchivistGet.d.ts","sourceRoot":"","sources":["../../../src/hooks/useArchivistGet.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAKlD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,eAAO,MAAM,eAAe;;;;YACjB,MAAM,EAAE,cACL,SAAS,GAAG,MAAM,+EAiC/B,CAAA"}
package/package.json CHANGED
@@ -10,14 +10,14 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
11
11
  },
12
12
  "dependencies": {
13
+ "@xylabs/eth-address": "^2.7.4",
13
14
  "@xylabs/react-button": "^2.16.8",
15
+ "@xylabs/react-crypto": "^2.16.8",
14
16
  "@xylabs/react-flexbox": "^2.16.8",
15
17
  "@xylabs/react-shared": "^2.16.8",
16
- "@xyo-network/node": "^2.51.1",
17
- "@xyo-network/react-module": "^2.45.0-rc.2",
18
- "@xyo-network/react-node": "^2.45.0-rc.2",
19
- "@xyo-network/react-shared": "^2.45.0-rc.2",
20
- "lodash": "^4.17.21"
18
+ "@xyo-network/react-module": "^2.45.0-rc.21",
19
+ "@xyo-network/react-node": "^2.45.0-rc.21",
20
+ "@xyo-network/react-shared": "^2.45.0-rc.21"
21
21
  },
22
22
  "peerDependencies": {
23
23
  "@mui/icons-material": "^5",
@@ -32,14 +32,13 @@
32
32
  "description": "Common React library for all XYO projects that use React",
33
33
  "devDependencies": {
34
34
  "@storybook/react": "^6.5.16",
35
- "@types/lodash": "^4.14.191",
36
- "@xylabs/ts-scripts-yarn3": "^2.16.0",
37
- "@xylabs/tsconfig-react": "^2.16.0",
38
- "@xyo-network/archivist": "^2.51.1",
39
- "@xyo-network/archivist-wrapper": "^2.51.1",
40
- "@xyo-network/module": "^2.51.1",
41
- "@xyo-network/payload-model": "^2.51.1",
42
- "@xyo-network/react-storybook": "^2.45.0-rc.2",
35
+ "@xylabs/ts-scripts-yarn3": "^2.16.1",
36
+ "@xylabs/tsconfig-react": "^2.16.1",
37
+ "@xyo-network/archivist": "^2.51.4",
38
+ "@xyo-network/archivist-wrapper": "^2.51.4",
39
+ "@xyo-network/module": "^2.51.4",
40
+ "@xyo-network/payload-model": "^2.51.4",
41
+ "@xyo-network/react-storybook": "^2.45.0-rc.21",
43
42
  "require-from-string": "^2.0.2",
44
43
  "typescript": "^4.9.5"
45
44
  },
@@ -85,6 +84,6 @@
85
84
  },
86
85
  "sideEffects": false,
87
86
  "types": "dist/types/index.d.ts",
88
- "version": "2.45.0-rc.2",
87
+ "version": "2.45.0-rc.21",
89
88
  "stableVersion": "2.44.1"
90
89
  }
@@ -20,13 +20,13 @@ const StorybookEntry = {
20
20
  } as ComponentMeta<typeof ArchivistDetails>
21
21
 
22
22
  const TemplateInner: ComponentStory<typeof ArchivistDetails> = (args) => {
23
- const archivist = useArchivist()
23
+ const [archivist] = useArchivist()
24
24
 
25
25
  return <ArchivistDetails address={archivist?.address} {...args}></ArchivistDetails>
26
26
  }
27
27
 
28
28
  const TemplateInnerWithData: ComponentStory<typeof ArchivistDetails> = (args) => {
29
- const archivist = useArchivist()
29
+ const [archivist] = useArchivist()
30
30
  const [archivistWithData, setArchivistWithData] = useState<ArchivistModule>()
31
31
 
32
32
  useAsyncEffect(
@@ -21,7 +21,7 @@ export interface ArchivistDetails extends FlexBoxProps {
21
21
  }
22
22
 
23
23
  export const ArchivistDetails: React.FC<ArchivistDetails> = ({ address, ...props }) => {
24
- const archivist = useArchivist(address)
24
+ const [archivist] = useArchivist(address)
25
25
  const [payloads, setPayloads] = useState<XyoPayload[]>()
26
26
  const [refresh, setRefresh] = useState(0)
27
27
  const [wrapper, setWrapper] = useState<ArchivistWrapper>()
@@ -1,41 +1,4 @@
1
- /* eslint-disable react-hooks/rules-of-hooks */
2
- import { useAsyncEffect } from '@xylabs/react-shared'
3
- import { Account } from '@xyo-network/account'
4
- import { ArchivistModule, ArchivistWrapper } from '@xyo-network/archivist'
5
- import { Module, ModuleWrapper } from '@xyo-network/module'
6
- import { useNode } from '@xyo-network/react-node'
7
- import { useState } from 'react'
1
+ import { ArchivistWrapper } from '@xyo-network/archivist'
2
+ import { WrappedModuleHookFactory } from '@xyo-network/react-node'
8
3
 
9
- type WrapFunc<TModule extends Module = Module, TWrapper extends ModuleWrapper = ModuleWrapper> = (module?: TModule, account?: Account) => TWrapper
10
-
11
- const createUseModuleHook = <
12
- TModule extends Module = Module,
13
- TWrapper extends ModuleWrapper = ModuleWrapper,
14
- TWrapFunc extends WrapFunc<TModule, TWrapper> = WrapFunc<TModule, TWrapper>,
15
- >(
16
- wrapFunc: TWrapFunc,
17
- ) => {
18
- function use(name?: string): TModule | undefined
19
- function use(name: string | undefined, wrap: true | Account): TWrapper | undefined
20
- function use(address: string): TModule | undefined
21
- function use(address: string, wrap: true | Account): TWrapper | undefined
22
- function use(nameOrAddress?: string, wrap: boolean | Account = false): TWrapper | TModule | undefined {
23
- const node = useNode(nameOrAddress, true)
24
- const [module, setModule] = useState<TModule>()
25
- useAsyncEffect(
26
- // eslint-disable-next-line react-hooks/exhaustive-deps
27
- async (mounted) => {
28
- const module = await node?.resolve<TModule>(nameOrAddress)
29
- if (mounted()) {
30
- setModule(module)
31
- }
32
- },
33
- [node, nameOrAddress],
34
- )
35
-
36
- return wrap ? wrapFunc(module, typeof wrap === 'boolean' ? undefined : wrap) : module
37
- }
38
- return use
39
- }
40
-
41
- export const useArchivist = createUseModuleHook<ArchivistModule, ArchivistWrapper>(ArchivistWrapper.wrap)
4
+ export const useArchivist = WrappedModuleHookFactory(ArchivistWrapper)
@@ -1,21 +1,34 @@
1
1
  import { useAsyncEffect } from '@xylabs/react-shared'
2
+ import { Archivist } from '@xyo-network/archivist'
2
3
  import { XyoPayload } from '@xyo-network/payload-model'
3
- import { useDataState } from '@xyo-network/react-shared'
4
+ import { useCallback, useState } from 'react'
4
5
 
5
- import { RefreshCallback, useArchivistStates } from './useArchivistStates'
6
+ import { useArchivist } from './useArchivist'
7
+ import { RefreshCallback } from './useArchivistStates'
6
8
 
7
- export const useArchivistGet = <T extends XyoPayload = XyoPayload>(hashes?: string[]): [T[]?, Error?, RefreshCallback?] => {
8
- const [savedHashes, setSavedHashes] = useDataState(hashes)
9
- setSavedHashes(hashes)
9
+ export const useArchivistGet = <T extends XyoPayload = XyoPayload>(
10
+ hashes?: string[],
11
+ archivist?: Archivist | string,
12
+ ): [T[]?, Error?, RefreshCallback?] => {
13
+ const requestedArchivistNameOrAddress = typeof archivist === 'string' ? archivist : undefined
14
+ const passedArchivist = typeof archivist === 'object' ? archivist : undefined
15
+ const [payloads, setPayloads] = useState<T[]>()
16
+ const [foundArchivist, foundArchivistError] = useArchivist(requestedArchivistNameOrAddress)
17
+ const [error, setError] = useState<Error>()
18
+ const [refresh, setRefresh] = useState(0)
10
19
 
11
- const { archivist, error, payloads, refresh, setError, setPayloads, refreshCount } = useArchivistStates<T>()
20
+ const onRefresh = useCallback(() => {
21
+ setRefresh(refresh + 1)
22
+ // eslint-disable-next-line react-hooks/exhaustive-deps
23
+ }, [])
12
24
 
13
25
  useAsyncEffect(
14
26
  // eslint-disable-next-line react-hooks/exhaustive-deps
15
27
  async (mounted) => {
16
28
  try {
17
- if (archivist && savedHashes) {
18
- const result = (await archivist.get(savedHashes ?? [])) ?? []
29
+ const archivistToUse = passedArchivist ?? foundArchivist
30
+ if (archivistToUse && hashes) {
31
+ const result = ((await archivistToUse.get(hashes ?? [])) as T[]) ?? []
19
32
  if (mounted()) {
20
33
  setError(undefined)
21
34
  setPayloads(result as T[])
@@ -25,7 +38,7 @@ export const useArchivistGet = <T extends XyoPayload = XyoPayload>(hashes?: stri
25
38
  setError(ex as Error)
26
39
  }
27
40
  },
28
- [archivist, savedHashes, refreshCount, setError, setPayloads],
41
+ [passedArchivist, foundArchivist, hashes, refresh, setError, setPayloads],
29
42
  )
30
- return [payloads, error, refresh]
43
+ return [payloads, error ?? foundArchivistError, onRefresh]
31
44
  }
@@ -7,7 +7,7 @@ import { useArchivist } from './useArchivist'
7
7
  export type RefreshCallback = () => void
8
8
 
9
9
  export const useArchivistStates = <T extends XyoPayload = XyoPayload>() => {
10
- const archivistFromHook = useArchivist()
10
+ const [archivistFromHook] = useArchivist()
11
11
  const [payloads, setPayloads] = useState<T[]>()
12
12
  const [error, setError] = useState<Error>()
13
13
  const [refreshCount, setRefreshCount] = useState(1)