If multiple UUIDs are generated in the same millisecond, the random bits are not guaranteed to be monotonically increasing. So given const [a, b, c] = [ulid(), ulid(), ulid()] c and b could sort lower than a
This implementation already has an algo for incrementing the base32 of the ulid. It should just change to increment the most significant bits instead of the least significant bits of the random portion.
This is related to https://github.com/ulid/javascript/issues/21 and https://github.com/ulid/spec/issues/11
If multiple UUIDs are generated in the same millisecond, the random bits are not guaranteed to be monotonically increasing. So given
const [a, b, c] = [ulid(), ulid(), ulid()]
c
andb
could sort lower thana
This implementation already has an algo for incrementing the base32 of the ulid. It should just change to increment the most significant bits instead of the least significant bits of the random portion.