diff --git a/lib/stream.js b/lib/stream.js index 9a816600a05e5a..ba056026d8b20b 100644 --- a/lib/stream.js +++ b/lib/stream.js @@ -38,16 +38,15 @@ Stream.Stream = Stream; // Internal utilities try { - Stream._isUint8Array = require('internal/util/types').isUint8Array; -} catch (e) { - // Throws for code outside of Node.js core. - - try { - Stream._isUint8Array = process.binding('util').isUint8Array; - } catch (e) { + const types = require('util').types; + if (types && typeof types.isUint8Array === 'function') { + Stream._isUint8Array = types.isUint8Array; + } else { // This throws for Node < 4.2.0 because there's no util binding and // returns undefined for Node < 7.4.0. + Stream._isUint8Array = process.binding('util').isUint8Array; } +} catch (e) { } if (!Stream._isUint8Array) { diff --git a/lib/zlib.js b/lib/zlib.js index 317fd83ce0f5f2..01a2ebe9335bad 100644 --- a/lib/zlib.js +++ b/lib/zlib.js @@ -28,9 +28,13 @@ const { ERR_ZLIB_INITIALIZATION_FAILED } = require('internal/errors').codes; const Transform = require('_stream_transform'); -const { _extend } = require('util'); -const { isAnyArrayBuffer } = process.binding('util'); -const { isArrayBufferView } = require('internal/util/types'); +const { + _extend, + types: { + isAnyArrayBuffer, + isArrayBufferView + } +} = require('util'); const binding = process.binding('zlib'); const assert = require('assert').ok; const {