@natlibfi/marc-record-validators-melinda 9.0.6 → 9.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/.github/CODEOWNERS +10 -0
  2. package/.github/dependabot.yml +40 -0
  3. package/.github/workflows/melinda-node-tests.yml +61 -0
  4. package/LICENSE.txt +21 -165
  5. package/README.md +1 -1
  6. package/dist/access-rights.js +0 -27
  7. package/dist/access-rights.js.map +1 -1
  8. package/dist/access-rights.spec.js +0 -27
  9. package/dist/access-rights.spec.js.map +1 -1
  10. package/dist/double-commas.js +0 -27
  11. package/dist/double-commas.js.map +1 -1
  12. package/dist/double-commas.spec.js +0 -27
  13. package/dist/double-commas.spec.js.map +1 -1
  14. package/dist/duplicates-ind1.js +0 -27
  15. package/dist/duplicates-ind1.js.map +1 -1
  16. package/dist/duplicates-ind1.spec.js +0 -27
  17. package/dist/duplicates-ind1.spec.js.map +1 -1
  18. package/dist/empty-fields.js +0 -28
  19. package/dist/empty-fields.js.map +1 -1
  20. package/dist/empty-fields.spec.js +0 -27
  21. package/dist/empty-fields.spec.js.map +1 -1
  22. package/dist/ending-punctuation-conf.js +0 -28
  23. package/dist/ending-punctuation-conf.js.map +1 -1
  24. package/dist/ending-punctuation.js.map +1 -1
  25. package/dist/ending-punctuation.spec.js +0 -27
  26. package/dist/ending-punctuation.spec.js.map +1 -1
  27. package/dist/field-exclusion.js +0 -28
  28. package/dist/field-exclusion.js.map +1 -1
  29. package/dist/field-exclusion.spec.js +0 -27
  30. package/dist/field-exclusion.spec.js.map +1 -1
  31. package/dist/field-structure.js +0 -28
  32. package/dist/field-structure.js.map +1 -1
  33. package/dist/field-structure.spec.js +0 -27
  34. package/dist/field-structure.spec.js.map +1 -1
  35. package/dist/fields-present.js +0 -27
  36. package/dist/fields-present.js.map +1 -1
  37. package/dist/fields-present.spec.js +0 -27
  38. package/dist/fields-present.spec.js.map +1 -1
  39. package/dist/fixed-fields.js +0 -27
  40. package/dist/fixed-fields.js.map +1 -1
  41. package/dist/fixed-fields.spec.js +0 -27
  42. package/dist/fixed-fields.spec.js.map +1 -1
  43. package/dist/identical-fields.js +0 -28
  44. package/dist/identical-fields.js.map +1 -1
  45. package/dist/identical-fields.spec.js +0 -27
  46. package/dist/identical-fields.spec.js.map +1 -1
  47. package/dist/index.js.map +1 -1
  48. package/dist/isbn-issn.js +0 -27
  49. package/dist/isbn-issn.js.map +1 -1
  50. package/dist/isbn-issn.spec.js +0 -27
  51. package/dist/isbn-issn.spec.js.map +1 -1
  52. package/dist/item-language.js +0 -27
  53. package/dist/item-language.js.map +1 -1
  54. package/dist/item-language.spec.js +0 -27
  55. package/dist/item-language.spec.js.map +1 -1
  56. package/dist/punctuation/index.js +21 -1
  57. package/dist/punctuation/index.js.map +1 -1
  58. package/dist/punctuation/rules/aut.js.map +1 -1
  59. package/dist/punctuation/rules/bib.js +8 -1
  60. package/dist/punctuation/rules/bib.js.map +1 -1
  61. package/dist/punctuation/rules/index.js.map +1 -1
  62. package/dist/punctuation.spec.js +49 -140
  63. package/dist/punctuation.spec.js.map +1 -1
  64. package/dist/resolvable-ext-references-melinda.js +0 -27
  65. package/dist/resolvable-ext-references-melinda.js.map +1 -1
  66. package/dist/resolvable-ext-references-melinda.spec.js +3 -29
  67. package/dist/resolvable-ext-references-melinda.spec.js.map +1 -1
  68. package/dist/sort-tags.js +0 -27
  69. package/dist/sort-tags.js.map +1 -1
  70. package/dist/sort-tags.spec.js +0 -27
  71. package/dist/sort-tags.spec.js.map +1 -1
  72. package/dist/subfield-exclusion.js +0 -28
  73. package/dist/subfield-exclusion.js.map +1 -1
  74. package/dist/subfield-exclusion.spec.js +0 -27
  75. package/dist/subfield-exclusion.spec.js.map +1 -1
  76. package/dist/unicode-decomposition.js +0 -28
  77. package/dist/unicode-decomposition.js.map +1 -1
  78. package/dist/unicode-decomposition.spec.js +0 -27
  79. package/dist/unicode-decomposition.spec.js.map +1 -1
  80. package/dist/urn.js +0 -27
  81. package/dist/urn.js.map +1 -1
  82. package/dist/urn.spec.js +0 -27
  83. package/dist/urn.spec.js.map +1 -1
  84. package/package.json +5 -3
  85. package/src/access-rights.js +0 -29
  86. package/src/access-rights.spec.js +0 -29
  87. package/src/double-commas.js +0 -29
  88. package/src/double-commas.spec.js +0 -29
  89. package/src/duplicates-ind1.js +0 -29
  90. package/src/duplicates-ind1.spec.js +0 -29
  91. package/src/empty-fields.js +0 -28
  92. package/src/empty-fields.spec.js +0 -29
  93. package/src/ending-punctuation-conf.js +0 -29
  94. package/src/ending-punctuation.spec.js +0 -29
  95. package/src/field-exclusion.js +0 -29
  96. package/src/field-exclusion.spec.js +0 -29
  97. package/src/field-structure.js +0 -29
  98. package/src/field-structure.spec.js +0 -29
  99. package/src/fields-present.js +0 -29
  100. package/src/fields-present.spec.js +0 -29
  101. package/src/fixed-fields.js +0 -29
  102. package/src/fixed-fields.spec.js +0 -29
  103. package/src/identical-fields.js +0 -28
  104. package/src/identical-fields.spec.js +0 -29
  105. package/src/index.js +0 -29
  106. package/src/isbn-issn.js +0 -28
  107. package/src/isbn-issn.spec.js +0 -29
  108. package/src/item-language.js +0 -29
  109. package/src/item-language.spec.js +0 -29
  110. package/src/punctuation/index.js +19 -1
  111. package/src/punctuation/rules/bib.js +9 -1
  112. package/src/punctuation.spec.js +48 -147
  113. package/src/resolvable-ext-references-melinda.js +0 -28
  114. package/src/resolvable-ext-references-melinda.spec.js +2 -30
  115. package/src/sort-tags.js +0 -29
  116. package/src/sort-tags.spec.js +0 -29
  117. package/src/subfield-exclusion.js +0 -29
  118. package/src/subfield-exclusion.spec.js +0 -29
  119. package/src/unicode-decomposition.js +0 -28
  120. package/src/unicode-decomposition.spec.js +0 -29
  121. package/src/urn.js +0 -29
  122. package/src/urn.spec.js +0 -29
  123. package/test-fixtures/punctuation/01/expectedResult.json +3 -0
  124. package/test-fixtures/punctuation/01/metadata.json +4 -0
  125. package/test-fixtures/punctuation/01/record.json +18 -0
  126. package/test-fixtures/punctuation/02/expectedResult.json +3 -0
  127. package/test-fixtures/punctuation/02/metadata.json +4 -0
  128. package/test-fixtures/punctuation/02/record.json +18 -0
  129. package/test-fixtures/punctuation/03/expectedResult.json +21 -0
  130. package/test-fixtures/punctuation/03/metadata.json +5 -0
  131. package/test-fixtures/punctuation/03/record.json +19 -0
  132. package/test-fixtures/punctuation/04/expectedResult.json +21 -0
  133. package/test-fixtures/punctuation/04/metadata.json +5 -0
  134. package/test-fixtures/punctuation/04/record.json +19 -0
  135. package/test-fixtures/punctuation/05/expectedResult.json +44 -0
  136. package/test-fixtures/punctuation/05/metadata.json +5 -0
  137. package/test-fixtures/punctuation/05/record.json +42 -0
  138. package/test-fixtures/resolvable-ext-references-melinda.js +0 -27
  139. package/.drone.yml +0 -93
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/punctuation/index.js"],"names":["debug","cloneDeep","field","r","MarcRecord","appendField","get","tag","readPunctuationRulesFromJSON","recordType","json","getRules","rules","filter","row","selector","map","namePortion","description","portion","preceedingPunctuation","exceptions","RegExp","replace","trim","autRules","bibRules","fieldToString","subfields","ind1","ind2","subfield","code","value","join","validateField","element","testField","JSON","stringify","punctuated","punctuateField","isEqual","rulesForField","getRulesForField","length","currentPortion","preceedingField","inNamePortion","sub","getPortion","forEach","includes","addSubfieldPunctuation","addNamePortionPunctuation","rule","test","undefined","Error","toUpperCase","preceedingSubfield","subfieldContainsPunctuation","nextValue","currentSubfield","punctType","getPrecedingPunctuation","exceptionsFunctions","getExceptions","isExceptionCase","some","fn","endsInPunctuation","punct","exception","parseExceptions","expectionsString","exceptionRules","split","exceptionFuncs","exceptionRule","match","exec","type","preceededCode","normalizedType","normalizedCode","push","ifPrecededByException","validate","record","valid","fields","every","leader","fix"],"mappings":"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","sourcesContent":["import {MarcRecord} from '@natlibfi/marc-record';\nimport createDebug from 'debug';\nimport {autRules, bibRules} from './rules';\n\nconst debug = createDebug('@natlibfi/marc-record-validator-melinda/punctuation');\n\nfunction cloneDeep(field) {\n const r = new MarcRecord();\n r.appendField(field);\n return r.get(field.tag)?.[0];\n}\n\nexport default function () {\n function readPunctuationRulesFromJSON(recordType) {\n const json = getRules(recordType);\n const rules = json.filter(row => row.selector !== '').map(row => {\n const {selector, namePortion, description, portion, preceedingPunctuation, exceptions} = row;\n return {\n selector: new RegExp(selector.replace(/X/ug, '.'), 'u'),\n namePortion: namePortion.replace(/\\$/ug, '').trim(),\n description, portion, preceedingPunctuation, exceptions\n };\n });\n\n return rules;\n }\n\n function getRules(recordType) {\n if (recordType === 'z') {\n return autRules;\n }\n\n return bibRules;\n }\n\n function fieldToString(field) {\n if (field && field.subfields) {\n const ind1 = field.ind1 || ' ';\n const ind2 = field.ind2 || ' ';\n const subfields = field.subfields.map(subfield => `‡${subfield.code}${subfield.value}`).join('');\n return `${field.tag} ${ind1}${ind2} ${subfields}`;\n }\n\n return `${field.tag} ${field.value}`;\n }\n\n function validateField(recordType = 'a') {\n return function (element) {\n const testField = cloneDeep(element);\n debug(`Original field: ${JSON.stringify(element)}`);\n const punctuated = punctuateField(testField, recordType);\n debug(`Punctuation result: ${JSON.stringify(punctuated)}`);\n if (!punctuated) {\n debug('No punctuation result -> true');\n return true;\n }\n\n if (MarcRecord.isEqual(punctuated, element)) {\n debug(`Original field (element): ${JSON.stringify(element)}`);\n debug('Punctuation result equals original field');\n return true;\n }\n\n return false;\n };\n }\n\n function punctuateField(field, recordType) {\n const rules = readPunctuationRulesFromJSON(recordType);\n debug(`Handling field ${field.tag}`);\n debug(`Field contents: ${fieldToString(field)}`);\n const rulesForField = getRulesForField(field.tag, rules);\n if (rulesForField.length === 0) {\n debug(`No matching rules for field ${field.tag}`);\n return;\n }\n\n let currentPortion; // eslint-disable-line functional/no-let\n let preceedingField; // eslint-disable-line functional/no-let\n let inNamePortion = true; // eslint-disable-line functional/no-let\n\n debug(`Field subfields: ${field.subfields.map(sub => sub.code)}`);\n debug(`Field portions: ${field.subfields.map(sub => getPortion(sub, rulesForField))}`);\n\n field.subfields.forEach(subfield => {\n debug(`Handling subfield ${subfield.code}`);\n let portion = getPortion(subfield, rulesForField); // eslint-disable-line functional/no-let\n\n if (portion === 'CF' || portion === 'NC') {\n return;\n }\n\n if (inNamePortion && portion.includes('T', 'S')) { // eslint-disable-line functional/no-conditional-statement\n debug(`Portion changed to ${portion}. Not in name portion anymore`);\n inNamePortion = false;\n }\n\n if (inNamePortion && portion === 'NT') { // eslint-disable-line functional/no-conditional-statement\n portion = 'N';\n }\n\n if (!inNamePortion && portion === 'NT') { // eslint-disable-line functional/no-conditional-statement\n portion = 'T';\n }\n\n debug(`Current portion is ${portion}.`);\n\n if (currentPortion) {\n if (currentPortion === portion) { // eslint-disable-line functional/no-conditional-statement\n debug(`Current stayed as ${portion}. Adding punctuation for subfield.`);\n addSubfieldPunctuation(preceedingField, subfield, rulesForField);\n } else {\n debug(`Current portion changed to ${portion}.`);\n if (portion !== 'S') { // eslint-disable-line functional/no-conditional-statement\n debug('Adding punctuation for portion.');\n addNamePortionPunctuation(preceedingField);\n }\n }\n }\n\n currentPortion = portion;\n preceedingField = subfield;\n });\n\n if (recordType !== 'z') { // eslint-disable-line functional/no-conditional-statement\n addNamePortionPunctuation(preceedingField);\n }\n\n debug(`After punctuation: ${fieldToString(field)}`);\n\n return field;\n }\n\n function getRulesForField(tag, rules) {\n return rules.filter(rule => rule.selector.test(tag));\n }\n\n function getPortion(subfield, rules) {\n debug(`Looking for namePortion for ${subfield.code}`);\n const [portion] = rules.filter(rule => rule.namePortion === subfield.code).map(rule => rule.portion);\n\n if (portion === undefined) {\n throw new Error(`Unknown subfield code ${subfield.code}`);\n }\n\n return portion.toUpperCase();\n }\n\n function addNamePortionPunctuation(preceedingSubfield) {\n const subfieldContainsPunctuation = (/[?\")\\].\\-!,]$/u).test(preceedingSubfield.value);\n if (!subfieldContainsPunctuation) { // eslint-disable-line functional/no-conditional-statement\n const nextValue = `${preceedingSubfield.value}.`;\n debug(`Updated subfield ${preceedingSubfield.code} from '${preceedingSubfield.value}' to '${nextValue}'`);\n preceedingSubfield.value = nextValue; // eslint-disable-line functional/immutable-data\n }\n }\n\n function addSubfieldPunctuation(preceedingSubfield, currentSubfield, rules) {\n const punctType = getPrecedingPunctuation(currentSubfield, rules);\n const exceptionsFunctions = getExceptions(currentSubfield, rules);\n\n const isExceptionCase = exceptionsFunctions.some(fn => fn(preceedingSubfield));\n\n if (isExceptionCase) {\n return;\n }\n\n const endsInPunctuation = (/[?\")\\]\\-!,]$/u).test(preceedingSubfield.value);\n debug(`addSubfieldPunctuation -- punctType: ${punctType} endsInPunctuation: ${endsInPunctuation}`);\n\n if (!endsInPunctuation) {\n if (punctType === 'PERIOD' && !(/\\.$/u).test(preceedingSubfield.value)) { // eslint-disable-line functional/no-conditional-statement\n const nextValue = `${preceedingSubfield.value}.`;\n debug(`Updated subfield ${preceedingSubfield.code} from '${preceedingSubfield.value}' to '${nextValue}'`);\n preceedingSubfield.value = nextValue; // eslint-disable-line functional/immutable-data\n }\n }\n\n if (punctType === 'COMMA') {\n if (!(/,$/u).test(preceedingSubfield.value)) {\n if (!(/^[[(]/u).test(currentSubfield.value)) { // eslint-disable-line functional/no-conditional-statement\n const nextValue = `${preceedingSubfield.value},`;\n debug(`Updated subfield ${preceedingSubfield.code} from '${preceedingSubfield.value}' to '${nextValue}'`);\n preceedingSubfield.value = nextValue; // eslint-disable-line functional/immutable-data\n }\n }\n }\n\n if (punctType === 'COND_COMMA') {\n if (!(/[-,]$/u).test(preceedingSubfield.value)) { // eslint-disable-line functional/no-conditional-statement\n const nextValue = `${preceedingSubfield.value},`;\n debug(`Updated subfield ${preceedingSubfield.code} from '${preceedingSubfield.value}' to '${nextValue}'`);\n preceedingSubfield.value = nextValue; // eslint-disable-line functional/immutable-data\n }\n }\n\n debug('addSubfieldPunctuation -- end');\n }\n\n function getPrecedingPunctuation(subfield, rules) {\n const [punct] = rules.filter(rule => rule.namePortion === subfield.code).map(rule => rule.preceedingPunctuation);\n\n if (punct === undefined) {\n throw new Error(`Unknown subfield code ${subfield.code}`);\n }\n\n return punct.toUpperCase();\n }\n\n function getExceptions(subfield, rules) {\n const [exception] = rules.filter(rule => rule.namePortion === subfield.code).map(rule => parseExceptions(rule.exceptions));\n\n if (exception === undefined) {\n throw new Error(`Unknown subfield code ${subfield.code}`);\n }\n\n return exception;\n }\n\n function parseExceptions(expectionsString) {\n const exceptionRules = expectionsString.split('\\n');\n const exceptionFuncs = [];\n\n exceptionRules.forEach(exceptionRule => {\n const match = (/- (.*) if preceded by (.*)/u).exec(exceptionRule); // eslint-disable-line prefer-named-capture-group\n if (match) { // eslint-disable-line functional/no-conditional-statement\n const [, type, preceededCode] = match;\n const normalizedType = type.trim().toUpperCase().trim();\n const normalizedCode = preceededCode.replace(/\\$/ug, '').trim();\n exceptionFuncs.push(ifPrecededByException(normalizedCode, normalizedType)); // eslint-disable-line functional/immutable-data\n }\n });\n\n return exceptionFuncs;\n }\n\n function ifPrecededByException(code, type) {\n return preceedingSubfield => {\n if (code === preceedingSubfield.code) {\n debug(`Adding ${type} to ${preceedingSubfield.code}`);\n if (type === 'SEMICOLON' && !(/;$/u).test(preceedingSubfield.value)) { // eslint-disable-line functional/no-conditional-statement\n const nextValue = `${preceedingSubfield.value} ;`;\n debug(`Updated subfield ${preceedingSubfield.code} from '${preceedingSubfield.value}' to '${nextValue}'`);\n preceedingSubfield.value = nextValue; // eslint-disable-line functional/immutable-data\n }\n\n if (type === 'COLON' && !(/:$/u).test(preceedingSubfield.value)) { // eslint-disable-line functional/no-conditional-statement\n const nextValue = `${preceedingSubfield.value} :`;\n debug(`Updated subfield ${preceedingSubfield.code} from '${preceedingSubfield.value}' to '${nextValue}'`);\n preceedingSubfield.value = nextValue; // eslint-disable-line functional/immutable-data\n }\n\n return true;\n }\n\n return false;\n };\n }\n\n function validate(record) {\n return {valid: record.fields.every(validateField(record.leader[6]))};\n }\n\n function fix(record) {\n record.fields.map(field => punctuateField(field, record.leader[6]));\n return true;\n }\n\n return {\n description: 'Fixes punctuation of fields',\n validate,\n fix\n };\n}\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["debug","cloneDeep","field","r","MarcRecord","appendField","get","tag","readPunctuationRulesFromJSON","recordType","json","getRules","rules","filter","row","selector","map","namePortion","description","portion","preceedingPunctuation","exceptions","RegExp","replace","trim","autRules","bibRules","fieldToString","subfields","ind1","ind2","subfield","code","value","join","validateField","element","testField","JSON","stringify","punctuated","punctuateField","isEqual","rulesForField","getRulesForField","length","currentPortion","preceedingField","inNamePortion","sub","getPortion","forEach","includes","addSubfieldPunctuation","addNamePortionPunctuation","rule","test","undefined","toUpperCase","preceedingSubfield","subfieldContainsPunctuation","nextValue","currentSubfield","punctType","getPrecedingPunctuation","exceptionsFunctions","getExceptions","isExceptionCase","some","fn","endsInPunctuation","slice","punct","Error","exception","parseExceptions","expectionsString","exceptionRules","split","exceptionFuncs","exceptionRule","match","exec","type","preceededCode","normalizedType","normalizedCode","push","ifPrecededByException","validate","record","valid","fields","every","leader","fix"],"sources":["../../src/punctuation/index.js"],"sourcesContent":["import {MarcRecord} from '@natlibfi/marc-record';\nimport createDebug from 'debug';\nimport {autRules, bibRules} from './rules';\n\nconst debug = createDebug('@natlibfi/marc-record-validator-melinda/punctuation');\n\nfunction cloneDeep(field) {\n const r = new MarcRecord();\n r.appendField(field);\n return r.get(field.tag)?.[0];\n}\n\nexport default function () {\n function readPunctuationRulesFromJSON(recordType) {\n const json = getRules(recordType);\n const rules = json.filter(row => row.selector !== '').map(row => {\n const {selector, namePortion, description, portion, preceedingPunctuation, exceptions} = row;\n return {\n selector: new RegExp(selector.replace(/X/ug, '.'), 'u'),\n namePortion: namePortion.replace(/\\$/ug, '').trim(),\n description, portion, preceedingPunctuation, exceptions\n };\n });\n\n return rules;\n }\n\n function getRules(recordType) {\n if (recordType === 'z') {\n return autRules;\n }\n\n return bibRules;\n }\n\n function fieldToString(field) {\n if (field && field.subfields) {\n const ind1 = field.ind1 || ' ';\n const ind2 = field.ind2 || ' ';\n const subfields = field.subfields.map(subfield => `‡${subfield.code}${subfield.value}`).join('');\n return `${field.tag} ${ind1}${ind2} ${subfields}`;\n }\n\n return `${field.tag} ${field.value}`;\n }\n\n function validateField(recordType = 'a') {\n return function (element) {\n const testField = cloneDeep(element);\n debug(`Original field: ${JSON.stringify(element)}`);\n const punctuated = punctuateField(testField, recordType);\n debug(`Punctuation result: ${JSON.stringify(punctuated)}`);\n if (!punctuated) {\n debug('No punctuation result -> true');\n return true;\n }\n\n if (MarcRecord.isEqual(punctuated, element)) {\n debug(`Original field (element): ${JSON.stringify(element)}`);\n debug('Punctuation result equals original field');\n return true;\n }\n\n return false;\n };\n }\n\n function punctuateField(field, recordType) {\n const rules = readPunctuationRulesFromJSON(recordType);\n debug(`Handling field ${field.tag}`);\n debug(`Field contents: ${fieldToString(field)}`);\n const rulesForField = getRulesForField(field.tag, rules);\n if (rulesForField.length === 0) {\n debug(`No matching rules for field ${field.tag}`);\n return;\n }\n\n let currentPortion; // eslint-disable-line functional/no-let\n let preceedingField; // eslint-disable-line functional/no-let\n let inNamePortion = true; // eslint-disable-line functional/no-let\n\n debug(`Field subfields: ${field.subfields.map(sub => sub.code)}`);\n debug(`Field portions: ${field.subfields.map(sub => getPortion(sub, rulesForField))}`);\n\n field.subfields.forEach(subfield => {\n debug(`Handling subfield ${subfield.code}`);\n let portion = getPortion(subfield, rulesForField); // eslint-disable-line functional/no-let\n\n if (portion === false) {\n return;\n }\n\n if (portion === 'CF' || portion === 'NC') {\n return;\n }\n\n if (inNamePortion && portion.includes('T', 'S')) { // eslint-disable-line functional/no-conditional-statement\n debug(`Portion changed to ${portion}. Not in name portion anymore`);\n inNamePortion = false;\n }\n\n if (inNamePortion && portion === 'NT') { // eslint-disable-line functional/no-conditional-statement\n portion = 'N';\n }\n\n if (!inNamePortion && portion === 'NT') { // eslint-disable-line functional/no-conditional-statement\n portion = 'T';\n }\n\n debug(`Current portion is ${portion}.`);\n\n if (currentPortion) {\n if (currentPortion === portion) { // eslint-disable-line functional/no-conditional-statement\n debug(`Current stayed as ${portion}. Adding punctuation for subfield.`);\n addSubfieldPunctuation(preceedingField, subfield, rulesForField);\n } else {\n debug(`Current portion changed to ${portion}.`);\n if (portion !== 'S') { // eslint-disable-line functional/no-conditional-statement\n debug('Adding punctuation for portion.');\n addNamePortionPunctuation(preceedingField);\n }\n }\n }\n\n currentPortion = portion;\n preceedingField = subfield;\n });\n\n if (recordType !== 'z') { // eslint-disable-line functional/no-conditional-statement\n addNamePortionPunctuation(preceedingField);\n }\n\n debug(`After punctuation: ${fieldToString(field)}`);\n\n return field;\n }\n\n function getRulesForField(tag, rules) {\n return rules.filter(rule => rule.selector.test(tag));\n }\n\n function getPortion(subfield, rules) {\n debug(`Looking for namePortion for ${subfield.code}`);\n const [portion] = rules.filter(rule => rule.namePortion === subfield.code).map(rule => rule.portion);\n\n if (portion === undefined) {\n return false;\n }\n\n return portion.toUpperCase();\n }\n\n function addNamePortionPunctuation(preceedingSubfield) {\n const subfieldContainsPunctuation = (/[?\")\\].\\-!,]$/u).test(preceedingSubfield.value);\n if (!subfieldContainsPunctuation) { // eslint-disable-line functional/no-conditional-statement\n const nextValue = `${preceedingSubfield.value}.`;\n debug(`Updated subfield ${preceedingSubfield.code} from '${preceedingSubfield.value}' to '${nextValue}'`);\n preceedingSubfield.value = nextValue; // eslint-disable-line functional/immutable-data\n }\n }\n\n function addSubfieldPunctuation(preceedingSubfield, currentSubfield, rules) {\n const punctType = getPrecedingPunctuation(currentSubfield, rules);\n const exceptionsFunctions = getExceptions(currentSubfield, rules);\n\n const isExceptionCase = exceptionsFunctions.some(fn => fn(preceedingSubfield));\n\n if (isExceptionCase) {\n return;\n }\n\n const endsInPunctuation = (/[?\")\\]\\-!,]$/u).test(preceedingSubfield.value);\n debug(`addSubfieldPunctuation -- punctType: ${punctType} endsInPunctuation: ${endsInPunctuation}`);\n\n if (!endsInPunctuation) {\n if (punctType === 'PERIOD' && !(/\\.$/u).test(preceedingSubfield.value)) { // eslint-disable-line functional/no-conditional-statement\n const nextValue = `${preceedingSubfield.value}.`;\n debug(`Updated subfield ${preceedingSubfield.code} from '${preceedingSubfield.value}' to '${nextValue}'`);\n preceedingSubfield.value = nextValue; // eslint-disable-line functional/immutable-data\n }\n }\n\n if (punctType === 'COMMA') {\n if (!(/,$/u).test(preceedingSubfield.value)) {\n if (!(/^[[(]/u).test(currentSubfield.value)) { // eslint-disable-line functional/no-conditional-statement\n const nextValue = `${preceedingSubfield.value},`;\n debug(`Updated subfield ${preceedingSubfield.code} from '${preceedingSubfield.value}' to '${nextValue}'`);\n preceedingSubfield.value = nextValue; // eslint-disable-line functional/immutable-data\n }\n }\n }\n\n if (punctType === 'COND_COMMA') {\n if (!(/[-,]$/u).test(preceedingSubfield.value)) { // eslint-disable-line functional/no-conditional-statement\n const nextValue = `${preceedingSubfield.value},`;\n debug(`Updated subfield ${preceedingSubfield.code} from '${preceedingSubfield.value}' to '${nextValue}'`);\n preceedingSubfield.value = nextValue; // eslint-disable-line functional/immutable-data\n }\n }\n\n if (punctType === 'SPACECOLON') {\n if (!(/:$/u).test(preceedingSubfield.value)) { // eslint-disable-line functional/no-conditional-statement\n const nextValue = `${preceedingSubfield.value} :`;\n debug(`Updated subfield ${preceedingSubfield.code} from '${preceedingSubfield.value}' to '${nextValue}'`);\n preceedingSubfield.value = nextValue; // eslint-disable-line functional/immutable-data\n }\n if ((/[^ ]:$/u).test(preceedingSubfield.value)) { // eslint-disable-line functional/no-conditional-statement\n const nextValue = `${preceedingSubfield.value.slice(0, -1)} :`;\n debug(`Updated subfield ${preceedingSubfield.code} from '${preceedingSubfield.value}' to '${nextValue}'`);\n preceedingSubfield.value = nextValue; // eslint-disable-line functional/immutable-data\n }\n\n }\n\n debug('addSubfieldPunctuation -- end');\n }\n\n function getPrecedingPunctuation(subfield, rules) {\n const [punct] = rules.filter(rule => rule.namePortion === subfield.code).map(rule => rule.preceedingPunctuation);\n\n if (punct === undefined) {\n throw new Error(`Unknown subfield code ${subfield.code}`);\n }\n\n return punct.toUpperCase();\n }\n\n function getExceptions(subfield, rules) {\n const [exception] = rules.filter(rule => rule.namePortion === subfield.code).map(rule => parseExceptions(rule.exceptions));\n\n if (exception === undefined) {\n throw new Error(`Unknown subfield code ${subfield.code}`);\n }\n\n return exception;\n }\n\n function parseExceptions(expectionsString) {\n const exceptionRules = expectionsString.split('\\n');\n const exceptionFuncs = [];\n\n exceptionRules.forEach(exceptionRule => {\n const match = (/- (.*) if preceded by (.*)/u).exec(exceptionRule); // eslint-disable-line prefer-named-capture-group\n if (match) { // eslint-disable-line functional/no-conditional-statement\n const [, type, preceededCode] = match;\n const normalizedType = type.trim().toUpperCase().trim();\n const normalizedCode = preceededCode.replace(/\\$/ug, '').trim();\n exceptionFuncs.push(ifPrecededByException(normalizedCode, normalizedType)); // eslint-disable-line functional/immutable-data\n }\n });\n\n return exceptionFuncs;\n }\n\n function ifPrecededByException(code, type) {\n return preceedingSubfield => {\n if (code === preceedingSubfield.code) {\n debug(`Adding ${type} to ${preceedingSubfield.code}`);\n if (type === 'SEMICOLON' && !(/;$/u).test(preceedingSubfield.value)) { // eslint-disable-line functional/no-conditional-statement\n const nextValue = `${preceedingSubfield.value} ;`;\n debug(`Updated subfield ${preceedingSubfield.code} from '${preceedingSubfield.value}' to '${nextValue}'`);\n preceedingSubfield.value = nextValue; // eslint-disable-line functional/immutable-data\n }\n\n if (type === 'COLON' && !(/:$/u).test(preceedingSubfield.value)) { // eslint-disable-line functional/no-conditional-statement\n const nextValue = `${preceedingSubfield.value} :`;\n debug(`Updated subfield ${preceedingSubfield.code} from '${preceedingSubfield.value}' to '${nextValue}'`);\n preceedingSubfield.value = nextValue; // eslint-disable-line functional/immutable-data\n }\n\n return true;\n }\n\n return false;\n };\n }\n\n function validate(record) {\n return {valid: record.fields.every(validateField(record.leader[6]))};\n }\n\n function fix(record) {\n record.fields.map(field => punctuateField(field, record.leader[6]));\n return true;\n }\n\n return {\n description: 'Fixes punctuation of fields',\n validate,\n fix\n };\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/punctuation/rules/aut.js"],"names":["autRules","selector","namePortion","description","portion","preceedingPunctuation","exceptions"],"mappings":"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","sourcesContent":["const autRules =\n[\n {\n selector: '[1457]00',\n namePortion: '$a',\n description: 'Personal name (NR)',\n portion: 'N',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457]10',\n namePortion: '$a',\n description: 'Corporate name or jurisdiction name as entry element (NR)',\n portion: 'N',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457]11',\n namePortion: '$a',\n description: 'Meeting name or jurisdiction name as entry element (NR)',\n portion: 'N',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457]00',\n namePortion: '$b',\n description: 'Numeration (NR)',\n portion: 'N',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457]10',\n namePortion: '$b',\n description: 'Subordinate unit (R)',\n portion: 'N',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '[1457]00',\n namePortion: '$c',\n description: 'Titles and words associated with a name (R)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1457](10|11)',\n namePortion: '$c',\n description: 'Location of meeting (R)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: '- colon if preceded by $d\\n- semicolon if preceded by $c'\n },\n {\n selector: '[1457]00',\n namePortion: '$d',\n description: 'Dates associated with a name (NR)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: '- colon if preceded by $n'\n },\n {\n selector: '[1457]11',\n namePortion: '$d',\n description: 'Date of meeting (NR)',\n portion: 'N',\n preceedingPunctuation: '',\n exceptions: ''\n },\n {\n selector: '[1457](00|10)',\n namePortion: '$e',\n description: 'Relator term (R)',\n portion: 'N',\n preceedingPunctuation: 'cond_comma',\n exceptions: ''\n },\n {\n selector: '[1457]11',\n namePortion: '$e',\n description: 'Subordinate unit (R)',\n portion: 'N',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '[1457]11',\n namePortion: '$j',\n description: 'Relator term (R)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1457]00',\n namePortion: '$j',\n description: 'Attribution qualifier (R)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1457]00',\n namePortion: '$q',\n description: 'Fuller form of name (NR)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1457]11',\n namePortion: '$q',\n description: 'Name of meeting following jurisdiction name entry element (NR)',\n portion: 'N',\n preceedingPunctuation: '',\n exceptions: ''\n },\n {\n selector: '[1457](00|11)',\n namePortion: '$u',\n description: 'Affiliation (NR)',\n portion: 'N',\n preceedingPunctuation: 'period',\n exceptions: '?'\n },\n {\n selector: '[1457]10',\n namePortion: '$u',\n description: 'Affiliation (NR) or Address',\n portion: 'N',\n preceedingPunctuation: 'period',\n exceptions: '- period, if address'\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$4',\n description: 'Relator code (R)',\n portion: 'NC',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$f',\n description: 'Date of a work (NR)',\n portion: 'T',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$h',\n description: 'Medium (NR)',\n portion: 'T',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '[457](00|10|11)',\n namePortion: '$i',\n description: 'Relationship information (R)',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$k',\n description: 'Form subheading (R)',\n portion: 'T',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$l',\n description: 'Language of a work (NR)',\n portion: 'T',\n preceedingPunctuation: 'comma / period',\n exceptions: '- Finnish MARC21 comma,\\n- MARC21 period'\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$m',\n description: 'Medium of performance for music',\n portion: 'T',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$n',\n description: 'Number of part/section of a work (R)',\n portion: 'T',\n preceedingPunctuation: 'comma, period',\n exceptions: ' - depends on data?\\n- period, if preceded by $k, $m, $t\\n- comma, if preceded by $b, $m'\n },\n {\n selector: '[1457](00|10)',\n namePortion: '$o',\n description: 'Arranged statement for music (NR)',\n portion: 'T',\n preceedingPunctuation: 'semicolon',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$p',\n description: 'Name of part/section of a work (R)',\n portion: 'T',\n preceedingPunctuation: 'comma, period, none',\n exceptions: '- depends on data?\\n- period if preceded by $t, $n, $p\\n- comma, if preceded by $n\\n- none, if preceded by $k'\n },\n {\n selector: '[1457](00|10)',\n namePortion: '$r',\n description: 'Key for music (NR)',\n portion: 'T',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$s',\n description: 'Version (NR)',\n portion: 'T',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$t',\n description: 'Title of a work (NR)',\n portion: 'T',\n preceedingPunctuation: 'none',\n exceptions: '- usually first in section -> period'\n },\n {\n selector: '[1457](10|11)',\n namePortion: '$d',\n description: 'Date of meeting or treaty signing (R)',\n portion: 'NT',\n preceedingPunctuation: '',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$g',\n description: 'Miscellaneous information (NR)',\n portion: 'NT',\n preceedingPunctuation: 'comma',\n exceptions: '- colon, if preceded by $d'\n },\n {\n selector: '[1457]10',\n namePortion: '$g',\n description: 'Miscellaneous information (NR), other party to treaties.',\n portion: 'NT',\n preceedingPunctuation: 'comma',\n exceptions: '- colon, if preceded by $d\\n- period, if preceded by $t'\n },\n {\n selector: '[1457](10|11)',\n namePortion: '$n',\n description: 'Number of part/section/meeting (R)',\n portion: 'NT',\n preceedingPunctuation: '',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$v',\n description: 'Form subdivision (R) [600]',\n portion: 'S',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$x',\n description: 'General subdivision (R) [600]',\n portion: 'S',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$y',\n description: 'Chronological subdivision (R) [600]',\n portion: 'S',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$z',\n description: 'Geographic subdivision (R) [600]',\n portion: 'S',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[457](00|10|11)',\n namePortion: '$w',\n description: '',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$0',\n description: 'Authority record control number (R)',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '7(00|10|11)',\n namePortion: '$2',\n description: 'Source of heading or term (NR)',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$5',\n description: 'Institution to which field applies (NR)',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$6',\n description: 'Linkage (NR)',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$7',\n description: 'Control subfield (NR)',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$8',\n description: 'Field link and sequence number (R)',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$9',\n description: 'Local control subfield',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n }\n];\nexport default autRules;\n"],"file":"aut.js"}
1
+ {"version":3,"file":"aut.js","names":["autRules","selector","namePortion","description","portion","preceedingPunctuation","exceptions"],"sources":["../../../src/punctuation/rules/aut.js"],"sourcesContent":["const autRules =\n[\n {\n selector: '[1457]00',\n namePortion: '$a',\n description: 'Personal name (NR)',\n portion: 'N',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457]10',\n namePortion: '$a',\n description: 'Corporate name or jurisdiction name as entry element (NR)',\n portion: 'N',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457]11',\n namePortion: '$a',\n description: 'Meeting name or jurisdiction name as entry element (NR)',\n portion: 'N',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457]00',\n namePortion: '$b',\n description: 'Numeration (NR)',\n portion: 'N',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457]10',\n namePortion: '$b',\n description: 'Subordinate unit (R)',\n portion: 'N',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '[1457]00',\n namePortion: '$c',\n description: 'Titles and words associated with a name (R)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1457](10|11)',\n namePortion: '$c',\n description: 'Location of meeting (R)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: '- colon if preceded by $d\\n- semicolon if preceded by $c'\n },\n {\n selector: '[1457]00',\n namePortion: '$d',\n description: 'Dates associated with a name (NR)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: '- colon if preceded by $n'\n },\n {\n selector: '[1457]11',\n namePortion: '$d',\n description: 'Date of meeting (NR)',\n portion: 'N',\n preceedingPunctuation: '',\n exceptions: ''\n },\n {\n selector: '[1457](00|10)',\n namePortion: '$e',\n description: 'Relator term (R)',\n portion: 'N',\n preceedingPunctuation: 'cond_comma',\n exceptions: ''\n },\n {\n selector: '[1457]11',\n namePortion: '$e',\n description: 'Subordinate unit (R)',\n portion: 'N',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '[1457]11',\n namePortion: '$j',\n description: 'Relator term (R)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1457]00',\n namePortion: '$j',\n description: 'Attribution qualifier (R)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1457]00',\n namePortion: '$q',\n description: 'Fuller form of name (NR)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1457]11',\n namePortion: '$q',\n description: 'Name of meeting following jurisdiction name entry element (NR)',\n portion: 'N',\n preceedingPunctuation: '',\n exceptions: ''\n },\n {\n selector: '[1457](00|11)',\n namePortion: '$u',\n description: 'Affiliation (NR)',\n portion: 'N',\n preceedingPunctuation: 'period',\n exceptions: '?'\n },\n {\n selector: '[1457]10',\n namePortion: '$u',\n description: 'Affiliation (NR) or Address',\n portion: 'N',\n preceedingPunctuation: 'period',\n exceptions: '- period, if address'\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$4',\n description: 'Relator code (R)',\n portion: 'NC',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$f',\n description: 'Date of a work (NR)',\n portion: 'T',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$h',\n description: 'Medium (NR)',\n portion: 'T',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '[457](00|10|11)',\n namePortion: '$i',\n description: 'Relationship information (R)',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$k',\n description: 'Form subheading (R)',\n portion: 'T',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$l',\n description: 'Language of a work (NR)',\n portion: 'T',\n preceedingPunctuation: 'comma / period',\n exceptions: '- Finnish MARC21 comma,\\n- MARC21 period'\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$m',\n description: 'Medium of performance for music',\n portion: 'T',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$n',\n description: 'Number of part/section of a work (R)',\n portion: 'T',\n preceedingPunctuation: 'comma, period',\n exceptions: ' - depends on data?\\n- period, if preceded by $k, $m, $t\\n- comma, if preceded by $b, $m'\n },\n {\n selector: '[1457](00|10)',\n namePortion: '$o',\n description: 'Arranged statement for music (NR)',\n portion: 'T',\n preceedingPunctuation: 'semicolon',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$p',\n description: 'Name of part/section of a work (R)',\n portion: 'T',\n preceedingPunctuation: 'comma, period, none',\n exceptions: '- depends on data?\\n- period if preceded by $t, $n, $p\\n- comma, if preceded by $n\\n- none, if preceded by $k'\n },\n {\n selector: '[1457](00|10)',\n namePortion: '$r',\n description: 'Key for music (NR)',\n portion: 'T',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$s',\n description: 'Version (NR)',\n portion: 'T',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$t',\n description: 'Title of a work (NR)',\n portion: 'T',\n preceedingPunctuation: 'none',\n exceptions: '- usually first in section -> period'\n },\n {\n selector: '[1457](10|11)',\n namePortion: '$d',\n description: 'Date of meeting or treaty signing (R)',\n portion: 'NT',\n preceedingPunctuation: '',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$g',\n description: 'Miscellaneous information (NR)',\n portion: 'NT',\n preceedingPunctuation: 'comma',\n exceptions: '- colon, if preceded by $d'\n },\n {\n selector: '[1457]10',\n namePortion: '$g',\n description: 'Miscellaneous information (NR), other party to treaties.',\n portion: 'NT',\n preceedingPunctuation: 'comma',\n exceptions: '- colon, if preceded by $d\\n- period, if preceded by $t'\n },\n {\n selector: '[1457](10|11)',\n namePortion: '$n',\n description: 'Number of part/section/meeting (R)',\n portion: 'NT',\n preceedingPunctuation: '',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$v',\n description: 'Form subdivision (R) [600]',\n portion: 'S',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$x',\n description: 'General subdivision (R) [600]',\n portion: 'S',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$y',\n description: 'Chronological subdivision (R) [600]',\n portion: 'S',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$z',\n description: 'Geographic subdivision (R) [600]',\n portion: 'S',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[457](00|10|11)',\n namePortion: '$w',\n description: '',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$0',\n description: 'Authority record control number (R)',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '7(00|10|11)',\n namePortion: '$2',\n description: 'Source of heading or term (NR)',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$5',\n description: 'Institution to which field applies (NR)',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$6',\n description: 'Linkage (NR)',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$7',\n description: 'Control subfield (NR)',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$8',\n description: 'Field link and sequence number (R)',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1457](00|10|11)',\n namePortion: '$9',\n description: 'Local control subfield',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n }\n];\nexport default autRules;\n"],"mappings":"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"}
@@ -25,6 +25,13 @@ const bibRules = [{
25
25
  portion: 'N',
26
26
  preceedingPunctuation: 'none',
27
27
  exceptions: ''
28
+ }, {
29
+ selector: '264',
30
+ namePortion: '$a',
31
+ description: 'Place of producer, publisher, distributor, manufacturer (R)',
32
+ portion: 'N',
33
+ preceedingPunctuation: 'none',
34
+ exceptions: ''
28
35
  }, {
29
36
  selector: '[1678]00',
30
37
  namePortion: '$b',
@@ -44,7 +51,7 @@ const bibRules = [{
44
51
  namePortion: '$b',
45
52
  description: 'Name of producer, publisher, distributor, manufacturer (R)',
46
53
  portion: 'N',
47
- preceedingPunctuation: 'none',
54
+ preceedingPunctuation: 'spacecolon',
48
55
  exceptions: ''
49
56
  }, {
50
57
  selector: '[1678]00',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/punctuation/rules/bib.js"],"names":["bibRules","selector","namePortion","description","portion","preceedingPunctuation","exceptions"],"mappings":"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","sourcesContent":["const bibRules =\n[\n {\n selector: '[1678]00',\n namePortion: '$a',\n description: 'Personal name (NR)',\n portion: 'N',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1678]10',\n namePortion: '$a',\n description: 'Corporate name or jurisdiction name as entry element (NR)',\n portion: 'N',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1678]11',\n namePortion: '$a',\n description: 'Meeting name or jurisdiction name as entry element (NR)',\n portion: 'N',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1678]00',\n namePortion: '$b',\n description: 'Numeration (NR)',\n portion: 'N',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1678]10',\n namePortion: '$b',\n description: 'Subordinate unit (R)',\n portion: 'N',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '264',\n namePortion: '$b',\n description: 'Name of producer, publisher, distributor, manufacturer (R)',\n portion: 'N',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1678]00',\n namePortion: '$c',\n description: 'Titles and words associated with a name (R)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1678](10|11)',\n namePortion: '$c',\n description: 'Location of meeting (R)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: '- colon if preceded by $d\\n- semicolon if preceded by $c'\n },\n {\n selector: '264',\n namePortion: '$c',\n description: 'Date of production, publication, distribution, manufacture, or copyright notice (R)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1678]00',\n namePortion: '$d',\n description: 'Dates associated with a name (NR)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: '- colon if preceded by $n'\n },\n {\n selector: '[1678]11',\n namePortion: '$d',\n description: 'Date of meeting (NR)',\n portion: 'N',\n preceedingPunctuation: '',\n exceptions: ''\n },\n {\n selector: '[1678](00|10)',\n namePortion: '$e',\n description: 'Relator term (R)',\n portion: 'N',\n preceedingPunctuation: 'cond_comma',\n exceptions: ''\n },\n {\n selector: '[1678]11',\n namePortion: '$e',\n description: 'Subordinate unit (R)',\n portion: 'N',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '[1678]11',\n namePortion: '$j',\n description: 'Relator term (R)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1678]00',\n namePortion: '$j',\n description: 'Attribution qualifier (R)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1678]00',\n namePortion: '$q',\n description: 'Fuller form of name (NR)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1678]11',\n namePortion: '$q',\n description: 'Name of meeting following jurisdiction name entry element (NR)',\n portion: 'N',\n preceedingPunctuation: '',\n exceptions: ''\n },\n {\n selector: '[1678](00|11)',\n namePortion: '$u',\n description: 'Affiliation (NR)',\n portion: 'N',\n preceedingPunctuation: 'period',\n exceptions: '?'\n },\n {\n selector: '[1678]10',\n namePortion: '$u',\n description: 'Affiliation (NR) or Address',\n portion: 'N',\n preceedingPunctuation: 'period',\n exceptions: '- period, if address'\n },\n {\n selector: '[1678](00|10|11)',\n namePortion: '$4',\n description: 'Relator code (R)',\n portion: 'NC',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1678](00|10|11)',\n namePortion: '$f',\n description: 'Date of a work (NR)',\n portion: 'T',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '[678](00|10|11)',\n namePortion: '$h',\n description: 'Medium (NR) [600/700/800]',\n portion: 'T',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '7(00|10|11)',\n namePortion: '$i',\n description: 'Relationship information [700] (R)',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1678](00|10|11)',\n namePortion: '$k',\n description: 'Form subheading (R)',\n portion: 'T',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '[1678](00|10|11)',\n namePortion: '$l',\n description: 'Language of a work (NR)',\n portion: 'T',\n preceedingPunctuation: 'comma / period',\n exceptions: '- Finnish MARC21 comma,\\n- MARC21 period'\n },\n {\n selector: '[678](00|10|11)',\n namePortion: '$m',\n description: 'Medium of performance for music (R) [600/700/800]',\n portion: 'T',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1678](00|10|11)',\n namePortion: '$n',\n description: 'Number of part/section of a work (R)',\n portion: 'T',\n preceedingPunctuation: 'comma, period',\n exceptions: ' - depends on data?\\n- period, if preceded by $k, $m, $t\\n- comma, if preceded by $b, $m'\n },\n {\n selector: '[678](00|10|11)',\n namePortion: '$o',\n description: 'Arranged statement for music (NR) [600/700/800]',\n portion: 'T',\n preceedingPunctuation: 'semicolon',\n exceptions: ''\n },\n {\n selector: '[1678](00|10|11)',\n namePortion: '$p',\n description: 'Name of part/section of a work (R)',\n portion: 'T',\n preceedingPunctuation: 'comma, period, none',\n exceptions: '- depends on data?\\n- period if preceded by $t, $n, $p\\n- comma, if preceded by $n\\n- none, if preceded by $k'\n },\n {\n selector: '[678](00|10|11)',\n namePortion: '$r',\n description: 'Key for music (NR) [600/700/800]',\n portion: 'T',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[678](00|10|11)',\n namePortion: '$s',\n description: 'Version (NR) [600/700/800]',\n portion: 'T',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '[1678](00|10|11)',\n namePortion: '$t',\n description: 'Title of a work (NR)',\n portion: 'T',\n preceedingPunctuation: 'none',\n exceptions: '- usually first in section -> period'\n },\n {\n selector: '8(00|10|11)',\n namePortion: '$v',\n description: 'Volume/sequential designation (NR) [800]',\n portion: 'T',\n preceedingPunctuation: 'semicolon',\n exceptions: ''\n },\n {\n selector: '[78](00|10|11)',\n namePortion: '$x',\n description: 'International Standard Serial Number (NR) [700/800]',\n portion: 'T',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '[1678]10',\n namePortion: '$d',\n description: 'Date of meeting or treaty signing (R)',\n portion: 'NT',\n preceedingPunctuation: '',\n exceptions: ''\n },\n {\n selector: '[1678][10]0',\n namePortion: '$g',\n description: 'Miscellaneous information (NR)',\n portion: 'NT',\n preceedingPunctuation: 'comma',\n exceptions: ' - colon, if preceded by $d'\n },\n {\n selector: '[1678]10',\n namePortion: '$g',\n description: ' Miscellaneous information (NR), other party to treaties.',\n portion: 'NT',\n preceedingPunctuation: 'comma',\n exceptions: ' - colon, if preceded by $d\\n- period, if preceded by $t'\n },\n {\n selector: '[1678]1[01]',\n namePortion: '$n',\n description: 'Number of part/section/meeting (R)',\n portion: 'NT',\n preceedingPunctuation: '',\n exceptions: ''\n },\n {\n selector: '6(00|10|11)',\n namePortion: '$v',\n description: 'Form subdivision (R) [600]',\n portion: 'S',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '6(00|10|11)',\n namePortion: '$x',\n description: 'General subdivision (R) [600]',\n portion: 'S',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '6(00|10|11)',\n namePortion: '$y',\n description: 'Chronological subdivision (R) [600]',\n portion: 'S',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '6(00|10|11)',\n namePortion: '$z',\n description: 'Geographic subdivision (R) [600]',\n portion: 'S',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '8(00|10|11)',\n namePortion: '$w',\n description: 'Bibliographic record control number (R) [800]',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1678](00|10|11)',\n namePortion: '$0',\n description: 'Authority record control number (R)',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '6(00|10|11)',\n namePortion: '$2',\n description: 'Source of heading or term (NR) [600]',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[678](00|10|11)',\n namePortion: '$3',\n description: 'Materials specified (NR) [600/700/800]',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[78](00|10|11)',\n namePortion: '$5',\n description: 'Institution to which field applies (NR) [700/800]',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1678](00|10|11)',\n namePortion: '$6',\n description: 'Linkage (NR)',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '8(00|10|11)',\n namePortion: '$7',\n description: 'Control subfield (NR) [800]',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1678](00|10|11)',\n namePortion: '$8',\n description: 'Field link and sequence number (R)',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1678](00|10|11)',\n namePortion: '$9',\n description: 'Local control subfield',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n }\n];\nexport default bibRules;\n"],"file":"bib.js"}
