@xyo-network/react-payload-plugin-resolver 2.77.2 → 2.78.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,2 +1,143 @@
1
- import{createContextEx as i}from"@xyo-network/react-shared";var a=i();import{useState as d}from"react";import{jsx as u}from"react/jsx-runtime";var F=({resolver:r,required:o=!1,children:e})=>{let[t,l]=d(r);return u(a.Provider,{value:{provided:!0,resolver:t,setResolver:l},children:t?e:o?null:e})};import{useContextEx as v}from"@xyo-network/react-shared";var z=(r=!1)=>v(a,"PayloadPluginResolver",r);import{createContextEx as R}from"@xyo-network/react-shared";var s=R();import{useState as m}from"react";import{jsx as p}from"react/jsx-runtime";var J=({resolver:r,required:o=!1,children:e})=>{let[t,l]=m(r);return p(s.Provider,{value:{provided:!0,resolver:t,setResolver:l},children:t?e:o?null:e})};import{useContextEx as g}from"@xyo-network/react-shared";var Q=(r=!1)=>g(s,"PayloadRenderPluginResolver",r);import{createContextEx as x}from"@xyo-network/react-shared";var P=x();import{useEffect as f,useState as y}from"react";import{jsx as c}from"react/jsx-runtime";var Y=({resolver:r,required:o=!1,children:e})=>{let[t,l]=y(r);return f(()=>{l(r)},[r]),c(P.Provider,{value:{provided:!0,resolver:t,setResolver:l},children:t?e:o?null:e})};import{useContextEx as C}from"@xyo-network/react-shared";var ee=(r=!1)=>C(P,"PayloadSetPluginResolver",r);import{assertEx as S}from"@xylabs/assert";var n=class{plugins=[];schemaDefaultPlugin=new Map;list(o){if(!o)return this.plugins;let e=this.schemaDefaultPlugin.get(o.schema),t=e?[e]:[];return this.plugins.some(l=>{e!==l&&l.canRender(o)&&t.push(l)}),t}register(o,e){if(this.plugins.push(o),e)for(let t of e)S(o.canRender({schema:t}),()=>"Default renderer must be able to render schema"),this.schemaDefaultPlugin.set(t,o);return this}resolve(o){return this.schemaDefaultPlugin.get(o.schema)??[...this.plugins.values()].find(e=>e.canRender(o))}};export{a as PayloadPluginResolverContext,F as PayloadPluginResolverProvider,n as PayloadRenderPluginResolver,s as PayloadRenderPluginResolverContext,J as PayloadRenderPluginResolverProvider,P as PayloadSetPluginResolverContext,Y as PayloadSetPluginResolverProvider,z as usePayloadPluginResolver,Q as usePayloadRenderPluginResolver,ee as usePayloadSetPluginResolver};
1
+ // src/contexts/PayloadPluginResolver/Context.ts
2
+ import { createContextEx } from "@xyo-network/react-shared";
3
+ var PayloadPluginResolverContext = createContextEx();
4
+
5
+ // src/contexts/PayloadPluginResolver/Provider.tsx
6
+ import { useState } from "react";
7
+ import { jsx } from "react/jsx-runtime";
8
+ var PayloadPluginResolverProvider = ({
9
+ resolver: resolverProp,
10
+ required = false,
11
+ children
12
+ }) => {
13
+ const [resolver, setResolver] = useState(resolverProp);
14
+ return /* @__PURE__ */ jsx(
15
+ PayloadPluginResolverContext.Provider,
16
+ {
17
+ value: {
18
+ provided: true,
19
+ resolver,
20
+ setResolver
21
+ },
22
+ children: resolver ? children : required ? null : children
23
+ }
24
+ );
25
+ };
26
+
27
+ // src/contexts/PayloadPluginResolver/use.ts
28
+ import { useContextEx } from "@xyo-network/react-shared";
29
+ var usePayloadPluginResolver = (required = false) => {
30
+ return useContextEx(PayloadPluginResolverContext, "PayloadPluginResolver", required);
31
+ };
32
+
33
+ // src/contexts/PayloadRenderPluginResolver/Context.ts
34
+ import { createContextEx as createContextEx2 } from "@xyo-network/react-shared";
35
+ var PayloadRenderPluginResolverContext = createContextEx2();
36
+
37
+ // src/contexts/PayloadRenderPluginResolver/Provider.tsx
38
+ import { useState as useState2 } from "react";
39
+ import { jsx as jsx2 } from "react/jsx-runtime";
40
+ var PayloadRenderPluginResolverProvider = ({
41
+ resolver: resolverProp,
42
+ required = false,
43
+ children
44
+ }) => {
45
+ const [resolver, setResolver] = useState2(resolverProp);
46
+ return /* @__PURE__ */ jsx2(
47
+ PayloadRenderPluginResolverContext.Provider,
48
+ {
49
+ value: {
50
+ provided: true,
51
+ resolver,
52
+ setResolver
53
+ },
54
+ children: resolver ? children : required ? null : children
55
+ }
56
+ );
57
+ };
58
+
59
+ // src/contexts/PayloadRenderPluginResolver/use.ts
60
+ import { useContextEx as useContextEx2 } from "@xyo-network/react-shared";
61
+ var usePayloadRenderPluginResolver = (required = false) => {
62
+ return useContextEx2(PayloadRenderPluginResolverContext, "PayloadRenderPluginResolver", required);
63
+ };
64
+
65
+ // src/contexts/PayloadSetPluginResolver/Context.ts
66
+ import { createContextEx as createContextEx3 } from "@xyo-network/react-shared";
67
+ var PayloadSetPluginResolverContext = createContextEx3();
68
+
69
+ // src/contexts/PayloadSetPluginResolver/Provider.tsx
70
+ import { useEffect, useState as useState3 } from "react";
71
+ import { jsx as jsx3 } from "react/jsx-runtime";
72
+ var PayloadSetPluginResolverProvider = ({
73
+ resolver: resolverProp,
74
+ required = false,
75
+ children
76
+ }) => {
77
+ const [resolver, setResolver] = useState3(resolverProp);
78
+ useEffect(() => {
79
+ setResolver(resolverProp);
80
+ }, [resolverProp]);
81
+ return /* @__PURE__ */ jsx3(
82
+ PayloadSetPluginResolverContext.Provider,
83
+ {
84
+ value: {
85
+ provided: true,
86
+ resolver,
87
+ setResolver
88
+ },
89
+ children: resolver ? children : required ? null : children
90
+ }
91
+ );
92
+ };
93
+
94
+ // src/contexts/PayloadSetPluginResolver/use.ts
95
+ import { useContextEx as useContextEx3 } from "@xyo-network/react-shared";
96
+ var usePayloadSetPluginResolver = (required = false) => {
97
+ return useContextEx3(PayloadSetPluginResolverContext, "PayloadSetPluginResolver", required);
98
+ };
99
+
100
+ // src/PayloadRenderPluginResolver.ts
101
+ import { assertEx } from "@xylabs/assert";
102
+ var PayloadRenderPluginResolver = class {
103
+ plugins = [];
104
+ schemaDefaultPlugin = /* @__PURE__ */ new Map();
105
+ list(payload) {
106
+ if (!payload) {
107
+ return this.plugins;
108
+ }
109
+ const defaultPlugin = this.schemaDefaultPlugin.get(payload.schema);
110
+ const result = defaultPlugin ? [defaultPlugin] : [];
111
+ this.plugins.some((plugin) => {
112
+ if (defaultPlugin !== plugin && plugin.canRender(payload)) {
113
+ result.push(plugin);
114
+ }
115
+ });
116
+ return result;
117
+ }
118
+ register(plugin, defaultForSchema) {
119
+ this.plugins.push(plugin);
120
+ if (defaultForSchema)
121
+ for (const schema of defaultForSchema) {
122
+ assertEx(plugin.canRender({ schema }), () => "Default renderer must be able to render schema");
123
+ this.schemaDefaultPlugin.set(schema, plugin);
124
+ }
125
+ return this;
126
+ }
127
+ resolve(payload) {
128
+ return this.schemaDefaultPlugin.get(payload.schema) ?? [...this.plugins.values()].find((plugin) => plugin.canRender(payload));
129
+ }
130
+ };
131
+ export {
132
+ PayloadPluginResolverContext,
133
+ PayloadPluginResolverProvider,
134
+ PayloadRenderPluginResolver,
135
+ PayloadRenderPluginResolverContext,
136
+ PayloadRenderPluginResolverProvider,
137
+ PayloadSetPluginResolverContext,
138
+ PayloadSetPluginResolverProvider,
139
+ usePayloadPluginResolver,
140
+ usePayloadRenderPluginResolver,
141
+ usePayloadSetPluginResolver
142
+ };
2
143
  //# sourceMappingURL=index.js.map
