Skip to content

Commit 1cc554f

Browse files
committed
In JavaScriptEngineSwitcher.Yantra added support of YantraJS version 1.2.143
1 parent 55a93d1 commit 1cc554f

File tree

4 files changed

+30
-16
lines changed

4 files changed

+30
-16
lines changed

src/JavaScriptEngineSwitcher.Yantra/JavaScriptEngineSwitcher.Yantra.csproj

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,14 @@
1414
<Import Project="../../build/nuget-for-dotnet-lib.props" />
1515

1616
<PropertyGroup>
17-
<Description>JavaScriptEngineSwitcher.Yantra contains adapter `YantraJsEngine` (wrapper for the Yantra JavaScript Engine (https://yantrajs.com) version 1.2.129).</Description>
17+
<Description>JavaScriptEngineSwitcher.Yantra contains adapter `YantraJsEngine` (wrapper for the Yantra JavaScript Engine (https://yantrajs.com) version 1.2.143).</Description>
1818
<PackageTags>$(PackageCommonTags);Yantra;YantraJS</PackageTags>
1919
<PackageIconFullPath>../../Icons/JavaScriptEngineSwitcher_Yantra_Logo128x128.png</PackageIconFullPath>
20+
<PackageReleaseNotes>YantraJS was updated to version 1.2.143.</PackageReleaseNotes>
2021
</PropertyGroup>
2122

2223
<ItemGroup>
23-
<PackageReference Include="YantraJS.Core" Version="1.2.129" />
24+
<PackageReference Include="YantraJS.Core" Version="1.2.143" />
2425

2526
<ProjectReference Include="../JavaScriptEngineSwitcher.Core/JavaScriptEngineSwitcher.Core.csproj" />
2627
</ItemGroup>

src/JavaScriptEngineSwitcher.Yantra/YantraJsEngine.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public sealed class YantraJsEngine : JsEngineBase
4747
/// <summary>
4848
/// Version of original JS engine
4949
/// </summary>
50-
private const string EngineVersion = "1.2.129";
50+
private const string EngineVersion = "1.2.143";
5151

5252
/// <summary>
5353
/// Regular expression for working with the error message
@@ -172,15 +172,13 @@ private static object MapToHostType(OriginalValue value)
172172
}
173173
else if (value.IsFunction && value is OriginalClrType)
174174
{
175-
var clrType = (OriginalClrType)value;
176-
result = clrType.Type;
175+
result = value.ForceConvert(typeof(Type));
177176
}
178177
else if (value.IsObject)
179178
{
180179
if (value is OriginalDate)
181180
{
182-
var jsDate = (OriginalDate)value;
183-
result = jsDate.DateTime;
181+
result = value.ForceConvert(typeof(DateTime));
184182
}
185183
else if (value is OriginalClrProxy)
186184
{

src/JavaScriptEngineSwitcher.Yantra/readme.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,12 @@
1212
DESCRIPTION
1313
===========
1414
JavaScriptEngineSwitcher.Yantra contains adapter `YantraJsEngine` (wrapper for the
15-
Yantra JavaScript Engine (https://yantrajs.com) version 1.2.129).
15+
Yantra JavaScript Engine (https://yantrajs.com) version 1.2.143).
16+
17+
=============
18+
RELEASE NOTES
19+
=============
20+
YantraJS was updated to version 1.2.143.
1621

1722
=============
1823
DOCUMENTATION

test/JavaScriptEngineSwitcher.Tests/Yantra/ConsoleTests.cs

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#if NET471 || NETCOREAPP3_1_OR_GREATER
22
using System;
3+
using System.Globalization;
34
using System.Text;
45

56
using Xunit;
@@ -55,7 +56,7 @@ function calculateIncomeTax(salary) {
5556
console.log('Папа у Васи силен в', favoriteSchoolSubject);
5657
console.log('Страница в Википедии:', wikipediaPageUrl);";
5758
string targetOutput = "undefined null {\"city\":\"Тамбов\",\"street\":\"Магистральная\"," +
58-
"\"houseNumber\":\"41к7\",\"apartmentNumber\":115} [\"Мурзик\",\"Шарик\"] True 698426795 22000,82 " +
59+
"\"houseNumber\":\"41к7\",\"apartmentNumber\":115} [\"Мурзик\",\"Шарик\"] True 698426795 22000.82 " +
5960
"Василий Пупкин Symbol(id) 1990-03-14T21:00:00.0000000Z" + Environment.NewLine +
6061
"Функция для расчета подоходного налога: [Function: calculateIncomeTax]" + Environment.NewLine +
6162
"Папа у Васи силен в System.Math" + Environment.NewLine +
@@ -198,17 +199,26 @@ public void Log(string type, object[] args)
198199
_buffer.Append(" ");
199200
}
200201

201-
object arg = args[argIndex];
202-
if (arg is DateTime)
203-
{
204-
var dateTime = (DateTime)arg;
205-
DateTime universalDateTime = dateTime.ToUniversalTime();
202+
object arg = args[argIndex] ?? "null";
203+
var formattableArg = arg as IFormattable;
206204

207-
_buffer.Append(universalDateTime.ToString("O"));
205+
if (formattableArg != null)
206+
{
207+
if (formattableArg is DateTime)
208+
{
209+
var dateTime = (DateTime)formattableArg;
210+
DateTime universalDateTime = dateTime.ToUniversalTime();
211+
212+
_buffer.Append(universalDateTime.ToString("O", CultureInfo.InvariantCulture));
213+
}
214+
else
215+
{
216+
_buffer.Append(formattableArg.ToString("G", CultureInfo.InvariantCulture));
217+
}
208218
}
209219
else
210220
{
211-
_buffer.Append(arg != null ? arg.ToString() : "null");
221+
_buffer.Append(arg.ToString());
212222
}
213223
}
214224

0 commit comments

Comments
 (0)