JavaScriptCore santizes source URLs in error stacks by stripping query strings and fragments. Ref: Webkit/Webkit#49109d
.
This package contains utility functions required to implement the proposed React Native Community RFC0646. It exports three functons:
Returns false
if the URL has a query component that could be stripped by JSC.
Accepts an absolute or relative URL, and encodes any data in the input query string (if present) into the path component of the URL, by using the delimiter //&
(which cannot appear in a normalized file path) to separate the original path from the orignal query string.
toJscSafeUrl('https://example.com/path?foo=bar#fragment')
// 'https://example.com/path//&foo=bar#fragment'
Accepts an absolute or relative URL, and replaces the first unescaped //&
in the path component with ?
. (Effectively the reverse of toJscSafeUrl
.)
toNormalUrl('https://example.com/path//&foo=bar#fragment')
// 'https://example.com/path?foo=bar#fragment'