UNPKG

amos-tool

Version:

amos ui tool

54 lines (52 loc) 2.3 kB
"use strict"; var CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""), index = 0, longtimeIndex = 0, formatDate = function() { var x = "yyyyMMddhhmm", t = new Date, e = { "M+": t.getMonth() + 1, "d+": t.getDate(), "h+": t.getHours(), "m+": t.getMinutes(), "s+": t.getSeconds(), S: t.getMilliseconds() }; for (var n in /(y+)/.test(x) && (x = x.replace(RegExp.$1, (t.getFullYear() + "").substr(4 - RegExp.$1.length))), e) new RegExp("(" + n + ")").test(x) && (x = x.replace(RegExp.$1, 1 == RegExp.$1.length ? e[n] : ("00" + e[n]).substr(("" + e[n]).length))); return x; }; module.exports = { uuid: function(x, t) { var e, n, r = CHARS, o = []; if (t = t || r.length, x) for (e = 0; e < x; e++) o[e] = r[0 | Math.random() * t]; else for (o[8] = o[13] = o[18] = o[23] = "-", o[14] = "4", e = 0; e < 36; e++) o[e] || (n = 0 | 16 * Math.random(), o[e] = r[19 == e ? 3 & n | 8 : n]); return o.join(""); }, uuidFast: function() { for (var x, t = CHARS, e = new Array(36), n = 0, r = 0; r < 36; r++) 8 == r || 13 == r || 18 == r || 23 == r ? e[r] = "-" : 14 == r ? e[r] = "4" : (n <= 2 && (n = 33554432 + 16777216 * Math.random() | 0), x = 15 & n, n >>= 4, e[r] = t[19 == r ? 3 & x | 8 : x]); return e.join(""); }, uuidCompact: function() { return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(x) { var t = 16 * Math.random() | 0; return ("x" == x ? t : 3 & t | 8).toString(16); }); }, uuidTime: function(x) { var t = Date.now(), e = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(x) { var e = (t + 16 * Math.random()) % 16 | 0; return t = Math.floor(t / 16), ("x" === x ? e : 3 & e | 8).toString(16); }); return x ? e.replace(/-/g, "") : e; }, timeUUID: function(x) { return x || (x = "amos-timeuuid"), x + "-" + Date.now() + "-" + ++index; }, longTimeUUID: function(x) { return x || (x = "longtime"), x + "-" + formatDate() + "-" + ++longtimeIndex; }, otherUUID: function(x) { return (x = x || "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx").replace(/[xy]/g, function(x) { var t = 16 * Math.random() | 0; return ("x" == x ? t : 3 & t | 8).toString(16); }).replace(/\-/g, ""); } };