@junobuild/functions-tools 0.6.5 → 0.6.7

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.
@@ -136,7 +136,7 @@ index ${n} -> ${s.message}`,{cause:s})}}))return!0;throw new Error(`Invalid ${th
136
136
  variant ${t} -> ${s.message}`,{cause:s})}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${g(e)}`)}encodeValue(e){for(let t=0;t<this._fields.length;t++){let[n,s]=this._fields[t];if(e.hasOwnProperty(n)){let i=_(t),o=s.encodeValue(e[n]);return y(i,o)}}throw Error(`Variant has no data: ${e}`)}_buildTypeTableImpl(e){this._fields.forEach(([,i])=>{i.buildTypeTable(e)});let t=w(b.Variant),n=_(this._fields.length),s=this._fields.map(([i,o])=>y(_(E(i)),o.encodeType(e)));e.add(this,y(t,n,...s))}decodeValue(e,t){let n=this.checkType(t);if(!(n instanceof r))throw new v(`Expected type '${this.display()}', but received non-variant type '${n.display()}'`);let s=Number(T(e));if(s>=n._fields.length)throw Error(`Invalid variant index: ${s}`);let[i,o]=n._fields[s];for(let[c,u]of this._fields)if(E(i)===E(c)){let h=u.decodeValue(e,o);return{[c]:h}}let a=this._fields.map(([c])=>c).join(", ");throw new v(`Cannot find field hash ${i} in variant, expected fields: [${a}]`)}get name(){return`variant {${this._fields.map(([t,n])=>`${t}:${n.name}`).join("; ")}}`}display(){return`variant {${this._fields.map(([t,n])=>t+(n.name==="null"?"":`:${n.display()}`)).join("; ")}}`}valueToString(e){for(let[t,n]of this._fields)if(e.hasOwnProperty(t)){let s=n.valueToString(e[t]);return s==="null"?`variant {${t}}`:`variant {${t}=${s}}`}throw new Error(`Variant has no data: ${e}`)}get alternativesAsObject(){let e={};for(let[t,n]of this._fields)e[E(t)]=n;return e}},C=class r extends F{constructor(){super(...arguments),this._id=r._counter++}get typeName(){return p.RecClass}static{this._counter=0}static[Symbol.hasInstance](e){return e.typeName===p.RecClass}accept(e,t){if(!this._type)throw Error("Recursive type uninitialized.");return e.visitRec(this,this._type,t)}fill(e){this._type=e}getType(){return this._type}covariant(e){if(this._type&&this._type.covariant(e))return!0;throw new Error(`Invalid ${this.display()} argument: ${g(e)}`)}encodeValue(e){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.encodeValue(e)}_buildTypeTableImpl(e){if(!this._type)throw Error("Recursive type uninitialized.");e.add(this,new Uint8Array([])),this._type.buildTypeTable(e),e.merge(this,this._type.name)}decodeValue(e,t){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.decodeValue(e,t)}get name(){return`rec_${this._id}`}display(){if(!this._type)throw Error("Recursive type uninitialized.");return`\u03BC${this.name}.${this._type.name}`}valueToString(e){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.valueToString(e)}};function nt(r){if(Q(r)!==1)throw new Error("Cannot decode principal");let t=Number(T(r));return Oe.fromUint8Array(new Uint8Array(Z(r,t)))}var Me=class extends I{get typeName(){return p.PrincipalClass}static[Symbol.hasInstance](e){return e.typeName===p.PrincipalClass}accept(e,t){return e.visitPrincipal(this,t)}covariant(e){if(e&&e._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${g(e)}`)}encodeValue(e){let t=e.toUint8Array(),n=_(t.byteLength);return y(new Uint8Array([1]),n,t)}encodeType(){return w(b.Principal)}decodeValue(e,t){return this.checkType(t),nt(e)}get name(){return"principal"}valueToString(e){return`${this.name} "${e.toText()}"`}},ne=class extends F{get typeName(){return p.FuncClass}static[Symbol.hasInstance](e){return e.typeName===p.FuncClass}static argsToString(e,t){if(e.length!==t.length)throw new Error("arity mismatch");return`(${e.map((n,s)=>n.valueToString(t[s])).join(", ")})`}constructor(e,t,n=[]){super(),this.argTypes=e,this.retTypes=t,this.annotations=n}accept(e,t){return e.visitFunc(this,t)}covariant(e){if(Array.isArray(e)&&e.length===2&&e[0]&&e[0]._isPrincipal&&typeof e[1]=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${g(e)}`)}encodeValue([e,t]){let n=e.toUint8Array(),s=_(n.byteLength),i=y(new Uint8Array([1]),s,n),o=new TextEncoder().encode(t),a=_(o.byteLength);return y(new Uint8Array([1]),i,a,o)}_buildTypeTableImpl(e){this.argTypes.forEach(u=>u.buildTypeTable(e)),this.retTypes.forEach(u=>u.buildTypeTable(e));let t=w(b.Func),n=_(this.argTypes.length),s=y(...this.argTypes.map(u=>u.encodeType(e))),i=_(this.retTypes.length),o=y(...this.retTypes.map(u=>u.encodeType(e))),a=_(this.annotations.length),c=y(...this.annotations.map(u=>this.encodeAnnotation(u)));e.add(this,y(t,n,s,i,o,a,c))}decodeValue(e,t){let n=t instanceof C?t.getType()??t:t;if(!st(n,this))throw new Error(`Cannot decode function reference at type ${this.display()} from wire type ${n.display()}`);if(Q(e)!==1)throw new Error("Cannot decode function reference");let i=nt(e),o=Number(T(e)),a=Z(e,o),u=new TextDecoder("utf8",{fatal:!0}).decode(a);return[i,u]}get name(){let e=this.argTypes.map(s=>s.name).join(", "),t=this.retTypes.map(s=>s.name).join(", "),n=` ${this.annotations.join(" ")}`;return`(${e}) -> (${t})${n}`}valueToString([e,t]){return`func "${e.toText()}".${t}`}display(){let e=this.argTypes.map(s=>s.display()).join(", "),t=this.retTypes.map(s=>s.display()).join(", "),n=` ${this.annotations.join(" ")}`;return`(${e}) \u2192 (${t})${n}`}encodeAnnotation(e){if(e==="query")return new Uint8Array([1]);if(e==="oneway")return new Uint8Array([2]);if(e==="composite_query")return new Uint8Array([3]);throw new Error("Illegal function annotation")}},pe=class extends F{get typeName(){return p.ServiceClass}static[Symbol.hasInstance](e){return e.typeName===p.ServiceClass}constructor(e){super(),this._fields=Object.entries(e).sort((t,n)=>t[0]<n[0]?-1:t[0]>n[0]?1:0)}accept(e,t){return e.visitService(this,t)}covariant(e){if(e&&e._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${g(e)}`)}encodeValue(e){let t=e.toUint8Array(),n=_(t.length);return y(new Uint8Array([1]),n,t)}_buildTypeTableImpl(e){this._fields.forEach(([i,o])=>o.buildTypeTable(e));let t=w(b.Service),n=_(this._fields.length),s=this._fields.map(([i,o])=>{let a=new TextEncoder().encode(i),c=_(a.length);return y(c,a,o.encodeType(e))});e.add(this,y(t,n,...s))}decodeValue(e,t){let n=t instanceof C?t.getType()??t:t;if(!st(n,this))throw new Error(`Cannot decode service reference at type ${this.display()} from wire type ${n.display()}`);return nt(e)}get name(){return`service {${this._fields.map(([t,n])=>`${t}:${n.name}`).join("; ")}}`}valueToString(e){return`service "${e.toText()}"`}fieldsAsObject(){let e={};for(let[t,n]of this._fields)e[t]=n;return e}};function g(r){let e=JSON.stringify(r,(t,n)=>typeof n=="bigint"?`BigInt(${n})`:n);return e&&e.length>zt?`${e.substring(0,zt-3)}...`:e}function _n(r,e){if(e.length<r.length)throw Error("Wrong number of message arguments");let t=new et;r.forEach(a=>a.buildTypeTable(t));let n=t.encode(),s=_(e.length),i=y(...r.map(a=>a.encodeType(t))),o=y(...ge(r,e,(a,c)=>{try{a.covariant(c)}catch(u){throw new Error(`${u.message}
137
137
 
138
138
  `)}return a.encodeValue(c)}));return y(gn,n,s,i,o)}function wn(r,e){let t=new P(e);if(e.byteLength<ke.length)throw new Error("Message length smaller than magic number");let n=Z(t,ke.length),s=new TextDecoder().decode(n);if(s!==ke)throw new Error(`Wrong magic number: ${JSON.stringify(s)}`);function i(d){let l=[],m=Number(T(d));for(let N=0;N<m;N++){let z=Number(M(d));switch(z){case b.Opt:case b.Vector:{let j=Number(M(d));l.push([z,j]);break}case b.Record:case b.Variant:{let j=[],oe=Number(T(d)),J;for(;oe--;){let G=Number(T(d));if(G>=Math.pow(2,32))throw new Error("field id out of 32-bit range");if(typeof J=="number"&&J>=G)throw new Error("field id collision or not sorted");J=G;let W=Number(M(d));j.push([G,W])}l.push([z,j]);break}case b.Func:{let j=[],oe=Number(T(d));for(;oe--;)j.push(Number(M(d)));let J=[],G=Number(T(d));for(;G--;)J.push(Number(M(d)));let W=[],Tr=Number(T(d));for(;Tr--;)switch(Number(T(d))){case 1:{W.push("query");break}case 2:{W.push("oneway");break}case 3:{W.push("composite_query");break}default:throw new Error("unknown annotation")}l.push([z,[j,J,W]]);break}case b.Service:{let j=Number(T(d)),oe=[];for(;j--;){let J=Number(T(d)),G=new TextDecoder().decode(Z(d,J)),W=M(d);oe.push([G,W])}l.push([z,oe]);break}default:throw new Error(`Illegal op_code: ${z}`)}}let x=[],A=Number(T(d));for(let N=0;N<A;N++)x.push(Number(M(d)));return[l,x]}let[o,a]=i(t);if(a.length<r.length)throw new Error("Wrong number of return values");let c=o.map(d=>hr());function u(d){if(d<-24)throw new Error("future value not supported");if(d<0)switch(d){case-1:return qt;case-2:return Wt;case-3:return Qt;case-4:return Yt;case-5:return sr;case-6:return ir;case-7:return or;case-8:return ar;case-9:return er;case-10:return tr;case-11:return rr;case-12:return nr;case-13:return Zt;case-14:return Xt;case-15:return Kt;case-16:return Gt;case-17:return Jt;case-24:return cr;default:throw new Error(`Illegal op_code: ${d}`)}if(d>=o.length)throw new Error("type index out of range");return c[d]}function h(d){switch(d[0]){case b.Vector:{let l=u(d[1]);return dr(l)}case b.Opt:{let l=u(d[1]);return lr(l)}case b.Record:{let l={};for(let[A,N]of d[1]){let z=`_${A}_`;l[z]=u(N)}let m=fr(l),x=m.tryAsTuple();return Array.isArray(x)?ur(...x):m}case b.Variant:{let l={};for(let[m,x]of d[1]){let A=`_${m}_`;l[A]=u(x)}return pr(l)}case b.Func:{let[l,m,x]=d[1];return mr(l.map(A=>u(A)),m.map(A=>u(A)),x)}case b.Service:{let l={},m=d[1];for(let[x,A]of m){let N=u(A);if(N instanceof C&&(N=N.getType()),!(N instanceof ne))throw new Error("Illegal service definition: services can only contain functions");l[x]=N}return yr(l)}default:throw new Error(`Illegal op_code: ${d[0]}`)}}o.forEach((d,l)=>{if(d[0]===b.Func){let m=h(d);c[l].fill(m)}}),o.forEach((d,l)=>{if(d[0]!==b.Func){let m=h(d);c[l].fill(m)}}),rt();let f=a.map(d=>u(d));try{let d=r.map((l,m)=>l.decodeValue(t,f[m]));for(let l=r.length;l<f.length;l++)f[l].decodeValue(t,f[l]);if(t.byteLength>0)throw new Error("decode: Left-over bytes");return d}finally{rt()}}var Jt=new _e,Gt=new k,Sn=new Be,Wt=new Le,qt=new te,Kt=new Ve,Yt=new we,Qt=new Se,Zt=new Te(32),Xt=new Te(64),er=new H(8),tr=new H(16),rr=new H(32),nr=new H(64),sr=new O(8),ir=new O(16),or=new O(32),ar=new O(64),cr=new Me;function ur(...r){return new Pe(r)}function dr(r){return new le(r)}function lr(r){return new X(r)}function fr(r){return new re(r)}function pr(r){return new fe(r)}function hr(){return new C}function mr(r,e,t=[]){return new ne(r,e,t)}function yr(r){return new pe(r)}var De=class r{constructor(e=new Map){this.rels=e}copy(){let e=new Map;for(let[t,n]of this.rels.entries()){let s=new Map(n);e.set(t,s)}return new r(e)}known(e,t){return this.rels.get(e.name)?.get(t.name)}addNegative(e,t){this.addNames(e.name,t.name,!1)}add(e,t){this.addNames(e.name,t.name,!0)}display(){let e="";for(let[t,n]of this.rels)for(let[s,i]of n)e+=`${t} ${i?":<":"!<:"} ${s}
139
- `;return e}addNames(e,t,n){let s=this.rels.get(e);if(s==null){let i=new Map;i.set(t,n),this.rels.set(e,i)}else s.set(t,n)}},je=new De;function rt(){je=new De}function Tn(r,e){let t=new Set(r.annotations),n=new Set(e.annotations);if(t.size!==n.size)return!1;for(let s of t)if(!n.has(s))return!1;return!0}function Xe(r){return r instanceof X||r instanceof te||r instanceof k}function st(r,e){let t=je.copy(),n=D(t,r,e);return n?je.add(r,e):je.addNegative(r,e),n}function D(r,e,t){if(e.name===t.name)return!0;let n=r.known(e,t);if(n!==void 0)return n;if(r.add(e,t),t instanceof k||e instanceof _e||e instanceof Se&&t instanceof we)return!0;if(e instanceof le&&t instanceof le)return D(r,e._type,t._type);if(t instanceof X)return!0;if(e instanceof re&&t instanceof re){let s=e.fieldsAsObject;for(let[i,o]of t._fields){let a=s[E(i)];if(a){if(!D(r,a,o))return!1}else if(!Xe(o))return!1}return!0}if(e instanceof ne&&t instanceof ne){if(!Tn(e,t))return!1;for(let s=0;s<e.argTypes.length;s++){let i=e.argTypes[s];if(s<t.argTypes.length){if(!D(r,t.argTypes[s],i))return!1}else if(!Xe(i))return!1}for(let s=0;s<t.retTypes.length;s++){let i=t.retTypes[s];if(s<e.retTypes.length){if(!D(r,e.retTypes[s],i))return!1}else if(!Xe(i))return!1}return!0}if(e instanceof fe&&t instanceof fe){let s=t.alternativesAsObject;for(let[i,o]of e._fields){let a=s[E(i)];if(!a||!D(r,o,a))return!1}return!0}if(e instanceof pe&&t instanceof pe){let s=e.fieldsAsObject();for(let[i,o]of t._fields){let a=s[i];if(!a||!D(r,a,o))return!1}return!0}return e instanceof C?D(r,e.getType(),t):t instanceof C?D(r,e,t.getType()):!1}import{capitalize as An,convertCamelToSnake as Nn}from"@junobuild/utils";var he=r=>{switch(r.kind){case"text":return S.Text;case"bool":return S.Bool;case"float64":return S.Float64;case"int32":return S.Int32;case"bigint":return S.Nat64;case"nat":return S.Nat;case"principal":return S.Principal;case"uint8array":return S.Vec(S.Nat8);case"opt":return S.Opt(he(r.inner));case"vec":return S.Vec(he(r.inner));case"tuple":case"indexedTuple":return S.Tuple(...r.members.map(he));case"record":return S.Record(Object.fromEntries(r.fields.map(e=>[Nn(e.name),he(e.type)])));case"variant":return S.Variant(Object.fromEntries(r.tags.map(e=>[e,S.Null])));case"discriminatedUnion":return S.Variant(Object.fromEntries(r.members.map((e,t)=>{let n=e.kind==="record"?e.fields.find(i=>i.name===r.discriminator)?.type.kind==="variant"?(e.fields.find(i=>i.name===r.discriminator)?.type).tags[0]:`Variant${t}`:`Variant${t}`,s=e.kind==="record"?{kind:"record",fields:e.fields.filter(i=>i.name!==r.discriminator)}:e;return[n,he(s)]})))}},En=({id:r,schema:e,isTopLevelOptional:t,suffix:n})=>{let i=he(t?{kind:"opt",inner:e}:e);return{baseName:`${An(r)}${n}`,idl:i}},_i=({id:r,schema:e,suffix:t})=>{let n=q({zodSchema:e,id:r});return En({...n,suffix:t})};import{capitalize as se,convertCamelToSnake as vn}from"@junobuild/utils";var br="#[derive(CandidType, Serialize, Deserialize, Clone, JsonData)]",In="#[derive(CandidType, Serialize, Deserialize, Clone)]",Cn=new Set(["type","struct","enum","fn","let","match","use","mod","impl","trait","where","move","ref","self","super","crate"]),$n=r=>Cn.has(r)?{name:`r#${r}`,sanitized:!0}:{name:r,sanitized:!1},xr=r=>{let{sanitized:e,...t}=$n(r);if(e)return{sanitized:"reserved",...t};let n=vn(r);return{name:n,sanitized:n!==r?"renamed":!1}},$=r=>({kind:"primitive",...r}),me=r=>({kind:"composite",needsJsonData:!0,...r}),it=r=>r.flatMap(e=>e.kind==="composite"?e.structs:[]),ie=({schema:r,structName:e})=>{switch(r.kind){case"text":return $({fieldType:"String"});case"bool":return $({fieldType:"bool"});case"float64":return $({fieldType:"f64"});case"int32":return $({fieldType:"i32"});case"bigint":return $({fieldType:"u64"});case"nat":return $({fieldType:"u128"});case"principal":return $({fieldType:"Principal"});case"uint8array":return $({fieldType:"Vec<u8>"});case"opt":{let t=ie({schema:r.inner,structName:e}),n=`Option<${t.fieldType}>`;return t.kind==="composite"?me({fieldType:n,structs:t.structs}):$({fieldType:n})}case"vec":{let t=ie({schema:r.inner,structName:e}),n=`Vec<${t.fieldType}>`;return t.kind==="composite"?me({fieldType:n,structs:t.structs,needsJsonData:!1}):$({fieldType:n})}case"tuple":case"indexedTuple":{let t=r.members.map((i,o)=>ie({schema:i,structName:`${e}${o}`})),n=`(${t.map(i=>i.fieldType).join(", ")})`,s=it(t);return s.length>0?me({fieldType:n,structs:s}):$({fieldType:n})}case"variant":{if(r.tags.length===1)return $({fieldType:"String"});let t=se(e),n=r.tags.map(s=>` #[serde(rename = "${s}")]
139
+ `;return e}addNames(e,t,n){let s=this.rels.get(e);if(s==null){let i=new Map;i.set(t,n),this.rels.set(e,i)}else s.set(t,n)}},je=new De;function rt(){je=new De}function Tn(r,e){let t=new Set(r.annotations),n=new Set(e.annotations);if(t.size!==n.size)return!1;for(let s of t)if(!n.has(s))return!1;return!0}function Xe(r){return r instanceof X||r instanceof te||r instanceof k}function st(r,e){let t=je.copy(),n=D(t,r,e);return n?je.add(r,e):je.addNegative(r,e),n}function D(r,e,t){if(e.name===t.name)return!0;let n=r.known(e,t);if(n!==void 0)return n;if(r.add(e,t),t instanceof k||e instanceof _e||e instanceof Se&&t instanceof we)return!0;if(e instanceof le&&t instanceof le)return D(r,e._type,t._type);if(t instanceof X)return!0;if(e instanceof re&&t instanceof re){let s=e.fieldsAsObject;for(let[i,o]of t._fields){let a=s[E(i)];if(a){if(!D(r,a,o))return!1}else if(!Xe(o))return!1}return!0}if(e instanceof ne&&t instanceof ne){if(!Tn(e,t))return!1;for(let s=0;s<e.argTypes.length;s++){let i=e.argTypes[s];if(s<t.argTypes.length){if(!D(r,t.argTypes[s],i))return!1}else if(!Xe(i))return!1}for(let s=0;s<t.retTypes.length;s++){let i=t.retTypes[s];if(s<e.retTypes.length){if(!D(r,e.retTypes[s],i))return!1}else if(!Xe(i))return!1}return!0}if(e instanceof fe&&t instanceof fe){let s=t.alternativesAsObject;for(let[i,o]of e._fields){let a=s[E(i)];if(!a||!D(r,o,a))return!1}return!0}if(e instanceof pe&&t instanceof pe){let s=e.fieldsAsObject();for(let[i,o]of t._fields){let a=s[i];if(!a||!D(r,a,o))return!1}return!0}return e instanceof C?D(r,e.getType(),t):t instanceof C?D(r,e,t.getType()):!1}import{capitalize as An,convertCamelToSnake as Nn}from"@junobuild/utils";var he=r=>{switch(r.kind){case"text":return S.Text;case"bool":return S.Bool;case"float64":return S.Float64;case"int32":return S.Int32;case"bigint":return S.Nat64;case"nat":return S.Nat;case"principal":return S.Principal;case"uint8array":return S.Vec(S.Nat8);case"opt":return S.Opt(he(r.inner));case"vec":return S.Vec(he(r.inner));case"tuple":case"indexedTuple":return S.Tuple(...r.members.map(he));case"record":return S.Record(Object.fromEntries(r.fields.map(e=>[Nn(e.name),he(e.type)])));case"variant":return S.Variant(Object.fromEntries(r.tags.map(e=>[e,S.Null])));case"discriminatedUnion":return S.Variant(Object.fromEntries(r.members.map((e,t)=>{let n=e.kind==="record"?e.fields.find(i=>i.name===r.discriminator)?.type.kind==="variant"?(e.fields.find(i=>i.name===r.discriminator)?.type).tags[0]:`Variant${t}`:`Variant${t}`,s=e.kind==="record"?{kind:"record",fields:e.fields.filter(i=>i.name!==r.discriminator)}:e;return[n,he(s)]})))}},En=({id:r,schema:e,isTopLevelOptional:t,suffix:n})=>{let i=he(t?{kind:"opt",inner:e}:e);return{baseName:`${An(r)}${n}`,idl:i}},_i=({id:r,schema:e,suffix:t})=>{let n=q({zodSchema:e,id:r});return En({...n,suffix:t})};import{capitalize as se,convertCamelToSnake as vn}from"@junobuild/utils";var br="#[derive(CandidType, Serialize, Deserialize, Clone, JsonData)]",In="#[derive(CandidType, Serialize, Deserialize, Clone)]",Cn=new Set(["type","struct","enum","fn","let","match","use","mod","impl","trait","where","move","ref","self","super","crate"]),$n=r=>Cn.has(r)?{name:`r#${r}`,sanitized:!0}:{name:r,sanitized:!1},xr=r=>{let{sanitized:e,...t}=$n(r);if(e)return{sanitized:"reserved",...t};let n=vn(r);return{name:n,sanitized:n!==r?"renamed":!1}},$=r=>({kind:"primitive",...r}),me=r=>({kind:"composite",needsJsonData:!0,...r}),it=r=>r.flatMap(e=>e.kind==="composite"?e.structs:[]),ie=({schema:r,structName:e})=>{switch(r.kind){case"text":return $({fieldType:"String"});case"bool":return $({fieldType:"bool"});case"float64":return $({fieldType:"f64"});case"int32":return $({fieldType:"i32"});case"bigint":return $({fieldType:"u64"});case"nat":return $({fieldType:"u128"});case"principal":return $({fieldType:"Principal"});case"uint8array":return $({fieldType:"Vec<u8>"});case"opt":{let t=ie({schema:r.inner,structName:e}),n=`Option<${t.fieldType}>`;return t.kind==="composite"?me({fieldType:n,structs:t.structs,needsJsonData:t.needsJsonData}):$({fieldType:n})}case"vec":{let t=ie({schema:r.inner,structName:e}),n=`Vec<${t.fieldType}>`;return t.kind==="composite"?me({fieldType:n,structs:t.structs,needsJsonData:!1}):$({fieldType:n})}case"tuple":case"indexedTuple":{let t=r.members.map((i,o)=>ie({schema:i,structName:`${e}${o}`})),n=`(${t.map(i=>i.fieldType).join(", ")})`,s=it(t);return s.length>0?me({fieldType:n,structs:s}):$({fieldType:n})}case"variant":{if(r.tags.length===1)return $({fieldType:"String"});let t=se(e),n=r.tags.map(s=>` #[serde(rename = "${s}")]
140
140
  ${se(s)},`).join(`
141
141
  `);return me({fieldType:t,structs:[`${In}
142
142
  pub enum ${t} {