0.1.0 • Published 7 years ago
easy-compress v0.1.0
ez-compress
Compress known sequences of chars a bit to lower the traffic between two devices. This is not really that practical, I just wanted to make my own compression for some reason.
Installation:
npm i --save ez-compressUsage:
const ez = require("ez-compress");
const rawHTML = `
<!DOCTYPE html>
<html>
<body>
<div>Hello World!</div>
</body>
</html>
`;
var compressedHTML = ez.encode.HTML(rawHTML);
/* RESULT:
`
%¤?S%¤hd>
¤hh>
¤hº¤hb>
¤h¦¤hvHello World!¤hV
¤hº¤hB>
¤hH>
`
*/Compressing multiple languages:
const ez = require("ez-compress");
const rawHTML = fs.readFileSync("./index.html"); // big HTML file with HTML, CSS and JS
var compressedHTML = ez.encode.HTML(ez.encode.CSS(ez.encode.JS(rawHTML)));
// WARNING!
// decode in the same sequence, else problems might occur
// example for this one:
var decompressedHTML = ez.decode.HTML(ez.decode.CSS(ez.decode.JS(compressedHTML)));Changing the default char:
ez.changeChar("¥"); // this makes the package use "\u00A5" instead of the default "\u00A4" character
// (old compressions that use this char (¤) can't be decompressed with the new char)
// (to find out the char, parse the first line of the data which contains a known sequence that contains the char (see below for more info))
// best option is a char that is as high up as possible on this list (https://unicode-table.com/) and that doesn't at all occur in your to-be-compressed dataSupported Languages:
- Web:
- HTML
- JS
- CSS
Planned Languages:
- Backend-JS (Node)
- PHP
Sequences:
Beginning of File/String/Whatever was encoded: %$?S% (gets added and removed automatically, $ contains the escape char)
Syntax: $lc
$: the set / default (¤) escape charl: the language char from the table belowc: a character from one of the js files in the regexes folder (%,?andSare fixed chars)
Language Chars:
| Language | Char |
|---|---|
| HTML | h |
| Web-JavaScript | j |
| CSS | c |
Planned:
| Language | Char |
|---|---|
| PHP | p |
| NodeJS | J |
0.1.0
7 years ago