pleeease 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +22 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +23 -0
- data/Rakefile +1 -0
- data/lib/pleeease.rb +9 -0
- data/lib/pleeease/processor.rb +13 -0
- data/lib/pleeease/railtie.rb +10 -0
- data/lib/pleeease/runner.rb +70 -0
- data/lib/pleeease/version.rb +3 -0
- data/node_modules/.bin/pleeease +13 -0
- data/node_modules/.bin/pleeease-compile +20 -0
- data/node_modules/.bin/pleeease-watch +20 -0
- data/node_modules/pleeease/.jshintignore +1 -0
- data/node_modules/pleeease/.jshintrc +28 -0
- data/node_modules/pleeease/.npmignore +2 -0
- data/node_modules/pleeease/README.md +288 -0
- data/node_modules/pleeease/app.min.css.map +1 -0
- data/node_modules/pleeease/bin/pleeease +13 -0
- data/node_modules/pleeease/bin/pleeease-compile +20 -0
- data/node_modules/pleeease/bin/pleeease-watch +20 -0
- data/node_modules/pleeease/jshint.sh +2 -0
- data/node_modules/pleeease/lib/cli.js +136 -0
- data/node_modules/pleeease/lib/index.js +97 -0
- data/node_modules/pleeease/lib/options.js +38 -0
- data/node_modules/pleeease/lib/processors/import.js +123 -0
- data/node_modules/pleeease/lib/processors/pseudoElements.js +24 -0
- data/node_modules/pleeease/node_modules/.bin/autoprefixer +13 -0
- data/node_modules/pleeease/node_modules/.bin/csswring +3 -0
- data/node_modules/pleeease/node_modules/.bin/mkdirp +33 -0
- data/node_modules/pleeease/node_modules/autoprefixer/ChangeLog.md +354 -0
- data/node_modules/pleeease/node_modules/autoprefixer/LICENSE +20 -0
- data/node_modules/pleeease/node_modules/autoprefixer/README.md +565 -0
- data/node_modules/pleeease/node_modules/autoprefixer/bin/autoprefixer +13 -0
- data/node_modules/pleeease/node_modules/autoprefixer/data/browsers.js +53 -0
- data/node_modules/pleeease/node_modules/autoprefixer/data/prefixes.js +323 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/autoprefixer.js +109 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/binary.js +344 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/browsers.js +197 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/declaration.js +152 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/align-content.js +57 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/align-items.js +57 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/align-self.js +55 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/border-image.js +28 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/border-radius.js +56 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/break-inside.js +54 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/display-flex.js +67 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/fill-available.js +41 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/filter.js +29 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex-basis.js +47 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex-direction.js +71 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex-flow.js +35 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex-grow.js +41 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex-shrink.js +47 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex-spec.js +11 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex-wrap.js +33 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex.js +56 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/fullscreen.js +33 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/gradient.js +217 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/justify-content.js +62 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/order.js +52 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/placeholder.js +39 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/transform-decl.js +59 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/transform-value.js +31 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/transition.js +37 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/info.js +114 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/keyframes.js +40 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/old-selector.js +68 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/old-value.js +29 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/prefixer.js +88 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/prefixes.js +334 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/processor.js +105 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/selector.js +117 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/updater.js +234 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/utils.js +41 -0
- data/node_modules/pleeease/node_modules/autoprefixer/lib/value.js +99 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/.npmignore +2 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/CHANGELOG.md +126 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/LICENSE +15 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/README.md +371 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/copy.js +79 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/create.js +55 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/ensure.js +4 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/index.js +137 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/json.js +30 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/mkdir.js +8 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/move.js +108 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/output.js +37 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/remove.js +19 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/.bin/mkdirp +33 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/.bin/ncp +48 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/.bin/rimraf +33 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/jsonfile/.npmignore +2 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/jsonfile/CHANGELOG.md +20 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/jsonfile/LICENSE +15 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/jsonfile/README.md +121 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/jsonfile/lib/jsonfile.js +47 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/jsonfile/package.json +44 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/.npmignore +2 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/.travis.yml +5 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/LICENSE +21 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/bin/cmd.js +33 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/bin/usage.txt +12 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/examples/pow.js +6 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/index.js +97 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/.travis.yml +4 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/LICENSE +18 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/example/parse.js +2 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/index.js +187 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/package.json +52 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/readme.markdown +73 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/dash.js +24 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/default_bool.js +20 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/dotted.js +16 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/long.js +31 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/parse.js +318 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js +9 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/short.js +67 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/whitespace.js +8 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/package.json +43 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/readme.markdown +100 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/chmod.js +38 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/clobber.js +37 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/mkdirp.js +26 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/opts_fs.js +27 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/opts_fs_sync.js +25 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/perm.js +30 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/perm_sync.js +34 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/race.js +40 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/rel.js +30 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/return.js +25 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/return_sync.js +24 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/root.js +18 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/sync.js +30 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/umask.js +26 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/umask_sync.js +30 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/.npmignore +4 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/.travis.yml +6 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/LICENSE.md +21 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/README.md +58 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/bin/ncp +48 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/lib/ncp.js +230 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/package.json +43 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/a +1 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/b +1 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/c +0 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/d +0 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/e +0 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/f +0 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/sub/a +1 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/sub/b +0 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/ncp.js +86 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/AUTHORS +6 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/LICENSE +23 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/README.md +30 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/bin.js +33 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/package.json +58 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/rimraf.js +248 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/test/run.sh +16 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/test/setup.sh +47 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/test/test-async.js +5 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/test/test-sync.js +3 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/package.json +68 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/ChangeLog.md +46 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/LICENSE +20 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/README.md +784 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/at-rule.js +94 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/comment.js +38 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/container.js +315 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/declaration.js +69 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/lazy.js +18 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/list.js +64 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/map-generator.js +242 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/node.js +189 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/parse.js +496 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/postcss.js +78 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/raw.js +32 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/result.js +26 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/root.js +57 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/rule.js +59 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/syntax-error.js +27 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/vendor.js +27 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/base64-js/.travis.yml +5 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/base64-js/LICENSE.MIT +21 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/base64-js/README.md +31 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/base64-js/bench/bench.js +19 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/base64-js/lib/b64.js +120 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/base64-js/package.json +47 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/base64-js/test/convert.js +51 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/.npmignore +2 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/.tern-port +1 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/.travis.yml +4 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/CHANGELOG.md +137 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/LICENSE +28 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/Makefile.dryice.js +166 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/README.md +446 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/assert-shim.js +56 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/mini-require.js +152 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/prefix-source-map.jsm +20 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/prefix-utils.jsm +18 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/suffix-browser.js +8 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/suffix-source-map.jsm +6 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/suffix-utils.jsm +21 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/test-prefix.js +8 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/test-suffix.js +3 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map.js +8 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/array-set.js +97 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/base64-vlq.js +144 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/base64.js +42 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/binary-search.js +81 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/source-map-consumer.js +478 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/source-map-generator.js +400 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/source-node.js +400 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/util.js +302 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/node_modules/amdefine/LICENSE +58 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/node_modules/amdefine/README.md +171 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/node_modules/amdefine/amdefine.js +299 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/node_modules/amdefine/intercept.js +36 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/node_modules/amdefine/package.json +39 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/package.json +132 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/run-tests.js +62 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-api.js +26 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-array-set.js +104 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-base64-vlq.js +24 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-base64.js +35 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-dog-fooding.js +84 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-source-map-consumer.js +475 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-source-map-generator.js +549 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-source-node.js +487 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-util.js +127 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/util.js +161 -0
- data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/package.json +46 -0
- data/node_modules/pleeease/node_modules/autoprefixer/package.json +49 -0
- data/node_modules/pleeease/node_modules/autoprefixer/updaters/browsers.js +65 -0
- data/node_modules/pleeease/node_modules/autoprefixer/updaters/prefixes.js +273 -0
- data/node_modules/pleeease/node_modules/chokidar/.npmignore +35 -0
- data/node_modules/pleeease/node_modules/chokidar/CHANGELOG.md +95 -0
- data/node_modules/pleeease/node_modules/chokidar/README.md +121 -0
- data/node_modules/pleeease/node_modules/chokidar/example.js +3 -0
- data/node_modules/pleeease/node_modules/chokidar/index.js +425 -0
- data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/README.md +22 -0
- data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/index.js +45 -0
- data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/package.json +39 -0
- data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/test/recursive-raddir-test.js +17 -0
- data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/test/testdir/a/a +0 -0
- data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/test/testdir/a/beans +0 -0
- data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/test/testdir/b/123 +0 -0
- data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/test/testdir/b/b/hurp-durp +0 -0
- data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/test/testdir/c.txt +0 -0
- data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/test/testdir/d.txt +0 -0
- data/node_modules/pleeease/node_modules/chokidar/package.json +55 -0
- data/node_modules/pleeease/node_modules/chokidar/test.js +296 -0
- data/node_modules/pleeease/node_modules/colors/MIT-LICENSE.txt +22 -0
- data/node_modules/pleeease/node_modules/colors/ReadMe.md +77 -0
- data/node_modules/pleeease/node_modules/colors/colors.js +342 -0
- data/node_modules/pleeease/node_modules/colors/example.html +76 -0
- data/node_modules/pleeease/node_modules/colors/example.js +77 -0
- data/node_modules/pleeease/node_modules/colors/package.json +29 -0
- data/node_modules/pleeease/node_modules/colors/test.js +70 -0
- data/node_modules/pleeease/node_modules/colors/themes/winston-dark.js +12 -0
- data/node_modules/pleeease/node_modules/colors/themes/winston-light.js +12 -0
- data/node_modules/pleeease/node_modules/commander/Readme.md +208 -0
- data/node_modules/pleeease/node_modules/commander/index.js +852 -0
- data/node_modules/pleeease/node_modules/commander/package.json +43 -0
- data/node_modules/pleeease/node_modules/css-mqpacker/.npmignore +3 -0
- data/node_modules/pleeease/node_modules/css-mqpacker/.sass-cache/ca3e061f00144e273a11e95ed4eb3170f1f7a328/maps-input.scssc +0 -0
- data/node_modules/pleeease/node_modules/css-mqpacker/.sass-cache/ca3e061f00144e273a11e95ed4eb3170f1f7a328/sourcemap-expected.scssc +0 -0
- data/node_modules/pleeease/node_modules/css-mqpacker/README.md +141 -0
- data/node_modules/pleeease/node_modules/css-mqpacker/index.js +1 -0
- data/node_modules/pleeease/node_modules/css-mqpacker/lib/css-mqpacker.js +43 -0
- data/node_modules/pleeease/node_modules/css-mqpacker/package.json +43 -0
- data/node_modules/pleeease/node_modules/css-mqpacker/test/css-mqpacker_test.js +64 -0
- data/node_modules/pleeease/node_modules/css-mqpacker/test/expected/multi.css +31 -0
- data/node_modules/pleeease/node_modules/css-mqpacker/test/expected/query-order.css +17 -0
- data/node_modules/pleeease/node_modules/css-mqpacker/test/expected/simple.css +37 -0
- data/node_modules/pleeease/node_modules/css-mqpacker/test/fixtures/multi.css +37 -0
- data/node_modules/pleeease/node_modules/css-mqpacker/test/fixtures/query-order.css +19 -0
- data/node_modules/pleeease/node_modules/css-mqpacker/test/fixtures/simple.css +41 -0
- data/node_modules/pleeease/node_modules/csswring/.npmignore +3 -0
- data/node_modules/pleeease/node_modules/csswring/README.md +55 -0
- data/node_modules/pleeease/node_modules/csswring/bin/csswring +3 -0
- data/node_modules/pleeease/node_modules/csswring/index.js +1 -0
- data/node_modules/pleeease/node_modules/csswring/lib/cli.js +93 -0
- data/node_modules/pleeease/node_modules/csswring/lib/csswring.js +110 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/.travis.yml +4 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/LICENSE +18 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/example/parse.js +2 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/index.js +187 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/package.json +52 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/readme.markdown +73 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/dash.js +24 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/default_bool.js +20 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/dotted.js +16 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/long.js +31 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/parse.js +318 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/parse_modified.js +9 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/short.js +67 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/whitespace.js +8 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/.gitmodules +3 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/.npmignore +2 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/LICENSE +24 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/Makefile +45 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/README.md +313 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/bin/build.js +29 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/component.json +11 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/demo/demo.css +58 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/demo/demo.js +35 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/demo/index.html +54 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color-namedColors.js +150 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color.js +231 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/CMYK.js +31 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/HSL.js +30 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/HSV.js +94 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/LAB.js +33 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/XYZ.js +65 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/_all.js +25 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/_base.js +6 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/clearer.js +3 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/darken.js +5 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/desaturate.js +5 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/greyscale.js +9 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/lighten.js +5 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/mix.js +17 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/negate.js +4 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/opaquer.js +3 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/rotate.js +3 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/saturate.js +5 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/toAlpha.js +46 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/ender.js +5 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/es5-shim.js +97 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/one-color-all-debug.js +754 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/one-color-all.js +1 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/one-color-debug.js +359 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/one-color-ieshim.js +1 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/one-color.js +1 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/package.json +66 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/README.markdown +5 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/boilerplate.html +55 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/classList.js +116 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/img/rainbow-wood.jpg +0 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/index.html +234 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/license.txt +21 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/logo.png +0 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/logo.svg +52 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/plugins/css-controls.js +40 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/plugins/css-edit.js +132 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/plugins/css-snippets.js +89 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/plugins/incrementable.js +94 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/slideshow.css +288 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/slideshow.js +471 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/talk.css +41 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/theme.css +214 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/colorcat/css/colorcat.css +36 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/colorcat/css/demo.css +677 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/colorcat/images/transparent.gif +0 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/colorcat/js/colorcat.js +135 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/colorcat/js/one-color-debug.js +1137 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/1024px-HSV_color_solid_cylinder_alpha_lowgamma.png +0 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/ExtJS.png +0 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/HSL.png +0 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/HSV.png +0 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/Hsl-hsv_models_b.svg +450 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/Pixels.jpg +0 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/PullingHair.png +0 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/RGB.png +0 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/RGB_HSL_HSV_comparison.png +0 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/Space_Rainbow_desktop_background_pictures.jpg +0 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/blog.png +0 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/calendar.png +0 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/colorSpace.jpg +0 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/index.html +562 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/talk.css +137 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/theme.css +247 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/test/color-test.js +178 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/test/conversion-test.js +46 -0
- data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/test/samples.js +147 -0
- data/node_modules/pleeease/node_modules/csswring/package.json +51 -0
- data/node_modules/pleeease/node_modules/csswring/test/csswring_test.js +67 -0
- data/node_modules/pleeease/node_modules/csswring/test/expected/empty-declarations.css +1 -0
- data/node_modules/pleeease/node_modules/csswring/test/expected/extra-semicolons.css +1 -0
- data/node_modules/pleeease/node_modules/csswring/test/expected/issue3.css +1 -0
- data/node_modules/pleeease/node_modules/csswring/test/expected/simple.css +3 -0
- data/node_modules/pleeease/node_modules/csswring/test/expected/single-charset.css +1 -0
- data/node_modules/pleeease/node_modules/csswring/test/expected/value.css +1 -0
- data/node_modules/pleeease/node_modules/csswring/test/fixtures/empty-declarations.css +12 -0
- data/node_modules/pleeease/node_modules/csswring/test/fixtures/extra-semicolons.css +4 -0
- data/node_modules/pleeease/node_modules/csswring/test/fixtures/issue3.css +3 -0
- data/node_modules/pleeease/node_modules/csswring/test/fixtures/simple.css +31 -0
- data/node_modules/pleeease/node_modules/csswring/test/fixtures/single-charset.css +13 -0
- data/node_modules/pleeease/node_modules/csswring/test/fixtures/value.css +14 -0
- data/node_modules/pleeease/node_modules/deep-extend/.npmignore +1 -0
- data/node_modules/pleeease/node_modules/deep-extend/LICENSE +20 -0
- data/node_modules/pleeease/node_modules/deep-extend/README.md +52 -0
- data/node_modules/pleeease/node_modules/deep-extend/index.js +87 -0
- data/node_modules/pleeease/node_modules/deep-extend/package.json +45 -0
- data/node_modules/pleeease/node_modules/deep-extend/test/index.spec.js +44 -0
- data/node_modules/pleeease/node_modules/deep-extend/test/mocha.opts +1 -0
- data/node_modules/pleeease/node_modules/mkdirp/.npmignore +2 -0
- data/node_modules/pleeease/node_modules/mkdirp/.travis.yml +5 -0
- data/node_modules/pleeease/node_modules/mkdirp/LICENSE +21 -0
- data/node_modules/pleeease/node_modules/mkdirp/bin/cmd.js +33 -0
- data/node_modules/pleeease/node_modules/mkdirp/bin/usage.txt +12 -0
- data/node_modules/pleeease/node_modules/mkdirp/examples/pow.js +6 -0
- data/node_modules/pleeease/node_modules/mkdirp/index.js +80 -0
- data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/.travis.yml +4 -0
- data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/LICENSE +18 -0
- data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/example/parse.js +2 -0
- data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/index.js +187 -0
- data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/package.json +52 -0
- data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/readme.markdown +73 -0
- data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/dash.js +24 -0
- data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/default_bool.js +20 -0
- data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/dotted.js +16 -0
- data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/long.js +31 -0
- data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/parse.js +318 -0
- data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js +9 -0
- data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/short.js +67 -0
- data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/whitespace.js +8 -0
- data/node_modules/pleeease/node_modules/mkdirp/package.json +42 -0
- data/node_modules/pleeease/node_modules/mkdirp/readme.markdown +90 -0
- data/node_modules/pleeease/node_modules/mkdirp/test/chmod.js +38 -0
- data/node_modules/pleeease/node_modules/mkdirp/test/clobber.js +37 -0
- data/node_modules/pleeease/node_modules/mkdirp/test/mkdirp.js +28 -0
- data/node_modules/pleeease/node_modules/mkdirp/test/perm.js +32 -0
- data/node_modules/pleeease/node_modules/mkdirp/test/perm_sync.js +39 -0
- data/node_modules/pleeease/node_modules/mkdirp/test/race.js +41 -0
- data/node_modules/pleeease/node_modules/mkdirp/test/rel.js +32 -0
- data/node_modules/pleeease/node_modules/mkdirp/test/return.js +25 -0
- data/node_modules/pleeease/node_modules/mkdirp/test/return_sync.js +24 -0
- data/node_modules/pleeease/node_modules/mkdirp/test/root.js +18 -0
- data/node_modules/pleeease/node_modules/mkdirp/test/sync.js +32 -0
- data/node_modules/pleeease/node_modules/mkdirp/test/umask.js +28 -0
- data/node_modules/pleeease/node_modules/mkdirp/test/umask_sync.js +32 -0
- data/node_modules/pleeease/node_modules/multi-glob/.npmignore +2 -0
- data/node_modules/pleeease/node_modules/multi-glob/.travis.yml +3 -0
- data/node_modules/pleeease/node_modules/multi-glob/AUTHORS +2 -0
- data/node_modules/pleeease/node_modules/multi-glob/LICENSE +27 -0
- data/node_modules/pleeease/node_modules/multi-glob/Readme.rst +42 -0
- data/node_modules/pleeease/node_modules/multi-glob/autolint.js +20 -0
- data/node_modules/pleeease/node_modules/multi-glob/buster.js +6 -0
- data/node_modules/pleeease/node_modules/multi-glob/lib/multi-glob.js +39 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/async/.travis.yml +3 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/async/LICENSE +19 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/async/README.md +1646 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/async/component.json +11 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/async/lib/async.js +1123 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/async/package.json +45 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/.npmignore +2 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/.travis.yml +4 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/LICENSE +27 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/README.md +250 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/examples/g.js +9 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/examples/usr-local.js +9 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/glob.js +738 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/inherits/LICENSE +16 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/inherits/README.md +42 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/inherits/inherits.js +1 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/inherits/inherits_browser.js +23 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/inherits/package.json +33 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/inherits/test.js +25 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/.npmignore +1 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/LICENSE +23 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/README.md +218 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/minimatch.js +1061 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/.npmignore +1 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS +14 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/LICENSE +23 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/README.md +97 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js +252 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json +33 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/test/basic.js +369 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/test/foreach.js +52 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js +50 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/sigmund/LICENSE +27 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/sigmund/README.md +53 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/sigmund/bench.js +283 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/sigmund/package.json +42 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/sigmund/sigmund.js +39 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/sigmund/test/basic.js +24 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/package.json +42 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/test/basic.js +399 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/test/brace-expand.js +33 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/test/caching.js +14 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/test/defaults.js +274 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/test/extglob-ending-with-state-char.js +8 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/once/LICENSE +27 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/once/README.md +51 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/once/once.js +20 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/once/package.json +42 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/once/test/once.js +20 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/package.json +43 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/00-setup.js +176 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/bash-comparison.js +63 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/bash-results.json +354 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/cwd-test.js +55 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/empty-set.js +20 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/error-callback.js +20 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/globstar-match.js +19 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/mark.js +118 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/new-glob-optional-options.js +10 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/nocase-nomagic.js +124 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/pause-resume.js +73 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/readme-issue.js +36 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/root-nomount.js +39 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/root.js +46 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/stat.js +32 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/zz-cleanup.js +11 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/LICENSE.txt +22 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/README.md +163 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/dist/lodash.compat.js +7157 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/dist/lodash.compat.min.js +61 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/dist/lodash.js +6785 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/dist/lodash.min.js +56 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/dist/lodash.underscore.js +4979 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/dist/lodash.underscore.min.js +39 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/lodash.js +7179 -0
- data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/package.json +102 -0
- data/node_modules/pleeease/node_modules/multi-glob/package.json +46 -0
- data/node_modules/pleeease/node_modules/multi-glob/test/multi-glob-test.js +113 -0
- data/node_modules/pleeease/node_modules/pixrem/.editorconfig +13 -0
- data/node_modules/pleeease/node_modules/pixrem/.gitattributes +1 -0
- data/node_modules/pleeease/node_modules/pixrem/.gitignore +2 -0
- data/node_modules/pleeease/node_modules/pixrem/.jshintrc +22 -0
- data/node_modules/pleeease/node_modules/pixrem/.travis.yml +4 -0
- data/node_modules/pleeease/node_modules/pixrem/LICENSE +22 -0
- data/node_modules/pleeease/node_modules/pixrem/README.md +108 -0
- data/node_modules/pleeease/node_modules/pixrem/lib/pixrem.js +73 -0
- data/node_modules/pleeease/node_modules/pixrem/package.json +50 -0
- data/node_modules/pleeease/node_modules/pixrem/spec/pixrem-spec.js +78 -0
- data/node_modules/pleeease/node_modules/postcss-vars/README.md +84 -0
- data/node_modules/pleeease/node_modules/postcss-vars/lib/index.js +91 -0
- data/node_modules/pleeease/node_modules/postcss-vars/package.json +18 -0
- data/node_modules/pleeease/node_modules/postcss/ChangeLog.md +42 -0
- data/node_modules/pleeease/node_modules/postcss/LICENSE +20 -0
- data/node_modules/pleeease/node_modules/postcss/README.md +732 -0
- data/node_modules/pleeease/node_modules/postcss/lib/at-rule.js +94 -0
- data/node_modules/pleeease/node_modules/postcss/lib/comment.js +38 -0
- data/node_modules/pleeease/node_modules/postcss/lib/container.js +315 -0
- data/node_modules/pleeease/node_modules/postcss/lib/declaration.js +69 -0
- data/node_modules/pleeease/node_modules/postcss/lib/lazy.js +18 -0
- data/node_modules/pleeease/node_modules/postcss/lib/list.js +64 -0
- data/node_modules/pleeease/node_modules/postcss/lib/map-generator.js +242 -0
- data/node_modules/pleeease/node_modules/postcss/lib/node.js +189 -0
- data/node_modules/pleeease/node_modules/postcss/lib/parse.js +496 -0
- data/node_modules/pleeease/node_modules/postcss/lib/postcss.js +76 -0
- data/node_modules/pleeease/node_modules/postcss/lib/raw.js +32 -0
- data/node_modules/pleeease/node_modules/postcss/lib/result.js +22 -0
- data/node_modules/pleeease/node_modules/postcss/lib/root.js +57 -0
- data/node_modules/pleeease/node_modules/postcss/lib/rule.js +59 -0
- data/node_modules/pleeease/node_modules/postcss/lib/syntax-error.js +27 -0
- data/node_modules/pleeease/node_modules/postcss/lib/vendor.js +27 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/base64-js/.travis.yml +5 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/base64-js/LICENSE.MIT +21 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/base64-js/README.md +31 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/base64-js/bench/bench.js +19 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/base64-js/lib/b64.js +120 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/base64-js/package.json +47 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/base64-js/test/convert.js +51 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/.npmignore +2 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/.tern-port +1 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/.travis.yml +4 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/CHANGELOG.md +137 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/LICENSE +28 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/Makefile.dryice.js +166 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/README.md +446 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/assert-shim.js +56 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/mini-require.js +152 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/prefix-source-map.jsm +20 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/prefix-utils.jsm +18 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/suffix-browser.js +8 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/suffix-source-map.jsm +6 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/suffix-utils.jsm +21 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/test-prefix.js +8 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/test-suffix.js +3 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map.js +8 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/array-set.js +97 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/base64-vlq.js +144 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/base64.js +42 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/binary-search.js +81 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/source-map-consumer.js +478 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/source-map-generator.js +400 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/source-node.js +400 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/util.js +302 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/node_modules/amdefine/LICENSE +58 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/node_modules/amdefine/README.md +171 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/node_modules/amdefine/amdefine.js +299 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/node_modules/amdefine/intercept.js +36 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/node_modules/amdefine/package.json +38 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/package.json +132 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/run-tests.js +62 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-api.js +26 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-array-set.js +104 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-base64-vlq.js +24 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-base64.js +35 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-dog-fooding.js +84 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-source-map-consumer.js +475 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-source-map-generator.js +549 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-source-node.js +487 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-util.js +127 -0
- data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/util.js +161 -0
- data/node_modules/pleeease/node_modules/postcss/package.json +46 -0
- data/node_modules/pleeease/package.json +40 -0
- data/node_modules/pleeease/spec/pleeease-spec.js +112 -0
- data/node_modules/pleeease/spec/prefixes.css +1 -0
- data/node_modules/pleeease/test/.pleeeaserc +7 -0
- data/node_modules/pleeease/test/app.min.css +42 -0
- data/node_modules/pleeease/test/bar.css +11 -0
- data/node_modules/pleeease/test/foo.css +25 -0
- data/node_modules/pleeease/test/import/imported.css +3 -0
- data/package.json +11 -0
- data/pleeease.gemspec +23 -0
- metadata +685 -0
@@ -0,0 +1 @@
|
|
1
|
+
/node_modules
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# Authors, sorted by whether or not they are me
|
2
|
+
Isaac Z. Schlueter <i@izs.me>
|
3
|
+
Brian Cottingham <spiffytech@gmail.com>
|
4
|
+
Carlos Brito Lage <carlos@carloslage.net>
|
5
|
+
Jesse Dailey <jesse.dailey@gmail.com>
|
6
|
+
Kevin O'Hara <kevinohara80@gmail.com>
|
7
|
+
Marco Rogers <marco.rogers@gmail.com>
|
8
|
+
Mark Cavage <mcavage@gmail.com>
|
9
|
+
Marko Mikulicic <marko.mikulicic@isti.cnr.it>
|
10
|
+
Nathan Rajlich <nathan@tootallnate.net>
|
11
|
+
Satheesh Natesan <snateshan@myspace-inc.com>
|
12
|
+
Trent Mick <trentm@gmail.com>
|
13
|
+
ashleybrener <ashley@starlogik.com>
|
14
|
+
n4kz <n4kz@n4kz.com>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
Copyright 2009, 2010, 2011 Isaac Z. Schlueter.
|
2
|
+
All rights reserved.
|
3
|
+
|
4
|
+
Permission is hereby granted, free of charge, to any person
|
5
|
+
obtaining a copy of this software and associated documentation
|
6
|
+
files (the "Software"), to deal in the Software without
|
7
|
+
restriction, including without limitation the rights to use,
|
8
|
+
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the
|
10
|
+
Software is furnished to do so, subject to the following
|
11
|
+
conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
18
|
+
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
20
|
+
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
21
|
+
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
22
|
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
23
|
+
OTHER DEALINGS IN THE SOFTWARE.
|
@@ -0,0 +1,97 @@
|
|
1
|
+
# lru cache
|
2
|
+
|
3
|
+
A cache object that deletes the least-recently-used items.
|
4
|
+
|
5
|
+
## Usage:
|
6
|
+
|
7
|
+
```javascript
|
8
|
+
var LRU = require("lru-cache")
|
9
|
+
, options = { max: 500
|
10
|
+
, length: function (n) { return n * 2 }
|
11
|
+
, dispose: function (key, n) { n.close() }
|
12
|
+
, maxAge: 1000 * 60 * 60 }
|
13
|
+
, cache = LRU(options)
|
14
|
+
, otherCache = LRU(50) // sets just the max size
|
15
|
+
|
16
|
+
cache.set("key", "value")
|
17
|
+
cache.get("key") // "value"
|
18
|
+
|
19
|
+
cache.reset() // empty the cache
|
20
|
+
```
|
21
|
+
|
22
|
+
If you put more stuff in it, then items will fall out.
|
23
|
+
|
24
|
+
If you try to put an oversized thing in it, then it'll fall out right
|
25
|
+
away.
|
26
|
+
|
27
|
+
## Options
|
28
|
+
|
29
|
+
* `max` The maximum size of the cache, checked by applying the length
|
30
|
+
function to all values in the cache. Not setting this is kind of
|
31
|
+
silly, since that's the whole purpose of this lib, but it defaults
|
32
|
+
to `Infinity`.
|
33
|
+
* `maxAge` Maximum age in ms. Items are not pro-actively pruned out
|
34
|
+
as they age, but if you try to get an item that is too old, it'll
|
35
|
+
drop it and return undefined instead of giving it to you.
|
36
|
+
* `length` Function that is used to calculate the length of stored
|
37
|
+
items. If you're storing strings or buffers, then you probably want
|
38
|
+
to do something like `function(n){return n.length}`. The default is
|
39
|
+
`function(n){return 1}`, which is fine if you want to store `n`
|
40
|
+
like-sized things.
|
41
|
+
* `dispose` Function that is called on items when they are dropped
|
42
|
+
from the cache. This can be handy if you want to close file
|
43
|
+
descriptors or do other cleanup tasks when items are no longer
|
44
|
+
accessible. Called with `key, value`. It's called *before*
|
45
|
+
actually removing the item from the internal cache, so if you want
|
46
|
+
to immediately put it back in, you'll have to do that in a
|
47
|
+
`nextTick` or `setTimeout` callback or it won't do anything.
|
48
|
+
* `stale` By default, if you set a `maxAge`, it'll only actually pull
|
49
|
+
stale items out of the cache when you `get(key)`. (That is, it's
|
50
|
+
not pre-emptively doing a `setTimeout` or anything.) If you set
|
51
|
+
`stale:true`, it'll return the stale value before deleting it. If
|
52
|
+
you don't set this, then it'll return `undefined` when you try to
|
53
|
+
get a stale entry, as if it had already been deleted.
|
54
|
+
|
55
|
+
## API
|
56
|
+
|
57
|
+
* `set(key, value)`
|
58
|
+
* `get(key) => value`
|
59
|
+
|
60
|
+
Both of these will update the "recently used"-ness of the key.
|
61
|
+
They do what you think.
|
62
|
+
|
63
|
+
* `peek(key)`
|
64
|
+
|
65
|
+
Returns the key value (or `undefined` if not found) without
|
66
|
+
updating the "recently used"-ness of the key.
|
67
|
+
|
68
|
+
(If you find yourself using this a lot, you *might* be using the
|
69
|
+
wrong sort of data structure, but there are some use cases where
|
70
|
+
it's handy.)
|
71
|
+
|
72
|
+
* `del(key)`
|
73
|
+
|
74
|
+
Deletes a key out of the cache.
|
75
|
+
|
76
|
+
* `reset()`
|
77
|
+
|
78
|
+
Clear the cache entirely, throwing away all values.
|
79
|
+
|
80
|
+
* `has(key)`
|
81
|
+
|
82
|
+
Check if a key is in the cache, without updating the recent-ness
|
83
|
+
or deleting it for being stale.
|
84
|
+
|
85
|
+
* `forEach(function(value,key,cache), [thisp])`
|
86
|
+
|
87
|
+
Just like `Array.prototype.forEach`. Iterates over all the keys
|
88
|
+
in the cache, in order of recent-ness. (Ie, more recently used
|
89
|
+
items are iterated over first.)
|
90
|
+
|
91
|
+
* `keys()`
|
92
|
+
|
93
|
+
Return an array of the keys in the cache.
|
94
|
+
|
95
|
+
* `values()`
|
96
|
+
|
97
|
+
Return an array of the values in the cache.
|
@@ -0,0 +1,252 @@
|
|
1
|
+
;(function () { // closure for web browsers
|
2
|
+
|
3
|
+
if (typeof module === 'object' && module.exports) {
|
4
|
+
module.exports = LRUCache
|
5
|
+
} else {
|
6
|
+
// just set the global for non-node platforms.
|
7
|
+
this.LRUCache = LRUCache
|
8
|
+
}
|
9
|
+
|
10
|
+
function hOP (obj, key) {
|
11
|
+
return Object.prototype.hasOwnProperty.call(obj, key)
|
12
|
+
}
|
13
|
+
|
14
|
+
function naiveLength () { return 1 }
|
15
|
+
|
16
|
+
function LRUCache (options) {
|
17
|
+
if (!(this instanceof LRUCache))
|
18
|
+
return new LRUCache(options)
|
19
|
+
|
20
|
+
if (typeof options === 'number')
|
21
|
+
options = { max: options }
|
22
|
+
|
23
|
+
if (!options)
|
24
|
+
options = {}
|
25
|
+
|
26
|
+
this._max = options.max
|
27
|
+
// Kind of weird to have a default max of Infinity, but oh well.
|
28
|
+
if (!this._max || !(typeof this._max === "number") || this._max <= 0 )
|
29
|
+
this._max = Infinity
|
30
|
+
|
31
|
+
this._lengthCalculator = options.length || naiveLength
|
32
|
+
if (typeof this._lengthCalculator !== "function")
|
33
|
+
this._lengthCalculator = naiveLength
|
34
|
+
|
35
|
+
this._allowStale = options.stale || false
|
36
|
+
this._maxAge = options.maxAge || null
|
37
|
+
this._dispose = options.dispose
|
38
|
+
this.reset()
|
39
|
+
}
|
40
|
+
|
41
|
+
// resize the cache when the max changes.
|
42
|
+
Object.defineProperty(LRUCache.prototype, "max",
|
43
|
+
{ set : function (mL) {
|
44
|
+
if (!mL || !(typeof mL === "number") || mL <= 0 ) mL = Infinity
|
45
|
+
this._max = mL
|
46
|
+
if (this._length > this._max) trim(this)
|
47
|
+
}
|
48
|
+
, get : function () { return this._max }
|
49
|
+
, enumerable : true
|
50
|
+
})
|
51
|
+
|
52
|
+
// resize the cache when the lengthCalculator changes.
|
53
|
+
Object.defineProperty(LRUCache.prototype, "lengthCalculator",
|
54
|
+
{ set : function (lC) {
|
55
|
+
if (typeof lC !== "function") {
|
56
|
+
this._lengthCalculator = naiveLength
|
57
|
+
this._length = this._itemCount
|
58
|
+
for (var key in this._cache) {
|
59
|
+
this._cache[key].length = 1
|
60
|
+
}
|
61
|
+
} else {
|
62
|
+
this._lengthCalculator = lC
|
63
|
+
this._length = 0
|
64
|
+
for (var key in this._cache) {
|
65
|
+
this._cache[key].length = this._lengthCalculator(this._cache[key].value)
|
66
|
+
this._length += this._cache[key].length
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
70
|
+
if (this._length > this._max) trim(this)
|
71
|
+
}
|
72
|
+
, get : function () { return this._lengthCalculator }
|
73
|
+
, enumerable : true
|
74
|
+
})
|
75
|
+
|
76
|
+
Object.defineProperty(LRUCache.prototype, "length",
|
77
|
+
{ get : function () { return this._length }
|
78
|
+
, enumerable : true
|
79
|
+
})
|
80
|
+
|
81
|
+
|
82
|
+
Object.defineProperty(LRUCache.prototype, "itemCount",
|
83
|
+
{ get : function () { return this._itemCount }
|
84
|
+
, enumerable : true
|
85
|
+
})
|
86
|
+
|
87
|
+
LRUCache.prototype.forEach = function (fn, thisp) {
|
88
|
+
thisp = thisp || this
|
89
|
+
var i = 0;
|
90
|
+
for (var k = this._mru - 1; k >= 0 && i < this._itemCount; k--) if (this._lruList[k]) {
|
91
|
+
i++
|
92
|
+
var hit = this._lruList[k]
|
93
|
+
if (this._maxAge && (Date.now() - hit.now > this._maxAge)) {
|
94
|
+
del(this, hit)
|
95
|
+
if (!this._allowStale) hit = undefined
|
96
|
+
}
|
97
|
+
if (hit) {
|
98
|
+
fn.call(thisp, hit.value, hit.key, this)
|
99
|
+
}
|
100
|
+
}
|
101
|
+
}
|
102
|
+
|
103
|
+
LRUCache.prototype.keys = function () {
|
104
|
+
var keys = new Array(this._itemCount)
|
105
|
+
var i = 0
|
106
|
+
for (var k = this._mru - 1; k >= 0 && i < this._itemCount; k--) if (this._lruList[k]) {
|
107
|
+
var hit = this._lruList[k]
|
108
|
+
keys[i++] = hit.key
|
109
|
+
}
|
110
|
+
return keys
|
111
|
+
}
|
112
|
+
|
113
|
+
LRUCache.prototype.values = function () {
|
114
|
+
var values = new Array(this._itemCount)
|
115
|
+
var i = 0
|
116
|
+
for (var k = this._mru - 1; k >= 0 && i < this._itemCount; k--) if (this._lruList[k]) {
|
117
|
+
var hit = this._lruList[k]
|
118
|
+
values[i++] = hit.value
|
119
|
+
}
|
120
|
+
return values
|
121
|
+
}
|
122
|
+
|
123
|
+
LRUCache.prototype.reset = function () {
|
124
|
+
if (this._dispose && this._cache) {
|
125
|
+
for (var k in this._cache) {
|
126
|
+
this._dispose(k, this._cache[k].value)
|
127
|
+
}
|
128
|
+
}
|
129
|
+
|
130
|
+
this._cache = Object.create(null) // hash of items by key
|
131
|
+
this._lruList = Object.create(null) // list of items in order of use recency
|
132
|
+
this._mru = 0 // most recently used
|
133
|
+
this._lru = 0 // least recently used
|
134
|
+
this._length = 0 // number of items in the list
|
135
|
+
this._itemCount = 0
|
136
|
+
}
|
137
|
+
|
138
|
+
// Provided for debugging/dev purposes only. No promises whatsoever that
|
139
|
+
// this API stays stable.
|
140
|
+
LRUCache.prototype.dump = function () {
|
141
|
+
return this._cache
|
142
|
+
}
|
143
|
+
|
144
|
+
LRUCache.prototype.dumpLru = function () {
|
145
|
+
return this._lruList
|
146
|
+
}
|
147
|
+
|
148
|
+
LRUCache.prototype.set = function (key, value) {
|
149
|
+
if (hOP(this._cache, key)) {
|
150
|
+
// dispose of the old one before overwriting
|
151
|
+
if (this._dispose) this._dispose(key, this._cache[key].value)
|
152
|
+
if (this._maxAge) this._cache[key].now = Date.now()
|
153
|
+
this._cache[key].value = value
|
154
|
+
this.get(key)
|
155
|
+
return true
|
156
|
+
}
|
157
|
+
|
158
|
+
var len = this._lengthCalculator(value)
|
159
|
+
var age = this._maxAge ? Date.now() : 0
|
160
|
+
var hit = new Entry(key, value, this._mru++, len, age)
|
161
|
+
|
162
|
+
// oversized objects fall out of cache automatically.
|
163
|
+
if (hit.length > this._max) {
|
164
|
+
if (this._dispose) this._dispose(key, value)
|
165
|
+
return false
|
166
|
+
}
|
167
|
+
|
168
|
+
this._length += hit.length
|
169
|
+
this._lruList[hit.lu] = this._cache[key] = hit
|
170
|
+
this._itemCount ++
|
171
|
+
|
172
|
+
if (this._length > this._max) trim(this)
|
173
|
+
return true
|
174
|
+
}
|
175
|
+
|
176
|
+
LRUCache.prototype.has = function (key) {
|
177
|
+
if (!hOP(this._cache, key)) return false
|
178
|
+
var hit = this._cache[key]
|
179
|
+
if (this._maxAge && (Date.now() - hit.now > this._maxAge)) {
|
180
|
+
return false
|
181
|
+
}
|
182
|
+
return true
|
183
|
+
}
|
184
|
+
|
185
|
+
LRUCache.prototype.get = function (key) {
|
186
|
+
return get(this, key, true)
|
187
|
+
}
|
188
|
+
|
189
|
+
LRUCache.prototype.peek = function (key) {
|
190
|
+
return get(this, key, false)
|
191
|
+
}
|
192
|
+
|
193
|
+
LRUCache.prototype.pop = function () {
|
194
|
+
var hit = this._lruList[this._lru]
|
195
|
+
del(this, hit)
|
196
|
+
return hit || null
|
197
|
+
}
|
198
|
+
|
199
|
+
LRUCache.prototype.del = function (key) {
|
200
|
+
del(this, this._cache[key])
|
201
|
+
}
|
202
|
+
|
203
|
+
function get (self, key, doUse) {
|
204
|
+
var hit = self._cache[key]
|
205
|
+
if (hit) {
|
206
|
+
if (self._maxAge && (Date.now() - hit.now > self._maxAge)) {
|
207
|
+
del(self, hit)
|
208
|
+
if (!self._allowStale) hit = undefined
|
209
|
+
} else {
|
210
|
+
if (doUse) use(self, hit)
|
211
|
+
}
|
212
|
+
if (hit) hit = hit.value
|
213
|
+
}
|
214
|
+
return hit
|
215
|
+
}
|
216
|
+
|
217
|
+
function use (self, hit) {
|
218
|
+
shiftLU(self, hit)
|
219
|
+
hit.lu = self._mru ++
|
220
|
+
self._lruList[hit.lu] = hit
|
221
|
+
}
|
222
|
+
|
223
|
+
function trim (self) {
|
224
|
+
while (self._lru < self._mru && self._length > self._max)
|
225
|
+
del(self, self._lruList[self._lru])
|
226
|
+
}
|
227
|
+
|
228
|
+
function shiftLU (self, hit) {
|
229
|
+
delete self._lruList[ hit.lu ]
|
230
|
+
while (self._lru < self._mru && !self._lruList[self._lru]) self._lru ++
|
231
|
+
}
|
232
|
+
|
233
|
+
function del (self, hit) {
|
234
|
+
if (hit) {
|
235
|
+
if (self._dispose) self._dispose(hit.key, hit.value)
|
236
|
+
self._length -= hit.length
|
237
|
+
self._itemCount --
|
238
|
+
delete self._cache[ hit.key ]
|
239
|
+
shiftLU(self, hit)
|
240
|
+
}
|
241
|
+
}
|
242
|
+
|
243
|
+
// classy, since V8 prefers predictable objects.
|
244
|
+
function Entry (key, value, lu, length, now) {
|
245
|
+
this.key = key
|
246
|
+
this.value = value
|
247
|
+
this.lu = lu
|
248
|
+
this.length = length
|
249
|
+
this.now = now
|
250
|
+
}
|
251
|
+
|
252
|
+
})()
|
@@ -0,0 +1,33 @@
|
|
1
|
+
{
|
2
|
+
"name": "lru-cache",
|
3
|
+
"description": "A cache object that deletes the least-recently-used items.",
|
4
|
+
"version": "2.5.0",
|
5
|
+
"author": {
|
6
|
+
"name": "Isaac Z. Schlueter",
|
7
|
+
"email": "i@izs.me"
|
8
|
+
},
|
9
|
+
"scripts": {
|
10
|
+
"test": "tap test --gc"
|
11
|
+
},
|
12
|
+
"main": "lib/lru-cache.js",
|
13
|
+
"repository": {
|
14
|
+
"type": "git",
|
15
|
+
"url": "git://github.com/isaacs/node-lru-cache.git"
|
16
|
+
},
|
17
|
+
"devDependencies": {
|
18
|
+
"tap": "",
|
19
|
+
"weak": ""
|
20
|
+
},
|
21
|
+
"license": {
|
22
|
+
"type": "MIT",
|
23
|
+
"url": "http://github.com/isaacs/node-lru-cache/raw/master/LICENSE"
|
24
|
+
},
|
25
|
+
"readme": "# lru cache\n\nA cache object that deletes the least-recently-used items.\n\n## Usage:\n\n```javascript\nvar LRU = require(\"lru-cache\")\n , options = { max: 500\n , length: function (n) { return n * 2 }\n , dispose: function (key, n) { n.close() }\n , maxAge: 1000 * 60 * 60 }\n , cache = LRU(options)\n , otherCache = LRU(50) // sets just the max size\n\ncache.set(\"key\", \"value\")\ncache.get(\"key\") // \"value\"\n\ncache.reset() // empty the cache\n```\n\nIf you put more stuff in it, then items will fall out.\n\nIf you try to put an oversized thing in it, then it'll fall out right\naway.\n\n## Options\n\n* `max` The maximum size of the cache, checked by applying the length\n function to all values in the cache. Not setting this is kind of\n silly, since that's the whole purpose of this lib, but it defaults\n to `Infinity`.\n* `maxAge` Maximum age in ms. Items are not pro-actively pruned out\n as they age, but if you try to get an item that is too old, it'll\n drop it and return undefined instead of giving it to you.\n* `length` Function that is used to calculate the length of stored\n items. If you're storing strings or buffers, then you probably want\n to do something like `function(n){return n.length}`. The default is\n `function(n){return 1}`, which is fine if you want to store `n`\n like-sized things.\n* `dispose` Function that is called on items when they are dropped\n from the cache. This can be handy if you want to close file\n descriptors or do other cleanup tasks when items are no longer\n accessible. Called with `key, value`. It's called *before*\n actually removing the item from the internal cache, so if you want\n to immediately put it back in, you'll have to do that in a\n `nextTick` or `setTimeout` callback or it won't do anything.\n* `stale` By default, if you set a `maxAge`, it'll only actually pull\n stale items out of the cache when you `get(key)`. (That is, it's\n not pre-emptively doing a `setTimeout` or anything.) If you set\n `stale:true`, it'll return the stale value before deleting it. If\n you don't set this, then it'll return `undefined` when you try to\n get a stale entry, as if it had already been deleted.\n\n## API\n\n* `set(key, value)`\n* `get(key) => value`\n\n Both of these will update the \"recently used\"-ness of the key.\n They do what you think.\n\n* `peek(key)`\n\n Returns the key value (or `undefined` if not found) without\n updating the \"recently used\"-ness of the key.\n\n (If you find yourself using this a lot, you *might* be using the\n wrong sort of data structure, but there are some use cases where\n it's handy.)\n\n* `del(key)`\n\n Deletes a key out of the cache.\n\n* `reset()`\n\n Clear the cache entirely, throwing away all values.\n\n* `has(key)`\n\n Check if a key is in the cache, without updating the recent-ness\n or deleting it for being stale.\n\n* `forEach(function(value,key,cache), [thisp])`\n\n Just like `Array.prototype.forEach`. Iterates over all the keys\n in the cache, in order of recent-ness. (Ie, more recently used\n items are iterated over first.)\n\n* `keys()`\n\n Return an array of the keys in the cache.\n\n* `values()`\n\n Return an array of the values in the cache.\n",
|
26
|
+
"readmeFilename": "README.md",
|
27
|
+
"bugs": {
|
28
|
+
"url": "https://github.com/isaacs/node-lru-cache/issues"
|
29
|
+
},
|
30
|
+
"homepage": "https://github.com/isaacs/node-lru-cache",
|
31
|
+
"_id": "lru-cache@2.5.0",
|
32
|
+
"_from": "lru-cache@2"
|
33
|
+
}
|
@@ -0,0 +1,369 @@
|
|
1
|
+
var test = require("tap").test
|
2
|
+
, LRU = require("../")
|
3
|
+
|
4
|
+
test("basic", function (t) {
|
5
|
+
var cache = new LRU({max: 10})
|
6
|
+
cache.set("key", "value")
|
7
|
+
t.equal(cache.get("key"), "value")
|
8
|
+
t.equal(cache.get("nada"), undefined)
|
9
|
+
t.equal(cache.length, 1)
|
10
|
+
t.equal(cache.max, 10)
|
11
|
+
t.end()
|
12
|
+
})
|
13
|
+
|
14
|
+
test("least recently set", function (t) {
|
15
|
+
var cache = new LRU(2)
|
16
|
+
cache.set("a", "A")
|
17
|
+
cache.set("b", "B")
|
18
|
+
cache.set("c", "C")
|
19
|
+
t.equal(cache.get("c"), "C")
|
20
|
+
t.equal(cache.get("b"), "B")
|
21
|
+
t.equal(cache.get("a"), undefined)
|
22
|
+
t.end()
|
23
|
+
})
|
24
|
+
|
25
|
+
test("lru recently gotten", function (t) {
|
26
|
+
var cache = new LRU(2)
|
27
|
+
cache.set("a", "A")
|
28
|
+
cache.set("b", "B")
|
29
|
+
cache.get("a")
|
30
|
+
cache.set("c", "C")
|
31
|
+
t.equal(cache.get("c"), "C")
|
32
|
+
t.equal(cache.get("b"), undefined)
|
33
|
+
t.equal(cache.get("a"), "A")
|
34
|
+
t.end()
|
35
|
+
})
|
36
|
+
|
37
|
+
test("del", function (t) {
|
38
|
+
var cache = new LRU(2)
|
39
|
+
cache.set("a", "A")
|
40
|
+
cache.del("a")
|
41
|
+
t.equal(cache.get("a"), undefined)
|
42
|
+
t.end()
|
43
|
+
})
|
44
|
+
|
45
|
+
test("max", function (t) {
|
46
|
+
var cache = new LRU(3)
|
47
|
+
|
48
|
+
// test changing the max, verify that the LRU items get dropped.
|
49
|
+
cache.max = 100
|
50
|
+
for (var i = 0; i < 100; i ++) cache.set(i, i)
|
51
|
+
t.equal(cache.length, 100)
|
52
|
+
for (var i = 0; i < 100; i ++) {
|
53
|
+
t.equal(cache.get(i), i)
|
54
|
+
}
|
55
|
+
cache.max = 3
|
56
|
+
t.equal(cache.length, 3)
|
57
|
+
for (var i = 0; i < 97; i ++) {
|
58
|
+
t.equal(cache.get(i), undefined)
|
59
|
+
}
|
60
|
+
for (var i = 98; i < 100; i ++) {
|
61
|
+
t.equal(cache.get(i), i)
|
62
|
+
}
|
63
|
+
|
64
|
+
// now remove the max restriction, and try again.
|
65
|
+
cache.max = "hello"
|
66
|
+
for (var i = 0; i < 100; i ++) cache.set(i, i)
|
67
|
+
t.equal(cache.length, 100)
|
68
|
+
for (var i = 0; i < 100; i ++) {
|
69
|
+
t.equal(cache.get(i), i)
|
70
|
+
}
|
71
|
+
// should trigger an immediate resize
|
72
|
+
cache.max = 3
|
73
|
+
t.equal(cache.length, 3)
|
74
|
+
for (var i = 0; i < 97; i ++) {
|
75
|
+
t.equal(cache.get(i), undefined)
|
76
|
+
}
|
77
|
+
for (var i = 98; i < 100; i ++) {
|
78
|
+
t.equal(cache.get(i), i)
|
79
|
+
}
|
80
|
+
t.end()
|
81
|
+
})
|
82
|
+
|
83
|
+
test("reset", function (t) {
|
84
|
+
var cache = new LRU(10)
|
85
|
+
cache.set("a", "A")
|
86
|
+
cache.set("b", "B")
|
87
|
+
cache.reset()
|
88
|
+
t.equal(cache.length, 0)
|
89
|
+
t.equal(cache.max, 10)
|
90
|
+
t.equal(cache.get("a"), undefined)
|
91
|
+
t.equal(cache.get("b"), undefined)
|
92
|
+
t.end()
|
93
|
+
})
|
94
|
+
|
95
|
+
|
96
|
+
// Note: `<cache>.dump()` is a debugging tool only. No guarantees are made
|
97
|
+
// about the format/layout of the response.
|
98
|
+
test("dump", function (t) {
|
99
|
+
var cache = new LRU(10)
|
100
|
+
var d = cache.dump();
|
101
|
+
t.equal(Object.keys(d).length, 0, "nothing in dump for empty cache")
|
102
|
+
cache.set("a", "A")
|
103
|
+
var d = cache.dump() // { a: { key: "a", value: "A", lu: 0 } }
|
104
|
+
t.ok(d.a)
|
105
|
+
t.equal(d.a.key, "a")
|
106
|
+
t.equal(d.a.value, "A")
|
107
|
+
t.equal(d.a.lu, 0)
|
108
|
+
|
109
|
+
cache.set("b", "B")
|
110
|
+
cache.get("b")
|
111
|
+
d = cache.dump()
|
112
|
+
t.ok(d.b)
|
113
|
+
t.equal(d.b.key, "b")
|
114
|
+
t.equal(d.b.value, "B")
|
115
|
+
t.equal(d.b.lu, 2)
|
116
|
+
|
117
|
+
t.end()
|
118
|
+
})
|
119
|
+
|
120
|
+
|
121
|
+
test("basic with weighed length", function (t) {
|
122
|
+
var cache = new LRU({
|
123
|
+
max: 100,
|
124
|
+
length: function (item) { return item.size }
|
125
|
+
})
|
126
|
+
cache.set("key", {val: "value", size: 50})
|
127
|
+
t.equal(cache.get("key").val, "value")
|
128
|
+
t.equal(cache.get("nada"), undefined)
|
129
|
+
t.equal(cache.lengthCalculator(cache.get("key")), 50)
|
130
|
+
t.equal(cache.length, 50)
|
131
|
+
t.equal(cache.max, 100)
|
132
|
+
t.end()
|
133
|
+
})
|
134
|
+
|
135
|
+
|
136
|
+
test("weighed length item too large", function (t) {
|
137
|
+
var cache = new LRU({
|
138
|
+
max: 10,
|
139
|
+
length: function (item) { return item.size }
|
140
|
+
})
|
141
|
+
t.equal(cache.max, 10)
|
142
|
+
|
143
|
+
// should fall out immediately
|
144
|
+
cache.set("key", {val: "value", size: 50})
|
145
|
+
|
146
|
+
t.equal(cache.length, 0)
|
147
|
+
t.equal(cache.get("key"), undefined)
|
148
|
+
t.end()
|
149
|
+
})
|
150
|
+
|
151
|
+
test("least recently set with weighed length", function (t) {
|
152
|
+
var cache = new LRU({
|
153
|
+
max:8,
|
154
|
+
length: function (item) { return item.length }
|
155
|
+
})
|
156
|
+
cache.set("a", "A")
|
157
|
+
cache.set("b", "BB")
|
158
|
+
cache.set("c", "CCC")
|
159
|
+
cache.set("d", "DDDD")
|
160
|
+
t.equal(cache.get("d"), "DDDD")
|
161
|
+
t.equal(cache.get("c"), "CCC")
|
162
|
+
t.equal(cache.get("b"), undefined)
|
163
|
+
t.equal(cache.get("a"), undefined)
|
164
|
+
t.end()
|
165
|
+
})
|
166
|
+
|
167
|
+
test("lru recently gotten with weighed length", function (t) {
|
168
|
+
var cache = new LRU({
|
169
|
+
max: 8,
|
170
|
+
length: function (item) { return item.length }
|
171
|
+
})
|
172
|
+
cache.set("a", "A")
|
173
|
+
cache.set("b", "BB")
|
174
|
+
cache.set("c", "CCC")
|
175
|
+
cache.get("a")
|
176
|
+
cache.get("b")
|
177
|
+
cache.set("d", "DDDD")
|
178
|
+
t.equal(cache.get("c"), undefined)
|
179
|
+
t.equal(cache.get("d"), "DDDD")
|
180
|
+
t.equal(cache.get("b"), "BB")
|
181
|
+
t.equal(cache.get("a"), "A")
|
182
|
+
t.end()
|
183
|
+
})
|
184
|
+
|
185
|
+
test("set returns proper booleans", function(t) {
|
186
|
+
var cache = new LRU({
|
187
|
+
max: 5,
|
188
|
+
length: function (item) { return item.length }
|
189
|
+
})
|
190
|
+
|
191
|
+
t.equal(cache.set("a", "A"), true)
|
192
|
+
|
193
|
+
// should return false for max exceeded
|
194
|
+
t.equal(cache.set("b", "donuts"), false)
|
195
|
+
|
196
|
+
t.equal(cache.set("b", "B"), true)
|
197
|
+
t.equal(cache.set("c", "CCCC"), true)
|
198
|
+
t.end()
|
199
|
+
})
|
200
|
+
|
201
|
+
test("drop the old items", function(t) {
|
202
|
+
var cache = new LRU({
|
203
|
+
max: 5,
|
204
|
+
maxAge: 50
|
205
|
+
})
|
206
|
+
|
207
|
+
cache.set("a", "A")
|
208
|
+
|
209
|
+
setTimeout(function () {
|
210
|
+
cache.set("b", "b")
|
211
|
+
t.equal(cache.get("a"), "A")
|
212
|
+
}, 25)
|
213
|
+
|
214
|
+
setTimeout(function () {
|
215
|
+
cache.set("c", "C")
|
216
|
+
// timed out
|
217
|
+
t.notOk(cache.get("a"))
|
218
|
+
}, 60)
|
219
|
+
|
220
|
+
setTimeout(function () {
|
221
|
+
t.notOk(cache.get("b"))
|
222
|
+
t.equal(cache.get("c"), "C")
|
223
|
+
}, 90)
|
224
|
+
|
225
|
+
setTimeout(function () {
|
226
|
+
t.notOk(cache.get("c"))
|
227
|
+
t.end()
|
228
|
+
}, 155)
|
229
|
+
})
|
230
|
+
|
231
|
+
test("disposal function", function(t) {
|
232
|
+
var disposed = false
|
233
|
+
var cache = new LRU({
|
234
|
+
max: 1,
|
235
|
+
dispose: function (k, n) {
|
236
|
+
disposed = n
|
237
|
+
}
|
238
|
+
})
|
239
|
+
|
240
|
+
cache.set(1, 1)
|
241
|
+
cache.set(2, 2)
|
242
|
+
t.equal(disposed, 1)
|
243
|
+
cache.set(3, 3)
|
244
|
+
t.equal(disposed, 2)
|
245
|
+
cache.reset()
|
246
|
+
t.equal(disposed, 3)
|
247
|
+
t.end()
|
248
|
+
})
|
249
|
+
|
250
|
+
test("disposal function on too big of item", function(t) {
|
251
|
+
var disposed = false
|
252
|
+
var cache = new LRU({
|
253
|
+
max: 1,
|
254
|
+
length: function (k) {
|
255
|
+
return k.length
|
256
|
+
},
|
257
|
+
dispose: function (k, n) {
|
258
|
+
disposed = n
|
259
|
+
}
|
260
|
+
})
|
261
|
+
var obj = [ 1, 2 ]
|
262
|
+
|
263
|
+
t.equal(disposed, false)
|
264
|
+
cache.set("obj", obj)
|
265
|
+
t.equal(disposed, obj)
|
266
|
+
t.end()
|
267
|
+
})
|
268
|
+
|
269
|
+
test("has()", function(t) {
|
270
|
+
var cache = new LRU({
|
271
|
+
max: 1,
|
272
|
+
maxAge: 10
|
273
|
+
})
|
274
|
+
|
275
|
+
cache.set('foo', 'bar')
|
276
|
+
t.equal(cache.has('foo'), true)
|
277
|
+
cache.set('blu', 'baz')
|
278
|
+
t.equal(cache.has('foo'), false)
|
279
|
+
t.equal(cache.has('blu'), true)
|
280
|
+
setTimeout(function() {
|
281
|
+
t.equal(cache.has('blu'), false)
|
282
|
+
t.end()
|
283
|
+
}, 15)
|
284
|
+
})
|
285
|
+
|
286
|
+
test("stale", function(t) {
|
287
|
+
var cache = new LRU({
|
288
|
+
maxAge: 10,
|
289
|
+
stale: true
|
290
|
+
})
|
291
|
+
|
292
|
+
cache.set('foo', 'bar')
|
293
|
+
t.equal(cache.get('foo'), 'bar')
|
294
|
+
t.equal(cache.has('foo'), true)
|
295
|
+
setTimeout(function() {
|
296
|
+
t.equal(cache.has('foo'), false)
|
297
|
+
t.equal(cache.get('foo'), 'bar')
|
298
|
+
t.equal(cache.get('foo'), undefined)
|
299
|
+
t.end()
|
300
|
+
}, 15)
|
301
|
+
})
|
302
|
+
|
303
|
+
test("lru update via set", function(t) {
|
304
|
+
var cache = LRU({ max: 2 });
|
305
|
+
|
306
|
+
cache.set('foo', 1);
|
307
|
+
cache.set('bar', 2);
|
308
|
+
cache.del('bar');
|
309
|
+
cache.set('baz', 3);
|
310
|
+
cache.set('qux', 4);
|
311
|
+
|
312
|
+
t.equal(cache.get('foo'), undefined)
|
313
|
+
t.equal(cache.get('bar'), undefined)
|
314
|
+
t.equal(cache.get('baz'), 3)
|
315
|
+
t.equal(cache.get('qux'), 4)
|
316
|
+
t.end()
|
317
|
+
})
|
318
|
+
|
319
|
+
test("least recently set w/ peek", function (t) {
|
320
|
+
var cache = new LRU(2)
|
321
|
+
cache.set("a", "A")
|
322
|
+
cache.set("b", "B")
|
323
|
+
t.equal(cache.peek("a"), "A")
|
324
|
+
cache.set("c", "C")
|
325
|
+
t.equal(cache.get("c"), "C")
|
326
|
+
t.equal(cache.get("b"), "B")
|
327
|
+
t.equal(cache.get("a"), undefined)
|
328
|
+
t.end()
|
329
|
+
})
|
330
|
+
|
331
|
+
test("pop the least used item", function (t) {
|
332
|
+
var cache = new LRU(3)
|
333
|
+
, last
|
334
|
+
|
335
|
+
cache.set("a", "A")
|
336
|
+
cache.set("b", "B")
|
337
|
+
cache.set("c", "C")
|
338
|
+
|
339
|
+
t.equal(cache.length, 3)
|
340
|
+
t.equal(cache.max, 3)
|
341
|
+
|
342
|
+
// Ensure we pop a, c, b
|
343
|
+
cache.get("b", "B")
|
344
|
+
|
345
|
+
last = cache.pop()
|
346
|
+
t.equal(last.key, "a")
|
347
|
+
t.equal(last.value, "A")
|
348
|
+
t.equal(cache.length, 2)
|
349
|
+
t.equal(cache.max, 3)
|
350
|
+
|
351
|
+
last = cache.pop()
|
352
|
+
t.equal(last.key, "c")
|
353
|
+
t.equal(last.value, "C")
|
354
|
+
t.equal(cache.length, 1)
|
355
|
+
t.equal(cache.max, 3)
|
356
|
+
|
357
|
+
last = cache.pop()
|
358
|
+
t.equal(last.key, "b")
|
359
|
+
t.equal(last.value, "B")
|
360
|
+
t.equal(cache.length, 0)
|
361
|
+
t.equal(cache.max, 3)
|
362
|
+
|
363
|
+
last = cache.pop()
|
364
|
+
t.equal(last, null)
|
365
|
+
t.equal(cache.length, 0)
|
366
|
+
t.equal(cache.max, 3)
|
367
|
+
|
368
|
+
t.end()
|
369
|
+
})
|