@natlibfi/melinda-record-match-validator
Version:
Validates if two records matched by melinda-record-matching can be merged and sets merge priority
37 lines (36 loc) • 1.5 kB
JavaScript
import createDebugLogger from "debug";
import { compareArrayContent } from "./compareUtils.js";
import { get33Xb } from "../collectFunctions/collectUtils.js";
const debug = createDebugLogger("@natlibfi/melinda-record-match-validator:field33X");
const debugDev = debug.extend("dev");
function compare33XType(recordValuesA, recordValuesB, tag) {
const f33XA = recordValuesA[tag];
const f33XB = recordValuesB[tag];
debugDev("%s type(s): %o vs %o", tag, f33XA, f33XB);
return compareArrayContent(f33XA.types, f33XB.types);
}
export function compare336ContentType(recordValuesA, recordValuesB) {
return compare33XType(recordValuesA, recordValuesB, "336");
}
export function compare337MediaType(recordValuesA, recordValuesB) {
return compare33XType(recordValuesA, recordValuesB, "337");
}
export function compare338CarrierType(recordValuesA, recordValuesB) {
return compare33XType(recordValuesA, recordValuesB, "338");
}
function check33X(record1, record2, tag) {
const data1 = get33Xb(record1, tag);
const data2 = get33Xb(record2, tag);
debugDev("CC Field %s types: %o vs %o", tag, data1, data2);
return compareArrayContent(data1.types, data2.types);
}
export function check336({ record1, record2 }) {
return check33X(record1, record2, "336");
}
export function check337({ record1, record2 }) {
return check33X(record1, record2, "337");
}
export function check338({ record1, record2 }) {
return check33X(record1, record2, "338");
}
//# sourceMappingURL=compareField33X.js.map