Skip to content

UselessMnemonic/Pak

Repository files navigation

Pak

Pak is a Kotlin Multiplatform library that wraps zlib in a safe and well-structured API.

Kotlin/JVM

With the introduction of Java 22, the Foreign Function and Memory interface can be leveraged to utilize native zlib over the less flexible java.util.zip package.

Pak/JVM embeds a Rust library located in the pak-rs subproject. This library loads zlib and wraps it with an interface designed for the Java world. Therefore, zlib must be installed on the host machine. A user may select a specific implementation with the ZLIB_LIBRARY environment variable, otherwise a selection is made between libz.so, libz.dylib, or zlib1.dll.

Kotlin/Native

Kotlin/Native comes pre-configured with bindings to zlib, which Pak employs internally. Therefore, Pak/Native hosts require their native zlib only. Depending on the host platform, a specific zlib implementation may be usable over the default implementation.

Kotlin/JS

Kotlin/JS is supported with the excellent pako zlib implementation. This allows Pak to work in any JavaScript environment, with minimal overhead.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published