| File: TemplateParameterPrecedenceExtensions.cs | Web Access |
| Project: src\sdk\src\TemplateEngine\Microsoft.TemplateEngine.Abstractions\Microsoft.TemplateEngine.Abstractions.csproj (Microsoft.TemplateEngine.Abstractions) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.TemplateEngine.Abstractions; public static class TemplateParameterPrecedenceExtensions { /// <summary> /// Converts legacy parameter priority to the PrecedenceDefinition. /// </summary> /// <param name="priority"></param> /// <returns></returns> /// <exception cref="ArgumentOutOfRangeException"></exception> [Obsolete("TemplateParameterPriority is Obsolete and should be replaced with PrecedenceDefinition.")] public static PrecedenceDefinition ToPrecedenceDefinition(this TemplateParameterPriority priority) { return priority switch { TemplateParameterPriority.Required => PrecedenceDefinition.Required, TemplateParameterPriority.Optional => PrecedenceDefinition.Optional, TemplateParameterPriority.Implicit => PrecedenceDefinition.Implicit, TemplateParameterPriority.Suggested => throw new NotImplementedException(), _ => throw new ArgumentOutOfRangeException(nameof(priority), priority, null), }; } /// <summary> /// Converts legacy parameter priority to the TemplateParameterPrecedence. /// </summary> /// <param name="priority"></param> /// <returns></returns> [Obsolete("TemplateParameterPriority is Obsolete and should be replaced with PrecedenceDefinition.")] public static TemplateParameterPrecedence ToTemplateParameterPrecedence(this TemplateParameterPriority priority) { return new TemplateParameterPrecedence(priority.ToPrecedenceDefinition(), null, null); } /// <summary> /// Converts the PrecedenceDefinition to legacy TemplateParameterPriority. /// </summary> /// <param name="precedenceDefinition"></param> /// <returns></returns> /// <exception cref="ArgumentOutOfRangeException"></exception> [Obsolete("TemplateParameterPriority is Obsolete and should be replaced with PrecedenceDefinition.")] public static TemplateParameterPriority ToTemplateParameterPriority(this PrecedenceDefinition precedenceDefinition) { return precedenceDefinition switch { PrecedenceDefinition.Required => TemplateParameterPriority.Required, PrecedenceDefinition.Optional => TemplateParameterPriority.Optional, PrecedenceDefinition.Implicit => TemplateParameterPriority.Implicit, _ => TemplateParameterPriority.Optional, }; } }