@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.
58 lines (56 loc) • 3 kB
JavaScript
// Compiled by ClojureScript 1.9.946 {:target :nodejs}
goog.provide('rewrite_clj.zip.insert');
goog.require('cljs.core');
goog.require('rewrite_clj.zip.base');
goog.require('rewrite_clj.zip.whitespace');
goog.require('rewrite_clj.node');
goog.require('clojure.zip');
rewrite_clj.zip.insert.space = rewrite_clj.node.spaces.call(null,(1));
/**
* Generic insertion helper. If the node reached by `move-fn`
* is a whitespace, insert an additional space.
*/
rewrite_clj.zip.insert.insert = (function rewrite_clj$zip$insert$insert(move_fn,insert_fn,prefix,zloc,item){
var item_node = rewrite_clj.node.coerce.call(null,item);
var next_node = move_fn.call(null,zloc);
return cljs.core.reduce.call(null,insert_fn,zloc,(cljs.core.truth_((function (){var or__7878__auto__ = cljs.core.not.call(null,next_node);
if(or__7878__auto__){
return or__7878__auto__;
} else {
return rewrite_clj.zip.whitespace.whitespace_QMARK_.call(null,next_node);
}
})())?cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [item_node], null),prefix):cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [rewrite_clj.zip.insert.space,item_node], null),prefix)));
});
/**
* Insert item to the right of the current location. Will insert a space if necessary.
*/
rewrite_clj.zip.insert.insert_right = (function rewrite_clj$zip$insert$insert_right(zloc,item){
return rewrite_clj.zip.insert.insert.call(null,clojure.zip.right,clojure.zip.insert_right,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [rewrite_clj.zip.insert.space], null),zloc,item);
});
/**
* Insert item to the right of the left location. Will insert a space if necessary.
*/
rewrite_clj.zip.insert.insert_left = (function rewrite_clj$zip$insert$insert_left(zloc,item){
return rewrite_clj.zip.insert.insert.call(null,clojure.zip.left,clojure.zip.insert_left,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [rewrite_clj.zip.insert.space], null),zloc,item);
});
/**
* Insert item as first child of the current node. Will insert a space if necessary.
*/
rewrite_clj.zip.insert.insert_child = (function rewrite_clj$zip$insert$insert_child(zloc,item){
return rewrite_clj.zip.insert.insert.call(null,clojure.zip.down,clojure.zip.insert_child,cljs.core.PersistentVector.EMPTY,zloc,item);
});
/**
* Insert item as last child of the current node. Will insert a space if necessary.
*/
rewrite_clj.zip.insert.append_child = (function rewrite_clj$zip$insert$append_child(zloc,item){
return rewrite_clj.zip.insert.insert.call(null,(function (p1__11669_SHARP_){
var G__11670 = p1__11669_SHARP_;
var G__11670__$1 = (((G__11670 == null))?null:clojure.zip.down.call(null,G__11670));
if((G__11670__$1 == null)){
return null;
} else {
return clojure.zip.rightmost.call(null,G__11670__$1);
}
}),clojure.zip.append_child,cljs.core.PersistentVector.EMPTY,zloc,item);
});
//# sourceMappingURL=insert.js.map