UNPKG

@jsprismarine/raknet

Version:
66 lines (65 loc) 4.49 kB
//#region src/utils/InetAddress.ts /** * Represents an IP address and port. */ var InetAddress = class { address; port; version; get [Symbol.toStringTag]() { return `InetAddress(${this.toString()})`; } /** * Constructs an InetAddress. * @param {string} address - The IP address. * @param {number} port - The port. * @param {number} [version=4] - The IP version. * @example * ```typescript * const address = new InetAddress('0.0.0.0', 19132); * ``` */ constructor(address, port, version = 4) { this.address = address; this.port = port; this.version = version; } /** * Returns the string representation of the IP address and port. * @returns {string} The string representation of the IP address and port. */ toString() { return `${this.address}:${this.port}`; } /** * Returns the IP address. * @returns {string} The IP address. */ getAddress() { return this.address; } /** * Returns the port. * @returns {number} The port. */ getPort() { return this.port; } /** * Returns the IP version. * @returns {number} The IP version. */ getVersion() { return this.version; } /** * Returns the token of the IP address and port. * @returns {string} The token of the IP address and port. */ toToken() { return `${this.address}:${this.port}`; } }; //#endregion export { InetAddress as default }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5ldEFkZHJlc3MuZXMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL0luZXRBZGRyZXNzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVwcmVzZW50cyBhbiBJUCBhZGRyZXNzIGFuZCBwb3J0LlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJbmV0QWRkcmVzcyB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhZGRyZXNzOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3J0OiBudW1iZXI7XG4gICAgcHJpdmF0ZSByZWFkb25seSB2ZXJzaW9uOiBudW1iZXI7XG5cbiAgICBwdWJsaWMgZ2V0IFtTeW1ib2wudG9TdHJpbmdUYWddKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgSW5ldEFkZHJlc3MoJHt0aGlzLnRvU3RyaW5nKCl9KWA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0cyBhbiBJbmV0QWRkcmVzcy5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gYWRkcmVzcyAtIFRoZSBJUCBhZGRyZXNzLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBwb3J0IC0gVGhlIHBvcnQuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFt2ZXJzaW9uPTRdIC0gVGhlIElQIHZlcnNpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogY29uc3QgYWRkcmVzcyA9IG5ldyBJbmV0QWRkcmVzcygnMC4wLjAuMCcsIDE5MTMyKTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoYWRkcmVzczogc3RyaW5nLCBwb3J0OiBudW1iZXIsIHZlcnNpb24gPSA0KSB7XG4gICAgICAgIHRoaXMuYWRkcmVzcyA9IGFkZHJlc3M7XG4gICAgICAgIHRoaXMucG9ydCA9IHBvcnQ7XG4gICAgICAgIHRoaXMudmVyc2lvbiA9IHZlcnNpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBJUCBhZGRyZXNzIGFuZCBwb3J0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIElQIGFkZHJlc3MgYW5kIHBvcnQuXG4gICAgICovXG4gICAgcHVibGljIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmFkZHJlc3N9OiR7dGhpcy5wb3J0fWA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgSVAgYWRkcmVzcy5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgSVAgYWRkcmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0QWRkcmVzcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5hZGRyZXNzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHBvcnQuXG4gICAgICogQHJldHVybnMge251bWJlcn0gVGhlIHBvcnQuXG4gICAgICovXG4gICAgcHVibGljIGdldFBvcnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9ydDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBJUCB2ZXJzaW9uLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFRoZSBJUCB2ZXJzaW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRWZXJzaW9uKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnZlcnNpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgdG9rZW4gb2YgdGhlIElQIGFkZHJlc3MgYW5kIHBvcnQuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gVGhlIHRva2VuIG9mIHRoZSBJUCBhZGRyZXNzIGFuZCBwb3J0LlxuICAgICAqL1xuICAgIHB1YmxpYyB0b1Rva2VuKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmFkZHJlc3N9OiR7dGhpcy5wb3J0fWA7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBR0EsSUFBcUIsY0FBckIsTUFBaUM7Q0FDN0I7Q0FDQTtDQUNBO0NBRUEsS0FBWSxPQUFPLGVBQXVCO0VBQ3RDLE9BQU8sZUFBZSxLQUFLLFNBQVMsRUFBRTtDQUMxQzs7Ozs7Ozs7Ozs7Q0FZQSxZQUFtQixTQUFpQixNQUFjLFVBQVUsR0FBRztFQUMzRCxLQUFLLFVBQVU7RUFDZixLQUFLLE9BQU87RUFDWixLQUFLLFVBQVU7Q0FDbkI7Ozs7O0NBTUEsV0FBMEI7RUFDdEIsT0FBTyxHQUFHLEtBQUssUUFBUSxHQUFHLEtBQUs7Q0FDbkM7Ozs7O0NBTUEsYUFBNEI7RUFDeEIsT0FBTyxLQUFLO0NBQ2hCOzs7OztDQU1BLFVBQXlCO0VBQ3JCLE9BQU8sS0FBSztDQUNoQjs7Ozs7Q0FNQSxhQUE0QjtFQUN4QixPQUFPLEtBQUs7Q0FDaEI7Ozs7O0NBTUEsVUFBeUI7RUFDckIsT0FBTyxHQUFHLEtBQUssUUFBUSxHQUFHLEtBQUs7Q0FDbkM7QUFDSiJ9