From 1a32ca0601850dd79d05bbec497c7fd3f6fcc346 Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Mon, 18 Nov 2019 08:53:27 +0200 Subject: [PATCH] Remove dependency on is-buffer (#1816) * Remove dependency on is-buffer from package.json --- lib/utils.js | 12 +++++++++++- package.json | 3 +-- test/specs/utils/isX.spec.js | 6 ++++++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/lib/utils.js b/lib/utils.js index 8946055dac..c985b0a954 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -1,7 +1,6 @@ 'use strict'; var bind = require('./helpers/bind'); -var isBuffer = require('is-buffer'); /*global toString:true*/ @@ -19,6 +18,17 @@ function isArray(val) { return toString.call(val) === '[object Array]'; } + +/** + * Determine if a value is a Buffer + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Buffer, otherwise false + */ +function isBuffer(val) { + return ![undefined, null].includes(val) && val.constructor === Buffer; +} + /** * Determine if a value is an ArrayBuffer * diff --git a/package.json b/package.json index 4905921b89..012053c808 100644 --- a/package.json +++ b/package.json @@ -73,8 +73,7 @@ }, "typings": "./index.d.ts", "dependencies": { - "follow-redirects": "1.5.10", - "is-buffer": "^2.0.2" + "follow-redirects": "^1.4.1" }, "bundlesize": [ { diff --git a/test/specs/utils/isX.spec.js b/test/specs/utils/isX.spec.js index 08fa2c4462..2d301c730d 100644 --- a/test/specs/utils/isX.spec.js +++ b/test/specs/utils/isX.spec.js @@ -7,6 +7,12 @@ describe('utils::isX', function () { expect(utils.isArray({length: 5})).toEqual(false); }); + it('should validate Buffer', function () { + expect(utils.isBuffer(Buffer.from('a'))).toEqual(true); + expect(utils.isBuffer(null)).toEqual(false); + expect(utils.isBuffer(undefined)).toEqual(false); + }); + it('should validate ArrayBuffer', function () { expect(utils.isArrayBuffer(new ArrayBuffer(2))).toEqual(true); expect(utils.isArrayBuffer({})).toEqual(false);