Skip to content

Commit

Permalink
Adds dynamo-db.expressions namespace
Browse files Browse the repository at this point in the history
  • Loading branch information
dehli committed Feb 17, 2020
1 parent 9af2fb7 commit 8f92ab3
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 1 deletion.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

<groupId>dehli</groupId>
<artifactId>serverless</artifactId>
<version>0.1.33</version>
<version>0.1.34</version>
<name>serverless</name>

<dependencies>
Expand Down
25 changes: 25 additions & 0 deletions src/serverless/aws/dynamo_db/expressions.cljs
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
(ns aws.dynamo-db.expressions
(:require [clojure.string :refer [join replace]])
(:refer-clojure :exclude [replace]))

(defn- escape [v]
(-> v str (replace #"-" "") (replace #":" "")))

(defn ->attribute-name-key [v] (str "#" (escape v)))
(defn ->attribute-value-key [v] (str ":" (escape v)))

(defn ->set-expression [props]
(->> (keys props)
(map #(str (->attribute-name-key %) " = " (->attribute-value-key %)))
(join ", ")
(str "set ")))

(defn ->attribute-names [props]
(->> (keys props)
(map #(vector (->attribute-name-key %) %))
(into {})))

(defn ->attribute-values [props]
(->> (keys props)
(map #(vector (->attribute-value-key %) (get props %)))
(into {})))

0 comments on commit 8f92ab3

Please sign in to comment.