0.2.0 • Published 8 years ago

object-js v0.2.0

Weekly downloads
3
License
MIT
Repository
github
Last release
8 years ago

object-js

Low level Object design for ES6

Benefits

  • easy hashCode and equals hooks for determining equality between two instances

Build Status

npm version Build Status NPM

Install

npm install --save object-js

Usage

import js, { Obj } from 'object-js';

class Thing extends Obj {

  constructor(prop) {
    this.prop = prop;
  }
  
  equals(value) {
    return js.doesExtend(value, Thing) && value.prop === this.prop; 
  }

  hashCode() {
    if (!this._hashCode) {
      this._hashCode = js.hash(this.prop);
    }
    return this._hashCode;
  }
}


const thing1 = new Thing('abc');
const thing2 = new Thing('abc');
const thing3 = new Thing('bcd');

js.equals(thing1, thing2)   // true
js.equals(thing2, thing3)   // false