@loaders.gl/csv 4.3.4 → 4.4.0-alpha.10

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.
Files changed (60) hide show
  1. package/dist/csv-arrow-loader.d.ts +37 -0
  2. package/dist/csv-arrow-loader.d.ts.map +1 -0
  3. package/dist/csv-arrow-loader.js +24 -0
  4. package/dist/csv-arrow-loader.js.map +1 -0
  5. package/dist/csv-format.d.ts +10 -0
  6. package/dist/csv-format.d.ts.map +1 -0
  7. package/dist/csv-format.js +13 -0
  8. package/dist/csv-format.js.map +1 -0
  9. package/dist/csv-loader.d.ts +7 -7
  10. package/dist/csv-loader.d.ts.map +1 -1
  11. package/dist/csv-loader.js +59 -25
  12. package/dist/csv-loader.js.map +1 -0
  13. package/dist/csv-writer.d.ts +6 -5
  14. package/dist/csv-writer.d.ts.map +1 -1
  15. package/dist/csv-writer.js +3 -5
  16. package/dist/csv-writer.js.map +1 -0
  17. package/dist/dist.dev.js +13346 -454
  18. package/dist/dist.min.js +23 -20
  19. package/dist/index.cjs +323 -267
  20. package/dist/index.cjs.map +4 -4
  21. package/dist/index.d.ts +2 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +2 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/lib/encoders/encode-csv.d.ts +1 -1
  26. package/dist/lib/encoders/encode-csv.d.ts.map +1 -1
  27. package/dist/lib/encoders/encode-csv.js +2 -1
  28. package/dist/lib/encoders/encode-csv.js.map +1 -0
  29. package/dist/papaparse/async-iterator-streamer.d.ts +1 -21
  30. package/dist/papaparse/async-iterator-streamer.d.ts.map +1 -1
  31. package/dist/papaparse/async-iterator-streamer.js +7 -6
  32. package/dist/papaparse/async-iterator-streamer.js.map +1 -0
  33. package/dist/papaparse/papa-constants.d.ts +12 -0
  34. package/dist/papaparse/papa-constants.d.ts.map +1 -0
  35. package/dist/papaparse/papa-constants.js +20 -0
  36. package/dist/papaparse/papa-constants.js.map +1 -0
  37. package/dist/papaparse/papa-parser.d.ts +110 -0
  38. package/dist/papaparse/papa-parser.d.ts.map +1 -0
  39. package/dist/papaparse/papa-parser.js +734 -0
  40. package/dist/papaparse/papa-parser.js.map +1 -0
  41. package/dist/papaparse/papa-writer.d.ts +22 -0
  42. package/dist/papaparse/papa-writer.d.ts.map +1 -0
  43. package/dist/papaparse/papa-writer.js +167 -0
  44. package/dist/papaparse/papa-writer.js.map +1 -0
  45. package/dist/papaparse/papaparse.d.ts +9 -113
  46. package/dist/papaparse/papaparse.d.ts.map +1 -1
  47. package/dist/papaparse/papaparse.js +14 -882
  48. package/dist/papaparse/papaparse.js.map +1 -0
  49. package/package.json +5 -5
  50. package/src/csv-arrow-loader.ts +43 -0
  51. package/src/csv-format.ts +15 -0
  52. package/src/csv-loader.ts +66 -31
  53. package/src/csv-writer.ts +2 -5
  54. package/src/index.ts +3 -0
  55. package/src/lib/encoders/encode-csv.ts +2 -1
  56. package/src/papaparse/async-iterator-streamer.ts +6 -6
  57. package/src/papaparse/papa-constants.ts +23 -0
  58. package/src/papaparse/papa-parser.ts +872 -0
  59. package/src/papaparse/papa-writer.ts +219 -0
  60. 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<ArrayBufferLike | ArrayBufferView> | Iterable<ArrayBufferLike | ArrayBufferView>, 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,EACT,aAAa,CAAC,eAAe,GAAG,eAAe,CAAC,GAChD,QAAQ,CAAC,eAAe,GAAG,eAAe,CAAC,EAC/C,OAAO,CAAC,EAAE,qBAAqB,GAC9B,aAAa,CAAC,eAAe,CAAC,CAGhC"}
