UNPKG

oplus

Version:

Multipropose package that is easy to use!

557 lines (481 loc) 13.7 kB
const express = require("express"); const {lookup} = require("geoip-lite"); const bcrypt = require('bcrypt'); const fss = require("fs"); const path = require("path"); const fs = require('fs-extra'); const date = require('date-and-time'); //const shell = require('shelljs'); //////////////////////////////// //start = function(){ // shell.exec('npm i express geoip-lite bcrypt path fs-extra'); //} ////////////////////////////////// const app = express(); replaceText = function(text = "", m1 = "", m2 = "", num){ if (!text){ const errorMessage = new SyntaxError("No text was found!\n replaceText()") errorMessage.name = "OPlus Error" throw errorMessage } if (!m1) { const errorMessage = new SyntaxError("No string to replace was found!\n replaceText()") errorMessage.name = "OPlus Error" throw errorMessage } if (!m2) { const errorMessage = new SyntaxError("No string to replace with was found!\n replaceText()") errorMessage.name = "OPlus Error" throw errorMessage } if (!num) { return text.replaceAll(m1, m2); } afterText = text; if (num < 0) { afterText = afterText.split('').reverse().join(''); m1 = m1.split('').reverse().join(''); m2 = m2.split('').reverse().join(''); } for (let i = 0; i < Math.abs(num); i++) afterText = afterText.replace(m1, m2); return num > 0 ? afterText : afterText.split('').reverse().join(''); } checkContainsOr = function(text, ...find) { if (!text) { const errorMessage = new SyntaxError("No text was found!\n checkContainsOr( )\n ^ ") errorMessage.name = "OPlus Error" throw errorMessage } if (!find) { const errorMessage = new SyntaxError("No text was found!\n checkContainsOr( )") errorMessage.name = "OPlus Error" throw errorMessage } if (!!text && !!find) return find.reduce((a, b) => text.includes(b) || a, true); }  console.send = function(text) { console.log(text) } replaceTextBetween = function(text, m1, m2, start, end = 0) { if (!text) { const errorMessage = new SyntaxError("No text was found!\n replaceTextBetween( )") errorMessage.name = "OPlus Error" throw errorMessage } if (!m1) { const errorMessage = new SyntaxError("No text split was found!\n replaceTextBetween( )") errorMessage.name = "OPlus Error" throw errorMessage } if (!m2) { const errorMessage = new SyntaxError("No text replacer was found!\n replaceTextBetween( )") errorMessage.name = "OPlus Error" throw errorMessage } if (!start) { const errorMessage = new SyntaxError("No starting number was found!\n replaceTextBetween( )") errorMessage.name = "OPlus Error" throw errorMessage } if (start < 0) start = text.length + start; if (end < 0) end = text.length + end; if (start > end) { let temp = start; start = end; end = temp; } const subText = text.substring(start, end).replaceAll(m1, m2); const split1 = text.substring(0, start); const split2 = text.substring(end); return split1 + subText + split2; } checkContainsAnd = function(text, ...find) { if (!text) { const errorMessage = new SyntaxError("No text was found!\n checkContainsAnd( )\n ^ ") errorMessage.name = "OPlus Error" throw errorMessage } if (!find) { const errorMessage = new SyntaxError("No text parameter\s was found!\n checkContainsAnd()") errorMessage.name = "OPlus Error" throw errorMessage } return find.reduce((a, b) => text.includes(b) && a, true); } upperWord = function(text, num) { if (!text) { const errorMessage = new SyntaxError("No text input was found!\n upperWord( )\n ^ ") errorMessage.name = "OPlus Error" throw errorMessage } if (!!num) { if (typeof(num) != "number") { const errorMessage = new SyntaxError("No number was found!\n upperWord( )") errorMessage.name = "OPlus Error" throw errorMessage } } if (num === 0) return(text) if (!num) { return text.toUpperCase() } else { if (num < 0) text = text.split(' ').reverse() else text = text.split(' ') for (let i = 0;i < Math.abs(num);i++) { if (text.length == i) break text[i] = text[i].toUpperCase() } if (num < 0) text = text.reverse().join(' ') else text = text.join(' ') return text } } lowerWord = function(text, num) { if (!text) { const errorMessage = new SyntaxError("No text was found!\n lowerWord( )") errorMessage.name = "OPlus Error" throw errorMessage } if (!!num) { if (typeof(num) != "number") { const errorMessage = new SyntaxError("No number was found!\n lowerWord( )") errorMessage.name = "OPlus Error" throw errorMessage } } if (num === 0) return(text) if (!num) { return text.toLowerCase() } else { if (num < 0) text = text.split(' ').reverse() else text = text.split(' ') for (let i = 0;i < Math.abs(num);i++) { if (text.length == i) break text[i] = text[i].toLowerCase() } if (num < 0) text = text.reverse().join(' ') else text = text.join(' ') return text } } upperLetter = function(text, num) { if (!text) { const errorMessage = new SyntaxError("No text was found!\n upperLetter()") errorMessage.name = "OPlus Error" throw errorMessage } if (!!num) { if (typeof(num) != "number") { const errorMessage = new SyntaxError("No number was found!\n upperLetter()") errorMessage.name = "OPlus Error" throw errorMessage } } if (num === 0) return(text) if (!num) { return text.toUpperCase() } else { if (num < 0) text = text.split('').reverse() else text = text.split('') for (let i = 0;i < Math.abs(num);i++) { if (text.length == i) break text[i] = text[i].toUpperCase() } if (num < 0) text = text.reverse().join('') else text = text.join('') return text } } lowerLetter = function(text, num) { if (!text){ const errorMessage = new SyntaxError("No text was found!\n lowerLetter()") errorMessage.name = "OPlus Error" throw errorMessage } if (!!num) { if (typeof(num) != "number"){ const errorMessage = new SyntaxError("No number was found!\n lowerLetter()") errorMessage.name = "OPlus Error" throw errorMessage } } if (num === 0) return(text) if (!num) { return text.toLowerCase() } else { if (num < 0) text = text.split('').reverse() else text = text.split('') for (let i = 0;i < Math.abs(num);i++) { if (text.length == i) break text[i] = text[i].toLowerCase() } if (num < 0) text = text.reverse().join('') else text = text.join('') return text } } webListen = function(port) { if (!port) { } app.listen(port); } webGet = function(param,file) { if(!param) { } if (!file) { } app.get(`${param}`, (request, response) => { return response.sendFile(`${file}`, { root: '.' }); }); } webUse = function(varbose = "") { if (typeof webUse.executed == 'undefined') { webUse.executed = true; app.use((req, res, next) => { varbose(req, res) next() }) } } webPath = function() { return this.path } locationByIp = function(ip) { return(lookup(ip)) } reverseWord = function(text) { if(!text) { } if(typeof(text) != "string") { } text = text.split(' ').reverse().join(' ') return text } reverseAll = function(text) { if(!text) { } if(typeof(text) != "string") { } text = text.split('').reverse().join('') return text } count = function(text, word) { if(!text) { const errorMessage = new SyntaxError("Not Text was found.\n count( )\n ^") errorMessage.name = "OPlus Error" throw errorMessage } if (text.constructor.name == "Object") { const errorMessage = new SyntaxError("Does not accept object type list\n count( )\n ^") errorMessage.name = "OPlus Error" throw errorMessage } if(text.constructor.name == "Array") { text = text.join(" ") } if(!word) { return text.length } else { text2 = text.replaceAll(word, "") text2 = text.length - text2.length return text2 / word.length }  } hashed = function(text, num = 0) { if(!text) { return (null) } if(num.constructor.name == "int") { const errorMessage = new SyntaxError("Please write the length in integers") throw errorMessage } return bcrypt.hashSync(text, num) } hashCompare = function(text, hash) { if(!text) { return (null) } if(!hash) { return (null) } return bcrypt.compareSync(text, hash) } cookieCreate = function(name, value) { app.use((req, res) => { res.cookie(name, value); }); } cookieDelete = function(name) { app.use((req, res) => { res.clearCookie(name) }) }  replaceTemplate = function(template, values) { return Object.keys(values).reduce((acc, cur) => acc.replace(`$${cur}`, values[cur]), template) } fileExists = function(fileName) { if (!fileName) return null return (fs.existsSync(fileName)) } fileCopy = function(fileName, newFileName) { if(!fileName) return null if(!newFileName) return null fs.copy(fileName, newFileName, err => { if (err) return console.error(err) }) } fileCopyFolder = function(directory, newDirectory) { if(!directory) return null if(!newDirectory) return null fs.copy(directory, newDirectory, err => { if (err) return console.error(err) console.send('Oplus - Copy System(folders) | Success! ') }) } fileRead = function(fileName){ try { const data = fss.readFileSync(fileName, 'utf8'); return data; } catch (err) { console.error(err); } } fileView = function(fileName){ if (!fileName) return undefine if (fileExists(!fileName)) return null //let file = fileName.split(".") var name = path.parse(fileName).name var type = path.extname(fileName) var text = fileRead(fileName) var word = text.split(" ").length var letter = text.replaceAll(" ", "").split("").length return (JSON.stringify({ Name: name, Type: type, Words: word, Letters: letter })) } fileRename = function(fileName, newFileName){ if(!newFileName) return null fs.stat(fileName, function(err, stat) { if (err == null) { fs.rename(fileName, newFileName) } else if (err.code === 'ENOENT') { return null } else { console.log('Oplus | Error: ', err.code); } }); } fileEditType = function(fileName, newExt) { fs.stat(fileName, function(err, stat) { if (err == null) { var pos = fileName.includes(".") ? fileName.lastIndexOf(".") : fileName.length var fileRoot = fileName.substr(0, pos) var output = `${fileRoot}.${newExt}` return output } else if (err.code === 'ENOENT') { console.send(null) } else { console.log('Oplus | Error: ', err.code); } }); } fileCreate = function(fileName){ const now = new Date(); fs.appendFile(fileName, "") } fileDelete = function(fileName){ fs.stat(fileName, function(err, stat) { if (err == null) { fs.unlink(fileName) } else if (err.code === 'ENOENT') { console.send(null) } else { console.log('Oplus | Error: ', err.code); } }); } fileChangeAdd = function(fileName, text){ fs.stat(fileName, function(err, stat) { if (err == null) { fs.appendFile(fileName, "\n" + text, function (err) { if (err) throw err; }); } else if (err.code === 'ENOENT') { console.send(null) } else { console.log('Oplus | Error: ', err.code); } }); } fileClear = function(fileName, line){ if(!fileName) return null fs.stat(fileName, function(err, stat) { if (err == null) { fs.truncate(fileName, 0, function(){console.send('Oplus | Cleared file ' + fileName + "!")}) } else if (err.code === 'ENOENT') { console.send(null) } else { console.log('Oplus | Error: ', err.code); } }); } countNumbers = function(text) { if (!text) return undefined let regex = /(\d+)/g let arr = text.match(regex) return arr ? arr.length : 0 } countCapitalLetters = function(text) { if (!text) return undefined let regex = /[A-Z]/g; let arr = text.match(regex); return arr ? arr.length : 0; } countLetters = function(text) { if (!text) return undefined let regex = /[A-Z]/g; let arr = text.match(regex); let v = arr ? arr.length : 0; regex = /[a-z]/g; arr = text.match(regex); return (v + arr ? arr.length : 0); }