@xyo-network/react-payload-plugin-resolver 7.4.2 → 7.5.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.
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { Payload } from '@xyo-network/payload-model';
|
|
1
|
+
import type { Payload, Schema } from '@xyo-network/payload-model';
|
|
2
2
|
import type { PayloadRenderPlugin } from '@xyo-network/react-payload-plugin';
|
|
3
3
|
export declare class PayloadRenderPluginResolver {
|
|
4
4
|
protected plugins: PayloadRenderPlugin[];
|
|
5
5
|
protected schemaDefaultPlugin: Map<string, PayloadRenderPlugin>;
|
|
6
6
|
list(payload?: Payload): PayloadRenderPlugin[];
|
|
7
|
-
register(plugin: PayloadRenderPlugin, defaultForSchema?:
|
|
7
|
+
register(plugin: PayloadRenderPlugin, defaultForSchema?: Schema[]): this;
|
|
8
8
|
resolve(payload: Payload): PayloadRenderPlugin | undefined;
|
|
9
9
|
}
|
|
10
10
|
//# sourceMappingURL=PayloadRenderPluginResolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PayloadRenderPluginResolver.d.ts","sourceRoot":"","sources":["../../src/PayloadRenderPluginResolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"PayloadRenderPluginResolver.d.ts","sourceRoot":"","sources":["../../src/PayloadRenderPluginResolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAE5E,qBAAa,2BAA2B;IACtC,SAAS,CAAC,OAAO,EAAE,mBAAmB,EAAE,CAAK;IAC7C,SAAS,CAAC,mBAAmB,mCAAyC;IAEtE,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO;IActB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE;IAUjE,OAAO,CAAC,OAAO,EAAE,OAAO;CAGzB"}
|
package/dist/browser/index.mjs
CHANGED
|
@@ -1,68 +1,59 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
|
|
1
4
|
// src/contexts/PayloadPluginResolver/Context.ts
|
|
2
5
|
import { createContextEx } from "@xylabs/react-shared";
|
|
3
6
|
var PayloadPluginResolverContext = createContextEx();
|
|
4
7
|
|
|
5
8
|
// src/contexts/PayloadPluginResolver/Provider.tsx
|
|
6
|
-
import { useMemo, useState } from "react";
|
|
7
|
-
|
|
8
|
-
var PayloadPluginResolverProvider = ({
|
|
9
|
-
resolver: resolverProp,
|
|
10
|
-
required = false,
|
|
11
|
-
children
|
|
12
|
-
}) => {
|
|
9
|
+
import React, { useMemo, useState } from "react";
|
|
10
|
+
var PayloadPluginResolverProvider = /* @__PURE__ */ __name(({ resolver: resolverProp, required = false, children }) => {
|
|
13
11
|
const [resolver, setResolver] = useState(resolverProp);
|
|
14
12
|
const value = useMemo(() => ({
|
|
15
13
|
provided: true,
|
|
16
14
|
resolver,
|
|
17
15
|
setResolver
|
|
18
|
-
}), [
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
};
|
|
16
|
+
}), [
|
|
17
|
+
resolver,
|
|
18
|
+
setResolver
|
|
19
|
+
]);
|
|
20
|
+
return /* @__PURE__ */ React.createElement(PayloadPluginResolverContext, {
|
|
21
|
+
value
|
|
22
|
+
}, resolver ? children : required ? null : children);
|
|
23
|
+
}, "PayloadPluginResolverProvider");
|
|
27
24
|
|
|
28
25
|
// src/contexts/PayloadPluginResolver/use.ts
|
|
29
26
|
import { useContextEx } from "@xylabs/react-shared";
|
|
30
|
-
var usePayloadPluginResolver = (required = false) => {
|
|
27
|
+
var usePayloadPluginResolver = /* @__PURE__ */ __name((required = false) => {
|
|
31
28
|
return useContextEx(PayloadPluginResolverContext, "PayloadPluginResolver", required);
|
|
32
|
-
};
|
|
29
|
+
}, "usePayloadPluginResolver");
|
|
33
30
|
|
|
34
31
|
// src/contexts/PayloadRenderPluginResolver/Context.ts
|
|
35
32
|
import { createContextEx as createContextEx2 } from "@xylabs/react-shared";
|
|
36
33
|
var PayloadRenderPluginResolverContext = createContextEx2();
|
|
37
34
|
|
|
38
35
|
// src/contexts/PayloadRenderPluginResolver/Provider.tsx
|
|
39
|
-
import { useMemo as useMemo2, useState as useState2 } from "react";
|
|
40
|
-
|
|
41
|
-
var PayloadRenderPluginResolverProvider = ({
|
|
42
|
-
resolver: resolverProp,
|
|
43
|
-
required = false,
|
|
44
|
-
children
|
|
45
|
-
}) => {
|
|
36
|
+
import React2, { useMemo as useMemo2, useState as useState2 } from "react";
|
|
37
|
+
var PayloadRenderPluginResolverProvider = /* @__PURE__ */ __name(({ resolver: resolverProp, required = false, children }) => {
|
|
46
38
|
const [resolver, setResolver] = useState2(resolverProp);
|
|
47
39
|
const value = useMemo2(() => ({
|
|
48
40
|
resolver,
|
|
49
41
|
provided: true,
|
|
50
42
|
setResolver
|
|
51
|
-
}), [
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
};
|
|
43
|
+
}), [
|
|
44
|
+
resolver,
|
|
45
|
+
setResolver
|
|
46
|
+
]);
|
|
47
|
+
return /* @__PURE__ */ React2.createElement(PayloadRenderPluginResolverContext, {
|
|
48
|
+
value
|
|
49
|
+
}, resolver ? children : required ? null : children);
|
|
50
|
+
}, "PayloadRenderPluginResolverProvider");
|
|
60
51
|
|
|
61
52
|
// src/contexts/PayloadRenderPluginResolver/use.ts
|
|
62
53
|
import { useContextEx as useContextEx2 } from "@xylabs/react-shared";
|
|
63
|
-
var usePayloadRenderPluginResolver = (required = false) => {
|
|
54
|
+
var usePayloadRenderPluginResolver = /* @__PURE__ */ __name((required = false) => {
|
|
64
55
|
return useContextEx2(PayloadRenderPluginResolverContext, "PayloadRenderPluginResolver", required);
|
|
65
|
-
};
|
|
56
|
+
}, "usePayloadRenderPluginResolver");
|
|
66
57
|
|
|
67
58
|
// src/contexts/PayloadSetPluginResolver/Context.ts
|
|
68
59
|
import { createContextEx as createContextEx3 } from "@xylabs/react-shared";
|
|
@@ -70,35 +61,30 @@ var PayloadSetPluginResolverContext = createContextEx3();
|
|
|
70
61
|
|
|
71
62
|
// src/contexts/PayloadSetPluginResolver/Provider.tsx
|
|
72
63
|
import { useResetState } from "@xylabs/react-hooks";
|
|
73
|
-
import
|
|
74
|
-
var PayloadSetPluginResolverProvider = ({
|
|
75
|
-
resolver: resolverProp,
|
|
76
|
-
required = false,
|
|
77
|
-
children
|
|
78
|
-
}) => {
|
|
64
|
+
import React3 from "react";
|
|
65
|
+
var PayloadSetPluginResolverProvider = /* @__PURE__ */ __name(({ resolver: resolverProp, required = false, children }) => {
|
|
79
66
|
const [resolver, setResolver] = useResetState(resolverProp);
|
|
80
|
-
return /* @__PURE__ */
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
resolver,
|
|
86
|
-
setResolver
|
|
87
|
-
},
|
|
88
|
-
children: resolver ? children : required ? null : children
|
|
67
|
+
return /* @__PURE__ */ React3.createElement(PayloadSetPluginResolverContext, {
|
|
68
|
+
value: {
|
|
69
|
+
provided: true,
|
|
70
|
+
resolver,
|
|
71
|
+
setResolver
|
|
89
72
|
}
|
|
90
|
-
);
|
|
91
|
-
};
|
|
73
|
+
}, resolver ? children : required ? null : children);
|
|
74
|
+
}, "PayloadSetPluginResolverProvider");
|
|
92
75
|
|
|
93
76
|
// src/contexts/PayloadSetPluginResolver/use.ts
|
|
94
77
|
import { useContextEx as useContextEx3 } from "@xylabs/react-shared";
|
|
95
|
-
var usePayloadSetPluginResolver = (required = false) => {
|
|
78
|
+
var usePayloadSetPluginResolver = /* @__PURE__ */ __name((required = false) => {
|
|
96
79
|
return useContextEx3(PayloadSetPluginResolverContext, "PayloadSetPluginResolver", required);
|
|
97
|
-
};
|
|
80
|
+
}, "usePayloadSetPluginResolver");
|
|
98
81
|
|
|
99
82
|
// src/PayloadRenderPluginResolver.ts
|
|
100
|
-
import { assertEx } from "@xylabs/
|
|
83
|
+
import { assertEx } from "@xylabs/sdk-js";
|
|
101
84
|
var PayloadRenderPluginResolver = class {
|
|
85
|
+
static {
|
|
86
|
+
__name(this, "PayloadRenderPluginResolver");
|
|
87
|
+
}
|
|
102
88
|
plugins = [];
|
|
103
89
|
schemaDefaultPlugin = /* @__PURE__ */ new Map();
|
|
104
90
|
list(payload) {
|
|
@@ -106,7 +92,9 @@ var PayloadRenderPluginResolver = class {
|
|
|
106
92
|
return this.plugins;
|
|
107
93
|
}
|
|
108
94
|
const defaultPlugin = this.schemaDefaultPlugin.get(payload.schema);
|
|
109
|
-
const result = defaultPlugin ? [
|
|
95
|
+
const result = defaultPlugin ? [
|
|
96
|
+
defaultPlugin
|
|
97
|
+
] : [];
|
|
110
98
|
for (const plugin of this.plugins) {
|
|
111
99
|
if (defaultPlugin !== plugin && plugin.canRender(payload)) {
|
|
112
100
|
result.push(plugin);
|
|
@@ -116,15 +104,18 @@ var PayloadRenderPluginResolver = class {
|
|
|
116
104
|
}
|
|
117
105
|
register(plugin, defaultForSchema) {
|
|
118
106
|
this.plugins.push(plugin);
|
|
119
|
-
if (defaultForSchema)
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
107
|
+
if (defaultForSchema) for (const schema of defaultForSchema) {
|
|
108
|
+
assertEx(plugin.canRender({
|
|
109
|
+
schema
|
|
110
|
+
}), () => "Default renderer must be able to render schema");
|
|
111
|
+
this.schemaDefaultPlugin.set(schema, plugin);
|
|
112
|
+
}
|
|
124
113
|
return this;
|
|
125
114
|
}
|
|
126
115
|
resolve(payload) {
|
|
127
|
-
return this.schemaDefaultPlugin.get(payload.schema) ?? [
|
|
116
|
+
return this.schemaDefaultPlugin.get(payload.schema) ?? [
|
|
117
|
+
...this.plugins.values()
|
|
118
|
+
].find((plugin) => plugin.canRender(payload));
|
|
128
119
|
}
|
|
129
120
|
};
|
|
130
121
|
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 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"]}
|
|
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 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/sdk-js'\nimport type { Payload, Schema } 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?: Schema[]) {\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"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/react-payload-plugin-resolver",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.5.1",
|
|
4
4
|
"description": "Common React library for all XYO projects that use React",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"xyo",
|
|
@@ -43,35 +43,37 @@
|
|
|
43
43
|
"src"
|
|
44
44
|
],
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@xylabs/
|
|
47
|
-
"@xylabs/react-
|
|
48
|
-
"@xylabs/
|
|
49
|
-
"@xyo-network/payload-model": "~5.2
|
|
50
|
-
"@xyo-network/payload-plugin": "~5.2
|
|
51
|
-
"@xyo-network/payloadset-plugin": "~5.2
|
|
52
|
-
"@xyo-network/react-payload-plugin": "
|
|
46
|
+
"@xylabs/react-hooks": "~7.1.12",
|
|
47
|
+
"@xylabs/react-shared": "~7.1.12",
|
|
48
|
+
"@xylabs/sdk-js": "~5.0.64",
|
|
49
|
+
"@xyo-network/payload-model": "~5.3.2",
|
|
50
|
+
"@xyo-network/payload-plugin": "~5.3.2",
|
|
51
|
+
"@xyo-network/payloadset-plugin": "~5.3.2",
|
|
52
|
+
"@xyo-network/react-payload-plugin": "7.5.1"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@emotion/react": "~11.14.0",
|
|
56
56
|
"@emotion/styled": "~11.14.1",
|
|
57
|
-
"@mui/icons-material": "~7.3.
|
|
58
|
-
"@mui/material": "~7.3.
|
|
59
|
-
"@types/react": "^19.2.
|
|
60
|
-
"@xylabs/ts-scripts-yarn3": "~7.2
|
|
61
|
-
"react": "^19.2.
|
|
62
|
-
"react-dom": "^19.2.
|
|
63
|
-
"react-router-dom": "^7.
|
|
64
|
-
"typescript": "^5.9.3"
|
|
57
|
+
"@mui/icons-material": "~7.3.7",
|
|
58
|
+
"@mui/material": "~7.3.7",
|
|
59
|
+
"@types/react": "^19.2.10",
|
|
60
|
+
"@xylabs/ts-scripts-yarn3": "~7.3.2",
|
|
61
|
+
"react": "^19.2.4",
|
|
62
|
+
"react-dom": "^19.2.4",
|
|
63
|
+
"react-router-dom": "^7.13.0",
|
|
64
|
+
"typescript": "^5.9.3",
|
|
65
|
+
"zod": "^4.3.6"
|
|
65
66
|
},
|
|
66
67
|
"peerDependencies": {
|
|
67
68
|
"@mui/icons-material": ">=6 <8",
|
|
68
69
|
"@mui/material": ">=6 <8",
|
|
69
70
|
"react": "^19",
|
|
70
71
|
"react-dom": "^19",
|
|
71
|
-
"react-router-dom": "^7"
|
|
72
|
+
"react-router-dom": "^7",
|
|
73
|
+
"zod": "^4"
|
|
72
74
|
},
|
|
73
75
|
"publishConfig": {
|
|
74
76
|
"access": "public"
|
|
75
77
|
},
|
|
76
78
|
"docs": "dist/docs.json"
|
|
77
|
-
}
|
|
79
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { assertEx } from '@xylabs/
|
|
2
|
-
import type { Payload } from '@xyo-network/payload-model'
|
|
1
|
+
import { assertEx } from '@xylabs/sdk-js'
|
|
2
|
+
import type { Payload, Schema } from '@xyo-network/payload-model'
|
|
3
3
|
import type { PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'
|
|
4
4
|
|
|
5
5
|
export class PayloadRenderPluginResolver {
|
|
@@ -20,7 +20,7 @@ export class PayloadRenderPluginResolver {
|
|
|
20
20
|
return result
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
register(plugin: PayloadRenderPlugin, defaultForSchema?:
|
|
23
|
+
register(plugin: PayloadRenderPlugin, defaultForSchema?: Schema[]) {
|
|
24
24
|
this.plugins.push(plugin)
|
|
25
25
|
if (defaultForSchema)
|
|
26
26
|
for (const schema of defaultForSchema) {
|