samara
Version:
Basic TypeScript-Functions.
252 lines • 8.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.writeFile = exports.replaceUmlauts = exports.replaceAll = exports.removeTags = exports.removeTabs = exports.removeMultipleSpaces = exports.removeDoubleSpaces = exports.removeDoubleBreaks = exports.removeBreaksAndTabs = exports.removeBreaks = exports.removeAll = exports.readFile = exports.readDirectory = exports.isValidKey = exports.isNumeric = exports.isNull = exports.isFileExist = exports.getRequest = exports.getRandomIntPseudo = exports.getChancePerMill = exports.getChancePerCent = exports.fillString = exports.extractFromString = exports.cutFromString = exports.createPath = exports.capitalizeFirstLetter = exports.addBreak = exports.StringExtract = exports.SourceObject = exports.ObjectContainer = exports.JSONObject = exports.IndexedObject = void 0;
//Constants
const fs = require("fs");
const http = require("http");
const https = require("https");
//Exports
var IndexedObject_1 = require("./lib/IndexedObject");
Object.defineProperty(exports, "IndexedObject", { enumerable: true, get: function () { return IndexedObject_1.IndexedObject; } });
var JSONObject_1 = require("./lib/JSONObject");
Object.defineProperty(exports, "JSONObject", { enumerable: true, get: function () { return JSONObject_1.JSONObject; } });
var ObjectContainer_1 = require("./lib/ObjectContainer");
Object.defineProperty(exports, "ObjectContainer", { enumerable: true, get: function () { return ObjectContainer_1.ObjectContainer; } });
var SourceObject_1 = require("./lib/SourceObject");
Object.defineProperty(exports, "SourceObject", { enumerable: true, get: function () { return SourceObject_1.SourceObject; } });
//Classes
class StringExtract {
//Constructor
constructor(pre, ext, post) {
this.pre = pre;
this.ext = ext;
this.post = post;
}
}
exports.StringExtract = StringExtract;
//Functions
function addBreak(str, r) {
if (r) {
return str + "\r\n";
}
else {
return str + "\n";
}
}
exports.addBreak = addBreak;
function capitalizeFirstLetter(str) {
return str.charAt(0).toUpperCase() + str.slice(1);
}
exports.capitalizeFirstLetter = capitalizeFirstLetter;
function createPath(str) {
str = str.toLowerCase();
str = removeBreaksAndTabs(str);
str = removeDoubleSpaces(str);
str = replaceAll(str, " ", "_");
str = replaceUmlauts(str);
return str.trim();
}
exports.createPath = createPath;
function cutFromString(str, start, end) {
while (str.indexOf(start) > -1 && str.indexOf(end) > str.indexOf(start)) {
let begin = str.substring(0, str.indexOf(start));
let end2 = str.substring(str.indexOf(end) + end.length, str.length);
str = begin + end2;
}
return str;
}
exports.cutFromString = cutFromString;
function extractFromString(str, start, end) {
let ext;
if (str.indexOf(start) > -1 && str.indexOf(end) > str.indexOf(start)) {
let pre = str.substring(0, str.indexOf(start));
let post = str.substring(str.indexOf(end) + end.length, str.length);
let extraction = str.substring(str.indexOf(start), str.indexOf(end));
ext = new StringExtract(pre, extraction, post);
}
else {
ext = undefined;
}
return ext;
}
exports.extractFromString = extractFromString;
function fillString(str, length, char, left) {
while (str.length < length) {
if (left) {
str = char + str;
}
else {
str += char;
}
}
return str;
}
exports.fillString = fillString;
function getChancePerCent(chance) {
let random = getRandomIntPseudo(1, 100);
if (random <= chance) {
return true;
}
else {
return false;
}
}
exports.getChancePerCent = getChancePerCent;
function getChancePerMill(chance) {
let random = getRandomIntPseudo(1, 1000);
if (random <= chance) {
return true;
}
else {
return false;
}
}
exports.getChancePerMill = getChancePerMill;
function getRandomIntPseudo(min, max) {
if (max < min) {
let temp = min;
min = max;
max = temp;
}
max++;
let difference = max - min;
let random = Math.floor(Math.random() * difference);
random += min;
return random;
}
exports.getRandomIntPseudo = getRandomIntPseudo;
function getRequest(url, callback) {
let httpsMode = url.indexOf("https:") == 0;
let client = httpsMode ? https : http;
client.get(url, (res) => {
let data = '';
res.on('data', (d) => {
data += d;
});
res.on('end', () => {
callback(data);
});
}).on("error", (err) => {
callback(undefined);
});
}
exports.getRequest = getRequest;
function isFileExist(str) {
return fs.existsSync(str);
}
exports.isFileExist = isFileExist;
function isNull(str) {
if (str === null || str === undefined || str === "") {
return true;
}
else {
return false;
}
}
exports.isNull = isNull;
function isNumeric(str) {
let nr = Number(str);
if (nr === NaN) {
return false;
}
else {
return true;
}
}
exports.isNumeric = isNumeric;
function isValidKey(str) {
if (!isNull(str) && str.length === 1) {
return true;
}
return false;
}
exports.isValidKey = isValidKey;
function readDirectory(path) {
return fs.readdirSync(path);
}
exports.readDirectory = readDirectory;
function readFile(path) {
return fs.readFileSync(path).toString();
}
exports.readFile = readFile;
function removeAll(str, search) {
return replaceAll(str, search, "");
}
exports.removeAll = removeAll;
function removeBreaks(str) {
str = removeAll(str, "\r\n");
str = removeAll(str, "\n");
return str.trim();
}
exports.removeBreaks = removeBreaks;
function removeBreaksAndTabs(str) {
str = removeBreaks(str);
str = removeTabs(str);
return str.trim();
}
exports.removeBreaksAndTabs = removeBreaksAndTabs;
function removeDoubleBreaks(str) {
str = replaceAll(str, "\r\n\r\n", "\r\n");
return replaceAll(str, "\n\n", "\n");
}
exports.removeDoubleBreaks = removeDoubleBreaks;
function removeDoubleSpaces(str) {
return replaceAll(str, " ", " ");
}
exports.removeDoubleSpaces = removeDoubleSpaces;
function removeMultipleSpaces(str) {
let spaces = 128;
let replace;
while (spaces > 1) {
replace = fillString("", spaces, " ", false);
str = replaceAll(str, replace, " ");
if (spaces > 8) {
spaces = spaces / 2;
}
else {
spaces--;
}
}
return str;
}
exports.removeMultipleSpaces = removeMultipleSpaces;
function removeTabs(str) {
str = removeAll(str, "\t");
return str.trim();
}
exports.removeTabs = removeTabs;
function removeTags(str) {
while (str.indexOf("<") > -1 && str.indexOf(">") > str.indexOf("<")) {
let start = str.substring(0, str.indexOf("<"));
let end = str.substring(str.indexOf(">") + 1, str.length);
str = start + end;
}
return str;
}
exports.removeTags = removeTags;
function replaceAll(str, search, replace) {
while (str.indexOf(search) > -1) {
str = str.replace(search, replace);
}
return str;
}
exports.replaceAll = replaceAll;
function replaceUmlauts(str) {
str = replaceAll(str, "ä", "ae");
str = replaceAll(str, "ö", "oe");
str = replaceAll(str, "ü", "ue");
str = replaceAll(str, "Ä", "Ae");
str = replaceAll(str, "Ö", "Oe");
str = replaceAll(str, "Ü", "Ue");
return str;
}
exports.replaceUmlauts = replaceUmlauts;
function writeFile(path, content) {
fs.writeFile(path, content, err => {
if (err) {
console.error(err);
}
});
}
exports.writeFile = writeFile;
//# sourceMappingURL=index.js.map