From 8b743f49d185b9da5200a1da07bcebed00b7e013 Mon Sep 17 00:00:00 2001 From: TopchetoEU <36534413+TopchetoEU@users.noreply.github.com> Date: Sat, 25 Nov 2023 18:44:55 +0200 Subject: [PATCH] feat: add toString, equals and hashCode overrides to wrappers and objects --- .../jscript/engine/values/NativeWrapper.java | 13 +++++++++++++ src/me/topchetoeu/jscript/lib/ObjectLib.java | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/me/topchetoeu/jscript/engine/values/NativeWrapper.java b/src/me/topchetoeu/jscript/engine/values/NativeWrapper.java index 49d785e..cda9881 100644 --- a/src/me/topchetoeu/jscript/engine/values/NativeWrapper.java +++ b/src/me/topchetoeu/jscript/engine/values/NativeWrapper.java @@ -12,6 +12,19 @@ public class NativeWrapper extends ObjectValue { else return super.getPrototype(ctx); } + @Override + public String toString() { + return wrapped.toString(); + } + @Override + public boolean equals(Object obj) { + return wrapped.equals(obj); + } + @Override + public int hashCode() { + return wrapped.hashCode(); + } + public NativeWrapper(Object wrapped) { this.wrapped = wrapped; prototype = NATIVE_PROTO; diff --git a/src/me/topchetoeu/jscript/lib/ObjectLib.java b/src/me/topchetoeu/jscript/lib/ObjectLib.java index 30bd47b..83457fa 100644 --- a/src/me/topchetoeu/jscript/lib/ObjectLib.java +++ b/src/me/topchetoeu/jscript/lib/ObjectLib.java @@ -140,7 +140,7 @@ import me.topchetoeu.jscript.interop.NativeConstructor; @Native public static ObjectValue fromEntries(Context ctx, Object iterable) { var res = new ObjectValue(); - for (var el : Values.toJavaIterable(ctx, iterable)) { + for (var el : Values.fromJSIterator(ctx, iterable)) { if (el instanceof ArrayValue) { res.defineProperty(ctx, ((ArrayValue)el).get(0), ((ArrayValue)el).get(1)); }