{"_id":"flash-store","_rev":"127-bfe7bf7c709552af4d4cc7896f7beab9","name":"flash-store","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","dist-tags":{"latest":"1.0.6","next":"1.3.5"},"versions":{"0.0.1":{"name":"flash-store","version":"0.0.1","description":"Flash Store is an Easy to Use Key-Value Storage Library for Node.js Writen in TypeScript Edit","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module es6","clean":"shx rm -fr dist/* bundles/*","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run test:unit","test:npm":"export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.2.1","leveldown":"^1.8.0","levelup":"^2.0.0-rc3","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","rollup":"^0.50.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"gitHead":"eda77cbe21e8725e9d7e3e4db1b2318527bd69b0","_id":"flash-store@0.0.1","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-vqd9dgV3dkEqcs6PQmcvbpkKvCKcKzwIGi/R220oMXr4CcNMY5SzifKWb42gqHYGNoF3gkr6NzWvRdVRRcVSCg==","shasum":"7d6520edb0ba97aa2d197ac8800d2ef6b19fa326","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdVXDgSdfBP63H163p0nL1yTYFB0QASv/+4BgxC/HiKQIhANZ8xjndB2GY1B+K5y4sRnOMItzHSMaxGB7BVMLH0MLd"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store-0.0.1.tgz_1506194997452_0.18266974505968392"},"directories":{}},"0.0.2":{"name":"flash-store","version":"0.0.2","description":"Flash Store is an Easy to Use Key-Value Storage Library for Node.js Writen in TypeScript Edit","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module es6","clean":"shx rm -fr dist/* bundles/*","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:npm":"npm run dist && export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.2.1","leveldown":"^1.8.0","levelup":"^2.0.0-rc3","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","rollup":"^0.50.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"gitHead":"c4aa9441ba29925598f94740cd825213691d9ba0","_id":"flash-store@0.0.2","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-oKpZHzjKsbtdAEmcXQ3ZLGMdlVx84JwXBg2YvvnGj/Jx6YAFgD6+9GbIg7i1sQchMh7o4k3jCYunPnhZPcYLTQ==","shasum":"4fa4d44f46c969c4fccd4122591fbccd0edfd83d","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.0.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF78ErtMtkJOgrKbiFdr+QGoyELMWLA9HlvA/Z9tMIZGAiAYTw88EbpJuoDldZaOMcMlaAFyy2dtz20flv8pJDaNow=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store-0.0.2.tgz_1506196634176_0.11667602555826306"},"directories":{}},"0.0.3":{"name":"flash-store","version":"0.0.3","description":"Flash Store is an Easy to Use Key-Value Storage Library for Node.js Writen in TypeScript Edit","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module es6","clean":"shx rm -fr dist/* bundles/*","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:npm":"npm run dist && export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.2.1","leveldown":"^1.8.0","levelup":"^2.0.0-rc3","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","rollup":"^0.50.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"gitHead":"96e4781a40c87b89333ec0d7b2506edadf822afc","_id":"flash-store@0.0.3","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-Nr7RnRmKOoWbbPp3qm3+H0mewoUErwThgRVZlZVjLcFD0YwYp0jf5SgSvVoqBhNQ0k7z+Bwi752l5XHC9le/Ug==","shasum":"c028d97fbebb92219cead64220201f1ed7b8d2e4","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.0.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDFZNM/tM2DFxVH6LIsrbBAW/OXYLgOvVWBzHGr/M9mkQIhAPfZHr7G3FpjzjKYzDo2RR/QMGacifkv/5rWl+t2SyZc"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store-0.0.3.tgz_1506196928275_0.5872039559762925"},"directories":{}},"0.0.4":{"name":"flash-store","version":"0.0.4","description":"Flash Store is an Easy to Use Key-Value Storage Library for Node.js Writen in TypeScript Edit","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module es6","clean":"shx rm -fr dist/* bundles/*","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:npm":"npm run dist && export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.2.1","leveldown":"^1.8.0","levelup":"^2.0.0-rc3","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","rollup":"^0.50.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"gitHead":"7facdba59456f9f7c17b8e54a31fc8c7c053c03e","_id":"flash-store@0.0.4","_shasum":"f48bab464e2d499f24f2dacb6447a8024396afbc","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"shasum":"f48bab464e2d499f24f2dacb6447a8024396afbc","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.0.4.tgz","integrity":"sha512-l42DMUKAuITIffYWq/nG55ce2cGFmQphoBdf8iGMTU2WOfu18Z+KHMAYEsclaPF6Aa66bGE1HOZIcxOwz7UBPw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIARgRXEtU77jB92eK33y4rciUbVxgFZ1EkaEpA/xEFEPAiEAqXU3dG9PlWh/Gv2HauFEwgV6+ju4u3AG+WelQhZeCZE="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store-0.0.4.tgz_1506197047311_0.9794176411814988"},"directories":{}},"0.0.5":{"name":"flash-store","version":"0.0.5","description":"Flash Store is an Easy to Use Key-Value Storage Library for Node.js Writen in TypeScript Edit","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module es6","clean":"shx rm -fr dist/* bundles/*","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:npm":"npm run dist && export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.2.1","leveldown":"^1.8.0","levelup":"^2.0.0-rc3","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","rollup":"^0.50.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"gitHead":"3eeccf49b2ad3085ba742af333d7739388719ff3","_id":"flash-store@0.0.5","_shasum":"9af3aa335339bcebf8a7ef01505686b44a17305d","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"shasum":"9af3aa335339bcebf8a7ef01505686b44a17305d","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.0.5.tgz","integrity":"sha512-si8IicMGddkKjP/qYJmQr1x2/ok/+6Q14e5ZB2HkG4XyLTLEWG0uNJJybNmLQTCOWwyQ2tvbbSze/kBOLUZwwg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0hpaviXB4fo6u+hKo9YBatTGnXRfn/qW8CD8KggA0kAIhAIc0ASHiMTgJsJA1bgWs67dNtZImJODniRhkMuK3cCTF"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store-0.0.5.tgz_1506197185938_0.2383364150300622"},"directories":{}},"0.0.6":{"name":"flash-store","version":"0.0.6","description":"Flash Store is an Easy to Use Key-Value Storage Library for Node.js Writen in TypeScript Edit","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module es6","clean":"shx rm -fr dist/* bundles/*","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:npm":"npm run dist && export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.2.1","leveldown":"^1.8.0","levelup":"^2.0.0-rc3","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","rollup":"^0.50.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"gitHead":"f4098855386ea7981cc47c4ab9c43d736fce4eff","_id":"flash-store@0.0.6","_shasum":"361d34e5922a31de2138ad48f987c23ded80710d","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"shasum":"361d34e5922a31de2138ad48f987c23ded80710d","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.0.6.tgz","integrity":"sha512-ipaJO3/ins6f8qo5a3L2nKJOj+fiqq5WvblVKjlWLjLfHq4ouxfFh13bcBWmKjzUkqrDQ0D1Tpe01MOpdKmzHg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG3QagBty0XgeTaYsgycvLTy/nf4c3v0shj6s8zPXPCPAiEAvshsjG71kjRYVNmkvuO9iUa+yRhJVxU9iqu3+dC4F5g="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store-0.0.6.tgz_1506197522822_0.08666651719249785"},"directories":{}},"0.0.7":{"name":"flash-store","version":"0.0.7","description":"Flash Store is an Easy to Use Key-Value Storage Library for Node.js Writen in TypeScript Edit","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module es6","clean":"shx rm -fr dist/* bundles/*","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:npm":"npm run dist && export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.2.1","leveldown":"^1.8.0","levelup":"^2.0.0-rc3","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","rollup":"^0.50.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"gitHead":"956dbe64501fbb92508beb62f134ffe7f1366a68","_id":"flash-store@0.0.7","_shasum":"a268c5b99f248443eb274ec8b62957a916599076","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"shasum":"a268c5b99f248443eb274ec8b62957a916599076","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.0.7.tgz","integrity":"sha512-1PGMapShgVgyHh0UM4F7g6gLFs25TvEVw920w+XAw4HUzOx/WIMQTtbgccf/Lg5OgPfLfmX60zCCAAvw4UgTwQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEwYjml0hHCT89wtL+T/J58m0n8l76C0zRjfOOf4vxADAiBWlAz/OZXbHoDyko6tANIlA0mZ3U5nEVcrKfoHEQoNYw=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store-0.0.7.tgz_1506219682098_0.5336170182563365"},"directories":{}},"0.0.8":{"name":"flash-store","version":"0.0.8","description":"Flash Store is an Easy to Use Key-Value Storage Library for Node.js Writen in TypeScript Edit","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module es6","clean":"shx rm -fr dist/* bundles/*","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:npm":"npm run dist && export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.2.1","leveldown":"^1.8.0","levelup":"^2.0.0-rc3","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","rollup":"^0.50.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"gitHead":"8c7b002f97cefc8b08162e7ccd8e45d295e6037d","_id":"flash-store@0.0.8","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-7GtxDaBxnqLvGY23b+xeu2fpjx/c4jnCyJG2te05FyNRUPp8LVFQgBTnwtyqbbbkGcBE8h9ECTe0HwNMQ/ozhw==","shasum":"fa0219a6d8832be36cc3b3762e3edcd1ee8719e8","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.0.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICP6twmhqfUTJCVOvpoufpx1woPsVOlG3TapJNgOcHdxAiEA5IPQulLbkzPaFr2g6frZ/AG/HqR6dLps9b+37w1djO0="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store-0.0.8.tgz_1506219994956_0.5777705633081496"},"directories":{}},"0.0.9":{"name":"flash-store","version":"0.0.9","description":"Flash Store is an Easy to Use Key-Value Storage Library for Node.js Writen in TypeScript Edit","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module es6","clean":"shx rm -fr dist/* bundles/*","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:npm":"npm run dist && export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.2.1","leveldown":"^1.8.0","levelup":"^2.0.0-rc3","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","rollup":"^0.50.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"gitHead":"a47aeec280ab7fc359020ce0686938a8d0fa3282","_id":"flash-store@0.0.9","_shasum":"331ea5719da0bf6f1025bda539de0d4e84c2340b","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"shasum":"331ea5719da0bf6f1025bda539de0d4e84c2340b","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.0.9.tgz","integrity":"sha512-ZzAfTYHD9NKGAS8kEwYM3wbh16E3k5FGKKhOwKCB7802sSXglu/42IobpiU9xtUQNrRZlkP16Vr6QqcVkLvI8w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXUqmqVVEgWk5P8qTxDtLGVKN/RPBKKecOz19mEHVMgwIhAPLRbs2TbzXBk0wUfgAzlkF74bFrGHFDZ54IPHM5qO5S"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store-0.0.9.tgz_1506227686362_0.10554011934436858"},"directories":{}},"0.0.10":{"name":"flash-store","version":"0.0.10","description":"Flash Store is an Easy to Use Key-Value Storage Library for Node.js Writen in TypeScript Edit","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module es6","clean":"shx rm -fr dist/* bundles/*","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:npm":"npm run dist && export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.2.1","leveldown":"^1.8.0","levelup":"^2.0.0-rc3","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","rollup":"^0.50.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"gitHead":"95156faa7112016036c6c052bbe7b964ccbb7a23","_id":"flash-store@0.0.10","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-szH8c5cPSD5cfqEMYm2SigIeD2JFjNRKab1eDm50c9tb7SI6WJUeGXPtUtrQxW88TqQbZFBX3ddjTkpn5W5dnA==","shasum":"608023a8aac781a419eb801d4126fdf39e6bb511","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.0.10.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID5niCucAJjXqeMkm/ucU9OuvAPUusXp6PD3PrBM9MVeAiEAsDgevXQwKH8hUQ7YZqelWWfnp0pPQFyT1ODJBKMtpLE="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store-0.0.10.tgz_1506230240518_0.9178200988098979"},"directories":{}},"0.0.11":{"name":"flash-store","version":"0.0.11","description":"Flash Store is an Easy to Use Key-Value Storage Library for Node.js Writen in TypeScript Edit","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module es6","clean":"shx rm -fr dist/* bundles/*","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:npm":"npm run dist && export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.2.1","leveldown":"^1.8.0","levelup":"^2.0.0-rc3","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","rollup":"^0.50.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"gitHead":"ec4183d4b20225da27ad3c18863895618276d9e7","_id":"flash-store@0.0.11","_shasum":"59254ac03d4acee177c02b154098174739f8afc6","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"shasum":"59254ac03d4acee177c02b154098174739f8afc6","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.0.11.tgz","integrity":"sha512-F4zagUeqK8Fb92yTLFmA59I5pKG5t4wDbfgBlb4enAr/RhC2ycoSRyokYAdnuQd1pa+GCnlIzAuQ97gr5BpvQQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDaZD35PvJO83LFH9bSFPw2WOONPzr6ywmizZ6jxujniAiEA2LfzYL9/Msv3rN6FCXWI5+8D8w/rnCoSnOpw9PZUOhA="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store-0.0.11.tgz_1506255234018_0.6520864830818027"},"directories":{}},"0.0.12":{"name":"flash-store","version":"0.0.12","description":"Flash Store is an Easy to Use Key-Value Storage Library for Node.js Writen in TypeScript Edit","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module es6","clean":"shx rm -fr dist/* bundles/*","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:npm":"npm run dist && export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.2.1","leveldown":"^1.8.0","levelup":"^2.0.0-rc3","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","rollup":"^0.50.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"gitHead":"ad9aa1bb7fb85e0730771788a36803d733dc4ab2","_id":"flash-store@0.0.12","_shasum":"b87bf322ae9db2f8952e7a1b7e2099842e91a612","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"shasum":"b87bf322ae9db2f8952e7a1b7e2099842e91a612","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.0.12.tgz","integrity":"sha512-L2VqHntN7Nu8SzDDnBx2Qp5gaYUD9JQWpFEjxB38Dj9WT3o4kpfzANtIXjnVZCg68BBi+DDJff51ANjv+PU0ZA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDhiv/8axDjLvdU3o6G3filRTTCKdZQ3sAKH74QVESvrAiAvqtdr2agGdiP1p6il3USLD8jMvNrGTuwKZF41SN5+iA=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store-0.0.12.tgz_1506262773319_0.689754911698401"},"directories":{}},"0.0.13":{"name":"flash-store","version":"0.0.13","description":"Flash Store is an Easy to Use Key-Value Storage Library for Node.js Writen in TypeScript Edit","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module es6","clean":"shx rm -fr dist/* bundles/*","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:npm":"npm run dist && export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.3.0","leveldown":"^1.8.0","levelup":"^2.0.0-rc3","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","rollup":"^0.50.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"gitHead":"045f7c6a8a00ad38e5ee15d72c8192391a1d1c92","_id":"flash-store@0.0.13","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-VVOAc4iAyE5A6znf8hgImG84BIjcN9d+UPhRomg45Ua+t8s+vzTdTeK6JtHiKvu80FHOGz4bxyEWaH1YXjkqFg==","shasum":"20acc389ae74dc496871ee4fe0db2021c72bf375","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.0.13.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEmCEkrvSmEZUbseq+7fWlsxozVu5jVJnZ4ipVCLs6LgAiBdbkYUBvAVHVFkhQMbPU20o8IjrqJNuq08cmYRtlYy2Q=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store-0.0.13.tgz_1506269614055_0.429253198672086"},"directories":{}},"0.0.14":{"name":"flash-store","version":"0.0.14","description":"Flash Store is an Easy to Use Key-Value Storage Library for Node.js Writen in TypeScript Edit","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module es6","clean":"shx rm -fr dist/* bundles/*","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:npm":"npm run dist && export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.3.0","leveldown":"^1.8.0","levelup":"^2.0.0-rc3","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","rollup":"^0.50.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"gitHead":"3e0c4d4f61a7ba788afa2219bc6d1efc84876e93","_id":"flash-store@0.0.14","_shasum":"8027ad26ab06d007f7792275aebc7128f4f3f80b","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"shasum":"8027ad26ab06d007f7792275aebc7128f4f3f80b","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.0.14.tgz","integrity":"sha512-/ASoSkouQ7Mn1a5NmtnvrvSlWltnI4o5b7lLhUwEq4kbi16bTQ0MrEJG09r7HQl2hNLDD/o0M8U6O+oJ7DWZOA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDswQvLAx7ND5JUe+SHffWifP1Pd9b8VSQzJgidOunyawIgAkis0v/5E7k5DeQYJ7EL9I8tQZqgjhT9GWBTQfla7II="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store-0.0.14.tgz_1506437386953_0.9742939553689212"},"directories":{}},"0.0.15":{"name":"flash-store","version":"0.0.15","description":"Flash Store is an Easy to Use Key-Value Storage Library for Node.js Writen in TypeScript Edit","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module es6","clean":"shx rm -fr dist/* bundles/*","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:npm":"npm run dist && export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.3.1","leveldown":"^2.0.0","levelup":"2.0.0-rc2","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","rollup":"^0.50.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"gitHead":"927314b8c78c8a1bec152e7cd10648aff9e3345f","_id":"flash-store@0.0.15","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-XTEt9hf3AXkO81IxodLOlzeNtcRbTnCjd/ccnWAfs7YaaHMLdpZNBHLsS10AseVSQcm85rZ6c4DxG3s0+TTH5w==","shasum":"77550a747669e82bd0da03d7717cb81e39e98267","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.0.15.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFRRckR+QVqaXbU+B1lOtd1A+ZuynQQmqwiwQUvxZpXKAiEA0DM05Izsa4VYxAiPG3IpBgxPP5A8t0o5rG86CFk5B/o="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store-0.0.15.tgz_1506956174063_0.9335594167932868"},"directories":{}},"0.0.16":{"name":"flash-store","version":"0.0.16","description":"Flash Store is an Easy to Use Key-Value Storage Library for Node.js Writen in TypeScript Edit","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module es6","clean":"shx rm -fr dist/* bundles/*","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:npm":"npm run dist && export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.3.1","leveldown":"^2.0.0","levelup":"2.0.0-rc2","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","rollup":"^0.50.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"gitHead":"c31bedc06a8496347229ca7913e47c1b5f4c403d","_id":"flash-store@0.0.16","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-xOELNbylB5Aaoj0XJmZP1utgQFhL5sltdQzNXGnMZXw6Lr1oPhRJpQBpJLEhJEvVkvrGb+Es9rwKuYkwQBomMg==","shasum":"02b69016e083155b0c61d64add4f1f8fe1dd1a36","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.0.16.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCL4FHjmbYd14BUzmhZ50YTFEqVUbDKwybPyk/gAA+OWQIhAJxQThxCBmCBfj8txIzONXlFjo2hpfIuU5HrawFmMMPh"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store-0.0.16.tgz_1506962202003_0.5661500710994005"},"directories":{}},"0.0.17":{"name":"flash-store","version":"0.0.17","description":"Flash Store is an Easy to Use Key-Value Storage Library for Node.js Writen in TypeScript Edit","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module es6","clean":"shx rm -fr dist/* bundles/*","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:npm":"npm run dist && export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.3.1","leveldown":"^2.0.0","levelup":"2.0.0-rc2","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","rollup":"^0.50.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"gitHead":"214fe4736ed2c065c68ff4a5e7f07af02c820344","_id":"flash-store@0.0.17","_shasum":"6b26bd70951eda0ebaa5879ed40de503e694ad27","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"shasum":"6b26bd70951eda0ebaa5879ed40de503e694ad27","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.0.17.tgz","integrity":"sha512-Iu7DF4kVvK4YrmKgoEGWJaZ/3ExBUlHoQc6YaXuEUh0boehhzdPdyC2kCkpshKLwAnwvuFB46Q5T0QCGKeA/5w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGnO3j4RQTTibs6MYJyZ+fcuunbUadlRnROpMt3/onHZAiEAsh3Hur77vfGQ8hPm8XeayfNRnrn1LqY+Er8qgw3DmLI="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store-0.0.17.tgz_1506962714248_0.734257216565311"},"directories":{}},"0.0.18":{"name":"flash-store","version":"0.0.18","description":"Flash Store is an Easy to Use Key-Value Storage Library for Node.js Writen in TypeScript Edit","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module es6","clean":"shx rm -fr dist/* bundles/*","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:npm":"npm run dist && export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.3.1","leveldown":"^2.0.0","levelup":"2.0.0-rc2","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","rollup":"^0.50.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"gitHead":"18363fda25a053612df42231def98a45a9d45f51","_id":"flash-store@0.0.18","_shasum":"849642eb8d8a93b5c0c22304dc9ade8e5c85fe95","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"shasum":"849642eb8d8a93b5c0c22304dc9ade8e5c85fe95","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.0.18.tgz","integrity":"sha512-49wqnPTjCFW6pp792TsLzvCBQY1ntJqNQM8JUuekVZHDXxIY3zKKK6gZ1ZsXICzgwD7f+jfHCCuOg4lxDSaviQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCuoBlgBDqHcvTsVZW+4g7MSthH9xd/9poKK6Bn4bqeXwIgSPcl97KHN9w5lvRwdakJUlvMRyTiR9oj6OWUKSlZFUs="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store-0.0.18.tgz_1506963154777_0.393226969987154"},"directories":{}},"0.0.19":{"name":"flash-store","version":"0.0.19","description":"Flash Store is an Easy to Use Key-Value Storage Library for Node.js Writen in TypeScript Edit","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module es6","clean":"shx rm -fr dist/* bundles/*","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:npm":"npm run dist && export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.3.1","leveldown":"^2.0.0","levelup":"2.0.0-rc2","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","rollup":"^0.50.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"gitHead":"31a8ab6f3ddd79a5a55b97ed868ad719d7cc5cd4","_id":"flash-store@0.0.19","_shasum":"748cd1c93e1f49b7eabfaf183337746d5fe234ed","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"shasum":"748cd1c93e1f49b7eabfaf183337746d5fe234ed","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.0.19.tgz","integrity":"sha512-iFe4sQydqULpgMA0DxWZLN51OO7Lp5OMPQ9vuX93BkAthfBIPPdOYet1EsxPrb7SWhXzj9yc0IXQGm2gLFvjaw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQp2fXOxz3RMquapNmiBPIIoDR5H3NnhfjGpqK4YQo3AIgQceM09dzwzXMlfcLzMNb1Q1Ia/UkNdfs4QvHCTOEn9U="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store-0.0.19.tgz_1506998624733_0.4658005814999342"},"directories":{}},"0.1.2":{"name":"flash-store","version":"0.1.2","description":"An Easy to Use Key-Value DB built on top of LevelDB","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module esnext","clean":"shx rm -fr dist/* bundles/*","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:npm":"npm run dist && export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.3.1","leveldown":"^2.0.0","levelup":"github:MeirionHughes/levelup","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","rollup":"^0.50.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"gitHead":"d0ae1fec66776fcffb00245397b31a931403651d","_id":"flash-store@0.1.2","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-9rmWDnUwVA5WaVY9xcfzRGK67Q3NXBAenZymhhIJ/0Pfk5qivGffJRVULx6fq8GbLSlbtTCIEX+x4/6BJLvwWA==","shasum":"2268d70c21ac399711af4e9f3374a06f33e1e7df","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.1.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpUoepvnR6Y+b2qttK45sd/QFfeUbVoGGDYVt6tK5ENwIhAJfsAfL9RNDeR3GxpHHrdsibKAD7EJdrmXNatRhPzyzJ"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store-0.1.2.tgz_1507601212405_0.6558458702638745"},"directories":{}},"0.1.3":{"name":"flash-store","version":"0.1.3","description":"An Easy to Use Key-Value DB built on top of LevelDB","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module esnext","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:npm":"npm run dist && export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.3.1","leveldown":"^2.0.0","levelup":"github:meirionhughes/levelup","rimraf":"^2.6.2"},"devDependencies":{"jsdoc-to-markdown":"^3.0.0","@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","rollup":"^0.50.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"gitHead":"b0309204efefb6f805fe1af5837aca7935f2fcb8","_id":"flash-store@0.1.3","_shasum":"7036c2c2bd42e1c50d4d4c9693b8d2da6cfbcbde","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"shasum":"7036c2c2bd42e1c50d4d4c9693b8d2da6cfbcbde","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.1.3.tgz","integrity":"sha512-6nnkveFaYFN2olbiKguGWdlkinkKG9EOaQHEyo6A6sI3t20OTmkdfSLH4bWxaDsKx7BSEMhY0AqqZnqXCs8gGw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB9XFTP7OzpEISbTsct6fqotn7izUcI23qe9REX71pVmAiEAyYO9K3L2n2r9XWbPYlkFqkBsp1GR+PBoEJyPbT5iap8="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store-0.1.3.tgz_1508293876588_0.8864542040973902"},"directories":{}},"0.1.4":{"name":"flash-store","version":"0.1.4","description":"An Easy to Use Key-Value DB built on top of LevelDB","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module esnext","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:npm":"npm run dist && export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.3.1","leveldown":"^2.0.0","levelup":"github:MeirionHughes/levelup","rimraf":"^2.6.2"},"devDependencies":{"jsdoc-to-markdown":"^3.0.0","@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"gitHead":"9fba4d69a6f876d8e8bddf883dbe27291d1cfe77","_id":"flash-store@0.1.4","_npmVersion":"5.4.2","_nodeVersion":"8.8.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-4DmGVWsOXknRlypVkT0k1BTiGMlSos0KQ9jtH3KfU8Y/V0LPdKuYlJtC0su2cUSJsg8JzKXyq1qvpbVwkgmnkQ==","shasum":"907f2569236e328bb6509b007e037db582c13cf5","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.1.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICrJmOrb131WaK8B0+GSOqgALReMS4shI97MuhZWdT+EAiAZml7HpMEE/4B5TSS3FG6/etCu1S5YwMS18SQb+XgnVQ=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store-0.1.4.tgz_1509183982710_0.08618772681802511"},"directories":{}},"0.1.5":{"name":"flash-store","version":"0.1.5","description":"An Easy to Use Key-Value DB built on top of LevelDB","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module esnext","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:npm":"npm run dist && export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.3.1","leveldown":"^2.0.0","levelup":"github:meirionhughes/levelup","rimraf":"^2.6.2"},"devDependencies":{"jsdoc-to-markdown":"^3.0.0","@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"gitHead":"571f2c3d6cf48b0750be0d4c737997095b63c2bd","_id":"flash-store@0.1.5","_shasum":"c9e512ecbceb89c8c9346ad149b85de02b7f8b80","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"shasum":"c9e512ecbceb89c8c9346ad149b85de02b7f8b80","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.1.5.tgz","integrity":"sha512-znG1Msla9uImFr8nn5xfU3ddxtnLdULZrfvzakBb6XRD+IJgrEsABlr898R8NXaxaslZT07ROQFyFwOMOUdePg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGWsSfLUEsrZfIZ9v18EA5cvchtbGFVmlKwkwwDJnJkZAiB0izK58WetgoSEPEOUfNhKiGtCPo1IMaQkJacJGvYDIA=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store-0.1.5.tgz_1509247829953_0.7636054204776883"},"directories":{}},"0.1.7":{"name":"flash-store","version":"0.1.7","description":"An Easy to Use Key-Value DB built on top of LevelDB","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module esnext","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"npm run dist && export TMPDIR=/tmp/flash-store-npm.$$ && mkdir $TMPDIR && npm pack && mv flash-store-*.*.*.tgz $TMPDIR && cp tests/fixtures/smoke-testing.js $TMPDIR && cd $TMPDIR && npm init -y && npm install flash-store-*.*.*.tgz && node smoke-testing.js","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.3.1","leveldown":"^2.0.0","levelup":"github:meirionhughes/levelup","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"^0.2.1","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"publishConfig":{"access":"public","tag":"latest"},"gitHead":"2851e259bed3f4d37bb679247201e54bc0cf5efc","_id":"flash-store@0.1.7","_shasum":"e320ba72a7cc5b725269352467ee0cb7020abd07","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"shasum":"e320ba72a7cc5b725269352467ee0cb7020abd07","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.1.7.tgz","fileCount":19,"unpackedSize":132245,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa9XLrCRA9TVsSAnZWagAALZ8P/2HHXl/HpMQVF2uA/pST\nsXCegUhTyyAjLWdvYxY2c8SnWuwcpzhjezjuBeOKcH70yVLx0S+zU3s3QR5j\n9L4iKFL25BKEKne1c9gXuwpn82+4zYMjcj0fLo19lVNXEYgzibMIH2l1WJ72\nU8eD/LG3q0+jChfmfTzcRf0HJiWTYNIpe0zwmbL0TxzRcaxXF8rORdTLNJTo\nikl2aSLWseCVOE0YMde/5NPjUx/dTI77Zd0daixCmTGLyaQhtcLnSsbMc1/F\n81/i/BHoFQLxJYfWbdD04lRItJ7kzEq6woFtMvcjx8Sjdtster7lacumX8mF\nuncD2xnLiHI24euBkx0UaGOf4oWlHE3PSdcLLWT0xe/IpAx6XfCCC/IHH/fz\nsz7nrgXNxaTvajy0YUAfBTaiFwf5p4fmG6hEoT8nciJenaHbPxfZ40z3xQ3l\nMgUSkDrCLTS4K79HoDR/w//3XxxrxZFoAkpl8VhLJx8U+kX7+IwVqa509ToS\nMXyAWNFG275i0WAXtiFQRPkAvYSbY1nu5bQmeI+yLSM3ekxIg9biG3WdOjzl\nvLMzscJOgSoLR6ICoSlYwPuMUTrKosqNZuk+sLzG6ptCZEn9w+PX9eoVSY+S\n9OsIe+TDSvoe/Vtp+sYI+naSTmXulvvRKr2MiAk5F7Q1gG2NP7YiFrj/jp/m\n0p2u\r\n=xuP7\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-a3Bz2DFm65OLyG280Q0XnztirpFmSPnw7J47nts0v30/0QvlZOiqt6YOhToYoBjGg9HVMU7VqdGTOrHOqU07Zg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCPtTKzdYs2J8zHgdmLRrPrzhFXrejPW2Z3iwKOyCjijgIgDw5W/4NHhgxcJ2MDAx8NsRec9t0aV1ufa03YzRiuqno="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.1.7_1526035178515_0.8846333124343246"},"_hasShrinkwrap":false},"0.1.8":{"name":"flash-store","version":"0.1.8","description":"An Easy to Use Key-Value DB built on top of LevelDB","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module esnext","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.3.1","leveldown":"^2.0.0","levelup":"github:MeirionHughes/levelup","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"^0.2.1","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"publishConfig":{"access":"public","tag":"latest"},"gitHead":"5714d51bf7076b08f7f6ff25e3a182c7dc527f59","_id":"flash-store@0.1.8","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-faTsFiIu+evxofK9KiSTvYXzHvxzQmrre/t4JVg8B34IcMx5iB7hDE0JWXCSt5SbxnOl5i71n9oYmRP0iY9HCA==","shasum":"f3cf45541464157907d6c3c6f8db73fcc9e2cbe2","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.1.8.tgz","fileCount":19,"unpackedSize":132025,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa9XQuCRA9TVsSAnZWagAA4PwP/3fnvVhbZ7g0o8mj1Ogc\nMNj8LH9i9iTFu8jRyBGPAtUMfD+DpS+m0BBOVtimHTYkfEORQ9FmtGOkNFhp\ndKfbJGblhP2FdP/XeRzxEakQ1RzjjDokaKmZdjmLQlPlsm1twW3pWwDb+CyL\nVvHoEljG55UnbvUH77dFS9Bd093z+QORZkGWVXRWLlJvn/gftpZivJtG25ez\nSl3SGYYRf4DRsd5L09M6qhUzq1TFxBUwj1TxqElUOyj/F3HyRTnaiezDFNF5\n0DtyqRsexpyA/5Srp6ZOerS5C/VzhVCxE27jmIpf4vrBxWJEezIPZCPD4TsL\n9Z8m6BqvzKKDzy3v+2pOVr30c4MPyN4k22cSNOdC/GC+oL/M/ki3U0TLHel7\n35aNcVLIdifQ3Dn3YZJbLh6gpkl/p4l83cfx5mu2eV6qeTMv4aqnD/FRI89V\niPpway+OZ4SImNSPyAnlPs8jq0E931TDc2Y2lokqktRsP+yl50Uh2ba/s8Gs\naa2MuwZuDsz6hqhHpoNZUW6eytM9kRaOypVmv9rH8pnj9X31li9kPZjWZ6I4\n3Yj9iAa+7+QZvr6Q9MywWao3Oixuk+9Yt6JjQd9Vl+BlJ6715itxqW85N/Lq\nJYU+bgk9RAF1c6KkyZpr1d/M/wztqLK/0EXBzmJbadrkwxdYWhZdCbf9M9TG\np8/i\r\n=i2LK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCAxbVwWNHICyfUzt9kceEwBVRhEx+bgv3H2Re4wIBavAIgLQOVSckOCPqTxP9Rx/AEd9wZ9Z2RO0ilSWPvPXJqZbU="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.1.8_1526035501231_0.19458900135693202"},"_hasShrinkwrap":false},"0.1.9":{"name":"flash-store","version":"0.1.9","description":"An Easy to Use Key-Value DB built on top of LevelDB","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module esnext","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.3.1","leveldown":"^2.0.0","levelup":"github:MeirionHughes/levelup","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"^0.2.1","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"publishConfig":{"access":"public","tag":"next"},"gitHead":"c9c5aeeb67dc1b7ca7590412df428a333326239d","readme":"FLASH-STORE\n-----------\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/) [![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/) \n\n[![Build Status](https://travis-ci.org/zixia/flash-store.svg?branch=master)](https://travis-ci.org/zixia/flash-store) [![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store) [![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store) [![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/)\n\nFlashStore is a Key-Value database tool and makes using leveldb more easy for Node.js\n\n![flash store](https://zixia.github.io/flash-store/images/flash-store.png)\n\nEXAMPLE\n--------\ntry the following command\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n```ts\nimport { FlashStore } from 'flash-store'\nconst flashStore = new FlashStore('falshstore.workdir')\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n```\n\nDOCUMENT\n-------------\n\nSee [auto generated docs](https://zixia.github.io/flash-store)\n\nSEE ALSO\n--------\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n1. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n1. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n1. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\nAUTHOR\n------\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\nCOPYRIGHT & LICENSE\n-------------------\n\n* Code & Docs © 2017 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n\n","readmeFilename":"README.md","_id":"flash-store@0.1.9","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-Pi7iujMOswssnyx2qwDgBReJaTgOXbvC1+/Q1IVGX4G3sHoFiJH9VhDEiWam84nu28T6WQSJnx6H5gGheuPA6Q==","shasum":"8d53cb03864d6191a2ac97543e244e42045d36d6","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.1.9.tgz","fileCount":19,"unpackedSize":132077,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa9XS2CRA9TVsSAnZWagAAZPkP/1Zyf4mkMvIIecu6mS9l\nquJS+UhL2Ett5IIrJhQsQ7itkQG5yEkWbdkfiCjaSPfc1YO6lmZNxiecFXCY\n68XIvs3eASB8otkf6WWS4Wq1Xol0sUfAbMq+7IgpjT6SvRecu+aV7gr52hr8\nbuRFmkfCco0ZztgJLhP9JLRhcx7UGL+KsTfphknjnTlcIbAvs472cSn9kKGe\n+FAdKEMJsIqbP31FrwH8TdfN11SjdCsW4BH9+LNqb7q3j31skuKivi5wAcbQ\nPC+pD2aUmu2ONHekkUkO2tN+GJPhvgDimYqmSDIy3mwPhiU3qVuBS0FV2yCF\n5agzeDjGdXOQ5KLMspr5XMC5XKX0Ul6tEXBofnLt7vnnIiDKe3ie0eM5J6ry\nz/H1spJZ5P5pA6b8b+F4die/wUeKpx3muigNn+7ZIKZaljWAkHSKYBo+6CDZ\nnKdwdyb9I08Gvufya/eeoux2FfG4vnlhfUZT7AiFfT2C7YSlGTCD2/UdtLr7\nOpAcsov6uD/Lu0puYge8TlGMipWqLaBDRtI5hU5kEmTx/MKJWWgz1WVc6T1d\niMBMBXR/nFI1YqDxy66keQEZuvGkwBWDRMbUFjVicElgzyUCogpZXOlM8eX1\na+rFVYRL7BqV28V7ifECpDRxedcTv1CciCVcGYQbx0mfLnM6aabklzAhx432\nx7Qs\r\n=rxSr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSQaN/ZxWIams2zQ+9GhAiyGXnYzXYkQMG28kzlN1nsQIgC2mEFiJ5N9DrJW3p6HWe9ca/LjK9P8j0tS1qNQiMVBo="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.1.9_1526035637635_0.22543373285719404"},"_hasShrinkwrap":false},"0.2.1":{"name":"flash-store","version":"0.2.1","description":"An Easy to Use Key-Value DB built on top of LevelDB","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module esnext","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.3.1","leveldown":"^2.0.0","levelup":"github:MeirionHughes/levelup","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"^0.2.1","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"publishConfig":{"access":"public","tag":"latest"},"gitHead":"7378908adfd6e523dabf41b280ede3c6c8ef33e6","_id":"flash-store@0.2.1","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-kWHtLxCPU6RtLyiCk5kR6I5iPvDyg3Kl3oRqf83pzH7BFuXlK0VpHH0gXRhdHDAhLgHUNYNGDLEgiIz35NcSMQ==","shasum":"810a4399dd297af422b1c17e00c519d4c24e724f","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.2.1.tgz","fileCount":19,"unpackedSize":132080,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa9XjiCRA9TVsSAnZWagAA9sEP/2ZundiRRTcth9ybBgvR\nW2sF5T4HnhJOywGUUE92gBPE2Q4fKpEMS/+zqjINysUax6vUL0zPIwPTh/5O\n6oj7lfKkvDx0Zh7hTvucwnWKD65f3U38Jr3heJ4+o6hZgLKoOO4MxpHcLnQW\nz0AZ1R++J/p+BRW7G4TWD21+IvbwRg5ycJlM7xT0qrME/FrhtjfqOtF3EI8T\nAu3a8bndSPS5jwUaFuj9Lkex8osV40nEWHSTT7wm/Z5+9431Dgd+rLnqarcx\n8elt9vgGjdEmOP0JS01aC0gabzKmhVaASLUDm65+C0N9OB1beVZMwx7tdqfh\nOBf6DHRKia64tDkSOQcyOg0N66jsJ/mVhqVsHibEhgQU3X2ApbCphgQeaRDy\nHMqbzqT9x6p3+Zo1w0jcieHAcIrXH9sTQatVQwW4RurFd9yrS5di+Jl/R2Yl\nEVNz2hA4vfIwiSc3zUMSs5+9bcaGRaVkzdeyAAOOth8NPxxkRnQ5p0IrLupV\nf6w1RE+oE2UPQWv2DxQYFZWi5gk9Zy/ImYihV97SqWbQkQNDVnw8/XARXa2w\nrtuDJCtiq+s9bmUi+RWmu39s/ZyRst8GhhrpkNLQ26sEn0+WpHcak5QGwIR5\nfD5yB9V+iMkSrZVZCuewQGkqr25KCc1wLQPk/LoZXAy1Q6t7WZ4pfwNy9M80\nKwvh\r\n=dOfS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDz1gkaKqqAO6z9N3SyCc3Cz212517O8hNrzWhW0+toBAIhAJSZUfDjohQd2F1GwsUv91PhT/IfT2ol005Ld0/+tVe4"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.2.1_1526036705345_0.5768734149403278"},"_hasShrinkwrap":false},"0.3.1":{"name":"flash-store","version":"0.3.1","description":"An Easy to Use Key-Value DB built on top of LevelDB","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module esnext","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.3.1","leveldown":"^2.0.0","levelup":"github:MeirionHughes/levelup","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"^0.2.1","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"publishConfig":{"access":"public","tag":"next"},"gitHead":"77adbc84d689f0340318dcc4e16fd583825f6931","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/) [![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/) \n\n[![Build Status](https://travis-ci.org/zixia/flash-store.svg?branch=master)](https://travis-ci.org/zixia/flash-store) [![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store) [![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store) [![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/)\n\nFlashStore is a Key-Value database tool and makes using leveldb more easy for Node.js\n\n![flash store](https://zixia.github.io/flash-store/images/flash-store.png)\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\nconst flashStore = new FlashStore('falshstore.workdir')\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://zixia.github.io/flash-store)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n1. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n1. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n1. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.4 master (Jun 2018)\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n### v0.2 2017\n\nInit version, API is LevelDB like.\n\n## AUTHOR\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.3.1","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-GTBNNd8r8iJ5ycKp1WC9opJl2dnwBK3EcsGDLrI9GOVdB0UeK/GGQkKQiv5crdzJrN7reUCVRqBsim3Y8VCIng==","shasum":"da463fa814f1251993387de8fb684a756c0ed130","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.3.1.tgz","fileCount":19,"unpackedSize":142808,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbD6gpCRA9TVsSAnZWagAAmtUP/RtQ7uncGt2d2w/mse3A\nEvUplc6YoNV9159JVEqkkPjI0Ib5hmOHjsH9mUi7GwVIN3OJDMQkR/Sk5vAM\nOQ2iQWpHo4RZChHVrINmWYrbEuPPkWO6jSHQVTqcxKCLH/T9HfxVPqdeZdiM\ntpuQCv7Gb2JvAsNcVpxiUNd+s8fneekj3QoG5F2THRfOqtYT9URKXcZDx8Ts\nJuErubrF/enMUgSfgpAgtGpkmM8xT74egmrrcIGjVoDgJCWrpWGiefetuO9z\nCrZgi3ELxRkKaGs2m4LDburFYxQsaV7jUtjIEl4uQeRgaJD56GfY8vUR5YOh\nKCIdf1DjXAZLAqjZzwdXJQ6ltAYr297FdvzvJqTXd1uvVtW4XYBRys4sFOv+\nUyCqGELmv7YFVGr/50sVJIA2nzo21TFHWwyDRQoKRZMlwHsgYyd+/4UnKbK0\nzcPDxBTVpK7XBaJ7YBf0OlUGUiT51kxqN0+rSw5dr0suphghS6XJP7Ai9eOU\nbPyN85R8a7DgZim8hAezTVGVMCCSQ7f0hI4sQiR7Vha2UjHHNBrYkVYWR26I\ngYvxz5P1urIb+tCMfmeYO+OcsRGJhO1R+CHp9QxyhoN+kItd+SpRcEUOFvmr\ngERb2d5CphwDy581tZ7/ox/zSy8yGOqfl6+cdBskD2dKdwxXbHAmDMSqKGUi\nVGvq\r\n=cQLi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8+f89G5u0m2u4v+7KF76RSCUQIw8s8Fe3LOf/vyvVtAIgNO5RKtYWhTkOAvs88RsTQQAPKQvrKKeEBwjYiFJnMuE="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.3.1_1527752745545_0.6938130194415524"},"_hasShrinkwrap":false},"0.3.2":{"name":"flash-store","version":"0.3.2","description":"An Easy to Use Key-Value DB built on top of LevelDB","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module esnext","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","encoding-down":"^2.3.1","leveldown":"^2.0.0","levelup":"github:MeirionHughes/levelup","rimraf":"^2.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"^0.2.1","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"publishConfig":{"access":"public","tag":"next"},"gitHead":"cb6e217811f70a55a64b4f47b414898aac444b90","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/) [![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/) \n\n[![Build Status](https://travis-ci.org/zixia/flash-store.svg?branch=master)](https://travis-ci.org/zixia/flash-store) [![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store) [![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store) [![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/)\n\nFlashStore is a Key-Value database tool and makes using leveldb more easy for Node.js\n\n![flash store](https://zixia.github.io/flash-store/images/flash-store.png)\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\nconst flashStore = new FlashStore('falshstore.workdir')\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://zixia.github.io/flash-store)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n1. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n1. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n1. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.4 master (Jun 2018)\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n### v0.2 2017\n\nInit version, API is LevelDB like.\n\n## AUTHOR\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.3.2","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-6AG1ttYSs4NpWTF6zChyftgyPqb3wp1IWGiiqP8wGWx6FQuVXdkerr65XbpP0TChAMP9vqoz5Hw1rV4AfTA34w==","shasum":"f63ed173928804f5f9aad2a406fb4f391de9fe21","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.3.2.tgz","fileCount":19,"unpackedSize":144915,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbD69dCRA9TVsSAnZWagAAmfgP/irsK4tZ4d0tt6flzhe7\n27l3BAebQ4WTNN46ZpuiJlBsam0oeJcRmCgj37Um/dcDx9F6ZO3nD/ceHExI\nWp4eMD4drX4HVmFrAlG0rlIUkA7njf5Mav45C7z71e/r+FQbUoFXaDLoxjDo\nPkC+eB7E3pZQwOB29sm21QRa/kSH/CkjOqSs1FvU3e5aXUqnWHdsOkU/XqfF\nTAfbzib1N92bBJ4Xcq73gDxQTbAjKq2/vwYRjbBabU6Os395nUG+ibcbptMh\nluSRp+HS01bCoElX9TXXNLZbiHVN6v3M0P7IHj1kIx3uQsiJ0ssd3E2lxpAV\nkycyzhf072OMc+9CPAgQrTbiaVIS0WyZNW5HVSAJtpNg5ZkiwN/crazdDa4U\nF/um/PC9GDh7VTBSrDU2zQY8b3MHleJs+mrZO63Y/UTQnSyOmHMM9SEHdftk\n/k5Ek723ilcaiiXtbyPrmoCj22MpGyZ96JTGzO/Ov/ivYAnVnIG3iYxiEOlO\nX6Z8y103W3rUWGV9g3pumwFKMV8dU/jE6YUx3hZFN7BQvpS22KkkKB2QTAPX\nJKymS9pY/Av9RT9GU4gble/rODtprtXFpDH/YzLotcFO8TdupIbQouUyDt3f\nGPRaa5WzOCAYO4JxynpgNYXK3KQAS8lF3bXhK1ZWCUYYgsrFNeYQuc5snaey\ntUul\r\n=znVQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA065Lk0niJxDdu5n7sUIS1ueO4dhd3zQmqDAVRVatK3AiEA9PPUwZh4U3o7Q75VepDQU0uHcEelJPEEGi4PJknmu+Q="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.3.2_1527754589043_0.580929779131429"},"_hasShrinkwrap":false},"0.3.5":{"name":"flash-store","version":"0.3.5","description":"An Easy to Use Key-Value DB built on top of LevelDB","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^2.3.1","leveldown":"^2.0.0","levelup":"github:zixia/levelup","rimraf":"^2.6.2","state-switch":"^0.4.5"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"^0.2.1","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"publishConfig":{"access":"public","tag":"next"},"gitHead":"af2bf8900d5451fe308ee2aa7c9409e610c9dfc7","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/) \n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/zixia/flash-store.svg?branch=master)](https://travis-ci.com/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/)\n\nFlashStore is a Key-Value database tool and makes using leveldb more easy for Node.js\n\n![flash store](https://zixia.github.io/flash-store/images/flash-store.png)\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\nconst flashStore = new FlashStore('falshstore.workdir')\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://zixia.github.io/flash-store)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n1. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n1. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n1. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.6 master (Jun 2018)\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.4 (May 2018)\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n### v0.2 2017\n\nInit version, API is LevelDB like.\n\n## AUTHOR\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.3.5","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-FttLRGTtj+EUtJYDTpOD03DOmlTldWKQaEQ55NlJGl/MAKUCMjDfzWLWs3rokVk4Jd/1WDgRIPMrOEvmsedqEg==","shasum":"d680c1a682f1d3cc92e9e62216303a5c6e46ed94","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.3.5.tgz","fileCount":31,"unpackedSize":179068,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbG2m4CRA9TVsSAnZWagAAMj0P/2i6YxNC4NgAlWuRzXti\n0D15wwYcoadgttEXSelGMNdauwbm3N0Y3FWPBSEm5L07+UC4/X98nKxtO+4d\nd5flxTx6a12XvgTvWcYYhOxQbR0F+tqNt2W+qgRX3IyC4Tjo7C+LLq9G4Hpz\nQNtVbDpjAHq6mdAJYep2BjADt7ayLCO6hSBArpQVqxjXitn/fJ5QaauiJwxT\nCa0eylahlCWBP6L0sC5oYVcmnofOUt+pBuz4gZX/Lr7au/0BeXZ644PRpAcG\nnCSjB6Y7LKpASnYSQo0QvRYKp7dqZpn31014SgCPCTtOb3j6Vvs0x/PGxzXG\nexWSQbrzykClMXz+bK8ifRxWct6hAdsgKqESaEHpH5tfb4UGH7fuQEJ74+7i\nNipXS74ekqZ+CFlDSxDlmMsNQ6//agduIuGX7yzbAAG4IlOoHan9dPDJzImQ\n5WnLKOexTbIUQQE3njHfAq6LWOha6KO84UG3XyJ4MSe8gQIJjstF5pmYkEHn\ncWgLPNUkG6Ax3Z2lDyevTSkWSso+g4mKPuvigJ5WnPsCPLuN1mxerbYzr49W\nTyRwAU8JAinpejwHA88Osdt5g/SrPGXXPP9TF7Z6DZTyXGCONtTQYhDwP3O/\ncKPxeSOwxDUHtBWmAxtyL4Yuk4ENYOOvqEB9HDTVOKwWCNhV9AeQV5rxFSiz\nWUQ9\r\n=AQKV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbn4j52bQ1HjzLKYK2y7YpGJHIyMLsGjqzHc+/8bB/eAIhAPJrXg/QoiQV8EhqJ/iDPkLGQclWff+bsfhKnYW9Fj4y"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.3.5_1528523192321_0.7011965109249445"},"_hasShrinkwrap":false},"0.3.6":{"name":"flash-store","version":"0.3.6","description":"An Easy to Use Key-Value DB built on top of LevelDB","main":"bundles/flash-store.umd.js","types":"dist/flash-store.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^2.3.1","leveldown":"^2.0.0","levelup":"github:zixia/levelup","rimraf":"^2.6.2","state-switch":"^0.4.5"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"^0.2.1","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"publishConfig":{"access":"public","tag":"next"},"gitHead":"45610b700e2107d7e66e6505545c3034e4e5f5c1","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/) \n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/zixia/flash-store.svg?branch=master)](https://travis-ci.com/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/)\n\nFlashStore is a Key-Value database tool and makes using leveldb more easy for Node.js\n\n![flash store](https://zixia.github.io/flash-store/images/flash-store.png)\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\nconst flashStore = new FlashStore('falshstore.workdir')\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://zixia.github.io/flash-store)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n1. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n1. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n1. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.4 master (Jun 2018)\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 2017\n\nInit version, API is LevelDB like.\n\n## AUTHOR\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.3.6","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-jT03nReHc9yVQjg1DmWVsG5otaqGBA+BZyDhPwBfPzs2RSnhZZ9CZyXLVTGyugJo0eDc8VR15Ifa+U26LSMW3Q==","shasum":"0a275745885764b9d1788dfe885d2a32a20ebdc4","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.3.6.tgz","fileCount":31,"unpackedSize":178951,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbG2uuCRA9TVsSAnZWagAAkTkP/ioJg/doBrKxR25XytdN\nj0iDcl6JAXOPZVf8b/8T7IxknXkFM/Vik0V5O7XCrYLfguEiLvH1DlkV8oHp\nqNEaY5Z5RoCatHe+PSTa1he3OcmaQsmXp1f0dbcVoo6DTpxlXJLWCY44MKOR\nUH4/0HCj46wZl2ZVORzRGOBtwqJotrQt66JSZO6/HbkxrCA2R55kpzWthKDk\nF7bYHrnhhJ0OHDiKLHoH6VJM9/blJ/pDAx9A5Kl8gbMBamr/NrwrP1U95HBJ\nPHqLliYfaXKqWI62FK65teGUJJJqlFNeoB+LSLwcQz3+Bm1sMnk8WuGm+vYN\nQ6RFox9/KIAE4FRpcwzwrZJrBCYbKtgXAio6d6ESfV/bPDEdHnXo7LV4Iteh\nxgaGQSmsThwFCAvqzpiSZhtICEKqtuH3FMcdNYAM3Rh+hR4Zz+tVNm+PWvGi\nmNA/yz3Se1IyUb9X9ty5xS2tstvJMQaImk9w0POnc4oL3KKkEpzqgbg9+iK7\ns9T2xuZYNBdkZges1RsWIF3cN+b2ctSS72hLGsCjo/vRU9kCrboBLcYIzBPC\nlr/mTW8pKUi2fbIqrGiYxFgRZv6qqkiiKRxUSy734veCLwLOj+Bd8ntK1uH+\nqSmeP6fpL28VjNEmAIOuSEtFd9BmFKnURGxc6QJLDq4DePhmTFWfeZFcJRlK\nA4lv\r\n=0G1f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDhlYCcryQTS/3ldewSqr7mxKh7kCANWVfmULRhFBONLwIhAMnEs9BOSANa1+IVLaay6Re5SdJVBeb10F7AdLnADtqG"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.3.6_1528523693909_0.9157946851890815"},"_hasShrinkwrap":false},"0.3.7":{"name":"flash-store","version":"0.3.7","description":"An Easy to Use Key-Value DB built on top of LevelDB","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^2.3.1","leveldown":"^2.0.0","levelup":"github:zixia/levelup","rimraf":"^2.6.2","state-switch":"^0.4.5"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"^0.2.1","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"publishConfig":{"access":"public","tag":"next"},"gitHead":"2f9a82ab8f87bb7bb28bee34be9b6069b2a9c1af","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/) \n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/zixia/flash-store.svg?branch=master)](https://travis-ci.com/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/)\n\nFlashStore is a Key-Value database tool and makes using leveldb more easy for Node.js\n\n![flash store](https://zixia.github.io/flash-store/images/flash-store.png)\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\nconst flashStore = new FlashStore('falshstore.workdir')\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://zixia.github.io/flash-store)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n1. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n1. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n1. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.4 master (Jun 2018)\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 2017\n\nInit version, API is LevelDB like.\n\n## AUTHOR\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.3.7","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-ef9wqL4x33dsj+poY+sIJuUCDJ1g1HQMuXsDpM/niK7hW7PTXcCt5RMyxU8jter67uN0trOz7okjz0HC1Suv5g==","shasum":"19139a081a67ae710af7124ef741f093c6acef1c","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.3.7.tgz","fileCount":35,"unpackedSize":203258,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbG23qCRA9TVsSAnZWagAAS7kP/3fpmUEtQkvdJsEWfZow\nE/9rk/7G3Zhdbrc1okMVb7vfJ/UrXN5UofXCIRWbT6zkh2LhTaQkRtpLZIkc\ni8BQoPMA1uy7Bsejb0eKyZAQ9oLgdRaJ9C4xx/7KjFgqy7gQbAvXwfWeocBj\n2KYoe3uDeu7Hx2s/agU4F98RpaiCALgi4RwK5C/Lh9yRm5lfivieMx07bArf\nLylugCKkRST145xkdaGkX+uysQ62i7t51RB5JlJRDzqWxUN2txXyIPbx7qxp\ntK+FLc13+Dg2wZ5RTX+LaHT5PpIrYvWXSrklF1J+tEOrRsA0L+I+5EuQJBsI\neU1asjCdvBr1ZwcAXeNUI9+el7eBtZCiUM32zeV7WWNIIQQ1oXFPi57AZKsM\nJ4e9TniMU52tZpdYOd7hKoaMAuAZUf/FejzUIJNYRACkih0OlAaZL8SsIslI\n9u6L5XxPrwJzDO/t7E5LPye/d280hosxjBobVdmxJjE9TYb22hZZlC1GmjNE\ntKLgPjrhB1bEnrXZHD5/nachcsWIBw97n4NUhm1lHD8KhoH7pXl+0TsUaIaZ\n7YnamDtQEy8J8c6s44kFqd2ZQqm4CCB4VL0fmQU67OXNT0kIa52U4BBpLkRP\nUnzdLp2FJJse9NbjTW7NquVd2pK58JSpJU41dH9D/cnnaaWwf1P/doYx0Uj1\n3/1J\r\n=JgHL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDpQskAbN10+6nTEHRYYflXPaOjzeMJaa3dG7NbkgruoAiBMCrSDh9tatKJ2N6gKTo3zylFFNiCpDXMvCvB0cU4E+w=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.3.7_1528524266340_0.7730507371777349"},"_hasShrinkwrap":false},"0.3.8":{"name":"flash-store","version":"0.3.8","description":"An Easy to Use Key-Value DB built on top of LevelDB","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^2.3.1","leveldown":"^2.0.0","levelup":"github:zixia/levelup","rimraf":"^2.6.2","state-switch":"^0.4.5"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"^0.2.1","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"publishConfig":{"access":"public","tag":"next"},"gitHead":"06e4c093ff691dc335f7a534214a34c5da62910d","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/zixia/flash-store.svg?branch=master)](https://travis-ci.com/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/)\n\nFlashStore is a Key-Value database tool and makes using leveldb more easy for Node.js\n\n![flash store](https://zixia.github.io/flash-store/images/flash-store.png)\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\nconst flashStore = new FlashStore('falshstore.workdir')\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/**\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator](): AsyncIterableIterator<[K, V]>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  size    ()                 : Promise<number>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\nSee more in documentation.\n\n## DOCUMENT\n\nSee [auto generated docs](https://zixia.github.io/flash-store)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n1. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n1. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n1. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.4 master (Jun 2018)\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 (Sep 2017)\n\nInit version, API is LevelDB-like.\n\n## AUTHOR\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.3.8","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-HpJ0HQPiyWjwPLYyCIX1avv9QGJWwAT8GYlw8eHbYfl9Opo6/zd2opTRj1Dr8TxKcDE0D2Vlx7q9HKgqzmKxdw==","shasum":"6bfbd858839e59e5b73ae9086b06309ca31692d2","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.3.8.tgz","fileCount":35,"unpackedSize":204195,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbG3BWCRA9TVsSAnZWagAAU6sP/j+yWGXR2EQwrZtn9AkL\nZffSyya8AVh9aGSEw+RpPCf2qWvZn+IYghFTs3EXZWAG5bDHZe3roNeQgED6\nTvr3oJiYU/3L1uEHjIo78aQ7KWBSjZyzF15YbdTyvYFFVaqOAqHvx2Ycn6nW\nV11XV7ufM33WNDMrz8BK+XKMTm54jfXUzdlotZSir8rbL8AzVe6lolE1guI0\nQ961KR0w2iQrxzHpCnFlnnK9WvroN/UdzTXK+pLqBHdptOie+nOr2J/zf9UQ\n57FPRdlFlJ13LTx0tKV2nJexxAbhQhI7xj29v0fzjzKNDcJFj+B4skPTSAF0\nnrHqpoG4ZJfol4+Zh/8xX984ZMcIJUYAhNR/xZS/Qi786XtU7PhXGVwmlzv5\npFsYcs7Ro48z7AQXi88dOybH6wBBpjycHdSdWRW+eq2D/SPEKbHR8MutwnYJ\np1/fGCU9K9ytHewvRcJn1BrFnIq3AHGjeGIS1FRS9Yve1e/AqIUrDWo5uHyv\nzUMFzx6kUf3H9qaZkOKx5K4PnE4uZlT5ndqv1FhQ1EdUcmQK998INzvDi8Io\ntEZz+YaikaEHhpock7YlLrTNX3/hcv1NquSHU2s857WchzXcJOAMFkBLiCKB\n8MDRkRjXPuMmH7f8m5HPg/dOaj+dUdLMDvl8tcqR/t8x8rMKqWvIhkikBREB\nnpeD\r\n=69+a\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4SB81SK+pl2NFQgyIDx5h2vvM2dbLUZIE2OtijKpn3AIgGRkKlzWBOY4pVYNeAQYLGNUa4XsqkRrG0Te57ieWyEA="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.3.8_1528524886315_0.15157325550983347"},"_hasShrinkwrap":false},"0.4.1":{"name":"flash-store","version":"0.4.1","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^2.3.1","leveldown":"^2.0.0","levelup":"github:zixia/levelup","rimraf":"^2.6.2","state-switch":"^0.4.5"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"^0.2.1","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"publishConfig":{"access":"public","tag":"latest"},"gitHead":"92b295f3bcfc6ff77c13b0804d98d547f47e6837","_id":"flash-store@0.4.1","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-hHmj+9CgpkftC0ZN6ZukLAcUQWZKeLjHspmOvksThiu5HrcFJc5ueLYohIcLcwO/w18Ct8hHEqzAgnZORt1tZQ==","shasum":"19a335f16743d28a6cc932b042cda0daef60ebdd","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.4.1.tgz","fileCount":35,"unpackedSize":206097,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbG3UlCRA9TVsSAnZWagAAtAAQAJC1vatJl9hPt853X/76\nMerpTzBCSQvHkweRJY8q59q1vcsfKAd41a7Vx2LbyBzMb1JWo6peTRT6g2gE\n5qwm9Vue1kCyFnz+zm0JN5XPqvOJ+18yk5qimdIWN1T1KmYHgn7LfifshW6z\ntZZVDOcMQ0fIDTconat/RtUIgZ6OvNBI3JaGdweGFXNRt0kq3TrLRiEpbgfj\nAdLGocjWKihuR/rd8/21wIttzeJzFXljO6r5r9oKzeMsYM9WIRQ49ojexasa\ngVQSThUdxfXHlMIEwbzLDUUEgWBn+z5sNQhijPQ6sso6EhOfKyTKfnDc29I0\nJtSJ2J1+2wFWW1xT2kKtyiR3sLN9P12iTXYLhcOHIDlteG/Q3pDJg7is48KT\nn9Ul4JwTJSEWglP88iYJ0B3gkdp17RcPPgVu1YfOGd3vpFzDB/tGC+Tazszt\nFIN991rFQjG0hckaeXnzUtFive1BaImc0DIRaMaINtjd6luXrjVOeLSGfluS\nOVeJTGA53GjPCYUIrisfAe77tTY6ItoKUXU6rqKh7qLiPNGBmbtvvm7Nm+c8\niWfHTeFwrDHP5wTedNKTUj6pOBIb0HSDxfCh51Cmm2uXE225RZMNcgoVa/ZJ\nsMkSE+wLSF+PyF27Y/tgb9gaLpPZq2gpxn86l/Rx/ZD5prKdv+MmDrL4vqEM\nE1Fa\r\n=ZJvr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEvv1orxR5d9jY3uY5CpiPHDmBaufY3iFqrYY5hFJh2hAiEAoP5NVjjBUoIn0DFXQvDWsVr47RDPHaFHo3UcVxCnVzw="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.4.1_1528526115671_0.32077510852794355"},"_hasShrinkwrap":false},"0.4.2":{"name":"flash-store","version":"0.4.2","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^2.3.1","leveldown":"^2.0.0","levelup":"github:zixia/levelup","rimraf":"^2.6.2","state-switch":"^0.4.5"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"^0.2.1","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"publishConfig":{"access":"public","tag":"latest"},"gitHead":"c387641ced0a6c196ed0402e8d8b57ed4846fdc2","_id":"flash-store@0.4.2","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-7WCIb1COLozRd/EOXWmvdxc0hdEOKxMxhFt2u/PyLSdGbFJzJ3gOBgBtpLRGKmrMsfFgP6Ktf9Z4J/1bDkQgow==","shasum":"6e7a01797cd0a000416fa27d62e4e1f48eb1e6b9","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.4.2.tgz","fileCount":35,"unpackedSize":206022,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbHQRECRA9TVsSAnZWagAAujcP+wckz1cG9YLPjNZ7bzeb\n82dVA2uiisJ88H6FIzl6p0TRT84MuopKYwixgtCCt0QtDPvVawe/053U1KUh\nJPsCoa5RbEZo1E1IpZuQl1PBDAGdJcNZF0npc50H2zKn8TYxM/vfhrO2plra\no1b4fOcSQoHGApW7J5mXzwQ6J4Dv2sAuuUkaZZqF92DUN4MBEDKwpcWqhPLK\nqgC4RSUo6ZOQ+msKcyhmNZJ0BJb8mGFZWtE+RB1ptFVp+3n9CoemTptTs3rE\n3JRAAXj9vqU51ysP33MXGnwkpgVKNHDN/lwpPURg+WEW7C7yUovONHF2g1Kz\nAZMADjuHsMA+c5chEjlxhjDIA3Bk1APxJN99xl20mvscFnYf8Tz1VrFoF3Jx\nGkxujbppBgxNJoBCSopi5mZ+VKCteP0bOacFI+rJhWQeKwxx3m+JLRvDIVIt\nZealZRY3SW2Syntl8rOIv+f9wos/JVCLTyXXTMpq58d4CgLndoqQi9wbdfbu\neGTHb24/t9yTfy3UdAtsAq8sDgn9giGwtmrkRZtJZLWI8eU8V5Fnk6yqszLx\n4vJanKAaUmYY8JvWMII0ruptvBu3ndNeQyUo7l+jbM43njaUSppz1UE/ERUw\nomobr5drvMcFjSeS97sEKE/GMXtSNGnU+ooRoEWTRMlrKQ2aQzTVDQuZhlEw\n8ZQZ\r\n=b5kv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHhOMv2G4RluS/WhcAqEnEY9nGxeX9MZVD/8rrV2dGZlAiEAjcvPG7eMpAM7zYT88pP0hgl8Ab4lxTCUqHMx6KjRfv8="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.4.2_1528628290581_0.34785863658663474"},"_hasShrinkwrap":false},"0.4.3":{"name":"flash-store","version":"0.4.3","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^2.3.1","leveldown":"^2.0.0","levelup":"github:zixia/levelup","rimraf":"^2.6.2","state-switch":"^0.4.5"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"^0.2.1","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"publishConfig":{"access":"public","tag":"latest"},"gitHead":"a95eb1eec45712e9d614e56083ddc9c552dc6762","_id":"flash-store@0.4.3","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-jVI1A8uXexxMepPC4xlkMSh4c5h1wRXBG1M/2D+0Fa+YLu3A+aGbr1Y7Y21PBbIPriUMAJjXQr1spsZyo7x15Q==","shasum":"495e5ee4eedb3ca7e4b4b5815004c135c4d9824f","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.4.3.tgz","fileCount":35,"unpackedSize":209282,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbHWMHCRA9TVsSAnZWagAA0GEP/i35YC96H++Et5bZT0tX\nXVh/OPpnPEl+ldf1kuhVoZvlTH9GxBeyyEqNp/5BcuHGslGWhj5PTpYSX89g\nDs5MlZb4rw6Bj5hxKQz9sZK5qBBD5HwkUn3R/A1jBpFkS7UI/bitenpn3dy5\nHpD3lJwaD9C81v6zAK0xkhMxDudSesHdO5243yE5aw/rydmY9yWnhWVvtoav\nux1KfGR8n/cRMXyMhKM32As1hYfdL+XvuwKF3NSeEEVFBeu37ILrlsILS4gx\nf0rNkgixxoWLXF2o6hvTCcqiWsUicizhv637HYRoF9fW6SvuMAlrwusrl3uy\nnwM+4itbeyZLSJNtKxqDdk/cD7CqTcVUCii2CYZ8rR1NWkd/jxcQl/3P2q0m\nGIA6ytGFpp0a5pyt2fNzPkncWAUrGt9WHz4qKTynJifb5xG0kw9srK9/aNMS\nccyoDJb7lUovIJPK65Dnc9emPykaDoJBSq0DDOab5y3hYu64PcfK52ZEb7Fw\nMf80nW5OkakKdrg31sMMF+mq+uFL7CHpdKEg06pw/kq66n7CaFPwwS2wBs9T\nR8RNVicxecJkZCqMEzhHyf08S4dWW6KvdRwGAu+1rMW8t3F5KWChLilcbsd/\ntXOcqEdeHmzlAM7jhf5NqKLWaB3urAUUpDhpKu1eN/NkvARhcr+Q/OtEIp4t\nJbLi\r\n=Vzmg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDN2bj58To8lm/u58KPOBfxdLSSZhhU3+sm6Y/6uDAVmQIhAMwnyD/8wZCbmHoHOKfV1VB3Lme/Ydlj/XNIcqMFVQFo"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.4.3_1528652550604_0.3965182217483283"},"_hasShrinkwrap":false},"0.4.4":{"name":"flash-store","version":"0.4.4","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^2.3.1","leveldown":"^2.0.0","levelup":"github:zixia/levelup","rimraf":"^2.6.2","state-switch":"^0.4.5"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"^0.2.1","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"publishConfig":{"access":"public","tag":"latest"},"gitHead":"bffae4bb77342a40d10c26fb3037690cceccfc78","_id":"flash-store@0.4.4","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-O41CZOZWX/1dF0MgMGAITgja4cwDFOUZeg2FEH54/Jh56f6Al/RCv41F2VMrbAMRbqgd/djNtlGD4fUsIrkHrw==","shasum":"526f70f5f0fbc0a41478b79e9f5b4b6ef2ee1a67","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.4.4.tgz","fileCount":35,"unpackedSize":209609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbHWNHCRA9TVsSAnZWagAAHvUQAKKfP+qdNCKiR1ZUjMqB\nhpPn3vPj/53tKS54Bd0rit4D05FPI5S9jMDQjcpB4kdijs3mroXVYjsupV1f\nYQBfQBpGHuLSLgcfLcD0KGOCBwZbzIUw9o/kiU7RpeSZ95TuYgJSo10tngxs\nsIuo06yo5qsRZCM0OiYq4Kfreb/O/SjWvYBAj3CtyTr4T/6eyXmnpYHBKoVD\n0HxjSCvfHA9eNIpvOYvwcRlxKKidA/RCMxsSI5DXFXIt91pN8as8zeuJj/pX\nyqtdGiO4T12VwrrEQWcWfhBv0YAeQZ04P++vN8cgba7pgomQKkuoWpWq510c\nwAP2uJDGEPmezf9tJWziY354YNuinVAX+qLuvV14MgpnCPNW09jGJ8BCDoKq\n05wrIoFtBJz3seUxuXAWQyFbi053SOLxpxj6auHP3xzn6FqI/z5htRQU6RMA\na4NIkf+Lg2SI8BilenHQrhpxPDtEI6nCPNYjslx17hdkSKgu9qHzgRKtp5zc\nMCnxSDpsVdrBFd3GAQ3c2s9fJUYaiVVrV9S3xjZ8LyynxVaOqeBqp9HJqpz9\ntilr52j/x9PEVkr9ppqWB/yW3g3Y3ICOHTHaTzqEAToQvHmJD7fkqmEEflFG\nemd6grsX6lH4k3+HiGY6wh3Z7FyHZJ+bN0pXK2H6gVbDHJV9Ls/vBQOsiWrC\nKdSD\r\n=bIS0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0Psobr01pBOwj9FqlMHEItUrSHA1LGcqHI6RoxNRCvQIgXzxk4hO4jRSxILKRz5uB/L5pwOXzak6IxFdb25nwgBs="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.4.4_1528652615257_0.9422328816256946"},"_hasShrinkwrap":false},"0.4.5":{"name":"flash-store","version":"0.4.5","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register -r source-map-support/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^2.3.1","leveldown":"^4.0.1","levelup":"github:zixia/levelup","rimraf":"^2.6.2","state-switch":"^0.4.5"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/leveldown":"^1.7.0","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"^0.2.1","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"publishConfig":{"access":"public","tag":"latest"},"gitHead":"ccaa080a1f7e20c5153a118f716ab94014eb8ed2","_id":"flash-store@0.4.5","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-mz3drKKTGXsXXgWuKbdTYjvDGhHz9lNL5vSL2YQyAlU8RpzDamt3scmdR7HR8BjHaf4W8qxh6slDnQ7TyE5BHg==","shasum":"6bd21984d1eb75e1403c9a707c0b2c1ec4e1280b","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.4.5.tgz","fileCount":35,"unpackedSize":209650,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbJbCoCRA9TVsSAnZWagAAWlEP+waITplHAz6yafCZ2I9w\nUjWas6IOfcq+R+sxNMnKOkK2sbcC5rbQ08e93h+Ypg2DMRFfwom7aAne0q2I\nuyuJrw3u01v/ZlyC8MuL5cDva/dL2qUHRupIxeVeRrzz5z0oggUpo9lFTmdW\nEb4xRuv0h6vf8SAX0mXNCgDSSQab4vDu/THifl+gMMC0hm8hXmRVV0FBmyCM\nFbJ/0Bcy/1QY/RL2j3Evc0N9MYWLOb+BHJERwbAsw6Phy12K/s0IYAwxuh0p\nb6Rn5C/ylemsTHdMxfzUdY/umm2SStWXs0vvckJBU7x4626JJiiCdX4mkONk\naSzfr9IT+HBmZb3QM8L4YNaMjts9MI2iEzex04NjUf/fM0y8tHZzl9PJ4wqw\npnsU9dZpmckqqYkFiYSJbelP5JfWyL5GsiBVP6usPw9ga1jPHMJa3vgZXfCt\noAuByvPcZ21YNXrg3dRWTqdYMNWuwc3/R5vujI5aVU6UUJa8OHYfy2i5f6rp\nD+EVdcBZwGVwk9OEQrUFM3tn1fqTpYoMWfYq+CKawBO7xqxPbvfCHYfFlU+w\n2ARPnbuEE/EYFUYLdUvTEfviUyaKwSopPeCaVjre2jRmv0gmxrDVKFaG3NUz\ncDJFOS2vzw4hCPHTFQsKdWnD/6gqrsLcb+yXPVmcuaydFQS7NFULVSDZgT8q\nNxsC\r\n=63/T\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD04H3Klal00eQC/A9gtRzMfzNY+okH74GnHhc0aoDZLAIgEKst3wUFU/G0J/WtkB4i3KxeRtYJYJYFd0jBKRaPsRI="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.4.5_1529196710194_0.2752533566393296"},"_hasShrinkwrap":false},"0.5.0":{"name":"flash-store","version":"0.5.0","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^2.3.1","levelup":"github:zixia/levelup","nosql-leveldb":"^3.0.0","rimraf":"^2.6.2","state-switch":"^0.4.5"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"^0.2.1","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^2.9.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"gitHead":"37384a07e3390175ca84b420731ea43e06246404","_id":"flash-store@0.5.0","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-RtokM+3FBq+jYDkhmzJZCTZZbiGWhL9ezHExMv9bEE9k32Zzm9nIVEp3HTshvM8dl4pLHe2VF5Lk0IReDg9yWw==","shasum":"f38f27a19c2f6fb6c6958459f8f5bd643659da8e","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.5.0.tgz","fileCount":35,"unpackedSize":214824,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbMfYqCRA9TVsSAnZWagAAjUMP/0uauAhbqahO9imbhVfi\nEKD+VCgUsAUQvRFUkDWu/nsuq3ibHoARebAsmL2DGvvbaUpNCBsiLB0icxV4\naiQx/VadhuLB1GdmkzPJ3rHWnz2U7vsATntbJN7ENVKzGmL+4zlnDkKZUv+D\npeZ6rpcXIHZYd0uQQeNn7x5JgssyxCskQL0lojSou1MYgI7D6hqh/TNGedpe\nNNAOr/PHTPq3ofNCJvzN4VZqDIxgPBv9IoHRTQBHOdGR5N7F/5R4EvtwsrEj\nV6JZ7e9wBeVYPNLqmKOKvcU8VT7Q2LFT4x9JRU1gwG/TUCptKo1WkjW3p5qa\nddKQKJsRtJByZH6QHy6tfpEENpNvO+QFWliYOfaw8UtgYd2qV5P54i/ZwCs1\nGM3FxZabREv5/54EACVGX22Vdrw2YmXK1A7pOVsKPS722Zs3bdFzF4GGZwj1\nkbEhYzKQh1iRWGYjdpVNb703HS49yM2Q2+mflmolYeqAW7uj7uhHIdh4+zFq\ntKDX/0sq3HAo9AKmOEboSkaVcKnve3bfjvuCV8w8Ekh8qWgieC8vGE4FfgBm\nGCLhhfDtRXiTRPMOUSJq3iJUAunQ9KxwzODOn1lpyBiK2zl7gyBzpDP1ZzY2\nWcDYxOx+x+HohOCHU3VTfHFPsJS8XQte9CP3LJlsPYeIu5FREvGD7jllKwow\nd+8W\r\n=FNWe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFoLWfEpcnDFO7UlAYpcKzTOkAng+8kcGuCUA3l83ht6AiBICSlVP1NmoaWWM0Yph6oAVPmdL6JLiWeBeKJnMGwpRA=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.5.0_1530000938842_0.1940805548724811"},"_hasShrinkwrap":false},"0.5.4":{"name":"flash-store","version":"0.5.4","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^2.3.1","levelup":"github:zixia/levelup","nosql-leveldb":"^3.0.0","rimraf":"^2.6.2","state-switch":"^0.4.5"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"^0.2.1","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^2.9.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"gitHead":"9e9b5c05e5c61e7b9dc2a1f1e85c2a618f40a1bd","_id":"flash-store@0.5.4","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-+/eNCAXGrGuwWwevSWC/gGZjbDxmVsHvVWTc2Eeoo3in35rIj856l+hoT8nGhj992rv06V8VlCIdXKKOeKPMQw==","shasum":"103fd7480d50a9741d6f7b679e61193b012c08d5","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.5.4.tgz","fileCount":35,"unpackedSize":215858,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbMfynCRA9TVsSAnZWagAA5H8P/jVV2HNF88In2mzK8xR5\nDYobbpIKuTBb50eMggST5Vd1rRNdZmPHmBDB+pSKttDxspa+wKXrm9uKdu6x\n3TTo7nr7RC3PJELYrHsx19q17DurG52h15cdwzVMMmLdKkmZhdFfx+ZrkAoS\nEF1/Zw4/HR/ENQ+a60lq/fXjsj2IjwWJN93Y+HzI9cSrOG2/OcbssOZQxu0M\nNzY8I2l6hpFvdarcUadFzuWCxM8+Jj/FOnDqEH8u3dFibYYUTYeUwHD0y1UW\n5Ew1pfG36zQcHmBeb9LOqrtqhsEpOCcSY9fyso6qUk+bVCRdh4rQPuetRcO8\nNKDje7B9JGt8YypUXtY0eSf+IMfnbwl3CGqFSg8FrwHJJZbD9iEJYsg5McDY\nPh/I2PcFhb2311k63aw7dK+iKQKa41jbGp31iPGCaLh7ktRWBN2WDHlckJzs\n3VxAky4RVM3EfC5hA0xbsAsy1BY4dco1MP/2NgTe6giFs/zrUZpvwKXcDh6I\nnxD8Ctq7SO8bEEU7Q9XdTbv/Tyyk0eR4sL4uCwDbbm5XbJzG26Up7C3jIB4F\n8Yyws4ZvkAfKPb+wziG54U/AGHPxmWijp7w4L+YhdZw37f7x1ADe36p8CxJZ\nzDJ84Rxk+bVTcadiD0rrBgw45WLGL7N8Xd7UON6+bStXlsxu64M0T2IPXKmD\nzOBO\r\n=GNLv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwdObmllz9hcuJvaekz/Q8hPD6pm4I+aKZK/N5dO4+7wIgdeG/sXOUx6RgBBt3Ai6z1cjah40ybGN0kMkZxUfjpqc="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.5.4_1530002599308_0.5617986156068333"},"_hasShrinkwrap":false},"0.5.7":{"name":"flash-store","version":"0.5.7","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^2.3.1","levelup":"github:zixia/levelup","nosql-leveldb":"git://github.com/snowyu/node-nosql-leveldb.git","rimraf":"^2.6.2","state-switch":"^0.4.5"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"^0.2.1","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^2.9.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"gitHead":"73d9a03d944ca2754b0c2be49930a98a77f0ffca","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/zixia/flash-store.svg?branch=master)](https://travis-ci.com/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/)\n\nFlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://zixia.github.io/flash-store/images/flash-store.png)\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/**\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://zixia.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n1. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n1. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n1. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.4 master (Jun 2018)\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 (Sep 2017)\n\nInit version, API is LevelDB-like.\n\n## AUTHOR\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.5.7","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-3K4ec6BxtF/2hoI1aNmVS2B6lefRnMgmT9ztvHbqTuBdzEdBfB4O3rftbtp5H24YLAZpVbhxiPh+SaeqhwnvTQ==","shasum":"f7d9345a4ca24aa9ec3c691d981b192470f1c204","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.5.7.tgz","fileCount":35,"unpackedSize":215965,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbMzwPCRA9TVsSAnZWagAAzaMP/RH64BwtMR/JgO2FpPpr\nwLsHIiXfcvpHbuSONTC46yOsGzG9lnDMtAkPu3mWG5qBe04P0SHV6IbQeNSZ\nfdafiYBM7KO8t3BmYdSDjfxleBKX7B2Jhv9uZQvdkPp9i8NkcQil7tun+a/o\nviKFWfo31t/t1TxPPtfUJiNL6xYsB7J3axHOEsWNnniH2wiH4E6fMBgDoa6S\nzShAJT8Cv7NkjXSNARkSdyjDD/WYE+4ZEQChSD83CCz15WyjqQgHwl1++h5I\nzXBUAIHapH6+fjzGSdDChDSoKwtfJplmIIVEH0iLquxUvq+vD0HJeD1GYBbG\np2vKcszZVHbSny1DwXGIFPiW+FwNgKkvMZ+GN7I+uEJiJXelW+goXXNK3jhT\nIL/QQDr7XsYKQFaNSHfTsvpo8rY6ukuj33UBFi7DJ94RTX2ZBaMg6xvX5YbW\nu2E3uVcgA6K1IZH1d4Dlrkgs0hVlRdGisIXSdCTD+qfLB5PqRRc8bgv8AAra\nLYlGzawIZulzq71AumPbYbW+x+MWSV2XSuYbAbTiUdkxW9wbrbOpY0lP1szl\nSFyNQYNHP9hrDPQq5OPtqWQFMwxeqPuuhFW8px9ooIWNONCfIEj9rKKRLiVa\nkZvLf5ZnK8fqLFXtkVU2oEEGyMlYq5F2Dadi/ZzmpIKzNnGprw3goTYErDsw\nIqv0\r\n=/bMa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDf0ArdZI9/nLJWyyC3TjUe3uLU8SWyhrR9dW7ymogjHAiAi6HU7DNuRYR3o6X/eQqDtHborszIqRm/i4LZP7YYguw=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.5.7_1530084367935_0.8331617695054951"},"_hasShrinkwrap":false},"0.5.8":{"name":"flash-store","version":"0.5.8","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^2.3.1","levelup":"github:zixia/levelup","nosql-leveldb":"^3.0.1","rimraf":"^2.6.2","state-switch":"^0.4.5"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"^0.2.1","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^2.9.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"gitHead":"71a7838c05692fd933b4ac8431191a8387b9f7b3","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/zixia/flash-store.svg?branch=master)](https://travis-ci.com/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/)\n\nFlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://zixia.github.io/flash-store/images/flash-store.png)\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/**\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://zixia.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n1. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n1. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n1. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.4 master (Jun 2018)\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 (Sep 2017)\n\nInit version, API is LevelDB-like.\n\n## AUTHOR\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.5.8","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-tOLBAwLPEjwvAac9j8IstxbKRD0OIROfekEiv8ATX6YlBgEdX8nEna6DnLWUhS/6Y9ftDApGg5+lXkJnMc5KqA==","shasum":"71db5367dd6b807c54d29b2013d8caa5900138ea","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.5.8.tgz","fileCount":35,"unpackedSize":215925,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbM18ECRA9TVsSAnZWagAAddUQAIOOzjeoqpzjY3tAhmuz\n3x9X7T/V1gshsLkBMwO9l6+fXgvQbtfSRwN3bO0iCDGSHYyW7iaZTJwCnIUt\nRWFlsxFCxtd1uYg/eRujANfbYrxdfy8UBzEgUq7lkNULFIj68dx9oNE/2U6b\nWD6/RxnSX8aQIDLXb+lBYgUH+rw0ShFR1q09z/iNUVXqwxOeECpUG+3EReh1\nq57rkIR1IiQELwzE/q7C5qHUkT0s5uVM4ZiSB0UG4eKHCnzSVm+8PoLY6j1y\nyT7EKWU4RQcLvjV7RcRUiXgQki6zBIrSIEObtb/NRJ0YiWj7AbmvZsrQdo8a\nx9Tgz9RCdujc3baY5ySdq8RWH40CyBRdmp8uHyLQO1mKLgxOmUfB0IcJmbqY\nHfTxZpTzovT3mKgQDVtxDHNcvzyqlWkhWCjo9yyaqHZKz3OOaTyyFLzeJiln\nJh8LoLPvFxYJepWLA+urJuARPgLjsYuL5u7y1UX9cck3w34/L0SRnGJgxn9V\npeOvqJ7APRnzIS1oBchEXZFs77GayiNyfrgmhyTu5SOwu0r01IhWUo9ROo7b\nrde/ech01G3kypdlm1bpyfV65oQOc7zfzW20BcR++qNLS84pseY7UDJrzaKX\nW7DJSiWiJobl5T7CGOOlDaFgMR/R6A/0hx4C+p58l1NLZcyf5KnEeU/sZD7w\nvRpK\r\n=O40j\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEfcfnwYmrpPysEnrc2TLWxkQNnAr6wr/OuTXckfUUBtAiEAizatqZNmD2c3tIIzg6Ns4r90OHNtmVfEwTe3Jnf8ENQ="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.5.8_1530093316238_0.5078212717696899"},"_hasShrinkwrap":false},"0.5.9":{"name":"flash-store","version":"0.5.9","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^2.3.1","levelup":"github:zixia/levelup","nosql-leveldb":"^3.0.1","rimraf":"^2.6.2","state-switch":"^0.4.5"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"^0.2.1","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^2.9.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"gitHead":"bc14c480bec60492bc155c8813835d3c0de47047","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/zixia/flash-store.svg?branch=master)](https://travis-ci.com/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/)\n\nFlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://zixia.github.io/flash-store/images/flash-store.png)\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/**\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://zixia.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n1. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n1. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n1. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.4 master (Jun 2018)\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 (Sep 2017)\n\nInit version, API is LevelDB-like.\n\n## AUTHOR\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.5.9","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-u40Xn9C33DKyq+gukPE316yxDJS17ER95XceSNS8pqViikvxbfh8pWaVozRduhZH/ifu31EFTjFVpdOC0vJLWQ==","shasum":"004f9f78356bc65a98ddf39ee675d886e0fbff2f","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.5.9.tgz","fileCount":35,"unpackedSize":217095,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbN2BZCRA9TVsSAnZWagAALLoP/3ebUkX9/mvn3MNrIsYG\nBZPbP4vKbGDuQbOvz53osnS1ah1wvDtJx8EmO0nF602Dr49HfiDQ8lLYfSga\n5cMAKxkRXG7cm9cgx2u0tKnFA8hXIYy7HXCq4hoqJgwHhLVX0ES4aOJZ/36/\nCbK8S3USkaVD1pnDKiwPK8cjhLduycM/SSyeA4JqMlVxwSMg9NSdX6wFsbZ5\naRiCQRGTkmDS0gEoIpTCl1TP60y0omYhVdfzJ4RyaT+4ComYANMgTz0Ftl2p\nW+eoJ+LFO6IWFekSASQTzqJNi8H6nBiyc6IExrg3inQvkIiGvsZ/ZYTubCmZ\n27kQ985+Ti/HO/G4avBv9ET54TIHkKRICXVC2xuTcgVQiJtrKf/BJAY/jCwJ\n9E30MCqZ0daJUKE+pML5dmoQfSlam+B0wga6qSDoqAipu/owUYULXVzZjfJQ\nAha13uld9et3Euvxs4jT4qgmFQ6CrDAoIbDcojhBnIoiOCeiZJZp2nh3V792\n/i84257GntzdZlCcnS1+n+PNkhc2TXcbqsI/2HB+Ed24Ovn1DX4p6iRjgPeK\nyDhN7WZCiqRMtlXMArVhZ/ddUvowXc/RJ0mHasn17t3urpM7FLiXIXXUHflL\nf606qLh7Q5GPIetYwy2BpzElTMWwHoTHfE260Td9n5/F+iD5r8qTTV/yQpjt\nIWcR\r\n=29Aq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFt1tNWRdzJfOwnrb5nRD5HaiA3NbhQqLFGktsI3N/jRAiEAg3sXpfdDMIybXj8jjuUuI+d7ZRi+gFZJgQhxk6D+PjU="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.5.9_1530355801277_0.8904417883927742"},"_hasShrinkwrap":false},"0.6.1":{"name":"flash-store","version":"0.6.1","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^2.3.1","levelup":"github:zixia/levelup","nosql-leveldb":"^3.0.1","rimraf":"^2.6.2","state-switch":"^0.4.5"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"^0.2.1","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^2.9.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"gitHead":"52ca2d4d9f60a99d19fda2b78ddaa090321735a6","_id":"flash-store@0.6.1","_npmVersion":"6.1.0","_nodeVersion":"10.6.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-v6FGA1cJ0t6E9Nz6JarcPyD5FKRq+pzsJYmaa5021MZzaW03oPVGjXbtFZwJrL+eMtUbb7bZvRisIFaPsgX1Lg==","shasum":"1e3bafc5fc7a00079a696a4d497b95cad5ab735e","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.6.1.tgz","fileCount":35,"unpackedSize":217098,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbTs+PCRA9TVsSAnZWagAA8fkQAKGGCA4upeRZ6l/6pW2L\nuy7DUTs4XDtt/XHO0S+ljXSjk8cs2CUWEpWZUIoOE80+7rf2pM+ci+2tt9vn\n9Dwi/roE91X+2QNeqA7ca4m2QbvZW2OTaz38cO2XBuTJX13mz4h1vaU1KNf7\n+i1o3X4rJlLUGQHLq68UdQy0s2uBX3AdArEqlMIgY1QZ+KTXe/jPIoNNu+FK\nMJJCTM+f0JQy7i0ila7I94PS2HnvGU5/AeLfIp2EP8Z4aBBwnMMPQVDnZuIP\n/xwDOz1+7eiRb4qTyHzb+rEDqL3c3gcfvf8ly1pXDgNp7Y5EHWpdArXCzk9B\n9IgmOSrSHKBWWrkjDt/2Y+O9bYr0OEOdLS+l+ciR61lOZs9qPv2yHlSkSOXm\n5XizDtEeThzXMUhU+Nlsv4b2NsUUzlJA1QrnDch7pWqgjH0NUcamOAifrhue\nmlCsfZJxsndryoRg4lb75qk3HIvW2mM8yQfvL5UwDqOr9611N4w50H6dm5K6\nMjhmWPDMu1Gm7Ez4chJntwlmMmXKuDptcM1V9zx8Xgfd2lA1tFL6pYUCZhWS\nchpqoPgf8GPZSNpMjk1piUciqxH4YhGY6zXbx8aokJfITsyqVwPxXJ5Ijy5h\nmqkHI/jd7FCGTqATijAAk8JEbgacBNn2yHYtIxPSqVDOP1OG0Szl9vTJjnsv\nKsPO\r\n=sfAJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGIim4GEoQkF2lG5TXRb2KWPFxSzRUms3nPlMCbRvtAgAiAtwh4s0QSXCgo6GYKwrn28OE4VfgPbJwjz59n0aRjqzg=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.6.1_1531891599603_0.0720255050805303"},"_hasShrinkwrap":false},"0.6.2":{"name":"flash-store","version":"0.6.2","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^2.3.1","levelup":"github:zixia/levelup","nosql-leveldb":"^3.0.1","rimraf":"^2.6.2","state-switch":"^0.4.5"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"^0.2.1","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^2.9.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"gitHead":"45cebac6afd674ec3f0c7c17cd654274f0dc6e11","_id":"flash-store@0.6.2","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-eeO4eyhYTNt9SLIxTFlyVAQnFZxhGUYiDFbDrA1k6nT/2ClS/pCm2GQR2aNVniPp6YRX04b3z/GQrUo5nIt3Sw==","shasum":"438f1a9949ca7dcf779c30dde0deb0ee4f050add","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.6.2.tgz","fileCount":35,"unpackedSize":217102,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbY8OaCRA9TVsSAnZWagAAotYP/jG5gh8qMw2runKV3Iz7\n9guMG/LOsYGgURSN/+rmGkPIU6l2p1IAtWAUjUYoo+YKoK58F1PvEOYXbmA7\nSMxJRmzXkFXArafPg2Yy/18e+R0lnGwyGOffRBjkAG/k5QPzhpDwWnHdUpfP\nKKGaBg8yIezqwjf7uYjcBKoUzwpUOK3iZ30MuUvZsaQy7PGDNlxXa8gOXTzO\nhVY1uc39limq6rRfEhXJuDwt/LVnkO6/mmex3acF9eTsB5lW9B+d8kRlC/a0\nToQxklZeTwYKiCuH9mfF7QYUK6V0HB1GQQp7OQVfk9DG2DJ2Ubf2Y0RYazCb\n5haIbVEn9rAU3SGaPqe1Tp/jR0tQQhu21cOYdncaE9HsjU1Rs/QfRm3lVNQA\nT4Mx1x0XDcveW/XsDQ8xeVdueCW3GYrzYbzB5vklpAv43WWR42XrTC1ghdZ5\nllz2gTA8dl4++iP9Op8IkUDJPB/YNJYoAEXaKEi6UqILDuIP6h2nGrK3qdjq\npPiJFY+haOo8mlodKZH6Zs5sI2nitmtWFgaocvamUj7QiD62gm42z1wzVkVo\nN17SLQj6yUrno2gN0hJlharA/YOz+U9NH06gYLbDhd8BZLz3e1Xu+h/vk8UU\nF1VGrmAEWayqRuzuPfwhqlUPXYVCHDSFyEkaNsYJS2oTvYbX3oAPNPfHM6Ps\nndUa\r\n=ynIM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGZwZM5YPMuzIOQQFQ5PfiTEa7iFXHo/lAWPb4upfB3HAiAemL/HO0efak8licK5hTFKf2Udt/ffVEPd8UaQTMgW1Q=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.6.2_1533264793489_0.6144479641732516"},"_hasShrinkwrap":false},"0.6.3":{"name":"flash-store","version":"0.6.3","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^2.3.1","levelup":"github:zixia/levelup","nosql-leveldb":"^3.0.1","rimraf":"^2.6.2","state-switch":"^0.4.5"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"^0.2.1","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^2.9.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"gitHead":"71b3e816c68d6a0a9c09e0dcedf69b81d24ae235","_id":"flash-store@0.6.3","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-XlHM3f0YJxhK+7p11i47jOETUQDwnlxhnNcQ3KwUbR4hGmESsOt39gch62xIMJK/gleb7Sa1uRC7IQ5+Jd6Svg==","shasum":"979481da2b60d865f35a5e89e7998d164700024a","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.6.3.tgz","fileCount":35,"unpackedSize":217102,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbY8RyCRA9TVsSAnZWagAAktYP/3fE50/lVN47LpKbiGTw\n+bbQPTKD7dRFh/RnG+FNH8XqZDayKjkYicQ0zdNI6HhKxHRUgM1boLcyeERH\nrl+PTze89mvUF3RMZJmelSsqXBcWmJURGq6flFhQiOLfza9Ve5wGp7JSQTo7\nNaSCeDPPqUNj6E9zXNBGvhLsHdZQaWEZWYxwslRcES3ifcOMbI4NAX1KDPDa\njfUh4TuouvOLg80WmNXuR1RcxyG30JcUpoFPL8SyeJA3Du1D3AOaW91yStTT\nK67ZZY/YbHpB782NcXp47blLX6FQxyJpRmnvXQiEj03C5hS2mDQwqCrpdq/X\nY7dVf2VwLoEU+bEG/FJyaNvDgc1HRJsBgCu4O8NuEk7kpDBZQQpy3uKRpB0Q\nCwbcmYNicQRqybWlRrP7fDyYloZWoHnU8cvotp+9y0mw1gyBi4hdRKmKpvZz\nFkvxcGGx2xtSzeYqQGWrmNKaUVdhWm62lEWdNEpBtXo8wsV1DGCaSYyC0REZ\nswF8Eh+PzT7Om7/CR8QX49WgE7kwTyEWd19kqXj9fOgNp5kikOfx4pYZkUMo\n1klPqNRaH1lozLs4y3g2L7HXW/M/opwjM9NzQOgT6opWv2b4zmBq2RyUXjq+\nm4WS+Uc4u9AODfin5VtfU2G+G8M0fd/j4w9MUQ21/+//zJvgqiUNnT4IPtSC\nmf9a\r\n=4IGd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEHBSKMXqxaRiLwapEXlrYrY5oiuQu8t5IkLXmFzUTP6AiEA3jUz3x6OaB/csR+Fp9esShvAR7w0QHadGiBmCi7CYog="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.6.3_1533265009665_0.49490497552482005"},"_hasShrinkwrap":false},"0.6.4":{"name":"flash-store","version":"0.6.4","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^2.3.1","levelup":"github:zixia/levelup","nosql-leveldb":"^3.0.1","rimraf":"^2.6.2","state-switch":"^0.4.5"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^2.9.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"gitHead":"5fa057a321d90884e7a7292d5f0beefadd9ac3d5","_id":"flash-store@0.6.4","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-vhgwjl40wWN3IIif+C9YVMGcMpw3og46i9L8x3tUyF8EnHirOwNYiQbTTYepaX15YRkpnpkCBO9cj56KMl4YAQ==","shasum":"59eee0ab8c6e353afce22ab0cbd342b3d0a49e4a","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.6.4.tgz","fileCount":35,"unpackedSize":217141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbY8duCRA9TVsSAnZWagAAVpwP/0iGnKJX1IZFMLL3ITZ8\ne9c8zhfJ4XHKYQrI8OMM424R1SXZGDDJD4+zJhzvtgQMy+ib7ooJF5dsaUwc\nyiQueNzgrXJWHGwocQLIWUkw5hn4c4/twKVSz2eeWFn90uNDSBYTUmFNnN2C\nZATFI4qzrAkXQodaNDpgv7L0IWQTxpkuCEQqbr+S/qD3dGWy/PJutPRC3YCY\nim3jW8GBCPiorRdKYDtKNlfz6QDYP+B6v31c/IwK8TKoP3sqFnPXoDdiiHh4\nzD2UPuubnvMeu7GLfMkqyXMfXrKBbcM+fCO3KXDl8F0w/Bd37qwJTXKCKUnU\nXQ5R8yBPxZXbAamVJ30oAwdI9/Cc98G957u8JvE4sCSx3beGIICjgmxvTQn1\naNVTsBYEL/My0g8CXKvYZo0OqnVbKbgB1+1zkxOJNsXzeIxOjYhWXFZhTq2u\nC/xv7+qytn2q9KplITMLDBXXAYfFbXguvrx1KXm5YD7vIk7B7O/DNqyqkcj3\nUDGs6zXbmZ63ggSebjmXKfotYaLySxUJIeXViPe6eV0YguNH2I0ZD0mAbzWd\ngxcP/W4j1kn6G20D8ANg8jK+gQuwnNWXa3kV4GUzAapCicnwHaWgmi/r2XVs\nTd9FJb7o7ApJovobNFaLEGJNcDyaZOkpY62COHcdvh+EvPpmil5RlE4VQqzN\nl6T0\r\n=eCbi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCt4F7PV1jLQcY4xeqvQmHkmnUhtqrL8KfdA5HP8K+mQgIgcqzb2NosT8ZLMpSCUPvtRMEFhcVkHZEIwKKIguu36TQ="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.6.4_1533265774321_0.7792198890147282"},"_hasShrinkwrap":false},"0.6.5":{"name":"flash-store","version":"0.6.5","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^2.3.1","levelup":"github:zixia/levelup","nosql-leveldb":"^3.0.1","rimraf":"^2.6.2","state-switch":"^0.4.5"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^8.0.30","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^2.9.2"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"gitHead":"0fdb441704960213223dd7be2945c30b4c8baf7c","_id":"flash-store@0.6.5","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-icpU0/3aRX6paos/PS1vi9SjVfNcSN/FDHA0dgRorO/+gs11AvzFyM2KAKKaiQNIz07ZDvqKJVmyG8egCtBTtQ==","shasum":"710b883c5132c4c3286e01b4c96b3f5e053e0740","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.6.5.tgz","fileCount":35,"unpackedSize":217281,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbY8qICRA9TVsSAnZWagAATjAP/2bmS3k6PoYId+Ec8G7s\nsFqxgwCgRJ/ZAM9DFHlGoLpEurY/TBjQ2X2xUbkxd7p2AdOweISL8RDkdNA6\nsYancqS6IjhwMlK/hls3qKZnE5pZEjdWOT2fjR0uwgPnyRYYamdEihDdrOyE\ngqqeJZ7kiz+7bJcy0XNrUuxze//h4qD95oEVegrRHSk0CcMp9WGzkIICW3oQ\ntlH/8eLYDnw66fxTEJQFsfxTxAGkhJcNSBRICmml0y1j3iEKRf7cSG734qP8\njHh+nIbKcx7xBkEuannnBp0jrbi1foo/dy7Z5dIa1CZ6yj8WujoIkbbRYDl3\nJ4/idYu7U9qt+g8sEm3y6So76fHg+tEI6immYOD7f7kz3JYAtoHcrLyewuwC\nZSHVnFP6sLPBQBPFNEmTta0IKCUglGtkCNHSzLrQSRWBElwyXJAo1J/oQ+hl\nsVgISjYb56u/uGcT46KpFfT/Ivk77vSh1e6rfyJlrKC81cIp9FqJhdr6CVIe\n4S6+Sqpg2zyzCOJn8DdbyMkWwTU9MWumCQ8yHIzHssGGVnn0UG/LFU1K2F5a\njxcO/PckbaxmxIezBrOs0Jbg3ApWZu4HPHWvInTbXDn/R8dOypv0q8lNwF5s\nr+pX8bhsO8tXd3VkDGXC8ZGF/OmCPiWkTm9bN3zkpe2krVlw2/pLhCzJ2Lzt\nY5xv\r\n=kVHG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDgoAd5/1HLRri0cQoKLCwUMNlpjik6PIhY/Z9Qn2TiyAiEA8RYixYnBGcoYoRbyBezZkKUUIjvBaUXLTgruoUtCjrk="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.6.5_1533266568308_0.3800619504274858"},"_hasShrinkwrap":false},"0.6.6":{"name":"flash-store","version":"0.6.6","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^2.3.1","levelup":"github:zixia/levelup","nosql-leveldb":"^3.0.1","rimraf":"^2.6.2","state-switch":"^0.4.5"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^10.5.5","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^2.3.5","@types/sinon-test":"^1.0.2","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^3.0.0","rollup":"^0.50.0","rollup-plugin-json":"^2.3.0","semver":"^5.5.0","shx":"^0.2.2","sinon":"^3.3.0","sinon-test":"^2.1.1","source-map-support":"^0.4.18","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^3.0.1"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"gitHead":"a67c9e1e68c22d9d5421a37e92ffffdf2bb08ac3","_id":"flash-store@0.6.6","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-E102KlDU2zNou18xHVeW4sZGELuuqsuD56eCc5wsdOij/EA2jgEt+i7kCNPhO3ZUi1I8xaO8mO1kCVYxAFBppg==","shasum":"63ceab54451948179367fb83ad598ed14f8a02a4","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.6.6.tgz","fileCount":35,"unpackedSize":217264,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbY86mCRA9TVsSAnZWagAA5UoP/R+NgQbLGYczbz8hlUUg\nLzhAOgxbIgz6Sho5p0EC0rw5b+g7/AifKg65rYhFcI7OIPKut6J9DXJVB+YN\nrI7baaiK2S5FR82KD0rd9YUsqOTxrKA0c6M70Ba2OFYxkpyWWZ/GFDJ7crZv\nTyWbycdSlt4HERMiZ9kQUCEO7XL3G6JTy+qZzddfJeoarBxDaINCZvqxMyqV\n+05/YT0q+vWA/I4DlBSzMg9lSDXQ1DvwOQAr1TbQmpzu+KGoto6Fx+pPM/0T\nCN4zvLKrlHhwXOmRTy/z65Ln9sX0mEfEPO5UtfZYb8aora/xcTAlNlMPf+7E\namIc8gHm1gPU5OvNvdCOduOmcWFogr0sgM5aXe4VfVwwbUHPc/P36NEL8ulH\n+hu0mtJi+oGPwpECl+fuLcfqRW9eDhj4wXCNQ+PTH2794qaDC+Jcg/4/z8Jw\nOWNw6NFOsQAxc1O/LSCOKpaWRDGhbQ1CSc8/1mr4MLLz0ciI5o37sFj89jAB\nHyZtWpjoyidc3Icd+xqNPvo0Xtk798nYNKLAShkdRsMyp8mSnnCEXF9LUvpJ\nWH7BNOuq1ujmkk9Ua9CFLgIDLTTSlMjgqTS1QOxoZ0YSFsiKECkYHOB2pyJ+\nI8DTAjLqYnVAaltIx0kPZ7GsAkFk7R2s6Xg5BV8Y9cqN2KQN01/Wx8/Tn6pZ\n3Aix\r\n=0P+w\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB7kBimtIhJWevAh+aakDp33laAt7ccTr1VGE/q4Bgf4AiAUeA8+hUYknLC1phTxNsFRDgJu77YejPC55iGnVRdjZA=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.6.6_1533267622357_0.34552019921706"},"_hasShrinkwrap":false},"0.7.1":{"name":"flash-store","version":"0.7.1","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^2.3.4","levelup":"github:zixia/levelup","nosql-leveldb":"^3.0.1","rimraf":"^2.6.2","state-switch":"^0.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^10.5.5","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^5.0.1","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^4.0.1","rollup":"^0.63.5","rollup-plugin-json":"^3.0.0","semver":"^5.5.0","shx":"^0.3.2","sinon":"^6.1.4","sinon-test":"^2.1.1","source-map-support":"^0.5.6","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^3.0.1"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"gitHead":"7c776572ba4ce55840012bb292ce2c520fadf519","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/zixia/flash-store.svg?branch=master)](https://travis-ci.com/zixia/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) [![Greenkeeper badge](https://badges.greenkeeper.io/zixia/flash-store.svg)](https://greenkeeper.io/)\n\nFlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://zixia.github.io/flash-store/images/flash-store.png)\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://zixia.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n1. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n1. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n1. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.6 master\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## AUTHOR\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.7.1","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-ko9WVZrUvMi1PLUDcN37kKb6VWuPWuAoSx5T60IkEzc+LprtUDWorQvjuaHPcjbLfuxM+FagcjUopuNRe9fxWw==","shasum":"ae600edd313ad44e01efdff80163e3442efb2a1c","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.7.1.tgz","fileCount":35,"unpackedSize":221270,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbY9k5CRA9TVsSAnZWagAAxRgP/1HSVyyfL4nJnCpYMrJj\nDe/dvLt5aDC5C18yHJ0a85a9Kr9J4CbSas5TvXqUIaccw/FQbK0I6HNQ4X3X\n58alrWYBeG75hTwP3XgIE5v1WS+xCiQYJKV4Z1g7KSrE/U7zLAzxcmBwC4Zq\nkD4fFFs4Lsmk7jvK+p8wX6Rn4jDlMZnYYY9TbWquEtNghcMrHlL8t07y/bsO\nqhDh22HRijZ323s32AoQdtuvAB045nUjaq4pPJrQdbqaTAidmcKAESTjFGM/\nLoCO8Bp4zDJ4dYmtG0dKBYFp+cdvU79G7qKz2MzOpsc4xPLTm2URXyZagK/M\na8dM+ZSyOAZ1+vL+wzJmjwCVVVhRr4G/LR3xkA4AWRcDmT0snvdspyPDt6Sd\nPNXoCFzE6PDz0e/Y80RNVLdehroAa76CBS/pgBKA5MJsulMoQtKLZ2ew6Jbw\nxf7edPJ9mLJPQ+ISWZW8nIA2tXd05YyZEY/KHtqe8HtMNAkZ8X7iAi8sSvnq\nlZ0kNaU1w0O+5YvVqMO4yOn3NUS936J8GP1jVBoOMR90FZmQlNv0UjoEnZxu\n/aRq3qhA+kvMQdMgzXtZYa5nNcN/T7EwSOQ27iVy1AhGDB0q7uKyGem+9VWG\ntJOkm20ZLFEc1IFvOEb5hXLdHYFaMrSbbFoHWUXDpQBjK2kkYL6wGIEO23iL\nLwOV\r\n=HJpI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+iBdHHMdmkxrOf7PRiqHFcYKi0B9GPxijKf9avGSa7QIhAJa5NF2mp7iQJhoyxYKeidX/B4cLrieDmdJ+ZI4wnJCO"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.7.1_1533270329052_0.3018326609102877"},"_hasShrinkwrap":false,"deprecated":"This version has issue under win32 platform"},"0.9.2":{"name":"flash-store","version":"0.9.2","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^2.3.4","leveldown":"^4.0.1","levelup":"github:zixia/levelup","rimraf":"^2.6.2","state-switch":"^0.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^10.5.5","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^5.0.1","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^4.0.1","rollup":"^0.64.0","rollup-plugin-json":"^3.0.0","semver":"^5.5.0","shx":"^0.3.2","sinon":"^6.1.4","sinon-test":"^2.1.1","source-map-support":"^0.5.6","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^3.0.1"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"gitHead":"33fe1348846209a059af0643ab5008299e1b756a","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/zixia/flash-store.svg?branch=master)](https://travis-ci.com/zixia/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) [![Greenkeeper badge](https://badges.greenkeeper.io/zixia/flash-store.svg)](https://greenkeeper.io/)\n\nFlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://zixia.github.io/flash-store/images/flash-store.png)\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://zixia.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n1. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n1. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n1. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.6 master\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## AUTHOR\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.9.2","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-H4kHh2/Il1AMC77B/svH/TyeatZ811O+oPY5tywYfxWCV6O6iEo9jqk3HCcXRvzvdBHYUas4Oz6FoTly7nltIQ==","shasum":"fbb382b0c3f504a25fd99da305caea2b82dcf172","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.9.2.tgz","fileCount":35,"unpackedSize":221276,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbcWZMCRA9TVsSAnZWagAATXgQAJaqwE1/GS5/Q6QINmZ/\nUtSYHjSpS+qs0uwFbucumi7DT3fWfsN1InGsgAvxHWm2yflXi1wl4vcu8zGt\nngAhCr2IWhtWg4nI85tOfD3fWOmG5+ScZTMm6IeDdKm+DRh7jgPKrxcP+duK\nFE/Feb0NXqBF/fmvfSan69ef42rrnQSNdu7shlGc9SuF5H0PEBtEhH6eMG30\n3FIz4PKWtqCBvd75ZwQwNoPw9DHR18PBsuQ1hSm/mk2EEZtJ5koVU+/zHpa+\n2N3vpOiVpN3i4QmVdUfWUYMwt7QJCbdDNr11tnuEQlbSUAEcyMUm8yk5bASv\ncaAgPMAN30yHPKa9osygOeVbwF0UfgPZLy79G82Sw3yuAUzo7Tc/liOWl8AN\na3ONhwGwRX71sKv0T8kYmhLWbkouX1E/ZI2vyAMvXBAH4FbGFweSIGnB0/a8\nxxLmk9136dlUm/rbxazuvmfy4k2G3szWZz1xTCTBaNQ2kh5y5F6IsZ2kbxeu\n8RcJaEDHXdxflDEA4PKjvqh+d2zGHSVBv2pGS80WLYG0W1sudVobTxMtObb9\nnPPLTYWFL4KnAuvgYyAEZ8d18UaS9nJXkLlsPJBGEeE+9jYOSnfn+haXzRgX\n64okJpZnee4/UXwlASUWbZl3hrf1cdgAfJJWjjjhpIMrR04Wg80IjiisO5PZ\nxRTK\r\n=K/gQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGWDeq+n11qbu+V9IZVnUotUYOTibyauLrnTIGDSeoTPAiEAkihlwH21o6tLC16xuwNKQryLNBKTak3QTYxIDOndsJA="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.9.2_1534158412208_0.6576007723935458"},"_hasShrinkwrap":false},"0.11.3":{"name":"flash-store","version":"0.11.3","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^5.0.4","leveldown":"^4.0.1","levelup":"^3.1.1","rimraf":"^2.6.2","state-switch":"^0.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^10.5.5","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^5.0.1","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^4.0.1","rollup":"^0.64.0","rollup-plugin-json":"^3.0.0","semver":"^5.5.0","shx":"^0.3.2","sinon":"^6.1.4","sinon-test":"^2.1.1","source-map-support":"^0.5.6","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^3.0.1"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"gitHead":"f28499c32df87182c047a7a6d54359403398c3db","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/zixia/flash-store.svg?branch=master)](https://travis-ci.com/zixia/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) [![Greenkeeper badge](https://badges.greenkeeper.io/zixia/flash-store.svg)](https://greenkeeper.io/)\n\nFlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://zixia.github.io/flash-store/images/flash-store.png)\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://zixia.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n1. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n1. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n1. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.6 master\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## AUTHOR\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.11.3","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-xqrU999CrNv+3AbkA1XkMNvarU9unfA/qHDyYJAIufz9OdJVCKGOmMKjjKYtuZsO1PoDQDbanifCFWxstjYPhg==","shasum":"4d6ee30ae43b2c2aaad524a87345ffee95c5b6da","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.11.3.tgz","fileCount":35,"unpackedSize":221321,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbcWbwCRA9TVsSAnZWagAAG6kP/isb6aVVHlA8sroZJ2w5\nmaSVgLrxtvVKAN6wrpTTo2dHxa1NKEA9L9h/EX0HZXsViHsNIhbUgG5bPZjW\noqGGQSUrP1gRm7j5183GMQlI3IO8VLOV2p9eQgTZqOXaE122oMVlr4WpN7dc\n+0vNZv3wv3GnADOrF4J1f70IByKkXu53GLsBwk2Fo0SO9gZHsM78juXmoonf\n5057QZKvN14wLjM5QNTFV9/z6lw5kqkmYm9c8Lpfddfjj7+o6+JEXTyvrpxX\n1onur+03Mclb1sWME6x+AE00y9uG84VSjrCwhhXTq0gIy41j30yhfnqFDOoE\nZXRzqMKX2nsaaMnKWnFRWmUj43re0zIQqPlc0CU0TCAyCvd4e/vrKa0o+hKv\ntMPSTIlxSyFhDfoc/MkTrjs/er6IjzE2fkkCthmAUTOC6EH0SZxWoc5PO3If\nsROWAQwjj64egML2Cvo0UokcXtiQX+WPx1hccmPK+sOu2j5+WU3yTlGb8JEW\ntmVGtrf4ig8XQkAEN8o7ly7uHedGP5UAvSK3cJneE6x93/8dAKjyRlU5cAbb\nku3yckH29WJR8MlVLHLEJVAarS4U9k5WiPh2plR35dMgxAhIq3ym9XXhvHOH\nHm7/UH8QWFNNMPTuTbRuhzElvJhhegF0MDfFVCNy4ljE+eZe2aFiKbv16Ozh\nDDaF\r\n=qnAK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEY2caWRCq1ou7wbznMFX8EtX319k9kcydWHEMpw8wrNAiEAsy8ZQAwTZBdqKPhlGLT5DuUD0I4CobDREGEPEDxJDEo="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.11.3_1534158575480_0.6104220588802352"},"_hasShrinkwrap":false},"0.11.4":{"name":"flash-store","version":"0.11.4","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^5.0.4","leveldown":"^4.0.1","levelup":"^3.1.1","rimraf":"^2.6.2","state-switch":"^0.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^10.5.5","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^5.0.1","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^4.0.1","rollup":"^0.64.0","rollup-plugin-json":"^3.0.0","semver":"^5.5.0","shx":"^0.3.2","sinon":"^6.1.4","sinon-test":"^2.1.1","source-map-support":"^0.5.6","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^3.0.1"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"gitHead":"30685876ff035fdf2021b0e9771f804d3cc0abf2","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/zixia/flash-store.svg?branch=master)](https://travis-ci.com/zixia/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![npm (tag)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) [![Greenkeeper badge](https://badges.greenkeeper.io/zixia/flash-store.svg)](https://greenkeeper.io/)\n\nFlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://zixia.github.io/flash-store/images/flash-store.png)\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://zixia.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n1. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n1. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n1. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.6 master\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## AUTHOR\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.11.4","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-J9TiszIm2+XifZbzRtSZejUK8CezeO+ycuQgtzyGiacp3j3aXCWQ6Vb0QlbkjVXp36Fx6IEFIignrCVmD3d4Yw==","shasum":"0cafd2cce79c129170981b5530e71af7d5347139","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.11.4.tgz","fileCount":35,"unpackedSize":221449,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbcWh0CRA9TVsSAnZWagAAhg4P/0bWsh+tjNch0yd6KHJ/\nrWRb/tzgQBImL4sTSYPfwKm+byTz3CM2xZwtlOxfpSzlQkh6sZSxR4/X7zCP\n24CAPNJfyAG4Xq7D3VkaqwqK6PZbPrkjjATwDQRGUtjuaw/wMwyThrCEUH0n\nogbLmwBfJ0A97AQvHZDkescDzcC7vEKt+WEzQ7+8YyuZQm2Q//51/q2lR74s\nnMaGiKMs4bNraGcYaSgG2VKKiavIp/oHcyweRZfB/e/1j44etSY8jd21Ptrb\nRUsEMdq1PIo2tMKmjUFJSqNrntnZaTVp1ynuiypQHG4HZ2V7nfKXMEVqjCZU\n2bHQ53uXCAi0KF2/BJFeBkZZv+tZU7rXWkcsr4VCOL83yo48cafcYojJojTT\nC+iiVD2DtKaCiAAo9gQtq6B2Se4wZIkMoKw0JYdEOgGwmh3hfe3lQ3P22KxT\ntwFrLiFCStUgyl0W3jTkv5qbw8MFF076CZHKeNtdYhR7s8oJsLpFob52jwy6\nJFNWRh9g1Fe2J+Hu1iFSMeYLMeWpViQN1iO2BedNxEdhmVzWSc6KNzZDMgB/\nJRSwtbNTEbN8OTNpVxfM9LJLn1+SQF90AU2H31fkL6Wzx6445+vbiHSmK3ce\nX5cFXMuAf0tOxuZ/blUZ6DilM6MmbjsNodcZ8jUeQUBypCVaDd9cyJwGfk62\nPEKY\r\n=wzOt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIQDMG20X+wdMhfNserhjbXQV/xdgvLLC0Ux7P7Yecaso0AIfcjcEOpuWVnvpcfC6HBPKuCa8y6exvPTReH7tv9t/GA=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.11.4_1534158964466_0.41286780648995314"},"_hasShrinkwrap":false},"0.11.5":{"name":"flash-store","version":"0.11.5","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^5.0.4","leveldown":"^4.0.1","levelup":"^3.1.1","rimraf":"^2.6.2","state-switch":"^0.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^10.5.5","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^5.0.1","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^4.0.1","rollup":"^0.64.0","rollup-plugin-json":"^3.0.0","semver":"^5.5.0","shx":"^0.3.2","sinon":"^6.1.4","sinon-test":"^2.1.1","source-map-support":"^0.5.6","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^3.0.1"},"files":["package.json","README.md","CHANGELOG.md","LICENSE","bundles/","src/","dist/"],"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"gitHead":"866d72bf669a8d1c1e6496416ac628a2bce414d4","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/zixia/flash-store.svg?branch=master)](https://travis-ci.com/zixia/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![npm (tag)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) [![Greenkeeper badge](https://badges.greenkeeper.io/zixia/flash-store.svg)](https://greenkeeper.io/)\n\nFlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://zixia.github.io/flash-store/images/flash-store.png)\n\n## REQUIRES\n\n1. Node.js v10 or above\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://zixia.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.6 master\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## AUTHOR\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.11.5","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-XFM8ictxcOgEvWB705C8lBZ73x2GLwYzQo6qgr5FRIXrgcO8KlAR5JV2btE2CdSrHgPNwMsaV2N2UqdwgFh34w==","shasum":"384daf2c5c0c2708fc3dd94f48b912b5abed2175","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.11.5.tgz","fileCount":35,"unpackedSize":221487,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdFxqCRA9TVsSAnZWagAAt9IP/0Ab3xa2qSgTKsclZtLm\n+gVKmaQEGIsrZFs/Lfl/3NvAKU7h1Gy8w3l8uFgJy4RuOTiv0QD9al+COmbQ\nT2Xa3AT4xeWB7p7nuYkjTdhuXlHW0DibHSGxwpILap8I9nsUgDx+lRVQojoA\ncSUmK58Oa+oJyWYQJG5FJtpC4YFYb1EvgfOFjzYKf1t4tbeh2yVm31inSudD\nvkC9X1uA0rfuWfN+7VWudsKCoY+9kdy/FcWK804B1xiN/0wUdtDCqphi1vlD\n+IbxKt9RXLLX+xe6J4DC9+PYFxWVAgPH4jVqyOfa+R+0ECJJkos8JE8vchiq\nQNDBoftZTPCNVVXCUezLYTrMwx3bSIJMELFEE2pAf2y/G3XxBgj6qTQITiK0\nQbHt2Dl5xSgAQhBQ4ohxEfTgynytSUc6RmBbu+I5wqwlykNuBlu6ISFDEGbO\n2aFsybXhDUafM9Rhbx/UYvbVaPUt5fg/tvLRP40/oJ6d4QFzuPSY7k/AQmMM\n1Zs/HkNlGxCS/Ik6rIk8EE7D948DYIyFYii73pjagsZVnGJne2FYtY3dLclY\n5Py4vWi4zy3CIgXvqJhwSUOIY776fDMSIetFlXWO0omK7qXv8b+0wr2GKJsD\nCUYF6BXBOs7Mgroaa33jkiPnwIlEvwE2+NmuJTzO325l5sLBasNewaSMNqkx\noo9A\r\n=Fs1C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHWTugCLOHYksjybrPlHXxczFh4IJM5TmQ1x848oD+UiAiEA7pqP5A06JIjFzWmZ/Wq+yNDHDaKZy1Lmz/xNqmgt61g="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.11.5_1534352490209_0.9024149710126423"},"_hasShrinkwrap":false},"0.11.6":{"name":"flash-store","version":"0.11.6","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^5.0.4","leveldown":"^4.0.1","levelup":"^3.1.1","rimraf":"^2.6.2","state-switch":"^0.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^10.5.5","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^5.0.1","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^4.0.1","rollup":"^0.66.0","rollup-plugin-json":"^3.0.0","semver":"^5.5.0","shx":"^0.3.2","sinon":"^6.1.4","sinon-test":"^2.1.1","source-map-support":"^0.5.6","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^3.0.1"},"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"gitHead":"f8c0be7fe87230c27900c6839104e073e0f83b9a","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/zixia/flash-store.svg?branch=master)](https://travis-ci.com/zixia/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![npm (tag)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) [![Greenkeeper badge](https://badges.greenkeeper.io/zixia/flash-store.svg)](https://greenkeeper.io/)\n\nFlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://zixia.github.io/flash-store/images/flash-store.png)\n\n## REQUIRES\n\n1. Node.js v10 or above\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://zixia.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.11 master 2018\n\n1. Use `level-down` as backend to skip the compiling when install.\n\n### v0.7 Aug 2018\n\n1. Use `nosql-leveldb` as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## AUTHOR\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.11.6","_npmVersion":"6.4.1","_nodeVersion":"10.12.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-pfoWMDd5HmdSiFDYrcz1r9/C0qf0GhoARSbIl4oFv8oZd4zRO4kGz1V89ZtPWqj7iLMZnRGJf5YM7pd3u2DdOQ==","shasum":"c24cc28bc05dbe6c7711aabf45fabc34f6ec2b9b","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.11.6.tgz","fileCount":35,"unpackedSize":221655,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb0H2qCRA9TVsSAnZWagAAeJYP/1KQNMRDARXJfvz6zh4Y\nKg6484wmCbRipySe4zCLXSmrKw88UIPx7sNcgrWwChVl+GsdMt+SE9EDufQ6\nV4fx2U/fjew89IhzV2neel/vCQiBPkbCnEXEVR7zvZ/he+P9ag4PS/gzEwo3\nqLX2fus9xTnRcrv/ZWSdnh2rq7IGkoaUYb0bQvIMHRHx962Zew0yT4pKjHer\nDKd026ZMOlJywQeXOX7PBgkpxFsNo/UPKFKeEJzy6VYKXVXuCPSpA3KiJOsl\nh/CH2hd3lsV1kYGmv8nb1bBLWFFY2fjSLvUJYnPI4ZFqnUaaJVUartyYOIk0\nF798lfy8iXw/kZ5KD5Nmbrq3WFqNNg84MLq7bNFtBsAY4zuii0uPTLZFwWQk\ny/B1DW6lZuebmSha5dSgS86/OdtIeJ0wTWKa2Xz3608l/rh9wAIyUhaFDqL4\nNmlDrTY0HT4GASiNxSCT6/p0tLzC8/GRW1kOOD0WpbbAW4ej3vhPz6jaMxFd\nn4dzBHvr2lmgnD+t3SyH2mzZWS2gUbbFU2TTi5/5hjopLp7xJBCLuMT58iBO\n9ZHTv1F+cQGP81MpD0ltpLHjfLZmTtlr2V4U4+cRKGTdtqZQfWHSE+HG5NCi\noShQvwGtyCNECH6xdKTBQKg+Ffm+yd3xvIZ/MYMaBdbEQvlHl1AAIN+vGMak\nkZO/\r\n=GUvY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0X1zkVfHteptmWBYyCpnb42/bCKo2YZ/mnEstP7l1jgIgY8uQxfvoD5zVbyzEiIfFicT+QNXPuPyldUP1aAVLxNc="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.11.6_1540390313993_0.5691756219501118"},"_hasShrinkwrap":false},"0.11.7":{"name":"flash-store","version":"0.11.7","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^5.0.4","leveldown":"^4.0.1","levelup":"^3.1.1","rimraf":"^2.6.2","state-switch":"^0.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^10.5.5","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^5.0.1","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^4.0.1","rollup":"^0.66.0","rollup-plugin-json":"^3.0.0","semver":"^5.5.0","shx":"^0.3.2","sinon":"^6.1.4","sinon-test":"^2.1.1","source-map-support":"^0.5.6","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^3.0.1"},"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"gitHead":"03e834f4d6b5fedd5cda8777dd195fc8c33180a1","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/huan/flash-store.svg?branch=master)](https://travis-ci.com/huan/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![npm (tag)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) [![Greenkeeper badge](https://badges.greenkeeper.io/huan/flash-store.svg)](https://greenkeeper.io/)\n\nFlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## REQUIRES\n\n1. Node.js v10 or above\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.11 master 2018\n\n1. Use `level-down` as backend to skip the compiling when install.\n\n### v0.7 Aug 2018\n\n1. Use `nosql-leveldb` as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## AUTHOR\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.11.7","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-fArQluku8UWwmqQssg4s8zt6WG/aYNgvbCLbJUjfMGLxKYS/7GzgM40pX+gTtRLNiLglBApbxxWnpc/TKihPWg==","shasum":"189e37ae76f427dd18a679f1ff6231c8bd032cb6","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.11.7.tgz","fileCount":35,"unpackedSize":221645,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/WxZCRA9TVsSAnZWagAA8IgQAJpc65VesQdEMBJAcdYa\nNQv9TGTXCzxCd/c4fG2lYInomaCjPH5WnaQE53AMdbG27sgscU6eCXbr1EDS\nj1loMUSjt/hpmJeSHYIhnfWfVl1DQANklIalSjAuk0rO9gXub2YYqTFVPY8s\ns+C89cVkAkAndP5srl83LbFopeCMAkGRRcbYl/MDfZlsi29zHBqeCcTbLhVO\nedVjHFDT1DIUv0HgCVgGkX8/ZnBDDaHvbmqMJneX/SimilCKWjm3tbk3oe1c\nrKEGZoZvpEBFsn2Cam7Rw29K7AdisJRPTClH67yFR5YpZ5xwzXNi/itVULji\nEyvbCHNRr+ODy7yIJbBO4w9jrRMHe9O16g1zx6TeJ9XtURJZtFPeyjgjCFqx\n0qkBniABvJiL7gJoMvli0hfCM8tZEoFLgFmopMtVHGzBINwSkcdJGLA27ACu\nnFu4rtEbaSdQiwJHdHnx8mCXPR4YA0prjsIyEtxjtqAyPZiN3/iAQCwidH4k\n9W3IcMsiCAZ92qZPK0ZXGEIo1CEWN9CFo8WyxV4ONthHd/HJMsx5o8mVc88+\nfEZIHyzziUQUV4FZTPKOO8wIEFDTAcyE1Fvtrs2pk59fZP3bobtUjvRZGNKd\nNWvhwSZITfsMVNhaMMjVdqAlQX6Vgwzo3of1nVBbJQ3rbi/phJivh1SDLCCH\n5OZU\r\n=Vxgi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9Wh2Eg/vt56KduOXV7vDnUcFSWgYWxBdNkNkxOvbqtwIhAJyIaI5179df9ouMiADFIiHrOzN5ZKVl8MRIE2junJYU"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.11.7_1543335000520_0.5744623340200834"},"_hasShrinkwrap":false},"0.11.8":{"name":"flash-store","version":"0.11.8","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.0.0","leveldown":"^4.0.1","levelup":"^4.0.0","rimraf":"^2.6.2","state-switch":"^0.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^10.5.5","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^7.0.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^4.0.1","rollup":"^1.0.0","rollup-plugin-json":"^3.0.0","semver":"^5.5.0","shx":"^0.3.2","sinon":"^7.1.1","sinon-test":"^2.1.1","source-map-support":"^0.5.6","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^3.0.1"},"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"gitHead":"ff04e56dfb43802e4dfad1959c67870068aedb5f","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/huan/flash-store.svg?branch=master)](https://travis-ci.com/huan/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![npm (tag)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) [![Greenkeeper badge](https://badges.greenkeeper.io/huan/flash-store.svg)](https://greenkeeper.io/)\n\nFlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## REQUIRES\n\n1. Node.js v10 or above\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.11 master 2018\n\n1. Use `level-down` as backend to skip the compiling when install.\n\n### v0.7 Aug 2018\n\n1. Use `nosql-leveldb` as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## AUTHOR\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.11.8","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-cFWhxkUHuez0YLxF9ACK+SkTs32M9PARVrF1ReLEzdnHJkmL5M6W8MCw3UG3LFvbxh2vuWfigvB7PPErcoN+mw==","shasum":"d7516c01e079ae63b2d9dbbf4be7cb8f2c3b2376","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.11.8.tgz","fileCount":35,"unpackedSize":221704,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcJ4PWCRA9TVsSAnZWagAA4UYQAKJQd1Mv1kCjf0WxooIw\nHsQJFwLUoutTDjdKqESfgYPiRkJXr/IulmQytcPz9NELeCql1otBakdWZ3rz\nzX/9sBYocKY1xToE5f0DoLv254TmyBcfmDCxpGtVOXEg1NIY2/9cxrjMu8VF\nE4Shj+V8RFvJvrn6Kr2cU2+LEBqsA9X39ZvhtD/fiZeHW78JjoTh063h8NIi\naMXqQsSTU9UZVTacMWRZvFdm9psc6cmNggVr2wFg8BDN7ZVylL3CfbmlXcql\nfvI/Uc/JHO8DX86vfudtGzP/ToDUL9eO4Z5Ty49sTP4p2XarKwFxObb8KtkR\nJZTZpcqiHIUX06fARd40BTm1gljvJr/0w/xzQXGvdDRfdAxVa0X9noIGiiXQ\n0dCp/WGTgtwIKyruyC5aS9iXxqadvhwYG9/0w4hshhq7w1T3VbYngxcdMImJ\ng1OMAvIK7u5Bhuf22g8xtnIfb7OMe6RcJHyi3BfgeZ84UqtN1UzNKiSXM2YU\n6blhNv0pkyBfQPllG5JA19xVEb2uEufVqgWxuSw4jYvsAiGXwF6MWU04TAOi\nTFgL+gm8E3+t/18SwQ63YuDUC87w8gnTxVAanKQcwwmokl9d5U5X6uclqGR7\nYtnPRmRntiR3wictsa9KNGzmNg7OQ7R9kJqF6qFyfnOojucoVH7g1Y4iezJn\nTbsI\r\n=wodF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDFSLPfvZ8kd812a08/AdwoB6hyO8z5j6S97rfQhI+RAAIhAL8rHuYDZ9X9hsk7w7FUYSPtra52Jo0yEQrkVicPYcI1"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.11.8_1546093526051_0.9703700556490098"},"_hasShrinkwrap":false},"0.11.9":{"name":"flash-store","version":"0.11.9","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.0.0","leveldown":"^4.0.1","levelup":"^4.0.0","rimraf":"^2.6.2","state-switch":"^0.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/encoding-down":"^5.0.0","@types/leveldown":"^4.0.0","@types/levelup":"^3.1.0","@types/node":"^10.5.5","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^7.0.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^4.0.1","rollup":"^1.0.0","rollup-plugin-json":"^3.0.0","semver":"^5.5.0","shx":"^0.3.2","sinon":"^7.1.1","sinon-test":"^2.1.1","source-map-support":"^0.5.6","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^3.0.1"},"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"gitHead":"8a7437eabdfe510a0f718e2f54d77c9457fb8a4b","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/huan/flash-store.svg?branch=master)](https://travis-ci.com/huan/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![npm (tag)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) [![Greenkeeper badge](https://badges.greenkeeper.io/huan/flash-store.svg)](https://greenkeeper.io/)\n\nFlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## REQUIRES\n\n1. Node.js v10 or above\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.11 master 2018\n\n1. Use `level-down` as backend to skip the compiling when install.\n\n### v0.7 Aug 2018\n\n1. Use `nosql-leveldb` as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## AUTHOR\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.11.9","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-fX+OkWv2M7oqFjdQ9Mplqbt4nYf2Muz2VjyKNYIaDRYWay2KyHepPonEXaAVWrX3dUx8klGdCO0whrG4F722Xg==","shasum":"8a8ae3de0798cb73cbae7f1f767661982db76fb7","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.11.9.tgz","fileCount":35,"unpackedSize":221724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcJ4UaCRA9TVsSAnZWagAAkowP/AnJ4EK7u1F2hGxaqn+Y\nY5CkbCNjs/OmAMKQai6D3mPDOOYpM9A57c7Pl9CA2NNdtjJNayiDGDdk+pVs\nTIRuLDqw4wItKKxHxVire6fE6h/WI6+36otlDCPu5MPCn3nZXbsQWjTzpKB7\n0YIXIPXFJVf2QK7q1bUrR6SaOz6fxKptq9YhMt2tHvbMkXilE8qjrrCdayHZ\nzGdnQkzU8kXbqVd70HOXfDIoZoxp/UfgVfXqhg93jsnHl3DBEeEJdlTOMWZE\nwrhi+iYAMGknXpoNq5KUCdaBdFAmlWDYMGYfzJO33wIOCCi6w2AcGGbKCPNn\nYgrNBpQav7QFfT3JKbXeDk4HMkArjEfJFQi9EBgiQu+UQRWn4BqOWe9ULOLR\nYQok51Or+pPt9CFgLfXCV4/OqFERklHJfYJf4IpvHbhQDrRj6W7YST/AnVXG\naC+5t7y+qCisMTTvytcSFcKS/RS2ME4uuX7rWj4iVjLYmyIoC1u6ormO2V4/\nWqrMMBr2RCzkDBGCPjXV0NeGcPpWOypJX46ttk6Xqz4FO8BGq5GNSAj52eNp\nTMIjMM1CWJgTJOkH6h+P6fvtM1u0KbMgE4CQ9FCTW5AuO5okbSmhvobBrsWe\ns6Z0+SltRl31bh5YbELGPpnjOu9hDafbEixJWM8Bx4QeGue43dVYJom+rvAh\nQknZ\r\n=qpon\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGPY20jUYrb4IgEMCGHbj493JtHuobgD9HVUF96FRK2BAiAxFcxiD8HDyukg2t+QQk+UaRQq7+QJgIiU7M1vXSbZng=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.11.9_1546093849675_0.4015226073457916"},"_hasShrinkwrap":false},"0.12.1":{"name":"flash-store","version":"0.12.1","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.0.0","leveldown":"^4.0.1","levelup":"^4.0.0","rimraf":"^2.6.2","state-switch":"^0.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/encoding-down":"^5.0.0","@types/leveldown":"^4.0.0","@types/levelup":"^3.1.0","@types/node":"^10.5.5","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^7.0.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^4.0.1","rollup":"^1.0.0","rollup-plugin-json":"^3.0.0","semver":"^5.5.0","shx":"^0.3.2","sinon":"^7.1.1","sinon-test":"^2.1.1","source-map-support":"^0.5.6","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^3.0.1"},"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"gitHead":"f3e03aa997c224bc5de8c2e3995cf363ffb72ce0","_id":"flash-store@0.12.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-viuc+pZtJiwuX2RkUXMBmcpdoAM3YM9JPbbtdUh/QgV6gGrjao3csuAIw0Opgv9+GOJ7yOaNRahxesIL2spzoA==","shasum":"1b0097da8e5f38a9dfacc7b0a9ab8183dc1403d2","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.12.1.tgz","fileCount":35,"unpackedSize":222591,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNGIrCRA9TVsSAnZWagAAUMYQAJ1VzhedgwZ3kfyTTq30\nbMXeIVM5Wa6Z0PjizZaunEOnKuiLLal/itDDRLGNPHRHfzaAhELI2KdWtNX6\n8kFWHf9jt5SIxcY8grnIIZLjDtg6hKAfSm8mbXt0A5liZOvkxJJPkAtlDLe4\n61CeXzkQuG0Jm+Aix9XzV9avlu/d2m/QGaqyfWJWOIoXoivgyD/Db4R/3Sdl\n8cAJShJMcWVliECE+NjTUI5j+fIkAX0karvAgbnjQMnGqLzyP41vxd7iggCn\n7HUy5jfQMLIN/KVUvQEyztA8FquH10l1rgRwkJbAW4/HgNloQ1frlswMA/MS\nNi3gzLabKji1J2MBomFFWUMiPN2/LlbtQQZn40TMGJlUOSwYVkdeWaCvAJQq\nTuM1R/ELyk3OKa+0srfigJi1yS5N1tziJgWUc6VrVmkPJ+mi3j0i1d9mm7Ts\n6pzJRqaicekvPbbiIGAlDrALMCG9ilPeSi5RdhTAqpzJVV6zZy5dbwX25JdU\ngCWh+pQOJZSZCdAIdhHzUnYSj71KQFJKYt5zxI49rRjp6WPd13xcQeIVzwYP\nNhs/Z4fhE7UK8gWlFB8iF7rCESiuAdKrk0rxooftiWpDuCwXzy4zBlVk2q+m\nFPDoZRihJnWHrmmh3S3zayGEsCKxTwxZN9Uk+Z/yVeAzVkGqNh/uhjlZX+Fx\ngvMG\r\n=tDj4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMlxavlgdcdQcf6fZCgY7eJNpQ88HkgkbMAiAYCa1GOQIhAN3yLfqMBhj3IVC8FNel72RmsVshaC8+ApB3LwantDoM"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.12.1_1546936874858_0.5185674073059587"},"_hasShrinkwrap":false},"0.13.1":{"name":"flash-store","version":"0.13.1","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.0.0","leveldown":"^4.0.1","levelup":"^4.0.0","rimraf":"^2.6.2","state-switch":"^0.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/encoding-down":"^5.0.0","@types/leveldown":"^4.0.0","@types/levelup":"^3.1.0","@types/node":"^10.5.5","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^7.0.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^4.0.1","rollup":"^1.0.0","rollup-plugin-json":"^3.0.0","semver":"^5.5.0","shx":"^0.3.2","sinon":"^7.1.1","sinon-test":"^2.1.1","source-map-support":"^0.5.6","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^3.0.1"},"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"gitHead":"9815b3ac7af25809156412f4affdd1db2178c32c","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/huan/flash-store.svg?branch=master)](https://travis-ci.com/huan/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![npm (tag)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) [![Greenkeeper badge](https://badges.greenkeeper.io/huan/flash-store.svg)](https://greenkeeper.io/)\n\nFlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## REQUIRES\n\n1. Node.js v10 or above\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.11 master 2018\n\n1. Use [level-down](https://github.com/level/leveldown) as backend to skip the compiling when install.\n\n### v0.7 Aug 2018\n\n1. Use [nosql-leveldb](https://github.com/snowyu/node-nosql-leveldb) as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## FAQ\n\n### Q: What's the difference between the `flash-store` and `memory-card`?\n\nShort answer:\n1. `flash-store` is for save data to local flesystem.\n1. `memory-card` is for save data to a distributed network storage, it can be serilized/deserilized safely by design.\n\nLong answer:\n\n`flash-store` and `memory-card` are all built by @huan, and they are all follow the ES6 Map API.\n\n`flash-store` is using a no-sql local file database to maximum the performance, it can be used as a local database, or a local cache for whatever you want to catch from a network database.\n\n`memory-card` is using a local file to store data in JSON format by default, however, it supports more distributed methods. Learn more from it's repository at [here](https://github.com/huan/memory-card)\n\n\n## AUTHOR\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017-2019 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.13.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-BPRH9GvOMG40zrwqg2weDk92IIOr67DX+X4GR4t7Jm6dNIjDsLkHWohkPDyByezTILIoPJNkoXfSB2VvNn8V7Q==","shasum":"2aa83d58513a5406c53c72501135fc6fa810149a","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.13.1.tgz","fileCount":35,"unpackedSize":222588,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNGLkCRA9TVsSAnZWagAAtRQP/06zm8IimzhsO54JccYT\nAVLwqQKqsVmhPHlOnaP7COCvoyHhK2Tp1kSore3YduENrTDSVLvspOIBOTbB\nGaoO8AW2BDOVuOQobFRGbOzG+tdaymFi85K9RvLr2PwhztvGS44aaj6dUWyu\ndChGOIs4m/RWOxi/n26z/gtz3ZHkAkfhVetSG5u1PeX18wRpbWqOzY7wUXXV\ne9l+jQeTfzH9JBj3kkNUD1yZUlobxc1Uw5wruyVyw1nCmy9RDnezjXP47xdN\nybr6+d0GD1KMDqy0ZsOoM9ShlAoGmtmdsmKfugJMpvBwC7yB1l68Py79HHkI\naxLm+VpAeJHYXW8ijaQZuc600SdyFroZfSLlj9wdgOZzQD00P3XqcTcxvdDm\nZmf+pk4/1/QrCHnm1RtikLQUrYRk9/UTTcjE6O00TjIostUHPiNTRIcGS9Nl\npd/HKg9HNVoO1xlfuRPAKnYBc346FoYt9GRMGgeGF8NYOWvWXKbYGKbTjh2E\nXSMks3g+sf1mFi63vCUrKX0OH9S9NFovAjt48EP8/duAJb5ELI/t+TXpdoss\ntzXPA0Z70Dozuq5hsKRE/HHljs7aDkEidfIC0GZhF806iMlr2pMG2W5xIUuQ\nY9GHxHD8kkLHlOEEcq0L/i4xKlTKxpmF+fD8VzlqKqGxEgENe7UWLFNVUlD+\nrPLB\r\n=5H7V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCuLBWk6YPMVynqgowfkiMlYha2cmOA5YUujb4Z95GUugIhAMuoXDesDtPlggyY+dwT+7ZGXnc8GE2QZM6L/hLScKHB"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.13.1_1546937060297_0.32227231597665495"},"_hasShrinkwrap":false},"0.13.2":{"name":"flash-store","version":"0.13.2","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.0.0","leveldown":"^5.0.0","levelup":"^4.0.0","rimraf":"^2.6.2","state-switch":"^0.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/encoding-down":"^5.0.0","@types/leveldown":"^4.0.0","@types/levelup":"^3.1.0","@types/node":"^10.5.5","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^7.0.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^4.0.1","rollup":"^1.0.0","rollup-plugin-json":"^3.0.0","semver":"^5.5.0","shx":"^0.3.2","sinon":"^7.1.1","sinon-test":"^2.1.1","source-map-support":"^0.5.6","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^3.0.1"},"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"gitHead":"a6536e49f817e7e4621c534917f981f482f5b4f2","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/huan/flash-store.svg?branch=master)](https://travis-ci.com/huan/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![npm (tag)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) [![Greenkeeper badge](https://badges.greenkeeper.io/huan/flash-store.svg)](https://greenkeeper.io/)\n\nFlashStore is Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## REQUIRES\n\n1. Node.js v10 or above\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.11 master 2018\n\n1. Use [level-down](https://github.com/level/leveldown) as backend to skip the compiling when install.\n\n### v0.7 Aug 2018\n\n1. Use [nosql-leveldb](https://github.com/snowyu/node-nosql-leveldb) as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## FAQ\n\n### Q: What's the difference between the `flash-store` and `memory-card`?\n\nShort answer:\n1. `flash-store` is for save data to local flesystem.\n1. `memory-card` is for save data to a distributed network storage, it can be serilized/deserilized safely by design.\n\nLong answer:\n\n`flash-store` and `memory-card` are all built by @huan, and they are all follow the ES6 Map API.\n\n`flash-store` is using a no-sql local file database to maximum the performance, it can be used as a local database, or a local cache for whatever you want to catch from a network database.\n\n`memory-card` is using a local file to store data in JSON format by default, however, it supports more distributed methods. Learn more from it's repository at [here](https://github.com/huan/memory-card)\n\n\n## AUTHOR\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017-2019 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.13.2","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-g+CnFG3/r9ef/HU7xgjDzGLrotM0GOAvMlN5UzRvNIpd5z1owsrXFhzguUjymEbWpx5r4klwXaTOWxKwhjjWOA==","shasum":"de2c12a3e5be5b647bc9b37389bca45065e1da9a","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.13.2.tgz","fileCount":35,"unpackedSize":222586,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcqlmuCRA9TVsSAnZWagAAxXEP/0U9nyDnSIvDTrMosDhx\nq+WjTiaZHX2hrLW5Y2LXT7NhLHqHtqmEONAWs/0dc6C7u4bE78DL2/Ks4Oq8\nmY6vrWyZHLXVLRqR43i4qvhxx1yA8f2wdFBzmUl9BUglbfIy5yoB1aBvWp+V\n+CXdUwJ3T0CGwIkGBR846oo09ZUdRrs8jYtFw95lYZRW301jwp2zWLfk2gEy\nGod3sdSUbR6IpddKUOLPtvMQoZXeb0nbU46jlSi4hOqK4EAdtXBeSBkxJUPX\nHkLZ1UTi3kDpZrb9QiwDREBnfFO6k1aHI0mQlZu9ebniLVKJQoTLPVgz9RbF\nm5epignBXgbMFWV/aw7XAoSY69Ex6Jxa2FBxrd0X31TfhMN16NI6tDFArJs2\nOjEL3bjRYsrvE/BXDuKJbD5ANxxP66l0vEEyXC9dnjea10s96wjCkt3Cqwhz\n67G8wwtmdPNSitNQF+ZdvSoIzF4KFuxlIWm/sCISklZ+tZgBBY62rtuC/aS7\nICH9iOoqKaghBZO+N7Q5saVM4B695q7Y70Bo1GWwx/uMQNQpPV1LP3Edcql/\nTswp4rkrKZT39T+SQSPJ1FJq2R+iUj6QwXpTjIYhMUg97Ad63R14uMCxf/vl\nWsl+5RtR29NUq2csxG9DDQK9ImtXdEH7opiEmLMvmUfncullUtoM9OsJRkdv\ntbdS\r\n=PQAu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDt/3qQNbio/kE6pdIiBheSPTEi2PRm+YzIoBrYU2HscAiBMQJPPMdSFQOPqCPSktZe6gf9RkWWFlU/YJahGOOmfvg=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.13.2_1554667949813_0.3992548378883609"},"_hasShrinkwrap":false},"0.13.3":{"name":"flash-store","version":"0.13.3","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.0.0","leveldown":"^5.0.0","levelup":"^4.0.0","rimraf":"^2.6.2","state-switch":"^0.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/encoding-down":"^5.0.0","@types/leveldown":"^4.0.0","@types/levelup":"^3.1.0","@types/node":"^10.5.5","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^7.0.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^4.0.1","rollup":"^1.0.0","rollup-plugin-json":"^3.0.0","semver":"^5.5.0","shx":"^0.3.2","sinon":"^7.1.1","sinon-test":"^2.1.1","source-map-support":"^0.5.6","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^3.0.1"},"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"gitHead":"2fbf963a13b2248c0481e50565d8ddb07931c230","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/huan/flash-store.svg?branch=master)](https://travis-ci.com/huan/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![npm (tag)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) [![Greenkeeper badge](https://badges.greenkeeper.io/huan/flash-store.svg)](https://greenkeeper.io/)\n\nFlashStore is Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## REQUIRES\n\n1. Node.js v10 or above\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.13 master 2019\n\n### v0.12 Jan 2019\n\n1. Use [level-down](https://github.com/level/leveldown) as backend to skip the compiling when install.\n1. Using leveldb official typings from `@types/`\n\n### v0.7 Aug 2018\n\n1. Use [nosql-leveldb](https://github.com/snowyu/node-nosql-leveldb) as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## FAQ\n\n### Q: What's the difference between the `flash-store` and `memory-card`?\n\nShort answer:\n1. `flash-store` is for save data to local flesystem.\n1. `memory-card` is for save data to a distributed network storage, it can be serilized/deserilized safely by design.\n\nLong answer:\n\n`flash-store` and `memory-card` are all built by @huan, and they are all follow the ES6 Map API.\n\n`flash-store` is using a no-sql local file database to maximum the performance, it can be used as a local database, or a local cache for whatever you want to catch from a network database.\n\n`memory-card` is using a local file to store data in JSON format by default, however, it supports more distributed methods. Learn more from it's repository at [here](https://github.com/huan/memory-card)\n\n## AUTHOR\n\n[Huan LI (李卓桓)](http://linkedin.com/in/zixia) \\<zixia@zixia.net\\>\n\n[![Profile of Huan LI (李卓桓) on StackOverflow](https://stackexchange.com/users/flair/265499.png)](https://stackexchange.com/users/265499)\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017-2019 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.13.3","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-IKVDOd+AGpo56voOklNoyfA5xepkGW4fVG/mog4/96Xp01TNJHNKsEa4v8QFfT7Chk7igwyWqP88nhcrcJ9qzQ==","shasum":"fc538142dd62966c696ef12965167a78607ac1b1","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.13.3.tgz","fileCount":35,"unpackedSize":222470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc1oLvCRA9TVsSAnZWagAAaWoP/1xFWTbOohdMZrnqwRUM\nxCqfKkXKWmyVpuUBTwRcQS4oZmImvcsVMqOeKstWYP70in4ELp/gXDVqih7/\nR00Kt1lQyzTy6MsRD8y3y8dxs0eMhzinjYtI2yAeLv/CRdpXlw6OKrpNSzGY\n3fbOEAtdLgTJ3xiOs7NTxwRzl52pklhr2Amue73LCcjZvhCNWIb43Uk7l0H5\nwuiRFHsIAotYOOizqFc0UPS4J3+IwIdfNusXCJ6eK/KKdigBK/qQ8jR5d+AY\nlZzkrZccnIsGg0xtmEFTOFZRD1fmpwFd/RseslGiu6v1xjfaLN8CVQIE/Vej\nSVHiQK5773NjT9MAcUPsdXm/7QKH96qZ7sD842g0a1SH/keYkpENmVm0GqK7\nyLBn3BmrwCWwgo1euhjckNbTCsQr1f+KEJIbXFgv8LTzOUaLkwhsXrdqChop\n2A2NfUzHJPaL/XBdkMVdCEZPYMBjPdpCraa/mxF7Dwbe9zwyIUEW5qPHzSYl\nbMWDuSZ1xJoawyMe9nXZ6aZ4tsxgavKM9RTvY3rEyeW77yEv05xEfjj66RRu\n0jTklu29Pgxd63CvCbWra/KG0a++JMXhs1tPIgeTVNeXCmFXEiFEUtPwVh55\nflS4S4eikZzSshlLbkN8e+oCMWeXgW3plB/D60EOQ7X+CIuvx4czn5B/Tj74\ncAS+\r\n=G2hb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjIFXK29NvTKnp8taT4uwjidZTa/G0twsWmVOezdAxKQIgO2EV9RaweF+l8hTm1h/69tNLUoTy8OCOStIpQz80sFU="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.13.3_1557562095181_0.9939440564968001"},"_hasShrinkwrap":false},"0.13.4":{"name":"flash-store","version":"0.13.4","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.0.0","levelup":"^4.0.0","rimraf":"^2.6.2","rocksdb":"^3.1.0","state-switch":"^0.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/encoding-down":"^5.0.0","@types/levelup":"^3.1.0","@types/node":"^10.5.5","@types/rimraf":"^2.0.2","@types/rocksdb":"^3.0.0","@types/semver":"^5.5.0","@types/sinon":"^7.0.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^4.0.1","rollup":"^1.0.0","rollup-plugin-json":"^3.0.0","semver":"^5.5.0","shx":"^0.3.2","sinon":"^7.1.1","sinon-test":"^2.1.1","source-map-support":"^0.5.6","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^3.0.1"},"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"gitHead":"156fdb5f4b5ad1313cf00ac6ab3954e14ca035d2","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/huan/flash-store.svg?branch=master)](https://travis-ci.com/huan/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![npm (tag)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) [![Greenkeeper badge](https://badges.greenkeeper.io/huan/flash-store.svg)](https://greenkeeper.io/)\n\nFlashStore is Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## REQUIRES\n\n1. Node.js v10 or above\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.13 master 2019\n\n### v0.12 Jan 2019\n\n1. Use [level-down](https://github.com/level/leveldown) as backend to skip the compiling when install.\n1. Using leveldb official typings from `@types/`\n\n### v0.7 Aug 2018\n\n1. Use [nosql-leveldb](https://github.com/snowyu/node-nosql-leveldb) as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## FAQ\n\n### Q: What's the difference between the `flash-store` and `memory-card`?\n\nShort answer:\n1. `flash-store` is for save data to local flesystem.\n1. `memory-card` is for save data to a distributed network storage, it can be serilized/deserilized safely by design.\n\nLong answer:\n\n`flash-store` and `memory-card` are all built by @huan, and they are all follow the ES6 Map API.\n\n`flash-store` is using a no-sql local file database to maximum the performance, it can be used as a local database, or a local cache for whatever you want to catch from a network database.\n\n`memory-card` is using a local file to store data in JSON format by default, however, it supports more distributed methods. Learn more from it's repository at [here](https://github.com/huan/memory-card)\n\n## AUTHOR\n\n[Huan LI (李卓桓)](http://linkedin.com/in/zixia) \\<zixia@zixia.net\\>\n\n[![Profile of Huan LI (李卓桓) on StackOverflow](https://stackexchange.com/users/flair/265499.png)](https://stackexchange.com/users/265499)\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017-2019 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.13.4","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-B1eQSxmHBLEwAy/QgMM9iHmXWHy82jvs3V+22Sippdhx8fTEkow2TpbIu0szlLWEPYKh/ltfrt3ojKqRQc96fQ==","shasum":"c3f2f3dde866f8fbd92e3d02a10bd6cf0f8d6994","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.13.4.tgz","fileCount":35,"unpackedSize":221436,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc1tbVCRA9TVsSAnZWagAAy3IP/19fxCSnQLpKx79JiYr6\n6BHYEPK0LKA8fVb1ibPFIc2pXiET3ytMFFqVaZgUNuvWcQ8VfqnNktH/2B2M\nPvAHg95s9OCEh5VKIV4TdsgSnxQTF4ImmsVeEasEIVjl6908GVDNvqbKL/U1\nY8mDl7oOVJPgZAR3452odo+go8NGHBjT62mlIXjmstXc9Q36vH2cZw78o4UA\nApV/PW8HKqlDM9jcLiNNfN4GcB/xCTBBe/eJ4S5ck3N4ky0hcuSDFmqjfzZR\nN2L2haL6ygaCllGI7cRUv2nv+wkYV55PfZ7WML5jHRHNFM60GoxFm2wTWfAE\nlzh0R/V6gl3eLRrhcudZkFhRWb9onTQM7piR8A90QqbBxUsoMxJbUfyGANSB\nN3K7qDuFlvxYQDNNjTsrVf1RLHDElvBsNDoB5lnshJ8pbxk2PTZJ5zAQgyjt\nHRGNADsEz8ODbAaUlfWT21TuPQNPxUkr85lum3Opw2t4DTVaUj8ig0fGA1rI\nQ61LtAqgx2zOGV0ixggBSdPEJV0yEVLi25vwA42FHJgTfmK0PdQ3wGoJembU\nWcuKvi+n/4nkXzzbd+x7rUDDCs9L3eA+IE9ok/zlwvA3was2epedcVcfiXv1\nJGyJlMY04ORH9IEplFSS3RZ6Q/n2qS+soXI0K0A6H23BGk5P9yxpxIiKNTKN\nOw8Q\r\n=++NN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIED7ZmddyMTs0HUaave2/aBmOng5YmWDMl5zjWkV5DLZAiAzlA03nftn9vmNVpQsNPeyIafgDa0A3JuMuOM63tsEUQ=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.13.4_1557583572465_0.27120489806310144"},"_hasShrinkwrap":false},"0.14.1":{"name":"flash-store","version":"0.14.1","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.0.0","levelup":"^4.0.0","rimraf":"^2.6.2","rocksdb":"^3.1.0","state-switch":"^0.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/encoding-down":"^5.0.0","@types/levelup":"^3.1.0","@types/node":"^10.5.5","@types/rimraf":"^2.0.2","@types/rocksdb":"^3.0.0","@types/semver":"^5.5.0","@types/sinon":"^7.0.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^4.0.1","rollup":"^1.0.0","rollup-plugin-json":"^3.0.0","semver":"^5.5.0","shx":"^0.3.2","sinon":"^7.1.1","sinon-test":"^2.1.1","source-map-support":"^0.5.6","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^3.0.1"},"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"gitHead":"f79bdcf1f51d08283ed5773bcef7b05887f53fc0","_id":"flash-store@0.14.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-mcmPD8vE0cl3pXv7ueSl8LdbmLPlDu/nyCawt8kD5Dcr6FLhDdvoOPJGgg1iV2PlURWrRDe7FJCu7ZTKPPU35w==","shasum":"5cfed342f25a231ea55d6d7ce9804ddfe0f59948","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.14.1.tgz","fileCount":35,"unpackedSize":221547,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc1tcSCRA9TVsSAnZWagAAGHMP/A3O7n9Ryw2grUAGXoJJ\nsAH8yqCDu3yjkwAhXzFg5nPNEvyw96ti0dkgpPL8ATff343muWcW4cQrwOCD\nLbQ5TIk3GUATeGZyparLxnOKUahhkFxQ2PISCfutsMeyuBklLrRky7rOGDIS\nqRDos8im6VBDlWuDzDbin04peA/SY8NZAQjhIzo9kGdsNpkOF8BZtTphbk5e\nxKnyFrfZmaM5U9iyp7fvquB8jAPDv2B5lCI7PBTv+5XQDFDCbTbYqxU90BBi\nbNWO4XYzgBAqWHmzC8b8xElVtcA+3hP3GtAp9X3pVMHtLkN9PuMgW1CEFF56\nA4aso29T7WYLLwQZPLesc93zCr03DPGZCtZ4r0S37lcf0xbopGQV6tqPakFo\nln3gKOOQrV4B5ZCmatcLRLOR5lWoEsvVFI+11kMWnbvDMIpQbOhAtrQJhdQd\nkaa7+s+9HSJ1ypfkLgw/I0rwoksHSo6ycJMCRnfGF3+6XHQUSOijaFY95yjF\nqRlmdizeEZa81vXE/MJEie2QJPI69sOucxpwirYdOyzmxq0nAa5xHl7/5Eik\nEaLqAuKVcMsm0F31m6AwMIs+X/fzitkr5j6+86l3ilbXSvwQ5acVc5y+m4wj\n+aQ10M48aXT0jMRvdXkOK+RzoiPDq6suXueY5h5Rw1q9nXDu2Fq4F49b3qCw\nuf/r\r\n=XWWb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC4JGCwYtKNZeXr4PvV5WWt3+oxN8Ys7/cUesWWf+LcNAiEAhdRxTJAf3xUW/rfrYS6NkDCZeAaTzxOGp1e7CcLj0bU="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.14.1_1557583633828_0.4962953278363136"},"_hasShrinkwrap":false},"0.15.1":{"name":"flash-store","version":"0.15.1","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.0.0","levelup":"^4.0.0","rimraf":"^2.6.2","rocksdb":"^3.1.0","state-switch":"^0.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/encoding-down":"^5.0.0","@types/levelup":"^3.1.0","@types/node":"^10.5.5","@types/rimraf":"^2.0.2","@types/rocksdb":"^3.0.0","@types/semver":"^5.5.0","@types/sinon":"^7.0.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^4.0.1","rollup":"^1.0.0","rollup-plugin-json":"^3.0.0","semver":"^5.5.0","shx":"^0.3.2","sinon":"^7.1.1","sinon-test":"^2.1.1","source-map-support":"^0.5.6","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^3.0.1"},"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"gitHead":"96d252f35f3eca496e85467116e7163619d44225","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/huan/flash-store.svg?branch=master)](https://travis-ci.com/huan/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![npm (tag)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) [![Greenkeeper badge](https://badges.greenkeeper.io/huan/flash-store.svg)](https://greenkeeper.io/)\n\nFlashStore is Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## REQUIRES\n\n1. Node.js v10 or above\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.15 master 2019\n\n### v0.14 May 2019\n\n1. Switch from LevelDB to RocksDB [#34](https://github.com/huan/flash-store/issues/34)\n\n### v0.12 Jan 2019\n\n1. Use [level-down](https://github.com/level/leveldown) as backend to skip the compiling when install.\n1. Using leveldb official typings from `@types/`\n\n### v0.7 Aug 2018\n\n1. Use [nosql-leveldb](https://github.com/snowyu/node-nosql-leveldb) as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## FAQ\n\n### Q: What's the difference between the `flash-store` and `memory-card`?\n\nShort answer:\n1. `flash-store` is for save data to local flesystem.\n1. `memory-card` is for save data to a distributed network storage, it can be serilized/deserilized safely by design.\n\nLong answer:\n\n`flash-store` and `memory-card` are all built by @huan, and they are all follow the ES6 Map API.\n\n`flash-store` is using a no-sql local file database to maximum the performance, it can be used as a local database, or a local cache for whatever you want to catch from a network database.\n\n`memory-card` is using a local file to store data in JSON format by default, however, it supports more distributed methods. Learn more from it's repository at [here](https://github.com/huan/memory-card)\n\n## AUTHOR\n\n[Huan LI (李卓桓)](http://linkedin.com/in/zixia) \\<zixia@zixia.net\\>\n\n[![Profile of Huan LI (李卓桓) on StackOverflow](https://stackexchange.com/users/flair/265499.png)](https://stackexchange.com/users/265499)\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017-2019 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.15.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-B+ROmB0JZgF41l9FcGfWYP96FRhFmfoL+sdxROIjwKidupZsHKLMaV/L0R8Hf5d8Y/8FyrX0Gxjs88tNYbUz0g==","shasum":"a97af89e26a8fa0e922c726904f1a90c89a3eb4c","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.15.1.tgz","fileCount":35,"unpackedSize":221544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc1tdYCRA9TVsSAnZWagAAB04P/3T3RsIYOdPs50/Sg1ZJ\nYtNDUK0tj6/IQogJ/MK/0QkKp70nKfgDGIwlXS9EgP9+bW7mghZF3DWkfIJD\nSlg4TP+8aqXfXzcOIUFrVEJi3IKKJFOtkzJOt5iiQZ0jigK72xGEiXrKDjWK\nMfOlpcopBnOwr3cJz/yYelM+45xQ07fL3Bh71PazPFa2zlYmVb7Kefb8ThtA\n/7jFYMxZ6QGb8KBxaFb0a2W1hTXbAb6+sY87iLH954EDXuyJC4wIWmzNmBH8\nm03ZwqbtpplOdhr+iJQFtasnzU99DS8m1OTJ4Uj9wfvkG1XRIdIhp1pAzl1Q\nstEAeS+gTBuk6yzApvaXRD9ZdmjbfQ7TllELZFt7nrOurlvYRfM5v7RlvZlV\n5he3XtXrN7iIpK4cgcPi+d6MCX/wi1R9PErIqwFiqpfJ0PrU22C9oyT7u6gD\nn01rNwY/Sigr1MFCW+ecoWLgnOLVK+hriO2Alryklp+afIprh5DFeSQbr6NX\nTzzgn04m7BYFtQmuiekuH/oDHfZSN4f9ToWUTy134B9YCKYDt5vt0/vVmgmp\nRF/OYGGtf4euwKraoNmhBJjAiom+J1PjlxE2ANHsUaQKnguZimRLq79kn39v\nU6if7rE/vnNtoietm8nbEHluGZ4kMZ+6LI8mvQ53D+11FXPmdnIMWBJoErvK\n2LnR\r\n=TUAZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1taaCVpR0FWQ8zFiceEw8/jNtwJSLRdFlrsWy41hP1AIhAKi+Fq7SPMX0KdtzYxdef8d1vesd+txeM7qBsqM7mlLR"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.15.1_1557583703740_0.26585451961867856"},"_hasShrinkwrap":false},"0.7.2":{"name":"flash-store","version":"0.7.2","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^2.3.4","levelup":"github:huan/levelup","nosql-leveldb":"^3.0.1","rimraf":"^2.6.2","state-switch":"^0.6.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^10.5.5","@types/rimraf":"^2.0.2","@types/semver":"^5.5.0","@types/sinon":"^5.0.1","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^4.0.1","rollup":"^0.63.5","rollup-plugin-json":"^3.0.0","semver":"^5.5.0","shx":"^0.3.2","sinon":"^6.1.4","sinon-test":"^2.1.1","source-map-support":"^0.5.6","ts-node":"^7.0.0","tslint":"^5.10.0","typescript":"^3.0.1"},"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"gitHead":"7c776572ba4ce55840012bb292ce2c520fadf519","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/zixia/flash-store.svg?branch=master)](https://travis-ci.com/zixia/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) [![Greenkeeper badge](https://badges.greenkeeper.io/zixia/flash-store.svg)](https://greenkeeper.io/)\n\nFlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://zixia.github.io/flash-store/images/flash-store.png)\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://zixia.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n1. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n1. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n1. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.6 master\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## AUTHOR\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.7.2","_npmVersion":"5.8.0","_nodeVersion":"10.15.2","_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"dist":{"integrity":"sha512-6VEdsUSjexRQp5e4doD/SeUmD9VvsXR/nF5VVOaEwuO0kLgQldp4WzBr7DkHvzMvig7ssFak4LX7YlGdtCl07A==","shasum":"4bfa2d0bf53ede26672c358e6e30b9c13cd3da2d","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.7.2.tgz","fileCount":35,"unpackedSize":221328,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc8kCTCRA9TVsSAnZWagAAt/QQAJ749BOPjNGYQD7O4CIC\nIfCaoSCNbo4Z9zbGe2k1Qj/B0AZLSWl4XlzNDnW+CYpOYlPVADCgg7pd8IZs\nBHpyBMu9u9m6Oo49x+UNy17/Mh2OgcVIDsXuHgrwx/oejQ+w+wQS/1RPucN0\nWZKBdRAvkO7ewDBu3b8Bjh+LBUhSitA39rzVa5Oe+BZSPNX9mar6VNA5I3Zh\nWVjJzbJ7Yi0HV4z3rYMmsDX19pk5lajT1pig78C223dwXXiAoIRnvQalFgQg\nowWXjvPpFsmC0K8zu59Q7pxVU9slFOLpyxGzvlukLWf0/Z3zBW8H+/A9taaq\nq/6FQNR4caPQ7keC6LcnzkehQdp6gAZu8zAyVN8Ub6GXf6RImaI61S0ID42m\nsLraAgRshH5+O32dT7HVmK3DLfBxnR+qASVatPMtjXOzgTyN4cjji5IF1nj8\nOu5yY9ubcKBura/+HS6mZLCkCkG/1AAK7dgVQOLpDUWWWbEbmeuhOeBfe/B0\nKHu8Tr8JrusLGauZ9MMPediqk7I/ukCQmqhlDdzJ7f30Y/LlmGY4M8t9PIeK\nMT1CR20RGj3dUNgu+eRCiVTJVI9PNZ6kkdbHYA1d3FSAqKu2+RSzlkVXAxbI\n5vAjfxr4xFTrzfq/ymX8eZ3XuJrEybU5zGb0Of8KCtGfW5k6ZM4DE//MxBw5\nKvZF\r\n=HtHS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCCqGFxXF4gVEK80St8iRpaBPPUa1Ptg2FL1dGnaY5cvAIgQwxpo8iN34wedvxoKE6t038VfLtMHE74YpMJG7mjNDY="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.7.2_1559380114388_0.014355738395976259"},"_hasShrinkwrap":false},"0.15.3":{"name":"flash-store","version":"0.15.3","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc --module esnext --moduleResolution node","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"npm run lint:es && npm run clean && tsc --noEmit","lint:es":"eslint 'src/**/*.ts' 'tests/**/*.ts' --ignore-pattern tests/fixtures/","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.0.0","levelup":"^4.0.0","rimraf":"^2.6.2","rocksdb":"^3.1.0","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.6.8","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/encoding-down":"^5.0.0","@types/levelup":"^3.1.0","@types/rimraf":"^2.0.2","@types/rocksdb":"^3.0.0","jsdoc-to-markdown":"^4.0.1","pkg-jq":"^0.2.2","rollup":"^1.0.0","rollup-plugin-json":"^4.0.0","shx":"^0.3.2","source-map-support":"^0.5.6","tstest":"^0.4.2"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"a8c75a43229e6b7f245da5385e3846debe94a2b5","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/huan/flash-store.svg?branch=master)](https://travis-ci.com/huan/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![npm (tag)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) [![Greenkeeper badge](https://badges.greenkeeper.io/huan/flash-store.svg)](https://greenkeeper.io/)\n\nFlashStore is Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## REQUIRES\n\n1. Node.js v10 or above\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/**\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.15 master 2019\n\n### v0.14 May 2019\n\n1. Switch from LevelDB to RocksDB [#34](https://github.com/huan/flash-store/issues/34)\n\n### v0.12 Jan 2019\n\n1. Use [level-down](https://github.com/level/leveldown) as backend to skip the compiling when install.\n1. Using leveldb official typings from `@types/`\n\n### v0.7 Aug 2018\n\n1. Use [nosql-leveldb](https://github.com/snowyu/node-nosql-leveldb) as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## FAQ\n\n### Q: What's the difference between the `flash-store` and `memory-card`?\n\nShort answer:\n1. `flash-store` is for save data to local flesystem.\n1. `memory-card` is for save data to a distributed network storage, it can be serilized/deserilized safely by design.\n\nLong answer:\n\n`flash-store` and `memory-card` are all built by @huan, and they are all follow the ES6 Map API.\n\n`flash-store` is using a no-sql local file database to maximum the performance, it can be used as a local database, or a local cache for whatever you want to catch from a network database.\n\n`memory-card` is using a local file to store data in JSON format by default, however, it supports more distributed methods. Learn more from it's repository at [here](https://github.com/huan/memory-card)\n\n## AUTHOR\n\n[Huan LI (李卓桓)](http://linkedin.com/in/zixia) \\<zixia@zixia.net\\>\n\n[![Profile of Huan LI (李卓桓) on StackOverflow](https://stackexchange.com/users/flair/265499.png)](https://stackexchange.com/users/265499)\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017-2019 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.15.3","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-cKRyxx5vk/Nw1cRCMLJLIzbzXzrXZ9btcP4RSEWQixrCR+cX6dYwBPW4x6m7SgQyLzZdiElvaxBgQy9tsGze4w==","shasum":"51def099d4d5d226fb5c5be16bcd84bbf0137c71","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.15.3.tgz","fileCount":56,"unpackedSize":229723,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdBgg0CRA9TVsSAnZWagAAUpwQAJ5nIYBRUnOp66S75nZw\n/VLyGSxr93BVcfOvzQSORQ5O0StnFm2422Mw1iUeYPyGi0h2ZNMtgHezCeW0\n+6UkqsMQcGI8ozu6rRPDg4bVrIX6iBw9SV1lw1Zeswoadjv5t8n0NrD1cj2C\n65YkjEnal4KHgkBY4AGGifEnazwXjqiTw9rX21FF+l6+G+SQSWnrEPmeY/Zn\ntHadGzNQTjIhRh0OHLnLosWzgac1PJnVLZpUgq9sHrqG43RMXQT40R/ZJ/gj\nxF9PJrcPsikriF5NWyo2apsDCRR4vOBM6lLDtyw1uu/kEq3ZBppR/c3mdpAv\ngr8wF7OQwUwOfanVbUwt3+8zPhRTbhrIUT49DAotQnNG+oEBrpB7w9wExM55\nQ3K2IIWhKq+qmS6nCHj6udbcD0nmxgIxbPppWf/u4Pf4Yh6iquSnSbWTCKOA\n2XM5N3pTGPiH6ATzhnmtS5tMVZPliwu7PNXyzGq2ZNZSB+e/J+ZZOulU0749\nJYUWxvMs0W8Py99EUe0BYFLYuFeRmU9h8nSQxi7bM4VE6Uu7hydQlfsYjN7A\nl+didT3j9T92O5/locD5jEsR3I4PLRRFB7/tFGece7hjFSPyr7xfywtZyBie\nOlswv6s44sOfg55I7tqF6+d+TWjwcR/6nbM7bt08VTRqznhHEbnJvZqygo2V\nEEm8\r\n=50ZO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3aJ/mjwQvhsbF5t59BNziUUVVsWlkaeIoeFPF+fjQGwIgO83fpiBPSmGQfCDp3Td4xZbydPmP7Fdkb9LOFWVHXLg="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.15.3_1560676403955_0.7987581951429348"},"_hasShrinkwrap":false},"0.15.5":{"name":"flash-store","version":"0.15.5","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc --module esnext --moduleResolution node","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"npm run lint:es && npm run clean && tsc --noEmit","lint:es":"eslint 'src/**/*.ts' 'tests/**/*.ts' --ignore-pattern tests/fixtures/","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.0.0","levelup":"^4.0.0","rimraf":"^2.6.2","rocksdb":"^3.1.0","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.6.8","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/encoding-down":"^5.0.0","@types/levelup":"^3.1.0","@types/rimraf":"^2.0.2","@types/rocksdb":"^3.0.0","jsdoc-to-markdown":"^4.0.1","pkg-jq":"^0.2.2","rollup":"^1.0.0","rollup-plugin-json":"^4.0.0","shx":"^0.3.2","source-map-support":"^0.5.6","tstest":"^0.4.2"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"b2b7ce02a75f4728768e0202eb2c795bd74be459","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/huan/flash-store.svg?branch=master)](https://travis-ci.com/huan/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![npm (tag)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) [![Greenkeeper badge](https://badges.greenkeeper.io/huan/flash-store.svg)](https://greenkeeper.io/)\n\nFlashStore is Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## REQUIRES\n\n1. Node.js v10 or above\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/**\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.15 master 2019\n\n### v0.14 May 2019\n\n1. Switch from LevelDB to RocksDB [#34](https://github.com/huan/flash-store/issues/34)\n\n### v0.12 Jan 2019\n\n1. Use [level-down](https://github.com/level/leveldown) as backend to skip the compiling when install.\n1. Using leveldb official typings from `@types/`\n\n### v0.7 Aug 2018\n\n1. Use [nosql-leveldb](https://github.com/snowyu/node-nosql-leveldb) as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## FAQ\n\n### Q: What's the difference between the `flash-store` and `memory-card`?\n\nShort answer:\n1. `flash-store` is for save data to local flesystem.\n1. `memory-card` is for save data to a distributed network storage, it can be serilized/deserilized safely by design.\n\nLong answer:\n\n`flash-store` and `memory-card` are all built by @huan, and they are all follow the ES6 Map API.\n\n`flash-store` is using a no-sql local file database to maximum the performance, it can be used as a local database, or a local cache for whatever you want to catch from a network database.\n\n`memory-card` is using a local file to store data in JSON format by default, however, it supports more distributed methods. Learn more from it's repository at [here](https://github.com/huan/memory-card)\n\n## AUTHOR\n\n[Huan LI (李卓桓)](http://linkedin.com/in/zixia) \\<zixia@zixia.net\\>\n\n[![Profile of Huan LI (李卓桓) on StackOverflow](https://stackexchange.com/users/flair/265499.png)](https://stackexchange.com/users/265499)\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017-2019 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.15.5","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-4g+BAN4kn9dEKzIBAy/MXYWbs1qNj96C92xoYb7qfvP40FJXpfDhsCOHEaTEwIweO6HcAwZrDiaF+1Yc6ijqOg==","shasum":"a3291cae1008f9889ea6ba544e3aa422e8b27eee","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.15.5.tgz","fileCount":56,"unpackedSize":229723,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdBhh7CRA9TVsSAnZWagAAnOIP/1lkNeeiMYgpn3z1AYha\nB22k74+0gMhFqwDbevnnrVQjkppaeIfyBHOJ8+JYr3sm6QD9xMSaYveB55QQ\npK7AxZ3O3k/tZIymGQcFM2jyj8P/xyOKLu9KN5YfOC0Mi2fAinMo2Y4JxAdc\nGz0O3bIEvAaTZxRZjWuk21Pj01ZJJcl/CGuKINb1gDjYERywyEjQ4fghK3hI\nyGLZj9WCB1JwQ1NFmt6qeyalaXiERoTMlgAJkjdydSx4C0gLL/0I+gRER+bH\n5IYnnffbDTBJB4dlDL+z+yCxIUb3t4kf1EGtpi8lRZ5DQtVYOL6iy+t8zPcp\nivrfBvO/hfS336STCLl6SCiMwWE1RENIXsOZS+qkaMC3dmdIMU7t0BzvrCxp\nD6Ukr3VN883JDC5ITgM7yjz5rRo3eS7b4EzHYGrU1wF6CoCx3xL+yEsHkZ+m\nxAPziHPI1UzX3ho1I0CTdhSThymrd5GtTyb5v0mgGlADfa16smDhlykEw2da\njacxNrHa09h1ksssOY+CXc8S/y5zy/DUVBaDs2255Q6Uq+gHW5Luh9iwzX3r\n+U8Mrs4welL4bgf9vdVHCyEYPRlF4qSI0VpO+jW/i6vJDaMxzBPpqzMBuq1C\n8dnSfbMEoHbJ6nTVRkR1kzeu4XSHIxMlgQYTpHgUtQ97Fjf3kqwE+Ww9mqP2\ns5nh\r\n=/56N\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDiBFLz2zZP48DiBdoLkO4+ROR49qSkQibNpNkPBkbsxwIhALpZh3sZ6IzjyGnZtIDJ9t4rb35q17u4UxMkmrPAQ9RO"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.15.5_1560680571259_0.9014555465046699"},"_hasShrinkwrap":false},"0.15.6":{"name":"flash-store","version":"0.15.6","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc --module esnext --moduleResolution node","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"npm run lint:es && npm run clean && tsc --noEmit","lint:es":"eslint 'src/**/*.ts' 'tests/**/*.ts' --ignore-pattern tests/fixtures/","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.0.0","levelup":"^4.0.0","rimraf":"^2.6.2","rocksdb":"^3.1.0","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.6.8","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/encoding-down":"^5.0.0","@types/levelup":"^3.1.0","@types/rimraf":"^2.0.2","@types/rocksdb":"^3.0.0","jsdoc-to-markdown":"^4.0.1","pkg-jq":"^0.2.2","rollup":"^1.0.0","rollup-plugin-json":"^4.0.0","shx":"^0.3.2","source-map-support":"^0.5.6","tstest":"^0.4.2"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"86f4d3ef9e7d67b64f71cfa49b368195e662ce19","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/huan/flash-store.svg?branch=master)](https://travis-ci.com/huan/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![npm (tag)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) [![Greenkeeper badge](https://badges.greenkeeper.io/huan/flash-store.svg)](https://greenkeeper.io/)\n\nFlashStore is Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## REQUIRES\n\n1. Node.js v10 or above\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/**\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.15 master 2019\n\n### v0.14 May 2019\n\n1. Switch from LevelDB to RocksDB [#34](https://github.com/huan/flash-store/issues/34)\n\n### v0.12 Jan 2019\n\n1. Use [level-down](https://github.com/level/leveldown) as backend to skip the compiling when install.\n1. Using leveldb official typings from `@types/`\n\n### v0.7 Aug 2018\n\n1. Use [nosql-leveldb](https://github.com/snowyu/node-nosql-leveldb) as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## FAQ\n\n### Q: What's the difference between the `flash-store` and `memory-card`?\n\nShort answer:\n1. `flash-store` is for save data to local flesystem.\n1. `memory-card` is for save data to a distributed network storage, it can be serilized/deserilized safely by design.\n\nLong answer:\n\n`flash-store` and `memory-card` are all built by @huan, and they are all follow the ES6 Map API.\n\n`flash-store` is using a no-sql local file database to maximum the performance, it can be used as a local database, or a local cache for whatever you want to catch from a network database.\n\n`memory-card` is using a local file to store data in JSON format by default, however, it supports more distributed methods. Learn more from it's repository at [here](https://github.com/huan/memory-card)\n\n## AUTHOR\n\n[Huan LI (李卓桓)](http://linkedin.com/in/zixia) \\<zixia@zixia.net\\>\n\n[![Profile of Huan LI (李卓桓) on StackOverflow](https://stackexchange.com/users/flair/265499.png)](https://stackexchange.com/users/265499)\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017-2019 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.15.6","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-VrunNDruDou1kfS0Mnl03vJkRxVKxDBsAj4bhYph+emJANHy1F+YiLPSKd4KWQYi3KyKBFuQk7CCath1phiy1w==","shasum":"c418654186cab182c4572daff1c2fbfea616b2aa","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.15.6.tgz","fileCount":56,"unpackedSize":231735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdKCdnCRA9TVsSAnZWagAA1X8P/RtZgdjiXNnJRcqApb01\nnBmX0yFHlODdxaloEAdEtosSYABh9Q3cdxGh6hhR3jGm1eHz+dX0a1jPScz2\n6ScAXrV3mPC+yn0+1iT1bv1BsJUA0uwSoWYItqxDDQW/q1N6tNrerii2NrBJ\nbmyaDlhDVoWkdevN98jp7ebsfeJH3xxbQQbkPBMVbZzbUwBVjYayQ3DwA7xO\not/JufxWzt5LUK6EYkJxoEWeX8RyetGnSECUkmvnx132J1VNVgvXXyaNa1g1\nyIZ6zrZRZ8dMcZHFNadU0y38u5Xkhbezv7s8Cpo5CWWXUP5FI6HuE63RpBMj\nqKxSEB5x8rsTwiEjy3+rcbadBYbcuz/uKdDfNBwVce4sXyyFLV8XUTn+irU7\nV0IxtN9JmO4sgh0w3jWftaWXwli2niXSue5NAd1fD/0Agv83Xx3W10iHNLvQ\nIi391rtrPF8L1gd491z/kqS+dqnMGgqoePkNdX40YSlagKT+A7oLGAAC9tb6\n1TlxniI4JaOwh7AiZth5w18KX3zT8vy6RDDgFykG3R/QyNkaFZqCDkS+k4C9\nQY1E6/xL1yRwDtBxBviE85NH2quuL0VVM9p0tQbztbn4Pf4gqtm4QXc2Agxw\nOrUJKWn3HdmzKCCjOAPyxfNE2OjNvt5m9fnfgocfsT3hF28VLckuBNTzBTbf\neoOx\r\n=7GD4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCCLSuD3EVu+CIOZA2oBFqGxjAAK2dRdzeujp/s8KmjRgIgKDRrrCrApebgMbl80j4Jx2Kdpj4/gbkaLVAMLqF/XWk="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.15.6_1562912614520_0.81517887805272"},"_hasShrinkwrap":false},"0.15.7":{"name":"flash-store","version":"0.15.7","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc --module esnext --moduleResolution node","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"npm run lint:es && npm run clean && tsc --noEmit","lint:es":"eslint 'src/**/*.ts' 'tests/**/*.ts' --ignore-pattern tests/fixtures/","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","rimraf":"^2.6.2","snap-db":"^1.1.2","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.6.8","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^12.0.1","@types/rimraf":"^2.0.2","@types/semver":"^6.0.0","@types/sinon":"^7.0.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","pkg-jq":"^0.2.2","rollup":"^1.0.0","rollup-plugin-json":"^4.0.0","shx":"^0.3.2","sinon":"^7.1.1","sinon-test":"^2.1.1","ts-node":"^8.0.3","tslint":"^5.10.0","typescript":"^3.0.1","tstest":"^0.4.2"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"f1cce3d12bb1f744e4098757dcc33c17a8f57a35","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/huan/flash-store.svg?branch=master)](https://travis-ci.com/huan/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![npm (tag)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) [![Greenkeeper badge](https://badges.greenkeeper.io/huan/flash-store.svg)](https://greenkeeper.io/)\n\nFlashStore is Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## REQUIRES\n\n1. Node.js v10 or above\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/**\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.15 master 2019\n\n### v0.14 May 2019\n\n1. Switch from LevelDB to RocksDB [#34](https://github.com/huan/flash-store/issues/34)\n\n### v0.12 Jan 2019\n\n1. Use [level-down](https://github.com/level/leveldown) as backend to skip the compiling when install.\n1. Using leveldb official typings from `@types/`\n\n### v0.7 Aug 2018\n\n1. Use [nosql-leveldb](https://github.com/snowyu/node-nosql-leveldb) as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## FAQ\n\n### Q: What's the difference between the `flash-store` and `memory-card`?\n\nShort answer:\n1. `flash-store` is for save data to local flesystem.\n1. `memory-card` is for save data to a distributed network storage, it can be serilized/deserilized safely by design.\n\nLong answer:\n\n`flash-store` and `memory-card` are all built by @huan, and they are all follow the ES6 Map API.\n\n`flash-store` is using a no-sql local file database to maximum the performance, it can be used as a local database, or a local cache for whatever you want to catch from a network database.\n\n`memory-card` is using a local file to store data in JSON format by default, however, it supports more distributed methods. Learn more from it's repository at [here](https://github.com/huan/memory-card)\n\n## AUTHOR\n\n[Huan LI (李卓桓)](http://linkedin.com/in/zixia) \\<zixia@zixia.net\\>\n\n[![Profile of Huan LI (李卓桓) on StackOverflow](https://stackexchange.com/users/flair/265499.png)](https://stackexchange.com/users/265499)\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017-2019 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.15.7","_nodeVersion":"10.16.2","_npmVersion":"6.9.0","dist":{"integrity":"sha512-A03QEHh7Z0mCblgxY5UJsJLZLXS3XKDJoLblPkgNH7m8Gnd8YTIykw1R+dEWFzBunDyuIIOpYEyhFJf7NcB0tA==","shasum":"4a92a832c270e0cecf5f5aab0c492d46e72151c1","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.15.7.tgz","fileCount":56,"unpackedSize":206969,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVUDICRA9TVsSAnZWagAAaCUQAJdmDVWuw/i65scx2hax\nJ9AuZf+BuEaj9KeWfT5T5bcRgF3jFP+xBQiuvhQCWNqFBU8c+Xyn0BsIlu5m\ntOOazT/y3B7I10v3b2oBwXfLfKex0A0bht1VlIDu1SxAsO7uujPvFxm+XsFT\nqjh4Ik2NMjqESQgKsykkHic/bi/CgI5/CyvJmdkNN2Em3KwgewKJeFYXqBfy\nHrg8Y6VzcO+KHFdk8S152YPsB8GSMfzS0M03d7qbBkZl3u0sSmWuFh7cTzCi\nQuCwFNLtqAliq9r4occPqTpHWcnucKZPGd+0jeo58e5KFSLWy6bYGeA3LANC\nsJpt8Ib4sKhpLtmFd5+xhzj9ZmnnsVTgQiCYbobvdM1Vt8LstQgvIWA4NfLf\nchFNNtMoSGRyN+zvnCQTgT9QAqO3EhEZexJnriuG9P3lv18MqyfwLjyrT4S0\nMRuiaaTUxiq6ZJ18KlOV6yueEm+SelRvPFoujQHu+3FCwB4H+7ZnyjWPHRuC\nH4aLyrzPezRWeq6jpBLHPDf9Wpqh7PZi4pM68I56KJFwpk+HCLniWCh1cxot\nJU+RTq1RlzCP7BCTk86AXIdrhpoNUY34/L4tLKKSm1jp2KQz1HoDroOSdbWm\n9IM9uFKI4IqhHeIGR0RoaSt/EN2hoKcRp6tTupkxLEzCiiwLpVZfZ1fJntbK\ntpNt\r\n=z4hj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEnyPj9gJM7WPHD68Y5wo6SMgEG/9KSUXyUEs9yDMpcdAiEAzMJL6Z77056T3NsCgUXFkglbcfnaVkr2JruJkD+Y1GY="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.15.7_1565868232057_0.35163617019063054"},"_hasShrinkwrap":false},"0.16.1":{"name":"flash-store","version":"0.16.1","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc --module esnext --moduleResolution node","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"npm run lint:es && npm run clean && tsc --noEmit","lint:es":"eslint 'src/**/*.ts' 'tests/**/*.ts' --ignore-pattern tests/fixtures/","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","rimraf":"^2.6.2","snap-db":"^1.1.2","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.6.8","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^12.0.1","@types/rimraf":"^2.0.2","@types/semver":"^6.0.0","@types/sinon":"^7.0.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","pkg-jq":"^0.2.2","rollup":"^1.0.0","rollup-plugin-json":"^4.0.0","shx":"^0.3.2","sinon":"^7.1.1","sinon-test":"^2.1.1","ts-node":"^8.0.3","tslint":"^5.10.0","typescript":"^3.0.1","tstest":"^0.4.2"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"04f323204e2c09ac93c33d72d7938a7aed76621a","_id":"flash-store@0.16.1","_nodeVersion":"10.16.2","_npmVersion":"6.9.0","dist":{"integrity":"sha512-UPfh+lb8D7znuPnLg9tenx8WdQo9wg57BrxBFAWDzTIwFywcuGH2uzHk+bNOfcKjaoiTWiajAaruA6EnyzgvDQ==","shasum":"a45cfd11e7ae8253fdfb91812408bd9c79ea8205","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.16.1.tgz","fileCount":56,"unpackedSize":207337,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVUUDCRA9TVsSAnZWagAA2DIQAJEbIGYhSeGqCmNv3IJI\nsmenYf+ulYzIi04txGe0gk9twE3BPSCmt0djSzi8iCpA/L3QfNuh5hrJ7bYw\nDzgq02FEC9KPoRy2hfRFclkpsms+9eGv3cRp1qwVo1+Zh04Wjad3JRRKgdL5\nbsUNAOQG//aYVYJOir9W/9H3I41C2AkwinUDfw4K5DWf+JhGWi1BhZx3/aUu\npMqKQrulcqgWdmteapwT/jM1pLyADs8LQMxotgNWrnWAgOqYfYtxP3YvS9jj\nwkIzwHXXuervQgRMCydiciwVCLBdKccI3b/dlObURDyhSzBFAMepXsqg//AV\nZcioqE3RUIXcqqRsp8yR5ISuY1A2nljzG76WZ4CpwY4YtwK1wXfrDdEnPbf3\nah3xbxIo+EtcMEhuEbtJrWgcRcuOWSYuiKTY8uA1p0uxc81ccRcs7lT+P413\nfWNeK9TqIzE5VRo6YX4BS+szQYXycgvI64BrKx1r4OauV2AeYlZt6tyAucaI\na/3N7iF2+9Xyfd0tDzPhO0SYmudHUWkeB0xa9tF0/Iw3jotinyCL18o9n8Bu\n5gQCMmHG4G2PXgqwg7CmydI+sB8metyy25sjMPwZdw9HV3W3ghywgymHhru+\nAN+NBLSEVpDEwX9jWpvHThHmX+vrncqeULxV199E4nU6yOuetWiELWRkN5ZK\n50qg\r\n=qUr4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCgWKv0ej7w/fYEb+C61r+PViXBX19xX5n0/zEqydT2IwIgMZgzwWPz8x4fQDjNxE1NhYh4WdYODmF97Cnsc8U+8Mg="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.16.1_1565869315228_0.9859766422473191"},"_hasShrinkwrap":false},"0.16.2":{"name":"flash-store","version":"0.16.2","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc --module esnext --moduleResolution node","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"npm run lint:es && npm run clean && tsc --noEmit","lint:es":"eslint 'src/**/*.ts' 'tests/**/*.ts' --ignore-pattern tests/fixtures/","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","rimraf":"^2.6.2","snap-db":"^1.1.2","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.6.8","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^12.0.1","@types/rimraf":"^2.0.2","@types/semver":"^6.0.0","@types/sinon":"^7.0.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","pkg-jq":"^0.2.2","rollup":"^1.0.0","rollup-plugin-json":"^4.0.0","shx":"^0.3.2","sinon":"^7.1.1","sinon-test":"^2.1.1","ts-node":"^8.0.3","tslint":"^5.10.0","typescript":"^3.0.1","tstest":"^0.4.2"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"dcc4788151f8399015c1709ab00e4963a85d845b","_id":"flash-store@0.16.2","_nodeVersion":"10.16.2","_npmVersion":"6.9.0","dist":{"integrity":"sha512-mR3Oh9zRHogCSIdk+f+hnyMtF7Uulr80vnsK6FhHjLqzs5TsQobuEyWwEHoG7Tn7MHrgqoppLdhj8w1g1tXnqA==","shasum":"56c51046778f5537f5fd381fe866614929d4fb56","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.16.2.tgz","fileCount":56,"unpackedSize":207329,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVUWvCRA9TVsSAnZWagAARPEP/jn+/5m5WQx8Pzr46H9i\nMms0umsa8KnrokMfgZAJA/vLO2kCGrVsyZqasrOvkuNkSULTjyoabtUZL2Yz\nHI4Zta4LbcQISyGnPANmczkkOi/vVP+Y5aRgMVzIKh5Z51OI6Cjxby8S/p3c\nE+0iIGBCZR95/fz2dlp0TwZOVsoWs6lnH1tgC0XzUtO7NIn8oXH0RqXSl6p5\nGqRIi9KkX6ey3Kb0jkHXlD7Gr6InxUqw4OPPsfykkG5wp7J0xxik7Gul8XPV\n8UOvmTS2IPnc7chGV4vH9OjRgMHVDsYCoPZ82XAFx68J54vGwGt4R9mZ7wXA\nFZwoK/GN4pkqaXD/7fWxrgGJwB7nGJGerSrLoGDW6K9shQ4v9zQwqcd/o5kT\nUgfOtc9wRaIiamVVtFPE/XkuTbNGbmaA+2kVRya+CmAaODZC6a+TFfl4Wi3A\nmkIw7T8yvg6QVjAzR+258GKYewJZVB0uM9vvcyvlO48bYOAwDRwl2eL54Avt\nrcd8Dlt5ehSIIvFrdtiZQ4JMB57MEN/lj5m3c/i6Uu1xJ+zpAqXz9TYyWvw4\nVjgoNpMOmFLyo7+BlYh1cfQ22sZkFaCysmEROxUyCz3PcYDRGpGaKrxW1sGM\n8zRtX7naMu3RI0YYMa4yD82xPBvJpd8yt3JmhmQD2gqk59FbBKTMvoN1pUF0\n6LzG\r\n=EEPN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBHc7ZfnhrQz6ftqUhYih6c27zg5uupkq48vIvqKSm0dAiBmrw/qT7Sh/N8ZK+opQ1GbzxubbI/lSzdR5JclQEHUMA=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.16.2_1565869486977_0.6947735827811188"},"_hasShrinkwrap":false},"0.16.3":{"name":"flash-store","version":"0.16.3","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc --module esnext --moduleResolution node","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"npm run lint:es && npm run clean && tsc --noEmit","lint:es":"eslint 'src/**/*.ts' 'tests/**/*.ts' --ignore-pattern tests/fixtures/","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","rimraf":"^2.6.2","snap-db":"^1.1.2","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.6.8","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^12.0.1","@types/rimraf":"^2.0.2","@types/semver":"^6.0.0","@types/sinon":"^7.0.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","pkg-jq":"^0.2.2","rollup":"^1.0.0","rollup-plugin-json":"^4.0.0","shx":"^0.3.2","sinon":"^7.1.1","sinon-test":"^2.1.1","ts-node":"^8.0.3","tslint":"^5.10.0","typescript":"^3.0.1","tstest":"^0.4.2"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"98f917a80fb9772c478749cd3812354aad05cb2e","_id":"flash-store@0.16.3","_nodeVersion":"10.16.2","_npmVersion":"6.9.0","dist":{"integrity":"sha512-BtVw5N5hmxotjSZJS1JyBCP/qRjUFt6kYoIFKmsMQM+DN038bRDCkWzzOmf7f9SgTII6g0b1NZMtX2KdB5uDRQ==","shasum":"149a3ed4bce748c185edf0e41523ab06d015ce56","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.16.3.tgz","fileCount":56,"unpackedSize":207248,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVUZ/CRA9TVsSAnZWagAAsssQAIzXpVwAHFT5jXUlyF7v\nTNVdbkGTxVcBq8UCrsGa5GbPHlCGGYFs9J3ZoMz4QJ03le5NCNwUT004L+c+\nEEFZOHm0c1VD+eyACqNnUuUPREDcbs/5RhwI3SYXSvWkcjjIZmQX/vZbsGbv\ngII/3rpyTqHX7S7lLoE/8Vrz203uCAhoM8YtBmE5oX+189CVv3ej0HBvJo+q\nsCOYhvVjdGacxxK/enTi0Qk8Zaahsa06BCKf47VoyezTjjMhIZ0EFjbGRnXt\n54CBTMc9V8U11lPAommpBOUpkRIPGvy3mkFIMW6ZulDjxQXPn961TJjA/lv4\nylq5TVGtWaFtmy+1F8+G2HZCaanichS2YepR46nJWvfizfJPRA+MVCPc4MTA\noqqhau2tiZ+D9OwpSVRNQ6VQ4mTC5CQBleiuFGkPbBmge6fd65sVUXvLC2TJ\n2EKu9AhK2xOgjNgMNq/6LtpZt/orjqnkkAf7IS3TwBDoSO+7odeq8GVNeWMn\npF7b4XEGobUACqVvdGDUScNz4VU6Vk4lpC7XsO7+L86vJ+Rni9trKcrJTt4w\n3Nehd/k78rK/rMJtcTpqzJrg5o0JspjJ+/TDbZIE7KxVtzSTOj9eav/YL/Fx\nEbTvBIhi8gm1W1tVN8+uwfR+GqqTpSIQeA1pzU+2/rP0aqgypvAj1xTFQQcE\nD39/\r\n=c5N3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMEz9jrHVd260Qp131EpNGl9sH+tDhhQ2LEjyMwWxRmQIhAJPRc908b7S7GTrc6s/ecG+rX0A31GXk9CIVThCeRH/2"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.16.3_1565869695075_0.25029147368635996"},"_hasShrinkwrap":false},"0.16.4":{"name":"flash-store","version":"0.16.4","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc --module esnext --moduleResolution node","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"npm run lint:es && npm run clean && tsc --noEmit","lint:es":"eslint 'src/**/*.ts' 'tests/**/*.ts' --ignore-pattern tests/fixtures/","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","rimraf":"^2.6.2","snap-db":"^1.1.2","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.6.8","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^12.0.1","@types/rimraf":"^2.0.2","@types/semver":"^6.0.0","@types/sinon":"^7.0.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","pkg-jq":"^0.2.2","rollup":"^1.0.0","rollup-plugin-json":"^4.0.0","shx":"^0.3.2","sinon":"^7.1.1","sinon-test":"^2.1.1","ts-node":"^8.0.3","tslint":"^5.10.0","typescript":"^3.0.1","tstest":"^0.4.2"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"958ce8f6a71b32e2dc8c31abc4429acbaa8cf291","_id":"flash-store@0.16.4","_nodeVersion":"12.8.0","_npmVersion":"6.10.2","dist":{"integrity":"sha512-O2BjvqPoIFpFzzbszNCX5X+j6deRTe9YjDQ2EHcmxnVkWrHaqvdkrLyCsRCA9oKc86VgCuRq/AUEtt8hzruO+Q==","shasum":"1a2da86cb23a5b3ed7a6e90bfd1cc7d5f7cfce39","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.16.4.tgz","fileCount":56,"unpackedSize":207248,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVUc2CRA9TVsSAnZWagAAxDkQAKAmV0pZc1Q9KviE2z1f\nmSitmQ5TL5yG3ODuPsbh+6Rq+5Wgq4Bux0rX7yecfNvgebeLBev/bBIpWqGR\nzhEXGIgvENlM1QPLZVyBojqADycJddhX5m2KqEdtlf658G1XDMMlyZ5c3BNL\nKIdYBvHgrTTuB7v10JjKk9BRthXJV+kobqbX4j+wYl1785WsiukM60aiOguO\nP32Qi8irXLZI2usqe9k1mkxh7YmdFPOpBGaJib4ZYBlXwdV9UXeFa9/XtpBy\n901y560/qJ9tn0a8jWSw0gnor+13gbO0p0zQkZxmhpUo8AmHW0GHG6GS29b1\nZ9FC+W4b9SRFVFhODJCEWDI0Ul/5IeibUTWs/ZFZYAs7Npa8emTjLKmuUABx\nWvSUV860GKI2s2h8UnPODC8/nlfR4UKnDjRRYsY1AI+muXZylyPn4VwCSoFM\nNotCVY2KWgDSkwTeZjHhkJaAT/WOYlVULjAU/Cty8lJ3qfgvVnXRcMqsU0Cy\nRYuzf3+Ie/U0mLsrZdhIPHCjW5+dseGN5N4HxHeEW8hefgdk6kwyU50O0mKU\nBlegZMvRiJ26lOYamGmJZz+qubJHuumdwkrEGwMjJApthaFj6JgE5Ud3Mhn6\nAyzefv1QbBE5DUryx04Cm8L+QFSCwVuwnKsCRpfr/Pua5HvOWy+ALLQqrQoO\naF91\r\n=2ur0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCS7cSTeM5QtkI96Dpu4gEhyIdEQ8RQWhJj1lT1Lbu4lQIgGf290DzKoRe8mr+IFFaIfOfV+RtENLZFE0WURbmeJuQ="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.16.4_1565869877501_0.3745797227447587"},"_hasShrinkwrap":false},"0.16.5":{"name":"flash-store","version":"0.16.5","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc --module esnext --moduleResolution node","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"npm run lint:es && npm run clean && tsc --noEmit","lint:es":"eslint 'src/**/*.ts' 'tests/**/*.ts' --ignore-pattern tests/fixtures/","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","rimraf":"^2.6.2","snap-db":"^1.1.2","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.6.8","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^12.0.1","@types/rimraf":"^2.0.2","@types/semver":"^6.0.0","@types/sinon":"^7.0.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","pkg-jq":"^0.2.2","rollup":"^1.0.0","rollup-plugin-json":"^4.0.0","shx":"^0.3.2","sinon":"^7.1.1","sinon-test":"^2.1.1","ts-node":"^8.0.3","tslint":"^5.10.0","typescript":"^3.0.1","tstest":"^0.4.2"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"798530b4567fb51a3d895cde38fda80894e2d59e","_id":"flash-store@0.16.5","_nodeVersion":"12.8.0","_npmVersion":"6.10.2","dist":{"integrity":"sha512-po4P48xSJXTF0Jb6uH3dx/ZG6+sXwdzu2/lQ+jqxsZQiEpUX36VdqXtL6toMzUsnaorYCND2DgNX//mJMcSeog==","shasum":"74a1256123b3ba9a8a65e2bb010b0074b9b4f0c2","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.16.5.tgz","fileCount":56,"unpackedSize":207484,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVUnVCRA9TVsSAnZWagAAtB0P/jI4Ce9fLw6zzEUDdexH\naMkNtK4Z2l0XjAz+68IUY8zXmrSwFSQjPJFJJkXKVk0ZNDaDW1IPJLRGGt3F\n1qe6CReo6stsw/qdsa+6KNZrgj9lUap90j2UPEdko2iDzbv4dMk5Y4OwFqPn\nJDeNC7NBOd440TyIUZYG3FjqZ2dNBvsDE63iSVPFZifo4x0OCNKHef2sMolS\nEI1nGxNZmqEcyaWgnQnvFGrRKUELN2XEeVef6BfUUaydCGJupOQZaEQmGO/R\n8X1SQJ9192bauiIDNPH3YCysuGKapHRSB8bLIOW8XDMnNkfFgCvMJCQrNXIZ\nV/lykfpe2qD23A4ver4URAiHGEjzk0VZs/56wxE0thfRdIE+tB3lFzPBkfXW\nR2LbT6/7y6g6BpQJhxHK1u76YHwQYxXCOW0+iXe9Laqavac+GJ5f0u6sdJ+T\nX+RONf6Rh+HGgC40jD3BrvmoRFUtxGbX77QGP53wCRqT7j8hkUImhIFHwBM4\nlIsHBxN+BpEcyvM7BQ2fvf4GhQwYx9KiZa1kck4BNwHqBihC/+OexS+WrTjl\nXlrSJ68lO1ZTcj+V9smllS1ZkNRb19pjvAJp/f+oQMcO6MJ8fzLu47yvKGvM\n/RlYVqnEr93LxtVLruGfuE1xQX4ps7f2GcJp3xz2tMeNnqCXNRfhuLqk/vEo\n69WK\r\n=rc5/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDUBM6yJJUNQ8qiULqD1N8lY+Luhz2zDCSQYZi6IprGyAiEArmlJ2zipM6q4/I2J9Ro7kl+EkbnXYFC8V+HgHmO3FOs="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.16.5_1565870549119_0.560949896297416"},"_hasShrinkwrap":false},"0.16.6":{"name":"flash-store","version":"0.16.6","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc --module esnext --moduleResolution node","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"npm run lint:es && npm run clean && tsc --noEmit","lint:es":"eslint 'src/**/*.ts' 'tests/**/*.ts' --ignore-pattern tests/fixtures/","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^2.0.1","brolog":"^1.2.6","cuid":"^2.1.1","rimraf":"^3.0.0","snap-db":"^1.1.5","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.8.1","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^12.0.1","@types/rimraf":"^2.0.2","@types/semver":"^6.0.0","@types/sinon":"^7.0.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","pkg-jq":"^0.2.2","rollup":"^1.0.0","rollup-plugin-json":"^4.0.0","shx":"^0.3.2","sinon":"^7.1.1","sinon-test":"^2.1.1","ts-node":"^8.0.3","tslint":"^5.10.0","typescript":"^3.0.1","tstest":"^0.4.2"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"79f5e3b5ce3e82d32fe0b5de0f0d40614d07604b","_id":"flash-store@0.16.6","_nodeVersion":"12.8.1","_npmVersion":"6.10.2","dist":{"integrity":"sha512-+dOF79hknbC1KSpqJJ0hMjin7jlMFNDEzLzdYx+WSSHoeDkC+9ycyLFOSYfeofz/FrjXuwWGtG0nZR6aZlVISA==","shasum":"ccc12f7d00b6ca5ca3adc90309cf970ee360fb4f","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.16.6.tgz","fileCount":56,"unpackedSize":203039,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdWkRSCRA9TVsSAnZWagAAOVIP/A0Ng8Up3kDpvR9M5agn\n4VD6Zaxkg4yS7jEKHLFSlw+RNdbk6Pk4V8q0mw3EcKBmVGAnelLMZUUQoRpP\nNqrtmDC6GehY6QgW/itTFC/oSvcm3aWlEw7hbYBdne40sEsYXBu7Ca+hbC73\n7ia62qoAFjmB66IxWsDNbsTNmUIfZvGycFYgWIlK9ecef5lcp7poX5BIpH+8\nJhqFcNiGUlfCiOFbuCqybSDIUkZDHDPS6+LY7dcgiy3ZXq9hpbeBgNmjzeNX\nuJMF3+OBq86VrFxVNKZSDzvQEfT/D8gY8elA3dJCwGPVr3iE8pkDNbVf9Qvm\nrv7VQ6VpTFa8W58pcjm+uA2neRyReq2x62KTYhnYdagiKrhMpMRxqByOi/BP\nJ4VTveAFNfSG8K1todQWR40xWhfea0ha33LyCzZtRMiUrtPKajJRKrUPTNZQ\n69djBBgjK1ia5ohhqTpOzaqb9C6+dnZP0m2sMMtZdYuZ5KwGfsqgdgj7gawX\n4R9eAqF0yZSOJf8vgN8iEXm/lGlCIC7J3G2tCShMkE/x4XndU3ndBNfSsZJX\neRdqaVqVV0w1iN+kgt0Xy26gevEQWauKzkB4Lm/KOVQ9bERPzHyN/zcy4Dpr\nGvcwsfNYc3NvIFdRUdVdgXTlnYNE6RH3d34g8rWhG2BuA6LoYWW5bLcUwNiZ\nxULE\r\n=4IfJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDtQs3HvZSubmRv/qum+K8b+nPnnRIBNL/39mivQAkFPAIgYR1Zt0KQGPU5u2aJhmFZiQFsTMa83QsYvxaiof30TwU="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.16.6_1566196818073_0.31862280420092337"},"_hasShrinkwrap":false},"0.16.11":{"name":"flash-store","version":"0.16.11","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc --module esnext --moduleResolution node","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"npm run lint:es && npm run clean && tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","brolog":"^1.2.6","cuid":"^2.1.1","rimraf":"^3.0.0","snap-db":"^1.1.6","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.8.1","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^13.5.1","@types/rimraf":"^2.0.2","@types/sinon":"^7.5.0","@types/semver":"^7.1.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","pkg-jq":"^0.2.2","rollup":"^1.30.1","@rollup/plugin-json":"^4.0.2","shx":"^0.3.2","sinon":"^8.0.0","sinon-test":"^2.1.1","ts-node":"^8.4.1","tslint":"^5.10.0","typescript":"^3.0.1","tstest":"^0.4.9"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by RocksDB](https://img.shields.io/badge/Powered%20By-RocksDB-green.svg)](https://rocksdb.org/)\n[![Powered by SnapDB](https://img.shields.io/badge/Powered%20By-SnapDB-green.svg)](https://www.npmjs.com/package/snap-db)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/huan/flash-store.svg?branch=master)](https://travis-ci.com/huan/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![npm (tag)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) [![Greenkeeper badge](https://badges.greenkeeper.io/huan/flash-store.svg)](https://greenkeeper.io/)\n\nFlashStore is Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## REQUIRES\n\n1. Node.js v10 or above\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.set(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/**\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n1. You get a sync API at the cost of all your data have to be kept in memory.\n1. The data will be async writting back to disk for persistant storage in background.\n1. The performance of `FlashStoreSync` can be expected high because it's all in memory.\n\n## DOCUMENT\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.17 master 2019\n\n### v0.16 May 2019 - SnapDB as Backend\n\n1. Switch from RocksDB to [SnapDB](https://github.com/ClickSimply/snap-db) [#45](https://github.com/huan/flash-store/issues/45)\n\n### v0.14 May 2019 - RocksDB as Backend\n\n1. Switch from LevelDB to [RocksDB](https://www.npmjs.com/package/rocksdb) [#34](https://github.com/huan/flash-store/issues/34)\n\n### v0.12 Jan 2019 - LevelDB as Backend\n\n1. Use [LevelDB](https://github.com/level/leveldown) as backend to skip the compiling when install.\n1. Using leveldb official typings from `@types/`\n\n### v0.7 Aug 2018 - Nosql-LevelDB as Backend\n\n1. Use [nosql-leveldb](https://github.com/snowyu/node-nosql-leveldb) as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## FAQ\n\n### Q: What's the difference between the `flash-store` and `memory-card`?\n\nShort answer:\n\n1. `flash-store` is for save data to local flesystem.\n1. `memory-card` is for save data to a distributed network storage, it can be serilized/deserilized safely by design.\n\nLong answer:\n\n`flash-store` and `memory-card` are all built by @huan, and they are all follow the ES6 Map API.\n\n`flash-store` is using a no-sql local file database to maximum the performance, it can be used as a local database, or a local cache for whatever you want to catch from a network database.\n\n`memory-card` is using a local file to store data in JSON format by default, however, it supports more distributed methods. Learn more from it's repository at [here](https://github.com/huan/memory-card)\n\n## AUTHOR\n\n[Huan LI](https://github.com/huan) ([李卓桓](http://linkedin.com/in/zixia)) zixia@zixia.net\n\n[![Profile of Huan LI (李卓桓) on StackOverflow](https://stackexchange.com/users/flair/265499.png)](https://stackexchange.com/users/265499)\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017-now Huan (李卓桓) \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","gitHead":"724d9b3af4631e93da7c46fb48f77362b703cddf","_id":"flash-store@0.16.11","_nodeVersion":"10.15.2","_npmVersion":"6.11.1","dist":{"integrity":"sha512-cnr2ec6ogAO0sANflkh69U9R3KXdckiw4OlD/L30Ik5VlopKPAaoiRw2ATnZCRiNt9t2XcF1pl0x6tLnWm/6AQ==","shasum":"80b236bd5d862d275a534fd0940309e7903f54b6","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.16.11.tgz","fileCount":61,"unpackedSize":211125,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOoyuCRA9TVsSAnZWagAAHvMP/0LdPh462/lAbfJ9xoO1\ntX93kGRaRoynOJg9y1iHCwBt3piPf0yuRNby7U8msk7I3SzNkP96SkxGPbIv\nDxElNrMCeIoPzRdj1kFCIb6uwUxizwT4AqyRTrD4ZbAbMlF6uNavyJ20Qi5/\nvbuYOvp06WVr2DF1ZuC76GNrLBu2ALxYWpo+irLqg55OjmFP15uYb9MDoOzu\n9tbZ8r/rWQskkVGyRz4vN7rlydC34Wm6l9AwSQrfLRzrABgF4w2YyJRCB46b\n5jQbC5zopPkSZxRp24oran2nII3w3rYKOuJ50T8Qu36P837eUD8sY9yJF13U\nF1Ag+xKsekvaoJ52Ki38jSp60dd9BVMBqZ0DZrgvDhgSCexRPL/GRtLO9HxT\naiRlpc28cZiE0mMFD1XgIE0oqrsrh5A78F9XQUAGVNohD0Od4SLxSHvGU1YL\nkxVF1LgDuABFx2xnnRJCkOTkNZajLMQ4bJ8qsuVPTxMpqtVn14a+1BIJlOCA\nlwsksaSYthqVwMKQ1L9n/HAm911kQ75OM9T59cyITcWBH1mWpSMsk5Zcc8CJ\nILowKH7HpaGNclQ0FJR0C6/vWBxEcpSt8dsW6iyWSFd29uRFAb3zC1V5FmuI\nQ4XF4UdxpV4jW5ycBSp5In8froGIoUsmRktfIxZtz8JYmyyyfF/s0s7P67j0\nvtcR\r\n=rs7V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCuqKY0OK3CLNUpYW3lKWyRtBwfhQ0gPsUOgB0oJFfnvQIgL5lS32C9kPS5qV6lfDtrX9eBqHy23CZwivktIEFUk5Q="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.16.11_1580895406356_0.48097554827740185"},"_hasShrinkwrap":false},"0.16.13":{"name":"flash-store","version":"0.16.13","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc --module esnext --moduleResolution node","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"npm run lint:es && npm run clean && tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","brolog":"^1.2.6","cuid":"^2.1.1","rimraf":"^3.0.0","snap-db":"^1.1.6","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.8.1","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^13.5.1","@types/rimraf":"^2.0.2","@types/sinon":"^7.5.0","@types/semver":"^7.1.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","pkg-jq":"^0.2.2","rollup":"^1.30.1","@rollup/plugin-json":"^4.0.2","shx":"^0.3.2","sinon":"^8.0.0","sinon-test":"^2.1.1","ts-node":"^8.4.1","tslint":"^5.10.0","typescript":"^3.0.1","tstest":"^0.4.9"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"6982bda4cb9b5cd05f4281916549f446a19c864f","_id":"flash-store@0.16.13","_nodeVersion":"13.7.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-/Yvr/do7suTWcolh5CMC/HQREpSjHsfro2sux6QLm4R5qAkf8jzuNZPNV6MR+bBSYjXZeksSh22xWvVdfRM0cA==","shasum":"25ad0a5edf35ef93bac29025c496500ed3299386","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.16.13.tgz","fileCount":56,"unpackedSize":206495,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOrQZCRA9TVsSAnZWagAAbdAP/2p+cHGAuH0afQEoCATp\neVevEvZ/NDQj3EFHDuPz//S/zad72TwCKSd89bUSBQOCEPJa6vmfdIgLKjId\nFUjNZCA/prHU8lt8m4gN7uFJvLwAlRlyK2l7KfxdLG4OO0lh/X7bLzD6v6L9\nRS6weCtAgiyXWt0P8fFWosTvxm7LNgMT5OjvrlYOh74BtrBRNI3Dt77FwR0q\niadwtHdRIK+/GYv+l6ITHWqcYCDGopUyFVzhNCJRkAZiyYX0GL34eTEevoIU\nlP+kWKx2rvcU91rcVXubDyPC1sq5ErVak5a9mRI1nWqNzMQF4qRHnlAzGq+D\nq+dh6YU0aSMUwvWEvumm3v+w8pG0DokqbHbu180467JITfyjmlqlu39zkX/G\n5sDUbSIUst44TANXerbjWCdWfJ1cQiZEIt0cJ2PRCB08my3vzKgXvwVm5+hL\nu5siUiP5+ok5LxayVEiw5VR2QeQaoSubGEh1MMhTCf0AOAXPPhpSqAJUYx28\nk6KW7XH1K0rxoieZxeSXCzOpc6tdNyfkqSFqjsdsFYwKDdUySf2c2KFeWLJD\nt1CRs3nwuEvG8xRVo3nRfhsCxPcncv+uuoR5FFgwDY+mraLt5tzkbFV5IAMy\nu15aLAVw18Ib8dwLVSKPDZPb2fniJ+SP0ZN4nN6SsCGtgWcux/FW6EtQ25cm\nKgxV\r\n=cI7E\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICYf8EAmOib9iw/4KxknUxwgMANfzA6dIK99cy5cKVcYAiBBqwGM9Z5DxOKn5AVTsTkXRiWuIeYJhao5i4sz1JIJyw=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.16.13_1580905497101_0.1671075282826262"},"_hasShrinkwrap":false},"0.16.14":{"name":"flash-store","version":"0.16.14","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/index.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","brolog":"^1.2.6","cuid":"^2.1.1","rimraf":"^3.0.0","snap-db":"^1.1.6","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.8.1","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.31","@types/node":"^13.5.1","@types/rimraf":"^2.0.2","@types/sinon":"^7.5.0","@types/semver":"^7.1.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","pkg-jq":"^0.2.2","shx":"^0.3.2","sinon":"^8.0.0","sinon-test":"^2.1.1","ts-node":"^8.4.1","tslint":"^5.10.0","typescript":"^3.0.1","tstest":"^0.4.9"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"fde41baca0ec9918edd8dbfb98b1502201fc441c","_id":"flash-store@0.16.14","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-EgmPgPX68/Qc/llE8JDqVTmt9itYAWDTMvCWf8iCyx6yyagvfbJm6B/Et28vrV+ExAuCQ+Lyqnsi9/a7GvjXPg==","shasum":"e8c93900acbe037a7be28fd2e24dcf5026e9e5ef","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.16.14.tgz","fileCount":53,"unpackedSize":120640,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeO500CRA9TVsSAnZWagAAmdYP/2fqp16+n0dYqZfJqz0y\nDXjeGfwnGAlhGYRHdp1A+a+DN9Z0JhaIYrHANBF2gBiOo0DqMF8v0++hoZyi\nN8V8VEgKCSC3Sn+hVLIfiYqNdMFeLkNGXmo1wOLkDbq0LIHJ2kHtPK8/5wvY\nOkBgmpsh/cDWz0tbuq92O3NK5VxYqPXaXAuYjp0si9AZ/k98/ib5YohVBM/R\nA1wE6tV/yCc+BRzfqdHOhxOZcVQLc3eU59Gdxwim5Yf9K8meNg8nLz/y5fZB\n3RdU44f+Fs/uahyJY8Or20rsLJGu9zF1W50j0vkWacyWqir/nbLuKMTiNBjG\nbkeF3zMtNHg+JkvzYtfI2BUe0GIXWZZJj/23SFfmvw5MQTuOXsXTkqZf1ZWs\n/pmEXFNzK+fjY2WiKkMSzjBMS8aj8recImMQ/nXFVFGsqXrHNU+50zF4cyVK\nV/ANTO6oG1FuHjsLst4e9z9ZxDGWOvpvZheQLHezedB1NWxMd1LCxjbg8mBI\nSvA+LOV0Fm4E+B0UfE9Nq0hjU9VCXoDqp+YE6M9giHUBcFJrwY9fBnmjgPO3\n3O8fPiMD2M0+hP84XhB4d+pwFJ93errwXVEZcWSxDP3L8mJeE15sFGWpXh0f\nWY1hl83Qdzl0DGdDEj2mei5j4Od7aykyl6qTSxtOjzGS2Y0purmkkqR34RLz\n3y7a\r\n=a6+M\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkV8IGSk3XUCEKUnpZCVa446AZrUxT84UTqrHf8X6uaAIhAPWP+bqSatkxH7rAR3bfDXox3RO/N4gU7F7lX8SokmLM"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.16.14_1580965171832_0.3227777129495586"},"_hasShrinkwrap":false},"0.18.4":{"name":"flash-store","version":"0.18.4","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/index.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.3.0","levelup":"^4.3.2","medeadown":"^1.1.9","rimraf":"^3.0.0","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.8.1","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/encoding-down":"^5.0.0","@types/levelup":"^4.3.0","@types/rimraf":"^2.0.2","pkg-jq":"^0.2.2","shx":"^0.3.2","ts-node":"^8.4.1","tstest":"^0.4.9"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"7a108cadfb267623a4772dde5a3c39d1d0eca9b8","_id":"flash-store@0.18.4","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-kKg+HhxiTlCO+9h7GRHNUgBc5AJxf5TYkEz2cTHr9Zr/q+R/Xmpy2T7H7LuiysU6z1c2iQsucWt5QJH01smzag==","shasum":"2582dadc2072799ab68724025c3dd47a00813b47","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.18.4.tgz","fileCount":53,"unpackedSize":128746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePCTJCRA9TVsSAnZWagAAvE8P/3xTTFungEs4rvLdJOao\nwT0qCH/K6riHrkVzglazzGhbMDZrQOpt9jMDY0VZaFRBFfIE6wgmCEb4qiXL\nmxc7dx3Q8ePrdWPXPOTIbWfYKJmM+Gd0jv4MJYahUBaVzK0mMfey77CcF09Z\nbklt+9PTFRGRuv1AokyO4BI4TDzJsYZ/4M6Yb645wqvQknPdXgq+0KvsIzRz\ni6q7HbKdEsvVs5KOg9zsOFDGpJNm6pJC5MjOP4yBEhixKkOcaC5gk2xF7Jcu\na+qPxeMat7mSHZoXDM24xrPXhYFT+NHMrolHZFndG/4Z9QjfRwBxiLZwPFB3\nYb2medGMNEc9mkqZZ03jXBvoXYGmBb8oBCf1cztX0J/jqHPtUEdKap9/nTMs\nlyclFHRG9QhY4K49efY29A4x/Dwk/UYDew++lVIjzvLGbo/2/v54ze5FbaTa\nCJA7mwAFRht6/r2QugPrX88ZxoNlBMJLuEmwE7tY9OGRMfudO2YZg9cW9AkS\nY/KzgonFuad80mfc7Mt0LXHH8w7GzNrXkIo1fbXFERECO5Dr2k0ftlrKbkVJ\nBXLGqqw275ZszmXgffhVyK/SpeY8AQq+6SY2gxbdXukik8RH051DlHo/zOXL\ngqJFT30ueZt6imwWEnO6gJFnUk0y3GPAGx8PecnyuZ00H7zlEqeXYJJcXvRn\nX3iv\r\n=5aMP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEOhi67AwxNARYDdleQNngHjmkhamw+cNEFcuaRs6ErpAiAW6ywD0r9Bd1NlmK0mlAzT0jObS/NPSAYlg/wqxr5g7w=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.18.4_1580999880847_0.306935351655961"},"_hasShrinkwrap":false},"0.18.6":{"name":"flash-store","version":"0.18.6","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/index.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.3.0","levelup":"^4.3.2","medeadown":"^1.1.9","rimraf":"^3.0.0","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.8.1","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/encoding-down":"^5.0.0","@types/levelup":"^4.3.0","@types/rimraf":"^2.0.2","pkg-jq":"^0.2.2","shx":"^0.3.2","ts-node":"^8.4.1","tstest":"^0.4.9"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"fc692a97ec3ef37591f324b3b06b655a67c53484","_id":"flash-store@0.18.6","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-OhffA+lhdTl974QmkMENSus1B1hzjVYCP2p2ulv9Yzxczx64X5aFMiK8DaSYiqpVw8c/nCsfdCzFPDizJUkbiw==","shasum":"458b12b8335470a1a70ad339246a525289ec81d2","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.18.6.tgz","fileCount":53,"unpackedSize":128756,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePCTaCRA9TVsSAnZWagAAAy4P/1RHElGptOTPnAG2wGDt\nMPP3IblOGIsCGDDqACRc3dCxJIqHJXOjTIyvMjNI8B/XAwJFqqGqhk3qbKKG\nkijSeK7v+3v+qYJOTSRmYjQTEs6CJY9X/BuP2M0csPxRhmESP2WXc4NS/Grf\n3+DvdWA72m70j1MPQDBfumTiIQbgIWxsVerF6cRb1rK4qZmQyMnJ068Y/S0w\nPIndCeGg2lHwFnbTB6sfLLaDnGWJpYw20nJjTX0jyfQtH8oGNfy/o1OJwfTh\ng2N54PW/YRJxLlXb7r8Gata8MTXXLHHtuiegcSZPaDBj6HQp4vdOht/r5JOE\nOAQfN2WbGgt+1YYUI6lLlKnw/HhA2oW1xwOAIuRLym5pKeONWm/pxP0kX8kZ\nzHbEunCcUzwFK/Qw0WL7avGGnYj3xMHiHV3svCaQvmhgLHoSbptJ96vQi25j\nVqWGpuClI8V2uFbQRjImrZfWuS7/jR4roUlS15Oxce2/nKY3XpU8UI0qVImh\n7ULpJp3/BvZfdguLg+MjxqLyRevpqQxNqaapG547onWNZ33ZcQ9gKOwsiFhF\nJphujaMgoxa49VhM3uYOCpSZS3qqPQpAiWZItzJ+jjKOswJeExgIYYtnVMQa\nMpx1b0RQs2axAu3SCmakYPv/JF7K/ERG8jVpOJVs6ZOuIhMqag47liPvduKh\nVVfM\r\n=B/Zt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE0ccYQBkLGid0Ak/kJcLiYUf74qNAbT/jpsemHCfw5nAiB5j7cXo/ahr273AD9Ot2t5cOmyJHRnYoPpCuqowL4CSw=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.18.6_1580999898449_0.33297103711913434"},"_hasShrinkwrap":false},"0.18.7":{"name":"flash-store","version":"0.18.7","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/index.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.3.0","levelup":"^4.3.2","medeadown":"^1.1.9","rimraf":"^3.0.0","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.8.1","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/encoding-down":"^5.0.0","@types/levelup":"^4.3.0","@types/rimraf":"^2.0.2","pkg-jq":"^0.2.2","shx":"^0.3.2","ts-node":"^8.4.1","tstest":"^0.4.9"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"0bf02fe5897f8b1781417dc985fbda8b4b280e58","_id":"flash-store@0.18.7","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-tWc7f+4vp+zphDSDUddKbUkuudmupeUQQQ+Dl7ybAg6aVYeRJe6BKmbm8CUD0ZA8B50XPnVhQtmzij6S//cRIQ==","shasum":"caf6579e8769f5c5bc967627ead74c60d522abb3","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.18.7.tgz","fileCount":53,"unpackedSize":128610,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePCqDCRA9TVsSAnZWagAAeysQAJWIzEGsBiRdsukWxnrC\n2IaS59s7pGyOZU1yEe4V2kyBcuRqwirTRFHB+0ljCidKfn1XWRvVmT9GRxqv\nDPacWT+C8WvS6Bdt//+BYb7wMngW8+5K1s+EkrJYfyC9lRfKjciZ1pKvvYGX\nI1G0Oyvsd/adC7ejTjJqK3zuKefIVqhXGghRJtsoLhHN40LWG7r4KtvmpHQb\nof3ROjM0rt5PpxJ78g/wa9eGLDwMyzmi0WvWSS0f2esg7KmqUxEAUMczDqo3\njUR9BPo5mUBzxkdnSBPqAzCx1eCrQv70sz9koeYw6Lq4DNPR9egvlUKCOLVh\ngCQCbjdJxw4U3i7JwQOQcej0t12KH3GvV/H6sJ2y3C6DCKtJjqcgze6KtCgK\nOQNBsxaopdqnMCVrx1t21dhvWHV4UKtEXItSmPJhoU/oh7a98I7xgcsQGeCe\nAYRkYl35FpoqGT3sUBEKNeQA2bxTY8IyYeOrJ4I3FFKowaS/5HTw2vEdtUWU\nJPbh/IjGMWLAJ2fHs7vszCu/C/qY41010lW3tUFRAQkkQir82sVbWC+kK1Rv\n0+CAosIxEhvYA6E8rRQiz7uObfiO6SGy9MOvY4429mKhsLXmj9f53rKt7IM5\nvwyR1i7x+z4xgEB06Y4FbC5q7a6tZfbPwDYrE57vj/pJ23rGucD3eBzqmRAq\nfmEj\r\n=rek3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLZ17yLEIA4d3UUVx1LHVT5xcq8Xf2tOeCTdBtmj/ZmwIgHhwVgZTBCommDt5ngMN0b5AFqQNWrBEFy2bjUilRLl0="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.18.7_1581001346458_0.052622896666534524"},"_hasShrinkwrap":false},"0.18.8":{"name":"flash-store","version":"0.18.8","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/index.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.3.0","levelup":"^4.3.2","medeadown":"^1.1.9","rimraf":"^3.0.0","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.8.1","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/encoding-down":"^5.0.0","@types/levelup":"^4.3.0","@types/rimraf":"^2.0.2","pkg-jq":"^0.2.2","shx":"^0.3.2","ts-node":"^8.4.1","tstest":"^0.4.9"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"4c0b63503b60ad37a7be239a260ca6269b3e025a","_id":"flash-store@0.18.8","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-3nM88Ry6TTJpAGH8so7y3NG82NQ0+WjcLske1mLpMK7naJ6Y8dv/YzRVDa+ZhTs8Kqy5qZadF2+Noxax3vWlCQ==","shasum":"d60a84415fd74aca89b975ac5281bafb2f45a1dc","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.18.8.tgz","fileCount":53,"unpackedSize":131480,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePC0iCRA9TVsSAnZWagAAZQcP/32i+X+kGe+FXLXEaH/3\nSF4q/FZrgcOemKoup747YBQXG3bqZOMkPK6yMHnAJ/zmqu7RN7/1aMDPZ1GS\no5sKiT7nOdXxHeq1/Vp4HLA61d5D+lRkOmNf7khOIBT9cF9huKrZY/BQPtsY\nCKp3FI2HuLMoCvb8vyfy/6VTglWOpkw7jQs3Es40OyFEblUWxaYaYHpDD0dq\nmG3qSHehNnYyu/f0MIgn0/mcfPDGs0RFzOhRXweKchgyOoREs+H925xH/o8w\nYAliWPL5H6VDE2VATwMvFxEAdhm7OxcI/PDbzM/H51g/gVzUsFw60MjDryHl\neU9jw70P8hRyfnJv9GMT2GG7LFOP0kuA6Fz6Mc2BbhTEDavwwOHZbb8o3El8\nlJX+nHfW4RSgVILYa7Yx/q8b79eIxCZxUkzYS4wSySr6YA5ihYKu39nI8tMa\nNmdsluqeIy4/nZOz5mm1t35NJznVfcXep15JYHSmpdYx9Kr3YWTZj/GJcwNW\nLTxVo+hOYwQk9PioRjX3Djv8uuOzyDzYPU2a6MpJEX/4ANTJeyN4cH/ZTGcV\nCfddqmhqIuCCuOBi/WqRghYiw6Z9nhg0V0A8Yw/VismB5XwsZ3zE6jZvfuS1\nOdA4Yh8VfCUBS9yXvjVhsruA/7Jku8JYiDP84023TKT/GLxzFsgXh1PXjYyD\nwP1G\r\n=zlka\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICMz0tw14hgaYamkFerXgzsmmmQQM2BxHzh4kUONpy4xAiAUbrsmtbGHdeZXWr8koKJw+pv1xuCz1d8B3JV1HUk36A=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.18.8_1581002017871_0.4545879073227781"},"_hasShrinkwrap":false},"0.18.10":{"name":"flash-store","version":"0.18.10","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/index.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.3.0","levelup":"^4.3.2","medeadown":"^1.1.9","rimraf":"^3.0.0","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.8.1","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/encoding-down":"^5.0.0","@types/levelup":"^4.3.0","@types/rimraf":"^2.0.2","pkg-jq":"^0.2.2","shx":"^0.3.2","ts-node":"^8.4.1","tstest":"^0.4.9"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"4433cc41bb6f44d07ee4a9c97dfb0441f20e7d74","_id":"flash-store@0.18.10","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-uOOll1tL+V74GLm2DkLKBI35HAS7KchjWO6QQkDZzRcLbkExz8R59THBagQjSf3wu5rAHmtRoSWjOYHfLcLRFA==","shasum":"e2f04bfb43929b7e14b8dc80639de81ffdd09ce0","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.18.10.tgz","fileCount":53,"unpackedSize":134909,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePNTaCRA9TVsSAnZWagAAjuIP/A6uvgCF9LkVKJeFlzGg\nAWgJpeJdkbJvmNEObLNappFE8/hY/WQBdmmGQErM5OkF7MS95dMFEYYO42WO\nlSjqe4DrjXj7u8Ofn1Eh1pH4NQZDBoYmI6KSWFGizE0LV3DQtCmau+QEpKWM\nGguFNiDoZbO5g+GA4BsR0GXauExRsPiTQf2HtFAsYaJpcxI5dRS+GGZMin75\n9DJPB2uKfn14ONJBZq1quAI6I+iWTL84TjSV1VaarGrP8Ziwx4krfZrPRfRU\njKSm4V4YB6XMA6ry9h8I/lzQvScnsmM9eJ1KoAFpVhtc6vFtvtVhVzToRwyl\nXratpWJmywzK848xqSPZ11C+y6CoUv5ika9v/huzo19gyarmtfYkuKF50Gz9\nSlqDKSqIhijYDiHsN6IwPn6qH6ArNUrdTFjoN5YetqqZTsQNmVYZFo2DLUey\nBMfJLRn+kph5wY0ubeNgRLYbenD2nGw2aVlWCtUsLPpUZXz3CfUx0e4w0qY/\nXBOS+DyOgFM/aPUvlVt4c7BKRBdmEhc/zFCNBiVewTogl9U4x151YI0emvWz\nQY7EQVlvyZk5zlZUvAigKEKIpqhv/7/xMGC46Y/DOWCOSZS7LFKcRjYdUxBV\n/msT5qCZNkTkA7Hjao4w5bP3rL0jocLNsAJaF3XNu+3BQH5DxZRFLHGpr2TN\nyXNK\r\n=IpCz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5FFR36MD/qXf20n9/eCwBQVH6PBivDk10/x6qGpXVSwIgL2Sr+HLLLbVmbn/f9bVsftVefp7canme2mdWyNVTQrY="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.18.10_1581044953712_0.1547646784412544"},"_hasShrinkwrap":false},"0.18.11":{"name":"flash-store","version":"0.18.11","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/index.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.3.0","levelup":"^4.3.2","medeadown":"^1.1.9","rimraf":"^3.0.0","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.8.1","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/encoding-down":"^5.0.0","@types/levelup":"^4.3.0","@types/rimraf":"^2.0.2","pkg-jq":"^0.2.2","shx":"^0.3.2","ts-node":"^8.4.1","tstest":"^0.4.9"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"66287d66cc9a7f9218bcf6504f9544dc98d4d9aa","_id":"flash-store@0.18.11","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-Ycq7pdR+fttOacaTu+wSge6dJP9c6oY/gFtoU5zlLnFtTHEHaBPfOcEcEDFDPrK+hdui5hE2lSGJa3PlwCPDQw==","shasum":"d0f74a125801bd121ec115a4c4c706d2a7e1adfd","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.18.11.tgz","fileCount":53,"unpackedSize":134907,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePNXaCRA9TVsSAnZWagAAYgAQAIM3l3xqb5B2CL3r0bFd\nbKKYKHl/fO4VI+giotomtk148j31ThF3bEl5SNRNpXw0RH2vjtZRsx4JmbMM\n8ORB5M+hVEaLgTovc8tT4h9YsrbWBUG9/Bz3MII41O+kKCdYQ69WbiMkv42P\nOeE0nDaqcQQ62O5yBmirSrZ/Caz7SxccvauDUDx8Y1f+Txvo7ifIlVG0oBxw\nnVZyeX76595kq8TerloWY9ZSVv5H8gjcU1r7/CMqeedOmPo8TZZDuWbRsJJf\nJhXnTuIBzUmtpPNcUvGot2F4je+3jSIzlTD0A+4SSybKPz7z3fsH607WA4qV\n1of7clEVcvHa2/aQC1NuMOSDj3NitYVR2f9Ra1oETlikMJD5q95QhSMNVWJY\n73SwgTXhhnlHAKuuEKMvr2UKHeEklZK5GlrJbFxH7xq91qDp9DC1CcOUo7Bs\ntz39TVOrB11kC2d+UpwRrWnXHTcwCYQSaGcJuMS+6MpoWxXwtWFCk8Qfl+lT\nqZFxmruE4rjfDqLhQYw6j5IY9n5Lc5BEujr5e7Wi0wRkmetu2xTfQe2wYsFE\n5Pwi3jxLeOIYE3GDhvZXVqQc0qA/v6yH0nBkueIpqkEfQpMjWlnQi3kC7zSC\nXiGlQuEycA2FuJMqAILd2D+0t6GYCEtUQZ+c/r5s9TnDkfGJX/+5wxgcQ5QF\n5vew\r\n=v0cj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDIVDefZphDxIQol7fJz7Z4vg5vF0M56rFxZkbsQ4Z6PAIgbhCbchgP5bbpUnI5GsWHEqiK2tCyHW1ZIfGn0rPXYTE="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.18.11_1581045209645_0.3271018800054999"},"_hasShrinkwrap":false},"0.18.12":{"name":"flash-store","version":"0.18.12","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/index.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.3.0","levelup":"^4.3.2","medeadown":"^1.1.9","rimraf":"^3.0.0","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.8.1","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/encoding-down":"^5.0.0","@types/levelup":"^4.3.0","@types/rimraf":"^2.0.2","pkg-jq":"^0.2.2","shx":"^0.3.2","ts-node":"^8.4.1","tstest":"^0.4.9"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"5bfdb5b1d02aba45a8f9885b0e96aee33c790ded","_id":"flash-store@0.18.12","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-bmn6/1rIlKU5uq5B8iULpkzXYFugX1FinrPmOfMvSnGt0ClFZWlYXLobEAYrB2hlvRF/EUsFQwDblAE9UvQG5Q==","shasum":"49ba67cd187f3ff3d3e5f6906be8523d1849e801","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.18.12.tgz","fileCount":53,"unpackedSize":135029,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePNawCRA9TVsSAnZWagAARREP/0FTNt0Pldls26OQq5wf\nwaFwePKkLyvXN4aya9SjZspCbMFdp1aDZ2jNVtF3j/A6Ok4AbC7LzvxB+PFG\nl/C1J0F7khmQCMOVju2ndM7XFPMnbJDU6okNDjxTA3lA9eOKHBHaQcNj92Qw\nidHlrDPHiq0UzarMuMIuoGisXSU53Eu5pMjFEuo5KmoXiMKeiQYXCajkq4tP\nN12OUC/DMy4CBeRFmshc1yubM4IjewcBSYJzVDoACgY8cAW5Gkslx34Omriz\nZYlav98H5zWQ9PukPLEtyEet5P3E35efLKr1HNEoKM+nmF7gCjD99p0P4QrX\n1SKjkM1asRuGpKXW+urTHUZfoCMozfNoKSmOqQ8jKCNE8gCPUTbf7JgrbZJI\no2+dRYLSZCUFXLgFT+H6u874CEFWL9aYqDVCk6GGnhQDgzEb9McJDG90F2Hf\nU2VhQPY9HjFW3jkVriWqa9nF92HBAA/vgL4HKqqgJfrf735wkFa3Zsu3D2HK\nDHqfNwFjgUXZslaQsPGBDYW453dttHDbvJzgm+fd3EhUnMpjnoQxiOfr0xxi\nMvWwEMl9ZRuVshU+U+XTyb9I1AhkP3/Y0H8BrRZaoni092b/710KAvqayy/c\nf5AxMsn5iLXeZSfeuBhyb9JjHRqhBMa22xwTV11NBulrRkachBAJ6jn8k+eS\nyixb\r\n=E2EY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDZfDznIG70vt7YPohzJW8gtk1BOoZFH7CnlaCqUDCCqAIhAOxZKoPq8Jeq4QyKmgD2NekXeMetfOWZ8s/eB6in+Nwy"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.18.12_1581045423607_0.7670246902901368"},"_hasShrinkwrap":false},"0.18.14":{"name":"flash-store","version":"0.18.14","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/index.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.3.0","levelup":"^4.3.2","medeadown":"^1.1.9","rimraf":"^3.0.0","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.8.1","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/encoding-down":"^5.0.0","@types/levelup":"^4.3.0","@types/rimraf":"^2.0.2","pkg-jq":"^0.2.2","shx":"^0.3.2","ts-node":"^8.4.1","tstest":"^0.4.9"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"0e2fbcb8ae6dcbf9e1c7b8e713796cdef88057a7","_id":"flash-store@0.18.14","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-wSQbF592EWY8N5eXKh0u1tv0xcGW8VFPM2HETGrjY97bjY/DFKcoltZXeda4DxvN40soXjWEcMaFZrYX1g03uw==","shasum":"c7224273a7eeac056a9b5357407a07afdddfdfab","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.18.14.tgz","fileCount":53,"unpackedSize":136045,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePqDWCRA9TVsSAnZWagAAkfEQAIXf+/mx3sgXqTzH1qo/\nGs7DdsaiaZbEu7KJu6SQPxjYTD0h0s4naoEKTHy96LDeTrWDQWomDMbUWF0b\nkw8kzMGyyTWzzItG1aaqCDYSv5RMBYRl9+rvqWuh/kU1IR/srII0YB8AjMSh\njqVgDBUCeONY8ywwYKhhpsP6tVz4WvbwzCHxRVY6SOFiEqIxRa7UbN2XvfwK\nV3UkYlDJsaIXRfrSPcdrR9aiUZOWnfKQP8a2u4Tem2Lgz4v2N3Vyu9kzUNrR\nWx2QWg/V881vzKQqMQv4eweX2DdWUpHCpphFb6/BT61Q3MOt7kI+/TTu+yoy\nZVOqMJB2lEOF+CTBG0/aifaY4aGEYO7HfN/xiJTuNX/xn0uFZDB42kSQgP4/\n/6WLI/2HePHdsGajKz+g7xsWxM1PUnJ2iCkv7Adfhm8tGc3PTHwBkSXN7prg\ncLxhVMCPaMVF4PwwN2Gfh+Uvorq9Egz0A/bpAfuRdb8Wgm32Gz+CE+agzv/k\nOimRCpsGGMX0d57Zxim+JIVULlT7GijutzfBxRoCsh8sJfyqT77oCODUdFUK\nVVP/vzpQdwwZyBfJlDAG48U2u75ChW5cHbvmQazQMqz9aYlEO4of9d7u2byF\n0GNCbHk+W1KtDz9qAY12b6XOtNeW0FywayuyvoND2WPi1kp1S03EIaR3OR6A\nXF54\r\n=B5W2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCW2O+GLLWq57SQV05LqiwtgyDmKtVnXBeFQHl0NigqqwIhAIlYy3ddQc3/Tn4gST9o2x9CDbYxX3o3HsBM1qdycMeK"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.18.14_1581162709615_0.7921387614710853"},"_hasShrinkwrap":false},"0.18.15":{"name":"flash-store","version":"0.18.15","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/index.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.3.0","levelup":"^4.3.2","medeadown":"^1.1.9","rimraf":"^3.0.0","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.8.1","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/encoding-down":"^5.0.0","@types/levelup":"^4.3.0","@types/rimraf":"^2.0.2","pkg-jq":"^0.2.2","shx":"^0.3.2","ts-node":"^8.4.1","tstest":"^0.4.9"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"e6d89a0d2aff44e99a69e8b0f1934a371b755e3c","_id":"flash-store@0.18.15","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-OHNwUp0l1e2T5eAxdyxOTtB6/qXzOUMoH77L/OxtkQCGOXJ7dL0gfwvr/LMdEACjQx+iXn1EUf+D8YH7lDNZCQ==","shasum":"994dcf99e5bd7775d05feebe567dced83c36de93","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.18.15.tgz","fileCount":53,"unpackedSize":137811,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePqR3CRA9TVsSAnZWagAAr/kP/RraQdQhDgapATkIs40v\nZvu+30LS8kuYnxaVDquJ58es8bgu6tVeVI4V4HpdTwT/Yv4odHaF20CCbxYN\nVN0wNLtQevxWufUSSz9VKqMKC2YbtQgliNqXWxqRnFDDUbvJjWNhyrp4lHGW\n0oHfOfUSDDjuY5SKSxgNwtQFdMxcmDJhXgrG+3sR3BB6z48mZ0rN0vALYTRc\n7HjHXBzlHzspTHt0rYNoNH3A3P1pFiGr+beKjtNjt0PIiOjwYEoHqxHRKXyi\ncL8YW+oFQ5giBxGq1v0sI+cI61CDlFmH2ovhaGoIPHAobXRp+pyDR3B8ap0U\ndNe4JugwFG4ahGcG9ZDj35cAs65OvtIeVcHXI4lLmeVzYhNzksxNd7Hb6GHy\ng8G9neasZRY002V6IHZSl7bb7jEtRIWsKEOrIbCeIqETcSzPwzxsTJc36GEP\nj2x14G0LGg3tmfn2jlrlxB5AM8zXQL03yVKtiy9NQIeehXpJQR+7hO2badI4\nc3t1dooZnpwcyntBSxI84IrR/M7+BZCWAYoyIwQDZyXIZp8GYOawTPwF+Gqk\niMg/Kj32XMh5dOD2W90UbuyxJ6G6Re9hTdWeonLAEZwmOanIoDAws+wbxIYe\nVw6rPmtLvkVj1DgKIdkSE5OAr7OploxWo173dMnW9oUJ8Bd7Fmoawdq3sQzR\nlcG5\r\n=s2yu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICxdkN7MWWxRKWWnrOluzbfZ4PXHtwia/DC4rIc6XUAaAiEAtPSMI+XJVUD/BjJcEOqa0v6tWgdNJZm0pxeOLZPe/ao="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.18.15_1581163639023_0.32683298501549674"},"_hasShrinkwrap":false},"0.18.16":{"name":"flash-store","version":"0.18.16","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/index.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.3.0","levelup":"^4.3.2","medeadown":"^1.1.9","rimraf":"^3.0.0","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.8.1","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/encoding-down":"^5.0.0","@types/levelup":"^4.3.0","@types/rimraf":"^2.0.2","pkg-jq":"^0.2.2","shx":"^0.3.2","ts-node":"^8.4.1","tstest":"^0.4.9"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"5ea7c3d9af38c9ccead6c3651c8d27f90a8374dd","_id":"flash-store@0.18.16","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-EacppCyJbDNF0fVpYS09JXGWXuGXTaRAPh7Ex1ejDTl/dt9jxKRVYtliKauBBxQUDU0TqeQf5/oGs9czH011IQ==","shasum":"12e805335e750e533daf41e4101b3bf02e300844","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.18.16.tgz","fileCount":53,"unpackedSize":137868,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQT0fCRA9TVsSAnZWagAAXmoP/1jieK03zTQmnP/Il2Jt\nRrsetPYiMWxffiWs/AgUh86r+K4XJIqtvTy/o4tAjkKUv4sAl0E3HBD5fRp+\n3AGA97ATod02l/GwTypAMFV+YGpGZEah7fJDkh6Mkr73nq7Y7KX6+oGhvB/o\nesPuyWNmOaGtgIrZC7ropYM5naFwymbuOVPU7ehh0Y9osaQ1aGLWa6mZBmWz\nsw05cvRsBX0vv6eQMC62Zm5loHRhaFs3nKCoaUxZaEtEJwzzmOssOiTtrDJ8\nZKmw5vZlm4htBZrVKgBym3DxY2XFlcAFxbArxKlCfFRTRtyiM3z4AuoJCeFo\n5df5/qxOgTPkVaU96xbwP0TZueGgxxjZu9IGzn+DK+DST6tg6PA6Ke9VT3ul\nCITuoCEzTVcnOELsZLs1aowO9ECI7lnQo9wkrPLZY9r8HI3GXiKmGfyyqek3\njiEH2d7Ted4mwoonGodNsb3ACskto1+Yjcos6M2sWyK+Wj2M6U5yqAbxfxki\nWniAYoDDhnFL69npmGv1SKoCKgXsbzvJQJLeQpktSoEHLZoyRQ/0CGz3QOtY\nL9Ttmb3Z29sz+Zvrfripz6AlKVBoe7Tx92BeGEqttR/C8nIvCSz5GyeocMos\nI2s7/ia6HAUKk53dUcWliIrv2tzcP5+qcagGDRkurotSW6oySjqeG2tJx8K3\nswe0\r\n=6UrA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF4grpkec+vG8T9uv2p0k2Ef2o03/D6SME7W2K9FUpbvAiA11Nv4D4qPKAZiDXLdR7fMv4zZpNF6d5NI+7pq2TdYjQ=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.18.16_1581333790564_0.4948699196290953"},"_hasShrinkwrap":false},"0.18.17":{"name":"flash-store","version":"0.18.17","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/index.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.3.0","levelup":"^4.3.2","medeadown":"^1.1.9","rimraf":"^3.0.0","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.8.1","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/encoding-down":"^5.0.0","@types/levelup":"^4.3.0","@types/rimraf":"^2.0.2","pkg-jq":"^0.2.2","shx":"^0.3.2","ts-node":"^8.4.1","tstest":"^0.4.9"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"77cb0ea4ad370783e595124c86a09fbad91ab728","_id":"flash-store@0.18.17","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-veL2ALwybxw4TVv5jXeOftS4ss2SUiSpUsWxDCF8pZQzS97Ib+tyKAvaLSUPE06CWHt+C53fneDKR7nKgxHQcA==","shasum":"b360f450c2ce7d68515d15f192664299f232001d","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.18.17.tgz","fileCount":53,"unpackedSize":138079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQT4eCRA9TVsSAnZWagAAj+EP/38jggsf2u0nzEyH0fBq\nn1rzLz4cPy3H+UR+mWmVYmLbT/M/kvHbbpJ9dc5WyXbGqeL1LrZF8ZK+LGFI\nI/3KGjx5I8WhZIYFDi7PVCmTC334euBpf9JmTc6pbKywHMhvD6Tu9N7oQ/Rh\nkvjl9Qpj9Xr4c5RYW34w9TWKG75o2oySimL15SG7JLWR9qKUmSIEug/qkG8g\nzlsnaihz4dwYKXCtMySQorIpw4NhOOOKjrUP22kFp8DowsyT4cUTbTM8g7IA\n61kC7952vngLTBcdnG03aqs3qOBrOuQps1e7umwUGna2D8CKsqpM3Euut2XU\nc9czVtbHJ3cU2dz/7I0bpWZ3jrnHBbTVf1cC9T1DETX390t8vpbtam+q7W6l\nujGhCBWn/XaxpcuRGCxd8wDo5Gqbm7c0Uxap7qyJ6sj3RZiiDZh39D9iEXoy\ng1xlXm4UdwKjzjFKlKdfBgrydM6m1q18I0RAk52BT3FdLlrEBgKJOmOh2PWg\nb1h/Y03O47MNua9gYArVJ1h2j2twGPUrk7OPoX6kltDcZ/XD4H+OPH3KLAP8\nTVnfoyfCFxTr/SlkbAZT6On97LGsIYoZJMz3frl16DU0GwzGsaibuz8PdK7X\nYeaODS04c9VOk51gF2MvmX3FrvfpGNYD4JuZ8RJ+hFtT0jghMemplyFVTSf6\nEkK/\r\n=zlJf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5Gw7oX27NVtDL8jmNllPZYerVR6X+FJzpeEIhC5UFLAIhANV378XK2V6ttm27Ouuai/7lknOtu1mjeUzWzR39lKPh"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.18.17_1581334045968_0.4784551637228027"},"_hasShrinkwrap":false},"0.18.18":{"name":"flash-store","version":"0.18.18","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/index.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.3.0","fs-ext":"^2.0.0","levelup":"^4.3.2","medeadown":"^1.1.9","rimraf":"^3.0.0","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.8.1","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/encoding-down":"^5.0.0","@types/fs-ext":"^2.0.0","@types/levelup":"^4.3.0","@types/rimraf":"^2.0.2","pkg-jq":"^0.2.2","shx":"^0.3.2","ts-node":"^8.4.1","tstest":"^0.4.9"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"694e74d9b6f31826e3567448da2ce5c5b2ef9ecc","_id":"flash-store@0.18.18","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-ZvMl9eo4o8Q0m+pJQKVnW7VkVQqDo3mnsdAYxpm3qbX/jyrrhT6wib8yWHhOIHpYo4Hf2clFQLAocR1gdraRtA==","shasum":"5abdd3626ee916092aed9718aa5036cf104e2894","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.18.18.tgz","fileCount":53,"unpackedSize":142344,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRkwQCRA9TVsSAnZWagAAeakP/RMdNExlUyZHNB4U+11q\nttV+5VBMYhAuJsF0rG+qiHAkNUzgI8gOb9QDFqmbUe+diAAOEf5CzOq3Nkhp\nxglBqdE52OvstmMkr1/JINjYusF79dbVo4CwUdv51psVdPWQB+aVz/kuFYe2\nVZF1PzGGK8LD4DQ8vcIyH3nrvL57WtoMArTC/ZuLYyIVXZF+oqI50DpSDWSy\nj9HHTU83WvAm/4nV/84p6MnQ2ZUJea7xIprkKDZQZZxNQYL6LhUJfrTqya+E\n8GLr5tKldbKWAJZUoJDkODaxKV+Uou+XdzRwTou9HpeKIcXrtZ7e3Yjk2qd0\n8/w4p+04hyEKPjLy9KwKt295oUEtNXG2D4Hf9tdSd5oLSLpd3OLkvGy04DQ0\nrnnt87CgzuZHlXtyRQZPSFKklDcFshqqeaX7fdZhC+7ccOxJ17hE5CnqBiJe\nPIlkKgqXUVS/3fQGDU+3RDCV5S1twL4fDyMaCXe1vGmXsNIiCI52qeVIhfPK\n0iwXt7t+/fgvoTlwdjeWdxm7PtRVGI+tZ25LNRQmJo0wWI7mlwoU/l17Ndh9\nQ8Otlnc/tHDRIo0is/7BfR2L1htEs/SFXEKZ9xxwx4RcOj3ov7/NsxY0E6BI\nZt/X95Qv0eKFimS/halCZiZJiP3ciZwqJP+4/1MDPYxK8k17eo42O1gVUvfQ\nvvXU\r\n=BL63\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBwTIACUbqMA/xWgxxKrR5nCKIJtotyVvA3EMjPbHk7WAiB+VMm1lhizhX4CbvXsCrCEidkXmwC/iEqjhcfoy1xyYA=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.18.18_1581665295846_0.42876987649682397"},"_hasShrinkwrap":false},"0.18.20":{"name":"flash-store","version":"0.18.20","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/index.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.3.0","fs-ext":"^2.0.0","levelup":"^4.3.2","medeadown":"^1.1.9","rimraf":"^3.0.0","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.8.1","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/encoding-down":"^5.0.0","@types/fs-ext":"^2.0.0","@types/levelup":"^4.3.0","@types/rimraf":"^2.0.2","pkg-jq":"^0.2.2","shx":"^0.3.2","ts-node":"^8.4.1","tstest":"^0.4.9"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"d9da54e452c0a3cbd9e72aa093eb83081cad13c5","_id":"flash-store@0.18.20","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-j4kBaU4XGrrelmfiwyS9Uyp1j6G3Rk6e1rflXps+eY09DctEgsOwmG/PpQykJcSkd6F8mF2dpRQB15sD/Kvn2g==","shasum":"fc002125c4a2b480665c8695d21efcc1adc42415","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.18.20.tgz","fileCount":53,"unpackedSize":142626,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeR/+GCRA9TVsSAnZWagAA6KQP/3ccM61UGVFzRrX52hbW\nj9XsWPwTIUes3oCk4TF9GXe8Flk5k0mMA67jiZC/kKzGjRVAnTHtpV8c26PY\npBtQsT2vG2+9UK+kFlsk7u8qcWGDJm6357jBHRJ/tj/Du4s/cmaAtXxwpWwm\nVMgqs/zmjH8FoxmQhRDGXaGnAwLRzf7XLPSyN2Rdad6B7cOzV4alm+e5smPR\nA5yvnDUi6TRG+Ce2B6iXJKvheX8aO7VeiigQlIVfhukc1QEKlVrTc/EKXute\nkGZOSYHRUGoNypoMCloejsV5+a3w4Pb2/neqCZv73LHDiyOX5xvveftTvXxC\nJZ7KgJbJCdkErm3XjU9IVHeSvR0smoZoF8txk2ldQMkrwEuKA8XnS3FrIzIV\nqA2fvLoYd5WVFBlTyTBqvMrn8ZIykOb+HR/QkfZe84ORegFz+Ay6NZUclPsw\nRsjk0a7G0CyGy7n/Gy9W8lPWT8yJ3ZV7dEF0H1yQATkEkSGzAm17cjq+N89q\nNvSPJ480Zo6g/wunto2mGnmUPvYU++XtDVcTWKbm9m9FwWwTw73yYhfQ1hSz\nkdm1wJUHubJn9TIIG9eVsYy61LDKJSFjH1laQftAMRy7HdM1K82uG3Tb1rnr\n5NNdx6qGOoeIPd7zxYyB+cdIQElkpWHS8Vxx1oXpFedchEZQ/5wlEOJKl3GO\nluVN\r\n=7ifV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC06fsn20Y0IyjM/bp+dWWCR0uBxfZMUQ51Xlk2tlsxqgIgT8weDrc2rXXPuT3uvA/L/ZB5hKFOmhusSmcCvIl/Hpg="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.18.20_1581776773966_0.8111729211772543"},"_hasShrinkwrap":false},"0.18.21":{"name":"flash-store","version":"0.18.21","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/index.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","brolog":"^1.2.6","cuid":"^2.1.1","encoding-down":"^6.3.0","fs-ext":"^2.0.0","levelup":"^4.3.2","medeadown":"^1.1.9","rimraf":"^3.0.0","state-switch":"^0.6.2"},"devDependencies":{"@chatie/eslint-config":"^0.8.1","@chatie/git-scripts":"^0.2.5","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.6.1","@types/app-root-path":"^1.2.4","@types/encoding-down":"^5.0.0","@types/fs-ext":"^2.0.0","@types/levelup":"^4.3.0","@types/rimraf":"^2.0.2","pkg-jq":"^0.2.2","shx":"^0.3.2","ts-node":"^8.4.1","tstest":"^0.4.9"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"ff17369de2fba33929cacf10cee6b6b2d351a8dc","_id":"flash-store@0.18.21","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-JCeeU4Te2MPEjAe25KtR1I3NbiMTbd+9qkZOhAUJaLYdC3l4lmJyTHhUnJ99vp29uM9dyNAY7bulAR7Gescxtw==","shasum":"6a56784e650e5d967e83abfc197d6953f12a0827","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.18.21.tgz","fileCount":53,"unpackedSize":144661,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeSrueCRA9TVsSAnZWagAAIO4P/2h2KEJxPnaqa54h3NO2\n5ySSzhF6IqiswfWWa8H0VU1kpbi9HTAW5LRIjWK6OPNArUC8kBIu7zHFsl1k\noJSqt1HoMW7PfFRiVRv0WqiUEp3IBWsODGO1s0yd4MKkS+2drP8Mf64Nq/X5\nW+vusNx202nHvl/8sff6q4ejswFQreiNpwcsT8gNedOGdV6XBEnehZD/uagh\ncAUQJPfD/sXiCgUviOr971ghAW2qKxPIhzBG0eiBQNCSoFFcCG0UCaVV+u8L\neXml0HACZnD6R07krQWMZ1laOd4opxWtK3oIaqDbbwu53mXGFqtpuZ09hbJ4\nqHZZ82NxV1y13dcVx5uMXlmGfxx8YViDjMBWilWZKEfgOJjCYu23ibMN9xqp\n8FsbqnUbaPQzibSFK0ZGaFSHLCR4pSf+A50JIaiIVbngn3HibrRC5v+ff9lf\nPOOO3KZB2bjFzBr0/oTzHNITavXleSxwXq/IcEmCG1Xsh6RM3brrk4pq33PX\nnaXGpc/jNGO6m0zXx3+Z+QBr0pvc4duSBdGDEZ5jW3vnacAKmKtcRk7lHAC3\n1Kov/AvVrqKvdUfs1RXLB9lnac6FP3MGJvAK+B/4Xph9WpVVCiX/0VLM6dGL\nvkbFv3uCIYOdIx/gYkWIB4byzvZ4BCi9iQ6CWzTU/Iet4GZ3Pz2+lIcqjx/B\nxs1t\r\n=Cl7w\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGriw3GaBPVVVzDW+J+1HGIFEy1d8Lxlm9A1b5iCpP5aAiEA42uecV4hhaBOjOWSFiwAGIwJm6KOhcyyRHUIjTOZTd8="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.18.21_1581955998236_0.8971278085065579"},"_hasShrinkwrap":false},"0.7.9":{"name":"flash-store","version":"0.7.9","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","brolog":"^1.8.3","cuid":"^2.1.8","encoding-down":"^6.3.0","levelup":"^4.4.0","nosql-leveldb":"^3.0.1","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@rollup/plugin-json":"^4.0.2","@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.33","@types/encoding-down":"^5.0.0","@types/levelup":"^4.3.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/semver":"^7.1.0","@types/sinon":"^9.0.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^5.0.3","rollup":"^2.6.1","rollup-plugin-json":"^4.0.0","semver":"^7.3.2","shx":"^0.3.2","sinon":"^9.0.2","sinon-test":"^3.0.0","source-map-support":"^0.5.16","ts-node":"^8.8.2","tslint":"^6.1.1","typescript":"^3.8.3"},"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"gitHead":"a7e2b4096faeb7c622fc3326508f3b8492d25b11","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/zixia/flash-store.svg?branch=master)](https://travis-ci.com/zixia/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) [![Greenkeeper badge](https://badges.greenkeeper.io/zixia/flash-store.svg)](https://greenkeeper.io/)\n\nFlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://zixia.github.io/flash-store/images/flash-store.png)\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://zixia.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n1. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n1. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n1. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.6 master\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## AUTHOR\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.7.9","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-ZRVGU7oNzLwV/fdR+rhS9KS+Lns5osPWyFgfTG6QGIbORBN5WUFkzjhsg4/wkw6S5H6S4Bt68mTg52Q1xzTryw==","shasum":"8ad30a421264094eea6fd6b70645a301ffee29df","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.7.9.tgz","fileCount":35,"unpackedSize":222827,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJel6fACRA9TVsSAnZWagAAV44P/0wV25XcTwuvyf8IDLiR\nzCTDACkHO8Yb3GiEM3XOwNyP3IjLofRSgsuSF/IdkDogF6mZSeeSgdkM4w3M\ngxHUSe9nItBEdhA4JzJKLVCry4legJ5/FgBDwHJEhsDokwqPr5me1XPH0sTV\n01f4TMFoiE/euxmCHIO8vS6w12/RhEHPYdHEKBIjp+sVEh0+dhN9BFHo8Cd7\n3uTt5jHbunydMShj2eI0mVSvfEa0B+bd13u0nPwoKz6C1Z0oq/htWHbwtDux\nMU8xvRQDqI0dxkV6lmBKWIUXPiE8IR/Y/Gg8bxkVue5Ab3lA1mo3UWLJVv6F\nponVW5b/aGLEycDBGuzPvr2LpIduAsJ4oe9PsiTfDB7udxZcuh9m8mHxMbQu\nV3KEk5VyB49qeewIa1RFlqq6yjSlmWFhQnqvAra/y2qzw3R4ofb3aQrCVT+9\nN3IvArO92BMPOi8BPfx12yqGNyzuT9Josf5fpNm6EQk1i0PBZW9rqlcEVDPw\nqAb2xl+mGibTlJGYlYAhzqcwfGNkoEX1evTToRdZFroCuR2Qovq8tjqwjRf3\n1JEr05zmibqmDP9wOIGQ2TjZjPqEA0LkrrqRpgAsDToSgDOA5UogHXLotOD1\nYcdXJEOPQUA1zLnGiP2wLaM7CteUyrS1RaKZ4RYIXo3D9F6RUw7T2jGkKXzD\nBl/k\r\n=zCje\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDU/87G5QWv5rezWML6/Kn022AebUgbN7DnkKB4O/DCsAIgPHpSnnks7+ygC70GIWrPFD5mmFiKwsCyYHPwJWSCea8="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.7.9_1586997184271_0.8665310223184262"},"_hasShrinkwrap":false},"0.12.7":{"name":"flash-store","version":"0.12.7","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","brolog":"^1.8.3","cuid":"^2.1.8","encoding-down":"^6.3.0","leveldown":"^5.6.0","levelup":"^4.4.0","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.33","@types/encoding-down":"^5.0.0","@types/leveldown":"^4.0.2","@types/levelup":"^4.3.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/semver":"^7.1.0","@types/sinon":"^9.0.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^5.0.3","rollup":"^2.6.1","rollup-plugin-json":"^4.0.0","semver":"^7.3.2","shx":"^0.3.2","sinon":"^9.0.2","sinon-test":"^3.0.0","source-map-support":"^0.5.16","ts-node":"^8.8.2","tslint":"^6.1.1","typescript":"^3.8.3"},"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"gitHead":"b6e7644f7a443de6fe487728a077fd62ac24ed2b","_id":"flash-store@0.12.7","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-VKVi7uZCOP44csZM/X++15x0jCtHhgMHudMDUn+mL7ov+mVjH64zcKT/Rn8daJC2bKUnx/x0wk1RcGvFEvIG1g==","shasum":"42bce3f9b0074c4cd26519d20fcc29c72cfb3350","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.12.7.tgz","fileCount":35,"unpackedSize":223998,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJel6hlCRA9TVsSAnZWagAA+zMP/0yk89Mi6RruO0DN+51E\nj3Ufj5uDDCs01MleEveO+zq3s29wxGf85/vQnsXxq1N2yqIP0DZBq+O8J+UP\nN3Qj9qe3mWZdwwrcWNBRldqK7r5GESUJxtB06ckTai0krlia+KJS4QUKUPS9\nMtpXODm+H8gY2helXBk7ePG2YP3xQl0/qNw87UE1zecBjOy2BBYHMD6VEDvl\njuYKuIHDA7eJ4G+HTAVddkhiypMqhD97jjQO+CoqsFeOi2R9N2+exkM555q1\nnsAGB4bw++LBFZjCZSKnIV2pjdH9xRD5pn8rAZAAkRxROc9GjvrGZsmW7PQl\nl66PlOxgChz239ffoSA6x19gkvJZYKvmft3+/BzSjuURwxoAcDee82lMneOY\nr+0gNvmKcoN2q0/9VtlEPPU9lpyq/AYt6WpIAxj8qyA3N/WB2ROGSuX026yG\nUx3ghZryLE6ohhOCX1XAcWmSWo+z1tBM1OaNactO2pgh9ul3VlYdchXnNHJ8\ngso8pNV8XvVwtT3mtxMO7r/dbyfwFZCC+Fwt2LyyG5oEZdUIb0jJE9vczVwT\nS+q8l1YUoWxHW7nQNITaoJxjANYEYW3G+/ReugAoBw0+LAyUJlRztkqLVili\ndrRYJNYT0x12eDOhPqb9/OKjXjmVk+EYyK+cN4sO5yHOpYxJ6Wjsmv6+7WsB\nm/Bo\r\n=cVDI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDhOuxvbHDpdP+t6NnxRtBdLJFoH7iqy6vYgGbfyU328QIhAOTJ+o6wThJFJ30fWA5bXRYkm/Q/TS9n2Ewh+iYysq3h"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.12.7_1586997348474_0.6377062436944954"},"_hasShrinkwrap":false},"0.7.10":{"name":"flash-store","version":"0.7.10","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/zixia/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/zixia/flash-store/issues"},"homepage":"https://github.com/zixia/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","brolog":"^1.8.3","cuid":"^2.1.8","encoding-down":"^6.3.0","levelup":"^4.4.0","nosql-leveldb":"^3.0.1","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@rollup/plugin-json":"^4.0.2","@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.33","@types/encoding-down":"^5.0.0","@types/levelup":"^4.3.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/semver":"^7.1.0","@types/sinon":"^9.0.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^5.0.3","rollup":"^2.6.1","rollup-plugin-json":"^4.0.0","semver":"^7.3.2","shx":"^0.3.2","sinon":"^9.0.2","sinon-test":"^3.0.0","source-map-support":"^0.5.16","ts-node":"^8.8.2","tslint":"^6.1.1","typescript":"^3.8.3"},"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"gitHead":"382e2f5664d4ddb40006eb7c5b32d88b61e73a7e","readme":"# FLASH-STORE\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/zixia/flash-store.svg?branch=master)](https://travis-ci.com/zixia/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) [![Greenkeeper badge](https://badges.greenkeeper.io/zixia/flash-store.svg)](https://greenkeeper.io/)\n\nFlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://zixia.github.io/flash-store/images/flash-store.png)\n\n## EXAMPLES\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.put(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n## DOCUMENT\n\nSee [auto generated docs](https://zixia.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## SEE ALSO\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n1. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n1. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n1. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## CHANGELOG\n\n### v0.6 master\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## AUTHOR\n\nHuan LI \\<zixia@zixia.net\\> (http://linkedin.com/in/zixia)\n\n<a href=\"http://stackoverflow.com/users/1123955/zixia\">\n  <img src=\"http://stackoverflow.com/users/flair/1123955.png\" width=\"208\" height=\"58\" alt=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\" title=\"profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers\">\n</a>\n\n## COPYRIGHT & LICENSE\n\n* Code & Docs © 2017 Huan LI \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.7.10","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-U4rTAAZrEH1ziH+DfhySMZIv5KM1qXB5Df1iZ2QxF2no699mxY/P6EGOLB2CnFluLkCPy+UIkIpjGDGnvQgdTA==","shasum":"ebf8e6c79d8fe21d2d0934d92210f570b626aa05","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.7.10.tgz","fileCount":35,"unpackedSize":222830,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJel6iXCRA9TVsSAnZWagAAjwEP/1bMNq3TX77ySlWKlyJy\nIy3rYi37DkgR2tOQvX9nnhFnN8lArknVNuz9GSYWcYT7o+9YjnT4iPtWckGT\n10gWL7+kymPjxW0LdP3gzfeysC/LYnrblds7h19xqO7IUGHAaswgolMZo4fP\nqDwL3RRGLB0G7370wr4J5W9llSHaLlI+eDXpv1eV17JG7a/Y6wuCM25sn+8t\nKi2Hkb+rfx7KrxGvAbrCYomg6ZpVql+49eGZ6Arftt1jYkY4SpCTQmpD9KBi\nKE+AH6oMIl09wlkF+WmRErJq9hcOFmpvCuXTNHibHwcBJWsSjFqnn4cyk4tV\nAiVW1KqoCNrTU9xU8x5/oTZ2cQrgL9jemEJCW22ftKJcoB4gufVhO/XRPqp8\nkTaPYpk64Q588gKuzhoP/J6RhB8GADW2WU7AhcRFwWUvIM1jXyYxwPxqM3FU\nxSBVcfkkn3G8lUZIZMarAlz6oLm3qcR7MZmtjDLOMFnvxpTpfDBY5hZNcZWs\ns7xSxd/D+Jeh4n/PXQdtYkrsjDUg+F2FbES7X6ajePEkrVS8IRpocNu3GhAv\nFL+Igc8ODyf78M1Js2cydofgqbAU4Zhx+m7SQZzLZMsf/EOZWyyI1VrQsDtb\nxMAnrqJLzL7MR8/QcoZPx7Ty9EzbLSk9Sd+JWbYxc9fgm+LFvAsJCneUMM+E\nZCPc\r\n=AdYx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHAm5Sf8BEnc4jS2tFAxDxi/Wb/VHoSbqwrYQelk8TRjAiEAqQTiUy12I0fSblQjSCniT4+ogMsePK7aArEwCbA+4Z4="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.7.10_1586997399199_0.8500371876499897"},"_hasShrinkwrap":false},"0.14.5":{"name":"flash-store","version":"0.14.5","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/index.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"tslint --project tsconfig.json && npm run clean && tsc --noEmit","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","brolog":"^1.8.3","cuid":"^2.1.8","encoding-down":"^6.3.0","levelup":"^4.4.0","rimraf":"^3.0.2","rocksdb":"^4.1.0","state-switch":"^0.6.18"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.33","@types/encoding-down":"^5.0.0","@types/levelup":"^4.3.0","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/rocksdb":"^3.0.0","@types/semver":"^7.1.0","@types/sinon":"^9.0.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","jsdoc-to-markdown":"^5.0.3","rollup":"^2.6.1","rollup-plugin-json":"^4.0.0","semver":"^7.3.2","shx":"^0.3.2","sinon":"^9.0.2","sinon-test":"^3.0.0","source-map-support":"^0.5.16","ts-node":"^8.8.2","tslint":"^6.1.1","typescript":"^3.8.3"},"git":{"scripts":{"pre-push":"./scripts/pre-push.sh"}},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"gitHead":"b3345b8c5396ad00cd657fbaa8bb46f2040019af","_id":"flash-store@0.14.5","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Z0ADngb+5BCvatq0HC2J7BhO/QO6HRBi22gkbY7d0n03uiqm5EZealedRm87W0CgJ8iRdCoe3TILwDYseiESxw==","shasum":"9299c0cad568c939807639fd608fcc0deca0734c","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.14.5.tgz","fileCount":35,"unpackedSize":222954,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJel6xdCRA9TVsSAnZWagAAKnsP/j9qu/ZUQWPnTvFxYeKM\n/qM+L0I1XXnBgdhDEiKPhu8p3SnCds6242Lt0ELSw/vJYlSGnNMjDJrP70Or\nMV3FY0rZ85MluGIjugtXWQj79nZyXNsIq3PdFyAP84fjN5dyTbWvkijWU0Fx\nLMlIhGWRNuXLahjv1X9v2Pno3GQ8LgiehZKIEkFueH1W3c8JgVmnkFXgnoSs\nIKLa2Rm4D6lPy8ajPM+5olPUMoGI6n+6H3A/2ijNzAHJpKFOy3qTiE6bs4zo\nPao8AANSaJ+ia41TuaIfFZJDtUncjOxEm3MdTxChYPo/SZXB/Vu3p6jpg5X5\ncxcudJCsG5GNoMiPZW6IyMlr5TaSkRqSx8emvtGeriUMPoXa7ItED3IcRwdt\nbZqHanTd14QafxVSNBuelVB6EpitpO///t1OYakM6EOel0hd+5s2Y+pA+Dx8\n5QU1D6s8YCqaiTBHIUwPaOeZqnCpgCHA5ohR8USxePH1jZA1jiomPttqcaiq\ny1Ls/Of6tkuqxSPLxq2uDkHkyuky4jYJ0WR1vtXnlVEeFkrgSfgB5CE2QVPi\nd55W90xzWT02fQi1PV0aH7zxh6dxzFjd1GS9vKfjH2/AP7lOwuWAkKazyDbH\nymuFI5HugNz6vZU7wvrPw7uHeLFyOXnfMoB3xdCMEhNVJPYl7f6c7zGlf/xF\njo7o\r\n=SCtA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHTKyLPMLPpt1JZMR0o/O3UZ8fyDI9z6wbYn8e8AkagbAiBTH5P47Qbnw0FZ5WELtqcSIXWuGqF2hu28TWQw1iXM8A=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.14.5_1586998364729_0.22805643530254138"},"_hasShrinkwrap":false},"0.16.20":{"name":"flash-store","version":"0.16.20","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/index.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","brolog":"^1.8.3","cuid":"^2.1.8","rimraf":"^3.0.2","snap-db":"^1.1.6","state-switch":"^0.6.18"},"devDependencies":{"@chatie/eslint-config":"^0.8.1","@chatie/git-scripts":"^0.6.1","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.8.0","@types/app-root-path":"^1.2.4","@types/blue-tape":"^0.1.33","@types/node":"^13.11.1","@types/rimraf":"^3.0.0","@types/sinon":"^9.0.0","@types/semver":"^7.1.0","blue-tape":"^1.0.0","git-scripts":"git+https://github.com/nkzawa/git-scripts.git","pkg-jq":"^0.2.4","shx":"^0.3.2","sinon":"^9.0.2","sinon-test":"^3.0.0","ts-node":"^8.8.2","tslint":"^6.1.1","typescript":"^3.8.3","tstest":"^0.4.10"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"3ecf683659b4b3dfd2e777f1e235389fcc80cb07","_id":"flash-store@0.16.20","_nodeVersion":"13.13.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-9pal9W7MRZUNOfqXI2N6pn5fRYV4bTC2Klv8bgDUMTZbPFaALwKvGjxhvafqn01nl7dPKdRIp8kWpHUFgAfvKQ==","shasum":"cd0ab2a2d6d6aa4a43451b16dbc1f08b255f890c","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.16.20.tgz","fileCount":53,"unpackedSize":120642,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJel61RCRA9TVsSAnZWagAARU0P/05Szk+lhYjAN7cZdwNh\nTOnEjfTs+VVvWpLIpggJOsR3TczGC0S7aJ3ew5Y255tgoBGnOoOFk4wi1p8X\n4Hynj8gEpx/K4VQu4vOBfN2FAyiqQNj0Gq3LyTKee6eAJRX0BMNE1m53+Jqh\nEngz+fGLN/ZVnXucqIiDdGDohphWxXA78Iw25ROfSKNVd1iFJFRt7S+je0NC\nlSZ0Z5xRfYGZVl4yiDioWGalu59qjL5XmmcWE7J694fU5aPIhbT7ZAKMWH+F\nNObAf8cvt9Oj9HaibFHFDbOvZOQO0YQ+X7OnhIEEml7EhQ53PBJSIni4JfAh\nyOQ8wtGIimkGIg8F9VBnZR2nxeg2iXNjSHVKUkTuWj8MrTjDgLkX0kbCToa8\nfFmLKFViBzlaxO70jivZJW4Lv+IjGi76MmLhQFprcZm74+O8HbR/697HaJo5\nhiPzZKF89hePcH8BNkqje19GXUp7JP+pimm6TSuDSHHC6sDcrsVKSU6HRxSZ\nFccxJihEqyYR1GhD5cQo7siLPpyRhZ8QHV9NKVlcZyr2zgZ2iTLt0FGcvrP4\nuscEo6vPHOV6Nqnzf4CKCT43G77tJ2A8I8w4wJzc78HLq8oKZAjvvm37igUj\no46LZK6Rf3o70Bvx0FprkMWkCVxVHnJypIi6v5u2YJcczS3kGSszIFHIhm0F\nlIlC\r\n=uXwH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEEQPZNNxlTMYsE6NLgiiUwriCwdeGW2ruxtu7+BW6M0AiEA0jq4VhY1kYhul1idWkZJ7P7zn8qvJzXBGjZ4Blfbzso="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.16.20_1586998608768_0.9789731326483218"},"_hasShrinkwrap":false},"0.18.32":{"name":"flash-store","version":"0.18.32","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/index.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","brolog":"^1.8.3","cuid":"^2.1.8","encoding-down":"^6.3.0","fs-ext":"^2.0.0","levelup":"^4.4.0","medeadown":"^1.1.9","rimraf":"^3.0.2","state-switch":"^0.9.9"},"devDependencies":{"@chatie/eslint-config":"^0.8.1","@chatie/git-scripts":"^0.6.1","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.8.0","@types/app-root-path":"^1.2.4","@types/encoding-down":"^5.0.0","@types/fs-ext":"^2.0.0","@types/levelup":"^4.3.0","@types/rimraf":"^3.0.0","pkg-jq":"^0.2.4","shx":"^0.3.2","ts-node":"^8.8.2","tstest":"^0.4.10"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"10d2132c95150170c1d51acc3511b0be5df4008d","_id":"flash-store@0.18.32","_nodeVersion":"13.13.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-j0c+xgg+zb47qugj62BYVgC7AU6pntNf8jACSGIEUVjkxqwZlF5o5viNoROnAi8tw+8ug52BkEkALmxhi+iktw==","shasum":"0e59946a535fb4b6a5e1eeea9f218557dd83f68c","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.18.32.tgz","fileCount":53,"unpackedSize":145254,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJel7W2CRA9TVsSAnZWagAAWdIQAICq85h6AMH6dILCuD6j\nNVgDICZXJCOsIBIDHPWoBcuHs5BTiUePZsdzDvXqyLYWP9/QbsDPZi20VDQh\n7XHMNJnAuxxYgATgRxmBDx1GsF/ofC8t+OKXoZi2/MpwHkDjzIod3DCyRQ6I\no2jh0WXLkKHmbcPltkkPZ73RPkAHrRzWFW+qTwaoBDkM+0mJS7v8Me5S/8Zo\ndmCarO7bvnl0N8Q6kVtLPGjFIIbMq1tIiqQdVQltnXXn9+EnETeMMP7hT1Lb\nTy3PQ3IyEGWiHq+SAlclR4CxcolgSeFFywh3KQ0auZbGiI9JWOkdkbK4l6lf\nRNp/ZeZjUH4TFpyCKzbYcBL5Xk+bOhtTAbLbgMiXCmKyfPviN1sloVbpGpr1\n9/1oUQqN8JiJqFSoMi4V3P2MKV+VYwJ38R+gGmUnKcxcxgvnUfoq9qKQFsCf\nZn8xy1zn2ZVO6YpmxNzj68Kq2nU+/ziUszD0EVATXjDVgd02Mt2DGiyLF8bG\n8mArUz1kJ2hBvwnkHWEAXzolAUOtHCuGM5MhJdm84lqiuSNgK+gogg026wVE\nRt8HR5rT2U78A4RMZrecjqRJxg/Sa+ZEyxB4zaP91IGy997b6tjDB1xKt9C7\nudvt/exBbTvxGyQRrHNWxEtu4wROsGp8o87xmlOUX0LDwV85IoqlTN9bjMBt\nbVKs\r\n=AHj9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCyk4ybaq2Xa28gN6VkYUXK7C7TA4kI2Og1RD4oKZqytAIhAJy0vZOV6LC2pQFVrR3zVopmQfaia8uqA8XfhA8/gqwq"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.18.32_1587000758309_0.3106732820212228"},"_hasShrinkwrap":false},"0.19.1":{"name":"flash-store","version":"0.19.1","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/index.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","better-sqlite3":"^6.0.1","brolog":"^1.8.3","cuid":"^2.1.8","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@chatie/eslint-config":"^0.8.1","@chatie/git-scripts":"^0.6.1","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.8.0","@types/app-root-path":"^1.2.4","@types/better-sqlite3":"^5.4.0","@types/encoding-down":"^5.0.0","@types/fs-ext":"^2.0.0","@types/levelup":"^4.3.0","@types/rimraf":"^3.0.0","pkg-jq":"^0.2.4","shx":"^0.3.2","ts-node":"^8.8.2","tstest":"^0.4.10"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"925fd7b881167b20fad00b983c5fb031b0c5d21a","readme":"# flash-store\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by RocksDB](https://img.shields.io/badge/Powered%20By-RocksDB-green.svg)](https://rocksdb.org/)\n[![Powered by SnapDB](https://img.shields.io/badge/Powered%20By-SnapDB-green.svg)](https://www.npmjs.com/package/snap-db)\n[![Powered by Medea](https://img.shields.io/badge/Powered%20By-Medea-green.svg)](https://www.npmjs.com/package/medeadown)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/huan/flash-store.svg?branch=master)](https://travis-ci.com/huan/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![npm (tag)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) \n\nFlashStore is Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## Requirements\n\n1. Node.js v10 or above\n\n## Examples\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.set(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/**\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n1. You get a sync API at the cost of all your data have to be kept in memory.\n1. The data will be async writting back to disk for persistant storage in background.\n1. The performance of `FlashStoreSync` can be expected high because it's all in memory.\n\n## Document\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## See Also\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## Known Issues\n\n1. The `gte` and `lte` in `options` do not work property. ([#4](https://github.com/huan/flash-store/issues/4))\n\n## Version History\n\n### master\n\n### v0.20 Apr 2020 SQLite as Backend\n\n1. We hardcoded the key type to be `string` only in this version.\n1. We decide to try [better-sqlite3](https://www.npmjs.com/package/better-sqlite3) as it claim is very fast.\n1. The other alternates (would love to try in the future if necessary):\n    1. TypeScript: [sqlite](https://www.npmjs.com/package/sqlite)\n    1. WebAssembly: [sql.js](https://www.npmjs.com/package/sql.js)\n\n### ~~v0.18 Feb 2019 - Medea as Backend~~\n\nDEPRECATED: Due to [#79](https://github.com/huan/flash-store/issues/79) [#74](https://github.com/huan/flash-store/issues/74) and also it is very unstable in production as my experiences. (e.g. memory leak & block event loop)\n\n1. Switch from SnapDB to [MedeaDown](https://github.com/medea/medeadown)\n\n[Medea](https://github.com/medea/medea) is a persistent key-value storage library that runs everywhere Node runs.\n\n> \"It is a pure JS implementation of leveldown and it's almost as fast.\"\n> &mdash; @Raynos [link](https://github.com/medea/medeadown/issues/2#issue-38431966)  \n>  \n> \"The LevelDOWN-compatible wrapper for Medea really opens up the possibility to reuse the modules that have already been created around the LevelUP ecosystem.\"\n> &mdash; @kevinswiber [link](https://github.com/medea/medeadown/issues/2#issuecomment-49785861)\n\nKnown Issues: [FlashStore 会写满磁盘的问题 #155](https://github.com/wechaty/wechaty-puppet-padplus/issues/155)\n\n```ts\nasync function compact (store: FlashStore): Promise<void> {\n  await store.size\n  const db = (store as any).levelDb.db.db.db\n  await new Promise((resolve, reject) => {\n    db.compact((err: any) => {\n      if (err) {\n        return reject(err)\n      }\n      resolve()\n    })\n  })\n}\n```\n\n### v0.16 May 2019 - SnapDB as Backend\n\n1. Switch from RocksDB to [SnapDB](https://github.com/ClickSimply/snap-db) [#45](https://github.com/huan/flash-store/issues/45)\n1. [#50](https://github.com/huan/flash-store/issues/50) has been fixed. ~~WARN: Do not use this version because it has known issues~~\n\n### v0.14 May 2019 - RocksDB as Backend\n\n1. Switch from LevelDB to [RocksDB](https://www.npmjs.com/package/rocksdb) [#34](https://github.com/huan/flash-store/issues/34)\n\n### v0.12 Jan 2019 - LevelDB as Backend\n\n1. Use [LevelDB](https://github.com/level/leveldown) as backend to skip the compiling when install.\n1. Using leveldb official typings from `@types/`\n\n### v0.7 Aug 2018 - Nosql-LevelDB as Backend\n\n1. Use [nosql-leveldb](https://github.com/snowyu/node-nosql-leveldb) as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## FAQ\n\n### Q: What's the difference between the `flash-store` and `memory-card`?\n\nShort answer:\n\n1. `flash-store` is for save data to local flesystem.\n1. `memory-card` is for save data to a distributed network storage, it can be serilized/deserilized safely by design.\n\nLong answer:\n\n`flash-store` and `memory-card` are all built by @huan, and they are all follow the ES6 Map API.\n\n`flash-store` is using a no-sql local file database to maximum the performance, it can be used as a local database, or a local cache for whatever you want to catch from a network database.\n\n`memory-card` is using a local file to store data in JSON format by default, however, it supports more distributed methods. Learn more from it's repository at [here](https://github.com/huan/memory-card)\n\n## Author\n\n[Huan LI](https://github.com/huan) ([李卓桓](http://linkedin.com/in/zixia)) zixia@zixia.net\n\n[![Profile of Huan LI (李卓桓) on StackOverflow](https://stackexchange.com/users/flair/265499.png)](https://stackexchange.com/users/265499)\n\n## Copyright & License\n\n* Code & Docs © 2017-now Huan (李卓桓) \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.19.1","_nodeVersion":"13.13.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-wtui9ibZf3m4zuX+oNtxudng11OHAR8Eh5NjI5vGtPFzTYXhjxl8AZsNVYqj2mCSHd2bVpEo3gHX52V73/+ewg==","shasum":"b571458a5c926389dbd3144b501bdd99207294a2","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.19.1.tgz","fileCount":53,"unpackedSize":137139,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemApkCRA9TVsSAnZWagAA1LkP/iGwrMv3PZSyx43dDhzZ\nsUHHKvNfqhg9DdaW60B4gTkxQwqix6NpS/Unds0fFwxPamXYxhZEJMQnB9sv\nT8vJP03cqmH4Em8dlImCUwiIgF85rPfMIBvx0NmfFtK4cGbYdG86KXavBhUd\nQDbFqkeFTpuz8s/saSxdWhp6l7aa/jXawt03nNS3Y463ZDESSvqGpg4G1myc\nne+6uSehUY4Gev1jbEECsLIC4lCbGoBdwAe+XPemvf/LIdq/AIqwDC8EBjd4\n5fkC87xZ7LnLGAOouvsSAaius3izOB/29pDFrSClw6+CdT2+IYCbJpQJJ/Da\nAPZSc6j7uIqhAmzLZttup1EoNm+ezlhPJYck3uaLGwXnYTU5zGsdUvU2zfz9\nBWTImtGXZX7IBP7Cq5XienK5YTZUT2Yli0UybK2cys/4emMATECJyueznG+/\npbGX8zjQ8FmGrFaPEBgY9nu/w9gDWp60per8VHGoBn8IGhyy9zbBBG2lD8ah\nW8sk91CfHjAk76WQ0qI6yMc+46HtoC4xWXA0Z1f+C77MvcoTgY4qPhQaPmZq\nNIMk3gjKrvkgCfGOn5vhOVhsrpuwimQXnAfPecbuUu3DS6rRyUfkIZUpT/np\n6Sf4BWTnidBrdAXXh5GxlD/o076xN6NwEGAFdh2MFRBODoX6O1aV0W+pmmBn\nK0gq\r\n=Y2+N\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEEiT4OBS4ktkzQOeNziI2hT3tOlmSzc/zOzPZsXyQfqAiAq+/rQc1NHTAa/xzKzWyjFq/Ht/2KcPcaEGsLLXsOzaQ=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.19.1_1587022436001_0.4679752146252518"},"_hasShrinkwrap":false},"0.19.2":{"name":"flash-store","version":"0.19.2","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/index.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","better-sqlite3":"^6.0.1","brolog":"^1.8.3","cuid":"^2.1.8","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@chatie/eslint-config":"^0.8.1","@chatie/git-scripts":"^0.6.1","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.8.0","@types/app-root-path":"^1.2.4","@types/better-sqlite3":"^5.4.0","@types/rimraf":"^3.0.0","pkg-jq":"^0.2.4","shx":"^0.3.2","ts-node":"^8.8.2","tstest":"^0.4.10"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"b512cdd46dafb5345a221cf520e828fd1943dd1c","readme":"# flash-store\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by RocksDB](https://img.shields.io/badge/Powered%20By-RocksDB-green.svg)](https://rocksdb.org/)\n[![Powered by SnapDB](https://img.shields.io/badge/Powered%20By-SnapDB-green.svg)](https://www.npmjs.com/package/snap-db)\n[![Powered by Medea](https://img.shields.io/badge/Powered%20By-Medea-green.svg)](https://www.npmjs.com/package/medeadown)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Build Status](https://travis-ci.com/huan/flash-store.svg?branch=master)](https://travis-ci.com/huan/flash-store)\n[![Build status](https://ci.appveyor.com/api/projects/status/avwx4bnldox01870?svg=true)](https://ci.appveyor.com/project/zixia/flash-store)\n[![NPM Version](https://badge.fury.io/js/flash-store.svg)](https://badge.fury.io/js/flash-store)\n[![npm (tag)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/) \n\nFlashStore is Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## Requirements\n\n1. Node.js v10 or above\n\n## Examples\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.set(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implments the Standard ES6 Map API with Async modification:\n\n```ts\n/**\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implments AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implments the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implments Map<K, V> {}\n```\n\n1. You get a sync API at the cost of all your data have to be kept in memory.\n1. The data will be async writting back to disk for persistant storage in background.\n1. The performance of `FlashStoreSync` can be expected high because it's all in memory.\n\n## Document\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## See Also\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 Bigtable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## Known Issues\n\n1. The `gte` and `lte` in `options` do not work property. ([#4](https://github.com/huan/flash-store/issues/4))\n\n## Version History\n\n### master\n\n### v0.20 Apr 2020 SQLite as Backend\n\n1. We hardcoded the key type to be `string` only in this version.\n1. We decide to try [better-sqlite3](https://www.npmjs.com/package/better-sqlite3) as it claim is very fast.\n1. The other alternates (would love to try in the future if necessary):\n    1. TypeScript: [sqlite](https://www.npmjs.com/package/sqlite)\n    1. WebAssembly: [sql.js](https://www.npmjs.com/package/sql.js)\n\n### ~~v0.18 Feb 2019 - Medea as Backend~~\n\nDEPRECATED: Due to [#79](https://github.com/huan/flash-store/issues/79) [#74](https://github.com/huan/flash-store/issues/74) and also it is very unstable in production as my experiences. (e.g. memory leak & block event loop)\n\n1. Switch from SnapDB to [MedeaDown](https://github.com/medea/medeadown)\n\n[Medea](https://github.com/medea/medea) is a persistent key-value storage library that runs everywhere Node runs.\n\n> \"It is a pure JS implementation of leveldown and it's almost as fast.\"\n> &mdash; @Raynos [link](https://github.com/medea/medeadown/issues/2#issue-38431966)  \n>  \n> \"The LevelDOWN-compatible wrapper for Medea really opens up the possibility to reuse the modules that have already been created around the LevelUP ecosystem.\"\n> &mdash; @kevinswiber [link](https://github.com/medea/medeadown/issues/2#issuecomment-49785861)\n\nKnown Issues: [FlashStore 会写满磁盘的问题 #155](https://github.com/wechaty/wechaty-puppet-padplus/issues/155)\n\n```ts\nasync function compact (store: FlashStore): Promise<void> {\n  await store.size\n  const db = (store as any).levelDb.db.db.db\n  await new Promise((resolve, reject) => {\n    db.compact((err: any) => {\n      if (err) {\n        return reject(err)\n      }\n      resolve()\n    })\n  })\n}\n```\n\n### v0.16 May 2019 - SnapDB as Backend\n\n1. Switch from RocksDB to [SnapDB](https://github.com/ClickSimply/snap-db) [#45](https://github.com/huan/flash-store/issues/45)\n1. [#50](https://github.com/huan/flash-store/issues/50) has been fixed. ~~WARN: Do not use this version because it has known issues~~\n\n### v0.14 May 2019 - RocksDB as Backend\n\n1. Switch from LevelDB to [RocksDB](https://www.npmjs.com/package/rocksdb) [#34](https://github.com/huan/flash-store/issues/34)\n\n### v0.12 Jan 2019 - LevelDB as Backend\n\n1. Use [LevelDB](https://github.com/level/leveldown) as backend to skip the compiling when install.\n1. Using leveldb official typings from `@types/`\n\n### v0.7 Aug 2018 - Nosql-LevelDB as Backend\n\n1. Use [nosql-leveldb](https://github.com/snowyu/node-nosql-leveldb) as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implenment ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## FAQ\n\n### Q: What's the difference between the `flash-store` and `memory-card`?\n\nShort answer:\n\n1. `flash-store` is for save data to local flesystem.\n1. `memory-card` is for save data to a distributed network storage, it can be serilized/deserilized safely by design.\n\nLong answer:\n\n`flash-store` and `memory-card` are all built by @huan, and they are all follow the ES6 Map API.\n\n`flash-store` is using a no-sql local file database to maximum the performance, it can be used as a local database, or a local cache for whatever you want to catch from a network database.\n\n`memory-card` is using a local file to store data in JSON format by default, however, it supports more distributed methods. Learn more from it's repository at [here](https://github.com/huan/memory-card)\n\n## Author\n\n[Huan LI](https://github.com/huan) ([李卓桓](http://linkedin.com/in/zixia)) zixia@zixia.net\n\n[![Profile of Huan LI (李卓桓) on StackOverflow](https://stackexchange.com/users/flair/265499.png)](https://stackexchange.com/users/265499)\n\n## Copyright & License\n\n* Code & Docs © 2017-now Huan (李卓桓) \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","_id":"flash-store@0.19.2","_nodeVersion":"13.13.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-/5y9oalK5OK9T0NuRZWqwPwywoMvQabFYvteyzlj0K4wIo+2jHYZIc3+ri8/ywcbvNO5vz4SO7UJFbtuU4bA6g==","shasum":"7752050e3f7c4ef0e3d6ca556d24663886e1232a","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.19.2.tgz","fileCount":53,"unpackedSize":137038,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemAyeCRA9TVsSAnZWagAAO8sQAIyhpMV88RwsltgbvJQz\nhLwwlI+9ZtltW68NHZsSxSfv4RSd8aBXJNtZbJCiyC0K40quk55everUVYyY\nveIwPDvvQGbPDodlHhwNn+NEp60ePZ0A7qdNdt3teWtTh8l8+CeZuFfEUxAb\nr+8mViA0wIkd1i+xCOQveo7oALfVNUN2A0edTgeRfnRiqzFP50cwI/kn172T\nyUnaAmnj2i+sD4D5MaK03fFr3C6o08K0NvcLmjZG6RXmQoSIvjvaKEMAUtq/\n1e1SoU3TdWZ3GEPKURgcF43nItV0S9GJxwr6TKVfk9IZMz9OX3gzIFNFeTO4\n4fhFgfRr4cReNlusRaWEgSNU9FS84JmkmHyRV5AXQyPa5O1yvRoYWK7pwQej\nEBlTUuK0tauqqhh3ZIzGcmgxNVQn6EGk9pRexYaPxuCXirqzN6FJA93o2ZT2\nrn560qeaWvcAt6zG5NYTbOr8SXBiYak4gkPS4zsHZu7n8Qw7BqvKENwVbDwA\nNsNljzOIgi5PmVVNqgU1tIe8i8hoGqepqIdrOjjfW0Css0xWbyR8xHw1oWKF\nSgNj4kne4mR6ag6qpoPP8XVACn9pSRG2+OMVUmWHlCull5fYvOfyykjRMa7I\nRo8bTWNgFAntyTiPuMPQ0P6g8pBCrpB6o25jq+w6zOWDiT0XA9oxHbHHv9y/\nxeNl\r\n=apdP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICgsd4DYmOhaIfrdzR1xxlcy7mHknZM6XwUfpVujqsAoAiEAlXPX+l5Hsxu5OM+sUN7GZVtx1ApT+JY7ieOSMZAs3VQ="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.19.2_1587023005680_0.3329039653443506"},"_hasShrinkwrap":false},"0.20.1":{"name":"flash-store","version":"0.20.1","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/mod.js","types":"dist/src/mod.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","async-map-like":"^0.2.4","better-sqlite3":"^7.0.1","brolog":"^1.8.3","cuid":"^2.1.8","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@chatie/eslint-config":"^0.12.1","@chatie/git-scripts":"^0.6.1","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.10.1","@types/app-root-path":"^1.2.4","@types/better-sqlite3":"^5.4.0","@types/rimraf":"^3.0.0","pkg-jq":"^0.2.4","shx":"^0.3.2","ts-node":"^8.8.2","tstest":"^0.4.10"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"b9d58fce45735d82339727de9366e78029b6bd05","_id":"flash-store@0.20.1","_nodeVersion":"13.14.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-VP6RDyyKNPDPKh5xlULPiDT3+SLivn0gyD/DPz+VGmifgr9jes3hQw3EDXHUU8e0jNfca3keRUC3FyexEXox7Q==","shasum":"a72fa888a7979843b90c1efa615f346d7ba70c7e","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.20.1.tgz","fileCount":48,"unpackedSize":137584,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIqgPCRA9TVsSAnZWagAAiXYP/jIQzyrwHecyN37toDC6\nCOntyqlnOXUl42VI8QUpAKSv1XgMvkoJoVGOY9SbsljHe/KVOJezeOzy3f30\nZZBXRjmJo6Tu+VrF2KCoYFmV5Ko68xM6NmcFxYdQPOMx+xTwmlUU9GH3S0aV\nQJ9DNm5NTBT4HtNa3OfDH0YFLpnzqX95ETtfJFRoAZXPfC9dj2oyZpk4nJmp\nZNVup2f97bwWI0tbe0ISycmQcVMO/TZHFMjAlDwSfMrnOIjyZ/9IuauHATWR\nkKRmVKj3eH/Stl6+cG9FDJx9KjMcR74pg6S2xJt4G16kR8kICgtg9OtvTXcM\nCrhAJW2GkZOk8/xRCq96CA4iNVmTRCqekEqy4k8zRKng9ygcEdnrCnoY0BX0\nXnoaJWKP++a6egrWgXzkyNn6ZmNILhzhEPAEU1jDTR+Ks0rZsBGfDzIO2fKP\npYsFxAVkuXBNqSP1Tr+no38dPhaZ0tT+g8IW/0JuLeNhhvA5o4NJGLGrJSUW\nIxCA+eErHwKzjBN9DBMQquEYfnEfEARfZ3d/esOLjvt8AIqJFOmc2MBmRQMn\nyjSmfcGJtJcp8dQXfC5eH/VmZNOQakWwaE0ekql19sgVWSaG5HU8vQ7d3JuD\npR8lPTHH4xpTeeTJK17E63OY+hBafdb2zKw0llpZz+zOa6BFTFXoGpOKVdLE\nUEmv\r\n=dJQc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICU3vDsbrkxZJpAwedLkenVGla4d05Q5hYj8IQj44tWQAiAmdXPS37T/zvuZJsWJjq2sCiS7XYqmq3lRL1O3p5qIcQ=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.20.1_1596106766639_0.27316948311578537"},"_hasShrinkwrap":false},"0.20.2":{"name":"flash-store","version":"0.20.2","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/mod.js","types":"dist/src/mod.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","async-map-like":"^0.2.4","better-sqlite3":"^7.0.1","brolog":"^1.8.3","cuid":"^2.1.8","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@chatie/eslint-config":"^0.12.1","@chatie/git-scripts":"^0.6.1","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.10.1","@types/app-root-path":"^1.2.4","@types/better-sqlite3":"^5.4.0","@types/rimraf":"^3.0.0","pkg-jq":"^0.2.4","shx":"^0.3.2","ts-node":"^8.8.2","tstest":"^0.4.10"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"9077988df0c6c930664df14389bbc57e7de3f646","_id":"flash-store@0.20.2","_nodeVersion":"13.14.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-AghYsk67NXcDYN6F6RBSY4VlSUcOCw9dbMOcBWEXcTTRigWLKJZyjcII9hokIkgRpJQF8JPSxeAgUSN2SMDE9A==","shasum":"7fa562a19af5182beff5ae37573955d127d99ee4","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.20.2.tgz","fileCount":48,"unpackedSize":137584,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIqk8CRA9TVsSAnZWagAAUJMP/iwnBVAB1aJ2pXDpbM8h\njw5syE3Z6ws1x1HW9GC3FEqYsEfTnOiezGNgA2qMBanbpmG7gEsDjAkbr8wV\nlcap1NH+KzmwbMzzW2Iy6himJrPC7Fw8pTpsEjsEckIILbc9kpnSIX51Uaxw\nxFdL8tFGKWsmCLHPMz5PolQFhyFwQecCK0TwAjfta9YntJf67CEFCfEI0JsI\nGMrOCePxR9411dRhSqbfh5qTqvud+4Vlg1IIGacimBRWaMh5JlzQ4X54iRyO\n196+JRrVPvtrBRlb71we515is1L4cFehl7Lm4eKmwnuDN6wFPPYpSiwhRGsd\na/c52VEZSFfKBRroQist307cWDihh7IkzcdwHgzfp05CS+w+ge7/X8ENHx19\nD7aqs3CvqVxP1QOB4vRnaX40nn9SXKGs+LTjSbkyHMz4cIL2Tgy3Ny1JOJII\nU9BTvaMzH1hRRYXQgp+FhXNFQgeq3WAfuNLlJaNLqX4OJNlqfU2/eZDK6EUJ\nQN5IxNjabcBhuZ01GCkawquaIwOAFaKOsnz7M+zqUgvEF3X0jOmOo2P4sVI4\n1B8OMYvSgw28yBl/qvMwaswhjL1UORRjif7slBbtts46GtVvdg3ngLO/Vvap\nRV8v3tPHuNATeFL29P/rA7icB2CbYcAViuUWTt6b/zQBb3LS8E4UOS3fMuN3\nTT7M\r\n=dp/9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDgn/4abX03P/ZfEo3jzVBVNJJCOoG3pa0FstBauokugwIgT97aZIHhWbMtP7KsOTV9ynDXry57b2l9xImX110V3UA="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.20.2_1596107068205_0.7671542426237246"},"_hasShrinkwrap":false},"0.20.3":{"name":"flash-store","version":"0.20.3","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/mod.js","types":"dist/src/mod.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","async-map-like":"^0.2.4","better-sqlite3":"^7.0.1","brolog":"^1.8.3","cuid":"^2.1.8","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@chatie/eslint-config":"^0.12.1","@chatie/git-scripts":"^0.6.1","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.10.1","@types/app-root-path":"^1.2.4","@types/better-sqlite3":"^5.4.0","@types/rimraf":"^3.0.0","pkg-jq":"^0.2.4","shx":"^0.3.2","ts-node":"^8.8.2","tstest":"^0.4.10"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"7213da8df505f5d28bbf9afaa9b6c4fdb03e4656","_id":"flash-store@0.20.3","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-JQq0sLyO7nY/OZzucf21/fc/Rc4GiF3PcWzf61bXmYs5Zo5HpQFRXuShAUOqeXaXWk4tPO/TGHAUePZUihZxjA==","shasum":"4c77a3e12b9fe1305faabf7c3885a973ede2eaac","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.20.3.tgz","fileCount":48,"unpackedSize":137726,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIqsCCRA9TVsSAnZWagAAcswP/0kpiH6aGV+uzaJlIJSi\nvfNEmnaD3NtEgZAsEjhSpNdFsZCzA02+AEWtXnTyodBawFeQ6lNOqKTZTBY7\nJMiv+vIThNt2e+e/oT7sVrzxkq2c+Je67TN72NC965stDEaA2H3f0simajlz\nWtQr/cp9j6OD/b9BI+cGbD4ndKxqm4kb78+i0Iu1RawzPzeEbk8bl6qreDsq\n8ESz8gRoS70Zbn2iJb/nLsdg8bvUFbQkR8SaNU0jzXuLUUUQnOWpaFhtyPIU\nS3XcR5KxtrZjEmKBLOooZriE79tkHhc7hWzVmUCNdEcxfsl9lP2FGxHHN4wF\nwH/W5DY6DVxvy+IX2nnG/gApDCC0eFpLYy9wn5euq/MsCnjmMmkaPSoUpc1v\nMtmT+jHNQwXtjl2vv/yJZ4YddFhXQ3oG5TIyI2+BSoz5gKWBbzZCpTzSdFfv\nIZxO2jnpQFl06+wwChfKSME2C1n5QeKdV3nG0aLrBLOJTshSCUfwHl0VHvtZ\nwv0hMPwyFeCKHixA8z7t7ant47yCpC2PnMFMVKDa9W+shvJ997Sys6i9XaFK\nhOykQq2VdtSvou8TVCaNje2lDeq72vd8Gj0xcyCgxijytUUQp0yuKQvZW5SK\nJeaKXGJZrWdKcVLovpzyNnWo6VHgKQNrEGzGu8tf924H6k/UuxXJZCapmyu+\n1a6W\r\n=/KDg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC6utYg5qcNm/ccr1lcuVjUErWrBz5YwCaO2dAi2UTbuAiALDGq245XlRac3r9nWQ7hzRmWK/fTbrBK969xEz1pNyQ=="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.20.3_1596107521723_0.8271494727318782"},"_hasShrinkwrap":false},"0.20.4":{"name":"flash-store","version":"0.20.4","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/mod.js","types":"dist/src/mod.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","async-map-like":"^0.2.4","better-sqlite3":"^7.0.1","brolog":"^1.8.3","cuid":"^2.1.8","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@chatie/eslint-config":"^0.12.1","@chatie/git-scripts":"^0.6.1","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.10.1","@types/app-root-path":"^1.2.4","@types/better-sqlite3":"^5.4.0","@types/rimraf":"^3.0.0","pkg-jq":"^0.2.4","shx":"^0.3.2","ts-node":"^8.8.2","tstest":"^0.4.10"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"e1ec8a73588df59a5fbfa610a1faecc7d3903b47","_id":"flash-store@0.20.4","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-7pRElRKHiVgm856sCj0xQzMsxqQOVuc11mZWh71ckzoHd2r5i0fjtYa/uiO+aBGXDb5Wne5CP29EXvkilERUFg==","shasum":"806c4c9a348253b8af39df59ef14341d9df8a9fa","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.20.4.tgz","fileCount":48,"unpackedSize":137726,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIqtmCRA9TVsSAnZWagAAcSUQAIYnPPUgIYDz6cpdVkv6\nRzsLAFkjEsdyjh/rhK1RwG4Z9fM7LqHBeEEeumG1JiqllDzefMThvNMAWG2Q\nz8POXwLDkmqQKw7Cy+qmBK/bPSiRFNzfAFvRSVcLQds/8ijJpFXhUqYfm++T\nI8zmI6Od2PM1SuMtE7n8+eNjRV9GQWnpVGykQKgW3KrNjh12iGN8qAC/lhK/\n8G6D4uhVNFAVY8mHLmtUns1sGvBH0Tl+JGfZ89vk4Up2XSmOWZO/3VBWqxKm\nbQao8vlFmaQg7zGyc+EGmdqXwO5W44hIY+qs4tO1BbcytZebq1C3ApQbVMo0\nbSbU8PAr4ytwVus6WfXN4R/qwrXue1YdbCkOxz+lJhjywXoQ3hDW0FIdlY9A\nZepjcvBQ5Og4ucx0i89bJbPpuoku5LXeVMmQ+XbU+cONvAVstmuQNpOmcG5R\nMHhVTIWPCieBQyyopz+fzRi54N+F7ZkalZgcTiVZAYcdhYavJ2m9YTjavi/t\n2th+jnTXKdUx3Q15Ox7yYMCFySeZCrBjQKg1ot/xfLV2t/6DAS8w8enWwJHG\n0e6NBFFr77IPMyCReeW6QZTwuw20CJJTfVT8wtjFlsjf5AKhnxH/+DRrjaqC\nfM3lHH37i7RT93CXJRorrZ1aFwEiOyrDU1ZdKqiOgsPG0aBFHKEwWO4l/LFU\nCDJx\r\n=/bB+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAQJ96i5xisHaflNu0NwPraXBwnjzHu9MzZsW0XfnLK5AiEAuiyEN62Q/wUSuBaUjbq+m8MglED8Q/4g2JOfaM7GyPw="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.20.4_1596107621664_0.21308353957852377"},"_hasShrinkwrap":false},"0.20.5":{"name":"flash-store","version":"0.20.5","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/mod.js","types":"dist/src/mod.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","async-map-like":"^0.2.4","better-sqlite3":"^7.0.1","brolog":"^1.8.3","cuid":"^2.1.8","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@chatie/eslint-config":"^0.12.1","@chatie/git-scripts":"^0.6.1","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.10.1","@types/app-root-path":"^1.2.4","@types/better-sqlite3":"^5.4.0","@types/rimraf":"^3.0.0","pkg-jq":"^0.2.4","shx":"^0.3.2","ts-node":"^8.8.2","tstest":"^0.4.10"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"2a932a00448e93d6506808dcf7e9759411089caa","_id":"flash-store@0.20.5","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-wKG/Gg8T/3Qxopq4M9r9WyfFlv2pZfd8kbif5nJ4hrntmYJju6EVm4xoF7LtRB0SDINXEPyvoZvnRPbopOOa+w==","shasum":"8e64c90ccdcb3f733d741df8af265fb5a7b1155e","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.20.5.tgz","fileCount":48,"unpackedSize":138247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQOEeCRA9TVsSAnZWagAAmK8P/2ts4wM1ROH4Ec2Sj5/r\nw7riWTWBEvhADeDBhde6+jRls6Vl/I5tXbgWus/u5VTaQo6SfigZil699rb8\ncgH5/U5CJPYdtaxAMlTFCe1lIsGIVtx+bZdPcTmFaAFcsrRYXWgshqjMQQV3\npNkbeoddT3+V9oFWu65qfvTE35u+O21/QuxbPinB22O1gEOWR37ggTggVVUk\n/nADqTvHAGlOEU2JvWEt+By3OyQUWuUKUuCaQsHQOkJ7DFVVLlIm+DCzOHG0\nBKhFsZKURDVzHSl7ShmuEfUQy59ETnEcTAiO3uX3v6a/B041Ymh9BSYYBH9l\nRPm70ZOcMjIjvjaka+f4dRLm9w20fah6UcHTbJu+xpxY5r+kr6iesRbvfcLo\nVgy3y6Q5j5+lKNvLJ6VlPiD+iz+OdG2WPAWMvRPrmKuNXGYFLAunF5NMqaPr\nM+83supCPhs+DE57radt7xDeA9Ji0H1Yz1BIpe+uQ1iIgeaps9aoOBYPoKOS\nFKdjoXQZ2W7T2Mo5/rdS1m/cUXX2XRz6+u/OvQ9RJE/Vf4CthTxuHpcs4I++\ngrKpYZarLUpijUI4BkEe9YbfU1pYFGPEU6ZFk/teX8VAygTyFJDFF9N+U4Lp\nFk7gMaQyZbTnkbwS+F2ji4DtWuhU9kQRgXD5+gPp6+FCSG7NZTloptiTNf7B\n3wkn\r\n=7zfB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCAxkt9rnSdgIvEVGiigpPlZw6zIY2+rzTRhbSoC1GB0wIhAIZygniCAd5bZPSUnuFPNvpXkw+3ZLW7pUTFLn4VwOKR"}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.20.5_1598087454107_0.8431794693302983"},"_hasShrinkwrap":false},"0.20.6":{"name":"flash-store","version":"0.20.6","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/mod.js","types":"dist/src/mod.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","async-map-like":"^0.2.4","better-sqlite3":"^7.0.1","brolog":"^1.8.3","cuid":"^2.1.8","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@chatie/eslint-config":"^0.12.1","@chatie/git-scripts":"^0.6.1","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.10.1","@types/app-root-path":"^1.2.4","@types/better-sqlite3":"^5.4.0","@types/rimraf":"^3.0.0","pkg-jq":"^0.2.4","shx":"^0.3.2","ts-node":"^8.8.2","tstest":"^0.4.10"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"f172f557c3473c271051a1c032dd320f75458553","_id":"flash-store@0.20.6","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-JDch4qEV8EuijOX9JzxM8slI2RnAIRskoVFWGvzWD7kRAtmfn/rI7w8zlTtpp6PCqYoTRF+FKsxTvsHKXlIHCA==","shasum":"7f2b5feeff5c9c600775aaf82fe144b82227af2e","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.20.6.tgz","fileCount":48,"unpackedSize":138247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQPIiCRA9TVsSAnZWagAA3XIQAJXPt26MUHY/Rs6NaovH\ngkC3KCD0u2CNBEUDSJ3ArrqDM4uq3qr0l7f45qYffA0MCjDN8Ug3fI/Ux/zH\nWbB5a5Gdw25t3Qec7vUSsRiSQ8TT0MwdIz9X23R8B6lWb3PnzBJixr6sQkbX\nIwANjIF11lSbyF7vrqkjj7KZYr25130VXy/FQ6dABD7XaQW+v0mS4QER5MVo\nP7n7Czb3soBHWqnjOXgT83J98KzM0MFLhOpR2V0I6F3jKc02n7C+5cuQQg4j\naJJtaH2oIgP1uBKCjHxNBK0y6SUsPfSIdkf6Rx3V6E8iErnU9ZaDhnBdKwH1\nVrSd3VXO91cinX5pjr7goUK67ifbVKe6HUYtpafPRwN8LBdyHqfnKM0A7rNK\nyII9Px7qiYSZuKYtbZN/LoXTytr5sTHWk2rS3ejV3dpeuctgWgt5gJ8kzjtS\nOwuHtmO6PTVa0XXf3khqbe03FuuyIUXzr46bW6KfN4pHzzra0xx8dXu6pb0E\nrwGYtD/7dbmaA4eYdlCCuYVlYJYa75aUAsgCB7USYmO0fc40+JC8PfzbGDFE\ngOW6D2jU1MAIwiijMy+dvIdboit/UVh8Oir08g8eJFCE07Quh5uD70fUQE6a\neSHBr6MGqs3GBuxUgJ0uQU/gzoK7yU5t3s2yAo6M8HAH2S9wkVrJMU01JVW3\n4zgs\r\n=+xbC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC16txcoGPKyfNIR/IjxQFuR9VlDwdxh+0Wz+cpeldMHAIgPHKI5HhHzIYyDA+ur58f8jMdkZ6+DXDV80pge1sPShE="}]},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.20.6_1598091809538_0.22565474546696107"},"_hasShrinkwrap":false},"0.20.7":{"name":"flash-store","version":"0.20.7","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"dist/src/mod.js","types":"dist/src/mod.d.ts","scripts":{"build":"tsc","pack":"npm pack","clean":"shx rm -fr dist/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build","lint":"npm run lint:es && npm run lint:ts","lint:ts":"tsc --noEmit","lint:es":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --ignore-pattern tests/fixtures/","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"blue-tape -r ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","rocksdb","snapdb","medea","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","async-map-like":"^0.2.4","better-sqlite3":"^7.0.1","brolog":"^1.8.3","cuid":"^2.1.8","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@chatie/eslint-config":"^0.12.1","@chatie/git-scripts":"^0.6.1","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.10.1","@types/app-root-path":"^1.2.4","@types/better-sqlite3":"^5.4.0","@types/rimraf":"^3.0.0","pkg-jq":"^0.2.4","shx":"^0.3.2","tstest":"^0.4.10"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"c62cbbe3c34c3e8d08728c12c5b10a42bcfe8ea3","_id":"flash-store@0.20.7","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-nDLEVPhhYRDQs0IPzBUrjoohArULbr59lp6T9RS8HXG8P5YfmMhCVpkaqVpZqQV8V8EdKb1SgesZyAnt3OrMPg==","shasum":"96c0394f5859db530080063201565a828782d8d6","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.20.7.tgz","fileCount":48,"unpackedSize":138213,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyPHmCRA9TVsSAnZWagAAbOAP/jVuEsC2hRgaFQhq71VO\nxD0xfYCretf+KeonxuhFSHCraR2ARdJgcfbkif/poeFC5pQsXZHe0bUSCOQF\nkcPuU/nr0Agd2v+LA60T60hk8XsjJAszggTp8gReva8PhSZHe7LVNf58Qflb\nQBl43kKvsBrMwlo3aHiSrrLiCE2QWZ8v12JyojYklK3lWof1S+rah1VIi/5q\nR60AuiTvEEcqTiIMfpqIUbsQmi3itKkWUkPlHHqGHPz7kmnwedJ3hdZn0wlV\nAqXg1ayncIKuVu77mPzE8j9HRHEwAaw4LBlYo37REEfdkI1i9aJQgnK/GTWZ\nj2nOmoT0gsgrIvkEtKOTIRhCNbSPHQM/JC2RDf9qyzL17q0mo2cYwHAnIlP6\nxnBnOaKID67D8z5/TitPrVfZukP2jDJAfIGz+Ov/T9qL3Pxj7qOMOIEnlgZl\nfQEBu0OtY4d9eVMRADMe6cvuSGiqjOTSTPQJ1/PRmJM+7HbmPdmin8p1Yyt2\n+Svy/CmRGyUu5uuxP+epWGv6PgzQ6lRsLoL1pG9VDuZKciLZGk3IlTxnwFVO\neTGwr526MmBJnFyKT274C4D88Bc1OKIpMzfoNZZ0AXgNizol9wilAqI7r8fy\nCVoA2KZHD5bSSKkCSrx9rB5gaIJjKfDiShRnKNL1V8VKY+wl5lvuK+Fz5hAm\nX8DB\r\n=2G7A\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDfIV/zYr5ehYMYhd/tfIxOGkLP7x/TYynlE6CN3z/9/QIhAIukXLT6uEFu+DhJ01YCvQIHG/ddXOcv+CqqovavJEcM"}]},"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.20.7_1607004645785_0.41267217681817936"},"_hasShrinkwrap":false},"0.12.11":{"name":"flash-store","version":"0.12.11","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/src/mod.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"npm run lint:es && npm run lint:ts && npm run lint:md","lint:md":"markdownlint README.md","lint:ts":"tsc --noEmit","lint:es":"eslint --ignore-pattern fixtures/ \"src/**/*.ts\" \"tests/**/*.ts\"","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"tap --node-arg=--require=ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","async-map-like":"^0.2.5","brolog":"^1.12.4","cuid":"^2.1.8","encoding-down":"^7.0.0","leveldown":"^6.0.1","levelup":"^5.0.1","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@chatie/eslint-config":"^0.12.4","@chatie/git-scripts":"^0.6.2","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.16.2","@types/app-root-path":"^1.2.4","@types/encoding-down":"^5.0.0","@types/leveldown":"^4.0.3","@types/levelup":"^4.3.3","@types/rimraf":"^3.0.1","jsdoc-to-markdown":"^7.0.1","rollup":"^2.56.2","rollup-plugin-json":"^4.0.0","shx":"^0.3.3","source-map-support":"^0.5.19","tstest":"^0.5.16"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"tap":{"check-coverage":false},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"48bc05005bceb32a789bd1d71b35abca08e2ded3","_id":"flash-store@0.12.11","_nodeVersion":"16.6.2","_npmVersion":"7.20.3","dist":{"integrity":"sha512-KEKQtIgTz9Omvt+ta2LMTnvnocj9Kh6Vs3cCMMPybHhtfVVL3yWUf9mpZ6YO6OWLhWNwdQYh1FWk9yTh8PpJNg==","shasum":"4ab330f96f863f69a6f477497418435ae2ed6a47","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-0.12.11.tgz","fileCount":42,"unpackedSize":236353,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGVvTCRA9TVsSAnZWagAAgoAQAKDnN4CFgQ4djO43qX7U\nDPVRh+vCV/+6ek4oJwWwTxb/H1w2BkfUCPYzGQpI2X/PnLqRkfXKquROCMLA\nHQhr0AFN3sJN9JnVjHNt2UpZm2Gg5V9v3fMMzwON3xXswgUTGK2qMoKrGvi4\n2utmCQCfphCX9sUnttFBTIidZBMmot93OV59kh0FZcoA6CROpYRS7EXrgrZf\nmpUPCcZg+qWrCMGUc/hl1PG/L+KSlRdJzBsoKpDN/Y0OX1aB1Rwrt5hhOx8N\nEYglHeMSWLoq8TQm0IOWa57tsV27OT+iCKNmYJrcWRUMxxYQ4QtXzOCXioOk\noBUBrtwvZn10f0FGPKnyAgbcFeQRJIBEvUFEloKLCjwsEL5qSG33vpsq6qoa\n6Ar0aHh3Elns7WdlTm/ADiGI2dhsN+55ZH7qL1DKF6xEMm1Wp6Gu2+T/iOnV\nRwg1FA1MfjUhdFtpA9bjibEloH17Pff2H04zxb2KQRcWxiFTPtG3spTvvwjc\n0MmvrBNDUnmVhkkLFFQABaKYduvGZO7uGFiPo04lq9094WJTY/4iZs0lamYO\nyqCEvIC/XnfN+L5qVOpcZ53oh4F/7FkFZEzfxn3tbXsX2PF+ZwbQ13ee5R4j\noUzz8qbbkkbE8PvguPGZQmc0uVxPsgESZj4Mm5o8Fnpc554h99WWOTBvjQJC\nmBlv\r\n=lp6h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAaPfJJ7U05z0ZUwPa/VATOQ4guEpZ73MoS1ydH63Tt/AiEA9pivgVOlXL0zEItdxR1PgJZM9kjjOM2TQ8V0E6B2eFQ="}]},"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_0.12.11_1629051859373_0.7836290207465673"},"_hasShrinkwrap":false},"1.0.1":{"name":"flash-store","version":"1.0.1","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/src/mod.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"npm run lint:es && npm run lint:ts && npm run lint:md","lint:md":"markdownlint README.md","lint:ts":"tsc --noEmit","lint:es":"eslint --ignore-pattern fixtures/ \"src/**/*.ts\" \"tests/**/*.ts\"","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"tap --node-arg=--require=ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","async-map-like":"^0.2.5","brolog":"^1.12.4","cuid":"^2.1.8","level":"^7.0.0","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@chatie/eslint-config":"^0.12.4","@chatie/git-scripts":"^0.6.2","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.16.2","@types/app-root-path":"^1.2.4","@types/level":"^6.0.0","@types/rimraf":"^3.0.1","jsdoc-to-markdown":"^7.0.1","rollup":"^2.56.2","rollup-plugin-json":"^4.0.0","shx":"^0.3.3","source-map-support":"^0.5.19","tstest":"^0.5.16"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"tap":{"check-coverage":false},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"b7762846ba77c9af4d2383b3d11ea33f204d150e","_id":"flash-store@1.0.1","_nodeVersion":"16.6.2","_npmVersion":"7.20.3","dist":{"integrity":"sha512-gnfWkPFxS5NMciBCFFmX4Jy33F7ID5tJd4BdkAKkhZTYYSUyl0Mfu5Rsxa9bTKC1mGu1l0CNIvoSxsOfzYt/KQ==","shasum":"184a3a34143f2e5468d65c3080c0ec37d9e0e96a","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-1.0.1.tgz","fileCount":42,"unpackedSize":239236,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGV/FCRA9TVsSAnZWagAArScP/jVwVwALqTvjUHZBHJA1\nCoHybXl2gAsMkIaMPmDPzORq4G1/Agp8y9nIT3lH9XCJvaMG0Q7Dz4iZupNl\nTOsuIU9Sz6J/LlB+L9sOfAChLxHDCb9+Y7HaR+MSjm+xHU4/sEDMf4fh5Dd7\nwCv5yiJYkrco/CSZnj8WMG3wE5GrdJjn2MszAH6GJ48qhy7BD3/nduGKIWLG\njcRcaN5b8ZulbvNNpZImMC2r3qQA6k/R/KWVynsXbl3YgjSMwNRKcITmxYKz\nzsry0+jRmDaCQacgCjUzjv2SRh9FJnvSyCt6sTIGJ2gsLBfewaauySym64dQ\nt700QbwTcOnHJSyznkDAH3Aem6zDWYa80isovP9cQhs+hSKxeXyKj6shQOeC\nsWU85vk6VUdwBgiMVqCCHfm3E0bFw5vRf0Tzr3xLJwsL7CZeofkC/NymwwcH\nNAHF5RnglClhBEGnmejSv8vo4Z6nh5Eu4nnLaX+YxroWxBrrL6Q4aceyoB5X\n8pVbkSZg4frXZ75H3HhzZRj59Bbu4dXx0Mo4ikHKziykli++uq1HIYDaOZ1n\n9ZhR4FBGhV3/rQIFHmdw7UL2WnPlF/CD1m5PZ5FLd4FOFO2f4vVR+9oJurDC\n6eyzNw18jNtxy688qbLUkilqdIAH9m8RpTKDbQhZPGfBpFUstyVOuEMGBq0w\nb7sG\r\n=NOrU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHh6RObzBTmuDmLGDMTVqdQess9CovfXFnNUdLFUs27XAiAPgR4DdwipdJiyQ//OXgs+qRkZ/mZ3PwEj9ehCDwvGag=="}]},"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_1.0.1_1629052868935_0.6119638542248322"},"_hasShrinkwrap":false},"1.0.2":{"name":"flash-store","version":"1.0.2","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/src/mod.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"npm run lint:es && npm run lint:ts && npm run lint:md","lint:md":"markdownlint README.md","lint:ts":"tsc --noEmit","lint:es":"eslint --ignore-pattern fixtures/ \"src/**/*.ts\" \"tests/**/*.ts\"","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"tap --node-arg=--require=ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","async-map-like":"^0.2.5","brolog":"^1.12.4","cuid":"^2.1.8","level":"^7.0.0","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@chatie/eslint-config":"^0.12.4","@chatie/git-scripts":"^0.6.2","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.16.2","@types/app-root-path":"^1.2.4","@types/level":"^6.0.0","@types/rimraf":"^3.0.1","jsdoc-to-markdown":"^7.0.1","rollup":"^2.56.2","rollup-plugin-json":"^4.0.0","shx":"^0.3.3","source-map-support":"^0.5.19","tstest":"^0.5.16"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"tap":{"check-coverage":false},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"6b4b31ee3e56b9d2ecfd290d8db424ad2dba2a61","_id":"flash-store@1.0.2","_nodeVersion":"16.6.2","_npmVersion":"7.20.3","dist":{"integrity":"sha512-lbTsLKPWlczmY7jy9cJKSZhbjeYYXcmhtAfhWUqzQEZvWY6Ez2qBnmzsqO7uQC4Wp/Ky4Znt4uH++AZQ1ENIgg==","shasum":"712625620642dfe117c723a12eb4da08b5bca1fe","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-1.0.2.tgz","fileCount":42,"unpackedSize":239236,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGV/2CRA9TVsSAnZWagAATQ8P/10EnIvD6Bb+PdH4NUjT\nqFQRpc5HMHxCeIqLyNTQ3qGmtn1zXdcRTd+mV4mh7kYSwywlCTElErGzE8zc\n1QOlntTuaFEhRSExmcrKypTA+Rgx7FZQuCw86i5aEa2mZv4+U7ppwVEUfYm7\nEhVKXKgq3ScieGE6nUS1K9bkX5yDnPydXoz320qvzOmSXec44ZKpsj48rJAQ\nD6of1oS4yvob0b15IZtlisEH4DO1SqIOYSLv2HjY2gl3j+cYXbBtfqy24udw\nrthAoxMJ8tSsjIya3lkvlM8ULuEIeU/+VWWOl8neYXyg0y1N9Sb+rflux+Gc\ntLAfHN8dmRud/CB82MKsHQOb6zPzDHZYr2qVBgx6jMp2CaJK6k8FxhiRniHi\nShPGSz2FpLR1iFfaD0lrDpGpMQO7RftcpxeaYC5RSBrqsC4JYj+XTPWudfOU\nANflHyqiXEjFUkRAAsPp+wiH3NfTJd0U6QJR4h4n39+iC+wU1hhMw+HkLEfT\nSAB/2/augFyq/bOOFOkHykv1N60CiDjQD+cqAMNV2ClxbKvQ7XtCufwweZvh\ninGc3eVJqpK7RffgD9BECgT3MFzOMyIJUOl1V+aUdVvS35E+VbEgU1Rb9M9n\nZCf2y+o06svk2KcSrkNCu5gf+uXjA9almzb6S5yL0cp4bMyUeSRBG9MsIai/\n7ulc\r\n=JUeM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDZ2sDXqCpVn7aUB5ogIF6+LM1UL5+g/suxmbt66n4g0gIhAOnP4YTmDZTw7tWxFdUUn6y+m5fA3uSQjefJ4zWNCx90"}]},"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_1.0.2_1629052918024_0.11521277516720296"},"_hasShrinkwrap":false},"1.0.3":{"name":"flash-store","version":"1.0.3","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/src/mod.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"npm run lint:es && npm run lint:ts && npm run lint:md","lint:md":"markdownlint README.md","lint:ts":"tsc --noEmit","lint:es":"eslint --ignore-pattern fixtures/ \"src/**/*.ts\" \"tests/**/*.ts\"","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"tap --node-arg=--require=ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","async-map-like":"^0.2.5","brolog":"^1.12.4","cuid":"^2.1.8","level":"^7.0.0","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@chatie/eslint-config":"^0.12.4","@chatie/git-scripts":"^0.6.2","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.16.2","@types/app-root-path":"^1.2.4","@types/level":"^6.0.0","@types/rimraf":"^3.0.1","jsdoc-to-markdown":"^7.0.1","rollup":"^2.56.2","rollup-plugin-json":"^4.0.0","shx":"^0.3.3","source-map-support":"^0.5.19","tstest":"^0.5.16"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"tap":{"check-coverage":false},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"0ddd8ff5db5e0f8a55b99c9c759cd97d1f621d65","_id":"flash-store@1.0.3","_nodeVersion":"16.6.2","_npmVersion":"7.20.3","dist":{"integrity":"sha512-FnntJj3+tycuJvdYS3CfDVXlHktVJEglHVO00hBowD5NR7R+xHbD2nHQWqwR0J2toTyCVN6n55e7PW7QgDEwug==","shasum":"60613a9e1fc8d7186f6167c51ee305abd7739abc","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-1.0.3.tgz","fileCount":42,"unpackedSize":240071,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGWKqCRA9TVsSAnZWagAAe8EP/3PQ6TgYT8sj4YD4/67q\nQNoYyssH1D/EVmHeSfaxr/9zgF36wddlrki4A0othz7DqZL5f0jJ+yNeANha\nb1n91UlB8E9uO5wIFlvGqG1Jn5ADUQ/yzdWG+CZom8MwnnjSLNVGFcO+whlP\nFY/M/w26zdRNJqjwvVUyOjRcmokWpKgXf3D1SfMK9sqKEa0AjvAG0Ebn7fN/\nQj6ZUOQFunIzYVDSnuaCdYj1ueicM5uI421BLZlvNwvdlSED9I429Ws+XtQo\n4leIpeFZ2cnnOysUyvZFteJpx/9CHtDAnAZefn0Tk//TK+eiDDW+i4ZKufO0\n4i175OVcw/hlr6FHfhiM+Caky7v/BNV4Ei0PnoPtIy+sAzwPRKn2L2AoEv74\ntL/sBwRIvTYIjtkC76AJ93DIXIfEaGzuM52AWVmcIgryyAsiwpwUrslnfNhw\n/on2Zl6IlCSAi/rYsQYZJHEyMYrqL0PxhGMhnCnlg9eo/tpfelombMGR3046\nB4vvsaI7QFkGdjGidfDzhck+3kb/ImdgplvY3IWdEFHSODwYWLzGv2vWv25k\nrX768FnXtjd+LDhM/1JaH9/kmPaK2OQlTqinWcaBt5B9TNwl0nThyavMpvo4\n2mMaK0GbojsH4dVDf00X/oizdr6unDdUM3PB2PnHKTzv71Wr0FfKswN8SrO5\nlrMz\r\n=bjrO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA0c0Tzd91GsujQ0SSAyHfq2ZVi9IlDXAk9VYA/h+ukJAiEAoaSq3t6q68vyR4wxA6MAHSQaiKt6alVj4w2XmH1ZcFo="}]},"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_1.0.3_1629053610638_0.714984155868859"},"_hasShrinkwrap":false},"1.0.4":{"name":"flash-store","version":"1.0.4","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/src/mod.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"npm run lint:es && npm run lint:ts && npm run lint:md","lint:md":"markdownlint README.md","lint:ts":"tsc --noEmit","lint:es":"eslint --ignore-pattern fixtures/ \"src/**/*.ts\" \"tests/**/*.ts\"","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"tap --node-arg=--require=ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","async-map-like":"^0.2.5","brolog":"^1.12.4","cuid":"^2.1.8","level":"^7.0.0","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@chatie/eslint-config":"^0.12.4","@chatie/git-scripts":"^0.6.2","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.16.2","@types/app-root-path":"^1.2.4","@types/level":"^6.0.0","@types/rimraf":"^3.0.1","jsdoc-to-markdown":"^7.0.1","rollup":"^2.56.2","rollup-plugin-json":"^4.0.0","shx":"^0.3.3","source-map-support":"^0.5.19","tstest":"^0.5.16"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"tap":{"check-coverage":false},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"7ce16a7d15e27217728757dc072c7bc20bbcdd98","_id":"flash-store@1.0.4","_nodeVersion":"16.6.2","_npmVersion":"7.20.3","dist":{"integrity":"sha512-BwREyE9yDyEeYmB5kP7z8M7FleA4QOSZROSRKNA/YVdlBCp1RwcDdy9wSdJMFxLmb1n1O7rQ430BJiqBfEh8cA==","shasum":"7d37e427dc4c56f05ab968d5e95f8b07408e99e2","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-1.0.4.tgz","fileCount":42,"unpackedSize":240150,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGdJQCRA9TVsSAnZWagAASL8P/2IhJdPfL2XU/1vvYpfh\nUx5b6V+n8yVXLHL1DHMatDcnDovEEIhWKDThagWaJjaM1zGnRxEdHeLfDcau\nPyC4D12gMO2wup3F3lMyUB59C9uiHZpQEpQflENE/Rb5XhQKMygessiJYegr\nt55HmOytsHi5zcTm04Fz9opsLQl76jLDT0tDu01mj8d7YDDj7E9ri0iBUdf1\n5LjbaPmCGa31L7qTn3Yqu+4/7vFgGLoItuRLlyGw18MweWTFgo6KTgiq7PfA\nMnk52O96ERNbVRfxL6SlN0VGL34hRRz/5Oz+rsSQy64pXtXJN5bWi6PAtRuZ\n+h2a8Kr98WN9mAVjv7XspOGBpXKKAfmYHOYP5Y4QNgB2CfYP1d647b6wfugL\nfCw2Py4FiabnJtfzJFpbyDhFZgiE/SZALVI14qezRJPz3otIIs8aC6jqUZyG\nKJ70lHJWJdfOqX9KBh7XdheKFP1QCCDCTEeFneVLMbx3QmpyaVqx/2kYVzxw\nKFiQireD2tDGj6hQpfIF+zP6LnQg6aryvrsdWmdiju/yDzJwEFMoHk6q4rh2\nQD7d+51pJk9Hgvv5GTQklHxOmrQ+cY/Ma0/E6059+RLd/u+uJFyJnJpDkv+8\ntlssyixF3Ihpw+di7x2wJjtOE+kj+4Z39oWBLzCyF6ZW7cer+64lD1PIgEaS\nglgt\r\n=/0ZQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFEPcMzxH/4jItPJZUe/N+t7apbgWFt4ER4lVCZGZa59AiA8f/WW0LPOq6C1bihxl5ZtUGiJARTzdwYIAREN9b4Z9w=="}]},"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_1.0.4_1629082192531_0.20429506653834606"},"_hasShrinkwrap":false},"1.0.5":{"name":"flash-store","version":"1.0.5","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/src/mod.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"npm run lint:es && npm run lint:ts && npm run lint:md","lint:md":"markdownlint README.md","lint:ts":"tsc --noEmit","lint:es":"eslint --ignore-pattern fixtures/ \"src/**/*.ts\" \"tests/**/*.ts\"","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"tap --node-arg=--require=ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","async-map-like":"^0.2.5","brolog":"^1.12.4","cuid":"^2.1.8","level":"^7.0.0","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@chatie/eslint-config":"^0.12.4","@chatie/git-scripts":"^0.6.2","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.16.2","@types/app-root-path":"^1.2.4","@types/level":"^6.0.0","@types/rimraf":"^3.0.1","jsdoc-to-markdown":"^7.0.1","rollup":"^2.56.2","rollup-plugin-json":"^4.0.0","shx":"^0.3.3","source-map-support":"^0.5.19","tstest":"^0.5.16"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"tap":{"check-coverage":false},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"332a287fc26e05d504a9bd89bb90ecf39e7ac355","_id":"flash-store@1.0.5","_nodeVersion":"16.6.2","_npmVersion":"7.20.3","dist":{"integrity":"sha512-ZqIFt/NSi/fmvowkC2MKFOQN98761n6Kr9HjQN7iLn/g6NZVxDn7IHSnZMDSJpAnhM7dGhVhVP1M3ZqpW4AjVA==","shasum":"0340be3e8333511c1e6b978ae639199d66c29913","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-1.0.5.tgz","fileCount":42,"unpackedSize":240198,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGeg5CRA9TVsSAnZWagAALEYP/iy8vB8EzDdQKLGfwnIB\nlxxP0Ak1XT4FBUhqDppxuGelAIudS9h7iQdKSddISucu/AW0mR5jnsNmUxh4\n3rFINOCJbvJMNQ+irieijonIbs/lphDnwBSoFAZc1LJVUKo8TQEHCe2X8UMB\nm/xLUZMC3slr+yMJKl+QAF6U0EA5ETOVt1SyTDv/PokSCSh3zW9wt1Pdqdtu\nzNXSR9CMCKopXUZe9LtLoDX+tcsr0W0NnVt7Vf3o3wTPSNm9gmkm1lgQDW04\ndefLkljfCuFN7bYtE5BEStLPq9VL7Dr8qop9KNXR5MGZ8NPUqAIjZx7m2gUB\nJlYF+NdaRYyQDtu2+ENsrqZ9I6pgavc4Cn1SGg4OhSUR0Rx4nsodJ8EJW0un\nwkplGvzajZTHO7vhDTIR6CZ3W2iOW4OXN2Vd6MdBX+Ff5fLrcU5+q8dkphwA\ntS+3ibOIAp5jpNff6hQGdAYBHA+lpWvLhnR91uU49xTYFFPkEO3bBYve+Ome\nEFizd25Hupc6ZkJmLdfb+WhKtWphztcuZ55KsI3YEr/1SNKpjBxIUlrSg2Av\nmu78bQdjJDYpjH4In9qJ7UrpWyePRPebHhqHdxiepCkFCGtY0XkyQL3z7Kwu\nOsQY+KJApDrXhZSWoESK9JZnVjP5J9HJoZtvDDaiP1gBEfb/4g37iyYVmMsy\n8vKA\r\n=EhU8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDE1jN3EOuV2otRYy3u5B/Y/3gK4vRRhWuPZl9ecENYkgIhAIyiW3MLnuSuhg3+J6vnD5YFM/9znQWFR4DvBdFsTg5T"}]},"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_1.0.5_1629087801034_0.701443039597041"},"_hasShrinkwrap":false},"1.0.6":{"name":"flash-store","version":"1.0.6","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/src/mod.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"npm run lint:es && npm run lint:ts && npm run lint:md","lint:md":"markdownlint README.md","lint:ts":"tsc --noEmit","lint:es":"eslint --ignore-pattern fixtures/ \"src/**/*.ts\" \"tests/**/*.ts\"","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"tap --node-arg=--require=ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","async-map-like":"^0.2.5","brolog":"^1.12.4","cuid":"^2.1.8","level":"^7.0.0","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@chatie/eslint-config":"^0.12.4","@chatie/git-scripts":"^0.6.2","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.16.2","@types/app-root-path":"^1.2.4","@types/level":"^6.0.0","@types/rimraf":"^3.0.1","jsdoc-to-markdown":"^7.0.1","rollup":"^2.56.2","rollup-plugin-json":"^4.0.0","shx":"^0.3.3","source-map-support":"^0.5.19","tstest":"^0.5.16"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"latest"},"tap":{"check-coverage":false},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"gitHead":"0042dbd29406347ad7cbcfdeb4fe913e38d1d904","_id":"flash-store@1.0.6","_nodeVersion":"16.6.2","_npmVersion":"7.20.3","dist":{"integrity":"sha512-lNRl3IrruXsx6cRn8zExzc0hss8gWQQr0Y2NTQGmKPo+KaYV0qY1UIntQ0afa1j42p32tER50Rpu8c2JTnyuhQ==","shasum":"8d584ad2d02e7213d599df86dff57ed105e929f5","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-1.0.6.tgz","fileCount":42,"unpackedSize":240321,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGejICRA9TVsSAnZWagAALd0QAIXTmF15bTlkukhnASGs\nogHH/VFPyomXC/cmiZNM0n6kUHyHYiWYdmlSb8OEC67+OMJ5yCBbh54r/ttW\nEBm97axwu9yaRtok6R0/7Uy66QGgPyrQVpaDiPbxqNSF8/vja/cjhisdkTXy\nHP1E/zLsekv7gi6u4ntpzkbGLJjMJjpzKnOyvsG96lK/9tSmvkP/WU7z3r3R\nAKo/aD783V0NxxJWcX7NTEPd1PHjpezt/7FYO3Sgs/0yRL6KXRCYbPOnOJmy\ny56ARlNqbKtgpRtMDI7lLHh8iAiXo2LP9lZQh3KNq67VvMsOBT0OuzN+SDIa\nj2k6gYMwNgUMKQ09dGfVExQ/PldK+1a/GD9pONZwK9UdUZUg9y6djuU8cAuk\nA0ZP3QCbHxSkRt1iHVn1SbTOqZjmzc9ZZWTubR+kahHzMrrTUSKMlr7pFhJb\n93W42Y6bRGHJSsGeqtHfdHlhe4hacgGnvXTWxufKY6PeEb/2UNtaqxBuH4d4\ntiAoAmr8sNfkyFKY7lA4qDL2bS3kIEGtxWkgyqulI5u4nlEFOHbKH1J9EwdF\n+1tcTatoqGIffgVYaQVO3Gai8Wq9nettwzmMep6L8UQ3bAlQWLq+FJQolVj5\nCLowRkYw2XBIBhtftmwLC1UC4gXlOS5h490eBBZlRsUtqLfbgjafAW6Yoa0Z\nl7er\r\n=7+jg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDg6vefc0geif08fWBdJ9XscM+PmcSTgBYG0qzsfrH2sQIhAIxkcYvGcp8sNEMKCAyG7KrZyimuh1ugioNgFKjzcqoG"}]},"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_1.0.6_1629087944352_0.4414464619475147"},"_hasShrinkwrap":false},"1.1.1":{"name":"flash-store","version":"1.1.1","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/src/mod.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"npm run lint:es && npm run lint:ts && npm run lint:md","lint:md":"markdownlint README.md","lint:ts":"tsc --noEmit","lint:es":"eslint --ignore-pattern fixtures/ \"src/**/*.ts\" \"tests/**/*.ts\"","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"tap --node-arg=--require=ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","async-map-like":"^0.2.5","brolog":"^1.12.4","cuid":"^2.1.8","level":"^7.0.0","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@chatie/eslint-config":"^0.12.4","@chatie/git-scripts":"^0.6.2","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.16.2","@types/app-root-path":"^1.2.4","@types/level":"^6.0.0","@types/level-errors":"^3.0.0","@types/rimraf":"^3.0.1","jsdoc-to-markdown":"^7.0.1","rollup":"^2.56.2","rollup-plugin-json":"^4.0.0","shx":"^0.3.3","source-map-support":"^0.5.19","tstest":"^0.5.16"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"tap":{"check-coverage":false},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"readme":"# flash-store\n\n<!-- markdownlint-disable MD013 -->\n\n[![Powered by SQLite](https://img.shields.io/badge/Powered%20By-SQLite-green.svg)](https://https://www.sqlite.org/)\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by RocksDB](https://img.shields.io/badge/Powered%20By-RocksDB-green.svg)](https://rocksdb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n\n[![NPM Version](https://img.shields.io/npm/v/flash-store?color=brightgreen)](https://www.npmjs.com/package/flash-store)\n[![npm (next)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![GitHub Action](https://github.com/huan/flash-store/workflows/NPM/badge.svg)](https://github.com/huan/flash-store/actions?query=workflow%3ANPM)\n[![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/)\n\nFlashStore is Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## Requirements\n\n1. Node.js v10 or above\n\n## Examples\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.set(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## Supported Backend\n\n| Backend | Flash Store | Install NPM Command |\n| :--- | :--- | :--- |\n| LevelDB |v1.0 | `npm install flash-store@1` |\n| SQLite | v0.20 | `npm install flash-store@0.20` |\n| Medea | v0.18 | ~~npm install flash-store@0.18~~ (deprecated) |\n| SnapDB | v0.16 | ~~npm install flash-store@0.16~~ (deprecated) |\n| RocksDB | v0.14 | `npm install flash-store@0.14` |\n| LevelDB |v0.12 | `npm install flash-store@0.12` |\n\n> SnapDB & Medea were all deprecated because of lots of unknown bugs.\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implements the Standard ES6 Map API with Async modification, powered by [async-map-like](https://github.com/huan/async-map-like)\n\n```ts\n/**\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implements AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implements the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implements Map<K, V> {}\n```\n\n1. You get a sync API at the cost of all your data have to be kept in memory.\n1. The data will be async writing back to disk for persistent storage in background.\n1. The performance of `FlashStoreSync` can be expected high because it's all in memory.\n\n## Document\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## See Also\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 BigTable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## Known Issues\n\n1. The `gte` and `lte` in `options` do not work property. ([#4](https://github.com/huan/flash-store/issues/4))\n\n## Version History\n\n### master\n\n### v1.0 (Aug 16, 2021) LevelDB v7.0\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://www.npmjs.com/package/level)\n\nLevelDB v7.0.0 support.\n\n### v0.20 Apr 2020 SQLite as Backend\n\n1. We hardcoded the key type to be `string` only in this version.\n1. We decide to try [better-sqlite3](https://www.npmjs.com/package/better-sqlite3) as it claim is very fast.\n1. The other alternates (would love to try in the future if necessary):\n    1. TypeScript: [sqlite](https://www.npmjs.com/package/sqlite)\n    1. WebAssembly: [sql.js](https://www.npmjs.com/package/sql.js)\n\n### ~~v0.18 Feb 2019 - Medea as Backend~~\n\n[![Powered by Medea](https://img.shields.io/badge/Powered%20By-Medea-green.svg)](https://www.npmjs.com/package/medeadown)\n\nDEPRECATED: Due to [#79](https://github.com/huan/flash-store/issues/79) [#74](https://github.com/huan/flash-store/issues/74) and also it is very unstable in production as my experiences. (e.g. memory leak & block event loop)\n\n1. Switch from SnapDB to [MedeaDown](https://github.com/medea/medeadown)\n\n[Medea](https://github.com/medea/medea) is a persistent key-value storage library that runs everywhere Node runs.\n\n> \"It is a pure JS implementation of leveldown and it's almost as fast.\"\n> &mdash; @Raynos [link](https://github.com/medea/medeadown/issues/2#issue-38431966)  \n>  \n> \"The LevelDOWN-compatible wrapper for Medea really opens up the possibility to reuse the modules that have already been created around the LevelUP ecosystem.\"\n> &mdash; @kevinswiber [link](https://github.com/medea/medeadown/issues/2#issuecomment-49785861)\n\nKnown Issues: [FlashStore 会写满磁盘的问题 #155](https://github.com/wechaty/wechaty-puppet-padplus/issues/155)\n\n```ts\nasync function compact (store: FlashStore): Promise<void> {\n  await store.size\n  const db = (store as any).levelDb.db.db.db\n  await new Promise((resolve, reject) => {\n    db.compact((err: any) => {\n      if (err) {\n        return reject(err)\n      }\n      resolve()\n    })\n  })\n}\n```\n\n### v0.16 May 2019 - SnapDB as Backend\n\n[![Powered by SnapDB](https://img.shields.io/badge/Powered%20By-SnapDB-green.svg)](https://www.npmjs.com/package/snap-db)\n\n1. Switch from RocksDB to [SnapDB](https://github.com/ClickSimply/snap-db) [#45](https://github.com/huan/flash-store/issues/45)\n1. [#50](https://github.com/huan/flash-store/issues/50) has been fixed. ~~WARN: Do not use this version because it has known issues~~\n\n### v0.14 May 2019 - RocksDB as Backend\n\n1. Switch from LevelDB to [RocksDB](https://www.npmjs.com/package/rocksdb) [#34](https://github.com/huan/flash-store/issues/34)\n\n### v0.12 Jan 2019 - LevelDB as Backend\n\n1. Use [LevelDB](https://github.com/level/leveldown) as backend to skip the compiling when install.\n1. Using leveldb official typings from `@types/`\n\n### v0.7 Aug 2018 - Nosql-LevelDB as Backend\n\n1. Use [nosql-leveldb](https://github.com/snowyu/node-nosql-leveldb) as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implement ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## FAQ\n\n### Q: What's the difference between the `flash-store` and `memory-card`\n\nShort answer:\n\n1. `flash-store` is for save data to local filesystem.\n1. `memory-card` is for save data to a distributed network storage, it can be serialized/deserialized safely by design.\n\nLong answer:\n\n`flash-store` and `memory-card` are all built by @huan, and they are all follow the ES6 Map API.\n\n`flash-store` is using a no-sql local file database to maximum the performance, it can be used as a local database, or a local cache for whatever you want to cache from other API.\n\n`memory-card` is using a local file to store data in JSON format by default, however, it supports more distributed methods. Learn more from it's repository at [here](https://github.com/huan/memory-card)\n\n## Author\n\n[Huan LI](https://github.com/huan) ([李卓桓](http://linkedin.com/in/zixia)) zixia@zixia.net\n\n[![Profile of Huan LI (李卓桓) on StackOverflow](https://stackexchange.com/users/flair/265499.png)](https://stackexchange.com/users/265499)\n\n## Copyright & License\n\n* Code & Docs © 2017-now Huan (李卓桓) \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","gitHead":"39bf6cfa1fbb629c05006df5ef29c718d64c5441","_id":"flash-store@1.1.1","_nodeVersion":"16.6.2","_npmVersion":"7.20.3","dist":{"integrity":"sha512-D1JolQYORVcugM0BUVxzWujPNy7abA/Fy2sCbtx1hTUXN+wBdgYtxl7G0PwduRqmTrBNSPGXowRVJ9KCoDEVkg==","shasum":"77f63a5d98ff431ab1af03adccb9b0ed1b94a023","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-1.1.1.tgz","fileCount":42,"unpackedSize":234023,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGj8pCRA9TVsSAnZWagAAfHQP/0HswKmgeTgcdfp+lWWR\nctCgIRkVWwHyxMkXaPctuD1OK1GBMff6t+i4E9H6A8247X1iuK3KnzJh1l1K\npkWXyIESCx+hGPoRZvYAQ20Tgn5QCrfVzN0FAqMoLIX21GDG96gGALDhWJDm\n8tMbhGtyr591qi3FFDDJGcPAaMOd+Y8Gg8yGaAbewp5IM4N7DOgVGxUjfGZf\nd67wHUV5Pa9J33SZENaHTQFFpzWLA3bZOWiNPX7ox4/ckq6dOcskAIBgKkZB\ndTdiZiIdn9S5d6wKjuNYZFzYFFsiFiYoCiblOmEzilNSmSEgVpupuyzQR7ZW\nVA9nW+f0XEd2818J28haL9sEpt5OhU2tHPhzolR6SbYGlAL2ZUEzZARiEk0d\nHFBSTQlJd1R239ST8Os+UpWdnXXw7OJ1f1oTd9BAzie8jB4gO5992G/n2cGD\neOQAkG+EHww92WE4ijEq5yH/U69r8/kayrPz5DyrPlg2l+DiGUCmJaWo7f7/\nAdjjDPihj6CGizlqvsppL/bOmVjbLtxgq0H1wzuGHg0QGuMBujNvdi0kXOyi\ntOrRvaKVtE1A5aYpbOmIfnlsCojRLQAd9306UT1634bso+A1KJfqtaOA7oap\njDjc6kycPnvvtTOOeNZHNKF4Ynd3JruqJ3runpk7H072j6WKGV2QIRBuMHkg\nc7KJ\r\n=AmQ6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICmsALMyvkYXIraETBF5UK/XaoL5xYLKRPLlsYwEvOpwAiAQPpKXDClukLpJjv7gS+NH+jrR94+yf5s81uifl+R07Q=="}]},"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_1.1.1_1629110057191_0.17560907181248853"},"_hasShrinkwrap":false},"1.1.2":{"name":"flash-store","version":"1.1.2","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/src/mod.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"npm run lint:es && npm run lint:ts && npm run lint:md","lint:md":"markdownlint README.md","lint:ts":"tsc --noEmit","lint:es":"eslint --ignore-pattern fixtures/ \"src/**/*.ts\" \"tests/**/*.ts\"","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"tap --node-arg=--require=ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","async-map-like":"^0.2.5","brolog":"^1.12.4","cuid":"^2.1.8","level":"^7.0.0","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@chatie/eslint-config":"^0.12.4","@chatie/git-scripts":"^0.6.2","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.16.2","@types/app-root-path":"^1.2.4","@types/level":"^6.0.0","@types/level-errors":"^3.0.0","@types/rimraf":"^3.0.1","jsdoc-to-markdown":"^7.0.1","rollup":"^2.56.2","rollup-plugin-json":"^4.0.0","shx":"^0.3.3","source-map-support":"^0.5.19","tstest":"^0.5.16"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"tap":{"check-coverage":false},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"readme":"# flash-store\n\n<!-- markdownlint-disable MD013 -->\n\n[![Powered by SQLite](https://img.shields.io/badge/Powered%20By-SQLite-green.svg)](https://https://www.sqlite.org/)\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by RocksDB](https://img.shields.io/badge/Powered%20By-RocksDB-green.svg)](https://rocksdb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n\n[![NPM Version](https://img.shields.io/npm/v/flash-store?color=brightgreen)](https://www.npmjs.com/package/flash-store)\n[![npm (next)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![GitHub Action](https://github.com/huan/flash-store/workflows/NPM/badge.svg)](https://github.com/huan/flash-store/actions?query=workflow%3ANPM)\n[![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/)\n\nFlashStore is Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## Requirements\n\n1. Node.js v10 or above\n\n## Examples\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.set(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## Supported Backend\n\n| Backend | Flash Store | Install NPM Command |\n| :--- | :--- | :--- |\n| LevelDB |v1.0 | `npm install flash-store@1` |\n| SQLite | v0.20 | `npm install flash-store@0.20` |\n| Medea | v0.18 | ~~npm install flash-store@0.18~~ (deprecated) |\n| SnapDB | v0.16 | ~~npm install flash-store@0.16~~ (deprecated) |\n| RocksDB | v0.14 | `npm install flash-store@0.14` |\n| LevelDB |v0.12 | `npm install flash-store@0.12` |\n\n> SnapDB & Medea were all deprecated because of lots of unknown bugs.\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implements the Standard ES6 Map API with Async modification, powered by [async-map-like](https://github.com/huan/async-map-like)\n\n```ts\n/**\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implements AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implements the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implements Map<K, V> {}\n```\n\n1. You get a sync API at the cost of all your data have to be kept in memory.\n1. The data will be async writing back to disk for persistent storage in background.\n1. The performance of `FlashStoreSync` can be expected high because it's all in memory.\n\n## Document\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## See Also\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 BigTable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## Known Issues\n\n1. The `gte` and `lte` in `options` do not work property. ([#4](https://github.com/huan/flash-store/issues/4))\n\n## Version History\n\n### master\n\n### v1.0 (Aug 16, 2021) LevelDB v7.0\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://www.npmjs.com/package/level)\n\nLevelDB v7.0.0 support.\n\n### v0.20 Apr 2020 SQLite as Backend\n\n1. We hardcoded the key type to be `string` only in this version.\n1. We decide to try [better-sqlite3](https://www.npmjs.com/package/better-sqlite3) as it claim is very fast.\n1. The other alternates (would love to try in the future if necessary):\n    1. TypeScript: [sqlite](https://www.npmjs.com/package/sqlite)\n    1. WebAssembly: [sql.js](https://www.npmjs.com/package/sql.js)\n\n### ~~v0.18 Feb 2019 - Medea as Backend~~\n\n[![Powered by Medea](https://img.shields.io/badge/Powered%20By-Medea-green.svg)](https://www.npmjs.com/package/medeadown)\n\nDEPRECATED: Due to [#79](https://github.com/huan/flash-store/issues/79) [#74](https://github.com/huan/flash-store/issues/74) and also it is very unstable in production as my experiences. (e.g. memory leak & block event loop)\n\n1. Switch from SnapDB to [MedeaDown](https://github.com/medea/medeadown)\n\n[Medea](https://github.com/medea/medea) is a persistent key-value storage library that runs everywhere Node runs.\n\n> \"It is a pure JS implementation of leveldown and it's almost as fast.\"\n> &mdash; @Raynos [link](https://github.com/medea/medeadown/issues/2#issue-38431966)  \n>  \n> \"The LevelDOWN-compatible wrapper for Medea really opens up the possibility to reuse the modules that have already been created around the LevelUP ecosystem.\"\n> &mdash; @kevinswiber [link](https://github.com/medea/medeadown/issues/2#issuecomment-49785861)\n\nKnown Issues: [FlashStore 会写满磁盘的问题 #155](https://github.com/wechaty/wechaty-puppet-padplus/issues/155)\n\n```ts\nasync function compact (store: FlashStore): Promise<void> {\n  await store.size\n  const db = (store as any).levelDb.db.db.db\n  await new Promise((resolve, reject) => {\n    db.compact((err: any) => {\n      if (err) {\n        return reject(err)\n      }\n      resolve()\n    })\n  })\n}\n```\n\n### v0.16 May 2019 - SnapDB as Backend\n\n[![Powered by SnapDB](https://img.shields.io/badge/Powered%20By-SnapDB-green.svg)](https://www.npmjs.com/package/snap-db)\n\n1. Switch from RocksDB to [SnapDB](https://github.com/ClickSimply/snap-db) [#45](https://github.com/huan/flash-store/issues/45)\n1. [#50](https://github.com/huan/flash-store/issues/50) has been fixed. ~~WARN: Do not use this version because it has known issues~~\n\n### v0.14 May 2019 - RocksDB as Backend\n\n1. Switch from LevelDB to [RocksDB](https://www.npmjs.com/package/rocksdb) [#34](https://github.com/huan/flash-store/issues/34)\n\n### v0.12 Jan 2019 - LevelDB as Backend\n\n1. Use [LevelDB](https://github.com/level/leveldown) as backend to skip the compiling when install.\n1. Using leveldb official typings from `@types/`\n\n### v0.7 Aug 2018 - Nosql-LevelDB as Backend\n\n1. Use [nosql-leveldb](https://github.com/snowyu/node-nosql-leveldb) as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implement ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## FAQ\n\n### Q: What's the difference between the `flash-store` and `memory-card`\n\nShort answer:\n\n1. `flash-store` is for save data to local filesystem.\n1. `memory-card` is for save data to a distributed network storage, it can be serialized/deserialized safely with the minimum payload transfered by design.\n\nLong answer:\n\n`flash-store` and `memory-card` are all built by @huan, and they are all follow the ES6 Map API.\n\n`flash-store` is using a no-sql local file database to maximum the performance, it can be used as a local database, or a local cache for whatever you want to cache from other API.\n\n`memory-card` is using a local file to store data in JSON format by default, however, it supports more distributed methods and it can be serialized/deserialized safely with the minimum payload for transfer the data between networks (for example, it can serialize itself to only include the `redis` config and then deserialize it to restore a MemoryCard instance with the same data backend). Learn more from it's repository at [here](https://github.com/huan/memory-card)\n\n## Author\n\n[Huan LI](https://github.com/huan) ([李卓桓](http://linkedin.com/in/zixia)) zixia@zixia.net\n\n[![Profile of Huan LI (李卓桓) on StackOverflow](https://stackexchange.com/users/flair/265499.png)](https://stackexchange.com/users/265499)\n\n## Copyright & License\n\n* Code & Docs © 2017-now Huan (李卓桓) \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","gitHead":"a937c9151d9b45f8d76838f808b8e1100f4a07a9","_id":"flash-store@1.1.2","_nodeVersion":"16.6.2","_npmVersion":"7.20.3","dist":{"integrity":"sha512-lMPBhIbJJq/VxPvknbPpB4Y3vFMI0U1EwWF+bBtjRKjRWBvX4OdLcInHZ/mUpSsXyy8JiWHeVplmYJU3RNpCFw==","shasum":"e2509df4ef9d18d99dd65829595994ed0a55d47d","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-1.1.2.tgz","fileCount":42,"unpackedSize":234326,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGkRZCRA9TVsSAnZWagAAyBEP/1d6+N1pejJ+5yvTg3Xl\nM2CIFWx/hP1q5+YVilB654yCzXuIShL6I3Ev5SAjmw1f4Gpe0z0zPF5NEtXX\ntZL5IewihqqWcpktK8Wxa8tWAQdZVZFT/3ChzWQQdnDadN0oDb4uQquVDvT7\n3zJ19UQXwQK80bK4Of2OAGo4IFpiQy/49ySe9uodj8DEHl/V4R9k0raPYoB7\nUdCBpMhvrHPftt7ut/wFr0OqnM5GGdZ8ZxAtxfnuLlGC89n/mhr4TH9f7FeD\ndtBXfkwT4YxtVvvMfiTKU3VBOf8PpVMVhVTfrRbCTKL8BDR5DoVT5AHvo5BH\nGMYVV4cvduaoXXvRg/vID3ePLlxK3NYQXpNK0zX0Wvw1bRdENAmkrr/UPkUk\njyfHcE8EwZpnM7vsf/JJt01Taruok9Bk1ppfJU2y18Dgiij2Agay7SSmfSxJ\nIviRF5VwzBEt3fSbydvt3AfD9ZAl2DcCNGFenaWxsrR2WhHMRBR59HoyHxbB\n4WHmxJeDiCl1uYk2HAELyBNleIr2N94wDRPguBtB4ncR/FXEuCt4hpDSNmDF\nokaT5lgA1S5O3l21noNPbIkcXlQ8tF7k88yEHClUZxujWeZIg8jdjO77Q5t8\ngHfUrzW4KUTqQc0X67X9sDPE6jZwiwfUBedGH/7FJ5oq+k9fs9I78QgCD6W5\nZAYO\r\n=mAKi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBfzS9SR7f3fPjcdWBaHPwC8nwb2cn3ehiTykAMXH0VwAiA/JyHcYvQc7XRos61xDAcq4d8KV/GNSt8mdz0uKhIIFA=="}]},"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_1.1.2_1629111385771_0.765510400640989"},"_hasShrinkwrap":false},"1.1.3":{"name":"flash-store","version":"1.1.3","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/src/mod.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"npm run lint:es && npm run lint:ts && npm run lint:md","lint:md":"markdownlint README.md","lint:ts":"tsc --noEmit","lint:es":"eslint --ignore-pattern fixtures/ \"src/**/*.ts\" \"tests/**/*.ts\"","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"tap --node-arg=--require=ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","async-map-like":"^0.2.5","brolog":"^1.12.4","cuid":"^2.1.8","level":"^7.0.0","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@chatie/eslint-config":"^0.12.4","@chatie/git-scripts":"^0.6.2","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.16.2","@types/app-root-path":"^1.2.4","@types/level":"^6.0.0","@types/level-errors":"^3.0.0","@types/rimraf":"^3.0.1","jsdoc-to-markdown":"^7.0.1","rollup":"^2.56.2","rollup-plugin-json":"^4.0.0","shx":"^0.3.3","source-map-support":"^0.5.19","tstest":"^0.5.16"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"tap":{"check-coverage":false},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"readme":"# flash-store\n\n<!-- markdownlint-disable MD013 -->\n\n[![Powered by SQLite](https://img.shields.io/badge/Powered%20By-SQLite-green.svg)](https://https://www.sqlite.org/)\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by RocksDB](https://img.shields.io/badge/Powered%20By-RocksDB-green.svg)](https://rocksdb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n\n[![NPM Version](https://img.shields.io/npm/v/flash-store?color=brightgreen)](https://www.npmjs.com/package/flash-store)\n[![npm (next)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![GitHub Action](https://github.com/huan/flash-store/workflows/NPM/badge.svg)](https://github.com/huan/flash-store/actions?query=workflow%3ANPM)\n[![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/)\n\nFlashStore is Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## Requirements\n\n1. Node.js v10 or above\n\n## Examples\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.set(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## Supported Backend\n\n| Backend | Flash Store | Install NPM Command |\n| :--- | :--- | :--- |\n| LevelDB |v1.0 | `npm install flash-store@1` |\n| SQLite | v0.20 | `npm install flash-store@0.20` |\n| Medea | v0.18 | ~~npm install flash-store@0.18~~ (deprecated) |\n| SnapDB | v0.16 | ~~npm install flash-store@0.16~~ (deprecated) |\n| RocksDB | v0.14 | `npm install flash-store@0.14` |\n| LevelDB |v0.12 | `npm install flash-store@0.12` |\n\n> SnapDB & Medea were all deprecated because of lots of unknown bugs.\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implements the Standard ES6 Map API with Async modification, powered by [async-map-like](https://github.com/huan/async-map-like)\n\n```ts\n/**\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implements AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implements the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implements Map<K, V> {}\n```\n\n1. You get a sync API at the cost of all your data have to be kept in memory.\n1. The data will be async writing back to disk for persistent storage in background.\n1. The performance of `FlashStoreSync` can be expected high because it's all in memory.\n\n## Document\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## See Also\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 BigTable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## Known Issues\n\n1. The `gte` and `lte` in `options` do not work property. ([#4](https://github.com/huan/flash-store/issues/4))\n\n## Version History\n\n### master\n\n### v1.0 (Aug 16, 2021) LevelDB v7.0\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://www.npmjs.com/package/level)\n\nLevelDB v7.0.0 support.\n\n### v0.20 Apr 2020 SQLite as Backend\n\n1. We hardcoded the key type to be `string` only in this version.\n1. We decide to try [better-sqlite3](https://www.npmjs.com/package/better-sqlite3) as it claim is very fast.\n1. The other alternates (would love to try in the future if necessary):\n    1. TypeScript: [sqlite](https://www.npmjs.com/package/sqlite)\n    1. WebAssembly: [sql.js](https://www.npmjs.com/package/sql.js)\n\n### ~~v0.18 Feb 2019 - Medea as Backend~~\n\n[![Powered by Medea](https://img.shields.io/badge/Powered%20By-Medea-green.svg)](https://www.npmjs.com/package/medeadown)\n\nDEPRECATED: Due to [#79](https://github.com/huan/flash-store/issues/79) [#74](https://github.com/huan/flash-store/issues/74) and also it is very unstable in production as my experiences. (e.g. memory leak & block event loop)\n\n1. Switch from SnapDB to [MedeaDown](https://github.com/medea/medeadown)\n\n[Medea](https://github.com/medea/medea) is a persistent key-value storage library that runs everywhere Node runs.\n\n> \"It is a pure JS implementation of leveldown and it's almost as fast.\"\n> &mdash; @Raynos [link](https://github.com/medea/medeadown/issues/2#issue-38431966)  \n>  \n> \"The LevelDOWN-compatible wrapper for Medea really opens up the possibility to reuse the modules that have already been created around the LevelUP ecosystem.\"\n> &mdash; @kevinswiber [link](https://github.com/medea/medeadown/issues/2#issuecomment-49785861)\n\nKnown Issues: [FlashStore 会写满磁盘的问题 #155](https://github.com/wechaty/wechaty-puppet-padplus/issues/155)\n\n```ts\nasync function compact (store: FlashStore): Promise<void> {\n  await store.size\n  const db = (store as any).levelDb.db.db.db\n  await new Promise((resolve, reject) => {\n    db.compact((err: any) => {\n      if (err) {\n        return reject(err)\n      }\n      resolve()\n    })\n  })\n}\n```\n\n### v0.16 May 2019 - SnapDB as Backend\n\n[![Powered by SnapDB](https://img.shields.io/badge/Powered%20By-SnapDB-green.svg)](https://www.npmjs.com/package/snap-db)\n\n1. Switch from RocksDB to [SnapDB](https://github.com/ClickSimply/snap-db) [#45](https://github.com/huan/flash-store/issues/45)\n1. [#50](https://github.com/huan/flash-store/issues/50) has been fixed. ~~WARN: Do not use this version because it has known issues~~\n\n### v0.14 May 2019 - RocksDB as Backend\n\n1. Switch from LevelDB to [RocksDB](https://www.npmjs.com/package/rocksdb) [#34](https://github.com/huan/flash-store/issues/34)\n\n### v0.12 Jan 2019 - LevelDB as Backend\n\n1. Use [LevelDB](https://github.com/level/leveldown) as backend to skip the compiling when install.\n1. Using leveldb official typings from `@types/`\n\n### v0.7 Aug 2018 - Nosql-LevelDB as Backend\n\n1. Use [nosql-leveldb](https://github.com/snowyu/node-nosql-leveldb) as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implement ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## FAQ\n\n### Q: What's the difference between the `flash-store` and `memory-card`\n\nShort answer:\n\n1. `flash-store` is for save data to local filesystem.\n1. `memory-card` is for save data to a distributed network storage, it can be serialized/deserialized safely with the minimum payload transfered by design.\n\nLong answer:\n\n`flash-store` and `memory-card` are all built by @huan, and they are all follow the ES6 Map API.\n\n`flash-store` is using a no-sql local file database to maximum the performance, it can be used as a local database, or a local cache for whatever you want to cache from other API.\n\n`memory-card` is using a local file to store data in JSON format by default, however, it supports more distributed methods and it can be serialized/deserialized safely with the minimum payload for transfer the data between networks (for example, it can serialize itself to only include the `redis` config and then deserialize it to restore a MemoryCard instance with the same data backend). Learn more from it's repository at [here](https://github.com/huan/memory-card)\n\n## Author\n\n[Huan LI](https://github.com/huan) ([李卓桓](http://linkedin.com/in/zixia)) zixia@zixia.net\n\n[![Profile of Huan LI (李卓桓) on StackOverflow](https://stackexchange.com/users/flair/265499.png)](https://stackexchange.com/users/265499)\n\n## Copyright & License\n\n* Code & Docs © 2017-now Huan (李卓桓) \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","gitHead":"679afb83a6e55bc5ebdfae3a9b66ee7b70787204","_id":"flash-store@1.1.3","_nodeVersion":"16.6.2","_npmVersion":"7.20.3","dist":{"integrity":"sha512-/7ZXT3qeHpi6aobHebEHO4jEe74ugb71JOM1EY+xbZdZbW35NHObhnK1R6+TBXpWEJ43o5M21FZdBGHtYP6TTw==","shasum":"aa3b568a48f3838d3d172db470596a5c39d52a41","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-1.1.3.tgz","fileCount":42,"unpackedSize":234407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGmUPCRA9TVsSAnZWagAAMhkQAJlGC8h63F8kv7uSU0N1\nxvO+fJv0sygQvwtNVmE+QUbnHx2rHOtrqYfXqJtLPot7uue027/rH9Jo/HjF\nRvCIaGBwAPbVrW2pkPcDMde1uDtwGSNcGS0Brh6JmPmQPNkLkjVp0Gm5h8PH\n2t9fPemQkXG5F83QTu+SIeCeZ1LngSg8FaOZvtMRpSCsXxQ8MBLj2o2Y4kY+\nlseXhmyqn9QDnyzSklK7HQ87HTC2rEcnUdXqKINfwVlK0Fa549PK9fOEebZF\nQjmFBcw4SyQD02YR4UUj1nmS/Hjqyrc7dky1Avuj9VUW9gF0uyq0cOtR+Kdm\nfBPsJMc7h9HPnz5l0P2F2hGar3a8Kmy1FkBaU3Q+8dflCO/U33uw/18JAI0V\n5Lxj1ytP75p+bayNa3/TuJW43puyhH9OMPrvy4X5MI43JmBAUIiOZvZbpV3N\ntTbBDv968FJVRQDvp6F5D96BJELefna+qTVj5qmZap7xxfkrOl967mnimDsr\n2YWcr1i2rY2HOA1ZnMvcGRAPxz+SvBGDlDBfxXI70YK+EhR88wXAAyec7yov\nR5beEb6nhnba0u7Vb7oaERwtiiODdYxwxpmGeQt4FYK1qFEt/RVnDZrw/flc\npSTpe5LQtc8AqlsMOedyW4XHuRUwI7DvrgOeA2G1UeU4sbkGsTW6TJLlkqap\nIP/H\r\n=AJC8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEfeiysO3BaaaWgkvOT4gbEn/v4bxu+WDVW2BrHIVONZAiAv8VLJ3uX4QS7AAVEYcbgfPQLO1+LXai3nd/z4qJFBxg=="}]},"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_1.1.3_1629119758914_0.264480714702533"},"_hasShrinkwrap":false},"1.1.4":{"name":"flash-store","version":"1.1.4","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","main":"bundles/flash-store.umd.js","types":"dist/src/mod.d.ts","scripts":{"build":"tsc --module esnext","pack":"npm pack","clean":"shx rm -fr dist/* bundles/*","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","dist":"npm run clean && npm run build && npm run rollup && npm run dist:es6to5","dist:es6to5":"tsc --out ./bundles/flash-store.umd.js --target es5 --allowJs bundles/flash-store.es6.umd.js --lib es6,dom","lint":"npm run lint:es && npm run lint:ts && npm run lint:md","lint:md":"markdownlint README.md","lint:ts":"tsc --noEmit","lint:es":"eslint --ignore-pattern fixtures/ \"src/**/*.ts\" \"tests/**/*.ts\"","rollup":"rollup -c","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"tap --node-arg=--require=ts-node/register \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","async-map-like":"^0.2.5","brolog":"^1.12.4","cuid":"^2.1.8","level":"^7.0.0","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@chatie/eslint-config":"^0.12.4","@chatie/git-scripts":"^0.6.2","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.16.2","@types/app-root-path":"^1.2.4","@types/level":"^6.0.0","@types/level-errors":"^3.0.0","@types/rimraf":"^3.0.1","jsdoc-to-markdown":"^7.0.1","rollup":"^2.56.2","rollup-plugin-json":"^4.0.0","shx":"^0.3.3","source-map-support":"^0.5.19","tstest":"^0.5.16"},"engines":{"node":">= 10"},"publishConfig":{"access":"public","tag":"next"},"tap":{"check-coverage":false},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"readme":"# flash-store\n\n<!-- markdownlint-disable MD013 -->\n\n[![Powered by SQLite](https://img.shields.io/badge/Powered%20By-SQLite-green.svg)](https://https://www.sqlite.org/)\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by RocksDB](https://img.shields.io/badge/Powered%20By-RocksDB-green.svg)](https://rocksdb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n\n[![NPM Version](https://img.shields.io/npm/v/flash-store?color=brightgreen)](https://www.npmjs.com/package/flash-store)\n[![npm (next)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![GitHub Action](https://github.com/huan/flash-store/workflows/NPM/badge.svg)](https://github.com/huan/flash-store/actions?query=workflow%3ANPM)\n[![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/)\n\nFlashStore is Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## Requirements\n\n1. Node.js v10 or above\n\n## Examples\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.set(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## Supported Backend\n\n| Backend | Flash Store | Install NPM Command |\n| :--- | :--- | :--- |\n| LevelDB |v1.0 | `npm install flash-store@1` |\n| SQLite | v0.20 | `npm install flash-store@0.20` |\n| Medea | v0.18 | ~~npm install flash-store@0.18~~ (deprecated) |\n| SnapDB | v0.16 | ~~npm install flash-store@0.16~~ (deprecated) |\n| RocksDB | v0.14 | `npm install flash-store@0.14` |\n| LevelDB |v0.12 | `npm install flash-store@0.12` |\n\n> SnapDB & Medea were all deprecated because of lots of unknown bugs.\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implements the Standard ES6 Map API with Async modification, powered by [async-map-like](https://github.com/huan/async-map-like)\n\n```ts\n/**\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implements AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implements the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implements Map<K, V> {}\n```\n\n1. You get a sync API at the cost of all your data have to be kept in memory.\n1. The data will be async writing back to disk for persistent storage in background.\n1. The performance of `FlashStoreSync` can be expected high because it's all in memory.\n\n## Document\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## See Also\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 BigTable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## Known Issues\n\n1. The `gte` and `lte` in `options` do not work property. ([#4](https://github.com/huan/flash-store/issues/4))\n\n## Version History\n\n### master\n\n### v1.0 (Aug 16, 2021) LevelDB v7.0\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://www.npmjs.com/package/level)\n\nLevelDB v7.0.0 support.\n\n### v0.20 Apr 2020 SQLite as Backend\n\n1. We hardcoded the key type to be `string` only in this version.\n1. We decide to try [better-sqlite3](https://www.npmjs.com/package/better-sqlite3) as it claim is very fast.\n1. The other alternates (would love to try in the future if necessary):\n    1. TypeScript: [sqlite](https://www.npmjs.com/package/sqlite)\n    1. WebAssembly: [sql.js](https://www.npmjs.com/package/sql.js)\n\n### ~~v0.18 Feb 2019 - Medea as Backend~~\n\n[![Powered by Medea](https://img.shields.io/badge/Powered%20By-Medea-green.svg)](https://www.npmjs.com/package/medeadown)\n\nDEPRECATED: Due to [#79](https://github.com/huan/flash-store/issues/79) [#74](https://github.com/huan/flash-store/issues/74) and also it is very unstable in production as my experiences. (e.g. memory leak & block event loop)\n\n1. Switch from SnapDB to [MedeaDown](https://github.com/medea/medeadown)\n\n[Medea](https://github.com/medea/medea) is a persistent key-value storage library that runs everywhere Node runs.\n\n> \"It is a pure JS implementation of leveldown and it's almost as fast.\"\n> &mdash; @Raynos [link](https://github.com/medea/medeadown/issues/2#issue-38431966)  \n>  \n> \"The LevelDOWN-compatible wrapper for Medea really opens up the possibility to reuse the modules that have already been created around the LevelUP ecosystem.\"\n> &mdash; @kevinswiber [link](https://github.com/medea/medeadown/issues/2#issuecomment-49785861)\n\nKnown Issues: [FlashStore 会写满磁盘的问题 #155](https://github.com/wechaty/wechaty-puppet-padplus/issues/155)\n\n```ts\nasync function compact (store: FlashStore): Promise<void> {\n  await store.size\n  const db = (store as any).levelDb.db.db.db\n  await new Promise((resolve, reject) => {\n    db.compact((err: any) => {\n      if (err) {\n        return reject(err)\n      }\n      resolve()\n    })\n  })\n}\n```\n\n### v0.16 May 2019 - SnapDB as Backend\n\n[![Powered by SnapDB](https://img.shields.io/badge/Powered%20By-SnapDB-green.svg)](https://www.npmjs.com/package/snap-db)\n\n1. Switch from RocksDB to [SnapDB](https://github.com/ClickSimply/snap-db) [#45](https://github.com/huan/flash-store/issues/45)\n1. [#50](https://github.com/huan/flash-store/issues/50) has been fixed. ~~WARN: Do not use this version because it has known issues~~\n\n### v0.14 May 2019 - RocksDB as Backend\n\n1. Switch from LevelDB to [RocksDB](https://www.npmjs.com/package/rocksdb) [#34](https://github.com/huan/flash-store/issues/34)\n\n### v0.12 Jan 2019 - LevelDB as Backend\n\n1. Use [LevelDB](https://github.com/level/leveldown) as backend to skip the compiling when install.\n1. Using leveldb official typings from `@types/`\n\n### v0.7 Aug 2018 - Nosql-LevelDB as Backend\n\n1. Use [nosql-leveldb](https://github.com/snowyu/node-nosql-leveldb) as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implement ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## FAQ\n\n### Q: What's the difference between the `flash-store` and `memory-card`\n\nShort answer:\n\n1. `flash-store` is for save data to local filesystem.\n1. `memory-card` is for save data to a distributed network storage, it can be serialized/deserialized safely with the minimum payload transfered by design.\n\nLong answer:\n\n`flash-store` and `memory-card` are all built by @huan, and they are all follow the ES6 Map API.\n\n`flash-store` is using a no-sql local file database to maximum the performance, it can be used as a local database, or a local cache for whatever you want to cache from other API.\n\n`memory-card` is using a local file to store data in JSON format by default, however, it supports more distributed methods and it can be serialized/deserialized safely with the minimum payload for transfer the data between networks (for example, it can serialize itself to only include the `redis` config and then deserialize it to restore a MemoryCard instance with the same data backend). Learn more from it's repository at [here](https://github.com/huan/memory-card)\n\n## Author\n\n[Huan LI](https://github.com/huan) ([李卓桓](http://linkedin.com/in/zixia)) zixia@zixia.net\n\n[![Profile of Huan LI (李卓桓) on StackOverflow](https://stackexchange.com/users/flair/265499.png)](https://stackexchange.com/users/265499)\n\n## Copyright & License\n\n* Code & Docs © 2017-now Huan (李卓桓) \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","gitHead":"570e3467f54c89367cf96924c0a21dc41f3f71bf","_id":"flash-store@1.1.4","_nodeVersion":"16.7.0","_npmVersion":"7.20.3","dist":{"integrity":"sha512-45LAXk/s2uA/Li28O+bNuTkoqOzHQnbNO9fMmo5bb8iG6pGX6y66QXtAgcy5uVkscfjgoN8chHEfH6pxypm2bg==","shasum":"cd661425274cf439d535d6ea71c4f4ec3e69ab48","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-1.1.4.tgz","fileCount":42,"unpackedSize":234573,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhIRh2CRA9TVsSAnZWagAA1XEQAKCw+PlO/Oi/CuZHNnjZ\nxdj4clOLNfhDspg+aBV4aU+ZxhiJmYaYQlt34x+/hWJXhlj9E6gnLspnQiXG\ntHO+I11n/L0SAbR6AQBh2I3BuU7kvSrFiJRnf3fwq/T/mr4OkWXe8IXK6fPD\nAv/5S9rD2EWfKw3RbJEksL/v2Cc59kRaesrb1l+9XikRAFWgopsepqW0rT07\nbq0plsIjniLCWGYXUMhc9s+jpTzxuqaxnXtWWI5UwV8wFEcIgurohKCCMoSO\ndUwpmB1Ug2Uy0PT7bvy6Z/yJEyBqV0ZO+n4WWyBolLKPuBlVk6rRiwxWb6Bb\nlTZ38MxY5fZDhxKjl4+QWrIUhP1lHn4slujGu3raRPl9BuiGlhAx3EB7LBQQ\npbPh12Y3B2XKdQY8G5i9zy7hzOBJHqyL5sUKhu8SUzN64SjJOa03MBIkqBOb\nwZJ4pU66yKYUp21FmiCzUPVCjLFZZkKExwQs70LOW/Cg2xCyhw/t1AXTDwUn\nhR7kq8zoSAm5uHcinZd/Gf0291Ysn7JXg0ohI3Do8FBSZvmS8G1spyjzXWOF\n2tnDXQQSp+qNlp7/diwcXYmeSLJSVSDNoyOR1XZvBy5hLrL83+UCoN3VMNbq\n+bJPClMmY8jr1vhMnNtcFhGofycq+4WyjK3by2WLez7nr8Cf/OkhAUQHJM0n\nYkeA\r\n=lYK1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcRu+tzV4IvohoFEoEUcFVpz0t2JuITO+a2dZFvSQGTQIgHnaSK6fOBF/Nnmwi9+UB/AOMmr/FPopnZDce/BUJNGc="}]},"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_1.1.4_1629558902653_0.1770850543608915"},"_hasShrinkwrap":false},"1.1.5":{"name":"flash-store","version":"1.1.5","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","type":"module","exports":{".":{"import":"./dist/esm/src/mod.js","require":"./dist/cjs/src/mod.js"}},"typings":"./dist/esm/src/mod.d.ts","engines":{"node":">=14"},"scripts":{"clean":"shx rm -fr dist/*","dist":"npm-run-all clean build dist:commonjs","build":"tsc && tsc -p tsconfig.cjs.json","dist:commonjs":"jq -n \"{ type: \\\"commonjs\\\" }\" > dist/cjs/package.json","pack":"npm pack","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","lint":"npm-run-all lint:es lint:ts lint:md","lint:md":"markdownlint README.md","lint:ts":"tsc --isolatedModules --noEmit","lint:es":"eslint --ignore-pattern fixtures/ \"src/**/*.ts\" \"tests/**/*.ts\"","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"tap --node-arg=--loader=ts-node/esm --node-arg=--no-warnings \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","async-map-like":"^0.2.5","brolog":"^1.12.4","cuid":"^2.1.8","level":"^7.0.0","rimraf":"^3.0.2","state-switch":"^0.6.18"},"devDependencies":{"@chatie/eslint-config":"^0.14.1","@chatie/git-scripts":"^0.6.2","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.20.2","@types/app-root-path":"^1.2.4","@types/level":"^6.0.0","@types/level-errors":"^3.0.0","@types/rimraf":"^3.0.1","jsdoc-to-markdown":"^7.0.1","npm-run-all":"^4.1.5","shx":"^0.3.3","source-map-support":"^0.5.19","tstest":"^0.5.16","typescript":"^4.4.3"},"publishConfig":{"access":"public","tag":"next"},"tap":{"check-coverage":false},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"readme":"# flash-store\n\n<!-- markdownlint-disable MD013 -->\n\n[![Powered by SQLite](https://img.shields.io/badge/Powered%20By-SQLite-green.svg)](https://https://www.sqlite.org/)\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by RocksDB](https://img.shields.io/badge/Powered%20By-RocksDB-green.svg)](https://rocksdb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n\n[![NPM Version](https://img.shields.io/npm/v/flash-store?color=brightgreen)](https://www.npmjs.com/package/flash-store)\n[![npm (next)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![GitHub Action](https://github.com/huan/flash-store/workflows/NPM/badge.svg)](https://github.com/huan/flash-store/actions?query=workflow%3ANPM)\n[![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/)\n\nFlashStore is Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## Requirements\n\n1. Node.js v10 or above\n\n## Examples\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.set(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## Supported Backend\n\n| Backend | Flash Store | Install NPM Command |\n| :--- | :--- | :--- |\n| LevelDB |v1.0 | `npm install flash-store@1` |\n| SQLite | v0.20 | `npm install flash-store@0.20` |\n| Medea | v0.18 | ~~npm install flash-store@0.18~~ (deprecated) |\n| SnapDB | v0.16 | ~~npm install flash-store@0.16~~ (deprecated) |\n| RocksDB | v0.14 | `npm install flash-store@0.14` |\n| LevelDB |v0.12 | `npm install flash-store@0.12` |\n\n> SnapDB & Medea were all deprecated because of lots of unknown bugs.\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implements the Standard ES6 Map API with Async modification, powered by [async-map-like](https://github.com/huan/async-map-like)\n\n```ts\n/**\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implements AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implements the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implements Map<K, V> {}\n```\n\n1. You get a sync API at the cost of all your data have to be kept in memory.\n1. The data will be async writing back to disk for persistent storage in background.\n1. The performance of `FlashStoreSync` can be expected high because it's all in memory.\n\n## Document\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## See Also\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 BigTable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## Known Issues\n\n1. The `gte` and `lte` in `options` do not work property. ([#4](https://github.com/huan/flash-store/issues/4))\n\n## Version History\n\n### master\n\n### v1.0 (Aug 16, 2021) LevelDB v7.0\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://www.npmjs.com/package/level)\n\nLevelDB v7.0.0 support.\n\n### v0.20 Apr 2020 SQLite as Backend\n\n1. We hardcoded the key type to be `string` only in this version.\n1. We decide to try [better-sqlite3](https://www.npmjs.com/package/better-sqlite3) as it claim is very fast.\n1. The other alternates (would love to try in the future if necessary):\n    1. TypeScript: [sqlite](https://www.npmjs.com/package/sqlite)\n    1. WebAssembly: [sql.js](https://www.npmjs.com/package/sql.js)\n\n### ~~v0.18 Feb 2019 - Medea as Backend~~\n\n[![Powered by Medea](https://img.shields.io/badge/Powered%20By-Medea-green.svg)](https://www.npmjs.com/package/medeadown)\n\nDEPRECATED: Due to [#79](https://github.com/huan/flash-store/issues/79) [#74](https://github.com/huan/flash-store/issues/74) and also it is very unstable in production as my experiences. (e.g. memory leak & block event loop)\n\n1. Switch from SnapDB to [MedeaDown](https://github.com/medea/medeadown)\n\n[Medea](https://github.com/medea/medea) is a persistent key-value storage library that runs everywhere Node runs.\n\n> \"It is a pure JS implementation of leveldown and it's almost as fast.\"\n> &mdash; @Raynos [link](https://github.com/medea/medeadown/issues/2#issue-38431966)  \n>  \n> \"The LevelDOWN-compatible wrapper for Medea really opens up the possibility to reuse the modules that have already been created around the LevelUP ecosystem.\"\n> &mdash; @kevinswiber [link](https://github.com/medea/medeadown/issues/2#issuecomment-49785861)\n\nKnown Issues: [FlashStore 会写满磁盘的问题 #155](https://github.com/wechaty/wechaty-puppet-padplus/issues/155)\n\n```ts\nasync function compact (store: FlashStore): Promise<void> {\n  await store.size\n  const db = (store as any).levelDb.db.db.db\n  await new Promise((resolve, reject) => {\n    db.compact((err: any) => {\n      if (err) {\n        return reject(err)\n      }\n      resolve()\n    })\n  })\n}\n```\n\n### v0.16 May 2019 - SnapDB as Backend\n\n[![Powered by SnapDB](https://img.shields.io/badge/Powered%20By-SnapDB-green.svg)](https://www.npmjs.com/package/snap-db)\n\n1. Switch from RocksDB to [SnapDB](https://github.com/ClickSimply/snap-db) [#45](https://github.com/huan/flash-store/issues/45)\n1. [#50](https://github.com/huan/flash-store/issues/50) has been fixed. ~~WARN: Do not use this version because it has known issues~~\n\n### v0.14 May 2019 - RocksDB as Backend\n\n1. Switch from LevelDB to [RocksDB](https://www.npmjs.com/package/rocksdb) [#34](https://github.com/huan/flash-store/issues/34)\n\n### v0.12 Jan 2019 - LevelDB as Backend\n\n1. Use [LevelDB](https://github.com/level/leveldown) as backend to skip the compiling when install.\n1. Using leveldb official typings from `@types/`\n\n### v0.7 Aug 2018 - Nosql-LevelDB as Backend\n\n1. Use [nosql-leveldb](https://github.com/snowyu/node-nosql-leveldb) as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implement ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## FAQ\n\n### Q: What's the difference between the `flash-store` and `memory-card`\n\nShort answer:\n\n1. `flash-store` is for save data to local filesystem.\n1. `memory-card` is for save data to a distributed network storage, it can be serialized/deserialized safely with the minimum payload transfered by design.\n\nLong answer:\n\n`flash-store` and `memory-card` are all built by @huan, and they are all follow the ES6 Map API.\n\n`flash-store` is using a no-sql local file database to maximum the performance, it can be used as a local database, or a local cache for whatever you want to cache from other API.\n\n`memory-card` is using a local file to store data in JSON format by default, however, it supports more distributed methods and it can be serialized/deserialized safely with the minimum payload for transfer the data between networks (for example, it can serialize itself to only include the `redis` config and then deserialize it to restore a MemoryCard instance with the same data backend). Learn more from it's repository at [here](https://github.com/huan/memory-card)\n\n## Author\n\n[Huan LI](https://github.com/huan) ([李卓桓](http://linkedin.com/in/zixia)) zixia@zixia.net\n\n[![Profile of Huan LI (李卓桓) on StackOverflow](https://stackexchange.com/users/flair/265499.png)](https://stackexchange.com/users/265499)\n\n## Copyright & License\n\n* Code & Docs © 2017-now Huan (李卓桓) \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","gitHead":"9877b48d51eb4b52a758dd41cbada03c9f2f5a3d","_id":"flash-store@1.1.5","_nodeVersion":"16.9.1","_npmVersion":"7.21.1","dist":{"integrity":"sha512-xHUdomkSvuJ+FPQG5H7Ge1XcRKg503NEDJi3MtPC7ABgWIKPv8v1K4jLrdFLMugo6+kwfCx9O8JmeFhezdPk6g==","shasum":"b5b3980dcf3bfb95cd67a384661c03af52129e71","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-1.1.5.tgz","fileCount":85,"unpackedSize":170327,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhPPHfCRA9TVsSAnZWagAAP78P/01Yrpw8Hr9zn/zZgHrC\nX89s18yXV+Hksl5WIPJaTBID6dTrQIHBsxo/XhJpg/diiHjVdfi+TDrHSA2W\nJiJzB1qo3/J1zJBjSRFeVXhEzCbAD8ZH1jFBk/uMdYgmuUxhEw4twSpfxdU+\nYKBQ8iD8fpywkRZx6CACje7dkgvF6RMHTIzkCA2EDBNg5x3ieSBh01TLB9qz\n9g5BhSM7YKOu2F/TwmcJ1ZVhmvZ5Dkwtz/22ab7Oyl76IC3RN/GTuG5S03ew\nWukVsLirOXuWA5MBxuAv7hTnTk21ltpebb8GrvdyIm5rThXKJwUzPeR9zG0K\nlqm710BVBQUy3bu2EgKKCs/Q61S7DvdzUiGFxpnF+aLtvo9igSUW4oeaAkcI\nSUYMOTRMUuW2l2Jd4ZhBNuKlZ459/nBW+QVQj2FdRzqyMKYA6/49cUovqerb\nS1FDvvjsBM67lkBY8TMkqb9lbTaoXhLCvCRipqCufz+Zk+/5f+UB4pWHn3B/\n2EN7PQr2LgvJ5FV7XXW1jY85JWLyyUDSx56J5o8SL2DZrjKyT1p4EDPdPbzr\nREDmCAVOT5WiSJsVaTI8xAmazBeOyiDKCBB6ZSViwlEGvoqOEvXl1PLhg3pi\nxk1ppXXA8rFonSP2W9UCs8gsiKKpN7LpnuOhZ2yT3w3PAVKCDJQzDCEvL7oi\nHx67\r\n=wSN1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIETg5Nf6LzFAyACUE5kGTzfbRVsnwhqqyjMpwbQouZHnAiEA3tF4m4C+uvgABN6JSwd4GlyclxK68zXMO+P/FtEFN1k="}]},"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_1.1.5_1631384031220_0.3491925935160314"},"_hasShrinkwrap":false},"1.1.7":{"name":"flash-store","version":"1.1.7","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","type":"module","exports":{".":{"import":"./dist/esm/src/mod.js","require":"./dist/cjs/src/mod.js"}},"typings":"./dist/esm/src/mod.d.ts","engines":{"node":">=14"},"scripts":{"clean":"shx rm -fr dist/*","dist":"npm-run-all clean build dist:commonjs","build":"tsc && tsc -p tsconfig.cjs.json","dist:commonjs":"jq -n \"{ type: \\\"commonjs\\\" }\" > dist/cjs/package.json","pack":"npm pack","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","lint":"npm-run-all lint:es lint:ts lint:md","lint:md":"markdownlint README.md","lint:ts":"tsc --isolatedModules --noEmit","lint:es":"eslint --ignore-pattern fixtures/ \"src/**/*.ts\" \"tests/**/*.ts\"","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"tap --node-arg=--loader=ts-node/esm --node-arg=--no-warnings \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"app-root-path":"^3.0.0","async-map-like":"^0.2.5","brolog":"^1.12.4","cuid":"^2.1.8","level":"^7.0.0","rimraf":"^3.0.2","state-switch":"^0.14.1"},"devDependencies":{"@chatie/eslint-config":"^0.14.1","@chatie/git-scripts":"^0.6.2","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.20.2","@types/app-root-path":"^1.2.4","@types/level":"^6.0.0","@types/level-errors":"^3.0.0","@types/rimraf":"^3.0.1","jsdoc-to-markdown":"^7.0.1","npm-run-all":"^4.1.5","shx":"^0.3.3","source-map-support":"^0.5.19","tstest":"^0.5.16","typescript":"^4.4.3"},"publishConfig":{"access":"public","tag":"next"},"tap":{"check-coverage":false},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"readme":"# flash-store\n\n<!-- markdownlint-disable MD013 -->\n\n[![Powered by SQLite](https://img.shields.io/badge/Powered%20By-SQLite-green.svg)](https://https://www.sqlite.org/)\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by RocksDB](https://img.shields.io/badge/Powered%20By-RocksDB-green.svg)](https://rocksdb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n\n[![NPM Version](https://img.shields.io/npm/v/flash-store?color=brightgreen)](https://www.npmjs.com/package/flash-store)\n[![npm (next)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![GitHub Action](https://github.com/huan/flash-store/workflows/NPM/badge.svg)](https://github.com/huan/flash-store/actions?query=workflow%3ANPM)\n[![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/)\n\nFlashStore is Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## Requirements\n\n1. Node.js v10 or above\n\n## Examples\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.set(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## Supported Backend\n\n| Backend | Flash Store | Install NPM Command |\n| :--- | :--- | :--- |\n| LevelDB |v1.0 | `npm install flash-store@1` |\n| SQLite | v0.20 | `npm install flash-store@0.20` |\n| Medea | v0.18 | ~~npm install flash-store@0.18~~ (deprecated) |\n| SnapDB | v0.16 | ~~npm install flash-store@0.16~~ (deprecated) |\n| RocksDB | v0.14 | `npm install flash-store@0.14` |\n| LevelDB |v0.12 | `npm install flash-store@0.12` |\n\n> SnapDB & Medea were all deprecated because of lots of unknown bugs.\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implements the Standard ES6 Map API with Async modification, powered by [async-map-like](https://github.com/huan/async-map-like)\n\n```ts\n/**\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implements AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implements the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implements Map<K, V> {}\n```\n\n1. You get a sync API at the cost of all your data have to be kept in memory.\n1. The data will be async writing back to disk for persistent storage in background.\n1. The performance of `FlashStoreSync` can be expected high because it's all in memory.\n\n## Document\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## See Also\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 BigTable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## Known Issues\n\n1. The `gte` and `lte` in `options` do not work property. ([#4](https://github.com/huan/flash-store/issues/4))\n\n## Version History\n\n### master\n\n### v1.0 (Aug 16, 2021) LevelDB v7.0\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://www.npmjs.com/package/level)\n\nLevelDB v7.0.0 support.\n\n### v0.20 Apr 2020 SQLite as Backend\n\n1. We hardcoded the key type to be `string` only in this version.\n1. We decide to try [better-sqlite3](https://www.npmjs.com/package/better-sqlite3) as it claim is very fast.\n1. The other alternates (would love to try in the future if necessary):\n    1. TypeScript: [sqlite](https://www.npmjs.com/package/sqlite)\n    1. WebAssembly: [sql.js](https://www.npmjs.com/package/sql.js)\n\n### ~~v0.18 Feb 2019 - Medea as Backend~~\n\n[![Powered by Medea](https://img.shields.io/badge/Powered%20By-Medea-green.svg)](https://www.npmjs.com/package/medeadown)\n\nDEPRECATED: Due to [#79](https://github.com/huan/flash-store/issues/79) [#74](https://github.com/huan/flash-store/issues/74) and also it is very unstable in production as my experiences. (e.g. memory leak & block event loop)\n\n1. Switch from SnapDB to [MedeaDown](https://github.com/medea/medeadown)\n\n[Medea](https://github.com/medea/medea) is a persistent key-value storage library that runs everywhere Node runs.\n\n> \"It is a pure JS implementation of leveldown and it's almost as fast.\"\n> &mdash; @Raynos [link](https://github.com/medea/medeadown/issues/2#issue-38431966)  \n>  \n> \"The LevelDOWN-compatible wrapper for Medea really opens up the possibility to reuse the modules that have already been created around the LevelUP ecosystem.\"\n> &mdash; @kevinswiber [link](https://github.com/medea/medeadown/issues/2#issuecomment-49785861)\n\nKnown Issues: [FlashStore 会写满磁盘的问题 #155](https://github.com/wechaty/wechaty-puppet-padplus/issues/155)\n\n```ts\nasync function compact (store: FlashStore): Promise<void> {\n  await store.size\n  const db = (store as any).levelDb.db.db.db\n  await new Promise((resolve, reject) => {\n    db.compact((err: any) => {\n      if (err) {\n        return reject(err)\n      }\n      resolve()\n    })\n  })\n}\n```\n\n### v0.16 May 2019 - SnapDB as Backend\n\n[![Powered by SnapDB](https://img.shields.io/badge/Powered%20By-SnapDB-green.svg)](https://www.npmjs.com/package/snap-db)\n\n1. Switch from RocksDB to [SnapDB](https://github.com/ClickSimply/snap-db) [#45](https://github.com/huan/flash-store/issues/45)\n1. [#50](https://github.com/huan/flash-store/issues/50) has been fixed. ~~WARN: Do not use this version because it has known issues~~\n\n### v0.14 May 2019 - RocksDB as Backend\n\n1. Switch from LevelDB to [RocksDB](https://www.npmjs.com/package/rocksdb) [#34](https://github.com/huan/flash-store/issues/34)\n\n### v0.12 Jan 2019 - LevelDB as Backend\n\n1. Use [LevelDB](https://github.com/level/leveldown) as backend to skip the compiling when install.\n1. Using leveldb official typings from `@types/`\n\n### v0.7 Aug 2018 - Nosql-LevelDB as Backend\n\n1. Use [nosql-leveldb](https://github.com/snowyu/node-nosql-leveldb) as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implement ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## FAQ\n\n### Q: What's the difference between the `flash-store` and `memory-card`\n\nShort answer:\n\n1. `flash-store` is for save data to local filesystem.\n1. `memory-card` is for save data to a distributed network storage, it can be serialized/deserialized safely with the minimum payload transfered by design.\n\nLong answer:\n\n`flash-store` and `memory-card` are all built by @huan, and they are all follow the ES6 Map API.\n\n`flash-store` is using a no-sql local file database to maximum the performance, it can be used as a local database, or a local cache for whatever you want to cache from other API.\n\n`memory-card` is using a local file to store data in JSON format by default, however, it supports more distributed methods and it can be serialized/deserialized safely with the minimum payload for transfer the data between networks (for example, it can serialize itself to only include the `redis` config and then deserialize it to restore a MemoryCard instance with the same data backend). Learn more from it's repository at [here](https://github.com/huan/memory-card)\n\n## Author\n\n[Huan LI](https://github.com/huan) ([李卓桓](http://linkedin.com/in/zixia)) zixia@zixia.net\n\n[![Profile of Huan LI (李卓桓) on StackOverflow](https://stackexchange.com/users/flair/265499.png)](https://stackexchange.com/users/265499)\n\n## Copyright & License\n\n* Code & Docs © 2017-now Huan (李卓桓) \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","gitHead":"ecfc3f4b8efd3d4f9309638919256106a81f60a6","_id":"flash-store@1.1.7","_nodeVersion":"16.9.1","_npmVersion":"7.21.1","dist":{"integrity":"sha512-+K66LdCCtIdOOCjEcEKeax+1LtOVwtao+dnoB9jEmaIkyJJsm4prgY4BjX+r5O9xg1W2aePSPZsgF+N8ATetVw==","shasum":"099551163becf1121740bce5cff8d4c3b0370f6a","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-1.1.7.tgz","fileCount":85,"unpackedSize":170374,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhPPNECRA9TVsSAnZWagAAHGMP/3L6V54W0KJToh+O4i5f\nVCeACcvHQ0oFdq9pV1LuWay/MJJeUPSNEpWfflJaEa4PH7HaiBqxoMevOWUa\nEEnNVq4O6m2+HlQOzCh4MJOD0pETj5aRlfQJb1NvahXpo0t6OlEbk4kz+J0+\n6CTjTw60ejjAaxel8J8Alj/qbce/BJpN1luNvMPld1OSAPgRIIMVzKezEakQ\nAWSRgHPsGa8Zsc1351pzM9LkpC7zboCqCRlYCId/LVg3SrcsxSDOHdQIrtSA\nAPWYscZ2228JStrAbnkugVIk+BMVUuSyT7ndp1DVaihr7yPVQ2xNDZSUGvnh\nTLtG0O42ND45GLd/3CjMB3bQAGAqto43/UL5b0U1cQmTLbAmcPcZS62vVCjE\nrEdKNtZwkdQtlwLeAJpX8pMt8k8tUGHIG6FNQ3CVUPizhnMX6m34Dy4+BrAZ\nksPu28I4zA7VEw+a7ZlV/YskkoptOGixZCNvO/9TBLOEvW2Y6CO7u6tUS8Rb\nV76QbR7h5PanWsWJjFPx3tui0KZdcTC9UeUaxOFGF6Ct8Z2+mp+1DG3RtDZg\n8+zIeIrvH/H+vQSw2R31peEZigbNuWe5sE68RmV9j/2eay70tnFZhj/3eAbm\nNuOF8Zo9sX9eANqAqkFeCMw2ZklPZp3AZUHP0OdjaA1LaOsLllsYL5ESCVf3\nR4dj\r\n=jjxZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOBdr1Zzgm6SLOEaBBx1ELzliwcLt62ikChiQft/OwFAIgCcY7J1iZOUs43qPwyQchmS2xp4RYTaS1x3gMrdbSZKc="}]},"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_1.1.7_1631384387923_0.5770720590023282"},"_hasShrinkwrap":false},"1.3.3":{"name":"flash-store","version":"1.3.3","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","type":"module","exports":{".":{"import":"./dist/esm/src/mod.js","require":"./dist/cjs/src/mod.js"}},"typings":"./dist/esm/src/mod.d.ts","engines":{"node":">=14"},"scripts":{"clean":"shx rm -fr dist/*","dist":"npm-run-all clean build dist:commonjs","build":"tsc && tsc -p tsconfig.cjs.json","dist:commonjs":"jq -n \"{ type: \\\"commonjs\\\" }\" > dist/cjs/package.json","pack":"npm pack","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","lint":"npm-run-all lint:es lint:ts lint:md","lint:md":"markdownlint README.md","lint:ts":"tsc --isolatedModules --noEmit","lint:es":"eslint --ignore-pattern fixtures/ \"src/**/*.ts\" \"tests/**/*.ts\"","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"tap --node-arg=--loader=ts-node/esm --node-arg=--no-warnings \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"async-map-like":"^0.2.5","brolog":"^1.12.4","cuid":"^2.1.8","level":"^7.0.0","rimraf":"^3.0.2","state-switch":"^0.14.1"},"devDependencies":{"@chatie/eslint-config":"^0.14.1","@chatie/git-scripts":"^0.6.2","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.20.2","@types/app-root-path":"^1.2.4","@types/level":"^6.0.0","@types/level-errors":"^3.0.0","@types/rimraf":"^3.0.1","jsdoc-to-markdown":"^7.0.1","npm-run-all":"^4.1.5","shx":"^0.3.3","source-map-support":"^0.5.19","tstest":"^0.5.16","typescript":"^4.4.3"},"publishConfig":{"access":"public","tag":"next"},"tap":{"check-coverage":false},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"readme":"# flash-store\n\n<!-- markdownlint-disable MD013 -->\n\n[![Powered by SQLite](https://img.shields.io/badge/Powered%20By-SQLite-green.svg)](https://https://www.sqlite.org/)\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by RocksDB](https://img.shields.io/badge/Powered%20By-RocksDB-green.svg)](https://rocksdb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n\n[![NPM Version](https://img.shields.io/npm/v/flash-store?color=brightgreen)](https://www.npmjs.com/package/flash-store)\n[![npm (next)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![GitHub Action](https://github.com/huan/flash-store/workflows/NPM/badge.svg)](https://github.com/huan/flash-store/actions?query=workflow%3ANPM)\n[![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/)\n\nFlashStore is Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## Requirements\n\n1. Node.js v10 or above\n\n## Examples\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.set(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## Supported Backend\n\n| Backend | Flash Store | Install NPM Command |\n| :--- | :--- | :--- |\n| LevelDB |v1.0 | `npm install flash-store@1` |\n| SQLite | v0.20 | `npm install flash-store@0.20` |\n| Medea | v0.18 | ~~npm install flash-store@0.18~~ (deprecated) |\n| SnapDB | v0.16 | ~~npm install flash-store@0.16~~ (deprecated) |\n| RocksDB | v0.14 | `npm install flash-store@0.14` |\n| LevelDB |v0.12 | `npm install flash-store@0.12` |\n\n> SnapDB & Medea were all deprecated because of lots of unknown bugs.\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implements the Standard ES6 Map API with Async modification, powered by [async-map-like](https://github.com/huan/async-map-like)\n\n```ts\n/**\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implements AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implements the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implements Map<K, V> {}\n```\n\n1. You get a sync API at the cost of all your data have to be kept in memory.\n1. The data will be async writing back to disk for persistent storage in background.\n1. The performance of `FlashStoreSync` can be expected high because it's all in memory.\n\n## Document\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## See Also\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 BigTable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## Known Issues\n\n1. The `gte` and `lte` in `options` do not work property. ([#4](https://github.com/huan/flash-store/issues/4))\n\n## Version History\n\n### master v1.3 (Sep 12, 2021)\n\n1. Remove default `workdir` in `FlashStore` constructor.\n\n### v1.0 (Aug 16, 2021) LevelDB v7.0\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://www.npmjs.com/package/level)\n\nLevelDB v7.0.0 support.\n\n### v0.20 Apr 2020 SQLite as Backend\n\n1. We hardcoded the key type to be `string` only in this version.\n1. We decide to try [better-sqlite3](https://www.npmjs.com/package/better-sqlite3) as it claim is very fast.\n1. The other alternates (would love to try in the future if necessary):\n    1. TypeScript: [sqlite](https://www.npmjs.com/package/sqlite)\n    1. WebAssembly: [sql.js](https://www.npmjs.com/package/sql.js)\n\n### ~~v0.18 Feb 2019 - Medea as Backend~~\n\n[![Powered by Medea](https://img.shields.io/badge/Powered%20By-Medea-green.svg)](https://www.npmjs.com/package/medeadown)\n\nDEPRECATED: Due to [#79](https://github.com/huan/flash-store/issues/79) [#74](https://github.com/huan/flash-store/issues/74) and also it is very unstable in production as my experiences. (e.g. memory leak & block event loop)\n\n1. Switch from SnapDB to [MedeaDown](https://github.com/medea/medeadown)\n\n[Medea](https://github.com/medea/medea) is a persistent key-value storage library that runs everywhere Node runs.\n\n> \"It is a pure JS implementation of leveldown and it's almost as fast.\"\n> &mdash; @Raynos [link](https://github.com/medea/medeadown/issues/2#issue-38431966)  \n>  \n> \"The LevelDOWN-compatible wrapper for Medea really opens up the possibility to reuse the modules that have already been created around the LevelUP ecosystem.\"\n> &mdash; @kevinswiber [link](https://github.com/medea/medeadown/issues/2#issuecomment-49785861)\n\nKnown Issues: [FlashStore 会写满磁盘的问题 #155](https://github.com/wechaty/wechaty-puppet-padplus/issues/155)\n\n```ts\nasync function compact (store: FlashStore): Promise<void> {\n  await store.size\n  const db = (store as any).levelDb.db.db.db\n  await new Promise((resolve, reject) => {\n    db.compact((err: any) => {\n      if (err) {\n        return reject(err)\n      }\n      resolve()\n    })\n  })\n}\n```\n\n### v0.16 May 2019 - SnapDB as Backend\n\n[![Powered by SnapDB](https://img.shields.io/badge/Powered%20By-SnapDB-green.svg)](https://www.npmjs.com/package/snap-db)\n\n1. Switch from RocksDB to [SnapDB](https://github.com/ClickSimply/snap-db) [#45](https://github.com/huan/flash-store/issues/45)\n1. [#50](https://github.com/huan/flash-store/issues/50) has been fixed. ~~WARN: Do not use this version because it has known issues~~\n\n### v0.14 May 2019 - RocksDB as Backend\n\n1. Switch from LevelDB to [RocksDB](https://www.npmjs.com/package/rocksdb) [#34](https://github.com/huan/flash-store/issues/34)\n\n### v0.12 Jan 2019 - LevelDB as Backend\n\n1. Use [LevelDB](https://github.com/level/leveldown) as backend to skip the compiling when install.\n1. Using leveldb official typings from `@types/`\n\n### v0.7 Aug 2018 - Nosql-LevelDB as Backend\n\n1. Use [nosql-leveldb](https://github.com/snowyu/node-nosql-leveldb) as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implement ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## FAQ\n\n### Q: What's the difference between the `flash-store` and `memory-card`\n\nShort answer:\n\n1. `flash-store` is for save data to local filesystem.\n1. `memory-card` is for save data to a distributed network storage, it can be serialized/deserialized safely with the minimum payload transfered by design.\n\nLong answer:\n\n`flash-store` and `memory-card` are all built by @huan, and they are all follow the ES6 Map API.\n\n`flash-store` is using a no-sql local file database to maximum the performance, it can be used as a local database, or a local cache for whatever you want to cache from other API.\n\n`memory-card` is using a local file to store data in JSON format by default, however, it supports more distributed methods and it can be serialized/deserialized safely with the minimum payload for transfer the data between networks (for example, it can serialize itself to only include the `redis` config and then deserialize it to restore a MemoryCard instance with the same data backend). Learn more from it's repository at [here](https://github.com/huan/memory-card)\n\n## Author\n\n[Huan LI](https://github.com/huan) ([李卓桓](http://linkedin.com/in/zixia)) zixia@zixia.net\n\n[![Profile of Huan LI (李卓桓) on StackOverflow](https://stackexchange.com/users/flair/265499.png)](https://stackexchange.com/users/265499)\n\n## Copyright & License\n\n* Code & Docs © 2017-now Huan (李卓桓) \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","gitHead":"be4fafb1964b0f75f32ad38d0ee32963b178d886","_id":"flash-store@1.3.3","_nodeVersion":"16.9.1","_npmVersion":"7.21.1","dist":{"integrity":"sha512-99heSZrtqKcrwZixbBg6/o95v8rfkhrwl3+PzK5lx3/Pmkcqn6pZOkq7nZpjtZYy02ttHMa+ciTuvA4T7a++gw==","shasum":"eda90d290faf318becbc529cf0b81d06d989e328","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-1.3.3.tgz","fileCount":85,"unpackedSize":168844,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhPPZfCRA9TVsSAnZWagAA3Q8P/1BaEBGfpTC670Tvz1je\nS4XNNMcxCDMyx5uiHIROGDg9IbGRhoIyDGOMjNUCUHe5I7xFW9blrIBj0aOd\nSnA1rJ8pi2NLjk+LDFjkAH5ive51/knUn1cu0IX9WQXeDIwMBiSEDOj0Wwo8\ntsy5eQX6RYD/JkjSw31u40up1zzaqp2y2n4tdPSkD1t8fv1x9oX8TeC2K+jr\nEQo5HOkOCrnd3ptLHqEGKdWO1jhllQmvfSeKj7cR6XuPHTgNVwd7/LAI1Hdz\nhK+A6KDQF5E+ENjc7GSTWPHSHHVGmkIrvKWcD6yVOUk6gHuOo3FGVOcL48Rj\nIyD3V4idpesCtXE90JJLhQRRmHt/1FrochxgVV9oGizh4635AcF5f44advgC\nzjmCM/EsV9Bor8JNhDKA9cTfVD2aAzPg88fsqOWFwzsreNnMu9R0QmVpTgXm\npkJ7HoNKLgfR6HEkcPYJcetViC4rMAQEQyu6yXF1chDokttmOlLAiY41i2+0\nnXM+nrI/xQHWIQTrLn+3S/EwIEDLSGHK9n254e8UzZQT71qBpbtNWzTH3pvp\nS/U6qTci6zV6mvnQTRVIum6x4mVPVuj+vYJojPb5bDq+oBR5B5Nj8gdROq7H\nA+cQ1QK6KAZL9ejWKomxrnakaT0nEXxVRc4bSRSF2+nmADBHQ797G86f4cNi\n3cy9\r\n=1Q9X\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWsScpuUzT+I/d5BllV0X62NqY4tgg6Vuegx6oTJHhQgIhAKi6XBFcsRdPJBFf27YgESbVxLleN2EjxPoFgKF2D5L0"}]},"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_1.3.3_1631385183297_0.13589655446557725"},"_hasShrinkwrap":false},"1.3.4":{"name":"flash-store","version":"1.3.4","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","type":"module","exports":{".":{"import":"./dist/esm/src/mod.js","require":"./dist/cjs/src/mod.js"}},"typings":"./dist/esm/src/mod.d.ts","engines":{"node":">=14"},"scripts":{"clean":"shx rm -fr dist/*","dist":"npm-run-all clean build dist:commonjs","build":"tsc && tsc -p tsconfig.cjs.json","dist:commonjs":"jq -n \"{ type: \\\"commonjs\\\" }\" > dist/cjs/package.json","pack":"npm pack","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","lint":"npm-run-all lint:es lint:ts lint:md","lint:md":"markdownlint README.md","lint:ts":"tsc --isolatedModules --noEmit","lint:es":"eslint --ignore-pattern fixtures/ \"src/**/*.ts\" \"tests/**/*.ts\"","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"tap --node-arg=--loader=ts-node/esm --node-arg=--no-warnings \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"async-map-like":"^0.2.5","brolog":"^1.12.4","cuid":"^2.1.8","level":"^7.0.0","rimraf":"^3.0.2","state-switch":"^0.14.1"},"devDependencies":{"@chatie/eslint-config":"^0.14.1","@chatie/git-scripts":"^0.6.2","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.20.2","@types/app-root-path":"^1.2.4","@types/level":"^6.0.0","@types/level-errors":"^3.0.0","@types/rimraf":"^3.0.1","jsdoc-to-markdown":"^7.0.1","npm-run-all":"^4.1.5","shx":"^0.3.3","source-map-support":"^0.5.19","tstest":"^0.5.16","typescript":"^4.4.3"},"publishConfig":{"access":"public","tag":"next"},"tap":{"check-coverage":false},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"readme":"# flash-store\n\n<!-- markdownlint-disable MD013 -->\n\n[![Powered by SQLite](https://img.shields.io/badge/Powered%20By-SQLite-green.svg)](https://https://www.sqlite.org/)\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by RocksDB](https://img.shields.io/badge/Powered%20By-RocksDB-green.svg)](https://rocksdb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n\n[![NPM Version](https://img.shields.io/npm/v/flash-store?color=brightgreen)](https://www.npmjs.com/package/flash-store)\n[![npm (next)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![GitHub Action](https://github.com/huan/flash-store/workflows/NPM/badge.svg)](https://github.com/huan/flash-store/actions?query=workflow%3ANPM)\n[![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/)\n\nFlashStore is Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## Requirements\n\n1. Node.js v10 or above\n\n## Examples\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.set(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## Supported Backend\n\n| Backend | Flash Store | Install NPM Command |\n| :--- | :--- | :--- |\n| LevelDB |v1.0 | `npm install flash-store@1` |\n| SQLite | v0.20 | `npm install flash-store@0.20` |\n| Medea | v0.18 | ~~npm install flash-store@0.18~~ (deprecated) |\n| SnapDB | v0.16 | ~~npm install flash-store@0.16~~ (deprecated) |\n| RocksDB | v0.14 | `npm install flash-store@0.14` |\n| LevelDB |v0.12 | `npm install flash-store@0.12` |\n\n> SnapDB & Medea were all deprecated because of lots of unknown bugs.\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implements the Standard ES6 Map API with Async modification, powered by [async-map-like](https://github.com/huan/async-map-like)\n\n```ts\n/**\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implements AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implements the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implements Map<K, V> {}\n```\n\n1. You get a sync API at the cost of all your data have to be kept in memory.\n1. The data will be async writing back to disk for persistent storage in background.\n1. The performance of `FlashStoreSync` can be expected high because it's all in memory.\n\n## Document\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## See Also\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 BigTable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## Known Issues\n\n1. The `gte` and `lte` in `options` do not work property. ([#4](https://github.com/huan/flash-store/issues/4))\n\n## Version History\n\n### master v1.3 (Sep 12, 2021)\n\n1. Remove default `workdir` in `FlashStore` constructor.\n\n### v1.0 (Aug 16, 2021) LevelDB v7.0\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://www.npmjs.com/package/level)\n\nLevelDB v7.0.0 support.\n\n### v0.20 Apr 2020 SQLite as Backend\n\n1. We hardcoded the key type to be `string` only in this version.\n1. We decide to try [better-sqlite3](https://www.npmjs.com/package/better-sqlite3) as it claim is very fast.\n1. The other alternates (would love to try in the future if necessary):\n    1. TypeScript: [sqlite](https://www.npmjs.com/package/sqlite)\n    1. WebAssembly: [sql.js](https://www.npmjs.com/package/sql.js)\n\n### ~~v0.18 Feb 2019 - Medea as Backend~~\n\n[![Powered by Medea](https://img.shields.io/badge/Powered%20By-Medea-green.svg)](https://www.npmjs.com/package/medeadown)\n\nDEPRECATED: Due to [#79](https://github.com/huan/flash-store/issues/79) [#74](https://github.com/huan/flash-store/issues/74) and also it is very unstable in production as my experiences. (e.g. memory leak & block event loop)\n\n1. Switch from SnapDB to [MedeaDown](https://github.com/medea/medeadown)\n\n[Medea](https://github.com/medea/medea) is a persistent key-value storage library that runs everywhere Node runs.\n\n> \"It is a pure JS implementation of leveldown and it's almost as fast.\"\n> &mdash; @Raynos [link](https://github.com/medea/medeadown/issues/2#issue-38431966)  \n>  \n> \"The LevelDOWN-compatible wrapper for Medea really opens up the possibility to reuse the modules that have already been created around the LevelUP ecosystem.\"\n> &mdash; @kevinswiber [link](https://github.com/medea/medeadown/issues/2#issuecomment-49785861)\n\nKnown Issues: [FlashStore 会写满磁盘的问题 #155](https://github.com/wechaty/wechaty-puppet-padplus/issues/155)\n\n```ts\nasync function compact (store: FlashStore): Promise<void> {\n  await store.size\n  const db = (store as any).levelDb.db.db.db\n  await new Promise((resolve, reject) => {\n    db.compact((err: any) => {\n      if (err) {\n        return reject(err)\n      }\n      resolve()\n    })\n  })\n}\n```\n\n### v0.16 May 2019 - SnapDB as Backend\n\n[![Powered by SnapDB](https://img.shields.io/badge/Powered%20By-SnapDB-green.svg)](https://www.npmjs.com/package/snap-db)\n\n1. Switch from RocksDB to [SnapDB](https://github.com/ClickSimply/snap-db) [#45](https://github.com/huan/flash-store/issues/45)\n1. [#50](https://github.com/huan/flash-store/issues/50) has been fixed. ~~WARN: Do not use this version because it has known issues~~\n\n### v0.14 May 2019 - RocksDB as Backend\n\n1. Switch from LevelDB to [RocksDB](https://www.npmjs.com/package/rocksdb) [#34](https://github.com/huan/flash-store/issues/34)\n\n### v0.12 Jan 2019 - LevelDB as Backend\n\n1. Use [LevelDB](https://github.com/level/leveldown) as backend to skip the compiling when install.\n1. Using leveldb official typings from `@types/`\n\n### v0.7 Aug 2018 - Nosql-LevelDB as Backend\n\n1. Use [nosql-leveldb](https://github.com/snowyu/node-nosql-leveldb) as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implement ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## FAQ\n\n### Q: What's the difference between the `flash-store` and `memory-card`\n\nShort answer:\n\n1. `flash-store` is for save data to local filesystem.\n1. `memory-card` is for save data to a distributed network storage, it can be serialized/deserialized safely with the minimum payload transfered by design.\n\nLong answer:\n\n`flash-store` and `memory-card` are all built by @huan, and they are all follow the ES6 Map API.\n\n`flash-store` is using a no-sql local file database to maximum the performance, it can be used as a local database, or a local cache for whatever you want to cache from other API.\n\n`memory-card` is using a local file to store data in JSON format by default, however, it supports more distributed methods and it can be serialized/deserialized safely with the minimum payload for transfer the data between networks (for example, it can serialize itself to only include the `redis` config and then deserialize it to restore a MemoryCard instance with the same data backend). Learn more from it's repository at [here](https://github.com/huan/memory-card)\n\n## Author\n\n[Huan LI](https://github.com/huan) ([李卓桓](http://linkedin.com/in/zixia)) zixia@zixia.net\n\n[![Profile of Huan LI (李卓桓) on StackOverflow](https://stackexchange.com/users/flair/265499.png)](https://stackexchange.com/users/265499)\n\n## Copyright & License\n\n* Code & Docs © 2017-now Huan (李卓桓) \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","gitHead":"9e04ac1c9ca65b12ac3a227ce12690d6a0dfb68d","_id":"flash-store@1.3.4","_nodeVersion":"16.9.1","_npmVersion":"7.21.1","dist":{"integrity":"sha512-LS4cPF11W3fs/4b0b/aV2fD+l+JdYPb1nwtUYVeOvLEDE6dEWNft+ISBQ0pU4qB0sQFdHtoZEqsOejKTRw2pww==","shasum":"f5b98f11b0c8646c6541a53e07df1c2cfee2d862","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-1.3.4.tgz","fileCount":85,"unpackedSize":168844,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhPPbHCRA9TVsSAnZWagAAioEQAKBqDNJ4luccu/5+UWHI\ntmO+2q+OnseorS7W+6HDoJ1cYzjWiKYvEBR/OaXTq5ChUkFfW/oXEn1E5YVM\njoUUBUMeHtzT4eejTtqcbLJ1uOJUQf8zaTR0okMkMz8VpXAsbB3g/YnAiG+A\nAQbFQY9qjxX8TpUOcqYPudQtb1By82j+ir/DD2uGrBSKhzkjek3yi7kx0ZjW\n1RMk5FpHVOp2WPdMouFbOr10+D8qObDLPJKc8I6YW0Pp1j91svPDfxts5qYn\nBCMylpqgZJ8ju9z6NBLsGvMwlEujVwLRWHf5T/79AyNI3N9DVBeNG0Af18vm\nEq3lJdpBIzw1n16k0dRntKaL7OyCtveccAqP/JHN5GnkxwLcbPc95tl7921p\nQ2W3uhY7K6bfZrW8XTLvwA+A+mUijBDBMUZ/NcCpjXHM4t5Yz1DrZhxr0nEd\nlkiQVmAKm6ASHlLwjtp9RVDelMtydJpEnuW0xujdmy/zOzUDPtiGfqpFUs+L\nzJz20eUWa45EKjCInSjltVeZnghi1jkqIvAQgk6vEz23SkRyePY70MsjUFgj\nxb/dX6UVrefAYxENkDTO7EYiZm8ssi+OuyqeB0op1o+yjTbHWg+VC9PE9vCm\ntiR0Jlu3GXYPMu5nYE/FtRD+v2yIDLscJPXEqXWUvs0uwcjIzNIEad33u2Yf\n3XwE\r\n=/qps\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhkTql+uK6TStV4mfbQbXNH23pXqo0GkqnOAWFi6HGzAIgN8tvWf2fQ6zJHp7nxPEs3rBeMFRrMttovtqYxJuvi/w="}]},"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_1.3.4_1631385287143_0.517640799895571"},"_hasShrinkwrap":false},"1.3.5":{"name":"flash-store","version":"1.3.5","description":"FlashStore is a Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.","type":"module","exports":{".":{"import":"./dist/esm/src/mod.js","require":"./dist/cjs/src/mod.js"}},"typings":"./dist/esm/src/mod.d.ts","engines":{"node":">=14"},"scripts":{"clean":"shx rm -fr dist/*","dist":"npm-run-all clean build dist:commonjs","build":"tsc && tsc -p tsconfig.cjs.json","dist:commonjs":"jq -n \"{ type: \\\"commonjs\\\" }\" > dist/cjs/package.json","pack":"npm pack","doc":"npm run dist && echo '# FlashStore v'$(jq -r .version package.json)' Documentation\n' > docs/index.md && jsdoc2md dist/flash-store.js>> docs/index.md","demo":"ts-node example/demo.ts","lint":"npm-run-all lint:es lint:ts lint:md","lint:md":"markdownlint README.md","lint:ts":"tsc --isolatedModules --noEmit","lint:es":"eslint --ignore-pattern fixtures/ \"src/**/*.ts\" \"tests/**/*.ts\"","test":"npm run lint && npm run test:unit","test:pack":"bash -x scripts/npm-pack-testing.sh","test:unit":"tap --node-arg=--loader=ts-node/esm --node-arg=--no-warnings \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\""},"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"keywords":["leveldb","nosql","database"],"author":{"name":"Huan LI","email":"zixia@zixia.net"},"license":"Apache-2.0","bugs":{"url":"https://github.com/huan/flash-store/issues"},"homepage":"https://github.com/huan/flash-store#readme","dependencies":{"async-map-like":"^0.2.5","brolog":"^1.12.4","cuid":"^2.1.8","level":"^7.0.0","rimraf":"^3.0.2","state-switch":"^0.14.1"},"devDependencies":{"@chatie/eslint-config":"^0.14.1","@chatie/git-scripts":"^0.6.2","@chatie/semver":"^0.4.7","@chatie/tsconfig":"^0.20.2","@types/app-root-path":"^1.2.4","@types/level":"^6.0.0","@types/level-errors":"^3.0.0","@types/rimraf":"^3.0.1","jsdoc-to-markdown":"^7.0.1","npm-run-all":"^4.1.5","shx":"^0.3.3","source-map-support":"^0.5.19","tstest":"^0.5.16","typescript":"^4.4.3"},"publishConfig":{"access":"public","tag":"next"},"tap":{"check-coverage":false},"git":{"scripts":{"pre-push":"npx git-scripts-pre-push"}},"readme":"# flash-store\n\n<!-- markdownlint-disable MD013 -->\n\n[![Powered by SQLite](https://img.shields.io/badge/Powered%20By-SQLite-green.svg)](https://https://www.sqlite.org/)\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://leveldb.org/)\n[![Powered by RocksDB](https://img.shields.io/badge/Powered%20By-RocksDB-green.svg)](https://rocksdb.org/)\n[![Powered by TypeScript](https://img.shields.io/badge/Powered%20By-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![ES Modules](https://img.shields.io/badge/ES-Modules-brightgreen)](https://github.com/Chatie/tsconfig/issues/16)\n\n[![NPM Version](https://img.shields.io/npm/v/flash-store?color=brightgreen)](https://www.npmjs.com/package/flash-store)\n[![npm (next)](https://img.shields.io/npm/v/flash-store/next.svg)](https://www.npmjs.com/package/flash-store?activeTab=versions)\n[![GitHub Action](https://github.com/huan/flash-store/workflows/NPM/badge.svg)](https://github.com/huan/flash-store/actions?query=workflow%3ANPM)\n[![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-blue.svg)](https://www.typescriptlang.org/)\n[![Downloads](http://img.shields.io/npm/dm/flash-store.svg?style=flat-square)](https://npmjs.org/package/flash-store)\n[![node](https://img.shields.io/node/v/flash-store.svg?maxAge=604800)](https://nodejs.org/)\n\nFlashStore is Key-Value persistent storage with easy to use ES6 Map-like API(both Async and Sync support), powered by LevelDB and TypeScript.\n\n![flash store](https://huan.github.io/flash-store/images/flash-store.png)\n\n## Requirements\n\n1. Node.js v10 or above\n\n## Examples\n\nTry the following command\n\n```shell\nnpm install\nnpm run demo\n```\n\nThe basic function as follows:\n\n```ts\nimport { FlashStore } from 'flash-store'\n\nconst flashStore = new FlashStore('flashstore.workdir')\n\nawait flashStore.set(1, 'a')\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: 'a'\n\nawait flashStore.del(1)\nconsole.log(`key: 1, value: ${await flashStore.get(1)}`)\n// Output: undefined\n```\n\n## Supported Backend\n\n| Backend | Flash Store | Install NPM Command |\n| :--- | :--- | :--- |\n| LevelDB |v1.0 | `npm install flash-store@1` |\n| SQLite | v0.20 | `npm install flash-store@0.20` |\n| Medea | v0.18 | ~~npm install flash-store@0.18~~ (deprecated) |\n| SnapDB | v0.16 | ~~npm install flash-store@0.16~~ (deprecated) |\n| RocksDB | v0.14 | `npm install flash-store@0.14` |\n| LevelDB |v0.12 | `npm install flash-store@0.12` |\n\n> SnapDB & Medea were all deprecated because of lots of unknown bugs.\n\n## API Reference\n\n### `FlashStore`\n\nFlashStore implements the Standard ES6 Map API with Async modification, powered by [async-map-like](https://github.com/huan/async-map-like)\n\n```ts\n/**\n * ES6 Map API with Async\n */\nexport interface AsyncMap<K = any, V = any> {\n  [Symbol.asyncIterator]() : AsyncIterableIterator<[K, V]>\n  size                     : Promise<number>\n\n  clear   ()                 : Promise<void>\n  delete  (key: K)           : Promise<void>\n  entries()                  : AsyncIterableIterator<[K, V]>\n  get     (key: K)           : Promise<V | undefined>\n  has     (key: K)           : Promise<boolean>\n  keys    ()                 : AsyncIterableIterator<K>\n  set     (key: K, value: V) : Promise<void>\n  values  ()                 : AsyncIterableIterator<V>\n}\n\nclass FlashStore<K, V> implements AsyncMap<K, V> {}\n```\n\n### `FlashStoreSync`\n\nFlashStoreSync implements the Standard ES6 Map API:\n\n```ts\nclass FlashStoreSync<K, V> implements Map<K, V> {}\n```\n\n1. You get a sync API at the cost of all your data have to be kept in memory.\n1. The data will be async writing back to disk for persistent storage in background.\n1. The performance of `FlashStoreSync` can be expected high because it's all in memory.\n\n## Document\n\nSee [auto generated docs](https://huan.github.io/flash-store)\n\n* [ECMAScript 6: Maps - 2ality – JavaScript and more](http://2ality.com/2015/01/es6-maps-sets.html)\n\n## See Also\n\n1. [Node.js databases: an embedded database using LevelDB](https://blog.yld.io/2016/10/24/node-js-databases-an-embedded-database-using-leveldb)\n2. [How to Cook a Graph Database in a Night - LevelGraph](http://nodejsconfit.levelgraph.io/)\n3. [Graph database JS style for Node.js and the Browser. Built upon LevelUp and LevelDB.](https://github.com/levelgraph/levelgraph)\n4. [浅析 BigTable 和 LevelDB 的实现](http://draveness.me/bigtable-leveldb.html)\n\n## Known Issues\n\n1. The `gte` and `lte` in `options` do not work property. ([#4](https://github.com/huan/flash-store/issues/4))\n\n## Version History\n\n### master v1.3 (Sep 12, 2021)\n\n1. ES Modules support ([#93](https://github.com/huan/flash-store/pull/93))\n1. Remove default `workdir` in `FlashStore` constructor.\n\n### v1.0 (Aug 16, 2021) LevelDB v7.0\n\n[![Powered by LevelDB](https://img.shields.io/badge/Powered%20By-LevelDB-green.svg)](https://www.npmjs.com/package/level)\n\nLevelDB v7.0.0 support.\n\n### v0.20 Apr 2020 SQLite as Backend\n\n1. We hardcoded the key type to be `string` only in this version.\n1. We decide to try [better-sqlite3](https://www.npmjs.com/package/better-sqlite3) as it claim is very fast.\n1. The other alternates (would love to try in the future if necessary):\n    1. TypeScript: [sqlite](https://www.npmjs.com/package/sqlite)\n    1. WebAssembly: [sql.js](https://www.npmjs.com/package/sql.js)\n\n### ~~v0.18 Feb 2019 - Medea as Backend~~\n\n[![Powered by Medea](https://img.shields.io/badge/Powered%20By-Medea-green.svg)](https://www.npmjs.com/package/medeadown)\n\nDEPRECATED: Due to [#79](https://github.com/huan/flash-store/issues/79) [#74](https://github.com/huan/flash-store/issues/74) and also it is very unstable in production as my experiences. (e.g. memory leak & block event loop)\n\n1. Switch from SnapDB to [MedeaDown](https://github.com/medea/medeadown)\n\n[Medea](https://github.com/medea/medea) is a persistent key-value storage library that runs everywhere Node runs.\n\n> \"It is a pure JS implementation of leveldown and it's almost as fast.\"\n> &mdash; @Raynos [link](https://github.com/medea/medeadown/issues/2#issue-38431966)  \n>  \n> \"The LevelDOWN-compatible wrapper for Medea really opens up the possibility to reuse the modules that have already been created around the LevelUP ecosystem.\"\n> &mdash; @kevinswiber [link](https://github.com/medea/medeadown/issues/2#issuecomment-49785861)\n\nKnown Issues: [FlashStore 会写满磁盘的问题 #155](https://github.com/wechaty/wechaty-puppet-padplus/issues/155)\n\n```ts\nasync function compact (store: FlashStore): Promise<void> {\n  await store.size\n  const db = (store as any).levelDb.db.db.db\n  await new Promise((resolve, reject) => {\n    db.compact((err: any) => {\n      if (err) {\n        return reject(err)\n      }\n      resolve()\n    })\n  })\n}\n```\n\n### v0.16 May 2019 - SnapDB as Backend\n\n[![Powered by SnapDB](https://img.shields.io/badge/Powered%20By-SnapDB-green.svg)](https://www.npmjs.com/package/snap-db)\n\n1. Switch from RocksDB to [SnapDB](https://github.com/ClickSimply/snap-db) [#45](https://github.com/huan/flash-store/issues/45)\n1. [#50](https://github.com/huan/flash-store/issues/50) has been fixed. ~~WARN: Do not use this version because it has known issues~~\n\n### v0.14 May 2019 - RocksDB as Backend\n\n1. Switch from LevelDB to [RocksDB](https://www.npmjs.com/package/rocksdb) [#34](https://github.com/huan/flash-store/issues/34)\n\n### v0.12 Jan 2019 - LevelDB as Backend\n\n1. Use [LevelDB](https://github.com/level/leveldown) as backend to skip the compiling when install.\n1. Using leveldb official typings from `@types/`\n\n### v0.7 Aug 2018 - Nosql-LevelDB as Backend\n\n1. Use [nosql-leveldb](https://github.com/snowyu/node-nosql-leveldb) as backend to prevent segfault.\n\n### v0.6 Jul 2018\n\n1. Upgrade to TypeScript 3.0\n\n### v0.4 Jun 2018\n\n#### 1. Refactor API to implement ES6 `Map` interface\n\n1. Update the API to ES6 `Map`-like, the difference is that FlashStore is all **async**.\n\n#### 2. Add `FlashStoreSync` as a in-memory **Write-back Cache** for Flash-Store\n\nAdd a new class `FlashStoreSync` which is a in-memory full loaded **Write-back Cache** for Flash-Store:\n\n1. Writes directly to `cache`, lazy writes to `store`.\n1. Reads from cache, never read-miss because cache have the full data of the store which will never expire.\n1. API of `FlashStoreSync` is the same as the ES6 `Map`\n\n### v0.2 Sep 2017\n\nInit version, API is LevelDB-like.\n\n## FAQ\n\n### Q: What's the difference between the `flash-store` and `memory-card`\n\nShort answer:\n\n1. `flash-store` is for save data to local filesystem.\n1. `memory-card` is for save data to a distributed network storage, it can be serialized/deserialized safely with the minimum payload transfered by design.\n\nLong answer:\n\n`flash-store` and `memory-card` are all built by @huan, and they are all follow the ES6 Map API.\n\n`flash-store` is using a no-sql local file database to maximum the performance, it can be used as a local database, or a local cache for whatever you want to cache from other API.\n\n`memory-card` is using a local file to store data in JSON format by default, however, it supports more distributed methods and it can be serialized/deserialized safely with the minimum payload for transfer the data between networks (for example, it can serialize itself to only include the `redis` config and then deserialize it to restore a MemoryCard instance with the same data backend). Learn more from it's repository at [here](https://github.com/huan/memory-card)\n\n## Author\n\n[Huan LI](https://github.com/huan) ([李卓桓](http://linkedin.com/in/zixia)) zixia@zixia.net\n\n[![Profile of Huan LI (李卓桓) on StackOverflow](https://stackexchange.com/users/flair/265499.png)](https://stackexchange.com/users/265499)\n\n## Copyright & License\n\n* Code & Docs © 2017-now Huan (李卓桓) \\<zixia@zixia.net\\>\n* Code released under the Apache-2.0 License\n* Docs released under Creative Commons\n","readmeFilename":"README.md","gitHead":"a232f57a7fbbb49651f8bd7fc70b1454caded414","_id":"flash-store@1.3.5","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-4PAwmGw701dfizqd9vzH1D/U7G4jgorz3ZT1KRK1jU5daKQu8KRXfL18Upd3jfwgIkEtbmMDbtb2Gql9am6S9g==","shasum":"36e3c5a6c4f4169a3b14c33d3affb5e6edb85e5b","tarball":"https://registry.npmjs.org/flash-store/-/flash-store-1.3.5.tgz","fileCount":85,"unpackedSize":169457,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiIvxNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpfwQ/9GEMukdQIagnDy2xOnqD8DLCew2CSKhy3Rpt2EBqYdApqn27H\r\nWEyBtq64IYRyzDqlJxy1FrVleS89AlWNwkMreKOkycIHvyTc1/LrIjOkM3/4\r\nhWzjakTmQ1MJK1WnkMKIfIv4TZPiEWlRHyO3Oe9e1j/QWdh9uhwhb1MpkBda\r\n6AXy+CZa3j8AKwCu/TdixDplDZmGjAbZ76wMHN8VuiO6Jo3VYbdFEBZ3u0mx\r\nGTUQ0iKn0WyP8E0BA96l5GtgOOnmTbS+OR7LSL35fLcM/AVjLY8NMIz+8D2m\r\n6s2Jib7b5fQqKEhaORzokp84Eoa7PIMzemtSCLCtxZnnG8NfXFSzZJtwycRx\r\nnSRB+J0Pe3+ACbNWni5mLz3DSpl6euMa90mrke0jhTfqkdGPXyc/oJieDU9X\r\nRRf5pB05Zs3Y85I0TTOrX6rOj7YRo7depXh1fn5kzhNRN9ZfLYUBb0P6Wqut\r\nNyGEvW9za5W4Lj4JRh2/vHUr+ug/2+UmM11a5x9Zzprf3y2adnhATzCjFw6b\r\n+g47CKM0y5aE598Y8vcilnO8AYPUwkih7dqPg4sVyx3a3wGibokxthcbfpJC\r\n/Hwm9FSpJog83TbzwDWBg7Qnn3hKYk2neXnqqRVO/x9TJc/IPvue6+/I15sJ\r\n9zxVHNMb/VMFyXtcFLisjC773qEBhzp6DT0=\r\n=uCKe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCt1Sc5Z1yyCeeQ4HRtAtH97darhqszxzQRDlIIO6zh6wIgV1xh0kgWPoWYQIXXA8Y9YRkzwYUaLiH16aXFJNMHe9E="}]},"_npmUser":{"name":"zixia","email":"zixia@zixia.net"},"directories":{},"maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flash-store_1.3.5_1646459981353_0.19807896864281527"},"_hasShrinkwrap":false}},"readme":"","maintainers":[{"name":"zixia","email":"zixia@zixia.net"}],"time":{"modified":"2022-06-18T01:56:12.339Z","created":"2017-09-23T19:29:57.634Z","0.0.1":"2017-09-23T19:29:57.634Z","0.0.2":"2017-09-23T19:57:15.195Z","0.0.3":"2017-09-23T20:02:09.361Z","0.0.4":"2017-09-23T20:04:08.241Z","0.0.5":"2017-09-23T20:06:27.044Z","0.0.6":"2017-09-23T20:12:03.899Z","0.0.7":"2017-09-24T02:21:23.076Z","0.0.8":"2017-09-24T02:26:35.937Z","0.0.9":"2017-09-24T04:34:47.366Z","0.0.10":"2017-09-24T05:17:21.594Z","0.0.11":"2017-09-24T12:13:54.946Z","0.0.12":"2017-09-24T14:19:34.339Z","0.0.13":"2017-09-24T16:13:35.148Z","0.0.14":"2017-09-26T14:49:47.949Z","0.0.15":"2017-10-02T14:56:15.099Z","0.0.16":"2017-10-02T16:36:43.987Z","0.0.17":"2017-10-02T16:45:15.529Z","0.0.18":"2017-10-02T16:52:35.741Z","0.0.19":"2017-10-03T02:43:45.770Z","0.1.2":"2017-10-10T02:06:53.463Z","0.1.3":"2017-10-18T02:31:17.609Z","0.1.4":"2017-10-28T09:46:23.754Z","0.1.5":"2017-10-29T03:30:31.020Z","0.1.7":"2018-05-11T10:39:38.608Z","0.1.8":"2018-05-11T10:45:01.353Z","0.1.9":"2018-05-11T10:47:17.713Z","0.2.1":"2018-05-11T11:05:05.509Z","0.3.1":"2018-05-31T07:45:45.632Z","0.3.2":"2018-05-31T08:16:29.197Z","0.3.5":"2018-06-09T05:46:32.379Z","0.3.6":"2018-06-09T05:54:53.976Z","0.3.7":"2018-06-09T06:04:26.447Z","0.3.8":"2018-06-09T06:14:46.409Z","0.4.1":"2018-06-09T06:35:15.845Z","0.4.2":"2018-06-10T10:58:10.673Z","0.4.3":"2018-06-10T17:42:30.657Z","0.4.4":"2018-06-10T17:43:35.395Z","0.4.5":"2018-06-17T00:51:50.921Z","0.5.0":"2018-06-26T08:15:38.910Z","0.5.4":"2018-06-26T08:43:19.418Z","0.5.7":"2018-06-27T07:26:07.996Z","0.5.8":"2018-06-27T09:55:16.504Z","0.5.9":"2018-06-30T10:50:01.610Z","0.6.1":"2018-07-18T05:26:39.689Z","0.6.2":"2018-08-03T02:53:13.631Z","0.6.3":"2018-08-03T02:56:49.757Z","0.6.4":"2018-08-03T03:09:34.445Z","0.6.5":"2018-08-03T03:22:48.393Z","0.6.6":"2018-08-03T03:40:22.473Z","0.7.1":"2018-08-03T04:25:29.134Z","0.9.2":"2018-08-13T11:06:52.341Z","0.11.3":"2018-08-13T11:09:35.719Z","0.11.4":"2018-08-13T11:16:04.574Z","0.11.5":"2018-08-15T17:01:30.325Z","0.11.6":"2018-10-24T14:11:54.138Z","0.11.7":"2018-11-27T16:10:00.624Z","0.11.8":"2018-12-29T14:25:26.279Z","0.11.9":"2018-12-29T14:30:49.898Z","0.12.1":"2019-01-08T08:41:14.987Z","0.13.1":"2019-01-08T08:44:20.425Z","0.13.2":"2019-04-07T20:12:29.971Z","0.13.3":"2019-05-11T08:08:15.301Z","0.13.4":"2019-05-11T14:06:12.717Z","0.14.1":"2019-05-11T14:07:13.952Z","0.15.1":"2019-05-11T14:08:23.931Z","0.7.2":"2019-06-01T09:08:34.534Z","0.15.3":"2019-06-16T09:13:24.112Z","0.15.5":"2019-06-16T10:22:51.414Z","0.15.6":"2019-07-12T06:23:34.654Z","0.15.7":"2019-08-15T11:23:52.208Z","0.16.1":"2019-08-15T11:41:55.391Z","0.16.2":"2019-08-15T11:44:47.111Z","0.16.3":"2019-08-15T11:48:15.266Z","0.16.4":"2019-08-15T11:51:17.650Z","0.16.5":"2019-08-15T12:02:29.260Z","0.16.6":"2019-08-19T06:40:18.249Z","0.16.11":"2020-02-05T09:36:46.517Z","0.16.13":"2020-02-05T12:24:57.235Z","0.16.14":"2020-02-06T04:59:32.022Z","0.18.4":"2020-02-06T14:38:00.982Z","0.18.6":"2020-02-06T14:38:18.616Z","0.18.7":"2020-02-06T15:02:26.632Z","0.18.8":"2020-02-06T15:13:37.974Z","0.18.10":"2020-02-07T03:09:13.813Z","0.18.11":"2020-02-07T03:13:29.735Z","0.18.12":"2020-02-07T03:17:03.785Z","0.18.14":"2020-02-08T11:51:49.735Z","0.18.15":"2020-02-08T12:07:19.118Z","0.18.16":"2020-02-10T11:23:10.672Z","0.18.17":"2020-02-10T11:27:26.104Z","0.18.18":"2020-02-14T07:28:15.941Z","0.18.20":"2020-02-15T14:26:14.115Z","0.18.21":"2020-02-17T16:13:18.356Z","0.7.9":"2020-04-16T00:33:04.443Z","0.12.7":"2020-04-16T00:35:48.640Z","0.7.10":"2020-04-16T00:36:39.346Z","0.14.5":"2020-04-16T00:52:44.903Z","0.16.20":"2020-04-16T00:56:49.011Z","0.18.32":"2020-04-16T01:32:38.506Z","0.19.1":"2020-04-16T07:33:56.147Z","0.19.2":"2020-04-16T07:43:25.816Z","0.20.1":"2020-07-30T10:59:26.766Z","0.20.2":"2020-07-30T11:04:28.328Z","0.20.3":"2020-07-30T11:12:02.364Z","0.20.4":"2020-07-30T11:13:41.812Z","0.20.5":"2020-08-22T09:10:54.263Z","0.20.6":"2020-08-22T10:23:29.706Z","0.20.7":"2020-12-03T14:10:46.025Z","0.12.11":"2021-08-15T18:24:19.581Z","1.0.1":"2021-08-15T18:41:09.295Z","1.0.2":"2021-08-15T18:41:58.393Z","1.0.3":"2021-08-15T18:53:30.769Z","1.0.4":"2021-08-16T02:49:52.716Z","1.0.5":"2021-08-16T04:23:21.176Z","1.0.6":"2021-08-16T04:25:44.547Z","1.1.1":"2021-08-16T10:34:17.366Z","1.1.2":"2021-08-16T10:56:25.977Z","1.1.3":"2021-08-16T13:15:59.082Z","1.1.4":"2021-08-21T15:15:02.895Z","1.1.5":"2021-09-11T18:13:51.394Z","1.1.7":"2021-09-11T18:19:48.065Z","1.3.3":"2021-09-11T18:33:03.510Z","1.3.4":"2021-09-11T18:34:47.328Z","1.3.5":"2022-03-05T05:59:41.489Z"},"homepage":"https://github.com/huan/flash-store#readme","keywords":["leveldb","nosql","database"],"repository":{"type":"git","url":"git+https://github.com/huan/flash-store.git"},"author":{"name":"Huan LI","email":"zixia@zixia.net"},"bugs":{"url":"https://github.com/huan/flash-store/issues"},"license":"Apache-2.0","readmeFilename":""}