/** * Serialise a value for embedding inside a `` breaks out of the * island and everything after it is parsed as HTML. Flow dehydrates every `@expose` and * `@locked` property, and `_seedUrlProps` copies query-string values straight into `@url` * props, so the payload routinely carries attacker-controlled strings. * * Escaping `<` to `\u003c` is valid JSON — it re-parses to the identical string — and closes * the breakout. U+2028 and U+2029 are escaped too: both are legal inside a JSON string but are * line terminators in JavaScript, so they break any consumer that evaluates rather than parses. * * @param value - Any JSON-serialisable value. * @returns JSON text that is safe to interpolate between `