From 3fb2dc21223b414afc6f1fa3c8bc8fc7de2d48d5 Mon Sep 17 00:00:00 2001 From: Alexander Gudulin Date: Mon, 16 Jan 2017 22:05:05 +0100 Subject: Fixes #9: use Object.create(null) over {} --- src/index.js | 2 +- test/index.js | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/index.js b/src/index.js index 36b25f1..bc9532f 100644 --- a/src/index.js +++ b/src/index.js @@ -4,7 +4,7 @@ */ export default function mitt(all) { // Arrays of event handlers, keyed by type - all = all || {}; + all = all || Object.create(null); // Get or create a named handler list function list(type) { diff --git a/test/index.js b/test/index.js index 8055544..4efa75e 100644 --- a/test/index.js +++ b/test/index.js @@ -14,7 +14,7 @@ describe('mitt', () => { let events, inst; beforeEach( () => { - events = {}; + events = Object.create(null); inst = mitt(events); }); @@ -32,6 +32,13 @@ describe('mitt', () => { expect(events).to.have.property('foo').that.deep.equals([foo]); }); + it('should register handlers for any type strings', () => { + let foo = () => {}; + inst.on('constructor', foo); + + expect(events).to.have.property('constructor').that.deep.equals([foo]); + }); + it('should append handler for existing type', () => { let foo = () => {}; let bar = () => {}; -- cgit v1.2.3