@natlibfi/melinda-commons 13.0.21 → 13.2.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.
Files changed (31) hide show
  1. package/dist/subRecordPicker.js +41 -7
  2. package/dist/subRecordPicker.js.map +1 -1
  3. package/dist/subRecordPicker.spec.js +24 -4
  4. package/dist/subRecordPicker.spec.js.map +1 -1
  5. package/dist/utils.js +40 -0
  6. package/dist/utils.js.map +1 -1
  7. package/dist/utils.spec.js +42 -0
  8. package/dist/utils.spec.js.map +1 -1
  9. package/package.json +1 -1
  10. package/src/subRecordPicker.js +41 -8
  11. package/src/subRecordPicker.spec.js +21 -3
  12. package/src/utils.js +43 -0
  13. package/src/utils.spec.js +55 -1
  14. package/test-fixtures/subRecordPicker/readAllSubrecords/01/metadata.json +1 -0
  15. package/test-fixtures/subRecordPicker/readAllSubrecords/02/expected-records.json +632 -0
  16. package/test-fixtures/subRecordPicker/readAllSubrecords/02/metadata.json +22 -0
  17. package/test-fixtures/subRecordPicker/readAllSubrecords/02/response01.xml +136 -0
  18. package/test-fixtures/subRecordPicker/readAllSubrecords/02/response02.xml +71 -0
  19. package/test-fixtures/subRecordPicker/readAllSubrecords/03/expected-records.json +1 -0
  20. package/test-fixtures/subRecordPicker/readAllSubrecords/03/metadata.json +17 -0
  21. package/test-fixtures/subRecordPicker/readAllSubrecords/03/response01.xml +4 -0
  22. package/test-fixtures/subRecordPicker/readSomeSubrecords/01/metadata.json +1 -0
  23. package/test-fixtures/subRecordPicker/readSubrecordAmount/01/metadata.json +16 -0
  24. package/test-fixtures/subRecordPicker/readSubrecordAmount/01/response01.xml +4 -0
  25. package/test-fixtures/utils/isComponentRecord/record1.json +35 -0
  26. package/test-fixtures/utils/isComponentRecord/record2.json +35 -0
  27. package/test-fixtures/utils/isComponentRecord/record3.json +20 -0
  28. package/test-fixtures/utils/isComponentRecord/record4.json +20 -0
  29. package/test-fixtures/utils/isComponentRecord/record5.json +20 -0
  30. package/test-fixtures/utils/isComponentRecord/record6.json +35 -0
  31. package/test-fixtures/utils/isComponentRecord/record7.json +35 -0
@@ -0,0 +1,136 @@
1
+ <?xml version="1.0"?>
2
+ <zs:searchRetrieveResponse xmlns:zs="http://docs.oasis-open.org/ns/search-ws/sruResponse">
3
+ <zs:numberOfRecords>3</zs:numberOfRecords>
4
+ <zs:records>
5
+ <zs:record>
6
+ <zs:recordSchema>info:srw/schema/1/marcxml-v1.1</zs:recordSchema>
7
+ <zs:recordXMLEscaping>xml</zs:recordXMLEscaping>
8
+ <zs:recordData>
9
+ <record xmlns="http://www.loc.gov/MARC21/slim">
10
+ <leader>00623dam a22002417a 4500</leader>
11
+ <controlfield tag="001">000059308</controlfield>
12
+ <controlfield tag="003">FI-MELINDA</controlfield>
13
+ <controlfield tag="005">20100115121808.0</controlfield>
14
+ <controlfield tag="008">920131s1992 xxk|||||||||||||||||eng||</controlfield>
15
+ <datafield tag="STA" ind1=" " ind2=" ">
16
+ <subfield code="a">DELETED</subfield>
17
+ </datafield>
18
+ <datafield tag="020" ind1=" " ind2=" ">
19
+ <subfield code="a">0-333-52414-4 (inb.)</subfield>
20
+ </datafield>
21
+ <datafield tag="035" ind1=" " ind2=" ">
22
+ <subfield code="a">(FI-MELINDA)000059308</subfield>
23
+ </datafield>
24
+ <datafield tag="041" ind1="0" ind2=" ">
25
+ <subfield code="a">eng</subfield>
26
+ </datafield>
27
+ <datafield tag="080" ind1=" " ind2=" ">
28
+ <subfield code="a">1</subfield>
29
+ <subfield code="x">(091)</subfield>
30
+ </datafield>
31
+ <datafield tag="080" ind1=" " ind2=" ">
32
+ <subfield code="a">17</subfield>
33
+ </datafield>
34
+ <datafield tag="100" ind1="1" ind2=" ">
35
+ <subfield code="a">Phillips, D. Z.</subfield>
36
+ </datafield>
37
+ <datafield tag="245" ind1="1" ind2="0">
38
+ <subfield code="a">Interventions in ethics /</subfield>
39
+ <subfield code="c">D. Z. Phillips.</subfield>
40
+ </datafield>
41
+ <datafield tag="260" ind1=" " ind2=" ">
42
+ <subfield code="a">London :</subfield>
43
+ <subfield code="b">Macmillan,</subfield>
44
+ <subfield code="c">1992.</subfield>
45
+ </datafield>
46
+ <datafield tag="300" ind1=" " ind2=" ">
47
+ <subfield code="a">xv, 300 s.</subfield>
48
+ </datafield>
49
+ <datafield tag="490" ind1="0" ind2=" ">
50
+ <subfield code="a">Swansea studies in philosophy</subfield>
51
+ </datafield>
52
+ <datafield tag="SID" ind1=" " ind2=" ">
53
+ <subfield code="c">134997</subfield>
54
+ <subfield code="b">alma</subfield>
55
+ </datafield>
56
+ <datafield tag="CAT" ind1=" " ind2=" ">
57
+ <subfield code="a">KVP4001</subfield>
58
+ <subfield code="b" />
59
+ <subfield code="c">20100115</subfield>
60
+ <subfield code="l">FIN01</subfield>
61
+ <subfield code="h">1218</subfield>
62
+ </datafield>
63
+ <datafield tag="LOW" ind1=" " ind2=" ">
64
+ <subfield code="a">ALMA</subfield>
65
+ </datafield>
66
+ </record>
67
+ </zs:recordData>
68
+ <zs:recordPosition>1</zs:recordPosition>
69
+ </zs:record>
70
+ <zs:record>
71
+ <zs:recordSchema>info:srw/schema/1/marcxml-v1.1</zs:recordSchema>
72
+ <zs:recordXMLEscaping>xml</zs:recordXMLEscaping>
73
+ <zs:recordData>
74
+ <record xmlns="http://www.loc.gov/MARC21/slim">
75
+ <leader>00623dam a22002417a 4500</leader>
76
+ <controlfield tag="001">000059308</controlfield>
77
+ <controlfield tag="003">FI-MELINDA</controlfield>
78
+ <controlfield tag="005">20100115121808.0</controlfield>
79
+ <controlfield tag="008">920131s1992 xxk|||||||||||||||||eng||</controlfield>
80
+ <datafield tag="STA" ind1=" " ind2=" ">
81
+ <subfield code="a">DELETED</subfield>
82
+ </datafield>
83
+ <datafield tag="020" ind1=" " ind2=" ">
84
+ <subfield code="a">0-333-52414-4 (inb.)</subfield>
85
+ </datafield>
86
+ <datafield tag="035" ind1=" " ind2=" ">
87
+ <subfield code="a">(FI-MELINDA)000059308</subfield>
88
+ </datafield>
89
+ <datafield tag="041" ind1="0" ind2=" ">
90
+ <subfield code="a">eng</subfield>
91
+ </datafield>
92
+ <datafield tag="080" ind1=" " ind2=" ">
93
+ <subfield code="a">1</subfield>
94
+ <subfield code="x">(091)</subfield>
95
+ </datafield>
96
+ <datafield tag="080" ind1=" " ind2=" ">
97
+ <subfield code="a">17</subfield>
98
+ </datafield>
99
+ <datafield tag="100" ind1="1" ind2=" ">
100
+ <subfield code="a">Phillips, D. Z.</subfield>
101
+ </datafield>
102
+ <datafield tag="245" ind1="1" ind2="0">
103
+ <subfield code="a">Interventions in ethics /</subfield>
104
+ <subfield code="c">D. Z. Phillips.</subfield>
105
+ </datafield>
106
+ <datafield tag="260" ind1=" " ind2=" ">
107
+ <subfield code="a">London :</subfield>
108
+ <subfield code="b">Macmillan,</subfield>
109
+ <subfield code="c">1992.</subfield>
110
+ </datafield>
111
+ <datafield tag="300" ind1=" " ind2=" ">
112
+ <subfield code="a">xv, 300 s.</subfield>
113
+ </datafield>
114
+ <datafield tag="490" ind1="0" ind2=" ">
115
+ <subfield code="a">Swansea studies in philosophy</subfield>
116
+ </datafield>
117
+ <datafield tag="SID" ind1=" " ind2=" ">
118
+ <subfield code="c">134997</subfield>
119
+ <subfield code="b">alma</subfield>
120
+ </datafield>
121
+ <datafield tag="CAT" ind1=" " ind2=" ">
122
+ <subfield code="a">KVP4001</subfield>
123
+ <subfield code="b" />
124
+ <subfield code="c">20100115</subfield>
125
+ <subfield code="l">FIN01</subfield>
126
+ <subfield code="h">1218</subfield>
127
+ </datafield>
128
+ <datafield tag="LOW" ind1=" " ind2=" ">
129
+ <subfield code="a">ALMA</subfield>
130
+ </datafield>
131
+ </record>
132
+ </zs:recordData>
133
+ <zs:recordPosition>2</zs:recordPosition>
134
+ </zs:record>
135
+ </zs:records>
136
+ </zs:searchRetrieveResponse>
@@ -0,0 +1,71 @@
1
+ <?xml version="1.0"?>
2
+ <zs:searchRetrieveResponse xmlns:zs="http://docs.oasis-open.org/ns/search-ws/sruResponse">
3
+ <zs:numberOfRecords>3</zs:numberOfRecords>
4
+ <zs:records>
5
+ <zs:record>
6
+ <zs:recordSchema>info:srw/schema/1/marcxml-v1.1</zs:recordSchema>
7
+ <zs:recordXMLEscaping>xml</zs:recordXMLEscaping>
8
+ <zs:recordData>
9
+ <record xmlns="http://www.loc.gov/MARC21/slim">
10
+ <leader>00623dam a22002417a 4500</leader>
11
+ <controlfield tag="001">000059308</controlfield>
12
+ <controlfield tag="003">FI-MELINDA</controlfield>
13
+ <controlfield tag="005">20100115121808.0</controlfield>
14
+ <controlfield tag="008">920131s1992 xxk|||||||||||||||||eng||</controlfield>
15
+ <datafield tag="STA" ind1=" " ind2=" ">
16
+ <subfield code="a">DELETED</subfield>
17
+ </datafield>
18
+ <datafield tag="020" ind1=" " ind2=" ">
19
+ <subfield code="a">0-333-52414-4 (inb.)</subfield>
20
+ </datafield>
21
+ <datafield tag="035" ind1=" " ind2=" ">
22
+ <subfield code="a">(FI-MELINDA)000059308</subfield>
23
+ </datafield>
24
+ <datafield tag="041" ind1="0" ind2=" ">
25
+ <subfield code="a">eng</subfield>
26
+ </datafield>
27
+ <datafield tag="080" ind1=" " ind2=" ">
28
+ <subfield code="a">1</subfield>
29
+ <subfield code="x">(091)</subfield>
30
+ </datafield>
31
+ <datafield tag="080" ind1=" " ind2=" ">
32
+ <subfield code="a">17</subfield>
33
+ </datafield>
34
+ <datafield tag="100" ind1="1" ind2=" ">
35
+ <subfield code="a">Phillips, D. Z.</subfield>
36
+ </datafield>
37
+ <datafield tag="245" ind1="1" ind2="0">
38
+ <subfield code="a">Interventions in ethics /</subfield>
39
+ <subfield code="c">D. Z. Phillips.</subfield>
40
+ </datafield>
41
+ <datafield tag="260" ind1=" " ind2=" ">
42
+ <subfield code="a">London :</subfield>
43
+ <subfield code="b">Macmillan,</subfield>
44
+ <subfield code="c">1992.</subfield>
45
+ </datafield>
46
+ <datafield tag="300" ind1=" " ind2=" ">
47
+ <subfield code="a">xv, 300 s.</subfield>
48
+ </datafield>
49
+ <datafield tag="490" ind1="0" ind2=" ">
50
+ <subfield code="a">Swansea studies in philosophy</subfield>
51
+ </datafield>
52
+ <datafield tag="SID" ind1=" " ind2=" ">
53
+ <subfield code="c">134997</subfield>
54
+ <subfield code="b">alma</subfield>
55
+ </datafield>
56
+ <datafield tag="CAT" ind1=" " ind2=" ">
57
+ <subfield code="a">KVP4001</subfield>
58
+ <subfield code="b" />
59
+ <subfield code="c">20100115</subfield>
60
+ <subfield code="l">FIN01</subfield>
61
+ <subfield code="h">1218</subfield>
62
+ </datafield>
63
+ <datafield tag="LOW" ind1=" " ind2=" ">
64
+ <subfield code="a">ALMA</subfield>
65
+ </datafield>
66
+ </record>
67
+ </zs:recordData>
68
+ <zs:recordPosition>3</zs:recordPosition>
69
+ </zs:record>
70
+ </zs:records>
71
+ </zs:searchRetrieveResponse>
@@ -0,0 +1,17 @@
1
+ {
2
+ "description": "Should not fail if there are no records to retrieve",
3
+ "sruUrl": "http://foo.bar",
4
+ "retrieveAll": true,
5
+ "recordId": "000000123",
6
+ "method": "readAllSubrecords",
7
+ "expectedAmount": 0,
8
+ "requests": [
9
+ {
10
+ "method": "get",
11
+ "url": "/?operation=searchRetrieve&query=melinda.partsofhost%3D000000123&startRecord=1&recordSchema=marcxml&version=2.0&maximumRecords=1000",
12
+ "status": 200
13
+ }
14
+ ],
15
+ "only": false,
16
+ "skip": false
17
+ }
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0"?>
2
+ <zs:searchRetrieveResponse xmlns:zs="http://docs.oasis-open.org/ns/search-ws/sruResponse">
3
+ <zs:numberOfRecords>0</zs:numberOfRecords>
4
+ </zs:searchRetrieveResponse>
@@ -4,6 +4,7 @@
4
4
  "retrieveAll": false,
5
5
  "recordId": "000000123",
6
6
  "method": "readSomeSubrecords",
7
+ "expectedAmount": 3,
7
8
  "requests": [
8
9
  {
9
10
  "method": "get",
@@ -0,0 +1,16 @@
1
+ {
2
+ "description": "Should retrieve subrecord amount",
3
+ "sruUrl": "http://foo.bar",
4
+ "retrieveAll": false,
5
+ "recordId": "000000567",
6
+ "method": "readSubrecordAmount",
7
+ "requests": [
8
+ {
9
+ "method": "get",
10
+ "url": "/?operation=searchRetrieve&query=melinda.partsofhost%3D000000567&startRecord=1&recordSchema=marcxml&version=2.0",
11
+ "status": 200
12
+ }
13
+ ],
14
+ "only": false,
15
+ "skip": false
16
+ }
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0"?>
2
+ <zs:searchRetrieveResponse xmlns:zs="http://docs.oasis-open.org/ns/search-ws/sruResponse">
3
+ <zs:numberOfRecords>3</zs:numberOfRecords>
4
+ </zs:searchRetrieveResponse>
@@ -0,0 +1,35 @@
1
+ {
2
+ "leader": "01864cam a2200529zi 4500",
3
+ "fields": [
4
+ {
5
+ "tag": "001",
6
+ "value": "000001234"
7
+ },
8
+ {
9
+ "tag": "245",
10
+ "ind1": " ",
11
+ "ind2": " ",
12
+ "subfields": [
13
+ {
14
+ "code": "a",
15
+ "value": "foobar"
16
+ }
17
+ ]
18
+ },
19
+ {
20
+ "tag": "773",
21
+ "ind1": " ",
22
+ "ind2": " ",
23
+ "subfields": [
24
+ {
25
+ "code": "a",
26
+ "value": "foobar"
27
+ },
28
+ {
29
+ "code": "w",
30
+ "value": "[hostID]"
31
+ }
32
+ ]
33
+ }
34
+ ]
35
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "leader": "01864caa a2200529zi 4500",
3
+ "fields": [
4
+ {
5
+ "tag": "001",
6
+ "value": "000001234"
7
+ },
8
+ {
9
+ "tag": "245",
10
+ "ind1": " ",
11
+ "ind2": " ",
12
+ "subfields": [
13
+ {
14
+ "code": "a",
15
+ "value": "foobar"
16
+ }
17
+ ]
18
+ },
19
+ {
20
+ "tag": "773",
21
+ "ind1": " ",
22
+ "ind2": " ",
23
+ "subfields": [
24
+ {
25
+ "code": "a",
26
+ "value": "foobar"
27
+ },
28
+ {
29
+ "code": "w",
30
+ "value": "[hostID]"
31
+ }
32
+ ]
33
+ }
34
+ ]
35
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "leader": "01864cad a2200529zi 4500",
3
+ "fields": [
4
+ {
5
+ "tag": "001",
6
+ "value": "000001234"
7
+ },
8
+ {
9
+ "tag": "245",
10
+ "ind1": " ",
11
+ "ind2": " ",
12
+ "subfields": [
13
+ {
14
+ "code": "a",
15
+ "value": "foobar"
16
+ }
17
+ ]
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "leader": "01864cam a2200529zi 4500",
3
+ "fields": [
4
+ {
5
+ "tag": "001",
6
+ "value": "000001234"
7
+ },
8
+ {
9
+ "tag": "245",
10
+ "ind1": " ",
11
+ "ind2": " ",
12
+ "subfields": [
13
+ {
14
+ "code": "a",
15
+ "value": "foobar"
16
+ }
17
+ ]
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "leader": "01864cad a2200529zi 4500",
3
+ "fields": [
4
+ {
5
+ "tag": "001",
6
+ "value": "000001234"
7
+ },
8
+ {
9
+ "tag": "245",
10
+ "ind1": " ",
11
+ "ind2": " ",
12
+ "subfields": [
13
+ {
14
+ "code": "a",
15
+ "value": "foobar"
16
+ }
17
+ ]
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "leader": "01864cac a2200529zi 4500",
3
+ "fields": [
4
+ {
5
+ "tag": "001",
6
+ "value": "000001234"
7
+ },
8
+ {
9
+ "tag": "245",
10
+ "ind1": " ",
11
+ "ind2": " ",
12
+ "subfields": [
13
+ {
14
+ "code": "a",
15
+ "value": "foobar"
16
+ }
17
+ ]
18
+ },
19
+ {
20
+ "tag": "773",
21
+ "ind1": " ",
22
+ "ind2": " ",
23
+ "subfields": [
24
+ {
25
+ "code": "a",
26
+ "value": "foobar"
27
+ },
28
+ {
29
+ "code": "w",
30
+ "value": "[hostID]"
31
+ }
32
+ ]
33
+ }
34
+ ]
35
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "leader": "01864cam a2200529zi 4500",
3
+ "fields": [
4
+ {
5
+ "tag": "001",
6
+ "value": "000001234"
7
+ },
8
+ {
9
+ "tag": "245",
10
+ "ind1": " ",
11
+ "ind2": " ",
12
+ "subfields": [
13
+ {
14
+ "code": "a",
15
+ "value": "foobar"
16
+ }
17
+ ]
18
+ },
19
+ {
20
+ "tag": "973",
21
+ "ind1": " ",
22
+ "ind2": " ",
23
+ "subfields": [
24
+ {
25
+ "code": "a",
26
+ "value": "foobar"
27
+ },
28
+ {
29
+ "code": "w",
30
+ "value": "[hostID]"
31
+ }
32
+ ]
33
+ }
34
+ ]
35
+ }