This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2024-02-14
Channels
- # ai (4)
- # babashka (4)
- # beginners (46)
- # biff (5)
- # calva (12)
- # clojure (6)
- # clojure-austin (13)
- # clojure-dev (27)
- # clojure-europe (62)
- # clojure-nl (1)
- # clojure-norway (17)
- # clojure-spec (2)
- # clojure-uk (12)
- # clojurescript (10)
- # cursive (3)
- # datahike (26)
- # datalevin (9)
- # datomic (7)
- # gratitude (4)
- # honeysql (9)
- # hyperfiddle (12)
- # instaparse (2)
- # lsp (65)
- # membrane (7)
- # missionary (2)
- # off-topic (8)
- # polylith (33)
- # portal (7)
- # quil (1)
- # re-frame (4)
- # reagent (18)
- # releases (3)
- # ring (3)
- # spacemacs (2)
- # specter (4)
Hi All, I am trying to write a spec for something that looks like this (similar to openapi schema)
responses:
200:
description: "foo"
content:
text/plain:
schema:
type: boolean
404:
description: "bar"
and I want to have a rule for both validating that the keys are valid http status codes, as well as the shape of the structure under the keys, and I am confounded on how to express it.
I have tried an approach like this
(defn http-status?
[status]
(and (int? status) (>= status 100) (< status 600)))
(s/def ::response (s/keys :opt-un [::description]))
(s/def ::responses (s/coll-of (s/and http-status? ::response)))
But it doesn’t quite work. Any suggestions appreciated.