@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.
- package/.github/workflows/{melinda-node-tests.yml → melinda-node-tests-and-publish.yml} +37 -12
- package/dist/access-rights.js +63 -91
- package/dist/access-rights.js.map +7 -1
- package/dist/access-rights.test.js +137 -0
- package/dist/access-rights.test.js.map +7 -0
- package/dist/addMissingField041.js +21 -53
- package/dist/addMissingField041.js.map +7 -1
- package/dist/addMissingField041.test.js +39 -0
- package/dist/addMissingField041.test.js.map +7 -0
- package/dist/addMissingField336.js +99 -191
- package/dist/addMissingField336.js.map +7 -1
- package/dist/addMissingField336.test.js +39 -0
- package/dist/addMissingField336.test.js.map +7 -0
- package/dist/addMissingField337.js +63 -132
- package/dist/addMissingField337.js.map +7 -1
- package/dist/addMissingField337.test.js +39 -0
- package/dist/addMissingField337.test.js.map +7 -0
- package/dist/addMissingField338.js +147 -253
- package/dist/addMissingField338.js.map +7 -1
- package/dist/addMissingField338.test.js +39 -0
- package/dist/addMissingField338.test.js.map +7 -0
- package/dist/cyrillux-usemarcon-replacement.js +119 -272
- package/dist/cyrillux-usemarcon-replacement.js.map +7 -1
- package/dist/cyrillux-usemarcon-replacement.test.js +43 -0
- package/dist/cyrillux-usemarcon-replacement.test.js.map +7 -0
- package/dist/cyrillux.js +119 -223
- package/dist/cyrillux.js.map +7 -1
- package/dist/cyrillux.test.js +39 -0
- package/dist/cyrillux.test.js.map +7 -0
- package/dist/disambiguateSeriesStatements.js +40 -81
- package/dist/disambiguateSeriesStatements.js.map +7 -1
- package/dist/disambiguateSeriesStatements.test.js +44 -0
- package/dist/disambiguateSeriesStatements.test.js.map +7 -0
- package/dist/double-commas.js +7 -14
- package/dist/double-commas.js.map +7 -1
- package/dist/double-commas.test.js +48 -0
- package/dist/double-commas.test.js.map +7 -0
- package/dist/duplicates-ind1.js +10 -31
- package/dist/duplicates-ind1.js.map +7 -1
- package/dist/duplicates-ind1.test.js +40 -0
- package/dist/duplicates-ind1.test.js.map +7 -0
- package/dist/empty-fields.js +10 -22
- package/dist/empty-fields.js.map +7 -1
- package/dist/empty-fields.test.js +129 -0
- package/dist/empty-fields.test.js.map +7 -0
- package/dist/ending-punctuation-conf.js +873 -769
- package/dist/ending-punctuation-conf.js.map +7 -1
- package/dist/ending-punctuation.js +156 -169
- package/dist/ending-punctuation.js.map +7 -1
- package/dist/ending-punctuation.test.js +2385 -0
- package/dist/ending-punctuation.test.js.map +7 -0
- package/dist/ending-whitespace.js +10 -35
- package/dist/ending-whitespace.js.map +7 -1
- package/dist/ending-whitespace.test.js +38 -0
- package/dist/ending-whitespace.test.js.map +7 -0
- package/dist/field-008-18-34-character-groups.js +40 -125
- package/dist/field-008-18-34-character-groups.js.map +7 -1
- package/dist/field-008-18-34-character-groups.test.js +45 -0
- package/dist/field-008-18-34-character-groups.test.js.map +7 -0
- package/dist/field-505-separators.js +19 -39
- package/dist/field-505-separators.js.map +7 -1
- package/dist/field-505-separators.test.js +45 -0
- package/dist/field-505-separators.test.js.map +7 -0
- package/dist/field-521-fix.js +19 -47
- package/dist/field-521-fix.js.map +7 -1
- package/dist/field-521-fix.test.js +44 -0
- package/dist/field-521-fix.test.js.map +7 -0
- package/dist/field-exclusion.js +37 -91
- package/dist/field-exclusion.js.map +7 -1
- package/dist/field-exclusion.test.js +821 -0
- package/dist/field-exclusion.test.js.map +7 -0
- package/dist/field-structure.js +52 -104
- package/dist/field-structure.js.map +7 -1
- package/dist/field-structure.test.js +587 -0
- package/dist/field-structure.test.js.map +7 -0
- package/dist/field33XUtils.js +119 -503
- package/dist/field33XUtils.js.map +7 -1
- package/dist/fields-present.js +11 -23
- package/dist/fields-present.js.map +7 -1
- package/dist/fields-present.test.js +95 -0
- package/dist/fields-present.test.js.map +7 -0
- package/dist/fix-33X.js +393 -431
- package/dist/fix-33X.js.map +7 -1
- package/dist/fix-33X.test.js +39 -0
- package/dist/fix-33X.test.js.map +7 -0
- package/dist/fix-country-codes.js +20 -50
- package/dist/fix-country-codes.js.map +7 -1
- package/dist/fix-country-codes.test.js +44 -0
- package/dist/fix-country-codes.test.js.map +7 -0
- package/dist/fix-language-codes.js +23 -53
- package/dist/fix-language-codes.js.map +7 -1
- package/dist/fix-language-codes.test.js +38 -0
- package/dist/fix-language-codes.test.js.map +7 -0
- package/dist/fixRelatorTerms.js +82 -209
- package/dist/fixRelatorTerms.js.map +7 -1
- package/dist/fixRelatorTerms.test.js +44 -0
- package/dist/fixRelatorTerms.test.js.map +7 -0
- package/dist/fixed-fields.js +21 -30
- package/dist/fixed-fields.js.map +7 -1
- package/dist/fixed-fields.test.js +87 -0
- package/dist/fixed-fields.test.js.map +7 -0
- package/dist/identical-fields.js +8 -24
- package/dist/identical-fields.js.map +7 -1
- package/dist/identical-fields.test.js +119 -0
- package/dist/identical-fields.test.js.map +7 -0
- package/dist/index.js +182 -413
- package/dist/index.js.map +7 -1
- package/dist/indicator-fixes.js +66 -94
- package/dist/indicator-fixes.js.map +7 -1
- package/dist/indicator-fixes.test.js +42 -0
- package/dist/indicator-fixes.test.js.map +7 -0
- package/dist/isbn-issn.js +71 -128
- package/dist/isbn-issn.js.map +7 -1
- package/dist/isbn-issn.test.js +398 -0
- package/dist/isbn-issn.test.js.map +7 -0
- package/dist/item-language.js +32 -65
- package/dist/item-language.js.map +7 -1
- package/dist/item-language.test.js +322 -0
- package/dist/item-language.test.js.map +7 -0
- package/dist/melindaCustomMergeFields.js +5182 -11233
- package/dist/melindaCustomMergeFields.js.map +7 -1
- package/dist/merge-fields/controlSubfields.js +75 -142
- package/dist/merge-fields/controlSubfields.js.map +7 -1
- package/dist/merge-fields/counterpartField.js +187 -379
- package/dist/merge-fields/counterpartField.js.map +7 -1
- package/dist/merge-fields/dataProvenance.js +29 -0
- package/dist/merge-fields/dataProvenance.js.map +7 -0
- package/dist/merge-fields/index.js +25 -50
- package/dist/merge-fields/index.js.map +7 -1
- package/dist/merge-fields/mergableIndicator.js +18 -51
- package/dist/merge-fields/mergableIndicator.js.map +7 -1
- package/dist/merge-fields/mergableTag.js +78 -30
- package/dist/merge-fields/mergableTag.js.map +7 -1
- package/dist/merge-fields/mergeConfig.js +66 -171
- package/dist/merge-fields/mergeConfig.js.map +7 -1
- package/dist/merge-fields/mergeConstraints.js +323 -1214
- package/dist/merge-fields/mergeConstraints.js.map +7 -1
- package/dist/merge-fields/mergeField.js +47 -111
- package/dist/merge-fields/mergeField.js.map +7 -1
- package/dist/merge-fields/mergeIndicator.js +64 -118
- package/dist/merge-fields/mergeIndicator.js.map +7 -1
- package/dist/merge-fields/mergeOrAddPostprocess.js +14 -38
- package/dist/merge-fields/mergeOrAddPostprocess.js.map +7 -1
- package/dist/merge-fields/mergeOrAddSubfield.js +62 -104
- package/dist/merge-fields/mergeOrAddSubfield.js.map +7 -1
- package/dist/merge-fields/mergeSubfield.js +47 -95
- package/dist/merge-fields/mergeSubfield.js.map +7 -1
- package/dist/merge-fields/removeDuplicateSubfields.js +18 -31
- package/dist/merge-fields/removeDuplicateSubfields.js.map +7 -1
- package/dist/merge-fields/worldKnowledge.js +15 -40
- package/dist/merge-fields/worldKnowledge.js.map +7 -1
- package/dist/merge-fields.test.js +46 -0
- package/dist/merge-fields.test.js.map +7 -0
- package/dist/mergeField500Lisapainokset.js +27 -56
- package/dist/mergeField500Lisapainokset.js.map +7 -1
- package/dist/mergeField500Lisapainokset.test.js +44 -0
- package/dist/mergeField500Lisapainokset.test.js.map +7 -0
- package/dist/mergeRelatorTermFields.js +33 -69
- package/dist/mergeRelatorTermFields.js.map +7 -1
- package/dist/mergeRelatorTermFields.test.js +44 -0
- package/dist/mergeRelatorTermFields.test.js.map +7 -0
- package/dist/modernize-502.js +23 -55
- package/dist/modernize-502.js.map +7 -1
- package/dist/modernize-502.test.js +38 -0
- package/dist/modernize-502.test.js.map +7 -0
- package/dist/multiple-subfield-0.js +23 -48
- package/dist/multiple-subfield-0.js.map +7 -1
- package/dist/multiple-subfield-0.test.js +44 -0
- package/dist/multiple-subfield-0.test.js.map +7 -0
- package/dist/non-breaking-space.js +11 -32
- package/dist/non-breaking-space.js.map +7 -1
- package/dist/non-breaking-space.test.js +38 -0
- package/dist/non-breaking-space.test.js.map +7 -0
- package/dist/normalize-dashes.js +18 -37
- package/dist/normalize-dashes.js.map +7 -1
- package/dist/normalize-dashes.test.js +44 -0
- package/dist/normalize-dashes.test.js.map +7 -0
- package/dist/normalize-identifiers.js +54 -140
- package/dist/normalize-identifiers.js.map +7 -1
- package/dist/normalize-identifiers.test.js +44 -0
- package/dist/normalize-identifiers.test.js.map +7 -0
- package/dist/normalize-qualifying-information.js +23 -48
- package/dist/normalize-qualifying-information.js.map +7 -1
- package/dist/normalize-qualifying-information.test.js +44 -0
- package/dist/normalize-qualifying-information.test.js.map +7 -0
- package/dist/normalize-utf8-diacritics.js +19 -105
- package/dist/normalize-utf8-diacritics.js.map +7 -1
- package/dist/normalize-utf8-diacritics.test.js +44 -0
- package/dist/normalize-utf8-diacritics.test.js.map +7 -0
- package/dist/normalizeFieldForComparison.js +91 -158
- package/dist/normalizeFieldForComparison.js.map +7 -1
- package/dist/normalizeSubfieldValueForComparison.js +37 -77
- package/dist/normalizeSubfieldValueForComparison.js.map +7 -1
- package/dist/prepublicationUtils.js +58 -111
- package/dist/prepublicationUtils.js.map +7 -1
- package/dist/punctuation/index.js +56 -72
- package/dist/punctuation/index.js.map +7 -1
- package/dist/punctuation/rules/aut.js +372 -331
- package/dist/punctuation/rules/aut.js.map +7 -1
- package/dist/punctuation/rules/bib.js +420 -373
- package/dist/punctuation/rules/bib.js.map +7 -1
- package/dist/punctuation/rules/index.js +7 -21
- package/dist/punctuation/rules/index.js.map +7 -1
- package/dist/punctuation.test.js +44 -0
- package/dist/punctuation.test.js.map +7 -0
- package/dist/punctuation2.js +259 -802
- package/dist/punctuation2.js.map +7 -1
- package/dist/punctuation2.test.js +44 -0
- package/dist/punctuation2.test.js.map +7 -0
- package/dist/reindexSubfield6OccurenceNumbers.js +61 -96
- package/dist/reindexSubfield6OccurenceNumbers.js.map +7 -1
- package/dist/reindexSubfield6OccurenceNumbers.test.js +44 -0
- package/dist/reindexSubfield6OccurenceNumbers.test.js.map +7 -0
- package/dist/removeDuplicateDataFields.js +102 -202
- package/dist/removeDuplicateDataFields.js.map +7 -1
- package/dist/removeDuplicateDataFields.test.js +44 -0
- package/dist/removeDuplicateDataFields.test.js.map +7 -0
- package/dist/removeInferiorDataFields.js +104 -227
- package/dist/removeInferiorDataFields.js.map +7 -1
- package/dist/removeInferiorDataFields.test.js +44 -0
- package/dist/removeInferiorDataFields.test.js.map +7 -0
- package/dist/resolvable-ext-references-melinda.js +25 -60
- package/dist/resolvable-ext-references-melinda.js.map +7 -1
- package/dist/resolvable-ext-references-melinda.test.js +160 -0
- package/dist/resolvable-ext-references-melinda.test.js.map +7 -0
- package/dist/resolveOrphanedSubfield6s.js +32 -63
- package/dist/resolveOrphanedSubfield6s.js.map +7 -1
- package/dist/resolveOrphanedSubfield6s.test.js +44 -0
- package/dist/resolveOrphanedSubfield6s.test.js.map +7 -0
- package/dist/sanitize-vocabulary-source-codes.js +27 -55
- package/dist/sanitize-vocabulary-source-codes.js.map +7 -1
- package/dist/sanitize-vocabulary-source-codes.test.js +45 -0
- package/dist/sanitize-vocabulary-source-codes.test.js.map +7 -0
- package/dist/sort-tags.js +13 -25
- package/dist/sort-tags.js.map +7 -1
- package/dist/sort-tags.test.js +261 -0
- package/dist/sort-tags.test.js.map +7 -0
- package/dist/sortFields.js +152 -222
- package/dist/sortFields.js.map +7 -1
- package/dist/sortFields.test.js +44 -0
- package/dist/sortFields.test.js.map +7 -0
- package/dist/sortRelatorTerms.js +30 -68
- package/dist/sortRelatorTerms.js.map +7 -1
- package/dist/sortRelatorTerms.test.js +44 -0
- package/dist/sortRelatorTerms.test.js.map +7 -0
- package/dist/sortSubfields.js +102 -255
- package/dist/sortSubfields.js.map +7 -1
- package/dist/sortSubfields.test.js +44 -0
- package/dist/sortSubfields.test.js.map +7 -0
- package/dist/stripPunctuation.js +13 -36
- package/dist/stripPunctuation.js.map +7 -1
- package/dist/stripPunctuation.test.js +44 -0
- package/dist/stripPunctuation.test.js.map +7 -0
- package/dist/subfield-exclusion.js +28 -75
- package/dist/subfield-exclusion.js.map +7 -1
- package/dist/subfield-exclusion.test.js +471 -0
- package/dist/subfield-exclusion.test.js.map +7 -0
- package/dist/subfield6Utils.js +107 -269
- package/dist/subfield6Utils.js.map +7 -1
- package/dist/subfield8Utils.js +26 -50
- package/dist/subfield8Utils.js.map +7 -1
- package/dist/subfieldValueNormalizations.js +40 -74
- package/dist/subfieldValueNormalizations.js.map +7 -1
- package/dist/subfieldValueNormalizations.test.js +45 -0
- package/dist/subfieldValueNormalizations.test.js.map +7 -0
- package/dist/sync-007-and-300.js +22 -53
- package/dist/sync-007-and-300.js.map +7 -1
- package/dist/sync-007-and-300.test.js +44 -0
- package/dist/sync-007-and-300.test.js.map +7 -0
- package/dist/translate-terms.js +67 -155
- package/dist/translate-terms.js.map +7 -1
- package/dist/translate-terms.test.js +54 -0
- package/dist/translate-terms.test.js.map +7 -0
- package/dist/typeOfDate-008.js +10 -25
- package/dist/typeOfDate-008.js.map +7 -1
- package/dist/typeOfDate-008.test.js +40 -0
- package/dist/typeOfDate-008.test.js.map +7 -0
- package/dist/unicode-decomposition.js +94 -107
- package/dist/unicode-decomposition.js.map +7 -1
- package/dist/unicode-decomposition.test.js +94 -0
- package/dist/unicode-decomposition.test.js.map +7 -0
- package/dist/update-field-540.js +30 -75
- package/dist/update-field-540.js.map +7 -1
- package/dist/update-field-540.test.js +44 -0
- package/dist/update-field-540.test.js.map +7 -0
- package/dist/urn.js +55 -128
- package/dist/urn.js.map +7 -1
- package/dist/urn.test.js +44 -0
- package/dist/urn.test.js.map +7 -0
- package/dist/utils.js +78 -126
- package/dist/utils.js.map +7 -1
- package/eslint.config.mjs +1 -2
- package/package.json +28 -101
- package/src/access-rights.js +1 -1
- package/src/{access-rights.spec.js → access-rights.test.js} +9 -10
- package/src/addMissingField041.js +1 -1
- package/src/{addMissingField336.spec.js → addMissingField041.test.js} +13 -14
- package/src/addMissingField336.js +3 -3
- package/src/{addMissingField041.spec.js → addMissingField336.test.js} +13 -14
- package/src/addMissingField337.js +2 -2
- package/src/{addMissingField337.spec.js → addMissingField337.test.js} +13 -14
- package/src/addMissingField338.js +2 -2
- package/src/{addMissingField338.spec.js → addMissingField338.test.js} +13 -14
- package/src/cyrillux-usemarcon-replacement.js +18 -18
- package/src/{cyrillux-usemarcon-replacement.spec.js → cyrillux-usemarcon-replacement.test.js} +17 -14
- package/src/cyrillux.js +19 -12
- package/src/{cyrillux.spec.js → cyrillux.test.js} +13 -14
- package/src/disambiguateSeriesStatements.js +2 -2
- package/src/{disambiguateSeriesStatements.spec.js → disambiguateSeriesStatements.test.js} +12 -13
- package/src/double-commas.js +1 -1
- package/src/{double-commas.spec.js → double-commas.test.js} +9 -11
- package/src/duplicates-ind1.js +1 -1
- package/src/{duplicates-ind1.spec.js → duplicates-ind1.test.js} +12 -13
- package/src/{empty-fields.spec.js → empty-fields.test.js} +11 -13
- package/src/ending-punctuation-conf.js +6 -5
- package/src/ending-punctuation.js +115 -24
- package/src/{ending-punctuation.spec.js → ending-punctuation.test.js} +357 -275
- package/src/{ending-whitespace.spec.js → ending-whitespace.test.js} +12 -13
- package/src/field-008-18-34-character-groups.js +2 -2
- package/src/{field-008-18-34-character-groups.spec.js → field-008-18-34-character-groups.test.js} +13 -13
- package/src/field-505-separators.js +3 -3
- package/src/{field-505-separators.spec.js → field-505-separators.test.js} +16 -14
- package/src/field-521-fix.js +2 -2
- package/src/{field-521-fix.spec.js → field-521-fix.test.js} +12 -13
- package/src/field-exclusion.js +1 -1
- package/src/{field-exclusion.spec.js → field-exclusion.test.js} +60 -57
- package/src/{field-structure.spec.js → field-structure.test.js} +29 -29
- package/src/{fields-present.spec.js → fields-present.test.js} +12 -15
- package/src/fix-33X.js +4 -4
- package/src/{fix-33X.spec.js → fix-33X.test.js} +13 -14
- package/src/fix-country-codes.js +1 -1
- package/src/{fix-country-codes.spec.js → fix-country-codes.test.js} +12 -13
- package/src/fix-language-codes.js +5 -5
- package/src/{fix-language-codes.spec.js → fix-language-codes.test.js} +12 -13
- package/src/fixRelatorTerms.js +5 -5
- package/src/{fixRelatorTerms.spec.js → fixRelatorTerms.test.js} +13 -13
- package/src/{fixed-fields.spec.js → fixed-fields.test.js} +11 -14
- package/src/identical-fields.js +1 -1
- package/src/{identical-fields.spec.js → identical-fields.test.js} +9 -11
- package/src/index.js +132 -59
- package/src/indicator-fixes.js +17 -4
- package/src/{indicator-fixes.spec.js → indicator-fixes.test.js} +9 -12
- package/src/isbn-issn.js +12 -7
- package/src/{isbn-issn.spec.js → isbn-issn.test.js} +20 -22
- package/src/{item-language.spec.js → item-language.test.js} +21 -22
- package/src/melindaCustomMergeFields.js +1 -1
- package/src/merge-fields/controlSubfields.js +1 -1
- package/src/merge-fields/counterpartField.js +14 -9
- package/src/merge-fields/dataProvenance.js +41 -0
- package/src/merge-fields/index.js +12 -3
- package/src/merge-fields/mergableIndicator.js +1 -1
- package/src/merge-fields/mergeField.js +8 -8
- package/src/merge-fields/mergeIndicator.js +1 -1
- package/src/merge-fields/mergeOrAddPostprocess.js +4 -4
- package/src/merge-fields/mergeOrAddSubfield.js +2 -2
- package/src/merge-fields/mergeSubfield.js +4 -4
- package/src/merge-fields/removeDuplicateSubfields.js +2 -2
- package/src/{merge-fields.spec.js → merge-fields.test.js} +18 -15
- package/src/mergeField500Lisapainokset.js +1 -1
- package/src/{mergeField500Lisapainokset.spec.js → mergeField500Lisapainokset.test.js} +12 -13
- package/src/mergeRelatorTermFields.js +5 -7
- package/src/{mergeRelatorTermFields.spec.js → mergeRelatorTermFields.test.js} +12 -13
- package/src/modernize-502.js +1 -1
- package/src/{modernize-502.spec.js → modernize-502.test.js} +12 -13
- package/src/multiple-subfield-0.js +3 -3
- package/src/{multiple-subfield-0.spec.js → multiple-subfield-0.test.js} +13 -13
- package/src/{non-breaking-space.spec.js → non-breaking-space.test.js} +12 -13
- package/src/normalize-dashes.js +2 -2
- package/src/{normalize-dashes.spec.js → normalize-dashes.test.js} +12 -13
- package/src/normalize-identifiers.js +1 -1
- package/src/{normalize-identifiers.spec.js → normalize-identifiers.test.js} +12 -13
- package/src/normalize-qualifying-information.js +2 -2
- package/src/{normalize-qualifying-information.spec.js → normalize-qualifying-information.test.js} +12 -13
- package/src/normalize-utf8-diacritics.js +2 -2
- package/src/{normalize-utf8-diacritics.spec.js → normalize-utf8-diacritics.test.js} +13 -13
- package/src/normalizeFieldForComparison.js +32 -6
- package/src/normalizeSubfieldValueForComparison.js +1 -1
- package/src/prepublicationUtils.js +4 -4
- package/src/punctuation/index.js +1 -1
- package/src/punctuation/rules/index.js +2 -2
- package/src/{punctuation.spec.js → punctuation.test.js} +12 -13
- package/src/punctuation2.js +17 -8
- package/src/{punctuation2.spec.js → punctuation2.test.js} +12 -13
- package/src/reindexSubfield6OccurenceNumbers.js +5 -7
- package/src/{reindexSubfield6OccurenceNumbers.spec.js → reindexSubfield6OccurenceNumbers.test.js} +12 -13
- package/src/removeDuplicateDataFields.js +11 -19
- package/src/{removeDuplicateDataFields.spec.js → removeDuplicateDataFields.test.js} +12 -13
- package/src/removeInferiorDataFields.js +15 -12
- package/src/{removeInferiorDataFields.spec.js → removeInferiorDataFields.test.js} +13 -13
- package/src/resolvable-ext-references-melinda.js +1 -1
- package/src/{resolvable-ext-references-melinda.spec.js → resolvable-ext-references-melinda.test.js} +42 -27
- package/src/resolveOrphanedSubfield6s.js +6 -6
- package/src/{resolveOrphanedSubfield6s.spec.js → resolveOrphanedSubfield6s.test.js} +13 -13
- package/src/sanitize-vocabulary-source-codes.js +4 -4
- package/src/{sanitize-vocabulary-source-codes.spec.js → sanitize-vocabulary-source-codes.test.js} +16 -14
- package/src/{sort-tags.spec.js → sort-tags.test.js} +9 -11
- package/src/sortFields.js +4 -4
- package/src/{sortFields.spec.js → sortFields.test.js} +12 -13
- package/src/sortRelatorTerms.js +3 -3
- package/src/{sortRelatorTerms.spec.js → sortRelatorTerms.test.js} +13 -13
- package/src/sortSubfields.js +8 -6
- package/src/{sortSubfields.spec.js → sortSubfields.test.js} +13 -13
- package/src/stripPunctuation.js +3 -3
- package/src/{stripPunctuation.spec.js → stripPunctuation.test.js} +13 -13
- package/src/subfield-exclusion.js +1 -1
- package/src/{subfield-exclusion.spec.js → subfield-exclusion.test.js} +45 -36
- package/src/subfield6Utils.js +6 -10
- package/src/subfield8Utils.js +4 -4
- package/src/subfieldValueNormalizations.js +3 -3
- package/src/{subfieldValueNormalizations.spec.js → subfieldValueNormalizations.test.js} +18 -14
- package/src/sync-007-and-300.js +2 -2
- package/src/{sync-007-and-300.spec.js → sync-007-and-300.test.js} +13 -13
- package/src/translate-terms.js +3 -3
- package/src/translate-terms.test.js +75 -0
- package/src/{typeOfDate-008.spec.js → typeOfDate-008.test.js} +12 -13
- package/src/{unicode-decomposition.spec.js → unicode-decomposition.test.js} +10 -16
- package/src/update-field-540.js +2 -2
- package/src/{update-field-540.spec.js → update-field-540.test.js} +13 -10
- package/src/urn.js +2 -2
- package/src/{urn.spec.js → urn.test.js} +12 -13
- package/src/utils.js +21 -5
- package/test-fixtures/field-505-separators/03/expectedResult.json +3 -1
- package/test-fixtures/field-505-separators/03/record.json +3 -0
- package/test-fixtures/indicator-fixes/10/expectedResult.json +11 -0
- package/test-fixtures/indicator-fixes/10/metadata.json +4 -0
- package/test-fixtures/indicator-fixes/10/record.json +11 -0
- package/test-fixtures/merge-fields/f05/expectedResult.json +24 -0
- package/test-fixtures/merge-fields/f05/metadata.json +6 -0
- package/test-fixtures/merge-fields/f05/record.json +30 -0
- package/test-fixtures/normalize-subfield-value/01/metadata.json +4 -1
- package/test-fixtures/normalize-subfield-value/01/record.json +3 -0
- package/test-fixtures/normalize-subfield-value/02/expectedResult.json +3 -1
- package/test-fixtures/normalize-subfield-value/02/metadata.json +2 -1
- package/test-fixtures/normalize-subfield-value/02/record.json +3 -0
- package/test-fixtures/remove-inferior-datafields/f16/expectedResult.json +12 -0
- package/test-fixtures/remove-inferior-datafields/f16/metadata.json +5 -0
- package/test-fixtures/remove-inferior-datafields/f16/record.json +14 -0
- package/test-fixtures/sanitize-vocabulary-source-codes/f03/expectedResult.json +3 -1
- package/test-fixtures/sanitize-vocabulary-source-codes/f04/expectedResult.json +3 -1
- package/test-fixtures/sanitize-vocabulary-source-codes/v04/metadata.json +1 -4
- package/test-fixtures/sanitize-vocabulary-source-codes/v04/record.json +1 -1
- package/test-fixtures/translate-terms-data.js +42 -0
- package/dist/access-rights.spec.js +0 -195
- package/dist/access-rights.spec.js.map +0 -1
- package/dist/addMissingField041.spec.js +0 -45
- package/dist/addMissingField041.spec.js.map +0 -1
- package/dist/addMissingField336.spec.js +0 -45
- package/dist/addMissingField336.spec.js.map +0 -1
- package/dist/addMissingField337.spec.js +0 -43
- package/dist/addMissingField337.spec.js.map +0 -1
- package/dist/addMissingField338.spec.js +0 -45
- package/dist/addMissingField338.spec.js.map +0 -1
- package/dist/cyrillux-usemarcon-replacement.spec.js +0 -45
- package/dist/cyrillux-usemarcon-replacement.spec.js.map +0 -1
- package/dist/cyrillux.spec.js +0 -46
- package/dist/cyrillux.spec.js.map +0 -1
- package/dist/disambiguateSeriesStatements.spec.js +0 -51
- package/dist/disambiguateSeriesStatements.spec.js.map +0 -1
- package/dist/double-commas.spec.js +0 -73
- package/dist/double-commas.spec.js.map +0 -1
- package/dist/duplicates-ind1.spec.js +0 -45
- package/dist/duplicates-ind1.spec.js.map +0 -1
- package/dist/empty-fields.spec.js +0 -118
- package/dist/empty-fields.spec.js.map +0 -1
- package/dist/ending-punctuation.spec.js +0 -2654
- package/dist/ending-punctuation.spec.js.map +0 -1
- package/dist/ending-whitespace.spec.js +0 -42
- package/dist/ending-whitespace.spec.js.map +0 -1
- package/dist/field-008-18-34-character-groups.spec.js +0 -51
- package/dist/field-008-18-34-character-groups.spec.js.map +0 -1
- package/dist/field-505-separators.spec.js +0 -51
- package/dist/field-505-separators.spec.js.map +0 -1
- package/dist/field-521-fix.spec.js +0 -51
- package/dist/field-521-fix.spec.js.map +0 -1
- package/dist/field-exclusion.spec.js +0 -1054
- package/dist/field-exclusion.spec.js.map +0 -1
- package/dist/field-structure.spec.js +0 -535
- package/dist/field-structure.spec.js.map +0 -1
- package/dist/fields-present.spec.js +0 -121
- package/dist/fields-present.spec.js.map +0 -1
- package/dist/fix-33X.spec.js +0 -45
- package/dist/fix-33X.spec.js.map +0 -1
- package/dist/fix-country-codes.spec.js +0 -51
- package/dist/fix-country-codes.spec.js.map +0 -1
- package/dist/fix-language-codes.spec.js +0 -44
- package/dist/fix-language-codes.spec.js.map +0 -1
- package/dist/fixRelatorTerms.spec.js +0 -51
- package/dist/fixRelatorTerms.spec.js.map +0 -1
- package/dist/fixed-fields.spec.js +0 -140
- package/dist/fixed-fields.spec.js.map +0 -1
- package/dist/identical-fields.spec.js +0 -99
- package/dist/identical-fields.spec.js.map +0 -1
- package/dist/indicator-fixes.spec.js +0 -51
- package/dist/indicator-fixes.spec.js.map +0 -1
- package/dist/isbn-issn.spec.js +0 -595
- package/dist/isbn-issn.spec.js.map +0 -1
- package/dist/item-language.spec.js +0 -306
- package/dist/item-language.spec.js.map +0 -1
- package/dist/melindaCustomMergeFields.json +0 -5120
- package/dist/merge-fields.spec.js +0 -51
- package/dist/merge-fields.spec.js.map +0 -1
- package/dist/mergeField500Lisapainokset.spec.js +0 -51
- package/dist/mergeField500Lisapainokset.spec.js.map +0 -1
- package/dist/mergeRelatorTermFields.spec.js +0 -51
- package/dist/mergeRelatorTermFields.spec.js.map +0 -1
- package/dist/modernize-502.spec.js +0 -49
- package/dist/modernize-502.spec.js.map +0 -1
- package/dist/multiple-subfield-0.spec.js +0 -51
- package/dist/multiple-subfield-0.spec.js.map +0 -1
- package/dist/non-breaking-space.spec.js +0 -42
- package/dist/non-breaking-space.spec.js.map +0 -1
- package/dist/normalize-dashes.spec.js +0 -51
- package/dist/normalize-dashes.spec.js.map +0 -1
- package/dist/normalize-identifiers.spec.js +0 -51
- package/dist/normalize-identifiers.spec.js.map +0 -1
- package/dist/normalize-qualifying-information.spec.js +0 -51
- package/dist/normalize-qualifying-information.spec.js.map +0 -1
- package/dist/normalize-utf8-diacritics.spec.js +0 -51
- package/dist/normalize-utf8-diacritics.spec.js.map +0 -1
- package/dist/punctuation.spec.js +0 -51
- package/dist/punctuation.spec.js.map +0 -1
- package/dist/punctuation2.spec.js +0 -51
- package/dist/punctuation2.spec.js.map +0 -1
- package/dist/reindexSubfield6OccurenceNumbers.spec.js +0 -51
- package/dist/reindexSubfield6OccurenceNumbers.spec.js.map +0 -1
- package/dist/removeDuplicateDataFields.spec.js +0 -51
- package/dist/removeDuplicateDataFields.spec.js.map +0 -1
- package/dist/removeInferiorDataFields.spec.js +0 -51
- package/dist/removeInferiorDataFields.spec.js.map +0 -1
- package/dist/resolvable-ext-references-melinda.spec.js +0 -166
- package/dist/resolvable-ext-references-melinda.spec.js.map +0 -1
- package/dist/resolveOrphanedSubfield6s.spec.js +0 -51
- package/dist/resolveOrphanedSubfield6s.spec.js.map +0 -1
- package/dist/sanitize-vocabulary-source-codes.spec.js +0 -51
- package/dist/sanitize-vocabulary-source-codes.spec.js.map +0 -1
- package/dist/sort-tags.spec.js +0 -207
- package/dist/sort-tags.spec.js.map +0 -1
- package/dist/sortFields.spec.js +0 -51
- package/dist/sortFields.spec.js.map +0 -1
- package/dist/sortRelatorTerms.spec.js +0 -51
- package/dist/sortRelatorTerms.spec.js.map +0 -1
- package/dist/sortSubfields.spec.js +0 -52
- package/dist/sortSubfields.spec.js.map +0 -1
- package/dist/stripPunctuation.spec.js +0 -51
- package/dist/stripPunctuation.spec.js.map +0 -1
- package/dist/subfield-exclusion.spec.js +0 -523
- package/dist/subfield-exclusion.spec.js.map +0 -1
- package/dist/subfieldValueNormalizations.spec.js +0 -51
- package/dist/subfieldValueNormalizations.spec.js.map +0 -1
- package/dist/sync-007-and-300.spec.js +0 -51
- package/dist/sync-007-and-300.spec.js.map +0 -1
- package/dist/translate-terms.spec.js +0 -51
- package/dist/translate-terms.spec.js.map +0 -1
- package/dist/typeOfDate-008.spec.js +0 -47
- package/dist/typeOfDate-008.spec.js.map +0 -1
- package/dist/unicode-decomposition.spec.js +0 -91
- package/dist/unicode-decomposition.spec.js.map +0 -1
- package/dist/update-field-540.spec.js +0 -51
- package/dist/update-field-540.spec.js.map +0 -1
- package/dist/urn.spec.js +0 -52
- package/dist/urn.spec.js.map +0 -1
- package/src/melindaCustomMergeFields.json +0 -5120
- package/src/translate-terms.spec.js +0 -52
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{"version":3,"file":"ending-punctuation-conf.js","names":["finnishTerms","exports","validPuncMarks","confSpec","rangeStart","rangeEnd","index","punc","special","afterOnly","strict","secondLastIfLast","last","noPuncIfField","ifBoth","puncSubField","ifInd2","ifLastCharNot","noPuncIfInd2","lastOf","mandatory","termField","else","linked"],"sources":["../src/ending-punctuation-conf.js"],"sourcesContent":["// Const finnishTerms = ['ysa', 'yso', 'kassu', 'seko', 'valo', 'kulo', 'puho', 'oiko', 'mero', 'liito', 'fast', 'allars', 'kaunokki'];\nconst finnishTerms = [\n /^(?: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,\n /^(?:kauno|slm|yso)\\//u\n];\n\nconst validPuncMarks = '?\"-!,)]';\n// Configuration specification\nconst confSpec = [\n { // 010-035 EI\n rangeStart: 10,\n rangeEnd: 35,\n index: null,\n punc: false,\n special: null\n }, { // 036 KYLLÄ vain osakentän $b jälkeen\n rangeStart: null,\n rangeEnd: null,\n index: 36,\n punc: true,\n special: {\n afterOnly: 'b',\n strict: true // Punctuation only after $b, because $a is register number\n }\n }, { // 037-050 EI\n rangeStart: 37,\n rangeEnd: 50,\n index: null,\n punc: false,\n special: null\n }, { // 051 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 51,\n punc: true,\n special: null\n }, { // 052-09X EI\n rangeStart: 52,\n rangeEnd: 99,\n index: null,\n punc: false,\n special: null\n }, { // 100 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 100,\n punc: true,\n special: null\n }, { // 110 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 110,\n punc: true,\n special: null\n }, { // 111 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 111,\n punc: true,\n special: null\n }, { // 130 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 130,\n punc: true,\n special: null\n }, { // 210 EI\n rangeStart: null,\n rangeEnd: null,\n index: 210,\n punc: false,\n special: null\n }, { // 222 EI\n rangeStart: null,\n rangeEnd: null,\n index: 222,\n punc: false,\n special: null\n }, { // 240 EI\n rangeStart: null,\n rangeEnd: null,\n index: 240,\n punc: false,\n special: null\n }, { // 242 KYLLÄ Jos viimeinen osakenttä on $y, piste on ennen sitä\n rangeStart: null,\n rangeEnd: null,\n index: 242,\n punc: true,\n special: {\n secondLastIfLast: 'y',\n last: false\n }\n }, { // 243 EI\n rangeStart: null,\n rangeEnd: null,\n index: 243,\n punc: false,\n special: null\n }, { // 245 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 245,\n punc: true,\n special: null\n }, { // 246-247 EI\n rangeStart: 246,\n rangeEnd: 247,\n index: null,\n punc: false,\n special: null\n }, { // 250 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 250,\n punc: true,\n special: null\n }, { // 251 EI\n rangeStart: null,\n rangeEnd: null,\n index: 251,\n punc: false,\n special: null\n }, { // 254-256 KYLLÄ\n rangeStart: 254,\n rangeEnd: 256,\n index: null,\n punc: true,\n special: null\n }, { // 257\n rangeStart: null,\n rangeEnd: null,\n index: 257,\n punc: true,\n special: {\n noPuncIfField: '2'\n }\n }, { // 258 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 258,\n punc: true,\n special: null\n }, { // 260 KYLLÄ Pääsääntö: $a : $b, $c. Tarkista eri poikkeukset ja välimerkitys MARC 21 Full -versiosta\n rangeStart: null,\n rangeEnd: null,\n index: 260,\n punc: true,\n special: {\n afterOnly: 'c',\n strict: false // Others fields may contain abbreviation\n }\n }, { // 263 EI\n rangeStart: null,\n rangeEnd: null,\n index: 263,\n punc: false,\n special: null\n }, { // 264 KYLLÄ Tarkista poikkeukset MARC 21 -sovellusohjeesta\n rangeStart: null,\n rangeEnd: null,\n index: 264,\n punc: true,\n special: {\n ifBoth: true,\n puncSubField: 'c',\n ifInd2: ['0', '1', '2', '3'],\n ifLastCharNot: ']-)?',\n noPuncIfInd2: ['4']\n }\n }, { // 270 EI\n rangeStart: null,\n rangeEnd: null,\n index: 270,\n punc: false,\n special: null\n }, { // 300 EI\n rangeStart: null,\n rangeEnd: null,\n index: 300,\n punc: false,\n special: null\n }, { // 306 EI\n rangeStart: null,\n rangeEnd: null,\n index: 306,\n punc: false,\n special: null\n }, { // 307 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 307,\n punc: true,\n special: null\n }, { // 310 EI\n rangeStart: null,\n rangeEnd: null,\n index: 310,\n punc: false,\n special: null\n }, { // 321 EI\n rangeStart: null,\n rangeEnd: null,\n index: 321,\n punc: false,\n special: null\n }, { // 335-338 EI\n rangeStart: 335,\n rangeEnd: 338,\n index: null,\n punc: false,\n special: null\n }, { // 340 KYLLÄ Vain joidenkin osakenttien jälkeen. Tarkista osakentät MARC 21 Full -versiosta\n rangeStart: null,\n rangeEnd: null,\n index: 340,\n punc: true,\n special: {\n lastOf: ['a', 'd', 'e', 'f', 'h', 'i'],\n mandatory: ['b']\n }\n }, { // 341-342 EI\n rangeStart: 341,\n rangeEnd: 342,\n index: null,\n punc: false,\n special: null\n }, { // 343 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 343,\n punc: true,\n special: null\n }, { // 344-348 EI\n rangeStart: 344,\n rangeEnd: 348,\n index: null,\n punc: false,\n special: null\n }, { // 351-352 KYLLÄ\n rangeStart: 351,\n rangeEnd: 352,\n index: null,\n punc: true,\n special: null\n }, { // 355 EI\n rangeStart: null,\n rangeEnd: null,\n index: 355,\n punc: false,\n special: null\n }, { // 357 EI\n rangeStart: null,\n rangeEnd: null,\n index: 357,\n punc: false,\n special: null\n }, { // 362 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 362,\n punc: true,\n special: null\n }, { // 363 EI\n rangeStart: null,\n rangeEnd: null,\n index: 363,\n punc: false,\n special: null\n }, { // 365-366 EI\n rangeStart: 365,\n rangeEnd: 366,\n index: null,\n punc: false,\n special: null\n }, { // 370 EI\n rangeStart: null,\n rangeEnd: null,\n index: 370,\n punc: false,\n special: null\n }, { // 377 EI\n rangeStart: null,\n rangeEnd: null,\n index: 377,\n punc: false,\n special: null\n }, { // 380-388 EI\n rangeStart: 380,\n rangeEnd: 388,\n index: null,\n punc: false,\n special: null\n }, { // 490 EI\n rangeStart: null,\n rangeEnd: null,\n index: 490,\n punc: false,\n special: null\n }, { // 500-505 KYLLÄ\n rangeStart: 500,\n rangeEnd: 505,\n index: null,\n punc: true,\n special: null\n }, { // 506 KYLLÄ\n index: 506,\n punc: true,\n special: {\n noPuncIfField: 'f'\n }\n }, { // 507-509 KYLLÄ\n rangeStart: 507,\n rangeEnd: 509,\n index: null,\n punc: true,\n special: null\n }, { // 510 EI\n rangeStart: null,\n rangeEnd: null,\n index: 510,\n punc: false,\n special: null\n }, { // 511-518 KYLLÄ\n rangeStart: 511,\n rangeEnd: 518,\n index: null,\n punc: true,\n special: null\n }, { // 520 KYLLÄ Jos viimeinen osakenttä on $u, piste on ennen sitä\n rangeStart: null,\n rangeEnd: null,\n index: 520,\n punc: true,\n special: {\n secondLastIfLast: 'u'\n // Last: false //$u is URL and hence should not be checked as URL's can have '.' at end\n }\n }, { // 521-526 KYLLÄ\n rangeStart: 521,\n rangeEnd: 526,\n index: null,\n punc: true,\n special: null\n }, { // 530 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 530,\n punc: true,\n special: null\n }, { // 532 EI\n rangeStart: null,\n rangeEnd: null,\n index: 532,\n punc: false,\n special: null\n }, { // 533-534 KYLLÄ\n rangeStart: 533,\n rangeEnd: 534,\n index: null,\n punc: true,\n special: null\n }, { // 535-536 EI\n rangeStart: 535,\n rangeEnd: 536,\n index: null,\n punc: false,\n special: null\n }, { // 538 KYLLÄ Jos viimeinen osakenttä on $u, piste on ennen sitä\n rangeStart: null,\n rangeEnd: null,\n index: 538,\n punc: true,\n special: {\n secondLastIfLast: 'u'\n // Last: false //$u is URL and hence should not be checked as URL's can have '.' at end\n }\n }, { // 540-541 KYLLÄ\n rangeStart: 540,\n rangeEnd: 541,\n index: null,\n punc: true,\n special: {\n noPuncIfField: 'u'\n }\n }, { // 542 EI\n rangeStart: null,\n rangeEnd: null,\n index: 542,\n punc: false,\n special: null\n }, { // 544-547 KYLLÄ\n rangeStart: 544,\n rangeEnd: 547,\n index: null,\n punc: true,\n special: null\n }, { // 550 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 550,\n punc: true,\n special: null\n }, { // 552 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 552,\n punc: true,\n special: null\n }, { // 555-556 KYLLÄ\n rangeStart: 555,\n rangeEnd: 556,\n index: null,\n punc: true,\n special: null\n }, { // 561-563 KYLLÄ\n rangeStart: 561,\n rangeEnd: 563,\n index: null,\n punc: true,\n special: null\n }, { // 565 EI\n rangeStart: null,\n rangeEnd: null,\n index: 565,\n punc: false,\n special: null\n }, { // 567 KYLLÄ osakentän $a jälkeen, EI muiden osakenttien jälkeen\n rangeStart: null,\n rangeEnd: null,\n index: 567,\n punc: true,\n special: {\n afterOnly: 'a',\n strict: true // $b can only be controlled term\n }\n }, { // 580-581 KYLLÄ\n rangeStart: 580,\n rangeEnd: 581,\n index: null,\n punc: true,\n special: null\n }, { // 583 EI\n rangeStart: null,\n rangeEnd: null,\n index: 583,\n punc: false,\n special: null\n }, { // 584-585 KYLLÄ\n rangeStart: 584,\n rangeEnd: 585,\n index: null,\n punc: true,\n special: null\n }, { // 586 EI\n rangeStart: null,\n rangeEnd: null,\n index: 586,\n punc: false,\n special: null\n }, { // 588 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: null,\n punc: true,\n special: null\n }, { // 59X EI\n rangeStart: 590,\n rangeEnd: 599,\n index: null,\n punc: false,\n special: null\n }, { // 600 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 600,\n punc: true,\n special: null\n }, { // 610 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 610,\n punc: true,\n special: null\n }, { // 611 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 611,\n punc: true,\n special: null\n }, { // 630 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 630,\n punc: true,\n special: null\n }, { // 647-651 EI suomalaisten sanastojen termeihin, muihin sanaston käytännön mukaan, yleensä KYLLÄ\n rangeStart: 647,\n rangeEnd: 651,\n index: null,\n punc: false,\n special: {\n termField: '2',\n finnishTerms,\n else: true\n }\n }, { // 653 EI\n rangeStart: null,\n rangeEnd: null,\n index: 653,\n punc: false,\n special: null\n }, { // 654-662 EI suomalaisten sanastojen termeihin, muihin sanaston käytännön mukaan, yleensä KYLLÄ\n rangeStart: 654,\n rangeEnd: 662,\n index: null,\n punc: false,\n special: {\n termField: '2',\n finnishTerms,\n else: true\n }\n }, { // 69X EI\n rangeStart: 690,\n rangeEnd: 699,\n index: null,\n punc: false,\n special: null\n }, { // 700 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 700,\n punc: true,\n special: null\n }, { // 710 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 710,\n punc: true,\n special: null\n }, { // 711 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 711,\n punc: true,\n special: null\n }, { // 720 EI\n rangeStart: null,\n rangeEnd: null,\n index: 720,\n punc: false,\n special: null\n }, { // 730 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 730,\n punc: true,\n special: null\n }, { // 740 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 740,\n punc: true,\n special: null\n }, { // 751 EI\n rangeStart: null,\n rangeEnd: null,\n index: 751,\n punc: false,\n special: null\n }, { // 752 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 752,\n punc: true,\n special: null\n }, { // 753 EI\n rangeStart: null,\n rangeEnd: null,\n index: 753,\n punc: false,\n special: null\n }, { // 754 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 754,\n punc: true,\n special: null\n }, { // 758 EI\n rangeStart: null,\n rangeEnd: null,\n index: 758,\n punc: false,\n special: null\n }, { // 760-787 KYLLÄ osakentän $a jälkeen, EI muiden osakenttien jälkeen\n rangeStart: 760,\n rangeEnd: 787,\n index: null,\n punc: true,\n special: {\n afterOnly: 'a',\n strict: false\n }\n }, { // 800 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 800,\n punc: true,\n special: null\n }, { // 810 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 810,\n punc: true,\n special: null\n }, { // 811 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 811,\n punc: true,\n special: null\n }, { // 830 KYLLÄ\n rangeStart: null,\n rangeEnd: null,\n index: 830,\n punc: true,\n special: null\n }, { // 850 EI\n rangeStart: null,\n rangeEnd: null,\n index: 850,\n punc: false,\n special: null\n }, { // 852 EI\n rangeStart: null,\n rangeEnd: null,\n index: 852,\n punc: false,\n special: null\n }, { // 856 EI\n rangeStart: null,\n rangeEnd: null,\n index: 856,\n punc: false,\n special: null\n }, { // 880 Samoin kuin vastaavat kentät\n rangeStart: null,\n rangeEnd: null,\n index: 880,\n punc: null,\n special: {\n linked: '6'\n }\n }, { // 882-887 EI\n rangeStart: 882,\n rangeEnd: 887,\n index: null,\n punc: false,\n special: null\n }, { // 9XX EI\n rangeStart: 900,\n rangeEnd: 999,\n index: null,\n punc: false,\n special: null\n }\n];\n\nexport {finnishTerms, validPuncMarks, confSpec};\n"],"mappings":";;;;;;AAAA;AACA,MAAMA,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,CACnB,yIAAyI,EACzI,uBAAuB,CACxB;AAED,MAAME,cAAc,GAAAD,OAAA,CAAAC,cAAA,GAAG,SAAS;AAChC;AACA,MAAMC,QAAQ,GAAAF,OAAA,CAAAE,QAAA,GAAG,CACf;EAAE;EACAC,UAAU,EAAE,EAAE;EACdC,QAAQ,EAAE,EAAE;EACZC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,EAAE;EACTC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;IACPC,SAAS,EAAE,GAAG;IACdC,MAAM,EAAE,IAAI,CAAC;EACf;AACF,CAAC,EAAE;EAAE;EACHN,UAAU,EAAE,EAAE;EACdC,QAAQ,EAAE,EAAE;EACZC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,EAAE;EACTC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,EAAE;EACdC,QAAQ,EAAE,EAAE;EACZC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;IACPG,gBAAgB,EAAE,GAAG;IACrBC,IAAI,EAAE;EACR;AACF,CAAC,EAAE;EAAE;EACHR,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;IACPK,aAAa,EAAE;EACjB;AACF,CAAC,EAAE;EAAE;EACHT,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;IACPC,SAAS,EAAE,GAAG;IACdC,MAAM,EAAE,KAAK,CAAC;EAChB;AACF,CAAC,EAAE;EAAE;EACHN,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;IACPM,MAAM,EAAE,IAAI;IACZC,YAAY,EAAE,GAAG;IACjBC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAC5BC,aAAa,EAAE,MAAM;IACrBC,YAAY,EAAE,CAAC,GAAG;EACpB;AACF,CAAC,EAAE;EAAE;EACHd,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;IACPW,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACtCC,SAAS,EAAE,CAAC,GAAG;EACjB;AACF,CAAC,EAAE;EAAE;EACHhB,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHF,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;IACPK,aAAa,EAAE;EACjB;AACF,CAAC,EAAE;EAAE;EACHT,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;IACPG,gBAAgB,EAAE;IAClB;EACF;AACF,CAAC,EAAE;EAAE;EACHP,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;IACPG,gBAAgB,EAAE;IAClB;EACF;AACF,CAAC,EAAE;EAAE;EACHP,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;IACPK,aAAa,EAAE;EACjB;AACF,CAAC,EAAE;EAAE;EACHT,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;IACPC,SAAS,EAAE,GAAG;IACdC,MAAM,EAAE,IAAI,CAAC;EACf;AACF,CAAC,EAAE;EAAE;EACHN,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;IACPa,SAAS,EAAE,GAAG;IACdrB,YAAY;IACZsB,IAAI,EAAE;EACR;AACF,CAAC,EAAE;EAAE;EACHlB,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;IACPa,SAAS,EAAE,GAAG;IACdrB,YAAY;IACZsB,IAAI,EAAE;EACR;AACF,CAAC,EAAE;EAAE;EACHlB,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;IACPC,SAAS,EAAE,GAAG;IACdC,MAAM,EAAE;EACV;AACF,CAAC,EAAE;EAAE;EACHN,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;IACPe,MAAM,EAAE;EACV;AACF,CAAC,EAAE;EAAE;EACHnB,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,EAAE;EAAE;EACHJ,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE;AACX,CAAC,CACF","ignoreList":[]}
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/ending-punctuation-conf.js"],
|
|
4
|
+
"sourcesContent": ["// Const finnishTerms = ['ysa', 'yso', 'kassu', 'seko', 'valo', 'kulo', 'puho', 'oiko', 'mero', 'liito', 'fast', 'allars', 'kaunokki'];\nconst finnishTerms = [\n /^(?: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,\n /^(?:kauno|slm|yso)\\//u // <= yso/* etc\n];\n\nconst validPuncMarks = '?-!.'; // NB! ')' and ']' are only valid for some fields!\nconst validQuoteChars = \"\\\"'\";\n// Configuration specification\nconst confSpec = [\n { // 010-035 EI\n rangeStart: 10,\n rangeEnd: 35,\n index: null,\n punc: false,\n special: null\n }, { // 036 KYLL\u00C4 vain osakent\u00E4n $b j\u00E4lkeen\n rangeStart: null,\n rangeEnd: null,\n index: 36,\n punc: true,\n special: {\n afterOnly: 'b',\n strict: true // Punctuation only after $b, because $a is register number\n }\n }, { // 037-050 EI\n rangeStart: 37,\n rangeEnd: 50,\n index: null,\n punc: false,\n special: null\n }, { // 051 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 51,\n punc: true,\n special: null\n }, { // 052-09X EI\n rangeStart: 52,\n rangeEnd: 99,\n index: null,\n punc: false,\n special: null\n }, { // 100 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 100,\n punc: true,\n special: null\n }, { // 110 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 110,\n punc: true,\n special: null\n }, { // 111 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 111,\n punc: true,\n special: null\n }, { // 130 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 130,\n punc: true,\n special: null\n }, { // 210 EI\n rangeStart: null,\n rangeEnd: null,\n index: 210,\n punc: false,\n special: null\n }, { // 222 EI\n rangeStart: null,\n rangeEnd: null,\n index: 222,\n punc: false,\n special: null\n }, { // 240 EI\n rangeStart: null,\n rangeEnd: null,\n index: 240,\n punc: false,\n special: null\n }, { // 242 KYLL\u00C4 Jos viimeinen osakentt\u00E4 on $y, piste on ennen sit\u00E4\n rangeStart: null,\n rangeEnd: null,\n index: 242,\n punc: true,\n special: {\n secondLastIfLast: 'y',\n last: false\n }\n }, { // 243 EI\n rangeStart: null,\n rangeEnd: null,\n index: 243,\n punc: false,\n special: null\n }, { // 245 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 245,\n punc: true,\n special: null\n }, { // 246-247 EI\n rangeStart: 246,\n rangeEnd: 247,\n index: null,\n punc: false,\n special: null\n }, { // 250 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 250,\n punc: true,\n special: null\n }, { // 251 EI\n rangeStart: null,\n rangeEnd: null,\n index: 251,\n punc: false,\n special: null\n }, { // 254-256 KYLL\u00C4\n rangeStart: 254,\n rangeEnd: 256,\n index: null,\n punc: true,\n special: null\n }, { // 257\n rangeStart: null,\n rangeEnd: null,\n index: 257,\n punc: true,\n special: {\n noPuncIfField: '2'\n }\n }, { // 258 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 258,\n punc: true,\n special: null\n }, { // 260 KYLL\u00C4 P\u00E4\u00E4s\u00E4\u00E4nt\u00F6: $a : $b, $c. Tarkista eri poikkeukset ja v\u00E4limerkitys MARC 21 Full -versiosta\n rangeStart: null,\n rangeEnd: null,\n index: 260,\n punc: true,\n special: {\n afterOnly: 'c',\n strict: false // Others fields may contain abbreviation\n }\n }, { // 263 EI\n rangeStart: null,\n rangeEnd: null,\n index: 263,\n punc: false,\n special: null\n }, { // 264 KYLL\u00C4 Tarkista poikkeukset MARC 21 -sovellusohjeesta\n rangeStart: null,\n rangeEnd: null,\n index: 264,\n punc: true,\n special: {\n ifBoth: true,\n puncSubField: 'c',\n ifInd2: ['0', '1', '2', '3'],\n ifLastCharNot: ']-)?',\n noPuncIfInd2: ['4']\n }\n }, { // 270 EI\n rangeStart: null,\n rangeEnd: null,\n index: 270,\n punc: false,\n special: null\n }, { // 300 EI\n rangeStart: null,\n rangeEnd: null,\n index: 300,\n punc: false,\n special: null\n }, { // 306 EI\n rangeStart: null,\n rangeEnd: null,\n index: 306,\n punc: false,\n special: null\n }, { // 307 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 307,\n punc: true,\n special: null\n }, { // 310 EI\n rangeStart: null,\n rangeEnd: null,\n index: 310,\n punc: false,\n special: null\n }, { // 321 EI\n rangeStart: null,\n rangeEnd: null,\n index: 321,\n punc: false,\n special: null\n }, { // 335-338 EI\n rangeStart: 335,\n rangeEnd: 338,\n index: null,\n punc: false,\n special: null\n }, { // 340 KYLL\u00C4 Vain joidenkin osakenttien j\u00E4lkeen. Tarkista osakent\u00E4t MARC 21 Full -versiosta\n rangeStart: null,\n rangeEnd: null,\n index: 340,\n punc: true,\n special: {\n lastOf: ['a', 'd', 'e', 'f', 'h', 'i'],\n mandatory: ['b']\n }\n }, { // 341-342 EI\n rangeStart: 341,\n rangeEnd: 342,\n index: null,\n punc: false,\n special: null\n }, { // 343 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 343,\n punc: true,\n special: null\n }, { // 344-348 EI\n rangeStart: 344,\n rangeEnd: 348,\n index: null,\n punc: false,\n special: null\n }, { // 351-352 KYLL\u00C4\n rangeStart: 351,\n rangeEnd: 352,\n index: null,\n punc: true,\n special: null\n }, { // 355 EI\n rangeStart: null,\n rangeEnd: null,\n index: 355,\n punc: false,\n special: null\n }, { // 357 EI\n rangeStart: null,\n rangeEnd: null,\n index: 357,\n punc: false,\n special: null\n }, { // 362 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 362,\n punc: true,\n special: null\n }, { // 363 EI\n rangeStart: null,\n rangeEnd: null,\n index: 363,\n punc: false,\n special: null\n }, { // 365-366 EI\n rangeStart: 365,\n rangeEnd: 366,\n index: null,\n punc: false,\n special: null\n }, { // 370 EI\n rangeStart: null,\n rangeEnd: null,\n index: 370,\n punc: false,\n special: null\n }, { // 377 EI\n rangeStart: null,\n rangeEnd: null,\n index: 377,\n punc: false,\n special: null\n }, { // 380-388 EI\n rangeStart: 380,\n rangeEnd: 388,\n index: null,\n punc: false,\n special: null\n }, { // 490 EI\n rangeStart: null,\n rangeEnd: null,\n index: 490,\n punc: false,\n special: null\n }, { // 500-505 KYLL\u00C4\n rangeStart: 500,\n rangeEnd: 505,\n index: null,\n punc: true,\n special: null\n }, { // 506 KYLL\u00C4\n index: 506,\n punc: true,\n special: {\n noPuncIfField: 'f'\n }\n }, { // 507-509 KYLL\u00C4\n rangeStart: 507,\n rangeEnd: 509,\n index: null,\n punc: true,\n special: null\n }, { // 510 EI\n rangeStart: null,\n rangeEnd: null,\n index: 510,\n punc: false,\n special: null\n }, { // 511-518 KYLL\u00C4\n rangeStart: 511,\n rangeEnd: 518,\n index: null,\n punc: true,\n special: null\n }, { // 520 KYLL\u00C4 Jos viimeinen osakentt\u00E4 on $u, piste on ennen sit\u00E4\n rangeStart: null,\n rangeEnd: null,\n index: 520,\n punc: true,\n special: {\n secondLastIfLast: 'u'\n // Last: false //$u is URL and hence should not be checked as URL's can have '.' at end\n }\n }, { // 521-526 KYLL\u00C4\n rangeStart: 521,\n rangeEnd: 526,\n index: null,\n punc: true,\n special: null\n }, { // 530 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 530,\n punc: true,\n special: null\n }, { // 532 EI\n rangeStart: null,\n rangeEnd: null,\n index: 532,\n punc: false,\n special: null\n }, { // 533-534 KYLL\u00C4\n rangeStart: 533,\n rangeEnd: 534,\n index: null,\n punc: true,\n special: null\n }, { // 535-536 EI\n rangeStart: 535,\n rangeEnd: 536,\n index: null,\n punc: false,\n special: null\n }, { // 538 KYLL\u00C4 Jos viimeinen osakentt\u00E4 on $u, piste on ennen sit\u00E4\n rangeStart: null,\n rangeEnd: null,\n index: 538,\n punc: true,\n special: {\n secondLastIfLast: 'u'\n // Last: false //$u is URL and hence should not be checked as URL's can have '.' at end\n }\n }, { // 540-541 KYLL\u00C4\n rangeStart: 540,\n rangeEnd: 541,\n index: null,\n punc: true,\n special: {\n noPuncIfField: 'u'\n }\n }, { // 542 EI\n rangeStart: null,\n rangeEnd: null,\n index: 542,\n punc: false,\n special: null\n }, { // 544-547 KYLL\u00C4\n rangeStart: 544,\n rangeEnd: 547,\n index: null,\n punc: true,\n special: null\n }, { // 550 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 550,\n punc: true,\n special: null\n }, { // 552 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 552,\n punc: true,\n special: null\n }, { // 555-556 KYLL\u00C4\n rangeStart: 555,\n rangeEnd: 556,\n index: null,\n punc: true,\n special: null\n }, { // 561-563 KYLL\u00C4\n rangeStart: 561,\n rangeEnd: 563,\n index: null,\n punc: true,\n special: null\n }, { // 565 EI\n rangeStart: null,\n rangeEnd: null,\n index: 565,\n punc: false,\n special: null\n }, { // 567 KYLL\u00C4 osakent\u00E4n $a j\u00E4lkeen, EI muiden osakenttien j\u00E4lkeen\n rangeStart: null,\n rangeEnd: null,\n index: 567,\n punc: true,\n special: {\n afterOnly: 'a',\n strict: true // $b can only be controlled term\n }\n }, { // 580-581 KYLL\u00C4\n rangeStart: 580,\n rangeEnd: 581,\n index: null,\n punc: true,\n special: null\n }, { // 583 EI\n rangeStart: null,\n rangeEnd: null,\n index: 583,\n punc: false,\n special: null\n }, { // 584-585 KYLL\u00C4\n rangeStart: 584,\n rangeEnd: 585,\n index: null,\n punc: true,\n special: null\n }, { // 586 EI\n rangeStart: null,\n rangeEnd: null,\n index: 586,\n punc: false,\n special: null\n }, { // 588 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: null,\n punc: true,\n special: null\n }, { // 59X EI\n rangeStart: 590,\n rangeEnd: 599,\n index: null,\n punc: false,\n special: null\n }, { // 600 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 600,\n punc: true,\n special: null\n }, { // 610 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 610,\n punc: true,\n special: null\n }, { // 611 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 611,\n punc: true,\n special: null\n }, { // 630 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 630,\n punc: true,\n special: null\n }, { // 647-651 EI suomalaisten sanastojen termeihin, muihin sanaston k\u00E4yt\u00E4nn\u00F6n mukaan, yleens\u00E4 KYLL\u00C4\n rangeStart: 647,\n rangeEnd: 651,\n index: null,\n punc: false,\n special: {\n termSubfieldCode: '2',\n finnishTerms,\n else: true\n }\n }, { // 653 EI\n rangeStart: null,\n rangeEnd: null,\n index: 653,\n punc: false,\n special: null\n }, { // 654-662 EI suomalaisten sanastojen termeihin, muihin sanaston k\u00E4yt\u00E4nn\u00F6n mukaan, yleens\u00E4 KYLL\u00C4\n rangeStart: 654,\n rangeEnd: 662,\n index: null,\n punc: false,\n special: {\n termSubfieldCode: '2',\n finnishTerms,\n else: true\n }\n }, { // 69X EI\n rangeStart: 690,\n rangeEnd: 699,\n index: null,\n punc: false,\n special: null\n }, { // 700 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 700,\n punc: true,\n special: null\n }, { // 710 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 710,\n punc: true,\n special: null\n }, { // 711 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 711,\n punc: true,\n special: null\n }, { // 720 EI\n rangeStart: null,\n rangeEnd: null,\n index: 720,\n punc: false,\n special: null\n }, { // 730 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 730,\n punc: true,\n special: null\n }, { // 740 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 740,\n punc: true,\n special: null\n }, { // 751 EI\n rangeStart: null,\n rangeEnd: null,\n index: 751,\n punc: false,\n special: null\n }, { // 752 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 752,\n punc: true,\n special: null\n }, { // 753 EI\n rangeStart: null,\n rangeEnd: null,\n index: 753,\n punc: false,\n special: null\n }, { // 754 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 754,\n punc: true,\n special: null\n }, { // 758 EI\n rangeStart: null,\n rangeEnd: null,\n index: 758,\n punc: false,\n special: null\n }, { // 760-787 KYLL\u00C4 osakent\u00E4n $a j\u00E4lkeen, EI muiden osakenttien j\u00E4lkeen\n rangeStart: 760,\n rangeEnd: 787,\n index: null,\n punc: true,\n special: {\n afterOnly: 'a',\n strict: false\n }\n }, { // 800 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 800,\n punc: true,\n special: null\n }, { // 810 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 810,\n punc: true,\n special: null\n }, { // 811 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 811,\n punc: true,\n special: null\n }, { // 830 KYLL\u00C4\n rangeStart: null,\n rangeEnd: null,\n index: 830,\n punc: true,\n special: null\n }, { // 850 EI\n rangeStart: null,\n rangeEnd: null,\n index: 850,\n punc: false,\n special: null\n }, { // 852 EI\n rangeStart: null,\n rangeEnd: null,\n index: 852,\n punc: false,\n special: null\n }, { // 856 EI\n rangeStart: null,\n rangeEnd: null,\n index: 856,\n punc: false,\n special: null\n }, { // 880 Samoin kuin vastaavat kent\u00E4t\n rangeStart: null,\n rangeEnd: null,\n index: 880,\n punc: null,\n special: {\n linked: '6'\n }\n }, { // 882-887 EI\n rangeStart: 882,\n rangeEnd: 887,\n index: null,\n punc: false,\n special: null\n }, { // 9XX EI\n rangeStart: 900,\n rangeEnd: 999,\n index: null,\n punc: false,\n special: null\n }\n];\n\nexport {finnishTerms, validPuncMarks, validQuoteChars, confSpec};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,207 +1,157 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
});
|
|
6
|
-
exports.default = _default;
|
|
7
|
-
exports.validateSingleField = validateSingleField;
|
|
8
|
-
var _endingPunctuationConf = require("./ending-punctuation-conf");
|
|
9
|
-
var _debug = _interopRequireDefault(require("debug"));
|
|
10
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
-
/**
|
|
12
|
-
*
|
|
13
|
-
* @licstart The following is the entire license notice for the JavaScript code in this file.
|
|
14
|
-
*
|
|
15
|
-
* MARC record validators used in Melinda
|
|
16
|
-
*
|
|
17
|
-
* Copyright (c) 2014-2021 University Of Helsinki (The National Library Of Finland)
|
|
18
|
-
*
|
|
19
|
-
* This file is part of marc-record-validators-melinda
|
|
20
|
-
*
|
|
21
|
-
* marc-record-validators-melinda program is free software: you can redistribute it and/or modify
|
|
22
|
-
* it under the terms of the GNU Lesser General Public License as
|
|
23
|
-
* published by the Free Software Foundation, either version 3 of the
|
|
24
|
-
* License, or (at your option) any later version.
|
|
25
|
-
*
|
|
26
|
-
* marc-record-validators-melinda is distributed in the hope that it will be useful,
|
|
27
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
28
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
29
|
-
* GNU Lesser General Public License for more details.
|
|
30
|
-
*
|
|
31
|
-
* You should have received a copy of the GNU Lesser General Public License
|
|
32
|
-
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
33
|
-
*
|
|
34
|
-
* @licend The above is the entire license notice
|
|
35
|
-
* for the JavaScript code in this file.
|
|
36
|
-
*
|
|
37
|
-
*/
|
|
38
|
-
|
|
39
|
-
// Import {validPuncMarks, finnishTerms, confSpec} from './ending-punctuation-conf.js';
|
|
40
|
-
|
|
41
|
-
const debug = (0, _debug.default)('@natlibfi/marc-record-validator-melinda/ending-punctuation');
|
|
42
|
-
function _default() {
|
|
1
|
+
import { validPuncMarks, validQuoteChars, finnishTerms, confSpec } from "./ending-punctuation-conf.js";
|
|
2
|
+
import createDebugLogger from "debug";
|
|
3
|
+
const debug = createDebugLogger("@natlibfi/marc-record-validator-melinda/ending-punctuation");
|
|
4
|
+
export default function() {
|
|
43
5
|
return {
|
|
44
|
-
description:
|
|
45
|
-
validate: record => validatePunc(record, false),
|
|
6
|
+
description: "Handles invalid ending punctuation",
|
|
7
|
+
validate: (record) => validatePunc(record, false),
|
|
8
|
+
// Record (Object), fix (boolean)
|
|
9
|
+
fix: (record) => validatePunc(record, true)
|
|
46
10
|
// Record (Object), fix (boolean)
|
|
47
|
-
fix: record => validatePunc(record, true) // Record (Object), fix (boolean)
|
|
48
11
|
};
|
|
49
|
-
|
|
50
|
-
// This is used to validate record against configuration
|
|
51
12
|
function validatePunc(record, fix) {
|
|
52
|
-
const message = {
|
|
53
|
-
message: []
|
|
54
|
-
};
|
|
13
|
+
const message = { message: [] };
|
|
55
14
|
if (fix) {
|
|
56
15
|
message.fix = [];
|
|
57
16
|
}
|
|
58
|
-
|
|
59
|
-
// Actual parsing of all fields
|
|
60
17
|
if (!record.fields) {
|
|
61
18
|
return false;
|
|
62
19
|
}
|
|
63
|
-
record.fields.forEach(field => {
|
|
20
|
+
record.fields.forEach((field) => {
|
|
64
21
|
validateField(field, false, fix, message);
|
|
65
22
|
});
|
|
66
23
|
message.valid = !(message.message.length >= 1);
|
|
67
24
|
return message;
|
|
68
25
|
}
|
|
69
26
|
}
|
|
70
|
-
|
|
71
|
-
// Field validation with punctuation rules for normal and special cases in subfunction (to reduce complexity to please travisci)
|
|
72
27
|
function validateField(field, linkedTag, fix, message) {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
28
|
+
function getDefaultPuncMarks(tag2) {
|
|
29
|
+
if (tag2.match(/^[1678](?:00|10|11|30)/u) || tag2 === "740") {
|
|
30
|
+
return `${validPuncMarks})`;
|
|
31
|
+
}
|
|
32
|
+
if (["647", "648", "650", "651", "654", "655", "656", "657", "658", "662"].includes(tag2)) {
|
|
33
|
+
return `${validPuncMarks})`;
|
|
34
|
+
}
|
|
35
|
+
if (["260"].includes(tag2)) {
|
|
36
|
+
return `${validPuncMarks})]`;
|
|
37
|
+
}
|
|
38
|
+
return validPuncMarks;
|
|
77
39
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
const
|
|
82
|
-
const
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
// Last char should be punc, but its not one of marks nor dot
|
|
40
|
+
function normalPuncRules(subfield, punc, tag2, checkEnd, overrideValidPuncMarks) {
|
|
41
|
+
const puncMarks = overrideValidPuncMarks || getDefaultPuncMarks(tag2);
|
|
42
|
+
const lastChar = subfield.value.slice(-1);
|
|
43
|
+
const lastPuncMark = puncMarks.includes(lastChar);
|
|
44
|
+
const lastPuncDot = ".".includes(lastChar);
|
|
45
|
+
const penultimateCharacter = subfield.value.length >= 2 ? subfield.value.charAt(subfield.value.length - 2) : void 0;
|
|
46
|
+
const antePenultimateCharacter = subfield.value.length >= 3 ? subfield.value.charAt(subfield.value.length - 3) : void 0;
|
|
86
47
|
if (punc && !(lastPuncMark || lastPuncDot)) {
|
|
87
|
-
|
|
88
|
-
|
|
48
|
+
if (penultimateCharacter && validQuoteChars.includes(lastChar) && puncMarks.includes(penultimateCharacter)) {
|
|
49
|
+
} else {
|
|
50
|
+
message.message.push(`Field ${tag2} requires ending punctuation, ends in '${lastChar}'`);
|
|
51
|
+
if (fix) {
|
|
52
|
+
subfield.value = subfield.value.concat(".");
|
|
53
|
+
message.fix.push(`Field ${tag2} - Added punctuation to $${subfield.code}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
} else if (lastPuncDot && penultimateCharacter && puncMarks.includes(penultimateCharacter)) {
|
|
57
|
+
message.message.push(`Field ${tag2} has an extra dot after '${penultimateCharacter}'`);
|
|
89
58
|
if (fix) {
|
|
90
|
-
subfield.value = subfield.value.
|
|
91
|
-
message.fix.push(`Field ${
|
|
59
|
+
subfield.value = subfield.value.slice(0, -1);
|
|
60
|
+
message.fix.push(`Field ${tag2} - Removed dot after punctuation from $${subfield.code}`);
|
|
92
61
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
} else if (lastPuncDot && subfield.value.length > 1 && puncMarks.includes(subfield.value.charAt(subfield.value.length - 2))) {
|
|
96
|
-
// Console.log("2. Invalid punctuation - duplicate, like '?.'")
|
|
97
|
-
message.message.push(`Field ${tag} has invalid ending punctuation`);
|
|
62
|
+
} else if (lastPuncDot && antePenultimateCharacter && validQuoteChars.includes(penultimateCharacter) && puncMarks.includes(antePenultimateCharacter)) {
|
|
63
|
+
message.message.push(`Field ${tag2} has an extra dot in '${antePenultimateCharacter}${penultimateCharacter}${lastChar}'`);
|
|
98
64
|
if (fix) {
|
|
99
65
|
subfield.value = subfield.value.slice(0, -1);
|
|
100
|
-
message.fix.push(`Field ${
|
|
66
|
+
message.fix.push(`Field ${tag2} - Removed '${lastChar}' after '${antePenultimateCharacter}${penultimateCharacter}'`);
|
|
101
67
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
} else if (checkEnd && !punc && lastPuncDot) {
|
|
105
|
-
// Console.log("3. Invalid punctuation - Shouldn't be dot, is")
|
|
106
|
-
message.message.push(`Field ${tag} has invalid ending punctuation`);
|
|
68
|
+
} else if (checkEnd && (!punc && lastPuncDot)) {
|
|
69
|
+
message.message.push(`Field ${tag2} has unwanted ending punctuation '${lastChar}'`);
|
|
107
70
|
if (fix) {
|
|
108
71
|
subfield.value = subfield.value.slice(0, -1);
|
|
109
|
-
message.fix.push(`Field ${
|
|
72
|
+
message.fix.push(`Field ${tag2} - Removed punctuation from $${subfield.code}`);
|
|
110
73
|
}
|
|
111
74
|
}
|
|
112
75
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
if (lastSubField) {
|
|
121
|
-
if (typeof res.special.strict === 'undefined') {
|
|
122
|
-
res.special.strict = true;
|
|
76
|
+
function specialCases(res2, field2, tag2) {
|
|
77
|
+
let lastSubField2 = null;
|
|
78
|
+
if (res2.special.afterOnly) {
|
|
79
|
+
lastSubField2 = findLastSubfield(field2);
|
|
80
|
+
if (lastSubField2) {
|
|
81
|
+
if (typeof res2.special.strict === "undefined") {
|
|
82
|
+
res2.special.strict = true;
|
|
123
83
|
}
|
|
124
|
-
if (
|
|
125
|
-
normalPuncRules(
|
|
84
|
+
if (lastSubField2.code === res2.special.afterOnly) {
|
|
85
|
+
normalPuncRules(lastSubField2, res2.punc, tag2, res2.special.strict, false);
|
|
126
86
|
} else {
|
|
127
|
-
normalPuncRules(
|
|
87
|
+
normalPuncRules(lastSubField2, !res2.punc, tag2, true, false);
|
|
128
88
|
}
|
|
129
89
|
}
|
|
130
|
-
} else if (
|
|
131
|
-
if (
|
|
132
|
-
|
|
133
|
-
normalPuncRules(
|
|
90
|
+
} else if (res2.special.noPuncIfField) {
|
|
91
|
+
if (field2.subfields.some((subField) => subField.code === res2.special.noPuncIfField) === false) {
|
|
92
|
+
lastSubField2 = findLastSubfield(field2);
|
|
93
|
+
normalPuncRules(lastSubField2, res2.punc, tag2, true, false);
|
|
134
94
|
}
|
|
135
|
-
} else if (
|
|
136
|
-
|
|
137
|
-
if (
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
// Matches execption to special rule, noPuncIfInd2 (likely with value 4, that indicates copyright mark)
|
|
143
|
-
} else if (res.special.noPuncIfInd2 && field.ind2 && res.special.noPuncIfInd2.includes(field.ind2)) {
|
|
144
|
-
normalPuncRules(lastSubField, !res.special.ifBoth, tag, true, res.special.ifLastCharNot);
|
|
145
|
-
|
|
146
|
-
// Does not match rules -> shouldn't have punc
|
|
95
|
+
} else if (res2.special.ifBoth) {
|
|
96
|
+
lastSubField2 = findLastSubfield(field2);
|
|
97
|
+
if (lastSubField2 && lastSubField2.code === res2.special.puncSubField) {
|
|
98
|
+
if (res2.special.ifInd2 && res2.special.ifInd2.includes(field2.ind2)) {
|
|
99
|
+
normalPuncRules(lastSubField2, res2.special.ifBoth, tag2, true, res2.special.ifLastCharNot);
|
|
100
|
+
} else if (res2.special.noPuncIfInd2 && field2.ind2 && res2.special.noPuncIfInd2.includes(field2.ind2)) {
|
|
101
|
+
normalPuncRules(lastSubField2, !res2.special.ifBoth, tag2, true, res2.special.ifLastCharNot);
|
|
147
102
|
} else {
|
|
148
|
-
normalPuncRules(
|
|
103
|
+
normalPuncRules(lastSubField2, !res2.special.ifBoth, tag2, true, res2.special.ifLastCharNot);
|
|
149
104
|
}
|
|
150
105
|
}
|
|
151
|
-
} else if (
|
|
152
|
-
|
|
153
|
-
if (isNaN(subField.code) &&
|
|
154
|
-
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
} // Strict because this field should not be abbreviation
|
|
106
|
+
} else if (res2.special.secondLastIfLast) {
|
|
107
|
+
field2.subfields.forEach((subField) => {
|
|
108
|
+
if (isNaN(subField.code) && res2.special.secondLastIfLast !== subField.code) {
|
|
109
|
+
lastSubField2 = subField;
|
|
110
|
+
}
|
|
111
|
+
if (typeof res2.special.last !== "undefined" && res2.special.secondLastIfLast === subField.code) {
|
|
112
|
+
normalPuncRules(subField, res2.special.last, tag2, true, false);
|
|
113
|
+
}
|
|
160
114
|
});
|
|
161
|
-
normalPuncRules(
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
}) => code === res.special.termField);
|
|
170
|
-
if (languageField && languageField.value && _endingPunctuationConf.finnishTerms.some(p => p.test(languageField.value))) {
|
|
171
|
-
// If (languageField && languageField.value && finnishTerms.indexOf(languageField.value) > -1) {
|
|
172
|
-
normalPuncRules(lastSubField, res.punc, tag, true, false);
|
|
115
|
+
normalPuncRules(lastSubField2, res2.punc, tag2, false, false);
|
|
116
|
+
} else if (res2.special.termSubfieldCode) {
|
|
117
|
+
lastSubField2 = findLastSubfield(field2);
|
|
118
|
+
if (lastSubField2) {
|
|
119
|
+
const lexicon = getLexicon(field2, res2.special.termSubfieldCode);
|
|
120
|
+
const proceed = !finnishException(field2, res2.special.termSubfieldCode, false);
|
|
121
|
+
if (lexicon && finnishTerms.some((p) => p.test(lexicon)) && proceed) {
|
|
122
|
+
normalPuncRules(lastSubField2, res2.punc, tag2, true, false);
|
|
173
123
|
} else {
|
|
174
|
-
normalPuncRules(
|
|
124
|
+
normalPuncRules(lastSubField2, res2.special.else, tag2, false, false);
|
|
175
125
|
}
|
|
176
126
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
normalPuncRules(subField, res.punc, tag, true, false);
|
|
187
|
-
} // Strict because of mandatory
|
|
127
|
+
} else if (res2.special.lastOf) {
|
|
128
|
+
lastSubField2 = null;
|
|
129
|
+
field2.subfields.filter((subField) => "value" in subField).forEach((subField) => {
|
|
130
|
+
if (isNaN(subField.code) && res2.special.lastOf.indexOf(subField.code) > -1) {
|
|
131
|
+
lastSubField2 = subField;
|
|
132
|
+
}
|
|
133
|
+
if (res2.special.mandatory && res2.special.mandatory.indexOf(subField.code) > -1) {
|
|
134
|
+
normalPuncRules(subField, res2.punc, tag2, true, false);
|
|
135
|
+
}
|
|
188
136
|
});
|
|
189
|
-
if (
|
|
190
|
-
normalPuncRules(
|
|
137
|
+
if (lastSubField2) {
|
|
138
|
+
normalPuncRules(lastSubField2, res2.punc, tag2, false, false);
|
|
191
139
|
}
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
} else if (res.special.linked) {
|
|
195
|
-
let linkedTag = null;
|
|
140
|
+
} else if (res2.special.linked) {
|
|
141
|
+
let linkedTag2 = null;
|
|
196
142
|
try {
|
|
197
|
-
|
|
198
|
-
code
|
|
199
|
-
}) => code === res.special.linked).value.substr(0, 3), 10); // Substring feels stupid, but is used in MarcRecord to extract tag.
|
|
143
|
+
linkedTag2 = parseInt(field2.subfields.find(({ code }) => code === res2.special.linked).value.substr(0, 3), 10);
|
|
200
144
|
} catch (err) {
|
|
201
145
|
debug(`Got error while parsing tag: ${err instanceof Error ? err.stack : err}`);
|
|
202
146
|
return false;
|
|
203
147
|
}
|
|
204
|
-
validateField(
|
|
148
|
+
validateField(field2, linkedTag2, fix, message);
|
|
149
|
+
} else {
|
|
150
|
+
debug(`special is definedm but no rule applies`);
|
|
151
|
+
const lastSubField3 = findLastSubfield(field2);
|
|
152
|
+
if (lastSubField3) {
|
|
153
|
+
normalPuncRules(lastSubField3, res2.punc, field2.tag, false, false, fix, message);
|
|
154
|
+
}
|
|
205
155
|
}
|
|
206
156
|
}
|
|
207
157
|
let res = null;
|
|
@@ -217,24 +167,22 @@ function validateField(field, linkedTag, fix, message) {
|
|
|
217
167
|
return false;
|
|
218
168
|
}
|
|
219
169
|
}
|
|
220
|
-
|
|
221
|
-
// Find configuration object matching tag:
|
|
222
|
-
res = Object.values(_endingPunctuationConf.confSpec).find(o => {
|
|
170
|
+
res = Object.values(confSpec).find((o) => {
|
|
223
171
|
const rangeFine = o.rangeStart <= tag && o.rangeEnd >= tag;
|
|
224
172
|
return o.index === tag || rangeFine;
|
|
225
173
|
});
|
|
226
174
|
if (!res) {
|
|
227
175
|
return;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
// Field does not have subfields; invalid
|
|
231
|
-
if (typeof field.subfields === 'undefined' || field.subfields === null) {
|
|
176
|
+
}
|
|
177
|
+
if (typeof field.subfields === "undefined" || field.subfields === null) {
|
|
232
178
|
message.message.push(`Field ${field.tag} has invalid ending punctuation`);
|
|
233
179
|
return;
|
|
234
180
|
}
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
181
|
+
const forceNormal = res.special ? finnishException(field, res.special.termSubfieldCode, true) : false;
|
|
182
|
+
if (typeof res.special === "undefined" || res.special === null || forceNormal) {
|
|
183
|
+
if (forceNormal) {
|
|
184
|
+
console.info("EXCEPTION. SKIP FINNISH RULES");
|
|
185
|
+
}
|
|
238
186
|
lastSubField = findLastSubfield(field);
|
|
239
187
|
if (lastSubField) {
|
|
240
188
|
normalPuncRules(lastSubField, res.punc, field.tag, false, false, fix, message);
|
|
@@ -243,11 +191,11 @@ function validateField(field, linkedTag, fix, message) {
|
|
|
243
191
|
try {
|
|
244
192
|
specialCases(res, field, field.tag);
|
|
245
193
|
} catch (e) {
|
|
246
|
-
console.error(
|
|
194
|
+
console.error("Catched error from special case: ", e);
|
|
247
195
|
}
|
|
248
196
|
}
|
|
249
197
|
}
|
|
250
|
-
function validateSingleField(field, linkedTag, fix) {
|
|
198
|
+
export function validateSingleField(field, linkedTag, fix) {
|
|
251
199
|
const message = {};
|
|
252
200
|
message.message = [];
|
|
253
201
|
if (fix) {
|
|
@@ -257,4 +205,43 @@ function validateSingleField(field, linkedTag, fix) {
|
|
|
257
205
|
message.valid = !(message.message.length >= 1);
|
|
258
206
|
return message;
|
|
259
207
|
}
|
|
260
|
-
|
|
208
|
+
function getLexicon(field, subfieldCode) {
|
|
209
|
+
const languageSubfield = field.subfields.find(({ code }) => code === subfieldCode);
|
|
210
|
+
if (!languageSubfield || !languageSubfield.value) {
|
|
211
|
+
return void 0;
|
|
212
|
+
}
|
|
213
|
+
if (finnishTerms.find((p) => p.test(languageSubfield.value))) {
|
|
214
|
+
return languageSubfield.value;
|
|
215
|
+
}
|
|
216
|
+
return void 0;
|
|
217
|
+
}
|
|
218
|
+
function finnishException(field, termSubfieldCode, hasDot = true) {
|
|
219
|
+
const lexicon = getLexicon(field, termSubfieldCode);
|
|
220
|
+
if (!lexicon) {
|
|
221
|
+
return false;
|
|
222
|
+
}
|
|
223
|
+
const lastSubfield = findLastSubfield(field);
|
|
224
|
+
if (!lastSubfield || !lastSubfield.value) {
|
|
225
|
+
return false;
|
|
226
|
+
}
|
|
227
|
+
if (field.tag === "648") {
|
|
228
|
+
if (lexicon === "yso/fin") {
|
|
229
|
+
if (hasDot) {
|
|
230
|
+
return lastSubfield.value.match(/ (?:eaa|[ej]Kr|jaa)\.$/u);
|
|
231
|
+
}
|
|
232
|
+
return lastSubfield.value.match(/ (?:eaa|[ej]Kr)|jaa$/u);
|
|
233
|
+
}
|
|
234
|
+
if (lexicon === "yso/swe") {
|
|
235
|
+
if (hasDot) {
|
|
236
|
+
return lastSubfield.value.match(/ (?:[ef]\.Kr|f\.v\.t)\.$/u);
|
|
237
|
+
}
|
|
238
|
+
return lastSubfield.value.match(/ (?:[ef]\.Kr|f\.v\.t)$/u);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
return false;
|
|
242
|
+
}
|
|
243
|
+
function findLastSubfield(field) {
|
|
244
|
+
const subfields = field.subfields.filter((sf) => isNaN(sf.code) && "value" in sf);
|
|
245
|
+
return subfields.slice(-1).shift();
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=ending-punctuation.js.map
|