Синтаксическая ошибка макроэкспонирования clojure.core / let - PullRequest
1 голос
/ 09 марта 2019

Я использую shadowcljs и пытаюсь создать мутацию на сервере, используя код, основанный на примере кода.У меня действительно маленькая мутация, которая всегда выдает эту ошибку.Почему это так?

[jchat.server-components.pathom-wrappers :refer [defmutation defresolver]]

(defmutation reset-users-db
             "Removes all users"
             []
             {::pc/output [:message]}
             {:message "ok"})

Синтаксическая ошибка макроэкспонирования clojure.core / let at (user.clj: 47: 1).ноль - не удалось: простой символ?at: [: bindings: form: local-symbol] spec:: clojure.core.specs.alpha / local-name nil - не удалось: вектор?at: [: bindings: form: seq-destructure] spec:: clojure.core.specs.alpha / seq-binding-form nil - не удалось: карта?at: [: bindings: form: map-destructure] spec:: clojure.core.specs.alpha / map-bindings nil - не удалось: map?at: [: bindings: form: map-destructure] spec:: clojure.core.specs.alpha / map-special-binding

Строка 47 - это defmutation начальная строка.

С macroexpand:

(macroexpand '(defmutation reset-users-db
                           "Removes all users"
                           []
                           {::pc/output [:message]}
                           {:message "ok"}))
=>
(do
 (com.wsscode.pathom.connect/defmutation
  reset-users-db
  [env__26870__auto__ params__26871__auto__]
  #:com.wsscode.pathom.connect{:output [:message]}
  (clojure.core/let [nil env__26870__auto__ nil params__26871__auto__] {:message "ok"}))
 (jchat.server-components.pathom-wrappers/register! reset-users-db))

1 Ответ

1 голос
/ 09 марта 2019

Благодаря тому, что Carcigenicate помог мне отладить и понять отладку, мы обнаружили, что для мутации требуется 2 в параметрах.

Например:

(defmutation reset-users-db
             "Removes all users"
             [env params]
             {::pc/output [:message]}
             (println "test"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...