@xyo-network/react-payload-plugin-resolver 7.0.0 → 7.0.2
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/index.mjs +62 -54
- package/dist/browser/index.mjs.map +1 -1
- package/package.json +21 -21
package/dist/browser/index.mjs
CHANGED
|
@@ -1,59 +1,68 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
1
|
// src/contexts/PayloadPluginResolver/Context.ts
|
|
5
2
|
import { createContextEx } from "@xylabs/react-shared";
|
|
6
3
|
var PayloadPluginResolverContext = createContextEx();
|
|
7
4
|
|
|
8
5
|
// src/contexts/PayloadPluginResolver/Provider.tsx
|
|
9
|
-
import
|
|
10
|
-
|
|
6
|
+
import { useMemo, useState } from "react";
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
var PayloadPluginResolverProvider = ({
|
|
9
|
+
resolver: resolverProp,
|
|
10
|
+
required = false,
|
|
11
|
+
children
|
|
12
|
+
}) => {
|
|
11
13
|
const [resolver, setResolver] = useState(resolverProp);
|
|
12
14
|
const value = useMemo(() => ({
|
|
13
15
|
provided: true,
|
|
14
16
|
resolver,
|
|
15
17
|
setResolver
|
|
16
|
-
}), [
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
}), [resolver, setResolver]);
|
|
19
|
+
return /* @__PURE__ */ jsx(
|
|
20
|
+
PayloadPluginResolverContext,
|
|
21
|
+
{
|
|
22
|
+
value,
|
|
23
|
+
children: resolver ? children : required ? null : children
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
};
|
|
24
27
|
|
|
25
28
|
// src/contexts/PayloadPluginResolver/use.ts
|
|
26
29
|
import { useContextEx } from "@xylabs/react-shared";
|
|
27
|
-
var usePayloadPluginResolver =
|
|
30
|
+
var usePayloadPluginResolver = (required = false) => {
|
|
28
31
|
return useContextEx(PayloadPluginResolverContext, "PayloadPluginResolver", required);
|
|
29
|
-
}
|
|
32
|
+
};
|
|
30
33
|
|
|
31
34
|
// src/contexts/PayloadRenderPluginResolver/Context.ts
|
|
32
35
|
import { createContextEx as createContextEx2 } from "@xylabs/react-shared";
|
|
33
36
|
var PayloadRenderPluginResolverContext = createContextEx2();
|
|
34
37
|
|
|
35
38
|
// src/contexts/PayloadRenderPluginResolver/Provider.tsx
|
|
36
|
-
import
|
|
37
|
-
|
|
39
|
+
import { useMemo as useMemo2, useState as useState2 } from "react";
|
|
40
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
41
|
+
var PayloadRenderPluginResolverProvider = ({
|
|
42
|
+
resolver: resolverProp,
|
|
43
|
+
required = false,
|
|
44
|
+
children
|
|
45
|
+
}) => {
|
|
38
46
|
const [resolver, setResolver] = useState2(resolverProp);
|
|
39
47
|
const value = useMemo2(() => ({
|
|
40
48
|
resolver,
|
|
41
49
|
provided: true,
|
|
42
50
|
setResolver
|
|
43
|
-
}), [
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
+
}), [resolver, setResolver]);
|
|
52
|
+
return /* @__PURE__ */ jsx2(
|
|
53
|
+
PayloadRenderPluginResolverContext,
|
|
54
|
+
{
|
|
55
|
+
value,
|
|
56
|
+
children: resolver ? children : required ? null : children
|
|
57
|
+
}
|
|
58
|
+
);
|
|
59
|
+
};
|
|
51
60
|
|
|
52
61
|
// src/contexts/PayloadRenderPluginResolver/use.ts
|
|
53
62
|
import { useContextEx as useContextEx2 } from "@xylabs/react-shared";
|
|
54
|
-
var usePayloadRenderPluginResolver =
|
|
63
|
+
var usePayloadRenderPluginResolver = (required = false) => {
|
|
55
64
|
return useContextEx2(PayloadRenderPluginResolverContext, "PayloadRenderPluginResolver", required);
|
|
56
|
-
}
|
|
65
|
+
};
|
|
57
66
|
|
|
58
67
|
// src/contexts/PayloadSetPluginResolver/Context.ts
|
|
59
68
|
import { createContextEx as createContextEx3 } from "@xylabs/react-shared";
|
|
@@ -61,31 +70,35 @@ var PayloadSetPluginResolverContext = createContextEx3();
|
|
|
61
70
|
|
|
62
71
|
// src/contexts/PayloadSetPluginResolver/Provider.tsx
|
|
63
72
|
import { useResetState } from "@xylabs/react-hooks";
|
|
64
|
-
import
|
|
65
|
-
var PayloadSetPluginResolverProvider =
|
|
73
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
74
|
+
var PayloadSetPluginResolverProvider = ({
|
|
75
|
+
resolver: resolverProp,
|
|
76
|
+
required = false,
|
|
77
|
+
children
|
|
78
|
+
}) => {
|
|
66
79
|
const [resolver, setResolver] = useResetState(resolverProp);
|
|
67
|
-
return /* @__PURE__ */
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
80
|
+
return /* @__PURE__ */ jsx3(
|
|
81
|
+
PayloadSetPluginResolverContext,
|
|
82
|
+
{
|
|
83
|
+
value: {
|
|
84
|
+
provided: true,
|
|
85
|
+
resolver,
|
|
86
|
+
setResolver
|
|
87
|
+
},
|
|
88
|
+
children: resolver ? children : required ? null : children
|
|
73
89
|
}
|
|
74
|
-
|
|
75
|
-
}
|
|
90
|
+
);
|
|
91
|
+
};
|
|
76
92
|
|
|
77
93
|
// src/contexts/PayloadSetPluginResolver/use.ts
|
|
78
94
|
import { useContextEx as useContextEx3 } from "@xylabs/react-shared";
|
|
79
|
-
var usePayloadSetPluginResolver =
|
|
95
|
+
var usePayloadSetPluginResolver = (required = false) => {
|
|
80
96
|
return useContextEx3(PayloadSetPluginResolverContext, "PayloadSetPluginResolver", required);
|
|
81
|
-
}
|
|
97
|
+
};
|
|
82
98
|
|
|
83
99
|
// src/PayloadRenderPluginResolver.ts
|
|
84
100
|
import { assertEx } from "@xylabs/assert";
|
|
85
101
|
var PayloadRenderPluginResolver = class {
|
|
86
|
-
static {
|
|
87
|
-
__name(this, "PayloadRenderPluginResolver");
|
|
88
|
-
}
|
|
89
102
|
plugins = [];
|
|
90
103
|
schemaDefaultPlugin = /* @__PURE__ */ new Map();
|
|
91
104
|
list(payload) {
|
|
@@ -93,9 +106,7 @@ var PayloadRenderPluginResolver = class {
|
|
|
93
106
|
return this.plugins;
|
|
94
107
|
}
|
|
95
108
|
const defaultPlugin = this.schemaDefaultPlugin.get(payload.schema);
|
|
96
|
-
const result = defaultPlugin ? [
|
|
97
|
-
defaultPlugin
|
|
98
|
-
] : [];
|
|
109
|
+
const result = defaultPlugin ? [defaultPlugin] : [];
|
|
99
110
|
for (const plugin of this.plugins) {
|
|
100
111
|
if (defaultPlugin !== plugin && plugin.canRender(payload)) {
|
|
101
112
|
result.push(plugin);
|
|
@@ -105,18 +116,15 @@ var PayloadRenderPluginResolver = class {
|
|
|
105
116
|
}
|
|
106
117
|
register(plugin, defaultForSchema) {
|
|
107
118
|
this.plugins.push(plugin);
|
|
108
|
-
if (defaultForSchema)
|
|
109
|
-
|
|
110
|
-
schema
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
}
|
|
119
|
+
if (defaultForSchema)
|
|
120
|
+
for (const schema of defaultForSchema) {
|
|
121
|
+
assertEx(plugin.canRender({ schema }), () => "Default renderer must be able to render schema");
|
|
122
|
+
this.schemaDefaultPlugin.set(schema, plugin);
|
|
123
|
+
}
|
|
114
124
|
return this;
|
|
115
125
|
}
|
|
116
126
|
resolve(payload) {
|
|
117
|
-
return this.schemaDefaultPlugin.get(payload.schema) ?? [
|
|
118
|
-
...this.plugins.values()
|
|
119
|
-
].find((plugin) => plugin.canRender(payload));
|
|
127
|
+
return this.schemaDefaultPlugin.get(payload.schema) ?? [...this.plugins.values()].find((plugin) => plugin.canRender(payload));
|
|
120
128
|
}
|
|
121
129
|
};
|
|
122
130
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/contexts/PayloadPluginResolver/Context.ts","../../src/contexts/PayloadPluginResolver/Provider.tsx","../../src/contexts/PayloadPluginResolver/use.ts","../../src/contexts/PayloadRenderPluginResolver/Context.ts","../../src/contexts/PayloadRenderPluginResolver/Provider.tsx","../../src/contexts/PayloadRenderPluginResolver/use.ts","../../src/contexts/PayloadSetPluginResolver/Context.ts","../../src/contexts/PayloadSetPluginResolver/Provider.tsx","../../src/contexts/PayloadSetPluginResolver/use.ts","../../src/PayloadRenderPluginResolver.ts"],"sourcesContent":["import { createContextEx } from '@xylabs/react-shared'\n\nimport type { PayloadPluginResolverState } from './State.ts'\n\nconst PayloadPluginResolverContext = createContextEx<PayloadPluginResolverState>()\n\nexport { PayloadPluginResolverContext }\n","import type { ContextExProviderProps } from '@xylabs/react-shared'\nimport type { PayloadPluginResolver } from '@xyo-network/payload-plugin'\nimport React, { useMemo, useState } from 'react'\n\nimport { PayloadPluginResolverContext } from './Context.ts'\nimport type { PayloadPluginResolverState } from './State.ts'\n\nexport type PayloadPluginResolverProviderProps = ContextExProviderProps<{\n resolver: PayloadPluginResolver\n}>\n\nexport const PayloadPluginResolverProvider: React.FC<PayloadPluginResolverProviderProps> = ({\n resolver: resolverProp,\n required = false,\n children,\n}) => {\n const [resolver, setResolver] = useState<PayloadPluginResolver>(resolverProp)\n\n const value: PayloadPluginResolverState = useMemo(() => ({\n provided: true, resolver, setResolver,\n }), [resolver, setResolver])\n\n return (\n <PayloadPluginResolverContext\n value={value}\n >\n {resolver\n ? children\n : required\n ? null\n : children}\n </PayloadPluginResolverContext>\n )\n}\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { PayloadPluginResolverContext } from './Context.ts'\n\nexport const usePayloadPluginResolver = (required = false) => {\n return useContextEx(PayloadPluginResolverContext, 'PayloadPluginResolver', required)\n}\n","import { createContextEx } from '@xylabs/react-shared'\n\nimport type { PayloadRenderPluginResolverState } from './State.ts'\n\nconst PayloadRenderPluginResolverContext = createContextEx<PayloadRenderPluginResolverState>()\n\nexport { PayloadRenderPluginResolverContext }\n","import type { ContextExProviderProps } from '@xylabs/react-shared'\nimport React, { useMemo, useState } from 'react'\n\nimport type { PayloadRenderPluginResolver } from '../../PayloadRenderPluginResolver.ts'\nimport { PayloadRenderPluginResolverContext } from './Context.ts'\nimport type { PayloadRenderPluginResolverState } from './State.ts'\n\nexport type PayloadRenderPluginResolverProviderProps = ContextExProviderProps<{\n resolver: PayloadRenderPluginResolver\n}>\n\nexport const PayloadRenderPluginResolverProvider: React.FC<PayloadRenderPluginResolverProviderProps> = ({\n resolver: resolverProp,\n required = false,\n children,\n}) => {\n const [resolver, setResolver] = useState<PayloadRenderPluginResolver>(resolverProp)\n\n const value: PayloadRenderPluginResolverState = useMemo(() => ({\n resolver, provided: true, setResolver,\n }), [resolver, setResolver])\n\n return (\n <PayloadRenderPluginResolverContext\n value={value}\n >\n {resolver\n ? children\n : required\n ? null\n : children}\n </PayloadRenderPluginResolverContext>\n )\n}\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { PayloadRenderPluginResolverContext } from './Context.ts'\n\nexport const usePayloadRenderPluginResolver = (required = false) => {\n return useContextEx(PayloadRenderPluginResolverContext, 'PayloadRenderPluginResolver', required)\n}\n","import { createContextEx } from '@xylabs/react-shared'\n\nimport type { PayloadSetPluginResolverState } from './State.ts'\n\nconst PayloadSetPluginResolverContext = createContextEx<PayloadSetPluginResolverState>()\n\nexport { PayloadSetPluginResolverContext }\n","import { useResetState } from '@xylabs/react-hooks'\nimport type { ContextExProviderProps } from '@xylabs/react-shared'\nimport type { PayloadSetPluginResolver } from '@xyo-network/payloadset-plugin'\nimport React from 'react'\n\nimport { PayloadSetPluginResolverContext } from './Context.ts'\n\nexport type PayloadSetPluginResolverProviderProps = ContextExProviderProps<{\n resolver: PayloadSetPluginResolver\n}>\n\nexport const PayloadSetPluginResolverProvider: React.FC<PayloadSetPluginResolverProviderProps> = ({\n resolver: resolverProp,\n required = false,\n children,\n}) => {\n const [resolver, setResolver] = useResetState<PayloadSetPluginResolver>(resolverProp)\n\n return (\n <PayloadSetPluginResolverContext\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n value={{\n provided: true,\n resolver,\n setResolver,\n }}\n >\n {resolver\n ? children\n : required\n ? null\n : children}\n </PayloadSetPluginResolverContext>\n )\n}\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { PayloadSetPluginResolverContext } from './Context.ts'\n\nexport const usePayloadSetPluginResolver = (required = false) => {\n return useContextEx(PayloadSetPluginResolverContext, 'PayloadSetPluginResolver', required)\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { Payload } from '@xyo-network/payload-model'\nimport type { PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\n\nexport class PayloadRenderPluginResolver {\n protected plugins: PayloadRenderPlugin[] = []\n protected schemaDefaultPlugin = new Map<string, PayloadRenderPlugin>()\n\n list(payload?: Payload) {\n if (!payload) {\n return this.plugins\n }\n const defaultPlugin = this.schemaDefaultPlugin.get(payload.schema)\n const result = defaultPlugin ? [defaultPlugin] : []\n for (const plugin of this.plugins) {\n if (defaultPlugin !== plugin && plugin.canRender(payload)) {\n result.push(plugin)\n }\n }\n return result\n }\n\n register(plugin: PayloadRenderPlugin, defaultForSchema?: string[]) {\n this.plugins.push(plugin)\n if (defaultForSchema)\n for (const schema of defaultForSchema) {\n assertEx(plugin.canRender({ schema }), () => 'Default renderer must be able to render schema')\n this.schemaDefaultPlugin.set(schema, plugin)\n }\n return this\n }\n\n resolve(payload: Payload) {\n return this.schemaDefaultPlugin.get(payload.schema) ?? [...this.plugins.values()].find(plugin => plugin.canRender(payload))\n }\n}\n"],"mappings":"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","names":["createContextEx","PayloadPluginResolverContext","React","useMemo","useState","PayloadPluginResolverProvider","resolver","resolverProp","required","children","setResolver","useState","value","useMemo","provided","PayloadPluginResolverContext","useContextEx","usePayloadPluginResolver","required","useContextEx","PayloadPluginResolverContext","createContextEx","PayloadRenderPluginResolverContext","React","useMemo","useState","PayloadRenderPluginResolverProvider","resolver","resolverProp","required","children","setResolver","useState","value","useMemo","provided","React","PayloadRenderPluginResolverContext","useContextEx","usePayloadRenderPluginResolver","required","useContextEx","PayloadRenderPluginResolverContext","createContextEx","PayloadSetPluginResolverContext","useResetState","React","PayloadSetPluginResolverProvider","resolver","resolverProp","required","children","setResolver","useResetState","React","PayloadSetPluginResolverContext","value","provided","useContextEx","usePayloadSetPluginResolver","required","useContextEx","PayloadSetPluginResolverContext","assertEx","PayloadRenderPluginResolver","plugins","schemaDefaultPlugin","Map","list","payload","defaultPlugin","get","schema","result","plugin","canRender","push","register","defaultForSchema","assertEx","set","resolve","values","find"]}
|
|
1
|
+
{"version":3,"sources":["../../src/contexts/PayloadPluginResolver/Context.ts","../../src/contexts/PayloadPluginResolver/Provider.tsx","../../src/contexts/PayloadPluginResolver/use.ts","../../src/contexts/PayloadRenderPluginResolver/Context.ts","../../src/contexts/PayloadRenderPluginResolver/Provider.tsx","../../src/contexts/PayloadRenderPluginResolver/use.ts","../../src/contexts/PayloadSetPluginResolver/Context.ts","../../src/contexts/PayloadSetPluginResolver/Provider.tsx","../../src/contexts/PayloadSetPluginResolver/use.ts","../../src/PayloadRenderPluginResolver.ts"],"sourcesContent":["import { createContextEx } from '@xylabs/react-shared'\n\nimport type { PayloadPluginResolverState } from './State.ts'\n\nconst PayloadPluginResolverContext = createContextEx<PayloadPluginResolverState>()\n\nexport { PayloadPluginResolverContext }\n","import type { ContextExProviderProps } from '@xylabs/react-shared'\nimport type { PayloadPluginResolver } from '@xyo-network/payload-plugin'\nimport React, { useMemo, useState } from 'react'\n\nimport { PayloadPluginResolverContext } from './Context.ts'\nimport type { PayloadPluginResolverState } from './State.ts'\n\nexport type PayloadPluginResolverProviderProps = ContextExProviderProps<{\n resolver: PayloadPluginResolver\n}>\n\nexport const PayloadPluginResolverProvider: React.FC<PayloadPluginResolverProviderProps> = ({\n resolver: resolverProp,\n required = false,\n children,\n}) => {\n const [resolver, setResolver] = useState<PayloadPluginResolver>(resolverProp)\n\n const value: PayloadPluginResolverState = useMemo(() => ({\n provided: true, resolver, setResolver,\n }), [resolver, setResolver])\n\n return (\n <PayloadPluginResolverContext\n value={value}\n >\n {resolver\n ? children\n : required\n ? null\n : children}\n </PayloadPluginResolverContext>\n )\n}\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { PayloadPluginResolverContext } from './Context.ts'\n\nexport const usePayloadPluginResolver = (required = false) => {\n return useContextEx(PayloadPluginResolverContext, 'PayloadPluginResolver', required)\n}\n","import { createContextEx } from '@xylabs/react-shared'\n\nimport type { PayloadRenderPluginResolverState } from './State.ts'\n\nconst PayloadRenderPluginResolverContext = createContextEx<PayloadRenderPluginResolverState>()\n\nexport { PayloadRenderPluginResolverContext }\n","import type { ContextExProviderProps } from '@xylabs/react-shared'\nimport React, { useMemo, useState } from 'react'\n\nimport type { PayloadRenderPluginResolver } from '../../PayloadRenderPluginResolver.ts'\nimport { PayloadRenderPluginResolverContext } from './Context.ts'\nimport type { PayloadRenderPluginResolverState } from './State.ts'\n\nexport type PayloadRenderPluginResolverProviderProps = ContextExProviderProps<{\n resolver: PayloadRenderPluginResolver\n}>\n\nexport const PayloadRenderPluginResolverProvider: React.FC<PayloadRenderPluginResolverProviderProps> = ({\n resolver: resolverProp,\n required = false,\n children,\n}) => {\n const [resolver, setResolver] = useState<PayloadRenderPluginResolver>(resolverProp)\n\n const value: PayloadRenderPluginResolverState = useMemo(() => ({\n resolver, provided: true, setResolver,\n }), [resolver, setResolver])\n\n return (\n <PayloadRenderPluginResolverContext\n value={value}\n >\n {resolver\n ? children\n : required\n ? null\n : children}\n </PayloadRenderPluginResolverContext>\n )\n}\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { PayloadRenderPluginResolverContext } from './Context.ts'\n\nexport const usePayloadRenderPluginResolver = (required = false) => {\n return useContextEx(PayloadRenderPluginResolverContext, 'PayloadRenderPluginResolver', required)\n}\n","import { createContextEx } from '@xylabs/react-shared'\n\nimport type { PayloadSetPluginResolverState } from './State.ts'\n\nconst PayloadSetPluginResolverContext = createContextEx<PayloadSetPluginResolverState>()\n\nexport { PayloadSetPluginResolverContext }\n","import { useResetState } from '@xylabs/react-hooks'\nimport type { ContextExProviderProps } from '@xylabs/react-shared'\nimport type { PayloadSetPluginResolver } from '@xyo-network/payloadset-plugin'\nimport React from 'react'\n\nimport { PayloadSetPluginResolverContext } from './Context.ts'\n\nexport type PayloadSetPluginResolverProviderProps = ContextExProviderProps<{\n resolver: PayloadSetPluginResolver\n}>\n\nexport const PayloadSetPluginResolverProvider: React.FC<PayloadSetPluginResolverProviderProps> = ({\n resolver: resolverProp,\n required = false,\n children,\n}) => {\n const [resolver, setResolver] = useResetState<PayloadSetPluginResolver>(resolverProp)\n\n return (\n <PayloadSetPluginResolverContext\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n value={{\n provided: true,\n resolver,\n setResolver,\n }}\n >\n {resolver\n ? children\n : required\n ? null\n : children}\n </PayloadSetPluginResolverContext>\n )\n}\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { PayloadSetPluginResolverContext } from './Context.ts'\n\nexport const usePayloadSetPluginResolver = (required = false) => {\n return useContextEx(PayloadSetPluginResolverContext, 'PayloadSetPluginResolver', required)\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { Payload } from '@xyo-network/payload-model'\nimport type { PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\n\nexport class PayloadRenderPluginResolver {\n protected plugins: PayloadRenderPlugin[] = []\n protected schemaDefaultPlugin = new Map<string, PayloadRenderPlugin>()\n\n list(payload?: Payload) {\n if (!payload) {\n return this.plugins\n }\n const defaultPlugin = this.schemaDefaultPlugin.get(payload.schema)\n const result = defaultPlugin ? [defaultPlugin] : []\n for (const plugin of this.plugins) {\n if (defaultPlugin !== plugin && plugin.canRender(payload)) {\n result.push(plugin)\n }\n }\n return result\n }\n\n register(plugin: PayloadRenderPlugin, defaultForSchema?: string[]) {\n this.plugins.push(plugin)\n if (defaultForSchema)\n for (const schema of defaultForSchema) {\n assertEx(plugin.canRender({ schema }), () => 'Default renderer must be able to render schema')\n this.schemaDefaultPlugin.set(schema, plugin)\n }\n return this\n }\n\n resolve(payload: Payload) {\n return this.schemaDefaultPlugin.get(payload.schema) ?? [...this.plugins.values()].find(plugin => plugin.canRender(payload))\n }\n}\n"],"mappings":"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","names":["createContextEx","useMemo","useState","jsx","useState","useMemo","useContextEx","useContextEx","createContextEx","jsx","useContextEx","useContextEx"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/react-payload-plugin-resolver",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.2",
|
|
4
4
|
"description": "Common React library for all XYO projects that use React",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"xyo",
|
|
@@ -43,32 +43,32 @@
|
|
|
43
43
|
"src"
|
|
44
44
|
],
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@xylabs/assert": "
|
|
47
|
-
"@xylabs/react-hooks": "
|
|
48
|
-
"@xylabs/react-shared": "
|
|
49
|
-
"@xyo-network/payload-model": "
|
|
50
|
-
"@xyo-network/payload-plugin": "
|
|
51
|
-
"@xyo-network/payloadset-plugin": "
|
|
52
|
-
"@xyo-network/react-payload-plugin": "^7.0.
|
|
46
|
+
"@xylabs/assert": "~5.0.11",
|
|
47
|
+
"@xylabs/react-hooks": "~7.0.4",
|
|
48
|
+
"@xylabs/react-shared": "~7.0.4",
|
|
49
|
+
"@xyo-network/payload-model": "~5.0.7",
|
|
50
|
+
"@xyo-network/payload-plugin": "~5.0.7",
|
|
51
|
+
"@xyo-network/payloadset-plugin": "~5.0.7",
|
|
52
|
+
"@xyo-network/react-payload-plugin": "^7.0.2"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@emotion/react": "
|
|
56
|
-
"@emotion/styled": "
|
|
57
|
-
"@mui/icons-material": "
|
|
58
|
-
"@mui/material": "
|
|
59
|
-
"@types/react": "
|
|
60
|
-
"@xylabs/ts-scripts-yarn3": "
|
|
61
|
-
"react": "
|
|
62
|
-
"react-dom": "
|
|
63
|
-
"react-router-dom": "
|
|
64
|
-
"typescript": "
|
|
55
|
+
"@emotion/react": "~11.14.0",
|
|
56
|
+
"@emotion/styled": "~11.14.1",
|
|
57
|
+
"@mui/icons-material": "~7.3.1",
|
|
58
|
+
"@mui/material": "~7.3.1",
|
|
59
|
+
"@types/react": "~19.1.11",
|
|
60
|
+
"@xylabs/ts-scripts-yarn3": "~7.1.7",
|
|
61
|
+
"react": "~19.1.1",
|
|
62
|
+
"react-dom": "~19.1.1",
|
|
63
|
+
"react-router-dom": "~7.8.2",
|
|
64
|
+
"typescript": "~5.9.2"
|
|
65
65
|
},
|
|
66
66
|
"peerDependencies": {
|
|
67
67
|
"@mui/icons-material": ">=6 <8",
|
|
68
68
|
"@mui/material": ">=6 <8",
|
|
69
|
-
"react": "
|
|
70
|
-
"react-dom": "
|
|
71
|
-
"react-router-dom": "
|
|
69
|
+
"react": "~19",
|
|
70
|
+
"react-dom": "~19",
|
|
71
|
+
"react-router-dom": "~7"
|
|
72
72
|
},
|
|
73
73
|
"publishConfig": {
|
|
74
74
|
"access": "public"
|