Skip to content

rksm/node-nrepl-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node.js nREPL client Build Status

Connects 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 ;)

Usage

To connect to a running nREPL server and send and receive an eval request do:

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.

API

nrepl-client

  • connect(options)

    • Creates a net.Socket connection to an nREPL server. The connection object itself will have added methods, see below.
    • options: options from the net.connect call.
    • returns a net.Socket 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

nrepl-client/nrepl-server

  • 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 start
    • callback(err) function called when the server is stopped

About

node.js client for a Clojure nrepl server.

Resources

Stars

Watchers

Forks

Packages

No packages published