UNPKG

lesgo

Version:

Core framework for lesgo node.js serverless framework.

18 lines (17 loc) 596 B
import { customAlphabet } from 'nanoid'; /** * Generates a unique identifier with optional prefix, suffix, and length. * * @param params - The parameters for generating the unique identifier. * @returns The generated unique identifier. */ const generateUid = (params = {}) => { const { prefix, suffix, length } = params; const nanoid = customAlphabet( '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', !length ? 21 : length ); const uid = nanoid(); return `${!prefix ? '' : `${prefix}-`}${uid}${!suffix ? '' : `-${suffix}`}`; }; export default generateUid;