{"push_id":976996831,"size":29,"distinct_size":0,"ref":"refs/heads/binarykey","head":"13c4201bc097e0b21355271f2634572111b4daf4","before":"a76ae92bff2f87221ddcfaffe802e2c8c1ce232a","commits":[{"sha":"79390060ed591180a7c2de717631d96282e67ed8","author":{"email":"354106e416911844661e1603d99ecf7d1c318dda@juliangruber.com","name":"Julian Gruber"},"message":"iterator: data as buffers by default","distinct":false,"url":"https://api.github.com/repos/timkuijsten/level.js/commits/79390060ed591180a7c2de717631d96282e67ed8"},{"sha":"bfe717b8106c0902a380c94be9fb0b48e1011a6b","author":{"email":"5ee0edb9e2229c0838f1959779f1949031de0123@netsend.nl","name":"Tim Kuijsten"},"message":"Merge remote-tracking branch 'upstream/fix-for-new-abstract-leveldown'\n\nrelates to maxogden/level.js#40\n\nfixes the problem with keys. doesn't fix the problem with snapshots","distinct":false,"url":"https://api.github.com/repos/timkuijsten/level.js/commits/bfe717b8106c0902a380c94be9fb0b48e1011a6b"},{"sha":"c1b642862c48c0f59cdd16b115a92c339e7758ed","author":{"email":"5ee0edb9e2229c0838f1959779f1949031de0123@netsend.nl","name":"Tim Kuijsten"},"message":"refactor iterator, multiple fixes, make tests pass\n\nFixes #43 #40 and #3. Unfortunately not easy to split out in separate commits.\n\n1. maxogden/level.js#43 \"snapshots seem not to work\"\n\nThe reason snapshots didn't work in the test, is because the iterator was only\nopened on the first call to _next. The new version opens the iterator right\naway in the constructor (if there is no KeyRange error).\n\n2. maxogden/level.js#40 \"abstract-leveldown tests aren't all passing anymore\"\n\nPartially fixed by merging PR #42 and further fixed by this commit.\n\n3. maxogden/level.js#3 \"stop batch reads after limit is reached\"\n\nThe solution is stop calling cursor.continue() once the limit is reached. The\ntransaction will automatically timeout as prescribed by the spec. idb-wrapper\ncan't be used for this because limit is only respected if autoContinue is true.\n\nAll 563 tests pass on:\n* Safari 9.0.3\n* Firefox 45.0b2\n* Firefox 46.0a2\n* Iridium 44.1 (Chrome/44.0.2403.157)","distinct":false,"url":"https://api.github.com/repos/timkuijsten/level.js/commits/c1b642862c48c0f59cdd16b115a92c339e7758ed"},{"sha":"6ac2eb82be99132ceeca2cda2b4c6b05222fa1c9","author":{"email":"5ee0edb9e2229c0838f1959779f1949031de0123@netsend.nl","name":"Tim Kuijsten"},"message":"add test to check for key range error handling","distinct":false,"url":"https://api.github.com/repos/timkuijsten/level.js/commits/6ac2eb82be99132ceeca2cda2b4c6b05222fa1c9"},{"sha":"d9605d48444ffe0724aed52c284a4b8c2a91dae1","author":{"email":"5ee0edb9e2229c0838f1959779f1949031de0123@netsend.nl","name":"Tim Kuijsten"},"message":"fix iterator when limit is 0\n\nuncovered when testing with abstract-leveldown2 tests","distinct":false,"url":"https://api.github.com/repos/timkuijsten/level.js/commits/d9605d48444ffe0724aed52c284a4b8c2a91dae1"},{"sha":"e92ad84225ecc80eca868e31d79de410e03bdd54","author":{"email":"5ee0edb9e2229c0838f1959779f1949031de0123@netsend.nl","name":"Tim Kuijsten"},"message":"require abstract-leveldown ^2.4.1","distinct":false,"url":"https://api.github.com/repos/timkuijsten/level.js/commits/e92ad84225ecc80eca868e31d79de410e03bdd54"},{"sha":"c5a45575f6317e494838a5352324e47398d27437","author":{"email":"aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d@matteocollina.com","name":"Matteo Collina"},"message":"Call the AbstractLevelDown constructor.","distinct":false,"url":"https://api.github.com/repos/timkuijsten/level.js/commits/c5a45575f6317e494838a5352324e47398d27437"},{"sha":"0c10de0469bb94508765710995e115bd0dace36f","author":{"email":"5ee0edb9e2229c0838f1959779f1949031de0123@netsend.nl","name":"Tim Kuijsten"},"message":"return 0 length buffer if undefined or null","distinct":false,"url":"https://api.github.com/repos/timkuijsten/level.js/commits/0c10de0469bb94508765710995e115bd0dace36f"},{"sha":"cd1a5134e9899153c7ebe84f074a2b264c26bbe5","author":{"email":"5ee0edb9e2229c0838f1959779f1949031de0123@netsend.nl","name":"Tim Kuijsten"},"message":"differentiate undefined from not found\n\nabstract-level requires differentiation between undefined as a value\nand not exists. The IndexedDB API has a note explaining openCursor\ncan be used for this instead of get.\n\nrefs maxogden/level.js#41","distinct":false,"url":"https://api.github.com/repos/timkuijsten/level.js/commits/cd1a5134e9899153c7ebe84f074a2b264c26bbe5"},{"sha":"2406e9b26a877ee0e7b7c8b156f8c53d1497903b","author":{"email":"5ee0edb9e2229c0838f1959779f1949031de0123@netsend.nl","name":"Tim Kuijsten"},"message":"abstract API: rename iterator to _iterator","distinct":false,"url":"https://api.github.com/repos/timkuijsten/level.js/commits/2406e9b26a877ee0e7b7c8b156f8c53d1497903b"},{"sha":"d30eb03a352816e8e2980152b0124477b5404197","author":{"email":"5ee0edb9e2229c0838f1959779f1949031de0123@netsend.nl","name":"Tim Kuijsten"},"message":"minor cleanup and style","distinct":false,"url":"https://api.github.com/repos/timkuijsten/level.js/commits/d30eb03a352816e8e2980152b0124477b5404197"},{"sha":"2b6559be15a7adb233d02dde4ba4b71e528c8d47","author":{"email":"5ee0edb9e2229c0838f1959779f1949031de0123@netsend.nl","name":"Tim Kuijsten"},"message":"run all \"open\" tests","distinct":false,"url":"https://api.github.com/repos/timkuijsten/level.js/commits/2b6559be15a7adb233d02dde4ba4b71e528c8d47"},{"sha":"ab37cca9b5a164427193bce0dca84caac84ac37c","author":{"email":"5ee0edb9e2229c0838f1959779f1949031de0123@netsend.nl","name":"Tim Kuijsten"},"message":"implement native open and close\n\n* open: support multiple stores in the same database\n* open: implement createIfMissing and errorIfExists\n* open: properly xtend object store options\n* open: callback with self\n* close: make async","distinct":false,"url":"https://api.github.com/repos/timkuijsten/level.js/commits/ab37cca9b5a164427193bce0dca84caac84ac37c"},{"sha":"5e2db6227ce551dcff1b04a0868c129882cd11b4","author":{"email":"5ee0edb9e2229c0838f1959779f1949031de0123@netsend.nl","name":"Tim Kuijsten"},"message":"implement native put\n\n* save keys and values using native JS types, no coercion / encoding\n* with experimental support for sync (Firefox only)","distinct":false,"url":"https://api.github.com/repos/timkuijsten/level.js/commits/5e2db6227ce551dcff1b04a0868c129882cd11b4"},{"sha":"a0421c55efd9c6858e244dd8308e74d7b23c94b3","author":{"email":"5ee0edb9e2229c0838f1959779f1949031de0123@netsend.nl","name":"Tim Kuijsten"},"message":"implement native del\n\n* with experimental support for sync (Firefox only)","distinct":false,"url":"https://api.github.com/repos/timkuijsten/level.js/commits/a0421c55efd9c6858e244dd8308e74d7b23c94b3"},{"sha":"14f8c4a93b587667f81fa41d03327c42de00b406","author":{"email":"5ee0edb9e2229c0838f1959779f1949031de0123@netsend.nl","name":"Tim Kuijsten"},"message":"implement native get\n\nIf asBuffer, try to coerce most types into a String. Drop redundant\nsupport for the raw option. Just pass asBuffer = false.","distinct":false,"url":"https://api.github.com/repos/timkuijsten/level.js/commits/14f8c4a93b587667f81fa41d03327c42de00b406"},{"sha":"4a4a19b75c84fb6a4825b566ec2ba57db3206f0c","author":{"email":"5ee0edb9e2229c0838f1959779f1949031de0123@netsend.nl","name":"Tim Kuijsten"},"message":"implement native batch\n\n* save keys and values using native JS types, no coercion / encoding\n* support sync on batch level, not operation level and only\n  supported in Firefox with \"dom.indexedDB.experimental\" pref set to\n  true","distinct":false,"url":"https://api.github.com/repos/timkuijsten/level.js/commits/4a4a19b75c84fb6a4825b566ec2ba57db3206f0c"},{"sha":"a1c82d7271ba2b09743dee5d373e7fbea667e1b4","author":{"email":"5ee0edb9e2229c0838f1959779f1949031de0123@netsend.nl","name":"Tim Kuijsten"},"message":"implement native iterator\n\nIf keyAsBuffer or valueAsBuffer, try to coerce most types into a\nString. Drop redundant support for the raw option. Just pass\nkeyAsBuffer = false and/or valueAsBuffer = false.\n\nMake sure that each callback passed to _next() is called exactly\nonce, and always in the next tick.\n\nSupport reopening the indexedDB cursor if it timed out before the\nend of the range was reached via reopenOnTimeout option. A snapshot\nis created once per cursor so default to false.","distinct":false,"url":"https://api.github.com/repos/timkuijsten/level.js/commits/a1c82d7271ba2b09743dee5d373e7fbea667e1b4"},{"sha":"9255f8970735eae879d615e5990f78897c129e4d","author":{"email":"5ee0edb9e2229c0838f1959779f1949031de0123@netsend.nl","name":"Tim Kuijsten"},"message":"implement native destroy\n\ndelete the given object store, and if no other object stores exist\nin the database, delete the database as well.","distinct":false,"url":"https://api.github.com/repos/timkuijsten/level.js/commits/9255f8970735eae879d615e5990f78897c129e4d"},{"sha":"d4ef5eed5215f7b5b2449227657497023660fe45","author":{"email":"5ee0edb9e2229c0838f1959779f1949031de0123@netsend.nl","name":"Tim Kuijsten"},"message":"make _approximateSize async","distinct":false,"url":"https://api.github.com/repos/timkuijsten/level.js/commits/d4ef5eed5215f7b5b2449227657497023660fe45"}]}