UNPKG

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