/** * @public * @param {string} type * @return {string} */ export function getUID(type, list) { // if (list && list.length) { let name = ''; if (type == 'T') { if (list.length) { const str = list[list.length - 1].code.substr(0, 1); if (str == 'T') { name = Number(list[list.length - 1].code.replace('T', '')) + 1; } else { name = 1; } } else { name = list.length + 1; } // name = list.length ? Number(list[list.length - 1].code.replace('T', '')) + 1 : list.length + 1; } else { name = Math.floor((Math.random() * 100000) + 1); } // else if (type == 'W') { // name = list.length ? Number(list[list.length - 1].code.replace('W', '')) + 1 : list.length + 1; // } function checkUid(name) { for (let index = 0; index < list.length; index++) { if (list[index].code == [(type || ''), name].join('')) { name++; return checkUid(name); } } return name; } const nameNum = checkUid(name); if (nameNum) { return [(type || ''), nameNum].join(''); } // } else { // return [(type || ''), Math.floor((Math.random() * 100000) + 1)].join(''); // } // use Math.random to make id as unique as possible. } var base = 0; /** * @public * @param {string} type * @return {string} */ export function setUID(type) { // use Math.random to make id as unique as possible. return [(type || ''), base++, Math.random().toFixed(5)].join('_'); }