From c8cdd4b998b43a1e68d64d2367308458c7b77b7d Mon Sep 17 00:00:00 2001 From: markdreyer Date: Wed, 30 Jan 2019 18:57:01 -0600 Subject: [PATCH] Add tests for ParseConfig.dynamicTyping --- types/papaparse/papaparse-tests.ts | 58 ++++++++++++++++++------------ 1 file changed, 35 insertions(+), 23 deletions(-) diff --git a/types/papaparse/papaparse-tests.ts b/types/papaparse/papaparse-tests.ts index 50929ff512..a22ea5b14d 100644 --- a/types/papaparse/papaparse-tests.ts +++ b/types/papaparse/papaparse-tests.ts @@ -2,12 +2,12 @@ import Papa = require("papaparse"); import { - ParseConfig, - UnparseConfig, - UnparseObject, - ParseError, - ParseMeta, - ParseResult + ParseConfig, + UnparseConfig, + UnparseObject, + ParseError, + ParseMeta, + ParseResult } from "papaparse"; import { Readable } from "stream"; @@ -19,14 +19,26 @@ var res = Papa.parse("3,3,3"); res.errors[0].code; Papa.parse("3,3,3", { - delimiter: ';', - comments: false, + delimiter: ';', + comments: false, trimHeaders: false, + step: function (results, p) { + p.abort(); + results.data.length; + }, + dynamicTyping: true +}); - step: function (results, p) { - p.abort(); - results.data.length; - } +Papa.parse("3,3,3", { + dynamicTyping: (field: string | number): boolean => /headerName/i.test(field.toString()) +}); + +Papa.parse("3,3,3", { + dynamicTyping: {'headerName': true} +}); + +Papa.parse("3,3,3", { + dynamicTyping: {5: true} }); var file = new File(null, null, null); @@ -35,20 +47,20 @@ Papa.parse(file, { transform: function(value, field) { }, - complete: function (a, b) { - a.meta.fields; - b.name; - } + complete: function (a, b) { + a.meta.fields; + b.name; + } }); const readable = new Readable() const rows = [ - "1,2,3", - "4,5,6" + "1,2,3", + "4,5,6" ] rows.forEach(r => { - readable.push(r); + readable.push(r); }); const papaStream: NodeJS.ReadWriteStream = Papa.parse(Papa.NODE_STREAM_INPUT); @@ -61,16 +73,16 @@ readable.pipe(papaStream); Papa.unparse([{ a: 1, b: 1, c: 1 }]); Papa.unparse([[1, 2, 3], [4, 5, 6]]); Papa.unparse({ - fields: ["3"], - data: [] + fields: ["3"], + data: [] }); Papa.unparse([{ a: 1, b: 1, c: 1 }], { quotes: false }); Papa.unparse([{ a: 1, b: 1, c: 1 }], { quotes: [false, true, true] }); Papa.unparse([[1, 2, 3], [4, 5, 6]], { delimiter: "," }); Papa.unparse({ - fields: ["3"], - data: [] + fields: ["3"], + data: [] }, { newline: "\n" });