@openactive/rpde-validator
Version:
A library to walk and validate an RPDE feed
82 lines (62 loc) • 2.26 kB
Markdown
The OpenActive RPDE validator library.
[](https://github.com/openactive/rpde-validator/actions/workflows/node.js.yml)
[](https://snyk.io/test/github/openactive/rpde-validator)
This library allows developers to validate RPDE feeds against the latest [Realtime Paged Data Exchange](https://www.openactive.io/realtime-paged-data-exchange/) specification.
This library can be used in your own application, perhaps as part of your CI pipeline.
```shell
$ npm install @openactive/rpde-validator
```
```js
const { RpdeValidator } = require('@openactive/rpde-validator');
RpdeValidator(
url, // The URL of the feed to test
{
// A callback that is called for log messages
// Will be provided with an object that looks like:
// {
// verbosity: 1, // 1-3 (higher is more verbose)
// percentage: 50, // The percentage complete
// message: '...', // String log message
// }
logCallback: (log) => {
console.log(log.message);
},
// User agent used by the validator
// Default: "RPDE_Validator/version (+https://validator.openactive.io/rpde)"
userAgent: null,
// The time in between requests in a feed in milliseconds
// Default: 0
requestDelayMs: 1000,
// The timeout in which to give up on requesting a feed URL
// Must be non-zero
// Default: 10000
timeoutMs: 10000,
// The number of feed pages to walk through
// Must be non-zero
// Default: 20
pageLimit: 10,
}
);
```
```shell
$ git clone git@github.com:openactive/rpde-validator.git
$ cd rpde-validator
$ npm install
```
This project uses [Jasmine](https://jasmine.github.io/) for its tests. All spec files are located alongside the files that they target.
To run tests locally, run:
```shell
$ npm test
```
The test run will also include a run of [eslint](https://eslint.org/). To run the tests without these, use:
```shell
$ npm run test-no-lint
```