Package Exports
- oodle.js
- oodle.js/package.json
Readme
Oodle.js
Simple library for oodle data compression/decompression.
Either pass a path to the lib or auto download latest release from workingrobot/oodleue.
If you choose to download the library, it will be cached. Check out more below.
Compatibility
- Windows: Works & Tested
- Linux: Works & Tested
- MacOS: Untested, should work
Please open a PR or issue if MacOS doesn't work.
Usage Example
const oodle = await new Oodle().init();
const data = Buffer.from("Hello, World!".repeat(50))
const compressed = await oodle.compress(data);
const decompressed = await oodle.decompress(compressed, compressed.length, 0 /* source offset */, Buffer.allocUnsafe(data.length), data.length, 0 /* dest offset */);
console.log(decompressed.toString()) // "Hello, World:" x50[!NOTE] There are other compressors that Oodle offers. Check out more options below
CJS import
const Oodle = require("oodle.js").defaultOptions
Oodle.constructor()
pathOrClearCache:string: path to libboolean: whether to clear cache when downloading the lib- Defaults to
false
warn:boolean, whether to warn if compressed size will be bigger than uncompressed
Oodle.compress(): Buffer
src:BuffersrcSize:numbersrcOffset:numberdest:BufferdestSize:numberdestOffset:numberadvancedOptions:fuzzSafe:OodleFuzzSafe, defaults toOodleFuzzSafe.YescheckCRCOodleCheckCRC.No, defaults toOodleCheckCRC.Noverbosity:OodleVerbosity.None, defaults toOodleVerbosity.NonedecodeThreadPhase:OodleDecodeThreadPhase.Unthreaded, defaults toOodleDecodeThreadPhase.Unthreaded
Oodle.decompress(): Buffer
src:Buffer,compressor:OodleCompressordefaults toOodleCompressor.Krakenlevel:OodleCompressionLeveldefaults toOodleCompressionLevel.Optimal
Oodle.maxCompressedSize(): number
srcSize:numbercompressor:OodleCompressor
Check JSDoc for more info on:
- OodleFuzzSafe
- OodleCheckCRC
- OodleVerbosity
- OodleDecodeThreadPhase
- OodleCompressor
- OodleCompressionLevel
OodleError
name: OodleError
isOodleError(): true