doxie.filter

0.4.1 • Public • Published

Coveralls – test coverage Travis – build status David – status of dependencies Stability: unstable Code style: airbnb

doxie --filter

A plugin for doxie.
Filter comments through a custom function.





lightweight



Note: Don’t panic. doxie --filter is a flexible, low-level plugin. We’re working on higher-level plugins which you can drop into your project without fiddling with configuration.

CLI Usage

doxie --filter is a plugin for the command-line tool doxie. Most plugins are designed for dox data. Install all three if you haven’t already:

$ npm install --global dox doxie doxie.filter

Pass the option --filter to doxie to put the plugin in your pipeline. By default it will import the filter function from <pwd>/.doxie.filter.js and pipe your docs through it:

$ dox | doxie --filter

You can also specify a custom file to import the filter function from:

$ dox | doxie --filter ./build/my-custom-filter.js

Programmatic usage

doxie.filter can be used directly with doxie-core – the backend of doxie. Install both if you haven’t already:

$ npm install doxie-core doxie.filter

Pass the filter function directly as a parameter:

const doxie = require('doxie-core');
const filter = require('doxie.filter');
const myDoxData = {/* … */};
 
doxie([
  filter(({data}) => (!data || !data.isPrivate)),
])(myDoxData);

The filter function

Put the file .doxie.filter.js in the root directory of your project and export a single function from it. Every doc will be piped through your filter function. If it returns a truthy value, the doc will be kept. Otherwise it won’t be passed down the plugin pipeline.

Here’s a drop-in example written in ES5:

// `/.doxie.filter.js`
 
module.exports = function(doc) {return (
  // Keep the doc if it has no associated data (comes from a plugin, not from
  // a comment)
  !doc.data ||
 
  // Or if *dox* hasn’t marked it as private.
  !doc.data.isPrivate
);};
Signature:
filterFunction({[data], [output]})
  → keep?
Input properties:
  • [data] {*}
    The data associated with a doc. If the doc corresponds comes from a dox comment, this will be the output from dox.

  • [output] {String}
    The rendered text output for a doc.

Return value:
  • keep? {Boolean}
    If falsy, the doc won’t be passed down the plugin pipeline.

License

MIT © Studio B12 GmbH

Readme

Keywords

Package Sidebar

Install

npm i doxie.filter

Weekly Downloads

1

Version

0.4.1

License

MIT

Last publish

Collaborators

  • tomekwi