@natlibfi/marc-record-validators-melinda 11.3.5 → 11.3.7-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 (105) hide show
  1. package/dist/cyrillux.js +1 -1
  2. package/dist/cyrillux.js.map +1 -1
  3. package/dist/punctuation2.js +42 -10
  4. package/dist/punctuation2.js.map +1 -1
  5. package/dist/urn.js +15 -6
  6. package/dist/urn.js.map +1 -1
  7. package/dist/urn.spec.js +45 -276
  8. package/dist/urn.spec.js.map +1 -1
  9. package/package.json +10 -10
  10. package/src/cyrillux.js +1 -1
  11. package/src/punctuation2.js +27 -10
  12. package/src/urn.js +17 -3
  13. package/src/urn.spec.js +49 -264
  14. package/test-fixtures/cyrillux/f09/expectedResult.json +130 -0
  15. package/test-fixtures/cyrillux/f09/metadata.json +10 -0
  16. package/test-fixtures/cyrillux/f09/record.json +104 -0
  17. package/test-fixtures/punctuation2/787/expectedResult.json +14 -0
  18. package/test-fixtures/punctuation2/787/metadata.json +5 -0
  19. package/test-fixtures/punctuation2/787/record.json +13 -0
  20. package/test-fixtures/sort-fields/05/input.json +11 -10
  21. package/test-fixtures/sort-fields/05/result.json +10 -10
  22. package/test-fixtures/strip-punctuation/787/expectedResult.json +14 -0
  23. package/test-fixtures/strip-punctuation/787/metadata.json +5 -0
  24. package/test-fixtures/strip-punctuation/787/record.json +13 -0
  25. package/test-fixtures/urn/f01/input.json +15 -0
  26. package/test-fixtures/urn/f01/metadata.json +6 -0
  27. package/test-fixtures/urn/f01/result.json +16 -0
  28. package/test-fixtures/urn/f02/input.json +11 -0
  29. package/test-fixtures/urn/f02/metadata.json +7 -0
  30. package/test-fixtures/urn/f02/result.json +15 -0
  31. package/test-fixtures/urn/f03/input.json +8 -0
  32. package/test-fixtures/urn/f03/metadata.json +7 -0
  33. package/test-fixtures/urn/f03/result.json +12 -0
  34. package/test-fixtures/urn/f04/input.json +9 -0
  35. package/test-fixtures/urn/f04/metadata.json +7 -0
  36. package/test-fixtures/urn/f04/result.json +13 -0
  37. package/test-fixtures/urn/f05/input.json +9 -0
  38. package/test-fixtures/urn/f05/metadata.json +9 -0
  39. package/test-fixtures/urn/f05/result.json +13 -0
  40. package/test-fixtures/urn/f06/input.json +17 -0
  41. package/test-fixtures/urn/f06/metadata.json +6 -0
  42. package/test-fixtures/urn/f06/result.json +18 -0
  43. package/test-fixtures/urn/f07/input.json +17 -0
  44. package/test-fixtures/urn/f07/metadata.json +6 -0
  45. package/test-fixtures/urn/f07/result.json +18 -0
  46. package/test-fixtures/urn/f08/input.json +11 -0
  47. package/test-fixtures/urn/f08/metadata.json +6 -0
  48. package/test-fixtures/urn/f08/result.json +17 -0
  49. package/test-fixtures/urn/f09/input.json +7 -0
  50. package/test-fixtures/urn/f09/metadata.json +7 -0
  51. package/test-fixtures/urn/f09/result.json +8 -0
  52. package/test-fixtures/urn/f10/input.json +7 -0
  53. package/test-fixtures/urn/f10/metadata.json +7 -0
  54. package/test-fixtures/urn/f10/result.json +8 -0
  55. package/test-fixtures/urn/f11/input.json +7 -0
  56. package/test-fixtures/urn/f11/metadata.json +7 -0
  57. package/test-fixtures/urn/f11/result.json +8 -0
  58. package/test-fixtures/urn/f12/input.json +8 -0
  59. package/test-fixtures/urn/f12/metadata.json +6 -0
  60. package/test-fixtures/urn/f12/result.json +14 -0
  61. package/test-fixtures/urn/f13/input.json +14 -0
  62. package/test-fixtures/urn/f13/metadata.json +6 -0
  63. package/test-fixtures/urn/f13/result.json +20 -0
  64. package/test-fixtures/urn/f14/input.json +14 -0
  65. package/test-fixtures/urn/f14/metadata.json +6 -0
  66. package/test-fixtures/urn/f14/result.json +20 -0
  67. package/test-fixtures/urn/f15/input.json +11 -0
  68. package/test-fixtures/urn/f15/metadata.json +7 -0
  69. package/test-fixtures/urn/f15/result.json +17 -0
  70. package/test-fixtures/urn/v01/input.json +14 -0
  71. package/test-fixtures/urn/v01/metadata.json +6 -0
  72. package/test-fixtures/urn/v01/result.json +3 -0
  73. package/test-fixtures/urn/v02/input.json +18 -0
  74. package/test-fixtures/urn/v02/metadata.json +6 -0
  75. package/test-fixtures/urn/v02/result.json +3 -0
  76. package/test-fixtures/urn/v03/input.json +18 -0
  77. package/test-fixtures/urn/v03/metadata.json +6 -0
  78. package/test-fixtures/urn/v03/result.json +3 -0
  79. package/test-fixtures/urn/v04/input.json +18 -0
  80. package/test-fixtures/urn/v04/metadata.json +6 -0
  81. package/test-fixtures/urn/v04/result.json +3 -0
  82. package/test-fixtures/urn/v05/input.json +18 -0
  83. package/test-fixtures/urn/v05/metadata.json +6 -0
  84. package/test-fixtures/urn/v05/result.json +3 -0
  85. package/test-fixtures/urn/v06/input.json +16 -0
  86. package/test-fixtures/urn/v06/metadata.json +6 -0
  87. package/test-fixtures/urn/v06/result.json +3 -0
  88. package/test-fixtures/urn/v07/input.json +16 -0
  89. package/test-fixtures/urn/v07/metadata.json +6 -0
  90. package/test-fixtures/urn/v07/result.json +3 -0
  91. package/test-fixtures/urn/v08/input.json +15 -0
  92. package/test-fixtures/urn/v08/metadata.json +6 -0
  93. package/test-fixtures/urn/v08/result.json +3 -0
  94. package/test-fixtures/urn/v09/input.json +13 -0
  95. package/test-fixtures/urn/v09/metadata.json +6 -0
  96. package/test-fixtures/urn/v09/result.json +3 -0
  97. package/test-fixtures/urn/v10/input.json +13 -0
  98. package/test-fixtures/urn/v10/metadata.json +6 -0
  99. package/test-fixtures/urn/v10/result.json +3 -0
  100. package/test-fixtures/urn/v11/input.json +21 -0
  101. package/test-fixtures/urn/v11/metadata.json +6 -0
  102. package/test-fixtures/urn/v11/result.json +3 -0
  103. package/test-fixtures/urn/v12/input.json +12 -0
  104. package/test-fixtures/urn/v12/metadata.json +6 -0
  105. package/test-fixtures/urn/v12/result.json +3 -0
@@ -0,0 +1,11 @@
1
+ {
2
+ "leader": "01331cam a22003494i 4500",
3
+ "fields": [
4
+ { "tag": "001", "value": "000000001" },
5
+ { "tag": "020", "ind1": " ", "ind2": " ", "subfields": [ {"code": "a", "value": "978-952-11-4478-3"} ]},
6
+ { "tag": "856", "ind1": "4", "ind2": "1", "subfields": [
7
+ {"code": "u", "value": "http://urn.fi/URN:ISBN:978-952-11-4478-3"},
8
+ {"code": "y", "value": "Linkki verkkoaineistoon"}
9
+ ]}
10
+ ]
11
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "description": "F15: MET-573. Similar to F14.",
3
+ "fix": true,
4
+ "skip": false,
5
+ "only": false,
6
+ "isLegalDeposit": true
7
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "leader": "01331cam a22003494i 4500",
4
+ "fields": [
5
+ { "tag": "001", "value": "000000001" },
6
+ { "tag": "020", "ind1": " ", "ind2": " ", "subfields": [ {"code": "a", "value": "978-952-11-4478-3"} ]},
7
+ { "tag": "856", "ind1": "4", "ind2": "1", "subfields": [
8
+ {"code": "u", "value": "http://urn.fi/URN:ISBN:978-952-11-4478-3"},
9
+ {"code": "y", "value": "Linkki verkkoaineistoon"}
10
+ ]},
11
+ { "tag": "856", "ind1": "4", "ind2": "0", "subfields": [
12
+ {"code": "u", "value": "https://urn.fi/URN:ISBN:978-952-11-4478-3"},
13
+ {"code": "z", "value": "Käytettävissä vapaakappaletyöasemilla"},
14
+ {"code": "5", "value": "FI-Vapaa"}
15
+ ]}
16
+ ]
17
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "leader": "01331cam a22003494i 4500",
3
+ "fields": [
4
+ { "tag": "001", "value": "000000001" },
5
+ { "tag": "337",
6
+ "ind1": " ",
7
+ "ind2": " ",
8
+ "subfields": [
9
+ {"code": "b", "value": "n"},
10
+ {"code": "2", "value": "rdamedia"}
11
+ ]
12
+ }
13
+ ]
14
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "description": "Finds the record valid; non-electronic record",
3
+ "fix": false,
4
+ "only": false,
5
+ "isLegalDeposit": false
6
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "valid": true
3
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "leader": "01331cam a22003494i 4500",
3
+ "fields": [
4
+ { "tag": "001", "value": "000000001" },
5
+ { "tag": "337",
6
+ "ind1": " ",
7
+ "ind2": " ",
8
+ "subfields": [
9
+ {"code": "b", "value": "c"},
10
+ {"code": "2", "value": "rdamedia"}
11
+ ]
12
+ },
13
+ { "tag": "856", "ind1": "4", "ind2": "0", "subfields": [
14
+ {"code": "u", "value": "http://urn.fi/URN:ISBN:978-951-9155-47-0"}
15
+ ]
16
+ }
17
+ ]
18
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "description": "Finds the record valid; 856 with urn, and is non-legal deposit",
3
+ "fix": false,
4
+ "only": false,
5
+ "isLegalDeposit": false
6
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "valid": true
3
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "leader": "01331cam a22003494i 4500",
3
+ "fields": [
4
+ { "tag": "001", "value": "000000001" },
5
+ { "tag": "337",
6
+ "ind1": " ",
7
+ "ind2": " ",
8
+ "subfields": [
9
+ {"code": "b", "value": "c"},
10
+ {"code": "2", "value": "rdamedia"}
11
+ ]
12
+ },
13
+ { "tag": "856", "ind1": "4", "ind2": "1", "subfields": [
14
+ {"code": "u", "value": "http://urn.fi/URN:ISBN:978-951-9155-47-0"}
15
+ ]
16
+ }
17
+ ]
18
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "description": "Finds the record invalid; 856 ind2: 1 with urn, and is non-legal deposit",
3
+ "fix": false,
4
+ "only": false,
5
+ "isLegalDeposit": false
6
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "valid": false
3
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "leader": "01331cam a22003494i 4500",
3
+ "fields": [
4
+ { "tag": "001", "value": "000000001" },
5
+ { "tag": "337",
6
+ "ind1": " ",
7
+ "ind2": " ",
8
+ "subfields": [
9
+ {"code": "b", "value": "c"},
10
+ {"code": "2", "value": "rdamedia"}
11
+ ]
12
+ },
13
+ { "tag": "856", "ind1": "4", "ind2": "o", "subfields": [
14
+ {"code": "u", "value": "http://foo.bar"}
15
+ ]
16
+ }
17
+ ]
18
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "description": "Finds the record invalid; 856 without urn, and is non-legal deposit",
3
+ "fix": false,
4
+ "only": false,
5
+ "isLegalDeposit": false
6
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "valid": false
3
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "leader": "01331cam a22003494i 4500",
3
+ "fields": [
4
+ { "tag": "001", "value": "000000001" },
5
+ { "tag": "337",
6
+ "ind1": " ",
7
+ "ind2": " ",
8
+ "subfields": [
9
+ {"code": "b", "value": "c"},
10
+ {"code": "2", "value": "rdamedia"}
11
+ ]
12
+ },
13
+ { "tag": "020", "ind1": " ", "ind2": " ", "subfields": [
14
+ {"code": "a", "value": "978-951-9155-47-0"}
15
+ ]
16
+ }
17
+ ]
18
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "description": "Finds the record invalid; 856 without urn, and is non-legal deposit",
3
+ "fix": false,
4
+ "only": false,
5
+ "isLegalDeposit": false
6
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "valid": false
3
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "leader": "01331cam a22003494i 4500",
3
+ "fields": [
4
+ { "tag": "001", "value": "000000001" },
5
+ { "tag": "020", "ind1": " ", "ind2": " ", "subfields": [ {"code": "a", "value": "978-951-9155-47-0"} ]},
6
+ { "tag": "337",
7
+ "ind1": " ",
8
+ "ind2": " ",
9
+ "subfields": [
10
+ {"code": "b", "value": "c"},
11
+ {"code": "2", "value": "rdamedia"}
12
+ ]
13
+ },
14
+ { "tag": "856", "ind1": "4", "ind2": "0", "subfields": [{"code": "u", "value": "http://urn.fi/URN:ISBN:978-951-9155-47-0"}]}
15
+ ]
16
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "description": "Finds the record invalid; 856 with urn, and is legal deposit",
3
+ "fix": false,
4
+ "only": false,
5
+ "isLegalDeposit": true
6
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "valid": false
3
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "leader": "01331cam a22003494i 4500",
3
+ "fields": [
4
+ { "tag": "001", "value": "000000001" },
5
+ { "tag": "020", "ind1": " ", "ind2": " ", "subfields": [ {"code": "a", "value": "978-951-9155-47-0"} ]},
6
+ { "tag": "337",
7
+ "ind1": " ",
8
+ "ind2": " ",
9
+ "subfields": [
10
+ {"code": "b", "value": "c"},
11
+ {"code": "2", "value": "rdamedia"}
12
+ ]
13
+ },
14
+ { "tag": "856", "ind1": "4", "ind2": "o", "subfields": [ {"code": "u", "value": "http://foo.bar"} ] }
15
+ ]
16
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "description": "Finds the record invalid; 856 without urn, and is legal deposit",
3
+ "fix": false,
4
+ "only": false,
5
+ "isLegalDeposit": true
6
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "valid": false
3
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "leader": "01331cam a22003494i 4500",
3
+ "fields": [
4
+ { "tag": "001", "value": "000000001" },
5
+ { "tag": "020", "ind1": " ", "ind2": " ", "subfields": [ {"code": "a", "value": "978-951-9155-47-0"} ]},
6
+ { "tag": "337",
7
+ "ind1": " ",
8
+ "ind2": " ",
9
+ "subfields": [
10
+ {"code": "b", "value": "c"},
11
+ {"code": "2", "value": "rdamedia"}
12
+ ]
13
+ }
14
+ ]
15
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "description": "Finds the record invalid; Missing 856, and is legal deposit",
3
+ "fix": false,
4
+ "only": false,
5
+ "isLegalDeposit": true
6
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "valid": false
3
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "leader": "01331cam a22003494i 4500",
3
+ "fields": [
4
+ { "tag": "001", "value": "000000001" },
5
+ { "tag": "020", "ind1": " ", "ind2": " ", "subfields": [ {"code": "a", "value": "978-951-9155-47-0"} ]},
6
+ { "tag": "337", "ind1": " ", "ind2": " ", "subfields": [ {"code": "b", "value": "c"}, {"code": "2", "value": "rdamedia"} ] },
7
+ { "tag": "856", "ind1": "4", "ind2": "0", "subfields": [
8
+ {"code": "u", "value": "http://urn.fi/URN:ISBN:978-951-9155-47-0"},
9
+ {"code": "z", "value": "Käytettävissä vapaakappaletyöasemilla"},
10
+ {"code": "5", "value": "FI-Vapaa"}
11
+ ]}
12
+ ]
13
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "description": "Finds the record valid; 856 with URN and legal deposit subfields, and is legal deposit",
3
+ "fix": false,
4
+ "only": false,
5
+ "isLegalDeposit": true
6
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "valid": true
3
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "leader": "01331cam a22003494i 4500",
3
+ "fields": [
4
+ { "tag": "001", "value": "000000001" },
5
+ { "tag": "020", "ind1": " ", "ind2": " ", "subfields": [ {"code": "a", "value": "978-951-9155-47-0"} ]},
6
+ { "tag": "337", "ind1": " ", "ind2": " ", "subfields": [ {"code": "b", "value": "c"}, {"code": "2", "value": "rdamedia"} ] },
7
+ { "tag": "856", "ind1": "4", "ind2": "0", "subfields": [
8
+ {"code": "u", "value": "http://urn.fi/URN:ISBN:978-951-9155-47-0"},
9
+ {"code": "z", "value": "Käytettävissä vapaakappalekirjastoissa"},
10
+ {"code": "5", "value": "FI-Vapaa"}
11
+ ]}
12
+ ]
13
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "description": "Finds the record invalid; old phrase is used in $z",
3
+ "fix": false,
4
+ "only": false,
5
+ "isLegalDeposit": true
6
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "valid": false
3
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "leader": "01331cam a22003494i 4500",
3
+ "fields": [
4
+ { "tag": "001", "value": "000000001" },
5
+ { "tag": "020", "ind1": " ", "ind2": " ", "subfields": [ {"code": "a", "value": "978-951-9155-47-0"} ]},
6
+ { "tag": "337", "ind1": " ", "ind2": " ", "subfields": [ {"code": "b", "value": "c"}, {"code": "2", "value": "rdamedia"} ] },
7
+ { "tag": "856", "ind1": "4", "ind2": "0", "subfields": [
8
+ {"code": "u", "value": "http://urn.fi/URN:ISBN:978-951-9155-47-0"},
9
+ {"code": "5", "value": "FI-Vapaa"}
10
+ ]},
11
+ { "tag": "856", "ind1": "4", "ind2": "0", "subfields": [
12
+ {"code": "u", "value": "http://urn.fi/URN:ISBN:978-951-9155-47-0"},
13
+ {"code": "z", "value": "Käytettävissä vapaakappaletyöasemilla"},
14
+ {"code": "5", "value": "FI-Vapaa"}
15
+ ]},
16
+ { "tag": "856", "ind1": "4", "ind2": "0", "subfields": [
17
+ {"code": "u", "value": "http://foo.bar/"},
18
+ {"code": "z", "value": "Käytettävissä vapaakappaletyöasemilla"}
19
+ ]}
20
+ ]
21
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "description": "Finds the record valid; 856 with URN and legal deposit subfields and other f856s, and is legal deposit",
3
+ "fix": false,
4
+ "only": false,
5
+ "isLegalDeposit": true
6
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "valid": true
3
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "leader": "01331cam a22003494i 4500",
3
+ "fields": [
4
+ { "tag": "001", "value": "000000001" },
5
+ { "tag": "020", "ind1": " ", "ind2": " ", "subfields": [ {"code": "a", "value": "978-951-9155-47-0"} ]},
6
+ { "tag": "337", "ind1": " ", "ind2": " ", "subfields": [ {"code": "b", "value": "c"}, {"code": "2", "value": "rdamedia"} ] },
7
+ { "tag": "856", "ind1": "4", "ind2": "0", "subfields": [
8
+ {"code": "u", "value": "http://urn.fi/URN:ISBN:978-951-9155-47-0"},
9
+ {"code": "5", "value": "FI-Vapaa"}
10
+ ]}
11
+ ]
12
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "description": "Finds the record invalid; 856 with URN and partial legal deposit subfields, and is legal deposit. Same as MET-573",
3
+ "fix": false,
4
+ "only": false,
5
+ "isLegalDeposit": true
6
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "valid": false
3
+ }