MCPcopy
hub / github.com/zxlie/FeHelper / parseSnowflake

Function parseSnowflake

apps/uuid-gen/index.js:70–93  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

68 }
69
70 function parseSnowflake() {
71 try {
72 var EPOCH = 1288834974657n;
73 var id = BigInt($('snowflakeInput').value.trim());
74 var timestamp = Number((id >> 22n) + EPOCH);
75 var datacenterId = Number((id >> 17n) & 0x1Fn);
76 var machineId = Number((id >> 12n) & 0x1Fn);
77 var sequence = Number(id & 0xFFFn);
78 var d = new Date(timestamp);
79 var pad = function (n, w) { return String(n).padStart(w || 2, '0'); };
80 var datetime = d.getFullYear() + '-' + pad(d.getMonth() + 1) + '-' + pad(d.getDate()) +
81 ' ' + pad(d.getHours()) + ':' + pad(d.getMinutes()) + ':' + pad(d.getSeconds()) +
82 '.' + pad(d.getMilliseconds(), 3);
83
84 $('parsedTimestamp').textContent = timestamp;
85 $('parsedDatetime').textContent = datetime;
86 $('parsedDatacenterId').textContent = datacenterId;
87 $('parsedMachineId').textContent = machineId;
88 $('parsedSequence').textContent = sequence;
89 $('snowflakeParsed').style.display = '';
90 } catch (e) {
91 alert('无法解析该雪花ID,请检查输入');
92 }
93 }
94
95 function generateNanoId() {
96 var alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-';

Callers

nothing calls this directly

Calls 2

$Function · 0.70
padFunction · 0.70

Tested by

no test coverage detected