@xyo-network/react-payload-plugin-resolver 2.77.0 → 2.77.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 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../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":["export * from './contexts'\nexport * from './PayloadRenderPluginResolver'\n","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":["import_react_shared","import_react_shared","import_react","import_jsx_runtime","import_react_shared","import_react_shared","import_react","import_jsx_runtime","import_react_shared"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../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":["export * from './contexts'\nexport * from './PayloadRenderPluginResolver'\n","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":["src_exports","__export","PayloadPluginResolverContext","PayloadPluginResolverProvider","PayloadRenderPluginResolver","PayloadRenderPluginResolverContext","PayloadRenderPluginResolverProvider","PayloadSetPluginResolverContext","PayloadSetPluginResolverProvider","usePayloadPluginResolver","usePayloadRenderPluginResolver","usePayloadSetPluginResolver","__toCommonJS","import_react_shared","PayloadPluginResolverContext","import_react","import_jsx_runtime","PayloadPluginResolverProvider","resolverProp","required","children","resolver","setResolver","PayloadPluginResolverContext","import_react_shared","usePayloadPluginResolver","required","PayloadPluginResolverContext","import_react_shared","PayloadRenderPluginResolverContext","import_react","import_jsx_runtime","PayloadRenderPluginResolverProvider","resolverProp","required","children","resolver","setResolver","PayloadRenderPluginResolverContext","import_react_shared","usePayloadRenderPluginResolver","required","PayloadRenderPluginResolverContext","import_react_shared","PayloadSetPluginResolverContext","import_react","import_jsx_runtime","PayloadSetPluginResolverProvider","resolverProp","required","children","resolver","setResolver","PayloadSetPluginResolverContext","import_react_shared","usePayloadSetPluginResolver","required","PayloadSetPluginResolverContext","import_assert","PayloadRenderPluginResolver","payload","defaultPlugin","result","plugin","defaultForSchema","schema"]}
@@ -1,143 +1,2 @@
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
- };
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};
143
2
  //# 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":"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","names":["createContextEx","useState","jsx","useState","useContextEx","useContextEx","createContextEx","useState","jsx","useState","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 '@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,179 +1,2 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/index.ts
