This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-09-24
Channels
- # announcements (6)
- # architecture (9)
- # aws (2)
- # babashka (49)
- # beginners (160)
- # boot (19)
- # calva (9)
- # cider (16)
- # clj-kondo (17)
- # cljfx (9)
- # clojure (143)
- # clojure-australia (5)
- # clojure-berlin (1)
- # clojure-czech (3)
- # clojure-europe (64)
- # clojure-france (1)
- # clojure-italy (12)
- # clojure-nl (4)
- # clojure-spec (6)
- # clojure-uk (47)
- # clojurescript (27)
- # code-reviews (5)
- # conjure (45)
- # cursive (47)
- # datascript (2)
- # datomic (21)
- # events (1)
- # fulcro (9)
- # graalvm (4)
- # graphql (2)
- # jackdaw (22)
- # jobs (3)
- # kaocha (6)
- # london-clojurians (1)
- # luminus (4)
- # malli (19)
- # meander (136)
- # pathom (4)
- # pedestal (2)
- # re-frame (15)
- # reitit (2)
- # remote-jobs (2)
- # rum (12)
- # sci (1)
- # shadow-cljs (100)
- # spacemacs (10)
- # sql (1)
- # tools-deps (30)
- # vrac (1)
- # xtdb (30)
Having a weird issue:
(defattr id :network/id :int
{ao/identity? true
ao/pc-input #{:network/id}
ao/pc-output [:network/id :network/name :network/start :network/end :network/parent :network/site]
ao/pc-resolve (fn [_ {:keys [network/id] :as input}]
#?(:clj
(transform-network-data (solid/network-id (str id)))))})
(defattr network-name :network/name :string
{fo/field-label "Network Name"
ao/required? true
ao/pc-input #{:network/name}
ao/pc-output [:network/id :network/name :network/start :network/end :network/parent :network/site]
ao/pc-resolve (fn [_ {:keys [network/name]}]
#?(:clj
(transform-network-data (solid/network-name name))))})
(defattr all-networks :network/all-networks :ref
{ao/target :network/id
ao/pc-output [{:network/all-networks [:network/id]}]
ao/pc-resolve (fn [{:keys [query-params] :as env} _]
#?(:clj
{:network/all-networks (mapv #(Integer/parseInt (:subnet_id %)) (solid/network-all))}))})
With this in fulcro, I can run the query [:network/all-networks]
and get back the full list of ids ok. I can run the query [{[:network/id 33] [:network/name]}]
with no issues. But if I try to run a query like this: [{:network/all-networks [:network/name]}]
I get an error about contains? not supported on type Integer:
com.wsscode.pathom.core/map-reader core.cljc: 629
clojure.core/contains? core.clj: 1492
...
java.lang.IllegalArgumentException: contains? not supported on type: java.lang.Integer
What am I doing wrong?@michael819 the issue is in the value of :network/all-networks
, by looking at your code I guess its like this: {:netword/all-networks [1 2 3 4 ...]}
, but that's wrong, it needs to be {:netword/all-networks [{:network/id 1} {:network/id 2} {:network/id 3} ...]}
@wilkerlucio Perfect that fixed the issue.