diff options
author | Erkin Alp Güney <erkinalp9035@gmail.com> | 2021-11-30 20:33:29 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-30 20:33:29 +0300 |
commit | 96a9c4dff3a2012cebf5a757eacb7ccc8d27b5ed (patch) | |
tree | a2d63a11f4e57ff15c5789443de04eff002ecfe5 /api/src/util | |
parent | Merge pull request #519 from erkinalp/master (diff) | |
download | server-96a9c4dff3a2012cebf5a757eacb7ccc8d27b5ed.tar.xz |
Fix the type errors
Forgot that you cannot mix and match bigint and float
Diffstat (limited to 'api/src/util')
-rw-r--r-- | api/src/util/RandomInviteID.ts | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/api/src/util/RandomInviteID.ts b/api/src/util/RandomInviteID.ts index 45450b0d..30ba3252 100644 --- a/api/src/util/RandomInviteID.ts +++ b/api/src/util/RandomInviteID.ts @@ -16,16 +16,17 @@ export function random(length = 6) { export function snowflakeBasedInvite() { // Declare all characters let chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; - + let base = BigInt(chars.length); let snowflake = Snowflake.generateWorkerProcess(); - + // snowflakes hold ~10.75 characters worth of entropy; // safe to generate a 8-char invite out of them let str = ""; for (let i=0; i < 10; i++) { - str += chars.charAt((snowflake % chars.length)); - snowflake /= chars.length; + + str += chars.charAt(snowflake % base); + snowflake = snowflake / base; } - return str.substr(3,8).reverse(); // little-endianise for entropy + return str.substr(3,8).split("").reverse().join(""); } |