UNPKG

@natlibfi/melinda-record-match-validator

Version:

Validates if two records matched by melinda-record-matching can be merged and sets merge priority

67 lines (66 loc) 2.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validatePriority = validatePriority; var _debug = _interopRequireDefault(require("debug")); var _validateUtils = require("./validateUtils"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const debug = (0, _debug.default)('@natlibfi/melinda-record-match-validator:validateRecordCompareResults:validatePriority'); function validatePriority(comparedRecordValues) { const wantedValues = ['A', 'B']; const prioOrder = [{ name: 'recordCompletionLevel', value: (0, _validateUtils.isValidValue)(comparedRecordValues['000'].recordCompletionLevel, wantedValues) }, { name: 'isMelindaId', value: (0, _validateUtils.isValidValue)(comparedRecordValues['001'].isMelindaId, wantedValues) }, { name: 'isViolaOrFikka', value: (0, _validateUtils.isValidValue)(comparedRecordValues['042'], wantedValues) }, { name: 'commonIdentifiers', value: (0, _validateUtils.isValidValue)(comparedRecordValues.commonIdentifiers.standardIdentifiers, wantedValues) }, { name: 'LOW', value: (0, _validateUtils.isValidValue)(comparedRecordValues.LOW, wantedValues) }, { name: 'SID', value: (0, _validateUtils.isValidValue)(comparedRecordValues.SID, wantedValues) }, { name: 'CAT', value: (0, _validateUtils.isValidValue)(comparedRecordValues.CAT, wantedValues) }, { name: 'recordControlNumbers', value: (0, _validateUtils.isValidValue)(comparedRecordValues['773'].recordControlNumbers, wantedValues) }, { name: 'contentTypes', value: (0, _validateUtils.isValidValue)(comparedRecordValues['336'], wantedValues) }, { name: 'mediaTypes', value: (0, _validateUtils.isValidValue)(comparedRecordValues['337'], wantedValues) }, { name: 'carrierTypes', value: (0, _validateUtils.isValidValue)(comparedRecordValues['338'], wantedValues) }, { name: 'enumerationAndFirstPage', value: (0, _validateUtils.isValidValue)(comparedRecordValues['773'].enumerationAndFirstPage, wantedValues) }, { name: 'relatedParts', value: (0, _validateUtils.isValidValue)(comparedRecordValues['773'].relatedParts, wantedValues) }, { name: 'recentlyModified', value: (0, _validateUtils.isValidValue)(comparedRecordValues['005'], wantedValues) }, { name: 'default', value: true }].filter(field => { if (field.value) { debug('Prio value: %o, index: %o', field.value, field.name); return true; } return false; }); return prioOrder[0]; } //# sourceMappingURL=validatePriority.js.map