sveld 0.36.0 → 0.36.2
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 +185 -185
- package/lib/chunk-290pdrzm.js +20 -0
- package/lib/chunk-4mbjcdex.js +230 -0
- package/lib/{chunk-tmj7vnjr.js → chunk-dcbq3977.js} +4 -4
- package/lib/chunk-f7112d82.js +1 -0
- package/lib/{chunk-as5hgj7e.js → chunk-gc8z6pa7.js} +2 -2
- package/lib/chunk-w5kk4gd1.js +1 -0
- package/lib/cli-entry.js +1 -1
- package/lib/index.d.ts +40 -0
- package/lib/index.js +1 -1
- package/package.json +1 -1
- package/lib/chunk-0fqdg2xa.js +0 -20
- package/lib/chunk-2vwf7nck.js +0 -1
- package/lib/chunk-m538qnhp.js +0 -230
- package/lib/chunk-r4rrncmd.js +0 -1
|
@@ -0,0 +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} */
|
|
2
|
+
${W}${z}: ${Y};`;return`/** ${U} */ ${W}${z}: ${Y};`}return`${W}${z}: ${Y};`}).join($?`
|
|
3
|
+
`:" ");return $?`{
|
|
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 MO(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 BO(O){return O.split(/\n/)}function VO(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 L1=/^@[^\s/]+(?=\s|$)/;function c0({fence:O="```"}={}){let Z=w1(O),$=(Q,W)=>Z(Q)?!W:W;return function(W){let Y=[[]],X=!1;for(let K of W){if(L1.test(K.tokens.description)&&!X)Y.push([K]);else Y[Y.length-1].push(K);X=$(K.tokens.description,X)}return Y}}function w1(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]=MO(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=VO({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=I1(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 R1=(O)=>O.trim();function I1(O){if(O==="compact")return(Z)=>Z.map(R1).join("");else if(O==="preserve")return(Z)=>Z.join(`
|
|
6
|
+
`);else return O}var LO=(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(!LO(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(!LO(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 A1;if(O==="preserve")return P1;return O}function A1(O,Z=e){return O.map(({tokens:{description:$}})=>$.trim()).filter(($)=>$!=="").join(" ")}var F1=(O,{tokens:Z},$)=>Z.type===""?O:$,C1=({tokens:O})=>(O.delimiter===""?O.start:O.postDelimiter.slice(1))+O.description;function P1(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(F1,0)),O.map(C1).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 BO(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 h1(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})=>h1(Z)).join(`
|
|
8
|
+
`)}var D1={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 V3=Object.keys(D1);function V0(O,Z={}){return o0(Z)(O)}var g3=a0();var S1=null;function f1(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 wO(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]=f1(O,Z,W.value)}return Q}function _1(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 RO(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=_1(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?S1: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 b1=/\s*=\s*/;function IO(O){let Z=O.indexOf("<");if(Z===-1||!O.endsWith(">"))return O;let $=O.slice(0,Z),Q=O.slice(Z+1,-1),W=AO(Q).map((Y)=>Y.trim().replace(b1," = ")).join(", ");return`${$}<${W}>`}var E1=/^\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 FO=new Set(["since","example"]);function CO(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 PO(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 t0(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??=PO(U.name,U.description);else if(FO.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(E1.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 hO(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}=t0(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:CO(D.source)})):void 0;return{type:V,params:I,returnType:k,description:u,binding:K,deprecated:q,tags:O0}}function DO(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
|
+
`),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
|
+
`).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
|
+
`);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]} }`:`{
|
|
16
|
+
${L.join(`;
|
|
17
|
+
`)};
|
|
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=Q1(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:Z1(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=$1(this.ctx);if(p)W0[$O]=p;return W0}}
|
|
20
|
+
export{c as t};
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import{E as lj,F as Aj,G as J1,T as _j,u as l,x as e0}from"./chunk-8myyzjb1.js";import{$ as Y1}from"./chunk-dcbq3977.js";import{ba as w,ca as wj,da as h}from"./chunk-xryt7ad2.js";import{ha as rj}from"./chunk-t9d5k3p7.js";var b0="sveld",Gj="0.36.2";var D0={name:b0,version:Gj,license:"Apache-2.0",description:"Generate TypeScript definitions and component documentation for your Svelte components.",type:"module",main:"./lib/index.js",types:"./lib/index.d.ts",exports:{".":{types:"./lib/index.d.ts",import:"./lib/index.js",default:"./lib/index.js"},"./browser":{types:"./lib/browser.d.ts",import:"./lib/browser.js",default:"./lib/browser.js"}},scripts:{test:"bun test --parallel","test:fixtures-types":"tsc --project tsconfig.fixtures.json","test:e2e":"bun tests/test-e2e.ts",format:"biome format --write .",lint:"biome lint .","lint:fix":"biome check --write --unsafe .",build:"bun scripts/build.ts",bench:"bun scripts/bench.ts","bench:cache":"bun scripts/bench.ts --cache",typecheck:"tsc --noEmit"},devDependencies:{"@biomejs/biome":"2.5.7","@types/bun":"^1.3.14","@types/jest":"^30.0.0","@typescript/typescript6":"^6.0.2",acorn:"^8.18.0","comment-parser":"^1.4.7",culls:"^0.2.0","estree-walker":"^3.0.3",svelte:"^5.56.8",typescript:"^7.0.2"},bin:{sveld:"cli.js"},files:["lib","cli.js"],repository:{type:"git",url:"git+https://github.com/carbon-design-system/sveld.git"},homepage:"https://github.com/carbon-design-system/sveld",bugs:"https://github.com/carbon-design-system/sveld/issues",keywords:["svelte","svelte component","documentation","docgen","typescript","definitions","JSDocs","vite","vite-plugin"],maintainers:["Eric Liu (https://github.com/metonym)"]};var n="5.56.8";var Xj=1,A0=new WeakMap;function g(j,$={}){let Z=A0.get(j),Q=Z?.get($.entryExports);if(Q)return Q;let Y=Array.from(j,([,K])=>{let{diagnostics:U,...H}=K;return H}).sort((K,U)=>K.moduleName.localeCompare(U.moduleName)),J={schemaVersion:Xj,generator:{name:b0,version:Gj,svelteVersion:n},total:Y.length,components:Y};if($.entryExports&&$.entryExports.length>0)J.totalExports=$.entryExports.length,J.exports=$.entryExports;if(!Z)Z=new Map,A0.set(j,Z);return Z.set($.entryExports,J),J}import{readFile as t1}from"node:fs/promises";import o1 from"node:path";var T0={none:0,patch:1,minor:2,major:3};function e1(j,$){return T0[$]>T0[j]?$:j}function j2(j){return j.reduce(($,Z)=>e1($,Z.bump),"none")}function F0(j){let $=[],Z=0,Q="",Y=null;for(let J=0;J<j.length;J++){let K=j[J];if(Y){if(Q+=K,K==="\\")J++,Q+=j[J]??"";else if(K===Y)Y=null;continue}if(K==='"'||K==="'"||K==="`"){Y=K,Q+=K;continue}if(K==="<"||K==="("||K==="{"||K==="[")Z++;if(K===">"||K===")"||K==="}"||K==="]")Z--;if(K==="|"&&Z===0){$.push(Q.trim()),Q="";continue}Q+=K}return $.push(Q.trim()),new Set($.filter((J)=>J.length>0))}function mj(j,$){if(j===$)return"none";if(j===void 0||$===void 0)return"major";let Z=F0(j),Q=F0($),Y=[...Q].some((K)=>!Z.has(K)),J=[...Z].some((K)=>!Q.has(K));if(!Y&&!J)return"none";if(Y&&!J)return"minor";if(J&&!Y)return"major";return"major"}function S0(j,$,Z,Q){let Y=$==="prop"?"prop":"export",J=[],K=new Map(Z.map((H)=>[H.name,H])),U=new Map(Q.map((H)=>[H.name,H]));for(let[H,z]of U){if(K.has(H))continue;J.push({component:j,kind:$,name:H,bump:z.isRequired?"major":"minor",message:`${Y} "${H}" added${z.isRequired?" (required)":""}`})}for(let[H]of K){if(U.has(H))continue;J.push({component:j,kind:$,name:H,bump:"major",message:`${Y} "${H}" removed`})}for(let[H,z]of K){let V=U.get(H);if(!V)continue;if(z.isRequired!==V.isRequired)J.push({component:j,kind:$,name:H,bump:V.isRequired?"major":"minor",message:`${Y} "${H}" became ${V.isRequired?"required":"optional"}`});let G=mj(z.type,V.type);if(G!=="none")J.push({component:j,kind:$,name:H,bump:G,message:`${Y} "${H}" type changed from \`${z.type??"unknown"}\` to \`${V.type??"unknown"}\``})}return J}function $2(j,$,Z){let Q=[],Y=new Map($.map((K)=>[K.name,K])),J=new Map(Z.map((K)=>[K.name,K]));for(let[K]of J){if(Y.has(K))continue;Q.push({component:j,kind:"event",name:K,bump:"minor",message:`event "${K}" added`})}for(let[K]of Y){if(J.has(K))continue;Q.push({component:j,kind:"event",name:K,bump:"major",message:`event "${K}" removed`})}for(let[K,U]of Y){let H=J.get(K);if(!H)continue;if(U.type!==H.type){Q.push({component:j,kind:"event",name:K,bump:"major",message:`event "${K}" changed from ${U.type} to ${H.type}`});continue}let z=U.type==="dispatched"?U.detail:void 0,V=H.type==="dispatched"?H.detail:void 0,G=mj(z,V);if(G!=="none")Q.push({component:j,kind:"event",name:K,bump:G,message:`event "${K}" detail changed from \`${z??"unknown"}\` to \`${V??"unknown"}\``})}return Q}function w0(j){return j.name??"default"}function Z2(j,$,Z){let Q=[],Y=new Map($.map((K)=>[w0(K),K])),J=new Map(Z.map((K)=>[w0(K),K]));for(let[K]of J){if(Y.has(K))continue;Q.push({component:j,kind:"slot",name:K,bump:"minor",message:`slot "${K}" added`})}for(let[K]of Y){if(J.has(K))continue;Q.push({component:j,kind:"slot",name:K,bump:"major",message:`slot "${K}" removed`})}for(let[K,U]of Y){let H=J.get(K);if(!H)continue;let z=mj(U.slot_props,H.slot_props);if(z!=="none")Q.push({component:j,kind:"slot",name:K,bump:z,message:`slot "${K}" props changed from \`${U.slot_props??"none"}\` to \`${H.slot_props??"none"}\``})}return Q}var Q2=new Set(["description","source","componentCommentSource","tags"]);function Wj(j){if(Array.isArray(j))return j.map(Wj);if(j!==null&&typeof j==="object"){let $={};for(let[Z,Q]of Object.entries(j)){if(Q2.has(Z))continue;$[Z]=Wj(Q)}return $}return j}var Y2=["generics","rest_props","extends","contexts","typedefs"];function J2(j,$,Z){let Q=[];for(let Y of Y2){let J=JSON.stringify(Wj($[Y])),K=JSON.stringify(Wj(Z[Y]));if(J!==K)Q.push({component:j,kind:"shape",name:Y,bump:"major",message:`"${Y}" changed (breaking)`})}return Q}function K2(j,$){let Z=$.moduleName;return[...S0(Z,"prop",j.props,$.props),...S0(Z,"moduleExport",j.moduleExports,$.moduleExports),...$2(Z,j.events,$.events),...Z2(Z,j.slots,$.slots),...J2(Z,j,$)]}function z2(j,$){let Z=[],Q=new Map(j.components.map((J)=>[J.moduleName,J])),Y=new Map($.components.map((J)=>[J.moduleName,J]));for(let[J]of Y){if(Q.has(J))continue;Z.push({component:J,kind:"component",bump:"minor",message:`component "${J}" added`})}for(let[J]of Q){if(Y.has(J))continue;Z.push({component:J,kind:"component",bump:"major",message:`component "${J}" removed`})}for(let[J,K]of Q){let U=Y.get(J);if(!U)continue;Z.push(...K2(K,U))}return Z}async function U2(j){let $;try{$=await t1(o1.resolve(j),"utf-8")}catch(Z){if(Z.code==="ENOENT")return null;throw Z}try{return JSON.parse($)}catch{throw Error(`sveld: could not parse "${j}" as JSON. Is it a sveld COMPONENT_API.json snapshot?`)}}function _0(j){if(typeof j.check==="string")return j.check;return j.jsonOptions?.outFile??"COMPONENT_API.json"}async function N0(j,$,Z={}){let Q=await U2($);if(Q===null)return{snapshotExists:!1,snapshotFile:$,changes:[],bump:"none"};if(Q.schemaVersion!==Xj)return{snapshotExists:!0,snapshotFile:$,changes:[{component:"*",kind:"shape",bump:"none",message:`snapshot schemaVersion ${Q.schemaVersion} does not match the current schemaVersion ${Xj}; skipping diff`}],bump:"none"};let Y=g(j,{entryExports:Z.entryExports}),J=z2(Q,Y);return{snapshotExists:!0,snapshotFile:$,changes:J,bump:j2(J)}}var H2={major:"BREAKING",minor:"additive",patch:"patch",none:"no change"};function y0(j){if(!j.snapshotExists)return`sveld --check: no snapshot found at "${j.snapshotFile}". Run \`sveld --json\` and commit the output first.`;if(j.changes.length===0)return`sveld --check: no API changes detected against "${j.snapshotFile}".`;let $=[],Z=j.changes.length;$.push(`sveld --check: ${Z} API change${Z===1?"":"s"} detected against "${j.snapshotFile}".`),$.push(`Suggested semver bump: ${j.bump}.`);let Q=new Map;for(let Y of j.changes){let J=Q.get(Y.component)??[];J.push(Y),Q.set(Y.component,J)}for(let[Y,J]of Q){$.push(""),$.push(` ${Y}`);for(let K of J)$.push(` [${H2[K.bump]}] ${K.message}`)}return $.join(`
|
|
2
|
+
`)}function x0(j){let $={kind:"check-report",...j};return h($)}import{existsSync as V2}from"node:fs";import{join as q2}from"node:path";import{pathToFileURL as G2}from"node:url";var X2=["sveld.config.js","sveld.config.mjs","sveld.config.ts"];function k4(j){return j}function W2(j=process.cwd()){for(let $ of X2){let Z=q2(j,$);if(V2(Z))return Z}return null}async function k2(j){let $;try{$=await import(`${G2(j).href}?t=${Date.now()}`)}catch(Q){let Y=Q instanceof Error?Q.message:String(Q);throw Error(`sveld: failed to load config file "${j}".
|
|
3
|
+
${Y}`)}let Z=$.default;if(!l(Z)||Array.isArray(Z))throw Error(`sveld: config file "${j}" must export a configuration object as its default export. Did you forget \`export default defineConfig({ ... })\`?`);return Z}async function g0(j=process.cwd()){let $=W2(j);if($===null)return{};return k2($)}function C0(...j){return Object.assign({},...j.filter(Boolean))}var cj=new Map;function t(j){cj.set(j.name,j)}function dj(j){return cj.get(j)}function O4(){return Array.from(cj.values())}import{dirname as d1}from"node:path";import{lstatSync as K1,readdirSync as Y5,readFileSync as J5,realpathSync as K5,statSync as z5}from"node:fs";import{readFile as U5}from"node:fs/promises";import{dirname as H5,isAbsolute as V5,join as q5,parse as ej,relative as G5,resolve as Qj}from"node:path";function o(j){return j}function u(j){if(j==="")return j;return j.startsWith(".")?j:`./${j}`}import{dirname as B2,resolve as O2}from"node:path";var R2=/\.svelte$/,L2=/^(['"])(.*)\1$/;function I2(j,$){let Z=j.extends?.import;if(Z===void 0)return null;let Q=Z.replace(L2,"$2");if(!R2.test(Q))return null;return O2(B2($),Q)}function e(j,$){let Z=new Map;for(let Q of j.values()){let Y=$(Q.filePath),J=I2(Q,Y);if(J===null)continue;let K=Z.get(J);if(K===void 0)K=new Set,Z.set(J,K);K.add(Y)}return Z}function kj(j,$){let Z=new Set,Q=[];for(let Y of j)if(!Z.has(Y))Z.add(Y),Q.push(Y);while(Q.length>0){let Y=Q.shift(),J=$.get(Y);if(J===void 0)continue;for(let K of J)if(!Z.has(K))Z.add(K),Q.push(K)}return Z}var M2={"prop-unknown-type":"Props without inferred types","context-any-type":"Context values typed as `any`","event-no-source":"@event tags with no dispatch or callback","example-compile-error":"@example blocks that failed to compile","syntax-skipped":"Component syntax sveld skipped"},b2=["prop-unknown-type","context-any-type","event-no-source","example-compile-error","syntax-skipped"];function Bj(j){let $=new Set,Z=[];for(let Q of j){let Y=`${Q.component}:${Q.kind}:${Q.name}`;if($.has(Y))continue;$.add(Y),Z.push(Q)}return Z}function E0(j){if(j.length===0)return"sveld: all types resolved.";let $=[],Z=j.length;$.push(`sveld: ${Z} unresolved type${Z===1?"":"s"} found.`);for(let Q of b2){let Y=j.filter((K)=>K.kind===Q);if(Y.length===0)continue;$.push(""),$.push(`${M2[Q]} (${Y.length}):`);let J=new Map;for(let K of Y){let U=J.get(K.component)??[];U.push(K),J.set(K.component,U)}for(let[K,U]of J){$.push(` ${K}`);for(let H of U){let z=H.source?` (${K}:${H.source.start.line}:${H.source.start.column})`:"";$.push(` - ${H.message}${z}`)}}}return $.join(`
|
|
4
|
+
`)}function P0(j){return h({kind:"diagnostics",diagnostics:j})}var D2=/^```([\w-]*)\r?\n([\s\S]*?)\r?\n?```$/,A2=new Set(["","js","jsx","ts","tsx","javascript","typescript"]);function T2(j){let $=j.trim();if($==="")return null;let Z=$.match(D2);if(Z){let Q=Z[1].toLowerCase();if(!A2.has(Q))return null;let Y=Z[2].trim();return Y===""?null:Y}if($.startsWith("<"))return null;return $}function v0(j){if(!j.isFunction)return"any";return`(${(j.params??[]).map((Z)=>`${Z.name}${Z.optional?"?":""}: any`).join(", ")}) => any`}function Oj(j,$,Z,Q,Y){let J=(j??[]).filter((U)=>U.name==="example"),K=[];return J.forEach((U,H)=>{let z=T2(U.body);if(z===null)return;let V=J.length>1;K.push({id:V?`${$}#${H}`:$,name:V?`${Z} (example ${H+1})`:Z,type:Q,code:z,...Y?{source:Y}:{}})}),K}function f0(j){return j.name??"default"}function h0(j){let $=[];for(let Z of j.props)$.push(...Oj(Z.tags,`prop:${Z.name}`,Z.name,v0(Z),Z.source));for(let Z of j.moduleExports)$.push(...Oj(Z.tags,`export:${Z.name}`,Z.name,v0(Z),Z.source));for(let Z of j.slots)$.push(...Oj(Z.tags,`slot:${f0(Z)}`,f0(Z),"any",Z.source));for(let Z of j.events)$.push(...Oj(Z.tags,`event:${Z.name}`,Z.name,"any",Z.source));return $}import{createHash as F2}from"node:crypto";import{mkdirSync as S2,readFileSync as w2,writeFileSync as _2}from"node:fs";import{dirname as N2,isAbsolute as y2,join as x2,resolve as u0}from"node:path";var ij=2,g2=x2("node_modules",".cache","sveld","parse-cache.json");function pj(){return`${Gj}+svelte@${n}`}function c0(j,$){if(typeof $==="string")return y2($)?$:u0(j,$);return u0(j,g2)}function d0(j){return F2("sha256").update(j).digest("hex")}function m0(){return{formatVersion:ij,toolchainVersion:pj(),entries:{}}}function C2(j){try{let $=w2(j,"utf-8"),Z=JSON.parse($);if(Z.formatVersion!==ij||Z.toolchainVersion!==pj())return m0();return Z}catch{return m0()}}class sj{cacheFilePath;file;next=new Map;blocked=new Set;constructor(j){this.cacheFilePath=j,this.file=C2(j)}has(j,$){if(this.blocked.has(j))return!1;let Z=this.file.entries[j];return Z!==void 0&&Z.hash===$}get(j,$){if(this.blocked.has(j))return null;let Z=this.file.entries[j];if(Z===void 0||Z.hash!==$)return null;if(this.next.set(j,Z),Z.typeScriptMetadata!==void 0)Z.parsed[lj]=Z.typeScriptMetadata;return Z.parsed}set(j,$,Z){this.next.set(j,{hash:$,parsed:Z,typeScriptMetadata:Z[lj]})}invalidate(j){this.blocked.add(j)}getGeneratedText(j,$){let Z=this.next.get(j);if(Z?.generatedText===void 0||Z.generatedText.format!==$)return;return Z.generatedText.text}setGeneratedText(j,$,Z){let Q=this.next.get(j);if(Q===void 0)return;Q.generatedText={format:$,text:Z}}save(){S2(N2(this.cacheFilePath),{recursive:!0});let j={formatVersion:ij,toolchainVersion:pj(),entries:Object.fromEntries(this.next)};_2(this.cacheFilePath,JSON.stringify(j))}}import{existsSync as Mj,lstatSync as r0,readFileSync as c2}from"node:fs";import{dirname as j1,join as d2,relative as l2,resolve as $1}from"node:path";var p=null,aj=null;function s(){if(p)return Promise.resolve(p);if(!aj)aj=Promise.all([import("./chunk-w5kk4gd1.js"),import("./chunk-f7112d82.js")]).then(([j,$])=>{return p={ComponentParser:j.default,parseSvelte:$.parse},p});return aj}function Rj(){if(!p)throw Error("sveld: internal error, parser stack read before loadParserStack() resolved.");return p}import{existsSync as s0,readFileSync as E2}from"node:fs";import{dirname as nj,isAbsolute as P2,join as v2,relative as f2,resolve as Ij}from"node:path";function l0(j){if(!l(j))return{};let $=j.svelte;return typeof $==="string"?{svelte:$}:{}}function i0(j){if(!l(j))return{};let $={};if(typeof j.extends==="string")$.extends=j.extends;if(l(j.compilerOptions)){let Z={};if(typeof j.compilerOptions.baseUrl==="string")Z.baseUrl=j.compilerOptions.baseUrl;if(l(j.compilerOptions.paths)){let Q={};for(let[Y,J]of Object.entries(j.compilerOptions.paths))if(Array.isArray(J)&&J.every((K)=>typeof K==="string"))Q[Y]=J;if(Object.keys(Q).length>0)Z.paths=Q}if(Object.keys(Z).length>0)$.compilerOptions=Z}return $}var Lj=new Map,p0=new Map,h2=/\/\*[\s\S]*?\*\/|\/\/.*/g,u2=/[.+?^${}()|[\]\\]/g;function m2(j){let $=j,Z=Ij($,"/");while($!==Z){for(let Q of["tsconfig.json","jsconfig.json"]){let Y=v2($,Q);if(s0(Y))return Y}$=nj($)}return null}function a0(j){if(Lj.has(j))return Lj.get(j)??null;try{let $=E2(j,"utf-8"),Z;try{Z=JSON.parse($)}catch{let Y=$.replace(h2,"");Z=JSON.parse(Y)}let Q=i0(Z);if(Q.extends){let Y=P2(Q.extends)?Q.extends:Ij(nj(j),Q.extends),J=Y.endsWith(".json")?Y:`${Y}.json`;if(s0(J)){let K=a0(J);if(K)Q.compilerOptions={...K.compilerOptions,...Q.compilerOptions,paths:{...K.compilerOptions?.paths,...Q.compilerOptions?.paths}}}}return Lj.set(j,Q),Q}catch{return Lj.set(j,null),null}}function jj(j,$){if(j.startsWith(".")||j.startsWith("/"))return j;let Z=m2($);if(!Z)return j;let Q=a0(Z);if(!Q?.compilerOptions?.paths)return j;let{baseUrl:Y=".",paths:J}=Q.compilerOptions,K=nj(Z),U=Ij(K,Y);for(let[H,z]of Object.entries(J)){let V=p0.get(H);if(!V){let X=H.split("*").map((W)=>W.replace(u2,"\\$&")).join("(.*)");V=new RegExp(`^${X}$`),p0.set(H,V)}let G=j.match(V);if(G){let X=z[0];if(!X)continue;let W=X;for(let q=1;q<G.length;q++)W=W.replace("*",G[q]);return Ij(U,W)}}return j}function $j(j,$){if(j.startsWith(".")||j.startsWith("/"))return j;let Z=jj(j,$);if(Z===j)return j;let Q=f2($,Z);return Q=w(Q),Q.startsWith(".")?Q:`./${Q}`}var n0=[".ts",".mts",".cts",".tsx",".js",".mjs",".cjs",".jsx",".d.ts"],i2=/\r?\n/,p2=/^\s*\*+/;function T(j){return j&&typeof j==="object"?j:void 0}function Zj(j){return Array.isArray(j)?j:[]}function f(j){return e0(j)?j.name:void 0}function tj(j,$){let Z=jj(j,$),Q=$1($,Z);if(Mj(Q)&&r0(Q).isFile())return Q;for(let Y of n0){let J=Q+Y;if(Mj(J))return J}if(Mj(Q)&&r0(Q).isDirectory())for(let Y of n0){let J=d2(Q,`index${Y}`);if(Mj(J))return J}return null}function s2(j,$){let Z=j.slice(0,$).trimEnd();if(!Z.endsWith("*/"))return;let Q=Z.length-2,Y=Z.lastIndexOf("/**",Q);if(Y===-1)return;let J=[];for(let K of Z.slice(Y+3,Q).split(i2)){let U=K.replace(p2,"").trim();if(U.startsWith("@"))break;if(U)J.push(U)}return J.join(" ")||void 0}function a(j,$){if(!$)return;return j.text.slice($.start,$.end)}function a2(j,$){let Z=T($?.typeAnnotation);if(Z?.type!=="TSTypeAnnotation")return;return a(j,T(Z.typeAnnotation))}function t0(j,$){let Z=Zj($.params).map((J)=>a(j,J)??"").join(", "),Q=T($.returnType),Y=Q?.type==="TSTypeAnnotation"?a(j,T(Q.typeAnnotation)):void 0;return`(${Z})${Y?` => ${Y}`:""}`}function r2(j){if(j.type==="Literal"){let $=j.value;if(typeof $==="string")return"string";if(typeof $==="number")return"number";if(typeof $==="boolean")return"boolean"}if(j.type==="TemplateLiteral")return"string";return}function o0(j,$,Z){let Q=j.filePath,Y=s2(j.text,Z);if($.type==="VariableDeclaration"){let J=$.kind??"const",K=[];for(let U of Zj($.declarations)){let H=T(U.id),z=f(H);if(!z)continue;let V=a2(j,H),G,X=T(U.init);if(X){if(X.type==="ArrowFunctionExpression"||X.type==="FunctionExpression"){if(!V)V=t0(j,X)}else if(G=a(j,X),!V)V=r2(X)}K.push({name:z,kind:J,type:V,value:G,description:Y,declFile:Q,isTypeOnly:!1})}return K}if($.type==="FunctionDeclaration"){let J=f(T($.id));if(!J)return[];return[{name:J,kind:"function",type:t0(j,$),description:Y,declFile:Q,isTypeOnly:!1}]}if($.type==="ClassDeclaration"){let J=f(T($.id));if(!J)return[];return[{name:J,kind:"class",type:J,description:Y,declFile:Q,isTypeOnly:!1}]}if($.type==="TSTypeAliasDeclaration"){let J=f(T($.id));if(!J)return[];return[{name:J,kind:"type",type:a(j,T($.typeAnnotation)),description:Y,declFile:Q,isTypeOnly:!0}]}if($.type==="TSInterfaceDeclaration"){let J=f(T($.id));if(!J)return[];return[{name:J,kind:"interface",type:a(j,T($.body)),description:Y,declFile:Q,isTypeOnly:!0}]}if($.type==="TSEnumDeclaration"){let J=f(T($.id));if(!J)return[];return[{name:J,kind:"enum",type:J,description:Y,declFile:Q,isTypeOnly:!1}]}return[]}function n2(j){let $;try{$=c2(j,"utf-8")}catch{return null}let Z=`<script lang="ts">
|
|
5
|
+
${$}
|
|
6
|
+
</script>`;try{let Q=Rj().parseSvelte(Z,{modern:!0}),Y=Zj(Q.instance?.content?.body);return{source:{text:Z,filePath:j,dir:j1(j)},body:Y}}catch(Q){let Y=Q instanceof Error?Q.message:String(Q);return console.warn(`Warning: Failed to parse entry export module ${j}: ${Y}`),null}}function t2(j,$){for(let Z of j){if(Z.type!=="ImportDeclaration")continue;let Q=T(Z.source)?.value;if(typeof Q!=="string")continue;for(let Y of Zj(Z.specifiers)){if(Y.type!=="ImportSpecifier")continue;if(f(T(Y.local))===$){let J=f(T(Y.imported))??$;return{specifier:Q,importedName:J}}}}return null}function bj(j,$){let Z=$.cache.get(j);if(Z)return Z;if($.computing.has(j))return[];$.computing.add(j);let Q=n2(j);if(!Q)return $.computing.delete(j),$.cache.set(j,[]),[];let{source:Y,body:J}=Q,K=[],U=new Map;for(let z of J){let V=z.type==="ExportNamedDeclaration"?T(z.declaration):z;if(!V)continue;for(let G of o0(Y,V,V.start))U.set(G.name,G)}let H=(z)=>{let V=U.get(z);if(V)return V;let G=t2(J,z);if(!G||G.specifier.endsWith(".svelte"))return null;let X=tj(G.specifier,Y.dir);if(!X)return null;return bj(X,$).find((W)=>W.name===G.importedName)??null};for(let z of J){if(z.type==="ExportAllDeclaration"){let O=T(z.source)?.value;if(typeof O!=="string"||O.endsWith(".svelte"))continue;let q=tj(O,Y.dir);if(!q)continue;let B=z.exportKind==="type";for(let R of bj(q,$))K.push(B?{...R,isTypeOnly:!0}:R);continue}if(z.type!=="ExportNamedDeclaration")continue;let V=T(z.declaration);if(V){K.push(...o0(Y,V,z.start));continue}let G=T(z.source)?.value,X=typeof G==="string"?G:void 0;if(X?.endsWith(".svelte"))continue;let W=z.exportKind==="type";for(let O of Zj(z.specifiers)){if(O.type!=="ExportSpecifier")continue;let q=f(T(O.exported)),B=f(T(O.local));if(!q||!B||B==="default"||q==="default")continue;let R=W||O.exportKind==="type",k=null;if(X){let M=tj(X,Y.dir);if(M)k=bj(M,$).find((b)=>b.name===B)??null}else k=H(B);if(k?.declFile.endsWith(".svelte"))continue;if(k)K.push({...k,name:q,isTypeOnly:k.isTypeOnly||R});else K.push({name:q,kind:R?"type":"const",declFile:j,isTypeOnly:R})}}return $.computing.delete(j),$.cache.set(j,K),K}async function Dj(j){await s();let $=$1(j),Z=j1($),Q=bj($,{cache:new Map,computing:new Set}),Y=new Map;for(let J of Q){let{declFile:K,...U}=J,H=w(`./${l2(Z,K)}`);Y.set(J.name,{...U,source:H})}return Array.from(Y.values()).sort((J,K)=>J.name.localeCompare(K.name))}import{lstatSync as o2,readdirSync as e2,readFileSync as j5}from"node:fs";import{dirname as $5,join as Z1,resolve as Z5}from"node:path";var Q1=new Map;function Q5(j){return Y1(j,{ecmaVersion:"latest",sourceType:"module"})}function oj(j,$,Z=new Set){let Q=Q1.get(j);if(!Q)Q=Q5(j),Q1.set(j,Q);let Y={};for(let J of Q.body)if(J.type==="ExportDefaultDeclaration"){let K=J.declaration.name;if(K in Y)Y[K].default=!0;else Y[K]={source:u(""),default:!0}}else if(J.type==="ExportAllDeclaration"){if(!J.source)continue;let K=jj(J.source.value,$),U=Z5($,K);if(!o2(U).isFile()){let V=e2(U);for(let G of V)if(G.includes("index")){U=Z1(U,G);break}}if(Z.has(U))continue;Z.add(U);let H=j5(U,"utf-8"),z=oj(H,$5(U),Z);Z.delete(U);for(let[V,G]of Object.entries(z)){let X=u(w(`./${Z1(J.source.value,G.source)}`));Y[V]={...G,source:X}}}else if(J.type==="ExportNamedDeclaration")for(let K of J.specifiers){let U=K.exported.name,H=K.local.name,z=U||H;if(z in Y){if(J.type==="ExportNamedDeclaration")Y[z].mixed=!0;if(!Y[z].source)Y[z].source=u($j(J.source?.value??"",$))}else Y[z]={source:u($j(J.source?.value??"",$)),default:H==="default"}}else if(J.type==="ImportDeclaration"){let K=J.specifiers[0].local.name;if(K in Y){if(!Y[K].source)Y[K].source=u($j(J.source?.value??"",$))}else Y[K]={source:u($j(J.source?.value??"",$)),default:K==="default"}}return Y}function Yj(j){return{failFast:j?.failFast,resolveTypes:j?.resolveTypes===!0,documentExports:j?.documentExports===!0,cache:j?.cache,checkExamples:j?.checkExamples===!0,dryRun:j?.dryRun===!0}}var X5=/-/g;function z1(j,$=[],Z=new Set){let Q;try{let Y=K5(j);if(Z.has(Y))return $;Z.add(Y),Q=Y5(j,{withFileTypes:!0})}catch{return $}for(let Y of Q){if(Y.name.startsWith("."))continue;let J=q5(j,Y.name),K=Y.isSymbolicLink()?z5(J,{throwIfNoEntry:!1}):Y;if(!K)continue;if(K.isDirectory())z1(J,$,Z);else if(K.isFile()&&Y.name.endsWith(".svelte"))$.push(J)}return $}function j0(j){return z1(j).map(($)=>{let Z=ej($).name.replace(X5,""),Q=u(w(`./${G5(j,$)}`));return{moduleName:Z,source:Q}})}function Tj(j,$,Z=!1){let Q=K1(j).isFile(),Y=Q?H5(j):j,J=Qj(Y),K=(z)=>V5(z)?Qj(z):Qj(J,z),U={};if(Q){let z=J5(j,"utf-8");try{U=oj(z,J,new Set([Qj(j)]))}catch(V){if(!Z)throw V;let G=V instanceof Error?V.message:String(V);console.warn(`Warning: Failed to parse component exports from ${j}: ${G}`)}}let H={...U};if($)for(let{moduleName:z,source:V}of j0(J)){if(U[z])U[z].source=V;if(H[z])H[z].source=V;else H[z]={source:V,default:!1}}return{exports:U,allComponents:H,rootDir:J,resolveComponentFilePath:K}}async function Jj(j){let $=await Promise.all(Array.from(j).map(async(Z)=>{try{let Q=await U5(Z,"utf-8");return{path:Z,content:Q}}catch(Q){return console.warn(`Warning: Failed to read file ${Z}:`,Q),{path:Z,content:null}}}));return new Map($.map(({path:Z,content:Q})=>[Z,Q]))}function m([j,$],Z,Q,Y,J={}){let K=$.source,{ext:U,name:H}=ej(K),z=j;if(Z.length===1&&j==="default")z=H;if(U===".svelte"){let V=Y(K),G=Q.get(V);if(G===null||G===void 0)return null;let X=w(K),W=J.memo?.get(V),O=J.hashes?.get(V),q=W===void 0?O===void 0?null:J.cache?.get(V,O):null,B;if(W!==void 0)B=W;else if(q)B=q;else{let R=new(Rj()).ComponentParser;try{B=R.parseSvelteComponent(G,{moduleName:z,filePath:X})}catch(k){if(J.failFast)throw k;let M=k instanceof Error?k.message:String(k),b=k instanceof Error?k.stack:void 0;return J.onParseError?.({filePath:X,moduleName:z,message:M,stack:b}),null}if(O!==void 0)J.cache?.set(V,O,B);J.memo?.set(V,B)}return{moduleName:z,filePath:X,...B}}return null}function Fj(j,$){let Z=new Set;for(let Q of j)for(let[,Y]of Q)if(ej(Y.source).ext===".svelte")Z.add($(Y.source));return Z}function Kj(j){if(j.length===0)return;console.error(`sveld: failed to parse ${j.length} component(s):`);for(let{filePath:$,message:Z}of j)console.error(` - ${$}: ${Z}`)}async function zj(j,$,Z={}){let Q=Z.documentExports===!0,{exports:Y,allComponents:J,rootDir:K,resolveComponentFilePath:U}=Tj(j,$,Q),H=Q&&K1(j).isFile()?await Dj(Qj(j)):[],z=Object.entries(Y),V=Object.entries(J),G=Fj([z,V],U),X=await Jj(G),W=new Map,O=new Map,q=Z.cache===!1?void 0:new sj(c0(K,Z.cache??!0)),B=q?new Map:void 0,R=new Set,k=new Map;if(q)for(let I of G){let L=X.get(I);if(L===null||L===void 0)continue;let F=d0(L);if(k.set(I,F),!q.has(I,F))R.add(I)}if(G.size>0&&(!q||R.size>0))await s();let M=new Map,b=new Map,A={failFast:Z.failFast===!0,onParseError:(I)=>M.set(I.filePath,I),cache:q,hashes:k,memo:b};for(let I of z){let L=m(I,z,X,U,A);if(L)W.set(L.moduleName,L)}for(let I of V){let L=m(I,V,X,U,A);if(L)O.set(L.moduleName,L),B?.set(L.moduleName,U(I[1].source))}if(q&&R.size>0){let I=e(O,U),L=kj(R,I);for(let F of L){if(R.has(F))continue;q.invalidate(F),b.delete(F)}for(let F of z){let P=U(F[1].source);if(!L.has(P)||R.has(P))continue;let v=m(F,z,X,U,A);if(v)W.set(v.moduleName,v)}for(let F of V){let P=U(F[1].source);if(!L.has(P)||R.has(P))continue;let v=m(F,V,X,U,A);if(v)O.set(v.moduleName,v),B?.set(v.moduleName,P)}}let y=Array.from(M.values());if(Kj(y),!Z.dryRun)q?.save();let x=Z.resolveTypes?W5(W):[],D=Z.checkExamples?B5(O):[];if(x.length>0||D.length>0){let{TypeResolver:I}=await import("./chunk-h1r040pg.js"),L=await I.create(K);try{if(x.length>0)await k5(x,L,U);if(D.length>0)await O5(D,L,U)}finally{await L?.dispose()}}let S=Bj(Array.from(O.values()).flatMap((I)=>I.diagnostics??[]));return{exports:Y,entryExports:H,components:W,allComponentsForTypes:O,errors:y,diagnostics:S,cache:q,resolvedPathByModule:B}}function W5(j){let $=[];for(let Z of j.values()){let Q=Aj(Z);if(!Q?.canonicalPropsType||Z.props.length>0)continue;$.push({component:Z,metadata:Q})}return $}async function k5(j,$,Z){if(!$)return;let Q=await $.expandAll(j.map(({component:Y,metadata:J})=>({moduleName:Y.moduleName,metadata:J,filePath:Z(Y.filePath)})));for(let{component:Y}of j){let J=Q.get(Y.moduleName);if(J)J1(Y,J)}}function B5(j){let $=[];for(let Z of j.values()){let Q=h0(Z);if(Q.length===0)continue;$.push({component:Z,sources:Q})}return $}async function O5(j,$,Z){if(!$)return;let Q=await $.checkExamples(j.map(({component:Y,sources:J})=>({moduleName:Y.moduleName,filePath:Z(Y.filePath),sources:J})));for(let{component:Y,sources:J}of j){let K=Q.get(Y.moduleName);if(!K||K.length===0)continue;let U=new Map(J.map((z)=>[z.id,z.source])),H=Y.diagnostics??[];for(let z of K){let V=U.get(z.id);H.push({component:Y.filePath,kind:"example-compile-error",name:z.name,message:z.message,...V?{source:V}:{}})}Y.diagnostics=H}}import{existsSync as U1,readFileSync as R5}from"node:fs";import{join as H1}from"node:path";function Sj(j){if(j){let Z=H1(process.cwd(),j);if(U1(Z))return o(j);return console.error(`Invalid entry point: ${Z}. Pass a valid --entry (or "entry" option), or unset it and`),console.error('set the "svelte" field in your package.json instead.'),null}let $=H1(process.cwd(),"package.json");if(!U1($))return console.error("Could not locate a package.json file."),console.error(`Specify an entry point with --entry (or the "entry" option) instead.
|
|
7
|
+
`),null;try{let Z=l0(JSON.parse(R5($,"utf-8")));if(Z.svelte?.trim())return o(Z.svelte);return console.error(`Could not determine an entry point.
|
|
8
|
+
`),console.error(`Specify an entry point to your Svelte code in the "svelte" field of your package.json, or pass --entry (or the "entry" option).
|
|
9
|
+
`),null}catch(Z){throw console.error("Error reading package.json:",Z),Z}}import{lstatSync as L5}from"node:fs";import{resolve as V1}from"node:path";var I5=/\.svelte$/;async function q1(j,$,Z=!1){let{exports:Q,allComponents:Y,rootDir:J,resolveComponentFilePath:K}=Tj(j,$,Z),U=Z&&L5(j).isFile()?await Dj(V1(j)):[],H=Object.entries(Q),z=Object.entries(Y),V=new Map,G=new Map;await s();let X=new Map,W={onParseError:(k)=>X.set(k.filePath,k)},O=()=>({exports:Q,entryExports:U,components:V,allComponentsForTypes:G,errors:Array.from(X.values()),diagnostics:Bj(Array.from(G.values()).flatMap((k)=>k.diagnostics??[]))});{let k=Fj([H,z],K),M=await Jj(k);for(let b of H){let A=m(b,H,M,K,W);if(A)V.set(A.moduleName,A)}for(let b of z){let A=m(b,z,M,K,W);if(A)G.set(A.moduleName,A)}Kj(O().errors)}let q=e(G,K),B=(k,M,b,A)=>{let y=new Set;for(let x of M){let D=K(x[1].source);if(!b.has(D))continue;let S=m(x,M,A,K,W);if(S)k.set(S.moduleName,S),y.add(D);else for(let[I,L]of k)if(K(L.filePath)===D)k.delete(I)}return y};return{get result(){return O()},update:async(k)=>{let M=k.filter((D)=>I5.test(D)).map((D)=>V1(D));if(M.length===0)return{result:O(),reparsed:[]};if($)for(let{moduleName:D,source:S}of j0(J)){let I=Y[D];if(I)I.source=S;else{let L={source:S,default:!1};Y[D]=L,z.push([D,L])}}let b=kj(M,q);for(let[D,S]of X)if(b.has(K(S.filePath)))X.delete(D);let A=await Jj(b),y=new Set;for(let D of B(V,H,b,A))y.add(D);for(let D of B(G,z,b,A))y.add(D);q=e(G,K);let x=O();return Kj(x.errors),{result:x,reparsed:Array.from(y)}}}}import x5 from"node:path";var G1=!1;function X1(j){G1=j}function c(j){if(!G1)console.error(j)}import{mkdir as M5,readFile as b5,writeFile as D5}from"node:fs/promises";import{parse as A5}from"node:path";class _{dryRun;constructor(j){this.dryRun=j?.dryRun===!0}async write(j,$){if(this.dryRun)return console.log(`would write "${w(j)}"`),!0;try{if(await b5(j,"utf-8")===$)return!1}catch{}return await M5(A5(j).dir,{recursive:!0}),await D5(j,$),!0}}var T5=new Set(["string","number","boolean"]);function F5(j){return j.map(($)=>({kind:"field",name:$.name,...$.type?{type:{text:$.type}}:{},...$.value===void 0?{}:{default:$.value},...$.description?{description:$.description}:{},...$.deprecated===void 0?{}:{deprecated:$.deprecated}}))}function S5(j){let $=new Map;for(let Q of j){if(!Q.type||!T5.has(Q.type.trim()))continue;let Y=Q.name.toLowerCase(),J=$.get(Y);if(J)J.push(Q);else $.set(Y,[Q])}let Z=[];for(let[Q,Y]of $){if(Y.length!==1)continue;let J=Y[0];Z.push({name:Q,fieldName:J.name,type:{text:J.type},...J.value===void 0?{}:{default:J.value},...J.description?{description:J.description}:{}})}return Z}function w5(j){return j.filter(($)=>$.type==="dispatched").map(($)=>({name:$.name,type:{text:`CustomEvent<${$.detail??"unknown"}>`},...$.description?{description:$.description}:{},...$.deprecated===void 0?{}:{deprecated:$.deprecated}}))}function _5(j){return j.map(($)=>({name:$.default?"":$.name??"",...$.description?{description:$.description}:{},...$.deprecated===void 0?{}:{deprecated:$.deprecated}}))}function N5(j){let $={kind:"class",name:j.moduleName,...j.componentComment?{description:j.componentComment}:{},members:F5(j.props),attributes:S5(j.props),events:w5(j.events),slots:_5(j.slots)};if(j.customElementTag)$.tagName=j.customElementTag,$.customElement=!0;return $}function y5(j,$){let Z=[{kind:"js",name:j.moduleName,declaration:{name:j.moduleName,module:$}}];if(j.customElementTag)Z.push({kind:"custom-element-definition",name:j.customElementTag,declaration:{name:j.moduleName,module:$}});return Z}function W1(j,$={}){let Z=g(j),Q=$.resolveModulePath??((J)=>J.filePath);return{schemaVersion:"1.0.0",modules:Z.components.map((J)=>{let K=Q(J);return{kind:"javascript-module",path:K,declarations:[N5(J)],exports:y5(J,K)}})}}function $0(j,$){let Z=W1(j,{resolveModulePath:(Q)=>wj(Q.filePath,$.inputDir)});return h(Z)}async function Z0(j,$){let Z=$0(j,$),Q=x5.join(process.cwd(),$.outFile);if(await new _({dryRun:$.dryRun}).write(Q,Z),!$.dryRun)c(`created "${$.outFile}".`)}import Q0 from"node:path";function Y0(j,$){return j.map((Z)=>({...Z,filePath:wj(Z.filePath,$)}))}async function g5(j,$){let Z=g(j),Q=Y0(Z.components,$.inputDir);await Promise.all(Q.map(async(Y)=>{let J=Q0.resolve(Q0.join($.outDir||"",`${Y.moduleName}.api.json`)),U=await new _({dryRun:$.dryRun}).write(J,h(Y));if(!$.dryRun)c(`${U?"created":"unchanged"} "${J}".`)}))}function J0(j,$){let Z=g(j,{entryExports:$.entryExports}),Q={...Z,components:Y0(Z.components,$.inputDir)};return h(Q)}function k1(j,$){let Z=g(j,{entryExports:$.entryExports});return`${Y0(Z.components,$.inputDir).map((Y)=>JSON.stringify(Y)).join(`
|
|
10
|
+
`)}
|
|
11
|
+
`}async function C5(j,$){let Z=J0(j,$),Q=Q0.join(process.cwd(),$.outFile);if(await new _({dryRun:$.dryRun}).write(Q,Z),!$.dryRun)c(`created "${$.outFile}".`)}async function K0(j,$){if($.outDir)await g5(j,$);else await C5(j,$)}import{join as C3}from"node:path";var O1=/^[}\])>]/,E5=new Set(["{","(","["]),P5=new Set(["}",")","]"]);var v5=/\binterface\s+[A-Za-z_$][\w$]*(\s*<[^{};]*>)?\s*$/,R1=/[ \t]+$/,f5=/\s+$/,h5=/[{([]$/,u5=/\s/;function m5(j){return v5.test(j.slice(-200))}var c5=200;function d5(j,$){let Z="";for(let Q=j.length-1;Q>=0&&Z.length<$;Q--)Z=j[Q]+Z;return Z.length>$?Z.slice(-$):Z}function B1(j,$){while(j.length>0&&$.test(j[j.length-1]))j.pop()}function l5(j){let $="",Z=null,Q=!1;for(let Y=0;Y<j.length;Y++){let J=j[Y],K=j[Y-1];if(Z){if($+=J,Z==="double"&&J==='"'&&K!=="\\"||Z==="single"&&J==="'"&&K!=="\\"||Z==="template"&&J==="`"&&K!=="\\")Z=null;Q=!1;continue}if(J==='"'||J==="'"||J==="`"){Z=J==='"'?"double":J==="'"?"single":"template",$+=J,Q=!1;continue}if(u5.test(J)){if(!Q&&$.length>0)$+=" ",Q=!0;continue}$+=J,Q=!1}return $.trimEnd()}function i5(j,$){let Z=0,Q="normal";for(let Y=$;Y<j.length;Y++){let J=j[Y],K=j[Y-1];if(Q==="blockComment"){if(K==="*"&&J==="/")Q="normal";continue}if(Q==="double"||Q==="single"){if(J===(Q==="double"?'"':"'")&&K!=="\\")Q="normal";continue}if(Q==="template"){if(J==="`"&&K!=="\\")Q="normal";continue}if(J==="/"&&j[Y+1]==="*")Q="blockComment";else if(J==='"')Q="double";else if(J==="'")Q="single";else if(J==="`")Q="template";else if(J==="{")Z++;else if(J==="}"){if(Z--,Z===0)return Y}}return-1}function L1(j){let $=[],Z="normal";for(let Q=0;Q<j.length;Q++){let Y=j[Q],J=j[Q-1];if(Z==="blockComment"){if($.push(Y),J==="*"&&Y==="/")Z="normal";continue}if(Z==="double"||Z==="single"){if($.push(Y),Y===(Z==="double"?'"':"'")&&J!=="\\")Z="normal";continue}if(Z==="template"){if($.push(Y),Y==="`"&&J!=="\\")Z="normal";continue}if(Y==="/"&&j[Q+1]==="*"){Z="blockComment",$.push(Y);continue}if(Y==='"'){Z="double",$.push(Y);continue}if(Y==="'"){Z="single",$.push(Y);continue}if(Y==="`"){Z="template",$.push(Y);continue}if(Y==="{"){let K=i5(j,Q);if(K===-1){$.push(Y);continue}let U=j.slice(Q+1,K);if(U.trim()===""){$.push("{}"),Q=K;continue}if(!U.includes("/*")&&j[Q+1]!==`
|
|
12
|
+
`&&!m5(d5($,c5))){let H=L1(U).trim();if(!H.includes(`
|
|
13
|
+
`)){let z=H.endsWith(";")?H.slice(0,-1):H,V=`{ ${l5(z)} }`;if(V.length<=120){$.push(V),Q=K;continue}}}if($.push(Y),j[Q+1]!==`
|
|
14
|
+
`)$.push(`
|
|
15
|
+
`);continue}if(Y==="}"){if(B1($,R1),$[$.length-1]!==`
|
|
16
|
+
`)$.push(`
|
|
17
|
+
`);$.push(Y);continue}if(Y===";"){if(B1($,f5),$.push(";"),j[Q+1]!==`
|
|
18
|
+
`)$.push(`
|
|
19
|
+
`);continue}$.push(Y)}return $.join("")}function p5(j){let $="",Z=null;for(let Q=0;Q<j.length;Q++){let Y=j[Q],J=j[Q-1];if(Z){if($+=Y,Z==="double"&&Y==='"'&&J!=="\\"||Z==="single"&&Y==="'"&&J!=="\\"||Z==="template"&&Y==="`"&&J!=="\\")Z=null;continue}if(Y==='"'||Y==="'"||Y==="`"){Z=Y==='"'?"double":Y==="'"?"single":"template",$+=Y;continue}if(Y===" "&&$.endsWith(" "))continue;$+=Y}return $}function s5(j){let $=j.split(`
|
|
20
|
+
`),Z=[],Q=0,Y=!1,J=0;for(let K of $){let U=K.trim();if(U===""){Z.push("");continue}if(Y){if(Z.push(`${" ".repeat(J)} ${U}`),U.includes("*/"))Y=!1;continue}if(U.startsWith("/**")&&!U.includes("*/")){Z.push(" ".repeat(Q)+U),Y=!0,J=Q;continue}let H=p5(U),z=O1.test(H),V=Math.max(0,Q-(z?1:0));if(Z.push(" ".repeat(V)+H),H.startsWith("/**")&&H.includes("*/"))continue;let G=null;for(let X=0;X<H.length;X++){let W=H[X],O=H[X-1];if(G){if(G==="double"&&W==='"'&&O!=="\\"||G==="single"&&W==="'"&&O!=="\\"||G==="template"&&W==="`"&&O!=="\\")G=null;continue}if(W==='"')G="double";else if(W==="'")G="single";else if(W==="`")G="template";else if(E5.has(W))Q++;else if(P5.has(W))Q=Math.max(0,Q-1);else if(W==="<")Q++;else if(W===">"&&O!=="=")Q=Math.max(0,Q-1)}}return Z.join(`
|
|
21
|
+
`)}function a5(j){let $=j.split(`
|
|
22
|
+
`).map((Q)=>Q.replace(R1,"")),Z=[];for(let Q of $){let Y=Q==="",J=Z.length>0&&Z[Z.length-1]==="",K=Z.length>0&&h5.test(Z[Z.length-1]);if(Y){if(Z.length===0||J||K)continue;Z.push(Q);continue}if(O1.test(Q)&&J)Z.pop();Z.push(Q)}while(Z.length>0&&Z[Z.length-1]==="")Z.pop();return Z.join(`
|
|
23
|
+
`)}function I1(j){let $=L1(j),Z=s5($);return`${a5(Z)}
|
|
24
|
+
`}var d="any",C="",r5="Record<string, any>",U0="Record<string, never>",n5=/(-|\s+|:)/,t5=/("|')/,o5=/CustomEvent/,e5=/^[A-Z]/,j3=/\n/,M1=/=>/,$3=/(?:^|\n)@default\b/,H0=/\n/g,Z3=/\s+/g,Q3=/(^|[^.\w])Snippet(?:\s*<|\b)/,Y3=/import\s+type\s+[^;]*\bSnippet\b[^;]*from\s+"svelte";/,J3=/[.*+?^${}()|[\]\\]/g,K3=/^const\s+/;function V0(j){return j.replace(K3,"")}function z3(j){if(!j)return;return j.replace(H0,`
|
|
25
|
+
* `)}function Nj(j){if(!j)return"";return`/** ${j} */`}function yj(j){if(!j)return"";return`/**
|
|
26
|
+
* ${j.replace(H0,`
|
|
27
|
+
* `)}
|
|
28
|
+
*/`}function b1(j){if(j===void 0)return;return j===!0?"@deprecated":`@deprecated ${j}`}function U3(j){let $=b1(j);if($===void 0)return;return`* ${$.replace(H0,`
|
|
29
|
+
* `)}
|
|
30
|
+
`}function H3(j,$){if(!$)return[`@${j}`];if(!$.includes(`
|
|
31
|
+
`))return[`@${j} ${$}`];return[`@${j}`,...$.split(`
|
|
32
|
+
`)]}function D1(j){let $=[];for(let{name:Z,body:Q}of j??[])$.push(...H3(Z,Q));return $}function Uj(j,$,Z){let Q=b1(Z),Y=D1($),J=Y.length>0;if(!j&&!J&&!Q)return"";if(!J&&!Q)return j?.includes(`
|
|
33
|
+
`)?yj(j):Nj(j);let K=[];if(j)K.push(...j.split(`
|
|
34
|
+
`));if(K.push(...Y),Q)K.push(...Q.split(`
|
|
35
|
+
`));return`/**
|
|
36
|
+
* ${K.join(`
|
|
37
|
+
* `)}
|
|
38
|
+
*/`}function V3(j){let $=D1(j);if($.length===0)return"";return $.map((Z)=>`* ${Z}
|
|
39
|
+
`).join("")}function xj(j){if(j===void 0)return d;return`${j}
|
|
40
|
+
`}function gj(j){if(j.typedefs.length===0)return C;return j.typedefs.map(($)=>{return`${$.description?`${yj($.description)}
|
|
41
|
+
`:""}export ${$.ts}`}).join(`
|
|
42
|
+
|
|
43
|
+
`)}function A1(j,$){let Z=$.replace(J3,"\\$&");return new RegExp(`\\b${Z}\\b`).test(j)}function q3(j){if(j===null)return[];return j[0].split(",").map(($,Z)=>({name:$.trim(),constraint:(_j(j[1]??"")[Z]??$).trim()}))}function G3(j,$){let Z=q3(j).filter(({name:Q})=>A1($,Q));if(Z.length===0)return{declSuffix:C,refSuffix:C};return{declSuffix:`<${Z.map(({constraint:Q})=>V0(Q)).join(", ")}>`,refSuffix:`<${Z.map(({name:Q})=>Q).join(", ")}>`}}function T1(j){if(!j.contexts||j.contexts.length===0)return C;let $=j.generics===null?[]:j.generics[0].split(",").map((Z,Q)=>({name:Z.trim(),constraint:(_j(j.generics?.[1]??"")[Q]??Z).trim()}));return j.contexts.map((Z)=>{let Q=Z.properties.map((U)=>{let H=U.description?`${Nj(U.description)}
|
|
44
|
+
`:"",z=U.optional?"?":"";return`${H}${U.name}${z}: ${U.type};`}).join(`
|
|
45
|
+
`),Y=Z.description?`${yj(Z.description)}
|
|
46
|
+
`:"",J=$.filter(({name:U})=>Z.properties.some((H)=>A1(H.type,U))).map(({constraint:U})=>U),K=J.length>0?`<${J.map(V0).join(", ")}>`:"";if(Z.properties.length===0)return`${Y}export type ${Z.typeName} = Record<string, never>;`;return`${Y}export type ${Z.typeName}${K} = {
|
|
47
|
+
${Q}
|
|
48
|
+
};`}).join(`
|
|
49
|
+
|
|
50
|
+
`)}function Hj(j){if(n5.test(j))return t5.test(j)?j:`"${j}"`;return j}function F1(j,$){if(!j)return;return`* ${$||j}
|
|
51
|
+
`}function q0(j,$,Z){return[F1(z3(j)),U3($),V3(Z)].filter(Boolean).join("")}function G0(j){return j.length>0?`/**
|
|
52
|
+
${j}*/`:C}function X3(j){let $=new Set([...j.props.filter((q)=>!q.isFunctionDeclaration&&q.kind!=="const").map((q)=>q.name),...Array.from(j.canonicalPropNames??[])]),Z=j.props.filter((q)=>!q.isFunctionDeclaration&&q.kind!=="const").map((q)=>{let B=q.value;if(typeof q.value==="string")B=q.value.replace(Z3," ");if(q.value===void 0)B="undefined";let k=$3.test(q.description??"")||q.isFunction&&q.value===void 0,M=[q0(q.description,q.deprecated,q.tags),F1(q.constant,"@constant"),k?null:`* @default ${B}
|
|
53
|
+
`].filter(Boolean).join(""),b=q.constant&&!q.isFunction?q.value:q.type;return`
|
|
54
|
+
${G0(M)}
|
|
55
|
+
${q.name}${q.isRequired?"":"?"}: ${b};`}),Q=j.canonicalPropsType?Z.filter((q,B)=>{let R=j.props.filter((k)=>!k.isFunctionDeclaration&&k.kind!=="const")[B];return R?!(j.canonicalPropNames?.has(R.name)??!1):!0}):Z,Y=(j.slots||[]).filter((q)=>!q.default&&q.name!=null&&!$.has(q.name)).map((q)=>{let B=q.name,R=Hj(B),k=Uj(q.description,q.tags,q.deprecated),M=k?`${k}
|
|
56
|
+
`:"",A=q.slot_props&&q.slot_props!=="Record<string, never>"?`(this: void, ...args: [${q.slot_props}]) => void`:"(this: void) => void";return`
|
|
57
|
+
${M}${R}?: ${A};`}),J=(j.slots||[]).find((q)=>q.default||q.name===null),K=J&&!$.has("children")?(()=>{let q=Uj(J.description,J.tags,J.deprecated),B=q?`${q}
|
|
58
|
+
`:"",k=J.slot_props&&J.slot_props!=="Record<string, never>"?`(this: void, ...args: [${J.slot_props}]) => void`:"(this: void) => void";return`
|
|
59
|
+
${B}children?: ${k};`})():"",U=j.events?L3({events:j.events},$):[],H=[...Y,K,...U].filter(Boolean),z=[...Q,...H].join(`
|
|
60
|
+
`),V=`${j.moduleName}Props`,G=C,X=j.generics?`<${_j(j.generics[1]).map((q)=>V0(q.trim())).join(", ")}>`:"",W=j.generics?`<${j.generics[0]}>`:"",O=j.canonicalPropsType?`
|
|
61
|
+
type $Props${X} = ${j.canonicalPropsType}${z.trim()===""?"":` & {${z}
|
|
62
|
+
}`};
|
|
63
|
+
`:`
|
|
64
|
+
type $Props${X} = {
|
|
65
|
+
${z}
|
|
66
|
+
};
|
|
67
|
+
`;if(j.rest_props?.type==="Element"){let q;if(j.rest_props.name==="svelte:element")if(j.rest_props.thisValue)q=`SvelteHTMLElements["${j.rest_props.thisValue}"]`;else q="HTMLAttributes<HTMLElement>";else q=j.rest_props.name.split("|").map((k)=>{return`SvelteHTMLElements["${k.trim()}"]`}).join(" & ");let B="[key: `data-${string}`]: unknown;",R=j.rest_props.description?j.rest_props.description.includes(`
|
|
68
|
+
`)?`${yj(j.rest_props.description)}
|
|
69
|
+
`:`${Nj(j.rest_props.description)}
|
|
70
|
+
`:"";if(j.extends===void 0)G=`
|
|
71
|
+
${R}${q?`type $RestProps = ${q};
|
|
72
|
+
`:""}
|
|
73
|
+
${j.canonicalPropsType?`type $Props${X} = (${j.canonicalPropsType}) & {${z}
|
|
74
|
+
|
|
75
|
+
${B}
|
|
76
|
+
};`:`type $Props${X} = {
|
|
77
|
+
${z}
|
|
78
|
+
|
|
79
|
+
${B}
|
|
80
|
+
};`}
|
|
81
|
+
|
|
82
|
+
export type ${V}${X} = Omit<$RestProps, keyof $Props${W}> & $Props${W};
|
|
83
|
+
`;else G=`
|
|
84
|
+
${R}${q?`type $RestProps = ${q};
|
|
85
|
+
`:""}
|
|
86
|
+
${j.canonicalPropsType?`type $Props${X} = (${j.canonicalPropsType}) & {${z}
|
|
87
|
+
|
|
88
|
+
${B}
|
|
89
|
+
};`:`type $Props${X} = {
|
|
90
|
+
${z}
|
|
91
|
+
|
|
92
|
+
${B}
|
|
93
|
+
};`}
|
|
94
|
+
|
|
95
|
+
export type ${V}${X} = Omit<$RestProps, keyof ($Props${W} & ${j.extends.interface})> & $Props${W} & ${j.extends.interface};
|
|
96
|
+
`}else if(z.trim()===""&&j.extends===void 0&&!j.canonicalPropsType)G=`
|
|
97
|
+
export type ${V}${X} = ${U0};
|
|
98
|
+
`;else if(j.canonicalPropsType)G=`
|
|
99
|
+
${O}
|
|
100
|
+
export type ${V}${X} = ${j.extends===void 0?"":`${j.extends.interface} & `}$Props${W};
|
|
101
|
+
`;else G=`
|
|
102
|
+
export type ${V}${X} = ${j.extends===void 0?"":`${j.extends.interface} & `} {
|
|
103
|
+
${z}
|
|
104
|
+
};
|
|
105
|
+
`;return{props_name:V,prop_def:G}}function W3(j){if(j.slots.length===0)return U0;let $=j.slots.map(({name:Z,slot_props:Q,...Y})=>{let J=Y.default||Z===null?"default":Hj(Z??""),K=Uj(Y.description,Y.tags,Y.deprecated);return`${K?`${K}
|
|
106
|
+
`:""}${Hj(J)}: ${xj(Q)};`}).join(`
|
|
107
|
+
`);return j.slots.length===1?`{${$}}`:`{
|
|
108
|
+
${$}
|
|
109
|
+
}`}var k3=()=>"WindowEventMap",B3=new Set(["click","dblclick","mousedown","mouseup","mousemove","mouseover","mouseout","mouseenter","mouseleave","contextmenu","wheel","keydown","keyup","keypress","submit","change","input","focus","blur","focusin","focusout","reset","select","touchstart","touchend","touchmove","touchcancel","drag","dragstart","dragend","dragover","dragenter","dragleave","drop","pointerdown","pointerup","pointermove","pointerover","pointerout","pointerenter","pointerleave","pointercancel","gotpointercapture","lostpointercapture","play","pause","ended","volumechange","timeupdate","loadeddata","loadedmetadata","canplay","canplaythrough","seeking","seeked","playing","waiting","stalled","suspend","abort","error","emptied","ratechange","durationchange","loadstart","progress","loadend","animationstart","animationend","animationiteration","animationcancel","transitionstart","transitionend","transitionrun","transitioncancel","scroll","resize","load","unload","beforeunload","cut","copy","paste","compositionstart","compositionupdate","compositionend"]);function z0(j=d){if(o5.test(j))return j;return`CustomEvent<${j}>`}function O3(j){return B3.has(j)}function S1(j){switch(j.type){case"dispatched":return z0(j.detail);case"forwarded":{let $=j.element,Q=!($&&e5.test($))||O3(j.name),Y=j.detail!==void 0&&j.detail!=="undefined"&&!(j.detail==="null"&&Q),J=j.detail==="null"&&!Q;if(Y||J)return z0(j.detail);else if(Q)return`${k3()}["${j.name}"]`;else return z0()}default:return j}}function R3(j){if(j.events.length===0)return r5;let $=j.events.map((Z)=>{let Q="",Y=Uj(Z.description,Z.tags,Z.deprecated);if(Y)Q=`${Y}
|
|
110
|
+
`;return`${Q}${Hj(Z.name)}: ${S1(Z)};
|
|
111
|
+
`}).join("");return j.events.length===1?`{${$}}`:`{
|
|
112
|
+
${$}}`}function L3(j,$){return j.events.map((Z)=>{let Q=`on${Z.name}`;if($.has(Q))return;let Y="",J=Uj(Z.description,Z.tags,Z.deprecated);if(J)Y=`${J}
|
|
113
|
+
`;return`
|
|
114
|
+
${Y}${Hj(Q)}?: (event: ${S1(Z)}) => void;`}).filter((Z)=>Z!==void 0)}function I3(j){let $=j.type==="() => any";if(j.type&&M1.test(j.type)&&!$)return j.type;else if(j.params&&j.params.length>0){let Q=j.params.map((J)=>{let K=J.optional?"?":"";return`${J.name}${K}: ${J.type}`}).join(", "),Y=j.returnType||d;return`(${Q}) => ${Y}`}else if(j.returnType)return`() => ${j.returnType}`;else return j.type||d}function w1(j){return j.props.filter(($)=>$.isFunctionDeclaration||$.kind==="const").map(($)=>{let Z=q0($.description,$.deprecated,$.tags),Q=I3($);return`
|
|
115
|
+
${G0(Z)}
|
|
116
|
+
${$.name}: ${Q};`}).join(`
|
|
117
|
+
`)}function M3(j){let $=`${j.moduleName}Exports`,Z=w1({props:j.props});if(Z.trim()==="")return{exports_name:$,exports_ref:$,exports_def:`export type ${$} = ${U0};`};let{declSuffix:Q,refSuffix:Y}=G3(j.generics,Z);return{exports_name:$,exports_ref:`${$}${Y}`,exports_def:`export type ${$}${Q} = {${Z}
|
|
118
|
+
};`}}function b3(j){let $=j.props.filter((Z)=>Z.bindable===!0||Z.binding==="writable").map((Z)=>`"${Z.name}"`);return $.length===0?C:$.join(" | ")}function D3(j){let $=j.moduleName==="default"?"$$Component":j.moduleName,Z=j.bindings===C?'""':j.bindings;return`declare const ${$}: Component<
|
|
119
|
+
${j.propsRef},
|
|
120
|
+
${j.exportsRef},
|
|
121
|
+
${Z}
|
|
122
|
+
>;
|
|
123
|
+
export default ${$};`}function A3(j){let $=j.moduleName==="default"?"$$Component":j.moduleName,Z=`${$}Component`,Q=j.bindings===C?'""':j.bindings;return`interface ${Z} {
|
|
124
|
+
new ${j.generic}(
|
|
125
|
+
options: ComponentConstructorOptions<${j.propsRef}>
|
|
126
|
+
): SvelteComponent<${j.propsRef}> & ${j.exportsRef};
|
|
127
|
+
${j.generic}(
|
|
128
|
+
this: void,
|
|
129
|
+
internals: ComponentInternals,
|
|
130
|
+
props: ${j.propsRef}
|
|
131
|
+
): {
|
|
132
|
+
$on?(type: string, callback: (e: any) => void): () => void;
|
|
133
|
+
$set?(props: Partial<${j.propsRef}>): void;
|
|
134
|
+
} & ${j.exportsRef};
|
|
135
|
+
element?: typeof HTMLElement;
|
|
136
|
+
z_$$bindings?: ${Q};
|
|
137
|
+
}
|
|
138
|
+
declare const ${$}: ${Z};
|
|
139
|
+
export default ${$};`}function T3(j){if(j.extends===void 0)return"";return`import type { ${j.extends.interface} } from ${j.extends.import};`}function F3(j){if(!j.componentComment)return"";if(!j3.test(j.componentComment))return Nj(j.componentComment.trim());return`/*${j.componentComment.split(`
|
|
140
|
+
`).map(($)=>`* ${$}`).join(`
|
|
141
|
+
`)}
|
|
142
|
+
*/`}function S3(j){return j.moduleExports.map(($)=>{let Z=q0($.description,$.deprecated,$.tags),Q,Y=$.type&&M1.test($.type),J=$.type==="() => any";if($.kind==="const"&&!Y)Q=`export declare const ${$.name}: ${$.type||d};
|
|
143
|
+
`;else if($.params&&$.params.length>0){let U=$.params.map((z)=>{let V=z.optional?"?":"";return`${z.name}${V}: ${z.type}`}).join(", "),H=$.returnType||d;Q=`export declare function ${$.name}(${U}): ${H};`}else if($.returnType)Q=`export declare function ${$.name}(): ${$.returnType};`;else if(Y&&$.type&&!J){let[K,U,...H]=$.type.split("=>"),z=H.map((V)=>` => ${V.trim()}`).join("");Q=`export declare function ${$.name}${K.trimEnd()}: ${U.trim()}${z};`}else if(Y&&$.type){let[K,U,...H]=$.type.split("=>"),z=H.map((V)=>` => ${V.trim()}`).join("");Q=`export declare function ${$.name}${K.trimEnd()}: ${U.trim()}${z};`}else if($.kind==="const")Q=`export declare const ${$.name}: ${$.type||d};
|
|
144
|
+
`;else Q=`export type ${$.name} = ${$.type||d};`;return`
|
|
145
|
+
${G0(Z)}
|
|
146
|
+
${Q}`}).join(`
|
|
147
|
+
`)}var w3=120;function _3(j){let Z=`export default class ${j.moduleName==="default"?"":j.moduleName}${j.generic} extends SvelteComponentTyped<`,Q=[j.genericProps,j.events,j.slots];if(j.accessors.trim()===""&&Q.every((Y)=>!Y.includes(`
|
|
148
|
+
`))){let Y=`${Z}${Q.join(", ")}> {}`;if(Y.length<=w3)return Y}return`${Z}
|
|
149
|
+
${j.genericProps},
|
|
150
|
+
${j.events},
|
|
151
|
+
${j.slots}
|
|
152
|
+
> {
|
|
153
|
+
${j.accessors}
|
|
154
|
+
}`}function X0(j,$){let Z=Aj(j),{moduleName:Q,typedefs:Y,generics:J,props:K,moduleExports:U,slots:H,events:z,rest_props:V,extends:G,componentComment:X,contexts:W,syntaxMode:O}=j,q=$?.format==="component",B=J!==null,{props_name:R,prop_def:k}=X3({moduleName:Q,props:K,rest_props:V,extends:G,generics:J,slots:H,canonicalPropNames:new Set(Z?.canonicalPropNames??[]),canonicalPropsType:Z?.canonicalPropsType,events:q&&O==="legacy"?z:void 0}),M=J?`<${J[1]}>`:"",b=J?`${R}<${J[0]}>`:R,A=S3({moduleExports:U}),y=gj({typedefs:Y}),x=T1({contexts:W,generics:J}),D=(Z?.typeImportStatements??[]).join(`
|
|
155
|
+
`),S=(Z?.localTypeDeclarations??[]).join(`
|
|
156
|
+
|
|
157
|
+
`),{exports_ref:I,exports_def:L}=q?M3({props:K,moduleName:Q,generics:J}):{exports_ref:C,exports_def:C},F=q?b3({props:K}):C,P=!Y3.test(D)&&Q3.test(`${k}
|
|
158
|
+
${A}
|
|
159
|
+
${y}
|
|
160
|
+
${x}
|
|
161
|
+
${S}
|
|
162
|
+
${L}`),v=V?.type==="Element"&&(V.name!=="svelte:element"||V.name==="svelte:element"&&V.thisValue),i1=V?.type==="Element"&&V.name==="svelte:element"&&!V.thisValue,p1=[q?B?`import type { SvelteComponent, ComponentConstructorOptions, ComponentInternals${P?", Snippet":""} } from "svelte";`:`import type { Component${P?", Snippet":""} } from "svelte";`:`import { SvelteComponentTyped${P?", type Snippet":""} } from "svelte";`,v?'import type { SvelteHTMLElements } from "svelte/elements";':"",i1?'import type { HTMLAttributes } from "svelte/elements";':"",D,T3({extends:G})].filter(Boolean).join(`
|
|
163
|
+
`),s1=q?B?A3({moduleName:Q,generic:M,propsRef:b,exportsRef:I,bindings:F}):D3({moduleName:Q,propsRef:b,exportsRef:I,bindings:F}):_3({moduleName:Q,generic:M,genericProps:b,events:R3({events:z}),slots:W3({slots:H}),accessors:w1({props:K})}),a1=[A,y,S,x,k,L,[F3({componentComment:X}),s1].filter(Boolean).join(`
|
|
164
|
+
`)].map((r1)=>r1.trim()).filter(Boolean).join(`
|
|
165
|
+
|
|
166
|
+
`);return I1([p1,a1].filter(Boolean).join(`
|
|
167
|
+
|
|
168
|
+
`))}var W0=/`/g,Cj=/\s+/g,E="--",_1=`| Prop name | Required | Kind | Reactive | Binding | Type | Default value | Description |
|
|
169
|
+
| :- | :- | :- | :- | :- | :- | :- | :- |
|
|
170
|
+
`,N1=`| Slot name | Default | Props | Fallback | Description |
|
|
171
|
+
| :- | :- | :- | :- | :- |
|
|
172
|
+
`,y1=`| Event name | Type | Detail | Description |
|
|
173
|
+
| :- | :- | :- | :- |
|
|
174
|
+
`,x1=`| Name | Kind | Type | Description |
|
|
175
|
+
| :- | :- | :- | :- |
|
|
176
|
+
`,Ej=/\|/g,N3=/</g,y3=/>/g,r=/\n/g;function i(j){if(j===void 0)return E;return`<code>${j.replace(Ej,"|")}</code>`}function Vj(j){return j.replace(N3,"<").replace(y3,">")}function g1(j){if(j===void 0)return E;return`<code>${j.replace(W0,"\\`").replace(Ej,"|")}</code>`}function Pj(j,$){if($===void 0)return j;let Z=typeof $==="string"&&$.trim().length>0?`: ${Vj($).replace(r," ").replace(Ej,"|")}`:"";return`<s>${j}</s><br />**Deprecated**${Z}`}function vj(j){if(j===void 0||j.trim().length===0)return E;return Vj(j).replace(r,"<br />")}function C1(j){if(j===void 0||j==="{}")return E;return i(xj(j).replace(r," "))}function E1(j){if(j===void 0)return E;return i(Vj(j).replace(r,"<br />"))}function P1(j,$){let Z=[];if(j!==void 0&&j.trim().length>0)Z.push(Vj(j));for(let{name:Q,body:Y}of $??[]){let J=Y?.trim();Z.push(J?`@${Q} ${Vj(J)}`:`@${Q}`)}if(Z.length===0)return E;return Z.join(`
|
|
177
|
+
`).replace(Ej,"|").replace(r,"<br />")}function v1(j){if(j===void 0)return E;return i(j.replace(r," "))}function f1(j,$,Z){if(j.append("h1","Component Index"),j.append("h2","Components").tableOfContents(),j.append("divider"),Z&&Z.length>0)x3(j,Z);let Q=g($);for(let Y of Q.components)g3(j,Y)}function x3(j,$){j.append("h2","Exports"),j.append("raw",x1);for(let Z of $){let Q=(Z.type??Z.value)?.replace(Cj," ").trim();j.append("raw",`| ${Z.name} | ${`<code>${Z.kind}</code>`} | ${i(Q)} | ${vj(Z.description)} |
|
|
178
|
+
`)}j.append("raw",`
|
|
179
|
+
`),j.append("divider")}function k0(j,$,Z,Q){if($.length>0)Z(),j.append("raw",`
|
|
180
|
+
`);else j.append("p",Q??"None.")}function g3(j,$){if(j.append("h2",`\`${$.moduleName}\``),$.generics)j.append("p",`**Type parameters:** ${i(`<${$.generics[1]}>`)}`);if($.typedefs.length>0)j.append("h3","Types").append("raw",`\`\`\`ts
|
|
181
|
+
${gj({typedefs:$.typedefs})}
|
|
182
|
+
\`\`\`
|
|
183
|
+
|
|
184
|
+
`);j.append("h3","Props"),k0(j,$.props,()=>{j.append("raw",_1);let Z=[...$.props].sort((Q)=>{if(Q.reactive)return-1;if(Q.constant)return 1;return 0});for(let Q of Z)j.append("raw",`| ${Pj(Q.name,Q.deprecated)} | ${Q.isRequired?"Yes":"No"} | ${`<code>${Q.kind}</code>`} | ${Q.reactive?"Yes":"No"} | ${Q.binding??"--"} | ${i(Q.type)} | ${g1(Q.value)} | ${vj(Q.description)} |
|
|
185
|
+
`)}),j.append("h3","Slots"),k0(j,$.slots,()=>{j.append("raw",N1);for(let Z of $.slots)j.append("raw",`| ${Pj(Z.default?E:Z.name??E,Z.deprecated)} | ${Z.default?"Yes":"No"} | ${C1(Z.slot_props)} | ${E1(Z.fallback)} | ${P1(Z.description,Z.tags)} |
|
|
186
|
+
`)}),j.append("h3","Events"),k0(j,$.events,()=>{j.append("raw",y1);for(let Z of $.events)j.append("raw",`| ${Pj(Z.name,Z.deprecated)} | ${Z.type} | ${Z.type==="dispatched"?v1(Z.detail):E} | ${vj(Z.description)} |
|
|
187
|
+
`)})}class B0{sourceParts=[];hasToC=!1;toc=[];get source(){return this.sourceParts.join("")}appendLineBreaks(){return this.sourceParts.push(`
|
|
188
|
+
|
|
189
|
+
`),this}append(j,$){switch(j){case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":{let Z=Number(j.slice(-1));if(this.sourceParts.push(`${"#".repeat(Z)} ${$}`),this.hasToC&&j==="h2")this.toc.push({indent:0,raw:$??""});break}case"quote":this.sourceParts.push(`> ${$}`);break;case"p":this.sourceParts.push($??"");break;case"divider":this.sourceParts.push("---");break;case"raw":this.sourceParts.push($??"");break}if(j!=="raw")this.appendLineBreaks();return this}tableOfContents(){return this.sourceParts.push("<!-- __TOC__ -->"),this.hasToC=!0,this.appendLineBreaks(),this}end(){return this.sourceParts.join("").replace("<!-- __TOC__ -->",this.toc.map(({indent:$,raw:Z})=>{return`${" ".repeat($)}- [${Z}](#${Z.toLowerCase().replace(W0,"").replace(Cj,"-")})`}).join(`
|
|
190
|
+
`))}}class fj extends _{onAppend;markdownBase;constructor(j){super();this.onAppend=j.onAppend,this.markdownBase=new B0}get source(){return this.markdownBase.source}get hasToC(){return this.markdownBase.hasToC}get toc(){return this.markdownBase.toc}appendLineBreaks(){return this.markdownBase.appendLineBreaks(),this}append(j,$){return this.markdownBase.append(j,$),this.onAppend?.call(this,j,this),this}tableOfContents(){return this.markdownBase.tableOfContents(),this}end(){return this.markdownBase.end()}}function O0(j,$){let Z=new fj({onAppend:(Q,Y)=>{$.onAppend?.call(null,Q,Y,j)}});return f1(Z,j,$.entryExports),Z.end()}async function R0(j,$){let Z=$?.write!==!1,Q=O0(j,$);if(Z){let Y=C3(process.cwd(),$.outFile);if(await new _({dryRun:$.dryRun}).write(Y,Q),!$.dryRun)c(`created "${$.outFile}".`)}return Q}import{join as c1}from"node:path";var h1=/\.svelte$/;function u1(j){let $=new Map;for(let[Q,Y]of Object.entries(j)){let J=$.get(Y.source)||[];J.push({id:Q,exportee:Y}),$.set(Y.source,J)}let Z=[];for(let[Q,Y]of $){let J=h1.test(Q),K=Y.some(({id:X,exportee:W})=>X!=="default"&&W.default),U=Y.some(({exportee:X})=>!X.default),H=J&&K&&U,z=[],V=[],G=[];for(let{id:X,exportee:W}of Y){if(X==="default"){V.push(`export { default } from "${Q}";`);continue}if(W.default)if(W.mixed)V.push(`export { default as ${X} } from "${Q}";`),V.push(`export { default } from "${Q}";`);else G.push(`default as ${X}`);else if(J&&!H)G.push(`default as ${X}`);else z.push(X)}if(G.length>0&&z.length>0)Z.push(`export { ${[...G,...z].join(", ")} } from "${Q}";`);else{if(z.length>0)Z.push(`export { ${z.join(", ")} } from "${Q}";`);if(G.length>0)Z.push(`export { ${G.join(", ")} } from "${Q}";`)}Z.push(...V)}return Z.join(`
|
|
191
|
+
`)}function m1(j){return j.replace(h1,".svelte.d.ts")}async function L0(j,$){let Z=c1(process.cwd(),$.outDir,"index.d.ts"),Q=new _({dryRun:$.dryRun}),Y=$.preamble+u1($.exports),J=g(j),K=$.format??"class",U=J.components.map(async(H)=>{let z=m1(c1($.outDir,H.filePath)),V=$.resolvedPathByModule?.get(H.moduleName),G=V?$.cache?.getGeneratedText(V,K):void 0;if(G===void 0){if(G=X0(H,{format:$.format}),V)$.cache?.setGeneratedText(V,K,G)}await Q.write(z,G)});if(await Promise.all([...U,Q.write(Z,`${Y}
|
|
192
|
+
`)]),!$.dryRun)c("created TypeScript definitions.")}t({name:"json",componentSet:"exported",write:K0});t({name:"markdown",componentSet:"exported",write:R0});t({name:"types",componentSet:"all",write:L0});t({name:"custom-elements",componentSet:"exported",write:Z0});var E3=50,P3=/\.svelte$/;function v3(j){let $=j?.watch===!0,Z,Q,Y=null,J,K=new Set,U=async()=>{if(Y==null||Q==null||K.size===0)return;let z=Array.from(K);K.clear();try{let{result:V}=await Y.update(z);await qj(V,j||{},Q)}catch(V){console.error("sveld: failed to regenerate types in watch mode:",V)}},H=(z)=>{if(!$||Y==null||!P3.test(z))return;K.add(z),clearTimeout(J),J=setTimeout(U,E3)};return{name:"vite-plugin-sveld",apply:$?void 0:"build",enforce:"post",async buildStart(){if(Q=Sj(j?.entry),$&&Q!=null)Y=await q1(Q,j?.glob===!0,j?.documentExports===!0),await qj(Y.result,j||{},Q)},async generateBundle(){if($)return;if(Q!=null)Z=await zj(Q,j?.glob===!0,Yj(j))},async writeBundle(){if($)return;if(Q!=null)await qj(Z,j||{},Q),Z.cache?.save()},handleHotUpdate(z){H(z.file)},watchChange(z){H(z)}}}function hj(j,$,Z){let Q=dj(j);if(!Q)throw Error(`sveld: built-in writer "${j}" is not registered.`);return Q.write($,Z)}async function qj(j,$,Z){let Q=d1(Z),Y=$?.dryRun===!0;if($?.types!==!1)await hj("types",j.allComponentsForTypes,{outDir:"types",preamble:"",...$?.typesOptions,exports:j.exports,inputDir:Q,dryRun:Y,cache:j.cache,resolvedPathByModule:j.resolvedPathByModule});if($?.json)await hj("json",j.components,{outFile:"COMPONENT_API.json",...$?.jsonOptions,input:Z,inputDir:Q,entryExports:j.entryExports,dryRun:Y});if($?.markdown)await hj("markdown",j.components,{outFile:"COMPONENT_INDEX.md",...$?.markdownOptions,entryExports:j.entryExports,dryRun:Y});if($?.customElements)await hj("custom-elements",j.components,{outFile:"custom-elements.json",...$?.customElementsOptions,inputDir:Q,dryRun:Y});let J=Object.entries($?.additionalWriters??{}).map(([K,U])=>{let H=dj(K);if(!H){console.warn(`sveld: no writer registered with name "${K}"; skipping.`);return}let z=H.componentSet==="all"?j.allComponentsForTypes:j.components;return H.write(z,U)});await Promise.all(J)}async function l1(j,$,Z){let Q=d1(Z);if($?.json){let Y={...$?.jsonOptions,inputDir:Q,entryExports:j.entryExports},J=$.stdout==="ndjson"?k1(j.components,Y):J0(j.components,Y);process.stdout.write(J);return}if($?.markdown){let Y=O0(j.components,{...$?.markdownOptions,entryExports:j.entryExports});process.stdout.write(Y);return}if($?.customElements){let Y=$0(j.components,{...$?.customElementsOptions,inputDir:Q});process.stdout.write(Y)}}import{existsSync as f3}from"node:fs";import{join as h3}from"node:path";var I0="src/index.js",N={SUCCESS:0,USAGE_ERROR:1,GENERATION_FAILURE:2,BREAKING_CHANGE:3,DIAGNOSTICS:4},u3=`Usage: sveld [options]
|
|
193
|
+
|
|
194
|
+
Generate TypeScript definitions and component documentation for a Svelte
|
|
195
|
+
library. With no flags, only TypeScript definitions are generated for the
|
|
196
|
+
entry resolved from package.json#svelte.
|
|
197
|
+
|
|
198
|
+
--entry, --cache, --check, and --types-format accept their value as
|
|
199
|
+
--flag=value or as a separate --flag value argument.
|
|
200
|
+
|
|
201
|
+
Options:
|
|
202
|
+
--entry=<path> Entry point to uncompiled Svelte source (default: package.json "svelte" field)
|
|
203
|
+
--glob Analyze all *.svelte files instead of the entry barrel
|
|
204
|
+
--types Generate TypeScript definitions (default: true)
|
|
205
|
+
--json Generate component documentation in JSON format
|
|
206
|
+
--markdown Generate component documentation in Markdown format
|
|
207
|
+
--custom-elements Generate a Custom Elements Manifest (custom-elements.json)
|
|
208
|
+
--fail-fast Abort the run when a single component fails to parse
|
|
209
|
+
--dry-run Resolve, parse, and print "would write" lines for each output file instead of writing anything (including the parse cache)
|
|
210
|
+
--quiet Suppress progress logs (errors, the diagnostics summary, and the --check report are unaffected)
|
|
211
|
+
--stdout[=json|ndjson] Print the document from exactly one of --json, --markdown, or --custom-elements to stdout and write nothing to disk (rejects --types and --check); --stdout=ndjson prints one JSON object per component per line and requires --json
|
|
212
|
+
--cache[=<path>] Persist parsed output and skip re-parsing unchanged files (on by default, default path: node_modules/.cache/sveld/parse-cache.json; pass --cache=false to disable)
|
|
213
|
+
--resolve-types Expand opaque imported $props() types into JSON (alias: --resolveTypes, deprecated)
|
|
214
|
+
--check-examples Compile-check @example blocks against the TypeScript program (alias: --checkExamples, deprecated)
|
|
215
|
+
--report-diagnostics Print unresolved-type diagnostics to stderr
|
|
216
|
+
--strict Exit with code 1 when diagnostics exist (implies --report-diagnostics)
|
|
217
|
+
--types-format=<format> ".d.ts" output format: "class" (default) or "component" (Svelte 5 Component<...>)
|
|
218
|
+
--check[=<path>] Diff the parsed API against a committed snapshot; exit 1 on a breaking change (default path: COMPONENT_API.json)
|
|
219
|
+
--format=<text|json> Output format for the --check report and the diagnostics summary (default: text)
|
|
220
|
+
--help Print this help message and exit
|
|
221
|
+
--version Print the installed sveld version and exit
|
|
222
|
+
|
|
223
|
+
Exit codes:
|
|
224
|
+
0 success
|
|
225
|
+
1 usage or configuration error
|
|
226
|
+
2 generation failure
|
|
227
|
+
3 breaking API change detected by --check
|
|
228
|
+
4 diagnostics present under --strict
|
|
229
|
+
`,M0={resolveTypes:"resolve-types",checkExamples:"check-examples"},m3=["help","version","glob","types","json","markdown","quiet","stdout","custom-elements","strict","report-diagnostics","resolve-types","check-examples","fail-fast","entry","cache","check","types-format","format"],c3=[...m3,...Object.keys(M0)],d3=new Set(["glob","types","json","markdown","quiet","custom-elements","strict","report-diagnostics","resolve-types","check-examples","fail-fast"]),l3=new Set(["entry","cache","check","types-format"]),i3=new Set(["entry","types-format"]),p3=3;function s3(j,$){let Z=j.length+1,Q=$.length+1,Y=Array.from({length:Z},()=>Array(Q).fill(0));for(let J=0;J<Z;J++)Y[J][0]=J;for(let J=0;J<Q;J++)Y[0][J]=J;for(let J=1;J<Z;J++)for(let K=1;K<Q;K++){let U=j[J-1]===$[K-1]?0:1;Y[J][K]=Math.min(Y[J-1][K]+1,Y[J][K-1]+1,Y[J-1][K-1]+U)}return Y[Z-1][Q-1]}function a3(j){let $,Z=Number.POSITIVE_INFINITY;for(let Q of c3){let Y=s3(j,Q);if(Y<Z)$=Q,Z=Y}if($===void 0||Z>p3)return;return M0[$]??$}function r3(j,$){let Z=j.indexOf("="),Q=Z===-1?j.slice(2):j.slice(2,Z),Y=M0[Q]??Q,J=Z===-1?!0:j.slice(Z+1),K=!1;if(Z===-1&&l3.has(Y)){if($!==void 0&&!$.startsWith("--"))J=$,K=!0;else if(i3.has(Y))return{result:{kind:"usage-error",message:`sveld: --${Y} requires a value (pass --${Y}=<value> or --${Y} <value>).`},consumedNext:!1,flag:Y}}return{result:n3(Y,J,j,Q),consumedNext:K,flag:Y}}function n3(j,$,Z,Q){switch(j){case"help":return{kind:"help"};case"version":return{kind:"version"};case"glob":case"types":case"json":case"markdown":case"quiet":return{kind:"option",option:{[j]:$===!0||$==="true"}};case"stdout":if($===!0||$==="true")return{kind:"option",option:{stdout:!0}};if($==="false")return{kind:"option",option:{stdout:!1}};return{kind:"option",option:{stdout:$}};case"custom-elements":return{kind:"option",option:{customElements:$===!0||$==="true"}};case"strict":return{kind:"option",option:{strict:$===!0||$==="true"}};case"report-diagnostics":return{kind:"option",option:{reportDiagnostics:$===!0||$==="true"}};case"resolve-types":return{kind:"option",option:{resolveTypes:$===!0||$==="true"}};case"check-examples":return{kind:"option",option:{checkExamples:$===!0||$==="true"}};case"fail-fast":return{kind:"option",option:{failFast:$===!0||$==="true"}};case"dry-run":return{kind:"option",option:{dryRun:$===!0||$==="true"}};case"entry":return typeof $==="string"?{kind:"option",option:{entry:$}}:{kind:"option",option:{}};case"cache":if($==="false")return{kind:"option",option:{cache:!1}};return{kind:"option",option:{cache:typeof $==="string"?$:!0}};case"check":if($==="false")return{kind:"option",option:{check:!1}};return{kind:"option",option:{check:typeof $==="string"?$:!0}};case"types-format":return typeof $==="string"?{kind:"option",option:{typesOptions:{format:$}}}:{kind:"option",option:{}};case"format":return typeof $==="string"?{kind:"option",option:{format:$}}:{kind:"option",option:{}};default:return{kind:"unknown",arg:Z,suggestion:a3(Q)}}}function t3(j){let $={},Z=!1;for(let Q=0;Q<j.length;Q++){let Y=j[Q];if(!Y.startsWith("--"))return{kind:"unknown",arg:Y,positionalHint:Z?!0:void 0};let{result:J,consumedNext:K,flag:U}=r3(Y,j[Q+1]);if(J.kind!=="option")return J;if(Object.assign($,J.option),Z=d3.has(U),K)Q++}return{kind:"options",options:$}}async function n6(j){let $=t3(j.argv.slice(2));if($.kind==="help"){console.log(u3);return}if($.kind==="version"){console.log(D0.version);return}if($.kind==="usage-error"){console.error($.message),j.exitCode=N.USAGE_ERROR;return}if($.kind==="unknown"){let X=`Unknown flag: ${$.arg}`;if($.suggestion)X+=` Did you mean --${$.suggestion}?`;if($.positionalHint)X+=" (values are passed as --flag=value or --flag value)";console.error(X),console.error("Run sveld --help for a list of available flags."),j.exitCode=N.USAGE_ERROR;return}let Z=$.options,Q=await g0(),Y=C0(Q,Z);if(Q.typesOptions||Z.typesOptions)Y.typesOptions={...Q.typesOptions,...Z.typesOptions};if(Y.stdout){if(Y.stdout!==!0&&Y.stdout!=="json"&&Y.stdout!=="ndjson"){console.error(`sveld: --stdout must be "json" or "ndjson"; got "${Y.stdout}".`),j.exitCode=N.USAGE_ERROR;return}if([Y.json,Y.markdown,Y.customElements].filter(Boolean).length!==1){console.error("sveld: --stdout requires exactly one of --json, --markdown, or --custom-elements."),j.exitCode=N.USAGE_ERROR;return}if(Y.stdout==="ndjson"&&!Y.json){console.error("sveld: --stdout=ndjson is only valid with --json."),j.exitCode=N.USAGE_ERROR;return}if(Y.types===!0){console.error("sveld: --stdout cannot be combined with --types; type definitions span multiple files."),j.exitCode=N.USAGE_ERROR;return}if(Y.check){console.error("sveld: --stdout cannot be combined with --check; both write their document to stdout."),j.exitCode=N.USAGE_ERROR;return}}if(Y.format!==void 0&&Y.format!=="text"&&Y.format!=="json"){console.error(`sveld: --format must be "text" or "json"; got "${Y.format}".`),j.exitCode=N.USAGE_ERROR;return}X1(Y.quiet===!0);let J=Sj(Y.entry),K;if(J!==null)K=J;else if(f3(h3(j.cwd(),I0)))console.error(`sveld: could not resolve an entry point; falling back to "${I0}". Set package.json#svelte (or pass --entry) to avoid relying on this fallback.`),K=o(w(I0));else{j.exitCode=N.USAGE_ERROR;return}let U,H;try{if(U=await zj(K,Y.glob===!0,Yj(Y)),Y.check)H=await N0(U.components,_0(Y),{entryExports:U.entryExports});if(Y.stdout)await l1(U,Y,K);else if(await qj(U,Y,K),!Y.dryRun)U.cache?.save()}catch(X){console.error(X instanceof Error?X.message:String(X)),j.exitCode=N.GENERATION_FAILURE;return}let{diagnostics:z}=U;if((Y.reportDiagnostics||Y.strict)&&z.length>0)if(Y.format==="json")j.stderr.write(P0(z));else console.error(E0(z));if(H)if(Y.format==="json")j.stdout.write(x0(H));else console.log(y0(H));let G;if(H?.bump==="major")G=N.BREAKING_CHANGE;if(Y.strict&&z.length>0)G=G===void 0?N.DIAGNOSTICS:Math.min(G,N.DIAGNOSTICS);if(G!==void 0)j.exitCode=G}
|
|
230
|
+
export{g as a,z2 as b,_0 as c,N0 as d,y0 as e,x0 as f,E0 as g,Sj as h,k4 as i,g0 as j,C0 as k,Yj as l,zj as m,t as n,dj as o,O4 as p,v3 as q,qj as r,n6 as s};
|