@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.
@@ -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,EACmD,EAAE;IACnF,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
+ {"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(false);
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;AAEhC,OAAO,EAAwB,eAAe,EAAE,MAAM,OAAO,CAAA;AAE7D,MAAM,cAAc,GAAG,CACrB,OAAgB,EAChB,iBAA2B,EAC3B,OAA8B,EACmD,EAAE;IACnF,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,CAAC,KAAK,CAAC,CAAA;IACrE,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,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,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;aAAM;YACL,6EAA6E;YAC7E,IAAI,iBAAiB,EAAE;gBACrB,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"}
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.10",
25
- "@xyo-network/react-archivist-api": "^2.26.10",
26
- "@xyo-network/react-auth-service": "^2.26.10",
27
- "@xyo-network/react-network": "^2.26.10",
28
- "@xyo-network/react-property": "^2.26.10",
29
- "@xyo-network/react-schema": "^2.26.10",
30
- "@xyo-network/react-shared": "^2.26.10",
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.10",
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 { FlexCol } from '@xylabs/react-flexbox'
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 [payload, notFound, _, networkNotFound] = useHuriHash(huriOrHash, huriUri, options)
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(false)
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]