2016-02-11 1 views
3

Я не могу найти способ распечатать пространство при регистрации значений свойств по умолчанию в JSDOC. Пример: /** * @prop {string} str='String with space' - The string. */Как записать пространство по умолчанию в свойствах jsdoc

Это будет документирован так:

Name Type  Default  Description 
str  string 'String  with space' - The string 

Любое предложение, как сделать правильный один?

ответ

2

У меня не совсем есть решение, но сегодня я столкнулся с той же проблемой и нашел обход. :) Проблема в том, что текущий jsdoc-парсер (и регулярное выражение) обрабатывает это правильно, если мы используем необязательные скобки. И в этом случае мы хотим, чтобы по умолчанию не было необязательным.

Внутри publish.js вашего шаблона добавьте это. Я использую разделитель «-», поэтому сделайте эту работу, используйте «-» в своих описаниях, и это правильно обработает парсер.

data().each(function(doclet) { 
    if (doclet.properties) { 
     doclet.properties = doclet.properties.map(function(property) { 
      var separator = " - ", 
       separatorLength = separator.length; 

      var defaultvalue = property.defaultvalue; 
      var description = property.description; 

      if(property.defaultvalue !== 'undefined' && !property.optional && description.indexOf(separator) > 0) { 
       var index = description.indexOf(separator); 
       defaultvalue += " " + description.substr(separatorLength, index-separatorLength); 
       description = "<p>" + description.substr(index + separatorLength, description.length); 
      } 

      return { 
       defaultvalue: defaultvalue, 
       description: description, 
       type: property.type, 
       name: property.name 
      } 
     });     
    } 
}); 
+0

Я отметил это как правильное изменение, но дает мне ошибку на данный момент: Не удается прочитать значение property.defaultvalue = null; Я расскажу об этом позже. пока я просто использую подчеркивание как пространство –

3

По крайней мере, так как jsdoc 3.3.0 вы можете сделать это таким образом.

/** 
* @prop {string} [str=String with space] - The string. 
*/