add Base64 handling

This commit is contained in:
2016-11-01 00:22:38 +01:00
parent 68d0124c24
commit 3858127968
27 changed files with 515 additions and 362 deletions

View File

@ -1,64 +1,64 @@
import * as plugins from "./smartstring.plugins";
import * as plugins from './smartstring.plugins'
let splitString = (stringArg:string):string[] => {
let resultArray = stringArg.split("\n");
return cleanStringArray(resultArray);
let splitString = (stringArg: string): string[] => {
let resultArray = stringArg.split('\n')
return cleanStringArray(resultArray)
};
let joinString = (stringArrayArg:string[]):string => {
let resultString:string = "";
for(let line of stringArrayArg){
resultString = resultString + line + "\n";
};
return resultString;
};
let cleanStringArray = (stringArrayArg:string[]):string[] => {
let testRegex = /^[\s]*$/;
if(testRegex.test(stringArrayArg[0])){
stringArrayArg.shift();
let joinString = (stringArrayArg: string[]): string => {
let resultString: string = ''
for (let line of stringArrayArg){
resultString = resultString + line + '\n'
}
if(testRegex.test(stringArrayArg[stringArrayArg.length - 1])){
stringArrayArg.pop();
};
return stringArrayArg;
return resultString
}
export let indent = (stringArg:string,spaceAmount:number):string => {
let resultString:string;
return resultString;
};
export let indentWithPrefix = (stringArg:string,prefixArg:string):string => {
let resultString:string;
let stringArray = splitString(stringArg);
let resultArray:string[] = [];
for(let stringItem of stringArray){
resultArray.push(prefixArg + stringItem);
let cleanStringArray = (stringArrayArg: string[]): string[] => {
let testRegex = /^[\s]*$/
if (testRegex.test(stringArrayArg[0])) {
stringArrayArg.shift()
}
if (testRegex.test(stringArrayArg[stringArrayArg.length - 1])) {
stringArrayArg.pop()
};
resultString = joinString(resultArray);
return resultString;
};
return stringArrayArg
}
export let normalize = (stringArg:string):string => {
let resultString:string;
let splitStringArray:string[] = splitString(stringArg);
let minCommonLeftOffset:number;
let deIndentRegex = /^(\s*)/;
export let indent = (stringArg: string, spaceAmount: number): string => {
let resultString: string
return resultString
}
export let indentWithPrefix = (stringArg: string,prefixArg: string): string => {
let resultString: string
let stringArray = splitString(stringArg)
let resultArray: string[] = []
for (let stringItem of stringArray){
resultArray.push(prefixArg + stringItem)
};
resultString = joinString(resultArray)
return resultString
}
export let normalize = (stringArg: string): string => {
let resultString: string
let splitStringArray: string[] = splitString(stringArg)
let minCommonLeftOffset: number
let deIndentRegex = /^(\s*)/
let emptyLineRegex = /^(\s*)$/
for(let stringItem of splitStringArray){
let offsetString = deIndentRegex.exec(stringItem)[1];
for (let stringItem of splitStringArray){
let offsetString = deIndentRegex.exec(stringItem)[1]
if (
(typeof minCommonLeftOffset == "undefined" || offsetString.length < minCommonLeftOffset)
(typeof minCommonLeftOffset === 'undefined' || offsetString.length < minCommonLeftOffset)
&& !emptyLineRegex.test(stringItem)
){
minCommonLeftOffset = offsetString.length;
};
) {
minCommonLeftOffset = offsetString.length
}
};
let resultSplitStringArray = [];
for(let stringItem of splitStringArray){
resultSplitStringArray.push(stringItem.substr(minCommonLeftOffset));
let resultSplitStringArray = []
for (let stringItem of splitStringArray) {
resultSplitStringArray.push(stringItem.substr(minCommonLeftOffset))
};
resultString = joinString(resultSplitStringArray);
return resultString;
resultString = joinString(resultSplitStringArray)
return resultString
}