data-faking 0.1.2

Generate massive amounts of fake data
Documentation
use crate::utils::seeder;
use wasm_bindgen::prelude::*;

#[wasm_bindgen]
pub fn mac_address(prefix: Option<String>) -> String {
  let mut mac_builder: Vec<i32> = vec![];
  if let Some(arg) = prefix {
    let tokens = arg.split(":");
    for t in tokens {
      let mut i: i32 = i32::from_str_radix(t, 16).unwrap();

      if i > MAC_RANGE_MAX {
        i = MAC_RANGE_MAX;
      }
      mac_builder.push(i);
    }
  }

  for _ in 0..(MAC_SEGMENT_NUM-mac_builder.len()) {
    mac_builder.push(seeder::gen_range(MAC_RANGE_MIN..MAC_RANGE_MAX));
  }

  let mut mac_tokens: Vec<String> = vec![];
  for i in mac_builder {
    mac_tokens.push(format!("{:x}", i));
  }
  let s = mac_tokens.join(":");
  s
}

static MAC_RANGE_MIN: i32 = 0;
static MAC_RANGE_MAX: i32 = 256;
static MAC_SEGMENT_NUM: usize = 6;