Created
May 21, 2021 11:14
-
-
Save machitgarha/e47ce6580cd0964e8a71cf8eb1e52644 to your computer and use it in GitHub Desktop.
Benchmarker for different functions to convert an array to object in PHP (an StackOverflow thread), with a sample data
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Testing functions' performance posted in the following StackOverflow thread | |
* (codes are mostly copied from there): | |
* https://stackoverflow.com/questions/4790453 | |
* | |
* All these functions convert an array to its object variant. | |
* | |
* Also, some of the answers are omitted. Some are duplicated and some doesn't | |
* even work. Nonetheless, the functionality of these functions is not strictly | |
* reviewed. | |
*/ | |
function pureRecursive($data) | |
{ | |
$obj = new stdClass; | |
foreach ($data as $k => $v) { | |
if (strlen($k)) { | |
if (is_array($v)) { | |
$obj->{$k} = pureRecursive($v); | |
} else { | |
$obj->{$k} = $v; | |
} | |
} | |
} | |
return $obj; | |
} | |
function pureRecursivePreservingIntKeys($data) | |
{ | |
$resultObj = new \stdClass; | |
$resultArr = array(); | |
$hasIntKeys = false; | |
$hasStrKeys = false; | |
foreach ($data as $k => $v) { | |
if (!$hasIntKeys) { | |
$hasIntKeys = is_int($k); | |
} | |
if (!$hasStrKeys) { | |
$hasStrKeys = is_string($k); | |
} | |
if ($hasIntKeys && $hasStrKeys) { | |
$e = new \Exception( 'Current level has both integer and string keys, thus it is impossible to keep array or convert to object' ); | |
$e->vars = array('level' => $data); | |
throw $e; | |
} | |
if ($hasStrKeys) { | |
$resultObj->{$k} = is_array($v) ? pureRecursivePreservingIntKeys($v) : $v; | |
} else { | |
$resultArr[$k] = is_array($v) ? pureRecursivePreservingIntKeys($v) : $v; | |
} | |
} | |
return ($hasStrKeys) ? $resultObj : $resultArr; | |
} | |
function jsonEncode(array $data) | |
{ | |
$json = json_encode($data); | |
$object = json_decode($json); | |
return $object; | |
} | |
function jsonEncodeOptimized(array $data) | |
{ | |
return json_decode(json_encode($data)); | |
} | |
function jsonEncodeForceObject(array $data) | |
{ | |
return json_decode(json_encode($data, JSON_FORCE_OBJECT)); | |
} | |
function arrayMap($data) | |
{ | |
return is_array($data) ? (object) array_map(__FUNCTION__, $data) : $data; | |
} | |
function arrayMapPreservingIntKeys($data) | |
{ | |
if (!is_array($data)) { | |
return $data; | |
} elseif (is_numeric(key($data))) { | |
return array_map(__FUNCTION__, $data); | |
} else { | |
return (object) array_map(__FUNCTION__, $data); | |
} | |
} | |
function arrayWalkInplace(&$data) | |
{ | |
if (!is_array($data)) { | |
return; | |
} | |
array_walk($data, __FUNCTION__); | |
reset($data); | |
if (!is_numeric(key($data))) { | |
$data = (object) $data; | |
} | |
} | |
function arrayWalkInplaceWrapper(array $data) | |
{ | |
arrayWalkInplace($data); | |
return $data; | |
} | |
$data = json_decode(file_get_contents("data.json"), true); | |
$functions = [ | |
pureRecursive::class, | |
pureRecursivePreservingIntKeys::class, | |
jsonEncode::class, | |
jsonEncodeOptimized::class, | |
jsonEncodeForceObject::class, | |
arrayMap::class, | |
arrayMapPreservingIntKeys::class, | |
arrayWalkInplaceWrapper::class, | |
]; | |
const ITERATION_COUNT = 1000; | |
foreach ($functions as $func) { | |
$start = microtime(true); | |
for ($i = 0; $i < ITERATION_COUNT; $i++) { | |
$func($data); | |
} | |
$time = (microtime(true) - $start) / ITERATION_COUNT; | |
echo str_pad("$func():", 40), "Completed in ", round($time, 6), "s", PHP_EOL; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{"_id":"flat-cache","_rev":"14-ff5e6b05990978e98c840f0812d25b86","name":"flat-cache","description":"A stupidly simple key/value storage using files to persist some data","dist-tags":{"latest":"1.0.10"},"versions":{"1.0.0":{"name":"flat-cache","version":"1.0.0","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value",{"_id":"flat-cache","_rev":"14-ff5e6b05990978e98c840f0812d25b86","name":"flat-cache","description":"A stupidly simple key/value storage using files to persist some data","dist-tags":{"latest":"1.0.10"},"versions":{"1.0.0":{"name":"flat-cache","version":"1.0.0","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","del":"^1.1.1","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"c98427458354d732ff97cd34afe574ea7da20751","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"476fcc190c2cd267886f11e709f18df986490f5c","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"476fcc190c2cd267886f11e709f18df986490f5c","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.0.tgz"},"directories":{}},"1.0.1":{"name":"flat-cache","version":"1.0.1","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","del":"^1.1.1","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"c2b68053e3c0cc9a8b50fccd4c287322a3b7497c","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"af579cbb98aad7441b2f5039b80ca0bc0dbcca51","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"af579cbb98aad7441b2f5039b80ca0bc0dbcca51","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.1.tgz"},"directories":{}},"1.0.2":{"name":"flat-cache","version":"1.0.2","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"af40443719107848488e120f1ccea92c4b32937c","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"349032e0f9acff77ae6507140e1d2851087b2486","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"349032e0f9acff77ae6507140e1d2851087b2486","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.2.tgz"},"directories":{}},"1.0.3":{"name":"flat-cache","version":"1.0.3","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"13947c1c3c39f30ef30e793de1671cf5cee68f3d","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"7a62750bdd7141723a2afd62c6026fecb7378bb0","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"7a62750bdd7141723a2afd62c6026fecb7378bb0","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.3.tgz"},"directories":{}},"1.0.4":{"name":"flat-cache","version":"1.0.4","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"b26addb245d4fedb0f2e09d9179671638a678241","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"7d4a80c35879c820b067baa7dfa68c48c10900c3","_from":".","_npmVersion":"2.14.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"7d4a80c35879c820b067baa7dfa68c48c10900c3","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.4.tgz"},"directories":{}},"1.0.6":{"name":"flat-cache","version":"1.0.6","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"changelogx":"^1.0.18","del":"^2.0.2","esbeautifier":"^4.2.11","eslinter":"^2.3.3","graceful-fs":"^4.1.2","precommit":"^1.1.5","prepush":"^3.1.4","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"f51197a585909a6062e80f17aa227da2c5adf976","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d6d39d679f4506b4be9a0215a953a20552f9e678","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d6d39d679f4506b4be9a0215a953a20552f9e678","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.6.tgz"},"directories":{}},"1.0.7":{"name":"flat-cache","version":"1.0.7","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"c8981cea35776b4a60deca3e6b51ffae263ee6dd","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d8a0400ea8761eb23ad48aac0bc829f51757874c","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d8a0400ea8761eb23ad48aac0bc829f51757874c","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.7.tgz"},"directories":{}},"1.0.8":{"name":"flat-cache","version":"1.0.8","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"73ffed9194a60da639fe07f10b7742fdd2807326","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d0923628adef582373336f2d2e8623ee2b53b552","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d0923628adef582373336f2d2e8623ee2b53b552","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.8.tgz"},"directories":{}},"1.0.9":{"name":"flat-cache","version":"1.0.9","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"changelogx":{"ignoreRegExp":["BLD: Release","DOC: Generate Changelog","Generated Changelog"],"issueIDRegExp":"#(\\d+)","commitURL":"https://github.com/royriojas/flat-cache/commit/{0}","authorURL":"https://github.com/{0}","issueIDURL":"https://github.com/royriojas/flat-cache/issues/{0}","projectName":"flat-cache"},"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"7dbd7009e254239fd961c9d9c3c2695d50269f5b","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"e1901f4fe9831664d8c23f040ebda30c73df3b3b","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":{"_id":"flat-cache","_rev":"14-ff5e6b05990978e98c840f0812d25b86","name":"flat-cache","description":"A stupidly simple key/value storage using files to persist some data","dist-tags":{"latest":"1.0.10"},"versions":{"1.0.0":{"name":"flat-cache","version":"1.0.0","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","del":"^1.1.1","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"c98427458354d732ff97cd34afe574ea7da20751","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"476fcc190c2cd267886f11e709f18df986490f5c","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"476fcc190c2cd267886f11e709f18df986490f5c","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.0.tgz"},"directories":{}},"1.0.1":{"name":"flat-cache","version":"1.0.1","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","del":"^1.1.1","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"c2b68053e3c0cc9a8b50fccd4c287322a3b7497c","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"af579cbb98aad7441b2f5039b80ca0bc0dbcca51","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"af579cbb98aad7441b2f5039b80ca0bc0dbcca51","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.1.tgz"},"directories":{}},"1.0.2":{"name":"flat-cache","version":"1.0.2","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"af40443719107848488e120f1ccea92c4b32937c","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"349032e0f9acff77ae6507140e1d2851087b2486","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"349032e0f9acff77ae6507140e1d2851087b2486","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.2.tgz"},"directories":{}},"1.0.3":{"name":"flat-cache","version":"1.0.3","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"13947c1c3c39f30ef30e793de1671cf5cee68f3d","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"7a62750bdd7141723a2afd62c6026fecb7378bb0","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"7a62750bdd7141723a2afd62c6026fecb7378bb0","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.3.tgz"},"directories":{}},"1.0.4":{"name":"flat-cache","version":"1.0.4","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"b26addb245d4fedb0f2e09d9179671638a678241","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"7d4a80c35879c820b067baa7dfa68c48c10900c3","_from":".","_npmVersion":"2.14.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"7d4a80c35879c820b067baa7dfa68c48c10900c3","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.4.tgz"},"directories":{}},"1.0.6":{"name":"flat-cache","version":"1.0.6","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"changelogx":"^1.0.18","del":"^2.0.2","esbeautifier":"^4.2.11","eslinter":"^2.3.3","graceful-fs":"^4.1.2","precommit":"^1.1.5","prepush":"^3.1.4","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"f51197a585909a6062e80f17aa227da2c5adf976","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d6d39d679f4506b4be9a0215a953a20552f9e678","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d6d39d679f4506b4be9a0215a953a20552f9e678","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.6.tgz"},"directories":{}},"1.0.7":{"name":"flat-cache","version":"1.0.7","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"c8981cea35776b4a60deca3e6b51ffae263ee6dd","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d8a0400ea8761eb23ad48aac0bc829f51757874c","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d8a0400ea8761eb23ad48aac0bc829f51757874c","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.7.tgz"},"directories":{}},"1.0.8":{"name":"flat-cache","version":"1.0.8","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"73ffed9194a60da639fe07f10b7742fdd2807326","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d0923628adef582373336f2d2e8623ee2b53b552","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d0923628adef582373336f2d2e8623ee2b53b552","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.8.tgz"},"directories":{}},"1.0.9":{"name":"flat-cache","version":"1.0.9","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"changelogx":{"ignoreRegExp":["BLD: Release","DOC: Generate Changelog",{"_id":"flat-cache","_rev":"14-ff5e6b05990978e98c840f0812d25b86","name":"flat-cache","description":"A stupidly simple key/value storage using files to persist some data","dist-tags":{"latest":"1.0.10"},"versions":{"1.0.0":{"name":"flat-cache","version":"1.0.0","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value",{"_id":"flat-cache","_rev":"14-ff5e6b05990978e98c840f0812d25b86","name":"flat-cache","description":"A stupidly simple key/value storage using files to persist some data","dist-tags":{"latest":"1.0.10"},"versions":{"1.0.0":{"name":"flat-cache","version":"1.0.0","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","del":"^1.1.1","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"c98427458354d732ff97cd34afe574ea7da20751","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"476fcc190c2cd267886f11e709f18df986490f5c","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"476fcc190c2cd267886f11e709f18df986490f5c","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.0.tgz"},"directories":{}},"1.0.1":{"name":"flat-cache","version":"1.0.1","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","del":"^1.1.1","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"c2b68053e3c0cc9a8b50fccd4c287322a3b7497c","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"af579cbb98aad7441b2f5039b80ca0bc0dbcca51","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"af579cbb98aad7441b2f5039b80ca0bc0dbcca51","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.1.tgz"},"directories":{}},"1.0.2":{"name":"flat-cache","version":"1.0.2","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"af40443719107848488e120f1ccea92c4b32937c","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"349032e0f9acff77ae6507140e1d2851087b2486","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"349032e0f9acff77ae6507140e1d2851087b2486","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.2.tgz"},"directories":{}},"1.0.3":{"name":"flat-cache","version":"1.0.3","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"13947c1c3c39f30ef30e793de1671cf5cee68f3d","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"7a62750bdd7141723a2afd62c6026fecb7378bb0","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"7a62750bdd7141723a2afd62c6026fecb7378bb0","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.3.tgz"},"directories":{}},"1.0.4":{"name":"flat-cache","version":"1.0.4","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"b26addb245d4fedb0f2e09d9179671638a678241","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"7d4a80c35879c820b067baa7dfa68c48c10900c3","_from":".","_npmVersion":"2.14.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"7d4a80c35879c820b067baa7dfa68c48c10900c3","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.4.tgz"},"directories":{}},"1.0.6":{"name":"flat-cache","version":"1.0.6","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"changelogx":"^1.0.18","del":"^2.0.2","esbeautifier":"^4.2.11","eslinter":"^2.3.3","graceful-fs":"^4.1.2","precommit":"^1.1.5","prepush":"^3.1.4","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"f51197a585909a6062e80f17aa227da2c5adf976","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d6d39d679f4506b4be9a0215a953a20552f9e678","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d6d39d679f4506b4be9a0215a953a20552f9e678","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.6.tgz"},"directories":{}},"1.0.7":{"name":"flat-cache","version":"1.0.7","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"c8981cea35776b4a60deca3e6b51ffae263ee6dd","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d8a0400ea8761eb23ad48aac0bc829f51757874c","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d8a0400ea8761eb23ad48aac0bc829f51757874c","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.7.tgz"},"directories":{}},"1.0.8":{"name":"flat-cache","version":"1.0.8","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"73ffed9194a60da639fe07f10b7742fdd2807326","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d0923628adef582373336f2d2e8623ee2b53b552","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d0923628adef582373336f2d2e8623ee2b53b552","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.8.tgz"},"directories":{}},"1.0.9":{"name":"flat-cache","version":"1.0.9","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"changelogx":{"ignoreRegExp":["BLD: Release","DOC: Generate Changelog","Generated Changelog"],"issueIDRegExp":"#(\\d+)","commitURL":"https://github.com/royriojas/flat-cache/commit/{0}","authorURL":"https://github.com/{0}","issueIDURL":"https://github.com/royriojas/flat-cache/issues/{0}","projectName":"flat-cache"},"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"7dbd7009e254239fd961c9d9c3c2695d50269f5b","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"e1901f4fe9831664d8c23f040ebda30c73df3b3b","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":{"_id":"flat-cache","_rev":"14-ff5e6b05990978e98c840f0812d25b86","name":"flat-cache","description":"A stupidly simple key/value storage using files to persist some data","dist-tags":{"latest":"1.0.10"},"versions":{"1.0.0":{"name":"flat-cache","version":"1.0.0","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","del":"^1.1.1","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"c98427458354d732ff97cd34afe574ea7da20751","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"476fcc190c2cd267886f11e709f18df986490f5c","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"476fcc190c2cd267886f11e709f18df986490f5c","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.0.tgz"},"directories":{}},"1.0.1":{"name":"flat-cache","version":"1.0.1","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","del":"^1.1.1","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"c2b68053e3c0cc9a8b50fccd4c287322a3b7497c","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"af579cbb98aad7441b2f5039b80ca0bc0dbcca51","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"af579cbb98aad7441b2f5039b80ca0bc0dbcca51","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.1.tgz"},"directories":{}},"1.0.2":{"name":"flat-cache","version":"1.0.2","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"af40443719107848488e120f1ccea92c4b32937c","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"349032e0f9acff77ae6507140e1d2851087b2486","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"349032e0f9acff77ae6507140e1d2851087b2486","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.2.tgz"},"directories":{}},"1.0.3":{"name":"flat-cache","version":"1.0.3","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"13947c1c3c39f30ef30e793de1671cf5cee68f3d","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"7a62750bdd7141723a2afd62c6026fecb7378bb0","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"7a62750bdd7141723a2afd62c6026fecb7378bb0","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.3.tgz"},"directories":{}},"1.0.4":{"name":"flat-cache","version":"1.0.4","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"b26addb245d4fedb0f2e09d9179671638a678241","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"7d4a80c35879c820b067baa7dfa68c48c10900c3","_from":".","_npmVersion":"2.14.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"7d4a80c35879c820b067baa7dfa68c48c10900c3","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.4.tgz"},"directories":{}},"1.0.6":{"name":"flat-cache","version":"1.0.6","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"changelogx":"^1.0.18","del":"^2.0.2","esbeautifier":"^4.2.11","eslinter":"^2.3.3","graceful-fs":"^4.1.2","precommit":"^1.1.5","prepush":"^3.1.4","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"f51197a585909a6062e80f17aa227da2c5adf976","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d6d39d679f4506b4be9a0215a953a20552f9e678","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d6d39d679f4506b4be9a0215a953a20552f9e678","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.6.tgz"},"directories":{}},"1.0.7":{"name":"flat-cache","version":"1.0.7","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"c8981cea35776b4a60deca3e6b51ffae263ee6dd","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d8a0400ea8761eb23ad48aac0bc829f51757874c","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d8a0400ea8761eb23ad48aac0bc829f51757874c","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.7.tgz"},"directories":{}},"1.0.8":{"name":"flat-cache","version":"1.0.8","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"73ffed9194a60da639fe07f10b7742fdd2807326","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d0923628adef582373336f2d2e8623ee2b53b552","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d0923628adef582373336f2d2e8623ee2b53b552","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.8.tgz"},"directories":{}},"1.0.9":{"name":"flat-cache","version":"1.0.9","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"changelogx":{"ignoreRegExp":["BLD: Release","DOC: Generate Changelog","Generated Changelog"],"issueIDRegExp":"#(\\d+)","commitURL":"https://github.com/royriojas/flat-cache/commit/{0}","authorURL":"https://github.com/{0}","issueIDURL":"https://github.com/royriojas/flat-cache/issues/{0}","projectName":"flat-cache"},"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"7dbd7009e254239fd961c9d9c3c2695d50269f5b","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"e1901f4fe9831664d8c23f040ebda30c73df3b3b","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"e1901f4fe9831664d8c23f040ebda30c73df3b3b","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.9.tgz"},"directories":{}},"1.0.10":{"name":"flat-cache","version":"1.0.10","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"npm run beautify -- -k","eslint":"eslinter 'cache.js' 'specs/**/*.js'","eslint-fix":"npm run eslint -- --fix","autofix":"npm run beautify && npm run eslint-fix","check":"npm run beautify-check && npm run eslint","verify":"npm run check && npm run test:cache","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test:cache":"mocha -R spec test/specs","test":"npm run verify --silent","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"changelogx":{"ignoreRegExp":["BLD: Release","DOC: Generate Changelog","Generated Changelog"],"issueIDRegExp":"#(\\d+)","commitURL":"https://github.com/royriojas/flat-cache/commit/{0}","authorURL":"https://github.com/{0}","issueIDURL":"https://github.com/royriojas/flat-cache/issues/{0}","projectName":"flat-cache"},"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^6.1.8","eslinter":"^3.2.1","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"58bb40ccc87d79eb16146629be79d7577e6632da","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"73d6df4a28502160a05e059544a6aeeae8b0047a","_from":".","_npmVersion":"2.14.5","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"73d6df4a28502160a05e059544a6aeeae8b0047a","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.10.tgz"},"directories":{}}},"readme":"# flat-cache\n> A stupidly simple key/value storage using files to persist the data\n\n[](https://npmjs.org/package/flat-cache)\n[](https://travis-ci.org/royriojas/flat-cache)\n\n## install\n\n```bash\nnpm i --save flat-cache\n```\n\n## Usage\n\n```js\nvar flatCache = require('flat-cache')\n// loads the cache, if one does not exists for the given\n// Id a new one will be prepared to be created\nvar cache = flatCache.load('cacheId');\n\n// sets a key on the cache\ncache.setKey('key', { foo: 'var' });\n\n// get a key from the cache\ncache.getKey('key') // { foo: 'var' }\n\n// remove a key\ncache.removeKey('key'); // removes a key from the cache\n\n// save it to disk\ncache.save(); // very important, if you don't save no changes will be persisted.\n\n// loads the cache from a given directory, if one does\n// not exists for the given Id a new one will be prepared to be created\nvar cache = flatCache.load('cacheId', path.resolve('./path/to/folder'));\n\n// The following methods are useful to clear the cache\n// delete a given cache\nflatCache.clearCacheById('cacheId') // removes the cacheId document if one exists.\n\n// delete all cache\nflatCache.clearAll(); // remove the cache directory\n```\n\n## Motivation for this module\n\nI needed a super simple and dumb **in-memory cache** with optional disk persistance in order to make\na script that will beutify files with `esformatter` only execute on the files that were changed since the last run.\nTo make that possible we need to store the `fileSize` and `modificationTime` of the files. So a simple `key/value`\nstorage was needed and Bam! this module was born.\n\n## Important notes\n- If no directory is especified when the `load` method is called, a folder named `.cache` will be created\n inside the module directory when `cache.save` is called. If you're committing your `node_modules` to any vcs, you\n might want to ignore the default `.cache` folder, or specify a custom directory.\n- The values set on the keys of the cache should be `stringify-able` ones, meaning no circular references\n- All the changes to the cache state are done to memory\n- I could have used a timer or `Object.observe` to deliver the changes to disk, but I wanted to keep this module\n intentionally dumb and simple\n\n## License\n\nMIT\n\n## Changelog\n\n[changelog](./changelog.md)\n\n","maintainers":[{"name":"royriojas","email":"[email protected]"}],"time":{"modified":"2015-11-01T23:05:22.543Z","created":"2015-02-26T12:20:02.550Z","1.0.0":"2015-02-26T12:20:02.550Z","1.0.1":"2015-02-26T12:30:21.242Z","1.0.2":"2015-03-02T07:39:37.226Z","1.0.3":"2015-03-02T07:44:29.331Z","1.0.4":"2015-08-30T11:20:11.548Z","1.0.6":"2015-09-11T21:47:54.870Z","1.0.7":"2015-09-11T22:21:22.646Z","1.0.8":"2015-09-11T22:52:46.646Z","1.0.9":"2015-09-11T23:00:36.275Z","1.0.10":"2015-11-01T23:05:22.543Z"},"homepage":"https://github.com/royriojas/flat-cache#readme","keywords":["json cache","simple cache","file cache","key par","key value","cache"],"repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"author":{"name":"Roy Riojas","url":"http://royriojas.com"},"bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"license":"MIT","readmeFilename":"README.md","_attachments":{},"_etag":"\"8HVESORRO6XLMFPW83OUR27IK\""},"email":"[email protected]"}],"dist":{"shasum":"e1901f4fe9831664d8c23f040ebda30c73df3b3b","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.9.tgz"},"directories":{}},"1.0.10":{"name":"flat-cache","version":"1.0.10","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"npm run beautify -- -k","eslint":"eslinter 'cache.js' 'specs/**/*.js'","eslint-fix":"npm run eslint -- --fix","autofix":"npm run beautify && npm run eslint-fix","check":"npm run beautify-check && npm run eslint","verify":"npm run check && npm run test:cache","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test:cache":"mocha -R spec test/specs","test":"npm run verify --silent","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"changelogx":{"ignoreRegExp":["BLD: Release","DOC: Generate Changelog","Generated Changelog"],"issueIDRegExp":"#(\\d+)","commitURL":"https://github.com/royriojas/flat-cache/commit/{0}","authorURL":"https://github.com/{0}","issueIDURL":"https://github.com/royriojas/flat-cache/issues/{0}","projectName":"flat-cache"},"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^6.1.8","eslinter":"^3.2.1","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"58bb40ccc87d79eb16146629be79d7577e6632da","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"73d6df4a28502160a05e059544a6aeeae8b0047a","_from":".","_npmVersion":"2.14.5","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"73d6df4a28502160a05e059544a6aeeae8b0047a","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.10.tgz"},"directories":{}}},"readme":"# flat-cache\n> A stupidly simple key/value storage using files to persist the data\n\n[](https://npmjs.org/package/flat-cache)\n[](https://travis-ci.org/royriojas/flat-cache)\n\n## install\n\n```bash\nnpm i --save flat-cache\n```\n\n## Usage\n\n```js\nvar flatCache = require('flat-cache')\n// loads the cache, if one does not exists for the given\n// Id a new one will be prepared to be created\nvar cache = flatCache.load('cacheId');\n\n// sets a key on the cache\ncache.setKey('key', { foo: 'var' });\n\n// get a key from the cache\ncache.getKey('key') // { foo: 'var' }\n\n// remove a key\ncache.removeKey('key'); // removes a key from the cache\n\n// save it to disk\ncache.save(); // very important, if you don't save no changes will be persisted.\n\n// loads the cache from a given directory, if one does\n// not exists for the given Id a new one will be prepared to be created\nvar cache = flatCache.load('cacheId', path.resolve('./path/to/folder'));\n\n// The following methods are useful to clear the cache\n// delete a given cache\nflatCache.clearCacheById('cacheId') // removes the cacheId document if one exists.\n\n// delete all cache\nflatCache.clearAll(); // remove the cache directory\n```\n\n## Motivation for this module\n\nI needed a super simple and dumb **in-memory cache** with optional disk persistance in order to make\na script that will beutify files with `esformatter` only execute on the files that were changed since the last run.\nTo make that possible we need to store the `fileSize` and `modificationTime` of the files. So a simple `key/value`\nstorage was needed and Bam! this module was born.\n\n## Important notes\n- If no directory is especified when the `load` method is called, a folder named `.cache` will be created\n inside the module directory when `cache.save` is called. If you're committing your `node_modules` to any vcs, you\n might want to ignore the default `.cache` folder, or specify a custom directory.\n- The values set on the keys of the cache should be `stringify-able` ones, meaning no circular references\n- All the changes to the cache state are done to memory\n- I could have used a timer or `Object.observe` to deliver the changes to disk, but I wanted to keep this module\n intentionally dumb and simple\n\n## License\n\nMIT\n\n## Changelog\n\n[changelog](./changelog.md)\n\n","maintainers":[{"name":"royriojas","email":"[email protected]"}],"time":{"modified":"2015-11-01T23:05:22.543Z","created":"2015-02-26T12:20:02.550Z","1.0.0":"2015-02-26T12:20:02.550Z","1.0.1":"2015-02-26T12:30:21.242Z","1.0.2":"2015-03-02T07:39:37.226Z","1.0.3":"2015-03-02T07:44:29.331Z","1.0.4":"2015-08-30T11:20:11.548Z","1.0.6":"2015-09-11T21:47:54.870Z","1.0.7":"2015-09-11T22:21:22.646Z","1.0.8":"2015-09-11T22:52:46.646Z","1.0.9":"2015-09-11T23:00:36.275Z","1.0.10":"2015-11-01T23:05:22.543Z"},"homepage":"https://github.com/royriojas/flat-cache#readme","keywords":["json cache","simple cache","file cache","key par","key value","cache"],"repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"author":{"name":"Roy Riojas","url":"http://royriojas.com"},"bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"license":"MIT","readmeFilename":"README.md","_attachments":{},"_etag":"\"8HVESORRO6XLMFPW83OUR27IK\""}],"devDependencies":{"chai":"^2.1.0","del":"^1.1.1","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"c98427458354d732ff97cd34afe574ea7da20751","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"476fcc190c2cd267886f11e709f18df986490f5c","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"476fcc190c2cd267886f11e709f18df986490f5c","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.0.tgz"},"directories":{}},"1.0.1":{"name":"flat-cache","version":"1.0.1","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","del":"^1.1.1","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"c2b68053e3c0cc9a8b50fccd4c287322a3b7497c","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"af579cbb98aad7441b2f5039b80ca0bc0dbcca51","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"af579cbb98aad7441b2f5039b80ca0bc0dbcca51","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.1.tgz"},"directories":{}},"1.0.2":{"name":"flat-cache","version":"1.0.2","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"af40443719107848488e120f1ccea92c4b32937c","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"349032e0f9acff77ae6507140e1d2851087b2486","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"349032e0f9acff77ae6507140e1d2851087b2486","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.2.tgz"},"directories":{}},"1.0.3":{"name":"flat-cache","version":"1.0.3","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"13947c1c3c39f30ef30e793de1671cf5cee68f3d","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"7a62750bdd7141723a2afd62c6026fecb7378bb0","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"7a62750bdd7141723a2afd62c6026fecb7378bb0","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.3.tgz"},"directories":{}},"1.0.4":{"name":"flat-cache","version":"1.0.4","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"b26addb245d4fedb0f2e09d9179671638a678241","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"7d4a80c35879c820b067baa7dfa68c48c10900c3","_from":".","_npmVersion":"2.14.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"7d4a80c35879c820b067baa7dfa68c48c10900c3","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.4.tgz"},"directories":{}},"1.0.6":{"name":"flat-cache","version":"1.0.6","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"changelogx":"^1.0.18","del":"^2.0.2","esbeautifier":"^4.2.11","eslinter":"^2.3.3","graceful-fs":"^4.1.2","precommit":"^1.1.5","prepush":"^3.1.4","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"f51197a585909a6062e80f17aa227da2c5adf976","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d6d39d679f4506b4be9a0215a953a20552f9e678","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d6d39d679f4506b4be9a0215a953a20552f9e678","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.6.tgz"},"directories":{}},"1.0.7":{"name":"flat-cache","version":"1.0.7","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"c8981cea35776b4a60deca3e6b51ffae263ee6dd","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d8a0400ea8761eb23ad48aac0bc829f51757874c","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d8a0400ea8761eb23ad48aac0bc829f51757874c","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.7.tgz"},"directories":{}},"1.0.8":{"name":"flat-cache","version":"1.0.8","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"73ffed9194a60da639fe07f10b7742fdd2807326","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d0923628adef582373336f2d2e8623ee2b53b552","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d0923628adef582373336f2d2e8623ee2b53b552","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.8.tgz"},"directories":{}},"1.0.9":{"name":"flat-cache","version":"1.0.9","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"changelogx":{"ignoreRegExp":["BLD: Release","DOC: Generate Changelog","Generated Changelog"],"issueIDRegExp":"#(\\d+)","commitURL":"https://github.com/royriojas/flat-cache/commit/{0}","authorURL":"https://github.com/{0}","issueIDURL":"https://github.com/royriojas/flat-cache/issues/{0}","projectName":"flat-cache"},"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"7dbd7009e254239fd961c9d9c3c2695d50269f5b","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"e1901f4fe9831664d8c23f040ebda30c73df3b3b","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":{"_id":"flat-cache","_rev":"14-ff5e6b05990978e98c840f0812d25b86","name":"flat-cache","description":"A stupidly simple key/value storage using files to persist some data","dist-tags":{"latest":"1.0.10"},"versions":{"1.0.0":{"name":"flat-cache","version":"1.0.0","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","del":"^1.1.1","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"c98427458354d732ff97cd34afe574ea7da20751","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"476fcc190c2cd267886f11e709f18df986490f5c","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"476fcc190c2cd267886f11e709f18df986490f5c","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.0.tgz"},"directories":{}},"1.0.1":{"name":"flat-cache","version":"1.0.1","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","del":"^1.1.1","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"c2b68053e3c0cc9a8b50fccd4c287322a3b7497c","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"af579cbb98aad7441b2f5039b80ca0bc0dbcca51","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"af579cbb98aad7441b2f5039b80ca0bc0dbcca51","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.1.tgz"},"directories":{}},"1.0.2":{"name":"flat-cache","version":"1.0.2","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"af40443719107848488e120f1ccea92c4b32937c","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"349032e0f9acff77ae6507140e1d2851087b2486","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"349032e0f9acff77ae6507140e1d2851087b2486","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.2.tgz"},"directories":{}},"1.0.3":{"name":"flat-cache","version":"1.0.3","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"13947c1c3c39f30ef30e793de1671cf5cee68f3d","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"7a62750bdd7141723a2afd62c6026fecb7378bb0","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"7a62750bdd7141723a2afd62c6026fecb7378bb0","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.3.tgz"},"directories":{}},"1.0.4":{"name":"flat-cache","version":"1.0.4","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"b26addb245d4fedb0f2e09d9179671638a678241","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"7d4a80c35879c820b067baa7dfa68c48c10900c3","_from":".","_npmVersion":"2.14.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"7d4a80c35879c820b067baa7dfa68c48c10900c3","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.4.tgz"},"directories":{}},"1.0.6":{"name":"flat-cache","version":"1.0.6","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"changelogx":"^1.0.18","del":"^2.0.2","esbeautifier":"^4.2.11","eslinter":"^2.3.3","graceful-fs":"^4.1.2","precommit":"^1.1.5","prepush":"^3.1.4","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"f51197a585909a6062e80f17aa227da2c5adf976","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d6d39d679f4506b4be9a0215a953a20552f9e678","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d6d39d679f4506b4be9a0215a953a20552f9e678","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.6.tgz"},"directories":{}},"1.0.7":{"name":"flat-cache","version":"1.0.7","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"c8981cea35776b4a60deca3e6b51ffae263ee6dd","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d8a0400ea8761eb23ad48aac0bc829f51757874c","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d8a0400ea8761eb23ad48aac0bc829f51757874c","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.7.tgz"},"directories":{}},"1.0.8":{"name":"flat-cache","version":"1.0.8","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"73ffed9194a60da639fe07f10b7742fdd2807326","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d0923628adef582373336f2d2e8623ee2b53b552","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d0923628adef582373336f2d2e8623ee2b53b552","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.8.tgz"},"directories":{}},"1.0.9":{"name":"flat-cache","version":"1.0.9","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"changelogx":{"ignoreRegExp":["BLD: Release","DOC: Generate Changelog","Generated Changelog"],"issueIDRegExp":"#(\\d+)","commitURL":"https://github.com/royriojas/flat-cache/commit/{0}","authorURL":"https://github.com/{0}","issueIDURL":"https://github.com/royriojas/flat-cache/issues/{0}","projectName":"flat-cache"},"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"7dbd7009e254239fd961c9d9c3c2695d50269f5b","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"e1901f4fe9831664d8c23f040ebda30c73df3b3b","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"e1901f4fe9831664d8c23f040ebda30c73df3b3b","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.9.tgz"},"directories":{}},"1.0.10":{"name":"flat-cache","version":"1.0.10","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"npm run beautify -- -k","eslint":"eslinter 'cache.js' 'specs/**/*.js'","eslint-fix":"npm run eslint -- --fix","autofix":"npm run beautify && npm run eslint-fix","check":"npm run beautify-check && npm run eslint","verify":"npm run check && npm run test:cache","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test:cache":"mocha -R spec test/specs","test":"npm run verify --silent","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"changelogx":{"ignoreRegExp":["BLD: Release","DOC: Generate Changelog","Generated Changelog"],"issueIDRegExp":"#(\\d+)","commitURL":"https://github.com/royriojas/flat-cache/commit/{0}","authorURL":"https://github.com/{0}","issueIDURL":"https://github.com/royriojas/flat-cache/issues/{0}","projectName":"flat-cache"},"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^6.1.8","eslinter":"^3.2.1","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"58bb40ccc87d79eb16146629be79d7577e6632da","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"73d6df4a28502160a05e059544a6aeeae8b0047a","_from":".","_npmVersion":"2.14.5","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"73d6df4a28502160a05e059544a6aeeae8b0047a","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.10.tgz"},"directories":{}}},"readme":"# flat-cache\n> A stupidly simple key/value storage using files to persist the data\n\n[](https://npmjs.org/package/flat-cache)\n[](https://travis-ci.org/royriojas/flat-cache)\n\n## install\n\n```bash\nnpm i --save flat-cache\n```\n\n## Usage\n\n```js\nvar flatCache = require('flat-cache')\n// loads the cache, if one does not exists for the given\n// Id a new one will be prepared to be created\nvar cache = flatCache.load('cacheId');\n\n// sets a key on the cache\ncache.setKey('key', { foo: 'var' });\n\n// get a key from the cache\ncache.getKey('key') // { foo: 'var' }\n\n// remove a key\ncache.removeKey('key'); // removes a key from the cache\n\n// save it to disk\ncache.save(); // very important, if you don't save no changes will be persisted.\n\n// loads the cache from a given directory, if one does\n// not exists for the given Id a new one will be prepared to be created\nvar cache = flatCache.load('cacheId', path.resolve('./path/to/folder'));\n\n// The following methods are useful to clear the cache\n// delete a given cache\nflatCache.clearCacheById('cacheId') // removes the cacheId document if one exists.\n\n// delete all cache\nflatCache.clearAll(); // remove the cache directory\n```\n\n## Motivation for this module\n\nI needed a super simple and dumb **in-memory cache** with optional disk persistance in order to make\na script that will beutify files with `esformatter` only execute on the files that were changed since the last run.\nTo make that possible we need to store the `fileSize` and `modificationTime` of the files. So a simple `key/value`\nstorage was needed and Bam! this module was born.\n\n## Important notes\n- If no directory is especified when the `load` method is called, a folder named `.cache` will be created\n inside the module directory when `cache.save` is called. If you're committing your `node_modules` to any vcs, you\n might want to ignore the default `.cache` folder, or specify a custom directory.\n- The values set on the keys of the cache should be `stringify-able` ones, meaning no circular references\n- All the changes to the cache state are done to memory\n- I could have used a timer or `Object.observe` to deliver the changes to disk, but I wanted to keep this module\n intentionally dumb and simple\n\n## License\n\nMIT\n\n## Changelog\n\n[changelog](./changelog.md)\n\n","maintainers":[{"name":"royriojas","email":"[email protected]"}],"time":{"modified":"2015-11-01T23:05:22.543Z","created":"2015-02-26T12:20:02.550Z","1.0.0":"2015-02-26T12:20:02.550Z","1.0.1":"2015-02-26T12:30:21.242Z","1.0.2":"2015-03-02T07:39:37.226Z","1.0.3":"2015-03-02T07:44:29.331Z","1.0.4":"2015-08-30T11:20:11.548Z","1.0.6":"2015-09-11T21:47:54.870Z","1.0.7":"2015-09-11T22:21:22.646Z","1.0.8":"2015-09-11T22:52:46.646Z","1.0.9":"2015-09-11T23:00:36.275Z","1.0.10":"2015-11-01T23:05:22.543Z"},"homepage":"https://github.com/royriojas/flat-cache#readme","keywords":["json cache","simple cache","file cache","key par","key value","cache"],"repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"author":{"name":"Roy Riojas","url":"http://royriojas.com"},"bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"license":"MIT","readmeFilename":"README.md","_attachments":{},"_etag":"\"8HVESORRO6XLMFPW83OUR27IK\""},"email":"[email protected]"}],"dist":{"shasum":"e1901f4fe9831664d8c23f040ebda30c73df3b3b","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.9.tgz"},"directories":{}},"1.0.10":{"name":"flat-cache","version":"1.0.10","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"npm run beautify -- -k","eslint":"eslinter 'cache.js' 'specs/**/*.js'","eslint-fix":"npm run eslint -- --fix","autofix":"npm run beautify && npm run eslint-fix","check":"npm run beautify-check && npm run eslint","verify":"npm run check && npm run test:cache","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test:cache":"mocha -R spec test/specs","test":"npm run verify --silent","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"changelogx":{"ignoreRegExp":["BLD: Release","DOC: Generate Changelog","Generated Changelog"],"issueIDRegExp":"#(\\d+)","commitURL":"https://github.com/royriojas/flat-cache/commit/{0}","authorURL":"https://github.com/{0}","issueIDURL":"https://github.com/royriojas/flat-cache/issues/{0}","projectName":"flat-cache"},"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^6.1.8","eslinter":"^3.2.1","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"58bb40ccc87d79eb16146629be79d7577e6632da","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"73d6df4a28502160a05e059544a6aeeae8b0047a","_from":".","_npmVersion":"2.14.5","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"73d6df4a28502160a05e059544a6aeeae8b0047a","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.10.tgz"},"directories":{}}},"readme":"# flat-cache\n> A stupidly simple key/value storage using files to persist the data\n\n[](https://npmjs.org/package/flat-cache)\n[](https://travis-ci.org/royriojas/flat-cache)\n\n## install\n\n```bash\nnpm i --save flat-cache\n```\n\n## Usage\n\n```js\nvar flatCache = require('flat-cache')\n// loads the cache, if one does not exists for the given\n// Id a new one will be prepared to be created\nvar cache = flatCache.load('cacheId');\n\n// sets a key on the cache\ncache.setKey('key', { foo: 'var' });\n\n// get a key from the cache\ncache.getKey('key') // { foo: 'var' }\n\n// remove a key\ncache.removeKey('key'); // removes a key from the cache\n\n// save it to disk\ncache.save(); // very important, if you don't save no changes will be persisted.\n\n// loads the cache from a given directory, if one does\n// not exists for the given Id a new one will be prepared to be created\nvar cache = flatCache.load('cacheId', path.resolve('./path/to/folder'));\n\n// The following methods are useful to clear the cache\n// delete a given cache\nflatCache.clearCacheById('cacheId') // removes the cacheId document if one exists.\n\n// delete all cache\nflatCache.clearAll(); // remove the cache directory\n```\n\n## Motivation for this module\n\nI needed a super simple and dumb **in-memory cache** with optional disk persistance in order to make\na script that will beutify files with `esformatter` only execute on the files that were changed since the last run.\nTo make that possible we need to store the `fileSize` and `modificationTime` of the files. So a simple `key/value`\nstorage was needed and Bam! this module was born.\n\n## Important notes\n- If no directory is especified when the `load` method is called, a folder named `.cache` will be created\n inside the module directory when `cache.save` is called. If you're committing your `node_modules` to any vcs, you\n might want to ignore the default `.cache` folder, or specify a custom directory.\n- The values set on the keys of the cache should be `stringify-able` ones, meaning no circular references\n- All the changes to the cache state are done to memory\n- I could have used a timer or `Object.observe` to deliver the changes to disk, but I wanted to keep this module\n intentionally dumb and simple\n\n## License\n\nMIT\n\n## Changelog\n\n[changelog](./changelog.md)\n\n","maintainers":[{"name":"royriojas","email":"[email protected]"}],"time":{"modified":"2015-11-01T23:05:22.543Z","created":"2015-02-26T12:20:02.550Z","1.0.0":"2015-02-26T12:20:02.550Z","1.0.1":"2015-02-26T12:30:21.242Z","1.0.2":"2015-03-02T07:39:37.226Z","1.0.3":"2015-03-02T07:44:29.331Z","1.0.4":"2015-08-30T11:20:11.548Z","1.0.6":"2015-09-11T21:47:54.870Z","1.0.7":"2015-09-11T22:21:22.646Z","1.0.8":"2015-09-11T22:52:46.646Z","1.0.9":"2015-09-11T23:00:36.275Z","1.0.10":"2015-11-01T23:05:22.543Z"},"homepage":"https://github.com/royriojas/flat-cache#readme","keywords":["json cache","simple cache","file cache","key par","key value","cache"],"repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"author":{"name":"Roy Riojas","url":"http://royriojas.com"},"bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"license":"MIT","readmeFilename":"README.md","_attachments":{},"_etag":"\"8HVESORRO6XLMFPW83OUR27IK\""}],"issueIDRegExp":"#(\\d+)","commitURL":"https://github.com/royriojas/flat-cache/commit/{0}","authorURL":"https://github.com/{0}","issueIDURL":"https://github.com/royriojas/flat-cache/issues/{0}","projectName":"flat-cache"},"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"7dbd7009e254239fd961c9d9c3c2695d50269f5b","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"e1901f4fe9831664d8c23f040ebda30c73df3b3b","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"e1901f4fe9831664d8c23f040ebda30c73df3b3b","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.9.tgz"},"directories":{}},"1.0.10":{"name":"flat-cache","version":"1.0.10","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"npm run beautify -- -k","eslint":"eslinter 'cache.js' 'specs/**/*.js'","eslint-fix":"npm run eslint -- --fix","autofix":"npm run beautify && npm run eslint-fix","check":"npm run beautify-check && npm run eslint","verify":"npm run check && npm run test:cache","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test:cache":"mocha -R spec test/specs","test":"npm run verify --silent","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"changelogx":{"ignoreRegExp":["BLD: Release","DOC: Generate Changelog","Generated Changelog"],"issueIDRegExp":"#(\\d+)","commitURL":"https://github.com/royriojas/flat-cache/commit/{0}","authorURL":"https://github.com/{0}","issueIDURL":"https://github.com/royriojas/flat-cache/issues/{0}","projectName":"flat-cache"},"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^6.1.8","eslinter":"^3.2.1","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"58bb40ccc87d79eb16146629be79d7577e6632da","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"73d6df4a28502160a05e059544a6aeeae8b0047a","_from":".","_npmVersion":"2.14.5","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"73d6df4a28502160a05e059544a6aeeae8b0047a","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.10.tgz"},"directories":{}}},"readme":"# flat-cache\n> A stupidly simple key/value storage using files to persist the data\n\n[](https://npmjs.org/package/flat-cache)\n[](https://travis-ci.org/royriojas/flat-cache)\n\n## install\n\n```bash\nnpm i --save flat-cache\n```\n\n## Usage\n\n```js\nvar flatCache = require('flat-cache')\n// loads the cache, if one does not exists for the given\n// Id a new one will be prepared to be created\nvar cache = flatCache.load('cacheId');\n\n// sets a key on the cache\ncache.setKey('key', { foo: 'var' });\n\n// get a key from the cache\ncache.getKey('key') // { foo: 'var' }\n\n// remove a key\ncache.removeKey('key'); // removes a key from the cache\n\n// save it to disk\ncache.save(); // very important, if you don't save no changes will be persisted.\n\n// loads the cache from a given directory, if one does\n// not exists for the given Id a new one will be prepared to be created\nvar cache = flatCache.load('cacheId', path.resolve('./path/to/folder'));\n\n// The following methods are useful to clear the cache\n// delete a given cache\nflatCache.clearCacheById('cacheId') // removes the cacheId document if one exists.\n\n// delete all cache\nflatCache.clearAll(); // remove the cache directory\n```\n\n## Motivation for this module\n\nI needed a super simple and dumb **in-memory cache** with optional disk persistance in order to make\na script that will beutify files with `esformatter` only execute on the files that were changed since the last run.\nTo make that possible we need to store the `fileSize` and `modificationTime` of the files. So a simple `key/value`\nstorage was needed and Bam! this module was born.\n\n## Important notes\n- If no directory is especified when the `load` method is called, a folder named `.cache` will be created\n inside the module directory when `cache.save` is called. If you're committing your `node_modules` to any vcs, you\n might want to ignore the default `.cache` folder, or specify a custom directory.\n- The values set on the keys of the cache should be `stringify-able` ones, meaning no circular references\n- All the changes to the cache state are done to memory\n- I could have used a timer or `Object.observe` to deliver the changes to disk, but I wanted to keep this module\n intentionally dumb and simple\n\n## License\n\nMIT\n\n## Changelog\n\n[changelog](./changelog.md)\n\n","maintainers":[{"name":"royriojas","email":"[email protected]"}],"time":{"modified":"2015-11-01T23:05:22.543Z","created":"2015-02-26T12:20:02.550Z","1.0.0":"2015-02-26T12:20:02.550Z","1.0.1":"2015-02-26T12:30:21.242Z","1.0.2":"2015-03-02T07:39:37.226Z","1.0.3":"2015-03-02T07:44:29.331Z","1.0.4":"2015-08-30T11:20:11.548Z","1.0.6":"2015-09-11T21:47:54.870Z","1.0.7":"2015-09-11T22:21:22.646Z","1.0.8":"2015-09-11T22:52:46.646Z","1.0.9":"2015-09-11T23:00:36.275Z","1.0.10":"2015-11-01T23:05:22.543Z"},"homepage":"https://github.com/royriojas/flat-cache#readme","keywords":["json cache","simple cache","file cache","key par","key value","cache"],"repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"author":{"name":"Roy Riojas","url":"http://royriojas.com"},"bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"license":"MIT","readmeFilename":"README.md","_attachments":{},"_etag":"\"8HVESORRO6XLMFPW83OUR27IK\""},"email":"[email protected]"}],"dist":{"shasum":"e1901f4fe9831664d8c23f040ebda30c73df3b3b","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.9.tgz"},"directories":{}},"1.0.10":{"name":"flat-cache","version":"1.0.10","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"npm run beautify -- -k","eslint":"eslinter 'cache.js' 'specs/**/*.js'","eslint-fix":"npm run eslint -- --fix","autofix":"npm run beautify && npm run eslint-fix","check":"npm run beautify-check && npm run eslint","verify":"npm run check && npm run test:cache","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test:cache":"mocha -R spec test/specs","test":"npm run verify --silent","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"changelogx":{"ignoreRegExp":["BLD: Release","DOC: Generate Changelog","Generated Changelog"],"issueIDRegExp":"#(\\d+)","commitURL":"https://github.com/royriojas/flat-cache/commit/{0}","authorURL":"https://github.com/{0}","issueIDURL":"https://github.com/royriojas/flat-cache/issues/{0}","projectName":"flat-cache"},"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^6.1.8","eslinter":"^3.2.1","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"58bb40ccc87d79eb16146629be79d7577e6632da","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"73d6df4a28502160a05e059544a6aeeae8b0047a","_from":".","_npmVersion":"2.14.5","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"73d6df4a28502160a05e059544a6aeeae8b0047a","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.10.tgz"},"directories":{}}},"readme":"# flat-cache\n> A stupidly simple key/value storage using files to persist the data\n\n[](https://npmjs.org/package/flat-cache)\n[](https://travis-ci.org/royriojas/flat-cache)\n\n## install\n\n```bash\nnpm i --save flat-cache\n```\n\n## Usage\n\n```js\nvar flatCache = require('flat-cache')\n// loads the cache, if one does not exists for the given\n// Id a new one will be prepared to be created\nvar cache = flatCache.load('cacheId');\n\n// sets a key on the cache\ncache.setKey('key', { foo: 'var' });\n\n// get a key from the cache\ncache.getKey('key') // { foo: 'var' }\n\n// remove a key\ncache.removeKey('key'); // removes a key from the cache\n\n// save it to disk\ncache.save(); // very important, if you don't save no changes will be persisted.\n\n// loads the cache from a given directory, if one does\n// not exists for the given Id a new one will be prepared to be created\nvar cache = flatCache.load('cacheId', path.resolve('./path/to/folder'));\n\n// The following methods are useful to clear the cache\n// delete a given cache\nflatCache.clearCacheById('cacheId') // removes the cacheId document if one exists.\n\n// delete all cache\nflatCache.clearAll(); // remove the cache directory\n```\n\n## Motivation for this module\n\nI needed a super simple and dumb **in-memory cache** with optional disk persistance in order to make\na script that will beutify files with `esformatter` only execute on the files that were changed since the last run.\nTo make that possible we need to store the `fileSize` and `modificationTime` of the files. So a simple `key/value`\nstorage was needed and Bam! this module was born.\n\n## Important notes\n- If no directory is especified when the `load` method is called, a folder named `.cache` will be created\n inside the module directory when `cache.save` is called. If you're committing your `node_modules` to any vcs, you\n might want to ignore the default `.cache` folder, or specify a custom directory.\n- The values set on the keys of the cache should be `stringify-able` ones, meaning no circular references\n- All the changes to the cache state are done to memory\n- I could have used a timer or `Object.observe` to deliver the changes to disk, but I wanted to keep this module\n intentionally dumb and simple\n\n## License\n\nMIT\n\n## Changelog\n\n[changelog](./changelog.md)\n\n","maintainers":[{"name":"royriojas","email":"[email protected]"}],"time":{"modified":"2015-11-01T23:05:22.543Z","created":"2015-02-26T12:20:02.550Z","1.0.0":"2015-02-26T12:20:02.550Z","1.0.1":"2015-02-26T12:30:21.242Z","1.0.2":"2015-03-02T07:39:37.226Z","1.0.3":"2015-03-02T07:44:29.331Z","1.0.4":"2015-08-30T11:20:11.548Z","1.0.6":"2015-09-11T21:47:54.870Z","1.0.7":"2015-09-11T22:21:22.646Z","1.0.8":"2015-09-11T22:52:46.646Z","1.0.9":"2015-09-11T23:00:36.275Z","1.0.10":"2015-11-01T23:05:22.543Z"},"homepage":"https://github.com/royriojas/flat-cache#readme","keywords":["json cache","simple cache","file cache","key par","key value","cache"],"repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"author":{"name":"Roy Riojas","url":"http://royriojas.com"},"bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"license":"MIT","readmeFilename":"README.md","_attachments":{},"_etag":"\"8HVESORRO6XLMFPW83OUR27IK\""}],"devDependencies":{"chai":"^2.1.0","del":"^1.1.1","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"c98427458354d732ff97cd34afe574ea7da20751","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"476fcc190c2cd267886f11e709f18df986490f5c","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"476fcc190c2cd267886f11e709f18df986490f5c","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.0.tgz"},"directories":{}},"1.0.1":{"name":"flat-cache","version":"1.0.1","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","del":"^1.1.1","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"c2b68053e3c0cc9a8b50fccd4c287322a3b7497c","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"af579cbb98aad7441b2f5039b80ca0bc0dbcca51","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"af579cbb98aad7441b2f5039b80ca0bc0dbcca51","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.1.tgz"},"directories":{}},"1.0.2":{"name":"flat-cache","version":"1.0.2","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"af40443719107848488e120f1ccea92c4b32937c","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"349032e0f9acff77ae6507140e1d2851087b2486","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"349032e0f9acff77ae6507140e1d2851087b2486","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.2.tgz"},"directories":{}},"1.0.3":{"name":"flat-cache","version":"1.0.3","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"13947c1c3c39f30ef30e793de1671cf5cee68f3d","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"7a62750bdd7141723a2afd62c6026fecb7378bb0","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"7a62750bdd7141723a2afd62c6026fecb7378bb0","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.3.tgz"},"directories":{}},"1.0.4":{"name":"flat-cache","version":"1.0.4","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"b26addb245d4fedb0f2e09d9179671638a678241","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"7d4a80c35879c820b067baa7dfa68c48c10900c3","_from":".","_npmVersion":"2.14.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"7d4a80c35879c820b067baa7dfa68c48c10900c3","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.4.tgz"},"directories":{}},"1.0.6":{"name":"flat-cache","version":"1.0.6","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"changelogx":"^1.0.18","del":"^2.0.2","esbeautifier":"^4.2.11","eslinter":"^2.3.3","graceful-fs":"^4.1.2","precommit":"^1.1.5","prepush":"^3.1.4","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"f51197a585909a6062e80f17aa227da2c5adf976","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d6d39d679f4506b4be9a0215a953a20552f9e678","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d6d39d679f4506b4be9a0215a953a20552f9e678","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.6.tgz"},"directories":{}},"1.0.7":{"name":"flat-cache","version":"1.0.7","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"c8981cea35776b4a60deca3e6b51ffae263ee6dd","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d8a0400ea8761eb23ad48aac0bc829f51757874c","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d8a0400ea8761eb23ad48aac0bc829f51757874c","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.7.tgz"},"directories":{}},"1.0.8":{"name":"flat-cache","version":"1.0.8","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"73ffed9194a60da639fe07f10b7742fdd2807326","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d0923628adef582373336f2d2e8623ee2b53b552","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d0923628adef582373336f2d2e8623ee2b53b552","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.8.tgz"},"directories":{}},"1.0.9":{"name":"flat-cache","version":"1.0.9","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"changelogx":{"ignoreRegExp":["BLD: Release","DOC: Generate Changelog","Generated Changelog"],"issueIDRegExp":"#(\\d+)","commitURL":"https://github.com/royriojas/flat-cache/commit/{0}","authorURL":"https://github.com/{0}","issueIDURL":"https://github.com/royriojas/flat-cache/issues/{0}","projectName":"flat-cache"},"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"7dbd7009e254239fd961c9d9c3c2695d50269f5b","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"e1901f4fe9831664d8c23f040ebda30c73df3b3b","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":{"_id":"flat-cache","_rev":"14-ff5e6b05990978e98c840f0812d25b86","name":"flat-cache","description":"A stupidly simple key/value storage using files to persist some data","dist-tags":{"latest":"1.0.10"},"versions":{"1.0.0":{"name":"flat-cache","version":"1.0.0","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","del":"^1.1.1","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"c98427458354d732ff97cd34afe574ea7da20751","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"476fcc190c2cd267886f11e709f18df986490f5c","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"476fcc190c2cd267886f11e709f18df986490f5c","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.0.tgz"},"directories":{}},"1.0.1":{"name":"flat-cache","version":"1.0.1","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","del":"^1.1.1","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"c2b68053e3c0cc9a8b50fccd4c287322a3b7497c","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"af579cbb98aad7441b2f5039b80ca0bc0dbcca51","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"af579cbb98aad7441b2f5039b80ca0bc0dbcca51","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.1.tgz"},"directories":{}},"1.0.2":{"name":"flat-cache","version":"1.0.2","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"af40443719107848488e120f1ccea92c4b32937c","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"349032e0f9acff77ae6507140e1d2851087b2486","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"349032e0f9acff77ae6507140e1d2851087b2486","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.2.tgz"},"directories":{}},"1.0.3":{"name":"flat-cache","version":"1.0.3","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"https://github.com/royriojas/flat-cache"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"13947c1c3c39f30ef30e793de1671cf5cee68f3d","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache","_id":"[email protected]","_shasum":"7a62750bdd7141723a2afd62c6026fecb7378bb0","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"7a62750bdd7141723a2afd62c6026fecb7378bb0","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.3.tgz"},"directories":{}},"1.0.4":{"name":"flat-cache","version":"1.0.4","description":"A stupidly simple key/value storage using files to persist the data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^2.1.0","glob-expand":"0.0.2","istanbul":"^0.3.6","mocha":"^2.1.0","proxyquire":"^1.3.1","sinon":"^1.12.2","sinon-chai":"^2.7.0","watch-run":"^1.2.1"},"dependencies":{"del":"^1.1.1","graceful-fs":"^3.0.5","read-json-sync":"^1.1.0","write":"^0.1.1"},"gitHead":"b26addb245d4fedb0f2e09d9179671638a678241","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"7d4a80c35879c820b067baa7dfa68c48c10900c3","_from":".","_npmVersion":"2.14.0","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"7d4a80c35879c820b067baa7dfa68c48c10900c3","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.4.tgz"},"directories":{}},"1.0.6":{"name":"flat-cache","version":"1.0.6","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"changelogx":"^1.0.18","del":"^2.0.2","esbeautifier":"^4.2.11","eslinter":"^2.3.3","graceful-fs":"^4.1.2","precommit":"^1.1.5","prepush":"^3.1.4","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"f51197a585909a6062e80f17aa227da2c5adf976","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d6d39d679f4506b4be9a0215a953a20552f9e678","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d6d39d679f4506b4be9a0215a953a20552f9e678","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.6.tgz"},"directories":{}},"1.0.7":{"name":"flat-cache","version":"1.0.7","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"c8981cea35776b4a60deca3e6b51ffae263ee6dd","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d8a0400ea8761eb23ad48aac0bc829f51757874c","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d8a0400ea8761eb23ad48aac0bc829f51757874c","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.7.tgz"},"directories":{}},"1.0.8":{"name":"flat-cache","version":"1.0.8","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"73ffed9194a60da639fe07f10b7742fdd2807326","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"d0923628adef582373336f2d2e8623ee2b53b552","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"d0923628adef582373336f2d2e8623ee2b53b552","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.8.tgz"},"directories":{}},"1.0.9":{"name":"flat-cache","version":"1.0.9","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"esbeautifier -k 'cache.js' 'specs/**/*.js'","eslint":"eslinter 'cache.js' 'specs/**/*.js'","lint":"npm run beautify && npm run eslint","verify":"npm run beautify-check && npm run eslint","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test":"mocha -R spec test/specs","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"changelogx":{"ignoreRegExp":["BLD: Release","DOC: Generate Changelog","Generated Changelog"],"issueIDRegExp":"#(\\d+)","commitURL":"https://github.com/royriojas/flat-cache/commit/{0}","authorURL":"https://github.com/{0}","issueIDURL":"https://github.com/royriojas/flat-cache/issues/{0}","projectName":"flat-cache"},"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^4.2.11","eslinter":"^2.3.3","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"7dbd7009e254239fd961c9d9c3c2695d50269f5b","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"e1901f4fe9831664d8c23f040ebda30c73df3b3b","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"e1901f4fe9831664d8c23f040ebda30c73df3b3b","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.9.tgz"},"directories":{}},"1.0.10":{"name":"flat-cache","version":"1.0.10","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"npm run beautify -- -k","eslint":"eslinter 'cache.js' 'specs/**/*.js'","eslint-fix":"npm run eslint -- --fix","autofix":"npm run beautify && npm run eslint-fix","check":"npm run beautify-check && npm run eslint","verify":"npm run check && npm run test:cache","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test:cache":"mocha -R spec test/specs","test":"npm run verify --silent","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"changelogx":{"ignoreRegExp":["BLD: Release","DOC: Generate Changelog","Generated Changelog"],"issueIDRegExp":"#(\\d+)","commitURL":"https://github.com/royriojas/flat-cache/commit/{0}","authorURL":"https://github.com/{0}","issueIDURL":"https://github.com/royriojas/flat-cache/issues/{0}","projectName":"flat-cache"},"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^6.1.8","eslinter":"^3.2.1","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"58bb40ccc87d79eb16146629be79d7577e6632da","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"73d6df4a28502160a05e059544a6aeeae8b0047a","_from":".","_npmVersion":"2.14.5","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"73d6df4a28502160a05e059544a6aeeae8b0047a","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.10.tgz"},"directories":{}}},"readme":"# flat-cache\n> A stupidly simple key/value storage using files to persist the data\n\n[](https://npmjs.org/package/flat-cache)\n[](https://travis-ci.org/royriojas/flat-cache)\n\n## install\n\n```bash\nnpm i --save flat-cache\n```\n\n## Usage\n\n```js\nvar flatCache = require('flat-cache')\n// loads the cache, if one does not exists for the given\n// Id a new one will be prepared to be created\nvar cache = flatCache.load('cacheId');\n\n// sets a key on the cache\ncache.setKey('key', { foo: 'var' });\n\n// get a key from the cache\ncache.getKey('key') // { foo: 'var' }\n\n// remove a key\ncache.removeKey('key'); // removes a key from the cache\n\n// save it to disk\ncache.save(); // very important, if you don't save no changes will be persisted.\n\n// loads the cache from a given directory, if one does\n// not exists for the given Id a new one will be prepared to be created\nvar cache = flatCache.load('cacheId', path.resolve('./path/to/folder'));\n\n// The following methods are useful to clear the cache\n// delete a given cache\nflatCache.clearCacheById('cacheId') // removes the cacheId document if one exists.\n\n// delete all cache\nflatCache.clearAll(); // remove the cache directory\n```\n\n## Motivation for this module\n\nI needed a super simple and dumb **in-memory cache** with optional disk persistance in order to make\na script that will beutify files with `esformatter` only execute on the files that were changed since the last run.\nTo make that possible we need to store the `fileSize` and `modificationTime` of the files. So a simple `key/value`\nstorage was needed and Bam! this module was born.\n\n## Important notes\n- If no directory is especified when the `load` method is called, a folder named `.cache` will be created\n inside the module directory when `cache.save` is called. If you're committing your `node_modules` to any vcs, you\n might want to ignore the default `.cache` folder, or specify a custom directory.\n- The values set on the keys of the cache should be `stringify-able` ones, meaning no circular references\n- All the changes to the cache state are done to memory\n- I could have used a timer or `Object.observe` to deliver the changes to disk, but I wanted to keep this module\n intentionally dumb and simple\n\n## License\n\nMIT\n\n## Changelog\n\n[changelog](./changelog.md)\n\n","maintainers":[{"name":"royriojas","email":"[email protected]"}],"time":{"modified":"2015-11-01T23:05:22.543Z","created":"2015-02-26T12:20:02.550Z","1.0.0":"2015-02-26T12:20:02.550Z","1.0.1":"2015-02-26T12:30:21.242Z","1.0.2":"2015-03-02T07:39:37.226Z","1.0.3":"2015-03-02T07:44:29.331Z","1.0.4":"2015-08-30T11:20:11.548Z","1.0.6":"2015-09-11T21:47:54.870Z","1.0.7":"2015-09-11T22:21:22.646Z","1.0.8":"2015-09-11T22:52:46.646Z","1.0.9":"2015-09-11T23:00:36.275Z","1.0.10":"2015-11-01T23:05:22.543Z"},"homepage":"https://github.com/royriojas/flat-cache#readme","keywords":["json cache","simple cache","file cache","key par","key value","cache"],"repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"author":{"name":"Roy Riojas","url":"http://royriojas.com"},"bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"license":"MIT","readmeFilename":"README.md","_attachments":{},"_etag":"\"8HVESORRO6XLMFPW83OUR27IK\""},"email":"[email protected]"}],"dist":{"shasum":"e1901f4fe9831664d8c23f040ebda30c73df3b3b","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.9.tgz"},"directories":{}},"1.0.10":{"name":"flat-cache","version":"1.0.10","description":"A stupidly simple key/value storage using files to persist some data","repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"license":"MIT","author":{"name":"Roy Riojas","url":"http://royriojas.com"},"main":"cache.js","files":["cache.js"],"engines":{"node":">=0.10.0"},"precommit":["npm run verify --silent"],"prepush":["npm run verify --silent"],"scripts":{"beautify":"esbeautifier 'cache.js' 'specs/**/*.js'","beautify-check":"npm run beautify -- -k","eslint":"eslinter 'cache.js' 'specs/**/*.js'","eslint-fix":"npm run eslint -- --fix","autofix":"npm run beautify && npm run eslint-fix","check":"npm run beautify-check && npm run eslint","verify":"npm run check && npm run test:cache","install-hooks":"prepush install && changelogx install-hook && precommit install","changelog":"changelogx -f markdown -o ./changelog.md","do-changelog":"npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify","pre-v":"npm run verify","post-v":"npm run do-changelog && git push --no-verify && git push --tags --no-verify","bump-major":"npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v","bump-minor":"npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v","bump-patch":"npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v","test:cache":"mocha -R spec test/specs","test":"npm run verify --silent","cover":"istanbul cover test/runner.js html text-summary","watch":"watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"},"keywords":["json cache","simple cache","file cache","key par","key value","cache"],"changelogx":{"ignoreRegExp":["BLD: Release","DOC: Generate Changelog","Generated Changelog"],"issueIDRegExp":"#(\\d+)","commitURL":"https://github.com/royriojas/flat-cache/commit/{0}","authorURL":"https://github.com/{0}","issueIDURL":"https://github.com/royriojas/flat-cache/issues/{0}","projectName":"flat-cache"},"devDependencies":{"chai":"^3.2.0","changelogx":"^1.0.18","esbeautifier":"^6.1.8","eslinter":"^3.2.1","glob-expand":"^0.1.0","istanbul":"^0.3.19","mocha":"^2.3.2","precommit":"^1.1.5","prepush":"^3.1.4","proxyquire":"^1.7.2","sinon":"^1.16.1","sinon-chai":"^2.8.0","watch-run":"^1.2.2"},"dependencies":{"del":"^2.0.2","graceful-fs":"^4.1.2","read-json-sync":"^1.1.0","write":"^0.2.1"},"gitHead":"58bb40ccc87d79eb16146629be79d7577e6632da","bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"homepage":"https://github.com/royriojas/flat-cache#readme","_id":"[email protected]","_shasum":"73d6df4a28502160a05e059544a6aeeae8b0047a","_from":".","_npmVersion":"2.14.5","_nodeVersion":"0.12.0","_npmUser":{"name":"royriojas","email":"[email protected]"},"maintainers":[{"name":"royriojas","email":"[email protected]"}],"dist":{"shasum":"73d6df4a28502160a05e059544a6aeeae8b0047a","tarball":"http://registry.npmjs.org/flat-cache/-/flat-cache-1.0.10.tgz"},"directories":{}}},"readme":"# flat-cache\n> A stupidly simple key/value storage using files to persist the data\n\n[](https://npmjs.org/package/flat-cache)\n[](https://travis-ci.org/royriojas/flat-cache)\n\n## install\n\n```bash\nnpm i --save flat-cache\n```\n\n## Usage\n\n```js\nvar flatCache = require('flat-cache')\n// loads the cache, if one does not exists for the given\n// Id a new one will be prepared to be created\nvar cache = flatCache.load('cacheId');\n\n// sets a key on the cache\ncache.setKey('key', { foo: 'var' });\n\n// get a key from the cache\ncache.getKey('key') // { foo: 'var' }\n\n// remove a key\ncache.removeKey('key'); // removes a key from the cache\n\n// save it to disk\ncache.save(); // very important, if you don't save no changes will be persisted.\n\n// loads the cache from a given directory, if one does\n// not exists for the given Id a new one will be prepared to be created\nvar cache = flatCache.load('cacheId', path.resolve('./path/to/folder'));\n\n// The following methods are useful to clear the cache\n// delete a given cache\nflatCache.clearCacheById('cacheId') // removes the cacheId document if one exists.\n\n// delete all cache\nflatCache.clearAll(); // remove the cache directory\n```\n\n## Motivation for this module\n\nI needed a super simple and dumb **in-memory cache** with optional disk persistance in order to make\na script that will beutify files with `esformatter` only execute on the files that were changed since the last run.\nTo make that possible we need to store the `fileSize` and `modificationTime` of the files. So a simple `key/value`\nstorage was needed and Bam! this module was born.\n\n## Important notes\n- If no directory is especified when the `load` method is called, a folder named `.cache` will be created\n inside the module directory when `cache.save` is called. If you're committing your `node_modules` to any vcs, you\n might want to ignore the default `.cache` folder, or specify a custom directory.\n- The values set on the keys of the cache should be `stringify-able` ones, meaning no circular references\n- All the changes to the cache state are done to memory\n- I could have used a timer or `Object.observe` to deliver the changes to disk, but I wanted to keep this module\n intentionally dumb and simple\n\n## License\n\nMIT\n\n## Changelog\n\n[changelog](./changelog.md)\n\n","maintainers":[{"name":"royriojas","email":"[email protected]"}],"time":{"modified":"2015-11-01T23:05:22.543Z","created":"2015-02-26T12:20:02.550Z","1.0.0":"2015-02-26T12:20:02.550Z","1.0.1":"2015-02-26T12:30:21.242Z","1.0.2":"2015-03-02T07:39:37.226Z","1.0.3":"2015-03-02T07:44:29.331Z","1.0.4":"2015-08-30T11:20:11.548Z","1.0.6":"2015-09-11T21:47:54.870Z","1.0.7":"2015-09-11T22:21:22.646Z","1.0.8":"2015-09-11T22:52:46.646Z","1.0.9":"2015-09-11T23:00:36.275Z","1.0.10":"2015-11-01T23:05:22.543Z"},"homepage":"https://github.com/royriojas/flat-cache#readme","keywords":["json cache","simple cache","file cache","key par","key value","cache"],"repository":{"type":"git","url":"git+https://github.com/royriojas/flat-cache.git"},"author":{"name":"Roy Riojas","url":"http://royriojas.com"},"bugs":{"url":"https://github.com/royriojas/flat-cache/issues"},"license":"MIT","readmeFilename":"README.md","_attachments":{},"_etag":"\"8HVESORRO6XLMFPW83OUR27IK\""} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment