{"ast":null,"code":"/**\n * Helpers.\n */\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n *  - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n  options = options || {};\n  var type = typeof val;\n\n  if (type === 'string' && val.length > 0) {\n    return parse(val);\n  } else if (type === 'number' && isFinite(val)) {\n    return options.long ? fmtLong(val) : fmtShort(val);\n  }\n\n  throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(val));\n};\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\n\nfunction parse(str) {\n  str = String(str);\n\n  if (str.length > 100) {\n    return;\n  }\n\n  var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);\n\n  if (!match) {\n    return;\n  }\n\n  var n = parseFloat(match[1]);\n  var type = (match[2] || 'ms').toLowerCase();\n\n  switch (type) {\n    case 'years':\n    case 'year':\n    case 'yrs':\n    case 'yr':\n    case 'y':\n      return n * y;\n\n    case 'weeks':\n    case 'week':\n    case 'w':\n      return n * w;\n\n    case 'days':\n    case 'day':\n    case 'd':\n      return n * d;\n\n    case 'hours':\n    case 'hour':\n    case 'hrs':\n    case 'hr':\n    case 'h':\n      return n * h;\n\n    case 'minutes':\n    case 'minute':\n    case 'mins':\n    case 'min':\n    case 'm':\n      return n * m;\n\n    case 'seconds':\n    case 'second':\n    case 'secs':\n    case 'sec':\n    case 's':\n      return n * s;\n\n    case 'milliseconds':\n    case 'millisecond':\n    case 'msecs':\n    case 'msec':\n    case 'ms':\n      return n;\n\n    default:\n      return undefined;\n  }\n}\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\n\nfunction fmtShort(ms) {\n  var msAbs = Math.abs(ms);\n\n  if (msAbs >= d) {\n    return Math.round(ms / d) + 'd';\n  }\n\n  if (msAbs >= h) {\n    return Math.round(ms / h) + 'h';\n  }\n\n  if (msAbs >= m) {\n    return Math.round(ms / m) + 'm';\n  }\n\n  if (msAbs >= s) {\n    return Math.round(ms / s) + 's';\n  }\n\n  return ms + 'ms';\n}\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\n\nfunction fmtLong(ms) {\n  var msAbs = Math.abs(ms);\n\n  if (msAbs >= d) {\n    return plural(ms, msAbs, d, 'day');\n  }\n\n  if (msAbs >= h) {\n    return plural(ms, msAbs, h, 'hour');\n  }\n\n  if (msAbs >= m) {\n    return plural(ms, msAbs, m, 'minute');\n  }\n\n  if (msAbs >= s) {\n    return plural(ms, msAbs, s, 'second');\n  }\n\n  return ms + ' ms';\n}\n/**\n * Pluralization helper.\n */\n\n\nfunction plural(ms, msAbs, n, name) {\n  var isPlural = msAbs >= n * 1.5;\n  return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}","map":{"version":3,"sources":["C:/laragon/www/iot.mksolusi/DriverOPCDA/frontend/node_modules/ms/index.js"],"names":["s","m","h","d","w","y","module","exports","val","options","type","length","parse","isFinite","long","fmtLong","fmtShort","Error","JSON","stringify","str","String","match","exec","n","parseFloat","toLowerCase","undefined","ms","msAbs","Math","abs","round","plural","name","isPlural"],"mappings":"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","sourcesContent":["/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n *  - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n  options = options || {};\n  var type = typeof val;\n  if (type === 'string' && val.length > 0) {\n    return parse(val);\n  } else if (type === 'number' && isFinite(val)) {\n    return options.long ? fmtLong(val) : fmtShort(val);\n  }\n  throw new Error(\n    'val is not a non-empty string or a valid number. val=' +\n      JSON.stringify(val)\n  );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n  str = String(str);\n  if (str.length > 100) {\n    return;\n  }\n  var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n    str\n  );\n  if (!match) {\n    return;\n  }\n  var n = parseFloat(match[1]);\n  var type = (match[2] || 'ms').toLowerCase();\n  switch (type) {\n    case 'years':\n    case 'year':\n    case 'yrs':\n    case 'yr':\n    case 'y':\n      return n * y;\n    case 'weeks':\n    case 'week':\n    case 'w':\n      return n * w;\n    case 'days':\n    case 'day':\n    case 'd':\n      return n * d;\n    case 'hours':\n    case 'hour':\n    case 'hrs':\n    case 'hr':\n    case 'h':\n      return n * h;\n    case 'minutes':\n    case 'minute':\n    case 'mins':\n    case 'min':\n    case 'm':\n      return n * m;\n    case 'seconds':\n    case 'second':\n    case 'secs':\n    case 'sec':\n    case 's':\n      return n * s;\n    case 'milliseconds':\n    case 'millisecond':\n    case 'msecs':\n    case 'msec':\n    case 'ms':\n      return n;\n    default:\n      return undefined;\n  }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n  var msAbs = Math.abs(ms);\n  if (msAbs >= d) {\n    return Math.round(ms / d) + 'd';\n  }\n  if (msAbs >= h) {\n    return Math.round(ms / h) + 'h';\n  }\n  if (msAbs >= m) {\n    return Math.round(ms / m) + 'm';\n  }\n  if (msAbs >= s) {\n    return Math.round(ms / s) + 's';\n  }\n  return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n  var msAbs = Math.abs(ms);\n  if (msAbs >= d) {\n    return plural(ms, msAbs, d, 'day');\n  }\n  if (msAbs >= h) {\n    return plural(ms, msAbs, h, 'hour');\n  }\n  if (msAbs >= m) {\n    return plural(ms, msAbs, m, 'minute');\n  }\n  if (msAbs >= s) {\n    return plural(ms, msAbs, s, 'second');\n  }\n  return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n  var isPlural = msAbs >= n * 1.5;\n  return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n"]},"metadata":{},"sourceType":"script"}