File: rescript

package info (click to toggle)
ruby-rouge 4.7.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 6,844 kB
  • sloc: ruby: 38,489; sed: 2,071; perl: 152; makefile: 8
file content (26 lines) | stat: -rw-r--r-- 580 bytes parent folder | download | duplicates (3)
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
module Person = {
  type t = Teacher | Director | Student(string)

  let greeting = person =>
    switch person {
    | Teacher => "Hey Professor!"
    | Director => "Hello Director."
    | Student("Richard") => "Still here Ricky?"
    | Student(other) => "Hey, " ++ other ++ "."
    }
}

module Button = {
  @react.component
  let make = (~count: int, ~onClick) => {
    let times = switch count {
    | 1 => "once"
    | 2 => "twice"
    | n => Belt.Int.toString(n) ++ " times"
    }

    let msg = "Click me " ++ times

    <button onClick> {msg->React.string} </button>
  }
}