@xyo-network/react-schema 2.64.0-rc.6 → 2.64.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 (254) hide show
  1. package/dist/browser/components/Property/SchemaProperty.cjs +76 -0
  2. package/dist/{node/components/Property/SchemaProperty.mjs.map → browser/components/Property/SchemaProperty.cjs.map} +1 -1
  3. package/dist/browser/components/Property/SchemaProperty.d.cts +40 -0
  4. package/dist/browser/components/Property/SchemaProperty.d.cts.map +1 -0
  5. package/dist/browser/components/Property/index.cjs +78 -0
  6. package/dist/browser/components/Property/index.cjs.map +1 -0
  7. package/dist/browser/components/Property/index.d.cts +2 -0
  8. package/dist/browser/components/Property/index.d.cts.map +1 -0
  9. package/dist/browser/components/SelectEx/SchemaSelectEx.cjs +68 -0
  10. package/dist/browser/components/SelectEx/SchemaSelectEx.cjs.map +1 -0
  11. package/dist/browser/components/SelectEx/SchemaSelectEx.d.cts +5 -0
  12. package/dist/browser/components/SelectEx/SchemaSelectEx.d.cts.map +1 -0
  13. package/dist/browser/components/SelectEx/index.cjs +70 -0
  14. package/dist/browser/components/SelectEx/index.cjs.map +1 -0
  15. package/dist/browser/components/SelectEx/index.d.cts +2 -0
  16. package/dist/browser/components/SelectEx/index.d.cts.map +1 -0
  17. package/dist/browser/components/index.cjs +123 -0
  18. package/dist/browser/components/index.cjs.map +1 -0
  19. package/dist/browser/components/index.d.cts +3 -0
  20. package/dist/browser/components/index.d.cts.map +1 -0
  21. package/dist/browser/contexts/Schema/Context.cjs +28 -0
  22. package/dist/{node/contexts/Schema/Context.mjs.map → browser/contexts/Schema/Context.cjs.map} +1 -1
  23. package/dist/browser/contexts/Schema/Context.d.cts +4 -0
  24. package/dist/browser/contexts/Schema/Context.d.cts.map +1 -0
  25. package/dist/browser/contexts/Schema/Provider/Memory.cjs +94 -0
  26. package/dist/browser/contexts/Schema/Provider/Memory.cjs.map +1 -0
  27. package/dist/browser/contexts/Schema/Provider/Memory.d.cts +5 -0
  28. package/dist/browser/contexts/Schema/Provider/Memory.d.cts.map +1 -0
  29. package/dist/browser/contexts/Schema/Provider/Props.cjs +19 -0
  30. package/dist/browser/contexts/Schema/Provider/Props.cjs.map +1 -0
  31. package/dist/browser/contexts/Schema/Provider/Props.d.cts +5 -0
  32. package/dist/browser/contexts/Schema/Provider/Props.d.cts.map +1 -0
  33. package/dist/browser/contexts/Schema/Provider/Route.cjs +144 -0
  34. package/dist/browser/contexts/Schema/Provider/Route.cjs.map +1 -0
  35. package/dist/browser/contexts/Schema/Provider/Route.d.cts +5 -0
  36. package/dist/browser/contexts/Schema/Provider/Route.d.cts.map +1 -0
  37. package/dist/browser/contexts/Schema/Provider/index.cjs +147 -0
  38. package/dist/browser/contexts/Schema/Provider/index.cjs.map +1 -0
  39. package/dist/browser/contexts/Schema/Provider/index.d.cts +4 -0
  40. package/dist/browser/contexts/Schema/Provider/index.d.cts.map +1 -0
  41. package/dist/browser/contexts/Schema/State.cjs +19 -0
  42. package/dist/browser/contexts/Schema/State.cjs.map +1 -0
  43. package/dist/browser/contexts/Schema/State.d.cts +13 -0
  44. package/dist/browser/contexts/Schema/State.d.cts.map +1 -0
  45. package/dist/browser/contexts/Schema/index.cjs +149 -0
  46. package/dist/browser/contexts/Schema/index.cjs.map +1 -0
  47. package/dist/browser/contexts/Schema/index.d.cts +5 -0
  48. package/dist/browser/contexts/Schema/index.d.cts.map +1 -0
  49. package/dist/browser/contexts/Schema/use.cjs +36 -0
  50. package/dist/browser/contexts/Schema/use.cjs.map +1 -0
  51. package/dist/browser/contexts/Schema/use.d.cts +3 -0
  52. package/dist/browser/contexts/Schema/use.d.cts.map +1 -0
  53. package/dist/browser/contexts/index.cjs +149 -0
  54. package/dist/browser/contexts/index.cjs.map +1 -0
  55. package/dist/browser/contexts/index.d.cts +2 -0
  56. package/dist/browser/contexts/index.d.cts.map +1 -0
  57. package/dist/browser/hooks/index.cjs +189 -0
  58. package/dist/browser/hooks/index.cjs.map +1 -0
  59. package/dist/browser/hooks/index.d.cts +5 -0
  60. package/dist/browser/hooks/index.d.cts.map +1 -0
  61. package/dist/browser/hooks/useGetSchema.cjs +69 -0
  62. package/dist/{node/hooks/useGetSchema.mjs.map → browser/hooks/useGetSchema.cjs.map} +1 -1
  63. package/dist/browser/hooks/useGetSchema.d.cts +27 -0
  64. package/dist/browser/hooks/useGetSchema.d.cts.map +1 -0
  65. package/dist/browser/hooks/useSchemaDefinitions.cjs +47 -0
  66. package/dist/{node/hooks/useSchemaDefinitions.mjs.map → browser/hooks/useSchemaDefinitions.cjs.map} +1 -1
  67. package/dist/browser/hooks/useSchemaDefinitions.d.cts +6 -0
  68. package/dist/browser/hooks/useSchemaDefinitions.d.cts.map +1 -0
  69. package/dist/browser/hooks/useSchemaList.cjs +69 -0
  70. package/dist/browser/hooks/useSchemaList.cjs.map +1 -0
  71. package/dist/browser/hooks/useSchemaList.d.cts +3 -0
  72. package/dist/browser/hooks/useSchemaList.d.cts.map +1 -0
  73. package/dist/browser/hooks/useSchemaStats.cjs +71 -0
  74. package/dist/{node/hooks/useSchemaStats.mjs.map → browser/hooks/useSchemaStats.cjs.map} +1 -1
  75. package/dist/browser/hooks/useSchemaStats.d.cts +4 -0
  76. package/dist/browser/hooks/useSchemaStats.d.cts.map +1 -0
  77. package/dist/browser/index.cjs +354 -0
  78. package/dist/browser/index.cjs.map +1 -0
  79. package/dist/browser/index.d.cts +4 -0
  80. package/dist/browser/index.d.cts.map +1 -0
  81. package/dist/docs.json +2071 -0
  82. package/dist/node/components/Property/SchemaProperty.cjs +81 -0
  83. package/dist/node/components/Property/SchemaProperty.cjs.map +1 -0
  84. package/dist/node/components/Property/SchemaProperty.d.cts +40 -0
  85. package/dist/node/components/Property/SchemaProperty.d.cts.map +1 -0
  86. package/dist/node/components/Property/SchemaProperty.js +26 -48
  87. package/dist/node/components/Property/SchemaProperty.js.map +1 -1
  88. package/dist/node/components/Property/index.cjs +83 -0
  89. package/dist/node/components/Property/index.cjs.map +1 -0
  90. package/dist/node/components/Property/index.d.cts +2 -0
  91. package/dist/node/components/Property/index.d.cts.map +1 -0
  92. package/dist/node/components/Property/index.js +53 -20
  93. package/dist/node/components/Property/index.js.map +1 -1
  94. package/dist/node/components/SelectEx/SchemaSelectEx.cjs +72 -0
  95. package/dist/node/components/SelectEx/SchemaSelectEx.cjs.map +1 -0
  96. package/dist/node/components/SelectEx/SchemaSelectEx.d.cts +5 -0
  97. package/dist/node/components/SelectEx/SchemaSelectEx.d.cts.map +1 -0
  98. package/dist/node/components/SelectEx/SchemaSelectEx.js +27 -39
  99. package/dist/node/components/SelectEx/SchemaSelectEx.js.map +1 -1
  100. package/dist/node/components/SelectEx/index.cjs +74 -0
  101. package/dist/node/components/SelectEx/index.cjs.map +1 -0
  102. package/dist/node/components/SelectEx/index.d.cts +2 -0
  103. package/dist/node/components/SelectEx/index.d.cts.map +1 -0
  104. package/dist/node/components/SelectEx/index.js +45 -21
  105. package/dist/node/components/SelectEx/index.js.map +1 -1
  106. package/dist/node/components/index.cjs +129 -0
  107. package/dist/node/components/index.cjs.map +1 -0
  108. package/dist/node/components/index.d.cts +3 -0
  109. package/dist/node/components/index.d.cts.map +1 -0
  110. package/dist/node/components/index.js +98 -22
  111. package/dist/node/components/index.js.map +1 -1
  112. package/dist/node/contexts/Schema/Context.cjs +32 -0
  113. package/dist/node/contexts/Schema/Context.cjs.map +1 -0
  114. package/dist/node/contexts/Schema/Context.d.cts +4 -0
  115. package/dist/node/contexts/Schema/Context.d.cts.map +1 -0
  116. package/dist/node/contexts/Schema/Context.js +5 -28
  117. package/dist/node/contexts/Schema/Context.js.map +1 -1
  118. package/dist/node/contexts/Schema/Provider/Memory.cjs +98 -0
  119. package/dist/node/contexts/Schema/Provider/Memory.cjs.map +1 -0
  120. package/dist/node/contexts/Schema/Provider/Memory.d.cts +5 -0
  121. package/dist/node/contexts/Schema/Provider/Memory.d.cts.map +1 -0
  122. package/dist/node/contexts/Schema/Provider/Memory.js +65 -37
  123. package/dist/node/contexts/Schema/Provider/Memory.js.map +1 -1
  124. package/dist/node/contexts/Schema/Provider/Props.cjs +19 -0
  125. package/dist/node/contexts/Schema/Provider/Props.cjs.map +1 -0
  126. package/dist/node/contexts/Schema/Provider/Props.d.cts +5 -0
  127. package/dist/node/contexts/Schema/Provider/Props.d.cts.map +1 -0
  128. package/dist/node/contexts/Schema/Provider/Props.js +0 -16
  129. package/dist/node/contexts/Schema/Provider/Props.js.map +1 -1
  130. package/dist/node/contexts/Schema/Provider/Route.cjs +148 -0
  131. package/dist/node/contexts/Schema/Provider/Route.cjs.map +1 -0
  132. package/dist/node/contexts/Schema/Provider/Route.d.cts +5 -0
  133. package/dist/node/contexts/Schema/Provider/Route.d.cts.map +1 -0
  134. package/dist/node/contexts/Schema/Provider/Route.js +94 -42
  135. package/dist/node/contexts/Schema/Provider/Route.js.map +1 -1
  136. package/dist/node/contexts/Schema/Provider/index.cjs +152 -0
  137. package/dist/node/contexts/Schema/Provider/index.cjs.map +1 -0
  138. package/dist/node/contexts/Schema/Provider/index.d.cts +4 -0
  139. package/dist/node/contexts/Schema/Provider/index.d.cts.map +1 -0
  140. package/dist/node/contexts/Schema/Provider/index.js +122 -25
  141. package/dist/node/contexts/Schema/Provider/index.js.map +1 -1
  142. package/dist/node/contexts/Schema/State.cjs +19 -0
  143. package/dist/node/contexts/Schema/State.cjs.map +1 -0
  144. package/dist/node/contexts/Schema/State.d.cts +13 -0
  145. package/dist/node/contexts/Schema/State.d.cts.map +1 -0
  146. package/dist/node/contexts/Schema/State.js +0 -16
  147. package/dist/node/contexts/Schema/State.js.map +1 -1
  148. package/dist/node/contexts/Schema/index.cjs +156 -0
  149. package/dist/node/contexts/Schema/index.cjs.map +1 -0
  150. package/dist/node/contexts/Schema/index.d.cts +5 -0
  151. package/dist/node/contexts/Schema/index.d.cts.map +1 -0
  152. package/dist/node/contexts/Schema/index.js +124 -27
  153. package/dist/node/contexts/Schema/index.js.map +1 -1
  154. package/dist/node/contexts/Schema/use.cjs +40 -0
  155. package/dist/node/contexts/Schema/use.cjs.map +1 -0
  156. package/dist/node/contexts/Schema/use.d.cts +3 -0
  157. package/dist/node/contexts/Schema/use.d.cts.map +1 -0
  158. package/dist/node/contexts/Schema/use.js +12 -30
  159. package/dist/node/contexts/Schema/use.js.map +1 -1
  160. package/dist/node/contexts/index.cjs +156 -0
  161. package/dist/node/contexts/index.cjs.map +1 -0
  162. package/dist/node/contexts/index.d.cts +2 -0
  163. package/dist/node/contexts/index.d.cts.map +1 -0
  164. package/dist/node/contexts/index.js +124 -21
  165. package/dist/node/contexts/index.js.map +1 -1
  166. package/dist/node/hooks/index.cjs +199 -0
  167. package/dist/node/hooks/index.cjs.map +1 -0
  168. package/dist/node/hooks/index.d.cts +5 -0
  169. package/dist/node/hooks/index.d.cts.map +1 -0
  170. package/dist/node/hooks/index.js +167 -27
  171. package/dist/node/hooks/index.js.map +1 -1
  172. package/dist/node/hooks/useGetSchema.cjs +73 -0
  173. package/dist/node/hooks/useGetSchema.cjs.map +1 -0
  174. package/dist/node/hooks/useGetSchema.d.cts +27 -0
  175. package/dist/node/hooks/useGetSchema.d.cts.map +1 -0
  176. package/dist/node/hooks/useGetSchema.js +18 -41
  177. package/dist/node/hooks/useGetSchema.js.map +1 -1
  178. package/dist/node/hooks/useSchemaDefinitions.cjs +54 -0
  179. package/dist/node/hooks/useSchemaDefinitions.cjs.map +1 -0
  180. package/dist/node/hooks/useSchemaDefinitions.d.cts +6 -0
  181. package/dist/node/hooks/useSchemaDefinitions.d.cts.map +1 -0
  182. package/dist/node/hooks/useSchemaDefinitions.js +14 -34
  183. package/dist/node/hooks/useSchemaDefinitions.js.map +1 -1
  184. package/dist/node/hooks/useSchemaList.cjs +73 -0
  185. package/dist/node/hooks/{useSchemaList.mjs.map → useSchemaList.cjs.map} +1 -1
  186. package/dist/node/hooks/useSchemaList.d.cts +3 -0
  187. package/dist/node/hooks/useSchemaList.d.cts.map +1 -0
  188. package/dist/node/hooks/useSchemaList.js +16 -39
  189. package/dist/node/hooks/useSchemaList.js.map +1 -1
  190. package/dist/node/hooks/useSchemaStats.cjs +75 -0
  191. package/dist/node/hooks/useSchemaStats.cjs.map +1 -0
  192. package/dist/node/hooks/useSchemaStats.d.cts +4 -0
  193. package/dist/node/hooks/useSchemaStats.d.cts.map +1 -0
  194. package/dist/node/hooks/useSchemaStats.js +17 -40
  195. package/dist/node/hooks/useSchemaStats.js.map +1 -1
  196. package/dist/node/index.cjs +371 -0
  197. package/dist/node/index.cjs.map +1 -0
  198. package/dist/node/index.d.cts +4 -0
  199. package/dist/node/index.d.cts.map +1 -0
  200. package/dist/node/index.js +333 -25
  201. package/dist/node/index.js.map +1 -1
  202. package/package.json +36 -36
  203. package/dist/browser/components/Property/SchemaProperty.stories.js +0 -37
  204. package/dist/browser/components/Property/SchemaProperty.stories.js.map +0 -1
  205. package/dist/browser/hooks/stories/TestSchemaHooks.stories.js +0 -65
  206. package/dist/browser/hooks/stories/TestSchemaHooks.stories.js.map +0 -1
  207. package/dist/browser/hooks/useGetSchema.stories.js +0 -63
  208. package/dist/browser/hooks/useGetSchema.stories.js.map +0 -1
  209. package/dist/node/components/Property/SchemaProperty.mjs +0 -54
  210. package/dist/node/components/Property/SchemaProperty.stories.js +0 -64
  211. package/dist/node/components/Property/SchemaProperty.stories.js.map +0 -1
  212. package/dist/node/components/Property/SchemaProperty.stories.mjs +0 -37
  213. package/dist/node/components/Property/SchemaProperty.stories.mjs.map +0 -1
  214. package/dist/node/components/Property/index.mjs +0 -2
  215. package/dist/node/components/Property/index.mjs.map +0 -1
  216. package/dist/node/components/SelectEx/SchemaSelectEx.mjs +0 -35
  217. package/dist/node/components/SelectEx/SchemaSelectEx.mjs.map +0 -1
  218. package/dist/node/components/SelectEx/index.mjs +0 -2
  219. package/dist/node/components/SelectEx/index.mjs.map +0 -1
  220. package/dist/node/components/index.mjs +0 -3
  221. package/dist/node/components/index.mjs.map +0 -1
  222. package/dist/node/contexts/Schema/Context.mjs +0 -6
  223. package/dist/node/contexts/Schema/Provider/Memory.mjs +0 -21
  224. package/dist/node/contexts/Schema/Provider/Memory.mjs.map +0 -1
  225. package/dist/node/contexts/Schema/Provider/Props.mjs +0 -1
  226. package/dist/node/contexts/Schema/Provider/Props.mjs.map +0 -1
  227. package/dist/node/contexts/Schema/Provider/Route.mjs +0 -47
  228. package/dist/node/contexts/Schema/Provider/Route.mjs.map +0 -1
  229. package/dist/node/contexts/Schema/Provider/index.mjs +0 -4
  230. package/dist/node/contexts/Schema/Provider/index.mjs.map +0 -1
  231. package/dist/node/contexts/Schema/State.mjs +0 -1
  232. package/dist/node/contexts/Schema/State.mjs.map +0 -1
  233. package/dist/node/contexts/Schema/index.mjs +0 -5
  234. package/dist/node/contexts/Schema/index.mjs.map +0 -1
  235. package/dist/node/contexts/Schema/use.mjs +0 -9
  236. package/dist/node/contexts/Schema/use.mjs.map +0 -1
  237. package/dist/node/contexts/index.mjs +0 -2
  238. package/dist/node/contexts/index.mjs.map +0 -1
  239. package/dist/node/hooks/index.mjs +0 -5
  240. package/dist/node/hooks/index.mjs.map +0 -1
  241. package/dist/node/hooks/stories/TestSchemaHooks.stories.js +0 -89
  242. package/dist/node/hooks/stories/TestSchemaHooks.stories.js.map +0 -1
  243. package/dist/node/hooks/stories/TestSchemaHooks.stories.mjs +0 -65
  244. package/dist/node/hooks/stories/TestSchemaHooks.stories.mjs.map +0 -1
  245. package/dist/node/hooks/useGetSchema.mjs +0 -47
  246. package/dist/node/hooks/useGetSchema.stories.js +0 -98
  247. package/dist/node/hooks/useGetSchema.stories.js.map +0 -1
  248. package/dist/node/hooks/useGetSchema.stories.mjs +0 -63
  249. package/dist/node/hooks/useGetSchema.stories.mjs.map +0 -1
  250. package/dist/node/hooks/useSchemaDefinitions.mjs +0 -25
  251. package/dist/node/hooks/useSchemaList.mjs +0 -47
  252. package/dist/node/hooks/useSchemaStats.mjs +0 -49
  253. package/dist/node/index.mjs +0 -4
  254. package/dist/node/index.mjs.map +0 -1
