@xyo-network/react-payload 2.32.0-rc.8 → 2.32.1
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/cjs/contexts/index.d.ts +0 -2
- package/dist/cjs/contexts/index.d.ts.map +1 -1
- package/dist/cjs/contexts/index.js +0 -2
- package/dist/cjs/contexts/index.js.map +1 -1
- package/dist/cjs/index.d.ts +0 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +0 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/docs.json +112 -2897
- package/dist/esm/contexts/index.d.ts +0 -2
- package/dist/esm/contexts/index.d.ts.map +1 -1
- package/dist/esm/contexts/index.js +0 -2
- package/dist/esm/contexts/index.js.map +1 -1
- package/dist/esm/index.d.ts +0 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +0 -2
- package/dist/esm/index.js.map +1 -1
- package/package.json +11 -28
- package/src/contexts/index.ts +0 -2
- package/src/index.ts +0 -2
- package/dist/cjs/components/Details/DataDetails.d.ts +0 -11
- package/dist/cjs/components/Details/DataDetails.d.ts.map +0 -1
- package/dist/cjs/components/Details/DataDetails.js +0 -43
- package/dist/cjs/components/Details/DataDetails.js.map +0 -1
- package/dist/cjs/components/Details/Details.d.ts +0 -15
- package/dist/cjs/components/Details/Details.d.ts.map +0 -1
- package/dist/cjs/components/Details/Details.js +0 -15
- package/dist/cjs/components/Details/Details.js.map +0 -1
- package/dist/cjs/components/Details/HashSourceDetails.d.ts +0 -9
- package/dist/cjs/components/Details/HashSourceDetails.d.ts.map +0 -1
- package/dist/cjs/components/Details/HashSourceDetails.js +0 -19
- package/dist/cjs/components/Details/HashSourceDetails.js.map +0 -1
- package/dist/cjs/components/Details/JsonDetails.d.ts +0 -10
- package/dist/cjs/components/Details/JsonDetails.d.ts.map +0 -1
- package/dist/cjs/components/Details/JsonDetails.js +0 -24
- package/dist/cjs/components/Details/JsonDetails.js.map +0 -1
- package/dist/cjs/components/Details/MetaDetails.d.ts +0 -10
- package/dist/cjs/components/Details/MetaDetails.d.ts.map +0 -1
- package/dist/cjs/components/Details/MetaDetails.js +0 -19
- package/dist/cjs/components/Details/MetaDetails.js.map +0 -1
- package/dist/cjs/components/Details/ValidationDetails/ValidationDetails.d.ts +0 -4
- package/dist/cjs/components/Details/ValidationDetails/ValidationDetails.d.ts.map +0 -1
- package/dist/cjs/components/Details/ValidationDetails/ValidationDetails.js +0 -26
- package/dist/cjs/components/Details/ValidationDetails/ValidationDetails.js.map +0 -1
- package/dist/cjs/components/Details/ValidationDetails/ValidationDetailsProps.d.ts +0 -8
- package/dist/cjs/components/Details/ValidationDetails/ValidationDetailsProps.d.ts.map +0 -1
- package/dist/cjs/components/Details/ValidationDetails/ValidationDetailsProps.js +0 -3
- package/dist/cjs/components/Details/ValidationDetails/ValidationDetailsProps.js.map +0 -1
- package/dist/cjs/components/Details/ValidationDetails/index.d.ts +0 -3
- package/dist/cjs/components/Details/ValidationDetails/index.d.ts.map +0 -1
- package/dist/cjs/components/Details/ValidationDetails/index.js +0 -6
- package/dist/cjs/components/Details/ValidationDetails/index.js.map +0 -1
- package/dist/cjs/components/Details/index.d.ts +0 -6
- package/dist/cjs/components/Details/index.d.ts.map +0 -1
- package/dist/cjs/components/Details/index.js +0 -9
- package/dist/cjs/components/Details/index.js.map +0 -1
- package/dist/cjs/components/index.d.ts +0 -2
- package/dist/cjs/components/index.d.ts.map +0 -1
- package/dist/cjs/components/index.js +0 -5
- package/dist/cjs/components/index.js.map +0 -1
- package/dist/cjs/contexts/DivinedPayload/Context.d.ts +0 -4
- package/dist/cjs/contexts/DivinedPayload/Context.d.ts.map +0 -1
- package/dist/cjs/contexts/DivinedPayload/Context.js +0 -6
- package/dist/cjs/contexts/DivinedPayload/Context.js.map +0 -1
- package/dist/cjs/contexts/DivinedPayload/Provider.d.ts +0 -10
- package/dist/cjs/contexts/DivinedPayload/Provider.d.ts.map +0 -1
- package/dist/cjs/contexts/DivinedPayload/Provider.js +0 -34
- package/dist/cjs/contexts/DivinedPayload/Provider.js.map +0 -1
- package/dist/cjs/contexts/DivinedPayload/State.d.ts +0 -9
- package/dist/cjs/contexts/DivinedPayload/State.d.ts.map +0 -1
- package/dist/cjs/contexts/DivinedPayload/State.js +0 -3
- package/dist/cjs/contexts/DivinedPayload/State.js.map +0 -1
- package/dist/cjs/contexts/DivinedPayload/hooks/index.d.ts +0 -2
- package/dist/cjs/contexts/DivinedPayload/hooks/index.d.ts.map +0 -1
- package/dist/cjs/contexts/DivinedPayload/hooks/index.js +0 -5
- package/dist/cjs/contexts/DivinedPayload/hooks/index.js.map +0 -1
- package/dist/cjs/contexts/DivinedPayload/hooks/useBuildHuri.d.ts +0 -2
- package/dist/cjs/contexts/DivinedPayload/hooks/useBuildHuri.d.ts.map +0 -1
- package/dist/cjs/contexts/DivinedPayload/hooks/useBuildHuri.js +0 -15
- package/dist/cjs/contexts/DivinedPayload/hooks/useBuildHuri.js.map +0 -1
- package/dist/cjs/contexts/DivinedPayload/index.d.ts +0 -4
- package/dist/cjs/contexts/DivinedPayload/index.d.ts.map +0 -1
- package/dist/cjs/contexts/DivinedPayload/index.js +0 -7
- package/dist/cjs/contexts/DivinedPayload/index.js.map +0 -1
- package/dist/cjs/contexts/DivinedPayload/use.d.ts +0 -2
- package/dist/cjs/contexts/DivinedPayload/use.d.ts.map +0 -1
- package/dist/cjs/contexts/DivinedPayload/use.js +0 -8
- package/dist/cjs/contexts/DivinedPayload/use.js.map +0 -1
- package/dist/cjs/contexts/PayloadDiviner/Context.d.ts +0 -5
- package/dist/cjs/contexts/PayloadDiviner/Context.d.ts.map +0 -1
- package/dist/cjs/contexts/PayloadDiviner/Context.js +0 -7
- package/dist/cjs/contexts/PayloadDiviner/Context.js.map +0 -1
- package/dist/cjs/contexts/PayloadDiviner/Provider.d.ts +0 -9
- package/dist/cjs/contexts/PayloadDiviner/Provider.d.ts.map +0 -1
- package/dist/cjs/contexts/PayloadDiviner/Provider.js +0 -21
- package/dist/cjs/contexts/PayloadDiviner/Provider.js.map +0 -1
- package/dist/cjs/contexts/PayloadDiviner/State.d.ts +0 -7
- package/dist/cjs/contexts/PayloadDiviner/State.d.ts.map +0 -1
- package/dist/cjs/contexts/PayloadDiviner/State.js +0 -3
- package/dist/cjs/contexts/PayloadDiviner/State.js.map +0 -1
- package/dist/cjs/contexts/PayloadDiviner/index.d.ts +0 -5
- package/dist/cjs/contexts/PayloadDiviner/index.d.ts.map +0 -1
- package/dist/cjs/contexts/PayloadDiviner/index.js +0 -8
- package/dist/cjs/contexts/PayloadDiviner/index.js.map +0 -1
- package/dist/cjs/contexts/PayloadDiviner/use.d.ts +0 -25
- package/dist/cjs/contexts/PayloadDiviner/use.d.ts.map +0 -1
- package/dist/cjs/contexts/PayloadDiviner/use.js +0 -79
- package/dist/cjs/contexts/PayloadDiviner/use.js.map +0 -1
- package/dist/cjs/hooks/ResolvePayloadArgs.d.ts +0 -5
- package/dist/cjs/hooks/ResolvePayloadArgs.d.ts.map +0 -1
- package/dist/cjs/hooks/ResolvePayloadArgs.js +0 -3
- package/dist/cjs/hooks/ResolvePayloadArgs.js.map +0 -1
- package/dist/cjs/hooks/index.d.ts +0 -6
- package/dist/cjs/hooks/index.d.ts.map +0 -1
- package/dist/cjs/hooks/index.js +0 -9
- package/dist/cjs/hooks/index.js.map +0 -1
- package/dist/cjs/hooks/lib/FetchHuriHashOptions.d.ts +0 -4
- package/dist/cjs/hooks/lib/FetchHuriHashOptions.d.ts.map +0 -1
- package/dist/cjs/hooks/lib/FetchHuriHashOptions.js +0 -3
- package/dist/cjs/hooks/lib/FetchHuriHashOptions.js.map +0 -1
- package/dist/cjs/hooks/lib/findHuriNetwork.d.ts +0 -4
- package/dist/cjs/hooks/lib/findHuriNetwork.d.ts.map +0 -1
- package/dist/cjs/hooks/lib/findHuriNetwork.js +0 -14
- package/dist/cjs/hooks/lib/findHuriNetwork.js.map +0 -1
- package/dist/cjs/hooks/lib/index.d.ts +0 -3
- package/dist/cjs/hooks/lib/index.d.ts.map +0 -1
- package/dist/cjs/hooks/lib/index.js +0 -6
- package/dist/cjs/hooks/lib/index.js.map +0 -1
- package/dist/cjs/hooks/useHuriHash.d.ts +0 -13
- package/dist/cjs/hooks/useHuriHash.d.ts.map +0 -1
- package/dist/cjs/hooks/useHuriHash.js +0 -33
- package/dist/cjs/hooks/useHuriHash.js.map +0 -1
- package/dist/cjs/hooks/useLoadPayload.d.ts +0 -3
- package/dist/cjs/hooks/useLoadPayload.d.ts.map +0 -1
- package/dist/cjs/hooks/useLoadPayload.js +0 -57
- package/dist/cjs/hooks/useLoadPayload.js.map +0 -1
- package/dist/cjs/hooks/useResolveHuri.d.ts +0 -10
- package/dist/cjs/hooks/useResolveHuri.d.ts.map +0 -1
- package/dist/cjs/hooks/useResolveHuri.js +0 -68
- package/dist/cjs/hooks/useResolveHuri.js.map +0 -1
- package/dist/esm/components/Details/DataDetails.d.ts +0 -11
- package/dist/esm/components/Details/DataDetails.d.ts.map +0 -1
- package/dist/esm/components/Details/DataDetails.js +0 -35
- package/dist/esm/components/Details/DataDetails.js.map +0 -1
- package/dist/esm/components/Details/Details.d.ts +0 -15
- package/dist/esm/components/Details/Details.d.ts.map +0 -1
- package/dist/esm/components/Details/Details.js +0 -9
- package/dist/esm/components/Details/Details.js.map +0 -1
- package/dist/esm/components/Details/HashSourceDetails.d.ts +0 -9
- package/dist/esm/components/Details/HashSourceDetails.d.ts.map +0 -1
- package/dist/esm/components/Details/HashSourceDetails.js +0 -12
- package/dist/esm/components/Details/HashSourceDetails.js.map +0 -1
- package/dist/esm/components/Details/JsonDetails.d.ts +0 -10
- package/dist/esm/components/Details/JsonDetails.d.ts.map +0 -1
- package/dist/esm/components/Details/JsonDetails.js +0 -17
- package/dist/esm/components/Details/JsonDetails.js.map +0 -1
- package/dist/esm/components/Details/MetaDetails.d.ts +0 -10
- package/dist/esm/components/Details/MetaDetails.d.ts.map +0 -1
- package/dist/esm/components/Details/MetaDetails.js +0 -12
- package/dist/esm/components/Details/MetaDetails.js.map +0 -1
- package/dist/esm/components/Details/ValidationDetails/ValidationDetails.d.ts +0 -4
- package/dist/esm/components/Details/ValidationDetails/ValidationDetails.d.ts.map +0 -1
- package/dist/esm/components/Details/ValidationDetails/ValidationDetails.js +0 -19
- package/dist/esm/components/Details/ValidationDetails/ValidationDetails.js.map +0 -1
- package/dist/esm/components/Details/ValidationDetails/ValidationDetailsProps.d.ts +0 -8
- package/dist/esm/components/Details/ValidationDetails/ValidationDetailsProps.d.ts.map +0 -1
- package/dist/esm/components/Details/ValidationDetails/ValidationDetailsProps.js +0 -2
- package/dist/esm/components/Details/ValidationDetails/ValidationDetailsProps.js.map +0 -1
- package/dist/esm/components/Details/ValidationDetails/index.d.ts +0 -3
- package/dist/esm/components/Details/ValidationDetails/index.d.ts.map +0 -1
- package/dist/esm/components/Details/ValidationDetails/index.js +0 -3
- package/dist/esm/components/Details/ValidationDetails/index.js.map +0 -1
- package/dist/esm/components/Details/index.d.ts +0 -6
- package/dist/esm/components/Details/index.d.ts.map +0 -1
- package/dist/esm/components/Details/index.js +0 -6
- package/dist/esm/components/Details/index.js.map +0 -1
- package/dist/esm/components/index.d.ts +0 -2
- package/dist/esm/components/index.d.ts.map +0 -1
- package/dist/esm/components/index.js +0 -2
- package/dist/esm/components/index.js.map +0 -1
- package/dist/esm/contexts/DivinedPayload/Context.d.ts +0 -4
- package/dist/esm/contexts/DivinedPayload/Context.d.ts.map +0 -1
- package/dist/esm/contexts/DivinedPayload/Context.js +0 -3
- package/dist/esm/contexts/DivinedPayload/Context.js.map +0 -1
- package/dist/esm/contexts/DivinedPayload/Provider.d.ts +0 -10
- package/dist/esm/contexts/DivinedPayload/Provider.d.ts.map +0 -1
- package/dist/esm/contexts/DivinedPayload/Provider.js +0 -26
- package/dist/esm/contexts/DivinedPayload/Provider.js.map +0 -1
- package/dist/esm/contexts/DivinedPayload/State.d.ts +0 -9
- package/dist/esm/contexts/DivinedPayload/State.d.ts.map +0 -1
- package/dist/esm/contexts/DivinedPayload/State.js +0 -2
- package/dist/esm/contexts/DivinedPayload/State.js.map +0 -1
- package/dist/esm/contexts/DivinedPayload/hooks/index.d.ts +0 -2
- package/dist/esm/contexts/DivinedPayload/hooks/index.d.ts.map +0 -1
- package/dist/esm/contexts/DivinedPayload/hooks/index.js +0 -2
- package/dist/esm/contexts/DivinedPayload/hooks/index.js.map +0 -1
- package/dist/esm/contexts/DivinedPayload/hooks/useBuildHuri.d.ts +0 -2
- package/dist/esm/contexts/DivinedPayload/hooks/useBuildHuri.d.ts.map +0 -1
- package/dist/esm/contexts/DivinedPayload/hooks/useBuildHuri.js +0 -10
- package/dist/esm/contexts/DivinedPayload/hooks/useBuildHuri.js.map +0 -1
- package/dist/esm/contexts/DivinedPayload/index.d.ts +0 -4
- package/dist/esm/contexts/DivinedPayload/index.d.ts.map +0 -1
- package/dist/esm/contexts/DivinedPayload/index.js +0 -4
- package/dist/esm/contexts/DivinedPayload/index.js.map +0 -1
- package/dist/esm/contexts/DivinedPayload/use.d.ts +0 -2
- package/dist/esm/contexts/DivinedPayload/use.d.ts.map +0 -1
- package/dist/esm/contexts/DivinedPayload/use.js +0 -4
- package/dist/esm/contexts/DivinedPayload/use.js.map +0 -1
- package/dist/esm/contexts/PayloadDiviner/Context.d.ts +0 -5
- package/dist/esm/contexts/PayloadDiviner/Context.d.ts.map +0 -1
- package/dist/esm/contexts/PayloadDiviner/Context.js +0 -4
- package/dist/esm/contexts/PayloadDiviner/Context.js.map +0 -1
- package/dist/esm/contexts/PayloadDiviner/Provider.d.ts +0 -9
- package/dist/esm/contexts/PayloadDiviner/Provider.d.ts.map +0 -1
- package/dist/esm/contexts/PayloadDiviner/Provider.js +0 -17
- package/dist/esm/contexts/PayloadDiviner/Provider.js.map +0 -1
- package/dist/esm/contexts/PayloadDiviner/State.d.ts +0 -7
- package/dist/esm/contexts/PayloadDiviner/State.d.ts.map +0 -1
- package/dist/esm/contexts/PayloadDiviner/State.js +0 -2
- package/dist/esm/contexts/PayloadDiviner/State.js.map +0 -1
- package/dist/esm/contexts/PayloadDiviner/index.d.ts +0 -5
- package/dist/esm/contexts/PayloadDiviner/index.d.ts.map +0 -1
- package/dist/esm/contexts/PayloadDiviner/index.js +0 -5
- package/dist/esm/contexts/PayloadDiviner/index.js.map +0 -1
- package/dist/esm/contexts/PayloadDiviner/use.d.ts +0 -25
- package/dist/esm/contexts/PayloadDiviner/use.d.ts.map +0 -1
- package/dist/esm/contexts/PayloadDiviner/use.js +0 -70
- package/dist/esm/contexts/PayloadDiviner/use.js.map +0 -1
- package/dist/esm/hooks/ResolvePayloadArgs.d.ts +0 -5
- package/dist/esm/hooks/ResolvePayloadArgs.d.ts.map +0 -1
- package/dist/esm/hooks/ResolvePayloadArgs.js +0 -2
- package/dist/esm/hooks/ResolvePayloadArgs.js.map +0 -1
- package/dist/esm/hooks/index.d.ts +0 -6
- package/dist/esm/hooks/index.d.ts.map +0 -1
- package/dist/esm/hooks/index.js +0 -6
- package/dist/esm/hooks/index.js.map +0 -1
- package/dist/esm/hooks/lib/FetchHuriHashOptions.d.ts +0 -4
- package/dist/esm/hooks/lib/FetchHuriHashOptions.d.ts.map +0 -1
- package/dist/esm/hooks/lib/FetchHuriHashOptions.js +0 -2
- package/dist/esm/hooks/lib/FetchHuriHashOptions.js.map +0 -1
- package/dist/esm/hooks/lib/findHuriNetwork.d.ts +0 -4
- package/dist/esm/hooks/lib/findHuriNetwork.d.ts.map +0 -1
- package/dist/esm/hooks/lib/findHuriNetwork.js +0 -9
- package/dist/esm/hooks/lib/findHuriNetwork.js.map +0 -1
- package/dist/esm/hooks/lib/index.d.ts +0 -3
- package/dist/esm/hooks/lib/index.d.ts.map +0 -1
- package/dist/esm/hooks/lib/index.js +0 -3
- package/dist/esm/hooks/lib/index.js.map +0 -1
- package/dist/esm/hooks/useHuriHash.d.ts +0 -13
- package/dist/esm/hooks/useHuriHash.d.ts.map +0 -1
- package/dist/esm/hooks/useHuriHash.js +0 -30
- package/dist/esm/hooks/useHuriHash.js.map +0 -1
- package/dist/esm/hooks/useLoadPayload.d.ts +0 -3
- package/dist/esm/hooks/useLoadPayload.d.ts.map +0 -1
- package/dist/esm/hooks/useLoadPayload.js +0 -52
- package/dist/esm/hooks/useLoadPayload.js.map +0 -1
- package/dist/esm/hooks/useResolveHuri.d.ts +0 -10
- package/dist/esm/hooks/useResolveHuri.d.ts.map +0 -1
- package/dist/esm/hooks/useResolveHuri.js +0 -64
- package/dist/esm/hooks/useResolveHuri.js.map +0 -1
- package/src/components/Details/DataDetails.tsx +0 -74
- package/src/components/Details/Details.stories.tsx +0 -62
- package/src/components/Details/Details.tsx +0 -24
- package/src/components/Details/HashSourceDetails.tsx +0 -43
- package/src/components/Details/JsonDetails.tsx +0 -43
- package/src/components/Details/MetaDetails.tsx +0 -57
- package/src/components/Details/ValidationDetails/ValidationDetails.stories.tsx +0 -55
- package/src/components/Details/ValidationDetails/ValidationDetails.tsx +0 -42
- package/src/components/Details/ValidationDetails/ValidationDetailsProps.ts +0 -8
- package/src/components/Details/ValidationDetails/index.ts +0 -2
- package/src/components/Details/index.ts +0 -5
- package/src/components/index.ts +0 -1
- package/src/contexts/DivinedPayload/Context.tsx +0 -5
- package/src/contexts/DivinedPayload/Provider.tsx +0 -46
- package/src/contexts/DivinedPayload/State.ts +0 -9
- package/src/contexts/DivinedPayload/hooks/index.ts +0 -1
- package/src/contexts/DivinedPayload/hooks/useBuildHuri.tsx +0 -12
- package/src/contexts/DivinedPayload/index.ts +0 -3
- package/src/contexts/DivinedPayload/use.ts +0 -5
- package/src/contexts/PayloadDiviner/Context.ts +0 -7
- package/src/contexts/PayloadDiviner/Provider.tsx +0 -32
- package/src/contexts/PayloadDiviner/State.ts +0 -7
- package/src/contexts/PayloadDiviner/index.ts +0 -4
- package/src/contexts/PayloadDiviner/use.ts +0 -95
- package/src/hooks/ResolvePayloadArgs.ts +0 -6
- package/src/hooks/index.ts +0 -5
- package/src/hooks/lib/FetchHuriHashOptions.ts +0 -3
- package/src/hooks/lib/findHuriNetwork.ts +0 -13
- package/src/hooks/lib/index.ts +0 -2
- package/src/hooks/useHuriHash.stories.tsx +0 -108
- package/src/hooks/useHuriHash.tsx +0 -40
- package/src/hooks/useLoadPayload.stories.tsx +0 -69
- package/src/hooks/useLoadPayload.tsx +0 -59
- package/src/hooks/useResolveHuri.tsx +0 -75
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { ComponentMeta, ComponentStory } from '@storybook/react'
|
|
2
|
-
import { samplePayload, samplePayloadFromBuilder, useAppThemeDecorator } from '@xyo-network/react-storybook'
|
|
3
|
-
import { BrowserRouter, Route, Routes } from 'react-router-dom'
|
|
4
|
-
|
|
5
|
-
import { PayloadDetails } from './Details'
|
|
6
|
-
|
|
7
|
-
const StorybookEntry = {
|
|
8
|
-
argTypes: {},
|
|
9
|
-
component: PayloadDetails,
|
|
10
|
-
parameters: {
|
|
11
|
-
docs: {
|
|
12
|
-
page: null,
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
title: 'payload/Details',
|
|
16
|
-
} as ComponentMeta<typeof PayloadDetails>
|
|
17
|
-
|
|
18
|
-
const Template: ComponentStory<typeof PayloadDetails> = (args) => (
|
|
19
|
-
<BrowserRouter>
|
|
20
|
-
<Routes>
|
|
21
|
-
<Route path="temp" element={<h1>Successfully navigated to archivePath</h1>} />
|
|
22
|
-
<Route path="*" element={<PayloadDetails {...args}></PayloadDetails>}></Route>
|
|
23
|
-
</Routes>
|
|
24
|
-
</BrowserRouter>
|
|
25
|
-
)
|
|
26
|
-
|
|
27
|
-
const Default = Template.bind({})
|
|
28
|
-
Default.args = {}
|
|
29
|
-
Default.decorators = [useAppThemeDecorator]
|
|
30
|
-
|
|
31
|
-
const WithSample = Template.bind({})
|
|
32
|
-
WithSample.args = { payload: samplePayload }
|
|
33
|
-
WithSample.decorators = [useAppThemeDecorator]
|
|
34
|
-
|
|
35
|
-
const WithBuilderSample = Template.bind({})
|
|
36
|
-
WithBuilderSample.args = { payload: samplePayloadFromBuilder }
|
|
37
|
-
WithBuilderSample.decorators = [useAppThemeDecorator]
|
|
38
|
-
|
|
39
|
-
const WithArchiveLink = Template.bind({})
|
|
40
|
-
WithArchiveLink.args = { payload: samplePayloadFromBuilder }
|
|
41
|
-
WithArchiveLink.decorators = [useAppThemeDecorator]
|
|
42
|
-
|
|
43
|
-
const DefaultPaper = Template.bind({})
|
|
44
|
-
DefaultPaper.args = { paper: true }
|
|
45
|
-
DefaultPaper.decorators = [useAppThemeDecorator]
|
|
46
|
-
|
|
47
|
-
const WithSamplePaper = Template.bind({})
|
|
48
|
-
WithSamplePaper.args = { paper: true, payload: samplePayload }
|
|
49
|
-
WithSamplePaper.decorators = [useAppThemeDecorator]
|
|
50
|
-
|
|
51
|
-
const WithBuilderSamplePaper = Template.bind({})
|
|
52
|
-
WithBuilderSamplePaper.args = { paper: true, payload: samplePayloadFromBuilder }
|
|
53
|
-
WithBuilderSamplePaper.decorators = [useAppThemeDecorator]
|
|
54
|
-
|
|
55
|
-
const WithArchiveLinkPaper = Template.bind({})
|
|
56
|
-
WithArchiveLinkPaper.args = { paper: true, payload: samplePayloadFromBuilder }
|
|
57
|
-
WithArchiveLinkPaper.decorators = [useAppThemeDecorator]
|
|
58
|
-
|
|
59
|
-
export { Default, DefaultPaper, WithArchiveLink, WithArchiveLinkPaper, WithBuilderSample, WithBuilderSamplePaper, WithSample, WithSamplePaper }
|
|
60
|
-
|
|
61
|
-
// eslint-disable-next-line import/no-default-export
|
|
62
|
-
export default StorybookEntry
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'
|
|
2
|
-
import { XyoPayload } from '@xyo-network/payload'
|
|
3
|
-
|
|
4
|
-
import { PayloadDataDetails } from './DataDetails'
|
|
5
|
-
import { PayloadJsonDetails } from './JsonDetails'
|
|
6
|
-
import { PayloadValidationDetails } from './ValidationDetails'
|
|
7
|
-
|
|
8
|
-
export type WithPaper<T> = T & { paper: true }
|
|
9
|
-
export type WithoutPaper<T> = T & { paper?: false }
|
|
10
|
-
|
|
11
|
-
export type PayloadDetailsProps = FlexBoxProps & {
|
|
12
|
-
payload?: XyoPayload
|
|
13
|
-
paper?: boolean
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export const PayloadDetails: React.FC<PayloadDetailsProps> = ({ paper, payload, ...props }) => {
|
|
17
|
-
return (
|
|
18
|
-
<FlexCol gap={1} justifyContent="flex-start" alignItems="stretch" marginTop={2} marginBottom={8} {...props}>
|
|
19
|
-
<PayloadDataDetails paper={paper} size="large" badge payload={payload} />
|
|
20
|
-
<PayloadValidationDetails paper={paper} value={payload} />
|
|
21
|
-
<PayloadJsonDetails paper={paper} payload={payload} />
|
|
22
|
-
</FlexCol>
|
|
23
|
-
)
|
|
24
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import ContentCopyIcon from '@mui/icons-material/ContentCopy'
|
|
2
|
-
import { IconButton, Typography, useTheme } from '@mui/material'
|
|
3
|
-
import { FlexBoxProps, FlexCol, FlexGrowRow, FlexRow } from '@xylabs/react-flexbox'
|
|
4
|
-
import { QuickTipButton } from '@xylabs/react-quick-tip-button'
|
|
5
|
-
import { XyoPayload, XyoPayloadWrapper } from '@xyo-network/payload'
|
|
6
|
-
|
|
7
|
-
export interface PayloadHashSourceDetailsProps extends FlexBoxProps {
|
|
8
|
-
noTitle?: boolean
|
|
9
|
-
payload?: XyoPayload
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export const PayloadHashSourceDetails: React.FC<PayloadHashSourceDetailsProps> = ({ noTitle = false, payload, ...props }) => {
|
|
13
|
-
const theme = useTheme()
|
|
14
|
-
const payloadWrapper = payload ? new XyoPayloadWrapper(payload) : null
|
|
15
|
-
|
|
16
|
-
return (
|
|
17
|
-
<FlexCol alignItems="stretch" {...props}>
|
|
18
|
-
{noTitle ? null : (
|
|
19
|
-
<FlexRow margin={1} justifyContent="flex-start">
|
|
20
|
-
<Typography>Hash Source</Typography>
|
|
21
|
-
<QuickTipButton title="Hash Source">The actual string used to generate the hash (SHA256)</QuickTipButton>
|
|
22
|
-
</FlexRow>
|
|
23
|
-
)}
|
|
24
|
-
<FlexRow>
|
|
25
|
-
<FlexGrowRow background border={1} borderColor={theme.palette.divider} justifyContent="start">
|
|
26
|
-
<Typography padding={2} fontFamily="monospace" variant="body1" sx={{ overflowWrap: 'break-word', wordBreak: 'break-all' }}>
|
|
27
|
-
{payloadWrapper?.stringified ?? ''}
|
|
28
|
-
</Typography>
|
|
29
|
-
</FlexGrowRow>
|
|
30
|
-
<IconButton>
|
|
31
|
-
<ContentCopyIcon />
|
|
32
|
-
</IconButton>
|
|
33
|
-
</FlexRow>
|
|
34
|
-
{noTitle ? (
|
|
35
|
-
<FlexRow margin={1} justifyContent="flex-start">
|
|
36
|
-
<Typography variant="body2">
|
|
37
|
-
The actual string used to generate the hash (SHA256). This can be used to validate the hash manually.
|
|
38
|
-
</Typography>
|
|
39
|
-
</FlexRow>
|
|
40
|
-
) : null}
|
|
41
|
-
</FlexCol>
|
|
42
|
-
)
|
|
43
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Paper, useMediaQuery, useTheme } from '@mui/material'
|
|
2
|
-
import { FlexGrowRow } from '@xylabs/react-flexbox'
|
|
3
|
-
import { XyoPayload } from '@xyo-network/payload'
|
|
4
|
-
import { PropertyGroup, PropertyGroupProps } from '@xyo-network/react-property'
|
|
5
|
-
import { lazy, Suspense } from 'react'
|
|
6
|
-
import { ReactJsonViewProps } from 'react-json-view'
|
|
7
|
-
|
|
8
|
-
const JsonView = lazy(() => import(/* webpackChunkName: "jsonView" */ 'react-json-view'))
|
|
9
|
-
|
|
10
|
-
export type PayloadJsonDetailsProps = PropertyGroupProps & {
|
|
11
|
-
payload?: XyoPayload
|
|
12
|
-
jsonViewProps?: ReactJsonViewProps
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export const PayloadJsonDetails: React.FC<PayloadJsonDetailsProps> = ({ jsonViewProps, payload = {}, ...props }) => {
|
|
16
|
-
const { breakpoints, palette } = useTheme()
|
|
17
|
-
const belowSm = useMediaQuery(breakpoints.down('sm'))
|
|
18
|
-
|
|
19
|
-
let elevation = 2
|
|
20
|
-
if (props.paper) {
|
|
21
|
-
elevation += props.elevation ?? 0
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const jsonTheme = palette.mode === 'dark' ? 'shapeshifter' : undefined
|
|
25
|
-
|
|
26
|
-
return (
|
|
27
|
-
<PropertyGroup titleProps={{ elevation }} title="JSON" tip="The raw JSON of the payload" {...props}>
|
|
28
|
-
<Paper square variant="elevation" style={{ overflow: 'hidden', padding: '16px', width: '100%' }}>
|
|
29
|
-
<Suspense fallback={<FlexGrowRow />}>
|
|
30
|
-
<JsonView
|
|
31
|
-
groupArraysAfterLength={20}
|
|
32
|
-
style={{ backgroundColor: undefined, overflow: 'hidden' }}
|
|
33
|
-
src={payload}
|
|
34
|
-
enableClipboard
|
|
35
|
-
theme={jsonTheme}
|
|
36
|
-
collapseStringsAfterLength={belowSm ? 24 : 32}
|
|
37
|
-
{...jsonViewProps}
|
|
38
|
-
/>
|
|
39
|
-
</Suspense>
|
|
40
|
-
</Paper>
|
|
41
|
-
</PropertyGroup>
|
|
42
|
-
)
|
|
43
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { XyoPayloadWithPartialMeta } from '@xyo-network/payload'
|
|
2
|
-
import { ArchiveProperty } from '@xyo-network/react-archive'
|
|
3
|
-
import { Property, PropertyGroup, PropertyGroupProps } from '@xyo-network/react-property'
|
|
4
|
-
|
|
5
|
-
export type PayloadMetaDetailsProps = PropertyGroupProps & {
|
|
6
|
-
value?: XyoPayloadWithPartialMeta
|
|
7
|
-
archivePath?: string
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
/** @deprecated - Meta no longer returned from Archivist */
|
|
11
|
-
export const PayloadMetaDetails: React.FC<PayloadMetaDetailsProps> = ({ archivePath, value, ...props }) => {
|
|
12
|
-
let elevation = 2
|
|
13
|
-
if (props.paper) {
|
|
14
|
-
elevation += props.elevation ?? 0
|
|
15
|
-
}
|
|
16
|
-
return (
|
|
17
|
-
<PropertyGroup titleProps={{ elevation }} title="Meta" tip="The meta fields added to the record by the archivist" {...props}>
|
|
18
|
-
{value?._client ? (
|
|
19
|
-
<Property
|
|
20
|
-
titleProps={{ elevation }}
|
|
21
|
-
flexGrow={1}
|
|
22
|
-
title="Client"
|
|
23
|
-
value={value?._client ?? '<Unknown>'}
|
|
24
|
-
tip="This client used to create this payload"
|
|
25
|
-
/>
|
|
26
|
-
) : null}
|
|
27
|
-
{value?._archive ? <ArchiveProperty titleProps={{ elevation }} flexGrow={1} payload={value} path={archivePath} /> : null}
|
|
28
|
-
{value?._reportedHash ? (
|
|
29
|
-
<Property
|
|
30
|
-
titleProps={{ elevation }}
|
|
31
|
-
flexGrow={1}
|
|
32
|
-
title="Reported Hash"
|
|
33
|
-
value={value?._reportedHash ?? '<Unknown>'}
|
|
34
|
-
tip="The has reported by the payload"
|
|
35
|
-
/>
|
|
36
|
-
) : null}
|
|
37
|
-
{value?._timestamp ? (
|
|
38
|
-
<Property
|
|
39
|
-
titleProps={{ elevation }}
|
|
40
|
-
flexGrow={1}
|
|
41
|
-
title="Timestamp"
|
|
42
|
-
value={value?._timestamp ?? '<Unknown>'}
|
|
43
|
-
tip="This timestamp of the payload"
|
|
44
|
-
/>
|
|
45
|
-
) : null}
|
|
46
|
-
{value?._observeDuration ? (
|
|
47
|
-
<Property
|
|
48
|
-
titleProps={{ elevation }}
|
|
49
|
-
flexGrow={1}
|
|
50
|
-
title="Observation Duration"
|
|
51
|
-
value={value?._observeDuration ?? '<Unknown>'}
|
|
52
|
-
tip="This duration of time observed by the witness"
|
|
53
|
-
/>
|
|
54
|
-
) : null}
|
|
55
|
-
</PropertyGroup>
|
|
56
|
-
)
|
|
57
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { ComponentStory, Meta } from '@storybook/react'
|
|
2
|
-
import { samplePayload, useAppThemeDecorator } from '@xyo-network/react-storybook'
|
|
3
|
-
import { BrowserRouter } from 'react-router-dom'
|
|
4
|
-
|
|
5
|
-
import { PayloadDetails } from '../Details'
|
|
6
|
-
import { PayloadValidationDetails } from './ValidationDetails'
|
|
7
|
-
|
|
8
|
-
const StorybookEntry: Meta = {
|
|
9
|
-
argTypes: {},
|
|
10
|
-
args: {
|
|
11
|
-
value: {
|
|
12
|
-
schema: 'network.xyo.schema',
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
component: PayloadDetails,
|
|
16
|
-
decorators: [useAppThemeDecorator],
|
|
17
|
-
parameters: {
|
|
18
|
-
docs: {
|
|
19
|
-
page: null,
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
title: 'payload/ValidationDetails',
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const Template: ComponentStory<typeof PayloadValidationDetails> = (args) => (
|
|
26
|
-
<BrowserRouter>
|
|
27
|
-
<PayloadValidationDetails {...args} />
|
|
28
|
-
</BrowserRouter>
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
const Default = Template.bind({})
|
|
32
|
-
Default.args = { skipBody: true }
|
|
33
|
-
|
|
34
|
-
const WithViewSchemaLink = Template.bind({})
|
|
35
|
-
WithViewSchemaLink.args = {
|
|
36
|
-
viewSchemaUrl: 'http://beta.explore.xyo.network/6fe3f745b1179fefa74cc3c7eab58321bee1c9ca9e34d9585467364cc5d3bbe2/?huri=huri',
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
const WithErrorsInToolTip = Template.bind({})
|
|
40
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
41
|
-
// @ts-ignore
|
|
42
|
-
WithErrorsInToolTip.args = { value: { ...samplePayload, ...{ _hash: '6fe3f745b1179fefa74cc3c7eab58321bee1c9ca9e34d9585467364cc5d3bbe2' } } }
|
|
43
|
-
|
|
44
|
-
const SkipBody = Template.bind({})
|
|
45
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
46
|
-
// @ts-ignore
|
|
47
|
-
SkipBody.args = {
|
|
48
|
-
skipBody: true,
|
|
49
|
-
value: { _hash: '44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a', _timestamp: new Date().getTime(), schema: 'network.xyo.test' },
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export { Default, SkipBody, WithErrorsInToolTip, WithViewSchemaLink }
|
|
53
|
-
|
|
54
|
-
// eslint-disable-next-line import/no-default-export
|
|
55
|
-
export default StorybookEntry
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { Typography } from '@mui/material'
|
|
2
|
-
import { FlexCol } from '@xylabs/react-flexbox'
|
|
3
|
-
import { XyoPayloadValidator } from '@xyo-network/payload'
|
|
4
|
-
import { Property, PropertyGroup } from '@xyo-network/react-property'
|
|
5
|
-
import { SchemaProperty } from '@xyo-network/react-schema'
|
|
6
|
-
|
|
7
|
-
import { PayloadValidationDetailsProps } from './ValidationDetailsProps'
|
|
8
|
-
|
|
9
|
-
export const PayloadValidationDetails: React.FC<PayloadValidationDetailsProps> = ({ viewSchemaUrl, skipBody = false, value, ...props }) => {
|
|
10
|
-
const validator = value ? new XyoPayloadValidator(value) : undefined
|
|
11
|
-
|
|
12
|
-
const bodyErrors = skipBody ? [] : validator?.body.validate() ?? []
|
|
13
|
-
const errors: Error[] = [...bodyErrors]
|
|
14
|
-
|
|
15
|
-
let elevation = 2
|
|
16
|
-
if (props.paper) {
|
|
17
|
-
elevation += props.elevation ?? 0
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
return (
|
|
21
|
-
<PropertyGroup titleProps={{ elevation }} title="Validation" tip="The results from validating the payload" {...props}>
|
|
22
|
-
<Property
|
|
23
|
-
titleProps={{ elevation }}
|
|
24
|
-
flexGrow={1}
|
|
25
|
-
title="Valid"
|
|
26
|
-
value={errors.length === 0 ? 'True' : 'False'}
|
|
27
|
-
tip={
|
|
28
|
-
errors.length > 0 ? (
|
|
29
|
-
<FlexCol>
|
|
30
|
-
{errors.map((error, index) => {
|
|
31
|
-
return <Typography key={index}>{error.toString()}</Typography>
|
|
32
|
-
})}
|
|
33
|
-
</FlexCol>
|
|
34
|
-
) : (
|
|
35
|
-
<Typography>No Errors</Typography>
|
|
36
|
-
)
|
|
37
|
-
}
|
|
38
|
-
/>
|
|
39
|
-
{value?.schema && <SchemaProperty flexGrow={1} titleProps={{ elevation }} value={value.schema} viewSchemaUrl={viewSchemaUrl} />}
|
|
40
|
-
</PropertyGroup>
|
|
41
|
-
)
|
|
42
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { XyoPayloadWithPartialMeta } from '@xyo-network/payload'
|
|
2
|
-
import { PropertyGroupProps } from '@xyo-network/react-property'
|
|
3
|
-
|
|
4
|
-
export type PayloadValidationDetailsProps = PropertyGroupProps & {
|
|
5
|
-
skipBody?: boolean
|
|
6
|
-
value?: XyoPayloadWithPartialMeta
|
|
7
|
-
viewSchemaUrl?: string
|
|
8
|
-
}
|
package/src/components/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Details'
|
|
@@ -1,46 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './useBuildHuri'
|
|
@@ -1,12 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { XyoPayloadDiviner } from '@xyo-network/diviner'
|
|
2
|
-
import { ContextExProviderProps } from '@xyo-network/react-shared'
|
|
3
|
-
import { useEffect, useState } from 'react'
|
|
4
|
-
|
|
5
|
-
import { PayloadDivinerContext } from './Context'
|
|
6
|
-
|
|
7
|
-
export type PayloadDivinerProviderProps = ContextExProviderProps<{
|
|
8
|
-
/** Required */
|
|
9
|
-
diviner?: XyoPayloadDiviner
|
|
10
|
-
}>
|
|
11
|
-
|
|
12
|
-
export const PayloadDivinerProvider: React.FC<PayloadDivinerProviderProps> = ({ diviner: divinerProp, required = false, children }) => {
|
|
13
|
-
const [diviner, setDiviner] = useState<XyoPayloadDiviner | undefined>(divinerProp)
|
|
14
|
-
|
|
15
|
-
useEffect(() => {
|
|
16
|
-
if (divinerProp) {
|
|
17
|
-
setDiviner(divinerProp)
|
|
18
|
-
}
|
|
19
|
-
}, [divinerProp])
|
|
20
|
-
|
|
21
|
-
return (
|
|
22
|
-
<PayloadDivinerContext.Provider
|
|
23
|
-
value={{
|
|
24
|
-
diviner: diviner === divinerProp ? diviner : undefined,
|
|
25
|
-
provided: true,
|
|
26
|
-
setDiviner,
|
|
27
|
-
}}
|
|
28
|
-
>
|
|
29
|
-
{diviner ? children : required ? null : children}
|
|
30
|
-
</PayloadDivinerContext.Provider>
|
|
31
|
-
)
|
|
32
|
-
}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { useAsyncEffect } from '@xylabs/react-shared'
|
|
2
|
-
import { XyoDivinerDivineQuerySchema, XyoHuriPayload, XyoHuriPayloadSchema } from '@xyo-network/diviner'
|
|
3
|
-
import { XyoPayload } from '@xyo-network/payload'
|
|
4
|
-
import { useContextEx } from '@xyo-network/react-shared'
|
|
5
|
-
import compact from 'lodash/compact'
|
|
6
|
-
import { Dispatch, useEffect, useState } from 'react'
|
|
7
|
-
|
|
8
|
-
import { PayloadDivinerContext } from './Context'
|
|
9
|
-
|
|
10
|
-
export const usePayloadDiviner = (required = false) => {
|
|
11
|
-
return useContextEx(PayloadDivinerContext, 'PayloadDiviner', required)
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export const useDivinePayload = <T extends XyoPayload = XyoPayload>(
|
|
15
|
-
huri?: string,
|
|
16
|
-
): [T | undefined | null, Dispatch<T | null | undefined>, Error | undefined] => {
|
|
17
|
-
const { diviner } = usePayloadDiviner()
|
|
18
|
-
const [payload, setPayload] = useState<T | null>()
|
|
19
|
-
const [error, setError] = useState<Error>()
|
|
20
|
-
|
|
21
|
-
useEffect(() => {
|
|
22
|
-
if (diviner) {
|
|
23
|
-
setPayload(undefined)
|
|
24
|
-
}
|
|
25
|
-
}, [diviner])
|
|
26
|
-
|
|
27
|
-
useAsyncEffect(
|
|
28
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
29
|
-
async (mounted) => {
|
|
30
|
-
if (huri && diviner && payload === undefined) {
|
|
31
|
-
try {
|
|
32
|
-
const huriPayload: XyoHuriPayload = { huri, schema: XyoHuriPayloadSchema }
|
|
33
|
-
const [, payloads] = (await diviner.query({ payloads: [huriPayload], schema: XyoDivinerDivineQuerySchema })) ?? []
|
|
34
|
-
if (mounted()) {
|
|
35
|
-
// if [0] returns undefined after the compact then no payloads were found so set payload state to null
|
|
36
|
-
const results = compact(payloads)[0] as T
|
|
37
|
-
setPayload(results ? results : null)
|
|
38
|
-
}
|
|
39
|
-
} catch (ex) {
|
|
40
|
-
if (mounted()) {
|
|
41
|
-
setError(ex as Error)
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
[diviner, huri, payload],
|
|
47
|
-
)
|
|
48
|
-
|
|
49
|
-
return [payload, setPayload, error]
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export const useDivinePayloads = <T extends XyoPayload = XyoPayload>(
|
|
53
|
-
huriList: string[],
|
|
54
|
-
): [(T | null)[] | undefined, Dispatch<(T | null)[] | undefined>, Error[] | undefined] => {
|
|
55
|
-
const { diviner } = usePayloadDiviner()
|
|
56
|
-
const [payloads, setPayloads] = useState<(T | null)[]>()
|
|
57
|
-
const [errors, setErrors] = useState<Error[]>()
|
|
58
|
-
|
|
59
|
-
useEffect(() => {
|
|
60
|
-
if (diviner) {
|
|
61
|
-
setPayloads(undefined)
|
|
62
|
-
}
|
|
63
|
-
}, [diviner])
|
|
64
|
-
|
|
65
|
-
useAsyncEffect(
|
|
66
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
67
|
-
async (mounted) => {
|
|
68
|
-
console.log(`huriList: ${JSON.stringify(huriList, null, 2)}`)
|
|
69
|
-
const payloads = await Promise.allSettled(
|
|
70
|
-
huriList.map(async (huri) => {
|
|
71
|
-
const huriPayload: XyoHuriPayload = { huri, schema: XyoHuriPayloadSchema }
|
|
72
|
-
const [, payloads] = (await diviner?.query({ payloads: [huriPayload], schema: XyoDivinerDivineQuerySchema })) ?? []
|
|
73
|
-
return compact(payloads)[0]
|
|
74
|
-
}),
|
|
75
|
-
)
|
|
76
|
-
if (mounted()) {
|
|
77
|
-
setPayloads([...payloads.values()].map((value) => (value.status === 'rejected' ? null : value.value)) as (T | null)[])
|
|
78
|
-
setErrors(
|
|
79
|
-
compact([...payloads.values()].map((value) => (value.status === 'rejected' ? Error('fivine failed', { cause: value.reason }) : undefined))),
|
|
80
|
-
)
|
|
81
|
-
if (mounted()) {
|
|
82
|
-
setPayloads([...payloads.values()].map((value) => (value.status === 'rejected' ? null : value.value)) as (T | null)[])
|
|
83
|
-
setErrors(
|
|
84
|
-
compact(
|
|
85
|
-
[...payloads.values()].map((value) => (value.status === 'rejected' ? Error('divine failed', { cause: value.reason }) : undefined)),
|
|
86
|
-
),
|
|
87
|
-
)
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
},
|
|
91
|
-
[diviner, huriList, payloads],
|
|
92
|
-
)
|
|
93
|
-
|
|
94
|
-
return [payloads, setPayloads, errors]
|
|
95
|
-
}
|
package/src/hooks/index.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { XyoNetworkPayload } from '@xyo-network/network'
|
|
2
|
-
import { Huri } from '@xyo-network/payload'
|
|
3
|
-
|
|
4
|
-
export const findHuriNetwork = (huriInstance: Huri, networks?: XyoNetworkPayload[]) => {
|
|
5
|
-
// see if huri archivist matches any archivist in the network configs
|
|
6
|
-
return networks
|
|
7
|
-
?.filter((network) =>
|
|
8
|
-
network.nodes?.find((node) => {
|
|
9
|
-
return node.type === 'archivist' && new URL(node.uri).hostname === huriInstance.archivist
|
|
10
|
-
}),
|
|
11
|
-
)
|
|
12
|
-
.shift()
|
|
13
|
-
}
|
package/src/hooks/lib/index.ts
DELETED