@natlibfi/melinda-commons 13.0.20-alpha.1 → 13.0.21-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/error.js CHANGED
@@ -5,10 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  class _default extends Error {
8
- constructor(status, payload) {
9
- for (var _len = arguments.length, params = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
10
- params[_key - 2] = arguments[_key];
11
- }
8
+ constructor(status, payload, ...params) {
12
9
  super(params);
13
10
  this.status = status; // eslint-disable-line functional/no-this-expressions
14
11
  this.payload = payload; // eslint-disable-line functional/no-this-expressions
package/dist/error.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","names":["_default","Error","constructor","status","payload","_len","arguments","length","params","Array","_key","exports","default"],"sources":["../src/error.js"],"sourcesContent":["export default class extends Error {\n constructor(status, payload, ...params) {\n super(params);\n this.status = status; // eslint-disable-line functional/no-this-expressions\n this.payload = payload; // eslint-disable-line functional/no-this-expressions\n }\n}\n"],"mappings":";;;;;;AAAe,MAAAA,QAAA,SAAcC,KAAK,CAAC;EACjCC,WAAWA,CAACC,MAAM,EAAEC,OAAO,EAAa;IAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAARC,MAAM,OAAAC,KAAA,CAAAJ,IAAA,OAAAA,IAAA,WAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAANF,MAAM,CAAAE,IAAA,QAAAJ,SAAA,CAAAI,IAAA;IAAA;IACpC,KAAK,CAACF,MAAM,CAAC;IACb,IAAI,CAACL,MAAM,GAAGA,MAAM,CAAC,CAAC;IACtB,IAAI,CAACC,OAAO,GAAGA,OAAO,CAAC,CAAC;EAC1B;AACF;AAACO,OAAA,CAAAC,OAAA,GAAAZ,QAAA","ignoreList":[]}
1
+ {"version":3,"file":"error.js","names":["_default","Error","constructor","status","payload","params","exports","default"],"sources":["../src/error.js"],"sourcesContent":["export default class extends Error {\n constructor(status, payload, ...params) {\n super(params);\n this.status = status; // eslint-disable-line functional/no-this-expressions\n this.payload = payload; // eslint-disable-line functional/no-this-expressions\n }\n}\n"],"mappings":";;;;;;AAAe,MAAAA,QAAA,SAAcC,KAAK,CAAC;EACjCC,WAAWA,CAACC,MAAM,EAAEC,OAAO,EAAE,GAAGC,MAAM,EAAE;IACtC,KAAK,CAACA,MAAM,CAAC;IACb,IAAI,CAACF,MAAM,GAAGA,MAAM,CAAC,CAAC;IACtB,IAAI,CAACC,OAAO,GAAGA,OAAO,CAAC,CAAC;EAC1B;AACF;AAACE,OAAA,CAAAC,OAAA,GAAAP,QAAA","ignoreList":[]}
@@ -9,8 +9,7 @@ var _sruClient = _interopRequireDefault(require("@natlibfi/sru-client"));
9
9
  var _marcRecordSerializers = require("@natlibfi/marc-record-serializers");
10
10
  var _debug = _interopRequireDefault(require("debug"));
11
11
  var _error = require("./error");
12
- function createSubrecordPicker(sruUrl) {
13
- let retrieveAll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
12
+ function createSubrecordPicker(sruUrl, retrieveAll = false) {
14
13
  if (sruUrl === undefined) {
15
14
  // eslint-disable-line functional/no-conditional-statements
16
15
  throw new _error.Error(400, 'Invalid sru url');
@@ -26,8 +25,7 @@ function createSubrecordPicker(sruUrl) {
26
25
  readSomeSubrecords,
27
26
  readAllSubrecords
28
27
  };
29
- function readSomeSubrecords(recordId) {
30
- let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
28
+ function readSomeSubrecords(recordId, offset = 1) {
31
29
  debug(`Picking subrecords for ${recordId}`);
32
30
  return new Promise((resolve, reject) => {
33
31
  const promises = [];
@@ -1 +1 @@
1
- {"version":3,"file":"subRecordPicker.js","names":["_sruClient","_interopRequireDefault","require","_marcRecordSerializers","_debug","_error","createSubrecordPicker","sruUrl","retrieveAll","arguments","length","undefined","ApiError","debug","createDebugLogger","sruClient","createSruClient","url","recordSchema","readSomeSubrecords","readAllSubrecords","recordId","offset","Promise","resolve","reject","promises","searchRetrieve","startRecord","on","xmlString","push","MARCXML","from","subfieldValues","nextRecordOffset","records","all","error","err"],"sources":["../src/subRecordPicker.js"],"sourcesContent":["import createSruClient from '@natlibfi/sru-client';\nimport {MARCXML} from '@natlibfi/marc-record-serializers';\nimport createDebugLogger from 'debug';\nimport {Error as ApiError} from './error';\n\nexport function createSubrecordPicker(sruUrl, retrieveAll = false) {\n if (sruUrl === undefined) { // eslint-disable-line functional/no-conditional-statements\n throw new ApiError(400, 'Invalid sru url');\n }\n\n const debug = createDebugLogger('@natlibfi/melinda-commons:subRecordPicker');\n debug(`SRU client url: ${sruUrl}`);\n const sruClient = createSruClient({url: sruUrl, recordSchema: 'marcxml', retrieveAll});\n\n return {readSomeSubrecords, readAllSubrecords};\n\n function readSomeSubrecords(recordId, offset = 1) {\n debug(`Picking subrecords for ${recordId}`);\n return new Promise((resolve, reject) => {\n const promises = [];\n sruClient.searchRetrieve(`melinda.partsofhost=${recordId}`, {startRecord: offset})\n .on('record', xmlString => {\n promises.push(MARCXML.from(xmlString, {subfieldValues: false})); // eslint-disable-line functional/immutable-data\n })\n .on('end', async nextRecordOffset => {\n try {\n const records = await Promise.all(promises);\n resolve({nextRecordOffset, records});\n } catch (error) {\n reject(error);\n }\n })\n .on('error', err => reject(err));\n });\n }\n\n function readAllSubrecords(recordId) {\n debug(`Picking subrecords for ${recordId}`);\n return new Promise((resolve, reject) => {\n const promises = [];\n sruClient.searchRetrieve(`melinda.partsofhost=${recordId}`)\n .on('record', xmlString => {\n promises.push(MARCXML.from(xmlString, {subfieldValues: false})); // eslint-disable-line functional/immutable-data\n })\n .on('end', async () => {\n try {\n const records = await Promise.all(promises);\n resolve({records});\n } catch (error) {\n reject(error);\n }\n })\n .on('error', err => reject(err));\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"subRecordPicker.js","names":["_sruClient","_interopRequireDefault","require","_marcRecordSerializers","_debug","_error","createSubrecordPicker","sruUrl","retrieveAll","undefined","ApiError","debug","createDebugLogger","sruClient","createSruClient","url","recordSchema","readSomeSubrecords","readAllSubrecords","recordId","offset","Promise","resolve","reject","promises","searchRetrieve","startRecord","on","xmlString","push","MARCXML","from","subfieldValues","nextRecordOffset","records","all","error","err"],"sources":["../src/subRecordPicker.js"],"sourcesContent":["import createSruClient from '@natlibfi/sru-client';\nimport {MARCXML} from '@natlibfi/marc-record-serializers';\nimport createDebugLogger from 'debug';\nimport {Error as ApiError} from './error';\n\nexport function createSubrecordPicker(sruUrl, retrieveAll = false) {\n if (sruUrl === undefined) { // eslint-disable-line functional/no-conditional-statements\n throw new ApiError(400, 'Invalid sru url');\n }\n\n const debug = createDebugLogger('@natlibfi/melinda-commons:subRecordPicker');\n debug(`SRU client url: ${sruUrl}`);\n const sruClient = createSruClient({url: sruUrl, recordSchema: 'marcxml', retrieveAll});\n\n return {readSomeSubrecords, readAllSubrecords};\n\n function readSomeSubrecords(recordId, offset = 1) {\n debug(`Picking subrecords for ${recordId}`);\n return new Promise((resolve, reject) => {\n const promises = [];\n sruClient.searchRetrieve(`melinda.partsofhost=${recordId}`, {startRecord: offset})\n .on('record', xmlString => {\n promises.push(MARCXML.from(xmlString, {subfieldValues: false})); // eslint-disable-line functional/immutable-data\n })\n .on('end', async nextRecordOffset => {\n try {\n const records = await Promise.all(promises);\n resolve({nextRecordOffset, records});\n } catch (error) {\n reject(error);\n }\n })\n .on('error', err => reject(err));\n });\n }\n\n function readAllSubrecords(recordId) {\n debug(`Picking subrecords for ${recordId}`);\n return new Promise((resolve, reject) => {\n const promises = [];\n sruClient.searchRetrieve(`melinda.partsofhost=${recordId}`)\n .on('record', xmlString => {\n promises.push(MARCXML.from(xmlString, {subfieldValues: false})); // eslint-disable-line functional/immutable-data\n })\n .on('end', async () => {\n try {\n const records = await Promise.all(promises);\n resolve({records});\n } catch (error) {\n reject(error);\n }\n })\n .on('error', err => reject(err));\n });\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAEO,SAASI,qBAAqBA,CAACC,MAAM,EAAEC,WAAW,GAAG,KAAK,EAAE;EACjE,IAAID,MAAM,KAAKE,SAAS,EAAE;IAAE;IAC1B,MAAM,IAAIC,YAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC;EAC5C;EAEA,MAAMC,KAAK,GAAG,IAAAC,cAAiB,EAAC,2CAA2C,CAAC;EAC5ED,KAAK,CAAC,mBAAmBJ,MAAM,EAAE,CAAC;EAClC,MAAMM,SAAS,GAAG,IAAAC,kBAAe,EAAC;IAACC,GAAG,EAAER,MAAM;IAAES,YAAY,EAAE,SAAS;IAAER;EAAW,CAAC,CAAC;EAEtF,OAAO;IAACS,kBAAkB;IAAEC;EAAiB,CAAC;EAE9C,SAASD,kBAAkBA,CAACE,QAAQ,EAAEC,MAAM,GAAG,CAAC,EAAE;IAChDT,KAAK,CAAC,0BAA0BQ,QAAQ,EAAE,CAAC;IAC3C,OAAO,IAAIE,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtC,MAAMC,QAAQ,GAAG,EAAE;MACnBX,SAAS,CAACY,cAAc,CAAC,uBAAuBN,QAAQ,EAAE,EAAE;QAACO,WAAW,EAAEN;MAAM,CAAC,CAAC,CAC/EO,EAAE,CAAC,QAAQ,EAAEC,SAAS,IAAI;QACzBJ,QAAQ,CAACK,IAAI,CAACC,8BAAO,CAACC,IAAI,CAACH,SAAS,EAAE;UAACI,cAAc,EAAE;QAAK,CAAC,CAAC,CAAC,CAAC,CAAC;MACnE,CAAC,CAAC,CACDL,EAAE,CAAC,KAAK,EAAE,MAAMM,gBAAgB,IAAI;QACnC,IAAI;UACF,MAAMC,OAAO,GAAG,MAAMb,OAAO,CAACc,GAAG,CAACX,QAAQ,CAAC;UAC3CF,OAAO,CAAC;YAACW,gBAAgB;YAAEC;UAAO,CAAC,CAAC;QACtC,CAAC,CAAC,OAAOE,KAAK,EAAE;UACdb,MAAM,CAACa,KAAK,CAAC;QACf;MACF,CAAC,CAAC,CACDT,EAAE,CAAC,OAAO,EAAEU,GAAG,IAAId,MAAM,CAACc,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC;EACJ;EAEA,SAASnB,iBAAiBA,CAACC,QAAQ,EAAE;IACnCR,KAAK,CAAC,0BAA0BQ,QAAQ,EAAE,CAAC;IAC3C,OAAO,IAAIE,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtC,MAAMC,QAAQ,GAAG,EAAE;MACnBX,SAAS,CAACY,cAAc,CAAC,uBAAuBN,QAAQ,EAAE,CAAC,CACxDQ,EAAE,CAAC,QAAQ,EAAEC,SAAS,IAAI;QACzBJ,QAAQ,CAACK,IAAI,CAACC,8BAAO,CAACC,IAAI,CAACH,SAAS,EAAE;UAACI,cAAc,EAAE;QAAK,CAAC,CAAC,CAAC,CAAC,CAAC;MACnE,CAAC,CAAC,CACDL,EAAE,CAAC,KAAK,EAAE,YAAY;QACrB,IAAI;UACF,MAAMO,OAAO,GAAG,MAAMb,OAAO,CAACc,GAAG,CAACX,QAAQ,CAAC;UAC3CF,OAAO,CAAC;YAACY;UAAO,CAAC,CAAC;QACpB,CAAC,CAAC,OAAOE,KAAK,EAAE;UACdb,MAAM,CAACa,KAAK,CAAC;QACf;MACF,CAAC,CAAC,CACDT,EAAE,CAAC,OAAO,EAAEU,GAAG,IAAId,MAAM,CAACc,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC;EACJ;AACF","ignoreList":[]}
@@ -27,14 +27,13 @@ describe('subRecordPicker', () => {
27
27
  callback,
28
28
  path: [__dirname, '..', 'test-fixtures', 'subRecordPicker']
29
29
  });
30
- async function callback(_ref) {
31
- let {
32
- getFixture,
33
- method,
34
- sruUrl,
35
- retrieveAll,
36
- recordId
37
- } = _ref;
30
+ async function callback({
31
+ getFixture,
32
+ method,
33
+ sruUrl,
34
+ retrieveAll,
35
+ recordId
36
+ }) {
38
37
  const client = (0, _subRecordPicker.createSubrecordPicker)(sruUrl, retrieveAll);
39
38
  const expectedRecords = getFixture({
40
39
  components: ['expected-records.json'],
@@ -1 +1 @@
1
- {"version":3,"file":"subRecordPicker.spec.js","names":["_chai","require","_subRecordPicker","_fixura","_fixugenHttpClient","_interopRequireDefault","describe","sruUrl","retrieveAll","it","client","createSubrecordPicker","expect","to","respondTo","throw","generateTests","callback","path","__dirname","_ref","getFixture","method","recordId","expectedRecords","components","reader","READERS","JSON","records","format","eql","map","r","toObject"],"sources":["../src/subRecordPicker.spec.js"],"sourcesContent":["import {expect} from 'chai';\nimport {createSubrecordPicker} from './subRecordPicker';\nimport {READERS} from '@natlibfi/fixura';\nimport generateTests from '@natlibfi/fixugen-http-client';\n\ndescribe('subRecordPicker', () => {\n const sruUrl = 'https://sru';\n const retrieveAll = false;\n\n describe('createSubrecordPicker', () => {\n it('Client should have methods', () => {\n const client = createSubrecordPicker(sruUrl, retrieveAll);\n expect(client).to.respondTo('readAllSubrecords');\n expect(client).to.respondTo('readSomeSubrecords');\n });\n\n it('Create client should work with just one parametter', () => {\n const client = createSubrecordPicker(sruUrl);\n expect(client).to.respondTo('readAllSubrecords');\n expect(client).to.respondTo('readSomeSubrecords');\n });\n\n it('Create client should have at least one parametter', () => {\n expect(createSubrecordPicker).to.throw();\n });\n });\n\n generateTests({\n callback,\n path: [__dirname, '..', 'test-fixtures', 'subRecordPicker']\n });\n\n async function callback({getFixture, method, sruUrl, retrieveAll, recordId}) {\n const client = createSubrecordPicker(sruUrl, retrieveAll);\n const expectedRecords = getFixture({components: ['expected-records.json'], reader: READERS.JSON});\n const {records} = await client[method](recordId);\n\n expect(format()).to.eql(expectedRecords);\n\n function format() {\n return records.map(r => r.toObject());\n }\n }\n});\n"],"mappings":";;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAEAK,QAAQ,CAAC,iBAAiB,EAAE,MAAM;EAChC,MAAMC,MAAM,GAAG,aAAa;EAC5B,MAAMC,WAAW,GAAG,KAAK;EAEzBF,QAAQ,CAAC,uBAAuB,EAAE,MAAM;IACtCG,EAAE,CAAC,4BAA4B,EAAE,MAAM;MACrC,MAAMC,MAAM,GAAG,IAAAC,sCAAqB,EAACJ,MAAM,EAAEC,WAAW,CAAC;MACzD,IAAAI,YAAM,EAACF,MAAM,CAAC,CAACG,EAAE,CAACC,SAAS,CAAC,mBAAmB,CAAC;MAChD,IAAAF,YAAM,EAACF,MAAM,CAAC,CAACG,EAAE,CAACC,SAAS,CAAC,oBAAoB,CAAC;IACnD,CAAC,CAAC;IAEFL,EAAE,CAAC,oDAAoD,EAAE,MAAM;MAC7D,MAAMC,MAAM,GAAG,IAAAC,sCAAqB,EAACJ,MAAM,CAAC;MAC5C,IAAAK,YAAM,EAACF,MAAM,CAAC,CAACG,EAAE,CAACC,SAAS,CAAC,mBAAmB,CAAC;MAChD,IAAAF,YAAM,EAACF,MAAM,CAAC,CAACG,EAAE,CAACC,SAAS,CAAC,oBAAoB,CAAC;IACnD,CAAC,CAAC;IAEFL,EAAE,CAAC,mDAAmD,EAAE,MAAM;MAC5D,IAAAG,YAAM,EAACD,sCAAqB,CAAC,CAACE,EAAE,CAACE,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,IAAAC,0BAAa,EAAC;IACZC,QAAQ;IACRC,IAAI,EAAE,CAACC,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,iBAAiB;EAC5D,CAAC,CAAC;EAEF,eAAeF,QAAQA,CAAAG,IAAA,EAAsD;IAAA,IAArD;MAACC,UAAU;MAAEC,MAAM;MAAEf,MAAM;MAAEC,WAAW;MAAEe;IAAQ,CAAC,GAAAH,IAAA;IACzE,MAAMV,MAAM,GAAG,IAAAC,sCAAqB,EAACJ,MAAM,EAAEC,WAAW,CAAC;IACzD,MAAMgB,eAAe,GAAGH,UAAU,CAAC;MAACI,UAAU,EAAE,CAAC,uBAAuB,CAAC;MAAEC,MAAM,EAAEC,eAAO,CAACC;IAAI,CAAC,CAAC;IACjG,MAAM;MAACC;IAAO,CAAC,GAAG,MAAMnB,MAAM,CAACY,MAAM,CAAC,CAACC,QAAQ,CAAC;IAEhD,IAAAX,YAAM,EAACkB,MAAM,CAAC,CAAC,CAAC,CAACjB,EAAE,CAACkB,GAAG,CAACP,eAAe,CAAC;IAExC,SAASM,MAAMA,CAAA,EAAG;MAChB,OAAOD,OAAO,CAACG,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,QAAQ,CAAC,CAAC,CAAC;IACvC;EACF;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"subRecordPicker.spec.js","names":["_chai","require","_subRecordPicker","_fixura","_fixugenHttpClient","_interopRequireDefault","describe","sruUrl","retrieveAll","it","client","createSubrecordPicker","expect","to","respondTo","throw","generateTests","callback","path","__dirname","getFixture","method","recordId","expectedRecords","components","reader","READERS","JSON","records","format","eql","map","r","toObject"],"sources":["../src/subRecordPicker.spec.js"],"sourcesContent":["import {expect} from 'chai';\nimport {createSubrecordPicker} from './subRecordPicker';\nimport {READERS} from '@natlibfi/fixura';\nimport generateTests from '@natlibfi/fixugen-http-client';\n\ndescribe('subRecordPicker', () => {\n const sruUrl = 'https://sru';\n const retrieveAll = false;\n\n describe('createSubrecordPicker', () => {\n it('Client should have methods', () => {\n const client = createSubrecordPicker(sruUrl, retrieveAll);\n expect(client).to.respondTo('readAllSubrecords');\n expect(client).to.respondTo('readSomeSubrecords');\n });\n\n it('Create client should work with just one parametter', () => {\n const client = createSubrecordPicker(sruUrl);\n expect(client).to.respondTo('readAllSubrecords');\n expect(client).to.respondTo('readSomeSubrecords');\n });\n\n it('Create client should have at least one parametter', () => {\n expect(createSubrecordPicker).to.throw();\n });\n });\n\n generateTests({\n callback,\n path: [__dirname, '..', 'test-fixtures', 'subRecordPicker']\n });\n\n async function callback({getFixture, method, sruUrl, retrieveAll, recordId}) {\n const client = createSubrecordPicker(sruUrl, retrieveAll);\n const expectedRecords = getFixture({components: ['expected-records.json'], reader: READERS.JSON});\n const {records} = await client[method](recordId);\n\n expect(format()).to.eql(expectedRecords);\n\n function format() {\n return records.map(r => r.toObject());\n }\n }\n});\n"],"mappings":";;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAEAK,QAAQ,CAAC,iBAAiB,EAAE,MAAM;EAChC,MAAMC,MAAM,GAAG,aAAa;EAC5B,MAAMC,WAAW,GAAG,KAAK;EAEzBF,QAAQ,CAAC,uBAAuB,EAAE,MAAM;IACtCG,EAAE,CAAC,4BAA4B,EAAE,MAAM;MACrC,MAAMC,MAAM,GAAG,IAAAC,sCAAqB,EAACJ,MAAM,EAAEC,WAAW,CAAC;MACzD,IAAAI,YAAM,EAACF,MAAM,CAAC,CAACG,EAAE,CAACC,SAAS,CAAC,mBAAmB,CAAC;MAChD,IAAAF,YAAM,EAACF,MAAM,CAAC,CAACG,EAAE,CAACC,SAAS,CAAC,oBAAoB,CAAC;IACnD,CAAC,CAAC;IAEFL,EAAE,CAAC,oDAAoD,EAAE,MAAM;MAC7D,MAAMC,MAAM,GAAG,IAAAC,sCAAqB,EAACJ,MAAM,CAAC;MAC5C,IAAAK,YAAM,EAACF,MAAM,CAAC,CAACG,EAAE,CAACC,SAAS,CAAC,mBAAmB,CAAC;MAChD,IAAAF,YAAM,EAACF,MAAM,CAAC,CAACG,EAAE,CAACC,SAAS,CAAC,oBAAoB,CAAC;IACnD,CAAC,CAAC;IAEFL,EAAE,CAAC,mDAAmD,EAAE,MAAM;MAC5D,IAAAG,YAAM,EAACD,sCAAqB,CAAC,CAACE,EAAE,CAACE,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,IAAAC,0BAAa,EAAC;IACZC,QAAQ;IACRC,IAAI,EAAE,CAACC,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,iBAAiB;EAC5D,CAAC,CAAC;EAEF,eAAeF,QAAQA,CAAC;IAACG,UAAU;IAAEC,MAAM;IAAEd,MAAM;IAAEC,WAAW;IAAEc;EAAQ,CAAC,EAAE;IAC3E,MAAMZ,MAAM,GAAG,IAAAC,sCAAqB,EAACJ,MAAM,EAAEC,WAAW,CAAC;IACzD,MAAMe,eAAe,GAAGH,UAAU,CAAC;MAACI,UAAU,EAAE,CAAC,uBAAuB,CAAC;MAAEC,MAAM,EAAEC,eAAO,CAACC;IAAI,CAAC,CAAC;IACjG,MAAM;MAACC;IAAO,CAAC,GAAG,MAAMlB,MAAM,CAACW,MAAM,CAAC,CAACC,QAAQ,CAAC;IAEhD,IAAAV,YAAM,EAACiB,MAAM,CAAC,CAAC,CAAC,CAAChB,EAAE,CAACiB,GAAG,CAACP,eAAe,CAAC;IAExC,SAASM,MAAMA,CAAA,EAAG;MAChB,OAAOD,OAAO,CAACG,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,QAAQ,CAAC,CAAC,CAAC;IACvC;EACF;AACF,CAAC,CAAC","ignoreList":[]}
package/dist/utils.js CHANGED
@@ -11,8 +11,7 @@ exports.getRecordTitle = getRecordTitle;
11
11
  exports.isDeletedRecord = isDeletedRecord;
12
12
  exports.parseBoolean = parseBoolean;
13
13
  exports.toAlephId = toAlephId;
14
- function generateAuthorizationHeader(username) {
15
- let password = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
14
+ function generateAuthorizationHeader(username, password = '') {
16
15
  const encoded = Buffer.from(`${username}:${password}`).toString('base64');
17
16
  return `Basic ${encoded}`;
18
17
  }
@@ -23,33 +22,25 @@ function isDeletedRecord(record) {
23
22
  return checkDel() || checkSta();
24
23
  function checkDel() {
25
24
  return record.get(/^DEL$/u).some(check);
26
- function check(_ref) {
27
- let {
28
- subfields
29
- } = _ref;
30
- return subfields.some(_ref2 => {
31
- let {
32
- code,
33
- value
34
- } = _ref2;
35
- return code === 'a' && value === 'Y';
36
- });
25
+ function check({
26
+ subfields
27
+ }) {
28
+ return subfields.some(({
29
+ code,
30
+ value
31
+ }) => code === 'a' && value === 'Y');
37
32
  }
38
33
  }
39
34
  function checkSta() {
40
35
  return record.get(/^STA$/u).some(check);
41
- function check(_ref3) {
42
- let {
43
- subfields
44
- } = _ref3;
36
+ function check({
37
+ subfields
38
+ }) {
45
39
  const values = ['DELETED', 'DELETED-SPLIT', 'DELETED-DEPRECATED'];
46
- return subfields.some(_ref4 => {
47
- let {
48
- code,
49
- value
50
- } = _ref4;
51
- return code === 'a' && values.includes(value);
52
- });
40
+ return subfields.some(({
41
+ code,
42
+ value
43
+ }) => code === 'a' && values.includes(value));
53
44
  }
54
45
  }
55
46
  }
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["generateAuthorizationHeader","username","password","arguments","length","undefined","encoded","Buffer","from","toString","isDeletedRecord","record","includes","leader","checkDel","checkSta","get","some","check","_ref","subfields","_ref2","code","value","_ref3","values","_ref4","parseBoolean","Number","isNaN","test","Boolean","getRecordTitle","TRIM_PATTERN","field","find","f","sf","replace","RegExp","getRecordStandardIdentifiers","filter","map","subfield","clone","o","JSON","parse","stringify","toAlephId","id","padStart","fromAlephId"],"sources":["../src/utils.js"],"sourcesContent":["export function generateAuthorizationHeader(username, password = '') {\n const encoded = Buffer.from(`${username}:${password}`).toString('base64');\n return `Basic ${encoded}`;\n}\n\nexport function isDeletedRecord(record) {\n if (['d', 's', 'x'].includes(record.leader[5])) {\n return true;\n }\n\n return checkDel() || checkSta();\n\n function checkDel() {\n return record.get(/^DEL$/u).some(check);\n\n function check({subfields}) {\n return subfields.some(({code, value}) => code === 'a' && value === 'Y');\n }\n }\n\n function checkSta() {\n return record.get(/^STA$/u).some(check);\n\n function check({subfields}) {\n const values = ['DELETED', 'DELETED-SPLIT', 'DELETED-DEPRECATED'];\n return subfields.some(({code, value}) => code === 'a' && values.includes(value));\n }\n }\n}\n\nexport function parseBoolean(value) {\n if (value === undefined) {\n return false;\n }\n\n if (Number.isNaN(Number(value))) {\n return value.length > 0 && !(/^(?:false)$/ui).test(value);\n }\n\n return Boolean(Number(value));\n}\n\nexport function getRecordTitle(record) {\n const TRIM_PATTERN = '[?!.,(){}:;/ ]*';\n // DEVELOP: get mainHeadings for aut records\n const field = record\n .get(/^245$/u)\n .find(f => f.subfields.some(sf => sf.code === 'a'));\n\n if (field) {\n return field.subfields.find(sf => sf.code === 'a').value\n .replace(new RegExp(`^${TRIM_PATTERN}`, 'u'), '')\n .replace(new RegExp(`${TRIM_PATTERN}$`, 'u'), '');\n }\n\n return '';\n}\n\nexport function getRecordStandardIdentifiers(record) {\n return record.get(/^(?<def>020|022|024)$/u)\n .filter(f => f.subfields.some(sf => ['a', 'z'].includes(sf.code)))\n .map(field => {\n const subfield = field.subfields.find(sf => ['a', 'z'].includes(sf.code));\n return subfield.value;\n });\n}\n\nexport function clone(o) {\n return JSON.parse(JSON.stringify(o));\n}\n\nexport function toAlephId(id) {\n return id.padStart(9, '0');\n}\n\nexport function fromAlephId(id) {\n return id.replace(/^0+/u, '');\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"utils.js","names":["generateAuthorizationHeader","username","password","encoded","Buffer","from","toString","isDeletedRecord","record","includes","leader","checkDel","checkSta","get","some","check","subfields","code","value","values","parseBoolean","undefined","Number","isNaN","length","test","Boolean","getRecordTitle","TRIM_PATTERN","field","find","f","sf","replace","RegExp","getRecordStandardIdentifiers","filter","map","subfield","clone","o","JSON","parse","stringify","toAlephId","id","padStart","fromAlephId"],"sources":["../src/utils.js"],"sourcesContent":["export function generateAuthorizationHeader(username, password = '') {\n const encoded = Buffer.from(`${username}:${password}`).toString('base64');\n return `Basic ${encoded}`;\n}\n\nexport function isDeletedRecord(record) {\n if (['d', 's', 'x'].includes(record.leader[5])) {\n return true;\n }\n\n return checkDel() || checkSta();\n\n function checkDel() {\n return record.get(/^DEL$/u).some(check);\n\n function check({subfields}) {\n return subfields.some(({code, value}) => code === 'a' && value === 'Y');\n }\n }\n\n function checkSta() {\n return record.get(/^STA$/u).some(check);\n\n function check({subfields}) {\n const values = ['DELETED', 'DELETED-SPLIT', 'DELETED-DEPRECATED'];\n return subfields.some(({code, value}) => code === 'a' && values.includes(value));\n }\n }\n}\n\nexport function parseBoolean(value) {\n if (value === undefined) {\n return false;\n }\n\n if (Number.isNaN(Number(value))) {\n return value.length > 0 && !(/^(?:false)$/ui).test(value);\n }\n\n return Boolean(Number(value));\n}\n\nexport function getRecordTitle(record) {\n const TRIM_PATTERN = '[?!.,(){}:;/ ]*';\n // DEVELOP: get mainHeadings for aut records\n const field = record\n .get(/^245$/u)\n .find(f => f.subfields.some(sf => sf.code === 'a'));\n\n if (field) {\n return field.subfields.find(sf => sf.code === 'a').value\n .replace(new RegExp(`^${TRIM_PATTERN}`, 'u'), '')\n .replace(new RegExp(`${TRIM_PATTERN}$`, 'u'), '');\n }\n\n return '';\n}\n\nexport function getRecordStandardIdentifiers(record) {\n return record.get(/^(?<def>020|022|024)$/u)\n .filter(f => f.subfields.some(sf => ['a', 'z'].includes(sf.code)))\n .map(field => {\n const subfield = field.subfields.find(sf => ['a', 'z'].includes(sf.code));\n return subfield.value;\n });\n}\n\nexport function clone(o) {\n return JSON.parse(JSON.stringify(o));\n}\n\nexport function toAlephId(id) {\n return id.padStart(9, '0');\n}\n\nexport function fromAlephId(id) {\n return id.replace(/^0+/u, '');\n}\n"],"mappings":"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","ignoreList":[]}
@@ -106,8 +106,7 @@ describe('utils', () => {
106
106
  });
107
107
  });
108
108
  describe('clone', () => {
109
- it('Should clone an object', function () {
110
- let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '1';
109
+ it('Should clone an object', (index = '1') => {
111
110
  const obj = JSON.parse(_fs.default.readFileSync(_path.default.join(FIXTURES_PATH, `clone/${index}/obj.json`), 'utf8'));
112
111
  const cloned = (0, _utils.clone)(obj);
113
112
  (0, _chai.expect)(obj).to.not.equal(cloned);
@@ -1 +1 @@
1
- {"version":3,"file":"utils.spec.js","names":["_fs","_interopRequireDefault","require","_path","_chai","_marcRecord","_utils","MarcRecord","setValidationOptions","subfieldValues","FIXTURES_PATH","path","join","__dirname","describe","it","value","generateAuthorizationHeader","expect","to","equal","data","fs","readFileSync","record","JSON","parse","isDeletedRecord","parseBoolean","undefined","forEach","descr","index","title","recordData","getRecordTitle","identifiers","getRecordStandardIdentifiers","eql","arguments","length","obj","cloned","clone","not"],"sources":["../src/utils.spec.js"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport {expect} from 'chai';\nimport {MarcRecord} from '@natlibfi/marc-record';\nimport {\n generateAuthorizationHeader, isDeletedRecord, parseBoolean, clone,\n getRecordTitle, getRecordStandardIdentifiers\n} from './utils';\n\nMarcRecord.setValidationOptions({subfieldValues: false});\n\nconst FIXTURES_PATH = path.join(__dirname, '../test-fixtures/utils');\n\ndescribe('utils', () => {\n describe('generateAuthorizationHeader', () => {\n it('Should create a proper Authorization header', () => {\n const value = generateAuthorizationHeader('foo', 'bar');\n expect(value).to.equal('Basic Zm9vOmJhcg==');\n });\n });\n\n describe('isDeletedRecord', () => {\n it('Should find the record deleted (Leader)', () => {\n const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record1.json'), 'utf8');\n const record = new MarcRecord(JSON.parse(data));\n expect(isDeletedRecord(record)).to.equal(true);\n });\n\n it('Should find the record deleted (DEL)', () => {\n const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record2.json'), 'utf8');\n const record = new MarcRecord(JSON.parse(data));\n expect(isDeletedRecord(record)).to.equal(true);\n });\n\n it('Should find the record deleted (STA)', () => {\n const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record3.json'), 'utf8');\n const record = new MarcRecord(JSON.parse(data));\n expect(isDeletedRecord(record)).to.equal(true);\n });\n\n it('Should find the record not deleted', () => {\n const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record4.json'), 'utf8');\n const record = new MarcRecord(JSON.parse(data));\n expect(isDeletedRecord(record)).to.equal(false);\n });\n\n it('Should find the record deleted (Split)', () => {\n const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record5.json'), 'utf8');\n const record = new MarcRecord(JSON.parse(data));\n expect(isDeletedRecord(record)).to.equal(true);\n });\n\n it('Should find the record deleted (Deprecated)', () => {\n const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record6.json'), 'utf8');\n const record = new MarcRecord(JSON.parse(data));\n expect(isDeletedRecord(record)).to.equal(true);\n });\n\n it('Should find the record deleted (Split (Aleph))', () => {\n const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record7.json'), 'utf8');\n const record = new MarcRecord(JSON.parse(data));\n expect(isDeletedRecord(record)).to.equal(true);\n });\n\n it('Should find the record deleted (Deprecated (Aleph))', () => {\n const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record8.json'), 'utf8');\n const record = new MarcRecord(JSON.parse(data));\n expect(isDeletedRecord(record)).to.equal(true);\n });\n });\n\n describe('parseBoolean', () => {\n it('Should parse undefined as false', () => {\n expect(parseBoolean(undefined)).to.equal(false);\n });\n\n it('Should parse zero-length string as false', () => {\n expect(parseBoolean('')).to.equal(false);\n });\n\n it('Should parse numericish value as true', () => {\n expect(parseBoolean('1')).to.equal(true);\n });\n\n it('Should parse numericush value as false', () => {\n expect(parseBoolean('0')).to.equal(false);\n });\n\n it('Should parse literal \\'false\\' value as false', () => {\n expect(parseBoolean('false')).to.equal(false);\n });\n\n it('Should parse non-numericish value as true', () => {\n expect(parseBoolean('foo')).to.equal(true);\n });\n\n it('Should parse literal \\'FALSE\\' value as false', () => {\n expect(parseBoolean('FALSE')).to.equal(false);\n });\n\n it('Should parse literal \\'FAlsE\\' value as false', () => {\n expect(parseBoolean('FAlsE')).to.equal(false);\n });\n\n });\n\n describe('getRecordTitle', () => {\n [\n 'Should find a title',\n 'Should not find a title'\n ].forEach((descr, index) => {\n it(descr, () => {\n const title = fs.readFileSync(path.join(FIXTURES_PATH, `getRecordTitle/title${index}.txt`), 'utf8');\n const recordData = fs.readFileSync(path.join(FIXTURES_PATH, `getRecordTitle/record${index}.json`), 'utf8');\n const record = new MarcRecord(JSON.parse(recordData));\n\n expect(getRecordTitle(record)).to.equal(title);\n });\n });\n });\n\n describe('getRecordStandardIdentifiers', () => {\n [\n 'Should find identifiers',\n 'Should not find an identifier'\n ].forEach((descr, index) => {\n it(descr, () => {\n const identifiers = JSON.parse(fs.readFileSync(path.join(FIXTURES_PATH, `getRecordStandardIdentifiers/identifiers${index}.json`), 'utf8'));\n const recordData = fs.readFileSync(path.join(FIXTURES_PATH, `getRecordStandardIdentifiers/record${index}.json`), 'utf8');\n const record = new MarcRecord(JSON.parse(recordData));\n\n expect(getRecordStandardIdentifiers(record)).to.eql(identifiers);\n });\n });\n });\n\n describe('clone', () => {\n it('Should clone an object', (index = '1') => {\n const obj = JSON.parse(fs.readFileSync(path.join(FIXTURES_PATH, `clone/${index}/obj.json`), 'utf8'));\n const cloned = clone(obj);\n\n expect(obj).to.not.equal(cloned);\n expect(cloned).to.eql(obj);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"utils.spec.js","names":["_fs","_interopRequireDefault","require","_path","_chai","_marcRecord","_utils","MarcRecord","setValidationOptions","subfieldValues","FIXTURES_PATH","path","join","__dirname","describe","it","value","generateAuthorizationHeader","expect","to","equal","data","fs","readFileSync","record","JSON","parse","isDeletedRecord","parseBoolean","undefined","forEach","descr","index","title","recordData","getRecordTitle","identifiers","getRecordStandardIdentifiers","eql","obj","cloned","clone","not"],"sources":["../src/utils.spec.js"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport {expect} from 'chai';\nimport {MarcRecord} from '@natlibfi/marc-record';\nimport {\n generateAuthorizationHeader, isDeletedRecord, parseBoolean, clone,\n getRecordTitle, getRecordStandardIdentifiers\n} from './utils';\n\nMarcRecord.setValidationOptions({subfieldValues: false});\n\nconst FIXTURES_PATH = path.join(__dirname, '../test-fixtures/utils');\n\ndescribe('utils', () => {\n describe('generateAuthorizationHeader', () => {\n it('Should create a proper Authorization header', () => {\n const value = generateAuthorizationHeader('foo', 'bar');\n expect(value).to.equal('Basic Zm9vOmJhcg==');\n });\n });\n\n describe('isDeletedRecord', () => {\n it('Should find the record deleted (Leader)', () => {\n const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record1.json'), 'utf8');\n const record = new MarcRecord(JSON.parse(data));\n expect(isDeletedRecord(record)).to.equal(true);\n });\n\n it('Should find the record deleted (DEL)', () => {\n const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record2.json'), 'utf8');\n const record = new MarcRecord(JSON.parse(data));\n expect(isDeletedRecord(record)).to.equal(true);\n });\n\n it('Should find the record deleted (STA)', () => {\n const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record3.json'), 'utf8');\n const record = new MarcRecord(JSON.parse(data));\n expect(isDeletedRecord(record)).to.equal(true);\n });\n\n it('Should find the record not deleted', () => {\n const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record4.json'), 'utf8');\n const record = new MarcRecord(JSON.parse(data));\n expect(isDeletedRecord(record)).to.equal(false);\n });\n\n it('Should find the record deleted (Split)', () => {\n const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record5.json'), 'utf8');\n const record = new MarcRecord(JSON.parse(data));\n expect(isDeletedRecord(record)).to.equal(true);\n });\n\n it('Should find the record deleted (Deprecated)', () => {\n const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record6.json'), 'utf8');\n const record = new MarcRecord(JSON.parse(data));\n expect(isDeletedRecord(record)).to.equal(true);\n });\n\n it('Should find the record deleted (Split (Aleph))', () => {\n const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record7.json'), 'utf8');\n const record = new MarcRecord(JSON.parse(data));\n expect(isDeletedRecord(record)).to.equal(true);\n });\n\n it('Should find the record deleted (Deprecated (Aleph))', () => {\n const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record8.json'), 'utf8');\n const record = new MarcRecord(JSON.parse(data));\n expect(isDeletedRecord(record)).to.equal(true);\n });\n });\n\n describe('parseBoolean', () => {\n it('Should parse undefined as false', () => {\n expect(parseBoolean(undefined)).to.equal(false);\n });\n\n it('Should parse zero-length string as false', () => {\n expect(parseBoolean('')).to.equal(false);\n });\n\n it('Should parse numericish value as true', () => {\n expect(parseBoolean('1')).to.equal(true);\n });\n\n it('Should parse numericush value as false', () => {\n expect(parseBoolean('0')).to.equal(false);\n });\n\n it('Should parse literal \\'false\\' value as false', () => {\n expect(parseBoolean('false')).to.equal(false);\n });\n\n it('Should parse non-numericish value as true', () => {\n expect(parseBoolean('foo')).to.equal(true);\n });\n\n it('Should parse literal \\'FALSE\\' value as false', () => {\n expect(parseBoolean('FALSE')).to.equal(false);\n });\n\n it('Should parse literal \\'FAlsE\\' value as false', () => {\n expect(parseBoolean('FAlsE')).to.equal(false);\n });\n\n });\n\n describe('getRecordTitle', () => {\n [\n 'Should find a title',\n 'Should not find a title'\n ].forEach((descr, index) => {\n it(descr, () => {\n const title = fs.readFileSync(path.join(FIXTURES_PATH, `getRecordTitle/title${index}.txt`), 'utf8');\n const recordData = fs.readFileSync(path.join(FIXTURES_PATH, `getRecordTitle/record${index}.json`), 'utf8');\n const record = new MarcRecord(JSON.parse(recordData));\n\n expect(getRecordTitle(record)).to.equal(title);\n });\n });\n });\n\n describe('getRecordStandardIdentifiers', () => {\n [\n 'Should find identifiers',\n 'Should not find an identifier'\n ].forEach((descr, index) => {\n it(descr, () => {\n const identifiers = JSON.parse(fs.readFileSync(path.join(FIXTURES_PATH, `getRecordStandardIdentifiers/identifiers${index}.json`), 'utf8'));\n const recordData = fs.readFileSync(path.join(FIXTURES_PATH, `getRecordStandardIdentifiers/record${index}.json`), 'utf8');\n const record = new MarcRecord(JSON.parse(recordData));\n\n expect(getRecordStandardIdentifiers(record)).to.eql(identifiers);\n });\n });\n });\n\n describe('clone', () => {\n it('Should clone an object', (index = '1') => {\n const obj = JSON.parse(fs.readFileSync(path.join(FIXTURES_PATH, `clone/${index}/obj.json`), 'utf8'));\n const cloned = clone(obj);\n\n expect(obj).to.not.equal(cloned);\n expect(cloned).to.eql(obj);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -14,7 +14,7 @@
14
14
  "url": "git@github.com:natlibfi/melinda-commons-js.git"
15
15
  },
16
16
  "license": "MIT",
17
- "version": "13.0.20-alpha.1",
17
+ "version": "13.0.21-alpha.1",
18
18
  "main": "./dist/index.js",
19
19
  "engines": {
20
20
  "node": ">=18"
@@ -36,20 +36,20 @@
36
36
  "dev:debug": "cross-env LOG_LEVEL=debug DEBUG=@natlibfi/* NODE_ENV=test nodemon"
37
37
  },
38
38
  "dependencies": {
39
- "@natlibfi/marc-record": "^9.1.4",
39
+ "@natlibfi/marc-record": "^9.1.5",
40
40
  "@natlibfi/marc-record-serializers": "^10.1.6",
41
41
  "@natlibfi/sru-client": "^6.0.18",
42
- "debug": "^4.4.0"
42
+ "debug": "^4.4.1"
43
43
  },
44
44
  "devDependencies": {
45
- "@babel/cli": "^7.27.1",
46
- "@babel/core": "^7.27.1",
45
+ "@babel/cli": "^7.27.2",
46
+ "@babel/core": "^7.27.4",
47
47
  "@babel/node": "^7.27.1",
48
- "@babel/plugin-transform-runtime": "^7.27.1",
49
- "@babel/preset-env": "^7.27.1",
48
+ "@babel/plugin-transform-runtime": "^7.27.4",
49
+ "@babel/preset-env": "^7.27.2",
50
50
  "@babel/register": "^7.27.1",
51
- "@babel/runtime": "^7.27.1",
52
- "@natlibfi/eslint-config-melinda-backend": "^3.0.5",
51
+ "@babel/runtime": "^7.27.6",
52
+ "@natlibfi/eslint-config-melinda-backend": "^3.0.6",
53
53
  "@natlibfi/fixugen-http-client": "^3.0.10",
54
54
  "@natlibfi/fixura": "^3.0.13",
55
55
  "babel-plugin-istanbul": "^7.0.0",
@@ -57,7 +57,7 @@
57
57
  "chai": "^4.5.0",
58
58
  "cross-env": "^7.0.3",
59
59
  "eslint": "^8.57.1",
60
- "mocha": "^11.2.2",
60
+ "mocha": "^11.7.1",
61
61
  "nodemon": "^3.1.10",
62
62
  "nyc": "^17.1.0"
63
63
  },