summary refs log tree commit diff
path: root/ReferenceClientProxyImplementation/Patches/Implementations/JSPatches/LogErrorContextPatch.cs
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2026-02-23 02:03:20 +0100
committerRory& <root@rory.gay>2026-02-23 02:03:20 +0100
commit77a609758bb80bac9497d2e3988550f8be578407 (patch)
tree991a9d258ca4fece1132a1a344d0fe11e3b03d51 /ReferenceClientProxyImplementation/Patches/Implementations/JSPatches/LogErrorContextPatch.cs
downloadReferenceClientProxyImplementation-77a609758bb80bac9497d2e3988550f8be578407.tar.xz
Initial commit HEAD master
Diffstat (limited to 'ReferenceClientProxyImplementation/Patches/Implementations/JSPatches/LogErrorContextPatch.cs')
-rw-r--r--ReferenceClientProxyImplementation/Patches/Implementations/JSPatches/LogErrorContextPatch.cs34
1 files changed, 34 insertions, 0 deletions
diff --git a/ReferenceClientProxyImplementation/Patches/Implementations/JSPatches/LogErrorContextPatch.cs b/ReferenceClientProxyImplementation/Patches/Implementations/JSPatches/LogErrorContextPatch.cs
new file mode 100644

index 0000000..2005c4c --- /dev/null +++ b/ReferenceClientProxyImplementation/Patches/Implementations/JSPatches/LogErrorContextPatch.cs
@@ -0,0 +1,34 @@ +// using System.Text; +// using System.Text.RegularExpressions; +// +// namespace ReferenceClientProxyImplementation.Patches.Implementations.JSPatches; +// +// public partial class LogErrorContextPatch : IPatch { +// public int GetOrder() => 2; +// +// public string GetName() => "Patch assertions to log more context"; +// public bool Applies(string relativeName, byte[] content) => relativeName.EndsWith(".js"); +// +// public async Task<byte[]> Execute(string relativePath, byte[] content) { +// var stringContent = Encoding.UTF8.GetString(content); +// +// stringContent = NotNullAssertionRegex().Replace( +// stringContent, +// m => { +// var methodName = m.Groups[1].Value; +// var objectName = m.Groups[2].Value; +// var message = m.Groups[3].Value; +// Console.WriteLine($"Patching not-null assertion in {relativePath}: {methodName} - {message}"); +// +// return $@"{methodName}()(null != {objectName}, ""{message} - Context: "" + JSON.stringify({objectName}))"; +// } +// ); +// +// return Encoding.UTF8.GetBytes(stringContent); +// } +// +// // null assertion: u()(null != o, "PrivateChannel.renderAvatar: Invalid prop configuration - no user or channel"); +// // capture: method name, object name, message +// [GeneratedRegex(@"([a-zA-Z0-9_]+)\(\)\(\s*null != ([a-zA-Z0-9_]+),\s*""([^""]+)""\s*\)", RegexOptions.Compiled)] +// private static partial Regex NotNullAssertionRegex(); +// } \ No newline at end of file