js_snippets.py 657 B

1234567891011121314151617181920212223242526272829
  1. from macropy.core.macros import *
  2. from macropy.core.quotes import macros, q, u, ast
  3. import pjs
  4. from pjs.converter import Scope
  5. std_lib = [
  6. 'modules.js',
  7. 'functions.js',
  8. 'classes.js',
  9. '__builtin__.js',
  10. ]
  11. import os
  12. path = os.path.dirname(pjs.__file__) + "/data/pjslib.js"
  13. std_lib_script = open(path).read()
  14. macros = Macros()
  15. @macros.expr
  16. def js(tree, **kw):
  17. javascript = pjs.converter.Converter("").convert_node(tree, Scope())
  18. return Str(javascript)
  19. @macros.expr
  20. def pyjs(tree, **kw):
  21. javascript = pjs.converter.Converter("").convert_node(tree, Scope())
  22. return q[(ast[tree], u[javascript])]