@runejs/common
Version:
Common logging, networking, compression, and other miscellaneous functionality for RuneJS.
57 lines (46 loc) • 2.37 kB
Markdown
[](https://discord.gg/5P74nSh)
[](https://github.com/runejs/)
# Common
Common logging, networking, compression, and other miscellaneous functionality for RuneJS.
## Exported Modules
### `@runejs/common`
* `logger` is exported as a singleton Pino logging wrapper.
* Methods:
* `logger.info(...messages: any[])`
* `logger.debug(...messages: any[])`
* `logger.warn(...messages: any[])`
* `logger.error(...messages: any[])`
* `logger.trace(...messages: any[])`
* `logger.fatal(...messages: any[])`
* `logger.destination(logDir: string)`
* `logger.setOptions(options: Pino.LoggerOptions)`
* `logger.setPrettyPrint(prettyPrint: boolean)`
* `logger.setTimeFormat(format: TimeFn)`
* `ByteBuffer` is also exported at the root level.
* Node `Uint8Array` wrapper with additional utility functions.
* Unified configurable `get` and `put` methods to easily move bytes within the buffer.
* Int24, Smart, Long and String type support.
* Big endian, little endian, and mixed endian support.
* Bit access through `openBitBuffer()`, `putBits()`, and `closeBitBuffer()`
### `@runejs/common/color`
Handles various color conversions needed by the game and tooling.
* `RGB(A)`
* `HSL` (Hue, Saturation, Lightness)
* `HSV` (Hue, Saturation, Value/Brightness)
* `HCL` (Hue, Chroma, Luminance)
* `LAB` (Lightness, A, B)
### `@runejs/common/compress`
* Exported class `Gzip` handles Gzip compression and decompression.
* Exported class `Bzip2` handles Bzip2 compression and decompression.
### `@runejs/common/crc32`
Exports a single class `Crc32` that generates CRC32 checksums for binary data files.
### `@runejs/common/encrypt`
Provides XTEA encryption and decryption functionality, as well as a key file loader.
* Exported as class `Xtea`
### `@runejs/common/net`
* `SocketServer`
* Handles connections made to a RuneJS socket server.
* `SocketServer.launch(serverName, hostName, port, connectionHandlerFactory)`
* Spins up a new Node Socket server with the specified host and port.
* `ServerConfigOptions`
* Options for a configured Socket server, imported using the `parseServerConfig()` function.