From f9034ab0c32f80c56a80935f52583084f88caf97 Mon Sep 17 00:00:00 2001 From: saltyaom Date: Sun, 7 Jan 2024 15:03:21 +0700 Subject: [PATCH] :tada: feat: merge Scalar --- bun.lockb | Bin 240922 -> 157260 bytes package.json | 4 +- src/swagger-ui.ts | 355 +++++++++++++++++++++++++++++++++++++++++++++- src/types.ts | 2 +- 4 files changed, 352 insertions(+), 9 deletions(-) diff --git a/bun.lockb b/bun.lockb index fa550c254d79a6caf945c27c9532ec273a671ae5..e5a7e3069e6535eeb3915064495cbc2a590218df 100755 GIT binary patch delta 32116 zcmeHwXINENxAoZ@k8%|31q7rh2r5OSiX6nQ*sx(&KopcFpaP0uFNt+W7xt1EHHjvg z7?s49n8ccBOtHisYobvTV@cF+j9rBI#`nJWd+z=5eNWEgICIUh=2~m6xymkQ%U*iA z@{uE!`F@QS1ud9S@7*sJ*Iik4T=hjarsQ92_@GA1Wnr6JwXeOhr`hl0B-zBzWNAU) zdWDY*BvsSCs+mkh(~-1?91B?$atLG{$TS#|?*zRT^T#A1Wiqt{Dng%7&SYZw7Lb)7 zN9lSOv&mE)dP_)_Z>YZi>ly@Lt#NL z=*Vvf4E3|-Pqy6+~217DRHZEFQ zy>+<;lGP`UjYsTEro`0jT*~t(kCuuOFpTuA4E4+1 zl;J5!!y22$4o^u03^P@T>^Vfr?zbhcwzsZmsgsWa!ERXAQCnWuU&`|Sh6zmY8A`>K=zh7S)3p=z6 zy|8G2k5-^}Ba;bvMd6T)>tXP2keeH8j@g253jG;)POCw_+WfYImHEkYSH~B zTEjm;Izsmh(CRG*$^7g7)C)~T$C03iCAwSz$$$+@N*FT&flSNB7e2>O5j-xc)=YEY zCpf~$%jgLs;t9#fbqLZN${&}KlZZg?h0e%rh2+RxM|rllG{j``Dnud=33@aTk`0GK zBI-qTAl)E;2{xI$Ay1tB@Wmk=jCvw`!sO9?}u~9!QR53}kJ{P)Jtb3CTHKP1nmo+C%RgtvQkz zpOu{ir^BJM=eJQm%Qt||b$6_lX7_n3#Gj!X+*)hsEIgvY%O;^QhxN(+(z(91tu{od z8N=eUF$A64XpR_@F9bRra%+S5Gm(jg8QL!)t3dAPp!IM!bVevOV_a&=h~%909kn?y z7?N90k4~DyR!Bx>3+x$*g)w^MAQ`C)NKWoSx^CM=i?Cav?#Xf#WY68ZY7Vr=WMaW9 z&^g=Hkou-&pMuUw_&KB++HP9IB|0CUo05@@$$GZC)}e18Sw1&bo1|$eY1l^+OexUW z(ZUuzG{gApy!6CTDLMO5fIS|Qo}3gv%w!6LW0j%jYpN+ZBV$y2LTXaio*Lg8vJ&#= z>UKMNX_L>Zx0a8?Q&M)K$utr9tk=1ZCIuuMD=bRM_RUBbX)@)2V2G+fGK6R1w4UvT zWT>B_LP}$(hL6ck!qLps5*615Z!AY+qw&xiT+!cT@<4tPBqN*;$#!hie60U^1GP|R zCB-LVRhTwIrvqyt8R{;Bv=CN?&K?|wPDip*(z4=*n@l58GZIkD^u}N<5@{*vDVg!v z+0URe^oG7n*DDOwLO&3)GS~lnyG?Bsxd4*OcUV$Vrf*8NX(-BZtY38Ck0ivO750Jwd+HC#jmI65V~(LwJC}xSkao4f zbF5QFq-SKIuswA4kVf&T*(QOdMqSqJhNq+t^Bt3E>Yt*O>!!<0-_(r6_#AkbIwU16 zCCAilq-Jn0UhCNf=xp%C5YHZ^#$=}q&ojM_*}{(GjL{t5 z3(1il2FV$+6y@si7*~h{kJgV-zcb_*=xi`aulV{nt)d?w8G*$(7onU5Ne3Gs$c$8H z*mG+6LDqvzO3lkoLAp3!%by9!hBF{(mjG$s8i_<~8!3oYEC?>1Q1pToHi2X$)=$tH zY<_3bJf359#-G0T&Uro?5N?bJgo6h>EO8f{W~@L zmV5uYW3ps>s=}OWaWm#@P=>m?RgI55v;5NOiBTK7xg1}<@avD1VvjK8VZExh=4*>W z(u+6SDaSm9I=IT02FKpMo!M{CZS(STx4aL|nNYco{B5ohP``uizUmS8hjdUQA0R!fR=<16l8e(KAH6UP2gZRyQA4(GoaQEOe3Pky>|>>K4k{mg|P0ZJIr z;H0f`;*B4h_Pk|Qs(L0%ijwCUC4Hyt#CJU<+$&1TSMt1~>~}~eQw%x}VX{;9ZELJ# zdfG~rl}E5xqJ%e$GJjjnWNNEC@rp2KnsGc;QyY=exZ6mzCnp6fdEQZ$apg^>R;W)_ zCV7XNcR~wOc6mlf<&|)sD03@ZXsG3+8OlzdDEUAI<*|=ds;-1LijvwXd5xmvwYEx0 zBdhtoE&Nj3YKbvwtwegaD2IgB=yjx`nQ8IC3<^PWHp(Q=PScq zc?=OyNon51Y8i_m4ufTRCAv|l^s%zDNtE+35_Or^@Dl5(Xt&+Qv=N}~vQFh{cmGa0xNYSvhEmeZYQ6_jHI!N_;X&#+2Sv#@ zYAPi`Rt){4peRdk9E3DKCi#Y%mq0_Pn?%Sz)>2A>t+HEfrKGRbGQPGJ+j2^DYM3n) zh7aTF7izfyjSW{+qWweV-F1|FZ>yQ-X)To}J`r+D2c>y`tGv!Z$%i=Qpp^8tTB>0& zcGYUY%oqZ#JB=;xBGnGOI)s+{(3(T5ph&S{wslRWo?4c7sAaOQ$!yf}Ei|n9B8wsg zgjzzdvtT`=5-Bv)vJ@I;MLE^kW6;8(Ny? zhTuNB{XH}s%%GtuOSp&D8AJzaFEqoz6x!qp_$t?Hkp#uRkar>u0?eV zv)JMAFk92$(PC(vp4woH^EH_U8Z}r>K+@V|?Qb&mf38Ji zP@a2bSp%)KT&1RE^F~1{t!3X|v^s&>q|xSQUZC>0jn(otNcfMA?du*U1uFS%t#aLF zN=aL*rE4=S(ptY(LgO0Iv}e#dLenBT81qf*C0F4IX!wUJF@-G^g0(rImFo?Si^@h_ zuS=lOTdYuw#9l1V9JL(BIS9j7+RK&D64X3ea@Wavu4O?>ey*K{mit`mfhnQ2$8wGs zrqWu*Lwi1xET^DpmYgvz5oM!V0If8tC!h^iTbT4gm@Q($X^cr7ttzZhoA0%8d8x-? zLzpcT2CSmm)iZe?4w$)!!*JJ2}vT2MMg8IzTvT??%j^0XuA@6fs{1z6kd zT52_DWfnrC8=7_r8keL+U3UGk4%kg?&t3_QE>=*Y+lE@chSn9DExj_kp-?YnS44y* z2PrN`TeXIB&{%_6-3UCeLvUKCWh`T%^@XMl_LtCDPTgZHLr|!Ln#Z=*L!%{X@eH** zgGL{r;h+`WR>_aWv8JuIhH*eafsdeJuEHc5yX&pCO7k98i+?+9KyB2GdqF#;q=!{L z+)jCnJgNQjV@qV1)LzN&X|+rTr^PQiDAaPgR7(uAg>UQ@jsb8e3mWRy_pw9JxccE9 zW@c@SBRhh_5e6><8m1hAjRBJ1@2KSWwpxAz$??_VFak-&L7Nskp_Pt~CC2DED|-tX zqoQq}GTLOb+BkMaGF{d7y&GoxJZs;`FkZEn&Y1Dg*hj6@SJ2qDrUhVl*)8=TD2-Ki z4vMne28X$?kGgj^o}ESZZDET9W)56os8&Pc)WDkd3N_2{zq_(4D8kYMDOw?FJwojl zLgN@oCX=Z=;;5cDT7CknMV3?8Keo(nDNRrDUkp+zI}+QBMQr zBE{I6lu3x~=RK7Cc&k)J*%=>Y9*A>*7Rs*p2&q^JPl%Ea^;Gf`tY#TKS81~qsSp~N zbC7Doqm%qqFC{02LH`K(mpG*)$!czgG3>-r(tIU+c$DQE=!}56^GXiNPHW8$UtgkYH0u47GS-Y#C#d65S)zvIp8QO9f^O+EsLXI#=0nr! zoRlAG`2iX>GKM4})Y1goAOnP5tbeFwD6{}**x?q2%I^+VN?x~GJcelFiR}hQhW^l4 znR>!#S)}J-$)MSz(6mWO%i2S=X{&Bp=8@1ap577W%}7}pXZg`kB0=#f*W`>%Yio^9bufdaumlwV=Y*Q7^(N6;b5UVaTglnk8Tdbq)FDCP+gLTBrA_M zTIJQrO7j_3%NgXcTzPf$9aFRxwB0EQ8uKs=EyHYeMca-pLgQ-G3>`;m#k3=Ne`vZZ zIO!~g)C}X+t{IWkZ1|73uYnUw*j)xY5OL~^-y}5cSim9hz?U14i z>Zyf!A~od+j(;B_#j3EcVP4*aMrYI$P1!$9X}-y7PD+En>fvk|Q)*M(>CZr;hg#U` zV25Q8aj+a2D)&lP@;6&8Ye8~Aap=hmm7k?6k3j}zXhT>*nUof484rynZ~(#I2CciQ zaZ@*EYEElga3nN3hhAeJfx-=w$MZ4@OWBS#<~+3l(6~gkI#xhq7!Z3*gKwd+5-eYA z0&bW|oIW@@VJ8^|jh5PhXgM@(aOveWXslB^6=;^N#Q_KF9-(qZw$l7Pt7QjBc0^kj zwmHV>E4Qp+(4vqhaly(T<|xg#SS>d|YO&?IbsdANbG3!&IicnvXt)-{HSbqQwNs1k z6QSl>V^NW^t4D;T7gD`d9t%O zWlg?TK-*l;K+~oxV_tu}b^z8UZviy6gLQ%vkMTEb5 zFH}ySpyY42%I{B5O13vIw1XwVPg%)htG&u<(hF&9<)-pLxXx2r0C=H(C}jZi!ej=} zRrT|4WT9Fh24*$@f~$VYN;-nG0`)^lJ48*D7(}%^4vZ$+^#%B$q$B+S@&j}^5R&|0 zT_0jn?(L{v2#weCymx5AN-4r90Q^u=p9z!$ zUe)D%-XLW`1)#xe0Cl0urI7S_xvsB*q=Rn)P3b@|Bpqz7 z>ygaFhms9PLy~HZFV^1%(w6J5GZHKq3yFWGp8V1!`M%Iupr0=LLvqZA>UNY2X_}s& zuJdIj%V+3(Sy@QWv-Au~>SG{TV64tlQXi-5e<#_)@yMr1fo@k;vOIqmW>%3dC(93TLrEWI=yJBs|DBYTvwK{XpZ7R~v-Wwgq@1spRCN6{T`tn)Vm*Heb!FGr zuIe7R0vi6AR*{8Vt;;o#?Atm>{4=fR*GnYJZ9qQdM%}Kg^aB5t&QsFvn9Mn-CDc*< zPB)-r@}zEfO6UKbWQC{oazE(y|4!2Wtn7quHSsr6d9t^Tx~ZMltG%dKOUdGwba`2q zKkE6E%)bK3@w~3d|5|3l{~Y4;~2%Rkd~lZ`e$DoX>2xi3i8VFRA|<@9_?>SkS**Lh0LsEWE?RWU zcHR|_TB`v6oQ8j)k2ob~8c)CZq2!GC=QJEa_~$hIpVM%jj&m3N=QKQkhbDX|nf&K8 zoTuggoQ7)$jDJqU)x}}@=QRBPo73=4|8u9|?=StKzNFMT7o*sovscp2#qfVLJ^z#| z-#XMccGK^x7bL{4vb$jS{)cNOwR`8Yz!^!u_PqH^?UKPt=QI7zE}Hh`*mGO!IlUeC z-O%o9YbA8PmE*o=@Qw=O#snyv&N(P9=VPP_O3L{-CHcI)auk|Hal8}C#NHvsMm*bR~ zm+h5X&}u2+KgKCxKiVrRevFaoC^w*8ht}mvjO3^+xe})oU$Ix7Kyy;0>v2kltM*FL z^%%)T*#hk$wBA=^Bv)n4)i`CtHG9Q;Ek<%zVz0$1eXrXq+o07~EH~m5+Z%|}jTp&O z*$Hh2G?$w(QbQ%>Ci-_1{e$MCIR1qG{e=Gg6eBfO4njKs&G+XR$ydqy8U6bi{e$MO z_}oJOZlQm-Vx*?ZDQG95Mc$5)nklnxqkp&2KWM>9IDY>Q`vv{`B}NKWZa}*Zt;?Ml zDO_1{2mQN){y~dSI^IS9?%FGx?#4)w$|GnGp$)nhBSk42@1cM9>=pZ8W29)M->>N3 zul8bEeJMt2Esoch(8J&CMQ{V?ZN;Pp(04$;LcP6c>IpshzP(uF3B9AZNZsLgd(qYl zdW=}$1^oc@`_#LL=!Vd9AJ~g^4WV}vcd2_nv=_a-p~s3f-q24%H~T>EDPnz~&wOMr zwo&gbq(;!g9@{Is;BA~@`3-%BmiAkW)KA$7t@sbb|9*@#KuNieKL3gMLmQ+x{*FFF zEBHMIkBlCKw&4ll{~$(+SMna9&rcD5Xo-r?L-hC=;{Py4N>WZi+W{@|QH(S~ne`}c zQ8H%aEodo9_~SU?AVFR6I7S+!+<v8A8{gAhWZ3*hSKrRIN@yrb<>|Q z(rD!o)RR;PJ&BRBm5op0#LRL~?VrX-W0ZbR<3yMl>Mp3`6w9+Xah+<~vluB)*$K6{ zykx(~1u+@FC`F1B9V$RQ3bjBuO3)ud7X=cCLUEA923rumGKfhcPX^J~0^%%*DZFoSqS+#qqlPO2=rmX|t7 zbHtMJAadzBjlOzV&f>6XpTM#p=fUviKSS0#cK!jBV zv5SNdmWm**lSr!wVu{#EqPQ9emr5X(iIhqpI#dU7l*9_*Xb0jUi2^$itHePP8)|^? zwFj|ADhP)< zAXZcb@wT`@;sA**)j(_#OR9m$bpY{%#Ji$nbr9Z;AU0J8u|+&0agxNK8X(>m8*6}= zSr>$TO%U5eznUPzoIva%v0Yedfw)d0trm!#Vke1WXAmy6L3|`qYJ=$D0^%r%UBa;r zh=(K!>VViI4wBeV4}`A+hCnUZS9bG_pHvqAT6Z^P$ zMB*fgLG?hK5F6`(nCS_^-W9~RqMs{>FfS0hNPI6WZXm9cNOJ>mO6(+2+z^C|JBTwP z#T`TkZxBaGoE459ARdw^@BndM93-*92ZS#-!Hc3FHXYHo5r|!lKwK7<#vp7PgGg%( z;)>WwVh0JACLpeflqMjOn@IMZJ$!>tKMD74o8DtmpW@H<#8!HeQr-FN@&)Os@6xT=VZ<@0R1?STE4N^Z3^u&+u$@0nb9s93bKA2jZ5<^8=CV2jVP=Uxbf82ycH7bNoTv6{kp?BoP?^;#V;% z0L07y5VuI&7vW7ogf#`RqA7?6;s%N9B)SBGcqEntf+!9I@r1-5qGK}<9h!mI)C|NE z@rcAj5`%)I82On=ycHz%5gUTQ*ayQz68(Z<(l;2yE)q7v5(2_D1Vma02(#EpVh0JA zP!JVFN+^irP!LB+ScGF32!}8b1z{j6iGw5#knjzcV!GJ#7LoobH_-D^^{K5x``5S} z^0I|o1^-XNPIr6n!?EU5-?wb& zx2*HIqkg}Nv~bCxbGMmCbH7~CEcnZylr(0*dq7;|h?Qg#Mpx>dZ z>upOWWG(M@cTmTtXVwh;$n|^C&8tQ&Wq!_zmI3g_7|<$W(r~!z-5l;-84mxeiKZh! zoFuVm1pKd2*8f+Xr@oiv@aUpT#qbk-ewljqX8h4+?=Pt0KB@iZpS)sCuYB~if(J=o zrbql(;j4acN4H+>wsuODUTHCD!BHnNq{rI_iGm3DAJKNU-OZpw)zeE%TW+2{)ykUK zYgJbJ&hLDXHY@p9y(QCXkN#z2@t2FcM|YUD^ScABI*onr?)3CWAyXFwba_>1Bfja^|h@Bi!;mpw~4a@DX5^%ZWj%E|4_@w>Orp#h5l*Gt&XlTPw zG<0+wnw}(yx^GIS#n4Zra>8!Cv|7GfUTj`3^)Z*jo%+h#M<0=#B>ZQ#a^lbRlC8M~ ze$25a87FNo`b27?X4#L-_RWh=OEsm{{!5W+f8p`NFdp?A<1bL|8?`;jcKhger1}+E z(*?CAi}8PqbGKJ3k@l#Zymp|t`I*#7b;9isoN&Z5Pc;Ob*iO#g_|LXK5B-a8Ej72_ zJ0|UClewy`@&7}A$1&L=qCdm+0IH}s8^6(1goCeTZcjfV^;i4WKvrh@dDFL{^8b6^ zo#aX_`Pd3RGcm?*wUMI=pFYz*BvX*bY~#*=q4Qp=@pH{c-G+Ch-)06rqjZjUBKcqB zSqC4Zp=4dFbvyp?6>|JBSpNmO(3Gx|d|<-`;Dc*2!mc zXoq1^e*$HGj?Ps=+W2L9jLz{_$F(R(r^c!re(2?M6mRGr@*yAm(>w z=IC4=I3}wClXQ*`2C*!kJ{kg!y_}$Pe7vi@ZpXh>L%SM4r$U`Ho+hdZGDhe4BRmaj z0b$@6p(35bqI&)~44*KfT^*pNUUst1Ie@FBb5nHAk+$F%-NLCLnO_%Z%v$i7t{ZZU zs_7gbUt-c3n5lD=EX!fLh6F=CTequ+^jvU^8^Zs-oq z9~^r$SLZyC=JPu2(L9~2kF+N^_GmshB>DFNOc#;nhmTk>=?OR?!44@phhLdZbEMw* z#)r>b(Xb)FirC9VI_Hh_eWY3OVx99r`WvMA5s++n2gd;)=b4h2*HQKq?{$=$gzyfY z2T&hq0PxRc4@1UL#bvJvMx$sVFyjNGE~KGgjQ@F}og7PmXgwd);1 z`Y><=I0}3TtOhuhE1QHhM)opuK%GQNj66hr2KG4AuYnT)|0s+Tz^4iLC_*Km0>H-{ z_~%aeJj4^=DZq)z=O-Qke9q!Nz-7gULoNVk0X}c?IqK!}E8hcrUgbFOHSjGT=HQbr zYk=1QE;T-nBY_QKm)c`g`UmhQkO4gt7!6DXrUBD|B7jSfk4Oy! z1_6VCwg8u02N`R;BNCkeF0BwC6bJ{J0yO|G8!nUDz!~(IL&+t?CBs$G1mH^GjL(Hl z9v~qt12#Z8zzmcJ?!ei*z&+qsAkhKF!+_zy2;dCJ1ZD{Lu5z8ikw}gLQh_vpSB4qD zK%f~A1Ox*iKqznu;IpZGro#o`LnD;|K19Mh-+U;AJ0+iH;iEWLfr|j25;_B{1Ni9E z5&)~QP<<9G8%hqqXRclWW&ksRS-@mq3eXw#b^-bz-4bX4SkU2$KoHU%z;iTJukmqAt~9PJuB2jM39u9h0Ga_oKrj#jgaQtLBfvd`TLvFu zeFVq&;4GhjO9M6`y%~5P*amC_)&T2(Wx!%!8jy$fO{0MvfX_|$0D1x4f!07c&>V;W zP6K>&hL7d&86P~Uq&^L`6ml6b78nEk0*CGZzXA^cJ~??4;Fj?%@HwyL4a5N5fZx#|9qa?N1-b$^(ZEl@E#NkA8CVXK11bQ6QEmtj4;-{)$@qR16CMN4X6(A_;3i1J?mAXD(~* zKdk{I)hDpeLozblOpgJ3IYOLi0+p`lM4mN z>76KiZcNY1Hp0!LY(Z`!Wh-MNQ2?V=)1_1*AR@xV!eLtW-Fc9D>piBf3fOudiP{>Od8dFII z(t%W96fhD<0g?dbjR1z1Ns~(h3V;bfCO~ItZ*b$0W_@FUF+dJ58erLMuK%o3MJ1V$ z2jl|dbmT*lC)g09Mvje9CqEfrLyLiFz*JxoPz10Z+Oq>pvwr4}V@)hLMOC!_VY3iv zqq0|!o(-_T3}6<(f^@D3m(8FMuT&Z zeibMJ*jU+yXk%1vIQcT2PL;Jc(uMRy0TuxaCGiHZ0^pWh3=9LvFDa8|$d?1l0EV2Q z=D02eXp6Bmy$-Ae)&Q%4RlrJsQDnPts_=Pu4bSzAf8mX=G9rwGVNbs7Fcm@PkQn*w zX<3~Se+$?MY~c96iNrd9y`$%>kVa+o^)GNQ<{Nqu>{!Ppfc3l$&;fGq0E`MJJXgoN zz%Ul1!f>+CN5FRALtq=gCG`RDKJXsE@NNaR04!&e7~(tVPI6syxn>}E7%3lhR#wqD%pdyQ3tsrz*oSRz)|2Za0vJe*az$fJ_SBu zpbdqR;081bI0%dcQh?6^=8-!9e4*=1lV^j5qyxtRN=AhdVES9&1i(pZIG@Ua{ssgM z*sJe>@ANdsiac=|VBQY^hvp1$3NXgf$Y-8Wj`l{`b4Z^B49=)`Jjb8p1%P8r@0@`l zz;)mna0T!HegrN7<$-9RKHvg40hfWRz#ZTwa0B=SxCQ(K{0!U%egl37?gRILLK45~ z3JGRB1gZg#fkyx@(|D-+6XF^06nFy2;3S{|un)Q|B!{6Aq#eMk8>U&Fawzg@K=Pua z3V_SPLQ_>Fssl9vW)QW3dH_#*>jHHEUbXP*#Tnok?Kog8kO^b}yhD}>Bmo@v1jvCv zA7CN$-jKb39ssWox&oag#Ge-oU0@Ie84iR2yj%(fc=^Q3sHQ*w&>D9Bke+}a&=_b0 z)Cb%FH^2jE2>1ZrfEPgf1^{{Ll)Nx@;VHK-z?1w?fDJ_e&4Cs`Bwz(v0-b;kKs3+_ zV1(KO?EpH`251em)zg$6fi6HS&>djUneGXYFXR^^FaYQW!~uPQ{=g7m5Wvf#p+G#q zNDYHb1Ue#}3^^Pa0gM7tfRR8tz_8OX4h7Q;IU~!cW&wz1chz7tlpG)%7z5BtUW7~p z3V;c~cpx9h1Mp8hqaim5@Log)N5^ZDczcA*8$~AZ)d+cy*pMt&mpX}$l4ZwWuBkdW zlrA__E96;|gk7>UILI&9FH}1|R7H;QH}&+K0Msbvjg%dwG!dC1J386O>V3n-mZVse%jcNQAY^cYKp_Ih?pQd%3EY{ZlvrW z@0La81lhs)OBASr0^t+fhWvKn!!3FNbmFWmnv8g@(V`e|l3_?)v6C3gLP1!+wJzlOWwGgY)QG0vQB@NCPe+PWYo!-6Qz5C;v zvee8E1B*hV#3UF<6T~vwwFFZUm9O$FYSMUGQbJ9s5g2~zimzzbP`GD61PPmTj6+Ki zL9L63Wm`kUComb26VBI2nKGe4W?%WU148eM@_;)u2VIhFCCK?jn9;HJgRcXn914@rS?< zom+GD=o`&1RMjRIM%eh1;h%2)U_<mME9(D#fL4JWO zyWd`P&PJ#!3YYQl(nAzxtIkG_g$NNtav|D@qa;U&SeoPtDaX)i3jZA0>}33@_s{I! z9pka`qf=O9L7HbPMYre1EP6Z#bLe?Rf7MWJ&GLctccxe~25G%-^TuJZtg{!#@)761 zZ7P6$R0}yux`+^J57eeKFAc}bR$kVM?u}-z|E7lLz19m<6!vh+$@tUtzhpnNF?}(- zhq}3h(V2V^4Fgm)DZkWtJg3IKU@FizC*$wahuIab{K7qZ0ZMb6E3-x$5U1Yx@Hw!UdBj9*of#vM9_uf{k!m`I{ zfP)t6Q!~AuS_jOu=tU99g%09}H{{N;)|i95rH*K`P982>oW(oqu-3IjQ6A3XL{L5E z3bzT^p8q!vpWqe%7FQ=A57(@$;4spZV&99UJ@1~FixQ!J*jIv0Yg|O;F4;lspD5Su z-V%qnzaIF)>Z$iOixTyBEA%`!;PQa8MU`X;hj~s>Q!7_3=EGyZ^vbH9c35==0~=uK z<0||LaW*mBRdgtn18e@NTRs?JerrkHBd2RhcU{F?SlCu|(+>AyXdw=D?(U+f2rgYJ z#LV(_7uFSWTk-BBxq^`sGRj@OpeYKPJl{Ryt9@Q*6YE9YCXmAe!qndLlJ8gW`J^;Q zuhseGWsP?0PJ$En>x=Ho;Jm4U=spS3u7Mai2@~i=epCZ-do7&ZFcpO+HxO=>kP=NULs(68Tp{07&=X>XYZ6U(&*p-A5nQKc->C4WQUAQ zqmjctV*XUD)t`KXGo5|rBhH~vi1B8LLmof;zI^{{_0TPSei-kf$o_2dwXN@VDp#7* zyOB8d8tO0{)f@gd17uk0U3GqWtA?fKuY4X@iUB?QLJ`g<*NDiRd&PJu`av zLlZG@0ld54L}bo_G{S4=yBN_8FiW`XP^sgArDy?@a)e~nRn-VI|m7~NgrFIu3R&c+)&;+sEf zANl>cqoqFRfe10)_2G4My7P9o^4JNCq1IjpVk+7>vQd>H)8vb#Ie!hFv+@3r!>i0Y zhE$%rztqq(K-e)PFNEkn56$xq8slno^u=-fZ{~}Z3$PrFe!N)tCA`RgRj%u7yzHcH zRxj5#`$kNbpI=QFt4o*8#@k7Pe_FgYfB&US#6{mWt~V1;U&UcczYEPyoKf4R*84=$1h7S%?S+=KVu(pHs0IvUh@Wf>K;2e zywoBuM7Yhvf>U4h0*}{z_OSlatXAAo^&RHrOR>yy!G`|ALVj@!|2xK<4f+E7Hg@~x}uA7SG zhi~e3hrCjp0vK0X@o|f=AzePxvp?tge7LYo+q-&xX)gH^3m6DSYJ3sxQr!cypLk; znytN`6nxbimiqDc#pA7UpjRTr?M3LKq3erFZC$<{DKZyh{u;0ESu;N9&rwa5N2A(s z?XX_Wx|m0APpjBXL*pG$BND169J!YN5e%DZu7+BLGfy~Ttinz}##@D#kOM=EHwg6~ zB{c{PoIDgI^oei0W9W;bx4$jkvaZZohT*Frjl;Kovf|tzT7BZJ=)1`7&Ycos!%!zK z(Rh9m9xbXCm-@@oo;Jlef&91UEkjo!KAodQ(NdfUohz1uo(D^hk61h%yXT8NEK{QN ze9H*$pGz>VpSRM^N8dTo-S(S-H)Biv)aw$Rmcr~9%ys{xPJp@wTuL5w`D6 z$e0#h+8LY)rvGP_dR<1H;`VYm$k}+K(~?V_FD(i=5?tzvc8=ZIF#k7}quj;b6>xIq zzn*663(ja-w>0Wx&>1r716M*Cx*k$z<8@J$6K0rS^ZKG@X}5I?8I$)MO8%RvXjl&J zD4K9eBDCt%)OqpFDohsR{Zp~$Kdkh9<$E1uX=2l+xF;E4GK#}RUVq5ePU6UF$R3?U z0HwhjJB4AdOXrvv?JDNd(g({z0#6)47xbX$H8~sau8IlWw0cX*Rvrj-3vHVSFae?q3yCLg)(u@5t`m0wI^78(;wb5P} zwR}ajZ zp?-bzmrLPh&c;i-oQD3oVCsO{-BFG=jBro)^RB}0P3&C8>%Ok8-?F{H{R2leaOxVp z(p5}=g?=^u{ND3_b!$1$`F1z$lK0-e{SiCLUpt^S+SCtspZ9kco!4WI8t)97x1@dY zJ*T(0HS66u+g%i`$DMQI?P1-)Vim3(`QrL z+Ma*3cn?=rO>wCojtlRuqT2@Cd%o8|BWDm)KGwtG95T z_7>?Id4sl(cCp;=JIBvb_e|&Z6@(k&*uI>_nvJMCM|`vqt_bl9v=HMpVp*Mb-fnWz z_iehO&Onp#qOpD(e)^)#nj_<6>8m*Hz5z}rt#4sI=)0V=@oKRT7WZ7V|HC6?j#>J~ z;AFgHEd7HXdBMI1tMJZ#Q}q{ve6i;(xM94F%=ONL8euEzw9*WCE8^uv(c{W*%MK1N zvk-#|Wyf-u!<9w!+j32(VBSnI-fCvN842OReGO6com{)3HL__4#vx$sKymv!^l$S( zk@>ysFx+_4+4T*xt9Mb^Y`s=X}>H-R6H*`I~y-O zGv3LhPa%|BHdwSeF9(h^-lsOL>cG_0snT-QB7_5Myjkte{({Wq-yb<4OScEBzvVuE z*IIV@`2~r^&GEmmZSi{;e`~2QR9mCQ>z+^>k7cNB;85}LF+{;HUYt9RQ_Ifr>Qik+ z7iXTy+0ylpEi8ll)OM4QQx$b3O}sHKtKY@-Y8_1(?J@D9$ptK(LRjF3>Y~W5nRzbL zK4}39w1EZNY-zk0N{bzO9ebKAI~~#6p%W}HLHw|E^h1Pr=K{__4#bN~7jS^x+Cl_e zM6nYnW`~NGEord3i?W_KVsQ_QGwXc37FdAIDW_pqV6R~`vlRI zvUY-)OzEB=KBV+d5H~4%C5U>LQ4V2uzJZp8CTM}GRdvfp`Sa3?RR^*D@uOFQNQI?y z9xQmH&Bfzl{k;~Cov_e$ONrHv4~;hZdz#Ywa-cS{j= zSD^P#5nfm1&d$bb>ipMR_g# z4&U51aY*OUY7Ya%;}W@^IC2K#d^J^6y^1D|r-?>a(PT`z7)%|bntN4lRPl#&ZTenxea$tAkZFC8v8$`CORD~zj`VukTPj|fUTgN*7w(1H`JJ1Ry{>yJ?ugn&H z*HHUJ2hrggdiHvbm~c(*95QT-wuoLC_S%+@Paiz5-Hhe$n8sV|W>oN5+2!@ETwZJi zhl{;q#8cMwc&u=^j=B)u&e!Fo@(<(0bzN8IuJIbXZkvveyY;;z&k`98%)42+qB~}H zi1A{(pC2Zi9a6(K2p0OW&3MJ#Pj+sOl_q=g2NnIa0AsQ82F60p*A{ndzWDkECT9Y4 z-mYCg>sFFiyf^R5>9af|U%1_r9fFP5;axfDGwOVc#Wi5T9%0oQFU)ID&1PGpCFwX( z=1f9B_21&1TO#?_yV=%AH}%3muUuX~L41rxDjmBf!4?nKU6;i9n{t$J`$-NcoKsHQ zFs6nDACYn^KgGKb`Bqlbkyh4{KiUu2n}%(Qd)a~6TmSsDd+eJ9(AnPQoXIIwhjlzN z13GWAtQ$4pmErB9opW∈X#h`)wTDZ*G692s-m)7m4&^E(1ap==@#&((OkdHTvM5 z^Vqc@YJ>P?=Dy*(og+TmdtGz$gCtor{#i~EOMjL_#KoWGL*kcP@@^??`{vuSRdPrf_2pima58j>; zY16S%t!92XBl24gPtAzWNl72!J0`_{SVo#~>}bi4U@E_KDuJZR(4p#Wp`wO3cd0&i2JPj!WMjEo?rq z5q)Oae6ihTnN5T&zRj^2vc2C5n?hN9I@6|>xIEJ)TWlF*GfX@fXcHz}X4`~qKe@_g zhRyc9^K6z#+vhFd_mJ0Z2A2~*47KUI9jA~>ZNv|~Y(m7!w{2WS)8Ayb?PuS%iIn~i Dk&r|e literal 240922 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 diff --git a/package.json b/package.json index 5089d93..b9011dd 100644 --- a/package.json +++ b/package.json @@ -39,18 +39,16 @@ }, "devDependencies": { "@apidevtools/swagger-parser": "^10.1.0", + "@types/lodash.clonedeep": "^4.5.7", "@types/node": "^20.1.4", "bun-types": "^0.7.0", "elysia": "0.8.0", "eslint": "^8.40.0", "rimraf": "4.3", - "swagger-ui": "^5.10.5", "typescript": "^5.0.4" }, "dependencies": { "@scalar/api-reference": "^1.12.5", - "@types/lodash.clonedeep": "^4.5.7", - "@types/swagger-ui": "^3.52.2", "lodash.clonedeep": "^4.5.0", "openapi-types": "^12.1.3" } diff --git a/src/swagger-ui.ts b/src/swagger-ui.ts index 201a211..211f394 100644 --- a/src/swagger-ui.ts +++ b/src/swagger-ui.ts @@ -1,9 +1,17 @@ import { SwaggerInfo } from './types' -export const SwaggerUIRender = (info: SwaggerInfo, version: string, theme: string | { - light: string - dark: string -}, stringifiedSwaggerOptions: string, autoDarkMode?: boolean) => ` +export const SwaggerUIRender = ( + info: SwaggerInfo, + version: string, + theme: + | string + | { + light: string + dark: string + }, + stringifiedSwaggerOptions: string, + autoDarkMode?: boolean +) => ` @@ -53,4 +61,341 @@ export const SwaggerUIRender = (info: SwaggerInfo, version: string, theme: strin }; -` \ No newline at end of file +` + +/** + * Swagger UI type because swagger-ui doesn't export an interface so here's copy paste + * + * @see swagger-ui/index.d.ts + **/ +export interface SwaggerUIOptions { + // Core + + /** + * URL to fetch external configuration document from. + */ + configUrl?: string | undefined + /** + * REQUIRED if domNode is not provided. The ID of a DOM element inside which SwaggerUI will put its user interface. + */ + dom_id?: string | undefined + /** + * REQUIRED if dom_id is not provided. The HTML DOM element inside which SwaggerUI will put its user interface. Overrides dom_id. + */ + // @ts-ignore + domNode?: HTMLElement | null | undefined + /** + * A JavaScript object describing the OpenAPI definition. When used, the url parameter will not be parsed. This is useful for testing manually-generated definitions without hosting them + */ + spec?: { [propName: string]: any } | undefined + /** + * The URL pointing to API definition (normally swagger.json or swagger.yaml). Will be ignored if urls or spec is used. + */ + url?: string | undefined + /** + * An array of API definition objects ([{url: "", name: ""},{url: "", name: ""}]) + * used by Topbar plugin. When used and Topbar plugin is enabled, the url parameter will not be parsed. + * Names and URLs must be unique among all items in this array, since they're used as identifiers. + */ + urls?: + | Array<{ + url: string + name: string + }> + | undefined + + // Plugin system + + /** + * The name of a component available via the plugin system to use as the top-level layout + * for Swagger UI. + */ + layout?: string | undefined + /** + * A Javascript object to configure plugin integration and behaviors + */ + pluginsOptions?: PluginsOptions + /** + * An array of plugin functions to use in Swagger UI. + */ + plugins?: SwaggerUIPlugin[] | undefined + /** + * An array of presets to use in Swagger UI. + * Usually, you'll want to include ApisPreset if you use this option. + */ + presets?: SwaggerUIPlugin[] | undefined + + // Display + + /** + * If set to true, enables deep linking for tags and operations. + * See the Deep Linking documentation for more information. + */ + deepLinking?: boolean | undefined + /** + * Controls the display of operationId in operations list. The default is false. + */ + displayOperationId?: boolean | undefined + /** + * The default expansion depth for models (set to -1 completely hide the models). + */ + defaultModelsExpandDepth?: number | undefined + /** + * The default expansion depth for the model on the model-example section. + */ + defaultModelExpandDepth?: number | undefined + /** + * Controls how the model is shown when the API is first rendered. + * (The user can always switch the rendering for a given model by clicking the + * 'Model' and 'Example Value' links.) + */ + defaultModelRendering?: 'example' | 'model' | undefined + /** + * Controls the display of the request duration (in milliseconds) for "Try it out" requests. + */ + displayRequestDuration?: boolean | undefined + /** + * Controls the default expansion setting for the operations and tags. + * It can be 'list' (expands only the tags), 'full' (expands the tags and operations) + * or 'none' (expands nothing). + */ + docExpansion?: 'list' | 'full' | 'none' | undefined + /** + * If set, enables filtering. + * The top bar will show an edit box that you can use to filter the tagged operations that are shown. + * Can be Boolean to enable or disable, or a string, in which case filtering will be enabled + * using that string as the filter expression. + * Filtering is case sensitive matching the filter expression anywhere inside the tag. + */ + filter?: boolean | string | undefined + /** + * If set, limits the number of tagged operations displayed to at most this many. + * The default is to show all operations. + */ + maxDisplayedTags?: number | undefined + /** + * Apply a sort to the operation list of each API. + * It can be 'alpha' (sort by paths alphanumerically), + * 'method' (sort by HTTP method) or a function (see Array.prototype.sort() to know how sort function works). + * Default is the order returned by the server unchanged. + */ + operationsSorter?: SorterLike | undefined + /** + * Controls the display of vendor extension (x-) fields and values for Operations, + * Parameters, Responses, and Schema. + */ + showExtensions?: boolean | undefined + /** + * Controls the display of extensions (pattern, maxLength, minLength, maximum, minimum) fields + * and values for Parameters. + */ + showCommonExtensions?: boolean | undefined + /** + * Apply a sort to the tag list of each API. + * It can be 'alpha' (sort by paths alphanumerically) + * or a function (see Array.prototype.sort() to learn how to write a sort function). + * Two tag name strings are passed to the sorter for each pass. + * Default is the order determined by Swagger UI. + */ + tagsSorter?: SorterLike | undefined + /** + * When enabled, sanitizer will leave style, class and data-* attributes untouched + * on all HTML Elements declared inside markdown strings. + * This parameter is Deprecated and will be removed in 4.0.0. + * @deprecated + */ + useUnsafeMarkdown?: boolean | undefined + /** + * Provides a mechanism to be notified when Swagger UI has finished rendering a newly provided definition. + */ + onComplete?: (() => any) | undefined + /** + * Set to false to deactivate syntax highlighting of payloads and cURL command, + * can be otherwise an object with the activate and theme properties. + */ + syntaxHighlight?: + | false + | { + /** + * Whether syntax highlighting should be activated or not. + */ + activate?: boolean | undefined + /** + * Highlight.js syntax coloring theme to use. (Only these 6 styles are available.) + */ + theme?: + | 'agate' + | 'arta' + | 'idea' + | 'monokai' + | 'nord' + | 'obsidian' + | 'tomorrow-night' + | undefined + } + | undefined + /** + * Controls whether the "Try it out" section should be enabled by default. + */ + tryItOutEnabled?: boolean | undefined + /** + * This is the default configuration section for the the requestSnippets plugin. + */ + requestSnippets?: + | { + generators?: + | { + [genName: string]: { + title: string + syntax: string + } + } + | undefined + defaultExpanded?: boolean | undefined + /** + * e.g. only show curl bash = ["curl_bash"] + */ + languagesMask?: string[] | undefined + } + | undefined + + // Network + + /** + * OAuth redirect URL. + */ + oauth2RedirectUrl?: string | undefined + /** + * MUST be a function. Function to intercept remote definition, + * "Try it out", and OAuth 2.0 requests. + * Accepts one argument requestInterceptor(request) and must return the modified request, + * or a Promise that resolves to the modified request. + */ + requestInterceptor?: + | ((a: Request) => Request | Promise) + | undefined + /** + * MUST be a function. Function to intercept remote definition, + * "Try it out", and OAuth 2.0 responses. + * Accepts one argument responseInterceptor(response) and must return the modified response, + * or a Promise that resolves to the modified response. + */ + responseInterceptor?: + | ((a: Response) => Response | Promise) + | undefined + /** + * If set to true, uses the mutated request returned from a requestInterceptor + * to produce the curl command in the UI, otherwise the request + * beforethe requestInterceptor was applied is used. + */ + showMutatedRequest?: boolean | undefined + /** + * List of HTTP methods that have the "Try it out" feature enabled. + * An empty array disables "Try it out" for all operations. + * This does not filter the operations from the display. + */ + supportedSubmitMethods?: SupportedHTTPMethods[] | undefined + /** + * By default, Swagger UI attempts to validate specs against swagger.io's online validator. + * You can use this parameter to set a different validator URL, + * for example for locally deployed validators (Validator Badge). + * Setting it to either none, 127.0.0.1 or localhost will disable validation. + */ + validatorUrl?: string | undefined + /** + * If set to true, enables passing credentials, as defined in the Fetch standard, + * in CORS requests that are sent by the browser. + * Note that Swagger UI cannot currently set cookies cross-domain (see swagger-js#1163) + * - as a result, you will have to rely on browser-supplied + * cookies (which this setting enables sending) that Swagger UI cannot control. + */ + withCredentials?: boolean | undefined + + // Macros + + /** + * Function to set default values to each property in model. + * Accepts one argument modelPropertyMacro(property), property is immutable + */ + modelPropertyMacro?: ((propName: Readonly) => any) | undefined + /** + * Function to set default value to parameters. + * Accepts two arguments parameterMacro(operation, parameter). + * Operation and parameter are objects passed for context, both remain immutable + */ + parameterMacro?: + | ((operation: Readonly, parameter: Readonly) => any) + | undefined + + // Authorization + + /** + * If set to true, it persists authorization data and it would not be lost on browser close/refresh + */ + persistAuthorization?: boolean | undefined +} +interface PluginsOptions { + /** + * Control behavior of plugins when targeting the same component with wrapComponent.
+ * - `legacy` (default) : last plugin takes precedence over the others
+ * - `chain` : chain wrapComponents when targeting the same core component, + * allowing multiple plugins to wrap the same component + * @default 'legacy' + */ + pluginLoadType?: PluginLoadType +} + +type PluginLoadType = 'legacy' | 'chain' + +type SupportedHTTPMethods = + | 'get' + | 'put' + | 'post' + | 'delete' + | 'options' + | 'head' + | 'patch' + | 'trace' + +type SorterLike = + | 'alpha' + | 'method' + | { + (name1: string, name2: string): number + } + +interface Request { + [prop: string]: any +} + +interface Response { + [prop: string]: any +} + +/** + * See https://swagger.io/docs/open-source-tools/swagger-ui/customization/plugin-api/ + */ +interface SwaggerUIPlugin { + (system: any): { + statePlugins?: + | { + [stateKey: string]: { + actions?: Indexable | undefined + reducers?: Indexable | undefined + selectors?: Indexable | undefined + wrapActions?: Indexable | undefined + wrapSelectors?: Indexable | undefined + } + } + | undefined + components?: Indexable | undefined + wrapComponents?: Indexable | undefined + rootInjects?: Indexable | undefined + afterLoad?: ((system: any) => any) | undefined + fn?: Indexable | undefined + } +} + +interface Indexable { + [index: string]: any +} diff --git a/src/types.ts b/src/types.ts index a137917..a1d31bd 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,6 +1,6 @@ import type { OpenAPIV3 } from 'openapi-types' -import type { SwaggerUIOptions } from 'swagger-ui' import type { ReferenceConfiguration } from '@scalar/api-reference' +import type { SwaggerUIOptions } from './swagger-ui' export type SwaggerInfo = { title: string