summary refs log tree commit diff
path: root/ReferenceClientProxyImplementation/Patches/Implementations/JSPatches/BooleanPatch.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ReferenceClientProxyImplementation/Patches/Implementations/JSPatches/BooleanPatch.cs')
-rw-r--r--ReferenceClientProxyImplementation/Patches/Implementations/JSPatches/BooleanPatch.cs21
1 files changed, 21 insertions, 0 deletions
diff --git a/ReferenceClientProxyImplementation/Patches/Implementations/JSPatches/BooleanPatch.cs b/ReferenceClientProxyImplementation/Patches/Implementations/JSPatches/BooleanPatch.cs
new file mode 100644

index 0000000..152a3f3 --- /dev/null +++ b/ReferenceClientProxyImplementation/Patches/Implementations/JSPatches/BooleanPatch.cs
@@ -0,0 +1,21 @@ +using System.Text; + +namespace ReferenceClientProxyImplementation.Patches.Implementations.JSPatches; + +public class BooleanPatch : IPatch { + public int GetOrder() => 0; + + public string GetName() => "Use real booleans in JS files"; + public bool Applies(string relativeName, byte[] content) => relativeName.EndsWith(".js"); + + public async Task<byte[]> Execute(string _, byte[] content) { + var stringContent = Encoding.UTF8.GetString(content); + + stringContent = stringContent + .Replace("return!", "return !") + .Replace("!0", "true") + .Replace("!1", "false"); + + return Encoding.UTF8.GetBytes(stringContent); + } +} \ No newline at end of file