diff --git a/scratch.js b/scratch.js deleted file mode 100644 index d944b99..0000000 --- a/scratch.js +++ /dev/null @@ -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; -} \ No newline at end of file