Skip to content

@bs.string and @bs.obj doesn't work together #2503

@thangngoc89

Description

@thangngoc89

When using @bs.string and @bs.obj together, I get an unexpected result. I think the code itself should self-explained

[@bs.obj] external makeProps: (~foo: [@bs.string] [ |`bar |`baz ] =?, unit) => _ = "";

let make = (~foo=?, _children) => {
 Js.log(
   makeProps(~foo?, ())
 ) 
};

make(~foo=`bar, ());

https://reasonml.github.io/en/try.html?reason=NoAQRgzgdA9mBWBdABAUwB4BdUCcB2AhgDbIC2BA1qgAo4wAOEAXMgBQB+AZjDC6JFAiYcASzwBzFMGQAfAAZgCOWQoIAvZCgC8AfgA0yAK54RmAJTItAPmQB9S8gBEjgNwAoN0VSYylVA45uGF0DWwBjAAsRIgATHFQ8C2tkAG83ZAApaCIYcVZ05F8qWgYIQJ59NjMzdIs3AF93D3IqcuDVHANWapcgA

The expected result should be {foo: "bar"}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions