monotonic-lexicographic-timestamp

1.0.0 • Public • Published

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

Package Sidebar

Install

npm i monotonic-lexicographic-timestamp

Weekly Downloads

1

Version

1.0.0

License

MIT

Last publish

Collaborators

  • vweevers