var nb = require("buffa"); var uuid_maker = (function(nb, bigint) { return function uuid_maker(pre, len_, base_) { var base = base_ || 16; var llen = len_ ? len_ * 8 : 0; return function make_uuid(bbase) { var dt = new Date().getTime(); var bb = bigint.str2bigInt(dt + "", 10); var g = bigint.bigInt2str(bb, 16); var nn = nb(0); var vv = nb(g.length % 2 === 0 ? g : "0" + g, 'hex'); nn = nn.append(vv, 8); if (llen > 0) { var hh = bigint.randBigInt(llen, 1); hh = bigint.bigInt2str(hh, 16); hh = nb(hh.length % 2 === 0 ? hh : "0" + hh, 'hex'); nn = nn.append(hh); } return pre + nn.toBase(bbase && bbase > 1 && bbase < 180 ? bbase : base); } } })(nb, nb.bigint); var uuid = uuid_maker("E", 6, 36); var newbucketid = uuid_maker("B", 6, 32); module.exports = { uuid: uuid, newbucketid: newbucketid }