Skip to content

Commit

Permalink
Adds transit helper
Browse files Browse the repository at this point in the history
  • Loading branch information
dehli committed Aug 31, 2020
1 parent 2ae951e commit 31428da
Show file tree
Hide file tree
Showing 6 changed files with 34 additions and 5 deletions.
1 change: 1 addition & 0 deletions deps.edn
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
appliedscience/js-interop {:mvn/version "0.2.5"}
camel-snake-kebab {:mvn/version "0.4.1"}
cljs-bean {:mvn/version "1.6.0"}
com.cognitect/transit-cljs {:mvn/version "0.8.264"}
metosin/sieppari {:mvn/version "0.0.0-alpha13"}
tick {:mvn/version "0.4.26-alpha"}}

Expand Down
7 changes: 6 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>dehli</groupId>
<artifactId>serverless</artifactId>
<version>0.2.0</version>
<version>0.2.1</version>
<name>serverless</name>
<dependencies>
<dependency>
Expand All @@ -34,6 +34,11 @@
<artifactId>js-interop</artifactId>
<version>0.2.5</version>
</dependency>
<dependency>
<groupId>com.cognitect</groupId>
<artifactId>transit-cljs</artifactId>
<version>0.8.264</version>
</dependency>
<dependency>
<groupId>org.clojure</groupId>
<artifactId>clojurescript</artifactId>
Expand Down
2 changes: 2 additions & 0 deletions src/serverless/interceptors/core.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
(:require [serverless.interceptors.env :refer [assoc-env]]
[serverless.interceptors.event :refer [assoc-event]]
[serverless.interceptors.now :refer [assoc-now]]
[serverless.interceptors.raw-env :refer [assoc-raw-env]]
[serverless.interceptors.raw-event :refer [assoc-raw-event]]
[sieppari.core :as s]
[sieppari.async.core-async]))
Expand All @@ -13,5 +14,6 @@
(def common-interceptors
[assoc-raw-event
assoc-event
assoc-raw-env
assoc-env
assoc-now])
11 changes: 7 additions & 4 deletions src/serverless/interceptors/env.cljs
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
(ns serverless.interceptors.env
(:require [applied-science.js-interop :as j]
[camel-snake-kebab.core :as csk]
(:require [camel-snake-kebab.core :as csk]
[camel-snake-kebab.extras :as cske]
[goog.object :as gobj]))

Expand All @@ -11,5 +10,9 @@

(def assoc-env
{:name :serverless/assoc-env
:enter #(assoc-in % [:request :serverless/env]
(env->hash-map (j/get js/process :env)))})
:enter (fn [context]
(assoc-in context
[:request :serverless/env]
(-> context
(get-in [:request :serverless/raw-env])
env->hash-map)))})
6 changes: 6 additions & 0 deletions src/serverless/interceptors/raw_env.cljs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
(ns serverless.interceptors.raw-env
(:require [applied-science.js-interop :as j]))

(def assoc-raw-env
{:name :serverless/assoc-raw-env
:enter #(assoc-in % [:request :serverless/raw-env] (j/get js/process :env))})
12 changes: 12 additions & 0 deletions src/serverless/transit.cljs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
(ns serverless.transit
(:require [cognitect.transit :as t])
(:refer-clojure :exclude [read]))

(def ^:private default-reader (t/reader :json))
(def ^:private default-writer (t/writer :json))

(defn read [x]
(t/read default-reader x))

(defn write [x]
(t/write default-writer x))

0 comments on commit 31428da

Please sign in to comment.