@xyo-network/react-payload-diviner 2.64.8 → 2.64.10

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 (98) hide show
  1. package/dist/docs.json +26 -26
  2. package/package.json +10 -10
  3. package/dist/browser/contexts/DivinedPayload/Context.cjs +0 -28
  4. package/dist/browser/contexts/DivinedPayload/Context.cjs.map +0 -1
  5. package/dist/browser/contexts/DivinedPayload/Context.js +0 -7
  6. package/dist/browser/contexts/DivinedPayload/Context.js.map +0 -1
  7. package/dist/browser/contexts/DivinedPayload/Provider.cjs +0 -111
  8. package/dist/browser/contexts/DivinedPayload/Provider.cjs.map +0 -1
  9. package/dist/browser/contexts/DivinedPayload/Provider.js +0 -90
  10. package/dist/browser/contexts/DivinedPayload/Provider.js.map +0 -1
  11. package/dist/browser/contexts/DivinedPayload/State.cjs +0 -19
  12. package/dist/browser/contexts/DivinedPayload/State.cjs.map +0 -1
  13. package/dist/browser/contexts/DivinedPayload/State.js +0 -1
  14. package/dist/browser/contexts/DivinedPayload/State.js.map +0 -1
  15. package/dist/browser/contexts/DivinedPayload/index.cjs +0 -115
  16. package/dist/browser/contexts/DivinedPayload/index.cjs.map +0 -1
  17. package/dist/browser/contexts/DivinedPayload/index.js +0 -92
  18. package/dist/browser/contexts/DivinedPayload/index.js.map +0 -1
  19. package/dist/browser/contexts/DivinedPayload/use.cjs +0 -34
  20. package/dist/browser/contexts/DivinedPayload/use.cjs.map +0 -1
  21. package/dist/browser/contexts/DivinedPayload/use.js +0 -13
  22. package/dist/browser/contexts/DivinedPayload/use.js.map +0 -1
  23. package/dist/browser/contexts/PayloadDiviner/Context.cjs +0 -28
  24. package/dist/browser/contexts/PayloadDiviner/Context.cjs.map +0 -1
  25. package/dist/browser/contexts/PayloadDiviner/Context.js +0 -7
  26. package/dist/browser/contexts/PayloadDiviner/Context.js.map +0 -1
  27. package/dist/browser/contexts/PayloadDiviner/Provider.cjs +0 -53
  28. package/dist/browser/contexts/PayloadDiviner/Provider.cjs.map +0 -1
  29. package/dist/browser/contexts/PayloadDiviner/Provider.js +0 -32
  30. package/dist/browser/contexts/PayloadDiviner/Provider.js.map +0 -1
  31. package/dist/browser/contexts/PayloadDiviner/State.cjs +0 -19
  32. package/dist/browser/contexts/PayloadDiviner/State.cjs.map +0 -1
  33. package/dist/browser/contexts/PayloadDiviner/State.js +0 -1
  34. package/dist/browser/contexts/PayloadDiviner/State.js.map +0 -1
  35. package/dist/browser/contexts/PayloadDiviner/index.cjs +0 -136
  36. package/dist/browser/contexts/PayloadDiviner/index.cjs.map +0 -1
  37. package/dist/browser/contexts/PayloadDiviner/index.js +0 -113
  38. package/dist/browser/contexts/PayloadDiviner/index.js.map +0 -1
  39. package/dist/browser/contexts/PayloadDiviner/use.cjs +0 -111
  40. package/dist/browser/contexts/PayloadDiviner/use.cjs.map +0 -1
  41. package/dist/browser/contexts/PayloadDiviner/use.js +0 -90
  42. package/dist/browser/contexts/PayloadDiviner/use.js.map +0 -1
  43. package/dist/browser/contexts/index.cjs +0 -182
  44. package/dist/browser/contexts/index.cjs.map +0 -1
  45. package/dist/browser/contexts/index.js +0 -159
  46. package/dist/browser/contexts/index.js.map +0 -1
  47. package/dist/browser/types/images.d.cjs +0 -2
  48. package/dist/browser/types/images.d.cjs.map +0 -1
  49. package/dist/browser/types/images.d.js +0 -1
  50. package/dist/browser/types/images.d.js.map +0 -1
  51. package/dist/node/contexts/DivinedPayload/Context.cjs +0 -32
  52. package/dist/node/contexts/DivinedPayload/Context.cjs.map +0 -1
  53. package/dist/node/contexts/DivinedPayload/Context.js +0 -7
  54. package/dist/node/contexts/DivinedPayload/Context.js.map +0 -1
  55. package/dist/node/contexts/DivinedPayload/Provider.cjs +0 -117
  56. package/dist/node/contexts/DivinedPayload/Provider.cjs.map +0 -1
  57. package/dist/node/contexts/DivinedPayload/Provider.js +0 -90
  58. package/dist/node/contexts/DivinedPayload/Provider.js.map +0 -1
  59. package/dist/node/contexts/DivinedPayload/State.cjs +0 -19
  60. package/dist/node/contexts/DivinedPayload/State.cjs.map +0 -1
  61. package/dist/node/contexts/DivinedPayload/State.js +0 -1
  62. package/dist/node/contexts/DivinedPayload/State.js.map +0 -1
  63. package/dist/node/contexts/DivinedPayload/index.cjs +0 -123
  64. package/dist/node/contexts/DivinedPayload/index.cjs.map +0 -1
  65. package/dist/node/contexts/DivinedPayload/index.js +0 -92
  66. package/dist/node/contexts/DivinedPayload/index.js.map +0 -1
  67. package/dist/node/contexts/DivinedPayload/use.cjs +0 -38
  68. package/dist/node/contexts/DivinedPayload/use.cjs.map +0 -1
  69. package/dist/node/contexts/DivinedPayload/use.js +0 -13
  70. package/dist/node/contexts/DivinedPayload/use.js.map +0 -1
  71. package/dist/node/contexts/PayloadDiviner/Context.cjs +0 -32
  72. package/dist/node/contexts/PayloadDiviner/Context.cjs.map +0 -1
  73. package/dist/node/contexts/PayloadDiviner/Context.js +0 -7
  74. package/dist/node/contexts/PayloadDiviner/Context.js.map +0 -1
  75. package/dist/node/contexts/PayloadDiviner/Provider.cjs +0 -57
  76. package/dist/node/contexts/PayloadDiviner/Provider.cjs.map +0 -1
  77. package/dist/node/contexts/PayloadDiviner/Provider.js +0 -32
  78. package/dist/node/contexts/PayloadDiviner/Provider.js.map +0 -1
  79. package/dist/node/contexts/PayloadDiviner/State.cjs +0 -19
  80. package/dist/node/contexts/PayloadDiviner/State.cjs.map +0 -1
  81. package/dist/node/contexts/PayloadDiviner/State.js +0 -1
  82. package/dist/node/contexts/PayloadDiviner/State.js.map +0 -1
  83. package/dist/node/contexts/PayloadDiviner/index.cjs +0 -144
  84. package/dist/node/contexts/PayloadDiviner/index.cjs.map +0 -1
  85. package/dist/node/contexts/PayloadDiviner/index.js +0 -113
  86. package/dist/node/contexts/PayloadDiviner/index.js.map +0 -1
  87. package/dist/node/contexts/PayloadDiviner/use.cjs +0 -117
  88. package/dist/node/contexts/PayloadDiviner/use.cjs.map +0 -1
  89. package/dist/node/contexts/PayloadDiviner/use.js +0 -90
  90. package/dist/node/contexts/PayloadDiviner/use.js.map +0 -1
  91. package/dist/node/contexts/index.cjs +0 -195
  92. package/dist/node/contexts/index.cjs.map +0 -1
  93. package/dist/node/contexts/index.js +0 -159
  94. package/dist/node/contexts/index.js.map +0 -1
  95. package/dist/node/types/images.d.cjs +0 -2
  96. package/dist/node/types/images.d.cjs.map +0 -1
  97. package/dist/node/types/images.d.js +0 -1
  98. package/dist/node/types/images.d.js.map +0 -1
