@tabnas/transduce 0.1.1 → 0.2.0

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 (83) hide show
  1. package/README.md +18 -0
  2. package/dist/guard.d.ts +1 -3
  3. package/dist/guard.js +8 -9
  4. package/dist/guard.js.map +1 -1
  5. package/dist/lines.d.ts +1 -2
  6. package/dist/lines.js +46 -89
  7. package/dist/lines.js.map +1 -1
  8. package/dist/matcher.d.ts +1 -3
  9. package/dist/matcher.js +12 -13
  10. package/dist/matcher.js.map +1 -1
  11. package/dist/parser-source.d.ts +1 -2
  12. package/dist/parser-source.js +11 -13
  13. package/dist/parser-source.js.map +1 -1
  14. package/dist/route.d.ts +1 -32
  15. package/dist/route.js +8 -32
  16. package/dist/route.js.map +1 -1
  17. package/dist/routers.d.ts +2 -0
  18. package/dist/routers.js +24 -0
  19. package/dist/routers.js.map +1 -0
  20. package/dist/rule-events.d.ts +1 -4
  21. package/dist/rule-events.js +40 -44
  22. package/dist/rule-events.js.map +1 -1
  23. package/dist/scan.d.ts +1 -10
  24. package/dist/scan.js +4 -17
  25. package/dist/scan.js.map +1 -1
  26. package/dist/source.d.ts +1 -4
  27. package/dist/source.js +20 -22
  28. package/dist/source.js.map +1 -1
  29. package/dist/table-from-json.d.ts +1 -5
  30. package/dist/table-from-json.js +25 -29
  31. package/dist/table-from-json.js.map +1 -1
  32. package/dist/transduce.d.ts +23 -19
  33. package/dist/transduce.js +66 -56
  34. package/dist/transduce.js.map +1 -1
  35. package/dist/tsconfig.tsbuildinfo +1 -1
  36. package/package.json +12 -4
  37. package/src/guard.ts +10 -4
  38. package/src/lines.ts +45 -6
  39. package/src/matcher.ts +1 -6
  40. package/src/parser-source.ts +2 -4
  41. package/src/route.ts +18 -70
  42. package/src/routers.ts +64 -0
  43. package/src/rule-events.ts +17 -7
  44. package/src/scan.ts +1 -19
  45. package/src/source.ts +12 -6
  46. package/src/table-from-json.ts +20 -9
  47. package/src/transduce.ts +36 -19
  48. package/dist/datum.d.ts +0 -64
  49. package/dist/datum.js +0 -391
  50. package/dist/datum.js.map +0 -1
  51. package/dist/error.d.ts +0 -43
  52. package/dist/error.js +0 -169
  53. package/dist/error.js.map +0 -1
  54. package/dist/event.d.ts +0 -56
  55. package/dist/event.js +0 -101
  56. package/dist/event.js.map +0 -1
  57. package/dist/json.d.ts +0 -4
  58. package/dist/json.js +0 -92
  59. package/dist/json.js.map +0 -1
  60. package/dist/limits.d.ts +0 -36
  61. package/dist/limits.js +0 -133
  62. package/dist/limits.js.map +0 -1
  63. package/dist/selector.d.ts +0 -40
  64. package/dist/selector.js +0 -154
  65. package/dist/selector.js.map +0 -1
  66. package/dist/sink.d.ts +0 -29
  67. package/dist/sink.js +0 -184
  68. package/dist/sink.js.map +0 -1
  69. package/dist/table.d.ts +0 -81
  70. package/dist/table.js +0 -141
  71. package/dist/table.js.map +0 -1
  72. package/dist/value.d.ts +0 -16
  73. package/dist/value.js +0 -96
  74. package/dist/value.js.map +0 -1
  75. package/src/datum.ts +0 -407
  76. package/src/error.ts +0 -198
  77. package/src/event.ts +0 -134
  78. package/src/json.ts +0 -82
  79. package/src/limits.ts +0 -165
  80. package/src/selector.ts +0 -191
  81. package/src/sink.ts +0 -199
  82. package/src/table.ts +0 -213
  83. package/src/value.ts +0 -93
package/README.md CHANGED
@@ -7,6 +7,24 @@ transducer, including event sources, routing, captures, and protocol checks.
7
7
  npm install @tabnas/transduce
