datahike 0.7.1630

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/README.md +226 -0
  2. package/cljs.analyzer.api.js +427 -0
  3. package/cljs.analyzer.api.js.map +1 -0
  4. package/cljs.analyzer.impl.js +86 -0
  5. package/cljs.analyzer.impl.js.map +1 -0
  6. package/cljs.analyzer.impl.namespaces.js +219 -0
  7. package/cljs.analyzer.impl.namespaces.js.map +1 -0
  8. package/cljs.analyzer.js +7186 -0
  9. package/cljs.analyzer.js.map +1 -0
  10. package/cljs.analyzer.passes.and_or.js +141 -0
  11. package/cljs.analyzer.passes.and_or.js.map +1 -0
  12. package/cljs.analyzer.passes.js +104 -0
  13. package/cljs.analyzer.passes.js.map +1 -0
  14. package/cljs.cache.js +1145 -0
  15. package/cljs.cache.js.map +1 -0
  16. package/cljs.cache.wrapped.js +352 -0
  17. package/cljs.cache.wrapped.js.map +1 -0
  18. package/cljs.core.async.impl.buffers.js +489 -0
  19. package/cljs.core.async.impl.buffers.js.map +1 -0
  20. package/cljs.core.async.impl.channels.js +711 -0
  21. package/cljs.core.async.impl.channels.js.map +1 -0
  22. package/cljs.core.async.impl.dispatch.js +81 -0
  23. package/cljs.core.async.impl.dispatch.js.map +1 -0
  24. package/cljs.core.async.impl.ioc_helpers.js +192 -0
  25. package/cljs.core.async.impl.ioc_helpers.js.map +1 -0
  26. package/cljs.core.async.impl.protocols.js +368 -0
  27. package/cljs.core.async.impl.protocols.js.map +1 -0
  28. package/cljs.core.async.impl.timers.js +510 -0
  29. package/cljs.core.async.impl.timers.js.map +1 -0
  30. package/cljs.core.async.js +8813 -0
  31. package/cljs.core.async.js.map +1 -0
  32. package/cljs.core.js +38764 -0
  33. package/cljs.core.js.map +1 -0
  34. package/cljs.env.js +60 -0
  35. package/cljs.env.js.map +1 -0
  36. package/cljs.nodejs.js +80 -0
  37. package/cljs.nodejs.js.map +1 -0
  38. package/cljs.reader.js +462 -0
  39. package/cljs.reader.js.map +1 -0
  40. package/cljs.spec.alpha.js +5312 -0
  41. package/cljs.spec.alpha.js.map +1 -0
  42. package/cljs.spec.gen.alpha.js +2020 -0
  43. package/cljs.spec.gen.alpha.js.map +1 -0
  44. package/cljs.tagged_literals.js +103 -0
  45. package/cljs.tagged_literals.js.map +1 -0
  46. package/cljs.tools.reader.edn.js +960 -0
  47. package/cljs.tools.reader.edn.js.map +1 -0
  48. package/cljs.tools.reader.impl.commons.js +217 -0
  49. package/cljs.tools.reader.impl.commons.js.map +1 -0
  50. package/cljs.tools.reader.impl.errors.js +441 -0
  51. package/cljs.tools.reader.impl.errors.js.map +1 -0
  52. package/cljs.tools.reader.impl.inspect.js +182 -0
  53. package/cljs.tools.reader.impl.inspect.js.map +1 -0
  54. package/cljs.tools.reader.impl.utils.js +429 -0
  55. package/cljs.tools.reader.impl.utils.js.map +1 -0
  56. package/cljs.tools.reader.js +1830 -0
  57. package/cljs.tools.reader.js.map +1 -0
  58. package/cljs.tools.reader.reader_types.js +838 -0
  59. package/cljs.tools.reader.reader_types.js.map +1 -0
  60. package/cljs_env.js +18192 -0
  61. package/cljs_node_io.core.js +1278 -0
  62. package/cljs_node_io.core.js.map +1 -0
  63. package/cljs_node_io.file.js +918 -0
  64. package/cljs_node_io.file.js.map +1 -0
  65. package/cljs_node_io.fs.js +3911 -0
  66. package/cljs_node_io.fs.js.map +1 -0
  67. package/clojure.data.js +319 -0
  68. package/clojure.data.js.map +1 -0
  69. package/clojure.edn.js +119 -0
  70. package/clojure.edn.js.map +1 -0
  71. package/clojure.set.js +406 -0
  72. package/clojure.set.js.map +1 -0
  73. package/clojure.string.js +502 -0
  74. package/clojure.string.js.map +1 -0
  75. package/clojure.walk.js +156 -0
  76. package/clojure.walk.js.map +1 -0
  77. package/datahike.api.impl.js +621 -0
  78. package/datahike.api.impl.js.map +1 -0
  79. package/datahike.api.specification.js +85 -0
  80. package/datahike.api.specification.js.map +1 -0
  81. package/datahike.array.js +275 -0
  82. package/datahike.array.js.map +1 -0
  83. package/datahike.config.js +437 -0
  84. package/datahike.config.js.map +1 -0
  85. package/datahike.connections.js +55 -0
  86. package/datahike.connections.js.map +1 -0
  87. package/datahike.connector.js +1248 -0
  88. package/datahike.connector.js.map +1 -0
  89. package/datahike.constants.js +66 -0
  90. package/datahike.constants.js.map +1 -0
  91. package/datahike.core.js +628 -0
  92. package/datahike.core.js.map +1 -0
  93. package/datahike.datom.js +963 -0
  94. package/datahike.datom.js.map +1 -0
  95. package/datahike.db.interface.js +819 -0
  96. package/datahike.db.interface.js.map +1 -0
  97. package/datahike.db.js +3095 -0
  98. package/datahike.db.js.map +1 -0
  99. package/datahike.db.search.js +1004 -0
  100. package/datahike.db.search.js.map +1 -0
  101. package/datahike.db.transaction.js +1904 -0
  102. package/datahike.db.transaction.js.map +1 -0
  103. package/datahike.db.utils.js +642 -0
  104. package/datahike.db.utils.js.map +1 -0
  105. package/datahike.gc.js +1618 -0
  106. package/datahike.gc.js.map +1 -0
  107. package/datahike.impl.entity.js +604 -0
  108. package/datahike.impl.entity.js.map +1 -0
  109. package/datahike.index.interface.js +484 -0
  110. package/datahike.index.interface.js.map +1 -0
  111. package/datahike.index.js +50 -0
  112. package/datahike.index.js.map +1 -0
  113. package/datahike.index.persistent_set.js +1250 -0
  114. package/datahike.index.persistent_set.js.map +1 -0
  115. package/datahike.js.api.js +2211 -0
  116. package/datahike.js.api.js.map +1 -0
  117. package/datahike.lru.js +404 -0
  118. package/datahike.lru.js.map +1 -0
  119. package/datahike.pull_api.js +533 -0
  120. package/datahike.pull_api.js.map +1 -0
  121. package/datahike.query.js +11891 -0
  122. package/datahike.query.js.map +1 -0
  123. package/datahike.query_stats.js +152 -0
  124. package/datahike.query_stats.js.map +1 -0
  125. package/datahike.readers.js +166 -0
  126. package/datahike.readers.js.map +1 -0
  127. package/datahike.schema.js +251 -0
  128. package/datahike.schema.js.map +1 -0
  129. package/datahike.schema_cache.js +66 -0
  130. package/datahike.schema_cache.js.map +1 -0
  131. package/datahike.spec.js +70 -0
  132. package/datahike.spec.js.map +1 -0
  133. package/datahike.store.js +514 -0
  134. package/datahike.store.js.map +1 -0
  135. package/datahike.tools.js +436 -0
  136. package/datahike.tools.js.map +1 -0
  137. package/datahike.writer.js +3463 -0
  138. package/datahike.writer.js.map +1 -0
  139. package/datahike.writing.js +3168 -0
  140. package/datahike.writing.js.map +1 -0
  141. package/datalog.parser.impl.js +1421 -0
  142. package/datalog.parser.impl.js.map +1 -0
  143. package/datalog.parser.impl.proto.js +213 -0
  144. package/datalog.parser.impl.proto.js.map +1 -0
  145. package/datalog.parser.impl.util.js +117 -0
  146. package/datalog.parser.impl.util.js.map +1 -0
  147. package/datalog.parser.js +47 -0
  148. package/datalog.parser.js.map +1 -0
  149. package/datalog.parser.pull.js +2603 -0
  150. package/datalog.parser.pull.js.map +1 -0
  151. package/datalog.parser.type.js +7502 -0
  152. package/datalog.parser.type.js.map +1 -0
  153. package/datalog.parser.util.js +60 -0
  154. package/datalog.parser.util.js.map +1 -0
  155. package/environ.core.js +263 -0
  156. package/environ.core.js.map +1 -0
  157. package/fress.api.js +607 -0
  158. package/fress.api.js.map +1 -0
  159. package/fress.impl.adler32.js +435 -0
  160. package/fress.impl.adler32.js.map +1 -0
  161. package/fress.impl.bigint.js +185 -0
  162. package/fress.impl.bigint.js.map +1 -0
  163. package/fress.impl.buffer.js +1087 -0
  164. package/fress.impl.buffer.js.map +1 -0
  165. package/fress.impl.codes.js +105 -0
  166. package/fress.impl.codes.js.map +1 -0
  167. package/fress.impl.hopmap.js +603 -0
  168. package/fress.impl.hopmap.js.map +1 -0
  169. package/fress.impl.ranges.js +49 -0
  170. package/fress.impl.ranges.js.map +1 -0
  171. package/fress.impl.raw_input.js +837 -0
  172. package/fress.impl.raw_input.js.map +1 -0
  173. package/fress.impl.raw_output.js +653 -0
  174. package/fress.impl.raw_output.js.map +1 -0
  175. package/fress.impl.table.js +133 -0
  176. package/fress.impl.table.js.map +1 -0
  177. package/fress.reader.js +2312 -0
  178. package/fress.reader.js.map +1 -0
  179. package/fress.util.js +458 -0
  180. package/fress.util.js.map +1 -0
  181. package/fress.writer.js +2141 -0
  182. package/fress.writer.js.map +1 -0
  183. package/geheimnis.aes.js +132 -0
  184. package/geheimnis.aes.js.map +1 -0
  185. package/hasch.base64.js +42 -0
  186. package/hasch.base64.js.map +1 -0
  187. package/hasch.benc.js +201 -0
  188. package/hasch.benc.js.map +1 -0
  189. package/hasch.core.js +188 -0
  190. package/hasch.core.js.map +1 -0
  191. package/hasch.platform.js +221 -0
  192. package/hasch.platform.js.map +1 -0
  193. package/incognito.base.js +276 -0
  194. package/incognito.base.js.map +1 -0
  195. package/incognito.edn.js +54 -0
  196. package/incognito.edn.js.map +1 -0
  197. package/incognito.fressian.js +330 -0
  198. package/incognito.fressian.js.map +1 -0
  199. package/index.d.ts +660 -0
  200. package/is.simm.partial_cps.async.js +142 -0
  201. package/is.simm.partial_cps.async.js.map +1 -0
  202. package/is.simm.partial_cps.runtime.js +65 -0
  203. package/is.simm.partial_cps.runtime.js.map +1 -0
  204. package/is.simm.partial_cps.sequence.js +1255 -0
  205. package/is.simm.partial_cps.sequence.js.map +1 -0
  206. package/konserve.cache.js +2519 -0
  207. package/konserve.cache.js.map +1 -0
  208. package/konserve.compressor.js +502 -0
  209. package/konserve.compressor.js.map +1 -0
  210. package/konserve.core.js +8052 -0
  211. package/konserve.core.js.map +1 -0
  212. package/konserve.encryptor.js +553 -0
  213. package/konserve.encryptor.js.map +1 -0
  214. package/konserve.gc.js +541 -0
  215. package/konserve.gc.js.map +1 -0
  216. package/konserve.impl.defaults.js +8290 -0
  217. package/konserve.impl.defaults.js.map +1 -0
  218. package/konserve.impl.storage_layout.js +849 -0
  219. package/konserve.impl.storage_layout.js.map +1 -0
  220. package/konserve.memory.js +2102 -0
  221. package/konserve.memory.js.map +1 -0
  222. package/konserve.node_filestore.js +2951 -0
  223. package/konserve.node_filestore.js.map +1 -0
  224. package/konserve.protocols.js +590 -0
  225. package/konserve.protocols.js.map +1 -0
  226. package/konserve.serializers.js +562 -0
  227. package/konserve.serializers.js.map +1 -0
  228. package/konserve.store.js +2245 -0
  229. package/konserve.store.js.map +1 -0
  230. package/konserve.tiered.js +9574 -0
  231. package/konserve.tiered.js.map +1 -0
  232. package/konserve.utils.js +180 -0
  233. package/konserve.utils.js.map +1 -0
  234. package/me.tonsky.persistent_sorted_set.arrays.js +66 -0
  235. package/me.tonsky.persistent_sorted_set.arrays.js.map +1 -0
  236. package/me.tonsky.persistent_sorted_set.branch.js +2779 -0
  237. package/me.tonsky.persistent_sorted_set.branch.js.map +1 -0
  238. package/me.tonsky.persistent_sorted_set.btset.js +14196 -0
  239. package/me.tonsky.persistent_sorted_set.btset.js.map +1 -0
  240. package/me.tonsky.persistent_sorted_set.impl.node.js +324 -0
  241. package/me.tonsky.persistent_sorted_set.impl.node.js.map +1 -0
  242. package/me.tonsky.persistent_sorted_set.impl.storage.js +123 -0
  243. package/me.tonsky.persistent_sorted_set.impl.storage.js.map +1 -0
  244. package/me.tonsky.persistent_sorted_set.js +890 -0
  245. package/me.tonsky.persistent_sorted_set.js.map +1 -0
  246. package/me.tonsky.persistent_sorted_set.leaf.js +561 -0
  247. package/me.tonsky.persistent_sorted_set.leaf.js.map +1 -0
  248. package/me.tonsky.persistent_sorted_set.util.js +402 -0
  249. package/me.tonsky.persistent_sorted_set.util.js.map +1 -0
  250. package/medley.core.js +1857 -0
  251. package/medley.core.js.map +1 -0
  252. package/package.json +38 -0
  253. package/spec_tools.core.js +1925 -0
  254. package/spec_tools.core.js.map +1 -0
  255. package/spec_tools.data_spec.js +1291 -0
  256. package/spec_tools.data_spec.js.map +1 -0
  257. package/spec_tools.form.js +185 -0
  258. package/spec_tools.form.js.map +1 -0
  259. package/spec_tools.impl.js +362 -0
  260. package/spec_tools.impl.js.map +1 -0
  261. package/spec_tools.parse.js +427 -0
  262. package/spec_tools.parse.js.map +1 -0
  263. package/spec_tools.transform.js +288 -0
  264. package/spec_tools.transform.js.map +1 -0
  265. package/superv.async.js +8617 -0
  266. package/superv.async.js.map +1 -0
  267. package/tailrecursion.priority_map.js +994 -0
  268. package/tailrecursion.priority_map.js.map +1 -0
  269. package/taoensso.encore.js +12385 -0
  270. package/taoensso.encore.js.map +1 -0
  271. package/taoensso.timbre.appenders.core.js +239 -0
  272. package/taoensso.timbre.appenders.core.js.map +1 -0
  273. package/taoensso.timbre.js +1264 -0
  274. package/taoensso.timbre.js.map +1 -0
  275. package/taoensso.truss.impl.js +442 -0
  276. package/taoensso.truss.impl.js.map +1 -0
  277. package/taoensso.truss.js +743 -0
  278. package/taoensso.truss.js.map +1 -0
  279. package/test-config-keys.js +33 -0
  280. package/test-final.js +36 -0
  281. package/test-key-duplication.js +67 -0
  282. package/test.js +557 -0
