roadrollerの改造版をでっちあげたので晒しておきます。環境にもよりますが展開速度は2倍以上高速になり(旧式も搭載)、textareaにfileを放り込む機能搭載などといった内容に違いない…。本家とは異なり圧縮処理はweb browser専用です(色々とfileを間引きまくり)
codepen的動作検証
See the Pen Roadroller JS compressor by xezz (@xezz) on CodePen.
説明書が皆さん得意の英語だらけの親切設計
説明的解説
本家はzipによる再圧縮も考慮していて、展開速度を犠牲にしています。例えばmap関数を多用したり、余計な文字を加える事で圧縮しやすくなっています。
私家版では設定でzippable
を選択すると、その旧式decoderが生成され、small
を選択すると小型で高速なdecoderが生成されます。
inFile
で入力fileの文字符号を選択します(fileを放り込んだ場合に召喚される文字列にのみ反映)。ただしtextareaの文字列は内部的にUTF8として扱われます。
zip size
を有効にするとzip圧縮を模倣した圧縮率を計算しやがってくれますが低速(本家の標準機能)。
add line
を有効にすると圧縮部と展開処理を2行に分けます(本家の標準機能)。
本家はtextareaに文字列を入力したり、設定を変更したりすると勝手に圧縮を実行してくれますが、個人的にそういうのが鬱陶しかったのでcompress
を押下した時に圧縮するようになっています