function restoreNonJSONValueLiterals(jsCodeText) {
    return jsCodeText
        .replace(/\u2028/gu, "\\u2028") // Maybe editors cannot handle U+2028 and U+2029 correctly.
        .replace(/\u2029/gu, "\\u2029")
        .replace(ReplacedStringLiteralPattern, (_, prefix, value) => {
            if (prefix === Prefix.number) {
                return value; // NaN, Infinity, or -Infinity
            }
            if (prefix === Prefix.bigint) {
                return value; // bigint literals
            }
            if (prefix === Prefix.RegExp) {

                // TODO: Generate fallback code for the case that runtime didn't support syntax natively.
                //       Currently, Node.js of the minimum supported version supports all RegExp features.
                //       But new `d` flag is at Stage 3 and maybe it will need fallback code.

                // Parse it as a string literal for restoring escape sequences that `JSON.stringify` created.
                return JSON.parse(`"${value}"`);
            }

            throw new Error(`unreachable; unknown prefix ${prefix}`);
        });
}
Convert the string literals that the `replaceToSaveNonJSONValues` function
replaced to the JavaScript code of the original value.
@param {string} jsCodeText The JavaScript code text to convert.
@returns {string} The converted JavaScript code text.
@private