noop(); pop(); map();

    blank-object

    1.0.2 • Public • Published

    blank-object

    Object.create(null) turns out to be quite slow to alloc in v8, but instead if we inherit from an ancestory with proto = create(null) we have nearly the same functionallity but with dramatically faster alloc.

    var BlankObject = require('blank-object');
     
    var bo = new BlankObject();

    This is designed for a presence check map[key] !== undefined since in is also slow like hasOwnProperty, delete and Object.create.

    function UNDEFINED() {}
    export default class Map {
      constructor() {
        this.store = new BlankObject();
      }
     
      has(key) {
        return this.store[key] !== undefined;
      }
     
      get(key) {
        let val = this.store[key];
        return val === UNDEFINED ? undefined : val;
      }
     
      set(key, val) {
        this.store[key] = val === undefined ? UNDEFINED : val;
      }
    }

    Keywords

    none

    Install

    npm i blank-object

    DownloadsWeekly Downloads

    122,179

    Version

    1.0.2

    License

    MIT

    Last publish

    Collaborators

    • stefanpenner
    • krisselden