;; Copyright (c) James Reeves. All rights reserved. ;; The use and distribution terms for this software are covered by the Eclipse ;; Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) which ;; can be found in the file epl-v10.html at the root of this distribution. By ;; using this software in any fashion, you are agreeing to be bound by the ;; terms of this license. You must not remove this notice, or any other, from ;; this software. (ns compojure.map-utils "functions for manipulating maps.") (defn assoc-vec "Associate a key with a value. If the key already exists in the map, create a vector of values." [map key val] (assoc map key (if-let [cur (map key)] (if (vector? cur) (conj cur val) [cur val]) val)))