@xyo-network/react-api 2.40.12 → 2.40.14

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.
@@ -1,8 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { XyoRemoteAddressHistoryDiviner } from '@xyo-network/api';
2
+ import { WithChildren } from '@xylabs/react-shared';
3
3
  import { ContextExProviderProps } from '@xyo-network/react-shared';
4
- export declare type AddressHistoryDivinerProviderProps = ContextExProviderProps<{
5
- diviner?: XyoRemoteAddressHistoryDiviner;
6
- }>;
7
- export declare const AddressHistoryDivinerProvider: React.FC<AddressHistoryDivinerProviderProps>;
4
+ export declare const AddressHistoryDivinerProvider: React.FC<WithChildren<ContextExProviderProps>>;
8
5
  //# sourceMappingURL=Provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../../src/address/contexts/HistoryDiviner/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAKlE,oBAAY,kCAAkC,GAAG,sBAAsB,CAAC;IACtE,OAAO,CAAC,EAAE,8BAA8B,CAAA;CACzC,CAAC,CAAA;AAEF,eAAO,MAAM,6BAA6B,EAAE,KAAK,CAAC,EAAE,CAAC,kCAAkC,CA4BtF,CAAA"}
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../../src/address/contexts/HistoryDiviner/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAMlE,eAAO,MAAM,6BAA6B,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAiCxF,CAAA"}
@@ -1,23 +1,29 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useEffect, useState } from 'react';
2
+ import { useAsyncEffect } from '@xylabs/react-shared';
3
+ import { XyoRemoteAddressHistoryDiviner } from '@xyo-network/api';
4
+ import { useState } from 'react';
5
+ import { useApi } from '../../../contexts';
3
6
  import { AddressHistoryDivinerContext } from './Context';
