inherit-array

0.1.3 • Public • Published

NPM version Build Status Dependency Status

JavaScript array inheritance done right.

Install

$ npm install --save inherit-array

Usage

var inheritArray = require('inherit-array');
 
function SubArray(x) {
  this.x = x;
}
 
SubArray.prototype.last = function () {
  return this[this.length - 1];
};
 
var subArrayFactory = inheritArray(SubArray);
 
var subArray = subArrayFactory(3);
 
/*****************/
/* it's an Array */
/*****************/
 
assert(Array.isArray(subArray));
assert(subArray instanceof Array);
 
// it has Array methods
subArray.push(2);
 
// array accessor work
assert.strictEqual(subArray[0], 2);
 
// array length work
assert.strictEqual(subArray.length, 1);
subArray.length = 3;
assert.strictEqual(subArray.join(), '2,,');
subArray.length = 0;
assert.strictEqual(JSON.stringify(subArray), '[]'); // BONUS: JSON.stringify works
 
subArray[1] = 5;
// Function.prototype.apply treats it as an array
(function () {assert.strictEqual(arguments[1], 5);}).apply(null, subArray);
 
/*******************/
/* it's a SubArray */
/*******************/
 
assert(subArray instanceof SubArray);
 
// it uses SubArray constructor
assert.strictEqual(subArray.x, 3);
// it has SubArray methods
assert.strictEqual(subArray.last(), 5);
# creates a browser.js 
$ npm run browser

License

MIT © Amit Portnoy

Package Sidebar

Install

npm i inherit-array

Weekly Downloads

0

Version

0.1.3

License

MIT

Last publish

Collaborators

  • amitport