utils-function-name

1.0.0 • Public • Published

Function Name

NPM version Build Status Coverage Status Dependencies

Returns the name of a function.

Installation

$ npm install utils-function-name

Usage

var fname = require( 'utils-function-name' );

fname( fcn )

Returns the name of a function.

var name = fname( Math.sqrt )
// returns 'sqrt'

If provided an anonymous function, the function returns anonymous.

var name = fname( function(){} );
// returns 'anonymous'

If provided a value which is not a function, the function throws a TypeError.

try {
    // throws...
    var name = fname( 'beep' );
} catch ( err ) {
    console.error( err );
}

Examples

var fname = require( 'utils-function-name' );
 
console.log( fname( Math.sqrt ) );
// returns 'sqrt'
 
console.log( fname( Float64Array ) );
// returns 'Float64Array'
 
console.log( fname( Buffer ) );
// returns 'Buffer'
 
console.log( fname( Date ) );
// returns 'Date'
 
console.log( fname( String ) );
// returns 'String'
 
console.log( fname( Boolean ) );
// returns 'Boolean'
 
console.log( fname( Function ) );
// returns 'Function'
 
console.log( fname( Number ) );
// returns 'Number'
 
console.log( fname( function(){} ) );
// returns 'anonymous'

To run the example code from the top-level application directory,

$ node ./examples/index.js

Tests

Unit

Unit tests use the Mocha test framework with Chai assertions. To run the tests, execute the following command in the top-level application directory:

$ make test

All new feature development should have corresponding unit tests to validate correct functionality.

Test Coverage

This repository uses Istanbul as its code coverage tool. To generate a test coverage report, execute the following command in the top-level application directory:

$ make test-cov

Istanbul creates a ./reports/coverage directory. To access an HTML version of the report,

$ make view-cov

License

MIT license.

Copyright

Copyright © 2015. Athan Reines.

Package Sidebar

Install

npm i utils-function-name

Weekly Downloads

54

Version

1.0.0

License

MIT

Last publish

Collaborators

  • kgryte