JSDOC: переопределить свойство объекта typedef - PullRequest
0 голосов
/ 30 ноября 2018

Я пытаюсь задокументировать типы строк запроса для объекта param запроса.У меня есть тип Request для запроса @param, но я хочу иметь возможность переопределить его унаследованный объект param, потому что каждая функция запроса может иметь различный набор строк запроса.

/**
 * @typedef {Object} Request
 * @property {Object} params - Object that contains parameters passed to a route. (Query strings).
 * @property {string} hostname - Hostname from the HTTP-request.
 */

 class ProfileController extends Controller {
    /**
     * Fetch a profile
     * @param {Request} req - Request object
     * @param {string} req.params.id - Node ID <-- I WANT TO DO THIS, THIS DOESNT WORK
     * @param {Object} res - Response
     */
   get = (req, res) => {
    const { id, hostname } = req.params;
    // req.params.id doesn't get intellisense
   };
 }

1 Ответ

0 голосов
/ 30 ноября 2018

Вы можете сделать:

/**
 * @typedef {Object} Request
 * @property {Object} params - Object that contains parameters passed to a route. (Query strings).
 * @property {string} hostname - Hostname from the HTTP-request.
 */

/**
 * @typedef {Object} MyRequest
 * @property {Object} params - Object that contains parameters passed to a route. (Query strings).
 * @property {string} params.id - Node ID
 */

class ProfileController extends Controller {
  /**
   * Fetch a profile
   * @param {Request & MyRequest} req - Request object
   * @param {Object} res - Response
   */
  get (req, res) {
    const { id, otherParam } = req.params;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...