TLDR; Как я могу перевести:
/** @return {((function(...[*]=))|{})[]} */
на свой @typedef
.
Я пытаюсь правильно определить значение, возвращаемое моей функцией в @typedef
с использованием JSDo c, и я не могу правильно определить его, не заменив мой тип на @return {((function(...[*]=))|{})[]} *
.
Что В настоящее время у меня:
/**
* @typedef {Array} MyType
* @property {function(): void} submit - Submit
* @property {Object} state - FetchResult
*/
/** @return {MyType} */
function fooBar() {
return [() => {}, {}];
}
приводит к предупреждению:
Returned expression type ((function(...[*]=)) | {})[] is not assignable to type MyType
Замена JSDo c для fooBar()
на:
/** @return {((function(...[*]=))|{})[]} */
приводит к правильное поведение.
Спасибо за помощь,