Twoslash Support
Twoslash provides an inline type hove inside the code block.
Basic usage
You can enable twoslash to your code blocks by adding a twoslash metadata:
Markdown
```ts twoslash
// @errors: 2540
interface Todo {
title: string
}
const todo: Readonly<Todo> = {
title: 'Delete inactive users'.toUpperCase()
// ^?
}
todo.title = 'Hello'
Number.parseInt('123', 10)
// ^|
```Renders:
interface Todo {
Todo.title: stringtitle: string
}
const const todo: Readonly<Todo>todo: type Readonly<T> = { readonly [P in keyof T]: T[P]; }Make all properties in T readonlyReadonly<Todo> = {
title: stringtitle: 'Delete inactive users'.String.toUpperCase(): stringConverts all the alphabetic characters in a string to uppercase.toUpperCase()
}
const todo: Readonly<Todo>todo.title = 'Hello'
var Number: NumberConstructorAn object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers.Number.p- parseFloat
- parseInt
- prototype
NumberConstructor.parseInt(string: string, radix?: number): numberConverts A string to an integer.arseInt('123', 10)
Custom log message
You can add log message to your code by adding:
@log: <message>Custom log message@error: <message>Custom error message@warn: <message>Custom warn message@annotate: <message>Custom annotate message
const const a: 1a = 1Custom log messageconst const b: 1b = 1Custom error messageconst const c: 1c = 1Custom warning message Custom annotation message