@atomist/clj-editors
Version:
We build a node module `@atomist/clj-editors` here. This allows us to construct clojure editors using `rewrite-cljs`. After adding this dependency, the node application will have access to javascript functions transpiled from clojurescript.
70 lines (68 loc) • 3.05 kB
JavaScript
// Compiled by ClojureScript 1.9.946 {:target :nodejs}
goog.provide('editors.core');
goog.require('cljs.core');
goog.require('clojure.string');
goog.require('cljs.reader');
goog.require('cljs_node_io.core');
goog.require('rewrite_clj.parser');
goog.require('rewrite_clj.node');
goog.require('rewrite_clj.zip');
goog.require('cljs.nodejs');
cljs.nodejs.enable_util_print_BANG_.call(null);
editors.core.getVersion = (function editors$core$getVersion(f){
return cljs.core.nth.call(null,cljs.reader.read_string.call(null,cljs_node_io.core.slurp.call(null,f)),(2));
});
goog.exportSymbol('editors.core.getVersion', editors.core.getVersion);
/**
* Make sure x is a vector. Create one containing x if it isn't
*/
editors.core.to_seq = (function editors$core$to_seq(x){
if(cljs.core.sequential_QMARK_.call(null,x)){
return x;
} else {
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [x], null);
}
});
/**
* Return the key/loc pair (if any) that matches one of the keys in somekey-or-keys. If only a key, then return only the value
*/
editors.core.find_loc = (function editors$core$find_loc(zipper,somekey_or_keys){
var thekeys = editors.core.to_seq.call(null,somekey_or_keys);
while(true){
var temp__4657__auto__ = cljs.core.first.call(null,thekeys);
if(cljs.core.truth_(temp__4657__auto__)){
var thekey = temp__4657__auto__;
var temp__4655__auto__ = rewrite_clj.zip.find_depth_first.call(null,zipper,((function (thekeys,thekey,temp__4657__auto__){
return (function (p1__14701_SHARP_){
return cljs.core._EQ_.call(null,rewrite_clj.zip.sexpr.call(null,p1__14701_SHARP_),thekey);
});})(thekeys,thekey,temp__4657__auto__))
);
if(cljs.core.truth_(temp__4655__auto__)){
var val = temp__4655__auto__;
return val;
} else {
if(cljs.core.truth_(cljs.core.not_empty.call(null,thekeys))){
var G__14702 = cljs.core.rest.call(null,thekeys);
thekeys = G__14702;
continue;
} else {
return null;
}
}
} else {
return null;
}
break;
}
});
editors.core.project_dependencies = (function editors$core$project_dependencies(f){
return cljs.core.clj__GT_js.call(null,cljs.core.map.call(null,(function (p1__14703_SHARP_){
return cljs.core.conj.call(null,cljs.core.rest.call(null,p1__14703_SHARP_),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,p1__14703_SHARP_))].join(''));
}),cljs.core.sort_by.call(null,cljs.core.comp.call(null,cljs.core.name,cljs.core.first),rewrite_clj.zip.sexpr.call(null,rewrite_clj.zip.right.call(null,editors.core.find_loc.call(null,rewrite_clj.zip.down.call(null,rewrite_clj.zip.of_string.call(null,cljs_node_io.core.slurp.call(null,"project.clj"))),new cljs.core.Keyword(null,"dependencies","dependencies",1108064605)))))));
});
goog.exportSymbol('editors.core.project_dependencies', editors.core.project_dependencies);
editors.core.noop = (function editors$core$noop(){
return cljs.core.println.call(null,"this module exports editors.core.getVersion and editors.core.project-dependencies");
});
cljs.core._STAR_main_cli_fn_STAR_ = editors.core.noop;
//# sourceMappingURL=core.js.map