Как задокументировать список аргументов с помощью переменная длина с известными типами параметров?

По теме: Правильный способ документирования функций с открытыми аргументами в JSDoc

У меня есть функция, которая принимает несколько массивов путем доступа к переменной arguments :

/**
 * @param options An object containing options
 * @param [options.bind] blablabla (optional)
 */
function modify_function (options) {
    for (var i=1; i

Теперь, Я знаю, что каждый аргумент, кроме options , представляет собой массив, содержащий значения, которые стоит задокументировать:

[search_term, replacement, options]

Я не собираюсь помещать (длинное) описание в строку параметров переменной.

@param {. ..} Массив с условиями поиска, заменами и их параметрами; индекс 0: поисковый запрос в функции; 1: текст замены; 2: необязательные параметры (catch_errors: обнаруживает ошибки и регистрирует их, escape: экранирование долларов в тексте замены, pos: "L" для размещения замены перед поисковым запросом, "R" для размещения после) Не читаемое решение, и тип не виден.

Есть ли способ задокументировать типы и значения параметра переменной?

@param {...[]} An array with search terms, replacements and its options
@param {...[0]} The search term within the function
@param {...[1]} The replacement text 
@param {...[2]} An optional object with obtions for the replacement
@param {...[2].catch_errors} catches errors and log it
@param {...[2].escape} etc...

Вышеупомянутое выглядит некрасиво, но должно дать вам представление о том, что я пытаюсь для достижения:

  • задокументируйте тип параметра переменной (в данном случае массив)
  • задокументируйте значения этого массива
  • задокументируйте свойства объекта внутри этого массива

Для лени я использовал массив вместо объекта. Всегда приветствуются другие предложения.

7
задан Community 23 May 2017 в 12:10
поделиться