@ripple-ts/typescript-plugin 0.2.173 → 0.2.175

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/dist/index.js ADDED
@@ -0,0 +1,9 @@
1
+ var e=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),t=e((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.binarySearch=t;function t(e,t){let n=0,r=e.length-1,i;for(;n<=r;){let a=Math.floor((n+r)/2),o=e[a];if(o<t)n=a+1;else if(o>t)r=a-1;else{n=a,r=a,i=a;break}}return{low:Math.max(Math.min(n,r,e.length-1),0),high:Math.min(Math.max(n,r,0),e.length-1),match:i}}})),n=e((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.translateOffset=n;let t=!1;function n(e,n,r,i,a=i){if(!n.every((e,t)=>t===0||n[t-1]<=e)){for(let t=0;t<n.length;t++){let o=n[t],s=i[t];if(e>=o&&e<=o+s){let n=a[t];return r[t]+Math.min(e-o,n)}}t||(t=!0,console.warn(`fromOffsets should be sorted in ascending order`))}let o=0,s=n.length-1;for(;o<=s;){let t=Math.floor((o+s)/2),c=n[t],l=i[t];if(e>=c&&e<=c+l){let n=a[t];return r[t]+Math.min(e-c,n)}else e<c?s=t-1:o=t+1}}})),r=e((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.SourceMap=void 0;let r=t(),i=n();e.SourceMap=class{constructor(e){this.mappings=e}toSourceRange(e,t,n,r){return this.findMatchingStartEnd(e,t,n,`generatedOffsets`,r)}toGeneratedRange(e,t,n,r){return this.findMatchingStartEnd(e,t,n,`sourceOffsets`,r)}toSourceLocation(e,t){return this.findMatchingOffsets(e,`generatedOffsets`,t)}toGeneratedLocation(e,t){return this.findMatchingOffsets(e,`sourceOffsets`,t)}*findMatchingOffsets(e,t,n){let o=this.getMemoBasedOnRange(t);if(o.offsets.length===0)return;let{low:s,high:c}=(0,r.binarySearch)(o.offsets,e),l=new Set,u=t==`sourceOffsets`?`generatedOffsets`:`sourceOffsets`;for(let r=s;r<=c;r++)for(let s of o.mappings[r]){if(l.has(s)||(l.add(s),n&&!n(s.data)))continue;let r=(0,i.translateOffset)(e,s[t],s[u],a(s,t),a(s,u));r!==void 0&&(yield[r,s])}}*findMatchingStartEnd(e,t,n,r,o){let s=r==`sourceOffsets`?`generatedOffsets`:`sourceOffsets`,c=[],l=!1;for(let[n,u]of this.findMatchingOffsets(e,r)){if(o&&!o(u.data))continue;c.push([n,u]);let e=(0,i.translateOffset)(t,u[r],u[s],a(u,r),a(u,s));e!==void 0&&(l=!0,yield[n,e,u,u])}if(!l&&n){for(let[e,n]of c)for(let[i,a]of this.findMatchingOffsets(t,r))if(!(o&&!o(a.data)||i<e)){yield[e,i,n,a];break}}}getMemoBasedOnRange(e){return e===`sourceOffsets`?this.sourceCodeOffsetsMemo??=this.createMemo(`sourceOffsets`):this.generatedCodeOffsetsMemo??=this.createMemo(`generatedOffsets`)}createMemo(e){let t=new Set;for(let n of this.mappings)for(let r=0;r<n[e].length;r++)t.add(n[e][r]),t.add(n[e][r]+a(n,e)[r]);let n=[...t].sort((e,t)=>e-t),i=n.map(()=>new Set);for(let t of this.mappings)for(let o=0;o<t[e].length;o++){let s=(0,r.binarySearch)(n,t[e][o]).match,c=(0,r.binarySearch)(n,t[e][o]+a(t,e)[o]).match;for(let e=s;e<=c;e++)i[e].add(t)}return{offsets:n,mappings:i}}};function a(e,t){return t==`sourceOffsets`?e.lengths:e.generatedLengths??e.lengths}})),i=e((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),i=e&&e.__exportStar||function(e,n){for(var r in e)r!==`default`&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(e,`__esModule`,{value:!0}),i(r(),e),i(n(),e)})),a=e((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.isHoverEnabled=t,e.isInlayHintsEnabled=n,e.isCodeLensEnabled=r,e.isMonikerEnabled=i,e.isInlineValueEnabled=a,e.isSemanticTokensEnabled=o,e.isCallHierarchyEnabled=s,e.isTypeHierarchyEnabled=c,e.isRenameEnabled=l,e.isDefinitionEnabled=u,e.isTypeDefinitionEnabled=d,e.isReferencesEnabled=f,e.isImplementationEnabled=p,e.isHighlightEnabled=m,e.isSymbolsEnabled=h,e.isFoldingRangesEnabled=g,e.isSelectionRangesEnabled=_,e.isLinkedEditingEnabled=v,e.isColorEnabled=y,e.isDocumentLinkEnabled=b,e.isDiagnosticsEnabled=x,e.isCodeActionsEnabled=S,e.isFormattingEnabled=C,e.isCompletionEnabled=w,e.isAutoInsertEnabled=T,e.isSignatureHelpEnabled=E,e.shouldReportDiagnostics=D,e.resolveRenameNewName=O,e.resolveRenameEditText=k,e.findOverlapCodeRange=A;function t(e){return!!e.semantic}function n(e){return!!e.semantic}function r(e){return!!e.semantic}function i(e){return!!e.semantic}function a(e){return!!e.semantic}function o(e){return typeof e.semantic==`object`?e.semantic.shouldHighlight?.()??!0:!!e.semantic}function s(e){return!!e.navigation}function c(e){return!!e.navigation}function l(e){return typeof e.navigation==`object`?e.navigation.shouldRename?.()??!0:!!e.navigation}function u(e){return!!e.navigation}function d(e){return!!e.navigation}function f(e){return!!e.navigation}function p(e){return!!e.navigation}function m(e){return typeof e.navigation==`object`?e.navigation.shouldHighlight?.()??!0:!!e.navigation}function h(e){return!!e.structure}function g(e){return!!e.structure}function _(e){return!!e.structure}function v(e){return!!e.structure}function y(e){return!!e.structure}function b(e){return!!e.structure}function x(e){return!!e.verification}function S(e){return!!e.verification}function C(e){return!!e.format}function w(e){return!!e.completion}function T(e){return!!e.completion}function E(e){return!!e.completion}function D(e,t,n){return typeof e.verification==`object`?e.verification.shouldReport?.(t,n)??!0:!!e.verification}function O(e,t){return typeof t.navigation==`object`?t.navigation.resolveRenameNewName?.(e)??e:e}function k(e,t){return typeof t.navigation==`object`?t.navigation.resolveRenameEditText?.(e)??e:e}function A(e,t,n,r){let i,a;for(let[t,a]of n.toGeneratedLocation(e))if(r(a.data)){i=t;break}for(let[e,i]of n.toGeneratedLocation(t))if(r(i.data)){a=e;break}if(i===void 0||a===void 0){for(let o of n.mappings)if(r(o.data)){let n=o.sourceOffsets[0],r=j(e,t,n,o.sourceOffsets[o.sourceOffsets.length-1]+o.lengths[o.lengths.length-1]);if(r){let e=r.start-n+o.generatedOffsets[0],t=(o.generatedLengths??o.lengths)[o.generatedOffsets.length-1],s=Math.min(r.end-o.sourceOffsets[o.sourceOffsets.length-1],t),c=o.generatedOffsets[o.generatedOffsets.length-1]+s;i=i===void 0?e:Math.min(i,e),a=a===void 0?c:Math.max(a,c)}}}if(i!==void 0&&a!==void 0)return{start:i,end:a}}function j(e,t,n,r){let i=Math.max(e,n),a=Math.min(t,r);if(!(i>a))return{start:i,end:a}}})),o=e((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.LinkedCodeMap=void 0;let t=i();e.LinkedCodeMap=class extends t.SourceMap{*getLinkedOffsets(e){for(let t of this.toGeneratedLocation(e))yield t[0];for(let t of this.toSourceLocation(e))yield t[0]}}})),s=e((e=>{Object.defineProperty(e,`__esModule`,{value:!0})})),c=e((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.FileMap=void 0,e.FileMap=class extends Map{constructor(e){super(),this.caseSensitive=e,this.originalFileNames=new Map}keys(){return this.originalFileNames.values()}get(e){return super.get(this.normalizeId(e))}has(e){return super.has(this.normalizeId(e))}set(e,t){return this.originalFileNames.set(this.normalizeId(e),e),super.set(this.normalizeId(e),t)}delete(e){return this.originalFileNames.delete(this.normalizeId(e)),super.delete(this.normalizeId(e))}clear(){return this.originalFileNames.clear(),super.clear()}normalizeId(e){return this.caseSensitive?e:e.toLowerCase()}}})),l=e((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__exportStar||function(e,n){for(var r in e)r!==`default`&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(e,`__esModule`,{value:!0}),e.defaultMapperFactory=e.SourceMap=void 0,e.createLanguage=d,e.forEachEmbeddedCode=f;var r=i();Object.defineProperty(e,`SourceMap`,{enumerable:!0,get:function(){return r.SourceMap}}),n(a(),e),n(o(),e),n(s(),e),n(c(),e);let l=i(),u=o();e.defaultMapperFactory=e=>new l.SourceMap(e);function d(t,n,r,i){let a=new WeakMap,o=new WeakMap,s=new WeakMap,c={mapperFactory:e.defaultMapperFactory,plugins:t,scripts:{fromVirtualCode(e){return a.get(e)},get(e,t=!0,i=!1){r(e,t,i);let a=n.get(e);return a?.isAssociationDirty&&this.set(e,a.snapshot,a.languageId),n.get(e)},set(e,r,i,o=t){if(!i){for(let n of t)if(i=n.getLanguageId?.(e),i)break}if(!i){console.warn(`languageId not found for ${e}`);return}let s=!1;for(let n of t)if(n.isAssociatedFileOnly?.(e,i)){s=!0;break}if(n.has(e)){let t=n.get(e);if(t.languageId!==i||t.associatedOnly!==s)return this.delete(e),l(t),this.set(e,r,i);if(s)t.snapshot!==r&&(t.snapshot=r,l(t));else if(t.isAssociationDirty||t.snapshot!==r){t.snapshot!==r&&(t.snapshot=r,l(t));let n=d(t);if(t.generated){let{updateVirtualCode:o,createVirtualCode:s}=t.generated.languagePlugin,c=o?o(e,t.generated.root,r,n):s?.(e,i,r,n);if(c){t.generated.root=c,t.generated.embeddedCodes.clear();for(let e of f(t.generated.root))a.set(e,t),t.generated.embeddedCodes.set(e.id,e);return t}else{this.delete(e);return}}}else return t}else{let t={id:e,languageId:i,snapshot:r,associatedIds:new Set,targetIds:new Set,associatedOnly:s};if(n.set(e,t),s)return t;for(let n of o){let o=n.createVirtualCode?.(e,i,r,d(t));if(o){t.generated={root:o,languagePlugin:n,embeddedCodes:new Map};for(let e of f(o))a.set(e,t),t.generated.embeddedCodes.set(e.id,e);break}}return t}},delete(e){let t=n.get(e);t&&(t.generated?.languagePlugin.disposeVirtualCode?.(e,t.generated.root),n.delete(e),l(t))}},maps:{get(e,t){let n=o.get(e.snapshot);if(n||o.set(e.snapshot,n=new WeakMap),!n.has(t.snapshot)){let r=e.associatedScriptMappings?.get(t.id)??e.mappings;n.set(t.snapshot,c.mapperFactory(r))}return n.get(t.snapshot)},*forEach(e){let t=a.get(e);if(yield[t,this.get(e,t)],e.associatedScriptMappings)for(let[t]of e.associatedScriptMappings){let r=n.get(t);r&&(yield[r,this.get(e,r)])}}},linkedCodeMaps:{get(e){let t=a.get(e),n=s.get(e.snapshot);return n?.[0]!==t.snapshot&&s.set(e.snapshot,n=[t.snapshot,e.linkedCodeMappings?new u.LinkedCodeMap(e.linkedCodeMappings):void 0]),n[1]}}};return c;function l(e){e.targetIds.forEach(e=>{let t=n.get(e);t&&(t.isAssociationDirty=!0,i?.(t.id))})}function d(e){for(let t of e.associatedIds)n.get(t)?.targetIds.delete(e.id);return e.associatedIds.clear(),e.isAssociationDirty=!1,{getAssociatedScript(t){r(t,!0,!0);let i=n.get(t);return i&&(i.targetIds.add(e.id),e.associatedIds.add(i.id)),i}}}}function*f(e){if(yield e,e.embeddedCodes)for(let t of e.embeddedCodes)yield*f(t)}})),u=e((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.dedupeDocumentSpans=t;function t(e){return n(e,e=>[e.fileName,e.textSpan.start,e.textSpan.length].join(`:`))}function n(e,t){let n=new Map;for(let r of e.reverse())n.set(t(r),r);return[...n.values()]}})),d=e((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.getServiceScript=t;function t(e,t){let n=e.scripts.get(t);if(n?.targetIds.size)for(let t of n.targetIds){let r=e.scripts.get(t);if(r?.generated){let e=r.generated.languagePlugin.typescript?.getServiceScript(r.generated.root);if(e)return[e,r,n]}}if(n?.associatedOnly)return[void 0,n,n];if(n?.generated){let e=n.generated.languagePlugin.typescript?.getServiceScript(n.generated.root);if(e)return[e,n,n]}return[void 0,void 0,void 0]}})),f=e((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.transformCallHierarchyItem=a,e.transformDiagnostic=o,e.fillSourceFileText=s,e.transformFileTextChanges=c,e.transformDocumentSpan=u,e.transformSpan=f,e.transformTextChange=p,e.transformTextSpan=m,e.toSourceOffset=h,e.toSourceRanges=g,e.toSourceOffsets=_,e.toGeneratedRange=v,e.toGeneratedRanges=y,e.toGeneratedOffset=b,e.toGeneratedOffsets=x,e.getMappingOffset=S;let t=l(),n=d(),r=new WeakMap,i=new WeakSet;function a(e,t,n,r){let i=f(e,t.file,t.span,n,r),a=f(e,t.file,t.selectionSpan,n,r);return{...t,file:i?.fileName??t.file,span:i?.textSpan??{start:0,length:0},selectionSpan:a?.textSpan??{start:0,length:0}}}function o(e,i,a,c){if(!r.has(i)){r.set(i,void 0);let{relatedInformation:l}=i;if(l&&(i.relatedInformation=l.map(t=>o(e,t,a,c)).filter(e=>!!e)),i.file!==void 0&&i.start!==void 0&&i.length!==void 0){let[o]=(0,n.getServiceScript)(e,i.file.fileName);if(o){let[n,l]=m(void 0,e,o,{start:i.start,length:i.length},!0,e=>(0,t.shouldReportDiagnostics)(e,String(i.source),String(i.code)))??[],u=n?i.file.fileName===n?i.file:a?.getSourceFile(n):void 0;l&&u&&(c&&s(e,i.file),r.set(i,{...i,file:u,start:l.start,length:l.length}))}else r.set(i,i)}else r.set(i,i)}return r.get(i)}function s(e,t){if(i.has(t))return;i.add(t);let[r]=(0,n.getServiceScript)(e,t.fileName);if(r&&!r.preventLeadingOffset){let n=e.scripts.fromVirtualCode(r.code);t.text=n.snapshot.getText(0,n.snapshot.getLength())+t.text.substring(n.snapshot.getLength())}}function c(e,t,r,i){let a={},o=new Set;for(let s of t){let[t,c]=(0,n.getServiceScript)(e,s.fileName);if(c)s.textChanges.forEach(t=>{let{fileName:n,textSpan:o}=f(e,s.fileName,t.span,r,i)??{};n&&o&&(a[n]??(a[n]=[])).push({...t,span:o})});else{let e=a[s.fileName]??(a[s.fileName]=[]);s.textChanges.forEach(t=>{e.push(t)}),s.isNewFile&&o.add(s.fileName)}}let s=[];for(let e in a)s.push({fileName:e,isNewFile:o.has(e),textChanges:a[e]});return s}function u(e,t,n,r,i){let a=f(e,t.fileName,t.textSpan,n,r);if(!a&&i&&(a={fileName:t.fileName,textSpan:{start:0,length:0}}),!a)return;let o=f(e,t.fileName,t.contextSpan,n,r),s=f(e,t.originalFileName,t.originalTextSpan,n,r),c=f(e,t.originalFileName,t.originalContextSpan,n,r);return{...t,fileName:a.fileName,textSpan:a.textSpan,contextSpan:o?.textSpan,originalFileName:s?.fileName,originalTextSpan:s?.textSpan,originalContextSpan:c?.textSpan}}function f(e,t,r,i,a){if(!t||!r)return;let[o]=(0,n.getServiceScript)(e,t);if(o){let[t,n]=m(void 0,e,o,r,i,a)??[];if(n&&t)return{fileName:t,textSpan:n}}else return{fileName:t,textSpan:r}}function p(e,t,n,r,i,a){let[o,s]=m(e,t,n,r.span,i,a)??[];if(s&&o)return[o,{newText:r.newText,span:s}]}function m(e,t,n,r,i,a){let o=r.start,s=r.start+r.length;for(let[r,c,l]of g(e,t,n,o,s,i,a))return[r,{start:c,length:l-c}]}function h(e,t,n,r,i){for(let a of _(e,t,n,r,i))return a}function*g(e,t,n,r,i,a,o){if(e){let s=t.maps.get(n.code,e);for(let[c,l]of s.toSourceRange(r-S(t,n),i-S(t,n),a,o))yield[e.id,c,l]}else for(let[e,s]of t.maps.forEach(n.code))for(let[c,l]of s.toSourceRange(r-S(t,n),i-S(t,n),a,o))yield[e.id,c,l]}function*_(e,t,n,r,i){if(e){let a=t.maps.get(n.code,e);for(let[o,s]of a.toSourceLocation(r-S(t,n)))i(s.data)&&(yield[e.id,o])}else for(let[e,a]of t.maps.forEach(n.code))for(let[o,s]of a.toSourceLocation(r-S(t,n)))i(s.data)&&(yield[e.id,o])}function v(e,t,n,r,i,a){for(let o of y(e,t,n,r,i,a))return o}function*y(e,t,n,r,i,a){let o=e.maps.get(t.code,n);for(let[n,s]of o.toGeneratedRange(r,i,!0,a))yield[n+S(e,t),s+S(e,t)]}function b(e,t,n,r,i){for(let[a]of x(e,t,n,r,i))return a}function*x(e,t,n,r,i){let a=e.maps.get(t.code,n);for(let[n,o]of a.toGeneratedLocation(r))i(o.data)&&(yield[n+S(e,t),o])}function S(e,t){return t.preventLeadingOffset?0:e.scripts.fromVirtualCode(t.code).snapshot.getLength()}})),p=e((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.createProxyLanguageService=o;let t=l(),n=u(),r=f(),i=d(),a=/\\/g;function o(e){let t=new Map,n;return{initialize(t){n=(n,r)=>{switch(r){case`getNavigationTree`:return s(t,n[r]);case`getOutliningSpans`:return c(t,n[r]);case`getFormattingEditsForDocument`:return p(t,n[r]);case`getFormattingEditsForRange`:return m(t,n[r]);case`getFormattingEditsAfterKeystroke`:return h(t,n[r]);case`getEditsForFileRename`:return g(t,n[r]);case`getLinkedEditingRangeAtPosition`:return _(t,n[r]);case`prepareCallHierarchy`:return v(t,n[r]);case`provideCallHierarchyIncomingCalls`:return y(t,n[r]);case`provideCallHierarchyOutgoingCalls`:return b(t,n[r]);case`organizeImports`:return x(t,n[r]);case`getQuickInfoAtPosition`:return S(t,n[r]);case`getSignatureHelpItems`:return C(t,n[r]);case`getDocumentHighlights`:return w(t,n[r]);case`getApplicableRefactors`:return T(t,n[r]);case`getEditsForRefactor`:return E(t,n[r]);case`getCombinedCodeFix`:return D(t,n[r]);case`getRenameInfo`:return O(t,n[r]);case`getCodeFixesAtPosition`:return k(t,n[r]);case`getEncodedSemanticClassifications`:return A(t,n[r]);case`getSyntacticDiagnostics`:return j(t,e,n[r]);case`getSemanticDiagnostics`:return M(t,e,n[r]);case`getSuggestionDiagnostics`:return N(t,e,n[r]);case`getDefinitionAndBoundSpan`:return P(t,n[r]);case`findReferences`:return F(t,n[r]);case`getDefinitionAtPosition`:return I(t,n[r]);case`getTypeDefinitionAtPosition`:return L(t,n[r]);case`getImplementationAtPosition`:return R(t,n[r]);case`findRenameLocations`:return z(t,n[r]);case`getReferencesAtPosition`:return B(t,n[r]);case`getCompletionsAtPosition`:return V(t,n[r]);case`getCompletionEntryDetails`:return H(t,n[r]);case`provideInlayHints`:return U(t,n[r]);case`getFileReferences`:return W(t,n[r]);case`getNavigateToItems`:return G(t,n[r])}}},proxy:new Proxy(e,{get(e,r,i){if(n){t.has(r)||t.set(r,n(e,r));let i=t.get(r);if(i)return i}return Reflect.get(e,r,i)},set(e,t,n,r){return Reflect.set(e,t,n,r)}})}}function s(e,t){return n=>{let r=n.replace(a,`/`),[o,s]=(0,i.getServiceScript)(e,r);if(o||s?.associatedOnly){let e=t(s.id);return e.childItems=void 0,e}else return t(r)}}function c(e,t){return n=>{let r=n.replace(a,`/`),[o,s]=(0,i.getServiceScript)(e,r);return o||s?.associatedOnly?[]:t(r)}}function p(e,n){return(o,s)=>{let c=o.replace(a,`/`),[l,u,d]=(0,i.getServiceScript)(e,c);return u?.associatedOnly?[]:l?e.maps.get(l.code,u).mappings.some(e=>(0,t.isFormattingEnabled)(e.data))?n(u.id,s).map(n=>(0,r.transformTextChange)(d,e,l,n,!1,t.isFormattingEnabled)?.[1]).filter(e=>!!e):[]:n(c,s)}}function m(e,n){return(o,s,c,l)=>{let u=o.replace(a,`/`),[d,f,p]=(0,i.getServiceScript)(e,u);if(f?.associatedOnly)return[];if(d){let i=(0,r.toGeneratedRange)(e,d,p,s,c,t.isFormattingEnabled);return i===void 0?[]:n(f.id,i[0],i[1],l).map(n=>(0,r.transformTextChange)(p,e,d,n,!1,t.isFormattingEnabled)?.[1]).filter(e=>!!e)}else return n(u,s,c,l)}}function h(e,n){return(o,s,c,l)=>{let u=o.replace(a,`/`),[d,f,p]=(0,i.getServiceScript)(e,u);if(f?.associatedOnly)return[];if(d){let i=(0,r.toGeneratedOffset)(e,d,p,s,t.isFormattingEnabled);return i===void 0?[]:n(f.id,i,c,l).map(n=>(0,r.transformTextChange)(p,e,d,n,!1,t.isFormattingEnabled)?.[1]).filter(e=>!!e)}else return n(u,s,c,l)}}function g(e,n){return(i,a,o,s)=>{let c=n(i,a,o,s);return(0,r.transformFileTextChanges)(e,c,!1,t.isRenameEnabled)}}function _(e,n){return(o,s)=>{let c=o.replace(a,`/`),[l,u,d]=(0,i.getServiceScript)(e,c);if(!u?.associatedOnly)if(l){let i=(0,r.toGeneratedOffset)(e,l,d,s,t.isLinkedEditingEnabled);if(i!==void 0){let a=n(u.id,i);if(a)return{ranges:a.ranges.map(n=>(0,r.transformTextSpan)(d,e,l,n,!1,t.isLinkedEditingEnabled)?.[1]).filter(e=>!!e),wordPattern:a.wordPattern}}}else return n(c,s)}}function v(e,n){return(o,s)=>{let c=o.replace(a,`/`),[l,u,d]=(0,i.getServiceScript)(e,c);if(!u?.associatedOnly)if(l){let i=(0,r.toGeneratedOffset)(e,l,d,s,t.isCallHierarchyEnabled);if(i!==void 0){let a=n(u.id,i);if(Array.isArray(a))return a.map(n=>(0,r.transformCallHierarchyItem)(e,n,!0,t.isCallHierarchyEnabled));if(a)return(0,r.transformCallHierarchyItem)(e,a,!0,t.isCallHierarchyEnabled)}}else return n(c,s)}}function y(e,n){return(o,s)=>{let c=[],l=o.replace(a,`/`),[u,d,f]=(0,i.getServiceScript)(e,l);if(d?.associatedOnly)return[];if(u){let i=(0,r.toGeneratedOffset)(e,u,f,s,t.isCallHierarchyEnabled);i!==void 0&&(c=n(d.id,i))}else c=n(l,s);return c.map(n=>({from:(0,r.transformCallHierarchyItem)(e,n.from,!0,t.isCallHierarchyEnabled),fromSpans:n.fromSpans.map(i=>(0,r.transformSpan)(e,n.from.file,i,!0,t.isCallHierarchyEnabled)?.textSpan).filter(e=>!!e)}))}}function b(e,n){return(o,s)=>{let c=[],l=o.replace(a,`/`),[u,d,f]=(0,i.getServiceScript)(e,l);if(d?.associatedOnly)return[];if(u){let i=(0,r.toGeneratedOffset)(e,u,f,s,t.isCallHierarchyEnabled);i!==void 0&&(c=n(d.id,i))}else c=n(l,s);return c.map(n=>({to:(0,r.transformCallHierarchyItem)(e,n.to,!0,t.isCallHierarchyEnabled),fromSpans:n.fromSpans.map(n=>u?(0,r.transformTextSpan)(f,e,u,n,!0,t.isCallHierarchyEnabled)?.[1]:n).filter(e=>!!e)}))}}function x(e,n){return(i,a,o)=>{let s=n(i,a,o);return(0,r.transformFileTextChanges)(e,s,!1,t.isCodeActionsEnabled)}}function S(e,n){return(o,s,...c)=>{let l=o.replace(a,`/`),[u,d,f]=(0,i.getServiceScript)(e,l);if(!d?.associatedOnly)if(u){let i=[];for(let[a]of(0,r.toGeneratedOffsets)(e,u,f,s,t.isHoverEnabled)){let o=n(d.id,a,...c);if(o){let n=(0,r.transformTextSpan)(f,e,u,o.textSpan,!0,t.isHoverEnabled)?.[1];n&&i.push({...o,textSpan:n})}}if(i.length===1)return i[0];if(i.length>=2){let e={...i[0]};e.displayParts=e.displayParts?.slice(),e.documentation=e.documentation?.slice(),e.tags=e.tags?.slice();let t=new Set([q(i[0].displayParts)]),n=new Set([q(i[0].documentation)]),r=new Set;for(let e of i[0].tags??[])r.add(e.name+`__volar__`+q(e.text));for(let a=1;a<i.length;a++){let{displayParts:o,documentation:s,tags:c}=i[a];o?.length&&!t.has(q(o))&&(t.add(q(o)),e.displayParts??=[],e.displayParts.push({...o[0],text:`
2
+
3
+ `+o[0].text}),e.displayParts.push(...o.slice(1))),s?.length&&!n.has(q(s))&&(n.add(q(s)),e.documentation??=[],e.documentation.push({...s[0],text:`
4
+
5
+ `+s[0].text}),e.documentation.push(...s.slice(1)));for(let t of c??[])r.has(t.name+`__volar__`+q(t.text))||(r.add(t.name+`__volar__`+q(t.text)),e.tags??=[],e.tags.push(t))}return e}}else return n(l,s,...c)}}function C(e,n){return(o,s,c)=>{let l=o.replace(a,`/`),[u,d,f]=(0,i.getServiceScript)(e,l);if(!d?.associatedOnly)if(u){let i=(0,r.toGeneratedOffset)(e,u,f,s,t.isSignatureHelpEnabled);if(i!==void 0){let a=n(d.id,i,c);if(a){let n=(0,r.transformTextSpan)(f,e,u,a.applicableSpan,!0,t.isSignatureHelpEnabled)?.[1];if(n)return{...a,applicableSpan:n}}}}else return n(l,s,c)}}function w(e,n){return(i,o,s)=>K(e,i.replace(a,`/`),o,t.isHighlightEnabled,(e,t)=>n(e,t,s),function*(e){for(let t of e)for(let e of t.highlightSpans)yield[e.fileName??t.fileName,e.textSpan.start]}).flat().map(n=>({...n,highlightSpans:n.highlightSpans.map(i=>{let{textSpan:a}=(0,r.transformSpan)(e,i.fileName??n.fileName,i.textSpan,!1,t.isHighlightEnabled)??{};if(a)return{...i,contextSpan:(0,r.transformSpan)(e,i.fileName??n.fileName,i.contextSpan,!1,t.isHighlightEnabled)?.textSpan,textSpan:a}}).filter(e=>!!e)}))}function T(e,n){return(o,s,c,l,u,d)=>{let f=o.replace(a,`/`),[p,m,h]=(0,i.getServiceScript)(e,f);if(m?.associatedOnly)return[];if(p){if(typeof s==`number`){let i=(0,r.toGeneratedOffset)(e,p,h,s,t.isCodeActionsEnabled);if(i!==void 0)return n(m.id,i,c,l,u,d)}else for(let[i,a]of(0,r.toGeneratedRanges)(e,p,h,s.pos,s.end,t.isCodeActionsEnabled))return n(m.id,{pos:i,end:a},c,l,u,d);return[]}else return n(f,s,c,l,u,d)}}function E(e,n){return(o,s,c,l,u,d,f)=>{let p,m=o.replace(a,`/`),[h,g,_]=(0,i.getServiceScript)(e,m);if(!g?.associatedOnly){if(h)if(typeof c==`number`){let i=(0,r.toGeneratedOffset)(e,h,_,c,t.isCodeActionsEnabled);i!==void 0&&(p=n(g.id,s,i,l,u,d,f))}else for(let[i,a]of(0,r.toGeneratedRanges)(e,h,_,c.pos,c.end,t.isCodeActionsEnabled))p=n(g.id,s,{pos:i,end:a},l,u,d,f);else p=n(m,s,c,l,u,d,f);if(p)return p.edits=(0,r.transformFileTextChanges)(e,p.edits,!1,t.isCodeActionsEnabled),p}}}function D(e,n){return(...i)=>{let a=n(...i);return a.changes=(0,r.transformFileTextChanges)(e,a.changes,!1,t.isCodeActionsEnabled),a}}function O(e,n){return(o,s,c)=>{let l=o.replace(a,`/`),[u,d,f]=(0,i.getServiceScript)(e,l);if(d?.associatedOnly)return{canRename:!1,localizedErrorMessage:`Cannot rename`};if(u){let i;for(let[a]of(0,r.toGeneratedOffsets)(e,u,f,s,t.isRenameEnabled)){let o=n(d.id,a,c);if(o.canRename){let n=(0,r.transformTextSpan)(f,e,u,o.triggerSpan,!1,t.isRenameEnabled)?.[1];if(n)return o.triggerSpan=n,o}else i=o}return i||{canRename:!1,localizedErrorMessage:`Failed to get rename locations`}}else return n(l,s,c)}}function k(e,n){return(o,s,c,l,u,d)=>{let f=[],p=o.replace(a,`/`),[m,h,g]=(0,i.getServiceScript)(e,p);if(h?.associatedOnly)return[];if(m){let i=(0,r.toGeneratedRange)(e,m,g,s,c,t.isCodeActionsEnabled);i!==void 0&&(f=n(h.id,i[0],i[1],l,u,d))}else f=n(p,s,c,l,u,d);return f=f.map(n=>(n.changes=(0,r.transformFileTextChanges)(e,n.changes,!1,t.isCodeActionsEnabled),n)),f}}function A(e,n){return(o,s,c)=>{let l=o.replace(a,`/`),[u,d,f]=(0,i.getServiceScript)(e,l);if(d?.associatedOnly)return{spans:[],endOfLineState:0};if(u){let i=e.maps.get(u.code,d),a=(0,t.findOverlapCodeRange)(s.start,s.start+s.length,i,t.isSemanticTokensEnabled);if(!a)return{spans:[],endOfLineState:0};let o=(0,r.getMappingOffset)(e,u),l=a.start+o,p=a.end+o,m=n(d.id,{start:l,length:p-l},c),h=[];for(let n=0;n<m.spans.length;n+=3)for(let[i,a,o]of(0,r.toSourceRanges)(f,e,u,m.spans[n],m.spans[n]+m.spans[n+1],!1,t.isSemanticTokensEnabled)){h.push(a,o-a,m.spans[n+2]);break}return m.spans=h,m}else return n(l,s,c)}}function j(e,t,n){return o=>{let s=o.replace(a,`/`),[c,l,u]=(0,i.getServiceScript)(e,s);return l?.associatedOnly?[]:n(l?.id??s).map(n=>(0,r.transformDiagnostic)(e,n,t.getProgram(),!1)).filter(e=>!!e).filter(t=>!c||e.scripts.get(t.file.fileName)===u)}}function M(e,t,n){return o=>{let s=o.replace(a,`/`),[c,l,u]=(0,i.getServiceScript)(e,s);return l?.associatedOnly?[]:n(l?.id??s).map(n=>(0,r.transformDiagnostic)(e,n,t.getProgram(),!1)).filter(e=>!!e).filter(t=>!c||!t.file||e.scripts.get(t.file.fileName)===u)}}function N(e,t,n){return o=>{let s=o.replace(a,`/`),[c,l,u]=(0,i.getServiceScript)(e,s);return l?.associatedOnly?[]:n(l?.id??s).map(n=>(0,r.transformDiagnostic)(e,n,t.getProgram(),!1)).filter(e=>!!e).filter(t=>!c||!t.file||e.scripts.get(t.file.fileName)===u)}}function P(e,i){return(o,s)=>{let c=o.replace(a,`/`),l=K(e,c,s,t.isDefinitionEnabled,(e,t)=>i(e,t),function*(e){for(let t of e.definitions??[])yield[t.fileName,t.textSpan.start]}),u=l.map(n=>(0,r.transformSpan)(e,c,n.textSpan,!0,t.isDefinitionEnabled)?.textSpan).filter(e=>!!e)[0];if(!u)return;let d=l.map(n=>n.definitions?.map(n=>(0,r.transformDocumentSpan)(e,n,!0,t.isDefinitionEnabled,n.fileName!==c)).filter(e=>!!e)??[]).flat();return{textSpan:u,definitions:(0,n.dedupeDocumentSpans)(d)}}}function F(e,n){return(i,o)=>K(e,i.replace(a,`/`),o,t.isReferencesEnabled,(e,t)=>n(e,t),function*(e){for(let t of e)for(let e of t.references)yield[e.fileName,e.textSpan.start]}).flat().map(n=>({definition:(0,r.transformDocumentSpan)(e,n.definition,!0,t.isDefinitionEnabled,!0),references:n.references.map(n=>(0,r.transformDocumentSpan)(e,n,!0,t.isReferencesEnabled)).filter(e=>!!e)}))}function I(e,i){return(o,s)=>{let c=o.replace(a,`/`),l=K(e,c,s,t.isDefinitionEnabled,(e,t)=>i(e,t),function*(e){for(let t of e)yield[t.fileName,t.textSpan.start]}).flat().map(n=>(0,r.transformDocumentSpan)(e,n,!0,t.isDefinitionEnabled,n.fileName!==c)).filter(e=>!!e);return(0,n.dedupeDocumentSpans)(l)}}function L(e,i){return(o,s)=>{let c=K(e,o.replace(a,`/`),s,t.isTypeDefinitionEnabled,(e,t)=>i(e,t),function*(e){for(let t of e)yield[t.fileName,t.textSpan.start]}).flat().map(n=>(0,r.transformDocumentSpan)(e,n,!0,t.isTypeDefinitionEnabled)).filter(e=>!!e);return(0,n.dedupeDocumentSpans)(c)}}function R(e,i){return(o,s)=>{let c=K(e,o.replace(a,`/`),s,t.isImplementationEnabled,(e,t)=>i(e,t),function*(e){for(let t of e)yield[t.fileName,t.textSpan.start]}).flat().map(n=>(0,r.transformDocumentSpan)(e,n,!0,t.isImplementationEnabled)).filter(e=>!!e);return(0,n.dedupeDocumentSpans)(c)}}function z(e,i){return(o,s,c,l,u)=>{let d=K(e,o.replace(a,`/`),s,t.isRenameEnabled,(e,t)=>i(e,t,c,l,u),function*(e){for(let t of e)yield[t.fileName,t.textSpan.start]}).flat().map(n=>(0,r.transformDocumentSpan)(e,n,!1,t.isRenameEnabled)).filter(e=>!!e);return(0,n.dedupeDocumentSpans)(d)}}function B(e,i){return(o,s)=>{let c=K(e,o.replace(a,`/`),s,t.isReferencesEnabled,(e,t)=>i(e,t),function*(e){for(let t of e)yield[t.fileName,t.textSpan.start]}).flat().map(n=>(0,r.transformDocumentSpan)(e,n,!0,t.isReferencesEnabled)).filter(e=>!!e);return(0,n.dedupeDocumentSpans)(c)}}function V(e,n){return(o,s,c,l)=>{let u=o.replace(a,`/`),[d,f,p]=(0,i.getServiceScript)(e,u);if(!f?.associatedOnly)if(d){let i,a=[];for(let[o,u]of(0,r.toGeneratedOffsets)(e,d,p,s,t.isCompletionEnabled)){let s=typeof u.data.completion==`object`&&u.data.completion.isAdditional;if(!s&&i?.entries.length)continue;let m=n(f.id,o,c,l);if(m){typeof u.data.completion==`object`&&u.data.completion.onlyImport&&(m.entries=m.entries.filter(e=>!!e.sourceDisplay));for(let n of m.entries)n.replacementSpan=n.replacementSpan&&(0,r.transformTextSpan)(p,e,d,n.replacementSpan,!1,t.isCompletionEnabled)?.[1];m.optionalReplacementSpan=m.optionalReplacementSpan&&(0,r.transformTextSpan)(p,e,d,m.optionalReplacementSpan,!1,t.isCompletionEnabled)?.[1],s?a.push(m):i=m}}let o=a;if(i&&o.unshift(i),o.length)return{...o[0],entries:o.map(e=>e.entries).flat()}}else return n(u,s,c,l)}}function H(e,n){return(o,s,c,l,u,d,f)=>{let p,m=o.replace(a,`/`),[h,g,_]=(0,i.getServiceScript)(e,m);if(!g?.associatedOnly){if(h){let i=(0,r.toGeneratedOffset)(e,h,_,s,t.isCompletionEnabled);i!==void 0&&(p=n(g.id,i,c,l,u,d,f))}else return n(m,s,c,l,u,d,f);if(p?.codeActions)for(let n of p.codeActions)n.changes=(0,r.transformFileTextChanges)(e,n.changes,!1,t.isCompletionEnabled);return p}}}function U(e,n){return(o,s,c)=>{let l=o.replace(a,`/`),[u,d,f]=(0,i.getServiceScript)(e,l);if(d?.associatedOnly)return[];if(u){let i=e.maps.get(u.code,f),a=(0,t.findOverlapCodeRange)(s.start,s.start+s.length,i,t.isSemanticTokensEnabled);if(!a)return[];let o=(0,r.getMappingOffset)(e,u),l=a.start+o,p=a.end+o,m=n(d.id,{start:l,length:p-l},c),h=[];for(let n of m){let i=(0,r.toSourceOffset)(f,e,u,n.position,t.isInlayHintsEnabled);i!==void 0&&h.push({...n,position:i[1]})}return h}else return n(l,s,c)}}function W(e,i){return o=>{let s=i(o.replace(a,`/`)).map(n=>(0,r.transformDocumentSpan)(e,n,!0,t.isReferencesEnabled)).filter(e=>!!e);return(0,n.dedupeDocumentSpans)(s)}}function G(e,i){return(...a)=>{let o=i(...a).map(n=>(0,r.transformDocumentSpan)(e,n,!0,t.isReferencesEnabled)).filter(e=>!!e);return(0,n.dedupeDocumentSpans)(o)}}function K(e,t,n,a,o,s){let c=[],l=new Set,[u,d,f]=(0,i.getServiceScript)(e,t);if(u)for(let[t]of(0,r.toGeneratedOffsets)(e,u,f,n,a))p(d.id,t);else p(t,n);return c;function p(t,n){if(l.has(t+`:`+n))return;l.add(t+`:`+n);let a=o(t,n);if(a){c.push(a);for(let t of s(a)){l.add(t[0]+`:`+t[1]);let[n]=(0,i.getServiceScript)(e,t[0]);if(!n)continue;let a=e.linkedCodeMaps.get(n.code);if(!a)continue;let o=(0,r.getMappingOffset)(e,n);for(let e of a.getLinkedOffsets(t[1]-o))p(t[0],e+o)}}}}function q(e){return e?e.map(e=>e.text).join(``):``}})),m=e((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.resolveFileLanguageId=t;function t(e){switch(e.split(`.`).pop()){case`js`:return`javascript`;case`cjs`:return`javascript`;case`mjs`:return`javascript`;case`ts`:return`typescript`;case`cts`:return`typescript`;case`mts`:return`typescript`;case`jsx`:return`javascriptreact`;case`tsx`:return`typescriptreact`;case`json`:return`json`}}})),h=e((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.createResolveModuleName=t;function t(e,t,n,r,i){let a=new Map,o={readFile:n.readFile.bind(n),directoryExists:n.directoryExists?.bind(n),realpath:n.realpath?.bind(n),getCurrentDirectory:n.getCurrentDirectory?.bind(n),getDirectories:n.getDirectories?.bind(n),useCaseSensitiveFileNames:typeof n.useCaseSensitiveFileNames==`function`?n.useCaseSensitiveFileNames.bind(n):n.useCaseSensitiveFileNames,fileExists(e){let t=n.fileExists(e);for(let{typescript:n}of r)if(n){if(!t)for(let{extension:t}of n.extraFileExtensions){if(!e.endsWith(`.d.${t}.ts`))continue;let n=e.slice(0,-`.d.${t}.ts`.length)+`.${t}`;if(s(n)){let t=i(n);if(t?.generated){let r=t.generated.languagePlugin.typescript?.getServiceScript(t.generated.root);if(r){let t=n+`.d.ts`;return(r.extension===`.js`||r.extension===`.jsx`)&&s(t)?a.set(e,{sourceFileName:t,extension:`.ts`}):a.set(e,{sourceFileName:n,extension:r.extension}),!0}}}}if(n.resolveHiddenExtensions&&e.endsWith(`.d.ts`))for(let{extension:t}of n.extraFileExtensions){let n=e.slice(0,-5)+`.${t}`;if(s(n)){let t=i(n);if(t?.generated){let r=t.generated.languagePlugin.typescript?.getServiceScript(t.generated.root);if(r)return a.set(e,{sourceFileName:n,extension:r.extension}),!0}}}}return t}};return(t,n,r,i,s,c)=>{let l=e.resolveModuleName(t,n,r,o,i,s,c);if(l.resolvedModule){let e=a.get(l.resolvedModule.resolvedFileName);e&&(l.resolvedModule.resolvedFileName=e.sourceFileName,l.resolvedModule.extension=e.extension)}return a.clear(),l};function s(e){return n.fileExists(e)?(t?.(e)??n.readFile(e)?.length??0)<4*1024*1024:!1}}})),g=e((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.decorateLanguageServiceHost=n,e.searchExternalFiles=r;let t=h();function n(e,n,r){let i=n.plugins.map(e=>e.typescript?.extraFileExtensions.map(e=>`.`+e.extension)??[]).flat(),a=new Map,o=new Set,s=r.readDirectory?.bind(r),c=r.resolveModuleNameLiterals?.bind(r),l=r.resolveModuleNames?.bind(r),u=r.getScriptSnapshot.bind(r),d=r.getScriptKind?.bind(r);if(s&&(r.readDirectory=(e,t,n,r,a)=>{if(t)for(let e of i)t.includes(e)||(t=[...t,e]);return s(e,t,n,r,a)}),i.length){let a=(0,t.createResolveModuleName)(e,e.sys.getFileSize,r,n.plugins,e=>n.scripts.get(e)),o=r.useCaseSensitiveFileNames?.()?e=>e:e=>e.toLowerCase(),s=e.createModuleResolutionCache(r.getCurrentDirectory(),o,r.getCompilationSettings());c&&(r.resolveModuleNameLiterals=(t,n,r,o,l,...u)=>t.every(e=>!i.some(t=>e.text.endsWith(t)))?c(t,n,r,o,l,...u):t.map(t=>{let i=e.getModeForUsageLocation(l,t,o);return a(t.text,n,o,s,r,i)})),l&&(r.resolveModuleNames=(e,t,n,r,o,c)=>e.every(e=>!i.some(t=>e.endsWith(t)))?l(e,t,n,r,o,c):e.map(e=>a(e,t,o,s,r).resolvedModule))}r.getScriptSnapshot=e=>{let t=f(e,!0);return t?t.snapshot:u(e)},d&&(r.getScriptKind=e=>{let t=f(e,!1);return t?t.scriptKind:d(e)});function f(t,i){if(o.has(t))return;let s;try{s=r.getScriptVersion(t)}catch{o.add(t)}if(s===void 0)return;let c=a.get(t);if(!c||c[0]!==s){c=[s];let r=n.scripts.get(t,void 0,i);if(r?.generated){let t=r.generated.languagePlugin.typescript?.getServiceScript(r.generated.root);if(t)if(t.preventLeadingOffset)c[1]={extension:t.extension,scriptKind:t.scriptKind,snapshot:t.code.snapshot};else{let n=r.snapshot.getText(0,r.snapshot.getLength()).split(`
6
+ `).map(e=>` `.repeat(e.length)).join(`
7
+ `)+t.code.snapshot.getText(0,t.code.snapshot.getLength());c[1]={extension:t.extension,scriptKind:t.scriptKind,snapshot:e.ScriptSnapshot.fromString(n)}}r.generated.languagePlugin.typescript?.getExtraServiceScripts&&console.warn(`getExtraServiceScripts() is not available in TS plugin.`)}a.set(t,c)}return c[1]}}function r(e,t,n){if(t.projectKind!==e.server.ProjectKind.Configured)return[];let r=t.getProjectName(),i=e.readJsonConfigFile(r,t.readFile.bind(t)),a={useCaseSensitiveFileNames:t.useCaseSensitiveFileNames(),fileExists:t.fileExists.bind(t),readFile:t.readFile.bind(t),readDirectory:(...e)=>(e[1]=n,t.readDirectory(...e))};return e.parseJsonSourceFileConfigFileContent(i,a,t.getCurrentDirectory()).fileNames}})),_=e((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.makeGetExternalFiles=e.decoratedLanguageServiceHosts=e.decoratedLanguageServices=e.projectExternalFileExtensions=e.externalFiles=void 0,e.makeGetScriptInfoWithLargeFileFailsafe=i,e.createLanguageCommon=a,e.isHasAlreadyDecoratedLanguageService=s;let t=l(),n=m(),r=g();e.externalFiles=new WeakMap,e.projectExternalFileExtensions=new WeakMap,e.decoratedLanguageServices=new WeakSet,e.decoratedLanguageServiceHosts=new WeakSet;function i(e){return t=>{try{return e.project.getScriptInfo(t)}catch{}}}function a(e,a,o,s){let c=o.languageServiceHost.getScriptSnapshot.bind(o.languageServiceHost),l=i(o),u=(0,t.createLanguage)([...e.languagePlugins,{getLanguageId:n.resolveFileLanguageId}],new t.FileMap(a.sys.useCaseSensitiveFileNames),(e,t,n)=>{let r;n?r=c(e):(r=l(e)?.getSnapshot(),r||=(o.project.getScriptVersion(e),l(e)?.getSnapshot())),r?u.scripts.set(e,r):u.scripts.delete(e)},e=>{o.session.change({file:e,line:1,offset:1,endLine:1,endOffset:1,insertString:``})});s(u),(0,r.decorateLanguageServiceHost)(a,u,o.languageServiceHost),e.setup?.(u)}e.makeGetExternalFiles=t=>(n,i=0)=>{if(i>=1||!e.externalFiles.has(n)){let i=e.externalFiles.get(n),a=e.projectExternalFileExtensions.get(n),s=a?.length?(0,r.searchExternalFiles)(t,n,a):[];e.externalFiles.set(n,s),i&&!o(i,s)&&n.refreshDiagnostics()}return e.externalFiles.get(n)};function o(e,t){if(e.length!==t.length)return!1;let n=new Set(e);for(let e of t)if(!n.has(e))return!1;return!0}function s(t){return e.decoratedLanguageServices.has(t.languageService)||e.decoratedLanguageServiceHosts.has(t.languageServiceHost)?!0:(e.decoratedLanguageServices.add(t.languageService),e.decoratedLanguageServiceHosts.add(t.languageServiceHost),!1)}})),v=e((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.createLanguageServicePlugin=r;let t=p(),n=_();function r(e){return r=>{let{typescript:i}=r;return{create(r){if(!(0,n.isHasAlreadyDecoratedLanguageService)(r)){let a=e(i,r),o=a.languagePlugins.map(e=>e.typescript?.extraFileExtensions.map(e=>`.`+e.extension)??[]).flat();n.projectExternalFileExtensions.set(r.project,o);let{proxy:s,initialize:c}=(0,t.createProxyLanguageService)(r.languageService);r.languageService=s,(0,n.createLanguageCommon)(a,i,r,c)}return r.languageService},getExternalFiles:(0,n.makeGetExternalFiles)(i)}}}})),y=e(((e,t)=>{let n=require(`typescript`),{forEachEmbeddedCode:r}=l(),i=require(`fs`),a=require(`path`),o=process.env.RIPPLE_DEBUG===`true`;function s(...e){o&&console.log(`[Ripple Language]`,...e)}function c(...e){console.error(`[Ripple Language ERROR]`,...e)}function u(...e){console.warn(`[Ripple Language WARNING]`,...e)}function d(){s(`Creating Ripple language plugin...`);let e=new Map,t=null;return{getLanguageId(e){let t=typeof e==`string`?e:e.fsPath.replace(/\\/g,`/`);if(t.endsWith(`.ripple`))return s(`Identified Ripple file:`,t),`ripple`},createVirtualCode(e,t,r){if(t===`ripple`){let t=typeof e==`string`?e:e.fsPath.replace(/\\/g,`/`),i=n(t);if(!i){c(`Ripple compiler not found for file: ${t}`);return}s(`Creating virtual code for:`,t);try{return new f(t,r,i)}catch(e){throw c(`Failed to create virtual code for:`,t,`:`,e),e}}},typescript:{extraFileExtensions:[{extension:`ripple`,isMixedContent:!1,scriptKind:7}],getServiceScript(e){for(let t of r(e))if(t.languageId===`ripple`)return{code:t,extension:`.tsx`,scriptKind:4}}}};function n(n){let r=[`node_modules`,`ripple`,`src`,`compiler`,`index.js`],o=n.split(`/`);for(let t=o.length-2;t>=0;t--){let n=o.slice(0,t+1).join(`/`);if(!e.has(n)){let t=[n,...r].join(`/`);i.existsSync(t)?(e.set(n,t),s(`Found ripple compiler at:`,t)):e.set(n,null)}let a=e.get(n);if(a)return require(a)}let c=`Ripple compiler not found in workspace for ${n}. \
8
+ Using packaged version`;if(t)return u(`${c} at ${t}`),require(t);let l=__dirname;for(;l;){let e=a.join(l,...r);if(i.existsSync(e))return t=e,u(`${c} at ${t}`),require(e);let n=a.dirname(l);if(n===l)break;l=n}}}var f=class{id=`root`;languageId=`ripple`;codegenStacks=[];ripple;generatedCode=``;embeddedCodes=[];mappings=[];isErrorMode=!1;errors=[];snapshot;originalCode=``;diagnostics=[];_mappingIndex=null;constructor(e,t,n){if(s(`Initializing RippleVirtualCode for:`,e),this.fileName=e,this.ripple=n,this.snapshot=t,this.originalCode=t.getText(0,t.getLength()),!n||typeof n.compile_to_volar_mappings!=`function`)throw c(`Invalid ripple compiler - missing compile_to_volar_mappings method`),Error(`Invalid ripple compiler`);this.update(t)}update(e){s(`Updating virtual code for:`,this.fileName),this._mappingIndex=null,this.snapshot=e,this.errors=[];let t;try{s(`Compiling Ripple code...`),t=this.ripple.compile_to_volar_mappings(this.originalCode,this.fileName),s(`Compilation successful, generated code length:`,t?.code?.length||0)}catch(e){c(`Ripple compilation failed for`,this.fileName,`:`,e),this.errors.push(e)}t&&t.code?(this.generatedCode=t.code,this.mappings=t.mappings??[],this.isErrorMode=!1,s(`Using transpiled code, mapping count:`,this.mappings.length),this.snapshot={getText:(e,t)=>this.generatedCode.substring(e,t),getLength:()=>this.generatedCode.length,getChangeRange:()=>void 0}):(s(`Compilation failed, only display where the compilation error occurred.`),this.generatedCode=`export {};
9
+ `,this.isErrorMode=!0,this.mappings=[{sourceOffsets:[this.errors[0]?.pos??0],generatedOffsets:[0],lengths:[this.originalCode.length],data:{verification:!0,customData:{generatedLengths:[this.originalCode.length]}}}],this.snapshot={getText:(e,t)=>this.generatedCode.substring(e,t),getLength:()=>this.generatedCode.length,getChangeRange:()=>void 0})}findMappingByGeneratedRange(e,t){if(!this._mappingIndex){this._mappingIndex=new Map;for(let e of this.mappings){let t=e.generatedOffsets[0],n=`${t}-${t+e.data.customData.generatedLengths[0]}`;this._mappingIndex.set(n,e)}}let n=`${e}-${t}`;return this._mappingIndex.get(n)??null}};t.exports={getRippleLanguagePlugin:d,RippleVirtualCode:f,resolveConfig:e=>{let t={...e.options??{}};t.target===void 0&&(t.target=n.ScriptTarget.ESNext);let r=new Set((t.lib??[]).map(e=>{if(typeof e!=`string`||e.length===0)return;let t=e.trim();return t.startsWith(`lib.`)?t.toLowerCase():`lib.${t.toLowerCase().replace(/\s+/g,``).replace(/_/g,`.`)}\.d.ts`}).filter(e=>typeof e==`string`));if(r.size===0){let e=n.createCompilerHost(t).getDefaultLibFileName(t).toLowerCase();r.add(e),r.add(`lib.dom.d.ts`),r.add(`lib.dom.iterable.d.ts`)}if(t.lib=[...r],!t.types){let e=n.createCompilerHost(t),r=n.getEffectiveTypeRoots(t,e);r&&r.length>0&&(t.typeRoots=r)}return{...e,options:t}}}}));const{createLanguageServicePlugin:b}=v(),{getRippleLanguagePlugin:x}=y();module.exports=b(()=>({languagePlugins:[x()]}));
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "TypeScript plugin for Ripple",
4
4
  "license": "MIT",
