diff options
Diffstat (limited to 'compojure-3.2/src/compojure/map_utils.clj')
| -rwxr-xr-x | compojure-3.2/src/compojure/map_utils.clj | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/compojure-3.2/src/compojure/map_utils.clj b/compojure-3.2/src/compojure/map_utils.clj new file mode 100755 index 0000000..853c90c --- /dev/null +++ b/compojure-3.2/src/compojure/map_utils.clj @@ -0,0 +1,21 @@ +;; 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))) |
