@xyo-network/react-payload 2.28.8 → 2.28.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.
@@ -1,5 +1,14 @@
1
1
  import { XyoPayload } from '@xyo-network/payload';
2
+ import { Dispatch } from 'react';
2
3
  export declare const usePayloadDiviner: (required?: boolean) => Omit<import("./State").PayloadDivinerState & import("@xyo-network/react-shared").ContextExState, "provided">;
3
- export declare const useDivinePayload: (huri?: string) => [XyoPayload | undefined | null, Error | undefined];
4
- export declare const useDivinePayloads: (huriList: string[]) => [(XyoPayload | null)[] | undefined, Error[] | undefined];
4
+ export declare const useDivinePayload: <T extends XyoPayload<{
5
+ schema: string;
6
+ }> = XyoPayload<{
7
+ schema: string;
8
+ }>>(huri?: string) => [T | null | undefined, Dispatch<T | null | undefined>, Error | undefined];
9
+ export declare const useDivinePayloads: <T extends XyoPayload<{
10
+ schema: string;
11
+ }> = XyoPayload<{
12
+ schema: string;
13
+ }>>(huriList: string[]) => [(T | null)[] | undefined, Dispatch<(T | null)[] | undefined>, Error[] | undefined];
5
14
  //# sourceMappingURL=use.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/contexts/PayloadDiviner/use.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAOjD,eAAO,MAAM,iBAAiB,sIAE7B,CAAA;AAED,eAAO,MAAM,gBAAgB,UAAW,MAAM,KAAG,CAAC,UAAU,GAAG,SAAS,GAAG,IAAI,EAAE,KAAK,GAAG,SAAS,CAyBjG,CAAA;AAED,eAAO,MAAM,iBAAiB,aAAc,MAAM,EAAE,KAAG,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,GAAG,SAAS,CA4B7G,CAAA"}