5
5
  "author": "Dominic Gannaway",
6
- "version": "0.2.173",
6
+ "version": "0.2.175",
7
7
  "main": "src/index.js",
8
8
  "homepage": "https://ripplejs.com",
9
9
  "repository": {
@@ -23,7 +23,7 @@
23
23
  },
24
24
  "peerDependencies": {
25
25
  "typescript": "^5.9.2",
26
- "ripple": "0.2.173"
26
+ "ripple": "0.2.175"
27
27
  },
28
28
  "scripts": {
29
29
  "build": "tsdown",
package/src/language.js CHANGED
@@ -1,4 +1,7 @@
1
1
  /** @type {import('typescript')} */
2
+ // @ts-expect-error - Type-only import from ESM module into CJS is fine
3
+ /** @import { MappingsResult, CodeMapping } from '../../ripple/src/compiler/phases/3-transform/segments.js' */
4
+
2
5
  const ts = require('typescript');
3
6
  const { forEachEmbeddedCode } = require('@volar/language-core');
4
7
  const fs = require('fs');
@@ -6,22 +9,15 @@ const path = require('path');
6
9
 
7
10
  /** @typedef {import('typescript').CompilerOptions} CompilerOptions */
8
11
  /** @typedef {Error & { pos?: number }} RippleError */
9
- /** @typedef {import('@volar/language-core').CodeMapping} CodeMapping */
10
12
  /** @typedef {import('@volar/language-core').IScriptSnapshot} IScriptSnapshot */
11
13
  /** @typedef {import('@volar/language-core').VirtualCode} VirtualCode */
12
14
  /** @typedef {string | { fsPath: string }} ScriptId */
13
15
  /** @typedef {import('@volar/typescript')} */
14
16
  /** @typedef {import('@volar/language-core').LanguagePlugin<ScriptId, VirtualCode>} RippleLanguagePlugin */
15
17
 
16
- /**
17
- * @typedef {object} RippleCompileResult
18
- * @property {string} code
19
- * @property {CodeMapping[]} [mappings]
20
- */
21
-
22
18
  /**
23
19
  * @typedef {object} RippleCompiler
24
- * @property {(code: string, fileName: string) => RippleCompileResult} compile_to_volar_mappings
20
+ * @property {(code: string, fileName: string) => MappingsResult} compile_to_volar_mappings
25
21
  */
26
22
 
27
23
  const DEBUG = process.env.RIPPLE_DEBUG === 'true';
@@ -201,7 +197,7 @@ class RippleVirtualCode {
201
197
  generatedCode = '';
202
198
  /** @type {VirtualCode['embeddedCodes']} */
203
199
  embeddedCodes = [];
204
- /** @type {VirtualCode['mappings']} */
200
+ /** @type {CodeMapping[]} */
205
201
  mappings = [];
206
202
  /** @type {boolean} */
207
203
  isErrorMode = false;
@@ -213,6 +209,8 @@ class RippleVirtualCode {
213
209
  originalCode = '';
214
210
  /** @type {unknown[]} */
215
211
  diagnostics = [];
212
+ /** @type {Map<string, any> | null} */
213
+ _mappingIndex = null;
216
214
 
217
215
  /**
218
216
  * @param {string} file_name
@@ -243,9 +241,10 @@ class RippleVirtualCode {
243
241
  update(snapshot) {
244
242
  log('Updating virtual code for:', this.fileName);
245
243
 
244
+ this._mappingIndex = null; // Invalidate cache when mappings change
246
245
  this.snapshot = snapshot;
247
246
  this.errors = [];
248
- /** @type {RippleCompileResult | undefined} */
247
+ /** @type {MappingsResult | undefined} */
249
248
  let transpiled;
250
249
 
251
250
  try {
@@ -287,6 +286,7 @@ class RippleVirtualCode {
287
286
  lengths: [this.originalCode.length],
288
287
  data: {
289
288
  verification: true,
289
+ customData: { generatedLengths: [this.originalCode.length] },
290
290
  },
291
291
  },
292
292
  ];
@@ -298,6 +298,30 @@ class RippleVirtualCode {
298
298
  });
299
299
  }
300
300
  }
301
+
302
+ /**
303
+ * Find mapping by generated range
304
+ * @param {number} start - The start offset of the range
305
+ * @param {number} end - The end offset of the range
306
+ * @returns {CodeMapping | null} The mapping for this range, or null if not found
307
+ */
308
+ findMappingByGeneratedRange(start, end) {
309
+ if (!this._mappingIndex) {
310
+ this._mappingIndex = new Map();
311
+
312
+ for (const mapping of this.mappings) {
313
+ const genStart = mapping.generatedOffsets[0];
314
+ // Use generatedLengths from customData if available, otherwise fall back to lengths
315
+ const genLength = mapping.data.customData.generatedLengths[0];
316
+ const genEnd = genStart + genLength;
317
+ const key = `${genStart}-${genEnd}`;
318
+ this._mappingIndex.set(key, mapping);
319
+ }
320
+ }
321
+
322
+ const key = `${start}-${end}`;
323
+ return this._mappingIndex.get(key) ?? null;
324
+ }
301
325
  }
302
326
 
303
327
  /**