Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It turns out that it's not possible to use
instanceof Buffer
safely, like I thought.It's not possible to use
instanceof Buffer
reliably in a browserify context because there could be multiple different copies of the 'buffer' package in use.This previous method (checking
buf._isBuffer
) works even for Buffer instances that were created from another copy of thebuffer
package.NOTE: It's possible to have two different "instances" of the 'buffer' package, even if the 'buffer' package appears only once in the bundled code. This can happen if you require 'buffer' in different ways, for example:
require('buffer')
vs.require('buffer/')
vs. using the implicitBuffer
global.You can confirm this by browserifying this code:
So, for this reason,
instanceof
won't work.Fixes: #154