@xyo-network/react-schema 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 (160) hide show
  1. package/dist/browser/hooks/useGetSchema.d.cts +3 -3
  2. package/dist/browser/hooks/useGetSchema.d.mts +3 -3
  3. package/dist/browser/hooks/useGetSchema.d.ts +3 -3
  4. package/dist/node/hooks/useGetSchema.d.cts +3 -3
  5. package/dist/node/hooks/useGetSchema.d.mts +3 -3
  6. package/dist/node/hooks/useGetSchema.d.ts +3 -3
  7. package/package.json +26 -26
  8. package/dist/browser/components/Property/SchemaProperty.cjs +0 -76
  9. package/dist/browser/components/Property/SchemaProperty.cjs.map +0 -1
  10. package/dist/browser/components/Property/SchemaProperty.js +0 -55
  11. package/dist/browser/components/Property/SchemaProperty.js.map +0 -1
  12. package/dist/browser/components/Property/index.cjs +0 -78
  13. package/dist/browser/components/Property/index.cjs.map +0 -1
  14. package/dist/browser/components/Property/index.js +0 -55
  15. package/dist/browser/components/Property/index.js.map +0 -1
  16. package/dist/browser/components/SelectEx/SchemaSelectEx.cjs +0 -68
  17. package/dist/browser/components/SelectEx/SchemaSelectEx.cjs.map +0 -1
  18. package/dist/browser/components/SelectEx/SchemaSelectEx.js +0 -47
  19. package/dist/browser/components/SelectEx/SchemaSelectEx.js.map +0 -1
  20. package/dist/browser/components/SelectEx/index.cjs +0 -70
  21. package/dist/browser/components/SelectEx/index.cjs.map +0 -1
  22. package/dist/browser/components/SelectEx/index.js +0 -47
  23. package/dist/browser/components/SelectEx/index.js.map +0 -1
  24. package/dist/browser/components/index.cjs +0 -123
  25. package/dist/browser/components/index.cjs.map +0 -1
  26. package/dist/browser/components/index.js +0 -100
  27. package/dist/browser/components/index.js.map +0 -1
  28. package/dist/browser/contexts/Schema/Context.cjs +0 -28
  29. package/dist/browser/contexts/Schema/Context.cjs.map +0 -1
  30. package/dist/browser/contexts/Schema/Context.js +0 -7
  31. package/dist/browser/contexts/Schema/Context.js.map +0 -1
  32. package/dist/browser/contexts/Schema/Provider/Memory.cjs +0 -94
  33. package/dist/browser/contexts/Schema/Provider/Memory.cjs.map +0 -1
  34. package/dist/browser/contexts/Schema/Provider/Memory.js +0 -73
  35. package/dist/browser/contexts/Schema/Provider/Memory.js.map +0 -1
  36. package/dist/browser/contexts/Schema/Provider/Props.cjs +0 -19
  37. package/dist/browser/contexts/Schema/Provider/Props.cjs.map +0 -1
  38. package/dist/browser/contexts/Schema/Provider/Props.js +0 -1
  39. package/dist/browser/contexts/Schema/Provider/Props.js.map +0 -1
  40. package/dist/browser/contexts/Schema/Provider/Route.cjs +0 -144
  41. package/dist/browser/contexts/Schema/Provider/Route.cjs.map +0 -1
  42. package/dist/browser/contexts/Schema/Provider/Route.js +0 -123
  43. package/dist/browser/contexts/Schema/Provider/Route.js.map +0 -1
  44. package/dist/browser/contexts/Schema/Provider/index.cjs +0 -147
  45. package/dist/browser/contexts/Schema/Provider/index.cjs.map +0 -1
  46. package/dist/browser/contexts/Schema/Provider/index.js +0 -124
  47. package/dist/browser/contexts/Schema/Provider/index.js.map +0 -1
  48. package/dist/browser/contexts/Schema/State.cjs +0 -19
  49. package/dist/browser/contexts/Schema/State.cjs.map +0 -1
  50. package/dist/browser/contexts/Schema/State.js +0 -1
  51. package/dist/browser/contexts/Schema/State.js.map +0 -1
  52. package/dist/browser/contexts/Schema/index.cjs +0 -149
  53. package/dist/browser/contexts/Schema/index.cjs.map +0 -1
  54. package/dist/browser/contexts/Schema/index.js +0 -126
  55. package/dist/browser/contexts/Schema/index.js.map +0 -1
  56. package/dist/browser/contexts/Schema/use.cjs +0 -36
  57. package/dist/browser/contexts/Schema/use.cjs.map +0 -1
  58. package/dist/browser/contexts/Schema/use.js +0 -15
  59. package/dist/browser/contexts/Schema/use.js.map +0 -1
  60. package/dist/browser/contexts/index.cjs +0 -149
  61. package/dist/browser/contexts/index.cjs.map +0 -1
  62. package/dist/browser/contexts/index.js +0 -126
  63. package/dist/browser/contexts/index.js.map +0 -1
  64. package/dist/browser/hooks/index.cjs +0 -189
  65. package/dist/browser/hooks/index.cjs.map +0 -1
  66. package/dist/browser/hooks/index.js +0 -166
  67. package/dist/browser/hooks/index.js.map +0 -1
  68. package/dist/browser/hooks/useGetSchema.cjs +0 -69
  69. package/dist/browser/hooks/useGetSchema.cjs.map +0 -1
  70. package/dist/browser/hooks/useGetSchema.js +0 -48
  71. package/dist/browser/hooks/useGetSchema.js.map +0 -1
  72. package/dist/browser/hooks/useSchemaDefinitions.cjs +0 -47
  73. package/dist/browser/hooks/useSchemaDefinitions.cjs.map +0 -1
  74. package/dist/browser/hooks/useSchemaDefinitions.js +0 -26
  75. package/dist/browser/hooks/useSchemaDefinitions.js.map +0 -1
  76. package/dist/browser/hooks/useSchemaList.cjs +0 -69
  77. package/dist/browser/hooks/useSchemaList.cjs.map +0 -1
  78. package/dist/browser/hooks/useSchemaList.js +0 -48
  79. package/dist/browser/hooks/useSchemaList.js.map +0 -1
  80. package/dist/browser/hooks/useSchemaStats.cjs +0 -71
  81. package/dist/browser/hooks/useSchemaStats.cjs.map +0 -1
  82. package/dist/browser/hooks/useSchemaStats.js +0 -50
  83. package/dist/browser/hooks/useSchemaStats.js.map +0 -1
  84. package/dist/docs.json +0 -2071
  85. package/dist/node/components/Property/SchemaProperty.cjs +0 -81
  86. package/dist/node/components/Property/SchemaProperty.cjs.map +0 -1
  87. package/dist/node/components/Property/SchemaProperty.js +0 -56
  88. package/dist/node/components/Property/SchemaProperty.js.map +0 -1
  89. package/dist/node/components/Property/index.cjs +0 -83
  90. package/dist/node/components/Property/index.cjs.map +0 -1
  91. package/dist/node/components/Property/index.js +0 -56
  92. package/dist/node/components/Property/index.js.map +0 -1
  93. package/dist/node/components/SelectEx/SchemaSelectEx.cjs +0 -72
  94. package/dist/node/components/SelectEx/SchemaSelectEx.cjs.map +0 -1
  95. package/dist/node/components/SelectEx/SchemaSelectEx.js +0 -47
  96. package/dist/node/components/SelectEx/SchemaSelectEx.js.map +0 -1
  97. package/dist/node/components/SelectEx/index.cjs +0 -74
  98. package/dist/node/components/SelectEx/index.cjs.map +0 -1
  99. package/dist/node/components/SelectEx/index.js +0 -47
  100. package/dist/node/components/SelectEx/index.js.map +0 -1
  101. package/dist/node/components/index.cjs +0 -129
  102. package/dist/node/components/index.cjs.map +0 -1
  103. package/dist/node/components/index.js +0 -101
  104. package/dist/node/components/index.js.map +0 -1
  105. package/dist/node/contexts/Schema/Context.cjs +0 -32
  106. package/dist/node/contexts/Schema/Context.cjs.map +0 -1
  107. package/dist/node/contexts/Schema/Context.js +0 -7
  108. package/dist/node/contexts/Schema/Context.js.map +0 -1
  109. package/dist/node/contexts/Schema/Provider/Memory.cjs +0 -98
  110. package/dist/node/contexts/Schema/Provider/Memory.cjs.map +0 -1
  111. package/dist/node/contexts/Schema/Provider/Memory.js +0 -73
  112. package/dist/node/contexts/Schema/Provider/Memory.js.map +0 -1
  113. package/dist/node/contexts/Schema/Provider/Props.cjs +0 -19
  114. package/dist/node/contexts/Schema/Provider/Props.cjs.map +0 -1
  115. package/dist/node/contexts/Schema/Provider/Props.js +0 -1
  116. package/dist/node/contexts/Schema/Provider/Props.js.map +0 -1
  117. package/dist/node/contexts/Schema/Provider/Route.cjs +0 -148
  118. package/dist/node/contexts/Schema/Provider/Route.cjs.map +0 -1
  119. package/dist/node/contexts/Schema/Provider/Route.js +0 -123
  120. package/dist/node/contexts/Schema/Provider/Route.js.map +0 -1
  121. package/dist/node/contexts/Schema/Provider/index.cjs +0 -152
  122. package/dist/node/contexts/Schema/Provider/index.cjs.map +0 -1
  123. package/dist/node/contexts/Schema/Provider/index.js +0 -124
  124. package/dist/node/contexts/Schema/Provider/index.js.map +0 -1
  125. package/dist/node/contexts/Schema/State.cjs +0 -19
  126. package/dist/node/contexts/Schema/State.cjs.map +0 -1
  127. package/dist/node/contexts/Schema/State.js +0 -1
  128. package/dist/node/contexts/Schema/State.js.map +0 -1
  129. package/dist/node/contexts/Schema/index.cjs +0 -156
  130. package/dist/node/contexts/Schema/index.cjs.map +0 -1
  131. package/dist/node/contexts/Schema/index.js +0 -126
  132. package/dist/node/contexts/Schema/index.js.map +0 -1
  133. package/dist/node/contexts/Schema/use.cjs +0 -40
  134. package/dist/node/contexts/Schema/use.cjs.map +0 -1
  135. package/dist/node/contexts/Schema/use.js +0 -15
  136. package/dist/node/contexts/Schema/use.js.map +0 -1
  137. package/dist/node/contexts/index.cjs +0 -156
  138. package/dist/node/contexts/index.cjs.map +0 -1
  139. package/dist/node/contexts/index.js +0 -126
  140. package/dist/node/contexts/index.js.map +0 -1
  141. package/dist/node/hooks/index.cjs +0 -199
  142. package/dist/node/hooks/index.cjs.map +0 -1
  143. package/dist/node/hooks/index.js +0 -169
  144. package/dist/node/hooks/index.js.map +0 -1
  145. package/dist/node/hooks/useGetSchema.cjs +0 -73
  146. package/dist/node/hooks/useGetSchema.cjs.map +0 -1
  147. package/dist/node/hooks/useGetSchema.js +0 -48
  148. package/dist/node/hooks/useGetSchema.js.map +0 -1
  149. package/dist/node/hooks/useSchemaDefinitions.cjs +0 -54
  150. package/dist/node/hooks/useSchemaDefinitions.cjs.map +0 -1
  151. package/dist/node/hooks/useSchemaDefinitions.js +0 -29
  152. package/dist/node/hooks/useSchemaDefinitions.js.map +0 -1
  153. package/dist/node/hooks/useSchemaList.cjs +0 -73
  154. package/dist/node/hooks/useSchemaList.cjs.map +0 -1
  155. package/dist/node/hooks/useSchemaList.js +0 -48
  156. package/dist/node/hooks/useSchemaList.js.map +0 -1
  157. package/dist/node/hooks/useSchemaStats.cjs +0 -75
  158. package/dist/node/hooks/useSchemaStats.cjs.map +0 -1
  159. package/dist/node/hooks/useSchemaStats.js +0 -50
  160. package/dist/node/hooks/useSchemaStats.js.map +0 -1
