function preprocessTagsInDescription()

in sync-api-docs/preprocessGeneratedApiDocs.js [31:69]


function preprocessTagsInDescription(obj) {
  if (obj && obj.description) {
    obj.description = obj.description
      .split('\n')
      .map(line => {
        return line.replace(/    /, '');
      })
      .join('\n');
    const descriptionTokenized = tokenizeComment(obj.description);
    obj.description = obj.description.replace(
      /@platform .*|@default .*|@type .*/g,
      ''
    );
    obj.rnTags = {};
    const platformTag = descriptionTokenized.tags.find(
      ({key}) => key === 'platform'
    );
    const defaultTag = descriptionTokenized.tags.filter(
      tag => tag.key === 'default'
    );
    const typeTag = descriptionTokenized.tags.filter(tag => tag.key === 'type');

    if (platformTag) {
      obj.rnTags.platform = platformTag.value.split(',');
    }
    if (defaultTag.length) {
      obj.rnTags.default = [];
      defaultTag.forEach(tag => {
        obj.rnTags.default.push(tag.value);
      });
    }
    if (typeTag.length) {
      obj.rnTags.type = [];
      typeTag.forEach(tag => {
        obj.rnTags.type.push(tag.value);
      });
    }
  }
}