@xyo-network/react-payload-diviner 2.64.9 → 2.65.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 (110) hide show
  1. package/dist/browser/contexts/PayloadDiviner/use.d.cts +4 -4
  2. package/dist/browser/contexts/PayloadDiviner/use.d.cts.map +1 -1
  3. package/dist/browser/contexts/PayloadDiviner/use.d.mts +4 -4
  4. package/dist/browser/contexts/PayloadDiviner/use.d.mts.map +1 -1
  5. package/dist/browser/contexts/PayloadDiviner/use.d.ts +4 -4
  6. package/dist/browser/contexts/PayloadDiviner/use.d.ts.map +1 -1
  7. package/dist/node/contexts/PayloadDiviner/use.d.cts +4 -4
  8. package/dist/node/contexts/PayloadDiviner/use.d.cts.map +1 -1
  9. package/dist/node/contexts/PayloadDiviner/use.d.mts +4 -4
  10. package/dist/node/contexts/PayloadDiviner/use.d.mts.map +1 -1
  11. package/dist/node/contexts/PayloadDiviner/use.d.ts +4 -4
  12. package/dist/node/contexts/PayloadDiviner/use.d.ts.map +1 -1
  13. package/package.json +10 -10
  14. package/dist/browser/contexts/DivinedPayload/Context.cjs +0 -28
  15. package/dist/browser/contexts/DivinedPayload/Context.cjs.map +0 -1
  16. package/dist/browser/contexts/DivinedPayload/Context.js +0 -7
  17. package/dist/browser/contexts/DivinedPayload/Context.js.map +0 -1
  18. package/dist/browser/contexts/DivinedPayload/Provider.cjs +0 -111
  19. package/dist/browser/contexts/DivinedPayload/Provider.cjs.map +0 -1
  20. package/dist/browser/contexts/DivinedPayload/Provider.js +0 -90
  21. package/dist/browser/contexts/DivinedPayload/Provider.js.map +0 -1
  22. package/dist/browser/contexts/DivinedPayload/State.cjs +0 -19
  23. package/dist/browser/contexts/DivinedPayload/State.cjs.map +0 -1
  24. package/dist/browser/contexts/DivinedPayload/State.js +0 -1
  25. package/dist/browser/contexts/DivinedPayload/State.js.map +0 -1
  26. package/dist/browser/contexts/DivinedPayload/index.cjs +0 -115
  27. package/dist/browser/contexts/DivinedPayload/index.cjs.map +0 -1
  28. package/dist/browser/contexts/DivinedPayload/index.js +0 -92
  29. package/dist/browser/contexts/DivinedPayload/index.js.map +0 -1
  30. package/dist/browser/contexts/DivinedPayload/use.cjs +0 -34
  31. package/dist/browser/contexts/DivinedPayload/use.cjs.map +0 -1
  32. package/dist/browser/contexts/DivinedPayload/use.js +0 -13
  33. package/dist/browser/contexts/DivinedPayload/use.js.map +0 -1
  34. package/dist/browser/contexts/PayloadDiviner/Context.cjs +0 -28
  35. package/dist/browser/contexts/PayloadDiviner/Context.cjs.map +0 -1
  36. package/dist/browser/contexts/PayloadDiviner/Context.js +0 -7
  37. package/dist/browser/contexts/PayloadDiviner/Context.js.map +0 -1
  38. package/dist/browser/contexts/PayloadDiviner/Provider.cjs +0 -53
  39. package/dist/browser/contexts/PayloadDiviner/Provider.cjs.map +0 -1
  40. package/dist/browser/contexts/PayloadDiviner/Provider.js +0 -32
  41. package/dist/browser/contexts/PayloadDiviner/Provider.js.map +0 -1
  42. package/dist/browser/contexts/PayloadDiviner/State.cjs +0 -19
  43. package/dist/browser/contexts/PayloadDiviner/State.cjs.map +0 -1
  44. package/dist/browser/contexts/PayloadDiviner/State.js +0 -1
  45. package/dist/browser/contexts/PayloadDiviner/State.js.map +0 -1
  46. package/dist/browser/contexts/PayloadDiviner/index.cjs +0 -136
  47. package/dist/browser/contexts/PayloadDiviner/index.cjs.map +0 -1
  48. package/dist/browser/contexts/PayloadDiviner/index.js +0 -113
  49. package/dist/browser/contexts/PayloadDiviner/index.js.map +0 -1
  50. package/dist/browser/contexts/PayloadDiviner/use.cjs +0 -111
  51. package/dist/browser/contexts/PayloadDiviner/use.cjs.map +0 -1
  52. package/dist/browser/contexts/PayloadDiviner/use.js +0 -90
  53. package/dist/browser/contexts/PayloadDiviner/use.js.map +0 -1
  54. package/dist/browser/contexts/index.cjs +0 -182
  55. package/dist/browser/contexts/index.cjs.map +0 -1
  56. package/dist/browser/contexts/index.js +0 -159
  57. package/dist/browser/contexts/index.js.map +0 -1
  58. package/dist/browser/types/images.d.cjs +0 -2
  59. package/dist/browser/types/images.d.cjs.map +0 -1
  60. package/dist/browser/types/images.d.js +0 -1
  61. package/dist/browser/types/images.d.js.map +0 -1
  62. package/dist/docs.json +0 -1796
  63. package/dist/node/contexts/DivinedPayload/Context.cjs +0 -32
  64. package/dist/node/contexts/DivinedPayload/Context.cjs.map +0 -1
  65. package/dist/node/contexts/DivinedPayload/Context.js +0 -7
  66. package/dist/node/contexts/DivinedPayload/Context.js.map +0 -1
  67. package/dist/node/contexts/DivinedPayload/Provider.cjs +0 -117
  68. package/dist/node/contexts/DivinedPayload/Provider.cjs.map +0 -1
  69. package/dist/node/contexts/DivinedPayload/Provider.js +0 -90
  70. package/dist/node/contexts/DivinedPayload/Provider.js.map +0 -1
  71. package/dist/node/contexts/DivinedPayload/State.cjs +0 -19
  72. package/dist/node/contexts/DivinedPayload/State.cjs.map +0 -1
  73. package/dist/node/contexts/DivinedPayload/State.js +0 -1
  74. package/dist/node/contexts/DivinedPayload/State.js.map +0 -1
  75. package/dist/node/contexts/DivinedPayload/index.cjs +0 -123
  76. package/dist/node/contexts/DivinedPayload/index.cjs.map +0 -1
  77. package/dist/node/contexts/DivinedPayload/index.js +0 -92
  78. package/dist/node/contexts/DivinedPayload/index.js.map +0 -1
  79. package/dist/node/contexts/DivinedPayload/use.cjs +0 -38
  80. package/dist/node/contexts/DivinedPayload/use.cjs.map +0 -1
  81. package/dist/node/contexts/DivinedPayload/use.js +0 -13
  82. package/dist/node/contexts/DivinedPayload/use.js.map +0 -1
  83. package/dist/node/contexts/PayloadDiviner/Context.cjs +0 -32
  84. package/dist/node/contexts/PayloadDiviner/Context.cjs.map +0 -1
  85. package/dist/node/contexts/PayloadDiviner/Context.js +0 -7
  86. package/dist/node/contexts/PayloadDiviner/Context.js.map +0 -1
  87. package/dist/node/contexts/PayloadDiviner/Provider.cjs +0 -57
  88. package/dist/node/contexts/PayloadDiviner/Provider.cjs.map +0 -1
  89. package/dist/node/contexts/PayloadDiviner/Provider.js +0 -32
  90. package/dist/node/contexts/PayloadDiviner/Provider.js.map +0 -1
  91. package/dist/node/contexts/PayloadDiviner/State.cjs +0 -19
  92. package/dist/node/contexts/PayloadDiviner/State.cjs.map +0 -1
  93. package/dist/node/contexts/PayloadDiviner/State.js +0 -1
  94. package/dist/node/contexts/PayloadDiviner/State.js.map +0 -1
  95. package/dist/node/contexts/PayloadDiviner/index.cjs +0 -144
  96. package/dist/node/contexts/PayloadDiviner/index.cjs.map +0 -1
  97. package/dist/node/contexts/PayloadDiviner/index.js +0 -113
  98. package/dist/node/contexts/PayloadDiviner/index.js.map +0 -1
  99. package/dist/node/contexts/PayloadDiviner/use.cjs +0 -117
  100. package/dist/node/contexts/PayloadDiviner/use.cjs.map +0 -1
  101. package/dist/node/contexts/PayloadDiviner/use.js +0 -90
  102. package/dist/node/contexts/PayloadDiviner/use.js.map +0 -1
  103. package/dist/node/contexts/index.cjs +0 -195
  104. package/dist/node/contexts/index.cjs.map +0 -1
  105. package/dist/node/contexts/index.js +0 -159
  106. package/dist/node/contexts/index.js.map +0 -1
  107. package/dist/node/types/images.d.cjs +0 -2
  108. package/dist/node/types/images.d.cjs.map +0 -1
  109. package/dist/node/types/images.d.js +0 -1
  110. package/dist/node/types/images.d.js.map +0 -1
