function-extractor

Extracts all the functions from a Javascript or Coffeescript file into an array of objects.

Usage no npm install needed!

<script type="module">
  import functionExtractor from 'https://cdn.skypack.dev/function-extractor';
</script>

README

function-extractor

Provides an array of objects listing the names and types of functions found in a Javascript file.

Based on fn-extractor, except this one works with the latest Esprima, catches more corner cases, reports errors, and isn't in Coffeescript.

Used by Panino to report doc coverage.

Installation

npm install function-extractor

Usage

Esprima is required by this tool.

You can use this module in two ways. If you don't already have an Esprima AST of your code, do this:

var functionExtractor = require("./javascript/jsd/function_extractor");

var functions = functionExtractor.parse(source);

where source is the text read from your Javascript file.

Otherwise, if you've already parsed the file, do this:

var functionExtractor = require("./javascript/jsd/function_extractor");

var functions = functionExtractor.parse(source, ast);

where source is the text read from your Javascript file, and ast is the Esprima.parse() result. Note that you must pass the range and loc options to Esprima.