1.0.1 • Published 8 years ago
lexicographic-integer-encoding v1.0.1
lexicographic-integer-encoding
Lexicographically ordered integers for level(up). Wraps lexicographic-integer.
usage with level
const level = require('level')
const lexint = require('lexicographic-integer-encoding')('hex')
const db = level('./db', { keyEncoding: lexint })
db.put(2, 'example', (err) => {
db.put(10, 'example', (err) => {
// Without our encoding, the keys would sort as 10, 2.
db.createKeyStream().on('data', console.log) // 2, 10
})
})usage with levelup
const levelup = require('levelup')
const encode = require('encoding-down')
const leveldown = require('leveldown')
const lexint = require('lexicographic-integer-encoding')('hex')
const db = levelup(encode(leveldown('./db'), { keyEncoding: lexint }))api
lexint = require('lexicographic-integer-encoding')(encoding, [options])
encoding(string, required):'hex'or'buffer'options.strict(boolean): opt-in to type-checking input. If true, encode will throw:- A
TypeErrorif input is not a number or ifNaN - A
RangeErrorif input is < 0 or >Number.MAX_SAFE_INTEGER
- A
Returns a level-codec compliant encoding object.
see also
lexicographic-integer: main encoding logicunique-lexicographic-integer:lexicographic-integerplus a suffix if input is the same as the last call;monotonic-lexicographic-timestamp:unique-lexicographic-integerwithDate.now()to get a monotonically increasing timestamp with lexicographic order.
install
With npm do:
npm install lexicographic-integer-encodinglicense
MIT © Vincent Weevers