@ryusei/code
Version:
<div align="center"> <a href="https://code.ryuseijs.com"> <img alt="RyuseiCode" src="https://code.ryuseijs.com/images/svg/logo.svg" width="70"> </a>
16 lines (12 loc) • 379 B
text/typescript
const ids: Record<string, number> = {};
/**
* Returns a sequential unique ID as "{ prefix }-{ number }".
*
* @param prefix - A prefix for the ID.
*/
export function uniqueId( prefix: string ): string {
const number = ( ids[ prefix ] || 0 ) + 1;
const idNumber = number < 10 ? `0${ number }` : number;
ids[ prefix ] = number;
return `${ prefix }${ idNumber }`;
}