| File: ValueForms\JsonEncodeValueFormFactory.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.Encodings.Web; using System.Text.Json; using System.Text.Json.Serialization; namespace Microsoft.TemplateEngine.Orchestrator.RunnableProjects.ValueForms { [JsonSerializable(typeof(string))] internal partial class JsonEncodeSerializerContext : JsonSerializerContext; internal class JsonEncodeValueFormFactory : ActionableValueFormFactory { internal const string FormIdentifier = "jsonEncode"; private static readonly JsonEncodeSerializerContext JsonEncodeContext = new(new JsonSerializerOptions { Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping }); internal JsonEncodeValueFormFactory() : base(FormIdentifier) { } protected override string Process(string value) { return JsonSerializer.Serialize(value, JsonEncodeContext.String); } } }