@natlibfi/marc-record-validators-melinda 11.6.7-alpha.1 → 12.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/melinda-node-tests.yml +1 -1
- 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 +46 -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 +871 -769
- package/dist/ending-punctuation-conf.js.map +7 -1
- package/dist/ending-punctuation.js +84 -167
- package/dist/ending-punctuation.js.map +7 -1
- package/dist/ending-punctuation.test.js +2290 -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 +119 -413
- package/dist/index.js.map +7 -1
- package/dist/indicator-fixes.js +57 -95
- 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 +66 -126
- 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 +182 -379
- package/dist/merge-fields/counterpartField.js.map +7 -1
- package/dist/merge-fields/index.js +15 -49
- 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 +44 -0
- package/dist/merge-fields.test.js.map +7 -0
- package/dist/mergeField500Lisapainokset.js +28 -57
- 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 +67 -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 +251 -800
- 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 +103 -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 +33 -64
- 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 +44 -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 +72 -126
- package/dist/utils.js.map +7 -1
- package/eslint.config.mjs +1 -2
- package/package.json +21 -93
- 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.test.js +55 -0
- 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.js +1 -1
- package/src/{ending-punctuation.spec.js → ending-punctuation.test.js} +172 -173
- 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/indicator-fixes.js +3 -3
- package/src/{indicator-fixes.spec.js → indicator-fixes.test.js} +9 -12
- package/src/isbn-issn.js +1 -1
- 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/merge-fields/controlSubfields.js +1 -1
- package/src/merge-fields/counterpartField.js +8 -9
- package/src/merge-fields/index.js +1 -1
- package/src/merge-fields/mergableIndicator.js +1 -1
- package/src/merge-fields/mergeField.js +6 -6
- 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} +12 -13
- 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 +6 -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 +4 -4
- 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 +11 -11
- 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 +5 -5
- 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 +1 -1
- 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.spec.js → translate-terms.test.js} +13 -13
- 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 +3 -3
- 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/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/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/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/cyrillux-usemarcon-replacement.spec.js +0 -47
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{"version":3,"file":"field33XUtils.js","names":["field336Mappings","exports","field337Mappings","field338Mappings","map33XCodeToTerm","mapping","catLang","undefined","fin","map336CodeToTerm","code","filter","m","map337CodeToTerm","map338CodeToTerm","getFormOfItem","record","f008Value","get","map","field","value","length","pos","getFormOfItemPosition","isMP","isVM","getTitleMedium","f245","h","subfields","sf"],"sources":["../src/field33XUtils.js"],"sourcesContent":["\nexport const field336Mappings = [\n {'code': 'crd', 'fin': 'kartografinen data', 'swe': 'kartografisk data', 'eng': 'cartographic dataset'},\n {'code': 'cri', 'fin': 'kartografinen kuva', 'swe': 'kartografisk bild', 'eng': 'cartographic image'},\n {'code': 'crm', 'fin': 'kartografinen liikkuva kuva', 'swe': 'kartografisk rörlig bild', 'eng': 'cartographic moving image'},\n {'code': 'crt', 'fin': 'kartografinen taktiili kuva', 'swe': 'kartografisk taktil bild', 'eng': 'cartographic tactile image'},\n {'code': 'crn', 'fin': 'kartografinen taktiili kolmiulotteinen muoto', 'swe': 'kartografisk taktil tredimensionell form', 'eng': 'cartographic tactile three-dimensional form'},\n {'code': 'crf', 'fin': 'kartografinen kolmiulotteinen muoto', 'swe': 'kartografisk tredimensionell form', 'eng': 'cartographic three-dimensional form'},\n {'code': 'cod', 'fin': 'digitaalinen data', 'swe': 'digitalt dataset', 'eng': 'computer dataset'},\n {'code': 'cop', 'fin': 'tietokoneohjelma', 'swe': 'datorprogram', 'eng': 'computer program'},\n {'code': 'ntv', 'fin': 'liikenotaatio', 'swe': 'rörelsenotation', 'eng': 'notated movement'},\n {'code': 'ntm', 'fin': 'nuottikirjoitus', 'swe': 'noterad musik', 'eng': 'notated music'},\n {'code': 'prm', 'fin': 'esitetty musiikki', 'swe': 'framförd musik', 'eng': 'performed music'},\n {'code': 'snd', 'fin': 'ääni', 'swe': 'ljud', 'eng': 'sounds', 'ger': 'Geräusche'},\n {'code': 'spw', 'fin': 'puhe', 'swe': 'tal', 'eng': 'spoken word', 'ger': 'gesprochenes Wort'},\n {'code': 'sti', 'fin': 'stillkuva', 'swe': 'stillbild', 'eng': 'still image', 'ger': 'unbewegtes Bild'},\n {'code': 'tci', 'fin': 'taktiili kuva', 'swe': 'taktil bild', 'eng': 'tactile image'},\n {'code': 'tcm', 'fin': 'taktiili nuottikirjoitus', 'swe': 'taktil musiknotation', 'eng': 'tactile notated music'},\n {'code': 'tcn', 'fin': 'taktiili liikenotaatio', 'swe': 'taktil noterad rörelse', 'eng': 'tactile notated movement'},\n {'code': 'tct', 'fin': 'taktiili teksti', 'swe': 'taktil text', 'eng': 'tactile text', 'fre': 'texte tactile'},\n {'code': 'tcf', 'fin': 'taktiili kolmiulotteinen muoto', 'swe': 'taktil tredimensionell form', 'eng': 'tactile three-dimensional form'},\n {'code': 'txt', 'fin': 'teksti', 'swe': 'text', 'eng': 'text', 'ger': 'Text', 'fre': 'texte'},\n {'code': 'tdf', 'fin': 'kolmiulotteinen muoto', 'swe': 'tredimensionell form', 'eng': 'three-dimensional form'},\n {'code': 'tdm', 'fin': 'kolmiulotteinen liikkuva kuva', 'swe': 'tredimensionell rörlig bild', 'eng': 'three-dimensional moving image'},\n {'code': 'tdi', 'fin': 'kaksiulotteinen liikkuva kuva', 'swe': 'tvådimensionell rörlig bild', 'eng': 'two-dimensional moving image'},\n {'code': 'xxx', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'zzz', 'fin': 'määrittelemätön', 'swe': 'ospecificerad', 'eng': 'unspecified'}\n];\n\nexport const field337Mappings = [\n {'code': 's', 'fin': 'audio', 'swe': 'audio', 'eng': 'audio'},\n {'code': 'c', 'fin': 'tietokonekäyttöinen', 'swe': 'dator', 'eng': 'computer'},\n {'code': 'h', 'fin': 'mikromuoto', 'swe': 'mikroform', 'eng': 'microform'},\n {'code': 'p', 'fin': 'mikroskooppinen', 'swe': 'mikroskopisk', 'eng': 'microscopic'},\n {'code': 'g', 'fin': 'heijastettava', 'swe': 'projicerad', 'eng': 'projected'},\n {'code': 'e', 'fin': 'stereografinen', 'swe': 'stereografisk', 'eng': 'stereographic'},\n {'code': 'n', 'fin': 'käytettävissä ilman laitetta', 'swe': 'omedierad', 'eng': 'unmediated'},\n {'code': 'v', 'fin': 'video', 'swe': 'video', 'eng': 'video'},\n {'code': 'x', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'z', 'fin': 'määrittelemätön', 'swe': 'ospecificerad', 'eng': 'unspecified'}\n];\n\nexport const field338Mappings = [\n {'code': 'ca', 'fin': 'tietonauhan silmukkakasetti', 'swe': 'datorbandmagasin', 'eng': 'computer tape cartridge'},\n {'code': 'cb', 'fin': 'piirikotelo', 'swe': 'datorminnesmodul', 'eng': 'computer cartridge'},\n {'code': 'cd', 'fin': 'tietolevy', 'swe': 'datorskiva', 'eng': 'computer disc'},\n {'code': 'ce', 'fin': 'tietolevykotelo', 'swe': 'datorskivmagasin', 'eng': 'computer disc cartridge'},\n {'code': 'cf', 'fin': 'tietokasetti', 'swe': 'datorkassett', 'eng': 'computer tape cassette'},\n {'code': 'ch', 'fin': 'tietonauhakela', 'swe': 'datorbandspole', 'eng': 'computer tape reel'},\n {'code': 'ck', 'fin': 'muistikortti', 'swe': 'datorkort', 'eng': 'computer card'},\n {'code': 'cr', 'fin': 'verkkoaineisto', 'swe': 'onlineresurs', 'eng': 'online resource'},\n {'code': 'cz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'eh', 'fin': 'stereografinen kortti', 'swe': 'stereografiskt kort', 'eng': 'stereograph card'},\n {'code': 'es', 'fin': 'stereografinen levy', 'swe': 'stereografisk skiva', 'eng': 'stereograph disc'},\n {'code': 'ez', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'gc', 'fin': 'rainakasetti', 'swe': 'bildbandsmagasin', 'eng': 'filmstrip cartridge'},\n {'code': 'gd', 'fin': 'filmiliuska', 'swe': 'filmremsa', 'eng': 'filmslip'},\n {'code': 'gf', 'fin': 'raina', 'swe': 'bildband', 'eng': 'filmstrip'},\n {'code': 'gs', 'fin': 'dia', 'swe': 'diabild', 'eng': 'slide'},\n {'code': 'gt', 'fin': 'piirtoheitinkalvo', 'swe': 'transparang', 'eng': 'overhead transparency'},\n {'code': 'ha', 'fin': 'ikkunakortti', 'swe': 'fönsterkort', 'eng': 'aperture card'},\n {'code': 'hb', 'fin': 'mikrofilmisilmukkakasetti', 'swe': 'mikrofilmsmagasin', 'eng': 'microfilm cartridge'},\n {'code': 'hc', 'fin': 'mikrofilmikasetti', 'swe': 'mikrofilmskassett', 'eng': 'microfilm cassette'},\n {'code': 'hd', 'fin': 'mikrofilmikela', 'swe': 'mikrofilmsspole', 'eng': 'microfilm reel'},\n {'code': 'he', 'fin': 'mikrokortti', 'swe': 'mikrofiche', 'eng': 'microfiche'},\n {'code': 'hf', 'fin': 'mikrokorttikasetti', 'swe': 'mikrofichekassett', 'eng': 'microfiche cassette'},\n {'code': 'hg', 'fin': 'mikrokortti (läpinäkymätön)', 'swe': 'mikrofiche (ogenomskinlig)', 'eng': 'microopaque'},\n {'code': 'hh', 'fin': 'mikrofilmiliuska', 'swe': 'mikrofilmsremsa', 'eng': 'microfilm slip'},\n {'code': 'hj', 'fin': 'mikrofilmirulla', 'swe': 'mikrofilmsrulle', 'eng': 'microfilm roll'},\n {'code': 'hz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'mc', 'fin': 'filmisilmukkakasetti', 'swe': 'filmmagasin', 'eng': 'film cartridge'},\n {'code': 'mf', 'fin': 'filmikasetti', 'swe': 'filmkassett', 'eng': 'film cassette'},\n {'code': 'mo', 'fin': 'filmirulla', 'swe': 'filmrulle', 'eng': 'film roll'},\n {'code': 'mr', 'fin': 'filmikela', 'swe': 'filmspole', 'eng': 'film reel'},\n {'code': 'mz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'na', 'fin': 'rulla', 'swe': 'rulle', 'eng': 'roll'},\n {'code': 'nb', 'fin': 'arkki', 'swe': 'ark', 'eng': 'sheet'},\n {'code': 'nc', 'fin': 'nide', 'swe': 'volym', 'eng': 'volume'},\n {'code': 'nn', 'fin': 'lehtiötaulu', 'swe': 'blädderblock', 'eng': 'flipchart'},\n {'code': 'no', 'fin': 'kortti', 'swe': 'kort', 'eng': 'card'},\n {'code': 'nr', 'fin': 'objekti', 'swe': 'föremål', 'eng': 'object'},\n {'code': 'nz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'pp', 'fin': 'preparaattilasi', 'swe': 'mikroskoperingspreparat', 'eng': 'microscope slide'},\n {'code': 'pz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'sb', 'fin': 'äänihihna', 'swe': 'ljudslinga', 'eng': 'audio belt'},\n {'code': 'sd', 'fin': 'äänilevy', 'swe': 'ljudskiva', 'eng': 'audio disc'},\n {'code': 'se', 'fin': 'äänisylinteri', 'swe': 'ljudcylinder', 'eng': 'audio cylinder'},\n {'code': 'sg', 'fin': 'äänisilmukkakasetti', 'swe': 'ljudmagasin', 'eng': 'audio cartridge'},\n {'code': 'si', 'fin': 'ääniraitakela', 'swe': 'filmljudspole', 'eng': 'sound-track reel'},\n {'code': 'sq', 'fin': 'äänirulla', 'swe': 'ljudrulle', 'eng': 'audio roll'},\n {'code': 'ss', 'fin': 'äänikasetti', 'swe': 'ljudkassett', 'eng': 'audiocassette'},\n {'code': 'st', 'fin': 'äänikela', 'swe': 'ljudspole', 'eng': 'audiotape reel'},\n {'code': 'sw', 'fin': 'äänilankakela', 'swe': 'ljudtråd', 'eng': 'audio wire reel'},\n {'code': 'sz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'vc', 'fin': 'videosilmukkakasetti', 'swe': 'videomagasin', 'eng': 'video cartridge'},\n {'code': 'vd', 'fin': 'videolevy', 'swe': 'videoskiva', 'eng': 'videodisc'},\n {'code': 'vf', 'fin': 'videokasetti', 'swe': 'videokassett', 'eng': 'videocassette'},\n {'code': 'vr', 'fin': 'videokela', 'swe': 'videospole', 'eng': 'videotape reel'},\n {'code': 'vz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'zu', 'fin': 'määrittelemätön', 'swe': 'ospecificerad', 'eng': 'unspecified'}\n];\n\n\nfunction map33XCodeToTerm(mapping, catLang = 'fin') {\n if (!mapping) {\n return undefined;\n }\n if (catLang in mapping) {\n return mapping[catLang];\n }\n if ('fin' in mapping) {\n return mapping.fin; // Default to Finnish (which should be complete, knock-knock)\n }\n return undefined;\n}\n\nexport function map336CodeToTerm(code, catLang = 'fin') {\n const [mapping] = field336Mappings.filter(m => m.code === code);\n return map33XCodeToTerm(mapping, catLang);\n}\n\nexport function map337CodeToTerm(code, catLang = 'fin') {\n const [mapping] = field337Mappings.filter(m => m.code === code);\n return map33XCodeToTerm(mapping, catLang);\n}\n\nexport function map338CodeToTerm(code, catLang = 'fin') {\n const [mapping] = field338Mappings.filter(m => m.code === code);\n return map33XCodeToTerm(mapping, catLang);\n}\n\nexport function getFormOfItem(record) {\n const [f008Value] = record.get('008').map(field => field.value);\n if (f008Value && f008Value.length === 40) {\n const pos = getFormOfItemPosition(record);\n return f008Value[pos];\n }\n return '|';\n}\n\nexport function getFormOfItemPosition(record) {\n if (record.isMP() || record.isVM()) {\n return 29;\n }\n return 23;\n}\n\nexport function getTitleMedium(record) {\n // Get 245$h. Very old and deprecated practise...\n const [f245] = record.get('245');\n if (!f245) {\n return undefined;\n }\n const [h] = f245.subfields.filter(sf => sf.code === 'h');\n return h ? h.value : undefined;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/field33XUtils.js"],
|
|
4
|
+
"sourcesContent": ["\nexport const field336Mappings = [\n {'code': 'crd', 'fin': 'kartografinen data', 'swe': 'kartografisk data', 'eng': 'cartographic dataset'},\n {'code': 'cri', 'fin': 'kartografinen kuva', 'swe': 'kartografisk bild', 'eng': 'cartographic image'},\n {'code': 'crm', 'fin': 'kartografinen liikkuva kuva', 'swe': 'kartografisk r\u00F6rlig bild', 'eng': 'cartographic moving image'},\n {'code': 'crt', 'fin': 'kartografinen taktiili kuva', 'swe': 'kartografisk taktil bild', 'eng': 'cartographic tactile image'},\n {'code': 'crn', 'fin': 'kartografinen taktiili kolmiulotteinen muoto', 'swe': 'kartografisk taktil tredimensionell form', 'eng': 'cartographic tactile three-dimensional form'},\n {'code': 'crf', 'fin': 'kartografinen kolmiulotteinen muoto', 'swe': 'kartografisk tredimensionell form', 'eng': 'cartographic three-dimensional form'},\n {'code': 'cod', 'fin': 'digitaalinen data', 'swe': 'digitalt dataset', 'eng': 'computer dataset'},\n {'code': 'cop', 'fin': 'tietokoneohjelma', 'swe': 'datorprogram', 'eng': 'computer program'},\n {'code': 'ntv', 'fin': 'liikenotaatio', 'swe': 'r\u00F6relsenotation', 'eng': 'notated movement'},\n {'code': 'ntm', 'fin': 'nuottikirjoitus', 'swe': 'noterad musik', 'eng': 'notated music'},\n {'code': 'prm', 'fin': 'esitetty musiikki', 'swe': 'framf\u00F6rd musik', 'eng': 'performed music'},\n {'code': 'snd', 'fin': '\u00E4\u00E4ni', 'swe': 'ljud', 'eng': 'sounds', 'ger': 'Ger\u00E4usche'},\n {'code': 'spw', 'fin': 'puhe', 'swe': 'tal', 'eng': 'spoken word', 'ger': 'gesprochenes Wort'},\n {'code': 'sti', 'fin': 'stillkuva', 'swe': 'stillbild', 'eng': 'still image', 'ger': 'unbewegtes Bild'},\n {'code': 'tci', 'fin': 'taktiili kuva', 'swe': 'taktil bild', 'eng': 'tactile image'},\n {'code': 'tcm', 'fin': 'taktiili nuottikirjoitus', 'swe': 'taktil musiknotation', 'eng': 'tactile notated music'},\n {'code': 'tcn', 'fin': 'taktiili liikenotaatio', 'swe': 'taktil noterad r\u00F6relse', 'eng': 'tactile notated movement'},\n {'code': 'tct', 'fin': 'taktiili teksti', 'swe': 'taktil text', 'eng': 'tactile text', 'fre': 'texte tactile'},\n {'code': 'tcf', 'fin': 'taktiili kolmiulotteinen muoto', 'swe': 'taktil tredimensionell form', 'eng': 'tactile three-dimensional form'},\n {'code': 'txt', 'fin': 'teksti', 'swe': 'text', 'eng': 'text', 'ger': 'Text', 'fre': 'texte'},\n {'code': 'tdf', 'fin': 'kolmiulotteinen muoto', 'swe': 'tredimensionell form', 'eng': 'three-dimensional form'},\n {'code': 'tdm', 'fin': 'kolmiulotteinen liikkuva kuva', 'swe': 'tredimensionell r\u00F6rlig bild', 'eng': 'three-dimensional moving image'},\n {'code': 'tdi', 'fin': 'kaksiulotteinen liikkuva kuva', 'swe': 'tv\u00E5dimensionell r\u00F6rlig bild', 'eng': 'two-dimensional moving image'},\n {'code': 'xxx', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'zzz', 'fin': 'm\u00E4\u00E4rittelem\u00E4t\u00F6n', 'swe': 'ospecificerad', 'eng': 'unspecified'}\n];\n\nexport const field337Mappings = [\n {'code': 's', 'fin': 'audio', 'swe': 'audio', 'eng': 'audio'},\n {'code': 'c', 'fin': 'tietokonek\u00E4ytt\u00F6inen', 'swe': 'dator', 'eng': 'computer'},\n {'code': 'h', 'fin': 'mikromuoto', 'swe': 'mikroform', 'eng': 'microform'},\n {'code': 'p', 'fin': 'mikroskooppinen', 'swe': 'mikroskopisk', 'eng': 'microscopic'},\n {'code': 'g', 'fin': 'heijastettava', 'swe': 'projicerad', 'eng': 'projected'},\n {'code': 'e', 'fin': 'stereografinen', 'swe': 'stereografisk', 'eng': 'stereographic'},\n {'code': 'n', 'fin': 'k\u00E4ytett\u00E4viss\u00E4 ilman laitetta', 'swe': 'omedierad', 'eng': 'unmediated'},\n {'code': 'v', 'fin': 'video', 'swe': 'video', 'eng': 'video'},\n {'code': 'x', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'z', 'fin': 'm\u00E4\u00E4rittelem\u00E4t\u00F6n', 'swe': 'ospecificerad', 'eng': 'unspecified'}\n];\n\nexport const field338Mappings = [\n {'code': 'ca', 'fin': 'tietonauhan silmukkakasetti', 'swe': 'datorbandmagasin', 'eng': 'computer tape cartridge'},\n {'code': 'cb', 'fin': 'piirikotelo', 'swe': 'datorminnesmodul', 'eng': 'computer cartridge'},\n {'code': 'cd', 'fin': 'tietolevy', 'swe': 'datorskiva', 'eng': 'computer disc'},\n {'code': 'ce', 'fin': 'tietolevykotelo', 'swe': 'datorskivmagasin', 'eng': 'computer disc cartridge'},\n {'code': 'cf', 'fin': 'tietokasetti', 'swe': 'datorkassett', 'eng': 'computer tape cassette'},\n {'code': 'ch', 'fin': 'tietonauhakela', 'swe': 'datorbandspole', 'eng': 'computer tape reel'},\n {'code': 'ck', 'fin': 'muistikortti', 'swe': 'datorkort', 'eng': 'computer card'},\n {'code': 'cr', 'fin': 'verkkoaineisto', 'swe': 'onlineresurs', 'eng': 'online resource'},\n {'code': 'cz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'eh', 'fin': 'stereografinen kortti', 'swe': 'stereografiskt kort', 'eng': 'stereograph card'},\n {'code': 'es', 'fin': 'stereografinen levy', 'swe': 'stereografisk skiva', 'eng': 'stereograph disc'},\n {'code': 'ez', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'gc', 'fin': 'rainakasetti', 'swe': 'bildbandsmagasin', 'eng': 'filmstrip cartridge'},\n {'code': 'gd', 'fin': 'filmiliuska', 'swe': 'filmremsa', 'eng': 'filmslip'},\n {'code': 'gf', 'fin': 'raina', 'swe': 'bildband', 'eng': 'filmstrip'},\n {'code': 'gs', 'fin': 'dia', 'swe': 'diabild', 'eng': 'slide'},\n {'code': 'gt', 'fin': 'piirtoheitinkalvo', 'swe': 'transparang', 'eng': 'overhead transparency'},\n {'code': 'ha', 'fin': 'ikkunakortti', 'swe': 'f\u00F6nsterkort', 'eng': 'aperture card'},\n {'code': 'hb', 'fin': 'mikrofilmisilmukkakasetti', 'swe': 'mikrofilmsmagasin', 'eng': 'microfilm cartridge'},\n {'code': 'hc', 'fin': 'mikrofilmikasetti', 'swe': 'mikrofilmskassett', 'eng': 'microfilm cassette'},\n {'code': 'hd', 'fin': 'mikrofilmikela', 'swe': 'mikrofilmsspole', 'eng': 'microfilm reel'},\n {'code': 'he', 'fin': 'mikrokortti', 'swe': 'mikrofiche', 'eng': 'microfiche'},\n {'code': 'hf', 'fin': 'mikrokorttikasetti', 'swe': 'mikrofichekassett', 'eng': 'microfiche cassette'},\n {'code': 'hg', 'fin': 'mikrokortti (l\u00E4pin\u00E4kym\u00E4t\u00F6n)', 'swe': 'mikrofiche (ogenomskinlig)', 'eng': 'microopaque'},\n {'code': 'hh', 'fin': 'mikrofilmiliuska', 'swe': 'mikrofilmsremsa', 'eng': 'microfilm slip'},\n {'code': 'hj', 'fin': 'mikrofilmirulla', 'swe': 'mikrofilmsrulle', 'eng': 'microfilm roll'},\n {'code': 'hz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'mc', 'fin': 'filmisilmukkakasetti', 'swe': 'filmmagasin', 'eng': 'film cartridge'},\n {'code': 'mf', 'fin': 'filmikasetti', 'swe': 'filmkassett', 'eng': 'film cassette'},\n {'code': 'mo', 'fin': 'filmirulla', 'swe': 'filmrulle', 'eng': 'film roll'},\n {'code': 'mr', 'fin': 'filmikela', 'swe': 'filmspole', 'eng': 'film reel'},\n {'code': 'mz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'na', 'fin': 'rulla', 'swe': 'rulle', 'eng': 'roll'},\n {'code': 'nb', 'fin': 'arkki', 'swe': 'ark', 'eng': 'sheet'},\n {'code': 'nc', 'fin': 'nide', 'swe': 'volym', 'eng': 'volume'},\n {'code': 'nn', 'fin': 'lehti\u00F6taulu', 'swe': 'bl\u00E4dderblock', 'eng': 'flipchart'},\n {'code': 'no', 'fin': 'kortti', 'swe': 'kort', 'eng': 'card'},\n {'code': 'nr', 'fin': 'objekti', 'swe': 'f\u00F6rem\u00E5l', 'eng': 'object'},\n {'code': 'nz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'pp', 'fin': 'preparaattilasi', 'swe': 'mikroskoperingspreparat', 'eng': 'microscope slide'},\n {'code': 'pz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'sb', 'fin': '\u00E4\u00E4nihihna', 'swe': 'ljudslinga', 'eng': 'audio belt'},\n {'code': 'sd', 'fin': '\u00E4\u00E4nilevy', 'swe': 'ljudskiva', 'eng': 'audio disc'},\n {'code': 'se', 'fin': '\u00E4\u00E4nisylinteri', 'swe': 'ljudcylinder', 'eng': 'audio cylinder'},\n {'code': 'sg', 'fin': '\u00E4\u00E4nisilmukkakasetti', 'swe': 'ljudmagasin', 'eng': 'audio cartridge'},\n {'code': 'si', 'fin': '\u00E4\u00E4niraitakela', 'swe': 'filmljudspole', 'eng': 'sound-track reel'},\n {'code': 'sq', 'fin': '\u00E4\u00E4nirulla', 'swe': 'ljudrulle', 'eng': 'audio roll'},\n {'code': 'ss', 'fin': '\u00E4\u00E4nikasetti', 'swe': 'ljudkassett', 'eng': 'audiocassette'},\n {'code': 'st', 'fin': '\u00E4\u00E4nikela', 'swe': 'ljudspole', 'eng': 'audiotape reel'},\n {'code': 'sw', 'fin': '\u00E4\u00E4nilankakela', 'swe': 'ljudtr\u00E5d', 'eng': 'audio wire reel'},\n {'code': 'sz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'vc', 'fin': 'videosilmukkakasetti', 'swe': 'videomagasin', 'eng': 'video cartridge'},\n {'code': 'vd', 'fin': 'videolevy', 'swe': 'videoskiva', 'eng': 'videodisc'},\n {'code': 'vf', 'fin': 'videokasetti', 'swe': 'videokassett', 'eng': 'videocassette'},\n {'code': 'vr', 'fin': 'videokela', 'swe': 'videospole', 'eng': 'videotape reel'},\n {'code': 'vz', 'fin': 'muu', 'swe': 'annan', 'eng': 'other'},\n {'code': 'zu', 'fin': 'm\u00E4\u00E4rittelem\u00E4t\u00F6n', 'swe': 'ospecificerad', 'eng': 'unspecified'}\n];\n\n\nfunction map33XCodeToTerm(mapping, catLang = 'fin') {\n if (!mapping) {\n return undefined;\n }\n if (catLang in mapping) {\n return mapping[catLang];\n }\n if ('fin' in mapping) {\n return mapping.fin; // Default to Finnish (which should be complete, knock-knock)\n }\n return undefined;\n}\n\nexport function map336CodeToTerm(code, catLang = 'fin') {\n const [mapping] = field336Mappings.filter(m => m.code === code);\n return map33XCodeToTerm(mapping, catLang);\n}\n\nexport function map337CodeToTerm(code, catLang = 'fin') {\n const [mapping] = field337Mappings.filter(m => m.code === code);\n return map33XCodeToTerm(mapping, catLang);\n}\n\nexport function map338CodeToTerm(code, catLang = 'fin') {\n const [mapping] = field338Mappings.filter(m => m.code === code);\n return map33XCodeToTerm(mapping, catLang);\n}\n\nexport function getFormOfItem(record) {\n const [f008Value] = record.get('008').map(field => field.value);\n if (f008Value && f008Value.length === 40) {\n const pos = getFormOfItemPosition(record);\n return f008Value[pos];\n }\n return '|';\n}\n\nexport function getFormOfItemPosition(record) {\n if (record.isMP() || record.isVM()) {\n return 29;\n }\n return 23;\n}\n\nexport function getTitleMedium(record) {\n // Get 245$h. Very old and deprecated practise...\n const [f245] = record.get('245');\n if (!f245) {\n return undefined;\n }\n const [h] = f245.subfields.filter(sf => sf.code === 'h');\n return h ? h.value : undefined;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/dist/fields-present.js
CHANGED
|
@@ -1,32 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = _default;
|
|
7
|
-
function _default(tagPatterns) {
|
|
1
|
+
export default function(tagPatterns) {
|
|
8
2
|
if (Array.isArray(tagPatterns)) {
|
|
9
3
|
return {
|
|
10
|
-
description:
|
|
4
|
+
description: "Checks whether the configured fields are present in the record",
|
|
11
5
|
validate
|
|
12
6
|
};
|
|
13
7
|
}
|
|
14
|
-
throw new Error(
|
|
8
|
+
throw new Error("No tag pattern array provided");
|
|
15
9
|
function validate(record) {
|
|
16
|
-
const missingFields = tagPatterns.map(pattern => {
|
|
17
|
-
const result = record.fields.find(field => pattern.test(field.tag));
|
|
18
|
-
return result ?
|
|
10
|
+
const missingFields = tagPatterns.map((pattern) => {
|
|
11
|
+
const result = record.fields.find((field) => pattern.test(field.tag));
|
|
12
|
+
return result ? void 0 : pattern;
|
|
19
13
|
});
|
|
20
|
-
const isEmpty = missingFields.every(index => index ===
|
|
21
|
-
let errorMessage = [
|
|
22
|
-
errorMessage = errorMessage.concat(missingFields).join(
|
|
23
|
-
return isEmpty ? {
|
|
24
|
-
valid: true,
|
|
25
|
-
messages: []
|
|
26
|
-
} : {
|
|
27
|
-
valid: false,
|
|
28
|
-
messages: [errorMessage]
|
|
29
|
-
};
|
|
14
|
+
const isEmpty = missingFields.every((index) => index === void 0);
|
|
15
|
+
let errorMessage = ["The following tag patterns are not present in the record tag field: "];
|
|
16
|
+
errorMessage = errorMessage.concat(missingFields).join(" ");
|
|
17
|
+
return isEmpty ? { valid: true, messages: [] } : { valid: false, messages: [errorMessage] };
|
|
30
18
|
}
|
|
31
19
|
}
|
|
32
|
-
//# sourceMappingURL=fields-present.js.map
|
|
20
|
+
//# sourceMappingURL=fields-present.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/fields-present.js"],
|
|
4
|
+
"sourcesContent": ["export default function (tagPatterns) {\n if (Array.isArray(tagPatterns)) {\n return {\n description:\n 'Checks whether the configured fields are present in the record',\n validate\n };\n }\n\n throw new Error('No tag pattern array provided');\n\n function validate(record) {\n const missingFields = tagPatterns.map(pattern => {\n const result = record.fields.find(field => pattern.test(field.tag));\n return result ? undefined : pattern;\n });\n const isEmpty = missingFields.every(index => index === undefined);\n let errorMessage = ['The following tag patterns are not present in the record tag field: '];\n errorMessage = errorMessage.concat(missingFields).join(' ');\n\n return isEmpty ? {valid: true, messages: []} : {valid: false, messages: [errorMessage]};\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,wBAAyB,aAAa;AACpC,MAAI,MAAM,QAAQ,WAAW,GAAG;AAC9B,WAAO;AAAA,MACL,aACE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,IAAI,MAAM,+BAA+B;AAE/C,WAAS,SAAS,QAAQ;AACxB,UAAM,gBAAgB,YAAY,IAAI,aAAW;AAC/C,YAAM,SAAS,OAAO,OAAO,KAAK,WAAS,QAAQ,KAAK,MAAM,GAAG,CAAC;AAClE,aAAO,SAAS,SAAY;AAAA,IAC9B,CAAC;AACD,UAAM,UAAU,cAAc,MAAM,WAAS,UAAU,MAAS;AAChE,QAAI,eAAe,CAAC,sEAAsE;AAC1F,mBAAe,aAAa,OAAO,aAAa,EAAE,KAAK,GAAG;AAE1D,WAAO,UAAU,EAAC,OAAO,MAAM,UAAU,CAAC,EAAC,IAAI,EAAC,OAAO,OAAO,UAAU,CAAC,YAAY,EAAC;AAAA,EACxF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { describe, it } from "node:test";
|
|
2
|
+
import assert from "node:assert";
|
|
3
|
+
import { MarcRecord } from "@natlibfi/marc-record";
|
|
4
|
+
import validatorFactory from "../src/fields-present.js";
|
|
5
|
+
describe("fields-present", () => {
|
|
6
|
+
it("Creates a validator", async () => {
|
|
7
|
+
const validator = await validatorFactory([/^500$/u, /^400$/u]);
|
|
8
|
+
assert.equal(typeof validator, "object");
|
|
9
|
+
assert.equal(typeof validator.description, "string");
|
|
10
|
+
assert.equal(typeof validator.validate, "function");
|
|
11
|
+
});
|
|
12
|
+
it("Throws an error when tagPatterns not provided", () => {
|
|
13
|
+
try {
|
|
14
|
+
validatorFactory();
|
|
15
|
+
} catch (error) {
|
|
16
|
+
assert.equal(error instanceof Error, true);
|
|
17
|
+
assert.equal(error.message, "No tag pattern array provided");
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
describe("#validate", () => {
|
|
21
|
+
it("Finds the record valid", async () => {
|
|
22
|
+
const tagPatterns = [/^5..$/u, /^FOO$/u];
|
|
23
|
+
const validator = await validatorFactory(tagPatterns);
|
|
24
|
+
const record = new MarcRecord({
|
|
25
|
+
fields: [
|
|
26
|
+
{
|
|
27
|
+
tag: "500",
|
|
28
|
+
ind1: " ",
|
|
29
|
+
ind2: "0",
|
|
30
|
+
subfields: [{ code: "a", value: "foo" }]
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
tag: "FOO",
|
|
34
|
+
ind1: " ",
|
|
35
|
+
ind2: "0",
|
|
36
|
+
subfields: [{ code: "a", value: "foo" }]
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
});
|
|
40
|
+
const result = await validator.validate(record);
|
|
41
|
+
assert.deepEqual(result, { valid: true, messages: [] });
|
|
42
|
+
});
|
|
43
|
+
it("Finds the record valid", async () => {
|
|
44
|
+
const tagPatterns = [/^(020|022|024)$/u];
|
|
45
|
+
const validator = await validatorFactory(tagPatterns);
|
|
46
|
+
const record = new MarcRecord({
|
|
47
|
+
fields: [
|
|
48
|
+
{
|
|
49
|
+
tag: "020",
|
|
50
|
+
ind1: " ",
|
|
51
|
+
ind2: "0",
|
|
52
|
+
subfields: [{ code: "a", value: "foo" }]
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
tag: "040",
|
|
56
|
+
ind1: " ",
|
|
57
|
+
ind2: "0",
|
|
58
|
+
subfields: [{ code: "a", value: "foo" }]
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
});
|
|
62
|
+
const result = await validator.validate(record);
|
|
63
|
+
assert.deepEqual(result, { valid: true, messages: [] });
|
|
64
|
+
});
|
|
65
|
+
it("Finds the record invalid", async () => {
|
|
66
|
+
const tagPatterns = [/^5..$/u, /^FOO$/u];
|
|
67
|
+
const validator = await validatorFactory(tagPatterns);
|
|
68
|
+
const record = new MarcRecord({
|
|
69
|
+
fields: [
|
|
70
|
+
{
|
|
71
|
+
tag: "001",
|
|
72
|
+
ind1: " ",
|
|
73
|
+
ind2: "0",
|
|
74
|
+
subfields: [{ code: "a", value: "foo" }]
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
tag: "500",
|
|
78
|
+
ind1: " ",
|
|
79
|
+
ind2: "0",
|
|
80
|
+
subfields: [{ code: "a", value: "foo" }]
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
tag: "BAR",
|
|
84
|
+
ind1: "1",
|
|
85
|
+
ind2: "0",
|
|
86
|
+
subfields: [{ code: "a", value: "foo" }]
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
});
|
|
90
|
+
const result = await validator.validate(record);
|
|
91
|
+
assert.deepEqual(result, { valid: false, messages: ["The following tag patterns are not present in the record tag field: /^FOO$/u"] });
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
//# sourceMappingURL=fields-present.test.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/fields-present.test.js"],
|
|
4
|
+
"sourcesContent": ["import {describe, it} from 'node:test';\nimport assert from 'node:assert';\nimport {MarcRecord} from '@natlibfi/marc-record';\nimport validatorFactory from '../src/fields-present.js';\n\n\n\ndescribe('fields-present', () => {\n it('Creates a validator', async () => {\n const validator = await validatorFactory([/^500$/u, /^400$/u]);\n\n assert.equal(typeof validator, 'object');\n assert.equal(typeof validator.description, 'string');\n assert.equal(typeof validator.validate, 'function');\n });\n\n it('Throws an error when tagPatterns not provided', () => {\n try {\n validatorFactory();\n } catch (error) {\n assert.equal(error instanceof Error, true);\n assert.equal(error.message, 'No tag pattern array provided');\n }\n });\n\n describe('#validate', () => {\n it('Finds the record valid', async () => {\n const tagPatterns = [/^5..$/u, /^FOO$/u];\n const validator = await validatorFactory(tagPatterns);\n const record = new MarcRecord({\n fields: [\n {\n tag: '500',\n ind1: ' ',\n ind2: '0',\n subfields: [{code: 'a', value: 'foo'}]\n },\n {\n tag: 'FOO',\n ind1: ' ',\n ind2: '0',\n subfields: [{code: 'a', value: 'foo'}]\n }\n ]\n });\n const result = await validator.validate(record);\n\n assert.deepEqual(result, {valid: true, messages: []});\n });\n it('Finds the record valid', async () => {\n const tagPatterns = [/^(020|022|024)$/u];\n const validator = await validatorFactory(tagPatterns);\n const record = new MarcRecord({\n fields: [\n {\n tag: '020',\n ind1: ' ',\n ind2: '0',\n subfields: [{code: 'a', value: 'foo'}]\n },\n {\n tag: '040',\n ind1: ' ',\n ind2: '0',\n subfields: [{code: 'a', value: 'foo'}]\n }\n ]\n });\n const result = await validator.validate(record);\n\n assert.deepEqual(result, {valid: true, messages: []});\n });\n it('Finds the record invalid', async () => {\n const tagPatterns = [/^5..$/u, /^FOO$/u];\n const validator = await validatorFactory(tagPatterns);\n const record = new MarcRecord({\n fields: [\n {\n tag: '001',\n ind1: ' ',\n ind2: '0',\n subfields: [{code: 'a', value: 'foo'}]\n },\n {\n tag: '500',\n ind1: ' ',\n ind2: '0',\n subfields: [{code: 'a', value: 'foo'}]\n },\n {\n tag: 'BAR',\n ind1: '1',\n ind2: '0',\n subfields: [{code: 'a', value: 'foo'}]\n }\n ]\n });\n const result = await validator.validate(record);\n\n assert.deepEqual(result, {valid: false, messages: ['The following tag patterns are not present in the record tag field: /^FOO$/u']});\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|