@natlibfi/marc-record-validators-melinda 11.3.8 → 11.4.0-alpha.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.
Files changed (36) hide show
  1. package/dist/cyrillux.js +67 -34
  2. package/dist/cyrillux.js.map +1 -1
  3. package/dist/translate-terms.js +291 -0
  4. package/dist/translate-terms.js.map +1 -0
  5. package/dist/translate-terms.spec.js +51 -0
  6. package/dist/translate-terms.spec.js.map +1 -0
  7. package/package.json +1 -1
  8. package/src/cyrillux.js +56 -32
  9. package/src/translate-terms.js +274 -0
  10. package/src/translate-terms.spec.js +52 -0
  11. package/test-fixtures/cyrillux/f01/metadata.json +1 -1
  12. package/test-fixtures/cyrillux/f03/metadata.json +4 -3
  13. package/test-fixtures/cyrillux/f03b/expectedResult.json +21 -0
  14. package/test-fixtures/cyrillux/f03b/metadata.json +11 -0
  15. package/test-fixtures/cyrillux/f03b/record.json +19 -0
  16. package/test-fixtures/cyrillux/f04/metadata.json +4 -3
  17. package/test-fixtures/cyrillux/f08/metadata.json +1 -1
  18. package/test-fixtures/cyrillux/f09/metadata.json +1 -1
  19. package/test-fixtures/cyrillux/f11/expectedResult.json +18 -0
  20. package/test-fixtures/cyrillux/f11/metadata.json +9 -0
  21. package/test-fixtures/cyrillux/f11/record.json +9 -0
  22. package/test-fixtures/cyrillux/f11b/expectedResult.json +18 -0
  23. package/test-fixtures/cyrillux/f11b/metadata.json +9 -0
  24. package/test-fixtures/cyrillux/f11b/record.json +16 -0
  25. package/test-fixtures/translate-terms/01/expectedResult.json +37 -0
  26. package/test-fixtures/translate-terms/01/metadata.json +6 -0
  27. package/test-fixtures/translate-terms/01/record.json +27 -0
  28. package/test-fixtures/translate-terms/02/expectedResult.json +37 -0
  29. package/test-fixtures/translate-terms/02/metadata.json +6 -0
  30. package/test-fixtures/translate-terms/02/record.json +27 -0
  31. package/test-fixtures/translate-terms/03/expectedResult.json +26 -0
  32. package/test-fixtures/translate-terms/03/metadata.json +5 -0
  33. package/test-fixtures/translate-terms/03/record.json +26 -0
  34. package/test-fixtures/translate-terms/04/expectedResult.json +16 -0
  35. package/test-fixtures/translate-terms/04/metadata.json +7 -0
  36. package/test-fixtures/translate-terms/04/record.json +17 -0
@@ -1,10 +1,11 @@
1
1
  {
2
- "description": "Fix: just convert field 100 to ISO-9 latinitsa",
2
+ "description": "03 Fix: just convert field 100 to ISO-9 latinitsa, don't retain the original nor do sfs4900",
3
3
  "comment": "Tests usage of config and omitting of $6 and $9",
4
4
  "only": false,
5
5
  "fix": true,
6
6
  "config": {
7
- "doISO9Transliteration": false,
8
- "doSFS4900Transliteration": false
7
+ "doISO9Transliteration": true,
8
+ "doSFS4900Transliteration": false,
9
+ "retainCyrillic": false
9
10
  }
10
11
  }
