@natlibfi/marc-record-validators-melinda 10.13.1 → 10.14.0-alpha.2

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 (69) hide show
  1. package/dist/ending-punctuation-conf.js +3 -6
  2. package/dist/ending-punctuation-conf.js.map +1 -1
  3. package/dist/index.js +7 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/punctuation/rules/aut.js +1 -2
  6. package/dist/punctuation/rules/aut.js.map +1 -1
  7. package/dist/punctuation/rules/bib.js +1 -2
  8. package/dist/punctuation/rules/bib.js.map +1 -1
  9. package/dist/punctuation2.js +40 -14
  10. package/dist/punctuation2.js.map +1 -1
  11. package/dist/removeInferiorDataFields.js +166 -168
  12. package/dist/removeInferiorDataFields.js.map +1 -1
  13. package/dist/sortFields.js +383 -0
  14. package/dist/sortFields.js.map +1 -0
  15. package/dist/sortFields.spec.js +51 -0
  16. package/dist/sortFields.spec.js.map +1 -0
  17. package/dist/sortRelatorTerms.js +3 -25
  18. package/dist/sortRelatorTerms.js.map +1 -1
  19. package/dist/sortSubfields.js +14 -4
  20. package/dist/sortSubfields.js.map +1 -1
  21. package/dist/sortSubfields.spec.js +4 -3
  22. package/dist/sortSubfields.spec.js.map +1 -1
  23. package/dist/utils.js +4 -0
  24. package/dist/utils.js.map +1 -1
  25. package/package.json +7 -7
  26. package/src/index.js +3 -1
  27. package/src/punctuation2.js +14 -7
  28. package/src/removeInferiorDataFields.js +166 -169
  29. package/src/sortFields.js +393 -0
  30. package/src/sortFields.spec.js +52 -0
  31. package/src/sortRelatorTerms.js +3 -25
  32. package/src/sortSubfields.js +18 -4
  33. package/src/sortSubfields.spec.js +3 -3
  34. package/src/utils.js +5 -0
  35. package/test-fixtures/remove-inferior-datafields/f01/expectedResult.json +12 -0
  36. package/test-fixtures/remove-inferior-datafields/f01/record.json +19 -0
  37. package/test-fixtures/sort-fields/01/input.json +32 -0
  38. package/test-fixtures/sort-fields/01/metadata.json +5 -0
  39. package/test-fixtures/sort-fields/01/result.json +29 -0
  40. package/test-fixtures/sort-fields/02/input.json +49 -0
  41. package/test-fixtures/sort-fields/02/metadata.json +4 -0
  42. package/test-fixtures/sort-fields/02/result.json +50 -0
  43. package/test-fixtures/sort-fields/03/input.json +20 -0
  44. package/test-fixtures/sort-fields/03/metadata.json +5 -0
  45. package/test-fixtures/sort-fields/03/result.json +21 -0
  46. package/test-fixtures/sort-fields/04/input.json +13 -0
  47. package/test-fixtures/sort-fields/04/metadata.json +4 -0
  48. package/test-fixtures/sort-fields/04/result.json +13 -0
  49. package/test-fixtures/sort-fields/05/input.json +27 -0
  50. package/test-fixtures/sort-fields/05/metadata.json +4 -0
  51. package/test-fixtures/sort-fields/05/result.json +28 -0
  52. package/test-fixtures/sort-fields/06/input.json +36 -0
  53. package/test-fixtures/sort-fields/06/metadata.json +4 -0
  54. package/test-fixtures/sort-fields/06/result.json +37 -0
  55. package/test-fixtures/sort-fields/07/input.json +21 -0
  56. package/test-fixtures/sort-fields/07/metadata.json +4 -0
  57. package/test-fixtures/sort-fields/07/result.json +22 -0
  58. package/test-fixtures/sort-fields/08/input.json +29 -0
  59. package/test-fixtures/sort-fields/08/metadata.json +5 -0
  60. package/test-fixtures/sort-fields/08/result.json +29 -0
  61. package/test-fixtures/sort-fields/09/input.json +41 -0
  62. package/test-fixtures/sort-fields/09/metadata.json +5 -0
  63. package/test-fixtures/sort-fields/09/result.json +42 -0
  64. package/test-fixtures/sort-fields/10/input.json +54 -0
  65. package/test-fixtures/sort-fields/10/metadata.json +5 -0
  66. package/test-fixtures/sort-fields/10/result.json +53 -0
  67. package/test-fixtures/sort-subfields/f02/expectedResult.json +26 -0
  68. package/test-fixtures/sort-subfields/f02/metadata.json +7 -0
  69. package/test-fixtures/sort-subfields/f02/record.json +25 -0
