| File: ValueForms\DefaultSafeNameValueFormFactory.cs | Web Access |
| Project: src\sdk\src\TemplateEngine\Microsoft.TemplateEngine.Orchestrator.RunnableProjects\Microsoft.TemplateEngine.Orchestrator.RunnableProjects.csproj (Microsoft.TemplateEngine.Orchestrator.RunnableProjects) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Text.RegularExpressions; namespace Microsoft.TemplateEngine.Orchestrator.RunnableProjects.ValueForms { internal class DefaultSafeNameValueFormFactory : ActionableValueFormFactory { internal const string FormIdentifier = "safe_name"; internal DefaultSafeNameValueFormFactory() : base(FormIdentifier) { } internal static string ToSafeName(string value) { const string replacement = "_"; string workingValue = Regex.Replace(value, @"(^\s+|\s+$)", string.Empty); workingValue = Regex.Replace(workingValue, @"(((?<=\.)|^)(?=\d)|\W)", replacement); return workingValue; } protected override string Process(string value) => ToSafeName(value); } }