mirror of
				https://github.com/musix-org/musix-oss
				synced 2025-11-04 03:39:32 +00:00 
			
		
		
		
	Updated
This commit is contained in:
		
							
								
								
									
										162
									
								
								node_modules/ms/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										162
									
								
								node_modules/ms/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,162 @@
 | 
			
		||||
/**
 | 
			
		||||
 * Helpers.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
var s = 1000;
 | 
			
		||||
var m = s * 60;
 | 
			
		||||
var h = m * 60;
 | 
			
		||||
var d = h * 24;
 | 
			
		||||
var w = d * 7;
 | 
			
		||||
var y = d * 365.25;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Parse or format the given `val`.
 | 
			
		||||
 *
 | 
			
		||||
 * Options:
 | 
			
		||||
 *
 | 
			
		||||
 *  - `long` verbose formatting [false]
 | 
			
		||||
 *
 | 
			
		||||
 * @param {String|Number} val
 | 
			
		||||
 * @param {Object} [options]
 | 
			
		||||
 * @throws {Error} throw an error if val is not a non-empty string or a number
 | 
			
		||||
 * @return {String|Number}
 | 
			
		||||
 * @api public
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
module.exports = function(val, options) {
 | 
			
		||||
  options = options || {};
 | 
			
		||||
  var type = typeof val;
 | 
			
		||||
  if (type === 'string' && val.length > 0) {
 | 
			
		||||
    return parse(val);
 | 
			
		||||
  } else if (type === 'number' && isNaN(val) === false) {
 | 
			
		||||
    return options.long ? fmtLong(val) : fmtShort(val);
 | 
			
		||||
  }
 | 
			
		||||
  throw new Error(
 | 
			
		||||
    'val is not a non-empty string or a valid number. val=' +
 | 
			
		||||
      JSON.stringify(val)
 | 
			
		||||
  );
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Parse the given `str` and return milliseconds.
 | 
			
		||||
 *
 | 
			
		||||
 * @param {String} str
 | 
			
		||||
 * @return {Number}
 | 
			
		||||
 * @api private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
function parse(str) {
 | 
			
		||||
  str = String(str);
 | 
			
		||||
  if (str.length > 100) {
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
  var match = /^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
 | 
			
		||||
    str
 | 
			
		||||
  );
 | 
			
		||||
  if (!match) {
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
  var n = parseFloat(match[1]);
 | 
			
		||||
  var type = (match[2] || 'ms').toLowerCase();
 | 
			
		||||
  switch (type) {
 | 
			
		||||
    case 'years':
 | 
			
		||||
    case 'year':
 | 
			
		||||
    case 'yrs':
 | 
			
		||||
    case 'yr':
 | 
			
		||||
    case 'y':
 | 
			
		||||
      return n * y;
 | 
			
		||||
    case 'weeks':
 | 
			
		||||
    case 'week':
 | 
			
		||||
    case 'w':
 | 
			
		||||
      return n * w;
 | 
			
		||||
    case 'days':
 | 
			
		||||
    case 'day':
 | 
			
		||||
    case 'd':
 | 
			
		||||
      return n * d;
 | 
			
		||||
    case 'hours':
 | 
			
		||||
    case 'hour':
 | 
			
		||||
    case 'hrs':
 | 
			
		||||
    case 'hr':
 | 
			
		||||
    case 'h':
 | 
			
		||||
      return n * h;
 | 
			
		||||
    case 'minutes':
 | 
			
		||||
    case 'minute':
 | 
			
		||||
    case 'mins':
 | 
			
		||||
    case 'min':
 | 
			
		||||
    case 'm':
 | 
			
		||||
      return n * m;
 | 
			
		||||
    case 'seconds':
 | 
			
		||||
    case 'second':
 | 
			
		||||
    case 'secs':
 | 
			
		||||
    case 'sec':
 | 
			
		||||
    case 's':
 | 
			
		||||
      return n * s;
 | 
			
		||||
    case 'milliseconds':
 | 
			
		||||
    case 'millisecond':
 | 
			
		||||
    case 'msecs':
 | 
			
		||||
    case 'msec':
 | 
			
		||||
    case 'ms':
 | 
			
		||||
      return n;
 | 
			
		||||
    default:
 | 
			
		||||
      return undefined;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Short format for `ms`.
 | 
			
		||||
 *
 | 
			
		||||
 * @param {Number} ms
 | 
			
		||||
 * @return {String}
 | 
			
		||||
 * @api private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
function fmtShort(ms) {
 | 
			
		||||
  var msAbs = Math.abs(ms);
 | 
			
		||||
  if (msAbs >= d) {
 | 
			
		||||
    return Math.round(ms / d) + 'd';
 | 
			
		||||
  }
 | 
			
		||||
  if (msAbs >= h) {
 | 
			
		||||
    return Math.round(ms / h) + 'h';
 | 
			
		||||
  }
 | 
			
		||||
  if (msAbs >= m) {
 | 
			
		||||
    return Math.round(ms / m) + 'm';
 | 
			
		||||
  }
 | 
			
		||||
  if (msAbs >= s) {
 | 
			
		||||
    return Math.round(ms / s) + 's';
 | 
			
		||||
  }
 | 
			
		||||
  return ms + 'ms';
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Long format for `ms`.
 | 
			
		||||
 *
 | 
			
		||||
 * @param {Number} ms
 | 
			
		||||
 * @return {String}
 | 
			
		||||
 * @api private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
function fmtLong(ms) {
 | 
			
		||||
  var msAbs = Math.abs(ms);
 | 
			
		||||
  if (msAbs >= d) {
 | 
			
		||||
    return plural(ms, msAbs, d, 'day');
 | 
			
		||||
  }
 | 
			
		||||
  if (msAbs >= h) {
 | 
			
		||||
    return plural(ms, msAbs, h, 'hour');
 | 
			
		||||
  }
 | 
			
		||||
  if (msAbs >= m) {
 | 
			
		||||
    return plural(ms, msAbs, m, 'minute');
 | 
			
		||||
  }
 | 
			
		||||
  if (msAbs >= s) {
 | 
			
		||||
    return plural(ms, msAbs, s, 'second');
 | 
			
		||||
  }
 | 
			
		||||
  return ms + ' ms';
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Pluralization helper.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
function plural(ms, msAbs, n, name) {
 | 
			
		||||
  var isPlural = msAbs >= n * 1.5;
 | 
			
		||||
  return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										21
									
								
								node_modules/ms/license.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								node_modules/ms/license.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
			
		||||
The MIT License (MIT)
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2016 Zeit, Inc.
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
in the Software without restriction, including without limitation the rights
 | 
			
		||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
			
		||||
copies of the Software, and to permit persons to whom the Software is
 | 
			
		||||
furnished to do so, subject to the following conditions:
 | 
			
		||||
 | 
			
		||||
The above copyright notice and this permission notice shall be included in all
 | 
			
		||||
copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
			
		||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
			
		||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 | 
			
		||||
SOFTWARE.
 | 
			
		||||
							
								
								
									
										70
									
								
								node_modules/ms/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								node_modules/ms/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,70 @@
 | 
			
		||||
{
 | 
			
		||||
  "_from": "ms",
 | 
			
		||||
  "_id": "ms@2.1.1",
 | 
			
		||||
  "_inBundle": false,
 | 
			
		||||
  "_integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
 | 
			
		||||
  "_location": "/ms",
 | 
			
		||||
  "_phantomChildren": {},
 | 
			
		||||
  "_requested": {
 | 
			
		||||
    "type": "tag",
 | 
			
		||||
    "registry": true,
 | 
			
		||||
    "raw": "ms",
 | 
			
		||||
    "name": "ms",
 | 
			
		||||
    "escapedName": "ms",
 | 
			
		||||
    "rawSpec": "",
 | 
			
		||||
    "saveSpec": null,
 | 
			
		||||
    "fetchSpec": "latest"
 | 
			
		||||
  },
 | 
			
		||||
  "_requiredBy": [
 | 
			
		||||
    "#USER",
 | 
			
		||||
    "/"
 | 
			
		||||
  ],
 | 
			
		||||
  "_resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
 | 
			
		||||
  "_shasum": "30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a",
 | 
			
		||||
  "_spec": "ms",
 | 
			
		||||
  "_where": "C:\\Users\\matia\\Madebot",
 | 
			
		||||
  "bugs": {
 | 
			
		||||
    "url": "https://github.com/zeit/ms/issues"
 | 
			
		||||
  },
 | 
			
		||||
  "bundleDependencies": false,
 | 
			
		||||
  "deprecated": false,
 | 
			
		||||
  "description": "Tiny millisecond conversion utility",
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "eslint": "4.12.1",
 | 
			
		||||
    "expect.js": "0.3.1",
 | 
			
		||||
    "husky": "0.14.3",
 | 
			
		||||
    "lint-staged": "5.0.0",
 | 
			
		||||
    "mocha": "4.0.1"
 | 
			
		||||
  },
 | 
			
		||||
  "eslintConfig": {
 | 
			
		||||
    "extends": "eslint:recommended",
 | 
			
		||||
    "env": {
 | 
			
		||||
      "node": true,
 | 
			
		||||
      "es6": true
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "files": [
 | 
			
		||||
    "index.js"
 | 
			
		||||
  ],
 | 
			
		||||
  "homepage": "https://github.com/zeit/ms#readme",
 | 
			
		||||
  "license": "MIT",
 | 
			
		||||
  "lint-staged": {
 | 
			
		||||
    "*.js": [
 | 
			
		||||
      "npm run lint",
 | 
			
		||||
      "prettier --single-quote --write",
 | 
			
		||||
      "git add"
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "main": "./index",
 | 
			
		||||
  "name": "ms",
 | 
			
		||||
  "repository": {
 | 
			
		||||
    "type": "git",
 | 
			
		||||
    "url": "git+https://github.com/zeit/ms.git"
 | 
			
		||||
  },
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "lint": "eslint lib/* bin/*",
 | 
			
		||||
    "precommit": "lint-staged",
 | 
			
		||||
    "test": "mocha tests.js"
 | 
			
		||||
  },
 | 
			
		||||
  "version": "2.1.1"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										60
									
								
								node_modules/ms/readme.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								node_modules/ms/readme.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,60 @@
 | 
			
		||||
# ms
 | 
			
		||||
 | 
			
		||||
[](https://travis-ci.org/zeit/ms)
 | 
			
		||||
[](https://zeit.chat/)
 | 
			
		||||
 | 
			
		||||
Use this package to easily convert various time formats to milliseconds.
 | 
			
		||||
 | 
			
		||||
## Examples
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
ms('2 days')  // 172800000
 | 
			
		||||
ms('1d')      // 86400000
 | 
			
		||||
ms('10h')     // 36000000
 | 
			
		||||
ms('2.5 hrs') // 9000000
 | 
			
		||||
ms('2h')      // 7200000
 | 
			
		||||
ms('1m')      // 60000
 | 
			
		||||
ms('5s')      // 5000
 | 
			
		||||
ms('1y')      // 31557600000
 | 
			
		||||
ms('100')     // 100
 | 
			
		||||
ms('-3 days') // -259200000
 | 
			
		||||
ms('-1h')     // -3600000
 | 
			
		||||
ms('-200')    // -200
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Convert from Milliseconds
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
ms(60000)             // "1m"
 | 
			
		||||
ms(2 * 60000)         // "2m"
 | 
			
		||||
ms(-3 * 60000)        // "-3m"
 | 
			
		||||
ms(ms('10 hours'))    // "10h"
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Time Format Written-Out
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
ms(60000, { long: true })             // "1 minute"
 | 
			
		||||
ms(2 * 60000, { long: true })         // "2 minutes"
 | 
			
		||||
ms(-3 * 60000, { long: true })        // "-3 minutes"
 | 
			
		||||
ms(ms('10 hours'), { long: true })    // "10 hours"
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Features
 | 
			
		||||
 | 
			
		||||
- Works both in [Node.js](https://nodejs.org) and in the browser
 | 
			
		||||
- If a number is supplied to `ms`, a string with a unit is returned
 | 
			
		||||
- If a string that contains the number is supplied, it returns it as a number (e.g.: it returns `100` for `'100'`)
 | 
			
		||||
- If you pass a string with a number and a valid unit, the number of equivalent milliseconds is returned
 | 
			
		||||
 | 
			
		||||
## Related Packages
 | 
			
		||||
 | 
			
		||||
- [ms.macro](https://github.com/knpwrs/ms.macro) - Run `ms` as a macro at build-time.
 | 
			
		||||
 | 
			
		||||
## Caught a Bug?
 | 
			
		||||
 | 
			
		||||
1. [Fork](https://help.github.com/articles/fork-a-repo/) this repository to your own GitHub account and then [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device
 | 
			
		||||
2. Link the package to the global module directory: `npm link`
 | 
			
		||||
3. Within the module you want to test your local development instance of ms, just link it to the dependencies: `npm link ms`. Instead of the default one from npm, Node.js will now use your clone of ms!
 | 
			
		||||
 | 
			
		||||
As always, you can run the tests using: `npm test`
 | 
			
		||||
		Reference in New Issue
	
	Block a user