@natlibfi/melinda-record-match-validator
Version:
Validates if two records matched by melinda-record-matching can be merged and sets merge priority
40 lines (39 loc) • 1.2 kB
JavaScript
import { recordGetSubfieldValuesFromNonRepeatableField } from "../utils.js";
const scoreFor040b = { "fin": 4, "swe": 3, "mul": 2, "eng": 1 };
export function check040b({ record1, record2 }) {
const score1 = recordScore040FieldLanguage(record1);
const score2 = recordScore040FieldLanguage(record2);
if (score1 > score2) {
return "A";
}
if (score1 < score2) {
return "B";
}
return true;
function recordScore040FieldLanguage(record) {
const bs = recordGetSubfieldValuesFromNonRepeatableField(record, "040", "b");
if (bs.length !== 1 || !(bs[0] in scoreFor040b)) {
return 0;
}
return scoreFor040b[bs[0]];
}
}
export function check040e({ record1, record2 }) {
const score1 = recordScore040FieldDescriptionConvention(record1);
const score2 = recordScore040FieldDescriptionConvention(record2);
if (score1 > score2) {
return "A";
}
if (score1 < score2) {
return "B";
}
return true;
function recordScore040FieldDescriptionConvention(record) {
const es = recordGetSubfieldValuesFromNonRepeatableField(record, "040", "e");
if (es.includes("rda")) {
return 1;
}
return 0;
}
}
//# sourceMappingURL=compareField040.js.map