8
8
  ```
9
9
 
10
+ `LinesSource` parses JSON Lines with `@tabnas/json` and CSV with
11
+ `@tabnas/csv`. Both are optional peers, loaded when a line source starts,
12
+ so install the ones your line sources read:
13
+
14
+ ```sh
15
+ npm install @tabnas/transduce @tabnas/json @tabnas/csv
16
+ ```
17
+
18
+ A line source whose grammar is not installed fails with a `TypeError` that
19
+ names the package.
20
+
21
+ The protocol types (`JsonEvent`, `Sink`, `TableEvent`, `Selector`, `Datum`,
22
+ `Fail` and its codes, `Limits`, `Metrics` and the captures' types) are
23
+ `@tabnas/alchemy`'s shared types, imported from `@tabnas/alchemy/shared`, a
24
+ peer, and re-exported here under the same names. `routers` is this
25
+ package's stages as alchemy's `Routers`, which a host passes to alchemy's
26
+ `compile` with `@tabnas/render`'s `renderers`.
27
+
10
28
  See the [project README](https://github.com/tabnas/transduce#readme) for the
11
29
  architecture, API examples, limits, and protocol documentation.
12
30
 
package/dist/guard.d.ts CHANGED
@@ -1,6 +1,4 @@
1
- import { JsonEvent } from './event';
2
- import { AbortFlag, Limits, Metrics } from './limits';
3
- import { Flow, Sink } from './sink';
1
+ import { AbortFlag, Flow, JsonEvent, Limits, Metrics, Sink } from '@tabnas/alchemy/shared';
4
2
  export declare class Guarded<S extends Sink> implements Sink {
5
3
  readonly inner: S;
6
4
  private maxDepth;
package/dist/guard.js CHANGED
@@ -10,8 +10,7 @@ exports.Guarded = void 0;
10
10
  // over a parsed value; the abort flag is polled per event so a walk stops
11
11
  // as promptly as a parse does; and the source metrics (events, keys,
12
12
  // scalars) are counted locally and flushed in one step.
13
- const error_1 = require("./error");
14
- const limits_1 = require("./limits");
13
+ const shared_1 = require("@tabnas/alchemy/shared");
15
14
  // A sink wrapper that enforces the source limits and counts.
16
15
  class Guarded {
17
16
  constructor(inner, limits, abort, metrics) {
@@ -42,19 +41,19 @@ class Guarded {
42
41
  scalar(bytes) {
43
42
  this.scalars++;
44
43
  if (bytes > this.maxScalarBytes) {
45
- throw error_1.Fail.limit('max_scalar_bytes', this.maxScalarBytes, `a scalar of ${bytes} bytes is larger than ${this.maxScalarBytes}`);
44
+ throw shared_1.Fail.limit('max_scalar_bytes', this.maxScalarBytes, `a scalar of ${bytes} bytes is larger than ${this.maxScalarBytes}`);
46
45
  }
47
46
  }
48
47
  event(ev) {
49
48
  if (this.abort.isAborted())
50
- throw error_1.Fail.aborted();
49
+ throw shared_1.Fail.aborted();
51
50
  this.events++;
52
51
  switch (ev.type) {
53
52
  case 'object_start':
54
53
  case 'array_start':
55
54
  this.open++;
56
55
  if (this.open > this.maxDepth) {
57
- throw error_1.Fail.limit('max_depth', this.maxDepth, `a container is nested deeper than ${this.maxDepth}`);
56
+ throw shared_1.Fail.limit('max_depth', this.maxDepth, `a container is nested deeper than ${this.maxDepth}`);
58
57
  }
59
58
  break;
60
59
  case 'object_end':
@@ -63,17 +62,17 @@ class Guarded {
63
62
  break;
64
63
  case 'key': {
65
64
  this.keys++;
66
- const n = (0, limits_1.utf8Bytes)(ev.key);
65
+ const n = (0, shared_1.utf8Bytes)(ev.key);
67
66
  if (n > this.maxKeyBytes) {
68
- throw error_1.Fail.limit('max_key_bytes', this.maxKeyBytes, `a key of ${n} bytes is longer than ${this.maxKeyBytes}`);
67
+ throw shared_1.Fail.limit('max_key_bytes', this.maxKeyBytes, `a key of ${n} bytes is longer than ${this.maxKeyBytes}`);
69
68
  }
70
69
  break;
71
70
  }
72
71
  case 'string':
73
- this.scalar((0, limits_1.utf8Bytes)(ev.value));
72
+ this.scalar((0, shared_1.utf8Bytes)(ev.value));
74
73
  break;
75
74
  case 'number':
76
- this.scalar(null != ev.lexeme ? (0, limits_1.utf8Bytes)(ev.lexeme) : 0);
75
+ this.scalar(null != ev.lexeme ? (0, shared_1.utf8Bytes)(ev.lexeme) : 0);
77
76
  break;
78
77
  case 'null':
79
78
  case 'bool':
package/dist/guard.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"guard.js","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guard.js","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"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"}
package/dist/lines.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- import { AbortFlag, Limits, Metrics } from './limits';
2
- import { Flow, Sink } from './sink';
1
+ import { AbortFlag, Flow, Limits, Metrics, Sink } from '@tabnas/alchemy/shared';
3
2
  import { Source } from './source';
4
3
  export declare const DEFAULT_CHUNK_BYTES: number;
5
4
  export type LineFormat = {
package/dist/lines.js CHANGED
@@ -2,71 +2,28 @@
2
2
  /* Copyright (c) 2026 tabnas, MIT License */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.LinesSource = exports.LineFormat = exports.DEFAULT_CHUNK_BYTES = void 0;
5
- // `LinesSource`: JSON Lines and CSV a record (or a chunk of records) at a
6
- // time, from a synchronous iterable of chunks or pushed chunk by chunk.
7
- //
8
- // The engine parses a whole string, so a document is retained at least
9
- // once however it is consumed. Line-delimited formats do not need to be one
10
- // document: JSON Lines is one value per line, and CSV is a header plus
11
- // independent records, so each can be parsed a piece at a time with one
12
- // reused parser and the memory a run needs stops depending on the input's
13
- // size. Its events are exactly the whole-input parse's (the array of the
14
- // per-line values, or of the records).
15
- //
16
- // Both formats cut the input where the grammar ends a record, reading the
17
- // text as the grammar's own lexer does (with the line characters, quotes,
18
- // separators and comments its parser's resolved options set), and nothing
19
- // read is left unparsed but a blank JSON Lines record, which the grammar
20
- // skips too.
21
- //
22
- // JSON Lines: each record is parsed with one `@tabnas/json` parser. A
23
- // record is the text between line characters outside a string, so a lone
24
- // `\r` ends one as `\n` does. A record of nothing but the grammar's spaces
25
- // (a space or a tab) is blank and skipped; any other is parsed, so a line
26
- // holding a form feed or a no-break space fails as the grammar fails it.
27
- // On the incremental path (`runIncremental`, or a writer asked for it) the
28
- // record goes through the rule-event adapter, reset per record, so numbers
29
- // keep their lexemes; on the walking path (`run`) the value is walked and
30
- // numbers carry none. A record that does not parse is `INPUT_INVALID` with
31
- // its line's number as the row.
32
- //
33
- // CSV: the input is cut into chunks of whole records. A quote opens a
34
- // quoted field only where the lexer starts a token (a record's start, after
35
- // the field separator or a space), so a quote inside a field is that
36
- // field's text; the configured quote reads `""` as one quote; a quoted
37
- // field, a backtick string and a block comment may span lines; and a line
38
- // character anywhere else, a lone `\r` as much as `\n`, ends a record. The
39
- // header record, the first record the grammar reads (a blank or comment
40
- // line before it is none), is kept and prepended to every chunk after the
41
- // first when `header` is on, so the reused `@tabnas/csv` parser names each
42
- // record's fields as the whole input would. A chunk closes at the first
43
- // record boundary at or past `DEFAULT_CHUNK_BYTES` (or the configured
44
- // size), so one chunk, and never a fraction of a record, is what a parse
45
- // holds. An input that ends inside a quoted field fails with the grammar's
46
- // `unterminated_string`, in the header as anywhere. CSV is walked on both
47
- // paths.
48
- //
49
- // The input is read a piece at a time, and a piece ends just past each of
50
- // the grammar's line endings: one of its line characters (a lone `\r` or a
51
- // configured separator as much as `\n`), a `\r\n`, or under `record.empty`
52
- // the whole line token the lexer reads. A line character inside one of the
53
- // grammar's fixed tokens (a field separator such as `"\n~"`) is the token's
54
- // and ends no piece. So a record never waits for a `\n` to end, and a chunk
55
- // can close after any record, however many of them one `\n`-terminated line
56
- // holds. Where the input so far ends inside what may be one line ending,
57
- // the piece waits for the next chunk of it.
58
- //
59
- // Every count is in UTF-8 bytes of the input as it arrives. A single
60
- // record larger than `max_record_bytes` (a record with its line ending; for
61
- // the CSV header, everything up to its end) fails with that limit's name
62
- // the moment it passes the limit, whatever its length, rather than growing
63
- // a chunk without bound.
64
- const csv_1 = require("@tabnas/csv");
65
- const json_1 = require("@tabnas/json");
66
- const error_1 = require("./error");
67
- const event_1 = require("./event");
5
+ function grammar(name, format, load) {
6
+ try {
7
+ return load();
8
+ }
9
+ catch (error) {
10
+ // Only the grammar itself missing, not something it requires.
11
+ if ('MODULE_NOT_FOUND' === error?.code &&
12
+ String(error.message).startsWith(`Cannot find module '${name}'`)) {
13
+ throw new TypeError(`LinesSource: ${format} needs ${name}, an optional peer of ` +
14
+ `@tabnas/transduce; install it alongside`);
15
+ }
16
+ throw error;
17
+ }
18
+ }
19
+ function makeCsv(options) {
20
+ return grammar('@tabnas/csv', 'CSV', () => require('@tabnas/csv')).make(options);
21
+ }
22
+ function makeJson() {
23
+ return grammar('@tabnas/json', 'JSON Lines', () => require('@tabnas/json')).make();
24
+ }
25
+ const shared_1 = require("@tabnas/alchemy/shared");
68
26
  const guard_1 = require("./guard");
69
- const limits_1 = require("./limits");
70
27
  const rule_events_1 = require("./rule-events");
71
28
  const source_1 = require("./source");
72
29
  // How much of the input one CSV parse holds, at most one record over.
@@ -85,9 +42,9 @@ exports.LineFormat = Object.freeze({
85
42
  class LinesSource {
86
43
  // `input` may be `null` for a source used only through `writer`.
87
44
  constructor(input, format) {
88
- this.sourceLimits = limits_1.Limits.default();
89
- this.abortFlag = new limits_1.AbortFlag();
90
- this.sourceMetrics = new limits_1.Metrics();
45
+ this.sourceLimits = shared_1.Limits.default();
46
+ this.abortFlag = new shared_1.AbortFlag();
47
+ this.sourceMetrics = new shared_1.Metrics();
91
48
  this.chunkSize = exports.DEFAULT_CHUNK_BYTES;
92
49
  this.consumed = false;
93
50
  this.input = input;
@@ -122,7 +79,7 @@ class LinesSource {
122
79
  }
123
80
  drive(writer) {
124
81
  if (this.consumed) {
125
- throw new error_1.Fail('STREAM_REUSED', 'a LinesSource reads its input once');
82
+ throw new shared_1.Fail('STREAM_REUSED', 'a LinesSource reads its input once');
126
83
  }
127
84
  if (null === this.input) {
128
85
  throw new TypeError('LinesSource: no input; use writer() to push chunks');
@@ -170,7 +127,7 @@ class Writer {
170
127
  if ('failed' === this.state)
171
128
  throw this.failure;
172
129
  if ('ended' === this.state)
173
- throw error_1.Fail.protocol('the line source has already ended');
130
+ throw shared_1.Fail.protocol('the line source has already ended');
174
131
  try {
175
132
  if (!this.started) {
176
133
  this.started = true;
@@ -249,7 +206,7 @@ class PieceSplitter {
249
206
  // when it takes more, given the row it starts on: the bound is the
250
207
  // record's, so the format that reads the records sets both.
251
208
  this.budget = () => Infinity;
252
- this.over = (row) => error_1.Fail.input(`line ${row} is too long`).at(row, 1);
209
+ this.over = (row) => shared_1.Fail.input(`line ${row} is too long`).at(row, 1);
253
210
  // The engine keeps a character outside the basic plane as its two
254
211
  // UTF-16 halves, each a line character; the input holds it as one
255
212
  // four-byte form, which ends a piece when both halves are line
@@ -427,7 +384,7 @@ class PieceSplitter {
427
384
  if (0 <= bad) {
428
385
  const valid = DECODER.decode(raw.subarray(0, bad));
429
386
  const [badRow, offset] = advance(this.rows, this.row, this.offset, valid);
430
- throw error_1.Fail.input(`line ${badRow} is not UTF-8 from its byte ${offset + 1}`).at(badRow, offset + 1);
387
+ throw shared_1.Fail.input(`line ${badRow} is not UTF-8 from its byte ${offset + 1}`).at(badRow, offset + 1);
431
388
  }
432
389
  const text = DECODER.decode(raw);
433
390
  [this.row, this.offset] = advance(this.rows, this.row, this.offset, text);
@@ -536,14 +493,14 @@ function lineFailure(error, line, start, abort) {
536
493
  }
537
494
  else {
538
495
  fail.row = line;
539
- fail.col = (0, error_1.enginePosition)(error)?.col ?? 0;
496
+ fail.col = (0, shared_1.enginePosition)(error)?.col ?? 0;
540
497
  }
541
498
  return fail;
542
499
  }
543
500
  // A failure while the record or chunk that starts on row `start` was read:
544
501
  // an abort that names no row names that one.
545
502
  function atRecord(error, start) {
546
- if (error instanceof error_1.Fail && 'ABORTED' === error.code && undefined === error.row) {
503
+ if (error instanceof shared_1.Fail && 'ABORTED' === error.code && undefined === error.row) {
547
504
  error.row = start;
548
505
  }
549
506
  return error;
@@ -579,7 +536,7 @@ class JsonRecords {
579
536
  splitter.budget = () => this.maxBytes - this.bytes;
580
537
  splitter.over = (row) => {
581
538
  const first = this.start || row;
582
- return error_1.Fail.limit('max_record_bytes', this.maxBytes, `line ${first} is longer than ${this.maxBytes} bytes`).at(first, 1);
539
+ return shared_1.Fail.limit('max_record_bytes', this.maxBytes, `line ${first} is longer than ${this.maxBytes} bytes`).at(first, 1);
583
540
  };
584
541
  return splitter;
585
542
  }
@@ -639,7 +596,7 @@ class JsonlWalk {
639
596
  constructor(sink, options) {
640
597
  this.guarded = new guard_1.Guarded(sink, options.limits, options.abort, options.metrics);
641
598
  this.abort = options.abort;
642
- this.parser = (0, json_1.make)();
599
+ this.parser = makeJson();
643
600
  const abort = options.abort;
644
601
  (0, rule_events_1.prepare)(this.parser, () => !abort.isAborted());
645
602
  this.records = new JsonRecords(this.parser, options.limits.max_record_bytes);
@@ -647,7 +604,7 @@ class JsonlWalk {
647
604
  this.onRecord = (row, text) => this.record(row, text);
648
605
  }
649
606
  begin() {
650
- return this.guarded.event(event_1.Ev.arrayStart);
607
+ return this.guarded.event(shared_1.Ev.arrayStart);
651
608
  }
652
609
  piece(row, text, bytes) {
653
610
  return this.records.piece(row, text, bytes, this.onRecord);
@@ -670,9 +627,9 @@ class JsonlWalk {
670
627
  finish() {
671
628
  if ('stop' === this.records.end(this.onRecord))
672
629
  return 'stop';
673
- if ('stop' === this.guarded.event(event_1.Ev.arrayEnd))
630
+ if ('stop' === this.guarded.event(shared_1.Ev.arrayEnd))
674
631
  return 'stop';
675
- return this.guarded.event(event_1.Ev.end);
632
+ return this.guarded.event(shared_1.Ev.end);
676
633
  }
677
634
  close() {
678
635
  this.guarded.flush();
@@ -684,12 +641,12 @@ class JsonlIncremental {
684
641
  constructor(sink, options) {
685
642
  // The record being read, which an abort the adapter raised names.
686
643
  this.reading = 0;
687
- const stop = new limits_1.AbortFlag();
644
+ const stop = new shared_1.AbortFlag();
688
645
  const abort = options.abort;
689
646
  this.abort = abort;
690
647
  const adapter = new rule_events_1.Adapter(sink, options.limits, abort, options.metrics, source_1.Prune.never(), stop);
691
648
  this.adapter = adapter;
692
- this.parser = (0, json_1.make)();
649
+ this.parser = makeJson();
693
650
  (0, rule_events_1.prepare)(this.parser, () => !abort.isAborted() && !stop.isAborted(), (rule, done) => adapter.onDone(rule, done));
694
651
  this.records = new JsonRecords(this.parser, options.limits.max_record_bytes);
695
652
  this.splitter = this.records.splitter();
@@ -706,7 +663,7 @@ class JsonlIncremental {
706
663
  return null;
707
664
  }
708
665
  begin() {
709
- return this.adapter.send(event_1.Ev.arrayStart);
666
+ return this.adapter.send(shared_1.Ev.arrayStart);
710
667
  }
711
668
  piece(row, text, bytes) {
712
669
  return this.records.piece(row, text, bytes, this.onRecord);
@@ -751,9 +708,9 @@ class JsonlIncremental {
751
708
  const status = this.status();
752
709
  if (null !== status)
753
710
  return status;
754
- if ('stop' === this.adapter.send(event_1.Ev.arrayEnd))
711
+ if ('stop' === this.adapter.send(shared_1.Ev.arrayEnd))
755
712
  return 'stop';
756
- return this.adapter.send(event_1.Ev.end);
713
+ return this.adapter.send(shared_1.Ev.end);
757
714
  }
758
715
  close() {
759
716
  this.adapter.sink.flush();
@@ -1024,7 +981,7 @@ class CsvWalk {
1024
981
  this.maxRecordBytes = options.limits.max_record_bytes;
1025
982
  this.chunkBytes = options.chunkBytes;
1026
983
  this.wantHeader = header;
1027
- this.parser = (0, csv_1.make)({ ...grammar, header });
984
+ this.parser = makeCsv({ ...grammar, header });
1028
985
  this.recordEmpty = !!this.parser.options.plugin?.csv?.record?.empty;
1029
986
  const abort = options.abort;
1030
987
  (0, rule_events_1.prepare)(this.parser, () => !abort.isAborted());
@@ -1034,12 +991,12 @@ class CsvWalk {
1034
991
  splitter.budget = () => this.maxRecordBytes - (this.open ? this.bytes - this.recordAt : 0);
1035
992
  splitter.over = (row) => {
1036
993
  const first = (this.open && this.recordRow) || row;
1037
- return error_1.Fail.limit('max_record_bytes', this.maxRecordBytes, `the record starting at line ${first} is longer than ${this.maxRecordBytes} bytes`).at(first, 1);
994
+ return shared_1.Fail.limit('max_record_bytes', this.maxRecordBytes, `the record starting at line ${first} is longer than ${this.maxRecordBytes} bytes`).at(first, 1);
1038
995
  };
1039
996
  this.splitter = splitter;
1040
997
  }
1041
998
  begin() {
1042
- return this.guarded.event(event_1.Ev.arrayStart);
999
+ return this.guarded.event(shared_1.Ev.arrayStart);
1043
1000
  }
1044
1001
  // Opens a chunk: after the first, the header goes in front of it.
1045
1002
  openChunk() {
@@ -1106,7 +1063,7 @@ class CsvWalk {
1106
1063
  value = this.parser.parse(text);
1107
1064
  }
1108
1065
  catch (err) {
1109
- const pos = (0, error_1.enginePosition)(err);
1066
+ const pos = (0, shared_1.enginePosition)(err);
1110
1067
  const rowInChunk = Math.max(pos?.row ?? 0, 1);
1111
1068
  // An error in the prepended header itself is the file's first line.
1112
1069
  const line = rowInChunk > prefixLines ? firstLine + rowInChunk - prefixLines - 1 : 1;
@@ -1128,9 +1085,9 @@ class CsvWalk {
1128
1085
  finish() {
1129
1086
  if ('stop' === this.flush())
1130
1087
  return 'stop';
1131
- if ('stop' === this.guarded.event(event_1.Ev.arrayEnd))
1088
+ if ('stop' === this.guarded.event(shared_1.Ev.arrayEnd))
1132
1089
  return 'stop';
1133
- return this.guarded.event(event_1.Ev.end);
1090
+ return this.guarded.event(shared_1.Ev.end);
1134
1091
  }
1135
1092
  close() {
1136
1093
  this.guarded.flush();
package/dist/lines.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lines.js","sourceRoot":"","sources":["../src/lines.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lines.js","sourceRoot":"","sources":["../src/lines.ts"],"names":[],"mappings":"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"}
package/dist/matcher.d.ts CHANGED
@@ -1,6 +1,4 @@
1
- import { JsonEvent } from './event';
2
- import { Path, Selector } from './selector';
3
- export type CaptureId = number;
1
+ import { CaptureId, JsonEvent, Path, Selector } from '@tabnas/alchemy/shared';
4
2
  export type HitKind = 'key' | 'start' | 'scalar' | 'close' | 'end';
5
3
  export type Hit = {
6
4
  kind: HitKind;