factordb

Crates.iofactordb
lib.rsfactordb
version0.3.0
sourcesrc
created_at2022-03-31 13:02:10.307324
updated_at2024-02-05 02:58:41.512924
descriptionRust wrapper for FactorDB API
homepagehttps://github.com/megascrapper/factordb-rust
repositoryhttps://github.com/megascrapper/factordb-rust
max_upload_size
id559595
size85,297
Akbar Fadiansyah (megascrapper)

documentation

README

factordb-rust

Crates.io Version Crates.io License GitHub Actions Workflow Status

Rust wrapper for FactorDB API.

Includes a library as well as a simple command line app.

Command line app

Installation

cargo install factordb --all-features

Building from source

git clone https://github.com/megascrapper/factordb-rust
cd factordb-rust
cargo build --all-features

Command line usage

Rust wrapper for FactorDB API

Usage: factordb [OPTIONS] <NUMBER>

Arguments:
  <NUMBER>  Number to find its factor

Options:
      --unique   Print unique factors on each line
      --json     Print JSON output of FactorDB API
  -h, --help     Print help
  -V, --version  Print version

Library

Add dependency

cargo add factordb

Library usage example

use std::error::Error;
use factordb::FactorDbClient;
use num_bigint::BigInt; // All numeric values in the result object are of this type

#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
    // Initialise the client
    let client = FactorDbClient::new();

    // Make requests
    let forty_two = client.get(42).await?;
    let expect_factors: Vec<BigInt> = vec![2, 3, 7].into_iter().map(|n| BigInt::from(n)).collect();
    assert_eq!(forty_two.into_factors_flattened(), expect_factors);

    Ok(())
 }

Documentation

https://docs.rs/factordb/latest/factordb/

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 21

cargo fmt