@natlibfi/marc-record-validators-melinda 11.6.7 → 12.0.0-alpha.12

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 (563) hide show
  1. package/.github/workflows/{melinda-node-tests.yml → melinda-node-tests-and-publish.yml} +37 -12
  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 +43 -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 +873 -769
  47. package/dist/ending-punctuation-conf.js.map +7 -1
  48. package/dist/ending-punctuation.js +156 -169
  49. package/dist/ending-punctuation.js.map +7 -1
  50. package/dist/ending-punctuation.test.js +2385 -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 +182 -413
  107. package/dist/index.js.map +7 -1
  108. package/dist/indicator-fixes.js +66 -94
  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 +71 -128
  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 +187 -379
  125. package/dist/merge-fields/counterpartField.js.map +7 -1
  126. package/dist/merge-fields/dataProvenance.js +29 -0
  127. package/dist/merge-fields/dataProvenance.js.map +7 -0
  128. package/dist/merge-fields/index.js +25 -50
  129. package/dist/merge-fields/index.js.map +7 -1
  130. package/dist/merge-fields/mergableIndicator.js +18 -51
  131. package/dist/merge-fields/mergableIndicator.js.map +7 -1
  132. package/dist/merge-fields/mergableTag.js +78 -30
  133. package/dist/merge-fields/mergableTag.js.map +7 -1
  134. package/dist/merge-fields/mergeConfig.js +66 -171
  135. package/dist/merge-fields/mergeConfig.js.map +7 -1
  136. package/dist/merge-fields/mergeConstraints.js +323 -1214
  137. package/dist/merge-fields/mergeConstraints.js.map +7 -1
  138. package/dist/merge-fields/mergeField.js +47 -111
  139. package/dist/merge-fields/mergeField.js.map +7 -1
  140. package/dist/merge-fields/mergeIndicator.js +64 -118
  141. package/dist/merge-fields/mergeIndicator.js.map +7 -1
  142. package/dist/merge-fields/mergeOrAddPostprocess.js +14 -38
  143. package/dist/merge-fields/mergeOrAddPostprocess.js.map +7 -1
  144. package/dist/merge-fields/mergeOrAddSubfield.js +62 -104
  145. package/dist/merge-fields/mergeOrAddSubfield.js.map +7 -1
  146. package/dist/merge-fields/mergeSubfield.js +47 -95
  147. package/dist/merge-fields/mergeSubfield.js.map +7 -1
  148. package/dist/merge-fields/removeDuplicateSubfields.js +18 -31
  149. package/dist/merge-fields/removeDuplicateSubfields.js.map +7 -1
  150. package/dist/merge-fields/worldKnowledge.js +15 -40
  151. package/dist/merge-fields/worldKnowledge.js.map +7 -1
  152. package/dist/merge-fields.test.js +46 -0
  153. package/dist/merge-fields.test.js.map +7 -0
  154. package/dist/mergeField500Lisapainokset.js +27 -56
  155. package/dist/mergeField500Lisapainokset.js.map +7 -1
  156. package/dist/mergeField500Lisapainokset.test.js +44 -0
  157. package/dist/mergeField500Lisapainokset.test.js.map +7 -0
  158. package/dist/mergeRelatorTermFields.js +33 -69
  159. package/dist/mergeRelatorTermFields.js.map +7 -1
  160. package/dist/mergeRelatorTermFields.test.js +44 -0
  161. package/dist/mergeRelatorTermFields.test.js.map +7 -0
  162. package/dist/modernize-502.js +23 -55
  163. package/dist/modernize-502.js.map +7 -1
  164. package/dist/modernize-502.test.js +38 -0
  165. package/dist/modernize-502.test.js.map +7 -0
  166. package/dist/multiple-subfield-0.js +23 -48
  167. package/dist/multiple-subfield-0.js.map +7 -1
  168. package/dist/multiple-subfield-0.test.js +44 -0
  169. package/dist/multiple-subfield-0.test.js.map +7 -0
  170. package/dist/non-breaking-space.js +11 -32
  171. package/dist/non-breaking-space.js.map +7 -1
  172. package/dist/non-breaking-space.test.js +38 -0
  173. package/dist/non-breaking-space.test.js.map +7 -0
  174. package/dist/normalize-dashes.js +18 -37
  175. package/dist/normalize-dashes.js.map +7 -1
  176. package/dist/normalize-dashes.test.js +44 -0
  177. package/dist/normalize-dashes.test.js.map +7 -0
  178. package/dist/normalize-identifiers.js +54 -140
  179. package/dist/normalize-identifiers.js.map +7 -1
  180. package/dist/normalize-identifiers.test.js +44 -0
  181. package/dist/normalize-identifiers.test.js.map +7 -0
  182. package/dist/normalize-qualifying-information.js +23 -48
  183. package/dist/normalize-qualifying-information.js.map +7 -1
  184. package/dist/normalize-qualifying-information.test.js +44 -0
  185. package/dist/normalize-qualifying-information.test.js.map +7 -0
  186. package/dist/normalize-utf8-diacritics.js +19 -105
  187. package/dist/normalize-utf8-diacritics.js.map +7 -1
  188. package/dist/normalize-utf8-diacritics.test.js +44 -0
  189. package/dist/normalize-utf8-diacritics.test.js.map +7 -0
  190. package/dist/normalizeFieldForComparison.js +91 -158
  191. package/dist/normalizeFieldForComparison.js.map +7 -1
  192. package/dist/normalizeSubfieldValueForComparison.js +37 -77
  193. package/dist/normalizeSubfieldValueForComparison.js.map +7 -1
  194. package/dist/prepublicationUtils.js +58 -111
  195. package/dist/prepublicationUtils.js.map +7 -1
  196. package/dist/punctuation/index.js +56 -72
  197. package/dist/punctuation/index.js.map +7 -1
  198. package/dist/punctuation/rules/aut.js +372 -331
  199. package/dist/punctuation/rules/aut.js.map +7 -1
  200. package/dist/punctuation/rules/bib.js +420 -373
  201. package/dist/punctuation/rules/bib.js.map +7 -1
  202. package/dist/punctuation/rules/index.js +7 -21
  203. package/dist/punctuation/rules/index.js.map +7 -1
  204. package/dist/punctuation.test.js +44 -0
  205. package/dist/punctuation.test.js.map +7 -0
  206. package/dist/punctuation2.js +259 -802
  207. package/dist/punctuation2.js.map +7 -1
  208. package/dist/punctuation2.test.js +44 -0
  209. package/dist/punctuation2.test.js.map +7 -0
  210. package/dist/reindexSubfield6OccurenceNumbers.js +61 -96
  211. package/dist/reindexSubfield6OccurenceNumbers.js.map +7 -1
  212. package/dist/reindexSubfield6OccurenceNumbers.test.js +44 -0
  213. package/dist/reindexSubfield6OccurenceNumbers.test.js.map +7 -0
  214. package/dist/removeDuplicateDataFields.js +102 -202
  215. package/dist/removeDuplicateDataFields.js.map +7 -1
  216. package/dist/removeDuplicateDataFields.test.js +44 -0
  217. package/dist/removeDuplicateDataFields.test.js.map +7 -0
  218. package/dist/removeInferiorDataFields.js +104 -227
  219. package/dist/removeInferiorDataFields.js.map +7 -1
  220. package/dist/removeInferiorDataFields.test.js +44 -0
  221. package/dist/removeInferiorDataFields.test.js.map +7 -0
  222. package/dist/resolvable-ext-references-melinda.js +25 -60
  223. package/dist/resolvable-ext-references-melinda.js.map +7 -1
  224. package/dist/resolvable-ext-references-melinda.test.js +160 -0
  225. package/dist/resolvable-ext-references-melinda.test.js.map +7 -0
  226. package/dist/resolveOrphanedSubfield6s.js +32 -63
  227. package/dist/resolveOrphanedSubfield6s.js.map +7 -1
  228. package/dist/resolveOrphanedSubfield6s.test.js +44 -0
  229. package/dist/resolveOrphanedSubfield6s.test.js.map +7 -0
  230. package/dist/sanitize-vocabulary-source-codes.js +27 -55
  231. package/dist/sanitize-vocabulary-source-codes.js.map +7 -1
  232. package/dist/sanitize-vocabulary-source-codes.test.js +45 -0
  233. package/dist/sanitize-vocabulary-source-codes.test.js.map +7 -0
  234. package/dist/sort-tags.js +13 -25
  235. package/dist/sort-tags.js.map +7 -1
  236. package/dist/sort-tags.test.js +261 -0
  237. package/dist/sort-tags.test.js.map +7 -0
  238. package/dist/sortFields.js +152 -222
  239. package/dist/sortFields.js.map +7 -1
  240. package/dist/sortFields.test.js +44 -0
  241. package/dist/sortFields.test.js.map +7 -0
  242. package/dist/sortRelatorTerms.js +30 -68
  243. package/dist/sortRelatorTerms.js.map +7 -1
  244. package/dist/sortRelatorTerms.test.js +44 -0
  245. package/dist/sortRelatorTerms.test.js.map +7 -0
  246. package/dist/sortSubfields.js +102 -255
  247. package/dist/sortSubfields.js.map +7 -1
  248. package/dist/sortSubfields.test.js +44 -0
  249. package/dist/sortSubfields.test.js.map +7 -0
  250. package/dist/stripPunctuation.js +13 -36
  251. package/dist/stripPunctuation.js.map +7 -1
  252. package/dist/stripPunctuation.test.js +44 -0
  253. package/dist/stripPunctuation.test.js.map +7 -0
  254. package/dist/subfield-exclusion.js +28 -75
  255. package/dist/subfield-exclusion.js.map +7 -1
  256. package/dist/subfield-exclusion.test.js +471 -0
  257. package/dist/subfield-exclusion.test.js.map +7 -0
  258. package/dist/subfield6Utils.js +107 -269
  259. package/dist/subfield6Utils.js.map +7 -1
  260. package/dist/subfield8Utils.js +26 -50
  261. package/dist/subfield8Utils.js.map +7 -1
  262. package/dist/subfieldValueNormalizations.js +40 -74
  263. package/dist/subfieldValueNormalizations.js.map +7 -1
  264. package/dist/subfieldValueNormalizations.test.js +45 -0
  265. package/dist/subfieldValueNormalizations.test.js.map +7 -0
  266. package/dist/sync-007-and-300.js +22 -53
  267. package/dist/sync-007-and-300.js.map +7 -1
  268. package/dist/sync-007-and-300.test.js +44 -0
  269. package/dist/sync-007-and-300.test.js.map +7 -0
  270. package/dist/translate-terms.js +67 -155
  271. package/dist/translate-terms.js.map +7 -1
  272. package/dist/translate-terms.test.js +54 -0
  273. package/dist/translate-terms.test.js.map +7 -0
  274. package/dist/typeOfDate-008.js +10 -25
  275. package/dist/typeOfDate-008.js.map +7 -1
  276. package/dist/typeOfDate-008.test.js +40 -0
  277. package/dist/typeOfDate-008.test.js.map +7 -0
  278. package/dist/unicode-decomposition.js +94 -107
  279. package/dist/unicode-decomposition.js.map +7 -1
  280. package/dist/unicode-decomposition.test.js +94 -0
  281. package/dist/unicode-decomposition.test.js.map +7 -0
  282. package/dist/update-field-540.js +30 -75
  283. package/dist/update-field-540.js.map +7 -1
  284. package/dist/update-field-540.test.js +44 -0
  285. package/dist/update-field-540.test.js.map +7 -0
  286. package/dist/urn.js +55 -128
  287. package/dist/urn.js.map +7 -1
  288. package/dist/urn.test.js +44 -0
  289. package/dist/urn.test.js.map +7 -0
  290. package/dist/utils.js +78 -126
  291. package/dist/utils.js.map +7 -1
  292. package/eslint.config.mjs +1 -2
  293. package/package.json +28 -101
  294. package/src/access-rights.js +1 -1
  295. package/src/{access-rights.spec.js → access-rights.test.js} +9 -10
  296. package/src/addMissingField041.js +1 -1
  297. package/src/{addMissingField336.spec.js → addMissingField041.test.js} +13 -14
  298. package/src/addMissingField336.js +3 -3
  299. package/src/{addMissingField041.spec.js → addMissingField336.test.js} +13 -14
  300. package/src/addMissingField337.js +2 -2
  301. package/src/{addMissingField337.spec.js → addMissingField337.test.js} +13 -14
  302. package/src/addMissingField338.js +2 -2
  303. package/src/{addMissingField338.spec.js → addMissingField338.test.js} +13 -14
  304. package/src/cyrillux-usemarcon-replacement.js +18 -18
  305. package/src/{cyrillux-usemarcon-replacement.spec.js → cyrillux-usemarcon-replacement.test.js} +17 -14
  306. package/src/cyrillux.js +19 -12
  307. package/src/{cyrillux.spec.js → cyrillux.test.js} +13 -14
  308. package/src/disambiguateSeriesStatements.js +2 -2
  309. package/src/{disambiguateSeriesStatements.spec.js → disambiguateSeriesStatements.test.js} +12 -13
  310. package/src/double-commas.js +1 -1
  311. package/src/{double-commas.spec.js → double-commas.test.js} +9 -11
  312. package/src/duplicates-ind1.js +1 -1
  313. package/src/{duplicates-ind1.spec.js → duplicates-ind1.test.js} +12 -13
  314. package/src/{empty-fields.spec.js → empty-fields.test.js} +11 -13
  315. package/src/ending-punctuation-conf.js +6 -5
  316. package/src/ending-punctuation.js +115 -24
  317. package/src/{ending-punctuation.spec.js → ending-punctuation.test.js} +357 -275
  318. package/src/{ending-whitespace.spec.js → ending-whitespace.test.js} +12 -13
  319. package/src/field-008-18-34-character-groups.js +2 -2
  320. package/src/{field-008-18-34-character-groups.spec.js → field-008-18-34-character-groups.test.js} +13 -13
  321. package/src/field-505-separators.js +3 -3
  322. package/src/{field-505-separators.spec.js → field-505-separators.test.js} +16 -14
  323. package/src/field-521-fix.js +2 -2
  324. package/src/{field-521-fix.spec.js → field-521-fix.test.js} +12 -13
  325. package/src/field-exclusion.js +1 -1
  326. package/src/{field-exclusion.spec.js → field-exclusion.test.js} +60 -57
  327. package/src/{field-structure.spec.js → field-structure.test.js} +29 -29
  328. package/src/{fields-present.spec.js → fields-present.test.js} +12 -15
  329. package/src/fix-33X.js +4 -4
  330. package/src/{fix-33X.spec.js → fix-33X.test.js} +13 -14
  331. package/src/fix-country-codes.js +1 -1
  332. package/src/{fix-country-codes.spec.js → fix-country-codes.test.js} +12 -13
  333. package/src/fix-language-codes.js +5 -5
  334. package/src/{fix-language-codes.spec.js → fix-language-codes.test.js} +12 -13
  335. package/src/fixRelatorTerms.js +5 -5
  336. package/src/{fixRelatorTerms.spec.js → fixRelatorTerms.test.js} +13 -13
  337. package/src/{fixed-fields.spec.js → fixed-fields.test.js} +11 -14
  338. package/src/identical-fields.js +1 -1
  339. package/src/{identical-fields.spec.js → identical-fields.test.js} +9 -11
  340. package/src/index.js +132 -59
  341. package/src/indicator-fixes.js +17 -4
  342. package/src/{indicator-fixes.spec.js → indicator-fixes.test.js} +9 -12
  343. package/src/isbn-issn.js +12 -7
  344. package/src/{isbn-issn.spec.js → isbn-issn.test.js} +20 -22
  345. package/src/{item-language.spec.js → item-language.test.js} +21 -22
  346. package/src/melindaCustomMergeFields.js +1 -1
  347. package/src/merge-fields/controlSubfields.js +1 -1
  348. package/src/merge-fields/counterpartField.js +14 -9
  349. package/src/merge-fields/dataProvenance.js +41 -0
  350. package/src/merge-fields/index.js +12 -3
  351. package/src/merge-fields/mergableIndicator.js +1 -1
  352. package/src/merge-fields/mergeField.js +8 -8
  353. package/src/merge-fields/mergeIndicator.js +1 -1
  354. package/src/merge-fields/mergeOrAddPostprocess.js +4 -4
  355. package/src/merge-fields/mergeOrAddSubfield.js +2 -2
  356. package/src/merge-fields/mergeSubfield.js +4 -4
  357. package/src/merge-fields/removeDuplicateSubfields.js +2 -2
  358. package/src/{merge-fields.spec.js → merge-fields.test.js} +18 -15
  359. package/src/mergeField500Lisapainokset.js +1 -1
  360. package/src/{mergeField500Lisapainokset.spec.js → mergeField500Lisapainokset.test.js} +12 -13
  361. package/src/mergeRelatorTermFields.js +5 -7
  362. package/src/{mergeRelatorTermFields.spec.js → mergeRelatorTermFields.test.js} +12 -13
  363. package/src/modernize-502.js +1 -1
  364. package/src/{modernize-502.spec.js → modernize-502.test.js} +12 -13
  365. package/src/multiple-subfield-0.js +3 -3
  366. package/src/{multiple-subfield-0.spec.js → multiple-subfield-0.test.js} +13 -13
  367. package/src/{non-breaking-space.spec.js → non-breaking-space.test.js} +12 -13
  368. package/src/normalize-dashes.js +2 -2
  369. package/src/{normalize-dashes.spec.js → normalize-dashes.test.js} +12 -13
  370. package/src/normalize-identifiers.js +1 -1
  371. package/src/{normalize-identifiers.spec.js → normalize-identifiers.test.js} +12 -13
  372. package/src/normalize-qualifying-information.js +2 -2
  373. package/src/{normalize-qualifying-information.spec.js → normalize-qualifying-information.test.js} +12 -13
  374. package/src/normalize-utf8-diacritics.js +2 -2
  375. package/src/{normalize-utf8-diacritics.spec.js → normalize-utf8-diacritics.test.js} +13 -13
  376. package/src/normalizeFieldForComparison.js +32 -6
  377. package/src/normalizeSubfieldValueForComparison.js +1 -1
  378. package/src/prepublicationUtils.js +4 -4
  379. package/src/punctuation/index.js +1 -1
  380. package/src/punctuation/rules/index.js +2 -2
  381. package/src/{punctuation.spec.js → punctuation.test.js} +12 -13
  382. package/src/punctuation2.js +17 -8
  383. package/src/{punctuation2.spec.js → punctuation2.test.js} +12 -13
  384. package/src/reindexSubfield6OccurenceNumbers.js +5 -7
  385. package/src/{reindexSubfield6OccurenceNumbers.spec.js → reindexSubfield6OccurenceNumbers.test.js} +12 -13
  386. package/src/removeDuplicateDataFields.js +11 -19
  387. package/src/{removeDuplicateDataFields.spec.js → removeDuplicateDataFields.test.js} +12 -13
  388. package/src/removeInferiorDataFields.js +15 -12
  389. package/src/{removeInferiorDataFields.spec.js → removeInferiorDataFields.test.js} +13 -13
  390. package/src/resolvable-ext-references-melinda.js +1 -1
  391. package/src/{resolvable-ext-references-melinda.spec.js → resolvable-ext-references-melinda.test.js} +42 -27
  392. package/src/resolveOrphanedSubfield6s.js +6 -6
  393. package/src/{resolveOrphanedSubfield6s.spec.js → resolveOrphanedSubfield6s.test.js} +13 -13
  394. package/src/sanitize-vocabulary-source-codes.js +4 -4
  395. package/src/{sanitize-vocabulary-source-codes.spec.js → sanitize-vocabulary-source-codes.test.js} +16 -14
  396. package/src/{sort-tags.spec.js → sort-tags.test.js} +9 -11
  397. package/src/sortFields.js +4 -4
  398. package/src/{sortFields.spec.js → sortFields.test.js} +12 -13
  399. package/src/sortRelatorTerms.js +3 -3
  400. package/src/{sortRelatorTerms.spec.js → sortRelatorTerms.test.js} +13 -13
  401. package/src/sortSubfields.js +8 -6
  402. package/src/{sortSubfields.spec.js → sortSubfields.test.js} +13 -13
  403. package/src/stripPunctuation.js +3 -3
  404. package/src/{stripPunctuation.spec.js → stripPunctuation.test.js} +13 -13
  405. package/src/subfield-exclusion.js +1 -1
  406. package/src/{subfield-exclusion.spec.js → subfield-exclusion.test.js} +45 -36
  407. package/src/subfield6Utils.js +6 -10
  408. package/src/subfield8Utils.js +4 -4
  409. package/src/subfieldValueNormalizations.js +3 -3
  410. package/src/{subfieldValueNormalizations.spec.js → subfieldValueNormalizations.test.js} +18 -14
  411. package/src/sync-007-and-300.js +2 -2
  412. package/src/{sync-007-and-300.spec.js → sync-007-and-300.test.js} +13 -13
  413. package/src/translate-terms.js +3 -3
  414. package/src/translate-terms.test.js +75 -0
  415. package/src/{typeOfDate-008.spec.js → typeOfDate-008.test.js} +12 -13
  416. package/src/{unicode-decomposition.spec.js → unicode-decomposition.test.js} +10 -16
  417. package/src/update-field-540.js +2 -2
  418. package/src/{update-field-540.spec.js → update-field-540.test.js} +13 -10
  419. package/src/urn.js +2 -2
  420. package/src/{urn.spec.js → urn.test.js} +12 -13
  421. package/src/utils.js +21 -5
  422. package/test-fixtures/field-505-separators/03/expectedResult.json +3 -1
  423. package/test-fixtures/field-505-separators/03/record.json +3 -0
  424. package/test-fixtures/indicator-fixes/10/expectedResult.json +11 -0
  425. package/test-fixtures/indicator-fixes/10/metadata.json +4 -0
  426. package/test-fixtures/indicator-fixes/10/record.json +11 -0
  427. package/test-fixtures/merge-fields/f05/expectedResult.json +24 -0
  428. package/test-fixtures/merge-fields/f05/metadata.json +6 -0
  429. package/test-fixtures/merge-fields/f05/record.json +30 -0
  430. package/test-fixtures/normalize-subfield-value/01/metadata.json +4 -1
  431. package/test-fixtures/normalize-subfield-value/01/record.json +3 -0
  432. package/test-fixtures/normalize-subfield-value/02/expectedResult.json +3 -1
  433. package/test-fixtures/normalize-subfield-value/02/metadata.json +2 -1
  434. package/test-fixtures/normalize-subfield-value/02/record.json +3 -0
  435. package/test-fixtures/remove-inferior-datafields/f16/expectedResult.json +12 -0
  436. package/test-fixtures/remove-inferior-datafields/f16/metadata.json +5 -0
  437. package/test-fixtures/remove-inferior-datafields/f16/record.json +14 -0
  438. package/test-fixtures/sanitize-vocabulary-source-codes/f03/expectedResult.json +3 -1
  439. package/test-fixtures/sanitize-vocabulary-source-codes/f04/expectedResult.json +3 -1
  440. package/test-fixtures/sanitize-vocabulary-source-codes/v04/metadata.json +1 -4
  441. package/test-fixtures/sanitize-vocabulary-source-codes/v04/record.json +1 -1
  442. package/test-fixtures/translate-terms-data.js +42 -0
  443. package/dist/access-rights.spec.js +0 -195
  444. package/dist/access-rights.spec.js.map +0 -1
  445. package/dist/addMissingField041.spec.js +0 -45
  446. package/dist/addMissingField041.spec.js.map +0 -1
  447. package/dist/addMissingField336.spec.js +0 -45
  448. package/dist/addMissingField336.spec.js.map +0 -1
  449. package/dist/addMissingField337.spec.js +0 -43
  450. package/dist/addMissingField337.spec.js.map +0 -1
  451. package/dist/addMissingField338.spec.js +0 -45
  452. package/dist/addMissingField338.spec.js.map +0 -1
  453. package/dist/cyrillux-usemarcon-replacement.spec.js +0 -45
  454. package/dist/cyrillux-usemarcon-replacement.spec.js.map +0 -1
  455. package/dist/cyrillux.spec.js +0 -46
  456. package/dist/cyrillux.spec.js.map +0 -1
  457. package/dist/disambiguateSeriesStatements.spec.js +0 -51
  458. package/dist/disambiguateSeriesStatements.spec.js.map +0 -1
  459. package/dist/double-commas.spec.js +0 -73
  460. package/dist/double-commas.spec.js.map +0 -1
  461. package/dist/duplicates-ind1.spec.js +0 -45
  462. package/dist/duplicates-ind1.spec.js.map +0 -1
  463. package/dist/empty-fields.spec.js +0 -118
  464. package/dist/empty-fields.spec.js.map +0 -1
  465. package/dist/ending-punctuation.spec.js +0 -2654
  466. package/dist/ending-punctuation.spec.js.map +0 -1
  467. package/dist/ending-whitespace.spec.js +0 -42
  468. package/dist/ending-whitespace.spec.js.map +0 -1
  469. package/dist/field-008-18-34-character-groups.spec.js +0 -51
  470. package/dist/field-008-18-34-character-groups.spec.js.map +0 -1
  471. package/dist/field-505-separators.spec.js +0 -51
  472. package/dist/field-505-separators.spec.js.map +0 -1
  473. package/dist/field-521-fix.spec.js +0 -51
  474. package/dist/field-521-fix.spec.js.map +0 -1
  475. package/dist/field-exclusion.spec.js +0 -1054
  476. package/dist/field-exclusion.spec.js.map +0 -1
  477. package/dist/field-structure.spec.js +0 -535
  478. package/dist/field-structure.spec.js.map +0 -1
  479. package/dist/fields-present.spec.js +0 -121
  480. package/dist/fields-present.spec.js.map +0 -1
  481. package/dist/fix-33X.spec.js +0 -45
  482. package/dist/fix-33X.spec.js.map +0 -1
  483. package/dist/fix-country-codes.spec.js +0 -51
  484. package/dist/fix-country-codes.spec.js.map +0 -1
  485. package/dist/fix-language-codes.spec.js +0 -44
  486. package/dist/fix-language-codes.spec.js.map +0 -1
  487. package/dist/fixRelatorTerms.spec.js +0 -51
  488. package/dist/fixRelatorTerms.spec.js.map +0 -1
  489. package/dist/fixed-fields.spec.js +0 -140
  490. package/dist/fixed-fields.spec.js.map +0 -1
  491. package/dist/identical-fields.spec.js +0 -99
  492. package/dist/identical-fields.spec.js.map +0 -1
  493. package/dist/indicator-fixes.spec.js +0 -51
  494. package/dist/indicator-fixes.spec.js.map +0 -1
  495. package/dist/isbn-issn.spec.js +0 -595
  496. package/dist/isbn-issn.spec.js.map +0 -1
  497. package/dist/item-language.spec.js +0 -306
  498. package/dist/item-language.spec.js.map +0 -1
  499. package/dist/melindaCustomMergeFields.json +0 -5120
  500. package/dist/merge-fields.spec.js +0 -51
  501. package/dist/merge-fields.spec.js.map +0 -1
  502. package/dist/mergeField500Lisapainokset.spec.js +0 -51
  503. package/dist/mergeField500Lisapainokset.spec.js.map +0 -1
  504. package/dist/mergeRelatorTermFields.spec.js +0 -51
  505. package/dist/mergeRelatorTermFields.spec.js.map +0 -1
  506. package/dist/modernize-502.spec.js +0 -49
  507. package/dist/modernize-502.spec.js.map +0 -1
  508. package/dist/multiple-subfield-0.spec.js +0 -51
  509. package/dist/multiple-subfield-0.spec.js.map +0 -1
  510. package/dist/non-breaking-space.spec.js +0 -42
  511. package/dist/non-breaking-space.spec.js.map +0 -1
  512. package/dist/normalize-dashes.spec.js +0 -51
  513. package/dist/normalize-dashes.spec.js.map +0 -1
  514. package/dist/normalize-identifiers.spec.js +0 -51
  515. package/dist/normalize-identifiers.spec.js.map +0 -1
  516. package/dist/normalize-qualifying-information.spec.js +0 -51
  517. package/dist/normalize-qualifying-information.spec.js.map +0 -1
  518. package/dist/normalize-utf8-diacritics.spec.js +0 -51
  519. package/dist/normalize-utf8-diacritics.spec.js.map +0 -1
  520. package/dist/punctuation.spec.js +0 -51
  521. package/dist/punctuation.spec.js.map +0 -1
  522. package/dist/punctuation2.spec.js +0 -51
  523. package/dist/punctuation2.spec.js.map +0 -1
  524. package/dist/reindexSubfield6OccurenceNumbers.spec.js +0 -51
  525. package/dist/reindexSubfield6OccurenceNumbers.spec.js.map +0 -1
  526. package/dist/removeDuplicateDataFields.spec.js +0 -51
  527. package/dist/removeDuplicateDataFields.spec.js.map +0 -1
  528. package/dist/removeInferiorDataFields.spec.js +0 -51
  529. package/dist/removeInferiorDataFields.spec.js.map +0 -1
  530. package/dist/resolvable-ext-references-melinda.spec.js +0 -166
  531. package/dist/resolvable-ext-references-melinda.spec.js.map +0 -1
  532. package/dist/resolveOrphanedSubfield6s.spec.js +0 -51
  533. package/dist/resolveOrphanedSubfield6s.spec.js.map +0 -1
  534. package/dist/sanitize-vocabulary-source-codes.spec.js +0 -51
  535. package/dist/sanitize-vocabulary-source-codes.spec.js.map +0 -1
  536. package/dist/sort-tags.spec.js +0 -207
  537. package/dist/sort-tags.spec.js.map +0 -1
  538. package/dist/sortFields.spec.js +0 -51
  539. package/dist/sortFields.spec.js.map +0 -1
  540. package/dist/sortRelatorTerms.spec.js +0 -51
  541. package/dist/sortRelatorTerms.spec.js.map +0 -1
  542. package/dist/sortSubfields.spec.js +0 -52
  543. package/dist/sortSubfields.spec.js.map +0 -1
  544. package/dist/stripPunctuation.spec.js +0 -51
  545. package/dist/stripPunctuation.spec.js.map +0 -1
  546. package/dist/subfield-exclusion.spec.js +0 -523
  547. package/dist/subfield-exclusion.spec.js.map +0 -1
  548. package/dist/subfieldValueNormalizations.spec.js +0 -51
  549. package/dist/subfieldValueNormalizations.spec.js.map +0 -1
  550. package/dist/sync-007-and-300.spec.js +0 -51
  551. package/dist/sync-007-and-300.spec.js.map +0 -1
  552. package/dist/translate-terms.spec.js +0 -51
  553. package/dist/translate-terms.spec.js.map +0 -1
  554. package/dist/typeOfDate-008.spec.js +0 -47
  555. package/dist/typeOfDate-008.spec.js.map +0 -1
  556. package/dist/unicode-decomposition.spec.js +0 -91
  557. package/dist/unicode-decomposition.spec.js.map +0 -1
  558. package/dist/update-field-540.spec.js +0 -51
  559. package/dist/update-field-540.spec.js.map +0 -1
  560. package/dist/urn.spec.js +0 -52
  561. package/dist/urn.spec.js.map +0 -1
  562. package/src/melindaCustomMergeFields.json +0 -5120
  563. package/src/translate-terms.spec.js +0 -52
@@ -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