@@ -0,0 +1,21 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "leader": "12345cam 22123454i 4500",
4
+ "fields": [
5
+ { "tag": "100", "ind1": "1", "ind2": " ", "subfields": [
6
+ { "code": "a", "value": "Modin, Ûrij Ivanovič." }
7
+ ]},
8
+ { "tag": "245", "ind1": "1", "ind2": " ", "subfields": [
9
+ { "code": "a", "value": "Sudʹby razvedčikov." }
10
+ ]},
11
+ {"tag": "500", "ind1": " ", "ind2": " ", "subfields": [
12
+ { "code": "6", "value": "880-01"},
13
+ { "code": "a", "value": "FOO."}
14
+ ]},
15
+ {"tag": "880", "ind1": " ", "ind2": " ", "subfields": [
16
+ { "code": "6", "value": "500-01"},
17
+ { "code": "a", "value": "BAR."}
18
+ ]}
19
+ ]
20
+ }
21
+
@@ -0,0 +1,11 @@
1
+ {
2
+ "description": "03b Fix: just convert field 100 to SFS4900 latinitsa, don't retain the original nor do ISO-9",
3
+ "comment": "Tests usage of config and omitting of $6 and $9",
4
+ "only": false,
5
+ "fix": true,
6
+ "config": {
7
+ "doISO9Transliteration": false,
8
+ "doSFS4900Transliteration": true,
9
+ "retainCyrillic": false
10
+ }
11
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "leader": "12345cam 22123454i 4500",
3
+ "fields": [
4
+ { "tag": "100", "ind1": "1", "ind2": " ", "subfields": [
5
+ { "code": "a", "value": "Модин, Юрий Иванович." }
6
+ ]},
7
+ {"tag": "245", "ind1": "1", "ind2": " ", "subfields": [
8
+ { "code": "a", "value": "Судьбы разведчиков."}
9
+ ]},
10
+ {"tag": "500", "ind1": " ", "ind2": " ", "subfields": [
11
+ { "code": "6", "value": "880-01"},
12
+ { "code": "a", "value": "FOO."}
13
+ ]},
14
+ {"tag": "880", "ind1": " ", "ind2": " ", "subfields": [
15
+ { "code": "6", "value": "500-01"},
16
+ { "code": "a", "value": "BAR."}
17
+ ]}
18
+ ]
19
+ }
@@ -1,10 +1,11 @@
1
1
  {
2
- "description": "Fix: just convert field 100 to ISO-9 latinitsa",
2
+ "description": "04 Fix: just convert field 100 to ISO-9 latinitsa",
3
3
  "comment": "Tests usage of config and omitting of $6 and $9",
4
4
  "only": false,
5
5
  "fix": true,
6
6
  "config": {
7
- "doISO9Transliteration": false,
8
- "doSFS4900Transliteration": false
7
+ "doISO9Transliteration": true,
8
+ "doSFS4900Transliteration": false,
9
+ "retainCyrillic": false
9
10
  }
10
11
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "description": "Fix MELINDA-10330: fields 100 and 245 are already in SFS-4900 and their only 880 pairs are Cyrillic",
2
+ "description": "08 Fix MELINDA-10330: fields 100 and 245 are already in SFS-4900 and their only 880 pairs are Cyrillic",
3
3
  "comment": "Use 880 to create 100/245 in ISO-9. Move original SFS-4900 to 880, add $9s",
4
4
  "comment #2": "Note that the original punctuation in 100/245 is overwritten with punctuation from paired 880",
5
5
  "only": false,
@@ -1,5 +1,5 @@
1
1
  {
2
- "description": "Fix MELINDA-10330, round 3: big file that had issues",
2
+ "description": "09 Fix MELINDA-10330, round 3: big file that had issues",
3
3
  "comment": "Some sorting issues: SIDs are sorted by $c (bug) and LOW precedes SID...",
4
4
  "only": false,
5
5
  "fix": true,
@@ -0,0 +1,18 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "leader": "12345cam 22123454i 4500",
4
+ "fields": [
5
+ { "tag": "008", "value": "01234567890123456789012345678901234ukr89"},
6
+ { "tag": "100", "ind1": "1", "ind2": " ", "subfields": [
7
+ { "code": "6", "value": "880-01" },
8
+ { "code": "a", "value": "Gogolʹ." },
9
+ { "code": "9", "value": "ISO9 <TRANS>" }
10
+ ]},
11
+ { "tag": "880", "ind1": "1", "ind2": " ", "subfields": [
12
+ { "code": "6", "value": "100-01" },
13
+ { "code": "a", "value": "Гоголь." },
14
+ { "code": "9", "value": "CYRILLIC <TRANS>" }
15
+ ]}
16
+ ]
17
+ }
18
+
@@ -0,0 +1,9 @@
1
+ {
2
+ "description": "03: transliterate (ISO-9 only)",
3
+ "only": false,
4
+ "fix": true,
5
+ "config": {
6
+ "doISO9Transliteration": true,
7
+ "doSFS4900Transliteration": false
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "leader": "12345cam 22123454i 4500",
3
+ "fields": [
4
+ { "tag": "008", "value": "01234567890123456789012345678901234ukr89"},
5
+ { "tag": "100", "ind1": "1", "ind2": " ", "subfields": [
6
+ { "code": "a", "value": "Гоголь." }
7
+ ]}
8
+ ]
9
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "leader": "12345cam 22123454i 4500",
4
+ "fields": [
5
+ { "tag": "008", "value": "01234567890123456789012345678901234ukr89"},
6
+ { "tag": "100", "ind1": "1", "ind2": " ", "subfields": [
7
+ { "code": "6", "value": "880-01" },
8
+ { "code": "a", "value": "Gogolʹ." },
9
+ { "code": "9", "value": "ISO9 <TRANS>" }
10
+ ]},
11
+ { "tag": "880", "ind1": "1", "ind2": " ", "subfields": [
12
+ { "code": "6", "value": "100-01" },
13
+ { "code": "a", "value": "Гоголь." },
14
+ { "code": "9", "value": "CYRILLIC <TRANS>" }
15
+ ]}
16
+ ]
17
+ }
18
+
@@ -0,0 +1,9 @@
1
+ {
2
+ "description": "f11b: use output from the f11",
3
+ "only": false,
4
+ "fix": true,
5
+ "config": {
6
+ "doISO9Transliteration": true,
7
+ "doSFS4900Transliteration": false
8
+ }
9
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "leader": "12345cam 22123454i 4500",
3
+ "fields": [
4
+ { "tag": "008", "value": "01234567890123456789012345678901234ukr89"},
5
+ { "tag": "100", "ind1": "1", "ind2": " ", "subfields": [
6
+ { "code": "6", "value": "880-01" },
7
+ { "code": "a", "value": "Gogolʹ." },
8
+ { "code": "9", "value": "ISO9 <TRANS>" }
9
+ ]},
10
+ { "tag": "880", "ind1": "1", "ind2": " ", "subfields": [
11
+ { "code": "6", "value": "100-01" },
12
+ { "code": "a", "value": "Гоголь." },
13
+ { "code": "9", "value": "CYRILLIC <TRANS>" }
14
+ ]}
15
+ ]
16
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "fields": [
4
+ { "tag": "650", "ind1": " ", "ind2": "7", "subfields": [
5
+ { "code": "a", "value": "laiturit" },
6
+ { "code": "2", "value": "yso/fin" },
7
+ { "code": "0", "value": "http://www.yso.fi/onto/yso/p13299" }
8
+ ]},
9
+ { "tag": "650", "ind1": " ", "ind2": "7", "subfields": [
10
+ { "code": "a", "value": "marxismi" },
11
+ { "code": "2", "value": "yso/fin" },
12
+ { "code": "0", "value": "http://www.yso.fi/onto/yso/p444" }
13
+ ]},
14
+ { "tag": "650", "ind1": " ", "ind2": "7", "subfields": [
15
+ { "code": "a", "value": "marxism" },
16
+ { "code": "2", "value": "yso/swe" },
17
+ { "code": "0", "value": "http://www.yso.fi/onto/yso/p444" }
18
+ ]},
19
+ { "tag": "650", "ind1": " ", "ind2": "7", "subfields": [
20
+ { "code": "a", "value": "bryggor" },
21
+ { "code": "2", "value": "yso/swe" },
22
+ { "code": "0", "value": "http://www.yso.fi/onto/yso/p13299" }
23
+ ]},
24
+ { "tag": "651", "ind1": " ", "ind2": "7", "subfields": [
25
+ { "code": "a", "value": "Ivalo (Enare)" },
26
+ { "code": "2", "value": "yso/swe" },
27
+ { "code": "0", "value": "http://www.yso.fi/onto/yso/p111739" }
28
+ ]},
29
+ { "tag": "651", "ind1": " ", "ind2": "7", "subfields": [
30
+ { "code": "a", "value": "Ivalo (Inari)" },
31
+ { "code": "2", "value": "yso/fin" },
32
+ { "code": "0", "value": "http://www.yso.fi/onto/yso/p111739" }
33
+ ]}
34
+
35
+ ],
36
+ "leader": ""
37
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "description": "01: insert one fin->swe and one swe->fin translation",
3
+ "comment": "Fields are inserted in tag order. Inserted fields are not sorted.",
4
+ "fix": true,
5
+ "only": false
6
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "leader": "",
4
+ "fields": [
5
+ { "tag": "650", "ind1": " ", "ind2": "7", "subfields": [
6
+ { "code": "a", "value": "laiturit" },
7
+ { "code": "2", "value": "yso/fin" },
8
+ { "code": "0", "value": "http://www.yso.fi/onto/yso/p13299" }
9
+ ]
10
+ },
11
+ { "tag": "650", "ind1": " ", "ind2": "7", "subfields": [
12
+ { "code": "a", "value": "marxismi" },
13
+ { "code": "2", "value": "yso/fin" },
14
+ { "code": "0", "value": "http://www.yso.fi/onto/yso/p444" }
15
+ ]},
16
+ { "tag": "650", "ind1": " ", "ind2": "7", "subfields": [
17
+ { "code": "a", "value": "marxism" },
18
+ { "code": "2", "value": "yso/swe" },
19
+ { "code": "0", "value": "http://www.yso.fi/onto/yso/p444" }
20
+ ]},
21
+ { "tag": "651", "ind1": " ", "ind2": "7", "subfields": [
22
+ { "code": "a", "value": "Ivalo (Enare)" },
23
+ { "code": "2", "value": "yso/swe" },
24
+ { "code": "0", "value": "http://www.yso.fi/onto/yso/p111739" }
25
+ ]}
26
+ ]
27
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "fields": [
4
+ { "tag": "648", "ind1": " ", "ind2": "7", "subfields": [
5
+ { "code": "a", "value": "1960-luku" },
6
+ { "code": "2", "value": "yso/fin" },
7
+ { "code": "0", "value": "http://www.yso.fi/onto/yso/p6196061969" }
8
+ ]
9
+ },
10
+ { "tag": "648", "ind1": " ", "ind2": "7", "subfields": [
11
+ { "code": "a", "value": "1960-talet" },
12
+ { "code": "2", "value": "yso/swe" },
13
+ { "code": "0", "value": "http://www.yso.fi/onto/yso/p6196061969" }
14
+ ]},
15
+ { "tag": "655", "ind1": " ", "ind2": "7", "subfields": [
16
+ { "code": "a", "value": "damtidningar" },
17
+ { "code": "2", "value": "slm/swe" },
18
+ { "code": "0", "value": "http://urn.fi/URN:NBN:fi:au:slm:s161" }
19
+ ]},
20
+ { "tag": "655", "ind1": " ", "ind2": "7", "subfields": [
21
+ { "code": "a", "value": "nekrologit" },
22
+ { "code": "2", "value": "slm/fin" },
23
+ { "code": "0", "value": "http://urn.fi/URN:NBN:fi:au:slm:s1324" }
24
+ ]},
25
+ { "tag": "655", "ind1": " ", "ind2": "7", "subfields": [
26
+ { "code": "a", "value": "nekrologer" },
27
+ { "code": "2", "value": "slm/swe" },
28
+ { "code": "0", "value": "http://urn.fi/URN:NBN:fi:au:slm:s1324" }
29
+ ]},
30
+ { "tag": "655", "ind1": " ", "ind2": "7", "subfields": [
31
+ { "code": "a", "value": "naistenlehdet" },
32
+ { "code": "2", "value": "slm/fin" },
33
+ { "code": "0", "value": "http://urn.fi/URN:NBN:fi:au:slm:s161" }
34
+ ]}
35
+ ],
36
+ "leader": ""
37
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "description": "02: insert one fin->swe (yso-aika) and one swe->fin (slm) translation",
3
+ "comment": "Fields are inserted in tag order. Inserted fields are not sorted.",
4
+ "fix": true,
5
+ "only": false
6
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "leader": "",
4
+ "fields": [
5
+ { "tag": "648", "ind1": " ", "ind2": "7", "subfields": [
6
+ { "code": "a", "value": "1960-luku" },
7
+ { "code": "2", "value": "yso/fin" },
8
+ { "code": "0", "value": "http://www.yso.fi/onto/yso/p6196061969" }
9
+ ]
10
+ },
11
+ { "tag": "655", "ind1": " ", "ind2": "7", "subfields": [
12
+ { "code": "a", "value": "damtidningar" },
13
+ { "code": "2", "value": "slm/swe" },
14
+ { "code": "0", "value": "http://urn.fi/URN:NBN:fi:au:slm:s161" }
15
+ ]},
16
+ { "tag": "655", "ind1": " ", "ind2": "7", "subfields": [
17
+ { "code": "a", "value": "nekrologit" },
18
+ { "code": "2", "value": "slm/fin" },
19
+ { "code": "0", "value": "http://urn.fi/URN:NBN:fi:au:slm:s1324" }
20
+ ]},
21
+ { "tag": "655", "ind1": " ", "ind2": "7", "subfields": [
22
+ { "code": "a", "value": "nekrologer" },
23
+ { "code": "2", "value": "slm/swe" },
24
+ { "code": "0", "value": "http://urn.fi/URN:NBN:fi:au:slm:s1324" }
25
+ ]}
26
+ ]
27
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "fields": [
4
+ { "tag": "648", "ind1": " ", "ind2": "7", "subfields": [
5
+ { "code": "a", "value": "1960-luku" },
6
+ { "code": "2", "value": "yso/fin" },
7
+ { "code": "0", "value": "http://www.yso.fi/onto/yso/p6197061979" }
8
+ ]
9
+ },
10
+ { "tag": "650", "ind1": " ", "ind2": "7", "subfields": [
11
+ { "code": "a", "value": "länsimurteet" },
12
+ { "code": "2", "value": "kauno/fin" },
13
+ { "code": "0", "value": "http://www.yso.fi/onto/yso/p13378"}
14
+ ]},
15
+ { "tag": "651", "ind1": " ", "ind2": "7", "subfields": [
16
+ { "code": "a", "value": "Suomi" },
17
+ { "code": "2", "value": "yso/fin" }
18
+ ]},
19
+ { "tag": "655", "ind1": " ", "ind2": "7", "subfields": [
20
+ { "code": "a", "value": "nekrologit" },
21
+ { "code": "2", "value": "slm" },
22
+ { "code": "0", "value": "http://urn.fi/URN:NBN:fi:au:slm:s1324" }
23
+ ]}
24
+ ],
25
+ "leader": ""
26
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "description": "03: various non-translating corrupted rows",
3
+ "fix": true,
4
+ "only": false
5
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "leader": "",
4
+ "fields": [
5
+ { "tag": "648", "ind1": " ", "ind2": "7", "subfields": [
6
+ { "code": "a", "value": "1960-luku" },
7
+ { "code": "2", "value": "yso/fin" },
8
+ { "code": "0", "value": "http://www.yso.fi/onto/yso/p6197061979" }
9
+ ]
10
+ },
11
+ { "tag": "650", "ind1": " ", "ind2": "7", "subfields": [
12
+ { "code": "a", "value": "länsimurteet" },
13
+ { "code": "2", "value": "kauno/fin" },
14
+ { "code": "0", "value": "http://www.yso.fi/onto/yso/p13378"}
15
+ ]},
16
+ { "tag": "651", "ind1": " ", "ind2": "7", "subfields": [
17
+ { "code": "a", "value": "Suomi" },
18
+ { "code": "2", "value": "yso/fin" }
19
+ ]},
20
+ { "tag": "655", "ind1": " ", "ind2": "7", "subfields": [
21
+ { "code": "a", "value": "nekrologit" },
22
+ { "code": "2", "value": "slm" },
23
+ { "code": "0", "value": "http://urn.fi/URN:NBN:fi:au:slm:s1324" }
24
+ ]}
25
+ ]
26
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "fields": [
4
+ { "tag": "650", "ind1": " ", "ind2": "7", "subfields": [
5
+ { "code": "a", "value": "1960-luku" },
6
+ { "code": "2", "value": "yso/fin" },
7
+ { "code": "0", "value": "http://www.yso.fi/onto/yso/p6196061969" }
8
+ ]},
9
+ { "tag": "651", "ind1": " ", "ind2": "7", "subfields": [
10
+ { "code": "a", "value": "länsimurteet" },
11
+ { "code": "2", "value": "yso/fin" },
12
+ { "code": "0", "value": "http://www.yso.fi/onto/yso/p13378"}
13
+ ]}
14
+ ],
15
+ "leader": ""
16
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "description": "04: yso term gets translated in a wrong yso field",
3
+ "comment": "not fixing this yet, waiting for comments",
4
+ "fix": true,
5
+ "only": false,
6
+ "skip": true
7
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "leader": "",
4
+ "fields": [
5
+ { "tag": "650", "ind1": " ", "ind2": "7", "subfields": [
6
+ { "code": "a", "value": "1960-luku" },
7
+ { "code": "2", "value": "yso/fin" },
8
+ { "code": "0", "value": "http://www.yso.fi/onto/yso/p6196061969" }
9
+ ]
10
+ },
11
+ { "tag": "651", "ind1": " ", "ind2": "7", "subfields": [
12
+ { "code": "a", "value": "länsimurteet" },
13
+ { "code": "2", "value": "yso/fin" },
14
+ { "code": "0", "value": "http://www.yso.fi/onto/yso/p13378"}
15
+ ]}
16
+ ]
17
+ }