@@ -0,0 +1,24 @@
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
+ }
24
+ //# sourceMappingURL=csv-arrow-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csv-arrow-loader.js","sourceRoot":"","sources":["../src/csv-arrow-loader.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EAAC,YAAY,EAAE,cAAc,EAAC,MAAM,0BAA0B,CAAC;AAGtE,OAAO,EAAC,SAAS,EAAC,wBAAqB;AAMvC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG,SAAS;IAEZ,QAAQ,EAAE,IAA6B;IACvC,SAAS,EAAE,IAAkC;IAE7C,KAAK,EAAE,KAAK,EAAE,WAAwB,EAAE,OAA0B,EAAE,EAAE,CACpE,eAAe,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IACjE,SAAS,EAAE,CAAC,IAAY,EAAE,OAA0B,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC;IACvF,cAAc,EAAE,sBAAsB;CACiD,CAAC;AAE1F,KAAK,UAAU,eAAe,CAAC,OAAe,EAAE,OAA0B;IACxE,4EAA4E;IAC5E,uEAAuE;IACvE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1D,OAAO,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,sBAAsB,CAC7B,aAE+C,EAC/C,OAA+B;IAE/B,MAAM,aAAa,GAAG,SAAS,CAAC,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACvE,OAAO,cAAc,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AACtD,CAAC"}
@@ -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,13 @@
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
+ };
13
+ //# sourceMappingURL=csv-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csv-format.js","sourceRoot":"","sources":["../src/csv-format.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,6BAA6B;AAC7B,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,EAAE,EAAE,KAAK;IACT,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,KAAK;IACX,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;IACjC,SAAS,EAAE,CAAC,UAAU,EAAE,2BAA2B,EAAE,UAAU,CAAC;IAChE,QAAQ,EAAE,OAAO;CACQ,CAAC"}
@@ -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,7 +36,13 @@ 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
- declare function parseCSVInBatches(asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>, options?: CSVLoaderOptions): AsyncIterable<TableBatch>;
46
+ declare function parseCSVInBatches(asyncIterator: AsyncIterable<ArrayBufferLike | ArrayBufferView> | Iterable<ArrayBufferLike | ArrayBufferView>, options?: CSVLoaderOptions): AsyncIterable<TableBatch>;
47
47
  export {};
48
48
  //# sourceMappingURL=csv-loader.d.ts.map
@@ -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,EAAC,aAAa,EAAE,cAAc,EAAE,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAoBlF,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;uBACS,cAAc,GAAG,aAAa;wBAC7B,UAAU;;;;;;;;kCASb,WAAW,YAAY,gBAAgB;+BAEhD,MAAM,YAAY,gBAAgB;;;;;;;;;;;;;;;;CAuB6C,CAAC;AAiDpG,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"}
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,EACT,aAAa,CAAC,eAAe,GAAG,eAAe,CAAC,GAChD,QAAQ,CAAC,eAAe,GAAG,eAAe,CAAC,EAC/C,OAAO,CAAC,EAAE,gBAAgB,GACzB,aAAa,CAAC,UAAU,CAAC,CAyH3B"}
@@ -1,23 +1,20 @@
1
1
  // loaders.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- import { AsyncQueue, TableBatchBuilder, convertToArrayRow, convertToObjectRow } from '@loaders.gl/schema';
