Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (ns threading-comparison
- (:require
- [swiss.arrows :refer [-<> some-<>]]))
- (defn schema-from-parameters
- "Given a seq of YAML parameter maps (containing string keys 'in' and 'schema'),
- returns a hash-map with keys (values of in) and values (values of schema). May return nil.
- EX: ({in body schema {...}}
- in header schema {...}})
- -> {:body {...JSON-SCHEMA...}
- :header {...YAML SCHEMA...}}"
- [parameters]
- (some-<> parameters
- (map #(list (get % "in") (get % "schema")) <>) ; (("body" "schema") ...)
- (filter (fn [[k v]] (some? v)) <>) ; return nil if no "schema"s present
- (into {} <>))) ; merge all found schemas into one map
- (defn schema-from-parameters
- [parameters]
- (some->> parameters
- (map #(list (get % "in") (get % "schema")) parameters) ; (("body" "schema") ...)
- (filter (fn [[k v]] (some? v))) ; return nil if no "schema"s present
- (into {}))) ; merge all found schemas into one map
- (defn schema-from-parameters
- [parameters]
- (let [x (map #(list (get % "in") (get % "schema")) parameters) ; (("body" "schema") ...)
- y (filter (fn [[k v]] (some? v)) x)] ; list of all maps with a "schema" present
- (some->> y
- (into {})))) ; merge into one result
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement