Closed
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Checklist
make -j4 test(UNIX), orvcbuild test nosign(Windows) passesAffected core subsystem(s)
buffer
Description of change
This backports the new
Buffer.alloc(),Buffer.allocUnsafe(),Buffer.from(), andBuffer.allocUnsafeSlow()APIs for v4.Note: some backported tests are disabled, but those are not related to the new API.
Important:
Buffer.from(arrayBuffer[, byteOffset [, length]])(as in 6.x) was not backported, I usedBuffer.from(arrayBuffer)instead, that helped to significantly reduce the code changes.Note that
--zero-fill-buffersis not included here (see #5745 for that), also the encoding parameter for.fill()is not included.Existing code changes are minor here, this is not invasive.
Only two changes in existing code:
.fill('')now zero-fills,One call to
Buffer(string, encoding)is replaced withBuffer.from.There is a typecheck in that code path, so the behaviour is identical. In fact it could be reverted back to
Buffer(string, encoding)or even changed tofromString(string, encoding)— that would just affect the double checks.All the other changes are additive, i.e. introduce new methods and don't change the existing ones.
I'm hoping that this and #5745 will make it into 4.5.0.
/cc @jasnell @nodejs/ctc @seishun