gnablib
Version:
A lean, zero dependency library to provide a useful base for your project.
20 lines (19 loc) • 697 B
TypeScript
/*! Copyright 2023-2025 the gnablib contributors MPL-1.1 */
import { Cidr } from './Cidr.js';
import { ICidrValue } from '../interfaces/ICidrValue.js';
import { IValueMerge } from '../interfaces/IValueMerge.js';
import { IpV4 } from './Ip.js';
declare const consoleDebugSymbol: unique symbol;
export declare class IpTree<T> {
private _root;
private _merge;
constructor(merge?: IValueMerge<T>);
addIp(ipv4: IpV4, value: T): void;
addRange(start: IpV4, end: IpV4, value: T): void;
addCidr(cidr: Cidr, value: T): void;
contains(ipv4: IpV4): boolean;
listCidr(): ICidrValue<T>[];
get [Symbol.toStringTag](): string;
[consoleDebugSymbol](): string;
}
export {};