UNPKG

@atomist/clj-editors

Version:

editor functions that use rewrite-clj and other important things from the clojurescript ecosystem

1,590 lines (1,457 loc) 72.8 kB
// Compiled by ClojureScript 1.10.238 {:target :nodejs} goog.provide('cljs_node_io.fs'); goog.require('cljs.core'); goog.require('cljs.core.async'); goog.require('cljs.core.async.impl.protocols'); cljs_node_io.fs.fs = require("fs"); cljs_node_io.fs.path = require("path"); /** * @type {!string} */ cljs_node_io.fs.sep = cljs_node_io.fs.path.sep; /** * Synchronous stat * @param {!string} pathstring * @return {!fs.Stats} file stats object */ cljs_node_io.fs.stat = (function cljs_node_io$fs$stat(pathstring){ return cljs_node_io.fs.fs.statSync(pathstring); }); /** * Asynchronous stat * @param {!string} pathstr * @return {!Channel} promise-chan receiving [?err ?fs.Stats] */ cljs_node_io.fs.astat = (function cljs_node_io$fs$astat(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } var c = cljs.core.async.promise_chan.call(null); cljs_node_io.fs.fs.stat(pathstr,((function (c){ return (function() { var G__20152__delegate = function (args){ return cljs.core.async.put_BANG_.call(null,c,cljs.core.vec.call(null,args)); }; var G__20152 = function (var_args){ var args = null; if (arguments.length > 0) { var G__20153__i = 0, G__20153__a = new Array(arguments.length - 0); while (G__20153__i < G__20153__a.length) {G__20153__a[G__20153__i] = arguments[G__20153__i + 0]; ++G__20153__i;} args = new cljs.core.IndexedSeq(G__20153__a,0,null); } return G__20152__delegate.call(this,args);}; G__20152.cljs$lang$maxFixedArity = 0; G__20152.cljs$lang$applyTo = (function (arglist__20154){ var args = cljs.core.seq(arglist__20154); return G__20152__delegate(args); }); G__20152.cljs$core$IFn$_invoke$arity$variadic = G__20152__delegate; return G__20152; })() ;})(c)) ); return c; }); /** * Synchronous lstat identical to stat(), except that if path is a symbolic link, * then the link itself is stat-ed, not the file that it refers to * @param {!string} pathstr * @return {!fs.Stats} file stats object */ cljs_node_io.fs.lstat = (function cljs_node_io$fs$lstat(pathstr){ return cljs_node_io.fs.fs.lstatSync(pathstr); }); /** * Asynchronous lstat * @param {!string} pathstr * @return {!Channel} promise-chan receiving [?err ?fs.Stats] */ cljs_node_io.fs.alstat = (function cljs_node_io$fs$alstat(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } var c = cljs.core.async.promise_chan.call(null); cljs_node_io.fs.fs.lstat(pathstr,((function (c){ return (function() { var G__20155__delegate = function (args){ return cljs.core.async.put_BANG_.call(null,c,cljs.core.vec.call(null,args)); }; var G__20155 = function (var_args){ var args = null; if (arguments.length > 0) { var G__20156__i = 0, G__20156__a = new Array(arguments.length - 0); while (G__20156__i < G__20156__a.length) {G__20156__a[G__20156__i] = arguments[G__20156__i + 0]; ++G__20156__i;} args = new cljs.core.IndexedSeq(G__20156__a,0,null); } return G__20155__delegate.call(this,args);}; G__20155.cljs$lang$maxFixedArity = 0; G__20155.cljs$lang$applyTo = (function (arglist__20157){ var args = cljs.core.seq(arglist__20157); return G__20155__delegate(args); }); G__20155.cljs$core$IFn$_invoke$arity$variadic = G__20155__delegate; return G__20155; })() ;})(c)) ); return c; }); /** * Convert a fs.Stats object to edn. Function are swapped out for their return values. * This is useful at repl but not particularly efficient. * @param {!fs.Stats} st * @return {!IMap} */ cljs_node_io.fs.stat__GT_clj = (function cljs_node_io$fs$stat__GT_clj(st){ var ks = goog.object.getKeys(st); var vs = goog.object.getValues(st); return cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.comp.call(null,cljs.core.remove.call(null,((function (ks,vs){ return (function (p1__20158_SHARP_){ return cljs.core._EQ_.call(null,cljs.core.nth.call(null,p1__20158_SHARP_,(0)),"_checkModeProperty"); });})(ks,vs)) ),cljs.core.map.call(null,((function (ks,vs){ return (function (p__20159){ var vec__20160 = p__20159; var k = cljs.core.nth.call(null,vec__20160,(0),null); var v = cljs.core.nth.call(null,vec__20160,(1),null); return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.keyword.call(null,k),((cljs.core.fn_QMARK_.call(null,v))?v.apply(st):v)], null); });})(ks,vs)) )),cljs.core.map.call(null,cljs.core.vector,ks,vs)); }); /** * @param {!Array<!Number>} bita :: an array of 1s an 0s * @return {!Number} integer */ cljs_node_io.fs.bita__GT_int = (function cljs_node_io$fs$bita__GT_int(bita){ return parseInt(bita.join(""),(2)); }); /** * @param {!fs.Stats} s :: a fs.Stats object * @return {!Array<Number>} */ cljs_node_io.fs.stat__GT_perm_bita = (function cljs_node_io$fs$stat__GT_perm_bita(s){ var mode = (s["mode"]); var ownr = (mode & (256)); var ownw = (mode & (128)); var ownx = (mode & (64)); var grpr = (mode & (32)); var grpw = (mode & (16)); var grpx = (mode & (8)); var othr = (mode & (4)); var othw = (mode & (2)); var othx = (mode & (1)); var a = [ownr,ownw,ownx,grpr,grpw,grpx,othr,othw,othx]; var a__4370__auto__ = a; var l__4371__auto__ = a__4370__auto__.length; var res = cljs.core.aclone.call(null,a__4370__auto__); var i = (0); while(true){ if((i < l__4371__auto__)){ (res[i] = ((!(((a[i]) === (0))))?(1):(0))); var G__20163 = (i + (1)); i = G__20163; continue; } else { return res; } break; } }); /** * @param {!fs.Stats} st * @return {!Number} */ cljs_node_io.fs.permissions = (function cljs_node_io$fs$permissions(st){ return cljs_node_io.fs.bita__GT_int.call(null,cljs_node_io.fs.stat__GT_perm_bita.call(null,st)); }); /** * @return {!IMap} */ cljs_node_io.fs.gid_uid = (function cljs_node_io$fs$gid_uid(){ return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"gid","gid",-714078321),process.getgid(),new cljs.core.Keyword(null,"uid","uid",-1447769400),process.getuid()], null); }); /** * @param {!string} pathstr * @return {!boolean} is the file hidden (unix only) */ cljs_node_io.fs.hidden_QMARK_ = (function cljs_node_io$fs$hidden_QMARK_(pathstr){ return (new RegExp("(^|\\/)\\.[^\\/\\.]")).test(pathstr); }); /** * @param {!string} pathstring * @return {!boolean} iff abstract pathname exists and is a directory */ cljs_node_io.fs.dir_QMARK_ = (function cljs_node_io$fs$dir_QMARK_(pathstring){ if(typeof pathstring === 'string'){ } else { throw (new Error("Assert failed: (string? pathstring)")); } var stats = (function (){try{return cljs_node_io.fs.fs.statSync(pathstring); }catch (e20164){if((e20164 instanceof Error)){ var e = e20164; return false; } else { throw e20164; } }})(); if(cljs.core.not.call(null,stats)){ return false; } else { return stats.isDirectory(); } }); /** * Asynchronous directory predicate. * @param {!string} pathstr * @return {!Channel} promise-chan receiving boolean */ cljs_node_io.fs.adir_QMARK_ = (function cljs_node_io$fs$adir_QMARK_(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } var c = cljs.core.async.promise_chan.call(null); var stat_ch = cljs_node_io.fs.astat.call(null,pathstr); cljs.core.async.take_BANG_.call(null,stat_ch,((function (c,stat_ch){ return (function (p__20165){ var vec__20166 = p__20165; var err = cljs.core.nth.call(null,vec__20166,(0),null); var stats = cljs.core.nth.call(null,vec__20166,(1),null); return cljs.core.async.put_BANG_.call(null,c,((cljs.core.not.call(null,err))?stats.isDirectory():false)); });})(c,stat_ch)) ); return c; }); /** * Synchronous file predicate * @param {!string} pathstring * @return {!boolean} iff abstract pathname exists and is a file */ cljs_node_io.fs.file_QMARK_ = (function cljs_node_io$fs$file_QMARK_(pathstring){ if(typeof pathstring === 'string'){ } else { throw (new Error("Assert failed: (string? pathstring)")); } var stats = (function (){try{return cljs_node_io.fs.lstat.call(null,pathstring); }catch (e20169){if((e20169 instanceof Error)){ var e = e20169; return false; } else { throw e20169; } }})(); if(cljs.core.not.call(null,stats)){ return false; } else { return stats.isFile(); } }); /** * Asynchronous file predicate. * @param {!string} pathstr * @return {!Channel} promise-chan receiving boolean */ cljs_node_io.fs.afile_QMARK_ = (function cljs_node_io$fs$afile_QMARK_(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } var c = cljs.core.async.promise_chan.call(null); var stat_ch = cljs_node_io.fs.alstat.call(null,pathstr); cljs.core.async.take_BANG_.call(null,stat_ch,((function (c,stat_ch){ return (function (p__20170){ var vec__20171 = p__20170; var err = cljs.core.nth.call(null,vec__20171,(0),null); var stats = cljs.core.nth.call(null,vec__20171,(1),null); return cljs.core.async.put_BANG_.call(null,c,((cljs.core.not.call(null,err))?stats.isFile():false)); });})(c,stat_ch)) ); return c; }); /** * @param {!string} pathstr :: path to test * @return {!boolean} is pathstr an absolute path */ cljs_node_io.fs.absolute_QMARK_ = (function cljs_node_io$fs$absolute_QMARK_(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } return cljs_node_io.fs.path.isAbsolute.call(null,pathstr); }); /** * Synchronously test if a file or directory exists * @param {!string} pathstr :: file path to test * @return {!boolean} */ cljs_node_io.fs.fexists_QMARK_ = (function cljs_node_io$fs$fexists_QMARK_(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } try{cljs_node_io.fs.fs.accessSync(pathstr,cljs_node_io.fs.fs.F_OK); return true; }catch (e20174){if((e20174 instanceof Error)){ var e = e20174; return false; } else { throw e20174; } }}); /** * Asynchronously test if a file or directory exists * @param {!string} pathstr * @return {!Channel} promise-chan receiving boolean */ cljs_node_io.fs.afexists_QMARK_ = (function cljs_node_io$fs$afexists_QMARK_(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } var c = cljs.core.async.promise_chan.call(null); cljs_node_io.fs.fs.access(pathstr,cljs_node_io.fs.fs.F_OK,((function (c){ return (function (e){ return cljs.core.async.put_BANG_.call(null,c,((cljs.core.not.call(null,e))?true:false)); });})(c)) ); return c; }); /** * Synchronously test if a file is readable to the process * @param {!string} pathstr :: path to test for process read permission * @return {!boolean} */ cljs_node_io.fs.readable_QMARK_ = (function cljs_node_io$fs$readable_QMARK_(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } try{cljs_node_io.fs.fs.accessSync(pathstr,cljs_node_io.fs.fs.R_OK); return true; }catch (e20175){if((e20175 instanceof Error)){ var e = e20175; return false; } else { throw e20175; } }}); /** * Asynchronously test if a file is readable to the process * @param {!string} pathstr * @return {!Channel} promise-chan receiving boolean */ cljs_node_io.fs.areadable_QMARK_ = (function cljs_node_io$fs$areadable_QMARK_(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } var c = cljs.core.async.promise_chan.call(null); cljs_node_io.fs.fs.access(pathstr,cljs_node_io.fs.fs.R_OK,((function (c){ return (function (e){ return cljs.core.async.put_BANG_.call(null,c,((cljs.core.not.call(null,e))?true:false)); });})(c)) ); return c; }); /** * Synchronously test if a file is writable to the process * @param {!string} pathstr :: path to test for process write permission * @return {!boolean} */ cljs_node_io.fs.writable_QMARK_ = (function cljs_node_io$fs$writable_QMARK_(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } try{cljs_node_io.fs.fs.accessSync(pathstr,cljs_node_io.fs.fs.W_OK); return true; }catch (e20176){if((e20176 instanceof Error)){ var e = e20176; return false; } else { throw e20176; } }}); /** * Asynchronously test if a file is writable to the process * @param {!string} pathstr :: path to test for process write permission * @return {!Channel} promise-chan receiving boolean */ cljs_node_io.fs.awritable_QMARK_ = (function cljs_node_io$fs$awritable_QMARK_(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } var c = cljs.core.async.promise_chan.call(null); cljs_node_io.fs.fs.access(pathstr,cljs_node_io.fs.fs.W_OK,((function (c){ return (function (e){ return cljs.core.async.put_BANG_.call(null,c,((cljs.core.not.call(null,e))?true:false)); });})(c)) ); return c; }); /** * @param {!string} pathstr :: path to test for process executable permission * @return {!boolean} */ cljs_node_io.fs.executable_QMARK_ = (function cljs_node_io$fs$executable_QMARK_(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } if(!(cljs.core._EQ_.call(null,"win32",process.platform))){ try{cljs_node_io.fs.fs.accessSync(pathstr,cljs_node_io.fs.fs.X_OK); return true; }catch (e20177){if((e20177 instanceof Error)){ var e = e20177; return false; } else { throw e20177; } }} else { throw Error("Testing if a file is executable has no effect on Windows"); } }); /** * Asynchronously test if a file is executable to the process * @param {!string} pathstr :: path to test for process execute permission * @return {!Channel} promise-chan receiving boolean */ cljs_node_io.fs.aexecutable_QMARK_ = (function cljs_node_io$fs$aexecutable_QMARK_(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } if(!(cljs.core._EQ_.call(null,"win32",process.platform))){ var c = cljs.core.async.promise_chan.call(null); cljs_node_io.fs.fs.access(pathstr,cljs_node_io.fs.fs.X_OK,((function (c){ return (function (e){ return cljs.core.async.put_BANG_.call(null,c,((cljs.core.not.call(null,e))?true:false)); });})(c)) ); return c; } else { throw Error("Testing if a file is executable has no effect on Windows"); } }); /** * Synchronous test for symbolic link * @param {!string} pathstr :: path to test * @return {!boolean} */ cljs_node_io.fs.symlink_QMARK_ = (function cljs_node_io$fs$symlink_QMARK_(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } var stats = (function (){try{return cljs_node_io.fs.lstat.call(null,pathstr); }catch (e20178){if((e20178 instanceof Error)){ var e = e20178; return false; } else { throw e20178; } }})(); if(cljs.core.not.call(null,stats)){ return false; } else { return stats.isSymbolicLink(); } }); /** * Asynchronously test if path is a symbolic link * @param {!string} pathstr :: path to test * @return {!Channel} promise-chan receiving boolean */ cljs_node_io.fs.asymlink_QMARK_ = (function cljs_node_io$fs$asymlink_QMARK_(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } var c = cljs.core.async.promise_chan.call(null); var stat_ch = cljs_node_io.fs.alstat.call(null,pathstr); cljs.core.async.take_BANG_.call(null,stat_ch,((function (c,stat_ch){ return (function (p__20179){ var vec__20180 = p__20179; var err = cljs.core.nth.call(null,vec__20180,(0),null); var stats = cljs.core.nth.call(null,vec__20180,(1),null); return cljs.core.async.put_BANG_.call(null,c,((cljs.core.not.call(null,err))?stats.isSymbolicLink():false)); });})(c,stat_ch)) ); return c; }); /** * @param {!string} pathstring :: path to get parent of * @return {!string} the parent directory */ cljs_node_io.fs.dirname = (function cljs_node_io$fs$dirname(pathstring){ return cljs_node_io.fs.path.dirname(pathstring); }); /** * @return {!string} */ cljs_node_io.fs.basename = (function cljs_node_io$fs$basename(var_args){ var G__20184 = arguments.length; switch (G__20184) { case 1: return cljs_node_io.fs.basename.cljs$core$IFn$_invoke$arity$1((arguments[(0)])); break; case 2: return cljs_node_io.fs.basename.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)])); break; default: throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(''))); } }); cljs_node_io.fs.basename.cljs$core$IFn$_invoke$arity$1 = (function (p){ return cljs_node_io.fs.path.basename(p); }); cljs_node_io.fs.basename.cljs$core$IFn$_invoke$arity$2 = (function (p,ext){ return cljs_node_io.fs.path.basename(p,ext); }); cljs_node_io.fs.basename.cljs$lang$maxFixedArity = 2; /** * @return {!string} */ cljs_node_io.fs.resolve_path = (function cljs_node_io$fs$resolve_path(var_args){ var args__4502__auto__ = []; var len__4499__auto___20187 = arguments.length; var i__4500__auto___20188 = (0); while(true){ if((i__4500__auto___20188 < len__4499__auto___20187)){ args__4502__auto__.push((arguments[i__4500__auto___20188])); var G__20189 = (i__4500__auto___20188 + (1)); i__4500__auto___20188 = G__20189; continue; } else { } break; } var argseq__4503__auto__ = ((((0) < args__4502__auto__.length))?(new cljs.core.IndexedSeq(args__4502__auto__.slice((0)),(0),null)):null); return cljs_node_io.fs.resolve_path.cljs$core$IFn$_invoke$arity$variadic(argseq__4503__auto__); }); cljs_node_io.fs.resolve_path.cljs$core$IFn$_invoke$arity$variadic = (function (paths){ return cljs_node_io.fs.path.resolve.apply(null,cljs.core.apply.call(null,cljs.core.array,paths)); }); cljs_node_io.fs.resolve_path.cljs$lang$maxFixedArity = (0); /** @this {Function} */ cljs_node_io.fs.resolve_path.cljs$lang$applyTo = (function (seq20186){ var self__4487__auto__ = this; return self__4487__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,seq20186)); }); /** * @param {!string} pathstring :: pathstring to normalize * @return {!string} */ cljs_node_io.fs.normalize_path = (function cljs_node_io$fs$normalize_path(pathstring){ return cljs_node_io.fs.path.normalize(pathstring); }); /** * @param {!string} pathstring :: file to get extension from * @return {!string} */ cljs_node_io.fs.ext = (function cljs_node_io$fs$ext(pathstring){ return cljs_node_io.fs.path.extname(pathstring); }); /** * Synchronous realpath * @param {!string} pathstr * @return {!string} resolved path */ cljs_node_io.fs.realpath = (function cljs_node_io$fs$realpath(pathstr){ return cljs_node_io.fs.fs.realpathSync(pathstr); }); /** * Asynchronous realpath * @param {!string} pathstr * @return {!Channel} promise-chan recieving [?err ?resolvedPathstr] */ cljs_node_io.fs.arealpath = (function cljs_node_io$fs$arealpath(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } var c = cljs.core.async.promise_chan.call(null); cljs_node_io.fs.fs.realpath(pathstr,((function (c){ return (function() { var G__20190__delegate = function (args){ return cljs.core.async.put_BANG_.call(null,c,cljs.core.vec.call(null,args)); }; var G__20190 = function (var_args){ var args = null; if (arguments.length > 0) { var G__20191__i = 0, G__20191__a = new Array(arguments.length - 0); while (G__20191__i < G__20191__a.length) {G__20191__a[G__20191__i] = arguments[G__20191__i + 0]; ++G__20191__i;} args = new cljs.core.IndexedSeq(G__20191__a,0,null); } return G__20190__delegate.call(this,args);}; G__20190.cljs$lang$maxFixedArity = 0; G__20190.cljs$lang$applyTo = (function (arglist__20192){ var args = cljs.core.seq(arglist__20192); return G__20190__delegate(args); }); G__20190.cljs$core$IFn$_invoke$arity$variadic = G__20190__delegate; return G__20190; })() ;})(c)) ); return c; }); /** * Synchronous readlink * @param {!string} pathstr :: the symbolic link to read * @return {!string} the symbolic link's string value */ cljs_node_io.fs.readlink = (function cljs_node_io$fs$readlink(pathstr){ return cljs_node_io.fs.fs.readlinkSync(pathstr); }); /** * Asynchronous readlink * @param {!string} pathstr :: the symbolic link to read * @return {!Channel} promise-chan receiving [?err ?linkstring] */ cljs_node_io.fs.areadlink = (function cljs_node_io$fs$areadlink(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } var c = cljs.core.async.promise_chan.call(null); cljs_node_io.fs.fs.readlink(pathstr,((function (c){ return (function() { var G__20193__delegate = function (args){ return cljs.core.async.put_BANG_.call(null,c,cljs.core.vec.call(null,args)); }; var G__20193 = function (var_args){ var args = null; if (arguments.length > 0) { var G__20194__i = 0, G__20194__a = new Array(arguments.length - 0); while (G__20194__i < G__20194__a.length) {G__20194__a[G__20194__i] = arguments[G__20194__i + 0]; ++G__20194__i;} args = new cljs.core.IndexedSeq(G__20194__a,0,null); } return G__20193__delegate.call(this,args);}; G__20193.cljs$lang$maxFixedArity = 0; G__20193.cljs$lang$applyTo = (function (arglist__20195){ var args = cljs.core.seq(arglist__20195); return G__20193__delegate(args); }); G__20193.cljs$core$IFn$_invoke$arity$variadic = G__20193__delegate; return G__20193; })() ;})(c)) ); return c; }); /** * Synchronously reads directory content * @param {!string} dirpath :: directory path to read * @return {!IVector} Vector<strings> representing directory content */ cljs_node_io.fs.readdir = (function cljs_node_io$fs$readdir(dirpath){ if(typeof dirpath === 'string'){ } else { throw (new Error("Assert failed: (string? dirpath)")); } return cljs.core.vec.call(null,cljs_node_io.fs.fs.readdirSync(dirpath)); }); /** * Asynchronously reads directory content * @param {!string} dirpath :: directory path to read * @return {!Channel} promise-chan receiving [?err, ?Vector<string>] * where strings are representing directory content */ cljs_node_io.fs.areaddir = (function cljs_node_io$fs$areaddir(dirpath){ if(typeof dirpath === 'string'){ } else { throw (new Error("Assert failed: (string? dirpath)")); } var c = cljs.core.async.promise_chan.call(null); cljs_node_io.fs.fs.readdir(dirpath,((function (c){ return (function (e,data){ return cljs.core.async.put_BANG_.call(null,c,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [e,cljs.core.vec.call(null,data)], null)); });})(c)) ); return c; }); /** * Synchronous chmod * @param {!string} pathstr * @param {!Number} mode :: must be an integer * @return {nil} or throws */ cljs_node_io.fs.chmod = (function cljs_node_io$fs$chmod(pathstr,mode){ return cljs_node_io.fs.fs.chmodSync(pathstr,mode); }); /** * Asynchronous chmod * @param {!string} pathstr * @param {!Number} mode :: must be an integer * @return {!Channel} promise-chan receiving [?err] */ cljs_node_io.fs.achmod = (function cljs_node_io$fs$achmod(pathstr,mode){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } var c = cljs.core.async.promise_chan.call(null); cljs_node_io.fs.fs.chmod(pathstr,mode,((function (c){ return (function() { var G__20196__delegate = function (args){ return cljs.core.async.put_BANG_.call(null,c,cljs.core.vec.call(null,args)); }; var G__20196 = function (var_args){ var args = null; if (arguments.length > 0) { var G__20197__i = 0, G__20197__a = new Array(arguments.length - 0); while (G__20197__i < G__20197__a.length) {G__20197__a[G__20197__i] = arguments[G__20197__i + 0]; ++G__20197__i;} args = new cljs.core.IndexedSeq(G__20197__a,0,null); } return G__20196__delegate.call(this,args);}; G__20196.cljs$lang$maxFixedArity = 0; G__20196.cljs$lang$applyTo = (function (arglist__20198){ var args = cljs.core.seq(arglist__20198); return G__20196__delegate(args); }); G__20196.cljs$core$IFn$_invoke$arity$variadic = G__20196__delegate; return G__20196; })() ;})(c)) ); return c; }); /** * Synchronous lchmod * @param {!string} pathstr * @param {!Number} mode :: must be an integer * @return {nil} */ cljs_node_io.fs.lchmod = (function cljs_node_io$fs$lchmod(pathstr,mode){ return cljs_node_io.fs.fs.lchmodSync(pathstr,mode); }); /** * Asynchronous lchmod * @param {!string} pathstr * @param {!Number} mode :: must be an integer * @return {!Channel} promise-chan receiving [?err] */ cljs_node_io.fs.alchmod = (function cljs_node_io$fs$alchmod(pathstr,mode){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } var c = cljs.core.async.promise_chan.call(null); cljs_node_io.fs.fs.lchmod(pathstr,mode,((function (c){ return (function() { var G__20199__delegate = function (args){ return cljs.core.async.put_BANG_.call(null,c,cljs.core.vec.call(null,args)); }; var G__20199 = function (var_args){ var args = null; if (arguments.length > 0) { var G__20200__i = 0, G__20200__a = new Array(arguments.length - 0); while (G__20200__i < G__20200__a.length) {G__20200__a[G__20200__i] = arguments[G__20200__i + 0]; ++G__20200__i;} args = new cljs.core.IndexedSeq(G__20200__a,0,null); } return G__20199__delegate.call(this,args);}; G__20199.cljs$lang$maxFixedArity = 0; G__20199.cljs$lang$applyTo = (function (arglist__20201){ var args = cljs.core.seq(arglist__20201); return G__20199__delegate(args); }); G__20199.cljs$core$IFn$_invoke$arity$variadic = G__20199__delegate; return G__20199; })() ;})(c)) ); return c; }); /** * Synchronous chown * @param {!string} pathstr * @param {!Number} uid * @param {!Number} gid * @return {nil} */ cljs_node_io.fs.chown = (function cljs_node_io$fs$chown(pathstr,uid,gid){ return cljs_node_io.fs.fs.chownSync(pathstr,uid,gid); }); /** * Asynchronous chown * @param {!string} pathstr * @param {!Number} uid * @param {!Number} gid * @return {!Channel} promise-chan receiving [?err] */ cljs_node_io.fs.achown = (function cljs_node_io$fs$achown(pathstr,uid,gid){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } var c = cljs.core.async.promise_chan.call(null); cljs_node_io.fs.fs.chown(pathstr,uid,gid,((function (c){ return (function() { var G__20202__delegate = function (args){ return cljs.core.async.put_BANG_.call(null,c,cljs.core.vec.call(null,args)); }; var G__20202 = function (var_args){ var args = null; if (arguments.length > 0) { var G__20203__i = 0, G__20203__a = new Array(arguments.length - 0); while (G__20203__i < G__20203__a.length) {G__20203__a[G__20203__i] = arguments[G__20203__i + 0]; ++G__20203__i;} args = new cljs.core.IndexedSeq(G__20203__a,0,null); } return G__20202__delegate.call(this,args);}; G__20202.cljs$lang$maxFixedArity = 0; G__20202.cljs$lang$applyTo = (function (arglist__20204){ var args = cljs.core.seq(arglist__20204); return G__20202__delegate(args); }); G__20202.cljs$core$IFn$_invoke$arity$variadic = G__20202__delegate; return G__20202; })() ;})(c)) ); return c; }); /** * Synchronous lchown * @param {!string} pathstr * @param {!Number} uid * @param {!Number} gid * @return {nil} or throws */ cljs_node_io.fs.lchown = (function cljs_node_io$fs$lchown(pathstr,uid,gid){ return cljs_node_io.fs.fs.lchownSync(pathstr,uid,gid); }); /** * Asynchronous lchown * @param {!string} pathstr * @param {!Number} uid * @param {!Number} gid * @return {!Channel} promise-chan receiving [?err] */ cljs_node_io.fs.alchown = (function cljs_node_io$fs$alchown(pathstr,uid,gid){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } var c = cljs.core.async.promise_chan.call(null); cljs_node_io.fs.fs.lchown(pathstr,uid,gid,((function (c){ return (function() { var G__20205__delegate = function (args){ return cljs.core.async.put_BANG_.call(null,c,cljs.core.vec.call(null,args)); }; var G__20205 = function (var_args){ var args = null; if (arguments.length > 0) { var G__20206__i = 0, G__20206__a = new Array(arguments.length - 0); while (G__20206__i < G__20206__a.length) {G__20206__a[G__20206__i] = arguments[G__20206__i + 0]; ++G__20206__i;} args = new cljs.core.IndexedSeq(G__20206__a,0,null); } return G__20205__delegate.call(this,args);}; G__20205.cljs$lang$maxFixedArity = 0; G__20205.cljs$lang$applyTo = (function (arglist__20207){ var args = cljs.core.seq(arglist__20207); return G__20205__delegate(args); }); G__20205.cljs$core$IFn$_invoke$arity$variadic = G__20205__delegate; return G__20205; })() ;})(c)) ); return c; }); /** * synchronous utimes * - If the value is NaN or Infinity, the value would get converted to Date.now() * - numerable strings ie '12235' are converted to numbers * @param {!string} pathstr * @param {(string|Number)} atime * @param {(string|Number)} mtime * @return {nil} */ cljs_node_io.fs.utimes = (function cljs_node_io$fs$utimes(pathstr,atime,mtime){ return cljs_node_io.fs.fs.utimesSync(pathstr,atime,mtime); }); /** * asynchronous utimes * - If the value is NaN or Infinity, the value would get converted to Date.now() * - numerable strings ie '12235' are converted to numbers * @param {!string} pathstr * @param {(string|Number)} atime * @param {(string|Number)} mtime * @return {!Channel} promise-chan receiving [?err] */ cljs_node_io.fs.autimes = (function cljs_node_io$fs$autimes(pathstr,atime,mtime){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } var c = cljs.core.async.promise_chan.call(null); cljs_node_io.fs.fs.utimes(pathstr,atime,mtime,((function (c){ return (function() { var G__20208__delegate = function (args){ return cljs.core.async.put_BANG_.call(null,c,cljs.core.vec.call(null,args)); }; var G__20208 = function (var_args){ var args = null; if (arguments.length > 0) { var G__20209__i = 0, G__20209__a = new Array(arguments.length - 0); while (G__20209__i < G__20209__a.length) {G__20209__a[G__20209__i] = arguments[G__20209__i + 0]; ++G__20209__i;} args = new cljs.core.IndexedSeq(G__20209__a,0,null); } return G__20208__delegate.call(this,args);}; G__20208.cljs$lang$maxFixedArity = 0; G__20208.cljs$lang$applyTo = (function (arglist__20210){ var args = cljs.core.seq(arglist__20210); return G__20208__delegate(args); }); G__20208.cljs$core$IFn$_invoke$arity$variadic = G__20208__delegate; return G__20208; })() ;})(c)) ); return c; }); /** * Synchronously create a directory * @param {!string} pathstr :: path of directory to create * @return {nil} or throws */ cljs_node_io.fs.mkdir = (function cljs_node_io$fs$mkdir(pathstr){ return cljs_node_io.fs.fs.mkdirSync(pathstr); }); /** * Asynchronously create a directory * @param {!string} pathstr :: path of directory to create * @return {!Channel} promise-chan receiving [?err] */ cljs_node_io.fs.amkdir = (function cljs_node_io$fs$amkdir(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } var c = cljs.core.async.promise_chan.call(null); cljs_node_io.fs.fs.mkdir(pathstr,((function (c){ return (function() { var G__20211__delegate = function (args){ return cljs.core.async.put_BANG_.call(null,c,cljs.core.vec.call(null,args)); }; var G__20211 = function (var_args){ var args = null; if (arguments.length > 0) { var G__20212__i = 0, G__20212__a = new Array(arguments.length - 0); while (G__20212__i < G__20212__a.length) {G__20212__a[G__20212__i] = arguments[G__20212__i + 0]; ++G__20212__i;} args = new cljs.core.IndexedSeq(G__20212__a,0,null); } return G__20211__delegate.call(this,args);}; G__20211.cljs$lang$maxFixedArity = 0; G__20211.cljs$lang$applyTo = (function (arglist__20213){ var args = cljs.core.seq(arglist__20213); return G__20211__delegate(args); }); G__20211.cljs$core$IFn$_invoke$arity$variadic = G__20211__delegate; return G__20211; })() ;})(c)) ); return c; }); /** * Synchronously remove a directory * @param {!string} pathstr :: path of directory to remove * @return {nil} or throws */ cljs_node_io.fs.rmdir = (function cljs_node_io$fs$rmdir(pathstr){ return cljs_node_io.fs.fs.rmdirSync(pathstr); }); /** * Asynchronously remove a directory * @param {!string} pathstr :: path of directory to remove * @return {!Channel} promise-chan receiving [?err] */ cljs_node_io.fs.armdir = (function cljs_node_io$fs$armdir(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } var c = cljs.core.async.promise_chan.call(null); cljs_node_io.fs.fs.rmdir(pathstr,((function (c){ return (function() { var G__20214__delegate = function (args){ return cljs.core.async.put_BANG_.call(null,c,cljs.core.vec.call(null,args)); }; var G__20214 = function (var_args){ var args = null; if (arguments.length > 0) { var G__20215__i = 0, G__20215__a = new Array(arguments.length - 0); while (G__20215__i < G__20215__a.length) {G__20215__a[G__20215__i] = arguments[G__20215__i + 0]; ++G__20215__i;} args = new cljs.core.IndexedSeq(G__20215__a,0,null); } return G__20214__delegate.call(this,args);}; G__20214.cljs$lang$maxFixedArity = 0; G__20214.cljs$lang$applyTo = (function (arglist__20216){ var args = cljs.core.seq(arglist__20216); return G__20214__delegate(args); }); G__20214.cljs$core$IFn$_invoke$arity$variadic = G__20214__delegate; return G__20214; })() ;})(c)) ); return c; }); /** * Synchronous link. Will not overwrite newpath if it exists. * @param {!string} srcpathstr * @param {!string} dstpathstr * @return {nil} or throws */ cljs_node_io.fs.link = (function cljs_node_io$fs$link(srcpathstr,dstpathstr){ if(typeof srcpathstr === 'string'){ } else { throw (new Error("Assert failed: (string? srcpathstr)")); } if(typeof dstpathstr === 'string'){ } else { throw (new Error("Assert failed: (string? dstpathstr)")); } return cljs_node_io.fs.fs.linkSync(srcpathstr,dstpathstr); }); /** * Synchronous link. Will not overwrite newpath if it exists. * @param {!string} srcpathstr * @param {!string} dstpathstr * @return {!Channel} promise-chan receiving [?err] */ cljs_node_io.fs.alink = (function cljs_node_io$fs$alink(srcpathstr,dstpathstr){ if(typeof srcpathstr === 'string'){ } else { throw (new Error("Assert failed: (string? srcpathstr)")); } if(typeof dstpathstr === 'string'){ } else { throw (new Error("Assert failed: (string? dstpathstr)")); } var c = cljs.core.async.promise_chan.call(null); cljs_node_io.fs.fs.link(srcpathstr,dstpathstr,((function (c){ return (function() { var G__20217__delegate = function (args){ return cljs.core.async.put_BANG_.call(null,c,cljs.core.vec.call(null,args)); }; var G__20217 = function (var_args){ var args = null; if (arguments.length > 0) { var G__20218__i = 0, G__20218__a = new Array(arguments.length - 0); while (G__20218__i < G__20218__a.length) {G__20218__a[G__20218__i] = arguments[G__20218__i + 0]; ++G__20218__i;} args = new cljs.core.IndexedSeq(G__20218__a,0,null); } return G__20217__delegate.call(this,args);}; G__20217.cljs$lang$maxFixedArity = 0; G__20217.cljs$lang$applyTo = (function (arglist__20219){ var args = cljs.core.seq(arglist__20219); return G__20217__delegate(args); }); G__20217.cljs$core$IFn$_invoke$arity$variadic = G__20217__delegate; return G__20217; })() ;})(c)) ); return c; }); /** * Synchronous symlink. * @param {!string} target :: what gets pointed to * @param {!string} pathstr :: the new symbolic link that points to target * @return {nil} or throws */ cljs_node_io.fs.symlink = (function cljs_node_io$fs$symlink(target,pathstr){ return cljs_node_io.fs.fs.symlinkSync(target,pathstr); }); /** * Synchronous symlink. * @param {!string} targetstr :: what gets pointed to * @param {!string} pathstr :: the new symbolic link that points to target * @return {!Channel} promise-chan receiving [?err] */ cljs_node_io.fs.asymlink = (function cljs_node_io$fs$asymlink(targetstr,pathstr){ if(typeof targetstr === 'string'){ } else { throw (new Error("Assert failed: (string? targetstr)")); } if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } var c = cljs.core.async.promise_chan.call(null); cljs_node_io.fs.fs.symlink(targetstr,pathstr,((function (c){ return (function() { var G__20220__delegate = function (args){ return cljs.core.async.put_BANG_.call(null,c,cljs.core.vec.call(null,args)); }; var G__20220 = function (var_args){ var args = null; if (arguments.length > 0) { var G__20221__i = 0, G__20221__a = new Array(arguments.length - 0); while (G__20221__i < G__20221__a.length) {G__20221__a[G__20221__i] = arguments[G__20221__i + 0]; ++G__20221__i;} args = new cljs.core.IndexedSeq(G__20221__a,0,null); } return G__20220__delegate.call(this,args);}; G__20220.cljs$lang$maxFixedArity = 0; G__20220.cljs$lang$applyTo = (function (arglist__20222){ var args = cljs.core.seq(arglist__20222); return G__20220__delegate(args); }); G__20220.cljs$core$IFn$_invoke$arity$variadic = G__20220__delegate; return G__20220; })() ;})(c)) ); return c; }); /** * Synchronously unlink a file. * @param {!string} pathstr :: path of file to unlink * @return {nil} or throws */ cljs_node_io.fs.unlink = (function cljs_node_io$fs$unlink(pathstr){ return cljs_node_io.fs.fs.unlinkSync(pathstr); }); /** * Asynchronously unlink a file * @param {!string} pathstr :: path of file to unlink * @return {!Channel} promise-chan receiving [?err] */ cljs_node_io.fs.aunlink = (function cljs_node_io$fs$aunlink(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } var c = cljs.core.async.promise_chan.call(null); cljs_node_io.fs.fs.unlink(pathstr,((function (c){ return (function() { var G__20223__delegate = function (args){ return cljs.core.async.put_BANG_.call(null,c,cljs.core.vec.call(null,args)); }; var G__20223 = function (var_args){ var args = null; if (arguments.length > 0) { var G__20224__i = 0, G__20224__a = new Array(arguments.length - 0); while (G__20224__i < G__20224__a.length) {G__20224__a[G__20224__i] = arguments[G__20224__i + 0]; ++G__20224__i;} args = new cljs.core.IndexedSeq(G__20224__a,0,null); } return G__20223__delegate.call(this,args);}; G__20223.cljs$lang$maxFixedArity = 0; G__20223.cljs$lang$applyTo = (function (arglist__20225){ var args = cljs.core.seq(arglist__20225); return G__20223__delegate(args); }); G__20223.cljs$core$IFn$_invoke$arity$variadic = G__20223__delegate; return G__20223; })() ;})(c)) ); return c; }); /** * Synchronously delete the file or directory path * @param {!string} pathstr :: can be file or directory * @return {nil} or throws */ cljs_node_io.fs.rm = (function cljs_node_io$fs$rm(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } if(cljs_node_io.fs.dir_QMARK_.call(null,pathstr)){ return cljs_node_io.fs.rmdir.call(null,pathstr); } else { return cljs_node_io.fs.unlink.call(null,pathstr); } }); /** * Asynchronously delete the file or directory path * @param {!string} pathstr * @return {!Channel} promise-chan receiving [?err] */ cljs_node_io.fs.arm = (function cljs_node_io$fs$arm(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } var c = cljs.core.async.promise_chan.call(null); var dc = cljs_node_io.fs.adir_QMARK_.call(null,pathstr); cljs.core.async.take_BANG_.call(null,dc,((function (c,dc){ return (function (d_QMARK_){ return cljs.core.async.take_BANG_.call(null,(cljs.core.truth_(d_QMARK_)?cljs_node_io.fs.armdir.call(null,pathstr):cljs_node_io.fs.aunlink.call(null,pathstr)),((function (c,dc){ return (function (ev){ return cljs.core.async.put_BANG_.call(null,c,ev); });})(c,dc)) ); });})(c,dc)) ); return c; }); /** * @param {!string} pathstr :: path to a directory to recursively delete. Deletes a passed file as well. * @return {nil} or throws */ cljs_node_io.fs.rm_r = (function cljs_node_io$fs$rm_r(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } if(cljs.core.boolean$.call(null,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, ["/",null,"\\\\",null,"\\",null,"//",null], null), null).call(null,pathstr)) === false){ } else { throw (new Error(["Assert failed: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(["you just tried to delete root, ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_str.call(null,pathstr)),", be more careful."].join('')),"\n","(false? (boolean (#{\"/\" \"\\\\\\\\\" \"\\\\\" \"//\"} pathstr)))"].join(''))); } if(cljs_node_io.fs.dir_QMARK_.call(null,pathstr)){ var seq__20226_20230 = cljs.core.seq.call(null,cljs.core.mapv.call(null,cljs.core.partial.call(null,cljs_node_io.fs.resolve_path,pathstr),cljs_node_io.fs.readdir.call(null,pathstr))); var chunk__20227_20231 = null; var count__20228_20232 = (0); var i__20229_20233 = (0); while(true){ if((i__20229_20233 < count__20228_20232)){ var p_20234 = cljs.core._nth.call(null,chunk__20227_20231,i__20229_20233); cljs_node_io.fs.rm_r.call(null,p_20234); var G__20235 = seq__20226_20230; var G__20236 = chunk__20227_20231; var G__20237 = count__20228_20232; var G__20238 = (i__20229_20233 + (1)); seq__20226_20230 = G__20235; chunk__20227_20231 = G__20236; count__20228_20232 = G__20237; i__20229_20233 = G__20238; continue; } else { var temp__5457__auto___20239 = cljs.core.seq.call(null,seq__20226_20230); if(temp__5457__auto___20239){ var seq__20226_20240__$1 = temp__5457__auto___20239; if(cljs.core.chunked_seq_QMARK_.call(null,seq__20226_20240__$1)){ var c__4319__auto___20241 = cljs.core.chunk_first.call(null,seq__20226_20240__$1); var G__20242 = cljs.core.chunk_rest.call(null,seq__20226_20240__$1); var G__20243 = c__4319__auto___20241; var G__20244 = cljs.core.count.call(null,c__4319__auto___20241); var G__20245 = (0); seq__20226_20230 = G__20242; chunk__20227_20231 = G__20243; count__20228_20232 = G__20244; i__20229_20233 = G__20245; continue; } else { var p_20246 = cljs.core.first.call(null,seq__20226_20240__$1); cljs_node_io.fs.rm_r.call(null,p_20246); var G__20247 = cljs.core.next.call(null,seq__20226_20240__$1); var G__20248 = null; var G__20249 = (0); var G__20250 = (0); seq__20226_20230 = G__20247; chunk__20227_20231 = G__20248; count__20228_20232 = G__20249; i__20229_20233 = G__20250; continue; } } else { } } break; } return cljs_node_io.fs.rmdir.call(null,pathstr); } else { return cljs_node_io.fs.unlink.call(null,pathstr); } }); /** * asynchronous recursive delete. Crawls in order provided by readdir and makes unlink/rmdir calls sequentially * after the previous has completed. Breaks on any err which is returned as [err]. * @param {!string} pathstr * @return {!Channel} promise-chan receiving [?err] */ cljs_node_io.fs.arm_r = (function cljs_node_io$fs$arm_r(pathstr){ if(typeof pathstr === 'string'){ } else { throw (new Error("Assert failed: (string? pathstr)")); } if(cljs.core.boolean$.call(null,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, ["/",null,"\\\\",null,"\\",null,"//",null], null), null).call(null,pathstr)) === false){ } else { throw (new Error(["Assert failed: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(["you just tried to delete root, ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_str.call(null,pathstr)),", be more careful."].join('')),"\n","(false? (boolean (#{\"/\" \"\\\\\\\\\" \"\\\\\" \"//\"} pathstr)))"].join(''))); } var c = cljs.core.async.promise_chan.call(null); var c__4714__auto___20345 = cljs.core.async.chan.call(null,(1)); cljs.core.async.impl.dispatch.run.call(null,((function (c__4714__auto___20345,c){ return (function (){ var f__4715__auto__ = (function (){var switch__4668__auto__ = ((function (c__4714__auto___20345,c){ return (function (state_20316){ var state_val_20317 = (state_20316[(1)]); if((state_val_20317 === (7))){ var inst_20262 = (state_20316[(7)]); var inst_20265 = cljs.core.partial.call(null,cljs_node_io.fs.resolve_path,pathstr); var inst_20266 = cljs.core.mapv.call(null,inst_20265,inst_20262); var inst_20267 = inst_20266; var state_20316__$1 = (function (){var statearr_20318 = state_20316; (statearr_20318[(8)] = inst_20267); return statearr_20318; })(); var statearr_20319_20346 = state_20316__$1; (statearr_20319_20346[(2)] = null); (statearr_20319_20346[(1)] = (10)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_20317 === (20))){ var inst_20298 = (state_20316[(2)]); var state_20316__$1 = state_20316; var statearr_20320_20347 = state_20316__$1; (statearr_20320_20347[(2)] = inst_20298); (statearr_20320_20347[(1)] = (9)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_20317 === (1))){ var inst_20251 = cljs_node_io.fs.adir_QMARK_.call(null,pathstr); var state_20316__$1 = state_20316; return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_20316__$1,(2),inst_20251); } else { if((state_val_20317 === (24))){ var inst_20310 = (state_20316[(2)]); var state_20316__$1 = state_20316; return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_20316__$1,(23),c,inst_20310); } else { if((state_val_20317 === (4))){ var inst_20308 = cljs_node_io.fs.aunlink.call(null,pathstr); var state_20316__$1 = state_20316; return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_20316__$1,(24),inst_20308); } else { if((state_val_20317 === (15))){ var inst_20279 = (state_20316[(9)]); var inst_20278 = (state_20316[(2)]); var inst_20279__$1 = cljs.core.nth.call(null,inst_20278,(0),null); var inst_20280 = (inst_20279__$1 instanceof Error); var state_20316__$1 = (function (){var statearr_20321 = state_20316; (statearr_20321[(9)] = inst_20279__$1); return statearr_20321; })(); if(cljs.core.truth_(inst_20280)){ var statearr_20322_20348 = state_20316__$1; (statearr_20322_20348[(1)] = (16)); } else { var statearr_20323_20349 = state_20316__$1; (statearr_20323_20349[(1)] = (17)); } return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_20317 === (21))){ var inst_20296 = (state_20316[(2)]); var state_20316__$1 = state_20316; return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_20316__$1,(20),c,inst_20296); } else { if((state_val_20317 === (13))){ var state_20316__$1 = state_20316; var statearr_20324_20350 = state_20316__$1; (statearr_20324_20350[(2)] = null); (statearr_20324_20350[(1)] = (14)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_20317 === (22))){ var inst_20304 = (state_20316[(2)]); var state_20316__$1 = state_20316; var statearr_20325_20351 = state_20316__$1; (statearr_20325_20351[(2)] = inst_20304); (statearr_20325_20351[(1)] = (9)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_20317 === (6))){ var inst_20261 = (state_20316[(10)]); var inst_20260 = (state_20316[(2)]); var inst_20261__$1 = cljs.core.nth.call(null,inst_20260,(0),null); var inst_20262 = cljs.core.nth.call(null,inst_20260,(1),null); var inst_20263 = cljs.core.not.call(null,inst_20261__$1); var state_20316__$1 = (function (){var statearr_20326 = state_20316; (statearr_20326[(7)] = inst_20262); (statearr_20326[(10)] = inst_20261__$1); return statearr_20326; })(); if(inst_20263){ var statearr_20327_20352 = state_20316__$1; (statearr_20327_20352[(1)] = (7)); } else { var statearr_20328_20353 = state_20316__$1; (statearr_20328_20353[(1)] = (8)); } return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_20317 === (17))){ var inst_20267 = (state_20316[(8)]); var inst_20285 = cljs.core.next.call(null,inst_20267); var inst_20267__$1 = inst_20285; var state_20316__$1 = (function (){var statearr_20329 = state_20316; (statearr_20329[(8)] = inst_20267__$1); return statearr_20329; })(); var statearr_20330_20354 = state_20316__$1; (statearr_20330_20354[(2)] = null); (statearr_20330_20354[(1)] = (10)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_20317 === (3))){ var inst_20258 = cljs_node_io.fs.areaddir.call(null,pathstr); var state_20316__$1 = state_20316; return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_20316__$1,(6),inst_20258); } else { if((state_val_20317 === (12))){ var inst_20267 = (state_20316[(8)]); var inst_20275 = cljs.core.first.call(null,inst_20267); var inst_20276 = cljs_node_io.fs.arm_r.call(null,inst_20275); var state_20316__$1 = state_20316; return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_20316__$1,(15),inst_20276); } else { if((state_val_20317 === (2))){ var inst_20253 = (state_20316[(2)]); var state_20316__$1 = state_20316; if(cljs.core.truth_(inst_20253)){ var statearr_20331_20355 = state_20316__$1; (statearr_20331_20355[(1)] = (3)); } else { var statearr_20332_20356 = state_20316__$1; (statearr_20332_20356[(1)] = (4)); } return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_20317 === (23))){ var inst_20312 = (state_20316[(2)]); var state_20316__$1 = state_20316; var statearr_20333_20357 = state_20316__$1; (statearr_20333_20357[(2)] = inst_20312); (statearr_20333_20357[(1)] = (5)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_20317 === (19))){ var inst_20283 = (state_20316[(2)]); var state_20316__$1 = state_20316; var statearr_20334_20358 = state_20316__$1; (statearr_20334_20358[(2)] = inst_20283); (statearr_20334_20358[(1)] = (18)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_20317 === (11))){ var inst_20293 = (state_20316[(2)]); var inst_20294 = cljs_node_io.fs.armdir.call(null,pathstr); var state_20316__$1 = (function (){var statearr_20335 = state_20316; (statearr_20335[(11)] = inst_20293); return statearr_20335; })(); return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_20316__$1,(21),inst_20294); } else { if((state_val_20317 === (9))){ var inst_20306 = (state_20316[(2)]); var state_20316__$1 = state_20316; var statearr_20336_20359 = state_20316__$1; (statearr_20336_20359[(2)] = inst_20306); (statearr_20336_20359[(1)] = (5)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_20317 === (5))){ var inst_20314 = (state_20316[(2)]); var state_20316__$1 = state_20316; return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_20316__$1,inst_20314); } else { if((state_val_20317 === (