UNPKG

@opra/common

Version:
29 lines (28 loc) 1.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DateLiteral = void 0; const putil_varhelpers_1 = require("putil-varhelpers"); const errors_js_1 = require("../../errors.js"); const utils_js_1 = require("../../utils.js"); const literal_js_1 = require("../abstract/literal.js"); // const DATE_PATTERN = /^(\d{4})-(0[1-9]|1[012])-([123]0|[012][1-9]|31)/; const NullDate = new Date(0); class DateLiteral extends literal_js_1.Literal { constructor(value) { super(''); if (value instanceof Date) { this.value = value.toISOString(); return; } // noinspection SuspiciousTypeOfGuard if (typeof value === 'string' && (0, putil_varhelpers_1.toDateDef)(value, NullDate) !== NullDate) { this.value = value; return; } throw new errors_js_1.FilterValidationError(`Invalid date value "${value}"`); } toString() { return (0, utils_js_1.quoteFilterString)(this.value); } } exports.DateLiteral = DateLiteral;