@tsailab/xai
Version:
The loto-xai is an openai nodejs sdk compatible extension library.
65 lines • 2.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CHAT_MESSAGEID_SEED = exports.COMMON_ALPHABET_SEED = exports.REQID_ALPHABET_SEED = exports.BASE58_ALPHABET_SEED = void 0;
exports.createRequestId = createRequestId;
exports.createBase58RandomId = createBase58RandomId;
exports.createClientId = createClientId;
exports.createChatid = createChatid;
exports.createChatMessageId = createChatMessageId;
const nanoid_1 = require("nanoid");
exports.BASE58_ALPHABET_SEED = '123456789abcdefjhijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ';
exports.REQID_ALPHABET_SEED = '0123456789abcdefghijkmnpqrstuvwxyz._';
exports.COMMON_ALPHABET_SEED = '123456789fghijkmnpqrstuvwxyzACDEFGHJMNPQRSTUVWXYZ-_';
exports.CHAT_MESSAGEID_SEED = '123456789fghijkmnpqrstuvwxyzACDEFGHJMNPQRSTUVWXYZ.$';
function createRequestId() {
return (0, nanoid_1.nanoid)();
}
/**
*
* @param len min 6 max 40
* @returns string
*/
function createBase58RandomId(len = 16) {
let size = len;
if (size < 6) {
size = 6;
}
if (size > 40) {
size = 40;
}
const customNanoid = (0, nanoid_1.customAlphabet)(exports.BASE58_ALPHABET_SEED, size);
return customNanoid();
}
/**
*
* @param prefix
* @returns
*/
function createClientId(prefix = '') {
const customNanoid = (0, nanoid_1.customAlphabet)(exports.COMMON_ALPHABET_SEED, 16);
const id = customNanoid();
return prefix?.trim().length ? `${prefix.trim()}_${id}` : `loto_${id}`;
}
/**
*
* @param prefix
* @returns
*/
function createChatid(prefix = 'xchat') {
const customNanoid = (0, nanoid_1.customAlphabet)('123456789fghijkmnpqrstuvwxyzACDEFGHJMNPQRSTUVWXYZ', 16);
const id = customNanoid();
return prefix?.trim().length ? `${prefix.trim()}_${id}` : `xchat_${id}`;
}
/**
* chat message id
* @param len
* @param uuid
* @returns
*/
function createChatMessageId(len = 20, uuid) {
const size = len > 10 && len < 32 ? len : 20;
const customNanoid = (0, nanoid_1.customAlphabet)('.123456789.fghijkmnpqrstuvwxyz.ACDEFGHJMNPQRSTUVWXYZ.', size);
const id = customNanoid();
return uuid ? `${uuid}-${id}` : id;
}
//# sourceMappingURL=uuid.util.js.map