https://github.com/natlibfi/oai-pmh-client-js
OAI-PMH Javascript client library
https://github.com/natlibfi/oai-pmh-client-js
Last synced: 12 months ago
JSON representation
OAI-PMH Javascript client library
- Host: GitHub
- URL: https://github.com/natlibfi/oai-pmh-client-js
- Owner: NatLibFi
- License: mit
- Created: 2020-05-29T09:20:23.000Z (about 6 years ago)
- Default Branch: main
- Last Pushed: 2025-05-28T14:15:59.000Z (about 1 year ago)
- Last Synced: 2025-06-20T14:58:10.338Z (about 1 year ago)
- Language: JavaScript
- Size: 1020 KB
- Stars: 5
- Watchers: 6
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# OAI-PMH Javascript client library [](https://npmjs.org/package/@natlibfi/oai-pmh-client)
# Usage
## Retrieve all records
```js
import createClient from '@natlibfi/oai-pmh-client';
const client = createClient({url: 'https://foo.bar', metadataPrefix: 'marc'});
client.listRecords()
.on('record', record => processRecord(string))
.on('end', () => endProcessing())
.on('error', err => handleError(err));
```
## Retrieve records only from the first response
```js
import createClient from '@natlibfi/oai-pmh-client';
const client = createClient({url: 'https://foo.bar', metadataPrefix: 'marc', retrieveAll: false});
client.listRecords()
.on('record', record => processRecord(string))
.on('end', resumptionToken => endProcessing(resumptionToken))
.on('error', err => handleError(err));
```
And then use the returned resumption token:
```js
client.listRecords({resumptionToken})
.on('record', record => processRecord(string))
.on('end', resumptionToken => endProcessing(resumptionToken))
.on('error', err => handleError(err));
```
If you need oai-pmh responses
```js
client.listRecords()
.on('oaiPmhResponse', responseText => processResponse(responseText));
```
# Configuration
## Client creation options
- **url**: The URL of the OAI-PMH service.
- **metadataPrefix**: Metadata prefix to use. **Mandatory**.
- **set**: Set to use.
- **metadataFormat**: Format of the metadata argument in **record** event. Defaults to **string** (See export **metadataFormats**)
- **retrieveAll**: Whether to retrieve all records or just from the first response. If **false**, the **end** event returns the resumptionToken.
- **filterDeleted**: Whether to filter out deleted records. Defaults to **false**.
## listRecords options:
- **metadataPrefix**: Override default metadata prefix.
- **set**: Override default set.
- **resumptionToken**: Resumption to use to resume the harvesting from.
## Cli env options
- **Check example.env**
## License and copyright
Copyright (c) 2020, 2023-2025 **University Of Helsinki (The National Library Of Finland)**
This project's source code is licensed under the terms of **MIT** or any later version.