@xyo-network/react-node 2.45.0-rc.9 → 2.45.0

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.
Files changed (118) hide show
  1. package/dist/cjs/hooks/index.js +2 -9
  2. package/dist/cjs/hooks/index.js.map +1 -1
  3. package/dist/cjs/hooks/useMemoryNodeUpdates.js +1 -1
  4. package/dist/cjs/hooks/useMemoryNodeUpdates.js.map +1 -1
  5. package/dist/cjs/hooks/useModule.js +71 -3
  6. package/dist/cjs/hooks/useModule.js.map +1 -1
  7. package/dist/cjs/hooks/useModules.js +29 -6
  8. package/dist/cjs/hooks/useModules.js.map +1 -1
  9. package/dist/cjs/hooks/useNode.js +44 -52
  10. package/dist/cjs/hooks/useNode.js.map +1 -1
  11. package/dist/cjs/hooks/{useModuleAddresses.js → useNodeAttachedAddresses.js} +9 -9
  12. package/dist/cjs/hooks/useNodeAttachedAddresses.js.map +1 -0
  13. package/dist/cjs/hooks/useProvidedNode.js +29 -15
  14. package/dist/cjs/hooks/useProvidedNode.js.map +1 -1
  15. package/dist/cjs/hooks/useWrappedModule.js +49 -0
  16. package/dist/cjs/hooks/useWrappedModule.js.map +1 -0
  17. package/dist/docs.json +767 -2334
  18. package/dist/esm/hooks/index.js +2 -9
  19. package/dist/esm/hooks/index.js.map +1 -1
  20. package/dist/esm/hooks/useMemoryNodeUpdates.js +1 -1
  21. package/dist/esm/hooks/useMemoryNodeUpdates.js.map +1 -1
  22. package/dist/esm/hooks/useModule.js +69 -3
  23. package/dist/esm/hooks/useModule.js.map +1 -1
  24. package/dist/esm/hooks/useModules.js +30 -7
  25. package/dist/esm/hooks/useModules.js.map +1 -1
  26. package/dist/esm/hooks/useNode.js +43 -50
  27. package/dist/esm/hooks/useNode.js.map +1 -1
  28. package/dist/esm/hooks/useNodeAttachedAddresses.js +17 -0
  29. package/dist/esm/hooks/useNodeAttachedAddresses.js.map +1 -0
  30. package/dist/esm/hooks/useProvidedNode.js +27 -15
  31. package/dist/esm/hooks/useProvidedNode.js.map +1 -1
  32. package/dist/esm/hooks/useWrappedModule.js +45 -0
  33. package/dist/esm/hooks/useWrappedModule.js.map +1 -0
  34. package/dist/types/hooks/index.d.ts +2 -9
  35. package/dist/types/hooks/index.d.ts.map +1 -1
  36. package/dist/types/hooks/useModule.d.ts +23 -58
  37. package/dist/types/hooks/useModule.d.ts.map +1 -1
  38. package/dist/types/hooks/useModules.d.ts +5 -5
  39. package/dist/types/hooks/useModules.d.ts.map +1 -1
  40. package/dist/types/hooks/useNode.d.ts +3 -59
  41. package/dist/types/hooks/useNode.d.ts.map +1 -1
  42. package/dist/types/hooks/useNodeAttachedAddresses.d.ts +2 -0
  43. package/dist/types/hooks/useNodeAttachedAddresses.d.ts.map +1 -0
  44. package/dist/types/hooks/useProvidedNode.d.ts +3 -6
  45. package/dist/types/hooks/useProvidedNode.d.ts.map +1 -1
  46. package/dist/types/hooks/useWrappedModule.d.ts +39 -0
  47. package/dist/types/hooks/useWrappedModule.d.ts.map +1 -0
  48. package/package.json +16 -17
  49. package/src/components/Node.stories.tsx +36 -10
  50. package/src/hooks/index.ts +2 -9
  51. package/src/hooks/useMemoryNodeUpdates.tsx +1 -1
  52. package/src/hooks/useModule.tsx +77 -3
  53. package/src/hooks/useModules.ts +30 -10
  54. package/src/hooks/useNode.tsx +40 -72
  55. package/src/hooks/{useModuleAddresses.ts → useNodeAttachedAddresses.ts} +6 -6
  56. package/src/hooks/useProvidedNode.tsx +31 -18
  57. package/src/hooks/useWrappedModule.tsx +61 -0
  58. package/dist/cjs/hooks/useArchiveArchivists.js +0 -38
  59. package/dist/cjs/hooks/useArchiveArchivists.js.map +0 -1
  60. package/dist/cjs/hooks/useArchivistModule.js +0 -12
  61. package/dist/cjs/hooks/useArchivistModule.js.map +0 -1
  62. package/dist/cjs/hooks/useArchivistModules.js +0 -11
  63. package/dist/cjs/hooks/useArchivistModules.js.map +0 -1
  64. package/dist/cjs/hooks/useDivinerModule.js +0 -12
  65. package/dist/cjs/hooks/useDivinerModule.js.map +0 -1
  66. package/dist/cjs/hooks/useDivinerModules.js +0 -12
  67. package/dist/cjs/hooks/useDivinerModules.js.map +0 -1
  68. package/dist/cjs/hooks/useModuleAddresses.js.map +0 -1
  69. package/dist/cjs/hooks/useNodeQueryDiviner.js +0 -43
  70. package/dist/cjs/hooks/useNodeQueryDiviner.js.map +0 -1
  71. package/dist/cjs/hooks/useWitnessModule.js +0 -12
  72. package/dist/cjs/hooks/useWitnessModule.js.map +0 -1
  73. package/dist/cjs/hooks/useWitnessModules.js +0 -11
  74. package/dist/cjs/hooks/useWitnessModules.js.map +0 -1
  75. package/dist/esm/hooks/useArchiveArchivists.js +0 -33
  76. package/dist/esm/hooks/useArchiveArchivists.js.map +0 -1
  77. package/dist/esm/hooks/useArchivistModule.js +0 -8
  78. package/dist/esm/hooks/useArchivistModule.js.map +0 -1
  79. package/dist/esm/hooks/useArchivistModules.js +0 -7
  80. package/dist/esm/hooks/useArchivistModules.js.map +0 -1
  81. package/dist/esm/hooks/useDivinerModule.js +0 -8
  82. package/dist/esm/hooks/useDivinerModule.js.map +0 -1
  83. package/dist/esm/hooks/useDivinerModules.js +0 -8
  84. package/dist/esm/hooks/useDivinerModules.js.map +0 -1
  85. package/dist/esm/hooks/useModuleAddresses.js +0 -17
  86. package/dist/esm/hooks/useModuleAddresses.js.map +0 -1
  87. package/dist/esm/hooks/useNodeQueryDiviner.js +0 -37
  88. package/dist/esm/hooks/useNodeQueryDiviner.js.map +0 -1
  89. package/dist/esm/hooks/useWitnessModule.js +0 -8
  90. package/dist/esm/hooks/useWitnessModule.js.map +0 -1
  91. package/dist/esm/hooks/useWitnessModules.js +0 -7
  92. package/dist/esm/hooks/useWitnessModules.js.map +0 -1
  93. package/dist/types/hooks/useArchiveArchivists.d.ts +0 -9
  94. package/dist/types/hooks/useArchiveArchivists.d.ts.map +0 -1
  95. package/dist/types/hooks/useArchivistModule.d.ts +0 -4
  96. package/dist/types/hooks/useArchivistModule.d.ts.map +0 -1
  97. package/dist/types/hooks/useArchivistModules.d.ts +0 -3
  98. package/dist/types/hooks/useArchivistModules.d.ts.map +0 -1
  99. package/dist/types/hooks/useDivinerModule.d.ts +0 -4
  100. package/dist/types/hooks/useDivinerModule.d.ts.map +0 -1
  101. package/dist/types/hooks/useDivinerModules.d.ts +0 -3
  102. package/dist/types/hooks/useDivinerModules.d.ts.map +0 -1
  103. package/dist/types/hooks/useModuleAddresses.d.ts +0 -2
  104. package/dist/types/hooks/useModuleAddresses.d.ts.map +0 -1
  105. package/dist/types/hooks/useNodeQueryDiviner.d.ts +0 -6
  106. package/dist/types/hooks/useNodeQueryDiviner.d.ts.map +0 -1
  107. package/dist/types/hooks/useWitnessModule.d.ts +0 -4
  108. package/dist/types/hooks/useWitnessModule.d.ts.map +0 -1
  109. package/dist/types/hooks/useWitnessModules.d.ts +0 -3
  110. package/dist/types/hooks/useWitnessModules.d.ts.map +0 -1
  111. package/src/hooks/useArchiveArchivists.tsx +0 -49
  112. package/src/hooks/useArchivistModule.ts +0 -10
  113. package/src/hooks/useArchivistModules.ts +0 -8
  114. package/src/hooks/useDivinerModule.ts +0 -10
  115. package/src/hooks/useDivinerModules.ts +0 -9
  116. package/src/hooks/useNodeQueryDiviner.tsx +0 -54
  117. package/src/hooks/useWitnessModule.ts +0 -10
  118. package/src/hooks/useWitnessModules.ts +0 -8