@@ -1,71 +1,123 @@
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 });
1
+ // src/contexts/Schema/Provider/Route.tsx
2
+ import { useCallback, useEffect as useEffect2 } from "react";
3
+ import { useSearchParams } from "react-router-dom";
4
+
5
+ // src/contexts/Schema/Context.ts
6
+ import { createContextEx } from "@xyo-network/react-shared";
7
+ var SchemaContext = createContextEx();
8
+
9
+ // src/contexts/Schema/use.ts
10
+ import { useContextEx } from "@xyo-network/react-shared";
11
+ var useSchema = (required = false) => {
12
+ return useContextEx(SchemaContext, "Schema", required);
9
13
  };
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;
14
+
15
+ // src/contexts/Schema/Provider/Memory.tsx
16
+ import { compact } from "@xylabs/lodash";
17
+ import { useEffect, useState as useState2 } from "react";
18
+
19
+ // src/hooks/useSchemaStats.tsx
20
+ import { useAsyncEffect } from "@xylabs/react-async-effect";
21
+ import { isSchemaStatsPayload, SchemaStatsQuerySchema } from "@xyo-network/diviner-schema-stats-model";
22
+ import { TYPES } from "@xyo-network/node-core-types";
23
+ import { useDivinerFromNode } from "@xyo-network/react-diviner";
24
+ import { useMemo, useState } from "react";
25
+ var useSchemaStats = (statsAddress, nameOrAddress = TYPES.SchemaStatsDiviner.description) => {
26
+ const [refresh, setRefresh] = useState(1);
27
+ const [diviner, divinerError] = useDivinerFromNode(nameOrAddress);
28
+ const [error, setError] = useState();
29
+ const refreshHistory = () => setRefresh((previous) => previous + 1);
30
+ const [schemaList, setSchemaList] = useState();
31
+ const query = useMemo(
32
+ () => ({
33
+ address: statsAddress,
34
+ schema: SchemaStatsQuerySchema
35
+ }),
36
+ [statsAddress]
37
+ );
38
+ useAsyncEffect(
39
+ // eslint-disable-next-line react-hooks/exhaustive-deps
40
+ async (mounted) => {
41
+ if (diviner) {
42
+ if (divinerError) {
43
+ if (mounted()) {
44
+ setError(divinerError);
45
+ setSchemaList(void 0);
46
+ }
47
+ } else {
48
+ try {
49
+ const schemas = (await diviner.divine([query])).filter(isSchemaStatsPayload);
50
+ if (mounted()) {
51
+ setSchemaList(schemas);
52
+ setError(void 0);
53
+ }
54
+ } catch (ex) {
55
+ setError(ex);
56
+ setSchemaList(void 0);
57
+ }
58
+ }
59
+ }
60
+ },
61
+ [diviner, refresh, divinerError, query]
62
+ );
63
+ return [schemaList, error, refreshHistory];
17
64
  };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var Route_exports = {};
