@loaders.gl/csv 4.3.1 → 4.4.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/csv-arrow-loader.d.ts +37 -0
- package/dist/csv-arrow-loader.d.ts.map +1 -0
- package/dist/csv-arrow-loader.js +23 -0
- package/dist/csv-format.d.ts +10 -0
- package/dist/csv-format.d.ts.map +1 -0
- package/dist/csv-format.js +12 -0
- package/dist/csv-loader.d.ts +6 -6
- package/dist/csv-loader.d.ts.map +1 -1
- package/dist/csv-loader.js +53 -20
- package/dist/csv-writer.d.ts +6 -5
- package/dist/csv-writer.d.ts.map +1 -1
- package/dist/csv-writer.js +2 -5
- package/dist/dist.dev.js +13318 -449
- package/dist/dist.min.js +23 -20
- package/dist/index.cjs +317 -262
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/lib/encoders/encode-csv.d.ts +1 -1
- package/dist/lib/encoders/encode-csv.d.ts.map +1 -1
- package/dist/lib/encoders/encode-csv.js +1 -1
- package/dist/papaparse/async-iterator-streamer.d.ts +1 -21
- package/dist/papaparse/async-iterator-streamer.d.ts.map +1 -1
- package/dist/papaparse/async-iterator-streamer.js +6 -6
- package/dist/papaparse/papa-constants.d.ts +12 -0
- package/dist/papaparse/papa-constants.d.ts.map +1 -0
- package/dist/papaparse/papa-constants.js +19 -0
- package/dist/papaparse/papa-parser.d.ts +110 -0
- package/dist/papaparse/papa-parser.d.ts.map +1 -0
- package/dist/papaparse/papa-parser.js +733 -0
- package/dist/papaparse/papa-writer.d.ts +22 -0
- package/dist/papaparse/papa-writer.d.ts.map +1 -0
- package/dist/papaparse/papa-writer.js +166 -0
- package/dist/papaparse/papaparse.d.ts +9 -113
- package/dist/papaparse/papaparse.d.ts.map +1 -1
- package/dist/papaparse/papaparse.js +13 -882
- package/package.json +5 -5
- package/src/csv-arrow-loader.ts +41 -0
- package/src/csv-format.ts +15 -0
- package/src/csv-loader.ts +58 -25
- package/src/csv-writer.ts +2 -5
- package/src/index.ts +3 -0
- package/src/lib/encoders/encode-csv.ts +2 -1
- package/src/papaparse/async-iterator-streamer.ts +6 -6
- package/src/papaparse/papa-constants.ts +23 -0
- package/src/papaparse/papa-parser.ts +872 -0
- package/src/papaparse/papa-writer.ts +219 -0
- package/src/papaparse/papaparse.ts +17 -1048
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { LoaderOptions } from '@loaders.gl/loader-utils';
|
|
2
|
+
import type { ArrowTable, ArrowTableBatch } from '@loaders.gl/schema';
|
|
3
|
+
import type { CSVLoaderOptions } from "./csv-loader.js";
|
|
4
|
+
export type CSVArrowLoaderOptions = LoaderOptions & {
|
|
5
|
+
csv?: Omit<CSVLoaderOptions['csv'], 'shape'>;
|
|
6
|
+
};
|
|
7
|
+
export declare const CSVArrowLoader: {
|
|
8
|
+
readonly dataType: ArrowTable;
|
|
9
|
+
readonly batchType: ArrowTableBatch;
|
|
10
|
+
readonly parse: (arrayBuffer: ArrayBuffer, options?: CSVLoaderOptions) => Promise<ArrowTable>;
|
|
11
|
+
readonly parseText: (text: string, options?: CSVLoaderOptions) => Promise<ArrowTable>;
|
|
12
|
+
readonly parseInBatches: typeof parseCSVToArrowBatches;
|
|
13
|
+
readonly version: any;
|
|
14
|
+
readonly options: {
|
|
15
|
+
readonly csv: {
|
|
16
|
+
readonly shape: "object-row-table";
|
|
17
|
+
readonly optimizeMemoryUsage: false;
|
|
18
|
+
readonly header: "auto";
|
|
19
|
+
readonly columnPrefix: "column";
|
|
20
|
+
readonly quoteChar: "\"";
|
|
21
|
+
readonly escapeChar: "\"";
|
|
22
|
+
readonly dynamicTyping: true;
|
|
23
|
+
readonly comments: false;
|
|
24
|
+
readonly skipEmptyLines: true;
|
|
25
|
+
readonly delimitersToGuess: [",", "\t", "|", ";"];
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
readonly id: "csv";
|
|
29
|
+
readonly module: "csv";
|
|
30
|
+
readonly name: "CSV";
|
|
31
|
+
readonly extensions: ["csv", "tsv", "dsv"];
|
|
32
|
+
readonly mimeTypes: ["text/csv", "text/tab-separated-values", "text/dsv"];
|
|
33
|
+
readonly category: "table";
|
|
34
|
+
};
|
|
35
|
+
declare function parseCSVToArrowBatches(asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>, options?: CSVArrowLoaderOptions): AsyncIterable<ArrowTableBatch>;
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=csv-arrow-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csv-arrow-loader.d.ts","sourceRoot":"","sources":["../src/csv-arrow-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmB,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EAAC,UAAU,EAAE,eAAe,EAAC,MAAM,oBAAoB,CAAC;AAGpE,OAAO,KAAK,EAAC,gBAAgB,EAAC,wBAAqB;AAGnD,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG;IAClD,GAAG,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;CAC9C,CAAC;AAEF,eAAO,MAAM,cAAc;uBAGI,UAAU;wBACT,eAAe;kCAElB,WAAW,YAAY,gBAAgB;+BAEhD,MAAM,YAAY,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;CAEmC,CAAC;AAS1F,iBAAS,sBAAsB,CAC7B,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,EACjE,OAAO,CAAC,EAAE,qBAAqB,GAC9B,aAAa,CAAC,eAAe,CAAC,CAGhC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { convertTable, convertBatches } from '@loaders.gl/schema-utils';
|
|
5
|
+
import { CSVLoader } from "./csv-loader.js";
|
|
6
|
+
export const CSVArrowLoader = {
|
|
7
|
+
...CSVLoader,
|
|
8
|
+
dataType: null,
|
|
9
|
+
batchType: null,
|
|
10
|
+
parse: async (arrayBuffer, options) => parseCSVToArrow(new TextDecoder().decode(arrayBuffer), options),
|
|
11
|
+
parseText: (text, options) => parseCSVToArrow(text, options),
|
|
12
|
+
parseInBatches: parseCSVToArrowBatches
|
|
13
|
+
};
|
|
14
|
+
async function parseCSVToArrow(csvText, options) {
|
|
15
|
+
// Apps can call the parse method directly, we so apply default options here
|
|
16
|
+
// const csvOptions = {...CSVArrowLoader.options.csv, ...options?.csv};
|
|
17
|
+
const table = await CSVLoader.parseText(csvText, options);
|
|
18
|
+
return convertTable(table, 'arrow-table');
|
|
19
|
+
}
|
|
20
|
+
function parseCSVToArrowBatches(asyncIterator, options) {
|
|
21
|
+
const tableIterator = CSVLoader.parseInBatches(asyncIterator, options);
|
|
22
|
+
return convertBatches(tableIterator, 'arrow-table');
|
|
23
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Comma-Separated Values */
|
|
2
|
+
export declare const CSVFormat: {
|
|
3
|
+
readonly id: "csv";
|
|
4
|
+
readonly module: "csv";
|
|
5
|
+
readonly name: "CSV";
|
|
6
|
+
readonly extensions: ["csv", "tsv", "dsv"];
|
|
7
|
+
readonly mimeTypes: ["text/csv", "text/tab-separated-values", "text/dsv"];
|
|
8
|
+
readonly category: "table";
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=csv-format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csv-format.d.ts","sourceRoot":"","sources":["../src/csv-format.ts"],"names":[],"mappings":"AAMA,6BAA6B;AAC7B,eAAO,MAAM,SAAS;;;;;;;CAOK,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
/** Comma-Separated Values */
|
|
5
|
+
export const CSVFormat = {
|
|
6
|
+
id: 'csv',
|
|
7
|
+
module: 'csv',
|
|
8
|
+
name: 'CSV',
|
|
9
|
+
extensions: ['csv', 'tsv', 'dsv'],
|
|
10
|
+
mimeTypes: ['text/csv', 'text/tab-separated-values', 'text/dsv'],
|
|
11
|
+
category: 'table'
|
|
12
|
+
};
|
package/dist/csv-loader.d.ts
CHANGED
|
@@ -18,13 +18,7 @@ export type CSVLoaderOptions = LoaderOptions & {
|
|
|
18
18
|
export declare const CSVLoader: {
|
|
19
19
|
readonly dataType: ObjectRowTable | ArrayRowTable;
|
|
20
20
|
readonly batchType: TableBatch;
|
|
21
|
-
readonly id: "csv";
|
|
22
|
-
readonly module: "csv";
|
|
23
|
-
readonly name: "CSV";
|
|
24
21
|
readonly version: any;
|
|
25
|
-
readonly extensions: ["csv", "tsv", "dsv"];
|
|
26
|
-
readonly mimeTypes: ["text/csv", "text/tab-separated-values", "text/dsv"];
|
|
27
|
-
readonly category: "table";
|
|
28
22
|
readonly parse: (arrayBuffer: ArrayBuffer, options?: CSVLoaderOptions) => Promise<ObjectRowTable | ArrayRowTable>;
|
|
29
23
|
readonly parseText: (text: string, options?: CSVLoaderOptions) => Promise<ObjectRowTable | ArrayRowTable>;
|
|
30
24
|
readonly parseInBatches: typeof parseCSVInBatches;
|
|
@@ -42,6 +36,12 @@ export declare const CSVLoader: {
|
|
|
42
36
|
readonly delimitersToGuess: [",", "\t", "|", ";"];
|
|
43
37
|
};
|
|
44
38
|
};
|
|
39
|
+
readonly id: "csv";
|
|
40
|
+
readonly module: "csv";
|
|
41
|
+
readonly name: "CSV";
|
|
42
|
+
readonly extensions: ["csv", "tsv", "dsv"];
|
|
43
|
+
readonly mimeTypes: ["text/csv", "text/tab-separated-values", "text/dsv"];
|
|
44
|
+
readonly category: "table";
|
|
45
45
|
};
|
|
46
46
|
declare function parseCSVInBatches(asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>, options?: CSVLoaderOptions): AsyncIterable<TableBatch>;
|
|
47
47
|
export {};
|
package/dist/csv-loader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csv-loader.d.ts","sourceRoot":"","sources":["../src/csv-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmB,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"csv-loader.d.ts","sourceRoot":"","sources":["../src/csv-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmB,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EAAS,aAAa,EAAE,cAAc,EAAE,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAoB1F,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,GAAG,CAAC,EAAE;QAEJ,KAAK,CAAC,EAAE,iBAAiB,GAAG,kBAAkB,CAAC;QAC/C,yDAAyD;QACzD,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;QAKhB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QAEpB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,cAAc,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;QAEpC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;KAE9B,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,SAAS;uBAGS,cAAc,GAAG,aAAa;wBAC7B,UAAU;;kCAEb,WAAW,YAAY,gBAAgB;+BAEhD,MAAM,YAAY,gBAAgB;;;;;;;;;;;;;;;;;;;;;;CAuB6C,CAAC;AAsDpG,iBAAS,iBAAiB,CACxB,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,EACjE,OAAO,CAAC,EAAE,gBAAgB,GACzB,aAAa,CAAC,UAAU,CAAC,CAyH3B"}
|
package/dist/csv-loader.js
CHANGED
|
@@ -1,23 +1,20 @@
|
|
|
1
1
|
// loaders.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
import {
|
|
4
|
+
import { log } from '@loaders.gl/loader-utils';
|
|
5
|
+
import { AsyncQueue, deduceTableSchema, TableBatchBuilder, convertToArrayRow, convertToObjectRow } from '@loaders.gl/schema-utils';
|
|
5
6
|
import Papa from "./papaparse/papaparse.js";
|
|
6
7
|
import AsyncIteratorStreamer from "./papaparse/async-iterator-streamer.js";
|
|
8
|
+
import { CSVFormat } from "./csv-format.js";
|
|
7
9
|
// __VERSION__ is injected by babel-plugin-version-inline
|
|
8
10
|
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
9
|
-
const VERSION = typeof "4.
|
|
11
|
+
const VERSION = typeof "4.4.0-alpha.0" !== 'undefined' ? "4.4.0-alpha.0" : 'latest';
|
|
10
12
|
const DEFAULT_CSV_SHAPE = 'object-row-table';
|
|
11
13
|
export const CSVLoader = {
|
|
14
|
+
...CSVFormat,
|
|
12
15
|
dataType: null,
|
|
13
16
|
batchType: null,
|
|
14
|
-
id: 'csv',
|
|
15
|
-
module: 'csv',
|
|
16
|
-
name: 'CSV',
|
|
17
17
|
version: VERSION,
|
|
18
|
-
extensions: ['csv', 'tsv', 'dsv'],
|
|
19
|
-
mimeTypes: ['text/csv', 'text/tab-separated-values', 'text/dsv'],
|
|
20
|
-
category: 'table',
|
|
21
18
|
parse: async (arrayBuffer, options) => parseCSV(new TextDecoder().decode(arrayBuffer), options),
|
|
22
19
|
parseText: (text, options) => parseCSV(text, options),
|
|
23
20
|
parseInBatches: parseCSVInBatches,
|
|
@@ -44,7 +41,7 @@ export const CSVLoader = {
|
|
|
44
41
|
}
|
|
45
42
|
};
|
|
46
43
|
async function parseCSV(csvText, options) {
|
|
47
|
-
// Apps can call the parse method directly, we
|
|
44
|
+
// Apps can call the parse method directly, so we apply default options here
|
|
48
45
|
const csvOptions = { ...CSVLoader.options.csv, ...options?.csv };
|
|
49
46
|
const firstRow = readFirstRow(csvText);
|
|
50
47
|
const header = csvOptions.header === 'auto' ? isHeaderRow(firstRow) : Boolean(csvOptions.header);
|
|
@@ -63,20 +60,25 @@ async function parseCSV(csvText, options) {
|
|
|
63
60
|
const rows = result.data;
|
|
64
61
|
const headerRow = result.meta.fields || generateHeader(csvOptions.columnPrefix, firstRow.length);
|
|
65
62
|
const shape = csvOptions.shape || DEFAULT_CSV_SHAPE;
|
|
63
|
+
let table;
|
|
66
64
|
switch (shape) {
|
|
67
65
|
case 'object-row-table':
|
|
68
|
-
|
|
66
|
+
table = {
|
|
69
67
|
shape: 'object-row-table',
|
|
70
68
|
data: rows.map((row) => (Array.isArray(row) ? convertToObjectRow(row, headerRow) : row))
|
|
71
69
|
};
|
|
70
|
+
break;
|
|
72
71
|
case 'array-row-table':
|
|
73
|
-
|
|
72
|
+
table = {
|
|
74
73
|
shape: 'array-row-table',
|
|
75
74
|
data: rows.map((row) => (Array.isArray(row) ? row : convertToArrayRow(row, headerRow)))
|
|
76
75
|
};
|
|
76
|
+
break;
|
|
77
77
|
default:
|
|
78
78
|
throw new Error(shape);
|
|
79
79
|
}
|
|
80
|
+
table.schema = deduceTableSchema(table);
|
|
81
|
+
return table;
|
|
80
82
|
}
|
|
81
83
|
// TODO - support batch size 0 = no batching/single batch?
|
|
82
84
|
function parseCSVInBatches(asyncIterator, options) {
|
|
@@ -135,7 +137,7 @@ function parseCSVInBatches(asyncIterator, options) {
|
|
|
135
137
|
if (!headerRow) {
|
|
136
138
|
headerRow = generateHeader(csvOptions.columnPrefix, row.length);
|
|
137
139
|
}
|
|
138
|
-
schema =
|
|
140
|
+
schema = deduceCSVSchema(row, headerRow);
|
|
139
141
|
}
|
|
140
142
|
if (csvOptions.optimizeMemoryUsage) {
|
|
141
143
|
// A workaround to allocate new strings and don't retain pointers to original strings.
|
|
@@ -237,23 +239,54 @@ function generateHeader(columnPrefix, count = 0) {
|
|
|
237
239
|
}
|
|
238
240
|
return headers;
|
|
239
241
|
}
|
|
240
|
-
function
|
|
241
|
-
const
|
|
242
|
+
function deduceCSVSchema(row, headerRow) {
|
|
243
|
+
const fields = [];
|
|
242
244
|
for (let i = 0; i < row.length; i++) {
|
|
243
245
|
const columnName = (headerRow && headerRow[i]) || i;
|
|
244
246
|
const value = row[i];
|
|
245
247
|
switch (typeof value) {
|
|
246
248
|
case 'number':
|
|
249
|
+
fields.push({ name: String(columnName), type: 'float64', nullable: true });
|
|
250
|
+
break;
|
|
247
251
|
case 'boolean':
|
|
248
|
-
|
|
249
|
-
schema[columnName] = { name: String(columnName), index: i, type: Float32Array };
|
|
252
|
+
fields.push({ name: String(columnName), type: 'bool', nullable: true });
|
|
250
253
|
break;
|
|
251
254
|
case 'string':
|
|
255
|
+
fields.push({ name: String(columnName), type: 'utf8', nullable: true });
|
|
256
|
+
break;
|
|
252
257
|
default:
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
// TODO we could offer a function to map strings to numbers?
|
|
258
|
+
log.warn(`CSV: Unknown column type: ${typeof value}`)();
|
|
259
|
+
fields.push({ name: String(columnName), type: 'utf8', nullable: true });
|
|
256
260
|
}
|
|
257
261
|
}
|
|
258
|
-
return
|
|
262
|
+
return {
|
|
263
|
+
fields,
|
|
264
|
+
metadata: {
|
|
265
|
+
'loaders.gl#format': 'csv',
|
|
266
|
+
'loaders.gl#loader': 'CSVLoader'
|
|
267
|
+
}
|
|
268
|
+
};
|
|
259
269
|
}
|
|
270
|
+
// TODO - remove
|
|
271
|
+
// type ObjectField = {name: string; index: number; type: any};
|
|
272
|
+
// type ObjectSchema = {[key: string]: ObjectField} | ObjectField[];
|
|
273
|
+
// function deduceObjectSchema(row, headerRow): ObjectSchema {
|
|
274
|
+
// const schema: ObjectSchema = headerRow ? {} : [];
|
|
275
|
+
// for (let i = 0; i < row.length; i++) {
|
|
276
|
+
// const columnName = (headerRow && headerRow[i]) || i;
|
|
277
|
+
// const value = row[i];
|
|
278
|
+
// switch (typeof value) {
|
|
279
|
+
// case 'number':
|
|
280
|
+
// case 'boolean':
|
|
281
|
+
// // TODO - booleans could be handled differently...
|
|
282
|
+
// schema[columnName] = {name: String(columnName), index: i, type: Float32Array};
|
|
283
|
+
// break;
|
|
284
|
+
// case 'string':
|
|
285
|
+
// default:
|
|
286
|
+
// schema[columnName] = {name: String(columnName), index: i, type: Array};
|
|
287
|
+
// // We currently only handle numeric rows
|
|
288
|
+
// // TODO we could offer a function to map strings to numbers?
|
|
289
|
+
// }
|
|
290
|
+
// }
|
|
291
|
+
// return schema;
|
|
292
|
+
// }
|
package/dist/csv-writer.d.ts
CHANGED
|
@@ -6,12 +6,7 @@ export type CSVWriterOptions = WriterOptions & {
|
|
|
6
6
|
};
|
|
7
7
|
};
|
|
8
8
|
export declare const CSVWriter: {
|
|
9
|
-
readonly id: "csv";
|
|
10
9
|
readonly version: "latest";
|
|
11
|
-
readonly module: "csv";
|
|
12
|
-
readonly name: "CSV";
|
|
13
|
-
readonly extensions: ["csv"];
|
|
14
|
-
readonly mimeTypes: ["text/csv"];
|
|
15
10
|
readonly options: {
|
|
16
11
|
readonly csv: {
|
|
17
12
|
readonly useDisplayNames: false;
|
|
@@ -20,5 +15,11 @@ export declare const CSVWriter: {
|
|
|
20
15
|
readonly text: true;
|
|
21
16
|
readonly encode: (table: Table, options: CSVWriterOptions | undefined) => Promise<ArrayBufferLike>;
|
|
22
17
|
readonly encodeTextSync: (table: Table, options: CSVWriterOptions | undefined) => string;
|
|
18
|
+
readonly id: "csv";
|
|
19
|
+
readonly module: "csv";
|
|
20
|
+
readonly name: "CSV";
|
|
21
|
+
readonly extensions: ["csv", "tsv", "dsv"];
|
|
22
|
+
readonly mimeTypes: ["text/csv", "text/tab-separated-values", "text/dsv"];
|
|
23
|
+
readonly category: "table";
|
|
23
24
|
};
|
|
24
25
|
//# sourceMappingURL=csv-writer.d.ts.map
|
package/dist/csv-writer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csv-writer.d.ts","sourceRoot":"","sources":["../src/csv-writer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAoB,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAC/E,OAAO,KAAK,EAAC,KAAK,EAAa,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"csv-writer.d.ts","sourceRoot":"","sources":["../src/csv-writer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAoB,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAC/E,OAAO,KAAK,EAAC,KAAK,EAAa,MAAM,oBAAoB,CAAC;AAI1D,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,GAAG,CAAC,EAAE;QACJ,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;CAYqD,CAAC"}
|
package/dist/csv-writer.js
CHANGED
|
@@ -2,13 +2,10 @@
|
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
import { encodeTableAsCSV } from "./lib/encoders/encode-csv.js";
|
|
5
|
+
import { CSVFormat } from "./csv-format.js";
|
|
5
6
|
export const CSVWriter = {
|
|
6
|
-
|
|
7
|
+
...CSVFormat,
|
|
7
8
|
version: 'latest',
|
|
8
|
-
module: 'csv',
|
|
9
|
-
name: 'CSV',
|
|
10
|
-
extensions: ['csv'],
|
|
11
|
-
mimeTypes: ['text/csv'],
|
|
12
9
|
options: {
|
|
13
10
|
csv: {
|
|
14
11
|
useDisplayNames: false
|