node client to interact with a Clojure nREPL server.
npm install nrepl-clientConnects node.js as a nrepl client to a Clojure nrepl server.
This is different from cljs-noderepl
and similar projects as it does not connect node.js as the repl "target" (so
that a nrepl Clojure client can eval code in a JS context) *but the other way
around* ;)
To connect to a running nREPL server and send and receive an eval request do:
``js
var client = require('nrepl-client').connect({port: 7889});
client.once('connect', function() {
var expr = '(+ 3 4)';
client.eval(expr, function(err, result) {
console.log('%s => ', expr, err || result);
client.end();
});
});
`
For a more detailed example and to use node.js also to start an nREPL Clojure
process see [examples/simple-connect.js]().
`
* connect(options)net.Socket
* Creates a options
connection to an nREPL server. The connection object itself will have added
methods, see below.
* : options from the net.connect call.net.Socket
* returns a clojure connection
* clojure connection
* Wraps nREPL messages.
* clone([session,] callback)
* close([session,] callback)describe([verbose,] callback)
*
* eval(code, [session, id, evalFunc,] callback)interrupt(session, id, callback)
*
* loadFile(fileContent, [fileName, filePath,] callback)lsSessions(callback)
*
* stdin(stdin, callback)send(msgObj, callback)
* sends a custom message
* start(options, callback)options
* options for configuring the nREPL server. Optional. options == {startTimeout: NUMBER, verbose: BOOL, projectPath: STRING, hostname: STRING, port: NUMBER}. See nrepl-server.js for defaults.callback(err, serverState)
* function called when the server is started. serverState == {proc: PROCESS, hostname: STRING, port: NUMBER, started: BOOL, exited: BOOL, timedout: BOOL}
* stop(serverState, callback)serverState
* serverState returned from startcallback(err)` function called when the server is stopped
*