Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 

README.md

evaljs

Evaljs is a library for evaluating Javascript code in Clojure.

Installation

Add the following dependency to your project.clj file:

[evaljs "0.1.2"]

Usage

You'll need both the evaljs.core and evaljs.rhino namespaces for this to work:

(use 'evaljs.core)
(use 'evaljs.rhino)

You can then evaluate a Javascript expression within a blank context:

(with-context (rhino-context)
  (prn (evaljs "1 + 1")))

Or a context with a map of initial variables:

(with-context (rhino-context {:x 2})
  (prn (evaljs "x + 1")))

The return value of evaljs is the last statement executed. Basic types like maps and arrays are automaitcally converted between Clojure and Javascript types.

If you want to import a Javascript library, you can evaluate an I/O object such as a file or resource:

(require '[clojure.java.io :as io])

(with-context (rhino-context)
  (evaljs (io/resource "some/js/library.js"))
  (evaljs "someJSLibrary()"))

License

Copyright (C) 2012 James Reeves

Distributed under the Eclipse Public License, the same as Clojure.

About

Evaluate Javascript code and libraries in Clojure

Resources

Packages

No packages published
You can’t perform that action at this time.