javascript icon indicating copy to clipboard operation
javascript copied to clipboard

Fix generated ULID examples

Open kachick opened this issue 4 years ago • 0 comments

Hi! I'm writing a new Ruby library for handling ULID in these days. Now I’m testing other implementations examples in https://github.com/kachick/ruby-ulid/issues/53

And I have found weird examples in this original repository.

000XAL6S41ACTAV9WEVGEMMVR8 looks weird example from 2 reasons.

  • Containing L in the encoded string. In my understanding, Crockford's base32 does not contain L for the encoded product. So ULID can ignore L, Is this correct understanding? ref: https://github.com/ulid/spec/issues/38, https://github.com/kachick/ruby-ulid/issues/57
  • The generated timestamp part looks incorrect for given seed timestamp even if handling L as 1.

Returned values from current npm version looks correct.

$ node -v
v14.16.0
$ npm list
[email protected] /Users/kachick/repos/ulid-javascript
const ULID = require('ulid')
mf = ULID.monotonicFactory()
mf(150000) // 0000004JFG7NP20TJP26ZJDASS
mf(150000) // 0000004JFG7NP20TJP26ZJDAST
mf(150000) // 0000004JFG7NP20TJP26ZJDASV
mf(150000) // 0000004JFG7NP20TJP26ZJDAST
mf(150000) // 0000004JFG7NP20TJP26ZJDASW
mf(150000) // 0000004JFG7NP20TJP26ZJDASX
mf(100000) // 0000004JFG7NP20TJP26ZJDASY

kachick avatar May 01 '21 12:05 kachick