kokopu
Version:
A JavaScript/TypeScript library implementing the chess game rules and providing tools to read/write the standard chess file formats.
48 lines (39 loc) • 2.23 kB
JavaScript
/*!
* -------------------------------------------------------------------------- *
* *
* Kokopu - A JavaScript/TypeScript chess library. *
* <https://www.npmjs.com/package/kokopu> *
* Copyright (C) 2018-2026 Yoann Le Montagner <yo35 -at- melix.net> *
* *
* Kokopu is free software: you can redistribute it and/or *
* modify it under the terms of the GNU Lesser General Public License *
* as published by the Free Software Foundation, either version 3 of *
* the License, or (at your option) any later version. *
* *
* Kokopu is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General *
* Public License along with this program. If not, see *
* <http://www.gnu.org/licenses/>. *
* *
* -------------------------------------------------------------------------- */
const fs = require('fs');
/**
* Read a CSV file and process it line by line.
*/
module.exports = function (filename, parser) {
const result = [];
const lines = fs.readFileSync('./test/resources/' + filename, 'utf8').split('\n');
for (let index = 0; index < lines.length; ++index) {
// Skip header and empty lines.
if (index === 0 || lines[index] === '') {
continue;
}
const fields = lines[index].split('\t');
result.push(parser(fields));
}
return result;
};