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.
- package/README.md +91 -2
- package/dist/attacker.d.ts +6 -0
- package/dist/attacker.d.ts.map +1 -1
- package/dist/attacker.js +38 -0
- package/dist/attacker.js.map +1 -1
- package/dist/command.js +1 -0
- package/dist/command.js.map +1 -1
- package/dist/fix/binds.d.ts +5 -0
- package/dist/fix/binds.d.ts.map +1 -0
- package/dist/fix/binds.js +82 -0
- package/dist/fix/binds.js.map +1 -0
- package/dist/fix/conditions.d.ts +5 -0
- package/dist/fix/conditions.d.ts.map +1 -0
- package/dist/fix/conditions.js +111 -0
- package/dist/fix/conditions.js.map +1 -0
- package/dist/fix/fixes.d.ts +7 -0
- package/dist/fix/fixes.d.ts.map +1 -0
- package/dist/fix/fixes.js +478 -0
- package/dist/fix/fixes.js.map +1 -0
- package/dist/fix/index.d.ts +12 -0
- package/dist/fix/index.d.ts.map +1 -0
- package/dist/fix/index.js +40 -0
- package/dist/fix/index.js.map +1 -0
- package/dist/fix/parser.d.ts +25 -0
- package/dist/fix/parser.d.ts.map +1 -0
- package/dist/fix/parser.js +156 -0
- package/dist/fix/parser.js.map +1 -0
- package/dist/fix/path.d.ts +23 -0
- package/dist/fix/path.d.ts.map +1 -0
- package/dist/fix/path.js +351 -0
- package/dist/fix/path.js.map +1 -0
- package/dist/fix/signal.d.ts +2 -0
- package/dist/fix/signal.d.ts.map +1 -0
- package/dist/fix/signal.js +5 -0
- package/dist/fix/signal.js.map +1 -0
- package/dist/fix/util.d.ts +6 -0
- package/dist/fix/util.d.ts.map +1 -0
- package/dist/fix/util.js +133 -0
- package/dist/fix/util.js.map +1 -0
- package/dist/input/alephseq.d.ts.map +1 -1
- package/dist/input/alephseq.js +18 -5
- package/dist/input/alephseq.js.map +1 -1
- package/dist/input/fastxml.d.ts +3 -0
- package/dist/input/fastxml.d.ts.map +1 -0
- package/dist/input/fastxml.js +134 -0
- package/dist/input/fastxml.js.map +1 -0
- package/dist/input/xml.d.ts.map +1 -1
- package/dist/input/xml.js +4 -2
- package/dist/input/xml.js.map +1 -1
- package/dist/marcmap.d.ts.map +1 -1
- package/dist/marcmap.js +15 -3
- package/dist/marcmap.js.map +1 -1
- package/dist/output/alephseq.d.ts.map +1 -1
- package/dist/output/alephseq.js +29 -5
- package/dist/output/alephseq.js.map +1 -1
- package/dist/output/null.d.ts +3 -0
- package/dist/output/null.d.ts.map +1 -0
- package/dist/output/null.js +13 -0
- package/dist/output/null.js.map +1 -0
- package/dist/output/xml.d.ts.map +1 -1
- package/dist/output/xml.js +27 -0
- package/dist/output/xml.js.map +1 -1
- package/dist/stream/framer.d.ts.map +1 -0
- package/dist/stream/framer.js.map +1 -0
- package/dist/stream/worker-pool-str.d.ts.map +1 -0
- package/dist/stream/worker-pool-str.js.map +1 -0
- package/dist/stream/worker-pool.d.ts +10 -0
- package/dist/stream/worker-pool.d.ts.map +1 -0
- package/dist/stream/worker-pool.js +217 -0
- package/dist/stream/worker-pool.js.map +1 -0
- package/dist/transform/fix.d.ts +16 -0
- package/dist/transform/fix.d.ts.map +1 -0
- package/dist/transform/fix.js +46 -0
- package/dist/transform/fix.js.map +1 -0
- package/dist/transform/jsonata.d.ts +5 -0
- package/dist/transform/jsonata.d.ts.map +1 -1
- package/dist/transform/jsonata.js +45 -44
- package/dist/transform/jsonata.js.map +1 -1
- package/dist/transform/marcids.d.ts.map +1 -1
- package/dist/transform/marcids.js +3 -0
- package/dist/transform/marcids.js.map +1 -1
- package/dist/util/marc_record.d.ts +19 -0
- package/dist/util/marc_record.d.ts.map +1 -0
- package/dist/util/marc_record.js +16 -0
- package/dist/util/marc_record.js.map +1 -0
- package/dist/worker-str.d.ts.map +1 -0
- package/dist/worker-str.js.map +1 -0
- package/dist/worker.d.ts +2 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +33 -0
- package/dist/worker.js.map +1 -0
- package/package.json +5 -2
- package/dist/output/mulitipart.d.ts +0 -7
- package/dist/output/mulitipart.d.ts.map +0 -1
- package/dist/output/mulitipart.js +0 -53
- package/dist/output/mulitipart.js.map +0 -1
- package/dist/output/text.d.ts +0 -6
- package/dist/output/text.d.ts.map +0 -1
- package/dist/output/text.js +0 -34
- 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
|
package/dist/attacker.d.ts
CHANGED
|
@@ -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>;
|
package/dist/attacker.d.ts.map
CHANGED
|
@@ -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;
|
|
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;
|
package/dist/attacker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attacker.js","sourceRoot":"","sources":["../src/attacker.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAG,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAiC,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EACH,4BAA4B,EAC5B,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,WAAW,EACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"attacker.js","sourceRoot":"","sources":["../src/attacker.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAG,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAiC,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EACH,4BAA4B,EAC5B,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,WAAW,EACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;AAElC,MAAM,OAAO,aAAc,SAAQ,KAAK;IACpB,UAAU,CAAS;IAEnC,YAAY,OAAe,EAAE,UAAkB;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;QAErD,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC1B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;CACJ;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAQ,EAAE,IAAS;IAC3D,MAAM,CAAC,IAAI,CAAC,UAAU,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAE1C,IAAI,cAAwB,CAAC;IAE7B,IAAI,WAAW,GAAS,GAAG,CAAC;IAE5B,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,WAAW,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC1C,cAAc,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC;SACI,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC5B,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAC7C,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC5B,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAC7C,CAAC;QAED,WAAW,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9C,cAAc,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;SACI,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC5B,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAC7C,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC5B,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAC7C,CAAC;QAED,WAAW,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9C,cAAc,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;SACI,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;IACnC,CAAC;SACI,CAAC;QACF,WAAW,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;QACxC,cAAc,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,GAAQ,EAAE,IAAqB;IAC1E,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,wBAAwB,EAAE,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAQ,EAAE,IAAuB;IACpE,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACnF,OAAO,MAAM,oBAAoB,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,GAAQ,EAAE,IAAiC;IACvF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;AAC/F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAqC;IAC5E,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,OAAO,4BAA4B,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,4EAA4E;AAC5E,2EAA2E;AAC3E,MAAM,UAAU,aAAa,CAAC,UAAmB;IAC7C,OAAO,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,MAAM,CAAC;AAC7D,CAAC;AACD,MAAM,UAAU,kBAAkB,CAAC,UAAmB,EAAE,QAAgB,oBAAoB,EAAE;IAC1F,OAAO,aAAa,CAAC,UAAU,CAAC;QAC5B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,iDAAiD;AACjD,gDAAgD;AAChD,gEAAgE;AAChE,4EAA4E;AAC5E,yEAAyE;AACzE,gEAAgE;AAChE,MAAM,UAAU,iBAAiB,CAC7B,UAAmB,EACnB,IAAwD,EACxD,QAAgB,oBAAoB,EAAE;IAEtC,IAAI,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7D,IAAI,CAAC,IAAI,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IACvC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,IAAS;IACnD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACpD,MAAM,cAAc,GAAG,OAAO,GAAG,CAAC,YAAY,KAAK,UAAU,CAAC;QAC9D,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC;QAC/C,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;YACpE,OAAO,gBAAgB,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,oEAAoE;QACpE,uEAAuE;QACvE,oCAAoC;QACpC,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC,aAAa,OAAO,kBAAkB,IAAI,CAAC,GAAG,yBAAyB,CAAC,CAAC;QACzF,CAAC;QACD,OAAO,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,IAAS;IACnD,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,IAAI,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE9B,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBAC5B,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;YAC7C,CAAC;YAED,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBAC5B,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;YAC7C,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;aACI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE9B,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBAC5B,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;YAC7C,CAAC;YAED,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBAC5B,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;YAC7C,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO,MAAM,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC;aACI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE9B,OAAO,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACrE,CAAC;aACI,CAAC;YACF,OAAO,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,IAAS;IACtD,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;QACV,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAChD,OAAO,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,GAAQ,EAAE,IAAS;IAC5C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,MAAM,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClG,MAAM,MAAM,GAAwC,CAAC,cAAc,CAAC,CAAC;QAErE,oCAAoC;QACpC,MAAM,kBAAkB,GAAG,MAAM,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC3E,IAAI,kBAAkB;YAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAExD,4BAA4B;QAC5B,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAI,UAAU;YAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAExC,uCAAuC;QACvC,MAAM,cAAc,GAAG,MAAM,yBAAyB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE5B,iCAAiC;QACjC,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,cAAc;YAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEhD,uCAAuC;QACvC,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE3B,oCAAoC;QACpC,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEpC,uCAAuC;QACvC,MAAM,eAAe,GAAG,MAAM,0BAA0B,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,eAAe,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAE7B,0BAA0B;YAC1B,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEvB,IAAI,CAAC;gBACD,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACvB,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,MAAM,GAAG,UAAU,IAAI,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEpE,IAAI,GAAG,CAAC,IAAI,KAAK,4BAA4B,EAAE,CAAC;oBAC5C,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBAC7C,CAAC;qBACI,CAAC;oBACF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAClB,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;oBAC5C,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC5C,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,IAAI,CAAC,YAAY,aAAa,EAAE,CAAC;YAC7B,MAAM,CAAC,CAAC;QACZ,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,CAAC;QACZ,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAQ;IAC9B,OAAO,CACH,GAAG,KAAK,IAAI;QACZ,OAAO,GAAG,KAAK,QAAQ;QACvB,OAAO,GAAG,CAAC,KAAK,KAAK,UAAU;QAC/B,OAAO,GAAG,CAAC,GAAG,KAAK,UAAU;QAC7B,GAAG,CAAC,QAAQ,KAAK,KAAK,CACzB,CAAC;AACN,CAAC"}
|
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')
|
package/dist/command.js.map
CHANGED
|
@@ -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":"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"}
|
|
@@ -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 @@
|
|
|
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"}
|