From 01160246e4a0c0052181c72a53737e356ea7d02d Mon Sep 17 00:00:00 2001 From: Minteck Date: Sat, 12 Feb 2022 10:33:06 +0100 Subject: First commit --- node_modules/moment/src/lib/duration/valid.js | 54 +++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 node_modules/moment/src/lib/duration/valid.js (limited to 'node_modules/moment/src/lib/duration/valid.js') diff --git a/node_modules/moment/src/lib/duration/valid.js b/node_modules/moment/src/lib/duration/valid.js new file mode 100644 index 0000000..13ee6cd --- /dev/null +++ b/node_modules/moment/src/lib/duration/valid.js @@ -0,0 +1,54 @@ +import hasOwnProp from '../utils/has-own-prop'; +import toInt from '../utils/to-int'; +import indexOf from '../utils/index-of'; +import { createDuration } from './create'; + +var ordering = [ + 'year', + 'quarter', + 'month', + 'week', + 'day', + 'hour', + 'minute', + 'second', + 'millisecond', +]; + +export default function isDurationValid(m) { + var key, + unitHasDecimal = false, + i; + for (key in m) { + if ( + hasOwnProp(m, key) && + !( + indexOf.call(ordering, key) !== -1 && + (m[key] == null || !isNaN(m[key])) + ) + ) { + return false; + } + } + + for (i = 0; i < ordering.length; ++i) { + if (m[ordering[i]]) { + if (unitHasDecimal) { + return false; // only allow non-integers for smallest unit + } + if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { + unitHasDecimal = true; + } + } + } + + return true; +} + +export function isValid() { + return this._isValid; +} + +export function createInvalid() { + return createDuration(NaN); +} -- cgit