generated/runtime/Conversions/Instances/EnumConverter.cs
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ using System; namespace Commvault.Powershell.Runtime.Json { public sealed class EnumConverter : IJsonConverter { private readonly Type type; internal EnumConverter(Type type) { this.type = type ?? throw new ArgumentNullException(nameof(type)); } public JsonNode ToJson(object value) => new JsonString(value.ToString()); public object FromJson(JsonNode node) { if (node.Type == JsonType.Number) { return Enum.ToObject(type, (int)node); } return Enum.Parse(type, node.ToString(), ignoreCase: true); } } } |