Skip to content

Instantly share code, notes, and snippets.

@frenchy64
Created August 31, 2016 09:10
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save frenchy64/85c1c812daf81d07a55dd3ff82e3b0fe to your computer and use it in GitHub Desktop.
Save frenchy64/85c1c812daf81d07a55dd3ff82e3b0fe to your computer and use it in GitHub Desktop.
spec demo
(ns runtime-infer-demo.server-port
{:lang :core.typed
:core.typed {:features #{:runtime-infer}}}
(:require [clojure.core.typed :as t]
[clojure.spec :as s]))
(deftest configure-server-port-test
(is
(= (->
(configure-server-port
{:client {:port 5566
:hostname "client"
:password "mysecret"}
:server {:hostname "server"
:password "theadmin"
:port 6666}}
7646)
(get-in [:server :port]))
7646)))
;; Start: Generated by clojure.core.typed - DO NOT EDIT
(s/def :keys102493/password string?)
(s/def :keys102493/hostname string?)
(s/def :keys102493/port int?)
(s/def
::alias__102469
(s/keys
:req-un
[:keys102493/password :keys102493/hostname :keys102493/port]))
(s/def
::alias__102476
(s/keys :req-un [::alias__102469 ::alias__102469]))
(s/fdef
configure-server-port
:args
(s/cat :alias__102476-0 ::alias__102476 :p int?)
:ret
::alias__102476)
;; End: Generated by clojure.core.typed - DO NOT EDIT
(defn configure-server-port [{:keys [server] :as c} p]
(assoc c :server (assoc server :port p)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment