@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
JavaScript
;
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