UNPKG

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