@@ -0,0 +1,53 @@
1
+ {
2
+ "leader": "12345cam a22002417i 4500",
3
+ "fields":
4
+ [
5
+ {"tag": "520", "ind1": " ", "ind2": " ", "subfields": [
6
+ {"code": "8", "value": "3.1\\x" },
7
+ {"code": "a", "value": "lorum" }
8
+ ]},
9
+ {"tag": "520", "ind1": " ", "ind2": " ", "subfields": [
10
+ {"code": "8", "value": "3.2\\x" },
11
+ {"code": "a", "value": "ipsum" }
12
+ ]},
13
+ {"tag": "520", "ind1": " ", "ind2": " ", "subfields": [
14
+ {"code": "8", "value": "3.3\\x" },
15
+ {"code": "a", "value": "foo" }
16
+ ]},
17
+ {"tag": "520", "ind1": " ", "ind2": " ", "subfields": [
18
+ {"code": "8", "value": "3.4\\x" },
19
+ {"code": "a", "value": "bar" }
20
+ ]},
21
+
22
+ {"tag": "648", "ind1": " ", "ind2": "4", "subfields": [
23
+ {"code": "8", "value": "1\\u" },
24
+ {"code": "a", "value": "1901" }
25
+ ]},
26
+ {"tag": "648", "ind1": " ", "ind2": "4", "subfields": [
27
+ {"code": "8", "value": "2\\u" },
28
+ {"code": "a", "value": "1902" }
29
+ ]},
30
+
31
+ {"tag": "651", "ind1": " ", "ind2": "4", "subfields": [
32
+ {"code": "a", "value": "Helsinki" },
33
+ {"code": "9", "value": "FENNI<KEEP>" }
34
+ ]},
35
+ {"tag": "651", "ind1": " ", "ind2": "4", "subfields": [
36
+ {"code": "8", "value": "1\\u" },
37
+ {"code": "a", "value": "Suomi" }
38
+ ]},
39
+ {"tag": "651", "ind1": " ", "ind2": "4", "subfields": [
40
+ {"code": "8", "value": "2\\u" },
41
+ {"code": "a", "value": "Saksa" }
42
+ ]},
43
+ {"tag": "651", "ind1": " ", "ind2": "4", "subfields": [
44
+ {"code": "8", "value": "2\\u" },
45
+ {"code": "a", "value": "Itävältä" }
46
+ ]},
47
+ {"tag": "651", "ind1": " ", "ind2": "4", "subfields": [
48
+ {"code": "a", "value": "Wien" }
49
+ ]}
50
+
51
+ ],
52
+ "_validationOptions": {}
53
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "fields": [
4
+ { "tag": "001", "value": "f01" },
5
+ { "tag": "028", "ind1": " ", "ind2": " ", "subfields": [ { "code": "b", "value": "Bar Records"}, {"code": "a", "value": "BARCD-1"}]},
6
+ { "tag": "028", "ind1": " ", "ind2": " ", "subfields": [ { "code": "b", "value": "Bar Records"}, {"code": "a", "value": "BARCD-2"}]},
7
+ { "tag": "300", "ind1": " ", "ind2": " ", "subfields": [
8
+ {"code": "a", "value": "123 sivua"},
9
+ {"code": "b", "value": "karttoja"},
10
+ {"code": "c", "value": "25 cm"},
11
+ {"code": "e", "value": "CD-rom"}
12
+ ]},
13
+ { "tag": "710", "ind1": "2", "ind2": " ", "subfields": [
14
+ {"code": "a", "value": "Joku pulju,"},
15
+ {"code": "e", "value": "kustantaja,"},
16
+ {"code": "0", "value": "(FI-ASTERI-N)000111222"},
17
+ {"code": "e", "value": "kustanantaja."}
18
+ ]},
19
+ { "tag": "946", "ind1": " ", "ind2": " ", "subfields": [
20
+ { "code": "a", "value": "whatever" },
21
+ { "code": "5", "value": "FOOBAR" },
22
+ { "code": "i", "value": "Nimeke Onixissa:" }
23
+ ]}
24
+ ],
25
+ "leader": ""
26
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "description": "02: sort subfields using tagPattern. Same record.json as in f01, but tag pattern affects result",
3
+ "enabled": true,
4
+ "fix": true,
5
+ "only": false,
6
+ "tagPattern": "^(028|300)$"
7
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "fields": [
3
+ { "tag": "001", "value": "f01" },
4
+ { "tag": "028", "ind1": " ", "ind2": " ", "subfields": [ { "code": "b", "value": "Bar Records"}, {"code": "a", "value": "BARCD-1"}]},
5
+ { "tag": "028", "ind1": " ", "ind2": " ", "subfields": [ {"code": "a", "value": "BARCD-2"}, { "code": "b", "value": "Bar Records"}]},
6
+ { "tag": "300", "ind1": " ", "ind2": " ", "subfields": [
7
+ {"code": "a", "value": "123 sivua"},
8
+ {"code": "c", "value": "25 cm"},
9
+ {"code": "b", "value": "karttoja"},
10
+ {"code": "e", "value": "CD-rom"}
11
+ ]},
12
+ { "tag": "710", "ind1": "2", "ind2": " ", "subfields": [
13
+ {"code": "a", "value": "Joku pulju,"},
14
+ {"code": "e", "value": "kustantaja,"},
15
+ {"code": "0", "value": "(FI-ASTERI-N)000111222"},
16
+ {"code": "e", "value": "kustanantaja."}
17
+ ]},
18
+ { "tag": "946", "ind1": " ", "ind2": " ", "subfields": [
19
+ { "code": "a", "value": "whatever" },
20
+ { "code": "5", "value": "FOOBAR" },
21
+ { "code": "i", "value": "Nimeke Onixissa:" }
22
+ ]}
23
+ ],
24
+ "leader": ""
25
+ }