4
+ import { log, toArrayBufferIterator } 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.3.3" !== 'undefined' ? "4.3.3" : 'latest';
11
+ const VERSION = typeof "4.4.0-alpha.10" !== 'undefined' ? "4.4.0-alpha.10" : '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 so apply default options here
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,28 +60,33 @@ 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
- return {
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
- return {
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) {
83
85
  // Papaparse does not support standard batch size handling
84
86
  // TODO - investigate papaparse chunks mode
85
87
  options = { ...options };
86
- if (options.batchSize === 'auto') {
87
- options.batchSize = 4000;
88
+ if (options?.core?.batchSize === 'auto') {
89
+ options.core.batchSize = 4000;
88
90
  }
89
91
  // Apps can call the parse method directly, we so apply default options here
90
92
  const csvOptions = { ...CSVLoader.options.csv, ...options?.csv };
@@ -135,14 +137,14 @@ function parseCSVInBatches(asyncIterator, options) {
135
137
  if (!headerRow) {
136
138
  headerRow = generateHeader(csvOptions.columnPrefix, row.length);
137
139
  }
138
- schema = deduceSchema(row, headerRow);
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.
142
144
  // https://bugs.chromium.org/p/v8/issues/detail?id=2869
143
145
  row = JSON.parse(JSON.stringify(row));
144
146
  }
145
- const shape = csvOptions.shape || DEFAULT_CSV_SHAPE;
147
+ const shape = options?.shape || csvOptions.shape || DEFAULT_CSV_SHAPE;
146
148
  // Add the row
147
149
  tableBatchBuilder =
148
150
  tableBatchBuilder ||
@@ -150,7 +152,7 @@ function parseCSVInBatches(asyncIterator, options) {
150
152
  // @ts-expect-error TODO this is not a proper schema
151
153
  schema, {
152
154
  shape,
153
- ...options
155
+ ...(options?.core || {})
154
156
  });
155
157
  try {
156
158
  tableBatchBuilder.addRow(row);
@@ -180,7 +182,7 @@ function parseCSVInBatches(asyncIterator, options) {
180
182
  asyncQueue.close();
181
183
  }
182
184
  };
183
- Papa.parse(asyncIterator, config, AsyncIteratorStreamer);
185
+ Papa.parse(toArrayBufferIterator(asyncIterator), config, AsyncIteratorStreamer);
184
186
  // TODO - Does it matter if we return asyncIterable or asyncIterator
185
187
  // return asyncQueue[Symbol.asyncIterator]();
186
188
  return asyncQueue;
@@ -237,23 +239,55 @@ function generateHeader(columnPrefix, count = 0) {
237
239
  }
238
240
  return headers;
239
241
  }
240
- function deduceSchema(row, headerRow) {
241
- const schema = headerRow ? {} : [];
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
- // TODO - booleans could be handled differently...
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
- schema[columnName] = { name: String(columnName), index: i, type: Array };
254
- // We currently only handle numeric rows
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 schema;
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
+ // }
293
+ //# sourceMappingURL=csv-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csv-loader.js","sourceRoot":"","sources":["../src/csv-loader.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -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;AAG1D,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,GAAG,CAAC,EAAE;QACJ,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;CAgBqD,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"}
@@ -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
- id: 'csv',
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
@@ -18,3 +15,4 @@ export const CSVWriter = {
18
15
  encode: async (table, options) => new TextEncoder().encode(encodeTableAsCSV(table, options)).buffer,
19
16
  encodeTextSync: (table, options) => encodeTableAsCSV(table, options)
20
17
  };
18
+ //# sourceMappingURL=csv-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csv-writer.js","sourceRoot":"","sources":["../src/csv-writer.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAKpC,OAAO,EAAC,gBAAgB,EAAC,qCAAkC;AAC3D,OAAO,EAAC,SAAS,EAAC,wBAAqB;AAQvC,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,GAAG,SAAS;IACZ,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE;QACP,GAAG,EAAE;YACH,eAAe,EAAE,KAAK;SACvB;KACF;IACD,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC/B,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM;IACnE,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC;CACK,CAAC"}