Awesome
validate-fptf
Validate data in the Friendly Public Transport Format. Currently validates against Friendly Public Transport Format (FPTF) 1.2.1
.
Installing
npm install validate-fptf
Usage
const createValidate = require('validate-fptf')
const validate = createValidate() // you may pass in custom validators here
validate({
type: 'journey',
id: '12345',
legs: [{
origin: {
type: 'station',
id: '12345678',
name: 'Foo'
},
destination: {
type: 'station',
id: '87654321',
name: 'Bar'
},
departure: '2017-03-16T20:00:00+01:00',
departurePlatform: '4-1',
arrival: '2017-03-17T15:00:00+02:00',
arrivalPlatform: '9',
schedule: '1234',
mode: 'walking',
public: true,
operator: 'sncf'
}],
price: {
amount: 19.95,
currency: 'EUR'
}
})
validate({
type: 'station',
id: '123',
name: 'foo',
location: {
type: 'location',
latitude: 1,
longitude: 2
}
}, ['station', 'stop'])
API
const validate = createValidate(customValidators = {})
You may provide an object customValidators
, where each key is an FPTF type, and the corresponding function validates an FPTF object of this type.
validate(item, types = allTypes, name = 'item')
validate
recursively validates item
. Throws an AssertionError
if something is not valid FPTF 1.2.1
.
To validate against one or more specific FPTF types, provide a string or an array of strings via the types
parameter.
To get more meaningful assertion errors, provide the name of your item via the name
parameter.
Contributing
If you have a question or have difficulties using validate-fptf
, please double-check your code and setup first. If you think you have found a bug or want to propose a feature, refer to the issues page.