Skip to content

Commit

Permalink
dry out
Browse files Browse the repository at this point in the history
  • Loading branch information
baseballyama committed Nov 17, 2023
1 parent 01dfa17 commit 0a61e91
Showing 1 changed file with 28 additions and 45 deletions.
73 changes: 28 additions & 45 deletions src/parser/typescript/analyze/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -219,62 +219,45 @@ function analyzeDollarDollarVariables(

function addSvelte5Globals() {
for (const svelte5Global of globalsForSvelte5) {
if (
!scopeManager.globalScope!.through.some(
(reference) => reference.identifier.name === svelte5Global,
)
) {
continue;
}
switch (svelte5Global) {
case "$state": {
if (
scopeManager.globalScope!.through.some(
(reference) => reference.identifier.name === svelte5Global,
)
) {
appendDeclareFunctionVirtualScript(
svelte5Global,
"<T>(initial: T): T",
);
appendDeclareFunctionVirtualScript(
svelte5Global,
"<T>(): T | undefined",
);
}
appendDeclareFunctionVirtualScript(
svelte5Global,
"<T>(initial: T): T",
);
appendDeclareFunctionVirtualScript(
svelte5Global,
"<T>(): T | undefined",
);
break;
}
case "$derived": {
if (
scopeManager.globalScope!.through.some(
(reference) => reference.identifier.name === svelte5Global,
)
) {
appendDeclareFunctionVirtualScript(
svelte5Global,
"<T>(expression: T): T",
);
}
appendDeclareFunctionVirtualScript(
svelte5Global,
"<T>(expression: T): T",
);
break;
}
case "$effect": {
if (
scopeManager.globalScope!.through.some(
(reference) => reference.identifier.name === svelte5Global,
)
) {
appendDeclareFunctionVirtualScript(
svelte5Global,
"(fn: () => void | (() => void)): void",
);
appendDeclareNamespaceVirtualScript(
svelte5Global,
"export function pre(fn: () => void | (() => void)): void;",
);
}
appendDeclareFunctionVirtualScript(
svelte5Global,
"(fn: () => void | (() => void)): void",
);
appendDeclareNamespaceVirtualScript(
svelte5Global,
"export function pre(fn: () => void | (() => void)): void;",
);
break;
}
case "$props": {
if (
scopeManager.globalScope!.through.some(
(reference) => reference.identifier.name === svelte5Global,
)
) {
appendDeclareFunctionVirtualScript(svelte5Global, "<T>(): T");
}
appendDeclareFunctionVirtualScript(svelte5Global, "<T>(): T");
break;
}
default: {
Expand Down

0 comments on commit 0a61e91

Please sign in to comment.