From 42544b2052773b7421f58e0e0a2b152bf8550c6f Mon Sep 17 00:00:00 2001 From: wyvern8 Date: Thu, 1 Mar 2018 18:24:45 -0800 Subject: [PATCH] fix: inline `is-array-buffer` for webpack compatibility --- lib/request/is-array-buffer.js | 32 ++++++++++++++++++++++++++++++++ lib/request/request.js | 2 +- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 lib/request/is-array-buffer.js diff --git a/lib/request/is-array-buffer.js b/lib/request/is-array-buffer.js new file mode 100644 index 00000000..a5abb279 --- /dev/null +++ b/lib/request/is-array-buffer.js @@ -0,0 +1,32 @@ +/*! + * isArrayBuffer v1.0.0 + * https://github.com/fengyuanchen/is-array-buffer + * + * Copyright (c) 2015-2017 Chen Fengyuan + * Released under the MIT license + * + * Date: 2017-07-26T11:00:44.931Z + */ + +'use strict' + +// temporary workaround for https://github.com/octokit/rest.js/issues/774 + +const hasArrayBuffer = typeof ArrayBuffer === 'function' +const toString = Object.prototype.toString + +/** + * Check if the given value is an ArrayBuffer. + * @param {*} value - The value to check. + * @returns {boolean} Returns `true` if the given is an ArrayBuffer, else `false`. + * @example + * isArrayBuffer(new ArrayBuffer()) + * // => true + * isArrayBuffer(new Array()) + * // => false + */ +function isArrayBuffer (value) { + return hasArrayBuffer && (value instanceof ArrayBuffer || toString.call(value) === '[object ArrayBuffer]') +} + +module.exports = isArrayBuffer diff --git a/lib/request/request.js b/lib/request/request.js index 47fbd1d3..ce1dcd78 100644 --- a/lib/request/request.js +++ b/lib/request/request.js @@ -8,11 +8,11 @@ const https = require('https') const debug = require('debug')('octokit:rest') const defaults = require('lodash/defaults') -const isArrayBuffer = require('is-array-buffer') const isStream = require('is-stream') const pick = require('lodash/pick') const HttpError = require('./http-error') +const isArrayBuffer = require('./is-array-buffer') function httpRequest (origRequestOptions) { const requestOptions = Object.assign(