1
+ {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/contexts/PayloadDiviner/use.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD,OAAO,EAAE,QAAQ,EAAY,MAAM,OAAO,CAAA;AAI1C,eAAO,MAAM,iBAAiB,sIAE7B,CAAA;AAED,eAAO,MAAM,gBAAgB;;;;WACpB,MAAM,8EA0Bd,CAAA;AAED,eAAO,MAAM,iBAAiB;;;;cAClB,MAAM,EAAE,wFA+BnB,CAAA"}
@@ -14,7 +14,7 @@ export const useDivinePayload = (huri) => {
14
14
  useAsyncEffect(
15
15
  // eslint-disable-next-line react-hooks/exhaustive-deps
16
16
  async (mounted) => {
17
- if (huri) {
17
+ if (huri && payload === undefined) {
18
18
  try {
19
19
  const [, payloads] = (await diviner?.query({ huri, schema: XyoPayloadDivinerQueryPayloadSchema })) ?? [];
20
20
  if (mounted()) {
@@ -27,8 +27,8 @@ export const useDivinePayload = (huri) => {
27
27
  }
28
28
  }
29
29
  }
30
- }, [diviner, huri]);
31
- return [payload, error];
30
+ }, [diviner, huri, payload]);
31
+ return [payload, setPayload, error];
32
32
  };
33
33
  export const useDivinePayloads = (huriList) => {
34
34
  const { diviner } = usePayloadDiviner();
@@ -37,17 +37,18 @@ export const useDivinePayloads = (huriList) => {
37
37
  useAsyncEffect(
38
38
  // eslint-disable-next-line react-hooks/exhaustive-deps
39
39
  async (mounted) => {
40
- console.log(`huriList: ${JSON.stringify(huriList, null, 2)}`);
41
- const payloads = await Promise.allSettled(huriList.map(async (huri) => {
42
- const [, payloads] = (await diviner?.query({ huri, schema: XyoPayloadDivinerQueryPayloadSchema })) ?? [];
43
- return compact(payloads)[0];
44
- }));
45
- if (mounted()) {
46
- setPayloads([...payloads.values()].map((value) => (value.status === 'rejected' ? null : value.value)));
47
- setErrors(compact([...payloads.values()].map((value) => (value.status === 'rejected' ? Error('fivine failed', { cause: value.reason }) : undefined))));
40
+ if (payloads === undefined) {
41
+ console.log(`huriList: ${JSON.stringify(huriList, null, 2)}`);
42
+ const payloads = await Promise.allSettled(huriList.map(async (huri) => {
43
+ const [, payloads] = (await diviner?.query({ huri, schema: XyoPayloadDivinerQueryPayloadSchema })) ?? [];
44
+ return compact(payloads)[0];
45
+ }));
46
+ if (mounted()) {
47
+ setPayloads([...payloads.values()].map((value) => (value.status === 'rejected' ? null : value.value)));
48
+ setErrors(compact([...payloads.values()].map((value) => (value.status === 'rejected' ? Error('divine failed', { cause: value.reason }) : undefined))));
49
+ }
48
50
  }
49
- }, [diviner, huriList]);
50
- console.log(`payloads: ${JSON.stringify(payloads, null, 2)}`);
51
- return [payloads, errors];
51
+ }, [diviner, huriList, payloads]);
52
+ return [payloads, setPayloads, errors];
52
53
  };
53
54
  //# sourceMappingURL=use.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../src/contexts/PayloadDiviner/use.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../src/contexts/PayloadDiviner/use.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -18,20 +18,20 @@
18
18
  "@xylabs/react-flexbox": "^2.14.13",
19
19
  "@xylabs/react-quick-tip-button": "^2.14.13",
20
20
  "@xylabs/react-shared": "^2.14.13",
21
- "@xyo-network/account": "^2.26.18",
22
- "@xyo-network/api": "^2.26.18",
23
- "@xyo-network/archivist": "^2.26.18",
24
- "@xyo-network/diviner": "^2.26.18",
25
- "@xyo-network/network": "^2.26.18",
26
- "@xyo-network/payload": "^2.26.18",
27
- "@xyo-network/react-archive": "^2.28.8",
28
- "@xyo-network/react-archivist": "^2.28.8",
29
- "@xyo-network/react-archivist-api": "^2.28.8",
30
- "@xyo-network/react-network": "^2.28.8",
31
- "@xyo-network/react-property": "^2.28.8",
32
- "@xyo-network/react-schema": "^2.28.8",
33
- "@xyo-network/react-shared": "^2.28.8",
34
- "@xyo-network/utils": "^2.26.18",
21
+ "@xyo-network/account": "^2.26.20",
22
+ "@xyo-network/api": "^2.26.20",
23
+ "@xyo-network/archivist": "^2.26.20",
24
+ "@xyo-network/diviner": "^2.26.20",
25
+ "@xyo-network/network": "^2.26.20",
26
+ "@xyo-network/payload": "^2.26.20",
27
+ "@xyo-network/react-archive": "^2.28.11",
28
+ "@xyo-network/react-archivist": "^2.28.11",
29
+ "@xyo-network/react-archivist-api": "^2.28.11",
30
+ "@xyo-network/react-network": "^2.28.11",
31
+ "@xyo-network/react-property": "^2.28.11",
32
+ "@xyo-network/react-schema": "^2.28.11",
33
+ "@xyo-network/react-shared": "^2.28.11",
34
+ "@xyo-network/utils": "^2.26.20",
35
35
  "lodash": "^4.17.21",
36
36
  "react": "^18.2.0",
37
37
  "react-dom": "^18.2.0",
@@ -42,8 +42,8 @@
42
42
  "description": "Common React library for all XYO projects that use React",
43
43
  "devDependencies": {
44
44
  "@storybook/react": "^6.5.10",
45
- "@xylabs/tsconfig-dom": "^2.5.121",
46
- "@xyo-network/react-storybook": "^2.28.8"
45
+ "@xylabs/tsconfig-dom": "^2.5.123",
46
+ "@xyo-network/react-storybook": "^2.28.11"
47
47
  },
48
48
  "browser": "dist/esm/index.js",
49
49
  "docs": "dist/docs.json",
@@ -87,5 +87,5 @@
87
87
  },
88
88
  "sideEffects": false,
89
89
  "types": "dist/esm/index.d.ts",
90
- "version": "2.28.8"
90
+ "version": "2.28.11"
91
91
  }
@@ -3,7 +3,7 @@ import { XyoPayloadDivinerQueryPayloadSchema } from '@xyo-network/diviner'
3
3
  import { XyoPayload } from '@xyo-network/payload'
4
4
  import { useContextEx } from '@xyo-network/react-shared'
5
5
  import compact from 'lodash/compact'
6
- import { useState } from 'react'
6
+ import { Dispatch, useState } from 'react'
7
7
 
8
8
  import { PayloadDivinerContext } from './Context'
9
9
 
