4 releases

0.1.5 Jul 6, 2023
0.1.3 Jul 4, 2023
0.1.1 Jul 4, 2023
0.1.0 Jul 3, 2023

#4 in #hackernews

MIT/Apache

21KB
280 lines

hacker-rs

Hacker News API bindings for Rust.

use hacker_rs::client::HackerNewsClient;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Build your client at the start of your application process
    let client = HackerNewsClient::new();

    // Call various endpoints with your client instance
    let first_item = client.get_item(69).await?;
    dbg!(&first_item);

    // Determine what the item type is
    let item_type = first_item.get_item_type();
    dbg!(item_type);

    // Check if the item is job
    assert!(first_item.is_comment());

    // Retrieve user information
    let user = client.get_user("joeymckenzie").await;
    dbg!(user);

    Ok(())
}

lib.rs:

Hacker News API bindings for Rust.

let client = HackerNewsClient::new();

// Call various endpoints with your client instance
let first_item = client.get_item(69).await?;
dbg!(&first_item);

// Determine what the item type is
let item_type = first_item.get_item_type();
dbg!(item_type);

// Check if the item is job
assert!(first_item.is_comment());

// Retrieve user information
let user = client.get_user("joeymckenzie").await?;
dbg!(user);

Dependencies

~4–19MB
~257K SLoC