JSDoc для лямбда-функции в объекте - PullRequest
0 голосов
/ 09 апреля 2019

Мне нужно использовать JSDoc, чтобы сделать sock, data переменными известными

var exec = {
    /**
     * @param {Number} sock
     * @param {String} data
     */
    1: (sock, data) => {
        console.log("GG");
    },
    2: (sock, data) => {

    },
    3: (sock, data) => {

    }
};

Допустим, sock равен Number, а data это String.

/**
 * @param {Number} sock
 * @param {String} data
 */

Мне нужно установить JSDoc только один раз для всего объекта.

1 Ответ

1 голос
/ 09 апреля 2019
/**
 * @type {Object.<number, function(Object, Object):void>}
 */
var exec = {
    1: (sock, data) => {
        console.log("GG");
    },
    2: (sock, data) => {

    },
    3: (sock, data) => {

    }
};

Это определяет объект с номерами в качестве ключей и функции в качестве значений, которые принимают два параметра типа Object.

Синтаксис компилируется из

Object.<[keyType, valueType]>

и

function(param1Type, param2Type, ...):returnType

...