UNPKG

@natlibfi/melinda-record-match-validator

Version:

Validates if two records matched by melinda-record-matching can be merged and sets merge priority

75 lines (70 loc) 4.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.compareRecordValues = compareRecordValues; var _leader = require("./leader"); var _fieldCAT = require("./fieldCAT"); var _fieldLOW = require("./fieldLOW"); var _fieldSID = require("./fieldSID"); var _commonIdentifiers = require("./compareFunctions/commonIdentifiers"); var _controlFields = require("./controlFields"); var _field = require("./field042"); var _field2 = require("./field245"); var _title = require("./title"); var _field3 = require("./field773"); var _field33X = require("./field33X"); var _debug = _interopRequireDefault(require("debug")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function compareRecordValues(recordValuesA, recordValuesB) { const debug = (0, _debug.default)('@natlibfi/melinda-record-match-validator:compareRecordValues'); const debugDev = debug.extend('dev'); //const debugData = debug.extend('data'); debugDev('Record values A: %o', recordValuesA); debugDev('Record values B: %o', recordValuesB); return { 'commonIdentifiers': (0, _commonIdentifiers.compareCommonIdentifiers)(recordValuesA, recordValuesB), '000': (0, _leader.compareLeader)(recordValuesA, recordValuesB), '001': (0, _controlFields.compare001)(recordValuesA, recordValuesB), '005': (0, _controlFields.compare005)(recordValuesA, recordValuesB), // A is more recently updated '042': (0, _field.compare042)(recordValuesA, recordValuesB), // A nor B has any fikka or viola '245': (0, _field2.compare245)(recordValuesA, recordValuesB), 'title': (0, _title.compareAllTitleFeatures)(recordValuesA, recordValuesB), '336': (0, _field33X.compare336ContentType)(recordValuesA, recordValuesB), // All-match = true, One-all-from-other = partialA tai partialB ja no-matches = false '337': (0, _field33X.compare337MediaType)(recordValuesA, recordValuesB), // All-match = true, One-all-from-other = partialA tai partialB ja no-matches = false '338': (0, _field33X.compare338CarrierType)(recordValuesA, recordValuesB), // All-match = true, One-all-from-other = partialA tai partialB ja no-matches = false '773': (0, _field3.compare773)(recordValuesA, recordValuesB), 'SID': (0, _fieldSID.compareSID)(recordValuesA, recordValuesB), 'CAT': (0, _fieldCAT.compareCAT)(recordValuesA, recordValuesB), 'LOW': (0, _fieldLOW.compareLOW)(recordValuesA, recordValuesB) }; } /* TRSLD +050 ! Tietueen bibliografinen taso - osakohteet ja ei-osakohteet ei saa matchata LDR F07-01 mismatch -599 unmatch !008 F23-01 mismatch -080 02800 a mismatch -080 continue 020## a mismatch -080 continue 022## a mismatch -080 continue 015## a mismatch -080 continue 337## a mismatch -080 unmatch 336## a mismatch -080 unmatch 245## a keywords 67% +070 continue 245## n edition NUMERIC_MISMATCH -050 skip two lines 245## n mismatch -025 continue 245## n keywords 67% +025 continue 245## p mismatch -050 continue 245## p keywords 67% +050 continue 245## h mismatch -050 !256## edition ONE_MISSING_1 -080 008 F07-04 mismatch -025 continue 008 F07-04 match_year_2 +020 260## c edition NUMERIC_MISMATCH -020 */ //# sourceMappingURL=compareRecordValues.js.map