@@ -1 +0,0 @@
1
- //# sourceMappingURL=State.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,156 +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/Schema/index.ts
21
- var Schema_exports = {};
22
- __export(Schema_exports, {
23
- SchemaContext: () => SchemaContext,
24
- SchemaMemoryProvider: () => SchemaMemoryProvider,
25
- SchemaRouteProvider: () => SchemaRouteProvider,
26
- useSchema: () => useSchema
27
- });
28
- module.exports = __toCommonJS(Schema_exports);
29
-
30
- // src/contexts/Schema/Context.ts
31
- var import_react_shared = require("@xyo-network/react-shared");
32
- var SchemaContext = (0, import_react_shared.createContextEx)();
33
-
34
- // src/contexts/Schema/Provider/Memory.tsx
35
- var import_lodash = require("@xylabs/lodash");
36
- var import_react2 = require("react");
37
-
38
- // src/hooks/useSchemaStats.tsx
39
- var import_react_async_effect = require("@xylabs/react-async-effect");
40
- var import_diviner_schema_stats_model = require("@xyo-network/diviner-schema-stats-model");
41
- var import_node_core_types = require("@xyo-network/node-core-types");
42
- var import_react_diviner = require("@xyo-network/react-diviner");
43
- var import_react = require("react");
44
- var useSchemaStats = (statsAddress, nameOrAddress = import_node_core_types.TYPES.SchemaStatsDiviner.description) => {
45
- const [refresh, setRefresh] = (0, import_react.useState)(1);
46
- const [diviner, divinerError] = (0, import_react_diviner.useDivinerFromNode)(nameOrAddress);
47
- const [error, setError] = (0, import_react.useState)();
48
- const refreshHistory = () => setRefresh((previous) => previous + 1);
49
- const [schemaList, setSchemaList] = (0, import_react.useState)();
50
- const query = (0, import_react.useMemo)(
51
- () => ({
52
- address: statsAddress,
53
- schema: import_diviner_schema_stats_model.SchemaStatsQuerySchema
54
- }),
55
- [statsAddress]
56
- );
57
- (0, import_react_async_effect.useAsyncEffect)(
58
- // eslint-disable-next-line react-hooks/exhaustive-deps
59
- async (mounted) => {
60
- if (diviner) {
61
- if (divinerError) {
62
- if (mounted()) {
63
- setError(divinerError);
64
- setSchemaList(void 0);
65
- }
66
- } else {
67
- try {
68
- const schemas = (await diviner.divine([query])).filter(import_diviner_schema_stats_model.isSchemaStatsPayload);
69
- if (mounted()) {
70
- setSchemaList(schemas);
71
- setError(void 0);
72
- }
73
- } catch (ex) {
74
- setError(ex);
75
- setSchemaList(void 0);
76
- }
77
- }
78
- }
79
- },
80
- [diviner, refresh, divinerError, query]
81
- );
82
- return [schemaList, error, refreshHistory];
83
- };
84
-
85
- // src/contexts/Schema/Provider/Memory.tsx
86
- var import_jsx_runtime = require("react/jsx-runtime");
87
- var SchemaMemoryProvider = ({ defaultSchema, knownSchemaList = [], ...props }) => {
88
- const [schema, setSchema] = (0, import_react2.useState)(defaultSchema);
89
- const [schemaList, setSchemaList] = (0, import_react2.useState)(knownSchemaList);
90
- const [fetchedSchemaStats] = useSchemaStats();
91
- (0, import_react2.useEffect)(() => {
92
- if (fetchedSchemaStats) {
93
- const schemaList2 = (0, import_lodash.compact)(fetchedSchemaStats.map(({ name }) => name));
94
- setSchemaList(schemaList2);
95
- }
96
- }, [fetchedSchemaStats]);
97
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SchemaContext.Provider, { value: { provided: true, schema, schemaList: knownSchemaList ?? schemaList, setSchema, setSchemaList }, ...props });
98
- };
99
-
100
- // src/contexts/Schema/Provider/Route.tsx
101
- var import_react3 = require("react");
102
- var import_react_router_dom = require("react-router-dom");
103
-
104
- // src/contexts/Schema/use.ts
105
- var import_react_shared2 = require("@xyo-network/react-shared");
106
- var useSchema = (required = false) => {
107
- return (0, import_react_shared2.useContextEx)(SchemaContext, "Schema", required);
108
- };
109
-
110
- // src/contexts/Schema/Provider/Route.tsx
111
- var import_jsx_runtime2 = require("react/jsx-runtime");
112
- var SchemaRouteProviderInner = ({ children }) => {
113
- const { schema, setSchema, schemaList } = useSchema();
114
- const [params, setParams] = (0, import_react_router_dom.useSearchParams)();
115
- const routeSchema = params.get("schema");
116
- const setSchemaParam = (0, import_react3.useCallback)(
117
- (schema2) => {
118
- if (schema2) {
119
- params.set("schema", schema2);
120
- setParams(params, { replace: true });
121
- setSchema == null ? void 0 : setSchema(schema2);
122
- } else {
123
- params.delete("network");
124
- }
125
- },
126
- [params, setParams, setSchema]
127
- );
128
- const setSchemaLocal = (0, import_react3.useCallback)(
129
- (schema2) => {
130
- setSchemaParam(schema2);
131
- setSchema == null ? void 0 : setSchema(schema2);
132
- },
133
- [setSchemaParam, setSchema]
134
- );
135
- (0, import_react3.useEffect)(() => {
136
- if (routeSchema !== schema) {
137
- if (routeSchema === void 0 && schema !== void 0) {
138
- setSchemaLocal(schema);
139
- } else if (routeSchema) {
140
- setSchema == null ? void 0 : setSchema(routeSchema);
141
- }
142
- }
143
- }, [routeSchema, schema, setSchemaParam, setSchema, setSchemaLocal]);
144
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(SchemaContext.Provider, { value: { provided: true, schema, schemaList, setSchema: setSchemaLocal }, children });
145
- };
146
- var SchemaRouteProvider = ({ knownSchemaList, defaultSchema, ...props }) => {
147
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(SchemaMemoryProvider, { knownSchemaList, defaultSchema, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(SchemaRouteProviderInner, { ...props }) });
148
- };
149
- // Annotate the CommonJS export names for ESM import in node:
150
- 0 && (module.exports = {
151
- SchemaContext,
152
- SchemaMemoryProvider,
153
- SchemaRouteProvider,
154
- useSchema
155
- });
156
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/contexts/Schema/index.ts","../../../../src/contexts/Schema/Context.ts","../../../../src/contexts/Schema/Provider/Memory.tsx","../../../../src/hooks/useSchemaStats.tsx","../../../../src/contexts/Schema/Provider/Route.tsx","../../../../src/contexts/Schema/use.ts"],"sourcesContent":["export * from './Context'\nexport * from './Provider'\nexport * from './State'\nexport * from './use'\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { SchemaContextState } from './State'\n\nexport const SchemaContext = createContextEx<SchemaContextState>()\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 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"]}
@@ -1,126 +0,0 @@
1
- // src/contexts/Schema/Context.ts
2
- import { createContextEx } from "@xyo-network/react-shared";
3
- var SchemaContext = createContextEx();
4
-
5
- // src/contexts/Schema/Provider/Memory.tsx
6
- import { compact } from "@xylabs/lodash";
7
- import { useEffect, useState as useState2 } from "react";
8
-
9
- // src/hooks/useSchemaStats.tsx
10
- import { useAsyncEffect } from "@xylabs/react-async-effect";
11
- import { isSchemaStatsPayload, SchemaStatsQuerySchema } from "@xyo-network/diviner-schema-stats-model";
12
- import { TYPES } from "@xyo-network/node-core-types";
13
- import { useDivinerFromNode } from "@xyo-network/react-diviner";
14
- import { useMemo, useState } from "react";
15
- var useSchemaStats = (statsAddress, nameOrAddress = TYPES.SchemaStatsDiviner.description) => {
16
- const [refresh, setRefresh] = useState(1);
17
- const [diviner, divinerError] = useDivinerFromNode(nameOrAddress);
18
- const [error, setError] = useState();
19
- const refreshHistory = () => setRefresh((previous) => previous + 1);
20
- const [schemaList, setSchemaList] = useState();
21
- const query = useMemo(
22
- () => ({
23
- address: statsAddress,
24
- schema: SchemaStatsQuerySchema
25
- }),
26
- [statsAddress]
27
- );
28
- useAsyncEffect(
29
- // eslint-disable-next-line react-hooks/exhaustive-deps
30
- async (mounted) => {
31
- if (diviner) {
32
- if (divinerError) {
33
- if (mounted()) {
34
- setError(divinerError);
35
- setSchemaList(void 0);
36
- }
37
- } else {
38
- try {
39
- const schemas = (await diviner.divine([query])).filter(isSchemaStatsPayload);
40
- if (mounted()) {
41
- setSchemaList(schemas);
42
- setError(void 0);
43
- }
44
- } catch (ex) {
45
- setError(ex);
46
- setSchemaList(void 0);
47
- }
48
- }
49
- }
50
- },
51
- [diviner, refresh, divinerError, query]
52
- );
53
- return [schemaList, error, refreshHistory];
54
- };
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
- SchemaContext,
122
- SchemaMemoryProvider,
123
- SchemaRouteProvider,
124
- useSchema
125
- };
126
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/contexts/Schema/Context.ts","../../../../src/contexts/Schema/Provider/Memory.tsx","../../../../src/hooks/useSchemaStats.tsx","../../../../src/contexts/Schema/Provider/Route.tsx","../../../../src/contexts/Schema/use.ts"],"sourcesContent":["import { createContextEx } from '@xyo-network/react-shared'\n\nimport { SchemaContextState } from './State'\n\nexport const SchemaContext = createContextEx<SchemaContextState>()\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 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"]}
@@ -1,40 +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/Schema/use.ts
21
- var use_exports = {};
22
- __export(use_exports, {
23
- useSchema: () => useSchema
24
- });
25
- module.exports = __toCommonJS(use_exports);
26
- var import_react_shared2 = require("@xyo-network/react-shared");
27
-
28
- // src/contexts/Schema/Context.ts
29
- var import_react_shared = require("@xyo-network/react-shared");
30
- var SchemaContext = (0, import_react_shared.createContextEx)();
31
-
32
- // src/contexts/Schema/use.ts
33
- var useSchema = (required = false) => {
34
- return (0, import_react_shared2.useContextEx)(SchemaContext, "Schema", required);
35
- };
36
- // Annotate the CommonJS export names for ESM import in node:
37
- 0 && (module.exports = {
38
- useSchema
39
- });
40
- //# sourceMappingURL=use.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/contexts/Schema/use.ts","../../../../src/contexts/Schema/Context.ts"],"sourcesContent":["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 { createContextEx } from '@xyo-network/react-shared'\n\nimport { SchemaContextState } from './State'\n\nexport const SchemaContext = createContextEx<SchemaContextState>()\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,uBAA6B;;;ACA7B,0BAAgC;AAIzB,IAAM,oBAAgB,qCAAoC;;;ADC1D,IAAM,YAAY,CAAC,WAAW,UAAU;AAC7C,aAAO,mCAAiC,eAAe,UAAU,QAAQ;AAC3E;","names":["import_react_shared"]}
@@ -1,15 +0,0 @@
1
- // src/contexts/Schema/use.ts
2
- import { useContextEx } from "@xyo-network/react-shared";
3
-
4
- // src/contexts/Schema/Context.ts
5
- import { createContextEx } from "@xyo-network/react-shared";
6
- var SchemaContext = createContextEx();
7
-
8
- // src/contexts/Schema/use.ts
9
- var useSchema = (required = false) => {
10
- return useContextEx(SchemaContext, "Schema", required);
11
- };
12
- export {
13
- useSchema
14
- };
15
- //# sourceMappingURL=use.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/contexts/Schema/use.ts","../../../../src/contexts/Schema/Context.ts"],"sourcesContent":["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 { createContextEx } from '@xyo-network/react-shared'\n\nimport { SchemaContextState } from './State'\n\nexport const SchemaContext = createContextEx<SchemaContextState>()\n"],"mappings":";AAAA,SAAS,oBAAoB;;;ACA7B,SAAS,uBAAuB;AAIzB,IAAM,gBAAgB,gBAAoC;;;ADC1D,IAAM,YAAY,CAAC,WAAW,UAAU;AAC7C,SAAO,aAAiC,eAAe,UAAU,QAAQ;AAC3E;","names":[]}
@@ -1,156 +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
- SchemaContext: () => SchemaContext,
24
- SchemaMemoryProvider: () => SchemaMemoryProvider,
25
- SchemaRouteProvider: () => SchemaRouteProvider,
26
- useSchema: () => useSchema
27
- });
28
- module.exports = __toCommonJS(contexts_exports);
29
-
30
- // src/contexts/Schema/Context.ts
31
- var import_react_shared = require("@xyo-network/react-shared");
32
- var SchemaContext = (0, import_react_shared.createContextEx)();
33
-
34
- // src/contexts/Schema/Provider/Memory.tsx
35
- var import_lodash = require("@xylabs/lodash");
36
- var import_react2 = require("react");
37
-
38
- // src/hooks/useSchemaStats.tsx
39
- var import_react_async_effect = require("@xylabs/react-async-effect");
40
- var import_diviner_schema_stats_model = require("@xyo-network/diviner-schema-stats-model");
41
- var import_node_core_types = require("@xyo-network/node-core-types");
42
- var import_react_diviner = require("@xyo-network/react-diviner");
43
- var import_react = require("react");
44
- var useSchemaStats = (statsAddress, nameOrAddress = import_node_core_types.TYPES.SchemaStatsDiviner.description) => {
45
- const [refresh, setRefresh] = (0, import_react.useState)(1);
46
- const [diviner, divinerError] = (0, import_react_diviner.useDivinerFromNode)(nameOrAddress);
47
- const [error, setError] = (0, import_react.useState)();
48
- const refreshHistory = () => setRefresh((previous) => previous + 1);
49
- const [schemaList, setSchemaList] = (0, import_react.useState)();
50
- const query = (0, import_react.useMemo)(
51
- () => ({
52
- address: statsAddress,
53
- schema: import_diviner_schema_stats_model.SchemaStatsQuerySchema
54
- }),
55
- [statsAddress]
56
- );
57
- (0, import_react_async_effect.useAsyncEffect)(
58
- // eslint-disable-next-line react-hooks/exhaustive-deps
59
- async (mounted) => {
60
- if (diviner) {
61
- if (divinerError) {
62
- if (mounted()) {
63
- setError(divinerError);
64
- setSchemaList(void 0);
65
- }
66
- } else {
67
- try {
68
- const schemas = (await diviner.divine([query])).filter(import_diviner_schema_stats_model.isSchemaStatsPayload);
69
- if (mounted()) {
70
- setSchemaList(schemas);
71
- setError(void 0);
72
- }
73
- } catch (ex) {
74
- setError(ex);
75
- setSchemaList(void 0);
76
- }
77
- }
78
- }
79
- },
80
- [diviner, refresh, divinerError, query]
81
- );
82
- return [schemaList, error, refreshHistory];
83
- };
84
-
85
- // src/contexts/Schema/Provider/Memory.tsx
86
- var import_jsx_runtime = require("react/jsx-runtime");
87
- var SchemaMemoryProvider = ({ defaultSchema, knownSchemaList = [], ...props }) => {
88
- const [schema, setSchema] = (0, import_react2.useState)(defaultSchema);
89
- const [schemaList, setSchemaList] = (0, import_react2.useState)(knownSchemaList);
90
- const [fetchedSchemaStats] = useSchemaStats();
91
- (0, import_react2.useEffect)(() => {
92
- if (fetchedSchemaStats) {
93
- const schemaList2 = (0, import_lodash.compact)(fetchedSchemaStats.map(({ name }) => name));
94
- setSchemaList(schemaList2);
95
- }
96
- }, [fetchedSchemaStats]);
97
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SchemaContext.Provider, { value: { provided: true, schema, schemaList: knownSchemaList ?? schemaList, setSchema, setSchemaList }, ...props });
98
- };
99
-
100
- // src/contexts/Schema/Provider/Route.tsx
101
- var import_react3 = require("react");
102
- var import_react_router_dom = require("react-router-dom");
103
-
104
- // src/contexts/Schema/use.ts
105
- var import_react_shared2 = require("@xyo-network/react-shared");
106
- var useSchema = (required = false) => {
107
- return (0, import_react_shared2.useContextEx)(SchemaContext, "Schema", required);
108
- };
109
-
110
- // src/contexts/Schema/Provider/Route.tsx
111
- var import_jsx_runtime2 = require("react/jsx-runtime");
112
- var SchemaRouteProviderInner = ({ children }) => {
113
- const { schema, setSchema, schemaList } = useSchema();
114
- const [params, setParams] = (0, import_react_router_dom.useSearchParams)();
115
- const routeSchema = params.get("schema");
116
- const setSchemaParam = (0, import_react3.useCallback)(
117
- (schema2) => {
118
- if (schema2) {
119
- params.set("schema", schema2);
120
- setParams(params, { replace: true });
121
- setSchema == null ? void 0 : setSchema(schema2);
122
- } else {
123
- params.delete("network");
124
- }
125
- },
126
- [params, setParams, setSchema]
127
- );
128
- const setSchemaLocal = (0, import_react3.useCallback)(
129
- (schema2) => {
130
- setSchemaParam(schema2);
131
- setSchema == null ? void 0 : setSchema(schema2);
132
- },
133
- [setSchemaParam, setSchema]
134
- );
135
- (0, import_react3.useEffect)(() => {
136
- if (routeSchema !== schema) {
137
- if (routeSchema === void 0 && schema !== void 0) {
138
- setSchemaLocal(schema);
139
- } else if (routeSchema) {
140
- setSchema == null ? void 0 : setSchema(routeSchema);
141
- }
142
- }
143
- }, [routeSchema, schema, setSchemaParam, setSchema, setSchemaLocal]);
144
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(SchemaContext.Provider, { value: { provided: true, schema, schemaList, setSchema: setSchemaLocal }, children });
145
- };
146
- var SchemaRouteProvider = ({ knownSchemaList, defaultSchema, ...props }) => {
147
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(SchemaMemoryProvider, { knownSchemaList, defaultSchema, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(SchemaRouteProviderInner, { ...props }) });
148
- };
149
- // Annotate the CommonJS export names for ESM import in node:
150
- 0 && (module.exports = {
151
- SchemaContext,
152
- SchemaMemoryProvider,
153
- SchemaRouteProvider,
154
- useSchema
155
- });
156
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/contexts/index.ts","../../../src/contexts/Schema/Context.ts","../../../src/contexts/Schema/Provider/Memory.tsx","../../../src/hooks/useSchemaStats.tsx","../../../src/contexts/Schema/Provider/Route.tsx","../../../src/contexts/Schema/use.ts"],"sourcesContent":["export * from './Schema'\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { SchemaContextState } from './State'\n\nexport const SchemaContext = createContextEx<SchemaContextState>()\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 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"]}