@natlibfi/marc-record-validators-melinda 11.2.2-alpha.2 → 11.3.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 (55) hide show
  1. package/dist/cyrillux-usemarcon-replacement.js +5 -2
  2. package/dist/cyrillux-usemarcon-replacement.js.map +1 -1
  3. package/dist/cyrillux.js +197 -0
  4. package/dist/cyrillux.js.map +1 -0
  5. package/dist/cyrillux.spec.js +46 -0
  6. package/dist/cyrillux.spec.js.map +1 -0
  7. package/dist/fix-33X.js +23 -2
  8. package/dist/fix-33X.js.map +1 -1
  9. package/dist/fixRelatorTerms.js +5 -1
  10. package/dist/fixRelatorTerms.js.map +1 -1
  11. package/dist/index.js +7 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/subfield6Utils.js +4 -1
  14. package/dist/subfield6Utils.js.map +1 -1
  15. package/dist/utils.js +15 -0
  16. package/dist/utils.js.map +1 -1
  17. package/package.json +9 -6
  18. package/src/cyrillux-usemarcon-replacement.js +6 -4
  19. package/src/cyrillux.js +173 -0
  20. package/src/cyrillux.spec.js +46 -0
  21. package/src/fix-33X.js +18 -2
  22. package/src/fixRelatorTerms.js +5 -2
  23. package/src/index.js +2 -0
  24. package/src/subfield6Utils.js +4 -3
  25. package/src/utils.js +13 -0
  26. package/test-fixtures/cyrillux/f01/expectedResult.json +23 -0
  27. package/test-fixtures/cyrillux/f01/metadata.json +5 -0
  28. package/test-fixtures/cyrillux/f01/record.json +8 -0
  29. package/test-fixtures/cyrillux/f02/expectedResult.json +30 -0
  30. package/test-fixtures/cyrillux/f02/metadata.json +10 -0
  31. package/test-fixtures/cyrillux/f02/record.json +14 -0
  32. package/test-fixtures/cyrillux/f03/expectedResult.json +13 -0
  33. package/test-fixtures/cyrillux/f03/metadata.json +10 -0
  34. package/test-fixtures/cyrillux/f03/record.json +11 -0
  35. package/test-fixtures/cyrillux/f04/expectedResult.json +13 -0
  36. package/test-fixtures/cyrillux/f04/metadata.json +10 -0
  37. package/test-fixtures/cyrillux/f04/record.json +11 -0
  38. package/test-fixtures/cyrillux/f05/expectedResult.json +20 -0
  39. package/test-fixtures/cyrillux/f05/metadata.json +5 -0
  40. package/test-fixtures/cyrillux/f05/record.json +18 -0
  41. package/test-fixtures/cyrillux/v01/expectedResult.json +7 -0
  42. package/test-fixtures/cyrillux/v01/metadata.json +5 -0
  43. package/test-fixtures/cyrillux/v01/record.json +8 -0
  44. package/test-fixtures/cyrillux/v02/expectedResult.json +5 -0
  45. package/test-fixtures/cyrillux/v02/metadata.json +5 -0
  46. package/test-fixtures/cyrillux/v02/record.json +8 -0
  47. package/test-fixtures/cyrillux-usemarcon-replacement/f15/expectedResult.json +38 -0
  48. package/test-fixtures/cyrillux-usemarcon-replacement/f15/metadata.json +5 -0
  49. package/test-fixtures/cyrillux-usemarcon-replacement/f15/record.json +35 -0
  50. package/test-fixtures/fix-relator-terms/f03/expectedResult.json +15 -0
  51. package/test-fixtures/fix-relator-terms/f03/metadata.json +5 -0
  52. package/test-fixtures/fix-relator-terms/f03/record.json +14 -0
  53. package/test-fixtures/sort-fields/12/input.json +60 -0
  54. package/test-fixtures/sort-fields/12/metadata.json +5 -0
  55. package/test-fixtures/sort-fields/12/result.json +61 -0
