@jupyterlab/csvviewer 4.7.0-alpha.0 → 4.7.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/lib/model.js +27 -18
- package/lib/model.js.map +1 -1
- package/lib/parse.d.ts +4 -0
- package/lib/parse.js +28 -36
- package/lib/parse.js.map +1 -1
- package/package.json +12 -12
- package/src/model.ts +32 -18
- package/src/parse.ts +33 -36
package/lib/model.js
CHANGED
|
@@ -387,30 +387,18 @@ export class DSVModel extends DataModel {
|
|
|
387
387
|
* parsed again.
|
|
388
388
|
*/
|
|
389
389
|
_computeRowOffsets(endRow = 4294967295) {
|
|
390
|
-
var _a;
|
|
390
|
+
var _a, _b;
|
|
391
391
|
// If we've already parsed up to endRow, or if we've already parsed the
|
|
392
392
|
// entire data set, return early.
|
|
393
393
|
if (this._rowCount >= endRow || this._doneParsing === true) {
|
|
394
394
|
return;
|
|
395
395
|
}
|
|
396
|
-
// Compute the column count if we don't already have it.
|
|
397
|
-
if (this._columnCount === undefined) {
|
|
398
|
-
// Get number of columns in first row
|
|
399
|
-
this._columnCount = PARSERS[this._parser]({
|
|
400
|
-
data: this._rawData,
|
|
401
|
-
delimiter: this._delimiter,
|
|
402
|
-
rowDelimiter: this._rowDelimiter,
|
|
403
|
-
quote: this._quote,
|
|
404
|
-
columnOffsets: true,
|
|
405
|
-
maxRows: 1
|
|
406
|
-
}).ncols;
|
|
407
|
-
}
|
|
408
396
|
// `reparse` is the number of rows we are requesting to parse over again.
|
|
409
397
|
// We generally start at the beginning of the last row offset, so that the
|
|
410
398
|
// first row offset returned is the same as the last row offset we already
|
|
411
399
|
// have. We parse the data up to and including the requested row.
|
|
412
400
|
const reparse = this._rowCount > 0 ? 1 : 0;
|
|
413
|
-
const { nrows, offsets } = PARSERS[this._parser]({
|
|
401
|
+
const { nrows, offsets, maxNcols } = PARSERS[this._parser]({
|
|
414
402
|
data: this._rawData,
|
|
415
403
|
startIndex: (_a = this._rowOffsets[this._rowCount - reparse]) !== null && _a !== void 0 ? _a : 0,
|
|
416
404
|
delimiter: this._delimiter,
|
|
@@ -432,6 +420,9 @@ export class DSVModel extends DataModel {
|
|
|
432
420
|
const oldRowCount = this._rowCount;
|
|
433
421
|
const duplicateRows = Math.min(nrows, reparse);
|
|
434
422
|
this._rowCount = oldRowCount + nrows - duplicateRows;
|
|
423
|
+
const oldColumnCount = (_b = this._columnCount) !== null && _b !== void 0 ? _b : 0;
|
|
424
|
+
this._columnCount = Math.max(oldColumnCount, maxNcols !== null && maxNcols !== void 0 ? maxNcols : 0);
|
|
425
|
+
const columnCountChanged = this._columnCount !== oldColumnCount;
|
|
435
426
|
// If we didn't reach the requested row, we must be done.
|
|
436
427
|
if (this._rowCount < endRow) {
|
|
437
428
|
this._doneParsing = true;
|
|
@@ -449,10 +440,28 @@ export class DSVModel extends DataModel {
|
|
|
449
440
|
// enough for all column offsets. We allocate up to 128 megabytes:
|
|
450
441
|
// 128*(2**20 bytes/M)/(4 bytes/entry) = 33554432 entries.
|
|
451
442
|
const maxColumnOffsetsRows = Math.floor(33554432 / this._columnCount);
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
443
|
+
if (columnCountChanged) {
|
|
444
|
+
const columnOffsetRows = this._rowCount <= maxColumnOffsetsRows
|
|
445
|
+
? this._rowCount
|
|
446
|
+
: Math.min(this._maxCacheGet, maxColumnOffsetsRows);
|
|
447
|
+
this._columnOffsets = new Uint32Array(columnOffsetRows * this._columnCount);
|
|
448
|
+
this._columnOffsets.fill(0xffffffff);
|
|
449
|
+
this._columnOffsetsStartingRow = 0;
|
|
450
|
+
if (this._header.length > 0) {
|
|
451
|
+
for (let c = this._header.length; c < this._columnCount; c++) {
|
|
452
|
+
this._header.push(this._getField(0, c));
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
if (oldColumnCount > 0) {
|
|
456
|
+
this.emitChanged({
|
|
457
|
+
type: 'columns-inserted',
|
|
458
|
+
region: 'body',
|
|
459
|
+
index: oldColumnCount,
|
|
460
|
+
span: this._columnCount - oldColumnCount
|
|
461
|
+
});
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
else if (oldRowCount <= maxColumnOffsetsRows) {
|
|
456
465
|
// Check to see if the new column offsets array is small enough to still
|
|
457
466
|
// store, or if we should cut over to a small cache.
|
|
458
467
|
if (this._rowCount <= maxColumnOffsetsRows) {
|
package/lib/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
package/lib/parse.d.ts
CHANGED
|
@@ -78,6 +78,10 @@ export declare namespace IParser {
|
|
|
78
78
|
* The number of columns parsed, or 0 if only row offsets are returned.
|
|
79
79
|
*/
|
|
80
80
|
ncols: number;
|
|
81
|
+
/**
|
|
82
|
+
* The maximum number of columns observed while parsing.
|
|
83
|
+
*/
|
|
84
|
+
maxNcols?: number;
|
|
81
85
|
/**
|
|
82
86
|
* The index offsets into the data string for the rows or data items.
|
|
83
87
|
*
|
package/lib/parse.js
CHANGED
|
@@ -35,6 +35,7 @@ export function parseDSV(options) {
|
|
|
35
35
|
let ncols = options.ncols;
|
|
36
36
|
// The number of rows we've already parsed.
|
|
37
37
|
let nrows = 0;
|
|
38
|
+
let maxNcols = 0;
|
|
38
39
|
// The row or column offsets we return.
|
|
39
40
|
const offsets = [];
|
|
40
41
|
// Set up some useful local variables.
|
|
@@ -231,6 +232,7 @@ export function parseDSV(options) {
|
|
|
231
232
|
switch (state) {
|
|
232
233
|
case NEW_ROW:
|
|
233
234
|
nrows++;
|
|
235
|
+
maxNcols = Math.max(maxNcols, col);
|
|
234
236
|
// If ncols is undefined, set it to the number of columns in this row (first row implied).
|
|
235
237
|
if (ncols === undefined) {
|
|
236
238
|
if (nrows !== 1) {
|
|
@@ -255,7 +257,7 @@ export function parseDSV(options) {
|
|
|
255
257
|
}
|
|
256
258
|
// Shortcut return if nrows reaches the maximum rows we are to parse.
|
|
257
259
|
if (nrows === maxRows) {
|
|
258
|
-
return { nrows, ncols: columnOffsets ? ncols : 0, offsets };
|
|
260
|
+
return { nrows, ncols: columnOffsets ? ncols : 0, maxNcols, offsets };
|
|
259
261
|
}
|
|
260
262
|
break;
|
|
261
263
|
case NEW_FIELD:
|
|
@@ -275,6 +277,7 @@ export function parseDSV(options) {
|
|
|
275
277
|
// defined.
|
|
276
278
|
if (state !== NEW_ROW) {
|
|
277
279
|
nrows++;
|
|
280
|
+
maxNcols = Math.max(maxNcols, col);
|
|
278
281
|
if (columnOffsets === true) {
|
|
279
282
|
// If ncols is *still* undefined, then we only parsed one row and didn't
|
|
280
283
|
// have a newline, so set it to the number of columns we found.
|
|
@@ -294,7 +297,7 @@ export function parseDSV(options) {
|
|
|
294
297
|
}
|
|
295
298
|
}
|
|
296
299
|
}
|
|
297
|
-
return { nrows, ncols: columnOffsets ? (ncols !== null && ncols !== void 0 ? ncols : 0) : 0, offsets };
|
|
300
|
+
return { nrows, ncols: columnOffsets ? (ncols !== null && ncols !== void 0 ? ncols : 0) : 0, maxNcols, offsets };
|
|
298
301
|
}
|
|
299
302
|
/**
|
|
300
303
|
* Parse delimiter-separated data where no delimiter is quoted.
|
|
@@ -316,13 +319,13 @@ export function parseDSVNoQuotes(options) {
|
|
|
316
319
|
// Set up our return variables.
|
|
317
320
|
const offsets = [];
|
|
318
321
|
let nrows = 0;
|
|
322
|
+
let maxNcols = 0;
|
|
319
323
|
// Set up various state variables.
|
|
320
324
|
const rowDelimiterLength = rowDelimiter.length;
|
|
321
325
|
let currRow = startIndex;
|
|
322
326
|
const len = data.length;
|
|
323
327
|
let nextRow;
|
|
324
328
|
let col;
|
|
325
|
-
let rowString;
|
|
326
329
|
let colIndex;
|
|
327
330
|
// The end of the current row.
|
|
328
331
|
let rowEnd;
|
|
@@ -338,44 +341,33 @@ export function parseDSVNoQuotes(options) {
|
|
|
338
341
|
// If the next row delimiter is not found, set the end of the row to the
|
|
339
342
|
// end of the data string.
|
|
340
343
|
rowEnd = nextRow === -1 ? len : nextRow;
|
|
341
|
-
//
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
col = 1;
|
|
347
|
-
rowString = data.slice(currRow, rowEnd);
|
|
348
|
-
colIndex = rowString.indexOf(delimiter);
|
|
349
|
-
if (ncols === undefined) {
|
|
350
|
-
// If we don't know how many columns we need, loop through and find all
|
|
351
|
-
// of the field delimiters in this row.
|
|
352
|
-
while (colIndex !== -1) {
|
|
353
|
-
offsets.push(currRow + colIndex + 1);
|
|
354
|
-
col++;
|
|
355
|
-
colIndex = rowString.indexOf(delimiter, colIndex + 1);
|
|
356
|
-
}
|
|
357
|
-
// Set ncols to the number of fields we found.
|
|
358
|
-
ncols = col;
|
|
344
|
+
// Find field delimiters in the current row.
|
|
345
|
+
col = 1;
|
|
346
|
+
for (colIndex = currRow; colIndex < rowEnd; colIndex++) {
|
|
347
|
+
if (data[colIndex] !== delimiter) {
|
|
348
|
+
continue;
|
|
359
349
|
}
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
350
|
+
if (columnOffsets === true && (ncols === undefined || col < ncols)) {
|
|
351
|
+
offsets.push(colIndex + 1);
|
|
352
|
+
}
|
|
353
|
+
col++;
|
|
354
|
+
}
|
|
355
|
+
maxNcols = Math.max(maxNcols, col);
|
|
356
|
+
if (ncols === undefined) {
|
|
357
|
+
// Set ncols to the number of fields we found.
|
|
358
|
+
ncols = col;
|
|
359
|
+
}
|
|
360
|
+
else if (columnOffsets === true) {
|
|
361
|
+
// If we didn't reach the number of columns we expected, pad the offsets
|
|
362
|
+
// with the offset just before the row delimiter.
|
|
363
|
+
while (col < ncols) {
|
|
364
|
+
offsets.push(rowEnd);
|
|
365
|
+
col++;
|
|
374
366
|
}
|
|
375
367
|
}
|
|
376
368
|
// Skip past the row delimiter at the end of the row.
|
|
377
369
|
currRow = rowEnd + rowDelimiterLength;
|
|
378
370
|
}
|
|
379
|
-
return { nrows, ncols: columnOffsets ? (ncols !== null && ncols !== void 0 ? ncols : 0) : 0, offsets };
|
|
371
|
+
return { nrows, ncols: columnOffsets ? (ncols !== null && ncols !== void 0 ? ncols : 0) : 0, maxNcols, offsets };
|
|
380
372
|
}
|
|
381
373
|
//# sourceMappingURL=parse.js.map
|
package/lib/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupyterlab/csvviewer",
|
|
3
|
-
"version": "4.7.0-alpha.
|
|
3
|
+
"version": "4.7.0-alpha.1",
|
|
4
4
|
"description": "JupyterLab - CSV Widget",
|
|
5
5
|
"homepage": "https://github.com/jupyterlab/jupyterlab",
|
|
6
6
|
"bugs": {
|
|
@@ -41,19 +41,19 @@
|
|
|
41
41
|
"watch": "tsc -b --watch"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@jupyterlab/coreutils": "^6.7.0-alpha.
|
|
45
|
-
"@jupyterlab/docregistry": "^4.7.0-alpha.
|
|
46
|
-
"@jupyterlab/translation": "^4.7.0-alpha.
|
|
47
|
-
"@jupyterlab/ui-components": "^4.7.0-alpha.
|
|
48
|
-
"@lumino/coreutils": "^2.2.
|
|
49
|
-
"@lumino/datagrid": "^2.5.
|
|
50
|
-
"@lumino/disposable": "^2.1.
|
|
51
|
-
"@lumino/messaging": "^2.0.
|
|
52
|
-
"@lumino/signaling": "^2.1.
|
|
53
|
-
"@lumino/widgets": "^2.
|
|
44
|
+
"@jupyterlab/coreutils": "^6.7.0-alpha.1",
|
|
45
|
+
"@jupyterlab/docregistry": "^4.7.0-alpha.1",
|
|
46
|
+
"@jupyterlab/translation": "^4.7.0-alpha.1",
|
|
47
|
+
"@jupyterlab/ui-components": "^4.7.0-alpha.1",
|
|
48
|
+
"@lumino/coreutils": "^2.2.3",
|
|
49
|
+
"@lumino/datagrid": "^2.5.8",
|
|
50
|
+
"@lumino/disposable": "^2.1.6",
|
|
51
|
+
"@lumino/messaging": "^2.0.5",
|
|
52
|
+
"@lumino/signaling": "^2.1.6",
|
|
53
|
+
"@lumino/widgets": "^2.9.0"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"@jupyterlab/testing": "^4.7.0-alpha.
|
|
56
|
+
"@jupyterlab/testing": "^4.7.0-alpha.1",
|
|
57
57
|
"@types/jest": "^29.2.0",
|
|
58
58
|
"csv-spectrum": "^1.0.0",
|
|
59
59
|
"jest": "^29.2.0",
|
package/src/model.ts
CHANGED
|
@@ -408,25 +408,12 @@ export class DSVModel extends DataModel implements IDisposable {
|
|
|
408
408
|
return;
|
|
409
409
|
}
|
|
410
410
|
|
|
411
|
-
// Compute the column count if we don't already have it.
|
|
412
|
-
if (this._columnCount === undefined) {
|
|
413
|
-
// Get number of columns in first row
|
|
414
|
-
this._columnCount = PARSERS[this._parser]({
|
|
415
|
-
data: this._rawData,
|
|
416
|
-
delimiter: this._delimiter,
|
|
417
|
-
rowDelimiter: this._rowDelimiter,
|
|
418
|
-
quote: this._quote,
|
|
419
|
-
columnOffsets: true,
|
|
420
|
-
maxRows: 1
|
|
421
|
-
}).ncols;
|
|
422
|
-
}
|
|
423
|
-
|
|
424
411
|
// `reparse` is the number of rows we are requesting to parse over again.
|
|
425
412
|
// We generally start at the beginning of the last row offset, so that the
|
|
426
413
|
// first row offset returned is the same as the last row offset we already
|
|
427
414
|
// have. We parse the data up to and including the requested row.
|
|
428
415
|
const reparse = this._rowCount! > 0 ? 1 : 0;
|
|
429
|
-
const { nrows, offsets } = PARSERS[this._parser]({
|
|
416
|
+
const { nrows, offsets, maxNcols } = PARSERS[this._parser]({
|
|
430
417
|
data: this._rawData,
|
|
431
418
|
startIndex: this._rowOffsets[this._rowCount! - reparse] ?? 0,
|
|
432
419
|
delimiter: this._delimiter,
|
|
@@ -452,6 +439,10 @@ export class DSVModel extends DataModel implements IDisposable {
|
|
|
452
439
|
const duplicateRows = Math.min(nrows, reparse);
|
|
453
440
|
this._rowCount = oldRowCount + nrows - duplicateRows;
|
|
454
441
|
|
|
442
|
+
const oldColumnCount = this._columnCount ?? 0;
|
|
443
|
+
this._columnCount = Math.max(oldColumnCount, maxNcols ?? 0);
|
|
444
|
+
const columnCountChanged = this._columnCount !== oldColumnCount;
|
|
445
|
+
|
|
455
446
|
// If we didn't reach the requested row, we must be done.
|
|
456
447
|
if (this._rowCount < endRow) {
|
|
457
448
|
this._doneParsing = true;
|
|
@@ -473,10 +464,33 @@ export class DSVModel extends DataModel implements IDisposable {
|
|
|
473
464
|
// 128*(2**20 bytes/M)/(4 bytes/entry) = 33554432 entries.
|
|
474
465
|
const maxColumnOffsetsRows = Math.floor(33554432 / this._columnCount);
|
|
475
466
|
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
467
|
+
if (columnCountChanged) {
|
|
468
|
+
const columnOffsetRows =
|
|
469
|
+
this._rowCount <= maxColumnOffsetsRows
|
|
470
|
+
? this._rowCount
|
|
471
|
+
: Math.min(this._maxCacheGet, maxColumnOffsetsRows);
|
|
472
|
+
|
|
473
|
+
this._columnOffsets = new Uint32Array(
|
|
474
|
+
columnOffsetRows * this._columnCount
|
|
475
|
+
);
|
|
476
|
+
this._columnOffsets.fill(0xffffffff);
|
|
477
|
+
this._columnOffsetsStartingRow = 0;
|
|
478
|
+
|
|
479
|
+
if (this._header.length > 0) {
|
|
480
|
+
for (let c = this._header.length; c < this._columnCount; c++) {
|
|
481
|
+
this._header.push(this._getField(0, c));
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
if (oldColumnCount > 0) {
|
|
486
|
+
this.emitChanged({
|
|
487
|
+
type: 'columns-inserted',
|
|
488
|
+
region: 'body',
|
|
489
|
+
index: oldColumnCount,
|
|
490
|
+
span: this._columnCount - oldColumnCount
|
|
491
|
+
});
|
|
492
|
+
}
|
|
493
|
+
} else if (oldRowCount <= maxColumnOffsetsRows) {
|
|
480
494
|
// Check to see if the new column offsets array is small enough to still
|
|
481
495
|
// store, or if we should cut over to a small cache.
|
|
482
496
|
if (this._rowCount <= maxColumnOffsetsRows) {
|
package/src/parse.ts
CHANGED
|
@@ -108,6 +108,10 @@ export namespace IParser {
|
|
|
108
108
|
*/
|
|
109
109
|
ncols: number;
|
|
110
110
|
|
|
111
|
+
/**
|
|
112
|
+
* The maximum number of columns observed while parsing.
|
|
113
|
+
*/
|
|
114
|
+
maxNcols?: number;
|
|
111
115
|
/**
|
|
112
116
|
* The index offsets into the data string for the rows or data items.
|
|
113
117
|
*
|
|
@@ -169,6 +173,7 @@ export function parseDSV(options: IParser.IOptions): IParser.IResults {
|
|
|
169
173
|
|
|
170
174
|
// The number of rows we've already parsed.
|
|
171
175
|
let nrows = 0;
|
|
176
|
+
let maxNcols = 0;
|
|
172
177
|
|
|
173
178
|
// The row or column offsets we return.
|
|
174
179
|
const offsets = [];
|
|
@@ -401,6 +406,7 @@ export function parseDSV(options: IParser.IOptions): IParser.IResults {
|
|
|
401
406
|
switch (state) {
|
|
402
407
|
case NEW_ROW:
|
|
403
408
|
nrows++;
|
|
409
|
+
maxNcols = Math.max(maxNcols, col);
|
|
404
410
|
|
|
405
411
|
// If ncols is undefined, set it to the number of columns in this row (first row implied).
|
|
406
412
|
if (ncols === undefined) {
|
|
@@ -427,7 +433,7 @@ export function parseDSV(options: IParser.IOptions): IParser.IResults {
|
|
|
427
433
|
|
|
428
434
|
// Shortcut return if nrows reaches the maximum rows we are to parse.
|
|
429
435
|
if (nrows === maxRows) {
|
|
430
|
-
return { nrows, ncols: columnOffsets ? ncols : 0, offsets };
|
|
436
|
+
return { nrows, ncols: columnOffsets ? ncols : 0, maxNcols, offsets };
|
|
431
437
|
}
|
|
432
438
|
break;
|
|
433
439
|
|
|
@@ -451,6 +457,7 @@ export function parseDSV(options: IParser.IOptions): IParser.IResults {
|
|
|
451
457
|
// defined.
|
|
452
458
|
if (state !== NEW_ROW) {
|
|
453
459
|
nrows++;
|
|
460
|
+
maxNcols = Math.max(maxNcols, col);
|
|
454
461
|
if (columnOffsets === true) {
|
|
455
462
|
// If ncols is *still* undefined, then we only parsed one row and didn't
|
|
456
463
|
// have a newline, so set it to the number of columns we found.
|
|
@@ -471,7 +478,7 @@ export function parseDSV(options: IParser.IOptions): IParser.IResults {
|
|
|
471
478
|
}
|
|
472
479
|
}
|
|
473
480
|
|
|
474
|
-
return { nrows, ncols: columnOffsets ? (ncols ?? 0) : 0, offsets };
|
|
481
|
+
return { nrows, ncols: columnOffsets ? (ncols ?? 0) : 0, maxNcols, offsets };
|
|
475
482
|
}
|
|
476
483
|
|
|
477
484
|
/**
|
|
@@ -503,6 +510,7 @@ export function parseDSVNoQuotes(options: IParser.IOptions): IParser.IResults {
|
|
|
503
510
|
// Set up our return variables.
|
|
504
511
|
const offsets: number[] = [];
|
|
505
512
|
let nrows = 0;
|
|
513
|
+
let maxNcols = 0;
|
|
506
514
|
|
|
507
515
|
// Set up various state variables.
|
|
508
516
|
const rowDelimiterLength = rowDelimiter.length;
|
|
@@ -510,7 +518,6 @@ export function parseDSVNoQuotes(options: IParser.IOptions): IParser.IResults {
|
|
|
510
518
|
const len = data.length;
|
|
511
519
|
let nextRow: number;
|
|
512
520
|
let col: number;
|
|
513
|
-
let rowString: string;
|
|
514
521
|
let colIndex: number;
|
|
515
522
|
|
|
516
523
|
// The end of the current row.
|
|
@@ -532,41 +539,31 @@ export function parseDSVNoQuotes(options: IParser.IOptions): IParser.IResults {
|
|
|
532
539
|
// end of the data string.
|
|
533
540
|
rowEnd = nextRow === -1 ? len : nextRow;
|
|
534
541
|
|
|
535
|
-
//
|
|
536
|
-
|
|
537
|
-
// Find the next field delimiter. We slice the current row out so that
|
|
538
|
-
// the indexOf will stop at the end of the row. It may possibly be faster
|
|
539
|
-
// to just use a loop to check each character.
|
|
540
|
-
col = 1;
|
|
541
|
-
rowString = data.slice(currRow, rowEnd);
|
|
542
|
-
colIndex = rowString.indexOf(delimiter);
|
|
542
|
+
// Find field delimiters in the current row.
|
|
543
|
+
col = 1;
|
|
543
544
|
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
offsets.push(currRow + colIndex + 1);
|
|
549
|
-
col++;
|
|
550
|
-
colIndex = rowString.indexOf(delimiter, colIndex + 1);
|
|
551
|
-
}
|
|
545
|
+
for (colIndex = currRow; colIndex < rowEnd; colIndex++) {
|
|
546
|
+
if (data[colIndex] !== delimiter) {
|
|
547
|
+
continue;
|
|
548
|
+
}
|
|
552
549
|
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
}
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
while (colIndex !== -1 && col < ncols) {
|
|
559
|
-
offsets.push(currRow + colIndex + 1);
|
|
560
|
-
col++;
|
|
561
|
-
colIndex = rowString.indexOf(delimiter, colIndex + 1);
|
|
562
|
-
}
|
|
550
|
+
if (columnOffsets === true && (ncols === undefined || col < ncols)) {
|
|
551
|
+
offsets.push(colIndex + 1);
|
|
552
|
+
}
|
|
553
|
+
col++;
|
|
554
|
+
}
|
|
563
555
|
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
556
|
+
maxNcols = Math.max(maxNcols, col);
|
|
557
|
+
|
|
558
|
+
if (ncols === undefined) {
|
|
559
|
+
// Set ncols to the number of fields we found.
|
|
560
|
+
ncols = col;
|
|
561
|
+
} else if (columnOffsets === true) {
|
|
562
|
+
// If we didn't reach the number of columns we expected, pad the offsets
|
|
563
|
+
// with the offset just before the row delimiter.
|
|
564
|
+
while (col < ncols) {
|
|
565
|
+
offsets.push(rowEnd);
|
|
566
|
+
col++;
|
|
570
567
|
}
|
|
571
568
|
}
|
|
572
569
|
|
|
@@ -574,5 +571,5 @@ export function parseDSVNoQuotes(options: IParser.IOptions): IParser.IResults {
|
|
|
574
571
|
currRow = rowEnd + rowDelimiterLength;
|
|
575
572
|
}
|
|
576
573
|
|
|
577
|
-
return { nrows, ncols: columnOffsets ? (ncols ?? 0) : 0, offsets };
|
|
574
|
+
return { nrows, ncols: columnOffsets ? (ncols ?? 0) : 0, maxNcols, offsets };
|
|
578
575
|
}
|