Open Tails opened 5 years ago
I'm trying to compile a single function for use as argument into Browserless, a headless Chrome instance.
# Python src async def action(): def resolver(resolve, reject): totalHeight = 0 distance = 100 def scroller(): scrollHeight = document.body.scrollHeight window.scrollBy(0, distance) totalHeight += distance if totalHeight >= scrollHeight: clearInterval(timer) resolve() timer = setInterval(scroller, 100) await __new__ (Promise(resolver))
Compiles to:
// Transcrypt'ed from Python, 2019-09-20 11:52:53 import {AssertionError, AttributeError, BaseException, DeprecationWarning, Exception, IndexError, IterableError, KeyError, NotImplementedError, RuntimeWarning, StopIteration, UserWarning, ValueError, Warning, __JsIterator__, __PyIterator__, __Terminal__, __add__, __and__, __call__, __class__, __envir__, __eq__, __floordiv__, __ge__, __get__, __getcm__, __getitem__, __getslice__, __getsm__, __gt__, __i__, __iadd__, __iand__, __idiv__, __ijsmod__, __ilshift__, __imatmul__, __imod__, __imul__, __in__, __init__, __ior__, __ipow__, __irshift__, __isub__, __ixor__, __jsUsePyNext__, __jsmod__, __k__, __kwargtrans__, __le__, __lshift__, __lt__, __matmul__, __mergefields__, __mergekwargtrans__, __mod__, __mul__, __ne__, __neg__, __nest__, __or__, __pow__, __pragma__, __proxy__, __pyUseJsNext__, __rshift__, __setitem__, __setproperty__, __setslice__, __sort__, __specialattrib__, __sub__, __super__, __t__, __terminal__, __truediv__, __withblock__, __xor__, abs, all, any, assert, bool, bytearray, bytes, callable, chr, copy, deepcopy, delattr, dict, dir, divmod, enumerate, filter, float, getattr, hasattr, input, int, isinstance, issubclass, len, list, map, max, min, object, ord, pow, print, property, py_TypeError, py_iter, py_metatype, py_next, py_reversed, py_typeof, range, repr, round, set, setattr, sorted, str, sum, tuple, zip} from './org.transcrypt.__runtime__.js'; var __name__ = '__main__'; export var action = async function () { var resolver = function (resolve, reject) { var totalHeight = 0; var distance = 100; var scroller = function () { var scrollHeight = document.body.scrollHeight; window.scrollBy (0, distance); totalHeight += distance; if (totalHeight >= scrollHeight) { clearInterval (timer); resolve (); } }; var timer = setInterval (scroller, 100); }; await new Promise (resolver); }; //# sourceMappingURL=scrolltobottom.map
But I am hoping to be able to generate a non-module version. Like this:
// ideal plain non-module JS async function () { var resolver = function (resolve, reject) { var totalHeight = 0; var distance = 100; var scroller = function () { var scrollHeight = document.body.scrollHeight; window.scrollBy (0, distance); totalHeight += distance; if (totalHeight >= scrollHeight) { clearInterval (timer); resolve (); } }; var timer = setInterval (scroller, 100); }; await new Promise (resolver); };
Is there an option available that makes this possible?
Somewhat related: https://github.com/QQuick/Transcrypt/issues/665
I also would like to see a compiler option which would make builtin name space an explicit required import
builtin
I'm trying to compile a single function for use as argument into Browserless, a headless Chrome instance.
Compiles to:
But I am hoping to be able to generate a non-module version. Like this:
Is there an option available that makes this possible?