UNPKG

liquid-data-handler

Version:

Transform plate layouts according to liquid handling instructions

29 lines 1.13 kB
"use strict"; 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