| File: Alias\AliasModel.cs | Web Access |
| Project: src\sdk\src\Cli\Microsoft.TemplateEngine.Cli\Microsoft.TemplateEngine.Cli.csproj (Microsoft.TemplateEngine.Cli) |
// 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.Json.Serialization; namespace Microsoft.TemplateEngine.Cli.Alias { internal class AliasModel { internal AliasModel() : this(new Dictionary<string, IReadOnlyList<string>>()) { } internal AliasModel(IReadOnlyDictionary<string, IReadOnlyList<string>> commandAliases) { CommandAliases = new Dictionary<string, IReadOnlyList<string>>(commandAliases.ToDictionary(x => x.Key, x => x.Value), StringComparer.OrdinalIgnoreCase); } [JsonInclude] internal Dictionary<string, IReadOnlyList<string>> CommandAliases { get; set; } internal void AddCommandAlias(string aliasName, IReadOnlyList<string> aliasTokens) { CommandAliases.Add(aliasName, aliasTokens); } internal bool TryRemoveCommandAlias(string aliasName, out IReadOnlyList<string>? aliasTokens) { if (CommandAliases.TryGetValue(aliasName, out aliasTokens)) { CommandAliases.Remove(aliasName); return true; } return false; } } }