marcattacks 2.5.1 → 2.8.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 (100) hide show
  1. package/README.md +91 -2
  2. package/dist/attacker.d.ts +6 -0
  3. package/dist/attacker.d.ts.map +1 -1
  4. package/dist/attacker.js +38 -0
  5. package/dist/attacker.js.map +1 -1
  6. package/dist/command.js +1 -0
  7. package/dist/command.js.map +1 -1
  8. package/dist/fix/binds.d.ts +5 -0
  9. package/dist/fix/binds.d.ts.map +1 -0
  10. package/dist/fix/binds.js +82 -0
  11. package/dist/fix/binds.js.map +1 -0
  12. package/dist/fix/conditions.d.ts +5 -0
  13. package/dist/fix/conditions.d.ts.map +1 -0
  14. package/dist/fix/conditions.js +111 -0
  15. package/dist/fix/conditions.js.map +1 -0
  16. package/dist/fix/fixes.d.ts +7 -0
  17. package/dist/fix/fixes.d.ts.map +1 -0
  18. package/dist/fix/fixes.js +478 -0
  19. package/dist/fix/fixes.js.map +1 -0
  20. package/dist/fix/index.d.ts +12 -0
  21. package/dist/fix/index.d.ts.map +1 -0
  22. package/dist/fix/index.js +40 -0
  23. package/dist/fix/index.js.map +1 -0
  24. package/dist/fix/parser.d.ts +25 -0
  25. package/dist/fix/parser.d.ts.map +1 -0
  26. package/dist/fix/parser.js +156 -0
  27. package/dist/fix/parser.js.map +1 -0
  28. package/dist/fix/path.d.ts +23 -0
  29. package/dist/fix/path.d.ts.map +1 -0
  30. package/dist/fix/path.js +351 -0
  31. package/dist/fix/path.js.map +1 -0
  32. package/dist/fix/signal.d.ts +2 -0
  33. package/dist/fix/signal.d.ts.map +1 -0
  34. package/dist/fix/signal.js +5 -0
  35. package/dist/fix/signal.js.map +1 -0
  36. package/dist/fix/util.d.ts +6 -0
  37. package/dist/fix/util.d.ts.map +1 -0
  38. package/dist/fix/util.js +133 -0
  39. package/dist/fix/util.js.map +1 -0
  40. package/dist/input/alephseq.d.ts.map +1 -1
  41. package/dist/input/alephseq.js +18 -5
  42. package/dist/input/alephseq.js.map +1 -1
  43. package/dist/input/fastxml.d.ts +3 -0
  44. package/dist/input/fastxml.d.ts.map +1 -0
  45. package/dist/input/fastxml.js +134 -0
  46. package/dist/input/fastxml.js.map +1 -0
  47. package/dist/input/xml.d.ts.map +1 -1
  48. package/dist/input/xml.js +4 -2
  49. package/dist/input/xml.js.map +1 -1
  50. package/dist/marcmap.d.ts.map +1 -1
  51. package/dist/marcmap.js +15 -3
  52. package/dist/marcmap.js.map +1 -1
  53. package/dist/output/alephseq.d.ts.map +1 -1
  54. package/dist/output/alephseq.js +29 -5
  55. package/dist/output/alephseq.js.map +1 -1
  56. package/dist/output/null.d.ts +3 -0
  57. package/dist/output/null.d.ts.map +1 -0
  58. package/dist/output/null.js +13 -0
  59. package/dist/output/null.js.map +1 -0
  60. package/dist/output/xml.d.ts.map +1 -1
  61. package/dist/output/xml.js +27 -0
  62. package/dist/output/xml.js.map +1 -1
  63. package/dist/stream/framer.d.ts.map +1 -0
  64. package/dist/stream/framer.js.map +1 -0
  65. package/dist/stream/worker-pool-str.d.ts.map +1 -0
  66. package/dist/stream/worker-pool-str.js.map +1 -0
  67. package/dist/stream/worker-pool.d.ts +10 -0
  68. package/dist/stream/worker-pool.d.ts.map +1 -0
  69. package/dist/stream/worker-pool.js +217 -0
  70. package/dist/stream/worker-pool.js.map +1 -0
  71. package/dist/transform/fix.d.ts +16 -0
  72. package/dist/transform/fix.d.ts.map +1 -0
  73. package/dist/transform/fix.js +46 -0
  74. package/dist/transform/fix.js.map +1 -0
  75. package/dist/transform/jsonata.d.ts +5 -0
  76. package/dist/transform/jsonata.d.ts.map +1 -1
  77. package/dist/transform/jsonata.js +45 -44
  78. package/dist/transform/jsonata.js.map +1 -1
  79. package/dist/transform/marcids.d.ts.map +1 -1
  80. package/dist/transform/marcids.js +3 -0
  81. package/dist/transform/marcids.js.map +1 -1
  82. package/dist/util/marc_record.d.ts +19 -0
  83. package/dist/util/marc_record.d.ts.map +1 -0
  84. package/dist/util/marc_record.js +16 -0
  85. package/dist/util/marc_record.js.map +1 -0
  86. package/dist/worker-str.d.ts.map +1 -0
  87. package/dist/worker-str.js.map +1 -0
  88. package/dist/worker.d.ts +2 -0
  89. package/dist/worker.d.ts.map +1 -0
  90. package/dist/worker.js +33 -0
  91. package/dist/worker.js.map +1 -0
  92. package/package.json +5 -2
  93. package/dist/output/mulitipart.d.ts +0 -7
  94. package/dist/output/mulitipart.d.ts.map +0 -1
  95. package/dist/output/mulitipart.js +0 -53
  96. package/dist/output/mulitipart.js.map +0 -1
  97. package/dist/output/text.d.ts +0 -6
  98. package/dist/output/text.d.ts.map +0 -1
  99. package/dist/output/text.js +0 -34
  100. package/dist/output/text.js.map +0 -1
package/README.md CHANGED
@@ -57,6 +57,40 @@ Transform the MARC input using a [JSONata](https://docs.jsonata.org/overview.htm
57
57
  marcattacks --param fix=./demo/demo.jsonata ./data/sample.xml
58
58
  ```
59
59
 
60
+ Or transform using a [Catmandu](https://github.com/LibreCat/Catmandu) **Fix** script — a declarative,
61
+ line-based mapping language built for library metadata (and faster than JSONata):
62
+
63
+ ```
64
+ marcattacks --to jsonl --map fix --param fix=./demo/marc2rdf.fix ./data/sample.xml
65
+ ```
66
+
67
+ A Fix script is a list of `name(args)` statements, with `if/unless ... end`
68
+ conditionals and `do ... end` binds:
69
+
70
+ ```
71
+ marc_map('245ab', title, join: ' ') # copy MARC 245$a$b into title
72
+ upcase(title) # uppercase it
73
+ add_field(type, Book) # add a constant field
74
+ lookup(type, ./types.csv) # map a value through a CSV table
75
+ do marc_each() # loop over each MARC field
76
+ unless marc_match('500e', skip)
77
+ marc_map('500', note.$append)
78
+ end
79
+ end
80
+ remove_field(record)
81
+ ```
82
+
83
+ See `./demo/marc2rdf.fix` and `./demo/example.fix` for complete examples.
84
+
85
+ The `types.csv` is a two column lookup list in CSV format. E.g.
86
+
87
+ ```
88
+ A,B
89
+ Book,http://example.org/ns#Book
90
+ ```
91
+
92
+ The `fix` mapper implements a subset of the most common Catmandu Fix builtins created by the [LibreCat project](https://librecat.org). A full reference for the Fix language can be found here: https://librecat.org/assets/catmandu_cheat_sheet.pdf.
93
+
60
94
  ## Stdin
61
95
 
62
96
  Use a pseudo URL `stdin://` to read from the standard input
@@ -101,25 +135,43 @@ use `s3s://...` for using an SSL layer.
101
135
  - csv
102
136
  - tsv
103
137
  - xml (MARCXML)
138
+ - fastxml (optimized parser for MARCXML)
104
139
 
105
140
  ### Output (--to)
106
141
 
107
142
  - alephseq (Aleph sequential)
143
+ - csv
144
+ - opts:
145
+ - header: string
146
+ - delimiter: string
108
147
  - json
109
148
  - jsonl
149
+ - multipart
150
+ - opts:
151
+ - header: string
152
+ - delimited: string
153
+ - noEndDelimited: true | false
154
+ - null (output nothing, for benchmarking)
110
155
  - parquet
156
+ - opts:
157
+ - schema: string (path)
111
158
  - rdf
112
159
  - csv
113
160
  - tsv
161
+ - opts:
162
+ - header: string
163
+ - delimiter: string
114
164
  - xml (MARCXML)
115
165
 
116
166
  ### Transform (--map)
117
167
 
118
168
  - avram : A mapper from MARC to [Avram](https://format.gbv.de/schema/avram/specification)
169
+ - fix : A [Catmandu](https://librecat.org/) Fix-language mapper (`--param fix=<file>`). See `./demo/marc2rdf.fix`
119
170
  - jsonata : A jsonata fixer (_default_)
120
- - marcids : A mapper from MARC to a list of record ids
121
171
  - marc2rdf : A mapper from MARC to RDF (demonstrator)
122
-
172
+ - marcids : A mapper from MARC to a list of record ids
173
+ - marcinrdf : A naive mapper from MARC into RDF producing a list of lists (demonstrator)
174
+
123
175
  Or, provide your own transformers using JavaScript plugins. See: ./plugin/demo.js for an example.
124
176
 
125
177
  ### Param (--param)
@@ -130,6 +182,43 @@ Provide a params to the mapper, input and output. See examples:
130
182
  - `npm run demo:n3`
131
183
  - `npm run biblio:one`
132
184
 
185
+ ### Parallelism (--workers)
186
+
187
+ `--workers <n>` runs the map stage (`--map`) on `<n>` worker threads while the
188
+ main thread handles I/O, parsing and serialization. Output order is preserved.
189
+
190
+ The default is **`auto`**, which uses **CPU cores − 1** — leaving one core free
191
+ for the main thread (parsing / I/O / serialization / result reordering). Using
192
+ *all* cores oversubscribes the machine and is typically a few percent slower, so
193
+ `cores − 1` is the sweet spot. Pass an explicit number to override (e.g.
194
+ `--workers 4`), or **`--workers 1` to disable threading**.
195
+
196
+ Threading only helps when **the map is the bottleneck** — i.e. a heavy,
197
+ interpreted [JSONata](https://docs.jsonata.org/) transform
198
+ (`--param fix=...jsonata`), where it scales to roughly 1.8× (capped by
199
+ main-thread coordination, not the map). For cheap maps the per-record cost of
200
+ shipping records to/from threads outweighs the work, so the `auto` default only
201
+ threads maps that actually benefit:
202
+
203
+ - **`jsonata`** opts in — `auto` threads it (this is also the default map).
204
+ - The **Fix** mapper (`--map fix`) is compiled and runs at ~100k+ rec/s, so it
205
+ is almost never the bottleneck; `auto` leaves it **single-threaded**. (You can
206
+ still force threads with an explicit `--workers <n>`, but it rarely helps.)
207
+ - Any other map (no `createMapper`) always runs single-threaded; an explicit
208
+ `--workers <n>` on such a map is ignored with a warning.
209
+
210
+ For the cheap-map cases the bottleneck is the reader/writer, not the map. The
211
+ biggest lever is the input reader: prefer **`--from fastxml`** over the default
212
+ sax `xml` reader (roughly 2× on MARCXML). For example, with a Fix map:
213
+
214
+ ```
215
+ marcattacks --from fastxml --to jsonl --map fix --param fix=./demo/marc2rdf.fix input.xml.gz
216
+ ```
217
+
218
+ Rule of thumb: **heavy jsonata → keep the `auto` default (or set `--workers <n>`);
219
+ fix / cheap maps → `--from fastxml`** (the `auto` default already keeps them
220
+ single-threaded, so no `--workers` flag is needed).
221
+
133
222
  ### Writable (--out)
134
223
 
135
224
  - _default_: stdout
@@ -22,6 +22,12 @@ export declare function createCountSkipStage(opts: {
22
22
  count?: number;
23
23
  skip?: number;
24
24
  }): Promise<Transform | null>;
25
+ export declare function isAutoWorkers(workersOpt: unknown): boolean;
26
+ export declare function resolveWorkerCount(workersOpt: unknown, cores?: number): number;
27
+ export declare function shouldParallelize(workersOpt: unknown, caps: {
28
+ parallelizable: boolean;
29
+ autoParallel: boolean;
30
+ }, cores?: number): boolean;
25
31
  export declare function createMapTransformStage(opts: any): Promise<Transform | null>;
26
32
  export declare function createOutputWriteStream(opts: any): Promise<Writable>;
27
33
  export declare function createOutputTransformStage(opts: any): Promise<Transform | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"attacker.d.ts","sourceRoot":"","sources":["../src/attacker.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAgB5D,qBAAa,aAAc,SAAQ,KAAK;IACpC,SAAgB,UAAU,EAAE,MAAM,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAUlD;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,GAAG,CAAA;CAAE,CAAC,CA4ChH;AAED,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;IAAE,CAAC,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAKzG;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAKnG;AAED,wBAAsB,yBAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAA;CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAQ/G;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAK3G;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAMlF;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAqD1E;AAED,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAMrF;AAED,wBAAsB,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAgEjE"}
1
+ {"version":3,"file":"attacker.d.ts","sourceRoot":"","sources":["../src/attacker.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAkB5D,qBAAa,aAAc,SAAQ,KAAK;IACpC,SAAgB,UAAU,EAAE,MAAM,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAUlD;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,GAAG,CAAA;CAAE,CAAC,CA4ChH;AAED,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;IAAE,CAAC,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAKzG;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAKnG;AAED,wBAAsB,yBAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAA;CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAQ/G;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAK3G;AAKD,wBAAgB,aAAa,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAE1D;AACD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,GAAE,MAA+B,GAAG,MAAM,CAItG;AAQD,wBAAgB,iBAAiB,CAC7B,UAAU,EAAE,OAAO,EACnB,IAAI,EAAE;IAAE,cAAc,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,EACxD,KAAK,GAAE,MAA+B,GACvC,OAAO,CAIT;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAkBlF;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAqD1E;AAED,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAMrF;AAED,wBAAsB,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAgEjE"}
package/dist/attacker.js CHANGED
@@ -11,6 +11,8 @@ import { s3LatestObject, s3ReadStream, s3WriteStream } from './stream/s3stream.j
11
11
  import { pipeline } from 'node:stream/promises';
12
12
  import { createCountableSkippedStream, createUntarredStream, createUncompressedStream, createVerboseStream, getCleanURL } from './util/stream_helpers.js';
13
13
  import { fileLatestFile, fileReadStream } from './stream/filestream.js';
14
+ import { createWorkerPool } from './stream/worker-pool.js';
15
+ import { availableParallelism } from 'node:os';
14
16
  const logger = log4js.getLogger();
15
17
  export class PipelineError extends Error {
16
18
  statusCode;
@@ -86,9 +88,45 @@ export async function createCountSkipStage(opts) {
86
88
  }
87
89
  return null;
88
90
  }
91
+ // --workers is "auto" by default = CPU cores - 1, leaving a core for the main
92
+ // thread (parse / I/O / serialize / reorder). An explicit number is honored
93
+ // as-is; "1" (or auto resolving to 1 on a single core) disables threading.
94
+ export function isAutoWorkers(workersOpt) {
95
+ return workersOpt === undefined || workersOpt === 'auto';
96
+ }
97
+ export function resolveWorkerCount(workersOpt, cores = availableParallelism()) {
98
+ return isAutoWorkers(workersOpt)
99
+ ? Math.max(1, cores - 1)
100
+ : (parseInt(String(workersOpt), 10) || 1);
101
+ }
102
+ // Decide whether the map runs on worker threads:
103
+ // - the resolved worker count must be > 1, and
104
+ // - the map must be parallelizable (exposes createMapper), and
105
+ // - in `auto` mode the map must also opt in (autoParallel) — so cheap maps
106
+ // like `fix` stay single-threaded by default; an EXPLICIT --workers N
107
+ // threads any parallelizable map regardless of autoParallel.
108
+ export function shouldParallelize(workersOpt, caps, cores = availableParallelism()) {
109
+ if (resolveWorkerCount(workersOpt, cores) <= 1)
110
+ return false;
111
+ if (!caps.parallelizable)
112
+ return false;
113
+ return !isAutoWorkers(workersOpt) || caps.autoParallel;
114
+ }
89
115
  export async function createMapTransformStage(opts) {
90
116
  if (opts.map) {
91
117
  const mod = await loadPlugin(opts.map, 'transform');
118
+ const parallelizable = typeof mod.createMapper === 'function';
119
+ const autoParallel = mod.autoParallel === true;
120
+ const workers = resolveWorkerCount(opts.workers);
121
+ if (shouldParallelize(opts.workers, { parallelizable, autoParallel })) {
122
+ return createWorkerPool({ map: opts.map, param: opts.param, workers });
123
+ }
124
+ // Only nag when the user EXPLICITLY asked for threads on a map that
125
+ // can't use them; auto stays quiet (and cheap parallelizable maps just
126
+ // run serial under auto by design).
127
+ if (workers > 1 && !parallelizable && !isAutoWorkers(opts.workers)) {
128
+ logger.warn(`--workers ${workers} ignored: map '${opts.map}' is not parallelizable`);
129
+ }
92
130
  return await mod.transform(opts.param, { utils: marcUtils });
93
131
  }
94
132
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"attacker.js","sourceRoot":"","sources":["../src/attacker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attacker.js","sourceRoot":"","sources":["../src/attacker.ts"],"names":[],"mappings":"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"}
package/dist/command.js CHANGED
@@ -22,6 +22,7 @@ program.version(pkg.version)
22
22
  .option('--tar', 'untar input')
23
23
  .option('--count <num>', 'output only <num> records')
24
24
  .option('--skip <num>', 'skip first <num> records')
25
+ .option('--workers <num>', 'run the map on <num> worker threads; default "auto" = CPU cores - 1 (leaves a core for parsing/I/O). Use 1 to disable. Auto only threads heavy maps (jsonata); cheap maps like fix stay single-threaded unless you pass an explicit number', 'auto')
25
26
  .option('--key <keyfile>', 'private key file')
26
27
  .option('--key-env <env>', 'private key environment variable')
27
28
  .option('--log <format>', 'logging format')
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";AAEA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEvC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;KACvB,QAAQ,CAAC,QAAQ,CAAC;KAClB,MAAM,CAAC,sBAAsB,EAAC,aAAa,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;KAC7E,MAAM,CAAC,kBAAkB,EAAC,YAAY,EAAC,KAAK,CAAC;KAC7C,MAAM,CAAC,kBAAkB,EAAC,aAAa,EAAC,MAAM,CAAC;KAC/C,MAAM,CAAC,gBAAgB,EAAC,aAAa,EAAC,SAAS,CAAC;KAChD,MAAM,CAAC,cAAc,EAAC,SAAS,CAAC;KAChC,MAAM,CAAC,wBAAwB,EAAC,iBAAiB,EAAC,OAAO,EAAC,EAAE,CAAC;KAC7D,MAAM,CAAC,iBAAiB,EAAC,aAAa,CAAC;KACvC,MAAM,CAAC,KAAK,EAAC,kBAAkB,CAAC;KAChC,MAAM,CAAC,OAAO,EAAC,aAAa,CAAC;KAC7B,MAAM,CAAC,eAAe,EAAE,2BAA2B,CAAC;KACpD,MAAM,CAAC,cAAc,EAAE,0BAA0B,CAAC;KAClD,MAAM,CAAC,iBAAiB,EAAE,4OAA4O,EAAE,MAAM,CAAC;KAC/Q,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;KAC7C,MAAM,CAAC,iBAAiB,EAAC,kCAAkC,CAAC;KAC5D,MAAM,CAAC,gBAAgB,EAAC,gBAAgB,CAAC;KACzC,MAAM,CAAC,mBAAmB,EAAC,oCAAoC,EAC5D,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAC,EAAE,CAAC,EAAE,IAAI,CACtC;KACA,MAAM,CAAC,QAAQ,EAAC,2BAA2B,CAAC;KAC5C,MAAM,CAAC,SAAS,EAAC,gCAAgC,CAAC;KAClD,MAAM,CAAC,SAAS,EAAC,qCAAqC,CAAC,CAAC;AAE7D,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,MAAM,IAAI,GAAK,OAAO,CAAC,IAAI,EAAE,CAAC;AAE9B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,GAAG,QAAQ,CAAC;IACtB,CAAC;IACD,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,IAAI,GAAG,CAAC,CAAC;IACb,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACP,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;SACI,CAAC;QACF,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;AACL,CAAC;KACI,CAAC;IACF,sBAAsB,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;AAElC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IACZ,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;AAC1B,CAAC;AAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;IACb,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC;AAC3B,CAAC;AAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;IACb,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC;AAC3B,CAAC;AAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IACd,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAG,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,IAAI,EAAE,CAAC;AAEP,SAAS,sBAAsB,CAAC,MAAc;IAC1C,MAAM,CAAC,SAAS,CAAC;QACb,SAAS,EAAE;YACP,GAAG,EAAE;gBACD,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE;oBACJ,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,oBAAoB;iBAChC;aACJ;SACJ;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAG,eAAe,EAAE,IAAI,EAAE;SAC1E;KACJ,CAAC,CAAC;AACP,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc;IACvC,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE;QACxC,OAAO,CAAC,QAAQ,EAAE,EAAE;YAChB,OAAO,IAAI,CAAC,SAAS,CAAC;gBACtB,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAG,gBAAgB;gBAChD,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,gBAAgB;gBAChD,QAAQ,EAAE,QAAQ,CAAC,YAAY,EAAC,gBAAgB;gBAChD,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,gBAAgB;gBAClD,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAO,yBAAyB;gBACzD,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAe,gBAAgB;aAC/C,CAAC,CAAC;QACP,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,SAAS,CAAC;QACb,SAAS,EAAE;YACP,GAAG,EAAE;gBACD,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE;oBACJ,IAAI,EAAE,cAAc;iBACvB;aACJ;SACJ;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAG,eAAe,EAAE,IAAI,EAAE;SAC1E;KACJ,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,IAAI;IACf,IAAI,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAElD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE5B,IAAI,CAAE,GAAG,EAAE,CAAC;YACR,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,SAAe,CAAC;QAEpB,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;YAClD,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACJ,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,EAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC;QAEhC,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,CAAC,EAAE,CAAC;QACP,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,YAAY,aAAa,EAAE,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC/B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC;YAChC,OAAO,CAAC,IAAI,EAAE,CAAC;QACnB,CAAC;aACI,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC5C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO,CAAC,IAAI,EAAE,CAAC;QACnB,CAAC;IACL,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAC,KAAY,EAAE,QAAa;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAC,CAAC,CAAC,CAAC;IAClC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO,QAAQ,CAAC;IACpB,CAAC;SACI,CAAC;QACF,OAAO,QAAQ,CAAC;IACpB,CAAC;AACL,CAAC"}
@@ -0,0 +1,5 @@
1
+ type Data = any;
2
+ type Runner = (data: Data) => Data;
3
+ export declare function buildBind(name: string, args: string[], body: Runner, doset: boolean): Runner;
4
+ export {};
5
+ //# sourceMappingURL=binds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binds.d.ts","sourceRoot":"","sources":["../../src/fix/binds.ts"],"names":[],"mappings":"AAWA,KAAK,IAAI,GAAG,GAAG,CAAC;AAChB,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;AAenC,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAsD5F"}
@@ -0,0 +1,82 @@
1
+ // Catmandu Fix binds: the `do BIND(...) ... end` construct that wraps a block
2
+ // of fixes and controls how they are applied. A subset — `list` (the common
3
+ // one, for iterating an array) and `identity`.
4
+ //
5
+ // Bind contract (see Catmandu::Fix::Bind): unit(data) seeds the bound value,
6
+ // then the wrapped block is applied to it. `do` returns the original record;
7
+ // `doset` returns the bound result.
8
+ import { Path, isHash, isArray } from './path.js';
9
+ import { REJECT } from './signal.js';
10
+ // structured field hash for marc_each's `var` (tag/ind1/ind2/subfields)
11
+ function fieldToHash(row) {
12
+ const subfields = [];
13
+ for (let i = 3; i < row.length; i += 2)
14
+ subfields.push({ [row[i]]: row[i + 1] });
15
+ return { tag: row[0], ind1: row[1], ind2: row[2], subfields };
16
+ }
17
+ function parseOpts(args) {
18
+ const o = {};
19
+ for (let i = 0; i < args.length; i += 2)
20
+ if (args[i] !== undefined)
21
+ o[args[i]] = args[i + 1] ?? '';
22
+ return o;
23
+ }
24
+ export function buildBind(name, args, body, doset) {
25
+ const opts = parseOpts(args);
26
+ if (name === 'list') {
27
+ const pathGet = opts.path !== undefined ? new Path(opts.path).getter() : undefined;
28
+ const varName = opts.var;
29
+ return (data) => {
30
+ const root = data;
31
+ const mvar = pathGet ? pathGet(data)[0] : data;
32
+ let result = mvar;
33
+ if (isHash(mvar)) {
34
+ result = body(mvar);
35
+ }
36
+ else if (isArray(mvar)) {
37
+ for (let i = 0; i < mvar.length; i++) {
38
+ if (varName !== undefined) {
39
+ root[varName] = mvar[i];
40
+ body(root);
41
+ delete root[varName];
42
+ }
43
+ else {
44
+ mvar[i] = body(mvar[i]);
45
+ }
46
+ }
47
+ result = mvar;
48
+ }
49
+ else {
50
+ result = []; // zero
51
+ }
52
+ return doset ? result : root;
53
+ };
54
+ }
55
+ // marc_each: iterate each MARC field; run the block on a record holding
56
+ // just that field; accumulate the resulting fields. reject() drops a field.
57
+ if (name === 'marc_each') {
58
+ const varName = opts.var;
59
+ return (data) => {
60
+ const rows = (data && isArray(data.record)) ? data.record : [];
61
+ const out = [];
62
+ for (const row of rows) {
63
+ data.record = [row];
64
+ if (varName !== undefined)
65
+ data[varName] = fieldToHash(row);
66
+ const fixed = body(data);
67
+ if (fixed !== REJECT && fixed && isArray(fixed.record))
68
+ out.push(...fixed.record);
69
+ if (varName !== undefined)
70
+ delete data[varName];
71
+ }
72
+ data.record = out;
73
+ return data;
74
+ };
75
+ }
76
+ // identity (and any unknown bind): just run the block on the record
77
+ return (data) => {
78
+ const r = body(data);
79
+ return doset ? r : data;
80
+ };
81
+ }
82
+ //# sourceMappingURL=binds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binds.js","sourceRoot":"","sources":["../../src/fix/binds.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ type Data = any;
2
+ type Cond = (data: Data) => boolean;
3
+ export declare function buildCondition(name: string, args: string[]): Cond;
4
+ export {};
5
+ //# sourceMappingURL=conditions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conditions.d.ts","sourceRoot":"","sources":["../../src/fix/conditions.ts"],"names":[],"mappings":"AAKA,KAAK,IAAI,GAAG,GAAG,CAAC;AAChB,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;AAuBpC,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CA6EjE"}
@@ -0,0 +1,111 @@
1
+ // Catmandu Fix conditions, used by if/unless blocks. Each returns a predicate
2
+ // over the record. (A subset — the common ones.)
3
+ import { Path } from './path.js';
4
+ // subfield values addressed by a MARC path (tag + subcodes; tag may be ***)
5
+ function marcValues(data, mp) {
6
+ const rec = data?.record;
7
+ if (!Array.isArray(rec))
8
+ return [];
9
+ const tag = mp.slice(0, 3);
10
+ const subs = mp.slice(3).replace(/\$/g, '');
11
+ const out = [];
12
+ for (const row of rec) {
13
+ if (tag !== '***' && row[0] !== tag)
14
+ continue;
15
+ for (let i = 3; i < row.length; i += 2) {
16
+ if (subs === '' || subs.includes(row[i]))
17
+ out.push(row[i + 1]);
18
+ }
19
+ }
20
+ return out;
21
+ }
22
+ // >=1 value present and ALL pass the test (Catmandu Builder::Simple all_u)
23
+ function all(getter, test) {
24
+ return (d) => { const v = getter(d); return v.length > 0 && v.every(test); };
25
+ }
26
+ export function buildCondition(name, args) {
27
+ const path = args[0] !== undefined ? new Path(args[0]).getter() : () => [];
28
+ const arg = args[1];
29
+ switch (name) {
30
+ case 'exists':
31
+ return (d) => path(d).length > 0;
32
+ case 'all_match': {
33
+ const re = new RegExp(arg);
34
+ return (d) => { const v = path(d); return v.length > 0 && v.every((x) => re.test(String(x))); };
35
+ }
36
+ case 'any_match': {
37
+ const re = new RegExp(arg);
38
+ return (d) => path(d).some((x) => re.test(String(x)));
39
+ }
40
+ case 'all_equal':
41
+ return (d) => { const v = path(d); return v.length > 0 && v.every((x) => String(x) === arg); };
42
+ case 'any_equal':
43
+ return (d) => path(d).some((x) => String(x) === arg);
44
+ case 'is_string':
45
+ return (d) => { const v = path(d); return v.length > 0 && v.every((x) => typeof x === 'string'); };
46
+ case 'is_array':
47
+ return (d) => { const v = path(d); return v.length > 0 && v.every((x) => Array.isArray(x)); };
48
+ // "Simple" conditions: true iff there is >=1 value and ALL values pass
49
+ // (matches Catmandu's Builder::Simple all_u semantics).
50
+ case 'is_number':
51
+ return all(path, (x) => typeof x === 'number' || (typeof x === 'string' && x.trim() !== '' && !isNaN(Number(x))));
52
+ case 'is_object':
53
+ return all(path, (x) => x !== null && typeof x === 'object' && !Array.isArray(x));
54
+ case 'is_null':
55
+ return all(path, (x) => x === null || x === undefined);
56
+ case 'greater_than': {
57
+ const n = parseInt(arg, 10);
58
+ return all(path, (x) => (typeof x === 'number' || typeof x === 'string') && Number(x) > n);
59
+ }
60
+ case 'less_than': {
61
+ const n = parseInt(arg, 10);
62
+ return all(path, (x) => (typeof x === 'number' || typeof x === 'string') && Number(x) < n);
63
+ }
64
+ case 'is_true':
65
+ case 'is_false': {
66
+ const strict = args.some((a, i) => a === 'strict' && (args[i + 1] === '1' || args[i + 1] === 'true'));
67
+ const want = name === 'is_true';
68
+ return all(path, (x) => strict
69
+ ? x === want
70
+ : (x === want || (typeof x === 'number' && x === (want ? 1 : 0)) || (typeof x === 'string' && x === (want ? 'true' : 'false'))));
71
+ }
72
+ case 'in': {
73
+ const get2 = new Path(args[1] ?? '').getter();
74
+ const inOne = (a, b) => {
75
+ if (a == null && b == null)
76
+ return true;
77
+ if (a == null || b == null)
78
+ return false;
79
+ if (Array.isArray(b))
80
+ return b.some((x) => String(x) === String(a));
81
+ if (b !== null && typeof b === 'object')
82
+ return String(a) in b;
83
+ return String(a) === String(b);
84
+ };
85
+ return (d) => {
86
+ const a = path(d);
87
+ const b = get2(d);
88
+ if (!a.length || !b.length || a.length !== b.length)
89
+ return false;
90
+ for (let i = 0; i < a.length; i++)
91
+ if (!inOne(a[i], b[i]))
92
+ return false;
93
+ return true;
94
+ };
95
+ }
96
+ case 'marc_match':
97
+ case 'marc_any_match':
98
+ return (d) => marcValues(d, args[0]).some((v) => new RegExp(arg).test(String(v)));
99
+ case 'marc_all_match': {
100
+ const re = new RegExp(arg);
101
+ return (d) => { const v = marcValues(d, args[0]); return v.length > 0 && v.every((x) => re.test(String(x))); };
102
+ }
103
+ case 'marc_has':
104
+ return (d) => Array.isArray(d?.record) && d.record.some((row) => row[0] === args[0]);
105
+ case 'marc_has_many':
106
+ return (d) => Array.isArray(d?.record) && d.record.filter((row) => row[0] === args[0]).length > 1;
107
+ default:
108
+ throw new Error(`unknown condition: ${name}`);
109
+ }
110
+ }
111
+ //# sourceMappingURL=conditions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../src/fix/conditions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ type Data = any;
2
+ type Fixer = (data: Data) => Data;
3
+ type FixBuilder = (args: string[]) => Fixer;
4
+ export declare const FIXES: Record<string, FixBuilder>;
5
+ export declare function buildFix(name: string, args: string[]): Fixer;
6
+ export {};
7
+ //# sourceMappingURL=fixes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixes.d.ts","sourceRoot":"","sources":["../../src/fix/fixes.ts"],"names":[],"mappings":"AAYA,KAAK,IAAI,GAAG,GAAG,CAAC;AAChB,KAAK,KAAK,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;AAClC,KAAK,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,KAAK,CAAC;AAkB5C,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CA2X5C,CAAC;AA+BF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAI5D"}