@natlibfi/marc-record-validators-melinda 11.6.7 → 12.0.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 (546) hide show
  1. package/.github/workflows/melinda-node-tests.yml +1 -1
  2. package/dist/access-rights.js +63 -91
  3. package/dist/access-rights.js.map +7 -1
  4. package/dist/access-rights.test.js +137 -0
  5. package/dist/access-rights.test.js.map +7 -0
  6. package/dist/addMissingField041.js +21 -53
  7. package/dist/addMissingField041.js.map +7 -1
  8. package/dist/addMissingField041.test.js +39 -0
  9. package/dist/addMissingField041.test.js.map +7 -0
  10. package/dist/addMissingField336.js +99 -191
  11. package/dist/addMissingField336.js.map +7 -1
  12. package/dist/addMissingField336.test.js +39 -0
  13. package/dist/addMissingField336.test.js.map +7 -0
  14. package/dist/addMissingField337.js +63 -132
  15. package/dist/addMissingField337.js.map +7 -1
  16. package/dist/addMissingField337.test.js +39 -0
  17. package/dist/addMissingField337.test.js.map +7 -0
  18. package/dist/addMissingField338.js +147 -253
  19. package/dist/addMissingField338.js.map +7 -1
  20. package/dist/addMissingField338.test.js +39 -0
  21. package/dist/addMissingField338.test.js.map +7 -0
  22. package/dist/cyrillux-usemarcon-replacement.js +119 -272
  23. package/dist/cyrillux-usemarcon-replacement.js.map +7 -1
  24. package/dist/cyrillux-usemarcon-replacement.test.js +46 -0
  25. package/dist/cyrillux-usemarcon-replacement.test.js.map +7 -0
  26. package/dist/cyrillux.js +119 -223
  27. package/dist/cyrillux.js.map +7 -1
  28. package/dist/cyrillux.test.js +39 -0
  29. package/dist/cyrillux.test.js.map +7 -0
  30. package/dist/disambiguateSeriesStatements.js +40 -81
  31. package/dist/disambiguateSeriesStatements.js.map +7 -1
  32. package/dist/disambiguateSeriesStatements.test.js +44 -0
  33. package/dist/disambiguateSeriesStatements.test.js.map +7 -0
  34. package/dist/double-commas.js +7 -14
  35. package/dist/double-commas.js.map +7 -1
  36. package/dist/double-commas.test.js +48 -0
  37. package/dist/double-commas.test.js.map +7 -0
  38. package/dist/duplicates-ind1.js +10 -31
  39. package/dist/duplicates-ind1.js.map +7 -1
  40. package/dist/duplicates-ind1.test.js +40 -0
  41. package/dist/duplicates-ind1.test.js.map +7 -0
  42. package/dist/empty-fields.js +10 -22
  43. package/dist/empty-fields.js.map +7 -1
  44. package/dist/empty-fields.test.js +129 -0
  45. package/dist/empty-fields.test.js.map +7 -0
  46. package/dist/ending-punctuation-conf.js +871 -769
  47. package/dist/ending-punctuation-conf.js.map +7 -1
  48. package/dist/ending-punctuation.js +84 -167
  49. package/dist/ending-punctuation.js.map +7 -1
  50. package/dist/ending-punctuation.test.js +2290 -0
  51. package/dist/ending-punctuation.test.js.map +7 -0
  52. package/dist/ending-whitespace.js +10 -35
  53. package/dist/ending-whitespace.js.map +7 -1
  54. package/dist/ending-whitespace.test.js +38 -0
  55. package/dist/ending-whitespace.test.js.map +7 -0
  56. package/dist/field-008-18-34-character-groups.js +40 -125
  57. package/dist/field-008-18-34-character-groups.js.map +7 -1
  58. package/dist/field-008-18-34-character-groups.test.js +45 -0
  59. package/dist/field-008-18-34-character-groups.test.js.map +7 -0
  60. package/dist/field-505-separators.js +19 -39
  61. package/dist/field-505-separators.js.map +7 -1
  62. package/dist/field-505-separators.test.js +45 -0
  63. package/dist/field-505-separators.test.js.map +7 -0
  64. package/dist/field-521-fix.js +19 -47
  65. package/dist/field-521-fix.js.map +7 -1
  66. package/dist/field-521-fix.test.js +44 -0
  67. package/dist/field-521-fix.test.js.map +7 -0
  68. package/dist/field-exclusion.js +37 -91
  69. package/dist/field-exclusion.js.map +7 -1
  70. package/dist/field-exclusion.test.js +821 -0
  71. package/dist/field-exclusion.test.js.map +7 -0
  72. package/dist/field-structure.js +52 -104
  73. package/dist/field-structure.js.map +7 -1
  74. package/dist/field-structure.test.js +587 -0
  75. package/dist/field-structure.test.js.map +7 -0
  76. package/dist/field33XUtils.js +119 -503
  77. package/dist/field33XUtils.js.map +7 -1
  78. package/dist/fields-present.js +11 -23
  79. package/dist/fields-present.js.map +7 -1
  80. package/dist/fields-present.test.js +95 -0
  81. package/dist/fields-present.test.js.map +7 -0
  82. package/dist/fix-33X.js +393 -431
  83. package/dist/fix-33X.js.map +7 -1
  84. package/dist/fix-33X.test.js +39 -0
  85. package/dist/fix-33X.test.js.map +7 -0
  86. package/dist/fix-country-codes.js +20 -50
  87. package/dist/fix-country-codes.js.map +7 -1
  88. package/dist/fix-country-codes.test.js +44 -0
  89. package/dist/fix-country-codes.test.js.map +7 -0
  90. package/dist/fix-language-codes.js +23 -53
  91. package/dist/fix-language-codes.js.map +7 -1
  92. package/dist/fix-language-codes.test.js +38 -0
  93. package/dist/fix-language-codes.test.js.map +7 -0
  94. package/dist/fixRelatorTerms.js +82 -209
  95. package/dist/fixRelatorTerms.js.map +7 -1
  96. package/dist/fixRelatorTerms.test.js +44 -0
  97. package/dist/fixRelatorTerms.test.js.map +7 -0
  98. package/dist/fixed-fields.js +21 -30
  99. package/dist/fixed-fields.js.map +7 -1
  100. package/dist/fixed-fields.test.js +87 -0
  101. package/dist/fixed-fields.test.js.map +7 -0
  102. package/dist/identical-fields.js +8 -24
  103. package/dist/identical-fields.js.map +7 -1
  104. package/dist/identical-fields.test.js +119 -0
  105. package/dist/identical-fields.test.js.map +7 -0
  106. package/dist/index.js +119 -413
  107. package/dist/index.js.map +7 -1
  108. package/dist/indicator-fixes.js +57 -95
  109. package/dist/indicator-fixes.js.map +7 -1
  110. package/dist/indicator-fixes.test.js +42 -0
  111. package/dist/indicator-fixes.test.js.map +7 -0
  112. package/dist/isbn-issn.js +66 -126
  113. package/dist/isbn-issn.js.map +7 -1
  114. package/dist/isbn-issn.test.js +398 -0
  115. package/dist/isbn-issn.test.js.map +7 -0
  116. package/dist/item-language.js +32 -65
  117. package/dist/item-language.js.map +7 -1
  118. package/dist/item-language.test.js +322 -0
  119. package/dist/item-language.test.js.map +7 -0
  120. package/dist/melindaCustomMergeFields.js +5182 -11233
  121. package/dist/melindaCustomMergeFields.js.map +7 -1
  122. package/dist/merge-fields/controlSubfields.js +75 -142
  123. package/dist/merge-fields/controlSubfields.js.map +7 -1
  124. package/dist/merge-fields/counterpartField.js +182 -379
  125. package/dist/merge-fields/counterpartField.js.map +7 -1
  126. package/dist/merge-fields/index.js +15 -49
  127. package/dist/merge-fields/index.js.map +7 -1
  128. package/dist/merge-fields/mergableIndicator.js +18 -51
  129. package/dist/merge-fields/mergableIndicator.js.map +7 -1
  130. package/dist/merge-fields/mergableTag.js +78 -30
  131. package/dist/merge-fields/mergableTag.js.map +7 -1
  132. package/dist/merge-fields/mergeConfig.js +66 -171
  133. package/dist/merge-fields/mergeConfig.js.map +7 -1
  134. package/dist/merge-fields/mergeConstraints.js +323 -1214
  135. package/dist/merge-fields/mergeConstraints.js.map +7 -1
  136. package/dist/merge-fields/mergeField.js +47 -111
  137. package/dist/merge-fields/mergeField.js.map +7 -1
  138. package/dist/merge-fields/mergeIndicator.js +64 -118
  139. package/dist/merge-fields/mergeIndicator.js.map +7 -1
  140. package/dist/merge-fields/mergeOrAddPostprocess.js +14 -38
  141. package/dist/merge-fields/mergeOrAddPostprocess.js.map +7 -1
  142. package/dist/merge-fields/mergeOrAddSubfield.js +62 -104
  143. package/dist/merge-fields/mergeOrAddSubfield.js.map +7 -1
  144. package/dist/merge-fields/mergeSubfield.js +47 -95
  145. package/dist/merge-fields/mergeSubfield.js.map +7 -1
  146. package/dist/merge-fields/removeDuplicateSubfields.js +18 -31
  147. package/dist/merge-fields/removeDuplicateSubfields.js.map +7 -1
  148. package/dist/merge-fields/worldKnowledge.js +15 -40
  149. package/dist/merge-fields/worldKnowledge.js.map +7 -1
  150. package/dist/merge-fields.test.js +44 -0
  151. package/dist/merge-fields.test.js.map +7 -0
  152. package/dist/mergeField500Lisapainokset.js +28 -57
  153. package/dist/mergeField500Lisapainokset.js.map +7 -1
  154. package/dist/mergeField500Lisapainokset.test.js +44 -0
  155. package/dist/mergeField500Lisapainokset.test.js.map +7 -0
  156. package/dist/mergeRelatorTermFields.js +33 -69
  157. package/dist/mergeRelatorTermFields.js.map +7 -1
  158. package/dist/mergeRelatorTermFields.test.js +44 -0
  159. package/dist/mergeRelatorTermFields.test.js.map +7 -0
  160. package/dist/modernize-502.js +23 -55
  161. package/dist/modernize-502.js.map +7 -1
  162. package/dist/modernize-502.test.js +38 -0
  163. package/dist/modernize-502.test.js.map +7 -0
  164. package/dist/multiple-subfield-0.js +23 -48
  165. package/dist/multiple-subfield-0.js.map +7 -1
  166. package/dist/multiple-subfield-0.test.js +44 -0
  167. package/dist/multiple-subfield-0.test.js.map +7 -0
  168. package/dist/non-breaking-space.js +11 -32
  169. package/dist/non-breaking-space.js.map +7 -1
  170. package/dist/non-breaking-space.test.js +38 -0
  171. package/dist/non-breaking-space.test.js.map +7 -0
  172. package/dist/normalize-dashes.js +18 -37
  173. package/dist/normalize-dashes.js.map +7 -1
  174. package/dist/normalize-dashes.test.js +44 -0
  175. package/dist/normalize-dashes.test.js.map +7 -0
  176. package/dist/normalize-identifiers.js +54 -140
  177. package/dist/normalize-identifiers.js.map +7 -1
  178. package/dist/normalize-identifiers.test.js +44 -0
  179. package/dist/normalize-identifiers.test.js.map +7 -0
  180. package/dist/normalize-qualifying-information.js +23 -48
  181. package/dist/normalize-qualifying-information.js.map +7 -1
  182. package/dist/normalize-qualifying-information.test.js +44 -0
  183. package/dist/normalize-qualifying-information.test.js.map +7 -0
  184. package/dist/normalize-utf8-diacritics.js +19 -105
  185. package/dist/normalize-utf8-diacritics.js.map +7 -1
  186. package/dist/normalize-utf8-diacritics.test.js +44 -0
  187. package/dist/normalize-utf8-diacritics.test.js.map +7 -0
  188. package/dist/normalizeFieldForComparison.js +67 -158
  189. package/dist/normalizeFieldForComparison.js.map +7 -1
  190. package/dist/normalizeSubfieldValueForComparison.js +37 -77
  191. package/dist/normalizeSubfieldValueForComparison.js.map +7 -1
  192. package/dist/prepublicationUtils.js +58 -111
  193. package/dist/prepublicationUtils.js.map +7 -1
  194. package/dist/punctuation/index.js +56 -72
  195. package/dist/punctuation/index.js.map +7 -1
  196. package/dist/punctuation/rules/aut.js +372 -331
  197. package/dist/punctuation/rules/aut.js.map +7 -1
  198. package/dist/punctuation/rules/bib.js +420 -373
  199. package/dist/punctuation/rules/bib.js.map +7 -1
  200. package/dist/punctuation/rules/index.js +7 -21
  201. package/dist/punctuation/rules/index.js.map +7 -1
  202. package/dist/punctuation.test.js +44 -0
  203. package/dist/punctuation.test.js.map +7 -0
  204. package/dist/punctuation2.js +251 -800
  205. package/dist/punctuation2.js.map +7 -1
  206. package/dist/punctuation2.test.js +44 -0
  207. package/dist/punctuation2.test.js.map +7 -0
  208. package/dist/reindexSubfield6OccurenceNumbers.js +61 -96
  209. package/dist/reindexSubfield6OccurenceNumbers.js.map +7 -1
  210. package/dist/reindexSubfield6OccurenceNumbers.test.js +44 -0
  211. package/dist/reindexSubfield6OccurenceNumbers.test.js.map +7 -0
  212. package/dist/removeDuplicateDataFields.js +102 -202
  213. package/dist/removeDuplicateDataFields.js.map +7 -1
  214. package/dist/removeDuplicateDataFields.test.js +44 -0
  215. package/dist/removeDuplicateDataFields.test.js.map +7 -0
  216. package/dist/removeInferiorDataFields.js +103 -227
  217. package/dist/removeInferiorDataFields.js.map +7 -1
  218. package/dist/removeInferiorDataFields.test.js +44 -0
  219. package/dist/removeInferiorDataFields.test.js.map +7 -0
  220. package/dist/resolvable-ext-references-melinda.js +25 -60
  221. package/dist/resolvable-ext-references-melinda.js.map +7 -1
  222. package/dist/resolvable-ext-references-melinda.test.js +160 -0
  223. package/dist/resolvable-ext-references-melinda.test.js.map +7 -0
  224. package/dist/resolveOrphanedSubfield6s.js +33 -64
  225. package/dist/resolveOrphanedSubfield6s.js.map +7 -1
  226. package/dist/resolveOrphanedSubfield6s.test.js +44 -0
  227. package/dist/resolveOrphanedSubfield6s.test.js.map +7 -0
  228. package/dist/sanitize-vocabulary-source-codes.js +27 -55
  229. package/dist/sanitize-vocabulary-source-codes.js.map +7 -1
  230. package/dist/sanitize-vocabulary-source-codes.test.js +45 -0
  231. package/dist/sanitize-vocabulary-source-codes.test.js.map +7 -0
  232. package/dist/sort-tags.js +13 -25
  233. package/dist/sort-tags.js.map +7 -1
  234. package/dist/sort-tags.test.js +261 -0
  235. package/dist/sort-tags.test.js.map +7 -0
  236. package/dist/sortFields.js +152 -222
  237. package/dist/sortFields.js.map +7 -1
  238. package/dist/sortFields.test.js +44 -0
  239. package/dist/sortFields.test.js.map +7 -0
  240. package/dist/sortRelatorTerms.js +30 -68
  241. package/dist/sortRelatorTerms.js.map +7 -1
  242. package/dist/sortRelatorTerms.test.js +44 -0
  243. package/dist/sortRelatorTerms.test.js.map +7 -0
  244. package/dist/sortSubfields.js +102 -255
  245. package/dist/sortSubfields.js.map +7 -1
  246. package/dist/sortSubfields.test.js +44 -0
  247. package/dist/sortSubfields.test.js.map +7 -0
  248. package/dist/stripPunctuation.js +13 -36
  249. package/dist/stripPunctuation.js.map +7 -1
  250. package/dist/stripPunctuation.test.js +44 -0
  251. package/dist/stripPunctuation.test.js.map +7 -0
  252. package/dist/subfield-exclusion.js +28 -75
  253. package/dist/subfield-exclusion.js.map +7 -1
  254. package/dist/subfield-exclusion.test.js +471 -0
  255. package/dist/subfield-exclusion.test.js.map +7 -0
  256. package/dist/subfield6Utils.js +107 -269
  257. package/dist/subfield6Utils.js.map +7 -1
  258. package/dist/subfield8Utils.js +26 -50
  259. package/dist/subfield8Utils.js.map +7 -1
  260. package/dist/subfieldValueNormalizations.js +40 -74
  261. package/dist/subfieldValueNormalizations.js.map +7 -1
  262. package/dist/subfieldValueNormalizations.test.js +45 -0
  263. package/dist/subfieldValueNormalizations.test.js.map +7 -0
  264. package/dist/sync-007-and-300.js +22 -53
  265. package/dist/sync-007-and-300.js.map +7 -1
  266. package/dist/sync-007-and-300.test.js +44 -0
  267. package/dist/sync-007-and-300.test.js.map +7 -0
  268. package/dist/translate-terms.js +67 -155
  269. package/dist/translate-terms.js.map +7 -1
  270. package/dist/translate-terms.test.js +44 -0
  271. package/dist/translate-terms.test.js.map +7 -0
  272. package/dist/typeOfDate-008.js +10 -25
  273. package/dist/typeOfDate-008.js.map +7 -1
  274. package/dist/typeOfDate-008.test.js +40 -0
  275. package/dist/typeOfDate-008.test.js.map +7 -0
  276. package/dist/unicode-decomposition.js +94 -107
  277. package/dist/unicode-decomposition.js.map +7 -1
  278. package/dist/unicode-decomposition.test.js +94 -0
  279. package/dist/unicode-decomposition.test.js.map +7 -0
  280. package/dist/update-field-540.js +30 -75
  281. package/dist/update-field-540.js.map +7 -1
  282. package/dist/update-field-540.test.js +44 -0
  283. package/dist/update-field-540.test.js.map +7 -0
  284. package/dist/urn.js +55 -128
  285. package/dist/urn.js.map +7 -1
  286. package/dist/urn.test.js +44 -0
  287. package/dist/urn.test.js.map +7 -0
  288. package/dist/utils.js +72 -126
  289. package/dist/utils.js.map +7 -1
  290. package/eslint.config.mjs +1 -2
  291. package/package.json +21 -93
  292. package/src/access-rights.js +1 -1
  293. package/src/{access-rights.spec.js → access-rights.test.js} +9 -10
  294. package/src/addMissingField041.js +1 -1
  295. package/src/{addMissingField336.spec.js → addMissingField041.test.js} +13 -14
  296. package/src/addMissingField336.js +3 -3
  297. package/src/{addMissingField041.spec.js → addMissingField336.test.js} +13 -14
  298. package/src/addMissingField337.js +2 -2
  299. package/src/{addMissingField337.spec.js → addMissingField337.test.js} +13 -14
  300. package/src/addMissingField338.js +2 -2
  301. package/src/{addMissingField338.spec.js → addMissingField338.test.js} +13 -14
  302. package/src/cyrillux-usemarcon-replacement.js +18 -18
  303. package/src/cyrillux-usemarcon-replacement.test.js +55 -0
  304. package/src/cyrillux.js +19 -12
  305. package/src/{cyrillux.spec.js → cyrillux.test.js} +13 -14
  306. package/src/disambiguateSeriesStatements.js +2 -2
  307. package/src/{disambiguateSeriesStatements.spec.js → disambiguateSeriesStatements.test.js} +12 -13
  308. package/src/double-commas.js +1 -1
  309. package/src/{double-commas.spec.js → double-commas.test.js} +9 -11
  310. package/src/duplicates-ind1.js +1 -1
  311. package/src/{duplicates-ind1.spec.js → duplicates-ind1.test.js} +12 -13
  312. package/src/{empty-fields.spec.js → empty-fields.test.js} +11 -13
  313. package/src/ending-punctuation.js +1 -1
  314. package/src/{ending-punctuation.spec.js → ending-punctuation.test.js} +172 -173
  315. package/src/{ending-whitespace.spec.js → ending-whitespace.test.js} +12 -13
  316. package/src/field-008-18-34-character-groups.js +2 -2
  317. package/src/{field-008-18-34-character-groups.spec.js → field-008-18-34-character-groups.test.js} +13 -13
  318. package/src/field-505-separators.js +3 -3
  319. package/src/{field-505-separators.spec.js → field-505-separators.test.js} +16 -14
  320. package/src/field-521-fix.js +2 -2
  321. package/src/{field-521-fix.spec.js → field-521-fix.test.js} +12 -13
  322. package/src/field-exclusion.js +1 -1
  323. package/src/{field-exclusion.spec.js → field-exclusion.test.js} +60 -57
  324. package/src/{field-structure.spec.js → field-structure.test.js} +29 -29
  325. package/src/{fields-present.spec.js → fields-present.test.js} +12 -15
  326. package/src/fix-33X.js +4 -4
  327. package/src/{fix-33X.spec.js → fix-33X.test.js} +13 -14
  328. package/src/fix-country-codes.js +1 -1
  329. package/src/{fix-country-codes.spec.js → fix-country-codes.test.js} +12 -13
  330. package/src/fix-language-codes.js +5 -5
  331. package/src/{fix-language-codes.spec.js → fix-language-codes.test.js} +12 -13
  332. package/src/fixRelatorTerms.js +5 -5
  333. package/src/{fixRelatorTerms.spec.js → fixRelatorTerms.test.js} +13 -13
  334. package/src/{fixed-fields.spec.js → fixed-fields.test.js} +11 -14
  335. package/src/identical-fields.js +1 -1
  336. package/src/{identical-fields.spec.js → identical-fields.test.js} +9 -11
  337. package/src/index.js +58 -58
  338. package/src/indicator-fixes.js +3 -3
  339. package/src/{indicator-fixes.spec.js → indicator-fixes.test.js} +9 -12
  340. package/src/isbn-issn.js +1 -1
  341. package/src/{isbn-issn.spec.js → isbn-issn.test.js} +20 -22
  342. package/src/{item-language.spec.js → item-language.test.js} +21 -22
  343. package/src/merge-fields/controlSubfields.js +1 -1
  344. package/src/merge-fields/counterpartField.js +8 -9
  345. package/src/merge-fields/index.js +1 -1
  346. package/src/merge-fields/mergableIndicator.js +1 -1
  347. package/src/merge-fields/mergeField.js +6 -6
  348. package/src/merge-fields/mergeIndicator.js +1 -1
  349. package/src/merge-fields/mergeOrAddPostprocess.js +4 -4
  350. package/src/merge-fields/mergeOrAddSubfield.js +2 -2
  351. package/src/merge-fields/mergeSubfield.js +4 -4
  352. package/src/merge-fields/removeDuplicateSubfields.js +2 -2
  353. package/src/{merge-fields.spec.js → merge-fields.test.js} +12 -13
  354. package/src/{mergeField500Lisapainokset.spec.js → mergeField500Lisapainokset.test.js} +12 -13
  355. package/src/mergeRelatorTermFields.js +5 -7
  356. package/src/{mergeRelatorTermFields.spec.js → mergeRelatorTermFields.test.js} +12 -13
  357. package/src/modernize-502.js +1 -1
  358. package/src/{modernize-502.spec.js → modernize-502.test.js} +12 -13
  359. package/src/multiple-subfield-0.js +3 -3
  360. package/src/{multiple-subfield-0.spec.js → multiple-subfield-0.test.js} +13 -13
  361. package/src/{non-breaking-space.spec.js → non-breaking-space.test.js} +12 -13
  362. package/src/normalize-dashes.js +2 -2
  363. package/src/{normalize-dashes.spec.js → normalize-dashes.test.js} +12 -13
  364. package/src/normalize-identifiers.js +1 -1
  365. package/src/{normalize-identifiers.spec.js → normalize-identifiers.test.js} +12 -13
  366. package/src/normalize-qualifying-information.js +2 -2
  367. package/src/{normalize-qualifying-information.spec.js → normalize-qualifying-information.test.js} +12 -13
  368. package/src/normalize-utf8-diacritics.js +2 -2
  369. package/src/{normalize-utf8-diacritics.spec.js → normalize-utf8-diacritics.test.js} +13 -13
  370. package/src/normalizeFieldForComparison.js +6 -6
  371. package/src/normalizeSubfieldValueForComparison.js +1 -1
  372. package/src/prepublicationUtils.js +4 -4
  373. package/src/punctuation/index.js +1 -1
  374. package/src/punctuation/rules/index.js +2 -2
  375. package/src/{punctuation.spec.js → punctuation.test.js} +12 -13
  376. package/src/punctuation2.js +4 -4
  377. package/src/{punctuation2.spec.js → punctuation2.test.js} +12 -13
  378. package/src/reindexSubfield6OccurenceNumbers.js +5 -7
  379. package/src/{reindexSubfield6OccurenceNumbers.spec.js → reindexSubfield6OccurenceNumbers.test.js} +12 -13
  380. package/src/removeDuplicateDataFields.js +11 -19
  381. package/src/{removeDuplicateDataFields.spec.js → removeDuplicateDataFields.test.js} +12 -13
  382. package/src/removeInferiorDataFields.js +11 -11
  383. package/src/{removeInferiorDataFields.spec.js → removeInferiorDataFields.test.js} +13 -13
  384. package/src/resolvable-ext-references-melinda.js +1 -1
  385. package/src/{resolvable-ext-references-melinda.spec.js → resolvable-ext-references-melinda.test.js} +42 -27
  386. package/src/resolveOrphanedSubfield6s.js +5 -5
  387. package/src/{resolveOrphanedSubfield6s.spec.js → resolveOrphanedSubfield6s.test.js} +13 -13
  388. package/src/sanitize-vocabulary-source-codes.js +4 -4
  389. package/src/{sanitize-vocabulary-source-codes.spec.js → sanitize-vocabulary-source-codes.test.js} +16 -14
  390. package/src/{sort-tags.spec.js → sort-tags.test.js} +9 -11
  391. package/src/sortFields.js +4 -4
  392. package/src/{sortFields.spec.js → sortFields.test.js} +12 -13
  393. package/src/sortRelatorTerms.js +3 -3
  394. package/src/{sortRelatorTerms.spec.js → sortRelatorTerms.test.js} +13 -13
  395. package/src/sortSubfields.js +1 -1
  396. package/src/{sortSubfields.spec.js → sortSubfields.test.js} +13 -13
  397. package/src/stripPunctuation.js +3 -3
  398. package/src/{stripPunctuation.spec.js → stripPunctuation.test.js} +13 -13
  399. package/src/subfield-exclusion.js +1 -1
  400. package/src/{subfield-exclusion.spec.js → subfield-exclusion.test.js} +45 -36
  401. package/src/subfield6Utils.js +6 -10
  402. package/src/subfield8Utils.js +4 -4
  403. package/src/subfieldValueNormalizations.js +3 -3
  404. package/src/{subfieldValueNormalizations.spec.js → subfieldValueNormalizations.test.js} +18 -14
  405. package/src/sync-007-and-300.js +2 -2
  406. package/src/{sync-007-and-300.spec.js → sync-007-and-300.test.js} +13 -13
  407. package/src/translate-terms.js +3 -3
  408. package/src/{translate-terms.spec.js → translate-terms.test.js} +13 -13
  409. package/src/{typeOfDate-008.spec.js → typeOfDate-008.test.js} +12 -13
  410. package/src/{unicode-decomposition.spec.js → unicode-decomposition.test.js} +10 -16
  411. package/src/update-field-540.js +2 -2
  412. package/src/{update-field-540.spec.js → update-field-540.test.js} +13 -10
  413. package/src/urn.js +2 -2
  414. package/src/{urn.spec.js → urn.test.js} +12 -13
  415. package/src/utils.js +3 -3
  416. package/test-fixtures/field-505-separators/03/expectedResult.json +3 -1
  417. package/test-fixtures/field-505-separators/03/record.json +3 -0
  418. package/test-fixtures/normalize-subfield-value/01/metadata.json +4 -1
  419. package/test-fixtures/normalize-subfield-value/01/record.json +3 -0
  420. package/test-fixtures/normalize-subfield-value/02/expectedResult.json +3 -1
  421. package/test-fixtures/normalize-subfield-value/02/metadata.json +2 -1
  422. package/test-fixtures/normalize-subfield-value/02/record.json +3 -0
  423. package/test-fixtures/sanitize-vocabulary-source-codes/f03/expectedResult.json +3 -1
  424. package/test-fixtures/sanitize-vocabulary-source-codes/f04/expectedResult.json +3 -1
  425. package/test-fixtures/sanitize-vocabulary-source-codes/v04/metadata.json +1 -4
  426. package/test-fixtures/sanitize-vocabulary-source-codes/v04/record.json +1 -1
  427. package/dist/access-rights.spec.js +0 -195
  428. package/dist/access-rights.spec.js.map +0 -1
  429. package/dist/addMissingField041.spec.js +0 -45
  430. package/dist/addMissingField041.spec.js.map +0 -1
  431. package/dist/addMissingField336.spec.js +0 -45
  432. package/dist/addMissingField336.spec.js.map +0 -1
  433. package/dist/addMissingField337.spec.js +0 -43
  434. package/dist/addMissingField337.spec.js.map +0 -1
  435. package/dist/addMissingField338.spec.js +0 -45
  436. package/dist/addMissingField338.spec.js.map +0 -1
  437. package/dist/cyrillux-usemarcon-replacement.spec.js +0 -45
  438. package/dist/cyrillux-usemarcon-replacement.spec.js.map +0 -1
  439. package/dist/cyrillux.spec.js +0 -46
  440. package/dist/cyrillux.spec.js.map +0 -1
  441. package/dist/disambiguateSeriesStatements.spec.js +0 -51
  442. package/dist/disambiguateSeriesStatements.spec.js.map +0 -1
  443. package/dist/double-commas.spec.js +0 -73
  444. package/dist/double-commas.spec.js.map +0 -1
  445. package/dist/duplicates-ind1.spec.js +0 -45
  446. package/dist/duplicates-ind1.spec.js.map +0 -1
  447. package/dist/empty-fields.spec.js +0 -118
  448. package/dist/empty-fields.spec.js.map +0 -1
  449. package/dist/ending-punctuation.spec.js +0 -2654
  450. package/dist/ending-punctuation.spec.js.map +0 -1
  451. package/dist/ending-whitespace.spec.js +0 -42
  452. package/dist/ending-whitespace.spec.js.map +0 -1
  453. package/dist/field-008-18-34-character-groups.spec.js +0 -51
  454. package/dist/field-008-18-34-character-groups.spec.js.map +0 -1
  455. package/dist/field-505-separators.spec.js +0 -51
  456. package/dist/field-505-separators.spec.js.map +0 -1
  457. package/dist/field-521-fix.spec.js +0 -51
  458. package/dist/field-521-fix.spec.js.map +0 -1
  459. package/dist/field-exclusion.spec.js +0 -1054
  460. package/dist/field-exclusion.spec.js.map +0 -1
  461. package/dist/field-structure.spec.js +0 -535
  462. package/dist/field-structure.spec.js.map +0 -1
  463. package/dist/fields-present.spec.js +0 -121
  464. package/dist/fields-present.spec.js.map +0 -1
  465. package/dist/fix-33X.spec.js +0 -45
  466. package/dist/fix-33X.spec.js.map +0 -1
  467. package/dist/fix-country-codes.spec.js +0 -51
  468. package/dist/fix-country-codes.spec.js.map +0 -1
  469. package/dist/fix-language-codes.spec.js +0 -44
  470. package/dist/fix-language-codes.spec.js.map +0 -1
  471. package/dist/fixRelatorTerms.spec.js +0 -51
  472. package/dist/fixRelatorTerms.spec.js.map +0 -1
  473. package/dist/fixed-fields.spec.js +0 -140
  474. package/dist/fixed-fields.spec.js.map +0 -1
  475. package/dist/identical-fields.spec.js +0 -99
  476. package/dist/identical-fields.spec.js.map +0 -1
  477. package/dist/indicator-fixes.spec.js +0 -51
  478. package/dist/indicator-fixes.spec.js.map +0 -1
  479. package/dist/isbn-issn.spec.js +0 -595
  480. package/dist/isbn-issn.spec.js.map +0 -1
  481. package/dist/item-language.spec.js +0 -306
  482. package/dist/item-language.spec.js.map +0 -1
  483. package/dist/melindaCustomMergeFields.json +0 -5120
  484. package/dist/merge-fields.spec.js +0 -51
  485. package/dist/merge-fields.spec.js.map +0 -1
  486. package/dist/mergeField500Lisapainokset.spec.js +0 -51
  487. package/dist/mergeField500Lisapainokset.spec.js.map +0 -1
  488. package/dist/mergeRelatorTermFields.spec.js +0 -51
  489. package/dist/mergeRelatorTermFields.spec.js.map +0 -1
  490. package/dist/modernize-502.spec.js +0 -49
  491. package/dist/modernize-502.spec.js.map +0 -1
  492. package/dist/multiple-subfield-0.spec.js +0 -51
  493. package/dist/multiple-subfield-0.spec.js.map +0 -1
  494. package/dist/non-breaking-space.spec.js +0 -42
  495. package/dist/non-breaking-space.spec.js.map +0 -1
  496. package/dist/normalize-dashes.spec.js +0 -51
  497. package/dist/normalize-dashes.spec.js.map +0 -1
  498. package/dist/normalize-identifiers.spec.js +0 -51
  499. package/dist/normalize-identifiers.spec.js.map +0 -1
  500. package/dist/normalize-qualifying-information.spec.js +0 -51
  501. package/dist/normalize-qualifying-information.spec.js.map +0 -1
  502. package/dist/normalize-utf8-diacritics.spec.js +0 -51
  503. package/dist/normalize-utf8-diacritics.spec.js.map +0 -1
  504. package/dist/punctuation.spec.js +0 -51
  505. package/dist/punctuation.spec.js.map +0 -1
  506. package/dist/punctuation2.spec.js +0 -51
  507. package/dist/punctuation2.spec.js.map +0 -1
  508. package/dist/reindexSubfield6OccurenceNumbers.spec.js +0 -51
  509. package/dist/reindexSubfield6OccurenceNumbers.spec.js.map +0 -1
  510. package/dist/removeDuplicateDataFields.spec.js +0 -51
  511. package/dist/removeDuplicateDataFields.spec.js.map +0 -1
  512. package/dist/removeInferiorDataFields.spec.js +0 -51
  513. package/dist/removeInferiorDataFields.spec.js.map +0 -1
  514. package/dist/resolvable-ext-references-melinda.spec.js +0 -166
  515. package/dist/resolvable-ext-references-melinda.spec.js.map +0 -1
  516. package/dist/resolveOrphanedSubfield6s.spec.js +0 -51
  517. package/dist/resolveOrphanedSubfield6s.spec.js.map +0 -1
  518. package/dist/sanitize-vocabulary-source-codes.spec.js +0 -51
  519. package/dist/sanitize-vocabulary-source-codes.spec.js.map +0 -1
  520. package/dist/sort-tags.spec.js +0 -207
  521. package/dist/sort-tags.spec.js.map +0 -1
  522. package/dist/sortFields.spec.js +0 -51
  523. package/dist/sortFields.spec.js.map +0 -1
  524. package/dist/sortRelatorTerms.spec.js +0 -51
  525. package/dist/sortRelatorTerms.spec.js.map +0 -1
  526. package/dist/sortSubfields.spec.js +0 -52
  527. package/dist/sortSubfields.spec.js.map +0 -1
  528. package/dist/stripPunctuation.spec.js +0 -51
  529. package/dist/stripPunctuation.spec.js.map +0 -1
  530. package/dist/subfield-exclusion.spec.js +0 -523
  531. package/dist/subfield-exclusion.spec.js.map +0 -1
  532. package/dist/subfieldValueNormalizations.spec.js +0 -51
  533. package/dist/subfieldValueNormalizations.spec.js.map +0 -1
  534. package/dist/sync-007-and-300.spec.js +0 -51
  535. package/dist/sync-007-and-300.spec.js.map +0 -1
  536. package/dist/translate-terms.spec.js +0 -51
  537. package/dist/translate-terms.spec.js.map +0 -1
  538. package/dist/typeOfDate-008.spec.js +0 -47
  539. package/dist/typeOfDate-008.spec.js.map +0 -1
  540. package/dist/unicode-decomposition.spec.js +0 -91
  541. package/dist/unicode-decomposition.spec.js.map +0 -1
  542. package/dist/update-field-540.spec.js +0 -51
  543. package/dist/update-field-540.spec.js.map +0 -1
  544. package/dist/urn.spec.js +0 -52
  545. package/dist/urn.spec.js.map +0 -1
  546. package/src/cyrillux-usemarcon-replacement.spec.js +0 -47
