diff --git a/src/ReactDOMServerNode.re b/src/ReactDOMServerNode.re index eea22122..6bdabed4 100644 --- a/src/ReactDOMServerNode.re +++ b/src/ReactDOMServerNode.re @@ -24,14 +24,15 @@ type options = { progressiveChunkSize: option(int), }; -type pipeableStream = { +type pipeableStream('a) = { /* Using empty object instead of Node.stream since Melange don't provide a binding to node's Stream (https://nodejs.org/api/stream.html) */ - pipe: Js.t({.}) => unit, + pipe: Js.t({..} as 'a) => unit, abort: unit => unit, }; [@mel.module "react-dom/server"] -external renderToPipeableStream: (React.element, options) => pipeableStream = +external renderToPipeableStream: + (React.element, options) => pipeableStream('a) = "renderToPipeableStream"; let renderToPipeableStream = diff --git a/src/ReactDOMServerNode.rei b/src/ReactDOMServerNode.rei index 2153fbfe..2301cc2c 100644 --- a/src/ReactDOMServerNode.rei +++ b/src/ReactDOMServerNode.rei @@ -24,9 +24,9 @@ type options = { progressiveChunkSize: option(int), }; -type pipeableStream = { +type pipeableStream('a) = { /* Using empty object instead of Node.stream since Melange don't provide a binding to node's Stream (https://nodejs.org/api/stream.html) */ - pipe: Js.t({.}) => unit, + pipe: Js.t({..} as 'a) => unit, abort: unit => unit, }; @@ -45,4 +45,4 @@ let renderToPipeableStream: ~progressiveChunkSize: int=?, React.element ) => - pipeableStream; + pipeableStream('a); diff --git a/test/ReactDOM__test.re b/test/ReactDOM__test.re index 73f770ad..7d82ad6e 100644 --- a/test/ReactDOM__test.re +++ b/test/ReactDOM__test.re @@ -53,7 +53,7 @@ describe("ReactDOM", () => { hasErrored := true; }, ); - let {pipe, abort: _}: ReactDOMServerNode.pipeableStream = + let {pipe, abort: _}: ReactDOMServerNode.pipeableStream(_) = ReactDOMServerNode.renderToPipeableStream(
"Hello world!"->React.string
, );