@@ -1,159 +0,0 @@
1
- // src/contexts/DivinedPayload/Context.tsx
2
- import { createContextEx } from "@xyo-network/react-shared";
3
- var DivinedPayloadContext = createContextEx();
4
-
5
- // src/contexts/DivinedPayload/Provider.tsx
6
- import { ModuleErrorSchema } from "@xyo-network/payload-model";
7
- import { ErrorRender } from "@xyo-network/react-error";
8
- import { useBuildHuri } from "@xyo-network/react-payload-huri";
9
- import { useParams, useSearchParams } from "react-router-dom";
10
-
11
- // src/contexts/PayloadDiviner/Context.ts
12
- import { createContextEx as createContextEx2 } from "@xyo-network/react-shared";
13
- var PayloadDivinerContext = createContextEx2();
14
-
15
- // src/contexts/PayloadDiviner/Provider.tsx
16
- import { useEffect, useState } from "react";
17
- import { jsx } from "react/jsx-runtime";
18
- var PayloadDivinerProvider = ({ diviner: divinerProp, required = false, children }) => {
19
- const [diviner, setDiviner] = useState(divinerProp);
20
- useEffect(() => {
21
- if (divinerProp) {
22
- setDiviner(divinerProp);
23
- }
24
- }, [divinerProp]);
25
- return /* @__PURE__ */ jsx(
26
- PayloadDivinerContext.Provider,
27
- {
28
- value: {
29
- diviner: diviner === divinerProp ? diviner : void 0,
30
- provided: true,
31
- setDiviner
32
- },
33
- children: diviner ? children : required ? null : children
34
- }
35
- );
36
- };
37
-
38
- // src/contexts/PayloadDiviner/use.ts
39
- import { compact } from "@xylabs/lodash";
40
- import { useAsyncEffect } from "@xylabs/react-async-effect";
41
- import { HuriSchema } from "@xyo-network/diviner";
42
- import { useContextEx } from "@xyo-network/react-shared";
43
- import { useEffect as useEffect2, useState as useState2 } from "react";
44
- var usePayloadDiviner = (required = false) => {
45
- return useContextEx(PayloadDivinerContext, "PayloadDiviner", required);
46
- };
47
- var useDivinePayload = (huri) => {
48
- const { diviner } = usePayloadDiviner();
49
- const [payload, setPayload] = useState2();
50
- const [error, setError] = useState2();
51
- useEffect2(() => {
52
- if (diviner) {
53
- setPayload(void 0);
54
- }
55
- }, [diviner]);
56
- useAsyncEffect(
57
- // eslint-disable-next-line react-hooks/exhaustive-deps
58
- async (mounted) => {
59
- if (huri && diviner && payload === void 0) {
60
- try {
61
- const huriPayload = { huri: [huri], schema: HuriSchema };
62
- const [payload2] = await diviner?.divine([huriPayload]) ?? [];
63
- if (mounted()) {
64
- setPayload(payload2 ? payload2 : null);
65
- }
66
- } catch (ex) {
67
- if (mounted()) {
68
- setError(ex);
69
- }
70
- }
71
- }
72
- },
73
- [diviner, huri, payload]
74
- );
75
- return [payload, setPayload, error];
76
- };
77
- var useDivinePayloads = (huriList) => {
78
- const { diviner } = usePayloadDiviner();
79
- const [payloads, setPayloads] = useState2();
80
- const [errors, setErrors] = useState2();
81
- useEffect2(() => {
82
- if (diviner) {
83
- setPayloads(void 0);
84
- }
85
- }, [diviner]);
86
- useAsyncEffect(
87
- // eslint-disable-next-line react-hooks/exhaustive-deps
88
- async (mounted) => {
89
- console.log(`huriList: ${JSON.stringify(huriList, null, 2)}`);
90
- const payloads2 = await Promise.allSettled(
91
- huriList.map(async (huri) => {
92
- const huriPayload = { huri: [huri], schema: HuriSchema };
93
- const [payload] = await diviner?.divine([huriPayload]) ?? [];
94
- return payload;
95
- })
96
- );
97
- if (mounted()) {
98
- setPayloads([...payloads2.values()].map((value) => value.status === "rejected" ? null : value.value));
99
- setErrors(
100
- compact([...payloads2.values()].map((value) => value.status === "rejected" ? Error("divine failed", { cause: value.reason }) : void 0))
101
- );
102
- if (mounted()) {
103
- setPayloads([...payloads2.values()].map((value) => value.status === "rejected" ? null : value.value));
104
- setErrors(
105
- compact(
106
- [...payloads2.values()].map((value) => value.status === "rejected" ? Error("divine failed", { cause: value.reason }) : void 0)
107
- )
108
- );
109
- }
110
- }
111
- },
112
- [diviner, huriList, payloads]
113
- );
114
- return [payloads, setPayloads, errors];
115
- };
116
-
117
- // src/contexts/DivinedPayload/use.ts
118
- import { useContextEx as useContextEx2 } from "@xyo-network/react-shared";
119
- var useDivinedPayload = () => useContextEx2(DivinedPayloadContext, "DivinedPayload", true);
120
-
121
- // src/contexts/DivinedPayload/Provider.tsx
122
- import { jsx as jsx2 } from "react/jsx-runtime";
123
- var DivinedPayloadProvider = ({ children, hash }) => {
124
- const { hash: hashParam } = useParams();
125
- const huriFromHashParam = useBuildHuri(hashParam);
126
- const [params] = useSearchParams();
127
- const huriSearchParameter = params.get("huri");
128
- const decodedHuriParam = decodeURIComponent(huriSearchParameter ?? "");
129
- const huriUri = hash ?? (decodedHuriParam ? decodedHuriParam : huriFromHashParam);
130
- const [payload, setPayload, payloadError] = useDivinePayload(huriUri);
131
- return /* @__PURE__ */ jsx2(DivinedPayloadContext.Provider, { value: { payload, payloadError, provided: true, setPayload }, children });
132
- };
133
- var DivinedPayloadWithHandleInner = ({ children }) => {
134
- const { payloadError } = useDivinedPayload();
135
- return /* @__PURE__ */ jsx2(
136
- ErrorRender,
137
- {
138
- error: payloadError ? { message: payloadError.message, schema: ModuleErrorSchema, sources: [] } : void 0,
139
- errorContext: "Divined Payload Provider",
140
- children
141
- }
142
- );
143
- };
144
- var DivinedPayloadWithHandleProvider = ({ children, ...props }) => {
145
- return /* @__PURE__ */ jsx2(DivinedPayloadProvider, { ...props, children: /* @__PURE__ */ jsx2(DivinedPayloadWithHandleInner, { children }) });
146
- };
147
- export {
148
- DivinedPayloadContext,
149
- DivinedPayloadProvider,
150
- DivinedPayloadWithHandleInner,
151
- DivinedPayloadWithHandleProvider,
152
- PayloadDivinerContext,
153
- PayloadDivinerProvider,
154
- useDivinePayload,
155
- useDivinePayloads,
156
- useDivinedPayload,
157
- usePayloadDiviner
158
- };
159
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/contexts/DivinedPayload/Context.tsx","../../../src/contexts/DivinedPayload/Provider.tsx","../../../src/contexts/PayloadDiviner/Context.ts","../../../src/contexts/PayloadDiviner/Provider.tsx","../../../src/contexts/PayloadDiviner/use.ts","../../../src/contexts/DivinedPayload/use.ts"],"sourcesContent":["import { createContextEx } from '@xyo-network/react-shared'\n\nimport { DivinedPayloadState } from './State'\n\nexport const DivinedPayloadContext = createContextEx<DivinedPayloadState>()\n","import type { WithChildren } from '@xylabs/react-shared'\nimport { ModuleErrorSchema } from '@xyo-network/payload-model'\nimport { ErrorRender } from '@xyo-network/react-error'\nimport { useBuildHuri } from '@xyo-network/react-payload-huri'\nimport { useParams, useSearchParams } from 'react-router-dom'\n\nimport { useDivinePayload } from '../PayloadDiviner'\nimport { DivinedPayloadContext } from './Context'\nimport { useDivinedPayload } from './use'\n\nexport interface DivinedPayloadProviderProps extends WithChildren {\n hash?: string\n}\n\nexport const DivinedPayloadProvider: React.FC<DivinedPayloadProviderProps> = ({ children, hash }) => {\n const { hash: hashParam } = useParams()\n\n const huriFromHashParam = useBuildHuri(hashParam)\n\n const [params] = useSearchParams()\n const huriSearchParameter = params.get('huri')\n const decodedHuriParam = decodeURIComponent(huriSearchParameter ?? '')\n const huriUri = hash ?? (decodedHuriParam ? decodedHuriParam : huriFromHashParam)\n\n const [payload, setPayload, payloadError] = useDivinePayload(huriUri)\n\n return <DivinedPayloadContext.Provider value={{ payload, payloadError, provided: true, setPayload }}>{children}</DivinedPayloadContext.Provider>\n}\n\nexport const DivinedPayloadWithHandleInner: React.FC<WithChildren> = ({ children }) => {\n const { payloadError } = useDivinedPayload()\n\n return (\n <ErrorRender\n error={payloadError ? { message: payloadError.message, schema: ModuleErrorSchema, sources: [] } : undefined}\n errorContext=\"Divined Payload Provider\"\n >\n {children}\n </ErrorRender>\n )\n}\n\nexport const DivinedPayloadWithHandleProvider: React.FC<DivinedPayloadProviderProps> = ({ children, ...props }) => {\n return (\n <DivinedPayloadProvider {...props}>\n <DivinedPayloadWithHandleInner>{children}</DivinedPayloadWithHandleInner>\n </DivinedPayloadProvider>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { PayloadDivinerState } from './State'\n\nconst PayloadDivinerContext = createContextEx<PayloadDivinerState>()\n\nexport { PayloadDivinerContext }\n","import { AbstractPayloadDiviner } from '@xyo-network/diviner'\nimport { ContextExProviderProps } from '@xyo-network/react-shared'\nimport { useEffect, useState } from 'react'\n\nimport { PayloadDivinerContext } from './Context'\n\nexport type PayloadDivinerProviderProps = ContextExProviderProps<{\n /** Required */\n diviner?: AbstractPayloadDiviner\n}>\n\nexport const PayloadDivinerProvider: React.FC<PayloadDivinerProviderProps> = ({ diviner: divinerProp, required = false, children }) => {\n const [diviner, setDiviner] = useState<AbstractPayloadDiviner | undefined>(divinerProp)\n\n useEffect(() => {\n if (divinerProp) {\n setDiviner(divinerProp)\n }\n }, [divinerProp])\n\n return (\n <PayloadDivinerContext.Provider\n value={{\n diviner: diviner === divinerProp ? diviner : undefined,\n provided: true,\n setDiviner,\n }}\n >\n {diviner ? children : required ? null : children}\n </PayloadDivinerContext.Provider>\n )\n}\n","import { compact } from '@xylabs/lodash'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { HuriPayload, HuriSchema } from '@xyo-network/diviner'\nimport { Payload } from '@xyo-network/payload-model'\nimport { useContextEx } from '@xyo-network/react-shared'\nimport { Dispatch, useEffect, useState } from 'react'\n\nimport { PayloadDivinerContext } from './Context'\n\nexport const usePayloadDiviner = (required = false) => {\n return useContextEx(PayloadDivinerContext, 'PayloadDiviner', required)\n}\n\nexport const useDivinePayload = <T extends Payload = Payload>(\n huri?: string,\n): [T | undefined | null, Dispatch<T | null | undefined>, Error | undefined] => {\n const { diviner } = usePayloadDiviner()\n const [payload, setPayload] = useState<T | null>()\n const [error, setError] = useState<Error>()\n\n useEffect(() => {\n if (diviner) {\n setPayload(undefined)\n }\n }, [diviner])\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n if (huri && diviner && payload === undefined) {\n try {\n const huriPayload: HuriPayload = { huri: [huri], schema: HuriSchema }\n const [payload] = (await diviner?.divine([huriPayload])) ?? []\n if (mounted()) {\n setPayload(payload ? (payload as T) : null)\n }\n } catch (ex) {\n if (mounted()) {\n setError(ex as Error)\n }\n }\n }\n },\n [diviner, huri, payload],\n )\n\n return [payload, setPayload, error]\n}\n\nexport const useDivinePayloads = <T extends Payload = Payload>(\n huriList: string[],\n): [(T | null)[] | undefined, Dispatch<(T | null)[] | undefined>, Error[] | undefined] => {\n const { diviner } = usePayloadDiviner()\n const [payloads, setPayloads] = useState<(T | null)[]>()\n const [errors, setErrors] = useState<Error[]>()\n\n useEffect(() => {\n if (diviner) {\n setPayloads(undefined)\n }\n }, [diviner])\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n console.log(`huriList: ${JSON.stringify(huriList, null, 2)}`)\n const payloads = await Promise.allSettled(\n huriList.map(async (huri) => {\n const huriPayload: HuriPayload = { huri: [huri], schema: HuriSchema }\n const [payload] = (await diviner?.divine([huriPayload])) ?? []\n return payload\n }),\n )\n if (mounted()) {\n setPayloads([...payloads.values()].map((value) => (value.status === 'rejected' ? null : value.value)) as (T | null)[])\n setErrors(\n compact([...payloads.values()].map((value) => (value.status === 'rejected' ? Error('divine failed', { cause: value.reason }) : undefined))),\n )\n if (mounted()) {\n setPayloads([...payloads.values()].map((value) => (value.status === 'rejected' ? null : value.value)) as (T | null)[])\n setErrors(\n compact(\n [...payloads.values()].map((value) => (value.status === 'rejected' ? Error('divine failed', { cause: value.reason }) : undefined)),\n ),\n )\n }\n }\n },\n [diviner, huriList, payloads],\n )\n\n return [payloads, setPayloads, errors]\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { DivinedPayloadContext } from './Context'\n\nexport const useDivinedPayload = () => useContextEx(DivinedPayloadContext, 'DivinedPayload', true)\n"],"mappings":"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","names":["createContextEx","useEffect","useState","useState","useEffect","payload","payloads","useContextEx","useContextEx","jsx"]}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=images.d.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=images.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,32 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/contexts/DivinedPayload/Context.tsx
21
- var Context_exports = {};
22
- __export(Context_exports, {
23
- DivinedPayloadContext: () => DivinedPayloadContext
24
- });
25
- module.exports = __toCommonJS(Context_exports);
26
- var import_react_shared = require("@xyo-network/react-shared");
27
- var DivinedPayloadContext = (0, import_react_shared.createContextEx)();
28
- // Annotate the CommonJS export names for ESM import in node:
29
- 0 && (module.exports = {
30
- DivinedPayloadContext
31
- });
32
- //# sourceMappingURL=Context.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/contexts/DivinedPayload/Context.tsx"],"sourcesContent":["import { createContextEx } from '@xyo-network/react-shared'\n\nimport { DivinedPayloadState } from './State'\n\nexport const DivinedPayloadContext = createContextEx<DivinedPayloadState>()\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAgC;AAIzB,IAAM,4BAAwB,qCAAqC;","names":[]}
@@ -1,7 +0,0 @@
1
- // src/contexts/DivinedPayload/Context.tsx
2
- import { createContextEx } from "@xyo-network/react-shared";
3
- var DivinedPayloadContext = createContextEx();
4
- export {
5
- DivinedPayloadContext
6
- };
7
- //# sourceMappingURL=Context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/contexts/DivinedPayload/Context.tsx"],"sourcesContent":["import { createContextEx } from '@xyo-network/react-shared'\n\nimport { DivinedPayloadState } from './State'\n\nexport const DivinedPayloadContext = createContextEx<DivinedPayloadState>()\n"],"mappings":";AAAA,SAAS,uBAAuB;AAIzB,IAAM,wBAAwB,gBAAqC;","names":[]}
@@ -1,117 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/contexts/DivinedPayload/Provider.tsx
21
- var Provider_exports = {};
22
- __export(Provider_exports, {
23
- DivinedPayloadProvider: () => DivinedPayloadProvider,
24
- DivinedPayloadWithHandleInner: () => DivinedPayloadWithHandleInner,
25
- DivinedPayloadWithHandleProvider: () => DivinedPayloadWithHandleProvider
26
- });
27
- module.exports = __toCommonJS(Provider_exports);
28
- var import_payload_model = require("@xyo-network/payload-model");
29
- var import_react_error = require("@xyo-network/react-error");
30
- var import_react_payload_huri = require("@xyo-network/react-payload-huri");
31
- var import_react_router_dom = require("react-router-dom");
32
-
33
- // src/contexts/PayloadDiviner/Context.ts
34
- var import_react_shared = require("@xyo-network/react-shared");
35
- var PayloadDivinerContext = (0, import_react_shared.createContextEx)();
36
-
37
- // src/contexts/PayloadDiviner/use.ts
38
- var import_lodash = require("@xylabs/lodash");
39
- var import_react_async_effect = require("@xylabs/react-async-effect");
40
- var import_diviner = require("@xyo-network/diviner");
41
- var import_react_shared2 = require("@xyo-network/react-shared");
42
- var import_react = require("react");
43
- var usePayloadDiviner = (required = false) => {
44
- return (0, import_react_shared2.useContextEx)(PayloadDivinerContext, "PayloadDiviner", required);
45
- };
46
- var useDivinePayload = (huri) => {
47
- const { diviner } = usePayloadDiviner();
48
- const [payload, setPayload] = (0, import_react.useState)();
49
- const [error, setError] = (0, import_react.useState)();
50
- (0, import_react.useEffect)(() => {
51
- if (diviner) {
52
- setPayload(void 0);
53
- }
54
- }, [diviner]);
55
- (0, import_react_async_effect.useAsyncEffect)(
56
- // eslint-disable-next-line react-hooks/exhaustive-deps
57
- async (mounted) => {
58
- if (huri && diviner && payload === void 0) {
59
- try {
60
- const huriPayload = { huri: [huri], schema: import_diviner.HuriSchema };
61
- const [payload2] = await (diviner == null ? void 0 : diviner.divine([huriPayload])) ?? [];
62
- if (mounted()) {
63
- setPayload(payload2 ? payload2 : null);
64
- }
65
- } catch (ex) {
66
- if (mounted()) {
67
- setError(ex);
68
- }
69
- }
70
- }
71
- },
72
- [diviner, huri, payload]
73
- );
74
- return [payload, setPayload, error];
75
- };
76
-
77
- // src/contexts/DivinedPayload/Context.tsx
78
- var import_react_shared3 = require("@xyo-network/react-shared");
79
- var DivinedPayloadContext = (0, import_react_shared3.createContextEx)();
80
-
81
- // src/contexts/DivinedPayload/use.ts
82
- var import_react_shared4 = require("@xyo-network/react-shared");
83
- var useDivinedPayload = () => (0, import_react_shared4.useContextEx)(DivinedPayloadContext, "DivinedPayload", true);
84
-
85
- // src/contexts/DivinedPayload/Provider.tsx
86
- var import_jsx_runtime = require("react/jsx-runtime");
87
- var DivinedPayloadProvider = ({ children, hash }) => {
88
- const { hash: hashParam } = (0, import_react_router_dom.useParams)();
89
- const huriFromHashParam = (0, import_react_payload_huri.useBuildHuri)(hashParam);
90
- const [params] = (0, import_react_router_dom.useSearchParams)();
91
- const huriSearchParameter = params.get("huri");
92
- const decodedHuriParam = decodeURIComponent(huriSearchParameter ?? "");
93
- const huriUri = hash ?? (decodedHuriParam ? decodedHuriParam : huriFromHashParam);
94
- const [payload, setPayload, payloadError] = useDivinePayload(huriUri);
95
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DivinedPayloadContext.Provider, { value: { payload, payloadError, provided: true, setPayload }, children });
96
- };
97
- var DivinedPayloadWithHandleInner = ({ children }) => {
98
- const { payloadError } = useDivinedPayload();
99
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
100
- import_react_error.ErrorRender,
101
- {
102
- error: payloadError ? { message: payloadError.message, schema: import_payload_model.ModuleErrorSchema, sources: [] } : void 0,
103
- errorContext: "Divined Payload Provider",
104
- children
105
- }
106
- );
107
- };
108
- var DivinedPayloadWithHandleProvider = ({ children, ...props }) => {
109
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DivinedPayloadProvider, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DivinedPayloadWithHandleInner, { children }) });
110
- };
111
- // Annotate the CommonJS export names for ESM import in node:
112
- 0 && (module.exports = {
113
- DivinedPayloadProvider,
114
- DivinedPayloadWithHandleInner,
115
- DivinedPayloadWithHandleProvider
116
- });
117
- //# sourceMappingURL=Provider.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/contexts/DivinedPayload/Provider.tsx","../../../../src/contexts/PayloadDiviner/Context.ts","../../../../src/contexts/PayloadDiviner/use.ts","../../../../src/contexts/DivinedPayload/Context.tsx","../../../../src/contexts/DivinedPayload/use.ts"],"sourcesContent":["import type { WithChildren } from '@xylabs/react-shared'\nimport { ModuleErrorSchema } from '@xyo-network/payload-model'\nimport { ErrorRender } from '@xyo-network/react-error'\nimport { useBuildHuri } from '@xyo-network/react-payload-huri'\nimport { useParams, useSearchParams } from 'react-router-dom'\n\nimport { useDivinePayload } from '../PayloadDiviner'\nimport { DivinedPayloadContext } from './Context'\nimport { useDivinedPayload } from './use'\n\nexport interface DivinedPayloadProviderProps extends WithChildren {\n hash?: string\n}\n\nexport const DivinedPayloadProvider: React.FC<DivinedPayloadProviderProps> = ({ children, hash }) => {\n const { hash: hashParam } = useParams()\n\n const huriFromHashParam = useBuildHuri(hashParam)\n\n const [params] = useSearchParams()\n const huriSearchParameter = params.get('huri')\n const decodedHuriParam = decodeURIComponent(huriSearchParameter ?? '')\n const huriUri = hash ?? (decodedHuriParam ? decodedHuriParam : huriFromHashParam)\n\n const [payload, setPayload, payloadError] = useDivinePayload(huriUri)\n\n return <DivinedPayloadContext.Provider value={{ payload, payloadError, provided: true, setPayload }}>{children}</DivinedPayloadContext.Provider>\n}\n\nexport const DivinedPayloadWithHandleInner: React.FC<WithChildren> = ({ children }) => {\n const { payloadError } = useDivinedPayload()\n\n return (\n <ErrorRender\n error={payloadError ? { message: payloadError.message, schema: ModuleErrorSchema, sources: [] } : undefined}\n errorContext=\"Divined Payload Provider\"\n >\n {children}\n </ErrorRender>\n )\n}\n\nexport const DivinedPayloadWithHandleProvider: React.FC<DivinedPayloadProviderProps> = ({ children, ...props }) => {\n return (\n <DivinedPayloadProvider {...props}>\n <DivinedPayloadWithHandleInner>{children}</DivinedPayloadWithHandleInner>\n </DivinedPayloadProvider>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { PayloadDivinerState } from './State'\n\nconst PayloadDivinerContext = createContextEx<PayloadDivinerState>()\n\nexport { PayloadDivinerContext }\n","import { compact } from '@xylabs/lodash'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { HuriPayload, HuriSchema } from '@xyo-network/diviner'\nimport { Payload } from '@xyo-network/payload-model'\nimport { useContextEx } from '@xyo-network/react-shared'\nimport { Dispatch, useEffect, useState } from 'react'\n\nimport { PayloadDivinerContext } from './Context'\n\nexport const usePayloadDiviner = (required = false) => {\n return useContextEx(PayloadDivinerContext, 'PayloadDiviner', required)\n}\n\nexport const useDivinePayload = <T extends Payload = Payload>(\n huri?: string,\n): [T | undefined | null, Dispatch<T | null | undefined>, Error | undefined] => {\n const { diviner } = usePayloadDiviner()\n const [payload, setPayload] = useState<T | null>()\n const [error, setError] = useState<Error>()\n\n useEffect(() => {\n if (diviner) {\n setPayload(undefined)\n }\n }, [diviner])\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n if (huri && diviner && payload === undefined) {\n try {\n const huriPayload: HuriPayload = { huri: [huri], schema: HuriSchema }\n const [payload] = (await diviner?.divine([huriPayload])) ?? []\n if (mounted()) {\n setPayload(payload ? (payload as T) : null)\n }\n } catch (ex) {\n if (mounted()) {\n setError(ex as Error)\n }\n }\n }\n },\n [diviner, huri, payload],\n )\n\n return [payload, setPayload, error]\n}\n\nexport const useDivinePayloads = <T extends Payload = Payload>(\n huriList: string[],\n): [(T | null)[] | undefined, Dispatch<(T | null)[] | undefined>, Error[] | undefined] => {\n const { diviner } = usePayloadDiviner()\n const [payloads, setPayloads] = useState<(T | null)[]>()\n const [errors, setErrors] = useState<Error[]>()\n\n useEffect(() => {\n if (diviner) {\n setPayloads(undefined)\n }\n }, [diviner])\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n console.log(`huriList: ${JSON.stringify(huriList, null, 2)}`)\n const payloads = await Promise.allSettled(\n huriList.map(async (huri) => {\n const huriPayload: HuriPayload = { huri: [huri], schema: HuriSchema }\n const [payload] = (await diviner?.divine([huriPayload])) ?? []\n return payload\n }),\n )\n if (mounted()) {\n setPayloads([...payloads.values()].map((value) => (value.status === 'rejected' ? null : value.value)) as (T | null)[])\n setErrors(\n compact([...payloads.values()].map((value) => (value.status === 'rejected' ? Error('divine failed', { cause: value.reason }) : undefined))),\n )\n if (mounted()) {\n setPayloads([...payloads.values()].map((value) => (value.status === 'rejected' ? null : value.value)) as (T | null)[])\n setErrors(\n compact(\n [...payloads.values()].map((value) => (value.status === 'rejected' ? Error('divine failed', { cause: value.reason }) : undefined)),\n ),\n )\n }\n }\n },\n [diviner, huriList, payloads],\n )\n\n return [payloads, setPayloads, errors]\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { DivinedPayloadState } from './State'\n\nexport const DivinedPayloadContext = createContextEx<DivinedPayloadState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { DivinedPayloadContext } from './Context'\n\nexport const useDivinedPayload = () => useContextEx(DivinedPayloadContext, 'DivinedPayload', true)\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,2BAAkC;AAClC,yBAA4B;AAC5B,gCAA6B;AAC7B,8BAA2C;;;ACJ3C,0BAAgC;AAIhC,IAAM,4BAAwB,qCAAqC;;;ACJnE,oBAAwB;AACxB,gCAA+B;AAC/B,qBAAwC;AAExC,IAAAA,uBAA6B;AAC7B,mBAA8C;AAIvC,IAAM,oBAAoB,CAAC,WAAW,UAAU;AACrD,aAAO,mCAAa,uBAAuB,kBAAkB,QAAQ;AACvE;AAEO,IAAM,mBAAmB,CAC9B,SAC8E;AAC9E,QAAM,EAAE,QAAQ,IAAI,kBAAkB;AACtC,QAAM,CAAC,SAAS,UAAU,QAAI,uBAAmB;AACjD,QAAM,CAAC,OAAO,QAAQ,QAAI,uBAAgB;AAE1C,8BAAU,MAAM;AACd,QAAI,SAAS;AACX,iBAAW,MAAS;AAAA,IACtB;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AAEZ;AAAA;AAAA,IAEE,OAAO,YAAY;AACjB,UAAI,QAAQ,WAAW,YAAY,QAAW;AAC5C,YAAI;AACF,gBAAM,cAA2B,EAAE,MAAM,CAAC,IAAI,GAAG,QAAQ,0BAAW;AACpE,gBAAM,CAACC,QAAO,IAAK,OAAM,mCAAS,OAAO,CAAC,WAAW,OAAO,CAAC;AAC7D,cAAI,QAAQ,GAAG;AACb,uBAAWA,WAAWA,WAAgB,IAAI;AAAA,UAC5C;AAAA,QACF,SAAS,IAAI;AACX,cAAI,QAAQ,GAAG;AACb,qBAAS,EAAW;AAAA,UACtB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC,SAAS,MAAM,OAAO;AAAA,EACzB;AAEA,SAAO,CAAC,SAAS,YAAY,KAAK;AACpC;;;AC/CA,IAAAC,uBAAgC;AAIzB,IAAM,4BAAwB,sCAAqC;;;ACJ1E,IAAAC,uBAA6B;AAItB,IAAM,oBAAoB,UAAM,mCAAa,uBAAuB,kBAAkB,IAAI;;;AJsBxF;AAZF,IAAM,yBAAgE,CAAC,EAAE,UAAU,KAAK,MAAM;AACnG,QAAM,EAAE,MAAM,UAAU,QAAI,mCAAU;AAEtC,QAAM,wBAAoB,wCAAa,SAAS;AAEhD,QAAM,CAAC,MAAM,QAAI,yCAAgB;AACjC,QAAM,sBAAsB,OAAO,IAAI,MAAM;AAC7C,QAAM,mBAAmB,mBAAmB,uBAAuB,EAAE;AACrE,QAAM,UAAU,SAAS,mBAAmB,mBAAmB;AAE/D,QAAM,CAAC,SAAS,YAAY,YAAY,IAAI,iBAAiB,OAAO;AAEpE,SAAO,4CAAC,sBAAsB,UAAtB,EAA+B,OAAO,EAAE,SAAS,cAAc,UAAU,MAAM,WAAW,GAAI,UAAS;AACjH;AAEO,IAAM,gCAAwD,CAAC,EAAE,SAAS,MAAM;AACrF,QAAM,EAAE,aAAa,IAAI,kBAAkB;AAE3C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,eAAe,EAAE,SAAS,aAAa,SAAS,QAAQ,wCAAmB,SAAS,CAAC,EAAE,IAAI;AAAA,MAClG,cAAa;AAAA,MAEZ;AAAA;AAAA,EACH;AAEJ;AAEO,IAAM,mCAA0E,CAAC,EAAE,UAAU,GAAG,MAAM,MAAM;AACjH,SACE,4CAAC,0BAAwB,GAAG,OAC1B,sDAAC,iCAA+B,UAAS,GAC3C;AAEJ;","names":["import_react_shared","payload","import_react_shared","import_react_shared"]}
@@ -1,90 +0,0 @@
1
- // src/contexts/DivinedPayload/Provider.tsx
2
- import { ModuleErrorSchema } from "@xyo-network/payload-model";
3
- import { ErrorRender } from "@xyo-network/react-error";
4
- import { useBuildHuri } from "@xyo-network/react-payload-huri";
5
- import { useParams, useSearchParams } from "react-router-dom";
6
-
7
- // src/contexts/PayloadDiviner/Context.ts
8
- import { createContextEx } from "@xyo-network/react-shared";
9
- var PayloadDivinerContext = createContextEx();
10
-
11
- // src/contexts/PayloadDiviner/use.ts
12
- import { compact } from "@xylabs/lodash";
13
- import { useAsyncEffect } from "@xylabs/react-async-effect";
14
- import { HuriSchema } from "@xyo-network/diviner";
15
- import { useContextEx } from "@xyo-network/react-shared";
16
- import { useEffect, useState } from "react";
17
- var usePayloadDiviner = (required = false) => {
18
- return useContextEx(PayloadDivinerContext, "PayloadDiviner", required);
19
- };
20
- var useDivinePayload = (huri) => {
21
- const { diviner } = usePayloadDiviner();
22
- const [payload, setPayload] = useState();
23
- const [error, setError] = useState();
24
- useEffect(() => {
25
- if (diviner) {
26
- setPayload(void 0);
27
- }
28
- }, [diviner]);
29
- useAsyncEffect(
30
- // eslint-disable-next-line react-hooks/exhaustive-deps
31
- async (mounted) => {
32
- if (huri && diviner && payload === void 0) {
33
- try {
34
- const huriPayload = { huri: [huri], schema: HuriSchema };
35
- const [payload2] = await (diviner == null ? void 0 : diviner.divine([huriPayload])) ?? [];
36
- if (mounted()) {
37
- setPayload(payload2 ? payload2 : null);
38
- }
39
- } catch (ex) {
40
- if (mounted()) {
41
- setError(ex);
42
- }
43
- }
44
- }
45
- },
46
- [diviner, huri, payload]
47
- );
48
- return [payload, setPayload, error];
49
- };
50
-
51
- // src/contexts/DivinedPayload/Context.tsx
52
- import { createContextEx as createContextEx2 } from "@xyo-network/react-shared";
53
- var DivinedPayloadContext = createContextEx2();
54
-
55
- // src/contexts/DivinedPayload/use.ts
56
- import { useContextEx as useContextEx2 } from "@xyo-network/react-shared";
57
- var useDivinedPayload = () => useContextEx2(DivinedPayloadContext, "DivinedPayload", true);
58
-
59
- // src/contexts/DivinedPayload/Provider.tsx
60
- import { jsx } from "react/jsx-runtime";
61
- var DivinedPayloadProvider = ({ children, hash }) => {
62
- const { hash: hashParam } = useParams();
63
- const huriFromHashParam = useBuildHuri(hashParam);
64
- const [params] = useSearchParams();
65
- const huriSearchParameter = params.get("huri");
66
- const decodedHuriParam = decodeURIComponent(huriSearchParameter ?? "");
67
- const huriUri = hash ?? (decodedHuriParam ? decodedHuriParam : huriFromHashParam);
68
- const [payload, setPayload, payloadError] = useDivinePayload(huriUri);
69
- return /* @__PURE__ */ jsx(DivinedPayloadContext.Provider, { value: { payload, payloadError, provided: true, setPayload }, children });
70
- };
71
- var DivinedPayloadWithHandleInner = ({ children }) => {
72
- const { payloadError } = useDivinedPayload();
73
- return /* @__PURE__ */ jsx(
74
- ErrorRender,
75
- {
76
- error: payloadError ? { message: payloadError.message, schema: ModuleErrorSchema, sources: [] } : void 0,
77
- errorContext: "Divined Payload Provider",
78
- children
79
- }
80
- );
81
- };
82
- var DivinedPayloadWithHandleProvider = ({ children, ...props }) => {
83
- return /* @__PURE__ */ jsx(DivinedPayloadProvider, { ...props, children: /* @__PURE__ */ jsx(DivinedPayloadWithHandleInner, { children }) });
84
- };
85
- export {
86
- DivinedPayloadProvider,
87
- DivinedPayloadWithHandleInner,
88
- DivinedPayloadWithHandleProvider
89
- };
90
- //# sourceMappingURL=Provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/contexts/DivinedPayload/Provider.tsx","../../../../src/contexts/PayloadDiviner/Context.ts","../../../../src/contexts/PayloadDiviner/use.ts","../../../../src/contexts/DivinedPayload/Context.tsx","../../../../src/contexts/DivinedPayload/use.ts"],"sourcesContent":["import type { WithChildren } from '@xylabs/react-shared'\nimport { ModuleErrorSchema } from '@xyo-network/payload-model'\nimport { ErrorRender } from '@xyo-network/react-error'\nimport { useBuildHuri } from '@xyo-network/react-payload-huri'\nimport { useParams, useSearchParams } from 'react-router-dom'\n\nimport { useDivinePayload } from '../PayloadDiviner'\nimport { DivinedPayloadContext } from './Context'\nimport { useDivinedPayload } from './use'\n\nexport interface DivinedPayloadProviderProps extends WithChildren {\n hash?: string\n}\n\nexport const DivinedPayloadProvider: React.FC<DivinedPayloadProviderProps> = ({ children, hash }) => {\n const { hash: hashParam } = useParams()\n\n const huriFromHashParam = useBuildHuri(hashParam)\n\n const [params] = useSearchParams()\n const huriSearchParameter = params.get('huri')\n const decodedHuriParam = decodeURIComponent(huriSearchParameter ?? '')\n const huriUri = hash ?? (decodedHuriParam ? decodedHuriParam : huriFromHashParam)\n\n const [payload, setPayload, payloadError] = useDivinePayload(huriUri)\n\n return <DivinedPayloadContext.Provider value={{ payload, payloadError, provided: true, setPayload }}>{children}</DivinedPayloadContext.Provider>\n}\n\nexport const DivinedPayloadWithHandleInner: React.FC<WithChildren> = ({ children }) => {\n const { payloadError } = useDivinedPayload()\n\n return (\n <ErrorRender\n error={payloadError ? { message: payloadError.message, schema: ModuleErrorSchema, sources: [] } : undefined}\n errorContext=\"Divined Payload Provider\"\n >\n {children}\n </ErrorRender>\n )\n}\n\nexport const DivinedPayloadWithHandleProvider: React.FC<DivinedPayloadProviderProps> = ({ children, ...props }) => {\n return (\n <DivinedPayloadProvider {...props}>\n <DivinedPayloadWithHandleInner>{children}</DivinedPayloadWithHandleInner>\n </DivinedPayloadProvider>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { PayloadDivinerState } from './State'\n\nconst PayloadDivinerContext = createContextEx<PayloadDivinerState>()\n\nexport { PayloadDivinerContext }\n","import { compact } from '@xylabs/lodash'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { HuriPayload, HuriSchema } from '@xyo-network/diviner'\nimport { Payload } from '@xyo-network/payload-model'\nimport { useContextEx } from '@xyo-network/react-shared'\nimport { Dispatch, useEffect, useState } from 'react'\n\nimport { PayloadDivinerContext } from './Context'\n\nexport const usePayloadDiviner = (required = false) => {\n return useContextEx(PayloadDivinerContext, 'PayloadDiviner', required)\n}\n\nexport const useDivinePayload = <T extends Payload = Payload>(\n huri?: string,\n): [T | undefined | null, Dispatch<T | null | undefined>, Error | undefined] => {\n const { diviner } = usePayloadDiviner()\n const [payload, setPayload] = useState<T | null>()\n const [error, setError] = useState<Error>()\n\n useEffect(() => {\n if (diviner) {\n setPayload(undefined)\n }\n }, [diviner])\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n if (huri && diviner && payload === undefined) {\n try {\n const huriPayload: HuriPayload = { huri: [huri], schema: HuriSchema }\n const [payload] = (await diviner?.divine([huriPayload])) ?? []\n if (mounted()) {\n setPayload(payload ? (payload as T) : null)\n }\n } catch (ex) {\n if (mounted()) {\n setError(ex as Error)\n }\n }\n }\n },\n [diviner, huri, payload],\n )\n\n return [payload, setPayload, error]\n}\n\nexport const useDivinePayloads = <T extends Payload = Payload>(\n huriList: string[],\n): [(T | null)[] | undefined, Dispatch<(T | null)[] | undefined>, Error[] | undefined] => {\n const { diviner } = usePayloadDiviner()\n const [payloads, setPayloads] = useState<(T | null)[]>()\n const [errors, setErrors] = useState<Error[]>()\n\n useEffect(() => {\n if (diviner) {\n setPayloads(undefined)\n }\n }, [diviner])\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n console.log(`huriList: ${JSON.stringify(huriList, null, 2)}`)\n const payloads = await Promise.allSettled(\n huriList.map(async (huri) => {\n const huriPayload: HuriPayload = { huri: [huri], schema: HuriSchema }\n const [payload] = (await diviner?.divine([huriPayload])) ?? []\n return payload\n }),\n )\n if (mounted()) {\n setPayloads([...payloads.values()].map((value) => (value.status === 'rejected' ? null : value.value)) as (T | null)[])\n setErrors(\n compact([...payloads.values()].map((value) => (value.status === 'rejected' ? Error('divine failed', { cause: value.reason }) : undefined))),\n )\n if (mounted()) {\n setPayloads([...payloads.values()].map((value) => (value.status === 'rejected' ? null : value.value)) as (T | null)[])\n setErrors(\n compact(\n [...payloads.values()].map((value) => (value.status === 'rejected' ? Error('divine failed', { cause: value.reason }) : undefined)),\n ),\n )\n }\n }\n },\n [diviner, huriList, payloads],\n )\n\n return [payloads, setPayloads, errors]\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { DivinedPayloadState } from './State'\n\nexport const DivinedPayloadContext = createContextEx<DivinedPayloadState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { DivinedPayloadContext } from './Context'\n\nexport const useDivinedPayload = () => useContextEx(DivinedPayloadContext, 'DivinedPayload', true)\n"],"mappings":";AACA,SAAS,yBAAyB;AAClC,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB;AAC7B,SAAS,WAAW,uBAAuB;;;ACJ3C,SAAS,uBAAuB;AAIhC,IAAM,wBAAwB,gBAAqC;;;ACJnE,SAAS,eAAe;AACxB,SAAS,sBAAsB;AAC/B,SAAsB,kBAAkB;AAExC,SAAS,oBAAoB;AAC7B,SAAmB,WAAW,gBAAgB;AAIvC,IAAM,oBAAoB,CAAC,WAAW,UAAU;AACrD,SAAO,aAAa,uBAAuB,kBAAkB,QAAQ;AACvE;AAEO,IAAM,mBAAmB,CAC9B,SAC8E;AAC9E,QAAM,EAAE,QAAQ,IAAI,kBAAkB;AACtC,QAAM,CAAC,SAAS,UAAU,IAAI,SAAmB;AACjD,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAgB;AAE1C,YAAU,MAAM;AACd,QAAI,SAAS;AACX,iBAAW,MAAS;AAAA,IACtB;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AAEZ;AAAA;AAAA,IAEE,OAAO,YAAY;AACjB,UAAI,QAAQ,WAAW,YAAY,QAAW;AAC5C,YAAI;AACF,gBAAM,cAA2B,EAAE,MAAM,CAAC,IAAI,GAAG,QAAQ,WAAW;AACpE,gBAAM,CAACA,QAAO,IAAK,OAAM,mCAAS,OAAO,CAAC,WAAW,OAAO,CAAC;AAC7D,cAAI,QAAQ,GAAG;AACb,uBAAWA,WAAWA,WAAgB,IAAI;AAAA,UAC5C;AAAA,QACF,SAAS,IAAI;AACX,cAAI,QAAQ,GAAG;AACb,qBAAS,EAAW;AAAA,UACtB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC,SAAS,MAAM,OAAO;AAAA,EACzB;AAEA,SAAO,CAAC,SAAS,YAAY,KAAK;AACpC;;;AC/CA,SAAS,mBAAAC,wBAAuB;AAIzB,IAAM,wBAAwBA,iBAAqC;;;ACJ1E,SAAS,gBAAAC,qBAAoB;AAItB,IAAM,oBAAoB,MAAMC,cAAa,uBAAuB,kBAAkB,IAAI;;;AJsBxF;AAZF,IAAM,yBAAgE,CAAC,EAAE,UAAU,KAAK,MAAM;AACnG,QAAM,EAAE,MAAM,UAAU,IAAI,UAAU;AAEtC,QAAM,oBAAoB,aAAa,SAAS;AAEhD,QAAM,CAAC,MAAM,IAAI,gBAAgB;AACjC,QAAM,sBAAsB,OAAO,IAAI,MAAM;AAC7C,QAAM,mBAAmB,mBAAmB,uBAAuB,EAAE;AACrE,QAAM,UAAU,SAAS,mBAAmB,mBAAmB;AAE/D,QAAM,CAAC,SAAS,YAAY,YAAY,IAAI,iBAAiB,OAAO;AAEpE,SAAO,oBAAC,sBAAsB,UAAtB,EAA+B,OAAO,EAAE,SAAS,cAAc,UAAU,MAAM,WAAW,GAAI,UAAS;AACjH;AAEO,IAAM,gCAAwD,CAAC,EAAE,SAAS,MAAM;AACrF,QAAM,EAAE,aAAa,IAAI,kBAAkB;AAE3C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,eAAe,EAAE,SAAS,aAAa,SAAS,QAAQ,mBAAmB,SAAS,CAAC,EAAE,IAAI;AAAA,MAClG,cAAa;AAAA,MAEZ;AAAA;AAAA,EACH;AAEJ;AAEO,IAAM,mCAA0E,CAAC,EAAE,UAAU,GAAG,MAAM,MAAM;AACjH,SACE,oBAAC,0BAAwB,GAAG,OAC1B,8BAAC,iCAA+B,UAAS,GAC3C;AAEJ;","names":["payload","createContextEx","useContextEx","useContextEx"]}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
13
- };
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
-
16
- // src/contexts/DivinedPayload/State.ts
17
- var State_exports = {};
18
- module.exports = __toCommonJS(State_exports);
19
- //# sourceMappingURL=State.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/contexts/DivinedPayload/State.ts"],"sourcesContent":["import { Payload } from '@xyo-network/payload-model'\nimport { ContextExState } from '@xyo-network/react-shared'\nimport { Dispatch } from 'react'\n\nexport interface DivinedPayloadState extends ContextExState {\n payload?: Payload | null\n payloadError?: Error\n setPayload?: Dispatch<Payload | null | undefined>\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=State.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,123 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/contexts/DivinedPayload/index.ts
21
- var DivinedPayload_exports = {};
22
- __export(DivinedPayload_exports, {
23
- DivinedPayloadContext: () => DivinedPayloadContext,
24
- DivinedPayloadProvider: () => DivinedPayloadProvider,
25
- DivinedPayloadWithHandleInner: () => DivinedPayloadWithHandleInner,
26
- DivinedPayloadWithHandleProvider: () => DivinedPayloadWithHandleProvider,
27
- useDivinedPayload: () => useDivinedPayload
28
- });
29
- module.exports = __toCommonJS(DivinedPayload_exports);
30
-
31
- // src/contexts/DivinedPayload/Context.tsx
32
- var import_react_shared = require("@xyo-network/react-shared");
33
- var DivinedPayloadContext = (0, import_react_shared.createContextEx)();
34
-
35
- // src/contexts/DivinedPayload/Provider.tsx
36
- var import_payload_model = require("@xyo-network/payload-model");
37
- var import_react_error = require("@xyo-network/react-error");
38
- var import_react_payload_huri = require("@xyo-network/react-payload-huri");
39
- var import_react_router_dom = require("react-router-dom");
40
-
41
- // src/contexts/PayloadDiviner/Context.ts
42
- var import_react_shared2 = require("@xyo-network/react-shared");
43
- var PayloadDivinerContext = (0, import_react_shared2.createContextEx)();
44
-
45
- // src/contexts/PayloadDiviner/use.ts
46
- var import_lodash = require("@xylabs/lodash");
47
- var import_react_async_effect = require("@xylabs/react-async-effect");
48
- var import_diviner = require("@xyo-network/diviner");
49
- var import_react_shared3 = require("@xyo-network/react-shared");
50
- var import_react = require("react");
51
- var usePayloadDiviner = (required = false) => {
52
- return (0, import_react_shared3.useContextEx)(PayloadDivinerContext, "PayloadDiviner", required);
53
- };
54
- var useDivinePayload = (huri) => {
55
- const { diviner } = usePayloadDiviner();
56
- const [payload, setPayload] = (0, import_react.useState)();
57
- const [error, setError] = (0, import_react.useState)();
58
- (0, import_react.useEffect)(() => {
59
- if (diviner) {
60
- setPayload(void 0);
61
- }
62
- }, [diviner]);
63
- (0, import_react_async_effect.useAsyncEffect)(
64
- // eslint-disable-next-line react-hooks/exhaustive-deps
65
- async (mounted) => {
66
- if (huri && diviner && payload === void 0) {
67
- try {
68
- const huriPayload = { huri: [huri], schema: import_diviner.HuriSchema };
69
- const [payload2] = await (diviner == null ? void 0 : diviner.divine([huriPayload])) ?? [];
70
- if (mounted()) {
71
- setPayload(payload2 ? payload2 : null);
72
- }
73
- } catch (ex) {
74
- if (mounted()) {
75
- setError(ex);
76
- }
77
- }
78
- }
79
- },
80
- [diviner, huri, payload]
81
- );
82
- return [payload, setPayload, error];
83
- };
84
-
85
- // src/contexts/DivinedPayload/use.ts
86
- var import_react_shared4 = require("@xyo-network/react-shared");
87
- var useDivinedPayload = () => (0, import_react_shared4.useContextEx)(DivinedPayloadContext, "DivinedPayload", true);
88
-
89
- // src/contexts/DivinedPayload/Provider.tsx
90
- var import_jsx_runtime = require("react/jsx-runtime");
91
- var DivinedPayloadProvider = ({ children, hash }) => {
92
- const { hash: hashParam } = (0, import_react_router_dom.useParams)();
93
- const huriFromHashParam = (0, import_react_payload_huri.useBuildHuri)(hashParam);
94
- const [params] = (0, import_react_router_dom.useSearchParams)();
95
- const huriSearchParameter = params.get("huri");
96
- const decodedHuriParam = decodeURIComponent(huriSearchParameter ?? "");
97
- const huriUri = hash ?? (decodedHuriParam ? decodedHuriParam : huriFromHashParam);
98
- const [payload, setPayload, payloadError] = useDivinePayload(huriUri);
99
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DivinedPayloadContext.Provider, { value: { payload, payloadError, provided: true, setPayload }, children });
100
- };
101
- var DivinedPayloadWithHandleInner = ({ children }) => {
102
- const { payloadError } = useDivinedPayload();
103
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
104
- import_react_error.ErrorRender,
105
- {
106
- error: payloadError ? { message: payloadError.message, schema: import_payload_model.ModuleErrorSchema, sources: [] } : void 0,
107
- errorContext: "Divined Payload Provider",
108
- children
109
- }
110
- );
111
- };
112
- var DivinedPayloadWithHandleProvider = ({ children, ...props }) => {
113
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DivinedPayloadProvider, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DivinedPayloadWithHandleInner, { children }) });
114
- };
115
- // Annotate the CommonJS export names for ESM import in node:
116
- 0 && (module.exports = {
117
- DivinedPayloadContext,
118
- DivinedPayloadProvider,
119
- DivinedPayloadWithHandleInner,
120
- DivinedPayloadWithHandleProvider,
121
- useDivinedPayload
122
- });
123
- //# sourceMappingURL=index.cjs.map