Уже давно использую Qt, все круто все нравится, с выходом QJSEngine, QtSctipt пометили как устаревший,
а до сих пор не получается перенести некоторый функционал на QtScript.
Имеется некоторая платформа с использованием QtScript в качестве интерпретатора JavaScript для описания логики приложения.
Пример скрипта на JS
var f=new File('/var/www/test1');
f.write('123\n');
f.CopyTo('/var/www/test2');
Объект File описан как
class File: public QObject, QScriptable {
Q_OBJECT
….
}
и таких объектов больше 20 описано в платформе, много логики заложено в их конструкторе/деструкторе, есть Q_INVOKABLE методы которые вызываются в JS.
Вопрос в следующем: как перенести это все на QJSEngine сохранив синтаксис JS кода (его уже не мало написано)?
Искал ответы на stackoverflow
Динамическое создание с++ объектов в QJSEngineTransition from QtScript to QML/QJSEngineDynamic c++ object in QJSEngine
Предлагают делать через фабрику, но это сильно ухудшит читаемость JS кода и его придется переписывать.