validate-fptf

3.0.0 • Public • Published

validate-fptf

Validate data in the Friendly Public Transport Format. Currently validates against Friendly Public Transport Format (FPTF) 1.2.1.

npm version build status ISC-licensed chat on gitter

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.

Dependencies (3)

Dev Dependencies (4)

Package Sidebar

Install

npm i validate-fptf

Weekly Downloads

21

Version

3.0.0

License

ISC

Unpacked Size

24.3 kB

Total Files

24

Last publish

Collaborators

  • derhuerst
  • juliuste