Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »

compute-dtype

1.0.0 • Public • Published

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:

Value Data Type
undefined undefined
null null
true|false boolean
<number> number
<string> string
<symbol> symbol
<function> function
Buffer binary
ArrayBuffer binary
Int8Array int8
Uint8Array uint8
Uint8ClampedArray uint8_clamped
Int16Array int16
Uint16Array uint16
Int32Array int32
Uint32Array uint32
Float32Array float32
Float64Array float64
Array generic
Other generic

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.

Install

npm i compute-dtype

DownloadsWeekly Downloads

3,748

Version

1.0.0

License

MIT

Last publish

Collaborators

  • avatar