@theconcurrent/resource
Advanced tools
Comparing version 0.0.31 to 0.0.33
@@ -1,12 +0,12 @@ | ||
(function(g,l){typeof exports=="object"&&typeof module!="undefined"?l(exports,require("graphql"),require("@theconcurrent/utility"),require("@theconcurrent/query")):typeof define=="function"&&define.amd?define(["exports","graphql","@theconcurrent/utility","@theconcurrent/query"],l):(g=typeof globalThis!="undefined"?globalThis:g||self,l(g["@theconcurrent/resource"]={},g.graphql,g.utility,g.query))})(this,function(g,l,y,b){"use strict";function M(e){const{variableDefinitionObjects:r}=e;if(!r)return;const n=r.find(t=>t.name==="filter");if(n)return n}function W(e,r){return{...r,actions:r.actions.map(n=>{switch(n.action){case"list":return{...n,filter:M(n)};default:return n}})}}var E=function(){return E=Object.assign||function(r){for(var n,t=1,i=arguments.length;t<i;t++){n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(r[a]=n[a])}return r},E.apply(this,arguments)};typeof SuppressedError=="function"&&SuppressedError;var S=new Map,Q=new Map,x=!0,k=!1;function P(e){return e.replace(/[\s,]+/g," ").trim()}function A(e){return P(e.source.body.substring(e.start,e.end))}function G(e){var r=new Set,n=[];return e.definitions.forEach(function(t){if(t.kind==="FragmentDefinition"){var i=t.name.value,a=A(t.loc),s=Q.get(i);s&&!s.has(a)?x&&console.warn("Warning: fragment with name "+i+` already exists. | ||
(function(g,d){typeof exports=="object"&&typeof module!="undefined"?d(exports,require("graphql"),require("@theconcurrent/utility"),require("@theconcurrent/query")):typeof define=="function"&&define.amd?define(["exports","graphql","@theconcurrent/utility","@theconcurrent/query"],d):(g=typeof globalThis!="undefined"?globalThis:g||self,d(g["@theconcurrent/resource"]={},g.graphql,g.utility,g.query))})(this,function(g,d,y,b){"use strict";function M(e){const{variableDefinitionObjects:r}=e;if(!r)return;const n=r.find(t=>t.name==="filter");if(n)return n}function W(e,r){return{...r,actions:r.actions.map(n=>{switch(n.action){case"list":return{...n,filter:M(n)};default:return n}})}}var E=function(){return E=Object.assign||function(r){for(var n,t=1,i=arguments.length;t<i;t++){n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(r[a]=n[a])}return r},E.apply(this,arguments)};typeof SuppressedError=="function"&&SuppressedError;var S=new Map,Q=new Map,x=!0,k=!1;function P(e){return e.replace(/[\s,]+/g," ").trim()}function A(e){return P(e.source.body.substring(e.start,e.end))}function G(e){var r=new Set,n=[];return e.definitions.forEach(function(t){if(t.kind==="FragmentDefinition"){var i=t.name.value,a=A(t.loc),s=Q.get(i);s&&!s.has(a)?x&&console.warn("Warning: fragment with name "+i+` already exists. | ||
graphql-tag enforces all fragment names across your application to be unique; read more about | ||
this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names`):s||Q.set(i,s=new Set),s.add(a),r.has(a)||(r.add(a),n.push(t))}else n.push(t)}),E(E({},e),{definitions:n})}function z(e){var r=new Set(e.definitions);r.forEach(function(t){t.loc&&delete t.loc,Object.keys(t).forEach(function(i){var a=t[i];a&&typeof a=="object"&&r.add(a)})});var n=e.loc;return n&&(delete n.startToken,delete n.endToken),e}function H(e){var r=P(e);if(!S.has(r)){var n=l.parse(e,{experimentalFragmentVariables:k,allowLegacyFragmentVariables:k});if(!n||n.kind!=="Document")throw new Error("Not a valid GraphQL document.");S.set(r,z(G(n)))}return S.get(r)}function h(e){for(var r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];typeof e=="string"&&(e=[e]);var t=e[0];return r.forEach(function(i,a){i&&i.kind==="Document"?t+=i.loc.source.body:t+=i,t+=e[a+1]}),H(t)}function J(){S.clear(),Q.clear()}function X(){x=!1}function Y(){k=!0}function Z(){k=!1}var w={gql:h,resetCaches:J,disableFragmentWarnings:X,enableExperimentalFragmentVariables:Y,disableExperimentalFragmentVariables:Z};(function(e){e.gql=w.gql,e.resetCaches=w.resetCaches,e.disableFragmentWarnings=w.disableFragmentWarnings,e.enableExperimentalFragmentVariables=w.enableExperimentalFragmentVariables,e.disableExperimentalFragmentVariables=w.disableExperimentalFragmentVariables})(h||(h={})),h.default=h;function q(e){return e.map(r=>({name:r.name,gql:h` | ||
this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names`):s||Q.set(i,s=new Set),s.add(a),r.has(a)||(r.add(a),n.push(t))}else n.push(t)}),E(E({},e),{definitions:n})}function z(e){var r=new Set(e.definitions);r.forEach(function(t){t.loc&&delete t.loc,Object.keys(t).forEach(function(i){var a=t[i];a&&typeof a=="object"&&r.add(a)})});var n=e.loc;return n&&(delete n.startToken,delete n.endToken),e}function H(e){var r=P(e);if(!S.has(r)){var n=d.parse(e,{experimentalFragmentVariables:k,allowLegacyFragmentVariables:k});if(!n||n.kind!=="Document")throw new Error("Not a valid GraphQL document.");S.set(r,z(G(n)))}return S.get(r)}function h(e){for(var r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];typeof e=="string"&&(e=[e]);var t=e[0];return r.forEach(function(i,a){i&&i.kind==="Document"?t+=i.loc.source.body:t+=i,t+=e[a+1]}),H(t)}function J(){S.clear(),Q.clear()}function X(){x=!1}function Y(){k=!0}function Z(){k=!1}var w={gql:h,resetCaches:J,disableFragmentWarnings:X,enableExperimentalFragmentVariables:Y,disableExperimentalFragmentVariables:Z};(function(e){e.gql=w.gql,e.resetCaches=w.resetCaches,e.disableFragmentWarnings=w.disableFragmentWarnings,e.enableExperimentalFragmentVariables=w.enableExperimentalFragmentVariables,e.disableExperimentalFragmentVariables=w.disableExperimentalFragmentVariables})(h||(h={})),h.default=h;function q(e){return e.map(r=>({name:r.name,gql:h` | ||
${r.queryString} | ||
`}))}function D(e,r){return{...r,actions:r.actions.map(t=>{switch(t.action){case"create":return{...t,queries:q(t.queries)};case"update":return{...t,queries:q(t.queries)};case"delete":return{...t,queries:q(t.queries)};case"show":return{...t,queries:q(t.queries)};case"list":return{...t,queries:q(t.queries)};default:return t}})}}function V(e,r){var a,s;const n=(a=e.find(o=>o.name==="input"))==null?void 0:a.variable;if(!n)throw new Error("input variableDefinitionObject doesn't exist");const t=(s=n==null?void 0:n.inputFields[1])==null?void 0:s.typeName;if(!t)throw new Error("input variableDefinitionObject doesn't exist");return y.getEntityByName(r,t)}function K(e,r){const{simplifiedEntities:n}=e;return{...r,actions:r.actions.map(t=>{switch(t.action){case"create":return{...t,input:V(t.variableDefinitionObjects,n)};case"update":return{...t,input:V(t.variableDefinitionObjects,n)};default:return t}})}}function F(e,r,n){const{queries:t}=r,i=n.map(s=>{const o=t.find(u=>u.name===s.name);return o&&o.gql?{name:o.name,queryString:l.print(o.gql)}:o&&o.queryString?{name:o.name,queryString:o.queryString}:{name:s.name,queryString:s.callback(e,r.path)}}),a=t.filter(s=>n.filter(o=>!o.name.includes(s.name))).map(s=>{if(s.gql)return{name:s.name,queryString:l.print(s.gql)};if(s.queryString)return{name:s.name,queryString:s.queryString};throw new Error("query must have gql or queryString")});return[...i,...a]}function _(e,r){const n="main",t="minimum",i=[{name:n,callback:b.createQueryForCreate}],a=[{name:n,callback:b.createQueryForUpdate}],s=[{name:n,callback:b.createQueryForDelete}],o=[{name:n,callback:b.createQueryForShow}],u=[{name:n,callback:b.createQueryForList},{name:t,callback:b.createMinimumQueryForList}];return{...r,actions:r.actions.map(c=>{switch(c.action){case"create":return{...c,queries:F(e,c,i)};case"update":return{...c,queries:F(e,c,a)};case"delete":return{...c,queries:F(e,c,s)};case"show":return{...c,queries:F(e,c,o)};case"list":return{...c,queries:F(e,c,u)};default:return c}})}}function j(e,r){if(e)return e.queries.find(n=>n.name===r)}function U(e){return l.isEnumType(e.type)||l.isNonNullType(e.type)&&l.isEnumType(e.type.ofType)}function ee(e){return l.isListType(e.type)||l.isNonNullType(e.type)&&l.isListType(e.type.ofType)}function ne(e){return!!(l.isScalarType(e.type)||l.isNonNullType(e.type)&&(l.isScalarType(e.type.ofType)||l.isListType(e.type.ofType)&&(l.isScalarType(e.type.ofType.ofType)||l.isNonNullType(e.type.ofType.ofType)&&l.isScalarType(e.type.ofType.ofType.ofType))))}function te(e,r){return e?"Scalar":r?"Enum":"Object"}function re(e,r){var t,i,a;if(!r||!r.fields)throw new Error(`Parent entity not found: ${e}`);const n=r.fields.find(s=>s.name===e);return(a=(i=(t=n==null?void 0:n.directives)==null?void 0:t.find(s=>s.name==="label"))==null?void 0:i.args)==null?void 0:a.name}function ie(e){if(e&&e.kind==="Enum")return e.enumValues}function ae(e,r){if(e&&(e==null?void 0:e.kind)==="Union")return e.possibleTypes.map(n=>{const t=r.find(i=>i.typeName===n.typeName);if(!t)throw new Error("Object not found");if(t.kind==="Object")return{name:n.name,typeName:n.typeName,kind:n.kind,label:t.description};throw new Error(`Union type can't be object type: ${t.kind}`)})}function se(e,r,n){var p,v;const t=ee(e),i=l.isNonNullType(e.type),a=l.getNamedType(e.type).toString(),s=U(e),o=ne(e),u=y.getEntityByName(r,a),c=y.getEntityByName(r,n),d=re(e.name,c),f=ie(u),m=ae(u,r);return{name:e.name,isList:t,isNonNull:i,typeName:a,isScalar:o,isEnum:s,kind:te(o,s),description:e.description,schemaDirectives:u==null?void 0:u.directives,label:d,enumValues:f,collection:(v=(p=u==null?void 0:u.directives)==null?void 0:p.find(N=>N.name==="collection"))==null?void 0:v.args,isUnion:(u==null?void 0:u.kind)==="Union",possibleTypes:m}}function oe(e,r,n,t){const i=se(e,n,t);return i.isScalar||i.isEnum?i:{...i,fields:[]}}function ue(e){if(e.kind==="InputObject")return{typeName:e.typeName,description:e.description,directives:e.directives,inputFields:e.inputFields,enumValues:void 0};if(e.kind==="Scalar")return{typeName:e.typeName,description:e.description,directives:e.directives,inputFields:void 0,enumValues:void 0};if(e.kind==="Enum")return{typeName:e.typeName,description:e.description,directives:e.directives,inputFields:void 0,enumValues:e.enumValues};throw new Error("extractNamedType error")}function O(e,r){switch(e.kind){case"NamedType":{const n=y.getEntityByName(r,e.name.value);if(!n)throw new Error("entity type not found");const t=ue(n),i=n.kind==="Enum",a=n.kind==="Scalar";return{variable:t,isNonNull:!1,isList:!1,isEnum:i,isScalar:a}}case"NonNullType":return{...O(e.type,r),isNonNull:!0};case"ListType":return{...O(e.type,r),isList:!0};default:throw new Error("extractType error")}}function ce(e,r){return{...O(e.type,r),name:e.variable.name.value}}function I(e,r,n=0){var i;if(n>=r.length)return e;const t={...e};return t.fields=(i=e.fields)==null?void 0:i.map(a=>a.fields?{...a,representativeField:a.fields.find(s=>s.name===r.find(o=>{var u;return(u=a.fields)==null?void 0:u.find(c=>c.name===o)})),fields:I(a,r,n+1).fields}:a),t}function C(e,r,n,t){const i=new l.TypeInfo(e);let a=null;const s=[],o=[],u={VariableDefinition:{enter(c){o.push(ce(c,n))}},Field:{enter(c){var p,v,N;const d=i.getParentType();if(!d)throw new Error("Parent type not found");const f=i.getFieldDef();if(!f)throw new Error("Field definition not found");const m=oe(f,c,n,d.name);if(d.toString()===((p=e.getQueryType())==null?void 0:p.name)||d.toString()===((v=e.getMutationType())==null?void 0:v.name)){a=m,s.push(m);return}a&&((N=s[s.length-1].fields)==null||N.push(m),!m.isScalar&&!m.isEnum&&s.push(m))},leave(c){s.length>1&&c.selectionSet&&s.pop()}}};if(l.visit(r,l.visitWithTypeInfo(i,u)),!a)throw new Error("Couldn't find query object");return{queryObject:I(a,t),variableDefinitionObjects:o}}function B(e,r){const{graphqlSchema:n,simplifiedEntities:t,config:{nodeRepresentatives:i}}=e,a=h` | ||
`}))}function D(e,r){return{...r,actions:r.actions.map(t=>{switch(t.action){case"create":return{...t,queries:q(t.queries)};case"update":return{...t,queries:q(t.queries)};case"delete":return{...t,queries:q(t.queries)};case"show":return{...t,queries:q(t.queries)};case"list":return{...t,queries:q(t.queries)};default:return t}})}}function V(e,r){var a,s;const n=(a=e.find(o=>o.name==="input"))==null?void 0:a.variable;if(!n)throw new Error("input variableDefinitionObject doesn't exist");const t=(s=n==null?void 0:n.inputFields[1])==null?void 0:s.typeName;if(!t)throw new Error("input variableDefinitionObject doesn't exist");return y.getEntityByName(r,t)}function K(e,r){const{simplifiedEntities:n}=e;return{...r,actions:r.actions.map(t=>{switch(t.action){case"create":return{...t,input:V(t.variableDefinitionObjects,n)};case"update":return{...t,input:V(t.variableDefinitionObjects,n)};default:return t}})}}function F(e,r,n){const{queries:t}=r,i=n.map(s=>{const o=t.find(u=>u.name===s.name);return o&&o.gql?{name:o.name,queryString:d.print(o.gql)}:o&&o.queryString?{name:o.name,queryString:o.queryString}:{name:s.name,queryString:s.callback(e,r.path)}}),a=t.filter(s=>n.filter(o=>!o.name.includes(s.name))).map(s=>{if(s.gql)return{name:s.name,queryString:d.print(s.gql)};if(s.queryString)return{name:s.name,queryString:s.queryString};throw new Error("query must have gql or queryString")});return[...i,...a]}function _(e,r){const n="main",t="minimum",i=[{name:n,callback:b.createQueryForCreate}],a=[{name:n,callback:b.createQueryForUpdate}],s=[{name:n,callback:b.createQueryForDelete}],o=[{name:n,callback:b.createQueryForShow}],u=[{name:n,callback:b.createQueryForList},{name:t,callback:b.createMinimumQueryForList}];return{...r,actions:r.actions.map(c=>{switch(c.action){case"create":return{...c,queries:F(e,c,i)};case"update":return{...c,queries:F(e,c,a)};case"delete":return{...c,queries:F(e,c,s)};case"show":return{...c,queries:F(e,c,o)};case"list":return{...c,queries:F(e,c,u)};default:return c}})}}function j(e,r){if(e)return e.queries.find(n=>n.name===r)}function U(e){return d.isEnumType(e.type)||d.isNonNullType(e.type)&&d.isEnumType(e.type.ofType)}function ee(e){return d.isListType(e.type)||d.isNonNullType(e.type)&&d.isListType(e.type.ofType)}function ne(e){return!!(d.isScalarType(e.type)||d.isNonNullType(e.type)&&(d.isScalarType(e.type.ofType)||d.isListType(e.type.ofType)&&(d.isScalarType(e.type.ofType.ofType)||d.isNonNullType(e.type.ofType.ofType)&&d.isScalarType(e.type.ofType.ofType.ofType))))}function te(e,r){return e?"Scalar":r?"Enum":"Object"}function re(e,r){var t,i,a;if(!r||!r.fields)throw new Error(`Parent entity not found: ${e}`);const n=r.fields.find(s=>s.name===e);return(a=(i=(t=n==null?void 0:n.directives)==null?void 0:t.find(s=>s.name==="label"))==null?void 0:i.args)==null?void 0:a.name}function ie(e){if(e&&e.kind==="Enum")return e.enumValues}function ae(e,r){if(e&&(e==null?void 0:e.kind)==="Union")return e.possibleTypes.map(n=>{const t=r.find(i=>i.typeName===n.typeName);if(!t)throw new Error("Object not found");if(t.kind==="Object")return{name:n.name,typeName:n.typeName,kind:n.kind,label:t.description};throw new Error(`Union type can't be object type: ${t.kind}`)})}function se(e,r,n){var p,v;const t=ee(e),i=d.isNonNullType(e.type),a=d.getNamedType(e.type).toString(),s=U(e),o=ne(e),u=y.getEntityByName(r,a),c=y.getEntityByName(r,n),l=re(e.name,c),f=ie(u),m=ae(u,r);return{name:e.name,isList:t,isNonNull:i,typeName:a,isScalar:o,isEnum:s,kind:te(o,s),description:e.description,schemaDirectives:u==null?void 0:u.directives,label:l,enumValues:f,collection:(v=(p=u==null?void 0:u.directives)==null?void 0:p.find(N=>N.name==="collection"))==null?void 0:v.args,isUnion:(u==null?void 0:u.kind)==="Union",possibleTypes:m}}function oe(e,r,n,t){const i=se(e,n,t);return i.isScalar||i.isEnum?i:{...i,fields:[]}}function ue(e){if(e.kind==="InputObject")return{typeName:e.typeName,description:e.description,directives:e.directives,inputFields:e.inputFields,enumValues:void 0};if(e.kind==="Scalar")return{typeName:e.typeName,description:e.description,directives:e.directives,inputFields:void 0,enumValues:void 0};if(e.kind==="Enum")return{typeName:e.typeName,description:e.description,directives:e.directives,inputFields:void 0,enumValues:e.enumValues};throw new Error("extractNamedType error")}function O(e,r){switch(e.kind){case"NamedType":{const n=y.getEntityByName(r,e.name.value);if(!n)throw new Error("entity type not found");const t=ue(n),i=n.kind==="Enum",a=n.kind==="Scalar";return{variable:t,isNonNull:!1,isList:!1,isEnum:i,isScalar:a}}case"NonNullType":return{...O(e.type,r),isNonNull:!0};case"ListType":return{...O(e.type,r),isList:!0};default:throw new Error("extractType error")}}function ce(e,r){return{...O(e.type,r),name:e.variable.name.value}}function I(e,r,n=0){var i;if(n>=r.length)return e;const t={...e};return t.fields=(i=e.fields)==null?void 0:i.map(a=>a.fields?{...a,representativeField:a.fields.find(s=>s.name===r.find(o=>{var u;return(u=a.fields)==null?void 0:u.find(c=>c.name===o)})),fields:I(a,r,n+1).fields}:a),t}function C(e,r,n,t){const i=new d.TypeInfo(e);let a=null;const s=[],o=[],u={VariableDefinition:{enter(c){o.push(ce(c,n))}},Field:{enter(c){var p,v,N;const l=i.getParentType();if(!l)throw new Error("Parent type not found");const f=i.getFieldDef();if(!f)throw new Error("Field definition not found");const m=oe(f,c,n,l.name);l.toString()===((p=e.getQueryType())==null?void 0:p.name)||l.toString()===((v=e.getMutationType())==null?void 0:v.name)?(a=m,s.push(m)):a&&((N=s[s.length-1].fields)==null||N.push(m),!m.isScalar&&!m.isEnum&&m.typeName!=="String"&&s.push(m))},leave(c){s.length>1&&c.selectionSet&&s.pop()}}};if(d.visit(r,d.visitWithTypeInfo(i,u)),!a)throw new Error("Couldn't find query object");return{queryObject:I(a,t),variableDefinitionObjects:o}}function B(e,r){const{graphqlSchema:n,simplifiedEntities:t,config:{nodeRepresentatives:i}}=e,a=h` | ||
${r} | ||
`,{queryObject:s,variableDefinitionObjects:o}=C(n,a,t,i);if(!s)throw new Error("Query object not generated");return{variableDefinitionObjects:o}}function fe(e,r){var i,a,s,o;const n=(o=(s=(a=(i=e==null?void 0:e.find(u=>u.name==="sort"))==null?void 0:i.variable)==null?void 0:a.inputFields)==null?void 0:s.find(u=>u.name==="field"))==null?void 0:o.typeName,t=r.find(u=>u.typeName===n);return t==null?void 0:t.enumValues.map(u=>u.name)}function le(e,r,n,t,i){var u,c,d;const a=fe(i,n),s=r?(u=y.getField(e,r))==null?void 0:u.fields:e.fields,o=n.find(f=>f.typeName===t);return{fields:(s||[]).map(f=>a?a.find(m=>m===f.name)?{...f,isSortable:!0}:{...f}:f),displayColumns:(d=(c=o==null?void 0:o.directives)==null?void 0:c.find(f=>f.name==="model"))==null?void 0:d.args.displayColumns}}function L(e,r,n,t){const{graphqlSchema:i,simplifiedEntities:a,config:{nodeRepresentatives:s}}=e,o=h` | ||
`,{queryObject:s,variableDefinitionObjects:o}=C(n,a,t,i);if(!s)throw new Error("Query object not generated");return{variableDefinitionObjects:o}}function fe(e,r){var i,a,s,o;const n=(o=(s=(a=(i=e==null?void 0:e.find(u=>u.name==="sort"))==null?void 0:i.variable)==null?void 0:a.inputFields)==null?void 0:s.find(u=>u.name==="field"))==null?void 0:o.typeName,t=r.find(u=>u.typeName===n);return t==null?void 0:t.enumValues.map(u=>u.name)}function le(e,r,n,t,i){var u,c,l;const a=fe(i,n),s=r?(u=y.getField(e,r))==null?void 0:u.fields:e.fields,o=n.find(f=>f.typeName===t);return{fields:(s||[]).map(f=>a?a.find(m=>m===f.name)?{...f,isSortable:!0}:{...f}:f),displayColumns:(l=(c=o==null?void 0:o.directives)==null?void 0:c.find(f=>f.name==="model"))==null?void 0:l.args.displayColumns}}function L(e,r,n,t){const{graphqlSchema:i,simplifiedEntities:a,config:{nodeRepresentatives:s}}=e,o=h` | ||
${r} | ||
`,{queryObject:u,variableDefinitionObjects:c}=C(i,o,a,s);if(!u)throw new Error("Query object not generated");const{fields:d,displayColumns:f}=le(u,t,a,n,c);return{variableDefinitionObjects:c,fields:d,displayColumns:f}}function de(e,r,n){const t=j(r,n);if(t)return B(e,t.queryString)}function me(e,r,n){const t=j(r,n);if(t)return B(e,t.queryString)}function pe(e,r,n,t){const i=j(n,t);if(i&&n.path)return L(e,i.queryString,r.name,n.path)}function ye(e,r,n,t){const i=j(n,t);if(i&&n.path)return L(e,i.queryString,r.name,`${n.path}.nodes`)}function ge(e,r){const n="main";return{...r,actions:r.actions.map(t=>{switch(t.action){case"create":return{...t,...de(e,t,n)};case"update":return{...t,...me(e,t,n)};case"delete":return t;case"show":return{...t,...pe(e,r,t,n)};case"list":return{...t,...ye(e,r,t,n)};default:return t}})}}function he(e,r,n,t){const{simplifiedEntities:i}=e;return t.fields.map(a=>({field:a,entity:i.find(s=>a.typeName===s.typeName)})).filter(a=>{var s,o;return(o=(s=a.entity)==null?void 0:s.directives)==null?void 0:o.some(u=>u.name==="collection")}).map(a=>{var o,u,c;const s=(u=(o=a.entity.directives)==null?void 0:o.find(d=>d.name==="collection"))==null?void 0:u.args;if(!s)throw new Error("collection directive must have args");return{name:a.field.name,resource:s.typeName,isCollection:!0,target:`${(c=n.show)==null?void 0:c.path.split(".").pop()}Id`,label:a.field.description}}).filter(a=>{var u,c,d,f,m;const s=r.find(p=>p.name===a.resource);return!!((m=(f=(d=(c=(u=s==null?void 0:s.list)==null?void 0:u.variableDefinitionObjects)==null?void 0:c.find(p=>p.name==="filter"))==null?void 0:d.variable)==null?void 0:f.inputFields)==null?void 0:m.find(p=>p.name===a.target))})}function ve(e,r,n,t){const{simplifiedEntities:i}=e;return t.fields.map(a=>({field:a,entity:i.find(s=>a.typeName===s.typeName)})).filter(a=>{var s,o;return a.entity.kind==="Object"&&!a.field.isList&&!((o=(s=a.entity)==null?void 0:s.directives)!=null&&o.some(u=>u.name==="collection"))}).map(a=>({name:a.field.name,resource:a.entity.typeName,isCollection:!1,source:`${a.field.name}.id`,label:a.field.description})).filter(a=>t.fields.some(s=>s.name===a.name))}function be(e,r,n){var a;const t=(a=e.config.resources)==null?void 0:a.find(s=>s.name===n.name);return(t==null?void 0:t.additionalRelations)||[]}function Ne(e,r,n){const{simplifiedEntities:t}=e;if(!r)throw new Error("resources must be defined");const i=t.find(u=>u.typeName===n.name);if(!i)return[];if(i.kind!=="Object"||!i.fields)return[];const a=ve(e,r,n,i),s=he(e,r,n,i);return[...be(e,r,n),...s,...a]}function we(e,r,n){const t=Ne(e,r,n);return{...n,relations:t}}function qe(){return[]}function Fe(e,r,n,t,i){if(!i||!r)return;const a=y.generatePath(e,r.typeName,n.typeName,t),s=a==null?void 0:a.split(".").pop(),o=`${s}Create.${s}`,u=(i==null?void 0:i.queries)||qe();if(o)return{path:o,...i||{},queries:u,action:"create"};if(i!=null&&i.path)return{...i,path:i.path,queries:u,action:"create"}}function Te(){return[]}function Ee(e,r,n,t,i){if(!i||!r)return;const a=y.generatePath(e,r.typeName,n.typeName,t),s=a==null?void 0:a.split(".").pop(),o=`${s}Delete.${s}`,u=(i==null?void 0:i.queries)||Te();if(o)return{path:o,...i||{},queries:u,action:"delete"};if(i!=null&&i.path)return{...i,path:i.path,queries:u,action:"delete"}}function Se(){return[]}function ke(e,r,n,t,i){if(!r)return;const s=e.filter(c=>c.kind==="Object").find(c=>{var f;const d=(f=c.directives)==null?void 0:f.find(m=>m.name==="collection");return d?d.args.typeName===n.typeName:!1});if(!s)return;const o=y.generatePath(e,r.typeName,s.typeName,t),u=(i==null?void 0:i.queries)||Se();if(o)return{path:o,...i||{},queries:u,action:"list"};if(i!=null&&i.path)return{...i,path:i.path,queries:u,action:"list"}}function je(){return[]}function Qe(e,r,n,t,i){if(!r)return;const a=y.generatePath(e,r.typeName,n.typeName,t),s=(i==null?void 0:i.queries)||je();if(a)return{path:a,...i||{},queries:s,action:"show"};if(i!=null&&i.path)return{...i,path:i.path,queries:s,action:"show"}}function Oe(){return[]}function Re(e,r,n,t,i){if(!i||!r)return;const a=y.generatePath(e,r.typeName,n.typeName,t),s=a==null?void 0:a.split(".").pop(),o=`${s}Update.${s}`,u=(i==null?void 0:i.queries)||Oe();if(o)return{path:o,...i||{},queries:u,action:"update"};if(i!=null&&i.path)return{...i,path:i.path,queries:u,action:"update"}}function $e(e){var r,n;return((n=(r=e==null?void 0:e.find(t=>t.name==="label"))==null?void 0:r.args)==null?void 0:n.name)||void 0}function R(){return{action:"list"}}function $(){return{action:"show"}}function xe(e){if(!e)return[R(),$()];const r=e.find(t=>t.action==="list"),n=e.find(t=>t.action==="show");return r&&n?e:!r&&n?[R(),...e]:r&&!n?[$(),...e]:[R(),$(),...e]}function Pe({simplifiedEntities:e,adminRootEntity:r,item:n,adminPath:t,resource:i}){var s;return((s=xe(i==null?void 0:i.actions))==null?void 0:s.map(o=>{switch(o.action){case"list":return ke(e,r,n,t,o);case"show":return Qe(e,r,n,t,o);case"create":return Fe(e,r,n,t,o);case"update":return Re(e,r,n,t,o);case"delete":return Ee(e,r,n,t,o);default:return}}).filter(o=>o!==void 0))||[]}function Ve(e,r){var d,f,m;const{simplifiedEntities:n,config:t}=r,i=t.adminPath?`${t.adminPath}.`:"",a=n.find(p=>{var v;return(v=p.directives)==null?void 0:v.find(N=>N.name==="queryRoot")}),s=y.findEntityFromPath(n,a.typeName,((d=t.adminPath)==null?void 0:d.split("."))||[]),o=(f=t.resources)==null?void 0:f.find(p=>p.name===e.typeName),u=Pe({simplifiedEntities:n,adminRootEntity:s,item:e,adminPath:i,resource:o}),c=(m=e.directives)==null?void 0:m.find(p=>p.name==="model");if(!c)throw new Error("model directive not found");return{label:$e(e.directives),name:e.typeName,typeName:e.typeName,skipMenu:o&&o.skipMenu||!1,category:o?o==null?void 0:o.category:"default",actions:u,representative:c.args.representative}}function Ie(e,r,n,t){const i=e===""?n:y.findEntityFromPath(r,"Query",e.split("."));if(!i)throw new Error("adminEntity not found");const a=i.fields.map(s=>s.typeName);return y.filterEntitiesByDirectiveName(r,"model").filter(s=>a.includes(s.typeName)).map(s=>Ve(s,t))}function Ce(e){var o,u,c,d;const{simplifiedEntities:r,config:n}=e,t=y.findEntityByDirectiveName(r,"queryRoot");if(!t)throw new Error("queryRoot not found");const i=(c=(u=(o=t.directives)==null?void 0:o.find(f=>f.name==="queryRoot"))==null?void 0:u.args)==null?void 0:c.adminPaths;if(!i)throw new Error("adminPaths not found");const a=i.map(f=>Ie(f,r,t,e)).flat(),s=((d=n.resources)==null?void 0:d.map(f=>f.name))||a.map(f=>f.name);return y.sortDataByOrder(a,s,"name")}function T(e,r,n,t){var s;if(t&&n)return{data:`${n}.nodes`,total:`${n}.totalCount`};if(n)return{data:`${n}`};const i=(s=r==null?void 0:r.find(o=>o.name==="main"))==null?void 0:s.queryString;if(!i)throw new Error("Can't find gql");return{data:`${h` | ||
`,{queryObject:u,variableDefinitionObjects:c}=C(i,o,a,s);if(!u)throw new Error("Query object not generated");const{fields:l,displayColumns:f}=le(u,t,a,n,c);return{variableDefinitionObjects:c,fields:l,displayColumns:f}}function de(e,r,n){const t=j(r,n);if(t)return B(e,t.queryString)}function me(e,r,n){const t=j(r,n);if(t)return B(e,t.queryString)}function pe(e,r,n,t){const i=j(n,t);if(i&&n.path)return L(e,i.queryString,r.name,n.path)}function ye(e,r,n,t){const i=j(n,t);if(i&&n.path)return L(e,i.queryString,r.name,`${n.path}.nodes`)}function ge(e,r){const n="main";return{...r,actions:r.actions.map(t=>{switch(t.action){case"create":return{...t,...de(e,t,n)};case"update":return{...t,...me(e,t,n)};case"delete":return t;case"show":return{...t,...pe(e,r,t,n)};case"list":return{...t,...ye(e,r,t,n)};default:return t}})}}function he(e,r,n,t){const{simplifiedEntities:i}=e;return t.fields.map(a=>({field:a,entity:i.find(s=>a.typeName===s.typeName)})).filter(a=>{var s,o;return(o=(s=a.entity)==null?void 0:s.directives)==null?void 0:o.some(u=>u.name==="collection")}).map(a=>{var o,u,c;const s=(u=(o=a.entity.directives)==null?void 0:o.find(l=>l.name==="collection"))==null?void 0:u.args;if(!s)throw new Error("collection directive must have args");return{name:a.field.name,resource:s.typeName,isCollection:!0,target:`${(c=n.actions.find(l=>l.action==="show"))==null?void 0:c.path.split(".").pop()}Id`,label:a.field.description}}).filter(a=>{var u,c,l,f,m;const s=r.find(p=>p.name===a.resource);return!!((m=(f=(l=(c=(u=s==null?void 0:s.actions.find(p=>p.action==="list"))==null?void 0:u.variableDefinitionObjects)==null?void 0:c.find(p=>p.name==="filter"))==null?void 0:l.variable)==null?void 0:f.inputFields)==null?void 0:m.find(p=>p.name===a.target))})}function ve(e,r,n,t){const{simplifiedEntities:i}=e;return t.fields.map(a=>({field:a,entity:i.find(s=>a.typeName===s.typeName)})).filter(a=>{var s,o;return a.entity.kind==="Object"&&!a.field.isList&&!((o=(s=a.entity)==null?void 0:s.directives)!=null&&o.some(u=>u.name==="collection"))}).map(a=>({name:a.field.name,resource:a.entity.typeName,isCollection:!1,source:`${a.field.name}.id`,label:a.field.description})).filter(a=>t.fields.some(s=>s.name===a.name))}function be(e,r,n){var a;const t=(a=e.config.resources)==null?void 0:a.find(s=>s.name===n.name);return(t==null?void 0:t.additionalRelations)||[]}function Ne(e,r,n){const{simplifiedEntities:t}=e;if(!r)throw new Error("resources must be defined");const i=t.find(u=>u.typeName===n.name);if(!i)return[];if(i.kind!=="Object"||!i.fields)return[];const a=ve(e,r,n,i),s=he(e,r,n,i);return[...be(e,r,n),...s,...a]}function we(e,r,n){const t=Ne(e,r,n);return{...n,relations:t}}function qe(){return[]}function Fe(e,r,n,t,i){if(!i||!r)return;const a=y.generatePath(e,r.typeName,n.typeName,t),s=a==null?void 0:a.split(".").pop(),o=`${s}Create.${s}`,u=(i==null?void 0:i.queries)||qe();if(o)return{path:o,...i||{},queries:u,action:"create"};if(i!=null&&i.path)return{...i,path:i.path,queries:u,action:"create"}}function Te(){return[]}function Ee(e,r,n,t,i){if(!i||!r)return;const a=y.generatePath(e,r.typeName,n.typeName,t),s=a==null?void 0:a.split(".").pop(),o=`${s}Delete.${s}`,u=(i==null?void 0:i.queries)||Te();if(o)return{path:o,...i||{},queries:u,action:"delete"};if(i!=null&&i.path)return{...i,path:i.path,queries:u,action:"delete"}}function Se(){return[]}function ke(e,r,n,t,i){if(!r)return;const s=e.filter(c=>c.kind==="Object").find(c=>{var f;const l=(f=c.directives)==null?void 0:f.find(m=>m.name==="collection");return l?l.args.typeName===n.typeName:!1});if(!s)return;const o=y.generatePath(e,r.typeName,s.typeName,t),u=(i==null?void 0:i.queries)||Se();if(o)return{path:o,...i||{},queries:u,action:"list"};if(i!=null&&i.path)return{...i,path:i.path,queries:u,action:"list"}}function je(){return[]}function Qe(e,r,n,t,i){if(!r)return;const a=y.generatePath(e,r.typeName,n.typeName,t),s=(i==null?void 0:i.queries)||je();if(a)return{path:a,...i||{},queries:s,action:"show"};if(i!=null&&i.path)return{...i,path:i.path,queries:s,action:"show"}}function Oe(){return[]}function Re(e,r,n,t,i){if(!i||!r)return;const a=y.generatePath(e,r.typeName,n.typeName,t),s=a==null?void 0:a.split(".").pop(),o=`${s}Update.${s}`,u=(i==null?void 0:i.queries)||Oe();if(o)return{path:o,...i||{},queries:u,action:"update"};if(i!=null&&i.path)return{...i,path:i.path,queries:u,action:"update"}}function $e(e){var r,n;return((n=(r=e==null?void 0:e.find(t=>t.name==="label"))==null?void 0:r.args)==null?void 0:n.name)||void 0}function R(){return{action:"list"}}function $(){return{action:"show"}}function xe(e){if(!e)return[R(),$()];const r=e.find(t=>t.action==="list"),n=e.find(t=>t.action==="show");return r&&n?e:!r&&n?[R(),...e]:r&&!n?[$(),...e]:[R(),$(),...e]}function Pe({simplifiedEntities:e,adminRootEntity:r,item:n,adminPath:t,resource:i}){var s;return((s=xe(i==null?void 0:i.actions))==null?void 0:s.map(o=>{switch(o.action){case"list":return ke(e,r,n,t,o);case"show":return Qe(e,r,n,t,o);case"create":return Fe(e,r,n,t,o);case"update":return Re(e,r,n,t,o);case"delete":return Ee(e,r,n,t,o);default:return}}).filter(o=>o!==void 0))||[]}function Ve(e,r){var l,f,m;const{simplifiedEntities:n,config:t}=r,i=t.adminPath?`${t.adminPath}.`:"",a=n.find(p=>{var v;return(v=p.directives)==null?void 0:v.find(N=>N.name==="queryRoot")}),s=y.findEntityFromPath(n,a.typeName,((l=t.adminPath)==null?void 0:l.split("."))||[]),o=(f=t.resources)==null?void 0:f.find(p=>p.name===e.typeName),u=Pe({simplifiedEntities:n,adminRootEntity:s,item:e,adminPath:i,resource:o}),c=(m=e.directives)==null?void 0:m.find(p=>p.name==="model");if(!c)throw new Error("model directive not found");return{label:$e(e.directives),name:e.typeName,typeName:e.typeName,skipMenu:o&&o.skipMenu||!1,category:o?o==null?void 0:o.category:"default",actions:u,representative:c.args.representative}}function Ie(e,r,n,t){const i=e===""?n:y.findEntityFromPath(r,"Query",e.split("."));if(!i)throw new Error("adminEntity not found");const a=i.fields.map(s=>s.typeName);return y.filterEntitiesByDirectiveName(r,"model").filter(s=>a.includes(s.typeName)).map(s=>Ve(s,t))}function Ce(e){var o,u,c,l;const{simplifiedEntities:r,config:n}=e,t=y.findEntityByDirectiveName(r,"queryRoot");if(!t)throw new Error("queryRoot not found");const i=(c=(u=(o=t.directives)==null?void 0:o.find(f=>f.name==="queryRoot"))==null?void 0:u.args)==null?void 0:c.adminPaths;if(!i)throw new Error("adminPaths not found");const a=i.map(f=>Ie(f,r,t,e)).flat(),s=((l=n.resources)==null?void 0:l.map(f=>f.name))||a.map(f=>f.name);return y.sortDataByOrder(a,s,"name")}function T(e,r,n,t){var s;if(t&&n)return{data:`${n}.nodes`,total:`${n}.totalCount`};if(n)return{data:`${n}`};const i=(s=r==null?void 0:r.find(o=>o.name==="main"))==null?void 0:s.queryString;if(!i)throw new Error("Can't find gql");return{data:`${h` | ||
${i} | ||
`.definitions[0].name.value}.${y.lowercaseFirstLetter(e)}`}}function Be(e,r){return{...r,actions:r.actions.map(n=>{switch(n.action){case"create":return{...n,responseDataPath:T(r.name,n.queries)};case"update":return{...n,responseDataPath:T(r.name,n.queries)};case"delete":return{...n,responseDataPath:T(r.name,n.queries)};case"show":return{...n,responseDataPath:T(r.name,n.queries,n.path)};case"list":return{...n,responseDataPath:T(r.name,n.queries,n.path,!0)};default:return n}})}}function Le(e){const r=Ce(e).map(n=>_(e,n)).map(n=>ge(e,n));return r.map(n=>we(e,r,n)).map(n=>W(e,n)).map(n=>K(e,n)).map(n=>Be(e,n)).map(n=>D(e,n)).map(n=>{const t=n.actions.reduce((i,a)=>{switch(a.action){case"create":return[...i,a];case"update":return[...i,a];case"delete":return[...i,a];case"show":{const{variableDefinitionObjects:s,...o}=a;return[...i,o]}case"list":{const{variableDefinitionObjects:s,...o}=a;return[...i,o]}default:return i}},[]);return{...n,actions:t}})}g.convert=Le,Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})}); | ||
//# sourceMappingURL=index.umd.js.map |
@@ -427,7 +427,3 @@ import { parse as z, print as V, isEnumType as P, isNonNullType as q, isListType as R, isScalarType as F, TypeInfo as H, visit as J, visitWithTypeInfo as X, getNamedType as Y } from "graphql"; | ||
); | ||
if (f.toString() === ((p = e.getQueryType()) == null ? void 0 : p.name) || f.toString() === ((y = e.getMutationType()) == null ? void 0 : y.name)) { | ||
a = m, s.push(m); | ||
return; | ||
} | ||
a && ((g = s[s.length - 1].fields) == null || g.push(m), !m.isScalar && !m.isEnum && s.push(m)); | ||
f.toString() === ((p = e.getQueryType()) == null ? void 0 : p.name) || f.toString() === ((y = e.getMutationType()) == null ? void 0 : y.name) ? (a = m, s.push(m)) : a && ((g = s[s.length - 1].fields) == null || g.push(m), !m.isScalar && !m.isEnum && m.typeName !== "String" && s.push(m)); | ||
}, | ||
@@ -589,3 +585,3 @@ leave(c) { | ||
// eslint-disable-next-line | ||
target: `${(c = n.show) == null ? void 0 : c.path.split(".").pop()}Id`, | ||
target: `${(c = n.actions.find((f) => f.action === "show")) == null ? void 0 : c.path.split(".").pop()}Id`, | ||
// TODO should use label | ||
@@ -597,3 +593,3 @@ label: a.field.description | ||
const s = r.find((p) => p.name === a.resource); | ||
return !!((m = (l = (f = (c = (u = s == null ? void 0 : s.list) == null ? void 0 : u.variableDefinitionObjects) == null ? void 0 : c.find((p) => p.name === "filter")) == null ? void 0 : f.variable) == null ? void 0 : l.inputFields) == null ? void 0 : m.find((p) => p.name === a.target)); | ||
return !!((m = (l = (f = (c = (u = s == null ? void 0 : s.actions.find((p) => p.action === "list")) == null ? void 0 : u.variableDefinitionObjects) == null ? void 0 : c.find((p) => p.name === "filter")) == null ? void 0 : f.variable) == null ? void 0 : l.inputFields) == null ? void 0 : m.find((p) => p.name === a.target)); | ||
}); | ||
@@ -600,0 +596,0 @@ } |
@@ -1,12 +0,12 @@ | ||
(function(g,l){typeof exports=="object"&&typeof module!="undefined"?l(exports,require("graphql"),require("@theconcurrent/utility"),require("@theconcurrent/query")):typeof define=="function"&&define.amd?define(["exports","graphql","@theconcurrent/utility","@theconcurrent/query"],l):(g=typeof globalThis!="undefined"?globalThis:g||self,l(g["@theconcurrent/resource"]={},g.graphql,g.utility,g.query))})(this,function(g,l,y,b){"use strict";function M(e){const{variableDefinitionObjects:r}=e;if(!r)return;const n=r.find(t=>t.name==="filter");if(n)return n}function W(e,r){return{...r,actions:r.actions.map(n=>{switch(n.action){case"list":return{...n,filter:M(n)};default:return n}})}}var E=function(){return E=Object.assign||function(r){for(var n,t=1,i=arguments.length;t<i;t++){n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(r[a]=n[a])}return r},E.apply(this,arguments)};typeof SuppressedError=="function"&&SuppressedError;var S=new Map,Q=new Map,x=!0,k=!1;function P(e){return e.replace(/[\s,]+/g," ").trim()}function A(e){return P(e.source.body.substring(e.start,e.end))}function G(e){var r=new Set,n=[];return e.definitions.forEach(function(t){if(t.kind==="FragmentDefinition"){var i=t.name.value,a=A(t.loc),s=Q.get(i);s&&!s.has(a)?x&&console.warn("Warning: fragment with name "+i+` already exists. | ||
(function(g,d){typeof exports=="object"&&typeof module!="undefined"?d(exports,require("graphql"),require("@theconcurrent/utility"),require("@theconcurrent/query")):typeof define=="function"&&define.amd?define(["exports","graphql","@theconcurrent/utility","@theconcurrent/query"],d):(g=typeof globalThis!="undefined"?globalThis:g||self,d(g["@theconcurrent/resource"]={},g.graphql,g.utility,g.query))})(this,function(g,d,y,b){"use strict";function M(e){const{variableDefinitionObjects:r}=e;if(!r)return;const n=r.find(t=>t.name==="filter");if(n)return n}function W(e,r){return{...r,actions:r.actions.map(n=>{switch(n.action){case"list":return{...n,filter:M(n)};default:return n}})}}var E=function(){return E=Object.assign||function(r){for(var n,t=1,i=arguments.length;t<i;t++){n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(r[a]=n[a])}return r},E.apply(this,arguments)};typeof SuppressedError=="function"&&SuppressedError;var S=new Map,Q=new Map,x=!0,k=!1;function P(e){return e.replace(/[\s,]+/g," ").trim()}function A(e){return P(e.source.body.substring(e.start,e.end))}function G(e){var r=new Set,n=[];return e.definitions.forEach(function(t){if(t.kind==="FragmentDefinition"){var i=t.name.value,a=A(t.loc),s=Q.get(i);s&&!s.has(a)?x&&console.warn("Warning: fragment with name "+i+` already exists. | ||
graphql-tag enforces all fragment names across your application to be unique; read more about | ||
this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names`):s||Q.set(i,s=new Set),s.add(a),r.has(a)||(r.add(a),n.push(t))}else n.push(t)}),E(E({},e),{definitions:n})}function z(e){var r=new Set(e.definitions);r.forEach(function(t){t.loc&&delete t.loc,Object.keys(t).forEach(function(i){var a=t[i];a&&typeof a=="object"&&r.add(a)})});var n=e.loc;return n&&(delete n.startToken,delete n.endToken),e}function H(e){var r=P(e);if(!S.has(r)){var n=l.parse(e,{experimentalFragmentVariables:k,allowLegacyFragmentVariables:k});if(!n||n.kind!=="Document")throw new Error("Not a valid GraphQL document.");S.set(r,z(G(n)))}return S.get(r)}function h(e){for(var r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];typeof e=="string"&&(e=[e]);var t=e[0];return r.forEach(function(i,a){i&&i.kind==="Document"?t+=i.loc.source.body:t+=i,t+=e[a+1]}),H(t)}function J(){S.clear(),Q.clear()}function X(){x=!1}function Y(){k=!0}function Z(){k=!1}var w={gql:h,resetCaches:J,disableFragmentWarnings:X,enableExperimentalFragmentVariables:Y,disableExperimentalFragmentVariables:Z};(function(e){e.gql=w.gql,e.resetCaches=w.resetCaches,e.disableFragmentWarnings=w.disableFragmentWarnings,e.enableExperimentalFragmentVariables=w.enableExperimentalFragmentVariables,e.disableExperimentalFragmentVariables=w.disableExperimentalFragmentVariables})(h||(h={})),h.default=h;function q(e){return e.map(r=>({name:r.name,gql:h` | ||
this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names`):s||Q.set(i,s=new Set),s.add(a),r.has(a)||(r.add(a),n.push(t))}else n.push(t)}),E(E({},e),{definitions:n})}function z(e){var r=new Set(e.definitions);r.forEach(function(t){t.loc&&delete t.loc,Object.keys(t).forEach(function(i){var a=t[i];a&&typeof a=="object"&&r.add(a)})});var n=e.loc;return n&&(delete n.startToken,delete n.endToken),e}function H(e){var r=P(e);if(!S.has(r)){var n=d.parse(e,{experimentalFragmentVariables:k,allowLegacyFragmentVariables:k});if(!n||n.kind!=="Document")throw new Error("Not a valid GraphQL document.");S.set(r,z(G(n)))}return S.get(r)}function h(e){for(var r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];typeof e=="string"&&(e=[e]);var t=e[0];return r.forEach(function(i,a){i&&i.kind==="Document"?t+=i.loc.source.body:t+=i,t+=e[a+1]}),H(t)}function J(){S.clear(),Q.clear()}function X(){x=!1}function Y(){k=!0}function Z(){k=!1}var w={gql:h,resetCaches:J,disableFragmentWarnings:X,enableExperimentalFragmentVariables:Y,disableExperimentalFragmentVariables:Z};(function(e){e.gql=w.gql,e.resetCaches=w.resetCaches,e.disableFragmentWarnings=w.disableFragmentWarnings,e.enableExperimentalFragmentVariables=w.enableExperimentalFragmentVariables,e.disableExperimentalFragmentVariables=w.disableExperimentalFragmentVariables})(h||(h={})),h.default=h;function q(e){return e.map(r=>({name:r.name,gql:h` | ||
${r.queryString} | ||
`}))}function D(e,r){return{...r,actions:r.actions.map(t=>{switch(t.action){case"create":return{...t,queries:q(t.queries)};case"update":return{...t,queries:q(t.queries)};case"delete":return{...t,queries:q(t.queries)};case"show":return{...t,queries:q(t.queries)};case"list":return{...t,queries:q(t.queries)};default:return t}})}}function V(e,r){var a,s;const n=(a=e.find(o=>o.name==="input"))==null?void 0:a.variable;if(!n)throw new Error("input variableDefinitionObject doesn't exist");const t=(s=n==null?void 0:n.inputFields[1])==null?void 0:s.typeName;if(!t)throw new Error("input variableDefinitionObject doesn't exist");return y.getEntityByName(r,t)}function K(e,r){const{simplifiedEntities:n}=e;return{...r,actions:r.actions.map(t=>{switch(t.action){case"create":return{...t,input:V(t.variableDefinitionObjects,n)};case"update":return{...t,input:V(t.variableDefinitionObjects,n)};default:return t}})}}function F(e,r,n){const{queries:t}=r,i=n.map(s=>{const o=t.find(u=>u.name===s.name);return o&&o.gql?{name:o.name,queryString:l.print(o.gql)}:o&&o.queryString?{name:o.name,queryString:o.queryString}:{name:s.name,queryString:s.callback(e,r.path)}}),a=t.filter(s=>n.filter(o=>!o.name.includes(s.name))).map(s=>{if(s.gql)return{name:s.name,queryString:l.print(s.gql)};if(s.queryString)return{name:s.name,queryString:s.queryString};throw new Error("query must have gql or queryString")});return[...i,...a]}function _(e,r){const n="main",t="minimum",i=[{name:n,callback:b.createQueryForCreate}],a=[{name:n,callback:b.createQueryForUpdate}],s=[{name:n,callback:b.createQueryForDelete}],o=[{name:n,callback:b.createQueryForShow}],u=[{name:n,callback:b.createQueryForList},{name:t,callback:b.createMinimumQueryForList}];return{...r,actions:r.actions.map(c=>{switch(c.action){case"create":return{...c,queries:F(e,c,i)};case"update":return{...c,queries:F(e,c,a)};case"delete":return{...c,queries:F(e,c,s)};case"show":return{...c,queries:F(e,c,o)};case"list":return{...c,queries:F(e,c,u)};default:return c}})}}function j(e,r){if(e)return e.queries.find(n=>n.name===r)}function U(e){return l.isEnumType(e.type)||l.isNonNullType(e.type)&&l.isEnumType(e.type.ofType)}function ee(e){return l.isListType(e.type)||l.isNonNullType(e.type)&&l.isListType(e.type.ofType)}function ne(e){return!!(l.isScalarType(e.type)||l.isNonNullType(e.type)&&(l.isScalarType(e.type.ofType)||l.isListType(e.type.ofType)&&(l.isScalarType(e.type.ofType.ofType)||l.isNonNullType(e.type.ofType.ofType)&&l.isScalarType(e.type.ofType.ofType.ofType))))}function te(e,r){return e?"Scalar":r?"Enum":"Object"}function re(e,r){var t,i,a;if(!r||!r.fields)throw new Error(`Parent entity not found: ${e}`);const n=r.fields.find(s=>s.name===e);return(a=(i=(t=n==null?void 0:n.directives)==null?void 0:t.find(s=>s.name==="label"))==null?void 0:i.args)==null?void 0:a.name}function ie(e){if(e&&e.kind==="Enum")return e.enumValues}function ae(e,r){if(e&&(e==null?void 0:e.kind)==="Union")return e.possibleTypes.map(n=>{const t=r.find(i=>i.typeName===n.typeName);if(!t)throw new Error("Object not found");if(t.kind==="Object")return{name:n.name,typeName:n.typeName,kind:n.kind,label:t.description};throw new Error(`Union type can't be object type: ${t.kind}`)})}function se(e,r,n){var p,v;const t=ee(e),i=l.isNonNullType(e.type),a=l.getNamedType(e.type).toString(),s=U(e),o=ne(e),u=y.getEntityByName(r,a),c=y.getEntityByName(r,n),d=re(e.name,c),f=ie(u),m=ae(u,r);return{name:e.name,isList:t,isNonNull:i,typeName:a,isScalar:o,isEnum:s,kind:te(o,s),description:e.description,schemaDirectives:u==null?void 0:u.directives,label:d,enumValues:f,collection:(v=(p=u==null?void 0:u.directives)==null?void 0:p.find(N=>N.name==="collection"))==null?void 0:v.args,isUnion:(u==null?void 0:u.kind)==="Union",possibleTypes:m}}function oe(e,r,n,t){const i=se(e,n,t);return i.isScalar||i.isEnum?i:{...i,fields:[]}}function ue(e){if(e.kind==="InputObject")return{typeName:e.typeName,description:e.description,directives:e.directives,inputFields:e.inputFields,enumValues:void 0};if(e.kind==="Scalar")return{typeName:e.typeName,description:e.description,directives:e.directives,inputFields:void 0,enumValues:void 0};if(e.kind==="Enum")return{typeName:e.typeName,description:e.description,directives:e.directives,inputFields:void 0,enumValues:e.enumValues};throw new Error("extractNamedType error")}function O(e,r){switch(e.kind){case"NamedType":{const n=y.getEntityByName(r,e.name.value);if(!n)throw new Error("entity type not found");const t=ue(n),i=n.kind==="Enum",a=n.kind==="Scalar";return{variable:t,isNonNull:!1,isList:!1,isEnum:i,isScalar:a}}case"NonNullType":return{...O(e.type,r),isNonNull:!0};case"ListType":return{...O(e.type,r),isList:!0};default:throw new Error("extractType error")}}function ce(e,r){return{...O(e.type,r),name:e.variable.name.value}}function I(e,r,n=0){var i;if(n>=r.length)return e;const t={...e};return t.fields=(i=e.fields)==null?void 0:i.map(a=>a.fields?{...a,representativeField:a.fields.find(s=>s.name===r.find(o=>{var u;return(u=a.fields)==null?void 0:u.find(c=>c.name===o)})),fields:I(a,r,n+1).fields}:a),t}function C(e,r,n,t){const i=new l.TypeInfo(e);let a=null;const s=[],o=[],u={VariableDefinition:{enter(c){o.push(ce(c,n))}},Field:{enter(c){var p,v,N;const d=i.getParentType();if(!d)throw new Error("Parent type not found");const f=i.getFieldDef();if(!f)throw new Error("Field definition not found");const m=oe(f,c,n,d.name);if(d.toString()===((p=e.getQueryType())==null?void 0:p.name)||d.toString()===((v=e.getMutationType())==null?void 0:v.name)){a=m,s.push(m);return}a&&((N=s[s.length-1].fields)==null||N.push(m),!m.isScalar&&!m.isEnum&&s.push(m))},leave(c){s.length>1&&c.selectionSet&&s.pop()}}};if(l.visit(r,l.visitWithTypeInfo(i,u)),!a)throw new Error("Couldn't find query object");return{queryObject:I(a,t),variableDefinitionObjects:o}}function B(e,r){const{graphqlSchema:n,simplifiedEntities:t,config:{nodeRepresentatives:i}}=e,a=h` | ||
`}))}function D(e,r){return{...r,actions:r.actions.map(t=>{switch(t.action){case"create":return{...t,queries:q(t.queries)};case"update":return{...t,queries:q(t.queries)};case"delete":return{...t,queries:q(t.queries)};case"show":return{...t,queries:q(t.queries)};case"list":return{...t,queries:q(t.queries)};default:return t}})}}function V(e,r){var a,s;const n=(a=e.find(o=>o.name==="input"))==null?void 0:a.variable;if(!n)throw new Error("input variableDefinitionObject doesn't exist");const t=(s=n==null?void 0:n.inputFields[1])==null?void 0:s.typeName;if(!t)throw new Error("input variableDefinitionObject doesn't exist");return y.getEntityByName(r,t)}function K(e,r){const{simplifiedEntities:n}=e;return{...r,actions:r.actions.map(t=>{switch(t.action){case"create":return{...t,input:V(t.variableDefinitionObjects,n)};case"update":return{...t,input:V(t.variableDefinitionObjects,n)};default:return t}})}}function F(e,r,n){const{queries:t}=r,i=n.map(s=>{const o=t.find(u=>u.name===s.name);return o&&o.gql?{name:o.name,queryString:d.print(o.gql)}:o&&o.queryString?{name:o.name,queryString:o.queryString}:{name:s.name,queryString:s.callback(e,r.path)}}),a=t.filter(s=>n.filter(o=>!o.name.includes(s.name))).map(s=>{if(s.gql)return{name:s.name,queryString:d.print(s.gql)};if(s.queryString)return{name:s.name,queryString:s.queryString};throw new Error("query must have gql or queryString")});return[...i,...a]}function _(e,r){const n="main",t="minimum",i=[{name:n,callback:b.createQueryForCreate}],a=[{name:n,callback:b.createQueryForUpdate}],s=[{name:n,callback:b.createQueryForDelete}],o=[{name:n,callback:b.createQueryForShow}],u=[{name:n,callback:b.createQueryForList},{name:t,callback:b.createMinimumQueryForList}];return{...r,actions:r.actions.map(c=>{switch(c.action){case"create":return{...c,queries:F(e,c,i)};case"update":return{...c,queries:F(e,c,a)};case"delete":return{...c,queries:F(e,c,s)};case"show":return{...c,queries:F(e,c,o)};case"list":return{...c,queries:F(e,c,u)};default:return c}})}}function j(e,r){if(e)return e.queries.find(n=>n.name===r)}function U(e){return d.isEnumType(e.type)||d.isNonNullType(e.type)&&d.isEnumType(e.type.ofType)}function ee(e){return d.isListType(e.type)||d.isNonNullType(e.type)&&d.isListType(e.type.ofType)}function ne(e){return!!(d.isScalarType(e.type)||d.isNonNullType(e.type)&&(d.isScalarType(e.type.ofType)||d.isListType(e.type.ofType)&&(d.isScalarType(e.type.ofType.ofType)||d.isNonNullType(e.type.ofType.ofType)&&d.isScalarType(e.type.ofType.ofType.ofType))))}function te(e,r){return e?"Scalar":r?"Enum":"Object"}function re(e,r){var t,i,a;if(!r||!r.fields)throw new Error(`Parent entity not found: ${e}`);const n=r.fields.find(s=>s.name===e);return(a=(i=(t=n==null?void 0:n.directives)==null?void 0:t.find(s=>s.name==="label"))==null?void 0:i.args)==null?void 0:a.name}function ie(e){if(e&&e.kind==="Enum")return e.enumValues}function ae(e,r){if(e&&(e==null?void 0:e.kind)==="Union")return e.possibleTypes.map(n=>{const t=r.find(i=>i.typeName===n.typeName);if(!t)throw new Error("Object not found");if(t.kind==="Object")return{name:n.name,typeName:n.typeName,kind:n.kind,label:t.description};throw new Error(`Union type can't be object type: ${t.kind}`)})}function se(e,r,n){var p,v;const t=ee(e),i=d.isNonNullType(e.type),a=d.getNamedType(e.type).toString(),s=U(e),o=ne(e),u=y.getEntityByName(r,a),c=y.getEntityByName(r,n),l=re(e.name,c),f=ie(u),m=ae(u,r);return{name:e.name,isList:t,isNonNull:i,typeName:a,isScalar:o,isEnum:s,kind:te(o,s),description:e.description,schemaDirectives:u==null?void 0:u.directives,label:l,enumValues:f,collection:(v=(p=u==null?void 0:u.directives)==null?void 0:p.find(N=>N.name==="collection"))==null?void 0:v.args,isUnion:(u==null?void 0:u.kind)==="Union",possibleTypes:m}}function oe(e,r,n,t){const i=se(e,n,t);return i.isScalar||i.isEnum?i:{...i,fields:[]}}function ue(e){if(e.kind==="InputObject")return{typeName:e.typeName,description:e.description,directives:e.directives,inputFields:e.inputFields,enumValues:void 0};if(e.kind==="Scalar")return{typeName:e.typeName,description:e.description,directives:e.directives,inputFields:void 0,enumValues:void 0};if(e.kind==="Enum")return{typeName:e.typeName,description:e.description,directives:e.directives,inputFields:void 0,enumValues:e.enumValues};throw new Error("extractNamedType error")}function O(e,r){switch(e.kind){case"NamedType":{const n=y.getEntityByName(r,e.name.value);if(!n)throw new Error("entity type not found");const t=ue(n),i=n.kind==="Enum",a=n.kind==="Scalar";return{variable:t,isNonNull:!1,isList:!1,isEnum:i,isScalar:a}}case"NonNullType":return{...O(e.type,r),isNonNull:!0};case"ListType":return{...O(e.type,r),isList:!0};default:throw new Error("extractType error")}}function ce(e,r){return{...O(e.type,r),name:e.variable.name.value}}function I(e,r,n=0){var i;if(n>=r.length)return e;const t={...e};return t.fields=(i=e.fields)==null?void 0:i.map(a=>a.fields?{...a,representativeField:a.fields.find(s=>s.name===r.find(o=>{var u;return(u=a.fields)==null?void 0:u.find(c=>c.name===o)})),fields:I(a,r,n+1).fields}:a),t}function C(e,r,n,t){const i=new d.TypeInfo(e);let a=null;const s=[],o=[],u={VariableDefinition:{enter(c){o.push(ce(c,n))}},Field:{enter(c){var p,v,N;const l=i.getParentType();if(!l)throw new Error("Parent type not found");const f=i.getFieldDef();if(!f)throw new Error("Field definition not found");const m=oe(f,c,n,l.name);l.toString()===((p=e.getQueryType())==null?void 0:p.name)||l.toString()===((v=e.getMutationType())==null?void 0:v.name)?(a=m,s.push(m)):a&&((N=s[s.length-1].fields)==null||N.push(m),!m.isScalar&&!m.isEnum&&m.typeName!=="String"&&s.push(m))},leave(c){s.length>1&&c.selectionSet&&s.pop()}}};if(d.visit(r,d.visitWithTypeInfo(i,u)),!a)throw new Error("Couldn't find query object");return{queryObject:I(a,t),variableDefinitionObjects:o}}function B(e,r){const{graphqlSchema:n,simplifiedEntities:t,config:{nodeRepresentatives:i}}=e,a=h` | ||
${r} | ||
`,{queryObject:s,variableDefinitionObjects:o}=C(n,a,t,i);if(!s)throw new Error("Query object not generated");return{variableDefinitionObjects:o}}function fe(e,r){var i,a,s,o;const n=(o=(s=(a=(i=e==null?void 0:e.find(u=>u.name==="sort"))==null?void 0:i.variable)==null?void 0:a.inputFields)==null?void 0:s.find(u=>u.name==="field"))==null?void 0:o.typeName,t=r.find(u=>u.typeName===n);return t==null?void 0:t.enumValues.map(u=>u.name)}function le(e,r,n,t,i){var u,c,d;const a=fe(i,n),s=r?(u=y.getField(e,r))==null?void 0:u.fields:e.fields,o=n.find(f=>f.typeName===t);return{fields:(s||[]).map(f=>a?a.find(m=>m===f.name)?{...f,isSortable:!0}:{...f}:f),displayColumns:(d=(c=o==null?void 0:o.directives)==null?void 0:c.find(f=>f.name==="model"))==null?void 0:d.args.displayColumns}}function L(e,r,n,t){const{graphqlSchema:i,simplifiedEntities:a,config:{nodeRepresentatives:s}}=e,o=h` | ||
`,{queryObject:s,variableDefinitionObjects:o}=C(n,a,t,i);if(!s)throw new Error("Query object not generated");return{variableDefinitionObjects:o}}function fe(e,r){var i,a,s,o;const n=(o=(s=(a=(i=e==null?void 0:e.find(u=>u.name==="sort"))==null?void 0:i.variable)==null?void 0:a.inputFields)==null?void 0:s.find(u=>u.name==="field"))==null?void 0:o.typeName,t=r.find(u=>u.typeName===n);return t==null?void 0:t.enumValues.map(u=>u.name)}function le(e,r,n,t,i){var u,c,l;const a=fe(i,n),s=r?(u=y.getField(e,r))==null?void 0:u.fields:e.fields,o=n.find(f=>f.typeName===t);return{fields:(s||[]).map(f=>a?a.find(m=>m===f.name)?{...f,isSortable:!0}:{...f}:f),displayColumns:(l=(c=o==null?void 0:o.directives)==null?void 0:c.find(f=>f.name==="model"))==null?void 0:l.args.displayColumns}}function L(e,r,n,t){const{graphqlSchema:i,simplifiedEntities:a,config:{nodeRepresentatives:s}}=e,o=h` | ||
${r} | ||
`,{queryObject:u,variableDefinitionObjects:c}=C(i,o,a,s);if(!u)throw new Error("Query object not generated");const{fields:d,displayColumns:f}=le(u,t,a,n,c);return{variableDefinitionObjects:c,fields:d,displayColumns:f}}function de(e,r,n){const t=j(r,n);if(t)return B(e,t.queryString)}function me(e,r,n){const t=j(r,n);if(t)return B(e,t.queryString)}function pe(e,r,n,t){const i=j(n,t);if(i&&n.path)return L(e,i.queryString,r.name,n.path)}function ye(e,r,n,t){const i=j(n,t);if(i&&n.path)return L(e,i.queryString,r.name,`${n.path}.nodes`)}function ge(e,r){const n="main";return{...r,actions:r.actions.map(t=>{switch(t.action){case"create":return{...t,...de(e,t,n)};case"update":return{...t,...me(e,t,n)};case"delete":return t;case"show":return{...t,...pe(e,r,t,n)};case"list":return{...t,...ye(e,r,t,n)};default:return t}})}}function he(e,r,n,t){const{simplifiedEntities:i}=e;return t.fields.map(a=>({field:a,entity:i.find(s=>a.typeName===s.typeName)})).filter(a=>{var s,o;return(o=(s=a.entity)==null?void 0:s.directives)==null?void 0:o.some(u=>u.name==="collection")}).map(a=>{var o,u,c;const s=(u=(o=a.entity.directives)==null?void 0:o.find(d=>d.name==="collection"))==null?void 0:u.args;if(!s)throw new Error("collection directive must have args");return{name:a.field.name,resource:s.typeName,isCollection:!0,target:`${(c=n.show)==null?void 0:c.path.split(".").pop()}Id`,label:a.field.description}}).filter(a=>{var u,c,d,f,m;const s=r.find(p=>p.name===a.resource);return!!((m=(f=(d=(c=(u=s==null?void 0:s.list)==null?void 0:u.variableDefinitionObjects)==null?void 0:c.find(p=>p.name==="filter"))==null?void 0:d.variable)==null?void 0:f.inputFields)==null?void 0:m.find(p=>p.name===a.target))})}function ve(e,r,n,t){const{simplifiedEntities:i}=e;return t.fields.map(a=>({field:a,entity:i.find(s=>a.typeName===s.typeName)})).filter(a=>{var s,o;return a.entity.kind==="Object"&&!a.field.isList&&!((o=(s=a.entity)==null?void 0:s.directives)!=null&&o.some(u=>u.name==="collection"))}).map(a=>({name:a.field.name,resource:a.entity.typeName,isCollection:!1,source:`${a.field.name}.id`,label:a.field.description})).filter(a=>t.fields.some(s=>s.name===a.name))}function be(e,r,n){var a;const t=(a=e.config.resources)==null?void 0:a.find(s=>s.name===n.name);return(t==null?void 0:t.additionalRelations)||[]}function Ne(e,r,n){const{simplifiedEntities:t}=e;if(!r)throw new Error("resources must be defined");const i=t.find(u=>u.typeName===n.name);if(!i)return[];if(i.kind!=="Object"||!i.fields)return[];const a=ve(e,r,n,i),s=he(e,r,n,i);return[...be(e,r,n),...s,...a]}function we(e,r,n){const t=Ne(e,r,n);return{...n,relations:t}}function qe(){return[]}function Fe(e,r,n,t,i){if(!i||!r)return;const a=y.generatePath(e,r.typeName,n.typeName,t),s=a==null?void 0:a.split(".").pop(),o=`${s}Create.${s}`,u=(i==null?void 0:i.queries)||qe();if(o)return{path:o,...i||{},queries:u,action:"create"};if(i!=null&&i.path)return{...i,path:i.path,queries:u,action:"create"}}function Te(){return[]}function Ee(e,r,n,t,i){if(!i||!r)return;const a=y.generatePath(e,r.typeName,n.typeName,t),s=a==null?void 0:a.split(".").pop(),o=`${s}Delete.${s}`,u=(i==null?void 0:i.queries)||Te();if(o)return{path:o,...i||{},queries:u,action:"delete"};if(i!=null&&i.path)return{...i,path:i.path,queries:u,action:"delete"}}function Se(){return[]}function ke(e,r,n,t,i){if(!r)return;const s=e.filter(c=>c.kind==="Object").find(c=>{var f;const d=(f=c.directives)==null?void 0:f.find(m=>m.name==="collection");return d?d.args.typeName===n.typeName:!1});if(!s)return;const o=y.generatePath(e,r.typeName,s.typeName,t),u=(i==null?void 0:i.queries)||Se();if(o)return{path:o,...i||{},queries:u,action:"list"};if(i!=null&&i.path)return{...i,path:i.path,queries:u,action:"list"}}function je(){return[]}function Qe(e,r,n,t,i){if(!r)return;const a=y.generatePath(e,r.typeName,n.typeName,t),s=(i==null?void 0:i.queries)||je();if(a)return{path:a,...i||{},queries:s,action:"show"};if(i!=null&&i.path)return{...i,path:i.path,queries:s,action:"show"}}function Oe(){return[]}function Re(e,r,n,t,i){if(!i||!r)return;const a=y.generatePath(e,r.typeName,n.typeName,t),s=a==null?void 0:a.split(".").pop(),o=`${s}Update.${s}`,u=(i==null?void 0:i.queries)||Oe();if(o)return{path:o,...i||{},queries:u,action:"update"};if(i!=null&&i.path)return{...i,path:i.path,queries:u,action:"update"}}function $e(e){var r,n;return((n=(r=e==null?void 0:e.find(t=>t.name==="label"))==null?void 0:r.args)==null?void 0:n.name)||void 0}function R(){return{action:"list"}}function $(){return{action:"show"}}function xe(e){if(!e)return[R(),$()];const r=e.find(t=>t.action==="list"),n=e.find(t=>t.action==="show");return r&&n?e:!r&&n?[R(),...e]:r&&!n?[$(),...e]:[R(),$(),...e]}function Pe({simplifiedEntities:e,adminRootEntity:r,item:n,adminPath:t,resource:i}){var s;return((s=xe(i==null?void 0:i.actions))==null?void 0:s.map(o=>{switch(o.action){case"list":return ke(e,r,n,t,o);case"show":return Qe(e,r,n,t,o);case"create":return Fe(e,r,n,t,o);case"update":return Re(e,r,n,t,o);case"delete":return Ee(e,r,n,t,o);default:return}}).filter(o=>o!==void 0))||[]}function Ve(e,r){var d,f,m;const{simplifiedEntities:n,config:t}=r,i=t.adminPath?`${t.adminPath}.`:"",a=n.find(p=>{var v;return(v=p.directives)==null?void 0:v.find(N=>N.name==="queryRoot")}),s=y.findEntityFromPath(n,a.typeName,((d=t.adminPath)==null?void 0:d.split("."))||[]),o=(f=t.resources)==null?void 0:f.find(p=>p.name===e.typeName),u=Pe({simplifiedEntities:n,adminRootEntity:s,item:e,adminPath:i,resource:o}),c=(m=e.directives)==null?void 0:m.find(p=>p.name==="model");if(!c)throw new Error("model directive not found");return{label:$e(e.directives),name:e.typeName,typeName:e.typeName,skipMenu:o&&o.skipMenu||!1,category:o?o==null?void 0:o.category:"default",actions:u,representative:c.args.representative}}function Ie(e,r,n,t){const i=e===""?n:y.findEntityFromPath(r,"Query",e.split("."));if(!i)throw new Error("adminEntity not found");const a=i.fields.map(s=>s.typeName);return y.filterEntitiesByDirectiveName(r,"model").filter(s=>a.includes(s.typeName)).map(s=>Ve(s,t))}function Ce(e){var o,u,c,d;const{simplifiedEntities:r,config:n}=e,t=y.findEntityByDirectiveName(r,"queryRoot");if(!t)throw new Error("queryRoot not found");const i=(c=(u=(o=t.directives)==null?void 0:o.find(f=>f.name==="queryRoot"))==null?void 0:u.args)==null?void 0:c.adminPaths;if(!i)throw new Error("adminPaths not found");const a=i.map(f=>Ie(f,r,t,e)).flat(),s=((d=n.resources)==null?void 0:d.map(f=>f.name))||a.map(f=>f.name);return y.sortDataByOrder(a,s,"name")}function T(e,r,n,t){var s;if(t&&n)return{data:`${n}.nodes`,total:`${n}.totalCount`};if(n)return{data:`${n}`};const i=(s=r==null?void 0:r.find(o=>o.name==="main"))==null?void 0:s.queryString;if(!i)throw new Error("Can't find gql");return{data:`${h` | ||
`,{queryObject:u,variableDefinitionObjects:c}=C(i,o,a,s);if(!u)throw new Error("Query object not generated");const{fields:l,displayColumns:f}=le(u,t,a,n,c);return{variableDefinitionObjects:c,fields:l,displayColumns:f}}function de(e,r,n){const t=j(r,n);if(t)return B(e,t.queryString)}function me(e,r,n){const t=j(r,n);if(t)return B(e,t.queryString)}function pe(e,r,n,t){const i=j(n,t);if(i&&n.path)return L(e,i.queryString,r.name,n.path)}function ye(e,r,n,t){const i=j(n,t);if(i&&n.path)return L(e,i.queryString,r.name,`${n.path}.nodes`)}function ge(e,r){const n="main";return{...r,actions:r.actions.map(t=>{switch(t.action){case"create":return{...t,...de(e,t,n)};case"update":return{...t,...me(e,t,n)};case"delete":return t;case"show":return{...t,...pe(e,r,t,n)};case"list":return{...t,...ye(e,r,t,n)};default:return t}})}}function he(e,r,n,t){const{simplifiedEntities:i}=e;return t.fields.map(a=>({field:a,entity:i.find(s=>a.typeName===s.typeName)})).filter(a=>{var s,o;return(o=(s=a.entity)==null?void 0:s.directives)==null?void 0:o.some(u=>u.name==="collection")}).map(a=>{var o,u,c;const s=(u=(o=a.entity.directives)==null?void 0:o.find(l=>l.name==="collection"))==null?void 0:u.args;if(!s)throw new Error("collection directive must have args");return{name:a.field.name,resource:s.typeName,isCollection:!0,target:`${(c=n.actions.find(l=>l.action==="show"))==null?void 0:c.path.split(".").pop()}Id`,label:a.field.description}}).filter(a=>{var u,c,l,f,m;const s=r.find(p=>p.name===a.resource);return!!((m=(f=(l=(c=(u=s==null?void 0:s.actions.find(p=>p.action==="list"))==null?void 0:u.variableDefinitionObjects)==null?void 0:c.find(p=>p.name==="filter"))==null?void 0:l.variable)==null?void 0:f.inputFields)==null?void 0:m.find(p=>p.name===a.target))})}function ve(e,r,n,t){const{simplifiedEntities:i}=e;return t.fields.map(a=>({field:a,entity:i.find(s=>a.typeName===s.typeName)})).filter(a=>{var s,o;return a.entity.kind==="Object"&&!a.field.isList&&!((o=(s=a.entity)==null?void 0:s.directives)!=null&&o.some(u=>u.name==="collection"))}).map(a=>({name:a.field.name,resource:a.entity.typeName,isCollection:!1,source:`${a.field.name}.id`,label:a.field.description})).filter(a=>t.fields.some(s=>s.name===a.name))}function be(e,r,n){var a;const t=(a=e.config.resources)==null?void 0:a.find(s=>s.name===n.name);return(t==null?void 0:t.additionalRelations)||[]}function Ne(e,r,n){const{simplifiedEntities:t}=e;if(!r)throw new Error("resources must be defined");const i=t.find(u=>u.typeName===n.name);if(!i)return[];if(i.kind!=="Object"||!i.fields)return[];const a=ve(e,r,n,i),s=he(e,r,n,i);return[...be(e,r,n),...s,...a]}function we(e,r,n){const t=Ne(e,r,n);return{...n,relations:t}}function qe(){return[]}function Fe(e,r,n,t,i){if(!i||!r)return;const a=y.generatePath(e,r.typeName,n.typeName,t),s=a==null?void 0:a.split(".").pop(),o=`${s}Create.${s}`,u=(i==null?void 0:i.queries)||qe();if(o)return{path:o,...i||{},queries:u,action:"create"};if(i!=null&&i.path)return{...i,path:i.path,queries:u,action:"create"}}function Te(){return[]}function Ee(e,r,n,t,i){if(!i||!r)return;const a=y.generatePath(e,r.typeName,n.typeName,t),s=a==null?void 0:a.split(".").pop(),o=`${s}Delete.${s}`,u=(i==null?void 0:i.queries)||Te();if(o)return{path:o,...i||{},queries:u,action:"delete"};if(i!=null&&i.path)return{...i,path:i.path,queries:u,action:"delete"}}function Se(){return[]}function ke(e,r,n,t,i){if(!r)return;const s=e.filter(c=>c.kind==="Object").find(c=>{var f;const l=(f=c.directives)==null?void 0:f.find(m=>m.name==="collection");return l?l.args.typeName===n.typeName:!1});if(!s)return;const o=y.generatePath(e,r.typeName,s.typeName,t),u=(i==null?void 0:i.queries)||Se();if(o)return{path:o,...i||{},queries:u,action:"list"};if(i!=null&&i.path)return{...i,path:i.path,queries:u,action:"list"}}function je(){return[]}function Qe(e,r,n,t,i){if(!r)return;const a=y.generatePath(e,r.typeName,n.typeName,t),s=(i==null?void 0:i.queries)||je();if(a)return{path:a,...i||{},queries:s,action:"show"};if(i!=null&&i.path)return{...i,path:i.path,queries:s,action:"show"}}function Oe(){return[]}function Re(e,r,n,t,i){if(!i||!r)return;const a=y.generatePath(e,r.typeName,n.typeName,t),s=a==null?void 0:a.split(".").pop(),o=`${s}Update.${s}`,u=(i==null?void 0:i.queries)||Oe();if(o)return{path:o,...i||{},queries:u,action:"update"};if(i!=null&&i.path)return{...i,path:i.path,queries:u,action:"update"}}function $e(e){var r,n;return((n=(r=e==null?void 0:e.find(t=>t.name==="label"))==null?void 0:r.args)==null?void 0:n.name)||void 0}function R(){return{action:"list"}}function $(){return{action:"show"}}function xe(e){if(!e)return[R(),$()];const r=e.find(t=>t.action==="list"),n=e.find(t=>t.action==="show");return r&&n?e:!r&&n?[R(),...e]:r&&!n?[$(),...e]:[R(),$(),...e]}function Pe({simplifiedEntities:e,adminRootEntity:r,item:n,adminPath:t,resource:i}){var s;return((s=xe(i==null?void 0:i.actions))==null?void 0:s.map(o=>{switch(o.action){case"list":return ke(e,r,n,t,o);case"show":return Qe(e,r,n,t,o);case"create":return Fe(e,r,n,t,o);case"update":return Re(e,r,n,t,o);case"delete":return Ee(e,r,n,t,o);default:return}}).filter(o=>o!==void 0))||[]}function Ve(e,r){var l,f,m;const{simplifiedEntities:n,config:t}=r,i=t.adminPath?`${t.adminPath}.`:"",a=n.find(p=>{var v;return(v=p.directives)==null?void 0:v.find(N=>N.name==="queryRoot")}),s=y.findEntityFromPath(n,a.typeName,((l=t.adminPath)==null?void 0:l.split("."))||[]),o=(f=t.resources)==null?void 0:f.find(p=>p.name===e.typeName),u=Pe({simplifiedEntities:n,adminRootEntity:s,item:e,adminPath:i,resource:o}),c=(m=e.directives)==null?void 0:m.find(p=>p.name==="model");if(!c)throw new Error("model directive not found");return{label:$e(e.directives),name:e.typeName,typeName:e.typeName,skipMenu:o&&o.skipMenu||!1,category:o?o==null?void 0:o.category:"default",actions:u,representative:c.args.representative}}function Ie(e,r,n,t){const i=e===""?n:y.findEntityFromPath(r,"Query",e.split("."));if(!i)throw new Error("adminEntity not found");const a=i.fields.map(s=>s.typeName);return y.filterEntitiesByDirectiveName(r,"model").filter(s=>a.includes(s.typeName)).map(s=>Ve(s,t))}function Ce(e){var o,u,c,l;const{simplifiedEntities:r,config:n}=e,t=y.findEntityByDirectiveName(r,"queryRoot");if(!t)throw new Error("queryRoot not found");const i=(c=(u=(o=t.directives)==null?void 0:o.find(f=>f.name==="queryRoot"))==null?void 0:u.args)==null?void 0:c.adminPaths;if(!i)throw new Error("adminPaths not found");const a=i.map(f=>Ie(f,r,t,e)).flat(),s=((l=n.resources)==null?void 0:l.map(f=>f.name))||a.map(f=>f.name);return y.sortDataByOrder(a,s,"name")}function T(e,r,n,t){var s;if(t&&n)return{data:`${n}.nodes`,total:`${n}.totalCount`};if(n)return{data:`${n}`};const i=(s=r==null?void 0:r.find(o=>o.name==="main"))==null?void 0:s.queryString;if(!i)throw new Error("Can't find gql");return{data:`${h` | ||
${i} | ||
`.definitions[0].name.value}.${y.lowercaseFirstLetter(e)}`}}function Be(e,r){return{...r,actions:r.actions.map(n=>{switch(n.action){case"create":return{...n,responseDataPath:T(r.name,n.queries)};case"update":return{...n,responseDataPath:T(r.name,n.queries)};case"delete":return{...n,responseDataPath:T(r.name,n.queries)};case"show":return{...n,responseDataPath:T(r.name,n.queries,n.path)};case"list":return{...n,responseDataPath:T(r.name,n.queries,n.path,!0)};default:return n}})}}function Le(e){const r=Ce(e).map(n=>_(e,n)).map(n=>ge(e,n));return r.map(n=>we(e,r,n)).map(n=>W(e,n)).map(n=>K(e,n)).map(n=>Be(e,n)).map(n=>D(e,n)).map(n=>{const t=n.actions.reduce((i,a)=>{switch(a.action){case"create":return[...i,a];case"update":return[...i,a];case"delete":return[...i,a];case"show":{const{variableDefinitionObjects:s,...o}=a;return[...i,o]}case"list":{const{variableDefinitionObjects:s,...o}=a;return[...i,o]}default:return i}},[]);return{...n,actions:t}})}g.convert=Le,Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})}); | ||
//# sourceMappingURL=index.umd.js.map |
{ | ||
"name": "@theconcurrent/resource", | ||
"version": "0.0.31", | ||
"version": "0.0.33", | ||
"main": "./dist/index.umd.js", | ||
@@ -27,14 +27,14 @@ "module": "./dist/index.es.js", | ||
"dependencies": { | ||
"@theconcurrent/query": "0.0.31", | ||
"@theconcurrent/simplified-entity": "0.0.31", | ||
"@theconcurrent/utility": "0.0.31", | ||
"@theconcurrent/query": "0.0.33", | ||
"@theconcurrent/simplified-entity": "0.0.33", | ||
"@theconcurrent/utility": "0.0.33", | ||
"graphql": "16.0.1" | ||
}, | ||
"peerDependencies": { | ||
"@theconcurrent/query": "0.0.31", | ||
"@theconcurrent/simplified-entity": "0.0.31", | ||
"@theconcurrent/utility": "0.0.31", | ||
"@theconcurrent/query": "0.0.33", | ||
"@theconcurrent/simplified-entity": "0.0.33", | ||
"@theconcurrent/utility": "0.0.33", | ||
"graphql": "16.0.1" | ||
}, | ||
"gitHead": "b86503341182e544ed04c1167bc56c67140c2a10" | ||
"gitHead": "c7da7dfe308a29a687d9c17613f34d11a110c3f2" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
313498
2313
+ Added@theconcurrent/query@0.0.33(transitive)
+ Added@theconcurrent/simplified-entity@0.0.33(transitive)
+ Added@theconcurrent/utility@0.0.33(transitive)
- Removed@theconcurrent/query@0.0.31(transitive)
- Removed@theconcurrent/simplified-entity@0.0.31(transitive)
- Removed@theconcurrent/utility@0.0.31(transitive)
Updated@theconcurrent/query@0.0.33