Replace thirdparty parse-ms with my own, and add tests
All checks were successful
CI / CI (push) Successful in 16s
All checks were successful
CI / CI (push) Successful in 16s
This commit is contained in:
parent
5081b9fec9
commit
906c0d86c0
5 changed files with 900071 additions and 11 deletions
10
package-lock.json
generated
10
package-lock.json
generated
|
@ -13,7 +13,6 @@
|
|||
"discord.js": "^14.16.3",
|
||||
"dotenv": "^16.4.5",
|
||||
"mysql": "^2.18.1",
|
||||
"parse-ms": "^2.1.0",
|
||||
"prompt-sync": "^4.2.0",
|
||||
"seedrandom": "^3.0.5",
|
||||
"sqlite3": "^5.1.6",
|
||||
|
@ -4394,15 +4393,6 @@
|
|||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/parse-ms": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz",
|
||||
"integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/path-exists": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
"discord.js": "^14.16.3",
|
||||
"dotenv": "^16.4.5",
|
||||
"mysql": "^2.18.1",
|
||||
"parse-ms": "^2.1.0",
|
||||
"prompt-sync": "^4.2.0",
|
||||
"seedrandom": "^3.0.5",
|
||||
"sqlite3": "^5.1.6",
|
||||
|
|
900002
tests/expected/parse-ms-expected.json
Normal file
900002
tests/expected/parse-ms-expected.json
Normal file
File diff suppressed because it is too large
Load diff
12
tests/parse-ms.test.js
Normal file
12
tests/parse-ms.test.js
Normal file
|
@ -0,0 +1,12 @@
|
|||
const parseMS = require('../util/parseMS')
|
||||
const fs = require('fs')
|
||||
|
||||
const file = 'tests/expected/parse-ms-expected.json';
|
||||
const expectedOutput = JSON.parse(fs.readFileSync(file, {encoding: "utf-8"}));
|
||||
|
||||
test("Testing my parseMS", () => {
|
||||
for(let i = 0; i < expectedOutput.length; i++){
|
||||
const ms = i * i * 2;
|
||||
expect(parseMS(ms)).toStrictEqual(expectedOutput[i])
|
||||
}
|
||||
})
|
57
util/parseMS.js
Normal file
57
util/parseMS.js
Normal file
|
@ -0,0 +1,57 @@
|
|||
module.exports = function(milliseconds){
|
||||
|
||||
let timeObject = {
|
||||
"days": 0,
|
||||
"hours": 0,
|
||||
"minutes": 0,
|
||||
"seconds": 0,
|
||||
"milliseconds": 0,
|
||||
"microseconds": 0,
|
||||
"nanoseconds": 0
|
||||
};
|
||||
|
||||
const timeInMS = {
|
||||
"seconds" : 1000,
|
||||
"minutes" : 60000,
|
||||
"hours" : 3600000,
|
||||
"days" : 86400000,
|
||||
}
|
||||
|
||||
if(milliseconds >= timeInMS.days){
|
||||
timeObject.days = Math.floor(milliseconds / timeInMS.days);
|
||||
milliseconds -= Math.floor(timeInMS.days * timeObject.days);
|
||||
}
|
||||
if(milliseconds >= timeInMS.hours){
|
||||
timeObject.hours = Math.floor(milliseconds / timeInMS.hours);
|
||||
milliseconds -= Math.floor(timeInMS.hours * timeObject.hours);
|
||||
}
|
||||
if(milliseconds >= timeInMS.minutes){
|
||||
timeObject.minutes = Math.floor(milliseconds / timeInMS.minutes);
|
||||
milliseconds -= Math.floor(timeInMS.minutes * timeObject.minutes);
|
||||
}
|
||||
if(milliseconds >= timeInMS.seconds){
|
||||
timeObject.seconds = Math.floor(milliseconds / timeInMS.seconds);
|
||||
milliseconds -= Math.floor(timeInMS.seconds * timeObject.seconds);
|
||||
}
|
||||
|
||||
|
||||
|
||||
timeObject.milliseconds = milliseconds;
|
||||
|
||||
|
||||
return timeObject;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
{
|
||||
"days": 0,
|
||||
"hours": 0,
|
||||
"minutes": 0,
|
||||
"seconds": 0,
|
||||
"milliseconds": 0,
|
||||
"microseconds": 0,
|
||||
"nanoseconds": 0
|
||||
},
|
||||
|
||||
*/
|
Loading…
Add table
Reference in a new issue