как мне сгруппировать параметры с JSDoc как lodash? - PullRequest
0 голосов
/ 18 февраля 2019

Я хочу знать, как lodash может группировать предложения для параметров функций, которые они имеют, на основе типа или количества параметров, которые вводят пользователи, как показано ниже:

enter image description here

на рисунке выше видно, что существует 8 группировок предложений по функции each в lodash .и ниже пример кода в моем случае:

Пример функции:

function filter(allowSize, max) {
  //do Something
}


Если функция filter имеет только 1 параметр,используйте jsdoc ниже:

/**
 * @param {object} allowSize
 * @param {number} allowSize.min
 * @param {number} allowSize.max
 */

Я хочу удалить параметр max из предложения, но я не знаю, как это сделать



Если функция filter имеет 2 параметра, используйте jsdoc ниже:

/**
 * @param {number} allowSize
 * @param {number} max
 */

Я хочу переименовать allowSize параметр для min в предложении, но я не знаю, как это сделать


как мне сделать выше, используя JSDoc

1 Ответ

0 голосов
/ 01 марта 2019

Вы можете использовать метод overload метод, но javascript не поддерживает этот метод. Затем, как вы делаете lodash ?

ответ: lodash с использованием машинописного текста для написания их кода. Машинописный текст позволяет вам писать функции с использованием метода перегрузки. Машинописный текст создаст файл с расширением .d.ts, который содержит информацию, относящуюся кнаписанный код.

Пример:

function filter(allowSize: object): any;
function filter(min: number, max: number): any;
function filter(arg1: object | number, arg2?: number): any {
    if (typeof arg1 === "object") {
        // do something when the function only have 1 parameter
    } else if (typeof arg1 === "number" && typeof arg2 === "number") {
        // do something when the function has 2 parameters
    } else {
        // default
    }
}

, после этого скомпилируйте файл TS с помощью команды tsc -d typescript_file.ts

-dПараметр полезен для указания компилятору создать файл объявления.

...