@@ -0,0 +1,11 @@
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
+ ]
11
+ }
@@ -0,0 +1,20 @@
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": "6", "value": "880-01" },
10
+ { "code": "a", "value": "Sudʹby razvedčikov =" },
11
+ { "code": "b", "value": "会意; 會意."}
12
+ ]},
13
+ { "tag": "800", "ind1": "1", "ind2": " ", "subfields": [
14
+ { "code": "6", "value": "880-01/suffix" },
15
+ { "code": "a", "value": "Whatever." },
16
+ { "code": "b", "value": "会意; 會意."}
17
+ ]}
18
+ ]
19
+ }
20
+
@@ -0,0 +1,5 @@
1
+ {
2
+ "description": "Fix: ignore fields taht already have $6",
3
+ "only": false,
4
+ "fix": true
5
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "leader": "12345cam 22123454i 4500",
3
+ "fields": [
4
+ { "tag": "100", "ind1": "1", "ind2": " ", "subfields": [
5
+ { "code": "a", "value": "Modin, Ûrij Ivanovič." }
6
+ ]},
7
+ { "tag": "245", "ind1": "1", "ind2": " ", "subfields": [
8
+ { "code": "6", "value": "880-01" },
9
+ { "code": "a", "value": "Sudʹby razvedčikov =" },
10
+ { "code": "b", "value": "会意; 會意."}
11
+ ]},
12
+ { "tag": "800", "ind1": "1", "ind2": " ", "subfields": [
13
+ { "code": "6", "value": "880-01/suffix" },
14
+ { "code": "a", "value": "Whatever." },
15
+ { "code": "b", "value": "会意; 會意."}
16
+ ]}
17
+ ]
18
+ }
@@ -0,0 +1,7 @@
1
+
2
+ {
3
+ "message": [
4
+ "CHANGE: 100 1# ‡a Модин, Юрий Иванович. => 100 1# ‡6 880-NN ‡a Modin, Ûrij Ivanovič. ‡9 ISO9 <TRANS>, 880 1# ‡6 100-NN ‡a Модин, Юрий Иванович. ‡9 CYRILLIC <TRANS>, 880 1# ‡6 100-NN ‡a Modin, Juri Ivanovitš. ‡9 SFS4900 <TRANS>"
5
+ ],
6
+ "valid": false
7
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "description": "Validate: field 100 requires translitteration",
3
+ "only": false,
4
+ "fix": false
5
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "leader": "12345cam 22123454i 4500",
3
+ "fields": [
4
+ { "tag": "100", "ind1": "1", "ind2": " ", "subfields": [
5
+ { "code": "a", "value": "Модин, Юрий Иванович." }
6
+ ]}
7
+ ]
8
+ }
@@ -0,0 +1,5 @@
1
+
2
+ {
3
+ "message": [],
4
+ "valid": true
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "description": "Validate: no action required",
3
+ "only": false,
4
+ "fix": false
5
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "leader": "12345cam 22123454i 4500",
3
+ "fields": [
4
+ { "tag": "100", "ind1": "1", "ind2": " ", "subfields": [
5
+ { "code": "a", "value": "Nothing, To Do." }
6
+ ]}
7
+ ]
8
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "leader": "12345cam a22123454i 4500",
4
+ "fields": [
5
+ { "tag": "007", "value": "v12345678"},
6
+ { "tag": "008", "value": "012345s7890 fi |||| fin |"},
7
+ { "tag": "020", "ind1": " ", "ind2": " ", "subfields": [
8
+ { "code": "a", "value": "1234567890" }
9
+ ]},
10
+ { "tag": "040", "ind1": " ", "ind2": " ", "subfields": [
11
+ { "code": "b", "value": "mul" },
12
+ { "code": "e", "value": "rda" }
13
+ ]},
14
+ { "tag": "041", "ind1": " ", "ind2": " ", "subfields": [
15
+ { "code": "a", "value": "fin" }
16
+ ]},
17
+ { "tag": "336", "ind1": " ", "ind2": " ", "subfields": [
18
+ { "code": "a", "value": "teksti" },
19
+ { "code": "b", "value": "txt"},
20
+ { "code": "2", "value": "rdacontent" }
21
+ ]},
22
+ { "tag": "337", "ind1": " ", "ind2": " ", "subfields": [
23
+ { "code": "a", "value": "käytettävissä ilman laitetta" },
24
+ { "code": "b", "value": "n"},
25
+ { "code": "2", "value": "rdamedia" }
26
+ ]},
27
+ { "tag": "338", "ind1": " ", "ind2": " ", "subfields": [
28
+ { "code": "a", "value": "määrittelemätön" },
29
+ { "code": "b", "value": "zu"},
30
+ { "code": "2", "value": "rdacarrier" }
31
+ ]},
32
+ { "tag": "700", "ind1": "1", "ind2": " ", "subfields": [
33
+ { "code": "a", "value": "Вальтер, Харри," },
34
+ { "code": "e", "value": "toimittaja." }
35
+ ]}
36
+
37
+ ]
38
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "description": "f15: Remove 020$c, translate 700$e",
3
+ "only": false,
4
+ "fix": true
5
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "leader": "12345cam a22123454i 4500",
3
+ "fields": [
4
+ { "tag": "007", "value": "v12345678"},
5
+ { "tag": "008", "value": "012345s7890 fi |||| fin |"},
6
+ { "tag": "020", "ind1": " ", "ind2": " ", "subfields": [
7
+ { "code": "c", "value": "whatever" }
8
+ ]},
9
+ { "tag": "020", "ind1": " ", "ind2": " ", "subfields": [
10
+ { "code": "a", "value": "1234567890" },
11
+ { "code": "c", "value": "whatever" }
12
+ ]},
13
+
14
+ { "tag": "336", "ind1": " ", "ind2": " ", "subfields": [
15
+ { "code": "a", "value": "teksti" },
16
+ { "code": "b", "value": "txt"},
17
+ { "code": "2", "value": "rdacontent" }
18
+ ]},
19
+ { "tag": "337", "ind1": " ", "ind2": " ", "subfields": [
20
+ { "code": "a", "value": "käytettävissä ilman laitetta" },
21
+ { "code": "b", "value": "n"},
22
+ { "code": "2", "value": "rdamedia" }
23
+ ]},
24
+ { "tag": "338", "ind1": " ", "ind2": " ", "subfields": [
25
+ { "code": "a", "value": "määrittelemätön" },
26
+ { "code": "b", "value": "zu"},
27
+ { "code": "2", "value": "rdacarrier" }
28
+ ]},
29
+ { "tag": "700", "ind1": "1", "ind2": " ", "subfields": [
30
+ { "code": "a", "value": "Вальтер, Харри" },
31
+ { "code": "e", "value": "сост." }
32
+ ]}
33
+
34
+ ]
35
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "leader": "01331cam a22003494i 4500",
4
+ "fields": [
5
+ { "tag": "040", "ind1": " ", "ind2": " ", "subfields": [ { "code": "b", "value": "mul" } ] },
6
+ { "tag": "700", "ind1": " ", "ind2": " ",
7
+ "subfields": [
8
+ { "code": "a", "value": "Nimi," },
9
+ { "code": "e", "value": "säveltäjä,"},
10
+ { "code": "e", "value": "esittäjä,"},
11
+ { "code": "e", "value": "kuvittaja," },
12
+ { "code": "e", "value": "toimittaja." }
13
+ ] }
14
+ ]
15
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "description": "F03: Fix relator terms: expand abbreviations based on 040$b=mul",
3
+ "fix": true,
4
+ "only": false
5
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "leader": "01331cam a22003494i 4500",
3
+ "fields": [
4
+ { "tag": "040", "ind1": " ", "ind2": " ", "subfields": [ { "code": "b", "value": "mul" } ] },
5
+ { "tag": "700", "ind1": " ", "ind2": " ",
6
+ "subfields": [
7
+ { "code": "a", "value": "Nimi," },
8
+ { "code": "e", "value": "säv.,"},
9
+ { "code": "e", "value": "esitt.,"},
10
+ { "code": "e", "value": "худож.,"},
11
+ { "code": "e", "value": "сост." }
12
+ ] }
13
+ ]
14
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "leader": "12345cam a22002417i 4500",
3
+ "fields":
4
+ [
5
+ {"tag": "700", "ind1": "1", "ind2": " ", "subfields": [
6
+ {"code": "6", "value": "880-03" },
7
+ {"code": "a", "value": "Sukunimi, Sisko." }
8
+ ]},
9
+ {"tag": "700", "ind1": "1", "ind2": " ", "subfields": [
10
+ {"code": "a", "value": "Sukunimi, Sen Veli." }
11
+ ]},
12
+ {"tag": "700", "ind1": "1", "ind2": " ", "subfields": [
13
+ {"code": "6", "value": "880-02" },
14
+ {"code": "a", "value": "Laulaja, Random." }
15
+ ]},
16
+ {"tag": "700", "ind1": "1", "ind2": " ", "subfields": [
17
+ {"code": "6", "value": "880-01" },
18
+ {"code": "a", "value": "Ache, Head." }
19
+ ]},
20
+ {"tag": "700", "ind1": "1", "ind2": " ", "subfields": [
21
+ {"code": "a", "value": "Family, Raising My." }
22
+ ]},
23
+ {"tag": "880", "ind1": "1", "ind2": " ", "subfields": [
24
+ {"code": "6", "value": "700-03" },
25
+ {"code": "a", "value": "Foreign-Sukunimi, Sisko." },
26
+ {"code": "9", "value": "CYRILLIC <TRANS>" }
27
+ ]},
28
+ {"tag": "880", "ind1": "1", "ind2": " ", "subfields": [
29
+ {"code": "6", "value": "700-00" },
30
+ {"code": "a", "value": "Foreign-Vastineeton, Joku." },
31
+ {"code": "9", "value": "CYRILLIC <TRANS>" }
32
+ ]},
33
+ {"tag": "880", "ind1": "1", "ind2": " ", "subfields": [
34
+ {"code": "6", "value": "700-02" },
35
+ {"code": "a", "value": "Foreign-Laulaja, Random." },
36
+ {"code": "9", "value": "CYRILLIC <TRANS>" }
37
+ ]},
38
+ {"tag": "880", "ind1": "1", "ind2": " ", "subfields": [
39
+ {"code": "6", "value": "700-01" },
40
+ {"code": "a", "value": "Foreign-Ache, Head." },
41
+ {"code": "9", "value": "CYRILLIC <TRANS>" }
42
+ ]},
43
+ {"tag": "880", "ind1": "1", "ind2": " ", "subfields": [
44
+ {"code": "6", "value": "700-03" },
45
+ {"code": "a", "value": "Foreign-Sukunimi, Sisko." },
46
+ {"code": "9", "value": "SFS4900 <TRANS>" }
47
+ ]},
48
+ {"tag": "880", "ind1": "1", "ind2": " ", "subfields": [
49
+ {"code": "6", "value": "700-02" },
50
+ {"code": "a", "value": "Foreign-Laulaja, Random." },
51
+ {"code": "9", "value": "SFS4900 <TRANS>" }
52
+ ]},
53
+ {"tag": "880", "ind1": "1", "ind2": " ", "subfields": [
54
+ {"code": "6", "value": "700-01" },
55
+ {"code": "a", "value": "Foreign-Ache, Head." },
56
+ {"code": "9", "value": "SFS4900 <TRANS>" }
57
+ ]}
58
+
59
+ ]
60
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "description": "Sort by occurrence number (in field 880) with multiple same occurrence numbers",
3
+ "skip": false,
4
+ "only": false
5
+ }
@@ -0,0 +1,61 @@
1
+ {
2
+ "leader": "12345cam a22002417i 4500",
3
+ "fields":
4
+ [
5
+ {"tag": "700", "ind1": "1", "ind2": " ", "subfields": [
6
+ {"code": "6", "value": "880-03" },
7
+ {"code": "a", "value": "Sukunimi, Sisko." }
8
+ ]},
9
+ {"tag": "700", "ind1": "1", "ind2": " ", "subfields": [
10
+ {"code": "a", "value": "Sukunimi, Sen Veli." }
11
+ ]},
12
+ {"tag": "700", "ind1": "1", "ind2": " ", "subfields": [
13
+ {"code": "6", "value": "880-02" },
14
+ {"code": "a", "value": "Laulaja, Random." }
15
+ ]},
16
+ {"tag": "700", "ind1": "1", "ind2": " ", "subfields": [
17
+ {"code": "6", "value": "880-01" },
18
+ {"code": "a", "value": "Ache, Head." }
19
+ ]},
20
+ {"tag": "700", "ind1": "1", "ind2": " ", "subfields": [
21
+ {"code": "a", "value": "Family, Raising My." }
22
+ ]},
23
+ {"tag": "880", "ind1": "1", "ind2": " ", "subfields": [
24
+ {"code": "6", "value": "700-01" },
25
+ {"code": "a", "value": "Foreign-Ache, Head." },
26
+ {"code": "9", "value": "CYRILLIC <TRANS>" }
27
+ ]},
28
+ {"tag": "880", "ind1": "1", "ind2": " ", "subfields": [
29
+ {"code": "6", "value": "700-01" },
30
+ {"code": "a", "value": "Foreign-Ache, Head." },
31
+ {"code": "9", "value": "SFS4900 <TRANS>" }
32
+ ]},
33
+ {"tag": "880", "ind1": "1", "ind2": " ", "subfields": [
34
+ {"code": "6", "value": "700-02" },
35
+ {"code": "a", "value": "Foreign-Laulaja, Random." },
36
+ {"code": "9", "value": "CYRILLIC <TRANS>" }
37
+ ]},
38
+ {"tag": "880", "ind1": "1", "ind2": " ", "subfields": [
39
+ {"code": "6", "value": "700-02" },
40
+ {"code": "a", "value": "Foreign-Laulaja, Random." },
41
+ {"code": "9", "value": "SFS4900 <TRANS>" }
42
+ ]},
43
+ {"tag": "880", "ind1": "1", "ind2": " ", "subfields": [
44
+ {"code": "6", "value": "700-03" },
45
+ {"code": "a", "value": "Foreign-Sukunimi, Sisko." },
46
+ {"code": "9", "value": "CYRILLIC <TRANS>" }
47
+ ]},
48
+ {"tag": "880", "ind1": "1", "ind2": " ", "subfields": [
49
+ {"code": "6", "value": "700-03" },
50
+ {"code": "a", "value": "Foreign-Sukunimi, Sisko." },
51
+ {"code": "9", "value": "SFS4900 <TRANS>" }
52
+ ]},
53
+ {"tag": "880", "ind1": "1", "ind2": " ", "subfields": [
54
+ {"code": "6", "value": "700-00" },
55
+ {"code": "a", "value": "Foreign-Vastineeton, Joku." },
56
+ {"code": "9", "value": "CYRILLIC <TRANS>" }
57
+ ]}
58
+
59
+ ],
60
+ "_validationOptions": {}
61
+ }