Вы должны использовать ЬурейеЕ, а затем использовать его в качестве возвращаемого типа функции:
/**
* @typedef Point
* @property {Number} x
* @property {Number} y
* @property {Function} length
* @property {Point~getProjection} getProjection
*/
/**
* @callback Point~getProjection
* @param {Object} axes
* @returns {Object}
*/
/**
* @param {Number}
* @param {Number}
* @returns {Point}
*/
var make_point = function (x, y) {
// ...
}
Или вы можете использовать тип объекта:
/**
* @param {Number}
* @param {Number}
* @returns {{x: Number, y: Number, length: Function}}
*/
var make_point = function (x, y) {
// ...
}
Вы просите инструмент, чтобы сделать это автоматически или как его написать? – hirse
Я хочу написать –