dtype
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`](https://developer.mozilla.org/en-US/docs/Glossary/Primitive) | 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
Copyright
Copyright © 2015. The Compute.io Authors.