Operand

consumer? no; user.

gram: drop

> ./ripple/src/lib.rs

Lenses
(coming soon!)


use wasm_bindgen::prelude::*;

#[wasm_bindgen]
pub fn add(a: i32, b: i32) -> i32 {
  a + b
}

#[wasm_bindgen]
pub struct Impulse {
  name: String,
}

#[wasm_bindgen]
impl Impulse {
  #[wasm_bindgen(constructor)]
  pub fn new(name: String) -> Self {
    Self { name }
  }

  pub fn pulse(&self) -> String {
    format!("Hello {}!", self.name)
  }
}

#[cfg(test)]
mod tests {
  use super::*;

  #[test]
  fn it_adds() {
    let result = add(1, 2);
    assert_eq!(result, 3);
  }

  #[test]
  fn it_pulses() {
    let sample = Impulse::new("world".into());
    assert_eq!(sample.pulse(), "Hello world!");
  }
}