We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents a383b1c + 41a70ab commit df55a10Copy full SHA for df55a10
src/graphql_builder/parser.clj
@@ -2,11 +2,19 @@
2
(:require [graphql-clj.parser :as parser]
3
[clojure.walk :as walk]
4
[graphql-clj.box :as box]
5
- [clojure.string :as str]))
+ [clojure.string :as str]
6
+ [clojure.java.io :as io]))
7
8
(defn parse [statement]
9
(walk/prewalk box/box->val (parser/parse statement)))
10
11
+(defn read-file [file]
12
+ (slurp
13
+ (condp instance? file
14
+ java.io.File file
15
+ java.net.URL file
16
+ (or (io/resource file) file))))
17
+
18
(defmacro defgraphql [name & files]
- (let [parsed (parse (str/join "\n" (map slurp files)))]
- `(def ~name ~parsed)))
19
+ `(let [parsed# (parse (str/join "\n" (map read-file [~@files])))]
20
+ (def ~name parsed#)))
0 commit comments