package melange

  1. Overview
  2. Docs
Toolchain to produce JS from Reason/OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

melange-5.1.0-53.tbz
sha256=f7aac30f3ba5feff8373e2164cdb5b38a59457cadfec74b564c2b62d035ca4a9
sha512=39a0b7430035b5355bad4f42fb07d719da56e457d78399fc34c38e5eeb6e5e5259f06a1209dc00325818e3dc1dd9a5988f6a25c106d2ee0ee2033ab9074791cd

doc/src/melange.js_parser/js_id.ml.html

Source file js_id.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
(*
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *)

external ( .!() ) : (int * int) array -> int -> int * int = "%array_unsafe_get"

let rec search (arr : _ array) (start : int) (finish : int) target =
  if start > finish then
    false
  else
    let mid = start + ((finish - start) / 2) in
    let (a, b) = arr.!(mid) in
    if target < a then
      search arr start (mid - 1) target
    else if target >= b then
      search arr (mid + 1) finish target
    else
      true

let is_valid_unicode_id (i : int) =
  search Js_id_unicode.id_continue 0 (Array.length Js_id_unicode.id_continue - 1) i
OCaml

Innovation. Community. Security.