marcattacks 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/httpstream.d.ts +3 -0
- package/dist/httpstream.d.ts.map +1 -0
- package/{src/httpstream.ts → dist/httpstream.js} +3 -7
- package/dist/httpstream.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/input/alephseq.d.ts +3 -0
- package/dist/input/alephseq.d.ts.map +1 -0
- package/{src/input/alephseq.ts → dist/input/alephseq.js} +20 -34
- package/dist/input/alephseq.js.map +1 -0
- package/dist/input/json.d.ts +3 -0
- package/dist/input/json.d.ts.map +1 -0
- package/{src/input/json.ts → dist/input/json.js} +8 -18
- package/dist/input/json.js.map +1 -0
- package/dist/input/jsonl.d.ts +3 -0
- package/dist/input/jsonl.d.ts.map +1 -0
- package/{src/input/jsonl.ts → dist/input/jsonl.js} +11 -21
- package/dist/input/jsonl.js.map +1 -0
- package/dist/input/xml.d.ts +3 -0
- package/dist/input/xml.d.ts.map +1 -0
- package/{src/input/xml.ts → dist/input/xml.js} +29 -50
- package/dist/input/xml.js.map +1 -0
- package/dist/marcmap.d.ts +31 -0
- package/dist/marcmap.d.ts.map +1 -0
- package/{src/marcmap.ts → dist/marcmap.js} +25 -38
- package/dist/marcmap.js.map +1 -0
- package/dist/output/alephseq.d.ts +3 -0
- package/dist/output/alephseq.d.ts.map +1 -0
- package/{src/output/alephseq.ts → dist/output/alephseq.js} +17 -25
- package/dist/output/alephseq.js.map +1 -0
- package/dist/output/json.d.ts +3 -0
- package/dist/output/json.d.ts.map +1 -0
- package/{src/output/json.ts → dist/output/json.js} +4 -13
- package/dist/output/json.js.map +1 -0
- package/dist/output/jsonl.d.ts +3 -0
- package/dist/output/jsonl.d.ts.map +1 -0
- package/{src/output/jsonl.ts → dist/output/jsonl.js} +5 -8
- package/dist/output/jsonl.js.map +1 -0
- package/dist/output/rdf.d.ts +3 -0
- package/dist/output/rdf.d.ts.map +1 -0
- package/dist/output/rdf.js +44 -0
- package/dist/output/rdf.js.map +1 -0
- package/dist/output/xml.d.ts +6 -0
- package/dist/output/xml.d.ts.map +1 -0
- package/{src/output/xml.ts → dist/output/xml.js} +18 -35
- package/dist/output/xml.js.map +1 -0
- package/dist/plugin-loader.d.ts +2 -0
- package/dist/plugin-loader.d.ts.map +1 -0
- package/dist/plugin-loader.js +24 -0
- package/dist/plugin-loader.js.map +1 -0
- package/dist/s3stream.d.ts +8 -0
- package/dist/s3stream.d.ts.map +1 -0
- package/{src/s3stream.ts → dist/s3stream.js} +72 -115
- package/dist/s3stream.js.map +1 -0
- package/dist/sftpstream.d.ts +12 -0
- package/dist/sftpstream.d.ts.map +1 -0
- package/{src/sftpstream.ts → dist/sftpstream.js} +9 -39
- package/dist/sftpstream.js.map +1 -0
- package/dist/slow-writable.d.ts +38 -0
- package/dist/slow-writable.d.ts.map +1 -0
- package/dist/slow-writable.js +126 -0
- package/dist/slow-writable.js.map +1 -0
- package/dist/transform/json.d.ts +3 -0
- package/dist/transform/json.d.ts.map +1 -0
- package/{src/transform/json.ts → dist/transform/json.js} +8 -12
- package/dist/transform/json.js.map +1 -0
- package/dist/transform/rdf.d.ts +3 -0
- package/dist/transform/rdf.d.ts.map +1 -0
- package/{src/transform/rdf.ts → dist/transform/rdf.js} +82 -110
- package/dist/transform/rdf.js.map +1 -0
- package/package.json +6 -2
- package/Dockerfile +0 -23
- package/README-docker.md +0 -39
- package/TYPESCRIPT.txt +0 -6
- package/data/output.rdf +0 -12425
- package/data/sample.xml +0 -2
- package/demo/demo.jsonata +0 -44
- package/docker-compose.yaml +0 -37
- package/logo.jpg +0 -0
- package/plugin/demo.js +0 -12
- package/src/index.ts +0 -177
- package/src/output/rdf.ts +0 -63
- package/src/plugin-loader.ts +0 -27
- package/src/slow-writable.ts +0 -165
- package/tsconfig.json +0 -46
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marcmap.js","sourceRoot":"","sources":["../src/marcmap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alephseq.d.ts","sourceRoot":"","sources":["../../src/output/alephseq.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAM5C,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAI,IAAI,CAyC/E"}
|
|
@@ -1,48 +1,40 @@
|
|
|
1
1
|
import { Readable, Writable } from 'stream';
|
|
2
2
|
import { marcmap } from '../marcmap.js';
|
|
3
3
|
import log4js from 'log4js';
|
|
4
|
-
|
|
5
4
|
const logger = log4js.getLogger();
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
let id = marcmap(rec,"001",{});
|
|
14
|
-
|
|
5
|
+
export function readable2writable(readable, writable) {
|
|
6
|
+
readable.on('data', async (data) => {
|
|
7
|
+
let rec = data['record'];
|
|
8
|
+
if (!rec)
|
|
9
|
+
return;
|
|
10
|
+
let id = marcmap(rec, "001", {});
|
|
15
11
|
let output = `${id} FMT L BK\n`;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
let
|
|
19
|
-
let
|
|
20
|
-
let ind2 = rec[i]![2];
|
|
12
|
+
for (let i = 0; i < rec.length; i++) {
|
|
13
|
+
let tag = rec[i][0];
|
|
14
|
+
let ind1 = rec[i][1];
|
|
15
|
+
let ind2 = rec[i][2];
|
|
21
16
|
let sf = "";
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
let
|
|
25
|
-
|
|
26
|
-
if (tag!.match(/^FMT|LDR|00./g)) {
|
|
17
|
+
for (let j = 3; j < rec[i].length; j += 2) {
|
|
18
|
+
let code = rec[i][j];
|
|
19
|
+
let val = rec[i][j + 1];
|
|
20
|
+
if (tag.match(/^FMT|LDR|00./g)) {
|
|
27
21
|
sf += `${val}`;
|
|
28
22
|
}
|
|
29
23
|
else {
|
|
30
24
|
sf += `\$\$${code}${val}`;
|
|
31
25
|
}
|
|
32
26
|
}
|
|
33
|
-
|
|
34
27
|
output += `${id} ${tag}${ind1}${ind2} L ${sf}\n`;
|
|
35
28
|
}
|
|
36
|
-
|
|
37
29
|
const ok = writable.write(output);
|
|
38
|
-
|
|
39
30
|
if (!ok) {
|
|
40
31
|
logger.debug("backpressure on");
|
|
41
32
|
readable.pause();
|
|
42
33
|
writable.once("drain", () => {
|
|
43
34
|
logger.debug("backpressure off");
|
|
44
|
-
readable.resume()
|
|
35
|
+
readable.resume();
|
|
45
36
|
});
|
|
46
37
|
}
|
|
47
38
|
});
|
|
48
|
-
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=alephseq.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alephseq.js","sourceRoot":"","sources":["../../src/output/alephseq.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;AAElC,MAAM,UAAU,iBAAiB,CAAC,QAAkB,EAAE,QAAkB;IACpE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;QACpC,IAAI,GAAG,GAAgB,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEtC,IAAI,CAAC,GAAG;YAAE,OAAO;QAEjB,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,EAAC,KAAK,EAAC,EAAE,CAAC,CAAC;QAE/B,IAAI,MAAM,GAAG,GAAG,EAAE,eAAe,CAAC;QAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAG,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,GAAG,GAAI,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,EAAE,GAAG,EAAE,CAAC;YAEZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC,MAAM,EAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1C,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,GAAG,GAAI,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;oBAC9B,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC;gBACnB,CAAC;qBACI,CAAC;oBACF,EAAE,IAAI,OAAO,IAAI,GAAG,GAAG,EAAE,CAAC;gBAC9B,CAAC;YACL,CAAC;YAED,MAAM,IAAI,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,MAAM,EAAE,IAAI,CAAC;QACrD,CAAC;QAED,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAElC,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACxB,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBACjC,QAAQ,CAAC,MAAM,EAAE,CAAA;YACrB,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/output/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAK5C,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAI,IAAI,CAgC/E"}
|
|
@@ -1,38 +1,29 @@
|
|
|
1
1
|
import { Readable, Writable } from 'stream';
|
|
2
2
|
import log4js from 'log4js';
|
|
3
|
-
|
|
4
3
|
const logger = log4js.getLogger();
|
|
5
|
-
|
|
6
|
-
export function readable2writable(readable: Readable, writable: Writable) : void {
|
|
4
|
+
export function readable2writable(readable, writable) {
|
|
7
5
|
let isFirst = true;
|
|
8
|
-
|
|
9
6
|
const ok = writable.write("[");
|
|
10
|
-
|
|
11
|
-
readable.on('data', (data: any) => {
|
|
7
|
+
readable.on('data', (data) => {
|
|
12
8
|
let output = "";
|
|
13
|
-
|
|
14
9
|
if (!isFirst) {
|
|
15
10
|
output += ',';
|
|
16
11
|
}
|
|
17
|
-
|
|
18
12
|
output += JSON.stringify(data);
|
|
19
|
-
|
|
20
13
|
const ok = writable.write(output);
|
|
21
|
-
|
|
22
14
|
if (!ok) {
|
|
23
15
|
logger.debug("backpressure on");
|
|
24
16
|
readable.pause();
|
|
25
|
-
writable.once('drain'
|
|
17
|
+
writable.once('drain', () => {
|
|
26
18
|
logger.debug("backpressure off");
|
|
27
19
|
readable.resume();
|
|
28
20
|
});
|
|
29
21
|
}
|
|
30
|
-
|
|
31
22
|
isFirst = false;
|
|
32
23
|
});
|
|
33
|
-
|
|
34
24
|
readable.on('close', () => {
|
|
35
25
|
writable.write("]");
|
|
36
26
|
writable.end();
|
|
37
27
|
});
|
|
38
28
|
}
|
|
29
|
+
//# sourceMappingURL=json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/output/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;AAElC,MAAM,UAAU,iBAAiB,CAAC,QAAkB,EAAE,QAAkB;IACpE,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE/B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE;QAC9B,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE/B,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAElC,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAG,GAAG,EAAE;gBACzB,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBACjC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACtB,CAAC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,GAAG,KAAK,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACtB,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpB,QAAQ,CAAC,GAAG,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonl.d.ts","sourceRoot":"","sources":["../../src/output/jsonl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAK5C,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAI,IAAI,CAiB/E"}
|
|
@@ -1,23 +1,20 @@
|
|
|
1
1
|
import { Readable, Writable } from 'stream';
|
|
2
2
|
import log4js from 'log4js';
|
|
3
|
-
|
|
4
3
|
const logger = log4js.getLogger();
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
readable.on('data', (data: any) => {
|
|
4
|
+
export function readable2writable(readable, writable) {
|
|
5
|
+
readable.on('data', (data) => {
|
|
8
6
|
const ok = writable.write(JSON.stringify(data) + "\n");
|
|
9
|
-
|
|
10
7
|
if (!ok) {
|
|
11
8
|
logger.debug("backpressure on");
|
|
12
9
|
readable.pause();
|
|
13
|
-
writable.once('drain'
|
|
10
|
+
writable.once('drain', () => {
|
|
14
11
|
logger.debug("backpressure off");
|
|
15
12
|
readable.resume();
|
|
16
13
|
});
|
|
17
14
|
}
|
|
18
15
|
});
|
|
19
|
-
|
|
20
16
|
readable.on('close', () => {
|
|
21
17
|
writable.end();
|
|
22
18
|
});
|
|
23
|
-
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=jsonl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonl.js","sourceRoot":"","sources":["../../src/output/jsonl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;AAElC,MAAM,UAAU,iBAAiB,CAAC,QAAkB,EAAE,QAAkB;IACpE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE;QAC9B,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAEvD,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAG,GAAG,EAAE;gBACzB,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBACjC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACtB,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACtB,QAAQ,CAAC,GAAG,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rdf.d.ts","sourceRoot":"","sources":["../../src/output/rdf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAU5C,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAI,IAAI,CAoD/E"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Readable, Writable } from 'stream';
|
|
2
|
+
import N3 from 'n3';
|
|
3
|
+
import log4js from 'log4js';
|
|
4
|
+
const logger = log4js.getLogger();
|
|
5
|
+
const { DataFactory } = N3;
|
|
6
|
+
const { namedNode, literal, blankNode } = DataFactory;
|
|
7
|
+
export function readable2writable(readable, writable) {
|
|
8
|
+
let writer;
|
|
9
|
+
readable.on('data', (data) => {
|
|
10
|
+
let prefixes = data['prefixes'];
|
|
11
|
+
if (!writer) {
|
|
12
|
+
writer = new N3.Writer(writable, { end: false, prefixes });
|
|
13
|
+
}
|
|
14
|
+
let quads = data['quads'];
|
|
15
|
+
if (!quads)
|
|
16
|
+
return;
|
|
17
|
+
for (let i = 0; i < quads.length; i++) {
|
|
18
|
+
if (quads[i].subject && quads[i].predicate && quads[i].object) {
|
|
19
|
+
// ok
|
|
20
|
+
}
|
|
21
|
+
else
|
|
22
|
+
return;
|
|
23
|
+
let subject = { type: 'NamedNode', value: '', ...quads[i].subject };
|
|
24
|
+
let predicate = { type: 'NamedNode', value: '', ...quads[i].predicate };
|
|
25
|
+
let object = { type: 'NamedNode', value: '', ...quads[i].object };
|
|
26
|
+
let subjectValue = subject.type === 'NamedNode' ? namedNode(subject.value)
|
|
27
|
+
: subject.type === 'BlankNode' ? blankNode(subject.value)
|
|
28
|
+
: namedNode(subject.value);
|
|
29
|
+
let predicateValue = predicate.type === 'NamedNode' ? namedNode(predicate.value)
|
|
30
|
+
: namedNode(predicate.value);
|
|
31
|
+
let objectValue = object.type === 'NamedNode' ? namedNode(object.value)
|
|
32
|
+
: object.type === 'BlankNode' ? blankNode(object.value)
|
|
33
|
+
: object.type === 'Literal' && object.as ? literal(object.value, namedNode(object.as))
|
|
34
|
+
: object.type === 'Literal' ? literal(object.value)
|
|
35
|
+
: namedNode(object.value);
|
|
36
|
+
writer.addQuad(subjectValue, predicateValue, objectValue);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
readable.on('end', () => {
|
|
40
|
+
writer.end();
|
|
41
|
+
writable.end();
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=rdf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rdf.js","sourceRoot":"","sources":["../../src/output/rdf.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Readable, Writable } from 'stream';
|
|
2
|
+
export declare function readable2writable(readable: Readable, writable: Writable): void;
|
|
3
|
+
export declare function escapeXML(value: string | number | null | undefined, options?: {
|
|
4
|
+
forAttribute?: boolean;
|
|
5
|
+
}): string;
|
|
6
|
+
//# sourceMappingURL=xml.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../../src/output/xml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAM5C,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAI,IAAI,CAmD/E;AAED,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EACzC,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GACnC,MAAM,CAqBR"}
|
|
@@ -1,46 +1,38 @@
|
|
|
1
1
|
import { Readable, Writable } from 'stream';
|
|
2
|
-
import { marcmap, marctag, marcind, marcsubfields
|
|
2
|
+
import { marcmap, marctag, marcind, marcsubfields, marcForEachSub } from '../marcmap.js';
|
|
3
3
|
import log4js from 'log4js';
|
|
4
|
-
|
|
5
4
|
const logger = log4js.getLogger();
|
|
6
|
-
|
|
7
|
-
export function readable2writable(readable: Readable, writable: Writable) : void {
|
|
5
|
+
export function readable2writable(readable, writable) {
|
|
8
6
|
let isFirst = true;
|
|
9
|
-
|
|
10
7
|
writable.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
|
|
11
8
|
writable.write("<marc:collection xmlns:marc=\"http://www.loc.gov/MARC21/slim\">\n");
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if (!rec) return;
|
|
17
|
-
|
|
9
|
+
readable.on('data', (data) => {
|
|
10
|
+
let rec = data['record'];
|
|
11
|
+
if (!rec)
|
|
12
|
+
return;
|
|
18
13
|
let output = " <marc:record>\n";
|
|
19
|
-
|
|
20
|
-
for (let i = 0 ; i < rec.length ; i++) {
|
|
14
|
+
for (let i = 0; i < rec.length; i++) {
|
|
21
15
|
let tag = marctag(rec[i]);
|
|
22
|
-
let ind = marcind(rec[i]);
|
|
23
|
-
if (tag === 'FMT') {}
|
|
16
|
+
let ind = marcind(rec[i]);
|
|
17
|
+
if (tag === 'FMT') { }
|
|
24
18
|
else if (tag === 'LDR') {
|
|
25
|
-
let value = marcsubfields(rec[i]
|
|
19
|
+
let value = marcsubfields(rec[i], /.*/)[0];
|
|
26
20
|
output += ` <marc:leader>${escapeXML(value)}</marc:leader>\n`;
|
|
27
21
|
}
|
|
28
22
|
else if (tag.match(/^00/)) {
|
|
29
|
-
let value = marcsubfields(rec[i]
|
|
23
|
+
let value = marcsubfields(rec[i], /.*/)[0];
|
|
30
24
|
output += ` <marc:controlfield tag="${tag}">${escapeXML(value)}</marc:controlfield>\n`;
|
|
31
25
|
}
|
|
32
26
|
else {
|
|
33
27
|
output += ` <marc:datafield tag="${tag}" ind1="${ind[0]}" ind2="${ind[1]}">\n`;
|
|
34
|
-
marcForEachSub(rec[i], (code,value) => {
|
|
28
|
+
marcForEachSub(rec[i], (code, value) => {
|
|
35
29
|
output += ` <marc:subfield code="${code}">${escapeXML(value)}</marc:subfield>\n`;
|
|
36
30
|
});
|
|
37
31
|
output += ` </marc:datafield>\n`;
|
|
38
32
|
}
|
|
39
33
|
}
|
|
40
34
|
output += " </marc:record>\n";
|
|
41
|
-
|
|
42
35
|
const ok = writable.write(output);
|
|
43
|
-
|
|
44
36
|
if (!ok) {
|
|
45
37
|
logger.debug("backpressure on");
|
|
46
38
|
readable.pause();
|
|
@@ -49,36 +41,27 @@ export function readable2writable(readable: Readable, writable: Writable) : void
|
|
|
49
41
|
readable.resume();
|
|
50
42
|
});
|
|
51
43
|
}
|
|
52
|
-
});
|
|
53
|
-
|
|
44
|
+
});
|
|
54
45
|
readable.on('end', () => {
|
|
55
46
|
writable.write("</marc:collection>\n");
|
|
56
47
|
writable.end();
|
|
57
48
|
});
|
|
58
49
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
options?: { forAttribute?: boolean }
|
|
63
|
-
): string {
|
|
64
|
-
if (value === null || value === undefined) return '';
|
|
65
|
-
|
|
50
|
+
export function escapeXML(value, options) {
|
|
51
|
+
if (value === null || value === undefined)
|
|
52
|
+
return '';
|
|
66
53
|
let s = String(value);
|
|
67
|
-
|
|
68
54
|
// Remove control chars that are disallowed in XML 1.0:
|
|
69
55
|
// keep tab (0x09), newline (0x0A), carriage return (0x0D)
|
|
70
56
|
s = s.replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F\uFFFE\uFFFF]/g, '');
|
|
71
|
-
|
|
72
57
|
// Escape ampersand that are NOT part of a valid entity (avoid double-escape)
|
|
73
58
|
// Valid entity patterns: &name; or { or 
|
|
74
59
|
s = s.replace(/&(?!(?:[A-Za-z]+|#\d+|#x[0-9A-Fa-f]+);)/g, '&');
|
|
75
|
-
|
|
76
60
|
// Escape the rest
|
|
77
61
|
s = s.replace(/</g, '<').replace(/>/g, '>');
|
|
78
|
-
|
|
79
62
|
if (options?.forAttribute) {
|
|
80
63
|
s = s.replace(/"/g, '"').replace(/'/g, ''');
|
|
81
64
|
}
|
|
82
|
-
|
|
83
65
|
return s;
|
|
84
|
-
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=xml.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xml.js","sourceRoot":"","sources":["../../src/output/xml.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-loader.d.ts","sourceRoot":"","sources":["../src/plugin-loader.ts"],"names":[],"mappings":"AAEA,wBAAsB,UAAU,CAC5B,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,WAAW,gBAuBvD"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
export async function loadPlugin(spec, type) {
|
|
3
|
+
// spec can be:
|
|
4
|
+
// - "./local/file.js"
|
|
5
|
+
// - "/absolute/path/to/plugin.js"
|
|
6
|
+
// - "package-plugin"
|
|
7
|
+
// - "package-plugin/submodule"
|
|
8
|
+
try {
|
|
9
|
+
const resolved = path.resolve(spec);
|
|
10
|
+
return await import(resolved);
|
|
11
|
+
}
|
|
12
|
+
catch (e1) {
|
|
13
|
+
try {
|
|
14
|
+
const resolved = new URL(`./${type}/${spec}.js`, import.meta.url).href;
|
|
15
|
+
return await import(resolved);
|
|
16
|
+
}
|
|
17
|
+
catch (e2) {
|
|
18
|
+
const error = new Error(`Cannot load plugin: ${spec}. Tried direct import and local plugin directory.`);
|
|
19
|
+
error.cause = [e1, e2];
|
|
20
|
+
throw error;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=plugin-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../src/plugin-loader.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,KAAK,UAAU,UAAU,CAC5B,IAAY,EAAE,IAAsC;IAEtD,eAAe;IACf,uBAAuB;IACvB,mCAAmC;IACnC,sBAAsB;IACtB,gCAAgC;IAEhC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACvE,OAAO,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,uBAAuB,IAAI,mDAAmD,CAC/E,CAAC;YACF,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACvB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Readable, Writable } from "stream";
|
|
2
|
+
export declare function s3ReaderStream(url: URL, options: {
|
|
3
|
+
range?: string;
|
|
4
|
+
}): Promise<Readable>;
|
|
5
|
+
export declare function s3WriterStream(url: URL, options: {
|
|
6
|
+
partSize?: number;
|
|
7
|
+
}): Promise<Writable>;
|
|
8
|
+
//# sourceMappingURL=s3stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3stream.d.ts","sourceRoot":"","sources":["../src/s3stream.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAa5C,wBAAsB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CA0F7F;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;CAAC,GAAI,OAAO,CAAC,QAAQ,CAAC,CA+F3F"}
|