Этот репозиторий предоставляет патч для библиотеки js2py
, чтобы обеспечить её совместимость с версиями Python 3.12 и выше. Библиотека js2py
, популярный транспилятор JavaScript в Python, имеет проблемы совместимости с новыми версиями Python из-за изменений в байт-коде и сопоставлении опкодов. Этот патч устраняет эти проблемы и восстанавливает функциональность.
-
Примените патч совместимости: Запустите предоставленный скрипт на Python для модификации необходимых файлов в пакете
js2py
:python apply_patch.py
js2py/translators/translating_nodes.py
: Обновляет генерацию случайных чисел для совместимости.js2py/utils/injector.py
: Добавляет сопоставление опкодовLOAD_ATTR
и корректирует обработку байт-кода для новых версий Python.
Чтобы продемонстрировать использование этой исправленной библиотеки js2py
, базовый пример:
from js2py import eval_js
js_code = 'function add(a, b) { return a + b; }'
js_function = eval_js(js_code)
result = js_function(5, 3)
print(result) # Ожидаемый результат: 8