Nightingale Posing Mischievously

    extract-function

    2.0.1 • Public • Published

    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

    Install

    npm i extract-function

    DownloadsWeekly Downloads

    2

    Version

    2.0.1

    License

    MIT

    Last publish

    Collaborators

    • stegano