// Generated by CoffeeScript 1.8.0 (function() { var $, D, db, db_route, feed, fs, gte, keys, log, new_db, read, rmrf, rpr, through2; fs = require('fs'); log = console.log; rpr = (require('util')).inspect; new_db = require('level'); through2 = require('through2'); rmrf = require('rimraf'); D = require('pipedreams2'); $ = D.remit.bind(D); feed = function(db, keys, handler) { var input, key, output, _i, _len; output = db.createWriteStream(); input = through2.obj(); input.pipe($(function(key, send) { return send({ key: key, value: 1 }); })).pipe(output).on('close', function() { return handler(); }); for (_i = 0, _len = keys.length; _i < _len; _i++) { key = keys[_i]; input.write(key); } return input.end(); }; read = function(db, lte, gte, handler) { var input; log("listing keys up to LTE: " + (rpr(lte)) + " " + (rpr(new Buffer(lte)))); input = db.createKeyStream({ gte: gte, lte: lte }); return input.pipe($(function(key, send, end) { log(rpr(key)); if (end != null) { end(); return handler(); } })); }; if (module.parent == null) { keys = ['a', 'abcdef', 'aäöü', 'aΔ', 'a中', 'a𠁩', '~', 'äöü', 'ÿ', 'Δ', '中', '𠁩', '\uffff', '\xff']; db_route = '/tmp/level'; if (fs.existsSync(db_route)) { rmrf.sync(db_route); } db = new_db(db_route); gte = 'a'; feed(db, keys, function() { var lte; log('--------'); lte = 'a~'; return read(db, lte, gte, function() { log('--------'); lte = 'a\xff'; return read(db, lte, gte, function() { log('--------'); lte = 'a\uffff'; return read(db, lte, gte, function() { log('--------'); lte = new Buffer([0x61, 0xff]); return read(db, lte, gte, function() { return log('--------'); }); }); }); }); }); } }).call(this);