Skip to content

Commit 7a2c4f8

Browse files
committed
In JavaScriptEngineSwitcher.Yantra added support for the YantraJS version 1.2.334
1 parent d90c595 commit 7a2c4f8

4 files changed

Lines changed: 25 additions & 16 deletions

File tree

src/JavaScriptEngineSwitcher.Yantra/JavaScriptEngineSwitcher.Yantra.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@
1919
<PackageIconFullPath>../../Icons/JavaScriptEngineSwitcher_Yantra_Logo128x128.png</PackageIconFullPath>
2020
<Description>JavaScriptEngineSwitcher.Yantra contains a `YantraJsEngine` adapter (wrapper for the YantraJS).</Description>
2121
<PackageTags>$(PackageCommonTags);Yantra;YantraJS</PackageTags>
22-
<PackageReleaseNotes>YantraJS was updated to version 1.2.316.</PackageReleaseNotes>
22+
<PackageReleaseNotes>YantraJS was updated to version 1.2.334.</PackageReleaseNotes>
2323
</PropertyGroup>
2424

2525
<ItemGroup>
26-
<PackageReference Include="YantraJS.Core" Version="1.2.316" />
26+
<PackageReference Include="YantraJS.Core" Version="1.2.334" />
2727

2828
<ProjectReference Include="../JavaScriptEngineSwitcher.Core/JavaScriptEngineSwitcher.Core.csproj" />
2929
</ItemGroup>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
JavaScriptEngineSwitcher.Yantra contains a `YantraJsEngine` adapter (wrapper for the [YantraJS](https://github.com/yantrajs/yantra) version 1.2.316).
1+
JavaScriptEngineSwitcher.Yantra contains a `YantraJsEngine` adapter (wrapper for the [YantraJS](https://github.com/yantrajs/yantra) version 1.2.334).

src/JavaScriptEngineSwitcher.Yantra/YantraJsEngine.cs

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@
2121
using OriginalException = YantraJS.Core.JSException;
2222
using OriginalFunction = YantraJS.Core.JSFunction;
2323
using OriginalJsonObject = YantraJS.Core.JSJSON;
24+
using OriginalKeyString = YantraJS.Core.KeyString;
2425
using OriginalTypeConverter = YantraJS.Utils.TypeConverter;
2526
using OriginalUndefined = YantraJS.Core.JSUndefined;
2627
using OriginalValue = YantraJS.Core.JSValue;
2728

2829
using JavaScriptEngineSwitcher.Core;
2930
using JavaScriptEngineSwitcher.Core.Constants;
30-
using JavaScriptEngineSwitcher.Core.Extensions;
3131
using JavaScriptEngineSwitcher.Core.Helpers;
3232
using JavaScriptEngineSwitcher.Core.Utilities;
3333

@@ -54,7 +54,7 @@ public sealed class YantraJsEngine : JsEngineBase
5454
/// <summary>
5555
/// Version of original JS engine
5656
/// </summary>
57-
private const string EngineVersion = "1.2.316";
57+
private const string EngineVersion = "1.2.334";
5858

5959
/// <summary>
6060
/// Regular expression for working with the error message
@@ -332,7 +332,7 @@ private WrapperException WrapJsException(OriginalException originalException)
332332
string messageWithCallStack = type == JsErrorType.Syntax ?
333333
originalException.JSStackTrace.AsStringOrDefault()
334334
:
335-
errorValue.Stack ?? errorValue["stack"].AsStringOrDefault()
335+
errorValue.Stack ?? errorValue[OriginalKeyString.stack].AsStringOrDefault()
336336
;
337337
string rawCallStack = GetRawCallStack(message, messageWithType, messageWithCallStack);
338338

@@ -483,13 +483,15 @@ private OriginalValue InnerEvaluateWithoutResultConversion(string expression, st
483483
private OriginalValue InnerCallFunctionWithoutResultConversion(string functionName, params object[] args)
484484
{
485485
OriginalValue resultValue;
486+
OriginalKeyString functionKeyName = functionName.ToKeyString();
486487
OriginalValue[] processedArgs = MapToScriptType(args);
487488

488489
try
489490
{
490491
lock (_executionSynchronizer)
491492
{
492-
resultValue = _jsContext.InvokeMethod(functionName, new OriginalArguments(_jsContext, processedArgs));
493+
resultValue = _jsContext.InvokeMethod(functionKeyName,
494+
new OriginalArguments(_jsContext, processedArgs));
493495
}
494496
}
495497
catch (OriginalException e)
@@ -515,12 +517,13 @@ private OriginalValue InnerCallFunctionWithoutResultConversion(string functionNa
515517
private OriginalValue InnerGetVariableValueWithoutResultConversion(string variableName)
516518
{
517519
OriginalValue variableValue;
520+
OriginalKeyString variableKeyName = variableName.ToKeyString();
518521

519522
try
520523
{
521524
lock (_executionSynchronizer)
522525
{
523-
variableValue = _jsContext[variableName];
526+
variableValue = _jsContext[variableKeyName];
524527
}
525528
}
526529
catch (OriginalException e)
@@ -625,10 +628,11 @@ protected override bool InnerHasVariable(string variableName)
625628
try
626629
{
627630
OriginalValue variableValue;
631+
OriginalKeyString variableKeyName = variableName.ToKeyString();
628632

629633
lock (_executionSynchronizer)
630634
{
631-
variableValue = _jsContext[variableName];
635+
variableValue = _jsContext[variableKeyName];
632636
}
633637

634638
result = !variableValue.IsUndefined;
@@ -659,13 +663,14 @@ protected override T InnerGetVariableValue<T>(string variableName)
659663

660664
protected override void InnerSetVariableValue(string variableName, object value)
661665
{
666+
OriginalKeyString variableKeyName = variableName.ToKeyString();
662667
OriginalValue processedValue = MapToScriptType(value);
663668

664669
try
665670
{
666671
lock (_executionSynchronizer)
667672
{
668-
_jsContext[variableName] = processedValue;
673+
_jsContext[variableKeyName] = processedValue;
669674
}
670675
}
671676
catch (OriginalException e)
@@ -676,11 +681,13 @@ protected override void InnerSetVariableValue(string variableName, object value)
676681

677682
protected override void InnerRemoveVariable(string variableName)
678683
{
684+
OriginalKeyString variableKeyName = variableName.ToKeyString();
685+
679686
try
680687
{
681688
lock (_executionSynchronizer)
682689
{
683-
_jsContext.Delete(variableName);
690+
_jsContext.Delete(variableKeyName);
684691
}
685692
}
686693
catch (OriginalException e)
@@ -691,7 +698,9 @@ protected override void InnerRemoveVariable(string variableName)
691698

692699
protected override void InnerEmbedHostObject(string itemName, object value)
693700
{
701+
OriginalKeyString itemKeyName = itemName.ToKeyString();
694702
OriginalValue processedValue;
703+
695704
if (value is Delegate)
696705
{
697706
processedValue = CreateEmbeddedFunction((Delegate)value);
@@ -705,8 +714,7 @@ protected override void InnerEmbedHostObject(string itemName, object value)
705714
{
706715
lock (_executionSynchronizer)
707716
{
708-
_jsContext[itemName] = processedValue;
709-
717+
_jsContext[itemKeyName] = processedValue;
710718
}
711719
}
712720
catch (OriginalException e)
@@ -717,13 +725,14 @@ protected override void InnerEmbedHostObject(string itemName, object value)
717725

718726
protected override void InnerEmbedHostType(string itemName, Type type)
719727
{
728+
OriginalKeyString itemKeyName = itemName.ToKeyString();
720729
OriginalValue processedValue = OriginalClrType.From(type);
721730

722731
try
723732
{
724733
lock (_executionSynchronizer)
725734
{
726-
_jsContext[itemName] = processedValue;
735+
_jsContext[itemKeyName] = processedValue;
727736
}
728737
}
729738
catch (OriginalException e)

src/JavaScriptEngineSwitcher.Yantra/readme.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@
1212
DESCRIPTION
1313
===========
1414
JavaScriptEngineSwitcher.Yantra contains a `YantraJsEngine` adapter (wrapper for the
15-
YantraJS (https://github.com/yantrajs/yantra) version 1.2.316).
15+
YantraJS (https://github.com/yantrajs/yantra) version 1.2.334).
1616

1717
=============
1818
RELEASE NOTES
1919
=============
20-
YantraJS was updated to version 1.2.316.
20+
YantraJS was updated to version 1.2.334.
2121

2222
=============
2323
DOCUMENTATION

0 commit comments

Comments
 (0)