1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/examples/with-reasonml/bindings/Next.re
Adam Lane 3d9564215c example with-reasonml dependency updates (#5048)
The original example fails to compile on my windows machine but updating bs-platform fixes that.
Depending on bs-next causes example to fail (package compiled with old incompatible version of bs-platform) so I have included it in a bindings directory where it can serve as an example of reason bindings.
Sources have been migrated to the latest reason-react.
2018-09-03 01:38:54 +02:00

38 lines
1.1 KiB
ReasonML

module Link = {
[@bs.module "next/link"] external link: ReasonReact.reactClass = "default";
let make =
(
~href=?,
~_as=?,
~prefetch: option(bool)=?,
~replace: option(bool)=?,
~shallow: option(bool)=?,
~passHref: option(bool)=?,
children,
) =>
ReasonReact.wrapJsForReason(
~reactClass=link,
~props=
Js.Undefined.{
"href": fromOption(href),
"as": fromOption(_as),
"prefetch": fromOption(prefetch),
"replace": fromOption(replace),
"shallow": fromOption(shallow),
"passHref": fromOption(passHref),
},
children,
);
};
module Head = {
[@bs.module "next/head"] external head: ReasonReact.reactClass = "default";
let make = children => ReasonReact.wrapJsForReason(~reactClass=head, ~props=Js.Obj.empty(), children);
};
module Error = {
[@bs.module "next/error"] external error: ReasonReact.reactClass = "default";
let make = (~statusCode: int, children) =>
ReasonReact.wrapJsForReason(~reactClass=error, ~props={"statusCode": statusCode}, children);
};