Skip to content

Commit

Permalink
Sanitizing characters from variable names to accommodate F# anonymous…
Browse files Browse the repository at this point in the history
… types. Bumps to 3.0.2
  • Loading branch information
jeremydmiller committed Aug 14, 2023
1 parent bab789e commit 994ad91
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 3 deletions.
2 changes: 1 addition & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<PropertyGroup>
<VersionPrefix>3.0.1</VersionPrefix>
<VersionPrefix>3.0.2</VersionPrefix>
<LangVersion>10.0</LangVersion>
<Authors>Jeremy D. Miller;Babu Annamalai;Oskar Dudycz;Joona-Pekka Kokko</Authors>
<TargetFrameworks>net6.0;net7.0</TargetFrameworks>
Expand Down
8 changes: 6 additions & 2 deletions src/JasperFx.CodeGeneration/Model/Variable.cs
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,10 @@ public static Variable For<T>(string? variableName = null)
return new Variable(typeof(T), variableName ?? DefaultArgName(typeof(T)));
}

public static string SanitizeVariableName(string variableName)
{
return variableName.Replace('<', '_').Replace('>', '_');
}

public static string DefaultArgName(Type argType)
{
Expand All @@ -97,7 +101,7 @@ public static string DefaultArgName(Type argType)
var argPrefix = DefaultArgName(argType.DetermineElementType()!);
var suffix = argType.GetGenericTypeDefinition().Name.Split('`').First();

return argPrefix + suffix;
return SanitizeVariableName(argPrefix + suffix);
}

if (argType == typeof(string)) return "stringValue";
Expand All @@ -113,7 +117,7 @@ public static string DefaultArgName(Type argType)
}

var raw = (parts.First().ToLower() + parts.Skip(1).Join("")).Split('`').First();
return raw;
return SanitizeVariableName(raw);
}

public static string DefaultArgName<T>()
Expand Down

0 comments on commit 994ad91

Please sign in to comment.