File tree Expand file tree Collapse file tree 2 files changed +18
-5
lines changed Expand file tree Collapse file tree 2 files changed +18
-5
lines changed Original file line number Diff line number Diff line change @@ -4,20 +4,25 @@ let ( /+ ) = Filename.concat
4
4
5
5
(* Returns a list of paths, relative to the provided `base` *)
6
6
let getSourceDirectories ~includeDev ~baseDir config =
7
- let open Infix in
8
7
let rec handleItem current item =
9
8
match item with
10
9
| Json. Array contents ->
11
10
List. map (handleItem current) contents |> List. concat
12
11
| Json. String text -> [current /+ text]
13
12
| Json. Object _ -> (
14
13
let dir =
15
- Json. get " dir" item |?> Json. string |? " Must specify directory"
14
+ Json. string
15
+ |> Option. bind (item |> Json. get " dir" )
16
+ |> Option. value ~default: " Must specify directory"
16
17
in
17
18
let typ =
18
19
if includeDev then " lib"
19
- else item |> Json. get " type" |?> Json. string |? " lib"
20
+ else
21
+ Json. string
22
+ |> Option. bind (item |> Json. get " type" )
23
+ |> Option. value ~default: " lib"
20
24
in
25
+
21
26
if typ = " dev" then []
22
27
else
23
28
match item |> Json. get " subdirs" with
@@ -191,12 +196,13 @@ let findDependencyFiles base config =
191
196
let open Infix in
192
197
let deps =
193
198
config |> Json. get " bs-dependencies" |?> Json. array |? []
194
- |> List. filter_map Json. string
199
+ |> List. filter_map Json. string
195
200
in
196
201
let devDeps =
197
202
config
198
203
|> Json. get " bs-dev-dependencies"
199
- |?> Json. array |? [] |> List. filter_map Json. string
204
+ |?> Json. array |? []
205
+ |> List. filter_map Json. string
200
206
in
201
207
let deps = deps @ devDeps in
202
208
Log. log (" Dependencies: " ^ String. concat " " deps);
Original file line number Diff line number Diff line change @@ -18,13 +18,20 @@ let itemToString item =
18
18
| Module (s , loc ) -> " Module " ^ s ^ " " ^ Loc. toString loc
19
19
| Value (s , loc ) -> " Value " ^ s ^ " " ^ Loc. toString loc
20
20
| Type (s , loc ) -> " Type " ^ s ^ " " ^ Loc. toString loc
21
+ [@@ live]
21
22
22
23
let create () : t = []
24
+
23
25
let addConstructor ~name ~loc x = Constructor (name, loc) :: x
26
+
24
27
let addField ~name ~loc x = Field (name, loc) :: x
28
+
25
29
let addModule ~name ~loc x = Module (name, loc) :: x
30
+
26
31
let addOpen ~lid x = Open (Utils. flattenLongIdent lid @ [" place holder" ]) :: x
32
+
27
33
let addValue ~name ~loc x = Value (name, loc) :: x
34
+
28
35
let addType ~name ~loc x = Type (name, loc) :: x
29
36
30
37
let iterValuesBeforeFirstOpen f x =
You can’t perform that action at this time.
0 commit comments