@dtsx/dtsx 0.11.43 → 0.11.45
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/README.md +6 -0
- package/dist/bin/cli.js +9 -9
- package/dist/{chunk-9dkjzqm0.js → chunk-05cbfytc.js} +6 -6
- package/dist/{chunk-znd7w376.js → chunk-1gy2z5an.js} +5 -5
- package/dist/{chunk-p3n0wx32.js → chunk-2cjs4r5v.js} +4 -4
- package/dist/chunk-3nmjt94q.js +10 -0
- package/dist/{chunk-23w57jk5.js → chunk-3x19egjd.js} +2 -2
- package/dist/chunk-41d5ehn0.js +3 -0
- package/dist/{chunk-51cdjc3e.js → chunk-48jvmndg.js} +2 -2
- package/dist/{chunk-pfvjr5bg.js → chunk-4fspqk22.js} +3 -3
- package/dist/chunk-4t1we2h5.js +3 -0
- package/dist/chunk-4vtfqwpq.js +8 -0
- package/dist/{chunk-9mtn8sk3.js → chunk-51vf9de8.js} +2 -2
- package/dist/{chunk-xgj6rxmd.js → chunk-55yw66ha.js} +3 -3
- package/dist/{chunk-ep3575a9.js → chunk-57xvwm7c.js} +2 -2
- package/dist/{chunk-a3apthex.js → chunk-587w6ktw.js} +2 -2
- package/dist/{chunk-0zj4xkky.js → chunk-6gvctv0q.js} +3 -3
- package/dist/{chunk-xst4jpr9.js → chunk-755bntty.js} +17 -17
- package/dist/{chunk-ah3pwsh5.js → chunk-783erq83.js} +4 -4
- package/dist/{chunk-2p8za6vr.js → chunk-7x4eqjfw.js} +2 -2
- package/dist/chunk-83w2qbmb.js +3 -0
- package/dist/{chunk-xzw0p4nq.js → chunk-870p7sky.js} +2 -2
- package/dist/{chunk-01zsk2q8.js → chunk-8c5dzvwk.js} +3 -3
- package/dist/{chunk-vsa6gbmz.js → chunk-8c8pgvxv.js} +1 -1
- package/dist/{chunk-fhbwwm79.js → chunk-8xpkce3g.js} +4 -4
- package/dist/chunk-8zr7m1pk.js +3 -0
- package/dist/{chunk-7fytm1ya.js → chunk-9knxvphg.js} +3 -3
- package/dist/{chunk-9c0k2b8n.js → chunk-a4791583.js} +2 -2
- package/dist/chunk-b3979d26.js +3 -0
- package/dist/{chunk-rmg7jdhj.js → chunk-b7azvfdn.js} +2 -2
- package/dist/{chunk-a3px4jga.js → chunk-bv1q1w42.js} +4 -4
- package/dist/{chunk-ygpyce6w.js → chunk-c94sk67h.js} +4 -4
- package/dist/chunk-cd27mg71.js +3 -0
- package/dist/{chunk-qqjbaqm6.js → chunk-d5q4qfys.js} +4 -4
- package/dist/{chunk-9fz5erbq.js → chunk-e9x8ywhv.js} +6 -6
- package/dist/{chunk-7k0e2h9b.js → chunk-exf6bsbe.js} +5 -5
- package/dist/{chunk-60wrxcjt.js → chunk-f191378r.js} +11 -11
- package/dist/{chunk-3s37g6bh.js → chunk-f3avgz4y.js} +8 -8
- package/dist/chunk-fkdq1x5f.js +31 -0
- package/dist/{chunk-bkbsg2bv.js → chunk-g9emajpc.js} +2 -2
- package/dist/{chunk-4n2mpvmb.js → chunk-gns23mhj.js} +2 -2
- package/dist/chunk-grpmcw9x.js +27 -0
- package/dist/{chunk-n4hj7rs6.js → chunk-gwsjj23d.js} +4 -4
- package/dist/{chunk-vae5wxar.js → chunk-hgg4aqvf.js} +2 -2
- package/dist/{chunk-e37cbaq7.js → chunk-hvt855ms.js} +2 -2
- package/dist/chunk-hzy5z7x2.js +5 -0
- package/dist/chunk-j51p30sb.js +7 -0
- package/dist/{chunk-m3ysqm3b.js → chunk-jy5h728q.js} +2 -2
- package/dist/chunk-k0vthrqs.js +4 -0
- package/dist/{chunk-06jp6gah.js → chunk-kthga8ar.js} +3 -3
- package/dist/{chunk-y78fsxjf.js → chunk-m14550z9.js} +2 -2
- package/dist/{chunk-b2j236p3.js → chunk-m29ph3cg.js} +2 -2
- package/dist/{chunk-0xam980d.js → chunk-m8rvd58d.js} +4 -4
- package/dist/{chunk-62bqxy6j.js → chunk-mc9kwthm.js} +2 -2
- package/dist/chunk-mvxcxnff.js +3 -0
- package/dist/chunk-nfd9v8ba.js +3 -0
- package/dist/{chunk-3r9dptyy.js → chunk-pydpyx8x.js} +2 -2
- package/dist/{chunk-44zq3xnw.js → chunk-qab5rsk8.js} +6 -6
- package/dist/{chunk-1hhk0zm6.js → chunk-qj2yvdjn.js} +2 -2
- package/dist/{chunk-b79vtkkt.js → chunk-qkesb95f.js} +2 -2
- package/dist/{chunk-b0cdncp3.js → chunk-r2e0r0pd.js} +2 -2
- package/dist/chunk-s013113f.js +3 -0
- package/dist/chunk-s6t0ff96.js +3 -0
- package/dist/chunk-sqa3ke1a.js +3 -0
- package/dist/{chunk-k5wz43yh.js → chunk-srfpcjtn.js} +2 -2
- package/dist/chunk-t1js8enq.js +8 -0
- package/dist/{chunk-fka5apgq.js → chunk-t73v233w.js} +4 -4
- package/dist/chunk-t76htvct.js +3 -0
- package/dist/{chunk-j3egtn0s.js → chunk-t88j01sz.js} +2 -2
- package/dist/chunk-vher6t7j.js +14 -0
- package/dist/{chunk-9vj0g89m.js → chunk-vrfp12ts.js} +2 -2
- package/dist/{chunk-vv5jdqfj.js → chunk-vye45h9n.js} +2 -2
- package/dist/{chunk-w4fj9m56.js → chunk-wwjt0p6m.js} +3 -3
- package/dist/{chunk-btc6zbyj.js → chunk-x5z8vprh.js} +2 -2
- package/dist/{chunk-w3zqfm8a.js → chunk-x6ddycvm.js} +2 -2
- package/dist/chunk-x9vpsya2.js +40 -0
- package/dist/chunk-xhgs3gx2.js +4 -0
- package/dist/chunk-xtckj8w1.js +3 -0
- package/dist/{chunk-zgj8xq4x.js → chunk-xvk9v148.js} +2 -2
- package/dist/chunk-y9bxeq10.js +3 -0
- package/dist/{chunk-jvqczw2k.js → chunk-ybdp7k49.js} +3 -3
- package/dist/{chunk-n1p62kwx.js → chunk-yh04e0n4.js} +2 -2
- package/dist/{chunk-cd26g482.js → chunk-z82jsz2r.js} +3 -3
- package/dist/{chunk-xewmepxp.js → chunk-zb48dx6a.js} +2 -2
- package/dist/chunk-zmnb3yg1.js +37 -0
- package/dist/{chunk-eyc0tk75.js → chunk-zwcvtbt4.js} +10 -10
- package/dist/src/augmentation-graph.js +1 -1
- package/dist/src/binding-patterns.js +1 -1
- package/dist/src/branded-types.js +1 -1
- package/dist/src/bundle-linker.js +1 -1
- package/dist/src/bundler.js +1 -1
- package/dist/src/cache.js +1 -1
- package/dist/src/call-signatures.js +1 -1
- package/dist/src/circular.js +1 -1
- package/dist/src/compat.js +1 -1
- package/dist/src/computed-keys.js +1 -1
- package/dist/src/concurrency.js +1 -1
- package/dist/src/config.js +1 -1
- package/dist/src/dangling-refs.js +1 -1
- package/dist/src/declaration-project.js +1 -1
- package/dist/src/declaration-publication.js +1 -1
- package/dist/src/declaration-references.js +1 -1
- package/dist/src/diff.js +1 -1
- package/dist/src/docs.js +1 -1
- package/dist/src/enum-declarations.js +1 -1
- package/dist/src/errors.js +1 -1
- package/dist/src/extractor/directives.js +1 -1
- package/dist/src/extractor/extract.d.ts +1 -1
- package/dist/src/extractor/extract.js +1 -1
- package/dist/src/extractor/scanner.d.ts +4 -4
- package/dist/src/extractor/scanner.js +1 -1
- package/dist/src/extractor.js +1 -1
- package/dist/src/formats.js +1 -1
- package/dist/src/formatter.js +1 -1
- package/dist/src/function-properties.js +1 -1
- package/dist/src/generator.js +1 -1
- package/dist/src/global-types.js +1 -1
- package/dist/src/import-sorter.js +1 -1
- package/dist/src/incremental.js +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.js +1 -1
- package/dist/src/inferred-imports.js +1 -1
- package/dist/src/initializer-type-spans.d.ts +7 -0
- package/dist/src/initializer-type-spans.js +2 -0
- package/dist/src/json-config.js +1 -1
- package/dist/src/lexical.d.ts +8 -1
- package/dist/src/lexical.js +1 -1
- package/dist/src/logger.js +1 -1
- package/dist/src/lsp.js +1 -1
- package/dist/src/memory.js +1 -1
- package/dist/src/merger.js +1 -1
- package/dist/src/module-graph.js +1 -1
- package/dist/src/module-references.js +1 -1
- package/dist/src/native-checker.js +1 -1
- package/dist/src/native-engine.d.ts +24 -2
- package/dist/src/native-engine.js +1 -1
- package/dist/src/native-extractor.js +1 -1
- package/dist/src/native-generation.js +1 -1
- package/dist/src/native-project.js +1 -1
- package/dist/src/numeric-literals.d.ts +9 -0
- package/dist/src/numeric-literals.js +2 -0
- package/dist/src/optimizer.js +1 -1
- package/dist/src/output-normalizer.js +1 -1
- package/dist/src/parallel-processor.js +1 -1
- package/dist/src/parameters.js +1 -1
- package/dist/src/parser.js +1 -1
- package/dist/src/plugins/bun.js +1 -1
- package/dist/src/plugins/esbuild.js +1 -1
- package/dist/src/plugins/index.js +1 -1
- package/dist/src/plugins/tsdown.js +1 -1
- package/dist/src/plugins/tsup.js +1 -1
- package/dist/src/plugins/vite.js +1 -1
- package/dist/src/plugins/webpack.js +1 -1
- package/dist/src/plugins.js +1 -1
- package/dist/src/process-source.d.ts +4 -3
- package/dist/src/process-source.js +1 -1
- package/dist/src/processor/cache.js +1 -1
- package/dist/src/processor/comments.js +1 -1
- package/dist/src/processor/declarations.js +1 -1
- package/dist/src/processor/import-usage.js +1 -1
- package/dist/src/processor/imports.js +1 -1
- package/dist/src/processor/index.js +1 -1
- package/dist/src/processor/type-inference.d.ts +2 -9
- package/dist/src/processor/type-inference.js +1 -1
- package/dist/src/processor.js +1 -1
- package/dist/src/profiling.js +1 -1
- package/dist/src/return-type-scope.js +1 -1
- package/dist/src/security.js +1 -1
- package/dist/src/source-cache.js +1 -1
- package/dist/src/sourcemap.js +1 -1
- package/dist/src/stx.js +1 -1
- package/dist/src/syntax-validator.js +1 -1
- package/dist/src/tracking.js +1 -1
- package/dist/src/transformers.js +1 -1
- package/dist/src/tree-shaker.js +1 -1
- package/dist/src/tsconfig.js +1 -1
- package/dist/src/type-mappings.js +1 -1
- package/dist/src/types.d.ts +1 -0
- package/dist/src/utils.js +1 -1
- package/dist/src/value-inference.js +1 -1
- package/dist/src/vue.js +1 -1
- package/dist/src/watcher.js +1 -1
- package/dist/src/worker-thread.js +1 -1
- package/dist/src/worker.js +1 -1
- package/dist/src/workspace.js +1 -1
- package/native/darwin-arm64/libzig-dtsx.dylib +0 -0
- package/native/darwin-x64/libzig-dtsx.dylib +0 -0
- package/native/freebsd-x64/libzig-dtsx.so +0 -0
- package/native/linux-arm64/libzig-dtsx.so +0 -0
- package/native/linux-x64/libzig-dtsx.so +0 -0
- package/native/windows-x64/zig-dtsx.dll +0 -0
- package/package.json +1 -1
- package/dist/chunk-0h9dz87w.js +0 -3
- package/dist/chunk-1721pyws.js +0 -3
- package/dist/chunk-1903h3dm.js +0 -3
- package/dist/chunk-1dqa0tex.js +0 -8
- package/dist/chunk-36xenw6z.js +0 -3
- package/dist/chunk-3pcxxgwq.js +0 -3
- package/dist/chunk-4q78f5pg.js +0 -3
- package/dist/chunk-5v7drjwg.js +0 -4
- package/dist/chunk-8pfyd95y.js +0 -3
- package/dist/chunk-a2666k9r.js +0 -3
- package/dist/chunk-aqcjv2v5.js +0 -37
- package/dist/chunk-bhqpdftq.js +0 -8
- package/dist/chunk-ettcbmzw.js +0 -4
- package/dist/chunk-km03xc8j.js +0 -14
- package/dist/chunk-ksc4xgdz.js +0 -3
- package/dist/chunk-m9x72e5j.js +0 -7
- package/dist/chunk-mp86smwc.js +0 -38
- package/dist/chunk-pebt9j6c.js +0 -3
- package/dist/chunk-pekphr39.js +0 -3
- package/dist/chunk-pwdmw567.js +0 -3
- package/dist/chunk-rwwrrxtc.js +0 -10
- package/dist/chunk-rz5jszhe.js +0 -5
- package/dist/chunk-tvhg9v4f.js +0 -27
- package/dist/chunk-y83jhbpr.js +0 -31
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{R,S}from"./chunk-hzy5z7x2.js";import{t}from"./chunk-j51p30sb.js";import{Ge}from"./chunk-qj2yvdjn.js";import{ir,sr,or}from"./chunk-yh04e0n4.js";import{g,ee,H}from"./chunk-s013113f.js";import{Q}from"./chunk-mvxcxnff.js";import{_e,xe,je}from"./chunk-57xvwm7c.js";import{be}from"./chunk-587w6ktw.js";var lt=20,ft=!1,L=null;function ht(e){return Ot(e).replace(/\n[ \t]*(?=\n)/g,"")}function Ot(e){if(e.indexOf("/*")===-1)return e.trim();let i=[],s=0,r=0,l=e.length;while(r<l)if(e.charCodeAt(r)===47&&r+1<l&&e.charCodeAt(r+1)===42){if(r>s)i.push(e.substring(s,r));r+=2;while(r<l-1){if(e.charCodeAt(r)===42&&e.charCodeAt(r+1)===47){r+=2;break}r++}s=r}else r++;if(s<l)i.push(e.substring(s));return i.join("").trim()}function Vt(){ft=!0,L=null}function Ut(){ft=!1;let e=L;return L=null,e}function ut(e,c){let i=0,s=0;while((s=e.indexOf(c,s))!==-1)i++,s+=c.length;return i}function wt(e){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===36||e===95||e===46||e===58||e===45}function rt(e){let c=e.trim();if(c.length<3||c.charCodeAt(0)!==60)return!1;if(c.startsWith("<>"))return c.endsWith("</>");let i=c.charCodeAt(1);if(!(i>=65&&i<=90||i>=97&&i<=122||i===36||i===95))return!1;let r=2;while(r<c.length&&wt(c.charCodeAt(r)))r++;let l=c.slice(1,r),f=c.charCodeAt(r);if(f>32&&f!==62&&f!==47)return!1;if(c.endsWith("/>"))return!0;let u=c.lastIndexOf("</");if(u===-1)return!1;let a=u+2;while(a<c.length&&wt(c.charCodeAt(a)))a++;return c.slice(u+2,a)===l&&c.charCodeAt(a)===62&&a===c.length-1}function it(e){let c=e.length,i=!1;for(let f=1;f<c;f++)if(e.charCodeAt(f)<=32&&e.charCodeAt(f-1)<=32){i=!0;break}if(!i)for(let f=0;f<c;f++){let u=e.charCodeAt(f);if(u===10||u===13||u===9){i=!0;break}}if(!i)return e;let s=[],r=-1,l=!1;for(let f=0;f<c;f++)if(e.charCodeAt(f)<=32){if(!l){if(r>=0)s.push(e.substring(r,f));s.push(" "),l=!0,r=-1}}else{if(l||r<0)r=f;l=!1}if(r>=0)s.push(e.substring(r));return s.join("")}function n(e,c=!1,i=!1,s=0,r){if(!e||typeof e!=="string")return"unknown";if(s>=lt)return"unknown";let l=e.trim();if(rt(l))return"JSX.Element";let f=jt(l);if(f)return f;if(l.startsWith("BigInt("))return"bigint";if(l.startsWith("Symbol.for("))return"symbol";if(!(l.startsWith("[")&&l.endsWith("]")||l.startsWith("{")&&l.endsWith("}"))&&(l.includes(".raw`")||l.includes("String.raw`")))return"string";if(l.startsWith("`")&&l.endsWith("`")){if(!c||l.includes("${")||l.includes(`
|
|
3
|
+
`)||l.includes("\r"))return"string";return l}if(l.charCodeAt(0)===39||l.charCodeAt(0)===34){let h=Bt(l);if(h!==null){if(h==="string"||!c)return"string";return h}}if(g(l)){if(!c)return"number";return H(l)}if(l==="true"||l==="false"){if(!c)return"boolean";return l}if(l==="null")return"null";if(l==="undefined")return"undefined";if(l.startsWith("[")&&l.endsWith("]"))return Be(l,c,s+1,r);if(l.startsWith("{")&&l.endsWith("}"))return dt(l,c,s+1,r);if(l.startsWith("class ")||l.startsWith("class{"))return oe(l);if(l.startsWith("new "))return se(l);if(l.endsWith("as const")){let h=l.slice(0,-8).trim();if(h.startsWith("[")&&h.endsWith("]")){let A=h.slice(1,-1).trim();if(!A)return"readonly []";let b=Z(A),y=[];for(let p=0;p<b.length;p++){let d=b[p].trim();if(d.startsWith("...")){let m=d.slice(3).trim();if(G(m))y.push(`...typeof ${m}`);else{let C=n(m,!0,!1,s+1,r);y.push(C.startsWith("readonly [")||C.endsWith("[]")?`...${C}`:"...unknown[]")}}else y.push(n(d,!0,!1,s+1,r))}return`readonly [${y.join(", ")}]`}return n(h,!0,i,s+1,r)}if(J(l)!==-1||l.startsWith("function")||l.startsWith("async"))return pt(l,i,s,c);if(l.startsWith("`")&&l.endsWith("`"))return ie(l,c);if(l.startsWith("Promise."))return Mt(l,c,s,r);if(l.startsWith("await "))return"unknown";if(l.startsWith("typeof ")&&nt(l.slice(7)))return"string";if(l.startsWith("void ")&&nt(l.slice(5)))return"undefined";if(l.startsWith("delete ")&&nt(l.slice(7)))return"boolean";if(ee(l)){if(c)return H(l);return"bigint"}if(l.startsWith("Symbol(")||l==="Symbol.for")return"symbol";let a=U(l);if(a!==null)return a;if(Pt(l))return"boolean";if(qt(l))return"number";return"unknown"}function $t(e){let c=e.charCodeAt(0);if(c!==39&&c!==34)return!1;return q(e,0,c)===e.length}function Bt(e){if($t(e))return e;let c=Dt(e);if(c.length<2)return null;let i=!1,s=!0,r="";for(let l of c){let f=l.trim();if($t(f))i=!0,r+=Kt(f);else s=!1}if(s)return Ft(r);if(i)return"string";return null}function Dt(e){let c=[],i=0,s=0,r=0;while(r<e.length){let l=e.charCodeAt(r);if(l===39||l===34||l===96){r=q(e,r,l);continue}if(l===40||l===91||l===123)i++;else if(l===41||l===93||l===125)i--;else if(l===43&&i===0)c.push(e.slice(s,r)),s=r+1;r++}return c.push(e.slice(s)),c}function Kt(e){return e.slice(1,-1).replace(/\\(.)/g,(i,s)=>{if(s==="n")return`
|
|
4
|
+
`;if(s==="t")return"\t";if(s==="r")return"\r";if(s==="0")return"\x00";return s})}function Ft(e){return`'${e.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t")}'`}function qt(e){if(e==="")return!1;let c=!1,i=!1;for(let s=0;s<e.length;s++){let r=e.charCodeAt(s);if(r>=48&&r<=57){c=!0;continue}if(r===43||r===45||r===42||r===47||r===37){i=!0;continue}if(r===60||r===62){let l=s+1;while(l<e.length&&e.charCodeAt(l)===r)l++;let f=l-s;if(f!==2&&!(r===62&&f===3))return!1;i=!0,s=l-1;continue}if(r===46||r===40||r===41||r<=32)continue;return!1}return c&&i}function Pt(e){let c=0,i;for(let s=0;s<e.length;s++){let r=e.charCodeAt(s);if(r===34||r===39||r===96){s=q(e,s,r)-1;continue}if(r===47){if(e[s+1]==="/"){let l=e.indexOf(`
|
|
5
|
+
`,s+2);s=l===-1?e.length:l;continue}if(e[s+1]==="*"){let l=e.indexOf("*/",s+2);s=l===-1?e.length:l+1;continue}if(R(e,s)){s=S(e,s)-1;continue}}if(r===40||r===91||r===123){c++;continue}if(r===41||r===93||r===125){c--;continue}if(c!==0)continue;if(r===60){i??=Q(e);let l=i(s,0);if(l){s=l.end-1;continue}}if(e.startsWith("===",s)||e.startsWith("!==",s)||e.startsWith("==",s)||e.startsWith("!=",s)||e.startsWith(">=",s)||e.startsWith("<=",s))return!0;if((r===62||r===60)&&e.charCodeAt(s+1)===r){while(e.charCodeAt(s+1)===r)s++;continue}if((r===62||r===60)&&e.charCodeAt(s-1)!==61&&e.charCodeAt(s+1)!==61)return!0}return!1}function zt(e,c=!1,i=0,s){return n(e,c,!0,i,s)}function B(e,c=!1,i="",s,r){let l=gt(i,s),f=[],u=!1,a=0;while(a<e.length){let A=e.charCodeAt(a);if(A===34||A===39||A===96){a=q(e,a,A);continue}if(A===47&&e.charCodeAt(a+1)===47){a+=2;while(a<e.length&&e.charCodeAt(a)!==10&&e.charCodeAt(a)!==13)a++;continue}if(A===47&&e.charCodeAt(a+1)===42){let y=e.indexOf("*/",a+2);a=y===-1?e.length:y+2;continue}if(e.startsWith("function",a)&&et(e,a,8)||e.startsWith("class",a)&&et(e,a,5)){let y=re(e,a);if(y!==-1){a=ot(e,y);continue}}if(A===61&&e.charCodeAt(a+1)===62){let y=Nt(e,a+2);if(e.charCodeAt(y)===123){a=ot(e,y);continue}}if(e.startsWith("return",a)&&(a===0||!_(e.charCodeAt(a-1)))&&!_(e.charCodeAt(a+6))){a+=6;let y=!1;while(a<e.length&&e.charCodeAt(a)<=32){let x=e.charCodeAt(a);if(x===10||x===13)y=!0;a++}if(y||a>=e.length||e.charCodeAt(a)===59||e.charCodeAt(a)===125){u=!0;continue}let p=a,d=0,m=0,C=0;while(a<e.length){let x=e.charCodeAt(a);if(x===34||x===39||x===96){a=q(e,a,x);continue}if(x===47&&e.charCodeAt(a+1)===47){if(d===0&&m===0&&C===0)break;while(a<e.length&&e.charCodeAt(a)!==10&&e.charCodeAt(a)!==13)a++;continue}if(x===47&&e.charCodeAt(a+1)===42){let T=e.indexOf("*/",a+2);a=T===-1?e.length:T+2;continue}if(x===40)d++;else if(x===41)d--;else if(x===91)m++;else if(x===93)m--;else if(x===123)C++;else if(x===125){if(C===0&&d===0&&m===0)break;C--}else if(x===59&&d===0&&m===0&&C===0)break;else if((x===10||x===13)&&d===0&&m===0&&C===0){let T=a+1;while(T<e.length&&e.charCodeAt(T)<=32)T++;if(e.startsWith("return",T)&&!_(e.charCodeAt(T+6)))break}a++}let k=e.slice(p,a).trim(),w=ht(D(k,l,s,r,p));if(!f.includes(w))f.push(w);continue}a++}if(u&&!f.includes("undefined"))f.push("undefined");let h=f.includes("unknown")?"unknown":f.length===0?"void":Et(f);return c&&!h.startsWith("Promise<")?`Promise<${h}>`:h}function gt(e,c){let i=new Map,s=e.startsWith("(")&&e.endsWith(")")?e.slice(1,-1):e,r=t(s),l=0,f=0,u=[];for(let a of r){let h=s.slice(a.start,a.end);if(h===","&&f===0)u.push(s.slice(l,a.start)),l=a.end;if(["(","[","{","<"].includes(h))f++;else if([")","]","}"].includes(h)||h===">"&&s[a.start-1]!=="=")f--}u.push(s.slice(l));for(let a of u){let h=t(a),A=-1,b=-1,y=0;for(let C of h){let k=a.slice(C.start,C.end);if(y===0&&k===":"&&A===-1)A=C.start;if(y===0&&k==="="&&a[C.end]!==">"){b=C.start;break}if(["(","[","{","<"].includes(k))y++;else if([")","]","}"].includes(k)||k===">"&&a[C.start-1]!=="=")y--}let p=a.slice(0,A!==-1?A:b!==-1?b:void 0).trim().replace(/^\.\.\./,"").replace(/\?$/,""),d=A===-1&&b!==-1&&!a.trim().startsWith("...")?xe(p,a.slice(b+1)):null;if(d){for(let C of d)i.set(C.alias,c?.(C.value)??n(C.value,!1));continue}if(!Y(p)){if(p.startsWith("{")||p.startsWith("["))for(let C of Ge(p))i.set(C,"unknown");continue}let m=A!==-1?a.slice(A+1,b!==-1?b:void 0).trim():"";if(!m&&b!==-1){let C=a.slice(b+1).trim();m=c?.(C)??n(C,!1)}if(m){if(b===-1&&a.slice(0,A).trim().endsWith("?"))m=`(${m}) | undefined`;i.set(p,m)}else i.set(p,"unknown")}return i}var Wt={string:{at:"string | undefined",charAt:"string",charCodeAt:"number",codePointAt:"number | undefined",concat:"string",endsWith:"boolean",includes:"boolean",indexOf:"number",lastIndexOf:"number",localeCompare:"number",normalize:"string",padEnd:"string",padStart:"string",repeat:"string",replace:"string",replaceAll:"string",search:"number",slice:"string",split:"string[]",startsWith:"boolean",substring:"string",toLocaleLowerCase:"string",toLocaleUpperCase:"string",toLowerCase:"string",toString:"string",toUpperCase:"string",trim:"string",trimEnd:"string",trimStart:"string",valueOf:"string"},number:{toExponential:"string",toFixed:"string",toLocaleString:"string",toPrecision:"string",toString:"string",valueOf:"number"},bigint:{toLocaleString:"string",toString:"string",valueOf:"bigint"},boolean:{toString:"string",valueOf:"boolean"}};function va(e,c){let i=Object.hasOwn(Wt,e)?Wt[e]:void 0;return i&&Object.hasOwn(i,c)?i[c]:void 0}function W(e){return e.includes(`
|
|
6
|
+
`)?e.replaceAll(`
|
|
7
|
+
`,`
|
|
8
|
+
`):e}function Gt(e,c){if(e=e.trim(),!e.startsWith("{")||!e.endsWith("}"))return;let i=e.slice(1,-1),s=t(i),r=0,l=0;for(let f=0;f<=s.length;f++){let u=s[f],a=u?i.slice(u.start,u.end):";";if(l===0&&(a===";"||a===",")){let h=i.slice(r,u?.start).trim(),A=h.indexOf(":");if(A!==-1&&h.slice(0,A).trim()===c)return h.slice(A+1).trim();r=u?.end??i.length}if(["(","[","{","<"].includes(a))l++;else if([")","]","}"].includes(a)||a===">"&&u&&i[u.start-1]!=="=")l--}return}function D(e,c,i,s,r=0,l=0){if(l>=lt)return"unknown";let f=e.trim();while(at(f))f=f.slice(1,-1).trim();let u=i?.(f);if(u)return u;if(rt(f))return"JSX.Element";if(f.startsWith("await ")){let w=D(f.slice(6),c,i,s,r,l+1);return w.startsWith("Promise<")&&w.endsWith(">")?w.slice(8,-1):w}if(c.has(f))return c.get(f);let a=/^([\w$]+)\.([\w$]+(?:\.[\w$]+)*)$/.exec(f),h;if(a){let w=c.get(a[1]),x=w&&Gt(w,a[2]);if(x)return x;if(w)h=`typeof ${f}`}if(f.startsWith("!"))return"boolean";if(f.startsWith("fetch("))return"Promise<Response>";if(ne(f))return n(f,!1);let A=Rt(f);if(A){let w=D(A.whenTrue,c,i,s,r,l+1),x=D(A.whenFalse,c,i,s,r,l+1);return w===x?w:Et([w,x])}for(let w of["??","||","&&"]){let x=It(f,w);if(x!==-1){let T=D(f.slice(0,x),c,i,s,r,l+1),O=D(f.slice(x+w.length),c,i,s,r,l+1);return Zt(T,O,w)}}let b=Jt(f);if(b&&s)return s(b,r);let y=jt(f);if(y)return s?s(y,r):y;if(Pt(f))return"boolean";let p=0;for(let w=f.length-1;w>=0;w--){let x=f.charCodeAt(w);if(x===41||x===93||x===125)p++;else if(x===40||x===91||x===123)p--;else if(p===0&&(x===43||x===45||x===42||x===47||x===37)){let T=D(f.slice(0,w),c,i,s,r,l+1),O=D(f.slice(w+1),c,i,s,r,l+1);if(x===43&&(T==="string"||O==="string"))return"string";if(T==="number"&&O==="number")return"number";break}}if(f.startsWith("[")&&f.endsWith("]")){let w=Z(f.slice(1,-1));if(w.some((x)=>x.trim().startsWith("..."))){let x=w.map((T)=>{let O=T.trim();if(!O)return"undefined";let P=O.startsWith("..."),N=D(P?O.slice(3):O,c,i,s,r,l+1);return P?`(NonNullable<${N}> extends Iterable<infer Element> ? Element : never)`:N});return`(${[...new Set(x)].join(" | ")||"never"})[]`}}let d=h??(f.startsWith("{")&&f.endsWith("}")?dt(f,!1,l+1,void 0,(w)=>D(w,c,i,s,r,l+1)):n(f,!1));if(d==="unknown"&&Y(f)&&s)return s(`typeof ${f}`,r);let m=t(d),C="",k=0;for(let w=0;w<m.length;w++){let x=m[w];if(x.kind!=="word"||d.slice(x.start,x.end)!=="typeof")continue;let T=m[w+1];if(!T||T.kind!=="word")continue;let O=c.get(d.slice(T.start,T.end)),P=O,N=!O,F=x.start,K=T.end,I=w,M=[];w++;while(m[w+1]&&d.slice(m[w+1].start,m[w+1].end)==="."&&m[w+2]?.kind==="word"){let E=m[w+2];if(M.push(d.slice(E.start,E.end)),!N)O=`(${O})["${d.slice(E.start,E.end)}"]`;K=E.end,w+=2}let v=I>=2&&d.slice(m[I-2].start,m[I-2].end)==="ReturnType"&&d.slice(m[I-1].start,m[I-1].end)==="<"&&m[w+1]&&d.slice(m[w+1].start,m[w+1].end)===">",X=P&&v&&M.length===1?va(P.trim(),M[0]):void 0;if(X){F=m[I-2].start,K=m[++w].end;let E=F===0&&K===d.length;C+=d.slice(k,F)+(E||!X.includes("|")?X:`(${X})`),k=K;continue}if(N&&v)F=m[I-2].start,K=m[++w].end;C+=d.slice(k,F)+(O??"unknown"),k=K}return C+d.slice(k)}function Jt(e){let c=t(e),i=0,s=-1;for(let l=0;l<c.length;l++){let f=c[l],u=e.slice(f.start,f.end);if(f.kind!=="punctuation"&&f.kind!=="word")continue;if(["(","[","{"].includes(u))i++;else if([")","]","}"].includes(u))i--;else if(!i&&u==="as"&&l>0&&e.slice(c[l-1].start,c[l-1].end)!==".")s=l}if(s===-1||s+1===c.length)return;let r=e.slice(c[s].end).trim();if(r==="const")return;i=0;for(let l of c.slice(s+1)){if(l.kind!=="punctuation")continue;let f=e.slice(l.start,l.end);if(!i&&["??","||","&&"].some((u)=>e.startsWith(u,l.start)))return;if(["(","[","{","<"].includes(f))i++;else if([")","]","}",">"].includes(f))i--;else if(!i&&["+","-","*","/","%","=","!",";"].includes(f))return}return r}function It(e,c){let i=0;for(let s of t(e)){if(s.kind!=="punctuation")continue;let r=e.slice(s.start,s.end);if(["(","[","{"].includes(r))i++;else if([")","]","}"].includes(r))i--;if(!i&&e.startsWith(c,s.start))return s.start}return-1}function Qt(e){if(e.includes("=>"))return null;let c=[],i=0,s=0;for(let r=0;r<=e.length;r++){let l=r===e.length?"|":e[r];if(l==="'"||l==='"'||l==="`"){r++;while(r<e.length&&e[r]!==l)r+=e[r]==="\\"?2:1;if(r>=e.length)return null}else if(l==="("||l==="["||l==="{"||l==="<")i++;else if(l===")"||l==="]"||l==="}"||l===">")i--;else if(l==="|"&&i===0){let f=e.slice(s,r).trim();if(f)c.push(f);s=r+1}if(i<0)return null}return i===0?c:null}function Xt(e,c){let i=Qt(c);if(!i)return`${e} | ${c}`;let s=[];for(let h of[e,...i]){if(h==="unknown")return"unknown";if(!s.includes(h))s.push(h)}let r=s.includes("boolean")||s.includes("true")&&s.includes("false"),l=s.includes("string"),f=s.includes("number"),u=[],a=!1;for(let h of s)if(r&&(h==="true"||h==="false"||h==="boolean")){if(!a)u.push("boolean");a=!0}else if(l&&Yt(h))continue;else if(f&&/^-?\d+(?:\.\d+)?$/.test(h))continue;else u.push(h);return u.join(" | ")}function Yt(e){let c=e[0];return e.length>=2&&(c==="'"||c==='"')&&e.endsWith(c)&&!e.slice(1,-1).includes(c)}function Zt(e,c,i){let s=J(c)!==-1?`(${c.trim()})`:c;if(e.trim()==="unknown")return i==="&&"||s.trim()==="unknown"?"unknown":`{} | ${s}`;let r=e.trim();if(r==="boolean"||r==="string"||r==="number"){if(i==="??")return r;return Xt(i==="||"?r==="boolean"?"true":r:r==="boolean"?"false":r==="string"?"''":"0",s)}let l="false | 0 | 0n | '' | null | undefined";if(i==="??")return`([${e}] extends [NonNullable<${e}>] ? ${e} : NonNullable<${e}> | ${s})`;if(i==="||")return`([${e}] extends [object] ? ${e} : [Exclude<${e}, object> & (${l})] extends [never] ? ${e} : Exclude<NonNullable<${e}>, ${l}> | ${s})`;return`([${e}] extends [object] ? ${s} : [${e}] extends [${l}] ? ${e} : unknown extends (${e}) ? ${e} : (Exclude<${e}, object> & (${l})) | ${s})`}function vt(e){let c=`(NonNullable<${e}> extends infer __dtsx_spread_value ? { -readonly [__dtsx_spread_key in keyof __dtsx_spread_value]: __dtsx_spread_value[__dtsx_spread_key] } : never)`,i=`(NonNullable<${e}> extends infer __dtsx_spread_value ? { -readonly [__dtsx_spread_key in keyof __dtsx_spread_value]?: __dtsx_spread_value[__dtsx_spread_key] } : never)`;return`([${e}] extends [null | undefined] ? {} : [${e}] extends [NonNullable<${e}>] ? ${c} : ${i})`}function te(e,c){let i=e.trim();while(at(i))i=i.slice(1,-1).trim();let s=It(i,"??");if(s!==-1&&i.slice(s+2).trim()==="{}")return vt(c(i.slice(0,s)));let r=Rt(i);if(r){if(r.whenFalse.trim()==="{}")return`Partial<${c(r.whenTrue)}>`;if(r.whenTrue.trim()==="{}")return`Partial<${c(r.whenFalse)}>`}return c(i)}function Et(e){return e.map((c)=>e.length>1&&J(c)!==-1?`(${c})`:c).join(" | ")}function st(e){let c=0;while(c<e.length){let r=e.charCodeAt(c);if(r<=32)c++;else if(r===47&&e.charCodeAt(c+1)===47){c+=2;while(c<e.length&&e.charCodeAt(c)!==10&&e.charCodeAt(c)!==13)c++}else if(r===47&&e.charCodeAt(c+1)===42){let l=e.indexOf("*/",c+2);c=l===-1?e.length:l+2}else break}let i=c,s=c;while(s<e.length){let r=e.charCodeAt(s);if(r===34||r===39||r===96){s=q(e,s,r),i=s;continue}if(r===92){s=Math.min(s+2,e.length),i=s;continue}if(r===47&&e.charCodeAt(s+1)===47){while(s<e.length&&e.charCodeAt(s)!==10&&e.charCodeAt(s)!==13)s++;continue}if(r===47&&e.charCodeAt(s+1)===42){let l=e.indexOf("*/",s+2);s=l===-1?e.length:l+2;continue}if(s++,r>32)i=s}return e.slice(c,i)}function jt(e){if(!e.startsWith("<"))return;let c=Q(e)(0,0);if(!c||c.parameters||c.completeOperand||!e.slice(c.end).trim()||!nt(e.slice(c.end).trim()))return;return e.slice(1,c.end-1).trim()}function nt(e){e=st(e);let c=0,i;for(let s=0;s<e.length;s++){let r=e[s];if(r==="'"||r==='"'||r==="`"){let l=s+1;while(l<e.length&&e[l]!==r){if(e[l]==="\\")l++;l++}s=l;continue}if(r==="/"){if(e[s+1]==="/"){let l=e.indexOf(`
|
|
9
|
+
`,s+2);s=l===-1?e.length:l;continue}if(e[s+1]==="*"){let l=e.indexOf("*/",s+2);s=l===-1?e.length:l+1;continue}if(R(e,s)){s=S(e,s)-1;continue}}if(r==="<"&&c===0){i??=Q(e);let l=i(s,0);if(l){s=l.end-1;continue}}if(r==="("||r==="["||r==="{")c++;else if(r===")"||r==="]"||r==="}")c--;else if(c!==0)continue;else if(r==="?"){if(e[s+1]!==".")return!1}else if("=!<>&|+-*/%,:".includes(r))return!1;else if(r===" "||r==="\t"||r===`
|
|
10
|
+
`||r==="\r"){let l=e.slice(s).trimStart(),f=/[A-Za-z]+$/.exec(st(e.slice(0,s)))?.[0];if(s=e.length-l.length-1,f&&["new","void","typeof","delete","await","yield"].includes(f))continue;if(l&&l[0]!=="."&&l[0]!=="?"&&l[0]!=="("&&l[0]!=="[")return!1}}return!0}function ne(e){if(e.startsWith("function")&&et(e,0,8))return!0;let c=J(e);if(c===-1)return!1;let i=e.slice(0,c).trim();if(i.startsWith("async")&&et(i,0,5))i=i.slice(5).trim();if(i.startsWith("<")){let r=o(i,0,"<",">");if(r===-1)return!1;i=i.slice(r+1).trim()}if(i.startsWith("(")){let r=o(i,0,"(",")");if(r===-1)return!1;let l=i.slice(r+1).trim();if(l&&!l.startsWith(":"))return!1}let s=Ct(i);return at(s.params)||Y(s.params)}function at(e){if(!e.startsWith("(")||!e.endsWith(")"))return!1;let c=0;for(let i=0;i<e.length;i++){let s=e.charCodeAt(i);if(s===40)c++;else if(s===41&&--c===0)return i===e.length-1}return!1}function Rt(e){let c=0,i=-1;for(let s=0;s<e.length;s++){let r=e.charCodeAt(s);if(r===34||r===39||r===96){s=q(e,s,r)-1;continue}if(r===47&&(e.charCodeAt(s+1)===47||e.charCodeAt(s+1)===42)){if(e.charCodeAt(s+1)===47)while(s+1<e.length&&e.charCodeAt(s+1)!==10&&e.charCodeAt(s+1)!==13)s++;else{let l=e.indexOf("*/",s+2);s=l===-1?e.length:l+1}continue}if(r===40||r===91||r===123)c++;else if(r===41||r===93||r===125)c--;else if(r===63&&c===0&&e.charCodeAt(s+1)!==63)i=s;else if(r===58&&c===0&&i!==-1)return{whenTrue:st(e.slice(i+1,s)),whenFalse:st(e.slice(s+1))}}return null}function et(e,c,i){return(c===0||!_(e.charCodeAt(c-1)))&&!_(e.charCodeAt(c+i))}function Nt(e,c){let i=c;while(i<e.length){if(e.charCodeAt(i)<=32){i++;continue}if(e.startsWith("//",i)){while(i<e.length&&e.charCodeAt(i)!==10&&e.charCodeAt(i)!==13)i++;continue}if(e.startsWith("/*",i)){let s=e.indexOf("*/",i+2);i=s<0?e.length:s+2;continue}break}return i}function re(e,c){let i=0,s=0,r=0,l=!1,f=!1;for(let u=c;u<e.length;u++){if(u=Nt(e,u),u>=e.length)break;let a=e.charCodeAt(u);if(a===34||a===39||a===96){u=q(e,u,a)-1,f=!1;continue}if(_(a)||a>=128){let h=u;while(u+1<e.length&&(_(e.charCodeAt(u+1))||e.charCodeAt(u+1)>=128))u++;f=l&&["keyof","typeof","readonly","unique","new","abstract","infer","extends"].includes(e.slice(h,u+1));continue}if(a===61&&e.charCodeAt(u+1)===62){u++,f=l;continue}if(a===40)i++;else if(a===41)i--,f=!1;else if(a===91)s++;else if(a===93)s--,f=!1;else if(a===60&&i===0&&s===0)r++;else if(a===62&&r>0&&i===0&&s===0)r--,f=!1;else if(a===123)if(i||s||r||l&&f)u=ot(e,u)-1,f=!1;else return u;else if(i===0&&s===0&&r===0){if(a===58)l=!0,f=!0;else if(l&&[124,38,63].includes(a))f=!0;else if(a===59)return-1}}return-1}function ot(e,c){let i=1,s=c+1;while(s<e.length&&i>0){let r=e.charCodeAt(s);if(r===34||r===39||r===96){s=q(e,s,r);continue}if(r===47&&e.charCodeAt(s+1)===47){s+=2;while(s<e.length&&e.charCodeAt(s)!==10&&e.charCodeAt(s)!==13)s++;continue}if(r===47&&e.charCodeAt(s+1)===42){let l=e.indexOf("*/",s+2);s=l===-1?e.length:l+2;continue}if(r===123)i++;else if(r===125)i--;s++}return s}function q(e,c,i){let s=c+1;while(s<e.length){let r=e.charCodeAt(s);if(r===92){s+=2;continue}if(i===96&&r===36&&e.charCodeAt(s+1)===123){s=ot(e,s+1);continue}if(s++,r===i)break}return s}function ie(e,c){if(e.includes(".raw`")||e.includes("String.raw`"))return"string";if(!c||e.includes("${")||e.includes(`
|
|
11
|
+
`)||e.includes("\r"))return"string";return e}function se(e){let c=4;while(c<e.length&&e.charCodeAt(c)<=32)c++;let i=c,s=e.charCodeAt(c);if(s<65||s>90)return"unknown";while(c<e.length&&(_(e.charCodeAt(c))||e.charCodeAt(c)===46))c++;if(c===i)return"unknown";let r=e.slice(i,c);{let l=e.slice(c),f=l;if(l.startsWith("<")){let a=0,h=-1;for(let A=0;A<l.length;A++)if(l[A]==="<")a++;else if(l[A]===">"){if(a--,a===0){h=A;break}}if(h!==-1){let A=l.slice(0,h+1);f=l.slice(h+1);let b=f.indexOf("(");if(b!==-1){let y=0,p=-1;for(let d=b;d<f.length;d++)if(f[d]==="(")y++;else if(f[d]===")"){if(y--,y===0){p=d;break}}if(p!==-1){if(f.slice(p+1).trimStart().startsWith("."))return"unknown"}}return`${r}${A}`}}let u=f.indexOf("(");if(u!==-1){let a=0,h=-1;for(let A=u;A<f.length;A++)if(f[A]==="(")a++;else if(f[A]===")"){if(a--,a===0){h=A;break}}if(h!==-1){if(f.slice(h+1).trimStart().startsWith("."))return"unknown"}}switch(r){case"Date":return"Date";case"Map":return"Map<any, any>";case"Set":return"Set<any>";case"WeakMap":return"WeakMap<any, any>";case"WeakSet":return"WeakSet<any>";case"RegExp":return"RegExp";case"Error":return"Error";case"Array":return"any[]";case"Object":return"object";case"Function":return"Function";case"Promise":return"Promise<any>";default:return r}}return"unknown"}function oe(e){return"{ new (...args: any[]): any }"}function Mt(e,c,i=0,s){if(e.startsWith("Promise.resolve(")){let l=e.indexOf(")",16);if(l!==-1){let f=e.slice(16,l).trim();if(f)return`Promise<${n(f,c,!1,i+1,s)}>`}return"Promise<unknown>"}if(e.startsWith("Promise.reject("))return"Promise<never>";if(e.startsWith("Promise.all(")){let r=e.indexOf("[",12),l=e.lastIndexOf("]");if(r!==-1&&l>r){let f=e.slice(r+1,l).trim(),u=Z(f),a=[];for(let h=0;h<u.length;h++){let A=u[h].trim();if(A.startsWith("Promise.resolve(")){let b=Mt(A,c,i+1,s),y=b.indexOf("<"),p=b.lastIndexOf(">");a.push(y!==-1&&p>y?b.slice(y+1,p):"unknown")}else a.push(n(A,c,!1,i+1,s))}return`Promise<[${a.join(", ")}]>`}return"Promise<unknown[]>"}return"Promise<unknown>"}function Be(e,c,i=0,s){let r=e.slice(1,-1).trim();if(!r)return"never[]";if(i>=lt)return"unknown[]";let l=Z(r),f=!1;for(let p=0;p<l.length;p++){let d=l[p],m=d.length;while(m>0&&d.charCodeAt(m-1)<=32)m--;if(m>=8&&d.slice(m-8,m)==="as const"){f=!0;break}}if(f){let p=[];for(let d=0;d<l.length;d++){let m=l[d].trim();if(m.endsWith("as const")){let C=m.slice(0,-8).trim();if(C.startsWith("[")&&C.endsWith("]")){let k=C.slice(1,-1).trim(),w=Z(k),x=[];for(let T=0;T<w.length;T++)x.push(n(w[T].trim(),!0,!1,i+1,s));p.push(`readonly [${x.join(", ")}]`)}else p.push(n(C,!0,!1,i+1,s))}else if(m.startsWith("[")&&m.endsWith("]"))p.push(Be(m,!0,i+1,s));else p.push(n(m,!0,!1,i+1,s))}return`readonly [
|
|
12
|
+
${p.join(` |
|
|
13
|
+
`)}
|
|
14
|
+
]`}let u=ft&&!c,a=[],h=[];for(let p of l){let d=p.trim(),m=L;if(L=null,d.startsWith("...")){let C=d.slice(3).trim(),k=n(C,!1,!1,i+1,s);if(k.endsWith("[]"))a.push(k.slice(0,-2));else if(k.startsWith("readonly [")&&k.endsWith("]"))a.push(k.slice(10,-1));else if(G(C))a.push(`(typeof ${C})[number]`);else a.push("unknown")}else if(d.startsWith("[")&&d.endsWith("]"))a.push(Be(d,c,i+1,s));else a.push(zt(d,c,i+1,s));if(u)h.push(L);L=m}if(u)if(mt(e))L=it(e);else{let p=[];for(let d=0;d<l.length;d++){let m=l[d].trim();if(m.endsWith("as const"))continue;if(ct(m)||m==="null"||m==="undefined")p.push(m);else if(m.startsWith("[")&&mt(m))p.push(it(m));else if(m.startsWith("{")){if(h[d])p.push(h[d])}else{let C=n(m,!1,!1,0,s);if(C!=="unknown")p.push(C)}}if(p.length>0)L=`[${p.join(", ")}]`}if(c)return`readonly [${a.join(", ")}]`;let A=new Set,b=[],y=!0;for(let p of a){if(!A.has(p))A.add(p),b.push(p);if(y){if(!(g(p)||p==="true"||p==="false"||p.charCodeAt(0)===34&&p.charCodeAt(p.length-1)===34||p.charCodeAt(0)===39&&p.charCodeAt(p.length-1)===39))y=!1}}if(y&&a.length<=10)return`readonly [${a.join(", ")}]`;if(b.length===1)return`${b[0]}[]`;return`(${b.join(" | ")})[]`}function Z(e){let c=[],i=0,s=!1,r=0,l=-1,f=0;for(let u=0;u<e.length;u++){let a=e.charCodeAt(u);if(s){if(a===92)u++;else if(a===r)s=!1;f=u+1;continue}if(a===47&&e.charCodeAt(u+1)===47){let h=e.indexOf(`
|
|
15
|
+
`,u+2);u=(h===-1?e.length:h)-1;continue}if(a===47&&e.charCodeAt(u+1)===42){let h=e.indexOf("*/",u+2);u=(h===-1?e.length:h+2)-1;continue}if(a===32||a===9||a===10||a===13)continue;if(a===44&&i===0){if(l!==-1)c.push(e.slice(l,f));l=-1;continue}if(a===34||a===39||a===96)s=!0,r=a;else if(a===91||a===123||a===40)i++;else if(a===93||a===125||a===41)i--;if(l===-1)l=u;f=u+1}if(l!==-1)c.push(e.slice(l,f));return c}function ct(e){if(g(e))return!0;if(e==="true"||e==="false")return!0;if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return!0;return!1}function Lt(e){return e==="number"||e==="string"||e==="boolean"}function nr(e){let c=[],i=0;while(i<e.length){while(i<e.length&&e.charCodeAt(i)<=32)i++;if(e.startsWith("/*",i)){let s=e.indexOf("*/",i+2);if(s===-1)break;c.push(e.slice(i,s+2)),i=s+2}else if(e.startsWith("//",i)){let s=i;while(s<e.length&&e.charCodeAt(s)!==10&&e.charCodeAt(s)!==13)s++;c.push(e.slice(i,s).trimEnd()),i=s}else break}return c}function Ht(e,c,i){let s=c.trim();if(!Lt(i)||!ct(s))return"";let r=(e??[]).map((f)=>f.trim()).filter((f)=>f.startsWith("/**")||f.startsWith("//")).join(`
|
|
16
|
+
`),l;if(r.includes("@defaultValue"))l=r;else{let f=`@defaultValue ${be(s)}`;if(!r)l=`/** ${f} */`;else{let u=r.lastIndexOf("*/");if(u!==-1){let a=r.slice(0,u).trimEnd();if(a.startsWith("/** ")&&!a.includes(`
|
|
17
|
+
`))a=`/**
|
|
18
|
+
* ${a.slice(4)}`;l=`${a}
|
|
19
|
+
* ${f}
|
|
20
|
+
*/`}else l=`/**
|
|
21
|
+
* ${r.startsWith("// ")?r.slice(3):r.startsWith("//")?r.slice(2):r}
|
|
22
|
+
* ${f}
|
|
23
|
+
*/`}}return l.split(`
|
|
24
|
+
`).map((f)=>{let u=f.trim();if(!u)return"";return u.startsWith("*")?` ${u}`:` ${u}`}).join(`
|
|
25
|
+
`)+`
|
|
26
|
+
`}function mt(e){let c=!1,i=0,s=e.length;for(let r=0;r<s;r++){let l=e.charCodeAt(r);if(c){if(l===92){r++;continue}if(l===i)c=!1;continue}if(l===34||l===39||l===96){c=!0,i=l;continue}if(l===61&&r+1<s&&e.charCodeAt(r+1)===62)return!1;if(l===47&&(e.charCodeAt(r+1)===47||e.charCodeAt(r+1)===42))return!1;if(l>=97&&l<=122){let f=r;while(r<s&&(e.charCodeAt(r)>=97&&e.charCodeAt(r)<=122||e.charCodeAt(r)>=65&&e.charCodeAt(r)<=90||e.charCodeAt(r)>=48&&e.charCodeAt(r)<=57||e.charCodeAt(r)===95||e.charCodeAt(r)===36))r++;let u=e.slice(f,r);if(u==="new"||u==="async"||u==="await"||u==="function"||u==="yield"||u==="console"||u==="process")return!1;let a=r;while(a<s&&e.charCodeAt(a)<=32)a++;if(a<s&&e.charCodeAt(a)===40)return!1;r--}}return!0}function dt(e,c,i=0,s,r){let l=e.slice(1,-1).trim();if(!l)return"{}";if(i>=lt)return"Record<string, unknown>";let f=ae(l),u=new Set(f.flatMap(([k])=>{let w=Tt(At(k).key);return w?.kind==="get"?[w.name]:[]})),a=[],h=[],A=[],b=!1,y=ft&&!c,p=[],d=0;for(let[k,w]of f){let{comments:x,key:T}=At(k),O=x?`${x}
|
|
27
|
+
`:"",P=Tt(T);if(P&&or(P.name))continue;let N=T,F=!1;if(T==="..."){let j=w.trim(),V=r?te(j,r):G(j)?`typeof ${j}`:n(j,c,!1,i+1,s);if(V!=="unknown")h.push(V);if(y&&(G(j)||j.startsWith("{")))p.push(`...${it(j)}`);continue}let K=L;L=null;let I,M=w.trim();if(M===T&&Y(M))I=r?.(w)??(c?void 0:s?.mutableBindingTypes?.get(M))??`typeof ${M}`;else if(de(M)){F=!0;let j=ge(T);if(j){N=j.name;let V="";if(M.startsWith("async "))V="async ";if(M.charCodeAt(V.length)===42)V+="*";I=St(j.name,V+j.typeParams+M.slice(V.length))}else I=St(T,M)}else{if(I=r?.(w)??n(w,c,!1,i+1,s),I==="unknown"&&G(M))I=(c?void 0:s?.mutableBindingTypes?.get(M))??`typeof ${M}`;if(I.includes("=>")||I.includes("function")||I.includes("async"))I=xt(I)}let v=L;L=K;let X=N,E=w.trim(),tt=ir(N,s);if(!sr(P?.name??N,s)&&!(P?.kind==="set"&&u.has(P.name)))A.push(P?he(P.kind,I):I);if(tt&&"index"in tt)b=!0;else{if(tt&&"name"in tt)N=tt.name;if(P){let j=ue(P.kind,P.name,I);if(j){a.push(`${O}${W(j)}`);continue}}if(!c&&Lt(I)&&ct(E))a.push(`${O}/** @defaultValue ${be(E)} */
|
|
28
|
+
${N}: ${W(I)}`);else a.push(`${O}${c?"readonly ":""}${N}: ${W(I)}`)}if(y){let j=Ot(X);if(E.endsWith("as const"));else if(ct(E))p.push(`${j}: ${E}`);else if(E.startsWith("[")&&mt(E))p.push(`${j}: ${it(E)}`);else if(E.startsWith("{")){if(v)p.push(`${j}: ${v}`)}else if(F)p.push(`${j}: ${ht(xt(I))}`),d++;else if(!E.startsWith("[")&&(E.includes("=>")||E.startsWith("function")||E.startsWith("async"))){let V=pt(E,!1,0,!0);p.push(`${j}: ${ht(V)}`),d++}}}if(y&&p.length>d){let k=i>0?(i-1)/2:0,w=`{ ${p.join(", ")} }`;if(w.length<=80)L=w;else{let x=" ".repeat((k+1)*2),T=" ".repeat(k*2);L=`{
|
|
29
|
+
${x}${p.join(`,
|
|
30
|
+
${x}`)}
|
|
31
|
+
${T}}`}}if(b&&h.length===0){let k=[...new Set(A)].map((w)=>w.includes("=>")||w.includes(" & ")?`(${w})`:w);a.unshift(`${c?"readonly ":""}[x: string]: ${W(k.join(" | "))}`)}let m=a.length>0?`{
|
|
32
|
+
${a.join(`;
|
|
33
|
+
`)}
|
|
34
|
+
}`:"{}";if(h.length===0)return m;let C=h[0];for(let k=1;k<h.length;k++)C=`Omit<${C}, keyof ${h[k]}> & ${h[k]}`;return a.length>0?`Omit<${C}, keyof ${m}> & ${m}`:C}function Y(e){if(!e)return!1;let c=e.charCodeAt(0);if(!(c>=65&&c<=90||c>=97&&c<=122||c===95||c===36||c>127))return!1;for(let i=1;i<e.length;i++)if(!_(e.charCodeAt(i)))return!1;return!0}function G(e){let c=e.split(".");return c.length>0&&c.every(Y)}function ce(e){let c=!1,i="";for(let s=0;s<e.length;s++){let r=e[s];if(c){if(r==="\\")s++;else if(r===i)c=!1;continue}if(r==='"'||r==="'"||r==="`"){c=!0,i=r;continue}if(r==="(")return s;if(r==="<"){let l=o(e,s,"<",">");if(l!==-1)s=l}}return-1}function U(e){if(e.length<3||!e.endsWith(")"))return null;let c=ce(e);if(c===-1||o(e,c,"(",")")!==e.length-1)return null;let i=e.slice(0,c).trim(),s=!1;if(i.endsWith("?."))s=!0,i=i.slice(0,-2).trim();let r=i,l=!1,f=i.indexOf("<");if(f!==-1){if(o(i,f,"<",">")!==i.length-1)return null;r=i.slice(0,f).trim(),l=!0}if(r.endsWith("?.")){s=!0;let p=i.slice(r.length);r=r.slice(0,-2).trim(),i=r+p}if(!G(r))return null;let u=e.slice(c+1,-1).trim(),a=J(u)!==-1||u.startsWith("function")||u.startsWith("async function"),h=G(u),A=!a&&u.endsWith(")")&&U(u)!==null,b=r.indexOf(".");if(b!==-1){if(r.indexOf(".",b+1)!==-1)return null}else if(!l&&!s&&!a&&!h&&!A)return null;let y=`ReturnType<typeof ${i}>`;return s?`ReturnType<NonNullable<typeof ${i}>> | (null extends typeof ${r} ? undefined : undefined extends typeof ${r} ? undefined : never)`:y}function xt(e){let i=e.split(`
|
|
35
|
+
`).map((A)=>_t(A)).join(`
|
|
36
|
+
`),s=i.indexOf("async");if(s!==-1){let A=s>0?i.charCodeAt(s-1):32,b=s+5<i.length?i.charCodeAt(s+5):32;if(!_(A)&&!_(b))i=(i.slice(0,s)+i.slice(s+5)).trim()}let r=i.indexOf("(");if(r!==-1){let A=o(i,r,"(",")");if(A!==-1){let b=i.slice(r,A+1),y=ye(b);i=i.slice(0,r)+y+i.slice(A+1)}}let l=i.length,f="",u=[],a=!1,h=!1;for(let A=0;A<l;A++){let b=i.charCodeAt(A);if(b===123||b===40)u.push(b);else if(b===125||b===41)u.pop();if(b<=32){if(a=!0,b===10||b===13)h=!0;continue}if(a&&f.length>0){let p=(u.length>0?u[u.length-1]:0)===123;if(h&&p){let d=f.charCodeAt(f.length-1),m=d===59||d===44||d===123||b===125,C=f.length>=2&&f.charCodeAt(f.length-1)===47&&f.charCodeAt(f.length-2)===42;if(!m&&!C)f+="; ";else f+=" "}else f+=" "}a=!1,h=!1,f+=i[A]}return f.trim()}function _(e){return e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57||e===95||e===36}function ye(e){let c=e.trim(),i,s=!1;if(c.startsWith("(")&&c.endsWith(")"))i=c.slice(1,-1),s=!0;else i=c;let r=i.trim();if(!r)return s?"()":"";let l=!1;{let d=0;for(let m=0;m<r.length;m++){let C=r.charCodeAt(m);if(C===40||C===60||C===91||C===123)d++;else if(C===41||C===93||C===125||C===62&&r.charCodeAt(m-1)!==61)d--;else if(d===0&&C===61){let k=m>0?r.charCodeAt(m-1):0,w=m+1<r.length?r.charCodeAt(m+1):0;if(k!==61&&k!==33&&k!==60&&k!==62&&w!==61&&w!==62){l=!0;break}}}}if(!l)return c;let f=[],u=[],a=0,h=0,A=!1,b=0;for(let d=0;d<=r.length;d++){if(d===r.length){f.push(r.slice(a));break}let m=r.charCodeAt(d);if(A){if(m===92){d++;continue}if(m===b)A=!1;continue}if(m===47&&d+1<r.length){let C=r.charCodeAt(d+1);if(C===42){d+=2;while(d+1<r.length&&!(r.charCodeAt(d)===42&&r.charCodeAt(d+1)===47))d++;d++;continue}if(C===47){while(d<r.length&&r.charCodeAt(d)!==10)d++;continue}}if(m===39||m===34||m===96){A=!0,b=m;continue}if(m===40||m===60||m===91||m===123)h++;else if(m===41||m===93||m===125||m===62&&r.charCodeAt(d-1)!==61)h--;else if(m===44&&h===0){f.push(r.slice(a,d));let C=",",k=d+1;while(k<r.length&&r.charCodeAt(k)<=32)C+=r[k],k++;u.push(C),a=k}}let y=[];for(let d of f){let m=d.trim();if(!m){y.push(d);continue}if(m.startsWith("//"))continue;let C=_t(m),k=d.slice(0,d.length-d.trimStart().length);y.push(k+le(C))}let p=y[0]||"";for(let d=1;d<y.length;d++)p+=(u[d-1]||", ")+y[d];return _e(s?`(${p})`:p)}function _t(e){let c=!1,i=0;for(let s=0;s<e.length-1;s++){let r=e.charCodeAt(s);if(c){if(r===92){s++;continue}if(r===i)c=!1;continue}if(r===39||r===34||r===96){c=!0,i=r;continue}if(r===47&&e.charCodeAt(s+1)===47)return e.slice(0,s).trimEnd()}return e}function le(e){if(e.startsWith("..."))return e;let c=-1,i=-1,s=0,r=!1,l=0;for(let u=0;u<e.length;u++){let a=e.charCodeAt(u);if(r){if(a===92){u++;continue}if(a===l)r=!1;continue}if(a===47&&u+1<e.length){let h=e.charCodeAt(u+1);if(h===42){u+=2;while(u+1<e.length&&!(e.charCodeAt(u)===42&&e.charCodeAt(u+1)===47))u++;u++;continue}if(h===47){while(u<e.length&&e.charCodeAt(u)!==10)u++;continue}}if(a===39||a===34||a===96){r=!0,l=a;continue}if(a===40||a===60||a===91||a===123)s++;else if(a===41||a===93||a===125||a===62&&e.charCodeAt(u-1)!==61)s--;else if(s===0){if(a===58&&c===-1)c=u;else if(a===61&&i===-1&&(u===0||e.charCodeAt(u-1)!==61)&&(u+1>=e.length||e.charCodeAt(u+1)!==61&&e.charCodeAt(u+1)!==62))i=u}}let f=i!==-1;if(c!==-1&&(i===-1||c<i)){let u=e.slice(0,c).trim(),a=i!==-1?e.slice(c+1,i).trim():e.slice(c+1).trim(),h=f&&!u.endsWith("?")?"?":"";return`${u}${h}: ${a}`}else if(i!==-1){let u=e.slice(0,i).trim(),a=xe(u,e.slice(i+1));if(a)return je(a,bt);let h=!u.endsWith("?")?"?":"";return`${u}${h}: ${bt(e.slice(i+1))}`}return e}function bt(e){let c=e.trim();if(c==="true"||c==="false")return"boolean";if(g(c))return"number";if(c.startsWith("'")&&c.endsWith("'")||c.startsWith('"')&&c.endsWith('"'))return"string";if(c.startsWith("["))return"unknown[]";if(c.startsWith("{"))return"Record<string, unknown>";return"unknown"}function fe(e){let c=0,i=e.length;while(c<i){while(c<i&&(e.charCodeAt(c)===32||e.charCodeAt(c)===9||e.charCodeAt(c)===10||e.charCodeAt(c)===13))c++;if(c+1<i&&e.charCodeAt(c)===47&&e.charCodeAt(c+1)===42){c+=2;while(c+1<i&&!(e.charCodeAt(c)===42&&e.charCodeAt(c+1)===47))c++;c+=2;continue}break}return c}function At(e){let c=[],i=0,s=e.length;while(i<s){while(i<s&&e.charCodeAt(i)<=32)i++;if(i+1>=s||e.charCodeAt(i)!==47||e.charCodeAt(i+1)!==42)break;let r=i;i+=2;while(i+1<s&&!(e.charCodeAt(i)===42&&e.charCodeAt(i+1)===47))i++;i=Math.min(i+2,s),c.push(e.slice(r,i).trim())}return{comments:c.join(`
|
|
37
|
+
`),key:e.slice(i).trim()}}function ae(e){let c=[],i="",s="",r=0,l=!1,f="",u=!0,a=!1,h=0,A=!1,b=!1,y=0,p=!1,d=!1;for(let m=0;m<e.length;m++){let C=e.charCodeAt(m),k=m>0?e.charCodeAt(m-1):0,w=m<e.length-1?e.charCodeAt(m+1):0;if(!l&&!a&&C===47&&w===47){i=i.replace(/[ \t]+$/,""),m+=2;while(m<e.length&&e.charCodeAt(m)!==10)m++;m--;continue}if(!l&&!a&&C===47&&w===42){a=!0,h=1,i+="/*",m++;continue}else if(a&&C===42&&w===47){if(h--,i+="*/",m++,h===0)a=!1;continue}else if(a&&C===47&&w===42){h++,i+="/*",m++;continue}let x=e[m];if(!l&&!a&&(C===34||C===39||C===96))l=!0,f=x,i+=x;else if(l&&x===f&&k!==92)l=!1,i+=x;else if(!l&&!a)if(C===46&&w===46&&e.charCodeAt(m+2)===46&&r===0&&u)s=`${i.trim()}...`,i="",u=!1,p=!1,m+=2;else if(C===40&&r===0&&u&&y===0){s=i.trim();let T=fe(s),O=T>0?s.slice(0,T):"",P=s.slice(T),N="";if(P.startsWith("async ")||P.startsWith("async\t")||P.startsWith(`async
|
|
38
|
+
`))P=P.slice(6).trimStart(),N="async ";if(P.startsWith("*"))P=P.slice(1).trimStart(),N+="*";s=O+P,i=N+x,u=!1,p=!0,d=!1,r=1}else if(C===123||C===91||C===40){if(r++,i+=x,d&&C===123)d=!1}else if(C===125||C===93||C===41){if(r--,i+=x,C===41&&r===0&&!u&&!p)A=!0;if(p){if(C===41&&r===0&&!d)d=!0;else if(C===125&&r===0)p=!1,d=!1}}else if(C===58&&r===0&&u&&y===0)s=i.trim(),i="",u=!1;else if(C===58&&r===0&&A)b=!0,i+=x;else if(C===60&&b)y++,i+=x;else if(C===60&&u&&r===0)y++,i+=x;else if(C===62&&y>0&&k!==61)y--,i+=x;else if(C===61&&w===62&&b&&y===0)b=!1,A=!1,i+=x;else if(C===44&&r===0&&y===0&&!d){if(s&&i.trim()){let T=i.trim();c.push([s,T])}else if(u&&i.trim())kt(c,i.trim());i="",s="",u=!0,A=!1,b=!1,y=0}else i+=x;else i+=x}if(s&&i.trim()){let m=i.trim();c.push([s,m])}else if(u&&i.trim())kt(c,i.trim());return c}function kt(e,c){let{comments:i,key:s}=At(c);if(Y(s))e.push([i?`${i}
|
|
39
|
+
${s}`:s,s]);else if(s.startsWith("...")&&s.length>3)e.push(["...",s.slice(3).trim()])}function Tt(e){let c=e.trim();if(c.startsWith("get ")&&c.length>4){let i=c.slice(4).trim();if(i)return{kind:"get",name:i}}if(c.startsWith("set ")&&c.length>4){let i=c.slice(4).trim();if(i)return{kind:"set",name:i}}return null}function ue(e,c,i){let s=i.trim();if(s.charCodeAt(0)!==40)return null;let r=o(s,0,"(",")");if(r===-1)return null;let l=s.slice(1,r).trim(),f=s.slice(r+1).trimStart();if(!f.startsWith("=>"))return null;let u=f.slice(2).trim();if(e==="get")return`get ${c}(): ${u||"unknown"}`;return`set ${c}(${l})`}function he(e,c){let i=c.trim(),s=o(i,0,"(",")");if(!i.startsWith("(")||s===-1)return"unknown";if(e==="get"){let u=i.slice(s+1).trim();return u.startsWith("=>")?u.slice(2).trim():"unknown"}let r=i.slice(1,s).trim(),l=r.startsWith("{")?o(r,0,"{","}"):r.startsWith("[")?o(r,0,"[","]"):0,f=r.indexOf(":",Math.max(0,l));return f===-1?"unknown":r.slice(f+1).trim()}function de(e){let c=e;if(c.startsWith("async ")||c.startsWith("async\t"))c=c.slice(5).trimStart();if(c.startsWith("*"))c=c.slice(1).trimStart();if(!c.startsWith("("))return!1;let i=0;for(let s=0;s<c.length;s++){let r=c.charCodeAt(s);if(r===40)i++;else if(r===41){if(i--,i===0){let l=c.slice(s+1).trimStart();if(l.startsWith("{"))return!0;if(l.startsWith(":")){let f=yt(l,1);if(f?.kind==="arrow")return!1;if(f?.kind==="body")return!0}return!1}}}return!1}function ge(e){let c=e.trimEnd();if(!c.endsWith(">"))return null;let i=0,s=-1;for(let l=c.length-1;l>=0;l--){let f=c.charCodeAt(l);if(f===62){if(l>0&&c.charCodeAt(l-1)===61)continue;i++}else if(f===60){if(i--,i===0){s=l;break}}}if(s===-1)return null;let r=c.slice(0,s).trimEnd();if(!r)return null;return{name:r,typeParams:c.slice(s)}}function St(e,c){let i=c.trimStart(),s=!1,r=!1;if(i.startsWith("async ")||i.startsWith("async\t"))s=!0,i=i.slice(5).trimStart();if(i.startsWith("*"))r=!0,i=i.slice(1).trimStart();let l="";if(i.charCodeAt(0)===60){let y=0,p=-1;for(let d=0;d<i.length;d++)if(i.charCodeAt(d)===60)y++;else if(i.charCodeAt(d)===62&&!(d>0&&i.charCodeAt(d-1)===61)){if(y--,y===0){p=d;break}}if(p!==-1)l=i.slice(0,p+1),i=i.slice(p+1).trimStart()}let f=i.indexOf("("),u=o(i,f,"(",")");if(f===-1||u===-1)return"() => unknown";let a=i.slice(f,u+1),h="unknown",A=i.slice(u+1).trimStart();if(A.charCodeAt(0)===58){let y=A.slice(1),p=yt(y,0);if(p)h=y.slice(0,p.index).trim();else h=y.trim()}if(h==="unknown"&&!r&&A.charCodeAt(0)===123){let y=o(A,0,"{","}");if(y!==-1){let p=B(A.slice(1,y),s,a);if(p!=="unknown"&&p!=="Promise<unknown>")h=s&&p.startsWith("Promise<")?p.slice(8,-1):p;else if(s)h="Promise<unknown>"}}if(h==="unknown"){if(s&&r)h="AsyncGenerator<unknown, void, unknown>";else if(r)h="Generator<unknown, void, unknown>";else if(s)h="Promise<void>"}else if(s&&!h.startsWith("Promise<")&&!h.startsWith("AsyncGenerator<"))h=`Promise<${h}>`;let b=ye(a);return`${l}${b} => ${h}`}function yt(e,c){let i=0,s=0,r=0,l=0,f=!1,u=0;for(let a=c;a<e.length;a++){let h=e.charCodeAt(a);if(f){if(h===92)a++;else if(h===u)f=!1;continue}if(h===34||h===39||h===96){f=!0,u=h;continue}if(h===40)i++;else if(h===41&&i>0)i--;else if(h===91)s++;else if(h===93&&s>0)s--;else if(h===60)r++;else if(h===62&&r>0&&e.charCodeAt(a-1)!==61)r--;else if(h===125&&l>0)l--;else if(h===123){let A=i>0||s>0||r>0||l>0,b=e.slice(c,a).trimEnd(),y=b.charCodeAt(b.length-1),p=b.length===0||y===38||y===124||y===40||y===44||y===58||y===61||y===91;if(A||p)l++;else return{index:a,kind:"body"}}else if(h===61&&a+1<e.length&&e.charCodeAt(a+1)===62&&i===0&&s===0&&r===0&&l===0)return{index:a,kind:"arrow"}}return null}function o(e,c,i,s){let r=0;for(let l=c;l<e.length;l++)if(e[l]===i)r++;else if(e[l]===s){if(s===">"&&l>0&&e[l-1]==="=")continue;if(r--,r===0)return l}return-1}function J(e){let c=0,i=0,s=!1,r="";for(let l=0;l<e.length-1;l++){let f=e[l],u=e[l+1],a=l>0?e[l-1]:"";if(!s&&(f==='"'||f==="'"||f==="`"))s=!0,r=f;else if(s&&f===r&&a!=="\\")s=!1;if(!s){if(f==="<"){let h=o(e,l,"<",">");if(h!==-1){l=h;continue}}if(f==="(")c++;else if(f===")")c--;else if(f==="[")i++;else if(f==="]")i--;if(f==="="&&u===">"&&c===0&&i===0)return l}}return-1}function pt(e,c=!1,i=0,s=!0){let r=e.trim();if(r.length>200&&ut(r,"=>")>2&&ut(r,"<")>5&&!r.startsWith("function"))return c?"((...args: any[]) => any)":"(...args: any[]) => any";if(r.startsWith("async ")&&r.includes("=>")){let f=r.slice(5).trim(),u=J(f);if(u===-1)return c?"(() => Promise<unknown>)":"() => Promise<unknown>";let a=f.substring(0,u).trim(),h=f.substring(u+2).trim(),A=Ct(a),{params:b,returnType:y}=A;if(b=ye(b),b==="()"||b==="")b="()";else if(!b.startsWith("("))b=`(${b})`;let p=y;if(p);else if(h.startsWith("{"))p=B(h.slice(1,h.endsWith("}")?-1:void 0),!0,A.params);else p=D(h,gt(A.params));let d=`${b} => ${y||p.startsWith("Promise<")?p:`Promise<${p}>`}`;return c?`(${d})`:d}if(r.includes("=>")){let f="",u=r;if(r.startsWith("<")){let C=o(r,0,"<",">");if(C!==-1)f=r.substring(0,C+1),u=r.substring(C+1).trim()}let a=J(u);if(a===-1)return c?"(() => unknown)":"() => unknown";let h=u.substring(0,a).trim(),A=u.substring(a+2).trim(),b=Ct(h),{params:y,returnType:p}=b;if(y=ye(y),y==="()"||y==="")y="()";else if(!y.startsWith("("))y=`(${y})`;let d="unknown";if(p)d=p;else if(A.startsWith("{"))d=B(A.slice(1,A.endsWith("}")?-1:void 0),!1,b.params);else if(rt(A)||at(A)&&rt(A.slice(1,-1).trim()))d="JSX.Element";else if(A.includes("=>")){let C=A.trimStart(),k=C.indexOf("("),w=k!==-1?o(C,k,"(",")"):-1,x=w!==-1?C.indexOf("=>",w):-1;if(k===0&&w!==-1&&x!==-1){let T=C.substring(k+1,w).trim(),O=ye(T);if(f.includes("T")&&O.includes("T"))d=`(${O}) => T`;else d=`(${O}) => any`}else d="any"}else d=D(A,gt(b.params));let m=`${f}${y} => ${d}`;return c?`(${m})`:m}if(r.startsWith("function")){let f=8,u=r.length;while(f<u&&r.charCodeAt(f)<=32)f++;let a=!1;if(f<u&&r.charCodeAt(f)===42){a=!0,f++;while(f<u&&r.charCodeAt(f)<=32)f++}let h="";if(f<u&&r.charCodeAt(f)===60){let y=f,p=1;f++;while(f<u&&p>0){let d=r.charCodeAt(f);if(d===60)p++;else if(d===62&&r.charCodeAt(f-1)!==61)p--;f++}h=r.substring(y,f);while(f<u&&r.charCodeAt(f)<=32)f++}let A=r.indexOf("(",f);if(A!==-1){let y=1,p=A+1;while(p<u&&y>0){let x=r.charCodeAt(p);if(x===40)y++;else if(x===41)y--;p++}let d=r.substring(A+1,p-1).trim(),m=d?ye(`(${d})`):"()";if(a){let x=r.substring(p).trim(),T=x.indexOf("Generator<");if(T!==-1){let P=T+10,N=x.indexOf(">",P);if(N!==-1){let F=x.substring(P,N),K=`${h}${m} => Generator<${F}>`;return c?`(${K})`:K}}let O=`${h}${m} => Generator<any, any, any>`;return c?`(${O})`:O}let C="unknown",k=r.substring(p).trimStart();if(k.charCodeAt(0)===58){let x=k.slice(1),T=yt(x,0),O=(T?x.slice(0,T.index):x).trim();if(O)C=O}let w=`${h}${m} => ${C}`;return c?`(${w})`:w}let b="(...args: any[]) => unknown";return c?`(${b})`:b}if(r.includes("=>")&&r.includes("(")&&r.includes(")")){if(r.length>100||ut(r,"=>")>2){let f="";if(r.charCodeAt(0)===60){let b=o(r,0,"<",">");if(b!==-1)f=r.substring(0,b+1)}let u=r.indexOf("("),a=u!==-1?o(r,u,"(",")"):-1,h=u!==-1&&a!==-1?r.substring(u,a+1):"(...args: any[])";h=ye(h);let A=`${f}${h} => any`;return c?`(${A})`:A}return c?`(${r})`:r}let l="() => unknown";return c?`(${l})`:l}function Ct(e){let c=e.trim();if(!c.startsWith("("))return{params:c,returnType:""};let i=o(c,0,"(",")");if(i===-1)return{params:c,returnType:""};let s=c.slice(i+1).trim();return{params:c.slice(0,i+1),returnType:s.startsWith(":")?s.slice(1).trim():""}}function We(e){let c=e.trim();if(c==="any"||c==="object"||c==="unknown")return!0;if(c.startsWith("Record<")&&c.endsWith(">"))return!0;if(c.startsWith("Array<")&&c.endsWith(">"))return!0;if(/^\{\s*\[[^\]]*\]:\s*(any|string|number|unknown)\s*\}$/.test(c))return!0;return!1}function z(e){let c=-1,i=0;for(let r=0;r<e.length;r++){let l=e.charCodeAt(r);if(l===34||l===39||l===96){r=q(e,r,l)-1;continue}if(l===47&&e.charCodeAt(r+1)===47){while(r<e.length&&e.charCodeAt(r)!==10)r++;continue}if(l===47&&e.charCodeAt(r+1)===42){let f=e.indexOf("*/",r+2);r=f===-1?e.length:f+1;continue}if(l===47){let f=r-1;while(f>=0&&e.charCodeAt(f)<=32)f--;if(f<0||"([{:;,=!?&|+*-~>".includes(e[f])){let u=!1;for(r++;r<e.length;r++){let a=e.charCodeAt(r);if(a===92)r++;else if(a===91)u=!0;else if(a===93)u=!1;else if(a===47&&!u)break}continue}}if(l===40||l===91||l===123)i++;else if(l===41||l===93||l===125)i--;else if(i===0&&e.startsWith("satisfies",r)&&et(e,r,9)&&e[r-1]!==".")c=r}if(c===-1)return null;let s=e.slice(c+9).trim();if(s.endsWith(";"))s=s.slice(0,-1).trim();return s||null}function Ga(e){let c=e.trim(),i=c.match(/^\{\s*\[(\w+)\s+in\s+(.+?)\](\?)?\s*:\s*(.+)\s*\}$/);if(i){let[,l,f,u,a]=i;return`{ [${l} in ${f}]${u?"?":""}: ${a} }`}let s=c.match(/^\{\s*readonly\s+\[(\w+)\s+in\s+(.+?)\](\?)?\s*:\s*(.+)\s*\}$/);if(s){let[,l,f,u,a]=s;return`{ readonly [${l} in ${f}]${u?"?":""}: ${a} }`}let r=c.match(/^\{\s*(-?readonly\s+)?\[(\w+)\s+in\s+(.+?)\](-?\?)?\s*:\s*(.+)\s*\}$/);if(r){let[,l,f,u,a,h]=r;return`{ ${l?`${l.trim()} `:""}[${f} in ${u}]${a||""}: ${h} }`}return null}function Va(e){let c=e.trim(),i=c.indexOf(" extends ");if(i===-1)return null;let s=c.slice(i+9),r=me(s);if(r===-1)return null;let l=pe(s,r);if(l===-1)return null;let f=c.slice(0,i).trim(),u=s.slice(0,r).trim(),a=s.slice(r+1,l).trim(),h=s.slice(l+1).trim();return`${f} extends ${u} ? ${a} : ${h}`}function me(e){let c=0,i=!1,s="";for(let r=0;r<e.length;r++){let l=e[r],f=r>0?e[r-1]:"";if(!i&&(l==='"'||l==="'"||l==="`"))i=!0,s=l;else if(i&&l===s&&f!=="\\")i=!1;if(!i){if(l==="<"||l==="("||l==="["||l==="{")c++;if(l===">"||l===")"||l==="]"||l==="}")c--;if(l==="?"&&c===0)return r}}return-1}function pe(e,c){let i=0,s=!1,r="";for(let l=c+1;l<e.length;l++){let f=e[l],u=l>0?e[l-1]:"";if(!s&&(f==='"'||f==="'"||f==="`"))s=!0,r=f;else if(s&&f===r&&u!=="\\")s=!1;if(!s){if(f==="<"||f==="("||f==="["||f==="{")i++;if(f===">"||f===")"||f==="]"||f==="}")i--;if(f==="?"&&i===0)i++;if(f===":"&&i===0)return l;if(f===":"&&i>0)i--}}return-1}function Ua(e){let c=e.trim();if(!c.startsWith("`")||!c.endsWith("`"))return null;let i=c.slice(1,-1);if(!i.includes("${"))return c;let s=[],r="",l=0;while(l<i.length)if(i[l]==="$"&&i[l+1]==="{"){if(r)s.push(`"${r}"`),r="";let f=1,u="";l+=2;while(l<i.length&&f>0){if(i[l]==="{")f++;if(i[l]==="}")f--;if(f>0)u+=i[l];l++}s.push(u.trim())}else r+=i[l],l++;if(r)s.push(`"${r}"`);return c}function za(e){let c=[],i=/infer\s+(\w+)/g,s;while((s=i.exec(e))!==null)c.push(s[1]);return c}function Ha(e){let i=e.trim(),s=i.indexOf("[");if(s!==-1){if(i.indexOf(" in ",s)!==-1)return!0}let r=i.indexOf(" extends ");if(r!==-1){let f=i.indexOf(" ? ",r);if(f!==-1&&i.indexOf(" : ",f)!==-1)return!0}if(i.charCodeAt(0)===96&&i.charCodeAt(i.length-1)===96){if(i.indexOf("${")!==-1)return!0}let l=i.indexOf("infer ");if(l!==-1){if(l===0||!_(i.charCodeAt(l-1)))return!0}return!1}function Ka(e,c=3){let i=e.trim(),s=0,r=0;for(let l of i){if(l==="<"||l==="("||l==="["||l==="{")s++,r=Math.max(r,s);if(l===">"||l===")"||l==="]"||l==="}")s--}if(r>c){let l=i.match(/^(\w+)</);if(l)return`${l[1]}<any>`;return"unknown"}return i}function qa(e){let i=e.trim().match(/^(\w+)<(.+)>$/);if(!i)return null;let s=i[1],r=i[2],l=Sa(r);if(["Partial","Required","Readonly","Pick","Omit","Record","Exclude","Extract","NonNullable","ReturnType","Parameters","ConstructorParameters","InstanceType","ThisParameterType","OmitThisParameter","ThisType","Uppercase","Lowercase","Capitalize","Uncapitalize","Awaited","NoInfer"].includes(s))return{name:s,params:l};return null}function Sa(e){let c=[],i="",s=0,r=!1,l="";for(let f=0;f<e.length;f++){let u=e[f],a=f>0?e[f-1]:"";if(!r&&(u==='"'||u==="'"||u==="`"))r=!0,l=u;else if(r&&u===l&&a!=="\\")r=!1;if(!r){if(u==="<"||u==="("||u==="["||u==="{")s++;if(u===">"||u===")"||u==="]"||u==="}")s--;if(u===","&&s===0){c.push(i.trim()),i="";continue}}i+=u}if(i.trim())c.push(i.trim());return c}function Ja(e){let c=e.trim();if(c.startsWith("keyof "))return c;return null}function Ya(e){let c=e.trim();if(c.startsWith("typeof "))return c;return null}function Xa(e){let c=e.trim();if(c.length===0||c.charCodeAt(0)===91)return!1;if(c.charCodeAt(c.length-1)!==93)return!1;let i=c.indexOf("[");if(i<=0)return!1;for(let s=0;s<i;s++){let r=c.charCodeAt(s);if(!_(r)&&r!==46)return!1}return!0}
|
|
40
|
+
export{Vt,Ut,n,zt,B,va,W,Be,Z,nr,Ht,dt,U,ye,o,pt,We,z,Ga,Va,Ua,za,Ha,Ka,qa,Sa,Ja,Ya,Xa};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{se}from"./chunk-8c5dzvwk.js";function vi(n,r,e,t={}){return{kind:n,name:r,text:e,isExported:t.isExported??!1,...t}}function Si(n){if(typeof structuredClone==="function")return structuredClone(n);return JSON.parse(JSON.stringify(n))}function In(n,r,e=null){for(let t of n){r.enter?.(t,e);let o=r[t.kind];if(o)o(t,e);if(t.members&&t.members.length>0)In(t.members,r,t);r.leave?.(t,e)}}function No(n,r){let e=[];return In(n,{enter:(t)=>{if(r(t))e.push(t)}}),e}async function $i(n,r,e){let t=[],o=n.length;for(let a=0;a<n.length;a++){let i=n[a],s={...e,index:a,total:o,allDeclarations:n},l=await r(i,s);if(l===null)continue;else if(l===void 0)t.push(i);else if(Array.isArray(l))t.push(...l);else t.push(l)}return t}function Fo(...n){return async(r,e)=>{let t=r;for(let o of n){if(t===null)return null;if(Array.isArray(t)){let a=[];for(let i of t){let s=await o(i,e);if(s===null)continue;if(s===void 0)a.push(i);else if(Array.isArray(s))a.push(...s);else a.push(s)}t=a.length>0?a:null}else{let a=await o(t,e);if(a===null)t=null;else if(a===void 0);else t=a}}return t}}function Te(n,r){let e=new Set(Array.isArray(n)?n:[n]);return async(t,o)=>{if(e.has(t.kind))return r(t,o);return}}function Bo(n,r){return async(e,t)=>{if(n(e))return r(e,t);return}}function it(n){let r={createDeclaration:vi,cloneDeclaration:Si,modifyText:(e,t)=>({...e,text:t}),addModifier:(e,t)=>({...e,modifiers:[...e.modifiers||[],t]}),removeModifier:(e,t)=>({...e,modifiers:(e.modifiers||[]).filter((o)=>o!==t)})};return se({name:n.name,version:n.version,description:n.description,onBeforeFile:n.beforeParse?async(e)=>n.beforeParse(e.content,{filePath:e.filePath,phase:"before"}):void 0,onDeclarations:n.transform?async(e)=>$i(e.declarations,n.transform,{filePath:e.filePath,sourceCode:e.sourceCode,...r}):void 0,onAfterFile:n.afterGenerate?async(e)=>n.afterGenerate(e.content,{filePath:e.filePath,phase:"after"}):void 0})}function Wo(n,r){let e=typeof n==="string"?new RegExp(n):n;return(t)=>{if(e.test(t.name)){let o=typeof r==="function"?r(t.name,t):t.name.replace(e,r),a=t.text.replace(new RegExp(`\\b${f(t.name)}\\b`),o);return{...t,name:o,text:a}}return}}function Ei(n,r){return(e)=>{if(e.kind==="import")return;if(r&&!r(e))return;let t=`${n}${e.name}`,o=e.text.replace(new RegExp(`\\b${f(e.name)}\\b`),t);return{...e,name:t,text:o}}}function _o(n,r){return(e)=>{if(e.kind==="import")return;if(r&&!r(e))return;let t=`${e.name}${n}`,o=e.text.replace(new RegExp(`\\b${f(e.name)}\\b`),t);return{...e,name:t,text:o}}}function ki(n){let r=typeof n==="function"?n:(e)=>(typeof n==="string"?new RegExp(n):n).test(e.name);return(e)=>{if(r(e))return null;return}}function jo(n){return(r)=>{let e=n(r);if(!e)return;let o=(Array.isArray(e)?e:[e]).map((a)=>{if(a.startsWith("/**"))return a;if(a.startsWith("/*"))return a;return`/** ${a} */`});return{...r,leadingComments:[...r.leadingComments||[],...o]}}}function Go(n){return(r)=>{if(!r.typeAnnotation)return;let e=n(r.typeAnnotation,r);if(e===null)return null;if(e===void 0)return;let t=r.text.replace(new RegExp(`:[ ]*${f(r.typeAnnotation)}`),`: ${e}`);return{...r,typeAnnotation:e,text:t}}}function Vo(n){return Te("function",(r)=>{if(!r.returnType)return;let e=n(r.returnType,r);if(e===null)return null;if(e===void 0)return;let t=r.text.replace(new RegExp(`\\):[ ]*${f(r.returnType)}`),`): ${e}`);return{...r,returnType:e,text:t}})}function Uo(n){return Te(["function","class"],(r)=>{if(!r.parameters)return;let e=n(r.parameters,r);if(e===null)return null;if(e===void 0)return;let t=e.map((a)=>{let i="";if(a.rest)i+="...";if(i+=a.name,a.optional)i+="?";if(a.type)i+=`: ${a.type}`;if(a.defaultValue)i+=` = ${a.defaultValue}`;return i}).join(", "),o=r.text.replace(/\([^)]*\)/,`(${t})`);return{...r,parameters:e,text:o}})}function Ti(n,r){return(e)=>{if(r&&!r(e))return;if(e.modifiers?.includes(n))return;let t=[...e.modifiers||[],n],o=e.text;if(!o.includes(n)){let a=["function","class","interface","type","enum","const","let","var"];for(let i of a){let s=o.indexOf(i);if(s>=0){o=`${o.slice(0,s)}${n} ${o.slice(s)}`;break}}}return{...e,modifiers:t,text:o}}}var Ai=Te(["interface","type"],(n)=>{let r=n.text.replace(/(\n\s*)(\w+)(\??:\s)/g,"$1readonly $2$3");if(r===n.text)return;return{...n,text:r}}),zo=Te(["interface","type"],(n)=>{let r=n.text.replace(/(\w+)\?:/g,"$1:");if(r===n.text)return;return{...n,text:r}}),Ho=Te(["interface","type"],(n)=>{let r=n.text.replace(/(\w+)(?<!\?):/g,"$1?:");if(r===n.text)return;return{...n,text:r}});function Ko(n){let r=new RegExp(`@(${n.join("|")})\\b[^@]*`,"g");return(e)=>{if(!e.leadingComments?.length)return;let t=e.leadingComments.map((a)=>a.replace(r,"").replace(/\n\s*\*\s*\n/g,`
|
|
3
|
+
`));if(!t.some((a,i)=>a!==e.leadingComments[i]))return;return{...e,leadingComments:t}}}function qo(n,r){return(e)=>{if(r&&!r(e))return;if(!e.typeAnnotation)return;let t=`${n}<${e.typeAnnotation}>`,o=e.text.replace(e.typeAnnotation,t);return{...e,typeAnnotation:t,text:o}}}var Jo=it({name:"readonly",version:"1.0.0",description:"Makes all interface properties readonly",transform:Ai}),Yo=it({name:"strip-private",version:"1.0.0",description:"Strips @internal, @private, and @hidden declarations",transform:ki((n)=>{if(!n.leadingComments)return!1;return n.leadingComments.some((r)=>/@(internal|private|hidden)\b/.test(r))})}),Xo=it({name:"declare",version:"1.0.0",description:"Adds declare keyword to all declarations",transform:Ti("declare",(n)=>n.kind!=="import")});function Zo(n){return it({name:`namespace-prefix-${n}`,version:"1.0.0",description:`Prefixes exported declarations with ${n}`,transform:Ei(`${n}_`,(r)=>r.isExported&&r.kind!=="import")})}function f(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}
|
|
4
|
+
export{vi,Si,In,No,$i,Fo,Te,Bo,it,Wo,Ei,_o,ki,jo,Go,Vo,Uo,Ti,Ai,zo,Ho,Ko,qo,Jo,Yo,Xo,Zo};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{Ve}from"./chunk-m29ph3cg.js";import{P}from"./chunk-zmnb3yg1.js";import{w}from"./chunk-y9bxeq10.js";function On(i,r){let n=new Set;for(let e of P(i,"imports.ts",!1)){if(e.kind!=="import")continue;let t=w(e.text),a=t&&r.get(t.source);if(!t||t.isTypeOnly||!a)continue;let s=rt(a);for(let o of t.namedItems)if(!o.isTypeOnly&&s.some((m)=>m.name===o.originalName))n.add(o.name);if(t.defaultName&&s.some((o)=>o.isDefault))n.add(t.defaultName)}return n}function rt(i){let r=P(i,"dependency.ts",!1).filter((n)=>n.kind==="function");return r.filter((n)=>n.isExported&&!n.generics&&r.filter((e)=>e.name===n.name).length===1&&Ve(i,n.name)===1).map((n)=>({name:n.name,isDefault:Boolean(n.isDefault)})).sort((n,e)=>n.name.localeCompare(e.name))}
|
|
3
|
+
export{On,rt};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{s}from"./chunk-
|
|
3
|
-
export{
|
|
2
|
+
import{s}from"./chunk-fkdq1x5f.js";function ve(d={}){let{onBuildStart:u=!1,onBuildEnd:f=!0,onGenerated:l,onError:i,...c}=d,o,r,e=async()=>{let t={...c};if(!t.outdir&&o)t.outdir=o;if(!t.entrypoints&&r)t.entrypoints=r;try{let n=await s(t);l?.(n)}catch(n){let a=n instanceof Error?n:Error(String(n));if(i?.(a),!i)console.error("[dtsx] Generation failed:",a.message)}};return{name:"dtsx",esbuildOptions(t){if(t.outdir&&typeof t.outdir==="string")o=t.outdir;if(t.entryPoints){if(Array.isArray(t.entryPoints))r=t.entryPoints;else if(typeof t.entryPoints==="object")r=Object.values(t.entryPoints)}},async buildStart(){if(u)await e()},async buildEnd(t){if(f)await e()}}}var Ia=ve,fr=ve,La=ve;
|
|
3
|
+
export{ve,Ia,fr,La};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{t,v,Ue,h}from"./chunk-j51p30sb.js";import{Yn,Xn}from"./chunk-t88j01sz.js";function q(n){return h(n).find((e)=>e.category==="static-import")}function C(n){return t(n).map((e)=>n.slice(e.start,e.end)).join(" ")}function S(n){let e=q(n);return e?n.lastIndexOf(" from ",e.start):-1}function Fe(n){let e=q(n);return e?v(e.specifier,"'"):void 0}function Jn(n){let e=w(n);if(!e)return null;return{defaultName:e.defaultName??e.namespaceName,namedItems:e.namedItems.map((r)=>`${!e.isTypeOnly&&r.isTypeOnly?"type ":""}${r.originalName===r.name?r.name:`${r.originalName} as ${r.name}`}`),source:e.source,isTypeOnly:e.isTypeOnly,isNamespace:e.isNamespace,namespaceName:e.namespaceName,isImportEquals:e.isImportEquals}}function x(n){let e=Yn(n);if(e)return e;let r=w(n),u=r?[r.defaultName,r.namespaceName,...r.namedItems.map((a)=>a.name)].filter((a)=>a!==null):[];return Xn(n,u),u}function W(n){let e=[],r=0;for(let a of t(n)){if(a.kind!=="punctuation"||n.slice(a.start,a.end)!==",")continue;let s=n.slice(r,a.start).trim();if(s)e.push(s);r=a.end}let u=n.slice(r).trim();if(u)e.push(u);return e}function w(n){n=C(n);let e=Ue(n);if(e)return{defaultName:e.name,namedItems:[],source:e.source,isTypeOnly:e.isTypeOnly,isNamespace:!1,namespaceName:null,isImportEquals:!0};let r=S(n);if(r===-1)return null;let u=q(n);if(!u)return null;let a=u.specifier,s=n.slice(0,r).trim(),p=u.isTypeOnly;if(s.startsWith("import "))s=s.slice(7).trim();if(p&&s.startsWith("type "))s=s.slice(5).trim();let f=null,o=[],i=!1,m=null,c=s.includes("{")?-1:s.indexOf("* as ");if(c!==-1)return i=!0,m=s.slice(c+5).trim(),f=s.slice(0,c).trim().replace(/,$/,"").trim()||null,{defaultName:f,namedItems:[],source:a,isTypeOnly:p,isNamespace:i,namespaceName:m};let l=s.indexOf("{"),d=s.lastIndexOf("}");if(l!==-1&&d!==-1){let g=s.slice(0,l).trim();if(g.endsWith(","))f=g.slice(0,-1).trim()||null;let I=s.slice(l+1,d),D=W(I);for(let N of D){let T=Oi(N),y=T?N.slice(5).trim():N,O=y.lastIndexOf(" as "),b,E;if(O!==-1)E=y.slice(0,O).trim(),b=y.slice(O+4).trim();else b=y,E=y;o.push({name:b,originalName:E,isTypeOnly:p||T,isDefault:!1})}}else f=s.trim()||null;return{defaultName:f,namedItems:o,source:a,isTypeOnly:p,isNamespace:i,namespaceName:m}}function Ba(n){let e=n.trim();if(e.startsWith("export default "))return{namedItems:[],source:null,isTypeOnly:!1,isNamespace:!1,isDefault:!0};let r=e.startsWith("export type ");if(e.startsWith("export "))e=e.slice(7).trim();if(r&&e.startsWith("type "))e=e.slice(5).trim();if(e.startsWith("* from ")||e.startsWith("* as ")){let m=e.indexOf(" from "),c=null;if(m!==-1){let l=e.slice(m+6).trim(),d=l[0];if(d==='"'||d==="'"){let g=l.indexOf(d,1);if(g!==-1)c=l.slice(1,g)}}return{namedItems:[],source:c,isTypeOnly:r,isNamespace:!0,isDefault:!1}}let u=e.indexOf("{"),a=e.lastIndexOf("}");if(u===-1||a===-1)return null;let s=null,p=e.indexOf(" from ",a);if(p!==-1){let m=e.slice(p+6).trim(),c=m[0];if(c==='"'||c==="'"){let l=m.indexOf(c,1);if(l!==-1)s=m.slice(1,l)}}let f=[],o=e.slice(u+1,a),i=[];{let m=0;for(let c=0;c<=o.length;c++)if(c===o.length||o.charCodeAt(c)===44){let l=m,d=c;while(l<d&&o.charCodeAt(l)<=32)l++;while(d>l&&o.charCodeAt(d-1)<=32)d--;if(l<d)i.push(o.slice(l,d));m=c+1}}for(let m of i){let c=Oi(m),l=c?m.slice(5).trim():m,d=l.lastIndexOf(" as "),g,I;if(d!==-1)I=l.slice(0,d).trim(),g=l.slice(d+4).trim();else g=l,I=l;f.push({name:g,originalName:I,isTypeOnly:r||c,isDefault:!1})}return{namedItems:f,source:s,isTypeOnly:r,isNamespace:!1,isDefault:!1}}function Oi(n){let e=t(n),r=e[0];if(!r||r.kind!=="word"||n.slice(r.start,r.end)!=="type"||e.length<2)return!1;return!(e.length===3&&n.slice(e[1].start,e[1].end)==="as")}function Wa(n){let e=w(n);if(!e||e.isTypeOnly||e.isImportEquals)return n;if(e.namedItems.every((r)=>r.isTypeOnly))return n.replace(/^import\s+/,"import type ");return n}function _a(n){let e=new Map,r=[];for(let a of n){let s=w(a);if(!s)continue;if(s.isImportEquals||s.isNamespace){r.push(a);continue}let p=Fe(a);if(!p)throw Error("Cannot locate a grammatical module literal in the import declaration");let f=e.get(s.source)||{types:[],values:[],defaultName:null,sourceLiteral:p};if(s.defaultName)f.defaultName=s.defaultName;for(let o of s.namedItems)if(o.isTypeOnly)f.types.push(o);else f.values.push(o);e.set(s.source,f)}let u=r;for(let{types:a,values:s,defaultName:p,sourceLiteral:f}of e.values())if(a.length===0&&s.length===0&&p)u.push(`import ${p} from ${f};`);else if(a.length>0&&s.length===0&&!p){let o=a.map((i)=>i.originalName===i.name?i.name:`${i.originalName} as ${i.name}`);u.push(`import type { ${o.join(", ")} } from ${f};`)}else if(s.length>0&&a.length===0&&!p){let o=s.map((i)=>i.originalName===i.name?i.name:`${i.originalName} as ${i.name}`);u.push(`import { ${o.join(", ")} } from ${f};`)}else{let o=[];for(let i of a){let m=i.originalName===i.name?i.name:`${i.originalName} as ${i.name}`;o.push(`type ${m}`)}for(let i of s){let m=i.originalName===i.name?i.name:`${i.originalName} as ${i.name}`;o.push(m)}if(p)u.push(`import ${p}, { ${o.join(", ")} } from ${f};`);else u.push(`import { ${o.join(", ")} } from ${f};`)}return u}
|
|
3
|
+
export{Fe,Jn,x,w,Ba,Oi,Wa,_a};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
function
|
|
2
|
+
function Ni(m,b={}){let{mergeInterfaces:c=!0,mergeNamespaces:e=!0,mergeTypes:n=!1,mergeEnums:l=!0,deduplicateIdentical:g=!0,conflictStrategy:d="last",preserveAllComments:h=!0}=b,u=[],r=0,f=new Map,o=[];for(let i of m){let a=`${i.kind}:${i.name}`,s=f.get(a);if(!s)s=[],f.set(a,s),o.push(a);s.push(i)}let t=[];for(let i of o){let a=f.get(i),s=a[0];if(a.length===1){t.push(s);continue}if(!(s.kind==="interface"&&c||s.kind==="module"&&e||s.kind==="type"&&n||s.kind==="enum"&&l)){t.push(...a);continue}let p=a;if(g)p=y(a);if(p.length===1){t.push(p[0]);continue}let x;switch(s.kind){case"interface":x=k(p,d,h);break;case"module":x=w(p,d,h);break;case"enum":x=M(p,d,h);break;case"type":x=A(p,d,h);break;default:x=p[0]}t.push(x),r+=p.length-1,u.push({name:s.name,kind:s.kind,sourceCount:p.length,memberCount:x.members?.length||0})}return{declarations:t,mergedCount:r,merges:u}}function y(m){let b=new Map;for(let c of m){let e=D(c.text);if(!b.has(e))b.set(e,c);else{let n=b.get(e);if((c.leadingComments?.length||0)>(n.leadingComments?.length||0))b.set(e,c)}}return Array.from(b.values())}function D(m){return m.replace(/\s+/g," ").replace(/;\s*/g,";").trim()}function k(m,b,c){let e=m[0],n=new Map,l=[],g=c?new Set:null;for(let a of m){if(c&&a.leadingComments&&g){for(let s of a.leadingComments)if(!g.has(s))g.add(s),l.push(s)}if(a.members)for(let s of a.members)if(!n.get(s.name))n.set(s.name,s);else switch(b){case"first":break;case"last":n.set(s.name,s);break;case"error":throw Error(`Conflicting member '${s.name}' in interface '${e.name}'`)}}let d=Array.from(n.values()),h=d.map((a)=>` ${a.text}`).join(`
|
|
3
3
|
`),u=e.generics||"",r=e.extends||"",f=new Set;for(let a of m)if(a.extends){let s=a.extends.split(",");for(let C of s){let p=C.trim();if(p)f.add(p)}}if(f.size>0)r=`extends ${Array.from(f).join(", ")}`;let o=e.isExported?"export ":"",t=e.modifiers?.includes("declare")?"declare ":"",i=`${o}${t}interface ${e.name}${u} ${r} {
|
|
4
4
|
${h}
|
|
5
5
|
}`;return{...e,members:d,leadingComments:l.length>0?l:e.leadingComments,text:i.replace(/\s+\{/," {").replace(/\{\s*\n\s*\n/,`{
|
|
@@ -9,10 +9,10 @@ ${h}
|
|
|
9
9
|
}`;return{...e,members:d,leadingComments:l.length>0?l:e.leadingComments,text:f}}function M(m,b,c){let e=m[0],n=new Map,l=[],g=c?new Set:null;for(let t of m){if(c&&t.leadingComments&&g){for(let i of t.leadingComments)if(!g.has(i))g.add(i),l.push(i)}if(t.members)for(let i of t.members)if(!n.get(i.name))n.set(i.name,i);else switch(b){case"first":break;case"last":n.set(i.name,i);break;case"error":throw Error(`Conflicting member '${i.name}' in enum '${e.name}'`)}}let d=Array.from(n.values()),h=d.map((t)=>` ${t.name}${t.value!==void 0?` = ${t.value}`:""}`).join(`,
|
|
10
10
|
`),u=e.isExported?"export ":"",r=e.modifiers?.includes("declare")?"declare ":"",f=e.modifiers?.includes("const")?"const ":"",o=`${u}${r}${f}enum ${e.name} {
|
|
11
11
|
${h}
|
|
12
|
-
}`;return{...e,members:d,leadingComments:l.length>0?l:e.leadingComments,text:o}}function A(m,b,c){let e=m[0],n=[],l=c?new Set:null,g=[],d=new Set;for(let o of m){if(c&&o.leadingComments&&l){for(let t of o.leadingComments)if(!l.has(t))l.add(t),n.push(t)}if(o.typeAnnotation&&!d.has(o.typeAnnotation))d.add(o.typeAnnotation),g.push(o.typeAnnotation)}if(g.length<=1)return{...e,leadingComments:n.length>0?n:e.leadingComments};let h=g.join(" | "),u=e.isExported?"export ":"",r=e.generics||"",f=`${u}type ${e.name}${r} = ${h}`;return{...e,typeAnnotation:h,leadingComments:n.length>0?n:e.leadingComments,text:f}}function
|
|
12
|
+
}`;return{...e,members:d,leadingComments:l.length>0?l:e.leadingComments,text:o}}function A(m,b,c){let e=m[0],n=[],l=c?new Set:null,g=[],d=new Set;for(let o of m){if(c&&o.leadingComments&&l){for(let t of o.leadingComments)if(!l.has(t))l.add(t),n.push(t)}if(o.typeAnnotation&&!d.has(o.typeAnnotation))d.add(o.typeAnnotation),g.push(o.typeAnnotation)}if(g.length<=1)return{...e,leadingComments:n.length>0?n:e.leadingComments};let h=g.join(" | "),u=e.isExported?"export ":"",r=e.generics||"",f=`${u}type ${e.name}${r} = ${h}`;return{...e,typeAnnotation:h,leadingComments:n.length>0?n:e.leadingComments,text:f}}function Fi(m,b={}){let c=m.split(`
|
|
13
13
|
`),e=new Map,n=null,l=0;for(let u=0;u<c.length;u++){let r=c[u],f=r.match(/^(export\s+)?(declare\s+)?interface\s+(\w+)/);if(f&&!n){n={name:f[3],start:u,lines:[r]},l=(r.match(/\{/g)||[]).length-(r.match(/\}/g)||[]).length;continue}if(n){if(n.lines.push(r),l+=(r.match(/\{/g)||[]).length-(r.match(/\}/g)||[]).length,l<=0){let o=e.get(n.name)||[];o.push({start:n.start,end:u,content:n.lines}),e.set(n.name,o),n=null,l=0}}}let g=Array.from(e.entries()).filter(([,u])=>u.length>1);if(g.length===0)return m;let d=[...c],h=new Set;for(let[u,r]of g){if(r.length<=1)continue;let[f,...o]=r,t=[],i=new Set;for(let C of r)for(let p of C.content){let x=p.trim();if(x.startsWith("interface")||x.startsWith("export")||x==="{"||x==="}")continue;if(x&&!i.has(x))i.add(x),t.push(p)}for(let C of o)for(let p=C.start;p<=C.end;p++)h.add(p);let a=f.content[0],s=[a.endsWith("{")?a:`${a} {`,...t,"}"];for(let C=f.start;C<=f.end;C++)h.add(C);d[f.start]=s.join(`
|
|
14
14
|
`)}return d.filter((u,r)=>!h.has(r)||d[r].includes("interface")).join(`
|
|
15
15
|
`).replace(/\n{3,}/g,`
|
|
16
16
|
|
|
17
17
|
`)}
|
|
18
|
-
export{
|
|
18
|
+
export{Ni,Fi};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{t,d,
|
|
3
|
-
export{
|
|
2
|
+
import{t,d,v}from"./chunk-j51p30sb.js";var S={kind:"symbol"},w=/^(?:0[xX][\da-fA-F_]+|0[bB][01_]+|0[oO][0-7_]+|(?:[\d_]+(?:\.[\d_]*)?|\.[\d_]+)(?:[eE][+-]?[\d_]+)?)/,x={"|":1,"^":2,"&":3,"<<":4,">>":4,">>>":4,"+":5,"-":5,"*":6,"/":6,"%":6,"**":7},M=[">>>","<<",">>","**","+","-","*","/","%","|","^","&"];function C(l,c,o=0){if(o>=64)return;let n=l.trim(),r=t(n);if(!r.length)return;if(r[0].start!==0||r[r.length-1].end!==n.length)return C(n.slice(r[0].start,r[r.length-1].end),c,o+1);if(r.length===1&&r[0].kind==="quoted")return d(n);if(r.length===1&&r[0].kind==="word"){let e=c.get(n);return typeof e==="object"?void 0:e}if(w.exec(n)?.[0].length===n.length){let e=Number(n.replaceAll("_",""));return Number.isFinite(e)?e:void 0}let i=0,a;for(let e=0;e<r.length;e++){let s=r[e],u=n.slice(s.start,s.end);if(s.kind!=="punctuation")continue;if(["(","[","{"].includes(u)){i++;continue}if([")","]","}"].includes(u)){i--;continue}let m=w.exec(n.slice(s.start));if(m){while(r[e+1]?.start<s.start+m[0].length)e++;continue}if(i)continue;let f=M.find((K)=>n.startsWith(K,s.start));if(!f)continue;let p=r[e-1],h=p?n.slice(p.start,p.end):"";if(!(!p||p.kind==="punctuation"&&![")","]"].includes(h)&&!/\d/.test(h))&&(!a||x[f]<a.priority||x[f]===a.priority&&f!=="**"))a={start:s.start,operator:f,priority:x[f]};while(r[e+1]?.start<s.start+f.length)e++}if(a){let e=C(n.slice(0,a.start),c,o+1),s=C(n.slice(a.start+a.operator.length),c,o+1);if(e===void 0||s===void 0)return;if(a.operator==="+"&&(typeof e==="string"||typeof s==="string"))return String(e)+String(s);if(typeof e!=="number"||typeof s!=="number")return;let u;switch(a.operator){case"+":u=e+s;break;case"-":u=e-s;break;case"*":u=e*s;break;case"/":u=e/s;break;case"%":u=e%s;break;case"**":u=e**s;break;case"<<":u=e<<s;break;case">>":u=e>>s;break;case">>>":u=e>>>s;break;case"|":u=e|s;break;case"^":u=e^s;break;case"&":u=e&s;break;default:return}return Number.isFinite(u)?u:void 0}if(n.startsWith("(")&&n.endsWith(")")){let e=0;if(r.every((u,m)=>{let f=n.slice(u.start,u.end);if(f==="(")e++;if(f===")")e--;return e!==0||m===r.length-1}))return C(n.slice(1,-1),c,o+1)}if(["+","-","~"].includes(n[0])){let e=C(n.slice(1),c,o+1);if(typeof e!=="number")return;return n[0]==="-"?-e:n[0]==="~"?~e:e}if(!n.startsWith("`")||!n.endsWith("`"))return;let y="",b=1;for(let e=1;e<n.length-1;e++){if(n[e]==="\\"){e++;continue}if(n[e]!=="$"||n[e+1]!=="{")continue;let s=d(`\`${n.slice(b,e)}\``);if(s===void 0)return;y+=s;let u=0,m=r.find((p)=>{if(p.start<e+2||p.kind!=="punctuation")return!1;let h=n.slice(p.start,p.end);if(h==="{")u++;if(h!=="}")return!1;if(u===0)return!0;return u--,!1});if(!m)return;let f=C(n.slice(e+2,m.start),c,o+1);if(f===void 0)return;y+=String(f),e=m.start,b=e+1}let g=d(`\`${n.slice(b,-1)}\``);return g===void 0?void 0:y+g}function rr(l,c){let o=[...new Set([...l,...c.values()])];if(!o.some((i)=>i.kind==="variable"&&typeof i.value==="string"&&/[\[{]/.test(i.value)))return;o.sort((i,a)=>(i.start??0)-(a.start??0));let n=new Map,r=new Map,k=o.some((i)=>i.name==="Symbol");for(let i of o){if(i.kind!=="variable"||typeof i.value!=="string")continue;if(i.value.includes("{")||i.value.includes("[")){let g=new Map(n);g.mutableBindingTypes=new Map(r),i.computedKeyConstants=g}let a=t(i.value),y=a.length===1&&a[0].kind==="word"?n.get(i.value.slice(a[0].start,a[0].end)):void 0;if(i.typeAnnotation==="unique symbol"||i.typeAnnotation==="symbol"||typeof y==="object"||!k&&a[0]?.kind==="word"&&i.value.slice(a[0].start,a[0].end)==="Symbol"&&["(","."].includes(i.value.slice(a[1]?.start,a[1]?.end))){n.set(i.name,S);continue}if(i.modifiers?.[0]!=="const"||i.typeAnnotation||i.modifiers.includes("const assertion"))continue;let b=C(i.value,n);if(b!==void 0){if(n.set(i.name,b),!(a.length===1&&a[0].kind==="word")||r.has(i.value.trim()))r.set(i.name,typeof b)}else if(i.value.trim()==="true"||i.value.trim()==="false")r.set(i.name,"boolean");else if(a.length===1&&a[0].kind==="word"){let g=r.get(i.value.trim());if(g)r.set(i.name,g)}}}function ir(l,c){if(!l.trimStart().startsWith("[")||!l.includes("`"))return;let o=t(l);if(l[o[0]?.start]!=="["||l[o[1]?.start]!=="`"||l[o.at(-1)?.start??-1]!=="]")return;let n=l.slice(o[0].end,o.at(-1).start).trim(),r=C(n,c??new Map);return typeof r==="string"?{name:v(r,"'")}:{index:!0}}function sr(l,c){if(!c||!l.trimStart().startsWith("["))return!1;let o=t(l);return o.length===3&&l[o[0].start]==="["&&o[1].kind==="word"&&l[o[2].start]==="]"&&typeof c.get(l.slice(o[1].start,o[1].end))==="object"}function or(l){if(!l.trimStart().startsWith("[")||!l.includes("`"))return!1;let c=t(l);return l[c[1]?.start]==="`"&&c.some((o)=>o.kind==="punctuation"&&l[o.start]==="{")}
|
|
3
|
+
export{C,rr,ir,sr,or};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{e}from"./chunk-
|
|
2
|
+
import{e}from"./chunk-x5z8vprh.js";import{existsSync as h}from"fs";import{cpus as u}from"os";import{resolve as l}from"path";import{fileURLToPath as k}from"url";import{Worker as c}from"worker_threads";var __dirname="/home/runner/work/dtsx/dtsx/packages/dtsx/src",a;function f(){if(a!==void 0)return a;a=null;for(let t of["./worker-thread.js","./worker-thread.ts","./src/worker-thread.js","./src/worker-thread.ts"]){let r=new URL(t,import.meta.url);try{if(h(k(r))){a=r;break}}catch{}}return a}class qt{workers=[];taskQueue=[];config;stats={totalTasks:0,completedTasks:0,failedTasks:0,averageDuration:0,activeWorkers:0,idleWorkers:0};isShuttingDown=!1;idleCheckInterval=null;constructor(t={}){let r=t.maxWorkers??Math.max(1,u().length-1);this.config={maxWorkers:r,taskTimeout:t.taskTimeout??30000,recycleAfter:t.recycleAfter??100,idleTimeout:t.idleTimeout??1e4,initialWorkers:t.initialWorkers??Math.min(2,r)}}async init(){let t=Math.min(this.config.initialWorkers,this.config.maxWorkers);for(let r=0;r<t;r++)this.createWorker();if(this.config.idleTimeout>0){if(this.idleCheckInterval=setInterval(()=>{this.checkIdleWorkers()},5000),this.idleCheckInterval&&typeof this.idleCheckInterval==="object"&&"unref"in this.idleCheckInterval)this.idleCheckInterval.unref()}}createWorker(){let t=`
|
|
3
3
|
const { parentPort } = require('worker_threads');
|
|
4
4
|
const bun = typeof Bun !== 'undefined' ? Bun : null;
|
|
5
5
|
const fs = bun ? null : require('node:fs');
|
|
@@ -173,5 +173,5 @@ catch (error) {
|
|
|
173
173
|
const result = await processTask(task);
|
|
174
174
|
parentPort.postMessage(result);
|
|
175
175
|
});
|
|
176
|
-
`,r=f(),o=r?new c(k(r)):new c(t,{eval:!0}),s={worker:o,busy:!1,taskCount:0,lastActive:Date.now(),currentTask:null};return o.on("message",(i)=>{this.handleWorkerResult(s,i)}),o.on("error",(i)=>{e.error("Worker error:",i),this.handleWorkerError(s,i)}),o.on("exit",(i)=>{if(i!==0&&!this.isShuttingDown)e.error(`Worker exited with code ${i}`),this.removeWorker(s)}),this.workers.push(s),this.updateStats(),s}handleWorkerResult(t,r){if(t.busy=!1,t.taskCount++,t.lastActive=Date.now(),t.currentTask&&t.currentTask.id===r.id){clearTimeout(t.currentTask.timeout);let{resolve:s}=t.currentTask;t.currentTask=null,s(r)}if(r.success)this.stats.completedTasks++;else this.stats.failedTasks++;let o=this.stats.averageDuration*(this.stats.completedTasks+this.stats.failedTasks-1)+r.duration;if(this.stats.averageDuration=o/(this.stats.completedTasks+this.stats.failedTasks),this.updateStats(),t.taskCount>=this.config.recycleAfter)this.recycleWorker(t);this.processQueue()}handleWorkerError(t,r){if(t.busy=!1,t.currentTask){clearTimeout(t.currentTask.timeout);let{reject:o}=t.currentTask;t.currentTask=null,o(r)}this.stats.failedTasks++,this.updateStats(),this.recycleWorker(t),this.processQueue()}removeWorker(t){let r=this.workers.indexOf(t);if(r!==-1)this.workers.splice(r,1),t.worker.terminate();this.updateStats()}recycleWorker(t){if(this.removeWorker(t),!this.isShuttingDown&&this.workers.length<this.config.maxWorkers)this.createWorker()}checkIdleWorkers(){let t=Date.now(),r=1;for(let o=this.workers.length-1;o>=0;o--){let s=this.workers[o];if(!s.busy&&t-s.lastActive>this.config.idleTimeout&&this.workers.length>1)this.removeWorker(s)}}processQueue(){while(this.taskQueue.length>0){let t;for(let n=0;n<this.workers.length;n++)if(!this.workers[n].busy){t=this.workers[n];break}if(!t&&this.workers.length<this.config.maxWorkers)t=this.createWorker();if(!t)return;let{task:r,resolve:o,reject:s}=this.taskQueue.shift();t.busy=!0,t.lastActive=Date.now();let i=setTimeout(()=>{if(t.currentTask?.id===r.id)t.currentTask=null;s(Error(`Task ${r.id} timed out`)),this.recycleWorker(t)},this.config.taskTimeout);t.currentTask={id:r.id,resolve:o,reject:s,timeout:i},t.worker.postMessage(r),this.updateStats()}}async submit(t){return this.stats.totalTasks++,new Promise((r,o)=>{this.taskQueue.push({task:t,resolve:r,reject:o}),this.processQueue()})}async processFiles(t,r={}){let o=t.map((s,i)=>({id:`task-${i}-${Date.now()}`,type:"process",filePath:s.path,sourceCode:s.content,config:r}));return Promise.all(o.map((s)=>this.submit(s)))}updateStats(){let t=0;for(let r=0;r<this.workers.length;r++)if(this.workers[r].busy)t++;this.stats.activeWorkers=t,this.stats.idleWorkers=this.workers.length-t}getStats(){return{...this.stats}}async shutdown(){if(this.isShuttingDown=!0,this.idleCheckInterval)clearInterval(this.idleCheckInterval);while(this.taskQueue.length>0||this.workers.some((t)=>t.busy))await new Promise((t)=>setTimeout(t,100));await Promise.all(this.workers.map((t)=>t.worker.terminate())),this.workers=[]}}function
|
|
177
|
-
export{
|
|
176
|
+
`,r=f(),o=r?new c(k(r)):new c(t,{eval:!0}),s={worker:o,busy:!1,taskCount:0,lastActive:Date.now(),currentTask:null};return o.on("message",(i)=>{this.handleWorkerResult(s,i)}),o.on("error",(i)=>{e.error("Worker error:",i),this.handleWorkerError(s,i)}),o.on("exit",(i)=>{if(i!==0&&!this.isShuttingDown)e.error(`Worker exited with code ${i}`),this.removeWorker(s)}),this.workers.push(s),this.updateStats(),s}handleWorkerResult(t,r){if(t.busy=!1,t.taskCount++,t.lastActive=Date.now(),t.currentTask&&t.currentTask.id===r.id){clearTimeout(t.currentTask.timeout);let{resolve:s}=t.currentTask;t.currentTask=null,s(r)}if(r.success)this.stats.completedTasks++;else this.stats.failedTasks++;let o=this.stats.averageDuration*(this.stats.completedTasks+this.stats.failedTasks-1)+r.duration;if(this.stats.averageDuration=o/(this.stats.completedTasks+this.stats.failedTasks),this.updateStats(),t.taskCount>=this.config.recycleAfter)this.recycleWorker(t);this.processQueue()}handleWorkerError(t,r){if(t.busy=!1,t.currentTask){clearTimeout(t.currentTask.timeout);let{reject:o}=t.currentTask;t.currentTask=null,o(r)}this.stats.failedTasks++,this.updateStats(),this.recycleWorker(t),this.processQueue()}removeWorker(t){let r=this.workers.indexOf(t);if(r!==-1)this.workers.splice(r,1),t.worker.terminate();this.updateStats()}recycleWorker(t){if(this.removeWorker(t),!this.isShuttingDown&&this.workers.length<this.config.maxWorkers)this.createWorker()}checkIdleWorkers(){let t=Date.now(),r=1;for(let o=this.workers.length-1;o>=0;o--){let s=this.workers[o];if(!s.busy&&t-s.lastActive>this.config.idleTimeout&&this.workers.length>1)this.removeWorker(s)}}processQueue(){while(this.taskQueue.length>0){let t;for(let n=0;n<this.workers.length;n++)if(!this.workers[n].busy){t=this.workers[n];break}if(!t&&this.workers.length<this.config.maxWorkers)t=this.createWorker();if(!t)return;let{task:r,resolve:o,reject:s}=this.taskQueue.shift();t.busy=!0,t.lastActive=Date.now();let i=setTimeout(()=>{if(t.currentTask?.id===r.id)t.currentTask=null;s(Error(`Task ${r.id} timed out`)),this.recycleWorker(t)},this.config.taskTimeout);t.currentTask={id:r.id,resolve:o,reject:s,timeout:i},t.worker.postMessage(r),this.updateStats()}}async submit(t){return this.stats.totalTasks++,new Promise((r,o)=>{this.taskQueue.push({task:t,resolve:r,reject:o}),this.processQueue()})}async processFiles(t,r={}){let o=t.map((s,i)=>({id:`task-${i}-${Date.now()}`,type:"process",filePath:s.path,sourceCode:s.content,config:r}));return Promise.all(o.map((s)=>this.submit(s)))}updateStats(){let t=0;for(let r=0;r<this.workers.length;r++)if(this.workers[r].busy)t++;this.stats.activeWorkers=t,this.stats.idleWorkers=this.workers.length-t}getStats(){return{...this.stats}}async shutdown(){if(this.isShuttingDown=!0,this.idleCheckInterval)clearInterval(this.idleCheckInterval);while(this.taskQueue.length>0||this.workers.some((t)=>t.busy))await new Promise((t)=>setTimeout(t,100));await Promise.all(this.workers.map((t)=>t.worker.terminate())),this.workers=[]}}function dr(t={}){return new qt(t)}async function Bi(t,r={},o={}){let s=dr(o);await s.init();try{return await s.processFiles(t,r)}finally{await s.shutdown()}}function Wi(t,r){let o=[];for(let s=0;s<t.length;s+=r)o.push(t.slice(s,s+r));return o}function _i(t,r=u().length){if(t<=r)return 1;let s=r*3;return Math.max(1,Math.ceil(t/s))}
|
|
177
|
+
export{qt,dr,Bi,Wi,_i};
|