-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TextEncoder is not a constructor #5
Comments
Thank you for bringing this to my attention. The soonest that I shall be able to look into it will be at around 6:00PM EST (10:00PM UTC). I shall not stop until this is resolved or I fall asleep. Thank you so much! I wish I had a free slot right now where I could do something about it. |
After learning the webpack build system, cross-referencing multiple articles, and studying the generated code in the bundle output file, I believe I have identified that the problem is providing webkit with a ES6 flavour of the soup which can be accomplished, according to this article, via the |
Success (I think)! I have pushed up a new version of the library to integrate an ES6 module alternative to the library because it appears as though ES6 modules are easier for webpack to swallow (please don't quote me on this--I just learned webpack today, so I do not know much about webpack). Below is a download link for a "poor-man's" test used to validate whether or not the library is compatible with webpack. After opening the console on the demo.html page and refreshing, the number As I am still very new and inexperienced with ES6 modules and webpack, I would really appreciate your inspection and critique of my work in order to verify that everything has been done correctly with best-practices and so forth. Thank you so much for bringing this issue to my attention and explaining the problem so clearly and concisely. I really appreciate that you have spent your time to contribute to this project. ~ Happy coding! |
Thanks for looking at this so quickly. I've tried using it in my project and it is working. |
Thank you so much for getting back to me so quickly. I shall apply these changes to my other npm libraries. |
I have not had time to look into why this is occurring, but when I run test using jest the tests fail as encode is not a function. FYI I am using create-react-app. |
I am sorry, but I do not fully understand your comment as I sometimes struggle with English. Are you saying that my fixes do not actually work? If my fixes do not actually work, then please tell me and attach a zip file of your project to your comment so that I can debug it myself in the hopes of finding the problem. Because I am unfamiliar either with react or with webpack, I am at a loss to find probable explanations. Thus, I do not know how to proceed with finding the error other than by using your project in its current state. If you are concerned about the privacy, piracy, and privy of your project, then please upload the project to an external website where you can delete the file as soon as I have downloaded it. Further, after I am finished debugging the problem with FastestSmallestTextEncoderDecoder in your project, I can promise to purge your project from my SSD hard disk. |
Your fix works when running the code in the browser, but it does not work when running tests using jest. I have created a mock project to show you the issue with testing that I am experiencing https://github.com/JamesMHenderson/fastestsmallesttextencoderdecoderreact Run You will see that running the tests causes the fllowing error TypeError: (intermediate value).encode is not a function
|
Thank you so much for bringing this to my attention. I am reopening the issue and getting right on it. Thank you for all your help. ~ Happy coding! |
Oops! I found my very silly mistake. Closure Compiler mangles property names and I forgot to explicitly mark the TextDecoder.prototype.decode = decode; // BAD
TextEncoder.prototype.encode = encode; // BAD
TextDecoder.prototype["decode"] = decode; // GOOD
TextEncoder.prototype["encode"] = encode; // GOOD I have made these fixes and pushed up version 1.0.7 of this library. After updating and running Please tell me whether my changes have fixed your project. Thank you. ~ Happy Coding! |
Thank you. I've tested the changes in my mock project and it is working. I will check tomorrow that this is working in my actual project. I did pull this repository locally to see if I could work out what this issue is but I couldn't run any of the npm scripts. Please could you provide instructions to set this up? |
Thank you for getting back to me so quickly. You have been so helpful with finding and eliminating this bug. I am so glad that this project now works for you. As for the instructions, please see the development section of the README. ~ Happy coding! |
In version 1.0.4 calling the text encoder like
new TextEncoder('utf-8').encode(value).length
causes the following error
TypeError: fastestsmallesttextencoderdecoder__WEBPACK_IMPORTED_MODULE_0__.TextEncoder is not a constructor
This error does not occur in v1.0.3
The text was updated successfully, but these errors were encountered: