#api-wrapper #pastemyst-rs #pastemystrs

pastemyst

用 Rust 编写的 pastemyst API 包装器

5 个版本 (1 个稳定版本)

1.0.0 2021 年 2 月 18 日
0.8.0 2021 年 2 月 9 日
0.7.75 2021 年 1 月 24 日
0.2.25 2021 年 1 月 14 日
0.1.0 2021 年 1 月 14 日

#1933 in 网页编程

MIT 许可证

190KB
516


PasteMyst.RS

pastemyst-rs 是一个用 Rust 编写的 pastemyst API 包装器。

⚠ 此软件包处于开发中 ⚠

示例用法

同步从 pastemyst 获取粘贴

use pastemyst::paste;
use pastemyst::paste::PasteObject;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let paste: PasteObject = paste::get_paste("hipfqanx")?;
    println!("{}", paste.pasties[1].language);
    Ok(())
}

同步创建粘贴

use pastemyst::paste;
use pastemyst::paste::PasteObject;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let pasties: Vec<PastyObject> = vec![
        PastyObject {
            _id: str!(""),
            language: str!(pastemyst::data::language::RUST),
            title: "A pasty title".to_string(),
            code: String::from("fn main() { println!(\"Hello World!\"); }"),
        },
        PastyObject {
            _id: str!(""),
            title: "Another pasty title".to_string(),
            language: str!(pastemyst::data::language::CLANG),
            code: String::from("#include \"stdio.h\"\n\nint main() {\n\tprintf(\"Hello World!\");\n}"),
        },
    ];
    let data: CreateObject = CreateObject {
        title: String::from("[crates.io/crates/pastemyst] This is a title"),
        expiresIn: String::from("1d"),
        isPrivate: false,
        isPublic: false,
        tags: String::from(""),
        pasties: pasties,
    };
    let paste: /*reqwest::Response*/ = paste::create_paste(data).unwrap(); // You don't need to add the commented part, that's jut for your information.
    println!("{}", paste._id);
    Ok(())
}

更多内容请参阅 示例文档

特性支持

特性 支持 异步
API v1
API v2
获取粘贴
获取私有粘贴
创建粘贴
创建私有粘贴*
编辑粘贴
删除粘贴
获取用户
检查用户是否存在
按名称获取语言
按扩展名获取语言
过期时间转换为 Unix 时间戳

✔ = 完成/已实现且功能完善

❌ = 未完成/未实现

⛔ = 不适用

*这还包括与您的账户关联的粘贴,或创建私有/公共粘贴,或使用标签。

仓库结构

这是当前代码的结构

./
├───.github/
│   ├─.workflows/
│   │   └─ rust.yml
│   └─ISSUE_TEMPLATES/
│       ├─ bug_report.md
│       ├─ feature_request.md
│       ├─ documentation.md
│       └─ question.md
├───examples/
│   ├─ paste.rs
│   ├─ time.rs
│   ├─ data.rs
│   └─ user.rs
├───src/
│   └─ lib.rs
├─── .gitattributes 
├─── .gitignore
├─── Cargo.toml
├─── LICENSE
└─── README.MD

构建和运行

由于 pastemyst-rs 是一个 Rust 库,因此需要安装 Rust 编译器。要检查是否已安装,请运行:rustc --versioncargo --version 以验证。如果没有安装,请从其 网站 安装。一旦解决;运行 cargo install 获取软件包。要亲手测试,可以

  1. 创建一个具有主方法的 main.rs 并运行这些测试 (cargo run)。
  2. 从示例中运行,使用 cargo run --example example_name,例如 cargo run --example get_paste

安装

如果您想在Rust应用程序中使用它,建议从 https://crates.io/crates/pastemyst 获取crate。在您的 Cargo.toml 文件中,在 [dependencies] 下粘贴以下内容

pastemyst = "<Replace this text with the latest version>"
# OR
pastemyst = { version = "<Replace this text with the latest version>" }

版本管理

pastemyst-rs 使用 SemVer

给定版本号 MAJOR.MINOR.PATCH,当您进行不兼容的API更改时,增加

MAJOR 版本,当您以向后兼容的方式添加功能时,增加

MINOR 版本,当您进行向后兼容的错误修复时,增加

PATCH 版本。

预发布和构建元数据的额外标签作为 MAJOR.MINOR.PATCH 格式的扩展可用。

帮助/支持

您可以 创建一个问题 或直接加入支持(discord)服务器。

Discuss in the server

依赖项

~5–17MB
~254K SLoC