UNPKG

@opra/common

Version:
28 lines (27 loc) 1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DateTimeLiteral = 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 NullDate = new Date(0); class DateTimeLiteral 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-time value "${value}"`); } toString() { return (0, utils_js_1.quoteFilterString)(this.value); } } exports.DateTimeLiteral = DateTimeLiteral;