@natlibfi/marc-record-validators-melinda 11.0.0-alpha.1 → 11.1.0-alpha.1
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.
- package/dist/addMissingField336.js +272 -0
- package/dist/addMissingField336.js.map +1 -0
- package/dist/addMissingField336.spec.js +45 -0
- package/dist/addMissingField336.spec.js.map +1 -0
- package/dist/addMissingField337.js +177 -0
- package/dist/addMissingField337.js.map +1 -0
- package/dist/addMissingField337.spec.js +43 -0
- package/dist/addMissingField337.spec.js.map +1 -0
- package/dist/addMissingField338.js +424 -0
- package/dist/addMissingField338.js.map +1 -0
- package/dist/addMissingField338.spec.js +45 -0
- package/dist/addMissingField338.spec.js.map +1 -0
- package/dist/cyrillux-usemarcon-replacement.js +370 -0
- package/dist/cyrillux-usemarcon-replacement.js.map +1 -0
- package/dist/cyrillux-usemarcon-replacement.spec.js +45 -0
- package/dist/cyrillux-usemarcon-replacement.spec.js.map +1 -0
- package/dist/field33XUtils.js +529 -0
- package/dist/field33XUtils.js.map +1 -0
- package/dist/fix-33X.js +484 -0
- package/dist/fix-33X.js.map +1 -0
- package/dist/fix-33X.spec.js +45 -0
- package/dist/fix-33X.spec.js.map +1 -0
- package/dist/fix-language-codes.js +109 -0
- package/dist/fix-language-codes.js.map +1 -0
- package/dist/fix-language-codes.spec.js +44 -0
- package/dist/fix-language-codes.spec.js.map +1 -0
- package/dist/fixRelatorTerms.js +1 -1
- package/dist/fixRelatorTerms.js.map +1 -1
- package/dist/punctuation2.js +4 -3
- package/dist/punctuation2.js.map +1 -1
- package/dist/resolvable-ext-references-melinda.spec.js +1 -1
- package/dist/resolvable-ext-references-melinda.spec.js.map +1 -1
- package/dist/sanitize-vocabulary-source-codes.js +7 -10
- package/dist/sanitize-vocabulary-source-codes.js.map +1 -1
- package/dist/utils.js +13 -8
- package/dist/utils.js.map +1 -1
- package/package.json +7 -7
- package/src/addMissingField336.js +260 -0
- package/src/addMissingField336.spec.js +46 -0
- package/src/addMissingField337.js +132 -0
- package/src/addMissingField337.spec.js +45 -0
- package/src/addMissingField338.js +446 -0
- package/src/addMissingField338.spec.js +46 -0
- package/src/cyrillux-usemarcon-replacement.js +410 -0
- package/src/cyrillux-usemarcon-replacement.spec.js +47 -0
- package/src/field33XUtils.js +156 -0
- package/src/fix-33X.js +473 -0
- package/src/fix-33X.spec.js +46 -0
- package/src/fix-language-codes.js +121 -0
- package/src/fix-language-codes.spec.js +45 -0
- package/src/fixRelatorTerms.js +1 -1
- package/src/punctuation2.js +3 -3
- package/src/sanitize-vocabulary-source-codes.js +9 -11
- package/src/utils.js +13 -8
- package/test-fixtures/addMissingField336/01/expectedResult.json +6 -0
- package/test-fixtures/addMissingField336/01/metadata.json +7 -0
- package/test-fixtures/addMissingField336/01/record.json +8 -0
- package/test-fixtures/addMissingField336/02/expectedResult.json +4 -0
- package/test-fixtures/addMissingField336/02/metadata.json +7 -0
- package/test-fixtures/addMissingField336/02/record.json +13 -0
- package/test-fixtures/addMissingField336/cod/expectedResult.json +12 -0
- package/test-fixtures/addMissingField336/cod/metadata.json +6 -0
- package/test-fixtures/addMissingField336/cod/record.json +6 -0
- package/test-fixtures/addMissingField336/cop/expectedResult.json +12 -0
- package/test-fixtures/addMissingField336/cop/metadata.json +6 -0
- package/test-fixtures/addMissingField336/cop/record.json +6 -0
- package/test-fixtures/addMissingField336/cop2/expectedResult.json +13 -0
- package/test-fixtures/addMissingField336/cop2/metadata.json +6 -0
- package/test-fixtures/addMissingField336/cop2/record.json +7 -0
- package/test-fixtures/addMissingField336/crf/expectedResult.json +12 -0
- package/test-fixtures/addMissingField336/crf/metadata.json +6 -0
- package/test-fixtures/addMissingField336/crf/record.json +6 -0
- package/test-fixtures/addMissingField336/cri/expectedResult.json +12 -0
- package/test-fixtures/addMissingField336/cri/metadata.json +6 -0
- package/test-fixtures/addMissingField336/cri/record.json +6 -0
- package/test-fixtures/addMissingField336/crt/expectedResult.json +13 -0
- package/test-fixtures/addMissingField336/crt/metadata.json +6 -0
- package/test-fixtures/addMissingField336/crt/record.json +7 -0
- package/test-fixtures/addMissingField336/f01/expectedResult.json +17 -0
- package/test-fixtures/addMissingField336/f01/metadata.json +6 -0
- package/test-fixtures/addMissingField336/f01/record.json +11 -0
- package/test-fixtures/addMissingField336/f02/expectedResult.json +15 -0
- package/test-fixtures/addMissingField336/f02/metadata.json +6 -0
- package/test-fixtures/addMissingField336/f02/record.json +9 -0
- package/test-fixtures/addMissingField336/mixed2txt/expectedResult.json +12 -0
- package/test-fixtures/addMissingField336/mixed2txt/metadata.json +6 -0
- package/test-fixtures/addMissingField336/mixed2txt/record.json +6 -0
- package/test-fixtures/addMissingField336/mixed2xxx/expectedResult.json +12 -0
- package/test-fixtures/addMissingField336/mixed2xxx/metadata.json +6 -0
- package/test-fixtures/addMissingField336/mixed2xxx/record.json +6 -0
- package/test-fixtures/addMissingField336/ntm/expectedResult.json +12 -0
- package/test-fixtures/addMissingField336/ntm/metadata.json +6 -0
- package/test-fixtures/addMissingField336/ntm/record.json +6 -0
- package/test-fixtures/addMissingField336/snd/expectedResult.json +12 -0
- package/test-fixtures/addMissingField336/snd/metadata.json +6 -0
- package/test-fixtures/addMissingField336/snd/record.json +6 -0
- package/test-fixtures/addMissingField336/spw/expectedResult.json +12 -0
- package/test-fixtures/addMissingField336/spw/metadata.json +6 -0
- package/test-fixtures/addMissingField336/spw/record.json +6 -0
- package/test-fixtures/addMissingField336/spw2/expectedResult.json +13 -0
- package/test-fixtures/addMissingField336/spw2/metadata.json +6 -0
- package/test-fixtures/addMissingField336/spw2/record.json +7 -0
- package/test-fixtures/addMissingField336/spw_txt/expectedResult.json +18 -0
- package/test-fixtures/addMissingField336/spw_txt/metadata.json +6 -0
- package/test-fixtures/addMissingField336/spw_txt/record.json +7 -0
- package/test-fixtures/addMissingField336/sti/expectedResult.json +12 -0
- package/test-fixtures/addMissingField336/sti/metadata.json +6 -0
- package/test-fixtures/addMissingField336/sti/record.json +6 -0
- package/test-fixtures/addMissingField336/sti_projected/expectedResult.json +13 -0
- package/test-fixtures/addMissingField336/sti_projected/metadata.json +6 -0
- package/test-fixtures/addMissingField336/sti_projected/record.json +7 -0
- package/test-fixtures/addMissingField336/tci/expectedResult.json +12 -0
- package/test-fixtures/addMissingField336/tci/metadata.json +6 -0
- package/test-fixtures/addMissingField336/tci/record.json +6 -0
- package/test-fixtures/addMissingField336/tcm/expectedResult.json +12 -0
- package/test-fixtures/addMissingField336/tcm/metadata.json +6 -0
- package/test-fixtures/addMissingField336/tcm/record.json +6 -0
- package/test-fixtures/addMissingField336/tdf/expectedResult.json +12 -0
- package/test-fixtures/addMissingField336/tdf/metadata.json +6 -0
- package/test-fixtures/addMissingField336/tdf/record.json +6 -0
- package/test-fixtures/addMissingField336/tdi/expectedResult.json +13 -0
- package/test-fixtures/addMissingField336/tdi/metadata.json +6 -0
- package/test-fixtures/addMissingField336/tdi/record.json +7 -0
- package/test-fixtures/addMissingField336/txt/expectedResult.json +12 -0
- package/test-fixtures/addMissingField336/txt/metadata.json +6 -0
- package/test-fixtures/addMissingField336/txt/record.json +6 -0
- package/test-fixtures/addMissingField336/zzz/expectedResult.json +13 -0
- package/test-fixtures/addMissingField336/zzz/metadata.json +6 -0
- package/test-fixtures/addMissingField336/zzz/record.json +7 -0
- package/test-fixtures/addMissingField337/c1/expectedResult.json +12 -0
- package/test-fixtures/addMissingField337/c1/metadata.json +6 -0
- package/test-fixtures/addMissingField337/c1/record.json +7 -0
- package/test-fixtures/addMissingField337/g1/expectedResult.json +13 -0
- package/test-fixtures/addMissingField337/g1/metadata.json +6 -0
- package/test-fixtures/addMissingField337/g1/record.json +7 -0
- package/test-fixtures/addMissingField337/n1/expectedResult.json +12 -0
- package/test-fixtures/addMissingField337/n1/metadata.json +6 -0
- package/test-fixtures/addMissingField337/n1/record.json +6 -0
- package/test-fixtures/addMissingField337/no_action_required/expectedResult.json +12 -0
- package/test-fixtures/addMissingField337/no_action_required/metadata.json +7 -0
- package/test-fixtures/addMissingField337/no_action_required/record.json +11 -0
- package/test-fixtures/addMissingField337/p1/expectedResult.json +12 -0
- package/test-fixtures/addMissingField337/p1/metadata.json +6 -0
- package/test-fixtures/addMissingField337/p1/record.json +6 -0
- package/test-fixtures/addMissingField337/validate_x1/expectedResult.json +6 -0
- package/test-fixtures/addMissingField337/validate_x1/metadata.json +6 -0
- package/test-fixtures/addMissingField337/validate_x1/record.json +6 -0
- package/test-fixtures/addMissingField338/cb/expectedResult.json +14 -0
- package/test-fixtures/addMissingField338/cb/metadata.json +6 -0
- package/test-fixtures/addMissingField338/cb/record.json +8 -0
- package/test-fixtures/addMissingField338/cd/expectedResult.json +14 -0
- package/test-fixtures/addMissingField338/cd/metadata.json +6 -0
- package/test-fixtures/addMissingField338/cd/record.json +8 -0
- package/test-fixtures/addMissingField338/ck/expectedResult.json +14 -0
- package/test-fixtures/addMissingField338/ck/metadata.json +6 -0
- package/test-fixtures/addMissingField338/ck/record.json +8 -0
- package/test-fixtures/addMissingField338/cr/expectedResult.json +15 -0
- package/test-fixtures/addMissingField338/cr/metadata.json +6 -0
- package/test-fixtures/addMissingField338/cr/record.json +9 -0
- package/test-fixtures/addMissingField338/cr2/expectedResult.json +14 -0
- package/test-fixtures/addMissingField338/cr2/metadata.json +6 -0
- package/test-fixtures/addMissingField338/cr2/record.json +8 -0
- package/test-fixtures/addMissingField338/cr3/expectedResult.json +18 -0
- package/test-fixtures/addMissingField338/cr3/metadata.json +6 -0
- package/test-fixtures/addMissingField338/cr3/record.json +12 -0
- package/test-fixtures/addMissingField338/cr4/expectedResult.json +15 -0
- package/test-fixtures/addMissingField338/cr4/metadata.json +6 -0
- package/test-fixtures/addMissingField338/cr4/record.json +9 -0
- package/test-fixtures/addMissingField338/gc/expectedResult.json +12 -0
- package/test-fixtures/addMissingField338/gc/metadata.json +6 -0
- package/test-fixtures/addMissingField338/gc/record.json +7 -0
- package/test-fixtures/addMissingField338/gd/expectedResult.json +13 -0
- package/test-fixtures/addMissingField338/gd/metadata.json +6 -0
- package/test-fixtures/addMissingField338/gd/record.json +8 -0
- package/test-fixtures/addMissingField338/gf/expectedResult.json +13 -0
- package/test-fixtures/addMissingField338/gf/metadata.json +6 -0
- package/test-fixtures/addMissingField338/gf/record.json +8 -0
- package/test-fixtures/addMissingField338/gs/expectedResult.json +15 -0
- package/test-fixtures/addMissingField338/gs/metadata.json +6 -0
- package/test-fixtures/addMissingField338/gs/record.json +9 -0
- package/test-fixtures/addMissingField338/gt/expectedResult.json +15 -0
- package/test-fixtures/addMissingField338/gt/metadata.json +6 -0
- package/test-fixtures/addMissingField338/gt/record.json +9 -0
- package/test-fixtures/addMissingField338/hd/expectedResult.json +16 -0
- package/test-fixtures/addMissingField338/hd/metadata.json +6 -0
- package/test-fixtures/addMissingField338/hd/record.json +10 -0
- package/test-fixtures/addMissingField338/he/expectedResult.json +15 -0
- package/test-fixtures/addMissingField338/he/metadata.json +6 -0
- package/test-fixtures/addMissingField338/he/record.json +9 -0
- package/test-fixtures/addMissingField338/he2/expectedResult.json +12 -0
- package/test-fixtures/addMissingField338/he2/metadata.json +6 -0
- package/test-fixtures/addMissingField338/he2/record.json +6 -0
- package/test-fixtures/addMissingField338/hg/expectedResult.json +15 -0
- package/test-fixtures/addMissingField338/hg/metadata.json +7 -0
- package/test-fixtures/addMissingField338/hg/record.json +9 -0
- package/test-fixtures/addMissingField338/hg2/expectedResult.json +15 -0
- package/test-fixtures/addMissingField338/hg2/metadata.json +6 -0
- package/test-fixtures/addMissingField338/hg2/record.json +9 -0
- package/test-fixtures/addMissingField338/hj/expectedResult.json +15 -0
- package/test-fixtures/addMissingField338/hj/metadata.json +6 -0
- package/test-fixtures/addMissingField338/hj/record.json +9 -0
- package/test-fixtures/addMissingField338/hj2/expectedResult.json +15 -0
- package/test-fixtures/addMissingField338/hj2/metadata.json +6 -0
- package/test-fixtures/addMissingField338/hj2/record.json +9 -0
- package/test-fixtures/addMissingField338/mo/expectedResult.json +15 -0
- package/test-fixtures/addMissingField338/mo/metadata.json +6 -0
- package/test-fixtures/addMissingField338/mo/record.json +9 -0
- package/test-fixtures/addMissingField338/nc/expectedResult.json +19 -0
- package/test-fixtures/addMissingField338/nc/metadata.json +6 -0
- package/test-fixtures/addMissingField338/nc/record.json +13 -0
- package/test-fixtures/addMissingField338/nr/expectedResult.json +12 -0
- package/test-fixtures/addMissingField338/nr/metadata.json +7 -0
- package/test-fixtures/addMissingField338/nr/record.json +6 -0
- package/test-fixtures/addMissingField338/sd/expectedResult.json +14 -0
- package/test-fixtures/addMissingField338/sd/metadata.json +6 -0
- package/test-fixtures/addMissingField338/sd/record.json +8 -0
- package/test-fixtures/addMissingField338/sd2/expectedResult.json +14 -0
- package/test-fixtures/addMissingField338/sd2/metadata.json +6 -0
- package/test-fixtures/addMissingField338/sd2/record.json +8 -0
- package/test-fixtures/addMissingField338/sd3/expectedResult.json +14 -0
- package/test-fixtures/addMissingField338/sd3/metadata.json +6 -0
- package/test-fixtures/addMissingField338/sd3/record.json +8 -0
- package/test-fixtures/addMissingField338/ss/expectedResult.json +14 -0
- package/test-fixtures/addMissingField338/ss/metadata.json +6 -0
- package/test-fixtures/addMissingField338/ss/record.json +8 -0
- package/test-fixtures/addMissingField338/ss2/expectedResult.json +14 -0
- package/test-fixtures/addMissingField338/ss2/metadata.json +6 -0
- package/test-fixtures/addMissingField338/ss2/record.json +8 -0
- package/test-fixtures/addMissingField338/vd/expectedResult.json +15 -0
- package/test-fixtures/addMissingField338/vd/metadata.json +6 -0
- package/test-fixtures/addMissingField338/vd/record.json +9 -0
- package/test-fixtures/addMissingField338/vd2/expectedResult.json +13 -0
- package/test-fixtures/addMissingField338/vd2/metadata.json +6 -0
- package/test-fixtures/addMissingField338/vd2/record.json +8 -0
- package/test-fixtures/addMissingField338/vf/expectedResult.json +15 -0
- package/test-fixtures/addMissingField338/vf/metadata.json +6 -0
- package/test-fixtures/addMissingField338/vf/record.json +9 -0
- package/test-fixtures/addMissingField338/zu/expectedResult.json +14 -0
- package/test-fixtures/addMissingField338/zu/metadata.json +6 -0
- package/test-fixtures/addMissingField338/zu/record.json +8 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f01/expectedResult.json +32 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f01/metadata.json +7 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f01/record.json +20 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f02/expectedResult.json +29 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f02/metadata.json +7 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f02/record.json +9 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f03/expectedResult.json +34 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f03/metadata.json +7 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f03/record.json +12 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f04/expectedResult.json +26 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f04/metadata.json +8 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f04/record.json +6 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f05/expectedResult.json +27 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f05/metadata.json +7 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f05/record.json +8 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f06/expectedResult.json +27 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f06/metadata.json +7 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f06/record.json +8 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f07/expectedResult.json +25 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f07/metadata.json +7 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f07/record.json +8 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f08/expectedResult.json +34 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f08/metadata.json +6 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f08/record.json +33 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f09/expectedResult.json +35 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f09/metadata.json +6 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f09/record.json +35 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f10/expectedResult.json +41 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f10/metadata.json +7 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f10/record.json +33 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f11/expectedResult.json +32 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f11/metadata.json +6 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/f11/record.json +22 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/v01/expectedResult.json +7 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/v01/metadata.json +6 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/v01/record.json +20 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/v02/expectedResult.json +5 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/v02/metadata.json +6 -0
- package/test-fixtures/cyrillux-usemarcon-replacement/v02/record.json +29 -0
- package/test-fixtures/fix-33X/f11/expectedResult.json +29 -0
- package/test-fixtures/fix-33X/f11/metadata.json +6 -0
- package/test-fixtures/fix-33X/f11/record.json +22 -0
- package/test-fixtures/fix-33X/v11/expectedResult.json +9 -0
- package/test-fixtures/fix-33X/v11/metadata.json +6 -0
- package/test-fixtures/fix-33X/v11/record.json +22 -0
- package/test-fixtures/fix-language-codes/01/expectedResult.json +5 -0
- package/test-fixtures/fix-language-codes/01/metadata.json +6 -0
- package/test-fixtures/fix-language-codes/01/record.json +7 -0
- package/test-fixtures/fix-language-codes/02/expectedResult.json +7 -0
- package/test-fixtures/fix-language-codes/02/metadata.json +6 -0
- package/test-fixtures/fix-language-codes/02/record.json +10 -0
- package/test-fixtures/fix-language-codes/03/expectedResult.json +10 -0
- package/test-fixtures/fix-language-codes/03/metadata.json +6 -0
- package/test-fixtures/fix-language-codes/03/record.json +8 -0
- package/test-fixtures/fix-language-codes/04/expectedResult.json +9 -0
- package/test-fixtures/fix-language-codes/04/metadata.json +7 -0
- package/test-fixtures/fix-language-codes/04/record.json +7 -0
- package/test-fixtures/fix-language-codes/05/expectedResult.json +8 -0
- package/test-fixtures/fix-language-codes/05/metadata.json +6 -0
- package/test-fixtures/fix-language-codes/05/record.json +5 -0
- package/test-fixtures/punctuation2/95/expectedResult.json +22 -0
- package/test-fixtures/punctuation2/95/metadata.json +6 -0
- package/test-fixtures/punctuation2/95/record.json +20 -0
- package/test-fixtures/sanitize-vocabulary-source-codes/f03/expectedResult.json +143 -0
- package/test-fixtures/sanitize-vocabulary-source-codes/f03/metadata.json +9 -0
- package/test-fixtures/sanitize-vocabulary-source-codes/f03/record.json +145 -0
- package/test-fixtures/sanitize-vocabulary-source-codes/v03/expectedResult.json +5 -0
- package/test-fixtures/sanitize-vocabulary-source-codes/v03/metadata.json +6 -0
- package/test-fixtures/sanitize-vocabulary-source-codes/v03/record.json +145 -0
package/dist/fix-33X.js
ADDED
|
@@ -0,0 +1,484 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = _default;
|
|
7
|
+
var _clone = _interopRequireDefault(require("clone"));
|
|
8
|
+
var _utils = require("./utils");
|
|
9
|
+
var _field33XUtils = require("./field33XUtils");
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
//import createDebugLogger from 'debug';
|
|
12
|
+
|
|
13
|
+
const description = 'Fix non-RDA 33X field(s)';
|
|
14
|
+
const map336 = {
|
|
15
|
+
'Bild (kartografisk ; att vidra)': 'crt',
|
|
16
|
+
'Bild (kartografisk ; rörlig)': 'crm',
|
|
17
|
+
'Bild (kartografisk)': 'cri',
|
|
18
|
+
'Bild (rörlig ; tredimensionell)': 'tdm',
|
|
19
|
+
'Bild (rörlig ; tvådimensionell)': 'tdi',
|
|
20
|
+
'Bild (still ; att vidra)': 'tci',
|
|
21
|
+
'Bild (still ; tredimensionell)': 'sti',
|
|
22
|
+
'Bild (still)': 'sti',
|
|
23
|
+
'Data': 'cod',
|
|
24
|
+
'Data (kartografinen)': 'crd',
|
|
25
|
+
'Dataset': 'cod',
|
|
26
|
+
'Dataset (kartografisk)': 'crd',
|
|
27
|
+
'Datorprogram': 'cop',
|
|
28
|
+
'Esine': 'tdf',
|
|
29
|
+
'Esine (kartografinen ; kosketeltava)': 'crn',
|
|
30
|
+
'Esine (kartografinen)': 'crf',
|
|
31
|
+
'Esine (kartogragrafinen ; kolmiulotteinen)': 'crf',
|
|
32
|
+
'Esine (kolmiulotteinen)': 'tdf',
|
|
33
|
+
'Esine (kosketeltava)': 'tcf',
|
|
34
|
+
'Flera innehållstyper': 'zzz',
|
|
35
|
+
'Föremal': 'tdf',
|
|
36
|
+
'Föremål (att vidra)': 'tcf',
|
|
37
|
+
'Föremål (kartografisk ; att vidra)': 'crn',
|
|
38
|
+
'Föremål (kartografisk ; tredimensionell)': 'crn',
|
|
39
|
+
'Föremål (tredimensionell)': 'tdf',
|
|
40
|
+
'Geräusche': 'snd',
|
|
41
|
+
'Kuva': 'sti',
|
|
42
|
+
'Kuva (kartografinen ; kosketeltava)': 'crt',
|
|
43
|
+
'Kuva (kartografinen ; liikkuva)': 'crm',
|
|
44
|
+
'Kuva (kartografinen)': 'cri',
|
|
45
|
+
'Kuva (liikkuva ; kaksiulotteinen)': 'tdi',
|
|
46
|
+
'Kuva (liikkuva ; kolmiulotteinen)': 'tdm',
|
|
47
|
+
'Kuva (still ; kaksiulotteinen)': 'sti',
|
|
48
|
+
'Kuva (still ; kolmiulotteinen)': 'sti',
|
|
49
|
+
'Kuva (still ; kosketeltava)': 'tci',
|
|
50
|
+
'Kuva (still)': 'sti',
|
|
51
|
+
'Liike (kosketeltava ; notatoitu)': 'tcn',
|
|
52
|
+
'Liike (notatoitu ; kosketeltava': 'tcn',
|
|
53
|
+
'Liike (notatoitu)': 'ntv',
|
|
54
|
+
'Ljud': 'snd',
|
|
55
|
+
'Musiikki (esitetty)': 'prm',
|
|
56
|
+
'Musiikki (kosketeltava ; notatoitu)': 'tcm',
|
|
57
|
+
'Musiikki (notatoitu ; kosketeltava)': 'tcm',
|
|
58
|
+
'Musiikki (notatoitu)': 'ntm',
|
|
59
|
+
'Musik (notation ; att vidra)': 'tcm',
|
|
60
|
+
'Musik (notation)': 'ntm',
|
|
61
|
+
'Musik (performance)': 'prm',
|
|
62
|
+
'Määrittelemätön': 'zzz',
|
|
63
|
+
'Määrittelemätön sisältötyyppi': 'zzz',
|
|
64
|
+
'Obestämd innehållstyp': 'zzz',
|
|
65
|
+
'Ospecificerad innehållstyp': 'zzz',
|
|
66
|
+
'Puhe': 'spw',
|
|
67
|
+
'Rörelse (notation ; att vidra)': 'tcn',
|
|
68
|
+
'Rörelse (notation)': 'ntv',
|
|
69
|
+
'Tal': 'spw',
|
|
70
|
+
'Teksti': 'txt',
|
|
71
|
+
'Teksti (kosketeltava); Text (att vidra)': 'tct',
|
|
72
|
+
'Text': 'txt',
|
|
73
|
+
'Tietokoneohjelma': 'cop',
|
|
74
|
+
'Useita sisältötyyppejä': 'zzz',
|
|
75
|
+
'Vild (still ; tvådimensionell)': 'sti',
|
|
76
|
+
'annan': 'xxx',
|
|
77
|
+
'cartographic dataset': 'crd',
|
|
78
|
+
'cartographic image': 'cri',
|
|
79
|
+
'cartographic moving image': 'crm',
|
|
80
|
+
'cartographic tactile image': 'crt',
|
|
81
|
+
'cartographic tactile three-dimensional form': 'crn',
|
|
82
|
+
'cartographic three-dimensional form': 'crf',
|
|
83
|
+
'cartographic three-dimensional tactile form': 'crn',
|
|
84
|
+
'computer dataset': 'cod',
|
|
85
|
+
'computer program': 'cop',
|
|
86
|
+
'dataset': 'cod',
|
|
87
|
+
'datorprogram': 'cop',
|
|
88
|
+
'digitaalinen data': 'cod',
|
|
89
|
+
'digitalt dataset': 'cod',
|
|
90
|
+
'esitetty musiikki': 'prm',
|
|
91
|
+
'framförd musik': 'prm',
|
|
92
|
+
'gesprochenes Wort': 'spw',
|
|
93
|
+
'kaksiulotteinen liikkuva kuva': 'tdi',
|
|
94
|
+
'kartografinen data': 'crd',
|
|
95
|
+
'kartografinen kolmiulotteinen muoto': 'crf',
|
|
96
|
+
'kartografinen kuva': 'cri',
|
|
97
|
+
'kartografinen liikkuva kuva': 'crm',
|
|
98
|
+
'kartografinen taktiili kolmiulotteinen muoto': 'crn',
|
|
99
|
+
'kartografinen taktiili kuva': 'crt',
|
|
100
|
+
'kartografisk bild': 'cri',
|
|
101
|
+
'kartografisk data': 'crd',
|
|
102
|
+
'kartografisk rörlig bild': 'crm',
|
|
103
|
+
'kartografisk taktil bild': 'crt',
|
|
104
|
+
'kartografisk taktil tredimensionell form': 'crn',
|
|
105
|
+
'kartografisk tredimensionell form': 'crf',
|
|
106
|
+
'kolmiulotteinen liikkuva kuva': 'tdm',
|
|
107
|
+
'kolmiulotteinen muoto': 'tdf',
|
|
108
|
+
'liikenotaatio': 'ntv',
|
|
109
|
+
'ljud': 'snd',
|
|
110
|
+
'muu': 'xxx',
|
|
111
|
+
'määrittelemätön': 'zzz',
|
|
112
|
+
'notated movement': 'ntv',
|
|
113
|
+
'notated music': 'ntm',
|
|
114
|
+
'noterad musik': 'ntm',
|
|
115
|
+
'nuottikirjoitus': 'ntm',
|
|
116
|
+
'ospecificerad': 'zzz',
|
|
117
|
+
'other': 'xxx',
|
|
118
|
+
'performed music': 'prm',
|
|
119
|
+
'puhe': 'spw',
|
|
120
|
+
'rörelsenotation': 'ntv',
|
|
121
|
+
'sounds': 'snd',
|
|
122
|
+
'spoken word': 'spw',
|
|
123
|
+
'still image': 'sti',
|
|
124
|
+
'stillbild': 'sti',
|
|
125
|
+
'stillkuva': 'sti',
|
|
126
|
+
'tactile image': 'tci',
|
|
127
|
+
'tactile notated movement': 'tcn',
|
|
128
|
+
'tactile notated music': 'tcm',
|
|
129
|
+
'tactile text': 'tct',
|
|
130
|
+
'tactile three-dimensional form': 'tcf',
|
|
131
|
+
'taktiili kolmiulotteinen muoto': 'tcf',
|
|
132
|
+
'taktiili kuva': 'tci',
|
|
133
|
+
'taktiili liikenotaatio': 'tcn',
|
|
134
|
+
'taktiili nuottikirjoitus': 'tcm',
|
|
135
|
+
'taktiili teksti': 'tct',
|
|
136
|
+
'taktil bild': 'tci',
|
|
137
|
+
'taktil musiknotation': 'tcm',
|
|
138
|
+
'taktil noterad rörelse': 'tcn',
|
|
139
|
+
'taktil text': 'tct',
|
|
140
|
+
'taktil tredimensionell form': 'tcf',
|
|
141
|
+
'tal': 'spw',
|
|
142
|
+
'teksti': 'txt',
|
|
143
|
+
'text': 'txt',
|
|
144
|
+
'texte': 'txt',
|
|
145
|
+
'texte tactile': 'tct',
|
|
146
|
+
'three-dimensional form': 'tdf',
|
|
147
|
+
'three-dimensional moving image': 'tdm',
|
|
148
|
+
'tietokoneohjelma': 'cop',
|
|
149
|
+
'tredimensionell form': 'tdf',
|
|
150
|
+
'tredimensionell rörlig bild': 'tdm',
|
|
151
|
+
'tvådimensionell rörlig bild': 'tdi',
|
|
152
|
+
'two-dimensional moving image': 'tdi',
|
|
153
|
+
'unbewegtes Bild': 'sti',
|
|
154
|
+
'unspecified': 'zzz',
|
|
155
|
+
'Ääni': 'snd',
|
|
156
|
+
'ääni': 'snd'
|
|
157
|
+
};
|
|
158
|
+
const map337 = {
|
|
159
|
+
'Computermedien': 'c',
|
|
160
|
+
'Mikroform': 'h',
|
|
161
|
+
'annan': 'x',
|
|
162
|
+
'audio': 's',
|
|
163
|
+
'computer': 'c',
|
|
164
|
+
'dator': 'c',
|
|
165
|
+
'datoranvändbar': 'c',
|
|
166
|
+
'ei välittävää laitetta': 'n',
|
|
167
|
+
'elektroninen': 'c',
|
|
168
|
+
'elektronisk': 'c',
|
|
169
|
+
'heijastettava': 'g',
|
|
170
|
+
'ingen medietyp': 'n',
|
|
171
|
+
'käytettävissä ilman laitetta': 'n',
|
|
172
|
+
'microform': 'h',
|
|
173
|
+
'microscopic': 'p',
|
|
174
|
+
'mikroform': 'h',
|
|
175
|
+
'mikromuoto': 'h',
|
|
176
|
+
'mikroskooppinen': 'p',
|
|
177
|
+
'mikroskopisch': 'p',
|
|
178
|
+
'mikroskopisk': 'p',
|
|
179
|
+
'muu': 'x',
|
|
180
|
+
'määrittelemätön': 'z',
|
|
181
|
+
'määrittelemätön välittävä laite': 'z',
|
|
182
|
+
'oförmedlad': 'n',
|
|
183
|
+
'ohne Hilfsmittel zu benutzen': 'n',
|
|
184
|
+
'omedierad': 'n',
|
|
185
|
+
'ospecificerad': 'z',
|
|
186
|
+
'ospecificerad medietyp': 'z',
|
|
187
|
+
'other': 'x',
|
|
188
|
+
'projected': 'g',
|
|
189
|
+
'projektion': 'g',
|
|
190
|
+
'projicerad': 'g',
|
|
191
|
+
'projicerbar': 'g',
|
|
192
|
+
'projizierbar': 'g',
|
|
193
|
+
'stereografinen': 'e',
|
|
194
|
+
'stereografisch': 'e',
|
|
195
|
+
'stereografisk': 'e',
|
|
196
|
+
'stereographic': 'e',
|
|
197
|
+
'tietokonekäyttöinen': 'c',
|
|
198
|
+
'unmediated': 'n',
|
|
199
|
+
'unspecified': 'z',
|
|
200
|
+
'useita mediatyyppejä': 'z',
|
|
201
|
+
'video': 'v',
|
|
202
|
+
'övrig': 'x'
|
|
203
|
+
};
|
|
204
|
+
const map338 = {
|
|
205
|
+
'aperture card': 'ha',
|
|
206
|
+
'ark': 'nb',
|
|
207
|
+
'arkki': 'nb',
|
|
208
|
+
'audio belt': 'sb',
|
|
209
|
+
'audio cartridge': 'sg',
|
|
210
|
+
'audio cylinder': 'se',
|
|
211
|
+
'audio disc': 'sd',
|
|
212
|
+
'audio roll': 'sq',
|
|
213
|
+
'audio wire reel': 'sw',
|
|
214
|
+
'audiocassette': 'ss',
|
|
215
|
+
'audiotape reel': 'st',
|
|
216
|
+
'bildband': 'gf',
|
|
217
|
+
'bildbandsmagasin': 'gc',
|
|
218
|
+
'blädderblock': 'nn',
|
|
219
|
+
'card': 'no',
|
|
220
|
+
'computer card': 'ck',
|
|
221
|
+
'computer cartridge': 'cb',
|
|
222
|
+
'computer disc': 'cd',
|
|
223
|
+
'computer disc cartridge': 'ce',
|
|
224
|
+
'computer tape cartridge': 'ca',
|
|
225
|
+
'computer tape cassette': 'cf',
|
|
226
|
+
'computer tape reel': 'ch',
|
|
227
|
+
'datorbandmagasin': 'ca',
|
|
228
|
+
'datorbandspole': 'ch',
|
|
229
|
+
'datorkassett': 'cf',
|
|
230
|
+
'datorkort': 'ck',
|
|
231
|
+
'datorminnesmodul': 'cb',
|
|
232
|
+
'datorskiva': 'cd',
|
|
233
|
+
'datorskivmagasin': 'ce',
|
|
234
|
+
'dia': 'gs',
|
|
235
|
+
'diabild': 'gs',
|
|
236
|
+
'film cartridge': 'mc',
|
|
237
|
+
'film cassette': 'mf',
|
|
238
|
+
'film reel': 'mr',
|
|
239
|
+
'film roll': 'mo',
|
|
240
|
+
'filmikasetti': 'mf',
|
|
241
|
+
'filmikela': 'mr',
|
|
242
|
+
'filmiliuska': 'gd',
|
|
243
|
+
'filmirulla': 'mo',
|
|
244
|
+
'filmisilmukkakasetti': 'mc',
|
|
245
|
+
'filmkassett': 'mf',
|
|
246
|
+
'filmljudspole': 'si',
|
|
247
|
+
'filmmagasin': 'mc',
|
|
248
|
+
'filmremsa': 'gd',
|
|
249
|
+
'filmrulle': 'mo',
|
|
250
|
+
'filmslip': 'gd',
|
|
251
|
+
'filmspole': 'mr',
|
|
252
|
+
'filmstrip': 'gf',
|
|
253
|
+
'filmstrip cartridge': 'gc',
|
|
254
|
+
'flipchart': 'nn',
|
|
255
|
+
'fönsterkort': 'ha',
|
|
256
|
+
'föremål': 'nr',
|
|
257
|
+
'ikkunakortti': 'ha',
|
|
258
|
+
'kort': 'no',
|
|
259
|
+
'kortti': 'no',
|
|
260
|
+
'lehtiötaulu': 'nn',
|
|
261
|
+
'ljudcylinder': 'se',
|
|
262
|
+
'ljudkassett': 'ss',
|
|
263
|
+
'ljudmagasin': 'sg',
|
|
264
|
+
'ljudrulle': 'sq',
|
|
265
|
+
'ljudskiva': 'sd',
|
|
266
|
+
'ljudslinga': 'sb',
|
|
267
|
+
'ljudspole': 'st',
|
|
268
|
+
'ljudtråd': 'sw',
|
|
269
|
+
'microfiche': 'he',
|
|
270
|
+
'microfiche cassette': 'hf',
|
|
271
|
+
'microfilm cartridge': 'hb',
|
|
272
|
+
'microfilm cassette': 'hc',
|
|
273
|
+
'microfilm reel': 'hd',
|
|
274
|
+
'microfilm roll': 'hj',
|
|
275
|
+
'microfilm slip': 'hh',
|
|
276
|
+
'microopaque': 'hg',
|
|
277
|
+
'microscope slide': 'pp',
|
|
278
|
+
'mikrofiche': 'he',
|
|
279
|
+
'mikrofiche (ogenomskinlig)': 'hg',
|
|
280
|
+
'mikrofichekassett': 'hf',
|
|
281
|
+
'mikrofilmikasetti': 'hc',
|
|
282
|
+
'mikrofilmikela': 'hd',
|
|
283
|
+
'mikrofilmiliuska': 'hh',
|
|
284
|
+
'mikrofilmirulla': 'hj',
|
|
285
|
+
'mikrofilmisilmukkakasetti': 'hb',
|
|
286
|
+
'mikrofilmskassett': 'hc',
|
|
287
|
+
'mikrofilmsmagasin': 'hb',
|
|
288
|
+
'mikrofilmsremsa': 'hh',
|
|
289
|
+
'mikrofilmsrulle': 'hj',
|
|
290
|
+
'mikrofilmsspole': 'hd',
|
|
291
|
+
'mikrokortti': 'he',
|
|
292
|
+
'mikrokortti (läpinäkymätön)': 'hg',
|
|
293
|
+
'mikrokorttikasetti': 'hf',
|
|
294
|
+
'mikroskoperingspreparat': 'pp',
|
|
295
|
+
'muistikortti': 'ck',
|
|
296
|
+
'määrittelemätön': 'zu',
|
|
297
|
+
'nide': 'nc',
|
|
298
|
+
'object': 'nr',
|
|
299
|
+
'objekti': 'nr',
|
|
300
|
+
'online resource': 'cr',
|
|
301
|
+
'onlineresurs': 'cr',
|
|
302
|
+
'ospecificerad': 'zu',
|
|
303
|
+
'overhead transparency': 'gt',
|
|
304
|
+
'piirikotelo': 'cb',
|
|
305
|
+
'piirtoheitinkalvo': 'gt',
|
|
306
|
+
'preparaattilasi': 'pp',
|
|
307
|
+
'raina': 'gf',
|
|
308
|
+
'rainakasetti': 'gc',
|
|
309
|
+
'roll': 'na',
|
|
310
|
+
'rulla': 'na',
|
|
311
|
+
'rulle': 'na',
|
|
312
|
+
'sheet': 'nb',
|
|
313
|
+
'slide': 'gs',
|
|
314
|
+
'sound-track reel': 'si',
|
|
315
|
+
'stereografinen kortti': 'eh',
|
|
316
|
+
'stereografinen levy': 'es',
|
|
317
|
+
'stereografisk skiva': 'es',
|
|
318
|
+
'stereografiskt kort': 'eh',
|
|
319
|
+
'stereograph card': 'eh',
|
|
320
|
+
'stereograph disc': 'es',
|
|
321
|
+
'tietokasetti': 'cf',
|
|
322
|
+
'tietolevy': 'cd',
|
|
323
|
+
'tietolevykotelo': 'ce',
|
|
324
|
+
'tietonauhakela': 'ch',
|
|
325
|
+
'tietonauhan silmukkakasetti': 'ca',
|
|
326
|
+
'transparang': 'gt',
|
|
327
|
+
'unspecified': 'zu',
|
|
328
|
+
'verkkoaineisto': 'cr',
|
|
329
|
+
'video cartridge': 'vc',
|
|
330
|
+
'videocassette': 'vf',
|
|
331
|
+
'videodisc': 'vd',
|
|
332
|
+
'videokasetti': 'vf',
|
|
333
|
+
'videokassett': 'vf',
|
|
334
|
+
'videokela': 'vr',
|
|
335
|
+
'videolevy': 'vd',
|
|
336
|
+
'videomagasin': 'vc',
|
|
337
|
+
'videosilmukkakasetti': 'vc',
|
|
338
|
+
'videoskiva': 'vd',
|
|
339
|
+
'videospole': 'vr',
|
|
340
|
+
'videotape reel': 'vr',
|
|
341
|
+
'volume': 'nc',
|
|
342
|
+
'volym': 'nc',
|
|
343
|
+
'äänihihna': 'sb',
|
|
344
|
+
'äänikasetti': 'ss',
|
|
345
|
+
'äänikela': 'st',
|
|
346
|
+
'äänilankakela': 'sw',
|
|
347
|
+
'äänilevy': 'sd',
|
|
348
|
+
'ääniraitakela': 'si',
|
|
349
|
+
'äänirulla': 'sq',
|
|
350
|
+
'äänisilmukkakasetti': 'sg',
|
|
351
|
+
'äänisylinteri': 'se'
|
|
352
|
+
};
|
|
353
|
+
|
|
354
|
+
// const multimediaRegexp = /multimedia/ui;
|
|
355
|
+
|
|
356
|
+
function _default() {
|
|
357
|
+
return {
|
|
358
|
+
description,
|
|
359
|
+
validate,
|
|
360
|
+
fix
|
|
361
|
+
};
|
|
362
|
+
function fix(record) {
|
|
363
|
+
(0, _utils.nvdebug)(`FIX ${description}...`);
|
|
364
|
+
const catLang = (0, _utils.getCatalogingLanguage)(record) || 'fin';
|
|
365
|
+
const fields = getRelevantFields(record);
|
|
366
|
+
fields.forEach(f => fixField(f, catLang));
|
|
367
|
+
(0, _utils.nvdebug)(` GOT ${fields.length}...`);
|
|
368
|
+
// FFS: we actually need newFields array here! Videogame, for example, might be
|
|
369
|
+
// 336 ## ‡a kaksiulotteinen liikkuva kuva ‡b tdi ‡2 rdacontent
|
|
370
|
+
// 336 ## ‡a tietokoneohjelma ‡b cop ‡2 rdacontent
|
|
371
|
+
const res = {
|
|
372
|
+
message: [],
|
|
373
|
+
fix: [],
|
|
374
|
+
valid: true
|
|
375
|
+
};
|
|
376
|
+
return res;
|
|
377
|
+
}
|
|
378
|
+
function validate(record) {
|
|
379
|
+
(0, _utils.nvdebug)(`VALIDATE ${description}...`); // NOT READY YET
|
|
380
|
+
const catLang = (0, _utils.getCatalogingLanguage)(record) || 'fin';
|
|
381
|
+
const fields = getRelevantFields(record);
|
|
382
|
+
if (fields.length === 0) {
|
|
383
|
+
return {
|
|
384
|
+
message: [],
|
|
385
|
+
valid: true
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
const originalStrings = fields.map(f => (0, _utils.fieldToString)(f));
|
|
389
|
+
const clonedFields = fields.map(f => (0, _clone.default)(f));
|
|
390
|
+
clonedFields.forEach(f => fixField(f, catLang));
|
|
391
|
+
const modifiedStrings = clonedFields.map(f => (0, _utils.fieldToString)(f));
|
|
392
|
+
const changes = originalStrings.map((str, i) => `'${str}' => '${modifiedStrings[i]}'`);
|
|
393
|
+
return {
|
|
394
|
+
message: changes,
|
|
395
|
+
valid: false
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
function getA(field) {
|
|
399
|
+
const as = field.subfields.filter(f => f.code === 'a');
|
|
400
|
+
if (as.length === 1) {
|
|
401
|
+
return as[0];
|
|
402
|
+
}
|
|
403
|
+
return undefined;
|
|
404
|
+
}
|
|
405
|
+
function mapTermToCode(term, tag) {
|
|
406
|
+
(0, _utils.nvdebug)(`TERM/${tag}: '${term}'`);
|
|
407
|
+
if (tag === '336' && term in map336) {
|
|
408
|
+
return map336[term];
|
|
409
|
+
}
|
|
410
|
+
if (tag === '337' && term in map337) {
|
|
411
|
+
return map337[term];
|
|
412
|
+
}
|
|
413
|
+
if (tag === '338' && term in map338) {
|
|
414
|
+
return map338[term];
|
|
415
|
+
}
|
|
416
|
+
return undefined;
|
|
417
|
+
}
|
|
418
|
+
function mapFieldToCode(field) {
|
|
419
|
+
const subfieldA = getA(field);
|
|
420
|
+
if (subfieldA) {
|
|
421
|
+
return mapTermToCode(subfieldA.value, field.tag);
|
|
422
|
+
}
|
|
423
|
+
return undefined;
|
|
424
|
+
}
|
|
425
|
+
function getRelevantFields(record) {
|
|
426
|
+
const fields = record.get('33[678]');
|
|
427
|
+
// Currently not handline $3 etc
|
|
428
|
+
return fields.filter(f => f.subfields.length === 1 && mapFieldToCode(f));
|
|
429
|
+
}
|
|
430
|
+
function tagToSubfield2(tag) {
|
|
431
|
+
if (tag === '336') {
|
|
432
|
+
return {
|
|
433
|
+
'code': '2',
|
|
434
|
+
'value': 'rdacontent'
|
|
435
|
+
};
|
|
436
|
+
}
|
|
437
|
+
if (tag === '337') {
|
|
438
|
+
return {
|
|
439
|
+
'code': '2',
|
|
440
|
+
'value': 'rdamedia'
|
|
441
|
+
};
|
|
442
|
+
}
|
|
443
|
+
if (tag === '338') {
|
|
444
|
+
return {
|
|
445
|
+
'code': '2',
|
|
446
|
+
'value': 'rdacarrier'
|
|
447
|
+
};
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
function fixField(field, catalogingLanguage = 'fin') {
|
|
451
|
+
const subfieldA = getA(field);
|
|
452
|
+
if (!subfieldA) {
|
|
453
|
+
return;
|
|
454
|
+
}
|
|
455
|
+
const code = mapTermToCode(subfieldA.value, field.tag);
|
|
456
|
+
if (!code) {
|
|
457
|
+
return;
|
|
458
|
+
}
|
|
459
|
+
const newTerm = codeToTerm(code);
|
|
460
|
+
if (!newTerm) {
|
|
461
|
+
return;
|
|
462
|
+
}
|
|
463
|
+
subfieldA.value = newTerm; // eslint-disable-line functional/immutable-data
|
|
464
|
+
field.subfields.push({
|
|
465
|
+
'code': 'b',
|
|
466
|
+
'value': code
|
|
467
|
+
}); // eslint-disable-line functional/immutable-data
|
|
468
|
+
field.subfields.push(tagToSubfield2(field.tag)); // eslint-disable-line functional/immutable-data
|
|
469
|
+
|
|
470
|
+
function codeToTerm(code) {
|
|
471
|
+
if (field.tag === '336') {
|
|
472
|
+
return (0, _field33XUtils.map336CodeToTerm)(code, catalogingLanguage);
|
|
473
|
+
}
|
|
474
|
+
if (field.tag === '337') {
|
|
475
|
+
return (0, _field33XUtils.map337CodeToTerm)(code, catalogingLanguage);
|
|
476
|
+
}
|
|
477
|
+
if (field.tag === '338') {
|
|
478
|
+
return (0, _field33XUtils.map338CodeToTerm)(code, catalogingLanguage);
|
|
479
|
+
}
|
|
480
|
+
return undefined;
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
//# sourceMappingURL=fix-33X.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fix-33X.js","names":["_clone","_interopRequireDefault","require","_utils","_field33XUtils","obj","__esModule","default","description","map336","map337","map338","_default","validate","fix","record","nvdebug","catLang","getCatalogingLanguage","fields","getRelevantFields","forEach","f","fixField","length","res","message","valid","originalStrings","map","fieldToString","clonedFields","clone","modifiedStrings","changes","str","i","getA","field","as","subfields","filter","code","undefined","mapTermToCode","term","tag","mapFieldToCode","subfieldA","value","get","tagToSubfield2","catalogingLanguage","newTerm","codeToTerm","push","map336CodeToTerm","map337CodeToTerm","map338CodeToTerm"],"sources":["../src/fix-33X.js"],"sourcesContent":["//import createDebugLogger from 'debug';\nimport clone from 'clone';\nimport {fieldToString, getCatalogingLanguage, nvdebug} from './utils';\nimport {map336CodeToTerm, map337CodeToTerm, map338CodeToTerm} from './field33XUtils';\n\nconst description = 'Fix non-RDA 33X field(s)';\n\n\nconst map336 = {\n 'Bild (kartografisk ; att vidra)': 'crt',\n 'Bild (kartografisk ; rörlig)': 'crm',\n 'Bild (kartografisk)': 'cri',\n 'Bild (rörlig ; tredimensionell)': 'tdm',\n 'Bild (rörlig ; tvådimensionell)': 'tdi',\n 'Bild (still ; att vidra)': 'tci',\n 'Bild (still ; tredimensionell)': 'sti',\n 'Bild (still)': 'sti',\n 'Data': 'cod',\n 'Data (kartografinen)': 'crd',\n 'Dataset': 'cod',\n 'Dataset (kartografisk)': 'crd',\n 'Datorprogram': 'cop',\n 'Esine': 'tdf',\n 'Esine (kartografinen ; kosketeltava)': 'crn',\n 'Esine (kartografinen)': 'crf',\n 'Esine (kartogragrafinen ; kolmiulotteinen)': 'crf',\n 'Esine (kolmiulotteinen)': 'tdf',\n 'Esine (kosketeltava)': 'tcf',\n 'Flera innehållstyper': 'zzz',\n 'Föremal': 'tdf',\n 'Föremål (att vidra)': 'tcf',\n 'Föremål (kartografisk ; att vidra)': 'crn',\n 'Föremål (kartografisk ; tredimensionell)': 'crn',\n 'Föremål (tredimensionell)': 'tdf',\n 'Geräusche': 'snd',\n 'Kuva': 'sti',\n 'Kuva (kartografinen ; kosketeltava)': 'crt',\n 'Kuva (kartografinen ; liikkuva)': 'crm',\n 'Kuva (kartografinen)': 'cri',\n 'Kuva (liikkuva ; kaksiulotteinen)': 'tdi',\n 'Kuva (liikkuva ; kolmiulotteinen)': 'tdm',\n 'Kuva (still ; kaksiulotteinen)': 'sti',\n 'Kuva (still ; kolmiulotteinen)': 'sti',\n 'Kuva (still ; kosketeltava)': 'tci',\n 'Kuva (still)': 'sti',\n 'Liike (kosketeltava ; notatoitu)': 'tcn',\n 'Liike (notatoitu ; kosketeltava': 'tcn',\n 'Liike (notatoitu)': 'ntv',\n 'Ljud': 'snd',\n 'Musiikki (esitetty)': 'prm',\n 'Musiikki (kosketeltava ; notatoitu)': 'tcm',\n 'Musiikki (notatoitu ; kosketeltava)': 'tcm',\n 'Musiikki (notatoitu)': 'ntm',\n 'Musik (notation ; att vidra)': 'tcm',\n 'Musik (notation)': 'ntm',\n 'Musik (performance)': 'prm',\n 'Määrittelemätön': 'zzz',\n 'Määrittelemätön sisältötyyppi': 'zzz',\n 'Obestämd innehållstyp': 'zzz',\n 'Ospecificerad innehållstyp': 'zzz',\n 'Puhe': 'spw',\n 'Rörelse (notation ; att vidra)': 'tcn',\n 'Rörelse (notation)': 'ntv',\n 'Tal': 'spw',\n 'Teksti': 'txt',\n 'Teksti (kosketeltava); Text (att vidra)': 'tct',\n 'Text': 'txt',\n 'Tietokoneohjelma': 'cop',\n 'Useita sisältötyyppejä': 'zzz',\n 'Vild (still ; tvådimensionell)': 'sti',\n 'annan': 'xxx',\n 'cartographic dataset': 'crd',\n 'cartographic image': 'cri',\n 'cartographic moving image': 'crm',\n 'cartographic tactile image': 'crt',\n 'cartographic tactile three-dimensional form': 'crn',\n 'cartographic three-dimensional form': 'crf',\n 'cartographic three-dimensional tactile form': 'crn',\n 'computer dataset': 'cod',\n 'computer program': 'cop',\n 'dataset': 'cod',\n 'datorprogram': 'cop',\n 'digitaalinen data': 'cod',\n 'digitalt dataset': 'cod',\n 'esitetty musiikki': 'prm',\n 'framförd musik': 'prm',\n 'gesprochenes Wort': 'spw',\n 'kaksiulotteinen liikkuva kuva': 'tdi',\n 'kartografinen data': 'crd',\n 'kartografinen kolmiulotteinen muoto': 'crf',\n 'kartografinen kuva': 'cri',\n 'kartografinen liikkuva kuva': 'crm',\n 'kartografinen taktiili kolmiulotteinen muoto': 'crn',\n 'kartografinen taktiili kuva': 'crt',\n 'kartografisk bild': 'cri',\n 'kartografisk data': 'crd',\n 'kartografisk rörlig bild': 'crm',\n 'kartografisk taktil bild': 'crt',\n 'kartografisk taktil tredimensionell form': 'crn',\n 'kartografisk tredimensionell form': 'crf',\n 'kolmiulotteinen liikkuva kuva': 'tdm',\n 'kolmiulotteinen muoto': 'tdf',\n 'liikenotaatio': 'ntv',\n 'ljud': 'snd',\n 'muu': 'xxx',\n 'määrittelemätön': 'zzz',\n 'notated movement': 'ntv',\n 'notated music': 'ntm',\n 'noterad musik': 'ntm',\n 'nuottikirjoitus': 'ntm',\n 'ospecificerad': 'zzz',\n 'other': 'xxx',\n 'performed music': 'prm',\n 'puhe': 'spw',\n 'rörelsenotation': 'ntv',\n 'sounds': 'snd',\n 'spoken word': 'spw',\n 'still image': 'sti',\n 'stillbild': 'sti',\n 'stillkuva': 'sti',\n 'tactile image': 'tci',\n 'tactile notated movement': 'tcn',\n 'tactile notated music': 'tcm',\n 'tactile text': 'tct',\n 'tactile three-dimensional form': 'tcf',\n 'taktiili kolmiulotteinen muoto': 'tcf',\n 'taktiili kuva': 'tci',\n 'taktiili liikenotaatio': 'tcn',\n 'taktiili nuottikirjoitus': 'tcm',\n 'taktiili teksti': 'tct',\n 'taktil bild': 'tci',\n 'taktil musiknotation': 'tcm',\n 'taktil noterad rörelse': 'tcn',\n 'taktil text': 'tct',\n 'taktil tredimensionell form': 'tcf',\n 'tal': 'spw',\n 'teksti': 'txt',\n 'text': 'txt',\n 'texte': 'txt',\n 'texte tactile': 'tct',\n 'three-dimensional form': 'tdf',\n 'three-dimensional moving image': 'tdm',\n 'tietokoneohjelma': 'cop',\n 'tredimensionell form': 'tdf',\n 'tredimensionell rörlig bild': 'tdm',\n 'tvådimensionell rörlig bild': 'tdi',\n 'two-dimensional moving image': 'tdi',\n 'unbewegtes Bild': 'sti',\n 'unspecified': 'zzz',\n 'Ääni': 'snd',\n 'ääni': 'snd'\n};\n\nconst map337 = {\n 'Computermedien': 'c',\n 'Mikroform': 'h',\n 'annan': 'x',\n 'audio': 's',\n 'computer': 'c',\n 'dator': 'c',\n 'datoranvändbar': 'c',\n 'ei välittävää laitetta': 'n',\n 'elektroninen': 'c',\n 'elektronisk': 'c',\n 'heijastettava': 'g',\n 'ingen medietyp': 'n',\n 'käytettävissä ilman laitetta': 'n',\n 'microform': 'h',\n 'microscopic': 'p',\n 'mikroform': 'h',\n 'mikromuoto': 'h',\n 'mikroskooppinen': 'p',\n 'mikroskopisch': 'p',\n 'mikroskopisk': 'p',\n 'muu': 'x',\n 'määrittelemätön': 'z',\n 'määrittelemätön välittävä laite': 'z',\n 'oförmedlad': 'n',\n 'ohne Hilfsmittel zu benutzen': 'n',\n 'omedierad': 'n',\n 'ospecificerad': 'z',\n 'ospecificerad medietyp': 'z',\n 'other': 'x',\n 'projected': 'g',\n 'projektion': 'g',\n 'projicerad': 'g',\n 'projicerbar': 'g',\n 'projizierbar': 'g',\n 'stereografinen': 'e',\n 'stereografisch': 'e',\n 'stereografisk': 'e',\n 'stereographic': 'e',\n 'tietokonekäyttöinen': 'c',\n 'unmediated': 'n',\n 'unspecified': 'z',\n 'useita mediatyyppejä': 'z',\n 'video': 'v',\n 'övrig': 'x'\n};\n\nconst map338 = {\n 'aperture card': 'ha',\n 'ark': 'nb',\n 'arkki': 'nb',\n 'audio belt': 'sb',\n 'audio cartridge': 'sg',\n 'audio cylinder': 'se',\n 'audio disc': 'sd',\n 'audio roll': 'sq',\n 'audio wire reel': 'sw',\n 'audiocassette': 'ss',\n 'audiotape reel': 'st',\n 'bildband': 'gf',\n 'bildbandsmagasin': 'gc',\n 'blädderblock': 'nn',\n 'card': 'no',\n 'computer card': 'ck',\n 'computer cartridge': 'cb',\n 'computer disc': 'cd',\n 'computer disc cartridge': 'ce',\n 'computer tape cartridge': 'ca',\n 'computer tape cassette': 'cf',\n 'computer tape reel': 'ch',\n 'datorbandmagasin': 'ca',\n 'datorbandspole': 'ch',\n 'datorkassett': 'cf',\n 'datorkort': 'ck',\n 'datorminnesmodul': 'cb',\n 'datorskiva': 'cd',\n 'datorskivmagasin': 'ce',\n 'dia': 'gs',\n 'diabild': 'gs',\n 'film cartridge': 'mc',\n 'film cassette': 'mf',\n 'film reel': 'mr',\n 'film roll': 'mo',\n 'filmikasetti': 'mf',\n 'filmikela': 'mr',\n 'filmiliuska': 'gd',\n 'filmirulla': 'mo',\n 'filmisilmukkakasetti': 'mc',\n 'filmkassett': 'mf',\n 'filmljudspole': 'si',\n 'filmmagasin': 'mc',\n 'filmremsa': 'gd',\n 'filmrulle': 'mo',\n 'filmslip': 'gd',\n 'filmspole': 'mr',\n 'filmstrip': 'gf',\n 'filmstrip cartridge': 'gc',\n 'flipchart': 'nn',\n 'fönsterkort': 'ha',\n 'föremål': 'nr',\n 'ikkunakortti': 'ha',\n 'kort': 'no',\n 'kortti': 'no',\n 'lehtiötaulu': 'nn',\n 'ljudcylinder': 'se',\n 'ljudkassett': 'ss',\n 'ljudmagasin': 'sg',\n 'ljudrulle': 'sq',\n 'ljudskiva': 'sd',\n 'ljudslinga': 'sb',\n 'ljudspole': 'st',\n 'ljudtråd': 'sw',\n 'microfiche': 'he',\n 'microfiche cassette': 'hf',\n 'microfilm cartridge': 'hb',\n 'microfilm cassette': 'hc',\n 'microfilm reel': 'hd',\n 'microfilm roll': 'hj',\n 'microfilm slip': 'hh',\n 'microopaque': 'hg',\n 'microscope slide': 'pp',\n 'mikrofiche': 'he',\n 'mikrofiche (ogenomskinlig)': 'hg',\n 'mikrofichekassett': 'hf',\n 'mikrofilmikasetti': 'hc',\n 'mikrofilmikela': 'hd',\n 'mikrofilmiliuska': 'hh',\n 'mikrofilmirulla': 'hj',\n 'mikrofilmisilmukkakasetti': 'hb',\n 'mikrofilmskassett': 'hc',\n 'mikrofilmsmagasin': 'hb',\n 'mikrofilmsremsa': 'hh',\n 'mikrofilmsrulle': 'hj',\n 'mikrofilmsspole': 'hd',\n 'mikrokortti': 'he',\n 'mikrokortti (läpinäkymätön)': 'hg',\n 'mikrokorttikasetti': 'hf',\n 'mikroskoperingspreparat': 'pp',\n 'muistikortti': 'ck',\n 'määrittelemätön': 'zu',\n 'nide': 'nc',\n 'object': 'nr',\n 'objekti': 'nr',\n 'online resource': 'cr',\n 'onlineresurs': 'cr',\n 'ospecificerad': 'zu',\n 'overhead transparency': 'gt',\n 'piirikotelo': 'cb',\n 'piirtoheitinkalvo': 'gt',\n 'preparaattilasi': 'pp',\n 'raina': 'gf',\n 'rainakasetti': 'gc',\n 'roll': 'na',\n 'rulla': 'na',\n 'rulle': 'na',\n 'sheet': 'nb',\n 'slide': 'gs',\n 'sound-track reel': 'si',\n 'stereografinen kortti': 'eh',\n 'stereografinen levy': 'es',\n 'stereografisk skiva': 'es',\n 'stereografiskt kort': 'eh',\n 'stereograph card': 'eh',\n 'stereograph disc': 'es',\n 'tietokasetti': 'cf',\n 'tietolevy': 'cd',\n 'tietolevykotelo': 'ce',\n 'tietonauhakela': 'ch',\n 'tietonauhan silmukkakasetti': 'ca',\n 'transparang': 'gt',\n 'unspecified': 'zu',\n 'verkkoaineisto': 'cr',\n 'video cartridge': 'vc',\n 'videocassette': 'vf',\n 'videodisc': 'vd',\n 'videokasetti': 'vf',\n 'videokassett': 'vf',\n 'videokela': 'vr',\n 'videolevy': 'vd',\n 'videomagasin': 'vc',\n 'videosilmukkakasetti': 'vc',\n 'videoskiva': 'vd',\n 'videospole': 'vr',\n 'videotape reel': 'vr',\n 'volume': 'nc',\n 'volym': 'nc',\n 'äänihihna': 'sb',\n 'äänikasetti': 'ss',\n 'äänikela': 'st',\n 'äänilankakela': 'sw',\n 'äänilevy': 'sd',\n 'ääniraitakela': 'si',\n 'äänirulla': 'sq',\n 'äänisilmukkakasetti': 'sg',\n 'äänisylinteri': 'se'\n};\n\n// const multimediaRegexp = /multimedia/ui;\n\nexport default function () {\n\n return {\n description, validate, fix\n };\n\n function fix(record) {\n nvdebug(`FIX ${description}...`);\n const catLang = getCatalogingLanguage(record) || 'fin';\n const fields = getRelevantFields(record);\n fields.forEach(f => fixField(f, catLang));\n nvdebug(` GOT ${fields.length}...`);\n // FFS: we actually need newFields array here! Videogame, for example, might be\n // 336 ## ‡a kaksiulotteinen liikkuva kuva ‡b tdi ‡2 rdacontent\n // 336 ## ‡a tietokoneohjelma ‡b cop ‡2 rdacontent\n const res = {message: [], fix: [], valid: true};\n\n return res;\n }\n\n function validate(record) {\n nvdebug(`VALIDATE ${description}...`); // NOT READY YET\n const catLang = getCatalogingLanguage(record) || 'fin';\n const fields = getRelevantFields(record);\n if (fields.length === 0) {\n return {message: [], valid: true};\n }\n const originalStrings = fields.map(f => fieldToString(f));\n const clonedFields = fields.map(f => clone(f));\n clonedFields.forEach(f => fixField(f, catLang));\n const modifiedStrings = clonedFields.map(f => fieldToString(f));\n\n const changes = originalStrings.map((str, i) => `'${str}' => '${modifiedStrings[i]}'`);\n\n return {message: changes, valid: false};\n }\n\n\n function getA(field) {\n const as = field.subfields.filter(f => f.code === 'a');\n if (as.length === 1) {\n return as[0];\n }\n return undefined;\n }\n\n\n function mapTermToCode(term, tag) {\n nvdebug(`TERM/${tag}: '${term}'`);\n if (tag === '336' && term in map336) {\n return map336[term];\n }\n if (tag === '337' && term in map337) {\n return map337[term];\n }\n if (tag === '338' && term in map338) {\n return map338[term];\n }\n return undefined;\n }\n\n function mapFieldToCode(field) {\n const subfieldA = getA(field);\n if (subfieldA) {\n return mapTermToCode(subfieldA.value, field.tag);\n }\n return undefined;\n }\n\n function getRelevantFields(record) {\n const fields = record.get('33[678]');\n // Currently not handline $3 etc\n return fields.filter(f => f.subfields.length === 1 && mapFieldToCode(f));\n }\n\n function tagToSubfield2(tag) {\n if (tag === '336') {\n return {'code': '2', 'value': 'rdacontent'};\n }\n if (tag === '337') {\n return {'code': '2', 'value': 'rdamedia'};\n }\n if (tag === '338') {\n return {'code': '2', 'value': 'rdacarrier'};\n }\n }\n\n function fixField(field, catalogingLanguage = 'fin') {\n const subfieldA = getA(field);\n if (!subfieldA) {\n return;\n }\n const code = mapTermToCode(subfieldA.value, field.tag);\n if (!code) {\n return;\n }\n const newTerm = codeToTerm(code);\n if (!newTerm) {\n return;\n }\n\n subfieldA.value = newTerm; // eslint-disable-line functional/immutable-data\n field.subfields.push({'code': 'b', 'value': code}); // eslint-disable-line functional/immutable-data\n field.subfields.push(tagToSubfield2(field.tag)); // eslint-disable-line functional/immutable-data\n\n function codeToTerm(code) {\n if (field.tag === '336') {\n return map336CodeToTerm(code, catalogingLanguage);\n }\n if (field.tag === '337') {\n return map337CodeToTerm(code, catalogingLanguage);\n }\n if (field.tag === '338') {\n return map338CodeToTerm(code, catalogingLanguage);\n }\n return undefined;\n }\n }\n\n}\n\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _chai = require("chai");
|
|
4
|
+
var _marcRecord = require("@natlibfi/marc-record");
|
|
5
|
+
var _fix33X = _interopRequireDefault(require("./fix-33X"));
|
|
6
|
+
var _fixura = require("@natlibfi/fixura");
|
|
7
|
+
var _fixugen = _interopRequireDefault(require("@natlibfi/fixugen"));
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
(0, _fixugen.default)({
|
|
10
|
+
callback,
|
|
11
|
+
path: [__dirname, '..', 'test-fixtures', 'fix-33X'],
|
|
12
|
+
useMetadataFile: true,
|
|
13
|
+
recurse: false,
|
|
14
|
+
fixura: {
|
|
15
|
+
reader: _fixura.READERS.JSON
|
|
16
|
+
},
|
|
17
|
+
mocha: {
|
|
18
|
+
before: () => testValidatorFactory()
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
async function testValidatorFactory() {
|
|
22
|
+
const validator = await (0, _fix33X.default)();
|
|
23
|
+
(0, _chai.expect)(validator).to.be.an('object').that.has.any.keys('description', 'validate');
|
|
24
|
+
(0, _chai.expect)(validator.description).to.be.a('string');
|
|
25
|
+
(0, _chai.expect)(validator.validate).to.be.a('function');
|
|
26
|
+
(0, _chai.expect)(validator.fix).to.be.a('function');
|
|
27
|
+
}
|
|
28
|
+
async function callback({
|
|
29
|
+
getFixture,
|
|
30
|
+
fix = false
|
|
31
|
+
}) {
|
|
32
|
+
const validator = await (0, _fix33X.default)();
|
|
33
|
+
const record = new _marcRecord.MarcRecord(getFixture('record.json'));
|
|
34
|
+
const expectedResult = getFixture('expectedResult.json');
|
|
35
|
+
// console.log(expectedResult); // eslint-disable-line
|
|
36
|
+
|
|
37
|
+
if (!fix) {
|
|
38
|
+
const result = await validator.validate(record);
|
|
39
|
+
(0, _chai.expect)(result).to.eql(expectedResult);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
await validator.fix(record);
|
|
43
|
+
(0, _chai.expect)(record).to.eql(expectedResult);
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=fix-33X.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fix-33X.spec.js","names":["_chai","require","_marcRecord","_fix33X","_interopRequireDefault","_fixura","_fixugen","obj","__esModule","default","generateTests","callback","path","__dirname","useMetadataFile","recurse","fixura","reader","READERS","JSON","mocha","before","testValidatorFactory","validator","validatorFactory","expect","to","be","an","that","has","any","keys","description","a","validate","fix","getFixture","record","MarcRecord","expectedResult","result","eql"],"sources":["../src/fix-33X.spec.js"],"sourcesContent":["import {expect} from 'chai';\nimport {MarcRecord} from '@natlibfi/marc-record';\nimport validatorFactory from './fix-33X';\nimport {READERS} from '@natlibfi/fixura';\nimport generateTests from '@natlibfi/fixugen';\n\ngenerateTests({\n callback,\n path: [__dirname, '..', 'test-fixtures', 'fix-33X'],\n useMetadataFile: true,\n recurse: false,\n fixura: {\n reader: READERS.JSON\n },\n mocha: {\n before: () => testValidatorFactory()\n }\n});\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 expect(validator.fix).to.be.a('function');\n}\n\nasync function callback({getFixture, fix = false}) {\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,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAF,sBAAA,CAAAH,OAAA;AAA8C,SAAAG,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE9C,IAAAG,gBAAa,EAAC;EACZC,QAAQ;EACRC,IAAI,EAAE,CAACC,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC;EACnDC,eAAe,EAAE,IAAI;EACrBC,OAAO,EAAE,KAAK;EACdC,MAAM,EAAE;IACNC,MAAM,EAAEC,eAAO,CAACC;EAClB,CAAC;EACDC,KAAK,EAAE;IACLC,MAAM,EAAEA,CAAA,KAAMC,oBAAoB,CAAC;EACrC;AACF,CAAC,CAAC;AAEF,eAAeA,oBAAoBA,CAAA,EAAG;EACpC,MAAMC,SAAS,GAAG,MAAM,IAAAC,eAAgB,EAAC,CAAC;EAE1C,IAAAC,YAAM,EAACF,SAAS,CAAC,CACdG,EAAE,CAACC,EAAE,CAACC,EAAE,CAAC,QAAQ,CAAC,CAClBC,IAAI,CAACC,GAAG,CAACC,GAAG,CAACC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC;EAE/C,IAAAP,YAAM,EAACF,SAAS,CAACU,WAAW,CAAC,CAACP,EAAE,CAACC,EAAE,CAACO,CAAC,CAAC,QAAQ,CAAC;EAC/C,IAAAT,YAAM,EAACF,SAAS,CAACY,QAAQ,CAAC,CAACT,EAAE,CAACC,EAAE,CAACO,CAAC,CAAC,UAAU,CAAC;EAC9C,IAAAT,YAAM,EAACF,SAAS,CAACa,GAAG,CAAC,CAACV,EAAE,CAACC,EAAE,CAACO,CAAC,CAAC,UAAU,CAAC;AAC3C;AAEA,eAAevB,QAAQA,CAAC;EAAC0B,UAAU;EAAED,GAAG,GAAG;AAAK,CAAC,EAAE;EACjD,MAAMb,SAAS,GAAG,MAAM,IAAAC,eAAgB,EAAC,CAAC;EAC1C,MAAMc,MAAM,GAAG,IAAIC,sBAAU,CAACF,UAAU,CAAC,aAAa,CAAC,CAAC;EACxD,MAAMG,cAAc,GAAGH,UAAU,CAAC,qBAAqB,CAAC;EACxD;;EAEA,IAAI,CAACD,GAAG,EAAE;IACR,MAAMK,MAAM,GAAG,MAAMlB,SAAS,CAACY,QAAQ,CAACG,MAAM,CAAC;IAC/C,IAAAb,YAAM,EAACgB,MAAM,CAAC,CAACf,EAAE,CAACgB,GAAG,CAACF,cAAc,CAAC;IACrC;EACF;EAEA,MAAMjB,SAAS,CAACa,GAAG,CAACE,MAAM,CAAC;EAC3B,IAAAb,YAAM,EAACa,MAAM,CAAC,CAACZ,EAAE,CAACgB,GAAG,CAACF,cAAc,CAAC;AACvC","ignoreList":[]}
|