@xyo-network/react-payload-diviner 2.32.0-rc.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/LICENSE +165 -0
- package/README.md +70 -0
- package/dist/cjs/contexts/DivinedPayload/Context.d.ts +4 -0
- package/dist/cjs/contexts/DivinedPayload/Context.d.ts.map +1 -0
- package/dist/cjs/contexts/DivinedPayload/Context.js +6 -0
- package/dist/cjs/contexts/DivinedPayload/Context.js.map +1 -0
- package/dist/cjs/contexts/DivinedPayload/Provider.d.ts +10 -0
- package/dist/cjs/contexts/DivinedPayload/Provider.d.ts.map +1 -0
- package/dist/cjs/contexts/DivinedPayload/Provider.js +34 -0
- package/dist/cjs/contexts/DivinedPayload/Provider.js.map +1 -0
- package/dist/cjs/contexts/DivinedPayload/State.d.ts +9 -0
- package/dist/cjs/contexts/DivinedPayload/State.d.ts.map +1 -0
- package/dist/cjs/contexts/DivinedPayload/State.js +3 -0
- package/dist/cjs/contexts/DivinedPayload/State.js.map +1 -0
- package/dist/cjs/contexts/DivinedPayload/hooks/index.d.ts +2 -0
- package/dist/cjs/contexts/DivinedPayload/hooks/index.d.ts.map +1 -0
- package/dist/cjs/contexts/DivinedPayload/hooks/index.js +5 -0
- package/dist/cjs/contexts/DivinedPayload/hooks/index.js.map +1 -0
- package/dist/cjs/contexts/DivinedPayload/hooks/useBuildHuri.d.ts +2 -0
- package/dist/cjs/contexts/DivinedPayload/hooks/useBuildHuri.d.ts.map +1 -0
- package/dist/cjs/contexts/DivinedPayload/hooks/useBuildHuri.js +15 -0
- package/dist/cjs/contexts/DivinedPayload/hooks/useBuildHuri.js.map +1 -0
- package/dist/cjs/contexts/DivinedPayload/index.d.ts +4 -0
- package/dist/cjs/contexts/DivinedPayload/index.d.ts.map +1 -0
- package/dist/cjs/contexts/DivinedPayload/index.js +7 -0
- package/dist/cjs/contexts/DivinedPayload/index.js.map +1 -0
- package/dist/cjs/contexts/DivinedPayload/use.d.ts +2 -0
- package/dist/cjs/contexts/DivinedPayload/use.d.ts.map +1 -0
- package/dist/cjs/contexts/DivinedPayload/use.js +8 -0
- package/dist/cjs/contexts/DivinedPayload/use.js.map +1 -0
- package/dist/cjs/contexts/PayloadDiviner/Context.d.ts +5 -0
- package/dist/cjs/contexts/PayloadDiviner/Context.d.ts.map +1 -0
- package/dist/cjs/contexts/PayloadDiviner/Context.js +7 -0
- package/dist/cjs/contexts/PayloadDiviner/Context.js.map +1 -0
- package/dist/cjs/contexts/PayloadDiviner/Provider.d.ts +9 -0
- package/dist/cjs/contexts/PayloadDiviner/Provider.d.ts.map +1 -0
- package/dist/cjs/contexts/PayloadDiviner/Provider.js +21 -0
- package/dist/cjs/contexts/PayloadDiviner/Provider.js.map +1 -0
- package/dist/cjs/contexts/PayloadDiviner/State.d.ts +7 -0
- package/dist/cjs/contexts/PayloadDiviner/State.d.ts.map +1 -0
- package/dist/cjs/contexts/PayloadDiviner/State.js +3 -0
- package/dist/cjs/contexts/PayloadDiviner/State.js.map +1 -0
- package/dist/cjs/contexts/PayloadDiviner/index.d.ts +5 -0
- package/dist/cjs/contexts/PayloadDiviner/index.d.ts.map +1 -0
- package/dist/cjs/contexts/PayloadDiviner/index.js +8 -0
- package/dist/cjs/contexts/PayloadDiviner/index.js.map +1 -0
- package/dist/cjs/contexts/PayloadDiviner/use.d.ts +25 -0
- package/dist/cjs/contexts/PayloadDiviner/use.d.ts.map +1 -0
- package/dist/cjs/contexts/PayloadDiviner/use.js +79 -0
- package/dist/cjs/contexts/PayloadDiviner/use.js.map +1 -0
- package/dist/cjs/contexts/index.d.ts +3 -0
- package/dist/cjs/contexts/index.d.ts.map +1 -0
- package/dist/cjs/contexts/index.js +6 -0
- package/dist/cjs/contexts/index.js.map +1 -0
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +5 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/docs.json +1163 -0
- package/dist/esm/contexts/DivinedPayload/Context.d.ts +4 -0
- package/dist/esm/contexts/DivinedPayload/Context.d.ts.map +1 -0
- package/dist/esm/contexts/DivinedPayload/Context.js +3 -0
- package/dist/esm/contexts/DivinedPayload/Context.js.map +1 -0
- package/dist/esm/contexts/DivinedPayload/Provider.d.ts +10 -0
- package/dist/esm/contexts/DivinedPayload/Provider.d.ts.map +1 -0
- package/dist/esm/contexts/DivinedPayload/Provider.js +26 -0
- package/dist/esm/contexts/DivinedPayload/Provider.js.map +1 -0
- package/dist/esm/contexts/DivinedPayload/State.d.ts +9 -0
- package/dist/esm/contexts/DivinedPayload/State.d.ts.map +1 -0
- package/dist/esm/contexts/DivinedPayload/State.js +2 -0
- package/dist/esm/contexts/DivinedPayload/State.js.map +1 -0
- package/dist/esm/contexts/DivinedPayload/hooks/index.d.ts +2 -0
- package/dist/esm/contexts/DivinedPayload/hooks/index.d.ts.map +1 -0
- package/dist/esm/contexts/DivinedPayload/hooks/index.js +2 -0
- package/dist/esm/contexts/DivinedPayload/hooks/index.js.map +1 -0
- package/dist/esm/contexts/DivinedPayload/hooks/useBuildHuri.d.ts +2 -0
- package/dist/esm/contexts/DivinedPayload/hooks/useBuildHuri.d.ts.map +1 -0
- package/dist/esm/contexts/DivinedPayload/hooks/useBuildHuri.js +10 -0
- package/dist/esm/contexts/DivinedPayload/hooks/useBuildHuri.js.map +1 -0
- package/dist/esm/contexts/DivinedPayload/index.d.ts +4 -0
- package/dist/esm/contexts/DivinedPayload/index.d.ts.map +1 -0
- package/dist/esm/contexts/DivinedPayload/index.js +4 -0
- package/dist/esm/contexts/DivinedPayload/index.js.map +1 -0
- package/dist/esm/contexts/DivinedPayload/use.d.ts +2 -0
- package/dist/esm/contexts/DivinedPayload/use.d.ts.map +1 -0
- package/dist/esm/contexts/DivinedPayload/use.js +4 -0
- package/dist/esm/contexts/DivinedPayload/use.js.map +1 -0
- package/dist/esm/contexts/PayloadDiviner/Context.d.ts +5 -0
- package/dist/esm/contexts/PayloadDiviner/Context.d.ts.map +1 -0
- package/dist/esm/contexts/PayloadDiviner/Context.js +4 -0
- package/dist/esm/contexts/PayloadDiviner/Context.js.map +1 -0
- package/dist/esm/contexts/PayloadDiviner/Provider.d.ts +9 -0
- package/dist/esm/contexts/PayloadDiviner/Provider.d.ts.map +1 -0
- package/dist/esm/contexts/PayloadDiviner/Provider.js +17 -0
- package/dist/esm/contexts/PayloadDiviner/Provider.js.map +1 -0
- package/dist/esm/contexts/PayloadDiviner/State.d.ts +7 -0
- package/dist/esm/contexts/PayloadDiviner/State.d.ts.map +1 -0
- package/dist/esm/contexts/PayloadDiviner/State.js +2 -0
- package/dist/esm/contexts/PayloadDiviner/State.js.map +1 -0
- package/dist/esm/contexts/PayloadDiviner/index.d.ts +5 -0
- package/dist/esm/contexts/PayloadDiviner/index.d.ts.map +1 -0
- package/dist/esm/contexts/PayloadDiviner/index.js +5 -0
- package/dist/esm/contexts/PayloadDiviner/index.js.map +1 -0
- package/dist/esm/contexts/PayloadDiviner/use.d.ts +25 -0
- package/dist/esm/contexts/PayloadDiviner/use.d.ts.map +1 -0
- package/dist/esm/contexts/PayloadDiviner/use.js +70 -0
- package/dist/esm/contexts/PayloadDiviner/use.js.map +1 -0
- package/dist/esm/contexts/index.d.ts +3 -0
- package/dist/esm/contexts/index.d.ts.map +1 -0
- package/dist/esm/contexts/index.js +3 -0
- package/dist/esm/contexts/index.js.map +1 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -0
- package/package.json +78 -0
- package/src/contexts/DivinedPayload/Context.tsx +5 -0
- package/src/contexts/DivinedPayload/Provider.tsx +46 -0
- package/src/contexts/DivinedPayload/State.ts +9 -0
- package/src/contexts/DivinedPayload/hooks/index.ts +1 -0
- package/src/contexts/DivinedPayload/hooks/useBuildHuri.tsx +12 -0
- package/src/contexts/DivinedPayload/index.ts +3 -0
- package/src/contexts/DivinedPayload/use.ts +5 -0
- package/src/contexts/PayloadDiviner/Context.ts +7 -0
- package/src/contexts/PayloadDiviner/Provider.tsx +32 -0
- package/src/contexts/PayloadDiviner/State.ts +7 -0
- package/src/contexts/PayloadDiviner/index.ts +4 -0
- package/src/contexts/PayloadDiviner/use.ts +95 -0
- package/src/contexts/index.ts +2 -0
- package/src/index.ts +1 -0
- package/src/types/images.d.ts +5 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../../src/contexts/DivinedPayload/Context.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAE7C,eAAO,MAAM,qBAAqB,mGAAyC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../../src/contexts/DivinedPayload/Context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAI3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,EAAuB,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { WithChildren } from '@xylabs/react-shared';
|
|
3
|
+
interface DivinedPayloadProviderProps extends WithChildren {
|
|
4
|
+
hash?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const DivinedPayloadProvider: React.FC<DivinedPayloadProviderProps>;
|
|
7
|
+
export declare const DivinedPayloadWithHandleInner: React.FC<WithChildren>;
|
|
8
|
+
export declare const DivinedPayloadWithHandleProvider: React.FC<DivinedPayloadProviderProps>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=Provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/DivinedPayload/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAUnD,UAAU,2BAA4B,SAAQ,YAAY;IACxD,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAaxE,CAAA;AAED,eAAO,MAAM,6BAA6B,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAQhE,CAAA;AAED,eAAO,MAAM,gCAAgC,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAMlF,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ResultLoader } from '@xyo-network/react-api';
|
|
3
|
+
import { XyoApiErrorRender } from '@xyo-network/react-auth-service';
|
|
4
|
+
import { useParams, useSearchParams } from 'react-router-dom';
|
|
5
|
+
import { useDivinePayload } from '../PayloadDiviner';
|
|
6
|
+
import { DivinedPayloadContext } from './Context';
|
|
7
|
+
import { useBuildHuri } from './hooks';
|
|
8
|
+
import { useDivinedPayload } from './use';
|
|
9
|
+
export const DivinedPayloadProvider = ({ children, hash }) => {
|
|
10
|
+
const { hash: hashParam } = useParams();
|
|
11
|
+
const huriFromHashParam = useBuildHuri(hashParam);
|
|
12
|
+
const [params] = useSearchParams();
|
|
13
|
+
const huriSearchParameter = params.get('huri');
|
|
14
|
+
const decodedHuriParam = decodeURIComponent(huriSearchParameter ?? '');
|
|
15
|
+
const huriUri = hash ?? decodedHuriParam ? decodedHuriParam : huriFromHashParam;
|
|
16
|
+
const [payload, setPayload, payloadError] = useDivinePayload(huriUri);
|
|
17
|
+
return _jsx(DivinedPayloadContext.Provider, { value: { payload, payloadError, provided: true, setPayload }, children: children });
|
|
18
|
+
};
|
|
19
|
+
export const DivinedPayloadWithHandleInner = ({ children }) => {
|
|
20
|
+
const { payload, payloadError } = useDivinedPayload();
|
|
21
|
+
return (_jsx(ResultLoader, { searchResult: payload, apiError: payloadError, notFound: payload === null, children: _jsx(XyoApiErrorRender, { apiError: payloadError, children: children }) }));
|
|
22
|
+
};
|
|
23
|
+
export const DivinedPayloadWithHandleProvider = ({ children, ...props }) => {
|
|
24
|
+
return (_jsx(DivinedPayloadProvider, { ...props, children: _jsx(DivinedPayloadWithHandleInner, { children: children }) }));
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=Provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/contexts/DivinedPayload/Provider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAMzC,MAAM,CAAC,MAAM,sBAAsB,GAA0C,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE;IAClG,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAAA;IAEvC,MAAM,iBAAiB,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;IAEjD,MAAM,CAAC,MAAM,CAAC,GAAG,eAAe,EAAE,CAAA;IAClC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC9C,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAA;IACtE,MAAM,OAAO,GAAG,IAAI,IAAI,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAA;IAE/E,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAErE,OAAO,KAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,YAAG,QAAQ,GAAkC,CAAA;AAClJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,6BAA6B,GAA2B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACpF,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,iBAAiB,EAAE,CAAA;IAErD,OAAO,CACL,KAAC,YAAY,IAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,YACrF,KAAC,iBAAiB,IAAC,QAAQ,EAAE,YAAY,YAAG,QAAQ,GAAqB,GAC5D,CAChB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gCAAgC,GAA0C,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAChH,OAAO,CACL,KAAC,sBAAsB,OAAK,KAAK,YAC/B,KAAC,6BAA6B,cAAE,QAAQ,GAAiC,GAClD,CAC1B,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { XyoPayload } from '@xyo-network/payload';
|
|
2
|
+
import { ContextExState } from '@xyo-network/react-shared';
|
|
3
|
+
import { Dispatch } from 'react';
|
|
4
|
+
export interface DivinedPayloadState extends ContextExState {
|
|
5
|
+
payload?: XyoPayload | null;
|
|
6
|
+
setPayload?: Dispatch<XyoPayload | null | undefined>;
|
|
7
|
+
payloadError?: Error;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=State.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../../../src/contexts/DivinedPayload/State.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAC3B,UAAU,CAAC,EAAE,QAAQ,CAAC,UAAU,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;IACpD,YAAY,CAAC,EAAE,KAAK,CAAA;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"State.js","sourceRoot":"","sources":["../../../../src/contexts/DivinedPayload/State.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/contexts/DivinedPayload/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/contexts/DivinedPayload/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBuildHuri.d.ts","sourceRoot":"","sources":["../../../../../src/contexts/DivinedPayload/hooks/useBuildHuri.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,UAAW,MAAM,uBASzC,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useNetwork } from '@xyo-network/react-network';
|
|
2
|
+
export const useBuildHuri = (hash) => {
|
|
3
|
+
const { network } = useNetwork();
|
|
4
|
+
const networkUri = network?.nodes?.find((node) => node.type === 'archivist')?.uri;
|
|
5
|
+
if (!hash) {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
return `${networkUri}/${hash}`;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=useBuildHuri.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBuildHuri.js","sourceRoot":"","sources":["../../../../../src/contexts/DivinedPayload/hooks/useBuildHuri.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAa,EAAE,EAAE;IAC5C,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAA;IAChC,MAAM,UAAU,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,GAAG,CAAA;IAEjF,IAAI,CAAC,IAAI,EAAE;QACT,OAAM;KACP;IAED,OAAO,GAAG,UAAU,IAAI,IAAI,EAAE,CAAA;AAChC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/contexts/DivinedPayload/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,OAAO,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/contexts/DivinedPayload/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,OAAO,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/contexts/DivinedPayload/use.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,iBAAiB,oHAAoE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../src/contexts/DivinedPayload/use.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAEjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,qBAAqB,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { PayloadDivinerState } from './State';
|
|
3
|
+
declare const PayloadDivinerContext: import("react").Context<PayloadDivinerState & import("@xyo-network/react-shared").ContextExState>;
|
|
4
|
+
export { PayloadDivinerContext };
|
|
5
|
+
//# sourceMappingURL=Context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../../src/contexts/PayloadDiviner/Context.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAE7C,QAAA,MAAM,qBAAqB,mGAAyC,CAAA;AAEpE,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../../src/contexts/PayloadDiviner/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAI3D,MAAM,qBAAqB,GAAG,eAAe,EAAuB,CAAA;AAEpE,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { XyoPayloadDiviner } from '@xyo-network/diviner';
|
|
3
|
+
import { ContextExProviderProps } from '@xyo-network/react-shared';
|
|
4
|
+
export declare type PayloadDivinerProviderProps = ContextExProviderProps<{
|
|
5
|
+
/** Required */
|
|
6
|
+
diviner?: XyoPayloadDiviner;
|
|
7
|
+
}>;
|
|
8
|
+
export declare const PayloadDivinerProvider: React.FC<PayloadDivinerProviderProps>;
|
|
9
|
+
//# sourceMappingURL=Provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/PayloadDiviner/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAKlE,oBAAY,2BAA2B,GAAG,sBAAsB,CAAC;IAC/D,eAAe;IACf,OAAO,CAAC,EAAE,iBAAiB,CAAA;CAC5B,CAAC,CAAA;AAEF,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAoBxE,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
import { PayloadDivinerContext } from './Context';
|
|
4
|
+
export const PayloadDivinerProvider = ({ diviner: divinerProp, required = false, children }) => {
|
|
5
|
+
const [diviner, setDiviner] = useState(divinerProp);
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
if (divinerProp) {
|
|
8
|
+
setDiviner(divinerProp);
|
|
9
|
+
}
|
|
10
|
+
}, [divinerProp]);
|
|
11
|
+
return (_jsx(PayloadDivinerContext.Provider, { value: {
|
|
12
|
+
diviner: diviner === divinerProp ? diviner : undefined,
|
|
13
|
+
provided: true,
|
|
14
|
+
setDiviner,
|
|
15
|
+
}, children: diviner ? children : required ? null : children }));
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=Provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/contexts/PayloadDiviner/Provider.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAOjD,MAAM,CAAC,MAAM,sBAAsB,GAA0C,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IACpI,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAgC,WAAW,CAAC,CAAA;IAElF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,EAAE;YACf,UAAU,CAAC,WAAW,CAAC,CAAA;SACxB;IACH,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,OAAO,CACL,KAAC,qBAAqB,CAAC,QAAQ,IAC7B,KAAK,EAAE;YACL,OAAO,EAAE,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YACtD,QAAQ,EAAE,IAAI;YACd,UAAU;SACX,YAEA,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GACjB,CAClC,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../../../src/contexts/PayloadDiviner/State.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,UAAU,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAA;CACzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"State.js","sourceRoot":"","sources":["../../../../src/contexts/PayloadDiviner/State.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/contexts/PayloadDiviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/contexts/PayloadDiviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Dispatch } from 'react';
|
|
2
|
+
export declare const usePayloadDiviner: (required?: boolean) => Omit<import("./State").PayloadDivinerState & import("@xyo-network/react-shared").ContextExState, "provided">;
|
|
3
|
+
export declare const useDivinePayload: <T extends {
|
|
4
|
+
schema: string;
|
|
5
|
+
previousHash?: string | undefined;
|
|
6
|
+
sources?: string[] | undefined;
|
|
7
|
+
timestamp?: number | undefined;
|
|
8
|
+
} = {
|
|
9
|
+
schema: string;
|
|
10
|
+
previousHash?: string | undefined;
|
|
11
|
+
sources?: string[] | undefined;
|
|
12
|
+
timestamp?: number | undefined;
|
|
13
|
+
}>(huri?: string) => [T | null | undefined, Dispatch<T | null | undefined>, Error | undefined];
|
|
14
|
+
export declare const useDivinePayloads: <T extends {
|
|
15
|
+
schema: string;
|
|
16
|
+
previousHash?: string | undefined;
|
|
17
|
+
sources?: string[] | undefined;
|
|
18
|
+
timestamp?: number | undefined;
|
|
19
|
+
} = {
|
|
20
|
+
schema: string;
|
|
21
|
+
previousHash?: string | undefined;
|
|
22
|
+
sources?: string[] | undefined;
|
|
23
|
+
timestamp?: number | undefined;
|
|
24
|
+
}>(huriList: string[]) => [(T | null)[] | undefined, Dispatch<(T | null)[] | undefined>, Error[] | undefined];
|
|
25
|
+
//# sourceMappingURL=use.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/contexts/PayloadDiviner/use.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAuB,MAAM,OAAO,CAAA;AAIrD,eAAO,MAAM,iBAAiB,sIAE7B,CAAA;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;UACpB,MAAM,8EAmCd,CAAA;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;aAClB,MAAM,EAAE,wFA0CnB,CAAA"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { useAsyncEffect } from '@xylabs/react-shared';
|
|
2
|
+
import { XyoDivinerDivineQuerySchema, XyoHuriPayloadSchema } from '@xyo-network/diviner';
|
|
3
|
+
import { useContextEx } from '@xyo-network/react-shared';
|
|
4
|
+
import compact from 'lodash/compact';
|
|
5
|
+
import { useEffect, useState } from 'react';
|
|
6
|
+
import { PayloadDivinerContext } from './Context';
|
|
7
|
+
export const usePayloadDiviner = (required = false) => {
|
|
8
|
+
return useContextEx(PayloadDivinerContext, 'PayloadDiviner', required);
|
|
9
|
+
};
|
|
10
|
+
export const useDivinePayload = (huri) => {
|
|
11
|
+
const { diviner } = usePayloadDiviner();
|
|
12
|
+
const [payload, setPayload] = useState();
|
|
13
|
+
const [error, setError] = useState();
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
if (diviner) {
|
|
16
|
+
setPayload(undefined);
|
|
17
|
+
}
|
|
18
|
+
}, [diviner]);
|
|
19
|
+
useAsyncEffect(
|
|
20
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
21
|
+
async (mounted) => {
|
|
22
|
+
if (huri && diviner && payload === undefined) {
|
|
23
|
+
try {
|
|
24
|
+
const huriPayload = { huri, schema: XyoHuriPayloadSchema };
|
|
25
|
+
const [, payloads] = (await diviner.query({ payloads: [huriPayload], schema: XyoDivinerDivineQuerySchema })) ?? [];
|
|
26
|
+
if (mounted()) {
|
|
27
|
+
// if [0] returns undefined after the compact then no payloads were found so set payload state to null
|
|
28
|
+
const results = compact(payloads)[0];
|
|
29
|
+
setPayload(results ? results : null);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
catch (ex) {
|
|
33
|
+
if (mounted()) {
|
|
34
|
+
setError(ex);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}, [diviner, huri, payload]);
|
|
39
|
+
return [payload, setPayload, error];
|
|
40
|
+
};
|
|
41
|
+
export const useDivinePayloads = (huriList) => {
|
|
42
|
+
const { diviner } = usePayloadDiviner();
|
|
43
|
+
const [payloads, setPayloads] = useState();
|
|
44
|
+
const [errors, setErrors] = useState();
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
if (diviner) {
|
|
47
|
+
setPayloads(undefined);
|
|
48
|
+
}
|
|
49
|
+
}, [diviner]);
|
|
50
|
+
useAsyncEffect(
|
|
51
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
52
|
+
async (mounted) => {
|
|
53
|
+
console.log(`huriList: ${JSON.stringify(huriList, null, 2)}`);
|
|
54
|
+
const payloads = await Promise.allSettled(huriList.map(async (huri) => {
|
|
55
|
+
const huriPayload = { huri, schema: XyoHuriPayloadSchema };
|
|
56
|
+
const [, payloads] = (await diviner?.query({ payloads: [huriPayload], schema: XyoDivinerDivineQuerySchema })) ?? [];
|
|
57
|
+
return compact(payloads)[0];
|
|
58
|
+
}));
|
|
59
|
+
if (mounted()) {
|
|
60
|
+
setPayloads([...payloads.values()].map((value) => (value.status === 'rejected' ? null : value.value)));
|
|
61
|
+
setErrors(compact([...payloads.values()].map((value) => (value.status === 'rejected' ? Error('fivine failed', { cause: value.reason }) : undefined))));
|
|
62
|
+
if (mounted()) {
|
|
63
|
+
setPayloads([...payloads.values()].map((value) => (value.status === 'rejected' ? null : value.value)));
|
|
64
|
+
setErrors(compact([...payloads.values()].map((value) => (value.status === 'rejected' ? Error('divine failed', { cause: value.reason }) : undefined))));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}, [diviner, huriList, payloads]);
|
|
68
|
+
return [payloads, setPayloads, errors];
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=use.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../src/contexts/PayloadDiviner/use.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@xyo-network/react-payload-diviner",
|
|
3
|
+
"author": {
|
|
4
|
+
"email": "support@xyo.network",
|
|
5
|
+
"name": "XYO Development Team",
|
|
6
|
+
"url": "https://xyo.network"
|
|
7
|
+
},
|
|
8
|
+
"bugs": {
|
|
9
|
+
"email": "support@xyo.network",
|
|
10
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
|
|
11
|
+
},
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"@xylabs/react-shared": "^2.14.16",
|
|
14
|
+
"@xyo-network/react-api": "^2.32.0-rc.11",
|
|
15
|
+
"@xyo-network/react-auth-service": "^2.32.0-rc.11",
|
|
16
|
+
"@xyo-network/react-network": "^2.32.0-rc.11",
|
|
17
|
+
"@xyo-network/react-shared": "^2.32.0-rc.11",
|
|
18
|
+
"lodash": "^4.17.21",
|
|
19
|
+
"tslib": "^2.4.0"
|
|
20
|
+
},
|
|
21
|
+
"peerDependencies": {
|
|
22
|
+
"@mui/icons-material": "^5.10.3",
|
|
23
|
+
"@mui/material": "^5.10.3",
|
|
24
|
+
"@mui/styles": "^5.10.3",
|
|
25
|
+
"@xyo-network/api": "*",
|
|
26
|
+
"@xyo-network/diviner": "*",
|
|
27
|
+
"@xyo-network/network": "*",
|
|
28
|
+
"@xyo-network/payload": "*",
|
|
29
|
+
"react": "^18.2.0",
|
|
30
|
+
"react-dom": "^18.2.0",
|
|
31
|
+
"react-router-dom": "^6.3.0"
|
|
32
|
+
},
|
|
33
|
+
"description": "Common React library for all XYO projects that use React",
|
|
34
|
+
"browser": "dist/esm/index.js",
|
|
35
|
+
"docs": "dist/docs.json",
|
|
36
|
+
"exports": {
|
|
37
|
+
".": {
|
|
38
|
+
"node": {
|
|
39
|
+
"import": "./dist/esm/index.js",
|
|
40
|
+
"require": "./dist/cjs/index.js"
|
|
41
|
+
},
|
|
42
|
+
"browser": {
|
|
43
|
+
"import": "./dist/esm/index.js",
|
|
44
|
+
"require": "./dist/cjs/index.js"
|
|
45
|
+
},
|
|
46
|
+
"default": "./dist/esm/index.js"
|
|
47
|
+
},
|
|
48
|
+
"./dist/docs.json": {
|
|
49
|
+
"default": "./dist/docs.json"
|
|
50
|
+
},
|
|
51
|
+
"./package.json": "./package.json"
|
|
52
|
+
},
|
|
53
|
+
"main": "dist/cjs/index.js",
|
|
54
|
+
"module": "dist/esm/index.js",
|
|
55
|
+
"homepage": "https://xyo.network",
|
|
56
|
+
"keywords": [
|
|
57
|
+
"xyo",
|
|
58
|
+
"utility",
|
|
59
|
+
"typescript",
|
|
60
|
+
"react"
|
|
61
|
+
],
|
|
62
|
+
"license": "LGPL-3.0",
|
|
63
|
+
"publishConfig": {
|
|
64
|
+
"access": "public"
|
|
65
|
+
},
|
|
66
|
+
"repository": {
|
|
67
|
+
"type": "git",
|
|
68
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js.git"
|
|
69
|
+
},
|
|
70
|
+
"scripts": {
|
|
71
|
+
"lint-pkg": "npmPkgJsonLint .",
|
|
72
|
+
"license": "yarn license-checker --exclude \"MIT, ISC, Apache-2.0, BSD, BSD-2-Clause, CC-BY-4.0, Unlicense, CC-BY-3.0, CC0-1.0\""
|
|
73
|
+
},
|
|
74
|
+
"sideEffects": false,
|
|
75
|
+
"types": "dist/esm/index.d.ts",
|
|
76
|
+
"version": "2.32.0-rc.11",
|
|
77
|
+
"stableVersion": "2.31.2"
|
|
78
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { WithChildren } from '@xylabs/react-shared'
|
|
2
|
+
import { ResultLoader } from '@xyo-network/react-api'
|
|
3
|
+
import { XyoApiErrorRender } from '@xyo-network/react-auth-service'
|
|
4
|
+
import { useParams, useSearchParams } from 'react-router-dom'
|
|
5
|
+
|
|
6
|
+
import { useDivinePayload } from '../PayloadDiviner'
|
|
7
|
+
import { DivinedPayloadContext } from './Context'
|
|
8
|
+
import { useBuildHuri } from './hooks'
|
|
9
|
+
import { useDivinedPayload } from './use'
|
|
10
|
+
|
|
11
|
+
interface DivinedPayloadProviderProps extends WithChildren {
|
|
12
|
+
hash?: string
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export const DivinedPayloadProvider: React.FC<DivinedPayloadProviderProps> = ({ children, hash }) => {
|
|
16
|
+
const { hash: hashParam } = useParams()
|
|
17
|
+
|
|
18
|
+
const huriFromHashParam = useBuildHuri(hashParam)
|
|
19
|
+
|
|
20
|
+
const [params] = useSearchParams()
|
|
21
|
+
const huriSearchParameter = params.get('huri')
|
|
22
|
+
const decodedHuriParam = decodeURIComponent(huriSearchParameter ?? '')
|
|
23
|
+
const huriUri = hash ?? decodedHuriParam ? decodedHuriParam : huriFromHashParam
|
|
24
|
+
|
|
25
|
+
const [payload, setPayload, payloadError] = useDivinePayload(huriUri)
|
|
26
|
+
|
|
27
|
+
return <DivinedPayloadContext.Provider value={{ payload, payloadError, provided: true, setPayload }}>{children}</DivinedPayloadContext.Provider>
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export const DivinedPayloadWithHandleInner: React.FC<WithChildren> = ({ children }) => {
|
|
31
|
+
const { payload, payloadError } = useDivinedPayload()
|
|
32
|
+
|
|
33
|
+
return (
|
|
34
|
+
<ResultLoader searchResult={payload} apiError={payloadError} notFound={payload === null}>
|
|
35
|
+
<XyoApiErrorRender apiError={payloadError}>{children}</XyoApiErrorRender>
|
|
36
|
+
</ResultLoader>
|
|
37
|
+
)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export const DivinedPayloadWithHandleProvider: React.FC<DivinedPayloadProviderProps> = ({ children, ...props }) => {
|
|
41
|
+
return (
|
|
42
|
+
<DivinedPayloadProvider {...props}>
|
|
43
|
+
<DivinedPayloadWithHandleInner>{children}</DivinedPayloadWithHandleInner>
|
|
44
|
+
</DivinedPayloadProvider>
|
|
45
|
+
)
|
|
46
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { XyoPayload } from '@xyo-network/payload'
|
|
2
|
+
import { ContextExState } from '@xyo-network/react-shared'
|
|
3
|
+
import { Dispatch } from 'react'
|
|
4
|
+
|
|
5
|
+
export interface DivinedPayloadState extends ContextExState {
|
|
6
|
+
payload?: XyoPayload | null
|
|
7
|
+
setPayload?: Dispatch<XyoPayload | null | undefined>
|
|
8
|
+
payloadError?: Error
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useBuildHuri'
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useNetwork } from '@xyo-network/react-network'
|
|
2
|
+
|
|
3
|
+
export const useBuildHuri = (hash?: string) => {
|
|
4
|
+
const { network } = useNetwork()
|
|
5
|
+
const networkUri = network?.nodes?.find((node) => node.type === 'archivist')?.uri
|
|
6
|
+
|
|
7
|
+
if (!hash) {
|
|
8
|
+
return
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
return `${networkUri}/${hash}`
|
|
12
|
+
}
|