Browse Source

Fix formatting.

pull/1330/head
Sebastian Stehle 2 weeks ago
parent
commit
696b0eedd5
  1. 34
      backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/Internal/EnumToStringConverter.cs
  2. 4
      backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/JintScript.cs
  3. 1
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Rules/RuleEnqueuerTests.cs

34
backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/Internal/EnumToStringConverter.cs

@ -0,0 +1,34 @@
// ==========================================================================
// Squidex Headless CMS
// ==========================================================================
// Copyright (c) Squidex UG (haftungsbeschraenkt)
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
using System.Diagnostics.CodeAnalysis;
using Jint;
using Jint.Native;
using Jint.Runtime.Interop;
namespace Squidex.Domain.Apps.Core.Scripting.Internal;
internal sealed class EnumToStringConverter : IObjectConverter
{
public static readonly EnumToStringConverter Instance = new EnumToStringConverter();
private EnumToStringConverter()
{
}
public bool TryConvert(Engine engine, object value, [MaybeNullWhen(false)] out JsValue result)
{
if (value is Enum)
{
result = value.ToString();
return true;
}
result = JsValue.Null;
return false;
}
}

4
backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/JintScript.cs

@ -54,8 +54,8 @@ internal sealed class JintScript : IScript, IAsyncScript, IDisposable
engine = new Engine(options => engine = new Engine(options =>
{ {
options.AddObjectConverter(JintObjectConverter.Instance); options.AddObjectConverter(JintObjectConverter.Instance, JintObjectConverter.HandledTypes);
options.AllowOperatorOverloading(); options.AddObjectConverter(EnumToStringConverter.Instance);
options.AllowClrWrite(!scriptOptions.Readonly); options.AllowClrWrite(!scriptOptions.Readonly);
options.SetTypeConverter(engine => new CustomClrConverter(engine)); options.SetTypeConverter(engine => new CustomClrConverter(engine));
options.SetReferencesResolver(NullPropagation.Instance); options.SetReferencesResolver(NullPropagation.Instance);

1
backend/tests/Squidex.Domain.Apps.Entities.Tests/Rules/RuleEnqueuerTests.cs

@ -398,7 +398,6 @@ public class RuleEnqueuerTests : GivenContext
Assert.Same(contexts[2].Context.Rules, contexts[3].Context.Rules); Assert.Same(contexts[2].Context.Rules, contexts[3].Context.Rules);
} }
private static RulesContext MatchingContext(Rule rule) private static RulesContext MatchingContext(Rule rule)
{ {
// These two properties must not be set to true for performance reasons. // These two properties must not be set to true for performance reasons.

Loading…
Cancel
Save