diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-09-05 11:04:18 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-09-05 11:04:18 +0200 |
commit | a14ca3e268e95a7eab59fb205b41da7331d57631 (patch) | |
tree | 9c84b2cbd561345335fca3e26af961b2ea23d8ec /lib/utils/reducedObject.js | |
parent | 9c071dade573aa6990878006f83c89b6065a1395 (diff) | |
download | gitbook-a14ca3e268e95a7eab59fb205b41da7331d57631.zip gitbook-a14ca3e268e95a7eab59fb205b41da7331d57631.tar.gz gitbook-a14ca3e268e95a7eab59fb205b41da7331d57631.tar.bz2 |
Switch to lerna
Diffstat (limited to 'lib/utils/reducedObject.js')
-rw-r--r-- | lib/utils/reducedObject.js | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/lib/utils/reducedObject.js b/lib/utils/reducedObject.js deleted file mode 100644 index 7bcfd5b..0000000 --- a/lib/utils/reducedObject.js +++ /dev/null @@ -1,33 +0,0 @@ -var Immutable = require('immutable'); - -/** - * Reduce the difference between a map and its default version - * @param {Map} defaultVersion - * @param {Map} currentVersion - * @return {Map} The properties of currentVersion that differs from defaultVersion - */ -function reducedObject(defaultVersion, currentVersion) { - if(defaultVersion === undefined) { - return currentVersion; - } - - return currentVersion.reduce(function(result, value, key) { - var defaultValue = defaultVersion.get(key); - - if (Immutable.Map.isMap(value)) { - var diffs = reducedObject(defaultValue, value); - - if (diffs.size > 0) { - return result.set(key, diffs); - } - } - - if (Immutable.is(defaultValue, value)) { - return result; - } - - return result.set(key, value); - }, Immutable.Map()); -} - -module.exports = reducedObject; |