-
Notifications
You must be signed in to change notification settings - Fork 168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add UUID representation for ULID type #92
base: main
Are you sure you want to change the base?
Conversation
@@ -120,6 +120,7 @@ Usage: ulid [-hlqz] [-f <format>] [parameters ...] | |||
-h, --help print this help text | |||
-l, --local when parsing, show local time instead of UTC | |||
-q, --quick when generating, use non-crypto-grade entropy | |||
-u, --uuid when parsing or generating, print as UUID string |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, this is a bit ambiguous. First, "UUID string" is I think not sufficiently qualified — the specific format implemented in this PR I think has a more precise name? Second, if the tool can output UUIDs, then I would expect it could also input UUIDs, i.e. I would expect that
$ ulid 01D78XZ44G0000000000000000
$ ulid [something] 0169d1df-9090-0000-0000-000000000000
would parse to the same thing? So like if we do this then --uuid
should I guess not be just an expression of output format but also should be able to control parse behavior. Which gets tricky!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- First, "UUID string" is I think not sufficiently qualified — the specific format implemented in this PR I think has a more precise name?
I think we can speak about UUID format, considering ULID library and CLI tool. I'm talking about that:
https://en.wikipedia.org/wiki/Universally_unique_identifier#Format
Yes, there are five (existing) different versions of UUID.
But, my point is that ULID interoperability with UUID should only work with the format, and leave UUID version interpretation to the users' code.
- Second, if the tool can output UUIDs, then I would expect it could also input UUID
I agree 100%.
Here I wanted to solve only my particular use-case "generate uuids by ulids".
I will consider this point closer ant try to provide some solution for parsing UUIDs
-
As for tests - OK, it's not a problem.
-
As for ambiguity - I rather agree, but i couldn't come up with better flag naming. If you have some thoughts please share them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
4] Ambiguity. My first thought was to add one more variant to the --format
flag, but when I looked it closer, I'd figured that the --format
flag works with the dates, and also in the parsing function. I'd decided to leave it as is and made another flag.
Missing tests. |
Just my 2 cents inspired by this PR. Such UUID output could be a bridge to output ULIDs as UUIDv7, perhaps? |
No description provided.