mirror of
https://github.com/oxc-project/oxc.git
synced 2026-09-14 19:36:11 +08:00
3bc5563d30
JavaScript strings can contain lone UTF-16 surrogates that Rust str cannot represent. The existing marker encoding separates the value from its metadata and lets consumers mistake marker text for the real value. Add arena-backed JSStr and JSStrBuilder using canonical WTF-8, then migrate StringLiteral::value and its required consumers. Preserve normal UTF-8 fast paths and validate concatenation against UTF-16 semantics. AI-assisted by OpenAI Codex.