@@ -14,13 +14,11 @@ module MdxComp = {
14
14
type props
15
15
type t = Js .t <props > => React .element
16
16
17
- let render : t => React .element = %raw (
18
- `
17
+ let render : t => React .element = %raw (`
19
18
function (c ) {
20
19
return React .createElement (c, {});
21
20
}
22
- `
23
- )
21
+ ` )
24
22
25
23
/* @bs.get */
26
24
/* external frontmatter: t => Js.Json.t = "frontmatter" */
@@ -43,6 +41,15 @@ module Category = {
43
41
| Other => "Other"
44
42
}
45
43
44
+ let fromString = (s : string ): t => {
45
+ switch s {
46
+ | "decorators" => Decorators
47
+ | "controlflow" => ControlFlow
48
+ | "operators" => Operators
49
+ | _ => Other
50
+ }
51
+ }
52
+
46
53
@react.component
47
54
let make = (~title , ~children ) => {
48
55
<div >
@@ -54,6 +61,8 @@ module Category = {
54
61
}
55
62
}
56
63
64
+ // The data representing a syntax construct
65
+ // handled in the widget
57
66
type item = {
58
67
id : string ,
59
68
keywords : array <string >,
@@ -63,15 +72,6 @@ type item = {
63
72
component : MdxComp .t ,
64
73
}
65
74
66
- let toCategory = (s : string ): Category .t => {
67
- switch s {
68
- | "decorators" => Decorators
69
- | "controlflow" => ControlFlow
70
- | "operators" => Operators
71
- | _ => Other
72
- }
73
- }
74
-
75
75
let toItem = (syntaxData : syntaxData ): item => {
76
76
let file = syntaxData ["file" ]
77
77
let id = syntaxData ["id" ]
@@ -84,8 +84,8 @@ let toItem = (syntaxData: syntaxData): item => {
84
84
keywords : keywords ,
85
85
name : name ,
86
86
summary : summary ,
87
- category : toCategory (category ),
88
- component : requireSyntaxFile (file )
87
+ category : Category . fromString (category ),
88
+ component : requireSyntaxFile (file ),
89
89
}
90
90
item
91
91
}
@@ -200,9 +200,12 @@ let make = () => {
200
200
switch value {
201
201
| "" => ShowAll
202
202
| search =>
203
- let filtered = fuse -> Fuse .search (search )-> Belt .Array .map (m => {
204
- m ["item" ]
205
- })
203
+ let filtered =
204
+ fuse
205
+ -> Fuse .search (search )
206
+ -> Belt .Array .map (m => {
207
+ m ["item" ]
208
+ })
206
209
207
210
if Js .Array .length (filtered ) === 1 {
208
211
let item = Belt .Array .getExn (filtered , 0 )
@@ -249,7 +252,9 @@ let make = () => {
249
252
Js .Dict .set (acc , key , items )
250
253
acc
251
254
})
252
- })-> Js .Dict .entries -> Belt .Array .reduce ([], (acc , entry ) => {
255
+ })
256
+ -> Js .Dict .entries
257
+ -> Belt .Array .reduce ([], (acc , entry ) => {
253
258
let (title , items ) = entry
254
259
if Js .Array .length (items ) === 0 {
255
260
acc
0 commit comments