@natlibfi/marc-record-validators-melinda 11.6.7 → 12.0.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 (545) 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/indicator-fixes.js +3 -3
  338. package/src/{indicator-fixes.spec.js → indicator-fixes.test.js} +9 -12
  339. package/src/isbn-issn.js +1 -1
  340. package/src/{isbn-issn.spec.js → isbn-issn.test.js} +20 -22
  341. package/src/{item-language.spec.js → item-language.test.js} +21 -22
  342. package/src/merge-fields/controlSubfields.js +1 -1
  343. package/src/merge-fields/counterpartField.js +8 -9
  344. package/src/merge-fields/index.js +1 -1
  345. package/src/merge-fields/mergableIndicator.js +1 -1
  346. package/src/merge-fields/mergeField.js +6 -6
  347. package/src/merge-fields/mergeIndicator.js +1 -1
  348. package/src/merge-fields/mergeOrAddPostprocess.js +4 -4
  349. package/src/merge-fields/mergeOrAddSubfield.js +2 -2
  350. package/src/merge-fields/mergeSubfield.js +4 -4
  351. package/src/merge-fields/removeDuplicateSubfields.js +2 -2
  352. package/src/{merge-fields.spec.js → merge-fields.test.js} +12 -13
  353. package/src/{mergeField500Lisapainokset.spec.js → mergeField500Lisapainokset.test.js} +12 -13
  354. package/src/mergeRelatorTermFields.js +5 -7
  355. package/src/{mergeRelatorTermFields.spec.js → mergeRelatorTermFields.test.js} +12 -13
  356. package/src/modernize-502.js +1 -1
  357. package/src/{modernize-502.spec.js → modernize-502.test.js} +12 -13
  358. package/src/multiple-subfield-0.js +3 -3
  359. package/src/{multiple-subfield-0.spec.js → multiple-subfield-0.test.js} +13 -13
  360. package/src/{non-breaking-space.spec.js → non-breaking-space.test.js} +12 -13
  361. package/src/normalize-dashes.js +2 -2
  362. package/src/{normalize-dashes.spec.js → normalize-dashes.test.js} +12 -13
  363. package/src/normalize-identifiers.js +1 -1
  364. package/src/{normalize-identifiers.spec.js → normalize-identifiers.test.js} +12 -13
  365. package/src/normalize-qualifying-information.js +2 -2
  366. package/src/{normalize-qualifying-information.spec.js → normalize-qualifying-information.test.js} +12 -13
  367. package/src/normalize-utf8-diacritics.js +2 -2
  368. package/src/{normalize-utf8-diacritics.spec.js → normalize-utf8-diacritics.test.js} +13 -13
  369. package/src/normalizeFieldForComparison.js +6 -6
  370. package/src/normalizeSubfieldValueForComparison.js +1 -1
  371. package/src/prepublicationUtils.js +4 -4
  372. package/src/punctuation/index.js +1 -1
  373. package/src/punctuation/rules/index.js +2 -2
  374. package/src/{punctuation.spec.js → punctuation.test.js} +12 -13
  375. package/src/punctuation2.js +4 -4
  376. package/src/{punctuation2.spec.js → punctuation2.test.js} +12 -13
  377. package/src/reindexSubfield6OccurenceNumbers.js +5 -7
  378. package/src/{reindexSubfield6OccurenceNumbers.spec.js → reindexSubfield6OccurenceNumbers.test.js} +12 -13
  379. package/src/removeDuplicateDataFields.js +11 -19
  380. package/src/{removeDuplicateDataFields.spec.js → removeDuplicateDataFields.test.js} +12 -13
  381. package/src/removeInferiorDataFields.js +11 -11
  382. package/src/{removeInferiorDataFields.spec.js → removeInferiorDataFields.test.js} +13 -13
  383. package/src/resolvable-ext-references-melinda.js +1 -1
  384. package/src/{resolvable-ext-references-melinda.spec.js → resolvable-ext-references-melinda.test.js} +42 -27
  385. package/src/resolveOrphanedSubfield6s.js +5 -5
  386. package/src/{resolveOrphanedSubfield6s.spec.js → resolveOrphanedSubfield6s.test.js} +13 -13
  387. package/src/sanitize-vocabulary-source-codes.js +4 -4
  388. package/src/{sanitize-vocabulary-source-codes.spec.js → sanitize-vocabulary-source-codes.test.js} +16 -14
  389. package/src/{sort-tags.spec.js → sort-tags.test.js} +9 -11
  390. package/src/sortFields.js +4 -4
  391. package/src/{sortFields.spec.js → sortFields.test.js} +12 -13
  392. package/src/sortRelatorTerms.js +3 -3
  393. package/src/{sortRelatorTerms.spec.js → sortRelatorTerms.test.js} +13 -13
  394. package/src/sortSubfields.js +1 -1
  395. package/src/{sortSubfields.spec.js → sortSubfields.test.js} +13 -13
  396. package/src/stripPunctuation.js +3 -3
  397. package/src/{stripPunctuation.spec.js → stripPunctuation.test.js} +13 -13
  398. package/src/subfield-exclusion.js +1 -1
  399. package/src/{subfield-exclusion.spec.js → subfield-exclusion.test.js} +45 -36
  400. package/src/subfield6Utils.js +6 -10
  401. package/src/subfield8Utils.js +4 -4
  402. package/src/subfieldValueNormalizations.js +3 -3
  403. package/src/{subfieldValueNormalizations.spec.js → subfieldValueNormalizations.test.js} +18 -14
  404. package/src/sync-007-and-300.js +2 -2
  405. package/src/{sync-007-and-300.spec.js → sync-007-and-300.test.js} +13 -13
  406. package/src/translate-terms.js +3 -3
  407. package/src/{translate-terms.spec.js → translate-terms.test.js} +13 -13
  408. package/src/{typeOfDate-008.spec.js → typeOfDate-008.test.js} +12 -13
  409. package/src/{unicode-decomposition.spec.js → unicode-decomposition.test.js} +10 -16
  410. package/src/update-field-540.js +2 -2
  411. package/src/{update-field-540.spec.js → update-field-540.test.js} +13 -10
  412. package/src/urn.js +2 -2
  413. package/src/{urn.spec.js → urn.test.js} +12 -13
  414. package/src/utils.js +3 -3
  415. package/test-fixtures/field-505-separators/03/expectedResult.json +3 -1
  416. package/test-fixtures/field-505-separators/03/record.json +3 -0
  417. package/test-fixtures/normalize-subfield-value/01/metadata.json +4 -1
  418. package/test-fixtures/normalize-subfield-value/01/record.json +3 -0
  419. package/test-fixtures/normalize-subfield-value/02/expectedResult.json +3 -1
  420. package/test-fixtures/normalize-subfield-value/02/metadata.json +2 -1
  421. package/test-fixtures/normalize-subfield-value/02/record.json +3 -0
  422. package/test-fixtures/sanitize-vocabulary-source-codes/f03/expectedResult.json +3 -1
  423. package/test-fixtures/sanitize-vocabulary-source-codes/f04/expectedResult.json +3 -1
  424. package/test-fixtures/sanitize-vocabulary-source-codes/v04/metadata.json +1 -4
  425. package/test-fixtures/sanitize-vocabulary-source-codes/v04/record.json +1 -1
  426. package/dist/access-rights.spec.js +0 -195
  427. package/dist/access-rights.spec.js.map +0 -1
  428. package/dist/addMissingField041.spec.js +0 -45
  429. package/dist/addMissingField041.spec.js.map +0 -1
  430. package/dist/addMissingField336.spec.js +0 -45
  431. package/dist/addMissingField336.spec.js.map +0 -1
  432. package/dist/addMissingField337.spec.js +0 -43
  433. package/dist/addMissingField337.spec.js.map +0 -1
  434. package/dist/addMissingField338.spec.js +0 -45
  435. package/dist/addMissingField338.spec.js.map +0 -1
  436. package/dist/cyrillux-usemarcon-replacement.spec.js +0 -45
  437. package/dist/cyrillux-usemarcon-replacement.spec.js.map +0 -1
  438. package/dist/cyrillux.spec.js +0 -46
  439. package/dist/cyrillux.spec.js.map +0 -1
  440. package/dist/disambiguateSeriesStatements.spec.js +0 -51
  441. package/dist/disambiguateSeriesStatements.spec.js.map +0 -1
  442. package/dist/double-commas.spec.js +0 -73
  443. package/dist/double-commas.spec.js.map +0 -1
  444. package/dist/duplicates-ind1.spec.js +0 -45
  445. package/dist/duplicates-ind1.spec.js.map +0 -1
  446. package/dist/empty-fields.spec.js +0 -118
  447. package/dist/empty-fields.spec.js.map +0 -1
  448. package/dist/ending-punctuation.spec.js +0 -2654
  449. package/dist/ending-punctuation.spec.js.map +0 -1
  450. package/dist/ending-whitespace.spec.js +0 -42
  451. package/dist/ending-whitespace.spec.js.map +0 -1
  452. package/dist/field-008-18-34-character-groups.spec.js +0 -51
  453. package/dist/field-008-18-34-character-groups.spec.js.map +0 -1
  454. package/dist/field-505-separators.spec.js +0 -51
  455. package/dist/field-505-separators.spec.js.map +0 -1
  456. package/dist/field-521-fix.spec.js +0 -51
  457. package/dist/field-521-fix.spec.js.map +0 -1
  458. package/dist/field-exclusion.spec.js +0 -1054
  459. package/dist/field-exclusion.spec.js.map +0 -1
  460. package/dist/field-structure.spec.js +0 -535
  461. package/dist/field-structure.spec.js.map +0 -1
  462. package/dist/fields-present.spec.js +0 -121
  463. package/dist/fields-present.spec.js.map +0 -1
  464. package/dist/fix-33X.spec.js +0 -45
  465. package/dist/fix-33X.spec.js.map +0 -1
  466. package/dist/fix-country-codes.spec.js +0 -51
  467. package/dist/fix-country-codes.spec.js.map +0 -1
  468. package/dist/fix-language-codes.spec.js +0 -44
  469. package/dist/fix-language-codes.spec.js.map +0 -1
  470. package/dist/fixRelatorTerms.spec.js +0 -51
  471. package/dist/fixRelatorTerms.spec.js.map +0 -1
  472. package/dist/fixed-fields.spec.js +0 -140
  473. package/dist/fixed-fields.spec.js.map +0 -1
  474. package/dist/identical-fields.spec.js +0 -99
  475. package/dist/identical-fields.spec.js.map +0 -1
  476. package/dist/indicator-fixes.spec.js +0 -51
  477. package/dist/indicator-fixes.spec.js.map +0 -1
  478. package/dist/isbn-issn.spec.js +0 -595
  479. package/dist/isbn-issn.spec.js.map +0 -1
  480. package/dist/item-language.spec.js +0 -306
  481. package/dist/item-language.spec.js.map +0 -1
  482. package/dist/melindaCustomMergeFields.json +0 -5120
  483. package/dist/merge-fields.spec.js +0 -51
  484. package/dist/merge-fields.spec.js.map +0 -1
  485. package/dist/mergeField500Lisapainokset.spec.js +0 -51
  486. package/dist/mergeField500Lisapainokset.spec.js.map +0 -1
  487. package/dist/mergeRelatorTermFields.spec.js +0 -51
  488. package/dist/mergeRelatorTermFields.spec.js.map +0 -1
  489. package/dist/modernize-502.spec.js +0 -49
  490. package/dist/modernize-502.spec.js.map +0 -1
  491. package/dist/multiple-subfield-0.spec.js +0 -51
  492. package/dist/multiple-subfield-0.spec.js.map +0 -1
  493. package/dist/non-breaking-space.spec.js +0 -42
  494. package/dist/non-breaking-space.spec.js.map +0 -1
  495. package/dist/normalize-dashes.spec.js +0 -51
  496. package/dist/normalize-dashes.spec.js.map +0 -1
  497. package/dist/normalize-identifiers.spec.js +0 -51
  498. package/dist/normalize-identifiers.spec.js.map +0 -1
  499. package/dist/normalize-qualifying-information.spec.js +0 -51
  500. package/dist/normalize-qualifying-information.spec.js.map +0 -1
  501. package/dist/normalize-utf8-diacritics.spec.js +0 -51
  502. package/dist/normalize-utf8-diacritics.spec.js.map +0 -1
  503. package/dist/punctuation.spec.js +0 -51
  504. package/dist/punctuation.spec.js.map +0 -1
  505. package/dist/punctuation2.spec.js +0 -51
  506. package/dist/punctuation2.spec.js.map +0 -1
  507. package/dist/reindexSubfield6OccurenceNumbers.spec.js +0 -51
  508. package/dist/reindexSubfield6OccurenceNumbers.spec.js.map +0 -1
  509. package/dist/removeDuplicateDataFields.spec.js +0 -51
  510. package/dist/removeDuplicateDataFields.spec.js.map +0 -1
  511. package/dist/removeInferiorDataFields.spec.js +0 -51
  512. package/dist/removeInferiorDataFields.spec.js.map +0 -1
  513. package/dist/resolvable-ext-references-melinda.spec.js +0 -166
  514. package/dist/resolvable-ext-references-melinda.spec.js.map +0 -1
  515. package/dist/resolveOrphanedSubfield6s.spec.js +0 -51
  516. package/dist/resolveOrphanedSubfield6s.spec.js.map +0 -1
  517. package/dist/sanitize-vocabulary-source-codes.spec.js +0 -51
  518. package/dist/sanitize-vocabulary-source-codes.spec.js.map +0 -1
  519. package/dist/sort-tags.spec.js +0 -207
  520. package/dist/sort-tags.spec.js.map +0 -1
  521. package/dist/sortFields.spec.js +0 -51
  522. package/dist/sortFields.spec.js.map +0 -1
  523. package/dist/sortRelatorTerms.spec.js +0 -51
  524. package/dist/sortRelatorTerms.spec.js.map +0 -1
  525. package/dist/sortSubfields.spec.js +0 -52
  526. package/dist/sortSubfields.spec.js.map +0 -1
  527. package/dist/stripPunctuation.spec.js +0 -51
  528. package/dist/stripPunctuation.spec.js.map +0 -1
  529. package/dist/subfield-exclusion.spec.js +0 -523
  530. package/dist/subfield-exclusion.spec.js.map +0 -1
  531. package/dist/subfieldValueNormalizations.spec.js +0 -51
  532. package/dist/subfieldValueNormalizations.spec.js.map +0 -1
  533. package/dist/sync-007-and-300.spec.js +0 -51
  534. package/dist/sync-007-and-300.spec.js.map +0 -1
  535. package/dist/translate-terms.spec.js +0 -51
  536. package/dist/translate-terms.spec.js.map +0 -1
  537. package/dist/typeOfDate-008.spec.js +0 -47
  538. package/dist/typeOfDate-008.spec.js.map +0 -1
  539. package/dist/unicode-decomposition.spec.js +0 -91
  540. package/dist/unicode-decomposition.spec.js.map +0 -1
  541. package/dist/update-field-540.spec.js +0 -51
  542. package/dist/update-field-540.spec.js.map +0 -1
  543. package/dist/urn.spec.js +0 -52
  544. package/dist/urn.spec.js.map +0 -1
  545. package/src/cyrillux-usemarcon-replacement.spec.js +0 -47
