openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
20 lines (19 loc) • 845 B
JavaScript
import { w as parseStrictPositiveInteger } from "./number-coercion-CLj0HTDM.js";
import { i as normalizeUtcIso, n as hasValidIsoCalendarComponents } from "./iso-time-C2akJNwm.js";
//#region src/cron/parse.ts
/** Parses cron schedule timestamps from user-facing absolute time strings. */
/** Parses absolute cron timestamps from epoch milliseconds or ISO-like strings normalized to UTC. */
function parseAbsoluteTimeMs(input) {
const raw = input.trim();
if (!raw) return null;
if (/^\d+$/.test(raw)) {
const n = parseStrictPositiveInteger(raw);
if (n !== void 0 && Number.isFinite(new Date(n).getTime())) return n;
return null;
}
if (!hasValidIsoCalendarComponents(raw)) return null;
const parsed = Date.parse(normalizeUtcIso(raw));
return Number.isFinite(parsed) ? parsed : null;
}
//#endregion
export { parseAbsoluteTimeMs as t };