JSFiddle - React, Tailwind, and code Playground
by jeffersonswartz
JavaScript
var fs = require('fs'),
path = require('path'),
filePath = path.join(__dirname, 'test.txt'),
builder = require('xmlbuilder'),
fileContent;
String.prototype.extract = function (prefix, suffix) {
s = this;
var i = s.indexOf(prefix);
if (i >= 0) {
s = s.substring(i + prefix.length);
} else {
return '';
}
if (suffix) {
i = s.indexOf(suffix);
if (i >= 0) {
s = s.substring(0, i);
} else {
return '';
}
}
return s;
};
fs.readFile(filePath, {
encoding: 'utf-8'
}, function (err, data) {
if (!err) {
fileContent = data;
//console.log('received data: ' + fileContent);
getData(fileContent);
} else {
console.log(err);
}
});
var getData = function (data) {
var dataArray = data.replace(/\s+$/gm, "").split('*}');
var setterArray = {},
getterArray = {};
dataArray.forEach((text, index) => {
var str = text.extract('/* ');
if (index < 30) console.log(str + '\n\n\n\n');
var preCode = str.extract('<code>', '</code>').trim(),code = preCode.split('; ')[1] ? preCode.split('; ')[1] : preCode.split('; ')[0]
componentName = code.indexOf('_1') > -1 ? code.split('_')[0] : null,
methodName = str.extract('*/', '(').trim().split(' ')[1],
internalParams = str.split('>*/')[1] ? str.split('>*/')[1].extract(" " + methodName + '(', '){*').trim() : str.split('>*/')[0].extract(" " + methodName + '(', '){*').trim(),
returnType = str.extract('*/', methodName).trim(),
paramList = internalParams.split(','),
paramArray = [];
paramList.forEach(param => {
var tempParam = param.split('*/')[1] ? param.split('*/')[1] : param.split('*/')[0];
var tempPairs = tempParam.trim() ? tempParam.trim().split(' ') : null;
if (tempPairs) {
paramArray.push({
...