Skip to content
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

Please Support Parameterized Length #4

Closed
IamManchanda opened this issue Feb 5, 2023 · 11 comments
Closed

Please Support Parameterized Length #4

IamManchanda opened this issue Feb 5, 2023 · 11 comments
Assignees
Labels
enhancement New feature or request

Comments

@IamManchanda
Copy link

Is your feature request related to a problem? Please describe.
When the use-case is simply something like username or URL disambiguation where you don't need strong uniqueness guarantees.

Describe the solution you'd like
Parameterized Length in CUID 2 https://github.com/paralleldrive/cuid2#parameterized-length

Describe alternatives you've considered
N/A

Additional context
official javascript example of same

import { init } from '@paralleldrive/cuid2';
const length = 10; // 50% odds of collision after ~51,386,368 ids
const cuid = init({ length });
console.log(cuid()); // nw8zzfaa4v
@thibaultmeyer thibaultmeyer self-assigned this Feb 5, 2023
@thibaultmeyer thibaultmeyer added the enhancement New feature or request label Feb 5, 2023
@IamManchanda
Copy link
Author

IamManchanda commented Feb 5, 2023

@thibaultmeyer - FWIW, I was looking at the code and I think this can be made public https://github.com/thibaultmeyer/cuid-java/blob/release/2.0.0/src/main/java/io/github/thibaultmeyer/cuid/CUID.java#L72 for same ... or maybe you would want some init configuration ... let me leave it upon you :)

@thibaultmeyer
Copy link
Owner

Hi @IamManchanda,

This is exactly the solution I chose to meet the request. A new version should be available within 1 or 2 hours on Maven Central.

@IamManchanda
Copy link
Author

Great to know @thibaultmeyer 🙏👌🙌

@IamManchanda
Copy link
Author

IamManchanda commented Feb 5, 2023

@thibaultmeyer - Please don't mind but did you push the release to Maven Central?
as not yet available https://mvnrepository.com/artifact/io.github.thibaultmeyer/cuid as of now
(neither able to install it in my IntelliJ)

@thibaultmeyer
Copy link
Owner

@IamManchanda

mvnrepository is not "real time", new version will appear in few hours.

<dependency>
    <groupId>io.github.thibaultmeyer</groupId>
    <artifactId>cuid</artifactId>
    <version>2.0.1</version>
</dependency>

I just try on a dummy project, no problem, IntelliJ download jar from Maven Central.

Downloading from central: https://repo.maven.apache.org/maven2/io/github/thibaultmeyer/cuid/2.0.1/cuid-2.0.1.pom
Downloaded from central: https://repo.maven.apache.org/maven2/io/github/thibaultmeyer/cuid/2.0.1/cuid-2.0.1.pom (6.7 kB at 25 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/io/github/thibaultmeyer/cuid/2.0.1/cuid-2.0.1.jar
Downloaded from central: https://repo.maven.apache.org/maven2/io/github/thibaultmeyer/cuid/2.0.1/cuid-2.0.1.jar (11 kB at 130 kB/s)

@JamoCA
Copy link

JamoCA commented Feb 5, 2023

So the change to return a "Parameterized Length" simply involves performing a left trim at X characters? That's a simple string function that can be performed post-CUID without having to upgrade the library, right?

@IamManchanda
Copy link
Author

IamManchanda commented Feb 7, 2023

Thanks @thibaultmeyer ... It's working now since last 24-30 hours... thank you :)

@IamManchanda
Copy link
Author

IamManchanda commented Feb 7, 2023

@JamoCA - Now this library supports both these ways to generate CUID v2

final CUID cuid = CUID.randomCUID2();
System.out.println("CUID (Version 2): " + cuid); // default 24 chars

and also

final CUID cuid32 = CUID.randomCUID2(32); // or whatever number you wanna add
System.out.println("CUID (Version 2), 32: " + cuid32); // 32 chars

PS: I do think Github Readme should be updated to let devs know of this new addition

@thibaultmeyer
Copy link
Owner

Yes I will update the readme

@thibaultmeyer
Copy link
Owner

Done

@IamManchanda
Copy link
Author

Thanks @thibaultmeyer 👍🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants