@fungible-systems/zone-file
Version:
A DNS zone file parser and generator
81 lines (80 loc) • 1.68 kB
TypeScript
export declare type SoaType = {
name?: string;
ttl?: number | string;
minimum?: number;
expire?: number;
retry?: number;
refresh?: number;
serial?: number;
rname?: string;
mname?: string;
};
export declare type NSType = {
name: string;
ttl?: number;
host: string;
fullname?: string;
};
export declare type AType = {
name: string;
ttl?: number;
ip: string;
};
export declare type CNAMEType = {
name: string;
ttl?: number;
alias: string;
};
export declare type MXType = {
name: string;
ttl?: number;
host: string;
preference: number;
};
export declare type TXTType = {
name: string;
ttl?: number;
txt: string | string[];
};
export declare type SRVType = {
name: string;
ttl?: number;
priority: number;
weight: number;
port: number;
target: string;
};
export declare type SPFType = {
name: string;
ttl?: number;
data: string;
};
export declare type URIType = {
name: string;
ttl?: number;
priority: number;
weight: number;
target: string;
};
export declare type ZoneFileObject = {
$origin?: string;
$ttl?: number;
soa?: SoaType;
ns?: NSType[];
a?: AType[];
aaaa?: AType[];
cname?: CNAMEType[];
mx?: MXType[];
ptr?: NSType[];
txt?: TXTType[];
srv?: SRVType[];
spf?: SPFType[];
uri?: URIType[];
$domain?: string;
};
export declare class ZoneFile {
jsonZoneFile: ZoneFileObject;
constructor(zoneFile: ZoneFileObject | string);
toJSON(): ZoneFileObject;
toString(): string;
}