vhtml icon indicating copy to clipboard operation
vhtml copied to clipboard

Switch to WeakMap and String objects to avoid memory leak. Fixes #20 and #34.

Open johannesodland opened this issue 10 months ago • 0 comments

Adding a new PR here to start the discussion on solving #20 again.

  • PR https://github.com/developit/vhtml/pull/23 aims to solve #20 by switching to WeakMap, but it uses string primitives as keys and will throw TypeError: Invalid value used as weak map key.

  • PR https://github.com/developit/vhtml/pull/36 switches to a Set for storing the sanitized strings, but we risk evicting strings from the set before using them, changing the output of vhtml() to escaped text.

This PR switches to WeakMap (as in https://github.com/developit/vhtml/pull/23), but uses string objects as keys. This will have a performance impact, and change the output from vhtml() from string primitives to string objects.

The question is if it's worth taking the performance impact to solve both #20 and #34.

johannesodland avatar Oct 22 '23 09:10 johannesodland