liquid-data-handler
Version:
Transform plate layouts according to liquid handling instructions
29 lines • 1.13 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const instructionsText_1 = __importDefault(require("./instructionsText"));
const lodash_1 = __importDefault(require("lodash"));
let csvLines = instructionsText_1.default
.split(/\r\n?|\n/)
.filter((d) => d !== "" && !d.match(/^\s*#/) && !d.match(/^\t*#/));
let firstLine = csvLines.shift();
let instructionsArray = [];
if (firstLine) {
let headers = firstLine.split(",").map((header) => header.trim());
let csvData = csvLines.map((inst) => inst.split(",").map((value) => value.trim()));
let newRow = {};
csvData.forEach((row) => {
newRow = lodash_1.default.zip(headers, row);
newRow = Object.fromEntries(newRow);
if (newRow && Object.keys(newRow).length > 1) {
instructionsArray.push(newRow);
}
});
}
else {
throw Error("error importing instruction file");
}
exports.default = instructionsArray;
//# sourceMappingURL=instructions.js.map