Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // example code of inflate.mjs
- // $ node --no-warnings --experimental-modules example.mjs
- // check with zlib of node.js
- import zlib from "zlib";
- import bufferModule from "buffer";
- const {Buffer} = bufferModule;
- import {inflate, inflateRaw, BitReader} from "./inflate.mjs";
- {
- // dynamic mode
- // note: zlib compress with dynamic mode required larger data
- const data = "\0".repeat(10000);
- const compress = zlib.deflateRawSync(data, {level: 2});
- const decompressed = inflateRaw(new BitReader(compress));
- console.assert(decompressed.length === data.length);
- console.assert(decompressed.every(v => v === 0));
- }
- {
- // fixed code mode
- const data = "Hello World!";
- const compress = zlib.deflateRawSync(data, {level: 1});
- const decompressed = inflateRaw(new BitReader(compress));
- console.log(decompressed.length);
- console.log(Buffer.from(decompressed).toString());
- }
- {
- // no compress mode with multi blocks
- const data = "\0".repeat(0x20000);
- const compress = zlib.deflateRawSync(data, {level: 0});
- const decompressed = inflateRaw(new BitReader(compress));
- console.assert(decompressed.length === data.length);
- console.assert(decompressed.every(v => v === 0));
- }
- {
- // zlib inflate
- //const data = "\0".repeat(10000);
- const data = "Hello World!";
- const compress = zlib.deflateSync(data, {level: 2});
- const decompressed = inflate(new BitReader(compress));
- console.assert(Buffer.from(decompressed).toString() === data);
- }
Add Comment
Please, Sign In to add comment