Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions src/types/utilities.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,9 @@ describe("isFalsyType", () => {
[true, "false"],
[true, "0"],
[true, "null"],
[true, "0n"],
[true, "-0n"],
[false, "24n"],
])("returns %j when given %s", (expected, source) => {
const { sourceFile, typeChecker } = createSourceFileAndTypeChecker(`
${source};
Expand Down
6 changes: 5 additions & 1 deletion src/types/utilities.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,11 @@ export function isFalsyType(type: ts.Type): boolean {
}

if (type.isLiteral()) {
return !type.value;
if (typeof type.value === "object") {
return type.value.base10Value === "0";
Comment thread
kirkwaiblinger marked this conversation as resolved.
} else {
return !type.value;
}
}

return isFalseLiteralType(type);
Expand Down