Skip to main content

A port of Javascript API to python. Useful for interoperability, porting js code and more...

Project description

esx
JS API in python 3!

PyPI version Downloads Python version Build status Python package

Contains

• js API in python 3

(A downsteam of the domonic js API)

API

from esx.javascript import Math
print(Math.random())

from esx.javascript import Array
myArr=Array(1,2,3)
print(myArr.splice(1))

from esx.javascript import URL
url = URL('https://somesite.com/blog/article-one#some-hash')
print(url.protocol)
print(url.host)
print(url.pathname)
print(url.hash)

# you can use Global class to import all the js methods from the global namespace i.e
# from esx.javascript.esx import Global
# Global.decodeURIComponent(...
# Global.encodeComponent(...
# Global.setInterval(...

# from esx.javascript.esx import Date, String, Number
# etc..

You can use setInterval and clearInterval with params

from esx.javascript import setInterval, clearInterval

x=0

def hi(inc):
    global x
    x = x+inc
    print(x)

test = setInterval(hi, 1000, 2)
import time
time.sleep(5)
clearInterval(test)
print(f"Final value of x:{x}")

Or for a single delayed function call use setTimeout, clearTimeout

from esx.javascript import setTimeout, clearTimeout

timeoutID = setTimeout(hi, 1000)

DOCS

https://esx.readthedocs.io/

notes

currently forking over from domonic.

Join-In

Feel free to contribute if you find it useful.

Email me, message me directly if you like or create a discussion on here.

If there are any methods you want that are missing or not complete yet or you think you can help make it better just update the code and send a pull request.

I'll merge and releaese asap.

run tests

There are tests used during dev. They are useful as code examples and to see what still needs doing.

See Makefile to run all tests:

make test

or to test a single function:

python -m unittest tests.test_esx.TestCase.test_esx_array

or to test a whole module

python -m unittest tests.test_esx

to see coverage

coverage run -m unittest discover tests/
coverage report

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

esx-0.0.4.tar.gz (11.0 kB view hashes)

Uploaded Source

Built Distribution

esx-0.0.4-py3-none-any.whl (2.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page