@natlibfi/marc-record-validators-melinda 11.0.0-alpha.1 → 11.1.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 (309) hide show
  1. package/dist/addMissingField336.js +272 -0
  2. package/dist/addMissingField336.js.map +1 -0
  3. package/dist/addMissingField336.spec.js +45 -0
  4. package/dist/addMissingField336.spec.js.map +1 -0
  5. package/dist/addMissingField337.js +177 -0
  6. package/dist/addMissingField337.js.map +1 -0
  7. package/dist/addMissingField337.spec.js +43 -0
  8. package/dist/addMissingField337.spec.js.map +1 -0
  9. package/dist/addMissingField338.js +424 -0
  10. package/dist/addMissingField338.js.map +1 -0
  11. package/dist/addMissingField338.spec.js +45 -0
  12. package/dist/addMissingField338.spec.js.map +1 -0
  13. package/dist/cyrillux-usemarcon-replacement.js +370 -0
  14. package/dist/cyrillux-usemarcon-replacement.js.map +1 -0
  15. package/dist/cyrillux-usemarcon-replacement.spec.js +45 -0
  16. package/dist/cyrillux-usemarcon-replacement.spec.js.map +1 -0
  17. package/dist/field33XUtils.js +529 -0
  18. package/dist/field33XUtils.js.map +1 -0
  19. package/dist/fix-33X.js +484 -0
  20. package/dist/fix-33X.js.map +1 -0
  21. package/dist/fix-33X.spec.js +45 -0
  22. package/dist/fix-33X.spec.js.map +1 -0
  23. package/dist/fix-language-codes.js +109 -0
  24. package/dist/fix-language-codes.js.map +1 -0
  25. package/dist/fix-language-codes.spec.js +44 -0
  26. package/dist/fix-language-codes.spec.js.map +1 -0
  27. package/dist/fixRelatorTerms.js +1 -1
  28. package/dist/fixRelatorTerms.js.map +1 -1
  29. package/dist/punctuation2.js +4 -3
  30. package/dist/punctuation2.js.map +1 -1
  31. package/dist/resolvable-ext-references-melinda.spec.js +1 -1
  32. package/dist/resolvable-ext-references-melinda.spec.js.map +1 -1
  33. package/dist/sanitize-vocabulary-source-codes.js +7 -10
  34. package/dist/sanitize-vocabulary-source-codes.js.map +1 -1
  35. package/dist/utils.js +13 -8
  36. package/dist/utils.js.map +1 -1
  37. package/package.json +7 -7
  38. package/src/addMissingField336.js +260 -0
  39. package/src/addMissingField336.spec.js +46 -0
  40. package/src/addMissingField337.js +132 -0
  41. package/src/addMissingField337.spec.js +45 -0
  42. package/src/addMissingField338.js +446 -0
  43. package/src/addMissingField338.spec.js +46 -0
  44. package/src/cyrillux-usemarcon-replacement.js +410 -0
  45. package/src/cyrillux-usemarcon-replacement.spec.js +47 -0
  46. package/src/field33XUtils.js +156 -0
  47. package/src/fix-33X.js +473 -0
  48. package/src/fix-33X.spec.js +46 -0
  49. package/src/fix-language-codes.js +121 -0
  50. package/src/fix-language-codes.spec.js +45 -0
  51. package/src/fixRelatorTerms.js +1 -1
  52. package/src/punctuation2.js +3 -3
  53. package/src/sanitize-vocabulary-source-codes.js +9 -11
  54. package/src/utils.js +13 -8
  55. package/test-fixtures/addMissingField336/01/expectedResult.json +6 -0
  56. package/test-fixtures/addMissingField336/01/metadata.json +7 -0
  57. package/test-fixtures/addMissingField336/01/record.json +8 -0
  58. package/test-fixtures/addMissingField336/02/expectedResult.json +4 -0
  59. package/test-fixtures/addMissingField336/02/metadata.json +7 -0
  60. package/test-fixtures/addMissingField336/02/record.json +13 -0
  61. package/test-fixtures/addMissingField336/cod/expectedResult.json +12 -0
  62. package/test-fixtures/addMissingField336/cod/metadata.json +6 -0
  63. package/test-fixtures/addMissingField336/cod/record.json +6 -0
  64. package/test-fixtures/addMissingField336/cop/expectedResult.json +12 -0
  65. package/test-fixtures/addMissingField336/cop/metadata.json +6 -0
  66. package/test-fixtures/addMissingField336/cop/record.json +6 -0
  67. package/test-fixtures/addMissingField336/cop2/expectedResult.json +13 -0
  68. package/test-fixtures/addMissingField336/cop2/metadata.json +6 -0
  69. package/test-fixtures/addMissingField336/cop2/record.json +7 -0
  70. package/test-fixtures/addMissingField336/crf/expectedResult.json +12 -0
  71. package/test-fixtures/addMissingField336/crf/metadata.json +6 -0
  72. package/test-fixtures/addMissingField336/crf/record.json +6 -0
  73. package/test-fixtures/addMissingField336/cri/expectedResult.json +12 -0
  74. package/test-fixtures/addMissingField336/cri/metadata.json +6 -0
  75. package/test-fixtures/addMissingField336/cri/record.json +6 -0
  76. package/test-fixtures/addMissingField336/crt/expectedResult.json +13 -0
  77. package/test-fixtures/addMissingField336/crt/metadata.json +6 -0
  78. package/test-fixtures/addMissingField336/crt/record.json +7 -0
  79. package/test-fixtures/addMissingField336/f01/expectedResult.json +17 -0
  80. package/test-fixtures/addMissingField336/f01/metadata.json +6 -0
  81. package/test-fixtures/addMissingField336/f01/record.json +11 -0
  82. package/test-fixtures/addMissingField336/f02/expectedResult.json +15 -0
  83. package/test-fixtures/addMissingField336/f02/metadata.json +6 -0
  84. package/test-fixtures/addMissingField336/f02/record.json +9 -0
  85. package/test-fixtures/addMissingField336/mixed2txt/expectedResult.json +12 -0
  86. package/test-fixtures/addMissingField336/mixed2txt/metadata.json +6 -0
  87. package/test-fixtures/addMissingField336/mixed2txt/record.json +6 -0
  88. package/test-fixtures/addMissingField336/mixed2xxx/expectedResult.json +12 -0
  89. package/test-fixtures/addMissingField336/mixed2xxx/metadata.json +6 -0
  90. package/test-fixtures/addMissingField336/mixed2xxx/record.json +6 -0
  91. package/test-fixtures/addMissingField336/ntm/expectedResult.json +12 -0
  92. package/test-fixtures/addMissingField336/ntm/metadata.json +6 -0
  93. package/test-fixtures/addMissingField336/ntm/record.json +6 -0
  94. package/test-fixtures/addMissingField336/snd/expectedResult.json +12 -0
  95. package/test-fixtures/addMissingField336/snd/metadata.json +6 -0
  96. package/test-fixtures/addMissingField336/snd/record.json +6 -0
  97. package/test-fixtures/addMissingField336/spw/expectedResult.json +12 -0
  98. package/test-fixtures/addMissingField336/spw/metadata.json +6 -0
  99. package/test-fixtures/addMissingField336/spw/record.json +6 -0
  100. package/test-fixtures/addMissingField336/spw2/expectedResult.json +13 -0
  101. package/test-fixtures/addMissingField336/spw2/metadata.json +6 -0
  102. package/test-fixtures/addMissingField336/spw2/record.json +7 -0
  103. package/test-fixtures/addMissingField336/spw_txt/expectedResult.json +18 -0
  104. package/test-fixtures/addMissingField336/spw_txt/metadata.json +6 -0
  105. package/test-fixtures/addMissingField336/spw_txt/record.json +7 -0
  106. package/test-fixtures/addMissingField336/sti/expectedResult.json +12 -0
  107. package/test-fixtures/addMissingField336/sti/metadata.json +6 -0
  108. package/test-fixtures/addMissingField336/sti/record.json +6 -0
  109. package/test-fixtures/addMissingField336/sti_projected/expectedResult.json +13 -0
  110. package/test-fixtures/addMissingField336/sti_projected/metadata.json +6 -0
  111. package/test-fixtures/addMissingField336/sti_projected/record.json +7 -0
  112. package/test-fixtures/addMissingField336/tci/expectedResult.json +12 -0
  113. package/test-fixtures/addMissingField336/tci/metadata.json +6 -0
  114. package/test-fixtures/addMissingField336/tci/record.json +6 -0
  115. package/test-fixtures/addMissingField336/tcm/expectedResult.json +12 -0
  116. package/test-fixtures/addMissingField336/tcm/metadata.json +6 -0
  117. package/test-fixtures/addMissingField336/tcm/record.json +6 -0
  118. package/test-fixtures/addMissingField336/tdf/expectedResult.json +12 -0
  119. package/test-fixtures/addMissingField336/tdf/metadata.json +6 -0
  120. package/test-fixtures/addMissingField336/tdf/record.json +6 -0
  121. package/test-fixtures/addMissingField336/tdi/expectedResult.json +13 -0
  122. package/test-fixtures/addMissingField336/tdi/metadata.json +6 -0
  123. package/test-fixtures/addMissingField336/tdi/record.json +7 -0
  124. package/test-fixtures/addMissingField336/txt/expectedResult.json +12 -0
  125. package/test-fixtures/addMissingField336/txt/metadata.json +6 -0
  126. package/test-fixtures/addMissingField336/txt/record.json +6 -0
  127. package/test-fixtures/addMissingField336/zzz/expectedResult.json +13 -0
  128. package/test-fixtures/addMissingField336/zzz/metadata.json +6 -0
  129. package/test-fixtures/addMissingField336/zzz/record.json +7 -0
  130. package/test-fixtures/addMissingField337/c1/expectedResult.json +12 -0
  131. package/test-fixtures/addMissingField337/c1/metadata.json +6 -0
  132. package/test-fixtures/addMissingField337/c1/record.json +7 -0
  133. package/test-fixtures/addMissingField337/g1/expectedResult.json +13 -0
  134. package/test-fixtures/addMissingField337/g1/metadata.json +6 -0
  135. package/test-fixtures/addMissingField337/g1/record.json +7 -0
  136. package/test-fixtures/addMissingField337/n1/expectedResult.json +12 -0
  137. package/test-fixtures/addMissingField337/n1/metadata.json +6 -0
  138. package/test-fixtures/addMissingField337/n1/record.json +6 -0
  139. package/test-fixtures/addMissingField337/no_action_required/expectedResult.json +12 -0
  140. package/test-fixtures/addMissingField337/no_action_required/metadata.json +7 -0
  141. package/test-fixtures/addMissingField337/no_action_required/record.json +11 -0
  142. package/test-fixtures/addMissingField337/p1/expectedResult.json +12 -0
  143. package/test-fixtures/addMissingField337/p1/metadata.json +6 -0
  144. package/test-fixtures/addMissingField337/p1/record.json +6 -0
  145. package/test-fixtures/addMissingField337/validate_x1/expectedResult.json +6 -0
  146. package/test-fixtures/addMissingField337/validate_x1/metadata.json +6 -0
  147. package/test-fixtures/addMissingField337/validate_x1/record.json +6 -0
  148. package/test-fixtures/addMissingField338/cb/expectedResult.json +14 -0
  149. package/test-fixtures/addMissingField338/cb/metadata.json +6 -0
  150. package/test-fixtures/addMissingField338/cb/record.json +8 -0
  151. package/test-fixtures/addMissingField338/cd/expectedResult.json +14 -0
  152. package/test-fixtures/addMissingField338/cd/metadata.json +6 -0
  153. package/test-fixtures/addMissingField338/cd/record.json +8 -0
  154. package/test-fixtures/addMissingField338/ck/expectedResult.json +14 -0
  155. package/test-fixtures/addMissingField338/ck/metadata.json +6 -0
  156. package/test-fixtures/addMissingField338/ck/record.json +8 -0
  157. package/test-fixtures/addMissingField338/cr/expectedResult.json +15 -0
  158. package/test-fixtures/addMissingField338/cr/metadata.json +6 -0
  159. package/test-fixtures/addMissingField338/cr/record.json +9 -0
  160. package/test-fixtures/addMissingField338/cr2/expectedResult.json +14 -0
  161. package/test-fixtures/addMissingField338/cr2/metadata.json +6 -0
  162. package/test-fixtures/addMissingField338/cr2/record.json +8 -0
  163. package/test-fixtures/addMissingField338/cr3/expectedResult.json +18 -0
  164. package/test-fixtures/addMissingField338/cr3/metadata.json +6 -0
  165. package/test-fixtures/addMissingField338/cr3/record.json +12 -0
  166. package/test-fixtures/addMissingField338/cr4/expectedResult.json +15 -0
  167. package/test-fixtures/addMissingField338/cr4/metadata.json +6 -0
  168. package/test-fixtures/addMissingField338/cr4/record.json +9 -0
  169. package/test-fixtures/addMissingField338/gc/expectedResult.json +12 -0
  170. package/test-fixtures/addMissingField338/gc/metadata.json +6 -0
  171. package/test-fixtures/addMissingField338/gc/record.json +7 -0
  172. package/test-fixtures/addMissingField338/gd/expectedResult.json +13 -0
  173. package/test-fixtures/addMissingField338/gd/metadata.json +6 -0
  174. package/test-fixtures/addMissingField338/gd/record.json +8 -0
  175. package/test-fixtures/addMissingField338/gf/expectedResult.json +13 -0
  176. package/test-fixtures/addMissingField338/gf/metadata.json +6 -0
  177. package/test-fixtures/addMissingField338/gf/record.json +8 -0
  178. package/test-fixtures/addMissingField338/gs/expectedResult.json +15 -0
  179. package/test-fixtures/addMissingField338/gs/metadata.json +6 -0
  180. package/test-fixtures/addMissingField338/gs/record.json +9 -0
  181. package/test-fixtures/addMissingField338/gt/expectedResult.json +15 -0
  182. package/test-fixtures/addMissingField338/gt/metadata.json +6 -0
  183. package/test-fixtures/addMissingField338/gt/record.json +9 -0
  184. package/test-fixtures/addMissingField338/hd/expectedResult.json +16 -0
  185. package/test-fixtures/addMissingField338/hd/metadata.json +6 -0
  186. package/test-fixtures/addMissingField338/hd/record.json +10 -0
  187. package/test-fixtures/addMissingField338/he/expectedResult.json +15 -0
  188. package/test-fixtures/addMissingField338/he/metadata.json +6 -0
  189. package/test-fixtures/addMissingField338/he/record.json +9 -0
  190. package/test-fixtures/addMissingField338/he2/expectedResult.json +12 -0
  191. package/test-fixtures/addMissingField338/he2/metadata.json +6 -0
  192. package/test-fixtures/addMissingField338/he2/record.json +6 -0
  193. package/test-fixtures/addMissingField338/hg/expectedResult.json +15 -0
  194. package/test-fixtures/addMissingField338/hg/metadata.json +7 -0
  195. package/test-fixtures/addMissingField338/hg/record.json +9 -0
  196. package/test-fixtures/addMissingField338/hg2/expectedResult.json +15 -0
  197. package/test-fixtures/addMissingField338/hg2/metadata.json +6 -0
  198. package/test-fixtures/addMissingField338/hg2/record.json +9 -0
  199. package/test-fixtures/addMissingField338/hj/expectedResult.json +15 -0
  200. package/test-fixtures/addMissingField338/hj/metadata.json +6 -0
  201. package/test-fixtures/addMissingField338/hj/record.json +9 -0
  202. package/test-fixtures/addMissingField338/hj2/expectedResult.json +15 -0
  203. package/test-fixtures/addMissingField338/hj2/metadata.json +6 -0
  204. package/test-fixtures/addMissingField338/hj2/record.json +9 -0
  205. package/test-fixtures/addMissingField338/mo/expectedResult.json +15 -0
  206. package/test-fixtures/addMissingField338/mo/metadata.json +6 -0
  207. package/test-fixtures/addMissingField338/mo/record.json +9 -0
  208. package/test-fixtures/addMissingField338/nc/expectedResult.json +19 -0
  209. package/test-fixtures/addMissingField338/nc/metadata.json +6 -0
  210. package/test-fixtures/addMissingField338/nc/record.json +13 -0
  211. package/test-fixtures/addMissingField338/nr/expectedResult.json +12 -0
  212. package/test-fixtures/addMissingField338/nr/metadata.json +7 -0
  213. package/test-fixtures/addMissingField338/nr/record.json +6 -0
  214. package/test-fixtures/addMissingField338/sd/expectedResult.json +14 -0
  215. package/test-fixtures/addMissingField338/sd/metadata.json +6 -0
  216. package/test-fixtures/addMissingField338/sd/record.json +8 -0
  217. package/test-fixtures/addMissingField338/sd2/expectedResult.json +14 -0
  218. package/test-fixtures/addMissingField338/sd2/metadata.json +6 -0
  219. package/test-fixtures/addMissingField338/sd2/record.json +8 -0
  220. package/test-fixtures/addMissingField338/sd3/expectedResult.json +14 -0
  221. package/test-fixtures/addMissingField338/sd3/metadata.json +6 -0
  222. package/test-fixtures/addMissingField338/sd3/record.json +8 -0
  223. package/test-fixtures/addMissingField338/ss/expectedResult.json +14 -0
  224. package/test-fixtures/addMissingField338/ss/metadata.json +6 -0
  225. package/test-fixtures/addMissingField338/ss/record.json +8 -0
  226. package/test-fixtures/addMissingField338/ss2/expectedResult.json +14 -0
  227. package/test-fixtures/addMissingField338/ss2/metadata.json +6 -0
  228. package/test-fixtures/addMissingField338/ss2/record.json +8 -0
  229. package/test-fixtures/addMissingField338/vd/expectedResult.json +15 -0
  230. package/test-fixtures/addMissingField338/vd/metadata.json +6 -0
  231. package/test-fixtures/addMissingField338/vd/record.json +9 -0
  232. package/test-fixtures/addMissingField338/vd2/expectedResult.json +13 -0
  233. package/test-fixtures/addMissingField338/vd2/metadata.json +6 -0
  234. package/test-fixtures/addMissingField338/vd2/record.json +8 -0
  235. package/test-fixtures/addMissingField338/vf/expectedResult.json +15 -0
  236. package/test-fixtures/addMissingField338/vf/metadata.json +6 -0
  237. package/test-fixtures/addMissingField338/vf/record.json +9 -0
  238. package/test-fixtures/addMissingField338/zu/expectedResult.json +14 -0
  239. package/test-fixtures/addMissingField338/zu/metadata.json +6 -0
  240. package/test-fixtures/addMissingField338/zu/record.json +8 -0
  241. package/test-fixtures/cyrillux-usemarcon-replacement/f01/expectedResult.json +32 -0
  242. package/test-fixtures/cyrillux-usemarcon-replacement/f01/metadata.json +7 -0
  243. package/test-fixtures/cyrillux-usemarcon-replacement/f01/record.json +20 -0
  244. package/test-fixtures/cyrillux-usemarcon-replacement/f02/expectedResult.json +29 -0
  245. package/test-fixtures/cyrillux-usemarcon-replacement/f02/metadata.json +7 -0
  246. package/test-fixtures/cyrillux-usemarcon-replacement/f02/record.json +9 -0
  247. package/test-fixtures/cyrillux-usemarcon-replacement/f03/expectedResult.json +34 -0
  248. package/test-fixtures/cyrillux-usemarcon-replacement/f03/metadata.json +7 -0
  249. package/test-fixtures/cyrillux-usemarcon-replacement/f03/record.json +12 -0
  250. package/test-fixtures/cyrillux-usemarcon-replacement/f04/expectedResult.json +26 -0
  251. package/test-fixtures/cyrillux-usemarcon-replacement/f04/metadata.json +8 -0
  252. package/test-fixtures/cyrillux-usemarcon-replacement/f04/record.json +6 -0
  253. package/test-fixtures/cyrillux-usemarcon-replacement/f05/expectedResult.json +27 -0
  254. package/test-fixtures/cyrillux-usemarcon-replacement/f05/metadata.json +7 -0
  255. package/test-fixtures/cyrillux-usemarcon-replacement/f05/record.json +8 -0
  256. package/test-fixtures/cyrillux-usemarcon-replacement/f06/expectedResult.json +27 -0
  257. package/test-fixtures/cyrillux-usemarcon-replacement/f06/metadata.json +7 -0
  258. package/test-fixtures/cyrillux-usemarcon-replacement/f06/record.json +8 -0
  259. package/test-fixtures/cyrillux-usemarcon-replacement/f07/expectedResult.json +25 -0
  260. package/test-fixtures/cyrillux-usemarcon-replacement/f07/metadata.json +7 -0
  261. package/test-fixtures/cyrillux-usemarcon-replacement/f07/record.json +8 -0
  262. package/test-fixtures/cyrillux-usemarcon-replacement/f08/expectedResult.json +34 -0
  263. package/test-fixtures/cyrillux-usemarcon-replacement/f08/metadata.json +6 -0
  264. package/test-fixtures/cyrillux-usemarcon-replacement/f08/record.json +33 -0
  265. package/test-fixtures/cyrillux-usemarcon-replacement/f09/expectedResult.json +35 -0
  266. package/test-fixtures/cyrillux-usemarcon-replacement/f09/metadata.json +6 -0
  267. package/test-fixtures/cyrillux-usemarcon-replacement/f09/record.json +35 -0
  268. package/test-fixtures/cyrillux-usemarcon-replacement/f10/expectedResult.json +41 -0
  269. package/test-fixtures/cyrillux-usemarcon-replacement/f10/metadata.json +7 -0
  270. package/test-fixtures/cyrillux-usemarcon-replacement/f10/record.json +33 -0
  271. package/test-fixtures/cyrillux-usemarcon-replacement/f11/expectedResult.json +32 -0
  272. package/test-fixtures/cyrillux-usemarcon-replacement/f11/metadata.json +6 -0
  273. package/test-fixtures/cyrillux-usemarcon-replacement/f11/record.json +22 -0
  274. package/test-fixtures/cyrillux-usemarcon-replacement/v01/expectedResult.json +7 -0
  275. package/test-fixtures/cyrillux-usemarcon-replacement/v01/metadata.json +6 -0
  276. package/test-fixtures/cyrillux-usemarcon-replacement/v01/record.json +20 -0
  277. package/test-fixtures/cyrillux-usemarcon-replacement/v02/expectedResult.json +5 -0
  278. package/test-fixtures/cyrillux-usemarcon-replacement/v02/metadata.json +6 -0
  279. package/test-fixtures/cyrillux-usemarcon-replacement/v02/record.json +29 -0
  280. package/test-fixtures/fix-33X/f11/expectedResult.json +29 -0
  281. package/test-fixtures/fix-33X/f11/metadata.json +6 -0
  282. package/test-fixtures/fix-33X/f11/record.json +22 -0
  283. package/test-fixtures/fix-33X/v11/expectedResult.json +9 -0
  284. package/test-fixtures/fix-33X/v11/metadata.json +6 -0
  285. package/test-fixtures/fix-33X/v11/record.json +22 -0
  286. package/test-fixtures/fix-language-codes/01/expectedResult.json +5 -0
  287. package/test-fixtures/fix-language-codes/01/metadata.json +6 -0
  288. package/test-fixtures/fix-language-codes/01/record.json +7 -0
  289. package/test-fixtures/fix-language-codes/02/expectedResult.json +7 -0
  290. package/test-fixtures/fix-language-codes/02/metadata.json +6 -0
  291. package/test-fixtures/fix-language-codes/02/record.json +10 -0
  292. package/test-fixtures/fix-language-codes/03/expectedResult.json +10 -0
  293. package/test-fixtures/fix-language-codes/03/metadata.json +6 -0
  294. package/test-fixtures/fix-language-codes/03/record.json +8 -0
  295. package/test-fixtures/fix-language-codes/04/expectedResult.json +9 -0
  296. package/test-fixtures/fix-language-codes/04/metadata.json +7 -0
  297. package/test-fixtures/fix-language-codes/04/record.json +7 -0
  298. package/test-fixtures/fix-language-codes/05/expectedResult.json +8 -0
  299. package/test-fixtures/fix-language-codes/05/metadata.json +6 -0
  300. package/test-fixtures/fix-language-codes/05/record.json +5 -0
  301. package/test-fixtures/punctuation2/95/expectedResult.json +22 -0
  302. package/test-fixtures/punctuation2/95/metadata.json +6 -0
  303. package/test-fixtures/punctuation2/95/record.json +20 -0
  304. package/test-fixtures/sanitize-vocabulary-source-codes/f03/expectedResult.json +143 -0
  305. package/test-fixtures/sanitize-vocabulary-source-codes/f03/metadata.json +9 -0
  306. package/test-fixtures/sanitize-vocabulary-source-codes/f03/record.json +145 -0
  307. package/test-fixtures/sanitize-vocabulary-source-codes/v03/expectedResult.json +5 -0
  308. package/test-fixtures/sanitize-vocabulary-source-codes/v03/metadata.json +6 -0
  309. package/test-fixtures/sanitize-vocabulary-source-codes/v03/record.json +145 -0
