sqids-javascript
nanoid-good
sqids-javascript | nanoid-good | |
---|---|---|
1 | 1 | |
564 | 79 | |
5.5% | - | |
7.1 | 10.0 | |
4 months ago | over 1 year ago | |
TypeScript | JavaScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
sqids-javascript
-
Sqids – Generate Short Unique IDs from Numbers
Odd design decision in that if you provide your own blocklist, it overwrites their (extensive) default list instead of adding to it.
And in general the algorithm is surprisingly complicated for something that could be replaced with simply base64 encoding, the given example (1,2,3) base64 encodes to a string with just one more letter than this algorithm.
That said I do appreciate the semicolon-free-style. I don't typically see that in libs besides my own.
https://github.com/sqids/sqids-javascript/blob/main/src/sqid...
nanoid-good
-
Sqids – Generate Short Unique IDs from Numbers
> it excludes letters used for profanity
That doesn't seem possible. How would that work?
> I looked at the implementation and it’s hardcoded to look for “bad” words.
If you mean https://github.com/y-gagar1n/nanoid-good, that seems to be doing the same thing.
In general, I'm a bit weary of solutions that "guarantee no bad words" – this is usually highly language-specific: One language's perfectly acceptable name is another language's swear word.
What are some alternatives?
nanoid-dictionary - Predefined character sets to use with nanoid
sqids-dotnet - Official .NET port of Sqids. Generate short unique IDs from numbers.
sqids-cpp - Official C++ port of Sqids. Generate short unique IDs from numbers.
base-emoji - BaseEmoji is a binary-to-emoji encoding scheme that represent binary data in a subset of the Unicode Emoji symbols, designed for triggering senior programmers effortlessly. BaseEmoji is heavily influenced by my furstration towards my tech lead that always shares data (base64 encoded) with me.
gfc64 - Obscures database sequential primary keys (or any 64-bit int) using a Feistel cipher. Throw away your UUIDs!
proquint - Proquints: Identifiers that are Readable, Spellable, and Pronounceable.
sqids-ruby - Official Ruby port of Sqids. Generate short unique IDs from numbers.