UNPKG

node-redisson

Version:

Distributed lock with Redis implementation for Node.js

41 lines (40 loc) 1.06 kB
"use strict"; 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);