array-dtype
!NPM versionnpm-imagenpm-url !Build Statustravis-imagetravis-url !Coverage Statuscodecov-imagecodecov-url !Dependenciesdependencies-imagedependencies-urlReturns an array data type corresponding to an array constructor name.
Installation
$ npm install compute-array-dtype
For use in the browser, use browserify.
Usage
var getType = require( 'compute-array-dtype' );
getType( name )
Returns anarray
data type corresponding to an array
constructor name.var dtype = getType( 'Float32Array' );
// returns 'float32'
var arr = new Float32Array( 10 );
dtype = getType( Object.prototype.toString.call( arr ).slice(8,-1) );
// returns 'float32'
// Note: not supported in IE
dtype = getType( arr.constructor.name );
// returns 'float32'
The following
array
constructors are supported:| Constructor | Data Type | |:----------|:------------| |
Int8Array
Int8Array | int8 |
| Uint8Array
Uint8Array | uint8 |
| Uint8ClampedArray
Uint8ClampedArray | uint8clamped |
| Int16Array
Int16Array | int16 |
| Uint16Array
Uint16Array | uint16 |
| Int32Array
Int32Array | int32 |
| Uint32Array
Uint32Array | uint32 |
| Float32Array
Float32Array | float32 |
| Float64Array
Float64Array | float64 |
| Array
Array | generic |Examples
var getType = require( 'compute-array-dtype' );
console.log( getType( 'Int8Array' ) );
// returns 'int8'
console.log( getType( 'Uint8Array' ) );
// returns 'uint8'
console.log( getType( 'Uint8ClampedArray' ) );
// returns 'uint8_clamped'
console.log( getType( 'Int16Array' ) );
// returns 'int16'
console.log( getType( 'Uint16Array' ) );
// returns 'uint16'
console.log( getType( 'Int32Array' ) );
// returns 'int32'
console.log( getType( 'Uint32Array' ) );
// returns 'uint32'
console.log( getType( 'Float32Array' ) );
// returns 'float32'
console.log( getType( 'Float64Array' ) );
// returns 'float64'
console.log( getType( 'Array' ) );
// returns 'generic'
console.log( getType( 'Object' ) );
// returns null
console.log( getType( 'String' ) );
// returns null
console.log( getType( 'Boolean' ) );
// returns null
console.log( getType( 'Number' ) );
// returns null
console.log( getType( 'null' ) );
// returns null
console.log( getType( [] ) );
// returns null
console.log( getType( null ) );
// returns null
console.log( getType( {} ) );
// returns null
To run the example code from the top-level application directory,
$ node ./examples/index.js
Tests
Unit
Unit tests use the Mochamocha test framework with Chaichai 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 Istanbulistanbul 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