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",
|
"discord.js": "^14.16.3",
|
||||||
"dotenv": "^16.4.5",
|
"dotenv": "^16.4.5",
|
||||||
"mysql": "^2.18.1",
|
"mysql": "^2.18.1",
|
||||||
"parse-ms": "^2.1.0",
|
|
||||||
"prompt-sync": "^4.2.0",
|
"prompt-sync": "^4.2.0",
|
||||||
"seedrandom": "^3.0.5",
|
"seedrandom": "^3.0.5",
|
||||||
"sqlite3": "^5.1.6",
|
"sqlite3": "^5.1.6",
|
||||||
|
@ -4394,15 +4393,6 @@
|
||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"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": {
|
"node_modules/path-exists": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
"discord.js": "^14.16.3",
|
"discord.js": "^14.16.3",
|
||||||
"dotenv": "^16.4.5",
|
"dotenv": "^16.4.5",
|
||||||
"mysql": "^2.18.1",
|
"mysql": "^2.18.1",
|
||||||
"parse-ms": "^2.1.0",
|
|
||||||
"prompt-sync": "^4.2.0",
|
"prompt-sync": "^4.2.0",
|
||||||
"seedrandom": "^3.0.5",
|
"seedrandom": "^3.0.5",
|
||||||
"sqlite3": "^5.1.6",
|
"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