20
- __export(Route_exports, {
21
- SchemaRouteProvider: () => SchemaRouteProvider
22
- });
23
- module.exports = __toCommonJS(Route_exports);
24
- var import_jsx_runtime = require("react/jsx-runtime");
25
- var import_react = require("react");
26
- var import_react_router_dom = require("react-router-dom");
27
- var import_Context = require("../Context");
28
- var import_use = require("../use");
29
- var import_Memory = require("./Memory");
30
- const SchemaRouteProviderInner = ({ children }) => {
31
- const { schema, setSchema, schemaList } = (0, import_use.useSchema)();
32
- const [params, setParams] = (0, import_react_router_dom.useSearchParams)();
65
+
66
+ // src/contexts/Schema/Provider/Memory.tsx
67
+ import { jsx } from "react/jsx-runtime";
68
+ var SchemaMemoryProvider = ({ defaultSchema, knownSchemaList = [], ...props }) => {
69
+ const [schema, setSchema] = useState2(defaultSchema);
70
+ const [schemaList, setSchemaList] = useState2(knownSchemaList);
71
+ const [fetchedSchemaStats] = useSchemaStats();
72
+ useEffect(() => {
73
+ if (fetchedSchemaStats) {
74
+ const schemaList2 = compact(fetchedSchemaStats.map(({ name }) => name));
75
+ setSchemaList(schemaList2);
76
+ }
77
+ }, [fetchedSchemaStats]);
78
+ return /* @__PURE__ */ jsx(SchemaContext.Provider, { value: { provided: true, schema, schemaList: knownSchemaList ?? schemaList, setSchema, setSchemaList }, ...props });
79
+ };
80
+
81
+ // src/contexts/Schema/Provider/Route.tsx
82
+ import { jsx as jsx2 } from "react/jsx-runtime";
83
+ var SchemaRouteProviderInner = ({ children }) => {
84
+ const { schema, setSchema, schemaList } = useSchema();
85
+ const [params, setParams] = useSearchParams();
33
86
  const routeSchema = params.get("schema");
34
- const setSchemaParam = (0, import_react.useCallback)(
87
+ const setSchemaParam = useCallback(
35
88
  (schema2) => {
36
89
  if (schema2) {
37
90
  params.set("schema", schema2);
38
91
  setParams(params, { replace: true });
39
- setSchema?.(schema2);
92
+ setSchema == null ? void 0 : setSchema(schema2);
40
93
  } else {
41
94
  params.delete("network");
42
95
  }
43
96
  },
44
97
  [params, setParams, setSchema]
45
98
  );
46
- const setSchemaLocal = (0, import_react.useCallback)(
99
+ const setSchemaLocal = useCallback(
47
100
  (schema2) => {
48
101
  setSchemaParam(schema2);
49
- setSchema?.(schema2);
102
+ setSchema == null ? void 0 : setSchema(schema2);
50
103
  },
51
104
  [setSchemaParam, setSchema]
52
105
  );
53
- (0, import_react.useEffect)(() => {
106
+ useEffect2(() => {
54
107
  if (routeSchema !== schema) {
55
108
  if (routeSchema === void 0 && schema !== void 0) {
56
109
  setSchemaLocal(schema);
57
110
  } else if (routeSchema) {
58
- setSchema?.(routeSchema);
111
+ setSchema == null ? void 0 : setSchema(routeSchema);
59
112
  }
60
113
  }
61
114
  }, [routeSchema, schema, setSchemaParam, setSchema, setSchemaLocal]);
62
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Context.SchemaContext.Provider, { value: { provided: true, schema, schemaList, setSchema: setSchemaLocal }, children });
115
+ return /* @__PURE__ */ jsx2(SchemaContext.Provider, { value: { provided: true, schema, schemaList, setSchema: setSchemaLocal }, children });
63
116
  };
64
- const SchemaRouteProvider = ({ knownSchemaList, defaultSchema, ...props }) => {
65
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Memory.SchemaMemoryProvider, { knownSchemaList, defaultSchema, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SchemaRouteProviderInner, { ...props }) });
117
+ var SchemaRouteProvider = ({ knownSchemaList, defaultSchema, ...props }) => {
118
+ return /* @__PURE__ */ jsx2(SchemaMemoryProvider, { knownSchemaList, defaultSchema, children: /* @__PURE__ */ jsx2(SchemaRouteProviderInner, { ...props }) });
66
119
  };
67
- // Annotate the CommonJS export names for ESM import in node:
68
- 0 && (module.exports = {
120
+ export {
69
121
  SchemaRouteProvider
70
- });
122
+ };
71
123
  //# sourceMappingURL=Route.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/contexts/Schema/Provider/Route.tsx"],"sourcesContent":["import type { WithChildren } from '@xylabs/react-shared'\nimport { useCallback, useEffect } from 'react'\nimport { useSearchParams } from 'react-router-dom'\n\nimport { SchemaContext } from '../Context'\nimport { useSchema } from '../use'\nimport { SchemaMemoryProvider } from './Memory'\nimport { SchemaProviderProps } from './Props'\n\nconst SchemaRouteProviderInner: React.FC<WithChildren> = ({ children }) => {\n const { schema, setSchema, schemaList } = useSchema()\n\n const [params, setParams] = useSearchParams()\n\n const routeSchema = params.get('schema')\n\n //update the network stored in the route\n const setSchemaParam = useCallback(\n (schema?: string) => {\n if (schema) {\n params.set('schema', schema)\n setParams(params, { replace: true })\n setSchema?.(schema)\n } else {\n params.delete('network')\n }\n },\n [params, setParams, setSchema],\n )\n\n //if the network is actively changed, update both memory and route\n const setSchemaLocal = useCallback(\n (schema: string) => {\n setSchemaParam(schema)\n setSchema?.(schema)\n },\n [setSchemaParam, setSchema],\n )\n\n //sync memory and route storage of network\n useEffect(() => {\n if (routeSchema !== schema) {\n if (routeSchema === undefined && schema !== undefined) {\n //if the route does not have a network selected, use what is in the memory context\n setSchemaLocal(schema)\n } else if (routeSchema) {\n //if the route has a selection and it is different from memory, update memory\n setSchema?.(routeSchema)\n }\n }\n }, [routeSchema, schema, setSchemaParam, setSchema, setSchemaLocal])\n\n return <SchemaContext.Provider value={{ provided: true, schema, schemaList, setSchema: setSchemaLocal }}>{children}</SchemaContext.Provider>\n}\n\nexport const SchemaRouteProvider: React.FC<WithChildren<SchemaProviderProps>> = ({ knownSchemaList, defaultSchema, ...props }) => {\n return (\n <SchemaMemoryProvider knownSchemaList={knownSchemaList} defaultSchema={defaultSchema}>\n <SchemaRouteProviderInner {...props} />\n </SchemaMemoryProvider>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAoDS;AAnDT,mBAAuC;AACvC,8BAAgC;AAEhC,qBAA8B;AAC9B,iBAA0B;AAC1B,oBAAqC;AAGrC,MAAM,2BAAmD,CAAC,EAAE,SAAS,MAAM;AACzE,QAAM,EAAE,QAAQ,WAAW,WAAW,QAAI,sBAAU;AAEpD,QAAM,CAAC,QAAQ,SAAS,QAAI,yCAAgB;AAE5C,QAAM,cAAc,OAAO,IAAI,QAAQ;AAGvC,QAAM,qBAAiB;AAAA,IACrB,CAACA,YAAoB;AACnB,UAAIA,SAAQ;AACV,eAAO,IAAI,UAAUA,OAAM;AAC3B,kBAAU,QAAQ,EAAE,SAAS,KAAK,CAAC;AACnC,oBAAYA,OAAM;AAAA,MACpB,OAAO;AACL,eAAO,OAAO,SAAS;AAAA,MACzB;AAAA,IACF;AAAA,IACA,CAAC,QAAQ,WAAW,SAAS;AAAA,EAC/B;AAGA,QAAM,qBAAiB;AAAA,IACrB,CAACA,YAAmB;AAClB,qBAAeA,OAAM;AACrB,kBAAYA,OAAM;AAAA,IACpB;AAAA,IACA,CAAC,gBAAgB,SAAS;AAAA,EAC5B;AAGA,8BAAU,MAAM;AACd,QAAI,gBAAgB,QAAQ;AAC1B,UAAI,gBAAgB,UAAa,WAAW,QAAW;AAErD,uBAAe,MAAM;AAAA,MACvB,WAAW,aAAa;AAEtB,oBAAY,WAAW;AAAA,MACzB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,aAAa,QAAQ,gBAAgB,WAAW,cAAc,CAAC;AAEnE,SAAO,4CAAC,6BAAc,UAAd,EAAuB,OAAO,EAAE,UAAU,MAAM,QAAQ,YAAY,WAAW,eAAe,GAAI,UAAS;AACrH;AAEO,MAAM,sBAAmE,CAAC,EAAE,iBAAiB,eAAe,GAAG,MAAM,MAAM;AAChI,SACE,4CAAC,sCAAqB,iBAAkC,eACtD,sDAAC,4BAA0B,GAAG,OAAO,GACvC;AAEJ;","names":["schema"]}
1
+ {"version":3,"sources":["../../../../../src/contexts/Schema/Provider/Route.tsx","../../../../../src/contexts/Schema/Context.ts","../../../../../src/contexts/Schema/use.ts","../../../../../src/contexts/Schema/Provider/Memory.tsx","../../../../../src/hooks/useSchemaStats.tsx"],"sourcesContent":["import type { WithChildren } from '@xylabs/react-shared'\nimport { useCallback, useEffect } from 'react'\nimport { useSearchParams } from 'react-router-dom'\n\nimport { SchemaContext } from '../Context'\nimport { useSchema } from '../use'\nimport { SchemaMemoryProvider } from './Memory'\nimport { SchemaProviderProps } from './Props'\n\nconst SchemaRouteProviderInner: React.FC<WithChildren> = ({ children }) => {\n const { schema, setSchema, schemaList } = useSchema()\n\n const [params, setParams] = useSearchParams()\n\n const routeSchema = params.get('schema')\n\n //update the network stored in the route\n const setSchemaParam = useCallback(\n (schema?: string) => {\n if (schema) {\n params.set('schema', schema)\n setParams(params, { replace: true })\n setSchema?.(schema)\n } else {\n params.delete('network')\n }\n },\n [params, setParams, setSchema],\n )\n\n //if the network is actively changed, update both memory and route\n const setSchemaLocal = useCallback(\n (schema: string) => {\n setSchemaParam(schema)\n setSchema?.(schema)\n },\n [setSchemaParam, setSchema],\n )\n\n //sync memory and route storage of network\n useEffect(() => {\n if (routeSchema !== schema) {\n if (routeSchema === undefined && schema !== undefined) {\n //if the route does not have a network selected, use what is in the memory context\n setSchemaLocal(schema)\n } else if (routeSchema) {\n //if the route has a selection and it is different from memory, update memory\n setSchema?.(routeSchema)\n }\n }\n }, [routeSchema, schema, setSchemaParam, setSchema, setSchemaLocal])\n\n return <SchemaContext.Provider value={{ provided: true, schema, schemaList, setSchema: setSchemaLocal }}>{children}</SchemaContext.Provider>\n}\n\nexport const SchemaRouteProvider: React.FC<WithChildren<SchemaProviderProps>> = ({ knownSchemaList, defaultSchema, ...props }) => {\n return (\n <SchemaMemoryProvider knownSchemaList={knownSchemaList} defaultSchema={defaultSchema}>\n <SchemaRouteProviderInner {...props} />\n </SchemaMemoryProvider>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { SchemaContextState } from './State'\n\nexport const SchemaContext = createContextEx<SchemaContextState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { SchemaContext } from './Context'\nimport { SchemaContextState } from './State'\n\nexport const useSchema = (required = false) => {\n return useContextEx<SchemaContextState>(SchemaContext, 'Schema', required)\n}\n","import { compact } from '@xylabs/lodash'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { useEffect, useState } from 'react'\n\nimport { useSchemaStats } from '../../../hooks'\nimport { SchemaContext } from '../Context'\nimport { SchemaProviderProps } from './Props'\n\nexport const SchemaMemoryProvider: React.FC<WithChildren<SchemaProviderProps>> = ({ defaultSchema, knownSchemaList = [], ...props }) => {\n const [schema, setSchema] = useState(defaultSchema)\n const [schemaList, setSchemaList] = useState<string[] | undefined>(knownSchemaList)\n const [fetchedSchemaStats] = useSchemaStats()\n\n useEffect(() => {\n if (fetchedSchemaStats) {\n const schemaList = compact(fetchedSchemaStats.map(({ name }) => name))\n setSchemaList(schemaList)\n }\n }, [fetchedSchemaStats])\n\n return <SchemaContext.Provider value={{ provided: true, schema, schemaList: knownSchemaList ?? schemaList, setSchema, setSchemaList }} {...props} />\n}\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { isSchemaStatsPayload, SchemaStatsPayload, SchemaStatsQueryPayload, SchemaStatsQuerySchema } from '@xyo-network/diviner-schema-stats-model'\nimport { TYPES } from '@xyo-network/node-core-types'\nimport { useDivinerFromNode } from '@xyo-network/react-diviner'\nimport { Dispatch, SetStateAction, useMemo, useState } from 'react'\n\nexport const useSchemaStats = (\n statsAddress?: string,\n nameOrAddress = TYPES.SchemaStatsDiviner.description,\n): [SchemaStatsPayload[] | undefined, Error | undefined, Dispatch<SetStateAction<number>>] => {\n const [refresh, setRefresh] = useState(1)\n const [diviner, divinerError] = useDivinerFromNode(nameOrAddress)\n const [error, setError] = useState<Error>()\n const refreshHistory = () => setRefresh((previous) => previous + 1)\n\n const [schemaList, setSchemaList] = useState<SchemaStatsPayload[]>()\n\n const query: SchemaStatsQueryPayload = useMemo(\n () => ({\n address: statsAddress,\n schema: SchemaStatsQuerySchema,\n }),\n [statsAddress],\n )\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n if (diviner) {\n if (divinerError) {\n if (mounted()) {\n setError(divinerError)\n setSchemaList(undefined)\n }\n } else {\n try {\n const schemas = (await diviner.divine([query])).filter(isSchemaStatsPayload)\n if (mounted()) {\n setSchemaList(schemas)\n setError(undefined)\n }\n } catch (ex) {\n setError(ex as Error)\n setSchemaList(undefined)\n }\n }\n }\n },\n [diviner, refresh, divinerError, query],\n )\n\n return [schemaList, error, refreshHistory]\n}\n"],"mappings":"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","names":["useEffect","useState","useState","schemaList","jsx","schema","useEffect"]}
@@ -0,0 +1,152 @@
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/Schema/Provider/index.ts
21
+ var Provider_exports = {};
22
+ __export(Provider_exports, {
23
+ SchemaMemoryProvider: () => SchemaMemoryProvider,
24
+ SchemaRouteProvider: () => SchemaRouteProvider
25
+ });
26
+ module.exports = __toCommonJS(Provider_exports);
27
+
28
+ // src/contexts/Schema/Provider/Memory.tsx
29
+ var import_lodash = require("@xylabs/lodash");
30
+ var import_react2 = require("react");
31
+
32
+ // src/hooks/useSchemaStats.tsx
33
+ var import_react_async_effect = require("@xylabs/react-async-effect");
34
+ var import_diviner_schema_stats_model = require("@xyo-network/diviner-schema-stats-model");
35
+ var import_node_core_types = require("@xyo-network/node-core-types");
36
+ var import_react_diviner = require("@xyo-network/react-diviner");
37
+ var import_react = require("react");
38
+ var useSchemaStats = (statsAddress, nameOrAddress = import_node_core_types.TYPES.SchemaStatsDiviner.description) => {
39
+ const [refresh, setRefresh] = (0, import_react.useState)(1);
40
+ const [diviner, divinerError] = (0, import_react_diviner.useDivinerFromNode)(nameOrAddress);
41
+ const [error, setError] = (0, import_react.useState)();
42
+ const refreshHistory = () => setRefresh((previous) => previous + 1);
43
+ const [schemaList, setSchemaList] = (0, import_react.useState)();
44
+ const query = (0, import_react.useMemo)(
45
+ () => ({
46
+ address: statsAddress,
47
+ schema: import_diviner_schema_stats_model.SchemaStatsQuerySchema
48
+ }),
49
+ [statsAddress]
50
+ );
51
+ (0, import_react_async_effect.useAsyncEffect)(
52
+ // eslint-disable-next-line react-hooks/exhaustive-deps
53
+ async (mounted) => {
54
+ if (diviner) {
55
+ if (divinerError) {
56
+ if (mounted()) {
57
+ setError(divinerError);
58
+ setSchemaList(void 0);
59
+ }
60
+ } else {
61
+ try {
62
+ const schemas = (await diviner.divine([query])).filter(import_diviner_schema_stats_model.isSchemaStatsPayload);
63
+ if (mounted()) {
64
+ setSchemaList(schemas);
65
+ setError(void 0);
66
+ }
67
+ } catch (ex) {
68
+ setError(ex);
69
+ setSchemaList(void 0);
70
+ }
71
+ }
72
+ }
73
+ },
74
+ [diviner, refresh, divinerError, query]
75
+ );
76
+ return [schemaList, error, refreshHistory];
77
+ };
78
+
79
+ // src/contexts/Schema/Context.ts
80
+ var import_react_shared = require("@xyo-network/react-shared");
81
+ var SchemaContext = (0, import_react_shared.createContextEx)();
82
+
83
+ // src/contexts/Schema/Provider/Memory.tsx
84
+ var import_jsx_runtime = require("react/jsx-runtime");
85
+ var SchemaMemoryProvider = ({ defaultSchema, knownSchemaList = [], ...props }) => {
86
+ const [schema, setSchema] = (0, import_react2.useState)(defaultSchema);
87
+ const [schemaList, setSchemaList] = (0, import_react2.useState)(knownSchemaList);
88
+ const [fetchedSchemaStats] = useSchemaStats();
89
+ (0, import_react2.useEffect)(() => {
90
+ if (fetchedSchemaStats) {
91
+ const schemaList2 = (0, import_lodash.compact)(fetchedSchemaStats.map(({ name }) => name));
92
+ setSchemaList(schemaList2);
93
+ }
94
+ }, [fetchedSchemaStats]);
95
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SchemaContext.Provider, { value: { provided: true, schema, schemaList: knownSchemaList ?? schemaList, setSchema, setSchemaList }, ...props });
96
+ };
97
+
98
+ // src/contexts/Schema/Provider/Route.tsx
99
+ var import_react3 = require("react");
100
+ var import_react_router_dom = require("react-router-dom");
101
+
102
+ // src/contexts/Schema/use.ts
103
+ var import_react_shared2 = require("@xyo-network/react-shared");
104
+ var useSchema = (required = false) => {
105
+ return (0, import_react_shared2.useContextEx)(SchemaContext, "Schema", required);
106
+ };
107
+
108
+ // src/contexts/Schema/Provider/Route.tsx
109
+ var import_jsx_runtime2 = require("react/jsx-runtime");
110
+ var SchemaRouteProviderInner = ({ children }) => {
111
+ const { schema, setSchema, schemaList } = useSchema();
112
+ const [params, setParams] = (0, import_react_router_dom.useSearchParams)();
113
+ const routeSchema = params.get("schema");
114
+ const setSchemaParam = (0, import_react3.useCallback)(
115
+ (schema2) => {
116
+ if (schema2) {
117
+ params.set("schema", schema2);
118
+ setParams(params, { replace: true });
119
+ setSchema == null ? void 0 : setSchema(schema2);
120
+ } else {
121
+ params.delete("network");
122
+ }
123
+ },
124
+ [params, setParams, setSchema]
125
+ );
126
+ const setSchemaLocal = (0, import_react3.useCallback)(
127
+ (schema2) => {
128
+ setSchemaParam(schema2);
129
+ setSchema == null ? void 0 : setSchema(schema2);
130
+ },
131
+ [setSchemaParam, setSchema]
132
+ );
133
+ (0, import_react3.useEffect)(() => {
134
+ if (routeSchema !== schema) {
135
+ if (routeSchema === void 0 && schema !== void 0) {
136
+ setSchemaLocal(schema);
137
+ } else if (routeSchema) {
138
+ setSchema == null ? void 0 : setSchema(routeSchema);
139
+ }
140
+ }
141
+ }, [routeSchema, schema, setSchemaParam, setSchema, setSchemaLocal]);
142
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(SchemaContext.Provider, { value: { provided: true, schema, schemaList, setSchema: setSchemaLocal }, children });
143
+ };
144
+ var SchemaRouteProvider = ({ knownSchemaList, defaultSchema, ...props }) => {
145
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(SchemaMemoryProvider, { knownSchemaList, defaultSchema, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(SchemaRouteProviderInner, { ...props }) });
146
+ };
147
+ // Annotate the CommonJS export names for ESM import in node:
148
+ 0 && (module.exports = {
149
+ SchemaMemoryProvider,
150
+ SchemaRouteProvider
151
+ });
152
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/contexts/Schema/Provider/index.ts","../../../../../src/contexts/Schema/Provider/Memory.tsx","../../../../../src/hooks/useSchemaStats.tsx","../../../../../src/contexts/Schema/Context.ts","../../../../../src/contexts/Schema/Provider/Route.tsx","../../../../../src/contexts/Schema/use.ts"],"sourcesContent":["export * from './Memory'\nexport * from './Props'\nexport * from './Route'\n","import { compact } from '@xylabs/lodash'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { useEffect, useState } from 'react'\n\nimport { useSchemaStats } from '../../../hooks'\nimport { SchemaContext } from '../Context'\nimport { SchemaProviderProps } from './Props'\n\nexport const SchemaMemoryProvider: React.FC<WithChildren<SchemaProviderProps>> = ({ defaultSchema, knownSchemaList = [], ...props }) => {\n const [schema, setSchema] = useState(defaultSchema)\n const [schemaList, setSchemaList] = useState<string[] | undefined>(knownSchemaList)\n const [fetchedSchemaStats] = useSchemaStats()\n\n useEffect(() => {\n if (fetchedSchemaStats) {\n const schemaList = compact(fetchedSchemaStats.map(({ name }) => name))\n setSchemaList(schemaList)\n }\n }, [fetchedSchemaStats])\n\n return <SchemaContext.Provider value={{ provided: true, schema, schemaList: knownSchemaList ?? schemaList, setSchema, setSchemaList }} {...props} />\n}\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { isSchemaStatsPayload, SchemaStatsPayload, SchemaStatsQueryPayload, SchemaStatsQuerySchema } from '@xyo-network/diviner-schema-stats-model'\nimport { TYPES } from '@xyo-network/node-core-types'\nimport { useDivinerFromNode } from '@xyo-network/react-diviner'\nimport { Dispatch, SetStateAction, useMemo, useState } from 'react'\n\nexport const useSchemaStats = (\n statsAddress?: string,\n nameOrAddress = TYPES.SchemaStatsDiviner.description,\n): [SchemaStatsPayload[] | undefined, Error | undefined, Dispatch<SetStateAction<number>>] => {\n const [refresh, setRefresh] = useState(1)\n const [diviner, divinerError] = useDivinerFromNode(nameOrAddress)\n const [error, setError] = useState<Error>()\n const refreshHistory = () => setRefresh((previous) => previous + 1)\n\n const [schemaList, setSchemaList] = useState<SchemaStatsPayload[]>()\n\n const query: SchemaStatsQueryPayload = useMemo(\n () => ({\n address: statsAddress,\n schema: SchemaStatsQuerySchema,\n }),\n [statsAddress],\n )\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n if (diviner) {\n if (divinerError) {\n if (mounted()) {\n setError(divinerError)\n setSchemaList(undefined)\n }\n } else {\n try {\n const schemas = (await diviner.divine([query])).filter(isSchemaStatsPayload)\n if (mounted()) {\n setSchemaList(schemas)\n setError(undefined)\n }\n } catch (ex) {\n setError(ex as Error)\n setSchemaList(undefined)\n }\n }\n }\n },\n [diviner, refresh, divinerError, query],\n )\n\n return [schemaList, error, refreshHistory]\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { SchemaContextState } from './State'\n\nexport const SchemaContext = createContextEx<SchemaContextState>()\n","import type { WithChildren } from '@xylabs/react-shared'\nimport { useCallback, useEffect } from 'react'\nimport { useSearchParams } from 'react-router-dom'\n\nimport { SchemaContext } from '../Context'\nimport { useSchema } from '../use'\nimport { SchemaMemoryProvider } from './Memory'\nimport { SchemaProviderProps } from './Props'\n\nconst SchemaRouteProviderInner: React.FC<WithChildren> = ({ children }) => {\n const { schema, setSchema, schemaList } = useSchema()\n\n const [params, setParams] = useSearchParams()\n\n const routeSchema = params.get('schema')\n\n //update the network stored in the route\n const setSchemaParam = useCallback(\n (schema?: string) => {\n if (schema) {\n params.set('schema', schema)\n setParams(params, { replace: true })\n setSchema?.(schema)\n } else {\n params.delete('network')\n }\n },\n [params, setParams, setSchema],\n )\n\n //if the network is actively changed, update both memory and route\n const setSchemaLocal = useCallback(\n (schema: string) => {\n setSchemaParam(schema)\n setSchema?.(schema)\n },\n [setSchemaParam, setSchema],\n )\n\n //sync memory and route storage of network\n useEffect(() => {\n if (routeSchema !== schema) {\n if (routeSchema === undefined && schema !== undefined) {\n //if the route does not have a network selected, use what is in the memory context\n setSchemaLocal(schema)\n } else if (routeSchema) {\n //if the route has a selection and it is different from memory, update memory\n setSchema?.(routeSchema)\n }\n }\n }, [routeSchema, schema, setSchemaParam, setSchema, setSchemaLocal])\n\n return <SchemaContext.Provider value={{ provided: true, schema, schemaList, setSchema: setSchemaLocal }}>{children}</SchemaContext.Provider>\n}\n\nexport const SchemaRouteProvider: React.FC<WithChildren<SchemaProviderProps>> = ({ knownSchemaList, defaultSchema, ...props }) => {\n return (\n <SchemaMemoryProvider knownSchemaList={knownSchemaList} defaultSchema={defaultSchema}>\n <SchemaRouteProviderInner {...props} />\n </SchemaMemoryProvider>\n )\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { SchemaContext } from './Context'\nimport { SchemaContextState } from './State'\n\nexport const useSchema = (required = false) => {\n return useContextEx<SchemaContextState>(SchemaContext, 'Schema', required)\n}\n"],"mappings":"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","names":["import_react","schemaList","import_react","import_react_shared","import_jsx_runtime","schema"]}
@@ -0,0 +1,4 @@
1
+ export * from './Memory';
2
+ export * from './Props';
3
+ export * from './Route';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/contexts/Schema/Provider/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
@@ -1,27 +1,124 @@
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;
1
+ // src/contexts/Schema/Provider/Memory.tsx
2
+ import { compact } from "@xylabs/lodash";
3
+ import { useEffect, useState as useState2 } from "react";
4
+
5
+ // src/hooks/useSchemaStats.tsx
6
+ import { useAsyncEffect } from "@xylabs/react-async-effect";
7
+ import { isSchemaStatsPayload, SchemaStatsQuerySchema } from "@xyo-network/diviner-schema-stats-model";
8
+ import { TYPES } from "@xyo-network/node-core-types";
9
+ import { useDivinerFromNode } from "@xyo-network/react-diviner";
10
+ import { useMemo, useState } from "react";
11
+ var useSchemaStats = (statsAddress, nameOrAddress = TYPES.SchemaStatsDiviner.description) => {
12
+ const [refresh, setRefresh] = useState(1);
13
+ const [diviner, divinerError] = useDivinerFromNode(nameOrAddress);
14
+ const [error, setError] = useState();
15
+ const refreshHistory = () => setRefresh((previous) => previous + 1);
16
+ const [schemaList, setSchemaList] = useState();
17
+ const query = useMemo(
18
+ () => ({
19
+ address: statsAddress,
20
+ schema: SchemaStatsQuerySchema
21
+ }),
22
+ [statsAddress]
23
+ );
24
+ useAsyncEffect(
25
+ // eslint-disable-next-line react-hooks/exhaustive-deps
26
+ async (mounted) => {
27
+ if (diviner) {
28
+ if (divinerError) {
29
+ if (mounted()) {
30
+ setError(divinerError);
31
+ setSchemaList(void 0);
32
+ }
33
+ } else {
34
+ try {
35
+ const schemas = (await diviner.divine([query])).filter(isSchemaStatsPayload);
36
+ if (mounted()) {
37
+ setSchemaList(schemas);
38
+ setError(void 0);
39
+ }
40
+ } catch (ex) {
41
+ setError(ex);
42
+ setSchemaList(void 0);
43
+ }
44
+ }
45
+ }
46
+ },
47
+ [diviner, refresh, divinerError, query]
48
+ );
49
+ return [schemaList, error, refreshHistory];
50
+ };
51
+
52
+ // src/contexts/Schema/Context.ts
53
+ import { createContextEx } from "@xyo-network/react-shared";
54
+ var SchemaContext = createContextEx();
55
+
56
+ // src/contexts/Schema/Provider/Memory.tsx
57
+ import { jsx } from "react/jsx-runtime";
58
+ var SchemaMemoryProvider = ({ defaultSchema, knownSchemaList = [], ...props }) => {
59
+ const [schema, setSchema] = useState2(defaultSchema);
60
+ const [schemaList, setSchemaList] = useState2(knownSchemaList);
61
+ const [fetchedSchemaStats] = useSchemaStats();
62
+ useEffect(() => {
63
+ if (fetchedSchemaStats) {
64
+ const schemaList2 = compact(fetchedSchemaStats.map(({ name }) => name));
65
+ setSchemaList(schemaList2);
66
+ }
67
+ }, [fetchedSchemaStats]);
68
+ return /* @__PURE__ */ jsx(SchemaContext.Provider, { value: { provided: true, schema, schemaList: knownSchemaList ?? schemaList, setSchema, setSchemaList }, ...props });
69
+ };
70
+
71
+ // src/contexts/Schema/Provider/Route.tsx
72
+ import { useCallback, useEffect as useEffect2 } from "react";
73
+ import { useSearchParams } from "react-router-dom";
74
+
75
+ // src/contexts/Schema/use.ts
76
+ import { useContextEx } from "@xyo-network/react-shared";
77
+ var useSchema = (required = false) => {
78
+ return useContextEx(SchemaContext, "Schema", required);
79
+ };
80
+
81
+ // src/contexts/Schema/Provider/Route.tsx
82
+ import { jsx as jsx2 } from "react/jsx-runtime";
83
+ var SchemaRouteProviderInner = ({ children }) => {
84
+ const { schema, setSchema, schemaList } = useSchema();
85
+ const [params, setParams] = useSearchParams();
86
+ const routeSchema = params.get("schema");
87
+ const setSchemaParam = useCallback(
88
+ (schema2) => {
89
+ if (schema2) {
90
+ params.set("schema", schema2);
91
+ setParams(params, { replace: true });
92
+ setSchema == null ? void 0 : setSchema(schema2);
93
+ } else {
94
+ params.delete("network");
95
+ }
96
+ },
97
+ [params, setParams, setSchema]
98
+ );
99
+ const setSchemaLocal = useCallback(
100
+ (schema2) => {
101
+ setSchemaParam(schema2);
102
+ setSchema == null ? void 0 : setSchema(schema2);
103
+ },
104
+ [setSchemaParam, setSchema]
105
+ );
106
+ useEffect2(() => {
107
+ if (routeSchema !== schema) {
108
+ if (routeSchema === void 0 && schema !== void 0) {
109
+ setSchemaLocal(schema);
110
+ } else if (routeSchema) {
111
+ setSchema == null ? void 0 : setSchema(routeSchema);
112
+ }
113
+ }
114
+ }, [routeSchema, schema, setSchemaParam, setSchema, setSchemaLocal]);
115
+ return /* @__PURE__ */ jsx2(SchemaContext.Provider, { value: { provided: true, schema, schemaList, setSchema: setSchemaLocal }, children });
116
+ };
117
+ var SchemaRouteProvider = ({ knownSchemaList, defaultSchema, ...props }) => {
118
+ return /* @__PURE__ */ jsx2(SchemaMemoryProvider, { knownSchemaList, defaultSchema, children: /* @__PURE__ */ jsx2(SchemaRouteProviderInner, { ...props }) });
119
+ };
120
+ export {
121
+ SchemaMemoryProvider,
122
+ SchemaRouteProvider
13
123
  };
14
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
- var Provider_exports = {};
17
- module.exports = __toCommonJS(Provider_exports);
18
- __reExport(Provider_exports, require("./Memory"), module.exports);
19
- __reExport(Provider_exports, require("./Props"), module.exports);
20
- __reExport(Provider_exports, require("./Route"), module.exports);
21
- // Annotate the CommonJS export names for ESM import in node:
22
- 0 && (module.exports = {
23
- ...require("./Memory"),
24
- ...require("./Props"),
25
- ...require("./Route")
26
- });
27
124
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/contexts/Schema/Provider/index.ts"],"sourcesContent":["export * from './Memory'\nexport * from './Props'\nexport * from './Route'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,6BAAc,qBAAd;AACA,6BAAc,oBADd;AAEA,6BAAc,oBAFd;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/contexts/Schema/Provider/Memory.tsx","../../../../../src/hooks/useSchemaStats.tsx","../../../../../src/contexts/Schema/Context.ts","../../../../../src/contexts/Schema/Provider/Route.tsx","../../../../../src/contexts/Schema/use.ts"],"sourcesContent":["import { compact } from '@xylabs/lodash'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { useEffect, useState } from 'react'\n\nimport { useSchemaStats } from '../../../hooks'\nimport { SchemaContext } from '../Context'\nimport { SchemaProviderProps } from './Props'\n\nexport const SchemaMemoryProvider: React.FC<WithChildren<SchemaProviderProps>> = ({ defaultSchema, knownSchemaList = [], ...props }) => {\n const [schema, setSchema] = useState(defaultSchema)\n const [schemaList, setSchemaList] = useState<string[] | undefined>(knownSchemaList)\n const [fetchedSchemaStats] = useSchemaStats()\n\n useEffect(() => {\n if (fetchedSchemaStats) {\n const schemaList = compact(fetchedSchemaStats.map(({ name }) => name))\n setSchemaList(schemaList)\n }\n }, [fetchedSchemaStats])\n\n return <SchemaContext.Provider value={{ provided: true, schema, schemaList: knownSchemaList ?? schemaList, setSchema, setSchemaList }} {...props} />\n}\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { isSchemaStatsPayload, SchemaStatsPayload, SchemaStatsQueryPayload, SchemaStatsQuerySchema } from '@xyo-network/diviner-schema-stats-model'\nimport { TYPES } from '@xyo-network/node-core-types'\nimport { useDivinerFromNode } from '@xyo-network/react-diviner'\nimport { Dispatch, SetStateAction, useMemo, useState } from 'react'\n\nexport const useSchemaStats = (\n statsAddress?: string,\n nameOrAddress = TYPES.SchemaStatsDiviner.description,\n): [SchemaStatsPayload[] | undefined, Error | undefined, Dispatch<SetStateAction<number>>] => {\n const [refresh, setRefresh] = useState(1)\n const [diviner, divinerError] = useDivinerFromNode(nameOrAddress)\n const [error, setError] = useState<Error>()\n const refreshHistory = () => setRefresh((previous) => previous + 1)\n\n const [schemaList, setSchemaList] = useState<SchemaStatsPayload[]>()\n\n const query: SchemaStatsQueryPayload = useMemo(\n () => ({\n address: statsAddress,\n schema: SchemaStatsQuerySchema,\n }),\n [statsAddress],\n )\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n if (diviner) {\n if (divinerError) {\n if (mounted()) {\n setError(divinerError)\n setSchemaList(undefined)\n }\n } else {\n try {\n const schemas = (await diviner.divine([query])).filter(isSchemaStatsPayload)\n if (mounted()) {\n setSchemaList(schemas)\n setError(undefined)\n }\n } catch (ex) {\n setError(ex as Error)\n setSchemaList(undefined)\n }\n }\n }\n },\n [diviner, refresh, divinerError, query],\n )\n\n return [schemaList, error, refreshHistory]\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { SchemaContextState } from './State'\n\nexport const SchemaContext = createContextEx<SchemaContextState>()\n","import type { WithChildren } from '@xylabs/react-shared'\nimport { useCallback, useEffect } from 'react'\nimport { useSearchParams } from 'react-router-dom'\n\nimport { SchemaContext } from '../Context'\nimport { useSchema } from '../use'\nimport { SchemaMemoryProvider } from './Memory'\nimport { SchemaProviderProps } from './Props'\n\nconst SchemaRouteProviderInner: React.FC<WithChildren> = ({ children }) => {\n const { schema, setSchema, schemaList } = useSchema()\n\n const [params, setParams] = useSearchParams()\n\n const routeSchema = params.get('schema')\n\n //update the network stored in the route\n const setSchemaParam = useCallback(\n (schema?: string) => {\n if (schema) {\n params.set('schema', schema)\n setParams(params, { replace: true })\n setSchema?.(schema)\n } else {\n params.delete('network')\n }\n },\n [params, setParams, setSchema],\n )\n\n //if the network is actively changed, update both memory and route\n const setSchemaLocal = useCallback(\n (schema: string) => {\n setSchemaParam(schema)\n setSchema?.(schema)\n },\n [setSchemaParam, setSchema],\n )\n\n //sync memory and route storage of network\n useEffect(() => {\n if (routeSchema !== schema) {\n if (routeSchema === undefined && schema !== undefined) {\n //if the route does not have a network selected, use what is in the memory context\n setSchemaLocal(schema)\n } else if (routeSchema) {\n //if the route has a selection and it is different from memory, update memory\n setSchema?.(routeSchema)\n }\n }\n }, [routeSchema, schema, setSchemaParam, setSchema, setSchemaLocal])\n\n return <SchemaContext.Provider value={{ provided: true, schema, schemaList, setSchema: setSchemaLocal }}>{children}</SchemaContext.Provider>\n}\n\nexport const SchemaRouteProvider: React.FC<WithChildren<SchemaProviderProps>> = ({ knownSchemaList, defaultSchema, ...props }) => {\n return (\n <SchemaMemoryProvider knownSchemaList={knownSchemaList} defaultSchema={defaultSchema}>\n <SchemaRouteProviderInner {...props} />\n </SchemaMemoryProvider>\n )\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { SchemaContext } from './Context'\nimport { SchemaContextState } from './State'\n\nexport const useSchema = (required = false) => {\n return useContextEx<SchemaContextState>(SchemaContext, 'Schema', required)\n}\n"],"mappings":"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","names":["useState","useState","schemaList","useEffect","jsx","schema","useEffect"]}
@@ -0,0 +1,19 @@
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/Schema/State.ts
17
+ var State_exports = {};
18
+ module.exports = __toCommonJS(State_exports);
19
+ //# sourceMappingURL=State.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/contexts/Schema/State.ts"],"sourcesContent":["import { ContextExState } from '@xyo-network/react-shared'\nimport { Dispatch } from 'react'\n\nexport interface SchemaContextState extends ContextExState {\n /** @field The currently selected XYO Schema */\n schema?: string\n /** @field The list of known available schema */\n schemaList?: string[]\n /** @field Function to set the selected Schema */\n setSchema?: Dispatch<string>\n /** @field Function to set the list of known available schema */\n setSchemaList?: Dispatch<string[]>\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -0,0 +1,13 @@
1
+ import { ContextExState } from '@xyo-network/react-shared';
2
+ import { Dispatch } from 'react';
3
+ export interface SchemaContextState extends ContextExState {
4
+ /** @field The currently selected XYO Schema */
5
+ schema?: string;
6
+ /** @field The list of known available schema */
7
+ schemaList?: string[];
8
+ /** @field Function to set the selected Schema */
9
+ setSchema?: Dispatch<string>;
10
+ /** @field Function to set the list of known available schema */
11
+ setSchemaList?: Dispatch<string[]>;
12
+ }
13
+ //# sourceMappingURL=State.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../../../src/contexts/Schema/State.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,iDAAiD;IACjD,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC5B,gEAAgE;IAChE,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;CACnC"}
@@ -1,17 +1 @@
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
- var State_exports = {};
16
- module.exports = __toCommonJS(State_exports);
17
1
  //# sourceMappingURL=State.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/contexts/Schema/State.ts"],"sourcesContent":["import { ContextExState } from '@xyo-network/react-shared'\nimport { Dispatch } from 'react'\n\nexport interface SchemaContextState extends ContextExState {\n /** @field The currently selected XYO Schema */\n schema?: string\n /** @field The list of known available schema */\n schemaList?: string[]\n /** @field Function to set the selected Schema */\n setSchema?: Dispatch<string>\n /** @field Function to set the list of known available schema */\n setSchemaList?: Dispatch<string[]>\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}