func-args
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.4 • Public • Published

    func-args

    ECMAScript Function Arguments parser, Get arguments of a function, useful for and used in dependency injectors. Works for regular functions, generator functions and arrow functions.
    
    npm install func-args

    api

    • index.d.ts
    • by default will throw error if func is native or bounded func

    demo

    see _tests.ts

    import { parseFunc } from 'func-args';
     
    let fn = async (a, b, c, {e, d, }, [aa1, aa2, { aaa3 }, [ bbb1, bbb2, { bbb4 } ], ...rrr], e2 = null, f = {
            g: 7,
            a: 8,
            b: {
                c: 555,
                d: true,
            },
        },
        f2 = (333), ...argv) => {};
     
     
    let { args, params } = parseFunc(fn);
     
    console.dir({
     
        /**
         * func args with structure
         */
        args,
     
        /**
         * all func args name
         *
         * @type string[]
         */
        params,
     
    }, {
        depth: 6,
    });
    /*
    { args:
       [ 'a',
         'b',
         'c',
         { e: 'e', d: 'd' },
         [ 'aa1',
           'aa2',
           { aaa3: 'aaa3' },
           [ 'bbb1', 'bbb2', { bbb4: 'bbb4' } ],
           '...rrr' ],
         'e2',
         'f',
         'f2',
         '...argv' ],
      params:
       [ 'a',
         'b',
         'c',
         'e',
         'd',
         'aa1',
         'aa2',
         'aaa3',
         'bbb1',
         'bbb2',
         'bbb4',
         '...rrr',
         'e2',
         'f',
         'f2',
         '...argv' ] }
     */
     
    // skip throw error if func is native or bounded func
    console.dir(parseFunc(Math.abs, true), {
        depth: 6,
    });
    /*
    { type: undefined,
      name: 'abs',
      native: true,
      generator: undefined,
      async: undefined,
      args: [],
      params: [],
      source: 'function abs() { [native code] }' }
    */

    Install

    npm i func-args

    DownloadsWeekly Downloads

    2

    Version

    1.0.4

    License

    ISC

    Unpacked Size

    13.4 kB

    Total Files

    8

    Last publish

    Collaborators

    • bluelovers