From cea10920cd0722632c3eca23d369ebc783f93457 Mon Sep 17 00:00:00 2001 From: David Golightly Date: Wed, 6 Jul 2016 18:20:59 -0700 Subject: [PATCH] Don't freeze regexps (#65) --- lib/freeze.js | 1 + test/freeze-spec.js | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/lib/freeze.js b/lib/freeze.js index c273ed7..24c3f00 100644 --- a/lib/freeze.js +++ b/lib/freeze.js @@ -1,5 +1,6 @@ function isFreezable(object) { if (object === null) return false; + if (object instanceof RegExp) return false; return Array.isArray(object) || typeof object === 'object'; diff --git a/test/freeze-spec.js b/test/freeze-spec.js index 6c3e976..7fd9bfc 100644 --- a/test/freeze-spec.js +++ b/test/freeze-spec.js @@ -35,6 +35,13 @@ describe('u.freeze', () => { expect(Object.isFrozen(object.foo)).to.be.false; }); + it('ignores regexps', () => { + const object = { foo: /\d/ }; + u.freeze(object); + + expect(Object.isFrozen(object.foo)).to.be.false; + }); + it('does not freeze children if the parent is already frozen', () => { const object = { foo: {} }; Object.freeze(object);