UNPKG

@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.

273 lines (253 loc) 10.3 kB
// Compiled by ClojureScript 1.9.946 {:target :nodejs} goog.provide('rewrite_clj.reader'); goog.require('cljs.core'); goog.require('cljs.tools.reader'); goog.require('cljs.tools.reader.reader_types'); goog.require('cljs.tools.reader.impl.commons'); goog.require('goog.string'); goog.require('rewrite_clj.node.protocols'); rewrite_clj.reader.read_char = cljs.tools.reader.reader_types.read_char; rewrite_clj.reader.get_column_number = cljs.tools.reader.reader_types.get_column_number; rewrite_clj.reader.get_line_number = cljs.tools.reader.reader_types.get_line_number; rewrite_clj.reader.peek_char = cljs.tools.reader.reader_types.peek_char; rewrite_clj.reader.indexing_push_back_reader = cljs.tools.reader.reader_types.indexing_push_back_reader; rewrite_clj.reader.unread = cljs.tools.reader.reader_types.unread; rewrite_clj.reader.read_string = cljs.tools.reader.read_string; /** * Throw reader exception, including line/column. */ rewrite_clj.reader.throw_reader = (function rewrite_clj$reader$throw_reader(var_args){ var args__9056__auto__ = []; var len__9049__auto___10537 = arguments.length; var i__9050__auto___10538 = (0); while(true){ if((i__9050__auto___10538 < len__9049__auto___10537)){ args__9056__auto__.push((arguments[i__9050__auto___10538])); var G__10539 = (i__9050__auto___10538 + (1)); i__9050__auto___10538 = G__10539; continue; } else { } break; } var argseq__9057__auto__ = ((((2) < args__9056__auto__.length))?(new cljs.core.IndexedSeq(args__9056__auto__.slice((2)),(0),null)):null); return rewrite_clj.reader.throw_reader.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__9057__auto__); }); rewrite_clj.reader.throw_reader.cljs$core$IFn$_invoke$arity$variadic = (function (reader,fmt,data){ var c = rewrite_clj.reader.get_column_number.call(null,reader); var l = rewrite_clj.reader.get_line_number.call(null,reader); throw (new Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(data),cljs.core.str.cljs$core$IFn$_invoke$arity$1(fmt)," [at line ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(l),", column ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),"]"].join(''))); }); rewrite_clj.reader.throw_reader.cljs$lang$maxFixedArity = (2); rewrite_clj.reader.throw_reader.cljs$lang$applyTo = (function (seq10532){ var G__10533 = cljs.core.first.call(null,seq10532); var seq10532__$1 = cljs.core.next.call(null,seq10532); var G__10534 = cljs.core.first.call(null,seq10532__$1); var seq10532__$2 = cljs.core.next.call(null,seq10532__$1); return rewrite_clj.reader.throw_reader.cljs$core$IFn$_invoke$arity$variadic(G__10533,G__10534,seq10532__$2); }); /** * Check whether a given char is a token boundary. */ rewrite_clj.reader.boundary_QMARK_ = (function rewrite_clj$reader$boundary_QMARK_(c){ return ((-1) < ["\"",":",";","'","@","^","`","~","(",")","[","]","{","}","\\",null].indexOf(c)); }); /** * Checks whether a given character is whitespace */ rewrite_clj.reader.whitespace_QMARK_ = (function rewrite_clj$reader$whitespace_QMARK_(ch){ return ((-1) < ["\r","\n","\t"," ",","].indexOf(ch)); }); /** * Checks whether the character is a newline */ rewrite_clj.reader.linebreak_QMARK_ = (function rewrite_clj$reader$linebreak_QMARK_(c){ return ((-1) < ["\r","\n"].indexOf(c)); }); /** * Checks whether the character is a space */ rewrite_clj.reader.space_QMARK_ = (function rewrite_clj$reader$space_QMARK_(c){ return ((-1) < ["\t"," ",","].indexOf(c)); }); rewrite_clj.reader.whitespace_or_boundary_QMARK_ = (function rewrite_clj$reader$whitespace_or_boundary_QMARK_(c){ var or__7878__auto__ = rewrite_clj.reader.whitespace_QMARK_.call(null,c); if(or__7878__auto__){ return or__7878__auto__; } else { return rewrite_clj.reader.boundary_QMARK_.call(null,c); } }); rewrite_clj.reader.buf = (new goog.string.StringBuffer("")); /** * Read while the chars fulfill the given condition. Ignores * the unmatching char. */ rewrite_clj.reader.read_while = (function rewrite_clj$reader$read_while(var_args){ var G__10544 = arguments.length; switch (G__10544) { case 2: return rewrite_clj.reader.read_while.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)])); break; case 3: return rewrite_clj.reader.read_while.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)])); break; default: throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(''))); } }); rewrite_clj.reader.read_while.cljs$core$IFn$_invoke$arity$2 = (function (reader,p_QMARK_){ return rewrite_clj.reader.read_while.call(null,reader,p_QMARK_,cljs.core.not.call(null,p_QMARK_.call(null,null))); }); rewrite_clj.reader.read_while.cljs$core$IFn$_invoke$arity$3 = (function (reader,p_QMARK_,eof_QMARK_){ rewrite_clj.reader.buf.clear(); while(true){ var temp__4655__auto__ = rewrite_clj.reader.read_char.call(null,reader); if(cljs.core.truth_(temp__4655__auto__)){ var c = temp__4655__auto__; if(cljs.core.truth_(p_QMARK_.call(null,c))){ rewrite_clj.reader.buf.append(c); continue; } else { rewrite_clj.reader.unread.call(null,reader,c); return rewrite_clj.reader.buf.toString(); } } else { if(cljs.core.truth_(eof_QMARK_)){ return rewrite_clj.reader.buf.toString(); } else { return rewrite_clj.reader.throw_reader.call(null,reader,"Unexpected EOF."); } } break; } }); rewrite_clj.reader.read_while.cljs$lang$maxFixedArity = 3; /** * Read until a char fulfills the given condition. Ignores the * matching char. */ rewrite_clj.reader.read_until = (function rewrite_clj$reader$read_until(reader,p_QMARK_){ return rewrite_clj.reader.read_while.call(null,reader,cljs.core.complement.call(null,p_QMARK_),p_QMARK_.call(null,null)); }); /** * Read until linebreak and include it. */ rewrite_clj.reader.read_include_linebreak = (function rewrite_clj$reader$read_include_linebreak(reader){ return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(rewrite_clj.reader.read_until.call(null,reader,(function (p1__10547_SHARP_){ return ((p1__10547_SHARP_ == null)) || (rewrite_clj.reader.linebreak_QMARK_.call(null,p1__10547_SHARP_)); }))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(rewrite_clj.reader.read_char.call(null,reader))].join(''); }); /** * Convert string to EDN value. */ rewrite_clj.reader.string__GT_edn = (function rewrite_clj$reader$string__GT_edn(s){ return rewrite_clj.reader.read_string.call(null,s); }); /** * Ignore the next character. */ rewrite_clj.reader.ignore = (function rewrite_clj$reader$ignore(reader){ rewrite_clj.reader.read_char.call(null,reader); return null; }); /** * Read next char. */ rewrite_clj.reader.next = (function rewrite_clj$reader$next(reader){ return rewrite_clj.reader.read_char.call(null,reader); }); /** * Peek next char. */ rewrite_clj.reader.peek = (function rewrite_clj$reader$peek(reader){ return rewrite_clj.reader.peek_char.call(null,reader); }); /** * Use the given function to read value, then attach row/col metadata. */ rewrite_clj.reader.read_with_meta = (function rewrite_clj$reader$read_with_meta(reader,read_fn){ var row = rewrite_clj.reader.get_line_number.call(null,reader); var col = rewrite_clj.reader.get_column_number.call(null,reader); var entry = read_fn.call(null,reader); if(cljs.core.truth_(entry)){ var end_row = rewrite_clj.reader.get_line_number.call(null,reader); var end_col = rewrite_clj.reader.get_column_number.call(null,reader); var end_col__$1 = ((cljs.core._EQ_.call(null,(0),end_col))?(col + rewrite_clj.node.protocols.string.call(null,entry).length):end_col); if(cljs.core._EQ_.call(null,(0),col)){ return entry; } else { return cljs.core._with_meta.call(null,entry,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"row","row",-570139521),row,new cljs.core.Keyword(null,"col","col",-1959363084),col,new cljs.core.Keyword(null,"end-row","end-row",-545103581),end_row,new cljs.core.Keyword(null,"end-col","end-col",-724155879),end_col__$1], null)); } } else { return null; } }); /** * Call the given function on the given reader until it returns * a non-truthy value. */ rewrite_clj.reader.read_repeatedly = (function rewrite_clj$reader$read_repeatedly(reader,read_fn){ return cljs.core.doall.call(null,cljs.core.take_while.call(null,cljs.core.identity,cljs.core.repeatedly.call(null,(function (){ return read_fn.call(null,reader); })))); }); /** * Call the given function on the given reader until `n` values matching `p?` have been * collected. */ rewrite_clj.reader.read_n = (function rewrite_clj$reader$read_n(reader,node_tag,read_fn,p_QMARK_,n){ if((n > (0))){ } else { throw (new Error("Assert failed: (pos? n)")); } var c = (0); var vs = cljs.core.PersistentVector.EMPTY; while(true){ if((c < n)){ var temp__4655__auto__ = read_fn.call(null,reader); if(cljs.core.truth_(temp__4655__auto__)){ var v = temp__4655__auto__; var G__10548 = (cljs.core.truth_(p_QMARK_.call(null,v))?(c + (1)):c); var G__10549 = cljs.core.conj.call(null,vs,v); c = G__10548; vs = G__10549; continue; } else { return rewrite_clj.reader.throw_reader.call(null,reader,"%s node expects %d value%s.",node_tag,n,((cljs.core._EQ_.call(null,n,(1)))?"":"s")); } } else { return vs; } break; } }); rewrite_clj.reader.re_matches_STAR_ = (function rewrite_clj$reader$re_matches_STAR_(re,s){ var matches = re.exec(s); if((!((matches == null))) && (((matches[(0)]) === s))){ if((matches.length === (1))){ return (matches[(0)]); } else { return matches; } } else { return null; } }); rewrite_clj.reader.read_keyword = (function rewrite_clj$reader$read_keyword(reader,initch){ var tok = cljs.tools.reader.read_token.call(null,reader,new cljs.core.Keyword(null,"keyword","keyword",811389747),rewrite_clj.reader.read_char.call(null,reader)); var a = rewrite_clj.reader.re_matches_STAR_.call(null,cljs.core.re_pattern.call(null,"^[:]?([^0-9/].*/)?([^0-9/][^/]*)$"),tok); var token = (a[(0)]); var ns = (a[(1)]); var name = (a[(2)]); if(((!((void 0 === ns))) && ((ns.substring((ns.length - (2)),ns.length) === ":/"))) || (((name[(name.length - (1))]) === ":")) || (!((token.indexOf("::",(1)) === (-1))))){ return cljs.tools.reader.impl.errors.reader_error.call(null,reader,"Invalid token: ",token); } else { if((!((ns == null))) && ((ns.length > (0)))){ return cljs.core.keyword.call(null,ns.substring((0),ns.indexOf("/")),name); } else { return cljs.core.keyword.call(null,token.substring((1))); } } }); //# sourceMappingURL=reader.js.map