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

Commit 6b8a0df

Browse files
committed
spread props for lowercase
1 parent 853c49e commit 6b8a0df

File tree

3 files changed

+14
-13
lines changed

3 files changed

+14
-13
lines changed

cli/reactjs_jsx_v4.ml

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -535,18 +535,7 @@ let transformLowercaseCall3 ~config mapper jsxExprLoc callExprLoc attrs
535535
]
536536
| nonEmptyProps ->
537537
let propsRecord =
538-
Exp.record
539-
(nonEmptyProps
540-
|> List.filter_map (fun (label, expression) ->
541-
match label with
542-
| Labelled txt | Optional txt ->
543-
Some
544-
( {txt = Lident txt; loc = Location.none},
545-
if isOptional label then
546-
Exp.attr (mapper.expr mapper expression) optionalAttr
547-
else mapper.expr mapper expression )
548-
| Nolabel -> None))
549-
None
538+
recordFromProps ~loc:Location.none ~removeKey:false nonEmptyProps
550539
in
551540
[
552541
(* "div" *)

tests/ppx/react/expected/lowercases.res.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,9 @@ let _ = ReactDOM.createDOMElementVariadic(
77
"div",
88
[ReactDOM.createDOMElementVariadic("p", [{React.string(x)}])],
99
)
10+
let _ = ReactDOM.createDOMElementVariadic("div", ~props=str, [])
11+
let _ = ReactDOM.createDOMElementVariadic("div", ~props={...str, x: "x"}, [])
12+
13+
// syntax error
14+
// let _ = <div x="x" {...str} />
15+
// let _ = <div {...str} {...str} />

tests/ppx/react/lowercases.res

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,10 @@
33
let _ = <div />
44
let _ = <div key="k" />
55
let _ = <div x />
6-
let _ = <div><p>{React.string(x)}</p></div>
6+
let _ = <div><p>{React.string(x)}</p></div>
7+
let _ = <div {...str} />
8+
let _ = <div {...str} x="x" />
9+
10+
// syntax error
11+
// let _ = <div x="x" {...str} />
12+
// let _ = <div {...str} {...str} />

0 commit comments

Comments
 (0)