Skip to content

Commit 04663d6

Browse files
committed
fix(fake-js): patch void 0 to undefined
closes #171
1 parent 7c9d903 commit 04663d6

File tree

6 files changed

+40
-2
lines changed

6 files changed

+40
-2
lines changed

src/fake-js.ts

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -429,10 +429,23 @@ export function createFakeJsPlugin({
429429
const transformedDeps = (depsFn.body as t.ArrayExpression)
430430
.elements as t.Expression[]
431431
for (const [i, originalDep] of declaration.deps.entries()) {
432+
let transformedDep = transformedDeps[i]
433+
if (
434+
transformedDep.type === 'UnaryExpression' &&
435+
transformedDep.operator === 'void'
436+
) {
437+
transformedDep = {
438+
...t.identifier('undefined'),
439+
loc: transformedDep.loc,
440+
start: transformedDep.start,
441+
end: transformedDep.end,
442+
}
443+
}
444+
432445
if (originalDep.replace) {
433-
originalDep.replace(transformedDeps[i])
446+
originalDep.replace(transformedDep)
434447
} else {
435-
Object.assign(originalDep, transformedDeps[i])
448+
Object.assign(originalDep, transformedDep)
436449
}
437450
}
438451

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export let undefined: string
2+
export type T = typeof undefined
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
Index: diff.patch
2+
===================================================================
3+
--- diff.patch
4+
+++ diff.patch
5+
@@ -1,5 +1,4 @@
6+
// index.d.ts
7+
declare let undefined$1: string
8+
type T = typeof undefined$1
9+
-export { undefined$1 as undefined }
10+
-export { T }
11+
+export { T, undefined$1 as undefined }
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// index.d.ts
2+
//#region tests/rollup-plugin-dts/typeof-undefined-alias/index.d.ts
3+
declare let undefined$1: string;
4+
type T = typeof undefined$1;
5+
//#endregion
6+
export { T, undefined$1 as undefined };
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export type T = typeof undefined | typeof NaN
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
// index.d.ts
2+
//#region tests/rollup-plugin-dts/typeof-undefined/index.d.ts
3+
type T = typeof undefined | typeof NaN;
4+
//#endregion
5+
export { T };

0 commit comments

Comments
 (0)