10 个不稳定版本 (4 个重大更改)

0.5.0 2024年4月19日
0.4.1 2024年4月19日
0.4.0 2023年10月23日
0.3.0 2023年3月23日
0.1.0 2019年4月24日

#44测试

Download history 1627/week @ 2024-04-14 1234/week @ 2024-04-21 1121/week @ 2024-04-28 1366/week @ 2024-05-05 1168/week @ 2024-05-12 1739/week @ 2024-05-19 1051/week @ 2024-05-26 1218/week @ 2024-06-02 1539/week @ 2024-06-09 1213/week @ 2024-06-16 942/week @ 2024-06-23 1455/week @ 2024-06-30 1572/week @ 2024-07-07 1395/week @ 2024-07-14 1826/week @ 2024-07-21 1541/week @ 2024-07-28

6,391 每月下载量

MIT 许可证

3MB
6K SLoC

fakedata_generator

一个用于生成假数据的 Rust 库

"data generator for Rust"

Build Status Coverage Crates.io Documentation at docs.rs

目录

关于

⬆️ 返回顶部

这个库提供了生成随机值("假数据")的函数。它处于早期阶段,某些值尚未完全随机。以下提供了基本文档和https://docs.rs/fakedata_generator/上的文档。

使用方法

⬆️ 返回顶部

将库作为依赖项添加到您的 Cargo.toml

[dependencies]
fakedata_generator = "0.4"

现在可以使用 use fakedata_generator::* 加载库。

extern crate fakedata_generator;
use fakedata_generator::*;

fn main() {
    let random_word = gen_enum("some,random,words".to_string());
    println!("Random word is: {}", random_word); 
}

以下显示了所有可用生成器和它们的函数签名。

生成器

无参数的生成器

⬆️ 返回顶部

邮箱

返回一个随机电子邮件地址,它是用户名和域名生成器的组合。

函数签名

gen_email() -> String

示例调用

let email: String = gen_email();
// email = [email protected]

用户名

返回一个随机用户名。

注意:v0.2 起的预定义列表。

函数签名

gen_username() -> String

示例调用

let user: String = gen_username();
// user = ahmadajmi

域名

返回一个随机域名。

注意:尚不支持所有 TDLs 和真实随机主机名 - 它是由预定义列表创建的。

函数签名

gen_domain() -> String

示例调用

let domain: String = gen_domain();
// domain = "names.us"

HTTP 方法

从定义的列表中返回一个随机 HTTP 方法。

可能值:"DELETE", "GET", "HEAD", "OPTION", "PATCH", "POST", "PUT"

函数签名

gen_http_method() -> String

示例调用

let method: String = gen_http_method();
// method = "GET"

IPv4

返回一个随机IP地址。生成四个介于0 - 255之间的数字,并以以下格式输出:{}.{}.{}.{}

函数签名

gen_ipv4() -> String

示例调用

let ip: String = gen_ipv4();
// ip = "168.11.40.75"

生成素数

随机返回前1000个素数之一。

函数签名

gen_prime() -> usize

示例调用

let prime: usize = gen_prime();
// prime = 6323

具有参数的生成器

⬆️ 返回顶部

枚举

从指定的字符串集中返回随机字符串。将逗号分隔的列表作为参数指定。

函数签名

gen_enum(input: String) -> String

示例调用

let word: String = gen_enum("hello,hola,hallo".to_string());
// word = "hola"

整数

返回指定范围内的随机整数。必须指定由逗号分隔的1或2个数字。如果指定了1个参数,它被视为“最高”值,并且使用0作为最低值。

函数签名

gen_int(input: String) -> String

示例调用

let num: String = gen_enum("1,100".to_string());
// num = "42"

私有 IPv4

在这些3个范围之一中创建一个私有IPv4地址

  • 10.0.0.0 – 10.255.255.255
  • 172.16.0.0 – 172.31.255.255
  • 192.168.0.0 – 192.168.255.255

input是第一个块的编号,可以是10172192。如果指定了无效值,则默认为10

函数签名

gen_private_ip(input: usize) -> String

示例调用

let private_ipv4: String = gen_private_ipv4(10);
// num = 10.64.197.255

密码

不带特殊字符

创建一个随机字符串。

input是密码应包含的字符数。

函数签名

gen_password(input: usize) -> String

示例调用

let pw: String = gen_password(32);
// pw = "bNNpAmShvQYbKbMdhByK17lqaFcgarrF"
带特殊字符

创建一个包含特殊字符的随机字符串。

input是密码应包含的字符数。

函数签名

gen_password_with_special_chars(input: usize) -> String

示例调用

let pw: String = gen_password_with_special_chars(32);
// pw = "F=>:e+KX;Uu/Zg#i*MQN//6r%a^K?K°0"

语料库生成器

⬆️ 返回顶部

gen_corpora_switch已被弃用,不应再使用。

取而代之的是新的gen_switch函数,它以JSON格式获取其数据,数据来源于Corpora项目。整个Corpora项目包含在data目录中。目前并非所有数据集都可用。请参阅src/corpora/data.rs文件以查看所有可用集合。

可能的输入值

  • cat
  • dog
  • horse
  • dinosaur
  • gemstone
  • mood
  • fabric
  • tvshow

这些中的每一个都将返回列表中的一个随机单词。

函数签名

gen_switch(input: String) -> String

示例调用

let word: String = gen_switch("cat".to_string());
// word = "European Shorthair"

let fabric: String = gen_switch("fabric".to_string());
// word = "longcloth"

示例

⬆️ 返回顶部

以下示例显示了如何在Rust项目中使用fakedata_generator

名称 描述 存储库
fakedata_server 一个基于fakedata_generator数据的HTTP API,提供随机值。 查看代码

贡献

⬆️ 返回顶部

我们热爱并欢迎任何形式的贡献。

从哪里开始?

以下是一些良好的起点

工具

  • mktoc用于在README.md中生成目录
  • grcov用于生成覆盖率徽章
    • 目前这是手动完成的,而不是通过持续集成(CI),运行 helpers/coverage.sh 来更新徽章

行为准则

⬆️ 返回顶部

在与项目通过问题、拉取请求或其他形式互动时,您应遵守我们的 行为准则。感谢 贡献者公约 创新举措!

许可证

⬆️ 返回顶部

MIT许可证 版权 (c) 2019 Kevin Gimbel

特别感谢 Rust 社区、Rust 语言维护者和 JetBrains 的 IntelliJ IDEA。查看 NOTICE 了解完整列表。

依赖项