dsherret / dsherret/ts-morph

`NonNullable<unknown>` => `{}`

Open
#1,664 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
6.2k
Forks
238
Avg merge
2m
Merged PRs (30d)
1

Description

**Describe the bug**

Version: 27.0.2

**To Reproduce**

source file `test.ts`:
```typescript
type TestType = unknown;
```

analysis file:
```typescript
import { Project } from 'ts-morph';

const project = new Project({
tsConfigFilePath: '../tsconfig.json',
});
const sourceFile = project.getSourceFileOrThrow('./test.ts');

const TestType = sourceFile.getTypeAliasOrThrow('TestType').getType();

console.log(
`TestType.getText(): "${TestType.getText()}", TestType.isUnknown(): ${TestType.isUnknown()}`,
);
console.log(
`TestType.getNonNullableType().getText(): "${TestType.getNonNullableType().getText()}", TestType.getNonNullableType().isUnknown(): ${TestType.getNonNullableType().isUnknown()}`,
);
```
**Current behavior**
```
TestType.getText(): "unknown", TestType.isUnknown(): true
TestType.getNonNullableType().getText(): "{}", TestType.getNonNullableType().isUnknown(): false
```
**Expected behavior**
```
TestType.getText(): "unknown", TestType.isUnknown(): true
TestType.getNonNullableType().getText(): "unknown", TestType.getNonNullableType().isUnknown(): true
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.