1.0.0 • Published 9 years ago

compute-dtype v1.0.0

Weekly downloads
3,233
License
MIT
Repository
github
Last release
9 years ago

dtype

NPM version Build Status Coverage Status Dependencies

Determines the underlying data type of an input value.

Installation

$ npm install compute-dtype

For use in the browser, use browserify.

Usage

var dtype = require( 'compute-dtype' );

dtype( value )

Determines the underlying data type of an input value.

var dt = dtype( Int16Array( 10 ) );
// returns 'int16'

dt = dtype( true );
// returns 'boolean'

The following input values are supported:

ValueData Type
undefinedundefined
nullnull
true|falseboolean
<number>number
<string>string
<symbol>symbol
<function>function
Bufferbinary
ArrayBufferbinary
Int8Arrayint8
Uint8Arrayuint8
Uint8ClampedArrayuint8_clamped
Int16Arrayint16
Uint16Arrayuint16
Int32Arrayint32
Uint32Arrayuint32
Float32Arrayfloat32
Float64Arrayfloat64
Arraygeneric
Othergeneric

Note: values created using String, Boolean, and Number constructors are Objects and considered generic.

Examples

var dtype = require( 'compute-dtype' );

console.log( dtype( null ) );
// returns 'null'

console.log( dtype( undefined ) );
// returns 'undefined'

console.log( dtype( true ) );
// returns 'boolean'

console.log( dtype( Math.PI ) );
// returns 'number'

console.log( dtype( 'beep' ) );
// returns 'string'

console.log( dtype( function beep(){} ) );
// returns 'function'

console.log( dtype( new Int8Array( 10 ) ) );
// returns 'int8'

console.log( dtype( new Float64Array( 20 ) ) );
// returns 'float64'

console.log( dtype( new Buffer( 'woot' ) ) );
// returns 'binary'

console.log( dtype( [] ) );
// returns 'generic'

console.log( dtype( {} ) );
// returns 'generic'

console.log( dtype( new String( 'beep' ) ) );
// returns 'generic'

console.log( dtype( new Boolean( true ) ) );
// returns 'generic'

console.log( dtype( new Number( 5 ) ) );
// returns 'generic'

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. The Compute.io Authors.