1.0.0 • Published 7 years ago

monotonic-lexicographic-timestamp v1.0.0

Weekly downloads
15
License
MIT
Repository
github
Last release
7 years ago

monotonic-lexicographic-timestamp

Monotonically increasing timestamp with lexicographic order. Simply adds a suffix if time is the same as the last call. Hex-encoded.

npm status node Travis build status AppVeyor build status JavaScript Style Guide Dependency status

example

const mlts = require('monotonic-lexicographic-timestamp')()

// You can provide your own date or timestamp
console.log(mlts(new Date(0))) // '00'
console.log(mlts(0)) // '00.01'

// Otherwise it'll use Date.now()
console.log(mlts())
console.log(mlts())

const custom = require('monotonic-lexicographic-timestamp')({
  separator: '!'
})

console.log(custom(1508832007017)) // 'ff080afa6b2a9370'
console.log(custom(1508832007017)) // 'ff080afa6b2a9370!01'
console.log(custom(1508832007017)) // 'ff080afa6b2a9370!02'
console.log(custom(1508832007018)) // 'ff080afa6b2a9378'

api

mlts = require('monotonic-lexicographic-timestamp')([options])

Options are passed to unique-lexicographic-integer:

  • options.separator (string): defaults to '.'
  • options.strict (boolean): opt-in to type-checking input. If true, mlts() will throw:
    • A TypeError if input is not a number or if NaN
    • A RangeError if input is < 0 or > Number.MAX_SAFE_INTEGER.

see also

install

With npm do:

npm install monotonic-lexicographic-timestamp

license

MIT © Vincent Weevers