@bash_candy/candy-js
Version:
Web Development for Dummies
161 lines (152 loc) • 5.96 kB
JavaScript
function processScript(script){
let commands = script.split(";");
for(let command in commands){
console.log(command);
}
}
module.exports = {
processScript: function (script){
const functions = require('./functions.js');
const commands = script.split(";");
for(const i in commands){
const command = commands[i].trim();
if(/init/.test(command)){
functions.init();
}
else if(/default-theme as .+/.test(command)){
const theme = command.split(' as ')[1].trim();
functions.defaulttheme(theme);
}
else if(/create-box with (id=.+ and theme=.+|theme=.+ and id=.+)/.test(command)){
const parameters = command.split(" with ")[1].split(" and ");
if(parameters[0].startsWith('id')){
const id = parameters[0].split('=')[1];
const theme = parameters[1].split('=')[1];
functions.createboxScript(id,theme);
}else{
const id = parameters[1].split('=')[1];
const theme = parameters[0].split('=')[1];
functions.createboxScript(id,theme);
}
}
else if(/create-text with (id=.+ and text=.+|text=.+ and id=.+)/.test(command)){
const parameters = command.split(" with ")[1].split(" and ");
if(parameters[0].startsWith('id')){
const id = parameters[0].split('=')[1];
const text = parameters[1].split('=')[1];
functions.createtextScript(id,text);
}else{
const id = parameters[1].split('=')[1];
const text = parameters[0].split('=')[1];
functions.createtextScript(id,text);
}
}
else if(/create-text-box with (id=.+ and text=.+|text=.+ and id=.+)/.test(command)){
const parameters = command.split(" with ")[1].split(" and ");
if(parameters[0].startsWith('id')){
const id = parameters[0].split('=')[1];
const text = parameters[1].split('=')[1];
functions.createinputScript(id,text);
}else{
const id = parameters[1].split('=')[1];
const text = parameters[0].split('=')[1];
functions.createinputScript(id,text);
}
}
else if(/create-button with (id=.+ and text=.+|text=.+ and id=.+).*/.test(command)){
let id;
let text;
let action;
let txt1;
let txt2;
const parameters = command.split(" with ")[1].split(" and ");
for(let i in parameters){
if(parameters[i].startsWith('id')){
id = parameters[i].split('=')[1];
}
if(parameters[i].startsWith('text')){
text = parameters[i].split('=')[1];
}
if(parameters[i].startsWith('action')){
action = parameters[i].split('=')[1];
}
if(parameters[i].startsWith('txt1')){
txt1 = parameters[i].split('=')[1];
}
if(parameters[i].startsWith('txt2')){
txt2 = parameters[i].split('=')[1];
}
}
if(action){
functions.createbuttonScriptAction(id, text, action, txt1, txt2);
}else{
functions.createbuttonScript(id, text);
}
}
else if(/create-image with (id=.+ and image-name=.+|image-name=.+ and id=.+)/.test(command)){
const parameters = command.split(" with ")[1].split(" and ");
if(parameters[0].startsWith('id')){
const id = parameters[0].split('=')[1];
const path = parameters[1].split('=')[1];
functions.createimageScript(id,path);
}else{
const id = parameters[1].split('=')[1];
const path = parameters[0].split('=')[1];
functions.createimageScript(id,path);
}
}
else if(/create-navbar with (id=.+ and theme=.+|theme=.+ and id=.+)/.test(command)){
const parameters = command.split(" with ")[1].split(" and ");
if(parameters[0].startsWith('id')){
const id = parameters[0].split('=')[1];
const theme = parameters[1].split('=')[1];
functions.createnavbarScript(id,theme);
}else{
const id = parameters[1].split('=')[1];
const theme = parameters[0].split('=')[1];
functions.createnavbarScript(id,theme);
}
}
else if(/create-navitem with (id=.+ and text=.+ and link=.+|id=.+ and link=.+ and text=.+|link=.+ and id=.+ and text=.+|link=.+ and text=.+ and id=.+|text=.+ and id=.+ and link=.+|text=.+ and link=.+ and id=.+)/.test(command)){
let id;
let text;
let href;
const parameters = command.split(" with ")[1].split(" and ");
if(parameters[0].startsWith('id')){
id = parameters[0].split('=')[1];
}else if(parameters[0].startsWith('text')){
text = parameters[0].split('=')[1];
}else{
href = parameters[0].split('=')[1];
}
if(parameters[1].startsWith('id')){
id = parameters[1].split('=')[1];
}else if(parameters[1].startsWith('text')){
text = parameters[1].split('=')[1];
}else{
href = parameters[1].split('=')[1];
}
if(parameters[2].startsWith('id')){
id = parameters[2].split('=')[1];
}else if(parameters[2].startsWith('text')){
text = parameters[2].split('=')[1];
}else{
href = parameters[2].split('=')[1];
}
functions.createnavitemScript(id,text,href);
}
else if(/use .+/.test(command)){
functions.use(command.split(' ')[1]);
}
else if(/print-tree/.test(command)){
functions.printTree();
}
else if(/root/.test(command)){
functions.root();
}
else if(/build/.test(command)){
functions.build();
}
}
}
}