2.0.1 • Published 7 years ago

extract-function v2.0.1

Weekly downloads
2
License
MIT
Repository
github
Last release
7 years ago

GitHub release

You can extract the function in the source code and use it for testing.

Installation

npm i extract-function --save-dev

Using module in source code

var sourceCode = `
  /**
   * @extract BasicFunc
   * */
  function basicFunc() {
    // OK
  }
  function test() {
    // OK
  }
  `;
var ExtractFunction = require("extract-function");
var ef = new ExtractFunction(sourceCode);
ef.hasAnnotationName("extract"); // -> `true`
ef.getAnnotationnValue("extract"); // -> `BasicFunc`
ef.getComments(); // -> `/**\n    * @extract BasicFunc\n    * */`
ef.getClosestFunction(); // -> `function basicFuc() {\n      // OK\n    }`

Using the Command Line

Usage

  extract-function --src files --out directory --beautify boolean

Example

  $ extract-function -s ./src/**.js -o ./test/extractFiles --beatufiy false

Options

  -s, --src files          A list of files containing annotations to extract.
  -o, --out directory      The directory where extracted files will be created.
  -b, --beautify boolean   Apply beautify-js to the extracted files.
  --help                   Display this usage guide.

Demo

./node_modules/.bin/extract-function -s ./test/sample.js -o ./result
(() => {
  /**
   * @extract BasicFunc
   * */
  function basicFunc() {
    // OK
  }

  /**
   * @extract ArgsTest
   * */
  function argsTest(a, b, c, d) {
    // OK
  }

  /**
   * @extract FunctionLiteral
   * */
  var functionLiteral = function () {
    // OK
  };

  var obj = {
    /**
     * @extract ObjectInFunction
     * */
    objInFunction: function () {
      // OK
    },
  };

  /**
   * @extract AnonymousFunction
   * */
  (function () {
    // OK
  })();

  function outerFunction() {
    /**
     * @extract InnerFunction
     * */
    function innerFunction() {
      // OK
    }
  }
});

Output : A list of extracted files.

./result
├── AnonymousFunction.js
├── ArgsTest.js
├── BasicFunc.js
├── FunctionLiteral.js
├── InnerFunction.js
└── ObjectInFunction.js
2.0.1

7 years ago

2.0.0

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago