Thanks to visit codestin.com
Credit goes to github.com

Skip to content
forked from gnp/isin-rs

Rust library providing support for creating and validating ISINs

License

Notifications You must be signed in to change notification settings

Weypare/isin-rs

 
 

Repository files navigation

isin

An ISIN type for working with validated International Security Identifiers (ISINs) as defined in ISO 6166.

The checksum calculation uses a table-driven algorithm to minimize overhead vs. a direct translation of the formula definition.

This crate is part of the Financial Identifiers series:

  • CIK: Central Index Key (SEC EDGAR)
  • CUSIP: Committee on Uniform Security Identification Procedures (ANSI X9.6-2020)
  • ISIN: International Securities Identification Number (ISO 6166:2021)
  • LEI: Legal Entity Identifier (ISO 17442:2020)

Usage

Add this to your Cargo.toml:

[dependencies]
isin = "0.1"

Example

use isin;
let isin_string = "US0378331005";
match isin::parse(isin_string) {
    Ok(isin) => {
        println!("Parsed ISIN: {}", isin.to_string()); // "US0378331005"
        println!("  Prefix: {}", isin.prefix()); // "US"
        println!("  Basic code: {}", isin.basic_code()); // "037833100"
        println!("  Check digit: {}", isin.check_digit()); // '5'
    }
    Err(err) => panic!("Unable to parse ISIN {}: {}", isin_string, err),
}

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.

About

Rust library providing support for creating and validating ISINs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%