Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
path: root/apps/api/ViGet/JavaProperties.cs
diff options
context:
space:
mode:
authorLeitwolf112026-10-29 12:42:13 +0300
committerLeitwolf112026-10-29 12:42:13 +0300
commit285e1024da64234b30b0fa425ffd6bf348119db4 (patch)
tree9801dc805a397052264cc5bc0a6c56cf870b179a /apps/api/ViGet/JavaProperties.cs
parent3d1c6d52b830d201a68b0440a8a81c13b74c8b92 (diff)
downloadprogmaweb-285e1024da64234b30b0fa425ffd6bf348119db4.tar.gz
Document the ViGet API in full and take zod 4.6.7 for eslint
The documentation check of the backend found the private members of ViGet/ without a summary and no page for its namespace: - Summaries for every field and helper method of the catalog, the descriptor, the properties reader, publishing and the endpoints. - docs/api/namespaces/Progmasoft.Progmaweb.Api.ViGet.md describes the namespace. - The two regular expressions of TazelPluginDescriptor are excluded from the reference like AccountNamePolicy.CanonicalPattern: the generator replaces their comment with its own. The dependency audit found GHSA for zod < 4.6.6, which can exhaust memory while validating oversized constrained collections. Only eslint-plugin-react-hooks reaches it, and it accepts any zod 4, so an override takes 4.6.7 until the plugin resolves a fixed release itself. pnpm audit --audit-level high finds nothing.
Diffstat (limited to 'apps/api/ViGet/JavaProperties.cs')
-rw-r--r--apps/api/ViGet/JavaProperties.cs6
1 files changed, 6 insertions, 0 deletions
diff --git a/apps/api/ViGet/JavaProperties.cs b/apps/api/ViGet/JavaProperties.cs
index e55991e..1b42f20 100644
--- a/apps/api/ViGet/JavaProperties.cs
+++ b/apps/api/ViGet/JavaProperties.cs
@@ -93,10 +93,16 @@ internal static class JavaProperties
}
}
+ /// <summary>Whether a character is white space of the format: space, tab or form feed.</summary>
private static bool IsBlank(char character) => character is ' ' or '\t' or '\f';
+ /// <summary>Whether an unescaped character ends a key.</summary>
private static bool IsKeyEnd(char character) => character is '=' or ':' || IsBlank(character);
+ /// <summary>Resolves the escapes of a key or a value.</summary>
+ /// <param name="text">The text as the file writes it.</param>
+ /// <returns>The text it stands for.</returns>
+ /// <exception cref="FormatException">A <c>\u</c> escape is not followed by four hexadecimal digits.</exception>
private static string Unescape(string text)
{
StringBuilder result = new(text.Length);