object-js

0.2.0 • Public • Published

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
 

Package Sidebar

Install

npm i object-js

Weekly Downloads

1

Version

0.2.0

License

MIT

Last publish

Collaborators

  • brianneisler
  • airbug