@natlibfi/melinda-record-match-validator
Version:
Validates if two records matched by melinda-record-matching can be merged and sets merge priority
43 lines (42 loc) • 1.72 kB
JavaScript
import createDebugLogger from "debug";
const debug = createDebugLogger("@natlibfi/melinda-record-match-validator:validateRecordCompareResults:validateFailure");
export function validateFailure(comparedRecordValues) {
debug(comparedRecordValues);
if (comparedRecordValues.commonIdentifiers.deleted) {
debug("One or both are deleted");
return { failure: true, reason: "One or both are deleted", field: "Deleted" };
}
if (!comparedRecordValues["000"].typeOfRecord) {
const msg = "LDR/06 type of record mismatch";
debug(msg);
return { failure: true, reason: msg, field: "000" };
}
if (!comparedRecordValues["000"].bibliographicLevel) {
const msg = "LDR/07 bibliographical level mismatch";
debug(msg);
return { failure: true, reason: msg, field: "000" };
}
if (!comparedRecordValues["336"]) {
debug("Record content type (336) mismatch");
return { failure: true, reason: "Record content type (336) mismatch", field: "336" };
}
if (!comparedRecordValues["337"]) {
debug("Media type (337) mismatch");
return { failure: true, reason: "Media type (337) mismatch", field: "337" };
}
if (!comparedRecordValues["338"]) {
debug("Carrier type (338) mismatch");
return { failure: true, reason: "Carrier type (338) mismatch", field: "338" };
}
if (!comparedRecordValues.SID) {
debug("Same source SID mismatch");
return { failure: true, reason: "Same source SID mismatch", field: "SID" };
}
if (!comparedRecordValues["773"]) {
const message = "Host item entries (773) mismatch";
debug(message);
return { failure: true, reason: message, field: "773" };
}
return { failure: false };
}
//# sourceMappingURL=validateFailure.js.map