gtld-data 0.2.3

gTLD data retrieved via the IANA, updated daily.
Documentation

travis-badge license-badge

gtld-data.rs

Rust crate for gTLD data with a few useful functions. Updated daily.

All renames, additions, and removals of gTLD's are due to the IANA removing their entries. As such, versioning may be a bit odd as this is updated every day. As such, the versioning is something like this:

  • Changes to existing entries are a MINOR-level change (x.2.z) -> (x.3.z).
  • A new entry is a PATCH-level change (x.y.2) -> (x.y.3).
  • A removed entry is a MAJOR-level change (1.y.z) -> (2.0.0).

The versions will be bumped appropriately immediately. Within a month, the MAJOR version could be incremented by either 0 or 8.

Check the CHANGELOG.md file for breaking changes in terms of the functions within this library. These are located at the top of the file under the "BREAKING CHANGES" header.

gTLD

A Generic Top Level Domain (gTLD) is an internet domain name extension with three or more characters. It is one of the categories of the top level domain (TLD) in the Domain Name System (DNS) maintained by the Internet Assigned Numbers Authority.

-- icannwiki

Installation

Add the following dependency to your Cargo.toml:

gtld-data = "^0.2"

And include it in your project:

extern crate gtld_data;

Examples

Retrieve a Vec of all Gtld definitions:

let gtlds = gtld_data::all();

Check if a domain for a Gtld exists:

use gtld_data::domain_exists;

let exists = domain_exists("com");

Retrieve a Vec of Gtlds based on a given GtldKind:

use gtld_data::{GtldKind, get_by_kind};

let generics = get_by_kind(GtldKind::Generic);

assert!(generics.len() > 0);

Retrieve a Vec of Gtlds based on the name of the organization passed:

use gtld_data::get_by_organization;

let organization = "VeriSign Global Registry Services";
let gtlds = get_by_organization(organization);

assert!(gtlds.len() > 0);

License

License info in LICENSE.md. Long story short, ISC.