code.query.common

any

added in 3.0

(any x)

returns true for any value (any nil) => true (any ’_) => true

cursor?

added in 3.0

(cursor? ele)

checks if element is | (cursor? ’|) => true (cursor? ’_) => false

deletion?

added in 3.0

(deletion? ele)

checks if element has a delete meta (deletion? ’^:- a) => true (deletion? ’a) => false

expand-meta

added in 3.0

(expand-meta ele)

separates out the meta into individual flags

(meta (expand-meta ^:? ())) => {:? true}

(meta (expand-meta ^:+%? ())) => {:+ true, :? true, :% true}

find-index

added in 3.0

(find-index pred seq)(find-index pred [x & more :as seq] idx)

returns the index of the first occurrence (find-index #{2} ’(1 2 3 4)) => 1

finto

added in 3.0

(finto to from)

into but the right way for lists (finto () ’(1 2 3)) => ’(1 2 3)

insertion?

added in 3.0

(insertion? ele)

checks if element has an insert meta (insertion? ’^:+ a) => true (insertion? ’a) => false

none

added in 3.0

(none x)

returns false for any value (none nil) => false (none ’_) => false

prepare-deletion

added in 3.0

(prepare-deletion pattern)

removes extraneous symbols for deletion walk (prepare-deletion ’(+ a 2)) => ’(+ a 2)

(prepare-deletion ’(+ ^:+ a | 2)) => ’(+ 2)

prepare-insertion

added in 3.0

(prepare-insertion pattern)

removes extraneous symbols for deletion walk (prepare-insertion ’(+ a 2)) => ’(+ a 2)

(prepare-insertion ’(+ ^:+ a | ^:- b 2)) => ’(+ a 2)

prepare-query

added in 3.0

(prepare-query pattern)

removes extraneous symbols for query walk

(prepare-query ’(+ ^:+ a | ^:- b 2)) => ’(+ 2)

prewalk

added in 3.0

(prewalk f form)

helper function for changing elements eagerly

remove-items

added in 3.0

(remove-items pred pattern)

removes items from a form matching the predicate (remove-items #{1} ’(1 2 3 4)) => ’(2 3 4)

(remove-items #{1} ’(1 (1 (1 (1))))) => ’(((())))