From d04f06cb7a64c759f3dad1b897508b0a9fe3f0f0 Mon Sep 17 00:00:00 2001 From: jonschlinkert Date: Wed, 11 Jul 2018 09:30:31 -0400 Subject: [PATCH] inline utils --- index.js | 20 +++++++++++++------- package.json | 6 ++---- utils.js | 25 ------------------------- 3 files changed, 15 insertions(+), 36 deletions(-) delete mode 100644 utils.js diff --git a/index.js b/index.js index a7b8fc5..16b4690 100644 --- a/index.js +++ b/index.js @@ -7,21 +7,23 @@ 'use strict'; -var utils = require('./utils'); +var union = require('arr-union'); +var clone = require('clone-deep'); +var typeOf = require('kind-of'); module.exports = function mergeDeep(orig, objects) { - if (!utils.isObject(orig) && !Array.isArray(orig)) { + if (!isObject(orig) && !Array.isArray(orig)) { orig = {}; } - var target = utils.clone(orig); + var target = clone(orig); var len = arguments.length; var idx = 0; while (++idx < len) { var val = arguments[idx]; - if (utils.isObject(val) || Array.isArray(val)) { + if (isObject(val) || Array.isArray(val)) { merge(target, val); } } @@ -37,12 +39,12 @@ function merge(target, obj) { var oldVal = obj[key]; var newVal = target[key]; - if (utils.isObject(newVal) && utils.isObject(oldVal)) { + if (isObject(newVal) && isObject(oldVal)) { target[key] = merge(newVal, oldVal); } else if (Array.isArray(newVal)) { - target[key] = utils.union([], newVal, oldVal); + target[key] = union([], newVal, oldVal); } else { - target[key] = utils.clone(oldVal); + target[key] = clone(oldVal); } } return target; @@ -51,3 +53,7 @@ function merge(target, obj) { function hasOwn(obj, key) { return Object.prototype.hasOwnProperty.call(obj, key); } + +function isObject(val) { + return typeOf(val) === 'object' || typeOf(val) === 'function'; +} diff --git a/package.json b/package.json index ea32dbf..8ef6c5b 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,7 @@ }, "license": "MIT", "files": [ - "index.js", - "utils.js" + "index.js" ], "main": "index.js", "engines": { @@ -23,8 +22,7 @@ "dependencies": { "arr-union": "^3.1.0", "clone-deep": "^0.2.4", - "kind-of": "^3.0.2", - "lazy-cache": "^1.0.3" + "kind-of": "^3.0.2" }, "devDependencies": { "gulp-format-md": "^0.1.7", diff --git a/utils.js b/utils.js deleted file mode 100644 index 517b990..0000000 --- a/utils.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -/** - * Module dependencies - */ - -var utils = require('lazy-cache')(require); -var fn = require; -require = utils; - -require('arr-union', 'union'); -require('clone-deep', 'clone'); -require('kind-of', 'typeOf'); -require = fn; - -utils.isObject = function(val) { - return utils.typeOf(val) === 'object' || utils.typeOf(val) === 'function'; -}; - -/** - * Expose `utils` modules - */ - -module.exports = utils; -