Support typed arrays in iconv.decode#179
Open
LMLB wants to merge 5 commits intopillarjs:masterfrom
LMLB:patch-2
Open
Support typed arrays in iconv.decode#179LMLB wants to merge 5 commits intopillarjs:masterfrom LMLB:patch-2
LMLB wants to merge 5 commits intopillarjs:masterfrom
LMLB:patch-2
Conversation
This simplifies using browserified iconv-lite as a standalone library in environments without Buffer by also allowing callers to provide a typed array instead of a buffer. Note that you can't directly access the Buffer shim from outside the iconv-lite browserify bundle by default. Right now (without this change) you would either have to build and load the Buffer shim separately, indirectly access the Buffer shim via the "constructor" property of a buffer object returned from iconv.encode, or make a custom bundle that exports both iconv and Buffer.
Contributor
|
I see the problem, yes. On the other hand I can see how this can lead to unexpected behavior like this: > const buf = iconv.encode("hey", "latin1");
> const arr = Uint32Array.from(buf);
> console.log(iconv.decode(arr, "latin1"));
'h\u0000\u0000\u0000e\u0000\u0000\u0000y\u0000\u0000\u0000'Does it make sense to just reexport Buffer class and make the caller be responsible for transforming typed arrays? |
Contributor
Author
|
I have limited it to only accept 8-bit typed arrays, how is that? |
84ee650 to
9aa082f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
This simplifies using browserified iconv-lite as a standalone library in environments without Buffer by also allowing callers to provide a typed array instead of a buffer.
Note that you can't directly access the Buffer shim from outside the iconv-lite browserify bundle by default. Right now (without this change) you would either have to build and load the Buffer shim separately, indirectly access the Buffer shim via the "constructor" property of a buffer object returned from iconv.encode, or make a custom bundle that exports both iconv and Buffer.