node-redisson
Version:
Distributed lock with Redis implementation for Node.js
41 lines (40 loc) • 1.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TimeUnit = void 0;
class TimeUnit {
constructor(baseMs) {
this.baseMs = baseMs;
if (typeof baseMs === 'number') {
this._baseMs = BigInt(baseMs);
}
else {
this._baseMs = baseMs;
}
}
/**
* Get current time.
* - Unit: ms
* @returns time
*/
static now() {
return BigInt(new Date().getTime());
}
toMillis(d) {
return BigInt(d) * this._baseMs;
}
toSeconds(d) {
return (BigInt(d) * this._baseMs) / TimeUnit.SECONDS._baseMs;
}
toHours(d) {
return (BigInt(d) * this._baseMs) / TimeUnit.HOURS._baseMs;
}
toDays(d) {
return (BigInt(d) * this._baseMs) / TimeUnit.DAYS._baseMs;
}
}
exports.TimeUnit = TimeUnit;
TimeUnit.MILLISECONDS = new TimeUnit(1n);
TimeUnit.SECONDS = new TimeUnit(1000n);
TimeUnit.MINUTES = new TimeUnit(60000n);
TimeUnit.HOURS = new TimeUnit(3600000n);
TimeUnit.DAYS = new TimeUnit(86400000n);