Remove 'scratch.js' file
This commit is contained in:
parent
6e1a3faff2
commit
be8b1ef272
71
scratch.js
71
scratch.js
|
|
@ -1,71 +0,0 @@
|
||||||
/*
|
|
||||||
function getFirstCodeLine(lines) {
|
|
||||||
function isCode(line) {
|
|
||||||
line = stripComments(stripWhitespaceFromEnds(line));
|
|
||||||
if (line.length === 0) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
};
|
|
||||||
|
|
||||||
let isLineCode
|
|
||||||
|
|
||||||
lines = lines.filter(isCode);
|
|
||||||
if (lines.length > 0) {
|
|
||||||
return lines[0];
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param {string} source;
|
|
||||||
**/
|
|
||||||
// * @returns {{number: number, source: string, type: 'code'|'comment'|'blank'}}
|
|
||||||
// TODO: https://stackoverflow.com/questions/32295263/how-to-document-an-array-of-objects-in-jsdoc
|
|
||||||
function splitCodeFromComments(source) {
|
|
||||||
let lines = source.split(/\n/); // returns an array of lines
|
|
||||||
|
|
||||||
const isLineBlank = (l) => { return l.length === 0 ? true : false };
|
|
||||||
const isLineComment = (l) => { return stripWhitespaceFromEnds(l).startsWith(';') };
|
|
||||||
const getLineType = (l) => {
|
|
||||||
console.log('get type for ', l);
|
|
||||||
if (isLineBlank(l)) return 'blank';
|
|
||||||
if (isLineComment(l)) return 'comment';
|
|
||||||
return 'code';
|
|
||||||
}
|
|
||||||
|
|
||||||
return lines.map((line, index) => {
|
|
||||||
return {
|
|
||||||
number: index,
|
|
||||||
source: line,
|
|
||||||
type: getLineType(line)
|
|
||||||
};
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log(splitCodeFromComments('foo \n\n; bar'));
|
|
||||||
|
|
||||||
|
|
||||||
const logArrayElements = (element, index /*, array */) => {
|
|
||||||
console.log(`a[${index}] = ${element}`);
|
|
||||||
return index;
|
|
||||||
};
|
|
||||||
|
|
||||||
// Notice that index 2 is skipped, since there is no item at
|
|
||||||
// that position in the array.
|
|
||||||
console.log([2, 5, , 9].map(logArrayElements));
|
|
||||||
|
|
||||||
const l = ['', '', '; foo', 'bar'];
|
|
||||||
|
|
||||||
// console.log(getFirstCodeLine(l));
|
|
||||||
|
|
||||||
function stripComments(line) {
|
|
||||||
return line.replace(/;.+/,"");
|
|
||||||
}
|
|
||||||
|
|
||||||
function stripWhitespaceFromEnds(line) {
|
|
||||||
line = line.replace(/^\s+/,"");
|
|
||||||
line = line.replace(/\s+$/,"");
|
|
||||||
return line;
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue