package server-reason-react

  1. Overview
  2. Docs
Rendering React components on the server natively

Install

dune-project
 Dependency

Authors

Maintainers

Sources

server-reason-react-0.5.1.tbz
sha256=3972f64a3ec22b120b40137f74e7862629b2164e5bbf8b85489d4c7b8bc13288
sha512=24a52537c091c4b278ea5e468aa6786378f8b559ed2128e824b6f84f26c283856a30e7ef01aab6101087bd53b9bdc2ecd8152c00db10bccff67221b9c67318a0

doc/src/server-reason-react.js/Js_iterator.ml.html

Source file Js_iterator.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
(** JavaScript Iterator API *)

type 'a t = { mutable seq : 'a Seq.t }
type 'a value = { done_ : bool option; value : 'a option }

let make seq = { seq }

let next t =
  match t.seq () with
  | Seq.Nil ->
      (* JS iterators keep returning { done: true, value: undefined } after exhaustion *)
      t.seq <- Seq.empty;
      { done_ = Some true; value = None }
  | Seq.Cons (v, rest) ->
      t.seq <- rest;
      { done_ = Some false; value = Some v }

let toArray t =
  let arr = Stdlib.Array.of_seq t.seq in
  t.seq <- Seq.empty;
  arr

let toArrayWithMapper t ~f =
  let arr = Stdlib.Array.of_seq (Seq.map f t.seq) in
  t.seq <- Seq.empty;
  arr