inspect-function

    0.4.0 • Public • Published

    inspect-function

    Build Status npm npm

    Inspects a function and returns informations about it (e.g. name, parameters names, parameters and default values, signature). Useful when creating automated tasks, e.g., docs generations.

    Installation

    npm install inspect-function

    CLI

    npm install inspect-function -g
    npx inspect-function --help

    Usage

    inspectFunction(fn, name);

    // The module
    const inspectFunction = require('inspect-function');
     
    // A function
    const testFunction = (a = 'z', b = [1,2,3], c, {d,e: {f}, g} = {}) => console.log('noop');
     
    // Inspects
    const result = inspectFunction(testFunction);
     
    ////////////////////////
    // `result` will be:  //
    ////////////////////////
    {
        "name": "testFunction",
        "signature": "testFunction(a = 'z', b = [1,2,3], c, {d,e: {f}, g} = {});",
        "parameters": [
            {
                "parameter": "a",
                "defaultValue": "z",
                "declaration": "a = 'z'"
            },
            {
                "parameter": "b",
                "defaultValue": "[1,2,3]",
                "declaration": "b = [1,2,3]"
            },
            {
                "parameter": "c",
                "declaration": "c"
            },
            {
                "parameter": "{d,e: {f}, g}",
                "defaultValue": "{}",
                "expectsDestructuring": true,
                "declaration": "{d,e: {f}, g} = {}",
                "destructuredParameters": [
                    {
                        "parameter": "d",
                        "declaration": "d"
                    },
                    {
                        "parameter": "f",
                        "declaration": "f"
                    },
                    {
                        "parameter": "g",
                        "declaration": "g"
                    }
                ]
            }
        ],
        "parametersNames": [
            "a",
            "b",
            "c",
            "d",
            "f",
            "g"
        ]
    }

    Install

    npm i inspect-function

    DownloadsWeekly Downloads

    78,192

    Version

    0.4.0

    License

    MIT

    Unpacked Size

    13.8 kB

    Total Files

    8

    Last publish

    Collaborators

    • avatar