@@ -0,0 +1,529 @@
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') {
483
+ if (!mapping) {
484
+ return undefined;
485
+ }
486
+ if (catLang in mapping) {
487
+ return mapping[catLang];
488
+ }
489
+ if ('fin' in mapping) {
490
+ return mapping.fin; // Default to Finnish (which should be complete, knock-knock)
491
+ }
492
+ return undefined;
493
+ }
494
+ function map336CodeToTerm(code, catLang = 'fin') {
495
+ const [mapping] = field336Mappings.filter(m => m.code === code);
496
+ return map33XCodeToTerm(mapping, catLang);
497
+ }
498
+ function map337CodeToTerm(code, catLang = 'fin') {
499
+ const [mapping] = field337Mappings.filter(m => m.code === code);
500
+ return map33XCodeToTerm(mapping, catLang);
501
+ }
502
+ function map338CodeToTerm(code, catLang = 'fin') {
503
+ const [mapping] = field338Mappings.filter(m => m.code === code);
504
+ return map33XCodeToTerm(mapping, catLang);
505
+ }
506
+ function getFormOfItem(record) {
507
+ const [f008Value] = record.get('008').map(field => field.value);
508
+ if (f008Value && f008Value.length === 40) {
509
+ const pos = getFormOfItemPosition(record);
510
+ return f008Value[pos];
511
+ }
512
+ return '|';
513
+ }
514
+ function getFormOfItemPosition(record) {
515
+ if (record.isMP() || record.isVM()) {
516
+ return 29;
517
+ }
518
+ return 23;
519
+ }
520
+ function getTitleMedium(record) {
521
+ // Get 245$h. Very old and deprecated practise...
522
+ const [f245] = record.get('245');
523
+ if (!f245) {
524
+ return undefined;
525
+ }
526
+ const [h] = f245.subfields.filter(sf => sf.code === 'h');
527
+ return h ? h.value : undefined;
528
+ }
529
+ //# sourceMappingURL=field33XUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field33XUtils.js","names":["field336Mappings","exports","field337Mappings","field338Mappings","map33XCodeToTerm","mapping","catLang","undefined","fin","map336CodeToTerm","code","filter","m","map337CodeToTerm","map338CodeToTerm","getFormOfItem","record","f008Value","get","map","field","value","length","pos","getFormOfItemPosition","isMP","isVM","getTitleMedium","f245","h","subfields","sf"],"sources":["../src/field33XUtils.js"],"sourcesContent":["\nexport const field336Mappings = [\n {'code': 'crd', 'fin': 'kartografinen data', 'swe': 'kartografisk data', 'eng': 'cartographic dataset'},\n {'code': 'cri', 'fin': 'kartografinen kuva', 'swe': 'kartografisk bild', 'eng': 'cartographic image'},\n {'code': 'crm', 'fin': 'kartografinen liikkuva kuva', 'swe': 'kartografisk rörlig bild', 'eng': 'cartographic moving image'},\n {'code': 'crt', 'fin': 'kartografinen taktiili kuva', 'swe': 'kartografisk taktil bild', 'eng': 'cartographic tactile image'},\n {'code': 'crn', 'fin': 'kartografinen taktiili kolmiulotteinen muoto', 'swe': 'kartografisk taktil tredimensionell form', 'eng': 'cartographic tactile three-dimensional form'},\n {'code': 'crf', 'fin': 'kartografinen kolmiulotteinen muoto', 'swe': 'kartografisk tredimensionell form', 'eng': 'cartographic three-dimensional form'},\n {'code': 'cod', 'fin': 'digitaalinen data', 'swe': 'digitalt dataset', 'eng': 'computer dataset'},\n {'code': 'cop', 'fin': 'tietokoneohjelma', 'swe': 'datorprogram', 'eng': 'computer program'},\n {'code': 'ntv', 'fin': 'liikenotaatio', 'swe': 'rörelsenotation', 'eng': 'notated movement'},\n {'code': 'ntm', 'fin': 'nuottikirjoitus', 'swe': 'noterad musik', 'eng': 'notated music'},\n {'code': 'prm', 'fin': 'esitetty musiikki', 'swe': 'framförd musik', 'eng': 'performed music'},\n {'code': 'snd', 'fin': 'ääni', 'swe': 'ljud', 'eng': 'sounds', 'ger': 'Geräusche'},\n {'code': 'spw', 'fin': 'puhe', 'swe': 'tal', 'eng': 'spoken word', 'ger': 'gesprochenes Wort'},\n {'code': 'sti', 'fin': 'stillkuva', 'swe': 'stillbild', 'eng': 'still image', 'ger': 'unbewegtes Bild'},\n {'code': 'tci', 'fin': 'taktiili kuva', 'swe': 'taktil bild', 'eng': 'tactile image'},\n {'code': 'tcm', 'fin': 'taktiili nuottikirjoitus', 'swe': 'taktil musiknotation', 'eng': 'tactile notated music'},\n {'code': 'tcn', 'fin': 'taktiili liikenotaatio', 'swe': 'taktil noterad rörelse', 'eng': 'tactile notated movement'},\n {'code': 'tct', 'fin': 'taktiili teksti', 'swe': 'taktil text', 'eng': 'tactile text', 'fre': 'texte tactile'},\n {'code': 'tcf', 'fin': 'taktiili kolmiulotteinen muoto', 'swe': 'taktil tredimensionell form', 'eng': 'tactile three-dimensional form'},\n {'code': 'txt', 'fin': 'teksti', 'swe': 'text', 'eng': 'text', 'ger': 'Text', 'fre': 'texte'},\n {'code': 'tdf', 'fin': 'kolmiulotteinen muoto', 'swe': 'tredimensionell form', 'eng': 'three-dimensional form'},\n {'code': 'tdm', 'fin': 'kolmiulotteinen liikkuva kuva', 'swe': 'tredimensionell rörlig bild', 'eng': 'three-dimensional moving image'},\n {'code': 'tdi', 'fin': 'kaksiulotteinen liikkuva kuva', 'swe': 'tvådimensionell rörlig bild', 'eng': 'two-dimensional moving image'},\n {'code': 'xxx', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'zzz', 'fin': 'määrittelemätön', 'swe': 'ospecificerad', 'eng': 'unspecified'}\n];\n\nexport const field337Mappings = [\n {'code': 's', 'fin': 'audio', 'swe': 'audio', 'eng': 'audio'},\n {'code': 'c', 'fin': 'tietokonekäyttöinen', 'swe': 'dator', 'eng': 'computer'},\n {'code': 'h', 'fin': 'mikromuoto', 'swe': 'mikroform', 'eng': 'microform'},\n {'code': 'p', 'fin': 'mikroskooppinen', 'swe': 'mikroskopisk', 'eng': 'microscopic'},\n {'code': 'g', 'fin': 'heijastettava', 'swe': 'projicerad', 'eng': 'projected'},\n {'code': 'e', 'fin': 'stereografinen', 'swe': 'stereografisk', 'eng': 'stereographic'},\n {'code': 'n', 'fin': 'käytettävissä ilman laitetta', 'swe': 'omedierad', 'eng': 'unmediated'},\n {'code': 'v', 'fin': 'video', 'swe': 'video', 'eng': 'video'},\n {'code': 'x', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'z', 'fin': 'määrittelemätön', 'swe': 'ospecificerad', 'eng': 'unspecified'}\n];\n\nexport const field338Mappings = [\n {'code': 'ca', 'fin': 'tietonauhan silmukkakasetti', 'swe': 'datorbandmagasin', 'eng': 'computer tape cartridge'},\n {'code': 'cb', 'fin': 'piirikotelo', 'swe': 'datorminnesmodul', 'eng': 'computer cartridge'},\n {'code': 'cd', 'fin': 'tietolevy', 'swe': 'datorskiva', 'eng': 'computer disc'},\n {'code': 'ce', 'fin': 'tietolevykotelo', 'swe': 'datorskivmagasin', 'eng': 'computer disc cartridge'},\n {'code': 'cf', 'fin': 'tietokasetti', 'swe': 'datorkassett', 'eng': 'computer tape cassette'},\n {'code': 'ch', 'fin': 'tietonauhakela', 'swe': 'datorbandspole', 'eng': 'computer tape reel'},\n {'code': 'ck', 'fin': 'muistikortti', 'swe': 'datorkort', 'eng': 'computer card'},\n {'code': 'cr', 'fin': 'verkkoaineisto', 'swe': 'onlineresurs', 'eng': 'online resource'},\n {'code': 'cz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'eh', 'fin': 'stereografinen kortti', 'swe': 'stereografiskt kort', 'eng': 'stereograph card'},\n {'code': 'es', 'fin': 'stereografinen levy', 'swe': 'stereografisk skiva', 'eng': 'stereograph disc'},\n {'code': 'ez', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'gc', 'fin': 'rainakasetti', 'swe': 'bildbandsmagasin', 'eng': 'filmstrip cartridge'},\n {'code': 'gd', 'fin': 'filmiliuska', 'swe': 'filmremsa', 'eng': 'filmslip'},\n {'code': 'gf', 'fin': 'raina', 'swe': 'bildband', 'eng': 'filmstrip'},\n {'code': 'gs', 'fin': 'dia', 'swe': 'diabild', 'eng': 'slide'},\n {'code': 'gt', 'fin': 'piirtoheitinkalvo', 'swe': 'transparang', 'eng': 'overhead transparency'},\n {'code': 'ha', 'fin': 'ikkunakortti', 'swe': 'fönsterkort', 'eng': 'aperture card'},\n {'code': 'hb', 'fin': 'mikrofilmisilmukkakasetti', 'swe': 'mikrofilmsmagasin', 'eng': 'microfilm cartridge'},\n {'code': 'hc', 'fin': 'mikrofilmikasetti', 'swe': 'mikrofilmskassett', 'eng': 'microfilm cassette'},\n {'code': 'hd', 'fin': 'mikrofilmikela', 'swe': 'mikrofilmsspole', 'eng': 'microfilm reel'},\n {'code': 'he', 'fin': 'mikrokortti', 'swe': 'mikrofiche', 'eng': 'microfiche'},\n {'code': 'hf', 'fin': 'mikrokorttikasetti', 'swe': 'mikrofichekassett', 'eng': 'microfiche cassette'},\n {'code': 'hg', 'fin': 'mikrokortti (läpinäkymätön)', 'swe': 'mikrofiche (ogenomskinlig)', 'eng': 'microopaque'},\n {'code': 'hh', 'fin': 'mikrofilmiliuska', 'swe': 'mikrofilmsremsa', 'eng': 'microfilm slip'},\n {'code': 'hj', 'fin': 'mikrofilmirulla', 'swe': 'mikrofilmsrulle', 'eng': 'microfilm roll'},\n {'code': 'hz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'mc', 'fin': 'filmisilmukkakasetti', 'swe': 'filmmagasin', 'eng': 'film cartridge'},\n {'code': 'mf', 'fin': 'filmikasetti', 'swe': 'filmkassett', 'eng': 'film cassette'},\n {'code': 'mo', 'fin': 'filmirulla', 'swe': 'filmrulle', 'eng': 'film roll'},\n {'code': 'mr', 'fin': 'filmikela', 'swe': 'filmspole', 'eng': 'film reel'},\n {'code': 'mz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'na', 'fin': 'rulla', 'swe': 'rulle', 'eng': 'roll'},\n {'code': 'nb', 'fin': 'arkki', 'swe': 'ark', 'eng': 'sheet'},\n {'code': 'nc', 'fin': 'nide', 'swe': 'volym', 'eng': 'volume'},\n {'code': 'nn', 'fin': 'lehtiötaulu', 'swe': 'blädderblock', 'eng': 'flipchart'},\n {'code': 'no', 'fin': 'kortti', 'swe': 'kort', 'eng': 'card'},\n {'code': 'nr', 'fin': 'objekti', 'swe': 'föremål', 'eng': 'object'},\n {'code': 'nz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'pp', 'fin': 'preparaattilasi', 'swe': 'mikroskoperingspreparat', 'eng': 'microscope slide'},\n {'code': 'pz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'sb', 'fin': 'äänihihna', 'swe': 'ljudslinga', 'eng': 'audio belt'},\n {'code': 'sd', 'fin': 'äänilevy', 'swe': 'ljudskiva', 'eng': 'audio disc'},\n {'code': 'se', 'fin': 'äänisylinteri', 'swe': 'ljudcylinder', 'eng': 'audio cylinder'},\n {'code': 'sg', 'fin': 'äänisilmukkakasetti', 'swe': 'ljudmagasin', 'eng': 'audio cartridge'},\n {'code': 'si', 'fin': 'ääniraitakela', 'swe': 'filmljudspole', 'eng': 'sound-track reel'},\n {'code': 'sq', 'fin': 'äänirulla', 'swe': 'ljudrulle', 'eng': 'audio roll'},\n {'code': 'ss', 'fin': 'äänikasetti', 'swe': 'ljudkassett', 'eng': 'audiocassette'},\n {'code': 'st', 'fin': 'äänikela', 'swe': 'ljudspole', 'eng': 'audiotape reel'},\n {'code': 'sw', 'fin': 'äänilankakela', 'swe': 'ljudtråd', 'eng': 'audio wire reel'},\n {'code': 'sz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'vc', 'fin': 'videosilmukkakasetti', 'swe': 'videomagasin', 'eng': 'video cartridge'},\n {'code': 'vd', 'fin': 'videolevy', 'swe': 'videoskiva', 'eng': 'videodisc'},\n {'code': 'vf', 'fin': 'videokasetti', 'swe': 'videokassett', 'eng': 'videocassette'},\n {'code': 'vr', 'fin': 'videokela', 'swe': 'videospole', 'eng': 'videotape reel'},\n {'code': 'vz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'zu', 'fin': 'määrittelemätön', 'swe': 'ospecificerad', 'eng': 'unspecified'}\n];\n\n\nfunction map33XCodeToTerm(mapping, catLang = 'fin') {\n if (!mapping) {\n return undefined;\n }\n if (catLang in mapping) {\n return mapping[catLang];\n }\n if ('fin' in mapping) {\n return mapping.fin; // Default to Finnish (which should be complete, knock-knock)\n }\n return undefined;\n}\n\nexport function map336CodeToTerm(code, catLang = 'fin') {\n const [mapping] = field336Mappings.filter(m => m.code === code);\n return map33XCodeToTerm(mapping, catLang);\n}\n\nexport function map337CodeToTerm(code, catLang = 'fin') {\n const [mapping] = field337Mappings.filter(m => m.code === code);\n return map33XCodeToTerm(mapping, catLang);\n}\n\nexport function map338CodeToTerm(code, catLang = 'fin') {\n const [mapping] = field338Mappings.filter(m => m.code === code);\n return map33XCodeToTerm(mapping, catLang);\n}\n\nexport function getFormOfItem(record) {\n const [f008Value] = record.get('008').map(field => field.value);\n if (f008Value && f008Value.length === 40) {\n const pos = getFormOfItemPosition(record);\n return f008Value[pos];\n }\n return '|';\n}\n\nexport function getFormOfItemPosition(record) {\n if (record.isMP() || record.isVM()) {\n return 29;\n }\n return 23;\n}\n\nexport function getTitleMedium(record) {\n // Get 245$h. Very old and deprecated practise...\n const [f245] = record.get('245');\n if (!f245) {\n return undefined;\n }\n const [h] = f245.subfields.filter(sf => sf.code === 'h');\n return h ? h.value : undefined;\n}\n"],"mappings":"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","ignoreList":[]}