UNPKG

luxon-parser

Version:

Add DateTime.fromHuman() and DateTime.fromAny() functions to Luxon that can parse a wide range of date formats including human-input dates

56 lines (54 loc) 2.14 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/luxon-parser.ts var luxon_parser_exports = {}; __export(luxon_parser_exports, { dateTimeFromAny: () => dateTimeFromAny, dateTimeFromHuman: () => dateTimeFromHuman }); module.exports = __toCommonJS(luxon_parser_exports); var import_any_date_parser = require("any-date-parser"); var import_luxon = require("luxon"); function dateTimeFromHuman(string, options = {}) { const date = (0, import_any_date_parser.fromString)(string, options.locale); if (date.invalid) { return import_luxon.DateTime.invalid(date.invalid); } return import_luxon.DateTime.fromJSDate(date, options); } function dateTimeFromAny(date, options = {}) { if (!date) { return import_luxon.DateTime.now(); } else if (date instanceof import_luxon.DateTime) { return date; } else if (date instanceof Date) { return import_luxon.DateTime.fromJSDate(date, options); } else if (typeof date === "number") { return import_luxon.DateTime.fromMillis(date, options); } else if (typeof date === "object") { return import_luxon.DateTime.fromObject(date, options); } return dateTimeFromHuman(date, options); } import_luxon.DateTime.fromHuman = dateTimeFromHuman; import_luxon.DateTime.fromAny = dateTimeFromAny; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { dateTimeFromAny, dateTimeFromHuman });