Rick 156a57866d Initial Commit
Init Commit Backend Server
2020-07-02 01:09:01 +02:00

117 lines
3.2 KiB
JavaScript

"use strict";
const fs = require('fs');
const adler32 = require('adler32');
function clearString(string) {
return string.replace(/[\r\n\t]/g, '').replace(/\s\s+/g, '').replace(/[\\]/g, "");
}
function adlerGen(string){
return adler32.sum(string);
}
function getRandomInt(min = 0, max = 100) {
min = Math.ceil(min);
max = Math.floor(max);
return (max > min) ? Math.floor(Math.random() * (max - min + 1) + min) : min;
}
function getRandomIntEx(max) {
return (max > 1) ? Math.floor(Math.random() * (max - 2) + 1) : 1;
}
function getDirList(path) {
return fs.readdirSync(path).filter(function(file) {
return fs.statSync(path + '/' + file).isDirectory();
});
}
function removeDir(dir) {
for (file of fs.readdirSync(dir)) {
let curPath = path.join(dir, file);
if (fs.lstatSync(curPath).isDirectory()) {
removeDir(curPath);
} else {
fs.unlinkSync(curPath);
}
}
fs.rmdirSync(dir);
}
function getTimestamp() {
let time = new Date();
return Math.floor(time.getTime() / 1000);
}
function getTime() {
let today = new Date();
let hours = ("0" + today.getHours()).substr(-2);
let minutes = ("0" + today.getMinutes()).substr(-2);
let seconds = ("0" + today.getSeconds()).substr(-2);
return hours + "-" + minutes + "-" + seconds;
}
function getDate() {
let today = new Date();
let day = ("0" + today.getDate()).substr(-2);
let month = ("0" + (today.getMonth() + 1)).substr(-2);
return today.getFullYear() + "-" + month + "-" + day;
}
function makeSign(length) {
let result = '';
let characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
let charactersLength = characters.length;
for (let i = 0; i < length; i++ ) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
}
function generateNewAssortId() {
return generateNewId("A");
}
function generateNewItemId() {
return generateNewId("I");
}
function generateNewDialogueId() {
return generateNewId("D");
}
function generateNewId(prefix) {
let getTime = new Date();
let month = getTime.getMonth().toString();
let date = getTime.getDate().toString();
let hour = getTime.getHours().toString();
let minute = getTime.getMinutes().toString();
let second = getTime.getSeconds().toString();
let random = getRandomInt(1000000000, 9999999999).toString();
let retVal = prefix + (month + date + hour + minute + second + random).toString();
let sign = makeSign(24 - retVal.length).toString();
return retVal + sign;
}
module.exports.clearString = clearString;
module.exports.adlerGen = adlerGen;
module.exports.getRandomInt = getRandomInt;
module.exports.getRandomIntEx = getRandomIntEx;
module.exports.getDirList = getDirList;
module.exports.removeDir = removeDir;
module.exports.getTimestamp = getTimestamp;
module.exports.getTime = getTime;
module.exports.getDate = getDate;
module.exports.makeSign = makeSign;
module.exports.generateNewItemId = generateNewItemId;
module.exports.generateNewAssortId = generateNewAssortId;
module.exports.generateNewDialogueId = generateNewDialogueId;