@natlibfi/melinda-record-match-validator
Version:
Validates if two records matched by melinda-record-matching can be merged and sets merge priority
34 lines (33 loc) • 1.18 kB
JavaScript
import createDebugLogger from "debug";
import { nvdebug } from "../utils.js";
import { get042 } from "../collectFunctions/collectUtils.js";
const debug = createDebugLogger("@natlibfi/melinda-record-match-validator:field042");
const debugDev = debug.extend("dev");
function compare042Data(data1, data2) {
const score1 = score042Field(data1);
const score2 = score042Field(data2);
nvdebug(`042 scores: ${score1} vs ${score2}`, debugDev);
if (score1 > score2) {
return "A";
}
if (score1 < score2) {
return "B";
}
return true;
function score042Field(authenticationCodes) {
nvdebug(authenticationCodes.join(", "), debugDev);
return (authenticationCodes.includes("finb") ? 1 : 0) + (authenticationCodes.includes("finbd") ? 1 : 0);
}
}
export function compare042(recordValuesA, recordValuesB) {
const f042A = recordValuesA["042"];
const f042B = recordValuesB["042"];
debugDev("%o vs %o", f042A, f042B);
return compare042Data(f042A, f042B);
}
export function check042({ record1, record2 }) {
const data1 = get042(record1);
const data2 = get042(record2);
return compare042Data(data1, data2);
}
//# sourceMappingURL=compareField042.js.map