3cf26e44ee
* fix(43160): improve error location for functions without explicit return * handle functions returning never
95 lines
2.2 KiB
Plaintext
95 lines
2.2 KiB
Plaintext
=== tests/cases/conformance/jsdoc/foo.js ===
|
|
/**
|
|
* @callback FunctionReturningPromise
|
|
* @returns {Promise<number>}
|
|
*/
|
|
|
|
/** @type {FunctionReturningPromise} */
|
|
function testPromise1() {
|
|
>testPromise1 : () => Promise<number>
|
|
|
|
console.log("Nope");
|
|
>console.log("Nope") : void
|
|
>console.log : (...data: any[]) => void
|
|
>console : Console
|
|
>log : (...data: any[]) => void
|
|
>"Nope" : "Nope"
|
|
}
|
|
|
|
/** @type {FunctionReturningPromise} */
|
|
async function testPromise2() {
|
|
>testPromise2 : () => Promise<number>
|
|
|
|
return "asd";
|
|
>"asd" : "asd"
|
|
}
|
|
|
|
var testPromise3 = /** @type {FunctionReturningPromise} */ function() {
|
|
>testPromise3 : FunctionReturningPromise
|
|
>function() { console.log("test")} : () => Promise<number>
|
|
|
|
console.log("test")
|
|
>console.log("test") : void
|
|
>console.log : (...data: any[]) => void
|
|
>console : Console
|
|
>log : (...data: any[]) => void
|
|
>"test" : "test"
|
|
}
|
|
|
|
/** @type {FunctionReturningPromise} */
|
|
var testPromise4 = function() {
|
|
>testPromise4 : FunctionReturningPromise
|
|
>function() { console.log("test")} : () => Promise<number>
|
|
|
|
console.log("test")
|
|
>console.log("test") : void
|
|
>console.log : (...data: any[]) => void
|
|
>console : Console
|
|
>log : (...data: any[]) => void
|
|
>"test" : "test"
|
|
}
|
|
|
|
/**
|
|
* @callback FunctionReturningNever
|
|
* @returns {never}
|
|
*/
|
|
|
|
/** @type {FunctionReturningNever} */
|
|
function testNever1() {
|
|
>testNever1 : () => never
|
|
|
|
}
|
|
|
|
/** @type {FunctionReturningNever} */
|
|
async function testNever2() {
|
|
>testNever2 : () => never
|
|
|
|
return "asd";
|
|
>"asd" : "asd"
|
|
}
|
|
|
|
var testNever3 = /** @type {FunctionReturningNever} */ function() {
|
|
>testNever3 : FunctionReturningNever
|
|
>function() { console.log("test")} : () => never
|
|
|
|
console.log("test")
|
|
>console.log("test") : void
|
|
>console.log : (...data: any[]) => void
|
|
>console : Console
|
|
>log : (...data: any[]) => void
|
|
>"test" : "test"
|
|
}
|
|
|
|
/** @type {FunctionReturningNever} */
|
|
var testNever4 = function() {
|
|
>testNever4 : FunctionReturningNever
|
|
>function() { console.log("test")} : () => never
|
|
|
|
console.log("test")
|
|
>console.log("test") : void
|
|
>console.log : (...data: any[]) => void
|
|
>console : Console
|
|
>log : (...data: any[]) => void
|
|
>"test" : "test"
|
|
}
|