@xyo-network/react-schema 2.64.0-rc.7 → 2.64.1
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.
- package/dist/browser/components/Property/SchemaProperty.cjs +76 -0
- package/dist/{node/components/Property/SchemaProperty.mjs.map → browser/components/Property/SchemaProperty.cjs.map} +1 -1
- package/dist/browser/components/Property/SchemaProperty.d.cts +40 -0
- package/dist/browser/components/Property/SchemaProperty.d.cts.map +1 -0
- package/dist/browser/components/Property/SchemaProperty.js +4 -3
- package/dist/browser/components/Property/SchemaProperty.js.map +1 -1
- package/dist/browser/components/Property/index.cjs +78 -0
- package/dist/browser/components/Property/index.cjs.map +1 -0
- package/dist/browser/components/Property/index.d.cts +2 -0
- package/dist/browser/components/Property/index.d.cts.map +1 -0
- package/dist/browser/components/Property/index.js +54 -1
- package/dist/browser/components/Property/index.js.map +1 -1
- package/dist/browser/components/SelectEx/SchemaSelectEx.cjs +68 -0
- package/dist/browser/components/SelectEx/SchemaSelectEx.cjs.map +1 -0
- package/dist/browser/components/SelectEx/SchemaSelectEx.d.cts +5 -0
- package/dist/browser/components/SelectEx/SchemaSelectEx.d.cts.map +1 -0
- package/dist/browser/components/SelectEx/SchemaSelectEx.js +15 -3
- package/dist/browser/components/SelectEx/SchemaSelectEx.js.map +1 -1
- package/dist/browser/components/SelectEx/index.cjs +70 -0
- package/dist/browser/components/SelectEx/index.cjs.map +1 -0
- package/dist/browser/components/SelectEx/index.d.cts +2 -0
- package/dist/browser/components/SelectEx/index.d.cts.map +1 -0
- package/dist/browser/components/SelectEx/index.js +46 -1
- package/dist/browser/components/SelectEx/index.js.map +1 -1
- package/dist/browser/components/index.cjs +123 -0
- package/dist/browser/components/index.cjs.map +1 -0
- package/dist/browser/components/index.d.cts +3 -0
- package/dist/browser/components/index.d.cts.map +1 -0
- package/dist/browser/components/index.js +99 -2
- package/dist/browser/components/index.js.map +1 -1
- package/dist/browser/contexts/Schema/Context.cjs +28 -0
- package/dist/{node/contexts/Schema/Context.mjs.map → browser/contexts/Schema/Context.cjs.map} +1 -1
- package/dist/browser/contexts/Schema/Context.d.cts +4 -0
- package/dist/browser/contexts/Schema/Context.d.cts.map +1 -0
- package/dist/browser/contexts/Schema/Context.js +2 -1
- package/dist/browser/contexts/Schema/Context.js.map +1 -1
- package/dist/browser/contexts/Schema/Provider/Memory.cjs +94 -0
- package/dist/browser/contexts/Schema/Provider/Memory.cjs.map +1 -0
- package/dist/browser/contexts/Schema/Provider/Memory.d.cts +5 -0
- package/dist/browser/contexts/Schema/Provider/Memory.d.cts.map +1 -0
- package/dist/browser/contexts/Schema/Provider/Memory.js +59 -7
- package/dist/browser/contexts/Schema/Provider/Memory.js.map +1 -1
- package/dist/browser/contexts/Schema/Provider/Props.cjs +19 -0
- package/dist/browser/contexts/Schema/Provider/Props.cjs.map +1 -0
- package/dist/browser/contexts/Schema/Provider/Props.d.cts +5 -0
- package/dist/browser/contexts/Schema/Provider/Props.d.cts.map +1 -0
- package/dist/browser/contexts/Schema/Provider/Route.cjs +144 -0
- package/dist/browser/contexts/Schema/Provider/Route.cjs.map +1 -0
- package/dist/browser/contexts/Schema/Provider/Route.d.cts +5 -0
- package/dist/browser/contexts/Schema/Provider/Route.d.cts.map +1 -0
- package/dist/browser/contexts/Schema/Provider/Route.js +86 -10
- package/dist/browser/contexts/Schema/Provider/Route.js.map +1 -1
- package/dist/browser/contexts/Schema/Provider/index.cjs +147 -0
- package/dist/browser/contexts/Schema/Provider/index.cjs.map +1 -0
- package/dist/browser/contexts/Schema/Provider/index.d.cts +4 -0
- package/dist/browser/contexts/Schema/Provider/index.d.cts.map +1 -0
- package/dist/browser/contexts/Schema/Provider/index.js +123 -3
- package/dist/browser/contexts/Schema/Provider/index.js.map +1 -1
- package/dist/browser/contexts/Schema/State.cjs +19 -0
- package/dist/browser/contexts/Schema/State.cjs.map +1 -0
- package/dist/browser/contexts/Schema/State.d.cts +13 -0
- package/dist/browser/contexts/Schema/State.d.cts.map +1 -0
- package/dist/browser/contexts/Schema/index.cjs +149 -0
- package/dist/browser/contexts/Schema/index.cjs.map +1 -0
- package/dist/browser/contexts/Schema/index.d.cts +5 -0
- package/dist/browser/contexts/Schema/index.d.cts.map +1 -0
- package/dist/browser/contexts/Schema/index.js +125 -4
- package/dist/browser/contexts/Schema/index.js.map +1 -1
- package/dist/browser/contexts/Schema/use.cjs +36 -0
- package/dist/browser/contexts/Schema/use.cjs.map +1 -0
- package/dist/browser/contexts/Schema/use.d.cts +3 -0
- package/dist/browser/contexts/Schema/use.d.cts.map +1 -0
- package/dist/browser/contexts/Schema/use.js +8 -2
- package/dist/browser/contexts/Schema/use.js.map +1 -1
- package/dist/browser/contexts/index.cjs +149 -0
- package/dist/browser/contexts/index.cjs.map +1 -0
- package/dist/browser/contexts/index.d.cts +2 -0
- package/dist/browser/contexts/index.d.cts.map +1 -0
- package/dist/browser/contexts/index.js +125 -1
- package/dist/browser/contexts/index.js.map +1 -1
- package/dist/browser/hooks/index.cjs +189 -0
- package/dist/browser/hooks/index.cjs.map +1 -0
- package/dist/browser/hooks/index.d.cts +5 -0
- package/dist/browser/hooks/index.d.cts.map +1 -0
- package/dist/browser/hooks/index.js +165 -4
- package/dist/browser/hooks/index.js.map +1 -1
- package/dist/browser/hooks/useGetSchema.cjs +69 -0
- package/dist/{node/hooks/useGetSchema.mjs.map → browser/hooks/useGetSchema.cjs.map} +1 -1
- package/dist/browser/hooks/useGetSchema.d.cts +27 -0
- package/dist/browser/hooks/useGetSchema.d.cts.map +1 -0
- package/dist/browser/hooks/useGetSchema.js +2 -1
- package/dist/browser/hooks/useGetSchema.js.map +1 -1
- package/dist/browser/hooks/useSchemaDefinitions.cjs +47 -0
- package/dist/{node/hooks/useSchemaDefinitions.mjs.map → browser/hooks/useSchemaDefinitions.cjs.map} +1 -1
- package/dist/browser/hooks/useSchemaDefinitions.d.cts +6 -0
- package/dist/browser/hooks/useSchemaDefinitions.d.cts.map +1 -0
- package/dist/browser/hooks/useSchemaDefinitions.js +2 -1
- package/dist/browser/hooks/useSchemaDefinitions.js.map +1 -1
- package/dist/browser/hooks/useSchemaList.cjs +69 -0
- package/dist/browser/hooks/useSchemaList.cjs.map +1 -0
- package/dist/browser/hooks/useSchemaList.d.cts +3 -0
- package/dist/browser/hooks/useSchemaList.d.cts.map +1 -0
- package/dist/browser/hooks/useSchemaList.js +2 -1
- package/dist/browser/hooks/useSchemaList.js.map +1 -1
- package/dist/browser/hooks/useSchemaStats.cjs +71 -0
- package/dist/{node/hooks/useSchemaStats.mjs.map → browser/hooks/useSchemaStats.cjs.map} +1 -1
- package/dist/browser/hooks/useSchemaStats.d.cts +4 -0
- package/dist/browser/hooks/useSchemaStats.d.cts.map +1 -0
- package/dist/browser/hooks/useSchemaStats.js +2 -1
- package/dist/browser/hooks/useSchemaStats.js.map +1 -1
- package/dist/browser/index.cjs +354 -0
- package/dist/browser/index.cjs.map +1 -0
- package/dist/browser/index.d.cts +4 -0
- package/dist/browser/index.d.cts.map +1 -0
- package/dist/browser/index.js +330 -3
- package/dist/browser/index.js.map +1 -1
- package/dist/docs.json +2071 -0
- package/dist/node/components/Property/SchemaProperty.cjs +81 -0
- package/dist/node/components/Property/SchemaProperty.cjs.map +1 -0
- package/dist/node/components/Property/SchemaProperty.d.cts +40 -0
- package/dist/node/components/Property/SchemaProperty.d.cts.map +1 -0
- package/dist/node/components/Property/SchemaProperty.js +26 -48
- package/dist/node/components/Property/SchemaProperty.js.map +1 -1
- package/dist/node/components/Property/index.cjs +83 -0
- package/dist/node/components/Property/index.cjs.map +1 -0
- package/dist/node/components/Property/index.d.cts +2 -0
- package/dist/node/components/Property/index.d.cts.map +1 -0
- package/dist/node/components/Property/index.js +53 -20
- package/dist/node/components/Property/index.js.map +1 -1
- package/dist/node/components/SelectEx/SchemaSelectEx.cjs +72 -0
- package/dist/node/components/SelectEx/SchemaSelectEx.cjs.map +1 -0
- package/dist/node/components/SelectEx/SchemaSelectEx.d.cts +5 -0
- package/dist/node/components/SelectEx/SchemaSelectEx.d.cts.map +1 -0
- package/dist/node/components/SelectEx/SchemaSelectEx.js +27 -39
- package/dist/node/components/SelectEx/SchemaSelectEx.js.map +1 -1
- package/dist/node/components/SelectEx/index.cjs +74 -0
- package/dist/node/components/SelectEx/index.cjs.map +1 -0
- package/dist/node/components/SelectEx/index.d.cts +2 -0
- package/dist/node/components/SelectEx/index.d.cts.map +1 -0
- package/dist/node/components/SelectEx/index.js +45 -21
- package/dist/node/components/SelectEx/index.js.map +1 -1
- package/dist/node/components/index.cjs +129 -0
- package/dist/node/components/index.cjs.map +1 -0
- package/dist/node/components/index.d.cts +3 -0
- package/dist/node/components/index.d.cts.map +1 -0
- package/dist/node/components/index.js +98 -22
- package/dist/node/components/index.js.map +1 -1
- package/dist/node/contexts/Schema/Context.cjs +32 -0
- package/dist/node/contexts/Schema/Context.cjs.map +1 -0
- package/dist/node/contexts/Schema/Context.d.cts +4 -0
- package/dist/node/contexts/Schema/Context.d.cts.map +1 -0
- package/dist/node/contexts/Schema/Context.js +5 -28
- package/dist/node/contexts/Schema/Context.js.map +1 -1
- package/dist/node/contexts/Schema/Provider/Memory.cjs +98 -0
- package/dist/node/contexts/Schema/Provider/Memory.cjs.map +1 -0
- package/dist/node/contexts/Schema/Provider/Memory.d.cts +5 -0
- package/dist/node/contexts/Schema/Provider/Memory.d.cts.map +1 -0
- package/dist/node/contexts/Schema/Provider/Memory.js +65 -37
- package/dist/node/contexts/Schema/Provider/Memory.js.map +1 -1
- package/dist/node/contexts/Schema/Provider/Props.cjs +19 -0
- package/dist/node/contexts/Schema/Provider/Props.cjs.map +1 -0
- package/dist/node/contexts/Schema/Provider/Props.d.cts +5 -0
- package/dist/node/contexts/Schema/Provider/Props.d.cts.map +1 -0
- package/dist/node/contexts/Schema/Provider/Props.js +0 -16
- package/dist/node/contexts/Schema/Provider/Props.js.map +1 -1
- package/dist/node/contexts/Schema/Provider/Route.cjs +148 -0
- package/dist/node/contexts/Schema/Provider/Route.cjs.map +1 -0
- package/dist/node/contexts/Schema/Provider/Route.d.cts +5 -0
- package/dist/node/contexts/Schema/Provider/Route.d.cts.map +1 -0
- package/dist/node/contexts/Schema/Provider/Route.js +94 -42
- package/dist/node/contexts/Schema/Provider/Route.js.map +1 -1
- package/dist/node/contexts/Schema/Provider/index.cjs +152 -0
- package/dist/node/contexts/Schema/Provider/index.cjs.map +1 -0
- package/dist/node/contexts/Schema/Provider/index.d.cts +4 -0
- package/dist/node/contexts/Schema/Provider/index.d.cts.map +1 -0
- package/dist/node/contexts/Schema/Provider/index.js +122 -25
- package/dist/node/contexts/Schema/Provider/index.js.map +1 -1
- package/dist/node/contexts/Schema/State.cjs +19 -0
- package/dist/node/contexts/Schema/State.cjs.map +1 -0
- package/dist/node/contexts/Schema/State.d.cts +13 -0
- package/dist/node/contexts/Schema/State.d.cts.map +1 -0
- package/dist/node/contexts/Schema/State.js +0 -16
- package/dist/node/contexts/Schema/State.js.map +1 -1
- package/dist/node/contexts/Schema/index.cjs +156 -0
- package/dist/node/contexts/Schema/index.cjs.map +1 -0
- package/dist/node/contexts/Schema/index.d.cts +5 -0
- package/dist/node/contexts/Schema/index.d.cts.map +1 -0
- package/dist/node/contexts/Schema/index.js +124 -27
- package/dist/node/contexts/Schema/index.js.map +1 -1
- package/dist/node/contexts/Schema/use.cjs +40 -0
- package/dist/node/contexts/Schema/use.cjs.map +1 -0
- package/dist/node/contexts/Schema/use.d.cts +3 -0
- package/dist/node/contexts/Schema/use.d.cts.map +1 -0
- package/dist/node/contexts/Schema/use.js +12 -30
- package/dist/node/contexts/Schema/use.js.map +1 -1
- package/dist/node/contexts/index.cjs +156 -0
- package/dist/node/contexts/index.cjs.map +1 -0
- package/dist/node/contexts/index.d.cts +2 -0
- package/dist/node/contexts/index.d.cts.map +1 -0
- package/dist/node/contexts/index.js +124 -21
- package/dist/node/contexts/index.js.map +1 -1
- package/dist/node/hooks/index.cjs +199 -0
- package/dist/node/hooks/index.cjs.map +1 -0
- package/dist/node/hooks/index.d.cts +5 -0
- package/dist/node/hooks/index.d.cts.map +1 -0
- package/dist/node/hooks/index.js +167 -27
- package/dist/node/hooks/index.js.map +1 -1
- package/dist/node/hooks/useGetSchema.cjs +73 -0
- package/dist/node/hooks/useGetSchema.cjs.map +1 -0
- package/dist/node/hooks/useGetSchema.d.cts +27 -0
- package/dist/node/hooks/useGetSchema.d.cts.map +1 -0
- package/dist/node/hooks/useGetSchema.js +18 -41
- package/dist/node/hooks/useGetSchema.js.map +1 -1
- package/dist/node/hooks/useSchemaDefinitions.cjs +54 -0
- package/dist/node/hooks/useSchemaDefinitions.cjs.map +1 -0
- package/dist/node/hooks/useSchemaDefinitions.d.cts +6 -0
- package/dist/node/hooks/useSchemaDefinitions.d.cts.map +1 -0
- package/dist/node/hooks/useSchemaDefinitions.js +14 -34
- package/dist/node/hooks/useSchemaDefinitions.js.map +1 -1
- package/dist/node/hooks/useSchemaList.cjs +73 -0
- package/dist/node/hooks/{useSchemaList.mjs.map → useSchemaList.cjs.map} +1 -1
- package/dist/node/hooks/useSchemaList.d.cts +3 -0
- package/dist/node/hooks/useSchemaList.d.cts.map +1 -0
- package/dist/node/hooks/useSchemaList.js +16 -39
- package/dist/node/hooks/useSchemaList.js.map +1 -1
- package/dist/node/hooks/useSchemaStats.cjs +75 -0
- package/dist/node/hooks/useSchemaStats.cjs.map +1 -0
- package/dist/node/hooks/useSchemaStats.d.cts +4 -0
- package/dist/node/hooks/useSchemaStats.d.cts.map +1 -0
- package/dist/node/hooks/useSchemaStats.js +17 -40
- package/dist/node/hooks/useSchemaStats.js.map +1 -1
- package/dist/node/index.cjs +371 -0
- package/dist/node/index.cjs.map +1 -0
- package/dist/node/index.d.cts +4 -0
- package/dist/node/index.d.cts.map +1 -0
- package/dist/node/index.js +333 -25
- package/dist/node/index.js.map +1 -1
- package/package.json +36 -36
- package/dist/browser/components/Property/SchemaProperty.stories.js +0 -37
- package/dist/browser/components/Property/SchemaProperty.stories.js.map +0 -1
- package/dist/browser/hooks/stories/TestSchemaHooks.stories.js +0 -65
- package/dist/browser/hooks/stories/TestSchemaHooks.stories.js.map +0 -1
- package/dist/browser/hooks/useGetSchema.stories.js +0 -63
- package/dist/browser/hooks/useGetSchema.stories.js.map +0 -1
- package/dist/node/components/Property/SchemaProperty.mjs +0 -54
- package/dist/node/components/Property/SchemaProperty.stories.js +0 -64
- package/dist/node/components/Property/SchemaProperty.stories.js.map +0 -1
- package/dist/node/components/Property/SchemaProperty.stories.mjs +0 -37
- package/dist/node/components/Property/SchemaProperty.stories.mjs.map +0 -1
- package/dist/node/components/Property/index.mjs +0 -2
- package/dist/node/components/Property/index.mjs.map +0 -1
- package/dist/node/components/SelectEx/SchemaSelectEx.mjs +0 -35
- package/dist/node/components/SelectEx/SchemaSelectEx.mjs.map +0 -1
- package/dist/node/components/SelectEx/index.mjs +0 -2
- package/dist/node/components/SelectEx/index.mjs.map +0 -1
- package/dist/node/components/index.mjs +0 -3
- package/dist/node/components/index.mjs.map +0 -1
- package/dist/node/contexts/Schema/Context.mjs +0 -6
- package/dist/node/contexts/Schema/Provider/Memory.mjs +0 -21
- package/dist/node/contexts/Schema/Provider/Memory.mjs.map +0 -1
- package/dist/node/contexts/Schema/Provider/Props.mjs +0 -1
- package/dist/node/contexts/Schema/Provider/Props.mjs.map +0 -1
- package/dist/node/contexts/Schema/Provider/Route.mjs +0 -47
- package/dist/node/contexts/Schema/Provider/Route.mjs.map +0 -1
- package/dist/node/contexts/Schema/Provider/index.mjs +0 -4
- package/dist/node/contexts/Schema/Provider/index.mjs.map +0 -1
- package/dist/node/contexts/Schema/State.mjs +0 -1
- package/dist/node/contexts/Schema/State.mjs.map +0 -1
- package/dist/node/contexts/Schema/index.mjs +0 -5
- package/dist/node/contexts/Schema/index.mjs.map +0 -1
- package/dist/node/contexts/Schema/use.mjs +0 -9
- package/dist/node/contexts/Schema/use.mjs.map +0 -1
- package/dist/node/contexts/index.mjs +0 -2
- package/dist/node/contexts/index.mjs.map +0 -1
- package/dist/node/hooks/index.mjs +0 -5
- package/dist/node/hooks/index.mjs.map +0 -1
- package/dist/node/hooks/stories/TestSchemaHooks.stories.js +0 -89
- package/dist/node/hooks/stories/TestSchemaHooks.stories.js.map +0 -1
- package/dist/node/hooks/stories/TestSchemaHooks.stories.mjs +0 -65
- package/dist/node/hooks/stories/TestSchemaHooks.stories.mjs.map +0 -1
- package/dist/node/hooks/useGetSchema.mjs +0 -47
- package/dist/node/hooks/useGetSchema.stories.js +0 -98
- package/dist/node/hooks/useGetSchema.stories.js.map +0 -1
- package/dist/node/hooks/useGetSchema.stories.mjs +0 -63
- package/dist/node/hooks/useGetSchema.stories.mjs.map +0 -1
- package/dist/node/hooks/useSchemaDefinitions.mjs +0 -25
- package/dist/node/hooks/useSchemaList.mjs +0 -47
- package/dist/node/hooks/useSchemaStats.mjs +0 -49
- package/dist/node/index.mjs +0 -4
- package/dist/node/index.mjs.map +0 -1
package/dist/node/index.js
CHANGED
|
@@ -1,27 +1,335 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
// src/components/Property/SchemaProperty.tsx
|
|
2
|
+
import { NewReleases as NewReleasesIcon, OpenInNew as OpenInNewIcon, Verified as VerifiedIcon } from "@mui/icons-material";
|
|
3
|
+
import { IconButton } from "@mui/material";
|
|
4
|
+
import { useAsyncEffect } from "@xylabs/react-async-effect";
|
|
5
|
+
import { LinkEx } from "@xylabs/react-link";
|
|
6
|
+
import { useEvent } from "@xyo-network/react-event";
|
|
7
|
+
import { Property, PropertyValue } from "@xyo-network/react-property";
|
|
8
|
+
import { SchemaCache } from "@xyo-network/schema-cache";
|
|
9
|
+
import { forwardRef, useState } from "react";
|
|
10
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
11
|
+
var useResolveSchema = (schema) => {
|
|
12
|
+
const [entry, setEntry] = useState();
|
|
13
|
+
useAsyncEffect(
|
|
14
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
15
|
+
async (mounted) => {
|
|
16
|
+
if (schema) {
|
|
17
|
+
const entry2 = await SchemaCache.instance.get(schema);
|
|
18
|
+
if (mounted()) {
|
|
19
|
+
setEntry(entry2);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
[schema]
|
|
24
|
+
);
|
|
25
|
+
return entry;
|
|
26
|
+
};
|
|
27
|
+
var SchemaProperty = forwardRef(
|
|
28
|
+
({ showLinkNames = true, showOpenNewWindowLink = true, showStatusIcon = true, titleProps, value, ...props }, forwardedRef) => {
|
|
29
|
+
var _a;
|
|
30
|
+
const resolvedSchema = useResolveSchema(value);
|
|
31
|
+
const [buttonRef, buttonDispatch] = useEvent(void 0);
|
|
32
|
+
const [divRef, divDispatch] = useEvent(void 0);
|
|
33
|
+
const onClick = (dispatch, openNewWindow = false) => {
|
|
34
|
+
dispatch == null ? void 0 : dispatch(
|
|
35
|
+
"schema",
|
|
36
|
+
"click",
|
|
37
|
+
JSON.stringify({
|
|
38
|
+
openNewWindow,
|
|
39
|
+
schema: value
|
|
40
|
+
})
|
|
41
|
+
);
|
|
42
|
+
};
|
|
43
|
+
return /* @__PURE__ */ jsxs(Property, { ref: forwardedRef, title: "Schema", value, tip: "Schema sent with the payload", titleProps, ...props, children: [
|
|
44
|
+
value && showStatusIcon ? resolvedSchema === null ? /* @__PURE__ */ jsx(IconButton, { ref: buttonRef, size: "small", onClick: () => onClick(buttonDispatch), children: /* @__PURE__ */ jsx(NewReleasesIcon, { color: "warning", fontSize: "inherit" }) }) : resolvedSchema === void 0 ? /* @__PURE__ */ jsx(IconButton, { ref: buttonRef, size: "small", onClick: () => onClick(buttonDispatch), children: /* @__PURE__ */ jsx(NewReleasesIcon, { color: "disabled", fontSize: "inherit" }) }) : /* @__PURE__ */ jsx(IconButton, { rel: "noopener noreferrer", size: "small", target: "_blank", href: ((_a = resolvedSchema == null ? void 0 : resolvedSchema.huri) == null ? void 0 : _a.href) ?? "", children: /* @__PURE__ */ jsx(VerifiedIcon, { color: "success", fontSize: "inherit" }) }) : null,
|
|
45
|
+
value ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
46
|
+
showLinkNames ? /* @__PURE__ */ jsx(LinkEx, { display: "block", width: "100%", sx: { cursor: "pointer" }, children: /* @__PURE__ */ jsx(PropertyValue, { ref: divRef, value, title: "view schema", onClick: () => onClick(divDispatch) }) }) : /* @__PURE__ */ jsx(PropertyValue, { ref: divRef, value, title: "view schema", onClick: () => onClick(divDispatch) }),
|
|
47
|
+
showOpenNewWindowLink ? /* @__PURE__ */ jsx(IconButton, { ref: buttonRef, size: "small", onClick: () => onClick(buttonDispatch, true), children: /* @__PURE__ */ jsx(OpenInNewIcon, { fontSize: "inherit" }) }) : null
|
|
48
|
+
] }) : null
|
|
49
|
+
] });
|
|
11
50
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
51
|
+
);
|
|
52
|
+
SchemaProperty.displayName = "SchemaProperty";
|
|
53
|
+
|
|
54
|
+
// src/components/SelectEx/SchemaSelectEx.tsx
|
|
55
|
+
import { MenuItem, Typography } from "@mui/material";
|
|
56
|
+
import { SelectEx } from "@xylabs/react-select";
|
|
57
|
+
|
|
58
|
+
// src/contexts/Schema/Context.ts
|
|
59
|
+
import { createContextEx } from "@xyo-network/react-shared";
|
|
60
|
+
var SchemaContext = createContextEx();
|
|
61
|
+
|
|
62
|
+
// src/contexts/Schema/Provider/Memory.tsx
|
|
63
|
+
import { compact } from "@xylabs/lodash";
|
|
64
|
+
import { useEffect as useEffect2, useState as useState6 } from "react";
|
|
65
|
+
|
|
66
|
+
// src/hooks/useGetSchema.tsx
|
|
67
|
+
import { useAsyncEffect as useAsyncEffect2 } from "@xylabs/react-async-effect";
|
|
68
|
+
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
69
|
+
import { ModuleErrorSchema } from "@xyo-network/payload-model";
|
|
70
|
+
import { SchemaCache as SchemaCache2 } from "@xyo-network/schema-cache";
|
|
71
|
+
import { useState as useState2 } from "react";
|
|
72
|
+
var useGetSchemaPayload = (schema) => {
|
|
73
|
+
const [notFound, setNotFound] = useState2(false);
|
|
74
|
+
const [xyoError, setError] = useState2();
|
|
75
|
+
const [schemaCacheEntry, setSchemaCacheEntry] = useState2();
|
|
76
|
+
const [schemaLocal, setSchemaLocal] = useState2();
|
|
77
|
+
useAsyncEffect2(
|
|
78
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
79
|
+
async (mounted) => {
|
|
80
|
+
const firstRequest = !notFound && !schemaCacheEntry && !xyoError;
|
|
81
|
+
const schemaChanged = schema !== schemaLocal;
|
|
82
|
+
if (schema && firstRequest || schema && schemaChanged) {
|
|
83
|
+
try {
|
|
84
|
+
const schemaCacheEntry2 = await SchemaCache2.instance.get(schema);
|
|
85
|
+
if (mounted()) {
|
|
86
|
+
setSchemaCacheEntry(schemaCacheEntry2);
|
|
87
|
+
setNotFound(schemaCacheEntry2 === null || schemaCacheEntry2 === void 0);
|
|
88
|
+
}
|
|
89
|
+
} catch (e) {
|
|
90
|
+
const error = e;
|
|
91
|
+
console.error(e);
|
|
92
|
+
if (mounted()) {
|
|
93
|
+
setError({ message: error.message, schema: ModuleErrorSchema, sources: [] });
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if (schemaChanged) {
|
|
98
|
+
setSchemaLocal(schema);
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
[xyoError, notFound, schema, schemaLocal, schemaCacheEntry]
|
|
102
|
+
);
|
|
103
|
+
return {
|
|
104
|
+
notFound,
|
|
105
|
+
schemaHuri: schemaCacheEntry == null ? void 0 : schemaCacheEntry.huri,
|
|
106
|
+
schemaPayload: schemaCacheEntry ? new PayloadBuilder(schemaCacheEntry == null ? void 0 : schemaCacheEntry.payload).fields(schemaCacheEntry.payload).build() : schemaCacheEntry,
|
|
107
|
+
xyoError
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
// src/hooks/useSchemaDefinitions.tsx
|
|
112
|
+
import { useAsyncEffect as useAsyncEffect3 } from "@xylabs/react-async-effect";
|
|
113
|
+
import { SchemaCache as SchemaCache3 } from "@xyo-network/schema-cache";
|
|
114
|
+
import { useState as useState3 } from "react";
|
|
115
|
+
var useSchemaDefinitions = (schemaList) => {
|
|
116
|
+
const [schemaPayloads, setSchemaPayloads] = useState3();
|
|
117
|
+
useAsyncEffect3(
|
|
118
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
119
|
+
async (mounted) => {
|
|
120
|
+
if (schemaList) {
|
|
121
|
+
const promiseResults = await Promise.allSettled(schemaList == null ? void 0 : schemaList.map(({ name }) => SchemaCache3.instance.get(name)));
|
|
122
|
+
if (mounted()) {
|
|
123
|
+
setSchemaPayloads(
|
|
124
|
+
promiseResults.map((result) => {
|
|
125
|
+
var _a;
|
|
126
|
+
return result.status === "fulfilled" ? (_a = result.value) == null ? void 0 : _a.payload : void 0;
|
|
127
|
+
}).filter((item) => item !== void 0 && item !== null)
|
|
128
|
+
);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
[schemaList]
|
|
133
|
+
);
|
|
134
|
+
return schemaPayloads;
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
// src/hooks/useSchemaList.tsx
|
|
138
|
+
import { useAsyncEffect as useAsyncEffect4 } from "@xylabs/react-async-effect";
|
|
139
|
+
import { SchemaListQuerySchema } from "@xyo-network/diviner-schema-list-model";
|
|
140
|
+
import { useDivinerFromNode } from "@xyo-network/react-diviner";
|
|
141
|
+
import { useEffect, useMemo, useState as useState4 } from "react";
|
|
142
|
+
var useSchemaList = (address, nameOrAddress = "SchemaListDiviner") => {
|
|
143
|
+
const [schemaList, setSchemaList] = useState4();
|
|
144
|
+
const [error, setError] = useState4();
|
|
145
|
+
const [diviner, divinerError] = useDivinerFromNode(nameOrAddress);
|
|
146
|
+
const query = useMemo(
|
|
147
|
+
() => address ? [
|
|
148
|
+
{
|
|
149
|
+
address,
|
|
150
|
+
schema: SchemaListQuerySchema
|
|
151
|
+
}
|
|
152
|
+
] : void 0,
|
|
153
|
+
[address]
|
|
154
|
+
);
|
|
155
|
+
useEffect(() => {
|
|
156
|
+
if (diviner === null) {
|
|
157
|
+
setSchemaList(null);
|
|
158
|
+
setError(void 0);
|
|
159
|
+
}
|
|
160
|
+
}, [diviner]);
|
|
161
|
+
useAsyncEffect4(
|
|
162
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps, require-await
|
|
163
|
+
async (mounted) => {
|
|
164
|
+
if (diviner) {
|
|
165
|
+
try {
|
|
166
|
+
const response = await diviner.divine(query);
|
|
167
|
+
if (mounted()) {
|
|
168
|
+
setSchemaList(response == null ? void 0 : response[0]);
|
|
169
|
+
setError(void 0);
|
|
170
|
+
}
|
|
171
|
+
} catch (e) {
|
|
172
|
+
setError(e);
|
|
173
|
+
setSchemaList(void 0);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
[diviner, divinerError, query]
|
|
178
|
+
);
|
|
179
|
+
return [schemaList, error];
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
// src/hooks/useSchemaStats.tsx
|
|
183
|
+
import { useAsyncEffect as useAsyncEffect5 } from "@xylabs/react-async-effect";
|
|
184
|
+
import { isSchemaStatsPayload, SchemaStatsQuerySchema } from "@xyo-network/diviner-schema-stats-model";
|
|
185
|
+
import { TYPES } from "@xyo-network/node-core-types";
|
|
186
|
+
import { useDivinerFromNode as useDivinerFromNode2 } from "@xyo-network/react-diviner";
|
|
187
|
+
import { useMemo as useMemo2, useState as useState5 } from "react";
|
|
188
|
+
var useSchemaStats = (statsAddress, nameOrAddress = TYPES.SchemaStatsDiviner.description) => {
|
|
189
|
+
const [refresh, setRefresh] = useState5(1);
|
|
190
|
+
const [diviner, divinerError] = useDivinerFromNode2(nameOrAddress);
|
|
191
|
+
const [error, setError] = useState5();
|
|
192
|
+
const refreshHistory = () => setRefresh((previous) => previous + 1);
|
|
193
|
+
const [schemaList, setSchemaList] = useState5();
|
|
194
|
+
const query = useMemo2(
|
|
195
|
+
() => ({
|
|
196
|
+
address: statsAddress,
|
|
197
|
+
schema: SchemaStatsQuerySchema
|
|
198
|
+
}),
|
|
199
|
+
[statsAddress]
|
|
200
|
+
);
|
|
201
|
+
useAsyncEffect5(
|
|
202
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
203
|
+
async (mounted) => {
|
|
204
|
+
if (diviner) {
|
|
205
|
+
if (divinerError) {
|
|
206
|
+
if (mounted()) {
|
|
207
|
+
setError(divinerError);
|
|
208
|
+
setSchemaList(void 0);
|
|
209
|
+
}
|
|
210
|
+
} else {
|
|
211
|
+
try {
|
|
212
|
+
const schemas = (await diviner.divine([query])).filter(isSchemaStatsPayload);
|
|
213
|
+
if (mounted()) {
|
|
214
|
+
setSchemaList(schemas);
|
|
215
|
+
setError(void 0);
|
|
216
|
+
}
|
|
217
|
+
} catch (ex) {
|
|
218
|
+
setError(ex);
|
|
219
|
+
setSchemaList(void 0);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
[diviner, refresh, divinerError, query]
|
|
225
|
+
);
|
|
226
|
+
return [schemaList, error, refreshHistory];
|
|
227
|
+
};
|
|
228
|
+
|
|
229
|
+
// src/contexts/Schema/Provider/Memory.tsx
|
|
230
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
231
|
+
var SchemaMemoryProvider = ({ defaultSchema, knownSchemaList = [], ...props }) => {
|
|
232
|
+
const [schema, setSchema] = useState6(defaultSchema);
|
|
233
|
+
const [schemaList, setSchemaList] = useState6(knownSchemaList);
|
|
234
|
+
const [fetchedSchemaStats] = useSchemaStats();
|
|
235
|
+
useEffect2(() => {
|
|
236
|
+
if (fetchedSchemaStats) {
|
|
237
|
+
const schemaList2 = compact(fetchedSchemaStats.map(({ name }) => name));
|
|
238
|
+
setSchemaList(schemaList2);
|
|
239
|
+
}
|
|
240
|
+
}, [fetchedSchemaStats]);
|
|
241
|
+
return /* @__PURE__ */ jsx2(SchemaContext.Provider, { value: { provided: true, schema, schemaList: knownSchemaList ?? schemaList, setSchema, setSchemaList }, ...props });
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
// src/contexts/Schema/Provider/Route.tsx
|
|
245
|
+
import { useCallback, useEffect as useEffect3 } from "react";
|
|
246
|
+
import { useSearchParams } from "react-router-dom";
|
|
247
|
+
|
|
248
|
+
// src/contexts/Schema/use.ts
|
|
249
|
+
import { useContextEx } from "@xyo-network/react-shared";
|
|
250
|
+
var useSchema = (required = false) => {
|
|
251
|
+
return useContextEx(SchemaContext, "Schema", required);
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
// src/contexts/Schema/Provider/Route.tsx
|
|
255
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
256
|
+
var SchemaRouteProviderInner = ({ children }) => {
|
|
257
|
+
const { schema, setSchema, schemaList } = useSchema();
|
|
258
|
+
const [params, setParams] = useSearchParams();
|
|
259
|
+
const routeSchema = params.get("schema");
|
|
260
|
+
const setSchemaParam = useCallback(
|
|
261
|
+
(schema2) => {
|
|
262
|
+
if (schema2) {
|
|
263
|
+
params.set("schema", schema2);
|
|
264
|
+
setParams(params, { replace: true });
|
|
265
|
+
setSchema == null ? void 0 : setSchema(schema2);
|
|
266
|
+
} else {
|
|
267
|
+
params.delete("network");
|
|
268
|
+
}
|
|
269
|
+
},
|
|
270
|
+
[params, setParams, setSchema]
|
|
271
|
+
);
|
|
272
|
+
const setSchemaLocal = useCallback(
|
|
273
|
+
(schema2) => {
|
|
274
|
+
setSchemaParam(schema2);
|
|
275
|
+
setSchema == null ? void 0 : setSchema(schema2);
|
|
276
|
+
},
|
|
277
|
+
[setSchemaParam, setSchema]
|
|
278
|
+
);
|
|
279
|
+
useEffect3(() => {
|
|
280
|
+
if (routeSchema !== schema) {
|
|
281
|
+
if (routeSchema === void 0 && schema !== void 0) {
|
|
282
|
+
setSchemaLocal(schema);
|
|
283
|
+
} else if (routeSchema) {
|
|
284
|
+
setSchema == null ? void 0 : setSchema(routeSchema);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}, [routeSchema, schema, setSchemaParam, setSchema, setSchemaLocal]);
|
|
288
|
+
return /* @__PURE__ */ jsx3(SchemaContext.Provider, { value: { provided: true, schema, schemaList, setSchema: setSchemaLocal }, children });
|
|
289
|
+
};
|
|
290
|
+
var SchemaRouteProvider = ({ knownSchemaList, defaultSchema, ...props }) => {
|
|
291
|
+
return /* @__PURE__ */ jsx3(SchemaMemoryProvider, { knownSchemaList, defaultSchema, children: /* @__PURE__ */ jsx3(SchemaRouteProviderInner, { ...props }) });
|
|
292
|
+
};
|
|
293
|
+
|
|
294
|
+
// src/components/SelectEx/SchemaSelectEx.tsx
|
|
295
|
+
import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
296
|
+
var SchemaSelectEx = ({ onChange, ...props }) => {
|
|
297
|
+
const { schema, setSchema, schemaList } = useSchema(false);
|
|
298
|
+
return /* @__PURE__ */ jsxs2(
|
|
299
|
+
SelectEx,
|
|
300
|
+
{
|
|
301
|
+
variant: "outlined",
|
|
302
|
+
size: "small",
|
|
303
|
+
value: schema ?? "none",
|
|
304
|
+
onChange: (event, child) => {
|
|
305
|
+
if (event.target.value !== schema) {
|
|
306
|
+
onChange == null ? void 0 : onChange(event, child);
|
|
307
|
+
setSchema == null ? void 0 : setSchema(event.target.value);
|
|
308
|
+
}
|
|
309
|
+
},
|
|
310
|
+
renderValue: (value) => {
|
|
311
|
+
return /* @__PURE__ */ jsx4(Typography, { children: value === "none" ? "- None -" : value });
|
|
312
|
+
},
|
|
313
|
+
...props,
|
|
314
|
+
children: [
|
|
315
|
+
schemaList == null ? void 0 : schemaList.map((schema2, index) => {
|
|
316
|
+
return /* @__PURE__ */ jsx4(MenuItem, { value: schema2, children: schema2 }, index);
|
|
317
|
+
}),
|
|
318
|
+
/* @__PURE__ */ jsx4(MenuItem, { value: "none", children: "- None -" }, "none")
|
|
319
|
+
]
|
|
320
|
+
}
|
|
321
|
+
);
|
|
322
|
+
};
|
|
323
|
+
export {
|
|
324
|
+
SchemaContext,
|
|
325
|
+
SchemaMemoryProvider,
|
|
326
|
+
SchemaProperty,
|
|
327
|
+
SchemaRouteProvider,
|
|
328
|
+
SchemaSelectEx,
|
|
329
|
+
useGetSchemaPayload,
|
|
330
|
+
useSchema,
|
|
331
|
+
useSchemaDefinitions,
|
|
332
|
+
useSchemaList,
|
|
333
|
+
useSchemaStats
|
|
334
|
+
};
|
|
27
335
|
//# sourceMappingURL=index.js.map
|
package/dist/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './components'\nexport * from './contexts'\nexport * from './hooks'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,yBAAd;AACA,wBAAc,uBADd;AAEA,wBAAc,oBAFd;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/components/Property/SchemaProperty.tsx","../../src/components/SelectEx/SchemaSelectEx.tsx","../../src/contexts/Schema/Context.ts","../../src/contexts/Schema/Provider/Memory.tsx","../../src/hooks/useGetSchema.tsx","../../src/hooks/useSchemaDefinitions.tsx","../../src/hooks/useSchemaList.tsx","../../src/hooks/useSchemaStats.tsx","../../src/contexts/Schema/Provider/Route.tsx","../../src/contexts/Schema/use.ts"],"sourcesContent":["import { NewReleases as NewReleasesIcon, OpenInNew as OpenInNewIcon, Verified as VerifiedIcon } from '@mui/icons-material'\nimport { IconButton } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { LinkEx } from '@xylabs/react-link'\nimport { EventDispatch, EventNoun, useEvent } from '@xyo-network/react-event'\nimport { Property, PropertyProps, PropertyValue } from '@xyo-network/react-property'\nimport { SchemaCache, SchemaCacheEntry } from '@xyo-network/schema-cache'\nimport { forwardRef, useState } from 'react'\n\nexport type SchemaPropertyProps = PropertyProps & {\n showLinkNames?: boolean\n showOpenNewWindowLink?: boolean\n showStatusIcon?: boolean\n value?: string\n}\n\nconst useResolveSchema = (schema?: string) => {\n const [entry, setEntry] = useState<SchemaCacheEntry | null>()\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n if (schema) {\n const entry = await SchemaCache.instance.get(schema)\n if (mounted()) {\n setEntry(entry)\n }\n }\n },\n [schema],\n )\n return entry\n}\n\nexport const SchemaProperty = forwardRef<HTMLDivElement, SchemaPropertyProps>(\n ({ showLinkNames = true, showOpenNewWindowLink = true, showStatusIcon = true, titleProps, value, ...props }, forwardedRef) => {\n const resolvedSchema = useResolveSchema(value)\n const [buttonRef, buttonDispatch] = useEvent<HTMLButtonElement>(undefined)\n const [divRef, divDispatch] = useEvent<HTMLDivElement>(undefined)\n\n const onClick = (dispatch?: EventDispatch<EventNoun, 'click', string>, openNewWindow = false) => {\n dispatch?.(\n 'schema',\n 'click',\n JSON.stringify({\n openNewWindow,\n schema: value,\n }),\n )\n }\n\n return (\n <Property ref={forwardedRef} title=\"Schema\" value={value} tip=\"Schema sent with the payload\" titleProps={titleProps} {...props}>\n {value && showStatusIcon ? (\n resolvedSchema === null ? (\n <IconButton ref={buttonRef} size=\"small\" onClick={() => onClick(buttonDispatch)}>\n <NewReleasesIcon color=\"warning\" fontSize=\"inherit\" />\n </IconButton>\n ) : resolvedSchema === undefined ? (\n <IconButton ref={buttonRef} size=\"small\" onClick={() => onClick(buttonDispatch)}>\n <NewReleasesIcon color=\"disabled\" fontSize=\"inherit\" />\n </IconButton>\n ) : (\n <IconButton rel=\"noopener noreferrer\" size=\"small\" target=\"_blank\" href={resolvedSchema?.huri?.href ?? ''}>\n <VerifiedIcon color=\"success\" fontSize=\"inherit\" />\n </IconButton>\n )\n ) : null}\n {value ? (\n <>\n {showLinkNames ? (\n <LinkEx display=\"block\" width=\"100%\" sx={{ cursor: 'pointer' }}>\n <PropertyValue ref={divRef} value={value} title=\"view schema\" onClick={() => onClick(divDispatch)} />\n </LinkEx>\n ) : (\n <PropertyValue ref={divRef} value={value} title=\"view schema\" onClick={() => onClick(divDispatch)} />\n )}\n {showOpenNewWindowLink ? (\n <IconButton ref={buttonRef} size=\"small\" onClick={() => onClick(buttonDispatch, true)}>\n <OpenInNewIcon fontSize=\"inherit\" />\n </IconButton>\n ) : null}\n </>\n ) : null}\n </Property>\n )\n },\n)\n\nSchemaProperty.displayName = 'SchemaProperty'\n","import { MenuItem, Typography } from '@mui/material'\nimport { SelectEx, SelectExProps } from '@xylabs/react-select'\n\nimport { useSchema } from '../../contexts'\n\nexport type SchemaSelectExProps = SelectExProps<string>\n\nexport const SchemaSelectEx: React.FC<SchemaSelectExProps> = ({ onChange, ...props }) => {\n const { schema, setSchema, schemaList } = useSchema(false)\n\n return (\n <SelectEx\n variant=\"outlined\"\n size=\"small\"\n value={schema ?? 'none'}\n onChange={(event, child) => {\n if (event.target.value !== schema) {\n onChange?.(event, child)\n setSchema?.(event.target.value)\n }\n }}\n renderValue={(value) => {\n return <Typography>{value === 'none' ? '- None -' : value}</Typography>\n }}\n {...props}\n >\n {schemaList?.map((schema, index) => {\n return (\n <MenuItem key={index} value={schema}>\n {schema}\n </MenuItem>\n )\n })}\n <MenuItem key=\"none\" value=\"none\">\n - None -\n </MenuItem>\n </SelectEx>\n )\n}\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 { 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","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":["entry","useEffect","useState","useAsyncEffect","SchemaCache","useState","schemaCacheEntry","useAsyncEffect","SchemaCache","useState","useAsyncEffect","useState","useAsyncEffect","useDivinerFromNode","useMemo","useState","jsx","useState","useEffect","schemaList","useEffect","jsx","schema","useEffect","jsx","jsxs","schema"]}
|
package/package.json
CHANGED
|
@@ -10,34 +10,34 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@xylabs/lodash": "^2.
|
|
14
|
-
"@xylabs/react-async-effect": "^3.
|
|
15
|
-
"@xylabs/react-link": "^3.
|
|
16
|
-
"@xylabs/react-select": "^3.
|
|
17
|
-
"@xylabs/react-shared": "^3.
|
|
18
|
-
"@xyo-network/diviner-schema-list-model": "^2.
|
|
19
|
-
"@xyo-network/diviner-schema-stats-model": "^2.
|
|
20
|
-
"@xyo-network/node-core-types": "^2.
|
|
21
|
-
"@xyo-network/payload-builder": "^2.
|
|
22
|
-
"@xyo-network/payload-model": "^2.
|
|
23
|
-
"@xyo-network/react-diviner": "~2.64.
|
|
24
|
-
"@xyo-network/react-event": "~2.64.
|
|
25
|
-
"@xyo-network/react-property": "~2.64.
|
|
26
|
-
"@xyo-network/react-shared": "~2.64.
|
|
27
|
-
"@xyo-network/schema-cache": "^2.
|
|
28
|
-
"@xyo-network/schema-payload-plugin": "^2.
|
|
13
|
+
"@xylabs/lodash": "^2.12.14",
|
|
14
|
+
"@xylabs/react-async-effect": "^3.0.6",
|
|
15
|
+
"@xylabs/react-link": "^3.0.6",
|
|
16
|
+
"@xylabs/react-select": "^3.0.6",
|
|
17
|
+
"@xylabs/react-shared": "^3.0.6",
|
|
18
|
+
"@xyo-network/diviner-schema-list-model": "^2.75.4",
|
|
19
|
+
"@xyo-network/diviner-schema-stats-model": "^2.75.4",
|
|
20
|
+
"@xyo-network/node-core-types": "^2.75.4",
|
|
21
|
+
"@xyo-network/payload-builder": "^2.75.4",
|
|
22
|
+
"@xyo-network/payload-model": "^2.75.4",
|
|
23
|
+
"@xyo-network/react-diviner": "~2.64.1",
|
|
24
|
+
"@xyo-network/react-event": "~2.64.1",
|
|
25
|
+
"@xyo-network/react-property": "~2.64.1",
|
|
26
|
+
"@xyo-network/react-shared": "~2.64.1",
|
|
27
|
+
"@xyo-network/schema-cache": "^2.75.4",
|
|
28
|
+
"@xyo-network/schema-payload-plugin": "^2.75.4"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@storybook/react": "^7.4.
|
|
32
|
-
"@xylabs/react-flexbox": "^3.
|
|
33
|
-
"@xylabs/ts-scripts-yarn3": "^3.0.
|
|
34
|
-
"@xylabs/tsconfig-react": "^3.0.
|
|
35
|
-
"@xyo-network/http-bridge": "^2.
|
|
36
|
-
"@xyo-network/node-memory": "^2.
|
|
37
|
-
"@xyo-network/node-model": "^2.
|
|
38
|
-
"@xyo-network/react-node": "~2.64.
|
|
39
|
-
"@xyo-network/react-storybook": "~2.64.
|
|
40
|
-
"@xyo-network/react-wallet": "~2.64.
|
|
31
|
+
"@storybook/react": "^7.4.5",
|
|
32
|
+
"@xylabs/react-flexbox": "^3.0.6",
|
|
33
|
+
"@xylabs/ts-scripts-yarn3": "^3.0.79",
|
|
34
|
+
"@xylabs/tsconfig-react": "^3.0.79",
|
|
35
|
+
"@xyo-network/http-bridge": "^2.75.4",
|
|
36
|
+
"@xyo-network/node-memory": "^2.75.4",
|
|
37
|
+
"@xyo-network/node-model": "^2.75.4",
|
|
38
|
+
"@xyo-network/react-node": "~2.64.1",
|
|
39
|
+
"@xyo-network/react-storybook": "~2.64.1",
|
|
40
|
+
"@xyo-network/react-wallet": "~2.64.1",
|
|
41
41
|
"react-json-view": "^1.21.3",
|
|
42
42
|
"typescript": "^5.2.2"
|
|
43
43
|
},
|
|
@@ -57,28 +57,28 @@
|
|
|
57
57
|
"node": {
|
|
58
58
|
"import": {
|
|
59
59
|
"types": "./dist/node/index.d.mts",
|
|
60
|
-
"default": "./dist/node/index.
|
|
60
|
+
"default": "./dist/node/index.js"
|
|
61
61
|
},
|
|
62
62
|
"require": {
|
|
63
|
-
"types": "./dist/node/index.d.
|
|
64
|
-
"default": "./dist/node/index.
|
|
63
|
+
"types": "./dist/node/index.d.cts",
|
|
64
|
+
"default": "./dist/node/index.cjs"
|
|
65
65
|
}
|
|
66
66
|
},
|
|
67
67
|
"browser": {
|
|
68
68
|
"import": {
|
|
69
|
-
"types": "./dist/browser/index.d.
|
|
69
|
+
"types": "./dist/browser/index.d.mts",
|
|
70
70
|
"default": "./dist/browser/index.js"
|
|
71
71
|
},
|
|
72
72
|
"require": {
|
|
73
|
-
"types": "./dist/browser/index.d.
|
|
74
|
-
"default": "./dist/browser/index.
|
|
73
|
+
"types": "./dist/browser/index.d.cts",
|
|
74
|
+
"default": "./dist/browser/index.cjs"
|
|
75
75
|
}
|
|
76
76
|
},
|
|
77
|
-
"default": "./dist/browser/index.
|
|
77
|
+
"default": "./dist/browser/index.js"
|
|
78
78
|
},
|
|
79
79
|
"./package.json": "./package.json"
|
|
80
80
|
},
|
|
81
|
-
"main": "dist/browser/index.
|
|
81
|
+
"main": "dist/browser/index.cjs",
|
|
82
82
|
"module": "dist/browser/index.js",
|
|
83
83
|
"homepage": "https://xyo.network",
|
|
84
84
|
"keywords": [
|
|
@@ -101,6 +101,6 @@
|
|
|
101
101
|
},
|
|
102
102
|
"sideEffects": false,
|
|
103
103
|
"types": "dist/browser/index.d.ts",
|
|
104
|
-
"version": "2.64.
|
|
105
|
-
"
|
|
104
|
+
"version": "2.64.1",
|
|
105
|
+
"type": "module"
|
|
106
106
|
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useEvent } from "@xyo-network/react-event";
|
|
3
|
-
import { useAppThemeDecorator } from "@xyo-network/react-storybook";
|
|
4
|
-
import { SchemaProperty } from "./SchemaProperty";
|
|
5
|
-
const StorybookEntry = {
|
|
6
|
-
component: SchemaProperty,
|
|
7
|
-
decorators: [useAppThemeDecorator],
|
|
8
|
-
parameters: {
|
|
9
|
-
docs: {
|
|
10
|
-
page: null
|
|
11
|
-
}
|
|
12
|
-
},
|
|
13
|
-
title: "Schema/SchemaProperty"
|
|
14
|
-
};
|
|
15
|
-
const Template = (args) => {
|
|
16
|
-
const [ref] = useEvent((noun, verb, data) => {
|
|
17
|
-
console.log(`${noun}|${verb}|${data}`);
|
|
18
|
-
});
|
|
19
|
-
return /* @__PURE__ */ jsx("div", { ref, children: /* @__PURE__ */ jsx(SchemaProperty, { ...args }) });
|
|
20
|
-
};
|
|
21
|
-
const Default = Template.bind({});
|
|
22
|
-
Default.args = {};
|
|
23
|
-
const WithVerifiedValue = Template.bind({});
|
|
24
|
-
WithVerifiedValue.args = { value: "network.xyo.schema" };
|
|
25
|
-
const WithVerifiedValuePaper = Template.bind({});
|
|
26
|
-
WithVerifiedValuePaper.args = { paper: true, value: "network.xyo.schema" };
|
|
27
|
-
const WithUnverifiedValue = Template.bind({});
|
|
28
|
-
WithUnverifiedValue.args = { value: "network.xyo.blahblah" };
|
|
29
|
-
var SchemaProperty_stories_default = StorybookEntry;
|
|
30
|
-
export {
|
|
31
|
-
Default,
|
|
32
|
-
WithUnverifiedValue,
|
|
33
|
-
WithVerifiedValue,
|
|
34
|
-
WithVerifiedValuePaper,
|
|
35
|
-
SchemaProperty_stories_default as default
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=SchemaProperty.stories.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Property/SchemaProperty.stories.tsx"],"sourcesContent":["import { Meta, StoryFn } from '@storybook/react'\nimport { useEvent } from '@xyo-network/react-event'\nimport { useAppThemeDecorator } from '@xyo-network/react-storybook'\n\nimport { SchemaProperty, SchemaPropertyProps } from './SchemaProperty'\n\nconst StorybookEntry: Meta = {\n component: SchemaProperty,\n decorators: [useAppThemeDecorator],\n parameters: {\n docs: {\n page: null,\n },\n },\n title: 'Schema/SchemaProperty',\n}\n\nconst Template: StoryFn<typeof SchemaProperty> = (args: SchemaPropertyProps) => {\n const [ref] = useEvent<HTMLDivElement>((noun, verb, data) => {\n console.log(`${noun}|${verb}|${data}`)\n })\n return (\n <div ref={ref}>\n <SchemaProperty {...args} />\n </div>\n )\n}\n\nconst Default = Template.bind({})\nDefault.args = {}\n\nconst WithVerifiedValue = Template.bind({})\nWithVerifiedValue.args = { value: 'network.xyo.schema' }\n\nconst WithVerifiedValuePaper = Template.bind({})\nWithVerifiedValuePaper.args = { paper: true, value: 'network.xyo.schema' }\n\nconst WithUnverifiedValue = Template.bind({})\nWithUnverifiedValue.args = { value: 'network.xyo.blahblah' }\n\nexport { Default, WithUnverifiedValue, WithVerifiedValue, WithVerifiedValuePaper }\n\n// eslint-disable-next-line import/no-default-export\nexport default StorybookEntry\n"],"mappings":"AAuBM;AAtBN,SAAS,gBAAgB;AACzB,SAAS,4BAA4B;AAErC,SAAS,sBAA2C;AAEpD,MAAM,iBAAuB;AAAA,EAC3B,WAAW;AAAA,EACX,YAAY,CAAC,oBAAoB;AAAA,EACjC,YAAY;AAAA,IACV,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,OAAO;AACT;AAEA,MAAM,WAA2C,CAAC,SAA8B;AAC9E,QAAM,CAAC,GAAG,IAAI,SAAyB,CAAC,MAAM,MAAM,SAAS;AAC3D,YAAQ,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE;AAAA,EACvC,CAAC;AACD,SACE,oBAAC,SAAI,KACH,8BAAC,kBAAgB,GAAG,MAAM,GAC5B;AAEJ;AAEA,MAAM,UAAU,SAAS,KAAK,CAAC,CAAC;AAChC,QAAQ,OAAO,CAAC;AAEhB,MAAM,oBAAoB,SAAS,KAAK,CAAC,CAAC;AAC1C,kBAAkB,OAAO,EAAE,OAAO,qBAAqB;AAEvD,MAAM,yBAAyB,SAAS,KAAK,CAAC,CAAC;AAC/C,uBAAuB,OAAO,EAAE,OAAO,MAAM,OAAO,qBAAqB;AAEzE,MAAM,sBAAsB,SAAS,KAAK,CAAC,CAAC;AAC5C,oBAAoB,OAAO,EAAE,OAAO,uBAAuB;AAK3D,IAAO,iCAAQ;","names":[]}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Alert, Button, TextField, Typography } from "@mui/material";
|
|
3
|
-
import { useAsyncEffect } from "@xylabs/react-async-effect";
|
|
4
|
-
import { FlexGrowRow } from "@xylabs/react-flexbox";
|
|
5
|
-
import { HttpBridge, HttpBridgeConfigSchema } from "@xyo-network/http-bridge";
|
|
6
|
-
import { MemoryNode } from "@xyo-network/node-memory";
|
|
7
|
-
import { NodeConfigSchema } from "@xyo-network/node-model";
|
|
8
|
-
import { NodeProvider } from "@xyo-network/react-node";
|
|
9
|
-
import { DefaultSeedPhrase } from "@xyo-network/react-storybook";
|
|
10
|
-
import { useWallet, WalletProvider } from "@xyo-network/react-wallet";
|
|
11
|
-
import { SchemaCache } from "@xyo-network/schema-cache";
|
|
12
|
-
import { useState } from "react";
|
|
13
|
-
import { useSchemaDefinitions } from "../useSchemaDefinitions";
|
|
14
|
-
import { useSchemaList } from "../useSchemaList";
|
|
15
|
-
import { useSchemaStats } from "../useSchemaStats";
|
|
16
|
-
const apiConfig = { apiDomain: "https://api.archivist.xyo.network" };
|
|
17
|
-
const nodeUrl = "http://localhost:8080/node";
|
|
18
|
-
const MemoryNodeDecorator = (Story, args) => {
|
|
19
|
-
const [node, setNode] = useState();
|
|
20
|
-
useAsyncEffect(
|
|
21
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
22
|
-
async () => {
|
|
23
|
-
const node2 = await MemoryNode.create({ config: { schema: NodeConfigSchema } });
|
|
24
|
-
const bridge = await HttpBridge.create({ config: { nodeUrl, schema: HttpBridgeConfigSchema, security: { allowAnonymous: true } } });
|
|
25
|
-
await node2.register(bridge);
|
|
26
|
-
await node2.attach(bridge.address, true);
|
|
27
|
-
setNode(node2);
|
|
28
|
-
},
|
|
29
|
-
[]
|
|
30
|
-
);
|
|
31
|
-
const [wallet] = useWallet({ mnemonic: DefaultSeedPhrase });
|
|
32
|
-
return /* @__PURE__ */ jsx(WalletProvider, { rootWallet: wallet, children: /* @__PURE__ */ jsx(NodeProvider, { node, children: /* @__PURE__ */ jsx(Story, { ...args }) }) });
|
|
33
|
-
};
|
|
34
|
-
var TestSchemaHooks_stories_default = {
|
|
35
|
-
decorators: [MemoryNodeDecorator],
|
|
36
|
-
title: "schema/Hooks"
|
|
37
|
-
};
|
|
38
|
-
const Template = () => {
|
|
39
|
-
SchemaCache.instance.proxy = `${apiConfig.apiDomain}/domain`;
|
|
40
|
-
const [addressText, setAddressText] = useState("");
|
|
41
|
-
const [address, setAddress] = useState();
|
|
42
|
-
const [schemaStats, schemaStatsError] = useSchemaStats(address);
|
|
43
|
-
const [schemaList, schemaListError] = useSchemaList(address);
|
|
44
|
-
const mappedSchemaList = schemaList?.schemas?.map((name) => ({ name }));
|
|
45
|
-
const schemaDefinitions = useSchemaDefinitions(mappedSchemaList);
|
|
46
|
-
return /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", rowGap: "16px" }, children: [
|
|
47
|
-
schemaStatsError ? /* @__PURE__ */ jsx(Alert, { severity: "error", children: schemaStatsError.message ?? schemaListError?.message }) : null,
|
|
48
|
-
/* @__PURE__ */ jsxs(FlexGrowRow, { columnGap: 4, children: [
|
|
49
|
-
/* @__PURE__ */ jsx(TextField, { fullWidth: true, size: "small", value: address, label: "Address", onChange: (event) => setAddressText(event.target.value) }),
|
|
50
|
-
/* @__PURE__ */ jsx(Button, { variant: "contained", onClick: () => setAddress(addressText), sx: { whiteSpace: "nowrap" }, children: "Get Stats" })
|
|
51
|
-
] }),
|
|
52
|
-
/* @__PURE__ */ jsx(Typography, { variant: "h2", children: "Schema Stats" }),
|
|
53
|
-
/* @__PURE__ */ jsx("code", { children: /* @__PURE__ */ jsx("pre", { children: JSON.stringify(schemaStats, null, 2) }) }),
|
|
54
|
-
/* @__PURE__ */ jsx(Typography, { variant: "h2", children: "Schema List" }),
|
|
55
|
-
/* @__PURE__ */ jsx("code", { children: /* @__PURE__ */ jsx("pre", { children: JSON.stringify(schemaList, null, 2) }) }),
|
|
56
|
-
/* @__PURE__ */ jsx(Typography, { variant: "h2", children: "Schema Definitions" }),
|
|
57
|
-
/* @__PURE__ */ jsx("pre", { children: /* @__PURE__ */ jsx("code", { children: JSON.stringify(schemaDefinitions, null, 2) }) })
|
|
58
|
-
] });
|
|
59
|
-
};
|
|
60
|
-
const Default = Template.bind({});
|
|
61
|
-
export {
|
|
62
|
-
Default,
|
|
63
|
-
TestSchemaHooks_stories_default as default
|
|
64
|
-
};
|
|
65
|
-
//# sourceMappingURL=TestSchemaHooks.stories.js.map
|