t-comm
Version:
专业、稳定、纯粹的工具库
57 lines (55 loc) • 1.53 kB
JavaScript
/**
* 获取随机字符串
* @param {number} length 字符串长度,默认 32
* @returns {string} 字符串
* @example
* ```ts
* randomString()
*
* randomString(16)
* ```
*/
function randomString() {
var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 32;
var t = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
var a = t.length;
var n = '';
for (var i = 0; i < e; i++) n += t.charAt(Math.floor(Math.random() * a));
return n;
}
/**
* 获取随机字符串
* @param {number} length 字符串长度,默认 32
* @returns {string} 字符串
* @example
* ```ts
* randomString()
*
* randomString(16)
* ```
*/
var getRandomString = randomString;
/**
* 创建唯一 ID 生成器工厂函数
* 返回一个函数,每次调用时生成递增的唯一 ID
* @param compName - 组件名称,用于生成 ID 的一部分
* @param prefix - ID 前缀,默认为 't'
* @returns 返回一个生成唯一 ID 的函数
* @example
* ```ts
* const getUniqueId = uniqueFactory('button', 'my');
* getUniqueId(); // 'my_button_0'
* getUniqueId(); // 'my_button_1'
* getUniqueId(); // 'my_button_2'
* ```
*/
var uniqueFactory = function uniqueFactory(compName) {
var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 't';
var number = 0;
return function () {
var uniqueId = "".concat(prefix, "_").concat(compName, "_").concat(number);
number += 1;
return uniqueId;
};
};
export { getRandomString, randomString, uniqueFactory };