@@ -0,0 +1,3911 @@
1
+ var $CLJS = require("./cljs_env");
2
+ var $jscomp = $CLJS.$jscomp;
3
+ var COMPILED = false;
4
+ require("./cljs.core.js");
5
+ require("./cljs.core.async.js");
6
+ require("./cljs.core.async.impl.protocols.js");
7
+ var environ=$CLJS.environ || ($CLJS.environ = {});
8
+ var fress=$CLJS.fress || ($CLJS.fress = {});
9
+ var datahike=$CLJS.datahike || ($CLJS.datahike = {});
10
+ var clojure=$CLJS.clojure || ($CLJS.clojure = {});
11
+ var hasch=$CLJS.hasch || ($CLJS.hasch = {});
12
+ var tailrecursion=$CLJS.tailrecursion || ($CLJS.tailrecursion = {});
13
+ var superv=$CLJS.superv || ($CLJS.superv = {});
14
+ var geheimnis=$CLJS.geheimnis || ($CLJS.geheimnis = {});
15
+ var is=$CLJS.is || ($CLJS.is = {});
16
+ var cljs=$CLJS.cljs || ($CLJS.cljs = {});
17
+ var cljs_node_io=$CLJS.cljs_node_io || ($CLJS.cljs_node_io = {});
18
+ var goog=$CLJS.goog || ($CLJS.goog = {});
19
+ var konserve=$CLJS.konserve || ($CLJS.konserve = {});
20
+ var datalog=$CLJS.datalog || ($CLJS.datalog = {});
21
+ var spec_tools=$CLJS.spec_tools || ($CLJS.spec_tools = {});
22
+ var taoensso=$CLJS.taoensso || ($CLJS.taoensso = {});
23
+ var incognito=$CLJS.incognito || ($CLJS.incognito = {});
24
+ var medley=$CLJS.medley || ($CLJS.medley = {});
25
+ var me=$CLJS.me || ($CLJS.me = {});
26
+
27
+ $CLJS.SHADOW_ENV.setLoaded("cljs_node_io.fs.js");
28
+
29
+ goog.provide('cljs_node_io.fs');
30
+ cljs_node_io.fs.fs = require("fs");
31
+ cljs_node_io.fs.path = require("path");
32
+ /**
33
+ * @type {!string}
34
+ */
35
+ cljs_node_io.fs.sep = cljs_node_io.fs.path.sep;
36
+ /**
37
+ * Convert a fs.Stats object to edn. Function are swapped out for their return values.
38
+ * @param {!fs.Stats} st
39
+ * @return {!IMap}
40
+ */
41
+ cljs_node_io.fs.stat__GT_clj = (function cljs_node_io$fs$stat__GT_clj(st){
42
+ var ks = goog.object.getKeys(st);
43
+ var vs = goog.object.getValues(st);
44
+ return cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.remove.cljs$core$IFn$_invoke$arity$1((function (p1__127101_SHARP_){
45
+ return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p1__127101_SHARP_,(0)),"_checkModeProperty");
46
+ })),cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p__127104){
47
+ var vec__127105 = p__127104;
48
+ var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__127105,(0),null);
49
+ var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__127105,(1),null);
50
+ return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(k),((cljs.core.fn_QMARK_(v))?v.apply(st):v)], null);
51
+ }))),cljs.core.map.cljs$core$IFn$_invoke$arity$3(cljs.core.vector,ks,vs));
52
+ });
53
+ /**
54
+ * Synchronous stat
55
+ * @param {!(string|Buffer|URL)} pathstring
56
+ * @return {!IMap} file stats object converted to edn
57
+ */
58
+ cljs_node_io.fs.stat = (function cljs_node_io$fs$stat(pathstr){
59
+ return cljs_node_io.fs.stat__GT_clj(cljs_node_io.fs.fs.statSync(pathstr));
60
+ });
61
+ /**
62
+ * Asynchronous stat
63
+ * @param {!(string|Buffer|URL)} pathstr
64
+ * @return {!Channel} yielding [?err ?edn-stats]
65
+ */
66
+ cljs_node_io.fs.astat = (function cljs_node_io$fs$astat(pathstr){
67
+ var out = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
68
+ cljs_node_io.fs.fs.stat(pathstr,(function (err,stats){
69
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out,(cljs.core.truth_(err)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [err], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs_node_io.fs.stat__GT_clj(stats)], null)));
70
+ }));
71
+
72
+ return out;
73
+ });
74
+ /**
75
+ * Synchronous lstat identical to stat(), except that if path is a symbolic link,
76
+ * then the link itself is stat-ed, not the file that it refers to
77
+ * @param {!(string|Buffer|URL)} pathstr
78
+ * @return {!IMap} file stats object converted to edn
79
+ */
80
+ cljs_node_io.fs.lstat = (function cljs_node_io$fs$lstat(pathstr){
81
+ return cljs_node_io.fs.stat__GT_clj(cljs_node_io.fs.fs.lstatSync(pathstr));
82
+ });
83
+ /**
84
+ * Asynchronous lstat
85
+ * @param {!(string|Buffer|URL)} pathstr
86
+ * @return {!Channel} yielding [?err ?edn-stats]
87
+ */
88
+ cljs_node_io.fs.alstat = (function cljs_node_io$fs$alstat(pathstr){
89
+ var out = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
90
+ cljs_node_io.fs.fs.lstat(pathstr,(function (err,stats){
91
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out,(cljs.core.truth_(err)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [err], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs_node_io.fs.stat__GT_clj(stats)], null)));
92
+ }));
93
+
94
+ return out;
95
+ });
96
+ /**
97
+ * @param {!Array<!Number>} bita :: an array of 1s an 0s
98
+ * @return {!Number} integer
99
+ */
100
+ cljs_node_io.fs.bita__GT_int = (function cljs_node_io$fs$bita__GT_int(bita){
101
+ return parseInt(bita.join(""),(2));
102
+ });
103
+ /**
104
+ * @param {!(fs.Stat|IMap)} s :: a fs.Stats object (or as edn)
105
+ * @return {!Array<Number>}
106
+ */
107
+ cljs_node_io.fs.stat__GT_perm_bita = (function cljs_node_io$fs$stat__GT_perm_bita(s){
108
+ var mode = (function (){var or__5002__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(s,new cljs.core.Keyword(null,"mode","mode",654403691));
109
+ if(cljs.core.truth_(or__5002__auto__)){
110
+ return or__5002__auto__;
111
+ } else {
112
+ return cljs_node_io.fs.goog$module$goog$object.get(s,"mode");
113
+ }
114
+ })();
115
+ var ownr = (mode & (256));
116
+ var ownw = (mode & (128));
117
+ var ownx = (mode & (64));
118
+ var grpr = (mode & (32));
119
+ var grpw = (mode & (16));
120
+ var grpx = (mode & (8));
121
+ var othr = (mode & (4));
122
+ var othw = (mode & (2));
123
+ var othx = (mode & (1));
124
+ var a = [ownr,ownw,ownx,grpr,grpw,grpx,othr,othw,othx];
125
+ var a__5587__auto__ = a;
126
+ var l__5588__auto__ = a__5587__auto__.length;
127
+ var res = cljs.core.aclone(a__5587__auto__);
128
+ var i = (0);
129
+ while(true){
130
+ if((i < l__5588__auto__)){
131
+ (res[i] = (((!(((a[i]) === (0)))))?(1):(0)));
132
+
133
+ var G__127492 = (i + (1));
134
+ i = G__127492;
135
+ continue;
136
+ } else {
137
+ return res;
138
+ }
139
+ break;
140
+ }
141
+ });
142
+ /**
143
+ * @param {!(fs.Stat|IMap)} s :: a fs.Stats object (or as edn)
144
+ * @return {!Number}
145
+ */
146
+ cljs_node_io.fs.permissions = (function cljs_node_io$fs$permissions(st){
147
+ return cljs_node_io.fs.bita__GT_int(cljs_node_io.fs.stat__GT_perm_bita(st));
148
+ });
149
+ /**
150
+ * @return {!IMap}
151
+ */
152
+ cljs_node_io.fs.gid_uid = (function cljs_node_io$fs$gid_uid(){
153
+ 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);
154
+ });
155
+ /**
156
+ * @param {!(string|Buffer|URL)} pathstr
157
+ * @return {!boolean} is the file hidden (unix only)
158
+ */
159
+ cljs_node_io.fs.hidden_QMARK_ = (function cljs_node_io$fs$hidden_QMARK_(pathstr){
160
+ return (new RegExp("(^|\\/)\\.[^\\/\\.]")).test(pathstr);
161
+ });
162
+ /**
163
+ * @param {!(string|Buffer|URL)} pathstring
164
+ * @return {!boolean} iff abstract pathname exists and is a directory
165
+ */
166
+ cljs_node_io.fs.dir_QMARK_ = (function cljs_node_io$fs$dir_QMARK_(pathstr){
167
+ try{return cljs_node_io.fs.fs.statSync(pathstr).isDirectory();
168
+ }catch (e127116){if((e127116 instanceof Error)){
169
+ var _ = e127116;
170
+ return false;
171
+ } else {
172
+ throw e127116;
173
+
174
+ }
175
+ }});
176
+ /**
177
+ * Asynchronous directory predicate.
178
+ * @param {!(string|Buffer|URL)} pathstr
179
+ * @return {!Channel} yielding boolean
180
+ */
181
+ cljs_node_io.fs.adir_QMARK_ = (function cljs_node_io$fs$adir_QMARK_(pathstr){
182
+ var out = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
183
+ cljs_node_io.fs.fs.stat(pathstr,(function (err,stats){
184
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out,((cljs.core.not(err))?stats.isDirectory():false));
185
+ }));
186
+
187
+ return out;
188
+ });
189
+ /**
190
+ * Synchronous file predicate
191
+ * @param {!(string|Buffer|URL)} pathstring
192
+ * @return {!boolean} iff abstract pathname exists and is a file
193
+ */
194
+ cljs_node_io.fs.file_QMARK_ = (function cljs_node_io$fs$file_QMARK_(pathstr){
195
+ try{return cljs_node_io.fs.fs.lstatSync(pathstr).isFile();
196
+ }catch (e127121){if((e127121 instanceof Error)){
197
+ var _ = e127121;
198
+ return false;
199
+ } else {
200
+ throw e127121;
201
+
202
+ }
203
+ }});
204
+ /**
205
+ * Asynchronous file predicate.
206
+ * @param {!(string|Buffer|URL)} pathstr
207
+ * @return {!Channel} yielding boolean
208
+ */
209
+ cljs_node_io.fs.afile_QMARK_ = (function cljs_node_io$fs$afile_QMARK_(pathstr){
210
+ var out = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
211
+ cljs_node_io.fs.fs.lstat(pathstr,(function (err,stats){
212
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out,((cljs.core.not(err))?stats.isFile():false));
213
+ }));
214
+
215
+ return out;
216
+ });
217
+ /**
218
+ * @param {!string} pathstr :: path to test
219
+ * @return {!boolean} is pathstr an absolute path
220
+ */
221
+ cljs_node_io.fs.absolute_QMARK_ = (function cljs_node_io$fs$absolute_QMARK_(pathstr){
222
+ if(typeof pathstr === 'string'){
223
+ } else {
224
+ throw (new Error("Assert failed: (string? pathstr)"));
225
+ }
226
+
227
+ return cljs_node_io.fs.path.isAbsolute(pathstr);
228
+ });
229
+ /**
230
+ * Synchronously test if a file or directory exists
231
+ * @param {!(string|Buffer|URL)} pathstr :: file path to test
232
+ * @return {!boolean}
233
+ */
234
+ cljs_node_io.fs.exists_QMARK_ = (function cljs_node_io$fs$exists_QMARK_(pathstr){
235
+ try{cljs_node_io.fs.fs.accessSync(pathstr,cljs_node_io.fs.fs.F_OK);
236
+
237
+ return true;
238
+ }catch (e127128){if((e127128 instanceof Error)){
239
+ var e = e127128;
240
+ return false;
241
+ } else {
242
+ throw e127128;
243
+
244
+ }
245
+ }});
246
+ /**
247
+ * @deprecated
248
+ */
249
+ cljs_node_io.fs.fexists_QMARK_ = cljs_node_io.fs.exists_QMARK_;
250
+ /**
251
+ * Asynchronously test if a file or directory exists
252
+ * @param {!(string|Buffer|URL)} pathstr
253
+ * @return {!Channel} yielding boolean
254
+ */
255
+ cljs_node_io.fs.aexists_QMARK_ = (function cljs_node_io$fs$aexists_QMARK_(pathstr){
256
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
257
+ cljs_node_io.fs.fs.access(pathstr,cljs_node_io.fs.fs.F_OK,(function (e){
258
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,((cljs.core.not(e))?true:false));
259
+ }));
260
+
261
+ return c;
262
+ });
263
+ /**
264
+ * @deprecated
265
+ */
266
+ cljs_node_io.fs.afexists_QMARK_ = cljs_node_io.fs.aexists_QMARK_;
267
+ /**
268
+ * Synchronously test if a file is readable to the process
269
+ * @param {!(string|Buffer|URL)} pathstr :: path to test for process read permission
270
+ * @return {!boolean}
271
+ */
272
+ cljs_node_io.fs.readable_QMARK_ = (function cljs_node_io$fs$readable_QMARK_(pathstr){
273
+ try{cljs_node_io.fs.fs.accessSync(pathstr,cljs_node_io.fs.fs.R_OK);
274
+
275
+ return true;
276
+ }catch (e127131){if((e127131 instanceof Error)){
277
+ var e = e127131;
278
+ return false;
279
+ } else {
280
+ throw e127131;
281
+
282
+ }
283
+ }});
284
+ /**
285
+ * Asynchronously test if a file is readable to the process
286
+ * @param {!(string|Buffer|URL)} pathstr
287
+ * @return {!Channel} yielding boolean
288
+ */
289
+ cljs_node_io.fs.areadable_QMARK_ = (function cljs_node_io$fs$areadable_QMARK_(pathstr){
290
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
291
+ cljs_node_io.fs.fs.access(pathstr,cljs_node_io.fs.fs.R_OK,(function (e){
292
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,((cljs.core.not(e))?true:false));
293
+ }));
294
+
295
+ return c;
296
+ });
297
+ /**
298
+ * Synchronously test if a file is writable to the process
299
+ * @param {!(string|Buffer|URL)} pathstr :: path to test for process write permission
300
+ * @return {!boolean}
301
+ */
302
+ cljs_node_io.fs.writable_QMARK_ = (function cljs_node_io$fs$writable_QMARK_(pathstr){
303
+ try{cljs_node_io.fs.fs.accessSync(pathstr,cljs_node_io.fs.fs.W_OK);
304
+
305
+ return true;
306
+ }catch (e127136){if((e127136 instanceof Error)){
307
+ var e = e127136;
308
+ return false;
309
+ } else {
310
+ throw e127136;
311
+
312
+ }
313
+ }});
314
+ /**
315
+ * Asynchronously test if a file is writable to the process
316
+ * @param {!(string|Buffer|URL)} pathstr :: path to test for process write permission
317
+ * @return {!Channel} yielding boolean
318
+ */
319
+ cljs_node_io.fs.awritable_QMARK_ = (function cljs_node_io$fs$awritable_QMARK_(pathstr){
320
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
321
+ cljs_node_io.fs.fs.access(pathstr,cljs_node_io.fs.fs.W_OK,(function (e){
322
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,((cljs.core.not(e))?true:false));
323
+ }));
324
+
325
+ return c;
326
+ });
327
+ /**
328
+ * @param {!(string|Buffer|URL)} pathstr :: path to test for process executable permission
329
+ * @return {!boolean}
330
+ */
331
+ cljs_node_io.fs.executable_QMARK_ = (function cljs_node_io$fs$executable_QMARK_(pathstr){
332
+ if((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2("win32",process.platform)))){
333
+ try{cljs_node_io.fs.fs.accessSync(pathstr,cljs_node_io.fs.fs.X_OK);
334
+
335
+ return true;
336
+ }catch (e127139){if((e127139 instanceof Error)){
337
+ var e = e127139;
338
+ return false;
339
+ } else {
340
+ throw e127139;
341
+
342
+ }
343
+ }} else {
344
+ throw Error("Testing if a file is executable has no effect on Windows");
345
+ }
346
+ });
347
+ /**
348
+ * Asynchronously test if a file is executable to the process
349
+ * @param {!(string|Buffer|URL)} pathstr :: path to test for process execute permission
350
+ * @return {!Channel} yielding boolean
351
+ */
352
+ cljs_node_io.fs.aexecutable_QMARK_ = (function cljs_node_io$fs$aexecutable_QMARK_(pathstr){
353
+ if((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2("win32",process.platform)))){
354
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
355
+ cljs_node_io.fs.fs.access(pathstr,cljs_node_io.fs.fs.X_OK,(function (e){
356
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,((cljs.core.not(e))?true:false));
357
+ }));
358
+
359
+ return c;
360
+ } else {
361
+ throw Error("Testing if a file is executable has no effect on Windows");
362
+ }
363
+ });
364
+ /**
365
+ * Synchronous test for symbolic link
366
+ * @param {!(string|Buffer|URL)} pathstr :: path to test
367
+ * @return {!boolean}
368
+ */
369
+ cljs_node_io.fs.symlink_QMARK_ = (function cljs_node_io$fs$symlink_QMARK_(pathstr){
370
+ var stats = (function (){try{return cljs_node_io.fs.lstat(pathstr);
371
+ }catch (e127143){if((e127143 instanceof Error)){
372
+ var e = e127143;
373
+ return false;
374
+ } else {
375
+ throw e127143;
376
+
377
+ }
378
+ }})();
379
+ if(cljs.core.not(stats)){
380
+ return false;
381
+ } else {
382
+ return stats.isSymbolicLink();
383
+ }
384
+ });
385
+ /**
386
+ * Asynchronously test if path is a symbolic link
387
+ * @param {!(string|Buffer|URL)} pathstr :: path to test
388
+ * @return {!Channel} yielding boolean
389
+ */
390
+ cljs_node_io.fs.asymlink_QMARK_ = (function cljs_node_io$fs$asymlink_QMARK_(pathstr){
391
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
392
+ var stat_ch = cljs_node_io.fs.alstat(pathstr);
393
+ cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2(stat_ch,(function (p__127149){
394
+ var vec__127150 = p__127149;
395
+ var err = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__127150,(0),null);
396
+ var stats = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__127150,(1),null);
397
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,((cljs.core.not(err))?stats.isSymbolicLink():false));
398
+ }));
399
+
400
+ return c;
401
+ });
402
+ /**
403
+ * @param {!string} pathstring :: path to get parent of
404
+ * @return {!string} the parent directory
405
+ */
406
+ cljs_node_io.fs.dirname = (function cljs_node_io$fs$dirname(pathstring){
407
+ if(typeof pathstring === 'string'){
408
+ } else {
409
+ throw (new Error("Assert failed: (string? pathstring)"));
410
+ }
411
+
412
+ return cljs_node_io.fs.path.dirname(pathstring);
413
+ });
414
+ /**
415
+ * @return {!string}
416
+ */
417
+ cljs_node_io.fs.basename = (function cljs_node_io$fs$basename(var_args){
418
+ var G__127157 = arguments.length;
419
+ switch (G__127157) {
420
+ case 1:
421
+ return cljs_node_io.fs.basename.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
422
+
423
+ break;
424
+ case 2:
425
+ return cljs_node_io.fs.basename.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
426
+
427
+ break;
428
+ default:
429
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
430
+
431
+ }
432
+ });
433
+
434
+ (cljs_node_io.fs.basename.cljs$core$IFn$_invoke$arity$1 = (function (pathstring){
435
+ if(typeof pathstring === 'string'){
436
+ } else {
437
+ throw (new Error("Assert failed: (string? pathstring)"));
438
+ }
439
+
440
+ return cljs_node_io.fs.path.basename(pathstring);
441
+ }));
442
+
443
+ (cljs_node_io.fs.basename.cljs$core$IFn$_invoke$arity$2 = (function (pathstring,ext){
444
+ if(typeof pathstring === 'string'){
445
+ } else {
446
+ throw (new Error("Assert failed: (string? pathstring)"));
447
+ }
448
+
449
+ return cljs_node_io.fs.path.basename(pathstring,ext);
450
+ }));
451
+
452
+ (cljs_node_io.fs.basename.cljs$lang$maxFixedArity = 2);
453
+
454
+ /**
455
+ * @return {!string}
456
+ */
457
+ cljs_node_io.fs.resolve_path = (function cljs_node_io$fs$resolve_path(var_args){
458
+ var args__5732__auto__ = [];
459
+ var len__5726__auto___127499 = arguments.length;
460
+ var i__5727__auto___127500 = (0);
461
+ while(true){
462
+ if((i__5727__auto___127500 < len__5726__auto___127499)){
463
+ args__5732__auto__.push((arguments[i__5727__auto___127500]));
464
+
465
+ var G__127501 = (i__5727__auto___127500 + (1));
466
+ i__5727__auto___127500 = G__127501;
467
+ continue;
468
+ } else {
469
+ }
470
+ break;
471
+ }
472
+
473
+ var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
474
+ return cljs_node_io.fs.resolve_path.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
475
+ });
476
+
477
+ (cljs_node_io.fs.resolve_path.cljs$core$IFn$_invoke$arity$variadic = (function (paths){
478
+ if(cljs.core.every_QMARK_(cljs.core.string_QMARK_,paths)){
479
+ } else {
480
+ throw (new Error("Assert failed: (every? string? paths)"));
481
+ }
482
+
483
+ return cljs_node_io.fs.path.resolve.apply(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.array,paths));
484
+ }));
485
+
486
+ (cljs_node_io.fs.resolve_path.cljs$lang$maxFixedArity = (0));
487
+
488
+ /** @this {Function} */
489
+ (cljs_node_io.fs.resolve_path.cljs$lang$applyTo = (function (seq127163){
490
+ var self__5712__auto__ = this;
491
+ return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq127163));
492
+ }));
493
+
494
+ /**
495
+ * @param {!string} pathstring :: pathstring to normalize
496
+ * @return {!string}
497
+ */
498
+ cljs_node_io.fs.normalize_path = (function cljs_node_io$fs$normalize_path(pathstring){
499
+ if(typeof pathstring === 'string'){
500
+ } else {
501
+ throw (new Error("Assert failed: (string? pathstring)"));
502
+ }
503
+
504
+ return cljs_node_io.fs.path.normalize(pathstring);
505
+ });
506
+ /**
507
+ * @param {!string} pathstring :: file to get extension from
508
+ * @return {!string}
509
+ */
510
+ cljs_node_io.fs.ext = (function cljs_node_io$fs$ext(pathstring){
511
+ if(typeof pathstring === 'string'){
512
+ } else {
513
+ throw (new Error("Assert failed: (string? pathstring)"));
514
+ }
515
+
516
+ return cljs_node_io.fs.path.extname(pathstring);
517
+ });
518
+ /**
519
+ * Synchronous realpath
520
+ * Computes the canonical pathname by resolving ., .., and symbolic links.
521
+ * {@link https://nodejs.org/api/fs.html#fsrealpathsyncpath-options}
522
+ * @param {!(string|Buffer|URL)} pathstr
523
+ * @return {!string} resolved path
524
+ */
525
+ cljs_node_io.fs.realpath = (function cljs_node_io$fs$realpath(pathstr){
526
+ return cljs_node_io.fs.fs.realpathSync(pathstr);
527
+ });
528
+ /**
529
+ * Asynchronous realpath.
530
+ * Computes the canonical pathname by resolving ., .., and symbolic links.
531
+ * {@link https://nodejs.org/api/fs.html#fsrealpathpath-options-callback}
532
+ * @param {!(string|Buffer|URL)} pathstr
533
+ * @return {!Channel} yielding [?err ?resolvedPathstr]
534
+ */
535
+ cljs_node_io.fs.arealpath = (function cljs_node_io$fs$arealpath(pathstr){
536
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
537
+ cljs_node_io.fs.fs.realpath(pathstr,(function() {
538
+ var G__127502__delegate = function (args){
539
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
540
+ };
541
+ var G__127502 = function (var_args){
542
+ var args = null;
543
+ if (arguments.length > 0) {
544
+ var G__127503__i = 0, G__127503__a = new Array(arguments.length - 0);
545
+ while (G__127503__i < G__127503__a.length) {G__127503__a[G__127503__i] = arguments[G__127503__i + 0]; ++G__127503__i;}
546
+ args = new cljs.core.IndexedSeq(G__127503__a,0,null);
547
+ }
548
+ return G__127502__delegate.call(this,args);};
549
+ G__127502.cljs$lang$maxFixedArity = 0;
550
+ G__127502.cljs$lang$applyTo = (function (arglist__127504){
551
+ var args = cljs.core.seq(arglist__127504);
552
+ return G__127502__delegate(args);
553
+ });
554
+ G__127502.cljs$core$IFn$_invoke$arity$variadic = G__127502__delegate;
555
+ return G__127502;
556
+ })()
557
+ );
558
+
559
+ return c;
560
+ });
561
+ /**
562
+ * Synchronous readlink.
563
+ * Reads the contents of the symbolic link referred to by path.
564
+ * {@link https://nodejs.org/api/fs.html#fsreadlinksyncpath-options}
565
+ * @param {!(string|Buffer|URL)} pathstr :: the symbolic link to read
566
+ * @return {!string} the symbolic link's string value
567
+ */
568
+ cljs_node_io.fs.readlink = (function cljs_node_io$fs$readlink(pathstr){
569
+ return cljs_node_io.fs.fs.readlinkSync(pathstr);
570
+ });
571
+ /**
572
+ * Asynchronous readlink.
573
+ * Reads the contents of the symbolic link referred to by path.
574
+ * {@link https://nodejs.org/api/fs.html#fsreadlinkpath-options-callback}
575
+ * @param {!(string|Buffer|URL)} pathstr :: the symbolic link to read
576
+ * @return {!Channel} yielding [?err ?linkstring]
577
+ */
578
+ cljs_node_io.fs.areadlink = (function cljs_node_io$fs$areadlink(pathstr){
579
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
580
+ cljs_node_io.fs.fs.readlink(pathstr,(function() {
581
+ var G__127505__delegate = function (args){
582
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
583
+ };
584
+ var G__127505 = function (var_args){
585
+ var args = null;
586
+ if (arguments.length > 0) {
587
+ var G__127506__i = 0, G__127506__a = new Array(arguments.length - 0);
588
+ while (G__127506__i < G__127506__a.length) {G__127506__a[G__127506__i] = arguments[G__127506__i + 0]; ++G__127506__i;}
589
+ args = new cljs.core.IndexedSeq(G__127506__a,0,null);
590
+ }
591
+ return G__127505__delegate.call(this,args);};
592
+ G__127505.cljs$lang$maxFixedArity = 0;
593
+ G__127505.cljs$lang$applyTo = (function (arglist__127507){
594
+ var args = cljs.core.seq(arglist__127507);
595
+ return G__127505__delegate(args);
596
+ });
597
+ G__127505.cljs$core$IFn$_invoke$arity$variadic = G__127505__delegate;
598
+ return G__127505;
599
+ })()
600
+ );
601
+
602
+ return c;
603
+ });
604
+ /**
605
+ * Synchronously reads directory content
606
+ * {@link https://nodejs.org/api/fs.html#fsreaddirsyncpath-options}
607
+ * @param {!(string|Buffer|URL)} dirpath :: directory path to read
608
+ * @param {?IMap} opts :: options
609
+ * :encoding (string) -> defaults to 'utf8'
610
+ * :withFileTypes (bool) -> return fs.Dirent objects instead of strings. see
611
+ * {@link https://nodejs.org/api/fs.html#class-fsdirent}
612
+ * @return {!IVector} Vector<strings> representing directory content
613
+ */
614
+ cljs_node_io.fs.readdir = (function cljs_node_io$fs$readdir(var_args){
615
+ var G__127183 = arguments.length;
616
+ switch (G__127183) {
617
+ case 1:
618
+ return cljs_node_io.fs.readdir.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
619
+
620
+ break;
621
+ case 2:
622
+ return cljs_node_io.fs.readdir.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
623
+
624
+ break;
625
+ default:
626
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
627
+
628
+ }
629
+ });
630
+
631
+ (cljs_node_io.fs.readdir.cljs$core$IFn$_invoke$arity$1 = (function (dirpath){
632
+ return cljs.core.vec(cljs_node_io.fs.fs.readdirSync(dirpath));
633
+ }));
634
+
635
+ (cljs_node_io.fs.readdir.cljs$core$IFn$_invoke$arity$2 = (function (dirpath,opts){
636
+ return cljs.core.vec(cljs_node_io.fs.fs.readdirSync(dirpath,cljs.core.clj__GT_js(opts)));
637
+ }));
638
+
639
+ (cljs_node_io.fs.readdir.cljs$lang$maxFixedArity = 2);
640
+
641
+ /**
642
+ * Asynchronously reads directory content
643
+ * {@link https://nodejs.org/api/fs.html#fsreaddirpath-options-callback}
644
+ * @param {!(string|Buffer|URL)} dirpath :: directory path to read
645
+ * @param {?IMap} opts :: options
646
+ * :encoding (string) -> defaults to 'utf8'
647
+ * :withFileTypes (bool) -> return fs.Dirent objects instead of strings. see
648
+ * {@link https://nodejs.org/api/fs.html#class-fsdirent}
649
+ * @return {!Channel} yielding [?err, ?Vector<string|fs.Dirent>]
650
+ */
651
+ cljs_node_io.fs.areaddir = (function cljs_node_io$fs$areaddir(var_args){
652
+ var G__127189 = arguments.length;
653
+ switch (G__127189) {
654
+ case 1:
655
+ return cljs_node_io.fs.areaddir.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
656
+
657
+ break;
658
+ case 2:
659
+ return cljs_node_io.fs.areaddir.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
660
+
661
+ break;
662
+ default:
663
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
664
+
665
+ }
666
+ });
667
+
668
+ (cljs_node_io.fs.areaddir.cljs$core$IFn$_invoke$arity$1 = (function (dirpath){
669
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
670
+ cljs_node_io.fs.fs.readdir(dirpath,(function (e,data){
671
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [e,cljs.core.vec(data)], null));
672
+ }));
673
+
674
+ return c;
675
+ }));
676
+
677
+ (cljs_node_io.fs.areaddir.cljs$core$IFn$_invoke$arity$2 = (function (dirpath,opts){
678
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
679
+ cljs_node_io.fs.fs.readdir(dirpath,cljs.core.clj__GT_js(opts),(function (e,data){
680
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [e,cljs.core.vec(data)], null));
681
+ }));
682
+
683
+ return c;
684
+ }));
685
+
686
+ (cljs_node_io.fs.areaddir.cljs$lang$maxFixedArity = 2);
687
+
688
+ /**
689
+ * Synchronous depth-first recursive crawl through a directory tree, calling the supplied
690
+ * side-effecting function on every node. This function will throw if your supplied
691
+ * f throws on any node.
692
+ * @param {!string} root :: where to start the crawl. A file simply returns (f root)
693
+ * @param {!function<string>} f :: function called on both files & directories
694
+ * returns value of (f top-level-root)
695
+ */
696
+ cljs_node_io.fs.crawl = (function cljs_node_io$fs$crawl(root,f){
697
+ if(cljs.core.fn_QMARK_(f)){
698
+ } else {
699
+ throw (new Error("Assert failed: (fn? f)"));
700
+ }
701
+
702
+ if(cljs_node_io.fs.file_QMARK_(root)){
703
+ return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(root) : f.call(null, root));
704
+ } else {
705
+ var seq__127197_127510 = cljs.core.seq(cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs_node_io.fs.resolve_path,root),cljs_node_io.fs.readdir.cljs$core$IFn$_invoke$arity$1(root)));
706
+ var chunk__127198_127511 = null;
707
+ var count__127199_127512 = (0);
708
+ var i__127200_127513 = (0);
709
+ while(true){
710
+ if((i__127200_127513 < count__127199_127512)){
711
+ var child_127514 = chunk__127198_127511.cljs$core$IIndexed$_nth$arity$2(null, i__127200_127513);
712
+ (cljs_node_io.fs.crawl.cljs$core$IFn$_invoke$arity$2 ? cljs_node_io.fs.crawl.cljs$core$IFn$_invoke$arity$2(child_127514,f) : cljs_node_io.fs.crawl.call(null, child_127514,f));
713
+
714
+
715
+ var G__127515 = seq__127197_127510;
716
+ var G__127516 = chunk__127198_127511;
717
+ var G__127517 = count__127199_127512;
718
+ var G__127518 = (i__127200_127513 + (1));
719
+ seq__127197_127510 = G__127515;
720
+ chunk__127198_127511 = G__127516;
721
+ count__127199_127512 = G__127517;
722
+ i__127200_127513 = G__127518;
723
+ continue;
724
+ } else {
725
+ var temp__5804__auto___127519 = cljs.core.seq(seq__127197_127510);
726
+ if(temp__5804__auto___127519){
727
+ var seq__127197_127520__$1 = temp__5804__auto___127519;
728
+ if(cljs.core.chunked_seq_QMARK_(seq__127197_127520__$1)){
729
+ var c__5525__auto___127521 = cljs.core.chunk_first(seq__127197_127520__$1);
730
+ var G__127522 = cljs.core.chunk_rest(seq__127197_127520__$1);
731
+ var G__127523 = c__5525__auto___127521;
732
+ var G__127524 = cljs.core.count(c__5525__auto___127521);
733
+ var G__127525 = (0);
734
+ seq__127197_127510 = G__127522;
735
+ chunk__127198_127511 = G__127523;
736
+ count__127199_127512 = G__127524;
737
+ i__127200_127513 = G__127525;
738
+ continue;
739
+ } else {
740
+ var child_127526 = cljs.core.first(seq__127197_127520__$1);
741
+ (cljs_node_io.fs.crawl.cljs$core$IFn$_invoke$arity$2 ? cljs_node_io.fs.crawl.cljs$core$IFn$_invoke$arity$2(child_127526,f) : cljs_node_io.fs.crawl.call(null, child_127526,f));
742
+
743
+
744
+ var G__127527 = cljs.core.next(seq__127197_127520__$1);
745
+ var G__127528 = null;
746
+ var G__127529 = (0);
747
+ var G__127530 = (0);
748
+ seq__127197_127510 = G__127527;
749
+ chunk__127198_127511 = G__127528;
750
+ count__127199_127512 = G__127529;
751
+ i__127200_127513 = G__127530;
752
+ continue;
753
+ }
754
+ } else {
755
+ }
756
+ }
757
+ break;
758
+ }
759
+
760
+ return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(root) : f.call(null, root));
761
+ }
762
+ });
763
+ /**
764
+ * Asynchronous depth-first recursive crawl through a directory tree, calling the supplied
765
+ * potentially side-effecting function on every node. This function will short
766
+ * and return on an error.
767
+ *
768
+ * The user supplied function must return a 'result-chan'...a Readport/channel
769
+ * yielding [?err, ?ok]. There is no easy way to get the compiler to enforce this!
770
+ *
771
+ * @param {!string} root :: where to start the crawl. A file simply returns (af root)
772
+ * @param {!function<string>} af :: async function called on both files & directories
773
+ * @return {!Channel} yields a short circuited [err] or [nil ok].
774
+ * This depends on the user following the result chan conventions.
775
+ */
776
+ cljs_node_io.fs.acrawl = (function cljs_node_io$fs$acrawl(root,af){
777
+ if(cljs.core.fn_QMARK_(af)){
778
+ } else {
779
+ throw (new Error("Assert failed: (fn? af)"));
780
+ }
781
+
782
+ var c__26357__auto__ = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
783
+ cljs.core.async.impl.dispatch.run((function (){
784
+ var f__26358__auto__ = (function (){var switch__25947__auto__ = (function (state_127263){
785
+ var state_val_127264 = (state_127263[(1)]);
786
+ if((state_val_127264 === (7))){
787
+ var inst_127217 = (state_127263[(7)]);
788
+ var inst_127217__$1 = (state_127263[(2)]);
789
+ var inst_127218 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_127217__$1,(0),null);
790
+ var inst_127219 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_127217__$1,(1),null);
791
+ var state_127263__$1 = (function (){var statearr_127265 = state_127263;
792
+ (statearr_127265[(7)] = inst_127217__$1);
793
+
794
+ (statearr_127265[(8)] = inst_127219);
795
+
796
+ return statearr_127265;
797
+ })();
798
+ if(cljs.core.truth_(inst_127218)){
799
+ var statearr_127266_127531 = state_127263__$1;
800
+ (statearr_127266_127531[(1)] = (8));
801
+
802
+ } else {
803
+ var statearr_127267_127532 = state_127263__$1;
804
+ (statearr_127267_127532[(1)] = (9));
805
+
806
+ }
807
+
808
+ return new cljs.core.Keyword(null,"recur","recur",-437573268);
809
+ } else {
810
+ if((state_val_127264 === (20))){
811
+ var inst_127250 = (state_127263[(9)]);
812
+ var state_127263__$1 = state_127263;
813
+ var statearr_127268_127533 = state_127263__$1;
814
+ (statearr_127268_127533[(2)] = inst_127250);
815
+
816
+ (statearr_127268_127533[(1)] = (22));
817
+
818
+
819
+ return new cljs.core.Keyword(null,"recur","recur",-437573268);
820
+ } else {
821
+ if((state_val_127264 === (1))){
822
+ var inst_127204 = cljs_node_io.fs.afile_QMARK_(root);
823
+ var state_127263__$1 = state_127263;
824
+ return cljs.core.async.impl.ioc_helpers.take_BANG_(state_127263__$1,(2),inst_127204);
825
+ } else {
826
+ if((state_val_127264 === (4))){
827
+ var inst_127215 = cljs_node_io.fs.areaddir.cljs$core$IFn$_invoke$arity$1(root);
828
+ var state_127263__$1 = state_127263;
829
+ return cljs.core.async.impl.ioc_helpers.take_BANG_(state_127263__$1,(7),inst_127215);
830
+ } else {
831
+ if((state_val_127264 === (15))){
832
+ var inst_127248 = (state_127263[(2)]);
833
+ var state_127263__$1 = state_127263;
834
+ var statearr_127269_127534 = state_127263__$1;
835
+ (statearr_127269_127534[(2)] = inst_127248);
836
+
837
+ (statearr_127269_127534[(1)] = (12));
838
+
839
+
840
+ return new cljs.core.Keyword(null,"recur","recur",-437573268);
841
+ } else {
842
+ if((state_val_127264 === (21))){
843
+ var inst_127253 = (af.cljs$core$IFn$_invoke$arity$1 ? af.cljs$core$IFn$_invoke$arity$1(root) : af.call(null, root));
844
+ var state_127263__$1 = state_127263;
845
+ return cljs.core.async.impl.ioc_helpers.take_BANG_(state_127263__$1,(23),inst_127253);
846
+ } else {
847
+ if((state_val_127264 === (13))){
848
+ var inst_127224 = (state_127263[(10)]);
849
+ var inst_127235 = cljs.core.first(inst_127224);
850
+ var inst_127236 = (cljs_node_io.fs.acrawl.cljs$core$IFn$_invoke$arity$2 ? cljs_node_io.fs.acrawl.cljs$core$IFn$_invoke$arity$2(inst_127235,af) : cljs_node_io.fs.acrawl.call(null, inst_127235,af));
851
+ var state_127263__$1 = state_127263;
852
+ return cljs.core.async.impl.ioc_helpers.take_BANG_(state_127263__$1,(16),inst_127236);
853
+ } else {
854
+ if((state_val_127264 === (22))){
855
+ var inst_127257 = (state_127263[(2)]);
856
+ var state_127263__$1 = state_127263;
857
+ var statearr_127270_127535 = state_127263__$1;
858
+ (statearr_127270_127535[(2)] = inst_127257);
859
+
860
+ (statearr_127270_127535[(1)] = (10));
861
+
862
+
863
+ return new cljs.core.Keyword(null,"recur","recur",-437573268);
864
+ } else {
865
+ if((state_val_127264 === (6))){
866
+ var inst_127210 = (state_127263[(2)]);
867
+ var state_127263__$1 = state_127263;
868
+ var statearr_127271_127536 = state_127263__$1;
869
+ (statearr_127271_127536[(2)] = inst_127210);
870
+
871
+ (statearr_127271_127536[(1)] = (5));
872
+
873
+
874
+ return new cljs.core.Keyword(null,"recur","recur",-437573268);
875
+ } else {
876
+ if((state_val_127264 === (17))){
877
+ var inst_127238 = (state_127263[(11)]);
878
+ var state_127263__$1 = state_127263;
879
+ var statearr_127272_127537 = state_127263__$1;
880
+ (statearr_127272_127537[(2)] = inst_127238);
881
+
882
+ (statearr_127272_127537[(1)] = (19));
883
+
884
+
885
+ return new cljs.core.Keyword(null,"recur","recur",-437573268);
886
+ } else {
887
+ if((state_val_127264 === (3))){
888
+ var inst_127208 = (af.cljs$core$IFn$_invoke$arity$1 ? af.cljs$core$IFn$_invoke$arity$1(root) : af.call(null, root));
889
+ var state_127263__$1 = state_127263;
890
+ return cljs.core.async.impl.ioc_helpers.take_BANG_(state_127263__$1,(6),inst_127208);
891
+ } else {
892
+ if((state_val_127264 === (12))){
893
+ var inst_127250 = (state_127263[(9)]);
894
+ var inst_127250__$1 = (state_127263[(2)]);
895
+ var state_127263__$1 = (function (){var statearr_127274 = state_127263;
896
+ (statearr_127274[(9)] = inst_127250__$1);
897
+
898
+ return statearr_127274;
899
+ })();
900
+ if(cljs.core.truth_(inst_127250__$1)){
901
+ var statearr_127275_127538 = state_127263__$1;
902
+ (statearr_127275_127538[(1)] = (20));
903
+
904
+ } else {
905
+ var statearr_127276_127539 = state_127263__$1;
906
+ (statearr_127276_127539[(1)] = (21));
907
+
908
+ }
909
+
910
+ return new cljs.core.Keyword(null,"recur","recur",-437573268);
911
+ } else {
912
+ if((state_val_127264 === (2))){
913
+ var inst_127206 = (state_127263[(2)]);
914
+ var state_127263__$1 = state_127263;
915
+ if(cljs.core.truth_(inst_127206)){
916
+ var statearr_127281_127540 = state_127263__$1;
917
+ (statearr_127281_127540[(1)] = (3));
918
+
919
+ } else {
920
+ var statearr_127282_127541 = state_127263__$1;
921
+ (statearr_127282_127541[(1)] = (4));
922
+
923
+ }
924
+
925
+ return new cljs.core.Keyword(null,"recur","recur",-437573268);
926
+ } else {
927
+ if((state_val_127264 === (23))){
928
+ var inst_127255 = (state_127263[(2)]);
929
+ var state_127263__$1 = state_127263;
930
+ var statearr_127283_127542 = state_127263__$1;
931
+ (statearr_127283_127542[(2)] = inst_127255);
932
+
933
+ (statearr_127283_127542[(1)] = (22));
934
+
935
+
936
+ return new cljs.core.Keyword(null,"recur","recur",-437573268);
937
+ } else {
938
+ if((state_val_127264 === (19))){
939
+ var inst_127245 = (state_127263[(2)]);
940
+ var state_127263__$1 = state_127263;
941
+ var statearr_127286_127543 = state_127263__$1;
942
+ (statearr_127286_127543[(2)] = inst_127245);
943
+
944
+ (statearr_127286_127543[(1)] = (15));
945
+
946
+
947
+ return new cljs.core.Keyword(null,"recur","recur",-437573268);
948
+ } else {
949
+ if((state_val_127264 === (11))){
950
+ var inst_127224 = (state_127263[(10)]);
951
+ var inst_127227 = cljs.core.seq(inst_127224);
952
+ var state_127263__$1 = state_127263;
953
+ if(inst_127227){
954
+ var statearr_127287_127544 = state_127263__$1;
955
+ (statearr_127287_127544[(1)] = (13));
956
+
957
+ } else {
958
+ var statearr_127288_127545 = state_127263__$1;
959
+ (statearr_127288_127545[(1)] = (14));
960
+
961
+ }
962
+
963
+ return new cljs.core.Keyword(null,"recur","recur",-437573268);
964
+ } else {
965
+ if((state_val_127264 === (9))){
966
+ var inst_127219 = (state_127263[(8)]);
967
+ var inst_127222 = cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs_node_io.fs.resolve_path,root);
968
+ var inst_127223 = cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(inst_127222,inst_127219);
969
+ var inst_127224 = inst_127223;
970
+ var state_127263__$1 = (function (){var statearr_127289 = state_127263;
971
+ (statearr_127289[(10)] = inst_127224);
972
+
973
+ return statearr_127289;
974
+ })();
975
+ var statearr_127290_127546 = state_127263__$1;
976
+ (statearr_127290_127546[(2)] = null);
977
+
978
+ (statearr_127290_127546[(1)] = (11));
979
+
980
+
981
+ return new cljs.core.Keyword(null,"recur","recur",-437573268);
982
+ } else {
983
+ if((state_val_127264 === (5))){
984
+ var inst_127261 = (state_127263[(2)]);
985
+ var state_127263__$1 = state_127263;
986
+ return cljs.core.async.impl.ioc_helpers.return_chan(state_127263__$1,inst_127261);
987
+ } else {
988
+ if((state_val_127264 === (14))){
989
+ var state_127263__$1 = state_127263;
990
+ var statearr_127291_127547 = state_127263__$1;
991
+ (statearr_127291_127547[(2)] = null);
992
+
993
+ (statearr_127291_127547[(1)] = (15));
994
+
995
+
996
+ return new cljs.core.Keyword(null,"recur","recur",-437573268);
997
+ } else {
998
+ if((state_val_127264 === (16))){
999
+ var inst_127238 = (state_127263[(11)]);
1000
+ var inst_127238__$1 = (state_127263[(2)]);
1001
+ var inst_127239 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_127238__$1,(0),null);
1002
+ var state_127263__$1 = (function (){var statearr_127292 = state_127263;
1003
+ (statearr_127292[(11)] = inst_127238__$1);
1004
+
1005
+ return statearr_127292;
1006
+ })();
1007
+ if(cljs.core.truth_(inst_127239)){
1008
+ var statearr_127293_127548 = state_127263__$1;
1009
+ (statearr_127293_127548[(1)] = (17));
1010
+
1011
+ } else {
1012
+ var statearr_127294_127549 = state_127263__$1;
1013
+ (statearr_127294_127549[(1)] = (18));
1014
+
1015
+ }
1016
+
1017
+ return new cljs.core.Keyword(null,"recur","recur",-437573268);
1018
+ } else {
1019
+ if((state_val_127264 === (10))){
1020
+ var inst_127259 = (state_127263[(2)]);
1021
+ var state_127263__$1 = state_127263;
1022
+ var statearr_127298_127550 = state_127263__$1;
1023
+ (statearr_127298_127550[(2)] = inst_127259);
1024
+
1025
+ (statearr_127298_127550[(1)] = (5));
1026
+
1027
+
1028
+ return new cljs.core.Keyword(null,"recur","recur",-437573268);
1029
+ } else {
1030
+ if((state_val_127264 === (18))){
1031
+ var inst_127224 = (state_127263[(10)]);
1032
+ var inst_127242 = cljs.core.next(inst_127224);
1033
+ var inst_127224__$1 = inst_127242;
1034
+ var state_127263__$1 = (function (){var statearr_127299 = state_127263;
1035
+ (statearr_127299[(10)] = inst_127224__$1);
1036
+
1037
+ return statearr_127299;
1038
+ })();
1039
+ var statearr_127300_127551 = state_127263__$1;
1040
+ (statearr_127300_127551[(2)] = null);
1041
+
1042
+ (statearr_127300_127551[(1)] = (11));
1043
+
1044
+
1045
+ return new cljs.core.Keyword(null,"recur","recur",-437573268);
1046
+ } else {
1047
+ if((state_val_127264 === (8))){
1048
+ var inst_127217 = (state_127263[(7)]);
1049
+ var state_127263__$1 = state_127263;
1050
+ var statearr_127301_127552 = state_127263__$1;
1051
+ (statearr_127301_127552[(2)] = inst_127217);
1052
+
1053
+ (statearr_127301_127552[(1)] = (10));
1054
+
1055
+
1056
+ return new cljs.core.Keyword(null,"recur","recur",-437573268);
1057
+ } else {
1058
+ return null;
1059
+ }
1060
+ }
1061
+ }
1062
+ }
1063
+ }
1064
+ }
1065
+ }
1066
+ }
1067
+ }
1068
+ }
1069
+ }
1070
+ }
1071
+ }
1072
+ }
1073
+ }
1074
+ }
1075
+ }
1076
+ }
1077
+ }
1078
+ }
1079
+ }
1080
+ }
1081
+ }
1082
+ });
1083
+ return (function() {
1084
+ var cljs_node_io$fs$acrawl_$_state_machine__25948__auto__ = null;
1085
+ var cljs_node_io$fs$acrawl_$_state_machine__25948__auto____0 = (function (){
1086
+ var statearr_127303 = [null,null,null,null,null,null,null,null,null,null,null,null];
1087
+ (statearr_127303[(0)] = cljs_node_io$fs$acrawl_$_state_machine__25948__auto__);
1088
+
1089
+ (statearr_127303[(1)] = (1));
1090
+
1091
+ return statearr_127303;
1092
+ });
1093
+ var cljs_node_io$fs$acrawl_$_state_machine__25948__auto____1 = (function (state_127263){
1094
+ while(true){
1095
+ var ret_value__25949__auto__ = (function (){try{while(true){
1096
+ var result__25950__auto__ = switch__25947__auto__(state_127263);
1097
+ if(cljs.core.keyword_identical_QMARK_(result__25950__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
1098
+ continue;
1099
+ } else {
1100
+ return result__25950__auto__;
1101
+ }
1102
+ break;
1103
+ }
1104
+ }catch (e127304){var ex__25951__auto__ = e127304;
1105
+ var statearr_127305_127553 = state_127263;
1106
+ (statearr_127305_127553[(2)] = ex__25951__auto__);
1107
+
1108
+
1109
+ if(cljs.core.seq((state_127263[(4)]))){
1110
+ var statearr_127306_127554 = state_127263;
1111
+ (statearr_127306_127554[(1)] = cljs.core.first((state_127263[(4)])));
1112
+
1113
+ } else {
1114
+ throw ex__25951__auto__;
1115
+ }
1116
+
1117
+ return new cljs.core.Keyword(null,"recur","recur",-437573268);
1118
+ }})();
1119
+ if(cljs.core.keyword_identical_QMARK_(ret_value__25949__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
1120
+ var G__127555 = state_127263;
1121
+ state_127263 = G__127555;
1122
+ continue;
1123
+ } else {
1124
+ return ret_value__25949__auto__;
1125
+ }
1126
+ break;
1127
+ }
1128
+ });
1129
+ cljs_node_io$fs$acrawl_$_state_machine__25948__auto__ = function(state_127263){
1130
+ switch(arguments.length){
1131
+ case 0:
1132
+ return cljs_node_io$fs$acrawl_$_state_machine__25948__auto____0.call(this);
1133
+ case 1:
1134
+ return cljs_node_io$fs$acrawl_$_state_machine__25948__auto____1.call(this,state_127263);
1135
+ }
1136
+ throw(new Error('Invalid arity: ' + arguments.length));
1137
+ };
1138
+ cljs_node_io$fs$acrawl_$_state_machine__25948__auto__.cljs$core$IFn$_invoke$arity$0 = cljs_node_io$fs$acrawl_$_state_machine__25948__auto____0;
1139
+ cljs_node_io$fs$acrawl_$_state_machine__25948__auto__.cljs$core$IFn$_invoke$arity$1 = cljs_node_io$fs$acrawl_$_state_machine__25948__auto____1;
1140
+ return cljs_node_io$fs$acrawl_$_state_machine__25948__auto__;
1141
+ })()
1142
+ })();
1143
+ var state__26359__auto__ = (function (){var statearr_127307 = f__26358__auto__();
1144
+ (statearr_127307[(6)] = c__26357__auto__);
1145
+
1146
+ return statearr_127307;
1147
+ })();
1148
+ return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__26359__auto__);
1149
+ }));
1150
+
1151
+ return c__26357__auto__;
1152
+ });
1153
+ /**
1154
+ * Synchronous chmod
1155
+ * {@link https://nodejs.org/api/fs.html#fsfchmodsyncfd-mode}
1156
+ * @param {!(string|Buffer|URL)} pathstr
1157
+ * @param {!Number} mode :: must be an integer
1158
+ * @return {nil}
1159
+ */
1160
+ cljs_node_io.fs.chmod = (function cljs_node_io$fs$chmod(pathstr,mode){
1161
+ return cljs_node_io.fs.fs.chmodSync(pathstr,mode);
1162
+ });
1163
+ /**
1164
+ * Asynchronous chmod
1165
+ * {@link https://nodejs.org/api/fs.html#fschmodpath-mode-callback}
1166
+ * @param {!(string|Buffer|URL)} pathstr
1167
+ * @param {!Number} mode :: must be an integer
1168
+ * @return {!Channel} yielding [?err]
1169
+ */
1170
+ cljs_node_io.fs.achmod = (function cljs_node_io$fs$achmod(pathstr,mode){
1171
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
1172
+ cljs_node_io.fs.fs.chmod(pathstr,mode,(function() {
1173
+ var G__127556__delegate = function (args){
1174
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
1175
+ };
1176
+ var G__127556 = function (var_args){
1177
+ var args = null;
1178
+ if (arguments.length > 0) {
1179
+ var G__127557__i = 0, G__127557__a = new Array(arguments.length - 0);
1180
+ while (G__127557__i < G__127557__a.length) {G__127557__a[G__127557__i] = arguments[G__127557__i + 0]; ++G__127557__i;}
1181
+ args = new cljs.core.IndexedSeq(G__127557__a,0,null);
1182
+ }
1183
+ return G__127556__delegate.call(this,args);};
1184
+ G__127556.cljs$lang$maxFixedArity = 0;
1185
+ G__127556.cljs$lang$applyTo = (function (arglist__127558){
1186
+ var args = cljs.core.seq(arglist__127558);
1187
+ return G__127556__delegate(args);
1188
+ });
1189
+ G__127556.cljs$core$IFn$_invoke$arity$variadic = G__127556__delegate;
1190
+ return G__127556;
1191
+ })()
1192
+ );
1193
+
1194
+ return c;
1195
+ });
1196
+ /**
1197
+ * Synchronous chown
1198
+ * {@link https://nodejs.org/api/fs.html#fschownsyncpath-uid-gid}
1199
+ * @param {!(string|Buffer|URL)} pathstr
1200
+ * @param {!Number} uid
1201
+ * @param {!Number} gid
1202
+ * @return {nil}
1203
+ */
1204
+ cljs_node_io.fs.chown = (function cljs_node_io$fs$chown(pathstr,uid,gid){
1205
+ return cljs_node_io.fs.fs.chownSync(pathstr,uid,gid);
1206
+ });
1207
+ /**
1208
+ * Asynchronous chown
1209
+ * {@link https://nodejs.org/api/fs.html#fschownpath-uid-gid-callback}
1210
+ * @param {!(string|Buffer|URL)} pathstr
1211
+ * @param {!Number} uid
1212
+ * @param {!Number} gid
1213
+ * @return {!Channel} yielding [?err]
1214
+ */
1215
+ cljs_node_io.fs.achown = (function cljs_node_io$fs$achown(pathstr,uid,gid){
1216
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
1217
+ cljs_node_io.fs.fs.chown(pathstr,uid,gid,(function() {
1218
+ var G__127559__delegate = function (args){
1219
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
1220
+ };
1221
+ var G__127559 = function (var_args){
1222
+ var args = null;
1223
+ if (arguments.length > 0) {
1224
+ var G__127560__i = 0, G__127560__a = new Array(arguments.length - 0);
1225
+ while (G__127560__i < G__127560__a.length) {G__127560__a[G__127560__i] = arguments[G__127560__i + 0]; ++G__127560__i;}
1226
+ args = new cljs.core.IndexedSeq(G__127560__a,0,null);
1227
+ }
1228
+ return G__127559__delegate.call(this,args);};
1229
+ G__127559.cljs$lang$maxFixedArity = 0;
1230
+ G__127559.cljs$lang$applyTo = (function (arglist__127561){
1231
+ var args = cljs.core.seq(arglist__127561);
1232
+ return G__127559__delegate(args);
1233
+ });
1234
+ G__127559.cljs$core$IFn$_invoke$arity$variadic = G__127559__delegate;
1235
+ return G__127559;
1236
+ })()
1237
+ );
1238
+
1239
+ return c;
1240
+ });
1241
+ /**
1242
+ * Synchronous lchown
1243
+ * {@link https://nodejs.org/api/fs.html#fslchownsyncpath-uid-gid}
1244
+ * @param {!(string|Buffer|URL)} pathstr
1245
+ * @param {!Number} uid
1246
+ * @param {!Number} gid
1247
+ * @return {nil}
1248
+ */
1249
+ cljs_node_io.fs.lchown = (function cljs_node_io$fs$lchown(pathstr,uid,gid){
1250
+ return cljs_node_io.fs.fs.lchownSync(pathstr,uid,gid);
1251
+ });
1252
+ /**
1253
+ * Asynchronous lchown
1254
+ * {@link https://nodejs.org/api/fs.html#fslchownpath-uid-gid-callback}
1255
+ * @param {!(string|Buffer|URL)} pathstr
1256
+ * @param {!Number} uid
1257
+ * @param {!Number} gid
1258
+ * @return {!Channel} yielding [?err]
1259
+ */
1260
+ cljs_node_io.fs.alchown = (function cljs_node_io$fs$alchown(pathstr,uid,gid){
1261
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
1262
+ cljs_node_io.fs.fs.lchown(pathstr,uid,gid,(function() {
1263
+ var G__127562__delegate = function (args){
1264
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
1265
+ };
1266
+ var G__127562 = function (var_args){
1267
+ var args = null;
1268
+ if (arguments.length > 0) {
1269
+ var G__127563__i = 0, G__127563__a = new Array(arguments.length - 0);
1270
+ while (G__127563__i < G__127563__a.length) {G__127563__a[G__127563__i] = arguments[G__127563__i + 0]; ++G__127563__i;}
1271
+ args = new cljs.core.IndexedSeq(G__127563__a,0,null);
1272
+ }
1273
+ return G__127562__delegate.call(this,args);};
1274
+ G__127562.cljs$lang$maxFixedArity = 0;
1275
+ G__127562.cljs$lang$applyTo = (function (arglist__127564){
1276
+ var args = cljs.core.seq(arglist__127564);
1277
+ return G__127562__delegate(args);
1278
+ });
1279
+ G__127562.cljs$core$IFn$_invoke$arity$variadic = G__127562__delegate;
1280
+ return G__127562;
1281
+ })()
1282
+ );
1283
+
1284
+ return c;
1285
+ });
1286
+ /**
1287
+ * synchronous utimes
1288
+ * Change the file system timestamps of the object referenced by path.
1289
+ * - If the value is NaN or Infinity, the value would get converted to Date.now()
1290
+ * - numerable strings ie '12235' are converted to numbers
1291
+ * {@link https://nodejs.org/api/fs.html#fsutimessyncpath-atime-mtime}
1292
+ * @param {!(string|Buffer|URL)} pathstr
1293
+ * @param {(string|Number)} atime
1294
+ * @param {(string|Number)} mtime
1295
+ * @return {nil}
1296
+ */
1297
+ cljs_node_io.fs.utimes = (function cljs_node_io$fs$utimes(pathstr,atime,mtime){
1298
+ return cljs_node_io.fs.fs.utimesSync(pathstr,atime,mtime);
1299
+ });
1300
+ /**
1301
+ * asynchronous utimes.
1302
+ * Change the file system timestamps of the object referenced by path.
1303
+ * - If the value is NaN or Infinity, the value would get converted to Date.now()
1304
+ * - numerable strings ie '12235' are converted to numbers
1305
+ * {@link https://nodejs.org/api/fs.html#fsutimespath-atime-mtime-callback}
1306
+ * @param {!(string|Buffer|URL)} pathstr
1307
+ * @param {(string|Number)} atime
1308
+ * @param {(string|Number)} mtime
1309
+ * @return {!Channel} yielding [?err]
1310
+ */
1311
+ cljs_node_io.fs.autimes = (function cljs_node_io$fs$autimes(pathstr,atime,mtime){
1312
+ if(typeof pathstr === 'string'){
1313
+ } else {
1314
+ throw (new Error("Assert failed: (string? pathstr)"));
1315
+ }
1316
+
1317
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
1318
+ cljs_node_io.fs.fs.utimes(pathstr,atime,mtime,(function() {
1319
+ var G__127565__delegate = function (args){
1320
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
1321
+ };
1322
+ var G__127565 = function (var_args){
1323
+ var args = null;
1324
+ if (arguments.length > 0) {
1325
+ var G__127566__i = 0, G__127566__a = new Array(arguments.length - 0);
1326
+ while (G__127566__i < G__127566__a.length) {G__127566__a[G__127566__i] = arguments[G__127566__i + 0]; ++G__127566__i;}
1327
+ args = new cljs.core.IndexedSeq(G__127566__a,0,null);
1328
+ }
1329
+ return G__127565__delegate.call(this,args);};
1330
+ G__127565.cljs$lang$maxFixedArity = 0;
1331
+ G__127565.cljs$lang$applyTo = (function (arglist__127567){
1332
+ var args = cljs.core.seq(arglist__127567);
1333
+ return G__127565__delegate(args);
1334
+ });
1335
+ G__127565.cljs$core$IFn$_invoke$arity$variadic = G__127565__delegate;
1336
+ return G__127565;
1337
+ })()
1338
+ );
1339
+
1340
+ return c;
1341
+ });
1342
+ /**
1343
+ * synchronous lutimes
1344
+ * - same as utimes but symbolic links are not derefed
1345
+ * - If the value is NaN or Infinity, the value would get converted to Date.now()
1346
+ * - numerable strings ie '12235' are converted to numbers
1347
+ * {@link https://nodejs.org/api/fs.html#fslutimessyncpath-atime-mtime}
1348
+ * @param {!(string|Buffer|URL)} pathstr
1349
+ * @param {(string|Number)} atime
1350
+ * @param {(string|Number)} mtime
1351
+ * @return {nil}
1352
+ */
1353
+ cljs_node_io.fs.lutimes = (function cljs_node_io$fs$lutimes(pathstr,atime,mtime){
1354
+ return cljs_node_io.fs.fs.lutimesSync(pathstr,atime,mtime);
1355
+ });
1356
+ /**
1357
+ * asynchronous lutimes
1358
+ * - same as utimes but symbolic links are not derefed
1359
+ * - If the value is NaN or Infinity, the value would get converted to Date.now()
1360
+ * - numerable strings ie '12235' are converted to numbers
1361
+ * {@link https://nodejs.org/api/fs.html#fslutimespath-atime-mtime-callback}
1362
+ * @param {!(string|Buffer|URL)} pathstr
1363
+ * @param {(string|Number)} atime
1364
+ * @param {(string|Number)} mtime
1365
+ * @return {!Channel} yielding [?err]
1366
+ */
1367
+ cljs_node_io.fs.alutimes = (function cljs_node_io$fs$alutimes(pathstr,atime,mtime){
1368
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
1369
+ cljs_node_io.fs.fs.lutimes(pathstr,atime,mtime,(function() {
1370
+ var G__127568__delegate = function (args){
1371
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
1372
+ };
1373
+ var G__127568 = function (var_args){
1374
+ var args = null;
1375
+ if (arguments.length > 0) {
1376
+ var G__127569__i = 0, G__127569__a = new Array(arguments.length - 0);
1377
+ while (G__127569__i < G__127569__a.length) {G__127569__a[G__127569__i] = arguments[G__127569__i + 0]; ++G__127569__i;}
1378
+ args = new cljs.core.IndexedSeq(G__127569__a,0,null);
1379
+ }
1380
+ return G__127568__delegate.call(this,args);};
1381
+ G__127568.cljs$lang$maxFixedArity = 0;
1382
+ G__127568.cljs$lang$applyTo = (function (arglist__127570){
1383
+ var args = cljs.core.seq(arglist__127570);
1384
+ return G__127568__delegate(args);
1385
+ });
1386
+ G__127568.cljs$core$IFn$_invoke$arity$variadic = G__127568__delegate;
1387
+ return G__127568;
1388
+ })()
1389
+ );
1390
+
1391
+ return c;
1392
+ });
1393
+ /**
1394
+ * Synchronously creates a new link from the src to dst
1395
+ * Will not overwrite newpath if it exists.
1396
+ * {@link https://nodejs.org/api/fs.html#fslinksyncexistingpath-newpath}
1397
+ * @param {!(string|Buffer|URL)} src
1398
+ * @param {!(string|Buffer|URL)} dst
1399
+ * @return {nil}
1400
+ */
1401
+ cljs_node_io.fs.link = (function cljs_node_io$fs$link(src,dst){
1402
+ return cljs_node_io.fs.fs.linkSync(src,dst);
1403
+ });
1404
+ /**
1405
+ * Asynchronously creates a new link from the src to dst.
1406
+ * Will not overwrite newpath if it exists.
1407
+ * {@link https://nodejs.org/api/fs.html#fslinkexistingpath-newpath-callback}
1408
+ * @param {!(string|Buffer|URL)} src
1409
+ * @param {!(string|Buffer|URL)} dst
1410
+ * @return {!Channel} yielding [?err]
1411
+ */
1412
+ cljs_node_io.fs.alink = (function cljs_node_io$fs$alink(src,dst){
1413
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
1414
+ cljs_node_io.fs.fs.link(src,dst,(function() {
1415
+ var G__127571__delegate = function (args){
1416
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
1417
+ };
1418
+ var G__127571 = function (var_args){
1419
+ var args = null;
1420
+ if (arguments.length > 0) {
1421
+ var G__127573__i = 0, G__127573__a = new Array(arguments.length - 0);
1422
+ while (G__127573__i < G__127573__a.length) {G__127573__a[G__127573__i] = arguments[G__127573__i + 0]; ++G__127573__i;}
1423
+ args = new cljs.core.IndexedSeq(G__127573__a,0,null);
1424
+ }
1425
+ return G__127571__delegate.call(this,args);};
1426
+ G__127571.cljs$lang$maxFixedArity = 0;
1427
+ G__127571.cljs$lang$applyTo = (function (arglist__127574){
1428
+ var args = cljs.core.seq(arglist__127574);
1429
+ return G__127571__delegate(args);
1430
+ });
1431
+ G__127571.cljs$core$IFn$_invoke$arity$variadic = G__127571__delegate;
1432
+ return G__127571;
1433
+ })()
1434
+ );
1435
+
1436
+ return c;
1437
+ });
1438
+ /**
1439
+ * Synchronous symlink.
1440
+ * {@link https://nodejs.org/api/fs.html#fssymlinksynctarget-path-type}
1441
+ * @param {!(string|Buffer|URL)} target :: what gets pointed to
1442
+ * @param {!(string|Buffer|URL)} pathstr :: the new symbolic link that points to target
1443
+ * @param {?string} link_type ::'file' or 'dir'
1444
+ * @return {nil}
1445
+ */
1446
+ cljs_node_io.fs.symlink = (function cljs_node_io$fs$symlink(var_args){
1447
+ var G__127317 = arguments.length;
1448
+ switch (G__127317) {
1449
+ case 2:
1450
+ return cljs_node_io.fs.symlink.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
1451
+
1452
+ break;
1453
+ case 3:
1454
+ return cljs_node_io.fs.symlink.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
1455
+
1456
+ break;
1457
+ default:
1458
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
1459
+
1460
+ }
1461
+ });
1462
+
1463
+ (cljs_node_io.fs.symlink.cljs$core$IFn$_invoke$arity$2 = (function (target,pathstr){
1464
+ return cljs_node_io.fs.fs.symlinkSync(target,pathstr);
1465
+ }));
1466
+
1467
+ (cljs_node_io.fs.symlink.cljs$core$IFn$_invoke$arity$3 = (function (target,pathstr,link_type){
1468
+ return cljs_node_io.fs.fs.symlinkSync(target,pathstr,link_type);
1469
+ }));
1470
+
1471
+ (cljs_node_io.fs.symlink.cljs$lang$maxFixedArity = 3);
1472
+
1473
+ /**
1474
+ * Synchronous symlink.
1475
+ * {@link https://nodejs.org/api/fs.html#fssymlinktarget-path-type-callback}
1476
+ * @param {!(string|Buffer|URL)} targetstr :: what gets pointed to
1477
+ * @param {!(string|Buffer|URL)} pathstr :: the new symbolic link that points to target
1478
+ * @param {?string} link_type ::'file' or 'dir'
1479
+ * @return {!Channel} yielding [?err]
1480
+ */
1481
+ cljs_node_io.fs.asymlink = (function cljs_node_io$fs$asymlink(var_args){
1482
+ var G__127320 = arguments.length;
1483
+ switch (G__127320) {
1484
+ case 2:
1485
+ return cljs_node_io.fs.asymlink.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
1486
+
1487
+ break;
1488
+ case 3:
1489
+ return cljs_node_io.fs.asymlink.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
1490
+
1491
+ break;
1492
+ default:
1493
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
1494
+
1495
+ }
1496
+ });
1497
+
1498
+ (cljs_node_io.fs.asymlink.cljs$core$IFn$_invoke$arity$2 = (function (targetstr,pathstr){
1499
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
1500
+ cljs_node_io.fs.fs.symlink(targetstr,pathstr,(function() {
1501
+ var G__127577__delegate = function (args){
1502
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
1503
+ };
1504
+ var G__127577 = function (var_args){
1505
+ var args = null;
1506
+ if (arguments.length > 0) {
1507
+ var G__127578__i = 0, G__127578__a = new Array(arguments.length - 0);
1508
+ while (G__127578__i < G__127578__a.length) {G__127578__a[G__127578__i] = arguments[G__127578__i + 0]; ++G__127578__i;}
1509
+ args = new cljs.core.IndexedSeq(G__127578__a,0,null);
1510
+ }
1511
+ return G__127577__delegate.call(this,args);};
1512
+ G__127577.cljs$lang$maxFixedArity = 0;
1513
+ G__127577.cljs$lang$applyTo = (function (arglist__127579){
1514
+ var args = cljs.core.seq(arglist__127579);
1515
+ return G__127577__delegate(args);
1516
+ });
1517
+ G__127577.cljs$core$IFn$_invoke$arity$variadic = G__127577__delegate;
1518
+ return G__127577;
1519
+ })()
1520
+ );
1521
+
1522
+ return c;
1523
+ }));
1524
+
1525
+ (cljs_node_io.fs.asymlink.cljs$core$IFn$_invoke$arity$3 = (function (targetstr,pathstr,link_type){
1526
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
1527
+ cljs_node_io.fs.fs.symlink(targetstr,pathstr,link_type,(function() {
1528
+ var G__127580__delegate = function (args){
1529
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
1530
+ };
1531
+ var G__127580 = function (var_args){
1532
+ var args = null;
1533
+ if (arguments.length > 0) {
1534
+ var G__127581__i = 0, G__127581__a = new Array(arguments.length - 0);
1535
+ while (G__127581__i < G__127581__a.length) {G__127581__a[G__127581__i] = arguments[G__127581__i + 0]; ++G__127581__i;}
1536
+ args = new cljs.core.IndexedSeq(G__127581__a,0,null);
1537
+ }
1538
+ return G__127580__delegate.call(this,args);};
1539
+ G__127580.cljs$lang$maxFixedArity = 0;
1540
+ G__127580.cljs$lang$applyTo = (function (arglist__127582){
1541
+ var args = cljs.core.seq(arglist__127582);
1542
+ return G__127580__delegate(args);
1543
+ });
1544
+ G__127580.cljs$core$IFn$_invoke$arity$variadic = G__127580__delegate;
1545
+ return G__127580;
1546
+ })()
1547
+ );
1548
+
1549
+ return c;
1550
+ }));
1551
+
1552
+ (cljs_node_io.fs.asymlink.cljs$lang$maxFixedArity = 3);
1553
+
1554
+ /**
1555
+ * Synchronously unlink a file.
1556
+ * {@link https://nodejs.org/api/fs.html#fsunlinksyncpath}
1557
+ * @param {!(string|Buffer|URL)} pathstr :: path of file to unlink
1558
+ * @return {nil}
1559
+ */
1560
+ cljs_node_io.fs.unlink = (function cljs_node_io$fs$unlink(pathstr){
1561
+ return cljs_node_io.fs.fs.unlinkSync(pathstr);
1562
+ });
1563
+ /**
1564
+ * Asynchronously unlink a file
1565
+ * {@link https://nodejs.org/api/fs.html#fsunlinkpath-callback}
1566
+ * @param {!(string|Buffer|URL)} pathstr :: path of file to unlink
1567
+ * @return {!Channel} yielding [?err]
1568
+ */
1569
+ cljs_node_io.fs.aunlink = (function cljs_node_io$fs$aunlink(pathstr){
1570
+ if(typeof pathstr === 'string'){
1571
+ } else {
1572
+ throw (new Error("Assert failed: (string? pathstr)"));
1573
+ }
1574
+
1575
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
1576
+ cljs_node_io.fs.fs.unlink(pathstr,(function() {
1577
+ var G__127583__delegate = function (args){
1578
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
1579
+ };
1580
+ var G__127583 = function (var_args){
1581
+ var args = null;
1582
+ if (arguments.length > 0) {
1583
+ var G__127587__i = 0, G__127587__a = new Array(arguments.length - 0);
1584
+ while (G__127587__i < G__127587__a.length) {G__127587__a[G__127587__i] = arguments[G__127587__i + 0]; ++G__127587__i;}
1585
+ args = new cljs.core.IndexedSeq(G__127587__a,0,null);
1586
+ }
1587
+ return G__127583__delegate.call(this,args);};
1588
+ G__127583.cljs$lang$maxFixedArity = 0;
1589
+ G__127583.cljs$lang$applyTo = (function (arglist__127588){
1590
+ var args = cljs.core.seq(arglist__127588);
1591
+ return G__127583__delegate(args);
1592
+ });
1593
+ G__127583.cljs$core$IFn$_invoke$arity$variadic = G__127583__delegate;
1594
+ return G__127583;
1595
+ })()
1596
+ );
1597
+
1598
+ return c;
1599
+ });
1600
+ /**
1601
+ * Synchronously create a directory
1602
+ * {@link https://nodejs.org/api/fs.html#fsmkdirsyncpath-options}
1603
+ * @param {!(string|Buffer|URL)} pathstr :: path of directory to create
1604
+ * @param {?IMap} opts
1605
+ * :recursive (boolean) -> the first directory path created.
1606
+ * :mode (string|Number)
1607
+ * @return {nil}
1608
+ */
1609
+ cljs_node_io.fs.mkdir = (function cljs_node_io$fs$mkdir(var_args){
1610
+ var G__127327 = arguments.length;
1611
+ switch (G__127327) {
1612
+ case 1:
1613
+ return cljs_node_io.fs.mkdir.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
1614
+
1615
+ break;
1616
+ case 2:
1617
+ return cljs_node_io.fs.mkdir.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
1618
+
1619
+ break;
1620
+ default:
1621
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
1622
+
1623
+ }
1624
+ });
1625
+
1626
+ (cljs_node_io.fs.mkdir.cljs$core$IFn$_invoke$arity$1 = (function (pathstr){
1627
+ return cljs_node_io.fs.fs.mkdirSync(pathstr);
1628
+ }));
1629
+
1630
+ (cljs_node_io.fs.mkdir.cljs$core$IFn$_invoke$arity$2 = (function (pathstr,opts){
1631
+ return cljs_node_io.fs.fs.mkdirSync(pathstr,cljs.core.clj__GT_js(opts));
1632
+ }));
1633
+
1634
+ (cljs_node_io.fs.mkdir.cljs$lang$maxFixedArity = 2);
1635
+
1636
+ /**
1637
+ * Asynchronously create a directory
1638
+ * {@link https://nodejs.org/api/fs.html#fsmkdirpath-options-callback}
1639
+ * @param {!(string|Buffer|URL)} pathstr :: path of directory to create
1640
+ * @param {?IMap} opts
1641
+ * :recursive (boolean) -> the first directory path created.
1642
+ * :mode (string|number)
1643
+ * @return {!Channel} yielding [?err]
1644
+ */
1645
+ cljs_node_io.fs.amkdir = (function cljs_node_io$fs$amkdir(var_args){
1646
+ var G__127330 = arguments.length;
1647
+ switch (G__127330) {
1648
+ case 1:
1649
+ return cljs_node_io.fs.amkdir.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
1650
+
1651
+ break;
1652
+ case 2:
1653
+ return cljs_node_io.fs.amkdir.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
1654
+
1655
+ break;
1656
+ default:
1657
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
1658
+
1659
+ }
1660
+ });
1661
+
1662
+ (cljs_node_io.fs.amkdir.cljs$core$IFn$_invoke$arity$1 = (function (pathstr){
1663
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
1664
+ cljs_node_io.fs.fs.mkdir(pathstr,(function() {
1665
+ var G__127591__delegate = function (args){
1666
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
1667
+ };
1668
+ var G__127591 = function (var_args){
1669
+ var args = null;
1670
+ if (arguments.length > 0) {
1671
+ var G__127592__i = 0, G__127592__a = new Array(arguments.length - 0);
1672
+ while (G__127592__i < G__127592__a.length) {G__127592__a[G__127592__i] = arguments[G__127592__i + 0]; ++G__127592__i;}
1673
+ args = new cljs.core.IndexedSeq(G__127592__a,0,null);
1674
+ }
1675
+ return G__127591__delegate.call(this,args);};
1676
+ G__127591.cljs$lang$maxFixedArity = 0;
1677
+ G__127591.cljs$lang$applyTo = (function (arglist__127593){
1678
+ var args = cljs.core.seq(arglist__127593);
1679
+ return G__127591__delegate(args);
1680
+ });
1681
+ G__127591.cljs$core$IFn$_invoke$arity$variadic = G__127591__delegate;
1682
+ return G__127591;
1683
+ })()
1684
+ );
1685
+
1686
+ return c;
1687
+ }));
1688
+
1689
+ (cljs_node_io.fs.amkdir.cljs$core$IFn$_invoke$arity$2 = (function (pathstr,opts){
1690
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
1691
+ cljs_node_io.fs.fs.mkdir(pathstr,cljs.core.clj__GT_js(opts),(function() {
1692
+ var G__127594__delegate = function (args){
1693
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
1694
+ };
1695
+ var G__127594 = function (var_args){
1696
+ var args = null;
1697
+ if (arguments.length > 0) {
1698
+ var G__127595__i = 0, G__127595__a = new Array(arguments.length - 0);
1699
+ while (G__127595__i < G__127595__a.length) {G__127595__a[G__127595__i] = arguments[G__127595__i + 0]; ++G__127595__i;}
1700
+ args = new cljs.core.IndexedSeq(G__127595__a,0,null);
1701
+ }
1702
+ return G__127594__delegate.call(this,args);};
1703
+ G__127594.cljs$lang$maxFixedArity = 0;
1704
+ G__127594.cljs$lang$applyTo = (function (arglist__127596){
1705
+ var args = cljs.core.seq(arglist__127596);
1706
+ return G__127594__delegate(args);
1707
+ });
1708
+ G__127594.cljs$core$IFn$_invoke$arity$variadic = G__127594__delegate;
1709
+ return G__127594;
1710
+ })()
1711
+ );
1712
+
1713
+ return c;
1714
+ }));
1715
+
1716
+ (cljs_node_io.fs.amkdir.cljs$lang$maxFixedArity = 2);
1717
+
1718
+ /**
1719
+ * Synchronously remove a directory.
1720
+ * {@link https://nodejs.org/api/fs.html#fsrmdirsyncpath-options}
1721
+ * @param {!(string|Buffer|URL)} pathstr :: path of directory to remove
1722
+ * @param {?IMap} opts
1723
+ * :maxRetries (number)
1724
+ * :retryDelay (number)
1725
+ * @return {nil}
1726
+ */
1727
+ cljs_node_io.fs.rmdir = (function cljs_node_io$fs$rmdir(var_args){
1728
+ var G__127337 = arguments.length;
1729
+ switch (G__127337) {
1730
+ case 1:
1731
+ return cljs_node_io.fs.rmdir.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
1732
+
1733
+ break;
1734
+ case 2:
1735
+ return cljs_node_io.fs.rmdir.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
1736
+
1737
+ break;
1738
+ default:
1739
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
1740
+
1741
+ }
1742
+ });
1743
+
1744
+ (cljs_node_io.fs.rmdir.cljs$core$IFn$_invoke$arity$1 = (function (pathstr){
1745
+ return cljs_node_io.fs.fs.rmdirSync(pathstr);
1746
+ }));
1747
+
1748
+ (cljs_node_io.fs.rmdir.cljs$core$IFn$_invoke$arity$2 = (function (pathstr,opts){
1749
+ return cljs_node_io.fs.fs.rmdirSync(pathstr,cljs.core.clj__GT_js(opts));
1750
+ }));
1751
+
1752
+ (cljs_node_io.fs.rmdir.cljs$lang$maxFixedArity = 2);
1753
+
1754
+ /**
1755
+ * Asynchronously remove a directory
1756
+ * {@link https://nodejs.org/api/fs.html#fsrmdirpath-options-callback}
1757
+ * @param {!(string|Buffer|URL)} pathstr :: path of directory to remove
1758
+ * @param {?IMap} opts
1759
+ * :maxRetries (number)
1760
+ * :retryDelay (number)
1761
+ * @return {!Channel} yielding [?err]
1762
+ */
1763
+ cljs_node_io.fs.armdir = (function cljs_node_io$fs$armdir(var_args){
1764
+ var G__127339 = arguments.length;
1765
+ switch (G__127339) {
1766
+ case 1:
1767
+ return cljs_node_io.fs.armdir.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
1768
+
1769
+ break;
1770
+ case 2:
1771
+ return cljs_node_io.fs.armdir.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
1772
+
1773
+ break;
1774
+ default:
1775
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
1776
+
1777
+ }
1778
+ });
1779
+
1780
+ (cljs_node_io.fs.armdir.cljs$core$IFn$_invoke$arity$1 = (function (pathstr){
1781
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
1782
+ cljs_node_io.fs.fs.rmdir(pathstr,(function() {
1783
+ var G__127599__delegate = function (args){
1784
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
1785
+ };
1786
+ var G__127599 = function (var_args){
1787
+ var args = null;
1788
+ if (arguments.length > 0) {
1789
+ var G__127600__i = 0, G__127600__a = new Array(arguments.length - 0);
1790
+ while (G__127600__i < G__127600__a.length) {G__127600__a[G__127600__i] = arguments[G__127600__i + 0]; ++G__127600__i;}
1791
+ args = new cljs.core.IndexedSeq(G__127600__a,0,null);
1792
+ }
1793
+ return G__127599__delegate.call(this,args);};
1794
+ G__127599.cljs$lang$maxFixedArity = 0;
1795
+ G__127599.cljs$lang$applyTo = (function (arglist__127601){
1796
+ var args = cljs.core.seq(arglist__127601);
1797
+ return G__127599__delegate(args);
1798
+ });
1799
+ G__127599.cljs$core$IFn$_invoke$arity$variadic = G__127599__delegate;
1800
+ return G__127599;
1801
+ })()
1802
+ );
1803
+
1804
+ return c;
1805
+ }));
1806
+
1807
+ (cljs_node_io.fs.armdir.cljs$core$IFn$_invoke$arity$2 = (function (pathstr,opts){
1808
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
1809
+ cljs_node_io.fs.fs.rmdir(pathstr,cljs.core.clj__GT_js(opts),(function() {
1810
+ var G__127605__delegate = function (args){
1811
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
1812
+ };
1813
+ var G__127605 = function (var_args){
1814
+ var args = null;
1815
+ if (arguments.length > 0) {
1816
+ var G__127606__i = 0, G__127606__a = new Array(arguments.length - 0);
1817
+ while (G__127606__i < G__127606__a.length) {G__127606__a[G__127606__i] = arguments[G__127606__i + 0]; ++G__127606__i;}
1818
+ args = new cljs.core.IndexedSeq(G__127606__a,0,null);
1819
+ }
1820
+ return G__127605__delegate.call(this,args);};
1821
+ G__127605.cljs$lang$maxFixedArity = 0;
1822
+ G__127605.cljs$lang$applyTo = (function (arglist__127607){
1823
+ var args = cljs.core.seq(arglist__127607);
1824
+ return G__127605__delegate(args);
1825
+ });
1826
+ G__127605.cljs$core$IFn$_invoke$arity$variadic = G__127605__delegate;
1827
+ return G__127605;
1828
+ })()
1829
+ );
1830
+
1831
+ return c;
1832
+ }));
1833
+
1834
+ (cljs_node_io.fs.armdir.cljs$lang$maxFixedArity = 2);
1835
+
1836
+ /**
1837
+ * Synchronously delete the file or directory path
1838
+ * @param {!string} pathstr :: can be file or directory
1839
+ * @return {nil}
1840
+ */
1841
+ cljs_node_io.fs.rm = (function cljs_node_io$fs$rm(pathstr){
1842
+ if(cljs_node_io.fs.dir_QMARK_(pathstr)){
1843
+ return cljs_node_io.fs.rmdir.cljs$core$IFn$_invoke$arity$1(pathstr);
1844
+ } else {
1845
+ return cljs_node_io.fs.unlink(pathstr);
1846
+ }
1847
+ });
1848
+ /**
1849
+ * Synchronously delete the file or directory path
1850
+ * Ignores paths that do not exist.
1851
+ * @param {!string} pathstr :: can be file or directory
1852
+ * @return {nil}
1853
+ */
1854
+ cljs_node_io.fs.rm_f = (function cljs_node_io$fs$rm_f(pathstr){
1855
+ if(cljs_node_io.fs.exists_QMARK_(pathstr)){
1856
+ return cljs_node_io.fs.rm(pathstr);
1857
+ } else {
1858
+ return null;
1859
+ }
1860
+ });
1861
+ /**
1862
+ * Synchronous recursive delete. Throws when doesnt exist
1863
+ * @param {!(string|Buffer|URL)} pathstr :: file/dir to recursively delete.
1864
+ * @return {nil}
1865
+ */
1866
+ cljs_node_io.fs.rm_r = (function cljs_node_io$fs$rm_r(pathstr){
1867
+ return cljs_node_io.fs.crawl(pathstr,cljs_node_io.fs.rm);
1868
+ });
1869
+ /**
1870
+ * Synchronous recursive delete. Ignores paths that do not exist.
1871
+ * @param {!(string|Buffer|URL)} pathstr :: file/dir to recursively delete.
1872
+ * @return {nil}
1873
+ */
1874
+ cljs_node_io.fs.rm_rf = (function cljs_node_io$fs$rm_rf(pathstr){
1875
+ if(cljs_node_io.fs.exists_QMARK_(pathstr)){
1876
+ return cljs_node_io.fs.crawl(pathstr,cljs_node_io.fs.rm);
1877
+ } else {
1878
+ return null;
1879
+ }
1880
+ });
1881
+ /**
1882
+ * Asynchronously delete the file or directory path
1883
+ * @param {!(string|Buffer|URL)} pathstr
1884
+ * @return {!Channel} yielding [?err]
1885
+ */
1886
+ cljs_node_io.fs.arm = (function cljs_node_io$fs$arm(pathstr){
1887
+ var out = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
1888
+ cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2(cljs_node_io.fs.adir_QMARK_(pathstr),(function (d_QMARK_){
1889
+ return cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2((cljs.core.truth_(d_QMARK_)?cljs_node_io.fs.armdir.cljs$core$IFn$_invoke$arity$1(pathstr):cljs_node_io.fs.aunlink(pathstr)),(function (ev){
1890
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out,ev);
1891
+ }));
1892
+ }));
1893
+
1894
+ return out;
1895
+ });
1896
+ /**
1897
+ * Asynchronously delete the file or directory path
1898
+ * Ignores paths that do not exist.
1899
+ * @param {!(string|Buffer|URL)} pathstr
1900
+ * @return {!Channel} yielding [?err]
1901
+ */
1902
+ cljs_node_io.fs.arm_f = (function cljs_node_io$fs$arm_f(pathstr){
1903
+ var out = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
1904
+ cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2(cljs_node_io.fs.aexists_QMARK_(pathstr),(function (yes_QMARK_){
1905
+ if(yes_QMARK_){
1906
+ return cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2(cljs_node_io.fs.arm(pathstr),(function (p1__127342_SHARP_){
1907
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out,p1__127342_SHARP_);
1908
+ }));
1909
+ } else {
1910
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [null], null));
1911
+ }
1912
+ }));
1913
+
1914
+ return out;
1915
+ });
1916
+ /**
1917
+ * Asynchronous recursive delete. Ignores paths that do not exist.
1918
+ * Crawls in order provided by readdir and makes unlink/rmdir calls sequentially
1919
+ * after the previous has completed. Breaks on any err which is returned as [err]
1920
+ * Returns err on does not exist.
1921
+ * @param {!(string|Buffer|URL)} pathstr
1922
+ * @return {!Channel} yielding [?err]
1923
+ */
1924
+ cljs_node_io.fs.arm_r = (function cljs_node_io$fs$arm_r(pathstr){
1925
+ return cljs_node_io.fs.acrawl(pathstr,cljs_node_io.fs.arm);
1926
+ });
1927
+ /**
1928
+ * Asynchronous recursive delete. Ignores paths that do not exist.
1929
+ * Crawls in order provided by readdir and makes unlink/rmdir calls sequentially
1930
+ * after the previous has completed. Breaks on any err which is returned as [err]
1931
+ * Returns err on does not exist.
1932
+ * @param {!(string|Buffer|URL)} pathstr
1933
+ * @return {!Channel} yielding [?err]
1934
+ */
1935
+ cljs_node_io.fs.arm_rf = (function cljs_node_io$fs$arm_rf(pathstr){
1936
+ var out = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
1937
+ cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2(cljs_node_io.fs.aexists_QMARK_(pathstr),(function (yes_QMARK_){
1938
+ if(yes_QMARK_){
1939
+ return cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2(cljs_node_io.fs.acrawl(pathstr,cljs_node_io.fs.arm),(function (p1__127343_SHARP_){
1940
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out,p1__127343_SHARP_);
1941
+ }));
1942
+ } else {
1943
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [null], null));
1944
+ }
1945
+ }));
1946
+
1947
+ return out;
1948
+ });
1949
+ /**
1950
+ * Synchronously rename a file.
1951
+ * {@link https://nodejs.org/api/fs.html#fsrenamesyncoldpath-newpath}
1952
+ * @param {!(string|Buffer|URL)} oldpathstr :: file to rename
1953
+ * @param {!(string|Buffer|URL)} newpathstr :: what to rename it to
1954
+ * @return {nil}
1955
+ */
1956
+ cljs_node_io.fs.rename = (function cljs_node_io$fs$rename(oldpathstr,newpathstr){
1957
+ return cljs_node_io.fs.fs.renameSync(oldpathstr,newpathstr);
1958
+ });
1959
+ /**
1960
+ * Asynchronously rename a file
1961
+ * {@link https://nodejs.org/api/fs.html#fsrenameoldpath-newpath-callback}
1962
+ * @param {!(string|Buffer|URL)} oldpathstr :: file to rename
1963
+ * @param {!(string|Buffer|URL)} newpathstr :: what to rename it to
1964
+ * @return {!Channel} yielding [?err]
1965
+ */
1966
+ cljs_node_io.fs.arename = (function cljs_node_io$fs$arename(oldpathstr,newpathstr){
1967
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
1968
+ cljs_node_io.fs.fs.rename(oldpathstr,newpathstr,(function() {
1969
+ var G__127616__delegate = function (args){
1970
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
1971
+ };
1972
+ var G__127616 = function (var_args){
1973
+ var args = null;
1974
+ if (arguments.length > 0) {
1975
+ var G__127617__i = 0, G__127617__a = new Array(arguments.length - 0);
1976
+ while (G__127617__i < G__127617__a.length) {G__127617__a[G__127617__i] = arguments[G__127617__i + 0]; ++G__127617__i;}
1977
+ args = new cljs.core.IndexedSeq(G__127617__a,0,null);
1978
+ }
1979
+ return G__127616__delegate.call(this,args);};
1980
+ G__127616.cljs$lang$maxFixedArity = 0;
1981
+ G__127616.cljs$lang$applyTo = (function (arglist__127618){
1982
+ var args = cljs.core.seq(arglist__127618);
1983
+ return G__127616__delegate(args);
1984
+ });
1985
+ G__127616.cljs$core$IFn$_invoke$arity$variadic = G__127616__delegate;
1986
+ return G__127616;
1987
+ })()
1988
+ );
1989
+
1990
+ return c;
1991
+ });
1992
+ /**
1993
+ * Synchronous truncate
1994
+ * {@link https://nodejs.org/api/fs.html#fstruncatesyncpath-len}
1995
+ * @param {!(string|Buffer|URL)} pathstr
1996
+ * @param {?number} length
1997
+ * @return {nil}
1998
+ */
1999
+ cljs_node_io.fs.truncate = (function cljs_node_io$fs$truncate(var_args){
2000
+ var G__127347 = arguments.length;
2001
+ switch (G__127347) {
2002
+ case 1:
2003
+ return cljs_node_io.fs.truncate.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
2004
+
2005
+ break;
2006
+ case 2:
2007
+ return cljs_node_io.fs.truncate.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
2008
+
2009
+ break;
2010
+ default:
2011
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
2012
+
2013
+ }
2014
+ });
2015
+
2016
+ (cljs_node_io.fs.truncate.cljs$core$IFn$_invoke$arity$1 = (function (pathstr){
2017
+ return cljs_node_io.fs.fs.truncateSync(pathstr);
2018
+ }));
2019
+
2020
+ (cljs_node_io.fs.truncate.cljs$core$IFn$_invoke$arity$2 = (function (pathstr,length){
2021
+ return cljs_node_io.fs.fs.truncateSync(pathstr,length);
2022
+ }));
2023
+
2024
+ (cljs_node_io.fs.truncate.cljs$lang$maxFixedArity = 2);
2025
+
2026
+ /**
2027
+ * Asynchronous truncate
2028
+ * {@link https://nodejs.org/api/fs.html#fstruncatepath-len-callback}
2029
+ * @param {!(string|Buffer|URL)} pathstr
2030
+ * @param {?number} len
2031
+ * @return {!Channel} yielding [?err]
2032
+ */
2033
+ cljs_node_io.fs.atruncate = (function cljs_node_io$fs$atruncate(var_args){
2034
+ var G__127349 = arguments.length;
2035
+ switch (G__127349) {
2036
+ case 1:
2037
+ return cljs_node_io.fs.atruncate.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
2038
+
2039
+ break;
2040
+ case 2:
2041
+ return cljs_node_io.fs.atruncate.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
2042
+
2043
+ break;
2044
+ default:
2045
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
2046
+
2047
+ }
2048
+ });
2049
+
2050
+ (cljs_node_io.fs.atruncate.cljs$core$IFn$_invoke$arity$1 = (function (pathstr){
2051
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
2052
+ cljs_node_io.fs.fs.truncate(pathstr,(function() {
2053
+ var G__127621__delegate = function (args){
2054
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
2055
+ };
2056
+ var G__127621 = function (var_args){
2057
+ var args = null;
2058
+ if (arguments.length > 0) {
2059
+ var G__127622__i = 0, G__127622__a = new Array(arguments.length - 0);
2060
+ while (G__127622__i < G__127622__a.length) {G__127622__a[G__127622__i] = arguments[G__127622__i + 0]; ++G__127622__i;}
2061
+ args = new cljs.core.IndexedSeq(G__127622__a,0,null);
2062
+ }
2063
+ return G__127621__delegate.call(this,args);};
2064
+ G__127621.cljs$lang$maxFixedArity = 0;
2065
+ G__127621.cljs$lang$applyTo = (function (arglist__127623){
2066
+ var args = cljs.core.seq(arglist__127623);
2067
+ return G__127621__delegate(args);
2068
+ });
2069
+ G__127621.cljs$core$IFn$_invoke$arity$variadic = G__127621__delegate;
2070
+ return G__127621;
2071
+ })()
2072
+ );
2073
+
2074
+ return c;
2075
+ }));
2076
+
2077
+ (cljs_node_io.fs.atruncate.cljs$core$IFn$_invoke$arity$2 = (function (pathstr,len){
2078
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
2079
+ cljs_node_io.fs.fs.truncate(pathstr,len,(function() {
2080
+ var G__127624__delegate = function (args){
2081
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
2082
+ };
2083
+ var G__127624 = function (var_args){
2084
+ var args = null;
2085
+ if (arguments.length > 0) {
2086
+ var G__127625__i = 0, G__127625__a = new Array(arguments.length - 0);
2087
+ while (G__127625__i < G__127625__a.length) {G__127625__a[G__127625__i] = arguments[G__127625__i + 0]; ++G__127625__i;}
2088
+ args = new cljs.core.IndexedSeq(G__127625__a,0,null);
2089
+ }
2090
+ return G__127624__delegate.call(this,args);};
2091
+ G__127624.cljs$lang$maxFixedArity = 0;
2092
+ G__127624.cljs$lang$applyTo = (function (arglist__127626){
2093
+ var args = cljs.core.seq(arglist__127626);
2094
+ return G__127624__delegate(args);
2095
+ });
2096
+ G__127624.cljs$core$IFn$_invoke$arity$variadic = G__127624__delegate;
2097
+ return G__127624;
2098
+ })()
2099
+ );
2100
+
2101
+ return c;
2102
+ }));
2103
+
2104
+ (cljs_node_io.fs.atruncate.cljs$lang$maxFixedArity = 2);
2105
+
2106
+ /**
2107
+ * Creates a file if non-existent
2108
+ * @param {!string} pathstr
2109
+ * @return {nil}
2110
+ */
2111
+ cljs_node_io.fs.touch = (function cljs_node_io$fs$touch(pathstr){
2112
+ try{var t = (new Date());
2113
+ return cljs_node_io.fs.fs.utimesSync(pathstr,t,t);
2114
+ }catch (e127351){if((e127351 instanceof Error)){
2115
+ var _ = e127351;
2116
+ return cljs_node_io.fs.fs.closeSync(cljs_node_io.fs.fs.openSync(pathstr,"w"));
2117
+ } else {
2118
+ throw e127351;
2119
+
2120
+ }
2121
+ }});
2122
+ /**
2123
+ * creates a file if non-existent
2124
+ * @param {!string} pathstr
2125
+ * @return {!Channel} yielding [?err]
2126
+ */
2127
+ cljs_node_io.fs.atouch = (function cljs_node_io$fs$atouch(pathstr){
2128
+ var out = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
2129
+ var t_127627 = (new Date());
2130
+ cljs_node_io.fs.fs.utimes(pathstr,t_127627,t_127627,(function (err){
2131
+ if((err == null)){
2132
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [null], null));
2133
+ } else {
2134
+ return cljs_node_io.fs.fs.open(pathstr,"w",(function (err__$1,fd){
2135
+ if(cljs.core.truth_(err__$1)){
2136
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [err__$1], null));
2137
+ } else {
2138
+ return cljs_node_io.fs.fs.close(fd,(function (err__$2){
2139
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [err__$2], null));
2140
+ }));
2141
+ }
2142
+ }));
2143
+ }
2144
+ }));
2145
+
2146
+ return out;
2147
+ });
2148
+ /**
2149
+ * Synchronously copy file from src to dst. By default dst is overwritten.
2150
+ * {@link https://nodejs.org/api/fs.html#fscopyfilesyncsrc-dest-mode}
2151
+ * @param {(string|buffer.Buffer|URL)} src
2152
+ * @param {(string|buffer.Buffer|URL)} dst
2153
+ * @return {nil}
2154
+ */
2155
+ cljs_node_io.fs.copy_file = (function cljs_node_io$fs$copy_file(var_args){
2156
+ var G__127358 = arguments.length;
2157
+ switch (G__127358) {
2158
+ case 2:
2159
+ return cljs_node_io.fs.copy_file.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
2160
+
2161
+ break;
2162
+ case 3:
2163
+ return cljs_node_io.fs.copy_file.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
2164
+
2165
+ break;
2166
+ default:
2167
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
2168
+
2169
+ }
2170
+ });
2171
+
2172
+ (cljs_node_io.fs.copy_file.cljs$core$IFn$_invoke$arity$2 = (function (src,dst){
2173
+ return cljs_node_io.fs.copy_file.cljs$core$IFn$_invoke$arity$3(src,dst,(0));
2174
+ }));
2175
+
2176
+ (cljs_node_io.fs.copy_file.cljs$core$IFn$_invoke$arity$3 = (function (src,dst,mode){
2177
+ return cljs_node_io.fs.fs.copyFileSync(src,dst,mode);
2178
+ }));
2179
+
2180
+ (cljs_node_io.fs.copy_file.cljs$lang$maxFixedArity = 3);
2181
+
2182
+ /**
2183
+ * Asynchronously copy file from src to dst. By default dst is overwritten.
2184
+ * {@link https://nodejs.org/api/fs.html#fscopyfilesrc-dest-mode-callback}
2185
+ * @param {(string|buffer.Buffer|URL)} src
2186
+ * @param {(string|buffer.Buffer|URL)} dst
2187
+ * @return {!Channel} yielding [?err]
2188
+ */
2189
+ cljs_node_io.fs.acopy_file = (function cljs_node_io$fs$acopy_file(var_args){
2190
+ var G__127360 = arguments.length;
2191
+ switch (G__127360) {
2192
+ case 2:
2193
+ return cljs_node_io.fs.acopy_file.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
2194
+
2195
+ break;
2196
+ case 3:
2197
+ return cljs_node_io.fs.acopy_file.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
2198
+
2199
+ break;
2200
+ default:
2201
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
2202
+
2203
+ }
2204
+ });
2205
+
2206
+ (cljs_node_io.fs.acopy_file.cljs$core$IFn$_invoke$arity$2 = (function (src,dst){
2207
+ return cljs_node_io.fs.acopy_file.cljs$core$IFn$_invoke$arity$3(src,dst,(0));
2208
+ }));
2209
+
2210
+ (cljs_node_io.fs.acopy_file.cljs$core$IFn$_invoke$arity$3 = (function (src,dst,mode){
2211
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
2212
+ cljs_node_io.fs.fs.copyFile(src,dst,mode,(function() {
2213
+ var G__127633__delegate = function (args){
2214
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
2215
+ };
2216
+ var G__127633 = function (var_args){
2217
+ var args = null;
2218
+ if (arguments.length > 0) {
2219
+ var G__127634__i = 0, G__127634__a = new Array(arguments.length - 0);
2220
+ while (G__127634__i < G__127634__a.length) {G__127634__a[G__127634__i] = arguments[G__127634__i + 0]; ++G__127634__i;}
2221
+ args = new cljs.core.IndexedSeq(G__127634__a,0,null);
2222
+ }
2223
+ return G__127633__delegate.call(this,args);};
2224
+ G__127633.cljs$lang$maxFixedArity = 0;
2225
+ G__127633.cljs$lang$applyTo = (function (arglist__127635){
2226
+ var args = cljs.core.seq(arglist__127635);
2227
+ return G__127633__delegate(args);
2228
+ });
2229
+ G__127633.cljs$core$IFn$_invoke$arity$variadic = G__127633__delegate;
2230
+ return G__127633;
2231
+ })()
2232
+ );
2233
+
2234
+ return c;
2235
+ }));
2236
+
2237
+ (cljs_node_io.fs.acopy_file.cljs$lang$maxFixedArity = 3);
2238
+
2239
+ /**
2240
+ * @param {!string} pathstr :: the file path to read
2241
+ * @param {!string} enc :: encoding , if "" (an explicit empty string), => raw buffer
2242
+ * @return {(buffer.Buffer|string)}
2243
+ */
2244
+ cljs_node_io.fs.read_file = (function cljs_node_io$fs$read_file(pathstr,enc){
2245
+ return cljs_node_io.fs.fs.readFileSync(pathstr,enc);
2246
+ });
2247
+ /**
2248
+ * @param {!string} pathstr
2249
+ * @param {!string} enc :: if "" (an explicit empty string) => raw buffer
2250
+ * @return {!Channel} yielding [?err (str|Buffer)]
2251
+ */
2252
+ cljs_node_io.fs.aread_file = (function cljs_node_io$fs$aread_file(pathstr,enc){
2253
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
2254
+ cljs_node_io.fs.fs.readFile(pathstr,enc,(function() {
2255
+ var G__127636__delegate = function (args){
2256
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
2257
+ };
2258
+ var G__127636 = function (var_args){
2259
+ var args = null;
2260
+ if (arguments.length > 0) {
2261
+ var G__127637__i = 0, G__127637__a = new Array(arguments.length - 0);
2262
+ while (G__127637__i < G__127637__a.length) {G__127637__a[G__127637__i] = arguments[G__127637__i + 0]; ++G__127637__i;}
2263
+ args = new cljs.core.IndexedSeq(G__127637__a,0,null);
2264
+ }
2265
+ return G__127636__delegate.call(this,args);};
2266
+ G__127636.cljs$lang$maxFixedArity = 0;
2267
+ G__127636.cljs$lang$applyTo = (function (arglist__127638){
2268
+ var args = cljs.core.seq(arglist__127638);
2269
+ return G__127636__delegate(args);
2270
+ });
2271
+ G__127636.cljs$core$IFn$_invoke$arity$variadic = G__127636__delegate;
2272
+ return G__127636;
2273
+ })()
2274
+ );
2275
+
2276
+ return c;
2277
+ });
2278
+ /**
2279
+ * synchronously writes content to file represented by pathstring.
2280
+ * @param {!string} pathstr :: file to write to
2281
+ * @param {(string|buffer.Buffer)} content :: if buffer, :encoding is ignored
2282
+ * @param {?IMap} opts:
2283
+ * :encoding {string} - defaults to utf8. use
2284
+ * :append {bool} - add content to existing file.
2285
+ * :flags {string} - overrides :append when set
2286
+ * :mode {int} - set on newly created files
2287
+ * @return {nil}
2288
+ */
2289
+ cljs_node_io.fs.write_file = (function cljs_node_io$fs$write_file(pathstr,content,opts){
2290
+ return cljs_node_io.fs.fs.writeFileSync(pathstr,content,({"flag": (function (){var or__5002__auto__ = new cljs.core.Keyword(null,"flags","flags",1775418075).cljs$core$IFn$_invoke$arity$1(opts);
2291
+ if(cljs.core.truth_(or__5002__auto__)){
2292
+ return or__5002__auto__;
2293
+ } else {
2294
+ if(cljs.core.truth_(new cljs.core.Keyword(null,"append","append",-291298229).cljs$core$IFn$_invoke$arity$1(opts))){
2295
+ return "a";
2296
+ } else {
2297
+ return "w";
2298
+ }
2299
+ }
2300
+ })(), "mode": (function (){var or__5002__auto__ = new cljs.core.Keyword(null,"mode","mode",654403691).cljs$core$IFn$_invoke$arity$1(opts);
2301
+ if(cljs.core.truth_(or__5002__auto__)){
2302
+ return or__5002__auto__;
2303
+ } else {
2304
+ return (438);
2305
+ }
2306
+ })(), "encoding": (function (){var or__5002__auto__ = new cljs.core.Keyword(null,"encoding","encoding",1728578272).cljs$core$IFn$_invoke$arity$1(opts);
2307
+ if(cljs.core.truth_(or__5002__auto__)){
2308
+ return or__5002__auto__;
2309
+ } else {
2310
+ return "utf8";
2311
+ }
2312
+ })()}));
2313
+ });
2314
+ /**
2315
+ * Asynchronously write to a file.
2316
+ * @param {!string} pathstring : file to write to
2317
+ * @param {(string|buffer.Buffer)} content : if buffer, :encoding is ignored
2318
+ * @param {?IMap} opts:
2319
+ * :encoding {string} - defaults to utf8. use
2320
+ * :append {bool} - add content to existing file.
2321
+ * :flags {string} - overrides :append when set
2322
+ * :mode {int} - set on newly created files
2323
+ * @return {!Channel} promise-chan recieving [?err]
2324
+ */
2325
+ cljs_node_io.fs.awrite_file = (function cljs_node_io$fs$awrite_file(pathstring,content,opts){
2326
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
2327
+ cljs_node_io.fs.fs.writeFile(pathstring,content,({"flag": (function (){var or__5002__auto__ = new cljs.core.Keyword(null,"flags","flags",1775418075).cljs$core$IFn$_invoke$arity$1(opts);
2328
+ if(cljs.core.truth_(or__5002__auto__)){
2329
+ return or__5002__auto__;
2330
+ } else {
2331
+ if(cljs.core.truth_(new cljs.core.Keyword(null,"append","append",-291298229).cljs$core$IFn$_invoke$arity$1(opts))){
2332
+ return "a";
2333
+ } else {
2334
+ return "w";
2335
+ }
2336
+ }
2337
+ })(), "mode": (function (){var or__5002__auto__ = new cljs.core.Keyword(null,"mode","mode",654403691).cljs$core$IFn$_invoke$arity$1(opts);
2338
+ if(cljs.core.truth_(or__5002__auto__)){
2339
+ return or__5002__auto__;
2340
+ } else {
2341
+ return (438);
2342
+ }
2343
+ })(), "encoding": (function (){var or__5002__auto__ = new cljs.core.Keyword(null,"encoding","encoding",1728578272).cljs$core$IFn$_invoke$arity$1(opts);
2344
+ if(cljs.core.truth_(or__5002__auto__)){
2345
+ return or__5002__auto__;
2346
+ } else {
2347
+ return "utf8";
2348
+ }
2349
+ })()}),(function() {
2350
+ var G__127639__delegate = function (args){
2351
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
2352
+ };
2353
+ var G__127639 = function (var_args){
2354
+ var args = null;
2355
+ if (arguments.length > 0) {
2356
+ var G__127640__i = 0, G__127640__a = new Array(arguments.length - 0);
2357
+ while (G__127640__i < G__127640__a.length) {G__127640__a[G__127640__i] = arguments[G__127640__i + 0]; ++G__127640__i;}
2358
+ args = new cljs.core.IndexedSeq(G__127640__a,0,null);
2359
+ }
2360
+ return G__127639__delegate.call(this,args);};
2361
+ G__127639.cljs$lang$maxFixedArity = 0;
2362
+ G__127639.cljs$lang$applyTo = (function (arglist__127641){
2363
+ var args = cljs.core.seq(arglist__127641);
2364
+ return G__127639__delegate(args);
2365
+ });
2366
+ G__127639.cljs$core$IFn$_invoke$arity$variadic = G__127639__delegate;
2367
+ return G__127639;
2368
+ })()
2369
+ );
2370
+
2371
+ return c;
2372
+ });
2373
+ /**
2374
+ * Synchronously open a file-descriptor
2375
+ * {@link https://nodejs.org/api/fs.html#fsopenpath-flags-mode-callback}
2376
+ * @param {!string} pathstr
2377
+ * @return {!Number} integer file-descriptor
2378
+ */
2379
+ cljs_node_io.fs.open = (function cljs_node_io$fs$open(var_args){
2380
+ var G__127370 = arguments.length;
2381
+ switch (G__127370) {
2382
+ case 1:
2383
+ return cljs_node_io.fs.open.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
2384
+
2385
+ break;
2386
+ case 2:
2387
+ return cljs_node_io.fs.open.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
2388
+
2389
+ break;
2390
+ case 3:
2391
+ return cljs_node_io.fs.open.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
2392
+
2393
+ break;
2394
+ default:
2395
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
2396
+
2397
+ }
2398
+ });
2399
+
2400
+ (cljs_node_io.fs.open.cljs$core$IFn$_invoke$arity$1 = (function (pathstr){
2401
+ return cljs_node_io.fs.fs.openSync(pathstr,"r");
2402
+ }));
2403
+
2404
+ (cljs_node_io.fs.open.cljs$core$IFn$_invoke$arity$2 = (function (pathstr,flags){
2405
+ return cljs_node_io.fs.fs.openSync(pathstr,flags);
2406
+ }));
2407
+
2408
+ (cljs_node_io.fs.open.cljs$core$IFn$_invoke$arity$3 = (function (pathstr,flags,mode){
2409
+ return cljs_node_io.fs.fs.openSync(pathstr,flags,mode);
2410
+ }));
2411
+
2412
+ (cljs_node_io.fs.open.cljs$lang$maxFixedArity = 3);
2413
+
2414
+ /**
2415
+ * Asynchronously open a file-descriptor
2416
+ * {@link https://nodejs.org/api/fs.html#fsopenpath-flags-mode-callback}
2417
+ * @param {!string} pathstr
2418
+ * @return {!Channel} yielding [?err ?fd]
2419
+ */
2420
+ cljs_node_io.fs.aopen = (function cljs_node_io$fs$aopen(var_args){
2421
+ var G__127379 = arguments.length;
2422
+ switch (G__127379) {
2423
+ case 1:
2424
+ return cljs_node_io.fs.aopen.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
2425
+
2426
+ break;
2427
+ case 2:
2428
+ return cljs_node_io.fs.aopen.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
2429
+
2430
+ break;
2431
+ case 3:
2432
+ return cljs_node_io.fs.aopen.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
2433
+
2434
+ break;
2435
+ default:
2436
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
2437
+
2438
+ }
2439
+ });
2440
+
2441
+ (cljs_node_io.fs.aopen.cljs$core$IFn$_invoke$arity$1 = (function (pathstr){
2442
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
2443
+ cljs_node_io.fs.fs.open(pathstr,"r",(function() {
2444
+ var G__127644__delegate = function (args){
2445
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
2446
+ };
2447
+ var G__127644 = function (var_args){
2448
+ var args = null;
2449
+ if (arguments.length > 0) {
2450
+ var G__127645__i = 0, G__127645__a = new Array(arguments.length - 0);
2451
+ while (G__127645__i < G__127645__a.length) {G__127645__a[G__127645__i] = arguments[G__127645__i + 0]; ++G__127645__i;}
2452
+ args = new cljs.core.IndexedSeq(G__127645__a,0,null);
2453
+ }
2454
+ return G__127644__delegate.call(this,args);};
2455
+ G__127644.cljs$lang$maxFixedArity = 0;
2456
+ G__127644.cljs$lang$applyTo = (function (arglist__127646){
2457
+ var args = cljs.core.seq(arglist__127646);
2458
+ return G__127644__delegate(args);
2459
+ });
2460
+ G__127644.cljs$core$IFn$_invoke$arity$variadic = G__127644__delegate;
2461
+ return G__127644;
2462
+ })()
2463
+ );
2464
+
2465
+ return c;
2466
+ }));
2467
+
2468
+ (cljs_node_io.fs.aopen.cljs$core$IFn$_invoke$arity$2 = (function (pathstr,flags){
2469
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
2470
+ cljs_node_io.fs.fs.open(pathstr,flags,(function() {
2471
+ var G__127647__delegate = function (args){
2472
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
2473
+ };
2474
+ var G__127647 = function (var_args){
2475
+ var args = null;
2476
+ if (arguments.length > 0) {
2477
+ var G__127648__i = 0, G__127648__a = new Array(arguments.length - 0);
2478
+ while (G__127648__i < G__127648__a.length) {G__127648__a[G__127648__i] = arguments[G__127648__i + 0]; ++G__127648__i;}
2479
+ args = new cljs.core.IndexedSeq(G__127648__a,0,null);
2480
+ }
2481
+ return G__127647__delegate.call(this,args);};
2482
+ G__127647.cljs$lang$maxFixedArity = 0;
2483
+ G__127647.cljs$lang$applyTo = (function (arglist__127649){
2484
+ var args = cljs.core.seq(arglist__127649);
2485
+ return G__127647__delegate(args);
2486
+ });
2487
+ G__127647.cljs$core$IFn$_invoke$arity$variadic = G__127647__delegate;
2488
+ return G__127647;
2489
+ })()
2490
+ );
2491
+
2492
+ return c;
2493
+ }));
2494
+
2495
+ (cljs_node_io.fs.aopen.cljs$core$IFn$_invoke$arity$3 = (function (pathstr,flags,mode){
2496
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
2497
+ cljs_node_io.fs.fs.open(pathstr,flags,mode,(function() {
2498
+ var G__127650__delegate = function (args){
2499
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
2500
+ };
2501
+ var G__127650 = function (var_args){
2502
+ var args = null;
2503
+ if (arguments.length > 0) {
2504
+ var G__127651__i = 0, G__127651__a = new Array(arguments.length - 0);
2505
+ while (G__127651__i < G__127651__a.length) {G__127651__a[G__127651__i] = arguments[G__127651__i + 0]; ++G__127651__i;}
2506
+ args = new cljs.core.IndexedSeq(G__127651__a,0,null);
2507
+ }
2508
+ return G__127650__delegate.call(this,args);};
2509
+ G__127650.cljs$lang$maxFixedArity = 0;
2510
+ G__127650.cljs$lang$applyTo = (function (arglist__127652){
2511
+ var args = cljs.core.seq(arglist__127652);
2512
+ return G__127650__delegate(args);
2513
+ });
2514
+ G__127650.cljs$core$IFn$_invoke$arity$variadic = G__127650__delegate;
2515
+ return G__127650;
2516
+ })()
2517
+ );
2518
+
2519
+ return c;
2520
+ }));
2521
+
2522
+ (cljs_node_io.fs.aopen.cljs$lang$maxFixedArity = 3);
2523
+
2524
+ /**
2525
+ * Synchronously close a file-descriptor
2526
+ * {@link https://nodejs.org/api/fs.html#fsclosesyncfd}
2527
+ * @param {Number} fd :: the file descriptor to close
2528
+ * @return {nil}
2529
+ */
2530
+ cljs_node_io.fs.close = (function cljs_node_io$fs$close(fd){
2531
+ if(cljs.core.truth_((function (){var and__5000__auto__ = typeof fd === 'number';
2532
+ if(and__5000__auto__){
2533
+ return Number.isInteger(fd);
2534
+ } else {
2535
+ return and__5000__auto__;
2536
+ }
2537
+ })())){
2538
+ } else {
2539
+ throw (new Error("Assert failed: (and (number? fd) (.isInteger js/Number fd))"));
2540
+ }
2541
+
2542
+ return cljs_node_io.fs.fs.closeSync(fd);
2543
+ });
2544
+ /**
2545
+ * Asynchronously close a file-descriptor
2546
+ * {@link https://nodejs.org/api/fs.html#fsclosefd-callback}
2547
+ * @param {Number} fd :: the file descriptor to close
2548
+ * @return {Channel} yielding [?err]
2549
+ */
2550
+ cljs_node_io.fs.aclose = (function cljs_node_io$fs$aclose(fd){
2551
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
2552
+ cljs_node_io.fs.fs.close(fd,(function() {
2553
+ var G__127653__delegate = function (args){
2554
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
2555
+ };
2556
+ var G__127653 = function (var_args){
2557
+ var args = null;
2558
+ if (arguments.length > 0) {
2559
+ var G__127654__i = 0, G__127654__a = new Array(arguments.length - 0);
2560
+ while (G__127654__i < G__127654__a.length) {G__127654__a[G__127654__i] = arguments[G__127654__i + 0]; ++G__127654__i;}
2561
+ args = new cljs.core.IndexedSeq(G__127654__a,0,null);
2562
+ }
2563
+ return G__127653__delegate.call(this,args);};
2564
+ G__127653.cljs$lang$maxFixedArity = 0;
2565
+ G__127653.cljs$lang$applyTo = (function (arglist__127655){
2566
+ var args = cljs.core.seq(arglist__127655);
2567
+ return G__127653__delegate(args);
2568
+ });
2569
+ G__127653.cljs$core$IFn$_invoke$arity$variadic = G__127653__delegate;
2570
+ return G__127653;
2571
+ })()
2572
+ );
2573
+
2574
+ return c;
2575
+ });
2576
+ /**
2577
+ * Synchronously read data from the fd into the specified buffer
2578
+ * {@link https://nodejs.org/api/fs.html#fsreadsyncfd-buffer-offset-length-position}
2579
+ * Can pass arguments individually or as a map:
2580
+ * :buffer (Buffer|ArrayBuffer) - where data will be written
2581
+ * :offset (Number) - where to start writing in the buffer
2582
+ * :length (Number) - how many bytes to read from fd
2583
+ * :pos (Number|Bigint) - Where to begin reading. if -1 reads from current-pos
2584
+ * @return {!Number} number of bytes read
2585
+ */
2586
+ cljs_node_io.fs.read = (function cljs_node_io$fs$read(var_args){
2587
+ var G__127382 = arguments.length;
2588
+ switch (G__127382) {
2589
+ case 2:
2590
+ return cljs_node_io.fs.read.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
2591
+
2592
+ break;
2593
+ case 3:
2594
+ return cljs_node_io.fs.read.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
2595
+
2596
+ break;
2597
+ case 5:
2598
+ return cljs_node_io.fs.read.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
2599
+
2600
+ break;
2601
+ default:
2602
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
2603
+
2604
+ }
2605
+ });
2606
+
2607
+ (cljs_node_io.fs.read.cljs$core$IFn$_invoke$arity$2 = (function (fd,opts){
2608
+ var buf = new cljs.core.Keyword(null,"buffer","buffer",617295198).cljs$core$IFn$_invoke$arity$1(opts);
2609
+ if(cljs.core.truth_(Buffer.isBuffer(buf))){
2610
+ } else {
2611
+ throw (new Error(["Assert failed: ",":buffer entry needed to read from a fd","\n","(.isBuffer js/Buffer buf)"].join('')));
2612
+ }
2613
+
2614
+ return cljs_node_io.fs.read.cljs$core$IFn$_invoke$arity$3(fd,new cljs.core.Keyword(null,"buffer","buffer",617295198).cljs$core$IFn$_invoke$arity$1(opts),opts);
2615
+ }));
2616
+
2617
+ (cljs_node_io.fs.read.cljs$core$IFn$_invoke$arity$3 = (function (fd,buffer,opts){
2618
+ var map__127388 = opts;
2619
+ var map__127388__$1 = cljs.core.__destructure_map(map__127388);
2620
+ var offset = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127388__$1,new cljs.core.Keyword(null,"offset","offset",296498311));
2621
+ var length = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127388__$1,new cljs.core.Keyword(null,"length","length",588987862));
2622
+ var position = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127388__$1,new cljs.core.Keyword(null,"position","position",-2011731912));
2623
+ var offset__$1 = (function (){var or__5002__auto__ = offset;
2624
+ if(cljs.core.truth_(or__5002__auto__)){
2625
+ return or__5002__auto__;
2626
+ } else {
2627
+ return (0);
2628
+ }
2629
+ })();
2630
+ var length__$1 = (function (){var or__5002__auto__ = length;
2631
+ if(cljs.core.truth_(or__5002__auto__)){
2632
+ return or__5002__auto__;
2633
+ } else {
2634
+ return buffer.byteLength;
2635
+ }
2636
+ })();
2637
+ var position__$1 = (function (){var or__5002__auto__ = position;
2638
+ if(cljs.core.truth_(or__5002__auto__)){
2639
+ return or__5002__auto__;
2640
+ } else {
2641
+ return (0);
2642
+ }
2643
+ })();
2644
+ return cljs_node_io.fs.read.cljs$core$IFn$_invoke$arity$5(fd,buffer,offset__$1,length__$1,position__$1);
2645
+ }));
2646
+
2647
+ (cljs_node_io.fs.read.cljs$core$IFn$_invoke$arity$5 = (function (fd,buffer,offset,length,position){
2648
+ return cljs_node_io.fs.fs.readSync(fd,buffer,offset,length,position);
2649
+ }));
2650
+
2651
+ (cljs_node_io.fs.read.cljs$lang$maxFixedArity = 5);
2652
+
2653
+ /**
2654
+ * Asynchronously read data from the fd into the specified buffer
2655
+ * {@link https://nodejs.org/api/fs.html#fsreadfd-buffer-offset-length-position-callback}
2656
+ * Can pass arguments individually or as a map:
2657
+ * :buffer (Buffer|ArrayBuffer) - where data will be written
2658
+ * :offset (Number) - where to start writing in the buffer
2659
+ * :length (Number) - how many bytes to read from fd
2660
+ * :pos (Number|Bigint) - Where to begin reading. if -1 reads from current-pos
2661
+ * @return {!Channel} yielding [?err bytes-read buffer]
2662
+ */
2663
+ cljs_node_io.fs.aread = (function cljs_node_io$fs$aread(var_args){
2664
+ var G__127390 = arguments.length;
2665
+ switch (G__127390) {
2666
+ case 2:
2667
+ return cljs_node_io.fs.aread.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
2668
+
2669
+ break;
2670
+ case 3:
2671
+ return cljs_node_io.fs.aread.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
2672
+
2673
+ break;
2674
+ case 5:
2675
+ return cljs_node_io.fs.aread.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
2676
+
2677
+ break;
2678
+ default:
2679
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
2680
+
2681
+ }
2682
+ });
2683
+
2684
+ (cljs_node_io.fs.aread.cljs$core$IFn$_invoke$arity$2 = (function (fd,opts){
2685
+ var buf = new cljs.core.Keyword(null,"buffer","buffer",617295198).cljs$core$IFn$_invoke$arity$1(opts);
2686
+ if(cljs.core.truth_(Buffer.isBuffer(buf))){
2687
+ } else {
2688
+ throw (new Error(["Assert failed: ",":buffer entry needed to read from a fd","\n","(.isBuffer js/Buffer buf)"].join('')));
2689
+ }
2690
+
2691
+ return cljs_node_io.fs.aread.cljs$core$IFn$_invoke$arity$3(fd,new cljs.core.Keyword(null,"buffer","buffer",617295198).cljs$core$IFn$_invoke$arity$1(opts),opts);
2692
+ }));
2693
+
2694
+ (cljs_node_io.fs.aread.cljs$core$IFn$_invoke$arity$3 = (function (fd,buffer,opts){
2695
+ var map__127391 = opts;
2696
+ var map__127391__$1 = cljs.core.__destructure_map(map__127391);
2697
+ var offset = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127391__$1,new cljs.core.Keyword(null,"offset","offset",296498311));
2698
+ var length = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127391__$1,new cljs.core.Keyword(null,"length","length",588987862));
2699
+ var position = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127391__$1,new cljs.core.Keyword(null,"position","position",-2011731912));
2700
+ var offset__$1 = (function (){var or__5002__auto__ = offset;
2701
+ if(cljs.core.truth_(or__5002__auto__)){
2702
+ return or__5002__auto__;
2703
+ } else {
2704
+ return (0);
2705
+ }
2706
+ })();
2707
+ var length__$1 = (function (){var or__5002__auto__ = length;
2708
+ if(cljs.core.truth_(or__5002__auto__)){
2709
+ return or__5002__auto__;
2710
+ } else {
2711
+ return buffer.byteLength;
2712
+ }
2713
+ })();
2714
+ var position__$1 = (function (){var or__5002__auto__ = position;
2715
+ if(cljs.core.truth_(or__5002__auto__)){
2716
+ return or__5002__auto__;
2717
+ } else {
2718
+ return (0);
2719
+ }
2720
+ })();
2721
+ return cljs_node_io.fs.aread.cljs$core$IFn$_invoke$arity$5(fd,buffer,offset__$1,length__$1,position__$1);
2722
+ }));
2723
+
2724
+ (cljs_node_io.fs.aread.cljs$core$IFn$_invoke$arity$5 = (function (fd,buffer,offset,length,position){
2725
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
2726
+ cljs_node_io.fs.fs.read(fd,buffer,offset,length,position,(function() {
2727
+ var G__127667__delegate = function (args){
2728
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
2729
+ };
2730
+ var G__127667 = function (var_args){
2731
+ var args = null;
2732
+ if (arguments.length > 0) {
2733
+ var G__127668__i = 0, G__127668__a = new Array(arguments.length - 0);
2734
+ while (G__127668__i < G__127668__a.length) {G__127668__a[G__127668__i] = arguments[G__127668__i + 0]; ++G__127668__i;}
2735
+ args = new cljs.core.IndexedSeq(G__127668__a,0,null);
2736
+ }
2737
+ return G__127667__delegate.call(this,args);};
2738
+ G__127667.cljs$lang$maxFixedArity = 0;
2739
+ G__127667.cljs$lang$applyTo = (function (arglist__127669){
2740
+ var args = cljs.core.seq(arglist__127669);
2741
+ return G__127667__delegate(args);
2742
+ });
2743
+ G__127667.cljs$core$IFn$_invoke$arity$variadic = G__127667__delegate;
2744
+ return G__127667;
2745
+ })()
2746
+ );
2747
+
2748
+ return c;
2749
+ }));
2750
+
2751
+ (cljs_node_io.fs.aread.cljs$lang$maxFixedArity = 5);
2752
+
2753
+ /**
2754
+ * Synchronously write data from the buffer to the fd
2755
+ * {@link https://nodejs.org/api/fs.html#fswritesyncfd-buffer-offset-length-position}
2756
+ * Can pass arguments individually or as a map:
2757
+ * :buffer (Buffer|ArrayBuffer) - data to be written
2758
+ * :offset (Number) - where to start reading in the buffer
2759
+ * :length (Number) - how many bytes to read
2760
+ * :pos (Number|Bigint) - where to begin writing in the fd
2761
+ * @return {!Number} number of bytes written
2762
+ */
2763
+ cljs_node_io.fs.write = (function cljs_node_io$fs$write(var_args){
2764
+ var G__127396 = arguments.length;
2765
+ switch (G__127396) {
2766
+ case 2:
2767
+ return cljs_node_io.fs.write.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
2768
+
2769
+ break;
2770
+ case 3:
2771
+ return cljs_node_io.fs.write.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
2772
+
2773
+ break;
2774
+ case 5:
2775
+ return cljs_node_io.fs.write.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
2776
+
2777
+ break;
2778
+ default:
2779
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
2780
+
2781
+ }
2782
+ });
2783
+
2784
+ (cljs_node_io.fs.write.cljs$core$IFn$_invoke$arity$2 = (function (fd,opts){
2785
+ var buf = new cljs.core.Keyword(null,"buffer","buffer",617295198).cljs$core$IFn$_invoke$arity$1(opts);
2786
+ if(cljs.core.truth_(Buffer.isBuffer(buf))){
2787
+ } else {
2788
+ throw (new Error(["Assert failed: ",":buffer entry needed to read from a fd","\n","(.isBuffer js/Buffer buf)"].join('')));
2789
+ }
2790
+
2791
+ return cljs_node_io.fs.write.cljs$core$IFn$_invoke$arity$3(fd,new cljs.core.Keyword(null,"buffer","buffer",617295198).cljs$core$IFn$_invoke$arity$1(opts),opts);
2792
+ }));
2793
+
2794
+ (cljs_node_io.fs.write.cljs$core$IFn$_invoke$arity$3 = (function (fd,buffer,opts){
2795
+ var map__127399 = opts;
2796
+ var map__127399__$1 = cljs.core.__destructure_map(map__127399);
2797
+ var offset = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127399__$1,new cljs.core.Keyword(null,"offset","offset",296498311));
2798
+ var length = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127399__$1,new cljs.core.Keyword(null,"length","length",588987862));
2799
+ var position = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127399__$1,new cljs.core.Keyword(null,"position","position",-2011731912));
2800
+ var offset__$1 = (function (){var or__5002__auto__ = offset;
2801
+ if(cljs.core.truth_(or__5002__auto__)){
2802
+ return or__5002__auto__;
2803
+ } else {
2804
+ return (0);
2805
+ }
2806
+ })();
2807
+ var length__$1 = (function (){var or__5002__auto__ = length;
2808
+ if(cljs.core.truth_(or__5002__auto__)){
2809
+ return or__5002__auto__;
2810
+ } else {
2811
+ return (buffer.byteLength - offset__$1);
2812
+ }
2813
+ })();
2814
+ var position__$1 = (function (){var or__5002__auto__ = position;
2815
+ if(cljs.core.truth_(or__5002__auto__)){
2816
+ return or__5002__auto__;
2817
+ } else {
2818
+ return (0);
2819
+ }
2820
+ })();
2821
+ return cljs_node_io.fs.write.cljs$core$IFn$_invoke$arity$5(fd,buffer,offset__$1,length__$1,position__$1);
2822
+ }));
2823
+
2824
+ (cljs_node_io.fs.write.cljs$core$IFn$_invoke$arity$5 = (function (fd,buffer,offset,length,position){
2825
+ return cljs_node_io.fs.fs.writeSync(fd,buffer,offset,length,position);
2826
+ }));
2827
+
2828
+ (cljs_node_io.fs.write.cljs$lang$maxFixedArity = 5);
2829
+
2830
+ /**
2831
+ * Asynchronously write data from the buffer to the fd
2832
+ * {@link https://nodejs.org/api/fs.html#fswritesyncfd-buffer-offset-length-position}
2833
+ * Can pass arguments individually or as a map:
2834
+ * :buffer (Buffer|ArrayBuffer) - data to be written
2835
+ * :offset (Number) - where to start reading in the buffer
2836
+ * :length (Number) - how many bytes to read
2837
+ * :pos (Number|Bigint) - where to begin writing in the fd
2838
+ * @return {!Channel} yielding [?err bytes-written buffer]
2839
+ */
2840
+ cljs_node_io.fs.awrite = (function cljs_node_io$fs$awrite(var_args){
2841
+ var G__127405 = arguments.length;
2842
+ switch (G__127405) {
2843
+ case 2:
2844
+ return cljs_node_io.fs.awrite.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
2845
+
2846
+ break;
2847
+ case 3:
2848
+ return cljs_node_io.fs.awrite.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
2849
+
2850
+ break;
2851
+ case 5:
2852
+ return cljs_node_io.fs.awrite.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
2853
+
2854
+ break;
2855
+ default:
2856
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
2857
+
2858
+ }
2859
+ });
2860
+
2861
+ (cljs_node_io.fs.awrite.cljs$core$IFn$_invoke$arity$2 = (function (fd,opts){
2862
+ var buf = new cljs.core.Keyword(null,"buffer","buffer",617295198).cljs$core$IFn$_invoke$arity$1(opts);
2863
+ if(cljs.core.truth_(Buffer.isBuffer(buf))){
2864
+ } else {
2865
+ throw (new Error(["Assert failed: ",":buffer entry needed to read from a fd","\n","(.isBuffer js/Buffer buf)"].join('')));
2866
+ }
2867
+
2868
+ return cljs_node_io.fs.awrite.cljs$core$IFn$_invoke$arity$3(fd,new cljs.core.Keyword(null,"buffer","buffer",617295198).cljs$core$IFn$_invoke$arity$1(opts),opts);
2869
+ }));
2870
+
2871
+ (cljs_node_io.fs.awrite.cljs$core$IFn$_invoke$arity$3 = (function (fd,buffer,opts){
2872
+ var map__127406 = opts;
2873
+ var map__127406__$1 = cljs.core.__destructure_map(map__127406);
2874
+ var offset = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127406__$1,new cljs.core.Keyword(null,"offset","offset",296498311));
2875
+ var length = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127406__$1,new cljs.core.Keyword(null,"length","length",588987862));
2876
+ var position = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127406__$1,new cljs.core.Keyword(null,"position","position",-2011731912));
2877
+ var offset__$1 = (function (){var or__5002__auto__ = offset;
2878
+ if(cljs.core.truth_(or__5002__auto__)){
2879
+ return or__5002__auto__;
2880
+ } else {
2881
+ return (0);
2882
+ }
2883
+ })();
2884
+ var length__$1 = (function (){var or__5002__auto__ = length;
2885
+ if(cljs.core.truth_(or__5002__auto__)){
2886
+ return or__5002__auto__;
2887
+ } else {
2888
+ return (buffer.byteLength - offset__$1);
2889
+ }
2890
+ })();
2891
+ var position__$1 = (function (){var or__5002__auto__ = position;
2892
+ if(cljs.core.truth_(or__5002__auto__)){
2893
+ return or__5002__auto__;
2894
+ } else {
2895
+ return (0);
2896
+ }
2897
+ })();
2898
+ return cljs_node_io.fs.awrite.cljs$core$IFn$_invoke$arity$5(fd,buffer,offset__$1,length__$1,position__$1);
2899
+ }));
2900
+
2901
+ (cljs_node_io.fs.awrite.cljs$core$IFn$_invoke$arity$5 = (function (fd,buffer,offset,length,position){
2902
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
2903
+ cljs_node_io.fs.fs.write(fd,buffer,offset,length,position,(function() {
2904
+ var G__127676__delegate = function (args){
2905
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
2906
+ };
2907
+ var G__127676 = function (var_args){
2908
+ var args = null;
2909
+ if (arguments.length > 0) {
2910
+ var G__127677__i = 0, G__127677__a = new Array(arguments.length - 0);
2911
+ while (G__127677__i < G__127677__a.length) {G__127677__a[G__127677__i] = arguments[G__127677__i + 0]; ++G__127677__i;}
2912
+ args = new cljs.core.IndexedSeq(G__127677__a,0,null);
2913
+ }
2914
+ return G__127676__delegate.call(this,args);};
2915
+ G__127676.cljs$lang$maxFixedArity = 0;
2916
+ G__127676.cljs$lang$applyTo = (function (arglist__127678){
2917
+ var args = cljs.core.seq(arglist__127678);
2918
+ return G__127676__delegate(args);
2919
+ });
2920
+ G__127676.cljs$core$IFn$_invoke$arity$variadic = G__127676__delegate;
2921
+ return G__127676;
2922
+ })()
2923
+ );
2924
+
2925
+ return c;
2926
+ }));
2927
+
2928
+ (cljs_node_io.fs.awrite.cljs$lang$maxFixedArity = 5);
2929
+
2930
+ /**
2931
+ * Synchronously flush to storage
2932
+ * {@link https://nodejs.org/api/fs.html#fsfstatsyncfd-options}
2933
+ * @param {!Number} fd
2934
+ * @return {nil}
2935
+ */
2936
+ cljs_node_io.fs.fsync = (function cljs_node_io$fs$fsync(fd){
2937
+ return cljs_node_io.fs.fs.fsyncSync(fd);
2938
+ });
2939
+ /**
2940
+ * Asynchronously flush to storage
2941
+ * {@link https://nodejs.org/api/fs.html#fsfsyncfd-callback}
2942
+ * @param {!Number} fd
2943
+ * @return {Channel} yielding [?err]
2944
+ */
2945
+ cljs_node_io.fs.afsync = (function cljs_node_io$fs$afsync(fd){
2946
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
2947
+ cljs_node_io.fs.fs.fsync(fd,(function() {
2948
+ var G__127679__delegate = function (args){
2949
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
2950
+ };
2951
+ var G__127679 = function (var_args){
2952
+ var args = null;
2953
+ if (arguments.length > 0) {
2954
+ var G__127680__i = 0, G__127680__a = new Array(arguments.length - 0);
2955
+ while (G__127680__i < G__127680__a.length) {G__127680__a[G__127680__i] = arguments[G__127680__i + 0]; ++G__127680__i;}
2956
+ args = new cljs.core.IndexedSeq(G__127680__a,0,null);
2957
+ }
2958
+ return G__127679__delegate.call(this,args);};
2959
+ G__127679.cljs$lang$maxFixedArity = 0;
2960
+ G__127679.cljs$lang$applyTo = (function (arglist__127681){
2961
+ var args = cljs.core.seq(arglist__127681);
2962
+ return G__127679__delegate(args);
2963
+ });
2964
+ G__127679.cljs$core$IFn$_invoke$arity$variadic = G__127679__delegate;
2965
+ return G__127679;
2966
+ })()
2967
+ );
2968
+
2969
+ return c;
2970
+ });
2971
+ /**
2972
+ * Synchronously retrieve a stats map from the file descriptor
2973
+ * {@link https://nodejs.org/api/fs.html#fsfstatsyncfd-options}
2974
+ * @param {!Number} fd
2975
+ * @return {!IMap} edn stats
2976
+ */
2977
+ cljs_node_io.fs.fstat = (function cljs_node_io$fs$fstat(fd){
2978
+ return cljs_node_io.fs.stat__GT_clj(fd.fstatSync());
2979
+ });
2980
+ /**
2981
+ * Asynchronously retrieve a stats map from the file descriptor
2982
+ * {@link https://nodejs.org/api/fs.html#fsfstatfd-options-callback}
2983
+ * @param {!Number} fd
2984
+ * @param {!Channel} yielding [?err edn-stats]
2985
+ */
2986
+ cljs_node_io.fs.afstat = (function cljs_node_io$fs$afstat(fd){
2987
+ var out = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
2988
+ cljs_node_io.fs.fs.fstat(fd,(function (err,stats){
2989
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out,(cljs.core.truth_(err)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [err], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs_node_io.fs.stat__GT_clj(stats)], null)));
2990
+ }));
2991
+
2992
+ return out;
2993
+ });
2994
+ /**
2995
+ * Synchronous ftruncate
2996
+ * {@link https://nodejs.org/api/fs.html#fsftruncatesyncfd-len}
2997
+ * @param {!Number} fd
2998
+ * @param {?Number} len
2999
+ * @return {nil}
3000
+ */
3001
+ cljs_node_io.fs.ftruncate = (function cljs_node_io$fs$ftruncate(var_args){
3002
+ var G__127409 = arguments.length;
3003
+ switch (G__127409) {
3004
+ case 1:
3005
+ return cljs_node_io.fs.ftruncate.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
3006
+
3007
+ break;
3008
+ case 2:
3009
+ return cljs_node_io.fs.ftruncate.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
3010
+
3011
+ break;
3012
+ default:
3013
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
3014
+
3015
+ }
3016
+ });
3017
+
3018
+ (cljs_node_io.fs.ftruncate.cljs$core$IFn$_invoke$arity$1 = (function (fd){
3019
+ return cljs_node_io.fs.fs.ftruncateSync(fd);
3020
+ }));
3021
+
3022
+ (cljs_node_io.fs.ftruncate.cljs$core$IFn$_invoke$arity$2 = (function (fd,len){
3023
+ return cljs_node_io.fs.fs.ftruncateSync(fd,len);
3024
+ }));
3025
+
3026
+ (cljs_node_io.fs.ftruncate.cljs$lang$maxFixedArity = 2);
3027
+
3028
+ /**
3029
+ * Asynchronous ftruncate
3030
+ * {@link https://nodejs.org/api/fs.html#fsftruncatefd-len-callback}
3031
+ * @param {!Number} fd
3032
+ * @param {?Number} len
3033
+ * @return {!Channel} yielding [?err]
3034
+ */
3035
+ cljs_node_io.fs.aftruncate = (function cljs_node_io$fs$aftruncate(var_args){
3036
+ var G__127416 = arguments.length;
3037
+ switch (G__127416) {
3038
+ case 1:
3039
+ return cljs_node_io.fs.aftruncate.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
3040
+
3041
+ break;
3042
+ case 2:
3043
+ return cljs_node_io.fs.aftruncate.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
3044
+
3045
+ break;
3046
+ default:
3047
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
3048
+
3049
+ }
3050
+ });
3051
+
3052
+ (cljs_node_io.fs.aftruncate.cljs$core$IFn$_invoke$arity$1 = (function (fd){
3053
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
3054
+ cljs_node_io.fs.fs.ftruncate(fd,(function() {
3055
+ var G__127684__delegate = function (args){
3056
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
3057
+ };
3058
+ var G__127684 = function (var_args){
3059
+ var args = null;
3060
+ if (arguments.length > 0) {
3061
+ var G__127685__i = 0, G__127685__a = new Array(arguments.length - 0);
3062
+ while (G__127685__i < G__127685__a.length) {G__127685__a[G__127685__i] = arguments[G__127685__i + 0]; ++G__127685__i;}
3063
+ args = new cljs.core.IndexedSeq(G__127685__a,0,null);
3064
+ }
3065
+ return G__127684__delegate.call(this,args);};
3066
+ G__127684.cljs$lang$maxFixedArity = 0;
3067
+ G__127684.cljs$lang$applyTo = (function (arglist__127686){
3068
+ var args = cljs.core.seq(arglist__127686);
3069
+ return G__127684__delegate(args);
3070
+ });
3071
+ G__127684.cljs$core$IFn$_invoke$arity$variadic = G__127684__delegate;
3072
+ return G__127684;
3073
+ })()
3074
+ );
3075
+
3076
+ return c;
3077
+ }));
3078
+
3079
+ (cljs_node_io.fs.aftruncate.cljs$core$IFn$_invoke$arity$2 = (function (fd,len){
3080
+ var c = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
3081
+ cljs_node_io.fs.fs.ftruncate(fd,len,(function() {
3082
+ var G__127687__delegate = function (args){
3083
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.vec(args));
3084
+ };
3085
+ var G__127687 = function (var_args){
3086
+ var args = null;
3087
+ if (arguments.length > 0) {
3088
+ var G__127688__i = 0, G__127688__a = new Array(arguments.length - 0);
3089
+ while (G__127688__i < G__127688__a.length) {G__127688__a[G__127688__i] = arguments[G__127688__i + 0]; ++G__127688__i;}
3090
+ args = new cljs.core.IndexedSeq(G__127688__a,0,null);
3091
+ }
3092
+ return G__127687__delegate.call(this,args);};
3093
+ G__127687.cljs$lang$maxFixedArity = 0;
3094
+ G__127687.cljs$lang$applyTo = (function (arglist__127689){
3095
+ var args = cljs.core.seq(arglist__127689);
3096
+ return G__127687__delegate(args);
3097
+ });
3098
+ G__127687.cljs$core$IFn$_invoke$arity$variadic = G__127687__delegate;
3099
+ return G__127687;
3100
+ })()
3101
+ );
3102
+
3103
+ return c;
3104
+ }));
3105
+
3106
+ (cljs_node_io.fs.aftruncate.cljs$lang$maxFixedArity = 2);
3107
+
3108
+ cljs_node_io.fs.rl = require("readline");
3109
+ /**
3110
+ * A simple file line reader.
3111
+ * @param {!string} pathstr
3112
+ * @return {!Channel} chan receiving [?err ?line] until file is consumed,
3113
+ * and then the channel closes.
3114
+ */
3115
+ cljs_node_io.fs.readline = (function cljs_node_io$fs$readline(pathstr){
3116
+ var out = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((10));
3117
+ var in$ = cljs_node_io.fs.fs.createReadStream(pathstr);
3118
+ var _ = (out.in = in$);
3119
+ var r = cljs_node_io.fs.rl.createInterface(({"input": in$, "crlfDelay": Infinity}));
3120
+ var G__127418_127690 = in$;
3121
+ G__127418_127690.on("error",(function (e){
3122
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [e], null));
3123
+ }));
3124
+
3125
+ G__127418_127690.on("close",(function (){
3126
+ return cljs.core.async.close_BANG_(out);
3127
+ }));
3128
+
3129
+
3130
+ var G__127419_127691 = r;
3131
+ G__127419_127691.on("line",(function (line){
3132
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,line], null));
3133
+ }));
3134
+
3135
+
3136
+ return out;
3137
+ });
3138
+ cljs_node_io.fs.watcher__GT_ch = (function cljs_node_io$fs$watcher__GT_ch(var_args){
3139
+ var G__127425 = arguments.length;
3140
+ switch (G__127425) {
3141
+ case 2:
3142
+ return cljs_node_io.fs.watcher__GT_ch.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
3143
+
3144
+ break;
3145
+ case 3:
3146
+ return cljs_node_io.fs.watcher__GT_ch.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
3147
+
3148
+ break;
3149
+ default:
3150
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
3151
+
3152
+ }
3153
+ });
3154
+
3155
+ (cljs_node_io.fs.watcher__GT_ch.cljs$core$IFn$_invoke$arity$2 = (function (FSWatcher,out_ch){
3156
+ return cljs_node_io.fs.watcher__GT_ch.cljs$core$IFn$_invoke$arity$3(FSWatcher,out_ch,null);
3157
+ }));
3158
+
3159
+ (cljs_node_io.fs.watcher__GT_ch.cljs$core$IFn$_invoke$arity$3 = (function (FSWatcher,out_ch,p__127426){
3160
+ var map__127427 = p__127426;
3161
+ var map__127427__$1 = cljs.core.__destructure_map(map__127427);
3162
+ var key = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127427__$1,new cljs.core.Keyword(null,"key","key",-1516042587));
3163
+ var buf_or_n = cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__127427__$1,new cljs.core.Keyword(null,"buf-or-n","buf-or-n",1007620719),(10));
3164
+ var G__127428_127693 = FSWatcher;
3165
+ G__127428_127693.on("change",(function (eventType,filename){
3166
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out_ch,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(eventType)], null));
3167
+ }));
3168
+
3169
+ G__127428_127693.on("error",(function (e){
3170
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out_ch,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"error","error",-978969032),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [e], null)], null));
3171
+ }));
3172
+
3173
+
3174
+ return out_ch;
3175
+ }));
3176
+
3177
+ (cljs_node_io.fs.watcher__GT_ch.cljs$lang$maxFixedArity = 3);
3178
+
3179
+
3180
+ /**
3181
+ * @constructor
3182
+ * @implements {cljs.core.async.impl.protocols.ReadPort}
3183
+ */
3184
+ cljs_node_io.fs.Watcher = (function (FSWatcher,out){
3185
+ this.FSWatcher = FSWatcher;
3186
+ this.out = out;
3187
+ });
3188
+ (cljs_node_io.fs.Watcher.prototype.cljs$core$async$impl$protocols$ReadPort$ = cljs.core.PROTOCOL_SENTINEL);
3189
+
3190
+ (cljs_node_io.fs.Watcher.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 = (function (this$,handler){
3191
+ var self__ = this;
3192
+ var this$__$1 = this;
3193
+ return cljs.core.async.impl.protocols.take_BANG_(self__.out,handler);
3194
+ }));
3195
+
3196
+ (cljs_node_io.fs.Watcher.prototype.close = (function (){
3197
+ var self__ = this;
3198
+ var this$ = this;
3199
+ self__.FSWatcher.close();
3200
+
3201
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3(self__.out,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"close","close",1835149582)], null),(function (){
3202
+ return cljs.core.async.close_BANG_(self__.out);
3203
+ }));
3204
+ }));
3205
+
3206
+ (cljs_node_io.fs.Watcher.getBasis = (function (){
3207
+ return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"FSWatcher","FSWatcher",-1658877931,null),new cljs.core.Symbol(null,"out","out",729986010,null)], null);
3208
+ }));
3209
+
3210
+ (cljs_node_io.fs.Watcher.cljs$lang$type = true);
3211
+
3212
+ (cljs_node_io.fs.Watcher.cljs$lang$ctorStr = "cljs-node-io.fs/Watcher");
3213
+
3214
+ (cljs_node_io.fs.Watcher.cljs$lang$ctorPrWriter = (function (this__5287__auto__,writer__5288__auto__,opt__5289__auto__){
3215
+ return cljs.core._write(writer__5288__auto__,"cljs-node-io.fs/Watcher");
3216
+ }));
3217
+
3218
+ /**
3219
+ * Positional factory function for cljs-node-io.fs/Watcher.
3220
+ */
3221
+ cljs_node_io.fs.__GT_Watcher = (function cljs_node_io$fs$__GT_Watcher(FSWatcher,out){
3222
+ return (new cljs_node_io.fs.Watcher(FSWatcher,out));
3223
+ });
3224
+
3225
+ /**
3226
+ * Watch a file or directory.
3227
+ * Make note of caveats https://nodejs.org/api/fs.html#fs_caveats
3228
+ * events : 'rename', 'change' , 'error', 'close'
3229
+ * opts :
3230
+ * :peristent {boolean} (true) :: whether the process should continue as long as files are being watched.
3231
+ * :recursive {boolean} (false) :: watch subdirectories
3232
+ * :buf-or-n {(impl/Buffer|number)} (10) :: channel buffer
3233
+ * :encoding {string} ('utf8') :: used to interpret passed filename
3234
+ * @return {!Watcher}
3235
+ */
3236
+ cljs_node_io.fs.watch = (function cljs_node_io$fs$watch(var_args){
3237
+ var G__127431 = arguments.length;
3238
+ switch (G__127431) {
3239
+ case 1:
3240
+ return cljs_node_io.fs.watch.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
3241
+
3242
+ break;
3243
+ case 2:
3244
+ return cljs_node_io.fs.watch.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
3245
+
3246
+ break;
3247
+ default:
3248
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
3249
+
3250
+ }
3251
+ });
3252
+
3253
+ (cljs_node_io.fs.watch.cljs$core$IFn$_invoke$arity$1 = (function (filename){
3254
+ return cljs_node_io.fs.watch.cljs$core$IFn$_invoke$arity$2(filename,null);
3255
+ }));
3256
+
3257
+ (cljs_node_io.fs.watch.cljs$core$IFn$_invoke$arity$2 = (function (filename,opts){
3258
+ var defaults = new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"persistent","persistent",885415113),true,new cljs.core.Keyword(null,"recursive","recursive",718885872),false,new cljs.core.Keyword(null,"encoding","encoding",1728578272),"utf8",new cljs.core.Keyword(null,"buf-or-n","buf-or-n",1007620719),(10)], null);
3259
+ var opts__$1 = cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([defaults,opts], 0));
3260
+ var key = (function (){var or__5002__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(opts__$1,new cljs.core.Keyword(null,"key","key",-1516042587));
3261
+ if(cljs.core.truth_(or__5002__auto__)){
3262
+ return or__5002__auto__;
3263
+ } else {
3264
+ return filename;
3265
+ }
3266
+ })();
3267
+ var out = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$2(opts__$1,new cljs.core.Keyword(null,"buf-or-n","buf-or-n",1007620719)),cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p1__127429_SHARP_){
3268
+ return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [key], null),p1__127429_SHARP_);
3269
+ })));
3270
+ var w = cljs_node_io.fs.fs.watch(filename,cljs.core.clj__GT_js(opts__$1));
3271
+ return cljs_node_io.fs.__GT_Watcher(w,cljs_node_io.fs.watcher__GT_ch.cljs$core$IFn$_invoke$arity$2(w,out));
3272
+ }));
3273
+
3274
+ (cljs_node_io.fs.watch.cljs$lang$maxFixedArity = 2);
3275
+
3276
+ /**
3277
+ * Prefer watch. Polls files and returns stat objects. Opts:
3278
+ * :peristent {boolean} (true) :: whether the process should continue as long as files are being watched.
3279
+ * :interval {number} (5007) :: polling interval in msecs
3280
+ * :buf-or-n {(impl/Buffer|number)} (10) :: channel buffer
3281
+ * @return {!Channel} yielding [filename [current fs.stat, previous fs.stat]]
3282
+ */
3283
+ cljs_node_io.fs.watchFile = (function cljs_node_io$fs$watchFile(var_args){
3284
+ var G__127434 = arguments.length;
3285
+ switch (G__127434) {
3286
+ case 1:
3287
+ return cljs_node_io.fs.watchFile.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
3288
+
3289
+ break;
3290
+ case 2:
3291
+ return cljs_node_io.fs.watchFile.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
3292
+
3293
+ break;
3294
+ default:
3295
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
3296
+
3297
+ }
3298
+ });
3299
+
3300
+ (cljs_node_io.fs.watchFile.cljs$core$IFn$_invoke$arity$1 = (function (filename){
3301
+ return cljs_node_io.fs.watchFile.cljs$core$IFn$_invoke$arity$2(filename,null);
3302
+ }));
3303
+
3304
+ (cljs_node_io.fs.watchFile.cljs$core$IFn$_invoke$arity$2 = (function (filename,opts){
3305
+ var defaults = new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"interval","interval",1708495417),(5007),new cljs.core.Keyword(null,"persistent","persistent",885415113),true,new cljs.core.Keyword(null,"buf-or-n","buf-or-n",1007620719),(10)], null);
3306
+ var map__127435 = cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([defaults,opts], 0));
3307
+ var map__127435__$1 = cljs.core.__destructure_map(map__127435);
3308
+ var opts__$1 = map__127435__$1;
3309
+ var edn_QMARK_ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127435__$1,new cljs.core.Keyword(null,"edn?","edn?",-499466946));
3310
+ var buf_or_n = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127435__$1,new cljs.core.Keyword(null,"buf-or-n","buf-or-n",1007620719));
3311
+ var out = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2(buf_or_n,cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p1__127432_SHARP_){
3312
+ return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [filename], null),p1__127432_SHARP_);
3313
+ })));
3314
+ var w = cljs_node_io.fs.fs.watchFile(filename,cljs.core.clj__GT_js(opts__$1),(function (curr,prev){
3315
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs_node_io.fs.stat__GT_clj(curr),cljs_node_io.fs.stat__GT_clj(prev)], null));
3316
+ }));
3317
+ return out;
3318
+ }));
3319
+
3320
+ (cljs_node_io.fs.watchFile.cljs$lang$maxFixedArity = 2);
3321
+
3322
+ /**
3323
+ * remove all watchers from a file
3324
+ * @param {!string} pathstr
3325
+ * @return {nil}
3326
+ */
3327
+ cljs_node_io.fs.unwatchFile = (function cljs_node_io$fs$unwatchFile(pathstr){
3328
+ return cljs_node_io.fs.fs.unwatchFile(pathstr);
3329
+ });
3330
+
3331
+ /**
3332
+ * @constructor
3333
+ * @implements {cljs.core.IRecord}
3334
+ * @implements {cljs.core.IKVReduce}
3335
+ * @implements {cljs.core.IEquiv}
3336
+ * @implements {cljs.core.IHash}
3337
+ * @implements {cljs.core.ICollection}
3338
+ * @implements {cljs.core.ICounted}
3339
+ * @implements {cljs.core.ISeqable}
3340
+ * @implements {cljs.core.IMeta}
3341
+ * @implements {cljs.core.ICloneable}
3342
+ * @implements {cljs.core.IPrintWithWriter}
3343
+ * @implements {cljs.core.IIterable}
3344
+ * @implements {cljs.core.IWithMeta}
3345
+ * @implements {cljs.core.IAssociative}
3346
+ * @implements {cljs.core.IMap}
3347
+ * @implements {cljs.core.ILookup}
3348
+ */
3349
+ cljs_node_io.fs.LockFile = (function (lock_file_path,locked_QMARK_,release_f,__meta,__extmap,__hash){
3350
+ this.lock_file_path = lock_file_path;
3351
+ this.locked_QMARK_ = locked_QMARK_;
3352
+ this.release_f = release_f;
3353
+ this.__meta = __meta;
3354
+ this.__extmap = __extmap;
3355
+ this.__hash = __hash;
3356
+ this.cljs$lang$protocol_mask$partition0$ = 2230716170;
3357
+ this.cljs$lang$protocol_mask$partition1$ = 139264;
3358
+ });
3359
+ (cljs_node_io.fs.LockFile.prototype.isValid = (function (){
3360
+ var self__ = this;
3361
+ var this$ = this;
3362
+ return cljs.core.deref(self__.locked_QMARK_);
3363
+ }));
3364
+
3365
+ (cljs_node_io.fs.LockFile.prototype.release = (function (){
3366
+ var self__ = this;
3367
+ var this$ = this;
3368
+ return (self__.release_f.cljs$core$IFn$_invoke$arity$0 ? self__.release_f.cljs$core$IFn$_invoke$arity$0() : self__.release_f.call(null, ));
3369
+ }));
3370
+
3371
+ (cljs_node_io.fs.LockFile.prototype.close = (function (){
3372
+ var self__ = this;
3373
+ var this$ = this;
3374
+ return (self__.release_f.cljs$core$IFn$_invoke$arity$0 ? self__.release_f.cljs$core$IFn$_invoke$arity$0() : self__.release_f.call(null, ));
3375
+ }));
3376
+
3377
+ (cljs_node_io.fs.LockFile.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (this__5300__auto__,k__5301__auto__){
3378
+ var self__ = this;
3379
+ var this__5300__auto____$1 = this;
3380
+ return this__5300__auto____$1.cljs$core$ILookup$_lookup$arity$3(null, k__5301__auto__,null);
3381
+ }));
3382
+
3383
+ (cljs_node_io.fs.LockFile.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (this__5302__auto__,k127438,else__5303__auto__){
3384
+ var self__ = this;
3385
+ var this__5302__auto____$1 = this;
3386
+ var G__127445 = k127438;
3387
+ var G__127445__$1 = (((G__127445 instanceof cljs.core.Keyword))?G__127445.fqn:null);
3388
+ switch (G__127445__$1) {
3389
+ case "lock-file-path":
3390
+ return self__.lock_file_path;
3391
+
3392
+ break;
3393
+ case "locked?":
3394
+ return self__.locked_QMARK_;
3395
+
3396
+ break;
3397
+ case "release-f":
3398
+ return self__.release_f;
3399
+
3400
+ break;
3401
+ default:
3402
+ return cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k127438,else__5303__auto__);
3403
+
3404
+ }
3405
+ }));
3406
+
3407
+ (cljs_node_io.fs.LockFile.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 = (function (this__5320__auto__,f__5321__auto__,init__5322__auto__){
3408
+ var self__ = this;
3409
+ var this__5320__auto____$1 = this;
3410
+ return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5323__auto__,p__127446){
3411
+ var vec__127447 = p__127446;
3412
+ var k__5324__auto__ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__127447,(0),null);
3413
+ var v__5325__auto__ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__127447,(1),null);
3414
+ return (f__5321__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5321__auto__.cljs$core$IFn$_invoke$arity$3(ret__5323__auto__,k__5324__auto__,v__5325__auto__) : f__5321__auto__.call(null, ret__5323__auto__,k__5324__auto__,v__5325__auto__));
3415
+ }),init__5322__auto__,this__5320__auto____$1);
3416
+ }));
3417
+
3418
+ (cljs_node_io.fs.LockFile.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (this__5315__auto__,writer__5316__auto__,opts__5317__auto__){
3419
+ var self__ = this;
3420
+ var this__5315__auto____$1 = this;
3421
+ var pr_pair__5318__auto__ = (function (keyval__5319__auto__){
3422
+ return cljs.core.pr_sequential_writer(writer__5316__auto__,cljs.core.pr_writer,""," ","",opts__5317__auto__,keyval__5319__auto__);
3423
+ });
3424
+ return cljs.core.pr_sequential_writer(writer__5316__auto__,pr_pair__5318__auto__,"#cljs-node-io.fs.LockFile{",", ","}",opts__5317__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"lock-file-path","lock-file-path",-1946648355),self__.lock_file_path],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"locked?","locked?",995448757),self__.locked_QMARK_],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"release-f","release-f",-905398075),self__.release_f],null))], null),self__.__extmap));
3425
+ }));
3426
+
3427
+ (cljs_node_io.fs.LockFile.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (G__127437){
3428
+ var self__ = this;
3429
+ var G__127437__$1 = this;
3430
+ return (new cljs.core.RecordIter((0),G__127437__$1,3,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"lock-file-path","lock-file-path",-1946648355),new cljs.core.Keyword(null,"locked?","locked?",995448757),new cljs.core.Keyword(null,"release-f","release-f",-905398075)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));
3431
+ }));
3432
+
3433
+ (cljs_node_io.fs.LockFile.prototype.cljs$core$IMeta$_meta$arity$1 = (function (this__5298__auto__){
3434
+ var self__ = this;
3435
+ var this__5298__auto____$1 = this;
3436
+ return self__.__meta;
3437
+ }));
3438
+
3439
+ (cljs_node_io.fs.LockFile.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (this__5295__auto__){
3440
+ var self__ = this;
3441
+ var this__5295__auto____$1 = this;
3442
+ return (new cljs_node_io.fs.LockFile(self__.lock_file_path,self__.locked_QMARK_,self__.release_f,self__.__meta,self__.__extmap,self__.__hash));
3443
+ }));
3444
+
3445
+ (cljs_node_io.fs.LockFile.prototype.cljs$core$ICounted$_count$arity$1 = (function (this__5304__auto__){
3446
+ var self__ = this;
3447
+ var this__5304__auto____$1 = this;
3448
+ return (3 + cljs.core.count(self__.__extmap));
3449
+ }));
3450
+
3451
+ (cljs_node_io.fs.LockFile.prototype.cljs$core$IHash$_hash$arity$1 = (function (this__5296__auto__){
3452
+ var self__ = this;
3453
+ var this__5296__auto____$1 = this;
3454
+ var h__5111__auto__ = self__.__hash;
3455
+ if((!((h__5111__auto__ == null)))){
3456
+ return h__5111__auto__;
3457
+ } else {
3458
+ var h__5111__auto____$1 = (function (coll__5297__auto__){
3459
+ return (-1187569750 ^ cljs.core.hash_unordered_coll(coll__5297__auto__));
3460
+ })(this__5296__auto____$1);
3461
+ (self__.__hash = h__5111__auto____$1);
3462
+
3463
+ return h__5111__auto____$1;
3464
+ }
3465
+ }));
3466
+
3467
+ (cljs_node_io.fs.LockFile.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (this127439,other127440){
3468
+ var self__ = this;
3469
+ var this127439__$1 = this;
3470
+ return (((!((other127440 == null)))) && ((((this127439__$1.constructor === other127440.constructor)) && (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this127439__$1.lock_file_path,other127440.lock_file_path)) && (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this127439__$1.locked_QMARK_,other127440.locked_QMARK_)) && (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this127439__$1.release_f,other127440.release_f)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this127439__$1.__extmap,other127440.__extmap)))))))))));
3471
+ }));
3472
+
3473
+ (cljs_node_io.fs.LockFile.prototype.cljs$core$IMap$_dissoc$arity$2 = (function (this__5310__auto__,k__5311__auto__){
3474
+ var self__ = this;
3475
+ var this__5310__auto____$1 = this;
3476
+ if(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"release-f","release-f",-905398075),null,new cljs.core.Keyword(null,"locked?","locked?",995448757),null,new cljs.core.Keyword(null,"lock-file-path","lock-file-path",-1946648355),null], null), null),k__5311__auto__)){
3477
+ return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5310__auto____$1),self__.__meta),k__5311__auto__);
3478
+ } else {
3479
+ return (new cljs_node_io.fs.LockFile(self__.lock_file_path,self__.locked_QMARK_,self__.release_f,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5311__auto__)),null));
3480
+ }
3481
+ }));
3482
+
3483
+ (cljs_node_io.fs.LockFile.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = (function (this__5307__auto__,k127438){
3484
+ var self__ = this;
3485
+ var this__5307__auto____$1 = this;
3486
+ var G__127456 = k127438;
3487
+ var G__127456__$1 = (((G__127456 instanceof cljs.core.Keyword))?G__127456.fqn:null);
3488
+ switch (G__127456__$1) {
3489
+ case "lock-file-path":
3490
+ case "locked?":
3491
+ case "release-f":
3492
+ return true;
3493
+
3494
+ break;
3495
+ default:
3496
+ return cljs.core.contains_QMARK_(self__.__extmap,k127438);
3497
+
3498
+ }
3499
+ }));
3500
+
3501
+ (cljs_node_io.fs.LockFile.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (this__5308__auto__,k__5309__auto__,G__127437){
3502
+ var self__ = this;
3503
+ var this__5308__auto____$1 = this;
3504
+ var pred__127457 = cljs.core.keyword_identical_QMARK_;
3505
+ var expr__127458 = k__5309__auto__;
3506
+ if(cljs.core.truth_((pred__127457.cljs$core$IFn$_invoke$arity$2 ? pred__127457.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"lock-file-path","lock-file-path",-1946648355),expr__127458) : pred__127457.call(null, new cljs.core.Keyword(null,"lock-file-path","lock-file-path",-1946648355),expr__127458)))){
3507
+ return (new cljs_node_io.fs.LockFile(G__127437,self__.locked_QMARK_,self__.release_f,self__.__meta,self__.__extmap,null));
3508
+ } else {
3509
+ if(cljs.core.truth_((pred__127457.cljs$core$IFn$_invoke$arity$2 ? pred__127457.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"locked?","locked?",995448757),expr__127458) : pred__127457.call(null, new cljs.core.Keyword(null,"locked?","locked?",995448757),expr__127458)))){
3510
+ return (new cljs_node_io.fs.LockFile(self__.lock_file_path,G__127437,self__.release_f,self__.__meta,self__.__extmap,null));
3511
+ } else {
3512
+ if(cljs.core.truth_((pred__127457.cljs$core$IFn$_invoke$arity$2 ? pred__127457.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"release-f","release-f",-905398075),expr__127458) : pred__127457.call(null, new cljs.core.Keyword(null,"release-f","release-f",-905398075),expr__127458)))){
3513
+ return (new cljs_node_io.fs.LockFile(self__.lock_file_path,self__.locked_QMARK_,G__127437,self__.__meta,self__.__extmap,null));
3514
+ } else {
3515
+ return (new cljs_node_io.fs.LockFile(self__.lock_file_path,self__.locked_QMARK_,self__.release_f,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5309__auto__,G__127437),null));
3516
+ }
3517
+ }
3518
+ }
3519
+ }));
3520
+
3521
+ (cljs_node_io.fs.LockFile.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (this__5313__auto__){
3522
+ var self__ = this;
3523
+ var this__5313__auto____$1 = this;
3524
+ return cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,"lock-file-path","lock-file-path",-1946648355),self__.lock_file_path,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,"locked?","locked?",995448757),self__.locked_QMARK_,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,"release-f","release-f",-905398075),self__.release_f,null))], null),self__.__extmap));
3525
+ }));
3526
+
3527
+ (cljs_node_io.fs.LockFile.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (this__5299__auto__,G__127437){
3528
+ var self__ = this;
3529
+ var this__5299__auto____$1 = this;
3530
+ return (new cljs_node_io.fs.LockFile(self__.lock_file_path,self__.locked_QMARK_,self__.release_f,G__127437,self__.__extmap,self__.__hash));
3531
+ }));
3532
+
3533
+ (cljs_node_io.fs.LockFile.prototype.cljs$core$ICollection$_conj$arity$2 = (function (this__5305__auto__,entry__5306__auto__){
3534
+ var self__ = this;
3535
+ var this__5305__auto____$1 = this;
3536
+ if(cljs.core.vector_QMARK_(entry__5306__auto__)){
3537
+ return this__5305__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null, cljs.core._nth(entry__5306__auto__,(0)),cljs.core._nth(entry__5306__auto__,(1)));
3538
+ } else {
3539
+ return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5305__auto____$1,entry__5306__auto__);
3540
+ }
3541
+ }));
3542
+
3543
+ (cljs_node_io.fs.LockFile.getBasis = (function (){
3544
+ return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"lock-file-path","lock-file-path",-306116828,null),new cljs.core.Symbol(null,"locked?","locked?",-1658987012,null),new cljs.core.Symbol(null,"release-f","release-f",735133452,null)], null);
3545
+ }));
3546
+
3547
+ (cljs_node_io.fs.LockFile.cljs$lang$type = true);
3548
+
3549
+ (cljs_node_io.fs.LockFile.cljs$lang$ctorPrSeq = (function (this__5346__auto__){
3550
+ return (new cljs.core.List(null,"cljs-node-io.fs/LockFile",null,(1),null));
3551
+ }));
3552
+
3553
+ (cljs_node_io.fs.LockFile.cljs$lang$ctorPrWriter = (function (this__5346__auto__,writer__5347__auto__){
3554
+ return cljs.core._write(writer__5347__auto__,"cljs-node-io.fs/LockFile");
3555
+ }));
3556
+
3557
+ /**
3558
+ * Positional factory function for cljs-node-io.fs/LockFile.
3559
+ */
3560
+ cljs_node_io.fs.__GT_LockFile = (function cljs_node_io$fs$__GT_LockFile(lock_file_path,locked_QMARK_,release_f){
3561
+ return (new cljs_node_io.fs.LockFile(lock_file_path,locked_QMARK_,release_f,null,null,null));
3562
+ });
3563
+
3564
+ /**
3565
+ * Factory function for cljs-node-io.fs/LockFile, taking a map of keywords to field values.
3566
+ */
3567
+ cljs_node_io.fs.map__GT_LockFile = (function cljs_node_io$fs$map__GT_LockFile(G__127444){
3568
+ var extmap__5342__auto__ = (function (){var G__127461 = cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__127444,new cljs.core.Keyword(null,"lock-file-path","lock-file-path",-1946648355),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"locked?","locked?",995448757),new cljs.core.Keyword(null,"release-f","release-f",-905398075)], 0));
3569
+ if(cljs.core.record_QMARK_(G__127444)){
3570
+ return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__127461);
3571
+ } else {
3572
+ return G__127461;
3573
+ }
3574
+ })();
3575
+ return (new cljs_node_io.fs.LockFile(new cljs.core.Keyword(null,"lock-file-path","lock-file-path",-1946648355).cljs$core$IFn$_invoke$arity$1(G__127444),new cljs.core.Keyword(null,"locked?","locked?",995448757).cljs$core$IFn$_invoke$arity$1(G__127444),new cljs.core.Keyword(null,"release-f","release-f",-905398075).cljs$core$IFn$_invoke$arity$1(G__127444),null,cljs.core.not_empty(extmap__5342__auto__),null));
3576
+ });
3577
+
3578
+ cljs_node_io.fs.lock_path = (function cljs_node_io$fs$lock_path(pathstr){
3579
+ return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(pathstr),".LOCK"].join('');
3580
+ });
3581
+ /**
3582
+ * Attempts to synchronously open a lock-file exclusively. This prevents
3583
+ * future openings until the holding lock has been released, thereby can
3584
+ * use to prevent reads and writes within a process.
3585
+ * If a lock is already held, will throw
3586
+ * @param {string} pathstr :: the file you want to lock
3587
+ * @return {LockFile} record with .release() method to unlock the file
3588
+ */
3589
+ cljs_node_io.fs.lock_file = (function cljs_node_io$fs$lock_file(pathstr){
3590
+ var lock_file_path = cljs_node_io.fs.lock_path(pathstr);
3591
+ var lock_fd = (function (){try{return cljs_node_io.fs.open.cljs$core$IFn$_invoke$arity$2(lock_file_path,"wx+");
3592
+ }catch (e127466){if((e127466 instanceof Error)){
3593
+ var e = e127466;
3594
+ throw (new Error(["Failed to acquire lock for path: '",cljs.core.str.cljs$core$IFn$_invoke$arity$1(pathstr),"':\n",cljs.core.str.cljs$core$IFn$_invoke$arity$1(e.message)].join('')));
3595
+ } else {
3596
+ throw e127466;
3597
+
3598
+ }
3599
+ }})();
3600
+ var locked_QMARK_ = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(true);
3601
+ var release = (function (){
3602
+ if(cljs.core.deref(locked_QMARK_)){
3603
+ cljs_node_io.fs.fs.closeSync(lock_fd);
3604
+
3605
+ cljs_node_io.fs.fs.unlinkSync(lock_file_path);
3606
+
3607
+ return cljs.core.reset_BANG_(locked_QMARK_,false);
3608
+ } else {
3609
+ return null;
3610
+ }
3611
+ });
3612
+ return (new cljs_node_io.fs.LockFile(lock_file_path,locked_QMARK_,release,null,null,null));
3613
+ });
3614
+
3615
+ /**
3616
+ * @constructor
3617
+ * @implements {cljs.core.IRecord}
3618
+ * @implements {cljs.core.IKVReduce}
3619
+ * @implements {cljs.core.IEquiv}
3620
+ * @implements {cljs.core.IHash}
3621
+ * @implements {cljs.core.ICollection}
3622
+ * @implements {cljs.core.ICounted}
3623
+ * @implements {cljs.core.ISeqable}
3624
+ * @implements {cljs.core.IMeta}
3625
+ * @implements {cljs.core.ICloneable}
3626
+ * @implements {cljs.core.IPrintWithWriter}
3627
+ * @implements {cljs.core.IIterable}
3628
+ * @implements {cljs.core.IWithMeta}
3629
+ * @implements {cljs.core.IAssociative}
3630
+ * @implements {cljs.core.IMap}
3631
+ * @implements {cljs.core.ILookup}
3632
+ */
3633
+ cljs_node_io.fs.AsyncLockFile = (function (lock_file_path,locked_QMARK_,release_f,__meta,__extmap,__hash){
3634
+ this.lock_file_path = lock_file_path;
3635
+ this.locked_QMARK_ = locked_QMARK_;
3636
+ this.release_f = release_f;
3637
+ this.__meta = __meta;
3638
+ this.__extmap = __extmap;
3639
+ this.__hash = __hash;
3640
+ this.cljs$lang$protocol_mask$partition0$ = 2230716170;
3641
+ this.cljs$lang$protocol_mask$partition1$ = 139264;
3642
+ });
3643
+ (cljs_node_io.fs.AsyncLockFile.prototype.isValid = (function (){
3644
+ var self__ = this;
3645
+ var this$ = this;
3646
+ return cljs.core.deref(self__.locked_QMARK_);
3647
+ }));
3648
+
3649
+ (cljs_node_io.fs.AsyncLockFile.prototype.release = (function (){
3650
+ var self__ = this;
3651
+ var this$ = this;
3652
+ return (self__.release_f.cljs$core$IFn$_invoke$arity$0 ? self__.release_f.cljs$core$IFn$_invoke$arity$0() : self__.release_f.call(null, ));
3653
+ }));
3654
+
3655
+ (cljs_node_io.fs.AsyncLockFile.prototype.close = (function (){
3656
+ var self__ = this;
3657
+ var this$ = this;
3658
+ return (self__.release_f.cljs$core$IFn$_invoke$arity$0 ? self__.release_f.cljs$core$IFn$_invoke$arity$0() : self__.release_f.call(null, ));
3659
+ }));
3660
+
3661
+ (cljs_node_io.fs.AsyncLockFile.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (this__5300__auto__,k__5301__auto__){
3662
+ var self__ = this;
3663
+ var this__5300__auto____$1 = this;
3664
+ return this__5300__auto____$1.cljs$core$ILookup$_lookup$arity$3(null, k__5301__auto__,null);
3665
+ }));
3666
+
3667
+ (cljs_node_io.fs.AsyncLockFile.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (this__5302__auto__,k127468,else__5303__auto__){
3668
+ var self__ = this;
3669
+ var this__5302__auto____$1 = this;
3670
+ var G__127472 = k127468;
3671
+ var G__127472__$1 = (((G__127472 instanceof cljs.core.Keyword))?G__127472.fqn:null);
3672
+ switch (G__127472__$1) {
3673
+ case "lock-file-path":
3674
+ return self__.lock_file_path;
3675
+
3676
+ break;
3677
+ case "locked?":
3678
+ return self__.locked_QMARK_;
3679
+
3680
+ break;
3681
+ case "release-f":
3682
+ return self__.release_f;
3683
+
3684
+ break;
3685
+ default:
3686
+ return cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k127468,else__5303__auto__);
3687
+
3688
+ }
3689
+ }));
3690
+
3691
+ (cljs_node_io.fs.AsyncLockFile.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 = (function (this__5320__auto__,f__5321__auto__,init__5322__auto__){
3692
+ var self__ = this;
3693
+ var this__5320__auto____$1 = this;
3694
+ return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5323__auto__,p__127473){
3695
+ var vec__127474 = p__127473;
3696
+ var k__5324__auto__ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__127474,(0),null);
3697
+ var v__5325__auto__ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__127474,(1),null);
3698
+ return (f__5321__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5321__auto__.cljs$core$IFn$_invoke$arity$3(ret__5323__auto__,k__5324__auto__,v__5325__auto__) : f__5321__auto__.call(null, ret__5323__auto__,k__5324__auto__,v__5325__auto__));
3699
+ }),init__5322__auto__,this__5320__auto____$1);
3700
+ }));
3701
+
3702
+ (cljs_node_io.fs.AsyncLockFile.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (this__5315__auto__,writer__5316__auto__,opts__5317__auto__){
3703
+ var self__ = this;
3704
+ var this__5315__auto____$1 = this;
3705
+ var pr_pair__5318__auto__ = (function (keyval__5319__auto__){
3706
+ return cljs.core.pr_sequential_writer(writer__5316__auto__,cljs.core.pr_writer,""," ","",opts__5317__auto__,keyval__5319__auto__);
3707
+ });
3708
+ return cljs.core.pr_sequential_writer(writer__5316__auto__,pr_pair__5318__auto__,"#cljs-node-io.fs.AsyncLockFile{",", ","}",opts__5317__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"lock-file-path","lock-file-path",-1946648355),self__.lock_file_path],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"locked?","locked?",995448757),self__.locked_QMARK_],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"release-f","release-f",-905398075),self__.release_f],null))], null),self__.__extmap));
3709
+ }));
3710
+
3711
+ (cljs_node_io.fs.AsyncLockFile.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (G__127467){
3712
+ var self__ = this;
3713
+ var G__127467__$1 = this;
3714
+ return (new cljs.core.RecordIter((0),G__127467__$1,3,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"lock-file-path","lock-file-path",-1946648355),new cljs.core.Keyword(null,"locked?","locked?",995448757),new cljs.core.Keyword(null,"release-f","release-f",-905398075)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));
3715
+ }));
3716
+
3717
+ (cljs_node_io.fs.AsyncLockFile.prototype.cljs$core$IMeta$_meta$arity$1 = (function (this__5298__auto__){
3718
+ var self__ = this;
3719
+ var this__5298__auto____$1 = this;
3720
+ return self__.__meta;
3721
+ }));
3722
+
3723
+ (cljs_node_io.fs.AsyncLockFile.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (this__5295__auto__){
3724
+ var self__ = this;
3725
+ var this__5295__auto____$1 = this;
3726
+ return (new cljs_node_io.fs.AsyncLockFile(self__.lock_file_path,self__.locked_QMARK_,self__.release_f,self__.__meta,self__.__extmap,self__.__hash));
3727
+ }));
3728
+
3729
+ (cljs_node_io.fs.AsyncLockFile.prototype.cljs$core$ICounted$_count$arity$1 = (function (this__5304__auto__){
3730
+ var self__ = this;
3731
+ var this__5304__auto____$1 = this;
3732
+ return (3 + cljs.core.count(self__.__extmap));
3733
+ }));
3734
+
3735
+ (cljs_node_io.fs.AsyncLockFile.prototype.cljs$core$IHash$_hash$arity$1 = (function (this__5296__auto__){
3736
+ var self__ = this;
3737
+ var this__5296__auto____$1 = this;
3738
+ var h__5111__auto__ = self__.__hash;
3739
+ if((!((h__5111__auto__ == null)))){
3740
+ return h__5111__auto__;
3741
+ } else {
3742
+ var h__5111__auto____$1 = (function (coll__5297__auto__){
3743
+ return (623229749 ^ cljs.core.hash_unordered_coll(coll__5297__auto__));
3744
+ })(this__5296__auto____$1);
3745
+ (self__.__hash = h__5111__auto____$1);
3746
+
3747
+ return h__5111__auto____$1;
3748
+ }
3749
+ }));
3750
+
3751
+ (cljs_node_io.fs.AsyncLockFile.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (this127469,other127470){
3752
+ var self__ = this;
3753
+ var this127469__$1 = this;
3754
+ return (((!((other127470 == null)))) && ((((this127469__$1.constructor === other127470.constructor)) && (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this127469__$1.lock_file_path,other127470.lock_file_path)) && (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this127469__$1.locked_QMARK_,other127470.locked_QMARK_)) && (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this127469__$1.release_f,other127470.release_f)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this127469__$1.__extmap,other127470.__extmap)))))))))));
3755
+ }));
3756
+
3757
+ (cljs_node_io.fs.AsyncLockFile.prototype.cljs$core$IMap$_dissoc$arity$2 = (function (this__5310__auto__,k__5311__auto__){
3758
+ var self__ = this;
3759
+ var this__5310__auto____$1 = this;
3760
+ if(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"release-f","release-f",-905398075),null,new cljs.core.Keyword(null,"locked?","locked?",995448757),null,new cljs.core.Keyword(null,"lock-file-path","lock-file-path",-1946648355),null], null), null),k__5311__auto__)){
3761
+ return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5310__auto____$1),self__.__meta),k__5311__auto__);
3762
+ } else {
3763
+ return (new cljs_node_io.fs.AsyncLockFile(self__.lock_file_path,self__.locked_QMARK_,self__.release_f,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5311__auto__)),null));
3764
+ }
3765
+ }));
3766
+
3767
+ (cljs_node_io.fs.AsyncLockFile.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = (function (this__5307__auto__,k127468){
3768
+ var self__ = this;
3769
+ var this__5307__auto____$1 = this;
3770
+ var G__127477 = k127468;
3771
+ var G__127477__$1 = (((G__127477 instanceof cljs.core.Keyword))?G__127477.fqn:null);
3772
+ switch (G__127477__$1) {
3773
+ case "lock-file-path":
3774
+ case "locked?":
3775
+ case "release-f":
3776
+ return true;
3777
+
3778
+ break;
3779
+ default:
3780
+ return cljs.core.contains_QMARK_(self__.__extmap,k127468);
3781
+
3782
+ }
3783
+ }));
3784
+
3785
+ (cljs_node_io.fs.AsyncLockFile.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (this__5308__auto__,k__5309__auto__,G__127467){
3786
+ var self__ = this;
3787
+ var this__5308__auto____$1 = this;
3788
+ var pred__127479 = cljs.core.keyword_identical_QMARK_;
3789
+ var expr__127480 = k__5309__auto__;
3790
+ if(cljs.core.truth_((pred__127479.cljs$core$IFn$_invoke$arity$2 ? pred__127479.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"lock-file-path","lock-file-path",-1946648355),expr__127480) : pred__127479.call(null, new cljs.core.Keyword(null,"lock-file-path","lock-file-path",-1946648355),expr__127480)))){
3791
+ return (new cljs_node_io.fs.AsyncLockFile(G__127467,self__.locked_QMARK_,self__.release_f,self__.__meta,self__.__extmap,null));
3792
+ } else {
3793
+ if(cljs.core.truth_((pred__127479.cljs$core$IFn$_invoke$arity$2 ? pred__127479.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"locked?","locked?",995448757),expr__127480) : pred__127479.call(null, new cljs.core.Keyword(null,"locked?","locked?",995448757),expr__127480)))){
3794
+ return (new cljs_node_io.fs.AsyncLockFile(self__.lock_file_path,G__127467,self__.release_f,self__.__meta,self__.__extmap,null));
3795
+ } else {
3796
+ if(cljs.core.truth_((pred__127479.cljs$core$IFn$_invoke$arity$2 ? pred__127479.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"release-f","release-f",-905398075),expr__127480) : pred__127479.call(null, new cljs.core.Keyword(null,"release-f","release-f",-905398075),expr__127480)))){
3797
+ return (new cljs_node_io.fs.AsyncLockFile(self__.lock_file_path,self__.locked_QMARK_,G__127467,self__.__meta,self__.__extmap,null));
3798
+ } else {
3799
+ return (new cljs_node_io.fs.AsyncLockFile(self__.lock_file_path,self__.locked_QMARK_,self__.release_f,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5309__auto__,G__127467),null));
3800
+ }
3801
+ }
3802
+ }
3803
+ }));
3804
+
3805
+ (cljs_node_io.fs.AsyncLockFile.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (this__5313__auto__){
3806
+ var self__ = this;
3807
+ var this__5313__auto____$1 = this;
3808
+ return cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,"lock-file-path","lock-file-path",-1946648355),self__.lock_file_path,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,"locked?","locked?",995448757),self__.locked_QMARK_,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,"release-f","release-f",-905398075),self__.release_f,null))], null),self__.__extmap));
3809
+ }));
3810
+
3811
+ (cljs_node_io.fs.AsyncLockFile.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (this__5299__auto__,G__127467){
3812
+ var self__ = this;
3813
+ var this__5299__auto____$1 = this;
3814
+ return (new cljs_node_io.fs.AsyncLockFile(self__.lock_file_path,self__.locked_QMARK_,self__.release_f,G__127467,self__.__extmap,self__.__hash));
3815
+ }));
3816
+
3817
+ (cljs_node_io.fs.AsyncLockFile.prototype.cljs$core$ICollection$_conj$arity$2 = (function (this__5305__auto__,entry__5306__auto__){
3818
+ var self__ = this;
3819
+ var this__5305__auto____$1 = this;
3820
+ if(cljs.core.vector_QMARK_(entry__5306__auto__)){
3821
+ return this__5305__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null, cljs.core._nth(entry__5306__auto__,(0)),cljs.core._nth(entry__5306__auto__,(1)));
3822
+ } else {
3823
+ return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5305__auto____$1,entry__5306__auto__);
3824
+ }
3825
+ }));
3826
+
3827
+ (cljs_node_io.fs.AsyncLockFile.getBasis = (function (){
3828
+ return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"lock-file-path","lock-file-path",-306116828,null),new cljs.core.Symbol(null,"locked?","locked?",-1658987012,null),new cljs.core.Symbol(null,"release-f","release-f",735133452,null)], null);
3829
+ }));
3830
+
3831
+ (cljs_node_io.fs.AsyncLockFile.cljs$lang$type = true);
3832
+
3833
+ (cljs_node_io.fs.AsyncLockFile.cljs$lang$ctorPrSeq = (function (this__5346__auto__){
3834
+ return (new cljs.core.List(null,"cljs-node-io.fs/AsyncLockFile",null,(1),null));
3835
+ }));
3836
+
3837
+ (cljs_node_io.fs.AsyncLockFile.cljs$lang$ctorPrWriter = (function (this__5346__auto__,writer__5347__auto__){
3838
+ return cljs.core._write(writer__5347__auto__,"cljs-node-io.fs/AsyncLockFile");
3839
+ }));
3840
+
3841
+ /**
3842
+ * Positional factory function for cljs-node-io.fs/AsyncLockFile.
3843
+ */
3844
+ cljs_node_io.fs.__GT_AsyncLockFile = (function cljs_node_io$fs$__GT_AsyncLockFile(lock_file_path,locked_QMARK_,release_f){
3845
+ return (new cljs_node_io.fs.AsyncLockFile(lock_file_path,locked_QMARK_,release_f,null,null,null));
3846
+ });
3847
+
3848
+ /**
3849
+ * Factory function for cljs-node-io.fs/AsyncLockFile, taking a map of keywords to field values.
3850
+ */
3851
+ cljs_node_io.fs.map__GT_AsyncLockFile = (function cljs_node_io$fs$map__GT_AsyncLockFile(G__127471){
3852
+ var extmap__5342__auto__ = (function (){var G__127485 = cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__127471,new cljs.core.Keyword(null,"lock-file-path","lock-file-path",-1946648355),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"locked?","locked?",995448757),new cljs.core.Keyword(null,"release-f","release-f",-905398075)], 0));
3853
+ if(cljs.core.record_QMARK_(G__127471)){
3854
+ return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__127485);
3855
+ } else {
3856
+ return G__127485;
3857
+ }
3858
+ })();
3859
+ return (new cljs_node_io.fs.AsyncLockFile(new cljs.core.Keyword(null,"lock-file-path","lock-file-path",-1946648355).cljs$core$IFn$_invoke$arity$1(G__127471),new cljs.core.Keyword(null,"locked?","locked?",995448757).cljs$core$IFn$_invoke$arity$1(G__127471),new cljs.core.Keyword(null,"release-f","release-f",-905398075).cljs$core$IFn$_invoke$arity$1(G__127471),null,cljs.core.not_empty(extmap__5342__auto__),null));
3860
+ });
3861
+
3862
+ /**
3863
+ * Attempts to asynchronously open a lock-file exclusively. This prevents
3864
+ * future openings until the holding lock has been released, thereby can
3865
+ * use to prevent reads and writes within a process.
3866
+ * A yielded err indicates a failure to obtain a lock, & AsyncLockFile is a
3867
+ * record with .release() method to unlock the file, returning a promise-chan
3868
+ * yielding [?err]
3869
+ * @param {string} pathstr :: the file you want to lock
3870
+ * @return {Channel} yielding [?err ?AsyncLockFile]
3871
+ */
3872
+ cljs_node_io.fs.alock_file = (function cljs_node_io$fs$alock_file(pathstr){
3873
+ var out = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
3874
+ var lock_file_path_127734 = cljs_node_io.fs.lock_path(pathstr);
3875
+ cljs_node_io.fs.fs.open(lock_file_path_127734,"wx+",(function (_QMARK_err,lock_fd){
3876
+ if((!((_QMARK_err == null)))){
3877
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [_QMARK_err], null));
3878
+ } else {
3879
+ var locked_QMARK_ = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(true);
3880
+ var release = (function (){
3881
+ var out__$1 = cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
3882
+ if(cljs.core.not(cljs.core.deref(locked_QMARK_))){
3883
+ cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out__$1,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [null], null));
3884
+ } else {
3885
+ cljs_node_io.fs.fs.close(lock_fd,(function (_QMARK_err__$1){
3886
+ if((!((_QMARK_err__$1 == null)))){
3887
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out__$1,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [_QMARK_err__$1], null));
3888
+ } else {
3889
+ return cljs_node_io.fs.fs.unlink(lock_file_path_127734,(function (_QMARK_err__$2){
3890
+ if((!((_QMARK_err__$2 == null)))){
3891
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out__$1,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [_QMARK_err__$2], null));
3892
+ } else {
3893
+ cljs.core.reset_BANG_(locked_QMARK_,false);
3894
+
3895
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out__$1,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [null], null));
3896
+ }
3897
+ }));
3898
+ }
3899
+ }));
3900
+ }
3901
+
3902
+ return out__$1;
3903
+ });
3904
+ return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(out,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,(new cljs_node_io.fs.AsyncLockFile(lock_file_path_127734,locked_QMARK_,release,null,null,null))], null));
3905
+ }
3906
+ }));
3907
+
3908
+ return out;
3909
+ });
3910
+
3911
+ //# sourceMappingURL=cljs_node_io.fs.js.map