A port of Javascript API to python. Useful for interoperability, porting js code and more...
Project description
esx
JS API in python 3!
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
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
Built Distribution
File details
Details for the file esx-0.0.4.tar.gz
.
File metadata
- Download URL: esx-0.0.4.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cce766ec90bd9c3f96c8123e9f29ba34fdd31752a1a0fd22dc8a365de0d0e5c7 |
|
MD5 | 9fdee02c261d3f8cc4ceb5a8d0449a99 |
|
BLAKE2b-256 | 83d73cb0e805b871894c990910e3664432a3c4eaa6546e392410e14c78bdf1f3 |
File details
Details for the file esx-0.0.4-py3-none-any.whl
.
File metadata
- Download URL: esx-0.0.4-py3-none-any.whl
- Upload date:
- Size: 2.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32ba8008a705a0d2b347e52f6a58db21cbd4e77a89a262629eb59212ecce4a3a |
|
MD5 | abc4bbfcbabc554c8c401f03ec232e45 |
|
BLAKE2b-256 | 947f213c722fe9914d5bfa0bb1d3ccc25ec8b84279f72ff95bc701c887c0c54f |