<? docfiles.forEach(function(doc) { ?>
  # Factories

  Factories are functions that create Streams, such as `xs.create()`, `xs.periodic()`, etc.

  <? doc.javadoc.forEach(function(comment) { ?>
    <? if (!comment.ignore && comment.name && comment.raw.tags.findIndex(o => o.type === 'factory') >= 0) { ?>
      <? if (comment.isMethod || comment.isFunction) { ?>
        ### <a id="<?= comment.name ?>"></a> `<?= comment.name ?>(<?= comment.paramStr ?>)`
      <? } else { ?>
        ### <a id="<?= comment.name ?>"></a> `<?= comment.name ?>`
      <? } ?>

      <?= comment.description ?>

      <? if (comment.deprecated) { ?>
        **Deprecated**
      <? } ?>

      <? if (comment.see) { ?>
        See: <?= comment.see ?>
      <? } ?>

      <? if (comment.paramTags.length > 0) { ?>
        #### Arguments:
        <? comment.paramTags.forEach(function(paramTag) { ?>
          - `<?= paramTag.name ?><? if (paramTag.joinedTypes) { ?>: <?= paramTag.joinedTypes.replace('.', '') ?><? } ?>`<? if (paramTag.description) { ?> <?= paramTag.description ?><? } ?><? }) ?>
      <? } ?>

      <? if (comment.returnTags.length > 0) { ?>
        #### Returns: <? comment.returnTags.forEach(function(returnTag) { ?> <?= returnTag.joinedTypes ?> <?= returnTag.description ?><? }) ?>
      <? } ?>
      - - -
    <? } ?>
  <? }) ?>
<? }) ?>
