@notjosh/rangy-serializer (npm): A cross-browser DOM range and selection library
Keywords: range|selection|caret|DOM