Files
discord-decomp/_bundle/Module510.js
T
2026-11-01 12:12:55 +02:00

28 lines
971 B
JavaScript

// Metro module 510 (f511).
import Integer from "./Integer";
import { Buffer } from "./Buffer";
export class IdGenerator {
constructor() {
return {
__proto__: new.target.prototype,
_randomPrefix: Math.floor(4294967296 * Math.random()) | 0,
_creationTime: Integer(Date.now()),
_sequenceNumber: 0
};
}
generate(a0) {
const r18 = Integer(a0);
const r20 = +this._sequenceNumber;
this._sequenceNumber = r20 + 1;
const r4 = r20 | 0;
const buffer = new Buffer(24);
buffer.writeInt32LE(r18.mod(4294967296).toJSNumber() | 0, 0, true);
buffer.writeInt32LE(r18.shiftRight(32).toJSNumber() | 0, 4, true);
buffer.writeInt32LE(this._randomPrefix, 8, true);
buffer.writeInt32LE(this._creationTime.mod(4294967296).toJSNumber() | 0, 12, true);
buffer.writeInt32LE(this._creationTime.shiftRight(32).toJSNumber() | 0, 16, true);
buffer.writeInt32LE(r4, 20, true);
return buffer.toString("base64");
}
}