UNPKG

mvom

Version:

Multivalue Object Mapper

40 lines (36 loc) 1.16 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _dateFns = require("date-fns"); var _constants = require("../constants"); var _dataTransformers = require("../dataTransformers"); var _BaseScalarType = _interopRequireDefault(require("./BaseScalarType")); /** ISOTime Schema Type */ class ISOTimeType extends _BaseScalarType.default { /** Data transformer */ constructor(definition, options = {}) { super(definition, options); const { dbFormat } = definition; this.dataTransformer = new _dataTransformers.ISOTimeDataTransformer(dbFormat); } /** ISOTimeType data type validator */ validateType = value => { if (value == null) { return true; } if (typeof value !== 'string') { return false; } return (0, _dateFns.isValid)(this.parseISOTime(value)); }; /** Parse ISOTime string into date */ parseISOTime(value) { return (0, _dateFns.parse)(value, _constants.ISOTimeFormat, new Date()); } } var _default = exports.default = ISOTimeType;