UNPKG

@controlplane/cli

Version:

Control Plane Corporation CLI

51 lines 1.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.sleep = exports.toNanos = exports.unixTime = exports.unixNow = exports.debounce = void 0; const parse_duration_1 = require("parse-duration"); function debounce(func, wait) { let timeout = null; return function executedFunction(...args) { const later = () => { timeout = null; func(...args); }; if (timeout) { clearTimeout(timeout); } timeout = setTimeout(later, wait); }; } exports.debounce = debounce; function unixNow() { return unixTime(new Date()); } exports.unixNow = unixNow; function unixTime(d) { return Math.round(d.getTime() / 1000); } exports.unixTime = unixTime; function toNanos(nowMillis, since, ts) { if (!since && !ts) { return undefined; } if (ts) { const ms = Date.parse(ts); if (Number.isNaN(ms)) { throw new Error(`Cannot parse ${ts} into a valid date`); } return '' + ms + '000000'; } const ms = (0, parse_duration_1.default)(since); if (ms === null) { throw new Error(`Cannot parse ${since} into a duration`); } return '' + (nowMillis - ms) + '000000'; } exports.toNanos = toNanos; function sleep(millis, sentinel) { return new Promise((resolve) => { setTimeout(resolve, millis, sentinel); }); } exports.sleep = sleep; //# sourceMappingURL=time.js.map