@playbooks/utils
Version:
A collection of utilities used for Playbooks.
64 lines (63 loc) • 1.63 kB
JavaScript
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
};