Skip to content

Commit

Permalink
fix: mdx analyzer conflicts based on volar js proxy technique
Browse files Browse the repository at this point in the history
  • Loading branch information
Viijay-Kr committed Jul 1, 2024
1 parent aa6267b commit 27e0160
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,21 @@ function init({
function create(info: ts.server.PluginCreateInfo) {
// Set up decorator object
settings = info.config as Config
const proxy: ts.LanguageService = Object.create(null)
const proxy: ts.LanguageService = new Proxy(info.languageService, {
get(target, p, receiver) {
return Reflect.get(target, p, receiver)
},
set(target, p, newValue, receiver) {
return Reflect.set(target, p, newValue, receiver)
},
})
for (let k of Object.keys(info.languageService) as Array<
keyof ts.LanguageService
>) {
const x = info.languageService[k]!
// @ts-expect-error - JS runtime trickery which is tricky to type tersely
proxy[k] = (...args: Array<{}>) =>
// @ts-expect-error - JS runtime trickery which is tricky to type tersely
x.apply(info.languageService, args)
}

Expand Down

0 comments on commit 27e0160

Please sign in to comment.