]> git.basschouten.com Git - openhab-addons.git/commit
[jsscripting] Reimplement timer polyfills to conform standard JS (#13623)
authorFlorian Hotze <florianh_dev@icloud.com>
Sat, 5 Nov 2022 14:26:46 +0000 (15:26 +0100)
committerGitHub <noreply@github.com>
Sat, 5 Nov 2022 14:26:46 +0000 (15:26 +0100)
commit51d3fc211a5577feb6f384e2e839d5f2fe926a1a
treec0350b0539d36b18b6e7e2f6ea341e9da145a19e
parentbbc744e3ffc714204f6f03bbc3cc7a6a3559af4b
[jsscripting] Reimplement timer polyfills to conform standard JS (#13623)

* [jsscripting] Reimplement timers to conform standard JS
* [jsscripting] Name scheduled jobs by loggerName + id
* [jsscripting] Update timer identifiers
* [jsscripting] Update identifiers for scheduled jobs
* [jsscripting] Synchronize method that is called when the script is reloaded
* [jsscripting] Cancel all scheduled jobs when the engine is closed
* [jsscripting] Ensure that a timerId is never reused by a subsequent call & Use long primitive type instead of Integer
* [jsscripting] Use an abstraction class to inject features into the JS runtime
* [jsscripting] Make ThreadsafeTimers threadsafe for concurrent access to the class itself
* [jsscripting] Move the locking for `invokeFunction` to `OpenhabGraalJSScriptEngine`

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
bundles/org.openhab.automation.jsscripting/src/main/java/org/openhab/automation/jsscripting/internal/JSRuntimeFeatures.java [new file with mode: 0644]
bundles/org.openhab.automation.jsscripting/src/main/java/org/openhab/automation/jsscripting/internal/OpenhabGraalJSScriptEngine.java
bundles/org.openhab.automation.jsscripting/src/main/java/org/openhab/automation/jsscripting/internal/threading/ThreadsafeTimers.java
bundles/org.openhab.automation.jsscripting/src/main/resources/node_modules/@jsscripting-globals.js