@@ -1,529 +1,145 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.field338Mappings = exports.field337Mappings = exports.field336Mappings = void 0;
7
- exports.getFormOfItem = getFormOfItem;
8
- exports.getFormOfItemPosition = getFormOfItemPosition;
9
- exports.getTitleMedium = getTitleMedium;
10
- exports.map336CodeToTerm = map336CodeToTerm;
11
- exports.map337CodeToTerm = map337CodeToTerm;
12
- exports.map338CodeToTerm = map338CodeToTerm;
13
- const field336Mappings = exports.field336Mappings = [{
14
- 'code': 'crd',
15
- 'fin': 'kartografinen data',
16
- 'swe': 'kartografisk data',
17
- 'eng': 'cartographic dataset'
18
- }, {
19
- 'code': 'cri',
20
- 'fin': 'kartografinen kuva',
21
- 'swe': 'kartografisk bild',
22
- 'eng': 'cartographic image'
23
- }, {
24
- 'code': 'crm',
25
- 'fin': 'kartografinen liikkuva kuva',
26
- 'swe': 'kartografisk rörlig bild',
27
- 'eng': 'cartographic moving image'
28
- }, {
29
- 'code': 'crt',
30
- 'fin': 'kartografinen taktiili kuva',
31
- 'swe': 'kartografisk taktil bild',
32
- 'eng': 'cartographic tactile image'
33
- }, {
34
- 'code': 'crn',
35
- 'fin': 'kartografinen taktiili kolmiulotteinen muoto',
36
- 'swe': 'kartografisk taktil tredimensionell form',
37
- 'eng': 'cartographic tactile three-dimensional form'
38
- }, {
39
- 'code': 'crf',
40
- 'fin': 'kartografinen kolmiulotteinen muoto',
41
- 'swe': 'kartografisk tredimensionell form',
42
- 'eng': 'cartographic three-dimensional form'
43
- }, {
44
- 'code': 'cod',
45
- 'fin': 'digitaalinen data',
46
- 'swe': 'digitalt dataset',
47
- 'eng': 'computer dataset'
48
- }, {
49
- 'code': 'cop',
50
- 'fin': 'tietokoneohjelma',
51
- 'swe': 'datorprogram',
52
- 'eng': 'computer program'
53
- }, {
54
- 'code': 'ntv',
55
- 'fin': 'liikenotaatio',
56
- 'swe': 'rörelsenotation',
57
- 'eng': 'notated movement'
58
- }, {
59
- 'code': 'ntm',
60
- 'fin': 'nuottikirjoitus',
61
- 'swe': 'noterad musik',
62
- 'eng': 'notated music'
63
- }, {
64
- 'code': 'prm',
65
- 'fin': 'esitetty musiikki',
66
- 'swe': 'framförd musik',
67
- 'eng': 'performed music'
68
- }, {
69
- 'code': 'snd',
70
- 'fin': 'ääni',
71
- 'swe': 'ljud',
72
- 'eng': 'sounds',
73
- 'ger': 'Geräusche'
74
- }, {
75
- 'code': 'spw',
76
- 'fin': 'puhe',
77
- 'swe': 'tal',
78
- 'eng': 'spoken word',
79
- 'ger': 'gesprochenes Wort'
80
- }, {
81
- 'code': 'sti',
82
- 'fin': 'stillkuva',
83
- 'swe': 'stillbild',
84
- 'eng': 'still image',
85
- 'ger': 'unbewegtes Bild'
86
- }, {
87
- 'code': 'tci',
88
- 'fin': 'taktiili kuva',
89
- 'swe': 'taktil bild',
90
- 'eng': 'tactile image'
91
- }, {
92
- 'code': 'tcm',
93
- 'fin': 'taktiili nuottikirjoitus',
94
- 'swe': 'taktil musiknotation',
95
- 'eng': 'tactile notated music'
96
- }, {
97
- 'code': 'tcn',
98
- 'fin': 'taktiili liikenotaatio',
99
- 'swe': 'taktil noterad rörelse',
100
- 'eng': 'tactile notated movement'
101
- }, {
102
- 'code': 'tct',
103
- 'fin': 'taktiili teksti',
104
- 'swe': 'taktil text',
105
- 'eng': 'tactile text',
106
- 'fre': 'texte tactile'
107
- }, {
108
- 'code': 'tcf',
109
- 'fin': 'taktiili kolmiulotteinen muoto',
110
- 'swe': 'taktil tredimensionell form',
111
- 'eng': 'tactile three-dimensional form'
112
- }, {
113
- 'code': 'txt',
114
- 'fin': 'teksti',
115
- 'swe': 'text',
116
- 'eng': 'text',
117
- 'ger': 'Text',
118
- 'fre': 'texte'
119
- }, {
120
- 'code': 'tdf',
121
- 'fin': 'kolmiulotteinen muoto',
122
- 'swe': 'tredimensionell form',
123
- 'eng': 'three-dimensional form'
124
- }, {
125
- 'code': 'tdm',
126
- 'fin': 'kolmiulotteinen liikkuva kuva',
127
- 'swe': 'tredimensionell rörlig bild',
128
- 'eng': 'three-dimensional moving image'
129
- }, {
130
- 'code': 'tdi',
131
- 'fin': 'kaksiulotteinen liikkuva kuva',
132
- 'swe': 'tvådimensionell rörlig bild',
133
- 'eng': 'two-dimensional moving image'
134
- }, {
135
- 'code': 'xxx',
136
- 'fin': 'muu',
137
- 'swe': 'annan',
138
- 'eng': 'other'
139
- }, {
140
- 'code': 'zzz',
141
- 'fin': 'määrittelemätön',
142
- 'swe': 'ospecificerad',
143
- 'eng': 'unspecified'
144
- }];
145
- const field337Mappings = exports.field337Mappings = [{
146
- 'code': 's',
147
- 'fin': 'audio',
148
- 'swe': 'audio',
149
- 'eng': 'audio'
150
- }, {
151
- 'code': 'c',
152
- 'fin': 'tietokonekäyttöinen',
153
- 'swe': 'dator',
154
- 'eng': 'computer'
155
- }, {
156
- 'code': 'h',
157
- 'fin': 'mikromuoto',
158
- 'swe': 'mikroform',
159
- 'eng': 'microform'
160
- }, {
161
- 'code': 'p',
162
- 'fin': 'mikroskooppinen',
163
- 'swe': 'mikroskopisk',
164
- 'eng': 'microscopic'
165
- }, {
166
- 'code': 'g',
167
- 'fin': 'heijastettava',
168
- 'swe': 'projicerad',
169
- 'eng': 'projected'
170
- }, {
171
- 'code': 'e',
172
- 'fin': 'stereografinen',
173
- 'swe': 'stereografisk',
174
- 'eng': 'stereographic'
175
- }, {
176
- 'code': 'n',
177
- 'fin': 'käytettävissä ilman laitetta',
178
- 'swe': 'omedierad',
179
- 'eng': 'unmediated'
180
- }, {
181
- 'code': 'v',
182
- 'fin': 'video',
183
- 'swe': 'video',
184
- 'eng': 'video'
185
- }, {
186
- 'code': 'x',
187
- 'fin': 'muu',
188
- 'swe': 'annan',
189
- 'eng': 'other'
190
- }, {
191
- 'code': 'z',
192
- 'fin': 'määrittelemätön',
193
- 'swe': 'ospecificerad',
194
- 'eng': 'unspecified'
195
- }];
196
- const field338Mappings = exports.field338Mappings = [{
197
- 'code': 'ca',
198
- 'fin': 'tietonauhan silmukkakasetti',
199
- 'swe': 'datorbandmagasin',
200
- 'eng': 'computer tape cartridge'
201
- }, {
202
- 'code': 'cb',
203
- 'fin': 'piirikotelo',
204
- 'swe': 'datorminnesmodul',
205
- 'eng': 'computer cartridge'
206
- }, {
207
- 'code': 'cd',
208
- 'fin': 'tietolevy',
209
- 'swe': 'datorskiva',
210
- 'eng': 'computer disc'
211
- }, {
212
- 'code': 'ce',
213
- 'fin': 'tietolevykotelo',
214
- 'swe': 'datorskivmagasin',
215
- 'eng': 'computer disc cartridge'
216
- }, {
217
- 'code': 'cf',
218
- 'fin': 'tietokasetti',
219
- 'swe': 'datorkassett',
220
- 'eng': 'computer tape cassette'
221
- }, {
222
- 'code': 'ch',
223
- 'fin': 'tietonauhakela',
224
- 'swe': 'datorbandspole',
225
- 'eng': 'computer tape reel'
226
- }, {
227
- 'code': 'ck',
228
- 'fin': 'muistikortti',
229
- 'swe': 'datorkort',
230
- 'eng': 'computer card'
231
- }, {
232
- 'code': 'cr',
233
- 'fin': 'verkkoaineisto',
234
- 'swe': 'onlineresurs',
235
- 'eng': 'online resource'
236
- }, {
237
- 'code': 'cz',
238
- 'fin': 'muu',
239
- 'swe': 'annan',
240
- 'eng': 'other'
241
- }, {
242
- 'code': 'eh',
243
- 'fin': 'stereografinen kortti',
244
- 'swe': 'stereografiskt kort',
245
- 'eng': 'stereograph card'
246
- }, {
247
- 'code': 'es',
248
- 'fin': 'stereografinen levy',
249
- 'swe': 'stereografisk skiva',
250
- 'eng': 'stereograph disc'
251
- }, {
252
- 'code': 'ez',
253
- 'fin': 'muu',
254
- 'swe': 'annan',
255
- 'eng': 'other'
256
- }, {
257
- 'code': 'gc',
258
- 'fin': 'rainakasetti',
259
- 'swe': 'bildbandsmagasin',
260
- 'eng': 'filmstrip cartridge'
261
- }, {
262
- 'code': 'gd',
263
- 'fin': 'filmiliuska',
264
- 'swe': 'filmremsa',
265
- 'eng': 'filmslip'
266
- }, {
267
- 'code': 'gf',
268
- 'fin': 'raina',
269
- 'swe': 'bildband',
270
- 'eng': 'filmstrip'
271
- }, {
272
- 'code': 'gs',
273
- 'fin': 'dia',
274
- 'swe': 'diabild',
275
- 'eng': 'slide'
276
- }, {
277
- 'code': 'gt',
278
- 'fin': 'piirtoheitinkalvo',
279
- 'swe': 'transparang',
280
- 'eng': 'overhead transparency'
281
- }, {
282
- 'code': 'ha',
283
- 'fin': 'ikkunakortti',
284
- 'swe': 'fönsterkort',
285
- 'eng': 'aperture card'
286
- }, {
287
- 'code': 'hb',
288
- 'fin': 'mikrofilmisilmukkakasetti',
289
- 'swe': 'mikrofilmsmagasin',
290
- 'eng': 'microfilm cartridge'
291
- }, {
292
- 'code': 'hc',
293
- 'fin': 'mikrofilmikasetti',
294
- 'swe': 'mikrofilmskassett',
295
- 'eng': 'microfilm cassette'
296
- }, {
297
- 'code': 'hd',
298
- 'fin': 'mikrofilmikela',
299
- 'swe': 'mikrofilmsspole',
300
- 'eng': 'microfilm reel'
301
- }, {
302
- 'code': 'he',
303
- 'fin': 'mikrokortti',
304
- 'swe': 'mikrofiche',
305
- 'eng': 'microfiche'
306
- }, {
307
- 'code': 'hf',
308
- 'fin': 'mikrokorttikasetti',
309
- 'swe': 'mikrofichekassett',
310
- 'eng': 'microfiche cassette'
311
- }, {
312
- 'code': 'hg',
313
- 'fin': 'mikrokortti (läpinäkymätön)',
314
- 'swe': 'mikrofiche (ogenomskinlig)',
315
- 'eng': 'microopaque'
316
- }, {
317
- 'code': 'hh',
318
- 'fin': 'mikrofilmiliuska',
319
- 'swe': 'mikrofilmsremsa',
320
- 'eng': 'microfilm slip'
321
- }, {
322
- 'code': 'hj',
323
- 'fin': 'mikrofilmirulla',
324
- 'swe': 'mikrofilmsrulle',
325
- 'eng': 'microfilm roll'
326
- }, {
327
- 'code': 'hz',
328
- 'fin': 'muu',
329
- 'swe': 'annan',
330
- 'eng': 'other'
331
- }, {
332
- 'code': 'mc',
333
- 'fin': 'filmisilmukkakasetti',
334
- 'swe': 'filmmagasin',
335
- 'eng': 'film cartridge'
336
- }, {
337
- 'code': 'mf',
338
- 'fin': 'filmikasetti',
339
- 'swe': 'filmkassett',
340
- 'eng': 'film cassette'
341
- }, {
342
- 'code': 'mo',
343
- 'fin': 'filmirulla',
344
- 'swe': 'filmrulle',
345
- 'eng': 'film roll'
346
- }, {
347
- 'code': 'mr',
348
- 'fin': 'filmikela',
349
- 'swe': 'filmspole',
350
- 'eng': 'film reel'
351
- }, {
352
- 'code': 'mz',
353
- 'fin': 'muu',
354
- 'swe': 'annan',
355
- 'eng': 'other'
356
- }, {
357
- 'code': 'na',
358
- 'fin': 'rulla',
359
- 'swe': 'rulle',
360
- 'eng': 'roll'
361
- }, {
362
- 'code': 'nb',
363
- 'fin': 'arkki',
364
- 'swe': 'ark',
365
- 'eng': 'sheet'
366
- }, {
367
- 'code': 'nc',
368
- 'fin': 'nide',
369
- 'swe': 'volym',
370
- 'eng': 'volume'
371
- }, {
372
- 'code': 'nn',
373
- 'fin': 'lehtiötaulu',
374
- 'swe': 'blädderblock',
375
- 'eng': 'flipchart'
376
- }, {
377
- 'code': 'no',
378
- 'fin': 'kortti',
379
- 'swe': 'kort',
380
- 'eng': 'card'
381
- }, {
382
- 'code': 'nr',
383
- 'fin': 'objekti',
384
- 'swe': 'föremål',
385
- 'eng': 'object'
386
- }, {
387
- 'code': 'nz',
388
- 'fin': 'muu',
389
- 'swe': 'annan',
390
- 'eng': 'other'
391
- }, {
392
- 'code': 'pp',
393
- 'fin': 'preparaattilasi',
394
- 'swe': 'mikroskoperingspreparat',
395
- 'eng': 'microscope slide'
396
- }, {
397
- 'code': 'pz',
398
- 'fin': 'muu',
399
- 'swe': 'annan',
400
- 'eng': 'other'
401
- }, {
402
- 'code': 'sb',
403
- 'fin': 'äänihihna',
404
- 'swe': 'ljudslinga',
405
- 'eng': 'audio belt'
406
- }, {
407
- 'code': 'sd',
408
- 'fin': 'äänilevy',
409
- 'swe': 'ljudskiva',
410
- 'eng': 'audio disc'
411
- }, {
412
- 'code': 'se',
413
- 'fin': 'äänisylinteri',
414
- 'swe': 'ljudcylinder',
415
- 'eng': 'audio cylinder'
416
- }, {
417
- 'code': 'sg',
418
- 'fin': 'äänisilmukkakasetti',
419
- 'swe': 'ljudmagasin',
420
- 'eng': 'audio cartridge'
421
- }, {
422
- 'code': 'si',
423
- 'fin': 'ääniraitakela',
424
- 'swe': 'filmljudspole',
425
- 'eng': 'sound-track reel'
426
- }, {
427
- 'code': 'sq',
428
- 'fin': 'äänirulla',
429
- 'swe': 'ljudrulle',
430
- 'eng': 'audio roll'
431
- }, {
432
- 'code': 'ss',
433
- 'fin': 'äänikasetti',
434
- 'swe': 'ljudkassett',
435
- 'eng': 'audiocassette'
436
- }, {
437
- 'code': 'st',
438
- 'fin': 'äänikela',
439
- 'swe': 'ljudspole',
440
- 'eng': 'audiotape reel'
441
- }, {
442
- 'code': 'sw',
443
- 'fin': 'äänilankakela',
444
- 'swe': 'ljudtråd',
445
- 'eng': 'audio wire reel'
446
- }, {
447
- 'code': 'sz',
448
- 'fin': 'muu',
449
- 'swe': 'annan',
450
- 'eng': 'other'
451
- }, {
452
- 'code': 'vc',
453
- 'fin': 'videosilmukkakasetti',
454
- 'swe': 'videomagasin',
455
- 'eng': 'video cartridge'
456
- }, {
457
- 'code': 'vd',
458
- 'fin': 'videolevy',
459
- 'swe': 'videoskiva',
460
- 'eng': 'videodisc'
461
- }, {
462
- 'code': 'vf',
463
- 'fin': 'videokasetti',
464
- 'swe': 'videokassett',
465
- 'eng': 'videocassette'
466
- }, {
467
- 'code': 'vr',
468
- 'fin': 'videokela',
469
- 'swe': 'videospole',
470
- 'eng': 'videotape reel'
471
- }, {
472
- 'code': 'vz',
473
- 'fin': 'muu',
474
- 'swe': 'annan',
475
- 'eng': 'other'
476
- }, {
477
- 'code': 'zu',
478
- 'fin': 'määrittelemätön',
479
- 'swe': 'ospecificerad',
480
- 'eng': 'unspecified'
481
- }];
482
- function map33XCodeToTerm(mapping, catLang = 'fin') {
1
+ export const field336Mappings = [
2
+ { "code": "crd", "fin": "kartografinen data", "swe": "kartografisk data", "eng": "cartographic dataset" },
3
+ { "code": "cri", "fin": "kartografinen kuva", "swe": "kartografisk bild", "eng": "cartographic image" },
4
+ { "code": "crm", "fin": "kartografinen liikkuva kuva", "swe": "kartografisk r\xF6rlig bild", "eng": "cartographic moving image" },
5
+ { "code": "crt", "fin": "kartografinen taktiili kuva", "swe": "kartografisk taktil bild", "eng": "cartographic tactile image" },
6
+ { "code": "crn", "fin": "kartografinen taktiili kolmiulotteinen muoto", "swe": "kartografisk taktil tredimensionell form", "eng": "cartographic tactile three-dimensional form" },
7
+ { "code": "crf", "fin": "kartografinen kolmiulotteinen muoto", "swe": "kartografisk tredimensionell form", "eng": "cartographic three-dimensional form" },
8
+ { "code": "cod", "fin": "digitaalinen data", "swe": "digitalt dataset", "eng": "computer dataset" },
9
+ { "code": "cop", "fin": "tietokoneohjelma", "swe": "datorprogram", "eng": "computer program" },
10
+ { "code": "ntv", "fin": "liikenotaatio", "swe": "r\xF6relsenotation", "eng": "notated movement" },
11
+ { "code": "ntm", "fin": "nuottikirjoitus", "swe": "noterad musik", "eng": "notated music" },
12
+ { "code": "prm", "fin": "esitetty musiikki", "swe": "framf\xF6rd musik", "eng": "performed music" },
13
+ { "code": "snd", "fin": "\xE4\xE4ni", "swe": "ljud", "eng": "sounds", "ger": "Ger\xE4usche" },
14
+ { "code": "spw", "fin": "puhe", "swe": "tal", "eng": "spoken word", "ger": "gesprochenes Wort" },
15
+ { "code": "sti", "fin": "stillkuva", "swe": "stillbild", "eng": "still image", "ger": "unbewegtes Bild" },
16
+ { "code": "tci", "fin": "taktiili kuva", "swe": "taktil bild", "eng": "tactile image" },
17
+ { "code": "tcm", "fin": "taktiili nuottikirjoitus", "swe": "taktil musiknotation", "eng": "tactile notated music" },
18
+ { "code": "tcn", "fin": "taktiili liikenotaatio", "swe": "taktil noterad r\xF6relse", "eng": "tactile notated movement" },
19
+ { "code": "tct", "fin": "taktiili teksti", "swe": "taktil text", "eng": "tactile text", "fre": "texte tactile" },
20
+ { "code": "tcf", "fin": "taktiili kolmiulotteinen muoto", "swe": "taktil tredimensionell form", "eng": "tactile three-dimensional form" },
21
+ { "code": "txt", "fin": "teksti", "swe": "text", "eng": "text", "ger": "Text", "fre": "texte" },
22
+ { "code": "tdf", "fin": "kolmiulotteinen muoto", "swe": "tredimensionell form", "eng": "three-dimensional form" },
23
+ { "code": "tdm", "fin": "kolmiulotteinen liikkuva kuva", "swe": "tredimensionell r\xF6rlig bild", "eng": "three-dimensional moving image" },
24
+ { "code": "tdi", "fin": "kaksiulotteinen liikkuva kuva", "swe": "tv\xE5dimensionell r\xF6rlig bild", "eng": "two-dimensional moving image" },
25
+ { "code": "xxx", "fin": "muu", "swe": "annan", "eng": "other" },
26
+ { "code": "zzz", "fin": "m\xE4\xE4rittelem\xE4t\xF6n", "swe": "ospecificerad", "eng": "unspecified" }
27
+ ];
28
+ export const field337Mappings = [
29
+ { "code": "s", "fin": "audio", "swe": "audio", "eng": "audio" },
30
+ { "code": "c", "fin": "tietokonek\xE4ytt\xF6inen", "swe": "dator", "eng": "computer" },
31
+ { "code": "h", "fin": "mikromuoto", "swe": "mikroform", "eng": "microform" },
32
+ { "code": "p", "fin": "mikroskooppinen", "swe": "mikroskopisk", "eng": "microscopic" },
33
+ { "code": "g", "fin": "heijastettava", "swe": "projicerad", "eng": "projected" },
34
+ { "code": "e", "fin": "stereografinen", "swe": "stereografisk", "eng": "stereographic" },
35
+ { "code": "n", "fin": "k\xE4ytett\xE4viss\xE4 ilman laitetta", "swe": "omedierad", "eng": "unmediated" },
36
+ { "code": "v", "fin": "video", "swe": "video", "eng": "video" },
37
+ { "code": "x", "fin": "muu", "swe": "annan", "eng": "other" },
38
+ { "code": "z", "fin": "m\xE4\xE4rittelem\xE4t\xF6n", "swe": "ospecificerad", "eng": "unspecified" }
39
+ ];
40
+ export const field338Mappings = [
41
+ { "code": "ca", "fin": "tietonauhan silmukkakasetti", "swe": "datorbandmagasin", "eng": "computer tape cartridge" },
42
+ { "code": "cb", "fin": "piirikotelo", "swe": "datorminnesmodul", "eng": "computer cartridge" },
43
+ { "code": "cd", "fin": "tietolevy", "swe": "datorskiva", "eng": "computer disc" },
44
+ { "code": "ce", "fin": "tietolevykotelo", "swe": "datorskivmagasin", "eng": "computer disc cartridge" },
45
+ { "code": "cf", "fin": "tietokasetti", "swe": "datorkassett", "eng": "computer tape cassette" },
46
+ { "code": "ch", "fin": "tietonauhakela", "swe": "datorbandspole", "eng": "computer tape reel" },
47
+ { "code": "ck", "fin": "muistikortti", "swe": "datorkort", "eng": "computer card" },
48
+ { "code": "cr", "fin": "verkkoaineisto", "swe": "onlineresurs", "eng": "online resource" },
49
+ { "code": "cz", "fin": "muu", "swe": "annan", "eng": "other" },
50
+ { "code": "eh", "fin": "stereografinen kortti", "swe": "stereografiskt kort", "eng": "stereograph card" },
51
+ { "code": "es", "fin": "stereografinen levy", "swe": "stereografisk skiva", "eng": "stereograph disc" },
52
+ { "code": "ez", "fin": "muu", "swe": "annan", "eng": "other" },
53
+ { "code": "gc", "fin": "rainakasetti", "swe": "bildbandsmagasin", "eng": "filmstrip cartridge" },
54
+ { "code": "gd", "fin": "filmiliuska", "swe": "filmremsa", "eng": "filmslip" },
55
+ { "code": "gf", "fin": "raina", "swe": "bildband", "eng": "filmstrip" },
56
+ { "code": "gs", "fin": "dia", "swe": "diabild", "eng": "slide" },
57
+ { "code": "gt", "fin": "piirtoheitinkalvo", "swe": "transparang", "eng": "overhead transparency" },
58
+ { "code": "ha", "fin": "ikkunakortti", "swe": "f\xF6nsterkort", "eng": "aperture card" },
59
+ { "code": "hb", "fin": "mikrofilmisilmukkakasetti", "swe": "mikrofilmsmagasin", "eng": "microfilm cartridge" },
60
+ { "code": "hc", "fin": "mikrofilmikasetti", "swe": "mikrofilmskassett", "eng": "microfilm cassette" },
61
+ { "code": "hd", "fin": "mikrofilmikela", "swe": "mikrofilmsspole", "eng": "microfilm reel" },
62
+ { "code": "he", "fin": "mikrokortti", "swe": "mikrofiche", "eng": "microfiche" },
63
+ { "code": "hf", "fin": "mikrokorttikasetti", "swe": "mikrofichekassett", "eng": "microfiche cassette" },
64
+ { "code": "hg", "fin": "mikrokortti (l\xE4pin\xE4kym\xE4t\xF6n)", "swe": "mikrofiche (ogenomskinlig)", "eng": "microopaque" },
65
+ { "code": "hh", "fin": "mikrofilmiliuska", "swe": "mikrofilmsremsa", "eng": "microfilm slip" },
66
+ { "code": "hj", "fin": "mikrofilmirulla", "swe": "mikrofilmsrulle", "eng": "microfilm roll" },
67
+ { "code": "hz", "fin": "muu", "swe": "annan", "eng": "other" },
68
+ { "code": "mc", "fin": "filmisilmukkakasetti", "swe": "filmmagasin", "eng": "film cartridge" },
69
+ { "code": "mf", "fin": "filmikasetti", "swe": "filmkassett", "eng": "film cassette" },
70
+ { "code": "mo", "fin": "filmirulla", "swe": "filmrulle", "eng": "film roll" },
71
+ { "code": "mr", "fin": "filmikela", "swe": "filmspole", "eng": "film reel" },
72
+ { "code": "mz", "fin": "muu", "swe": "annan", "eng": "other" },
73
+ { "code": "na", "fin": "rulla", "swe": "rulle", "eng": "roll" },
74
+ { "code": "nb", "fin": "arkki", "swe": "ark", "eng": "sheet" },
75
+ { "code": "nc", "fin": "nide", "swe": "volym", "eng": "volume" },
76
+ { "code": "nn", "fin": "lehti\xF6taulu", "swe": "bl\xE4dderblock", "eng": "flipchart" },
77
+ { "code": "no", "fin": "kortti", "swe": "kort", "eng": "card" },
78
+ { "code": "nr", "fin": "objekti", "swe": "f\xF6rem\xE5l", "eng": "object" },
79
+ { "code": "nz", "fin": "muu", "swe": "annan", "eng": "other" },
80
+ { "code": "pp", "fin": "preparaattilasi", "swe": "mikroskoperingspreparat", "eng": "microscope slide" },
81
+ { "code": "pz", "fin": "muu", "swe": "annan", "eng": "other" },
82
+ { "code": "sb", "fin": "\xE4\xE4nihihna", "swe": "ljudslinga", "eng": "audio belt" },
83
+ { "code": "sd", "fin": "\xE4\xE4nilevy", "swe": "ljudskiva", "eng": "audio disc" },
84
+ { "code": "se", "fin": "\xE4\xE4nisylinteri", "swe": "ljudcylinder", "eng": "audio cylinder" },
85
+ { "code": "sg", "fin": "\xE4\xE4nisilmukkakasetti", "swe": "ljudmagasin", "eng": "audio cartridge" },
86
+ { "code": "si", "fin": "\xE4\xE4niraitakela", "swe": "filmljudspole", "eng": "sound-track reel" },
87
+ { "code": "sq", "fin": "\xE4\xE4nirulla", "swe": "ljudrulle", "eng": "audio roll" },
88
+ { "code": "ss", "fin": "\xE4\xE4nikasetti", "swe": "ljudkassett", "eng": "audiocassette" },
89
+ { "code": "st", "fin": "\xE4\xE4nikela", "swe": "ljudspole", "eng": "audiotape reel" },
90
+ { "code": "sw", "fin": "\xE4\xE4nilankakela", "swe": "ljudtr\xE5d", "eng": "audio wire reel" },
91
+ { "code": "sz", "fin": "muu", "swe": "annan", "eng": "other" },
92
+ { "code": "vc", "fin": "videosilmukkakasetti", "swe": "videomagasin", "eng": "video cartridge" },
93
+ { "code": "vd", "fin": "videolevy", "swe": "videoskiva", "eng": "videodisc" },
94
+ { "code": "vf", "fin": "videokasetti", "swe": "videokassett", "eng": "videocassette" },
95
+ { "code": "vr", "fin": "videokela", "swe": "videospole", "eng": "videotape reel" },
96
+ { "code": "vz", "fin": "muu", "swe": "annan", "eng": "other" },
97
+ { "code": "zu", "fin": "m\xE4\xE4rittelem\xE4t\xF6n", "swe": "ospecificerad", "eng": "unspecified" }
98
+ ];
99
+ function map33XCodeToTerm(mapping, catLang = "fin") {
483
100
  if (!mapping) {
484
- return undefined;
101
+ return void 0;
485
102
  }
486
103
  if (catLang in mapping) {
487
104
  return mapping[catLang];
488
105
  }
489
- if ('fin' in mapping) {
490
- return mapping.fin; // Default to Finnish (which should be complete, knock-knock)
106
+ if ("fin" in mapping) {
107
+ return mapping.fin;
491
108
  }
492
- return undefined;
109
+ return void 0;
493
110
  }
494
- function map336CodeToTerm(code, catLang = 'fin') {
495
- const [mapping] = field336Mappings.filter(m => m.code === code);
111
+ export function map336CodeToTerm(code, catLang = "fin") {
112
+ const [mapping] = field336Mappings.filter((m) => m.code === code);
496
113
  return map33XCodeToTerm(mapping, catLang);
497
114
  }
498
- function map337CodeToTerm(code, catLang = 'fin') {
499
- const [mapping] = field337Mappings.filter(m => m.code === code);
115
+ export function map337CodeToTerm(code, catLang = "fin") {
116
+ const [mapping] = field337Mappings.filter((m) => m.code === code);
500
117
  return map33XCodeToTerm(mapping, catLang);
501
118
  }
502
- function map338CodeToTerm(code, catLang = 'fin') {
503
- const [mapping] = field338Mappings.filter(m => m.code === code);
119
+ export function map338CodeToTerm(code, catLang = "fin") {
120
+ const [mapping] = field338Mappings.filter((m) => m.code === code);
504
121
  return map33XCodeToTerm(mapping, catLang);
505
122
  }
506
- function getFormOfItem(record) {
507
- const [f008Value] = record.get('008').map(field => field.value);
123
+ export function getFormOfItem(record) {
124
+ const [f008Value] = record.get("008").map((field) => field.value);
508
125
  if (f008Value && f008Value.length === 40) {
509
126
  const pos = getFormOfItemPosition(record);
510
127
  return f008Value[pos];
511
128
  }
512
- return '|';
129
+ return "|";
513
130
  }
514
- function getFormOfItemPosition(record) {
131
+ export function getFormOfItemPosition(record) {
515
132
  if (record.isMP() || record.isVM()) {
516
133
  return 29;
517
134
  }
518
135
  return 23;
519
136
  }
520
- function getTitleMedium(record) {
521
- // Get 245$h. Very old and deprecated practise...
522
- const [f245] = record.get('245');
137
+ export function getTitleMedium(record) {
138
+ const [f245] = record.get("245");
523
139
  if (!f245) {
524
- return undefined;
140
+ return void 0;
525
141
  }
526
- const [h] = f245.subfields.filter(sf => sf.code === 'h');
527
- return h ? h.value : undefined;
142
+ const [h] = f245.subfields.filter((sf) => sf.code === "h");
143
+ return h ? h.value : void 0;
528
144
  }
529
- //# sourceMappingURL=field33XUtils.js.map
145
+ //# sourceMappingURL=field33XUtils.js.map