1
+ {"version":3,"file":"bib.js","names":["bibRules","selector","namePortion","description","portion","preceedingPunctuation","exceptions"],"sources":["../../../src/punctuation/rules/bib.js"],"sourcesContent":["const bibRules =\n[\n {\n selector: '[1678]00',\n namePortion: '$a',\n description: 'Personal name (NR)',\n portion: 'N',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1678]10',\n namePortion: '$a',\n description: 'Corporate name or jurisdiction name as entry element (NR)',\n portion: 'N',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1678]11',\n namePortion: '$a',\n description: 'Meeting name or jurisdiction name as entry element (NR)',\n portion: 'N',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '264',\n namePortion: '$a',\n description: 'Place of producer, publisher, distributor, manufacturer (R)',\n portion: 'N',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1678]00',\n namePortion: '$b',\n description: 'Numeration (NR)',\n portion: 'N',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1678]10',\n namePortion: '$b',\n description: 'Subordinate unit (R)',\n portion: 'N',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '264',\n namePortion: '$b',\n description: 'Name of producer, publisher, distributor, manufacturer (R)',\n portion: 'N',\n preceedingPunctuation: 'spacecolon',\n exceptions: ''\n },\n {\n selector: '[1678]00',\n namePortion: '$c',\n description: 'Titles and words associated with a name (R)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1678](10|11)',\n namePortion: '$c',\n description: 'Location of meeting (R)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: '- colon if preceded by $d\\n- semicolon if preceded by $c'\n },\n {\n selector: '264',\n namePortion: '$c',\n description: 'Date of production, publication, distribution, manufacture, or copyright notice (R)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1678]00',\n namePortion: '$d',\n description: 'Dates associated with a name (NR)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: '- colon if preceded by $n'\n },\n {\n selector: '[1678]11',\n namePortion: '$d',\n description: 'Date of meeting (NR)',\n portion: 'N',\n preceedingPunctuation: '',\n exceptions: ''\n },\n {\n selector: '[1678](00|10)',\n namePortion: '$e',\n description: 'Relator term (R)',\n portion: 'N',\n preceedingPunctuation: 'cond_comma',\n exceptions: ''\n },\n {\n selector: '[1678]11',\n namePortion: '$e',\n description: 'Subordinate unit (R)',\n portion: 'N',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '[1678]11',\n namePortion: '$j',\n description: 'Relator term (R)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1678]00',\n namePortion: '$j',\n description: 'Attribution qualifier (R)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1678]00',\n namePortion: '$q',\n description: 'Fuller form of name (NR)',\n portion: 'N',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1678]11',\n namePortion: '$q',\n description: 'Name of meeting following jurisdiction name entry element (NR)',\n portion: 'N',\n preceedingPunctuation: '',\n exceptions: ''\n },\n {\n selector: '[1678](00|11)',\n namePortion: '$u',\n description: 'Affiliation (NR)',\n portion: 'N',\n preceedingPunctuation: 'period',\n exceptions: '?'\n },\n {\n selector: '[1678]10',\n namePortion: '$u',\n description: 'Affiliation (NR) or Address',\n portion: 'N',\n preceedingPunctuation: 'period',\n exceptions: '- period, if address'\n },\n {\n selector: '[1678](00|10|11)',\n namePortion: '$4',\n description: 'Relator code (R)',\n portion: 'NC',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1678](00|10|11)',\n namePortion: '$f',\n description: 'Date of a work (NR)',\n portion: 'T',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '[678](00|10|11)',\n namePortion: '$h',\n description: 'Medium (NR) [600/700/800]',\n portion: 'T',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '7(00|10|11)',\n namePortion: '$i',\n description: 'Relationship information [700] (R)',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1678](00|10|11)',\n namePortion: '$k',\n description: 'Form subheading (R)',\n portion: 'T',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '[1678](00|10|11)',\n namePortion: '$l',\n description: 'Language of a work (NR)',\n portion: 'T',\n preceedingPunctuation: 'comma / period',\n exceptions: '- Finnish MARC21 comma,\\n- MARC21 period'\n },\n {\n selector: '[678](00|10|11)',\n namePortion: '$m',\n description: 'Medium of performance for music (R) [600/700/800]',\n portion: 'T',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[1678](00|10|11)',\n namePortion: '$n',\n description: 'Number of part/section of a work (R)',\n portion: 'T',\n preceedingPunctuation: 'comma, period',\n exceptions: ' - depends on data?\\n- period, if preceded by $k, $m, $t\\n- comma, if preceded by $b, $m'\n },\n {\n selector: '[678](00|10|11)',\n namePortion: '$o',\n description: 'Arranged statement for music (NR) [600/700/800]',\n portion: 'T',\n preceedingPunctuation: 'semicolon',\n exceptions: ''\n },\n {\n selector: '[1678](00|10|11)',\n namePortion: '$p',\n description: 'Name of part/section of a work (R)',\n portion: 'T',\n preceedingPunctuation: 'comma, period, none',\n exceptions: '- depends on data?\\n- period if preceded by $t, $n, $p\\n- comma, if preceded by $n\\n- none, if preceded by $k'\n },\n {\n selector: '[678](00|10|11)',\n namePortion: '$r',\n description: 'Key for music (NR) [600/700/800]',\n portion: 'T',\n preceedingPunctuation: 'comma',\n exceptions: ''\n },\n {\n selector: '[678](00|10|11)',\n namePortion: '$s',\n description: 'Version (NR) [600/700/800]',\n portion: 'T',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '[1678](00|10|11)',\n namePortion: '$t',\n description: 'Title of a work (NR)',\n portion: 'T',\n preceedingPunctuation: 'none',\n exceptions: '- usually first in section -> period'\n },\n {\n selector: '8(00|10|11)',\n namePortion: '$v',\n description: 'Volume/sequential designation (NR) [800]',\n portion: 'T',\n preceedingPunctuation: 'semicolon',\n exceptions: ''\n },\n {\n selector: '[78](00|10|11)',\n namePortion: '$x',\n description: 'International Standard Serial Number (NR) [700/800]',\n portion: 'T',\n preceedingPunctuation: 'period',\n exceptions: ''\n },\n {\n selector: '[1678]10',\n namePortion: '$d',\n description: 'Date of meeting or treaty signing (R)',\n portion: 'NT',\n preceedingPunctuation: '',\n exceptions: ''\n },\n {\n selector: '[1678][10]0',\n namePortion: '$g',\n description: 'Miscellaneous information (NR)',\n portion: 'NT',\n preceedingPunctuation: 'comma',\n exceptions: ' - colon, if preceded by $d'\n },\n {\n selector: '[1678]10',\n namePortion: '$g',\n description: ' Miscellaneous information (NR), other party to treaties.',\n portion: 'NT',\n preceedingPunctuation: 'comma',\n exceptions: ' - colon, if preceded by $d\\n- period, if preceded by $t'\n },\n {\n selector: '[1678]1[01]',\n namePortion: '$n',\n description: 'Number of part/section/meeting (R)',\n portion: 'NT',\n preceedingPunctuation: '',\n exceptions: ''\n },\n {\n selector: '6(00|10|11)',\n namePortion: '$v',\n description: 'Form subdivision (R) [600]',\n portion: 'S',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '6(00|10|11)',\n namePortion: '$x',\n description: 'General subdivision (R) [600]',\n portion: 'S',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '6(00|10|11)',\n namePortion: '$y',\n description: 'Chronological subdivision (R) [600]',\n portion: 'S',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '6(00|10|11)',\n namePortion: '$z',\n description: 'Geographic subdivision (R) [600]',\n portion: 'S',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '8(00|10|11)',\n namePortion: '$w',\n description: 'Bibliographic record control number (R) [800]',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1678](00|10|11)',\n namePortion: '$0',\n description: 'Authority record control number (R)',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '6(00|10|11)',\n namePortion: '$2',\n description: 'Source of heading or term (NR) [600]',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[678](00|10|11)',\n namePortion: '$3',\n description: 'Materials specified (NR) [600/700/800]',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[78](00|10|11)',\n namePortion: '$5',\n description: 'Institution to which field applies (NR) [700/800]',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1678](00|10|11)',\n namePortion: '$6',\n description: 'Linkage (NR)',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '8(00|10|11)',\n namePortion: '$7',\n description: 'Control subfield (NR) [800]',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1678](00|10|11)',\n namePortion: '$8',\n description: 'Field link and sequence number (R)',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n },\n {\n selector: '[1678](00|10|11)',\n namePortion: '$9',\n description: 'Local control subfield',\n portion: 'cf',\n preceedingPunctuation: 'none',\n exceptions: ''\n }\n];\nexport default bibRules;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/punctuation/rules/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AACA","sourcesContent":["import bibRules from './bib';\nimport autRules from './aut';\n\nexport {\n bibRules,\n autRules\n};\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/punctuation/rules/index.js"],"sourcesContent":["import bibRules from './bib';\nimport autRules from './aut';\n\nexport {\n bibRules,\n autRules\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AACA"}
@@ -6,147 +6,56 @@ var _marcRecord = require("@natlibfi/marc-record");
6
6
 
7
7
  var _punctuation = _interopRequireDefault(require("./punctuation/"));
8
8
 
9
+ var _fixura = require("@natlibfi/fixura");
10
+
11
+ var _fixugen = _interopRequireDefault(require("@natlibfi/fixugen"));
12
+
13
+ var _debug = _interopRequireDefault(require("debug"));
14
+
9
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
16
 
11
- /**
12
- *
13
- * @licstart The following is the entire license notice for the JavaScript code in this file.
14
- *
15
- * MARC record validators used in Melinda
16
- *
17
- * Copyright (c) 2014-2020 University Of Helsinki (The National Library Of Finland)
18
- *
19
- * This file is part of marc-record-validators-melinda
20
- *
21
- * marc-record-validators-melinda program is free software: you can redistribute it and/or modify
22
- * it under the terms of the GNU Lesser General Public License as
23
- * published by the Free Software Foundation, either version 3 of the
24
- * License, or (at your option) any later version.
25
- *
26
- * marc-record-validators-melinda is distributed in the hope that it will be useful,
27
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
28
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29
- * GNU Lesser General Public License for more details.
30
- *
31
- * You should have received a copy of the GNU Lesser General Public License
32
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
33
- *
34
- * @licend The above is the entire license notice
35
- * for the JavaScript code in this file.
36
- *
37
- */
38
- describe('punctuation', () => {
39
- it('Creates a validator', async () => {
40
- const validator = await (0, _punctuation.default)();
41
- (0, _chai.expect)(validator).to.be.an('object').that.has.any.keys('description', 'validate');
42
- (0, _chai.expect)(validator.description).to.be.a('string');
43
- (0, _chai.expect)(validator.validate).to.be.a('function');
44
- });
45
- describe('#validate', () => {
46
- it('Finds the record valid', async () => {
47
- const validator = await (0, _punctuation.default)();
48
- const record = new _marcRecord.MarcRecord({
49
- fields: [{
50
- tag: '100',
51
- ind2: ' ',
52
- subfields: [{
53
- code: 'a',
54
- value: 'Sukunimi, Etunimi,'
55
- }, {
56
- code: 'c',
57
- value: 'kirjoittaja.'
58
- }]
59
- }]
60
- });
61
- const result = await validator.validate(record);
62
- (0, _chai.expect)(result).to.eql({
63
- valid: true
64
- });
65
- });
66
- it('Finds the record invalid', async () => {
67
- const validator = await (0, _punctuation.default)();
68
- const record = new _marcRecord.MarcRecord({
69
- fields: [{
70
- tag: '100',
71
- ind2: ' ',
72
- subfields: [{
73
- code: 'a',
74
- value: 'Sukunimi, Etunimi'
75
- }, {
76
- code: 'c',
77
- value: 'kirjoittaja.'
78
- }]
79
- }]
80
- });
81
- const result = await validator.validate(record);
82
- (0, _chai.expect)(result).to.eql({
83
- valid: false
84
- });
85
- });
86
- });
87
- describe('#fix', () => {
88
- it('Creates punctuation for field 100', async () => {
89
- const validator = await (0, _punctuation.default)();
90
- const record = new _marcRecord.MarcRecord({
91
- fields: [{
92
- tag: '100',
93
- ind1: ' ',
94
- ind2: ' ',
95
- subfields: [{
96
- code: 'a',
97
- value: 'Sukunimi, Etunimi'
98
- }, {
99
- code: 'c',
100
- value: 'kirjoittaja'
101
- }]
102
- }]
103
- });
104
- await validator.fix(record);
105
- (0, _chai.expect)(record.fields).to.eql([{
106
- tag: '100',
107
- ind1: ' ',
108
- ind2: ' ',
109
- subfields: [{
110
- code: 'a',
111
- value: 'Sukunimi, Etunimi,'
112
- }, {
113
- code: 'c',
114
- value: 'kirjoittaja.'
115
- }]
116
- }]);
117
- });
118
- });
119
- /*
120
- Describe('#fix', () => {
121
- it('Creates punctuation for field 264', async () => {
122
- const validator = await validatorFactory();
123
- const record = new MarcRecord({
124
- fields: [
125
- {
126
- tag: '264',
127
- ind1: ' ',
128
- ind2: ' ',
129
- subfields: [
130
- {code: 'b', value: 'Julkaisija'},
131
- {code: 'c', value: '2019'}
132
- ]
133
- }
134
- ]
135
- });
136
- await validator.fix(record);
137
- expect(record.fields).to.eql([
138
- {
139
- tag: '264',
140
- ind1: ' ',
141
- ind2: ' ',
142
- subfields: [
143
- {code: 'b', value: 'Julkaisija,'},
144
- {code: 'c', value: '2019.'}
145
- ]
146
- }
147
- ]);
148
- });
149
- });
150
- */
17
+ (0, _fixugen.default)({
18
+ callback,
19
+ path: [__dirname, '..', 'test-fixtures', 'punctuation'],
20
+ useMetadataFile: true,
21
+ recurse: false,
22
+ fixura: {
23
+ reader: _fixura.READERS.JSON
24
+ },
25
+ mocha: {
26
+ before: () => testValidatorFactory()
27
+ }
151
28
  });
29
+ const debug = (0, _debug.default)('@natlibfi/marc-record-validators-melinda/punctuation:test');
30
+
31
+ async function testValidatorFactory() {
32
+ const validator = await (0, _punctuation.default)();
33
+ (0, _chai.expect)(validator).to.be.an('object').that.has.any.keys('description', 'validate');
34
+ (0, _chai.expect)(validator.description).to.be.a('string');
35
+ (0, _chai.expect)(validator.validate).to.be.a('function');
36
+ }
37
+
38
+ async function callback({
39
+ getFixture,
40
+ enabled = true,
41
+ fix = false
42
+ }) {
43
+ if (enabled === false) {
44
+ debug('TEST SKIPPED!');
45
+ return;
46
+ }
47
+
48
+ const validator = await (0, _punctuation.default)();
49
+ const record = new _marcRecord.MarcRecord(getFixture('record.json'));
50
+ const expectedResult = getFixture('expectedResult.json'); // console.log(expectedResult); // eslint-disable-line
51
+
52
+ if (!fix) {
53
+ const result = await validator.validate(record);
54
+ (0, _chai.expect)(result).to.eql(expectedResult);
55
+ return;
56
+ }
57
+
58
+ await validator.fix(record);
59
+ (0, _chai.expect)(record).to.eql(expectedResult);
60
+ }
152
61
  //# sourceMappingURL=punctuation.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/punctuation.spec.js"],"names":["describe","it","validator","to","be","an","that","has","any","keys","description","a","validate","record","MarcRecord","fields","tag","ind2","subfields","code","value","result","eql","valid","ind1","fix"],"mappings":"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","sourcesContent":["/**\n *\n * @licstart The following is the entire license notice for the JavaScript code in this file.\n *\n * MARC record validators used in Melinda\n *\n * Copyright (c) 2014-2020 University Of Helsinki (The National Library Of Finland)\n *\n * This file is part of marc-record-validators-melinda\n *\n * marc-record-validators-melinda program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * marc-record-validators-melinda is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n * @licend The above is the entire license notice\n * for the JavaScript code in this file.\n *\n */\n\n\nimport {expect} from 'chai';\nimport {MarcRecord} from '@natlibfi/marc-record';\nimport validatorFactory from './punctuation/';\n\ndescribe('punctuation', () => {\n it('Creates a validator', async () => {\n const validator = await validatorFactory();\n\n expect(validator)\n .to.be.an('object')\n .that.has.any.keys('description', 'validate');\n\n expect(validator.description).to.be.a('string');\n expect(validator.validate).to.be.a('function');\n });\n\n describe('#validate', () => {\n it('Finds the record valid', async () => {\n const validator = await validatorFactory();\n const record = new MarcRecord({\n fields: [\n {\n tag: '100',\n ind2: ' ',\n subfields: [\n {code: 'a', value: 'Sukunimi, Etunimi,'},\n {code: 'c', value: 'kirjoittaja.'}\n ]\n }\n ]\n });\n const result = await validator.validate(record);\n\n expect(result).to.eql({valid: true});\n });\n\n it('Finds the record invalid', async () => {\n const validator = await validatorFactory();\n const record = new MarcRecord({\n fields: [\n {\n tag: '100',\n ind2: ' ',\n subfields: [\n {code: 'a', value: 'Sukunimi, Etunimi'},\n {code: 'c', value: 'kirjoittaja.'}\n ]\n }\n ]\n });\n const result = await validator.validate(record);\n\n expect(result).to.eql({valid: false});\n });\n });\n\n describe('#fix', () => {\n it('Creates punctuation for field 100', async () => {\n const validator = await validatorFactory();\n const record = new MarcRecord({\n fields: [\n {\n tag: '100',\n ind1: ' ',\n ind2: ' ',\n subfields: [\n {code: 'a', value: 'Sukunimi, Etunimi'},\n {code: 'c', value: 'kirjoittaja'}\n ]\n }\n ]\n });\n\n await validator.fix(record);\n\n expect(record.fields).to.eql([\n {\n tag: '100',\n ind1: ' ',\n ind2: ' ',\n subfields: [\n {code: 'a', value: 'Sukunimi, Etunimi,'},\n {code: 'c', value: 'kirjoittaja.'}\n ]\n }\n ]);\n });\n });\n\n /*\n Describe('#fix', () => {\n it('Creates punctuation for field 264', async () => {\n const validator = await validatorFactory();\n const record = new MarcRecord({\n fields: [\n {\n tag: '264',\n ind1: ' ',\n ind2: ' ',\n subfields: [\n {code: 'b', value: 'Julkaisija'},\n {code: 'c', value: '2019'}\n ]\n }\n ]\n });\n await validator.fix(record);\n expect(record.fields).to.eql([\n {\n tag: '264',\n ind1: ' ',\n ind2: ' ',\n subfields: [\n {code: 'b', value: 'Julkaisija,'},\n {code: 'c', value: '2019.'}\n ]\n }\n ]);\n });\n });\n */\n});\n"],"file":"punctuation.spec.js"}
1
+ {"version":3,"file":"punctuation.spec.js","names":["callback","path","__dirname","useMetadataFile","recurse","fixura","reader","READERS","JSON","mocha","before","testValidatorFactory","debug","validator","to","be","an","that","has","any","keys","description","a","validate","getFixture","enabled","fix","record","MarcRecord","expectedResult","result","eql"],"sources":["../src/punctuation.spec.js"],"sourcesContent":["import {expect} from 'chai';\nimport {MarcRecord} from '@natlibfi/marc-record';\nimport validatorFactory from './punctuation/';\nimport {READERS} from '@natlibfi/fixura';\nimport generateTests from '@natlibfi/fixugen';\nimport createDebugLogger from 'debug';\n\ngenerateTests({\n callback,\n path: [__dirname, '..', 'test-fixtures', 'punctuation'],\n useMetadataFile: true,\n recurse: false,\n fixura: {\n reader: READERS.JSON\n },\n mocha: {\n before: () => testValidatorFactory()\n }\n});\nconst debug = createDebugLogger('@natlibfi/marc-record-validators-melinda/punctuation:test');\n\nasync function testValidatorFactory() {\n const validator = await validatorFactory();\n\n expect(validator)\n .to.be.an('object')\n .that.has.any.keys('description', 'validate');\n\n expect(validator.description).to.be.a('string');\n expect(validator.validate).to.be.a('function');\n}\n\nasync function callback({getFixture, enabled = true, fix = false}) {\n if (enabled === false) {\n debug('TEST SKIPPED!');\n return;\n }\n\n const validator = await validatorFactory();\n const record = new MarcRecord(getFixture('record.json'));\n const expectedResult = getFixture('expectedResult.json');\n // console.log(expectedResult); // eslint-disable-line\n\n if (!fix) {\n const result = await validator.validate(record);\n expect(result).to.eql(expectedResult);\n return;\n }\n\n await validator.fix(record);\n expect(record).to.eql(expectedResult);\n}\n"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,sBAAc;EACZA,QADY;EAEZC,IAAI,EAAE,CAACC,SAAD,EAAY,IAAZ,EAAkB,eAAlB,EAAmC,aAAnC,CAFM;EAGZC,eAAe,EAAE,IAHL;EAIZC,OAAO,EAAE,KAJG;EAKZC,MAAM,EAAE;IACNC,MAAM,EAAEC,gBAAQC;EADV,CALI;EAQZC,KAAK,EAAE;IACLC,MAAM,EAAE,MAAMC,oBAAoB;EAD7B;AARK,CAAd;AAYA,MAAMC,KAAK,GAAG,oBAAkB,2DAAlB,CAAd;;AAEA,eAAeD,oBAAf,GAAsC;EACpC,MAAME,SAAS,GAAG,MAAM,2BAAxB;EAEA,kBAAOA,SAAP,EACGC,EADH,CACMC,EADN,CACSC,EADT,CACY,QADZ,EAEGC,IAFH,CAEQC,GAFR,CAEYC,GAFZ,CAEgBC,IAFhB,CAEqB,aAFrB,EAEoC,UAFpC;EAIA,kBAAOP,SAAS,CAACQ,WAAjB,EAA8BP,EAA9B,CAAiCC,EAAjC,CAAoCO,CAApC,CAAsC,QAAtC;EACA,kBAAOT,SAAS,CAACU,QAAjB,EAA2BT,EAA3B,CAA8BC,EAA9B,CAAiCO,CAAjC,CAAmC,UAAnC;AACD;;AAED,eAAetB,QAAf,CAAwB;EAACwB,UAAD;EAAaC,OAAO,GAAG,IAAvB;EAA6BC,GAAG,GAAG;AAAnC,CAAxB,EAAmE;EACjE,IAAID,OAAO,KAAK,KAAhB,EAAuB;IACrBb,KAAK,CAAC,eAAD,CAAL;IACA;EACD;;EAED,MAAMC,SAAS,GAAG,MAAM,2BAAxB;EACA,MAAMc,MAAM,GAAG,IAAIC,sBAAJ,CAAeJ,UAAU,CAAC,aAAD,CAAzB,CAAf;EACA,MAAMK,cAAc,GAAGL,UAAU,CAAC,qBAAD,CAAjC,CARiE,CASjE;;EAEA,IAAI,CAACE,GAAL,EAAU;IACR,MAAMI,MAAM,GAAG,MAAMjB,SAAS,CAACU,QAAV,CAAmBI,MAAnB,CAArB;IACA,kBAAOG,MAAP,EAAehB,EAAf,CAAkBiB,GAAlB,CAAsBF,cAAtB;IACA;EACD;;EAED,MAAMhB,SAAS,CAACa,GAAV,CAAcC,MAAd,CAAN;EACA,kBAAOA,MAAP,EAAeb,EAAf,CAAkBiB,GAAlB,CAAsBF,cAAtB;AACD"}
@@ -11,33 +11,6 @@ var _nodeFetch = _interopRequireDefault(require("node-fetch"));
11
11
 
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
 
14
- /**
15
- *
16
- * @licstart The following is the entire license notice for the JavaScript code in this file.
17
- *
18
- * MARC record validators used in Melinda
19
- *
20
- * Copyright (c) 2014-2020 University Of Helsinki (The National Library Of Finland)
21
- *
22
- * This file is part of marc-record-validators-melinda
23
- *
24
- * marc-record-validators-melinda program is free software: you can redistribute it and/or modify
25
- * it under the terms of the GNU Lesser General Public License as
26
- * published by the Free Software Foundation, either version 3 of the
27
- * License, or (at your option) any later version.
28
- *
29
- * marc-record-validators-melinda is distributed in the hope that it will be useful,
30
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
31
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
32
- * GNU Lesser General Public License for more details.
33
- *
34
- * You should have received a copy of the GNU Lesser General Public License
35
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
36
- *
37
- * @licend The above is the entire license notice
38
- * for the JavaScript code in this file.
39
- *
40
- */
41
14
  function _default({
42
15
  endpoint,
43
16
  prefixPattern,