@natlibfi/melinda-record-match-validator
Version:
Validates if two records matched by melinda-record-matching can be merged and sets merge priority
39 lines (38 loc) • 2.27 kB
JavaScript
import { compareLeader } from "./compareFunctions/compareLeader.js";
import { compareCAT } from "./validators/fieldCAT.js";
import { compareLOW } from "./compareFunctions/compareFieldLOW.js";
import { compareSID } from "./compareFunctions/compareFieldSID.js";
import { compareCommonIdentifiers } from "./compareFunctions/commonIdentifiers.js";
import { compare001, compare005 } from "./compareFunctions/compareControlFields.js";
import { compare042 } from "./compareFunctions/compareField042.js";
import { compareAllTitleFeatures } from "./compareFunctions/compareTitle.js";
import { compare773 } from "./validators/field773.js";
import { compare336ContentType, compare337MediaType, compare338CarrierType } from "./compareFunctions/compareField33X.js";
import createDebugLogger from "debug";
export function compareRecordValues(recordValuesA, recordValuesB) {
const debug = createDebugLogger("@natlibfi/melinda-record-match-validator:compareRecordValues");
const debugDev = debug.extend("dev");
debugDev("Record values A: %o", recordValuesA);
debugDev("Record values B: %o", recordValuesB);
return {
"commonIdentifiers": compareCommonIdentifiers(recordValuesA, recordValuesB),
"000": compareLeader(recordValuesA, recordValuesB),
"001": compare001(recordValuesA, recordValuesB),
"005": compare005(recordValuesA, recordValuesB),
// A is more recently updated
"042": compare042(recordValuesA, recordValuesB),
// A nor B has any fikka or viola
"title": compareAllTitleFeatures(recordValuesA, recordValuesB),
"336": compare336ContentType(recordValuesA, recordValuesB),
// All-match = true, One-all-from-other = partialA tai partialB ja no-matches = false
"337": compare337MediaType(recordValuesA, recordValuesB),
// All-match = true, One-all-from-other = partialA tai partialB ja no-matches = false
"338": compare338CarrierType(recordValuesA, recordValuesB),
// All-match = true, One-all-from-other = partialA tai partialB ja no-matches = false
"773": compare773(recordValuesA, recordValuesB),
"SID": compareSID(recordValuesA, recordValuesB),
"CAT": compareCAT(recordValuesA, recordValuesB),
"LOW": compareLOW(recordValuesA, recordValuesB)
};
}
//# sourceMappingURL=compareRecordValues.js.map