UNPKG

@tableau/taco-toolkit

Version:
87 lines 5.66 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createDataRows = exports.parse = exports.CsvUtilsPlugin = void 0; var papaparse_1 = __importDefault(require("papaparse")); var sandbox_plugin_1 = require("../sandbox-plugin"); var parse_utils_1 = require("../../../utils/parse-utils"); var CsvUtilsPlugin = /** @class */ (function (_super) { __extends(CsvUtilsPlugin, _super); function CsvUtilsPlugin() { return _super !== null && _super.apply(this, arguments) || this; } CsvUtilsPlugin.prototype.registerClass = function (sandbox) { var methods = [ { isStatic: true, externalName: 'parse', functionRef: parse, }, { isStatic: true, externalName: 'createDataRows', functionRef: createDataRows, }, ]; (0, sandbox_plugin_1.addClassToSandbox)(sandbox, methods, 'CsvUtils'); }; return CsvUtilsPlugin; }(sandbox_plugin_1.SandboxPlugin)); exports.CsvUtilsPlugin = CsvUtilsPlugin; function parse(rawData, options) { return new Promise(function (resolve, _reject) { console.log('>CsvUtils.parse'); var data; if (ArrayBuffer.isView(rawData)) { data = new TextDecoder('utf-8').decode(rawData); } else { data = rawData; } // TODO: figure out why don't we just use the header flag? var papaResult = papaparse_1.default.parse(data, { header: false }); var rows; var headers; if (options.hasHeader) { headers = papaResult.data[0]; rows = papaResult.data.slice(1); } else { rows = papaResult.data; } console.log("<CsvUtils.parse returning ".concat(rows.length, " rows.")); resolve({ rows: rows, headers: headers }); }); } exports.parse = parse; function createDataRows(rows, columnNames) { return new Promise(function (resolve, reject) { try { var dataRows = (0, parse_utils_1.composeDataRows)(rows, columnNames); resolve(dataRows); } catch (e) { e.message = "Failed to create DataRows. Caused by: ".concat(e.message); reject(e); } }); } exports.createDataRows = createDataRows; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2LXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Vwcy9zYW5kYm94L3Nkay9wYXJzZXItdXRpbHMvY3N2LXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdEQUE0QjtBQUc1QixvREFBZ0Y7QUFDaEYsMERBQTREO0FBRzVEO0lBQW9DLGtDQUFhO0lBQWpEOztJQWlCQSxDQUFDO0lBaEJDLHNDQUFhLEdBQWIsVUFBYyxPQUFrQjtRQUM5QixJQUFNLE9BQU8sR0FBaUI7WUFDNUI7Z0JBQ0UsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsWUFBWSxFQUFFLE9BQU87Z0JBQ3JCLFdBQVcsRUFBRSxLQUFLO2FBQ25CO1lBQ0Q7Z0JBQ0UsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsWUFBWSxFQUFFLGdCQUFnQjtnQkFDOUIsV0FBVyxFQUFFLGNBQWM7YUFDNUI7U0FDRixDQUFBO1FBRUQsSUFBQSxrQ0FBaUIsRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFBO0lBQ2pELENBQUM7SUFDSCxxQkFBQztBQUFELENBQUMsQUFqQkQsQ0FBb0MsOEJBQWEsR0FpQmhEO0FBakJZLHdDQUFjO0FBbUIzQixTQUFnQixLQUFLLENBQ25CLE9BQTZCLEVBQzdCLE9BQStCO0lBRS9CLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsT0FBTztRQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFFOUIsSUFBSSxJQUFJLENBQUE7UUFDUixJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxHQUFHLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtTQUNoRDthQUFNO1lBQ0wsSUFBSSxHQUFHLE9BQU8sQ0FBQTtTQUNmO1FBRUQsMERBQTBEO1FBQzFELElBQU0sVUFBVSxHQUFHLG1CQUFJLENBQUMsS0FBSyxDQUFXLElBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO1FBRTFFLElBQUksSUFBZ0IsQ0FBQTtRQUNwQixJQUFJLE9BQTZCLENBQUE7UUFDakMsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3JCLE9BQU8sR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQzVCLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUNoQzthQUFNO1lBQ0wsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUE7U0FDdkI7UUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLG9DQUE2QixJQUFJLENBQUMsTUFBTSxXQUFRLENBQUMsQ0FBQTtRQUM3RCxPQUFPLENBQUMsRUFBRSxJQUFJLE1BQUEsRUFBRSxPQUFPLFNBQUEsRUFBRSxDQUFDLENBQUE7SUFDNUIsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDO0FBN0JELHNCQTZCQztBQUVELFNBQWdCLGNBQWMsQ0FBQyxJQUFnQixFQUFFLFdBQXFCO0lBQ3BFLE9BQU8sSUFBSSxPQUFPLENBQVksVUFBQyxPQUFPLEVBQUUsTUFBTTtRQUM1QyxJQUFJO1lBQ0YsSUFBTSxRQUFRLEdBQUcsSUFBQSw2QkFBZSxFQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQTtZQUNuRCxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7U0FDbEI7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLENBQUMsQ0FBQyxPQUFPLEdBQUcsZ0RBQXlDLENBQUMsQ0FBQyxPQUFPLENBQUUsQ0FBQTtZQUNoRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7U0FDVjtJQUNILENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQVZELHdDQVVDIn0=