@natlibfi/marc-record-merge 6.0.0-beta.4 → 6.0.0-beta.5

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 (49) hide show
  1. package/README.md +10 -10
  2. package/dist/reducers/copy.js +42 -32
  3. package/dist/reducers/copy.js.map +1 -1
  4. package/dist/reducers/copy.spec.js +3 -3
  5. package/dist/reducers/copy.spec.js.map +1 -1
  6. package/package.json +9 -11
  7. package/src/reducers/copy.js +42 -33
  8. package/src/reducers/copy.spec.js +3 -3
  9. package/test-fixtures/reducers/copy/basic copy/01/metadata.json +1 -2
  10. package/test-fixtures/reducers/copy/basic copy/02/metadata.json +1 -2
  11. package/test-fixtures/reducers/copy/basic copy/03/metadata.json +1 -2
  12. package/test-fixtures/reducers/copy/basic copy/04/metadata.json +1 -2
  13. package/test-fixtures/reducers/copy/basic copy/05/metadata.json +1 -2
  14. package/test-fixtures/reducers/copy/basic copy/06/metadata.json +1 -2
  15. package/test-fixtures/reducers/copy/basic copy/07/base.json +39 -0
  16. package/test-fixtures/reducers/copy/basic copy/07/merged.json +39 -0
  17. package/test-fixtures/reducers/copy/basic copy/07/metadata.json +5 -0
  18. package/test-fixtures/reducers/copy/basic copy/07/source.json +24 -0
  19. package/test-fixtures/reducers/copy/basic copy/08/base.json +28 -0
  20. package/test-fixtures/reducers/copy/basic copy/08/merged.json +28 -0
  21. package/test-fixtures/reducers/copy/basic copy/08/metadata.json +4 -0
  22. package/test-fixtures/reducers/copy/basic copy/08/source.json +24 -0
  23. package/test-fixtures/reducers/copy/compareTagsOnly/01/metadata.json +1 -2
  24. package/test-fixtures/reducers/copy/compareTagsOnly/02/metadata.json +1 -2
  25. package/test-fixtures/reducers/copy/compareWithoutIndicators/01/metadata.json +1 -2
  26. package/test-fixtures/reducers/copy/compareWithoutIndicators/02/metadata.json +1 -2
  27. package/test-fixtures/reducers/copy/copyUnless/01/metadata.json +1 -2
  28. package/test-fixtures/reducers/copy/dropSubfields/01/metadata.json +1 -2
  29. package/test-fixtures/reducers/copy/dropSubfields/02/merged.json +1 -1
  30. package/test-fixtures/reducers/copy/dropSubfields/02/metadata.json +2 -3
  31. package/test-fixtures/reducers/copy/dropSubfields/02/source.json +2 -2
  32. package/test-fixtures/reducers/copy/dropSubfields/03/merged.json +1 -1
  33. package/test-fixtures/reducers/copy/dropSubfields/03/metadata.json +2 -3
  34. package/test-fixtures/reducers/copy/dropSubfields/03/source.json +2 -2
  35. package/test-fixtures/reducers/copy/dropSubfields/04/metadata.json +1 -2
  36. package/test-fixtures/reducers/copy/dropSubfields/04/source.json +2 -2
  37. package/test-fixtures/reducers/copy/excludeSubfields/01/metadata.json +2 -3
  38. package/test-fixtures/reducers/copy/excludeSubfields/02/base.json +39 -0
  39. package/test-fixtures/reducers/copy/excludeSubfields/02/merged.json +58 -0
  40. package/test-fixtures/reducers/copy/excludeSubfields/02/metadata.json +5 -0
  41. package/test-fixtures/reducers/copy/excludeSubfields/02/source.json +43 -0
  42. package/test-fixtures/reducers/copy/subfieldsMustBeIdentical/01/metadata.json +1 -2
  43. package/test-fixtures/reducers/copy/subfieldsMustBeIdentical/02/metadata.json +1 -2
  44. package/test-fixtures/reducers/copy/subfieldsMustBeIdentical/03/metadata.json +1 -2
  45. package/test-fixtures/reducers/copy/subfieldsMustBeIdentical/04/metadata.json +1 -2
  46. package/test-fixtures/reducers/copy/subfieldsMustBeIdentical/05/metadata.json +1 -2
  47. package/test-fixtures/reducers/copy/subfieldsMustBeIdentical/06/metadata.json +1 -2
  48. package/test-fixtures/reducers/metadata.json +1 -2
  49. package/.drone.yml +0 -92
@@ -0,0 +1,24 @@
1
+ {
2
+ "leader": "01331cam a22003494i 4500",
3
+ "fields": [
4
+ {
5
+ "tag": "001",
6
+ "value": "007346734"
7
+ },
8
+ {
9
+ "tag": "010",
10
+ "ind1": " ",
11
+ "ind2": "1",
12
+ "subfields": [
13
+ {
14
+ "code": "a",
15
+ "value": "##2002021346"
16
+ },
17
+ {
18
+ "code": "b",
19
+ "value": "##2002021356"
20
+ }
21
+ ]
22
+ }
23
+ ]
24
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "leader": "01331cam a22003494i 4500",
3
+ "fields": [
4
+ {
5
+ "tag": "001",
6
+ "value": "007346734"
7
+ },
8
+ {
9
+ "tag": "007",
10
+ "value": "ou"
11
+ },
12
+ {
13
+ "tag": "007",
14
+ "value": "vf^cbaho|"
15
+ },
16
+ {
17
+ "tag": "010",
18
+ "ind1": " ",
19
+ "ind2": " ",
20
+ "subfields": [
21
+ {
22
+ "code": "a",
23
+ "value": "##2002021346"
24
+ }
25
+ ]
26
+ }
27
+ ]
28
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "leader": "01331cam a22003494i 4500",
3
+ "fields": [
4
+ {
5
+ "tag": "001",
6
+ "value": "007346734"
7
+ },
8
+ {
9
+ "tag": "007",
10
+ "value": "ou"
11
+ },
12
+ {
13
+ "tag": "007",
14
+ "value": "vf^cbaho|"
15
+ },
16
+ {
17
+ "tag": "010",
18
+ "ind1": " ",
19
+ "ind2": " ",
20
+ "subfields": [
21
+ {
22
+ "code": "a",
23
+ "value": "##2002021346"
24
+ }
25
+ ]
26
+ }
27
+ ]
28
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "description": "Identical control fields are not copied (multiple fields)",
3
+ "tagPatternRegExp": "^007$"
4
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "leader": "01331cam a22003494i 4500",
3
+ "fields": [
4
+ {
5
+ "tag": "001",
6
+ "value": "007346734"
7
+ },
8
+ {
9
+ "tag": "007",
10
+ "value": "vf^cbaho|"
11
+ },
12
+ {
13
+ "tag": "010",
14
+ "ind1": " ",
15
+ "ind2": " ",
16
+ "subfields": [
17
+ {
18
+ "code": "a",
19
+ "value": "##2002021346"
20
+ }
21
+ ]
22
+ }
23
+ ]
24
+ }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Field is copied from source only if it is missing in base, a different instance is not copied",
3
3
  "tagPatternRegExp": "^018$",
4
- "compareTagsOnly": true,
5
- "disabled": false
4
+ "compareTagsOnly": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "for repeatable fields, 2x each 260/264",
3
3
  "tagPatternRegExp": "^(260|264)$",
4
- "compareTagsOnly": true,
5
- "disabled": false
4
+ "compareTagsOnly": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Copy fields 010 compare without indicators - same field no copy",
3
3
  "tagPatternRegExp": "^010$",
4
- "compareWithoutIndicators": true,
5
- "disabled": false
4
+ "compareWithoutIndicators": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Copy fields 010 compare with indicators - different field copy",
3
3
  "tagPatternRegExp": "^010$",
4
- "compareWithoutIndicators": false,
5
- "disabled": false
4
+ "compareWithoutIndicators": false
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Copy fields unless contains subfields - {code: 9, value: MALLI<DROP>}",
3
3
  "tagPatternRegExp": "^010$",
4
- "copyUnless": [{"code": "9", "value": "MALLI<DROP>"}],
5
- "disabled": false
4
+ "copyUnless": [{"code": "9", "value": "MALLI<DROP>"}]
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Drop subfields from source before copying",
3
3
  "tagPatternRegExp": "^010$",
4
- "dropSubfields": ["c", "d"],
5
- "disabled": false
4
+ "dropSubfields": ["c", "d"]
6
5
  }
@@ -50,7 +50,7 @@
50
50
  },
51
51
  {
52
52
  "code": "9",
53
- "value": "FENNI<PASS>"
53
+ "value": "FENNI<DROP>"
54
54
  }
55
55
  ]
56
56
  }
@@ -1,6 +1,5 @@
1
1
  {
2
- "description": "Copy fields 250 drop subfields 9 unless FENNI<KEEP> or FENNI<PASS>",
2
+ "description": "Copy fields 250 drop subfields 9 unless FENNI<KEEP> or FENNI<DROP>",
3
3
  "tagPatternRegExp": "^250$",
4
- "dropSubfields": [{"code": "9", "condition": "unless", "value": "^FENNI<(?<option>KEEP|PASS)>$"}],
5
- "disabled": false
4
+ "dropSubfields": [{"code": "9", "condition": "unless", "value": "^FENNI<(?<option>KEEP|DROP)>$"}]
6
5
  }
@@ -16,7 +16,7 @@
16
16
  },
17
17
  {
18
18
  "code": "9",
19
- "value": "FENNI<PASS>"
19
+ "value": "FENNI<DROP>"
20
20
  },
21
21
  {
22
22
  "code": "9",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  {
26
26
  "code": "9",
27
- "value": "MALLI<PASS>"
27
+ "value": "MALLI<DROP>"
28
28
  }
29
29
  ]
30
30
  }
@@ -50,7 +50,7 @@
50
50
  },
51
51
  {
52
52
  "code": "9",
53
- "value": "FENNI<PASS>"
53
+ "value": "FENNI<DROP>"
54
54
  }
55
55
  ]
56
56
  }
@@ -1,6 +1,5 @@
1
1
  {
2
- "description": "Copy fields 250 drop subfields 9 TESTI<KEEP> and 9 MALLI<PASS>",
2
+ "description": "Copy fields 250 drop subfields 9 TESTI<KEEP> and 9 MALLI<DROP>",
3
3
  "tagPatternRegExp": "^250$",
4
- "dropSubfields": [{"code": "9", "value": "TESTI<KEEP>"}, {"code": "9", "value": "MALLI<PASS>"}],
5
- "disabled": false
4
+ "dropSubfields": [{"code": "9", "value": "TESTI<KEEP>"}, {"code": "9", "value": "MALLI<DROP>"}]
6
5
  }
@@ -16,7 +16,7 @@
16
16
  },
17
17
  {
18
18
  "code": "9",
19
- "value": "FENNI<PASS>"
19
+ "value": "FENNI<DROP>"
20
20
  },
21
21
  {
22
22
  "code": "9",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  {
26
26
  "code": "9",
27
- "value": "MALLI<PASS>"
27
+ "value": "MALLI<DROP>"
28
28
  }
29
29
  ]
30
30
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Copy fields 250 drop subfields all 9 - Does not copy 250 with no subfields left",
3
3
  "tagPatternRegExp": "^250$",
4
- "dropSubfields": [{"code": "9"}],
5
- "disabled": false
4
+ "dropSubfields": [{"code": "9"}]
6
5
  }
@@ -16,7 +16,7 @@
16
16
  },
17
17
  {
18
18
  "code": "9",
19
- "value": "FENNI<PASS>"
19
+ "value": "FENNI<DROP>"
20
20
  },
21
21
  {
22
22
  "code": "9",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  {
26
26
  "code": "9",
27
- "value": "MALLI<PASS>"
27
+ "value": "MALLI<DROP>"
28
28
  }
29
29
  ]
30
30
  }
@@ -1,9 +1,8 @@
1
1
  {
2
- "description": "Ignore excluded subfields in comparing identicalness",
2
+ "description": "Ignore subfields c and d in comparing identicalness - ignore one field",
3
3
  "tagPatternRegExp": "^010$",
4
4
  "excludeSubfields": [
5
5
  "c",
6
6
  "d"
7
- ],
8
- "disabled": false
7
+ ]
9
8
  }
@@ -0,0 +1,39 @@
1
+ {
2
+ "leader": "01331cam a22003494i 4500",
3
+ "fields": [
4
+ {
5
+ "tag": "001",
6
+ "value": "007346734"
7
+ },
8
+ {
9
+ "tag": "010",
10
+ "ind1": " ",
11
+ "ind2": " ",
12
+ "subfields": [
13
+ {
14
+ "code": "a",
15
+ "value": "##2002021346"
16
+ },
17
+ {
18
+ "code": "b",
19
+ "value": "##2002021356"
20
+ }
21
+ ]
22
+ },
23
+ {
24
+ "tag": "010",
25
+ "ind1": " ",
26
+ "ind2": " ",
27
+ "subfields": [
28
+ {
29
+ "code": "d",
30
+ "value": "##2002021357"
31
+ },
32
+ {
33
+ "code": "e",
34
+ "value": "##2002021359"
35
+ }
36
+ ]
37
+ }
38
+ ]
39
+ }
@@ -0,0 +1,58 @@
1
+ {
2
+ "leader": "01331cam a22003494i 4500",
3
+ "fields": [
4
+ {
5
+ "tag": "001",
6
+ "value": "007346734"
7
+ },
8
+ {
9
+ "tag": "010",
10
+ "ind1": " ",
11
+ "ind2": " ",
12
+ "subfields": [
13
+ {
14
+ "code": "a",
15
+ "value": "##2002021346"
16
+ },
17
+ {
18
+ "code": "b",
19
+ "value": "##2002021356"
20
+ }
21
+ ]
22
+ },
23
+ {
24
+ "tag": "010",
25
+ "ind1": " ",
26
+ "ind2": " ",
27
+ "subfields": [
28
+ {
29
+ "code": "d",
30
+ "value": "##2002021357"
31
+ },
32
+ {
33
+ "code": "e",
34
+ "value": "##2002021359"
35
+ }
36
+ ]
37
+ },
38
+ {
39
+ "tag": "010",
40
+ "ind1": " ",
41
+ "ind2": " ",
42
+ "subfields": [
43
+ {
44
+ "code": "c",
45
+ "value": "##2002021348"
46
+ },
47
+ {
48
+ "code": "d",
49
+ "value": "##2002021358"
50
+ },
51
+ {
52
+ "code": "e",
53
+ "value": "##2002021359"
54
+ }
55
+ ]
56
+ }
57
+ ]
58
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "description": "Empty array - no exclusion",
3
+ "tagPatternRegExp": "^010$",
4
+ "excludeSubfields": []
5
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "leader": "01331cam a22003494i 4500",
3
+ "fields": [
4
+ {
5
+ "tag": "001",
6
+ "value": "007346734"
7
+ },
8
+ {
9
+ "tag": "010",
10
+ "ind1": " ",
11
+ "ind2": " ",
12
+ "subfields": [
13
+ {
14
+ "code": "a",
15
+ "value": "##2002021346"
16
+ },
17
+ {
18
+ "code": "b",
19
+ "value": "##2002021356"
20
+ }
21
+ ]
22
+ },
23
+ {
24
+ "tag": "010",
25
+ "ind1": " ",
26
+ "ind2": " ",
27
+ "subfields": [
28
+ {
29
+ "code": "c",
30
+ "value": "##2002021348"
31
+ },
32
+ {
33
+ "code": "d",
34
+ "value": "##2002021358"
35
+ },
36
+ {
37
+ "code": "e",
38
+ "value": "##2002021359"
39
+ }
40
+ ]
41
+ }
42
+ ]
43
+ }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "subfieldsMustBeIdentical: true - fields 010 are not identical => fields are copied",
3
3
  "tagPatternRegExp": "^010$",
4
- "subfieldsMustBeIdentical": true,
5
- "disabled": false
4
+ "subfieldsMustBeIdentical": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "subfieldsMustBeIdentical: true - fields 010 identical => fields are not copied",
3
3
  "tagPatternRegExp": "^010$",
4
- "subfieldsMustBeIdentical": true,
5
- "disabled": false
4
+ "subfieldsMustBeIdentical": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "subfieldsMustBeIdentical: true - source subfields are subset of base subfields",
3
3
  "tagPatternRegExp": "^010$",
4
- "subfieldsMustBeIdentical": true,
5
- "disabled": false
4
+ "subfieldsMustBeIdentical": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "subfieldsMustBeIdentical: false - source subfields are subset of base subfields",
3
3
  "tagPatternRegExp": "^010$",
4
- "subfieldsMustBeIdentical": false,
5
- "disabled": false
4
+ "subfieldsMustBeIdentical": false
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "subfieldsMustBeIdentical: true - base subfields are subset of source subfields",
3
3
  "tagPatternRegExp": "^010$",
4
- "subfieldsMustBeIdentical": true,
5
- "disabled": false
4
+ "subfieldsMustBeIdentical": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "subfieldsMustBeIdentical: false - base subfields are subset of source subfields",
3
3
  "tagPatternRegExp": "^010$",
4
- "subfieldsMustBeIdentical": false,
5
- "disabled": false
4
+ "subfieldsMustBeIdentical": false
6
5
  }
@@ -1,5 +1,4 @@
1
1
  {
2
2
  "description": "",
3
- "tagPatternRegExp": "^$",
4
- "disabled": false
3
+ "tagPatternRegExp": "^$"
5
4
  }
package/.drone.yml DELETED
@@ -1,92 +0,0 @@
1
- ---
2
- kind: pipeline
3
- type: docker
4
- name: Default
5
-
6
- trigger:
7
- event:
8
- - push
9
- - tag
10
-
11
- steps:
12
-
13
- - name: audit
14
- image: node:12
15
- commands:
16
- - npm audit --package-lock-only --production --audit-level=moderate
17
-
18
- - name: install
19
- image: node:12
20
- environment:
21
- NPM_CONFIG_IGNORE_SCRIPTS: true
22
- commands:
23
- - npm install --no-optional
24
-
25
- - name: test
26
- image: node:12
27
- commands:
28
- - npm test
29
-
30
- - name: check-coverage
31
- image: node:12
32
- commands:
33
- - npm run coverage
34
-
35
- - name: build
36
- image: node:12
37
- commands:
38
- - npm run build
39
- - NPM_CONFIG_IGNORE_SCRIPTS=false npm ci --production
40
-
41
- - name: static-security-scan
42
- image: quay.io/natlibfi/njsscan
43
- commands:
44
- - njsscan dist
45
-
46
- - name: npm
47
- image: plugins/npm
48
- settings:
49
- registry: 'https://registry.npmjs.org/'
50
- token:
51
- from_secret: npm_token
52
- when:
53
- event: tag
54
- ---
55
- kind: pipeline
56
- type: docker
57
- name: Update dependencies
58
-
59
- trigger:
60
- event:
61
- - custom
62
- branch:
63
- - master
64
-
65
- steps:
66
-
67
- - name: publish
68
- image: quay.io/natlibfi/drone-npm-git-publish
69
- settings:
70
- git_user_name: natlibfi-melinda-automation
71
- git_user_email: 65649125+natlibfi-melinda-automation@users.noreply.github.com
72
- git_ssh_key:
73
- from_secret: ssh_key
74
- git_gpg_key:
75
- from_secret: gpg_key
76
- ---
77
- kind: secret
78
- name: npm_token
79
- data: IB5vm9V6fNh9O1FFF9rv2eBMNy+WiZpxjfNhlq9DIX5wDYXXY1Xk64llB1YwDXiBqJDW2kIjAIc8vXG+xU3jmw==
80
- ---
81
- kind: secret
82
- name: ssh_key
83
- data: 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
84
- ---
85
- kind: secret
86
- name: gpg_key
87
- data: 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
88
- ---
89
- kind: signature
90
- hmac: 4815f1484dffe80b54c0a0132b742f0976a7689354e933ba220c5b30835708c0
91
-
92
- ...