Skip to content
This repository was archived by the owner on Jun 15, 2023. It is now read-only.

Commit 8bc3e5d

Browse files
committed
make type param label safe
1 parent bbb6398 commit 8bc3e5d

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

cli/reactjs_jsx_ppx.ml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1590,7 +1590,8 @@ module V4 = struct
15901590
let makePropsTypeParamsTvar namedTypeList =
15911591
namedTypeList
15921592
|> List.filter_map (fun (_isOptional, label, _, _interiorType) ->
1593-
if label = "key" || label = "ref" then None else Some (Typ.var label))
1593+
if label = "key" || label = "ref" then None
1594+
else Some (Typ.var @@ safeTypeFromValue (Labelled label)))
15941595

15951596
let stripOption coreType =
15961597
match coreType with
@@ -1622,8 +1623,10 @@ module V4 = struct
16221623
{txt = label; loc} interiorType
16231624
else if isOptional then
16241625
Type.field ~loc ~attrs:optionalAttr {txt = label; loc}
1625-
(Typ.var label)
1626-
else Type.field ~loc {txt = label; loc} (Typ.var label))
1626+
(Typ.var @@ safeTypeFromValue @@ Labelled label)
1627+
else
1628+
Type.field ~loc {txt = label; loc}
1629+
(Typ.var @@ safeTypeFromValue @@ Labelled label))
16271630

16281631
let makeTypeDecls propsName loc namedTypeList =
16291632
let labelDeclList = makeLabelDecls ~loc namedTypeList in

0 commit comments

Comments
 (0)