@@ -11,19 +11,21 @@ export const usePayloadDiviner = (required = false) => {
11
11
  return useContextEx(PayloadDivinerContext, 'PayloadDiviner', required)
12
12
  }
13
13
 
14
- export const useDivinePayload = (huri?: string): [XyoPayload | undefined | null, Error | undefined] => {
14
+ export const useDivinePayload = <T extends XyoPayload = XyoPayload>(
15
+ huri?: string,
16
+ ): [T | undefined | null, Dispatch<T | null | undefined>, Error | undefined] => {
15
17
  const { diviner } = usePayloadDiviner()
16
- const [payload, setPayload] = useState<XyoPayload | null>()
18
+ const [payload, setPayload] = useState<T | null>()
17
19
  const [error, setError] = useState<Error>()
18
20
 
19
21
  useAsyncEffect(
20
22
  // eslint-disable-next-line react-hooks/exhaustive-deps
21
23
  async (mounted) => {
22
- if (huri) {
24
+ if (huri && payload === undefined) {
23
25
  try {
24
26
  const [, payloads] = (await diviner?.query({ huri, schema: XyoPayloadDivinerQueryPayloadSchema })) ?? []
25
27
  if (mounted()) {
26
- setPayload(compact(payloads)[0])
28
+ setPayload(compact(payloads)[0] as T)
27
29
  }
28
30
  } catch (ex) {
29
31
  if (mounted()) {
@@ -32,38 +34,42 @@ export const useDivinePayload = (huri?: string): [XyoPayload | undefined | null,
32
34
  }
33
35
  }
34
36
  },
35
- [diviner, huri],
37
+ [diviner, huri, payload],
36
38
  )
37
39
 
38
- return [payload, error]
40
+ return [payload, setPayload, error]
39
41
  }
40
42
 
41
- export const useDivinePayloads = (huriList: string[]): [(XyoPayload | null)[] | undefined, Error[] | undefined] => {
43
+ export const useDivinePayloads = <T extends XyoPayload = XyoPayload>(
44
+ huriList: string[],
45
+ ): [(T | null)[] | undefined, Dispatch<(T | null)[] | undefined>, Error[] | undefined] => {
42
46
  const { diviner } = usePayloadDiviner()
43
- const [payloads, setPayloads] = useState<(XyoPayload | null)[]>()
47
+ const [payloads, setPayloads] = useState<(T | null)[]>()
44
48
  const [errors, setErrors] = useState<Error[]>()
45
49
 
46
50
  useAsyncEffect(
47
51
  // eslint-disable-next-line react-hooks/exhaustive-deps
48
52
  async (mounted) => {
49
- console.log(`huriList: ${JSON.stringify(huriList, null, 2)}`)
50
- const payloads = await Promise.allSettled(
51
- huriList.map(async (huri) => {
52
- const [, payloads] = (await diviner?.query({ huri, schema: XyoPayloadDivinerQueryPayloadSchema })) ?? []
53
- return compact(payloads)[0]
54
- }),
55
- )
56
- if (mounted()) {
57
- setPayloads([...payloads.values()].map((value) => (value.status === 'rejected' ? null : value.value)))
58
- setErrors(
59
- compact([...payloads.values()].map((value) => (value.status === 'rejected' ? Error('fivine failed', { cause: value.reason }) : undefined))),
53
+ if (payloads === undefined) {
54
+ console.log(`huriList: ${JSON.stringify(huriList, null, 2)}`)
55
+ const payloads = await Promise.allSettled(
56
+ huriList.map(async (huri) => {
57
+ const [, payloads] = (await diviner?.query({ huri, schema: XyoPayloadDivinerQueryPayloadSchema })) ?? []
58
+ return compact(payloads)[0]
59
+ }),
60
60
  )
61
+ if (mounted()) {
62
+ setPayloads([...payloads.values()].map((value) => (value.status === 'rejected' ? null : value.value)) as (T | null)[])
63
+ setErrors(
64
+ compact(
65
+ [...payloads.values()].map((value) => (value.status === 'rejected' ? Error('divine failed', { cause: value.reason }) : undefined)),
66
+ ),
67
+ )
68
+ }
61
69
  }
62
70
  },
63
- [diviner, huriList],
71
+ [diviner, huriList, payloads],
64
72
  )
65
73
 
66
- console.log(`payloads: ${JSON.stringify(payloads, null, 2)}`)
67
-
68
- return [payloads, errors]
74
+ return [payloads, setPayloads, errors]
69
75
  }