@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,770 +1,874 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.validPuncMarks = exports.finnishTerms = exports.confSpec = void 0;
7
- // Const finnishTerms = ['ysa', 'yso', 'kassu', 'seko', 'valo', 'kulo', 'puho', 'oiko', 'mero', 'liito', 'fast', 'allars', 'kaunokki'];
8
- const finnishTerms = exports.finnishTerms = [/^(?:allars|bella|fast|juho|jupo|kassu|kauno|kaunokki|keko|koko|kulo|liiko|liito|local|mero|mts|musa|oiko|puho|seko|woto|valo|ysa|yso)$/u, /^(?:kauno|slm|yso)\//u];
9
- const validPuncMarks = exports.validPuncMarks = '?"-!,)]';
10
- // Configuration specification
11
- const confSpec = exports.confSpec = [{
12
- // 010-035 EI
13
- rangeStart: 10,
14
- rangeEnd: 35,
15
- index: null,
16
- punc: false,
17
- special: null
18
- }, {
19
- // 036 KYLLÄ vain osakentän $b jälkeen
20
- rangeStart: null,
21
- rangeEnd: null,
22
- index: 36,
23
- punc: true,
24
- special: {
25
- afterOnly: 'b',
26
- strict: true // Punctuation only after $b, because $a is register number
1
+ const finnishTerms = [
2
+ /^(?:allars|bella|fast|juho|jupo|kassu|kauno|kaunokki|keko|koko|kulo|liiko|liito|local|mero|mts|musa|oiko|puho|seko|woto|valo|ysa|yso)$/u,
3
+ /^(?:kauno|slm|yso)\//u
4
+ // <= yso/* etc
5
+ ];
6
+ const validPuncMarks = "?-!.";
7
+ const validQuoteChars = `"'`;
8
+ const confSpec = [
9
+ {
10
+ // 010-035 EI
11
+ rangeStart: 10,
12
+ rangeEnd: 35,
13
+ index: null,
14
+ punc: false,
15
+ special: null
16
+ },
17
+ {
18
+ // 036 KYLLÄ vain osakentän $b jälkeen
19
+ rangeStart: null,
20
+ rangeEnd: null,
21
+ index: 36,
22
+ punc: true,
23
+ special: {
24
+ afterOnly: "b",
25
+ strict: true
26
+ // Punctuation only after $b, because $a is register number
27
+ }
28
+ },
29
+ {
30
+ // 037-050 EI
31
+ rangeStart: 37,
32
+ rangeEnd: 50,
33
+ index: null,
34
+ punc: false,
35
+ special: null
36
+ },
37
+ {
38
+ // 051 KYLLÄ
39
+ rangeStart: null,
40
+ rangeEnd: null,
41
+ index: 51,
42
+ punc: true,
43
+ special: null
44
+ },
45
+ {
46
+ // 052-09X EI
47
+ rangeStart: 52,
48
+ rangeEnd: 99,
49
+ index: null,
50
+ punc: false,
51
+ special: null
52
+ },
53
+ {
54
+ // 100 KYLLÄ
55
+ rangeStart: null,
56
+ rangeEnd: null,
57
+ index: 100,
58
+ punc: true,
59
+ special: null
60
+ },
61
+ {
62
+ // 110 KYLLÄ
63
+ rangeStart: null,
64
+ rangeEnd: null,
65
+ index: 110,
66
+ punc: true,
67
+ special: null
68
+ },
69
+ {
70
+ // 111 KYLLÄ
71
+ rangeStart: null,
72
+ rangeEnd: null,
73
+ index: 111,
74
+ punc: true,
75
+ special: null
76
+ },
77
+ {
78
+ // 130 KYLLÄ
79
+ rangeStart: null,
80
+ rangeEnd: null,
81
+ index: 130,
82
+ punc: true,
83
+ special: null
84
+ },
85
+ {
86
+ // 210 EI
87
+ rangeStart: null,
88
+ rangeEnd: null,
89
+ index: 210,
90
+ punc: false,
91
+ special: null
92
+ },
93
+ {
94
+ // 222 EI
95
+ rangeStart: null,
96
+ rangeEnd: null,
97
+ index: 222,
98
+ punc: false,
99
+ special: null
100
+ },
101
+ {
102
+ // 240 EI
103
+ rangeStart: null,
104
+ rangeEnd: null,
105
+ index: 240,
106
+ punc: false,
107
+ special: null
108
+ },
109
+ {
110
+ // 242 KYLLÄ Jos viimeinen osakenttä on $y, piste on ennen sitä
111
+ rangeStart: null,
112
+ rangeEnd: null,
113
+ index: 242,
114
+ punc: true,
115
+ special: {
116
+ secondLastIfLast: "y",
117
+ last: false
118
+ }
119
+ },
120
+ {
121
+ // 243 EI
122
+ rangeStart: null,
123
+ rangeEnd: null,
124
+ index: 243,
125
+ punc: false,
126
+ special: null
127
+ },
128
+ {
129
+ // 245 KYLLÄ
130
+ rangeStart: null,
131
+ rangeEnd: null,
132
+ index: 245,
133
+ punc: true,
134
+ special: null
135
+ },
136
+ {
137
+ // 246-247 EI
138
+ rangeStart: 246,
139
+ rangeEnd: 247,
140
+ index: null,
141
+ punc: false,
142
+ special: null
143
+ },
144
+ {
145
+ // 250 KYLLÄ
146
+ rangeStart: null,
147
+ rangeEnd: null,
148
+ index: 250,
149
+ punc: true,
150
+ special: null
151
+ },
152
+ {
153
+ // 251 EI
154
+ rangeStart: null,
155
+ rangeEnd: null,
156
+ index: 251,
157
+ punc: false,
158
+ special: null
159
+ },
160
+ {
161
+ // 254-256 KYLLÄ
162
+ rangeStart: 254,
163
+ rangeEnd: 256,
164
+ index: null,
165
+ punc: true,
166
+ special: null
167
+ },
168
+ {
169
+ // 257
170
+ rangeStart: null,
171
+ rangeEnd: null,
172
+ index: 257,
173
+ punc: true,
174
+ special: {
175
+ noPuncIfField: "2"
176
+ }
177
+ },
178
+ {
179
+ // 258 KYLLÄ
180
+ rangeStart: null,
181
+ rangeEnd: null,
182
+ index: 258,
183
+ punc: true,
184
+ special: null
185
+ },
186
+ {
187
+ // 260 KYLLÄ Pääsääntö: $a : $b, $c. Tarkista eri poikkeukset ja välimerkitys MARC 21 Full -versiosta
188
+ rangeStart: null,
189
+ rangeEnd: null,
190
+ index: 260,
191
+ punc: true,
192
+ special: {
193
+ afterOnly: "c",
194
+ strict: false
195
+ // Others fields may contain abbreviation
196
+ }
197
+ },
198
+ {
199
+ // 263 EI
200
+ rangeStart: null,
201
+ rangeEnd: null,
202
+ index: 263,
203
+ punc: false,
204
+ special: null
205
+ },
206
+ {
207
+ // 264 KYLLÄ Tarkista poikkeukset MARC 21 -sovellusohjeesta
208
+ rangeStart: null,
209
+ rangeEnd: null,
210
+ index: 264,
211
+ punc: true,
212
+ special: {
213
+ ifBoth: true,
214
+ puncSubField: "c",
215
+ ifInd2: ["0", "1", "2", "3"],
216
+ ifLastCharNot: "]-)?",
217
+ noPuncIfInd2: ["4"]
218
+ }
219
+ },
220
+ {
221
+ // 270 EI
222
+ rangeStart: null,
223
+ rangeEnd: null,
224
+ index: 270,
225
+ punc: false,
226
+ special: null
227
+ },
228
+ {
229
+ // 300 EI
230
+ rangeStart: null,
231
+ rangeEnd: null,
232
+ index: 300,
233
+ punc: false,
234
+ special: null
235
+ },
236
+ {
237
+ // 306 EI
238
+ rangeStart: null,
239
+ rangeEnd: null,
240
+ index: 306,
241
+ punc: false,
242
+ special: null
243
+ },
244
+ {
245
+ // 307 KYLLÄ
246
+ rangeStart: null,
247
+ rangeEnd: null,
248
+ index: 307,
249
+ punc: true,
250
+ special: null
251
+ },
252
+ {
253
+ // 310 EI
254
+ rangeStart: null,
255
+ rangeEnd: null,
256
+ index: 310,
257
+ punc: false,
258
+ special: null
259
+ },
260
+ {
261
+ // 321 EI
262
+ rangeStart: null,
263
+ rangeEnd: null,
264
+ index: 321,
265
+ punc: false,
266
+ special: null
267
+ },
268
+ {
269
+ // 335-338 EI
270
+ rangeStart: 335,
271
+ rangeEnd: 338,
272
+ index: null,
273
+ punc: false,
274
+ special: null
275
+ },
276
+ {
277
+ // 340 KYLLÄ Vain joidenkin osakenttien jälkeen. Tarkista osakentät MARC 21 Full -versiosta
278
+ rangeStart: null,
279
+ rangeEnd: null,
280
+ index: 340,
281
+ punc: true,
282
+ special: {
283
+ lastOf: ["a", "d", "e", "f", "h", "i"],
284
+ mandatory: ["b"]
285
+ }
286
+ },
287
+ {
288
+ // 341-342 EI
289
+ rangeStart: 341,
290
+ rangeEnd: 342,
291
+ index: null,
292
+ punc: false,
293
+ special: null
294
+ },
295
+ {
296
+ // 343 KYLLÄ
297
+ rangeStart: null,
298
+ rangeEnd: null,
299
+ index: 343,
300
+ punc: true,
301
+ special: null
302
+ },
303
+ {
304
+ // 344-348 EI
305
+ rangeStart: 344,
306
+ rangeEnd: 348,
307
+ index: null,
308
+ punc: false,
309
+ special: null
310
+ },
311
+ {
312
+ // 351-352 KYLLÄ
313
+ rangeStart: 351,
314
+ rangeEnd: 352,
315
+ index: null,
316
+ punc: true,
317
+ special: null
318
+ },
319
+ {
320
+ // 355 EI
321
+ rangeStart: null,
322
+ rangeEnd: null,
323
+ index: 355,
324
+ punc: false,
325
+ special: null
326
+ },
327
+ {
328
+ // 357 EI
329
+ rangeStart: null,
330
+ rangeEnd: null,
331
+ index: 357,
332
+ punc: false,
333
+ special: null
334
+ },
335
+ {
336
+ // 362 KYLLÄ
337
+ rangeStart: null,
338
+ rangeEnd: null,
339
+ index: 362,
340
+ punc: true,
341
+ special: null
342
+ },
343
+ {
344
+ // 363 EI
345
+ rangeStart: null,
346
+ rangeEnd: null,
347
+ index: 363,
348
+ punc: false,
349
+ special: null
350
+ },
351
+ {
352
+ // 365-366 EI
353
+ rangeStart: 365,
354
+ rangeEnd: 366,
355
+ index: null,
356
+ punc: false,
357
+ special: null
358
+ },
359
+ {
360
+ // 370 EI
361
+ rangeStart: null,
362
+ rangeEnd: null,
363
+ index: 370,
364
+ punc: false,
365
+ special: null
366
+ },
367
+ {
368
+ // 377 EI
369
+ rangeStart: null,
370
+ rangeEnd: null,
371
+ index: 377,
372
+ punc: false,
373
+ special: null
374
+ },
375
+ {
376
+ // 380-388 EI
377
+ rangeStart: 380,
378
+ rangeEnd: 388,
379
+ index: null,
380
+ punc: false,
381
+ special: null
382
+ },
383
+ {
384
+ // 490 EI
385
+ rangeStart: null,
386
+ rangeEnd: null,
387
+ index: 490,
388
+ punc: false,
389
+ special: null
390
+ },
391
+ {
392
+ // 500-505 KYLLÄ
393
+ rangeStart: 500,
394
+ rangeEnd: 505,
395
+ index: null,
396
+ punc: true,
397
+ special: null
398
+ },
399
+ {
400
+ // 506 KYLLÄ
401
+ index: 506,
402
+ punc: true,
403
+ special: {
404
+ noPuncIfField: "f"
405
+ }
406
+ },
407
+ {
408
+ // 507-509 KYLLÄ
409
+ rangeStart: 507,
410
+ rangeEnd: 509,
411
+ index: null,
412
+ punc: true,
413
+ special: null
414
+ },
415
+ {
416
+ // 510 EI
417
+ rangeStart: null,
418
+ rangeEnd: null,
419
+ index: 510,
420
+ punc: false,
421
+ special: null
422
+ },
423
+ {
424
+ // 511-518 KYLLÄ
425
+ rangeStart: 511,
426
+ rangeEnd: 518,
427
+ index: null,
428
+ punc: true,
429
+ special: null
430
+ },
431
+ {
432
+ // 520 KYLLÄ Jos viimeinen osakenttä on $u, piste on ennen sitä
433
+ rangeStart: null,
434
+ rangeEnd: null,
435
+ index: 520,
436
+ punc: true,
437
+ special: {
438
+ secondLastIfLast: "u"
439
+ // Last: false //$u is URL and hence should not be checked as URL's can have '.' at end
440
+ }
441
+ },
442
+ {
443
+ // 521-526 KYLLÄ
444
+ rangeStart: 521,
445
+ rangeEnd: 526,
446
+ index: null,
447
+ punc: true,
448
+ special: null
449
+ },
450
+ {
451
+ // 530 KYLLÄ
452
+ rangeStart: null,
453
+ rangeEnd: null,
454
+ index: 530,
455
+ punc: true,
456
+ special: null
457
+ },
458
+ {
459
+ // 532 EI
460
+ rangeStart: null,
461
+ rangeEnd: null,
462
+ index: 532,
463
+ punc: false,
464
+ special: null
465
+ },
466
+ {
467
+ // 533-534 KYLLÄ
468
+ rangeStart: 533,
469
+ rangeEnd: 534,
470
+ index: null,
471
+ punc: true,
472
+ special: null
473
+ },
474
+ {
475
+ // 535-536 EI
476
+ rangeStart: 535,
477
+ rangeEnd: 536,
478
+ index: null,
479
+ punc: false,
480
+ special: null
481
+ },
482
+ {
483
+ // 538 KYLLÄ Jos viimeinen osakenttä on $u, piste on ennen sitä
484
+ rangeStart: null,
485
+ rangeEnd: null,
486
+ index: 538,
487
+ punc: true,
488
+ special: {
489
+ secondLastIfLast: "u"
490
+ // Last: false //$u is URL and hence should not be checked as URL's can have '.' at end
491
+ }
492
+ },
493
+ {
494
+ // 540-541 KYLLÄ
495
+ rangeStart: 540,
496
+ rangeEnd: 541,
497
+ index: null,
498
+ punc: true,
499
+ special: {
500
+ noPuncIfField: "u"
501
+ }
502
+ },
503
+ {
504
+ // 542 EI
505
+ rangeStart: null,
506
+ rangeEnd: null,
507
+ index: 542,
508
+ punc: false,
509
+ special: null
510
+ },
511
+ {
512
+ // 544-547 KYLLÄ
513
+ rangeStart: 544,
514
+ rangeEnd: 547,
515
+ index: null,
516
+ punc: true,
517
+ special: null
518
+ },
519
+ {
520
+ // 550 KYLLÄ
521
+ rangeStart: null,
522
+ rangeEnd: null,
523
+ index: 550,
524
+ punc: true,
525
+ special: null
526
+ },
527
+ {
528
+ // 552 KYLLÄ
529
+ rangeStart: null,
530
+ rangeEnd: null,
531
+ index: 552,
532
+ punc: true,
533
+ special: null
534
+ },
535
+ {
536
+ // 555-556 KYLLÄ
537
+ rangeStart: 555,
538
+ rangeEnd: 556,
539
+ index: null,
540
+ punc: true,
541
+ special: null
542
+ },
543
+ {
544
+ // 561-563 KYLLÄ
545
+ rangeStart: 561,
546
+ rangeEnd: 563,
547
+ index: null,
548
+ punc: true,
549
+ special: null
550
+ },
551
+ {
552
+ // 565 EI
553
+ rangeStart: null,
554
+ rangeEnd: null,
555
+ index: 565,
556
+ punc: false,
557
+ special: null
558
+ },
559
+ {
560
+ // 567 KYLLÄ osakentän $a jälkeen, EI muiden osakenttien jälkeen
561
+ rangeStart: null,
562
+ rangeEnd: null,
563
+ index: 567,
564
+ punc: true,
565
+ special: {
566
+ afterOnly: "a",
567
+ strict: true
568
+ // $b can only be controlled term
569
+ }
570
+ },
571
+ {
572
+ // 580-581 KYLLÄ
573
+ rangeStart: 580,
574
+ rangeEnd: 581,
575
+ index: null,
576
+ punc: true,
577
+ special: null
578
+ },
579
+ {
580
+ // 583 EI
581
+ rangeStart: null,
582
+ rangeEnd: null,
583
+ index: 583,
584
+ punc: false,
585
+ special: null
586
+ },
587
+ {
588
+ // 584-585 KYLLÄ
589
+ rangeStart: 584,
590
+ rangeEnd: 585,
591
+ index: null,
592
+ punc: true,
593
+ special: null
594
+ },
595
+ {
596
+ // 586 EI
597
+ rangeStart: null,
598
+ rangeEnd: null,
599
+ index: 586,
600
+ punc: false,
601
+ special: null
602
+ },
603
+ {
604
+ // 588 KYLLÄ
605
+ rangeStart: null,
606
+ rangeEnd: null,
607
+ index: null,
608
+ punc: true,
609
+ special: null
610
+ },
611
+ {
612
+ // 59X EI
613
+ rangeStart: 590,
614
+ rangeEnd: 599,
615
+ index: null,
616
+ punc: false,
617
+ special: null
618
+ },
619
+ {
620
+ // 600 KYLLÄ
621
+ rangeStart: null,
622
+ rangeEnd: null,
623
+ index: 600,
624
+ punc: true,
625
+ special: null
626
+ },
627
+ {
628
+ // 610 KYLLÄ
629
+ rangeStart: null,
630
+ rangeEnd: null,
631
+ index: 610,
632
+ punc: true,
633
+ special: null
634
+ },
635
+ {
636
+ // 611 KYLLÄ
637
+ rangeStart: null,
638
+ rangeEnd: null,
639
+ index: 611,
640
+ punc: true,
641
+ special: null
642
+ },
643
+ {
644
+ // 630 KYLLÄ
645
+ rangeStart: null,
646
+ rangeEnd: null,
647
+ index: 630,
648
+ punc: true,
649
+ special: null
650
+ },
651
+ {
652
+ // 647-651 EI suomalaisten sanastojen termeihin, muihin sanaston käytännön mukaan, yleensä KYLLÄ
653
+ rangeStart: 647,
654
+ rangeEnd: 651,
655
+ index: null,
656
+ punc: false,
657
+ special: {
658
+ termSubfieldCode: "2",
659
+ finnishTerms,
660
+ else: true
661
+ }
662
+ },
663
+ {
664
+ // 653 EI
665
+ rangeStart: null,
666
+ rangeEnd: null,
667
+ index: 653,
668
+ punc: false,
669
+ special: null
670
+ },
671
+ {
672
+ // 654-662 EI suomalaisten sanastojen termeihin, muihin sanaston käytännön mukaan, yleensä KYLLÄ
673
+ rangeStart: 654,
674
+ rangeEnd: 662,
675
+ index: null,
676
+ punc: false,
677
+ special: {
678
+ termSubfieldCode: "2",
679
+ finnishTerms,
680
+ else: true
681
+ }
682
+ },
683
+ {
684
+ // 69X EI
685
+ rangeStart: 690,
686
+ rangeEnd: 699,
687
+ index: null,
688
+ punc: false,
689
+ special: null
690
+ },
691
+ {
692
+ // 700 KYLLÄ
693
+ rangeStart: null,
694
+ rangeEnd: null,
695
+ index: 700,
696
+ punc: true,
697
+ special: null
698
+ },
699
+ {
700
+ // 710 KYLLÄ
701
+ rangeStart: null,
702
+ rangeEnd: null,
703
+ index: 710,
704
+ punc: true,
705
+ special: null
706
+ },
707
+ {
708
+ // 711 KYLLÄ
709
+ rangeStart: null,
710
+ rangeEnd: null,
711
+ index: 711,
712
+ punc: true,
713
+ special: null
714
+ },
715
+ {
716
+ // 720 EI
717
+ rangeStart: null,
718
+ rangeEnd: null,
719
+ index: 720,
720
+ punc: false,
721
+ special: null
722
+ },
723
+ {
724
+ // 730 KYLLÄ
725
+ rangeStart: null,
726
+ rangeEnd: null,
727
+ index: 730,
728
+ punc: true,
729
+ special: null
730
+ },
731
+ {
732
+ // 740 KYLLÄ
733
+ rangeStart: null,
734
+ rangeEnd: null,
735
+ index: 740,
736
+ punc: true,
737
+ special: null
738
+ },
739
+ {
740
+ // 751 EI
741
+ rangeStart: null,
742
+ rangeEnd: null,
743
+ index: 751,
744
+ punc: false,
745
+ special: null
746
+ },
747
+ {
748
+ // 752 KYLLÄ
749
+ rangeStart: null,
750
+ rangeEnd: null,
751
+ index: 752,
752
+ punc: true,
753
+ special: null
754
+ },
755
+ {
756
+ // 753 EI
757
+ rangeStart: null,
758
+ rangeEnd: null,
759
+ index: 753,
760
+ punc: false,
761
+ special: null
762
+ },
763
+ {
764
+ // 754 KYLLÄ
765
+ rangeStart: null,
766
+ rangeEnd: null,
767
+ index: 754,
768
+ punc: true,
769
+ special: null
770
+ },
771
+ {
772
+ // 758 EI
773
+ rangeStart: null,
774
+ rangeEnd: null,
775
+ index: 758,
776
+ punc: false,
777
+ special: null
778
+ },
779
+ {
780
+ // 760-787 KYLLÄ osakentän $a jälkeen, EI muiden osakenttien jälkeen
781
+ rangeStart: 760,
782
+ rangeEnd: 787,
783
+ index: null,
784
+ punc: true,
785
+ special: {
786
+ afterOnly: "a",
787
+ strict: false
788
+ }
789
+ },
790
+ {
791
+ // 800 KYLLÄ
792
+ rangeStart: null,
793
+ rangeEnd: null,
794
+ index: 800,
795
+ punc: true,
796
+ special: null
797
+ },
798
+ {
799
+ // 810 KYLLÄ
800
+ rangeStart: null,
801
+ rangeEnd: null,
802
+ index: 810,
803
+ punc: true,
804
+ special: null
805
+ },
806
+ {
807
+ // 811 KYLLÄ
808
+ rangeStart: null,
809
+ rangeEnd: null,
810
+ index: 811,
811
+ punc: true,
812
+ special: null
813
+ },
814
+ {
815
+ // 830 KYLLÄ
816
+ rangeStart: null,
817
+ rangeEnd: null,
818
+ index: 830,
819
+ punc: true,
820
+ special: null
821
+ },
822
+ {
823
+ // 850 EI
824
+ rangeStart: null,
825
+ rangeEnd: null,
826
+ index: 850,
827
+ punc: false,
828
+ special: null
829
+ },
830
+ {
831
+ // 852 EI
832
+ rangeStart: null,
833
+ rangeEnd: null,
834
+ index: 852,
835
+ punc: false,
836
+ special: null
837
+ },
838
+ {
839
+ // 856 EI
840
+ rangeStart: null,
841
+ rangeEnd: null,
842
+ index: 856,
843
+ punc: false,
844
+ special: null
845
+ },
846
+ {
847
+ // 880 Samoin kuin vastaavat kentät
848
+ rangeStart: null,
849
+ rangeEnd: null,
850
+ index: 880,
851
+ punc: null,
852
+ special: {
853
+ linked: "6"
854
+ }
855
+ },
856
+ {
857
+ // 882-887 EI
858
+ rangeStart: 882,
859
+ rangeEnd: 887,
860
+ index: null,
861
+ punc: false,
862
+ special: null
863
+ },
864
+ {
865
+ // 9XX EI
866
+ rangeStart: 900,
867
+ rangeEnd: 999,
868
+ index: null,
869
+ punc: false,
870
+ special: null
27
871
  }
28
- }, {
29
- // 037-050 EI
30
- rangeStart: 37,
31
- rangeEnd: 50,
32
- index: null,
33
- punc: false,
34
- special: null
35
- }, {
36
- // 051 KYLLÄ
37
- rangeStart: null,
38
- rangeEnd: null,
39
- index: 51,
40
- punc: true,
41
- special: null
42
- }, {
43
- // 052-09X EI
44
- rangeStart: 52,
45
- rangeEnd: 99,
46
- index: null,
47
- punc: false,
48
- special: null
49
- }, {
50
- // 100 KYLLÄ
51
- rangeStart: null,
52
- rangeEnd: null,
53
- index: 100,
54
- punc: true,
55
- special: null
56
- }, {
57
- // 110 KYLLÄ
58
- rangeStart: null,
59
- rangeEnd: null,
60
- index: 110,
61
- punc: true,
62
- special: null
63
- }, {
64
- // 111 KYLLÄ
65
- rangeStart: null,
66
- rangeEnd: null,
67
- index: 111,
68
- punc: true,
69
- special: null
70
- }, {
71
- // 130 KYLLÄ
72
- rangeStart: null,
73
- rangeEnd: null,
74
- index: 130,
75
- punc: true,
76
- special: null
77
- }, {
78
- // 210 EI
79
- rangeStart: null,
80
- rangeEnd: null,
81
- index: 210,
82
- punc: false,
83
- special: null
84
- }, {
85
- // 222 EI
86
- rangeStart: null,
87
- rangeEnd: null,
88
- index: 222,
89
- punc: false,
90
- special: null
91
- }, {
92
- // 240 EI
93
- rangeStart: null,
94
- rangeEnd: null,
95
- index: 240,
96
- punc: false,
97
- special: null
98
- }, {
99
- // 242 KYLLÄ Jos viimeinen osakenttä on $y, piste on ennen sitä
100
- rangeStart: null,
101
- rangeEnd: null,
102
- index: 242,
103
- punc: true,
104
- special: {
105
- secondLastIfLast: 'y',
106
- last: false
107
- }
108
- }, {
109
- // 243 EI
110
- rangeStart: null,
111
- rangeEnd: null,
112
- index: 243,
113
- punc: false,
114
- special: null
115
- }, {
116
- // 245 KYLLÄ
117
- rangeStart: null,
118
- rangeEnd: null,
119
- index: 245,
120
- punc: true,
121
- special: null
122
- }, {
123
- // 246-247 EI
124
- rangeStart: 246,
125
- rangeEnd: 247,
126
- index: null,
127
- punc: false,
128
- special: null
129
- }, {
130
- // 250 KYLLÄ
131
- rangeStart: null,
132
- rangeEnd: null,
133
- index: 250,
134
- punc: true,
135
- special: null
136
- }, {
137
- // 251 EI
138
- rangeStart: null,
139
- rangeEnd: null,
140
- index: 251,
141
- punc: false,
142
- special: null
143
- }, {
144
- // 254-256 KYLLÄ
145
- rangeStart: 254,
146
- rangeEnd: 256,
147
- index: null,
148
- punc: true,
149
- special: null
150
- }, {
151
- // 257
152
- rangeStart: null,
153
- rangeEnd: null,
154
- index: 257,
155
- punc: true,
156
- special: {
157
- noPuncIfField: '2'
158
- }
159
- }, {
160
- // 258 KYLLÄ
161
- rangeStart: null,
162
- rangeEnd: null,
163
- index: 258,
164
- punc: true,
165
- special: null
166
- }, {
167
- // 260 KYLLÄ Pääsääntö: $a : $b, $c. Tarkista eri poikkeukset ja välimerkitys MARC 21 Full -versiosta
168
- rangeStart: null,
169
- rangeEnd: null,
170
- index: 260,
171
- punc: true,
172
- special: {
173
- afterOnly: 'c',
174
- strict: false // Others fields may contain abbreviation
175
- }
176
- }, {
177
- // 263 EI
178
- rangeStart: null,
179
- rangeEnd: null,
180
- index: 263,
181
- punc: false,
182
- special: null
183
- }, {
184
- // 264 KYLLÄ Tarkista poikkeukset MARC 21 -sovellusohjeesta
185
- rangeStart: null,
186
- rangeEnd: null,
187
- index: 264,
188
- punc: true,
189
- special: {
190
- ifBoth: true,
191
- puncSubField: 'c',
192
- ifInd2: ['0', '1', '2', '3'],
193
- ifLastCharNot: ']-)?',
194
- noPuncIfInd2: ['4']
195
- }
196
- }, {
197
- // 270 EI
198
- rangeStart: null,
199
- rangeEnd: null,
200
- index: 270,
201
- punc: false,
202
- special: null
203
- }, {
204
- // 300 EI
205
- rangeStart: null,
206
- rangeEnd: null,
207
- index: 300,
208
- punc: false,
209
- special: null
210
- }, {
211
- // 306 EI
212
- rangeStart: null,
213
- rangeEnd: null,
214
- index: 306,
215
- punc: false,
216
- special: null
217
- }, {
218
- // 307 KYLLÄ
219
- rangeStart: null,
220
- rangeEnd: null,
221
- index: 307,
222
- punc: true,
223
- special: null
224
- }, {
225
- // 310 EI
226
- rangeStart: null,
227
- rangeEnd: null,
228
- index: 310,
229
- punc: false,
230
- special: null
231
- }, {
232
- // 321 EI
233
- rangeStart: null,
234
- rangeEnd: null,
235
- index: 321,
236
- punc: false,
237
- special: null
238
- }, {
239
- // 335-338 EI
240
- rangeStart: 335,
241
- rangeEnd: 338,
242
- index: null,
243
- punc: false,
244
- special: null
245
- }, {
246
- // 340 KYLLÄ Vain joidenkin osakenttien jälkeen. Tarkista osakentät MARC 21 Full -versiosta
247
- rangeStart: null,
248
- rangeEnd: null,
249
- index: 340,
250
- punc: true,
251
- special: {
252
- lastOf: ['a', 'd', 'e', 'f', 'h', 'i'],
253
- mandatory: ['b']
254
- }
255
- }, {
256
- // 341-342 EI
257
- rangeStart: 341,
258
- rangeEnd: 342,
259
- index: null,
260
- punc: false,
261
- special: null
262
- }, {
263
- // 343 KYLLÄ
264
- rangeStart: null,
265
- rangeEnd: null,
266
- index: 343,
267
- punc: true,
268
- special: null
269
- }, {
270
- // 344-348 EI
271
- rangeStart: 344,
272
- rangeEnd: 348,
273
- index: null,
274
- punc: false,
275
- special: null
276
- }, {
277
- // 351-352 KYLLÄ
278
- rangeStart: 351,
279
- rangeEnd: 352,
280
- index: null,
281
- punc: true,
282
- special: null
283
- }, {
284
- // 355 EI
285
- rangeStart: null,
286
- rangeEnd: null,
287
- index: 355,
288
- punc: false,
289
- special: null
290
- }, {
291
- // 357 EI
292
- rangeStart: null,
293
- rangeEnd: null,
294
- index: 357,
295
- punc: false,
296
- special: null
297
- }, {
298
- // 362 KYLLÄ
299
- rangeStart: null,
300
- rangeEnd: null,
301
- index: 362,
302
- punc: true,
303
- special: null
304
- }, {
305
- // 363 EI
306
- rangeStart: null,
307
- rangeEnd: null,
308
- index: 363,
309
- punc: false,
310
- special: null
311
- }, {
312
- // 365-366 EI
313
- rangeStart: 365,
314
- rangeEnd: 366,
315
- index: null,
316
- punc: false,
317
- special: null
318
- }, {
319
- // 370 EI
320
- rangeStart: null,
321
- rangeEnd: null,
322
- index: 370,
323
- punc: false,
324
- special: null
325
- }, {
326
- // 377 EI
327
- rangeStart: null,
328
- rangeEnd: null,
329
- index: 377,
330
- punc: false,
331
- special: null
332
- }, {
333
- // 380-388 EI
334
- rangeStart: 380,
335
- rangeEnd: 388,
336
- index: null,
337
- punc: false,
338
- special: null
339
- }, {
340
- // 490 EI
341
- rangeStart: null,
342
- rangeEnd: null,
343
- index: 490,
344
- punc: false,
345
- special: null
346
- }, {
347
- // 500-505 KYLLÄ
348
- rangeStart: 500,
349
- rangeEnd: 505,
350
- index: null,
351
- punc: true,
352
- special: null
353
- }, {
354
- // 506 KYLLÄ
355
- index: 506,
356
- punc: true,
357
- special: {
358
- noPuncIfField: 'f'
359
- }
360
- }, {
361
- // 507-509 KYLLÄ
362
- rangeStart: 507,
363
- rangeEnd: 509,
364
- index: null,
365
- punc: true,
366
- special: null
367
- }, {
368
- // 510 EI
369
- rangeStart: null,
370
- rangeEnd: null,
371
- index: 510,
372
- punc: false,
373
- special: null
374
- }, {
375
- // 511-518 KYLLÄ
376
- rangeStart: 511,
377
- rangeEnd: 518,
378
- index: null,
379
- punc: true,
380
- special: null
381
- }, {
382
- // 520 KYLLÄ Jos viimeinen osakenttä on $u, piste on ennen sitä
383
- rangeStart: null,
384
- rangeEnd: null,
385
- index: 520,
386
- punc: true,
387
- special: {
388
- secondLastIfLast: 'u'
389
- // Last: false //$u is URL and hence should not be checked as URL's can have '.' at end
390
- }
391
- }, {
392
- // 521-526 KYLLÄ
393
- rangeStart: 521,
394
- rangeEnd: 526,
395
- index: null,
396
- punc: true,
397
- special: null
398
- }, {
399
- // 530 KYLLÄ
400
- rangeStart: null,
401
- rangeEnd: null,
402
- index: 530,
403
- punc: true,
404
- special: null
405
- }, {
406
- // 532 EI
407
- rangeStart: null,
408
- rangeEnd: null,
409
- index: 532,
410
- punc: false,
411
- special: null
412
- }, {
413
- // 533-534 KYLLÄ
414
- rangeStart: 533,
415
- rangeEnd: 534,
416
- index: null,
417
- punc: true,
418
- special: null
419
- }, {
420
- // 535-536 EI
421
- rangeStart: 535,
422
- rangeEnd: 536,
423
- index: null,
424
- punc: false,
425
- special: null
426
- }, {
427
- // 538 KYLLÄ Jos viimeinen osakenttä on $u, piste on ennen sitä
428
- rangeStart: null,
429
- rangeEnd: null,
430
- index: 538,
431
- punc: true,
432
- special: {
433
- secondLastIfLast: 'u'
434
- // Last: false //$u is URL and hence should not be checked as URL's can have '.' at end
435
- }
436
- }, {
437
- // 540-541 KYLLÄ
438
- rangeStart: 540,
439
- rangeEnd: 541,
440
- index: null,
441
- punc: true,
442
- special: {
443
- noPuncIfField: 'u'
444
- }
445
- }, {
446
- // 542 EI
447
- rangeStart: null,
448
- rangeEnd: null,
449
- index: 542,
450
- punc: false,
451
- special: null
452
- }, {
453
- // 544-547 KYLLÄ
454
- rangeStart: 544,
455
- rangeEnd: 547,
456
- index: null,
457
- punc: true,
458
- special: null
459
- }, {
460
- // 550 KYLLÄ
461
- rangeStart: null,
462
- rangeEnd: null,
463
- index: 550,
464
- punc: true,
465
- special: null
466
- }, {
467
- // 552 KYLLÄ
468
- rangeStart: null,
469
- rangeEnd: null,
470
- index: 552,
471
- punc: true,
472
- special: null
473
- }, {
474
- // 555-556 KYLLÄ
475
- rangeStart: 555,
476
- rangeEnd: 556,
477
- index: null,
478
- punc: true,
479
- special: null
480
- }, {
481
- // 561-563 KYLLÄ
482
- rangeStart: 561,
483
- rangeEnd: 563,
484
- index: null,
485
- punc: true,
486
- special: null
487
- }, {
488
- // 565 EI
489
- rangeStart: null,
490
- rangeEnd: null,
491
- index: 565,
492
- punc: false,
493
- special: null
494
- }, {
495
- // 567 KYLLÄ osakentän $a jälkeen, EI muiden osakenttien jälkeen
496
- rangeStart: null,
497
- rangeEnd: null,
498
- index: 567,
499
- punc: true,
500
- special: {
501
- afterOnly: 'a',
502
- strict: true // $b can only be controlled term
503
- }
504
- }, {
505
- // 580-581 KYLLÄ
506
- rangeStart: 580,
507
- rangeEnd: 581,
508
- index: null,
509
- punc: true,
510
- special: null
511
- }, {
512
- // 583 EI
513
- rangeStart: null,
514
- rangeEnd: null,
515
- index: 583,
516
- punc: false,
517
- special: null
518
- }, {
519
- // 584-585 KYLLÄ
520
- rangeStart: 584,
521
- rangeEnd: 585,
522
- index: null,
523
- punc: true,
524
- special: null
525
- }, {
526
- // 586 EI
527
- rangeStart: null,
528
- rangeEnd: null,
529
- index: 586,
530
- punc: false,
531
- special: null
532
- }, {
533
- // 588 KYLLÄ
534
- rangeStart: null,
535
- rangeEnd: null,
536
- index: null,
537
- punc: true,
538
- special: null
539
- }, {
540
- // 59X EI
541
- rangeStart: 590,
542
- rangeEnd: 599,
543
- index: null,
544
- punc: false,
545
- special: null
546
- }, {
547
- // 600 KYLLÄ
548
- rangeStart: null,
549
- rangeEnd: null,
550
- index: 600,
551
- punc: true,
552
- special: null
553
- }, {
554
- // 610 KYLLÄ
555
- rangeStart: null,
556
- rangeEnd: null,
557
- index: 610,
558
- punc: true,
559
- special: null
560
- }, {
561
- // 611 KYLLÄ
562
- rangeStart: null,
563
- rangeEnd: null,
564
- index: 611,
565
- punc: true,
566
- special: null
567
- }, {
568
- // 630 KYLLÄ
569
- rangeStart: null,
570
- rangeEnd: null,
571
- index: 630,
572
- punc: true,
573
- special: null
574
- }, {
575
- // 647-651 EI suomalaisten sanastojen termeihin, muihin sanaston käytännön mukaan, yleensä KYLLÄ
576
- rangeStart: 647,
577
- rangeEnd: 651,
578
- index: null,
579
- punc: false,
580
- special: {
581
- termField: '2',
582
- finnishTerms,
583
- else: true
584
- }
585
- }, {
586
- // 653 EI
587
- rangeStart: null,
588
- rangeEnd: null,
589
- index: 653,
590
- punc: false,
591
- special: null
592
- }, {
593
- // 654-662 EI suomalaisten sanastojen termeihin, muihin sanaston käytännön mukaan, yleensä KYLLÄ
594
- rangeStart: 654,
595
- rangeEnd: 662,
596
- index: null,
597
- punc: false,
598
- special: {
599
- termField: '2',
600
- finnishTerms,
601
- else: true
602
- }
603
- }, {
604
- // 69X EI
605
- rangeStart: 690,
606
- rangeEnd: 699,
607
- index: null,
608
- punc: false,
609
- special: null
610
- }, {
611
- // 700 KYLLÄ
612
- rangeStart: null,
613
- rangeEnd: null,
614
- index: 700,
615
- punc: true,
616
- special: null
617
- }, {
618
- // 710 KYLLÄ
619
- rangeStart: null,
620
- rangeEnd: null,
621
- index: 710,
622
- punc: true,
623
- special: null
624
- }, {
625
- // 711 KYLLÄ
626
- rangeStart: null,
627
- rangeEnd: null,
628
- index: 711,
629
- punc: true,
630
- special: null
631
- }, {
632
- // 720 EI
633
- rangeStart: null,
634
- rangeEnd: null,
635
- index: 720,
636
- punc: false,
637
- special: null
638
- }, {
639
- // 730 KYLLÄ
640
- rangeStart: null,
641
- rangeEnd: null,
642
- index: 730,
643
- punc: true,
644
- special: null
645
- }, {
646
- // 740 KYLLÄ
647
- rangeStart: null,
648
- rangeEnd: null,
649
- index: 740,
650
- punc: true,
651
- special: null
652
- }, {
653
- // 751 EI
654
- rangeStart: null,
655
- rangeEnd: null,
656
- index: 751,
657
- punc: false,
658
- special: null
659
- }, {
660
- // 752 KYLLÄ
661
- rangeStart: null,
662
- rangeEnd: null,
663
- index: 752,
664
- punc: true,
665
- special: null
666
- }, {
667
- // 753 EI
668
- rangeStart: null,
669
- rangeEnd: null,
670
- index: 753,
671
- punc: false,
672
- special: null
673
- }, {
674
- // 754 KYLLÄ
675
- rangeStart: null,
676
- rangeEnd: null,
677
- index: 754,
678
- punc: true,
679
- special: null
680
- }, {
681
- // 758 EI
682
- rangeStart: null,
683
- rangeEnd: null,
684
- index: 758,
685
- punc: false,
686
- special: null
687
- }, {
688
- // 760-787 KYLLÄ osakentän $a jälkeen, EI muiden osakenttien jälkeen
689
- rangeStart: 760,
690
- rangeEnd: 787,
691
- index: null,
692
- punc: true,
693
- special: {
694
- afterOnly: 'a',
695
- strict: false
696
- }
697
- }, {
698
- // 800 KYLLÄ
699
- rangeStart: null,
700
- rangeEnd: null,
701
- index: 800,
702
- punc: true,
703
- special: null
704
- }, {
705
- // 810 KYLLÄ
706
- rangeStart: null,
707
- rangeEnd: null,
708
- index: 810,
709
- punc: true,
710
- special: null
711
- }, {
712
- // 811 KYLLÄ
713
- rangeStart: null,
714
- rangeEnd: null,
715
- index: 811,
716
- punc: true,
717
- special: null
718
- }, {
719
- // 830 KYLLÄ
720
- rangeStart: null,
721
- rangeEnd: null,
722
- index: 830,
723
- punc: true,
724
- special: null
725
- }, {
726
- // 850 EI
727
- rangeStart: null,
728
- rangeEnd: null,
729
- index: 850,
730
- punc: false,
731
- special: null
732
- }, {
733
- // 852 EI
734
- rangeStart: null,
735
- rangeEnd: null,
736
- index: 852,
737
- punc: false,
738
- special: null
739
- }, {
740
- // 856 EI
741
- rangeStart: null,
742
- rangeEnd: null,
743
- index: 856,
744
- punc: false,
745
- special: null
746
- }, {
747
- // 880 Samoin kuin vastaavat kentät
748
- rangeStart: null,
749
- rangeEnd: null,
750
- index: 880,
751
- punc: null,
752
- special: {
753
- linked: '6'
754
- }
755
- }, {
756
- // 882-887 EI
757
- rangeStart: 882,
758
- rangeEnd: 887,
759
- index: null,
760
- punc: false,
761
- special: null
762
- }, {
763
- // 9XX EI
764
- rangeStart: 900,
765
- rangeEnd: 999,
766
- index: null,
767
- punc: false,
768
- special: null
769
- }];
770
- //# sourceMappingURL=ending-punctuation-conf.js.map
872
+ ];
873
+ export { finnishTerms, validPuncMarks, validQuoteChars, confSpec };
874
+ //# sourceMappingURL=ending-punctuation-conf.js.map