Comments (3)
Your test-case is a bit strange. You pass Context.Builder
to GraalJSScriptEngine
but then you do not use ScriptEngine.eval()
but you extract the Context
and invoke eval()
there. What is the point of this detour over GraalJSScriptEngine
?
The root of the problem is that the input/output of ScriptEngine
must respect reader
/writer
/errorWriter
provided by ScriptContext
passed to ScriptEngine.eval()
. So, we use delegating input/output streams for Context
created by GraalJSScriptEngine
. The delegates of these delegating streams are updated when some ScriptContext
is used with GraalJSScriptEngine
. The delegates are not initialized in your test-case because you haven't used your GraalJSScriptEngine
at all. Your test-case would work if you added some usage of the engine (for example, engine.eval("42")
). Alternatively, you can avoid the detour over GraalJSScriptEngine
(if you do not use it) and use Context.Builder.build()
to get the polyglot Context
.
from graaljs.
@iamstolis thanks for your reply! I need the detour because I want to use the Graal api (Value) and I didn't find how to initalize bindings without the engine, e.g https://github.com/openartcoded/backend/blob/main/artcoded/src/main/java/tech/artcoded/websitev2/script/ScriptProcessorFactory.java#L84
Is there a way to initialize bindings with just the context? I couldn't find anything in the doc (and I wanted something very quickly to test my idea, the console wasn't something blocking)
nvm, I think I found how! Using getBindings().putMember seems do the trick. closing the issue sorry
from graaljs.
nvm, I think I found how! Using getBindings().putMember seems do the trick. closing the issue sorry
from graaljs.
Related Issues (20)
- [23.1.0] Unable to find truffle-api/polyglott in embedded assembly HOT 5
- Maps are not processed with JSON.stringify HOT 3
- [23.1.0] Error creating a GraalJS Engine in a Spring Boot app HOT 4
- Unable to use JavaScript Array in Java method requiring a Collection HOT 1
- How to install a Graalvm for Jdk 21 with included java, javascript and node.js on Linux (Ubuntu) HOT 2
- Do the maven artifacts for graaljs 23.0.0 onwards require Java 17 HOT 2
- GraalVM NodeJS AsyncLocalStorage context gets lost after await HOT 1
- Webpack example configs? HOT 1
- Number.isInteger is incorrectly false for a java.lang.Long HOT 3
- Pass JPA Entity Object as parameter to JavaScript Function HOT 7
- About Compiling the 'GraalJS' Project into an Executable File
- Performance degradation when moving to GraalJS 23.1.1 (and GraalVM for JDK21) HOT 1
- How to use Graal JavaScript engine on a stock JDK HOT 1
- How to do error handling on custom truffle filesystems HOT 3
- Numeric wrapper classes coverted based on its values HOT 2
- Method Signature Mismatch When Calling Java Method from JavaScript in GraalVM HOT 2
- TypeScript support
- No Graaljs and Graalvm node.js native community jvm images for 23.1.1 for windows HOT 2
- Instanceof check fails for custom error subtype using prototype setup HOT 2
- Allow implementation of delete operation in foreign arrays HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from graaljs.