... | ... |
@@ -18,27 +18,21 @@ |
18 | 18 |
[x] |
19 | 19 |
(assoc x :license-notice ogl-notice)) |
20 | 20 |
|
21 |
-(def spells |
|
22 |
- (-> "5e-database/5e-SRD-Spells.json" |
|
23 |
- rc/inline |
|
24 |
- (#(.parse js/JSON %)) |
|
25 |
- (js->clj :keywordize-keys true) |
|
26 |
- (as-> s (map add-ogl-notice s)))) |
|
27 |
- |
|
21 |
+(def srd-data {:spells (rc/inline "5e-database/5e-SRD-Spells.json") |
|
22 |
+ :equipment (rc/inline "5e-database/5e-SRD-Equipment.json")}) |
|
28 | 23 |
|
29 |
-(def equipment |
|
30 |
- (-> "5e-database/5e-SRD-Equipment.json" |
|
31 |
- rc/inline |
|
32 |
- (#(.parse js/JSON %)) |
|
33 |
- (js->clj :keywordize-keys true) |
|
34 |
- (as-> s (map add-ogl-notice s)))) |
|
24 |
+(defn- parse-srd-data [raw-data] |
|
25 |
+ (as-> raw-data x |
|
26 |
+ (.parse js/JSON x) |
|
27 |
+ (js->clj x :keywordize-keys true) |
|
28 |
+ (map add-ogl-notice x))) |
|
35 | 29 |
|
30 |
+(defn- fmap [f m] (zipmap (keys m) (map f (vals m)))) |
|
36 | 31 |
|
37 | 32 |
(def default-db |
38 | 33 |
{:name "DMR" |
39 | 34 |
:cmdline {:current "" |
40 | 35 |
:selected-history nil |
41 | 36 |
:history []} |
42 |
- :spells spells |
|
43 |
- :equipment equipment |
|
37 |
+ :entities (fmap parse-srd-data srd-data) |
|
44 | 38 |
:license open-game-license}) |