@@ -1 +1,7 @@
1
- {"version":3,"file":"field33XUtils.js","names":["field336Mappings","exports","field337Mappings","field338Mappings","map33XCodeToTerm","mapping","catLang","undefined","fin","map336CodeToTerm","code","filter","m","map337CodeToTerm","map338CodeToTerm","getFormOfItem","record","f008Value","get","map","field","value","length","pos","getFormOfItemPosition","isMP","isVM","getTitleMedium","f245","h","subfields","sf"],"sources":["../src/field33XUtils.js"],"sourcesContent":["\nexport const field336Mappings = [\n {'code': 'crd', 'fin': 'kartografinen data', 'swe': 'kartografisk data', 'eng': 'cartographic dataset'},\n {'code': 'cri', 'fin': 'kartografinen kuva', 'swe': 'kartografisk bild', 'eng': 'cartographic image'},\n {'code': 'crm', 'fin': 'kartografinen liikkuva kuva', 'swe': 'kartografisk rörlig bild', 'eng': 'cartographic moving image'},\n {'code': 'crt', 'fin': 'kartografinen taktiili kuva', 'swe': 'kartografisk taktil bild', 'eng': 'cartographic tactile image'},\n {'code': 'crn', 'fin': 'kartografinen taktiili kolmiulotteinen muoto', 'swe': 'kartografisk taktil tredimensionell form', 'eng': 'cartographic tactile three-dimensional form'},\n {'code': 'crf', 'fin': 'kartografinen kolmiulotteinen muoto', 'swe': 'kartografisk tredimensionell form', 'eng': 'cartographic three-dimensional form'},\n {'code': 'cod', 'fin': 'digitaalinen data', 'swe': 'digitalt dataset', 'eng': 'computer dataset'},\n {'code': 'cop', 'fin': 'tietokoneohjelma', 'swe': 'datorprogram', 'eng': 'computer program'},\n {'code': 'ntv', 'fin': 'liikenotaatio', 'swe': 'rörelsenotation', 'eng': 'notated movement'},\n {'code': 'ntm', 'fin': 'nuottikirjoitus', 'swe': 'noterad musik', 'eng': 'notated music'},\n {'code': 'prm', 'fin': 'esitetty musiikki', 'swe': 'framförd musik', 'eng': 'performed music'},\n {'code': 'snd', 'fin': 'ääni', 'swe': 'ljud', 'eng': 'sounds', 'ger': 'Geräusche'},\n {'code': 'spw', 'fin': 'puhe', 'swe': 'tal', 'eng': 'spoken word', 'ger': 'gesprochenes Wort'},\n {'code': 'sti', 'fin': 'stillkuva', 'swe': 'stillbild', 'eng': 'still image', 'ger': 'unbewegtes Bild'},\n {'code': 'tci', 'fin': 'taktiili kuva', 'swe': 'taktil bild', 'eng': 'tactile image'},\n {'code': 'tcm', 'fin': 'taktiili nuottikirjoitus', 'swe': 'taktil musiknotation', 'eng': 'tactile notated music'},\n {'code': 'tcn', 'fin': 'taktiili liikenotaatio', 'swe': 'taktil noterad rörelse', 'eng': 'tactile notated movement'},\n {'code': 'tct', 'fin': 'taktiili teksti', 'swe': 'taktil text', 'eng': 'tactile text', 'fre': 'texte tactile'},\n {'code': 'tcf', 'fin': 'taktiili kolmiulotteinen muoto', 'swe': 'taktil tredimensionell form', 'eng': 'tactile three-dimensional form'},\n {'code': 'txt', 'fin': 'teksti', 'swe': 'text', 'eng': 'text', 'ger': 'Text', 'fre': 'texte'},\n {'code': 'tdf', 'fin': 'kolmiulotteinen muoto', 'swe': 'tredimensionell form', 'eng': 'three-dimensional form'},\n {'code': 'tdm', 'fin': 'kolmiulotteinen liikkuva kuva', 'swe': 'tredimensionell rörlig bild', 'eng': 'three-dimensional moving image'},\n {'code': 'tdi', 'fin': 'kaksiulotteinen liikkuva kuva', 'swe': 'tvådimensionell rörlig bild', 'eng': 'two-dimensional moving image'},\n {'code': 'xxx', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'zzz', 'fin': 'määrittelemätön', 'swe': 'ospecificerad', 'eng': 'unspecified'}\n];\n\nexport const field337Mappings = [\n {'code': 's', 'fin': 'audio', 'swe': 'audio', 'eng': 'audio'},\n {'code': 'c', 'fin': 'tietokonekäyttöinen', 'swe': 'dator', 'eng': 'computer'},\n {'code': 'h', 'fin': 'mikromuoto', 'swe': 'mikroform', 'eng': 'microform'},\n {'code': 'p', 'fin': 'mikroskooppinen', 'swe': 'mikroskopisk', 'eng': 'microscopic'},\n {'code': 'g', 'fin': 'heijastettava', 'swe': 'projicerad', 'eng': 'projected'},\n {'code': 'e', 'fin': 'stereografinen', 'swe': 'stereografisk', 'eng': 'stereographic'},\n {'code': 'n', 'fin': 'käytettävissä ilman laitetta', 'swe': 'omedierad', 'eng': 'unmediated'},\n {'code': 'v', 'fin': 'video', 'swe': 'video', 'eng': 'video'},\n {'code': 'x', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'z', 'fin': 'määrittelemätön', 'swe': 'ospecificerad', 'eng': 'unspecified'}\n];\n\nexport const field338Mappings = [\n {'code': 'ca', 'fin': 'tietonauhan silmukkakasetti', 'swe': 'datorbandmagasin', 'eng': 'computer tape cartridge'},\n {'code': 'cb', 'fin': 'piirikotelo', 'swe': 'datorminnesmodul', 'eng': 'computer cartridge'},\n {'code': 'cd', 'fin': 'tietolevy', 'swe': 'datorskiva', 'eng': 'computer disc'},\n {'code': 'ce', 'fin': 'tietolevykotelo', 'swe': 'datorskivmagasin', 'eng': 'computer disc cartridge'},\n {'code': 'cf', 'fin': 'tietokasetti', 'swe': 'datorkassett', 'eng': 'computer tape cassette'},\n {'code': 'ch', 'fin': 'tietonauhakela', 'swe': 'datorbandspole', 'eng': 'computer tape reel'},\n {'code': 'ck', 'fin': 'muistikortti', 'swe': 'datorkort', 'eng': 'computer card'},\n {'code': 'cr', 'fin': 'verkkoaineisto', 'swe': 'onlineresurs', 'eng': 'online resource'},\n {'code': 'cz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'eh', 'fin': 'stereografinen kortti', 'swe': 'stereografiskt kort', 'eng': 'stereograph card'},\n {'code': 'es', 'fin': 'stereografinen levy', 'swe': 'stereografisk skiva', 'eng': 'stereograph disc'},\n {'code': 'ez', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'gc', 'fin': 'rainakasetti', 'swe': 'bildbandsmagasin', 'eng': 'filmstrip cartridge'},\n {'code': 'gd', 'fin': 'filmiliuska', 'swe': 'filmremsa', 'eng': 'filmslip'},\n {'code': 'gf', 'fin': 'raina', 'swe': 'bildband', 'eng': 'filmstrip'},\n {'code': 'gs', 'fin': 'dia', 'swe': 'diabild', 'eng': 'slide'},\n {'code': 'gt', 'fin': 'piirtoheitinkalvo', 'swe': 'transparang', 'eng': 'overhead transparency'},\n {'code': 'ha', 'fin': 'ikkunakortti', 'swe': 'fönsterkort', 'eng': 'aperture card'},\n {'code': 'hb', 'fin': 'mikrofilmisilmukkakasetti', 'swe': 'mikrofilmsmagasin', 'eng': 'microfilm cartridge'},\n {'code': 'hc', 'fin': 'mikrofilmikasetti', 'swe': 'mikrofilmskassett', 'eng': 'microfilm cassette'},\n {'code': 'hd', 'fin': 'mikrofilmikela', 'swe': 'mikrofilmsspole', 'eng': 'microfilm reel'},\n {'code': 'he', 'fin': 'mikrokortti', 'swe': 'mikrofiche', 'eng': 'microfiche'},\n {'code': 'hf', 'fin': 'mikrokorttikasetti', 'swe': 'mikrofichekassett', 'eng': 'microfiche cassette'},\n {'code': 'hg', 'fin': 'mikrokortti (läpinäkymätön)', 'swe': 'mikrofiche (ogenomskinlig)', 'eng': 'microopaque'},\n {'code': 'hh', 'fin': 'mikrofilmiliuska', 'swe': 'mikrofilmsremsa', 'eng': 'microfilm slip'},\n {'code': 'hj', 'fin': 'mikrofilmirulla', 'swe': 'mikrofilmsrulle', 'eng': 'microfilm roll'},\n {'code': 'hz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'mc', 'fin': 'filmisilmukkakasetti', 'swe': 'filmmagasin', 'eng': 'film cartridge'},\n {'code': 'mf', 'fin': 'filmikasetti', 'swe': 'filmkassett', 'eng': 'film cassette'},\n {'code': 'mo', 'fin': 'filmirulla', 'swe': 'filmrulle', 'eng': 'film roll'},\n {'code': 'mr', 'fin': 'filmikela', 'swe': 'filmspole', 'eng': 'film reel'},\n {'code': 'mz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'na', 'fin': 'rulla', 'swe': 'rulle', 'eng': 'roll'},\n {'code': 'nb', 'fin': 'arkki', 'swe': 'ark', 'eng': 'sheet'},\n {'code': 'nc', 'fin': 'nide', 'swe': 'volym', 'eng': 'volume'},\n {'code': 'nn', 'fin': 'lehtiötaulu', 'swe': 'blädderblock', 'eng': 'flipchart'},\n {'code': 'no', 'fin': 'kortti', 'swe': 'kort', 'eng': 'card'},\n {'code': 'nr', 'fin': 'objekti', 'swe': 'föremål', 'eng': 'object'},\n {'code': 'nz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'pp', 'fin': 'preparaattilasi', 'swe': 'mikroskoperingspreparat', 'eng': 'microscope slide'},\n {'code': 'pz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'sb', 'fin': 'äänihihna', 'swe': 'ljudslinga', 'eng': 'audio belt'},\n {'code': 'sd', 'fin': 'äänilevy', 'swe': 'ljudskiva', 'eng': 'audio disc'},\n {'code': 'se', 'fin': 'äänisylinteri', 'swe': 'ljudcylinder', 'eng': 'audio cylinder'},\n {'code': 'sg', 'fin': 'äänisilmukkakasetti', 'swe': 'ljudmagasin', 'eng': 'audio cartridge'},\n {'code': 'si', 'fin': 'ääniraitakela', 'swe': 'filmljudspole', 'eng': 'sound-track reel'},\n {'code': 'sq', 'fin': 'äänirulla', 'swe': 'ljudrulle', 'eng': 'audio roll'},\n {'code': 'ss', 'fin': 'äänikasetti', 'swe': 'ljudkassett', 'eng': 'audiocassette'},\n {'code': 'st', 'fin': 'äänikela', 'swe': 'ljudspole', 'eng': 'audiotape reel'},\n {'code': 'sw', 'fin': 'äänilankakela', 'swe': 'ljudtråd', 'eng': 'audio wire reel'},\n {'code': 'sz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'vc', 'fin': 'videosilmukkakasetti', 'swe': 'videomagasin', 'eng': 'video cartridge'},\n {'code': 'vd', 'fin': 'videolevy', 'swe': 'videoskiva', 'eng': 'videodisc'},\n {'code': 'vf', 'fin': 'videokasetti', 'swe': 'videokassett', 'eng': 'videocassette'},\n {'code': 'vr', 'fin': 'videokela', 'swe': 'videospole', 'eng': 'videotape reel'},\n {'code': 'vz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'zu', 'fin': 'määrittelemätön', 'swe': 'ospecificerad', 'eng': 'unspecified'}\n];\n\n\nfunction map33XCodeToTerm(mapping, catLang = 'fin') {\n if (!mapping) {\n return undefined;\n }\n if (catLang in mapping) {\n return mapping[catLang];\n }\n if ('fin' in mapping) {\n return mapping.fin; // Default to Finnish (which should be complete, knock-knock)\n }\n return undefined;\n}\n\nexport function map336CodeToTerm(code, catLang = 'fin') {\n const [mapping] = field336Mappings.filter(m => m.code === code);\n return map33XCodeToTerm(mapping, catLang);\n}\n\nexport function map337CodeToTerm(code, catLang = 'fin') {\n const [mapping] = field337Mappings.filter(m => m.code === code);\n return map33XCodeToTerm(mapping, catLang);\n}\n\nexport function map338CodeToTerm(code, catLang = 'fin') {\n const [mapping] = field338Mappings.filter(m => m.code === code);\n return map33XCodeToTerm(mapping, catLang);\n}\n\nexport function getFormOfItem(record) {\n const [f008Value] = record.get('008').map(field => field.value);\n if (f008Value && f008Value.length === 40) {\n const pos = getFormOfItemPosition(record);\n return f008Value[pos];\n }\n return '|';\n}\n\nexport function getFormOfItemPosition(record) {\n if (record.isMP() || record.isVM()) {\n return 29;\n }\n return 23;\n}\n\nexport function getTitleMedium(record) {\n // Get 245$h. Very old and deprecated practise...\n const [f245] = record.get('245');\n if (!f245) {\n return undefined;\n }\n const [h] = f245.subfields.filter(sf => sf.code === 'h');\n return h ? h.value : undefined;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/field33XUtils.js"],
4
+ "sourcesContent": ["\nexport const field336Mappings = [\n {'code': 'crd', 'fin': 'kartografinen data', 'swe': 'kartografisk data', 'eng': 'cartographic dataset'},\n {'code': 'cri', 'fin': 'kartografinen kuva', 'swe': 'kartografisk bild', 'eng': 'cartographic image'},\n {'code': 'crm', 'fin': 'kartografinen liikkuva kuva', 'swe': 'kartografisk r\u00F6rlig bild', 'eng': 'cartographic moving image'},\n {'code': 'crt', 'fin': 'kartografinen taktiili kuva', 'swe': 'kartografisk taktil bild', 'eng': 'cartographic tactile image'},\n {'code': 'crn', 'fin': 'kartografinen taktiili kolmiulotteinen muoto', 'swe': 'kartografisk taktil tredimensionell form', 'eng': 'cartographic tactile three-dimensional form'},\n {'code': 'crf', 'fin': 'kartografinen kolmiulotteinen muoto', 'swe': 'kartografisk tredimensionell form', 'eng': 'cartographic three-dimensional form'},\n {'code': 'cod', 'fin': 'digitaalinen data', 'swe': 'digitalt dataset', 'eng': 'computer dataset'},\n {'code': 'cop', 'fin': 'tietokoneohjelma', 'swe': 'datorprogram', 'eng': 'computer program'},\n {'code': 'ntv', 'fin': 'liikenotaatio', 'swe': 'r\u00F6relsenotation', 'eng': 'notated movement'},\n {'code': 'ntm', 'fin': 'nuottikirjoitus', 'swe': 'noterad musik', 'eng': 'notated music'},\n {'code': 'prm', 'fin': 'esitetty musiikki', 'swe': 'framf\u00F6rd musik', 'eng': 'performed music'},\n {'code': 'snd', 'fin': '\u00E4\u00E4ni', 'swe': 'ljud', 'eng': 'sounds', 'ger': 'Ger\u00E4usche'},\n {'code': 'spw', 'fin': 'puhe', 'swe': 'tal', 'eng': 'spoken word', 'ger': 'gesprochenes Wort'},\n {'code': 'sti', 'fin': 'stillkuva', 'swe': 'stillbild', 'eng': 'still image', 'ger': 'unbewegtes Bild'},\n {'code': 'tci', 'fin': 'taktiili kuva', 'swe': 'taktil bild', 'eng': 'tactile image'},\n {'code': 'tcm', 'fin': 'taktiili nuottikirjoitus', 'swe': 'taktil musiknotation', 'eng': 'tactile notated music'},\n {'code': 'tcn', 'fin': 'taktiili liikenotaatio', 'swe': 'taktil noterad r\u00F6relse', 'eng': 'tactile notated movement'},\n {'code': 'tct', 'fin': 'taktiili teksti', 'swe': 'taktil text', 'eng': 'tactile text', 'fre': 'texte tactile'},\n {'code': 'tcf', 'fin': 'taktiili kolmiulotteinen muoto', 'swe': 'taktil tredimensionell form', 'eng': 'tactile three-dimensional form'},\n {'code': 'txt', 'fin': 'teksti', 'swe': 'text', 'eng': 'text', 'ger': 'Text', 'fre': 'texte'},\n {'code': 'tdf', 'fin': 'kolmiulotteinen muoto', 'swe': 'tredimensionell form', 'eng': 'three-dimensional form'},\n {'code': 'tdm', 'fin': 'kolmiulotteinen liikkuva kuva', 'swe': 'tredimensionell r\u00F6rlig bild', 'eng': 'three-dimensional moving image'},\n {'code': 'tdi', 'fin': 'kaksiulotteinen liikkuva kuva', 'swe': 'tv\u00E5dimensionell r\u00F6rlig bild', 'eng': 'two-dimensional moving image'},\n {'code': 'xxx', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'zzz', 'fin': 'm\u00E4\u00E4rittelem\u00E4t\u00F6n', 'swe': 'ospecificerad', 'eng': 'unspecified'}\n];\n\nexport const field337Mappings = [\n {'code': 's', 'fin': 'audio', 'swe': 'audio', 'eng': 'audio'},\n {'code': 'c', 'fin': 'tietokonek\u00E4ytt\u00F6inen', 'swe': 'dator', 'eng': 'computer'},\n {'code': 'h', 'fin': 'mikromuoto', 'swe': 'mikroform', 'eng': 'microform'},\n {'code': 'p', 'fin': 'mikroskooppinen', 'swe': 'mikroskopisk', 'eng': 'microscopic'},\n {'code': 'g', 'fin': 'heijastettava', 'swe': 'projicerad', 'eng': 'projected'},\n {'code': 'e', 'fin': 'stereografinen', 'swe': 'stereografisk', 'eng': 'stereographic'},\n {'code': 'n', 'fin': 'k\u00E4ytett\u00E4viss\u00E4 ilman laitetta', 'swe': 'omedierad', 'eng': 'unmediated'},\n {'code': 'v', 'fin': 'video', 'swe': 'video', 'eng': 'video'},\n {'code': 'x', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'z', 'fin': 'm\u00E4\u00E4rittelem\u00E4t\u00F6n', 'swe': 'ospecificerad', 'eng': 'unspecified'}\n];\n\nexport const field338Mappings = [\n {'code': 'ca', 'fin': 'tietonauhan silmukkakasetti', 'swe': 'datorbandmagasin', 'eng': 'computer tape cartridge'},\n {'code': 'cb', 'fin': 'piirikotelo', 'swe': 'datorminnesmodul', 'eng': 'computer cartridge'},\n {'code': 'cd', 'fin': 'tietolevy', 'swe': 'datorskiva', 'eng': 'computer disc'},\n {'code': 'ce', 'fin': 'tietolevykotelo', 'swe': 'datorskivmagasin', 'eng': 'computer disc cartridge'},\n {'code': 'cf', 'fin': 'tietokasetti', 'swe': 'datorkassett', 'eng': 'computer tape cassette'},\n {'code': 'ch', 'fin': 'tietonauhakela', 'swe': 'datorbandspole', 'eng': 'computer tape reel'},\n {'code': 'ck', 'fin': 'muistikortti', 'swe': 'datorkort', 'eng': 'computer card'},\n {'code': 'cr', 'fin': 'verkkoaineisto', 'swe': 'onlineresurs', 'eng': 'online resource'},\n {'code': 'cz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'eh', 'fin': 'stereografinen kortti', 'swe': 'stereografiskt kort', 'eng': 'stereograph card'},\n {'code': 'es', 'fin': 'stereografinen levy', 'swe': 'stereografisk skiva', 'eng': 'stereograph disc'},\n {'code': 'ez', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'gc', 'fin': 'rainakasetti', 'swe': 'bildbandsmagasin', 'eng': 'filmstrip cartridge'},\n {'code': 'gd', 'fin': 'filmiliuska', 'swe': 'filmremsa', 'eng': 'filmslip'},\n {'code': 'gf', 'fin': 'raina', 'swe': 'bildband', 'eng': 'filmstrip'},\n {'code': 'gs', 'fin': 'dia', 'swe': 'diabild', 'eng': 'slide'},\n {'code': 'gt', 'fin': 'piirtoheitinkalvo', 'swe': 'transparang', 'eng': 'overhead transparency'},\n {'code': 'ha', 'fin': 'ikkunakortti', 'swe': 'f\u00F6nsterkort', 'eng': 'aperture card'},\n {'code': 'hb', 'fin': 'mikrofilmisilmukkakasetti', 'swe': 'mikrofilmsmagasin', 'eng': 'microfilm cartridge'},\n {'code': 'hc', 'fin': 'mikrofilmikasetti', 'swe': 'mikrofilmskassett', 'eng': 'microfilm cassette'},\n {'code': 'hd', 'fin': 'mikrofilmikela', 'swe': 'mikrofilmsspole', 'eng': 'microfilm reel'},\n {'code': 'he', 'fin': 'mikrokortti', 'swe': 'mikrofiche', 'eng': 'microfiche'},\n {'code': 'hf', 'fin': 'mikrokorttikasetti', 'swe': 'mikrofichekassett', 'eng': 'microfiche cassette'},\n {'code': 'hg', 'fin': 'mikrokortti (l\u00E4pin\u00E4kym\u00E4t\u00F6n)', 'swe': 'mikrofiche (ogenomskinlig)', 'eng': 'microopaque'},\n {'code': 'hh', 'fin': 'mikrofilmiliuska', 'swe': 'mikrofilmsremsa', 'eng': 'microfilm slip'},\n {'code': 'hj', 'fin': 'mikrofilmirulla', 'swe': 'mikrofilmsrulle', 'eng': 'microfilm roll'},\n {'code': 'hz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'mc', 'fin': 'filmisilmukkakasetti', 'swe': 'filmmagasin', 'eng': 'film cartridge'},\n {'code': 'mf', 'fin': 'filmikasetti', 'swe': 'filmkassett', 'eng': 'film cassette'},\n {'code': 'mo', 'fin': 'filmirulla', 'swe': 'filmrulle', 'eng': 'film roll'},\n {'code': 'mr', 'fin': 'filmikela', 'swe': 'filmspole', 'eng': 'film reel'},\n {'code': 'mz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'na', 'fin': 'rulla', 'swe': 'rulle', 'eng': 'roll'},\n {'code': 'nb', 'fin': 'arkki', 'swe': 'ark', 'eng': 'sheet'},\n {'code': 'nc', 'fin': 'nide', 'swe': 'volym', 'eng': 'volume'},\n {'code': 'nn', 'fin': 'lehti\u00F6taulu', 'swe': 'bl\u00E4dderblock', 'eng': 'flipchart'},\n {'code': 'no', 'fin': 'kortti', 'swe': 'kort', 'eng': 'card'},\n {'code': 'nr', 'fin': 'objekti', 'swe': 'f\u00F6rem\u00E5l', 'eng': 'object'},\n {'code': 'nz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'pp', 'fin': 'preparaattilasi', 'swe': 'mikroskoperingspreparat', 'eng': 'microscope slide'},\n {'code': 'pz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'sb', 'fin': '\u00E4\u00E4nihihna', 'swe': 'ljudslinga', 'eng': 'audio belt'},\n {'code': 'sd', 'fin': '\u00E4\u00E4nilevy', 'swe': 'ljudskiva', 'eng': 'audio disc'},\n {'code': 'se', 'fin': '\u00E4\u00E4nisylinteri', 'swe': 'ljudcylinder', 'eng': 'audio cylinder'},\n {'code': 'sg', 'fin': '\u00E4\u00E4nisilmukkakasetti', 'swe': 'ljudmagasin', 'eng': 'audio cartridge'},\n {'code': 'si', 'fin': '\u00E4\u00E4niraitakela', 'swe': 'filmljudspole', 'eng': 'sound-track reel'},\n {'code': 'sq', 'fin': '\u00E4\u00E4nirulla', 'swe': 'ljudrulle', 'eng': 'audio roll'},\n {'code': 'ss', 'fin': '\u00E4\u00E4nikasetti', 'swe': 'ljudkassett', 'eng': 'audiocassette'},\n {'code': 'st', 'fin': '\u00E4\u00E4nikela', 'swe': 'ljudspole', 'eng': 'audiotape reel'},\n {'code': 'sw', 'fin': '\u00E4\u00E4nilankakela', 'swe': 'ljudtr\u00E5d', 'eng': 'audio wire reel'},\n {'code': 'sz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'vc', 'fin': 'videosilmukkakasetti', 'swe': 'videomagasin', 'eng': 'video cartridge'},\n {'code': 'vd', 'fin': 'videolevy', 'swe': 'videoskiva', 'eng': 'videodisc'},\n {'code': 'vf', 'fin': 'videokasetti', 'swe': 'videokassett', 'eng': 'videocassette'},\n {'code': 'vr', 'fin': 'videokela', 'swe': 'videospole', 'eng': 'videotape reel'},\n {'code': 'vz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'zu', 'fin': 'm\u00E4\u00E4rittelem\u00E4t\u00F6n', 'swe': 'ospecificerad', 'eng': 'unspecified'}\n];\n\n\nfunction map33XCodeToTerm(mapping, catLang = 'fin') {\n if (!mapping) {\n return undefined;\n }\n if (catLang in mapping) {\n return mapping[catLang];\n }\n if ('fin' in mapping) {\n return mapping.fin; // Default to Finnish (which should be complete, knock-knock)\n }\n return undefined;\n}\n\nexport function map336CodeToTerm(code, catLang = 'fin') {\n const [mapping] = field336Mappings.filter(m => m.code === code);\n return map33XCodeToTerm(mapping, catLang);\n}\n\nexport function map337CodeToTerm(code, catLang = 'fin') {\n const [mapping] = field337Mappings.filter(m => m.code === code);\n return map33XCodeToTerm(mapping, catLang);\n}\n\nexport function map338CodeToTerm(code, catLang = 'fin') {\n const [mapping] = field338Mappings.filter(m => m.code === code);\n return map33XCodeToTerm(mapping, catLang);\n}\n\nexport function getFormOfItem(record) {\n const [f008Value] = record.get('008').map(field => field.value);\n if (f008Value && f008Value.length === 40) {\n const pos = getFormOfItemPosition(record);\n return f008Value[pos];\n }\n return '|';\n}\n\nexport function getFormOfItemPosition(record) {\n if (record.isMP() || record.isVM()) {\n return 29;\n }\n return 23;\n}\n\nexport function getTitleMedium(record) {\n // Get 245$h. Very old and deprecated practise...\n const [f245] = record.get('245');\n if (!f245) {\n return undefined;\n }\n const [h] = f245.subfields.filter(sf => sf.code === 'h');\n return h ? h.value : undefined;\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,32 +1,20 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = _default;
7
- function _default(tagPatterns) {
1
+ export default function(tagPatterns) {
8
2
  if (Array.isArray(tagPatterns)) {
9
3
  return {
10
- description: 'Checks whether the configured fields are present in the record',
4
+ description: "Checks whether the configured fields are present in the record",
11
5
  validate
12
6
  };
13
7
  }
14
- throw new Error('No tag pattern array provided');
8
+ throw new Error("No tag pattern array provided");
15
9
  function validate(record) {
16
- const missingFields = tagPatterns.map(pattern => {
17
- const result = record.fields.find(field => pattern.test(field.tag));
18
- return result ? undefined : pattern;
10
+ const missingFields = tagPatterns.map((pattern) => {
11
+ const result = record.fields.find((field) => pattern.test(field.tag));
12
+ return result ? void 0 : pattern;
19
13
  });
20
- const isEmpty = missingFields.every(index => index === undefined);
21
- let errorMessage = ['The following tag patterns are not present in the record tag field: '];
22
- errorMessage = errorMessage.concat(missingFields).join(' ');
23
- return isEmpty ? {
24
- valid: true,
25
- messages: []
26
- } : {
27
- valid: false,
28
- messages: [errorMessage]
29
- };
14
+ const isEmpty = missingFields.every((index) => index === void 0);
15
+ let errorMessage = ["The following tag patterns are not present in the record tag field: "];
16
+ errorMessage = errorMessage.concat(missingFields).join(" ");
17
+ return isEmpty ? { valid: true, messages: [] } : { valid: false, messages: [errorMessage] };
30
18
  }
31
19
  }
32
- //# sourceMappingURL=fields-present.js.map
20
+ //# sourceMappingURL=fields-present.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"fields-present.js","names":["_default","tagPatterns","Array","isArray","description","validate","Error","record","missingFields","map","pattern","result","fields","find","field","test","tag","undefined","isEmpty","every","index","errorMessage","concat","join","valid","messages"],"sources":["../src/fields-present.js"],"sourcesContent":["export default function (tagPatterns) {\n if (Array.isArray(tagPatterns)) {\n return {\n description:\n 'Checks whether the configured fields are present in the record',\n validate\n };\n }\n\n throw new Error('No tag pattern array provided');\n\n function validate(record) {\n const missingFields = tagPatterns.map(pattern => {\n const result = record.fields.find(field => pattern.test(field.tag));\n return result ? undefined : pattern;\n });\n const isEmpty = missingFields.every(index => index === undefined);\n let errorMessage = ['The following tag patterns are not present in the record tag field: '];\n errorMessage = errorMessage.concat(missingFields).join(' ');\n\n return isEmpty ? {valid: true, messages: []} : {valid: false, messages: [errorMessage]};\n }\n}\n"],"mappings":";;;;;;AAAe,SAAAA,SAAUC,WAAW,EAAE;EACpC,IAAIC,KAAK,CAACC,OAAO,CAACF,WAAW,CAAC,EAAE;IAC9B,OAAO;MACLG,WAAW,EACT,gEAAgE;MAClEC;IACF,CAAC;EACH;EAEA,MAAM,IAAIC,KAAK,CAAC,+BAA+B,CAAC;EAEhD,SAASD,QAAQA,CAACE,MAAM,EAAE;IACxB,MAAMC,aAAa,GAAGP,WAAW,CAACQ,GAAG,CAACC,OAAO,IAAI;MAC/C,MAAMC,MAAM,GAAGJ,MAAM,CAACK,MAAM,CAACC,IAAI,CAACC,KAAK,IAAIJ,OAAO,CAACK,IAAI,CAACD,KAAK,CAACE,GAAG,CAAC,CAAC;MACnE,OAAOL,MAAM,GAAGM,SAAS,GAAGP,OAAO;IACrC,CAAC,CAAC;IACF,MAAMQ,OAAO,GAAGV,aAAa,CAACW,KAAK,CAACC,KAAK,IAAIA,KAAK,KAAKH,SAAS,CAAC;IACjE,IAAII,YAAY,GAAG,CAAC,sEAAsE,CAAC;IAC3FA,YAAY,GAAGA,YAAY,CAACC,MAAM,CAACd,aAAa,CAAC,CAACe,IAAI,CAAC,GAAG,CAAC;IAE3D,OAAOL,OAAO,GAAG;MAACM,KAAK,EAAE,IAAI;MAAEC,QAAQ,EAAE;IAAE,CAAC,GAAG;MAACD,KAAK,EAAE,KAAK;MAAEC,QAAQ,EAAE,CAACJ,YAAY;IAAC,CAAC;EACzF;AACF","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/fields-present.js"],
4
+ "sourcesContent": ["export default function (tagPatterns) {\n if (Array.isArray(tagPatterns)) {\n return {\n description:\n 'Checks whether the configured fields are present in the record',\n validate\n };\n }\n\n throw new Error('No tag pattern array provided');\n\n function validate(record) {\n const missingFields = tagPatterns.map(pattern => {\n const result = record.fields.find(field => pattern.test(field.tag));\n return result ? undefined : pattern;\n });\n const isEmpty = missingFields.every(index => index === undefined);\n let errorMessage = ['The following tag patterns are not present in the record tag field: '];\n errorMessage = errorMessage.concat(missingFields).join(' ');\n\n return isEmpty ? {valid: true, messages: []} : {valid: false, messages: [errorMessage]};\n }\n}\n"],
5
+ "mappings": "AAAA,wBAAyB,aAAa;AACpC,MAAI,MAAM,QAAQ,WAAW,GAAG;AAC9B,WAAO;AAAA,MACL,aACE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,IAAI,MAAM,+BAA+B;AAE/C,WAAS,SAAS,QAAQ;AACxB,UAAM,gBAAgB,YAAY,IAAI,aAAW;AAC/C,YAAM,SAAS,OAAO,OAAO,KAAK,WAAS,QAAQ,KAAK,MAAM,GAAG,CAAC;AAClE,aAAO,SAAS,SAAY;AAAA,IAC9B,CAAC;AACD,UAAM,UAAU,cAAc,MAAM,WAAS,UAAU,MAAS;AAChE,QAAI,eAAe,CAAC,sEAAsE;AAC1F,mBAAe,aAAa,OAAO,aAAa,EAAE,KAAK,GAAG;AAE1D,WAAO,UAAU,EAAC,OAAO,MAAM,UAAU,CAAC,EAAC,IAAI,EAAC,OAAO,OAAO,UAAU,CAAC,YAAY,EAAC;AAAA,EACxF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,95 @@
1
+ import { describe, it } from "node:test";
2
+ import assert from "node:assert";
3
+ import { MarcRecord } from "@natlibfi/marc-record";
4
+ import validatorFactory from "../src/fields-present.js";
5
+ describe("fields-present", () => {
6
+ it("Creates a validator", async () => {
7
+ const validator = await validatorFactory([/^500$/u, /^400$/u]);
8
+ assert.equal(typeof validator, "object");
9
+ assert.equal(typeof validator.description, "string");
10
+ assert.equal(typeof validator.validate, "function");
11
+ });
12
+ it("Throws an error when tagPatterns not provided", () => {
13
+ try {
14
+ validatorFactory();
15
+ } catch (error) {
16
+ assert.equal(error instanceof Error, true);
17
+ assert.equal(error.message, "No tag pattern array provided");
18
+ }
19
+ });
20
+ describe("#validate", () => {
21
+ it("Finds the record valid", async () => {
22
+ const tagPatterns = [/^5..$/u, /^FOO$/u];
23
+ const validator = await validatorFactory(tagPatterns);
24
+ const record = new MarcRecord({
25
+ fields: [
26
+ {
27
+ tag: "500",
28
+ ind1: " ",
29
+ ind2: "0",
30
+ subfields: [{ code: "a", value: "foo" }]
31
+ },
32
+ {
33
+ tag: "FOO",
34
+ ind1: " ",
35
+ ind2: "0",
36
+ subfields: [{ code: "a", value: "foo" }]
37
+ }
38
+ ]
39
+ });
40
+ const result = await validator.validate(record);
41
+ assert.deepEqual(result, { valid: true, messages: [] });
42
+ });
43
+ it("Finds the record valid", async () => {
44
+ const tagPatterns = [/^(020|022|024)$/u];
45
+ const validator = await validatorFactory(tagPatterns);
46
+ const record = new MarcRecord({
47
+ fields: [
48
+ {
49
+ tag: "020",
50
+ ind1: " ",
51
+ ind2: "0",
52
+ subfields: [{ code: "a", value: "foo" }]
53
+ },
54
+ {
55
+ tag: "040",
56
+ ind1: " ",
57
+ ind2: "0",
58
+ subfields: [{ code: "a", value: "foo" }]
59
+ }
60
+ ]
61
+ });
62
+ const result = await validator.validate(record);
63
+ assert.deepEqual(result, { valid: true, messages: [] });
64
+ });
65
+ it("Finds the record invalid", async () => {
66
+ const tagPatterns = [/^5..$/u, /^FOO$/u];
67
+ const validator = await validatorFactory(tagPatterns);
68
+ const record = new MarcRecord({
69
+ fields: [
70
+ {
71
+ tag: "001",
72
+ ind1: " ",
73
+ ind2: "0",
74
+ subfields: [{ code: "a", value: "foo" }]
75
+ },
76
+ {
77
+ tag: "500",
78
+ ind1: " ",
79
+ ind2: "0",
80
+ subfields: [{ code: "a", value: "foo" }]
81
+ },
82
+ {
83
+ tag: "BAR",
84
+ ind1: "1",
85
+ ind2: "0",
86
+ subfields: [{ code: "a", value: "foo" }]
87
+ }
88
+ ]
89
+ });
90
+ const result = await validator.validate(record);
91
+ assert.deepEqual(result, { valid: false, messages: ["The following tag patterns are not present in the record tag field: /^FOO$/u"] });
92
+ });
93
+ });
94
+ });
95
+ //# sourceMappingURL=fields-present.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/fields-present.test.js"],
4
+ "sourcesContent": ["import {describe, it} from 'node:test';\nimport assert from 'node:assert';\nimport {MarcRecord} from '@natlibfi/marc-record';\nimport validatorFactory from '../src/fields-present.js';\n\n\n\ndescribe('fields-present', () => {\n it('Creates a validator', async () => {\n const validator = await validatorFactory([/^500$/u, /^400$/u]);\n\n assert.equal(typeof validator, 'object');\n assert.equal(typeof validator.description, 'string');\n assert.equal(typeof validator.validate, 'function');\n });\n\n it('Throws an error when tagPatterns not provided', () => {\n try {\n validatorFactory();\n } catch (error) {\n assert.equal(error instanceof Error, true);\n assert.equal(error.message, 'No tag pattern array provided');\n }\n });\n\n describe('#validate', () => {\n it('Finds the record valid', async () => {\n const tagPatterns = [/^5..$/u, /^FOO$/u];\n const validator = await validatorFactory(tagPatterns);\n const record = new MarcRecord({\n fields: [\n {\n tag: '500',\n ind1: ' ',\n ind2: '0',\n subfields: [{code: 'a', value: 'foo'}]\n },\n {\n tag: 'FOO',\n ind1: ' ',\n ind2: '0',\n subfields: [{code: 'a', value: 'foo'}]\n }\n ]\n });\n const result = await validator.validate(record);\n\n assert.deepEqual(result, {valid: true, messages: []});\n });\n it('Finds the record valid', async () => {\n const tagPatterns = [/^(020|022|024)$/u];\n const validator = await validatorFactory(tagPatterns);\n const record = new MarcRecord({\n fields: [\n {\n tag: '020',\n ind1: ' ',\n ind2: '0',\n subfields: [{code: 'a', value: 'foo'}]\n },\n {\n tag: '040',\n ind1: ' ',\n ind2: '0',\n subfields: [{code: 'a', value: 'foo'}]\n }\n ]\n });\n const result = await validator.validate(record);\n\n assert.deepEqual(result, {valid: true, messages: []});\n });\n it('Finds the record invalid', async () => {\n const tagPatterns = [/^5..$/u, /^FOO$/u];\n const validator = await validatorFactory(tagPatterns);\n const record = new MarcRecord({\n fields: [\n {\n tag: '001',\n ind1: ' ',\n ind2: '0',\n subfields: [{code: 'a', value: 'foo'}]\n },\n {\n tag: '500',\n ind1: ' ',\n ind2: '0',\n subfields: [{code: 'a', value: 'foo'}]\n },\n {\n tag: 'BAR',\n ind1: '1',\n ind2: '0',\n subfields: [{code: 'a', value: 'foo'}]\n }\n ]\n });\n const result = await validator.validate(record);\n\n assert.deepEqual(result, {valid: false, messages: ['The following tag patterns are not present in the record tag field: /^FOO$/u']});\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }