- const vts = util_1.useFunc(gen, timestamp_1.default);
- gen.if(codegen_1._ `!${vts}(${data})`, () => parsingError(cxt, codegen_1.str `invalid timestamp`));
+ const vts = (0, util_1.useFunc)(gen, timestamp_1.default);
+ const { allowDate, parseDate } = self.opts;
+ const notValid = allowDate ? (0, codegen_1._) `!${vts}(${data}, true)` : (0, codegen_1._) `!${vts}(${data})`;
+ const fail = parseDate
+ ? (0, codegen_1.or)(notValid, (0, codegen_1._) `(${data} = new Date(${data}), false)`, (0, codegen_1._) `isNaN(${data}.valueOf())`)
+ : notValid;
+ gen.if(fail, () => parsingError(cxt, (0, codegen_1.str) `invalid timestamp`));