4
- export const AddressHistoryDivinerProvider = ({ diviner: divinerProp, required = false, children }) => {
5
- const [diviner, setDiviner] = useState(divinerProp);
6
- useEffect(() => {
7
- if (divinerProp) {
8
- setDiviner(divinerProp);
7
+ export const AddressHistoryDivinerProvider = ({ required = false, children }) => {
8
+ const [diviner, setDiviner] = useState();
9
+ const { api } = useApi();
10
+ useAsyncEffect(
11
+ // eslint-disable-next-line react-hooks/exhaustive-deps
12
+ async (mounted) => {
13
+ if (api) {
14
+ const diviner = await XyoRemoteAddressHistoryDiviner.create({
15
+ api,
16
+ config: {
17
+ schema: XyoRemoteAddressHistoryDiviner.configSchema,
18
+ },
19
+ });
20
+ if (mounted()) {
21
+ setDiviner?.(diviner);
22
+ }
9
23
  }
10
- }, [divinerProp, setDiviner]);
11
- const resolveDiviner = () => {
12
- if (divinerProp) {
13
- return diviner === divinerProp ? diviner : undefined;
14
- }
15
- else {
16
- return diviner;
17
- }
18
- };
24
+ }, [api, setDiviner]);
19
25
  return (_jsx(AddressHistoryDivinerContext.Provider, { value: {
20
- diviner: resolveDiviner(),
26
+ diviner,
21
27
  provided: true,
22
28
  setDiviner,
23
29
  }, children: diviner ? children : required ? null : children }));
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../../src/address/contexts/HistoryDiviner/Provider.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAA;AAMxD,MAAM,CAAC,MAAM,6BAA6B,GAAiD,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAClJ,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAA6C,WAAW,CAAC,CAAA;IAE/F,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,EAAE;YACf,UAAU,CAAC,WAAW,CAAC,CAAA;SACxB;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAA;IAE7B,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,IAAI,WAAW,EAAE;YACf,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;SACrD;aAAM;YACL,OAAO,OAAO,CAAA;SACf;IACH,CAAC,CAAA;IAED,OAAO,CACL,KAAC,4BAA4B,CAAC,QAAQ,IACpC,KAAK,EAAE;YACL,OAAO,EAAE,cAAc,EAAE;YACzB,QAAQ,EAAE,IAAI;YACd,UAAU;SACX,YAEA,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GACV,CACzC,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../../src/address/contexts/HistoryDiviner/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAgB,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAA;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAA;AAExD,MAAM,CAAC,MAAM,6BAA6B,GAAmD,CAAC,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC9H,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAA8C,CAAA;IACpF,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAAA;IAExB,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,IAAI,GAAG,EAAE;YACP,MAAM,OAAO,GAAG,MAAM,8BAA8B,CAAC,MAAM,CAAC;gBAC1D,GAAG;gBACH,MAAM,EAAE;oBACN,MAAM,EAAE,8BAA8B,CAAC,YAAY;iBACpD;aACF,CAAC,CAAA;YACF,IAAI,OAAO,EAAE,EAAE;gBACb,UAAU,EAAE,CAAC,OAAO,CAAC,CAAA;aACtB;SACF;IACH,CAAC,EACD,CAAC,GAAG,EAAE,UAAU,CAAC,CAClB,CAAA;IAED,OAAO,CACL,KAAC,4BAA4B,CAAC,QAAQ,IACpC,KAAK,EAAE;YACL,OAAO;YACP,QAAQ,EAAE,IAAI;YACd,UAAU;SACX,YAEA,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GACV,CACzC,CAAA;AACH,CAAC,CAAA"}
@@ -1,3 +1,4 @@
1
1
  import { XyoBoundWitness } from '@xyo-network/boundwitness';
2
- export declare const useDivineAddressHistory: (address?: string) => [XyoBoundWitness[] | undefined, Error | undefined, () => void];
2
+ import { XyoError } from '@xyo-network/module';
3
+ export declare const useDivineAddressHistory: (address?: string) => [XyoBoundWitness[] | undefined, XyoError | undefined, () => void];
3
4
  //# sourceMappingURL=useDiviner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDiviner.d.ts","sourceRoot":"","sources":["../../../../../src/address/contexts/HistoryDiviner/useDiviner.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAO3D,eAAO,MAAM,uBAAuB,aAAc,MAAM,KAAG,CAAC,eAAe,EAAE,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,EAAE,MAAM,IAAI,CA2BvH,CAAA"}
1
+ {"version":3,"file":"useDiviner.d.ts","sourceRoot":"","sources":["../../../../../src/address/contexts/HistoryDiviner/useDiviner.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAM9C,eAAO,MAAM,uBAAuB,aAAc,MAAM,KAAG,CAAC,eAAe,EAAE,GAAG,SAAS,EAAE,QAAQ,GAAG,SAAS,EAAE,MAAM,IAAI,CA2B1H,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDiviner.js","sourceRoot":"","sources":["../../../../../src/address/contexts/HistoryDiviner/useDiviner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAA;AAEhD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAgB,EAAkE,EAAE;IAC1H,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAAqB,CAAA;IACzD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;IAC3C,MAAM,EAAE,OAAO,EAAE,GAAG,wBAAwB,EAAE,CAAA;IAC9C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAEzC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;IAEnE,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,IAAI,OAAO,IAAI,OAAO,EAAE;YACtB,IAAI;gBACF,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;gBACvG,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAsB,CAAA;gBAC3F,IAAI,OAAO,EAAE,IAAI,MAAM,EAAE;oBACvB,SAAS,CAAC,MAAM,CAAC,CAAA;iBAClB;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,QAAQ,CAAC,CAAU,CAAC,CAAA;aACrB;SACF;IACH,CAAC,EACD,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAC5B,CAAA;IAED,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;AACxC,CAAC,CAAA"}
1
+ {"version":3,"file":"useDiviner.js","sourceRoot":"","sources":["../../../../../src/address/contexts/HistoryDiviner/useDiviner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAA;AAEhD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAgB,EAAqE,EAAE;IAC7H,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAAqB,CAAA;IACzD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAY,CAAA;IAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,wBAAwB,EAAE,CAAA;IAC9C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAEzC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;IAEnE,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,IAAI,OAAO,IAAI,OAAO,EAAE;YACtB,IAAI;gBACF,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;gBACvG,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAsB,CAAA;gBAC3F,IAAI,OAAO,EAAE,IAAI,MAAM,EAAE;oBACvB,SAAS,CAAC,MAAM,CAAC,CAAA;iBAClB;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,QAAQ,CAAC,CAAa,CAAC,CAAA;aACxB;SACF;IACH,CAAC,EACD,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAC5B,CAAA;IAED,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;AACxC,CAAC,CAAA"}
package/package.json CHANGED
@@ -15,9 +15,9 @@
15
15
  "@xylabs/react-flexbox": "^2.15.1",
16
16
  "@xylabs/react-shared": "^2.15.1",
17
17
  "@xyo-network/api-models": "^2.40.1",
18
- "@xyo-network/react-archivist": "^2.40.12",
19
- "@xyo-network/react-network": "^2.40.12",
20
- "@xyo-network/react-shared": "^2.40.12",
18
+ "@xyo-network/react-archivist": "^2.40.14",
19
+ "@xyo-network/react-network": "^2.40.14",
20
+ "@xyo-network/react-shared": "^2.40.14",
21
21
  "lodash": "^4.17.21",
22
22
  "react-json-view": "^1.21.3",
23
23
  "tslib": "^2.4.1"
@@ -110,5 +110,5 @@
110
110
  },
111
111
  "sideEffects": false,
112
112
  "types": "dist/esm/index.d.ts",
113
- "version": "2.40.12"
113
+ "version": "2.40.14"
114
114
  }
@@ -1,34 +1,37 @@
1
+ import { useAsyncEffect, WithChildren } from '@xylabs/react-shared'
1
2
  import { XyoRemoteAddressHistoryDiviner } from '@xyo-network/api'
2
3
  import { ContextExProviderProps } from '@xyo-network/react-shared'
3
- import { useEffect, useState } from 'react'
4
+ import { useState } from 'react'
4
5
 
6
+ import { useApi } from '../../../contexts'
5
7
  import { AddressHistoryDivinerContext } from './Context'
6
8
 
7
- export type AddressHistoryDivinerProviderProps = ContextExProviderProps<{
8
- diviner?: XyoRemoteAddressHistoryDiviner
9
- }>
9
+ export const AddressHistoryDivinerProvider: React.FC<WithChildren<ContextExProviderProps>> = ({ required = false, children }) => {
10
+ const [diviner, setDiviner] = useState<XyoRemoteAddressHistoryDiviner | undefined>()
11
+ const { api } = useApi()
10
12
 
11
- export const AddressHistoryDivinerProvider: React.FC<AddressHistoryDivinerProviderProps> = ({ diviner: divinerProp, required = false, children }) => {
12
- const [diviner, setDiviner] = useState<XyoRemoteAddressHistoryDiviner | undefined>(divinerProp)
13
-
14
- useEffect(() => {
15
- if (divinerProp) {
16
- setDiviner(divinerProp)
17
- }
18
- }, [divinerProp, setDiviner])
19
-
20
- const resolveDiviner = () => {
21
- if (divinerProp) {
22
- return diviner === divinerProp ? diviner : undefined
23
- } else {
24
- return diviner
25
- }
26
- }
13
+ useAsyncEffect(
14
+ // eslint-disable-next-line react-hooks/exhaustive-deps
15
+ async (mounted) => {
16
+ if (api) {
17
+ const diviner = await XyoRemoteAddressHistoryDiviner.create({
18
+ api,
19
+ config: {
20
+ schema: XyoRemoteAddressHistoryDiviner.configSchema,
21
+ },
22
+ })
23
+ if (mounted()) {
24
+ setDiviner?.(diviner)
25
+ }
26
+ }
27
+ },
28
+ [api, setDiviner],
29
+ )
27
30
 
28
31
  return (
29
32
  <AddressHistoryDivinerContext.Provider
30
33
  value={{
31
- diviner: resolveDiviner(),
34
+ diviner,
32
35
  provided: true,
33
36
  setDiviner,
34
37
  }}
@@ -2,14 +2,15 @@ import { useAsyncEffect } from '@xylabs/react-shared'
2
2
  import { AddressHistoryQuerySchema } from '@xyo-network/api'
3
3
  import { XyoBoundWitness } from '@xyo-network/boundwitness'
4
4
  import { XyoDivinerWrapper } from '@xyo-network/diviner'
5
+ import { XyoError } from '@xyo-network/module'
5
6
  import { XyoPayloadBuilder } from '@xyo-network/payload'
6
7
  import { useState } from 'react'
7
8
 
8
9
  import { useAddressHistoryDiviner } from './use'
9
10
 
10
- export const useDivineAddressHistory = (address?: string): [XyoBoundWitness[] | undefined, Error | undefined, () => void] => {
11
+ export const useDivineAddressHistory = (address?: string): [XyoBoundWitness[] | undefined, XyoError | undefined, () => void] => {
11
12
  const [blocks, setBlocks] = useState<XyoBoundWitness[]>()
12
- const [error, setError] = useState<Error>()
13
+ const [error, setError] = useState<XyoError>()
13
14
  const { diviner } = useAddressHistoryDiviner()
14
15
  const [refresh, setRefresh] = useState(1)
15
16
 
@@ -26,7 +27,7 @@ export const useDivineAddressHistory = (address?: string): [XyoBoundWitness[] |
26
27
  setBlocks(result)
27
28
  }
28
29
  } catch (e) {
29
- setError(e as Error)
30
+ setError(e as XyoError)
30
31
  }
31
32
  }
32
33
  },