Select Git revision
helper.ts 1.74 KiB
const CryptoJS = require("crypto-js");
export function makeid(length:number) {
let result = '';
let characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
let charactersLength = characters.length;
for ( let i = 0; i < length; i++ ) {
result += characters.charAt(getRandomInt(charactersLength));
}
return result;
}
export function IsJsonString(str:string) {
try {
JSON.parse(str);
} catch (e) {
return false;
}
return true;
}
export function convert3dToString(array:number[][]){
let tempArr:string[] = [];
for(let i:number = 0; i < array.length; i++){
tempArr.push(array[i].join(";"));
}
return tempArr.join("#");
}
export function convertStringTo3D(text:string){
let tempArr:number[][] = [];
let snakeElements:string[] = text.split("#");
snakeElements.forEach((element:string) => {
let temp:number[] = [];
let elementArray:string[] = element.split(";");
elementArray.forEach((element:string) => {
temp.push(parseInt(element));
});
tempArr.push(temp);
});
return tempArr
}
export function getRandomInt(max:number) {
return Math.floor(Math.random() * Math.floor(max)) + 1;
}
export function encodeMessage(message:string, encryptionKey: string){
return CryptoJS.AES.encrypt(message, encryptionKey).toString();
}
export function decodeMessage(message:string, encryptionKey: string){
try {
console.log('Encryption key: ' + encryptionKey);
return CryptoJS.AES.decrypt(message, encryptionKey).toString(CryptoJS.enc.Utf8);
} catch (Exception){
console.log("failed to decode message");
console.log(Exception);
return ""
}
}