@xyo-network/react-payload 2.26.10 → 2.26.11
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/esm/hooks/useHuriHash.d.ts +1 -1
- package/dist/esm/hooks/useHuriHash.js.map +1 -1
- package/dist/esm/hooks/useResolveHuri.d.ts +1 -1
- package/dist/esm/hooks/useResolveHuri.js +7 -8
- package/dist/esm/hooks/useResolveHuri.js.map +1 -1
- package/package.json +8 -8
- package/src/hooks/useHuriHash.stories.tsx +18 -5
- package/src/hooks/useHuriHash.tsx +1 -1
- package/src/hooks/useResolveHuri.tsx +9 -8
|
@@ -4,5 +4,5 @@ import { FetchHuriHashOptions } from './lib';
|
|
|
4
4
|
/**
|
|
5
5
|
* Resolve a hash or a huri regardless of network
|
|
6
6
|
*/
|
|
7
|
-
declare const useHuriHash: (huriOrHash?: string | Huri, huriUri?: string, options?: FetchHuriHashOptions) => [XyoPayload | undefined, boolean, XyoApiError | undefined, boolean | undefined];
|
|
7
|
+
declare const useHuriHash: (huriOrHash?: string | Huri, huriUri?: string, options?: FetchHuriHashOptions) => [XyoPayload | undefined, boolean | undefined, XyoApiError | undefined, boolean | undefined];
|
|
8
8
|
export { useHuriHash };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHuriHash.js","sourceRoot":"","sources":["../../../src/hooks/useHuriHash.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAc,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAGnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD;;GAEG;AACH,MAAM,WAAW,GAAG,CAClB,UAA0B,EAC1B,OAAgB,EAChB,OAA8B,
|
|
1
|
+
{"version":3,"file":"useHuriHash.js","sourceRoot":"","sources":["../../../src/hooks/useHuriHash.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAc,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAGnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD;;GAEG;AACH,MAAM,WAAW,GAAG,CAClB,UAA0B,EAC1B,OAAgB,EAChB,OAA8B,EAC+D,EAAE;IAC/F,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,UAA0B,EAAE,EAAE;QACtD,IAAI,UAAU,EAAE;YACd,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;gBAClC,OAAO,UAAU,CAAA;aAClB;YACD,IAAI,UAAU,YAAY,IAAI,EAAE;gBAC9B,OAAO,UAAU,CAAC,IAAI,CAAA;aACvB;SACF;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAA;IAElC,0EAA0E;IAC1E,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;IAE3D,kDAAkD;IAClD,MAAM,CAAC,WAAW,EAAE,mBAAmB,EAAE,YAAY,EAAE,eAAe,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAEpH,OAAO,CAAC,OAAO,IAAI,WAAW,EAAE,mBAAmB,EAAE,QAAQ,IAAI,YAAY,EAAE,eAAe,CAAC,CAAA;AACjG,CAAC,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { XyoApiError } from '@xyo-network/api';
|
|
2
2
|
import { XyoPayload } from '@xyo-network/payload';
|
|
3
3
|
import { FetchHuriHashOptions } from './lib';
|
|
4
|
-
declare const useResolveHuri: (huriUri?: string, dependentNotFound?: boolean, options?: FetchHuriHashOptions) => [XyoPayload | undefined, boolean, XyoApiError | undefined, boolean | undefined];
|
|
4
|
+
declare const useResolveHuri: (huriUri?: string, dependentNotFound?: boolean, options?: FetchHuriHashOptions) => [XyoPayload | undefined, boolean | undefined, XyoApiError | undefined, boolean | undefined];
|
|
5
5
|
export { useResolveHuri };
|
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
import { useAsyncEffect } from '@xylabs/react-shared';
|
|
2
2
|
import { Huri } from '@xyo-network/payload';
|
|
3
3
|
import { useNetwork } from '@xyo-network/react-network';
|
|
4
|
-
import { useState } from 'react';
|
|
4
|
+
import { useEffect, useState } from 'react';
|
|
5
5
|
import { findHuriNetwork } from './lib';
|
|
6
6
|
const useResolveHuri = (huriUri, dependentNotFound, options) => {
|
|
7
7
|
const { network, networks, setNetwork } = useNetwork();
|
|
8
8
|
const [huriPayload, setHuriPayload] = useState();
|
|
9
|
-
const [huriPayloadNotFound, setHuriPayloadNotFound] = useState(
|
|
9
|
+
const [huriPayloadNotFound, setHuriPayloadNotFound] = useState();
|
|
10
10
|
const [huriNetworkNotFound, setHuriNetworkNotFound] = useState();
|
|
11
11
|
const [huriApiError, setHuriApiError] = useState();
|
|
12
12
|
const { changeActiveNetwork } = options ?? {};
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
// Initially, sync local not found with dependent's status
|
|
15
|
+
setHuriPayloadNotFound(dependentNotFound);
|
|
16
|
+
}, [dependentNotFound]);
|
|
13
17
|
useAsyncEffect(
|
|
14
18
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
15
19
|
async (mounted) => {
|
|
20
|
+
// if dependent value is resolved, don't do anything, if not resolved, try to resolve huriUri
|
|
16
21
|
if ((dependentNotFound === undefined || dependentNotFound) && huriUri) {
|
|
17
22
|
const huriInstance = new Huri(huriUri);
|
|
18
23
|
const foundHuriNetwork = findHuriNetwork(huriInstance, networks);
|
|
@@ -43,12 +48,6 @@ const useResolveHuri = (huriUri, dependentNotFound, options) => {
|
|
|
43
48
|
setHuriNetworkNotFound(true);
|
|
44
49
|
}
|
|
45
50
|
}
|
|
46
|
-
else {
|
|
47
|
-
// If the dependent is not found, then assume not found till proven otherwise
|
|
48
|
-
if (dependentNotFound) {
|
|
49
|
-
setHuriPayloadNotFound(true);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
51
|
}, [huriUri, network, networks, dependentNotFound, setNetwork, changeActiveNetwork]);
|
|
53
52
|
return [huriPayload, huriPayloadNotFound, huriApiError, huriNetworkNotFound];
|
|
54
53
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useResolveHuri.js","sourceRoot":"","sources":["../../../src/hooks/useResolveHuri.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,IAAI,EAAc,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"useResolveHuri.js","sourceRoot":"","sources":["../../../src/hooks/useResolveHuri.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,IAAI,EAAc,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAwB,eAAe,EAAE,MAAM,OAAO,CAAA;AAE7D,MAAM,cAAc,GAAG,CACrB,OAAgB,EAChB,iBAA2B,EAC3B,OAA8B,EAC+D,EAAE;IAC/F,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAAA;IACtD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,EAAc,CAAA;IAC5D,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,EAAW,CAAA;IACzE,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,EAAW,CAAA;IACzE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,EAAe,CAAA;IAE/D,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,0DAA0D;QAC1D,sBAAsB,CAAC,iBAAiB,CAAC,CAAA;IAC3C,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAEvB,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,6FAA6F;QAC7F,IAAI,CAAC,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,CAAC,IAAI,OAAO,EAAE;YACrE,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAA;YAEtC,MAAM,gBAAgB,GAAG,eAAe,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;YAEhE,IAAI,gBAAgB,IAAI,OAAO,EAAE,EAAE;gBACjC,IAAI,OAAO,KAAK,gBAAgB,IAAI,mBAAmB,EAAE;oBACvD,UAAU,EAAE,CAAC,gBAAgB,CAAC,CAAA;oBAC9B,OAAM;iBACP;gBAED,IAAI;oBACF,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,CAAA;oBAC9C,IAAI,OAAO,EAAE,EAAE;wBACb,IAAI,WAAW,EAAE;4BACf,cAAc,CAAC,WAAW,CAAC,CAAA;4BAC3B,sBAAsB,CAAC,KAAK,CAAC,CAAA;yBAC9B;6BAAM;4BACL,sBAAsB,CAAC,IAAI,CAAC,CAAA;yBAC7B;qBACF;iBACF;gBAAC,OAAO,CAAC,EAAE;oBACV,IAAI,OAAO,EAAE,EAAE;wBACb,eAAe,CAAC,CAAgB,CAAC,CAAA;qBAClC;iBACF;aACF;iBAAM;gBACL,sBAAsB,CAAC,IAAI,CAAC,CAAA;aAC7B;SACF;IACH,CAAC,EACD,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,UAAU,EAAE,mBAAmB,CAAC,CACjF,CAAA;IAED,OAAO,CAAC,WAAW,EAAE,mBAAmB,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAA;AAC9E,CAAC,CAAA;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
|
package/package.json
CHANGED
|
@@ -21,13 +21,13 @@
|
|
|
21
21
|
"@xyo-network/api": "^2.21.14",
|
|
22
22
|
"@xyo-network/network": "^2.21.14",
|
|
23
23
|
"@xyo-network/payload": "^2.21.14",
|
|
24
|
-
"@xyo-network/react-archive": "^2.26.
|
|
25
|
-
"@xyo-network/react-archivist-api": "^2.26.
|
|
26
|
-
"@xyo-network/react-auth-service": "^2.26.
|
|
27
|
-
"@xyo-network/react-network": "^2.26.
|
|
28
|
-
"@xyo-network/react-property": "^2.26.
|
|
29
|
-
"@xyo-network/react-schema": "^2.26.
|
|
30
|
-
"@xyo-network/react-shared": "^2.26.
|
|
24
|
+
"@xyo-network/react-archive": "^2.26.11",
|
|
25
|
+
"@xyo-network/react-archivist-api": "^2.26.11",
|
|
26
|
+
"@xyo-network/react-auth-service": "^2.26.11",
|
|
27
|
+
"@xyo-network/react-network": "^2.26.11",
|
|
28
|
+
"@xyo-network/react-property": "^2.26.11",
|
|
29
|
+
"@xyo-network/react-schema": "^2.26.11",
|
|
30
|
+
"@xyo-network/react-shared": "^2.26.11",
|
|
31
31
|
"@xyo-network/utils": "^2.21.14",
|
|
32
32
|
"luxon": "^2.4.0",
|
|
33
33
|
"react": "^18.2.0",
|
|
@@ -94,6 +94,6 @@
|
|
|
94
94
|
},
|
|
95
95
|
"sideEffects": false,
|
|
96
96
|
"types": "dist/esm/index.d.ts",
|
|
97
|
-
"version": "2.26.
|
|
97
|
+
"version": "2.26.11",
|
|
98
98
|
"packageManager": "yarn@3.1.1"
|
|
99
99
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/* eslint-disable import/no-internal-modules */
|
|
2
2
|
import { Alert, Typography } from '@mui/material'
|
|
3
3
|
import { ComponentStory, Meta } from '@storybook/react'
|
|
4
|
-
import {
|
|
4
|
+
import { ButtonEx } from '@xylabs/react-button'
|
|
5
|
+
import { FlexCol, FlexRow } from '@xylabs/react-flexbox'
|
|
5
6
|
import { Huri } from '@xyo-network/payload'
|
|
6
7
|
import { ArchivistApiProvider } from '@xyo-network/react-archivist-api'
|
|
7
8
|
import { NetworkMemoryProvider } from '@xyo-network/react-network'
|
|
8
9
|
import { XyoSchemaCache } from '@xyo-network/utils'
|
|
9
|
-
import { lazy, Suspense } from 'react'
|
|
10
|
+
import { lazy, Suspense, useState } from 'react'
|
|
10
11
|
|
|
11
12
|
import { FetchHuriHashOptions } from './lib'
|
|
12
13
|
import { useHuriHash } from './useHuriHash'
|
|
@@ -17,6 +18,7 @@ interface UseHuriHashComponentProps {
|
|
|
17
18
|
huriOrHash: string | Huri
|
|
18
19
|
huriUri?: string
|
|
19
20
|
options?: FetchHuriHashOptions
|
|
21
|
+
reTestable?: boolean
|
|
20
22
|
}
|
|
21
23
|
|
|
22
24
|
const apiDomain = 'https://beta.api.archivist.xyo.network'
|
|
@@ -34,14 +36,25 @@ const Wrapper: React.FC<UseHuriHashComponentProps> = (props) => (
|
|
|
34
36
|
</NetworkMemoryProvider>
|
|
35
37
|
)
|
|
36
38
|
|
|
37
|
-
const UseHuriHashComponent: React.FC<UseHuriHashComponentProps> = ({ huriOrHash, huriUri, options }) => {
|
|
38
|
-
const [
|
|
39
|
+
const UseHuriHashComponent: React.FC<UseHuriHashComponentProps> = ({ huriOrHash, huriUri, options, reTestable }) => {
|
|
40
|
+
const [trigger, setTrigger] = useState<string | Huri>(huriOrHash)
|
|
41
|
+
const [payload, notFound, , networkNotFound] = useHuriHash(trigger, huriUri, options)
|
|
39
42
|
|
|
40
43
|
return (
|
|
41
44
|
<>
|
|
42
45
|
<Typography variant="body1" fontWeight="bold">
|
|
43
46
|
Fetches the payload for a huriOrHash.
|
|
44
47
|
</Typography>
|
|
48
|
+
{reTestable ? (
|
|
49
|
+
<FlexRow columnGap={2}>
|
|
50
|
+
<ButtonEx variant="contained" onClick={() => setTrigger(hash)}>
|
|
51
|
+
Fetch Valid Hash
|
|
52
|
+
</ButtonEx>
|
|
53
|
+
<ButtonEx variant="contained" onClick={() => setTrigger('foo')}>
|
|
54
|
+
Hash Not Found
|
|
55
|
+
</ButtonEx>
|
|
56
|
+
</FlexRow>
|
|
57
|
+
) : null}
|
|
45
58
|
<FlexCol my={3}>
|
|
46
59
|
{notFound ? <Alert severity="warning">Not Found</Alert> : null}
|
|
47
60
|
{networkNotFound ? <Alert severity="warning">Network Not Found</Alert> : null}
|
|
@@ -72,7 +85,7 @@ const Default = Template.bind({})
|
|
|
72
85
|
Default.args = { huriOrHash: hash }
|
|
73
86
|
|
|
74
87
|
const NotFound = Template.bind({})
|
|
75
|
-
NotFound.args = { huriOrHash: 'foo' }
|
|
88
|
+
NotFound.args = { huriOrHash: 'foo', reTestable: true }
|
|
76
89
|
|
|
77
90
|
const WithHuri = Template.bind({})
|
|
78
91
|
WithHuri.args = { huriOrHash: new Huri(`${apiDomain}/${hash}`) }
|
|
@@ -13,7 +13,7 @@ const useHuriHash = (
|
|
|
13
13
|
huriOrHash?: string | Huri,
|
|
14
14
|
huriUri?: string,
|
|
15
15
|
options?: FetchHuriHashOptions
|
|
16
|
-
): [XyoPayload | undefined, boolean, XyoApiError | undefined, boolean | undefined] => {
|
|
16
|
+
): [XyoPayload | undefined, boolean | undefined, XyoApiError | undefined, boolean | undefined] => {
|
|
17
17
|
const hash = useCallback((huriOrHash?: string | Huri) => {
|
|
18
18
|
if (huriOrHash) {
|
|
19
19
|
if (typeof huriOrHash === 'string') {
|
|
@@ -2,7 +2,7 @@ import { useAsyncEffect } from '@xylabs/react-shared'
|
|
|
2
2
|
import { XyoApiError } from '@xyo-network/api'
|
|
3
3
|
import { Huri, XyoPayload } from '@xyo-network/payload'
|
|
4
4
|
import { useNetwork } from '@xyo-network/react-network'
|
|
5
|
-
import { useState } from 'react'
|
|
5
|
+
import { useEffect, useState } from 'react'
|
|
6
6
|
|
|
7
7
|
import { FetchHuriHashOptions, findHuriNetwork } from './lib'
|
|
8
8
|
|
|
@@ -10,18 +10,24 @@ const useResolveHuri = (
|
|
|
10
10
|
huriUri?: string,
|
|
11
11
|
dependentNotFound?: boolean,
|
|
12
12
|
options?: FetchHuriHashOptions
|
|
13
|
-
): [XyoPayload | undefined, boolean, XyoApiError | undefined, boolean | undefined] => {
|
|
13
|
+
): [XyoPayload | undefined, boolean | undefined, XyoApiError | undefined, boolean | undefined] => {
|
|
14
14
|
const { network, networks, setNetwork } = useNetwork()
|
|
15
15
|
const [huriPayload, setHuriPayload] = useState<XyoPayload>()
|
|
16
|
-
const [huriPayloadNotFound, setHuriPayloadNotFound] = useState(
|
|
16
|
+
const [huriPayloadNotFound, setHuriPayloadNotFound] = useState<boolean>()
|
|
17
17
|
const [huriNetworkNotFound, setHuriNetworkNotFound] = useState<boolean>()
|
|
18
18
|
const [huriApiError, setHuriApiError] = useState<XyoApiError>()
|
|
19
19
|
|
|
20
20
|
const { changeActiveNetwork } = options ?? {}
|
|
21
21
|
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
// Initially, sync local not found with dependent's status
|
|
24
|
+
setHuriPayloadNotFound(dependentNotFound)
|
|
25
|
+
}, [dependentNotFound])
|
|
26
|
+
|
|
22
27
|
useAsyncEffect(
|
|
23
28
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
24
29
|
async (mounted) => {
|
|
30
|
+
// if dependent value is resolved, don't do anything, if not resolved, try to resolve huriUri
|
|
25
31
|
if ((dependentNotFound === undefined || dependentNotFound) && huriUri) {
|
|
26
32
|
const huriInstance = new Huri(huriUri)
|
|
27
33
|
|
|
@@ -51,11 +57,6 @@ const useResolveHuri = (
|
|
|
51
57
|
} else {
|
|
52
58
|
setHuriNetworkNotFound(true)
|
|
53
59
|
}
|
|
54
|
-
} else {
|
|
55
|
-
// If the dependent is not found, then assume not found till proven otherwise
|
|
56
|
-
if (dependentNotFound) {
|
|
57
|
-
setHuriPayloadNotFound(true)
|
|
58
|
-
}
|
|
59
60
|
}
|
|
60
61
|
},
|
|
61
62
|
[huriUri, network, networks, dependentNotFound, setNetwork, changeActiveNetwork]
|