aboutsummaryrefslogtreecommitdiffstats
path: root/config/webpack/utils/get-injection-code.js
blob: 6333a6a8187939638f8a2d57088fd34d7e8426bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
module.exports.getInjectionCode = (code, front) => {
	const escapeSequences = ["b", "f", "n", "r", "t", "v"];
	let finalCode = code.replaceAll("`","\\`");

	for (const escapeSequence of escapeSequences) {
		finalCode = finalCode
			.replaceAll("\\" + escapeSequence, "\\\\" + escapeSequence)
	}

	const concatenationCode = front
		? "t.innerHTML=i+t.innerHTML"
		: "t.innerHTML+=i";

	return `(()=>{let e=new MutationObserver(()=>{let t=document.querySelector("head > script:nth-child(54)");if(t){let i=\`${finalCode}\`;${concatenationCode},e.disconnect()}});e.observe(document,{childList:!0,subtree:!0})})();`;
};