@@ -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 '@xyo-network/react-shared'\n\nimport { PayloadPluginResolverState } from './State'\n\nconst PayloadPluginResolverContext = createContextEx<PayloadPluginResolverState>()\n\nexport { PayloadPluginResolverContext }\n","import { PayloadPluginResolver } from '@xyo-network/payload-plugin'\nimport { ContextExProviderProps } from '@xyo-network/react-shared'\nimport { useState } from 'react'\n\nimport { PayloadPluginResolverContext } from './Context'\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 return (\n <PayloadPluginResolverContext.Provider\n value={{\n provided: true,\n resolver,\n setResolver,\n }}\n >\n {resolver ?\n children\n : required ?\n null\n : children}\n </PayloadPluginResolverContext.Provider>\n )\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { PayloadPluginResolverContext } from './Context'\n\nexport const usePayloadPluginResolver = (required = false) => {\n return useContextEx(PayloadPluginResolverContext, 'PayloadPluginResolver', required)\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { PayloadRenderPluginResolverState } from './State'\n\nconst PayloadRenderPluginResolverContext = createContextEx<PayloadRenderPluginResolverState>()\n\nexport { PayloadRenderPluginResolverContext }\n","import { ContextExProviderProps } from '@xyo-network/react-shared'\nimport { useState } from 'react'\n\nimport { PayloadRenderPluginResolver } from '../../PayloadRenderPluginResolver'\nimport { PayloadRenderPluginResolverContext } from './Context'\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 return (\n <PayloadRenderPluginResolverContext.Provider\n value={{\n provided: true,\n resolver,\n setResolver,\n }}\n >\n {resolver ?\n children\n : required ?\n null\n : children}\n </PayloadRenderPluginResolverContext.Provider>\n )\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { PayloadRenderPluginResolverContext } from './Context'\n\nexport const usePayloadRenderPluginResolver = (required = false) => {\n return useContextEx(PayloadRenderPluginResolverContext, 'PayloadRenderPluginResolver', required)\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { PayloadSetPluginResolverState } from './State'\n\nconst PayloadSetPluginResolverContext = createContextEx<PayloadSetPluginResolverState>()\n\nexport { PayloadSetPluginResolverContext }\n","import { PayloadSetPluginResolver } from '@xyo-network/payloadset-plugin'\nimport { ContextExProviderProps } from '@xyo-network/react-shared'\nimport { useEffect, useState } from 'react'\n\nimport { PayloadSetPluginResolverContext } from './Context'\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] = useState<PayloadSetPluginResolver>(resolverProp)\n\n useEffect(() => {\n setResolver(resolverProp)\n }, [resolverProp])\n\n return (\n <PayloadSetPluginResolverContext.Provider\n value={{\n provided: true,\n resolver,\n setResolver,\n }}\n >\n {resolver ?\n children\n : required ?\n null\n : children}\n </PayloadSetPluginResolverContext.Provider>\n )\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { PayloadSetPluginResolverContext } from './Context'\n\nexport const usePayloadSetPluginResolver = (required = false) => {\n return useContextEx(PayloadSetPluginResolverContext, 'PayloadSetPluginResolver', required)\n}\n","import { assertEx } from '@xylabs/assert'\nimport { Payload } from '@xyo-network/payload-model'\nimport { 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 this.plugins.some((plugin) => {\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":"AAAA,OAAS,mBAAAA,MAAuB,4BAIhC,IAAMC,EAA+BD,EAA4C,ECFjF,OAAS,YAAAE,MAAgB,QAgBrB,cAAAC,MAAA,oBARG,IAAMC,EAA8E,CAAC,CAC1F,SAAUC,EACV,SAAAC,EAAW,GACX,SAAAC,CACF,IAAM,CACJ,GAAM,CAACC,EAAUC,CAAW,EAAIC,EAAgCL,CAAY,EAE5E,OACEF,EAACQ,EAA6B,SAA7B,CACC,MAAO,CACL,SAAU,GACV,SAAAH,EACA,YAAAC,CACF,EAEC,SAAAD,EACCD,EACAD,EACA,KACAC,EACJ,CAEJ,EChCA,OAAS,gBAAAK,MAAoB,4BAItB,IAAMC,EAA2B,CAACC,EAAW,KAC3CC,EAAaC,EAA8B,wBAAyBF,CAAQ,ECLrF,OAAS,mBAAAG,MAAuB,4BAIhC,IAAMC,EAAqCD,EAAkD,ECH7F,OAAS,YAAAE,MAAgB,QAiBrB,cAAAC,MAAA,oBARG,IAAMC,EAA0F,CAAC,CACtG,SAAUC,EACV,SAAAC,EAAW,GACX,SAAAC,CACF,IAAM,CACJ,GAAM,CAACC,EAAUC,CAAW,EAAIC,EAAsCL,CAAY,EAElF,OACEF,EAACQ,EAAmC,SAAnC,CACC,MAAO,CACL,SAAU,GACV,SAAAH,EACA,YAAAC,CACF,EAEC,SAAAD,EACCD,EACAD,EACA,KACAC,EACJ,CAEJ,EChCA,OAAS,gBAAAK,MAAoB,4BAItB,IAAMC,EAAiC,CAACC,EAAW,KACjDC,EAAaC,EAAoC,8BAA+BF,CAAQ,ECLjG,OAAS,mBAAAG,MAAuB,4BAIhC,IAAMC,EAAkCD,EAA+C,ECFvF,OAAS,aAAAE,EAAW,YAAAC,MAAgB,QAoBhC,cAAAC,MAAA,oBAZG,IAAMC,EAAoF,CAAC,CAChG,SAAUC,EACV,SAAAC,EAAW,GACX,SAAAC,CACF,IAAM,CACJ,GAAM,CAACC,EAAUC,CAAW,EAAIC,EAAmCL,CAAY,EAE/E,OAAAM,EAAU,IAAM,CACdF,EAAYJ,CAAY,CAC1B,EAAG,CAACA,CAAY,CAAC,EAGfF,EAACS,EAAgC,SAAhC,CACC,MAAO,CACL,SAAU,GACV,SAAAJ,EACA,YAAAC,CACF,EAEC,SAAAD,EACCD,EACAD,EACA,KACAC,EACJ,CAEJ,ECpCA,OAAS,gBAAAM,MAAoB,4BAItB,IAAMC,GAA8B,CAACC,EAAW,KAC9CC,EAAaC,EAAiC,2BAA4BF,CAAQ,ECL3F,OAAS,YAAAG,MAAgB,iBAIlB,IAAMC,EAAN,KAAkC,CAC7B,QAAiC,CAAC,EAClC,oBAAsB,IAAI,IAEpC,KAAKC,EAAmB,CACtB,GAAI,CAACA,EACH,OAAO,KAAK,QAEd,IAAMC,EAAgB,KAAK,oBAAoB,IAAID,EAAQ,MAAM,EAC3DE,EAASD,EAAgB,CAACA,CAAa,EAAI,CAAC,EAClD,YAAK,QAAQ,KAAME,GAAW,CACxBF,IAAkBE,GAAUA,EAAO,UAAUH,CAAO,GACtDE,EAAO,KAAKC,CAAM,CAEtB,CAAC,EACMD,CACT,CAEA,SAASC,EAA6BC,EAA6B,CAEjE,GADA,KAAK,QAAQ,KAAKD,CAAM,EACpBC,EACF,QAAWC,KAAUD,EACnBN,EAASK,EAAO,UAAU,CAAE,OAAAE,CAAO,CAAC,EAAG,IAAM,gDAAgD,EAC7F,KAAK,oBAAoB,IAAIA,EAAQF,CAAM,EAE/C,OAAO,IACT,CAEA,QAAQH,EAAkB,CACxB,OAAO,KAAK,oBAAoB,IAAIA,EAAQ,MAAM,GAAK,CAAC,GAAG,KAAK,QAAQ,OAAO,CAAC,EAAE,KAAMG,GAAWA,EAAO,UAAUH,CAAO,CAAC,CAC9H,CACF","names":["createContextEx","PayloadPluginResolverContext","useState","jsx","PayloadPluginResolverProvider","resolverProp","required","children","resolver","setResolver","useState","PayloadPluginResolverContext","useContextEx","usePayloadPluginResolver","required","useContextEx","PayloadPluginResolverContext","createContextEx","PayloadRenderPluginResolverContext","useState","jsx","PayloadRenderPluginResolverProvider","resolverProp","required","children","resolver","setResolver","useState","PayloadRenderPluginResolverContext","useContextEx","usePayloadRenderPluginResolver","required","useContextEx","PayloadRenderPluginResolverContext","createContextEx","PayloadSetPluginResolverContext","useEffect","useState","jsx","PayloadSetPluginResolverProvider","resolverProp","required","children","resolver","setResolver","useState","useEffect","PayloadSetPluginResolverContext","useContextEx","usePayloadSetPluginResolver","required","useContextEx","PayloadSetPluginResolverContext","assertEx","PayloadRenderPluginResolver","payload","defaultPlugin","result","plugin","defaultForSchema","schema"]}
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 '@xyo-network/react-shared'\n\nimport { PayloadPluginResolverState } from './State'\n\nconst PayloadPluginResolverContext = createContextEx<PayloadPluginResolverState>()\n\nexport { PayloadPluginResolverContext }\n","import { PayloadPluginResolver } from '@xyo-network/payload-plugin'\nimport { ContextExProviderProps } from '@xyo-network/react-shared'\nimport { useState } from 'react'\n\nimport { PayloadPluginResolverContext } from './Context'\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 return (\n <PayloadPluginResolverContext.Provider\n value={{\n provided: true,\n resolver,\n setResolver,\n }}\n >\n {resolver ?\n children\n : required ?\n null\n : children}\n </PayloadPluginResolverContext.Provider>\n )\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { PayloadPluginResolverContext } from './Context'\n\nexport const usePayloadPluginResolver = (required = false) => {\n return useContextEx(PayloadPluginResolverContext, 'PayloadPluginResolver', required)\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { PayloadRenderPluginResolverState } from './State'\n\nconst PayloadRenderPluginResolverContext = createContextEx<PayloadRenderPluginResolverState>()\n\nexport { PayloadRenderPluginResolverContext }\n","import { ContextExProviderProps } from '@xyo-network/react-shared'\nimport { useState } from 'react'\n\nimport { PayloadRenderPluginResolver } from '../../PayloadRenderPluginResolver'\nimport { PayloadRenderPluginResolverContext } from './Context'\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 return (\n <PayloadRenderPluginResolverContext.Provider\n value={{\n provided: true,\n resolver,\n setResolver,\n }}\n >\n {resolver ?\n children\n : required ?\n null\n : children}\n </PayloadRenderPluginResolverContext.Provider>\n )\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { PayloadRenderPluginResolverContext } from './Context'\n\nexport const usePayloadRenderPluginResolver = (required = false) => {\n return useContextEx(PayloadRenderPluginResolverContext, 'PayloadRenderPluginResolver', required)\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { PayloadSetPluginResolverState } from './State'\n\nconst PayloadSetPluginResolverContext = createContextEx<PayloadSetPluginResolverState>()\n\nexport { PayloadSetPluginResolverContext }\n","import { PayloadSetPluginResolver } from '@xyo-network/payloadset-plugin'\nimport { ContextExProviderProps } from '@xyo-network/react-shared'\nimport { useEffect, useState } from 'react'\n\nimport { PayloadSetPluginResolverContext } from './Context'\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] = useState<PayloadSetPluginResolver>(resolverProp)\n\n useEffect(() => {\n setResolver(resolverProp)\n }, [resolverProp])\n\n return (\n <PayloadSetPluginResolverContext.Provider\n value={{\n provided: true,\n resolver,\n setResolver,\n }}\n >\n {resolver ?\n children\n : required ?\n null\n : children}\n </PayloadSetPluginResolverContext.Provider>\n )\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { PayloadSetPluginResolverContext } from './Context'\n\nexport const usePayloadSetPluginResolver = (required = false) => {\n return useContextEx(PayloadSetPluginResolverContext, 'PayloadSetPluginResolver', required)\n}\n","import { assertEx } from '@xylabs/assert'\nimport { Payload } from '@xyo-network/payload-model'\nimport { 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 this.plugins.some((plugin) => {\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","useState","jsx","useState","useContextEx","useContextEx","createContextEx","useState","jsx","useState","useContextEx","useContextEx"]}
package/package.json CHANGED
@@ -10,12 +10,12 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/assert": "^3.5.1",
14
- "@xyo-network/payload-model": "^2.106.0",
15
- "@xyo-network/payload-plugin": "^2.106.0",
16
- "@xyo-network/payloadset-plugin": "^2.106.0",
17
- "@xyo-network/react-payload-plugin": "~2.77.2",
18
- "@xyo-network/react-shared": "~2.77.2"
13
+ "@xylabs/assert": "^3.5.2",
14
+ "@xyo-network/payload-model": "^2.107.6",
15
+ "@xyo-network/payload-plugin": "^2.107.6",
16
+ "@xyo-network/payloadset-plugin": "^2.107.6",
17
+ "@xyo-network/react-payload-plugin": "^2.78.1",
18
+ "@xyo-network/react-shared": "^2.78.1"
19
19
  },
20
20
  "peerDependencies": {
21
21
  "@emotion/react": "^11",
@@ -27,8 +27,8 @@
27
27
  "react-dom": "^18"
28
28
  },
29
29
  "devDependencies": {
30
- "@xylabs/ts-scripts-yarn3": "^3.11.7",
31
- "typescript": "^5.4.5"
30
+ "@xylabs/ts-scripts-yarn3": "^3.11.12",
31
+ "typescript": "^5.5.2"
32
32
  },
33
33
  "description": "Common React library for all XYO projects that use React",
34
34
  "docs": "dist/docs.json",
@@ -81,6 +81,6 @@
81
81
  },
82
82
  "sideEffects": false,
83
83
  "types": "dist/browser/index.d.ts",
84
- "version": "2.77.2",
84
+ "version": "2.78.1",
85
85
  "type": "module"
86
86
  }