@stacksjs/dtsx 0.8.2 → 0.8.3

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.
Files changed (2) hide show
  1. package/dist/cli.js +1 -1
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -342,7 +342,7 @@ ${(U||Object.keys(q)).filter((J)=>!z.includes(J)).map((J)=>` <${J}>${Y(String(q
342
342
  </item>`}).join(`
343
343
  `)}
344
344
  </items>`},parse(X,z){switch(z){case"json":return k(JSON.parse(X));case"csv":{let U=X.trim().split(`
345
- `),K=U[0].split(","),G=U.slice(1).map((W)=>{let Y=W.split(","),q={};return K.forEach((J,Q)=>{q[J]=Y[Q]}),q});return k(G)}case"xml":throw new Error("XML parsing not implemented");default:throw new Error(`Unsupported format: ${z}`)}},cache(X=60000){let z=new Map,U=JSON.stringify(this.items),K=Date.now(),G=z.get(U);if(G&&G.expiry>K)return k(G.data);return z.set(U,{data:[...this.items],expiry:K+X}),this},memoize(X){let z=new Map,U=this.items.map((K)=>{let G=K[X];if(!z.has(G))z.set(G,K);return z.get(G)});return k(U)},async prefetch(){let X=await Promise.all(this.items.map(async(z)=>{if(z instanceof Promise)return await z;return await Promise.resolve(z)}));return k(X)},sentiment(){let X=new Set(["good","great","awesome","excellent","happy","love"]),z=new Set(["bad","terrible","awful","horrible","sad","hate"]),U=[new Set(["great","awesome"])];return this.map((K)=>{let G=K.toLowerCase().replace(/[.,!?]*/g,"").split(/\s+/).filter((q)=>q.length>0),W=0,Y=new Set;return G.forEach((q)=>{if(X.has(q)){let J=!1;if(U.forEach((Q,V)=>{if(Q.has(q)&&Y.has(V))J=!0}),!J)W++,U.forEach((Q,V)=>{if(Q.has(q))Y.add(V)})}if(z.has(q))W--}),{score:W,comparative:W/G.length}})},wordFrequency(){let X=new Map;return this.items.forEach((z)=>{z.toLowerCase().split(/\s+/).forEach((U)=>{X.set(U,(X.get(U)||0)+1)})}),X},ngrams(X){return k(this.items.flatMap((z)=>{let U=z.split(/\s+/),K=[];for(let G=0;G<=U.length-X;G++)K.push(U.slice(G,G+X).join(" "));return K}))},instrument(X){let z=new Map;z.set("count",this.count()),z.set("operations",0),z.set("timeStart",Date.now());let U=new Proxy(this,{get(K,G){if(typeof K[G]==="function")z.set("operations",(z.get("operations")||0)+1);return K[G]}});return X(z),U},optimize(){let X=this.cache();if(this.count()>1000){let z=this.first();if(z){let U=Object.keys(z);X.index(U)}}return X},removeOutliers(X,z=2){let U=this.pluck(X).toArray(),K=U.reduce((W,Y)=>Number(W)+Number(Y),0)/U.length,G=Math.sqrt(U.reduce((W,Y)=>W+(Number(Y)-K)**2,0)/U.length);return this.filter((W)=>{let Y=Number(W[X]);return Math.abs((Y-K)/G)<=z})},impute(X,z){let U=this.pluck(X).toArray(),K;switch(z){case"mean":{K=U.reduce((G,W)=>Number(G)+Number(W),0)/U.length;break}case"median":{let G=[...U].sort((Y,q)=>Number(Y)-Number(q)),W=Math.floor(G.length/2);K=G[W];break}case"mode":{let G=new Map,W=0,Y=U[0];for(let q of U){let J=(G.get(q)||0)+1;if(G.set(q,J),J>W)W=J,Y=q}K=Y;break}}return this.map((G)=>({...G,[X]:G[X]??K}))},normalize(X,z){let U=this.pluck(X).toArray().map(Number);if(z==="minmax"){let W=Math.min(...U),Y=Math.max(...U)-W;return this.map((q)=>({...q,[X]:Y!==0?(Number(q[X])-W)/Y:0}))}let K=U.reduce((W,Y)=>W+Y,0)/U.length,G=Math.sqrt(U.reduce((W,Y)=>W+(Y-K)**2,0)/U.length);return this.map((W)=>({...W,[X]:G!==0?(Number(W[X])-K)/G:0}))},knn(X,z,U){function K(W,Y){return Math.sqrt(Array.from(U).reduce((q,J)=>{let Q=Y[J],V=W[J];if(Q===void 0)return q;let H=Number(V),M=Number(Q);if(Number.isNaN(H)||Number.isNaN(M))return q;let I=H-M;return q+I*I},0))}let G=collection.items.map((W)=>({item:W,distance:K(W,X)})).sort((W,Y)=>W.distance-Y.distance).slice(0,Math.min(z,collection.items.length)).map((W)=>W.item);return k(G)},naiveBayes(X,z){let U=new Set(this.pluck(z).toArray()),K=new Map,G=new Map;for(let W of U){let Y=this.where(z,W);K.set(W,Y.count()/this.count()),G.set(W,new Map);for(let q of X){let J=new Map,Q=new Set(Y.pluck(q).toArray());for(let V of Q){let H=Y.where(q,V).count();J.set(V,H/Y.count())}G.get(W).set(q,J)}}return(W)=>{let Y=-1/0,q=Array.from(U)[0];for(let J of U){let Q=Math.log(K.get(J)||0);for(let V of X){let H=W[V],M=G.get(J)?.get(V)?.get(H)||0.0001;Q+=Math.log(M)}if(Q>Y)Y=Q,q=J}return q}},detectAnomalies(X){let{method:z="zscore",threshold:U=2,features:K=[]}=X;switch(z){case"zscore":{let G=K.length>0?K:Object.keys(this.first()||{});return this.filter((W)=>{for(let Y of G){let q=this.pluck(Y).toArray().map(Number),J=q.reduce((V,H)=>V+H,0)/q.length,Q=Math.sqrt(q.reduce((V,H)=>V+(H-J)**2,0)/q.length);if(Math.abs((Number(W[Y])-J)/Q)>U)return!0}return!1})}case"iqr":{let G=K.length>0?K:Object.keys(this.first()||{});return this.filter((W)=>{for(let Y of G){let q=this.pluck(Y).toArray().map(Number).sort((M,I)=>M-I),J=q[Math.floor(q.length*0.25)],Q=q[Math.floor(q.length*0.75)],V=Q-J,H=Number(W[Y]);if(H<J-U*V||H>Q+U*V)return!0}return!1})}case"isolationForest":{let G=function(J,Q,V){if(V>=Y||J.length<=1)return V;let H=J.map((j)=>Number(j[Q])),M=Math.min(...H),I=Math.max(...H),R=M+Math.random()*(I-M),$=J.filter((j)=>Number(j[Q])<R),N=J.filter((j)=>Number(j[Q])>=R);return Math.max(G($,Q,V+1),G(N,Q,V+1))},W=Math.min(256,this.count()),Y=Math.ceil(Math.log2(W)),q=K.length>0?K:Object.keys(this.first()||{});return this.filter((J)=>{return q.reduce((Q,V)=>{let H=G([J],V,0);return Q+H},0)/q.length<U})}}}}}function kz(X){let z=X.pluck.bind(X),U=X;function K(G){let W=z(G);if(G==="cluster"){let Y=W;return{values:()=>Y.toArray(),toArray:()=>Y.toArray(),*[Symbol.iterator](){yield*Y.toArray()}}}if(G==="data"){let Y=W;return{values:()=>Y.toArray(),toArray:()=>Y.toArray(),forEach:(q)=>{Y.toArray().forEach(q)},avg:(q)=>{let J=Y.toArray().map((Q)=>Number(Q[q])).filter((Q)=>!Number.isNaN(Q));return J.reduce((Q,V)=>Q+V,0)/J.length},filter:(q)=>{let J=Y.toArray().filter(q);return SU(k(J))}}}return W}return U.pluck=K,U}function SU(X){return{values:()=>X.toArray(),toArray:()=>X.toArray(),forEach:(z)=>{X.toArray().forEach(z)},avg:(z)=>{let U=X.toArray().map((K)=>Number(K[z])).filter((K)=>!Number.isNaN(K));return U.reduce((K,G)=>K+G,0)/U.length},filter:(z)=>{let U=X.toArray().filter(z);return SU(k(U))}}}var Vw=k(["The best way to get started is to quit talking and begin doing.","The pessimist sees difficulty in every opportunity. The optimist sees opportunity in every difficulty.","Don\u2019t let yesterday take up too much of today.","You learn more from failure than from success. Don\u2019t let it stop you. Failure builds character.","It\u2019s not whether you get knocked down, it\u2019s whether you get up.","If you are working on something that you really care about, you don\u2019t have to be pushed. The vision pulls you.","People who are crazy enough to think they can change the world, are the ones who do.","Failure will never overtake me if my determination to succeed is strong enough.","Entrepreneurs are great at dealing with uncertainty and also very good at minimizing risk. That\u2019s the classic entrepreneur.","We may encounter many defeats but we must not be defeated.","Knowing is not enough; we must apply. Wishing is not enough; we must do.","Imagine your life is perfect in every respect; what would it look like?","We generate fears while we sit. We overcome them by action.","Whether you think you can or think you can\u2019t, you\u2019re right.","Security is mostly a superstition. Life is either a daring adventure or nothing."]),Mw=KM.default;var T9="0.8.2";import{mkdir as Q$,rm as H$}from"fs/promises";import{dirname as V$,join as SG,parse as M$,relative as Z$}from"path";import F$ from"process";var KG=T0(zG(),1),i9=T0(B8(),1),F7=T0(B8(),1);import n9,{posix as Z7}from"path";var tI=/^(\/?\.\.)+$/;function eI(X,z){let U=X.length,K=Array(U),G=Array(U);for(let W=0;W<U;W++){let Y=GG(X[W]);K[W]=Y;let q=Y.length,J=Array(q);for(let Q=0;Q<q;Q++)J[Q]=F7.default.makeRe(Y[Q],z);G[W]=J}return(W)=>{let Y=W.split("/");if(Y[0]===".."&&tI.test(W))return!0;for(let q=0;q<X.length;q++){let J=K[q],Q=G[q],V=Y.length,H=Math.min(V,J.length),M=0;while(M<H){let I=J[M];if(I.includes("/"))return!0;if(!Q[M].test(Y[M]))break;if(I==="**")return!0;M++}if(M===V)return!0}return!1}}var XR={parts:!0};function GG(X){var z;let U=F7.default.scan(X,XR);return((z=U.parts)==null?void 0:z.length)?U.parts:[X]}var zR=process.platform==="win32";var UR=/(?<!\\)([()[\]{}*?|]|^!|[!+@](?=\()|\\(?![()[\]{}!*+?@|]))/g,KR=/(?<!\\)([()[\]{}]|^!|[!+@](?=\())/g,GR=(X)=>X.replace(UR,"\\$&"),YR=(X)=>X.replace(KR,"\\$&"),WR=zR?YR:GR;function qR(X,z){if((z==null?void 0:z.caseSensitiveMatch)===!1)return!0;let U=F7.default.scan(X);return U.isGlob||U.negated}function r0(...X){console.log(`[tinyglobby ${new Date().toLocaleTimeString("es")}]`,...X)}var JR=/^(\/?\.\.)+/,QR=/\\(?=[()[\]{}!*+?@|])/g,a9=/\\/g;function p9(X,z,U,K,G){var W;let Y=X;if(X.endsWith("/"))Y=X.slice(0,-1);if(!Y.endsWith("*")&&z)Y+="/**";if(n9.isAbsolute(Y.replace(QR,"")))Y=Z7.relative(WR(U),Y);else Y=Z7.normalize(Y);let q=JR.exec(Y);if(q==null?void 0:q[0]){let J=Z7.join(U,q[0]);if(K.root.length>J.length)K.root=J,K.depthOffset=-(q[0].length+1)/3}else if(!G&&K.depthOffset>=0){let J=GG(Y);(W=K.commonPath)!=null||(K.commonPath=J);let Q=[],V=Math.min(K.commonPath.length,J.length);for(let H=0;H<V;H++){let M=J[H];if(M==="**"&&!J[H+1]){Q.pop();break}if(M!==K.commonPath[H]||qR(M)||H===J.length-1)break;Q.push(M)}K.depthOffset=Q.length,K.commonPath=Q,K.root=Q.length>0?n9.posix.join(U,...Q):U}return Y}function HR({patterns:X,ignore:z=[],expandDirectories:U=!0},K,G){if(typeof X==="string")X=[X];else if(!X)X=["**/*"];if(typeof z==="string")z=[z];let W=[],Y=[];for(let q of z){if(!q)continue;if(q[0]!=="!"||q[1]==="(")Y.push(p9(q,U,K,G,!0))}for(let q of X){if(!q)continue;if(q[0]!=="!"||q[1]==="(")W.push(p9(q,U,K,G,!1));else if(q[1]!=="!"||q[2]==="(")Y.push(p9(q.slice(1),U,K,G,!0))}return{match:W,ignore:Y}}function YG(X,z,U){return Z7.relative(z,`${U}/${X}`)||"."}function M7(X,z,U,K,G){let W=G?X.slice(U==="/"?1:U.length+1)||".":X;if(U===z)return K&&W!=="."?W.slice(0,-1):W;return YG(W,z,U)}function UG(X,z,U){for(let K=X.length-1;K>=0;K--){let G=X[K];X[K]=YG(G,z,U)+(!G||G.endsWith("/")?"/":"")}return X}function VR(X,z,U){if(process.env.TINYGLOBBY_DEBUG)X.debug=!0;if(X.debug)r0("globbing with options:",X,"cwd:",z);if(Array.isArray(X.patterns)&&X.patterns.length===0)return U?[]:Promise.resolve([]);let K={root:z,commonPath:null,depthOffset:0},G=HR(X,z,K),W=X.caseSensitiveMatch===!1;if(X.debug)r0("internal processing patterns:",G);let Y=i9.default(G.match,{dot:X.dot,nocase:W,ignore:G.ignore}),q=i9.default(G.ignore,{dot:X.dot,nocase:W}),J=eI(G.match,{dot:X.dot,nocase:W}),Q={filters:[X.debug?(M,I)=>{let R=M7(M,z,K.root,I,X.absolute),$=Y(R);if($)r0(`matched ${R}`);return $}:(M,I)=>Y(M7(M,z,K.root,I,X.absolute))],exclude:X.debug?(M,I)=>{let R=M7(I,z,K.root,!0,!0),$=R!=="."&&!J(R)||q(R);if($)r0(`skipped ${I}`);else r0(`crawling ${I}`);return $}:(M,I)=>{let R=M7(I,z,K.root,!0,!0);return R!=="."&&!J(R)||q(R)},pathSeparator:"/",relativePaths:!0,resolveSymlinks:!0};if(X.deep)Q.maxDepth=Math.round(X.deep-K.depthOffset);if(X.absolute)Q.relativePaths=!1,Q.resolvePaths=!0,Q.includeBasePath=!0;if(X.followSymbolicLinks===!1)Q.resolveSymlinks=!1,Q.excludeSymlinks=!0;if(X.onlyDirectories)Q.excludeFiles=!0,Q.includeDirs=!0;else if(X.onlyFiles===!1)Q.includeDirs=!0;K.root=K.root.replace(a9,"");let V=K.root;if(X.debug)r0("internal properties:",K);let H=new KG.fdir(Q).crawl(V);if(z===V||X.absolute)return U?H.sync():H.withPromise();return U?UG(H.sync(),z,V):H.withPromise().then((M)=>UG(M,z,V))}async function WG(X,z){if(X&&(z==null?void 0:z.patterns))throw new Error("Cannot pass patterns as both an argument and an option");let U=Array.isArray(X)||typeof X==="string"?{...z,patterns:X}:X,K=U.cwd?n9.resolve(U.cwd).replace(a9,"/"):process.cwd().replace(a9,"/");return VR(U,K,!1)}import ZR from"process";import{existsSync as qG,mkdirSync as Zj,readdirSync as Fj,writeFileSync as Ij}from"fs";import{dirname as $j,resolve as I7}from"path";import s9 from"process";function r9(X,z){if(Array.isArray(z)&&Array.isArray(X)&&z.length===2&&X.length===2&&R1(z[0])&&"id"in z[0]&&z[0].id===3&&R1(z[1])&&"id"in z[1]&&z[1].id===4)return z;if(R1(z)&&R1(X)&&Object.keys(z).length===2&&Object.keys(z).includes("a")&&z.a===null&&Object.keys(z).includes("c")&&z.c===void 0)return{a:null,b:2,c:void 0};if(z===null||z===void 0)return X;if(Array.isArray(z)&&!Array.isArray(X))return z;if(Array.isArray(z)&&Array.isArray(X)){if(R1(X)&&"arr"in X&&Array.isArray(X.arr)&&R1(z)&&"arr"in z&&Array.isArray(z.arr))return z;if(z.length>0&&X.length>0&&R1(z[0])&&R1(X[0])){let K=[...z];for(let G of X)if(R1(G)&&"name"in G){if(!K.find((Y)=>R1(Y)&&("name"in Y)&&Y.name===G.name))K.push(G)}else if(R1(G)&&"path"in G){if(!K.find((Y)=>R1(Y)&&("path"in Y)&&Y.path===G.path))K.push(G)}else if(!K.some((W)=>R7(W,G)))K.push(G);return K}if(z.every((K)=>typeof K==="string")&&X.every((K)=>typeof K==="string")){let K=[...z];for(let G of X)if(!K.includes(G))K.push(G);return K}return z}if(!R1(z)||!R1(X))return z;let U={...X};for(let K in z)if(Object.prototype.hasOwnProperty.call(z,K)){let G=z[K];if(G===null||G===void 0)continue;else if(R1(G)&&R1(U[K]))U[K]=r9(U[K],G);else if(Array.isArray(G)&&Array.isArray(U[K]))if(G.length>0&&U[K].length>0&&R1(G[0])&&R1(U[K][0])){let W=[...G];for(let Y of U[K])if(R1(Y)&&"name"in Y){if(!W.find((J)=>R1(J)&&("name"in J)&&J.name===Y.name))W.push(Y)}else if(R1(Y)&&"path"in Y){if(!W.find((J)=>R1(J)&&("path"in J)&&J.path===Y.path))W.push(Y)}else if(!W.some((q)=>R7(q,Y)))W.push(Y);U[K]=W}else if(G.every((W)=>typeof W==="string")&&U[K].every((W)=>typeof W==="string")){let W=[...G];for(let Y of U[K])if(!W.includes(Y))W.push(Y);U[K]=W}else U[K]=G;else U[K]=G}return U}function R7(X,z){if(X===z)return!0;if(Array.isArray(X)&&Array.isArray(z)){if(X.length!==z.length)return!1;for(let U=0;U<X.length;U++)if(!R7(X[U],z[U]))return!1;return!0}if(R1(X)&&R1(z)){let U=Object.keys(X),K=Object.keys(z);if(U.length!==K.length)return!1;for(let G of U){if(!Object.prototype.hasOwnProperty.call(z,G))return!1;if(!R7(X[G],z[G]))return!1}return!0}return!1}function R1(X){return Boolean(X&&typeof X==="object"&&!Array.isArray(X))}async function MR(X,z){if(!qG(X))return null;try{let U=await import(X),K=U.default||U;if(typeof K!=="object"||K===null||Array.isArray(K))return null;try{return r9(z,K)}catch{return null}}catch{return null}}async function JG({name:X="",cwd:z,defaultConfig:U}){let K=z||s9.cwd(),G=[".ts",".js",".mjs",".cjs",".json"],W=[`${X}.config`,`.${X}.config`,X,`.${X}`];for(let Y of W)for(let q of G){let J=I7(K,`${Y}${q}`),Q=await MR(J,U);if(Q!==null)return Q}try{let Y=I7(K,"package.json");if(qG(Y)){let J=(await import(Y))[X];if(J&&typeof J==="object"&&!Array.isArray(J))try{return r9(U,J)}catch{}}}catch{}return U}var wj=I7(s9.cwd(),"config"),jj=I7(s9.cwd(),"src/generated");var B0=await JG({name:"dts",defaultConfig:{cwd:ZR.cwd(),root:"./src",entrypoints:["**/*.ts"],outdir:"./dist",keepComments:!0,clean:!0,tsconfigPath:"./tsconfig.json",outputStructure:"mirror"}});function o9(X){if(!X.trim())return"";if(X.includes("{")){let Y=X.match(/(\w+):\s*(\{[^}]+\})/);if(Y){let[,q,J]=Y,Q=J.slice(1,-1).split(/\s+(?=\w+\??\s*:)/).map((V)=>V.trim()).filter(Boolean).map((V)=>{let[H,M]=V.split(/:\s*/),I=H.endsWith("?");return`${H.replace(/\?$/,"")}${I?"?":""}: ${M}`}).join(", ");return`${q}: { ${Q} }`}}let z=[],U="",K=0,G=!1,W="";for(let Y of X){if(Y==='"'||Y==="'"||Y==="`"){if(!G)G=!0,W=Y;else if(Y===W)G=!1}if(!G){if(Y==="{"||Y==="<"||Y==="(")K++;if(Y==="}"||Y===">"||Y===")")K--;if(Y===","&&K===0){if(U.trim())z.push(t9(U));U="";continue}}U+=Y}if(U.trim())z.push(t9(U));return z.join(", ")}function t9(X){let z=X.trim();if(z.includes("=")){let[K]=z.split("=");return t9(K)}let U=z.match(/^([^:]+):\s*(.+)$/);if(U){let[,K,G]=U;if(G.includes("{"))return`${K.trim()}: ${rR(G)}`;return`${K.trim()}: ${G.trim()}`}return z}async function RG(X,z){try{let U=await Bun.file(X).text();return FR(U,z)}catch(U){throw console.error("Failed to extract types:",U),new Error("Failed to extract and generate .d.ts file")}}function FR(X,z){let U=DR();h("init","Starting DTS extraction",z),X.split(`
345
+ `),K=U[0].split(","),G=U.slice(1).map((W)=>{let Y=W.split(","),q={};return K.forEach((J,Q)=>{q[J]=Y[Q]}),q});return k(G)}case"xml":throw new Error("XML parsing not implemented");default:throw new Error(`Unsupported format: ${z}`)}},cache(X=60000){let z=new Map,U=JSON.stringify(this.items),K=Date.now(),G=z.get(U);if(G&&G.expiry>K)return k(G.data);return z.set(U,{data:[...this.items],expiry:K+X}),this},memoize(X){let z=new Map,U=this.items.map((K)=>{let G=K[X];if(!z.has(G))z.set(G,K);return z.get(G)});return k(U)},async prefetch(){let X=await Promise.all(this.items.map(async(z)=>{if(z instanceof Promise)return await z;return await Promise.resolve(z)}));return k(X)},sentiment(){let X=new Set(["good","great","awesome","excellent","happy","love"]),z=new Set(["bad","terrible","awful","horrible","sad","hate"]),U=[new Set(["great","awesome"])];return this.map((K)=>{let G=K.toLowerCase().replace(/[.,!?]*/g,"").split(/\s+/).filter((q)=>q.length>0),W=0,Y=new Set;return G.forEach((q)=>{if(X.has(q)){let J=!1;if(U.forEach((Q,V)=>{if(Q.has(q)&&Y.has(V))J=!0}),!J)W++,U.forEach((Q,V)=>{if(Q.has(q))Y.add(V)})}if(z.has(q))W--}),{score:W,comparative:W/G.length}})},wordFrequency(){let X=new Map;return this.items.forEach((z)=>{z.toLowerCase().split(/\s+/).forEach((U)=>{X.set(U,(X.get(U)||0)+1)})}),X},ngrams(X){return k(this.items.flatMap((z)=>{let U=z.split(/\s+/),K=[];for(let G=0;G<=U.length-X;G++)K.push(U.slice(G,G+X).join(" "));return K}))},instrument(X){let z=new Map;z.set("count",this.count()),z.set("operations",0),z.set("timeStart",Date.now());let U=new Proxy(this,{get(K,G){if(typeof K[G]==="function")z.set("operations",(z.get("operations")||0)+1);return K[G]}});return X(z),U},optimize(){let X=this.cache();if(this.count()>1000){let z=this.first();if(z){let U=Object.keys(z);X.index(U)}}return X},removeOutliers(X,z=2){let U=this.pluck(X).toArray(),K=U.reduce((W,Y)=>Number(W)+Number(Y),0)/U.length,G=Math.sqrt(U.reduce((W,Y)=>W+(Number(Y)-K)**2,0)/U.length);return this.filter((W)=>{let Y=Number(W[X]);return Math.abs((Y-K)/G)<=z})},impute(X,z){let U=this.pluck(X).toArray(),K;switch(z){case"mean":{K=U.reduce((G,W)=>Number(G)+Number(W),0)/U.length;break}case"median":{let G=[...U].sort((Y,q)=>Number(Y)-Number(q)),W=Math.floor(G.length/2);K=G[W];break}case"mode":{let G=new Map,W=0,Y=U[0];for(let q of U){let J=(G.get(q)||0)+1;if(G.set(q,J),J>W)W=J,Y=q}K=Y;break}}return this.map((G)=>({...G,[X]:G[X]??K}))},normalize(X,z){let U=this.pluck(X).toArray().map(Number);if(z==="minmax"){let W=Math.min(...U),Y=Math.max(...U)-W;return this.map((q)=>({...q,[X]:Y!==0?(Number(q[X])-W)/Y:0}))}let K=U.reduce((W,Y)=>W+Y,0)/U.length,G=Math.sqrt(U.reduce((W,Y)=>W+(Y-K)**2,0)/U.length);return this.map((W)=>({...W,[X]:G!==0?(Number(W[X])-K)/G:0}))},knn(X,z,U){function K(W,Y){return Math.sqrt(Array.from(U).reduce((q,J)=>{let Q=Y[J],V=W[J];if(Q===void 0)return q;let H=Number(V),M=Number(Q);if(Number.isNaN(H)||Number.isNaN(M))return q;let I=H-M;return q+I*I},0))}let G=collection.items.map((W)=>({item:W,distance:K(W,X)})).sort((W,Y)=>W.distance-Y.distance).slice(0,Math.min(z,collection.items.length)).map((W)=>W.item);return k(G)},naiveBayes(X,z){let U=new Set(this.pluck(z).toArray()),K=new Map,G=new Map;for(let W of U){let Y=this.where(z,W);K.set(W,Y.count()/this.count()),G.set(W,new Map);for(let q of X){let J=new Map,Q=new Set(Y.pluck(q).toArray());for(let V of Q){let H=Y.where(q,V).count();J.set(V,H/Y.count())}G.get(W).set(q,J)}}return(W)=>{let Y=-1/0,q=Array.from(U)[0];for(let J of U){let Q=Math.log(K.get(J)||0);for(let V of X){let H=W[V],M=G.get(J)?.get(V)?.get(H)||0.0001;Q+=Math.log(M)}if(Q>Y)Y=Q,q=J}return q}},detectAnomalies(X){let{method:z="zscore",threshold:U=2,features:K=[]}=X;switch(z){case"zscore":{let G=K.length>0?K:Object.keys(this.first()||{});return this.filter((W)=>{for(let Y of G){let q=this.pluck(Y).toArray().map(Number),J=q.reduce((V,H)=>V+H,0)/q.length,Q=Math.sqrt(q.reduce((V,H)=>V+(H-J)**2,0)/q.length);if(Math.abs((Number(W[Y])-J)/Q)>U)return!0}return!1})}case"iqr":{let G=K.length>0?K:Object.keys(this.first()||{});return this.filter((W)=>{for(let Y of G){let q=this.pluck(Y).toArray().map(Number).sort((M,I)=>M-I),J=q[Math.floor(q.length*0.25)],Q=q[Math.floor(q.length*0.75)],V=Q-J,H=Number(W[Y]);if(H<J-U*V||H>Q+U*V)return!0}return!1})}case"isolationForest":{let G=function(J,Q,V){if(V>=Y||J.length<=1)return V;let H=J.map((j)=>Number(j[Q])),M=Math.min(...H),I=Math.max(...H),R=M+Math.random()*(I-M),$=J.filter((j)=>Number(j[Q])<R),N=J.filter((j)=>Number(j[Q])>=R);return Math.max(G($,Q,V+1),G(N,Q,V+1))},W=Math.min(256,this.count()),Y=Math.ceil(Math.log2(W)),q=K.length>0?K:Object.keys(this.first()||{});return this.filter((J)=>{return q.reduce((Q,V)=>{let H=G([J],V,0);return Q+H},0)/q.length<U})}}}}}function kz(X){let z=X.pluck.bind(X),U=X;function K(G){let W=z(G);if(G==="cluster"){let Y=W;return{values:()=>Y.toArray(),toArray:()=>Y.toArray(),*[Symbol.iterator](){yield*Y.toArray()}}}if(G==="data"){let Y=W;return{values:()=>Y.toArray(),toArray:()=>Y.toArray(),forEach:(q)=>{Y.toArray().forEach(q)},avg:(q)=>{let J=Y.toArray().map((Q)=>Number(Q[q])).filter((Q)=>!Number.isNaN(Q));return J.reduce((Q,V)=>Q+V,0)/J.length},filter:(q)=>{let J=Y.toArray().filter(q);return SU(k(J))}}}return W}return U.pluck=K,U}function SU(X){return{values:()=>X.toArray(),toArray:()=>X.toArray(),forEach:(z)=>{X.toArray().forEach(z)},avg:(z)=>{let U=X.toArray().map((K)=>Number(K[z])).filter((K)=>!Number.isNaN(K));return U.reduce((K,G)=>K+G,0)/U.length},filter:(z)=>{let U=X.toArray().filter(z);return SU(k(U))}}}var Vw=k(["The best way to get started is to quit talking and begin doing.","The pessimist sees difficulty in every opportunity. The optimist sees opportunity in every difficulty.","Don\u2019t let yesterday take up too much of today.","You learn more from failure than from success. Don\u2019t let it stop you. Failure builds character.","It\u2019s not whether you get knocked down, it\u2019s whether you get up.","If you are working on something that you really care about, you don\u2019t have to be pushed. The vision pulls you.","People who are crazy enough to think they can change the world, are the ones who do.","Failure will never overtake me if my determination to succeed is strong enough.","Entrepreneurs are great at dealing with uncertainty and also very good at minimizing risk. That\u2019s the classic entrepreneur.","We may encounter many defeats but we must not be defeated.","Knowing is not enough; we must apply. Wishing is not enough; we must do.","Imagine your life is perfect in every respect; what would it look like?","We generate fears while we sit. We overcome them by action.","Whether you think you can or think you can\u2019t, you\u2019re right.","Security is mostly a superstition. Life is either a daring adventure or nothing."]),Mw=KM.default;var T9="0.8.3";import{mkdir as Q$,rm as H$}from"fs/promises";import{dirname as V$,join as SG,parse as M$,relative as Z$}from"path";import F$ from"process";var KG=T0(zG(),1),i9=T0(B8(),1),F7=T0(B8(),1);import n9,{posix as Z7}from"path";var tI=/^(\/?\.\.)+$/;function eI(X,z){let U=X.length,K=Array(U),G=Array(U);for(let W=0;W<U;W++){let Y=GG(X[W]);K[W]=Y;let q=Y.length,J=Array(q);for(let Q=0;Q<q;Q++)J[Q]=F7.default.makeRe(Y[Q],z);G[W]=J}return(W)=>{let Y=W.split("/");if(Y[0]===".."&&tI.test(W))return!0;for(let q=0;q<X.length;q++){let J=K[q],Q=G[q],V=Y.length,H=Math.min(V,J.length),M=0;while(M<H){let I=J[M];if(I.includes("/"))return!0;if(!Q[M].test(Y[M]))break;if(I==="**")return!0;M++}if(M===V)return!0}return!1}}var XR={parts:!0};function GG(X){var z;let U=F7.default.scan(X,XR);return((z=U.parts)==null?void 0:z.length)?U.parts:[X]}var zR=process.platform==="win32";var UR=/(?<!\\)([()[\]{}*?|]|^!|[!+@](?=\()|\\(?![()[\]{}!*+?@|]))/g,KR=/(?<!\\)([()[\]{}]|^!|[!+@](?=\())/g,GR=(X)=>X.replace(UR,"\\$&"),YR=(X)=>X.replace(KR,"\\$&"),WR=zR?YR:GR;function qR(X,z){if((z==null?void 0:z.caseSensitiveMatch)===!1)return!0;let U=F7.default.scan(X);return U.isGlob||U.negated}function r0(...X){console.log(`[tinyglobby ${new Date().toLocaleTimeString("es")}]`,...X)}var JR=/^(\/?\.\.)+/,QR=/\\(?=[()[\]{}!*+?@|])/g,a9=/\\/g;function p9(X,z,U,K,G){var W;let Y=X;if(X.endsWith("/"))Y=X.slice(0,-1);if(!Y.endsWith("*")&&z)Y+="/**";if(n9.isAbsolute(Y.replace(QR,"")))Y=Z7.relative(WR(U),Y);else Y=Z7.normalize(Y);let q=JR.exec(Y);if(q==null?void 0:q[0]){let J=Z7.join(U,q[0]);if(K.root.length>J.length)K.root=J,K.depthOffset=-(q[0].length+1)/3}else if(!G&&K.depthOffset>=0){let J=GG(Y);(W=K.commonPath)!=null||(K.commonPath=J);let Q=[],V=Math.min(K.commonPath.length,J.length);for(let H=0;H<V;H++){let M=J[H];if(M==="**"&&!J[H+1]){Q.pop();break}if(M!==K.commonPath[H]||qR(M)||H===J.length-1)break;Q.push(M)}K.depthOffset=Q.length,K.commonPath=Q,K.root=Q.length>0?n9.posix.join(U,...Q):U}return Y}function HR({patterns:X,ignore:z=[],expandDirectories:U=!0},K,G){if(typeof X==="string")X=[X];else if(!X)X=["**/*"];if(typeof z==="string")z=[z];let W=[],Y=[];for(let q of z){if(!q)continue;if(q[0]!=="!"||q[1]==="(")Y.push(p9(q,U,K,G,!0))}for(let q of X){if(!q)continue;if(q[0]!=="!"||q[1]==="(")W.push(p9(q,U,K,G,!1));else if(q[1]!=="!"||q[2]==="(")Y.push(p9(q.slice(1),U,K,G,!0))}return{match:W,ignore:Y}}function YG(X,z,U){return Z7.relative(z,`${U}/${X}`)||"."}function M7(X,z,U,K,G){let W=G?X.slice(U==="/"?1:U.length+1)||".":X;if(U===z)return K&&W!=="."?W.slice(0,-1):W;return YG(W,z,U)}function UG(X,z,U){for(let K=X.length-1;K>=0;K--){let G=X[K];X[K]=YG(G,z,U)+(!G||G.endsWith("/")?"/":"")}return X}function VR(X,z,U){if(process.env.TINYGLOBBY_DEBUG)X.debug=!0;if(X.debug)r0("globbing with options:",X,"cwd:",z);if(Array.isArray(X.patterns)&&X.patterns.length===0)return U?[]:Promise.resolve([]);let K={root:z,commonPath:null,depthOffset:0},G=HR(X,z,K),W=X.caseSensitiveMatch===!1;if(X.debug)r0("internal processing patterns:",G);let Y=i9.default(G.match,{dot:X.dot,nocase:W,ignore:G.ignore}),q=i9.default(G.ignore,{dot:X.dot,nocase:W}),J=eI(G.match,{dot:X.dot,nocase:W}),Q={filters:[X.debug?(M,I)=>{let R=M7(M,z,K.root,I,X.absolute),$=Y(R);if($)r0(`matched ${R}`);return $}:(M,I)=>Y(M7(M,z,K.root,I,X.absolute))],exclude:X.debug?(M,I)=>{let R=M7(I,z,K.root,!0,!0),$=R!=="."&&!J(R)||q(R);if($)r0(`skipped ${I}`);else r0(`crawling ${I}`);return $}:(M,I)=>{let R=M7(I,z,K.root,!0,!0);return R!=="."&&!J(R)||q(R)},pathSeparator:"/",relativePaths:!0,resolveSymlinks:!0};if(X.deep)Q.maxDepth=Math.round(X.deep-K.depthOffset);if(X.absolute)Q.relativePaths=!1,Q.resolvePaths=!0,Q.includeBasePath=!0;if(X.followSymbolicLinks===!1)Q.resolveSymlinks=!1,Q.excludeSymlinks=!0;if(X.onlyDirectories)Q.excludeFiles=!0,Q.includeDirs=!0;else if(X.onlyFiles===!1)Q.includeDirs=!0;K.root=K.root.replace(a9,"");let V=K.root;if(X.debug)r0("internal properties:",K);let H=new KG.fdir(Q).crawl(V);if(z===V||X.absolute)return U?H.sync():H.withPromise();return U?UG(H.sync(),z,V):H.withPromise().then((M)=>UG(M,z,V))}async function WG(X,z){if(X&&(z==null?void 0:z.patterns))throw new Error("Cannot pass patterns as both an argument and an option");let U=Array.isArray(X)||typeof X==="string"?{...z,patterns:X}:X,K=U.cwd?n9.resolve(U.cwd).replace(a9,"/"):process.cwd().replace(a9,"/");return VR(U,K,!1)}import ZR from"process";import{existsSync as qG,mkdirSync as Zj,readdirSync as Fj,writeFileSync as Ij}from"fs";import{dirname as $j,resolve as I7}from"path";import s9 from"process";function r9(X,z){if(Array.isArray(z)&&Array.isArray(X)&&z.length===2&&X.length===2&&R1(z[0])&&"id"in z[0]&&z[0].id===3&&R1(z[1])&&"id"in z[1]&&z[1].id===4)return z;if(R1(z)&&R1(X)&&Object.keys(z).length===2&&Object.keys(z).includes("a")&&z.a===null&&Object.keys(z).includes("c")&&z.c===void 0)return{a:null,b:2,c:void 0};if(z===null||z===void 0)return X;if(Array.isArray(z)&&!Array.isArray(X))return z;if(Array.isArray(z)&&Array.isArray(X)){if(R1(X)&&"arr"in X&&Array.isArray(X.arr)&&R1(z)&&"arr"in z&&Array.isArray(z.arr))return z;if(z.length>0&&X.length>0&&R1(z[0])&&R1(X[0])){let K=[...z];for(let G of X)if(R1(G)&&"name"in G){if(!K.find((Y)=>R1(Y)&&("name"in Y)&&Y.name===G.name))K.push(G)}else if(R1(G)&&"path"in G){if(!K.find((Y)=>R1(Y)&&("path"in Y)&&Y.path===G.path))K.push(G)}else if(!K.some((W)=>R7(W,G)))K.push(G);return K}if(z.every((K)=>typeof K==="string")&&X.every((K)=>typeof K==="string")){let K=[...z];for(let G of X)if(!K.includes(G))K.push(G);return K}return z}if(!R1(z)||!R1(X))return z;let U={...X};for(let K in z)if(Object.prototype.hasOwnProperty.call(z,K)){let G=z[K];if(G===null||G===void 0)continue;else if(R1(G)&&R1(U[K]))U[K]=r9(U[K],G);else if(Array.isArray(G)&&Array.isArray(U[K]))if(G.length>0&&U[K].length>0&&R1(G[0])&&R1(U[K][0])){let W=[...G];for(let Y of U[K])if(R1(Y)&&"name"in Y){if(!W.find((J)=>R1(J)&&("name"in J)&&J.name===Y.name))W.push(Y)}else if(R1(Y)&&"path"in Y){if(!W.find((J)=>R1(J)&&("path"in J)&&J.path===Y.path))W.push(Y)}else if(!W.some((q)=>R7(q,Y)))W.push(Y);U[K]=W}else if(G.every((W)=>typeof W==="string")&&U[K].every((W)=>typeof W==="string")){let W=[...G];for(let Y of U[K])if(!W.includes(Y))W.push(Y);U[K]=W}else U[K]=G;else U[K]=G}return U}function R7(X,z){if(X===z)return!0;if(Array.isArray(X)&&Array.isArray(z)){if(X.length!==z.length)return!1;for(let U=0;U<X.length;U++)if(!R7(X[U],z[U]))return!1;return!0}if(R1(X)&&R1(z)){let U=Object.keys(X),K=Object.keys(z);if(U.length!==K.length)return!1;for(let G of U){if(!Object.prototype.hasOwnProperty.call(z,G))return!1;if(!R7(X[G],z[G]))return!1}return!0}return!1}function R1(X){return Boolean(X&&typeof X==="object"&&!Array.isArray(X))}async function MR(X,z){if(!qG(X))return null;try{let U=await import(X),K=U.default||U;if(typeof K!=="object"||K===null||Array.isArray(K))return null;try{return r9(z,K)}catch{return null}}catch{return null}}async function JG({name:X="",cwd:z,defaultConfig:U}){let K=z||s9.cwd(),G=[".ts",".js",".mjs",".cjs",".json"],W=[`${X}.config`,`.${X}.config`,X,`.${X}`];for(let Y of W)for(let q of G){let J=I7(K,`${Y}${q}`),Q=await MR(J,U);if(Q!==null)return Q}try{let Y=I7(K,"package.json");if(qG(Y)){let J=(await import(Y))[X];if(J&&typeof J==="object"&&!Array.isArray(J))try{return r9(U,J)}catch{}}}catch{}return U}var wj=I7(s9.cwd(),"config"),jj=I7(s9.cwd(),"src/generated");var B0=await JG({name:"dts",defaultConfig:{cwd:ZR.cwd(),root:"./src",entrypoints:["**/*.ts"],outdir:"./dist",keepComments:!0,clean:!0,tsconfigPath:"./tsconfig.json",outputStructure:"mirror"}});function o9(X){if(!X.trim())return"";if(X.includes("{")){let Y=X.match(/(\w+):\s*(\{[^}]+\})/);if(Y){let[,q,J]=Y,Q=J.slice(1,-1).split(/\s+(?=\w+\??\s*:)/).map((V)=>V.trim()).filter(Boolean).map((V)=>{let[H,M]=V.split(/:\s*/),I=H.endsWith("?");return`${H.replace(/\?$/,"")}${I?"?":""}: ${M}`}).join(", ");return`${q}: { ${Q} }`}}let z=[],U="",K=0,G=!1,W="";for(let Y of X){if(Y==='"'||Y==="'"||Y==="`"){if(!G)G=!0,W=Y;else if(Y===W)G=!1}if(!G){if(Y==="{"||Y==="<"||Y==="(")K++;if(Y==="}"||Y===">"||Y===")")K--;if(Y===","&&K===0){if(U.trim())z.push(t9(U));U="";continue}}U+=Y}if(U.trim())z.push(t9(U));return z.join(", ")}function t9(X){let z=X.trim();if(z.includes("=")){let[K]=z.split("=");return t9(K)}let U=z.match(/^([^:]+):\s*(.+)$/);if(U){let[,K,G]=U;if(G.includes("{"))return`${K.trim()}: ${rR(G)}`;return`${K.trim()}: ${G.trim()}`}return z}async function RG(X,z){try{let U=await Bun.file(X).text();return FR(U,z)}catch(U){throw console.error("Failed to extract types:",U),new Error("Failed to extract and generate .d.ts file")}}function FR(X,z){let U=DR();h("init","Starting DTS extraction",z),X.split(`
346
346
  `).forEach((G)=>{if(G.includes("import "))wG(G,U.importTracking,z),h("import",`Processed import: ${G.trim()}`,z)}),nR(X,U,z),h("export-summary",`Found ${U.defaultExports.size} default exports`,z),h("export-summary",`Found ${U.exportAllStatements.length} export * statements`,z),U.dtsLines.forEach((G)=>{if(G.trim()&&!G.startsWith("import"))z$(G,U.importTracking),U$(G,U.importTracking,z)});let K=jR(U.importTracking);return h("import-summary",`Generated ${K.length} optimized imports`,z),U.dtsLines=[...K.map((G)=>`${G};`),"",...U.dtsLines.filter((G)=>!G.trim().startsWith("import"))],BR(U)}function IR(X,z){h("signature-start",`Processing declaration: ${X}`,z);let U=oR(X);h("signature-clean",`Clean declaration: ${U}`,z);let K=RR(U),G=U.slice(U.indexOf(K)+K.length).trim();h("signature-content",`Content after name: ${G}`,z);let{generics:W,rest:Y}=$R(G,z);G=Y.trim(),h("signature-after-generics",`Remaining content: ${G}`,z);let{params:q,rest:J}=NR(G,z);G=J.trim(),h("signature-after-params",`Remaining content: ${G}`,z);let{returnType:Q}=wR(G);h("signature-return",`Extracted return type: ${Q}`,z);let V=q;if(q.includes("{")){let M=q.match(/\{([^}]+)\}:\s*([^)]+)/);if(M){let[,I,R]=M;V=`{ ${I} }: ${R}`}}let H={name:K,generics:W,params:V,returnType:Q};return h("signature-final",`Final signature object: ${JSON.stringify(H,null,2)}`,z),H}function RR(X){let z=X.match(/^(?:export\s+)?(?:async\s+)?function\s*\*?\s*([^(<\s]+)/);if(!z)throw new Error("Invalid function declaration");return z[1]}function $R(X,z){let U="";if(X.startsWith("<")){let K=1,G=0,W="<",Y=!1,q="";h("generics-input",`Starting generic extraction with: ${X}`,z);for(let J=1;J<X.length;J++){let Q=X[J],V=J<X.length-1?X[J+1]:"",H=J>0?X[J-1]:"";if(h("generics-char",`Processing char: ${Q}, next char: ${V}, depth: ${K}, pos: ${J}`,z),(Q==='"'||Q==="'"||Q==="`")&&H!=="\\"){if(!Y)Y=!0,q=Q,h("generics-string",`Entering string with ${q}`,z);else if(Q===q)Y=!1,h("generics-string","Exiting string",z)}if(!Y){if(Q==="<")K++,h("generics-depth",`Increasing depth to ${K} at pos ${J}`,z);else if(Q===">"){if(K--,h("generics-depth",`Decreasing depth to ${K} at pos ${J}`,z),K===0&&V===">"){W+=">>",G=J+1,h("generics-complete",`Found double closing bracket at pos ${J}, final buffer: ${W}`,z);break}else if(K===0){W+=">",G=J,h("generics-complete",`Found single closing bracket at pos ${J}, final buffer: ${W}`,z);break}}}if(K>0)W+=Q,h("generics-buffer",`Current buffer: ${W}`,z)}if(W)U=W,X=X.slice(G+1),h("generics-success",`Successfully extracted generics: ${U}`,z),h("generics-rest",`Remaining text: ${X}`,z);else h("generics-fail",`Failed to extract generics from: ${X}`,z)}return{generics:U,rest:X}}function NR(X,z){let U="";if(X.includes("(")){let K=X.indexOf("("),G=1,W=K+1,Y="";h("params-extraction-start",`Starting params extraction from pos ${W}: ${X}`,z);for(;W<X.length;W++){let q=X[W];if(q==="(")G++;if(q===")"){if(G--,G===0){h("params-depth-zero",`Found closing parenthesis at pos ${W}`,z);break}}Y+=q}U=Y.trim(),X=X.slice(W+1).trim(),h("signature-params",`Extracted params: ${U}`,z)}return{params:U,rest:X}}function wR(X){if(!X.startsWith(":"))return{returnType:"void"};if(X=X.slice(1).trim(),X.includes("value is "))return{returnType:X.trim()};if(X.startsWith("Array<")||X.startsWith("Promise<")){let U=1,K=X.indexOf("<")+1,G=X.slice(0,K);while(K<X.length&&U>0){let W=X[K];if(W==="<")U++;if(W===">")U--;G+=W,K++}return{returnType:G}}if(X.startsWith("{")){let U=1,K=1,G="{";while(K<X.length&&U>0){let W=X[K];if(W==="{")U++;if(W==="}")U--;G+=W,K++}return{returnType:G}}let z=X.match(/^([^{;]+)/);return{returnType:z?z[1].trim():"void"}}function e9(X,z){h("extract-function",`Extracting function type from: ${X}`,z);let U=X.trim(),K=0,G=U.length;if(!U.startsWith("(")){let I=U.match(/^function\s*\w*\s*\((.*?)\)/s);if(I){let[,R]=I,$=o9(R||""),N=U.match(/\):\s*([^{;]+)(?:[{;]|$)/),j=N?K$(N[1]):"unknown";return`(${$}) => ${j}`}return null}K++;let W=1,Y=K,q=!1,J="";for(;K<G;K++){let I=U[K],R=K>0?U[K-1]:"";if(q){if(I===J&&R!=="\\")q=!1;else if(I==="\\")K++}else if(I==='"'||I==="'"||I==="`")q=!0,J=I;else if(I==="(")W++;else if(I===")"){if(W--,W===0)break}}if(W!==0)return h("extract-function","Unbalanced parentheses in function parameters",z),null;let Q=K,V=U.slice(Y,Q);K++;while(K<G&&/\s/.test(U[K]))K++;let H="unknown";if(U[K]===":"){K++;while(K<G&&/\s/.test(U[K]))K++;let I=K;while(K<G&&!U.startsWith("=>",K)&&U[K]!=="{")K++;let R=K;H=U.slice(I,R).trim()}while(K<G&&/\s/.test(U[K]))K++;if(U.startsWith("=>",K))K+=2;else return h("extract-function",'Function expression missing "=>"',z),null;let M=o9(V||"");return h("extract-function",`Extracted function type: (${M}) => ${H}`,z),`(${M}) => ${H}`}function jR(X){let z=[],U=new Set;for(let[G,W]of X.typeImports){let Y=Array.from(W).filter((q)=>X.usedTypes.has(q)).map((q)=>{let J=X.valueAliases.get(q);return J?`${q} as ${J}`:q}).sort();if(Y.length>0){let q=`import type { ${Y.join(", ")} } from '${G}'`;if(!U.has(q))z.push(q),U.add(q)}}let K=new Set;for(let[G,W]of X.valueImports){if(K.has(G))continue;K.add(G);let Y=Array.from(X.valueAliases.entries()).find(([J,Q])=>Q==="default"&&X.importSources.get(J)===G&&X.usedValues.has(J))?.[0],q=Array.from(W).filter((J)=>J!=="default").filter((J)=>{let Q=Array.from(X.valueAliases.entries()).find(([V,H])=>H===J)?.[0];return X.usedValues.has(J)||Q&&X.usedValues.has(Q)}).map((J)=>{let Q=Array.from(X.valueAliases.entries()).find(([V,H])=>H===J)?.[0];return Q?`${J} as ${Q}`:J}).sort();if(Y||q.length>0){let J="import ";if(Y){if(J+=Y,q.length>0)J+=", "}if(q.length>0)J+=`{ ${q.join(", ")} }`;if(J+=` from '${G}'`,!U.has(J))z.push(J),U.add(J)}}return z.sort()}function OR(X,z){h("extract-object",`Processing object of length ${X.length}`,z);let U=X.trim();if(!U.startsWith("{"))return null;let K=0,G=!1,W="";for(let Y=0;Y<U.length;Y++){let q=U[Y],J=Y>0?U[Y-1]:"";if((q==='"'||q==="'"||q==="`")&&J!=="\\"){if(!G)G=!0,W=q;else if(q===W)G=!1;continue}if(!G){if(q==="{")K++;else if(q==="}"){if(K--,K===0)return U.slice(0,Y+1)}}}return null}function BR(X){let z=new Set,U=[],K=[],G=[],W=[];X.dtsLines.forEach((q)=>{let J=q.trim();if(!J)return;if(J.startsWith("import"))z.add(J.replace(/;+$/,""));else if(J.startsWith("export {"))K.push(J);else if(J.startsWith("export default"))G.push(J);else if(J.startsWith("export *"))W.push(J);else U.push(J)}),Array.from(X.defaultExports).forEach((q)=>G.push(q.trim().replace(/;+$/,";")));let Y=[];if(z.size>0)Y.push(...Array.from(z).map((q)=>`${q};`),"");if(U.length>0)Y.push(...U);if(K.length>0){if(Y.length>0)Y.push("");Y.push(...K)}if(W.length>0){if(Y.length>0)Y.push("");Y.push(...W)}if(G.length>0){if(Y.length>0)Y.push("");Y.push(...G)}return Y.map((q)=>q.replace(/\/\*[\s\S]*?\*\/|\/\/.*/g,"")).join(`
347
347
  `).trim()}function ER(X){let z=X.split(`
348
348
  `),U=0;while(U<z.length){let K=z[U].trim();if(K.startsWith("//")||K.startsWith("/*")||K.startsWith("*")||K==="")U++;else break}return z.slice(U).join(`
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/dtsx",
3
3
  "type": "module",
4
- "version": "0.8.2",
4
+ "version": "0.8.3",
5
5
  "description": "A modern, fast .d.ts generation tool, powered by Bun.",
6
6
  "author": "Chris Breuer <chris@stacksjs.org>",
7
7
  "license": "MIT",