UNPKG

unique-identity

Version:

Amazingly unique ids which are short and Perfect for Url Shorteners, Product SKUs, Socket Ids, Data Base Ids, SQL, MongoDB, PostGres, MySQL, MSSQL, Redis ids, and any other id users might see...

45 lines (41 loc) 1.21 kB
'use strict'; let uniqueCharacters = "_ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz-" module.exports.setFillers = (fillers) => { if (typeof fillers !== 'string') { return { message: 'Invalid input type, Required string.', status: false }; } else if (!(fillers.length === 64)) { return { message: 'Need 64 unique characters.', status: false }; } else { if (!checkUniqueness(fillers)) { return { message: 'Duplicate characters found.', status: false }; } uniqueCharacters = fillers; return { status: true }; } } function checkUniqueness(characters) { // If at any time we encounter 2 same // characters, return false for (let i = 0; i < characters.length; i++) { for (let j = i + 1; j < characters.length; j++) { if (characters.charAt(i) == characters.charAt(j)) { return false; } } } // If no duplicate characters encountered, // return true return true; } module.exports.fillers = () => { return uniqueCharacters; };