@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?: string[]): this;
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;AACzD,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"}
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"}
@@ -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
- import { jsx } from "react/jsx-runtime";
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
- }), [resolver, setResolver]);
19
- return /* @__PURE__ */ jsx(
20
- PayloadPluginResolverContext,
21
- {
22
- value,
23
- children: resolver ? children : required ? null : children
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
- import { jsx as jsx2 } from "react/jsx-runtime";
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
- }), [resolver, setResolver]);
52
- return /* @__PURE__ */ jsx2(
53
- PayloadRenderPluginResolverContext,
54
- {
55
- value,
56
- children: resolver ? children : required ? null : children
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 { jsx as jsx3 } from "react/jsx-runtime";
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__ */ jsx3(
81
- PayloadSetPluginResolverContext,
82
- {
83
- value: {
84
- provided: true,
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/assert";
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 ? [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
- 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
- }
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) ?? [...this.plugins.values()].find((plugin) => plugin.canRender(payload));
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.4.2",
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/assert": "~5.0.50",
47
- "@xylabs/react-hooks": "~7.1.8",
48
- "@xylabs/react-shared": "~7.1.8",
49
- "@xyo-network/payload-model": "~5.2.17",
50
- "@xyo-network/payload-plugin": "~5.2.17",
51
- "@xyo-network/payloadset-plugin": "~5.2.17",
52
- "@xyo-network/react-payload-plugin": "^7.4.2"
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.6",
58
- "@mui/material": "~7.3.6",
59
- "@types/react": "^19.2.7",
60
- "@xylabs/ts-scripts-yarn3": "~7.2.8",
61
- "react": "^19.2.1",
62
- "react-dom": "^19.2.1",
63
- "react-router-dom": "^7.10.0",
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/assert'
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?: string[]) {
23
+ register(plugin: PayloadRenderPlugin, defaultForSchema?: Schema[]) {
24
24
  this.plugins.push(plugin)
25
25
  if (defaultForSchema)
26
26
  for (const schema of defaultForSchema) {