@samarium.sdk/new 0.28.1 → 0.29.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 +134 -42
- 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.29.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 = {};
|
|
@@ -457,7 +457,7 @@ export class RootOperation {
|
|
|
457
457
|
constructor(
|
|
458
458
|
public authArg?: FnOrPromisOrPrimitive,
|
|
459
459
|
public headers?: FnOrPromisOrPrimitive,
|
|
460
|
-
) {}
|
|
460
|
+
) { }
|
|
461
461
|
public setAuth(auth: FnOrPromisOrPrimitive) {
|
|
462
462
|
this.authArg = auth;
|
|
463
463
|
return this;
|
|
@@ -576,9 +576,8 @@ export class RootOperation {
|
|
|
576
576
|
...acc,
|
|
577
577
|
[opName]: {
|
|
578
578
|
opType: rootSlw[SLW_IS_ROOT_TYPE]?.toLowerCase() as "subscription" | "query" | "mutation",
|
|
579
|
-
query: \`\${rootSlw[SLW_IS_ROOT_TYPE]?.toLowerCase()} \${opName} \${
|
|
580
|
-
|
|
581
|
-
}\${selection.selection}\`,
|
|
579
|
+
query: \`\${rootSlw[SLW_IS_ROOT_TYPE]?.toLowerCase()} \${opName} \${selection.variableDefinitions.length ? \`(\${selection.variableDefinitions.join(", ")}) \` : ""
|
|
580
|
+
}\${selection.selection}\`,
|
|
582
581
|
variables: selection.variables,
|
|
583
582
|
fragments: selection.usedFragments,
|
|
584
583
|
},
|
|
@@ -754,9 +753,9 @@ export class OperationSelectionCollector {
|
|
|
754
753
|
data: Map<string, any>;
|
|
755
754
|
proxiedArray: Map<string, any[]>;
|
|
756
755
|
} = {
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
756
|
+
data: new Map(),
|
|
757
|
+
proxiedArray: new Map(),
|
|
758
|
+
};
|
|
760
759
|
|
|
761
760
|
public async execute(headers?: Record<string, string>) {
|
|
762
761
|
if (!this.op) {
|
|
@@ -936,7 +935,7 @@ export class OperationSelectionCollector {
|
|
|
936
935
|
finalResult,
|
|
937
936
|
depth,
|
|
938
937
|
RootOperation[OPTIONS].scalars[type as keyof (typeof RootOperation)[typeof OPTIONS]["scalars"]] ??
|
|
939
|
-
|
|
938
|
+
((value: string) => JSON.parse(value)),
|
|
940
939
|
) as T;
|
|
941
940
|
}
|
|
942
941
|
|
|
@@ -1354,16 +1353,26 @@ export class SelectionWrapper<
|
|
|
1354
1353
|
|
|
1355
1354
|
const isScalar = newThat[SLW_PARENT_COLLECTOR] === undefined;
|
|
1356
1355
|
|
|
1356
|
+
let constPromise: Promise<any> | undefined;
|
|
1357
|
+
let constPromiseStatus: "pending" | "fulfilled" | "rejected" = "pending";
|
|
1358
|
+
let constPromiseReason: string | undefined;
|
|
1359
|
+
let constPromiseValue: any | undefined;
|
|
1357
1360
|
const resultProxy = new Proxy(
|
|
1358
1361
|
{},
|
|
1359
1362
|
{
|
|
1360
1363
|
get(_t, _prop) {
|
|
1361
|
-
const result = new Promise((resolve, reject) => {
|
|
1364
|
+
const result = constPromise ?? (constPromise = new Promise((resolve, reject) => {
|
|
1362
1365
|
newRootOpCollectorRef.ref
|
|
1363
1366
|
.execute()
|
|
1364
|
-
.catch(
|
|
1367
|
+
.catch((reason) => {
|
|
1368
|
+
constPromiseStatus = "rejected";
|
|
1369
|
+
constPromiseReason = reason;
|
|
1370
|
+
return reject(reason);
|
|
1371
|
+
})
|
|
1365
1372
|
.then((_data) => {
|
|
1373
|
+
constPromiseStatus = "fulfilled";
|
|
1366
1374
|
if (_data === undefined || _data === null) {
|
|
1375
|
+
constPromiseValue = _data;
|
|
1367
1376
|
return resolve(_data);
|
|
1368
1377
|
}
|
|
1369
1378
|
|
|
@@ -1371,33 +1380,46 @@ export class SelectionWrapper<
|
|
|
1371
1380
|
const d = _data[fieldName];
|
|
1372
1381
|
|
|
1373
1382
|
if (Symbol.asyncIterator in d) {
|
|
1383
|
+
constPromiseValue = newThat;
|
|
1374
1384
|
return resolve(newThat);
|
|
1375
1385
|
}
|
|
1376
1386
|
if (typeof d === "object" && d && fieldName in d) {
|
|
1377
1387
|
const retval = d[fieldName];
|
|
1378
1388
|
if (retval === undefined || retval === null) {
|
|
1389
|
+
constPromiseValue = retval;
|
|
1379
1390
|
return resolve(retval);
|
|
1380
1391
|
}
|
|
1381
1392
|
const ret = isScalar
|
|
1382
1393
|
? getResultDataForTarget(
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1394
|
+
newThat as SelectionWrapper<
|
|
1395
|
+
fieldName,
|
|
1396
|
+
typeNamePure,
|
|
1397
|
+
typeArrDepth,
|
|
1398
|
+
valueT,
|
|
1399
|
+
argsT
|
|
1400
|
+
>,
|
|
1401
|
+
)
|
|
1391
1402
|
: proxify(retval, newThat);
|
|
1403
|
+
constPromiseValue = ret;
|
|
1392
1404
|
return resolve(ret);
|
|
1393
1405
|
}
|
|
1394
1406
|
|
|
1407
|
+
constPromiseValue = newThat;
|
|
1395
1408
|
return resolve(newThat);
|
|
1396
1409
|
});
|
|
1397
|
-
});
|
|
1410
|
+
}));
|
|
1398
1411
|
if (String(_prop) === "then") {
|
|
1399
1412
|
return result.then.bind(result);
|
|
1400
1413
|
}
|
|
1414
|
+
if (String(_prop) === "status") {
|
|
1415
|
+
return constPromiseStatus;
|
|
1416
|
+
}
|
|
1417
|
+
if (String(_prop) === "reason") {
|
|
1418
|
+
return constPromiseReason;
|
|
1419
|
+
}
|
|
1420
|
+
if (String(_prop) === "value") {
|
|
1421
|
+
return constPromiseValue;
|
|
1422
|
+
}
|
|
1401
1423
|
return result;
|
|
1402
1424
|
},
|
|
1403
1425
|
},
|
|
@@ -1538,16 +1560,16 @@ export class SelectionWrapper<
|
|
|
1538
1560
|
Array.from({ length: data.length }, (_, i) =>
|
|
1539
1561
|
typeof data[i] === "object"
|
|
1540
1562
|
? proxify(
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1563
|
+
data[i],
|
|
1564
|
+
target[SLW_CLONE]({
|
|
1565
|
+
SLW_OP_PATH: target[SLW_OP_PATH] + "." + String(i),
|
|
1566
|
+
OP_RESULT_DATA: target[SLW_OP_RESULT_DATA_OVERRIDE],
|
|
1567
|
+
}),
|
|
1568
|
+
)
|
|
1547
1569
|
: target[SLW_CLONE]({
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1570
|
+
SLW_OP_PATH: target[SLW_OP_PATH] + "." + String(i),
|
|
1571
|
+
OP_RESULT_DATA: target[SLW_OP_RESULT_DATA_OVERRIDE],
|
|
1572
|
+
}),
|
|
1551
1573
|
);
|
|
1552
1574
|
|
|
1553
1575
|
if (!cache.proxiedArray.has(path)) {
|
|
@@ -1582,6 +1604,10 @@ export class SelectionWrapper<
|
|
|
1582
1604
|
}
|
|
1583
1605
|
|
|
1584
1606
|
let slw = slw_value?.[String(prop)];
|
|
1607
|
+
if (slw === undefined) return undefined;
|
|
1608
|
+
if (slw === null) return null;
|
|
1609
|
+
if (typeof slw !== "object") return slw;
|
|
1610
|
+
|
|
1585
1611
|
let slwOpPathIsIndexAccessOrInArray = false;
|
|
1586
1612
|
let targetOpPathArr = target[SLW_OP_PATH]?.split(".") ?? [];
|
|
1587
1613
|
while (targetOpPathArr.length) {
|
|
@@ -1659,8 +1685,8 @@ export class SelectionWrapper<
|
|
|
1659
1685
|
let realSlw = isOnTypeFragment
|
|
1660
1686
|
? slw[SLW_IS_ON_TYPE_FRAGMENT]
|
|
1661
1687
|
: isFragment
|
|
1662
|
-
|
|
1663
|
-
|
|
1688
|
+
? slw[SLW_IS_FRAGMENT]
|
|
1689
|
+
: slw;
|
|
1664
1690
|
if (target[SLW_COLLECTOR]) {
|
|
1665
1691
|
target[SLW_COLLECTOR].registerSelection(String(prop), realSlw);
|
|
1666
1692
|
if (isOnTypeFragment || isFragment) {
|
|
@@ -2487,6 +2513,10 @@ export class SelectionWrapper<
|
|
|
2487
2513
|
? _TR
|
|
2488
2514
|
: Promise<_TR>;
|
|
2489
2515
|
|
|
2516
|
+
let constPromise: Promise<any> | undefined;
|
|
2517
|
+
let constPromiseStatus: "pending" | "fulfilled" | "rejected" = "pending";
|
|
2518
|
+
let constPromiseReason: string | undefined;
|
|
2519
|
+
let constPromiseValue: any | undefined;
|
|
2490
2520
|
const resultProxy = new Proxy(
|
|
2491
2521
|
{},
|
|
2492
2522
|
{
|
|
@@ -2495,19 +2525,35 @@ export class SelectionWrapper<
|
|
|
2495
2525
|
if (typeof rAtProp === "function") {
|
|
2496
2526
|
return rAtProp;
|
|
2497
2527
|
}
|
|
2498
|
-
const promise = new Promise((resolve, reject) => {
|
|
2528
|
+
const promise = constPromise ?? (constPromise = new Promise((resolve, reject) => {
|
|
2499
2529
|
root.execute()
|
|
2500
|
-
.catch(
|
|
2530
|
+
.catch((reason) => {
|
|
2531
|
+
constPromiseStatus = "rejected";
|
|
2532
|
+
constPromiseReason = reason;
|
|
2533
|
+
return reject(reason);
|
|
2534
|
+
})
|
|
2501
2535
|
.then((_data) => {
|
|
2536
|
+
constPromiseStatus = "fulfilled";
|
|
2502
2537
|
if (_data === undefined || _data === null) {
|
|
2538
|
+
constPromiseValue = _data;
|
|
2503
2539
|
return resolve(_data);
|
|
2504
2540
|
}
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2541
|
+
constPromiseValue = rAtProp;
|
|
2542
|
+
return resolve(rAtProp);
|
|
2543
|
+
});
|
|
2544
|
+
}));
|
|
2508
2545
|
if (String(_prop) === "then") {
|
|
2509
2546
|
return promise.then.bind(promise);
|
|
2510
2547
|
}
|
|
2548
|
+
if (String(_prop) === "status") {
|
|
2549
|
+
return constPromiseStatus;
|
|
2550
|
+
}
|
|
2551
|
+
if (String(_prop) === "reason") {
|
|
2552
|
+
return constPromiseReason;
|
|
2553
|
+
}
|
|
2554
|
+
if (String(_prop) === "value") {
|
|
2555
|
+
return constPromiseValue;
|
|
2556
|
+
}
|
|
2511
2557
|
return promise;
|
|
2512
2558
|
},
|
|
2513
2559
|
},
|
|
@@ -2696,6 +2742,10 @@ export class SelectionWrapper<
|
|
|
2696
2742
|
// access the keys of the proxy object, to register operations
|
|
2697
2743
|
Object.keys({ [field]: 0 }).forEach(key => (rootSlw as any)[key as any]);
|
|
2698
2744
|
|
|
2745
|
+
let constPromise: Promise<any> | undefined;
|
|
2746
|
+
let constPromiseStatus: "pending" | "fulfilled" | "rejected" = "pending";
|
|
2747
|
+
let constPromiseReason: string | undefined;
|
|
2748
|
+
let constPromiseValue: any | undefined;
|
|
2699
2749
|
const resultProxy = new Proxy(
|
|
2700
2750
|
{},
|
|
2701
2751
|
{
|
|
@@ -2706,17 +2756,24 @@ export class SelectionWrapper<
|
|
|
2706
2756
|
key: field,
|
|
2707
2757
|
});
|
|
2708
2758
|
} else {
|
|
2709
|
-
const result = new Promise((resolve, reject) => {
|
|
2759
|
+
const result = constPromise ?? (constPromise = new Promise((resolve, reject) => {
|
|
2710
2760
|
root.execute()
|
|
2711
|
-
.catch(
|
|
2761
|
+
.catch((reason) => {
|
|
2762
|
+
constPromiseStatus = "rejected";
|
|
2763
|
+
constPromiseReason = reason;
|
|
2764
|
+
return reject(reason);
|
|
2765
|
+
})
|
|
2712
2766
|
.then((_data) => {
|
|
2767
|
+
constPromiseStatus = "fulfilled";
|
|
2713
2768
|
if (_data === undefined || _data === null) {
|
|
2769
|
+
constPromiseValue = _data;
|
|
2714
2770
|
return resolve(_data);
|
|
2715
2771
|
}
|
|
2716
2772
|
|
|
2717
2773
|
const d = _data[field];
|
|
2718
2774
|
|
|
2719
2775
|
if (Symbol.asyncIterator in d) {
|
|
2776
|
+
constPromiseValue = fieldSlw as any;
|
|
2720
2777
|
return resolve(fieldSlw as any);
|
|
2721
2778
|
}
|
|
2722
2779
|
|
|
@@ -2724,17 +2781,29 @@ export class SelectionWrapper<
|
|
|
2724
2781
|
if (typeof d === "object" && d && field in d) {
|
|
2725
2782
|
const retval = d[field];
|
|
2726
2783
|
if (retval === undefined || retval === null) {
|
|
2784
|
+
constPromiseValue = retval;
|
|
2727
2785
|
return resolve(retval);
|
|
2728
2786
|
}
|
|
2729
2787
|
const ret = typeof retval !== "object" ? slw : proxify(retval, slw);
|
|
2788
|
+
constPromiseValue = ret;
|
|
2730
2789
|
return resolve(ret);
|
|
2731
2790
|
}
|
|
2791
|
+
constPromiseValue = slw;
|
|
2732
2792
|
return resolve(slw);
|
|
2733
2793
|
});
|
|
2734
|
-
});
|
|
2794
|
+
}));
|
|
2735
2795
|
if (String(_prop) === "then") {
|
|
2736
2796
|
return result.then.bind(result);
|
|
2737
2797
|
}
|
|
2798
|
+
if (String(_prop) === "status") {
|
|
2799
|
+
return constPromiseStatus;
|
|
2800
|
+
}
|
|
2801
|
+
if (String(_prop) === "reason") {
|
|
2802
|
+
return constPromiseReason;
|
|
2803
|
+
}
|
|
2804
|
+
if (String(_prop) === "value") {
|
|
2805
|
+
return constPromiseValue;
|
|
2806
|
+
}
|
|
2738
2807
|
return result;
|
|
2739
2808
|
}
|
|
2740
2809
|
},
|
|
@@ -2803,6 +2872,10 @@ export class SelectionWrapper<
|
|
|
2803
2872
|
// access the keys of the proxy object, to register operations
|
|
2804
2873
|
Object.keys({ [field]: 0 }).forEach(key => (rootSlw as any)[key as any]);
|
|
2805
2874
|
|
|
2875
|
+
let constPromise: Promise<any> | undefined;
|
|
2876
|
+
let constPromiseStatus: "pending" | "fulfilled" | "rejected" = "pending";
|
|
2877
|
+
let constPromiseReason: string | undefined;
|
|
2878
|
+
let constPromiseValue: any | undefined;
|
|
2806
2879
|
const resultProxy = new Proxy(
|
|
2807
2880
|
{},
|
|
2808
2881
|
{
|
|
@@ -2813,17 +2886,24 @@ export class SelectionWrapper<
|
|
|
2813
2886
|
key: field,
|
|
2814
2887
|
});
|
|
2815
2888
|
} else {
|
|
2816
|
-
const result = new Promise((resolve, reject) => {
|
|
2889
|
+
const result = constPromise ?? (constPromise = new Promise((resolve, reject) => {
|
|
2817
2890
|
root.execute()
|
|
2818
|
-
.catch(
|
|
2891
|
+
.catch((reason) => {
|
|
2892
|
+
constPromiseStatus = "rejected";
|
|
2893
|
+
constPromiseReason = reason;
|
|
2894
|
+
return reject(reason);
|
|
2895
|
+
})
|
|
2819
2896
|
.then((_data) => {
|
|
2897
|
+
constPromiseStatus = "fulfilled";
|
|
2820
2898
|
if (_data === undefined || _data === null) {
|
|
2899
|
+
constPromiseValue = _data;
|
|
2821
2900
|
return resolve(_data);
|
|
2822
2901
|
}
|
|
2823
2902
|
|
|
2824
2903
|
const d = _data[field];
|
|
2825
2904
|
|
|
2826
2905
|
if (Symbol.asyncIterator in d) {
|
|
2906
|
+
constPromiseValue = fieldSlw as any;
|
|
2827
2907
|
return resolve(fieldSlw as any);
|
|
2828
2908
|
}
|
|
2829
2909
|
|
|
@@ -2831,17 +2911,29 @@ export class SelectionWrapper<
|
|
|
2831
2911
|
if (typeof d === "object" && d && field in d) {
|
|
2832
2912
|
const retval = d[field];
|
|
2833
2913
|
if (retval === undefined || retval === null) {
|
|
2914
|
+
constPromiseValue = retval;
|
|
2834
2915
|
return resolve(retval);
|
|
2835
2916
|
}
|
|
2836
2917
|
const ret = typeof retval !== "object" ? slw : proxify(retval, slw);
|
|
2918
|
+
constPromiseValue = ret;
|
|
2837
2919
|
return resolve(ret);
|
|
2838
2920
|
}
|
|
2921
|
+
constPromiseValue = slw;
|
|
2839
2922
|
return resolve(slw);
|
|
2840
2923
|
});
|
|
2841
|
-
});
|
|
2924
|
+
}));
|
|
2842
2925
|
if (String(_prop) === "then") {
|
|
2843
2926
|
return result.then.bind(result);
|
|
2844
2927
|
}
|
|
2928
|
+
if (String(_prop) === "status") {
|
|
2929
|
+
return constPromiseStatus;
|
|
2930
|
+
}
|
|
2931
|
+
if (String(_prop) === "reason") {
|
|
2932
|
+
return constPromiseReason;
|
|
2933
|
+
}
|
|
2934
|
+
if (String(_prop) === "value") {
|
|
2935
|
+
return constPromiseValue;
|
|
2936
|
+
}
|
|
2845
2937
|
return result;
|
|
2846
2938
|
}
|
|
2847
2939
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@samarium.sdk/new",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.29.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.29.0"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
50
|
"typescript": "^5.0.0"
|