123456789101112131415161718192021222324252627282930313233 |
- 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
- }
|