sveld 0.36.2 → 0.36.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.
- package/lib/browser.js +131 -131
- package/lib/{chunk-denfbw92.js → chunk-120ekvgm.js} +1 -1
- package/lib/{chunk-dcbq3977.js → chunk-5fcp13rt.js} +2 -2
- package/lib/{chunk-290pdrzm.js → chunk-5pnev3w1.js} +10 -10
- package/lib/chunk-8avj9zpd.js +3 -0
- package/lib/{chunk-gc8z6pa7.js → chunk-9vv4gm0m.js} +2 -2
- package/lib/chunk-bng0x7cd.js +1 -0
- package/lib/chunk-eagrqdtg.js +1 -0
- package/lib/chunk-fwfazckg.js +4 -0
- package/lib/{chunk-t9d5k3p7.js → chunk-ndh639r1.js} +1 -1
- package/lib/chunk-vq3vjgvs.js +230 -0
- package/lib/chunk-zd76tr9f.js +6 -0
- package/lib/cli-entry.js +1 -1
- package/lib/index.d.ts +4 -4
- package/lib/index.js +1 -1
- package/package.json +1 -1
- package/lib/chunk-4mbjcdex.js +0 -230
- package/lib/chunk-8myyzjb1.js +0 -4
- package/lib/chunk-f7112d82.js +0 -1
- package/lib/chunk-h1r040pg.js +0 -6
- package/lib/chunk-w5kk4gd1.js +0 -1
- package/lib/chunk-xryt7ad2.js +0 -3
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import{A as $0,B as J0,C as gO,D as x0,E as $O,H as Z1,I as v,J as n0,K as y,L as C0,M as yO,N as xO,O as uO,P as k0,Q as mO,R as lO,S as $1,T as AO,U as Q1,V as dO,v as fO,w as H0,x as Q0,y as O1,z as P0}from"./chunk-8myyzjb1.js";import{X as W1}from"./chunk-gc8z6pa7.js";class A0{constructor(){this.should_skip=!1,this.should_remove=!1,this.replacement=null,this.context={skip:()=>this.should_skip=!0,remove:()=>this.should_remove=!0,replace:(O)=>this.replacement=O}}replace(O,Z,$,Q){if(O&&Z)if($!=null)O[Z][$]=Q;else O[Z]=Q}remove(O,Z,$){if(O&&Z)if($!==null&&$!==void 0)O[Z].splice($,1);else delete O[Z]}}class N0 extends A0{constructor(O,Z){super();this.should_skip=!1,this.should_remove=!1,this.replacement=null,this.context={skip:()=>this.should_skip=!0,remove:()=>this.should_remove=!0,replace:($)=>this.replacement=$},this.enter=O,this.leave=Z}visit(O,Z,$,Q){if(O){if(this.enter){let Y=this.should_skip,X=this.should_remove,K=this.replacement;if(this.should_skip=!1,this.should_remove=!1,this.replacement=null,this.enter.call(this.context,O,Z,$,Q),this.replacement)O=this.replacement,this.replace(Z,$,Q,O);if(this.should_remove)this.remove(Z,$,Q);let q=this.should_skip,z=this.should_remove;if(this.should_skip=Y,this.should_remove=X,this.replacement=K,q)return O;if(z)return null}let W;for(W in O){let Y=O[W];if(Y&&typeof Y==="object"){if(Array.isArray(Y)){let X=Y;for(let K=0;K<X.length;K+=1){let q=X[K];if(QO(q)){if(!this.visit(q,O,W,K))K--}}}else if(QO(Y))this.visit(Y,O,W,null)}}if(this.leave){let Y=this.replacement,X=this.should_remove;if(this.replacement=null,this.should_remove=!1,this.leave.call(this.context,O,Z,$,Q),this.replacement)O=this.replacement,this.replace(Z,$,Q,O);if(this.should_remove)this.remove(Z,$,Q);let K=this.should_remove;if(this.replacement=Y,this.should_remove=X,K)return null}}return O}}function QO(O){return O!==null&&typeof O==="object"&&"type"in O&&typeof O.type==="string"}function K0(O,{enter:Z,leave:$}){return new N0(Z,$).visit(O,null)}var WO={a:"HTMLAnchorElement",abbr:"HTMLElement",address:"HTMLElement",applet:"HTMLUnknownElement",area:"HTMLAreaElement",article:"HTMLElement",aside:"HTMLElement",audio:"HTMLAudioElement",b:"HTMLElement",base:"HTMLBaseElement",basefont:"HTMLElement",bdi:"HTMLElement",bdo:"HTMLElement",blockquote:"HTMLQuoteElement",body:"HTMLBodyElement",br:"HTMLBRElement",button:"HTMLButtonElement",canvas:"HTMLCanvasElement",caption:"HTMLTableCaptionElement",cite:"HTMLElement",code:"HTMLElement",col:"HTMLTableColElement",colgroup:"HTMLTableColElement",data:"HTMLDataElement",datalist:"HTMLDataListElement",dd:"HTMLElement",del:"HTMLModElement",details:"HTMLDetailsElement",dfn:"HTMLElement",dialog:"HTMLDialogElement",dir:"HTMLDirectoryElement",div:"HTMLDivElement",dl:"HTMLDListElement",dt:"HTMLElement",em:"HTMLElement",embed:"HTMLEmbedElement",fieldset:"HTMLFieldSetElement",figcaption:"HTMLElement",figure:"HTMLElement",font:"HTMLFontElement",footer:"HTMLElement",form:"HTMLFormElement",frame:"HTMLFrameElement",frameset:"HTMLFrameSetElement",h1:"HTMLHeadingElement",h2:"HTMLHeadingElement",h3:"HTMLHeadingElement",h4:"HTMLHeadingElement",h5:"HTMLHeadingElement",h6:"HTMLHeadingElement",head:"HTMLHeadElement",header:"HTMLElement",hgroup:"HTMLElement",hr:"HTMLHRElement",html:"HTMLHtmlElement",i:"HTMLElement",iframe:"HTMLIFrameElement",img:"HTMLImageElement",input:"HTMLInputElement",ins:"HTMLModElement",kbd:"HTMLElement",label:"HTMLLabelElement",legend:"HTMLLegendElement",li:"HTMLLIElement",link:"HTMLLinkElement",main:"HTMLElement",map:"HTMLMapElement",mark:"HTMLElement",marquee:"HTMLMarqueeElement",menu:"HTMLMenuElement",meta:"HTMLMetaElement",meter:"HTMLMeterElement",nav:"HTMLElement",noscript:"HTMLElement",object:"HTMLObjectElement",ol:"HTMLOListElement",optgroup:"HTMLOptGroupElement",option:"HTMLOptionElement",output:"HTMLOutputElement",p:"HTMLParagraphElement",param:"HTMLParamElement",picture:"HTMLPictureElement",pre:"HTMLPreElement",progress:"HTMLProgressElement",q:"HTMLQuoteElement",rp:"HTMLElement",rt:"HTMLElement",ruby:"HTMLElement",s:"HTMLElement",samp:"HTMLElement",script:"HTMLScriptElement",search:"HTMLElement",section:"HTMLElement",select:"HTMLSelectElement",slot:"HTMLSlotElement",small:"HTMLElement",source:"HTMLSourceElement",span:"HTMLSpanElement",strong:"HTMLElement",style:"HTMLStyleElement",sub:"HTMLElement",summary:"HTMLElement",sup:"HTMLElement",table:"HTMLTableElement",tbody:"HTMLTableSectionElement",td:"HTMLTableCellElement",template:"HTMLTemplateElement",textarea:"HTMLTextAreaElement",tfoot:"HTMLTableSectionElement",th:"HTMLTableCellElement",thead:"HTMLTableSectionElement",time:"HTMLTimeElement",title:"HTMLTitleElement",tr:"HTMLTableRowElement",track:"HTMLTrackElement",u:"HTMLElement",ul:"HTMLUListElement",var:"HTMLElement",video:"HTMLVideoElement",wbr:"HTMLElement"};function Y1(O){return O in WO}function YO(O){if(Y1(O))return WO[O];return"HTMLElement"}var X1=/\w/;function K1(O,Z){let $=O.trim();if(!$.startsWith("{")||!$.endsWith("}"))return;let Q=$.slice(1,-1),W=[],Y=0,X="";for(let K of Q)if(K==="{"||K==="<"||K==="("||K==="[")Y++,X+=K;else if(K==="}"||K===">"||K===")"||K==="]")Y--,X+=K;else if((K===";"||K===",")&&Y===0)W.push(X.trim()),X="";else X+=K;if(X.trim())W.push(X.trim());for(let K of W){if(!K.startsWith(Z))continue;let q=K.slice(Z.length);if(q.length>0&&X1.test(q[0]))continue;let z=q.trimStart();if(z.startsWith("?"))z=z.slice(1).trimStart();if(z.startsWith(":"))return z.slice(1).trim()}return}function F0(O,Z,$){let Q=$;if(Q.computed||Q.object?.type!=="Identifier"||Q.property?.type!=="Identifier")return;let W=Q.object.name,Y=Q.property.name;if(!W||!Y)return;if(O.wholePropsLocals.has(W))return Z.getPropTypeByLocalOrPublic(Y);let X=Z.getPropTypeByLocalOrPublic(W)??Z.findVariableTypeAndDescription(W)?.type;if(!X)return;return K1(X,Y)}function v0(){return{syntaxMode:"legacy",scriptLanguage:void 0,source:void 0,parsed:void 0,runesOptionOverride:void 0,sourceLineStartOffsetsCache:void 0,rest_props:void 0,extends:void 0,customElementTag:void 0,componentComment:void 0,componentCommentSource:void 0,generics:null,scriptGenericsAttribute:void 0,diagnosticRecords:[],componentFilePath:"",props:new Map,moduleExports:new Map,propLocalToPublicName:new Map,reactive_vars:new Set,funcDecls:new Map,vars:new Set,runesPropsDeclarationMetadataByDeclaratorStart:new Map,typedRunesPropsDeclarations:[],explicitPropTypesByName:new Map,explicitVariableTypesByName:new Map,typeImportBindingsByLocalName:new Map,localTypeDeclarationsByName:new Map,wholePropsLocals:new Set,restPropLocals:new Set,componentScope:new Map,scopeDeclarations:new WeakMap,activeScopes:[],slots:new Map,snippetPropLocals:new Set,deferredSlotBlockGenerics:[],events:new Map,eventDescriptions:new Map,forwardedEvents:new Map,jsDocEventNames:new Set,jsDocEventSources:new Map,bindings:new Map,contexts:new Map,typedefs:new Map,variableInfoCache:new Map,variableInfoCacheBuilt:!1}}function q0(O,Z,$,Q,W){O.diagnosticRecords.push({component:O.componentFilePath,kind:Z,name:$,message:Q,...W?{source:W}:{}})}function n(O){return O===void 0||O===""?void 0:O}var q1=/[\r\n]+/g;function M0(O,Z,$,Q){if(n($)===void 0)return;if(O.trackPropLocalName($),Z.props.has($)){let W=Z.props.get($);Z.props.set($,{...W,...Q})}else Z.props.set($,Q)}function z0(O,Z,$,Q=0){let W,Y,X=!1;if(!$||typeof $!=="object"||!("type"in $))return{value:W,type:Y,isFunction:X};let K=KO(O,Z,$);if($.type==="ObjectExpression"||$.type==="BinaryExpression"||$.type==="ArrayExpression"||$.type==="ArrowFunctionExpression"||$.type==="FunctionExpression"){let q=$;if("start"in q&&"end"in q&&typeof q.start==="number"&&typeof q.end==="number")W=y(Z,q.start,q.end)?.replace(q1," ");if(Y=W,X=$.type==="ArrowFunctionExpression"||$.type==="FunctionExpression",$.type==="BinaryExpression"){let z=$;if(z.left&&typeof z.left==="object"&&"type"in z.left&&z.left.type==="Literal"&&"value"in z.left&&typeof z.left.value==="string")Y="string"}if($.type==="ArrowFunctionExpression"||$.type==="FunctionExpression")Y=GO($),W=XO(Z,$)}else if($.type==="UnaryExpression"){let q=$;if("start"in q&&"end"in q&&typeof q.start==="number"&&typeof q.end==="number")W=y(Z,q.start,q.end);if(q.argument){if(typeof q.argument==="object"&&"type"in q.argument&&q.argument.type==="UnaryExpression")Y=z0(O,Z,q.argument).type;else if(typeof q.argument==="object"&&"value"in q.argument)Y=typeof q.argument.value}}else if($.type==="NewExpression"){let q=$;if("start"in q&&"end"in q&&typeof q.start==="number"&&typeof q.end==="number")W=y(Z,q.start,q.end);if(q.callee&&typeof q.callee==="object"&&"type"in q.callee&&q.callee.type==="Identifier"){let z=q.callee.name;if(z==="Date")Y="Date";else if(z==="Map")Y="Map<any, any>";else if(z==="Set")Y="Set<any>";else if(z==="WeakMap")Y="WeakMap<object, any>";else if(z==="WeakSet")Y="WeakSet<object>";else if(z==="Array")Y="any[]";else if(z==="RegExp"||z==="Regexp")Y="RegExp";else if(z==="Error")Y="Error";else Y=z}}else if($.type==="CallExpression"){let q=$;if("start"in q&&"end"in q&&typeof q.start==="number"&&typeof q.end==="number")W=y(Z,q.start,q.end)}else if($.type==="Identifier"){let q=$;if(Q<5){let z=G1(Z,q.name);if(z){let U=z0(O,Z,z,Q+1),J=O.resolveLocalVarJSDoc(q.name);return{...U,resolvedType:J?.type??U.resolvedType,resolvedDescription:J?.description??U.resolvedDescription,resolvedParams:J?.params??U.resolvedParams,resolvedReturnType:J?.returnType??U.resolvedReturnType}}if(Z.funcDecls.has(q.name)){let U=O.resolveLocalVarJSDoc(q.name),J=Z.funcDecls.get(q.name);return{value:J?XO(Z,J):void 0,type:void 0,isFunction:!0,defaultValue:J?KO(O,Z,J):void 0,resolvedType:U?.type??U1(U,J),resolvedDescription:U?.description,resolvedParams:U?.params,resolvedReturnType:U?.returnType}}}if("start"in q&&"end"in q&&typeof q.start==="number"&&typeof q.end==="number")W=y(Z,q.start,q.end)}else if($.type==="MemberExpression"){let q=$;if("start"in q&&"end"in q&&typeof q.start==="number"&&typeof q.end==="number")W=y(Z,q.start,q.end);if(O.isNumericConstant($))Y="number"}else if($.type==="TemplateLiteral"){let q=$;if("start"in q&&"end"in q&&typeof q.start==="number"&&typeof q.end==="number")W=y(Z,q.start,q.end);Y="string"}else if("raw"in $&&typeof $.raw==="string"){if(W=$.raw,"value"in $)Y=$.value==null?void 0:typeof $.value}return{value:W,type:Y,isFunction:X,defaultValue:K}}function G1(O,Z){for(let $ of O.vars)for(let Q of $.declarations)if(Q.id&&typeof Q.id==="object"&&"type"in Q.id&&Q.id.type==="Identifier"&&"name"in Q.id&&Q.id.name===Z&&Q.init)return Q.init;return}function qO(O,Z){for(let $ of O.vars){if($.kind!=="const")continue;for(let Q of $.declarations)if(Q.id&&typeof Q.id==="object"&&"type"in Q.id&&Q.id.type==="Identifier"&&"name"in Q.id&&Q.id.name===Z&&Q.init)return Q.init}return}function U1(O,Z){let $=O?.returnType??"any",Q=O?.params;if(Q&&Q.length>0)return`(${Q.map((Y)=>`${Y.name}${Y.optional?"?":""}: ${Y.type}`).join(", ")}) => ${$}`;if(O?.returnType)return`() => ${$}`;if(Z)return GO(Z);return"(...args: any[]) => any"}function GO(O){return`(${z1(O)}) => ${H1(O)}`}function z1(O){let Z=O.params;if(!Array.isArray(Z)||Z.length===0)return"...args: any[]";let $=[];for(let Q of Z)if(Q&&typeof Q==="object"&&"type"in Q&&Q.type==="Identifier"&&"name"in Q&&typeof Q.name==="string")$.push(`${Q.name}: any`);else return"...args: any[]";return $.join(", ")}function H1(O){if(O.async||O.generator)return"any";let Z=O.body,$;if(Z&&typeof Z==="object"&&"type"in Z&&Z.type==="BlockStatement"){if($=j1(Z),$.length===0)return"any"}else $=[Z];let Q=null;for(let W of $){let Y=J1(W);if(!Y)return"any";if(Q===null)Q=Y;else if(Q!==Y)return"any"}return Q??"any"}function j1(O){let Z=[];return K0(O,{enter($){if($.type==="FunctionDeclaration"||$.type==="FunctionExpression"||$.type==="ArrowFunctionExpression"){this.skip();return}if($.type==="ReturnStatement")Z.push($.argument??null)}}),Z}function J1(O){if(!O||typeof O!=="object"||!("type"in O))return null;switch(O.type){case"Literal":{let Z=O.value;if(typeof Z==="string")return"string";if(typeof Z==="number")return"number";if(typeof Z==="boolean")return"boolean";return null}case"TemplateLiteral":return"string";case"CallExpression":{let Z=O.callee;if(Z&&typeof Z==="object"&&"type"in Z&&Z.type==="Identifier"){let $=Z.name;if($==="String")return"string";if($==="Number")return"number";if($==="Boolean")return"boolean"}return null}default:return null}}function UO(O){if($0(O,"$bindable"))return{init:O.arguments[0],bindable:!0};return{init:O,bindable:!1}}function M1(O,Z){let $=Z.params;if(!Array.isArray($)||$.length===0)return"";let Q=$[0],W=$[$.length-1];if(typeof Q.start!=="number"||typeof W.end!=="number")return"";return y(O,Q.start,W.end)??""}function XO(O,Z){if(Z.generator)return;let $=Z.body;if(!$||typeof $!=="object"||!("type"in $))return;let Q=M1(O,Z),W=Z.async?"async ":"",Y=(K,q)=>K&&typeof K==="object"&&("type"in K)&&K.type==="ObjectExpression"?`(${q})`:q;if($.type!=="BlockStatement"){let K=C0(O,$);return K===void 0?void 0:`${W}(${Q}) => ${Y($,K)}`}let X=$.body;if(X.length===0)return`${W}(${Q}) => {}`;if(X.length===1){let K=X[0];if(K&&typeof K==="object"&&"type"in K&&K.type==="ReturnStatement"){let q=K.argument;if(q){let z=C0(O,q);if(z!==void 0)return`${W}(${Q}) => ${Y(q,z)}`}}}return}function KO(O,Z,$){let Q=C0(Z,$);if(!Q||!$||typeof $!=="object"||!("type"in $))return;let W="expression";if($.type==="Literal"||$.type==="UnaryExpression")W="literal";else if($.type==="TemplateLiteral")W=$.expressions.length===0?"literal":"expression";else if($.type==="ArrayExpression")W="array";else if($.type==="ObjectExpression")W="object";else if($.type==="ArrowFunctionExpression"||$.type==="FunctionExpression"||$.type==="FunctionDeclaration")W="function";let Y={raw:Q,kind:W};if(W==="literal"||W==="array"||W==="object"){let X=g0(O,$);if(X.ok)Y.value=X.value}return Y}function g0(O,Z){if(!Z||typeof Z!=="object"||!("type"in Z))return{ok:!1};if(Z.type==="Literal"){let $=Z.value;return typeof $==="bigint"?{ok:!1}:{ok:!0,value:$}}if(Z.type==="UnaryExpression"){let $=Z,Q=$.argument;if(!Q||typeof Q!=="object"||!("type"in Q)||Q.type!=="Literal")return{ok:!1};let W=Q.value;if(typeof W==="number"){if($.operator==="-")return{ok:!0,value:-W};if($.operator==="+")return{ok:!0,value:W}}if(typeof W==="boolean"&&$.operator==="!")return{ok:!0,value:!W};return{ok:!1}}if(Z.type==="TemplateLiteral"){let $=Z;if($.expressions.length>0||$.quasis.length!==1)return{ok:!1};return{ok:!0,value:$.quasis[0].value.cooked??$.quasis[0].value.raw}}if(Z.type==="ArrayExpression"){let $=Z,Q=[];for(let W of $.elements){if(!W)return{ok:!1};let Y=g0(O,W);if(!Y.ok)return{ok:!1};Q.push(Y.value)}return{ok:!0,value:Q}}if(Z.type==="ObjectExpression"){let $=Z,Q={};for(let W of $.properties){if(W.type!=="Property"||W.computed)return{ok:!1};let Y=O.getPropertyName(W.key);if(!Y)return{ok:!1};let X=g0(O,W.value);if(!X.ok)return{ok:!1};Q[Y]=X.value}return{ok:!0,value:Q}}return{ok:!1}}var B1=/[-_.:/\s]+/;function y0(O){return`${O.split(B1).map((Q)=>Q.charAt(0).toUpperCase()+Q.slice(1)).join("")}Context`}function V1(O,Z,$,Q){if(!$||typeof $!=="object"||!("type"in $))return null;if($.type==="ObjectExpression"){let W=[];if(!P0($))return null;let Y=$;for(let X of Y.properties){if(X.type!=="Property")continue;let K=Z.getPropertyName(X.key);if(!K)continue;let q="any",z;if(Q0(X.value)){let U=X.value.name,J=Z.findVariableTypeAndDescription(U);if(J)q=J.type,z=J.description;else q0(O,"context-any-type",K,`Context "${Q}" property "${K}" has no type annotation; defaulted to "any".`,v(O,X))}else if(X.value&&typeof X.value==="object"&&"type"in X.value&&(X.value.type==="ArrowFunctionExpression"||X.value.type==="FunctionExpression"))q=`(${X.value.params?.map((V)=>{if(Q0(V))return`${V.name||"arg"}: any`;return"arg: any"}).join(", ")||""}) => any`;else if(H0(X.value))q=X.value.value==null?"null":typeof X.value.value;W.push({name:K,type:q,description:z,optional:!1})}return{key:Q,typeName:y0(Q),properties:W,description:void 0}}else if(Q0($)){let W=$.name,Y=Z.findVariableTypeAndDescription(W);if(Y)return{key:Q,typeName:y0(Q),properties:[{name:W,type:Y.type,description:Y.description,optional:!1}]};return q0(O,"context-any-type",W,`Context "${Q}" variable "${W}" has no type annotation; defaulted to "any".`,v(O,$)),{key:Q,typeName:y0(Q),properties:[{name:W,type:"any",description:void 0,optional:!1}]}}return null}function zO(O){let Z=O.callee;if(!Z||typeof Z!=="object"||!("type"in Z))return null;let $=Z.type==="Identifier"&&Z.name==="Symbol",Q=Z.type==="MemberExpression"&&!Z.computed&&Z.object.type==="Identifier"&&Z.object.name==="Symbol"&&Z.property.type==="Identifier"&&Z.property.name==="for";if(!$&&!Q)return null;let W=O.arguments[0];if(!W||typeof W!=="object"||!("type"in W))return"";if(W.type==="Literal"&&typeof W.value==="string")return W.value;if(W.type==="TemplateLiteral"&&W.quasis?.length===1)return W.quasis[0].value.cooked??"";return""}function HO(O,Z,$=0){if(!Z||typeof Z!=="object"||!("type"in Z))return null;let Q=Z;if(Q.type==="Literal")return typeof Q.value==="string"?Q.value:Q.value==null?null:String(Q.value);if(Q.type==="TemplateLiteral"){if(Q.quasis?.length===1){let W=Q.quasis[0].value.cooked;return W==null?null:W}return null}if(Q.type==="CallExpression"||Q.type==="NewExpression")return zO(Q);if(Q.type==="Identifier"){if($>=5)return null;let W=qO(O,Q.name);if(W&&typeof W==="object"&&"type"in W){let Y=W;if((Y.type==="CallExpression"||Y.type==="NewExpression")&&zO(Y)==="")return Q.name;return HO(O,Y,$+1)}return null}return null}function jO(O,Z,$,Q){if(!$||typeof $!=="object"||!("type"in $)||$.type!=="CallExpression")return;let W=$,Y=W.arguments[0];if(!Y)return;let X=HO(O,Y);if(!X){let z=O.componentFilePath?` in ${O.componentFilePath}`:"";console.warn(`Warning: Could not resolve setContext key${z}. Use a string literal, const-bound string, or Symbol(). Skipping context type generation.`);return}let K=W.arguments[1];if(!K)return;let q=V1(O,Z,K,X);if(q&&!O.contexts.has(X))O.contexts.set(X,q)}function u0(O){return typeof O==="string"?JSON.stringify(O):String(O)}function B0(O,{name:Z,detail:$,has_argument:Q,description:W,deprecated:Y,tags:X,source:K}){if(Z===void 0)return;let q=!Q&&!$?"null":n($),z=W,U=O.events.get(Z);if(U?.type==="forwarded")O.events.set(Z,{type:"dispatched",name:Z,detail:q,description:z||U.description,deprecated:Y??U.deprecated,tags:X??U.tags,source:K||U.source});else if(U){let J=U.tags??X;O.events.set(Z,{...U,detail:U.detail===void 0?q:U.detail,description:U.description||z,deprecated:U.deprecated??Y,tags:J,source:K||U.source})}else O.events.set(Z,{type:"dispatched",name:Z,detail:q,description:z,deprecated:Y,tags:X,source:K})}function JO(O,Z){let $=Z.arguments[0],Q=x0($,"CustomEvent");if(!Q&&!x0($,"Event"))return;let W=$.arguments[0],Y=H0(W)?W.value:void 0;if(Y==null)return;let X=Q?$.arguments[1]:void 0,K=!1,q;if(P0(X)){let z=X.properties.find((U)=>U.type==="Property"&&Q0(U.key)&&U.key.name==="detail");if(z?.type==="Property")K=!0,q=H0(z.value)?z.value.value:void 0}return B0(O,{name:String(Y),detail:q==null?"":u0(q),has_argument:K,source:v(O,Z)}),String(Y)}function m0(O,Z,$=!1){if(O.length===0)return"null";let Q=O.map(({name:W,type:Y,description:X,optional:K,default:q})=>{let z=K?"?":"",U=X||"";if(q&&U)U=`${U} @default ${q}`;else if(q)U=`@default ${q}`;if(U){if($)return`/** ${U} */
|
|
1
|
+
import{A as $0,B as J0,C as xO,D as x0,E as QO,H as GO,I as Q1,J as v,K as n0,L as y,M as C0,N as uO,O as mO,P as lO,Q as k0,R as dO,S as cO,T as W1,U as CO,V as Y1,W as iO,v as bO,w as H0,x as Q0,y as $1,z as P0}from"./chunk-fwfazckg.js";import{Y as X1}from"./chunk-9vv4gm0m.js";class A0{constructor(){this.should_skip=!1,this.should_remove=!1,this.replacement=null,this.context={skip:()=>this.should_skip=!0,remove:()=>this.should_remove=!0,replace:(O)=>this.replacement=O}}replace(O,Z,$,Q){if(O&&Z)if($!=null)O[Z][$]=Q;else O[Z]=Q}remove(O,Z,$){if(O&&Z)if($!==null&&$!==void 0)O[Z].splice($,1);else delete O[Z]}}class N0 extends A0{constructor(O,Z){super();this.should_skip=!1,this.should_remove=!1,this.replacement=null,this.context={skip:()=>this.should_skip=!0,remove:()=>this.should_remove=!0,replace:($)=>this.replacement=$},this.enter=O,this.leave=Z}visit(O,Z,$,Q){if(O){if(this.enter){let Y=this.should_skip,X=this.should_remove,K=this.replacement;if(this.should_skip=!1,this.should_remove=!1,this.replacement=null,this.enter.call(this.context,O,Z,$,Q),this.replacement)O=this.replacement,this.replace(Z,$,Q,O);if(this.should_remove)this.remove(Z,$,Q);let q=this.should_skip,z=this.should_remove;if(this.should_skip=Y,this.should_remove=X,this.replacement=K,q)return O;if(z)return null}let W;for(W in O){let Y=O[W];if(Y&&typeof Y==="object"){if(Array.isArray(Y)){let X=Y;for(let K=0;K<X.length;K+=1){let q=X[K];if(WO(q)){if(!this.visit(q,O,W,K))K--}}}else if(WO(Y))this.visit(Y,O,W,null)}}if(this.leave){let Y=this.replacement,X=this.should_remove;if(this.replacement=null,this.should_remove=!1,this.leave.call(this.context,O,Z,$,Q),this.replacement)O=this.replacement,this.replace(Z,$,Q,O);if(this.should_remove)this.remove(Z,$,Q);let K=this.should_remove;if(this.replacement=Y,this.should_remove=X,K)return null}}return O}}function WO(O){return O!==null&&typeof O==="object"&&"type"in O&&typeof O.type==="string"}function K0(O,{enter:Z,leave:$}){return new N0(Z,$).visit(O,null)}var YO={a:"HTMLAnchorElement",abbr:"HTMLElement",address:"HTMLElement",applet:"HTMLUnknownElement",area:"HTMLAreaElement",article:"HTMLElement",aside:"HTMLElement",audio:"HTMLAudioElement",b:"HTMLElement",base:"HTMLBaseElement",basefont:"HTMLElement",bdi:"HTMLElement",bdo:"HTMLElement",blockquote:"HTMLQuoteElement",body:"HTMLBodyElement",br:"HTMLBRElement",button:"HTMLButtonElement",canvas:"HTMLCanvasElement",caption:"HTMLTableCaptionElement",cite:"HTMLElement",code:"HTMLElement",col:"HTMLTableColElement",colgroup:"HTMLTableColElement",data:"HTMLDataElement",datalist:"HTMLDataListElement",dd:"HTMLElement",del:"HTMLModElement",details:"HTMLDetailsElement",dfn:"HTMLElement",dialog:"HTMLDialogElement",dir:"HTMLDirectoryElement",div:"HTMLDivElement",dl:"HTMLDListElement",dt:"HTMLElement",em:"HTMLElement",embed:"HTMLEmbedElement",fieldset:"HTMLFieldSetElement",figcaption:"HTMLElement",figure:"HTMLElement",font:"HTMLFontElement",footer:"HTMLElement",form:"HTMLFormElement",frame:"HTMLFrameElement",frameset:"HTMLFrameSetElement",h1:"HTMLHeadingElement",h2:"HTMLHeadingElement",h3:"HTMLHeadingElement",h4:"HTMLHeadingElement",h5:"HTMLHeadingElement",h6:"HTMLHeadingElement",head:"HTMLHeadElement",header:"HTMLElement",hgroup:"HTMLElement",hr:"HTMLHRElement",html:"HTMLHtmlElement",i:"HTMLElement",iframe:"HTMLIFrameElement",img:"HTMLImageElement",input:"HTMLInputElement",ins:"HTMLModElement",kbd:"HTMLElement",label:"HTMLLabelElement",legend:"HTMLLegendElement",li:"HTMLLIElement",link:"HTMLLinkElement",main:"HTMLElement",map:"HTMLMapElement",mark:"HTMLElement",marquee:"HTMLMarqueeElement",menu:"HTMLMenuElement",meta:"HTMLMetaElement",meter:"HTMLMeterElement",nav:"HTMLElement",noscript:"HTMLElement",object:"HTMLObjectElement",ol:"HTMLOListElement",optgroup:"HTMLOptGroupElement",option:"HTMLOptionElement",output:"HTMLOutputElement",p:"HTMLParagraphElement",param:"HTMLParamElement",picture:"HTMLPictureElement",pre:"HTMLPreElement",progress:"HTMLProgressElement",q:"HTMLQuoteElement",rp:"HTMLElement",rt:"HTMLElement",ruby:"HTMLElement",s:"HTMLElement",samp:"HTMLElement",script:"HTMLScriptElement",search:"HTMLElement",section:"HTMLElement",select:"HTMLSelectElement",slot:"HTMLSlotElement",small:"HTMLElement",source:"HTMLSourceElement",span:"HTMLSpanElement",strong:"HTMLElement",style:"HTMLStyleElement",sub:"HTMLElement",summary:"HTMLElement",sup:"HTMLElement",table:"HTMLTableElement",tbody:"HTMLTableSectionElement",td:"HTMLTableCellElement",template:"HTMLTemplateElement",textarea:"HTMLTextAreaElement",tfoot:"HTMLTableSectionElement",th:"HTMLTableCellElement",thead:"HTMLTableSectionElement",time:"HTMLTimeElement",title:"HTMLTitleElement",tr:"HTMLTableRowElement",track:"HTMLTrackElement",u:"HTMLElement",ul:"HTMLUListElement",var:"HTMLElement",video:"HTMLVideoElement",wbr:"HTMLElement"};function K1(O){return O in YO}function XO(O){if(K1(O))return YO[O];return"HTMLElement"}var q1=/\w/;function G1(O,Z){let $=O.trim();if(!$.startsWith("{")||!$.endsWith("}"))return;let Q=$.slice(1,-1),W=[],Y=0,X="";for(let K of Q)if(K==="{"||K==="<"||K==="("||K==="[")Y++,X+=K;else if(K==="}"||K===">"||K===")"||K==="]")Y--,X+=K;else if((K===";"||K===",")&&Y===0)W.push(X.trim()),X="";else X+=K;if(X.trim())W.push(X.trim());for(let K of W){if(!K.startsWith(Z))continue;let q=K.slice(Z.length);if(q.length>0&&q1.test(q[0]))continue;let z=q.trimStart();if(z.startsWith("?"))z=z.slice(1).trimStart();if(z.startsWith(":"))return z.slice(1).trim()}return}function F0(O,Z,$){let Q=$;if(Q.computed||Q.object?.type!=="Identifier"||Q.property?.type!=="Identifier")return;let W=Q.object.name,Y=Q.property.name;if(!W||!Y)return;if(O.wholePropsLocals.has(W))return Z.getPropTypeByLocalOrPublic(Y);let X=Z.getPropTypeByLocalOrPublic(W)??Z.findVariableTypeAndDescription(W)?.type;if(!X)return;return G1(X,Y)}function v0(){return{syntaxMode:"legacy",scriptLanguage:void 0,source:void 0,parsed:void 0,runesOptionOverride:void 0,sourceLineStartOffsetsCache:void 0,rest_props:void 0,extends:void 0,customElementTag:void 0,componentComment:void 0,componentCommentSource:void 0,generics:null,scriptGenericsAttribute:void 0,diagnosticRecords:[],componentFilePath:"",props:new Map,moduleExports:new Map,propLocalToPublicName:new Map,reactive_vars:new Set,funcDecls:new Map,vars:new Set,runesPropsDeclarationMetadataByDeclaratorStart:new Map,typedRunesPropsDeclarations:[],explicitPropTypesByName:new Map,explicitVariableTypesByName:new Map,typeImportBindingsByLocalName:new Map,localTypeDeclarationsByName:new Map,wholePropsLocals:new Set,restPropLocals:new Set,componentScope:new Map,scopeDeclarations:new WeakMap,activeScopes:[],slots:new Map,snippetPropLocals:new Set,deferredSlotBlockGenerics:[],events:new Map,eventDescriptions:new Map,forwardedEvents:new Map,jsDocEventNames:new Set,jsDocEventSources:new Map,bindings:new Map,contexts:new Map,typedefs:new Map,variableInfoCache:new Map,variableInfoCacheBuilt:!1}}function q0(O,Z,$,Q,W){O.diagnosticRecords.push({component:O.componentFilePath,kind:Z,name:$,message:Q,...W?{source:W}:{}})}function n(O){return O===void 0||O===""?void 0:O}function M0(O,Z,$,Q){if(n($)===void 0)return;if(O.trackPropLocalName($),Z.props.has($)){let W=Z.props.get($);Z.props.set($,{...W,...Q})}else Z.props.set($,Q)}function z0(O,Z,$,Q=0){let W,Y,X=!1;if(!$||typeof $!=="object"||!("type"in $))return{value:W,type:Y,isFunction:X};let K=qO(O,Z,$);if($.type==="ObjectExpression"||$.type==="BinaryExpression"||$.type==="ArrayExpression"||$.type==="ArrowFunctionExpression"||$.type==="FunctionExpression"){let q=$;if("start"in q&&"end"in q&&typeof q.start==="number"&&typeof q.end==="number")W=y(Z,q.start,q.end)?.replace(GO," ");if(Y=W,X=$.type==="ArrowFunctionExpression"||$.type==="FunctionExpression",$.type==="BinaryExpression"){let z=$;if(z.left&&typeof z.left==="object"&&"type"in z.left&&z.left.type==="Literal"&&"value"in z.left&&typeof z.left.value==="string")Y="string"}if($.type==="ArrowFunctionExpression"||$.type==="FunctionExpression")Y=zO($),W=KO(Z,$)}else if($.type==="UnaryExpression"){let q=$;if("start"in q&&"end"in q&&typeof q.start==="number"&&typeof q.end==="number")W=y(Z,q.start,q.end);if(q.argument){if(typeof q.argument==="object"&&"type"in q.argument&&q.argument.type==="UnaryExpression")Y=z0(O,Z,q.argument).type;else if(typeof q.argument==="object"&&"value"in q.argument)Y=typeof q.argument.value}}else if($.type==="NewExpression"){let q=$;if("start"in q&&"end"in q&&typeof q.start==="number"&&typeof q.end==="number")W=y(Z,q.start,q.end);if(q.callee&&typeof q.callee==="object"&&"type"in q.callee&&q.callee.type==="Identifier"){let z=q.callee.name;if(z==="Date")Y="Date";else if(z==="Map")Y="Map<any, any>";else if(z==="Set")Y="Set<any>";else if(z==="WeakMap")Y="WeakMap<object, any>";else if(z==="WeakSet")Y="WeakSet<object>";else if(z==="Array")Y="any[]";else if(z==="RegExp"||z==="Regexp")Y="RegExp";else if(z==="Error")Y="Error";else Y=z}}else if($.type==="CallExpression"){let q=$;if("start"in q&&"end"in q&&typeof q.start==="number"&&typeof q.end==="number")W=y(Z,q.start,q.end)}else if($.type==="Identifier"){let q=$;if(Q<5){let z=U1(Z,q.name);if(z){let U=z0(O,Z,z,Q+1),J=O.resolveLocalVarJSDoc(q.name);return{...U,resolvedType:J?.type??U.resolvedType,resolvedDescription:J?.description??U.resolvedDescription,resolvedParams:J?.params??U.resolvedParams,resolvedReturnType:J?.returnType??U.resolvedReturnType}}if(Z.funcDecls.has(q.name)){let U=O.resolveLocalVarJSDoc(q.name),J=Z.funcDecls.get(q.name);return{value:J?KO(Z,J):void 0,type:void 0,isFunction:!0,defaultValue:J?qO(O,Z,J):void 0,resolvedType:U?.type??z1(U,J),resolvedDescription:U?.description,resolvedParams:U?.params,resolvedReturnType:U?.returnType}}}if("start"in q&&"end"in q&&typeof q.start==="number"&&typeof q.end==="number")W=y(Z,q.start,q.end)}else if($.type==="MemberExpression"){let q=$;if("start"in q&&"end"in q&&typeof q.start==="number"&&typeof q.end==="number")W=y(Z,q.start,q.end);if(O.isNumericConstant($))Y="number"}else if($.type==="TemplateLiteral"){let q=$;if("start"in q&&"end"in q&&typeof q.start==="number"&&typeof q.end==="number")W=y(Z,q.start,q.end);Y="string"}else if("raw"in $&&typeof $.raw==="string"){if(W=$.raw,"value"in $)Y=$.value==null?void 0:typeof $.value}return{value:W,type:Y,isFunction:X,defaultValue:K}}function U1(O,Z){for(let $ of O.vars)for(let Q of $.declarations)if(Q.id&&typeof Q.id==="object"&&"type"in Q.id&&Q.id.type==="Identifier"&&"name"in Q.id&&Q.id.name===Z&&Q.init)return Q.init;return}function UO(O,Z){for(let $ of O.vars){if($.kind!=="const")continue;for(let Q of $.declarations)if(Q.id&&typeof Q.id==="object"&&"type"in Q.id&&Q.id.type==="Identifier"&&"name"in Q.id&&Q.id.name===Z&&Q.init)return Q.init}return}function z1(O,Z){let $=O?.returnType??"any",Q=O?.params;if(Q&&Q.length>0)return`(${Q.map((Y)=>`${Y.name}${Y.optional?"?":""}: ${Y.type}`).join(", ")}) => ${$}`;if(O?.returnType)return`() => ${$}`;if(Z)return zO(Z);return"(...args: any[]) => any"}function zO(O){return`(${H1(O)}) => ${j1(O)}`}function H1(O){let Z=O.params;if(!Array.isArray(Z)||Z.length===0)return"...args: any[]";let $=[];for(let Q of Z)if(Q&&typeof Q==="object"&&"type"in Q&&Q.type==="Identifier"&&"name"in Q&&typeof Q.name==="string")$.push(`${Q.name}: any`);else return"...args: any[]";return $.join(", ")}function j1(O){if(O.async||O.generator)return"any";let Z=O.body,$;if(Z&&typeof Z==="object"&&"type"in Z&&Z.type==="BlockStatement"){if($=J1(Z),$.length===0)return"any"}else $=[Z];let Q=null;for(let W of $){let Y=M1(W);if(!Y)return"any";if(Q===null)Q=Y;else if(Q!==Y)return"any"}return Q??"any"}function J1(O){let Z=[];return K0(O,{enter($){if($.type==="FunctionDeclaration"||$.type==="FunctionExpression"||$.type==="ArrowFunctionExpression"){this.skip();return}if($.type==="ReturnStatement")Z.push($.argument??null)}}),Z}function M1(O){if(!O||typeof O!=="object"||!("type"in O))return null;switch(O.type){case"Literal":{let Z=O.value;if(typeof Z==="string")return"string";if(typeof Z==="number")return"number";if(typeof Z==="boolean")return"boolean";return null}case"TemplateLiteral":return"string";case"CallExpression":{let Z=O.callee;if(Z&&typeof Z==="object"&&"type"in Z&&Z.type==="Identifier"){let $=Z.name;if($==="String")return"string";if($==="Number")return"number";if($==="Boolean")return"boolean"}return null}default:return null}}function HO(O){if($0(O,"$bindable"))return{init:O.arguments[0],bindable:!0};return{init:O,bindable:!1}}function B1(O,Z){let $=Z.params;if(!Array.isArray($)||$.length===0)return"";let Q=$[0],W=$[$.length-1];if(typeof Q.start!=="number"||typeof W.end!=="number")return"";return y(O,Q.start,W.end)??""}function KO(O,Z){if(Z.generator)return;let $=Z.body;if(!$||typeof $!=="object"||!("type"in $))return;let Q=B1(O,Z),W=Z.async?"async ":"",Y=(K,q)=>K&&typeof K==="object"&&("type"in K)&&K.type==="ObjectExpression"?`(${q})`:q;if($.type!=="BlockStatement"){let K=C0(O,$);return K===void 0?void 0:`${W}(${Q}) => ${Y($,K)}`}let X=$.body;if(X.length===0)return`${W}(${Q}) => {}`;if(X.length===1){let K=X[0];if(K&&typeof K==="object"&&"type"in K&&K.type==="ReturnStatement"){let q=K.argument;if(q){let z=C0(O,q);if(z!==void 0)return`${W}(${Q}) => ${Y(q,z)}`}}}return}function qO(O,Z,$){let Q=C0(Z,$);if(!Q||!$||typeof $!=="object"||!("type"in $))return;let W="expression";if($.type==="Literal"||$.type==="UnaryExpression")W="literal";else if($.type==="TemplateLiteral")W=$.expressions.length===0?"literal":"expression";else if($.type==="ArrayExpression")W="array";else if($.type==="ObjectExpression")W="object";else if($.type==="ArrowFunctionExpression"||$.type==="FunctionExpression"||$.type==="FunctionDeclaration")W="function";let Y={raw:Q,kind:W};if(W==="literal"||W==="array"||W==="object"){let X=g0(O,$);if(X.ok)Y.value=X.value}return Y}function g0(O,Z){if(!Z||typeof Z!=="object"||!("type"in Z))return{ok:!1};if(Z.type==="Literal"){let $=Z.value;return typeof $==="bigint"?{ok:!1}:{ok:!0,value:$}}if(Z.type==="UnaryExpression"){let $=Z,Q=$.argument;if(!Q||typeof Q!=="object"||!("type"in Q)||Q.type!=="Literal")return{ok:!1};let W=Q.value;if(typeof W==="number"){if($.operator==="-")return{ok:!0,value:-W};if($.operator==="+")return{ok:!0,value:W}}if(typeof W==="boolean"&&$.operator==="!")return{ok:!0,value:!W};return{ok:!1}}if(Z.type==="TemplateLiteral"){let $=Z;if($.expressions.length>0||$.quasis.length!==1)return{ok:!1};return{ok:!0,value:$.quasis[0].value.cooked??$.quasis[0].value.raw}}if(Z.type==="ArrayExpression"){let $=Z,Q=[];for(let W of $.elements){if(!W)return{ok:!1};let Y=g0(O,W);if(!Y.ok)return{ok:!1};Q.push(Y.value)}return{ok:!0,value:Q}}if(Z.type==="ObjectExpression"){let $=Z,Q={};for(let W of $.properties){if(W.type!=="Property"||W.computed)return{ok:!1};let Y=O.getPropertyName(W.key);if(!Y)return{ok:!1};let X=g0(O,W.value);if(!X.ok)return{ok:!1};Q[Y]=X.value}return{ok:!0,value:Q}}return{ok:!1}}var V1=/[-_.:/\s]+/;function y0(O){return`${O.split(V1).map((Q)=>Q.charAt(0).toUpperCase()+Q.slice(1)).join("")}Context`}function L1(O,Z,$,Q){if(!$||typeof $!=="object"||!("type"in $))return null;if($.type==="ObjectExpression"){let W=[];if(!P0($))return null;let Y=$;for(let X of Y.properties){if(X.type!=="Property")continue;let K=Z.getPropertyName(X.key);if(!K)continue;let q="any",z;if(Q0(X.value)){let U=X.value.name,J=Z.findVariableTypeAndDescription(U);if(J)q=J.type,z=J.description;else q0(O,"context-any-type",K,`Context "${Q}" property "${K}" has no type annotation; defaulted to "any".`,v(O,X))}else if(X.value&&typeof X.value==="object"&&"type"in X.value&&(X.value.type==="ArrowFunctionExpression"||X.value.type==="FunctionExpression"))q=`(${X.value.params?.map((V)=>{if(Q0(V))return`${V.name||"arg"}: any`;return"arg: any"}).join(", ")||""}) => any`;else if(H0(X.value))q=X.value.value==null?"null":typeof X.value.value;W.push({name:K,type:q,description:z,optional:!1})}return{key:Q,typeName:y0(Q),properties:W,description:void 0}}else if(Q0($)){let W=$.name,Y=Z.findVariableTypeAndDescription(W);if(Y)return{key:Q,typeName:y0(Q),properties:[{name:W,type:Y.type,description:Y.description,optional:!1}]};return q0(O,"context-any-type",W,`Context "${Q}" variable "${W}" has no type annotation; defaulted to "any".`,v(O,$)),{key:Q,typeName:y0(Q),properties:[{name:W,type:"any",description:void 0,optional:!1}]}}return null}function jO(O){let Z=O.callee;if(!Z||typeof Z!=="object"||!("type"in Z))return null;let $=Z.type==="Identifier"&&Z.name==="Symbol",Q=Z.type==="MemberExpression"&&!Z.computed&&Z.object.type==="Identifier"&&Z.object.name==="Symbol"&&Z.property.type==="Identifier"&&Z.property.name==="for";if(!$&&!Q)return null;let W=O.arguments[0];if(!W||typeof W!=="object"||!("type"in W))return"";if(W.type==="Literal"&&typeof W.value==="string")return W.value;if(W.type==="TemplateLiteral"&&W.quasis?.length===1)return W.quasis[0].value.cooked??"";return""}function JO(O,Z,$=0){if(!Z||typeof Z!=="object"||!("type"in Z))return null;let Q=Z;if(Q.type==="Literal")return typeof Q.value==="string"?Q.value:Q.value==null?null:String(Q.value);if(Q.type==="TemplateLiteral"){if(Q.quasis?.length===1){let W=Q.quasis[0].value.cooked;return W==null?null:W}return null}if(Q.type==="CallExpression"||Q.type==="NewExpression")return jO(Q);if(Q.type==="Identifier"){if($>=5)return null;let W=UO(O,Q.name);if(W&&typeof W==="object"&&"type"in W){let Y=W;if((Y.type==="CallExpression"||Y.type==="NewExpression")&&jO(Y)==="")return Q.name;return JO(O,Y,$+1)}return null}return null}function MO(O,Z,$,Q){if(!$||typeof $!=="object"||!("type"in $)||$.type!=="CallExpression")return;let W=$,Y=W.arguments[0];if(!Y)return;let X=JO(O,Y);if(!X){let z=O.componentFilePath?` in ${O.componentFilePath}`:"";console.warn(`Warning: Could not resolve setContext key${z}. Use a string literal, const-bound string, or Symbol(). Skipping context type generation.`);return}let K=W.arguments[1];if(!K)return;let q=L1(O,Z,K,X);if(q&&!O.contexts.has(X))O.contexts.set(X,q)}function u0(O){return typeof O==="string"?JSON.stringify(O):String(O)}function B0(O,{name:Z,detail:$,has_argument:Q,description:W,deprecated:Y,tags:X,source:K}){if(Z===void 0)return;let q=!Q&&!$?"null":n($),z=W,U=O.events.get(Z);if(U?.type==="forwarded")O.events.set(Z,{type:"dispatched",name:Z,detail:q,description:z||U.description,deprecated:Y??U.deprecated,tags:X??U.tags,source:K||U.source});else if(U){let J=U.tags??X;O.events.set(Z,{...U,detail:U.detail===void 0?q:U.detail,description:U.description||z,deprecated:U.deprecated??Y,tags:J,source:K||U.source})}else O.events.set(Z,{type:"dispatched",name:Z,detail:q,description:z,deprecated:Y,tags:X,source:K})}function BO(O,Z){let $=Z.arguments[0],Q=x0($,"CustomEvent");if(!Q&&!x0($,"Event"))return;let W=$.arguments[0],Y=H0(W)?W.value:void 0;if(Y==null)return;let X=Q?$.arguments[1]:void 0,K=!1,q;if(P0(X)){let z=X.properties.find((U)=>U.type==="Property"&&Q0(U.key)&&U.key.name==="detail");if(z?.type==="Property")K=!0,q=H0(z.value)?z.value.value:void 0}return B0(O,{name:String(Y),detail:q==null?"":u0(q),has_argument:K,source:v(O,Z)}),String(Y)}function m0(O,Z,$=!1){if(O.length===0)return"null";let Q=O.map(({name:W,type:Y,description:X,optional:K,default:q})=>{let z=K?"?":"",U=X||"";if(q&&U)U=`${U} @default ${q}`;else if(q)U=`@default ${q}`;if(U){if($)return`/** ${U} */
|
|
2
2
|
${W}${z}: ${Y};`;return`/** ${U} */ ${W}${z}: ${Y};`}return`${W}${z}: ${Y};`}).join($?`
|
|
3
3
|
`:" ");return $?`{
|
|
4
4
|
${Q}
|
|
5
|
-
}`:`{ ${Q} }`}var e;(function(O){O.start="/**",O.nostart="/***",O.delim="*",O.end="*/"})(e||(e={}));function l0(O){return/^\s+$/.test(O)}function
|
|
6
|
-
`);else return O}var
|
|
7
|
-
`)}function o0({startLine:O=0,fence:Z="```",spacing:$="compact",markers:Q=e,tokenizers:W=[h0(),D0($),S0(),f0($)]}={}){if(O<0||O%1>0)throw Error("Invalid startLine");let Y=i0({startLine:O,markers:Q}),X=c0({fence:Z}),K=s0({tokenizers:W}),q=p0($);return function(z){let U=[];for(let J of
|
|
8
|
-
`)}var
|
|
9
|
-
`)}function N1(O){let Z=O.trim();return Z===""?!0:Z}function
|
|
10
|
-
`)}let O0=U.length>0?U.map((D)=>({name:D.tag,body:
|
|
5
|
+
}`:`{ ${Q} }`}var e;(function(O){O.start="/**",O.nostart="/***",O.delim="*",O.end="*/"})(e||(e={}));function l0(O){return/^\s+$/.test(O)}function VO(O){let Z=O.match(/\r+$/);return Z==null?["",O]:[O.slice(-Z[0].length),O.slice(0,-Z[0].length)]}function G0(O){let Z=O.match(/^\s+/);return Z==null?["",O]:[O.slice(0,Z[0].length),O.slice(Z[0].length)]}function LO(O){return O.split(/\n/)}function wO(O={}){return Object.assign({tag:"",name:"",type:"",optional:!1,description:"",problems:[],source:[]},O)}function d0(O={}){return Object.assign({start:"",delimiter:"",postDelimiter:"",tag:"",postTag:"",name:"",postName:"",type:"",postType:"",description:"",end:"",lineEnd:""},O)}var w1=/^@[^\s/]+(?=\s|$)/;function c0({fence:O="```"}={}){let Z=R1(O),$=(Q,W)=>Z(Q)?!W:W;return function(W){let Y=[[]],X=!1;for(let K of W){if(w1.test(K.tokens.description)&&!X)Y.push([K]);else Y[Y.length-1].push(K);X=$(K.tokens.description,X)}return Y}}function R1(O){if(typeof O==="string")return(Z)=>Z.split(O).length%2===0;return O}function i0({startLine:O=0,markers:Z=e}={}){let $=null,Q=O;return function(Y){let X=Y,K=d0();if([K.lineEnd,X]=VO(X),[K.start,X]=G0(X),$===null&&X.startsWith(Z.start)&&!X.startsWith(Z.nostart))$=[],K.delimiter=X.slice(0,Z.start.length),X=X.slice(Z.start.length),[K.postDelimiter,X]=G0(X);if($===null)return Q++,null;let q=X.trimRight().endsWith(Z.end);if(K.delimiter===""&&X.startsWith(Z.delim)&&!X.startsWith(Z.end))K.delimiter=Z.delim,X=X.slice(Z.delim.length),[K.postDelimiter,X]=G0(X);if(q){let z=X.trimRight();K.end=X.slice(z.length-Z.end.length),X=z.slice(0,-Z.end.length)}if(K.description=X,$.push({number:Q,source:Y,tokens:K}),Q++,q){let z=$.slice();return $=null,z}return null}}function s0({tokenizers:O}){return function($){var Q;let W=wO({source:$});for(let Y of O)if(W=Y(W),(Q=W.problems[W.problems.length-1])===null||Q===void 0?void 0:Q.critical)break;return W}}function h0(){return(O)=>{let{tokens:Z}=O.source[0],$=Z.description.match(/\s*(@(\S+))(\s*)/);if($===null)return O.problems.push({code:"spec:tag:prefix",message:'tag should start with "@" symbol',line:O.source[0].number,critical:!0}),O;if($[1].includes("/"))return O;return Z.tag=$[1],Z.postTag=$[3],Z.description=Z.description.slice($[0].length),O.tag=$[2],O}}function D0(O="compact"){let Z=A1(O);return($)=>{let Q=0,W=[],Y=!1,X=!0;for(let{tokens:z}of $.source.values()){let U="";if(!Y&&z.description.trim())Y=!0;else if(!Y)continue;if(X&&z.description[0]!=="{")return $;X=!1;for(let J of z.description){if(J==="{")Q++;if(J==="}")Q--;if(U+=J,Q===0)break}if(W.push([z,U]),Q===0)break}if(!Y)return $;if(Q!==0)return $.problems.push({code:"spec:type:unpaired-curlies",message:"unpaired curlies",line:$.source[0].number,critical:!0}),$;let K=[],q=W[0][0].postDelimiter.length;for(let[z,[U,J]]of W.entries()){if(U.type=J,z>0)U.type=U.postDelimiter.slice(q)+J,U.postDelimiter=U.postDelimiter.slice(0,q);[U.postType,U.description]=G0(U.description.slice(J.length)),K.push(U.type)}return K[0]=K[0].slice(1),K[K.length-1]=K[K.length-1].slice(0,-1),$.type=Z(K),$}}var I1=(O)=>O.trim();function A1(O){if(O==="compact")return(Z)=>Z.map(I1).join("");else if(O==="preserve")return(Z)=>Z.join(`
|
|
6
|
+
`);else return O}var RO=(O)=>O&&O.startsWith('"')&&O.endsWith('"');function S0(){let O=(Z,{tokens:$},Q)=>$.type===""?Z:Q;return(Z)=>{let $=Z.source.reduce(O,0),Q;if(Z.type)do{if({tokens:Q}=Z.source[$],Q.description.trim())break;$++}while(Z.source[$]);else({tokens:Q}=Z.source[$]);let W=Q.description.trimStart(),Y=W.split('"');if(Y.length>1&&Y[0]===""&&Y.length%2===1)return Z.name=Y[1],Q.name=`"${Y[1]}"`,[Q.postName,Q.description]=G0(W.slice(Q.name.length)),Z;let X=0,K="",q=!1,z;for(let J of W){if(X===0&&l0(J))break;if(J==="[")X++;if(J==="]")X--;K+=J}if(X!==0)return Z.problems.push({code:"spec:name:unpaired-brackets",message:"unpaired brackets",line:Z.source[0].number,critical:!0}),Z;let U=K;if(K[0]==="["&&K[K.length-1]==="]"){q=!0,K=K.slice(1,-1);let J=K.split("=");if(K=J[0].trim(),J[1]!==void 0)z=J.slice(1).join("=").trim();if(K==="")return Z.problems.push({code:"spec:name:empty-name",message:"empty name",line:Z.source[0].number,critical:!0}),Z;if(z==="")return Z.problems.push({code:"spec:name:empty-default",message:"empty default value",line:Z.source[0].number,critical:!0}),Z;if(!RO(z)&&/=(?!>)/.test(z))return Z.problems.push({code:"spec:name:invalid-default",message:"invalid default value syntax",line:Z.source[0].number,critical:!0}),Z}if(!q){let J=K.search(/=(?!>)/);if(J!==-1){let V=K.slice(0,J).trim(),I=K.slice(J+1).trim();if(V==="")return Z.problems.push({code:"spec:name:empty-name",message:"empty name",line:Z.source[0].number,critical:!0}),Z;if(I==="")return Z.problems.push({code:"spec:name:empty-default",message:"empty default value",line:Z.source[0].number,critical:!0}),Z;if(/^[\p{ID_Start}$_\.][\p{ID_Continue}$_\u200c\u200d\.]*=/u.test(K)){if(!RO(I)&&/=(?!>)/.test(I))return Z.problems.push({code:"spec:name:invalid-default",message:"invalid default value syntax",line:Z.source[0].number,critical:!0}),Z;K=V,z=I}}}if(Z.optional=q,Z.name=K,Q.name=U,z!==void 0)Z.default=z;return[Q.postName,Q.description]=G0(W.slice(Q.name.length)),Z}}function f0(O="compact",Z=e){let $=p0(O);return(Q)=>{return Q.description=$(Q.source,Z),Q}}function p0(O){if(O==="compact")return F1;if(O==="preserve")return h1;return O}function F1(O,Z=e){return O.map(({tokens:{description:$}})=>$.trim()).filter(($)=>$!=="").join(" ")}var C1=(O,{tokens:Z},$)=>Z.type===""?O:$,P1=({tokens:O})=>(O.delimiter===""?O.start:O.postDelimiter.slice(1))+O.description;function h1(O,Z=e){if(O.length===0)return"";if(O[0].tokens.description===""&&O[0].tokens.delimiter===Z.start)O=O.slice(1);let $=O[O.length-1];if($!==void 0&&$.tokens.description===""&&$.tokens.end.endsWith(Z.end))O=O.slice(0,-1);return O=O.slice(O.reduce(C1,0)),O.map(P1).join(`
|
|
7
|
+
`)}function o0({startLine:O=0,fence:Z="```",spacing:$="compact",markers:Q=e,tokenizers:W=[h0(),D0($),S0(),f0($)]}={}){if(O<0||O%1>0)throw Error("Invalid startLine");let Y=i0({startLine:O,markers:Q}),X=c0({fence:Z}),K=s0({tokenizers:W}),q=p0($);return function(z){let U=[];for(let J of LO(z)){let V=Y(J);if(V===null)continue;let I=X(V),k=I.slice(1).map(K);U.push({description:q(I[0],Q),tags:k,source:V,problems:k.reduce((u,m)=>u.concat(m.problems),[])})}return U}}function D1(O){return O.start+O.delimiter+O.postDelimiter+O.tag+O.postTag+O.type+O.postType+O.name+O.postName+O.description+O.end+O.lineEnd}function a0(){return(O)=>O.source.map(({tokens:Z})=>D1(Z)).join(`
|
|
8
|
+
`)}var S1={line:0,start:0,delimiter:0,postDelimiter:0,tag:0,postTag:0,name:0,postName:0,type:0,postType:0,description:0,end:0,lineEnd:0};var B3=Object.keys(S1);function V0(O,Z={}){return o0(Z)(O)}var v3=a0();var f1=null;function _1(O,Z,$){let Q={value:void 0,replace:!1};if(!$||typeof $!=="object"||!("type"in $))return Q;if($.type==="Identifier")Q.value=$.name,Q.replace=!0;else if($.type==="Literal")Q.value=String($.value);else if($.type==="MemberExpression")Q.value=F0(O,Z,$);else if(($.type==="ObjectExpression"||$.type==="TemplateLiteral")&&"start"in $&&"end"in $&&typeof $.start==="number"&&typeof $.end==="number")Q.value=y(O,$.start,$.end);return Q}function IO(O,Z,$){let Q={};for(let W of $.properties){if(W.type!=="Property"||W.computed)continue;let Y=Z.getPropertyName(W.key);if(!Y)continue;Q[Y]=_1(O,Z,W.value)}return Q}function b1(O,Z){if(!Z||typeof Z!=="object"||!("type"in Z))return null;if(Z.type==="Identifier"){let Y=Z,X=O.propLocalToPublicName.get(Y.name);if(!X)return null;return{publicName:X,trackingName:Y.name}}if(Z.type!=="MemberExpression")return null;let $=Z,Q=$.object&&typeof $.object==="object"&&"type"in $.object&&$.object.type==="Identifier"?$.object.name:void 0;if(!Q||!O.wholePropsLocals.has(Q))return null;let W;if(!$.computed&&$.property&&typeof $.property==="object"&&"type"in $.property){if($.property.type==="Identifier")W=$.property.name;else if($.property.type==="Literal"&&$.property.value!=null)W=String($.property.value)}else if($.computed&&$.property&&typeof $.property==="object"&&"type"in $.property&&$.property.type==="Literal"&&"value"in $.property&&$.property.value!=null)W=String($.property.value);if(!W)return null;return{publicName:W,trackingName:W}}function AO(O,Z){let $=Z;if($&&typeof $==="object"&&"type"in $&&$.type==="ChainExpression")$=$.expression;if(!$||typeof $!=="object"||!("type"in $)||$.type!=="CallExpression")return null;let Q=$;if(!Q.callee||typeof Q.callee!=="object"||!("type"in Q.callee))return null;let W=b1(O,Q.callee);if(!W)return null;return{...W,arguments:Q.arguments}}function L0(O,{slot_name:Z,slot_props:$,slot_fallback:Q,slot_description:W,slot_deprecated:Y,slot_tags:X,source:K}){let q=Z===void 0||Z==="",z=q?f1:Z??"",U=n(Q),J=$===void 0||$===""?void 0:$,V=W?.trim()||void 0;if(O.slots.has(z)){let I=O.slots.get(z);if(I)O.slots.set(z,{...I,default:I.default??q,fallback:U,slot_props:I.slot_props===void 0?J:I.slot_props,description:I.description||V,deprecated:I.deprecated??Y,tags:I.tags||X,source:K||I.source})}else O.slots.set(z,{name:z,default:q,fallback:U,slot_props:$,description:V,deprecated:Y,tags:X,source:K})}var E1=/\s*=\s*/;function FO(O){let Z=O.indexOf("<");if(Z===-1||!O.endsWith(">"))return O;let $=O.slice(0,Z),Q=O.slice(Z+1,-1),W=CO(Q).map((Y)=>Y.trim().replace(E1," = ")).join(", ");return`${$}<${W}>`}var t0=/^\s*$/,k1=/;$/,T1=/^-\s*/;function j0(O){if(O===void 0)return;let Z=O.replace(T1,"").trim();return Z===""?"":Z}function w0(O){if(!O||O.length===0)return;return O[0].tokens.description}var PO=new Set(["since","example"]);function hO(O){if(!O||O.length===0)return"";let Z=[];for(let $ of O){let Q=$.tokens;if((Q.end??"").trim()==="*/")break;if(Q.tag){let W=`${Q.name??""}${Q.postName??""}${Q.description??""}`.trimEnd();if(W)Z.push(W)}else Z.push(`${Q.postDelimiter??""}${Q.description??""}`)}return Z.join(`
|
|
9
|
+
`)}function N1(O){let Z=O.trim();return Z===""?!0:Z}function DO(O,Z){return N1(`${O??""}${Z?` ${Z}`:""}`)}function v1(O){let Z=O.trim().replace(k1,"").trimEnd();if(!Z.startsWith("{")||!Z.endsWith("}"))return!1;let $=0,Q=null;for(let W=0;W<Z.length;W++){let Y=Z[W];if(Q!==null){if(Y==="\\"){W++;continue}if(Y===Q)Q=null;continue}if(Y==='"'||Y==="'"||Y==="`"){Q=Y;continue}if(Y==="{"||Y==="["||Y==="(")$++;else if(Y==="}"||Y==="]"||Y===")"){if($--,$===0&&W<Z.length-1)return!1}}return $===0}function g1(O){let Z=O;if(!Z.startsWith("/*"))Z=`/*${Z}`;if(!Z.endsWith("*/"))Z+="*/";return Z}function e0(O){let Z=O[0]?.tags??[],$=new Set(["type","param","returns","return","extends","extendProps","restProps","slot","snippet","event","typedef","callback","bindable","deprecated"]),Q,W=[],Y,X,K,q=[],z=[];for(let U of Z)if(U.tag==="type")Q=U;else if(U.tag==="param")W.push(U);else if(U.tag==="returns"||U.tag==="return")Y=U;else if(U.tag==="deprecated")K??=DO(U.name,U.description);else if(PO.has(U.tag))z.push(U);else if(U.tag==="bindable"){if(U.type)continue;let J=`${U.name}${U.description?` ${U.description}`:""}`.trim();if(J==="readonly"||J==="writable")X??=J}else if(!$.has(U.tag))q.push(U);return{type:Q,param:W,returns:Y,binding:X,deprecated:K,additional:q,passthrough:z,description:O[0]?.description}}function y1(O){if(!O||O.length===0)return;let Z=O[O.length-1];return Z&&typeof Z==="object"&&"value"in Z?Z:void 0}function x1(O,Z,$){if(!Z||Z.length===0||$===void 0||!O.source)return;for(let Q=Z.length-1;Q>=0;Q--){let W=Z[Q];if(!W||typeof W!=="object"||!("value"in W)||!("end"in W))continue;if(typeof W.end!=="number")continue;let Y=O.source.slice(W.end,$);if(t0.test(Y))return W}return}function U0(O,Z,$){if(!$?.leadingComments)return;let Q=x1(O,$.leadingComments,$.start);if(!Q)return;return u1(Z,[Q])}function SO(O,Z,$){if(!$?.leadingComments)return;return U0(O,Z,$)}function u1(O,Z){if(!Z)return;let $=y1(Z);if(!$)return;let Q=V0(g1($.value),{spacing:"preserve"}),{type:W,param:Y,returns:X,binding:K,deprecated:q,additional:z,passthrough:U,description:J}=e0(Q),V,I,k,u;if(W)V=O.aliasType(W.type);if(Y.length>0)I=Y.filter((D)=>!D.name.includes(".")).map((D)=>({name:D.name,type:O.aliasType(D.type),description:j0(D.description),optional:D.optional||!1}));if(X)k=O.aliasType(X.type);let m=n(J?.trim());if(m||z.length>0){let D=[];if(m)D.push(m);for(let i of z){let t=`@${i.tag}${i.name?` ${i.name}`:""}${i.description?` ${i.description}`:""}`;D.push(t)}u=D.join(`
|
|
10
|
+
`)}let O0=U.length>0?U.map((D)=>({name:D.tag,body:hO(D.source)})):void 0;return{type:V,params:I,returnType:k,description:u,binding:K,deprecated:q,tags:O0}}function fO(O,Z,$=O.source){if(!$)return;let Q=0;for(let{tags:W,description:Y,source:X}of V0($,{spacing:"preserve"})){let K=X.map((B)=>B.source).join(`
|
|
11
11
|
`),q=$.indexOf(K,Q),z=q===-1?void 0:q;if(q!==-1)Q=q+K.length;let U,J,V,I,k,u,m=[],O0=[],D,i,t,W0=[],p,G,j=[],L,A=!1,H=!0,M=[],S,f=new Map,C=new Set,T=new Set;for(let B of W)if(B.source&&B.source.length>0)C.add(B.source[0].number);for(let B of X)if(!B.tokens.tag&&B.tokens.description&&B.tokens.description.trim()!=="}")f.set(B.number,B.tokens.description);let _=(B)=>{if(!B||B.length===0)return;let E=B[0].number,R=[],N=[],l=!1;for(let F=E-1;F>=1;F--){if(C.has(F))break;let P=f.get(F);if(P)R.unshift(P),N.unshift(F),l=!0;else if(l){let w=X.find((h)=>h.number===F);if(!(!w||!w.tokens.tag&&(!w.tokens.description||w.tokens.description.trim()==="")))break}}if(R.length===0)return;for(let F of N)T.add(F);return R.join(`
|
|
12
12
|
`).trim()},x=()=>{if(U!==void 0){let B=J&&J!=="object"&&J!=="Object"?J:void 0,E;if(B)E=B;else if(O0.length>0)E=m0(O0,U,!0);else E=J||"";if(u!==void 0){let R;for(let F of W){let P=F.source?.[0]?.number;if(typeof P!=="number")continue;if(P<=u)continue;if(F.tag==="property"||F.tag==="type")continue;R=P;break}let N=[],l=Array.from(f.keys()).sort((F,P)=>F-P);for(let F of l){if(F<=u)continue;if(R!==void 0&&F>=R)continue;if(T.has(F))continue;let w=f.get(F)?.trim();if(w)N.push(w),T.add(F)}if(N.length>0){let F=N.join(`
|
|
13
13
|
`);V=V?`${V}
|
|
14
|
-
${F}`:F}}B0(O,{name:U,detail:E,has_argument:!1,description:V,deprecated:I,tags:m.length>0?m:void 0,source:k}),O.eventDescriptions.set(U,V),O.jsDocEventNames.add(U),O.jsDocEventSources.set(U,k),O0.length=0,U=void 0,J=void 0,V=void 0,I=void 0,k=void 0,u=void 0,m=[]}},a=()=>{if(D!==void 0){let B,E;if(W0.length>0)B=m0(W0,void 0,!0),E=`type ${D} = ${B};`;else if(i)B=i,E=v1(B)?`interface ${D} ${B}`:`type ${D} = ${B};`;else B="{}",E=`type ${D} = ${B};`;O.typedefs.set(D,{type:B,name:D,description:n(t),ts:E}),W0.length=0,D=void 0,i=void 0,t=void 0}},Z0=()=>{if(p!==void 0){let R=`(${j.map(({name:l,type:F,optional:P})=>{return`${l}${P?"?":""}: ${F}`}).join(", ")}) => ${L||"void"}`,N=`type ${p} = ${R};`;O.typedefs.set(p,{type:R,name:p,description:n(G),ts:N}),j.length=0,L=void 0,p=void 0,G=void 0}},b=W.some((B)=>B.tag==="slot"||B.tag==="snippet"),r=W.some((B)=>B.tag==="extends"||B.tag==="extendProps");for(let{tag:B,type:E,name:R,description:N,optional:l,default:F,source:P}of W){let w=Z.aliasType(E),s=_(P);switch(B){case"extends":case"extendProps":if(O.extends={interface:R,import:w},H)H=!1;break;case"restProps":{let h=R?N?`${R} ${N}`:R:N,Y0=j0(h)||s;if(!Y0&&H&&!A&&Y)Y0=Y,A=!0;if(O.rest_props={type:"Element",name:w,description:Y0||void 0},H)H=!1;break}case"slot":case"snippet":{let o=j0(w0(P));if(!o&&H&&!A&&Y)o=Y,A=!0;if(!o&&M.length===0)o=s;if(H)H=!1;L0(O,{slot_name:R,slot_props:w,slot_description:o||void 0,slot_deprecated:S,slot_tags:M.length>0?[...M]:void 0,source:n0(O,X,P,z)}),M.length=0,S=void 0;break}case"event":{if(x(),U=R,J=w,u=P&&P.length>0?P[0].number:void 0,V=j0(w0(P))||s,!V&&H&&!A&&Y)V=Y,A=!0;if(k=n0(O,X,P,z),H)H=!1;break}case"type":if(U!==void 0)J=w;break;case"param":if(p!==void 0)j.push({name:R,type:w,optional:l||!1});break;case"returns":case"return":if(p!==void 0)L=w;break;case"property":{let h={name:R,type:w,description:j0(w0(P)),optional:l||!1,default:F};if(U!==void 0)O0.push(h);else if(D!==void 0)W0.push(h);break}case"typedef":{if(a(),D=IO(R),i=w,t=j0(w0(P))||s,!t&&H&&!A&&Y)t=Y,A=!0;if(H)H=!1;break}case"callback":{if(Z0(),p=IO(R),G=j0(w0(P))||s,!G&&H&&!A&&Y)G=Y,A=!0;if(H)H=!1;break}case"generics":if(O.generics=[R,w],H)H=!1;break;case"template":{let h=R;if(w)h=`${R} extends ${w}`;if(F)h+=` = ${F}`;if(b&&!r){O.deferredSlotBlockGenerics.push({name:R,constraint:h});break}if(Z.accumulateGeneric(R,h),H)H=!1;break}case"deprecated":{let h=PO(R,N);if(U===void 0)S??=h;else I??=h;break}case"enum":case"class":case"implements":case"this":case"namespace":case"memberof":case"module":case"file":case"overview":break;default:{let h={name:B,body:CO(P)};if(U!==void 0&&FO.has(B))m.push(h);else M.push(h)}break}}x(),a(),Z0()}}function m1({hasTypeScriptType:O,hasJSDocType:Z,inferredType:$,finalType:Q}){if(O)return"typescript";if(Z)return"jsdoc";if($!==void 0)return"default";if(Q!==void 0)return"inferred";return"unknown"}function R0(O){let Z=O.explicitType??O.jsdocType??O.resolvedType??O.typeSeed,$=O.jsdocParams??O.resolvedParams,Q=O.jsdocReturnType??O.resolvedReturnType;if(O.isFunctionDeclaration&&Z==="() => any"&&Q)Z=$&&$.length>0?`(${$.map((K)=>`${K.name}${K.optional?"?":""}: ${K.type}`).join(", ")}) => ${Q}`:`() => ${Q}`;let W=O.jsdocDescription??O.resolvedDescription;if(W===void 0&&Z!==void 0)W=O.typedefs?.get(Z)?.description;let Y=m1({hasTypeScriptType:O.explicitType!==void 0,hasJSDocType:O.jsdocType!==void 0||O.jsdocParams!==void 0||O.jsdocReturnType!==void 0||O.resolvedType!==void 0,inferredType:O.inferredTypeForSource,finalType:Z}),X=O.initializerIsFunction||O.isFunctionDeclaration||O.inferIsFunctionFromTypeSignature===!0&&(!!O.jsdocParams?.length||O.jsdocReturnType!==void 0||!!O.jsdocType?.includes("=>")||!!O.resolvedType?.includes("=>")||!!O.explicitType?.includes("=>"));return{type:Z,typeSource:Y,description:W,params:$,returnType:Q,isFunction:X}}function l1(O){if(!O||typeof O!=="object"||!("type"in O))return;let Z=String(O.type);if(Z!=="InlineComponent"&&Z!=="Element")return;let $="name"in O&&typeof O.name==="string"?O.name:void 0;if(!$)return;let Q=Z==="InlineComponent"?{type:"InlineComponent",name:$}:{type:"Element",name:$};if(Z==="Element"&&$==="svelte:element"&&"tag"in O&&typeof O.tag==="string")Q.thisValue=O.tag;return Q}function SO(O,Z){if(O.rest_props!==void 0)return;let $=l1(Z);if($)O.rest_props=$}function d(O,Z,$){if(!Z||O.has(Z))return;O.set(Z,$)}function _0(O,Z){for(let $=O.activeScopes.length-1;$>=0;$-=1){let Q=O.activeScopes[$]?.get(Z);if(!Q)continue;return Q.kind==="prop"?Q.publicPropName:void 0}return}function g(O,Z=new Set){if(!O||typeof O!=="object"||!("type"in O))return Z;switch(O.type){case"Identifier":Z.add(O.name);break;case"AssignmentPattern":g(O.left,Z);break;case"ArrayPattern":for(let $ of O.elements)g($??void 0,Z);break;case"ObjectPattern":for(let $ of O.properties)if($.type==="Property")g($.value,Z);else if($.type==="RestElement")g($.argument,Z);break;case"RestElement":g(O.argument,Z);break}return Z}function OO(O,Z){let $=g(Z);if(!$)return;for(let Q of $){let W=_0(O,Q);if(W)O.reactive_vars.add(W)}}function b0(O){if(!O||typeof O!=="object"||!("type"in O))return!1;switch(String(O.type)){case"BlockStatement":case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"CatchClause":case"EachBlock":case"ThenBlock":case"CatchBlock":return!0;default:return!1}}function _O(O){if(!O||typeof O!=="object"||!("type"in O))return!1;let Z=String(O.type);return Z==="FunctionDeclaration"||Z==="FunctionExpression"||Z==="ArrowFunctionExpression"}function d1(O,Z){let $=O.scopeDeclarations.get(Z);if(!$)$=new Map,O.scopeDeclarations.set(Z,$);return $}function c1(O,Z,$){let Q=[];if($.id.type==="Identifier")return Q.push({kind:"local",name:$.id.name}),Q;if($.id.type!=="ObjectPattern")return Q;for(let W of $.id.properties){if(W.type==="RestElement"){if(W.argument.type==="Identifier")Q.push({kind:"local",name:W.argument.name});continue}if(W.computed)continue;let Y=O.getPropertyName(W.key);if(!Y)continue;let X;if(W.value.type==="Identifier")X=W.value.name;else if(W.value.type==="AssignmentPattern"&&W.value.left.type==="Identifier")X=W.value.left.name;if(!X)continue;Q.push({kind:"prop",name:X,publicPropName:Y})}return Q}function e0(O,Z,$,Q,W){if(!fO(Z))return;let Y=W?.allowRunesProps??!1,X=W?.forceProp??!1,K=Z;for(let q of K.declarations){if(Y&&$0(J0(q.init),"$props")){for(let J of c1(O,K,q))d(J.kind==="prop"?$:Q,J.name,J.kind==="prop"?{kind:"prop",publicPropName:J.publicPropName}:{kind:"local"});continue}let z=K.kind==="var"?Q:$,U=X?"prop":"local";for(let J of g(q.id))d(z,J,U==="prop"?{kind:"prop",publicPropName:J}:{kind:"local"})}}function i1(O,Z){if("id"in O&&O.id&&typeof O.id==="object"&&"name"in O.id&&typeof O.id.name==="string")d(Z,O.id.name,{kind:"local"});for(let $ of O.params)for(let Q of g($))d(Z,Q,{kind:"local"})}function s1(O,Z,$,Q){if(!Array.isArray(Z))return;for(let W of Z){if(!W||typeof W!=="object"||!("type"in W))continue;switch(W.type){case"VariableDeclaration":e0(O,W,$,Q);break;case"FunctionDeclaration":if(W.id?.name)d($,W.id.name,{kind:"local"});break;case"ClassDeclaration":if(W.id?.name)d($,W.id.name,{kind:"local"});break}}}function p1(O,Z,$){if(!$||typeof $!=="object")return;let Q="content"in $&&$.content&&typeof $.content==="object"&&"body"in $.content&&Array.isArray($.content.body)?$.content:("body"in $)&&Array.isArray($.body)?$:void 0;if(!Q||!("body"in Q)||!Array.isArray(Q.body))return;for(let W of Q.body){if(!W||typeof W!=="object"||!("type"in W))continue;switch(W.type){case"ImportDeclaration":for(let Y of W.specifiers??[])if(Y.local?.name)d(Z.componentScope,Y.local.name,{kind:"local"});break;case"VariableDeclaration":e0(O,W,Z.componentScope,Z.componentScope,{allowRunesProps:!0});break;case"FunctionDeclaration":if(W.id?.name)d(Z.componentScope,W.id.name,{kind:"local"});break;case"ClassDeclaration":if(W.id?.name)d(Z.componentScope,W.id.name,{kind:"local"});break;case"ExportNamedDeclaration":if(!W.declaration||typeof W.declaration!=="object"||!("type"in W.declaration))break;if(W.declaration.type==="VariableDeclaration")e0(O,W.declaration,Z.componentScope,Z.componentScope,{forceProp:!0});else if(W.declaration.type==="FunctionDeclaration"&&W.declaration.id?.name)d(Z.componentScope,W.declaration.id.name,{kind:"prop",publicPropName:W.declaration.id.name});break}}}function bO(O,Z){Z.componentScope.clear(),Z.scopeDeclarations=new WeakMap,Z.activeScopes.length=0,p1(O,Z,Z.parsed?.instance)}function EO(O){return{varScopeStack:[O.componentScope]}}function kO(O,Z,$,Q){if(!b0(Q))return;let W=d1(Z,Q),Y=$.varScopeStack[$.varScopeStack.length-1]??Z.componentScope;switch(String(Q.type)){case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":i1(Q,W);break;case"BlockStatement":s1(O,Q.body,W,Y);break;case"CatchClause":if("param"in Q)for(let K of g(Q.param))d(W,K,{kind:"local"});break;case"EachBlock":{let K=Q;for(let q of g(K.context))d(W,q,{kind:"local"});if(typeof K.index==="string")d(W,K.index,{kind:"local"});else if(K.index&&"name"in K.index)d(W,K.index.name,{kind:"local"});break}case"ThenBlock":if("value"in Q)for(let K of g(Q.value))d(W,K,{kind:"local"});break;case"CatchBlock":if("error"in Q)for(let K of g(Q.error))d(W,K,{kind:"local"});break}if(_O(Q))$.varScopeStack.push(W)}function TO(O,Z){if(_O(Z))O.varScopeStack.pop()}var o1=new Set(["$state","$derived","$effect","$props","$bindable","$inspect","$host"]);function a1(O,Z){switch(Z?.type){case"MemberExpression":return Z.computed||O===Z.object;case"MethodDefinition":return!!Z.computed;case"MetaProperty":return O===Z.meta;case"PropertyDefinition":return Z.computed||O===Z.value;case"Property":return Z.computed||O===Z.value;case"ExportSpecifier":case"ImportSpecifier":return O===Z.local;case"LabeledStatement":case"BreakStatement":case"ContinueStatement":return!1;default:return!0}}function r1(O,Z){for(let $=Z.length-1;$>=0;$-=1)if(Z[$]?.has(O))return!0;return!1}function n1(O){let Z=new Set;if(!O||typeof O!=="object"||!("type"in O))return Z;switch(String(O.type)){case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":{let $=O;if($.id?.name)Z.add($.id.name);for(let Q of $.params??[])g(Q,Z);break}case"BlockStatement":E0(O.body,Z);break;case"CatchClause":g(O.param,Z);break;case"EachBlock":{let $=O;if(g($.context,Z),typeof $.index==="string")Z.add($.index);else if($.index?.name)Z.add($.index.name);break}case"ThenBlock":g(O.value,Z);break;case"CatchBlock":g(O.error,Z);break}return Z}function E0(O,Z){if(!Array.isArray(O))return;for(let $ of O){if(!$||typeof $!=="object"||!("type"in $))continue;switch(String($.type)){case"ImportDeclaration":for(let Q of $.specifiers??[])if(Q.local?.name)Z.add(Q.local.name);break;case"VariableDeclaration":for(let Q of $.declarations??[])g(Q.id,Z);break;case"FunctionDeclaration":case"ClassDeclaration":{let Q=$.id?.name;if(Q)Z.add(Q);break}case"ExportNamedDeclaration":{let Q=$.declaration;if(Q&&typeof Q==="object"&&"type"in Q)E0([Q],Z);break}}}}function ZO(O,Z){if(!O||typeof O!=="object")return!1;let $=[...Z],Q=!1;return K0(O,{enter(W,Y){if(Q){this.skip();return}if(b0(W))$.push(n1(W));if(Y&&W.type==="Identifier"&&o1.has(W.name)&&!Y.type.startsWith("TS")&&a1(W,Y)&&!r1(W.name,$))Q=!0,this.skip()},leave(W){if(b0(W))$.pop()}}),Q}function NO(O){if(!O||typeof O!=="object")return;if("content"in O){let Z=O.content,$=Z&&typeof Z==="object"&&"body"in Z?Z.body:void 0;if(Array.isArray($))return $}if("body"in O&&Array.isArray(O.body))return O.body;return}function vO(O){if(O.runesOptionOverride!==void 0)return O.runesOptionOverride?"runes":"legacy";let Z=O.parsed;if(!Z)return"legacy";let $=new Set;E0(NO(Z.module),$);let Q=new Set;return E0(NO(Z.instance),Q),ZO(Z.module,[$])||ZO(Z.instance,[$,Q])||ZO(Z.html,[$,Q])?"runes":"legacy"}var t1=/[A-Za-z_$][\w$]*/g;function e1(O,Z,$){let Q=new Map,W=Z.typeParameters?.params,Y=$.typeArguments?.params;if(!W?.length||!Y?.length)return Q;for(let X=0;X<W.length;X++){let K=W[X]?.name,q=Y[X];if(!K||q?.start===void 0||q?.end===void 0)continue;let z=y(O,q.start,q.end)?.trim();if(z)Q.set(K,z)}return Q}function O2(O,Z){if(Z.size===0)return O;return O.replace(t1,($)=>Z.get($)??$)}function I0(O,Z,$,Q,W=new Set){let Y=new Map;if(!$?.type)return Y;let X=(K)=>{for(let q of K){if(q?.type!=="TSPropertySignature"||q.computed)continue;if(!q.key)continue;let z=O.getPropertyName(q.key);if(!z)continue;let U=q.typeAnnotation?.start,J=q.typeAnnotation?.end;if(U===void 0||J===void 0)continue;let V=y(Z,U+1,J)?.trim();if(!V)continue;Y.set(z,{type:V,optional:q.optional===!0,source:v(Z,q)})}};switch($.type){case"TSTypeLiteral":X($.members??[]);break;case"TSInterfaceDeclaration":X($.body?.body??[]);break;case"TSTypeAliasDeclaration":{let K=I0(O,Z,$.typeAnnotation,Q,W);for(let[q,z]of K)Y.set(q,z);break}case"TSTypeReference":{let K=uO($.typeName);if(!K||W.has(K))break;let q=Q.get(K);if(!q)break;W.add(K);let z=I0(O,Z,q,Q,W);W.delete(K);let U=e1(Z,q,$);for(let[J,V]of z)Y.set(J,U.size===0?V:{...V,type:O2(V.type,U)});break}case"TSIntersectionType":for(let K of $.types??[]){let q=I0(O,Z,K,Q,W);for(let[z,U]of q)Y.set(z,U)}break;case"TSParenthesizedType":{let K=I0(O,Z,$.typeAnnotation,Q,W);for(let[q,z]of K)Y.set(q,z);break}}return Y}function cO(O,Z,$){if(Z.runesPropsDeclarationMetadataByDeclaratorStart.clear(),Z.explicitPropTypesByName.clear(),Z.explicitVariableTypesByName.clear(),Z.typeImportBindingsByLocalName.clear(),Z.localTypeDeclarationsByName.clear(),Z.typedRunesPropsDeclarations.length=0,!Z.source)return;let Q=$;Z.scriptLanguage=O.resolveScriptLanguage(Q),Z.customElementTag=Q.options?.customElement?.tag,Z.runesOptionOverride=Q.options?.runes,Z.scriptGenericsAttribute=O.resolveScriptGenericsAttribute(Q);let W=Q.instance?.content?.body??[];for(let Y of W){if(!Y?.type)continue;if(Y.type==="ImportDeclaration"&&Y.source?.value)for(let X of Y.specifiers??[]){let K=X.local?.name;if(!K)continue;if(!(Y.importKind==="type"||X.importKind==="type"))continue;let z,U;if(X.type==="ImportSpecifier")z="named",U=X.imported?.type==="Identifier"?X.imported.name:typeof X.imported?.value==="string"?X.imported.value:void 0;else if(X.type==="ImportDefaultSpecifier")z="default";else if(X.type==="ImportNamespaceSpecifier")z="namespace";if(!z)continue;Z.typeImportBindingsByLocalName.set(K,{importedName:U,localName:K,source:String(Y.source.value),specifierType:z})}if((Y.type==="TSInterfaceDeclaration"||Y.type==="TSTypeAliasDeclaration")&&Y.id?.name&&Y.start!==void 0&&Y.end!==void 0)Z.localTypeDeclarationsByName.set(Y.id.name,{code:y(Z,Y.start,Y.end)?.trim()??"",node:Y,start:Y.start});if(Y.type==="ExportNamedDeclaration"&&Y.declaration?.type==="VariableDeclaration")for(let X of Y.declaration.declarations??[]){if(X.id?.type!=="Identifier"||!X.id.name)continue;let K=k0(Z,X.id.typeAnnotation);if(K)Z.explicitPropTypesByName.set(X.id.name,K)}else if(Y.type==="VariableDeclaration")for(let X of Y.declarations??[]){if(X.id?.type!=="Identifier"||!X.id.name)continue;let K=k0(Z,X.id.typeAnnotation);if(K)Z.explicitVariableTypesByName.set(X.id.name,K)}}for(let Y of W){if(!Y||typeof Y!=="object"||!("declarations"in Y))continue;for(let X of Y.declarations??[]){if(!$0(J0(X.init),"$props"))continue;let K=X.id?.typeAnnotation?void 0:gO(X.init),q=X.id?.typeAnnotation?.typeAnnotation??K,z=X.id?.typeAnnotation?k0(Z,X.id.typeAnnotation):mO(Z,K),U=I0(O,Z,q,new Map(Array.from(Z.localTypeDeclarationsByName.entries(),([I,k])=>[I,k.node]))),J=new Set,V=new Set;if(lO(Z,q,J,V),dO(Z,J,V),X.start!==void 0){let I={canonicalType:z,props:U,referencedImportedTypes:J,referencedLocalTypes:V};if(Z.runesPropsDeclarationMetadataByDeclaratorStart.set(X.start,I),z)Z.typedRunesPropsDeclarations.push(I)}}}}function iO(O,Z,$){for(let Q of $.declarations){if(!$0(J0(Q.init),"$props"))continue;if(Q.id.type==="Identifier"){Z.wholePropsLocals.add(Q.id.name),Z.restPropLocals.add(Q.id.name);let X=yO(Z,Q.start);if(X)for(let[K,q]of X.props)M0(O,Z,K,{name:K,kind:"let",type:q.type,typeSource:"typescript",isFunction:!1,isFunctionDeclaration:!1,isRequired:!q.optional,constant:!1,reactive:!1,source:q.source});continue}if(Q.id.type!=="ObjectPattern")continue;let W=U0(Z,O,$),Y=Q.id.properties.filter((X)=>{if(X.type!=="Property"||X.computed)return!1;if(!O.getPropertyName(X.key))return!1;if(X.value.type==="Identifier")return!0;return X.value.type==="AssignmentPattern"&&X.value.left.type==="Identifier"}).length;for(let X of Q.id.properties){if(X.type==="RestElement"){if(X.argument.type==="Identifier")Z.restPropLocals.add(X.argument.name);continue}let K=O.getPropertyName(X.key);if(!K)continue;let q,z;if(X.value.type==="Identifier")q=X.value.name;else{let A=X.value;q=A.left.name,z=A.right}if(!q)continue;if(O.trackPropLocalName(K,q),K==="children")Z.snippetPropLocals.add(q);let U=hO(Z,O,X)??(Y===1?W:void 0),J=xO(Z,Q.start,K),{init:V,bindable:I}=UO(z),k=V==null?{isFunction:!1}:z0(O,Z,V),{value:u,type:m,isFunction:O0,defaultValue:D}=k,i=J?.type===void 0&&U?.type===void 0?k.resolvedType:void 0,{type:t,typeSource:W0,description:p,params:G,returnType:j,isFunction:L}=R0({explicitType:J?.type,typeSeed:m,inferredTypeForSource:m,jsdocType:U?.type,jsdocDescription:U?.description,jsdocParams:U?.params,jsdocReturnType:U?.returnType,resolvedType:i,resolvedDescription:k.resolvedDescription,resolvedParams:k.resolvedParams,resolvedReturnType:k.resolvedReturnType,initializerIsFunction:O0,isFunctionDeclaration:!1,inferIsFunctionFromTypeSignature:!0});if(I)Z.reactive_vars.add(K);M0(O,Z,K,{name:K,...q===K?{}:{localName:q},kind:"let",description:p,binding:U?.binding,deprecated:U?.deprecated,tags:U?.tags,...I?{bindable:!0}:{},type:t,typeSource:W0,value:u,defaultValue:D,params:G,returnType:j,isFunction:L,isFunctionDeclaration:!1,isRequired:V==null&&J?.optional!==!0,constant:!1,reactive:I,source:v(Z,X)})}}}function sO(O,Z){if(O.syntaxMode!=="runes")return;for(let[$,Q]of Array.from(O.events.entries())){if(Q.type!=="dispatched")continue;if(Z.has($)||O.forwardedEvents.has($))continue;let W=`on${$}`,Y=O.props.get(W);if(!Y)continue;let X=Y.type!==void 0||Y.params!==void 0||Y.returnType!==void 0,K=Q.detail===void 0||Q.detail==="undefined"||Q.detail==="null"?"() => void":`(detail: ${Q.detail}) => void`;O.props.set(W,{...Y,description:Y.description??Q.description,type:X?Y.type:K,typeSource:X?Y.typeSource:"inferred",isFunction:!0}),O.events.delete($)}}var pO=new Set(["TSAsExpression","TSSatisfiesExpression","TSNonNullExpression","TSTypeAssertion","TSInstantiationExpression"]);function T0(O){if(!O||typeof O!=="object")return;K0(O,{enter(Z){if(!pO.has(Z.type))return;let $=Z.expression;while($&&pO.has($.type))$=$.expression;if($)this.replace($)}})}var Z2=/^\s*$/;function aO(O,Z,$){let Q=Z+1;while(Q<O.length){if(O[Q]==="\\"){Q+=2;continue}if(O[Q]===$)return Q+1;Q++}return Q}function rO(O,Z){let $=Z+1,Q=0;while($<O.length){let W=O[$];if(W==="\\"){$+=2;continue}if(Q===0){if(W==="`")return $+1;if(W==="$"&&O[$+1]==="{"){Q=1,$+=2;continue}$++;continue}if(W==="{")Q++;else if(W==="}")Q--;else if(W==='"'||W==="'"){$=aO(O,$,W);continue}else if(W==="`"){$=rO(O,$);continue}$++}return $}function $2(O,Z){let $=[],Q=O.length,W=0;while(W<Q){let Y=O[W];if(Y==='"'||Y==="'"){W=aO(O,W,Y);continue}if(Y==="`"){W=rO(O,W);continue}if(Y==="/"&&O[W+1]==="/"){let X=W+2;while(X<Q&&O[X]!==`
|
|
15
|
-
`)X++;W=X;continue}if(Y==="/"&&O[W+1]==="*"){let X=W,K=W+2;while(K<Q&&!(O[K]==="*"&&O[K+1]==="/"))K++;let q=Math.min(K+2,Q),z=O.slice(X,q);$.push({end:q+Z,isJsDoc:z.startsWith("/**")&&z.length>4,text:z}),W=q;continue}W++}return $}function oO(O,Z,$){if(!O||typeof O!=="object"||!("type"in O))return;let Q=O;if(Q.type==="FunctionDeclaration"){if(Q.id?.type==="Identifier"&&Q.id.name)$.push({name:Q.id.name,start:Z});return}if(Q.type==="VariableDeclaration"){for(let W of Q.declarations??[])if(W?.id?.type==="Identifier"&&W.id.name)$.push({name:W.id.name,start:Z})}}function Q2(O){let Z=[];for(let $ of O){if(!$||typeof $!=="object"||!("type"in $))continue;let Q=$;if(Q.start===void 0)continue;if(Q.type==="ExportNamedDeclaration"&&Q.declaration)oO(Q.declaration,Q.start,Z);else oO(Q,Q.start,Z)}return Z}function W2(O,Z,$){let Q;for(let W of O){if(W.end>Z)break;if(!W.isJsDoc)continue;if(!Z2.test($.slice(W.end,Z)))continue;Q=W}return Q}function nO(O,Z){let $=new Map;if(!O.source)return $;let Q=[O.parsed?.module,O.parsed?.instance],W=[],Y=[];for(let X of Q){let K=X?.content;if(!K?.body||K.start===void 0||K.end===void 0)continue;W.push(...$2(O.source.slice(K.start,K.end),K.start)),Y.push(...Q2(K.body))}W.sort((X,K)=>X.end-K.end);for(let X of Y){let K=W2(W,X.start,O.source);if(!K)continue;let q=V0(K.text,{spacing:"preserve"}),{type:z,description:U}=t0(q);if(!z)continue;$.set(X.name,{type:Z.aliasType(z.type),description:U||z.description})}return $}function tO(O){if(O==="var")return"let";if(O==="using"||O==="await using")return"const";return O}var Y2=null,eO=/^@component/,X2=/\r/g,K2=/^\{\s*\}$/;class c{ctx=v0();static mapToArray(O){return Array.from(O,([Z,$])=>$)}static getStaticAttributeValue(O){if(!Array.isArray(O.value))return;return O.value.map((Z)=>Z.data??Z.raw??"").join("").trim()}resolveScriptLanguage(O){let Z=[O.instance,O.module].filter((Q)=>Q!==void 0),$=!1;for(let Q of Z){let W=Q.attributes?.find((X)=>X.name==="lang");if(!W){$=!0;continue}if(c.getStaticAttributeValue(W)?.toLowerCase()==="ts")return"ts"}return $?"js":void 0}resolveScriptGenericsAttribute(O){let Z=O.instance?.attributes?.find((X)=>X.name==="generics");if(!Z)return;let $=v(this.ctx,Z),Q=O.instance?.attributes?.find((X)=>X.name==="lang");if((Q?c.getStaticAttributeValue(Q)?.toLowerCase():void 0)!=="ts"){q0(this.ctx,"syntax-skipped","generics",'<script generics="..."> requires lang="ts"; the generics attribute was ignored because the script is not TypeScript.',$);return}let Y=c.getStaticAttributeValue(Z);if(!Y)return;return{value:Y,source:$}}resolvePublicPropName(O){return this.ctx.propLocalToPublicName.get(O)??O}trackPropLocalName(O,Z=O){this.ctx.propLocalToPublicName.set(Z,O)}getPropByLocalOrPublic(O){return this.ctx.props.get(this.resolvePublicPropName(O))}getPropTypeByLocalOrPublic(O){return this.getPropByLocalOrPublic(O)?.type}getExplicitPropType(O){return this.ctx.explicitPropTypesByName.get(O)}getPropertyName(O){if(!O||typeof O!=="object"||!("type"in O))return;if(Q0(O))return O.name;if(H0(O))return O.value==null?void 0:String(O.value);return}isNumericConstant(O){if(!O||typeof O!=="object"||!("type"in O))return!1;if(O.type!=="MemberExpression")return!1;let Z=O,$=Z.object&&"name"in Z.object?Z.object.name:void 0,Q=Z.property&&"name"in Z.property?Z.property.name:void 0;if(!$||!Q)return!1;if($==="Number")return["POSITIVE_INFINITY","NEGATIVE_INFINITY","MAX_VALUE","MIN_VALUE","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","EPSILON","NaN"].includes(Q);if($==="Math")return["PI","E","LN2","LN10","LOG2E","LOG10E","SQRT2","SQRT1_2"].includes(Q);return!1}resolveLocalVarJSDoc(O){for(let $ of this.ctx.vars)if($.declarations.some((W)=>W.id&&typeof W.id==="object"&&("type"in W.id)&&W.id.type==="Identifier"&&("name"in W.id)&&W.id.name===O))return U0(this.ctx,this,$);let Z=this.ctx.funcDecls.get(O);if(Z)return U0(this.ctx,this,Z);return}addModuleExport(O,Z){if(n(O)===void 0)return;if(this.ctx.moduleExports.has(O)){let $=this.ctx.moduleExports.get(O);this.ctx.moduleExports.set(O,{...$,...Z})}else this.ctx.moduleExports.set(O,Z)}aliasType(O){if(O==="*")return"any";return O.trim()}findVariableTypeAndDescription(O){let Z=this.getPropByLocalOrPublic(O);if(Z?.type)return{type:Z.type,description:Z.description};if(!this.ctx.variableInfoCacheBuilt)this.ctx.variableInfoCache=nO(this.ctx,this),this.ctx.variableInfoCacheBuilt=!0;let $=this.ctx.variableInfoCache.get(O),Q=this.ctx.explicitVariableTypesByName.get(O);if(Q)return{type:Q,description:$?.description};return $??null}accumulateGeneric(O,Z){if(this.ctx.generics)this.ctx.generics=[`${this.ctx.generics[0]}, ${O}`,`${this.ctx.generics[1]}, ${Z}`];else this.ctx.generics=[O,Z]}cleanup(){this.ctx=v0()}static SCRIPT_BLOCK_REGEX=/(<script[^>]*>)([\s\S]*?)(<\/script>)/gi;static TS_DIRECTIVE_REGEX=/\/\/\s*@ts-[^\n\r]*/g;static stripTypeScriptDirectivesFromScripts(O){return c.SCRIPT_BLOCK_REGEX.lastIndex=0,O.replace(c.SCRIPT_BLOCK_REGEX,(Z,$,Q,W)=>{c.TS_DIRECTIVE_REGEX.lastIndex=0;let Y=Q.replace(c.TS_DIRECTIVE_REGEX,"");return $+Y+W})}parseSvelteComponent(O,Z){this.cleanup(),this.ctx.componentFilePath=Z.filePath;let $=c.stripTypeScriptDirectivesFromScripts(O);this.ctx.source=$;let{modern:Q,legacy:W}=W1($);if(cO(this,this.ctx,Q),this.ctx.parsed=W,this.ctx.scriptLanguage==="ts")T0(this.ctx.parsed.module),T0(this.ctx.parsed.instance),T0(this.ctx.parsed.html);this.ctx.syntaxMode=vO(this.ctx);let Y=this.ctx.parsed.css,X=Y?.start!==void 0&&Y?.end!==void 0?$.slice(0,Y.start)+" ".repeat(Y.end-Y.start)+$.slice(Y.end):$;if(DO(this.ctx,this,X),this.ctx.parsed?.module)K0(this.ctx.parsed?.module,{enter:(G)=>{if(G.type==="ExportNamedDeclaration"){if(G.declaration==null)return;if(!G.declaration||typeof G.declaration!=="object"||!("type"in G.declaration))return;let j,L,A=!1,H,M,S,f=!1,C,T,_;if(G.declaration.type==="FunctionDeclaration"){let R=G.declaration;if(!R.id?.name)return;j=R.id.name,L="function",H=void 0,M="() => any",f=!0,A=!0}else if(G.declaration.type==="VariableDeclaration"){let R=G.declaration,N=R.declarations[0];if(!N||typeof N!=="object"||!("id"in N))return;let{id:l,init:F}=N;if(!l||typeof l!=="object"||!("name"in l))return;let P=l.name;j=P,L=tO(R.kind);let w=F==null?{isFunction:!1}:z0(this,this.ctx,F);({value:H,type:M,isFunction:f,defaultValue:C}=w),T=M,_=w,S=this.getExplicitPropType(P)}else return;let x=U0(this.ctx,this,G),{type:a,typeSource:Z0,description:b,params:r,returnType:B,isFunction:E}=R0({explicitType:S,typeSeed:M,inferredTypeForSource:T,jsdocType:x?.type,jsdocDescription:x?.description,jsdocParams:x?.params,jsdocReturnType:x?.returnType,resolvedType:_?.resolvedType,resolvedDescription:_?.resolvedDescription,resolvedParams:_?.resolvedParams,resolvedReturnType:_?.resolvedReturnType,initializerIsFunction:f,isFunctionDeclaration:A,typedefs:this.ctx.typedefs});this.addModuleExport(j,{name:j,kind:L,description:b,deprecated:x?.deprecated,tags:x?.tags,type:a,typeSource:Z0,value:H,defaultValue:C,params:r,returnType:B,isFunction:E,isFunctionDeclaration:A,isRequired:!1,constant:L==="const",reactive:!1,source:v(this.ctx,G)})}}});let K,q=new Set,z=new Set,U=[],J={type:"ComponentRoot",instance:this.ctx.parsed.instance,html:this.ctx.parsed.html};bO(this,this.ctx),this.ctx.activeScopes.push(this.ctx.componentScope);let V=EO(this.ctx);if(K0(J,{enter:(G,j,L)=>{kO(this,this.ctx,V,G);let A=this.ctx.scopeDeclarations.get(G);if(A)this.ctx.activeScopes.push(A);if(G.type==="AssignmentExpression")OO(this.ctx,G.left);if(G.type==="UpdateExpression")OO(this.ctx,G.argument);if(G.type==="CallExpression"){let H=G,M=H.callee&&typeof H.callee==="object"&&"name"in H.callee?H.callee.name:void 0;if(M==="createEventDispatcher"){if(j&&typeof j==="object"&&"id"in j&&j.id&&typeof j.id==="object"&&"name"in j.id)K=j.id.name}if(M==="$host"){if(j&&typeof j==="object"&&"id"in j&&j.id&&typeof j.id==="object"&&"name"in j.id)q.add(j.id.name)}if(M==="setContext")jO(this.ctx,this,G,j??void 0);if(M)U.push({name:M,arguments:H.arguments,source:v(this.ctx,H)});if(O1(H.callee)&&Q0(H.callee.property)&&H.callee.property.name==="dispatchEvent"&&($0(H.callee.object,"$host")||Q0(H.callee.object)&&q.has(H.callee.object.name))){let S=JO(this.ctx,H);if(S)z.add(S)}}if(G&&typeof G==="object"&&"type"in G&&String(G.type)==="Spread"){let H=G;if(H.expression?.name==="$$restProps"||this.ctx.restPropLocals.has(H.expression?.name??""))SO(this.ctx,j)}if(G.type==="FunctionDeclaration"){let H=G;if(H.id?.name)this.ctx.funcDecls.set(H.id.name,H)}if(G.type==="VariableDeclaration"){if(this.ctx.vars.add(G),j&&typeof j==="object"&&"type"in j&&j.type==="Program"&&G.declarations.some((H)=>$0(J0(H.init),"$props")))iO(this,this.ctx,G)}if(G.type==="ExportNamedDeclaration"){if(G.declaration==null&&G.specifiers.length===0)return;let H;if(G.declaration==null&&G.specifiers[0]?.type==="ExportSpecifier"){let w=G.specifiers[0],s=w.local&&typeof w.local==="object"&&"name"in w.local?w.local.name:void 0,h=w.exported&&typeof w.exported==="object"&&"name"in w.exported?w.exported.name:void 0;if(!s||!h)return;let o;for(let Y0 of Array.from(this.ctx.vars))if(Y0.declarations.some((X0)=>X0.id&&typeof X0.id==="object"&&("type"in X0.id)&&X0.id.type==="Identifier"&&X0.id.name===s)){o=Y0;break}G.declaration=o,H=h}if(G.declaration==null)return;if(!G.declaration||typeof G.declaration!=="object"||!("type"in G.declaration))return;let M,S=!1,f,C,T,_=!1,x=!1,a,Z0,b,r;if(G.declaration.type==="FunctionDeclaration"){let w=G.declaration;if(!w.id?.name)return;H??=w.id.name,a=w.id.name,M="function",f=void 0,C="() => any",_=!0,S=!0,x=!1}else if(G.declaration.type==="VariableDeclaration"){let w=G.declaration,s=w.declarations[0];if(!s||typeof s!=="object"||!("id"in s))return;let{id:h,init:o}=s;if(h&&typeof h==="object"&&"name"in h){let X0=h.name;a=X0,H??=X0,T=this.getExplicitPropType(X0)}else return;M=tO(w.kind),x=M==="let"&&o==null;let Y0=o==null?{isFunction:!1}:z0(this,this.ctx,o);({value:f,type:C,isFunction:_,defaultValue:Z0}=Y0),b=C,r=Y0}else return;let B=U0(this.ctx,this,G),{type:E,typeSource:R,description:N,params:l,returnType:F,isFunction:P}=R0({explicitType:T,typeSeed:C,inferredTypeForSource:b,jsdocType:B?.type,jsdocDescription:B?.description,jsdocParams:B?.params,jsdocReturnType:B?.returnType,resolvedType:r?.resolvedType,resolvedDescription:r?.resolvedDescription,resolvedParams:r?.resolvedParams,resolvedReturnType:r?.resolvedReturnType,initializerIsFunction:_,isFunctionDeclaration:S,typedefs:this.ctx.typedefs});M0(this,this.ctx,H,{name:H,...a!==void 0&&a!==H?{localName:a}:{},kind:M,description:N,binding:B?.binding,deprecated:B?.deprecated,tags:B?.tags,type:E,typeSource:R,value:f,defaultValue:Z0,params:l,returnType:F,isFunction:P,isFunctionDeclaration:S,isRequired:x,constant:M==="const",reactive:this.ctx.reactive_vars.has(H),source:v(this.ctx,G)})}if(G&&typeof G==="object"&&"type"in G&&String(G.type)==="Comment"){let M=G?.data?.trim()??"";if(eO.test(M))this.ctx.componentComment=M.replace(eO,"").replace(X2,""),this.ctx.componentCommentSource=v(this.ctx,G)}if(G&&typeof G==="object"&&"type"in G&&String(G.type)==="Slot"){let H=G,M=H.attributes?.find((C)=>C.name==="name")?.value?.[0]?.data,S=(H.attributes||[]).filter((C)=>C.name!=="name").reduce((C,T)=>{let _={value:void 0,replace:!1},x=T.value;if(x===void 0)return C;if(x[0]){let a=x[0],{type:Z0,expression:b,raw:r,start:B,end:E}=a;if(Z0==="Text"&&r!==void 0)_.value=JSON.stringify(r);else if(Z0==="AttributeShorthand"&&b&&typeof b==="object"&&"name"in b)_.value=b.name,_.replace=!0;if(b&&typeof b==="object"&&"type"in b){if(b.type==="Literal"&&"value"in b){let R=b.value;_.value=typeof R==="string"?JSON.stringify(R):String(R)}else if(b.type==="MemberExpression")_.value=F0(this.ctx,this,b);else if(b.type!=="Identifier"){if(B!==void 0&&E!==void 0){if(b.type==="ObjectExpression"||b.type==="TemplateLiteral")_.value=y(this.ctx,B+1,E-1)}}}}if(T.name)C[T.name]=_;return C},{}),f=H.children?.map(({start:C,end:T})=>{if(C===void 0||T===void 0)return"";return y(this.ctx,C,T)??""}).join("").trim();L0(this.ctx,{slot_name:M,slot_props:S,slot_fallback:f,source:v(this.ctx,G)})}if(G&&typeof G==="object"&&"type"in G&&String(G.type)==="RenderTag"){let H=G,M=RO(this.ctx,H.expression);if(M){let S;if(M.arguments.length===0)S={};else if(M.arguments.length===1&&typeof M.arguments[0]==="object"&&M.arguments[0]&&"type"in M.arguments[0]&&M.arguments[0].type==="ObjectExpression")S=wO(this.ctx,this,M.arguments[0]);else if(M.arguments.length===1)q0(this.ctx,"syntax-skipped",M.publicName,`{@render ${M.publicName}(...)} argument is not a plain object literal; the render call was not mapped to slot metadata.`,v(this.ctx,G));let f=M.publicName==="children"?void 0:M.publicName,C=f===void 0?Y2:f;if(S!==void 0)L0(this.ctx,{slot_name:f,slot_props:S,source:v(this.ctx,G)});if(S!==void 0||this.ctx.slots.has(C))this.ctx.snippetPropLocals.add(M.trackingName)}}if(G&&typeof G==="object"&&"type"in G&&String(G.type)==="EventHandler"){let H=G;if(H.expression==null&&H.name){if(j!=null&&typeof j==="object"&&"name"in j){let M=typeof j.name==="string"?j.name:void 0,S="type"in j?String(j.type):void 0;if(M&&S){let f=S==="InlineComponent"?{type:"InlineComponent",name:M}:{type:"Element",name:M};this.ctx.forwardedEvents.set(H.name,f);let C=this.ctx.events.get(H.name),T=this.ctx.eventDescriptions.get(H.name),_=C?.deprecated;if(!C)this.ctx.events.set(H.name,{type:"forwarded",name:H.name,element:f,description:T,deprecated:_,source:v(this.ctx,G)});else if(C.type==="forwarded"&&T&&!C.description)this.ctx.events.set(H.name,{...C,description:T,deprecated:C.deprecated??_,source:C.source||v(this.ctx,G)})}}}}if(j&&typeof j==="object"&&"type"in j&&(String(j.type)==="Element"||String(j.type)==="InlineComponent")&&G&&typeof G==="object"&&"type"in G&&String(G.type)==="Binding"){let H=G;if(H.expression?.name){let M=_0(this.ctx,H.expression.name);if(M)this.ctx.reactive_vars.add(M)}if(String(j.type)==="Element"&&H.name==="this"&&H.expression?.name&&"name"in j&&typeof j.name==="string"){let M=_0(this.ctx,H.expression.name);if(!M)return;let S=j.name;if(this.ctx.bindings.has(M)){let f=this.ctx.bindings.get(M);if(f&&!f.elements.includes(S))this.ctx.bindings.set(M,{...f,elements:[...f.elements,S]})}else this.ctx.bindings.set(M,{elements:[S]})}}},leave:(G)=>{if(this.ctx.scopeDeclarations.has(G))this.ctx.activeScopes.pop();TO(V,G)}}),K!==void 0){for(let G of U)if(G.name===K){let j=G.arguments[0],L=j&&typeof j==="object"&&"value"in j?j.value:void 0,A=G.arguments[1],H=A&&typeof A==="object"&&"value"in A?A.value:void 0;if(L!=null)B0(this.ctx,{name:String(L),detail:H==null?"":u0(H),has_argument:Boolean(A),source:G.source})}}let I=new Set(z);if(K!==void 0){for(let G of U)if(G.name===K){let j=G.arguments[0],L=j&&typeof j==="object"&&"value"in j?j.value:void 0;if(L!=null)I.add(String(L))}}this.ctx.forwardedEvents.forEach((G,j)=>{let L=this.ctx.events.get(j);if(L&&L.type==="dispatched"&&!I.has(j)){let A=this.ctx.eventDescriptions.get(j),H={type:"forwarded",name:j,element:G,description:A,deprecated:L.deprecated,tags:L.tags,source:L.source};if(L.detail!==void 0&&L.detail!=="undefined")H.detail=L.detail;this.ctx.events.set(j,H)}}),sO(this.ctx,I);let k=this.ctx.syntaxMode==="runes"?new Set(Array.from(this.ctx.snippetPropLocals,(G)=>this.resolvePublicPropName(G))):new Set,u=c.mapToArray(this.ctx.props).filter((G)=>!k.has(G.name)).map((G)=>{if(this.ctx.bindings.has(G.name)){let j=this.ctx.bindings.get(G.name)?.elements.sort().map((L)=>YO(L)).join(" | ");return{...G,type:`null | ${j}`,typeSource:"inferred",reactive:G.reactive||this.ctx.reactive_vars.has(G.name)}}return{...G,reactive:G.reactive||this.ctx.reactive_vars.has(G.name)}});this.ctx.activeScopes.length=0;let m=c.mapToArray(this.ctx.slots).map((G)=>{if(!G.slot_props)return G;if(typeof G.slot_props==="string")return K2.test(G.slot_props)?{...G,slot_props:"Record<string, never>"}:G;let j=G.slot_props,L=[];for(let H of Object.keys(j)){if(j[H].replace&&j[H].value!==void 0)j[H].value=this.getPropTypeByLocalOrPublic(j[H].value);if(j[H].value===void 0)j[H].value="any";L.push(`${H}: ${j[H].value}`)}let A=L.length===0?"Record<string, never>":L.length===1?`{ ${L[0]} }`:`{
|
|
14
|
+
${F}`:F}}B0(O,{name:U,detail:E,has_argument:!1,description:V,deprecated:I,tags:m.length>0?m:void 0,source:k}),O.eventDescriptions.set(U,V),O.jsDocEventNames.add(U),O.jsDocEventSources.set(U,k),O0.length=0,U=void 0,J=void 0,V=void 0,I=void 0,k=void 0,u=void 0,m=[]}},a=()=>{if(D!==void 0){let B,E;if(W0.length>0)B=m0(W0,void 0,!0),E=`type ${D} = ${B};`;else if(i)B=i,E=v1(B)?`interface ${D} ${B}`:`type ${D} = ${B};`;else B="{}",E=`type ${D} = ${B};`;O.typedefs.set(D,{type:B,name:D,description:n(t),ts:E}),W0.length=0,D=void 0,i=void 0,t=void 0}},Z0=()=>{if(p!==void 0){let R=`(${j.map(({name:l,type:F,optional:P})=>{return`${l}${P?"?":""}: ${F}`}).join(", ")}) => ${L||"void"}`,N=`type ${p} = ${R};`;O.typedefs.set(p,{type:R,name:p,description:n(G),ts:N}),j.length=0,L=void 0,p=void 0,G=void 0}},b=W.some((B)=>B.tag==="slot"||B.tag==="snippet"),r=W.some((B)=>B.tag==="extends"||B.tag==="extendProps");for(let{tag:B,type:E,name:R,description:N,optional:l,default:F,source:P}of W){let w=Z.aliasType(E),s=_(P);switch(B){case"extends":case"extendProps":if(O.extends={interface:R,import:w},H)H=!1;break;case"restProps":{let h=R?N?`${R} ${N}`:R:N,Y0=j0(h)||s;if(!Y0&&H&&!A&&Y)Y0=Y,A=!0;if(O.rest_props={type:"Element",name:w,description:Y0||void 0},H)H=!1;break}case"slot":case"snippet":{let o=j0(w0(P));if(!o&&H&&!A&&Y)o=Y,A=!0;if(!o&&M.length===0)o=s;if(H)H=!1;L0(O,{slot_name:R,slot_props:w,slot_description:o||void 0,slot_deprecated:S,slot_tags:M.length>0?[...M]:void 0,source:n0(O,X,P,z)}),M.length=0,S=void 0;break}case"event":{if(x(),U=R,J=w,u=P&&P.length>0?P[0].number:void 0,V=j0(w0(P))||s,!V&&H&&!A&&Y)V=Y,A=!0;if(k=n0(O,X,P,z),H)H=!1;break}case"type":if(U!==void 0)J=w;break;case"param":if(p!==void 0)j.push({name:R,type:w,optional:l||!1});break;case"returns":case"return":if(p!==void 0)L=w;break;case"property":{let h={name:R,type:w,description:j0(w0(P)),optional:l||!1,default:F};if(U!==void 0)O0.push(h);else if(D!==void 0)W0.push(h);break}case"typedef":{if(a(),D=FO(R),i=w,t=j0(w0(P))||s,!t&&H&&!A&&Y)t=Y,A=!0;if(H)H=!1;break}case"callback":{if(Z0(),p=FO(R),G=j0(w0(P))||s,!G&&H&&!A&&Y)G=Y,A=!0;if(H)H=!1;break}case"generics":if(O.generics=[R,w],H)H=!1;break;case"template":{let h=R;if(w)h=`${R} extends ${w}`;if(F)h+=` = ${F}`;if(b&&!r){O.deferredSlotBlockGenerics.push({name:R,constraint:h});break}if(Z.accumulateGeneric(R,h),H)H=!1;break}case"deprecated":{let h=DO(R,N);if(U===void 0)S??=h;else I??=h;break}case"enum":case"class":case"implements":case"this":case"namespace":case"memberof":case"module":case"file":case"overview":break;default:{let h={name:B,body:hO(P)};if(U!==void 0&&PO.has(B))m.push(h);else M.push(h)}break}}x(),a(),Z0()}}function m1({hasTypeScriptType:O,hasJSDocType:Z,inferredType:$,finalType:Q}){if(O)return"typescript";if(Z)return"jsdoc";if($!==void 0)return"default";if(Q!==void 0)return"inferred";return"unknown"}function R0(O){let Z=O.explicitType??O.jsdocType??O.resolvedType??O.typeSeed,$=O.jsdocParams??O.resolvedParams,Q=O.jsdocReturnType??O.resolvedReturnType;if(O.isFunctionDeclaration&&Z==="() => any"&&Q)Z=$&&$.length>0?`(${$.map((K)=>`${K.name}${K.optional?"?":""}: ${K.type}`).join(", ")}) => ${Q}`:`() => ${Q}`;let W=O.jsdocDescription??O.resolvedDescription;if(W===void 0&&Z!==void 0)W=O.typedefs?.get(Z)?.description;let Y=m1({hasTypeScriptType:O.explicitType!==void 0,hasJSDocType:O.jsdocType!==void 0||O.jsdocParams!==void 0||O.jsdocReturnType!==void 0||O.resolvedType!==void 0,inferredType:O.inferredTypeForSource,finalType:Z}),X=O.initializerIsFunction||O.isFunctionDeclaration||O.inferIsFunctionFromTypeSignature===!0&&(!!O.jsdocParams?.length||O.jsdocReturnType!==void 0||!!O.jsdocType?.includes("=>")||!!O.resolvedType?.includes("=>")||!!O.explicitType?.includes("=>"));return{type:Z,typeSource:Y,description:W,params:$,returnType:Q,isFunction:X}}function l1(O){if(!O||typeof O!=="object"||!("type"in O))return;let Z=String(O.type);if(Z!=="InlineComponent"&&Z!=="Element")return;let $="name"in O&&typeof O.name==="string"?O.name:void 0;if(!$)return;let Q=Z==="InlineComponent"?{type:"InlineComponent",name:$}:{type:"Element",name:$};if(Z==="Element"&&$==="svelte:element"&&"tag"in O&&typeof O.tag==="string")Q.thisValue=O.tag;return Q}function _O(O,Z){if(O.rest_props!==void 0)return;let $=l1(Z);if($)O.rest_props=$}function d(O,Z,$){if(!Z||O.has(Z))return;O.set(Z,$)}function _0(O,Z){for(let $=O.activeScopes.length-1;$>=0;$-=1){let Q=O.activeScopes[$]?.get(Z);if(!Q)continue;return Q.kind==="prop"?Q.publicPropName:void 0}return}function g(O,Z=new Set){if(!O||typeof O!=="object"||!("type"in O))return Z;switch(O.type){case"Identifier":Z.add(O.name);break;case"AssignmentPattern":g(O.left,Z);break;case"ArrayPattern":for(let $ of O.elements)g($??void 0,Z);break;case"ObjectPattern":for(let $ of O.properties)if($.type==="Property")g($.value,Z);else if($.type==="RestElement")g($.argument,Z);break;case"RestElement":g(O.argument,Z);break}return Z}function ZO(O,Z){let $=g(Z);if(!$)return;for(let Q of $){let W=_0(O,Q);if(W)O.reactive_vars.add(W)}}function b0(O){if(!O||typeof O!=="object"||!("type"in O))return!1;switch(String(O.type)){case"BlockStatement":case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"CatchClause":case"EachBlock":case"ThenBlock":case"CatchBlock":return!0;default:return!1}}function EO(O){if(!O||typeof O!=="object"||!("type"in O))return!1;let Z=String(O.type);return Z==="FunctionDeclaration"||Z==="FunctionExpression"||Z==="ArrowFunctionExpression"}function d1(O,Z){let $=O.scopeDeclarations.get(Z);if(!$)$=new Map,O.scopeDeclarations.set(Z,$);return $}function c1(O,Z,$){let Q=[];if($.id.type==="Identifier")return Q.push({kind:"local",name:$.id.name}),Q;if($.id.type!=="ObjectPattern")return Q;for(let W of $.id.properties){if(W.type==="RestElement"){if(W.argument.type==="Identifier")Q.push({kind:"local",name:W.argument.name});continue}if(W.computed)continue;let Y=O.getPropertyName(W.key);if(!Y)continue;let X;if(W.value.type==="Identifier")X=W.value.name;else if(W.value.type==="AssignmentPattern"&&W.value.left.type==="Identifier")X=W.value.left.name;if(!X)continue;Q.push({kind:"prop",name:X,publicPropName:Y})}return Q}function OO(O,Z,$,Q,W){if(!bO(Z))return;let Y=W?.allowRunesProps??!1,X=W?.forceProp??!1,K=Z;for(let q of K.declarations){if(Y&&$0(J0(q.init),"$props")){for(let J of c1(O,K,q))d(J.kind==="prop"?$:Q,J.name,J.kind==="prop"?{kind:"prop",publicPropName:J.publicPropName}:{kind:"local"});continue}let z=K.kind==="var"?Q:$,U=X?"prop":"local";for(let J of g(q.id))d(z,J,U==="prop"?{kind:"prop",publicPropName:J}:{kind:"local"})}}function i1(O,Z){if("id"in O&&O.id&&typeof O.id==="object"&&"name"in O.id&&typeof O.id.name==="string")d(Z,O.id.name,{kind:"local"});for(let $ of O.params)for(let Q of g($))d(Z,Q,{kind:"local"})}function s1(O,Z,$,Q){if(!Array.isArray(Z))return;for(let W of Z){if(!W||typeof W!=="object"||!("type"in W))continue;switch(W.type){case"VariableDeclaration":OO(O,W,$,Q);break;case"FunctionDeclaration":if(W.id?.name)d($,W.id.name,{kind:"local"});break;case"ClassDeclaration":if(W.id?.name)d($,W.id.name,{kind:"local"});break}}}function p1(O,Z,$){if(!$||typeof $!=="object")return;let Q="content"in $&&$.content&&typeof $.content==="object"&&"body"in $.content&&Array.isArray($.content.body)?$.content:("body"in $)&&Array.isArray($.body)?$:void 0;if(!Q||!("body"in Q)||!Array.isArray(Q.body))return;for(let W of Q.body){if(!W||typeof W!=="object"||!("type"in W))continue;switch(W.type){case"ImportDeclaration":for(let Y of W.specifiers??[])if(Y.local?.name)d(Z.componentScope,Y.local.name,{kind:"local"});break;case"VariableDeclaration":OO(O,W,Z.componentScope,Z.componentScope,{allowRunesProps:!0});break;case"FunctionDeclaration":if(W.id?.name)d(Z.componentScope,W.id.name,{kind:"local"});break;case"ClassDeclaration":if(W.id?.name)d(Z.componentScope,W.id.name,{kind:"local"});break;case"ExportNamedDeclaration":if(!W.declaration||typeof W.declaration!=="object"||!("type"in W.declaration))break;if(W.declaration.type==="VariableDeclaration")OO(O,W.declaration,Z.componentScope,Z.componentScope,{forceProp:!0});else if(W.declaration.type==="FunctionDeclaration"&&W.declaration.id?.name)d(Z.componentScope,W.declaration.id.name,{kind:"prop",publicPropName:W.declaration.id.name});break}}}function kO(O,Z){Z.componentScope.clear(),Z.scopeDeclarations=new WeakMap,Z.activeScopes.length=0,p1(O,Z,Z.parsed?.instance)}function TO(O){return{varScopeStack:[O.componentScope]}}function NO(O,Z,$,Q){if(!b0(Q))return;let W=d1(Z,Q),Y=$.varScopeStack[$.varScopeStack.length-1]??Z.componentScope;switch(String(Q.type)){case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":i1(Q,W);break;case"BlockStatement":s1(O,Q.body,W,Y);break;case"CatchClause":if("param"in Q)for(let K of g(Q.param))d(W,K,{kind:"local"});break;case"EachBlock":{let K=Q;for(let q of g(K.context))d(W,q,{kind:"local"});if(typeof K.index==="string")d(W,K.index,{kind:"local"});else if(K.index&&"name"in K.index)d(W,K.index.name,{kind:"local"});break}case"ThenBlock":if("value"in Q)for(let K of g(Q.value))d(W,K,{kind:"local"});break;case"CatchBlock":if("error"in Q)for(let K of g(Q.error))d(W,K,{kind:"local"});break}if(EO(Q))$.varScopeStack.push(W)}function vO(O,Z){if(EO(Z))O.varScopeStack.pop()}var o1=new Set(["$state","$derived","$effect","$props","$bindable","$inspect","$host"]);function a1(O,Z){switch(Z?.type){case"MemberExpression":return Z.computed||O===Z.object;case"MethodDefinition":return!!Z.computed;case"MetaProperty":return O===Z.meta;case"PropertyDefinition":return Z.computed||O===Z.value;case"Property":return Z.computed||O===Z.value;case"ExportSpecifier":case"ImportSpecifier":return O===Z.local;case"LabeledStatement":case"BreakStatement":case"ContinueStatement":return!1;default:return!0}}function r1(O,Z){for(let $=Z.length-1;$>=0;$-=1)if(Z[$]?.has(O))return!0;return!1}function n1(O){let Z=new Set;if(!O||typeof O!=="object"||!("type"in O))return Z;switch(String(O.type)){case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":{let $=O;if($.id?.name)Z.add($.id.name);for(let Q of $.params??[])g(Q,Z);break}case"BlockStatement":E0(O.body,Z);break;case"CatchClause":g(O.param,Z);break;case"EachBlock":{let $=O;if(g($.context,Z),typeof $.index==="string")Z.add($.index);else if($.index?.name)Z.add($.index.name);break}case"ThenBlock":g(O.value,Z);break;case"CatchBlock":g(O.error,Z);break}return Z}function E0(O,Z){if(!Array.isArray(O))return;for(let $ of O){if(!$||typeof $!=="object"||!("type"in $))continue;switch(String($.type)){case"ImportDeclaration":for(let Q of $.specifiers??[])if(Q.local?.name)Z.add(Q.local.name);break;case"VariableDeclaration":for(let Q of $.declarations??[])g(Q.id,Z);break;case"FunctionDeclaration":case"ClassDeclaration":{let Q=$.id?.name;if(Q)Z.add(Q);break}case"ExportNamedDeclaration":{let Q=$.declaration;if(Q&&typeof Q==="object"&&"type"in Q)E0([Q],Z);break}}}}function $O(O,Z){if(!O||typeof O!=="object")return!1;let $=[...Z],Q=!1;return K0(O,{enter(W,Y){if(Q){this.skip();return}if(b0(W))$.push(n1(W));if(Y&&W.type==="Identifier"&&o1.has(W.name)&&!Y.type.startsWith("TS")&&a1(W,Y)&&!r1(W.name,$))Q=!0,this.skip()},leave(W){if(b0(W))$.pop()}}),Q}function gO(O){if(!O||typeof O!=="object")return;if("content"in O){let Z=O.content,$=Z&&typeof Z==="object"&&"body"in Z?Z.body:void 0;if(Array.isArray($))return $}if("body"in O&&Array.isArray(O.body))return O.body;return}function yO(O){if(O.runesOptionOverride!==void 0)return O.runesOptionOverride?"runes":"legacy";let Z=O.parsed;if(!Z)return"legacy";let $=new Set;E0(gO(Z.module),$);let Q=new Set;return E0(gO(Z.instance),Q),$O(Z.module,[$])||$O(Z.instance,[$,Q])||$O(Z.html,[$,Q])?"runes":"legacy"}var t1=/[A-Za-z_$][\w$]*/g;function e1(O,Z,$){let Q=new Map,W=Z.typeParameters?.params,Y=$.typeArguments?.params;if(!W?.length||!Y?.length)return Q;for(let X=0;X<W.length;X++){let K=W[X]?.name,q=Y[X];if(!K||q?.start===void 0||q?.end===void 0)continue;let z=y(O,q.start,q.end)?.trim();if(z)Q.set(K,z)}return Q}function O2(O,Z){if(Z.size===0)return O;return O.replace(t1,($)=>Z.get($)??$)}function I0(O,Z,$,Q,W=new Set){let Y=new Map;if(!$?.type)return Y;let X=(K)=>{for(let q of K){if(q?.type!=="TSPropertySignature"||q.computed)continue;if(!q.key)continue;let z=O.getPropertyName(q.key);if(!z)continue;let U=q.typeAnnotation?.start,J=q.typeAnnotation?.end;if(U===void 0||J===void 0)continue;let V=y(Z,U+1,J)?.trim();if(!V)continue;Y.set(z,{type:V,optional:q.optional===!0,source:v(Z,q)})}};switch($.type){case"TSTypeLiteral":X($.members??[]);break;case"TSInterfaceDeclaration":X($.body?.body??[]);break;case"TSTypeAliasDeclaration":{let K=I0(O,Z,$.typeAnnotation,Q,W);for(let[q,z]of K)Y.set(q,z);break}case"TSTypeReference":{let K=lO($.typeName);if(!K||W.has(K))break;let q=Q.get(K);if(!q)break;W.add(K);let z=I0(O,Z,q,Q,W);W.delete(K);let U=e1(Z,q,$);for(let[J,V]of z)Y.set(J,U.size===0?V:{...V,type:O2(V.type,U)});break}case"TSIntersectionType":for(let K of $.types??[]){let q=I0(O,Z,K,Q,W);for(let[z,U]of q)Y.set(z,U)}break;case"TSParenthesizedType":{let K=I0(O,Z,$.typeAnnotation,Q,W);for(let[q,z]of K)Y.set(q,z);break}}return Y}function sO(O,Z,$){if(Z.runesPropsDeclarationMetadataByDeclaratorStart.clear(),Z.explicitPropTypesByName.clear(),Z.explicitVariableTypesByName.clear(),Z.typeImportBindingsByLocalName.clear(),Z.localTypeDeclarationsByName.clear(),Z.typedRunesPropsDeclarations.length=0,!Z.source)return;let Q=$;Z.scriptLanguage=O.resolveScriptLanguage(Q),Z.customElementTag=Q.options?.customElement?.tag,Z.runesOptionOverride=Q.options?.runes,Z.scriptGenericsAttribute=O.resolveScriptGenericsAttribute(Q);let W=Q.instance?.content?.body??[];for(let Y of W){if(!Y?.type)continue;if(Y.type==="ImportDeclaration"&&Y.source?.value)for(let X of Y.specifiers??[]){let K=X.local?.name;if(!K)continue;if(!(Y.importKind==="type"||X.importKind==="type"))continue;let z,U;if(X.type==="ImportSpecifier")z="named",U=X.imported?.type==="Identifier"?X.imported.name:typeof X.imported?.value==="string"?X.imported.value:void 0;else if(X.type==="ImportDefaultSpecifier")z="default";else if(X.type==="ImportNamespaceSpecifier")z="namespace";if(!z)continue;Z.typeImportBindingsByLocalName.set(K,{importedName:U,localName:K,source:String(Y.source.value),specifierType:z})}if((Y.type==="TSInterfaceDeclaration"||Y.type==="TSTypeAliasDeclaration")&&Y.id?.name&&Y.start!==void 0&&Y.end!==void 0)Z.localTypeDeclarationsByName.set(Y.id.name,{code:y(Z,Y.start,Y.end)?.trim()??"",node:Y,start:Y.start});if(Y.type==="ExportNamedDeclaration"&&Y.declaration?.type==="VariableDeclaration")for(let X of Y.declaration.declarations??[]){if(X.id?.type!=="Identifier"||!X.id.name)continue;let K=k0(Z,X.id.typeAnnotation);if(K)Z.explicitPropTypesByName.set(X.id.name,K)}else if(Y.type==="VariableDeclaration")for(let X of Y.declarations??[]){if(X.id?.type!=="Identifier"||!X.id.name)continue;let K=k0(Z,X.id.typeAnnotation);if(K)Z.explicitVariableTypesByName.set(X.id.name,K)}}for(let Y of W){if(!Y||typeof Y!=="object"||!("declarations"in Y))continue;for(let X of Y.declarations??[]){if(!$0(J0(X.init),"$props"))continue;let K=X.id?.typeAnnotation?void 0:xO(X.init),q=X.id?.typeAnnotation?.typeAnnotation??K,z=X.id?.typeAnnotation?k0(Z,X.id.typeAnnotation):dO(Z,K),U=I0(O,Z,q,new Map(Array.from(Z.localTypeDeclarationsByName.entries(),([I,k])=>[I,k.node]))),J=new Set,V=new Set;if(cO(Z,q,J,V),iO(Z,J,V),X.start!==void 0){let I={canonicalType:z,props:U,referencedImportedTypes:J,referencedLocalTypes:V};if(Z.runesPropsDeclarationMetadataByDeclaratorStart.set(X.start,I),z)Z.typedRunesPropsDeclarations.push(I)}}}}function pO(O,Z,$){for(let Q of $.declarations){if(!$0(J0(Q.init),"$props"))continue;if(Q.id.type==="Identifier"){Z.wholePropsLocals.add(Q.id.name),Z.restPropLocals.add(Q.id.name);let X=uO(Z,Q.start);if(X)for(let[K,q]of X.props)M0(O,Z,K,{name:K,kind:"let",type:q.type,typeSource:"typescript",isFunction:!1,isFunctionDeclaration:!1,isRequired:!q.optional,constant:!1,reactive:!1,source:q.source});continue}if(Q.id.type!=="ObjectPattern")continue;let W=U0(Z,O,$),Y=Q.id.properties.filter((X)=>{if(X.type!=="Property"||X.computed)return!1;if(!O.getPropertyName(X.key))return!1;if(X.value.type==="Identifier")return!0;return X.value.type==="AssignmentPattern"&&X.value.left.type==="Identifier"}).length;for(let X of Q.id.properties){if(X.type==="RestElement"){if(X.argument.type==="Identifier")Z.restPropLocals.add(X.argument.name);continue}let K=O.getPropertyName(X.key);if(!K)continue;let q,z;if(X.value.type==="Identifier")q=X.value.name;else{let A=X.value;q=A.left.name,z=A.right}if(!q)continue;if(O.trackPropLocalName(K,q),K==="children")Z.snippetPropLocals.add(q);let U=SO(Z,O,X)??(Y===1?W:void 0),J=mO(Z,Q.start,K),{init:V,bindable:I}=HO(z),k=V==null?{isFunction:!1}:z0(O,Z,V),{value:u,type:m,isFunction:O0,defaultValue:D}=k,i=J?.type===void 0&&U?.type===void 0?k.resolvedType:void 0,{type:t,typeSource:W0,description:p,params:G,returnType:j,isFunction:L}=R0({explicitType:J?.type,typeSeed:m,inferredTypeForSource:m,jsdocType:U?.type,jsdocDescription:U?.description,jsdocParams:U?.params,jsdocReturnType:U?.returnType,resolvedType:i,resolvedDescription:k.resolvedDescription,resolvedParams:k.resolvedParams,resolvedReturnType:k.resolvedReturnType,initializerIsFunction:O0,isFunctionDeclaration:!1,inferIsFunctionFromTypeSignature:!0});if(I)Z.reactive_vars.add(K);M0(O,Z,K,{name:K,...q===K?{}:{localName:q},kind:"let",description:p,binding:U?.binding,deprecated:U?.deprecated,tags:U?.tags,...I?{bindable:!0}:{},type:t,typeSource:W0,value:u,defaultValue:D,params:G,returnType:j,isFunction:L,isFunctionDeclaration:!1,isRequired:V==null&&J?.optional!==!0,constant:!1,reactive:I,source:v(Z,X)})}}}function oO(O,Z){if(O.syntaxMode!=="runes")return;for(let[$,Q]of Array.from(O.events.entries())){if(Q.type!=="dispatched")continue;if(Z.has($)||O.forwardedEvents.has($))continue;let W=`on${$}`,Y=O.props.get(W);if(!Y)continue;let X=Y.type!==void 0||Y.params!==void 0||Y.returnType!==void 0,K=Q.detail===void 0||Q.detail==="undefined"||Q.detail==="null"?"() => void":`(detail: ${Q.detail}) => void`;O.props.set(W,{...Y,description:Y.description??Q.description,type:X?Y.type:K,typeSource:X?Y.typeSource:"inferred",isFunction:!0}),O.events.delete($)}}var aO=new Set(["TSAsExpression","TSSatisfiesExpression","TSNonNullExpression","TSTypeAssertion","TSInstantiationExpression"]);function T0(O){if(!O||typeof O!=="object")return;K0(O,{enter(Z){if(!aO.has(Z.type))return;let $=Z.expression;while($&&aO.has($.type))$=$.expression;if($)this.replace($)}})}function nO(O,Z,$){let Q=Z+1;while(Q<O.length){if(O[Q]==="\\"){Q+=2;continue}if(O[Q]===$)return Q+1;Q++}return Q}function tO(O,Z){let $=Z+1,Q=0;while($<O.length){let W=O[$];if(W==="\\"){$+=2;continue}if(Q===0){if(W==="`")return $+1;if(W==="$"&&O[$+1]==="{"){Q=1,$+=2;continue}$++;continue}if(W==="{")Q++;else if(W==="}")Q--;else if(W==='"'||W==="'"){$=nO(O,$,W);continue}else if(W==="`"){$=tO(O,$);continue}$++}return $}function Z2(O,Z){let $=[],Q=O.length,W=0;while(W<Q){let Y=O[W];if(Y==='"'||Y==="'"){W=nO(O,W,Y);continue}if(Y==="`"){W=tO(O,W);continue}if(Y==="/"&&O[W+1]==="/"){let X=W+2;while(X<Q&&O[X]!==`
|
|
15
|
+
`)X++;W=X;continue}if(Y==="/"&&O[W+1]==="*"){let X=W,K=W+2;while(K<Q&&!(O[K]==="*"&&O[K+1]==="/"))K++;let q=Math.min(K+2,Q),z=O.slice(X,q);$.push({end:q+Z,isJsDoc:z.startsWith("/**")&&z.length>4,text:z}),W=q;continue}W++}return $}function rO(O,Z,$){if(!O||typeof O!=="object"||!("type"in O))return;let Q=O;if(Q.type==="FunctionDeclaration"){if(Q.id?.type==="Identifier"&&Q.id.name)$.push({name:Q.id.name,start:Z});return}if(Q.type==="VariableDeclaration"){for(let W of Q.declarations??[])if(W?.id?.type==="Identifier"&&W.id.name)$.push({name:W.id.name,start:Z})}}function $2(O){let Z=[];for(let $ of O){if(!$||typeof $!=="object"||!("type"in $))continue;let Q=$;if(Q.start===void 0)continue;if(Q.type==="ExportNamedDeclaration"&&Q.declaration)rO(Q.declaration,Q.start,Z);else rO(Q,Q.start,Z)}return Z}function Q2(O,Z,$){let Q;for(let W of O){if(W.end>Z)break;if(!W.isJsDoc)continue;if(!t0.test($.slice(W.end,Z)))continue;Q=W}return Q}function eO(O,Z){let $=new Map;if(!O.source)return $;let Q=[O.parsed?.module,O.parsed?.instance],W=[],Y=[];for(let X of Q){let K=X?.content;if(!K?.body||K.start===void 0||K.end===void 0)continue;W.push(...Z2(O.source.slice(K.start,K.end),K.start)),Y.push(...$2(K.body))}W.sort((X,K)=>X.end-K.end);for(let X of Y){let K=Q2(W,X.start,O.source);if(!K)continue;let q=V0(K.text,{spacing:"preserve"}),{type:z,description:U}=e0(q);if(!z)continue;$.set(X.name,{type:Z.aliasType(z.type),description:U||z.description})}return $}function O1(O){if(O==="var")return"let";if(O==="using"||O==="await using")return"const";return O}var W2=null,Z1=/^@component/,Y2=/\r/g,X2=/^\{\s*\}$/;class c{ctx=v0();static mapToArray(O){return Array.from(O,([Z,$])=>$)}static getStaticAttributeValue(O){if(!Array.isArray(O.value))return;return O.value.map((Z)=>Z.data??Z.raw??"").join("").trim()}resolveScriptLanguage(O){let Z=[O.instance,O.module].filter((Q)=>Q!==void 0),$=!1;for(let Q of Z){let W=Q.attributes?.find((X)=>X.name==="lang");if(!W){$=!0;continue}if(c.getStaticAttributeValue(W)?.toLowerCase()==="ts")return"ts"}return $?"js":void 0}resolveScriptGenericsAttribute(O){let Z=O.instance?.attributes?.find((X)=>X.name==="generics");if(!Z)return;let $=v(this.ctx,Z),Q=O.instance?.attributes?.find((X)=>X.name==="lang");if((Q?c.getStaticAttributeValue(Q)?.toLowerCase():void 0)!=="ts"){q0(this.ctx,"syntax-skipped","generics",'<script generics="..."> requires lang="ts"; the generics attribute was ignored because the script is not TypeScript.',$);return}let Y=c.getStaticAttributeValue(Z);if(!Y)return;return{value:Y,source:$}}resolvePublicPropName(O){return this.ctx.propLocalToPublicName.get(O)??O}trackPropLocalName(O,Z=O){this.ctx.propLocalToPublicName.set(Z,O)}getPropByLocalOrPublic(O){return this.ctx.props.get(this.resolvePublicPropName(O))}getPropTypeByLocalOrPublic(O){return this.getPropByLocalOrPublic(O)?.type}getExplicitPropType(O){return this.ctx.explicitPropTypesByName.get(O)}getPropertyName(O){if(!O||typeof O!=="object"||!("type"in O))return;if(Q0(O))return O.name;if(H0(O))return O.value==null?void 0:String(O.value);return}isNumericConstant(O){if(!O||typeof O!=="object"||!("type"in O))return!1;if(O.type!=="MemberExpression")return!1;let Z=O,$=Z.object&&"name"in Z.object?Z.object.name:void 0,Q=Z.property&&"name"in Z.property?Z.property.name:void 0;if(!$||!Q)return!1;if($==="Number")return["POSITIVE_INFINITY","NEGATIVE_INFINITY","MAX_VALUE","MIN_VALUE","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","EPSILON","NaN"].includes(Q);if($==="Math")return["PI","E","LN2","LN10","LOG2E","LOG10E","SQRT2","SQRT1_2"].includes(Q);return!1}resolveLocalVarJSDoc(O){for(let $ of this.ctx.vars)if($.declarations.some((W)=>W.id&&typeof W.id==="object"&&("type"in W.id)&&W.id.type==="Identifier"&&("name"in W.id)&&W.id.name===O))return U0(this.ctx,this,$);let Z=this.ctx.funcDecls.get(O);if(Z)return U0(this.ctx,this,Z);return}addModuleExport(O,Z){if(n(O)===void 0)return;if(this.ctx.moduleExports.has(O)){let $=this.ctx.moduleExports.get(O);this.ctx.moduleExports.set(O,{...$,...Z})}else this.ctx.moduleExports.set(O,Z)}aliasType(O){if(O==="*")return"any";return O.trim()}findVariableTypeAndDescription(O){let Z=this.getPropByLocalOrPublic(O);if(Z?.type)return{type:Z.type,description:Z.description};if(!this.ctx.variableInfoCacheBuilt)this.ctx.variableInfoCache=eO(this.ctx,this),this.ctx.variableInfoCacheBuilt=!0;let $=this.ctx.variableInfoCache.get(O),Q=this.ctx.explicitVariableTypesByName.get(O);if(Q)return{type:Q,description:$?.description};return $??null}accumulateGeneric(O,Z){if(this.ctx.generics)this.ctx.generics=[`${this.ctx.generics[0]}, ${O}`,`${this.ctx.generics[1]}, ${Z}`];else this.ctx.generics=[O,Z]}cleanup(){this.ctx=v0()}static SCRIPT_BLOCK_REGEX=/(<script[^>]*>)([\s\S]*?)(<\/script>)/gi;static TS_DIRECTIVE_REGEX=/\/\/\s*@ts-[^\n\r]*/g;static stripTypeScriptDirectivesFromScripts(O){return c.SCRIPT_BLOCK_REGEX.lastIndex=0,O.replace(c.SCRIPT_BLOCK_REGEX,(Z,$,Q,W)=>{c.TS_DIRECTIVE_REGEX.lastIndex=0;let Y=Q.replace(c.TS_DIRECTIVE_REGEX,"");return $+Y+W})}parseSvelteComponent(O,Z){this.cleanup(),this.ctx.componentFilePath=Z.filePath;let $=c.stripTypeScriptDirectivesFromScripts(O);this.ctx.source=$;let{modern:Q,legacy:W}=X1($);if(sO(this,this.ctx,Q),this.ctx.parsed=W,this.ctx.scriptLanguage==="ts")T0(this.ctx.parsed.module),T0(this.ctx.parsed.instance),T0(this.ctx.parsed.html);this.ctx.syntaxMode=yO(this.ctx);let Y=this.ctx.parsed.css,X=Y?.start!==void 0&&Y?.end!==void 0?$.slice(0,Y.start)+" ".repeat(Y.end-Y.start)+$.slice(Y.end):$;if(fO(this.ctx,this,X),this.ctx.parsed?.module)K0(this.ctx.parsed?.module,{enter:(G)=>{if(G.type==="ExportNamedDeclaration"){if(G.declaration==null)return;if(!G.declaration||typeof G.declaration!=="object"||!("type"in G.declaration))return;let j,L,A=!1,H,M,S,f=!1,C,T,_;if(G.declaration.type==="FunctionDeclaration"){let R=G.declaration;if(!R.id?.name)return;j=R.id.name,L="function",H=void 0,M="() => any",f=!0,A=!0}else if(G.declaration.type==="VariableDeclaration"){let R=G.declaration,N=R.declarations[0];if(!N||typeof N!=="object"||!("id"in N))return;let{id:l,init:F}=N;if(!l||typeof l!=="object"||!("name"in l))return;let P=l.name;j=P,L=O1(R.kind);let w=F==null?{isFunction:!1}:z0(this,this.ctx,F);({value:H,type:M,isFunction:f,defaultValue:C}=w),T=M,_=w,S=this.getExplicitPropType(P)}else return;let x=U0(this.ctx,this,G),{type:a,typeSource:Z0,description:b,params:r,returnType:B,isFunction:E}=R0({explicitType:S,typeSeed:M,inferredTypeForSource:T,jsdocType:x?.type,jsdocDescription:x?.description,jsdocParams:x?.params,jsdocReturnType:x?.returnType,resolvedType:_?.resolvedType,resolvedDescription:_?.resolvedDescription,resolvedParams:_?.resolvedParams,resolvedReturnType:_?.resolvedReturnType,initializerIsFunction:f,isFunctionDeclaration:A,typedefs:this.ctx.typedefs});this.addModuleExport(j,{name:j,kind:L,description:b,deprecated:x?.deprecated,tags:x?.tags,type:a,typeSource:Z0,value:H,defaultValue:C,params:r,returnType:B,isFunction:E,isFunctionDeclaration:A,isRequired:!1,constant:L==="const",reactive:!1,source:v(this.ctx,G)})}}});let K,q=new Set,z=new Set,U=[],J={type:"ComponentRoot",instance:this.ctx.parsed.instance,html:this.ctx.parsed.html};kO(this,this.ctx),this.ctx.activeScopes.push(this.ctx.componentScope);let V=TO(this.ctx);if(K0(J,{enter:(G,j,L)=>{NO(this,this.ctx,V,G);let A=this.ctx.scopeDeclarations.get(G);if(A)this.ctx.activeScopes.push(A);if(G.type==="AssignmentExpression")ZO(this.ctx,G.left);if(G.type==="UpdateExpression")ZO(this.ctx,G.argument);if(G.type==="CallExpression"){let H=G,M=H.callee&&typeof H.callee==="object"&&"name"in H.callee?H.callee.name:void 0;if(M==="createEventDispatcher"){if(j&&typeof j==="object"&&"id"in j&&j.id&&typeof j.id==="object"&&"name"in j.id)K=j.id.name}if(M==="$host"){if(j&&typeof j==="object"&&"id"in j&&j.id&&typeof j.id==="object"&&"name"in j.id)q.add(j.id.name)}if(M==="setContext")MO(this.ctx,this,G,j??void 0);if(M)U.push({name:M,arguments:H.arguments,source:v(this.ctx,H)});if($1(H.callee)&&Q0(H.callee.property)&&H.callee.property.name==="dispatchEvent"&&($0(H.callee.object,"$host")||Q0(H.callee.object)&&q.has(H.callee.object.name))){let S=BO(this.ctx,H);if(S)z.add(S)}}if(G&&typeof G==="object"&&"type"in G&&String(G.type)==="Spread"){let H=G;if(H.expression?.name==="$$restProps"||this.ctx.restPropLocals.has(H.expression?.name??""))_O(this.ctx,j)}if(G.type==="FunctionDeclaration"){let H=G;if(H.id?.name)this.ctx.funcDecls.set(H.id.name,H)}if(G.type==="VariableDeclaration"){if(this.ctx.vars.add(G),j&&typeof j==="object"&&"type"in j&&j.type==="Program"&&G.declarations.some((H)=>$0(J0(H.init),"$props")))pO(this,this.ctx,G)}if(G.type==="ExportNamedDeclaration"){if(G.declaration==null&&G.specifiers.length===0)return;let H;if(G.declaration==null&&G.specifiers[0]?.type==="ExportSpecifier"){let w=G.specifiers[0],s=w.local&&typeof w.local==="object"&&"name"in w.local?w.local.name:void 0,h=w.exported&&typeof w.exported==="object"&&"name"in w.exported?w.exported.name:void 0;if(!s||!h)return;let o;for(let Y0 of Array.from(this.ctx.vars))if(Y0.declarations.some((X0)=>X0.id&&typeof X0.id==="object"&&("type"in X0.id)&&X0.id.type==="Identifier"&&X0.id.name===s)){o=Y0;break}G.declaration=o,H=h}if(G.declaration==null)return;if(!G.declaration||typeof G.declaration!=="object"||!("type"in G.declaration))return;let M,S=!1,f,C,T,_=!1,x=!1,a,Z0,b,r;if(G.declaration.type==="FunctionDeclaration"){let w=G.declaration;if(!w.id?.name)return;H??=w.id.name,a=w.id.name,M="function",f=void 0,C="() => any",_=!0,S=!0,x=!1}else if(G.declaration.type==="VariableDeclaration"){let w=G.declaration,s=w.declarations[0];if(!s||typeof s!=="object"||!("id"in s))return;let{id:h,init:o}=s;if(h&&typeof h==="object"&&"name"in h){let X0=h.name;a=X0,H??=X0,T=this.getExplicitPropType(X0)}else return;M=O1(w.kind),x=M==="let"&&o==null;let Y0=o==null?{isFunction:!1}:z0(this,this.ctx,o);({value:f,type:C,isFunction:_,defaultValue:Z0}=Y0),b=C,r=Y0}else return;let B=U0(this.ctx,this,G),{type:E,typeSource:R,description:N,params:l,returnType:F,isFunction:P}=R0({explicitType:T,typeSeed:C,inferredTypeForSource:b,jsdocType:B?.type,jsdocDescription:B?.description,jsdocParams:B?.params,jsdocReturnType:B?.returnType,resolvedType:r?.resolvedType,resolvedDescription:r?.resolvedDescription,resolvedParams:r?.resolvedParams,resolvedReturnType:r?.resolvedReturnType,initializerIsFunction:_,isFunctionDeclaration:S,typedefs:this.ctx.typedefs});M0(this,this.ctx,H,{name:H,...a!==void 0&&a!==H?{localName:a}:{},kind:M,description:N,binding:B?.binding,deprecated:B?.deprecated,tags:B?.tags,type:E,typeSource:R,value:f,defaultValue:Z0,params:l,returnType:F,isFunction:P,isFunctionDeclaration:S,isRequired:x,constant:M==="const",reactive:this.ctx.reactive_vars.has(H),source:v(this.ctx,G)})}if(G&&typeof G==="object"&&"type"in G&&String(G.type)==="Comment"){let M=G?.data?.trim()??"";if(Z1.test(M))this.ctx.componentComment=M.replace(Z1,"").replace(Y2,""),this.ctx.componentCommentSource=v(this.ctx,G)}if(G&&typeof G==="object"&&"type"in G&&String(G.type)==="Slot"){let H=G,M=H.attributes?.find((C)=>C.name==="name")?.value?.[0]?.data,S=(H.attributes||[]).filter((C)=>C.name!=="name").reduce((C,T)=>{let _={value:void 0,replace:!1},x=T.value;if(x===void 0)return C;if(x[0]){let a=x[0],{type:Z0,expression:b,raw:r,start:B,end:E}=a;if(Z0==="Text"&&r!==void 0)_.value=JSON.stringify(r);else if(Z0==="AttributeShorthand"&&b&&typeof b==="object"&&"name"in b)_.value=b.name,_.replace=!0;if(b&&typeof b==="object"&&"type"in b){if(b.type==="Literal"&&"value"in b){let R=b.value;_.value=typeof R==="string"?JSON.stringify(R):String(R)}else if(b.type==="MemberExpression")_.value=F0(this.ctx,this,b);else if(b.type!=="Identifier"){if(B!==void 0&&E!==void 0){if(b.type==="ObjectExpression"||b.type==="TemplateLiteral")_.value=y(this.ctx,B+1,E-1)}}}}if(T.name)C[T.name]=_;return C},{}),f=H.children?.map(({start:C,end:T})=>{if(C===void 0||T===void 0)return"";return y(this.ctx,C,T)??""}).join("").trim();L0(this.ctx,{slot_name:M,slot_props:S,slot_fallback:f,source:v(this.ctx,G)})}if(G&&typeof G==="object"&&"type"in G&&String(G.type)==="RenderTag"){let H=G,M=AO(this.ctx,H.expression);if(M){let S;if(M.arguments.length===0)S={};else if(M.arguments.length===1&&typeof M.arguments[0]==="object"&&M.arguments[0]&&"type"in M.arguments[0]&&M.arguments[0].type==="ObjectExpression")S=IO(this.ctx,this,M.arguments[0]);else if(M.arguments.length===1)q0(this.ctx,"syntax-skipped",M.publicName,`{@render ${M.publicName}(...)} argument is not a plain object literal; the render call was not mapped to slot metadata.`,v(this.ctx,G));let f=M.publicName==="children"?void 0:M.publicName,C=f===void 0?W2:f;if(S!==void 0)L0(this.ctx,{slot_name:f,slot_props:S,source:v(this.ctx,G)});if(S!==void 0||this.ctx.slots.has(C))this.ctx.snippetPropLocals.add(M.trackingName)}}if(G&&typeof G==="object"&&"type"in G&&String(G.type)==="EventHandler"){let H=G;if(H.expression==null&&H.name){if(j!=null&&typeof j==="object"&&"name"in j){let M=typeof j.name==="string"?j.name:void 0,S="type"in j?String(j.type):void 0;if(M&&S){let f=S==="InlineComponent"?{type:"InlineComponent",name:M}:{type:"Element",name:M};this.ctx.forwardedEvents.set(H.name,f);let C=this.ctx.events.get(H.name),T=this.ctx.eventDescriptions.get(H.name),_=C?.deprecated;if(!C)this.ctx.events.set(H.name,{type:"forwarded",name:H.name,element:f,description:T,deprecated:_,source:v(this.ctx,G)});else if(C.type==="forwarded"&&T&&!C.description)this.ctx.events.set(H.name,{...C,description:T,deprecated:C.deprecated??_,source:C.source||v(this.ctx,G)})}}}}if(j&&typeof j==="object"&&"type"in j&&(String(j.type)==="Element"||String(j.type)==="InlineComponent")&&G&&typeof G==="object"&&"type"in G&&String(G.type)==="Binding"){let H=G;if(H.expression?.name){let M=_0(this.ctx,H.expression.name);if(M)this.ctx.reactive_vars.add(M)}if(String(j.type)==="Element"&&H.name==="this"&&H.expression?.name&&"name"in j&&typeof j.name==="string"){let M=_0(this.ctx,H.expression.name);if(!M)return;let S=j.name;if(this.ctx.bindings.has(M)){let f=this.ctx.bindings.get(M);if(f&&!f.elements.includes(S))this.ctx.bindings.set(M,{...f,elements:[...f.elements,S]})}else this.ctx.bindings.set(M,{elements:[S]})}}},leave:(G)=>{if(this.ctx.scopeDeclarations.has(G))this.ctx.activeScopes.pop();vO(V,G)}}),K!==void 0){for(let G of U)if(G.name===K){let j=G.arguments[0],L=j&&typeof j==="object"&&"value"in j?j.value:void 0,A=G.arguments[1],H=A&&typeof A==="object"&&"value"in A?A.value:void 0;if(L!=null)B0(this.ctx,{name:String(L),detail:H==null?"":u0(H),has_argument:Boolean(A),source:G.source})}}let I=new Set(z);if(K!==void 0){for(let G of U)if(G.name===K){let j=G.arguments[0],L=j&&typeof j==="object"&&"value"in j?j.value:void 0;if(L!=null)I.add(String(L))}}this.ctx.forwardedEvents.forEach((G,j)=>{let L=this.ctx.events.get(j);if(L&&L.type==="dispatched"&&!I.has(j)){let A=this.ctx.eventDescriptions.get(j),H={type:"forwarded",name:j,element:G,description:A,deprecated:L.deprecated,tags:L.tags,source:L.source};if(L.detail!==void 0&&L.detail!=="undefined")H.detail=L.detail;this.ctx.events.set(j,H)}}),oO(this.ctx,I);let k=this.ctx.syntaxMode==="runes"?new Set(Array.from(this.ctx.snippetPropLocals,(G)=>this.resolvePublicPropName(G))):new Set,u=c.mapToArray(this.ctx.props).filter((G)=>!k.has(G.name)).map((G)=>{if(this.ctx.bindings.has(G.name)){let j=this.ctx.bindings.get(G.name)?.elements.sort().map((L)=>XO(L)).join(" | ");return{...G,type:`null | ${j}`,typeSource:"inferred",reactive:G.reactive||this.ctx.reactive_vars.has(G.name)}}return{...G,reactive:G.reactive||this.ctx.reactive_vars.has(G.name)}});this.ctx.activeScopes.length=0;let m=c.mapToArray(this.ctx.slots).map((G)=>{if(!G.slot_props)return G;if(typeof G.slot_props==="string")return X2.test(G.slot_props)?{...G,slot_props:"Record<string, never>"}:G;let j=G.slot_props,L=[];for(let H of Object.keys(j)){if(j[H].replace&&j[H].value!==void 0)j[H].value=this.getPropTypeByLocalOrPublic(j[H].value);if(j[H].value===void 0)j[H].value="any";L.push(`${H}: ${j[H].value}`)}let A=L.length===0?"Record<string, never>":L.length===1?`{ ${L[0]} }`:`{
|
|
16
16
|
${L.join(`;
|
|
17
17
|
`)};
|
|
18
18
|
}`;return{...G,slot_props:A}}).sort((G,j)=>{let L=G.name??"",A=j.name??"";if(L<A)return-1;if(L>A)return 1;return 0});if(this.ctx.deferredSlotBlockGenerics.length>0){let G=[...u.map((j)=>j.type??""),...m.map((j)=>j.slot_props??"")].join(`
|
|
19
|
-
`);for(let{name:j,constraint:L}of this.ctx.deferredSlotBlockGenerics){let A=j.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(!new RegExp(`\\b${A}\\b`).test(G))continue;this.accumulateGeneric(j,L)}}if(this.ctx.scriptGenericsAttribute){if(this.ctx.generics)q0(this.ctx,"syntax-skipped","generics",'Both the "generics" script attribute and @generics/@template JSDoc tags declare component generics; the script attribute takes precedence and the JSDoc declaration was ignored.',this.ctx.scriptGenericsAttribute.source);this.ctx.generics=
|
|
19
|
+
`);for(let{name:j,constraint:L}of this.ctx.deferredSlotBlockGenerics){let A=j.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(!new RegExp(`\\b${A}\\b`).test(G))continue;this.accumulateGeneric(j,L)}}if(this.ctx.scriptGenericsAttribute){if(this.ctx.generics)q0(this.ctx,"syntax-skipped","generics",'Both the "generics" script attribute and @generics/@template JSDoc tags declare component generics; the script attribute takes precedence and the JSDoc declaration was ignored.',this.ctx.scriptGenericsAttribute.source);this.ctx.generics=Y1(this.ctx.scriptGenericsAttribute.value)}let O0=c.mapToArray(this.ctx.moduleExports),D=c.mapToArray(this.ctx.events).map((G)=>{switch(G.type){case"forwarded":return{...G,element:G.element.name};case"dispatched":return G;default:return G}}).sort((G,j)=>{let L=G.name.localeCompare(j.name);if(L!==0)return L;let A=G.type.localeCompare(j.type);if(A!==0)return A;if(G.type==="forwarded"&&j.type==="forwarded"){let H=G.element.localeCompare(j.element);if(H!==0)return H}return(G.detail??"").localeCompare(j.detail??"")}),i=c.mapToArray(this.ctx.typedefs),t=c.mapToArray(this.ctx.contexts);for(let G of u)if(G.typeSource==="unknown")q0(this.ctx,"prop-unknown-type",G.name,`Prop "${G.name}" type could not be inferred; falling back to "${G.type??"any"}".`,G.source);for(let G of this.ctx.jsDocEventNames){if(I.has(G))continue;if(this.ctx.forwardedEvents.has(G))continue;if(this.ctx.props.has(`on${G}`))continue;q0(this.ctx,"event-no-source",G,`@event "${G}" has no matching dispatch or callback prop.`,this.ctx.jsDocEventSources.get(G))}let W0={source:Q1(this.ctx,0,this.ctx.source?.length),syntaxMode:this.ctx.syntaxMode,...this.ctx.scriptLanguage?{scriptLanguage:this.ctx.scriptLanguage}:{},props:u,moduleExports:O0,slots:m,events:D,typedefs:i,generics:this.ctx.generics,rest_props:this.ctx.rest_props,extends:this.ctx.extends,componentComment:this.ctx.componentComment,componentCommentSource:this.ctx.componentCommentSource,contexts:t,customElementTag:this.ctx.customElementTag,diagnostics:this.ctx.diagnosticRecords.slice()},p=W1(this.ctx);if(p)W0[QO]=p;return W0}}
|
|
20
20
|
export{c as t};
|