UNPKG

@playbooks/utils

Version:

A collection of utilities used for Playbooks.

64 lines (63 loc) 1.63 kB
import Dayjs from "dayjs"; import AdvancedFormat from "dayjs/plugin/advancedFormat.js"; import QuarterOfYear from "dayjs/plugin/quarterOfYear.js"; import RelativeTime from "dayjs/plugin/relativeTime.js"; import Timezone from "dayjs/plugin/timezone.js"; import UTC from "dayjs/plugin/utc.js"; Dayjs.extend(AdvancedFormat); Dayjs.extend(QuarterOfYear); Dayjs.extend(RelativeTime); Dayjs.extend(Timezone); Dayjs.extend(UTC); const dayjs = Dayjs; const zonedDayjs = (value, timezone = "America/Denver") => { return dayjs(value).tz(timezone); }; const fromUnix = (value) => { return Dayjs.unix(value); }; const formatDate = (value, format) => { return Dayjs(value).format(format || "MMM Do, YYYY @ hh:mmA"); }; const formatTimestamp = (value) => { return Dayjs(value).fromNow(true); }; const toDate = (value) => { return Dayjs(value).toDate(); }; const toJson = (value) => { return Dayjs(value).toJSON(); }; const toYear = (value) => { return Dayjs(value).year(); }; const toUnix = (value) => { return Dayjs(value).valueOf(); }; const toStartOfTime = () => { return Dayjs().subtract(10, "y").startOf("d").toJSON(); }; const toEndOfTime = () => { return Dayjs().add(10, "y").endOf("d").toJSON(); }; const toTimezone = (value, timezone = "America/Denver") => { return Dayjs(value).tz(timezone); }; const timeElapsed = (startDate, endDate = /* @__PURE__ */ new Date()) => { return Dayjs(endDate).diff(startDate, "ms") + "ms"; }; export { dayjs, formatDate, formatTimestamp, fromUnix, timeElapsed, toDate, toEndOfTime, toJson, toStartOfTime, toTimezone, toUnix, toYear, zonedDayjs };