A typescript package to execute JavaScript and TypeScript code in a webassembly quickjs sandbox
**Is your feature request related to a problem? Please describe.** When a long process is already running, and I want to make some changes in the code to execute again, I have to wait to the first execution end in order to execute the new code **Describe the solution you'd like** Using the already existing AbortController API could help, by passing a signal from an AbortController instance. ```ts // declare an AbortController instance const abortController = new AbortController(); const signal = abortController.signal; // pass AbortController signal to sandbox options const sandboxOptions: SandboxOptions = { // ... signal }; // anywhere where abortController instance exist abortController.abort() // terminate execution inmediately ``` The idea is that when an abort signal is sent, the process fires a `dispose()` of the execution thread. I'm not fully sure if this is the right approach to end execution, but it worked for my previously **Describe alternatives you've considered** `quickjs-emscripten-sync` has a similar functionality, but it's implemented with a logic inherented from quickjs-emscripten basically, you have ref variables with the arena instance and a quickjs's context instance ```ts let arenaRef: Arena; let contextRef: QuickJSContext; //... const context = await getQuickJS().then((deps) => { return deps.newContext(); }); contextRef = context // then: const arena = new Arena(context); arenaRef = arena; ``` and then, any time you want to "end" execution, just dispose them ```ts arenaRef.dispose() contextRef.dispose() ``` The main issue with this implementation is that you have to save a global ref of the instances. That's why I think the abortController approach is more clear **Additional context** I am remaking a web editor and having the ability to stop the execution, especially when there are promises to wait, is important to be able to finish the execution and run again quickly. I had already implemented this logic once before with `quickjs-emscripten-sync` and the `dispose()` function, but in this case I don't have as much control over the execution process, and I think this feature could help in other scenarios as well. Btw, thanks a lot. This library simplify a lot the usage of quickjs-emscripten and already help me improve my project [jsod](https://github.com/Pkcarreno/jsod) by a lot (I will publish it in a few days)
This issue appears to be discussing a feature request or bug report related to the repository. Based on the content, it seems to be still under discussion. The issue was opened by Pkcarreno and has received 0 comments.