compute-dims

Computes array dimensions.

Usage no npm install needed!

<script type="module">
  import computeDims from 'https://cdn.skypack.dev/compute-dims';
</script>

README

dims

NPM version Build Status Coverage Status Dependencies

Computes dimensions for arrays and matrices.

Installation

$ npm install compute-dims

For use in the browser, use browserify.

Usage

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

dims( x[, max] )

Computes dimensions of x. x may be either an array (including nested arrays) or a matrix.

var matrix = require( 'dstructs-matrix' ),
    data,
    d;

data = [ 1, 2 ];
d = dims( data );
// returns [2]

data = [ [1,2], [1,2] ];
d = dims( data );
// returns [2,2]

data = matrix( [1,2,3,4], [2,2] )
d = dims( data );
// returns [2,2]

If an array element has a dimension inconsistent with other elements, the function returns null.

data = [ [1,2], [1] ];
d = dims( data );
// returns null

To limit the number of dimensions returned, set the max option.

data = [ [[1,2], [3,4]] ]; // 1x2x2
d = dims( data, 2 );
// returns [1,2]

data = [ [[1,2], [3,4,5,6,7,8]] ];
d = dims( data );
// returns null

d = dims( data, 2 );
// returns [1,2]

data = matrix( [1,2,3,4], [2,2] );
d = dims( data, 1 );
// returns [2]

Examples

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