rename x/just to x/first
This commit is contained in:
parent
378ea13118
commit
50587dd35e
1 changed files with 6 additions and 6 deletions
|
|
@ -1,7 +1,7 @@
|
||||||
(ns net.cgrand.xforms
|
(ns net.cgrand.xforms
|
||||||
"Extra transducers for Clojure"
|
"Extra transducers for Clojure"
|
||||||
{:author "Christophe Grand"}
|
{:author "Christophe Grand"}
|
||||||
(:refer-clojure :exclude [reduce into count for partition str juxt])
|
(:refer-clojure :exclude [reduce into count for partition str juxt first])
|
||||||
(:require [clojure.core :as clj]))
|
(:require [clojure.core :as clj]))
|
||||||
|
|
||||||
(defmacro for
|
(defmacro for
|
||||||
|
|
@ -36,7 +36,7 @@
|
||||||
(defmacro kvrf [name? & fn-bodies]
|
(defmacro kvrf [name? & fn-bodies]
|
||||||
(let [name (if (symbol? name?) name? (gensym '_))
|
(let [name (if (symbol? name?) name? (gensym '_))
|
||||||
fn-bodies (if (symbol? name?) fn-bodies (cons name? fn-bodies))
|
fn-bodies (if (symbol? name?) fn-bodies (cons name? fn-bodies))
|
||||||
fn-bodies (if (vector? (first fn-bodies)) (list fn-bodies) fn-bodies)]
|
fn-bodies (if (vector? (clj/first fn-bodies)) (list fn-bodies) fn-bodies)]
|
||||||
`(reify
|
`(reify
|
||||||
clojure.lang.Fn
|
clojure.lang.Fn
|
||||||
KvRfable
|
KvRfable
|
||||||
|
|
@ -290,7 +290,7 @@
|
||||||
([acc] (zipmap keys (f acc)))
|
([acc] (zipmap keys (f acc)))
|
||||||
([acc x] (f acc x)))))
|
([acc x] (f acc x)))))
|
||||||
|
|
||||||
(defn just
|
(defn first
|
||||||
"Reducing function that returns the first value or nil if none."
|
"Reducing function that returns the first value or nil if none."
|
||||||
([] nil)
|
([] nil)
|
||||||
([x] x)
|
([x] x)
|
||||||
|
|
@ -302,10 +302,10 @@
|
||||||
Returns a transducer when coll is omitted."
|
Returns a transducer when coll is omitted."
|
||||||
([xforms-map]
|
([xforms-map]
|
||||||
(let [[f args] (if (vector? xforms-map)
|
(let [[f args] (if (vector? xforms-map)
|
||||||
[juxt (map #(% just))]
|
[juxt (map #(% first))]
|
||||||
[juxt-map (comp (by-key (map #(% just))) cat)])]
|
[juxt-map (comp (by-key (map #(% first))) cat)])]
|
||||||
(fn [rf]
|
(fn [rf]
|
||||||
((reduce (apply f (sequence args xforms-map))) rf))))
|
((reduce (apply f (sequence args xforms-map))) rf))))
|
||||||
([xforms-map coll]
|
([xforms-map coll]
|
||||||
(transduce (transjuxt xforms-map) just coll)))
|
(transduce (transjuxt xforms-map) first coll)))
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue