summaryrefslogtreecommitdiff
path: root/compojure-3.2/src/compojure/map_utils.clj
diff options
context:
space:
mode:
Diffstat (limited to 'compojure-3.2/src/compojure/map_utils.clj')
-rwxr-xr-xcompojure-3.2/src/compojure/map_utils.clj21
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)))