lakutata
Version:
An IoC-based universal application framework.
154 lines (132 loc) • 4.57 kB
JavaScript
/* Build Date: Mon Jan 05 2026 23:52:23 GMT+0800 (China Standard Time) */
const t = "00000000-0000-0000-0000-000000000000";
const n = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;
function e(t) {
return typeof t === "string" && n.test(t);
}
function r(t) {
if (!e(t)) {
throw TypeError("Invalid UUID");
}
let n;
return Uint8Array.of((n = parseInt(t.slice(0, 8), 16)) >>> 24, n >>> 16 & 255, n >>> 8 & 255, n & 255, (n = parseInt(t.slice(9, 13), 16)) >>> 8, n & 255, (n = parseInt(t.slice(14, 18), 16)) >>> 8, n & 255, (n = parseInt(t.slice(19, 23), 16)) >>> 8, n & 255, (n = parseInt(t.slice(24, 36), 16)) / 1099511627776 & 255, n / 4294967296 & 255, n >>> 24 & 255, n >>> 16 & 255, n >>> 8 & 255, n & 255);
}
const f = [];
for (let t = 0; t < 256; ++t) {
f.push((t + 256).toString(16).slice(1));
}
function o(t, n = 0) {
return (f[t[n + 0]] + f[t[n + 1]] + f[t[n + 2]] + f[t[n + 3]] + "-" + f[t[n + 4]] + f[t[n + 5]] + "-" + f[t[n + 6]] + f[t[n + 7]] + "-" + f[t[n + 8]] + f[t[n + 9]] + "-" + f[t[n + 10]] + f[t[n + 11]] + f[t[n + 12]] + f[t[n + 13]] + f[t[n + 14]] + f[t[n + 15]]).toLowerCase();
}
function s(t, n = 0) {
const r = o(t, n);
if (!e(r)) {
throw TypeError("Stringified UUID is invalid");
}
return r;
}
function a(t) {
t = unescape(encodeURIComponent(t));
const n = new Uint8Array(t.length);
for (let e = 0; e < t.length; ++e) {
n[e] = t.charCodeAt(e);
}
return n;
}
const c = "6ba7b810-9dad-11d1-80b4-00c04fd430c8";
const i = "6ba7b811-9dad-11d1-80b4-00c04fd430c8";
function l(t, n, e, f, s, c) {
const i = typeof e === "string" ? a(e) : e;
const l = typeof f === "string" ? r(f) : f;
if (typeof f === "string") {
f = r(f);
}
if (f?.length !== 16) {
throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");
}
let u = new Uint8Array(16 + i.length);
u.set(l);
u.set(i, l.length);
u = n(u);
u[6] = u[6] & 15 | t;
u[8] = u[8] & 63 | 128;
if (s) {
c = c || 0;
for (let t = 0; t < 16; ++t) {
s[c + t] = u[t];
}
return s;
}
return o(u);
}
function u(t, n, e, r) {
switch (t) {
case 0:
return n & e ^ ~n & r;
case 1:
return n ^ e ^ r;
case 2:
return n & e ^ n & r ^ e & r;
case 3:
return n ^ e ^ r;
}
}
function h(t, n) {
return t << n | t >>> 32 - n;
}
function p(t) {
const n = [ 1518500249, 1859775393, 2400959708, 3395469782 ];
const e = [ 1732584193, 4023233417, 2562383102, 271733878, 3285377520 ];
const r = new Uint8Array(t.length + 1);
r.set(t);
r[t.length] = 128;
t = r;
const f = t.length / 4 + 2;
const o = Math.ceil(f / 16);
const s = new Array(o);
for (let n = 0; n < o; ++n) {
const e = new Uint32Array(16);
for (let r = 0; r < 16; ++r) {
e[r] = t[n * 64 + r * 4] << 24 | t[n * 64 + r * 4 + 1] << 16 | t[n * 64 + r * 4 + 2] << 8 | t[n * 64 + r * 4 + 3];
}
s[n] = e;
}
s[o - 1][14] = (t.length - 1) * 8 / Math.pow(2, 32);
s[o - 1][14] = Math.floor(s[o - 1][14]);
s[o - 1][15] = (t.length - 1) * 8 & 4294967295;
for (let t = 0; t < o; ++t) {
const r = new Uint32Array(80);
for (let n = 0; n < 16; ++n) {
r[n] = s[t][n];
}
for (let t = 16; t < 80; ++t) {
r[t] = h(r[t - 3] ^ r[t - 8] ^ r[t - 14] ^ r[t - 16], 1);
}
let f = e[0];
let o = e[1];
let a = e[2];
let c = e[3];
let i = e[4];
for (let t = 0; t < 80; ++t) {
const e = Math.floor(t / 20);
const s = h(f, 5) + u(e, o, a, c) + i + n[e] + r[t] >>> 0;
i = c;
c = a;
a = h(o, 30) >>> 0;
o = f;
f = s;
}
e[0] = e[0] + f >>> 0;
e[1] = e[1] + o >>> 0;
e[2] = e[2] + a >>> 0;
e[3] = e[3] + c >>> 0;
e[4] = e[4] + i >>> 0;
}
return Uint8Array.of(e[0] >> 24, e[0] >> 16, e[0] >> 8, e[0], e[1] >> 24, e[1] >> 16, e[1] >> 8, e[1], e[2] >> 24, e[2] >> 16, e[2] >> 8, e[2], e[3] >> 24, e[3] >> 16, e[3] >> 8, e[3], e[4] >> 24, e[4] >> 16, e[4] >> 8, e[4]);
}
function g(t, n, e, r) {
return l(80, p, t, n, e, r);
}
g.DNS = c;
g.URL = i;
export { c as D, t as N, i as U, l as a, e as b, r as p, s, o as u, g as v };