21
- var src_exports = {};
22
- __export(src_exports, {
23
- PayloadPluginResolverContext: () => PayloadPluginResolverContext,
24
- PayloadPluginResolverProvider: () => PayloadPluginResolverProvider,
25
- PayloadRenderPluginResolver: () => PayloadRenderPluginResolver,
26
- PayloadRenderPluginResolverContext: () => PayloadRenderPluginResolverContext,
27
- PayloadRenderPluginResolverProvider: () => PayloadRenderPluginResolverProvider,
28
- PayloadSetPluginResolverContext: () => PayloadSetPluginResolverContext,
29
- PayloadSetPluginResolverProvider: () => PayloadSetPluginResolverProvider,
30
- usePayloadPluginResolver: () => usePayloadPluginResolver,
31
- usePayloadRenderPluginResolver: () => usePayloadRenderPluginResolver,
32
- usePayloadSetPluginResolver: () => usePayloadSetPluginResolver
33
- });
34
- module.exports = __toCommonJS(src_exports);
35
-
36
- // src/contexts/PayloadPluginResolver/Context.ts
37
- var import_react_shared = require("@xyo-network/react-shared");
38
- var PayloadPluginResolverContext = (0, import_react_shared.createContextEx)();
39
-
40
- // src/contexts/PayloadPluginResolver/Provider.tsx
41
- var import_react = require("react");
42
- var import_jsx_runtime = require("react/jsx-runtime");
43
- var PayloadPluginResolverProvider = ({
44
- resolver: resolverProp,
45
- required = false,
46
- children
47
- }) => {
48
- const [resolver, setResolver] = (0, import_react.useState)(resolverProp);
49
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
50
- PayloadPluginResolverContext.Provider,
51
- {
52
- value: {
53
- provided: true,
54
- resolver,
55
- setResolver
56
- },
57
- children: resolver ? children : required ? null : children
58
- }
59
- );
60
- };
61
-
62
- // src/contexts/PayloadPluginResolver/use.ts
63
- var import_react_shared2 = require("@xyo-network/react-shared");
64
- var usePayloadPluginResolver = (required = false) => {
65
- return (0, import_react_shared2.useContextEx)(PayloadPluginResolverContext, "PayloadPluginResolver", required);
66
- };
67
-
68
- // src/contexts/PayloadRenderPluginResolver/Context.ts
69
- var import_react_shared3 = require("@xyo-network/react-shared");
70
- var PayloadRenderPluginResolverContext = (0, import_react_shared3.createContextEx)();
71
-
72
- // src/contexts/PayloadRenderPluginResolver/Provider.tsx
73
- var import_react2 = require("react");
74
- var import_jsx_runtime2 = require("react/jsx-runtime");
75
- var PayloadRenderPluginResolverProvider = ({
76
- resolver: resolverProp,
77
- required = false,
78
- children
79
- }) => {
80
- const [resolver, setResolver] = (0, import_react2.useState)(resolverProp);
81
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
82
- PayloadRenderPluginResolverContext.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/PayloadRenderPluginResolver/use.ts
95
- var import_react_shared4 = require("@xyo-network/react-shared");
96
- var usePayloadRenderPluginResolver = (required = false) => {
97
- return (0, import_react_shared4.useContextEx)(PayloadRenderPluginResolverContext, "PayloadRenderPluginResolver", required);
98
- };
99
-
100
- // src/contexts/PayloadSetPluginResolver/Context.ts
101
- var import_react_shared5 = require("@xyo-network/react-shared");
102
- var PayloadSetPluginResolverContext = (0, import_react_shared5.createContextEx)();
103
-
104
- // src/contexts/PayloadSetPluginResolver/Provider.tsx
105
- var import_react3 = require("react");
106
- var import_jsx_runtime3 = require("react/jsx-runtime");
107
- var PayloadSetPluginResolverProvider = ({
108
- resolver: resolverProp,
109
- required = false,
110
- children
111
- }) => {
112
- const [resolver, setResolver] = (0, import_react3.useState)(resolverProp);
113
- (0, import_react3.useEffect)(() => {
114
- setResolver(resolverProp);
115
- }, [resolverProp]);
116
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
117
- PayloadSetPluginResolverContext.Provider,
118
- {
119
- value: {
120
- provided: true,
121
- resolver,
122
- setResolver
123
- },
124
- children: resolver ? children : required ? null : children
125
- }
126
- );
127
- };
128
-
129
- // src/contexts/PayloadSetPluginResolver/use.ts
130
- var import_react_shared6 = require("@xyo-network/react-shared");
131
- var usePayloadSetPluginResolver = (required = false) => {
132
- return (0, import_react_shared6.useContextEx)(PayloadSetPluginResolverContext, "PayloadSetPluginResolver", required);
133
- };
134
-
135
- // src/PayloadRenderPluginResolver.ts
136
- var import_assert = require("@xylabs/assert");
137
- var PayloadRenderPluginResolver = class {
138
- plugins = [];
139
- schemaDefaultPlugin = /* @__PURE__ */ new Map();
140
- list(payload) {
141
- if (!payload) {
142
- return this.plugins;
143
- }
144
- const defaultPlugin = this.schemaDefaultPlugin.get(payload.schema);
145
- const result = defaultPlugin ? [defaultPlugin] : [];
146
- this.plugins.some((plugin) => {
147
- if (defaultPlugin !== plugin && plugin.canRender(payload)) {
148
- result.push(plugin);
149
- }
150
- });
151
- return result;
152
- }
153
- register(plugin, defaultForSchema) {
154
- this.plugins.push(plugin);
155
- if (defaultForSchema)
156
- for (const schema of defaultForSchema) {
157
- (0, import_assert.assertEx)(plugin.canRender({ schema }), () => "Default renderer must be able to render schema");
158
- this.schemaDefaultPlugin.set(schema, plugin);
159
- }
160
- return this;
161
- }
162
- resolve(payload) {
163
- return this.schemaDefaultPlugin.get(payload.schema) ?? [...this.plugins.values()].find((plugin) => plugin.canRender(payload));
164
- }
165
- };
166
- // Annotate the CommonJS export names for ESM import in node:
167
- 0 && (module.exports = {
168
- PayloadPluginResolverContext,
169
- PayloadPluginResolverProvider,
170
- PayloadRenderPluginResolver,
171
- PayloadRenderPluginResolverContext,
172
- PayloadRenderPluginResolverProvider,
173
- PayloadSetPluginResolverContext,
174
- PayloadSetPluginResolverProvider,
175
- usePayloadPluginResolver,
176
- usePayloadRenderPluginResolver,
177
- usePayloadSetPluginResolver
178
- });
1
+ "use strict";var i=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var D=Object.prototype.hasOwnProperty;var b=(o,e)=>{for(var r in e)i(o,r,{get:e[r],enumerable:!0})},F=(o,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of E(e))!D.call(o,l)&&l!==r&&i(o,l,{get:()=>e[l],enumerable:!(t=h(e,l))||t.enumerable});return o};var w=o=>F(i({},"__esModule",{value:!0}),o);var G={};b(G,{PayloadPluginResolverContext:()=>a,PayloadPluginResolverProvider:()=>M,PayloadRenderPluginResolver:()=>d,PayloadRenderPluginResolverContext:()=>s,PayloadRenderPluginResolverProvider:()=>q,PayloadSetPluginResolverContext:()=>P,PayloadSetPluginResolverProvider:()=>A,usePayloadPluginResolver:()=>k,usePayloadRenderPluginResolver:()=>z,usePayloadSetPluginResolver:()=>B});module.exports=w(G);var u=require("@xyo-network/react-shared"),a=(0,u.createContextEx)();var v=require("react");var R=require("react/jsx-runtime"),M=({resolver:o,required:e=!1,children:r})=>{let[t,l]=(0,v.useState)(o);return(0,R.jsx)(a.Provider,{value:{provided:!0,resolver:t,setResolver:l},children:t?r:e?null:r})};var m=require("@xyo-network/react-shared");var k=(o=!1)=>(0,m.useContextEx)(a,"PayloadPluginResolver",o);var p=require("@xyo-network/react-shared"),s=(0,p.createContextEx)();var g=require("react");var x=require("react/jsx-runtime"),q=({resolver:o,required:e=!1,children:r})=>{let[t,l]=(0,g.useState)(o);return(0,x.jsx)(s.Provider,{value:{provided:!0,resolver:t,setResolver:l},children:t?r:e?null:r})};var f=require("@xyo-network/react-shared");var z=(o=!1)=>(0,f.useContextEx)(s,"PayloadRenderPluginResolver",o);var y=require("@xyo-network/react-shared"),P=(0,y.createContextEx)();var n=require("react");var c=require("react/jsx-runtime"),A=({resolver:o,required:e=!1,children:r})=>{let[t,l]=(0,n.useState)(o);return(0,n.useEffect)(()=>{l(o)},[o]),(0,c.jsx)(P.Provider,{value:{provided:!0,resolver:t,setResolver:l},children:t?r:e?null:r})};var C=require("@xyo-network/react-shared");var B=(o=!1)=>(0,C.useContextEx)(P,"PayloadSetPluginResolver",o);var S=require("@xylabs/assert"),d=class{plugins=[];schemaDefaultPlugin=new Map;list(e){if(!e)return this.plugins;let r=this.schemaDefaultPlugin.get(e.schema),t=r?[r]:[];return this.plugins.some(l=>{r!==l&&l.canRender(e)&&t.push(l)}),t}register(e,r){if(this.plugins.push(e),r)for(let t of r)(0,S.assertEx)(e.canRender({schema:t}),()=>"Default renderer must be able to render schema"),this.schemaDefaultPlugin.set(t,e);return this}resolve(e){return this.schemaDefaultPlugin.get(e.schema)??[...this.plugins.values()].find(r=>r.canRender(e))}};0&&(module.exports={PayloadPluginResolverContext,PayloadPluginResolverProvider,PayloadRenderPluginResolver,PayloadRenderPluginResolverContext,PayloadRenderPluginResolverProvider,PayloadSetPluginResolverContext,PayloadSetPluginResolverProvider,usePayloadPluginResolver,usePayloadRenderPluginResolver,usePayloadSetPluginResolver});
179
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../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":["export * from './contexts'\nexport * from './PayloadRenderPluginResolver'\n","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":["import_react_shared","import_react_shared","import_react","import_jsx_runtime","import_react_shared","import_react_shared","import_react","import_jsx_runtime","import_react_shared"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../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":["export * from './contexts'\nexport * from './PayloadRenderPluginResolver'\n","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":["src_exports","__export","PayloadPluginResolverContext","PayloadPluginResolverProvider","PayloadRenderPluginResolver","PayloadRenderPluginResolverContext","PayloadRenderPluginResolverProvider","PayloadSetPluginResolverContext","PayloadSetPluginResolverProvider","usePayloadPluginResolver","usePayloadRenderPluginResolver","usePayloadSetPluginResolver","__toCommonJS","import_react_shared","PayloadPluginResolverContext","import_react","import_jsx_runtime","PayloadPluginResolverProvider","resolverProp","required","children","resolver","setResolver","PayloadPluginResolverContext","import_react_shared","usePayloadPluginResolver","required","PayloadPluginResolverContext","import_react_shared","PayloadRenderPluginResolverContext","import_react","import_jsx_runtime","PayloadRenderPluginResolverProvider","resolverProp","required","children","resolver","setResolver","PayloadRenderPluginResolverContext","import_react_shared","usePayloadRenderPluginResolver","required","PayloadRenderPluginResolverContext","import_react_shared","PayloadSetPluginResolverContext","import_react","import_jsx_runtime","PayloadSetPluginResolverProvider","resolverProp","required","children","resolver","setResolver","PayloadSetPluginResolverContext","import_react_shared","usePayloadSetPluginResolver","required","PayloadSetPluginResolverContext","import_assert","PayloadRenderPluginResolver","payload","defaultPlugin","result","plugin","defaultForSchema","schema"]}