@samarium.sdk/new 0.25.1 → 0.26.0
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.
- package/bin/samarium +156 -86
- package/package.json +2 -2
package/bin/samarium
CHANGED
|
@@ -344,7 +344,7 @@ ${F.comment}`:F.comment}this.doc.range[2]=F.offset;break}default:this.errors.pus
|
|
|
344
344
|
`)+1;while(F!==0)this.onNewLine(this.offset+F),F=this.source.indexOf(`
|
|
345
345
|
`,F)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(D){let F=D.items[D.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,F.value){let P="end"in F.value?F.value.end:void 0;if((Array.isArray(P)?P[P.length-1]:void 0)?.type==="comment")P?.push(this.sourceToken);else D.items.push({start:[this.sourceToken]})}else if(F.sep)F.sep.push(this.sourceToken);else F.start.push(this.sourceToken);return;case"space":case"comment":if(F.value)D.items.push({start:[this.sourceToken]});else if(F.sep)F.sep.push(this.sourceToken);else{if(this.atIndentedComment(F.start,D.indent)){let B=D.items[D.items.length-2]?.value?.end;if(Array.isArray(B)){Array.prototype.push.apply(B,F.start),B.push(this.sourceToken),D.items.pop();return}}F.start.push(this.sourceToken)}return}if(this.indent>=D.indent){let P=!this.onKeyLine&&this.indent===D.indent,B=P&&(F.sep||F.explicitKey)&&this.type!=="seq-item-ind",Z=[];if(B&&F.sep&&!F.value){let X=[];for(let q=0;q<F.sep.length;++q){let J=F.sep[q];switch(J.type){case"newline":X.push(q);break;case"space":break;case"comment":if(J.indent>D.indent)X.length=0;break;default:X.length=0}}if(X.length>=2)Z=F.sep.splice(X[1])}switch(this.type){case"anchor":case"tag":if(B||F.value)Z.push(this.sourceToken),D.items.push({start:Z}),this.onKeyLine=!0;else if(F.sep)F.sep.push(this.sourceToken);else F.start.push(this.sourceToken);return;case"explicit-key-ind":if(!F.sep&&!F.explicitKey)F.start.push(this.sourceToken),F.explicitKey=!0;else if(B||F.value)Z.push(this.sourceToken),D.items.push({start:Z,explicitKey:!0});else this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]});this.onKeyLine=!0;return;case"map-value-ind":if(F.explicitKey)if(!F.sep)if(R0(F.start,"newline"))Object.assign(F,{key:null,sep:[this.sourceToken]});else{let X=y8(F.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:X,key:null,sep:[this.sourceToken]}]})}else if(F.value)D.items.push({start:[],key:null,sep:[this.sourceToken]});else if(R0(F.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Z,key:null,sep:[this.sourceToken]}]});else if(Vz(F.key)&&!R0(F.sep,"newline")){let X=y8(F.start),q=F.key,J=F.sep;J.push(this.sourceToken),delete F.key,delete F.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:X,key:q,sep:J}]})}else if(Z.length>0)F.sep=F.sep.concat(Z,this.sourceToken);else F.sep.push(this.sourceToken);else if(!F.sep)Object.assign(F,{key:null,sep:[this.sourceToken]});else if(F.value||B)D.items.push({start:Z,key:null,sep:[this.sourceToken]});else if(R0(F.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]});else F.sep.push(this.sourceToken);this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let X=this.flowScalar(this.type);if(B||F.value)D.items.push({start:Z,key:X,sep:[]}),this.onKeyLine=!0;else if(F.sep)this.stack.push(X);else Object.assign(F,{key:X,sep:[]}),this.onKeyLine=!0;return}default:{let X=this.startBlockValue(D);if(X){if(X.type==="block-seq"){if(!F.explicitKey&&F.sep&&!R0(F.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else if(P)D.items.push({start:Z});this.stack.push(X);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(D){let F=D.items[D.items.length-1];switch(this.type){case"newline":if(F.value){let P="end"in F.value?F.value.end:void 0;if((Array.isArray(P)?P[P.length-1]:void 0)?.type==="comment")P?.push(this.sourceToken);else D.items.push({start:[this.sourceToken]})}else F.start.push(this.sourceToken);return;case"space":case"comment":if(F.value)D.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(F.start,D.indent)){let B=D.items[D.items.length-2]?.value?.end;if(Array.isArray(B)){Array.prototype.push.apply(B,F.start),B.push(this.sourceToken),D.items.pop();return}}F.start.push(this.sourceToken)}return;case"anchor":case"tag":if(F.value||this.indent<=D.indent)break;F.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==D.indent)break;if(F.value||R0(F.start,"seq-item-ind"))D.items.push({start:[this.sourceToken]});else F.start.push(this.sourceToken);return}if(this.indent>D.indent){let P=this.startBlockValue(D);if(P){this.stack.push(P);return}}yield*this.pop(),yield*this.step()}*flowCollection(D){let F=D.items[D.items.length-1];if(this.type==="flow-error-end"){let P;do yield*this.pop(),P=this.peek(1);while(P&&P.type==="flow-collection")}else if(D.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":if(!F||F.sep)D.items.push({start:[this.sourceToken]});else F.start.push(this.sourceToken);return;case"map-value-ind":if(!F||F.value)D.items.push({start:[],key:null,sep:[this.sourceToken]});else if(F.sep)F.sep.push(this.sourceToken);else Object.assign(F,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":if(!F||F.value)D.items.push({start:[this.sourceToken]});else if(F.sep)F.sep.push(this.sourceToken);else F.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let B=this.flowScalar(this.type);if(!F||F.value)D.items.push({start:[],key:B,sep:[]});else if(F.sep)this.stack.push(B);else Object.assign(F,{key:B,sep:[]});return}case"flow-map-end":case"flow-seq-end":D.end.push(this.sourceToken);return}let P=this.startBlockValue(D);if(P)this.stack.push(P);else yield*this.pop(),yield*this.step()}else{let P=this.peek(2);if(P.type==="block-map"&&(this.type==="map-value-ind"&&P.indent===D.indent||this.type==="newline"&&!P.items[P.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&P.type!=="flow-collection"){let B=T5(P),Z=y8(B);Lz(D);let X=D.end.splice(1,D.end.length);X.push(this.sourceToken);let q={type:"block-map",offset:D.offset,indent:D.indent,items:[{start:Z,key:D,sep:X}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=q}else yield*this.lineEnd(D)}}flowScalar(D){if(this.onNewLine){let F=this.source.indexOf(`
|
|
346
346
|
`)+1;while(F!==0)this.onNewLine(this.offset+F),F=this.source.indexOf(`
|
|
347
|
-
`,F)+1}return{type:D,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(D){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let F=T5(D),P=y8(F);return P.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:P,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let F=T5(D),P=y8(F);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:P,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(D,F){if(this.type!=="comment")return!1;if(this.indent<=F)return!1;return D.every((P)=>P.type==="newline"||P.type==="space")}*documentEnd(D){if(this.type!=="doc-mode"){if(D.end)D.end.push(this.sourceToken);else D.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(D){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:if(D.end)D.end.push(this.sourceToken);else D.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}qg.Parser=wz});var uz=Q((Gg)=>{var jz=DP(),Yg=q1(),O1=J1(),Hg=UF(),Ug=t(),Wg=UP(),bz=WP();function Sz(D){let F=D.prettyErrors!==!1;return{lineCounter:D.lineCounter||F&&new Wg.LineCounter||null,prettyErrors:F}}function Og(D,F={}){let{lineCounter:P,prettyErrors:B}=Sz(F),Z=new bz.Parser(P?.addNewLine),X=new jz.Composer(F),q=Array.from(X.compose(Z.parse(D)));if(B&&P)for(let J of q)J.errors.forEach(O1.prettifyError(D,P)),J.warnings.forEach(O1.prettifyError(D,P));if(q.length>0)return q;return Object.assign([],{empty:!0},X.streamInfo())}function Tz(D,F={}){let{lineCounter:P,prettyErrors:B}=Sz(F),Z=new bz.Parser(P?.addNewLine),X=new jz.Composer(F),q=null;for(let J of X.compose(Z.parse(D),!0,D.length))if(!q)q=J;else if(q.options.logLevel!=="silent"){q.errors.push(new O1.YAMLParseError(J.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(B&&P)q.errors.forEach(O1.prettifyError(D,P)),q.warnings.forEach(O1.prettifyError(D,P));return q}function zg(D,F,P){let B=void 0;if(typeof F==="function")B=F;else if(P===void 0&&F&&typeof F==="object")P=F;let Z=Tz(D,P);if(!Z)return null;if(Z.warnings.forEach((X)=>Hg.warn(Z.options.logLevel,X)),Z.errors.length>0)if(Z.options.logLevel!=="silent")throw Z.errors[0];else Z.errors=[];return Z.toJS(Object.assign({reviver:B},P))}function Qg(D,F,P){let B=null;if(typeof F==="function"||Array.isArray(F))B=F;else if(P===void 0&&F)P=F;if(typeof P==="string")P=P.length;if(typeof P==="number"){let Z=Math.round(P);P=Z<1?void 0:Z>8?{indent:8}:{indent:Z}}if(D===void 0){let{keepUndefined:Z}=P??F??{};if(!Z)return}if(Ug.isDocument(D)&&!B)return D.toString(P);return new Yg.Document(D,B,P).toString(P)}Gg.parse=zg;Gg.parseAllDocuments=Og;Gg.parseDocument=Tz;Gg.stringify=Qg});var _z=Q((Ng)=>{var Eg=DP(),Kg=q1(),Ag=gF(),OP=J1(),Cg=p6(),I0=t(),Lg=O0(),Vg=CD(),wg=Q0(),jg=G0(),bg=b5(),Sg=HP(),Tg=UP(),ug=WP(),u5=uz(),Nz=c6();Ng.Composer=Eg.Composer;Ng.Document=Kg.Document;Ng.Schema=Ag.Schema;Ng.YAMLError=OP.YAMLError;Ng.YAMLParseError=OP.YAMLParseError;Ng.YAMLWarning=OP.YAMLWarning;Ng.Alias=Cg.Alias;Ng.isAlias=I0.isAlias;Ng.isCollection=I0.isCollection;Ng.isDocument=I0.isDocument;Ng.isMap=I0.isMap;Ng.isNode=I0.isNode;Ng.isPair=I0.isPair;Ng.isScalar=I0.isScalar;Ng.isSeq=I0.isSeq;Ng.Pair=Lg.Pair;Ng.Scalar=Vg.Scalar;Ng.YAMLMap=wg.YAMLMap;Ng.YAMLSeq=jg.YAMLSeq;Ng.CST=bg;Ng.Lexer=Sg.Lexer;Ng.LineCounter=Tg.LineCounter;Ng.Parser=ug.Parser;Ng.parse=u5.parse;Ng.parseAllDocuments=u5.parseAllDocuments;Ng.parseDocument=u5.parseDocument;Ng.stringify=u5.stringify;Ng.visit=Nz.visit;Ng.visitAsync=Nz.visitAsync});var G1={name:"@samarium.sdk/new",version:"0.
|
|
347
|
+
`,F)+1}return{type:D,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(D){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let F=T5(D),P=y8(F);return P.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:P,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let F=T5(D),P=y8(F);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:P,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(D,F){if(this.type!=="comment")return!1;if(this.indent<=F)return!1;return D.every((P)=>P.type==="newline"||P.type==="space")}*documentEnd(D){if(this.type!=="doc-mode"){if(D.end)D.end.push(this.sourceToken);else D.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(D){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:if(D.end)D.end.push(this.sourceToken);else D.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}qg.Parser=wz});var uz=Q((Gg)=>{var jz=DP(),Yg=q1(),O1=J1(),Hg=UF(),Ug=t(),Wg=UP(),bz=WP();function Sz(D){let F=D.prettyErrors!==!1;return{lineCounter:D.lineCounter||F&&new Wg.LineCounter||null,prettyErrors:F}}function Og(D,F={}){let{lineCounter:P,prettyErrors:B}=Sz(F),Z=new bz.Parser(P?.addNewLine),X=new jz.Composer(F),q=Array.from(X.compose(Z.parse(D)));if(B&&P)for(let J of q)J.errors.forEach(O1.prettifyError(D,P)),J.warnings.forEach(O1.prettifyError(D,P));if(q.length>0)return q;return Object.assign([],{empty:!0},X.streamInfo())}function Tz(D,F={}){let{lineCounter:P,prettyErrors:B}=Sz(F),Z=new bz.Parser(P?.addNewLine),X=new jz.Composer(F),q=null;for(let J of X.compose(Z.parse(D),!0,D.length))if(!q)q=J;else if(q.options.logLevel!=="silent"){q.errors.push(new O1.YAMLParseError(J.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(B&&P)q.errors.forEach(O1.prettifyError(D,P)),q.warnings.forEach(O1.prettifyError(D,P));return q}function zg(D,F,P){let B=void 0;if(typeof F==="function")B=F;else if(P===void 0&&F&&typeof F==="object")P=F;let Z=Tz(D,P);if(!Z)return null;if(Z.warnings.forEach((X)=>Hg.warn(Z.options.logLevel,X)),Z.errors.length>0)if(Z.options.logLevel!=="silent")throw Z.errors[0];else Z.errors=[];return Z.toJS(Object.assign({reviver:B},P))}function Qg(D,F,P){let B=null;if(typeof F==="function"||Array.isArray(F))B=F;else if(P===void 0&&F)P=F;if(typeof P==="string")P=P.length;if(typeof P==="number"){let Z=Math.round(P);P=Z<1?void 0:Z>8?{indent:8}:{indent:Z}}if(D===void 0){let{keepUndefined:Z}=P??F??{};if(!Z)return}if(Ug.isDocument(D)&&!B)return D.toString(P);return new Yg.Document(D,B,P).toString(P)}Gg.parse=zg;Gg.parseAllDocuments=Og;Gg.parseDocument=Tz;Gg.stringify=Qg});var _z=Q((Ng)=>{var Eg=DP(),Kg=q1(),Ag=gF(),OP=J1(),Cg=p6(),I0=t(),Lg=O0(),Vg=CD(),wg=Q0(),jg=G0(),bg=b5(),Sg=HP(),Tg=UP(),ug=WP(),u5=uz(),Nz=c6();Ng.Composer=Eg.Composer;Ng.Document=Kg.Document;Ng.Schema=Ag.Schema;Ng.YAMLError=OP.YAMLError;Ng.YAMLParseError=OP.YAMLParseError;Ng.YAMLWarning=OP.YAMLWarning;Ng.Alias=Cg.Alias;Ng.isAlias=I0.isAlias;Ng.isCollection=I0.isCollection;Ng.isDocument=I0.isDocument;Ng.isMap=I0.isMap;Ng.isNode=I0.isNode;Ng.isPair=I0.isPair;Ng.isScalar=I0.isScalar;Ng.isSeq=I0.isSeq;Ng.Pair=Lg.Pair;Ng.Scalar=Vg.Scalar;Ng.YAMLMap=wg.YAMLMap;Ng.YAMLSeq=jg.YAMLSeq;Ng.CST=bg;Ng.Lexer=Sg.Lexer;Ng.LineCounter=Tg.LineCounter;Ng.Parser=ug.Parser;Ng.parse=u5.parse;Ng.parseAllDocuments=u5.parseAllDocuments;Ng.parseDocument=u5.parseDocument;Ng.stringify=u5.stringify;Ng.visit=Nz.visit;Ng.visitAsync=Nz.visitAsync});var G1={name:"@samarium.sdk/new",version:"0.26.0",main:"bin/samarium",type:"module",repository:{type:"git",url:"https://github.com/liontariai/samarium",directory:"packages/new"},keywords:["graphql","typescript","compiler","api","sdk","openapi","oas3","oas3.1","swagger","graphql-sdk","graphql-codegen"],homepage:"https://liontari.ai",bin:{samarium:"bin/samarium"},publishConfig:{access:"public"},files:["bin/**/*","README.md","package.json"],scripts:{prettier:"prettier --write .",bundle:"bun bundle.ts",prepublishOnly:"bun run bundle",test:"bun test"},prettier:{tabWidth:4},devDependencies:{"bun-types":"^1.2.19","@samarium.sdk/make":"workspace:*"},peerDependencies:{typescript:"^5.0.0"},dependencies:{"@inquirer/prompts":"^5.0.5",commander:"^11.1.0","detect-indent":"^7.0.1",prettier:"^3.2.5",yaml:"^2.6.0"}};var hP=RD(fP(),1),{program:Ev,createCommand:Kv,createArgument:Av,createOption:Cv,CommanderError:Lv,InvalidArgumentError:Vv,InvalidOptionArgumentError:wv,Command:gP,Argument:jv,Option:bv,Help:Sv}=hP.default;var dH=RD(l2(),1);var E3=RD(l2(),1);class P0 extends Error{response;request;constructor(D,F){let P=`${P0.extractMessage(D)}: ${JSON.stringify({response:D,request:F})}`;super(P);if(Object.setPrototypeOf(this,P0.prototype),this.response=D,this.request=F,typeof Error.captureStackTrace==="function")Error.captureStackTrace(this,P0)}static extractMessage(D){return D.errors?.[0]?.message??`GraphQL Error (Code: ${String(D.status)})`}}var W7=(D)=>D.toUpperCase(),Q3=(D)=>{return typeof D==="function"?D():D},O7=(D,F)=>D.map((P,B)=>[P,F[B]]),x0=(D)=>{let F={};if(D instanceof Headers)F=_b(D);else if(Array.isArray(D))D.forEach(([P,B])=>{if(P&&B!==void 0)F[P]=B});else if(D)F=D;return F},_b=(D)=>{let F={};return D.forEach((P,B)=>{F[B]=P}),F},NH=(D)=>{try{let F=D();if(kb(F))return F.catch((P)=>{return uH(P)});return F}catch(F){return uH(F)}},uH=(D)=>{if(D instanceof Error)return D;return Error(String(D))},kb=(D)=>{return typeof D==="object"&&D!==null&&"then"in D&&typeof D.then==="function"&&"catch"in D&&typeof D.catch==="function"&&"finally"in D&&typeof D.finally==="function"},G3=(D)=>{throw Error(`Unhandled case: ${String(D)}`)},S6=(D)=>{return typeof D==="object"&&D!==null&&!Array.isArray(D)};var _H=(D,F)=>{return D.documents?D:{documents:D,requestHeaders:F,signal:void 0}};var kH=(D,F,P)=>{return D.query?D:{query:D,variables:F,requestHeaders:P,signal:void 0}};var hH=RD(l2(),1);var z7="Accept",R3="Content-Type",T6="application/json",I3="application/graphql-response+json";var Q7=(D)=>D.replace(/([\s,]|#[^\n\r]+)+/g," ").trim(),gH=(D)=>{let F=D.toLowerCase();return F.includes(I3)||F.includes(T6)},G7=(D)=>{try{if(Array.isArray(D))return{_tag:"Batch",executionResults:D.map(xH)};else if(S6(D))return{_tag:"Single",executionResult:xH(D)};else throw Error(`Invalid execution result: result is not object or array.
|
|
348
348
|
Got:
|
|
349
349
|
${String(D)}`)}catch(F){return F}},xH=(D)=>{if(typeof D!=="object"||D===null)throw Error("Invalid execution result: result is not object");let F=void 0,P=void 0,B=void 0;if("errors"in D){if(!S6(D.errors)&&!Array.isArray(D.errors))throw Error("Invalid execution result: errors is not plain object OR array");F=D.errors}if("data"in D){if(!S6(D.data)&&D.data!==null)throw Error("Invalid execution result: data is not plain object");P=D.data}if("extensions"in D){if(!S6(D.extensions))throw Error("Invalid execution result: extensions is not plain object");B=D.extensions}return{data:P,errors:F,extensions:B}},vH=(D)=>D._tag==="Batch"?D.executionResults.some(fH):fH(D.executionResult),fH=(D)=>Array.isArray(D.errors)?D.errors.length>0:Boolean(D.errors),R7=(D)=>{return typeof D==="object"&&D!==null&&"kind"in D&&D.kind===hH.Kind.OPERATION_DEFINITION};var yH=RD(l2(),1),mH=RD(l2(),1),xb=(D)=>{let F=void 0,P=D.definitions.filter(R7);if(P.length===1)F=P[0].name?.value;return F},fb=(D)=>{let F=!1,P=D.definitions.filter(R7);if(P.length===1)F=P[0].operation==="mutation";return F},u6=(D,F)=>{let P=typeof D==="string"?D:mH.print(D),B=!1,Z=void 0;if(F)return{expression:P,isMutation:B,operationName:Z};let X=NH(()=>typeof D==="string"?yH.parse(D):D);if(X instanceof Error)return{expression:P,isMutation:B,operationName:Z};return Z=xb(X),B=fb(X),{expression:P,operationName:Z,isMutation:B}};var $3=JSON;var M3=async(D)=>{let F={...D,method:D.request._tag==="Single"?D.request.document.isMutation?"POST":W7(D.method??"post"):D.request.hasMutations?"POST":W7(D.method??"post"),fetchOptions:{...D.fetchOptions,errorPolicy:D.fetchOptions.errorPolicy??"none"}},B=await gb(F.method)(F);if(!B.ok)return new P0({status:B.status,headers:B.headers},{query:D.request._tag==="Single"?D.request.document.expression:D.request.query,variables:D.request.variables});let Z=await hb(B,D.fetchOptions.jsonSerializer??$3);if(Z instanceof Error)throw Z;let X={status:B.status,headers:B.headers};if(vH(Z)&&F.fetchOptions.errorPolicy==="none"){let q=Z._tag==="Batch"?{...Z.executionResults,...X}:{...Z.executionResult,...X};return new P0(q,{query:D.request._tag==="Single"?D.request.document.expression:D.request.query,variables:D.request.variables})}switch(Z._tag){case"Single":return{...X,...lH(F)(Z.executionResult)};case"Batch":return{...X,data:Z.executionResults.map(lH(F))};default:G3(Z)}},lH=(D)=>(F)=>{return{extensions:F.extensions,data:F.data,errors:D.fetchOptions.errorPolicy==="all"?F.errors:void 0}},hb=async(D,F)=>{let P=D.headers.get(R3),B=await D.text();if(P&&gH(P))return G7(F.parse(B));else return G7(B)},gb=(D)=>async(F)=>{let P=new Headers(F.headers),B=null,Z=void 0;if(!P.has(z7))P.set(z7,[I3,T6].join(", "));if(D==="POST"){if(Z=(F.fetchOptions.jsonSerializer??$3).stringify(vb(F)),typeof Z==="string"&&!P.has(R3))P.set(R3,T6)}else B=yb(F);let X={method:D,headers:P,body:Z,...F.fetchOptions},q=new URL(F.url),J=X;if(F.middleware){let H=await Promise.resolve(F.middleware({...X,url:F.url,operationName:F.request._tag==="Single"?F.request.document.operationName:void 0,variables:F.request.variables})),{url:U,...W}=H;q=new URL(U),J=W}if(B)B.forEach((H,U)=>{q.searchParams.append(U,H)});return await(F.fetch??fetch)(q,J)},vb=(D)=>{switch(D.request._tag){case"Single":return{query:D.request.document.expression,variables:D.request.variables,operationName:D.request.document.operationName};case"Batch":return O7(D.request.query,D.request.variables??[]).map(([F,P])=>({query:F,variables:P}));default:throw G3(D.request)}},yb=(D)=>{let F=D.fetchOptions.jsonSerializer??$3,P=new URLSearchParams;switch(D.request._tag){case"Single":{if(P.append("query",Q7(D.request.document.expression)),D.request.variables)P.append("variables",F.stringify(D.request.variables));if(D.request.document.operationName)P.append("operationName",D.request.document.operationName);return P}case"Batch":{let B=D.request.variables?.map((q)=>F.stringify(q))??[],Z=D.request.query.map(Q7),X=O7(Z,B).map(([q,J])=>({query:q,variables:J}));return P.append("query",F.stringify(X)),P}default:throw G3(D.request)}};class f0{url;requestConfig;constructor(D,F={}){this.url=D,this.requestConfig=F}rawRequest=async(...D)=>{let[F,P,B]=D,Z=kH(F,P,B),{headers:X,fetch:q=globalThis.fetch,method:J="POST",requestMiddleware:Y,responseMiddleware:H,excludeOperationName:U,...W}=this.requestConfig,{url:O}=this;if(Z.signal!==void 0)W.signal=Z.signal;let z=u6(Z.query,U),I=await M3({url:O,request:{_tag:"Single",document:z,variables:Z.variables},headers:{...x0(Q3(X)),...x0(Z.requestHeaders)},fetch:q,method:J,fetchOptions:W,middleware:Y});if(H)await H(I,{operationName:z.operationName,variables:P,url:this.url});if(I instanceof Error)throw I;return I};async request(D,...F){let[P,B]=F,Z=cH(D,P,B),{headers:X,fetch:q=globalThis.fetch,method:J="POST",requestMiddleware:Y,responseMiddleware:H,excludeOperationName:U,...W}=this.requestConfig,{url:O}=this;if(Z.signal!==void 0)W.signal=Z.signal;let z=u6(Z.document,U),I=await M3({url:O,request:{_tag:"Single",document:z,variables:Z.variables},headers:{...x0(Q3(X)),...x0(Z.requestHeaders)},fetch:q,method:J,fetchOptions:W,middleware:Y});if(H)await H(I,{operationName:z.operationName,variables:Z.variables,url:this.url});if(I instanceof Error)throw I;return I.data}async batchRequests(D,F){let P=_H(D,F),{headers:B,excludeOperationName:Z,...X}=this.requestConfig;if(P.signal!==void 0)X.signal=P.signal;let q=P.documents.map(({document:W})=>u6(W,Z)),J=q.map(({expression:W})=>W),Y=q.some(({isMutation:W})=>W),H=P.documents.map(({variables:W})=>W),U=await M3({url:this.url,request:{_tag:"Batch",operationName:void 0,query:J,hasMutations:Y,variables:H},headers:{...x0(Q3(B)),...x0(P.requestHeaders)},fetch:this.requestConfig.fetch??globalThis.fetch,method:this.requestConfig.method||"POST",fetchOptions:X,middleware:this.requestConfig.requestMiddleware});if(this.requestConfig.responseMiddleware)await this.requestConfig.responseMiddleware(U,{operationName:void 0,variables:H,url:this.url});if(U instanceof Error)throw U;return U.data}setHeaders(D){return this.requestConfig.headers=D,this}setHeader(D,F){let{headers:P}=this.requestConfig;if(P)P[D]=F;else this.requestConfig.headers={[D]:F};return this}setEndpoint(D){return this.url=D,this}}var cH=(D,F,P)=>{return D.document?D:{document:D,variables:F,requestHeaders:P,signal:void 0}};async function h0(D,F){try{let B=await new f0(D).request(E3.getIntrospectionQuery(),void 0,new Headers(F?.map((X)=>X.split("="))));return E3.buildClientSchema(B)}catch(P){throw P}}import mb from"fs";var I7=async(D,F)=>{let P=await h0(D.url,D.headers),B=dH.printSchema(P);mb.writeFileSync(F,B)};var K3=RD(l2(),1),A3=RD(l2(),1),KD=RD(l2(),1),lb=Object.defineProperty,rH=(D,F)=>{for(var P in F)lb(D,P,{get:F[P],enumerable:!0,configurable:!0,set:(B)=>F[P]=()=>B})};class aH{collector;options;authConfig;static FieldValueWrapperType;static EnumTypesMapped;static HelperTypes;static HelperFunctions;typeMeta;typeName;originalFullTypeName;constructor(D,F,P,B){this.collector=F,this.options=P,this.authConfig=B,this.typeMeta=F.getType(D),this.originalFullTypeName=D,this.typeName=this.originalTypeNameToTypescriptFriendlyName(D)}originalTypeNameToTypescriptFriendlyName(D){return D.replaceAll("[","").replaceAll("]","Array").replaceAll("!","NotNull")}originalTypeNameToTypescriptTypeNameWithoutModifiers(D,F=""){return`${D.replaceAll("[","").replaceAll("]","").replaceAll("!","")}${F}`}originalTypeNameToTypescriptTypeName(D,F=""){return`${this.originalTypeNameToTypescriptTypeNameWithoutModifiers(D,F)}${Array.from({length:D.split("[").length-1}).fill("[]").join("")}`}static makeRootOperationFunction(D){throw Error("Method not implemented.")}}var cb=`const Proxy = globalThis.Proxy;
|
|
350
350
|
Proxy.prototype = {};
|
|
@@ -365,10 +365,10 @@ function proxify(data: any, slw: any): any & ArrayLike<any> {
|
|
|
365
365
|
return Reflect.deleteProperty(slw, prop);
|
|
366
366
|
},
|
|
367
367
|
ownKeys(target: any[]): ArrayLike<string | symbol> {
|
|
368
|
-
return Reflect.ownKeys(
|
|
368
|
+
return Reflect.ownKeys(target);
|
|
369
369
|
},
|
|
370
370
|
getOwnPropertyDescriptor(target: any[], prop: PropertyKey): PropertyDescriptor | undefined {
|
|
371
|
-
return Reflect.getOwnPropertyDescriptor(
|
|
371
|
+
return Reflect.getOwnPropertyDescriptor(target, prop);
|
|
372
372
|
},
|
|
373
373
|
getPrototypeOf(target: any[]): object | null {
|
|
374
374
|
// Return Array.prototype for better array-like behavior (e.g., instanceof Array)
|
|
@@ -573,7 +573,7 @@ export class RootOperation {
|
|
|
573
573
|
variables: query.variables,
|
|
574
574
|
}),
|
|
575
575
|
})) as [string | URL | Request, RequestInit];
|
|
576
|
-
const response = await fetch(url, {
|
|
576
|
+
const response = await (RootOperation[OPTIONS].fetcher ?? globalThis.fetch)(url, {
|
|
577
577
|
...options,
|
|
578
578
|
headers: {
|
|
579
579
|
...options?.headers,
|
|
@@ -1140,10 +1140,16 @@ export class SelectionWrapper<
|
|
|
1140
1140
|
|
|
1141
1141
|
return {
|
|
1142
1142
|
// implement ProxyHandler methods
|
|
1143
|
-
ownKeys() {
|
|
1143
|
+
ownKeys(target) {
|
|
1144
|
+
if (target[SLW_FIELD_ARR_DEPTH]) {
|
|
1145
|
+
return Reflect.ownKeys(new Array(target[SLW_FIELD_ARR_DEPTH]));
|
|
1146
|
+
}
|
|
1144
1147
|
return Reflect.ownKeys(value ?? {});
|
|
1145
1148
|
},
|
|
1146
1149
|
getOwnPropertyDescriptor(target, prop) {
|
|
1150
|
+
if (target[SLW_FIELD_ARR_DEPTH]) {
|
|
1151
|
+
return Reflect.getOwnPropertyDescriptor(new Array(target[SLW_FIELD_ARR_DEPTH]), prop);
|
|
1152
|
+
}
|
|
1147
1153
|
return Reflect.getOwnPropertyDescriptor(value ?? {}, prop);
|
|
1148
1154
|
},
|
|
1149
1155
|
has(target, prop) {
|
|
@@ -1153,6 +1159,9 @@ export class SelectionWrapper<
|
|
|
1153
1159
|
if (Array.isArray(dataArr)) return true;
|
|
1154
1160
|
if (dataArr === undefined || dataArr === null) return false;
|
|
1155
1161
|
}
|
|
1162
|
+
if (target[SLW_FIELD_ARR_DEPTH]) {
|
|
1163
|
+
return Reflect.has(new Array(target[SLW_FIELD_ARR_DEPTH]), prop);
|
|
1164
|
+
}
|
|
1156
1165
|
|
|
1157
1166
|
return Reflect.has(value ?? {}, prop);
|
|
1158
1167
|
},
|
|
@@ -1341,23 +1350,28 @@ export class SelectionWrapper<
|
|
|
1341
1350
|
any,
|
|
1342
1351
|
any
|
|
1343
1352
|
>;
|
|
1353
|
+
const isScalar = target[SLW_PARENT_COLLECTOR] === undefined;
|
|
1344
1354
|
|
|
1345
1355
|
return function () {
|
|
1346
1356
|
return {
|
|
1347
1357
|
next() {
|
|
1348
1358
|
return asyncGen.next().then((val) => {
|
|
1359
|
+
const clonedSlw = target[SLW_CLONE]({
|
|
1360
|
+
SLW_OP_PATH: asyncGenRootPath,
|
|
1361
|
+
OP_RESULT_DATA: isScalar
|
|
1362
|
+
? { [asyncGenRootPath!]: val.value }
|
|
1363
|
+
: val.value,
|
|
1364
|
+
|
|
1365
|
+
// this is only for subscriptions
|
|
1366
|
+
SLW_NEEDS_CLONE: true,
|
|
1367
|
+
});
|
|
1368
|
+
const ret =
|
|
1369
|
+
typeof val.value === "object"
|
|
1370
|
+
? proxify(val.value, clonedSlw)
|
|
1371
|
+
: clonedSlw;
|
|
1349
1372
|
return {
|
|
1350
1373
|
done: val.done,
|
|
1351
|
-
value:
|
|
1352
|
-
val.value,
|
|
1353
|
-
target[SLW_CLONE]({
|
|
1354
|
-
SLW_OP_PATH: asyncGenRootPath,
|
|
1355
|
-
OP_RESULT_DATA: val.value,
|
|
1356
|
-
|
|
1357
|
-
// this is only for subscriptions
|
|
1358
|
-
SLW_NEEDS_CLONE: true,
|
|
1359
|
-
}),
|
|
1360
|
-
),
|
|
1374
|
+
value: isScalar ? ret[asyncGenRootPath!] : ret,
|
|
1361
1375
|
};
|
|
1362
1376
|
});
|
|
1363
1377
|
},
|
|
@@ -1636,9 +1650,79 @@ export class SelectionWrapper<
|
|
|
1636
1650
|
: EE[k];
|
|
1637
1651
|
};
|
|
1638
1652
|
|
|
1653
|
+
type SLFNReturned<
|
|
1654
|
+
T extends object,
|
|
1655
|
+
F extends object,
|
|
1656
|
+
E extends { [key: string | number | symbol]: any },
|
|
1657
|
+
TAD extends number,
|
|
1658
|
+
AS_PROMISE,
|
|
1659
|
+
AS_ASYNC_ITER,
|
|
1660
|
+
REP extends string | number | symbol,
|
|
1661
|
+
> =
|
|
1662
|
+
// Overload 1: No 's' provided -> return full transformed F
|
|
1663
|
+
(() => Prettify<
|
|
1664
|
+
ConvertToPromise<
|
|
1665
|
+
ConvertToAsyncIter<
|
|
1666
|
+
ToTArrayWithDepth<
|
|
1667
|
+
Prettify<"$all" extends keyof F ? (F["$all"] extends (...args: any) => any ? ReturnType<F["$all"]> : never) : never>,
|
|
1668
|
+
TAD
|
|
1669
|
+
>,
|
|
1670
|
+
AS_ASYNC_ITER
|
|
1671
|
+
>,
|
|
1672
|
+
AS_PROMISE
|
|
1673
|
+
> &
|
|
1674
|
+
ReplacePlaceHoldersWithTNested<
|
|
1675
|
+
ConvertToAsyncIter<
|
|
1676
|
+
ToTArrayWithDepth<
|
|
1677
|
+
Prettify<"$all" extends keyof F ? (F["$all"] extends (...args: any) => any ? ReturnType<F["$all"]> : never) : never>,
|
|
1678
|
+
TAD
|
|
1679
|
+
>,
|
|
1680
|
+
AS_ASYNC_ITER
|
|
1681
|
+
>,
|
|
1682
|
+
E,
|
|
1683
|
+
REP
|
|
1684
|
+
>
|
|
1685
|
+
>) &
|
|
1686
|
+
// Overload 2: With 's' provided -> infer result from selection
|
|
1687
|
+
(<
|
|
1688
|
+
TT = T,
|
|
1689
|
+
FF = F,
|
|
1690
|
+
EE = E,
|
|
1691
|
+
inferedResult = {
|
|
1692
|
+
[K in keyof TT]: TT[K] extends SelectionWrapperImpl<
|
|
1693
|
+
infer FN,
|
|
1694
|
+
infer TTNP,
|
|
1695
|
+
infer TTAD,
|
|
1696
|
+
infer VT,
|
|
1697
|
+
infer AT
|
|
1698
|
+
>
|
|
1699
|
+
? ToTArrayWithDepth<SLW_TPN_ToType<TTNP>, TTAD>
|
|
1700
|
+
: TT[K];
|
|
1701
|
+
},
|
|
1702
|
+
>(
|
|
1703
|
+
this: any,
|
|
1704
|
+
s: (selection: FF) => TT,
|
|
1705
|
+
) => Prettify<
|
|
1706
|
+
ConvertToPromise<
|
|
1707
|
+
ConvertToAsyncIter<
|
|
1708
|
+
ToTArrayWithDepth<inferedResult, TAD>,
|
|
1709
|
+
AS_ASYNC_ITER
|
|
1710
|
+
>,
|
|
1711
|
+
AS_PROMISE
|
|
1712
|
+
> &
|
|
1713
|
+
ReplacePlaceHoldersWithTNested<
|
|
1714
|
+
ConvertToAsyncIter<
|
|
1715
|
+
ToTArrayWithDepth<inferedResult, TAD>,
|
|
1716
|
+
AS_ASYNC_ITER
|
|
1717
|
+
>,
|
|
1718
|
+
EE,
|
|
1719
|
+
REP
|
|
1720
|
+
>
|
|
1721
|
+
>);
|
|
1722
|
+
|
|
1639
1723
|
export type SLFN<
|
|
1640
1724
|
T extends object,
|
|
1641
|
-
F,
|
|
1725
|
+
F extends object,
|
|
1642
1726
|
N extends string,
|
|
1643
1727
|
TNP extends string,
|
|
1644
1728
|
TAD extends number,
|
|
@@ -1651,35 +1735,7 @@ export class SelectionWrapper<
|
|
|
1651
1735
|
SLFN_name: N,
|
|
1652
1736
|
SLFN_typeNamePure: TNP,
|
|
1653
1737
|
SLFN_typeArrDepth: TAD,
|
|
1654
|
-
) => <
|
|
1655
|
-
TT = T,
|
|
1656
|
-
FF = F,
|
|
1657
|
-
EE = E,
|
|
1658
|
-
inferedResult = {
|
|
1659
|
-
[K in keyof TT]: TT[K] extends SelectionWrapperImpl<
|
|
1660
|
-
infer FN,
|
|
1661
|
-
infer TTNP,
|
|
1662
|
-
infer TTAD,
|
|
1663
|
-
infer VT,
|
|
1664
|
-
infer AT
|
|
1665
|
-
>
|
|
1666
|
-
? ToTArrayWithDepth<SLW_TPN_ToType<TTNP>, TTAD>
|
|
1667
|
-
: TT[K];
|
|
1668
|
-
},
|
|
1669
|
-
>(
|
|
1670
|
-
this: any,
|
|
1671
|
-
s: (selection: FF) => TT,
|
|
1672
|
-
) => Prettify<
|
|
1673
|
-
ConvertToPromise<
|
|
1674
|
-
ConvertToAsyncIter<ToTArrayWithDepth<inferedResult, TAD>, AS_ASYNC_ITER>,
|
|
1675
|
-
AS_PROMISE
|
|
1676
|
-
> &
|
|
1677
|
-
ReplacePlaceHoldersWithTNested<
|
|
1678
|
-
ConvertToAsyncIter<ToTArrayWithDepth<inferedResult, TAD>, AS_ASYNC_ITER>,
|
|
1679
|
-
EE,
|
|
1680
|
-
REP
|
|
1681
|
-
>
|
|
1682
|
-
>;
|
|
1738
|
+
) => SLFNReturned<T, F, E, TAD, AS_PROMISE, AS_ASYNC_ITER, REP>;
|
|
1683
1739
|
`;static HelperFunctions=`
|
|
1684
1740
|
const selectScalars = (selection: Record<string, any>) =>
|
|
1685
1741
|
Object.fromEntries(
|
|
@@ -1907,7 +1963,7 @@ export class SelectionWrapper<
|
|
|
1907
1963
|
const selectAll = <
|
|
1908
1964
|
S,
|
|
1909
1965
|
TNP extends string,
|
|
1910
|
-
SUB extends ReturnType<SLFN<{},
|
|
1966
|
+
SUB extends ReturnType<SLFN<{}, object, string, string, number>>,
|
|
1911
1967
|
V extends
|
|
1912
1968
|
| (SelectionWrapperImpl<any, any, any> | SUB)
|
|
1913
1969
|
| ((args: any) => SelectionWrapperImpl<any, any, any> | SUB),
|
|
@@ -1937,6 +1993,9 @@ export class SelectionWrapper<
|
|
|
1937
1993
|
opts.cyclic as Record<string, string>,
|
|
1938
1994
|
)
|
|
1939
1995
|
.filter(([k, v]) => v !== "exclude")
|
|
1996
|
+
.filter(([k, v]) =>
|
|
1997
|
+
v.match(new RegExp(\`\${selectCyclicFieldsOptsStr}(.*)\`)),
|
|
1998
|
+
)
|
|
1940
1999
|
.map((e) => {
|
|
1941
2000
|
const levels = parseInt(
|
|
1942
2001
|
e[1]
|
|
@@ -1992,7 +2051,7 @@ export class SelectionWrapper<
|
|
|
1992
2051
|
|
|
1993
2052
|
const makeSLFN = <
|
|
1994
2053
|
T extends object,
|
|
1995
|
-
F,
|
|
2054
|
+
F extends object,
|
|
1996
2055
|
N extends string,
|
|
1997
2056
|
TNP extends string,
|
|
1998
2057
|
TAD extends number,
|
|
@@ -2004,12 +2063,17 @@ export class SelectionWrapper<
|
|
|
2004
2063
|
) => {
|
|
2005
2064
|
function _SLFN<TT extends T, FF extends F>(
|
|
2006
2065
|
this: any,
|
|
2007
|
-
|
|
2066
|
+
_s?: (selection: FF) => TT,
|
|
2008
2067
|
) {
|
|
2009
2068
|
let parent: SelectionFnParent = this ?? {
|
|
2010
2069
|
collector: new OperationSelectionCollector(),
|
|
2011
2070
|
};
|
|
2012
2071
|
function innerFn(this: any) {
|
|
2072
|
+
const s =
|
|
2073
|
+
_s ??
|
|
2074
|
+
((selection: FF) =>
|
|
2075
|
+
(selection as any)["$all"]({ cyclic: "exclude" }) as TT);
|
|
2076
|
+
|
|
2013
2077
|
const selection: FF = makeSLFNInput.bind(this)() as any;
|
|
2014
2078
|
const r = s(selection);
|
|
2015
2079
|
const _result = new SelectionWrapper(
|
|
@@ -2060,7 +2124,7 @@ export class SelectionWrapper<
|
|
|
2060
2124
|
`:""}${Z??B.name} = "${B.name}",`}).join(`
|
|
2061
2125
|
`)}
|
|
2062
2126
|
};
|
|
2063
|
-
`;return this.collector.addEnumType(this.typeMeta,P),D}makeSelectionTypeInputValueForFieldWrapperType(D,F){let P="";if(F.isEnum)P=F.ofType.name.replaceAll("!","").replaceAll("[","").replaceAll("]","");else P=this.ScalarTypeMap().get(F.name.replaceAll("!","").replaceAll("[","").replaceAll("]",""))??(F.scalarTSType?`ScalarTypeMapWithCustom["${F.name.replaceAll("!","").replaceAll("[","").replaceAll("]","")}"]`:"any");if(F.isList)return`${Array.from({length:F.isList}).map((B)=>"Array<").join("")}${P}${Array.from({length:F.isList}).map((B)=>">").join("")}`;return P}makeSelectionTypeInputValueForField(D,F=[],P=!1){let B=()=>{let X=D.args.some((J)=>J.type.isNonNull),q=`${F.join()}${D.name.slice(0,1).toUpperCase()}${D.name.slice(1)}Args`;if(!this.collector.hasArgumentType(q)){let Y=`{ ${D.args.map((H)=>{let U=H.type.isScalar,W=H.type.isEnum,O=H.type.isInput,z=`${H.name}${H.type.isNonNull?"":"?"}`,I="any";if(U)I=H.type.scalarTSType?`ScalarTypeMapWithCustom["${H.type.name.replaceAll("!","").replaceAll("[","").replaceAll("]","")}"]`:this.ScalarTypeMap().get(H.type.name.replaceAll("!","").replaceAll("[","").replaceAll("]",""))??"any";else if(O||W)I=this.originalTypeNameToTypescriptTypeName(H.type.name);return`${H.description?`/** ${H.description??`${z}`} */`:""}
|
|
2127
|
+
`;return this.collector.addEnumType(this.typeMeta,P),D}makeSelectionTypeInputValueForFieldWrapperType(D,F){let P="";if(F.isEnum)P=F.ofType.name.replaceAll("!","").replaceAll("[","").replaceAll("]","");else P=this.ScalarTypeMap().get(F.name.replaceAll("!","").replaceAll("[","").replaceAll("]",""))??(F.scalarTSType?`ScalarTypeMapWithCustom["${F.name.replaceAll("!","").replaceAll("[","").replaceAll("]","")}"]`:"any");if(F.isList)return`${Array.from({length:F.isList}).map((B)=>"Array<").join("")}${P}${Array.from({length:F.isList}).map((B)=>">").join("")}`;return P}makeSelectionTypeInputValueForField(D,F=[],P=!1){let B=()=>{let X=D.args.some((J)=>J.type.isNonNull),q=`${F.join()}${D.name.slice(0,1).toUpperCase()}${D.name.slice(1)}Args`;if(!this.collector.hasArgumentType(q)){let Y=`{ ${D.args.map((H)=>{let U=H.type.isScalar,W=H.type.isEnum,O=H.type.isInput,z=`${H.name}${H.type.isNonNull?"":"?"}`,I="any";if(U)I=H.type.scalarTSType?`ScalarTypeMapWithCustom["${H.type.name.replaceAll("!","").replaceAll("[","").replaceAll("]","")}"]`:(this.ScalarTypeMap().get(H.type.name.replaceAll("!","").replaceAll("[","").replaceAll("]",""))??"any")+(H.type.isList?Array.from({length:H.type.isList}).fill("[]").join(""):"");else if(O||W)I=this.originalTypeNameToTypescriptTypeName(H.type.name);return`${H.description?`/** ${H.description??`${z}`} */`:""}
|
|
2064
2128
|
${z}: ${I};`}).join(" ")} }`;this.collector.addArgumentType(q,`export type ${q} = ${Y};`)}return{argsTypeName:q,hasAtLeastOneNonNullArg:X}},Z=D.description?`/* ${D.description} */
|
|
2065
2129
|
`:"";if(D.type.isScalar||D.type.isEnum){let X=this.makeSelectionTypeInputValueForFieldWrapperType(D.name,D.type);if(this.collector.addSelectionType(D.type,X),D.hasArgs){let{argsTypeName:q,hasAtLeastOneNonNullArg:J}=B();return`${Z}${D.name}: (args${J?"":"?"}: ${q}) => ${X};`}return`${Z}${D.name}${D.type.isNonNull?"":"?"}: ${X};`}else if(D.type.ofType){let X=new g0(D.type.ofType.name,this.collector,this.options);X.makeSelectionFunction();let q=X.originalTypeNameToTypescriptTypeName(X.originalFullTypeName);if(D.hasArgs){let{argsTypeName:J,hasAtLeastOneNonNullArg:Y}=B();return`${Z}${D.name}: (args${Y?"":"?"}: ${J} ) => ${q};`}if(P)return`${Z}${D.name}${D.type.isNonNull?"":"?"}: ${this.originalTypeNameToTypescriptTypeName(D.type.ofType.name)};`;return`${Z}${D.name}${D.type.isNonNull?"":"?"}: ${q};`}else throw console.error(D.type),Error(`Unknown type for field ${D.name}: ${D.type.name}`)}makeSelectionType(){if(this.typeMeta.isDirective)return"";if(this.typeMeta.isScalar||this.typeMeta.isEnum)return this.makeSelectionTypeInputValueForFieldWrapperType(this.typeName,this.typeMeta);let D=this.originalTypeNameToTypescriptTypeNameWithoutModifiers(this.originalFullTypeName);if(this.collector.hasSelectionType(this.typeMeta))return D;let F="";if(this.typeMeta.isUnion){let P=this.typeMeta.possibleTypes.map((B)=>this.originalTypeNameToTypescriptFriendlyName(B.name)).join(" | ");F=`
|
|
2066
2130
|
export type ${D} = ${P};
|
|
@@ -2076,7 +2140,7 @@ export class SelectionWrapper<
|
|
|
2076
2140
|
{},
|
|
2077
2141
|
this,
|
|
2078
2142
|
undefined,
|
|
2079
|
-
${D.hasArgs?`args, ${P}Meta`:""})`}makeSelectionFunctionInputObjectValueForField(D,F){let P=()=>{let Z=`${F.join()}${D.name.slice(0,1).toUpperCase()}${D.name.slice(1)}Args`;if(!this.collector.hasArgumentMeta(Z)){let q=`{ ${D.args.map((J)=>{return`${J.name}: "${J.type.name}",`}).join(" ")} }`;this.collector.addArgumentMeta(Z,`export const ${Z}Meta = ${q} as const;`)}return{argsTypeName:Z}},B=D.type;if(B.isScalar||B.isEnum){let Z=this.makeSelectionFunctionInputObjectValueForFieldWrapper(D,F);if(D.hasArgs)P();return this.collector.addSelectionFunction(B,Z),`${D.name}: ${Z}`}else if(B.ofType){let Z=new g0(B.ofType.name,this.collector,this.options).makeSelectionFunction();if(D.hasArgs){let{argsTypeName:X}=P();return`${D.name}: (args: ${X}) => ${Z}.bind({ collector: this, fieldName: "${D.name}", args, argsMeta: ${X}Meta })`}return`${D.name}: ${Z}.bind({ collector: this, fieldName: "${D.name}" })`}else throw console.error(B),Error(`Unknown type for field ${D.name}: ${B.name}`)}makeDirective(){if(!this.typeMeta.isDirective)return"";let D=`_directive_${this.typeMeta.isDirective.name}`;if(this.collector.hasDirectiveFunction(this.typeMeta.isDirective))return D;let F=`${this.typeName}Args`;if(!this.collector.hasArgumentType(F)){let B=this.typeMeta.isDirective.args.map((Z)=>{let X=Z.type.isScalar,q=Z.type.isEnum,J=Z.type.isInput,Y=`${Z.name}${Z.type.isNonNull?"":"?"}`,H="any";if(X)H=Z.type.scalarTSType?`ScalarTypeMapWithCustom["${Z.type.name.replaceAll("!","").replaceAll("[","").replaceAll("]","")}"]`:this.ScalarTypeMap().get(Z.type.name.replaceAll("!","").replaceAll("[","").replaceAll("]",""))??"any";else if(J||q)H=this.originalTypeNameToTypescriptTypeName(Z.type.name);return`
|
|
2143
|
+
${D.hasArgs?`args, ${P}Meta`:""})`}makeSelectionFunctionInputObjectValueForField(D,F){let P=()=>{let Z=`${F.join()}${D.name.slice(0,1).toUpperCase()}${D.name.slice(1)}Args`;if(!this.collector.hasArgumentMeta(Z)){let q=`{ ${D.args.map((J)=>{return`${J.name}: "${J.type.name}",`}).join(" ")} }`;this.collector.addArgumentMeta(Z,`export const ${Z}Meta = ${q} as const;`)}return{argsTypeName:Z}},B=D.type;if(B.isScalar||B.isEnum){let Z=this.makeSelectionFunctionInputObjectValueForFieldWrapper(D,F);if(D.hasArgs)P();return this.collector.addSelectionFunction(B,Z),`${D.name}: ${Z}`}else if(B.ofType){let Z=new g0(B.ofType.name,this.collector,this.options).makeSelectionFunction();if(D.hasArgs){let{argsTypeName:X}=P();return`${D.name}: (args: ${X}) => ${Z}.bind({ collector: this, fieldName: "${D.name}", args, argsMeta: ${X}Meta })`}return`${D.name}: ${Z}.bind({ collector: this, fieldName: "${D.name}" }) as any`}else throw console.error(B),Error(`Unknown type for field ${D.name}: ${B.name}`)}makeDirective(){if(!this.typeMeta.isDirective)return"";let D=`_directive_${this.typeMeta.isDirective.name}`;if(this.collector.hasDirectiveFunction(this.typeMeta.isDirective))return D;let F=`${this.typeName}Args`;if(!this.collector.hasArgumentType(F)){let B=this.typeMeta.isDirective.args.map((Z)=>{let X=Z.type.isScalar,q=Z.type.isEnum,J=Z.type.isInput,Y=`${Z.name}${Z.type.isNonNull?"":"?"}`,H="any";if(X)H=Z.type.scalarTSType?`ScalarTypeMapWithCustom["${Z.type.name.replaceAll("!","").replaceAll("[","").replaceAll("]","")}"]`:(this.ScalarTypeMap().get(Z.type.name.replaceAll("!","").replaceAll("[","").replaceAll("]",""))??"any")+(Z.type.isList?Array.from({length:Z.type.isList}).fill("[]").join(""):"");else if(J||q)H=this.originalTypeNameToTypescriptTypeName(Z.type.name);return`
|
|
2080
2144
|
/** ${Z.description??`${Y}`} */
|
|
2081
2145
|
${Y}: ${H};`}).join(" ");this.collector.addArgumentType(F,`export type ${F} = { ${B} };`)}if(!this.collector.hasArgumentMeta(F)){let Z=`{ ${this.typeMeta.isDirective.args.map((X)=>{return`${X.name}: "${X.type.name}",`}).join(" ")} }`;this.collector.addArgumentMeta(F,`export const ${F}Meta = ${Z} as const;`)}let P=`
|
|
2082
2146
|
export const ${D} = (
|
|
@@ -2402,42 +2466,41 @@ export class SelectionWrapper<
|
|
|
2402
2466
|
|
|
2403
2467
|
if (typeof fieldFn === "function") {
|
|
2404
2468
|
const makeSubSelectionFn =
|
|
2405
|
-
(
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
(
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
typeof field,
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
|
|
2429
|
-
|
|
2469
|
+
(opFnArgs?: Exclude<Parameters<Extract<typeof fieldFn, (args: any) => any>>[0], (args: any) => any>) =>
|
|
2470
|
+
(opFnSelectionCb?: (selection: unknown) => unknown) => {
|
|
2471
|
+
let fieldSLFN:
|
|
2472
|
+
| ((s: typeof opFnSelectionCb) => SelectionWrapperImpl<typeof field, string, number, any, typeof opFnArgs>)
|
|
2473
|
+
| SelectionWrapperImpl<typeof field, string, number, any, typeof opFnArgs>;
|
|
2474
|
+
if (opFnArgs === undefined) {
|
|
2475
|
+
fieldSLFN = fieldFn as Extract<typeof fieldFn, () => SelectionWrapperImpl<typeof field, string, number, any, typeof opFnArgs>>;
|
|
2476
|
+
} else {
|
|
2477
|
+
fieldSLFN = (
|
|
2478
|
+
fieldFn as unknown as (
|
|
2479
|
+
args: typeof opFnArgs,
|
|
2480
|
+
) =>
|
|
2481
|
+
| ((s: typeof opFnSelectionCb) => SelectionWrapperImpl<typeof field, string, number, any, typeof opFnArgs>)
|
|
2482
|
+
| SelectionWrapperImpl<typeof field, string, number, any, typeof opFnArgs>
|
|
2483
|
+
)(opFnArgs);
|
|
2484
|
+
}
|
|
2485
|
+
|
|
2486
|
+
let fieldSlw: SelectionWrapperImpl<typeof field, string, number, any, typeof opFnArgs>;
|
|
2487
|
+
if (typeof fieldSLFN === "function") {
|
|
2488
|
+
fieldSlw = (fieldSLFN as (s: typeof opFnSelectionCb) => SelectionWrapperImpl<typeof field, string, number, any, typeof opFnArgs>)(
|
|
2489
|
+
opFnSelectionCb,
|
|
2490
|
+
);
|
|
2491
|
+
} else {
|
|
2492
|
+
fieldSlw = fieldSLFN;
|
|
2493
|
+
}
|
|
2494
|
+
|
|
2430
2495
|
const opSlw = new SelectionWrapper(
|
|
2431
2496
|
undefined,
|
|
2432
2497
|
undefined,
|
|
2433
2498
|
undefined,
|
|
2434
2499
|
{ [field]: fieldSlw },
|
|
2435
|
-
new OperationSelectionCollector(
|
|
2436
|
-
operation + "Selection",
|
|
2437
|
-
root,
|
|
2438
|
-
),
|
|
2500
|
+
new OperationSelectionCollector(operation + "Selection", root),
|
|
2439
2501
|
root,
|
|
2440
2502
|
);
|
|
2503
|
+
fieldSlw[ROOT_OP_COLLECTOR] = rootRef;
|
|
2441
2504
|
fieldSlw[SLW_PARENT_SLW] = opSlw;
|
|
2442
2505
|
opSlw[SLW_IS_ROOT_TYPE] = operation;
|
|
2443
2506
|
opSlw[SLW_PARENT_COLLECTOR] = opSlw[SLW_COLLECTOR];
|
|
@@ -2500,13 +2563,20 @@ export class SelectionWrapper<
|
|
|
2500
2563
|
if (fieldFn.name.startsWith("bound ")) {
|
|
2501
2564
|
return makeSubSelectionFn();
|
|
2502
2565
|
}
|
|
2503
|
-
return (
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2566
|
+
return (opFnArgs: Exclude<Parameters<Extract<typeof fieldFn, (args: any) => any>>[0], (args: any) => any>) => {
|
|
2567
|
+
const inner = (
|
|
2568
|
+
fieldFn as unknown as (
|
|
2569
|
+
args: typeof opFnArgs,
|
|
2570
|
+
) =>
|
|
2571
|
+
| ((s: unknown) => SelectionWrapperImpl<typeof field, string, number, any, typeof opFnArgs>)
|
|
2572
|
+
| SelectionWrapperImpl<typeof field, string, number, any, typeof opFnArgs>
|
|
2573
|
+
)(opFnArgs);
|
|
2574
|
+
|
|
2575
|
+
if (typeof inner === "function") {
|
|
2576
|
+
return makeSubSelectionFn(opFnArgs);
|
|
2577
|
+
}
|
|
2578
|
+
|
|
2579
|
+
return makeSubSelectionFn(opFnArgs)();
|
|
2510
2580
|
};
|
|
2511
2581
|
} else {
|
|
2512
2582
|
const fieldSlw = fieldFn as SelectionWrapperImpl<any, any, any>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@samarium.sdk/new",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.26.0",
|
|
4
4
|
"main": "bin/samarium",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"bun-types": "^1.2.19",
|
|
47
|
-
"@samarium.sdk/make": "0.
|
|
47
|
+
"@samarium.sdk/make": "0.26.0"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
50
|
"typescript": "^5.0.0"
|