inherit-array
v0.1.3
Published
JavaScript array inheritance done right.
Downloads
2,722
Readme
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