n4s
Version:
typed schema validation version of enforce
1 lines • 13.9 kB
Source Map (JSON)
{"version":3,"file":"date.cjs","names":["F","merge","isValidDate","enforce"],"sources":["../../../../node_modules/validator/es/lib/toDate.js","../../../../node_modules/validator/es/lib/isAfter.js","../../../../node_modules/validator/es/lib/isBefore.js","../../../../node_modules/validator/es/lib/isDate.js","../../../../node_modules/validator/es/lib/isISO8601.js","../../src/exports/date.ts"],"sourcesContent":["import assertString from './util/assertString';\nexport default function toDate(date) {\n assertString(date);\n date = Date.parse(date);\n return !isNaN(date) ? new Date(date) : null;\n}","import toDate from './toDate';\nexport default function isAfter(date, options) {\n // For backwards compatibility:\n // isAfter(str [, date]), i.e. `options` could be used as argument for the legacy `date`\n var comparisonDate = (options === null || options === void 0 ? void 0 : options.comparisonDate) || options || Date().toString();\n var comparison = toDate(comparisonDate);\n var original = toDate(date);\n return !!(original && comparison && original > comparison);\n}","import assertString from './util/assertString';\nimport toDate from './toDate';\nexport default function isBefore(str) {\n var date = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : String(new Date());\n assertString(str);\n var comparison = toDate(date);\n var original = toDate(str);\n return !!(original && comparison && original < comparison);\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport merge from './util/merge';\nvar default_date_options = {\n format: 'YYYY/MM/DD',\n delimiters: ['/', '-'],\n strictMode: false\n};\n\nfunction isValidFormat(format) {\n return /(^(y{4}|y{2})[.\\/-](m{1,2})[.\\/-](d{1,2})$)|(^(m{1,2})[.\\/-](d{1,2})[.\\/-]((y{4}|y{2})$))|(^(d{1,2})[.\\/-](m{1,2})[.\\/-]((y{4}|y{2})$))/gi.test(format);\n}\n\nfunction zip(date, format) {\n var zippedArr = [],\n len = Math.min(date.length, format.length);\n\n for (var i = 0; i < len; i++) {\n zippedArr.push([date[i], format[i]]);\n }\n\n return zippedArr;\n}\n\nexport default function isDate(input, options) {\n if (typeof options === 'string') {\n // Allow backward compatbility for old format isDate(input [, format])\n options = merge({\n format: options\n }, default_date_options);\n } else {\n options = merge(options, default_date_options);\n }\n\n if (typeof input === 'string' && isValidFormat(options.format)) {\n var formatDelimiter = options.delimiters.find(function (delimiter) {\n return options.format.indexOf(delimiter) !== -1;\n });\n var dateDelimiter = options.strictMode ? formatDelimiter : options.delimiters.find(function (delimiter) {\n return input.indexOf(delimiter) !== -1;\n });\n var dateAndFormat = zip(input.split(dateDelimiter), options.format.toLowerCase().split(formatDelimiter));\n var dateObj = {};\n\n var _iterator = _createForOfIteratorHelper(dateAndFormat),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n dateWord = _step$value[0],\n formatWord = _step$value[1];\n\n if (dateWord.length !== formatWord.length) {\n return false;\n }\n\n dateObj[formatWord.charAt(0)] = dateWord;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return new Date(\"\".concat(dateObj.m, \"/\").concat(dateObj.d, \"/\").concat(dateObj.y)).getDate() === +dateObj.d;\n }\n\n if (!options.strictMode) {\n return Object.prototype.toString.call(input) === '[object Date]' && isFinite(input);\n }\n\n return false;\n}","import assertString from './util/assertString';\n/* eslint-disable max-len */\n// from http://goo.gl/0ejHHW\n\nvar iso8601 = /^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$/; // same as above, except with a strict 'T' separator between date and time\n\nvar iso8601StrictSeparator = /^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$/;\n/* eslint-enable max-len */\n\nvar isValidDate = function isValidDate(str) {\n // str must have passed the ISO8601 check\n // this check is meant to catch invalid dates\n // like 2009-02-31\n // first check for ordinal dates\n var ordinalMatch = str.match(/^(\\d{4})-?(\\d{3})([ T]{1}\\.*|$)/);\n\n if (ordinalMatch) {\n var oYear = Number(ordinalMatch[1]);\n var oDay = Number(ordinalMatch[2]); // if is leap year\n\n if (oYear % 4 === 0 && oYear % 100 !== 0 || oYear % 400 === 0) return oDay <= 366;\n return oDay <= 365;\n }\n\n var match = str.match(/(\\d{4})-?(\\d{0,2})-?(\\d*)/).map(Number);\n var year = match[1];\n var month = match[2];\n var day = match[3];\n var monthString = month ? \"0\".concat(month).slice(-2) : month;\n var dayString = day ? \"0\".concat(day).slice(-2) : day; // create a date object and compare\n\n var d = new Date(\"\".concat(year, \"-\").concat(monthString || '01', \"-\").concat(dayString || '01'));\n\n if (month && day) {\n return d.getUTCFullYear() === year && d.getUTCMonth() + 1 === month && d.getUTCDate() === day;\n }\n\n return true;\n};\n\nexport default function isISO8601(str) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assertString(str);\n var check = options.strictSeparator ? iso8601StrictSeparator.test(str) : iso8601.test(str);\n if (check && options.strict) return isValidDate(str);\n return check;\n}","import isAfter from 'validator/es/lib/isAfter';\nimport isBefore from 'validator/es/lib/isBefore';\nimport isDate from 'validator/es/lib/isDate';\nimport isISO8601 from 'validator/es/lib/isISO8601';\n\nimport { enforce } from '../n4s';\nimport type { WidenFirstParam } from '../n4sTypes';\n\nenforce.extend({ isAfter, isBefore, isDate, isISO8601 });\n\ndeclare global {\n namespace n4s {\n interface EnforceMatchers {\n isAfter: WidenFirstParam<typeof isAfter, string | Date | number>;\n isBefore: WidenFirstParam<typeof isBefore, string | Date | number>;\n isDate: WidenFirstParam<typeof isDate, string | Date | number>;\n isISO8601: WidenFirstParam<typeof isISO8601, string | Date | number>;\n }\n }\n}\n"],"x_google_ignoreList":[0,1,2,3,4],"mappings":"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"}