@@ -1,49 +0,0 @@
1
- import { ArchivistWrapper } from '@xyo-network/archivist'
2
- import { usePromise } from '@xyo-network/react-shared'
3
- import { useCallback, useMemo } from 'react'
4
-
5
- import { useMemoryNodeUpdates } from './useMemoryNodeUpdates'
6
- import { useProvidedNode } from './useProvidedNode'
7
-
8
- interface UseArchiveArchivists {
9
- archiveBoundWitnessWrapper: ArchivistWrapper
10
- archivePayloadWrapper: ArchivistWrapper
11
- }
12
-
13
- export const useArchiveArchivistsRaw = (archiveName?: string, refresher?: unknown): UseArchiveArchivists | undefined => {
14
- const [node] = useProvidedNode(true)
15
-
16
- const buildReq = useCallback(
17
- (type: 'payload' | 'boundwitness') =>
18
- (archiveName && node) || refresher
19
- ? node?.resolveWrapped(ArchivistWrapper, { name: [encodeURIComponent(`${archiveName}[${type}]`)] })
20
- : undefined,
21
- [archiveName, node, refresher],
22
- )
23
-
24
- const payloadArchivistReq = useMemo(() => buildReq('payload'), [buildReq])
25
- const boundWitnessArchivistReq = useMemo(() => buildReq('boundwitness'), [buildReq])
26
-
27
- const [archivePayloadWrapper] = usePromise(payloadArchivistReq, [payloadArchivistReq])
28
- const [archiveBoundWitnessWrapper] = usePromise(boundWitnessArchivistReq, [boundWitnessArchivistReq])
29
-
30
- const archivists = useMemo(() => {
31
- if (archiveBoundWitnessWrapper?.[0] && archivePayloadWrapper?.[0]) {
32
- return {
33
- archiveBoundWitnessWrapper: archiveBoundWitnessWrapper[0] as ArchivistWrapper,
34
- archivePayloadWrapper: archivePayloadWrapper[0] as ArchivistWrapper,
35
- }
36
- } else {
37
- return
38
- }
39
- }, [archiveBoundWitnessWrapper, archivePayloadWrapper])
40
-
41
- return archivists
42
- }
43
-
44
- export const useArchiveArchivists = (archiveName?: string, refresher?: unknown, refreshAddresses?: string[]) => {
45
- const { module } = useMemoryNodeUpdates(refreshAddresses)
46
- const archivists = useArchiveArchivistsRaw(archiveName, refresher ?? module)
47
-
48
- return archivists
49
- }
@@ -1,10 +0,0 @@
1
- import { ArchivistWrapper } from '@xyo-network/archivist'
2
- import { ModuleFilter } from '@xyo-network/module'
3
-
4
- import { useModules } from './useModules'
5
-
6
- export const useArchivistModule = (filter?: ModuleFilter) => {
7
- const modules = useModules(filter)
8
- const foundModule = modules?.shift()
9
- return foundModule ? new ArchivistWrapper(foundModule) : undefined
10
- }
@@ -1,8 +0,0 @@
1
- import { ArchivistGetQuerySchema, ArchivistWrapper } from '@xyo-network/archivist'
2
-
3
- import { useModules } from './useModules'
4
-
5
- export const useArchivistModules = () => {
6
- const modules = useModules({ query: [[ArchivistGetQuerySchema]] })
7
- return modules?.map((module) => new ArchivistWrapper(module))
8
- }
@@ -1,10 +0,0 @@
1
- import { DivinerWrapper } from '@xyo-network/diviner-wrapper'
2
- import { ModuleFilter } from '@xyo-network/module-model'
3
-
4
- import { useModules } from './useModules'
5
-
6
- export const useDivinerModule = (filter?: ModuleFilter) => {
7
- const modules = useModules(filter)
8
- const foundModule = modules?.shift()
9
- return foundModule ? new DivinerWrapper(foundModule) : undefined
10
- }
@@ -1,9 +0,0 @@
1
- import { XyoDivinerDivineQuerySchema } from '@xyo-network/diviner-model'
2
- import { DivinerWrapper } from '@xyo-network/diviner-wrapper'
3
-
4
- import { useModules } from './useModules'
5
-
6
- export const useDivinerModules = () => {
7
- const modules = useModules({ query: [[XyoDivinerDivineQuerySchema]] })
8
- return modules?.map((module) => new DivinerWrapper(module))
9
- }
@@ -1,54 +0,0 @@
1
- import { useAsyncEffect } from '@xylabs/react-shared'
2
- import { DivinerWrapper } from '@xyo-network/diviner-wrapper'
3
- import { XyoPayload, XyoPayloads } from '@xyo-network/payload-model'
4
- import { assertDefinedEx } from '@xyo-network/react-shared'
5
- import { useState } from 'react'
6
-
7
- import { useMemoryNodeUpdates } from './useMemoryNodeUpdates'
8
- import { useProvidedNode } from './useProvidedNode'
9
-
10
- export const useNodeQueryDivinerRaw = (
11
- moduleIdentifier?: string,
12
- query?: XyoPayload,
13
- refresher?: boolean,
14
- ): [XyoPayloads | undefined, Error | undefined] => {
15
- const [result, setResult] = useState<XyoPayloads>()
16
- const [error, setError] = useState<Error>()
17
- const [node] = useProvidedNode()
18
-
19
- useAsyncEffect(
20
- // eslint-disable-next-line react-hooks/exhaustive-deps
21
- async () => {
22
- if (moduleIdentifier && query && node && refresher) {
23
- try {
24
- const divinerModule = (await node.downResolver.resolve({ name: [moduleIdentifier] })).pop()
25
- assertDefinedEx(divinerModule, `Unable to find moduleIdentifier: ${moduleIdentifier}`)
26
- const diviner = DivinerWrapper.wrap(assertDefinedEx(divinerModule, `Unable to find moduleIdentifier: ${moduleIdentifier}`))
27
-
28
- const result = await diviner.divine([query])
29
- setResult(result)
30
- setError(undefined)
31
- } catch (e) {
32
- console.error(e)
33
- setResult(undefined)
34
- setError(e as Error)
35
- }
36
- }
37
- },
38
- [moduleIdentifier, node, query, refresher],
39
- )
40
-
41
- return [result, error]
42
- }
43
-
44
- export const useNodeQueryDiviner = (
45
- moduleIdentifier?: string,
46
- query?: XyoPayload,
47
- refresher?: boolean,
48
- refreshAddresses?: string[],
49
- ): ReturnType<typeof useNodeQueryDivinerRaw> => {
50
- const { module } = useMemoryNodeUpdates(refreshAddresses)
51
- const [result, error] = useNodeQueryDivinerRaw(moduleIdentifier, query, refresher ?? !!module)
52
-
53
- return [result, error]
54
- }
@@ -1,10 +0,0 @@
1
- import { ModuleFilter } from '@xyo-network/module'
2
- import { WitnessWrapper } from '@xyo-network/witness'
3
-
4
- import { useModules } from './useModules'
5
-
6
- export const useWitnessModule = (filter?: ModuleFilter) => {
7
- const modules = useModules(filter)
8
- const foundModule = modules?.shift()
9
- return foundModule ? new WitnessWrapper(foundModule) : undefined
10
- }
@@ -1,8 +0,0 @@
1
- import { WitnessWrapper, XyoWitnessObserveQuerySchema } from '@xyo-network/witness'
2
-
3
- import { useModules } from './useModules'
4
-
5
- export const useWitnessModules = () => {
6
- const modules = useModules({ query: [[XyoWitnessObserveQuerySchema]] })
7
- return modules?.map((module) => new WitnessWrapper(module))
8
- }