code: function EclairJS(sessionName) {
    if (sessionName && EJSCache[sessionName]) {
      console.log("got hit")
      return EJSCache[sessionName].ejs;
    } else {
      var server = new Server();
      var kernelP = server.getKernelPromise();
  
      var instance = {
        Accumulable: require('./Accumulable.js')(kernelP),
        AccumulableParam: require('./AccumulableParam.js')(kernelP),
        List: require('./List.js')(kernelP),
        Tuple: require('./Tuple.js')(kernelP),
        Tuple2: require('./Tuple2.js')(kernelP),
        Tuple3: require('./Tuple3.js')(kernelP),
        Tuple4: require('./Tuple4.js')(kernelP),
        SparkConf: require('./SparkConf.js')(kernelP),
        SparkContext: require('./SparkContext.js')(kernelP, server),
  
        ml: require('./ml/module.js')(kernelP),
        mllib: require('./mllib/module.js')(kernelP),
        rdd: require('./rdd/module.js')(kernelP),
        sql: require('./sql/module.js')(kernelP, server),
        storage: require('./storage/module.js')(kernelP),
        streaming: require('./streaming/module.js')(kernelP),
  
        forceFloat: Utils.forceFloat,
  
        addJar: function (jar) {
          return Utils.addSparkJar(kernelP, jar);
        },
  
        getUtils: function () {
          return Utils;
        },
  
        executeMethod: function (args) {
          return Utils.executeMethod(kernelP, args);
        },
  
        addModule: function (module) {
          server.addModule(module);
        }
      };
  
      if (sessionName) {
        EJSCache[sessionName] = {ejs: instance, server: server};
      }
  
      return instance;
    }
  }
docs: eclairjs module.
  @example
  var eclairjs = require('eclairjs');
  @module eclairjs