marcattacks 2.4.2 → 2.5.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.
@@ -0,0 +1,7 @@
1
+ import { Transform } from 'stream';
2
+ export interface OutputMultipartOptions {
3
+ header?: string;
4
+ delimiter?: string;
5
+ }
6
+ export declare function transform(opts?: OutputMultipartOptions): Promise<Transform>;
7
+ //# sourceMappingURL=mulitipart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mulitipart.d.ts","sourceRoot":"","sources":["../../src/output/mulitipart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAKnC,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,SAAS,CAAC,IAAI,GAAE,sBAA2B,GAAI,OAAO,CAAC,SAAS,CAAC,CAyDtF"}
@@ -0,0 +1,53 @@
1
+ import { Transform } from 'stream';
2
+ import log4js from 'log4js';
3
+ const logger = log4js.getLogger();
4
+ export async function transform(opts = {}) {
5
+ let header = opts.header ? opts.header :
6
+ "Content-Type: multipart/mixed; boundary=\"marcattacks\"";
7
+ let delimiter = opts.delimiter ? opts.delimiter : "--marcattacks";
8
+ let isFirst = true;
9
+ return new Transform({
10
+ objectMode: true,
11
+ transform(data, _encoding, callback) {
12
+ if (Object.keys(data).length == 0) {
13
+ logger.debug('skipped empty record');
14
+ callback();
15
+ return;
16
+ }
17
+ let output = "";
18
+ if (isFirst) {
19
+ output += header + "\n\n";
20
+ isFirst = false;
21
+ }
22
+ else {
23
+ output += delimiter + "\n";
24
+ }
25
+ let fields = [];
26
+ let sortedKeys = Object.keys(data).sort();
27
+ sortedKeys.forEach(key => {
28
+ if (Array.isArray(data[key])) {
29
+ fields.push(`ARRAY[${data[key].length}]`);
30
+ }
31
+ else if (typeof data[key] === 'object') {
32
+ fields.push(`HASH[${Object.keys(data[key]).length}]`);
33
+ }
34
+ else {
35
+ fields.push(data[key]);
36
+ }
37
+ });
38
+ output += fields.join(" ") + "\n";
39
+ logger.trace(`adding ${output.length} bytes`);
40
+ callback(null, output);
41
+ },
42
+ flush(callback) {
43
+ logger.debug('flush reached');
44
+ if (!isFirst) {
45
+ let output = delimiter + "--\n";
46
+ logger.trace(`adding ${output.length} bytes`);
47
+ this.push(output);
48
+ }
49
+ callback();
50
+ }
51
+ });
52
+ }
53
+ //# sourceMappingURL=mulitipart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mulitipart.js","sourceRoot":"","sources":["../../src/output/mulitipart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;AAOlC,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAA+B,EAAE;IAC7D,IAAI,MAAM,GAAY,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,yDAAyD,CAAC;IAC9D,IAAI,SAAS,GAAY,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC;IAE3E,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,OAAO,IAAI,SAAS,CAAC;QACjB,UAAU,EAAE,IAAI;QAChB,SAAS,CAAC,IAAS,EAAE,SAAS,EAAE,QAAQ;YACpC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACrC,QAAQ,EAAE,CAAC;gBACX,OAAO;YACX,CAAC;YAED,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,IAAI,OAAO,EAAE,CAAC;gBACV,MAAM,IAAI,MAAM,GAAG,MAAM,CAAC;gBAC1B,OAAO,GAAG,KAAK,CAAC;YACpB,CAAC;iBACI,CAAC;gBACF,MAAM,IAAI,SAAS,GAAG,IAAI,CAAC;YAC/B,CAAC;YAED,IAAI,MAAM,GAAc,EAAE,CAAC;YAE3B,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YAE1C,UAAU,CAAC,OAAO,CAAE,GAAG,CAAC,EAAE;gBACtB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBAC3B,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC9C,CAAC;qBACI,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACrC,MAAM,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1D,CAAC;qBACI,CAAC;oBACF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3B,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YAElC,MAAM,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,MAAM,QAAQ,CAAC,CAAC;YAC9C,QAAQ,CAAC,IAAI,EAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,QAAQ;YACV,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,IAAI,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,MAAM,QAAQ,CAAC,CAAC;gBAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YACD,QAAQ,EAAE,CAAC;QACf,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Transform } from 'stream';
2
+ export interface OutputMultipartOptions {
3
+ header?: string;
4
+ delimiter?: string;
5
+ noEndDelimiter?: string;
6
+ }
7
+ export declare function transform(opts?: OutputMultipartOptions): Promise<Transform>;
8
+ //# sourceMappingURL=multipart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multipart.d.ts","sourceRoot":"","sources":["../../src/output/multipart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAKnC,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAsB,SAAS,CAAC,IAAI,GAAE,sBAA2B,GAAI,OAAO,CAAC,SAAS,CAAC,CAoDtF"}
@@ -0,0 +1,49 @@
1
+ import { Transform } from 'stream';
2
+ import log4js from 'log4js';
3
+ const logger = log4js.getLogger();
4
+ export async function transform(opts = {}) {
5
+ let header = opts.header ? opts.header :
6
+ "Content-Type: multipart/mixed; boundary=\"marcattacks\"";
7
+ let delimiter = opts.delimiter ? opts.delimiter : "--marcattacks";
8
+ let noEndDelimiter = opts.noEndDelimiter === 'true' ? true : false;
9
+ let isFirst = true;
10
+ return new Transform({
11
+ objectMode: true,
12
+ transform(data, _encoding, callback) {
13
+ let output = "";
14
+ if (isFirst) {
15
+ output += header + "\n\n";
16
+ isFirst = false;
17
+ }
18
+ else {
19
+ output += delimiter + "\n";
20
+ }
21
+ let fields = [];
22
+ let sortedKeys = Object.keys(data).sort();
23
+ sortedKeys.forEach(key => {
24
+ if (Array.isArray(data[key])) {
25
+ fields.push(`ARRAY[${data[key].length}]`);
26
+ }
27
+ else if (typeof data[key] === 'object') {
28
+ fields.push(`HASH[${Object.keys(data[key]).length}]`);
29
+ }
30
+ else {
31
+ fields.push(data[key]);
32
+ }
33
+ });
34
+ output += fields.join(" ") + "\n";
35
+ logger.trace(`adding ${output.length} bytes`);
36
+ callback(null, output);
37
+ },
38
+ flush(callback) {
39
+ logger.debug('flush reached');
40
+ if (!isFirst && !noEndDelimiter) {
41
+ let output = delimiter + "--\n";
42
+ logger.trace(`adding ${output.length} bytes`);
43
+ this.push(output);
44
+ }
45
+ callback();
46
+ }
47
+ });
48
+ }
49
+ //# sourceMappingURL=multipart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multipart.js","sourceRoot":"","sources":["../../src/output/multipart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;AAQlC,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAA+B,EAAE;IAC7D,IAAI,MAAM,GAAY,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,yDAAyD,CAAC;IAC9D,IAAI,SAAS,GAAY,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC;IAC3E,IAAI,cAAc,GAAa,IAAI,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAE7E,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,OAAO,IAAI,SAAS,CAAC;QACjB,UAAU,EAAE,IAAI;QAChB,SAAS,CAAC,IAAS,EAAE,SAAS,EAAE,QAAQ;YACpC,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,IAAI,OAAO,EAAE,CAAC;gBACV,MAAM,IAAI,MAAM,GAAG,MAAM,CAAC;gBAC1B,OAAO,GAAG,KAAK,CAAC;YACpB,CAAC;iBACI,CAAC;gBACF,MAAM,IAAI,SAAS,GAAG,IAAI,CAAC;YAC/B,CAAC;YAED,IAAI,MAAM,GAAc,EAAE,CAAC;YAE3B,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YAE1C,UAAU,CAAC,OAAO,CAAE,GAAG,CAAC,EAAE;gBACtB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBAC3B,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC9C,CAAC;qBACI,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACrC,MAAM,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1D,CAAC;qBACI,CAAC;oBACF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3B,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YAElC,MAAM,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,MAAM,QAAQ,CAAC,CAAC;YAC9C,QAAQ,CAAC,IAAI,EAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,QAAQ;YACV,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC9B,IAAI,CAAC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC9B,IAAI,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,MAAM,QAAQ,CAAC,CAAC;gBAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YACD,QAAQ,EAAE,CAAC;QACf,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Transform } from 'stream';
2
+ export interface OutputTextOptions {
3
+ newline?: "yes" | "no";
4
+ }
5
+ export declare function transform(opts?: OutputTextOptions): Promise<Transform>;
6
+ //# sourceMappingURL=text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/output/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAKnC,MAAM,WAAW,iBAAiB;IAC9B,OAAO,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CAC1B;AAED,wBAAsB,SAAS,CAAC,IAAI,GAAE,iBAAsB,GAAI,OAAO,CAAC,SAAS,CAAC,CAkCjF"}
@@ -0,0 +1,34 @@
1
+ import { Transform } from 'stream';
2
+ import log4js from 'log4js';
3
+ const logger = log4js.getLogger();
4
+ export async function transform(opts = {}) {
5
+ let newline = opts.newline ? opts.newline : "no";
6
+ return new Transform({
7
+ objectMode: true,
8
+ transform(data, _encoding, callback) {
9
+ if (Object.keys(data).length == 0) {
10
+ logger.debug('skipped empty record');
11
+ callback();
12
+ return;
13
+ }
14
+ let output = "";
15
+ let fields = [];
16
+ let sortedKeys = Object.keys(data).sort();
17
+ sortedKeys.forEach(key => {
18
+ if (Array.isArray(data[key])) {
19
+ fields.push(`ARRAY[${data[key].length}]`);
20
+ }
21
+ else if (typeof data[key] === 'object') {
22
+ fields.push(`HASH[${Object.keys(data[key]).length}]`);
23
+ }
24
+ else {
25
+ fields.push(data[key]);
26
+ }
27
+ });
28
+ output += fields.join(delimiter) + "\n";
29
+ logger.trace(`adding ${output.length} bytes`);
30
+ callback(null, output);
31
+ }
32
+ });
33
+ }
34
+ //# sourceMappingURL=text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/output/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;AAMlC,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAA0B,EAAE;IACxD,IAAI,OAAO,GAAY,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAE1D,OAAO,IAAI,SAAS,CAAC;QACjB,UAAU,EAAE,IAAI;QAChB,SAAS,CAAC,IAAS,EAAE,SAAS,EAAE,QAAQ;YACpC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACrC,QAAQ,EAAE,CAAC;gBACX,OAAO;YACX,CAAC;YAED,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAc,EAAE,CAAC;YAC3B,IAAI,UAAU,GAAc,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YAErD,UAAU,CAAC,OAAO,CAAE,GAAG,CAAC,EAAE;gBACtB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBAC3B,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC9C,CAAC;qBACI,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACrC,MAAM,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1D,CAAC;qBACI,CAAC;oBACF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3B,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;YAExC,MAAM,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,MAAM,QAAQ,CAAC,CAAC;YAC9C,QAAQ,CAAC,IAAI,EAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Transform } from "stream";
2
+ export interface MarcInRDFOptions {
3
+ parse?: "jsonld" | "turtle" | "field" | "full";
4
+ }
5
+ export declare function transform(opts?: MarcInRDFOptions): Promise<Transform>;
6
+ //# sourceMappingURL=marcinrdf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marcinrdf.d.ts","sourceRoot":"","sources":["../../src/transform/marcinrdf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAKnC,MAAM,WAAW,gBAAgB;IAC7B,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;CAClD;AAID,wBAAsB,SAAS,CAAC,IAAI,GAAE,gBAAqB,GAAI,OAAO,CAAC,SAAS,CAAC,CAQhF"}
@@ -0,0 +1,91 @@
1
+ import { Transform } from "stream";
2
+ import { isRecord } from "../types/quad.js";
3
+ import { parseString } from "../util/rdf_parse.js";
4
+ import { marcmap } from "../marcmap.js";
5
+ // An experimental processor that does a literal translation of
6
+ // alephseq into something JSON-LD-ish
7
+ export async function transform(opts = {}) {
8
+ return new Transform({
9
+ objectMode: true,
10
+ async transform(data, _encoding, callback) {
11
+ const rdfData = await makeRdfData(data, opts);
12
+ callback(null, rdfData);
13
+ }
14
+ });
15
+ }
16
+ async function makeRdfData(data, opts = {}) {
17
+ const parse = opts.parse ? opts.parse : "jsonld";
18
+ // First take a guess if we already have a Record
19
+ // Stupid guess but sufficient for now
20
+ if (isRecord(data)) {
21
+ return data;
22
+ }
23
+ const id = marcmap(data['record'], "001", {})[0];
24
+ const clone = structuredClone(data);
25
+ // Parse the input data as RDF
26
+ clone['@context'] = {
27
+ "@vocab": "http://example.org/ns#",
28
+ "ex": "http://example.org/ns#",
29
+ "record": {
30
+ "@id": "ex:record",
31
+ "@container": "@list"
32
+ }
33
+ };
34
+ clone['@id'] = `http://example.org/record/${id}`;
35
+ clone['@type'] = 'ex:Record';
36
+ if (parse === "turtle") {
37
+ return await parseString(JSON.stringify(clone), "data.jsonld");
38
+ }
39
+ else if (parse === "field") {
40
+ const record = {
41
+ "text": serializeFieldRecord(clone)
42
+ };
43
+ return record;
44
+ }
45
+ else if (parse === "full") {
46
+ const record = {
47
+ "text": serializeFullRecord(clone)
48
+ };
49
+ return record;
50
+ }
51
+ else {
52
+ return clone;
53
+ }
54
+ }
55
+ function serializeFieldRecord(record) {
56
+ const id = record['@id'];
57
+ const ex = "http://example.org/ns#";
58
+ let result = `<${id}> a <${ex}Record>.\n`;
59
+ const fields = record['record'];
60
+ for (let i = 0; i < fields.length; i++) {
61
+ const tag = fields[i][0];
62
+ const rest = fields[i].splice(1);
63
+ result += `<${id}> <${ex}f${tag}> ${serializeArray(rest)}.\n`;
64
+ }
65
+ return result.trim();
66
+ }
67
+ function serializeFullRecord(record) {
68
+ const id = record['@id'];
69
+ const ex = "http://example.org/ns#";
70
+ let result = `<${id}> a <${ex}Record>.\n`;
71
+ result += `<${id}> <${ex}record> ${serializeArray(record['record'])}.\n`;
72
+ return result.trim();
73
+ }
74
+ function serializeArray(array) {
75
+ const result = "(" + array.map(x => {
76
+ if (Array.isArray(x)) {
77
+ return serializeArray(x);
78
+ }
79
+ else {
80
+ return serializeValue(x);
81
+ }
82
+ }).join(" ") + ")";
83
+ return result;
84
+ }
85
+ function serializeValue(value) {
86
+ const result = "\"" +
87
+ value.replaceAll(/\\/g, "\\\\").replaceAll(/"/g, "\\\"") +
88
+ "\"";
89
+ return result;
90
+ }
91
+ //# sourceMappingURL=marcinrdf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marcinrdf.js","sourceRoot":"","sources":["../../src/transform/marcinrdf.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "marcattacks",
3
- "version": "2.4.2",
3
+ "version": "2.5.1",
4
4
  "description": "A powerful streaming MARC21 to RDF converter with JSONata transformation and S3 support.",
5
5
  "keywords": [
6
6
  "marc21",