mhost 0.11.3

Fast, async DNS lookup library and CLI -- modern dig/host replacement with parallel multi-server queries, DoH, DoT, subdomain discovery, and zone verification
Documentation
use std::cmp::Ordering;

use crate::RecordType;

pub trait Ordinal {
    fn ordinal(&self) -> usize;
}

pub fn order_by_ordinal<T: Ordinal>(left: &T, right: &T) -> Ordering {
    left.ordinal().cmp(&right.ordinal())
}

impl Ordinal for RecordType {
    fn ordinal(&self) -> usize {
        match self {
            RecordType::SOA => 1,
            RecordType::NS => 2,
            RecordType::MX => 3,
            RecordType::TXT => 4,
            RecordType::ANY => 5,
            RecordType::AXFR => 6,
            RecordType::CAA => 7,
            RecordType::IXFR => 8,
            RecordType::NAPTR => 9,
            RecordType::OPENPGPKEY => 10,
            RecordType::OPT => 11,
            RecordType::SSHFP => 12,
            RecordType::TLSA => 13,
            RecordType::DNSKEY => 14,
            RecordType::DS => 15,
            RecordType::RRSIG => 16,
            RecordType::NSEC => 17,
            RecordType::NSEC3 => 18,
            RecordType::NSEC3PARAM => 19,
            RecordType::HINFO => 20,
            RecordType::HTTPS => 21,
            RecordType::SVCB => 22,
            RecordType::ZERO => 23,
            RecordType::CNAME => 24,
            RecordType::A => 25,
            RecordType::AAAA => 26,
            RecordType::ANAME => 27,
            RecordType::PTR => 28,
            RecordType::SRV => 29,
            RecordType::NULL => 30,
            RecordType::Unknown(_) => 31,
        }
    }
}