forked from CodewarsClone/Codewars
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathKataParser.js
More file actions
119 lines (94 loc) · 2.7 KB
/
Copy pathKataParser.js
File metadata and controls
119 lines (94 loc) · 2.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
/**
* Created by Joshua Baert on 12/22/2016.
*/
const _ = {
cleanStr(str) {
str = str.replace(/\n\s*\./g, `.`)
.replace(/\n/g, ` `)
.replace(/\s+/g, ` `);
return str
},
cleanSQL(str) {
str = this.cleanStr(str);
str = str.replace(/"/gi, `'`)
.replace(/'/gi, `''`);
return str
},
cleanDesc(str) {
str = str.replace(/\n/g, '\\n')
.replace(/'/gi, `''`);
return str
},
testObjectify(arr) {
let rtn = [];
arr.forEach((ele, i) => {
let temp = {
test: this.cleanSQL(ele)
};
rtn.push(temp);
});
return JSON.stringify(rtn)
},
JSON(obj) {
return JSON.stringify(obj)
},
cleanExample(str) {
str = str.replace(/\n\s*\./g, `.`)
.replace(/\n/g, ` \\n`)
.replace(/"/gi, `'`)
.replace(/'/gi, `''`);
return JSON.stringify([
{test: str}
]).replace(/\\\\n/g, `\\n`)
},
};
// Paste the languages into the array
let languages = [
``,
];
// Paste the tags into the array
let tags = [
``,
];
// Paste the Test Suite here
let tests = [
`Test.assertEquals(disemvowel("This website is for losers LOL!"),"Ths wbst s fr lsrs LL!");
Test.assertEquals(disemvowel("What are you, a communist?"),"Wht r y, cmmnst?");
Test.assertEquals(disemvowel( "No offense but,Your writing is among the worst I've ever read"),"N ffns bt,Yr wrtng s mng th wrst 'v vr rd");`,
'No offense but,Your writing is among the worst I\'ve ever readN ffns bt,Yr wrtng s mng th wrst \'v vr rd'
];
// Paste the example script here
let examples =
``;
// Introduction to the Kata Here
let description =
``;
// Paste the starting script here
let startScript = ``;
// Paste your winning script here
let winScript = `
`;
// Past a solution here and it will corrently parse it into the console for you
let solution = `
`;
// When this js file is ran you will get an output in your console of all the info in a format
// ready to go into the Sql DB Start files to then copy into those tables
console.log('Solution');
console.log(_.cleanSQL(solution));
console.log('\nTags');
console.log(_.JSON(tags));
console.log('\nLanguages');
console.log(_.JSON(languages));
console.log('\nWinning Script');
console.log(_.cleanStr(winScript));
console.log('\n\nStarter');
console.log(_.cleanStr(startScript));
console.log('\nDescription');
console.log(_.cleanDesc(description));
console.log('\n\n\nExampes');
console.log(_.cleanExample(examples));
console.log('\nTests');
console.log(_.testObjectify(tests));
Test.assertEquals(disemvowel("This website is for losers LOL!"),"Ths wbst s fr lsrs LL!");
Test.assertEquals(disemvowel("What are you, a communist?"),"Wht r y, cmmnst?");
Test.assertEquals(disemvowel( "No offense but,Your writing is among the worst I\\'ve ever read"),"N ffns bt,Yr wrtng s mng th wrst \\'v vr rd");