@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,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,199 +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/hooks/index.ts
21
- var hooks_exports = {};
22
- __export(hooks_exports, {
23
- useGetSchemaPayload: () => useGetSchemaPayload,
24
- useSchemaDefinitions: () => useSchemaDefinitions,
25
- useSchemaList: () => useSchemaList,
26
- useSchemaStats: () => useSchemaStats
27
- });
28
- module.exports = __toCommonJS(hooks_exports);
29
-
30
- // src/hooks/useGetSchema.tsx
31
- var import_react_async_effect = require("@xylabs/react-async-effect");
32
- var import_payload_builder = require("@xyo-network/payload-builder");
33
- var import_payload_model = require("@xyo-network/payload-model");
34
- var import_schema_cache = require("@xyo-network/schema-cache");
35
- var import_react = require("react");
36
- var useGetSchemaPayload = (schema) => {
37
- const [notFound, setNotFound] = (0, import_react.useState)(false);
38
- const [xyoError, setError] = (0, import_react.useState)();
39
- const [schemaCacheEntry, setSchemaCacheEntry] = (0, import_react.useState)();
40
- const [schemaLocal, setSchemaLocal] = (0, import_react.useState)();
41
- (0, import_react_async_effect.useAsyncEffect)(
42
- // eslint-disable-next-line react-hooks/exhaustive-deps
43
- async (mounted) => {
44
- const firstRequest = !notFound && !schemaCacheEntry && !xyoError;
45
- const schemaChanged = schema !== schemaLocal;
46
- if (schema && firstRequest || schema && schemaChanged) {
47
- try {
48
- const schemaCacheEntry2 = await import_schema_cache.SchemaCache.instance.get(schema);
49
- if (mounted()) {
50
- setSchemaCacheEntry(schemaCacheEntry2);
51
- setNotFound(schemaCacheEntry2 === null || schemaCacheEntry2 === void 0);
52
- }
53
- } catch (e) {
54
- const error = e;
55
- console.error(e);
56
- if (mounted()) {
57
- setError({ message: error.message, schema: import_payload_model.ModuleErrorSchema, sources: [] });
58
- }
59
- }
60
- }
61
- if (schemaChanged) {
62
- setSchemaLocal(schema);
63
- }
64
- },
65
- [xyoError, notFound, schema, schemaLocal, schemaCacheEntry]
66
- );
67
- return {
68
- notFound,
69
- schemaHuri: schemaCacheEntry == null ? void 0 : schemaCacheEntry.huri,
70
- schemaPayload: schemaCacheEntry ? new import_payload_builder.PayloadBuilder(schemaCacheEntry == null ? void 0 : schemaCacheEntry.payload).fields(schemaCacheEntry.payload).build() : schemaCacheEntry,
71
- xyoError
72
- };
73
- };
74
-
75
- // src/hooks/useSchemaDefinitions.tsx
76
- var import_react_async_effect2 = require("@xylabs/react-async-effect");
77
- var import_schema_cache2 = require("@xyo-network/schema-cache");
78
- var import_react2 = require("react");
79
- var useSchemaDefinitions = (schemaList) => {
80
- const [schemaPayloads, setSchemaPayloads] = (0, import_react2.useState)();
81
- (0, import_react_async_effect2.useAsyncEffect)(
82
- // eslint-disable-next-line react-hooks/exhaustive-deps
83
- async (mounted) => {
84
- if (schemaList) {
85
- const promiseResults = await Promise.allSettled(schemaList == null ? void 0 : schemaList.map(({ name }) => import_schema_cache2.SchemaCache.instance.get(name)));
86
- if (mounted()) {
87
- setSchemaPayloads(
88
- promiseResults.map((result) => {
89
- var _a;
90
- return result.status === "fulfilled" ? (_a = result.value) == null ? void 0 : _a.payload : void 0;
91
- }).filter((item) => item !== void 0 && item !== null)
92
- );
93
- }
94
- }
95
- },
96
- [schemaList]
97
- );
98
- return schemaPayloads;
99
- };
100
-
101
- // src/hooks/useSchemaList.tsx
102
- var import_react_async_effect3 = require("@xylabs/react-async-effect");
103
- var import_diviner_schema_list_model = require("@xyo-network/diviner-schema-list-model");
104
- var import_react_diviner = require("@xyo-network/react-diviner");
105
- var import_react3 = require("react");
106
- var useSchemaList = (address, nameOrAddress = "SchemaListDiviner") => {
107
- const [schemaList, setSchemaList] = (0, import_react3.useState)();
108
- const [error, setError] = (0, import_react3.useState)();
109
- const [diviner, divinerError] = (0, import_react_diviner.useDivinerFromNode)(nameOrAddress);
110
- const query = (0, import_react3.useMemo)(
111
- () => address ? [
112
- {
113
- address,
114
- schema: import_diviner_schema_list_model.SchemaListQuerySchema
115
- }
116
- ] : void 0,
117
- [address]
118
- );
119
- (0, import_react3.useEffect)(() => {
120
- if (diviner === null) {
121
- setSchemaList(null);
122
- setError(void 0);
123
- }
124
- }, [diviner]);
125
- (0, import_react_async_effect3.useAsyncEffect)(
126
- // eslint-disable-next-line react-hooks/exhaustive-deps, require-await
127
- async (mounted) => {
128
- if (diviner) {
129
- try {
130
- const response = await diviner.divine(query);
131
- if (mounted()) {
132
- setSchemaList(response == null ? void 0 : response[0]);
133
- setError(void 0);
134
- }
135
- } catch (e) {
136
- setError(e);
137
- setSchemaList(void 0);
138
- }
139
- }
140
- },
141
- [diviner, divinerError, query]
142
- );
143
- return [schemaList, error];
144
- };
145
-
146
- // src/hooks/useSchemaStats.tsx
147
- var import_react_async_effect4 = require("@xylabs/react-async-effect");
148
- var import_diviner_schema_stats_model = require("@xyo-network/diviner-schema-stats-model");
149
- var import_node_core_types = require("@xyo-network/node-core-types");
150
- var import_react_diviner2 = require("@xyo-network/react-diviner");
151
- var import_react4 = require("react");
152
- var useSchemaStats = (statsAddress, nameOrAddress = import_node_core_types.TYPES.SchemaStatsDiviner.description) => {
153
- const [refresh, setRefresh] = (0, import_react4.useState)(1);
154
- const [diviner, divinerError] = (0, import_react_diviner2.useDivinerFromNode)(nameOrAddress);
155
- const [error, setError] = (0, import_react4.useState)();
156
- const refreshHistory = () => setRefresh((previous) => previous + 1);
157
- const [schemaList, setSchemaList] = (0, import_react4.useState)();
158
- const query = (0, import_react4.useMemo)(
159
- () => ({
160
- address: statsAddress,
161
- schema: import_diviner_schema_stats_model.SchemaStatsQuerySchema
162
- }),
163
- [statsAddress]
164
- );
165
- (0, import_react_async_effect4.useAsyncEffect)(
166
- // eslint-disable-next-line react-hooks/exhaustive-deps
167
- async (mounted) => {
168
- if (diviner) {
169
- if (divinerError) {
170
- if (mounted()) {
171
- setError(divinerError);
172
- setSchemaList(void 0);
173
- }
174
- } else {
175
- try {
176
- const schemas = (await diviner.divine([query])).filter(import_diviner_schema_stats_model.isSchemaStatsPayload);
177
- if (mounted()) {
178
- setSchemaList(schemas);
179
- setError(void 0);
180
- }
181
- } catch (ex) {
182
- setError(ex);
183
- setSchemaList(void 0);
184
- }
185
- }
186
- }
187
- },
188
- [diviner, refresh, divinerError, query]
189
- );
190
- return [schemaList, error, refreshHistory];
191
- };
192
- // Annotate the CommonJS export names for ESM import in node:
193
- 0 && (module.exports = {
194
- useGetSchemaPayload,
195
- useSchemaDefinitions,
196
- useSchemaList,
197
- useSchemaStats
198
- });
199
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/hooks/index.ts","../../../src/hooks/useGetSchema.tsx","../../../src/hooks/useSchemaDefinitions.tsx","../../../src/hooks/useSchemaList.tsx","../../../src/hooks/useSchemaStats.tsx"],"sourcesContent":["export * from './useGetSchema'\nexport * from './useSchemaDefinitions'\nexport * from './useSchemaList'\nexport * from './useSchemaStats'\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { ModuleError, ModuleErrorSchema } from '@xyo-network/payload-model'\nimport { SchemaCache, SchemaCacheEntry } from '@xyo-network/schema-cache'\nimport { SchemaPayload } from '@xyo-network/schema-payload-plugin'\nimport { useState } from 'react'\n\n/**\n * Gets a Huri and schema payload from a schema string\n */\nconst useGetSchemaPayload = (schema?: string) => {\n const [notFound, setNotFound] = useState(false)\n const [xyoError, setError] = useState<ModuleError>()\n const [schemaCacheEntry, setSchemaCacheEntry] = useState<SchemaCacheEntry | null | undefined>()\n const [schemaLocal, setSchemaLocal] = useState<string>()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n const firstRequest = !notFound && !schemaCacheEntry && !xyoError\n const schemaChanged = schema !== schemaLocal\n\n if ((schema && firstRequest) || (schema && schemaChanged)) {\n try {\n const schemaCacheEntry = await SchemaCache.instance.get(schema)\n if (mounted()) {\n setSchemaCacheEntry(schemaCacheEntry)\n setNotFound(schemaCacheEntry === null || schemaCacheEntry === undefined)\n }\n } catch (e) {\n const error = e as Error\n console.error(e)\n if (mounted()) {\n setError({ message: error.message, schema: ModuleErrorSchema, sources: [] })\n }\n }\n }\n if (schemaChanged) {\n setSchemaLocal(schema)\n }\n },\n [xyoError, notFound, schema, schemaLocal, schemaCacheEntry],\n )\n\n return {\n notFound,\n schemaHuri: schemaCacheEntry?.huri,\n schemaPayload: schemaCacheEntry\n ? new PayloadBuilder<SchemaPayload>(schemaCacheEntry?.payload).fields(schemaCacheEntry.payload).build()\n : schemaCacheEntry,\n xyoError,\n }\n}\n\nexport { useGetSchemaPayload }\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { SchemaCache } from '@xyo-network/schema-cache'\nimport { SchemaPayload } from '@xyo-network/schema-payload-plugin'\nimport { useState } from 'react'\n\nexport type SchemaList = { name: string }\n\nexport const useSchemaDefinitions = (schemaList?: SchemaList[]): SchemaPayload[] | undefined => {\n const [schemaPayloads, setSchemaPayloads] = useState<SchemaPayload[]>()\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n if (schemaList) {\n const promiseResults = await Promise.allSettled(schemaList?.map(({ name }) => SchemaCache.instance.get(name)))\n if (mounted()) {\n setSchemaPayloads(\n promiseResults\n .map((result) => (result.status === 'fulfilled' ? result.value?.payload : undefined))\n .filter((item) => item !== undefined && item !== null) as SchemaPayload[],\n )\n }\n }\n },\n [schemaList],\n )\n return schemaPayloads\n}\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { SchemaListPayload, SchemaListQueryPayload, SchemaListQuerySchema } from '@xyo-network/diviner-schema-list-model'\nimport { useDivinerFromNode } from '@xyo-network/react-diviner'\nimport { useEffect, useMemo, useState } from 'react'\n\nexport const useSchemaList = (address?: string, nameOrAddress = 'SchemaListDiviner'): [SchemaListPayload | null | undefined, Error | undefined] => {\n const [schemaList, setSchemaList] = useState<SchemaListPayload | null>()\n const [error, setError] = useState<Error>()\n const [diviner, divinerError] = useDivinerFromNode(nameOrAddress)\n\n const query: SchemaListQueryPayload[] | undefined = useMemo(\n () =>\n address\n ? [\n {\n address,\n schema: SchemaListQuerySchema,\n },\n ]\n : undefined,\n [address],\n )\n\n useEffect(() => {\n if (diviner === null) {\n setSchemaList(null)\n setError(undefined)\n }\n }, [diviner])\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps, require-await\n async (mounted) => {\n if (diviner) {\n try {\n const response = (await diviner.divine(query)) as SchemaListPayload[]\n if (mounted()) {\n setSchemaList(response?.[0])\n setError(undefined)\n }\n } catch (e) {\n setError(e as Error)\n setSchemaList(undefined)\n }\n }\n },\n [diviner, divinerError, query],\n )\n return [schemaList, error]\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":["schemaCacheEntry","import_react_async_effect","import_schema_cache","import_react","import_react_async_effect","import_react","import_react_async_effect","import_react_diviner","import_react"]}
@@ -1,169 +0,0 @@
1
- // src/hooks/useGetSchema.tsx
2
- import { useAsyncEffect } from "@xylabs/react-async-effect";
3
- import { PayloadBuilder } from "@xyo-network/payload-builder";
4
- import { ModuleErrorSchema } from "@xyo-network/payload-model";
5
- import { SchemaCache } from "@xyo-network/schema-cache";
6
- import { useState } from "react";
7
- var useGetSchemaPayload = (schema) => {
8
- const [notFound, setNotFound] = useState(false);
9
- const [xyoError, setError] = useState();
10
- const [schemaCacheEntry, setSchemaCacheEntry] = useState();
11
- const [schemaLocal, setSchemaLocal] = useState();
12
- useAsyncEffect(
13
- // eslint-disable-next-line react-hooks/exhaustive-deps
14
- async (mounted) => {
15
- const firstRequest = !notFound && !schemaCacheEntry && !xyoError;
16
- const schemaChanged = schema !== schemaLocal;
17
- if (schema && firstRequest || schema && schemaChanged) {
18
- try {
19
- const schemaCacheEntry2 = await SchemaCache.instance.get(schema);
20
- if (mounted()) {
21
- setSchemaCacheEntry(schemaCacheEntry2);
22
- setNotFound(schemaCacheEntry2 === null || schemaCacheEntry2 === void 0);
23
- }
24
- } catch (e) {
25
- const error = e;
26
- console.error(e);
27
- if (mounted()) {
28
- setError({ message: error.message, schema: ModuleErrorSchema, sources: [] });
29
- }
30
- }
31
- }
32
- if (schemaChanged) {
33
- setSchemaLocal(schema);
34
- }
35
- },
36
- [xyoError, notFound, schema, schemaLocal, schemaCacheEntry]
37
- );
38
- return {
39
- notFound,
40
- schemaHuri: schemaCacheEntry == null ? void 0 : schemaCacheEntry.huri,
41
- schemaPayload: schemaCacheEntry ? new PayloadBuilder(schemaCacheEntry == null ? void 0 : schemaCacheEntry.payload).fields(schemaCacheEntry.payload).build() : schemaCacheEntry,
42
- xyoError
43
- };
44
- };
45
-
46
- // src/hooks/useSchemaDefinitions.tsx
47
- import { useAsyncEffect as useAsyncEffect2 } from "@xylabs/react-async-effect";
48
- import { SchemaCache as SchemaCache2 } from "@xyo-network/schema-cache";
49
- import { useState as useState2 } from "react";
50
- var useSchemaDefinitions = (schemaList) => {
51
- const [schemaPayloads, setSchemaPayloads] = useState2();
52
- useAsyncEffect2(
53
- // eslint-disable-next-line react-hooks/exhaustive-deps
54
- async (mounted) => {
55
- if (schemaList) {
56
- const promiseResults = await Promise.allSettled(schemaList == null ? void 0 : schemaList.map(({ name }) => SchemaCache2.instance.get(name)));
57
- if (mounted()) {
58
- setSchemaPayloads(
59
- promiseResults.map((result) => {
60
- var _a;
61
- return result.status === "fulfilled" ? (_a = result.value) == null ? void 0 : _a.payload : void 0;
62
- }).filter((item) => item !== void 0 && item !== null)
63
- );
64
- }
65
- }
66
- },
67
- [schemaList]
68
- );
69
- return schemaPayloads;
70
- };
71
-
72
- // src/hooks/useSchemaList.tsx
73
- import { useAsyncEffect as useAsyncEffect3 } from "@xylabs/react-async-effect";
74
- import { SchemaListQuerySchema } from "@xyo-network/diviner-schema-list-model";
75
- import { useDivinerFromNode } from "@xyo-network/react-diviner";
76
- import { useEffect, useMemo, useState as useState3 } from "react";
77
- var useSchemaList = (address, nameOrAddress = "SchemaListDiviner") => {
78
- const [schemaList, setSchemaList] = useState3();
79
- const [error, setError] = useState3();
80
- const [diviner, divinerError] = useDivinerFromNode(nameOrAddress);
81
- const query = useMemo(
82
- () => address ? [
83
- {
84
- address,
85
- schema: SchemaListQuerySchema
86
- }
87
- ] : void 0,
88
- [address]
89
- );
90
- useEffect(() => {
91
- if (diviner === null) {
92
- setSchemaList(null);
93
- setError(void 0);
94
- }
95
- }, [diviner]);
96
- useAsyncEffect3(
97
- // eslint-disable-next-line react-hooks/exhaustive-deps, require-await
98
- async (mounted) => {
99
- if (diviner) {
100
- try {
101
- const response = await diviner.divine(query);
102
- if (mounted()) {
103
- setSchemaList(response == null ? void 0 : response[0]);
104
- setError(void 0);
105
- }
106
- } catch (e) {
107
- setError(e);
108
- setSchemaList(void 0);
109
- }
110
- }
111
- },
112
- [diviner, divinerError, query]
113
- );
114
- return [schemaList, error];
115
- };
116
-
117
- // src/hooks/useSchemaStats.tsx
118
- import { useAsyncEffect as useAsyncEffect4 } from "@xylabs/react-async-effect";
119
- import { isSchemaStatsPayload, SchemaStatsQuerySchema } from "@xyo-network/diviner-schema-stats-model";
120
- import { TYPES } from "@xyo-network/node-core-types";
121
- import { useDivinerFromNode as useDivinerFromNode2 } from "@xyo-network/react-diviner";
122
- import { useMemo as useMemo2, useState as useState4 } from "react";
123
- var useSchemaStats = (statsAddress, nameOrAddress = TYPES.SchemaStatsDiviner.description) => {
124
- const [refresh, setRefresh] = useState4(1);
125
- const [diviner, divinerError] = useDivinerFromNode2(nameOrAddress);
126
- const [error, setError] = useState4();
127
- const refreshHistory = () => setRefresh((previous) => previous + 1);
128
- const [schemaList, setSchemaList] = useState4();
129
- const query = useMemo2(
130
- () => ({
131
- address: statsAddress,
132
- schema: SchemaStatsQuerySchema
133
- }),
134
- [statsAddress]
135
- );
136
- useAsyncEffect4(
137
- // eslint-disable-next-line react-hooks/exhaustive-deps
138
- async (mounted) => {
139
- if (diviner) {
140
- if (divinerError) {
141
- if (mounted()) {
142
- setError(divinerError);
143
- setSchemaList(void 0);
144
- }
145
- } else {
146
- try {
147
- const schemas = (await diviner.divine([query])).filter(isSchemaStatsPayload);
148
- if (mounted()) {
149
- setSchemaList(schemas);
150
- setError(void 0);
151
- }
152
- } catch (ex) {
153
- setError(ex);
154
- setSchemaList(void 0);
155
- }
156
- }
157
- }
158
- },
159
- [diviner, refresh, divinerError, query]
160
- );
161
- return [schemaList, error, refreshHistory];
162
- };
163
- export {
164
- useGetSchemaPayload,
165
- useSchemaDefinitions,
166
- useSchemaList,
167
- useSchemaStats
168
- };
169
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/hooks/useGetSchema.tsx","../../../src/hooks/useSchemaDefinitions.tsx","../../../src/hooks/useSchemaList.tsx","../../../src/hooks/useSchemaStats.tsx"],"sourcesContent":["import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { ModuleError, ModuleErrorSchema } from '@xyo-network/payload-model'\nimport { SchemaCache, SchemaCacheEntry } from '@xyo-network/schema-cache'\nimport { SchemaPayload } from '@xyo-network/schema-payload-plugin'\nimport { useState } from 'react'\n\n/**\n * Gets a Huri and schema payload from a schema string\n */\nconst useGetSchemaPayload = (schema?: string) => {\n const [notFound, setNotFound] = useState(false)\n const [xyoError, setError] = useState<ModuleError>()\n const [schemaCacheEntry, setSchemaCacheEntry] = useState<SchemaCacheEntry | null | undefined>()\n const [schemaLocal, setSchemaLocal] = useState<string>()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n const firstRequest = !notFound && !schemaCacheEntry && !xyoError\n const schemaChanged = schema !== schemaLocal\n\n if ((schema && firstRequest) || (schema && schemaChanged)) {\n try {\n const schemaCacheEntry = await SchemaCache.instance.get(schema)\n if (mounted()) {\n setSchemaCacheEntry(schemaCacheEntry)\n setNotFound(schemaCacheEntry === null || schemaCacheEntry === undefined)\n }\n } catch (e) {\n const error = e as Error\n console.error(e)\n if (mounted()) {\n setError({ message: error.message, schema: ModuleErrorSchema, sources: [] })\n }\n }\n }\n if (schemaChanged) {\n setSchemaLocal(schema)\n }\n },\n [xyoError, notFound, schema, schemaLocal, schemaCacheEntry],\n )\n\n return {\n notFound,\n schemaHuri: schemaCacheEntry?.huri,\n schemaPayload: schemaCacheEntry\n ? new PayloadBuilder<SchemaPayload>(schemaCacheEntry?.payload).fields(schemaCacheEntry.payload).build()\n : schemaCacheEntry,\n xyoError,\n }\n}\n\nexport { useGetSchemaPayload }\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { SchemaCache } from '@xyo-network/schema-cache'\nimport { SchemaPayload } from '@xyo-network/schema-payload-plugin'\nimport { useState } from 'react'\n\nexport type SchemaList = { name: string }\n\nexport const useSchemaDefinitions = (schemaList?: SchemaList[]): SchemaPayload[] | undefined => {\n const [schemaPayloads, setSchemaPayloads] = useState<SchemaPayload[]>()\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n if (schemaList) {\n const promiseResults = await Promise.allSettled(schemaList?.map(({ name }) => SchemaCache.instance.get(name)))\n if (mounted()) {\n setSchemaPayloads(\n promiseResults\n .map((result) => (result.status === 'fulfilled' ? result.value?.payload : undefined))\n .filter((item) => item !== undefined && item !== null) as SchemaPayload[],\n )\n }\n }\n },\n [schemaList],\n )\n return schemaPayloads\n}\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { SchemaListPayload, SchemaListQueryPayload, SchemaListQuerySchema } from '@xyo-network/diviner-schema-list-model'\nimport { useDivinerFromNode } from '@xyo-network/react-diviner'\nimport { useEffect, useMemo, useState } from 'react'\n\nexport const useSchemaList = (address?: string, nameOrAddress = 'SchemaListDiviner'): [SchemaListPayload | null | undefined, Error | undefined] => {\n const [schemaList, setSchemaList] = useState<SchemaListPayload | null>()\n const [error, setError] = useState<Error>()\n const [diviner, divinerError] = useDivinerFromNode(nameOrAddress)\n\n const query: SchemaListQueryPayload[] | undefined = useMemo(\n () =>\n address\n ? [\n {\n address,\n schema: SchemaListQuerySchema,\n },\n ]\n : undefined,\n [address],\n )\n\n useEffect(() => {\n if (diviner === null) {\n setSchemaList(null)\n setError(undefined)\n }\n }, [diviner])\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps, require-await\n async (mounted) => {\n if (diviner) {\n try {\n const response = (await diviner.divine(query)) as SchemaListPayload[]\n if (mounted()) {\n setSchemaList(response?.[0])\n setError(undefined)\n }\n } catch (e) {\n setError(e as Error)\n setSchemaList(undefined)\n }\n }\n },\n [diviner, divinerError, query],\n )\n return [schemaList, error]\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":["schemaCacheEntry","useAsyncEffect","SchemaCache","useState","useAsyncEffect","useState","useAsyncEffect","useDivinerFromNode","useMemo","useState"]}
@@ -1,73 +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/hooks/useGetSchema.tsx
21
- var useGetSchema_exports = {};
22
- __export(useGetSchema_exports, {
23
- useGetSchemaPayload: () => useGetSchemaPayload
24
- });
25
- module.exports = __toCommonJS(useGetSchema_exports);
26
- var import_react_async_effect = require("@xylabs/react-async-effect");
27
- var import_payload_builder = require("@xyo-network/payload-builder");
28
- var import_payload_model = require("@xyo-network/payload-model");
29
- var import_schema_cache = require("@xyo-network/schema-cache");
30
- var import_react = require("react");
31
- var useGetSchemaPayload = (schema) => {
32
- const [notFound, setNotFound] = (0, import_react.useState)(false);
33
- const [xyoError, setError] = (0, import_react.useState)();
34
- const [schemaCacheEntry, setSchemaCacheEntry] = (0, import_react.useState)();
35
- const [schemaLocal, setSchemaLocal] = (0, import_react.useState)();
36
- (0, import_react_async_effect.useAsyncEffect)(
37
- // eslint-disable-next-line react-hooks/exhaustive-deps
38
- async (mounted) => {
39
- const firstRequest = !notFound && !schemaCacheEntry && !xyoError;
40
- const schemaChanged = schema !== schemaLocal;
41
- if (schema && firstRequest || schema && schemaChanged) {
42
- try {
43
- const schemaCacheEntry2 = await import_schema_cache.SchemaCache.instance.get(schema);
44
- if (mounted()) {
45
- setSchemaCacheEntry(schemaCacheEntry2);
46
- setNotFound(schemaCacheEntry2 === null || schemaCacheEntry2 === void 0);
47
- }
48
- } catch (e) {
49
- const error = e;
50
- console.error(e);
51
- if (mounted()) {
52
- setError({ message: error.message, schema: import_payload_model.ModuleErrorSchema, sources: [] });
53
- }
54
- }
55
- }
56
- if (schemaChanged) {
57
- setSchemaLocal(schema);
58
- }
59
- },
60
- [xyoError, notFound, schema, schemaLocal, schemaCacheEntry]
61
- );
62
- return {
63
- notFound,
64
- schemaHuri: schemaCacheEntry == null ? void 0 : schemaCacheEntry.huri,
65
- schemaPayload: schemaCacheEntry ? new import_payload_builder.PayloadBuilder(schemaCacheEntry == null ? void 0 : schemaCacheEntry.payload).fields(schemaCacheEntry.payload).build() : schemaCacheEntry,
66
- xyoError
67
- };
68
- };
69
- // Annotate the CommonJS export names for ESM import in node:
70
- 0 && (module.exports = {
71
- useGetSchemaPayload
72
- });
73
- //# sourceMappingURL=useGetSchema.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/hooks/useGetSchema.tsx"],"sourcesContent":["import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { ModuleError, ModuleErrorSchema } from '@xyo-network/payload-model'\nimport { SchemaCache, SchemaCacheEntry } from '@xyo-network/schema-cache'\nimport { SchemaPayload } from '@xyo-network/schema-payload-plugin'\nimport { useState } from 'react'\n\n/**\n * Gets a Huri and schema payload from a schema string\n */\nconst useGetSchemaPayload = (schema?: string) => {\n const [notFound, setNotFound] = useState(false)\n const [xyoError, setError] = useState<ModuleError>()\n const [schemaCacheEntry, setSchemaCacheEntry] = useState<SchemaCacheEntry | null | undefined>()\n const [schemaLocal, setSchemaLocal] = useState<string>()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n const firstRequest = !notFound && !schemaCacheEntry && !xyoError\n const schemaChanged = schema !== schemaLocal\n\n if ((schema && firstRequest) || (schema && schemaChanged)) {\n try {\n const schemaCacheEntry = await SchemaCache.instance.get(schema)\n if (mounted()) {\n setSchemaCacheEntry(schemaCacheEntry)\n setNotFound(schemaCacheEntry === null || schemaCacheEntry === undefined)\n }\n } catch (e) {\n const error = e as Error\n console.error(e)\n if (mounted()) {\n setError({ message: error.message, schema: ModuleErrorSchema, sources: [] })\n }\n }\n }\n if (schemaChanged) {\n setSchemaLocal(schema)\n }\n },\n [xyoError, notFound, schema, schemaLocal, schemaCacheEntry],\n )\n\n return {\n notFound,\n schemaHuri: schemaCacheEntry?.huri,\n schemaPayload: schemaCacheEntry\n ? new PayloadBuilder<SchemaPayload>(schemaCacheEntry?.payload).fields(schemaCacheEntry.payload).build()\n : schemaCacheEntry,\n xyoError,\n }\n}\n\nexport { useGetSchemaPayload }\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAA+B;AAC/B,6BAA+B;AAC/B,2BAA+C;AAC/C,0BAA8C;AAE9C,mBAAyB;AAKzB,IAAM,sBAAsB,CAAC,WAAoB;AAC/C,QAAM,CAAC,UAAU,WAAW,QAAI,uBAAS,KAAK;AAC9C,QAAM,CAAC,UAAU,QAAQ,QAAI,uBAAsB;AACnD,QAAM,CAAC,kBAAkB,mBAAmB,QAAI,uBAA8C;AAC9F,QAAM,CAAC,aAAa,cAAc,QAAI,uBAAiB;AAEvD;AAAA;AAAA,IAEE,OAAO,YAAY;AACjB,YAAM,eAAe,CAAC,YAAY,CAAC,oBAAoB,CAAC;AACxD,YAAM,gBAAgB,WAAW;AAEjC,UAAK,UAAU,gBAAkB,UAAU,eAAgB;AACzD,YAAI;AACF,gBAAMA,oBAAmB,MAAM,gCAAY,SAAS,IAAI,MAAM;AAC9D,cAAI,QAAQ,GAAG;AACb,gCAAoBA,iBAAgB;AACpC,wBAAYA,sBAAqB,QAAQA,sBAAqB,MAAS;AAAA,UACzE;AAAA,QACF,SAAS,GAAG;AACV,gBAAM,QAAQ;AACd,kBAAQ,MAAM,CAAC;AACf,cAAI,QAAQ,GAAG;AACb,qBAAS,EAAE,SAAS,MAAM,SAAS,QAAQ,wCAAmB,SAAS,CAAC,EAAE,CAAC;AAAA,UAC7E;AAAA,QACF;AAAA,MACF;AACA,UAAI,eAAe;AACjB,uBAAe,MAAM;AAAA,MACvB;AAAA,IACF;AAAA,IACA,CAAC,UAAU,UAAU,QAAQ,aAAa,gBAAgB;AAAA,EAC5D;AAEA,SAAO;AAAA,IACL;AAAA,IACA,YAAY,qDAAkB;AAAA,IAC9B,eAAe,mBACX,IAAI,sCAA8B,qDAAkB,OAAO,EAAE,OAAO,iBAAiB,OAAO,EAAE,MAAM,IACpG;AAAA,IACJ;AAAA,EACF;AACF;","names":["schemaCacheEntry"]}