@opra/common
Version:
Opra common package
29 lines (28 loc) • 1.05 kB
JavaScript
;
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;