@@ -1,90 +0,0 @@
1
- // src/contexts/PayloadDiviner/use.ts
2
- import { compact } from "@xylabs/lodash";
3
- import { useAsyncEffect } from "@xylabs/react-async-effect";
4
- import { HuriSchema } from "@xyo-network/diviner";
5
- import { useContextEx } from "@xyo-network/react-shared";
6
- import { useEffect, useState } from "react";
7
-
8
- // src/contexts/PayloadDiviner/Context.ts
9
- import { createContextEx } from "@xyo-network/react-shared";
10
- var PayloadDivinerContext = createContextEx();
11
-
12
- // src/contexts/PayloadDiviner/use.ts
13
- var usePayloadDiviner = (required = false) => {
14
- return useContextEx(PayloadDivinerContext, "PayloadDiviner", required);
15
- };
16
- var useDivinePayload = (huri) => {
17
- const { diviner } = usePayloadDiviner();
18
- const [payload, setPayload] = useState();
19
- const [error, setError] = useState();
20
- useEffect(() => {
21
- if (diviner) {
22
- setPayload(void 0);
23
- }
24
- }, [diviner]);
25
- useAsyncEffect(
26
- // eslint-disable-next-line react-hooks/exhaustive-deps
27
- async (mounted) => {
28
- if (huri && diviner && payload === void 0) {
29
- try {
30
- const huriPayload = { huri: [huri], schema: HuriSchema };
31
- const [payload2] = await (diviner == null ? void 0 : diviner.divine([huriPayload])) ?? [];
32
- if (mounted()) {
33
- setPayload(payload2 ? payload2 : null);
34
- }
35
- } catch (ex) {
36
- if (mounted()) {
37
- setError(ex);
38
- }
39
- }
40
- }
41
- },
42
- [diviner, huri, payload]
43
- );
44
- return [payload, setPayload, error];
45
- };
46
- var useDivinePayloads = (huriList) => {
47
- const { diviner } = usePayloadDiviner();
48
- const [payloads, setPayloads] = useState();
49
- const [errors, setErrors] = useState();
50
- useEffect(() => {
51
- if (diviner) {
52
- setPayloads(void 0);
53
- }
54
- }, [diviner]);
55
- useAsyncEffect(
56
- // eslint-disable-next-line react-hooks/exhaustive-deps
57
- async (mounted) => {
58
- console.log(`huriList: ${JSON.stringify(huriList, null, 2)}`);
59
- const payloads2 = await Promise.allSettled(
60
- huriList.map(async (huri) => {
61
- const huriPayload = { huri: [huri], schema: HuriSchema };
62
- const [payload] = await (diviner == null ? void 0 : diviner.divine([huriPayload])) ?? [];
63
- return payload;
64
- })
65
- );
66
- if (mounted()) {
67
- setPayloads([...payloads2.values()].map((value) => value.status === "rejected" ? null : value.value));
68
- setErrors(
69
- compact([...payloads2.values()].map((value) => value.status === "rejected" ? Error("divine failed", { cause: value.reason }) : void 0))
70
- );
71
- if (mounted()) {
72
- setPayloads([...payloads2.values()].map((value) => value.status === "rejected" ? null : value.value));
73
- setErrors(
74
- compact(
75
- [...payloads2.values()].map((value) => value.status === "rejected" ? Error("divine failed", { cause: value.reason }) : void 0)
76
- )
77
- );
78
- }
79
- }
80
- },
81
- [diviner, huriList, payloads]
82
- );
83
- return [payloads, setPayloads, errors];
84
- };
85
- export {
86
- useDivinePayload,
87
- useDivinePayloads,
88
- usePayloadDiviner
89
- };
90
- //# sourceMappingURL=use.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/contexts/PayloadDiviner/use.ts","../../../../src/contexts/PayloadDiviner/Context.ts"],"sourcesContent":["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 { PayloadDivinerState } from './State'\n\nconst PayloadDivinerContext = createContextEx<PayloadDivinerState>()\n\nexport { PayloadDivinerContext }\n"],"mappings":"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","names":["payload","payloads"]}
@@ -1,195 +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/index.ts
21
- var contexts_exports = {};
22
- __export(contexts_exports, {
23
- DivinedPayloadContext: () => DivinedPayloadContext,
24
- DivinedPayloadProvider: () => DivinedPayloadProvider,
25
- DivinedPayloadWithHandleInner: () => DivinedPayloadWithHandleInner,
26
- DivinedPayloadWithHandleProvider: () => DivinedPayloadWithHandleProvider,
27
- PayloadDivinerContext: () => PayloadDivinerContext,
28
- PayloadDivinerProvider: () => PayloadDivinerProvider,
29
- useDivinePayload: () => useDivinePayload,
30
- useDivinePayloads: () => useDivinePayloads,
31
- useDivinedPayload: () => useDivinedPayload,
32
- usePayloadDiviner: () => usePayloadDiviner
33
- });
34
- module.exports = __toCommonJS(contexts_exports);
35
-
36
- // src/contexts/DivinedPayload/Context.tsx
37
- var import_react_shared = require("@xyo-network/react-shared");
38
- var DivinedPayloadContext = (0, import_react_shared.createContextEx)();
39
-
40
- // src/contexts/DivinedPayload/Provider.tsx
41
- var import_payload_model = require("@xyo-network/payload-model");
42
- var import_react_error = require("@xyo-network/react-error");
43
- var import_react_payload_huri = require("@xyo-network/react-payload-huri");
44
- var import_react_router_dom = require("react-router-dom");
45
-
46
- // src/contexts/PayloadDiviner/Context.ts
47
- var import_react_shared2 = require("@xyo-network/react-shared");
48
- var PayloadDivinerContext = (0, import_react_shared2.createContextEx)();
49
-
50
- // src/contexts/PayloadDiviner/Provider.tsx
51
- var import_react = require("react");
52
- var import_jsx_runtime = require("react/jsx-runtime");
53
- var PayloadDivinerProvider = ({ diviner: divinerProp, required = false, children }) => {
54
- const [diviner, setDiviner] = (0, import_react.useState)(divinerProp);
55
- (0, import_react.useEffect)(() => {
56
- if (divinerProp) {
57
- setDiviner(divinerProp);
58
- }
59
- }, [divinerProp]);
60
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
61
- PayloadDivinerContext.Provider,
62
- {
63
- value: {
64
- diviner: diviner === divinerProp ? diviner : void 0,
65
- provided: true,
66
- setDiviner
67
- },
68
- children: diviner ? children : required ? null : children
69
- }
70
- );
71
- };
72
-
73
- // src/contexts/PayloadDiviner/use.ts
74
- var import_lodash = require("@xylabs/lodash");
75
- var import_react_async_effect = require("@xylabs/react-async-effect");
76
- var import_diviner = require("@xyo-network/diviner");
77
- var import_react_shared3 = require("@xyo-network/react-shared");
78
- var import_react2 = require("react");
79
- var usePayloadDiviner = (required = false) => {
80
- return (0, import_react_shared3.useContextEx)(PayloadDivinerContext, "PayloadDiviner", required);
81
- };
82
- var useDivinePayload = (huri) => {
83
- const { diviner } = usePayloadDiviner();
84
- const [payload, setPayload] = (0, import_react2.useState)();
85
- const [error, setError] = (0, import_react2.useState)();
86
- (0, import_react2.useEffect)(() => {
87
- if (diviner) {
88
- setPayload(void 0);
89
- }
90
- }, [diviner]);
91
- (0, import_react_async_effect.useAsyncEffect)(
92
- // eslint-disable-next-line react-hooks/exhaustive-deps
93
- async (mounted) => {
94
- if (huri && diviner && payload === void 0) {
95
- try {
96
- const huriPayload = { huri: [huri], schema: import_diviner.HuriSchema };
97
- const [payload2] = await (diviner == null ? void 0 : diviner.divine([huriPayload])) ?? [];
98
- if (mounted()) {
99
- setPayload(payload2 ? payload2 : null);
100
- }
101
- } catch (ex) {
102
- if (mounted()) {
103
- setError(ex);
104
- }
105
- }
106
- }
107
- },
108
- [diviner, huri, payload]
109
- );
110
- return [payload, setPayload, error];
111
- };
112
- var useDivinePayloads = (huriList) => {
113
- const { diviner } = usePayloadDiviner();
114
- const [payloads, setPayloads] = (0, import_react2.useState)();
115
- const [errors, setErrors] = (0, import_react2.useState)();
116
- (0, import_react2.useEffect)(() => {
117
- if (diviner) {
118
- setPayloads(void 0);
119
- }
120
- }, [diviner]);
121
- (0, import_react_async_effect.useAsyncEffect)(
122
- // eslint-disable-next-line react-hooks/exhaustive-deps
123
- async (mounted) => {
124
- console.log(`huriList: ${JSON.stringify(huriList, null, 2)}`);
125
- const payloads2 = await Promise.allSettled(
126
- huriList.map(async (huri) => {
127
- const huriPayload = { huri: [huri], schema: import_diviner.HuriSchema };
128
- const [payload] = await (diviner == null ? void 0 : diviner.divine([huriPayload])) ?? [];
129
- return payload;
130
- })
131
- );
132
- if (mounted()) {
133
- setPayloads([...payloads2.values()].map((value) => value.status === "rejected" ? null : value.value));
134
- setErrors(
135
- (0, import_lodash.compact)([...payloads2.values()].map((value) => value.status === "rejected" ? Error("divine failed", { cause: value.reason }) : void 0))
136
- );
137
- if (mounted()) {
138
- setPayloads([...payloads2.values()].map((value) => value.status === "rejected" ? null : value.value));
139
- setErrors(
140
- (0, import_lodash.compact)(
141
- [...payloads2.values()].map((value) => value.status === "rejected" ? Error("divine failed", { cause: value.reason }) : void 0)
142
- )
143
- );
144
- }
145
- }
146
- },
147
- [diviner, huriList, payloads]
148
- );
149
- return [payloads, setPayloads, errors];
150
- };
151
-
152
- // src/contexts/DivinedPayload/use.ts
153
- var import_react_shared4 = require("@xyo-network/react-shared");
154
- var useDivinedPayload = () => (0, import_react_shared4.useContextEx)(DivinedPayloadContext, "DivinedPayload", true);
155
-
156
- // src/contexts/DivinedPayload/Provider.tsx
157
- var import_jsx_runtime2 = require("react/jsx-runtime");
158
- var DivinedPayloadProvider = ({ children, hash }) => {
159
- const { hash: hashParam } = (0, import_react_router_dom.useParams)();
160
- const huriFromHashParam = (0, import_react_payload_huri.useBuildHuri)(hashParam);
161
- const [params] = (0, import_react_router_dom.useSearchParams)();
162
- const huriSearchParameter = params.get("huri");
163
- const decodedHuriParam = decodeURIComponent(huriSearchParameter ?? "");
164
- const huriUri = hash ?? (decodedHuriParam ? decodedHuriParam : huriFromHashParam);
165
- const [payload, setPayload, payloadError] = useDivinePayload(huriUri);
166
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(DivinedPayloadContext.Provider, { value: { payload, payloadError, provided: true, setPayload }, children });
167
- };
168
- var DivinedPayloadWithHandleInner = ({ children }) => {
169
- const { payloadError } = useDivinedPayload();
170
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
171
- import_react_error.ErrorRender,
172
- {
173
- error: payloadError ? { message: payloadError.message, schema: import_payload_model.ModuleErrorSchema, sources: [] } : void 0,
174
- errorContext: "Divined Payload Provider",
175
- children
176
- }
177
- );
178
- };
179
- var DivinedPayloadWithHandleProvider = ({ children, ...props }) => {
180
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(DivinedPayloadProvider, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(DivinedPayloadWithHandleInner, { children }) });
181
- };
182
- // Annotate the CommonJS export names for ESM import in node:
183
- 0 && (module.exports = {
184
- DivinedPayloadContext,
185
- DivinedPayloadProvider,
186
- DivinedPayloadWithHandleInner,
187
- DivinedPayloadWithHandleProvider,
188
- PayloadDivinerContext,
189
- PayloadDivinerProvider,
190
- useDivinePayload,
191
- useDivinePayloads,
192
- useDivinedPayload,
193
- usePayloadDiviner
194
- });
195
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/contexts/index.ts","../../../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":["export * from './DivinedPayload'\nexport * from './PayloadDiviner'\n","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":["import_react_shared","import_react_shared","import_react","payload","payloads","import_react_shared","import_jsx_runtime"]}
@@ -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 == null ? void 0 : 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 == null ? void 0 : 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":[]}