@jsprismarine/raknet
Version:
Basic RakNet implementation written in TypeScript
62 lines (60 loc) • 5.11 kB
JavaScript
class InetAddress {
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}`;
}
}
export { InetAddress as default };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5ldEFkZHJlc3MuZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9JbmV0QWRkcmVzcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlcHJlc2VudHMgYW4gSVAgYWRkcmVzcyBhbmQgcG9ydC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSW5ldEFkZHJlc3Mge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWRkcmVzczogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdmVyc2lvbjogbnVtYmVyO1xuXG4gICAgcHVibGljIGdldCBbU3ltYm9sLnRvU3RyaW5nVGFnXSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYEluZXRBZGRyZXNzKCR7dGhpcy50b1N0cmluZygpfSlgO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdHMgYW4gSW5ldEFkZHJlc3MuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGFkZHJlc3MgLSBUaGUgSVAgYWRkcmVzcy5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gcG9ydCAtIFRoZSBwb3J0LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbdmVyc2lvbj00XSAtIFRoZSBJUCB2ZXJzaW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGNvbnN0IGFkZHJlc3MgPSBuZXcgSW5ldEFkZHJlc3MoJzAuMC4wLjAnLCAxOTEzMik7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGFkZHJlc3M6IHN0cmluZywgcG9ydDogbnVtYmVyLCB2ZXJzaW9uID0gNCkge1xuICAgICAgICB0aGlzLmFkZHJlc3MgPSBhZGRyZXNzO1xuICAgICAgICB0aGlzLnBvcnQgPSBwb3J0O1xuICAgICAgICB0aGlzLnZlcnNpb24gPSB2ZXJzaW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgSVAgYWRkcmVzcyBhbmQgcG9ydC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBJUCBhZGRyZXNzIGFuZCBwb3J0LlxuICAgICAqL1xuICAgIHB1YmxpYyB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5hZGRyZXNzfToke3RoaXMucG9ydH1gO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIElQIGFkZHJlc3MuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gVGhlIElQIGFkZHJlc3MuXG4gICAgICovXG4gICAgcHVibGljIGdldEFkZHJlc3MoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkcmVzcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBwb3J0LlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFRoZSBwb3J0LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQb3J0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvcnQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgSVAgdmVyc2lvbi5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBUaGUgSVAgdmVyc2lvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VmVyc2lvbigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy52ZXJzaW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHRva2VuIG9mIHRoZSBJUCBhZGRyZXNzIGFuZCBwb3J0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSB0b2tlbiBvZiB0aGUgSVAgYWRkcmVzcyBhbmQgcG9ydC5cbiAgICAgKi9cbiAgICBwdWJsaWMgdG9Ub2tlbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5hZGRyZXNzfToke3RoaXMucG9ydH1gO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFxQixXQUFZLENBQUE7QUFBQSxFQUNaLE9BQUE7QUFBQSxFQUNBLElBQUE7QUFBQSxFQUNBLE9BQUE7QUFBQSxFQUVqQixLQUFZLE1BQU8sQ0FBQSxXQUFXLENBQVksR0FBQTtBQUN0QyxJQUFPLE9BQUEsQ0FBQSxZQUFBLEVBQWUsSUFBSyxDQUFBLFFBQUEsRUFBVSxDQUFBLENBQUEsQ0FBQTtBQUFBO0FBQ3pDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFZTyxXQUFZLENBQUEsT0FBQSxFQUFpQixJQUFjLEVBQUEsT0FBQSxHQUFVLENBQUcsRUFBQTtBQUMzRCxJQUFBLElBQUEsQ0FBSyxPQUFVLEdBQUEsT0FBQTtBQUNmLElBQUEsSUFBQSxDQUFLLElBQU8sR0FBQSxJQUFBO0FBQ1osSUFBQSxJQUFBLENBQUssT0FBVSxHQUFBLE9BQUE7QUFBQTtBQUNuQjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTU8sUUFBbUIsR0FBQTtBQUN0QixJQUFBLE9BQU8sQ0FBRyxFQUFBLElBQUEsQ0FBSyxPQUFPLENBQUEsQ0FBQSxFQUFJLEtBQUssSUFBSSxDQUFBLENBQUE7QUFBQTtBQUN2QztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTU8sVUFBcUIsR0FBQTtBQUN4QixJQUFBLE9BQU8sSUFBSyxDQUFBLE9BQUE7QUFBQTtBQUNoQjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTU8sT0FBa0IsR0FBQTtBQUNyQixJQUFBLE9BQU8sSUFBSyxDQUFBLElBQUE7QUFBQTtBQUNoQjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTU8sVUFBcUIsR0FBQTtBQUN4QixJQUFBLE9BQU8sSUFBSyxDQUFBLE9BQUE7QUFBQTtBQUNoQjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTU8sT0FBa0IsR0FBQTtBQUNyQixJQUFBLE9BQU8sQ0FBRyxFQUFBLElBQUEsQ0FBSyxPQUFPLENBQUEsQ0FBQSxFQUFJLEtBQUssSUFBSSxDQUFBLENBQUE7QUFBQTtBQUUzQzs7OzsifQ==