@jsprismarine/raknet
Version:
Basic RakNet implementation written in TypeScript
71 lines (70 loc) • 4.62 kB
JavaScript
;
Object.defineProperties(exports, {
__esModule: { value: true },
[Symbol.toStringTag]: { value: "Module" }
});
//#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
exports.default = InetAddress;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5ldEFkZHJlc3MuY2pzLmNqcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvSW5ldEFkZHJlc3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXByZXNlbnRzIGFuIElQIGFkZHJlc3MgYW5kIHBvcnQuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEluZXRBZGRyZXNzIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFkZHJlc3M6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZlcnNpb246IG51bWJlcjtcblxuICAgIHB1YmxpYyBnZXQgW1N5bWJvbC50b1N0cmluZ1RhZ10oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGBJbmV0QWRkcmVzcygke3RoaXMudG9TdHJpbmcoKX0pYDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RzIGFuIEluZXRBZGRyZXNzLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhZGRyZXNzIC0gVGhlIElQIGFkZHJlc3MuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHBvcnQgLSBUaGUgcG9ydC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3ZlcnNpb249NF0gLSBUaGUgSVAgdmVyc2lvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBjb25zdCBhZGRyZXNzID0gbmV3IEluZXRBZGRyZXNzKCcwLjAuMC4wJywgMTkxMzIpO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihhZGRyZXNzOiBzdHJpbmcsIHBvcnQ6IG51bWJlciwgdmVyc2lvbiA9IDQpIHtcbiAgICAgICAgdGhpcy5hZGRyZXNzID0gYWRkcmVzcztcbiAgICAgICAgdGhpcy5wb3J0ID0gcG9ydDtcbiAgICAgICAgdGhpcy52ZXJzaW9uID0gdmVyc2lvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIElQIGFkZHJlc3MgYW5kIHBvcnQuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gVGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgSVAgYWRkcmVzcyBhbmQgcG9ydC5cbiAgICAgKi9cbiAgICBwdWJsaWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuYWRkcmVzc306JHt0aGlzLnBvcnR9YDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBJUCBhZGRyZXNzLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBJUCBhZGRyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRBZGRyZXNzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmFkZHJlc3M7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgcG9ydC5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBUaGUgcG9ydC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UG9ydCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5wb3J0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIElQIHZlcnNpb24uXG4gICAgICogQHJldHVybnMge251bWJlcn0gVGhlIElQIHZlcnNpb24uXG4gICAgICovXG4gICAgcHVibGljIGdldFZlcnNpb24oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmVyc2lvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSB0b2tlbiBvZiB0aGUgSVAgYWRkcmVzcyBhbmQgcG9ydC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgdG9rZW4gb2YgdGhlIElQIGFkZHJlc3MgYW5kIHBvcnQuXG4gICAgICovXG4gICAgcHVibGljIHRvVG9rZW4oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuYWRkcmVzc306JHt0aGlzLnBvcnR9YDtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUdBLElBQXFCLGNBQXJCLE1BQWlDO0NBQzdCO0NBQ0E7Q0FDQTtDQUVBLEtBQVksT0FBTyxlQUF1QjtFQUN0QyxPQUFPLGVBQWUsS0FBSyxTQUFTLEVBQUU7Q0FDMUM7Ozs7Ozs7Ozs7O0NBWUEsWUFBbUIsU0FBaUIsTUFBYyxVQUFVLEdBQUc7RUFDM0QsS0FBSyxVQUFVO0VBQ2YsS0FBSyxPQUFPO0VBQ1osS0FBSyxVQUFVO0NBQ25COzs7OztDQU1BLFdBQTBCO0VBQ3RCLE9BQU8sR0FBRyxLQUFLLFFBQVEsR0FBRyxLQUFLO0NBQ25DOzs7OztDQU1BLGFBQTRCO0VBQ3hCLE9BQU8sS0FBSztDQUNoQjs7Ozs7Q0FNQSxVQUF5QjtFQUNyQixPQUFPLEtBQUs7Q0FDaEI7Ozs7O0NBTUEsYUFBNEI7RUFDeEIsT0FBTyxLQUFLO0NBQ2hCOzs7OztDQU1BLFVBQXlCO0VBQ3JCLE9BQU8sR0FBRyxLQUFLLFFBQVEsR0FBRyxLQUFLO0NBQ25DO0FBQ0oifQ==