@enonic/js-utils
Version:
Enonic XP JavaScript Utils
38 lines (34 loc) • 1.02 kB
JavaScript
// value/isStringLiteral.ts
var isStringLiteral = (value) => typeof value === "string";
// value/isStringObject.ts
var isStringObject = (value) => value instanceof String;
// value/isString.ts
var isString = (value) => isStringLiteral(value) || isStringObject(value);
// value/isLocalDateTimeString.ts
var REGEXP_DATE = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(:\d{2}(\.\d{0,9})?)?$/;
function isLocalDateTimeString(v) {
if (!isString(v)) {
return false;
}
const matches = v.match(REGEXP_DATE);
if (matches) {
const localDateTimeStringToParse = `${matches[0].substring(0, 19)}Z`;
try {
const d = new Date(Date.parse(localDateTimeStringToParse));
let inputTrimmed = v.substring(0, 19);
if (inputTrimmed.length === 16) {
inputTrimmed += ":00";
}
const parsedTrimmed = d.toJSON().substring(0, 19);
if (inputTrimmed === parsedTrimmed) {
return true;
}
return false;
} catch (e) {
}
}
return false;
}
export {
isLocalDateTimeString
};