diff --git a/lib/utils/lodash.ts b/lib/utils/lodash.ts index 1f649a76f..fb734bf91 100644 --- a/lib/utils/lodash.ts +++ b/lib/utils/lodash.ts @@ -1,6 +1,17 @@ -import defaults = require("lodash.defaults"); -import isArguments = require("lodash.isarguments"); - export function noop() {} -export { defaults, isArguments }; +export function defaults(...objects: object[]): object { + objects.reverse(); + Object.assign.call(Object.assign, objects); + return objects[0]; +} + +export function isArguments(value: any): value is ArrayLike { + return ( + typeof value === "object" && + value !== null && + typeof value.length === "number" && + Object.prototype.toString.call(value) === "[object Arguments]" && + Object.prototype.hasOwnProperty.call(value, "callee") + ); +} diff --git a/package-lock.json b/package-lock.json index 9e1d3500b..cd9d1c67e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,8 +13,6 @@ "cluster-key-slot": "^1.1.0", "debug": "^4.3.4", "denque": "^2.1.0", - "lodash.defaults": "^4.2.0", - "lodash.isarguments": "^3.1.0", "redis-errors": "^1.2.0", "redis-parser": "^3.0.0", "standard-as-callback": "^2.1.0" @@ -4071,7 +4069,8 @@ "node_modules/lodash.defaults": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=", + "dev": true }, "node_modules/lodash.escaperegexp": { "version": "4.1.2", @@ -4100,7 +4099,8 @@ "node_modules/lodash.isarguments": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true }, "node_modules/lodash.ismatch": { "version": "4.4.0", @@ -12597,7 +12597,8 @@ "lodash.defaults": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=", + "dev": true }, "lodash.escaperegexp": { "version": "4.1.2", @@ -12626,7 +12627,8 @@ "lodash.isarguments": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true }, "lodash.ismatch": { "version": "4.4.0", diff --git a/package.json b/package.json index 5b5a65b72..9b805a53d 100644 --- a/package.json +++ b/package.json @@ -45,8 +45,6 @@ "cluster-key-slot": "^1.1.0", "debug": "^4.3.4", "denque": "^2.1.0", - "lodash.defaults": "^4.2.0", - "lodash.isarguments": "^3.1.0", "redis-errors": "^1.2.0", "redis-parser": "^3.0.0", "standard-as-callback": "^2.1.0"